矩阵式二维码及其编码方法和译码方法

文档序号:8319592阅读:3478来源:国知局
矩阵式二维码及其编码方法和译码方法
【技术领域】
[0001] 本发明涉及自动识别技术领域,尤其涉及符号条码领域,具体涉及一种矩阵式二 维码及其编码方法和译码方法。
【背景技术】
[0002] 现有的矩阵式二维码具有多种格式、多种符号尺寸,且在编码时使用了复杂的纠 错算法,条码符号中需要有较多的面积用于存储版本信息、格式信息、纠错信息,以及寻像 图形和校正图形。这样的矩阵式二维码减少了用于存储有效数据的面积,尤其在小尺寸的 二维码中,一般最多只能存放2到3个字符,可存放的有效数据非常少。在实际应用中,小 尺寸的条码即使被印刷在较小的区域内,它的每个模块仍然可以得到较大的面积,且小尺 寸的条码产生畸变的概率较小,因此在条码没有被污损的情况下,信息在传输的过程中产 生的差错较少。然而,在一些要求信息传输过程产生差错较小的场合,只能使用小尺寸的条 码,但又要求存储较多的信息,使得现有的矩阵式二维码难以满足要求。
[0003] 奇偶校验是在每个数据单元(在图2中的为一行或一列)中加上一位,称为奇偶 校验位,使数据单元中1的数量为系统预先约定的奇数或偶数。数据接收端通过检测奇偶 位,判断所接收到的数据是否发生差错。奇偶校验对单比特差错(single-bit error,即在 给定的数据单元中仅有一位发生从1到〇或从〇到1的变化)和突发性差错(burst error, 在数据单元中有两位或更多位发生从1到0或0到1的变化)均有比较强的检测能力,可 以检测到所有奇数个差错,以及大部分偶数个差错,仅在部分情况下某些行和某些列同时 出在偶数个(如2个)差错时无法检测准确到。此外,当仅在一行或仅在一列中出现奇数 个差错时,二维奇偶校验可以通过行、列校验位定位出错误位置,并实现纠正。在小尺寸二 维码中,虽然其印刷面积较小,但其模块尺寸较大,可得到清晰的二维码。因此,在二维码保 存清晰、完整的情况下,条码阅读器所获取到的二维码,不会出现太多差错。
[0004] CRC校验是在数据单元的末尾增加一个称为CRC或CRC余数的冗余位序列,以使 得产生的数据单元能够被一个预先约定的二进制数整除。数据接收端将数据单元除以约定 的二进制数,若得到的余数为〇,则认为数据在传输中没有遭到破坏。在一个k位长的数据 单元后面加上r个0,使用模2除法,除以一个(r+Ι)位的二进制数,得到的r位余数即为 CRC,这r位余数也可能为0。这个(r+Ι)位的二进制除数,通常被表示成多项式的形式,称 为生成多项式,如1101会被表示成G(x) = 1Χχ3+1Χχ2+0Χχ+1 = x3+x2+l,生成多项式的 选择,直接影响CRC的检错能力,即CRC检测到所有差错的概率。

【发明内容】

[0005] 本发明要解决的技术问题在于,针对现有技术的缺陷,提供一种矩阵式二维码及 其编码方法和译码方法。
[0006] 本发明解决其技术问题所采用的技术方案是:一种矩阵式二维码,包括NXN模块 组成的矩阵,所述矩阵包括用于存储数据信息的数据区域和设置在所述数据区域四周的寻 像图形;所述数据区域由(N-2) X (N-2)模块组成,包括:
[0007] 缺省模块,设置在所述数据区域的一顶点上;
[0008] 列奇偶校验单元,包括N-3位用于存储列奇偶校验码的列奇偶校验位,所述列奇 偶校验位设置在所述缺省模块所在行;
[0009] 行奇偶校验单元,包括N-3位用于存储行奇偶校验码的行奇偶校验位,所述行奇 偶校验位设置在所述缺省模块所在列;
[0010] CRC校验单元,包括8位用于存储CRC校验码的CRC校验位;
[0011] 信息存储单元,包括若干位用于存储数据信息的信息位;
[0012] 其中N为大于6的整数。
[0013] 优选地,N的取值为9、10或11。
[0014] 优选地,所述寻像图形包括用于确定图像方向的定位模块、第一 L型定位单元、第 二L型定位单元和第三L型定位单元,所述定位模块和所述第二L型定位单元的顶点设置 在所述矩阵的一对角线上,所述第一 L型定位单元的一边与所述第二L型定位单元的一边 完全重叠,所述第二L型定位单元的另一边与所述第三L型定位单元的一边完全重叠。
[0015] 优选地,所述第一 L型定位单元与所述第三L型定位单元对称设置。
[0016] 优选地,所述第二L型定位单元的两边长度比例为1 :1 ;若N为偶数,所述第一 L 型定位单元与所述第三L型定位单元的两边长度比例均为1 :2,若N为奇数,所述第一 L型 定位单元与所述第三L型定位单元的两边长度比例均为(N±l)/2 :N。
[0017] 优选地,所述定位模块设置在所述矩阵的一顶点上,并与所述缺省模块相邻。
[0018] 本发明还提供一种矩阵式二维码的编码方法,包括如下步骤:
[0019] Sll :接收用户信息,并按预设编码方式将用户信息转换成二进制数据位流;
[0020] S12 :将所述二进制数据位流按预设顺序存储在所述信息位中;
[0021] S13 :生成8位的CRC校验码并存储在相应的CRC校验位上;
[0022] S14:计算各列的列奇偶校验码及各行的行奇偶校验码,并分别存储在相应的列奇 偶校验位和行奇偶校验位上;
[0023] S15 :构建寻像图形,生成二维码。
[0024] 优选地,所述预设顺序为行与行之间首尾相连的蛇形顺序;
[0025] 所述步骤S12包括:将所述二进制数据位流按所述蛇形顺序从所述信息位的首行 开始依次填充,剩余的信息位填充〇 ;
[0026] 所述步骤S14包括:将所述8位CRC校验码按所述蛇形顺序填充在所述CRC校验 位中。
[0027] 优选地,所述预设编码方式包括三位编码、四位编码和五位编码中的一种或多种。
[0028] 本发明还提供一种矩阵式二维码的译码方法,包括如下步骤:
[0029] S21 :扫描二维码并接收二维码信息;
[0030] S22 :对比并判断所述二维码信息是否包括所述寻像图形,若是则执行步骤S23以 后的步骤,若否则结束译码;
[0031] S23 :提取所述二维码信息的信息位中的数据;
[0032] S24:根据提取后的数据计算各列的列奇偶校验码和各行的列奇偶校验码,并分别 与放置在列奇偶校验位中的列奇偶校验码和放置在行奇偶校验位中的行奇偶校验码进行 比较,判断是否一致,若一致则执行步骤S25的步骤,若不一致则执行纠错步骤;
[0033] S25 :利用CRC校验码对提取后的数据进行CRC校验,若CRC校验通过则对所述二 维码信息的信息位中的数据进行译码,以结束译码;若否则判定译码失败,以结束译码。
[0034] 本发明与现有技术相比具有如下优点:本发明所提供的矩阵式二维码设置行奇偶 校验单元、列奇偶校验单元和CRC校验单元对二维码内存储的信息进行校验,校错能力强, 且能够纠正某些形式的差错,且无需采用校正图形,条码模块数量少,数据编码方式简单, 编码效率高,冗余信息少。
【附图说明】
[0035] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0036] 图1是本发明实施例1中矩阵式二维码的结构示意图。
[0037] 图2是本发明实施例1中数据区域的结构示意图。
[0038] 图3是本发明实施例1中寻像图形的结构示意图。
[0039] 图4是本发明实施例2中矩阵式二维码的编码方法的流程图。
[0040] 图5是本发明实施例2中矩阵式二维码的结构示意图。
[0041] 图6是本发明实施例3中二维码的译码方法的流程图。
[0042] 图中:1、数据区域;11、缺省模块;12、列奇偶校验位;13、行奇偶校验位;14、CRC 校验位;15、信息位;2、寻像图形;21、定位模块;22、第一 L型定位单元;23、第二L型定位单 元;24、第三L型定位单元。
【具体实施方式】
[0043] 为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明 本发明的【具体实施方式】。
[0044] 实施例1
[0045] 图1示出本实施例中的矩阵式二维码。该矩阵式二维码包括由NXN模块组成的 矩阵,该矩阵包括用于存储数据信息的数据区域1和设置在数据区域1四周的寻像图形2, 可以理解地,数据区域1由(N
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1