Qr码条码解码芯片及其解码方法

文档序号:6603468阅读:906来源:国知局
专利名称:Qr码条码解码芯片及其解码方法
QR码条码解码芯片及其解码方法
技术领域
本发明涉及条码识别技术领域,特别地,涉及一种QR码条码解码芯片及其解码方法。
背景技术
条码技术是在计算机技术与信息技术基础上发展起来的一门集编码、印刷、识别、 数据采集和处理于一身的新兴技术。条码技术由于其识别快速、准确、可靠以及成本低等优 点,被广泛应用于商业、图书管理、仓储、邮电、交通和工业控制等领域,并且势必在逐渐兴 起的“物联网”应用中发挥重大的作用。目前被广泛使用的条码包括一维条码及二维条码。一维条码又称线形条码是由平 行排列的多个“条”和“空”单元组成,条形码信息靠条和空的不同宽度和位置来表达。一 维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,因 此信息容量及空间利用率较低,并且在条码污损后即无法识别。二维条码是由按一定规律在二维方向上分布的黑白相间的特定几何图形组成,其 可以在二维方向上表达信息,因此信息容量及空间利用率较低,并具有一定的校验功能。二 维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码是由多行短截的一 维条码堆叠而成,代表性的堆叠式二维条码包括PDF417、Code 49、Code 16K等。矩阵式二 维条码是由按预定规则分布于矩阵中的黑、白模块组成,代表性的矩阵式二维条码包括QR 码、Data Matrix码、Maxi Code、Aztec Code、汉信码等。二维条码除具备一维条码也具有 的优点外,同时还具有信息容量大、密度高、具有纠错功能、可表示各种多媒体信息以及多 种文字信息、保密防伪性强、解码可靠性高的特点。在矩阵式二维条码进行解码的过程中,通常是利用摄影设备对条码进行拍摄,以 获取条码图像,然后对条码图像进行去燥、灰度提取、二值化、码字提取、译码等处理方法。如图1所示,重庆大学提出的中国专利申请第CN200910103378. 3号,其公开了一 种基于现场可编程门阵列的QR 二维条码识别方法及系统,该QR 二维条码识别方法包括以 下步骤自适应亮度均衡化;二值化;条码图像定位;条码图像矫正;从背景中提取条码符 号信息;根据符号信息进行译码。如图2所示,该专利还公开了一种基于FPGA的QR码识别 系统的硬件结构。该系统采用处理器解码方式,通过将NIOS CPU嵌入FPGA芯片内部,与用 户自定义逻辑结合构成一个基于FPGA的片上系统。该系统采用NIOSII处理器的自定义模 块用硬件实现部分复杂算法,以便于在软件程序中调用,还利用C2H工具直接将一些软件 程序进行硬件化,以提高系统性能。然而,上述现有技术的QR 二维条码识别方法中,在对条码图像进行自适应亮度均 衡化和二值化处理过程时,是针对每一个像素点进行自适应亮度均衡化和二值化处理,因 此要对每一个像素点的灰度进行调节,并与阈值灰度进行比对,数据计算量很大,降低了系 统的处理速度。而且由于该系统是在不知晓条码特征信息(即条码的相关参数,包括条码方向、条码区域尺寸和条码版本、条码畸变系数等信息)的情况下进行二值化处理,会造成模块 错误,即在二值化过程中,由于噪声、畸变等因素的影响,出现模块的深浅状态和设计状态 发生倒置的情况,这大大降低条码的识别能力,增加了条码识别的误码率。尤其在条码版本 较高,所含模块数量较多的情况下,或者是条码图像分辨率低,曝光质量不佳的情况下,这 种方法较难对QR码进行识别。另外,在上述现有技术的QR码识别系统中,用于识别解码的主体仍然是NIOS II 处理器,该系统通过处理器调用程序存储器中的解码程序,对条码图像进行处理来实现识 别解码。该系统的问题在于一、处理速度慢,该系统需要在微处理器中写入实现解码算法 的一系列程序,单个处理器只能同时针对一种特定类型的条码格式进行解码处理,处理器 在一个时钟周期只能处理一个操作,软件处理也决定了解码流程的单流程特性,较难实现 对条码图像的流水线作业和并行处理,处理速度较慢;二、使用成本高,由于解码算法较为 复杂,因此需要使用高端的处理器(如32位处理器)实现以上算法,需要NIOS II处理器 以及硬件加速电路相配合,这样会造成系统成本高昂;三、系统复杂,集成难度大,功耗高, 不易于便携应用。因此,针对现有技术存在的以上不足,亟需提供一种QR码条码解码芯片及其解码 方法,使得能保证解码过程快速、顺利地进行。

发明内容针对现有技术存在的处理速度慢、错误发生机率较大等不足,本发明提供一种QR 码条码解码芯片及其解码方法,能保证QR码解码过程快速、顺利地进行。本发明提供一种QR码条码解码芯片,包括特征搜索单元、条码参数获取单元、版 本/格式参数获取单元、校正特征获取单元、模块信息处理单元、二值化单元、码字提取单 元以及纠错译码单元。特征搜索单元在条码图像中搜索特征图形来确定特征图形的像素坐 标。条码参数获取单元根据特征图形的像素坐标来获取条码参数。版本/格式参数获取单 元获取条码的版本参数和/或格式参数。校正特征获取单元在条码图像上搜索特征位置, 根据特征位置获取校正特征。模块信息处理单元根据版本参数、条码参数和校正特征,计算 模块所对应的灰度值。二值化单元,对QR码模块进行二值化处理。码字提取单元,根据二 值化处理的模块提取码字。纠错译码单元对码字进行译码处理。本发明又提供一种QR码条码解码芯片,包括特征搜索单元、条码参数获取单元、 版本/格式参数获取单元、模块信息处理单元、二值化单元、码字提取单元以及纠错译码单 元。特征搜索单元在条码图像中搜索特征图形来确定特征图形的像素坐标。条码参数获取 单元根据特征图形的像素坐标来获取条码参数。版本/格式参数获取单元获取条码的版本 参数和/或格式参数。模块信息处理单元根据版本参数、条码参数和特征图形的像素坐标, 计算模块所对应的灰度值。二值化单元对模块进行二值化处理。码字提取单元根据二值化 处理的模块提取码字。纠错译码单元对码字进行译码处理。本发明还提供一种QR码解码方法,包括以下步骤a.获取条码图像;b.搜索探测 图形,获取条码参数;c.获取版本参数,根据版本参数获取模块参数;d.搜索校正特征,获 取校正特征的像素坐标;e.根据条码参数、模块参数和校正特征的像素坐标,计算校正特 征的模块坐标;f.根据校正特征的像素坐标和模块坐标,计算条码图像的像素坐标与模块
6坐标之间的映射关系;g.根据映射关系计算模块灰度值;h.对模块灰度值进行二值化处 理;i.根据二值化处理结果提取码字;j.对码字进行译码处理。本发明另提供一种QR码解码方法,包括以下步骤a.获取条码图像;b.搜索特征 图形,获取条码参数和特征图形的像素坐标;c.获取版本参数,根据版本参数获取模块参 数;d.根据条码参数、模块参数和特征图形的像素坐标,计算特征图形的模块坐标;e.根据 特征图形的像素坐标和模块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系; f.根据映射关系计算模块灰度值;g.对模块灰度值进行二值化处理;h.根据二值化处理结 果提取码字;i.对码字进行译码处理。本发明又提供一种QR码解码方法,包括以下步骤a.获取条码图像;b.在条码图 像的预定区域内,提取符合预定长度的多个黑白边界线段;C.基于多个黑白边界线段构建 多个直线;d.根据平行线特性对多个直线进行分组并形成行平行线组及列平行线组;e.根 据QR码的特性,通过对行平行线组及列平行线组构建的网格进行判断来确认是否存在QR 码;f.获取行平行线组及列平行线组构建的网格的特征图形的像素坐标,根据特征图形的 像素坐标获取条码参数;g.获取版本参数,根据版本参数获取模块参数;h.搜索校正特征, 获取校正特征的像素坐标;i.根据条码参数、模块参数和校正特征的像素坐标,计算校正 特征的模块坐标;j.根据校正特征的像素坐标和校正特征的模块坐标,计算条码图像的像 素坐标与模块坐标之间的映射关系;k.根据映射关系计算模块灰度值;1.对模块灰度值进 行二值化处理;m.根据二值化处理的结果提取码字;η.对码字进行译码处理。本发明的QR码解码方法,通过搜索校正特征,获取校正特征的像素灰度坐标与模 块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系,然后根据该映射关系计算 模块灰度值,对模块灰度值进行二值化,进而还原QR码所对应的条码符号图形。与现有技 术相比,本发明的QR码解码方法是在知晓条码特征信息,并根据条码特征信息对条码图像 进行校正后进行的二值化处理,因此降低了噪声、畸变等因素对二值化过程的影响,减少了 模块错误的出现,大大增加了条码的识别能力,提升了条码识别的解码成功率。本发明的QR码条码解码芯片采用硬件流水线结构,通过硬件逻辑实现对条码图 像的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处理,因此处 理速度很快。相对于现有技术的处理器解码技术而言,本发明的QR码条码解码芯片采用全硬 件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更为简化、面积更小、功耗 更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联网技术相结合,为条码技 术的应用提供了更为广阔的发展空间。

图1是现有技术的一种QR码识别方法的流程图。图2是图1所示的QR码识别方法的硬件结构图。图3是QR码的条码符号图形示意图。图4是QR码的条码符号图形的功能示意图。图5是根据本发明的QR码条码解码芯片的解码方法的处理流程图。图6是根据本发明的QR码条码解码芯片的第一实施方式的结构示意图。
图7是根据本发明的QR码条码解码芯片的第一实施方式中校正特征获取单元的 第一种校正点获取结构的示意图。图8是根据本发明的QR码条码解码芯片的第一实施方式中模块信息处理单元的 结构示意图。图9是根据本发明的QR码条码解码芯片的第一实施方式中模块信息处理单元的 转换原理示意图。图10是根据本发明的QR码条码解码芯片的第二实施方式的结构示意图。图11是根据本发明的QR码条码解码芯片的第二实施方式中校正特征获取单元的 第二种校正点获取结构的示意图。
具体实施方式有关本发明的特征及技术内容,请参考以下的详细说明与附图,附图仅提供参考 与说明,并非用来对本发明加以限制。为使本领域技术人员更易于理解本发明的技术内容,提供以下条码术语的参考与 说明,其中部分条码术语是根据中华人民共和国国家标准GB/T12905-2000而来,并非用于 对本发明加以限制。条码符号某种条码定义的表示信息的条、空组合形式或模块的组合形式。码字码字表示源数据向条码符号转换的中间值。一种符号的码字数决定了该条 码符号的所有符号的数量。数据码字数据码字表示数据符号的值。纠错码字纠错码字表示纠错符号的值。模块矩阵式二维条码中的一个最小独立单元,代表一位二进制数据。功能图形矩阵式二维条码符号中用于符号定位与特征识别的特定图形。功能图 形包括探测图形、定位图形、校正图形等。探测图形矩阵式二维条码符号图形中,用于在条码图像中进行符号定位的特殊 图形,也称位置探测图形。定位图形矩阵式二维条码符号图形中,用于确定符号中模块的像素坐标的图形。校正图形矩阵式二维条码符号图形中,用于确定符号位置的一个固定的参照图 形。在条码图像有一定程度畸变或污损的情况下,可以通过校正图形对条码图像中模块的 像素坐标进行校正。编码区域矩阵式二维条码符号图形中,未被功能图形占据,用于对数据和纠错码 字进行编码,表示数据符号和纠错符号的区域。版本用于表示矩阵式二维条码符号规格的序列,反映了符号尺寸、符号中的模块 数量和符号中的模块的排列方式。版本信息矩阵式二维条码符号图形中,用于确定矩阵式二维条码符号版本号的 功能图形。格式用于表示矩阵式二维条码符号所使用的纠错等级以及掩模图形。格式信息矩阵式二维条码符号图形中,用于确定矩阵式二维条码符号所使用的 纠错等级以及掩模图形信息的功能图形。
8
掩模图形在编码区域内用掩模图形对位图进行异或处理,其目的是使符号中深 色与浅色模块的比例均衡,并减少影响条码图像处理的图形出现。二值化条码图像用整体阈值或局部阈值对灰度条码图像进行处理,从而得到的 深浅两色的条码图像。阈值分割两个检验等级的边界值,其值本身是上面等级的下限值。模块错误在二值化条码图像中,深浅状态和设计状态发生倒置的模块。像素光敏阵列(如CXD或CMOS器件)上的单个光敏单元在条码图像上所对应的 单位,一个像素通常被视为条码图像的最小的完整单位。数码条码图像的储存方式一般以 像素(Pixel)为单位,每个像素是数码条码图像里面积最小的单位。图3是QR码的符号图形示意图,图4是QR码的符号图形功能说明图。为使本领 域技术人员更易于理解本发明的技术内容,以下结合图3、图4对QR码进行简单说明。如图3所示,QR码属于矩阵式二维条码的一种,其在结构形体及元素排列上与代 数矩阵具有相似的特征。QR码的符号结构是由特定的符号功能图形及分布在矩阵元素位置 上表示数据信息的正方形图形模块构成。其用深色模块单元表示二进制的“1”,用浅色模块 单元表示二进制的“0” (当然,作为一种约定,也可用深色模块单元表示二进制的“0”,用浅 色模块单元表示二进制的“1”)。数据码字流通过分布在矩阵元素位置上的单元模块的不 同组合来表示。QR码的符号字符由8个模块按特定规律排列构成。如图4所示,QR码符号图形的外围是空白区,空白区是环绕在符号图形四周的4个 模块宽的区域,其反射率与浅色模块相同,便于对条码符号图形的特征搜索。QR码符号图 形包括功能图形和编码区两大部分。其中,功能图形包括位置探测图形、位置探测图形分隔 符、校正图形和定位图形。QR码符号图形包括3个相同的位置探测图形,分别位于符号图形的左上角、右上 角和左下角,如图4所示。每个位置探测图形可以看作是由3个重叠的同心的正方形组成, 它们分别为7x7的深色模块、5X5的浅色模块和3X3的深色模块。位置探测图形的模块宽度 比为1 1 3 1 1。QR码符号图形中其他区域遇到类似图形的可能性极小。因此, 可以根据位置探测图形在条码图像中识别可能存在的QR码符号图形。通过识别3个位置 探测图形,可以明确地确定条码图像中QR码符号图形的位置区域和方向。此外,根据位置 探测图形尺寸,还可以粗略地获得单一模块的尺寸参数。QR码符号图形中位置探测图形分隔符位于每个位置探测图形和编码区之间,其全 部由宽度为一个模块的浅色模块组成。QR码符号图形中校正图形的数量视版本号而定,版本2以上(含版本2)的符号均 有校正图形。与位置探测图形类似的,每个校正图形可以看作是由3个重叠的同心的正方 形组成,它们分别为5x5的深色模块、3X3的浅色模块以及位于中心的一个深色模块。校正 图形的模块宽度比为1 1 1 1 1。QR码符号图形中定位图形包括水平定位图形和垂直定位图形,其分别为一个模块 宽度的一行和一列深色和浅色模块交替组成,这种定位图形也成为轨道线或轨道码。其开 始和结尾都是深色模块,水平定位图形位于上部的两个位置探测图形之间,符号图形的第6 列。垂直定位图形位于左侧的两个位置定位图形之间,符号图形的第6列。编码区包括版本信息、格式信息以及数据码字和纠错码字。版本信息表示QR码符
9号的模块数量以及排列方式,格式信息表示QR码的纠错等级和掩模图形信息。版本信息为 18位,其中6位数据位,12位是BCH编码计算得到的纠错位。格式信息为15位,其中有5 个数据位,10个是BCH编码计算得到的纠错位。第1、2数据位是符号的纠错等级,第3至5 数据位是符号的掩模图形信息。对于所有版本的QR码符号而言,版本信息和格式信息在符 号中的位置都是相同的,版本信息位于编码区临近右上角位置探测图形分隔符的左侧位置 和左下角位置探测图形分隔符的上侧位置。格式信息位于编码区临近右上角位置探测图形 分隔符的下侧位置、左下角位置探测图形分隔符的右侧位置以及左上角位置探测图形分隔 符的两侧位置。数据码字表示QR码符号记载的数据信息。纠错码字是对数据码字进行纠 错编码所形成的纠错码字,用于对数据码字进行错误纠正。以下对本发明的QR码解码方法进行详细描述,图5是根据本发明的QR码解码方 法的处理流程图。如图5所示,在步骤901,在条码图像上进行特征搜索,以确定功能图形的像素坐 标,根据功能图形的像素坐标和模块宽度比,计算条码参数,条码参数包括条码区域、条码 方向和/或条码模块宽度、模块坐标等。在本发明的一种实施方式中,此步骤可以通过模 板匹配检测功能图形,主要是位置探测图形或校正图形的方式实现。在本发明的另一种实 施方式中,此步骤也可以通过比例检测的方式实现,该方式包括通过扫描方式检测条码图 像中的深浅模块边界点,将深浅模块边界点之间的间距关系与位置探测图形或校正图形的 模块尺寸比例相比较,根据比较结果确定位置探测图形或校正图形在条码图像上的像素坐 标。另外,本发明还提供一种通过行列线检测实现对QR码的识别的实施方式,该方法包括 以下步骤首先在条码图像的预定区域内,提取符合预定长度的多个黑白边界线段;然后 基于提取到的多个黑白边界线段构建多个直线;再根据平行线特性对多个直线进行分组并 形成行平行线组及列平行线组;最后根据QR码的特性,通过对行平行线组及列平行线组构 建的网格进行判断来确认是否存在QR码,并获取行平行线组及列平行线组构建的网格的 特征图形的像素坐标,根据特征图形的像素坐标获取条码参数。在步骤902,根据检测到的功能图形的像素坐标和条码参数,在条码图像上提取版 本信息和格式信息,对版本信息和格式信息进行解码以获取版本/格式参数,例如包括版 本号、纠错等级和掩模图形等。在某些情况下,条码图像上版本信息和格式信息区域会被污 损而导致无法读取数据时,可以根据条码类型对条码的格式、版本进行预估。其中格式包括 掩模图形及纠错等级。例如,通过将各个版本、掩模图形及纠错等级的可能进行排列组合来 对版本和格式预估。例如将QR码的1 40个版本和L、M、Q、H四个纠错等级以及掩模图 形进行排列组合,根据预估的格式、版本对条码图像进行后续处理。在步骤903,在条码图像上搜索特征图形,例如包括条码图像的转角点、位置探测 图形、校正图形、定位图形、动态特征模板、划线特征模板等,根据特征图形获取校正特征, 例如包括校正点的像素坐标和灰度值。在步骤904,根据版本参数确定模块参数,根据校正特征、模块参数和条码参数计 算校正特征所对应的模块坐标,根据校正特征的像素坐标和模块坐标计算校正参数,该校 正参数反映了条码图像的像素点与条码模块之间的映射关系,根据模块参数和校正参数计 算各个模块所对应的像素点,根据各个模块所对应的像素点的坐标和灰度值计算各个模块 所对应的灰度值,构造模块图。
在步骤905,对模块图进行二值化处理以提取位图。在步骤906,根据步骤902得到的掩模图形对位图进行去掩模计算,例如是异或 (XOR)计算,解除掩模并恢复表示数据码字和纠错码字的位流。在步骤907,根据QR码的排列规则进行位流提取并转换为数据码字和纠错码字。在步骤908,根据步骤902得到的版本号和纠错等级,重新将数据码字和纠错码字 按块排列,进行错误检测和纠错计算,纠正删除错误和未知错误,直到版本号和纠错等级所 规定的最大纠错容量,然后重新组配数据块序列,还原表示QR码信息的数据位流。在步骤909,根据还原的数据位流进行译码,以获得QR码信息。以下对本发明的QR码条码解码芯片进行详细描述,图6是根据本发明的QR码条 码解码芯片的第一实施方式的结构示意图。如图6所示,数据存储器11存储条码图像,QR码条码解码芯片10对数据存储器 11存储条码图像进行识别解码。QR码条码解码芯片10包括控制逻辑单元100、特征搜索单 元101、条码参数获取单元102、版本/格式参数获取单元103、校正特征获取单元104、模块 信息处理单元105、二值化单元106、码字提取单元107以及纠错译码单元108。控制逻辑单元100用于控制特征搜索单元101、条码参数获取单元102、版本/格 式参数获取单元103、校正特征获取单元104、模块信息处理单元105、二值化单元106、码字 提取单元107以及纠错译码单元108的工作状态和处理流程。控制逻辑单元100采用有限 状态机(Finite State Machine)形式进行控制。有限状态机又称有限状态自动机或简称 状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的状态逻辑。控制逻 辑单元100可以用可编程逻辑设备、可编程逻辑控制器、逻辑门和触发器来构造。优选的实 施方式中,控制逻辑单元100包括寄存器、确定状态转移的组合逻辑以及确定状态控制模 块输出的组合逻辑。寄存器用于存储状态变量。特征搜索单元101通过在条码图像中搜索特征图形来确定特征图形在条码图像 上的像素坐标。特征图形包括但不限于条码的功能图形,例如位置探测图形、校正图形、定 位图形等。优选的实施方式中,位置特征搜索单元101采用模板匹配的方式搜索位置探测 图形,其根据位置探测图形的模块宽度比,例如是按照1 1 3 1 1的模块宽度比生 成位置探测图形检测模板,将位置探测图形检测模板相对条码图像进行平移并进行灰度匹 配,以确定位置探测图形检测模板与条码图像的最佳匹配位置,并根据最佳匹配位置确定 条码图像中位置探测图形的中心点和四角的像素坐标。在本发明的另一种实施方式中,特 征搜索单元101也可以通过比例检测的方式来确定特征图形在条码图像上的像素坐标,该 方式包括通过扫描方式检测条码图像中的深浅模块边界点,将深浅模块边界点之间的间距 关系与位置探测图形或校正图形的模块尺寸比例相比较,根据比较结果确定特征图形在条 码图像上的像素坐标。另外,本发明还提供一种通过行列线检测实现对QR码的识别的实施 方式,在该实施方法中,特征搜索单元101首先在条码图像的预定区域内,提取符合预定长 度的多个黑白边界线段,然后基于提取到的多个黑白边界线段构建多个直线,再根据平行 线特性对多个直线进行分组并形成行平行线组及列平行线组,最后根据QR码的特性,通过 对行平行线组及列平行线组构建的网格进行判断来确认是否存在QR码,并获取行平行线 组及列平行线组构建的网格的特征图形的像素坐标。条码参数获取单元102根据特征搜索单元101所检测的特征图形的像素坐标来计算条码参数,例如条码方向、条码区域等,更进一步的,条码参数获取单元102根据特征图 形的像素坐标和模块宽度比还可以进一步条码区域的范围和粗略计算条码模块宽度的尺 寸,即条码模块宽度与像素宽度的比值,根据条码区域的范围和条码模块宽度还可以进一 步估算模块坐标。版本/格式参数获取单元103根据特征搜索单元101所检测的特征图形的像素坐 标和条码参数,在条码图像上提取版本信息和格式信息,对版本信息和格式信息进行解码 以获取版本/格式参数。由于编码区的版本信息、格式信息是临近位置检测图形设置的,版 本/格式参数获取单元103根据位置检测图形的像素坐标和条码方向、条码模块宽度,可以 搜索获得版本信息、格式信息区域,进行二值化计算和纠错译码后即可获取版本/格式参 数,例如版本号、纠错等级和掩模图形等。在某些情况下,条码图像上版本信息和格式信息区域会被污损而导致无法读取数 据。版本/格式参数获取单元103可以根据条码类型对条码的格式、版本进行预估。其中 格式包括掩模图形及纠错等级。例如,通过将各个版本、掩模图形及纠错等级的可能进行排 列组合来对版本和格式预估。例如将QR码的1 40个版本和L、M、Q、H四个纠错等级以 及掩模图形进行排列组合,根据预估的格式、版本对条码图像进行后续处理。校正特征获取单元104通过在条码图像上搜索特征位置,例如包括条码图像的转 角点、位置探测图形、校正图形、定位图形、动态模板、划线模板等,根据特征位置获取校正 特征,例如包括校正点的像素坐标和/或模块坐标以及灰度值。校正特征获取单元包括多 种实施方式,并非限定于根据校正图形获取校正特征。图7是根据本发明的QR码条码解码芯片的第一实施方式中校正特征获取单元的 第一种校正点获取结构的示意图。如图7所示,校正特征获取单元104包括校正图形搜索 单元1041和校正点获取单元1042。与特征搜索单元101类似,校正图形搜索单元1041根 据校正图形的模块宽度比和条码参数,例如是按照1 1 1 1 1的模块宽度比生成 校正图形检测模板,将校正图形检测模板相对条码图像进行平移并进行灰度匹配。校正点 获取单元1042对匹配结果进行相似度计算处理,以确定校正图形检测模板与条码图像的 最佳匹配位置,根据最佳匹配位置确定条码图像中校正图形的中心点和/或四角的像素坐 标以及灰度值。模块信息处理单元105根据版本参数确定模块参数,根据校正特征、模块参数和 条码参数计算校正特征所对应的模块坐标,根据校正特征的像素坐标和模块坐标计算校正 参数,该校正参数反映了条码图像的像素点与条码模块之间的映射关系,根据模块参数和 校正参数计算各个模块所对应的像素点,根据各个模块所对应的像素点的坐标和灰度值计 算各个模块所对应的灰度值,构造模块图。图8是根据本发明的QR码条码解码芯片的第一实施方式中模块信息处理单元的 结构示意图。模块信息处理单元105包括模块参数计算单元1051、校正特征模块坐标计算 单元1052、校正参数计算单元1053、模块像素点计算单元1054以及模块灰度值计算单元 1055。模块参数计算单元1051根据版本参数,例如是版本号,通过查表或函数计算的方式 获取与版本参数相对应的模块行数、列数和模块数量。校正特征模块坐标计算单元1052根 据校正特征获取单元104提供的校正特征的像素坐标,结合条码参数计算获得像素坐标在 条码区域中的相对位置,根据相对位置结合模块参数计算获得校正特征的模块坐标。校正参数计算单元1053根据校正特征的像素坐标和模块坐标计算获得校正参数,该校正参数 反映了条码图像的像素点与条码模块之间的映射关系。模块像素点计算单元1054根据模 块参数和校正参数计算各个模块所对应的像素点。模块与像素点之间的映射计算可以通过 多种方式实现,包括透视变换、二次多项式、三次多项式、三角网格、小波变换或上述计算方 式的结合等。模块像素点计算单元1054可以通过模块坐标计算对应的像素点的坐标,也可 以通过像素坐标计算对应的模块的坐标。本发明对上述计算过程及其所采取的计算手段并 不加以限定。模块灰度值计算单元1055根据各个模块所对应的像素点的坐标和灰度值计 算各个模块所对应的灰度值,以构造模块图。模块的灰度值计算可以通过多种方式实现,包 括统计计算、插值计算、均值计算、加权计算或上述计算方式的结合等,本发明对上述计算 过程及其所采取的计算手段并不加以限定。为便于本领域技术人员理解本发明的模块信息处理单元的处理过程,本发明举例 一种计算方法对本发明的模块信息处理单元的转换原理进行说明,但是,该计算方法不应 理解为对本发明的模块信息处理单元的限制。图9是根据本发明的QR码条码解码芯片的第一实施方式中模块信息处理单元的 转换原理示意图。模块81与像素区域82之间具有映射关系,变形区域821对应于模块81 在像素区域82上的映射范围。模块81的中心点W在像素区域82所对应的映射点为W'。 由图9可知,模块81所对应的像素点包括A-P的16个像素点,围绕映射点Ψ的像素点为 A、B、C、D4个像素点。中心变形区域822对应于模块81的中心区域在像素区域82上的映 射范围。对于矩阵条码而言,模块的中心区域所反映的模块值最准确。优选的实施方式中, 可以通过A、B、C、D4个像素点的灰度值来计算与映射点Ψ相对应的模块中心点W的灰度 值。当然,也可以通过像素区域82所对应的所有像素点来计算模块81的灰度值。S卩,模块 81的灰度值可以通过与其对应的若干个像素点的灰度值计算得出。二值化单元106接收模块信息处理单元105计算获得的模块灰度值,根据阈值对 模块图进行二值化处理以提取位图。阈值的获取方式包括预设阈值、整体阈值获取、局部阈 值获取等多种方式码字提取单元107根据版本/格式参数获取单元103得到的掩模图形对位图进行 去掩模计算,例如是异或(XOR)计算,解除掩模并恢复表示数据码字和纠错码字的位流,根 据QR码的排列规则进行位流提取并转换为码字。在某些情况下,条码在编码生成时没有采 用掩模图形进行处理,码字提取单元107可以根据位图直接提取表示数据码字和纠错码字 的位流并转换为数据码字和纠错码字。纠错译码单元108根据版本/格式参数获取单元103得到的版本号和纠错等级, 重新将数据码字和纠错码字按块排列,进行错误检测和纠错计算,纠正删除错误和未知错 误,直到版本号和纠错等级所规定的最大纠错容量,然后重新组配数据块序列,还原表示QR 码信息的数据位流,根据还原的数据位流进行译码,以获得QR码信息。图10是根据本发明的QR码条码解码芯片的第二实施方式的结构示意图。与本发 明的QR码条码解码芯片的第一实施方式的不同之处在于,QR码条码解码芯片20的结构作 了以下改进,其通过特征搜索单元201实现对功能图形和/或校正特征的搜索,取消了校正 特征获取单元。与本发明的第一实施方式相类似,特征搜索单元201通过在条码图像中搜索特征图形来确定特征图形在条码图像上的像素坐标。特征图形例如是位置探测图形。通过调整 模板匹配的模块宽度比和/或模块坐标,特征搜索单元101还可以对其他特征图形进行搜 索,例如校正图形。特征搜索单元201按照1 1 1 1 1的模块宽度比生成校正图形 检测模板,将校正图形检测模板相对条码图像进行平移并进行灰度匹配。校正点获取单元 1042对匹配结果进行相似度计算处理,以确定校正图形检测模板与条码图像的最佳匹配位 置,根据最佳匹配位置确定条码图像中校正图形的中心点和/或四角的像素坐标以及灰度 值。特征图形包括但不限于条码的功能图形,例如位置探测图形、校正图形、定位图形 等。为使本领域技术人员易于理解本发明,下面对功能图形之外的特征图形的表现形式作 举例说明。QR码属于矩阵码的一种,其条码符号图形具有矩阵码的代数矩阵特征,条码符号 可以视为是由若干个深浅不同的矩形模块组成。通过选取条码图像区域中相对于相邻模块 图形比较容易区分的标志性较好的矩形模块图形的集合,可以形成动态特征模板。另外还 可以通过搜索条码图像上位于同一行或列上的相互间隔的两个同色模块(深色模块或浅 色模块),形成划线特征模板。特征搜索单元201按照动态特征模板或划线特征模板的模块坐标所对应的模块 宽度比生成动态特征模板或划线特征模板的检测模板,将动态特征模板或划线特征模板的 检测模板相对条码图像进行平移并进行灰度匹配。对匹配结果进行相似度计算处理,以确 定动态特征模板或划线特征模板的检测模板与条码图像的最佳匹配位置,根据最佳匹配位 置确定条码图像中动态特征模板或划线特征模板的中心点和/或四角的像素坐标以及灰 度值。模块信息处理单元205直接接收特征搜索单元201所提供的特征图形的像素坐标 作为校正特征进行处理,校正特征例如是条码图像中位置探测图形的中心点和四角的像素 坐标,校正图形的中心点和四角的像素坐标,定位图形的像素坐标,或者是动态特征模板或 划线特征模板的中心点的像素坐标等。图11是根据本发明的QR码条码解码芯片的第二实 施方式中模块信息处理单元的结构示意图。与本发明的QR码条码解码芯片的第一实施方 式的不同之处在于,校正特征模块坐标计算单元2052连接特征搜索单元201,并根据条码 参数和模块参数计算单元2051提供的模块参数计算获得特征图形的模块坐标。校正参数 计算单元2053根据特征图形的像素坐标和模块坐标计算获得校正参数,该校正参数反映 了条码图像的像素点与条码模块之间的映射关系。模块像素点计算单元2054根据模块参 数和校正参数计算各个模块所对应的像素点。模块与像素点之间的映射计算可以通过多种 方式实现,包括透视变换、二次多项式、三次多项式、三角网格、小波变换或上述计算方式的 结合等。模块灰度值计算单元2055根据各个模块所对应的像素点的坐标和灰度值计算各 个模块所对应的灰度值,以构造模块图。本发明的QR码解码方法,通过搜索校正特征,获取校正特征的像素灰度坐标与模 块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系,然后根据该映射关系计算 模块灰度值,对模块灰度值进行二值化,进而还原QR码所对应的条码符号图形。与现有技 术相比,本发明的QR码解码方法是在知晓条码特征信息,并根据条码特征信息对条码图像 进行校正后进行的二值化处理,因此降低了噪声、畸变等因素对二值化过程的影响,减少了 模块错误的出现,大大增加了条码的识别能力,提升了条码识别的解码成功率。
本发明的QR码条码解码芯片采用硬件流水线结构,通过硬件逻辑实现对条码图 像的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处理,因此处 理速度很快。相对于现有技术的处理器解码技术而言,本发明的QR码条码解码芯片采用全硬 件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更为简化、面积更小、功耗 更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联网技术相结合,为条码技 术的应用提供了更为广阔的发展空间。以上参照

了本发明的各种优选实施例,但是只要不背离本发明的实质和 范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本发明的保护范围。
权利要求
一种QR码条码解码芯片,包括特征搜索单元,在条码图像中搜索特征图形来确定所述特征图形的像素坐标;条码参数获取单元,根据所述特征图形的像素坐标来获取条码参数;版本/格式参数获取单元,获取条码的版本参数和/或格式参数;校正特征获取单元,在所述条码图像上搜索特征位置,根据所述特征位置获取校正特征;模块信息处理单元,根据所述版本参数、所述条码参数和所述校正特征,计算模块所对应的灰度值;二值化单元,对所述模块进行二值化处理;码字提取单元,根据二值化处理的所述模块提取码字;纠错译码单元,对所述码字进行译码处理。
2.根据权利要求1所述的QR码条码解码芯片,其特征在于,所述特征搜索单元根据所 述特征图形的模块宽度比生成特征图形检测模板,将所述特征图形检测模板相对所述条码 图像进行平移并进行灰度匹配,以确定所述特征图形检测模板与所述条码图像的最佳匹配 位置,并根据所述最佳匹配位置确定所述条码图像中所述特征图形的像素坐标。
3.根据权利要求1所述的QR码条码解码芯片,其特征在于,所述特征搜索单元通过扫 描方式检测所述条码图像中的深浅模块边界点,将所述深浅模块边界点之间的间距关系与 所述特征图形的模块尺寸比例相比较,根据比较结果确定所述条码图像中所述特征图形的 像素坐标。
4.根据权利要求1所述的QR码条码解码芯片,其特征在于,所述特征搜索单元在所述 条码图像的预定区域内,提取符合预定长度的多个黑白边界线段,然后基于提取到的所述 多个黑白边界线段构建多个直线,再根据平行线特性对所述多个直线进行分组并形成行平 行线组及列平行线组,最后根据QR码的特性,通过对所述行平行线组及列平行线组构建的 网格进行判断来确认是否存在QR码,并获取所述行平行线组及列平行线组构建的网格的 所述特征图形的像素坐标。
5.根据权利要求1所述的QR码条码解码芯片,其特征在于,所述版本/格式参数获取 单元根据所述特征图形的像素坐标和所述条码参数,在所述条码图像上提取版本信息和格 式信息,对所述版本信息和所述格式信息进行解码以获取所述版本/格式参数。
6.根据权利要求1所述的QR码条码解码芯片,其特征在于,所述版本/格式参数获取 单元根据QR码的格式、版本进行预估以获取所述版本参数和/或格式参数。
7.根据权利要求1所述的QR码条码解码芯片,其特征在于,所述模块信息处理单元包 括模块参数计算单元、校正特征模块坐标计算单元、校正参数计算单元、模块像素点计算单 元以及模块灰度值计算单元,所述模块参数计算单元根据所述版本参数获取模块参数,所 述校正特征模块坐标计算单元根据所述条码参数、所述模块参数和所述特征图形的像素坐 标,计算所述特征图形的模块坐标,所述校正参数计算单元根据所述特征图形的像素坐标 和所述特征图形的模块坐标,计算所述条码图像的像素坐标与模块坐标之间的映射关系, 所述模块像素点计算单元根据所述映射关系计算各个模块所对应的像素坐标,所述模块灰 度值计算单元根据所述各个模块所对应的像素坐标计算所述各个模块的灰度值。
8.一种QR码条码解码芯片,包括特征搜索单元,在条码图像中搜索特征图形来确定所述特征图形的像素坐标; 条码参数获取单元,根据所述特征图形的像素坐标来获取条码参数; 版本/格式参数获取单元,获取条码的版本参数和/或格式参数; 模块信息处理单元,根据所述版本参数、所述条码参数和所述特征图形的像素坐标,计 算模块所对应的灰度值;二值化单元,对所述模块进行二值化处理; 码字提取单元,根据二值化处理的所述模块提取码字; 纠错译码单元,对所述码字进行译码处理。
9.根据权利要求8所述的QR码条码解码芯片,其特征在于,所述特征搜索单元,在所述 条码图像中搜索第一特征图形来确定所述第一特征图形的像素坐标,所述条码参数获取单 元根据所述第一特征图形的像素坐标来获取所述条码参数。
10.根据权利要求9所述的QR码条码解码芯片,其特征在于,所述特征搜索单元,在所 述条码图像中搜索第二特征图形来确定所述第二特征图形的像素坐标,所述模块信息处理 单元根据所述版本参数、所述条码参数和所述第二特征图形的像素坐标,计算所述模块所 对应的灰度值。
11.一种QR码解码方法,其特征在于,包括以下步骤a.获取条码图像;b.搜索位置探测图形,获取条码参数;c.获取版本参数,根据所述版本参数获取模块参数;d.搜索校正特征,获取校正特征的像素坐标;e.根据所述条码参数、所述模块参数和所述校正特征的像素坐标,计算所述校正特征 的模块坐标;f.根据所述校正特征的像素坐标和所述校正特征的模块坐标,计算所述条码图像的像 素坐标与模块坐标之间的映射关系;g.根据所述映射关系计算模块灰度值;h.对所述模块灰度值进行二值化处理;i.根据所述二值化处理的结果提取码字; j.对所述码字进行译码处理。
12.—种QR码解码方法,其特征在于,包括以下步骤a.获取条码图像;b.搜索特征图形,获取条码参数和特征图形的像素坐标;c.获取版本参数,根据所述版本参数获取模块参数;d.根据所述条码参数、所述模块参数和所述特征图形的像素坐标,计算所述特征图形 的模块坐标;e.根据所述特征图形的像素坐标和所述特征图形的模块坐标,计算所述条码图像的像 素坐标与模块坐标之间的映射关系;f.根据所述映射关系计算模块灰度值;g.对所述模块灰度值进行二值化处理;h.根据所述二值化处理结果提取码字;i.对所述码字进行译码处理。
13.根据权利要求12所述的QR码解码方法,其特征在于,步骤b还进一步包括搜索第 一特征图形,获取所述条码参数;搜索第二特征图形,获取所述第二特征图形的像素坐标。
14.根据权利要求12所述的QR码解码方法,其特征在于,该方法还包括根据所述条码 参数、所述模块参数和所述特征图形的像素坐标,计算所述第二特征图形的模块坐标;根据 所述第二特征图形的像素坐标和所述第二特征图形的模块坐标,计算所述条码图像的像素 坐标与模块坐标之间的映射关系。
15.一种QR码解码方法,其特征在于,包括以下步骤a.获取条码图像;b.在所述条码图像的预定区域内,提取符合预定长度的多个黑白边界线段;c.基于所述多个黑白边界线段构建多个直线;d.根据平行线特性对所述多个直线进行分组并形成行平行线组及列平行线组;e.根据QR码的特性,通过对所述行平行线组及列平行线组构建的网格进行判断来确 认是否存在QR码;f.获取行平行线组及列平行线组构建的网格的特征图形的像素坐标,根据所述特征图 形的像素坐标获取条码参数;g.获取版本参数,根据所述版本参数获取模块参数;h.搜索校正特征,获取所述校正特征的像素坐标;i.根据所述条码参数、所述模块参数和所述校正特征的像素坐标,计算所述校正特征 的模块坐标;j.根据所述校正特征的像素坐标和所述校正特征的模块坐标,计算所述条码图像的像 素坐标与模块坐标之间的映射关系;k.根据所述映射关系计算模块灰度值; 1.对所述模块灰度值进行二值化处理; m.根据所述二值化处理的结果提取码字; η.对所述码字进行译码处理。
全文摘要
本发明提供一种QR码条码解码芯片。特征搜索单元在条码图像中搜索特征图形来确定特征图形的像素坐标。条码参数获取单元根据特征图形的像素坐标来获取条码参数。版本/格式参数获取单元获取条码的版本参数和/或格式参数。校正特征获取单元在条码图像上搜索特征位置,根据特征位置获取校正特征。模块信息处理单元根据版本参数、条码参数和校正特征,计算模块所对应的灰度值。二值化单元,对模块进行二值化处理。码字提取单元,根据二值化处理的模块提取码字。纠错译码单元对码字进行译码处理。本发明还提供一种通过QR码解码方法。本发明的QR码条码解码芯片以及QR码解码方法能保证QR码解码过程快速、顺利地进行。
文档编号G06K7/10GK101908125SQ20101018980
公开日2010年12月8日 申请日期2010年6月1日 优先权日2010年6月1日
发明者兰福生, 刘荣生, 王贤福, 郭栋 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1