书签 分享 收藏 举报 版权申诉 / 23

二维条码的编码和解码方法.pdf

  • 上传人:111****112
  • 文档编号:6241167
  • 上传时间:2019-05-24
  • 格式:PDF
  • 页数:23
  • 大小:1.05MB
  • 摘要
    申请专利号:

    CN03117955.X

    申请日:

    2003.05.22

    公开号:

    CN1452117A

    公开日:

    2003.10.29

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    专利权的转移IPC(主分类):G06K 7/10变更事项:专利权人变更前权利人:武汉矽感科技有限公司变更后权利人:武汉矽感科技有限公司变更事项:地址变更前权利人:430040 湖北省武汉市东西湖区台商投资区吴南路4号变更后权利人:430040 湖北省武汉市东西湖区台商投资区吴南路4号变更事项:专利权人变更前权利人:上海矽感信息科技有限公司登记生效日:20130930|||专利权的转移IPC(主分类):G06K 7/10变更事项:专利权人变更前权利人:武汉矽感科技有限公司变更后权利人:武汉矽感科技有限公司变更事项:地址变更前权利人:武汉市东西湖区台商投资区吴南路4号变更后权利人:430040 湖北省武汉市东西湖区台商投资区吴南路4号变更事项:专利权人变更后权利人:上海矽感信息科技有限公司登记生效日:20130308|||授权|||专利申请权、专利权的转移(专利申请权的转移)变更项目:申请人变更前权利人:深圳矽感科技有限公司 申请人地址:广东省深圳市红荔西路7002号第一世界广场写字楼19A 邮政编码:518034变更后权利人:武汉矽感科技有限公司 申请人地址:武汉市东西湖区台商投资区吴南路4号 邮政编码:430040登记生效日:2006.7.28|||实质审查的生效|||公开

    IPC分类号:

    G06K7/10; G06K19/06; G06K19/10

    主分类号:

    G06K7/10; G06K19/06; G06K19/10

    申请人:

    深圳矽感科技有限公司;

    发明人:

    常治国; 吕迎丰; 丁晓云

    地址:

    518034广东省深圳市红荔西路7002号第一世界广场写字楼19A

    优先权:

    专利代理机构:

    深圳市创友专利代理有限公司

    代理人:

    江耀纯

    PDF完整版下载: PDF下载
    内容摘要

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

    权利要求书

    1: 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、根据权利要求7所述的二维条码解码方法,其特征在于,所述 步骤A中先将扫描获得的图像数据进行图像增强预处理,再进行二值化 处理。 9、一种二维条码解码方法,使用一维线阵接触型或非接触型图像 传感器获取条码图像数据,输出编码前的二进制数据信息,其特征在于 包括下述步骤: A.扫描输出图像数据至缓冲存储器,并在图像数据中探测开始模   式(10)或者结束模式(20); B.如果探测到结束模式(20),则为条码头尾反向,转为扫描后   解码模式; C.如果探测到开始模式(10),判断是否左右镜像,是则转为扫   描后解码模式; D.根据开始模式判断条码印刷解析度; E.根据条码印刷解析度获得新一行的扫描数据; F.判断是否为段分隔符,否则回到步骤E; G.探测左右侧行定位模式(30),(40); H.根据左右侧行定位模式(30),(40)定位并读取段控制信息; I.对段控制信息进行纠错,获得并存储段控制信息; J.根据段序号判断扫描是否正确地顺序进行;否则转扫描后解码   程序;是则根据段控制信息判断数据是否交错,如果有数据交   错,则转扫描后解码程序; K.根据左右侧行定位模式(30)、(40)定位读取比特流信息; L.根据段控制信息中的纠错算法和纠错等级进行校验解码,恢复   并输出比特流信息; M.根据段控制信息判断下一行是否段分隔符(60),否则回到步骤   K; N.判断下一行扫描数据是否结束模式(20),否则回到步骤G;是   则条码扫描结束。 10、根据权利要求9所述的二维条码解码方法,其特征在于,所述 步骤F中判断一行扫描数据是否为段分隔符的方法是,将该行扫描数据 的值之和与所述开始模式(10)的一行扫描数据的值之和相比较,大于 所述开始模式(10)的一行扫描数据的值之和的
    2: 5倍时判断为段分隔 符。

    说明书


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

        技术领域  本发明涉及一种二维条码的编码方法和使用线性、接触型或非接触型图像传感器扫描解码的方法。

        背景技术  条码是一组规则排列的条、空、及其对应字符组成的标记,用以表达一定信息。一维条码作为一种廉价、简单、快捷、准确的数字信息传递方式,最早由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.根据段控制信息对于比特流进行可选择的反掩膜计算和反交

          错排列,然后再用相应的纠错算法和纠错等级进行纠错计算;

        恢复条码编码前的比特流信息。

        上述步骤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是本发明的二维条码的一种有两个结束控制符的结束模式;

        图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步;是则条码扫描结束。

    关 键  词:
    二维 条码 编码 解码 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:二维条码的编码和解码方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6241167.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1