專利名稱:一種矩陣式彩色二維條形碼的編解碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及二維條形碼技術(shù)領(lǐng)域,尤其涉及在原有的矩陣式黑白二維條 形碼基礎(chǔ)上實現(xiàn)矩陣式彩色二維條形碼的編解碼方法。
背景技術(shù):
二維條形碼有許多不同的編碼方法,或稱碼制。就這些碼制的編碼原理而言,通??煞譃橐韵氯N類型線性堆疊式二維碼是在一維條形碼編碼原理的基礎(chǔ)上,將多個一維碼在 縱向堆疊而產(chǎn)生的,典型的碼制如Codel6K、 Code49、 PDF417等。郵政碼通過不同長度的條進行編碼,主要用于郵件編碼,如Postnet、 BPO 4-State。矩陣式二維碼是在一個矩形空間通過黑、白像素在矩陣中的不同分布進 行編碼。典型碼制如Aztec、 MaxiCode、 QRCode、 Data Matrix等。矩陣式二維條碼(又稱棋盤式二維條碼)它是在一個矩形空間通過黑、 白像素在矩陣中的不同分布進行編碼。在矩陣相應(yīng)元素位置上,用黑像素表 示二進制'T,,白像素表示二進制的"0",點的排列組合確定了矩陣式二維條 碼所代表的意義。矩陣式二維條碼是建立在計算機圖像處理技術(shù)、組合編碼 原理等基礎(chǔ)上的一種新型圖形符號自動識讀處理碼制。具有代表性的矩陣式 二維條碼有Code One、 MaxiCode、 QRCode、 Data Matrix等。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種矩陣式彩色二維條形碼的編解碼 方法,提高矩陣式二維條形碼的信息含量。為了解決上述問題,本發(fā)明提供了一種矩陣式彩色二維條形碼的編碼方
法,包括以下步驟(a) 編碼器對所描述的信息編碼得到矩陣式黑白二維條碼;(b) 所述編碼器依照比特值的對應(yīng)彩色像素塊,按順序?qū)⒕仃囀胶诎锥?維條碼中多個黑白像素塊替換成彩色像素塊;(c) 所述編碼器將所述彩色像素塊組成的矩陣排列成矩形形狀。進一步地,所述步驟(b)中,所述彩色像素塊的顏色有8種,所述彩色l象 素塊代表不同的3個二進制的比特數(shù)據(jù)。進一步地,所述步驟(b)中,所述編碼器從矩陣式黑白二維條碼按每行從 右到左或從左到右的順序或者每列從上到下或從下到上的順序依次將矩陣 式黑白二維條碼中多個黑白像素塊替換成彩色像素塊。進一步地,所述步驟(b)中,當矩陣式黑白二維條碼每行的像素數(shù)不是彩 色像素塊對應(yīng)的比特數(shù)的倍數(shù)時,添加冗余補充像素塊將黑白二維條碼每行 的像素數(shù)據(jù)補充為彩色像素塊對應(yīng)的比特數(shù)的倍數(shù),然后再進行替換,并設(shè) 置有包含添加冗余補充像素塊的方法以及添加的個數(shù)的編碼信息模塊,所述 編碼信息模塊由一個或多個彩色像素塊構(gòu)成。進一步地,所述步驟(b)中,當矩陣式黑白二維條碼每行的像素數(shù)不是彩 色像素塊對應(yīng)的比特數(shù)的倍數(shù)時,按黑白二維條碼各相鄰行或相鄰列的黑白 像素塊依次串接起來后的序列進行替換, 一行上的黑白像素塊不足時從下一 行讀取,直到最后一個黑白像素塊,如果剩余的不是彩色像素塊對應(yīng)的比特 數(shù)的倍數(shù),再使用冗余補充像素塊補充,并設(shè)置有包含添加冗余補充像素塊 的方法以及添加的個數(shù)的編碼信息模塊,所述編碼信息模塊由 一個或多個彩 色像素塊構(gòu)成。進一步地,所述步驟(c)中,所述編碼器把所述彩色像素矩陣從最后一行 的右端開始依照每行從右到左順序排列成正方形形狀。進一步地,所述步驟(c)中是將所述彩色像素塊組成的矩陣排列成正方 形,所述彩色像素塊不能直接排成正方形時,取正方形邊長的平方大于所述 彩色像素塊的總體個數(shù)的最小值,空余部分使用設(shè)定的黑色或白色或彩色像 素塊代替。 為了解決上述問題,本發(fā)明還提供了一種矩陣式彩色二維條形碼的解碼方法,包括以下步驟(1) 解碼器通過掃描器將矩陣式彩色二維條碼掃入;(2) 所述解碼器根據(jù)每個像素塊的YUV分量值,通過同像素塊預(yù)定顏 色的對比判斷出每個像素塊的顏色;(3) 所述解碼器根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還 原出矩陣式黑白二維條碼信息;(4) 所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。進一步地,所述步驟(2)中,通過同像素塊預(yù)定顏色的對比判斷出每個像 素塊的顏色時,至少選擇YUV分量中的兩個分量作為對比值。進一步地,所述步驟(3)中,如果在所述彩色二維條碼中識別出編碼信息 模塊,則先從中獲取冗余補充像素塊增加的方式和數(shù)目信息,需同時結(jié)合該 信息和彩色像素塊的對應(yīng)比特值、排列順序以還原出矩陣式黑白二維條碼信息。為了解決上述問題,本發(fā)明還提供了 一種矩陣式彩色二維條形碼的編解 碼方法,其特征在于,包括以下步驟(i) 編碼器對所描述的信息編碼得到矩陣式黑白二維條碼;(ii) 所述編碼器依照比特值的對應(yīng)彩色像素塊,依次將矩陣式黑白二維 條碼中多個黑白像素塊替換成彩色像素塊,并將所述彩色像素塊組成的矩陣排列成矩形形狀;(iii) 解碼器通過掃描器將矩陣式彩色二維條碼掃入,根據(jù)每個像素塊的 YUV分量值,通過同像素塊預(yù)定顏色的對比判斷出每個像素塊的顏色,并 根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還原出矩陣式黑白二維 條碼信息;(iiii)所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。進一步地,所述步驟(ii)中,所述彩色像素塊的顏色有8種,所述彩色 像素塊代表不同的3個二進制的比特數(shù)據(jù)。
進一步地,所述步驟(ii)中,所述編碼器從矩陣式黑白二維條碼按每行 從右到左或從左到右的順序或者每列從上到下或從下到上的順序依次將矩 陣式黑白二維條碼中多個黑白像素塊替換成彩色像素塊;當矩陣式黑白二維條碼每行的像素數(shù)不是彩色像素塊對應(yīng)的比特數(shù)的 倍數(shù)時,按以下兩種方式之一處理第 一種,添加冗余補充像素塊將黑白二維條碼每行的像素數(shù)據(jù)補充為彩 色像素塊對應(yīng)的比特數(shù)的倍數(shù),然后再進行替換;第二種,按黑白二維條碼各相鄰行或相鄰列的黑白像素塊依次串接起來 后的序列進行替換, 一行上的黑白像素塊不足時從下一行讀取,直到最后一 個黑白像素塊,如果剩余的不是彩色像素塊對應(yīng)的比特數(shù)的倍數(shù),再使用冗 余補充像素塊補充;在以上兩種方式下,設(shè)置有包含添加冗余補充像素塊的方法以及添加的 個數(shù)的編碼信息模塊,所述編碼信息模塊由一個或多個彩色像素塊構(gòu)成。進一步地,所述步驟(ii)中是將所述彩色像素塊組成的矩陣排列成正方 形,所述彩色像素塊不能排成正方形時,取正方形邊長的平方大于所述彩色 像素塊的總體個數(shù)的最小值,空余部分使用設(shè)定的黑色或白色或彩色代替。進一步地,所述步驟(iii)中,在所述彩色二維條碼中識別出編碼信息模 塊,則從中獲取冗余補充像素塊增加的方式和數(shù)目信息,需同時結(jié)合該信息 和彩色像素塊的對應(yīng)比特值、排列順序以還原出矩陣式黑白二維條碼信息。采用本發(fā)明提出的方法,相比現(xiàn)有技術(shù),可提高矩陣式二維條形碼的信 息含量。
圖1是本實施例中矩陣式彩色二維條碼的編碼流程圖; 圖2是本實施例中矩陣式彩色二維條碼的解碼流程圖; 圖3是本實施例中編碼形成的矩陣式黑白二維條碼;
圖4是本實施例中將矩陣式黑白二維條碼轉(zhuǎn)換后的矩陣式彩色二維條碼;圖5是本實施例中重新排列后的矩陣式彩色二維條碼。
具體實施方式
本實施例以傳統(tǒng)的矩陣式二維條碼為基礎(chǔ),通過對像素塊的彩色化來提 高矩陣式二維條碼的信息含量,如圖l所示,矩陣式彩色二維條形碼的編碼包括以下步驟步驟101,編碼器使用傳統(tǒng)的編碼方法對所描述的信息編碼得到矩陣式 黑白二維條碼;步驟102,編碼器按順序?qū)⒕仃囀胶诎锥S條碼中多個黑白像素塊替換 成彩色像素塊,形成彩色像素矩陣;彩色像素塊的顏色為事先選定,選擇兩個以上差異較大、解碼器比較容 易識別的顏色,并為每個顏色設(shè)定對應(yīng)的比特值。選擇差異較大的彩色像素 塊顏色時,可以只選擇YUV分量中的一個分量作為判斷標準,也可以選拷: 其中的兩個或者全部分量作為判斷標準,亮度分量Y通常是一個重要的選 擇。例如可以通過判斷不同顏色中Y分量差值絕對值的大小判斷顏色差異 的大小,如大于某個門限值《則認為其差異較大。一般來說,選擇的顏色種類越多,則代表的信息量越大,但是讀碼器解 析也就越困難。注意此處只是對信息攜帶方式進行說明,不考慮實際實現(xiàn)中 的格式(如定位點等)。當矩陣式黑白二維條碼每行的像素數(shù)不是彩色像素塊對應(yīng)的比特數(shù)的 倍數(shù)時,可以采取添加冗余補充像素塊將黑白二維條碼每行的像素數(shù)據(jù)補充 為彩色像素塊對應(yīng)的比特數(shù)的倍數(shù),也可以按黑白二維條碼各相鄰行或相鄰 列的像素塊依次串接起來后的序列進行替換,例如從右下角的黑白像素塊開 始依次使用彩色像素塊代替,某一行上的像素塊不足時從下一行讀取(可以 從上一行的同側(cè)或異側(cè)開始讀取),直到左上角的最后一個黑白像素塊,如 果剩余的不是彩色像素塊對應(yīng)的比特數(shù)的倍數(shù),則使用冗余補充像素塊補 為了解決上述問題,本發(fā)明還提供了一種矩陣式彩色二維條形碼的解碼方法,包括以下步驟(1) 解碼器通過掃描器將矩陣式彩色二維條碼掃入;(2) 所述解碼器根據(jù)每個像素塊的YUV分量值,通過同像素塊預(yù)定顏 色的對比判斷出每個像素塊的顏色;(3) 所述解碼器根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還 原出矩陣式黑白二維條碼信息;(4) 所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。進一步地,所述步驟(2)中,通過同像素塊預(yù)定顏色的對比判斷出每個像 素塊的顏色時,至少選擇YUV分量中的兩個分量作為對比值。進一步地,所述步驟(3)中,如果在所述彩色二維條碼中識別出編碼信息 模塊,則先從中獲取冗余補充像素塊增加的方式和數(shù)目信息,需同時結(jié)合該 信息和彩色像素塊的對應(yīng)比特值、排列順序以還原出矩陣式黑白二維條碼信息。為了解決上述問題,本發(fā)明還提供了 一種矩陣式彩色二維條形碼的編解 碼方法,其特征在于,包括以下步驟(i) 編碼器對所描述的信息編碼得到矩陣式黑白二維條碼;(ii) 所述編碼器依照比特值的對應(yīng)彩色像素塊,依次將矩陣式黑白二維 條碼中多個黑白像素塊替換成彩色像素塊,并將所述彩色像素塊組成的矩陣排列成矩形形狀;(iii) 解碼器通過掃描器將矩陣式彩色二維條碼掃入,根據(jù)每個像素塊的 YUV分量值,通過同像素塊預(yù)定顏色的對比判斷出每個像素塊的顏色,并 根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還原出矩陣式黑白二維 條碼信息;(iiii)所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。進一步地,所述步驟(ii)中,所述彩色像素塊的顏色有8種,所述彩色 像素塊代表不同的3個二進制的比特數(shù)據(jù)。 的信息,完成解碼。具體應(yīng)用實例中的編碼部分包括以下步驟步驟l:使用傳統(tǒng)的矩陣式二維條碼編碼方法完成對所描述的信息編碼, 形成9X9的黑白矩陣式二維條碼,如圖3所示。步驟2:選擇以下八種顏色代表二進制的000, 001, 010, 011, 100, 101, 110和111,其中有不同填充方式的正方形在圖4和圖5中表示相應(yīng)的彩色像素塊。白色000 L紅色001綠色010 二匚]藍色oii L黃色100粉色101青色no U丄:—紫色iii-十卞」步驟3:使用步驟2中的彩色像素塊替換黑白矩陣式二維條碼中黑白像 素塊,形成彩色像素矩陣,如圖4所示。替換的步驟為從第0行的最右端開 始,以3個比特為單位進行替換。步驟4:我們對圖4的彩色像素矩陣按照正方形重新排列一下,空余部 分使用黑色像素代替,得到重新排列后的彩色矩陣式二維條碼,如圖5所示。 排列順序為從第0行的右端開始依照每行從右到左順序排列。在其它實施例中,上述步驟3中按列的方向從第0列的最上端開始,以 3個比特為單位進行替換。在步驟4中,按排列順序為從第0列的上端開始 依照每列從上到下的順序?qū)⒉噬袼鼐仃嚢凑照叫沃匦屡帕?。具體應(yīng)用實例的解碼部分包括以下內(nèi)容通過解碼器攝像頭將上述重新 排列后的彩色矩陣式二維條碼掃入,根據(jù)每個像素塊的YUV分量值同像素塊預(yù)定顏色的對比判斷出每個像素塊的顏色,對照編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還原出黑白矩陣式二維條碼信息,如圖5所示,再使用傳統(tǒng)的矩陣式二維條碼解碼方法解碼出黑白矩陣式二維條碼所描述的信 臺應(yīng)當理解的是,對本發(fā)明技術(shù)所在領(lǐng)域的普通技術(shù)人員來說,可以根據(jù) 本發(fā)明的技術(shù)方案及其構(gòu)思進行相應(yīng)的等同改變或替換,而所有這些改變或 替換,都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護范圍。
權(quán)利要求
1、一種矩陣式彩色二維條形碼的編碼方法,其特征在于,包括以下步驟(a)編碼器對所描述的信息編碼得到矩陣式黑白二維條碼;(b)所述編碼器依照比特值對應(yīng)的彩色像素塊,按順序?qū)⒕仃囀胶诎锥S條碼中多個黑白像素塊替換成彩色像素塊;(c)所述編碼器將所述彩色像素塊組成的矩陣排列成矩形形狀。
2、 如權(quán)利要求1所述的編碼方法,其特征在于,所述步驟(b)中,所述 彩色像素塊的顏色有8種,所述彩色像素塊代表不同的3個二進制的比特數(shù)據(jù)。
3、 如權(quán)利要求1所述的編碼方法,其特征在于,所述步驟(b)中,所述 編碼器從矩陣式黑白二維條碼按每行從右到左或從左到右的順序或者每列 從上到下或從下到上的順序依次將矩陣式黑白二維條碼中多個黑白像素塊 替換成彩色像素塊。
4、 如權(quán)利要求1所述的編碼方法,其特征在于,所述步驟(b)中,當矩 陣式黑白二維條碼每行的像素數(shù)不是彩色像素塊對應(yīng)的比特數(shù)的倍數(shù)時,添 加冗余補充像素塊將黑白二維條碼每行的像素數(shù)據(jù)補充為彩色像素塊對應(yīng) 的比特數(shù)的倍數(shù),然后再進行替換,并設(shè)置有包含添加冗余補充像素塊的方 法以及添加的個數(shù)的編碼信息模塊,所述編碼信息模塊由 一個或多個彩色像 素塊構(gòu)成。
5、 如權(quán)利要求1所述的編碼方法,其特征在于,所述步驟(b)中,當矩 陣式黑白二維條碼每行的像素數(shù)不是彩色像素塊對應(yīng)的比特數(shù)的倍數(shù)時,按 黑白二維條碼各相鄰行或相鄰列的黑白像素塊依次串接起來后的序列進行 替換, 一行上的黑白像素塊不足時從下一行讀取,直到最后一個黑白像素塊, 如果剩余的不是彩色像素塊對應(yīng)的比特數(shù)的倍數(shù),再使用冗余補充像素塊補 充,并設(shè)置有包含添加冗余補充像素塊的方法以及添加的個數(shù)的編碼信息模 塊,所述編碼信息模塊由一個或多個彩色像素塊構(gòu)成。
6、 如權(quán)利要求1所述的編碼方法,其特征在于,所迷步驟(c)中,所述 編碼器把所述彩色像素矩陣從最后一行的右端開始依照每行從右到左順序 排列成正方形形狀。
7、 如權(quán)利要求1所述的編碼方法,其特征在于,所述步驟(c)中是將所述彩色像素塊組成的矩陣排列成正方形,所述彩色像素塊不能直接排成正方 形時,取正方形邊長的平方大于所述彩色像素塊的總體個數(shù)的最小值,空余 部分使用設(shè)定的黑色或白色或彩色像素塊代替。
8、 一種矩陣式彩色二維條形碼的解碼方法,其特征在于,包括以下步驟(1) 解碼器通過掃描器將矩陣式彩色二維條碼掃入;(2) 所述解碼器根據(jù)每個像素塊的YUV分量值,通過同像素塊預(yù)定顏 色的對比判斷出每個像素塊的顏色;(3) 所述解碼器根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還 原出矩陣式黑白二維條碼信息;(4) 所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。
9、 如權(quán)利要求8所述的解碼方法,其特征在于,所述步驟(2)中,通過 同像素塊預(yù)定顏色的對比判斷出每個像素塊的顏色時,至少選擇YUV分量 中的兩個分量作為對比值。
10、 如權(quán)利要求8所述的解碼方法,其特征在于,所述步驟(3)中,在 所述彩色二維條碼中識別出編碼信息^^塊,則從中獲取冗余補充像素塊增加 的方式和數(shù)目信息,需同時結(jié)合該信息和彩色像素塊的對應(yīng)比特值、排列順 序以還原出矩陣式黑白二維條碼信息。
11、 一種矩陣式彩色二維條形碼的編解碼方法,其特征在于,包括以下 步驟(i) 編碼器對所描述的信息編碼得到矩陣式黑白二維條碼;(ii) 所述編碼器依照比特值的對應(yīng)彩色像素塊,依次將矩陣式黑白二維 條碼中多個黑白像素塊替換成彩色像素塊,并將所述彩色像素塊組成的矩陣 排列成矩形形狀;(m)解碼器通過掃描器將矩陣式彩色二維條碼掃入,根據(jù)每個像素塊的 YUV分量值,通過同像素塊預(yù)定顏色的對比判斷出每個像素塊的顏色,并 根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還原出矩陣式黑白二維 條碼信息;(iiii)所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。
12、 如權(quán)利要求11所述的方法,其特征在于,所述步驟(ii)中,所述彩 色像素塊的顏色有8種,所述彩色像素塊代表不同的3個二進制的比特數(shù)據(jù)。
13、 如權(quán)利要求11所述的方法,其特征在于,所述步驟(ii)中,所述編 碼器從矩陣式黑白二維條碼按每行從右到左或從左到右的順序或者每列從 上到下或從下到上的順序依次將矩陣式黑白二維條碼中多個黑白像素塊替 換成彩色像素塊;當矩陣式黑白二維條碼每行的像素數(shù)不是彩色像素塊對應(yīng)的比特數(shù)的 倍數(shù)時,按以下兩種方式之一處理第一種,添加冗余補充像素塊將黑白二維條碼每行的像素數(shù)據(jù)補充為彩 色像素塊對應(yīng)的比特數(shù)的倍數(shù),然后再進行替換;第二種,按黑白二維條碼各相鄰行或相鄰列的黑白像素塊依次串接起來 后的序列進行替換, 一行上的黑白像素塊不足時從下一行讀取,直到最后一 個黑白像素塊,如果剩余的不是彩色像素塊對應(yīng)的比特數(shù)的倍數(shù),再使用冗 余補充像素塊補充;在以上兩種方式下,設(shè)置有包含添加冗余補充像素塊的方法以及添加的 個數(shù)的編碼信息模塊,所述編碼信息模塊由一個或多個彩色像素塊構(gòu)成。
14、 如權(quán)利要求11所述的方法,其特征在于,所述步驟(ii)中是將所述 彩色像素塊組成的矩陣排列成正方形,所述彩色像素塊不能排成正方形時, 取正方形邊長的平方大于所述彩色像素塊的總體個數(shù)的最小值,空余部分使用設(shè)定的黑色或白色或彩色像素塊代替。
15、 如權(quán)利要求13所述的方法,其特征在于,所述步驟(iii)中,在所述 彩色二維條碼中識別出編碼信息模塊,則從中獲取冗余補充像素塊增加的方 式和數(shù)目信息,需同時結(jié)合該信息和彩色像素塊的對應(yīng)比特值、排列順序以 還原出矩陣式黑白二維條碼信息。
全文摘要
本發(fā)明公開了一種矩陣式彩色二維條形碼的編解碼方法,提高矩陣式二維條形碼的信息含量,包括以下步驟(i)編碼器對所描述的信息編碼得到矩陣式黑白二維條碼;(ii)所述編碼器依照比特值的對應(yīng)彩色像素塊,依次將矩陣式黑白二維條碼中多個黑白像素塊替換成彩色像素塊,并將所述彩色像素塊組成的矩陣排列成矩形形狀;(iii)解碼器通過掃描器將矩陣式彩色二維條碼掃入,根據(jù)每個像素塊的YUV分量值,通過同像素塊預(yù)定顏色的對比判斷出每個像素塊的顏色,并根據(jù)編碼時的彩色像素塊的對應(yīng)比特值和排列順序,還原出矩陣式黑白二維條碼信息;(iiii)所述解碼器解碼出矩陣式黑白二維條碼所描述的信息,完成解碼。
文檔編號G06K19/06GK101149813SQ200710136600
公開日2008年3月26日 申請日期2007年7月13日 優(yōu)先權(quán)日2007年7月13日
發(fā)明者軼 劉, 劉利章, 靜 趙 申請人:中興通訊股份有限公司