CN1294519C - 二维条码的编码和解码方法 - Google Patents

二维条码的编码和解码方法 Download PDF

Info

Publication number
CN1294519C
CN1294519C CNB03117955XA CN03117955A CN1294519C CN 1294519 C CN1294519 C CN 1294519C CN B03117955X A CNB03117955X A CN B03117955XA CN 03117955 A CN03117955 A CN 03117955A CN 1294519 C CN1294519 C CN 1294519C
Authority
CN
China
Prior art keywords
bar code
data
section
bit stream
control information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB03117955XA
Other languages
English (en)
Other versions
CN1452117A (zh
Inventor
常治国
吕迎丰
丁晓云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Syscan Technology Co ltd
Original Assignee
Wuhan Xigan Sci & Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Xigan Sci & Tech Co Ltd filed Critical Wuhan Xigan Sci & Tech Co Ltd
Priority to CNB03117955XA priority Critical patent/CN1294519C/zh
Priority to US10/634,540 priority patent/US6802450B2/en
Priority to US10/634,283 priority patent/US7028911B2/en
Publication of CN1452117A publication Critical patent/CN1452117A/zh
Application granted granted Critical
Publication of CN1294519C publication Critical patent/CN1294519C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Printers Characterized By Their Purpose (AREA)

Abstract

本发明涉及二维条码的编码方法和对应的解码方法。编码方法将输入的二进制数据信息编码,输出可附着在载体上的二维条码,包括步骤:A.根据纠错算法和纠错等级计算二进制数据信息的纠错码,将纠错码加入数据信息中形成新的比特流;比特流还可以分块交错排列;B.根据比特流大小确定条码段数,将比特流分成大小相等的数据段;掩模运算;C.在各段中分别加入段控制信息;根据载体的形状和尺寸决定条码的印刷解析度、长和宽;在条码中加入开始、结束模式,加入左、右侧定位模式;输出条码。本发明获得的二维条码便于线性接触型或非接触型光学扫描器译解,大信息量、高冗余度、多抗损等级、条码长宽和印刷解析度可变。

Description

二维条码的编码和解码方法
技术领域  本发明涉及一种二维条码的编码方法和使用线性、接触型或非接触型图像传感器扫描解码的方法。
背景技术  条码是一组规则排列的条、空、及其对应字符组成的标记,用以表达一定信息。一维条码作为一种廉价、简单、快捷、准确的数字信息传递方式,最早由Kermod于上世纪20年代提出。而二维条码则是由Iterface Mechanisms公司于1970年开发。一维条码通过在水平方向上排列的条、空表达信息,在垂直方向不表达信息。相比之下,二维条码在垂直方向也能表达信息,其存储的信息量相对于一维条码大大增加了。早期一维条码数据量较小,只能存储字母和数字,尺寸比较大,损坏后便不能读取。二维条码除了保持了一维条码所具有的印刷简便,制造成本低,具有优秀的抗磁场、抗辐射能力等优点以外,在采用了Reed-Solomon纠错算法之后,抗磨损和擦伤的能力大大提高。
常见的二维条码主要有PDF 417、QR、DataStrip和Data matrix等。他们可以分成两类:层排式二维条码和矩阵式二维条码。层排式二维条码是由许多截短的一维条码层排而成,如PDF 417(美国专利5304786),它是由多个一维条码外加部分控制图案组成。它的缺点在于采用了一个基于929个码字(4个黑白间隔)的编码方式,每个条码字符只能代表9.2位数据,大大降低了单个PDF417条码的数据量。
QR编码(AIM International Symboloby Specification-QR Code),是由日本公司Denso Corp开发的用于工业自动化的矩阵式二维条码,该条码只能是方形,而且不能扫描同步解码,而且存储量有限。其最大数据容量,在其最大面积177个Z尺寸和纠错能力最低的时候750个纠错字节时,为2956个字节。
另一种是PCT专利WO 0051072中所描述的高密度二维矩阵式条码,主要用于储存生物统计信息。
技术方案  本发明的目的在于提供一种便于线性接触型或非接触型光学扫描器译解的大信息量、高冗余度、多抗损等级、条码长宽和印刷解析度可变的二维条码编码方法。本发明的另一个目的在于提供一种利用线性、接触型或非接触型图像传感器扫描后解码、或者扫描并行解码该二维条码的方法。
本发明公开的一种二维条码编码方法,输入二进制数据信息,输出可附着在载体上的二维条码,包括下述步骤:
A.根据纠错算法和纠错等级计算所述二进制数据信息的纠错码,将纠错码加入所述二进制数据信息中形成新的比特流;
B.根据比特流大小确定条码段数,将比特流分成大小相等的数据段,最后的数据不足一段时用条码填充符补足;
C.在各数据段中每一段的头部加入段控制信息;根据载体的形状和尺寸决定条码的印刷解析度、长和宽;分别在条码的头部和尾部所对应的、相对的两边加入开始、结束模式,分别在条码的头部和尾部所对应的两边相垂直的另外两边加入左、右侧定位模式;输出条码。
上述步骤A中将纠错码加入所述比特流中后,再将所述比特流分成大小相等的数据块,分块时根据需要加入填充符;再分别依次从每一个数据块中顺序提取一个数据,并根据提取的顺序排列这些数据,从而将各个数据块中的数据交叉排列,更新成新的比特流。
上述步骤B中将所述比特流分成所述数据段后,再选择掩膜种类,对各段中的数据对掩膜进行异或运算,获得新的比特流。
在上述步骤A之前先对欲编条码的所述二进制数据信息进行可以压缩数据量的二次编码,获得新的二进制数据信息比特流。
在上述步骤C中的所述开始控制模式包括开始控制符和结尾条;结束模式包括结束控制符和结尾条,所述开始控制符的结构为条、空交替沿条码宽度方向排列,条、空的宽度分别为[3∶1∶1∶2∶2∶2],以单元宽度尺寸为单位;结束控制符的结构为条、空交替沿条码宽度方向排列,条、空的宽度分别为[3∶2∶2∶1∶1∶2],以单元宽度尺寸为单位;结尾条的宽度为3倍单元宽度。
上述步骤C中所述段控制信息包括总段数、交错标识、纠错算法等级,掩码类型和本段序列号;所述段控制信息中包括纠错码。
本发明公开的一种二维条码解码方法,使用一维线阵接触型或非接触型图像传感器获取条码图像数据,输出编码前的二进制数据信息,包括下述步骤:
A.在图像数据中探测条码开始模式和结束模式,记录开始模式和结束模式的位置坐标;
B.根据开始和结束模式的位置和形状计算扫描方向与条码的角度、判断条码是否头尾反向、是否左右镜像;根据开始或结束模式判断条码印刷解析度;
C.根据扫描方向与条码的角度计算条码在垂直方向的投影,判断获得所有段分隔符的位置;
D.从第一个段分隔符开始,根据印刷分辨率探测左侧行定位模式和右侧行定位模式,计算各行所有单元的坐标;
E.根据段分隔符的位置读取所有段控制信息;
F.对各段控制信息进行纠错,获得并存储段控制信息;
G.根据段分隔符的位置和各行单元的坐标读取条码数据符区的全部数据信息,恢复比特流;
H.根据所述段控制信息对于比特流进行反掩膜计算和反交错排列的计算,获得新的比特流;然后再用相应的纠错算法和纠错等级对所述比特流进行纠错计算;
I.恢复条码编码前的比特流信息。
本发明还公开了一种二维条码解码方法,使用一维线阵接触型或非接触型图像传感器获取条码图像数据,输出编码前的二进制数据信息,包括下述按时间顺序执行的步骤:
A.扫描输出图像数据至缓冲存储器,并在图像数据中探测开始模式或者结束模式;
B.判断是否探测到结束模式,是则为条码头尾反向,转为扫描后解码模式,否则继续执行下一步;
C.判断是否探测到开始模式,否则回到步骤A;是则根据该开始模式判断是否左右镜像,是左右镜像则转为扫描后解码模式;非左右镜像则继续执行下一步;
D.根据开始模式的开始控制符的尺寸判断条码印刷解析度;
E.根据条码印刷解析度获得新一行的扫描数据;
F.判断是否为段分隔符,否则回到步骤E;是则进入下一步;
G.探测左右侧行定位模式;
H.根据左右侧行定位模式定位并读取段控制信息;
I.对段控制信息进行纠错,获得并存储段控制信息;
J.根据段序号判断扫描是否正确地顺序进行;否则转扫描后解码程序;是则根据段控制信息判断数据是否交错,如果有数据交错,则转扫描后解码程序;否则进入下一步;
K.根据左右侧行定位模式定位读取比特流信息;
L.根据段控制信息中的纠错算法和纠错等级进行校验解码,恢复并输出比特流信息;
M.根据段控制信息判断下一行是否段分隔符,否则回到步骤K;是则进入下一步;
N.判断下一行扫描数据是否结束模式,否则回到步骤G;是则条码扫描结束。
上述解码方法的步骤F中判断一行扫描数据是否为段分隔符的方法可以是,将该行扫描数据的值之和与开始模式的一行扫描数据的值之和相比较,大于开始模式的一行扫描数据的值之和的1.5倍时判断为段分隔符。
本发明公开的二维条码编码方法,设置了宽度可调的开始和结束模式,可以适应条码载体的形状和大小,也可以适应不同的条码印刷解析度,在解码方法中能够辨别是否头尾反向。由于开始和结束控制符的特殊结构,在解码方法中可以辨认条码是否左右镜像。本编码方法设置了数据分段模式,加入段控制信息,加强了对于不同长度信息的编、解码支持;左、右定位模式与数据分段的定位方式,特别适应一维线阵接触型或非接触型图像传感器手动扫描获取条码图像数据,增强了扫描定位准确率,在解码方法中如果有行定位模式被破坏,可以通过段分隔符的位置估算定位,避免了行定位模式的累积误差。可选的数据交叉排列方式加强了编码抗损程度。本发明的二维条码编码方法具有编码尺寸可调,长宽比可调,纠错等级可调,支持多种信息格式的优点。本发明的二维条码解码方法在扫描的同时进行解码,识别速度快、识别算法简单。
附图说明  本发明包括以下附图:
图1是本发明的一种二维条码;
图2是本发明的二维条码的分解图;
图3是本发明的二维条码的一种有两个开始控制符的开始模式;
图4是本发明的二维条码的一种有三个开始控制符的开始模式;
图5是本发明的二维条码的一种有两个结束控制符的结束模式;
图6是本发明二维条码的数据段交叉排列编码的示意图;
图7是本发明二维条码的一种段控制信息的实施例;
图8是本发明采用的三种数据掩膜;
图9是本发明的二维条码的编码流程图;
图10是本发明的二维条码的扫描后解码流程图;
图11是本发明的二维条码的扫描并行解码流程图。
实施例  在条码识读设备中接触式扫描器的光照均匀,获取的图像与原图像相比非线性失真小,图像质量好,因此可以设计一种结构最大限度简洁化的矩阵式二维条码,从而能提高相同面积印刷载体的信息存储容量。
如图1所示本发明的二维条码由矩形单元组成、外部轮廓也为矩形。图2是本发明的二维条码的分解图,本发明的二维条码包括开始模式10、结束模式20、左侧定位模式30、右侧定位模式40、条码数据符区50和位于条码数据符区的段分隔符60。
本发明的开始模式10由开始控制符101和结尾条105组成。开始控制符101由不同条宽的3个条和不同空宽的3个空间隔组成,沿条码数据符区50的宽度方向排列。在一个二维条码中开始控制符101可以是一个也可以是多个,由载体的形状大小决定。如图3所示是由2个开始控制符101和一个结尾条105组成的开始模式10;图4是由3个开始控制符101和一个结尾条105组成的开始模式10。
本发明的结束模式20是由结束控制符201和结尾条105组成。结束控制符201由不同条宽的3个条和不同空宽的3个空间隔组成,沿条码数据符区50的宽度方向排列。在一个二维条码中结束控制符201可以是一个也可以是多个,由载体的形状大小决定。如图5所示是由2个结束控制符201和一个结尾条105组成的结束模式20。
开始模式10和结束模式20中的开始控制符101和结束控制符201的数量一般相等、结尾条105也都是宽度为3个单元宽度尺寸。
因为开始模式10与结束模式20的结构不同,因此通过扫描读取其不同点,可以判断条码是否被上下颠倒或者左右镜像。
本发明二维条码的头部通过开始模式10中开始控制符101的重复次数确定宽度,如图3、图4中的开始控制符101的条、空的宽度分别为[3∶1∶1∶2∶2∶2],以单元宽度尺寸为单位。在同一个条码中结束控制符201的宽度与开始控制符101相等,重复次数也相等。如图5中的结束控制符201的条、空的宽度分别为[3∶2∶2∶1∶1∶2],以单元宽度尺寸为单位。所以条码的宽度为C个单元宽度;其中C=11*N+3,N=1,2,...,N是整数,为开始控制符重复的次数,N的上限由载体的形状大小决定。
当采用手持式扫描器识读二维条码时,扫描方向与条码会存在角度,扫描速度不可能均匀,扫描器扫过条码的轨迹有一定的不确定性,因此在条码中加入与条码储存的信息无关的控制信息,可以提高扫描识读成功率,本发明二位条码的左侧定位模式30和右侧定位模式40正是为此目的而设计的。
左侧定位模式30和右侧定位模式40分别是由2列宽度为一个单元宽度尺寸的条、以及位于该两列之间的一列宽度为一个单元宽度尺寸、由条和空交错排列的单元组成;左侧定位模式30和右侧定位模式40中的条和空与条码数据符区50中的单元大小相同。左、右侧定位模式的中间列可以由如图1、图2所示的由一个条和一个空间隔排列,也可以由多个条和一个空间隔排列,还可以由条和空以其它组合间隔排列,都属于本发明公开和保护的内容。
如前面所述,由CIS获取的图像非线性失真较小,也就是说图形内部结构的相对位置基本固定,因此可以从扫描获得的图像中准确定位矩阵图形,而位于条码两侧的左、右侧定位模式中处于一条水平线上的条空分布完全一样,正可以达到此目的。当左右一对空或者条被识别出来后,该行所有其它单元的中心位置也就能被准确计算出来并保存,从而其位流信息即可直接获得;根据上一对左、右侧定位模式中条空的位置就可以估计并计算出、保存其下面一行单元的位置。因此用左、右侧定位模式作为图形识别的定位标志,识别速度快、识别算法简单、扫描和识别可以并行处理。
如图2所示,条码数据符区50分成大小相等的数据段,数据段之间用段分隔符60分隔。段分隔符60由一行横向的连续条组成。条码数据符区50为信息的存储区,每个单元存放一个比特(bit)的信息,例如条代表“0”,空代表“1”。条码数据符区50中信息的排放方式可以是以行为主从上至下排列,也可以是以列为主从左至右或者从右至左排列,不同的选择可以在段控制信息中存储。
本发明可以是在行的方向和列的方向上具有相同数量单元,也可以是在行的方向和列的方向上具有不相同数量单元,可根据其附着载体的大小决定。
在条码数据符区50中,可以用里德-所罗门算法来实现错误的校验和纠正。里德-所罗门算法,于1960年由Reed-Solomon共同提出的,它是已知的代数编码纠错方式中纠错能力最强的数据编码方式,是一种本领域技术人员熟知的标准算法。在本编码中我们对与定长的数据块进行代数运算从而生成纠错码。数据字节与纠错字节组合成长度大小为127个字节数据块。
相对四个不同等级而言,相应的纠错能力列表如下
  纠错等级   数据码数   纠错码数   替代错误纠错率   擦除错误纠错率
  1   119   8   3.1%   6.3%
  2   111   16   6.3%   12.6%
  3   95   32   12.6%   25.2%
  4   63   64   25.2%   50.4%
由上表可见纠错算法虽然可以纠正识读错误,但纠错等级越高就会产生越多的纠错码,降低了条码的信息密度。
如果条码被损坏就会使识读成功率降低,一般对条码的人为破坏主要包括:污垢、皱褶、残损、穿孔,通常对条码的破坏在载体上是连续的,因此往往造成数据的连续错误。把数据交叉排列可以提高条码有人为破坏时的识读率。见图6,经过校验的数据块首先被分成多个固定长度,在图6中每个数据块的长度是127字节,有A1,A2,...A127;B1,B2,...B127和C1,C2,...C127三块,在条码数据符区50中多个数据块交错排列,如A1,B1,C1,A2,B2,C2,...。图6是对三块长度为127个字节的数据的交错排列示意图,实际编码中可是4个、5个、或更多个数据块交错排列。数据块交错排列法大大加强了条码被人为破坏后的识读率,而且并没有加大实际的数据量。
如果数据量很大,单个条码过长,在粗糙的环境下左、右侧定位模式有损坏时扫描识读的行信息定位就会不准。为此,本发明的编码方法除了对数据分块之外,还对条码进行物理上分段,使用段分隔符60将条码分成长度固定的数据段。在扫描过程中通过对于段分隔符的定位,可以在左右定位模式被污染或缺失的情况下估算行定位信息。
本发明的编码方法在每一段内的开始部分设置段控制信息,进一步提高条码识读率。如图7所示是本发明二维条码的一种段控制信息的实施例,该段控制信息包括3个各15个比特信息,记录着总段数,交错标识、所罗门纠错等级,掩码类型(4种状态之一)和本段序列号。所述交错标识是表示是否采用数据块交错排列法的标识。图中e0,e1,...e9代表纠错位;a0,a1,...a4代表条码总段数;b1,b2代表纠错等级,b3,b4代表掩码模式;c1,c2,...c4代表本段序列号。这些信息有助于成功解读段内信息。总段数信息、交错标识、所罗门纠错等级和掩码类型在每一段的开始进行重复,减少了由于段控制信息不能复原、被破坏而造成的数据信息丢失、或者扫描解码的失败。
当条码中出现大面积的深色或浅色区域时印刷和识读时会产生漏斗效应,大面积同色区域中的小块异色区被同色区掩盖。用固定的掩膜方式对于写入的编码进行异或,可以减少条码中大面积同色区域出现,使数据区域中条和空成均匀的分布状态。这样也进一步避免了数据编码与功能模块的混淆。如图8展示3种掩膜模式。所述掩膜是用于对编码数据进行异或运算、以达到减少条码中大面积同色区域出现、使条码数据区域中条和空成均匀的分布状态的数据串。在解码时进行相应的反掩膜计算,所述反掩膜计算是恢复出掩膜处理前的数据。
本发明的编码方法对相应的字符集(数字、ASCII、汉字)分别运用特定的二次编码方式,所以大大增加了本条码的容量,可以用13BIT表示一个汉字、10Bit表示一个三位的十进制数字字符,7Bit表示一个ASC127编码。
本编码中可进行二次编码的字符集列表如下:
■GB2312:GB3212共有6763编码,每个编码占用两个字节,存在大量的剩余编码,用13bit编码就可以完全编码6763个GB2312码(还剩余1429个编码),因此每个汉字可以节省3个bit。
■ASC127:ASCII编码中前128个编码的最高位为零,将其丢弃采用7bit编码,因此每个英文字符可以节省1个bit。
■数字字符0-9:将每三个连续数字划分成一组,如果最后一组不足三个数字用零填充。将每组数字转换成3位十进制数,再用10bit二进制数编码,因此平均每个数字仅占用3.3个比特。
■8bit字节:非以上三种类型的数据都可以当成8bit字节数据处理,其二次编码分为非压缩编码与压缩编码。非压缩编码首先输出bit0,随后就是8bit字节数据本身;压缩编码首先输出bit1,随后是数据的压缩编码,压缩与解压缩算法待定。
■用户自定义数据标记编码规则:4bit类型编码与8bit数据长度编码与数据字节的和,数据字节最多256字节,每个字节8bits。
图9是本发明的二维条码的编码方法,包括如下步骤:
1、对欲编条码的信息进行二次编码,获得数据流(比特流);
2、根据纠错等级计算纠错码,将纠错字节加入比特流中,再将比特流进行分块;例如图6所示127字节为一块,如果采用4级所罗门算法,则每块有数据位63字节,纠错位64字节;
3、将各个数据块中的数据交叉排列,获得新的比特流;
4、根据比特流大小确定段数,将比特流分成大小相等的数据段,可以用条码填充符补足最后的数据段;所述条码填充符是用于补足最后一个数据段的数据串;
5、选择掩膜种类,对各段中的数据进行掩膜计算,获得新的数据流;
6、在各段中分别加入段控制信息;根据载体的形状和尺寸决定条码的印刷解析度、长和宽;在条码中加入开始、结束模式,加入左、右侧定位模式;输出条码。
解码时,可以根据开始模式中开始控制符的大小,从扫描数据中判断出条码中的一个单元的条或者空的印刷尺寸,从而得知印刷解析度。
本发明的二维条码的特性便于一维线阵接触型(CIS)或非接触型图像传感器读取与解码。一维线阵接触型图像传感器的主要特点在于1∶1的接触式扫描。图10是本发明的二维条码的扫描后解码流程图,所包括的步骤按时间顺序为:
1、通过一维线阵接触型或非接触型图像传感器获取条码图像,对于获得的图像数据进行预处理,例如图像增强(image enhance增加对比度)等,然后对图像数据进行二值化处理;
2、在图像数据中探测条码开始模式和结束模式,记录开始模式和结束模式的位置坐标;
3、根据开始和结束模式的位置和形状计算扫描方向与条码的角度、判断条码是否头尾反向、是否左右镜像;根据开始或结束模式判断条码印刷解析度;
4、根据扫描方向与条码的角度计算条码在垂直方向的投影(将条码上各行图像数据相加,不同的单元排列将会获得不同的值),判断所有段分隔符60的位置;
5、从第一个段分隔符开始,根据印刷分辨率探测左侧行定位模式30和右侧行定位模式40,计算各行所有单元的中心坐标;
6、根据段分隔符60的位置读取所有段控制信息;
7、对各段控制信息进行纠错,获得并存储总段数、纠错等级、交错标识、掩膜模式、各段编号等段控制信息;
8、根据段分隔符60的位置读取条码数据符区50的全部数据信息,恢复比特流;
9、对于比特流进行反掩膜,反交错,然后用里德索罗门算法进行纠错;
10、恢复条码编码前的比特流信息,再对二次编码进行解码。
图11是本发明的二维条码的扫描并行解码流程图,扫描同步解码包括如下步骤:
1、扫描输出图像数据至缓冲存储器,并在图像数据中探测开始模式10或者结束模式20;
2、如果探测到结束模式20,则为条码头尾反向,转为扫描后解码模式;
3、如果探测到开始模式10,判断是否左右镜像,是则转为扫描后解码模式;
4、根据开始模式判断条码印刷解析度;
5、根据条码印刷解析度获得新一行的扫描数据;
6、计算该扫描数据在垂直方向的投影,投影值为开始模式投影值的1.5倍以上时认为是段分隔符60;判断是否为段分隔符,否则回到第5步;
7、探测左右侧行定位模式30,40;
8、根据左右侧行定位模式30,40定位并读取段控制信息;
9、对段控制信息进行纠错,获得并存储总段数、纠错等级、交错标识、掩膜模式、本段序号等控制信息;
10、根据段序号判断扫描是否正确地顺序进行;否则转扫描后解码程序;是则根据段控制信息判断数据是否交错,如果有数据交错,则转扫描后解码程序;
11、根据左右侧行定位模式30、40定位读取比特流信息;
12、根据段控制信息中的纠错算法和纠错等级进行校验解码,恢复并输出比特流信息;
13、根据段控制信息判断下一行是否段分隔符60,否则回到第11步;
14、判断再下一行扫描数据是否结束模式20,否则回到第7步;是则条码扫描结束。

Claims (9)

1、一种二维条码编码方法,包括输入二进制数据信息,输出可附着在载体上的二维条码,其特征在于包括下述步骤:
A.根据纠错算法和纠错等级计算所述二进制数据信息的纠错码,将所述纠错码加入所述二进制数据信息中形成新的比特流;
B.根据所述比特流大小确定条码段数,将比特流分成大小相等的数据段,最后的数据不足一段时用条码填充符补足;
C.在所述各数据段中每一段的头部加入段控制信息;根据载体的形状和尺寸决定条码的印刷解析度、长和宽;分别在条码的头部和尾部所对应的、相对的两边加入开始模式(10)、结束模式(20),分别在条码的头部和尾部所对应的两边相垂直的另外两边加入左侧定位模式(30)、右侧定位模式(40);输出条码。
2、根据权利要求1所述的二维条码编码方法,其特征在于,所述步骤A中将所述纠错码加入所述比特流中后,再将所述比特流分成大小相等的数据块,分块时根据需要加入填充符;再分别依次从每一个数据块中顺序提取一个数据,并根据提取的顺序排列这些数据,从而将各个数据块中的数据交叉排列,更新成新的比特流。
3、根据权利要求1所述的二维条码编码方法,其特征在于,所述步骤B中将所述比特流分成所述数据段后,再选择掩膜种类,将各段中的数据对掩膜进行异或运算,获得新的比特流。
4、根据权利要求1所述的二维条码编码方法,其特征在于,在所述步骤A之前先对欲编条码的所述二进制数据信息进行可以压缩数据量的二次编码,获得新的二进制数据信息比特流。
5、根据权利要求1所述的二维条码编码方法,其特征在于,所述步骤C中的所述开始模式(10)包括开始控制符(101)和结尾条(105);所述结束模式(20)包括结束控制符(201)和结尾条(105),所述开始控制符(101)的结构为条、空交替沿条码宽度方向排列,条、空的宽度分别为3∶1∶1∶2∶2∶2,以单元宽度尺寸为单位;所述结束控制符(201)的结构为条、空交替沿条码宽度方向排列,条、空的宽度分别为3∶2∶2∶1∶1∶2,以单元宽度尺寸为单位;所述结尾条(105)的宽度为3倍单元宽度。
6、根据权利要求1所述的二维条码编码方法,其特征在于,所述步骤C中所述段控制信息包括总段数、交错标识、纠错算法等级,掩膜类型和本段序列号;所述段控制信息中包括纠错码。
7、一种二维条码解码方法,使用一维线阵接触型或非接触型图像传感器获取条码图像数据,恢复输出编码前的二进制数据信息,其特征在于包括下述步骤:
A.在图像数据中探测条码开始模式(10)和结束模式(20),记录所述开始模式和结束模式的位置坐标;
B.根据所述开始和结束模式的位置和形状计算扫描方向与条码的角度、判断条码是否头尾反向、是否左右镜像;根据所述开始或结束模式判断条码印刷解析度;
C.根据所述扫描方向与条码的角度计算条码在垂直方向的投影,判断获得所有段分隔符(60)的位置;
D.从第一个段分隔符开始,根据印刷分辨率探测左侧行定位模式(30)和右侧行定位模式(40),计算各行所有单元的坐标;
E.根据所述段分隔符(60)的位置读取所有段控制信息;
F.对各段控制信息进行纠错,获得并存储段控制信息;
G.根据所述段分隔符(60)的位置和各行单元的坐标读取条码数据符区(50)的全部数据信息,恢复比特流;
H.根据所述段控制信息对于比特流进行反掩膜计算和反交错排列的计算,获得新的比特流;然后再用相应的纠错算法和纠错等级对所述比特流进行纠错计算;
I.恢复条码编码前的比特流信息。
8、一种二维条码解码方法,使用一维线阵接触型或非接触型图像传感器获取条码图像数据,输出编码前的二进制数据信息,其特征在于包括下述按时间顺序执行的步骤:
A.扫描输出图像数据至缓冲存储器,并在图像数据中探测开始模式(10)或者结束模式(20);
B.判断是否探测到结束模式(20),是则为条码头尾反向,转为扫描后解码模式;否则继续执行下一步;
C.判断是否探测到开始模式(10),否则回到步骤A;是则根据该开始模式(10)判断是否左右镜像,是左右镜像则转为扫描后解码模式;非左右镜像则继续执行下一步;
D.根据开始模式的开始控制符(101)的尺寸判断条码印刷解析度;
E.根据条码印刷解析度获得新一行的扫描数据;
F.判断是否为段分隔符,否则回到步骤E;是则进入下一步;
G.探测左右侧行定位模式(30),(40);
H.根据左右侧行定位模式(30),(40)定位并读取段控制信息;
I.对段控制信息进行纠错,获得并存储段控制信息;
J.根据段序号判断扫描是否正确地顺序进行;否则转扫描后解码程序;是则根据段控制信息判断数据是否交错,如果有数据交错,则转扫描后解码程序;否则进入下一步;
K.根据左右侧行定位模式(30)、(40)定位读取比特流信息;
L.根据段控制信息中的纠错算法和纠错等级进行校验解码,恢复并输出比特流信息;
M.根据段控制信息判断下一行是否段分隔符(60),否则回到步骤
K;是则进入下一步;
N.判断下一行扫描数据是否结束模式(20),否则回到步骤G;是则条码扫描结束。
9、根据权利要求8所述的二维条码解码方法,其特征在于,所述步骤F中判断一行扫描数据是否为段分隔符的方法是,将该行扫描数据的值之和与所述开始模式(10)的一行扫描数据的值之和相比较,大于所述开始模式(10)的一行扫描数据的值之和的1.5倍时判断为段分隔符。
CNB03117955XA 2002-08-07 2003-05-22 二维条码的编码和解码方法 Expired - Lifetime CN1294519C (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNB03117955XA CN1294519C (zh) 2003-05-22 2003-05-22 二维条码的编码和解码方法
US10/634,540 US6802450B2 (en) 2002-08-07 2003-08-05 Guiding a scanning device to decode 2D symbols
US10/634,283 US7028911B2 (en) 2002-08-07 2003-08-05 Methods and systems for encoding and decoding data in 2D symbology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB03117955XA CN1294519C (zh) 2003-05-22 2003-05-22 二维条码的编码和解码方法

Publications (2)

Publication Number Publication Date
CN1452117A CN1452117A (zh) 2003-10-29
CN1294519C true CN1294519C (zh) 2007-01-10

Family

ID=29222830

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03117955XA Expired - Lifetime CN1294519C (zh) 2002-08-07 2003-05-22 二维条码的编码和解码方法

Country Status (1)

Country Link
CN (1) CN1294519C (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010012194A1 (zh) * 2008-07-30 2010-02-04 华为技术有限公司 二维码编码方法、解码方法及装置、终端
CN101908133A (zh) * 2010-06-01 2010-12-08 福建新大陆电脑股份有限公司 一种条码解码方法及装置
CN102456354A (zh) * 2010-10-22 2012-05-16 山东新北洋信息技术股份有限公司 磁信息记录方法及装置、磁票

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100433053C (zh) * 2005-08-26 2008-11-12 毛山 基于二维条码传输信息的方法及其编码装置、解码装置
CN100369059C (zh) * 2006-01-18 2008-02-13 冯文伦 一种矩阵式二维条码及其编码解码方法
CN100377173C (zh) * 2006-03-17 2008-03-26 北京紫光捷通科技有限公司 一种基于十六进制编码的构建二维码的方法
CN100464345C (zh) * 2006-11-07 2009-02-25 中国物品编码中心 二维条码符号转换为编码信息的方法
CN101840501B (zh) * 2010-06-01 2012-05-23 福建新大陆电脑股份有限公司 一种条码图像的解码方法及装置
CN101882201B (zh) * 2010-06-01 2012-06-27 福建新大陆电脑股份有限公司 一种条码解码芯片及方法
CN102129585B (zh) * 2011-03-03 2013-03-27 天地融科技股份有限公司 一种信息传输方法及***、条形码显示及读取装置
CN102708349B (zh) 2012-05-11 2014-11-05 深圳市天朗时代科技有限公司 一种矩阵式二维码的解码方法
CN103544516B (zh) * 2012-07-12 2016-09-07 ***通信集团公司 二维码的编、解码方法及二维码编码器、解码器
CN104463291B (zh) * 2013-09-16 2018-06-05 深圳市同盛绿色科技有限公司 防伪方法及移动设备
CN106991348B (zh) * 2017-03-21 2019-11-15 浙江华睿科技有限公司 一种条码解码方法及装置
CN109389195A (zh) * 2017-08-04 2019-02-26 武汉矽感科技有限公司 一种生成***二维码的方法以及具有该二维码的***
TWI635462B (zh) * 2017-10-18 2018-09-11 大猩猩科技股份有限公司 一種評估影像品質之方法
CN109688404B (zh) * 2017-10-18 2021-06-29 大猩猩科技股份有限公司 一种评估影像质量的方法
CN108507596B (zh) * 2018-03-05 2020-06-30 中国科学院上海光学精密机械研究所 二维gold矩阵绝对位置编码方法及其解码方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1076798A (zh) * 1992-03-16 1993-09-29 欧林巴斯光学工业股份有限公司 利用ccd/cmd摄象机对二维条形码解码的方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1076798A (zh) * 1992-03-16 1993-09-29 欧林巴斯光学工业股份有限公司 利用ccd/cmd摄象机对二维条形码解码的方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010012194A1 (zh) * 2008-07-30 2010-02-04 华为技术有限公司 二维码编码方法、解码方法及装置、终端
CN101908133A (zh) * 2010-06-01 2010-12-08 福建新大陆电脑股份有限公司 一种条码解码方法及装置
CN101908133B (zh) * 2010-06-01 2012-06-06 福建新大陆电脑股份有限公司 一种条码解码方法及装置
CN102456354A (zh) * 2010-10-22 2012-05-16 山东新北洋信息技术股份有限公司 磁信息记录方法及装置、磁票
CN102456354B (zh) * 2010-10-22 2015-05-20 山东新北洋信息技术股份有限公司 磁信息记录方法及装置、磁票

Also Published As

Publication number Publication date
CN1452117A (zh) 2003-10-29

Similar Documents

Publication Publication Date Title
CN1294519C (zh) 二维条码的编码和解码方法
CN1161705C (zh) 无边框、无时钟二维条形码及印刷和读取该条形码的方法
CN1344399A (zh) 用于存储生物统计信息的二维印刷码和读取该印刷码的设备
EP1559063B1 (en) Orientation-indicating cyclic position codes
CN1708769A (zh) 可能控制纠错码的等级的具有高级解码特性的二维码、和用于编码和解码该二维码的方法
CN1670763A (zh) 一种二维条码及其编解码方法
EP0783160B1 (en) Method for reading a clock free two-dimensional barcode
CN1089178C (zh) 条码编码方法和***
US9665759B2 (en) Decoding method for matrix two-dimensional code
US20070023523A1 (en) Code pattern image generation apparatus and method, code pattern image reader apparatus and method, and code pattern image medium
US7677463B2 (en) Process for tag imaging and decoding of machine readable coded data
JP2006012162A (ja) 高密度幾何学シンボルセットを符号化するためのシステムおよび方法
US8275168B2 (en) Orientation free watermarking message decoding from document scans
WO2010031110A1 (en) Data storage device and encoding/decoding methods
CN1471685A (zh) 在照片上实现容错数据存储的方法和设备
CN1862560A (zh) 一种基于定位图形的可快速定位的二维条码***
CN1471684A (zh) 在照片上实现容错数据存储的方法和设备
CN1959704A (zh) 二维条码符号转换为编码信息的方法
CN100356399C (zh) 二维条形码码图印刷方法及解码方法
US8544741B2 (en) Data block offset encoding method for coordinates
CN1945622A (zh) 一种数字水印嵌入与提取方法及装置
US6641051B1 (en) System for embedded digital data that allows embedding of data around known obstructions
CN108734048A (zh) 基于专***的多维度二维码生成与译码方法
CN1134895C (zh) 压缩电子墨迹的方法和装置
CN101063998A (zh) 新型二维条码(q码)的编码和解码方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: WUHAN SYSCAN TECHNOLOGY CO, LTD.

Free format text: FORMER OWNER: XIGAN SCI. + TECH. CO., LTD., SHENZHEN

Effective date: 20060728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20060728

Address after: 430040 No. 4 Wu Nan Road, Wuhan Taiwan investment zone, East and West Lake District

Applicant after: WUHAN SYSCAN TECHNOLOGY Co.,Ltd.

Address before: 518034 No. 1 World Plaza office building, No. 7002 Hongli West Road, Guangdong, Shenzhen 19A

Applicant before: SHENZHEN SYSCAN TECHNOLOGY Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SHANGHAI SYSCAN INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20130308

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: WUHAN, HUBEI PROVINCE TO: 430040 WUHAN, HUBEI PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130308

Address after: 430040, No. 4, Wu Nan Road, Taiwan business investment zone, Dongxihu District, Hubei, Wuhan

Patentee after: WUHAN SYSCAN TECHNOLOGY Co.,Ltd.

Patentee after: SHANGHAI SYSCAN INFORMATION TECHNOLOGY Co.,Ltd.

Address before: No. 4, Wu Nan Road, Taiwan business investment zone, Dongxihu District, Wuhan

Patentee before: WUHAN SYSCAN TECHNOLOGY Co.,Ltd.

ASS Succession or assignment of patent right

Free format text: FORMER OWNER: SHANGHAI SYSCAN INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20130930

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130930

Address after: 430040, No. 4, Wu Nan Road, Taiwan business investment zone, Dongxihu District, Hubei, Wuhan

Patentee after: WUHAN SYSCAN TECHNOLOGY Co.,Ltd.

Address before: 430040, No. 4, Wu Nan Road, Taiwan business investment zone, Dongxihu District, Hubei, Wuhan

Patentee before: WUHAN SYSCAN TECHNOLOGY Co.,Ltd.

Patentee before: SHANGHAI SYSCAN INFORMATION TECHNOLOGY Co.,Ltd.

CX01 Expiry of patent term

Granted publication date: 20070110

CX01 Expiry of patent term