亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

二維條形碼卡及其解碼方法

文檔序號:6576326閱讀:305來源:國知局
專利名稱:二維條形碼卡及其解碼方法
技術領域
本發(fā)明涉及一種用于存儲各種經(jīng)過編碼的信息、特別是可以被附著在各種載體上的二維條形碼卡和解讀該二維條形碼的方法。
背景技術
二維條形碼是一種能被掃描識讀的圖形符號,該圖形符號可用于存儲各種經(jīng)過編碼的二進制信息,可以被附著在紙張等載體上。與其它信息存儲方式相比較,二維條形碼具有載體成本低廉,容易識讀等優(yōu)點。
常用二維條形碼編碼方式有PDF417編碼方式和QR編碼方式。
QR編碼方式生成的二維條形碼為矩陣碼,利用成矩陣排列的黑白矩陣單元格存儲信息。其識別特征為分布在圖形角上的三個“回”型符號,如圖1所示。QR矩陣碼誤識別幾率小,圖形中用于存儲有效信息的面積大,適合于采用數(shù)碼相機獲取圖像的應用場合;但是這種編碼方式生成的二維條形碼識別算法復雜,不適合于以掃描方式獲取圖像的應用場合,必須在整體條碼圖像掃描完之后才能開始進行識別。
PDF417編碼方式與QR編碼方式的類型不同,PDF417編碼方式利用相鄰的黑條和白條寬度的比例值來存儲信息,稱為條空(bar-space)比碼,它的識別特征為圖形兩側具有固定條空比的黑白間隔線條,如圖2所示。PDF417編碼方式生成的二維條形碼具有最小的誤識別幾率,特征識別算法簡單,具有最大的容錯能力(理論上最大能夠容許50%的圖像破損),對圖形的線性和非線性幾何失真具有最大的容忍度,可以適用于各種圖像獲取方式的應用場合,可以在掃描圖像的同時進行解碼;但其對圖像的質量(印刷分辨率)要求高,存儲容量相對較小(最大能夠存儲929個929進制編碼的數(shù)字),識別設備成本高。
技術方案 本發(fā)明的目的在于提供一種存儲容量大、識別運算量小、而且可以在掃描的同時進行解碼的二維條形碼卡。
本發(fā)明的另一個目的在于提供一種解讀上述二維條形碼卡中信息的方法。
本發(fā)明公開了一種二維條形碼卡,包括載體和附著在載體上的、利用矩陣格存儲信息的二維條形碼碼圖,其特征在于所述碼圖包括上邊界、左邊界、右邊界、以及位流(bit stream)區(qū);所述上邊界是位于碼圖沿走紙方向最前方的矩陣行;所述左邊界和右邊界是分別位于碼圖兩側最外沿、帶定位孔的矩陣列;所述位流區(qū)位于左右邊界之間、上邊界之下。
本發(fā)明的二維條形碼卡,還可以包括如下特征本發(fā)明可以采用一個白矩陣格做定位孔;采用一行黑矩陣格作為上邊界;分別用三列矩陣格作為左邊界和右邊界,三列矩陣格的兩側各是一列黑矩陣格,中間一列是黑矩陣格和白矩陣格組合排列。
矩陣格的邊長可以根據(jù)以下公式選取R2/R1*L>=4其中R1為在所述載體上印刷所述碼圖時的分辨率;R2為圖像傳感器讀取所述碼圖時的分辨率L為矩陣格的設計邊長。
本發(fā)明的位流區(qū)可以包括多個信息塊,每個信息塊包括多個矩陣行;信息塊中可以包含糾錯碼。
位流區(qū)中信息的排放方式可以是以行為主從上至下排列;也可以是以列為主從左至右或從右至左排列。
在載體上碼圖的左邊界之左邊和右邊界之右邊有空白區(qū)。
本發(fā)明還公開了一種二維條形碼解碼方法,將附著在載體上的、利用矩陣格存儲信息的二維條形碼碼圖恢復成二進制信息,其特征在于包括如下步驟A.探測碼圖的上邊界,計算并保存上邊界的傾斜度;B.探測碼圖的左邊界和右邊界,并根據(jù)上邊界的傾斜度估算出第一對定位孔的區(qū)域;C.在估算的區(qū)域中統(tǒng)計白像素的數(shù)量,計算出第一對定位孔的中心坐標;D.計算出第一對定位孔之間、在一條直線上間距為一個矩陣格邊長的矩陣格的中心坐標;并根據(jù)該中心坐標從圖像中讀取每個矩陣格1比特的位流信息;E.根據(jù)前一對定位孔的中心坐標以及矩陣格的邊長估計其下一對定位孔的區(qū)域,并且從中探測計算出定位孔的中心坐標;如果定位孔的中心坐標探測不成功則結束碼圖解讀,否則進入下一步F.根據(jù)該對定位孔的中心坐標計算并保存其之間的矩陣格的中心坐標;并根據(jù)所述中心坐標讀取相應位置的位流信息;G.根據(jù)保存的兩行矩陣格的中心坐標計算兩行之間的所有矩陣格的坐標,并讀取相應矩陣格的位流信息;H.回到步驟E。
本發(fā)明的二維條形碼解碼方法還可以包括以下特征在步驟C中,當白像素的個數(shù)大于(N-1)*(M-1)、小于(N+1)*(M+1)時則認為該區(qū)域內有一個有效的定位孔,其中N、M為矩陣格的兩邊之長。
在步驟D中讀出碼圖中的總行數(shù)信息,并根據(jù)所述總行數(shù)結束解碼。
每讀取(S+E)個字節(jié)信息后進行糾錯運算,輸出糾錯成功的S個字節(jié)的正確信息。
本發(fā)明的二維條形碼卡,采用簡易矩陣碼存儲各種二進制信息,與QR編碼方式生成的二維條形碼相比,識別算法簡單;可以在掃描的同時進行解碼。簡易矩陣碼采用定位孔作為識別標志,與PDF417相比同樣面積下存儲信息的面積大,提高了相同面積印刷載體的存儲容量。
本發(fā)明的簡易矩陣碼的解碼算法,可以在掃描的同時進行解碼,用定位孔作為圖形識別的定位標志,識別速度快、識別算法簡單。


本發(fā)明包括以下附圖圖1是QR編碼方式生成的一種二維條形碼碼圖;圖2是PDF417編碼方式生成的一種二維條形碼碼圖;圖3是本發(fā)明的簡易矩陣碼編碼方式生成的一種二維條形碼碼圖;圖4是應用本發(fā)明的二維條形碼卡的一個實施例的矩陣行像素排列格式;圖5是本發(fā)明的簡易矩陣碼的解碼方法。
實施例采用CIS(接觸式圖像傳感器)的掃描儀光照均勻,獲取的圖像與原圖像相比非線性失真小,獲取的圖像質量好,因此可以在二位條形碼卡上設計一種結構最大限度簡潔化的簡易矩陣碼,從而能提高相同面積印刷載體的存儲容量。本發(fā)明的二維條形碼卡包括載體和附著于載體之上的由簡易矩陣碼編碼方式生成的碼圖,一種實施例見圖3,碼圖的邊界輪廓是矩形,圖中的箭頭表示掃描閱讀二維條形碼卡時的走紙方向,設與走紙方向平行的矩陣單元組成碼圖的列,與走紙方向垂直的矩陣單元組成碼圖的行。
整個碼圖由大小相等的矩陣格組成,包括上邊界10、左邊界12、右邊界14、定位孔20以及位流(bit stream)區(qū)16。上邊界10是一行黑矩陣格。左邊界12和右邊界14都由三列矩陣格組成,這三列矩陣格的兩側分別是一列黑矩陣格,中間一列由黑白矩陣格間隔排列,其中白矩陣格即為定位孔20。在上邊界10之下、左邊界12和右邊界14之間是位流區(qū)16,位流區(qū)16用于存放有效信息,邊界行和列用于圖像識讀時起定位作用。
帶有定位孔20的矩陣列可以由如圖3所示由一個黑矩陣格和一個白矩陣格間隔排列,也可以由多個黑矩陣格和一個白矩陣格間隔排列,還可以由黑矩陣格和白矩陣格以其它組合間隔排列,都屬于本發(fā)明公開和保護的內容。
位流區(qū)16的矩陣格為信息的存儲單元,每個矩陣格存放一個比特(bit)的信息,例如黑矩陣格存儲“0”,白矩陣格存儲“1”。位流區(qū)16中信息的排放方式可以是以行為主從上至下排列,也可以是以列為主從左至右或者從右至左排列。
碼圖的長度方向和寬度方向上都包括整數(shù)個矩陣格,矩陣格可以是在行的方向和列的方向上具有相同數(shù)量像素的方格,也可以是在行的方向和列的方向上具有不相同數(shù)量像素的矩形格,其矩陣格數(shù)可根據(jù)其附著載體的大小決定,位流區(qū)的長度和寬度位也因而確定??梢愿鶕?jù)需要在位流區(qū)加入糾錯碼,糾錯碼可以按照現(xiàn)有技術設計。
如前面所述,由CIS獲取的圖像非線性失真較小,也就是說圖形內部結構的相對位置基本固定,因此從掃描獲得的圖像中準確定位矩陣圖形成為識讀矩陣的唯一重要任務,而位于碼圖兩側、處于一條水平線上的左右定位孔20正是為了達到此目的而設計的。當一對定位孔(左右各一個)被識別出來后,該行所有其它矩陣格的中心位置也就能被準確計算出來并保存,從而其位流信息即可直接獲得;根據(jù)上一對定位孔的位置就可以估計并計算出、保存其下面一對定位孔的位置,該行所有矩陣格的中心位置也就能被準確計算出來,從而上述兩行之間的矩陣格的位置及其位流信息即可根據(jù)矩陣格的邊長通過簡單的計算獲得。因此用定位孔作為圖形識別的定位標志,識別速度快、識別算法簡單、掃描和識別可以并行處理。
圖像傳感器獲取的圖像有可能存在失真,例如N*N個像素的矩陣格失真成(N+1)*(N+1)個像素、或者失真成(N-1)*(N-1)個像素的矩陣格,可見N越小相對誤差越大,當N<=3時相對誤差將很容易達到30%乃至40%。經(jīng)驗表明,當矩陣格的邊長為大于等于4個掃描像素時具有可靠的識別效果。設印刷的分辨率為R1,矩陣格的設計邊長為L個像素,圖像傳感器的分辨率為R2,則應滿足R2/R1*L>=4(平均每個矩陣格有4*4=16個像素)才能可靠的識別圖形。
每個定位孔是一個白矩陣格,其周圍有一圈同樣大小的黑矩陣格,因此在一個足夠大的區(qū)域內包括且僅僅包括一個白的小孔。統(tǒng)計該區(qū)域內的白像素的個數(shù),同時將它們的橫坐標與縱坐標分別累加,如果白像素的個數(shù)在(N-1)*(M-1)和(N+1)*(M+1)之間則認為該區(qū)域內有一個有效的定位孔,N、M為矩陣格的兩邊之長,單位是像素。定位孔的中心坐標通過上述坐標累加值分別除以白像素的個數(shù)獲得。根據(jù)上述原理,我們結合矽感科技有限公司的接觸式圖像傳感器(Contact ImageSensor)SV252A8設計了一個具有實際應用價值的方案,該方案用于將一個二進制的計算機文件存于圖形中,便通過掃描讀取再識別恢復出原二進制文件。
SV252A8的分辨率為200DPI,共有448個圖像傳感單元,它們按200DPI的點間距排成一線。為了適應硬件特性,以及最有效的提高相同載體面積上的存儲容量,我們采用的碼圖排列方式見圖4。
每個矩陣格的邊長為4個像素,傳感器兩端分別留出8個像素作為冗余像素,這樣當圖形出現(xiàn)一定偏斜時也能被圖像傳感器感應到。兩邊的定位孔以及定位孔兩側的黑矩陣格共占用12個像素,剩下的408個像素構成位流區(qū)16用于存儲二進制信息,每行有408/4=102個矩陣格,可存放二進制信息102比特。
為了簡化圖形識讀算法,可以將存放于位流區(qū)16的信息按一定格式組織。例如位流區(qū)按每二十行分為一個塊,每個塊的信息存儲容量為102bits*20/8=255 bytes。為了糾正可能出現(xiàn)的錯誤,在每255個字節(jié)中用32個字節(jié)存放由reed-solom糾錯算法(一種高性能的糾錯算法)生成的糾錯碼,因此每塊位流區(qū)的實際容量為223字節(jié),這些糾錯碼最多可以糾正255字節(jié)中的任何16字節(jié)的錯誤,糾錯比率為6.27%。位流區(qū)是整數(shù)塊(大于等于1),信息字節(jié)數(shù)不夠填滿最后一塊位流區(qū)時,可用預先定義的字節(jié)填充,在完成reed-solom糾錯運算之后將填充字節(jié)丟棄即可。
可以在位流區(qū)16的起始處占用一定的字節(jié)存放二維條形碼卡本身的特定信息例如版本號、信息的字節(jié)長度等。版本號的作用是使軟件區(qū)別不同類型的信息結構,信息的字節(jié)長度的作用是使軟件識讀了第一塊信息之后就能知道圖形的總長度,以便決定何時停止掃描圖像。
本發(fā)明的二維條形碼卡可以通過圖文掃描方式以行為單位識讀,結合簡易矩陣碼的解碼軟件即可恢復出二進制信息,簡易矩陣碼的解碼方法見圖5,包括如下步驟1.探測碼圖的上邊界10,計算并保存上邊界10的傾斜度;2.探測左邊界12和右邊界14;3.根據(jù)上邊界的位置和傾斜度、左邊界12和右邊界14的位置估算出第一對定位孔20的區(qū)域;4.在估算的定位孔20的區(qū)域中統(tǒng)計白像素的數(shù)量,當白像素的個數(shù)大于(N-1)*(N-1)、小于(N+1)*(N+1)時則認為該區(qū)域內有一個有效的定位孔,其中N為矩陣格的邊長;分別計算出左定位孔和右定位孔的中心坐標;5.因為同一行矩陣格的中心坐標在一條直線上并且間距相等,根據(jù)左定位孔和右定位孔的中心坐標和上邊界的傾斜度,計算并且保存第一行所有矩陣格的中心坐標;
6.根據(jù)第一行所有矩陣格的中心坐標從圖像中讀取相應位置的位流信息(例如像素為“黑”表示二進制信息“0”,像素為“白”表示二進制信息“1”);7.根據(jù)前一對定位孔的中心坐標以及矩陣格的邊長估計下一對定位孔的區(qū)域,并且從中探測計算出定位孔的中心坐標;如果定位孔的中心坐標探測成功則進行下面的計算,否則結束本次圖形識別;8.計算并且保存該行所有矩陣格的中心坐標(與第5步的計算方法相同);9.根據(jù)每一個矩陣格的中心坐標從圖像中讀取相應位置的位流信息;10.根據(jù)保存的兩行矩陣格的中心坐標計算兩行之間的所有矩陣格的坐標(求上下兩個矩陣格中心坐標的平均值),同時讀取相應的位流信息;11.回到第7步。
由于掃描獲得的圖像不可能與原圖像完全一致,圖像中亮度變化劇烈的地方失真會很嚴重,原圖像中方形的定位孔可能變成不規(guī)則的形狀,如果搜索方形的或類似方形的小孔算法將會比較復雜,由于采用了直接獲得矩陣格的中心坐標的做法,簡化了簡易矩陣碼的識別算法。
如果位流區(qū)16中含有糾錯碼,設每S個字節(jié)附加E個字節(jié)糾錯碼,則在每次讀取了(S+E)個字節(jié)信息后進行糾錯運算,如果糾錯成功輸出S個字節(jié)的正確信息,否則退出識別流程,也可以繼續(xù)進行識別。
權利要求
1.一種二維條形碼卡,包括載體和附著在載體上的、利用矩陣格存儲信息的二維條形碼碼圖,其特征在于所述碼圖包括上邊界(10)、左邊界(12)、右邊界(14)、以及位流(bit stream)區(qū)(16);所述上邊界(10)是位于碼圖沿走紙方向最前方的矩陣行;所述左邊界(12)和右邊界(14)是分別位于碼圖兩側最外沿、帶定位孔(20)的矩陣列;所述位流區(qū)(16)位于左右邊界之間、上邊界之下。
2.根據(jù)權利要求1所述的二維條形碼卡,其特征在于所述定位孔(20)是一個白矩陣格;所述上邊界(10)是一行黑矩陣格;所述左邊界(12)和右邊界(14)分別包括三列矩陣格,所述三列矩陣格的兩側各是一列黑矩陣格,中間一列是黑矩陣格和白矩陣格組合排列。
3.根據(jù)權利要求1或2所述的二維條形碼卡,其特征在于所述位流區(qū)(16)包括多個信息塊,所述信息塊包括多個矩陣行;所述信息塊中包含糾錯碼。
4.根據(jù)權利要求1或2所述的二維條形碼卡,其特征在于所述位流區(qū)(16)中信息的排放方式是以行為主從上至下排列;或者是以列為主從左至右或者從右至左排列。
5.根據(jù)權利要求1或2所述的二維條形碼卡,其特征在于矩陣格的邊長根據(jù)以下公式選取R2/R1*L>=4其中R1為在所述載體上印刷所述碼圖時的分辨率;R2為圖像傳感器讀取所述碼圖時的分辨率;L為矩陣格的設計邊長。
6.根據(jù)權利要求1或2所述的二維條形碼卡,其特征在于在所述載體上的所述碼圖的所述左邊界(12)之左邊和所述右邊界(14)之右邊有空白區(qū)。
7.一種二維條形碼解碼方法,將附著在載體上的、利用矩陣格存儲信息的二維條形碼碼圖恢復成二進制信息,其特征在于包括如下步驟A.探測碼圖的上邊界(10),計算并保存上邊界(10)的傾斜度;B.探測碼圖的左邊界(12)和右邊界(14),并根據(jù)上邊界(10)的傾斜度估算出第一對定位孔(20)的區(qū)域;C.在估算的區(qū)域中統(tǒng)計白像素的數(shù)量,計算出第一對定位孔(20)的中心坐標;D.計算出第一對定位孔(20)之間、在一條直線上間距為一個矩陣格邊長的矩陣格的中心坐標;并根據(jù)該中心坐標從圖像中讀取每個矩陣格1比特的位流信息;E.根據(jù)前一對定位孔(20)的中心坐標以及矩陣格的邊長估計其下一對定位孔的區(qū)域,并且從中探測計算出定位孔的中心坐標;如果定位孔的中心坐標探測不成功則結束碼圖解讀,否則進入下一步;F.根據(jù)該對定位孔的中心坐標計算并保存其之間的矩陣格的中心坐標;并根據(jù)所述中心坐標讀取相應位置的位流信息;G.根據(jù)保存的兩行矩陣格的中心坐標計算兩行之間的所有矩陣格的坐標,并讀取相應矩陣格的位流信息;H.回到步驟E。
8.根據(jù)權利要求7所述的解碼方法,其特征在于在步驟C中,當白像素的個數(shù)大于(N-1)*(M-1)、小于(N+1)*(M+1)時則認為該區(qū)域內有一個有效的定位孔,其中N、M為矩陣格的兩邊之長。
9.根據(jù)權利要求7所述的解碼方法,其特征在于在步驟D中讀出碼圖中的總行數(shù)信息,并根據(jù)所述總行數(shù)結束解碼。
10.根據(jù)權利要求7所述的解碼方法,其特征在于每讀取(S+E)個字節(jié)信息后進行糾錯運算,輸出糾錯成功的S個字節(jié)的正確信息。
全文摘要
本發(fā)明公開了一種采用定位孔作為識別標志、可以在掃描的同時進行解碼、存儲信息量大、解碼算法簡單的二維條形碼卡,包括載體和附著在載體上的、利用矩陣格存儲信息的二維條形碼碼圖,碼圖包括上邊界、帶定位孔的左邊界和右邊界、以及位流區(qū)。本發(fā)明還公開了上述碼圖的解碼方法,先計算出上邊界的位置和傾斜度,再以此為根據(jù)估計并計算出第一對定位孔的中心坐標后,即可獲得該行矩陣格的中心坐標,從圖像中讀出其位流信息;再依次根據(jù)前一對定位孔的中心坐標估計并計算出下一對定位孔的中心坐標后讀取每個矩陣格1比特的位流信息,再通過上下兩個矩陣格中心坐標來計算兩行之間的所有矩陣格的坐標,同時讀取相應的位流信息。
文檔編號G06K7/10GK1455370SQ0211519
公開日2003年11月12日 申請日期2002年4月29日 優(yōu)先權日2002年4月29日
發(fā)明者常治國 申請人:深圳矽感科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1