隐形二维码的编码与识读方法

文档序号:6598969阅读:1185来源:国知局
专利名称:隐形二维码的编码与识读方法
技术领域
本发明涉及一种二维码,特别是一种隐形二维码的编码与识读方法。
背景技术
二维码由于其信息容量大、编码范围广、纠错能力强、保密性好等诸多优点,已经
迅速在各行各业得到广泛应用,我国新近使用的火车票上已经按国家标准印刷了 QR码(二 维码的一种,QR是Quick Response的縮写,即快速反应)。 目前流行的二维码多为矩阵码,在一个约定的矩形区域内以规则排列的黑、白色 块表示数据1或0。黑、白色块在约定的矩形区域内不同位置的所有可能的排列组合构成该 二维码系统的数据域。 为便于叙述,以下我们将上面所说的"约定的矩形区域"称为"码字";把黑、白色块 称为"码元";把码字中码元的某种组合代表的数值称为"码值";把码字能表征的所有码值 称为"码域";把码域内包含的码值总量称为"码量"。 除了能够表征数据外,二维码还必须能够被正确识读,否则二维码就没有任何实 用价值。通常,二维码设计者都会在码字里嵌入一些固定不变的图式(Pattern)作为识读 码字的定位和定向依据。例如,图1所示的QR码在其码字的左上角、右上角、左下角设置三 个定位图式;图2所示的匿码在其码字的左边和下边设置全黑的边框等等。这些图式的作 用是定位码字的位置和读码方向。 二维码的用途很广,即可印刷为明码用于标识商品的属性、规格等,也可印刷为肉 眼不易察觉的暗纹嵌入在印刷物中,作为防伪水印或某种标识。 一种特殊的应用是,在印 刷物的不同位置嵌入码值不同的二维码,通过专门设计的识读器对印刷物不同位置进行识 读,得到嵌入在该位置的二维码码值,然后根据得到的码值执行预定的动作,比如发出对应 的声音、播放对应的视频节目等。在这种应用领域里,通常将识读器设计成笔状,形象地称 为点读笔;将这种特殊的二维码简称为隐形码;将嵌入隐形码的印刷物称为多媒体图书。
显然,在点读笔应用中,为了避免对主体内容形成干扰,必须把码元设计得尽量 小,码元之间的密度尽量稀。此外,为了能够准确标识交叉密布的精细图形,码字的面积越 小越好。因此,对点读笔应用来说,采用的隐形二维码必须能够在尽量小的码字面积内、以 尽量小和尽量少的码元、获取尽量大的码量。 图3是一种隐形二维码的码字示意图。其中,一个码字被分成4X4个矩形方块 301,每个矩形方块301的四角都有一个定位用的格点302,每个矩形方块301的中心303 是数据码元304的布局中心,数据码元304按所表示的码值的要求设置在中心点303的上、 下、左或右偏离指定距离的位置。码字最中心的格点305朝某一方向偏移指定距离,以提供 识读码字的方向。这样,每个矩形方块301内的数据码元304可以表示一个2位二进制数, 16个矩形方块301代表的16个2位二进制数可以表示(22)16 = 232 = 4294967269个十进 制数,即码量为4294967269。在申请号为200610075770. 8,公开号为CN101064013A的专利申请中,对上述二维码进行了如图4所示的改进。其中,码字401包含一表头部402和一数据部403。表头部402内包含多个按预定方式排列的定位码元404,用于提供识读码字的方向和界限。数据部403分为若干状态区域405,每个状态区域405内设置一个数据码元406,数据码元406根据表征的数值位于均分状态区域405的4个虚拟区域的任何一个之中。在图4所示的码字中,表头部用了 7个定位码元,数据部用了 9个数据码元。9个数据码元可以表示(22)9 =218 = 262144个十进制数,即如此改进后的二维码的码量为262144。 其实,图3和图4的码字中数据部分的码元设计是相同的,图4的改进主要在于表头部,即定位部分。由于用于定位的码元有所减少,其码字面积利用率有所提高,因而可以将码字设计得更小,使之对主体内容的影响更小。显然,相对于图3所示的码字来说,图4的改进码字更适于在点读笔领域应用。 然而这种码字仍然存在码字面积利用率不充分的问题,以至于此种隐形码的码量较小。 针对现有隐形二维码的码字仍然存在码字面积利用率不充分的问题,本发明要提出一种更好的隐形二维码系统及其识读方法,在更小的码字面积上,在不增加码元密度和识读难度的前提下得到更大的码量。 为解决上述技术问题,本发明提出一种隐形二维码,在每一个码字区中包括定位
部分和数据部分,所述定位部分中包括一个垂直或水平放置的长条形基准码元和一个在方
向上与所述基准码元垂直的长条形定向码元; 所述数据部分中包括多个圆形或方形的数据码元; 在每一个隐形二维码的所述码字区中按第一间距L虚拟设置沿横向、竖向均匀分布的虚拟网线,所述虚拟网线相交形成多个虚拟格点,且所述基准码元和定向码元的中心分别位于其中一个虚拟格点处; 基于每个虚拟格点沿横向或/和竖向偏移第二间距d的不同排列组合形成多个用于设置数据码元的虚拟空穴,且基于每个虚拟格点只在其中一个所述虚拟空穴中设置一个数据码元。 本发明的一种优选方案中,所述定向码元位于从所述基准码元沿其横向偏移M倍第一间距L、并沿其竖向偏移N倍第一间距L的位置;其中的M、N为等于或大于0的自然数,且其中至少一个大于0 ;所述第二间距d是数据码元直径的1. 5倍,所述第一间距L是第二间距d的4-10倍。 本发明中的优选方案中,所述虚拟网线相交形成的虚拟格点可组成3X3、3X4、4X4,或者其他组合的矩阵,其中两个虚拟格点用于设置基准码元、定向码元,其余的虚拟格点用于设置数据码元。 本发明还提出一种对上述隐形二维码进行识读的方法,其特在于,包括以下步骤 (1)、接收从印有所述隐形二维码的印刷物上拍摄所得的含有至少1个码字的图像; (2)、在图像中按从左到右、从上到下方式,寻找一个长条形定位码元,并设其为假

发明内容
5想基准码元; (3)、以所述假想基准码元为中心,沿其长条形窄边指向的方向向右偏移MXL、向下偏移NXL位置处,在水平与垂直两个方向的士L/2范围内寻找,或者是向左偏移MXL、向上偏移NXL处作同样的寻找,如果找到一个相对于所述假想基准码元垂直放置的长条形码元,则该长条形码元即为定向码元,同时验证所述假想基准码元为真正的基准码元。所述两种寻找方式只可能找到一个定向码元,且后一种方式表示拍摄方向旋转了 180° 。如果未找到所述定向码元,则说明所述假想基准码元不是真正的基准码元,此时回到步骤(2),寻找下一个假想基准码元并进行同样处理,直到找到定向码元; (4)、根据所述基准码元、定向码元的位置,以及它们在所述码元区的排布规律,计算出各个虚拟格点的位置;然后在各虚拟格点附近寻找对应的数据码元;根据所述各个数据码元对虚拟格点的偏移方位的权重,即可确定每个数据码元在本码元区代表的数位值;再根据数据码元所围绕的虚拟格点的权重,对所有数据码元进行加权级联组合,即可得到当前码字图象所代表的码值。 由于采取了上述技术方案,与现有二维码的码字相比,本发明中基准码元、定向码元只占用总码元中的2个,显然在同样码字面积和码元密度条件下具有更大的码值空间。


图1是现有技术中QR码的码字示意图; 图2是现有技术中匿码的码字示意图; 图3是现有技术中一种隐形二维码的码字示意图; 图4是现有技术中一种改进后的隐形二维码的码字示意图; 图5是本发明一个实施例的隐形二维码的码元位置关系示意图; 图6是图5所示的数据码元从虚拟格点的偏移方位与对应数值的权重说明示意
图; 图7是本发明一个实施例中隐形二维码的码值为八进制数0123456765的码字示意图; 图8是本发明一个实施例的隐形二维码的64个码值为八进制数0123456765的码字按8X8矩阵式排列印刷的示意图; 图9是本发明一个实施例的由16个码元组成的码值为八进制数01234567654321的码字示意图; 图10是本发明一个实施例中定向码元在码字右上角的示意图; 图11是本发明一个实施例中基准码元或/和定向码元在码字中部的示意图。
具体实施例方式
本发明的一个实施例中,码字的码元关系示意如图5。其中,在码字区501的左上角有一个水平放置的用于定位的长条形基准码元502,在基准码元502中心向右偏移3L再向下偏移2L处是与其垂直放置的长条形定向码元503。 以基准码元502和定向码元503的中心为对角顶点,在横向进行3等分、竖向进行2等分计算得到虚拟网线504及网线交点处的虚拟格点505。
每个虚拟格点505周围向水平或/和垂直方向各偏移距离d有8个码元虚拟空穴507,组成一个码元区506。每个码元区506只能含有一个数据码元508,且该数据码元508必须设置在本码元区506的8个虚拟空穴507中的任何一个之内。所有数据码元508都是微小的圆形或方形码元。 同一码元区506的8个码元虚拟空穴507具有不同权重,数据码元508位于不同虚拟空穴507时表示不同的数值。本实施例中,规定数据码元508位于码元区506内左下角的码元虚拟空穴时表示0,位于由此向右、向上逆时针的其他虚拟空穴时分别表示数值1 7,即一个码元区506可表示(23 = )8个数值。数据码元508在码元区506中的位置与所代表的数值的关系如图6所示。 本实施例中,除了基准码元502和定向码元503占用的虚拟格点外,还有10个虚拟格点,对应10个码元区,可以容纳10个8进制数据位。因此,本实施例的码量为(23)1Q =230 = 1, 073, 741, 824。 实用中,如果采用的印刷精度是1200dpi,一组比较适宜的设计参数是将基准码元
和定向码元设计成0. 02115X0. 0846mm2的长条,数据码元设计为直径0. 0423mm的圆盘,虚
拟格点的间距L = 0. 3384mm,虚拟空穴中心与虚拟格点的偏移距离d = 0. 0423mm。这样,
一个码字的面积只有1. 0152X 1. 3536mrf,码字面积利用率显然是很高的。 实际应用中,图5中绘制的虚拟网线504、虚拟格点505上的"X "及虚拟空穴507
都不存在,将其绘制出来只是为了说明各码元的位置关系。图7是图5所示的码字取消这
些虚拟元素后的实用码字示意图。 由图5看出,从基准码元开始,向右、向下分别有10个码元区506,每个码元区的数据码元分别位于区内权重依次为0、1、2、3、4、5、6、7、6、5的虚拟空穴中,所以图中IO个数据码元分别表示八进制数的数码0、 1 、 2、 3、4、 5、6、 7、6、 5 。另外,规定从基准码元开始,向右、向下依次排列的各码元区的权重分别为8g、88、8^8s、8s、8^8^8^8^8、可知图7中的码字的码值应为八进制数0123456765。 图8是本发明的由64个图7所示的码值为八进制数0123456765的码字按8 X 8矩
阵式印刷的示意图。实用中二维码往往以这种矩阵式组合形式作为暗纹嵌入在印刷物中。 对于本发明上述实施例中的隐形二维码,可按以下步骤进行识读 (1)、用光学点读笔对着印有本发明隐形码的印刷物拍照,得到含有至少1个码字
的图像。 (2)、点读笔中的拍摄镜头带有特殊光源,拍摄的图像已对其他颜色进行滤除,得
到的图像只含有印刷本发明的隐形二维码的颜色和背景色。必要时,还可以利用软件对拍
摄的图像进行二值化处理,得到精确的只含有本发明隐形码的黑白图像。 (3)、在图像中按像素从左到右、从上到下方式,寻找一个长条形定位码元,假想其
为基准码元502。 (4)、以找到的假想基准码元502为中心,沿其长条形的窄边指向的方向向右偏移3L、向下偏移2L处在水平与垂直2个方向的±L/2范围内寻找长条形定向码元503。如果找到一个与基准码元垂直放置的长条形码元,则该码元即为定向码元503,同时验证假想的基准码元确实是基准码元502。 (5)、如果第"(4)"步没找到定向码元,则改为由基准码元中心向其窄边指向的方向向左偏移3L、向上偏移2L处在水平与垂直2个方向的±L/2范围内寻找长条形定向码元503。如果找到一个与基准码元垂直放置的长条形码元,则该码元即为定向码元503,同时验证假想的基准码元确实是基准码元502。第"(4)"和第"(5)"两步只可能找到一个定向码元503,对应的情况是拍摄方向旋转了 180° 。 (6)、如果第"(4)"和第"(5)"步都没有找到定向码元503,说明所找到的假想基准码元不是真正的基准码元502。需放弃这个假想基准码元,转到第"(3)"步继续寻找下一个假想基准码元502,并进行第"(4)"、第"(5)"步的处理,直到找到定向码元503。
(7)、一般来说,拍摄的图像不会正好是水平的,即码字方向和像素方向一般是不一致的。必须根据基准码元502和定向码元503的位置对图像进行旋转。具体做法是a)以基准码元502和定向码元503为对角顶点计算出码字右上角格点的位置;b)以基准码元502的中心为圆心旋转整个图像,使得右上角格点正好处于通过基准码元502中心的水平像素线上。 (8)、考虑到拍摄时镜头一般不会准确垂直对准纸面,所以拍摄的图像会有些畸变,这需要根据实际拍摄效果以软件进行校正,使图像的拍摄效果相当于垂直拍摄。本发明实施中规定每次拍摄到的码字不少于2个,可以根据这2个码字的基准码元502和定向码元503的位置偏差进行校正。 (9)、此后,根据基准码元502和定向码元503的位置计算出各个虚拟格点505的位置;然后在各虚拟格点505附近找到对应的数据码元508 ;根据数据码元508对虚拟格点505的偏移方位的权重,确定每个数据码元508代表的数位值;然后根据数据码元508所围绕的虚拟格点的权重对所有数据码元进行加权级联组合,得到本码字代表的码值。
(10)、本发明的隐形码码量极大,可分出一部分用于码字识读中的纠错运算,以便对拍摄和印刷中的错误进行纠正。 实际使用中,拍摄得到的图像中一般包括不止一个码字,对其他码字进行同样处理,可得到其他码字的码值。本发明规定,按照上述识读方法第一次找到的码字为有效码字,本次拍摄得到的其他码字仅用于对有效码字进行辅助定位和对有效码字的码值进行纠错校验,不作为实际码值应用。 显然,与图4所示的码字相比,本发明的码字面积减小了 1/4(由16个码元减少为12个码元)、码量增加212倍,且没有增加码元密度。对于点读笔的应用而言,本发明具有显著的优势。 必须说明,图5所示的码字设计只是本发明的一个实施例,并不构成对本发明的限制。实用中有多种变化可供选用,包括但不限于如下几种 (1)、实用中可以采用不同数量的码元(如3行3列、4行4列、4行5列等)。图9是采用16个码元按4X4矩阵排列的另一实施例的码字示意图,其码量增加到(23) 14 = 242=4, 398, 046, 511, 104。 (2)、基准码元和定向码元在码字中的位置和朝向可以适当变化。比如,基准码元水平放置、定向码元垂直放置等。
(3)、基准码元和定向码元不一定正好位于对角顶点,可以位于码字区内任何位
置。比如,图io所示的码字中,基准码元位置没变,定向码元位于码字右上角,这样的配置
更便于识读和旋转。图11所示的码字中,基准码元或/和定向码元在码字中部,这样的码字印刷均匀度比较好。 (4)、根据实际应用需要,码元尺寸和虚拟格点距离以及整个码字的大小都可改变。 根据上述原则,每一个隐形二维码的码字区中可包括1个基准码元、一个定向码元、以及7个数据码元,共9个码元按3 X 3矩阵排列; 其中,可设置M = 2,N = 2,此时定向码元503位于从基准码元502沿其横向向右偏移2倍第一间距L、并沿其竖向向下偏移2倍第一间距L的位置; 或者,可设置M = 2,N = 0,此时定向码元503位于从基准码元502沿其横向向右偏移3倍第一间距L的位置; 或者,还可设置M = l,N = 2,此时定向码元503位于从所述基准码元502沿其横向向右偏移1倍第一间距L、并沿其竖向向下偏移2倍第一间距L的位置。
另外,每一个隐形二维码的码字区中可包括1个基准码元、一个定向码元、以及10个数据码元,共12个码元按3X4矩阵排列;同样,其中可设置M二 3,N = 2,或者设置M二3, N = O,或者设置M = 2, N = 2。 另外,每一个隐形二维码的码字区中还可包括1个基准码元、一个定向码元、以及14个数据码元,共16个码元按4X4矩阵排列;同样,其中可设置M = 3,N = 3,或者设置M=3, N = O,或者设置M = 2, N = 3。
权利要求
一种隐形二维码,在每一个码字区中包括定位部分和数据部分,其特征在于,所述定位部分中包括一个垂直或水平放置的长条形基准码元(502)和一个在方向上与所述基准码元垂直的长条形定向码元(503);所述数据部分中包括多个圆形或方形的数据码元(508);在每一个隐形二维码的所述码字区中按第一间距L虚拟设置沿横向、竖向均匀分布的虚拟网线(504),所述虚拟网线(504)相交形成多个虚拟格点(505),且所述基准码元(502)和定向码元(503)的中心分别位于其中一个虚拟格点(505)处;基于每个虚拟格点(505)沿横向或/和竖向偏移第二间距d的不同排列组合形成多个用于设置数据码元的虚拟空穴(507),且基于每个虚拟格点(505)只在其中一个所述虚拟空穴(507)中设置一个数据码元(508)。
2. 根据权利要求l所述的隐形二维码,其特征在于,所述定向码元(503)位于从所述基准码元(502)沿其横向偏移M倍第一间距L、并沿其 竖向偏移N倍第一间距L的位置;其中的M、N为等于或大于0的自然数,且其中至少一个大于0;所述第二间距d是数据码元(508)直径的1. 5倍,所述第一间距L是第二间距d的4-10倍。
3. 根据权利要求l所述的隐形二维码,其特征在于,基于每个虚拟格点(505)沿其横 向或/和竖向偏移第二间距d的不同排列组合形成8个用于设置数据码元的虚拟空穴,在 以所述虚拟格点(505)为中心的x、y坐标系中,所述8个虚拟空穴的坐标分别是(+d,0)、 (+d, +d) 、 (0, +d) 、 (—d, +d) 、 (—d,O) 、 (—d, -d) 、 (0, -d) 、 (+d, -d)。
4. 根据权利要求1-3中任一项所述的隐形二维码,其特征在于,每一个隐形二维码的 码字区中包括1个基准码元、一个定向码元、以及7个数据码元,所述9个码元按3X3矩阵 排列;其中M = 2, N = 2,所述定向码元(503)位于从所述基准码元(502)沿其横向向右偏 移2倍第一间距L、并沿其竖向向下偏移2倍第一间距L的位置;或者,其中M = 2,N = O,所述定向码元(503)位于从所述基准码元(502)沿其横向向 右偏移3倍第一间距L的位置;或者,其中M = l,N = 2,所述定向码元(503)位于从所述基准码元(502)沿其横向向 右偏移1倍第一间距L、并沿其竖向向下偏移2倍第一间距L的位置。
5. 根据权利要求1-3中任一项所述的隐形二维码,其特征在于,每一个隐形二维码的 码字区中包括1个基准码元、一个定向码元、以及IO个数据码元,所述12个码元按3X4矩 阵排列;其中M = 3, N = 2,所述定向码元(503)位于从所述基准码元(502)沿其横向向右偏 移3倍第一间距L、并沿其竖向向下偏移2倍第一间距L的位置;或者,其中M = 3,N = O,所述定向码元(503)位于从所述基准码元(502)沿其横向向 右偏移3倍第一间距L的位置;或者,其中M = 2,N = 2,所述定向码元(503)位于从所述基准码元(502)沿其横向向 右偏移2倍第一间距L、并沿其竖向向下偏移2倍第一间距L的位置。
6. 根据权利要求1-3中任一项所述的隐形二维码,其特征在于,每一个隐形二维码的码字区中包括1个基准码元、一个定向码元、以及14个数据码元,所述16个码元按4X4矩 阵排列;其中M = 3, N = 3,所述定向码元(503)位于从所述基准码元(502)沿其横向向右偏 移3倍第一间距L、并沿其竖向向下偏移3倍第一间距L的位置;或者,其中M = 3,N = O,所述定向码元(503)位于从所述基准码元(502)沿其横向向 右偏移3倍第一间距L的位置;或者,其中M = 2,N = 3,所述定向码元(503)位于从所述基准码元(502)沿其横向向 右偏移2倍第一间距L、并沿其竖向向下偏移3倍第一间距L的位置。
7. —种对权利要求1所述的隐形二维码进行识读的方法,其特在于,包括以下步骤(1) 、接收从印有所述隐形二维码的印刷物上拍摄所得的含有至少1个码字的图像;(2) 、在图像中按从左到右、从上到下方式,寻找一个长条形定位码元,并设其为假想基 准码元;(3) 、以所述假想基准码元为中心,沿其长条形窄边指向的方向向右偏移MXL、向下偏 移NX L位置处,在水平与垂直两个方向的±L/2范围内寻找,或者是向左偏移MX L、向上偏 移NXL处作同样的寻找,如果找到一个相对于所述假想基准码元垂直放置的长条形码元, 则该长条形码元即为定向码元,同时验证所述假想基准码元为真正的基准码元,所述两种 寻找方式只可能找到一个定向码元,且后一种方式表示拍摄方向旋转了 180° ,如果未找到 所述定向码元,则说明所述假想基准码元不是真正的基准码元,此时回到步骤(2),寻找下 一个假想基准码元进行同样处理,直到找到定向码元;(4) 、根据所述基准码元、定向码元的位置,以及它们在所述码元区的排布规律,计算出 各个虚拟格点的位置;然后在各虚拟格点附近寻找对应的数据码元;根据所述各个数据码 元对虚拟格点的偏移方位的权重,即可确定每个数据码元在本码元区代表的数位值;再根 据数据码元所围绕的虚拟格点的权重,对所有数据码元进行加权级联组合,即可得到当前 码元区中的码字所代表的码值。
8. 根据权利要求7所述的方法,其特征在于,在所述步骤(3)中,还包括根据基准码元 和定向码元的位置,对图像进行旋转以使码字方向和像素方向一致的步骤。
9. 根据权利要求7所述的方法,其特征在于,在所述步骤(1)中,还包括对所述图像进 行校正以使图像的拍摄效果相当于垂直拍摄的步骤。
全文摘要
本发明涉及隐形二维码,其定位部分中包含彼此垂直放置的长条形基准码元和长条形定向码元;其数据部分中包括多个圆形或方形的数据码元;在每个码字区中按第一间距L虚拟设置沿横向、竖向均匀分布的虚拟网线,虚拟网线的交叉点形成虚拟格点,且基准码元和定向码元的中心分别位于其中一个虚拟格点处;在其它各个虚拟格点沿横向或/和竖向偏移第二间距d的不同排列组合形成多个用于设置数据码元的虚拟空穴,且基于每个虚拟格点只设置一个数据码元;根据各个虚拟格点的权重、以及同一码元区中数据码元各偏移方位的权重,对所有数据码元进行加权级联组合,即可得到对应的码值。本发明的隐形二维码在同样码字面积和码元密度条件下具有更大的码值空间。
文档编号G06K19/06GK101794404SQ20101012115
公开日2010年8月4日 申请日期2010年3月9日 优先权日2010年3月9日
发明者刘建生 申请人:刘建生
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1