1、ICS 35.040 A 24 DB35 福建省 地方标准 DB35/T 1881 2019 三维码编码规范 Visual recognition code production specification 2019 - 12 - 19 发布 2020 - 03 - 19 实施 福建省市场监督管理局 发布 福 建 省 地 方 标 准 三维码编码规范 DB35/T 1881 2019 * 2019 年 12 月第一版 2019 年 12 月第一次印刷 DB35/T 1881 2019 I 目 次 前言 . II 引言 . III 1 范围 . 1 2 规范性引用文件 . 1 3 术语和定义 .
2、1 4 编码技术要求 . 1 5 应用测试指标要求 . 2 附录 A(资料性附录) 三维码的高斯算法 . 5 参考文献 . 10 DB35/T 1881 2019 II 前 言 本标准按照 GB/T 1.1 2009给出的规则起草。 本标准由福建省标准化研究院提出。 本标准由福建省市场监督管理局归口。 本标准起草单位:三维码(厦门)网络科技有限公司、福建省标准化研究院、厦门市公安局 。 本标准 主要起草人: 陈绳旭、马吉良、周顺骥、陈源在、李建勋、严风、王秋婉、黎梓峰、陈子柔、 曾彩霞 。 DB35/T 1881 2019 III 引 言 本文件的发布机构提请注意,声明符合本文件时,可能涉及到
3、附录 A相关的专利的使用。 本 文件 的发布机构对于该专利的真实性、有效性和范围无任何立场。 该专利持有人已向本文件的发布机构保证,他 愿意 同任何申请人在合理且无歧视的条款和条件下, 就专利授权许可进行谈判。该专利持有人的声明已在本文件的发布机构备案。相关信息可以通过以下联 系方式获得: 专利持有人姓名:三维码(厦门)网络科技有限公司 地址:厦门市湖里区安岭路 1008号 6层 请注意除上述专利外,本文件的某些内容仍可能涉及专利。本文件 的发布机构不承担识别这些专利 的责任。 DB35/T 1881 2019 1 三维码编码规范 1 范围 本标准规定了三维码的编码技术要求 、 应用测试指标要
4、求。 本标准适用于三维码制作、印制、应用等领域。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GB/T 12905 条码术语 GB/T 23704 二维条码符号印制质量的检验 3 术语 和 定义 GB/T 12905中 界定 的以及下列术语和定义适用于本文件 。 3.1 二维 条 码 two dimensional bar code; 2D code 二维码 在二 个 维 度 方向上都表示信息的条码符号。 GB/T 12905 2019,定义 2.3 3.2
5、三维码 visual recognition code; VR code 在保证目标应用环境下识读性能要求的前提下,对标准二维码符号的模块大小、形状与颜色进行调 整,融合图形背景形成的条码符号。 4 编码技术要求 4.1 概要 为提高二维码的视觉效果, 同时 确保二维码在典型应用环境中的识读效果,在大量实 验的基础上, 研究制定了三维码的制作要求,主要包括模块调整要求、功能图形区、功能信息区、数据区要求以及符 号的制作要求等。 4.2 功能图形区制作要求 4.2.1 寻像图形区 寻像图形区不宜进行图像融合,应尽可能保证该区域的标准状态。 DB35/T 1881 2019 2 4.2.2 校正图
6、形区 4.2.2.1 校正图形主要作用在符号中存在一组或两组校正图形时,可进行校正图形区与图像的融合。 4.2.2.2 在符号中设置两组以上校正图形时,不宜进行校正图形与图像的融合。 4.2.3 空白区要求 应尽可能保证空白区符合相关码制和应用标准要求,或设置空白区颜色与背底主体颜色一致,空白 区应至少设置为一个模块宽。 4.2.4 模块尺寸形状的 调整 4.2.4.1 模块形状应采用中心对称图形,避免使用异形模块。 4.2.4.2 模块尺寸应在保证设计美化效果的同时,尽可能保证足够面积,总体缩减后的模块平均尺寸 不应低于名义模块尺寸 ( X 尺寸)的 40%。 4.2.5 模块颜色的调整 模
7、块颜色的调整应满足美化效果,尽可能使图像融合后的模块颜色深浅与模块深浅状态保持一致。 4.3 功能信息区编码要求 功能信息区模块尺寸的大小不宜低于名义模 块尺寸的 50%,功能信息 区模块颜色宜与设计状态一致。 4.4 数据区编码要求 数据区的图像融合方法可采用高斯、矢量等算法。高斯算法的融合方法参见 附录 A。 4.5 印制要求 4.5.1 物理尺寸印制要求 三维码的名义模块尺寸大小不宜 低于 0.254 mm。 4.5.2 印制精度要求 印制精度不宜 低于 600 DPI。 4.5.3 符号要求 三维码符号印制表面宜平整,不宜增加覆膜或存在镜面反射等问题。 5 应用测试指标要求 5.1 总
8、则 目前二维码印制质量的检验质量评价体系,不能完全客观反映三维码的应用特性, 应 按照 GB/T 23704的 规定,结合三维码的技术特点和不同应用条件下的应用环境,制定相关的应用适用性测试 方法,确保三维码符号的制作印制质量和最终识读性能能够满足具体不同应用的要求。 DB35/T 1881 2019 3 5.2 门牌应用测试指标要求 5.2.1 测试条件 测试高度固定为 2.2 m,手机摄像头高度为 1.7 m。直线距离选择 0.1 m 5.0 m范围 内符合测试角度 的距离,读码角度 30 45 ;测试软件为多款主流二维码识读软件;测试符号大小为 7 cm 7 cm。 5.2.2 测试方法
9、 恒定倾角角度对于直线距离进行递增测试,以 0.5 m为步长;恒定直线距离对于倾斜角度进行递增 测试,以 15 为步长。 5.2.3 测试指标要求 全部符号均可被正确识读,识读时间不 大于 3 s。 5.2.4 实验方法简述 测试人员在同一轮测试当中需使用同一款主流二维码识别软件进行测试,测试时间为测试程序记录 的准确时间,降低人工计时的误差。根据测试 方法列出的每一项测试内容均进 行 10次实验 ,最终得到的 实验数据进行统计分析,由此得出实验结论。 5.3 标签应用测试指标要求 5.3.1 测试条件 直线距离选择 0.1 m 0.5 m范围 内符合测试角度的距离;读码角度 0 30 ;测试
10、软件为多款主 流二维码识读软件,测试符号大小为 2 cm 2 cm。 5.3.2 测试方法 恒定倾角角度对于直线距离进行 递增测试,以 0.1 m为步长;恒定直线距离对于倾斜角度进行递增 测试,以 5 为步长。 5.3.3 测试指标要求 全部符号均可被正确识读,识读时间不大于 3 s。 5.3.4 实验方法简述 把三维码标签放置于水平桌面上进行测试 ,测试人员通过角度仪来调节测试手机的读码角度和手机 摄像头与标签之间的直线距离,使手机摄像头距离标签 0.1 m 0.5 m范围 内进行不同的读码角度测试。 测试人员在同一轮测试当中需使用同一款主流二维码识别软件进行测试,测试时间为测试程序记录的准
11、 确时间,降低人工计时的误差。根据测试方法列出的每一项测试内容均进行 10次实验,最终得到的实验 数据进行统计分析,由此得出实验结论。 5.4 电子凭证应用测试指标要求 5.4.1 测试条件 直线距离选择 0.1 m 1.5 m范围 内符合测试角度的距离;读码角度 0 45 ;测试软件为多款主 流二维码 识读软件,测试符号大小为 6.9 cm 6.9 cm。 DB35/T 1881 2019 4 5.4.2 测试方法 恒定倾角角度对于直线距离进行递增测试,以 0.1 m为步长;恒定直线距离对于倾斜角度进行递增 测试,以 10 为步长。 5.4.3 测试指标要求 全部符合均可被正确识读,识读时间
12、不大于 3 s。 5.4.4 实验方法简述 把三维码电子凭证放置于水平桌面上进行测试,测试人员通过角度仪来调节测试手机的读码角度和 手机摄像头与电子凭证之间的直线距离,使手机摄像头距离电子凭证 0.1 m 1.5 m范围 内进行不同的读 码角度测试。测试人员在同一轮测试当中需使用同一款主流二维码识别软件进行测 试,测试时间为测试 程序记录的准确时间,降低人工计时的误差。根据测试方法列出的每一项测试内容均进行 10次实验,最 终得到的实验数据进行统计分析,由此得出实验结论。 DB35/T 1881 2019 5 A A 附 录 A (资料性附录) 三维码的高斯算法 A.1 基于高斯调变函数的三维
13、码制作流程 三维码的编码算法需要在保证符号通过手机等设备快速识读性能的同时 , 尽可能提高用户的目视辨 识与视觉品质,本算法的主要特点是采用高斯函数作为原始二维码符号与图像信息叠加的参考函数,在 编码三维码的过程中,将通过调整高斯函数的相关参数对来二维码模块像素的亮度进行调制,使得模块 中心的亮度最亮或最暗,周围的亮度逐渐均匀地变暗或变亮,从而使得整体三维码图像颜色比较平滑, 最终由此获得良好的三维码视觉效果和满足应用的机器识读效果。基于高斯调变函数的三维码编码方法 主要分生成图像预处理、设置阈值层及设置模块区块亮度等 5个阶段。图 A.1给出了 本方法流程图。 注: 为彩色原图, 为 Y平面
14、的图片。 图 A.1 三维码编码方法流程图 A.2 三维码预处理 A.2.1 二维码生成 以 QR码( 参 见 GB/T 18284)为例,根据二维码编码信息和选定的(或默认的)纠错等级、版本 ver 和模块像素数 H,生成二维码符号标准位图,该二维码符号的边长 N与相关参数的关系 参 见公式 ( A.1) 。 17 4 verNH .( A.1) 式中: N 三维码的边长像素数; DB35/T 1881 2019 6 ver 二维码版本; H 二维码模块的边长像素数。 A.2.2 主题图像预处理 根据视觉设计效果,选定原始主题图像,将该主题图 像裁剪转化为 N N 标准图像,如该图像为标 准
15、 RGB位图,根据标准算法将该位图转化为 YUV颜色空间位图,参见公式 ( A.2) 。 Y 0.2 99 R 0.5 87 G 0.1 14 B U 0.7 13 R Y 0.5 00 R 0.4 19 G 0.0 81 B V 0.5 64 B Y 0.1 69 R 0.3 31 G 0.5 00 B . ( A.2) 式中: Y 图像像素的亮度值; U 图像像素的色度值; V 图像像素的饱和值; R 图像像素的红色分量; G 图像像素的绿色分量; B 图像像素的蓝色分量。 A.3 生成参考阈值图 A.3.1 参考阈值图概述 在 YUV色彩空间中, Y代表亮度, U与 V分别代表色度、浓度
16、, 参见 图 A.2。本方法只需要调整图片的 亮度值,因此只取出 YUV中的 Y平面,其余空间则保留不作任何更动。 a) Y 平面 b) U 平面 c) V 平面 注: 为 Y平面的图片, 为 U平面的图片, 为 V平面的图片。 图 A.2 YUV 色彩空间影像成分 A.3.2 生成参考阈值图 根据相关内容,设置一个分块数量为 5 5,分块宽度为可选像素数的亮度调整窗口。在 Y分量图像 中,将窗口遍历 Y分量图像, 参 照公式( A.3)计算各分块平均阈值,作为该分块的参考阈值,将该参考 阈值组成的矩阵作为参考阈值图。图 A.3为选用分块宽度 H为 8个像素的参考阈值图,二值化图与确定的 参考
17、阈 值对比图 参 见图 A.4。 DB35/T 1881 2019 7 图 A.3 参考阈值图的窗口示意图 ,222 , 2 2 ,1 25 pqp m q n ijmn p m q n i j BW H Y .( A.3) 式中: W( m, n) 选定图像调整窗口的亮度平均值; H 二维码模块的边长像素数; Yi, j 图像中某一像素点亮度值。 a) 二值化图像 b) 阈值层 图 A.4 二值化结果 A.4 设置符号初始图形和模块中心区块 A.4.1 设置符号初始图形 二维码符号与 A.2.2获得的背景图融合,形成符号初始图形,本方法制作三维码时对应到二维码的 位置探测图形和校正图形的区域
18、,尽可能保持二维码功能图形模块的黑白颜色,此外,功能信息区和数 据区应整体初始采用背景图形。 A.4.2 设置模块中心区块大小和亮度 根据相关 二维码识读过程以及大量实验,为保证三维码识读性能,选定模块中心区块,设置区块尺 寸 D至少为以像素数计的名义模块大小的 1/3(向上取整), D越大,制作出来的三维码解码稳健性较好、 但视觉效果较差; D越小,解码稳健性较差、但视觉效果较好。公式 ( A.4) 为计算其平均亮度的方法。 DB35/T 1881 2019 8 2 , 22221 ijmn H D n H D mj H D n i H D mP D Y . ( A.4) 式中: P( m,
19、 n) 选定模块(第 m 行,第 n 列)的中 心区块亮度平均值; D 三维码模块中心区域的边长像素数; H 二维码模块的边长像素数; Yi, j 图像中某一像素点亮度值。 A.5 调整模块中心区块亮度 本方法利用 A.3生成的参考阈值图当做二值化的门槛,确定初始符号图形模块中心区块的亮度调整 方式,即模块中心区域的平均亮度是否需要进行调整,以及所必要的调整量。中心区块亮度 参 见公式 ( A.5) 。在公式 ( A.5) 中,当符号初始图形的模块中心区域的平均亮度值满足条件时, P(m,n)不做任 何调整,整体保持图像背景不变,否则,将中心区域平均亮度值调整为参考阈 值图对应位置的亮度值。
20、L值为亮度调整经验值, L值较大,制作出来的三维码的越容易识读、视觉效果越差; L越小,解码性能 下降、视觉效果越好。 , , , , , , , , , , , , , , , , 01 ,0 ,1 m n m n m n m n m n m n m n m n m n m n m n m n m n m n m n m n P P W L Q P W L Q P W L P W L Q W L P W L Q . ( A.5) 式中: P( m, n) 该坐标点的模块 ( 第 m行,第 n列 ) 中心区域的平均亮度值 ; W( m, n) 该坐标点的对应的参考阈值图该区域的亮度值; Q(
21、m, n) 该坐标点二维 码模块 (第 m 行,第 n 列)的设计颜色,黑色为 0,白色为 1; L 亮度经验调整变量。 A.6 全模块亮度高斯平滑调整 A.6.1 初始调整公式 为综合提高二维码识读性能和图像辨识效果 , 需要进一步对三维码各模块(宽度 H)区域亮度进行 统一调整,设模块某一像素的亮度调整量为 P(m, n),初始调整亮度 参 见公式 ( A.6) 。当像素点 P(m, n) 已经满足二值化要求( P(m, n)W(m, n)-L 或 P(m, n)W(m, n)+L,模块初始设置分别为黑色和白色)时,则像 素点亮度不做任何的调整;若不满足,则调整其亮度值加上 P(m, n)
22、。其中, P(m, n)为正表示增加亮度, 为负表示降低亮度。 , , , , , , , , , , , , , , , , , 0 0 1 0 1 m n m n m n m n m n m n m n m n m n m n m n m n m n m n m n m n m n P W L Q P W L Q P W L P P W L Q W L P P W L Q . ( A.6) 式中: P( m, n) 该坐标点的模块( 第 m 行,第 n 列) 中心区域的平均亮度值; DB35/T 1881 2019 9 W( m, n) 该坐标点的对应的参考阈值图该区域的亮度值; Q( m
23、, n) 该坐标点二维码模块 (第 m 行,第 n 列)的设计颜色,黑 色为 0,白色为 1; L 亮度经验调整变量。 A.6.2 高斯平滑调整公式 采用高斯函数调整整个模块的亮度,将 P(m, n)乘上高斯系数来调整模块区块内像素的亮度值, 参 见 公式 ( A.7) 。使用不同参数(标准差)的高斯函数进行可以实现平滑的模块(宽度 H)高斯标准差 大、平均亮度改变量小,使锐利的模块区块高斯标准差小、平均亮度改变量大,从而在提高模块中心区 域的辨识率,保证正确解码的同时,同时也会使得模块区块的亮度改变更平滑,符合人类视觉系统对颜 色及亮度的感知认识,有更好的视觉效果。 222 ,222 ,2
24、00 , 1 ,1 2 mn i H j H HH m i n j m i n jji mn g e g .( A.7) 式中: g 高斯函数值; 高斯函数标准方差; H 二维码模块的边长像素数。 A.6.3 高斯函数标准方差取值 公式 ( A.7) 中的标准方差最大最小值取值 参 见公式( A.8)和( A.9)。 max 4H .( A.8) min 4H .( A.9) 式中: 高斯函数标准方差; 系 数, 取 0.5; H 二维码模块的边长像素数 ; 系数,取 0.25。 DB35/T 1881 2019 10 参 考 文 献 1 GB/T 12905 2019 条码术语 2 GB/T 18284 2000 快速响应矩阵码 _