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

下載本文檔

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

文檔簡介

第一步:數(shù)據(jù)編碼第二步:結(jié)束碼和補(bǔ)齊碼第三步:糾錯(cuò)碼第四步:最終編碼QR碼編碼

第一步:數(shù)據(jù)編碼NumericMode(數(shù)字編碼)Alphanumericmode(字符編碼)ChineseMode(中文編碼)其他一共有40種版本,從1到40。每一種版本有4種糾錯(cuò)級(jí)。數(shù)據(jù)編碼示例:數(shù)字編碼編碼:1-H版本中的“01234567”首先將輸入的數(shù)據(jù)每三位分為一組,將每組數(shù)據(jù)轉(zhuǎn)換為10位二進(jìn)制數(shù)據(jù)。余下的一或兩位轉(zhuǎn)換為4或7位的二進(jìn)制數(shù)據(jù)012345670123456701200000011003450101011001671000011000000110001010110011000011000000110001010110011000011000000110001010110011000011在數(shù)據(jù)二進(jìn)制之前加上字符個(gè)數(shù)的二進(jìn)制數(shù)據(jù)(這個(gè)二進(jìn)制數(shù)據(jù)的個(gè)數(shù)由表三決定)。1-H版本為10位,“01234567”有8個(gè)數(shù)字字符,將0000001000添加在數(shù)據(jù)之前:000000100000000011000101011001100001100000010000001最后由表二給出數(shù)字編碼的標(biāo)志:0001編碼完成編碼:1-H版本中的“AC-42”1.從字符索引表中找到AC-42這五個(gè)字條的索引

(10,12,41,4,2)2.兩兩分組:(10,12)(41,4)(2)3.把每一組轉(zhuǎn)成11bits的二進(jìn)制:

數(shù)據(jù)編碼示例:字符編碼(10,12)(45進(jìn)制)->10x45+12=

462(10進(jìn)制)->00111001110(2進(jìn)制)(41,4)->41x45+4=1849->

11100111001(2)->轉(zhuǎn)成000010(6位,最大44二進(jìn)制位為6位)4.把這些二進(jìn)制連接起來:00111001110111001110010000105.把字符的個(gè)數(shù)轉(zhuǎn)成二進(jìn)制(1-H版本9bits):

5個(gè)字符,5轉(zhuǎn)成0000001016.在頭上加上編碼標(biāo)識(shí)0010和第5步的個(gè)數(shù)編碼:

00100000001010011100111011100111001000010假如我們有個(gè)“HELLOWORLD”的字符串要編碼,根據(jù)上面的示例二,我們可以得到下面的編碼第二步:結(jié)束碼和補(bǔ)齊碼加上結(jié)束符:0000然后8bits重排:如果所有的編碼加起來不是8個(gè)倍數(shù)我們還要在后面加上足夠的0,比如上面一共有78個(gè)bits,所以,我們還要加上2個(gè)0,然后按8個(gè)bits分好組:00100000010110110000101101111000110100010111001011011100010011010100001101000000補(bǔ)齊碼最后,如果如果還沒有達(dá)到我們最大的bits數(shù)的限制(表七),我們還要加一些補(bǔ)齊碼(PaddingBytes),補(bǔ)齊碼就是重復(fù)下面的兩個(gè)bytes:11101100和00010001

。假設(shè)我們需要編碼的是版本1的Q糾錯(cuò)級(jí),那么,其最大需要104個(gè)bits,而我們上面只有80個(gè)bits,所以,還需要補(bǔ)24個(gè)bits,也就是需要3個(gè)PaddingBytes,我們就添加三個(gè),于是得到下面的編碼:00100000010110110000101101111000110100010111001011011100010011010100001101000000111011000001000111101100重復(fù)下面的兩個(gè)bytes:11101100和

00010001二維碼中有四種級(jí)別的糾錯(cuò),這就是為什么二維碼有殘缺還能掃出來,也就是為什么有人在二維碼的中心位置加入圖標(biāo)。第三步:糾錯(cuò)碼具體步驟:首先,我們需要對(duì)數(shù)據(jù)碼進(jìn)行分組,也就是分成不同的組(Block),然后對(duì)各個(gè)組進(jìn)行糾錯(cuò)編碼。對(duì)于如何分組,參見《QR碼編碼規(guī)范》(QRCodeSpecification)中的表13-表22.需要分多少塊,每一塊有多少個(gè)碼字(8bits)舉一個(gè)5-Q版本的例子:塊數(shù)為2+2=4塊,頭一組(c,k,r)=(33,15,9),的兩個(gè)Blocks中各15個(gè)bits數(shù)據(jù)+2*9個(gè)bits的糾錯(cuò)碼。第二組同理,16+2*9=34bits下面是一個(gè)5-Q版本的示例:二進(jìn)制寫起來太龐大,所以這里用十進(jìn)制寫。糾錯(cuò)碼主要通過里德-所羅門糾錯(cuò)算法算出來,太難,不做介紹。首先穿插放置:把數(shù)據(jù)碼和糾錯(cuò)碼的各個(gè)碼字穿插放置。規(guī)則如下:對(duì)于數(shù)據(jù)碼:把每個(gè)塊的第一個(gè)碼字先拿出來按順度排列好第四步:最終編碼然后再取第二列的: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糾錯(cuò)碼也是一樣和數(shù)據(jù)碼取的一樣,得到:213,87,148,235,199,204,116,159,…………

39,133,141,236然后,再把這兩組放在一起(糾錯(cuò)碼放在數(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ù)表一,將剩余字(RemainderBits)補(bǔ)齊。5-Q版本還需要補(bǔ)7bits,7*8=56個(gè)0.第一步:位置探測圖形第二步:矯正圖形和校準(zhǔn)線第三步:格式信息和版本信息第四步:畫數(shù)據(jù)第五步:掩膜畫QR碼首先,先把位置探測圖形(PositionDetection)圖案畫在三個(gè)角上。(無論是什么版本,這個(gè)圖案的尺寸就是這么大)第一步:位置探測圖形然后,再把矯正(Alignment)圖案畫上(無論什么版本,這個(gè)圖案的尺寸就是這么大)第二步:矯正圖形和校準(zhǔn)線接下來是校準(zhǔn)的線(TimingPattern)完成前三部得到的圖形。接下來是格式信息(FormationInformation)5個(gè)數(shù)據(jù)位:其中,2個(gè)bits用于表示使用什么樣的糾錯(cuò)等級(jí),3個(gè)bits表示使用什么樣的掩膜。10個(gè)糾錯(cuò)位。主要通過附錄C來計(jì)算。然后,將15位格式信息與掩模圖形101010000010010進(jìn)行XOR運(yùn)算,以確保糾錯(cuò)等級(jí)和掩模圖形合在一起的結(jié)果不全是0。格式信息出現(xiàn)了兩次冗余,因?yàn)檫@對(duì)正確譯碼非常關(guān)鍵。第三步:格式信息和版本信息例:設(shè)定糾錯(cuò)等級(jí)為M: 00掩模圖形參考: 101數(shù)據(jù): 00101BCH位: 0011011100掩模前的位序列: 001010011011100用于XOR操作的掩模圖形: 101010000010010格式信息模塊圖形: 100000011001110再接下來是版本信息(VersionInformation)(版本7以后需要這個(gè)編碼)版本信息一共是18個(gè)bits,其中包括6個(gè)bits的版本號(hào)以及12個(gè)bits的糾錯(cuò)碼(根據(jù)附錄計(jì)算)例如:

版本號(hào): 7

數(shù)據(jù): 000111 BCH位: 110010010100

格式信息模塊圖形: 000111110010010100然后是填接我們的最終編碼,最終編碼的填充方式如下:從左下角開始沿著紅線填我們的各個(gè)bits,1是黑色,0是白色。如果遇到了上面的非數(shù)據(jù)區(qū),則繞開或跳過。第四步:畫數(shù)據(jù)這樣下來,我們的圖就填好了,但是,也許那些點(diǎn)并不均衡,如果出現(xiàn)大面積的空白或黑塊,會(huì)造成掃描識(shí)別的困難。所以,我們還要做掩膜操作QR有8個(gè)掩膜可以使用,如下所示。所謂掩膜,就

溫馨提示

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

評(píng)論

0/150

提交評(píng)論