二維碼編碼過程_第1頁
二維碼編碼過程_第2頁
二維碼編碼過程_第3頁
二維碼編碼過程_第4頁
二維碼編碼過程_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一步:數(shù)據(jù)編碼第二步:結(jié)束碼和補齊碼第三步:糾錯碼第四步:最終編碼Numeric Mode(數(shù)字編碼)Alphanumeric modeAlphanumeric mode(字符編碼)(字符編碼)Chinese ModeChinese Mode(中文編碼)(中文編碼)其他其他一共有40種版本,從1到40。每一種版本有4種糾錯級。編碼:1-H版本中的“01234567”首先將輸入的數(shù)據(jù)每三位分為一組,將每組數(shù)據(jù)轉(zhuǎn)換為10位二進(jìn)制數(shù)據(jù)。余下的一或兩位轉(zhuǎn)換為4或7位的二進(jìn)制數(shù)據(jù)01234567012345670120123453456767012012000000110034534501010110

2、0167671000011000000110001010110011000011000000110001010110011000011000000110001010110011000011在數(shù)據(jù)二進(jìn)制之前加上字符個數(shù)的二進(jìn)制數(shù)據(jù)(這個二進(jìn)制數(shù)據(jù)的個數(shù)由表三決定)。1-H版本為10位,“01234567”有8個數(shù)字字符,將0000001000添加在數(shù)據(jù)之前:000000100000000011000101011001100001100000010000001最后由表二給出數(shù)字編碼的標(biāo)志:0001編碼完成編碼:1-H版本中的“AC-42”1. 從字符索引表中找到 AC-42 這五個字條的索引(10

3、,12,41,4,2)2. 兩兩分組: (10,12) (41,4) (2)3.把每一組轉(zhuǎn)成11bits的二進(jìn)制: (10,12) (45進(jìn)制)進(jìn)制)-10 x45+12 = 462 (10進(jìn)制)進(jìn)制)-00111001110(2進(jìn)制)進(jìn)制)(41,4) -41x45+4 =1849 - 11100111001(2) -轉(zhuǎn)成轉(zhuǎn)成 000010(6位,最大位,最大44二進(jìn)制位為二進(jìn)制位為6位)位)4. 把這些二進(jìn)制連接起來: 00111001110 11100111001 0000105. 把字符的個數(shù)轉(zhuǎn)成二進(jìn)制 (1-H版本9 bits ):5個字符,5轉(zhuǎn)成 0000001016. 在頭上加上

4、編碼標(biāo)識 0010 和第5步的個數(shù)編碼: 00100000001010011100111011100111001000010假如我們有個“HELLO WORLD”的字符串要編碼,根據(jù)上面的示例二,我們可以得到下面的編碼加上結(jié)束符:0000然后8bits重排:如果所有的編碼加起來不是8個倍數(shù)我們還要在后面加上足夠的0,比如上面一共有78個bits,所以,我們還要加上2個0,然后按8個bits分好組:00100000 01011011 00001011 01111000 1101000101110010 11011100 01001101 01000011 0100000000最后,如果如果還沒有

5、達(dá)到我們最大的bits數(shù)的限制(表七),我們還要加一些補齊碼(Padding Bytes),補齊碼就是重復(fù)下面的兩個bytes:11101100和 00010001。假設(shè)我們需要編碼的是版本 1的Q糾錯級,那么,其最大需要104個bits,而我們上面只有80個bits,所以,還需要補24個bits,也就是需要3個Padding Bytes,我們就添加三個,于是得到下面的編碼:00100000 01011011 00001011 01111000 1101000101110010 11011100 01001101 01000011 01000000001110110011101100 0001

6、000100010001 1110110011101100重復(fù)下面的兩個bytes:11101100和 00010001二維碼中有四種級別的糾錯,這就是為什么二維碼有殘缺還能掃出來,也就是為什么有人在二維碼的中心位置加入圖標(biāo)。具體步驟:首先,我們需要對數(shù)據(jù)碼進(jìn)行分組,也就是分成不同的組(Block),然后對各個組進(jìn)行糾錯編碼。對于如何分組,參見QR碼編碼規(guī)范(QR Code Specification)中的表13-表22.需要分多少塊,每一塊有多少個碼字(8bits)舉一個5-Q版本的例子:塊數(shù)為2+2=4塊,頭一組(c,k,r)=(33,15,9),的兩個Blocks中各15個bits數(shù)據(jù)

7、+ 2* 9個bits的糾錯碼。第二組同理,16+2*9=34bits下面是一個5-Q版本的示例:二進(jìn)制寫起來太龐大,所以這里用十進(jìn)制寫。糾錯碼主要通過里德-所羅門糾錯算法算出來,太難,不做介紹。首先穿插放置:把數(shù)據(jù)碼和糾錯碼的各個碼字穿插放置。規(guī)則如下:對于數(shù)據(jù)碼:把每個塊的第一個碼字先拿出來按順度排列好然后再取第二列的:67, 246, 182, 70, 85,246,230 ,247如此類推:67, 246, 182, 70, 85,246,230 ,247 ,38,6,50,17,7,236先取第一列的:67, 246, 182, 70糾錯碼也是一樣和數(shù)據(jù)碼取的一樣,得到:213,87

8、,148,235,199,204,116,159, 39,133,141,236然后,再把這兩組放在一起(糾錯碼放在數(shù)據(jù)碼之后)得到: 67, 246, 182, 70, 85, 246, 230, 247, 70, 66, 247, 118, 134, 7, 119, 86, 87, 118, 50, 194, 38, 134, 7, 6, 85, 242, 118, 。120, 192, 178, 39, 133, 141, 236最后根據(jù)表一,將剩余字(Remainder Bits)補齊。5-Q版本還需要補7bits,7*8=56個0.第一步:位置探測圖形第二步:矯正圖形和校準(zhǔn)線第三步:

9、格式信息和版本信息第四步:畫數(shù)據(jù)第五步:掩膜首先,先把位置探測圖形( Position Detection )圖案畫在三個角上。(無論是什么版本,這個圖案的尺寸就是這么大)然后,再把矯正( Alignment )圖案畫上(無論什么版本,這個圖案的尺寸就是這么大)接下來是校準(zhǔn)的線(Timing Pattern)完成前三部得到的圖形。完成前三部得到的圖形。接下來是格式信息( Formation Information )5個數(shù)據(jù)位:其中,2個bits用于表示使用什么樣的糾錯等級, 3個bits表示使用什么樣的掩膜。10個糾錯位。主要通過附錄C來計算。然后,將15位格式信息與掩模圖形10101000

10、0010010進(jìn)行XOR運算,以確保糾錯等級和掩模圖形合在一起的結(jié)果不全是0。格式信息出現(xiàn)了兩次冗余,因為這對正確譯碼非常關(guān)鍵。例:設(shè)定糾錯等級為M:00掩模圖形參考:101數(shù)據(jù):00101BCH位:0011011100掩模前的位序列:001010011011100用于XOR操作的掩模圖形:101010000010010格式信息模塊圖形:100000011001110再接下來是版本信息( Version Information )(版本7以后需要這個編碼)版本信息一共是18個bits,其中包括6個bits的版本號以及12個bits的糾錯碼(根據(jù)附錄計算)例如: 版本號: 7 數(shù)據(jù):000111BCH位: 110010010100格式信息模塊圖形: 000111110010010100然后是填接我們的最終編碼,最終編碼的填充方式如下:從左下角開始沿著紅線填我們的各個bits,1是黑色,0是白色。如果遇到了上面的非數(shù)據(jù)區(qū),則繞開或跳過。這樣下來,我們的圖就填好了,但是,也許那些點并不均衡,如果出現(xiàn)大面積的空白或黑塊,會造成掃描識別的困難。所以,我們還要做掩膜操作QR有8個掩膜可以使用,如下所示。所謂掩膜,就是和上面生成

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論