專利名稱:對物理圖像進(jìn)行解碼的制作方法
對物理圖像進(jìn)行解碼
背景技術(shù):
可以在一般被稱作條形碼的打印圖像中編碼有用的信息。這種條形碼可以包括由黑和白塊片(patch)的網(wǎng)格構(gòu)成的二維數(shù)據(jù)矩陣。其他條形碼(如彩色馬賽克)是三維的。三維數(shù)據(jù)矩陣可以由塊片的網(wǎng)格構(gòu)成,其中,每個塊片具有從預(yù)定調(diào)色板選擇的顏色(第三維度)??梢栽谙M(fèi)者商品的包裝上打印的這種條形碼中對識別產(chǎn)品的信息進(jìn)行編碼。可以在諸如倉庫、銷售點(diǎn)或修復(fù)設(shè)施之類的位置處掃描該條形碼,以識別產(chǎn)品和其他相關(guān)信息。在各種應(yīng)用中,可能期望在諸如數(shù)據(jù)矩陣之類的條形碼中打亂(scramble)塊片,以保護(hù)或隱藏所編碼的信息。
圖I和2是具有配置塊片和有效載荷塊片的數(shù)據(jù)矩陣條形碼的示例圖像。 圖3是根據(jù)一個實(shí)施例的其中將區(qū)域映射至有效載荷塊片的條形碼的示例圖像。圖4是根據(jù)一個實(shí)施例的其中已經(jīng)打亂有效載荷塊片的所述多個映射區(qū)域的條形碼的示例圖像。圖5示出了根據(jù)一個實(shí)施例的條形碼和該條形碼的打亂版本。圖6示出了根據(jù)一個實(shí)施例的其上有第一條形碼和對第一條形碼的模式數(shù)據(jù)進(jìn)行編碼的第二條形碼的對象。圖7示出了根據(jù)一個實(shí)施例的用于對模式數(shù)據(jù)進(jìn)行編碼的條形碼的塊片。圖8和9示出了根據(jù)各個實(shí)施例的區(qū)域模式的示例。圖10示出了根據(jù)一個實(shí)施例的示例解碼系統(tǒng)。圖11和12示出了其中可以實(shí)現(xiàn)圖10的解碼系統(tǒng)的示例環(huán)境。圖13示出了根據(jù)一個實(shí)施例的示例解碼系統(tǒng)。
圖14示出了其中可以實(shí)現(xiàn)圖13的編碼系統(tǒng)的示例環(huán)境。圖15至18是示出了實(shí)現(xiàn)各個實(shí)施例所采取的步驟的流程圖。
具體實(shí)施例方式介紹出于安全性原因,可以打亂諸如數(shù)據(jù)矩陣之類的條形碼中的塊片,以保護(hù)或以其他方式隱藏所編碼的信息。以下描述的各個實(shí)施例操作用于從具有打亂塊片的諸如數(shù)據(jù)矩陣之類的物理圖像解碼信息。在具體示例中,生成條形碼的物理圖像的數(shù)字表示。該條形碼包括多個打亂的有效載荷塊片。將多個區(qū)域映射至數(shù)字表示的有效載荷塊片。根據(jù)所定義的打亂模式來對所映射的有效載荷塊片的區(qū)域重新排序。然后,可以從重新排序的所述多個映射的區(qū)域的有效載荷塊片解碼信息。其他實(shí)施例操作用于打亂數(shù)據(jù)矩陣中的塊片。在具體示例中,在具有多個有效載荷塊片的數(shù)據(jù)矩陣條形碼的數(shù)字表示中對信息進(jìn)行編碼。將多個區(qū)域映射至數(shù)字表示中的有效載荷塊片。然后,根據(jù)所定義的打亂模式,在數(shù)字表示內(nèi)對有效載荷塊片的映射區(qū)域重新排序。產(chǎn)生數(shù)字表示的物理圖像。
數(shù)據(jù)矩陣條形碼圖I和2示意了根據(jù)實(shí)施例的具有配置塊片和有效載荷塊片的示例數(shù)據(jù)矩陣條形碼。為了在圖I中的兩種類型的塊片12和14之間進(jìn)行區(qū)分,條形碼10包括被示作實(shí)心正方形的配置塊片12和以虛線示出的有效載荷塊片14。有效載荷塊片14用于對信息進(jìn)行編碼。然而,在圖I的示例中,有效載荷塊片14是“空白的”,并且從而不對一系列I或O (視情況而定)進(jìn)行編碼。識別校準(zhǔn)塊片12,以對條形碼10進(jìn)行適當(dāng)定向和定標(biāo),從而按正確的順序識別和讀取有效載荷塊片14。在條形碼10是彩色數(shù)據(jù)矩陣的情況下,配置塊片12還可以用于顏色校準(zhǔn)。移動至圖2的示例,數(shù)據(jù)矩陣條形碼16包括配置塊片18和有效載荷塊片20。將有效載荷塊片20劃分為實(shí)心塊片20a和空白或白塊片20b。黑和白有效載荷塊片20a和20b中的每一個表示比特,即O或I。當(dāng)按所設(shè)計的順序讀取時,所得到的比特串可以例如表示諸如文本、數(shù)字、或查找代碼或者其任何組合之類的信息。在有效載荷塊片是顏色的調(diào)色板的塊片的情況下,每個有效載荷塊片可以表示兩個或更多個比特。例如對于具有八個顏色的調(diào)色板,每個有效載荷塊片可以表示三個比特。區(qū)域映射為了打亂數(shù)據(jù)矩陣,將多個區(qū)域映射至有效載荷塊片,如圖3的示例中 所示。然后,重新排序或打亂所映射的區(qū)域,如圖4的示例中所示。以圖3開始,示出條形碼16,其中區(qū)域A至P被映射至有效載荷塊片20a和20b。所使用的術(shù)語區(qū)域是指具有特定形狀、大小和取向的邊界。在圖3和4的示例中,每個區(qū)域被示作包圍有九個有效載荷塊片20a和20b的大小的正方形。然而,區(qū)域可以具有任何數(shù)目的形狀、大小和取向之一,如以下關(guān)于圖8和9所討論的。短語“映射區(qū)域”包含被映射至特定區(qū)域的有效載荷塊片。因此,在圖3中,以從上至下然后從左至右走向的模式順序地組織有效載荷塊片20a和20b的映射區(qū)域A至P,使得可以讀取有效載荷塊片20a和20b以對信息進(jìn)行解碼。當(dāng)然,其他模式也是可能的。在圖4中,已經(jīng)根據(jù)打亂模式重新排序條形碼16’中的映射區(qū)域A至P。這里使用的短語“打亂模式”是指有效載荷塊片的映射區(qū)域的重新排序的序列。在圖4的示例中,將打亂模式識別為HEMAPLJOBIDNCKGF。當(dāng)從條形碼解碼信息時,按預(yù)定順序讀取或檢查有效載荷塊片。因此,在條形碼16’中已經(jīng)使由有效載荷塊片20a和20b編碼的信息模糊。圖5協(xié)助示意了條形碼16與具有重新排序的映射區(qū)域的條形碼16’之間的視覺差異。圖6示出了其上已經(jīng)附著有標(biāo)簽24和26的對象12。在標(biāo)簽24上形成條形碼16’,而在標(biāo)簽26上形成了條形碼28。如上所討論,已經(jīng)重新排序有效載荷塊片20a和20b的映射區(qū)域A至P。條形碼28對識別用于對映射區(qū)域進(jìn)行重新排序的打亂模式的數(shù)據(jù)進(jìn)行編碼。在圖6的示例中,條形碼28對打亂模式HEMAPLJOBIDNCKGF進(jìn)行編碼。在其他示例中,條形碼28可以對用于查找打亂模式的信息或者可以用于識別整理或以其他方式重新排序有效載荷塊片20a和20b的方式的任何其他信息進(jìn)行編碼。盡管被示作在條形碼28中被編碼為黑和白條的序列。但是也可以以諸如第二數(shù)據(jù)矩陣之類的多種方式對打亂模式進(jìn)行編碼。甚至可以在數(shù)據(jù)矩陣類型的條形碼的塊片內(nèi)對打亂模式進(jìn)行編碼。例如,可以在圖4至6所示的條形碼16’的配置塊片18內(nèi)對打亂模式進(jìn)行編碼。圖7示出了其中使用單個塊片30對打亂模式HEMAPLJOBIDNCKGF進(jìn)行編碼的實(shí)施方式。將塊片30劃分為子塊片32。每個子塊片32對打亂模式的不同部分進(jìn)行編碼。具體地,16個字符A至P可以由4個比特0000至1111表示。因此,在圖7的示例中,塊片30包括16個子塊片,其中每一個子塊片通過在該子塊片內(nèi)的指定位置處丟棄0-25%的黑色來對打亂模式的不同字符進(jìn)行編碼。在許多情況中,典型的條形碼讀取器不會辨別出諸如塊片30之類的單個塊片的這些較小特征。代替地,對打亂代碼進(jìn)行編碼的塊片可以被更高分辨率的捕獲設(shè)備(如掃描儀、近場數(shù)碼攝像機(jī)或USB顯微鏡)單獨(dú)檢查。在前述示例中,被映射至有效載荷塊片集合的每個區(qū)域具有被映射至有效載荷塊片的3乘3分組的正方形模式。一個或多個區(qū)域模式可以采取許多其他形式。具體地,組合在一起以被映射至條形碼的有效載荷塊片的任何一個或多個模式將是足夠的。圖8和9提供了示例。以圖8開始,區(qū)域模式是可以若干樣式34a至34e定向的四塊片高的“L”形。在圖9中,區(qū)域模式是也可以若干樣式36a至36e定向的兩塊片高的“L”形。一般地,區(qū)域模式限定了邊界形狀、大小和取向中的一個或多個。在圖8和9的示例中,區(qū)域模式將指定“L”形邊界、兩個高或四個高的大小、以及34a至34d、36a至36d之一的起始取向(視情況而定)。在圖6和7的示例中,使用了條形碼或其他機(jī)制來對打亂模 式進(jìn)行編碼。還可以使用相同機(jī)制來編碼或以其他方式識別區(qū)域模式。解碼系統(tǒng)圖10至12示出了充當(dāng)用于對具有多個有效載荷塊片的物理圖像進(jìn)行解碼的系統(tǒng)38的各個物理和邏輯組件。系統(tǒng)38被示作包括圖像引擎40、映射引擎42、模式引擎44、解碼引擎46、圖像數(shù)據(jù)48和模式數(shù)據(jù)50。圖像引擎40大體表示能夠生成物理圖像的數(shù)字表示的硬件和編程的任何組合。具體地,圖像引擎40負(fù)責(zé)從條形碼掃描儀接收數(shù)據(jù)并生成物理?xiàng)l形碼的數(shù)字表示(例如,圖5的數(shù)據(jù)矩陣16’)。然后,圖像引擎40可以將該數(shù)字表示保存為圖像數(shù)據(jù)48。這種數(shù)字表示可以是位像,或者其可以是“比特矩陣”。例如,在物理圖像是黑和白數(shù)據(jù)矩陣的情況下,“比特矩陣”中的每個單元將包含比特——O或I。在物理圖像是彩色或灰度數(shù)據(jù)矩陣的情況下,比特矩陣中的每個單元將表示顏色或灰度。例如,單元可以包含指示彩色塊片的三個彩色通道值或灰度塊片的單個灰度通道值的數(shù)據(jù)。備選地,數(shù)字表示可以是按所定義的順序排列的比特串,其中,每個比特或比特組表示物理圖像中的塊片。圖像引擎40還可以負(fù)責(zé)生成編碼或以其他方式識別打亂模式和區(qū)域模式之一或這兩者的第二物理圖像的第二數(shù)字表示。例如,第二物理圖像可以是第二條形碼的,或者其可以是第一數(shù)字表示的一部分——例如數(shù)據(jù)矩陣條形碼的單個塊片。然后,圖像引擎40將第二數(shù)字表示保存為模式數(shù)據(jù)50。再一次,第二數(shù)字表示可以是位像、比特矩陣或比特串O映射引擎42大體表示能夠?qū)⒍鄠€區(qū)域映射至由圖像引擎40生成的數(shù)字表示中的有效載荷塊片的硬件和編程的任何組合。在執(zhí)行其任務(wù)時,映射引擎42可以使用在模式數(shù)據(jù)50中識別的區(qū)域模式。區(qū)域模式可以是缺省的模式或者圖像引擎40所生成的物理圖像的數(shù)字表示所識別的模式。再一次,區(qū)域模式可以識別邊界形狀、大小和取向中的一個或多個。模式引擎44大體表示能夠根據(jù)打亂模式對數(shù)字表示的映射區(qū)域進(jìn)行重新排序的硬件和編程的任何組合。在執(zhí)行其任務(wù)時,模式引擎44可以使用在模式數(shù)據(jù)50中識別的打亂模式。打亂模式可以是缺省的模式或者圖像引擎40所生成的物理圖像的數(shù)字表示所識別的模式。打亂模式可以識別打亂映射區(qū)域的順序,或者相反地識別要重新排序映射區(qū)域的順序。例如,映射區(qū)域可以是位像的扇區(qū)、比特矩陣中的單元的分組、或者比特流的部分。在執(zhí)行其任務(wù)時,模式引擎44可以在需要時重新排序數(shù)字圖像的扇區(qū),重新排序比特矩陣的單元分組,或者重新排序比特流的部分。解碼引擎46大體表示能夠從重新排序的多個映射區(qū)域的有效載荷塊片解碼信息的硬件和編程的任何組合。在一個示例中,重新排序的映射區(qū)域是位像。在這種情況下,解碼引擎46檢查位像,并生成對應(yīng)的比特矩陣或比特流。然后,解碼引擎56對比特矩陣或流進(jìn)行解碼,以識別在物理圖像中編碼的信息。在另一示例中,重新排序的映射區(qū)域已經(jīng)具有比特矩陣或比特流的形式。然后,解碼引擎56直接對比特矩陣或流進(jìn)行解碼。可以在若干環(huán)境(例如,圖11的環(huán)境52)中實(shí)現(xiàn)圖10的系統(tǒng)38。環(huán)境52包括掃描儀54和計算設(shè)備56,掃描儀54和計算設(shè)備56進(jìn)行協(xié)作以從對象22上形成的物理?xiàng)l形碼16’解碼信息。掃描儀54可以集成到計算設(shè)備56中或者是分離的組件。掃描儀54大體表示能夠用于捕獲物理圖像的數(shù)字表示的任何設(shè)備。這里,掃描儀54用于捕獲條形碼16’和條形碼28的數(shù)字表示。計算設(shè)備56大體表示可分析由掃描儀54捕獲的信息以從條形碼16’解碼信息的任何設(shè)備。在一個示例中,計算設(shè)備56可以是便攜式設(shè)備,如蜂窩電話等,并且,掃描儀54可以是嵌入該便攜式設(shè)備中的數(shù)碼攝像機(jī)。在另一示例中,掃描儀54 可以是可經(jīng)由有線或無線鏈路與計算設(shè)備56進(jìn)行通信的分離的設(shè)備。這種通信還可以經(jīng)由存儲器設(shè)備(如⑶Rom或閃存卡)而實(shí)現(xiàn)。在圖11的示例中,計算設(shè)備54包括掃描儀接口 58、處理器60和存儲器62。掃描儀接口 58大體表示被配置為允許計算設(shè)備56從掃描儀54接收數(shù)據(jù)的硬件和/或編程的任何組合。例如,掃描儀接口 58可以是有線或無線通信端口。作為替代,掃描儀接口 54可以是CD Rom驅(qū)動器或存儲卡讀取器。處理器60大體表示能夠利用掃描儀接口從掃描儀54獲得數(shù)據(jù)的任何設(shè)備。處理器34還負(fù)責(zé)執(zhí)行存儲器62中存儲的程序指令。存儲器62大體表示被配置為存儲程序指令的任何存儲器,這些程序指令在被執(zhí)行時使處理器60對條形碼16’進(jìn)行分析并從條形碼16’解碼信息。存儲器62被示作包括數(shù)據(jù)64和解碼模塊66。數(shù)據(jù)64大體表示由解碼模塊66在執(zhí)行其任務(wù)時利用的數(shù)據(jù)。例如,數(shù)據(jù)64可以包括缺省打亂模式和缺省區(qū)域模式中的一個或多個。數(shù)據(jù)64還可以包括由解碼模塊66生成的條形碼16’和28的數(shù)字表示。解碼模塊66大體表示用于對物理圖像(例如,條形碼16’的物理圖像)的數(shù)字表示進(jìn)行分析并從所述數(shù)字表示解碼信息的任何編程。具體地,解碼模塊66負(fù)責(zé)與掃描儀54進(jìn)行通信,以生成條形碼16’和條形碼28的數(shù)字表示。條形碼16’的數(shù)字表示包括多個有效載荷塊片。根據(jù)數(shù)字表示的形式,這些有效載荷塊片可以由位圖的塊片、比特矩陣內(nèi)的單元或比特流的片段表示。在被執(zhí)行時,解碼模塊66通過分析條形碼28的數(shù)字表示來識別打亂模式和區(qū)域模式。備選地,解碼可以識別數(shù)據(jù)64中存儲的缺省區(qū)域或打亂代碼。解碼模塊66根據(jù)區(qū)域模式將多個區(qū)域映射至所述多個有效載荷塊片,并且然后根據(jù)打亂模式來對有效載荷塊片的映射區(qū)域進(jìn)行重新排序。解碼模塊66從有效載荷塊片的重新排序的多個映射區(qū)域解碼息?,F(xiàn)在參照圖12,可以在環(huán)境68中實(shí)現(xiàn)圖10的系統(tǒng)38。環(huán)境68包括掃描儀70和72以及計算設(shè)備74,掃描儀70和72以及計算設(shè)備74進(jìn)行協(xié)作以從物理?xiàng)l形碼16’以及條形碼16’的單獨(dú)塊片18解碼信息。掃描儀70和72可以集成到計算設(shè)備74中或者是分離的組件。掃描儀70大體表示能夠用于捕獲條形碼16’的數(shù)字表示的任何設(shè)備,而掃描儀72具有更高分辨率并能夠用于捕獲條形碼16’的單個塊片30的數(shù)字表示。計算設(shè)備74大體表示可分析由掃描儀70和72捕獲的信息以從條形碼16’解碼信息的任何設(shè)備。在圖12的示例中,計算設(shè)備74包括掃描儀接口 76、處理器78和存儲器80。掃描儀接口 76大體表示被配置為允許計算設(shè)備74從掃描儀70和72接收數(shù)據(jù)的硬件和/或編程的任何組合。例如,掃描儀接口 76可以是有線或無線通信端口。作為替代,掃描儀接口 76可以是CD Rom驅(qū)動器或存儲卡讀取器。處理器78大體表示能夠利用掃描儀接口 76從掃描儀70和72獲得數(shù)據(jù)的任何設(shè)備。處理器78還負(fù)責(zé)執(zhí)行存儲 器80中存儲的程序指令。存儲器80大體表示被配置為存儲的任何存儲器,存儲器62大體表示被配置為存儲以下程序指令的任何存儲器這些程序指令在被執(zhí)行時使處理器78對條形碼16’進(jìn)行分析并從條形碼16’解碼信息。存儲器80被示作包括數(shù)據(jù)82和解碼模塊84。數(shù)據(jù)82大體表示由解碼模塊66在執(zhí)行其任務(wù)時利用的數(shù)據(jù)。例如,數(shù)據(jù)82可以包括缺省打亂模式和缺省區(qū)域模式中的一個或多個。數(shù)據(jù)82還可以包括由解碼模塊84生成的條形碼16’和塊片18的數(shù)字表示。解碼模塊84大體表示用于對物理圖像(例如,條形碼16’的物理圖像)的數(shù)字表示進(jìn)行分析并從所述數(shù)字表示解碼信息的任何編程。具體地,解碼模塊84負(fù)責(zé)與掃描儀70進(jìn)行通信以生成條形碼16’的數(shù)字表示并與掃描儀72進(jìn)行通信以生成塊片18的數(shù)字表示。條形碼16’的數(shù)字表示包括多個有效載荷塊片。根據(jù)數(shù)字表示的形式,這些有效載荷塊片可以由位圖的塊片、比特矩陣內(nèi)的單元或比特流的片段表示。在被執(zhí)行時,解碼模塊84通過分析塊片18的數(shù)字表示來識別打亂模式和區(qū)域模式之一或這兩者。然后,解碼模塊84根據(jù)區(qū)域模式將多個區(qū)域映射至該多個有效載荷塊片,并且然后根據(jù)打亂模式來對有效載荷塊片的映射區(qū)域進(jìn)行重新排序。然后,解碼模塊84可以從有效載荷塊片的重新排序的多個映射區(qū)域解碼信息。編碼系統(tǒng)圖13至14示出了充當(dāng)用于編碼打印在多個有效載荷塊片中對信息進(jìn)行編碼的物理圖像的系統(tǒng)86的各個物理和邏輯組件。系統(tǒng)86被示作包括編碼引擎88、映射引擎90、模式引擎92、打印引擎102、模式數(shù)據(jù)96和圖像數(shù)據(jù)98。編碼引擎88大體表示能夠生成具有對信息進(jìn)行編碼的多個有效載荷塊片的條形碼的數(shù)字表示的硬件和編程的任何組合。然后,編碼引擎88可以將該數(shù)字表示保存在圖像數(shù)據(jù)98中。這種數(shù)字表示可以是位像、或比特矩陣、或比特流。例如,在物理圖像要被打印為黑和白數(shù)據(jù)矩陣的情況下,比特矩陣中的每個單元將包含比特——O或I。在要打印的物理圖像為彩色或灰度數(shù)據(jù)矩陣的情況下,比特矩陣中的每個單元將包含指示彩色通道值或灰度通道值的數(shù)據(jù)。備選地,數(shù)字表示可以是按所定義的順序排列的比特串,其中,每個比特或比特組表示要打印的物理圖像中的塊片。編碼引擎88還可以負(fù)責(zé)生成對打亂模式和區(qū)域模式之一或這兩者進(jìn)行編碼或識別的要打印的第二物理圖像的第二數(shù)字表示。例如,第二數(shù)字表示可以是要打印的第二條形碼的,或者其可以是對第一數(shù)字表示的一部分(例如數(shù)據(jù)矩陣的單個塊片)的更改。然后,編碼引擎88將第二數(shù)字表示保存在圖像數(shù)據(jù)98中。區(qū)域和打亂模式可以是缺省的模式或者可以另外由模式數(shù)據(jù)96識別。再一次,第二數(shù)字表示可以是位像、比特矩陣或比特串O
映射引擎90大體表示能夠?qū)⒍鄠€區(qū)域映射至由編碼引擎88生成的數(shù)字表示中的有效載荷塊片的硬件和編程的任何組合。在執(zhí)行其任務(wù)時,映射引擎90可以使用在模式數(shù)據(jù)96中識別的區(qū)域模式。區(qū)域模式可以識別邊界形狀、大小和取向中的一個或多個。模式引擎92大體表示能夠根據(jù)打亂模式在數(shù)字表示內(nèi)對有效載荷塊片的映射區(qū)域進(jìn)行重新排序從而使得編碼信息模糊的硬件和編程的任何組合。在執(zhí)行其任務(wù)時,模式引擎92可以使用在模式數(shù)據(jù)50中識別的打亂模式。打亂模式可以識別要打亂映射區(qū)域的順序,或者相反地識別稍后整理映射區(qū)域的順序。映射區(qū)域可以是位像的扇區(qū)、比特矩陣中的單元的分組、或者比特流的部分。在執(zhí)行其任務(wù)時,模式引擎92可以在需要時重新排序數(shù)字圖像的扇區(qū),重新排序比特矩陣的單元分組,或者重新排序比特流的部分。打印引擎94大體表示能夠產(chǎn)生物理圖像的硬件和編程的任何組合。具體地,打印引擎94負(fù)責(zé)產(chǎn)生包含有效載荷塊片的重新排序的映射區(qū)域的條形碼的物理圖像。打印引擎94還負(fù)責(zé)產(chǎn)生對打亂模式和區(qū)域模式之一或這兩者進(jìn)行編碼的第二條形碼的物理圖像。 可以在若干環(huán)境(例如,圖14的環(huán)境100)中實(shí)現(xiàn)圖13的系統(tǒng)89。環(huán)境100包括打印機(jī)102和計算設(shè)備104,打印機(jī)102和計算設(shè)備104進(jìn)行協(xié)作以產(chǎn)生條形碼16’和條形碼28的物理圖像。打印機(jī)102可以集成到計算設(shè)備104中或者是分離的組件。打印機(jī)102大體表示能夠打印物理圖像的任何設(shè)備。這里,打印機(jī)102用于打印條形碼16’和28。計算設(shè)備104大體表示生成可由打印機(jī)102打印的條形碼16’和28的數(shù)字表示的任何設(shè)備。在圖14的示例中,計算設(shè)備104包括打印機(jī)接口 106、處理器108和存儲器110。打印機(jī)接口 106大體表示被配置為允許計算設(shè)備104向打印機(jī)102傳送打印指令的硬件和/或編程的任何組合。例如,打印機(jī)接口 106可以是有線或無線通信端口、⑶Rom驅(qū)動器或存儲卡讀取器。處理器108大體表示能夠利用打印機(jī)接口 106向打印機(jī)102傳送數(shù)據(jù)的任何設(shè)備。處理器108還負(fù)責(zé)執(zhí)行存儲器110中存儲的程序指令。存儲器110大體表示被配置為存儲以下程序指令的任何存儲器這些程序指令在被執(zhí)行時使處理器108生成并傳送打印指令以讓打印機(jī)102打印條形碼16’和28。存儲器110被示作包括數(shù)據(jù)112和編碼模塊114。數(shù)據(jù)112大體表示由編碼模塊66在執(zhí)行其任務(wù)時利用的數(shù)據(jù)。例如,數(shù)據(jù)112可以包括缺省打亂模式和缺省區(qū)域模式中的一個或多個。數(shù)據(jù)112還可以包括由編碼模塊112生成的條形碼16’和28的數(shù)字表示。編碼模塊114大體表示用于生成要打印的物理圖像(例如,條形碼16’和28)的數(shù)字表示的任何編程。條形碼16’的數(shù)字表示包括多個有效載荷塊片。根據(jù)數(shù)字表示的形式,這些有效載荷塊片可以由位像的塊片、比特矩陣內(nèi)的單元或比特流的片段表示。在被執(zhí)行時,編碼模塊114生成對打亂模式和區(qū)域模式之一或這兩者進(jìn)行編碼的物理圖像的數(shù)字表示。編碼模塊114還生成包含對期望信息進(jìn)行編碼的有效載荷塊片的條形碼的物理圖像的數(shù)字表示。編碼模塊114基于區(qū)域模式將多個區(qū)域映射至該多個有效載荷塊片,并且然后根據(jù)打亂模式來重新排序或打亂有效載荷塊片的映射區(qū)域。編碼模塊114傳送供打印機(jī)102在產(chǎn)生物理圖像16’和28時使用的打印指令。操作圖15至18是實(shí)現(xiàn)各個實(shí)施例所采取的步驟的示例流程圖。在討論圖15至18時,參照圖3至14的圖來提供上下文示例。然而,實(shí)施方式不限于這些示例。圖15和16涉及對物理圖像進(jìn)行解碼所采取的步驟。以圖15開始,生成物理圖像的數(shù)字表示(步驟116)。物理圖像包括多個有效載荷塊片。例如,步驟116可以由如在圖11或12中所實(shí)現(xiàn)的圖10的圖像引擎40完成。如前所述,例如,數(shù)字表示可以是物理圖像的比特流表示、位像或比特矩陣。將多個區(qū)域映射至數(shù)字表示中的該多個有效載荷塊片(步驟118)。例如,步驟118可以由如在圖11或12中所實(shí)現(xiàn)的圖10的映射引擎42完成。圖3、4、8和9示出了其中將區(qū)域映射至有效載荷塊片的示例。根據(jù)打亂模式來對有效載荷塊片的該多個映射區(qū)域重新排序(步驟120)。例如,步驟120可以由如圖11或12中所實(shí)現(xiàn)的圖10的模式引擎44完成。如前所述,打亂模式可以識別打亂映射區(qū)域的順序,或者相反地識別要整理映射區(qū)域的順序??梢砸阎蛱峁┐騺y模式。例如,可以將打亂模式與條形碼或其他物理圖像辨別開,如圖6、7、11、12和14的示例中所示。然后,從有效載荷塊片的重新排序的該多個映射區(qū)域解碼信息(步驟122)。例如,步驟122可以由如圖11或12中所實(shí)現(xiàn)的圖10的解碼引擎46完成。移動至圖16,生成第一圖像的第一數(shù)字表示(步驟124)。第一物理圖像包括多個 有效載荷塊片。生成第二物理圖像的第二數(shù)字圖像(步驟126)。例如,步驟124和126可以由如圖11或12中所實(shí)現(xiàn)的圖10的圖像引擎40完成。如前所述,例如,第一和第二數(shù)字表示可以是物理圖像的比特流表示、位像或比特矩陣。根據(jù)第二數(shù)字表示來識別區(qū)域模式和打亂模式之一或這兩者(步驟128)。根據(jù)區(qū)域模式將多個區(qū)域映射至數(shù)字表示中的該多個有效載荷塊片(步驟130)。例如,步驟128和130可以由如圖11或12中所實(shí)現(xiàn)的圖10的映射引擎42完成。圖3、4、8和9示出了其中將區(qū)域映射至有效載荷塊片的示例。根據(jù)打亂模式來重新排序有效載荷塊片的該多個映射區(qū)域(步驟132)。例如,步驟132可以由如圖11或12中所實(shí)現(xiàn)的圖10的模式引擎44完成。如前所述,打亂模式可以識別打亂映射區(qū)域的順序,或者相反地識別要整理映射區(qū)域的順序。然后,從有效載荷塊片的重新排序的該多個映射區(qū)域解碼信息(步驟134)。例如,步驟134可以由如圖11或12中所實(shí)現(xiàn)的圖10的解碼引擎46完成。圖17和18涉及對物理圖像進(jìn)行編碼所采取的步驟。以圖17開始,在具有多個有效載荷塊片的條形碼的數(shù)字表示中對信息進(jìn)行編碼(步驟136)。例如,步驟136可以由如圖14中所實(shí)現(xiàn)的圖13的編碼引擎88完成。如前所述,例如,數(shù)字表示可以是條形碼的比特流表示、位像或比特矩陣。將多個區(qū)域映射至數(shù)字表示中的該多個有效載荷塊片(步驟138)。例如,步驟118可以由如圖14中所實(shí)現(xiàn)的圖13的映射引擎90完成。圖3、4、8和9示出了其中將區(qū)域映射至有效載荷塊片的示例。根據(jù)打亂模式來重新排序有效載荷塊片的該多個映射區(qū)域(步驟140)。例如,步驟140可以由如圖11或12中所實(shí)現(xiàn)的圖10的模式引擎44完成。如前所述,打亂模式可以識別要打亂映射區(qū)域的順序,或者相反地識別稍后要整理映射區(qū)域的順序??梢砸阎蛱峁┐騺y模式。然后,產(chǎn)生條形碼的物理圖像(步驟142)。例如,步驟142可以由如圖14中所實(shí)現(xiàn)的圖13的打印引擎94完成。移動至圖18,在具有多個有效載荷塊片的第一條形碼的第一數(shù)字表示中對信息進(jìn)行編碼(步驟144)。在第二條形碼的第二數(shù)字表示中對區(qū)域模式和打亂模式之一或這兩者進(jìn)行編碼(步驟146)。例如,步驟144和146可以由如圖14中所實(shí)現(xiàn)的圖13的編碼引擎88完成。如前所述,例如,第一和第二數(shù)字表示可以是條形碼的比特流表示、位像或比特矩陣。根據(jù)區(qū)域模式將多個區(qū)域映射至第一數(shù)字表示中的該多個有效載荷塊片(步驟146)。例如,步驟146可以由如圖14中所實(shí)現(xiàn)的圖13的映射引擎90完成。圖3、4、8和9示出了其中將區(qū)域映射至有效載荷塊片的示例。根據(jù)打亂模式來重新排序有效載荷塊片的該多個映射區(qū)域(步驟148)。例如,步驟148可以由如圖11或12中所實(shí)現(xiàn)的圖10的模式引擎44完成。如前所述,打亂模式可以識別要打亂映射區(qū)域的順序,或者相反地識別稍后要整理映射區(qū)域的順序。然后,產(chǎn)生第一和第二條形碼的物理圖像(步驟152)。例如,步驟152可以由如圖14中所實(shí)現(xiàn)的圖13的打印引擎94完成。結(jié)論圖I至9的圖示出了條形碼的各個示例。然而,實(shí)施方式不限于所示的特定 類型的條形碼。圖10至14示出了各個實(shí)施例的架構(gòu)、功能和操作。圖10至14所示的各個組件被至少部分地定義為程序。每個這種組件、其部分或其各種組合可以整體或部分地表示代碼部分、片段或模塊,該代碼包括用于實(shí)現(xiàn)任何(一個或多個)指定邏輯功能的一個或多個可執(zhí)行指令。每個組件或其各種組合可以表示用于實(shí)現(xiàn)(一個或多個)指定邏輯功能的電路或若干互連電路。此外,本發(fā)明可以體現(xiàn)在任何計算機(jī)可讀介質(zhì)中以供指令執(zhí)行系統(tǒng)(例如基于計算機(jī)/處理器的系統(tǒng)或ASIC (專用集成電路))或者可從計算機(jī)可讀介質(zhì)取得或獲得邏輯并執(zhí)行其中包含的指令的其他系統(tǒng)使用或者結(jié)合這些系統(tǒng)使用?!坝嬎銠C(jī)可讀介質(zhì)”可以是可包含、存儲或維持供指令執(zhí)行系統(tǒng)使用或結(jié)合指令執(zhí)行系統(tǒng)使用的程序和數(shù)據(jù)的任何介質(zhì)。計算機(jī)可讀介質(zhì)可以包括許多物理介質(zhì)(諸如例如電子、磁、光、電磁或半導(dǎo)體介質(zhì))中的任一個。合適的計算機(jī)可讀介質(zhì)的更具體示例包括但不限于便攜式磁計算機(jī)盤(如軟盤或者硬盤驅(qū)動器)、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器或便攜式緊致盤。盡管圖15至18的流程圖示出了特定執(zhí)行順序,但是執(zhí)行順序可以與所示的順序不同。例如,可以相對于所示的順序打亂兩個或更多個框的執(zhí)行順序。此外,可以同時或部分同時地執(zhí)行接續(xù)示出的兩個或更多個框。所有這些變型處于本發(fā)明的范圍內(nèi)。已經(jīng)參照以上示例實(shí)施例示出和描述了本發(fā)明。然而應(yīng)當(dāng)理解,在不脫離在以下權(quán)利要求中限定的本發(fā)明的精神和范圍的前提下,可以設(shè)計其他形式、細(xì)節(jié)和實(shí)施例。
權(quán)利要求
1.一種用于對具有多個有效載荷塊片的物理圖像進(jìn)行解碼的方法,包括 生成所述物理圖像的數(shù)字表示; 將多個區(qū)域映射至所述數(shù)字表示中的所述多個有效載荷塊片; 根據(jù)打亂模式來重新排序有效載荷塊片的所述多個映射區(qū)域; 從重新排序的所述多個映射區(qū)域的有效載荷塊片解碼信息。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述物理圖像是第一物理圖像,以及所述數(shù)字表示是第一數(shù)字表示,所述方法還包括 生成第二物理圖像的第二數(shù)字表示;以及 根據(jù)所述第二數(shù)字表示來識別所述打亂模式。
3.根據(jù)權(quán)利要求2所述的方法,其中,生成第二數(shù)字表示包括生成第二物理圖像的第二數(shù)字表示,所述第二物理圖像是所述第一物理圖像的一部分。
4.根據(jù)權(quán)利要求I所述的方法,其中,映射包括根據(jù)區(qū)域模式,將所述多個區(qū)域映射至所述數(shù)字表示的所述多個有效載荷塊片,其中,所述區(qū)域模式針對所述多個區(qū)域中的每一個至少間接定義了邊界形狀、邊界大小和邊界取向中的一個或多個。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述物理圖像是第一物理圖像,以及所述數(shù)字表示是第一數(shù)字表示,所述方法還包括 生成第二物理圖像的第二數(shù)字表示;以及 根據(jù)所述第二數(shù)字表示來識別所述打亂模式和所述區(qū)域模式之一或這兩者。
6.一種計算機(jī)可讀介質(zhì),其具有在被執(zhí)行時使處理器實(shí)現(xiàn)方法的指令,所述方法包括 生成物理圖像的數(shù)字表示,所述物理圖像具有多個有效載荷塊片; 將多個區(qū)域映射至所述數(shù)字表示中的所述多個有效載荷塊片; 根據(jù)打亂模式來重新排序所述數(shù)字表示的所述多個映射區(qū)域; 從重新排序的所述多個映射區(qū)域的有效載荷塊片解碼信息。
7.根據(jù)權(quán)利要求6所述的計算機(jī)可讀介質(zhì),其中,所述物理圖像是第一物理圖像,以及所述數(shù)字表示是第一數(shù)字表示,所述方法還包括 生成第二物理圖像的第二數(shù)字表示;以及 根據(jù)所述第二數(shù)字表示來識別所述打亂模式。
8.根據(jù)權(quán)利要求7所述的計算機(jī)可讀介質(zhì),其中,生成第二數(shù)字表示包括生成第二物理圖像的第二數(shù)字表示,所述第二物理圖像是所述第一物理圖像的一部分。
9.根據(jù)權(quán)利要求6所述的計算機(jī)可讀介質(zhì),其中,映射包括根據(jù)區(qū)域模式,將所述多個區(qū)域映射至所述數(shù)字表示的所述多個有效載荷塊片,其中,所述區(qū)域模式針對所述多個區(qū)域中的每一個至少間接定義了邊界形狀、邊界大小和邊界取向中的一個或多個。
10.根據(jù)權(quán)利要求9所述的計算機(jī)可讀介質(zhì),其中,所述物理圖像是第一物理圖像,以及所述數(shù)字表示是第一數(shù)字表示,所述方法還包括 生成第二物理圖像的第二數(shù)字表示;以及 根據(jù)所述第二數(shù)字表示來識別所述打亂模式和所述區(qū)域模式之一或這兩者。
11.一種從具有多個有效載荷塊片的物理圖像解碼信息的系統(tǒng),包括 圖像引擎,其在操作中用于生成所述物理圖像的數(shù)字表示;映射引擎,其在操作中用于將多個區(qū)域映射至所述數(shù)字表示中的所述多個有效載荷塊片; 模式引擎,其在操作中用于根據(jù)打亂模式來重新排序所述數(shù)字表示的所述多個映射區(qū)域; 解碼引擎,其在操作中用于從重新排序的所述多個映射區(qū)域的有效載荷塊片解碼信肩、O
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中 所述物理圖像是第一物理圖像,以及所述數(shù)字表示是第一數(shù)字表示; 所述圖像引擎還在操作中用于生成第二物理圖像的第二數(shù)字表示;以及 所述模式引擎在操作中用于根據(jù)所述第二數(shù)字表示來識別所述打亂模式。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述圖像引擎在操作中用于通過生成第二物理圖像的第二數(shù)字表示來生成第二數(shù)字表示,所述第二物理圖像是所述第一物理圖像的一部分。
14.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述映射引擎在操作中用于根據(jù)區(qū)域模式將所述多個區(qū)域映射至所述數(shù)字表示的所述多個有效載荷塊片,其中,所述區(qū)域模式針對所述多個區(qū)域中的每一個定義了邊界形狀、邊界大小和邊界取向中的一個或多個。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中 所述物理圖像是第一物理圖像,以及所述數(shù)字表示是第一數(shù)字表示; 所述圖像引擎在操作中用于生成第二物理圖像的第二數(shù)字表示;以及所述模式引擎在操作中用于根據(jù)所述第二數(shù)字表示來識別所述打亂模式和所述區(qū)域模式之一或這兩者。
全文摘要
一種用于從具有多個有效載荷塊片的物理圖像解碼信息的方法,包括生成物理圖像的數(shù)字表示。將多個區(qū)域映射至數(shù)字表示中的該多個有效載荷塊片。識別打亂模式,并根據(jù)所識別的打亂模式來重新排序數(shù)字表示的該多個映射區(qū)域。從重新排序的所述多個映射區(qū)域的有效載荷塊片解碼信息。
文檔編號G06K7/10GK102804203SQ200980160901
公開日2012年11月28日 申請日期2009年6月11日 優(yōu)先權(quán)日2009年6月11日
發(fā)明者S.J.辛斯克, G.亞當(dāng)斯 申請人:惠普開發(fā)有限公司