二维条码的编码和解码方法技术

技术编号:2933820 阅读:215 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及二维条码的编码方法和对应的解码方法。编码方法将输入的二进制数据信息编码,输出可附着在载体上的二维条码,包括步骤:A.根据纠错算法和纠错等级计算二进制数据信息的纠错码,将纠错码加入数据信息中形成新的比特流;比特流还可以分块交错排列;B.根据比特流大小确定条码段数,将比特流分成大小相等的数据段;掩模运算;C.在各段中分别加入段控制信息;根据载体的形状和尺寸决定条码的印刷解析度、长和宽;在条码中加入开始、结束模式,加入左、右侧定位模式;输出条码。本发明专利技术获得的二位条码便于线性接触型或非接触型光学扫描器译解,大信息量、高冗余度、多抗损等级、条码长宽和印刷解析度可变。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种二维条码的编码方法和使用线性、接触型或非接触型图像传感器扫描解码的方法。
技术介绍
条码是一组规则排列的条、空、及其对应字符组成的标记,用以表达一定信息。一维条码作为一种廉价、简单、快捷、准确的数字信息传递方式,最早由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倍单元宽度。上述步骤C中所述段控制信息包括总段数、交错标识、纠错算法等级,掩码类型和本段序列号;所述段控制信息中包括纠错码。本专利技术公开的一种二维条码解码方法,使用一维线阵接触型或非接触型图像传感器获取条码图像数据,输出编码前的二进制数据信息,包括下述步骤A.在图像数据中探测条码开始模式和结束模式,记录开始模式和结束模式的位置坐标;B.根据开始和结束模式的位置和形状计算扫描方向与条码的角度、判断条码是否头尾反向、是否左右镜像;根据开始或结束模式判断条码印刷解析度;C.根据扫描方向与条码的角度计算条码在垂直方向的投影,判断获得所有段分隔符的位置;D.从第一个段分隔符开始,根据印刷分辨率探测左侧行定位模式和右侧行定位模式,计算各行所有单元的坐标;E.根据段分隔符的位置读取所有段控制信息;F.对各段控制信息进行纠错,获得并存储段控制信息;G.根据段分隔符的位置和各行单元的坐标读取条码数据符区的全部数据信息,恢复比特流;H.根据段控制信息对于比特流进行可选择的反掩膜计算和反交错排列,然后再用相应的纠错算法和纠错等级进行纠错计算;恢复条码编码前的比特流信息。上述步骤A中可以先将扫描获得的图像数据进行图像增强预处理,再进行二值化处理。本专利技术公开的一种二维条码解码方法,使用一维线阵接触型或非接触型图像传感器获取条码图像数据,输出编码前的二进制数据信息,包括下述步骤A.扫描输出图像数据至缓冲存储器,并在图像数据中探测开始模式或者结束模式;B.如果探测到结束模式,则为条码头尾反向,转为扫描后解码模式;C.如果探测到开始模式,判断是否左右镜像,是则转为扫描后解码模式;D.根据开始模式判断条码印刷解析度;E.根据条码印刷解析度获得新一行的扫描数据;F.判断是否为段分隔符,否则回到步骤E;G.探测左右侧行定位模式;H.根据左右侧行定位模式定位并读取段控制信息;I.对段控制信息进行纠错,获得并存储段控制信息;J.根据段序号判断扫描是否正确地顺序进行;否则转扫描后解码程序;是则根据段控制信息判断数据是否交错,如果有数据交错,则转扫描后解码程序; K.根据左右侧行定位模式定位读取比特流信息;L.根据段控制信息中的纠错算法和纠错等级进行校验解码,恢复并输出比特流信息;M.根据段控制信息判断下一行是否段分隔符,否则回到步骤K;N.判断下一行扫描数据是否结束模式,否则回到步骤G;是则条码扫描结束。上述步骤F中判断一行扫描数据是否为段分隔符的方法是,将该行扫描数据的值之和与开始模式的一行扫描数据的值之和相比较,大于开始模式的一行扫描数据的值之和的1.5倍时判断为段分隔符。本专利技术公开的二维条码编码方法,设置了宽度可调的开始和结束模式,可以适应条码载体的形状和大小,也可以适应不同的条码印刷解析度,在解码方法中能够辨别是否头尾反向。由于开始和结束控制符的特殊结构,在解码方法中可以辨认条码是否左右镜像。本编码方法设置了数据分段模式,加入段控制信息,加强了对于不同长度信息的编、解码支持;左、右定位模式与数据分段的定位方式,特别适应一维线阵接触型或非接触型图像传感器手动扫描获取条码图像数据,增强了扫描定位准确率,在解码方法中如果有行定位模式被破坏,可以通过段分隔符的位置估算定位,避免了行定位模式的累积误差。可选的数据交叉排列方式加强了编码抗损程度。本专利技术的二维条码编码方法具有编码尺寸可调,长宽比可调,纠错等级可调,支持多种信息格式的优点。本专利技术的二维条码解码方法在扫描的同时进行解码,识别速度快、识别算法简单。附图说明本专利技术包括以下附图图1是本专利技术的一种二维条码;图2是本专利技术的二维条码的分解图;图3是本专利技术的二维条码的一种有两个开始控制符的开始模式;图4是本专利技术的二维条码的一种有三个开始控制符的开始模式;图5是本专利技术的本文档来自技高网...

【技术保护点】
一种二维条码编码方法,包括输入二进制数据信息,输出可附着在载体上的二维条码,其特征在于包括下述步骤: A. 根据纠错算法和纠错等级计算所述二进制数据信息的纠错码,将所述纠错码加入所述二进制数据信息中形成新的比特流; B. 根据所述比特流大小确定条码段数,将比特流分成大小相等的数据段,最后的数据不足一段时用条码填充符补足; C. 在所述各段中分别加入段控制信息;根据载体的形状和尺寸决定条码的印刷解析度、长和宽;在条码中加入开始模式(10)、结束模式(20),加入左侧定位模式(30)、右侧定位模式(40);输出条码。

【技术特征摘要】

【专利技术属性】
技术研发人员:常治国吕迎丰丁晓云
申请(专利权)人:武汉矽感科技有限公司
类型:发明
国别省市:83[中国|武汉]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利