一种二维条码编解码方法技术

技术编号:2942402 阅读:326 留言:0更新日期:2012-04-11 18:40
本发明专利技术克服现有二维条码的特征模式区域与格式信息比较集中、易于被破坏、抗变形能力差的缺点,提出一种二维条码以及将数据编码生成该二维条码的码图和从该码图解码还原数据的方法。这种条码具有矩形码图,所述码图由不同光学特征的矩形单元模块在平面上无间隙排列而成;单元模块分割成存储固定数据长度的数据码词的矩形的、在码图中交替排列的黑边框宏模块和白边框宏模块。宏模块中还存放代表该宏模块在所述码图中的位置的簇号信息。编码方法的步骤包括分割二进制数据流、进行纠错运算、生成簇号模块和码图。解码方法包括对码图照相并二值化、检测边界、求得宏模块的四角坐标、读取比特值、判断码词矩阵的方向、确定中心码词等。

【技术实现步骤摘要】

本专利技术涉及一种二维条码以及将数据编码生成该二维条码的码图和从该码图解码还原数据的方法。
技术介绍
二维条码一般由三部分组成特征模式区域,格式信息区域,数据码词区域。其中特征模式区域指导图像识别算法识别定位码图,格式信息区域存放描述码图格式与数据纠错相关的参数,数据码词区域存放经过纠错编码算法编码后的数据。如果特征模式区域与格式信息区域被破坏到一定程度就会导致码图不能被识别,因此这两个区域也就成为了码图中的致命区域(vulnerablearea),降低了二维码的可靠性。如图1所示是PDF417码结构示意图,在码图的左右两端的宽细不等的竖线是其特征模式区域10,在码图的左右两端的特征模式区域10以内的一部分是其格式信息区域20,如果特征模式区域10与格式信息区域20受到一定的破坏,该码图将不能被正确识别。如图2所示是QR码结构示意图,在码图的上部左右两角和下部左角处的“回”形区域其特征模式区域30,在码图的三个角附近的特征模式区域30以内用虚线框出的部分是其格式信息区域40,如果特征模式区域30与格式信息区域40受到一定的破坏,该码图将不能被正确识别。
技术实现思路
本专利技术的目的在于克服现有二维条码的特征模式区域与格式信息区域比较集中、易于被破坏(vulnerable)、抗变形能力(anti-deformation)差的缺点,提出一种二维条码以及将数据编码生成该二维条码的码图和从该码图解码还原数据的方法。本专利技术公开了一种二维条码,具有矩形码图,所述码图包括在表面上无间隙排列的,具有不同光学特征的矩形单元模块;所述码图中的单元模块分割成多个矩形的宏模块,所述宏模块包括Num×Num个单元模块,其中Num为大于3的自然数,每个宏模块包括存储具有固定数据长度的数据码词的单元模块和存储代表该宏模块在码图中的位置的簇号的单元模块。按照本专利技术的实施例,本专利技术的二维条码还包括下述从属技术特征所述宏模块包括最外围一周全部为深色单元模块的黑边框宏模块和最外围一周全部为浅色单元模块的白边框宏模块,所述数据码词和簇号存放于边框以内的单元模块之中,所述黑边框宏模块和白边框宏模块在码图中交替排列;所述码图包括Mnum×Mnum个所述宏模块,其中Mnum是大于1的奇数;所述码图中心的所述宏模块的簇号为0,由所述码图的中心往边界的所述宏模块的簇号按层顺序增加;不同的所述宏模块中存放所述簇号信息的簇号单元模块的位置和数量相同,所述簇号单元模块中存放的值是该宏模块位于码图中的层数对所述簇号单元模块的最大存储值进行取模运算所获得的数值。本专利技术还公开了一种二维条码的编码方法,通过计算机将二进制数据流编制成码图,包括如下步骤A、首先将所述二进制数据流分割成具有特定比特长度的信息数据码词;B、然后对所述信息数据码词应用纠错算法进行运算,生成纠错码词;C、在内存中生成码图的主框架,包括每一个宏模块的边框和存储的数据表示该宏模块在所述码图中所处的位置的簇号模块;D、从码图中心开始按顺时针螺旋方向将数据码词和纠错码词填充到码图中,从而生成码像文件。本专利技术还公开了一种二维条码的解码方法,通过数字照相机和计算机将码图还原成二进制数据流,包括如下步骤 I.通过照相方式获取码图的、包括每一个象素的灰度值的象素矩阵的灰阶数字图像;II.对灰阶数字图像中不同象素的灰度值的分布进行统计,根据所述统计值选择阀值将灰阶图像转化成二值图像;III.检测上述二值图像中的每一个浅色像素,如果与它最临近的上下左右四个像素中有一个或者一个以上深色像素则该像素被标记为边界像素,获得边界图像;检测所述边界图像中的直线获得直线方程并且解所述直线方程求得每个宏模块的四角坐标;IV.根据每个宏模块的四角坐标插值计算宏模块内每个单元模块的坐标;V.对应所述单元模块的坐标到所述二值图像的数字信号中读取该单元模块存储的0或者1的比特值获得码词矩阵;VI.通过下述步骤判断码词矩阵的方向A、对上述数据矩阵分别从四个不同的方向、按照已知的簇号模块的位置和单元取得每一个宏模块的每一个可能的簇号;B、分别对每一个方向,分别计算每个宏模块的可能簇号与它相邻右边、和相邻下边宏模块的相应可能簇号的差的绝对值,并将所得的绝对值累加作为该方向的得分;C、比较四个方向的得分,得分最少的方向为码图的正确方向;VII.按照码词矩阵的对称关系确定中心码词;VIII.按照所述正确方向和中心码词,从中心码词开始按照顺时针方向将所述数据码词矩阵恢复为数据码词序列。本专利技术公开的二维条码将单元模块组合成宏模块,在每一个宏模块中都设置了标志其在码图中的位置的簇号单元模块,因为在码图中每个宏模块可以被独立定位,所以一旦图形有破损或者被污染的部分都能够被定位出来,与现有的矩阵式二维码相比识别算法能够有效的探测到擦除错误的存在,从而能提高纠错性能。这是因为在码词流中,对RS纠错算法而言擦除错误(已知位置的错误称为擦除错误)的纠错性能是替代错误(未知位置的错误称为替代错误)的纠错性能的两倍。从而使码图的抗破损、抗污染、抗形变能力得到了有力保证。由于每一个码词对应于一个宏模块,所以全部码词被分成簇,由中心向外顺时针方向按层排列,同一层码词的簇号相同,簇号到最大后又回到0,这种排列方式能够可靠的指导解码算法定位码图的方向以及确定起始码词。由于在不同宏模块拼接处、也即在宏模块的四角形成了特殊的图形模式,使得每个宏模块与它周围的其它宏模块之间有明显的边界,通过模板匹配算法可以快速可靠的检测并且定位每一个宏模块,简化解码方法,提高了解码率。由于在边界图像中宏模块的边框处形成显著特征的直线,通过检测直线的参数可以快速确定码图的旋转角度和定位宏模块的四角坐标。由于将白边框宏模块与黑编框宏模块交叉排列,在码图中白边框宏模块与黑边框宏模块交叉排列,使得码图的深色模块与浅色模块的分布保持均匀,避免了码图识别时的漏斗效应,减少了码词错误的可能。在编码运算中对已经划分了码词的比特流选用预定的纠错等级进行纠错运算,使得形成的码图不需要格式信息区域,因此与传统二维码相比少了一个容易受伤害的部件,提高了码图的可靠性。在解码时图像到数据的转换以宏模块为单位(与PDF417相同),而不是以单元模块为单位,识别精度要高于现有任何矩阵式二维码(这是因为在数字图像中当单元模块的形状与方形相差很大时宏模块仍然能够保持较好的方形特征)。由于码图由深色宏模块与浅色宏模块交替排列,所以图形中不会出现大面积的同种颜色模块,从而省去了在其他二维码中采用的模块掩模(masking)技术。因为码图中深浅模块的分布均匀,热敏打印机(条码的最典型输出设备)在输出图形时,能保证打印头的发热单元工作在冷热均匀交替的状态,从而输出的图像精度有最好的保证。附图说明本专利技术包括如下附图 图1是PDF417码结构示意图;图2是QR码结构示意图;图3是本专利技术的二维条码码图;图4是本专利技术的二维条码码图中白边框宏模块和黑边框宏模块示意图;图5是本专利技术的二维条码码图中宏模块结构的实施例;图6是本专利技术的二维条码码图中宏模块排列方式示意图;图7是本专利技术的二维条码编码流程图;图8是利用本专利技术解码方法获得的二值图像示意图;图9是利用本专利技术解码方法对二值图像进行边界检测获得的边界图像示意图;图10是在边界检测后运用本文档来自技高网...

【技术保护点】
一种二维条码,具有矩形码图,所述码图包括在表面上无间隙排列的,具有不同光学特征的矩形单元模块;其特征在于,所述码图中的单元模块分割成多个矩形的宏模块,所述宏模块包括Num×Num个单元模块,其中Num为大于3的自然数,每个宏模块包括存储具有固定数据长度的数据码词的单元模块和存储代表该宏模块在码图中的位置的簇号的单元模块。

【技术特征摘要】

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

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

1