全向可读二维条形码系统及其识读方法转让专利

申请号 : CN201610305332.X

文献号 : CN106022201B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 边隆详

申请人 : 深圳龙贝物联网科技发展有限公司

摘要 :

本发明公开了一种全向可读二维条形码系统,包括:由N*N矩阵形式排列的单元节点组成的编码区域,N为正整数且N≥11;位于所述编码区域周边的同步码元;编码信息序列以一特定的单元节点为起始点,并沿预设的识读方向依次分布于矩阵阵列的各单元节点上;所述起始点由定向码元标识;定向码元包括起始码元和27个后续码元,该28个码元分布于所述编码信息序列内不同的特定位置;各所述特定位置分别位于:矩阵阵列四角的四个单元节点;与每个角的单元节点相邻的两个单元节点;矩形阵列每个边中心的四个单元节点,该四个单元节点以两个相邻为一组地对称分布在中点两侧。从而可以全向读取。本发明还公开了全向可读二维条形码系统的识读方法。

权利要求 :

1.一种全向可读二维条形码系统,包括:

由N*N矩阵形式排列的单元节点组成的编码区域,N为正整数且N≥11;

位于所述编码区域周边的同步码元;

其特征在于,

编码信息序列以一特定的单元节点为起始点,并沿预设的识读方向依次分布于矩阵阵列的各单元节点上;所述起始点由定向码元标识;

定向码元包括起始码元和27个后续码元,该28个码元分布于所述编码信息序列内不同的特定位置;

各所述特定位置分别位于:

矩阵阵列四角的四个单元节点;

与每个角的单元节点相邻的两个单元节点;以及矩形阵列每个边中心的四个单元节点,该四个单元节点以两个相邻为一组地对称分布在中点两侧。

2.根据权利要求1所述的全向可读二维条形码系统,其特征在于,所述定向码元由顺时针排序的码元N_HEAD,S9,S8,……S1,S0,B_HEAD,R1,R2,R3,R4,B_TAIL,S’0,S’1,……S’8,S’9,N_TAIL组成,其中,码元序列{R4,R3,R2,R1,B_HEAD,S0,S1,……S9}构成一组BCH(15,5)纠错码序列;

码元序列{R1,R2,R3,R4,B_TAIL,S’0,S’1,……S’9}构成另一组BCH(15,5)纠错码序列;

N_HEAD表示无BCH纠错功能头标志;

B_HEAD表示有BCH纠错功能头标志;

N_TAIL表示无BCH纠错功能尾标志;

B_TAIL表示有BCH纠错功能尾标志;

R1-R4为数据码元;N_HEAD,B_HEAD、N_TAIL、B_TAIL作定向信息的定位控制符,S0-S9和S’0-S’9分别作为各组纠错码序列内的纠错码元。

3.根据权利要求2所述的全向可读二维条形码系统,其特征在于,码元S9,S2,R4,S’5分别分布于矩阵阵列四个角的单元节点上;

所述N_HEAD为起始码元。

4.根据权利要求1所述的全向可读二维条形码系统,其特征在于,所述起始码元所处的特定位置即为所述起始点的单元节点。

5.一种如权利要求1所述全向可读二维条形码系统的识读方法,其特征在于,包括:分别从任一可能起始码元所处的特定位置开始,沿顺时针方向依次提取各特定位置上的码元,获取四组码元序列及其对应的四组28位候选格式信息数据串;

对四组候选格式信息数据串分别进行BCH译码,获取四组作定向信息的定位控制符;

对四组定位控制符分别加权,加权值最高的一组所对应的码元序列确定为正确的定向码元;

根据定向码元确定所述起始点,从起始点开始沿预设的识读方向依次读取各单元节点上的编码信息,以获取编码信息序列;

对读取的编码信息序列进行译码以获得存储的信息。

6.根据权利要求5所述的全向可读二维条形码系统的识读方法,其特征在于,所述起始码元所处的特定位置即为所述起始点的单元节点。

7.根据权利要求5所述的全向可读二维条形码系统的识读方法,其特征在于,所述的加权规则如下:识别每组码元序列的第一位和最后一位,如果第一位是定向码元的起始码元,最后一位是定向码元的结束码元,则该组序列加A分,其余情况不计分;

对每组候选格式信息数据串分别进行BCH译码,如果译码失败该序列扣除B分;若译码成功,查看译码出来的作定位控制符的数据码元的数值是否与预先设定值一致,若一致加C分,若不一致不计分;

查看每组码元序列的总分,取最高分的码元序列作为正确的定向码元。

说明书 :

全向可读二维条形码系统及其识读方法

技术领域

[0001] 本发明涉及二维条形码。

背景技术

[0002] 条形码可以分为一维条形码、堆栈码和二维条形码。其中,二维条形码的编码信息序列放置在编码区域内的各单元节点上。编码信息单元通常采用矩阵形式,编码时从阵列内的起始点开始,按照一定的分布规律将编码信息放置在对应的单元节点上。同样,译码时也从矩阵阵列的同一起始点开始,按照相同的分布规律从各单元节点中将有效的译码信息
提取出来,并送到译码系统中进行译码。显然,只有使得编码和译码的起始点重合,并按照相同的分布规律放置和读取信息序列,才能保证译码成功。目前,各二维条形码都采用各种功能图形对起始点进行定位。这种定位方式存在缺点:占用有效面积,减少编码区域面积;
起始点功能图形缺乏保护措施,一旦图形受损,会导致译码失败。
[0003] 因此,本申请人于2003年5月30号递交了申请号为03128955.X的《双向可读二维条形码系统及其识读方法》,可以确保从两个方向上读取到的编码信息序列的特定位置上都
是定向码元。但是,有时候扫码可能会转90度或270度再扫,一共四个方向,因此设计一种全向可读二维条形码系统是本申请人努力的方向。

发明内容

[0004] 本发明的目的之一在于提供可以从四个方向都可读的二维条形码系统。
[0005] 本发明的目的之二在于提供能够有效读取全向可读二维条形码系统的识读方法。
[0006] 实现上述目的的技术方案是:
[0007] 一种全向可读二维条形码系统,包括:
[0008] 由N*N矩阵形式排列的单元节点组成的编码区域,N为正整数且N≥11;
[0009] 位于所述编码区域周边的同步码元;
[0010] 编码信息序列以一特定的单元节点为起始点,并沿预设的识读方向依次分布于矩阵阵列的各单元节点上;所述起始点由定向码元标识;
[0011] 定向码元包括起始码元和27个后续码元,该28个码元分布于所述编码信息序列内不同的特定位置;
[0012] 各所述特定位置分别位于:
[0013] 矩阵阵列四角的四个单元节点;
[0014] 与每个角的单元节点相邻的两个单元节点;以及
[0015] 矩形阵列每个边中心的四个单元节点,该四个单元节点以两个相邻为一组地对称分布在中点两侧。
[0016] 在上述的全向可读二维条形码系统中,所述定向码元由顺时针排序的码元N_HEAD,S9,S8,……S1,S0,B_HEAD,R1,R2,R3,R4,B_TAIL,S’0,S’1,……S’8,S’9,N_TAIL组成,其中,
[0017] 码元序列{R4,R3,R2,R1,B_HEAD,S0,S1,……S9}构成一组BCH(15,5)纠错码序列;
[0018] 码元序列{R1,R2,R3,R4,B_TAIL,S’0,S’1,……S’9}构成另一组BCH(15,5)纠错码序列;
[0019] N_HEAD表示无BCH纠错功能头标志;
[0020] B_HEAD表示有BCH纠错功能头标志;
[0021] N_TAIL表示无BCH纠错功能尾标志;
[0022] B_TAIL表示有BCH纠错功能尾标志;
[0023] R1-R4为数据码元;N_HEAD,B_HEAD、N_TAIL、B_TAIL作定向信息的定位控制符,S0-S9和S’0-S’9分别作为各组纠错码序列内的纠错码元。
[0024] 在上述的全向可读二维条形码系统中,
[0025] 码元S9,S2,R4,S’5分别分布于矩阵阵列四个角的单元节点上;
[0026] 所述N_HEAD为起始码元。
[0027] 在上述的全向可读二维条形码系统中,所述起始码元所处的特定位置即为所述起始点的单元节点。
[0028] 本发明之二的上述全向可读二维条形码系统的识读方法,包括:
[0029] 分别从任一可能起始码元所处的特定位置开始,沿顺时针方向依次提取各特定位置上的码元,获取四组码元序列及其对应的四组28位候选格式信息数据串;
[0030] 对四组候选格式信息数据串分别进行BCH译码,获取四组作定向信息的定位控制符;
[0031] 对四组定位控制符分别加权,加权值最高的一组所对应的码元序列确定为正确的定向码元;
[0032] 根据定向码元确定所述起始点,从起始点开始沿预设的识读方向依次读取各单元节点上的编码信息,以获取编码信息序列;
[0033] 对读取的编码信息序列进行译码以获得存储的信息。
[0034] 在上述的全向可读二维条形码系统的识读方法中,所述起始码元所处的特定位置即为所述起始点的单元节点。
[0035] 在上述的全向可读二维条形码系统的识读方法中,所述的加权规则如下:
[0036] 识别每组码元序列的第一位和最后一位,如果第一位是定向码元的起始码元,最后一位是定向码元的结束码元,则该组序列加A分,其余情况不计分;
[0037] 对每组候选格式信息数据串分别进行BCH译码,如果译码失败该序列扣除B分;若译码成功,查看译码出来的作定位控制符的数据码元的数值是否与预先设定值一致,若一
致加C分,若不一致不计分;
[0038] 查看每组码元序列的总分,取最高分的码元序列作为正确的定向码元。
[0039] 本发明的有益效果是:
[0040] 本发明的二维条形码系统全方向可读,不必按照特定方向进行扫描,增加了实用性。同时,使得编码区域的面积增加,大大提高了信息存储密度和降低定位信息的受损概
率,并且通过为定位信息提供纠错保护提高可靠性。

附图说明

[0041] 图1是本发明之一的全向可读二维条形码系统的示意图;
[0042] 图2是本发明中定向码元的编号及对应数值的示意图;
[0043] 图3是本发明中定向码元顺时针排序的环形示意图。

具体实施方式

[0044] 下面将结合附图对本发明作进一步说明。
[0045] 请参阅图1,本发明的之一的全向可读二维条形码系统,编码区域A和位于编码区域周边的同步码元B,编码区域由N*N矩阵形式排列的单元节点组成,N为正整数且N≥11。同步码元包括位于矩阵边界上的垂直、水平同步信息单元对,用于确定每个编码信息单元的
基准位置和编码信息单元的畸变信息。
[0046] 本实施例中,采用11*11矩形阵列。
[0047] 编码信息序列以一特定的单元节点为起始点,并沿预设的识读方向依次分布于矩阵阵列的各单元节点上。因编码信息序列中的编码信息单元与单元节点一一对应,所以单
元节点的编号可以作为编码信息序列的序列号。识读方向即为编码信息序列在矩阵阵列中
的分布规律,预先确定。
[0048] 起始点由定向码元标识,两者之间相互关联,甚至重合,即:定向码元的起始码元所处的特定位置即为起始点所处的单元节点。所以,只要确定了定向码元的正确序列,就可以确定起始点,从而可以按识读方向读取编码信息序列。
[0049] 定向码元包括起始码元和27个后续码元,该28个码元分布于编码信息序列内不同的特定位置。各所述特定位置分别位于:矩阵阵列四角的四个单元节点;与每个角的单元节点相邻的两个单元节点;矩形阵列每个边中心的四个单元节点,该四个单元节点以两个相
邻为一组地对称分布在中点两侧。即:每4个码元一组地以矩阵中心点为中心,并且360度环形阵列地分布于编码信息序列内不同的特定位置(对应各单元节点)。
[0050] 本实施例中,定向码元由顺时针排序的码元N_HEAD,S9,S8,……S1,S0,B_HEAD,R1,R2,R3,R4,B_TAIL,S’0,S’1,……S’8,S’9,N_TAIL组成,编号依次为0-27,如图2所示。
[0051] 定义:N_HEAD=1,B_HEAD=1,B_TAIL=0,N_TAIL=0;
[0052] 设置:R1=1,R2=0,R3=0,R4=0;
[0053] N_HEAD表示无BCH纠错功能头标志;B_HEAD表示有BCH纠错功能头标志;N_TAIL表示无BCH纠错功能尾标志;B_TAIL表示有BCH纠错功能尾标志;R1-R4为数据码元;N_HEAD,B_HEAD、N_TAIL、B_TAIL作定向信息的定位控制符,S0-S9和S’0-S’9分别作为各组纠错码序列内的纠错码元。
[0054] 码元序列{R4,R3,R2,R1,B_HEAD,S0,S1,……S9}构成一组BCH(15,5)纠错码序列。由数据数组{R4,R3,R2,R1,B_HEAD}也就是{0,0,0,1,1}可以由BCH(15,5)算法得到纠错码数组{S0,S1,……S9}是{1,1,0,1,0,1,1,0,0,1}。
[0055] 码元序列{R1,R2,R3,R4,B_TAIL,S’0,S’1,……S’9}构成另一组BCH(15,5)纠错码序列。由数据数组{R1,R2,R3,R4,B_TAIL}也就是{1,0,0,0,0}可以由BCH(15,5)算法得到纠错码数组{S’0,S’1,……S’9}是{1,0,1,0,0,1,1,0,1,1}。具体如图2所示,本实施例中对定向码元设定的具体数值,取1填充,取0白色,编号0-27的定向码元可以得到实际数值是:{1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0}。完成定向码元编码过程。
[0056] 如图1所示,以各码元的编号代替各码元。将码元S9,S2,R4,S’5分别分布于矩阵阵列四个角的单元节点上。码元N_HEAD,S3,R3,S’4为一组,分布于码元S9,S2,R4,S’5逆时针方向相邻的一个单元节点上。码元S8,S1,B_TAIL,S’6为一组,分布于码元S9,S2,R4,S’5顺时针方向相邻的一个单元节点上。
[0057] 码元S7,S0,S’0,S’7为一组。码元S6,B_HEAD,S’1,S’8为一组。码元S5,R1,S’2,S’9为一组。码元S4,R2,S’3,N_TAIL为一组。该四组的码元以两个相邻为一组地对称分布在中点两侧的单元节点上。这样无论从那个方向扫描,都能按一定顺序读取出码元序列。本实施例中,N_HEAD作为起始码元。
[0058] 本发明之二的全向可读二维条形码系统的识读方法,包括下列步骤:
[0059] 一,分别从任一可能起始码元(N_HEAD,S3,R3,S’4)所处的特定位置开始,沿顺时针方向依次提取各特定位置上的码元,获取四组码元序列及其对应的四组28位候选格式信息数据串,为方便起见,将定向码元放置在如图3所示的环形数据串中。具体如下:
[0060] 把指针对在序号0,可以得到第一组28位候选格式信息数据串,其序号排列为:
[0061] [0,1,2,3,4,5,6,7,8,9,10,11,12,13.14,15,16,17,18,19,20,21,22,23,24,25,26,27]。
[0062] 第1组其实际数组数值是:
[0063] {1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0}。
[0064] 把指针顺时针方向转7位,对在序号7,可以得到第二组28位候选格式信息数据串,其序号排列为:
[0065] [7,8,9,10,11,12,13.14,15,16,17,18,19,20,21,22,23,24,25,26,27,0,1,2,3,4,5,6]。
[0066] 第2组其实际数组数值是:
[0067] {1,0,1,1,1,1,0,0,0,0,1,0,1,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0}。
[0068] 把指针再顺时针方向转7位,对在序号14,可以得到第三组28位候选格式信息数据串,其序号排列为:
[0069] [14,15,16,17,18,19,20,21,22,23,24,25,26,27,0,1,2,3,4,5,6,7,8,9,10,11,12,13]。
[0070] 第3组其实际数组数值是:
[0071] {0,0,0,1,0,1,0,0,1,1,0,1,1,0,1,1,0,0,1,1,0,1,0,1,1,1,1,0}。
[0072] 把指针再顺时针方向转7位,对在序号21,可以得到第四组28位候选格式信息数据串,其序号排列为:
[0073] [21,22,23,24,25,26,27,0,1,2,3,4,5,6,7,8,9,10,11,12,13.14,15,16,17,18,19,20]。
[0074] 第4组其实际数组数值是:
[0075] {0,1,1,0,1,1,0,1,1,0,0,1,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0}。
[0076] 二,对四组候选格式信息数据串分别进行BCH译码,获取四组作定向信息的定位控制符,对四组定位控制符分别加权,加权值最高的一组所对应的码元序列确定为正确的定
向码元,如下:
[0077] 组数:                        1       2       3       4
[0078] 比较无`BCH定位控制符:        1       1       0       0
[0079] 测试BCH译码结果:             1       1       1       1
[0080] 比较无`BCH定位控制符:        4       0       4       4
[0081] 总分:                        6       2       5       5
[0082] 上述加权规则如下:
[0083] 识别每组码元序列的第一位和最后一位,如果第一位是定向码元的起始码元N_HEAD,最后一位是定向码元的结束码元N_TAIL,则该组序列加A分(本实施例中加1分),其余情况不计分;
[0084] 对每组候选格式信息数据串分别进行BCH译码,如果译码失败该序列扣除B分(本实施例中扣2分);若译码成功,查看译码出来的作定位控制符的数据码元的数值B_HEAD,B_TAIL是否与预先设定值一致,若一致加C分(本实施例中加1分),若不一致不计分;
[0085] 查看每组码元序列的总分,取最高分的码元序列作为正确的定向码元。
[0086] 因为第1组码元序列的总分最高,取第1组的码元序列作为正确的定向码元。
[0087] 三,根据定向码元确定起始点,从起始点开始沿预设的识读方向依次读取各单元节点上的编码信息,以获取编码信息序列;
[0088] 四,对读取的编码信息序列进行译码以获得存储的信息。
[0089] 以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。