77范文网 - 专业文章范例文档资料分享平台

食品溯源系统编码的自动生成(4)

来源:网络收集 时间:2019-05-18 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

第3章 QR码的编码设计及实现

QR Code是一种矩阵型二维条码,它具有存储信息容量大、可靠性高、超高速全方位识读的特点,可表示汉字、图像等多种类型的信息,并由于其用特定的数据压缩模式表示汉字,使得QR码比其他二维条码表示汉字的效率更高,更加适合我国的应用需求;国标GB/T 18284-200—快速响应矩阵码的制定更为QR码在我国的推广应用奠定了基础。

3.1 QR码编码系统的概要设计

QR码的计算机编码方式非常复杂。从编码模式来看,它含有多种不同的模式,每种模式的处理方法都不相同,所产生的数据码字也不同,程序需要对用户的输入数据信息进行分析并选择适当的编码模式,并能在各种编码模式之间进行灵活的切换;从编码携带的内容方面,它不仅本身是一个流动的数据文件,有大量的主信息内容,而且还包含很多附加信息,如版本的选择、纠错级别的选择、模式指示符、数据长度指示符、纠错码字、填充码字等,需要程序识别并一一对应编码。程序还需要将各种数据信息按照标准置入QR码符号矩阵中的相应模块。此外程序还应该具备条码符号图形显示的功能。

3.2 QR码编码流程详述

QR码编码系统的流程如图3-1所示。

图3-1 数据编码流程图

12

3.2.1 数据分析和编码

QR码的编码字符集包括:数字型数据(数字0-9)、字母数字型数据(数字0-9,大写字母A-Z,9个特殊字符:space,$,%,*,+,-,.,/,:)、字节型数据(8位ASCII字符集)、中国汉字字符。

QR码的数据编码主要通过采用选定的数据模式及模式所对应的数据变换规则,将数据字符转换为位流。在编码时应首先分析所输入的数据流,确定要进行编码字符的类型。对于不同的字符集,QR码使用不同的模式进行编码,各模式编码时采用的方式不同,编码时可以在不同模式之间进行转换,以便高效地将不同的字符子集数据转换为二进制位流。另外,用户还可以根据需要选择合适的错误检测和纠正等级,如果没有指定所采用的符号版本,则选择与数据相适应的最小的版本。编码过程中若需要进行模式转换,则在新的模式段开始之前加入模式指示符进行模式转换,并在数据序列后面加入终止符。编码后的二进制位流有一个或多个不同模式段组成,其中每一段包括:模式指示符(4位)、字符计数指示符和数据位流,将产生的位流分为每8位一个码字进行划分,必要时可加入填充字符以填满按照版本要求的数据码字数。

表3.1为QR码全部符号版本及其容量。

表3.1 QR码全部符号版本及其容量

版本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 每边的模功能图形块数(A) 模块数(B) 21 202 25 235 29 243 33 251 37 259 41 267 45 390 49 398 53 406 57 414 61 422 65 430 69 438 73 611 77 619 81 627 85 635 89 643 93 651 97 659 101 882 105 890 109 898 格式及版本信息模块数(C) 31 31 31 31 31 31 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 13

除C意外的数据模块数(D=A2-B-C) 208 359 567 807 1079 1383 1568 1936 2336 2768 3232 3728 4256 4651 5243 5867 6523 7211 7931 8683 9252 10068 10916 数据容量[码字](E) 26 44 70 100 134 172 196 242 292 346 404 466 532 581 655 733 815 901 991 1065 1156 1258 1364 剩余位 0 7 7 7 7 7 0 0 0 0 0 0 0 3 3 3 3 3 3 3 4 4 4 24 113 25 117 26 121 27 125 28 129 29 133 30 137 31 141 32 145 33 149 34 153 35 157 36 161 37 165 38 169 39 173 40 177 注:码字的长度为8位。 3.2.2 模式选择

906 914 922 930 1203 1211 1219 1227 1235 1243 1251 1574 1582 1590 1598 1606 1614 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 11796 12708 13652 14628 15371 16411 17483 18587 19723 20891 22091 23008 24272 25568 26896 28256 29648 1474 1588 1706 1828 1921 2051 2185 2323 2465 2611 2761 2876 3034 3196 3362 3532 3706 4 4 4 4 3 3 3 3 3 3 3 0 0 0 0 0 0 QR码数据码字的编码模式主要有扩展解释模式(ECI)、数字模式(NC)、字母数字模式(AC)、8位字节模式、中国汉字模式等几种。将数据信息转化为二进制的位流序列的方法是按照每8位一个码字,将位流序列转化为码字序列的。如果最开始的ECI模式不是缺省的ECI模式,其前面要有ECI标头,后面为一个或多个不同模式的段;如果以缺省的ECI开始,位流的开头为第一个模式的指示符。

ECI标头应包含的内容:ECI模式指示符(4位)和ECI指定符(8,16或24位)。 位流的其余部分的第一段应包含:模式指示符(4位)、字符计数指示符和数据位流。ECI标头由ECI模式指示符的最高位开始,以ECI指定符的最低位结束。每个模式段以模式指示符的最高位开始,以数据位流的最低位结束。段与段之间没有特定的分隔,因为段的长度已经由相关模式中的数据字符数明确的确定了。 3.2.3 纠错编码

QR码采用纠错算法生成相应的纠错码字,添加在数据码字序列之后。QR码具有的强检错和纠错能力使得条码标签在实际应用中遇到损坏时可以恢复数据。QR码纠错分4个等级,分别对应四种纠错容量。

(1) 纠错等级的选择

QR码的纠错等级及所对应的纠错能力见表3.2。编码时,根据QR码符号的使用环境及用户的要求选择合适的纠错等级。

表3.2 不同纠错等级所对应的纠错能力 纠错等级 L 14

回复容量%(近似值) 7 M 15 Q 25 H 30 (2) 纠错码字的计算 QR码采用Reed-Solomon算法来实现纠错编码,因此具有很强的纠错能力。纠错编码的实现过程为将得到的码字按照不同的版本和纠错等级分块,每一块分别计算出纠错码字并添加到数据码字后;数据码字为多项式各项的系数,第一个数据码字为最高次项的系数,最后一个数据码字是最低次项的系数;生成按降幂排列的多项式,然后用纠错码字生成多项式g(x)去除该多项式,所得到的余数多项式的系数,就是各个纠错码字。也即余数的最高次项系数为第一个纠错码字,最低次项系数为最后一个纠错码字,也是整个块的最后一个码字。QR码的多项式算法用位的模2算法和字节的模100011 101算法。这是加罗瓦域28以100011 101表示主模块多项式:X8+X4+X3+X2+1。用于生成纠错码字的多项式有31个,详见QR码国家标准GB/T 18284-2000。 3.2.4 构造最终的信息

纠错码字生成后,连接数据码字和纠错码字以形成最终位流序列。最短的数据块应在序列的最前面,所有的数据码字应在第一个纠错码字的前面。排列标准为:

数据块l的码字1, 数据块2的码字1, 数据块3的码字l,

数据块n的码字1,数据块1的码字2, 数据块2的码字2,

数据块n-1的最后一个码字,数据块n的最后一个码字, 纠错块1的码字1,纠错块2的码字1, 纠错块n-1的最后一个码字, 纠错块n的最后一个码字。

QR码符号所包含的数据块和纠错块在某些版本下不能填满符号的码字容量时,可以添加3、4或7个剩余位在最终的信息位流中,以填满编码区域的模块数。

例如,版本5.H的符号由4个数据和纠错块组成,前两个块分别包括11个数据码字和22个纠错码字,第3、4个块分别包括12个数据码字和22个纠错码字。在此符号中,字符的布置如下,表中每一行对应一个块的数据码字(表示为Dn)和相应块的纠错码字(表示为En);符号中字符的布置可以通过由上向下逐列读表3.3中的各列得到。

表3.3 码字序列排列

数据字码 纠错字码 块1 D1 D2 ?? D11 E1 E2 ?? E22 块2 D12 D13 ?? D22 E23 E24 ?? E44 块3 D23 D24 ?? D33 D34 E45 E46 ?? E66 块4 D35 D36 ?? D45 D46 E67 E68 ?? E88 从表可读出最终的码字序列为:D1,D12,D23,D35,D2,D13,D24,D36, D1 1,D22,D33,D45,D34,D46,El,E23,E45,E67,E2,E24,E46,E68, E22,E44,E66,E88。(如果需要,在最后的码字后面加上剩余位0)

15

3.2.5 在矩阵中布置模块

(1) 符号字符表示

QR码中符号字符分为两种:规则的和不规则的,其使用取决于它们在符号中的位置,以及与其他符号字符和功能图形的关系。

码字在符号中表示大多数为规则的2×4个模块的排列。在垂直方向和水平方向上构成两种排列方式:垂直布置(2个模块宽,4个模块高)和水平布置(4个模块宽,2个模块高)。不规则符号字符用在需要改变方向或紧靠校正图形或其他功能图形时。

图3-2 QR码规则符号字符的排列

(2) 布置功能图形 QR码的版本不同,对应的图形矩阵也不同,应按照使用版本相对应的模块数构成空白的正方形矩阵。在功能图形区域中的寻像图形、分隔符、定位图形以及校正图形相应的位置,填充深色和浅色的模块。其中,校正图形随各版本不同,图形的数量和位置存在较大的不同,但每一版本的校正图形数量和每一校正图形的中心模块的坐标是确定的。格式信息和版本信息的模块位置暂时空置,到最后定。

(3) 布置符号字符

在QR符号的编码区域中布置符号字符时,以2个模块宽的纵列从符号的右下角开始,并自右向左,且交替地从下向上或从上向下排列,在遇到功能字符时绕开。符号字符的布置原则如下:

① 纵列方向上,位序列从右到左进行布置,向上或向下应与符号字向保持一致。 ② 第一个可用的模块位置放置每个码字的最高位(即位7),后续的位放在下一个模块 的位置。如果布置方向向上,则最高位占用规则模块字符的右下角的模块;若置 方向向下,则占用右上角的模块。如图3-3。如果先前字符结束于右侧的模块列,最高位可能占据不规则符号字符的左下角模块的位置。

16

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库食品溯源系统编码的自动生成(4)在线全文阅读。

食品溯源系统编码的自动生成(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/630414.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: