GB/T 27766-2011 二维条码 网格矩阵码
- 名 称:GB/T 27766-2011 二维条码 网格矩阵码 - 下载地址1
- 下载地址:[下载地址1]
- 提 取 码:
- 浏览次数:3
发表评论
加入收藏夹
错误报告
目录| 新闻评论(共有 0 条评论) |
资料介绍
ICS 35. 040 L 71
中 华 人 民 共 和 国 国 家 标 准
GB/T 27766—2011
二维条码 网格矩阵码
Two-dimensionalbarcode—Grid matrix code
2011-12-30发布 2012-05-01实施
中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会
发
布
GB/T 27766—2011
目 次
前言 Ⅰ
引言 Ⅱ
1 范围 1
2 规范性引用文件 1
3 术语 、定义 、缩略语和约定 1
4 符号描述 2
5 符号结构 4
6 符号生成 6
7 符号印制 21
8 符号质量 22
9 译码过程 23
10 数据传输 24
附录 A (规范性附录) 码字分块参数 C语言源代码 26
附录 B (资料性附录) 位流长度的优化 30
附录 C (资料性附录) GM码印制的用户导则 40
附录 D (规范性附录) 纠错生成多项式 43
附录 E (资料性附录) 参考译码算法 50
参考文献 59
GB/T 27766—2011
前 言
本标准按照 GB/T 1. 1—2009给出的规则起草 。
本标准由中华人民共和国工业和信息化部提出 。
本标准由全国物品编码标准化技术委员会(SAC/TC287)归 口 。
本标准起草单位 :武汉矽感科技有限公司 、中国电子技术标准化研究所 。
本标准主要起草人 :张伟 、张也平 、刘波 、张得煜 、樊旭川 。
Ⅰ
GB/T 27766—2011
引 言
本文件的发布机构提请注意 ,声明符合本文件时 ,可能涉及第 5 章 、第 6章 、第 9章 、第 10章相关的专利的使用 。
本文件的发布机构对于该专利的真实性 、有效性和范围无任何立场 。
该专利持有人已向本文件的发布机构保证 ,他愿意同任何申请人在合理且无歧视的条款和条件下 ,就专利授权许可进行谈判 。该专利持有人的声明已在本文件的发布机构备案 。相关信息可通过以下联系方式获得 :
专利所有人 : 武汉矽感科技有限公司
地址 : 武汉市东西湖区吴家山经济开发区金一路 武汉矽感光电产业园
邮政编码 : 430040
网址: http://www. syscantech. cn
联系人 : 何柳青
联系电话 : 027-61675589
传真 : 027-61675592
E-mail: helq@syscangroup. com
请注意除上述专利外 ,本文件的某些内容仍可能涉及专利 。本文件的发布机构不承担识别这些专利的责任 。
Ⅱ
GB/T 27766—2011
二维条码 网格矩阵码
1 范围
本标准规定了网格矩阵码的符号结构 、信息编译码方法 、纠错编译码方法 、信息排布方法 、参考译码算法以及符号质量要求等技术内容 。
本标准适用于网格矩阵码的生成与识读 。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的 。凡是注 日期的引用文件 ,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件 ,其最新版本(包括所有的修改单)适用于本文件 。
GB/T 1988 信息技术 信息交换用七位编码字符集
GB/T 12905 条码术语
GB 18030 信息技术 中文编码字符集
GB/T 23704 信息技术 自动识别与数据采集技术 二维条码符号印制质量的检验
ISO/IEC 15424 信息技术 自动识别与数据采集技术 数据载体标识符
AIM 国际技术规范 扩展解释 :第 1部分 :识别方案与协议(简称“AIM ECI规范 ”)
3 术语、定义、缩略语和约定
3. 1 术语和定义
GB/T 12905 中界定的以及下列术语和定义适用于本文件 。
3. 1. 1
纠错块 errorcorrection codeword block
对码字分组后用于纠错的一组码字 。
3. 1. 2
边框 frame
宏模块的最外 20个单元模块 ,这些单元模块同为深色(低反射率)或同为浅色(高反射率) 。 3. 1. 3
层 layer
环绕中心宏模块的宏模块圈 。
3. 1. 4
层标识号 layerID number
赋予宏模块左上角的两个单元模块的值 ,该值根据纠错等级以及宏模块所在的层号确定 ,可用于指明 GM码的方向 。
3. 1. 5
宏模块 macromodule
GM码的子结构 , 由 6× 6个单元模块组成 。
1
GB/T 27766—2011
3. 1. 6
单元模块 module
组成 GM码的基本单元 ,每个单元模块表示一个二进制位 。
3. 1. 7
填充位 paddingbit
用于填充数据位流最后一个码字后面容量的无含义位 ,其值为 0。
3. 1. 8
填充码字 padding codeword
当数据码字和纠错码字不能填满 GM码的容量时 ,用于填充 GM码的剩余容量的码字 。填充码字不表示有效数据 ,但参与 Reed-Solomon纠错运算 。
3. 1. 9
版本 version
用于表示 GM码规格的序列号 。
3. 1. 10
功能码 function code
用于指示属于特定应用或特定功能的 GM码符号的代码 。
3. 1. 11
纠错等级 errorcorrection level
指明 GM码中纠错码字所占比例的参数 。
3. 2 缩略语
下列缩略语适用于本文件 :
ABS— 绝对值(Absolute Value)
DIV— 整除运算(Division)
ECI— 扩展解释(Extended ChannelInterpretation)
FNC— 功能码(Function Code)
GF— 伽罗瓦有限域(Galois Field)
GM码— 网格矩阵码(GridMatrix Code)
MOD— 模运算 ,求整除后的余数(Modulus)
3. 3 约定
下列表示适用于本文件 :
(…) BIN — 表示括号中的内容使用二进制表示
(…) HEX — 表示括号中的内容使用十六进制表示
x — 表示不超过 x 的最大整数
Γ x — 表示不小于 x 的最小整数
4 符号描述
4. 1 基本特征
4. 1. 1 可编码信息
GM码可编码以下信息 :
2
GB/T 27766—2011
a) 数字字符(数字 0~ 9,GB/T 1988中值 48至 57) ;
b) 大写字母(字母 A~Z,GB/T 1988中值 65至 90) ;
c) 小写字母(字母 a~z,GB/T 1988中值 97至 122) ;
d) 汉字字符(GB 18030) ;
e) 8位字节型数据 。
4. 1. 2 数据表示法
深色单元模块表示二进制“1”,浅色单元模块表示二进制“0”。
4. 1. 3 符号规格
GM码的规格为 3× 3 宏模块到 27× 27宏模块 ,对应于版本 1 到版本 13,每一版本 GM 码比前 一版本每边增加 2个宏模块 ,见表 1。
表 1 各版本 GM 码的结构
版本
宏模块数
单元模块数
(不包括空白区)
层数
(不包括中心宏模块)
总码字数
(数据 +纠错码字)
1
3× 3
18× 18
1
18
2
5× 5
30× 30
2
50
3
7× 7
42× 42
3
98
4
9× 9
54×54
4
162
5
11× 11
66× 66
5
242
6
13× 13
78× 78
6
338
7
15× 15
90× 90
7
450
8
17× 17
102× 102
8
578
9
19× 19
114×114
9
722
10
21× 21
126× 126
10
882
11
23× 23
138× 138
11
1058
12
25× 25
150× 150
12
1250
13
27× 27
162× 162
13
1458
4. 1. 4 符号容量
使用最低纠错等级的最大版本 GM码(纠错 1 级版本 13)的容量如下 :
a) 2 751个数字 ;
b) 1 836个大写字母 ;
c) 1 836个小写字母 ;
d) 1 529个数字字母混合字符 ;
e) 705个 GB 18030双字节 1 区或双字节 2 区内的字符 ,或 571个 GB 18030双字节字符 ,或 285个 GB 18030 四字节字符 ;
f) 1 143个字节 。
3
GB/T 27766—2011
4. 1. 5 纠错等级
版本 1 的 GM码有 2 级到 5 级纠错 ,版本 2 到版本 13的 GM码有 1 级到 5 级纠错 ,每级中纠错码字数占总码字数的比例为 :
a) 1 级 :10%(不适用于版本 1) ;
b) 2 级 :20% ;
c) 3 级 :30% ;
d) 4级 :40% ;
e) 5 级 :50% 。
纠错码字的个数为总码字个数的上述百分比(向下舍入) ,见附录 A。
4. 2 附加特征
4. 2. 1 结构链接
允许用不多于 16个的 GM码在逻辑上连续地表示数据文件 。在多顺序扫描状态下应保持原始顺序与数据正确连接 。
4. 2. 2 支持 ECI协议
ECI协议(见“AIM ECI规范 ”)使 GM码可以表示缺省字符集以外的字符(如阿拉伯字符 、古斯拉夫字符 、希腊字符等) ,及其他数据解释(如用一定的压缩方式表示的数据) ,或者具体应用的编码要求 。
5 符号结构
5. 1 概述
GM码由深色边宏模块和浅色边宏模块交错排列而成的正方形宏模块矩阵组成 ,矩阵每边为奇数个宏模块 ,且 GM码的中心与四个角上均为深色边宏模块 ,GM码的四周为空白区 ,见图 1。
图 1 GM 码结构图
版本 2 纠错 5 级的 GM码示意图见图 2。
4
GB/T 27766—2011
图 2 版本 2 纠错 5 级的 GM 码示意图
5. 2 宏模块结构
宏模块的内部结构见图 3,包括边框 、两个 7位的码字和层标识号 。
每个宏模块由 6× 6个单元模块无缝排列而成 ,深色边宏模块的最外一圈单元模块全部是深色 ,浅色边宏模块的最外一 圈 单 元 模 块 全 部 是 浅 色 。宏 模 块 的 最 外 一 圈 单 元 模 块 不 表 示 数 据 , 用 于 识 别 与定位 。
在 20个边框单元模块内部总共有 16个单元模块 : b0 , b1 , … , b15 。 每个单元模块表示 1 位二进制数 ,深色对应“1”,浅色对应“0”。b15和 b14单元模块用来表示层标识号 ,b15为高位 。 b6 到 b0 表示第 1 个码字 ,b13到 b7 表示第 2个码字 ,b13和 b6 分别是码字的最高位 。
a) 深色边宏模块 b) 浅色边宏模块
图 3 宏模块结构
图 3 中两个宏模块 的 数 据 均 为(2D) HEX 和 (4A) HEX 。 图 中 第 1 个 码 字 b6 …b0 为 (0101101) BIN , 即
(2D) HEX ;第 2个码字 b13 …b7 为(1001010) BIN , 即(4A) HEX 。层标识号 b15b14为(10) BIN , 即(2) HEX 。
5. 3 宏模块的分层
GM码由边长为奇数个宏模块的方阵组成 。见图 4,方阵中心的宏模块称为中心宏模块 , 中心宏模块(第 0 层) 周围 的 8 个 宏 模 块 为 第 1 层 宏 模 块 , 第 1 层 宏 模 块 外 侧 的 16个 宏 模 块 为 第 2 层 宏 模块 , … … ,直至最外层宏模块 。
图 4 宏模块的分层
宏模块的层数(不包括中心宏模块)等于 GM码的版本(见表 1) 。
5
GB/T 27766—2011
5. 4 层标识号
每个宏模块都有一个层标识号 ,层标识号的取值为 0~ 3。 同一层宏模块的层标识号相同 。宏模块的层标识号由 GM码的纠错等级和该宏模块所在的层号共同决定 。 表 2 是不同纠错等级的 GM 码各层宏模块的层标识号 。
表 2 层标识号分布
纠错等级
从中心到第 13层
中心
1
2
3
4
5
6
7
8
9
10
11
12
13
5
0
1
2
3
0
1
2
3
0
1
2
3
0
1
4
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
2
3
0
1
2
3
0
1
2
3
0
1
2
3
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
3
2
1
0
3
2
1
0
3
2
1
0
3
2
5. 5 填充码字
当数据码字和纠错码字不能正好填满 GM码的容量时 ,在数据码字后加入填充码字 。
当宏模块的第 1码字(b6 到 b0 )是填充码字时 ,应填充(0000000) BIN ; 当第 2 码字(b13 到 b7 ) 是填充码字 ,并且是码字流中的第 1个填充码字时 ,应填充(0000000) BIN ,否则应填充(1111110) BIN ,见图 5。
a) 填充的深色边宏模块 b) 填充的浅色边宏模块
图 5 填充的宏模块
5. 6 空白区
空白区为环绕在 GM码四周的不小于 6个单元模块宽的区域 ,其反射率应与浅色单元模块相同 。
6 符号生成
6. 1 生成过程
GM码的生成过程包括以下六个步骤 :
a) 数据分析 :分析输入的数据 ,确定数据的数据编码模式 。对不同的数据类型 ,GM 码采用不同的数据编码模式进行编码 ,见 6. 3。每种模式有各自的编码规则 。
b) 数据编码 :将输入数据按照其编码模式对应的编码规则转换为位流 。 当需要进行模式切换时 ,
6
GB/T 27766—2011
在新模式数据编码前输出模式转换码 。将编码产生的位流按每 7位对应一个码字的方式转换为数据码字流 ,最后一个码字不足 7位时用 0填充 。
c) 计算 GM码版本 :用户应选取可接受的最小纠错等级 ,根据表 1 可得到能容纳数据码字和纠错码字的 GM码版本 。若用户未选取纠错等级 ,使用推荐的纠错等级(见 6. 6. 2) 计算 GM 码版本 。根据该 GM码版本 ,采用可以容纳给定数据的最高纠错等级 ,并在码字流的最后添加需要的填充码字 。
d) 纠错编码 :若数据码字和纠错码字总数大于 127,应将数据码字进行分块(见 6. 6. 3) 。对每块码字分别生成纠错码字 ,并将纠错码字添加到该块数据码字的后面 。
e) 在矩阵中布置网格图形 :根据 GM 码的版本和纠错等级 ,将每个宏模块的边框以及层标识号排列到矩阵中 。
f) 排列数据码字和纠错码字 :若码字被分块 ,则对各块码字进行交错排列后得到一个单一的码字流 。将码字流按顺序排列到矩阵中 ,完成编码 。
6. 2 数据分析
对输入数据进行类型分析 ,按类型划分成多个段 ,使编码得到的位流尽量短 。位流长度优化的一种方法参见附录 B。
6. 3 模式指示
6. 3. 1 模式分类
GM码的编码模式分数据编码模式 、ECI模式和功能码模式三类 ,各种模式由确定的模式指示符指示 。表 3列出了所有的模式指示符 。
表 3 模式指示符
模式分类
模式名称
模式指示符
说明
数据编码模式
汉字模式
(0001) BIN
每个字符用 13位二进制进行编码 。见 6. 4. 1
数字模式
(0010) BIN
每 3个字符用 10位二进制进行编码 。见 6. 4. 2
小写字母模式
(0011) BIN
每个字符用 5 位二进制进行编码 。见 6. 4. 3
大写字母模式
(0100) BIN
每个字符用 5 位二进制进行编码 。见 6. 4. 4
数字字母混合模式
(0101) BIN
每个字符用 6位二进制进行编码 。见 6. 4. 5
控制字符模式a
—
每个字符用 6位二进制进行编码 。见 6. 4. 6
字节模式
(0111) BIN
每个字符用 8位二进制进行编码 。见 6. 4. 7
ECI模式
ECI
(1100) BIN
见 6. 4. 8

