AztecCode条码解码芯片的制作方法

文档序号:6343633阅读:331来源:国知局
专利名称:Aztec Code条码解码芯片的制作方法
技术领域
Aztec Code条码解码芯片
技术领域
本实用新型涉及条码识别技术领域,特别地,涉及一种htec Code条码解码芯片。背景技术
条码技术是在计算机技术与信息技术基础上发展起来的一门集编码、印刷、识别、 数据采集和处理于一身的新兴技术。条码技术由于其识别快速、准确、可靠以及成本低等优点,被广泛应用于商业、图书管理、仓储、邮电、交通和工业控制等领域,并且势必在逐渐兴起的“物联网”应用中发挥重大的作用。目前被广泛使用的条码包括一维条码及二维条码。一维条码又称线形条码是由平行排列的多个“条”和“空”单元组成,条形码信息靠条和空的不同宽度和位置来表达。一维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,因此信息容量及空间利用率较低,并且在条码污损后即无法识别。二维条码是由按一定规律在二维方向上分布的黑白相间的特定几何图形组成,其可以在二维方向上表达信息,因此信息容量及空间利用率较低,并具有一定的校验功能。二维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码是由多行短截的一维条码堆叠而成,代表性的堆叠式二维条码包括PDF417、Code 49、Code 16K等。矩阵式二维条码是由按预定规则分布于矩阵中的黑、白模块组成,代表性的矩阵式二维条码包括QR 码、Data Matrix码、Maxi Code,Aztec Code、汉信码等。二维条码除具备一维条码也具有的优点外,同时还具有信息容量大、密度高、具有纠错功能、可表示各种多媒体信息以及多种文字信息、保密防伪性强、解码可靠性高的特点。现有技术在对二维条码进行解码的过程中,通常是利用摄影设备对条码进行拍摄,以获取条码图像,然后对条码图像进行去燥、灰度提取、二值化、码字提取、译码等处理方法。然而,上述现有技术在对条码图像进行自适应亮度均衡化和二值化处理过程时, 是针对每一个像素点进行自适应亮度均衡化和二值化处理,因此要对每一个像素点的灰度进行调节,并与阈值灰度进行比对,数据计算量很大,降低了系统的处理速度。而且由于该系统是在不知晓条码特征信息(即条码的相关参数,包括条码方向、条码区域尺寸和条码版本、条码畸变系数等信息)的情况下进行二值化处理,会造成模块错误,即在二值化过程中,由于噪声、畸变等因素的影响,出现模块的深浅状态和设计状态发生倒置的情况,这大大降低条码的识别能力,增加了条码识别的误码率。尤其在条码版本较高,所含模块数量较多的情况下,或者是条码图像分辨率低,曝光质量不佳的情况下,这种方法较难对二维条码进行识别。另外,现有技术的htec Code识别系统通常是采用处理器调用程序存储器中的解码程序,对条码图像进行处理来实现识别解码。该系统的问题在于一、处理速度慢,该系统需要在微处理器中写入实现解码算法的一系列程序,单个处理器只能同时针对一种特定类型的条码格式进行解码处理,处理器在一个时钟周期只能处理一个操作,软件处理也决定了解码流程的单流程特性,较难实现对条码图像的流水线作业和并行处理,处理速度较慢; 二、使用成本高,由于解码算法较为复杂,因此需要使用高端的处理器(如32位处理器)实现以上算法,需要处理器以及硬件加速电路相配合,这样会造成系统成本高昂;三、系统复杂,集成难度大,功耗高,不易于便携应用。因此,针对现有技术存在的以上不足,亟需提供一种htec Code条码解码芯片,使得能保证解码过程快速、顺利地进行。
发明内容针对现有技术存在的处理速度慢、错误发生机率较大等不足,本实用新型提供一种htec Code条码解码芯片,能保证htec Code解码过程快速、顺利地进行。本实用新型提供一种htec Code条码解码芯片,包括特征搜索单元、条码参数获取单元、版本/格式参数获取单元、校正特征获取单元、模块信息处理单元、二值化单元、 码字提取单元以及纠错译码单元。条码参数获取单元连接特征搜索单元版本/格式参数获取单元连接特征搜索单元和条码参数获取单元。校正特征获取单元连接条码参数获取单元。模块信息处理单元连接条码参数获取单元、版本/格式参数获取单元以及校正特征获取单元。二值化单元连接模块信息处理单元。码字提取单元连接二值化单元。纠错译码单元连接版本/格式参数获取单元和码字提取单元。本实用新型的htec Code条码解码芯片,通过搜索校正特征,获取校正特征的像素灰度坐标与模块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系,然后根据该映射关系计算模块灰度值,对模块灰度值进行二值化,进而还原Aztec Code所对应的条码符号图形。与现有技术相比,本实用新型的Aztec Code条码解码芯片是在知晓条码特征信息,并根据条码特征信息对条码图像进行校正后进行的二值化处理,因此降低了噪声、畸变等因素对二值化过程的影响,减少了模块错误的出现,大大增加了条码的识别能力,提升了条码识别的解码成功率。本实用新型的htec Code条码解码芯片采用硬件流水线结构,通过硬件逻辑实现对条码图像的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处理,因此处理速度很快。相对于现有技术的处理器解码技术而言,本实用新型的htec Code条码解码芯片采用全硬件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更为简化、面积更小、功耗更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联网技术相结合, 为条码技术的应用提供了更为广阔的发展空间。图1是iVztec Code的条码符号图形示意图。
图2是htec Code的条码符号图形的功能示意图。图3是紧凑型Aztec Code的条码符号图形的中心区域的功能示意图。图4是完整型htec Code完整型htec Code的条码符号图形的中心区域的功能示意图。图5是根据本实用新型的Aztec Code条码解码芯片的解码方法的处理流程图。图6是根据本实用新型的htec Code条码解码芯片的第一实施方式的结构示意图。[0022]图7是根据本实用新型的htec Code条码解码芯片的第一实施方式中校正特征获取单元的第一种校正点获取结构的示意图。图8是根据本实用新型的htec Code条码解码芯片的第一实施方式中模块信息处理单元的结构示意图。图9是根据本实用新型的htec Code条码解码芯片的第一实施方式中模块信息处理单元的转换原理示意图。图10是根据本实用新型的htec Code条码解码芯片的第二实施方式的结构示意图。图11是根据本实用新型的htec Code条码解码芯片的第二实施方式中校正特征获取单元的第二种校正点获取结构的示意图。有关本实用新型的特征及技术内容,请参考以下的详细说明与附图,附图仅提供参考与说明,并非用来对本实用新型加以限制。
具体实施方式
为使本领域技术人员更易于理解本实用新型的技术内容,提供以下条码术语的参考与说明,其中部分条码术语是根据中华人民共和国国家标准GB/T 12905-2000而来,并非用于对本实用新型加以限制。条码符号某种条码定义的表示信息的条、空组合形式或模块的组合形式。码字码字表示源数据向条码符号转换的中间值。一种符号的码字数决定了该条码符号的所有符号的数量。数据码字数据码字表示数据符号的值。纠错码字纠错码字表示纠错符号的值。模块矩阵式二维条码中的一个最小独立单元,代表一位二进制数据。功能图形矩阵式二维条码符号中用于符号定位与特征识别的特定图形。功能图形包括探测图形、定位图形、校正图形等。探测图形矩阵式二维条码符号图形中,用于在条码图像中进行符号定位的特殊图形,也称位置探测图形。定位图形矩阵式二维条码符号图形中,用于确定符号中模块的像素坐标的图形。校正图形矩阵式二维条码符号图形中,用于确定符号位置的一个固定的参照图形。在条码图像有一定程度畸变或污损的情况下,可以通过校正图形对条码图像中模块的像素坐标进行校正。编码区域矩阵式二维条码符号图形中,未被功能图形占据,用于对数据和纠错码字进行编码,表示数据符号和纠错符号的区域。版本用于表示矩阵式二维条码符号规格的序列,反映了符号尺寸、符号中的模块数量和符号中的模块的排列方式。版本信息矩阵式二维条码符号图形中,用于确定矩阵式二维条码符号版本号的功能图形。格式用于表示矩阵式二维条码符号所使用的纠错等级以及掩模图形。格式信息矩阵式二维条码符号图形中,用于确定矩阵式二维条码符号所使用的纠错等级以及掩模图形信息的功能图形。[0044]掩模图形在编码区域内用掩模图形对位图进行异或处理,其目的是使符号中深色与浅色模块的比例均衡,并减少影响条码图像处理的图形出现。二值化条码图像用整体阈值或局部阈值对灰度条码图像进行处理,从而得到的深浅两色的条码图像。阈值分割两个检验等级的边界值,其值本身是上面等级的下限值。模块错误在二值化条码图像中,深浅状态和设计状态发生倒置的模块。像素光敏阵列(如CXD或CMOS器件)上的单个光敏单元在条码图像上所对应的单位,一个像素通常被视为条码图像的最小的完整单位。数码条码图像的储存方式一般以像素(Pixel)为单位,每个像素是数码条码图像里面积最小的单位。图1是htec Code的符号图形示意图,图2是htec Code的符号图形功能说明图。为使本领域技术人员更易于理解本实用新型的技术内容,以下结合图1、图2对htec Code进行简单说明。如图1所示,Aztec Code的符号图形是建立在正方形网格基础上,符号图形中心是用于定位条码的正方形牛眼(Bulls-eye)位置探测图形。AztecCode属于矩阵式二维条码的一种,其在结构形体及元素排列上与代数矩阵具有相似的特征。Aztec Code的符号结构是由特定的符号功能图形及分布在矩阵元素位置上表示数据信息的正方形图形模块构成。其用深色模块单元表示二进制的“1”,用浅色模块单元表示二进制的“0”(当然,作为一种约定,也可用深色模块单元表示二进制的“0”,用浅色模块单元表示二进制的“1”)。数据码字流通过分布在矩阵元素位置上的单元模块的不同组合来表示。图2是htec Code的符号图形的功能示意图。如图2所示,Aztec Code的功能图形包括位置探测图形、指向图形、校正图形(坐标方格)。编码区包括表示符号信息的模块信息以及数据区。位置探测图形位于Aztec Code的中心,是多层正方形深浅模块的牛眼图案。Aztec Code包括尺寸较小的紧凑型iVztec Code和尺寸较大的完整型iVztec Code完整型htec Code两类。紧凑型htec Code中没有校正图形。完整型htec Code完整型 Aztec Code中的校正图形采用深浅间隔的单模块宽度的轨道线形式,用于为符号图形中模块的坐标定位提供坐标参考。下面针对htec Code的功能图形进行详细介绍,以便于本领域技术人员理解后续 Aztec Code的解码过程。图3是紧凑型htec Code的条码符号图形的中心区域的功能示意图。图4是完整型htec Code完整型htec Code的条码符号图形的中心区域的功能示意图。如图3和图4所示,位置探测图形中心为一个模块宽度的深色模块,向外依次环绕多层正方形的反色模块,每层为一个模块宽度。位置探测图形正方形的每个顶角的模块被指向图形覆盖,指向图形由深浅不同的4个正方形模块构成,按顺时针方向,左上角指向图形为4深,右上角指向图形的指向图形为1浅3深,右下角指向图形为2浅2深,左下角指向图形为3浅1深。根据指向图形的模块排列,可以确Shtec Code的符号图形的方向。指向图形之间是htec Code的版本和格式信息区,紧凑型htec Code在位置探测图形的四边共计28个模块用于编码版本和格式信息,完整型htec Code在位置探测图形的四边共计40个模块用于编码版本和格式信息。版本和格式信息包括了整个条码的模块层数、模块位数以及纠错等级。版本和格式信息区外是编码区,编码区由多层正方形的编码区环绕构成,每层编码区为2个模块宽度。以下对本实用新型的htec Code解码方法进行详细描述,图5是根据本实用新型的iVztec Code解码方法的处理流程图。如图5所示,在步骤901,在条码图像上进行特征搜索,以确定位置探测图形的像素坐标,根据位置探测图形的像素坐标获取条码参数,条码参数包括模块宽度和条码方向等。模块宽度可以通过位置探测图形的像素坐标计算获得,条码方向可以根据位置探测图形四个顶角的指向图形的模块排列方式确定。在本实用新型的一种实施方式中,此步骤可以通过模板匹配检测位置探测图形的方式实现。在本实用新型的另一种实施方式中,位置探测图形的搜索也可以通过比例检测的方式实现,该方式包括通过扫描方式检测条码图像中的深浅模块边界点,将深浅模块边界点之间的间距关系与位置探测图形或校正图形的模块尺寸比例相比较,根据比较结果确定特征图形在条码图像上的像素坐标。另外,本实用新型还提供一种通过行列线检测实现对AztecCode的识别的实施方式,该方法包括以下步骤首先在条码图像的预定区域内,提取符合预定长度的多个黑白边界线段;然后基于提取到的多个黑白边界线段构建多个直线;再根据平行线特性对多个直线进行分组并形成行平行线组及列平行线组;最后根据Aztec Code的特性,通过对行平行线组及列平行线组构建的网格进行判断来确认是否存在Aztec Code,并根据行平行线组及列平行线组构建的网格来获取位置探测图形的像素坐标,根据位置探测图形的像素坐标获取条码参数。在步骤902,根据检测到的位置探测图形的像素坐标和条码参数(包括模块宽度和条码方向),在条码图像上提取版本信息和格式信息,对版本信息和格式信息进行解码以获取版本/格式参数,例如包括模块层数、模块位数等信息的版本参数以及纠错等级等。在某些情况下,条码图像上版本信息和格式信息区域会被污损而导致无法读取数据时,可以根据条码类型对条码的格式、版本进行预估。例如,通过将各个版本、格式的可能进行排列组合来对版本和格式预估。根据预估的格式、版本对条码图像进行后续处理。在步骤903,在条码图像上搜索特征图形,例如包括位置探测图形的转角点、校正图形、动态特征模板、划线特征模板等,根据特征图形获取校正特征,例如包括校正点的像素坐标和灰度值。在步骤904,根据版本参数确定模块参数,根据校正特征、模块参数和条码参数计算校正特征所对应的模块坐标,根据校正特征的像素坐标和模块坐标计算校正参数,该校正参数反映了条码图像的像素点与条码模块之间的映射关系,根据模块参数和校正参数计算各个模块所对应的像素点,根据各个模块所对应的像素点的坐标和灰度值计算各个模块所对应的灰度值,构造模块图。在步骤905,对模块图进行二值化处理以提取位图。在步骤906,根据htec Code的排列规则进行位流提取并转换为数据码字和纠错码字。在步骤907,根据步骤902得到的版本号和纠错等级,重新将数据码字和纠错码字按块排列,进行错误检测和纠错计算,纠正删除错误和未知错误,直到版本号和纠错等级所规定的最大纠错容量,然后重新组配数据块序列,还原表示Aztec Code信息的数据位流。在步骤908,根据还原的数据位流进行译码,以获得htec Code信息。以下对本实用新型的kztec Code条码解码芯片进行详细描述,图6是根据本实用新型的htec Code条码解码芯片的第一实施方式的结构示意图。如图6所示,数据存储器11存储条码图像,Aztec Code条码解码芯片10对数据存储器11存储条码图像进行识别解码。Aztec Code条码解码芯片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采用模板匹配的方式搜索位置探测图形,其根据位置探测图形的模块宽度比生成位置探测图形检测模板,将位置探测图形检测模板相对条码图像进行平移并进行灰度匹配,以确定位置探测图形检测模板与条码图像的最佳匹配位置,并根据最佳匹配位置确定条码图像中位置探测图形的中心点和四角的像素坐标。在本实用新型的另一种实施方式中,特征搜索单元101也可以通过比例检测的方式来确定位置探测图形或校正图形在条码图像上的像素坐标,该方式包括通过扫描方式检测条码图像中的深浅模块边界点,将深浅模块边界点之间的间距关系与位置探测图形或校正图形的模块尺寸比例相比较,根据比较结果确定位置探测图形或校正图形在条码图像上的像素坐标。另外,本实用新型还提供一种通过行列线检测实现对Aztec Code的识别的实施方式, 在该实施方法中,特征搜索单元101首先在条码图像的预定区域内,提取符合预定长度的多个黑白边界线段,然后基于提取到的多个黑白边界线段构建多个直线,再根据平行线特性对多个直线进行分组并形成行平行线组及列平行线组,最后根据Aztec Code的特性,通过对行平行线组及列平行线组构建的网格进行判断来确认是否存在Aztec Code,并根据行平行线组及列平行线组构建的网格来获取位置探测图形的像素坐标。条码参数获取单元102根据特征搜索单元101所检测的位置探测图形的像素坐标来计算条码参数,通过位置探测图形的层宽计算模块宽度,根据位置探测图形的四角的指向图形的模块排列,确定Aztec Code的符号图形的条码方向。版本/格式参数获取单元103根据特征搜索单元101所检测的位置探测图形的像素坐标和条码参数,在条码图像上提取版本信息和格式信息,对版本信息和格式信息进行解码以获取版本/格式参数。由于编码区的版本信息、格式信息是临近位置检测图形设置的,版本/格式参数获取单元103根据位置检测图形的像素坐标和条码方向、条码模块宽度,可以搜索获得版本信息、格式信息区域,进行二值化计算和纠错译码后即可获取版本/ 格式参数,例如版本号、纠错等级等。[0070]在某些情况下,条码图像上版本信息和格式信息区域会被污损而导致无法读取数据。版本/格式参数获取单元103可以根据条码类型对条码的格式、版本进行预估。例如, 通过将各个版本及纠错等级的可能进行排列组合来对版本和格式预估。根据预估的格式、 版本对条码图像进行后续处理。校正特征获取单元104通过在条码图像上搜索特征位置,例如包括位置探测图形的转角点、校正图形、指向图形、动态模板、划线模板等,根据特征位置获取校正特征,例如包括校正点的像素坐标和/或模块坐标以及灰度值。校正特征获取单元包括多种实施方式,并非限定于根据校正图形获取校正特征。图7是根据本实用新型的htec Code条码解码芯片的第一实施方式中校正特征获取单元的第一种校正点获取结构的示意图。如图7所示,校正特征获取单元104包括校正图形搜索单元1041和校正点获取单元1042。与特征搜索单元101类似,校正图形搜索单元 1041根据校正图形的模块宽度比和条码参数,例如是按照轨道线的模块宽度比生成校正图形检测模板,将校正图形检测模板相对条码图像进行平移并进行灰度匹配。校正点获取单元1042对匹配结果进行相似度计算处理,以确定校正图形检测模板与条码图像的最佳匹配位置,根据最佳匹配位置确定条码图像中校正图形的中心点的像素坐标以及灰度值。模块信息处理单元105根据版本参数确定模块参数,根据校正特征、模块参数和条码参数计算校正特征所对应的模块坐标,根据校正特征的像素坐标和模块坐标计算校正参数,该校正参数反映了条码图像的像素点与条码模块之间的映射关系,根据模块参数和校正参数计算各个模块所对应的像素点,根据各个模块所对应的像素点的坐标和灰度值计算各个模块所对应的灰度值,构造模块图。图8是根据本实用新型的htec Code条码解码芯片的第一实施方式中模块信息处理单元的结构示意图。模块信息处理单元105包括模块参数计算单元1051、校正特征模块坐标计算单元1052、校正参数计算单元1053、模块像素点计算单元IOM以及模块灰度值计算单元1055。模块参数计算单元1051根据版本参数获取与版本参数相对应的模块层数、模块位数和模块数量。校正特征模块坐标计算单元1052根据校正特征获取单元104提供的校正特征的像素坐标,结合条码参数和模块参数计算获得校正特征的模块坐标。校正参数计算单元1053根据校正特征的像素坐标和模块坐标计算获得校正参数,该校正参数反映了条码图像的像素点与条码模块之间的映射关系。模块像素点计算单元IOM根据模块参数和校正参数计算各个模块所对应的像素点。模块与像素点之间的映射计算可以通过多种方式实现,包括透视变换、二次多项式、三次多项式、三角网格、小波变换或上述计算方式的结合等。模块像素点计算单元IOM可以通过模块坐标计算对应的像素点的坐标,也可以通过像素坐标计算对应的模块的坐标。本实用新型对上述计算过程及其所采取的计算手段并不加以限定。模块灰度值计算单元1055根据各个模块所对应的像素点的坐标和灰度值计算各个模块所对应的灰度值,以构造模块图。模块的灰度值计算可以通过多种方式实现,包括统计计算、插值计算、均值计算、加权计算或上述计算方式的结合等,本实用新型对上述计算过程及其所采取的计算手段并不加以限定。为便于本领域技术人员理解本实用新型的模块信息处理单元的处理过程,本实用新型举例一种计算方法对本实用新型的模块信息处理单元的转换原理进行说明,但是,该计算方法不应理解为对本实用新型的模块信息处理单元的限制。[0076]图9是根据本实用新型的htec Code条码解码芯片的第一实施方式中模块信息处理单元的转换原理示意图。模块81与像素区域82之间具有映射关系,变形区域821对应于模块81在像素区域82上的映射范围。模块81的中心点W在像素区域82所对应的映射点为W'。由图9可知,模块81所对应的像素点包括A-P的16个像素点,围绕映射点W' 的像素点为A、B、C、D 4个像素点。中心变形区域822对应于模块81的中心区域在像素区域82上的映射范围。对于矩阵条码而言,模块的中心区域所反映的模块值最准确。优选的实施方式中,可以通过A、B、C、D 4个像素点的灰度值来计算与映射点W'相对应的模块中心点W的灰度值。当然,也可以通过像素区域82所对应的所有像素点来计算模块81的灰度值。即,模块81的灰度值可以通过与其对应的若干个像素点的灰度值计算得出。二值化单元106接收模块信息处理单元105计算获得的模块灰度值,根据阈值对模块图进行二值化处理以提取位图。阈值的获取方式包括预设阈值、整体阈值获取、局部阈值获取等多种方式。码字提取单元107根据htec Code的排列规则进行位流提取并转换为数据码字和纠错码字。纠错译码单元108根据版本/格式参数获取单元103得到的版本号和纠错等级, 重新将数据码字和纠错码字按块排列,进行错误检测和纠错计算,纠正删除错误和未知错误,直到版本号和纠错等级所规定的最大纠错容量,然后重新组配数据块序列,还原表示 Aztec Code信息的数据位流,根据还原的数据位流进行译码,以获得htec Code信息。图10是根据本实用新型的htec Code条码解码芯片的第二实施方式的结构示意图。与本实用新型的Aztec Code条码解码芯片的第一实施方式的不同之处在于,Aztec Code条码解码芯片20的结构作了以下改进,其通过特征搜索单元201实现对功能图形和/ 或校正特征的搜索,取消了校正特征获取单元。与本实用新型的第一实施方式相类似,特征搜索单元201通过在条码图像中搜索特征图形来确定特征图形在条码图像上的像素坐标。特征图形例如是位置探测图形。通过调整模板匹配的模块宽度比和/或模块坐标,特征搜索单元101还可以对其他特征图形进行搜索,例如校正图形。特征搜索单元201按照轨道线的模块宽度比生成校正图形检测模板,将校正图形检测模板相对条码图像进行平移并进行灰度匹配。校正点获取单元1042对匹配结果进行相似度计算处理,以确定校正图形检测模板与条码图像的最佳匹配位置,根据最佳匹配位置确定条码图像中校正图形的中心点的像素坐标以及灰度值。特征图形包括但不限于条码的功能图形,例如位置探测图形、校正图形、指向图形等。为使本领域技术人员易于理解本实用新型,下面对功能图形之外的特征图形的表现形式作举例说明。Aztec Code属于矩阵码的一种,其条码符号图形具有矩阵码的代数矩阵特征,条码符号可以视为是由若干个深浅不同的矩形模块组成。通过选取条码图像区域中相对于相邻模块图形比较容易区分的标志性较好的矩形模块图形的集合,可以形成动态特征模板。另外还可以通过搜索条码图像上位于同一行或列上的相互间隔的两个同色模块(深色模块或浅色模块),形成划线特征模板。特征搜索单元201按照动态特征模板或划线特征模板的模块坐标所对应的模块宽度比生成动态特征模板或划线特征模板的检测模板,将动态特征模板或划线特征模板的检测模板相对条码图像进行平移并进行灰度匹配。对匹配结果进行相似度计算处理,以确定动态特征模板或划线特征模板的检测模板与条码图像的最佳匹配位置,根据最佳匹配位置确定条码图像中动态特征模板或划线特征模板的中心点和/或四角的像素坐标以及灰度值。模块信息处理单元205直接接收特征搜索单元201所提供的特征图形的像素坐标作为校正特征进行处理,校正特征例如是条码图像中位置探测图形的中心点和四角的像素坐标,校正图形的中心点的像素坐标,指向图形的像素坐标,或者是动态特征模板或划线特征模板的中心点的像素坐标等。图11是根据本实用新型的Aztec Code条码解码芯片的第二实施方式中模块信息处理单元的结构示意图。与本实用新型的Aztec Code条码解码芯片的第一实施方式的不同之处在于,校正特征模块坐标计算单元2052连接特征搜索单元 201,并根据条码参数和模块参数计算单元2051提供的模块参数计算获得特征图形的模块坐标。校正参数计算单元2053根据特征图形的像素坐标和模块坐标计算获得校正参数,该校正参数反映了条码图像的像素点与条码模块之间的映射关系。模块像素点计算单元20M 根据模块参数和校正参数计算各个模块所对应的像素点。模块与像素点之间的映射计算可以通过多种方式实现,包括透视变换、二次多项式、三次多项式、三角网格、小波变换或上述计算方式的结合等。模块灰度值计算单元2055根据各个模块所对应的像素点的坐标和灰度值计算各个模块所对应的灰度值,以构造模块图。本实用新型的Aztec Code解码方法,通过搜索校正特征,获取校正特征的像素灰度坐标与模块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系,然后根据该映射关系计算模块灰度值,对模块灰度值进行二值化,进而还原Aztec Code所对应的条码符号图形。与现有技术相比,本实用新型的Aztec Code解码方法是在知晓条码特征信息,并根据条码特征信息对条码图像进行校正后进行的二值化处理,因此降低了噪声、畸变等因素对二值化过程的影响,减少了模块错误的出现,大大增加了条码的识别能力,提升了条码识别的解码成功率。本实用新型的htec Code条码解码芯片采用硬件流水线结构,通过硬件逻辑实现对条码图像的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处理,因此处理速度很快。相对于现有技术的处理器解码技术而言,本实用新型的htec Code条码解码芯片采用全硬件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更为简化、面积更小、功耗更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联网技术相结合, 为条码技术的应用提供了更为广阔的发展空间。以上参照附图说明了本实用新型的各种优选实施例,但是只要不背离本实用新型的实质和范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本实用新型的保护范围。
权利要求1. 一种Aztec Code条码解码芯片,其特征在于,所述htec Code条码解码芯片包括 特征搜索单元;条码参数获取单元,连接所述特征搜索单元;版本/格式参数获取单元,连接所述特征搜索单元和所述条码参数获取单元; 校正特征获取单元,连接所述条码参数获取单元;模块信息处理单元,连接所述条码参数获取单元、所述版本/格式参数获取单元以及所述校正特征获取单元;二值化单元,连接所述模块信息处理单元; 码字提取单元,连接所述二值化单元;纠错译码单元,连接所述版本/格式参数获取单元和所述码字提取单元。
专利摘要本实用新型提供一种Aztec Code条码解码芯片。特征搜索单元在条码图像中搜索位置探测图形来确定位置探测图形的像素坐标。条码参数获取单元根据位置探测图形的像素坐标来获取模块宽度,并根据位置探测图形的像素坐标来搜索指向图形,获取条码方向。版本/格式参数获取单元获取条码的版本参数和/或格式参数。校正特征获取单元在条码图像上搜索特征位置,根据特征位置获取校正特征。模块信息处理单元根据版本参数、模块宽度、条码方向和校正特征,计算模块所对应的灰度值。二值化单元,对模块进行二值化处理。码字提取单元,根据二值化处理的模块提取码字。纠错译码单元对码字进行译码处理。本实用新型的Aztec Code条码解码芯片能保证Aztec Code解码过程快速、顺利地进行。
文档编号G06K7/10GK201965627SQ20102021263
公开日2011年9月7日 申请日期2010年6月1日 优先权日2010年6月1日
发明者刘荣生, 蔡强, 邱有森, 黄建新 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1