專利名稱:帶有編碼數(shù)據(jù)的記錄體的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般性地涉及包含機(jī)器可讀的數(shù)據(jù)與圖象兩者的表示的記錄體,而更具體地涉及諸如駕駛證、簽證、票證或持券人債券等記錄體,其中的圖象(諸如照片等)是以類似于涉及該圖象或記錄體的數(shù)據(jù)的方式涂覆或表示的。
當(dāng)前,有許多記錄體兼含諸如照片等圖象及諸如文本等數(shù)據(jù)。護(hù)照、簽證及駕駛證包含所有者的照片及關(guān)于這些記錄體的使用的數(shù)據(jù)。一本護(hù)照上記有旅行者身份的信息。一張簽證上記有關(guān)于持證人的訪問目的的信息。一張駕駛證記有關(guān)于持有者的駕駛限制的信息。
其它記錄體也有諸如畫面等圖象及不同種類的數(shù)據(jù)。例如,某些債券可有象喬治·華盛頓那樣的特殊人物的照片以及有關(guān)該債券的數(shù)據(jù)。其它記錄體,諸如股票等,也有類似的圖象與數(shù)據(jù)。
當(dāng)前,在這些記錄體上的數(shù)據(jù)與圖象是分開的。未曾有過以改進(jìn)記錄體的質(zhì)量的方式將數(shù)據(jù)與圖象互相關(guān)連在一起的技巧。這種改進(jìn)能用于減少偽造,而偽造是使用照片作為身份證明的記錄體及使用特殊畫面的記錄體的普遍問題。
在將圖象與數(shù)據(jù)結(jié)合過程中,將數(shù)據(jù)編碼成離開適當(dāng)?shù)慕獯a機(jī)器便難于理解其信息也是有利的。這將進(jìn)一步遏止偽造。
同時還存在著充分的理由要求將數(shù)據(jù)編碼成能夠?qū)⒋罅康男畔⒂涗浽谟涗涹w上的一種格式。例如,對于用照片作為身份證明的那些記錄體,記錄體上的信息可包含關(guān)于該記錄體的持有者的進(jìn)一步的辨認(rèn)信息,諸如眼睛的顏色、發(fā)色、身高、體重等。這時,如果將一張新的照片插在正當(dāng)?shù)恼掌厦?,這些信息將與該新照片不符而偽造將被識破。
使得偽造更為困難的另一種方法是將編碼信息放置在畫面上。如果這樣做了,對畫面的任何替換或涂改同時消除或改變了某些辨認(rèn)信息。
然而,這樣做存在著一些問題。覆蓋在上面的信息有可能使得照片失真或模糊不清,從而難于使用照片來進(jìn)行辨認(rèn)。此外,照片的亮區(qū)與暗區(qū)可使信息失真,使信息難于讀取。
對于具有畫面圖象的記錄體,問題不在于辨認(rèn)而在于防止多次償還。在這些情況中,如果記錄體上的數(shù)據(jù)包含有關(guān)記錄體的狀態(tài)的信息而使多次償還能被測出,則偽造便可識破。為使多次償還更加困難,將信息進(jìn)行編碼并使用畫面作為一種后備安全描施是有利的。當(dāng)前,這一點尚未做到。
因此,本發(fā)明的目的之一為提供一種帶有圖形圖象連同驗證或鑒別該記錄體的編碼信息的記錄體。
本發(fā)明的另一目的為提供這種信息而基本上還使圖形圖象失真。
本發(fā)明的又一目的為提供一種帶有圖形與編碼信息的記錄體,使得能夠容易地識破放置在記錄體上的信息中的任何改動。
本發(fā)明的另一個目的為以將編碼信息結(jié)合在圖象中的方式在記錄體上提供圖形圖象編碼信息。
本發(fā)明的其它目的與優(yōu)點一部分將在下面的說明中提出而一部分則是從說明中顯而易見的,或者可以通過實踐本發(fā)明而理解。本發(fā)明的優(yōu)點可通過所附權(quán)利要求書中所具體指明的手段與組合得到實現(xiàn)與完成。
為達(dá)到這些目的并根據(jù)這里所體現(xiàn)與概括地描述的發(fā)明意圖,根據(jù)本發(fā)明的一個記錄體包含一個圖象部分,該部分包含一個圖形圖象,以及一個信息部分,該部分包含以一種機(jī)器可讀的格式編碼的數(shù)據(jù)。該格式至少包括相鄰的兩行碼字,每一個碼字至少表示一種標(biāo)記模式。
更具體地,記錄體的信息部分可覆蓋圖形圖象而并不使之模糊,并且該機(jī)器可讀格式是能夠糾錯的,并且即使在圖形圖象使這些數(shù)據(jù)失真的情況下也能夠容許復(fù)原這些信息。
另外,這些碼字可包含在信息部分中的多個信息字,及圖象部分中的多個圖象字,每一碼字包含一種標(biāo)記圖形,而所有圖象字的標(biāo)記圖形表示該圖形圖象。
包含在說明書中并構(gòu)成說明書的一個部分的附圖示出了本發(fā)明的實施例,并且與總體說明一起解釋本發(fā)明的原理。
圖1A是帶有覆蓋一張照片的一個二維條碼的駕駛證的圖;
圖1B是一張既有數(shù)據(jù)字又有圖象字的持券人債券的一個部分的圖;
圖1C是經(jīng)過修改以反映一次償還后的圖1B中的持券人債券的圖;
圖1D是圖1B中的持券人債券的一個部分的放大圖;
圖2是展示PDF417中的一個碼字的一個實例的圖;
圖3是展示一個PDF417符號的總體結(jié)構(gòu)的圖;
圖4是列出PDF417中一個給定的安全級上的糾錯碼字的數(shù)目的表;
圖5是用于印刷與讀取包含一個圖象的碼的一個系統(tǒng)的框圖;
圖5A是用于讀取、修正與重印一個記錄體或一個標(biāo)簽的一個系統(tǒng)的框圖;
圖6是圖5中的系統(tǒng)的一個編碼裝置的透視圖;
圖7是圖5中的系統(tǒng)的一個識別裝置的透視圖;
圖8是一臺數(shù)據(jù)錄入設(shè)備與閱讀器的透視圖,其中可輸入一個鍵來加密或解密數(shù)據(jù);
圖9是用于解碼一個二維條碼符號時低級解碼器所執(zhí)行的步驟的流程圖;
圖10是用于確定正在掃描的符號的尺寸與安全級時低級解碼器所執(zhí)行的步驟的流程圖;
圖11是用于在一條數(shù)據(jù)掃描線中搜索一個起始或一個終止圖形時低級解碼器所執(zhí)行的步驟的流程圖;
圖12是展示一個碼字的“t序列”所使用的各種寬度大小的圖;
圖13是用于將一條數(shù)據(jù)掃描線解碼成碼字值與它們的群集號的一個矢量時低級解碼器所執(zhí)行的步驟的流程圖;
圖14A、14B與14C是示出一個碼字矢量的例子的圖;
圖15是用于從掃描線數(shù)據(jù)中解碼一個獨立的碼字值及其群集號時低級解碼器所執(zhí)行的步驟的流程圖;以及圖16A與16B一起是為了使用碼字矢量更新碼字點陣該低級解碼器所執(zhí)行的步驟的流程圖。
現(xiàn)在詳細(xì)參照本發(fā)明當(dāng)前的較佳實施例,它們的實例示出在附圖中。
圖1A示出本發(fā)明的一個實施例,其中編碼信息是覆蓋在一個圖形圖象上的。圖1A中包含一個記錄體16的圖,圖中所示的為一張駕駛證,但完全可能是帶有一個包含一個圖象的區(qū)域的一張護(hù)照、簽證或其它任何記錄體。記錄體16包含一個圖形圖象17,如果是一張駕駛證的話,這將是該駕駛證的持有人的照片。
在圖象17上面覆蓋的是包含編碼信息的一個二維圖形18。圖形18中的信息最好是下面描述的PDF417二維條碼。PDF417碼的優(yōu)點是可糾錯的,它能夠復(fù)原被照片或其它圖象變形了的信息。
圖形18最好是以非常淺顏色的顏料印刷的,這種顏料不會明顯地使圖形圖象變形,另一種方法是,圖形18可以用一種對紫外線敏感但對可見光則是事實上透明的顏料來編碼。在上述兩種情況中,圖形18都要求以不使圖象模糊和變形的方式放置在圖形圖象17上。
圖形18中的信息的精確內(nèi)容對于本發(fā)明而言不是關(guān)鍵性的但最好是與記錄體16相關(guān)的。例如,這些信息可與該記錄體的持有人相關(guān)。如果記錄體16是一張駕駛證,其中的信息可指明該駕駛證的持有人不帶視力校正鏡時不允許開車。如果記錄體16是一本護(hù)照,該信息可指出該護(hù)照的持有人已經(jīng)訪問過某些國家。
信息也可以是涉及記錄體本身的。例如,簽證上的碼可指明該簽證是在某一日期期滿的旅行簽證。
將編碼信息覆蓋在照片上的優(yōu)點是,這樣一種配置使得要改變照片上的信息而不被識破十分困難。任何對信息的改動將反映出對照片的改動,而改變照片將導(dǎo)致信息的改變。
作為本發(fā)明的優(yōu)點的另一個例子,碼可以是關(guān)于照片本身的。例如,編碼信息可包含持有人的眼睛顏色、發(fā)色、性別以及身高與體重的數(shù)據(jù)。另外,數(shù)據(jù)可以是一種“面紋”(“facepriint”),其中編碼了面貌中的某些關(guān)系來辨認(rèn)持有人。
這樣一種記錄體可防止欺騙性身份證明,包括在用作身份證明的記錄體上更換照片。如果這樣做了,這一更換可能不被識破。如果在照片上放置了描述照片中的形象的編碼信息,則這種欺騙行為將大為難于實行。
記錄體16上也可具有附加的人可讀的數(shù)據(jù)20,諸如某些文字或一個印章。最好,人可讀數(shù)據(jù)不使圖形18變形或模糊。
記錄體16不一定是小件的,諸如駕駛證或護(hù)照。記錄體16也可以是帶有一個圖形圖象的大型文件,本發(fā)明的原理同樣可用于獲得這些優(yōu)點。
這種記錄體只是示例性的,其意圖并不是用來限制本發(fā)明的容許范圍。反之,具有一般知識的人顯然可以理解這一創(chuàng)造性概念可怎樣在大量的應(yīng)用中實現(xiàn)。
圖形圖象與編碼數(shù)據(jù)也可以另一種方式相互關(guān)聯(lián)。圖1B示出了一個記錄體316的一個部分,它示出為一張持券人債券,但也可以是其它東西,諸如一張股票。在圖1B中,記錄體316包含一個信息部分318,其中包含一個編碼數(shù)據(jù)的圖形,以及一個圖形圖象部分317,其中有一個特殊畫面。圖形318中的信息最好包含多個信息字,諸如下面要討論的PDF417碼中的碼字。
信息部分318可包含辨認(rèn)記錄體316的持有人的編碼數(shù)據(jù),或者可包含有關(guān)記錄體316的其它數(shù)據(jù),諸如一個唯一性的身份證碼及它在某一年度日期的值。信息部分318也可包含有關(guān)償還的數(shù)據(jù)。在本實施例中,每次償還持券人債券或者作出其它一些使用時,對區(qū)域318中的信息字及圖象部分317作細(xì)微的改動。得出一張圖1C中所示的新的記錄體316’,它具有與記錄體316的對應(yīng)區(qū)域略為不同的一個信息部分318’與一個圖象部分317’。以這一方式使用債券或其它記錄體的優(yōu)點是可以防止偽造。適當(dāng)?shù)脑O(shè)備可識破為多次償還而復(fù)制記錄體316的企圖。
企圖,在償還記錄體316時可使用這種債券的一種閱讀器,而與該閱讀器聯(lián)接的一臺中央計算機(jī)將記錄這一償還以防止同一持券人債券的重復(fù)償還。
圖1B中的圖象部分317最好由具有形成理想的明暗度的黑白相間的區(qū)域的若干圖象字組成。由這些圖象字產(chǎn)生的明暗度將呈現(xiàn)為該記錄體上的畫面。在圖1B中,圖象部分317中的畫面是喬治·華盛頓,而它最好由若干圖象字表示。在償還持券人債券316時對圖象部分317所作的改動必須是如此地細(xì)微以至幾乎不可能檢測出圖象部分317與317’之間的差別。
圖1D極為詳細(xì)地示出記錄體316或316’的一個部分320,以說明實現(xiàn)本發(fā)明的一個實施例的一種方法。部分320表示一個矩形,它包含圖象部分317或317’的左上角,及信息部分318或318’中的周圍區(qū)域。該記錄體有若干行321、322、323、324、325、326、327與328。行321與322只包含信息字。行323、324、325、326、327與328包含一序列信息字后面跟著一序列圖象字。如上所述,圖象字的明暗度表示圖象的明暗度,而信息字則包含編碼數(shù)據(jù)。
每行在其一端或兩端最好具有一個字段,指明交錯的信息字與圖象字序列的長度。信息字序列的長度可用這些字的數(shù)目表示。數(shù)據(jù)字序列的長度可用絕對長度表示。這些字段的目的是為讀取這些行的設(shè)備識別信息字,使這些設(shè)備不去解碼圖象字。這一點也可用設(shè)置在各信息字序列的起始點與終點處的起始與終止符號來達(dá)到。
行中的字段還可包含其它信息,諸如行號,以協(xié)助在記錄體316中識別所想要的位置。這一點在償還后修改記錄體時是特別重要的。
PDF417碼在討論用于編碼與解碼機(jī)器可讀的圖形格式(諸如二維條碼PDF417)的碼的方向與裝置以前,對二維條碼符號本身的結(jié)構(gòu)有所了解是重要的。
每一個PDF417符號由疊置的條形編碼的信息行組成。符號中的每一行包含一個起始圖形、若干稱作“碼字”的符號字符及一個終止圖形。一個碼字是編碼一個表示某些數(shù)字、字母或其它符號或與它們相關(guān)聯(lián)的值的基本單位。每行中的碼字集體地構(gòu)成數(shù)據(jù)列。PDF417符號中行數(shù)與數(shù)據(jù)列數(shù)都是可變的。符號至少必須有三行但可多達(dá)九十行。同樣,在每一行中的碼字或數(shù)據(jù)列的數(shù)目可從三變化至三十。
每一個PDF417碼字由17個模塊或單元構(gòu)成。每一個碼字有四個條與四個間隔。獨立的條或間隔的寬度可在一至六個模塊之間變化,但每一個碼字的組合總量永遠(yuǎn)是17個模塊。這樣,每一個碼字可由一個8位序列定義,它表示碼字中四組相同的條與間隔寬度。這稱作該碼字的“X序列”并可用序列X0,X1,…X7表示。例如,對于一個“51111125”的X序列,第一個元素是五個模塊寬,跟著五個一個模塊寬的元素,一個兩個模塊寬的元素及最后一個五個模塊寬的元素。這一實例展示在圖2中。
可能的碼字的集合進(jìn)一步劃分成三個互斥的子集,稱作“群集”。在PDF417符號中,每一行只用三個群集之一來編碼數(shù)據(jù),并且每一個群集順序地每三行重復(fù)一次。因為任何兩個相鄰的行使用不同的群集,解碼器在同一條掃描線中能夠識別來自不同的行的碼字。
一個碼字的群集號可用下列公式從其X序列中判定群集號=(X0-X2+X4-X6)mod9這里“mod9”是用9除后的余數(shù)。參見圖2中的碼字,其群集號的計算如下群集號=(5-1+1-2)mod9=3為了消除出錯概率,PDF417只使用三個群集,雖然在數(shù)學(xué)上可能有九個。這樣,每一行只使用三個群集0、3或6中之一來編碼數(shù)據(jù),同一群集順序地每三行重復(fù)一次。例如,行0碼字使用群集0,行1使用群集3,而行2使用群集6,等等。一般,群集號可以用下式從行號中確定群集號=((行號)mod3)×3在PDF417中定義了929個碼字值。這些值為0至928。每一個群集用不同的條-間隔模式提供達(dá)929個可利用的值,從而一個群集不會與另一群集混淆。
圖3是展示一個PDF417符號的整體結(jié)構(gòu)的方框圖。該符號的每一行包含一個起始圖形、一個左端行標(biāo)志碼字Li、數(shù)字碼字di或錯誤檢測/糾正碼字Ci、一個右端行標(biāo)志碼字Ri以及一個終止圖形。一行中最少有三個碼字,其中包含左端行標(biāo)志碼字、至少一個數(shù)據(jù)碼字以及右端行標(biāo)志碼字。下面要進(jìn)一步討論的右端與左端行標(biāo)志碼字協(xié)助對符號的結(jié)構(gòu)進(jìn)行同步。
起始與終止圖形識別答中的每一行的開始與結(jié)束位置。PDF417使用單一的起始與終止圖形。起始圖形或每一行的左側(cè)具有單一的模式,即X序列,“81111113”。終止圖形或每一行的右側(cè)具有單一的X序列“711311121”。
每一個符號包含一個碼字(行0中的第一個數(shù)據(jù)碼字)用于指明該符號中的碼字的總數(shù),以及至少兩個錯誤檢測碼字C0與C1。這兩個錯誤檢測碼字一起構(gòu)成一個兩個碼字長的檢驗和。
一個PDF417符號也能編碼具有錯誤糾正能力的數(shù)據(jù)。錯誤糾正能力的級別(稱作“安全級”)是由用戶選擇的,其范圍為從0至8。這意味著比如在級6上,總數(shù)為126個碼字可以丟失或者受到破壞而整個符號仍能被讀出與解碼。圖5為一張表,示出PDF417符號的安全級與錯誤糾正碼字Ci的數(shù)目之間的關(guān)系。
除了糾正丟失或受到破壞的數(shù)據(jù)(稱作“抹掉”)之外,PDF417還能從碼字的錯誤解碼中復(fù)原。由于需要兩個碼字來從一個錯誤解碼中復(fù)原,一個用于檢測錯誤另一個用于糾正錯誤,一個給定的安全級只能支持半數(shù)錯誤解碼,它們可以是未解碼的碼字。
當(dāng)PDF417格式的信息覆蓋一個圖形圖象時,這一錯誤糾正特性尤其有用。因它如上所說明的,編碼信息不得將圖象弄模糊或使之失真,用于信息的顏料必須是淺色的。這導(dǎo)致了圖形圖象會使部分編碼信息失真的可能性。如果出現(xiàn)了這種現(xiàn)象,可用PDF417二維條碼糾正錯誤。
一個PDF417符號中的行標(biāo)志碼字包含若干關(guān)鍵部分行號、行數(shù)、數(shù)據(jù)列數(shù)及安全級。然而,并不是每一個行標(biāo)志包含所有的部分。這些信息是分布在若干行中的,而這一模式每三行重復(fù)一次。在行標(biāo)志碼字中編碼這些信息的模式如下所示行0L0(行號、行數(shù))R0(行號、列數(shù))行1L1(行號、安全級)R1(行號、行數(shù))行2L2(行號、列數(shù))R2(行號、安全級)行3L3(行號、行數(shù))R3(行號、列數(shù))等等。
換言之,第一個行0的左端行標(biāo)志碼字L0包含行號(0)及在該符號中的總行數(shù)。行0的右端行標(biāo)志碼字R0包含行號(0)及在符號中的數(shù)據(jù)列的數(shù)目,等等。
將數(shù)據(jù)編碼成一個PDF417符號是一個典型的兩步過程。首先將數(shù)據(jù)轉(zhuǎn)換成表示該數(shù)據(jù)的0至928的碼字值。這稱作“高級編碼”。然后將這些值用特定的條-間隔圖形實際地表示,這稱作“低級編碼”。
編碼/解碼系統(tǒng)編碼器與解碼器在美國專利申請07/851,493號中更全面地進(jìn)行討論,在這里引用它作為參考?,F(xiàn)在參見附圖中圖5至7,圖5為用于表示與識別機(jī)器可讀的圖形圖象格式的數(shù)據(jù)或記錄體的系統(tǒng)10的方框圖。系統(tǒng)10包括一個總體上用參照數(shù)字12指示的編碼裝置,以及一個總體上用參照數(shù)字14指示的識別裝置。編碼裝置12產(chǎn)生一個記錄體16(見圖1A),例如一張帶有一張照片的駕駛證、簽證或護(hù)照。覆蓋在照片上面的是以一個二維圖形18編碼的數(shù)據(jù)。記錄體16也可包含人可讀的數(shù)據(jù)20,例如文字。記錄體16上的二維圖形18由識別裝置14識別以生成表示編碼在圖形18中的數(shù)據(jù)的輸出信號。
用輸入裝置22將要編碼進(jìn)記錄體16上的二維圖形18中的數(shù)據(jù)輸入到編碼裝置12中。輸入裝置22輸入的數(shù)據(jù)可包含要編碼進(jìn)二維圖形18中的數(shù)據(jù)以及以人可讀格式呈現(xiàn)在記錄體16上的數(shù)據(jù)。這些數(shù)據(jù)甚至還可包含照片或圖象。處理裝置24將這一數(shù)據(jù)集編碼成一個二維圖形18并生成用于控制將這些記號傳送到記錄體16上的傳送驅(qū)動信號。傳送裝置26響應(yīng)該傳送驅(qū)動信號將二維圖形18的圖象傳送到記錄體16上。傳送裝置26最好包含一臺打印機(jī),該打印機(jī)傳送淺色顏料或者紫外線敏感的顏料,如上面所說明的。
如果也要將人可讀的數(shù)據(jù)傳送到記錄體16上,則處理裝置24生成用于控制將人可讀的數(shù)據(jù)傳送到記錄體16上的第二組傳送信號。一部分或者所有編碼的數(shù)據(jù)以及人可讀的數(shù)據(jù)可以從處理裝置24的一個存儲器或其它計算機(jī)文件中傳送而不用裝置22輸入。
識別裝置14包括將記錄體16上的圖象轉(zhuǎn)換成表示該圖形記號的電信號的轉(zhuǎn)換裝置28。解碼裝置30將這些電信號解碼成解碼器輸出信號,這些信號在圖中用32指示,并且是表示編碼在圖形18中的數(shù)據(jù)的。
圖6是編碼裝置12的一個實施例的透視圖。圖6的實施例是用于示例目的的,并不意味限制本發(fā)明的范圍。在這一實施例中,圖5中的輸入裝置22以一個鍵盤32的形式示出,用于輸入字母數(shù)字型與圖形數(shù)據(jù)到編裝置12中。輸入裝置22可取鍵盤以外的其它形式,諸如用于直接從文件上掃描輸入到編碼裝置12中的數(shù)據(jù)的光學(xué)掃描裝置。
再參見圖6,圖5的處理裝置24是以一臺處理器與顯示單元34的形式示出的。鍵盤32輸入的數(shù)據(jù)被傳輸?shù)教幚砥髋c顯示單元34供存儲與處理。除了輸入數(shù)據(jù),鍵盤32還用于輸入控制命令以啟動處理器單元34的操作。
鍵盤32輸入的數(shù)據(jù)最好顯示在顯示屏36上,并在輸入一條適當(dāng)?shù)目刂泼顣r存儲的存儲器中。要編碼進(jìn)圖形18的數(shù)據(jù)存儲在處理器34的一個第一存儲器中,而如果有要以人可讀的格式傳送的數(shù)據(jù)的話,則將它們存儲在一個第二存儲器中。另一種方法是將兩種數(shù)據(jù)存儲在一個單一存儲器的獨立部分中。從鍵盤32輸入適當(dāng)?shù)目刂泼顣r,處理器單元34將第一存儲器中的數(shù)據(jù)編碼成一個二維圖形18并生成表示存儲在第一存儲器中的數(shù)據(jù)的第一傳送驅(qū)動信號,處理器單元34也生成表示存儲在第二存儲器中的數(shù)據(jù)的第二傳送驅(qū)動信號。
圖6中所示的處理器單元34是聯(lián)接到一臺打印機(jī)38的。打印機(jī)38是圖5的傳送裝置26的一種形式。打印機(jī)38響應(yīng)第一傳送驅(qū)動信號在記錄體16上傳送該二維圖形18的一個圖象,并響應(yīng)第二傳送驅(qū)動信號以人可讀的格式在記錄體16上印刷第二組數(shù)據(jù)。
現(xiàn)在參見圖7,識別裝置14包括一個讀卡機(jī)40,該讀卡機(jī)包括圖5的轉(zhuǎn)換裝置28與解碼裝置30。使用與所采用的特定數(shù)據(jù)編碼技術(shù)相對應(yīng)的適當(dāng)轉(zhuǎn)換裝置是本發(fā)明所關(guān)注的問題。
轉(zhuǎn)換裝置28可以是一個條碼閱讀器,諸如317,433與317,533號美國專利申請中所公開的那些,現(xiàn)將它們結(jié)合在這里作為參考,這種閱讀器能讀出打印機(jī)38所用的顏料。上述專利申請中所公開的閱讀器為設(shè)計成讀取一種光學(xué)編碼的二維條碼并將從該記號反射的光轉(zhuǎn)換成表示該圖形記號的電信號的開放系統(tǒng)設(shè)備。
解碼裝置30將電信號解碼成表示編碼在記錄體16中的數(shù)據(jù)的輸出信號。解碼器輸出信號從識別單元40輸出到各種輸出裝置42。圖7描繪了輸出裝置的兩個實例,一個是顯示單元44而另一個是打印機(jī)46。顯示單元44可以是任何合適的顯示器,例如液晶顯示或陰級射線管。打印機(jī)46可以是任何印刷設(shè)備,例如點陣打印機(jī)、激光打印機(jī)等。
該系統(tǒng)最大限度地利用可獲得的空間于加密數(shù)據(jù)。編碼數(shù)據(jù)的密度是這樣的,對于一個二維條碼符號,在一個大約5英寸×1/2英寸的空間中可編碼至少約1600個字符。除了緊致以外,該系統(tǒng)在信息傳輸中還提供高度安全性。
雖然在圖5-7中所示的編碼裝置12與識別裝置14是分離的設(shè)備,它們也可以是在同一設(shè)備中的。這一點在讀取與修改一個記錄體316(圖1B)時尤其有用。在這些情況中用一個單一的單元來達(dá)到兩種目的將是有益的。
圖5A示出用于圖1B中的記錄體316的一個系統(tǒng)10’的方框圖。系統(tǒng)10’包括對應(yīng)于圖5-7中所示的系統(tǒng)10的那些部件。具體地說,系統(tǒng)10’包括一個轉(zhuǎn)換裝置28’,它將來自記錄體316的編碼數(shù)據(jù)轉(zhuǎn)換成電信號,以及一個解碼裝置30’,它解碼這些信號。然后,處理裝置24’讀取這些已解碼的信號并根據(jù)某些準(zhǔn)則令傳送裝置26’印刷適當(dāng)?shù)妮敵鲂盘枌⒂涗涹w316(圖1B)修改成記錄體316’(圖1C)。
可以用多種方法確定這些細(xì)微的變化。例如,如果記錄體316是股票或者持券人債券,則處理裝置24’可以是一臺記錄償還的大型計算機(jī)或計算機(jī)網(wǎng)絡(luò)。處理裝置24’也可在解釋信息或印刷信息的同時使用輸入裝置22’接收數(shù)據(jù)。
處理裝置24’最好還包括對準(zhǔn)裝置25’,用于在記錄體316上定位選擇的區(qū)域以讀取一個印刷品。對準(zhǔn)裝置24’解釋標(biāo)識行與這些行中的特定的字的字段。雖然對準(zhǔn)裝置25’是作為處理裝置24’的一部分示出的,它也可以是在轉(zhuǎn)換裝置28’或傳送裝置26’中的一臺微處理器。
數(shù)據(jù)也可以使用一種鍵控加密算法編碼,它們只能用一個加密鍵來訪問。如圖8所示,數(shù)據(jù)輸入裝置47包含該鍵控算法,并在鍵入鍵49時,數(shù)據(jù)將以一種獨特的配置編碼成一個二維圖形模式。這一獨特的配置只能由一臺具有該獨特算法的閱讀器48讀取,并且只有在鍵入鍵49到該閱讀器時才能讀取。這樣,使用鍵控加密實施例便可提供高度的安全性。
本發(fā)明的另一個特性是使記錄體316’上的圖象為一個“數(shù)字簽名”,它是作為加密形式的PDF417條碼嵌入的。這時,建立二維數(shù)字信號的打印機(jī)將使用一種鍵控加密算法,這種算法只能用一個加密鍵來訪問。在使用具有鍵控算法的一個鍵盤或其它輸入裝置并在鍵入該鍵時,在鍵盤上作為明文輸入的數(shù)據(jù)將以一種獨特的解碼配置編碼成二維圖形模式。該獨特的模式或碼配置只能由一臺具有該算法的閱讀器讀取,并且只有在該閱讀器上鍵入相同的鍵時才能讀取。這對需要這種安全性的應(yīng)用提供了高度的安全性。
一個低級解碼器可在與主計算機(jī)分離的一臺微型計算機(jī)上運行的一個計算機(jī)程序中實施。低級解碼器最好通過一個諸如RS-232這樣的標(biāo)準(zhǔn)接口與一臺主計算機(jī)相聯(lián),這一接口將經(jīng)過解碼后的碼字值傳輸?shù)街饔嬎銠C(jī)。另一種方法是全部在硬件中實現(xiàn)低級解碼器,或者在硬件與軟件的組合中實現(xiàn),它是物理上位于掃描器自身中的或者是位于主計算機(jī)中的。
來自低級解碼器的碼字值矩陣是由一臺高級解碼器解碼成可用數(shù)據(jù)的,高級解碼器可作為在主計算機(jī)上運行的一個獨立的計算機(jī)程序?qū)崿F(xiàn)。例如,PDF417具有三種預(yù)定的模式及九種保留模式。預(yù)定的模式為Binary(二進(jìn)制)、EXC(交換)及Numeric(數(shù)字)。在Binary模式中,每一個碼字能編碼1.2字節(jié)。在EXC模式中,字母數(shù)字?jǐn)?shù)據(jù)可以雙倍密度編碼(即,每一碼字兩個字符),而在Numeric模式中,數(shù)值數(shù)據(jù)幾乎可以三倍密度壓縮。因此,主計算機(jī)112中的高級解碼器將進(jìn)一步根據(jù)模式解碼來自低級解碼器114的碼字值(0-928)以獲得符號中所體現(xiàn)的實際數(shù)據(jù)。然后,來自高級解碼器的經(jīng)過解碼的數(shù)據(jù)便可被也是在主計算機(jī)112上運行的一個用戶用應(yīng)程序所使用。
圖9為示出將一個二維條碼符號(例如PDF417)解碼成碼字值的矩陣的低級解碼器的操作序列的流程圖。序列中的各步驟是由存儲在處理器34中并由該處理器執(zhí)行的一個軟件計算機(jī)程序?qū)嵤┑摹?br>
在圖9中的第一步驟150中,低級解碼器初始化掃描器接口并啟動對符號的掃描。在這一步驟中執(zhí)行的實際功能將取決于掃描器的類型并包含各種依賴于掃描器的例程來初始化該掃描器接口并啟動掃描。
在步驟152中,低級解碼器試圖確定正在掃描的符號的尺寸與安全級。具體地說,這一步驟從左端與右端行標(biāo)志碼字中確定該符號的行數(shù)、數(shù)據(jù)列數(shù)與安全級。這些尺寸用于初始化解碼該符號的一個二維碼字矩陣及其它相關(guān)參數(shù)。矩陣中的每一個位置包含一個碼字值與一個相關(guān)的置信權(quán)值,它們是初始設(shè)置為零或空值的。如果該符號的尺寸與安全級無法確定,則中止掃描。這一步驟將在下面結(jié)合圖10更詳細(xì)地加以討論。
在圖9中繼續(xù)下去,步驟154是一個控制循環(huán)中的第一步,在這一循環(huán)中逐行掃描該二維條碼符號中的行并將碼字值填入碼字矩陣中。控制循環(huán)中的每一個步驟重復(fù)進(jìn)行直到剩留在矩陣中的不能成功地解碼的碼字的數(shù)目小到足以使矩陣的其余部分能夠使用該符號的內(nèi)在糾錯能力加以確定為止。這樣,在步驟154中,如果未能成功地解碼的碼字的數(shù)目少于該碼字根據(jù)安全級(見圖4)的糾錯能力,則使用錯誤糾正碼字嘗試對該矩陣進(jìn)行糾正。如果這種糾錯嘗試是成功的,則在步驟156退出該控制循環(huán)并在步驟158中終止掃描。否則,如果糾錯嘗試失敗,則執(zhí)行后面的步驟160-164試圖解碼其它碼字來填入矩陣中。
首先,步驟160在從存儲器的緩沖區(qū)得到的一條數(shù)據(jù)掃描線中搜索一個起始或終止圖形。如果找到了一個起始或終止圖形,則在步驟162中,該低級解碼器試圖從該掃描線中解碼盡可能多的碼字。具體地說,該數(shù)據(jù)掃描線被剖析為單個的碼字,然后將這些碼字的值與群集號放置在一個準(zhǔn)備好加入到碼字矩陣中的碼字矢量中。下面將分別結(jié)合圖11與13對步驟160與162進(jìn)行更詳細(xì)的討論。
對步驟162中所產(chǎn)生的碼字矢量進(jìn)行分析,然后在步驟164中用于更新該碼字矩陣。具體地,步驟164根據(jù)其最接近的相鄰碼字是否也已解碼賦于每一碼字值一個置信數(shù)值。根據(jù)左端或右端行標(biāo)志碼字與該碼字的對應(yīng)群號還賦于每一碼字值一個行號。如果掃描線越過了一個行邊界,碼字的群集號可用于為每一單個碼字確定其正確的行號。例如,如果一條解碼后的掃描線具有一個行號為2的左端標(biāo)志,而后隨的碼字的群集號為6、0、0、3,則將這些碼字對應(yīng)地放置在下列位置上(行2、列1);(行3、列2);(行3,列3);及(行4、列4)。以這一方法,一條單一的數(shù)據(jù)掃描線中可包含來自一行以上的碼字,隨后可將它們裝入碼字矩陣中的適當(dāng)位置中。這一步驟將在下面結(jié)合圖16A與16B更詳細(xì)的地討論。
圖10是上面圖9的步驟152中所涉及的確定一個符號的尺寸與安全級的步驟序列的更詳細(xì)的流程圖。在圖10的第一步驟170中,該低級解碼器在來自存儲器的緩沖器中得到的一條數(shù)據(jù)掃描線中搜索一個起始或終止圖形。這一步驟與圖9中的步驟160相同并將在下面結(jié)合圖11進(jìn)行更詳細(xì)的討論。
然后步驟172解碼緊鄰前一步驟中所找到的起始或終止圖形的第一個碼字。如圖3所示,這一碼字將是包含行號及行數(shù)、數(shù)據(jù)列數(shù)、符號的安全級三者之一的一個左端或者右端行標(biāo)志碼字兩者之一。如果一個起始及一個終止圖形都找到了,則對左端與右端行標(biāo)志都進(jìn)行解碼。解碼一個單個碼字的步驟序列在下面結(jié)合圖15進(jìn)一步討論。
在圖10中繼續(xù)往下,在步驟174中,從前一步驟172所確定的碼字值與群集號中抽取行標(biāo)志中所編碼的特定尺寸或安全級。例如,對于一個群集號為0的左端得標(biāo)志碼字,則從碼字值中抽取行數(shù)。
賦于每一尺寸與安全級的置信權(quán)值是初始設(shè)置為0的。步驟176-184以下述方法更新在前一步驟中所抽取的尺寸或安全級的當(dāng)前值及置信權(quán)值。首先,將特定的參數(shù)(比如行數(shù))與從前面的解碼中所獲得的行數(shù)的當(dāng)前值進(jìn)行比較。如果行數(shù)的當(dāng)前值與新解碼的值相同,如在步驟176所判定的,則在步驟178中增加賦于行數(shù)的置信權(quán)值。然而,如果當(dāng)前值與新解碼的值不同,則在步驟180中減小其置信權(quán)值。如在步驟182中所判定的,如果賦于該特定參數(shù)的置信權(quán)值減小到零以下,則在步驟184中用新解碼的值替代該當(dāng)前值并賦于該參數(shù)一個新的最小權(quán)值。
步驟186判定所有三個參數(shù),即行數(shù)、數(shù)據(jù)列數(shù)與安全級,是否都超過了一個預(yù)定的閾值。如果是這樣,則在步驟188中根據(jù)行數(shù)與列數(shù)的當(dāng)前值初始化該二維碼字矩陣??杉m正的錯誤的數(shù)目也可按照圖4中的表從安全級的當(dāng)前值中確定。然而,如果在步驟186中并非所有三個置信權(quán)值都超過閾值,則程序控制返回到步驟170開始在一條新的掃描線中搜索起始與終止圖形。重復(fù)步驟170-184直到所有三上參數(shù)都已經(jīng)從高置信度成功地完成解碼為止。
圖11為更詳細(xì)地示出的上面圖9的步驟160中及圖10的步驟170中所涉及的在一條數(shù)據(jù)掃描線中搜索一個起始或終止圖形的步驟序列的流程圖。簡單地說,搜索從在存儲器的緩沖區(qū)中得到的一條數(shù)據(jù)掃描線的第一個位置開始并在順序的位置上重復(fù)進(jìn)行直到找到一個匹配圖形或者超過了該掃描線的長度為止。在找到一個匹配圖形時,在緊靠在該圖形后面或前面的一個位置上設(shè)置一個下標(biāo)用于解碼該鄰接的碼字。
如圖11所示,第一步驟200將指向掃描線中的數(shù)據(jù)元素的位置的下標(biāo)設(shè)置為“1”,指示該掃描線的第一個數(shù)據(jù)元素或整數(shù)值。這一下標(biāo)用于標(biāo)識該掃描線中的每一個八個元素序列中的第一個元素用于與起始與終止圖形進(jìn)行比較。
步驟202是從左至右在該掃描線中搜索一個起始或終止圖形的一個選代循環(huán)的第一個步驟。在這一步驟中,如果當(dāng)前下標(biāo)小于掃描線的長度,則執(zhí)行剩下的步驟并繼續(xù)搜索。然而,一旦該下標(biāo)超過了掃描線的長度,則退出循環(huán)并返回一個說明搜索失敗及沒有找到一個起始或終止圖形的指示信號。
低級解碼器不是用碼字的X序列而是用“邊到相似邊”(“edge to similar edge”)測量來解碼符號以補(bǔ)償在印刷該符號時發(fā)生的顏料擴(kuò)散。這樣,在步驟204中,通過將從下標(biāo)所指定的位置上開始的各對相繼的整數(shù)值相加來從該掃描線得到一個原始的“t序列”。具體地,對應(yīng)于圖12中所示的七種寬度大小于t1、t2、…t7的原始的t序列是通過將表示條與間隔的寬度的相繼的整數(shù)值x0、x1、…x7逐對相加而計算出的,計算方法如下t1=x0+x1t2=x1+x2t3=x2+x3等等。
在步驟204中還通過對八個整數(shù)值求和x0+x1+…x7來計算整個碼字的寬度W。
例如,對于圖12中的碼字,表示條與間隔的寬度的來自掃描線的整數(shù)值序列可能是43、19、21、19、22、18、103、96。原始t序列t1、t2…t7將為62、40、40、41、40、121、199,而寬度W將為341。
在圖11步驟206中,將在步驟204得到的原始t序列正則化并四舍五成整數(shù)值。具體地說,首先將碼字的寬度W除以每一碼字的單元的總數(shù)建立該碼字的“模塊”或“單元”的值。在一個PDF417符號中,每一碼字為17個單元,所以將寬度W除以17以得到該碼字的單元。這樣,對于圖12中的實例,其單元將是(341/17)=20.0。然后,將原始t序列的每一個值除以該單元并四舍五八至一個整數(shù)以正則化該t序列。圖12中的碼字的正則化t序列為3,2,2,2,2,6,10。
然后,在步驟208中將正則化的t序列與碼的起始與終止圖形的t序列進(jìn)行比較。如果掃描器是從左到右及從右到左兩個方向上都進(jìn)行掃描的,則t序列必須在正反兩個方向上與起始與終止圖形進(jìn)行比較。
如果在步驟210中得到匹配,則在步驟218中將下標(biāo)設(shè)置到掃描線中緊隨該模式(若它是一個起始圖形)后面的一個位置上,或者緊接在該圖形(若它是一個終止圖形)前面的一個位置上。如果當(dāng)前的t序列與起始或終止圖形兩者都不匹配,則將不標(biāo)加一并重復(fù)步驟202至210直到找到一個匹配或者超過了掃描線將下標(biāo)設(shè)置到掃描線中緊隨該模式(若它是一個起始圖形)后面的一個位置上,或者緊接在該圖形(若它是一個終止圖形)前面的一個位置上。如果當(dāng)前的t序列與起始或終止圖形兩者都不匹配,則將下標(biāo)加一并重復(fù)步驟202至210直到找到一個匹配或者超過了掃描線的長度為止。
圖13為更詳細(xì)地示出上面圖9的步驟162中所涉及的將一條數(shù)據(jù)掃描線解碼成碼字的矢量及它們的群集的步驟序列的流程圖。在從掃描線解碼單個碼字的值及群集號時,低級解碼器從起始或終止圖形開始解碼并盡可能多地解碼碼字。對于那些無法解碼的碼字,則將碼字矢量中的碼字值設(shè)置為“BAD”(“壞”)。
在完成了圖13中所示的步驟序列時,碼字矢量中將包含與成功地解碼的碼字的適當(dāng)?shù)牧邢鄬?yīng)的位置中的一些碼字值與群集號。圖14A示出一個碼字矢量的例子,其中,十列中八列上碼字是成功地到得解碼的。列1與10中的碼字值分別對應(yīng)于行2中的左端行標(biāo)志碼字(L2)及行1中的右端行標(biāo)志碼字(R1)。列5與7中的碼字無法解碼,因而在碼字矢量的這些位置中用符號“BAD”指明。
返回到圖13的第一步驟220,將可能解碼的碼字?jǐn)?shù)的上限(“cwlimit”)設(shè)置為等于該碼字矩陣中的列數(shù)。如果這一數(shù)目的碼字成功地解碼了,則當(dāng)前掃描行的解碼過程顯然已經(jīng)完成了。
如果該掃描器是在從左到右及從右到左兩個方向上掃描的,則步驟222判定掃描的方向。如在步驟222中判定這次特定的掃描是從左到右的,則在步驟224中設(shè)定第一個碼字的列號為“1”,并設(shè)定每次解碼下一個碼字時要增加的量(“incr”)為“+1”。如果掃描是從右到左的,則在步驟226中將掃描線中第一個碼字的列號設(shè)定為該碼字矩陣的最后一列,而增量值則設(shè)定為“-1”。
步驟228是一個控制循環(huán)的第一個步驟,在該循環(huán)中從數(shù)據(jù)掃描線中解碼單個碼字的值及其群集號。在步驟228中,對碼字限值進(jìn)行檢測看它是否仍大于零。如果不是,則該掃描線中所有的碼字都已解碼并退出該循環(huán)。
否則,步驟230從掃描線中取出下一個碼字值及其群集號。這一步驟將在下面結(jié)合圖15更詳細(xì)地討論。
如在步驟232中判定在前一步驟中解碼的碼字是一個合法的碼字,則在步驟234中將該碼字值及其群集號保存在碼字矢量中對應(yīng)于該碼字的列的位置上。這樣放置在碼字矢量中的碼字值已經(jīng)準(zhǔn)備好可以加入碼字矩陣中了。
如果在步驟230中解碼的碼字是不合法的,則在步驟236中將碼字矢量中對應(yīng)于當(dāng)前列的碼字值設(shè)置為“BAD”以指明這一碼字不是成功地解碼的。一個“BAD”碼字最有可能出現(xiàn)在掃描線在該碼字的中間越過兩行之間的界線時。
最后,在步驟238中,根據(jù)掃描的方向?qū)?dāng)前列號加一或者減一,并將碼字限值減一。重復(fù)執(zhí)行步驟228-236直到該掃描線中的所有碼字都已解碼為止。
圖15為示出對應(yīng)于圖13中的步驟230及圖10中的步驟172的步驟序列的流程圖,其中,對從掃描線中解碼單個的碼字值與群集號作出嘗試。在第一步驟240中,從該掃描線中取出一個原始t序列與寬度W。同樣的步驟已經(jīng)結(jié)合圖11的步驟204討論過了。
在步驟242中,將假定為下一個碼字的八個元素的寬度W與前面解碼過的碼字的寬度進(jìn)行比較。如果當(dāng)前寬度W不在加減一個規(guī)定的差值(delta)的范圍內(nèi),則在當(dāng)前的碼字中可能存在著一個裂開(少計算若干組兩個元素)或者一個合并(多計算若干組兩個元素)錯誤。這一碼字便不再解碼,而在步驟244中將其值與群集號兩者都設(shè)置為BAD指明該碼字無法解碼。
然后在步驟246中,通過尋找具有落在以前一個碼字的寬度為依據(jù)的期望寬度的一個給定容差范圍內(nèi)的對應(yīng)寬度W的一個t序列來試圖重新同步下一個碼字的邊界。如果當(dāng)前寬度W明顯地大于該期望寬度而指明一個可能的合并錯誤,則將最后兩個整數(shù)值從t序列中去掉直到它落入正常的限值中為止。類似地,如果當(dāng)前寬度W明顯地小于該期望寬度而指明一個可能的裂開錯誤,則將掃描線中的下兩個整數(shù)值加入到該t序列中直到它落入正常的限值以內(nèi)為止。
如果在步驟242中判字當(dāng)前寬度W在期望寬度的一定容差范圍內(nèi),則嘗試對該碼字進(jìn)行解碼。在步驟248中,對該原始t序列進(jìn)行正則化,如上面結(jié)合圖11中步驟206所描述的。然后,在步驟250中,從正則化后的t序列中確定其群集號。群集號可根據(jù)下式從t序列(與上面描述的x序列不同)中確定群集號=(T1-T2+T5-T6)mod 9。
對于PDF417中的碼字,合法的群集號為0、3與6。如果在步驟252判定該群集號不是0、3或6,則該碼字是不合法的。從而,在步驟254中將群集號與值設(shè)置為“BAD”指明該碼字無法解碼。
否則,在步驟256中,利用正則化的t序列及其群集號在一張查找表中尋找對應(yīng)的碼字值。如果沒有找到該t序列的對應(yīng)碼字值,則將該碼字值設(shè)置為“BAD”指明無法解碼該t序列。
最后,在步驟258中將“上一寬度”值更新為該碼字的當(dāng)前寬度W(供解碼該掃描線的下一個碼字值應(yīng)用。
圖16A與16B一起構(gòu)成為了用碼字矢量更新碼字矩陣而低級解碼器所執(zhí)行的步驟序列的流程圖。這兩張圖更詳細(xì)地說明上面討論過的圖9中的步驟164。
圖16A的第一步驟260檢驗碼字矢量中的第一個與最后一個值是否其中之一是一個合法的行標(biāo)志。如果碼字矢量中第一與最后的值都不是合法的行標(biāo)志,則在步驟262中程序退出該例程并不再試圖用該碼字矢量去更新碼字矩陣。
然而,如果存在一個合法的行標(biāo)志,則在步驟264中賦于該碼字矢量中的每一個碼字值一個置信權(quán)值。具體地說,賦于每一個碼字的置信權(quán)值取決于它最鄰近的碼字與它們的群集號是否也已解碼。例如,如圖14B所示,列1、2、3、9與10中的碼字值被賦于高置信權(quán)值(“H”),因為它們的緊鄰也是成功地解碼的并且具有相同的群集號。列4與8的碼值被賦于中等置信權(quán)值(“M”),因為它們的緊鄰之一是成功地解碼的并且具有相同的群集號,但另一個相鄰的碼字值為“BAD”。列3中的碼字值被賦于一個非常低的置信權(quán)值(“L”),因為它的鄰接碼字中沒有一個是成功地解碼的。從而,碼字矢量中i列上的碼字值的置信權(quán)值實質(zhì)上是列i-1、i與i+1上的碼字的群集號的一個函數(shù)。這一函數(shù)可用一張查找表來實現(xiàn),該表的索引是從這三個碼字的群集號中計算得的。
在步驟266中,根據(jù)行標(biāo)志碼字與群集號賦于碼字矢量中各碼字值一個行號。如圖14C中的實例所示,左端行標(biāo)志碼字指明行號為2與群集號為6。列2-4中的碼字值的群集號也是6。因此,行號2被賦于該碼字矢量的前四列中的碼字值。
同樣在圖14C的實例中,列6與8-10的群集號都是3,并且右端行標(biāo)志碼字指明行號為1。因此,可以認(rèn)為掃描線跨越行2與行1之間的界線而列6與8-10中的碼字值應(yīng)賦于行1。
一旦將置信權(quán)值與行號賦給了碼字矢量中的每一個碼字,便逐個碼字地更新該碼字矩陣。在步驟268中,碼字矢量與碼字矩陣的列號C都是初始設(shè)置為“1”的。步驟270是一個選代循環(huán)的第一步驟,該循環(huán)逐步通過該碼字矢量中的碼字并使用它們來更新碼字矩陣中的對應(yīng)碼字及與它們相關(guān)聯(lián)的置信權(quán)值,當(dāng)列號C超了步驟270中的列號時,碼字矢量中的所有碼字都已經(jīng)處理過而該例程結(jié)束。
對該碼字矢量中的每一個碼字,步驟272將碼字矩陣的行與R設(shè)置為在步驟268中賦值給碼字矢量位置C上的碼字的行號。從而,對于碼字矢量中的每一個碼字值,有一個在碼字矩陣中位置[R,C]上的對應(yīng)值。
在圖16B中繼續(xù)下去,步驟274判定碼字矩陣中位置[R,C]上的當(dāng)前碼字值是否與該碼字矢量中列C上的對應(yīng)碼字值相同。如果這兩個值相同,則在步驟276中在賦給矩陣位置[R,C]中的碼字值的置信權(quán)值上增加碼字矢量中的對應(yīng)碼字值的置信權(quán)值。否則,在步驟278中從矩陣中的碼字值的置信權(quán)值中減去矢量中的碼字值的置信權(quán)值。
如果在步驟278中減小了置信權(quán)值,則在步驟280中檢測該置信權(quán)值是否減小到了零以下。如果該置信權(quán)值小于零,則在步驟282中用碼字矢量中的新碼字值來替代碼字和矩陣中對應(yīng)位置上的當(dāng)前碼字值。在步驟289中還將賦給矩陣中的碼字值的置信權(quán)值改變成一個正值。
最后,在步驟286中將列號C增加1以處理該碼字矢量中的下一個碼字值,并且程序控制返回到步驟270去對該矢量中的所有列重復(fù)執(zhí)行步驟272至286。
簡單地回顧一下圖9中的步驟154,每次以碼字值的新矢量填入碼字矩陣并更新了置信權(quán)值以后,便嘗試?yán)迷摲柕那度氲募m錯能力來填充矩陣的其余部分。尚未成功地解碼的碼字的數(shù)目與位置可以通過將賦給矩陣中的各碼字值的置信權(quán)值與一個預(yù)定的閾值進(jìn)行比較來確定。具有閾值以下的置信權(quán)值的那些碼字值被認(rèn)為是尚未解碼的。如果尚未解碼的碼字的數(shù)目小于由其安全級所確定的該符號的糾錯能力,則嘗試糾正該矩陣。
對于熟悉本技術(shù)的人員,顯然可以在本解碼方法及裝置中作出各種修改與變更而不脫離本發(fā)明的范圍與精神。從對這里公開的說明書的研究及在本發(fā)明的實踐中,本發(fā)明的其它實施例對于熟悉本技術(shù)的人員而言是顯而易見的。本說明書及實施例僅僅是示例性的,而本發(fā)明的實際范圍與精神是用以下的權(quán)利要求書指明的。
權(quán)利要求
1.一種記錄體,包括一個圖形部分,包含一個圖形圖象;以及一個信息部分,包含以具有至少兩個相鄰接的碼字行的一種機(jī)器可讀的格式編碼的數(shù)據(jù),每一個所述碼字至少表示一個標(biāo)記圖形。
2.權(quán)利要求1的記錄體,其中該信息部分覆蓋該圖形圖象但不使它模糊,并且其中該機(jī)器可讀格式是可糾錯的并且即使由于該圖形圖象而失真仍然能夠復(fù)原該信息。
3.權(quán)利要求1的記錄體,其中該碼字包含該信息部分中的多個信息字,以及其中該圖形部分包含多個圖象字,各圖象字包含一個標(biāo)記圖形,使得該圖象部分中的所有碼字的記號圖形表示該圖形圖象。
4.權(quán)利要求2或3的記錄體,其中該信息部分中的數(shù)據(jù)是以一種二維條碼編碼的。
5.權(quán)利要求4的記錄體,其中該信息部分中的數(shù)據(jù)是以PDF417格式編碼的。
6.權(quán)利要求2的記錄體,其中該圖形圖象是一張照片。
7.權(quán)利要求6的記錄體,其中該照片是該記錄體的所有者的一張身份證明照片。
8.權(quán)利要求7的記錄體,其中該記錄體是一張駕駛證。
9.權(quán)利要求7的記錄體,其中該記錄體是一本護(hù)照。
10.權(quán)利要求6的記錄體,其中該記錄體是一張簽證。
11.權(quán)利要求6的記錄體,其中該信息部分中的數(shù)據(jù)描述該照片的一些部分。
12.權(quán)利要求3的記錄體,其中該記錄體是一張持券人債券。
13.權(quán)利要求3的記錄體,其中該記錄體是一張股票。
14.權(quán)利要求3的記錄體,其中該信息字與圖象字是組織成在該至少兩個相鄰行中的交錯的序列的。
15.權(quán)利要求14的記錄體,其中每一行包含一個指明信息字與圖象字的交錯序列的長度的字段。
16.權(quán)利要求15的記錄體,其中每一行包含一個標(biāo)識該行的字段。
17.用于帶有一個圖象的一個記錄體的一種打印機(jī)系統(tǒng),該打印機(jī)系統(tǒng)包括輸入裝置,用于接收待放置在該記錄體上的數(shù)據(jù);編碼裝置,聯(lián)接于該輸入裝置,用于以一種可糾錯的、機(jī)器可讀的格式編碼該接收的數(shù)據(jù);以及輸出裝置,聯(lián)接于該編碼裝置,用于在該圖象上印刷該編碼數(shù)據(jù)而不使該圖象模糊。
18.權(quán)利要求17的打印機(jī)系統(tǒng),其中該編碼裝置包括用于以一種二維條碼格式編碼該接收數(shù)據(jù)的裝置。
19.權(quán)利要求18的打印機(jī)系統(tǒng),其中該用于以一種二維條碼格式編碼該接收數(shù)據(jù)的裝置包括用于以PDF417格式編碼該接收數(shù)據(jù)的裝置。
20.權(quán)利要求17的打印機(jī)系統(tǒng),還包括用于將該圖象放置在該記錄體上的裝置。
21.權(quán)利要求20的打印機(jī)系統(tǒng),其中該圖象是一張照片,以及其中該用于將該圖象放置在該記錄體上的裝置包括用于將該照片放置在該記錄體上的裝置。
22.一種打印機(jī)系統(tǒng),用于在一個信息部分中包含數(shù)據(jù)及在一個圖象部分中包含一個圖形圖象的一種記錄體,該打印機(jī)系統(tǒng)包括輸入裝置,用于接收要在該記錄體的該信息部分的選擇的區(qū)域中以及該記錄體的該圖形部分的選擇的區(qū)域中印刷的信息;對準(zhǔn)裝置,用于定位該記錄體的該信息部分以及該圖形部分的選擇的區(qū)域;以及輸出裝置,聯(lián)接于該對準(zhǔn)裝置以及該輸入裝置,用于將該接收的信息放置在該記錄的該信息部分以及該圖形部分的該選擇的區(qū)域中。
23.權(quán)利要求22的打印機(jī)系統(tǒng),其中該記錄體具有帶該信息字與圖象字的交錯序列的行,并且每行具有包含標(biāo)識該行的一個第一字段;以及其中該對準(zhǔn)裝置包括用于讀取各行的該第一字段以定位該選擇的區(qū)域的裝置。
24.權(quán)利要求23的打印機(jī)系統(tǒng),其中各行還包括一個含有該對應(yīng)行中的信息字與圖象字的交錯序列的長度的第二字段,以及其中該對準(zhǔn)裝置包括用于讀取一個選擇的行中的該第二字段以定位該選擇的區(qū)域的裝置。
25.一種閱讀器系統(tǒng),用于具有包含以一種可糾錯格式編碼的數(shù)據(jù)的一個信息部分及一個圖形圖象的一種記錄體,該閱讀器系統(tǒng)包括閱讀裝置,用于從該信息部分中抽取該數(shù)據(jù);糾正裝置,聯(lián)接于該閱讀裝置,用于在該數(shù)據(jù)上執(zhí)行糾錯以糾正該抽取的數(shù)據(jù)中的任何錯誤;以及輸出裝置,聯(lián)接于該糾正裝置,用于輸出糾錯后的該抽取的數(shù)據(jù)。
26.權(quán)利要求25的閱讀器系統(tǒng),其中該閱讀裝置包括掃描裝置,用于定位該信息區(qū)域,以及解碼裝置,聯(lián)接于該掃描裝置,用于解碼該信息區(qū)域的編碼信息。
27.一種閱讀器系統(tǒng),用于在一個信息部分中包含數(shù)據(jù)及在一個圖象部分中包含一個圖形圖象的一種記錄體,該信息部分包含多個信息字以及該圖象部分包含多個圖象字,該信息字與數(shù)據(jù)字是在行中組織成交錯的序列的,各行包含一個指示該交錯的序列的長度的一個字段,該閱讀器系統(tǒng)包括用于讀取該字段以確定信息字與圖象字的該交錯的序列的長度的裝置;用于只讀取該行中的信息字的裝置;以及用于解碼該讀取的信息字的裝置。
全文摘要
一種記錄體包含一個圖形圖象與一個信息區(qū)域,它們是互相關(guān)聯(lián)的以防止非法使用該記錄體。信息區(qū)域可覆蓋圖形圖象并包含以一種可糾錯的、機(jī)器可讀的格式編碼的信息,即使由于下襯的圖形圖象而失真,該信息也能被復(fù)原。該記錄體也可以類似于信息區(qū)域中的字的格式的字表示該圖象,當(dāng)發(fā)生有關(guān)該記錄體的操作時,該信息與圖形字都是可以改變的。
文檔編號G06K17/00GK1087191SQ9310575
公開日1994年5月25日 申請日期1993年5月19日 優(yōu)先權(quán)日1992年6月1日
發(fā)明者王·P·延君, 杰羅姆·斯沃茨, 丹尼爾·R·麥格林 申請人:歐林巴斯光學(xué)工業(yè)股份有限公司