一种二维码识别芯片及其实现方法与流程

文档序号:11865248阅读:1944来源:国知局
一种二维码识别芯片及其实现方法与流程

本发明涉及二维码技术领域,尤其是一种二维码识别芯片及其实现方法。



背景技术:

人们所看到的印刷在商品包装上的条码是一维条码,它广泛应用于多种领域,极大地提高了数据采集和信息处理的速度。但其仅在横向上表示数据,纵向上没有信息,密度较低,故仅能够标识物品而不能描述物品。若要知道产品的有关信息,还必须通过识读条码而进入数据库。这就要求人们必须事先建立以条码所表示的代码为索引字段的数据库,在没有数据库和不能联网的地方其应用受到限制。另外,要用一维码表示汉字信息几乎是不可能的,这在有些应用汉字的场合,显得十分不方便,而且效率很低。为了弥补一维码的不足,二维码应运而生。

二维码具有信息容量大、编码范围广、容错能力强、译码可靠性高、抗污损能力突出、成本低等优点,已成为当前全球应用最为广泛的信息自动识别技术之一。它的应用带动了移动电子商务、出版物、安全管理、交通运输、金融、医疗保健、工商行政管理、现代物流、海关等行业领域的进一步发展。由于其应用范围广,需求量大,同时深入到社会生活的各个层面,故它的发展将带动国家的经济、安全和科技水平的发展。

中国市场未来对二维码的需求巨大,大多数企业对二维码在中国的普及翘首以待。但目前二维码读取设备的市场价格在5000~9000元之间,远远超过一维码读取器的价格,所以其一般只是被大公司采用,并未普及到相关行业。

近年来芯片的设计与制造技术得到了迅速提高,我国物联网/互联网企业也力求在二维码芯片设计等高端技术领域进行突破,以追赶甚至超越国外的二维码技术,并进一步降低二维码标识芯片设计技术的门槛。

传统的二维码识别设备采用了软件采集图像与解码的方法,其电路大多基于分立元器件或者可编程逻辑电路,这种方法虽然易于实现,但其仍有较多的缺陷,如处理速度慢、体积大、功耗大和识读效率低等。

此外,二维码的标准繁多,目前主流的二维码标准有QR码(快速响应矩阵码)、Data Matrix码、PDF417码等,这些标准彼此间互不兼容,造成企业需要购置多种标准的读取设备并需为每种标准都设计相应的识别方法,增加了企业总成本。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种成本低、处理速度快、体积小、功耗低和识读效率高的,二维码识别芯片。

本发明的另一目的在于:提供一种成本低、通用、可扩展性好和可移植性好的,二维码识别芯片的实现方法。

本发明所采取的技术方案是:

一种二维码识别芯片,包括ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块,所述ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块均集成在一颗芯片上,所述ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块均与AHB总线或APB总线连接。

进一步,所述ARM核模块包括上电复位电路、锁相环和OSC振荡器,所述上电复位电路、锁相环和OSC振荡器均与AHB总线或APB总线连接。

进一步,所述存储模块包括FLASH存储器、第一SRAM存储器和第二SRAM存储器,所述FLASH存储器、第一SRAM存储器和第二SRAM存储器均与AHB总线或APB总线连接。

进一步,所述安全模块包括AES加密电路、DES加密电路、RSA加密电路以及ECC加密电路,所述AES加密电路、DES加密电路、RSA加密电路以及ECC加密电路均与AHB总线或APB总线连接。

进一步,所述总线接口模块包括UART接口、SPI接口、ISO7816接口和I2C接口,所述UART接口、SPI接口、ISO7816接口和I2C接口均与AHB总线或APB总线连接。

进一步,所述I/O模块包括通用I/O口、定时器接口和CMOS传感器接口,所述通用I/O口、定时器接口和CMOS传感器接口均与AHB总线或APB总线连接。

本发明所采取的另一技术方案是:

一种二维码识别芯片的实现方法,包括以下步骤:

驱动摄像头获取二维码图像;

对获取的二维码图像进行盲重构处理;

对盲重构处理后的图像进行图像特征提取;

根据提取出的图像特征采用训练好的SVM分类器进行智能模式识别,得到二维码所属的标准类型;

根据智能模式识别的结果进行码字提取和译码,还原二维码所保存的信息并进行输出。

进一步,所述对获取的二维码图像进行盲重构处理这一步骤,其包括:

若获取的二维码图像出现噪声、模糊、污损或杂斑的情况,则采用盲解卷积法对获取的二维码图像进行重构,所述盲解卷积法包括但不限于逆滤波、Wiener滤波、子空间滤波、最小二乘滤波、参数估计法、迭代盲解卷积算法、NAS-RIF图像盲复原算法、总变分正则化盲复原算法、Bayes先验盲复原算法和Bussgang盲复原算法;

若获取的二维码图像发生了倾斜的现象,则先通过直线轮廓检测算法检测获取的二维码图像的直线轮廓的倾斜角度,然后根据检测的倾斜角度进行倾斜校正,所述直线轮廓检测算法包括但不限于基于Freeman链码的直线段检测方法和基于Hough变换的直线参数检测方法;

若获取的二维码图像发生了倾斜的现象,则通过映射变换法对获取的二维码图像进行重构。

进一步,所述根据提取出的图像特征采用训练好的SVM分类器进行智能模式识别,得到二维码所属的标准类型这一步骤,其包括:

根据提取出的图像特征设计相应的SVM分类器;

采用训练样本对设计的SVM分类器进行训练;

根据训练好的SVM分类器对提取出的图像特征进行智能模式识别,得到二维码所属的标准类型。

进一步,所述根据智能模式识别的结果进行码字提取和译码,还原二维码所保存的信息并进行输出这一步骤,其包括:

根据智能模式识别的结果调用相应标准的二维码码字提取模块进行码字提取,得到相应的模块序列;

根据得到的模块序列调用相应标准的译码模块进行译码,得到解压缩后的二维码数据流,所述译码过程包括但不限于数据查询、纠错码字判断、码字纠错检错、数据码字判断和码字解压缩;

将解压缩后的数据流发送给GUI界面进行显示,并进行输出。

本发明的芯片的有益效果是:包括ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块,ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块均集成在一颗芯片上,运用先进的半导体集成电路技术对现有的二维码芯片进行了芯片级的体系结构创新,将所有的图像处理和解码电路都通过一颗芯片来实现,取代了传统的分立器件或者可编程逻辑电路,有效降低了二维码整机设备的功耗、体积和成本,并可大幅提高处理速度和识别效率。

本发明的方法的有益效果是:先驱动摄像头获取二维码图像,再对获取的图像依次进行盲重构处理、特征提取、智能模式识别、码字提取和译码,最终还原识别出二维码所保存的信息并进行输出,增设了智能模式识别的过程,可支持多种标准二维码的识别,不再需要企业购置多种标准的读取设备并需为每种标准都设计相应的识别方法,成本低,通用性强且可扩展性和可移植性更好。

附图说明

图1为本发明一种二维码识别芯片的框架图;

图2为本发明一种二维码识别芯片的实现方法的整体流程图;

图3为本发明实施例二中二维码识别芯片的功能实现流程图;

图4为本发明实施例二模式识别过程的流程图;

图5为本发明实施例二二维码译码过程的流程图。

具体实施方式

参照图1,一种二维码识别芯片,包括ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块,所述ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块均集成在一颗芯片上,所述ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块和I/O模块均与AHB总线或APB总线连接。

参照图1,进一步作为优选的实施方式,所述ARM核模块包括上电复位电路、锁相环和OSC振荡器,所述上电复位电路、锁相环和OSC振荡器均与AHB总线或APB总线连接。

参照图1,进一步作为优选的实施方式,所述存储模块包括FLASH存储器、第一SRAM存储器和第二SRAM存储器,所述FLASH存储器、第一SRAM存储器和第二SRAM存储器均与AHB总线或APB总线连接。

参照图1,进一步作为优选的实施方式,所述安全模块包括AES加密电路、DES加密电路、RSA加密电路以及ECC加密电路,所述AES加密电路、DES加密电路、RSA加密电路以及ECC加密电路均与AHB总线或APB总线连接。

参照图1,进一步作为优选的实施方式,所述总线接口模块包括UART接口、SPI接口、ISO7816接口和I2C接口,所述UART接口、SPI接口、ISO7816接口和I2C接口均与AHB总线或APB总线连接。

参照图1,进一步作为优选的实施方式,所述I/O模块包括通用I/O口、定时器接口和CMOS传感器接口,所述通用I/O口、定时器接口和CMOS传感器接口均与AHB总线或APB总线连接。

参照图2,一种二维码识别芯片的实现方法,包括以下步骤:

驱动摄像头获取二维码图像;

对获取的二维码图像进行盲重构处理;

对盲重构处理后的图像进行图像特征提取;

根据提取出的图像特征采用训练好的SVM分类器进行智能模式识别,得到二维码所属的标准类型;

根据智能模式识别的结果进行码字提取和译码,还原二维码所保存的信息并进行输出。

进一步作为优选的实施方式,所述对获取的二维码图像进行盲重构处理这一步骤,其包括:

若获取的二维码图像出现噪声、模糊、污损或杂斑的情况,则采用盲解卷积法对获取的二维码图像进行重构,所述盲解卷积法包括但不限于逆滤波、Wiener滤波、子空间滤波、最小二乘滤波、参数估计法、迭代盲解卷积算法、NAS-RIF图像盲复原算法、总变分正则化盲复原算法、Bayes先验盲复原算法和Bussgang盲复原算法;

若获取的二维码图像发生了倾斜的现象,则先通过直线轮廓检测算法检测获取的二维码图像的直线轮廓的倾斜角度,然后根据检测的倾斜角度进行倾斜校正,所述直线轮廓检测算法包括但不限于基于Freeman链码的直线段检测方法和基于Hough变换的直线参数检测方法;

若获取的二维码图像发生了倾斜的现象,则通过映射变换法对获取的二维码图像进行重构。

进一步作为优选的实施方式,所述根据提取出的图像特征采用训练好的SVM分类器进行智能模式识别,得到二维码所属的标准类型这一步骤,其包括:

根据提取出的图像特征设计相应的SVM分类器;

采用训练样本对设计的SVM分类器进行训练;

根据训练好的SVM分类器对提取出的图像特征进行智能模式识别,得到二维码所属的标准类型。

进一步作为优选的实施方式,所述根据智能模式识别的结果进行码字提取和译码,还原二维码所保存的信息并进行输出这一步骤,其包括:

根据智能模式识别的结果调用相应标准的二维码码字提取模块进行码字提取,得到相应的模块序列;

根据得到的模块序列调用相应标准的译码模块进行译码,得到解压缩后的二维码数据流,所述译码过程包括但不限于数据查询、纠错码字判断、码字纠错检错、数据码字判断和码字解压缩;

将解压缩后的数据流发送给GUI界面进行显示,并进行输出。

下面结合说明书附图和具体实施例对本发明作进一步解释和说明。

实施例一

参照图1,本发明的第一实施例:

本发明运用先进的半导体集成电路技术,通过低功耗低成本技术以及芯片级的体系结构创新,可将所有的图像处理和解码电路用一颗芯片来实现,取代了传统的分立器件或可编程逻辑电路,有效降低了二维码整机设备的功耗、体积和成本,并可大幅提高识别速度、识别效率。

本实施例的二维码识别芯片主要包括ARM核模块、存储模块、安全模块、图像处理模块、总线接口模块、I/O模块、AHB/APB总线。

其中,ARM核模块,整颗芯片的控制核心,用于根据采集的二维码图像进行数据处理,提供整个二维码识别过程的控制逻辑和控制信号。ARM核模块主要包括上电复位电路,锁相环和OSC振荡器。上电复位电路,用于进行上电复位。锁相环,用于根据外部输入的参考信号(即采集的二维码图像信号)控制内部震荡信号的频率和相位。OSC振荡器,用于根据参考信号产生内部震荡信号并进行输出。

存储模块,用于存储二维码识别过程的数据。存储模块包括FLASH存储器、第一SRAM存储器和第二SRAM存储器。其中,FLASH存储器为32Kx32 FLASH,第一SRAM存储器为8Kx32 SRAM,第二SRAM存储器为1Kx32 SRAM。

安全模块,用于进行安全加密。安全模块包括AES加密电路、DES加密电路、RSA加密电路以及ECC加密电路,支持多种安全加密标准。安全模块可采用凌科芯安科技(北京)有限公司生产的LTK4201N高端加密芯片来实现。

图像处理模块,主要根据ARM核模块的控制信号对采集的二维码图像进行处理,以辅助ARM核模块进行二维码识别。图像处理模块,可采用GPU来实现。

总线接口模块和I/O模块,用于配合AHB总线或APB总线实现芯片内外的数据通讯。总线接口模块包括UART接口、SPI接口、ISO7816接口和I2C接口,支持SPI、ISO7816、UART和I2C等。I/O模块包括通用I/O口、定时器接口和CMOS传感器接口。

本发明的芯片的主要工作过程为:首先,在ARM核模块的控制信号作用下,图像传感器采集待识别的二维码图像,并将采集的二维码图像通过I/O模块和AHB总线或APB总线发送给图像处理模块。接着,图像处理模块根据ARM核模块的控制信号对采集的二维码图像进行处理(包括特征提取和模式识别等),并将处理的结果发送给ARM核模块。再接着,ARM核模块根据图像处理模块的结果进行后续的码字提取和译码处理,还原二维码所保存的信息。还原后的二维码信息可通过存储模块进行存储,或经显示界面进行显示,或在经加密模块加密后通过I/O模块向外发送。

本发明的二维码识别芯片具有以下基本特性:

a.支持1024位ECC加密算法;

b.支持2304位RSA加密算法;

c.支持AES 128,AES 192,AES 256加密算法;

d.支持DES加密算法;

e.支持EAL5+最高级别安全认证技术;

f.支持RGB 565 CMOS 接口;

g.支持多种编码格式:Code39,Code 39 Full ASCII,Trioptic Code 39,Code 32,Code 11,Code93,Code128,Matrix 2 of 5,Data Matrix (1234567890),Discrete 2 of 5,MSI, Chinese 2 of 5,GS1 DataBar variants,Korean 3 of 5,ISBT Concat(CODE128);

h.支持常用的编码格式:PDF417,QR Code,DM Code;

i.支持8Kx32 SRAM;

j.支持32Kx32嵌入式flash;

k.支持16位真随机数;

l.支持SPI,ISO7816,UART总线接口;

m.支持PLL:10Mhz~120Mhz。

实施例二

参照图2-5,本发明的第一实施例:

针对现有技术二维码标准繁多和不兼容带来的问题,本发明提出了一种全新的二维码识别芯片的实现方法。如图3所示,该方法基于失真复原的图像盲重构算法、支持多种标准的译码算法和二维码特征模式识别理论,具体包括以下过程;

(1)包含有图像传感器的二维码图像采集模块驱动摄像头获取二维码图像。

(2)对获取二维码图像调用图像盲重构模块进行盲重构处理。

因为二维码识别设备使用环境的复杂性,其所采集到的图像有可能因为光线不均衡而造成噪声干扰现象,或因镜头与图像不平衡而发生扭曲变形等问题,需要调用图像盲重构模块对其进行去模糊、白平衡、去噪、变形校正等处理,改善图像的成像质量,从而提高识别率。

(3)提取盲重构后的二维码图像的特征,利用训练好的SVM分类器根据图像特征进行智能模式识别,识别该二维码属于何种标准。

(4)根据识别的结果调用正确的二维码码字提取模块与译码器进行处理。

该过程将经二维码码字提取模块获得的模块数序列送人译码器进行码字匹配、纠错、解压缩等操作,最后还原为条码保存的信息。

译码器将纠错后码字数组按编码逆过程进行译码解压缩,还原显示二维码信息。译码器根据不同的锁定或转移模式分别调用文本模式、字节模式、数字模式对纠错后码字进行解压缩,得到解压缩的数据流,最后输出给GUI模块进行显示。

下面主要对该方法所涉及的主要过程及相关理论进行详细说明。

(一)图像盲重构

二维码印刷于包装上,故图像采集模块获取到的图像有时会发生:1)倾斜或者倒置的现象;2)因为二维码与摄像头物镜不平衡而导致上下发生形变的现象,甚至会出现扭曲现象;3)二维码自身发生污损现象。此外,光线环境的影响也会导致图像采集模块获取的图像产生噪声、模糊等现象。这些现象将会导致图像切割重组错误,最终会产生错误的译码。而图像盲恢复技术可只使用退化的原图和图像系统的部分信息,来从退化的图像特征中估计原图进而恢复原图。因此,在二维码终端的研发中,研究图像盲重构的算法是非常有实际意义的。

其中,图像发生噪声、模糊、污损、杂斑等现象时,可利用盲解卷积的方法加以重构。在许多情况下,退化的观测图像g(x,y)可用真是图像f(x,y)和一个线性移不变系统的点分布函数h(x,y)的二维卷积加上附加噪声n(x,y)来表示,即g(x,y)= f(x,y)* h(x,y)+n(x,y),而点分布函数h(x,y)大多数情况下都是明确已知的。这类问题已得到大量的研究,其中包括了许多广为人知的技术,例如逆滤波、Wiener滤波、子空间滤波和最小二乘滤波等。

图像发生倾斜时,可以检测图像直线轮廓的倾斜角度,然后加以校正,主要存在以下两种方法:

一种是基于Freeman链码的直线段检测方法。它处理的图像对象为边缘图像,包括根据链码估计曲率,检测链码角点,在角点处拆分链码,检测直线段链码并进行直线参数估计,根据指定的直线段连接准则进行直线连接(即拼接)。这种方法检测出来的直线段容易受噪声干扰,而且很难定义合适的、通用的直线段连接准则。

另一种是基于Hough变换的直线参数检测方法。Hough变换的本质是实现了一种从图像空间到参数空间的映射关系。Hough直线变换的基本思想是点线的对偶性:一方面,图像空间中的点对应在参数空间里相交的线;另一方面,在参数空间中相交于同一个点的所有直线在图像空间里都有共线的点与之对应。因此Hough变换把在图像空间中的直线检测问题转换到参数空间中对点的检测问题,通过在参数空间里进行简单的累加统计完成检测任务。由于Hough变换是根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。但是直接进行Hough变换存在计算量大、容易出现漏检等准确率的缺点。因此需要对Hough变换进行改进、优化,提高其运行速度。

扭曲现象属于几何失真,而任意几何失真都可以由非失真坐标系(x,y)变换到失真坐标系(x’,y’)的方程来定义,方程的一般形式为:x’=h1(x,y),y’=h2(x,y)。

f(x,y)是无失真的原始图像,g(x’,y’)是f(x,y)失真后的结果,这一失真过程已知,并且用函数h1(x,y)和h2(x,y)来定义。于是有:

g(x’,y’)=f(x,y)

上式说明在图像中本来应该出现在像素(x,y)上的灰度值由于失真,实际上却出现在(x’,y’)上了。这种失真的复原问题可以通过映射变换来解决。

(二)二维码特征模式识别

模式识别就是通过计算机自动地(或者人为进行少量干预) 将待识别的模式分配到各个模式类中的技术。图像模式识别的基本框架如图4所示。

模式识别过程可以看作从样本空间到类别空间的一个映射过程。如果把一个具有n个特征作为参量的n维特征空间划分为不同的区域,那么每个区域与一类模式类相对应。其中,特征选择与提取是模式识别的一个重要环节,如果所选取的特征能够比较全面反映类的本质特征,那么分类器就比较容易设计;否则,分类器设计的难度就增加。因此对不同标准的二维码图像进行特征选择和提取是模式识别的一项重要内容。而提取和选择特征之后,分类和识别效果的优劣取决于所设计的分类器的性质。因此,分类器则是本发明的一个关键部分。

可以用传统的模式识别方法来构建分类器,这些方法包括:统计决策法、结构模式识别方法、模糊模式识别方法与基于人工智能的方法。但这些传统的方法在有限样本尤其是小样本的情况下,难以取得理想的效果。而支持向量机SVM(Support Vector Machine)通过结构风险最小化原理来提高泛化能力,较好地解决了小样本、非线性、高维数、局部极小等实际问题,又可避免神经网络训练结果不稳定、容易陷入局部极小的问题。故本发明将采用SVM来构造二维码图像特征模式识别分类器。

构造出二维码图像特征模式识别的SVM分类器后,本发明将会根据预先训练好的SVM分类器智能识别二维码所属之标准,进而调用相关的二维码译码模块进行后续译码。

(三)二维码译码

现在世界上有几十种二维码标准,常见的就有PDF417二维码,Datamatrix二维码, Maxicode二维码,QR Code,Code 49,Code 16K,Code one等,彼此间互不相同。因此,要识别这么多不同标准的二维码,则需要多种标准的读取设备。

实际上,无论哪种标准的二维码的译码工作,其流程还是一样的,如图5所示。

由图5可知,任何标准的二维码的译码过程都包括码字纠错检错、码字解压缩等几个步骤。所不同的是不同标准的二维码的纠错检错方式不同,码字解压缩的方法不尽一样。因此,本发明只需根据图5先做好其中一个标准的二维码译码算法,再在此基础上结合图5获得其它标准的二维码译码算法即可。

针对现有二维码芯片设计的共性技术难题,本发明主要基于二维码图像盲重构理论与可实现技术、二维码特征模式识别技术、二维码译码技术、低功耗低成本二维码标识芯片设计理论与可实现技术,设计出可实现的二维码识别芯片,并提出了低成本二维码标识芯片设计的新技术与新方法,降低了二维码标识芯片设计的复杂度、功耗和成本,提高了识别率和可靠性,并解决了二维码标识芯片设计及产业化所带来的问题。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1