專利名稱:Data Matrix碼條碼解碼芯片的制作方法
技術(shù)領(lǐng)域:
Data Matr i χ碼條碼解碼芯片
技術(shù)領(lǐng)域:
本實(shí)用新型涉及條碼識(shí)別技術(shù)領(lǐng)域,特別地,涉及一種Data Matrix碼條碼解碼芯片。
背景技術(shù):
條碼技術(shù)是在計(jì)算機(jī)技術(shù)與信息技術(shù)基礎(chǔ)上發(fā)展起來(lái)的一門集編碼、印刷、識(shí)別、 數(shù)據(jù)采集和處理于一身的新興技術(shù)。條碼技術(shù)由于其識(shí)別快速、準(zhǔn)確、可靠以及成本低等優(yōu)點(diǎn),被廣泛應(yīng)用于商業(yè)、圖書(shū)管理、倉(cāng)儲(chǔ)、郵電、交通和工業(yè)控制等領(lǐng)域,并且勢(shì)必在逐漸興起的“物聯(lián)網(wǎng)”應(yīng)用中發(fā)揮重大的作用。目前被廣泛使用的條碼包括一維條碼及二維條碼。一維條碼又稱線形條碼是由平行排列的多個(gè)“條”和“空”單元組成,條形碼信息靠條和空的不同寬度和位置來(lái)表達(dá)。一維條碼只是在一個(gè)方向(一般是水平方向)表達(dá)信息,而在垂直方向則不表達(dá)任何信息,因此信息容量及空間利用率較低,并且在條碼污損后即無(wú)法識(shí)別。二維條碼是由按一定規(guī)律在二維方向上分布的黑白相間的特定幾何圖形組成,其可以在二維方向上表達(dá)信息,因此信息容量及空間利用率較低,并具有一定的校驗(yàn)功能。二維條碼可以分為堆疊式二維條碼和矩陣式二維條碼。堆疊式二維條碼是由多行短截的一維條碼堆疊而成,代表性的堆疊式二維條碼包括PDF417、Code 49、Code 16K等。矩陣式二維條碼是由按預(yù)定規(guī)則分布于矩陣中的黑、白模塊組成,代表性的矩陣式二維條碼包括QR 碼、Data Matrix碼、Maxi Code,Aztec Code、漢信碼等。二維條碼除具備一維條碼也具有的優(yōu)點(diǎn)外,同時(shí)還具有信息容量大、密度高、具有糾錯(cuò)功能、可表示各種多媒體信息以及多種文字信息、保密防偽性強(qiáng)、解碼可靠性高的特點(diǎn)。現(xiàn)有技術(shù)在對(duì)二維條碼進(jìn)行解碼的過(guò)程中,通常是利用攝影設(shè)備對(duì)條碼進(jìn)行拍攝,以獲取條碼圖像,然后對(duì)條碼圖像進(jìn)行去燥、灰度提取、二值化、碼字提取、譯碼等處理方法。然而,上述現(xiàn)有技術(shù)在對(duì)條碼圖像進(jìn)行自適應(yīng)亮度均衡化和二值化處理過(guò)程時(shí), 是針對(duì)每一個(gè)像素點(diǎn)進(jìn)行自適應(yīng)亮度均衡化和二值化處理,因此要對(duì)每一個(gè)像素點(diǎn)的灰度進(jìn)行調(diào)節(jié),并與閾值灰度進(jìn)行比對(duì),數(shù)據(jù)計(jì)算量很大,降低了系統(tǒng)的處理速度。而且由于該系統(tǒng)是在不知曉條碼特征信息(即條碼的相關(guān)參數(shù),包括條碼方向、條碼區(qū)域尺寸和條碼版本、條碼畸變系數(shù)等信息)的情況下進(jìn)行二值化處理,會(huì)造成模塊錯(cuò)誤,即在二值化過(guò)程中,由于噪聲、畸變等因素的影響,出現(xiàn)模塊的深淺狀態(tài)和設(shè)計(jì)狀態(tài)發(fā)生倒置的情況,這大大降低條碼的識(shí)別能力,增加了條碼識(shí)別的誤碼率。尤其在條碼版本較高,所含模塊數(shù)量較多的情況下,或者是條碼圖像分辨率低,曝光質(zhì)量不佳的情況下,這種方法較難對(duì)二維條碼進(jìn)行識(shí)別。另外,現(xiàn)有技術(shù)的Data Matrix碼識(shí)別系統(tǒng)通常是采用處理器調(diào)用程序存儲(chǔ)器中的解碼程序,對(duì)條碼圖像進(jìn)行處理來(lái)實(shí)現(xiàn)識(shí)別解碼。該系統(tǒng)的問(wèn)題在于一、處理速度慢,該系統(tǒng)需要在微處理器中寫(xiě)入實(shí)現(xiàn)解碼算法的一系列程序,單個(gè)處理器只能同時(shí)針對(duì)一種特定類型的條碼格式進(jìn)行解碼處理,處理器在一個(gè)時(shí)鐘周期只能處理一個(gè)操作,軟件處理也決定了解碼流程的單流程特性,較難實(shí)現(xiàn)對(duì)條碼圖像的流水線作業(yè)和并行處理,處理速度較慢;二、使用成本高,由于解碼算法較為復(fù)雜,因此需要使用高端的處理器(如32位處理器)實(shí)現(xiàn)以上算法,需要處理器以及硬件加速電路相配合,這樣會(huì)造成系統(tǒng)成本高昂;三、 系統(tǒng)復(fù)雜,集成難度大,功耗高,不易于便攜應(yīng)用。因此,針對(duì)現(xiàn)有技術(shù)存在的以上不足,亟需提供一種Data Matrix碼條碼解碼芯片,使得能保證解碼過(guò)程快速、順利地進(jìn)行。針對(duì)現(xiàn)有技術(shù)存在的處理速度慢、錯(cuò)誤發(fā)生機(jī)率較大等不足,本實(shí)用新型提供一種Data Matrix碼條碼解碼芯片,能保證Data Matrix碼解碼過(guò)程快速、順利地進(jìn)行。本實(shí)用新型提供一種Data Matrix碼條碼解碼芯片,包括特征搜索單元;條碼參數(shù)獲取單元,連接所述特征搜索單元;校正特征獲取單元,連接所述特征搜索單元和所述條碼參數(shù)獲取單元;模塊信息處理單元,連接所述條碼參數(shù)獲取單元和所述校正特征獲取單元;二值化單元,連接所述模塊信息處理單元;碼字提取單元,連接所述二值化單元;糾錯(cuò)譯碼單元,連接所述碼字提取單元。本實(shí)用新型的Data Matrix碼條碼解碼芯片,通過(guò)搜索位置探測(cè)圖形和校正圖形, 獲取校正圖形的像素灰度坐標(biāo)與模塊坐標(biāo),計(jì)算條碼圖像的像素坐標(biāo)與模塊坐標(biāo)之間的映射關(guān)系,然后根據(jù)該映射關(guān)系計(jì)算模塊灰度值,對(duì)模塊灰度值進(jìn)行二值化,進(jìn)而還原Data Matrix碼所對(duì)應(yīng)的條碼符號(hào)圖形。與現(xiàn)有技術(shù)相比,本實(shí)用新型的Data Matrix碼條碼解碼芯片是在知曉條碼特征信息,并根據(jù)條碼特征信息對(duì)條碼圖像進(jìn)行校正后進(jìn)行的二值化處理,因此降低了噪聲、畸變等因素對(duì)二值化過(guò)程的影響,減少了模塊錯(cuò)誤的出現(xiàn),大大增加了條碼的識(shí)別能力,提升了條碼識(shí)別的解碼成功率。本實(shí)用新型的Data Matrix碼條碼解碼芯片采用硬件流水線結(jié)構(gòu),通過(guò)硬件邏輯實(shí)現(xiàn)對(duì)條碼圖像的識(shí)別解碼,由于硬件流水線結(jié)構(gòu)適于對(duì)條碼圖像進(jìn)行流水線作業(yè)和并行處理,因此處理速度很快。相對(duì)于現(xiàn)有技術(shù)的處理器解碼技術(shù)而言,本實(shí)用新型的Data Matrix碼條碼解碼芯片采用全硬件結(jié)構(gòu),無(wú)需處理器參與解碼,芯片結(jié)構(gòu)相對(duì)于處理器而言結(jié)構(gòu)更為簡(jiǎn)化、面積更小、功耗更低、成本更低、易于集成,容易實(shí)現(xiàn)便攜應(yīng)用。可以方便地與物聯(lián)網(wǎng)技術(shù)相結(jié)合,為條碼技術(shù)的應(yīng)用提供了更為廣闊的發(fā)展空間。圖1是Data Matrix碼的條碼符號(hào)圖形示意圖。圖2是Data Matrix碼的條碼符號(hào)圖形的功能示意圖。圖3是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的解碼方法的處理流程圖。圖4是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式的結(jié)構(gòu)示意圖。圖5是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式中校正特征獲取單元的第一種校正點(diǎn)獲取結(jié)構(gòu)的示意圖。圖6是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式中模塊信息處理單元的結(jié)構(gòu)示意圖。圖7是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式中模塊信息處理單元的轉(zhuǎn)換原理示意圖。有關(guān)本實(shí)用新型的特征及技術(shù)內(nèi)容,請(qǐng)參考以下的詳細(xì)說(shuō)明與附圖,附圖僅提供參考與說(shuō)明,并非用來(lái)對(duì)本實(shí)用新型加以限制。為使本領(lǐng)域技術(shù)人員更易于理解本實(shí)用新型的技術(shù)內(nèi)容,提供以下條碼術(shù)語(yǔ)的參考與說(shuō)明,其中部分條碼術(shù)語(yǔ)是根據(jù)中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)GB/T 12905-2000而來(lái),并非用于對(duì)本實(shí)用新型加以限制。條碼符號(hào)某種條碼定義的表示信息的條、空組合形式或模塊的組合形式。碼字碼字表示源數(shù)據(jù)向條碼符號(hào)轉(zhuǎn)換的中間值。一種符號(hào)的碼字?jǐn)?shù)決定了該條碼符號(hào)的所有符號(hào)的數(shù)量。數(shù)據(jù)碼字?jǐn)?shù)據(jù)碼字表示數(shù)據(jù)符號(hào)的值。糾錯(cuò)碼字糾錯(cuò)碼字表示糾錯(cuò)符號(hào)的值。模塊矩陣式二維條碼中的一個(gè)最小獨(dú)立單元,代表一位二進(jìn)制數(shù)據(jù)。功能圖形矩陣式二維條碼符號(hào)中用于符號(hào)定位與特征識(shí)別的特定圖形。功能圖形包括探測(cè)圖形、定位圖形、校正圖形等。探測(cè)圖形矩陣式二維條碼符號(hào)圖形中,用于在條碼圖像中進(jìn)行符號(hào)定位的特殊圖形,也稱位置探測(cè)圖形。定位圖形矩陣式二維條碼符號(hào)圖形中,用于確定符號(hào)中模塊的像素坐標(biāo)的圖形。校正圖形矩陣式二維條碼符號(hào)圖形中,用于確定符號(hào)位置的一個(gè)固定的參照?qǐng)D形。在條碼圖像有一定程度畸變或污損的情況下,可以通過(guò)校正圖形對(duì)條碼圖像中模塊的像素坐標(biāo)進(jìn)行校正。編碼區(qū)域矩陣式二維條碼符號(hào)圖形中,未被功能圖形占據(jù),用于對(duì)數(shù)據(jù)和糾錯(cuò)碼字進(jìn)行編碼,表示數(shù)據(jù)符號(hào)和糾錯(cuò)符號(hào)的區(qū)域。版本用于表示矩陣式二維條碼符號(hào)規(guī)格的序列,反映了符號(hào)尺寸、符號(hào)中的模塊數(shù)量和符號(hào)中的模塊的排列方式。版本信息矩陣式二維條碼符號(hào)圖形中,用于確定矩陣式二維條碼符號(hào)版本號(hào)的功能圖形。格式用于表示矩陣式二維條碼符號(hào)所使用的糾錯(cuò)等級(jí)以及掩模圖形。格式信息矩陣式二維條碼符號(hào)圖形中,用于確定矩陣式二維條碼符號(hào)所使用的糾錯(cuò)等級(jí)以及掩模圖形信息的功能圖形。掩模圖形在編碼區(qū)域內(nèi)用掩模圖形對(duì)位圖進(jìn)行異或處理,其目的是使符號(hào)中深色與淺色模塊的比例均衡,并減少影響條碼圖像處理的圖形出現(xiàn)。二值化條碼圖像用整體閾值或局部閾值對(duì)灰度條碼圖像進(jìn)行處理,從而得到的深淺兩色的條碼圖像。閾值分割兩個(gè)檢驗(yàn)等級(jí)的邊界值,其值本身是上面等級(jí)的下限值。模塊錯(cuò)誤在二值化條碼圖像中,深淺狀態(tài)和設(shè)計(jì)狀態(tài)發(fā)生倒置的模塊。像素光敏陣列(如CXD或CMOS器件)上的單個(gè)光敏單元在條碼圖像上所對(duì)應(yīng)的單位,一個(gè)像素通常被視為條碼圖像的最小的完整單位。數(shù)碼條碼圖像的儲(chǔ)存方式一般以像素(Pixel)為單位,每個(gè)像素是數(shù)碼條碼圖像里面積最小的單位。圖1是Data Matrix碼的符號(hào)圖形示意圖,圖2是Data Matrix碼的符號(hào)圖形功能說(shuō)明圖。為使本領(lǐng)域技術(shù)人員更易于理解本實(shí)用新型的技術(shù)內(nèi)容,以下結(jié)合圖1、圖2對(duì) Data Matrix碼進(jìn)行簡(jiǎn)單說(shuō)明。Data Matrix碼也稱數(shù)據(jù)矩陣碼,包括兩種類型ECC000-140和ECC200。 ECC000-140采用卷積碼糾錯(cuò),而ECC200則使用Reed-Solomon算法糾錯(cuò)。目前Data Matrix 碼的研究與應(yīng)用主要以ECC200為主,ECC000-140應(yīng)用很少。Data Matrix碼的功能圖形包括位置探測(cè)圖形和校正圖形。編碼區(qū)包括表示符號(hào)信息的版本信息和格式信息區(qū),以及數(shù)據(jù)碼字和糾錯(cuò)碼字區(qū)。ECC200Data Matrix碼的符號(hào)編碼不采用掩模圖形,其糾錯(cuò)與模塊排列方式關(guān)聯(lián),因此ECC200Data Matrix碼的編碼區(qū)沒(méi)有表示符號(hào)信息的區(qū)域,只包括數(shù)據(jù)碼字和糾錯(cuò)碼字區(qū),根據(jù)檢測(cè)到的ECC200Data Matrix碼的模塊像素坐標(biāo),即可以確定 ECC200Data Matrix碼的模塊參數(shù)(模塊尺寸、行數(shù)、列數(shù)等)和糾錯(cuò)等級(jí)。如圖2所示,Data Matrix碼的位置探測(cè)圖形是位于數(shù)據(jù)區(qū)域邊緣寬度為1個(gè)模塊的區(qū)域。Data Matrix碼的左邊和下邊相鄰的兩條邊為深色實(shí)線,形成了一個(gè)L形邊界, 主要用于確定條碼的物理尺寸(即條碼區(qū)域)、定位和校正失真。L形邊界的兩條對(duì)邊由交替的單個(gè)模塊寬度的深色和淺色模塊組成的校正圖形,主要用于限定條碼的模塊坐標(biāo)和校正失真,但也能輔助確定條碼的物理尺寸。以下對(duì)本實(shí)用新型的Data Matrix碼解碼方法進(jìn)行詳細(xì)描述,圖3是根據(jù)本實(shí)用新型的Data Matrix碼解碼方法的處理流程圖。如圖3所示,在步驟901,在條碼圖像上進(jìn)行特征搜索,以確定位置探測(cè)圖形(L形邊界)的像素坐標(biāo),根據(jù)位置探測(cè)圖形的像素坐標(biāo)獲取條碼參數(shù),條碼參數(shù)包括條碼區(qū)域和條碼方向。在本實(shí)用新型的一種實(shí)施方式中,此步驟可以通過(guò)模板匹配檢測(cè)位置探測(cè)圖形的方式實(shí)現(xiàn)。在本實(shí)用新型的另一種實(shí)施方式中,此步驟也可以通過(guò)比例檢測(cè)的方式實(shí)現(xiàn),該方式包括通過(guò)掃描方式檢測(cè)條碼圖像中的深淺模塊邊界點(diǎn),將深淺模塊邊界點(diǎn)構(gòu)成的線特征與位置探測(cè)圖形相比較,根據(jù)比較結(jié)果確定條碼圖像中位置探測(cè)圖形的像素坐標(biāo)。確定位置探測(cè)圖形(L形邊界)的像素坐標(biāo)包括模板匹配、十字掃描等多種方法。在條碼圖像中,由于某些模塊組合的圖形也具有類似于L形邊界的L形圖形,特征搜索可能獲取多個(gè)L形圖形的匹配位置,因此需要根據(jù)L形邊界與空白區(qū)之間的相對(duì)關(guān)系進(jìn)行判斷,排除無(wú)效的L形圖形。另外,本實(shí)用新型還提供一種通過(guò)行列線檢測(cè)實(shí)現(xiàn)對(duì)Data Matrix碼的識(shí)別的實(shí)施方式,該方法包括以下步驟首先在條碼圖像的預(yù)定區(qū)域內(nèi),提取符合預(yù)定長(zhǎng)度的多個(gè)黑白邊界線段;然后基于提取到的多個(gè)黑白邊界線段構(gòu)建多個(gè)直線;再根據(jù)平行線特性對(duì)多個(gè)直線進(jìn)行分組并形成行平行線組及列平行線組;最后根據(jù)Data Matrix碼的特性,通過(guò)對(duì)行平行線組及列平行線組構(gòu)建的網(wǎng)格進(jìn)行判斷來(lái)確認(rèn)是否存在Data Matrix碼, 并獲取行平行線組及列平行線組構(gòu)建的網(wǎng)格的特征圖形的像素坐標(biāo),根據(jù)特征圖形的像素坐標(biāo)獲取條碼參數(shù)。在步驟902,根據(jù)檢測(cè)到的位置探測(cè)圖形的像素坐標(biāo)和條碼參數(shù),在條碼圖像上搜索校正圖形,例如為軌道線(也稱鐵路線),獲取校正圖形中心點(diǎn)和/或邊緣點(diǎn)的像素坐標(biāo), 即軌道線的像素坐標(biāo),獲取校正特征。在步驟903,根據(jù)校正特征提取模塊參數(shù)和校正參數(shù)。具體步驟包括根據(jù)軌道線中多個(gè)模塊的中心點(diǎn)的像素坐標(biāo)來(lái)計(jì)算Data Matrix碼的模塊間隔,獲取模塊尺寸,根據(jù)條碼參數(shù)和模塊尺寸獲取Data Matrix碼的模塊行數(shù)和列數(shù),獲取模塊參數(shù)。然后根據(jù)模塊參數(shù)計(jì)算軌道線的模塊坐標(biāo)。并根據(jù)軌道線中多個(gè)模塊的中心點(diǎn)的像素坐標(biāo)和模塊坐標(biāo)計(jì)算校正參數(shù),該校正參數(shù)反映了條碼圖像的像素點(diǎn)與條碼模塊之間的映射關(guān)系。之后根據(jù)模塊尺寸和校正參數(shù)計(jì)算各個(gè)模塊所對(duì)應(yīng)的像素點(diǎn),根據(jù)各個(gè)模塊所對(duì)應(yīng)的像素點(diǎn)的坐標(biāo)和灰度值計(jì)算各個(gè)模塊所對(duì)應(yīng)的灰度值,構(gòu)造模塊圖。由于條碼在印刷和成像過(guò)程中可能發(fā)產(chǎn)生畸變,造成條碼上不同區(qū)域所對(duì)應(yīng)的模塊寬度可能不相等,而Data Matrix碼的軌道線是由交替的單個(gè)模塊寬度的深色和淺色模塊組成,而且會(huì)貫穿條碼的水平方向和垂直方向,軌道線上深色和淺色模塊的模塊寬度變化就反映了 Data Matrix碼的畸變情況,因此通過(guò)根據(jù)軌道線來(lái)計(jì)算每個(gè)模塊的寬度,可以有效地抵御條碼畸變。在步驟904,對(duì)模塊圖進(jìn)行二值化處理以提取位圖。在步驟905,根據(jù)Data Matrix碼的排列規(guī)則進(jìn)行位流提取并轉(zhuǎn)換為數(shù)據(jù)碼字和糾錯(cuò)碼字。在步驟906,根據(jù)糾錯(cuò)等級(jí),重新將數(shù)據(jù)碼字和糾錯(cuò)碼字按塊排列,進(jìn)行錯(cuò)誤檢測(cè)和糾錯(cuò)計(jì)算,糾正刪除錯(cuò)誤和未知錯(cuò)誤,還原表示Data Matrix碼信息的數(shù)據(jù)位流。在步驟907,將還原的數(shù)據(jù)位流進(jìn)行譯碼,以獲得Data Matrix碼信息。以下對(duì)本實(shí)用新型的Data Matrix碼條碼解碼芯片進(jìn)行詳細(xì)描述,圖4是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式的結(jié)構(gòu)示意圖。如圖4所示,數(shù)據(jù)存儲(chǔ)器11存儲(chǔ)條碼圖像,Data Matrix碼條碼解碼芯片10對(duì)數(shù)據(jù)存儲(chǔ)器11存儲(chǔ)條碼圖像進(jìn)行識(shí)別解碼。Data Matrix碼條碼解碼芯片10包括控制邏輯單元100、特征搜索單元101、條碼參數(shù)獲取單元102、模塊參數(shù)獲取單元103、校正特征獲取單元104、模塊信息處理單元105、二值化單元106、碼字提取單元107以及糾錯(cuò)譯碼單元 108??刂七壿媶卧?00用于控制特征搜索單元101、條碼參數(shù)獲取單元102、模塊參數(shù)獲取單元103、校正特征獲取單元104、模塊信息處理單元105、二值化單元106、碼字提取單元107以及糾錯(cuò)譯碼單元108的工作狀態(tài)和處理流程??刂七壿媶卧?00采用有限狀態(tài)機(jī) (Finite State Machine)形式進(jìn)行控制。有限狀態(tài)機(jī)又稱有限狀態(tài)自動(dòng)機(jī)或簡(jiǎn)稱狀態(tài)機(jī), 是表示有限個(gè)狀態(tài)以及在這些狀態(tài)之間的轉(zhuǎn)移和動(dòng)作等行為的狀態(tài)邏輯??刂七壿媶卧?100可以用可編程邏輯設(shè)備、可編程邏輯控制器、邏輯門和觸發(fā)器來(lái)構(gòu)造。優(yōu)選的實(shí)施方式中,控制邏輯單元100包括寄存器、確定狀態(tài)轉(zhuǎn)移的組合邏輯以及確定狀態(tài)控制模塊輸出的組合邏輯。寄存器用于存儲(chǔ)狀態(tài)變量。特征搜索單元101通過(guò)在條碼圖像中搜索特征圖形來(lái)確定特征圖形在條碼圖像上的像素坐標(biāo)。特征圖形包括但不限于條碼的功能圖形,例如位置探測(cè)圖形、校正圖形等。 優(yōu)選的實(shí)施方式中,位置特征搜索單元101采用模板匹配的方式搜索位置探測(cè)圖形,例如是L形邊界,其根據(jù)L形邊界的形狀,生成L形邊界檢測(cè)模板,將L形邊界檢測(cè)模板相對(duì)條碼圖像進(jìn)行平移并進(jìn)行灰度匹配,以確定L形邊界檢測(cè)模板與條碼圖像的最佳匹配位置, 并根據(jù)最佳匹配位置確定條碼圖像中L形邊界的轉(zhuǎn)折點(diǎn)和邊界點(diǎn)的像素坐標(biāo)。在條碼圖像中,由于某些模塊組合的圖形也具有類似L形邊界的L形圖形,特征搜索單元101可能獲取多個(gè)L形圖形的匹配位置,因此需要根據(jù)L形邊界與空白區(qū)之間的相對(duì)關(guān)系進(jìn)行判斷,排除無(wú)效的L形圖形。在本實(shí)用新型的另一種實(shí)施方式中,特征搜索單元101也可以通過(guò)比例檢測(cè)的方式來(lái)確定特征圖形在條碼圖像上的像素坐標(biāo),該方式包括通過(guò)掃描方式檢測(cè)條碼圖像中的深淺模塊邊界點(diǎn),將深淺模塊邊界點(diǎn)構(gòu)成的線特征與位置探測(cè)圖形相比較,根據(jù)比較結(jié)果確定條碼圖像中位置探測(cè)圖形的像素坐標(biāo)。另外,本實(shí)用新型還提供一種通過(guò)行列線檢測(cè)實(shí)現(xiàn)對(duì)Data Matrix碼的識(shí)別的實(shí)施方式,在該實(shí)施方法中,特征搜索單元101首先在條碼圖像的預(yù)定區(qū)域內(nèi),提取符合預(yù)定長(zhǎng)度的多個(gè)黑白邊界線段,然后基于提取到的多個(gè)黑白邊界線段構(gòu)建多個(gè)直線,再根據(jù)平行線特性對(duì)多個(gè)直線進(jìn)行分組并形成行平行線組及列平行線組,最后根據(jù)Data Matrix碼的特性,通過(guò)對(duì)行平行線組及列平行線組構(gòu)建的網(wǎng)格進(jìn)行判斷來(lái)確認(rèn)是否存在Data Matrix碼,并獲取行平行線組及列平行線組構(gòu)建的網(wǎng)格的特征圖形的像素坐標(biāo)。條碼參數(shù)獲取單元102根據(jù)特征搜索單元101所檢測(cè)的位置探測(cè)圖形的像素坐標(biāo)來(lái)計(jì)算模塊尺寸,通過(guò)位置探測(cè)圖形的L形圖形的長(zhǎng)度獲取條碼區(qū)域,根據(jù)L形圖形的兩條邊在條碼圖像坐標(biāo)系的朝向來(lái)獲取條碼方向。更進(jìn)一步的,條碼參數(shù)獲取單元102還可以根據(jù)L形圖形的寬度估算模塊尺寸的大致范圍。校正特征獲取單元103根據(jù)特征搜索單元101所檢測(cè)的位置探測(cè)圖形的像素坐標(biāo)以及條碼參數(shù)獲取單元102所獲取的條碼參數(shù),包括條碼區(qū)域、條碼方向等,在條碼圖像上搜索校正圖形,例如為軌道線(也稱鐵路線),獲取校正圖形中多個(gè)模塊的中心點(diǎn)和/或邊緣點(diǎn)的像素坐標(biāo),即軌道線的像素坐標(biāo),獲取校正特征。圖5是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式中校正特征獲取單元的第一種校正點(diǎn)獲取結(jié)構(gòu)的示意圖。如圖5所示,校正特征獲取單元103包括校正圖形搜索單元1031和校正點(diǎn)獲取單元1032。校正圖形搜索單元1041根據(jù)特征搜索單元101所檢測(cè)的位置探測(cè)圖形的像素坐標(biāo)以及條碼參數(shù)獲取單元102所獲取的條碼參數(shù), 按照軌道線的模塊排列方式生成軌道線檢測(cè)模板,將軌道線檢測(cè)模板相對(duì)條碼圖像進(jìn)行平移并進(jìn)行灰度匹配。校正點(diǎn)獲取單元1032對(duì)匹配結(jié)果進(jìn)行相似度計(jì)算處理,以確定軌道線檢測(cè)模板與條碼圖像的最佳匹配位置,根據(jù)最佳匹配位置確定條碼圖像中軌道線中多個(gè)模塊的中心點(diǎn)的像素坐標(biāo)和灰度值。模塊信息處理單元104根據(jù)軌道線中多個(gè)模塊的中心點(diǎn)的像素坐標(biāo)來(lái)計(jì)算Data Matrix碼的模塊間隔,獲取模塊尺寸,根據(jù)條碼參數(shù)和模塊尺寸確定Data Matrix碼的模塊行數(shù)和列數(shù),獲取模塊參數(shù)。然后根據(jù)模塊參數(shù)計(jì)算軌道線的模塊坐標(biāo)。并根據(jù)軌道線中多個(gè)模塊的中心點(diǎn)的像素坐標(biāo)和模塊坐標(biāo)計(jì)算校正參數(shù),該校正參數(shù)反映了條碼圖像的像素點(diǎn)與Data Matrix碼模塊之間的映射關(guān)系。再根據(jù)Data Matrix碼的模塊參數(shù)和校正參數(shù)計(jì)算各個(gè)模塊所對(duì)應(yīng)的像素點(diǎn)。之后根據(jù)各個(gè)模塊所對(duì)應(yīng)的像素點(diǎn)的坐標(biāo)和灰度值計(jì)算各個(gè)模塊所對(duì)應(yīng)的灰度值,構(gòu)造模塊圖。圖6是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式中模塊信息處理單元的結(jié)構(gòu)示意圖。模塊信息處理單元104包括模塊參數(shù)計(jì)算單元1041、校正特征模塊坐標(biāo)計(jì)算單元1042、校正參數(shù)計(jì)算單元1043、模塊像素點(diǎn)計(jì)算單元1044以及模塊灰度值計(jì)算單元1045。模塊參數(shù)計(jì)算單元1051根據(jù)軌道線中多個(gè)模塊的中心點(diǎn)的像素坐標(biāo)來(lái)計(jì)算Data Matrix碼的模塊間隔,獲取模塊尺寸,根據(jù)條碼參數(shù)和模塊尺寸確定Data Matrix碼的模塊行數(shù)和列數(shù),獲取模塊參數(shù)。由于Data Matrix碼的糾錯(cuò)等級(jí)與模塊的行數(shù)和列數(shù)相關(guān)聯(lián),因此通過(guò)獲取模塊參數(shù)還可以確定Data Matrix碼的糾錯(cuò)等級(jí)。校正特征模塊坐標(biāo)計(jì)算單元1042根據(jù)校正特征獲取單元103提供的軌道線的像素坐標(biāo),結(jié)合模塊參數(shù)計(jì)算獲得軌道線的模塊坐標(biāo)。校正參數(shù)計(jì)算單元1043根據(jù)軌道線的像素坐標(biāo)和模塊坐標(biāo)計(jì)算獲得校正參數(shù),該校正參數(shù)反映了條碼圖像的像素點(diǎn)與條碼模塊之間的映射關(guān)系。模塊像素點(diǎn)計(jì)算單元1044根據(jù)模塊參數(shù)和校正參數(shù)計(jì)算各個(gè)模塊所對(duì)應(yīng)的像素點(diǎn)。模塊與像素點(diǎn)之間的映射計(jì)算可以通過(guò)多種方式實(shí)現(xiàn),包括透視變換、二次多項(xiàng)式、三次多項(xiàng)式、三角網(wǎng)格、小波變換或上述計(jì)算方式的結(jié)合等。模塊像素點(diǎn)計(jì)算單元1044可以通過(guò)模塊坐標(biāo)計(jì)算對(duì)應(yīng)的像素點(diǎn)的坐標(biāo),也可以通過(guò)像素坐標(biāo)計(jì)算對(duì)應(yīng)的模塊的坐標(biāo)。本實(shí)用新型對(duì)上述計(jì)算過(guò)程及其所采取的計(jì)算手段并不加以限定。模塊灰度值計(jì)算單元1045根據(jù)各個(gè)模塊所對(duì)應(yīng)的像素點(diǎn)的坐標(biāo)和灰度值計(jì)算各個(gè)模塊所對(duì)應(yīng)的灰度值,以構(gòu)造模塊圖。 模塊的灰度值計(jì)算可以通過(guò)多種方式實(shí)現(xiàn),包括統(tǒng)計(jì)計(jì)算、插值計(jì)算、均值計(jì)算、加權(quán)計(jì)算或上述計(jì)算方式的結(jié)合等,本實(shí)用新型對(duì)上述計(jì)算過(guò)程及其所采取的計(jì)算手段并不加以限定。為便于本領(lǐng)域技術(shù)人員理解本實(shí)用新型的模塊信息處理單元的處理過(guò)程,本實(shí)用新型舉例一種計(jì)算方法對(duì)本實(shí)用新型的模塊信息處理單元的轉(zhuǎn)換原理進(jìn)行說(shuō)明,但是,該計(jì)算方法不應(yīng)理解為對(duì)本實(shí)用新型的模塊信息處理單元的限制。圖7是根據(jù)本實(shí)用新型的Data Matrix碼條碼解碼芯片的第一實(shí)施方式中模塊信息處理單元的轉(zhuǎn)換原理示意圖。模塊81與像素區(qū)域82之間具有映射關(guān)系,變形區(qū)域821 對(duì)應(yīng)于模塊81在像素區(qū)域82上的映射范圍。模塊81的中心點(diǎn)W在像素區(qū)域82所對(duì)應(yīng)的映射點(diǎn)為W'。由圖9可知,模塊81所對(duì)應(yīng)的像素點(diǎn)包括多個(gè)像素點(diǎn),圍繞映射點(diǎn)W'的像素點(diǎn)為A、B、C、D 4個(gè)像素點(diǎn)。中心變形區(qū)域822對(duì)應(yīng)于模塊81的中心區(qū)域在像素區(qū)域 82上的映射范圍。對(duì)于矩陣條碼而言,模塊的中心區(qū)域所反映的模塊值最準(zhǔn)確。優(yōu)選的實(shí)施方式中,可以通過(guò)A、B、C、D 4個(gè)像素點(diǎn)的灰度值來(lái)計(jì)算與映射點(diǎn)W'相對(duì)應(yīng)的模塊中心點(diǎn)W的灰度值。當(dāng)然,也可以通過(guò)像素區(qū)域82所對(duì)應(yīng)的所有像素點(diǎn)來(lái)計(jì)算模塊81的灰度值。即,模塊81的灰度值可以通過(guò)與其對(duì)應(yīng)的若干個(gè)像素點(diǎn)的灰度值計(jì)算得出。二值化單元105接收模塊信息處理單元104計(jì)算獲得的模塊灰度值,根據(jù)閾值對(duì)模塊圖進(jìn)行二值化處理以提取位圖。閾值的獲取方式包括預(yù)設(shè)閾值、整體閾值獲取、局部閾值獲取等多種方式碼字提取單元106根據(jù)Data Matrix碼的排列規(guī)則進(jìn)行位流提取并根據(jù)模塊編碼模式轉(zhuǎn)換為數(shù)據(jù)碼字和糾錯(cuò)碼字。糾錯(cuò)譯碼單元107根據(jù)模塊信息處理單元104得到的糾錯(cuò)等級(jí),重新將數(shù)據(jù)碼字和糾錯(cuò)碼字按塊排列,進(jìn)行錯(cuò)誤檢測(cè)和糾錯(cuò)計(jì)算,糾正刪除錯(cuò)誤和未知錯(cuò)誤,還原表示Data Matrix碼信息的數(shù)據(jù)位流,將還原的數(shù)據(jù)位流根據(jù)模塊編碼模式進(jìn)行譯碼,以獲得Data Matrix碼信息。本實(shí)用新型的Data Matrix碼解碼方法,通過(guò)搜索位置探測(cè)圖形和校正圖形,獲取校正圖形的像素灰度坐標(biāo)與模塊坐標(biāo),計(jì)算條碼圖像的像素坐標(biāo)與模塊坐標(biāo)之間的映射關(guān)系,然后根據(jù)該映射關(guān)系計(jì)算模塊灰度值,對(duì)模塊灰度值進(jìn)行二值化,進(jìn)而還原Data Matrix碼所對(duì)應(yīng)的條碼符號(hào)圖形。與現(xiàn)有技術(shù)相比,本實(shí)用新型的Data Matrix碼解碼方法是在知曉條碼特征信息,并根據(jù)條碼特征信息對(duì)條碼圖像進(jìn)行校正后進(jìn)行的二值化處理,因此降低了噪聲、畸變等因素對(duì)二值化過(guò)程的影響,減少了模塊錯(cuò)誤的出現(xiàn),大大增加了條碼的識(shí)別能力,提升了條碼識(shí)別的解碼成功率。[0068]本實(shí)用新型的Data Matrix碼條碼解碼芯片采用硬件流水線結(jié)構(gòu),通過(guò)硬件邏輯實(shí)現(xiàn)對(duì)條碼圖像的識(shí)別解碼,由于硬件流水線結(jié)構(gòu)適于對(duì)條碼圖像進(jìn)行流水線作業(yè)和并行處理,因此處理速度很快。相對(duì)于現(xiàn)有技術(shù)的處理器解碼技術(shù)而言,本實(shí)用新型的Data Matrix碼條碼解碼芯片采用全硬件結(jié)構(gòu),無(wú)需處理器參與解碼,芯片結(jié)構(gòu)相對(duì)于處理器而言結(jié)構(gòu)更為簡(jiǎn)化、面積更小、功耗更低、成本更低、易于集成,容易實(shí)現(xiàn)便攜應(yīng)用。可以方便地與物聯(lián)網(wǎng)技術(shù)相結(jié)合,為條碼技術(shù)的應(yīng)用提供了更為廣闊的發(fā)展空間。
以上參照
了本實(shí)用新型的各種優(yōu)選實(shí)施例,但是只要不背離本實(shí)用新型的實(shí)質(zhì)和范圍,本領(lǐng)域的技術(shù)人員可以對(duì)其進(jìn)行各種形式上的修改和變更,都屬于本實(shí)用新型的保護(hù)范圍。
權(quán)利要求1. 一種Data Matrix碼條碼解碼芯片,其特征在于,所述Data Matrix碼條碼解碼芯片包括特征搜索單元;條碼參數(shù)獲取單元,連接所述特征搜索單元;校正特征獲取單元,連接所述特征搜索單元和所述條碼參數(shù)獲取單元; 模塊信息處理單元,連接所述條碼參數(shù)獲取單元和所述校正特征獲取單元; 二值化單元,連接所述模塊信息處理單元; 碼字提取單元,連接所述二值化單元; 糾錯(cuò)譯碼單元,連接所述碼字提取單元。
專利摘要本實(shí)用新型提供一種Data Matrix碼條碼解碼芯片。所述Data Matrix碼條碼解碼芯片包括特征搜索單元;條碼參數(shù)獲取單元,連接所述特征搜索單元;校正特征獲取單元,連接所述特征搜索單元和所述條碼參數(shù)獲取單元;模塊信息處理單元,連接所述條碼參數(shù)獲取單元和所述校正特征獲取單元;二值化單元,連接所述模塊信息處理單元;碼字提取單元,連接所述二值化單元;糾錯(cuò)譯碼單元,連接所述碼字提取單元。本實(shí)用新型的Data Matrix碼條碼解碼芯片能保證Data Matrix碼解碼過(guò)程快速、順利地進(jìn)行。
文檔編號(hào)G06K7/10GK201936317SQ20102021270
公開(kāi)日2011年8月17日 申請(qǐng)日期2010年6月1日 優(yōu)先權(quán)日2010年6月1日
發(fā)明者楊韜, 蔡強(qiáng), 邱有森, 陳文傳 申請(qǐng)人:福建新大陸電腦股份有限公司