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

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

发明内容针对现有技术存在的处理速度慢、错误发生机率较大等不足,本实用新型提供一 种Maxi Code条码解码芯片,能保证Maxi Code解码过程快速、顺利地进行。本实用新型提供一种Maxi Code条码解码芯片,包括特征搜索单元、模块尺寸获取 单元、模式位获取单元、定位特征获取单元、模块信息处理单元、二值化单元、码字提取单元 以及纠错译码单元。模块尺寸获取单元连接特征搜索单元。定位特征获取单元连接模块尺 寸获取单元。模式位获取单元连接特征搜索单元、模块尺寸获取单元以及定位特征获取单 元。模块信息处理单元连接模块尺寸获取单元、定位特征获取单元。二值化单元连接模块 信息处理单元。码字提取单元连接二值化单元。纠错译码单元连接码字提取单元。本实用新型的Maxi Code条码解码芯片,通过搜索位置探测图形和定位簇,获取定 位簇的像素灰度坐标与模块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系, 然后根据该映射关系计算模块灰度值,对模块灰度值进行二值化,进而还原Maxi Code所对 应的条码符号图形。与现有技术相比,本实用新型的Maxi Code条码解码芯片是在知晓条 码特征信息,并根据条码特征信息对条码图像进行校正后进行的二值化处理,因此降低了 噪声、畸变等因素对二值化过程的影响,减少了模块错误的出现,大大增加了条码的识别能 力,提升了条码识别的解码成功率。本实用新型的Maxi Code条码解码芯片采用硬件流水线结构,通过硬件逻辑实现 对条码图像的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处 理,因此处理速度很快。相对于现有技术的处理器解码技术而言,本实用新型的Maxi Code条码解码芯片 采用全硬件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更为简化、面积更 小、功耗更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联网技术相结合, 为条码技术的应用提供了更为广阔的发展空间。

图1是Maxi Code的条码符号图形示意图。图2是Maxi Code的条码符号图形的功能示意图。图3是根据本实用新型的Maxi Code条码解码芯片的解码方法的处理流程图。图4是根据本实用新型的Maxi Code条码解码芯片的第一实施方式的结构示意 图。图5是根据本实用新型的Maxi Code条码解码芯片的第一实施方式中定位特征获 取单元的第一种校正点获取结构的示意图。[0019]图6是根据本实用新型的MaxiCode条码解码芯片的第一实施方式中模块信息处 理单元的结构示意图。图7是根据本实用新型的MaxiCode条码解码芯片的第一实施方式中模块信息处 理单元的转换原理示意图。
具体实施方式有关本实用新型的特征及技术内容,请参考以下的详细说明与附图,附图仅提供 参考与说明,并非用来对本实用新型加以限制。为使本领域技术人员更易于理解本实用新型的技术内容,提供以下条码术语的参 考与说明,其中部分条码术语是根据中华人民共和国国家标准GB/T 12905-2000而来,并 非用于对本实用新型加以限制。条码符号某种条码定义的表示信息的条、空组合形式或模块的组合形式。码字码字表示源数据向条码符号转换的中间值。一种符号的码字数决定了该条 码符号的所有符号的数量。数据码字数据码字表示数据符号的值。纠错码字纠错码字表示纠错符号的值。模块矩阵式二维条码中的一个最小独立单元,代表一位二进制数据。功能图形矩阵式二维条码符号中用于符号定位与特征识别的特定图形。功能图 形包括探测图形、定位图形、校正图形等。探测图形矩阵式二维条码符号图形中,用于在条码图像中进行符号定位的特殊 图形,也称位置探测图形。定位图形矩阵式二维条码符号图形中,用于确定符号中模块的像素坐标的图形。校正图形矩阵式二维条码符号图形中,用于确定符号位置的一个固定的参照图 形。在条码图像有一定程度畸变或污损的情况下,可以通过校正图形对条码图像中模块的 像素坐标进行校正。编码区域矩阵式二维条码符号图形中,未被功能图形占据,用于对数据和纠错码 字进行编码,表示数据符号和纠错符号的区域。版本用于表示矩阵式二维条码符号规格的序列,反映了符号尺寸、符号中的模块 数量和符号中的模块的排列方式。版本信息矩阵式二维条码符号图形中,用于确定矩阵式二维条码符号版本号的 功能图形。格式用于表示矩阵式二维条码符号所使用的纠错等级以及掩模图形。格式信息矩阵式二维条码符号图形中,用于确定矩阵式二维条码符号所使用的 纠错等级以及掩模图形信息的功能图形。掩模图形在编码区域内用掩模图形对位图进行异或处理,其目的是使符号中深 色与浅色模块的比例均衡,并减少影响条码图像处理的图形出现。二值化条码图像用整体阈值或局部阈值对灰度条码图像进行处理,从而得到的 深浅两色的条码图像。阈值分割两个检验等级的边界值,其值本身是上面等级的下限值。[0040]模块错误在二值化条码图像中,深浅状态和设计状态发生倒置的模块。像素光敏阵列(如CXD或CMOS器件)上的单个光敏单元在条码图像上所对应的 单位,一个像素通常被视为条码图像的最小的完整单位。数码条码图像的储存方式一般以 像素(Pixel)为单位,每个像素是数码条码图像里面积最小的单位。图1是Maxi Code的符号图形示意图,图2是Maxi Code的符号图形功能说明图。 为使本领域技术人员更易于理解本实用新型的技术内容,以下结合图1、图2对Maxi Code 进行简单说明。Maxi Code是一种中等容量、尺寸固定的矩阵式二维条码,它由紧密相连的六边形 模块和位于符号中央位置的位置检测图形所组成。Maxi Code是特别为高速扫瞄而设计,主 要应用于包裹搜寻和追踪上。如图1所示,MaxiCode外形近乎正方形,由位于符号中央的 同心圆(或称公牛眼)位置检测图形(Finder Pattern),及其周围六边形蜂巢式结构的数 据模块所组成,这种排列方式使得Maxi Code可以从任意方向进行识别。Maxi Code符号共 有884个六边形模组,分33层围绕着中央定位图形,每一层分别由30个或四个模组组成。 符号四周应有空白区。Maxi Code包括空白区在内,尺寸固定为观.14mmX沈.91mm,约1平 方英寸。中央定位图形相当于90个模组的大小。如图2所示,Maxi Code具有一个大小固定且唯一的中央位置检测图形,为叁个黑 色的同心圆,用于符号定位。此位置检测图形位于数据模组所围成的虚拟六边形的正中央, 在此虚拟六边形的六个顶点上各有3个黑白色不同组合式所构成的模组,称为「方位簇」 (Orientation Cluster),其用于确定条码方向。Maxi Code共有7种模式(模式0 模式 6),但其中有2个模式(模式0、模式1)已作废。4个模式位元(Mode Bits),围在定位图形 右上方全白的方位丛左边,以网格所标识的四个模块即是,其直接指示出其他模块的数据 编码模式。Maxi Code 提供标准错误纠正(Standard Error Correction, SEC)与增强错误纠 正(Extended Error Correction,EEC)两种纠错等级,这两种等级需要不同数量的字,提供 不同水准的错误恢复能力,SEC的错误复原能力达16%,EEC则可达25%,纠错等级是由模 式位所指定。以下对本实用新型的Maxi Code解码方法进行详细描述,图3是根据本实用新型 的Maxi Code解码方法的处理流程图。如图3所示,在步骤901,在条码图像上进行特征搜索,以确定位置探测图形的像 素坐标,根据位置探测图形的像素坐标获取模块尺寸。模块尺寸可以通过位置探测图形的 像素坐标计算获得。此步骤可以通过模板匹配检测位置探测图形的方式实现。在步骤902,根据检测到的位置探测图形的像素坐标和模块尺寸,在条码图像上搜 索定位簇和模式位,根据定位簇的排列方式确定条码方向,获取定位特征的像素坐标、模块 坐标和灰度值。在步骤903,根据定位簇搜索模式位,根据模块位获取模块编码模式以及纠错等 级。在某些情况下,条码图像上的模式位区域会被污损而导致无法读取数据时,可以对条码 的模块编码模式以及纠错等级进行预估。例如,通过将各个模块编码模式以及纠错等级的 可能进行排列组合来预估。根据预估的模块编码模式以及纠错等级对条码图像进行后续处理。[0050] 在步骤904,根据定位特征提取校正参数,该校正参数反映了条码图像的像素点与 条码模块之间的映射关系,根据模块尺寸和校正参数计算各个模块所对应的像素点,根据 各个模块所对应的像素点的坐标和灰度值计算各个模块所对应的灰度值,构造模块图。 在步骤905,对模块图进行二值化处理以提取位图。在步骤906,根据Maxi Code的排列规则进行位流提取并根据模块编码模式转换 为数据码字和纠错码字。在步骤907,根据纠错等级,重新将数据码字和纠错码字按块排列,进行错误检测 和纠错计算,纠正删除错误和未知错误,还原表示Maxi Code信息的数据位流。在步骤908,将还原的数据位流根据模块编码模式进行译码,以获得Maxi Code信 肩、ο以下对本实用新型的Maxi Code条码解码芯片进行详细描述,图4是根据本实用 新型的Maxi Code条码解码芯片的第一实施方式的结构示意图。如图4所示,数据存储器11存储条码图像,Maxi Code条码解码芯片10对数据存 储器11存储条码图像进行识别解码。Maxi 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采用模板匹配的方式搜索位置探测图形,其根 据位置探测图形生成位置探测图形检测模板,将位置探测图形检测模板相对条码图像进行 平移并进行灰度匹配,以确定位置探测图形检测模板与条码图像的最佳匹配位置,并根据 最佳匹配位置确定条码图像中位置探测图形的中心点和各圆环的像素坐标。模块尺寸获取单元102根据特征搜索单元101所检测的位置探测图形的像素坐标 来计算模块尺寸,通过位置探测图形的环宽或中心圆的直径来计算模块尺寸。定位特征获取单元103根据特征搜索单元101所检测的位置探测图形的像素坐标 和模块尺寸,在条码图像上搜索各个定位簇的位置,根据各个定位簇的位置确定条码方向。 定位特征获取单元103还根据定位簇的特征位置获取校正特征,校正特征包括定位簇的像 素坐标、模块坐标以及灰度值。图5是根据本实用新型的Maxi Code条码解码芯片的第一实施方式中定位特征获 取单元的第一种校正点获取结构的示意图。如图5所示,定位特征获取单元103包括定位 簇搜索单元1031和校正点获取单元1032。校正图形搜索单元1041根据位置探测图形的像素坐标和模块尺寸,按照定位簇的模块排列方式生成定位簇检测模板,将定位簇检测模板 相对条码图像进行平移并进行灰度匹配。校正点获取单元1032对匹配结果进行相似度计 算处理,以确定定位簇检测模板与条码图像的最佳匹配位置,根据最佳匹配位置确定条码 图像中定位簇的中心点的像素坐标和灰度值以及定位簇的模块坐标,根据各个定位簇的位 置确定条码方向。模式位获取单元105根据定位簇的位置提取模式位,根据模块位获取模块编码模 式以及纠错等级。在某些情况下,条码图像上的模式位区域会被污损而导致无法读取数据 时,模式位获取单元105可以对条码的模块编码模式以及纠错等级进行预估。例如,通过将 各个模块编码模式以及纠错等级的可能进行排列组合来预估。根据预估的模块编码模式以 及纠错等级对条码图像进行后续处理。模块信息处理单元105根据定位簇的中心点的像素坐标和定位簇的模块坐标计 算校正参数,该校正参数反映了条码图像的像素点与条码模块之间的映射关系,根据Maxi Code的模块参数和校正参数计算各个模块所对应的像素点,根据各个模块所对应的像素点 的坐标和灰度值计算各个模块所对应的灰度值,构造模块图。图6是根据本实用新型的Maxi Code条码解码芯片的第一实施方式中模块信息处 理单元的结构示意图。模块信息处理单元105包括校正参数计算单元1051、模块像素点计 算单元1052以及模块灰度值计算单元1053。校正参数计算单元1051根据定位簇的像素 坐标和模块坐标计算获得校正参数,该校正参数反映了条码图像的像素点与条码模块之间 的映射关系。模块像素点计算单元1052根据Maxi Code的模块参数和校正参数计算各个 模块所对应的像素点。模块与像素点之间的映射计算可以通过多种方式实现,包括透视变 换、二次多项式、三次多项式、三角网格、小波变换或上述计算方式的结合等。模块像素点 计算单元1052可以通过模块坐标计算对应的像素点的坐标,也可以通过像素坐标计算对 应的模块的坐标。本实用新型对上述计算过程及其所采取的计算手段并不加以限定。模块 灰度值计算单元1053根据各个模块所对应的像素点的坐标和灰度值计算各个模块所对应 的灰度值,以构造模块图。模块的灰度值计算可以通过多种方式实现,包括统计计算、插值 计算、均值计算、加权计算或上述计算方式的结合等,本实用新型对上述计算过程及其所采 取的计算手段并不加以限定。为便于本领域技术人员理解本实用新型的模块信息处理单元的处理过程,本实用 新型举例一种计算方法对本实用新型的模块信息处理单元的转换原理进行说明,但是,该 计算方法不应理解为对本实用新型的模块信息处理单元的限制。图7是根据本实用新型的Maxi Code条码解码芯片的第一实施方式中模块信息处 理单元的转换原理示意图。模块81与像素区域82之间具有映射关系,变形区域821对应 于模块81在像素区域82上的映射范围。模块81的中心点W在像素区域82所对应的映射 点为W'。由图9可知,模块81所对应的像素点包括多个像素点,围绕映射点W'的像素点 为A、B、C、D 4个像素点。中心变形区域822对应于模块81的中心区域在像素区域82上的 映射范围。对于矩阵条码而言,模块的中心区域所反映的模块值最准确。优选的实施方式 中,可以通过A、B、C、D 4个像素点的灰度值来计算与映射点W'相对应的模块中心点W的 灰度值。当然,也可以通过像素区域82所对应的所有像素点来计算模块81的灰度值。艮口, 模块81的灰度值可以通过与其对应的若干个像素点的灰度值计算得出。
8[0067]二值化单元106接收模块信息处理单元105计算获得的模块灰度值,根据阈值对 模块图进行二值化处理以提取位图。阈值的获取方式包括预设阈值、整体阈值获取、局部 阈值获取等多种方式。码字提取单元107根据Maxi Code的排列规则进行位流提取并根据模块编码模式 转换为数据码字和纠错码字。纠错译码单元108根据模式位获取单元104得到的纠错等级,重新将数据码字和 纠错码字按块排列,进行错误检测和纠错计算,纠正删除错误和未知错误,还原表示Maxi Code信息的数据位流,将还原的数据位流根据模块编码模式进行译码,以获得Maxi Code fn息ο本实用新型的Maxi Code解码方法,通过搜索位置探测图形和定位簇,获取定位簇 的像素灰度坐标与模块坐标,计算条码图像的像素坐标与模块坐标之间的映射关系,然后 根据该映射关系计算模块灰度值,对模块灰度值进行二值化,进而还原Maxi Code所对应的 条码符号图形。与现有技术相比,本实用新型的Maxi Code解码方法是在知晓条码特征信 息,并根据条码特征信息对条码图像进行校正后进行的二值化处理,因此降低了噪声、畸变 等因素对二值化过程的影响,减少了模块错误的出现,大大增加了条码的识别能力,提升了 条码识别的解码成功率。本实用新型的Maxi Code条码解码芯片采用硬件流水线结构,通过硬件逻辑实现 对条码图像的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处 理,因此处理速度很快。相对于现有技术的处理器解码技术而言,本实用新型的Maxi Code条码解码芯片 采用全硬件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更为简化、面积更 小、功耗更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联网技术相结合, 为条码技术的应用提供了更为广阔的发展空间。以上参照附图说明了本实用新型的各种优选实施例,但是只要不背离本实用新 型的实质和范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本实 用新型的保护范围。
权利要求1. 一种Maxi Code条码解码芯片,其特征在于,所述Maxi Code条码解码芯片包括 特征搜索单元;模块尺寸获取单元,连接所述特征搜索单元; 定位特征获取单元,连接所述模块尺寸获取单元;模式位获取单元,连接所述特征搜索单元、所述模块尺寸获取单元以及所述定位特征 获取单元;模块信息处理单元,连接所述模块尺寸获取单元、所述定位特征获取单元; 二值化单元,连接所述模块信息处理单元; 码字提取单元,连接所述二值化单元; 纠错译码单元,连接所述码字提取单元。
专利摘要本实用新型提供一种Maxi Code条码解码芯片。特征搜索单元在条码图像中搜索位置探测图形来确定位置探测图形的像素坐标。模块尺寸获取单元根据位置探测图形的像素坐标来获取模块尺寸。定位特征获取单元在条码图像上搜索定位簇,获取定位簇的像素坐标和模块坐标,以及确定条码方向。模式位获取单元获取条码的模式位。模块信息处理单元计算Maxi Code的各个模块所对应的灰度值。二值化单元对模块进行二值化处理。码字提取单元根据二值化处理的模块提取码字。纠错译码单元对码字进行纠错译码处理。本实用新型的MaxiCode条码解码芯片能保证Maxi Code解码过程快速、顺利地进行。
文档编号G06K7/10GK201927029SQ20102021263
公开日2011年8月10日 申请日期2010年6月1日 优先权日2010年6月1日
发明者丁彦郡, 孙亚力, 胡伦育, 陈文传 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1