QR二维码编解码原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编码
2.数据编码:采用既定规则,数据字符转换为位流,加必要符号,后将位流转换为码字 例:对数字12345(16个数字字符)进行编码,生成QR码。
编码
7)添加终止符:查表可知版本1-H的数据位数应为72,故需添加终止符序列 0000, 此时数据位流为72位,满足版本要求。
8)填充位和填充码字:本例中,数据位流长度为72位,满足数据容量要求,无 需添加填充位和填充码字。
1111 1111 来表示
同时, α为P(X)=0的根。其中, P(X)是以GF(28)上8次首一既约多项式,以 P(X)为模的多项式剩余类环构成28阶伽罗华域。
本例中,本原多项式为P(X)=X8+X4+X3+X2+1。
用αi模P(α)可以得到域元素和二进制比特串的对照表(如图)。
3.纠错编码:生成纠错码字加到数据码字后 例:对数字12345(16个数字字符)进行编码,生成QR码。
符号,明确地确定视场 中空符白 区号的位置和方向
位置探测图形
作用是确定符号的密度和
版本,提供决定模块坐标
的位分基置隔探准符测位图 形置。
功能 图形
补定 位正图Q形R码的歪斜。
符号
包校含正 图符形号所使用的纠错 包等含级版和本掩信模息图,形只信有息版。本 7~40的符号有版本信息, 其格余式版信 息本全为0
2) 将每组转换为二进制: 012→0000001100 345→0101011001 678→1010100110 901→1110000101 234→0011101010 5→0101
3) 将二进制数连接为一个序列: 0000001100 010101110 1110000101 0011101010 0101
x2td(x ) mod g(x) j(x) (纠错码字多项式)
编码后的表达式为: C(X)
Hale Waihona Puke Baidu
q(x )
纠错码字多项式
g(x ) x2td(x ) C(αi) = 0 (i=0,1,2,…,16)
cx ccxcx cx 编码码字多项式: () 01122 25 25
前9位为数据码字 后17位为纠错码字
c(α 0) 1 1 1 1co So 0
c(α 1) 1 αα 2
α 25c1 S1 0
c(α 16) 1 α 16 α 32
α 400c25 S16 0
校验矩阵
编码码字矩阵
3.纠错编码:生成纠错码字加到数据码字后 例:对数字12345(16个数字字符)进行编码,生成QR码。
5.在矩阵中布置模块 将寻像图形、分隔符、矫正图形与码字,按规则排列,放入二维码矩阵。
6.掩模
用八种掩模图形依次对符号的编码区域的位图进行掩模处理,评价所得到 的8种结果,选择最优的一种。
7.格式和版本信息 生成版本信息(如果需要)和格式信息,构成符号。
1.数据分析:确定要进行编码的字符类型,选择所需的版本信息和纠错等级 例:对数字12345(16个数字字符)进行编码,生成QR码。
编码
定义:在任何q阶伽罗华域GF(q)中都能找到一个α,能用它的幂次表示q-1个非零元 素。
QR码的纠错码生成是通过GF(28)来进行的,GF(28)中的元素组成一个循环群: ( 1, α1 ,……,α254 ), 其中α255 = α0=1 ,则称α是GF(28)的本原域元素。
α0
α254 可用0000 0001
纲要
I.
QR码的编码
II. QR码的解码
编码:QR码符号的结构
编码
每个QR码符号由名义上的正方形模块构成,组成一个正方形阵列,它由编码区 域和包括寻象图形、分隔符、定位图形和校正图形在内的功能图形组成。功能图形 不能用于数据编码。符号的四周由空白区包围。迅下速图地为识Q别R码可版能本的7Q符R号码的结构图。
编码
3.纠错编码:生成纠错码字加到数据码字后 例:对数字12345(16个数字字符)进行编码,生成QR码。
编码
(c, k, r): c =码字总数 k =数据码字数 r =纠错容量
† 纠错容量小于纠错码字数的 一半,以减少错误译码的可能 性
生成多项式: g(x)=(x-α0)(x-α1)……(xαn-1)
9)位流到码字的转换:所得的数据位流将被分为一个个码字,所有的码字长度 都是8位。 综上,所得到的数据码字序列为: 00 01010110 01101 00010100 11101 (共9个码字)
3.纠错编码:生成纠错码字加到数据码字后
编码
例:对数字12345(16个数字字符)进行编码,生成QR码。
4) 将字符计数指示符转换为二进制(查表知版本1-H为10位): 字符数为:16→0000010000
5) 加入模式指示符0001(查表)以及字符计数指示符的二进制数据: 00 010101110 1110000101 0011101010 0101
6)数字模式中位流的长度计算公式:B=4+C+10(D DIV 3) +R=4+10+50+4=68
编码
1.扩充解释(ECI)模式,数字模式,字母数字模式,8位字节模式,中国汉字模式,日本汉 字模式,混合模式,结构链接模式,FNCI模式
2.
2.数据编码:采用既定规则,数据字符转换为位流,加必要符号,后将位流转换为码字 例:对数字12345(16个数字字符)进行编码,生成QR码。
1) 分为3位一组:012 345 678 901 234 5
版数本据信 信息 息及数据信编格 码式息区的 纠错码
数据和纠错码字
编码:QR码的编码流程
1.数据分析
编码
确定要进行编码的字符类型,选择所需的版本信息和纠错等级。
2.数据编码
采用既定规则,数据字符转换为位流,加必要符号,后将位流转换为码字。
3.纠错编码
生成纠错码字加到数据码字后。
4.构造最终信息 按规则将每一块中置入数据和纠错码字,必要时加剩余位。
=(x-α0)(x-α1)……(xα16)
其中n为生成多项式的次数, 也就是纠错码字数。本例中, 纠错码字数为17,生成多项式
3.纠错编码:生成纠错码字加到数据码字后 例:对数字12345(16个数字字符)进行编码,生成QR码。
编码
数生据成码多x字项2t的式d(多为x )项:式g(dx形8)x=式25为:dd7x(x24)=d0+d1x+dd2x1x2+1 ……d+0 d(8x数8 (据有码9字个多数项据式码)字)