高容量二維彩色條形碼和用于解碼其的方法
【技術(shù)領(lǐng)域】
[0001] 該發(fā)明涉及二維(2D)彩色條形碼,并具體地,其涉及二維彩色條形碼的結(jié)構(gòu)以及 用于解碼其的方法。
【背景技術(shù)】
[0002] 條形碼是數(shù)據(jù)的光學(xué)機器可讀表示。2D彩色條形碼由按照二維方式(即,沿著水 平和垂直方向兩者)排列的小正方形或矩形單元形成,并且對于每一單元使用一個顏色。 不同顏色表示不同數(shù)據(jù)值。條形碼的數(shù)據(jù)容量和單元數(shù)目和顏色數(shù)目之間的關(guān)系能表達為 [0003] 數(shù)據(jù)容量=(單元數(shù)目)X Iog2 (顏色表示的數(shù)目)
[0004] 使用小單元尺寸和更多顏色表示的條形碼設(shè)計能實現(xiàn)給定區(qū)域中的相對高的數(shù) 據(jù)容量。然而,各種因素限制單元能成為多么小。
[0005] 數(shù)字打印機的信道偏移是硬件缺陷(imperfections)引起的必然效應(yīng)。信道表示 打印機使用的不同原色(例如,青、品紅、黃和黑或者CMYK);信道偏移表示以下事實,即,當(dāng) 使用不同原色來打印具有相同位置值的像素時,所打印的像素的實際位置可以不是十分相 同。偏移量可以是全局的(即,跨越整個圖像的相同偏移)和/或局部的(即,它們在頁面 的不同區(qū)域中可以是不同的)。當(dāng)條形碼單元小時,信道偏移效應(yīng)可顯著影響結(jié)果,促使相 鄰單元之間的間隔改變,并且單元甚至能彼此合并。
[0006] 而且,單元的顏色密度取決于單元面積。小面積的顏色密度當(dāng)與大面積的顏色密 度相比時相對低,這可引起對于具有小單元的條形碼的顏色確定的難度。
[0007] 此外,不同打印機和掃描儀的工作條件可變。不同打印機將具有不同輸出,同樣不 同掃描儀將具有不同輸出。工作條件也可以隨著時間改變,使得來自一個打印機或一個掃 描儀的輸出在不同時間也可以改變。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的實施例提供了 2D彩色條形碼布局的設(shè)計、以及能解碼條形碼以降低掃 描儀和打印機的條件的變化的影響的魯棒算法。
[0009] 本發(fā)明的目的是提供高容量2D彩色條形碼設(shè)計、和在上面討論的打印機和掃描 儀的物理限制下工作良好的用于解碼條形碼的魯棒方法,方法能不管來自掃描儀和打印機 的變化而降低解碼的誤差率。
[0010] 本發(fā)明的附加特征和優(yōu)點將在接下來的描述中闡明并且部分將根據(jù)該描述而清 楚,或者可通過本發(fā)明的實踐得知。本發(fā)明的目的和其他優(yōu)點將通過在書寫的描述及其權(quán) 利要求以及附圖中具體指出的結(jié)構(gòu)來實現(xiàn)和達到。
[0011] 為了實現(xiàn)這些和/或其他目的,如實施和廣泛描述的那樣,本發(fā)明提供了一種打 印二維彩色條形碼,包括:多個數(shù)據(jù)單元,每一數(shù)據(jù)單元具有多個原色之一,所述數(shù)據(jù)單元 具有相同尺寸,并被排列以形成包括被空白隔開的多列和多行的二維陣列;位于該條形碼 的角落處的多個角落定位器單元,所述角落定位器單元具有黑色并具有比數(shù)據(jù)單元的尺寸 大的尺寸;和多個邊界參考單元,每一邊界參考單元具有多個原色之一,所述多個邊界參考 單元被排列以形成位于所述角落定位器單元之間并基本上環(huán)繞所述數(shù)據(jù)單元的二維陣列 的四個邊界,并且兩個角落定位器單元之間的每一邊界中的邊界參考單元具有包括所述多 個原色的預(yù)定重復(fù)顏色序列。
[0012] 在另一方面中,本發(fā)明提供了一種用于解碼掃描圖像中的二維彩色條形碼的方 法,該條形碼具有已知布局,該已知布局包括形成二維陣列的多個數(shù)據(jù)單元,該二維陣列 包括被空白隔開的多列和多行、位于條形碼的角落處的多個角落定位器單元、以及形成位 于角落定位器單元之間并基本上環(huán)繞所述數(shù)據(jù)單元的二維陣列的四個邊界的多個邊界參 考單元,每一數(shù)據(jù)單元和邊界參考單元具有多個原色之一,所述數(shù)據(jù)單元和一些邊界參考 單元具有相同尺寸,所述角落定位器單元具有黑色以及比數(shù)據(jù)單元的尺寸大的尺寸,兩個 角落定位器單元之間的每一邊界中的邊界參考單元具有包括所述多個原色的預(yù)定重復(fù)顏 色序列,該解碼方法包括:(a)使用角落定位器單元的位置來計算所有數(shù)據(jù)單元和邊界參 考單元的中心位置;(b)使用所有邊界參考單元,計算在沿著每一邊界的多個位置處的每 一原色的信道偏移;(C)通過對具有相應(yīng)原色的所有邊界參考單元中的像素的顏色值求平 均,來計算每一原色的參考顏色值;(d)對于該數(shù)據(jù)單元陣列的區(qū)域內(nèi)的每一像素:(dl)計 算多個色差值,每一色差值是該像素的顏色值與原色之一或白色的參考顏色值之間的色 差;(d2)基于所述色差值,計算針對所述多個原色的多個像素顏色概率,每一像素顏色概 率代表像素是對應(yīng)原色的概率;(e)對于每一數(shù)據(jù)單元:(el)計算與所述多個原色對應(yīng)的 單元的多個預(yù)測位置,每一預(yù)測位置通過向步驟(a)中計算的數(shù)據(jù)單元的中心位置添加對 應(yīng)原色的局部信道偏移來計算,其中所述局部信道偏移通過內(nèi)插在步驟(b)中計算的沿著 四個邊界的多個位置處的對應(yīng)原色的信道偏移來計算;(e2)計算針對所述多個原色的多 個單元顏色概率,每一單元顏色概率代表數(shù)據(jù)單元是對應(yīng)原色的概率,每一單元顏色概率 通過在位于具有數(shù)據(jù)單元的尺寸并且以對應(yīng)原色的預(yù)測位置為中心的區(qū)域中的像素上、對 針對對應(yīng)原色的像素顏色概率求和來計算;(e3)通過比較針對所述多個原色的多個單元 顏色概率,來確定數(shù)據(jù)單元的顏色;和(f)將數(shù)據(jù)單元的顏色變換為數(shù)字?jǐn)?shù)據(jù)。
[0013] 在另一方面中,本發(fā)明提供了運行以上處理的數(shù)據(jù)處理設(shè)備。
[0014] 應(yīng)理解的是,以上一般描述與以下詳細(xì)描述是示范性和解釋性的,并意欲提供要 求保護的本發(fā)明的進一步解釋。
【附圖說明】
[0015] 圖1描繪了根據(jù)本發(fā)明實施例的彩色條形碼布局。
[0016] 圖IA(用顏色)描繪了根據(jù)本發(fā)明實施例的一個示范彩色條形碼和相鄰條形碼的 部分。
[0017] 圖2、2A和2B示意性圖示了根據(jù)本發(fā)明實施例的條形碼解碼方法。
[0018] 圖3示意性圖示了其中可實現(xiàn)本發(fā)明實施例的數(shù)據(jù)處理設(shè)備。
【具體實施方式】
[0019] 圖1描繪了根據(jù)本發(fā)明實施例的示范彩色條形碼的布局。該彩色條形碼包括形成 二維陣列的多個數(shù)據(jù)單元11,每一單元具有多個顏色之一。在優(yōu)選實施例中,所述多個顏色 是青(C)、品紅(M)、黃⑴和黑(K),并且每一單元能代表2比特信息。CMYK是打印機中使 用的原色,并且它們中的每一個由一種彩色墨水打印并被稱為顏色信道。所以,利用一種墨 水打印條形碼中的每一單元,并且每一單元的顏色將是均勻的。每一單元具有定義的尺寸, 并且單元被隔開定義的距離。優(yōu)選地,這些單元是正方形形狀,形成沿著垂直和水平方向?qū)?準(zhǔn)的列和行,并且行距離和列距離相等。在一個特定實施例中,單元尺寸是3 X 3像素,并且 單元之間的距離(空白的寬度)是水平和垂直方向兩者的2個像素。
[0020] 條形碼具有位于條形碼的角落的四個角落定位器單元12、以及在位于角落定位器 之間的條形碼的四邊的每一邊上的一排邊界參考單元13A、13B,使得數(shù)據(jù)單元11的陣列位 于邊界之內(nèi)。能在解碼期間使用以給出條形碼的四個角落的地點的角落定位器12優(yōu)選在 顏色上是黑色的并且大于數(shù)據(jù)單元。在該示例中,它們的尺寸是13X13像素,即,它們的尺 寸對應(yīng)于內(nèi)部陣列中的數(shù)據(jù)單元的3X3塊。較大尺寸使得它們相對易于定位。
[0021] 邊界參考單元13A、13B包括按照預(yù)定義顏色序列排列的青、品紅、黃和黑參考單 元。所述參考單元能提供在解碼處理中有用的信道偏移(全局和局部)信息以及顏色信息。 在一個實施例中,青、品紅、黃和黑參考單元13A和數(shù)據(jù)單元11具有相同尺寸,使得這些參 考單元的顏色密度與數(shù)據(jù)單元的顏色密度相似,而黃參考單元13B比數(shù)據(jù)單元長。這是因 為黃色與白背景接近,并且更難以精確檢測。在該示例中,黃參考單元13B的尺寸是3x13 或13x3像素;即,它們的尺寸對應(yīng)于內(nèi)部陣列中的數(shù)據(jù)單元的1x3或3x1塊。邊界參考單 元13A、13B彼此隔開,并與角落定位器12隔開比內(nèi)部數(shù)據(jù)單元陣列中的單元分隔更大的距 離,以便避免參考單元的潛在重疊。在該示例中,兩個相鄰參考單元之間、角落地點和相鄰 參考單元之間、以及參考單元與相鄰數(shù)據(jù)單元之間的距離(空白)是7像素;該距離對應(yīng)于 內(nèi)部數(shù)據(jù)單元陣列中的兩列(或行)之間的距離,如果去除每一其他列(或行)的話。
[0022] 在該示例中,邊界參考單元的預(yù)定義顏色序列是Y、K、M、K、C、K、......的重復(fù)序 列;即,每一其他參考單元是黑,并且黑參考單元之間的參考單元形成重復(fù)顏色序列(黃單 元變得更大)。按照該方式排列的四排邊界參考單元沿著角落定位器之間的條形碼的四邊 的整體長度延伸。這允許在條形碼的不同區(qū)域中測量參考單元的信道偏移,并用來估計條 形碼中的任何位置處的數(shù)據(jù)單元的局部信道偏移。
[0023] 設(shè)計不對稱性,使得四個角落定位器之一能與其他角落定位器區(qū)分,這在解碼處 理中有用。這可按照任何適當(dāng)?shù)姆绞綄崿F(xiàn)。在一個示例中,通過