GB/T27767-2011

二维条码紧密矩阵码

Two-dimensionalbarcode-Compactmatrixcode

本文分享国家标准二维条码紧密矩阵码的全文阅读和高清PDF的下载,二维条码紧密矩阵码的编号:GB/T27767-2011。二维条码紧密矩阵码共有52页,发布于2012-05-01
  • 中国标准分类号(CCS)L71
  • 国际标准分类号(ICS)35.040
  • 实施日期2012-05-01
  • 文件格式PDF
  • 文本页数52页
  • 文件大小807.83KB

二维条码紧密矩阵码


国家标准 GB/T27767一2011 二维条码紧密矩阵码 Iwo0-dimensionalbarcode -Compactmatrixscode 2011-12-30发布 2012-05-01实施 国家质量监督检验检疫总局 发布 国家标准化管理委员会国家标准
GB/27767一2011 目 次 前言 引言 范围 规范性引用文件 术语、定义、缩略语和约定 符号描述 符号结构 符号生成 符号印制 22 符号质量 22 译码过程 2: 附录A(规范性附录)码字分块参数C语言源代码 2 附录B(资料性附录位流长度的优化 26 附录c资料性附录CM码符号印制的用户导则 32 附录D(规范性附录)纠错生成多项式 33 附录E(资料性附录CM码符号生成示例 36 附录F(规范性附录CM码专有指标的质量评级要求 4G 附录G(资料性附录)参考译码算法
GB/T27767一2011 前 言 本标准按照GB/T1.1一2009给出的规则起草 本标准由工业和信息化部提出 本标准由全国物品编码标准化技术委员会(SAC/TC287)归口 本标准起草单位:武汉砂感科技有限公司、电子技术标准化研究所 本标准主要起草人:张伟、张也平,刘波、张得煜、樊旭川
GB/27767一2011 引 言 本文件的发布机构提请注意,声明符合本文件时,可能涉及第5章,第6章,第9章相关的专利的 使用 本文件的发布机构对于该专利的真实性、有效性和范围无任何立场 该专利持有人已向本文件的发布机构保证,他愿意同任何申请人在合理且无歧视的条款和条件下, 就专利授权许可进行谈判 该专利持有人的声明已在本文件的发布机构备案 相关信息可通过以下联 系方式获得: 专利所有人;武汉秒感科技有限公司 地址: 武汉市东西湖区吴家山经济开发区金一路武汉砂感光电产业园 邮政编码 430040 网址: ://www. w.syscantech.cn htp: 联系人: 何柳青 联系电话 027-61675589 传真 027-61675592 E-mail: helq@syscangroup.com 请注意除上述专利外,本文件的某些内容仍可能涉及专利 本文件的发布机构不承担识别这些专 利的责任
GB/T27767一2011 二维条码紧密矩阵码 范围 本标准规定了紧密矩阵码的符号结构、信息编译码方法、纠错编译码方法、信息排布方法、参考译码 算法以及符号质量要求等技术内容 本标准适用于紧密矩阵码的生成与识读 规范性引用文件 下列文件对于本文件的应用是必不可少的 凡是注日期的引用文件,仅注日期的版本适用于本文 件 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件 信息技术信息交换用七位编码字符集 GB/T1988 GB/T12905条码术语 GB18030信息技术中文编码字符集 GB/T23704信息技术自动识别与数据采集技术二维条码符号印制质量的检验 AIM国际技术规范扩展解释;第1部分;识别方案与协议(简称“AIMECI规范” 术语、定义、缩略语和约定 3.1术语和定义 GB/T12905中界定的以及下列术语和定义适用于本文件 3.1.1 功能图形funetionpattern 用于表示定位与识别特征的图形,包括开始图形、结束图形、数据段分隔图形和定位孔图形 3.1.2 开始图形startpatternm 用于表示符号开始的图形 3.1.3 结束图形stoppatterm 用于表示符号结束的图形 3.1.4 定位孔图形positioning-holepattern 用于表示CM码列同步信息的图形 3.1.5 数据段分隔图形data-segmentseparatingpatterm 用于将编码区域进行分隔的图形 3.1.6 掩模masking 为使符号中深色(低反射率)模块与浅色(高反射率)模块的分布均衡,并使符号编码区域中出现功
GB/T27767一2011 能图形的可能性降为最低,用掩模图形与数据编码区域的图形进行异或处理 3.1.7 版本 version 用于指示CM码高度方向模块数的参数 3.1.8 errorcorreetionlevel 纠错等级 指明CM码中纠错码字所占比例的参数 3.1.9 格式信息formatinformation" CM码符号相关的参数信息 CMM码的格式信息包括;数据段编号、数据段总数,纠错等级.掩模类 型和码字交错标志 3.1.10 格式信息区域formatinformationarea 用于对格式信息及其纠错信息进行编码的区域位于每个数据段开始的连续7个码字区域 3.1.11 数据编码区域dataenedingarea 用于对数据码字及其纠错信息进行编码的区域 3.1.12 编码区域encodingare 由格式信息区域和数据编码区域组成的区域 3.1.13 数据段datar-segment 相邻的两个数据段分隔图形之间的编码区域 3.1.14 纠错块errorcorreetioncodewordblock 对码字分组后用于纠错的一组码字 3.1.15 填充位paddingbit 用于填充数据位流最后一个码字后面容量的无含义位,其值为0 3.1.16 填充码字 paddingcodeword 当数据码字和纠错码字不能填满CM码的容量时,用于填充CM码的剩余容量的码字 填充码字 不表示有效数据,但参与ReedSolomon纠错运算 3.1.17 功能码funetioncde 用于指示属于特定应用或特定功能的CM码符号的代码 3.2缩略语 下列缩略语适用于本文件 ABS 绝对值(AbsoluteValue' MatrixCode) CM码 紧密矩阵码(Compact DIV 整除运算(Division ECI 扩展解释(ExtendedChannelInterpretation)
GB/T27767一2011 FNC Code 功能码(Funetion GF -伽罗瓦有限域(GaloisField) 3.3约定 下列表示适用于本文件 表示括号中的内容使用二进制表示 ()N 表示括号中的内容使用十六进制表示 ()IEx 符号描述 4.1基本特征 4.1.1 可编码信息 CM码可编码以下信息 数字字符(数字09,GB/T1988中值48至57); a b)大写字母(字母A~Z,GB/T1988中值65至90); 小写字母(字母a一2,GB/T1988中值97至122); d)汉字字符(GB18030); 8位字节型数据 4.1.2数据表示法 深色单元模块表示二进制“1”,浅色单元模块表示二进制“o” 4.1.3符号规格 CM码有32个可选版本,每个版本可采用1到32个数据段,共有32×32种规格,符号规格从39× 18模块到1093×483模块(这里符号的开始图形和结束图形的宽度均以2模块宽度计算,见5.3和 5.4) 符号每增加一个版本,高度方向增加15个模块;符号每增加一个数据段,宽度方向增加34个模块 4.1.4符号容量 使用最低纠错等级的最大版本,最多数据段的CM码的容量如下 138462个数字; b)92311个大写字母 e92311个小写字母 d)76925个数字字母混合字符; 35503个GB18030双字节1区或双字节2区内的字符,或28843个GB18030双字节字符, 或14421个GB18030四字节字符; 57686个字节 4.1.5 纠错等级 8个纠错等级,每级中纠错码字占总码字的比例为 1级;8%; a b)2级;16%; 3级:24%; c
GB/T27767一2011 d 4级;32% e)5级:40%; 6级:48%; D g7级:56%; h 8级;64% 纠错码字的个数为总码字个数的上述百分比向下舍人) 当CM码的总码字数大于511时,需要 将码字分割成多个纠错块,在每个纠错块内分别分配纠错码字 码字的分块和纠错码字的分配方法见 6.6.2和附录A 4.2附加特征 4.2.1结构链接 允许用不多于16个的CM码在逻辑上连续地表示数据文件 在多顺序扫描状态下应保持原始顺 序与数据正确连接 4.2.2掩模 使符号中深色模块与浅色模块均匀分布,同时使符号编码区域中出现功能图形的可能性降为最低 4.2.3支持:C协议 cI协议(见“AIMEcI规范”)使CM码可以表示缺省字符集以外的字符(如阿拉伯字符、古斯拉 夫字符、希腊字符等),及其他数据解释(如用一定的压缩方式表示的数据),或者具体应用的编码要求 符号结构 5.1概述 每个CM码由矩形模块组成的矩形阵列构成.它由编码区域和功能区域组成,功能区域包括开始 图形、结束图形、数据段分隔图形以及定位孔图形 数据段分隔图形和定位孔图形存在交叉,交叉部分 既作为数据段分隔图形的一部分,也作为定位孔图形的一部分 功能区域不用于数据编码 符号的四 周为空白区 图1是以版本2且2个数据段的CM码为例的结构图 开始图形 定位孔图形 数掘段分隔图形 数据段 结束图形 空白区 图1符号结构图
GB/T27767一2011 CM码被设计用于接触式扫描解码,扫描时应使扫描线平行于数据段分隔图形,从CM码的一侧 开始图形或结束图形)往另一侧进行扫描 5 版本和数据段 CM码有32个可选版本(l一32),每个版本有32个可选数据段(1一32) 规定图1的水平方向为 CM码的宽度方向,竖直方向为CM码的高度方向 CM码高度方向的模块数为15×V十3个,V为CM 码的版本;宽度方向的模块数为34×S+1十HT,s为CM码的数据段个数,H为开始图形的宽度, T为结束图形的宽度,见5.3和5.4 图2为版本和数据段个数变化示意图 版本! 1个数据段 版本2 2个数据段 版本3 3个数据段 图2符号的版本和数据段样图 5.3开始图形 开始图形用于指示符号的开始,其宽度方向的模块数大于或等于2,较多的模块数能提高开始图形 被探测到的可能性 开始图形的高度方向由15个深色模块和浅色模块按照3:2:l;1:l;2:2:3的序列 重复排列而成,重复的次数与版本数相等,最后以3个深色模块结束 图3为版本3的CM码的开始图 形顺时针旋转90"后的结构图 图3符号的开始图形
GB/27767一2011 5 结束图形 结束图形用于指示符号的结束,其宽度方向的模块数大于或等于2,较多的模块数能提高结束图形 被探测到的可能性 结束图形的高度方向由15个深色模块和浅色模块按照3:l:2:3:2:2:l:l的序列 重复排列而成,重复的次数与版本数相等,最后以3个深色模块结束 图4为版本3的CM码的结束图 形顺时针旋转90°后的结构图 图4符号的结束图形 5.5数据段分隔图形 数据段分隔图形宽度为一个模块,全部由深色模块组成,其作用是将编码区域分隔成多个数据段, 见图1 5.6定位孔图形 定位孔图形包括上下两条齿孔状的图形 每条定位孔图形高度为3个模块,上下两行由深色模块 组成,中间一行由浅色模块和深色模块交替排列组成,见图 数据段 每个cM码有1个或者多个数据段,每个数据段由码字对应的图形无缝排列而成,这些码字包括数 据码字,纠错码字以及格式信息码字 每个数据段的宽度固定为33个模块,高度为15XV-3个模块, V为符号版本 5.8空白区 空白区为环绕在符号四周的至少6个模块宽的区域,其深浅应与浅色模块相同,见图1 符号生成 生成过程 6.1 CM码的生成过程包括以下步骤: 数据分析;分析输人的数据,确定数据的数据编码模式 对不同的数据类型,CM码采用不同 a 的数据编码模式进行编码,见6.3 每种模式有各自的编码规则 数据编码;将输人数据按照其编码模式对应的编码规则转换为位流 当需要进行模式切换 时,在新模式数据编码前输出模式转换码 将编码产生的位流按每9位对应一个码字的方式
GB/T27767一2011 转换为数据码字流,最后一个码字不足9位时用0填充 纠错编码:将数据码字进行分块(见6.6.2) 对每块码字分别生成纠错码字,并将纠错码字添 加到该块数据码字的后面 在矩阵中布置功能图形;将开始图形、结束图形、数据段分隔图形以及定位孔图形排列到矩 阵中 排列数据码字和纠错码字:将数据码字和纠错码字的图形排列到矩阵中 格式信息:将格式信息及其纠错信息组装成码字填充到符号中 g)掩模;用4种掩模类型依次对符号进行掩模处理,评估得到的4种结果,选择最优的一种作为 掩模结果 数据分析 对输人数据进行类型分析,按类型划分成多个段,使编码得到的位流尽量短 位流长度优化的一种 方法参见附录B 6.3模式指示 6.3.1模式分类 CM码的编码模式分数据编码模式,EcI模式和功能码模式三类,各种模式由确定的模式指示符指 示 表1列出了所有的模式指示符 表1模式指示符 模式分类 模式名称 模式指示符 说 明 汉字模式 每个字符用13位二进制进行编码 见6.4.1 0001)uN 数字模式 每3个字符用10位二进制进行编码 见6.4.2 (0010 w 小写字母模式 0011 每个字符用5位二进制进行编码 见6.4.3 T 数据编码模式 大写字母模式 0100) 每个字符用5位二进制进行编码 见6,4.4 数字字母混合模式 (0101)N 每个字符用6位二进制进行编码 见6.4.5 控制字符模式 每个字符用6位二进制进行编码 见6,4.6 字节模式 01l1)N 每个字符用8位二进制进行编码 见6.4.7 Bc模式 见6.4.8 ECI 1100)N 功能码1,Gs1应用标识 见 6.4.9.l 1000)N FNC1 1011)m 功能码1,AIM应用标识 见6.4.9.1 功能码模式 FNC2 1001) 功能码2,结构链接功能 见6.4.9.2 FNC3 1010) 功能码3,识读设备初始化数据 见6.4.9.3 ”只允许从小写字母模式、大写字母模式或数字字母混合模式进行切换(见6.4.6.2和6.5.1 6.3.2数据编码模式 数据编码模式包括汉字模式、数字模式、小写字母模式,大写字母模式、数字字母混合模式、控制字 符模式和字节模式,见表1
GB/T27767一2011 6.3.3ECI模式 ECI模式只能出现在数据的开头或“模式结束”转换码(见6.5.1)之后 ECI模式的模式指示符之 后为ECI任务号,编码方法见6.4.8. 6.3.4功能码模式 功能码分FNC1、FNC2和FNC3三类,其中FNC1包括两种模式指示符,分别对应两种应用标识 见表1 功能码只能在CM码的开头出现 一个CM码使用功能码时,其模式指示符应出现在数据编 码位流的前面 一个CM码最多可以使用两个功能码 6.3.5无效的模式指示符 模式指示符(0000)s,(o110),(l101)N,(1l10)m和(1lll)表示无效 6 数据编码模式 汉字模式 6.4.1.1编码字符 可编码字符包括 a GB18030双字节1区及双字节2区的字符即第一字节值在(Al)uEx至A9)uEx或(B0)ux至 F7)e之间.且第二字节值在(A0)至(FF)之间的部分) b “回车换行”(GB/T1988中值13,10的组合); c数字对“00”到“99” d)8位字节型数据 注:GB18030除双字节1区及双字节2区以外的字符不能用汉字模式编码,可用字节模式编码 4.1.2编码规则 o 汉字模式采用13位二进制进行编码 当一个GB18030双字节字符第一字节值在(Al)u至(A9)E之间,且第二字节值在(A0)E至 (FF)HE之间时,按式(1)计算该字符的13位编码: N=(C-Al)Ex)×60)uEsx十(C 一-Ao)E 式中: N 字符的13位编码 C GB18030编码的第一字节值 C -GB18030编码的第二字节值 当 一个GB18030双字节字符第一字节值在(B0)nEx至(F7)之间,且第二字节值在(A0)至 (FF)HEx之间时,按式(2)计算该字符的13位编码: N=(C-(B0)uEx十9)×60)ux+(C -A0)uEx 式中: N 字符的13位编码; C GB18030编码的第一字节值 C -GB18030编码的第二字节值 式(1)及式(2)定义了0至7775之间的编码值,以下方式用于定义7776至8191的编码值 7776赋给“回车换行”符; a
GB/T27767一2011 b7777至8032赋给8位字节数据(0至255),用于编码混在汉字信息中的非汉字数据,减小个 别非汉字模式的数据嵌在一段汉字中导致的模式转换开销 8033至8132赋给数字对“00”到“99”; d)8160至8165用于实现模式的转换,见6.5.1; 编码值8133至8159及编码值8166至8191是无效的 e 两个编码示例见表2 表2汉字编码示例 说 步骤 明 例1 例2 输人字符 ¥ 多 GB18030编码 A3A4)Ex B6E0)ss A3)x-(A1)x)X60)Ex (B6)x一(0)Ex十9)X60)Ex 代人公式(1)或公式(2)y 十((A4)x-Ao)R 十((E0)sx-(Ao)sx 计算结果 C4) 5E0)E 转化为13位二进制值 0000011000100 001011l100000 6.4.2数字模式 6.4.2.1编码字符 可编码字符包括: a数字0至9(GB/T1988值4857); b)“空格"GB/T1988值32); “+”(GB/T1988值43); -”(GB/T1988值45); ”(GB/T1988值46); “,”(GB/T1988值44); “回车换行”(GB/T1988值13,10的组合). 6.4.2.2编码规则 以连续的三个数字为一组将数据分组,每3个数字采用10位二进制进行编码 遇到非数字字符则 将该字符包含到分组中,每组中最多只能有一个非数字字符,多余的非数字字符不能用数字模式编码 末尾一组不够三个数字用0填充 在输出第一组数字的编码前先输出2位计数器,记录最后一个分组 填充的数字个数,译码时根据该计数器丢弃填充数字 a)“00”表示没有填充数字; b) “01”表示有1个填充数字 “10”表示有2个填充数字; d)“11”为无效编码 编码只有数字字符的组时,按式(3)计算该组的10位编码 N=100D十10D十D 式中: N -数字组的10位编码; D 数字组的第一个数字;
GB/T27767一2011 -数字组的第二个数字; D 数字组的第三个数字 D 当分组中包含非数字字符时,非数字字符出现在分组中的位置有三种情况,分别是(X表示非数字 字符);第1位置为xDD.D.;第2位置为DxD.D;第3位置为DD.xD 同一个非数字字符处在不同的位置有不同的编码,非数字字符在不同位置时的赋码见表3 表3非数字字符赋码表 字 符 在分组中的位置 编码(十进制数 1000 “空格"GB/T1988中值32) 1001 1002 1003 “十”(GB/T1988中值43 1004 1005 1006 ”(GB/T1988中值45 1007 1008 1009 ”(GB/T1988中值46 101o 101l 3 1012 “,”(GB/T1988中值44 1013 1014 1015 “回车换行”(GB/T1988中值13、 1o16 10的组合 1017 编码含有非数字字符的分组时,先输出非数字字符的10位二进制编码,然后再按式(3)计算并输出 3个数字的10位二进制编码 剩下的编码值1018至1023用于实现模式的转换,见6.5.1 示例 输人数据;“1,234.567.899 900 分组: 1,23 4,56 7.89 编码十进制值:2 1013 123 1013 456 1010 789 900 转换为二进制:101111110101000111101111111101010111001000111111001011000101011110000100 6.4 3 小写字母模式 6.4.3.1编码字符 可编码字符27个,包括26个小写英文字母a~z以及“空格”(GB/T1988中值32). 10o
GB/T27767一2011 6.4.3.2编码规则 小写字母模式采用5位二进制进行编码,按顺序从a到么最后“空格”递增编码,字母“a”的编码为 000o0)a 剩下的5个编码值(1101)m至(11111)用于实现模式的转换,见6.5.1. 示例 输人数据 “空格” 17 编码十进制值: 26 14 转换为二进制:000010000010001 110100001001l100001100100 大写字母模式 6.4.4.1编码字符 可编码字符27个,包括26个大写英文字母A一Z以及“空格”(GB/T1988中值32) 6.4.4.2编码规则 大写字母模式采用5位二进制进行编码,按顺序从A到Z最后“空格”递增编码,字母“A”的编码为 00000) )wN 剩下的5个编码值(11011)mN至(lllll)、用于实现模式的转换,见6.5.1 示例: 输人数据 O R “空格” E 编码十进制值 17 26 14 转换为二进制 0000100000l000 00100 11o1o 0001001ll000011 6.4.5数字字母混合模式 6.4.5.1编码字符 可编码字符63个,包括 a)数字0至9(GB/T1988中值48一57); b 大写英文字母A一Z(GB/T1988中值6590); e)小写英文字母az(GB/T1988中值97122); d)“空格”GB/T1988中值32) 6.4.5.2编码规则 数字字母混合模式采用6位二进制进行编码,按顺序从数字、大写英文字母、小写英文字母最后“空 格”递增编码,数字0的编码为(000000)m 剩下的1个编码值(1llll1)m用于实现模式的转换, BIN 见6.5.1 示例: 输人数据 A b “空格” 1G 37 编码十进制值: 62 转换为二进制:000000001o10100101111110 6.4.6控制字符模式 6.4.6.1 编码字符 可编码字符64个,包括除以下字符外的GB/T1988字符 “空格”(GB/T1988中值32) a 11
GB/T27767一2011 b 数字字符(GB/T1988中值48至57); 大写英文字母(GB/T1988中值65至90); c 小写英文字母(GB/T1988中值97至122); d e)DEL(GB/T1988中值127) 6.4.6.2编码规则 控制字符模式采用6位二进制进行编码,按字符的GB/!1988中的值由小至大顺序编码,第一个 字符编码为(000000)N 该模式的数据长度固定为1,编码后自动切换回之前的数据模式 输人数据 的第一个字符不能分类为该模式 控制字符编码见表4 表4控制字符编码表 字符 编码 字符 编码 字符 编码 字符 编码 NUL DLE 16 32 48 17 33 sOH DCl 18 34 STX DC2 50 Dc3 ETXx 19 35 51 % 36 52 EOT DC4 20 a 37 ENQ NAK 21 53 38 54 ACK SYN 22 BEL ETB 23 55 39 S BS CAN 24 40 4 57 HT BM 25 LF sUB 10 58 42 26 1 43 5d VT EsC 27 12 44 FF FS 28 13 45 61 CR GS 29 46 S(O Rs 14 30 62 sI 15 47 US 31 63 6.4.7 字节模式 字节模式采用8位二进制数编码0到255的字节数据 设输人数据的长度为L个字节,则先输出14位二进制无符号数L一1,用于记录字节数,随后直接 输出字节数据本身 当输人数据的长度大于16384字节时,将输人数据分割成多个数据段,每段长度不超过16384字 节,对每段数据分别编码 从第二段开始的每段数据都需要以模式转换码(o111)和用14位二进制 无符号数编码的该段数据长度开始 12
GB/T27767一2011 6.4.8ECI模式 6.4.8.1EC1编码 将输人的数据转换为一个位流 以缺省的ECI开始时,位流的开头为第一个数据类型的模式指示 符,否则,其前面要有ECI标头,后面为一个或多个不同模式的段 EECI标头由ECI模式指示符 1100)和ECI任务号组成 ECI的任务号为000000811799(十进制)之间的6位数 EC任务号 的编码见表5 表5ECI任务号的编码 EcI任务号 任务号编码 obbbbbbbbbb 000000 001023 001024 032767 1obbbbbbbbbbbbbbb 032768811799 1lbbbbbbbbbbbbbbbbbbbb 注;bb是CI任务号的二进制值 ECI模式指示符只能在数据的开头或“模式结束”转换码(见6.5.1)之后出现 输人的ECI数据需 要编码系统作为一系列8位字节的值进行处理,可以采用汉字、数字、小写字母、大写字母、数字字母混 合、控制字符、字节等一种或几种模式进行最高效的编码,而不必考虑其实际意义 例如,值为30HE到 39s的数据序列可以当作一个数字序列,用数字模式进行编码,即使实际上它并不表示数字数据 示例: BcI编码表示 EcI任务号,t00123 待编码数据的字节值;(31)ss,(32)E,(33)Es,(34)Ex,(35)s,(36)ss,(37)E,(38)E,(39)E 编码位流 EECI模式指示符:l100; a EcI任务号;l1o100o1101o1111o11: b 数据模式指示符(数字) );00l0; 数据编码:00000111101101110010001100010101: d 最终的位流;l1001101100001101011111011001000000111101101110010001100010101 6.4.8.2ECI与结构链接 ECI可以在单个CM码或CM码结构链接符号的任意位置出现 引人的任一ECI一直保持有效 直至数据结束或一个新的EC被引人,ECI将跨结构链接中的两个或多个CM码一直保持有效 6.4 功能码模式 g .g.1FNC1 o 4 FNC1模式指示符应在CM码的开头编码 结构链接模式同时被应用时,FNC1的模式指示符只 在结构链接的第一个符号出现.并且FNC1的模式指示符在FNC2的模式指示符之前 FNC1模式指示符(1000)用于标识按GS1系统规则格式化信息的符号 FNCI模式指示符(1011)用于标识按AIM同意的特定行业或者特定应用规范格式化信息的符 号 在第一数据字符位置的字符(az,AZ,或两位数字)用于指定特定的应用 13
GB/T27767一2011 6.4.9.2FC2 FNC2功能码用于实现结构链接功能,输人的数据可用最多16个CM码链接起来 每个结构链结 中的符号都是由一个4字段(20位)链接控制头开始的: a)第一字段是4位的FNC2模式指示符(1001)m b 第二字段是8位的文件签名 第三字段用4位数n表示链接中的MI码总个数为n十1 c d)第四字段用4位数m表示当前CcM码在结构链接中的序号 朋应小于或等于n,否则该CM码是无效的 文件签名是用某种签名算法对输人的整体数据产生的签名,同一个结构链接中的所有符号的文件 签名应相同,防止不同结构链接之间的符号互相串扰 FNc2应是符号中的最后一个功能码,FN2链接控制头之后应是数据模式指示符或ECI模式指 示符 在传输结构链接的符号数据之前,结构链接中的所有符号应全部被解码成功并且将数据还原为正 确的顺序 6.4.9.3FC3 FNC3功能码用于实现将符号编码的内容用作识读设备的初始化参数 FNC3的模式指示符 1010)应出现在数据编码位流之前 当FNC3和FNC2同时被应用时,FNC3的模式指示符应在 一个符号出现 FNc3不能与FNcI同时使用 FNC2的模式指示符之前,且只在结构链接的第- 6.5混合模式编码 6.5.1编码模式转换 数据编码时的模式转换是通过输出模式转换码来实现的,不是任何两个模式都可以转换的 表6 列出了全部的模式转换码,括号中是模式转换码的二进制位数 表6数据模式转换码 -编码模式 当前编码模式 控制字符 数字字母 模式结束 汉字 数字 小写字母 大写字母 字节 混合 切换 8160 8161 8162 8163 8164 8165 汉字 (13位 13位) 13位 13位 13位 13位 1018 1020 1021 1022 1023 l019 数字 10位) 10位 10位y 10位 10位) 10位) 125 126 27 28 29 30 124 小写字母 (5位) (5位) (5位) 5位) (7位)y (7位)y 位)y 7 27 28 29 30 124 125 126 大写字母 (5位 5位 5位 5位 (7位)" 7位 7位) 008 1010 011 1012 1014 015 1009 数字字母混合 10位) 10位 10位 10位 10位 (10位) 10位) 字节 (4位y 4位 4位 4位 4位 4位 4位y ”号表示不允许的模式转换 注: 小写字母、大写字母模式到数字字母混合、控制字符、字节模式的7位转换码是5位的“11l11”分别加上2位的 “00”,"o1”,“10” 八心
GB/T27767一2011 6.5.2数据编码总流程 数据编码流程如下 以编码产生的二进制位流最短为目标,将输人数据按类型划分成段 对输人数据的分段进行 a 优化的方法参见附录B. 对所有数据段按照下面的步骤逐段编码 1 存在功能码时,按表1进行编码 当前数据段是第一段时,输出该段数据的模式指示符,见表1 2 按照当前数据模式的编码规则编码当前数据段; 3 -段数据编码前,首先输出当前模式到下一模式的模式转换码,见表6; 需要编码ECI时,首先输出模式转换码“模式结束”,见表6,然后编码CI模式指示符 5 1100)m及ECI任务号(见表5),之后是下一数据段的模式指示符,见表1; 最后一个数据段完成后,输出模式转换码“模式结束”,见表6 需要填充位时,最后一个码字填充“o” 需要填充码字时,第一个填充码字应当取(000000000) 6 6. 纠错编码 6.6.1纠错能力 CM码采用伽罗瓦有限域GF(2')的Reedsolomon纠错算法生成纠错码字,有限域的本原多项式 为.r"十r'十1,码字的位长为9位 纠错码字应添加在数据码字流后 CM码有8个用户可选纠错等 级,对应的纠错码字容量见表7 表7纠错码字容量 纠错等级 16% 24% 32% 40% 48% 56% 64% 纠错码字占总码字百分比(向下舍人 8% 最佳纠错等级的选择需要依据符号质量,识读设备精度以及应用的物理环境相关,在数据密度与可 靠性之间做出权衡 附录C.2给出了纠错等级选择的用户导则 纠错码字可以纠正两种类型的错误,拒读错误(错误码字的位置已知)和替代错误(错误码字的位置 未知) 可纠正的替代错误数和拒读错误数与纠错码字数和错误检测码字数之间的关系由式(4)给出 e十2!=d一力 式中 拒读错误数 替代错误数; 纠错码字数 错误检测码字数 当大部分纠错容量用于纠正拒读错误时,则检不出替代错误的概率增加;当 一般情况下." 在 =0 拒读错误的总数大于纠错码字总数的一半时,/=a;当cM码的纠码字总数小于6时,只允许纠正替 b=1 代错误(e" 0! 6.6.2码字的分块与纠错码字的分配 运用ReedSolomon纠错算法生成纠错码字时码字序列的长度受到所选用有限域的限制,CM码采 15
GB/T27767一2011 用的是GF(2)有限域,码字序列的长度应小于512 当数据码字的个数加上纠错码字的个数大于511 时需要将数据码字分割成多个纠错块,然后分别对每个纠错块运用纠错算法生成各自的纠错码字 设CM码的总码字容量为C 将C个码字分成B个长度为N的块,以及B个长度为N的块 满足式(5) 5 C=B×N十B×N 总分块数B见式(6) B=C十510)DIV511 当C是B的整数倍时,码字分块参数为;B=B,N=CDIVB,B=0,N,=0. 当c不是B的整数倍时,码字分块参数为:N=(cDIvB)十1,N=N一1,B=c一B×N B=B一B 设选定的纠错等级为R(1GB/T27767一2011 输出 说明 GF(2')乘法; GF(2")加法 图5纠错编码电路 6.7生成最终码字流 6.7.1生成数据码字 编码输人数据生成二进制的位流 将二进制位流分成9位一组即生成数据码字流,位流分组中的 第一个位对应于码字的最高位 最后一个码字不足9位时,低位以“o”填充,这样处理后的结果就是数 据码字流 6.7.2符号的码字容量 设指定的编码参数为;版本V,s个数据段,R级纠错,编码得到的数据码字个数为C 码字总容量 C见式(10). 10 C=[(5V一1×11一7]×S 其中纠错码字的容量C 见式(1l) 11 C =INT(R×C×0.08 数据码字的容量C见式(12). C=C一 12 如果C,c则需要加大版本或/和数据段个数或者降低纠错等 -般情况下c不等于C,需要根据实际应用选择V.s以及R的取值 级 6.7.3数据码字和纠错码字的排列 将数据码字和纠错码字填充到符号中之前,数据码字和纠错码字需要按照- 一定的规则排列成码字 流,有两种排列方式,即块顺序排列和块间码字交错排列 块顺序排列方式如下:第1块数据码字,第1块数据码字的纠错码字,第2块数据码字,第2块数据 码字的纠错码字,,最后一块数据码字,最后一块数据码字的纠错码字 块间码字交错排列方式如下: 从码字流的第一个块的第一个码字开始提取,然后是第二块的第一个码字,直到最后一个块的 a 17
GB/T27767一2011 -个码字; 第 b)继续提取第一个块的第二个码字,然后是第二块的第二个码字,直到最后一个块的第二个 码字; 继续提取直到码字流中所有码字被提取完 码字在符号中的排列 6.8.1码字的图形表示 设b 至b 依次为一个码字的最高位至最低位,每个码字在符号中的图形表示为3×3个模块按从 下至上,从左至右的方式排列,先排列最高位,最后排列最低位,见图6 图6码字的图形表示 6.8.2码字在数据段中的排列 码字在数据段中按照从下至上,从左至右的顺序排列,从左至右依次填充每个数据段,每个数据段 的前7个码字空间留给格式信息 图7是版本2的CM码数据段的码字排列顺序示意图,码字空间 A一G由格式信息填充,码字空间0一91由数据码字和纠错码字填充 10 19 28 37 46 55 64 73 82 91 18 2r 36 54 72 81 90 7 35 53 71 89 26 62 80 44 16 25 34 43 52 61 70 79 88 15 24 33 42 51 69 78 87 50 559 14 23 32 1 68 77 86 13 22 31 40 49 58 67 76 85 12 21 30 39 48 57 66 75 84 11 29 47 小 65 74 83 20 38 图7版本为2的CM码的一个数据段的码字排列顺序 18
GB/T27767一2011 6.9格式信息 6.9.1 信息的组成 CM码的每个数据段都有长度为16位的独立的格式信息(见表8) 数据段编号;b;b1,共5位 每个数据段都有一个编号,第一个数据段编号为“00000",第二 个数据段的编号为“o00001”,编号依次递增 一,共5位 编码为实际数据段数减1的二进制编码,cM码最多可以有 b 数据段总数:b b1o" 32个数据段,所以编码范围是“o0000”至“11111” 纠错等级bb,共3位 CM码的纠错等级为18,对应的编码为纠错等级数减1的二进 制编码,即“000”~“ll1” 掩模类型;b,b,两位 CM码有四种掩模方式,即掩模1,掩模2,掩模3和掩模4,对应二进制 编码为“00”~“11”,见6.10.2 码字交错标志;b,共1位 码字按交错方式排列b=1,否则b,=0,见6.7.3 表8格式信息功能表 信息位 ba bb3bb1 bo b b b b b b b 功能 数据段编号 数据段总数 纠错等级 掩模类型码字交错标志 每个数据段的数据段编号不同,其余4类格式信息相同 6.9.2格式信息的纠错编码 格式信息的正确性对译码的成功起决定性作用因此CM码的每个数据段的格式信息都要求使用 16位格式信息(表s的排列顺序)从左至右被分成4个码字,每个码字4位,运用生成冗为 纠错编码 10011的GF(2')域的ReedSolomon纠错算法生成11个纠错码字,生成多项式G(r)见式(13). G(.r)=10十5.r十3.r十10.r十13.r十3.r十15.r十3.r了十6.r”十8.r十12.rl0十.rl(13 将生成多项式系数代人图5的电路中,并将GF(2')加法替换成GF(2')加法,GF(2")乘法替换成 GF(2')乘法即可用该编码电路生成所需纠错码字 6.g.3格式信息在符号中的排列 个 4个格式信息码字加上11个格式信息纠错码字共60位,每个数据段的前7个码字空间(共63 模块)用来表示格式信息,为了保证数据码字和其纠错码字排列整齐,剩余三个模块不表示任何信息,固 定为浅色模块 将4个格式信息码字顺序编码号为A,B,C和D,l1个格式信息纠错码字顺序编号为 E、,F,G,H、I、J,K、L,MN和0,然后给每个编号分别加上下标0、l、2和3,分别表示每个码字的最低 位至最高位 图8表示了格式信息码字及其纠错码字在符号中的排列方式 为了保证格式信息区域深 浅模块的数目大致相等并均匀分布,需要对格式信息掩模.,即用值为155m的吗字对每个数据段的前?" 个码字进行异或操作,译码时重复该操作可去掩模 19
GB/T27767一2011 M M 0. E, O. E E E Os D. g D2 J N N MM D0 M H2He H b 版本2以上的格式信息排列 版本1的格式信息排列 图8格式信息的排列 6.10掩模 6.10.1掩模规则 CM码按以下规则进行掩模操作 a)掩模仅作用于数据编码区域,不作用于格式信息区域; b)用多个掩模类型分别对数据编码区域的图形进行异或操作,采用不同掩模类型时,格式信息 区域应按6.9的规则进行更新; 对每种掩模结果,统计结果图形中不合要求的部分并计分; d 选择得分最低的图形作为结果图形 6.10.2掩模类型 CM码有4种掩模类型,每种掩模类型由一对码字的图形元素在平面空间内交替排列而成,表9列 出了掩模类型 2o0
GB/T27767一2011 表9掩模类型 类型编码 码字对 图形元素 00 0AAEx,155Ex oBAms,llsim" 10 193uEx,l29uE 055s,0ABR 由图形元素排列掩模图形的方法为:从下至上、从左至右依次交替排列两个图形元素,使得两个图 形元素在水平方向与竖直方向都是交替出现,图9是用于版本1的第1种掩模图形 图9版本1的第1种掩模图形 6.10.3掩模结果的评价 在依次用每种掩模类型进行掩模操作之后,对编码区域(包括格式信息区域)中每次出现表10中的 情况进行计分,分数越高其结果越不可用 在表10中,w到w为非期望的图形特征的计分权重 w=10000,w=3,w=100) 21
GB/27767一2011 表10掩模结果计分规则 值 数据段图形特征 计分条件 所有数据段中共有i个全部由深色模 w×i 全部由深色模块组成的列 块组成的列 同种颜色的模块组成的块 块尺寸一m×n(m>1,n>1) W ×m一2)×Xn一2 深色模块的比例 深色模块占总模块的百分比为% WXAEBS(50一 根据表10的计分规则给每种掩模后的CM码打分,分值最低的CM码被选为最终的结果 6.11符号生成示例 附录E给出了一个完整的符号生成示例 符号印制 尺寸 CM码尺寸的确定: x尺寸:模块宽度根据应用要求、采用的扫描技术以及符号生成技术来确定 Y尺寸;模块高度一般与模块宽度相等,实际应用时可根据采用的扫描技术以及符号生成技术来确 定,可以大于模块宽度,也可以小于模块宽度 最小空白区;在符号周围的空白区宽度最小为6个模块宽度 7.2供人识读字符 CM码被设计成用于存储大容量的数据文件,因此供人识读的数据字符包含CM码所表示的所有 数据信息是不切实际的 可用描述性的文本而不是全部数据原文与MI码同时印制在一起 字符尺寸与字体不作具体规定,可印制在CM码周围的任意区域,但不能影响CM码本身及其空 白区,建议印制在CM码的上面或下面 7.3符号制作 可用多种不同的技术制作CM码符号,参见附录C 符号质量 8.1符号质量评价 CM码采用GB/T23704中规定的矩阵式二维码印制质量测试导则进行质量评级 CM码质量参数包括;标准译码、符号反差、调制度、轴向不一致性、网格不一致性、未使用纠错、格 式信息污损和功能图形污损 格式信息污损和功能图形污损的评价见附录F 标准译码、符号反差,调制度、轴向不一致性、网格不一致性,未使用纠错各参数等级及评价方法见 GB/T23704 其中网格不一致性的评价应将参考译码算法建立的取样网格延拓到包含开始图形、结束 图形、数据段分隔图形、定位孔图形等部分的整个符号之后进行计算(参考译码算法参见附录G) 22
GB/T27767一2011 8.2符号等级 -次扫描获得的符号反差、调制度、标准译码、轴向不一致性、网格不一致性,未使用纠错格式信息 污损、功能图形污损各参数等级的最低值为单次扫描等级 符号等级为5次扫描获得的单次扫描等级的算术平均值 CM码被设计用于接触式扫描解码,扫 描时应使扫描线平行于数据段分隔图形,从CM码的一侧开始图形或结束图形)往另一侧进行扫描 如果两次扫描译码获得的数据不同,那么不论单次扫描的等级如何,符号等级应为0 符号等级质量高 低以4.00.0的数字形式表示,小数点后应保留一位 译码过程 概述 CM码的译码过程如下: 图像预处理;将图像二值化为一系列深色与浅色像素组成的二值图像, a b)探测开始图形与结束图形;在二值图像中寻找开始图形与结束图形,并确定符号的版本 探测定位孔图形;在开始图形与结束图形之间探测定位孔图形; c) 探测数据段分隔图形;在开始图形与结束图形之间探测数据段分隔图形; d 格式信息译码;根据探测到的定位孔图形和数据段分隔图形,对每个数据段的格式信息分别进 行译码并校验; 数据段分隔图形校验;根据格式信息译码得到的数据段总数对已探测到的数据段分隔图形进 行剔除或/和插值操作; 定位孔图形校验;根据数据段分隔图形对定位孔进行剔除或/和插值操作,使得每个数据段上 两侧各17个定位孔; 下 h)数据采样;根据定位孔图形建立采样网格,对CM码进行取样; 去除掩模:用掩模图形(掩模类型从格式信息中得出)对数据编码区域的模块进行异或处理,去 除掩模 还原符号码字并纠错;根据码字排布规则,恢复数据码字序列并进行纠错译码处理 k)数据位流译码;对数据位流进行译码,恢复原始信息 9.2参考译码算法 CM码的参考译码算法参见附录G 23
GB/T27767一2011 附 录A 规范性附录 码字分块参数c语言源代码 6.6.2定义的码字分块参数的C语言源代码如下 功能;为指定版本和纠错等级的符号计算码字分块参数 输人:符号的版本和纠错等级 输出;分块结果 码字个数为B1的块有块,码字个数为B2的块有N2块 前B3块每块纠错码字B1个,后B4块每块纠错码字E2个 井defineN511 intB1,N1,B2,N2; ntB3,E1,B4,E4; voidrs_block(intv,/*符号的版本,1一32* nts,/*符号的数据段数,1-32* 纠错等级 intR/关 18 intc;/*符号的总码字数* ntE;/关纠错码字数 头 intB;/关总分块数 (5关V 1关11 7)关S; B C十N 1/N if0 C鸟B) B1 B; N1=C/B; B2 0; N2 0; else m C 日 1; N2 N1 1; C N2 B B B2= B1 =int)C关0.08关R); f0==E名B) B3=B; E1=E/B; 24
GB/T27767?2011 B4 0; E2= 0 else E1 E/B 1; E2 E1 1; E B B3 2; B4 B B3; return; 25
GB/T27767一2011 附 录B 资料性附录 位流长度的优化 B.1CM码编码数据类型的分析 B.1.1按数据类型分段 CM码总共有6种基本的数据类型:汉字、数字,小写字母、大写字母、控制字符、字节 首先将需要编码的数据按这6种基本的数据类型进行分段 将输人数据看作字节流,按以下步骤, 给每个字节赋予一个类型,连续的相同的数据类型被归为一个数据段 a)遍历字节流,若任意两个连续的字节可以组成一个GB18030双字节1区及双字节2区的字 符,则将这两个字节归为汉字类型 对一个或多个连续的“回车换行”字符,如果它们前面的两 字节或后面的两字节为汉字类型,则将它们归为汉字类型,否则它们的类型是未定的 若数字 对(“o0”到“99”)的前两个字节及后两个字节均为汉字类型,则将该数字对归为汉字类型 从“a”到“z”的所有字节归为小写字母类型 b 从“A”到“Z”的所有字节归为大写字母类型 个或多个连续的空格,它们的类型根据这些空格前面的数据类型或后面的数据类型确定 对 若这些空格前面的数据类型是小写字母类型或大写字母类型,则将这些空格归为其前面 的数据类型,否则转2); 若这些空格后面的数据类型是小写字母类型或大写字母类型,则将这些空格归为其后面 的数据类型,否则转3); 这些空格的类型是未定的 从“0”到“9”的所有字节归为数字类型 满足6.4.2规定的可以归人数字类型的“空格”、“” “回车换行”也同时归为数字类型 剩下的所有未归类的字节被归为字节类型 但如果某一段字节类型满足以下所有条件,则该 段数据被归为控制字符类型: 该段数据不是第一个数据段; 1D 2) 该段数据内的所有字符都是控制字符(见表4); 该段数据的长度不超过3字节 3) 该段数据的前一数据段不是汉字类型 B.1.2数据类型调整 根据一个数据段及其邻近数据段编码的位流长度,对一个数据段的类型进行调整 调整的规则为 根据连续的3(或4)个数据段,对所有可能的调整方案计算编码位流的长度,取其中位流最短的方案 调整从第一个数据段开始直至最后一个数据段结束 对第一个数据段,考虑它和其后的两个数据段,对所有可能的调整方案计算编码位流的长度 a 根据位流最短的方案确定第一个数据段的编码类型 b)从第二个数据段开始,考虑4个数据段(前一数据段,当前数据段,其后的两个数据段),前一数 据段的编码类型固定,对当前数据段和其后的两个数据段,计算所有可能的调整方案的编码位 流长度,根据位流最短的方案确定当前数据段的编码类型 直至最后的三个数据段 26

了解二维条码紧密矩阵码GB/T27767-2011

什么是二维条码?

二维条码是一种可以在有限空间内存储大量信息的编码方式。与普通一维条码相比,它在横向和纵向上都有数据描述,因此可以存储更多的信息。二维条码广泛应用于物流、生产、零售、医疗等领域。

紧密矩阵码的特点

紧密矩阵码是一种常见的二维码格式。它具有以下特点:

  • 存储容量大:紧密矩阵码通过增加码点数量来提高存储容量,可以存储更多的信息。
  • 纠错能力强:紧密矩阵码采用了RS纠错编码技术,可以在一定程度上修复受损数据。
  • 应用广泛:紧密矩阵码适用于电子票据、电子标签、移动支付等多种场景。

GB/T27767-2011标准介绍

GB/T27767-2011是我国二维码标准化的重要文件之一,也是紧密矩阵码的标准。该标准明确了二维码的数据结构、编码方式、容错能力等方面的规范,为各行业的应用提供了技术支持。

紧密矩阵码的应用

由于紧密矩阵码具有存储容量大、纠错能力强、应用广泛等特点,它在电子票据、电子标签、移动支付等多种场景得到广泛应用。

  • 电子票据:紧密矩阵码可以用于电子发票、电子行程单等电子票据的生成和识别。
  • 电子标签:紧密矩阵码可以用于物流管理中的货物跟踪、仓库管理等。
  • 移动支付:紧密矩阵码可以用于移动支付中的二维码支付、刷脸支付等。

总结

紧密矩阵码作为一种常见的二维码格式,具有较高的存储容量和纠错能力,符合我国标准GB/T27767-2011。它在电子票据、电子标签、移动支付等多种场景得到广泛应用,助力各行业实现数字化转型。

和二维条码紧密矩阵码类似的标准

二维条码网格矩阵码
上一篇 本文分享国家标准二维条码网格矩阵码的全文阅读和高清PDF的下载,二维条码网格矩阵码的编号:GB/T27766-2011。二维条码网格矩阵码共有64页,发布于2012-05-01
计算机场地安全要求
本文分享国家标准计算机场地安全要求的全文阅读和高清PDF的下载,计算机场地安全要求的编号:GB/T9361-2011。计算机场地安全要求共有8页,发布于2012-05-01 下一篇
相关推荐