二維碼的糾錯功能原理是?它的容錯率有多高?
01-26
二維碼是可以加入圖片logo的,目前看到一般logo面積很小。那按此分析,它的糾錯原理是什麼,任何位置都可以嗎? 容錯率有多高?有說是30%的!
二維碼的糾錯功能原理是?
例如,需要編碼的碼字數據有100個,並且想對其中的一半,也就是50個碼字進行糾錯,則計算方法如下。糾錯需要相當於碼字2倍的符號,因此在這種情況下的數量為50個×2=100碼字。因此,全部碼字數量為200個,其中用作糾錯的碼字為50個,所以計算得出,相對於全部碼字的糾錯率就是25%。這一比率相當於QR碼糾錯級別中的「Q」級別。另外,在上述例子當中,也可以認為相對於碼字數據的糾錯率為50%,但變髒或破損的部位不僅僅局限於碼字數據部分,因此,在QR碼中,還是用相對於全部碼字的比率來描述糾錯率。
它的容錯率有多高?QR碼具有「糾錯功能」。即使編碼變髒或破損,也可自動恢複數據。這一「糾錯能力」具備4個級別,用戶可根據使用環境選擇相應的級別。調高級別,糾錯能力也相應提高,但由於數據量會隨之增加,編碼尺寸也也會變大。最常見的QR二維碼,用的是里德-所羅門碼(RS)來做糾錯。分有幾級,糾錯級別越高,整體需要攜帶的信息越多:L級可糾正約7%錯誤、M級別可糾正約15%錯誤、Q級別可糾正約25%錯誤、H級別可糾正約30%錯誤。RS碼原理比較複雜,整體基於「任意k個確定點可表示一個階數至少為k-1的多項式」,實際上發送超過k個點,就算中間有一些錯誤,也能通過數學原理反推出最初的多項式,從而獲得信息。並不是所有位置都可以缺損,像最明顯的那三個角上的方框,直接影響初始定位。
中間零散的部分是內容編碼,可以容忍缺損。
以下圖示來自:QR codeMr. Watson, come here - I want to see you. (二維碼自動識別)
Mr. Watson, come here - I want to see you. (二維碼自動識別)
推薦閱讀: