一维条码解码芯片的制作方法

文档序号:6603395阅读:296来源:国知局
专利名称:一维条码解码芯片的制作方法
一维条码解码芯片
技术领域
本发明涉及条码识别技术领域,特别地,涉及一种一维条码解码芯片。背景技术
条码技术是在计算机技术与信息技术基础上发展起来的一门集编码、印刷、识别、 数据采集和处理于一身的新兴技术。条码技术由于其识别快速、准确、可靠以及成本低等优 点,被广泛应用于商业、图书管理、仓储、邮电、交通和工业控制等领域,并且势必在逐渐兴 起的“物联网”应用中发挥重大的作用。目前被广泛使用的条码包括一维条码及二维条码。一维条码又称线形条码是由平 行排列的多个“条”和“空”单元组成,条码信息依靠条和空的不同宽度和位置来表达。二 维条码是由按一定规律在二维方向上分布的黑白相间的特定几何图形组成,其可以在二维 方向上表达信息。二维条码可以分为行列式二维条码和矩阵式二维条码。行列式二维条码 是由多行短截的一维条码堆叠而成,代表性的行列式二维条码包括PDF417、Code 49、Code 16K等。行列式二维条码信息表示方法与一维条码类似,也是依靠条和空的不同宽度和位置 来表达。矩阵式二维条码是由按预定规则分布于矩阵中的黑、白模块组成,代表性的矩阵式 二维条码包括QR码、Data Matrix码、Maxi码、Aztec码、汉信码等。在条码进行解码的过程中,通常是利用扫描设备对于条码进行扫描,以获取反射 光信号,或者是利用摄影设备对条码进行拍摄,以获取条码图像,通过对反射光信号或条码 图像进行识别处理来获取条码信息。如图1所示,是三星电子株式会社提出的中国专利申请第200510126730. 7号,其 公开了一种读取条码的方法和装置。该装置包括扫描单元,用于感测条码并且生成扫描信 号;搜索单元,用于计算扫描信号的变化率,从扫描信号中提取斜线段,并搜索所提取的斜 线段的起点和终点以检测条码的条的边缘;以及条码读取单元,用于基于所检测的边缘之 间的距离而读出条码。这种读取条码的方法和装置的缺点在于,该装置必须依赖于使用者 通过扫描单元正确地感测条码方向,读取条码的装置本身不能识别条码方向,不能根据条 码方向调整解码方向,由此造成了使用不便和应用的局限性,在条码的条空密度较大,或者 是畸变较大的情况下会造成无法识别解码。因此,针对现有技术存在的以上不足,亟需提供一种一维条码解码芯片,使得能保 证正确识别条码的条空信息,提高解码成功率。

发明内容针对现有技术存在的解码装置依赖于使用者通过扫描单元正确地感测条码方向, 不能根据条码方向调整解码方向的不足,本发明提供一种一维条码解码芯片,可以正确识 别条码的条空信息,提高解码成功率。本发明提供一种一维条码解码芯片,包括扫描模块,产生扫描坐标,扫描坐标对 应于数据存储器的地址存储空间内的地址位,用于扫描数据存储器内的条码图像;边界识别模块,根据扫描坐标读取条码图像,并对所读取的图像像素点进行计算,以获取条码图像 的条空边界点;方向识别模块,根据边界识别模块获取的条空边界点计算获得条码方向; 条空边界处理模块,根据条码方向对条码图像进行处理,以获取条码图像中的条空边界;符 号参数识别模块,根据条空边界对条码的符号参数进行识别,以获取符号参数;符号字符获 取模块,根据条空边界和符号参数计算获得符号字符;以及译码模块,将符号字符转换为条 码信息。本发明的一维条码解码芯片能够自动识别条码方向,无需使用者调整扫描单元的 扫描方向即可实现对条码图像的识别解码,并且条码边界的识别精度高,解码成功率高。本发明的一维条码解码芯片能够根据条码方向调整解码方向,获取条码边界的精 确坐标值,大大提高了解码成功率,特别适用于高密度条码或畸变条码的识别解码。本发明的一维条码解码芯片采用硬件流水线结构,通过硬件逻辑实现对条码图像 的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处理,因此处理 速度很快。由于采用全硬件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更 为简化、面积更小、功耗更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联 网技术相结合,为条码技术的应用提供了更为广阔的发展空间。

图1是现有技术的一种读取条码的方法和装置的结构示意图。图2是本发明的一维条码解码芯片示意图。图3是本发明的一维条码解码芯片中的扫描模块的结构示意图。图4是根据本发明的条码方向识别方法的识别原理示意图。图5是本发明的一维条码解码芯片中的条空边界处理模块的结构示意图。图6是本发明的条空边界处理模块对条码图像进行处理的工作原理示意图。图7是图6中对条码图像进行处理的局部放大图。图8是本发明的一维条码解码芯片中的符号字符提取模块的结构示意图。图9是本发明的一维条码解码芯片中的译码模块的结构示意图。图10是本发明的一维条码解码芯片中的译码模块的另一种实施方式的结构示意 图。
具体实施方式有关本发明的特征及技术内容,请参考以下的详细说明与附图,附图仅提供参考 与说明,并非用来对本发明加以限制。以下首先对本发明的一维条码解码芯片进行详细描述,图2是本发明的一维条码 解码芯片示意图。本发明的一维条码解码芯片10连接数据存储器11。数据存储器11用于 存储条码图像信息。条码图像信息包括图像像素坐标以及图像像素灰度值等。这些条码图 像信息以一定顺序的存储方式存储在数据存储器11内。进一步地,数据存储器11还包括 地址存储空间(图未示),地址存储空间用于存储图像像素坐标,一个图像像素坐标对应地 址存储空间内的一个地址位,图像像素坐标在地址存储空间内的存储方式为顺序存储。一维条码解码芯片10包括状态控制模块100、扫描模块110、边界识别模块120、方向计算模块130、条空边界处理模块140、符号字符提取模块150、符号参数识别模块160以 及译码模块170。状态控制模块100用于控制扫描模块110、边界识别模块120、方向计算模块130、 条空边界处理模块140、符号字符提取模块150、符号参数识别模块160以及译码模块170 的工作状态和处理流程。下面结合图2-10对本发明的一维条码解码芯片的各个模块逐一进行详细描述。 图3是本发明的一维条码解码芯片中扫描模块的结构示意图。扫描模块110用于建立扫描坐标系,并产生扫描坐标,扫描坐标对应于数据存储 器11的地址存储空间内的地址位,用于扫描数据存储器11内与地址位相对应的条码图像 信息。扫描模块110包括扫描坐标生成单元111和坐标映射变换单元112。扫描坐标生成 单元111用于产生初始扫描坐标。坐标映射变换单元112用于将初始扫描坐标生成单元 111产生的初始扫描坐标经过坐标变换后映射至数据存储器11的地址存储空间。坐标映射 变换单元112的坐标变换功能至少包括坐标平移变换、坐标旋转变换或坐标轴互换变换中 的一种或其组合。坐标映射变换单元112坐标变换可以实现对条码图像进行不同方向的扫 描。边界识别模块120根据扫描模块110所产生的扫描坐标读取数据存储器11内的 与地址位相对应的条码图像信息,对条码图像进行虚拟扫描,条码图像信息包括图像像素 坐标以及图像像素灰度值。所谓虚拟扫描是指通过扫描电路根据一定的逻辑获取条码图像 的择像素坐标和灰度值,例如是X方向沿水平方向扫完第1行,Y方向递增10个像素间距, 继续X方向沿水平方向扫第2行。边界识别模块120通过计算虚拟扫描线上存在灰度落差 的像素点的坐标位置来获取与虚拟扫描线相交的条空边界点。对于条码符号而言,条一般 用黑色或深色表示,空一般用白色或浅色表示。更进一步的,边界识别模块120还可以根据 获取的条空边界点对条码类型进行识别。方向识别模块130根据边界识别模块120所获取的条空边界点计算获得条码方 向。以下对本发明的方向识别模块130获取条码方向的方法进行详细描述,图4是根据本 发明的条码方向识别方法的识别原理示意图。如图4所示,条码图像为倾斜状态,无法直接 沿水平方向作虚拟扫描线进行识别解码。需要获取条码方向后对虚拟扫描方向进行调整。 第一扫描方向条码方向的夹角为9 2,而由于02与01与统一角度互为补角,因此01 = 0 2。所以只需知道e 1的斜率tg0 1,即可获得条码方向的斜率tg0 2。而由图4可知tanθ1=x2-x1/y2-y1
上式中,(x2,y2)和(xl,yl)的坐标可以由虚拟扫描线与条空相交的边界点获得, 根据各条虚拟扫描线与条空相交的边界点的坐标值,通过X坐标位置比较,y坐标位置比较 来判断各点的平行四边形特征,可以确定位于一个平行四边形特征内的(x2,y2)和(xl, yl)的像素点的坐标,进而计算获得tg0 1的值,即获得条码方向。上述平行四边形特征 也可以采用平行线特征代替,上述平行四边形特征或平行线特征并不限定在一个条空范围 内。在方向识别模块130计算获得条码方向之后,条空边界处理模块140根据条码方 向对条码图像进行处理,以获取条码图像中准确的条空边界。
图5是本发明的一维条码解码芯片中条空边界处理模块的结构示意图。如图5所 示,条空边界处理模块140进一步包括扫描边界获取单元141、直线扫描单元142、亚像素边 界计算单元143、直线计算单元144以及扫描坐标计算单元145。图6是本发明的条空边界 处理模块对条码图像进行处理的工作原理示意图,图7是图6中对条码图像进行处理的局 部放大图。以下结合图5、图6和图7对条空边界处理模块140中各个单元的结构功能和处 理流程进行描述。如图5所示,扫描边界获取单元141连接边界识别模块120和方向计算模块130。 扫描边界获取单元141从边界识别模块120获取条码边界点,从方向计算模块130获取条 码方向。如图6和图7所示,扫描边界获取单元141以两侧的条码边界点为中心,依据条 码方向和与条码方向垂直的方向向外扩展,分别获取边界区域821和826。边界区域821 和826内包括了条码边界点及其附近的像素点的集合。扫描边界获取单元141将边界区 域821和826内的像素点的集合输入直线计算单元144中,直线计算单元144对边界区域 821和826内的像素点的集合进行Hough(霍夫)运算。Hough运算的基本原理为假设在 直角坐标系中存在一条原点距离为P,方位角为9的直线,则直线上每一点满足公式P = xcos 0 +ysin 0。在条码边界搜索过程中,对于每一个像素点的图像空间坐标x、y,利用不 同的9离散值通过上述运算公式计算对应的P值,通过对e离散值和P值的统计,求得 直线所对应的像素坐标。在本发明的实施方式中,直线计算单元144例如可以采用多个串 行连接的cordic迭代运算单元实现对像素点的集合内的霍夫(Hough)计算,以求得直线坐 标。直线计算单元144通过Hough运算获取边界区域821内条码边界所对应的边界直 线822的像素点坐标,以及边界区域826内条码边界所对应的边界直线827的像素点坐标, 将运算结果返回至扫描边界获取单元141。边界直线822和827反映了边界区域821和826 内的条空边界的直线特征。扫描边界获取单元141依据条码方向,将边界直线822和边界直线827的像素点 坐标向条码区域外平移预定距离以获得扫描边界823和828,预定距离例如是5-10个像素 点的间距。边界直线822和827反映的是条空边界的直线特征,但是由于条码印刷或条码 成像的影响,条码图像中实际的条空边界并非是一条严格的直线,而是基于直线特征的带 有微小波动的曲线或多个直线段的集合。为了获取更准确的条空边界,扫描边界获取单元 141通过将边界直线822和边界直线827的像素点坐标向外平移,以将基于直线特征的带有 微小波动的曲线或多个直线段的集合包括在扫描边界823和828的范围内。之后,扫描边 界获取单元141将扫描边界823和828输入直线扫描单元142中进行下一步处理。直线扫描单元142在一侧扫描边界823上选取点A,在另一侧的扫描边界828上 获取与点A相对应的点A'。点A'的包括多种获取方法。在本发明的一种实施方式中,点 A'获取方法为以点A为起点,根据条码方向(即tg 0 1的值)在扫描边界828上搜索与点 A位于同一条直线上的点A',即根据已知直线、直线外的坐标点A的坐标以及经点A的另 一条直线的斜率值,求出已知直线与另一条直线的交点A'的坐标。在本发明的另一种实施 方式中,点A'获取方法为计算在扫描边界828上与点A距离最短的坐标点,该坐标点即为A`.
直线扫描单元142以A为扫描起点,A'为扫描终点,计算A-A'之间的直线824上 的像素点的坐标。直线扫描单元142通过将点A和点A'的坐标值输入扫描坐标计算单元 145中,扫描坐标计算单元145对A-A'之间的直线824上的像素点825的坐标进行计算。扫描坐标计算单元145计算像素点825的坐标的方法包括多种方式。在本发明的 一种实施方式中,扫描坐标计算单元145包括Breshem运算单元,通过Breshem运算单元 计算A-A'两点之间的直线824上各个像素点的坐标。Breshem算法原理如下条码图像 由像素点构成,过条码图像中各行各列的像素中心构造一组虚拟网格线。按直线从起点到 终点的顺序计算直线与各垂直网格线的交点,然后确定该列像素中与此交点最近的像素。 Breshem算法的巧妙之处在于采用增量计算,使得对于每一列,只要检查一个误差项的符 号,就可以确定该列的所求像素点的坐标。Breshem使得在求两点之间直线上各点坐标的过 程中全部以整数来运算,因而大幅度提升了计算速度。扫描坐标计算单元145将计算出的A-A'两点之间的直线824上的像素点825的 坐标返回至直线扫描单元142,直线扫描单元142将A-A'两点之间的直线824上的像素点 825的坐标输入亚像素边界计算单元143中。亚像素边界计算单元143依据A-A'之间像素点825的坐标以及灰度值,进行亚像 素边界计算,将像素点825所对应的分为更小的单位以获取条空边界的精确坐标并计算出 该精确坐标所对应的灰度落差值。由此,条空边界处理模块140获取了条码图像中精确的条空边界坐标和该精确坐 标所对应的灰度落差值,并将此条空边界数据输入符号字符获取模块150和符号参数识别 模块160中。图8是本发明的一维条码解码芯片中的符号字符提取模块的结构示意图。如图8 所示,本发明的符号字符提取模块150包括条空判定单元151和条空值计算单元152。其中,条空判定单元151 —端连接符号参数识别模块160和条空边界处理模块 140,另一端连接条空值计算单元152,其存储条空边界处理模块140提供的条空边界数据 并对其中的干扰边界进行判定排除,获取有效的条空边界组合。符号参数识别模块160根据条空边界处理模块140提供的条空边界数据,对条码 的符号参数进行识别,符号参数包括条码的符号字符的条空边界数、符号字符的条空宽度、 校验信息等。符号参数识别模块160识别符号参数的方法包括簇号计算、码制判断等多种 方法。条空判定单元151根据符号参数识别模块160提供的符号参数,对条空边界处理 模块140提供的条空边界数据进行处理,将其中的干扰边界排除。条空判定单元151的具 体工作过程如下条空判定单元151存储的条空边界数量未达到符号参数中的条空边界数 时,条空判定单元151继续获取条空边界处理模块140提供的条空边界数据。当条空判定 单元151存储的条空边界数量达到符号参数中的条空边界数时,条空判定单元151计算已 存储的条空边界组合的条空宽度值,并将已存储的条空边界组合的条空宽度值与符号参数 中的条空宽度相比较,当已存储的条空边界组合的条空宽度值小于符号参数中的条空宽度 时,条空判定单元151排除所存储的灰度落差宽度最小的条空边界,并继续获取条空边界 处理模块140提供的条空边界。当已存储的条空边界组合的条空宽度值达到符号参数中的 条空宽度时,条空判定单元151将所存储的条空边界的组合输出至条空值计算单元152。
条空值计算单元152获取条空边界的组合中各个条空边界的坐标和灰度落差值, 通过比较计算由各个条空边界所构成的条空宽度值,进而获取符号字符,将计算出的符号 字符输入译码模块170中。图9是本发明的一维条码解码芯片中的译码模块的结构示意图。如图9所示,本 发明的译码模块170包括码字获取单元171、码字纠错单元172、译码单元173以及码表存 储单元174。译码模块170将符号字符提取模块150提供的符号字符转换为码字并进行纠 错译码,以获得条码信息,然后将条码信息输入数据存储器11的解码信息存储区。其中,码表存储单元174存储表示符号字符与码字对应关系的码表。码字获取单 元171根据码表利用接收的符号字符获取初始码字。码字纠错单元172对初始码字进行RS 纠错处理,以获取正确码字。译码单元173根据码表利用正确码字获取正确符号字符,并根 据正确符号字符所对应的字符集进行译码来获得条码信息。码表存储单元174存储符号字符与码字对应关系的码表。其中,符号字符则对应 于条码的不同条空值组合。码表存储单元174将码表存储于ROM(Read-Only Memory,只读 内存)中。图10是本发明的一维条码解码芯片中的译码模块的另一种实施方式的结构示意 图。如图10所示,本发明的译码模块270包括错误检验单元271和译码单元272。译码模 块270将符号字符提取模块150提供的符号字符进行错误检验,并根据符号字符所对应的 字符集获得条码信息,然后将条码信息输入数据存储器的解码信息存储区。本发明的一维条码解码芯片能够自动识别条码方向,无需使用者调整扫描单元的 扫描方向即可实现对条码图像的识别解码,并且条码边界的识别精度高,解码成功率高。本发明的一维条码解码芯片能够根据条码方向调整解码方向,获取条码边界的精 确坐标值,大大提高了解码成功率,特别适用于高密度条码或畸变条码的识别解码。本发明的一维条码解码芯片采用硬件流水线结构,通过硬件逻辑实现对条码图像 的识别解码,由于硬件流水线结构适于对条码图像进行流水线作业和并行处理,因此处理 速度很快。由于采用全硬件结构,无需处理器参与解码,芯片结构相对于处理器而言结构更 为简化、面积更小、功耗更低、成本更低、易于集成,容易实现便携应用。可以方便地与物联 网技术相结合,为条码技术的应用提供了更为广阔的发展空间。以上参照

了本发明的各种优选实施例,但是只要不背离本发明的实质和 范围,本领域的技术人员可以对其进行各种形式上的修改和变更,都属于本发明的保护范围。
权利要求
一种一维条码解码芯片,其特征在于,包括扫描模块,产生扫描坐标,扫描坐标对应于数据存储器的地址存储空间内的地址位,用于扫描所述数据存储器内的条码图像;边界识别模块,根据所述扫描坐标读取所述条码图像,并对所读取的图像像素点进行计算,以获取所述条码图像的条空边界点;方向识别模块,根据所述边界识别模块获取的所述条空边界点计算获得条码方向;条空边界处理模块,根据所述条码方向对所述条码图像进行处理,以获取所述条码图像中的条空边界;符号参数识别模块,根据所述条空边界对条码的符号参数进行识别,以获取符号参数;符号字符获取模块,根据所述条空边界和所述符号参数计算获得符号字符;以及译码模块,将所述符号字符转换为条码信息。
2.根据权利要求1所述的一维条码解码芯片,其特征在于,所述扫描模块包括扫描坐 标生成单元和坐标映射变换单元,所述扫描坐标生成单元产生初始扫描坐标,所述坐标映 射变换单元将所述初始扫描坐标经过坐标变换后映射至所述地址存储空间。
3.根据权利要求1所述的一维条码解码芯片,其特征在于,所述边界识别模块通过对 所述图像像素点的灰度落差进行计算来获取所述条码图像的条空边界点。
4.根据权利要求1所述的一维条码解码芯片,其特征在于,所述边界识别模块根据所 述条码图像的条空边界点对条码类型进行识别。
5.根据权利要求4所述的一维条码解码芯片,其特征在于,所述边界识别模块将所述 条空边界点与某种条码的起始符或终止符的条空比例进行匹配,以识别所述条码图像中是 否存在该种条码。
6.根据权利要求1所述的一维条码解码芯片,其特征在于,所述方向识别模块通过所 述条空边界点的坐标位置比较来判断所述条空边界点的特征关系,通过位于同一特征关系 内的所述条空边界点的坐标值计算所述条码方向。
7.根据权利要求6所述的一维条码解码芯片,其特征在于,所述特征关系包括平行四 边形特征或平行线特征。
8.根据权利要求1所述的一维条码解码芯片,其特征在于,所述条空边界处理模块包括扫描边界获取单元,获取所述条空边界点和所述条码方向,计算扫描边界; 直线扫描单元,根据所述扫描边界选取扫描起点和与扫描起点对应的扫描终点,计算 所述扫描起点与所述扫描终点之间的直线上的像素点的坐标;以及亚像素边界计算单元,根据所述像素点的坐标以及所述像素点的灰度值,计算所述条 空边界的坐标。
9.根据权利要求8所述的一维条码解码芯片,其特征在于,所述扫描边界获取单元以 所述条空边界点为中心,依据所述条码方向向外扩展,获取边界区域,所述边界区域包括所 述条码边界点及所述条码边界点附近的像素点的集合。
10.根据权利要求9所述的一维条码解码芯片,其特征在于,所述条空边界处理模块 还包括直线计算单元,所述直线计算单元通过霍夫运算获取所述边界区域所对应的边界直线。
11.根据权利要求10所述的一维条码解码芯片,其特征在于,所述扫描边界获取单元 依据所述条码方向,将所述边界直线向条码区域外平移预定距离以获得所述扫描边界。
12.根据权利要求8所述的一维条码解码芯片,其特征在于,所述条空边界处理模块还 包括扫描坐标计算单元,所述扫描坐标计算单元通过Breshem算法计算所述扫描起点与所 述扫描终点之间的直线上的像素点的坐标。
13.根据权利要求1所述的一维条码解码芯片,其特征在于,所述符号参数包括条码的 符号字符的条空边界数、符号字符的条空宽度、校验信息之一或其组合。
14.根据权利要求1所述的一维条码解码芯片,其特征在于,所述符号字符提取模块包 括条空判定单元,所述条空判定单元根据所述符号参数对所述条空边界进行处理,排除所 述条空边界中的干扰边界,获取有效的条空边界组合。
15.根据权利要求14所述的一维条码解码芯片,其特征在于,所述符号字符提取模块 还包括条空值计算单元,所述条空值计算单元通过比较所述有效的条空边界组合所构成的 条空宽度值,获取所述符号字符。
16.根据权利要求1所述的一维条码解码芯片,其特征在于,所述译码模块包括码表存储单元,生成表示所述符号字符与码字对应关系的码表;码字获取单元,根据所述码表利用接收的所述符号字符获取初始码字;码字纠错单元,对所述初始码字进行RS纠错处理,以获取正确码字;以及译码单元,根据所述码表利用所述正确码字获取正确符号字符,并根据所述正确符号 字符所对应的字符集进行译码来获得所述条码信息。
17.根据权利要求1所述的一维条码解码芯片,其特征在于,所述译码模块包括错误检验单元,对所述符号字符进行错误检验;译码单元,根据所述符号字符所对应的字符集获得所述条码信息。
全文摘要
本发明提供一种一维条码解码芯片,包括扫描模块,产生扫描坐标;边界识别模块,根据扫描坐标读取条码图像,并对所读取的图像像素点进行计算,以获取条码图像的条空边界点;方向识别模块,根据边界识别模块获取的条空边界点计算获得条码方向;条空边界处理模块,根据条码方向对条码图像进行处理,以获取条码图像中的条空边界;符号参数识别模块,根据条空边界对条码的符号参数进行识别,以获取符号参数;符号字符获取模块,根据条空边界和符号参数计算获得符号字符;以及译码模块,将符号字符转换为条码信息。本发明的一维条码解码芯片采用硬件流水线结构,适于对条码图像进行流水线作业和并行处理,处理速度快。
文档编号G06K7/10GK101840496SQ20101018882
公开日2010年9月22日 申请日期2010年6月1日 优先权日2010年6月1日
发明者王贤福, 蔡强, 陈文传, 陈春光 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1