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

帶有可消除二維碼的記錄體的制作方法

文檔序號(hào):6407128閱讀:330來源:國(guó)知局
專利名稱:帶有可消除二維碼的記錄體的制作方法
本申請(qǐng)為07/851,505號(hào)申請(qǐng)的部分繼續(xù)申請(qǐng),在此如同詳細(xì)提出一樣引用它作為參照。
本發(fā)明一般涉及記錄體及其制造系統(tǒng)與方法;更具體地涉及一種包含可消除或可擦除的機(jī)器可讀的數(shù)據(jù)表示的記錄體。
在某些類型的記錄體上使用編碼數(shù)據(jù)的優(yōu)點(diǎn)在于大量的信息可以放置在一個(gè)較小的區(qū)域中。此外,可對(duì)編碼信息加以保密并且只顯露給具有適當(dāng)?shù)慕獯a裝置的人員。
本發(fā)明之前,僅有一種記錄體能夠最充分地利用放置在它們上面的編碼數(shù)據(jù)的裨益,在這種記錄體的整個(gè)使用期中,其數(shù)據(jù)并不改變;或者說在記錄體與這些編碼數(shù)據(jù)過期以前要經(jīng)過相當(dāng)長(zhǎng)的時(shí)間間隔。諸如標(biāo)價(jià)簽、包裝標(biāo)志或火車票之類的記錄體并不需要頻繁地更新數(shù)據(jù)。另一種選擇是將該記錄體制成大到足以容納額外的編碼數(shù)據(jù)表示來不時(shí)地補(bǔ)充信息。頻繁地更新編碼信息的必要性抵消了某些種類記錄體具有編碼數(shù)據(jù)的優(yōu)越性。例如,健康卡片與記錄最好包含編碼的數(shù)據(jù),因?yàn)樗鼈冃枰罅康谋匾畔⒉⑶沂且蟊C艿?。每次?gòu)物以后最好用編碼數(shù)據(jù)將結(jié)余存款數(shù)印在記帳卡上。多次使用的入場(chǎng)券最好在券上包含已用過或尚未用過的次數(shù)的編碼數(shù)據(jù)。其中包括具有多次討論會(huì)的研討班入場(chǎng)券或者包含多次乘坐與演出的游樂場(chǎng)入場(chǎng)券。在上述所有場(chǎng)合下,頻繁地更新編碼信息地必要性或者導(dǎo)致過大而不方便的記錄體,或者頻繁地用具有更新的編碼數(shù)據(jù)的編碼數(shù)據(jù)的新的記錄體來代替舊的記錄體。
從而,本發(fā)明的一個(gè)目的為提供一種具有編碼數(shù)據(jù)的記錄體,其編碼數(shù)據(jù)可以更新而無須提供新的記錄體。
本發(fā)明的另一個(gè)目的為提供一種具有編碼數(shù)據(jù)的記錄體,該記錄體不需要額外的區(qū)域來增加更新的編碼數(shù)據(jù)。
本發(fā)明的又一個(gè)目的為提供制造記錄體的一個(gè)系統(tǒng)及其相關(guān)方法,每次要求改變?cè)撚涗涹w上的編碼數(shù)據(jù)時(shí),不需要額外的區(qū)域或者制造一張新的記錄體。
本發(fā)明的其它目的與優(yōu)點(diǎn)一部分將在下面的說明中提及而一部分則是在說明中顯而易見的或者是可以通過實(shí)踐本發(fā)明而理解的。本發(fā)明的優(yōu)點(diǎn)可利用所附權(quán)利要求書中具體指明的手段與工具來實(shí)現(xiàn)與獲得。
為了達(dá)到這些目的并根據(jù)這里所體現(xiàn)與概括地描述的本發(fā)明的宗旨,按照本發(fā)明的一種記錄體包含一個(gè)位于記錄體上的印刷部分以及包含以一種可糾錯(cuò)的機(jī)器可讀的格式編碼的可消除的信息的一個(gè)信息部分。
用于至少在其一個(gè)部分中包含文字的一種記錄體的按照本發(fā)明的一種打印機(jī)系統(tǒng),該系統(tǒng)包括用于接收待放置在該記錄體上的信息的輸入裝置;編碼裝置,耦合于該輸入裝置,用于以一種可糾錯(cuò)的機(jī)器可讀的格式編碼所接收的信息;以及輸出裝置,耦合于該編碼裝置,包含消除記錄體上除所接受的信息以外的任何編碼信息的裝置,以及在該記錄體上可消除地放置編碼信息的裝置。
按照本發(fā)明的一種閱讀器系統(tǒng),用于具有包含以一種可糾錯(cuò)的格式編碼的可消除的信息的信息區(qū)與文字的一種記錄體。該系統(tǒng)包括,從該信息區(qū)中抽取信息的閱讀裝置;糾錯(cuò)裝置,耦合于該閱讀裝置,用于對(duì)可消除的信息執(zhí)行糾錯(cuò)以糾正所抽取的信息與輸出中的一切錯(cuò)誤。
結(jié)合在本說明書中并構(gòu)成其一部分的附圖示出了本發(fā)明的一些實(shí)施例,并與一般性說明共同說明本發(fā)明的原理。


圖1A為根據(jù)本發(fā)明的一個(gè)實(shí)施例的與文字及照片聯(lián)合使用的帶有一種可擦除的二維條形碼的健康記錄體;
圖1B為根據(jù)本發(fā)明的第二個(gè)實(shí)施例的具有印刷在一個(gè)易于消除及涂覆的標(biāo)簽上的編碼字的入場(chǎng)券。
圖1C為根據(jù)本發(fā)明的第二實(shí)施例的具有印刷在一個(gè)可取掉的標(biāo)簽上的數(shù)據(jù)字的一張記帳卡;
圖2示出PDF417中一個(gè)碼字的例子;
圖3示出PDF417符號(hào)的整體結(jié)構(gòu);
圖4為列出PDF417中一個(gè)給定的安全級(jí)上糾錯(cuò)碼字的數(shù)目的表;
圖5為印刷與閱讀包含一個(gè)圖象的碼的一種系統(tǒng)的方框圖;
圖5A為讀取、修改與重印一個(gè)記錄體或標(biāo)簽的系統(tǒng)的方框圖;
圖5B為根據(jù)本發(fā)明的用于制造一個(gè)記錄體的打印機(jī)的示意圖;
圖5C為圖5B的打印機(jī)的操作流程圖;
圖6為圖5與5A中的系統(tǒng)的編碼裝置的立體圖;
圖7為圖5中的系統(tǒng)的識(shí)別裝置的立體圖;
圖7A示出以手槍形設(shè)備實(shí)現(xiàn)的用于讀取本發(fā)明的記錄體的一種條碼閱讀器;
圖8為數(shù)據(jù)輸入設(shè)備與閱讀器的立體圖,其中一個(gè)鍵可輸入來加密與解密數(shù)據(jù);
圖9為二維條形碼符號(hào)的低級(jí)解碼器所執(zhí)行的步驟的流程圖;
圖10為該低級(jí)解碼器在確定正在掃描的符號(hào)的尺寸與安全級(jí)時(shí)所執(zhí)行的步驟的流程圖;
圖11為該低級(jí)解碼器的一條掃描線上搜索一個(gè)起始或終止圖形時(shí)所執(zhí)行的步驟的流程圖;
圖12示出用于一個(gè)碼字的“t序列”的各種寬度度量;
圖13為該低級(jí)解碼器在將一條數(shù)據(jù)掃描線解碼成碼字值的一個(gè)矢量及它們的群集號(hào)時(shí)所執(zhí)行的步驟的流程圖;
圖14A、14B與14C示出一個(gè)碼字矢量的實(shí)例;
圖15為該低級(jí)解碼器從掃描線數(shù)據(jù)中解碼一個(gè)單個(gè)碼字值及其群集號(hào)時(shí)所執(zhí)行的步驟的流程圖;
圖16A與16B為該低級(jí)解碼器使用碼字矢量更新碼字矩陣時(shí)所執(zhí)行的步驟的流程圖。
現(xiàn)在詳細(xì)參照本發(fā)明的當(dāng)前較佳實(shí)施例,它們的實(shí)例示出在附圖中。
在一個(gè)實(shí)施例中,記錄體上的編碼信息是用可擦除的印色印刷的。在圖1A中,健康卡16包含永久性地布置在其上的一張照片及人可讀的文字并帶有用可擦除的印色印刷在其上的一個(gè)二維代碼18。二維代碼的優(yōu)點(diǎn)在于a)它是緊湊的,b)它能包含大量數(shù)據(jù),c)它是可糾錯(cuò)的,及d)它保持隱私性。該二維代碼,最好是下面要描述的PDF417碼,可包含涉及個(gè)人健康狀況的大量重要統(tǒng)計(jì)資料。在健康狀況改變時(shí),便消除可擦除的印色,而在原先的二維代碼處代之以用可擦除的印色印刷的更新后的編碼信息。
代替可擦除的印色,編碼信息也可通過重印一個(gè)可取掉的標(biāo)簽來更改。圖1B示出了包含一個(gè)標(biāo)簽11的一張入場(chǎng)券17,在該標(biāo)簽上具有包含與該記錄體相關(guān)聯(lián)的特權(quán)或者與持券人相關(guān)的編碼信息的一個(gè)二維圖形18。例如,如果入場(chǎng)券17是包含多次講座的研討會(huì),標(biāo)簽11中的信息可指明持券人容許參加哪些講座。當(dāng)持券人參加一次講座時(shí),便可讀取該入場(chǎng)券來確認(rèn)持券人是否容許參加這一講座。然后,在該入場(chǎng)券上印刷并附上一個(gè)新標(biāo)簽來反映持券人已參加過該講座這一事實(shí)。這一信息可用于純信息性目的或者用于防止多次授權(quán)參加同一講座(或展覽等)。
此外,如果入場(chǎng)券17是用于游樂場(chǎng)的,標(biāo)簽11可包含該入場(chǎng)券可用于哪些娛樂項(xiàng)目的編碼數(shù)據(jù)。在進(jìn)入一項(xiàng)娛樂項(xiàng)目時(shí)讀取該標(biāo)簽,并在該入場(chǎng)券上印上一個(gè)新的標(biāo)簽說明持券人不買一張新的入場(chǎng)券便不能再次參加這一娛樂項(xiàng)目。
上述實(shí)例只是示例性的,例如,帶有編碼信息的標(biāo)簽的另一種用途便是用在圖1C中所示的記帳卡上??稍谟泿た?9上放置一個(gè)標(biāo)簽21來指明代款限額。每次使用記帳卡時(shí),讀取該標(biāo)簽來判定這次購(gòu)物是否在限額之內(nèi)。如果是在限額以內(nèi),便從該限額中減去這次購(gòu)物的花費(fèi)。并在該標(biāo)簽上印上指明減少后的限額的新限額。帳單付清后,銀行會(huì)發(fā)給一張帶有新的消費(fèi)限額的一個(gè)新標(biāo)簽21。
在討論編碼與解碼諸如二維條形碼PDF417這樣的機(jī)器可讀圖形格式的數(shù)據(jù)的方法與裝置之前,對(duì)這種二維條形碼PDF417碼符號(hào)本身的結(jié)構(gòu)有所了解是重要的。
每一個(gè)PDF417符號(hào)由一疊條形碼信息的行構(gòu)成,符號(hào)中的各行包括一個(gè)起始圖形、若干稱作“碼字”的符號(hào)字符、以及一個(gè)終止圖形。一個(gè)碼字是編碼一個(gè)表示某些值、字母或其它符號(hào)或與它們相關(guān)聯(lián)的值的基本單位。各行中的碼字構(gòu)成數(shù)據(jù)列。
PDF417符號(hào)的行數(shù)與數(shù)據(jù)列數(shù)都是可變的。符號(hào)至少具有三行但可多達(dá)九十行。同樣,每一行中的碼字或數(shù)據(jù)列數(shù)可在三至三十之間變化。
每一個(gè)PDF417碼字由17個(gè)模塊或單元構(gòu)成。在每一個(gè)碼字中有四個(gè)條與四個(gè)間隔。單個(gè)的條或間隔的寬度可在一至六個(gè)模塊之間變化,但每一碼字的總寬度永遠(yuǎn)是17個(gè)模塊。這樣,每一個(gè)碼字便可由一個(gè)八位的序列來定義,該序列表示碼字中四組相間的條與間隔的寬度。這稱作該碼字的“X序列”并可以用序列X0,X1,…X7來表示。例如,對(duì)于一個(gè)X序列“51111125”,第一個(gè)元素為5個(gè)模塊寬,跟隨著五個(gè)一個(gè)模塊寬的元素、一個(gè)兩個(gè)模塊寬的元素,而最后一個(gè)元素為五個(gè)模塊寬,這一實(shí)例示出在圖2中。
可能出現(xiàn)的碼字的集合進(jìn)一步劃分成三個(gè)稱作“群集”的互斥的子集合。在PDF417符號(hào)中,每一行只用這三個(gè)群集中之一來編碼數(shù)據(jù),并且每一群集順序地每三行重復(fù)一次。由于任何相鄰的兩行使用不同的群集,解碼器便能在同一條掃描線中區(qū)分來自不同的行的碼字。
一個(gè)碼字的群集號(hào)可使用下式從其X序列中確定群集號(hào)=(X0-X2+X4-X6)mod 9其中“mod 9”為用9除后的余數(shù)。參見圖2中的碼字,其群集號(hào)可計(jì)算如下群集號(hào)=(5-1+1-2)mod9=3為了使錯(cuò)誤概率為最小,雖然在數(shù)學(xué)上可能有九種群集號(hào),但PDF417只采用了三個(gè)群集。這樣,每一行只采用三個(gè)群集0,3或6之一來編碼數(shù)據(jù),同一群集順序地每三行重復(fù)一次。例如,行0的碼字采用群集0,行1的碼字采用群集3,而行2則采用群集6,等等。總之,群集號(hào)可從行號(hào)中確定如下群集號(hào)=((行號(hào)))mod3)·3。
在PDF417中定義3從0至928的929個(gè)碼字值。每一群集從不同的條-間隔圖形表示這929個(gè)可資利用的值,因此一個(gè)群集不會(huì)與另一群集混淆。
圖3為展示一個(gè)PDF417符號(hào)的整體結(jié)構(gòu)的方框圖。該符號(hào)的每一行包含一個(gè)起始圖形、一個(gè)左端行標(biāo)志碼字Li、數(shù)據(jù)碼字di或錯(cuò)誤檢測(cè)/糾正碼字Ci、一個(gè)右端行標(biāo)志碼字Ri及一個(gè)終止圖形。一行中最小的碼字?jǐn)?shù)目為3,其中包括左端行標(biāo)志碼字、至少一個(gè)數(shù)據(jù)碼字及右端行標(biāo)志碼字。下面要進(jìn)一步講座的右端與左端行標(biāo)志碼字協(xié)助對(duì)該符號(hào)的結(jié)構(gòu)進(jìn)行同步。
起始與終止圖形標(biāo)識(shí)符號(hào)的各行的起點(diǎn)與終點(diǎn)。PDF417采用唯一的起始與終止圖形。起始圖形,即各行的左側(cè),具用唯一的圖形或X序列“81111113”。終止圖形,即各行的右側(cè),具有唯一的X序列“711311121”。
每一個(gè)符號(hào)包含一個(gè)指明該符號(hào)中碼字總數(shù)的碼字(行0中的第一個(gè)數(shù)據(jù)碼字),以及至少兩個(gè)糾錯(cuò)碼字C0與C1。這兩個(gè)糾錯(cuò)碼字一起構(gòu)成一個(gè)兩個(gè)碼字長(zhǎng)的檢驗(yàn)和。
一個(gè)PDF417符號(hào)還能編碼具有糾錯(cuò)能力的數(shù)據(jù)。稱作“安全級(jí)”的糾錯(cuò)能力的級(jí)別是由用戶選定的并具有0到8的范圍。例如,這意味著在級(jí)6上,總數(shù)為126個(gè)碼字可從丟失或受到破壞而仍能讀出與解碼整個(gè)符號(hào)。圖4為示出PDF417符號(hào)的安全級(jí)與糾錯(cuò)碼字Ci的個(gè)數(shù)之間的關(guān)系的一張表。
除了糾正丟失或受到破壞的數(shù)據(jù)(稱作“疑符”)之外,PDF417還能復(fù)原碼字的錯(cuò)誤解碼。由于它需要兩個(gè)碼字來復(fù)原一個(gè)錯(cuò)誤解碼,一個(gè)用來檢測(cè)錯(cuò)誤、一個(gè)用來糾正錯(cuò)誤,一個(gè)給定的安全級(jí)只能支持它所能具有的未解碼的碼字的一半數(shù)目的錯(cuò)誤解碼。
在PDF417格式的信息覆蓋在部分地擦除了編碼字上時(shí),這一糾錯(cuò)特性尤其有用。這種部分擦除可能導(dǎo)致未擦除的代碼部分使一部分編碼信息產(chǎn)生畸變。如果出現(xiàn)了這一情況,可用PDF417二維條形碼來糾正錯(cuò)誤。
PDF417符號(hào)中的行標(biāo)志碼字包含若干關(guān)鍵成分行號(hào)、行數(shù)、數(shù)據(jù)列數(shù)及安全級(jí)。但并不是每一個(gè)行標(biāo)志包含有的成分。這些信息是分散在若干行中的,并且該圖每三行重復(fù)自己一次。在行標(biāo)志碼字中編碼這些信息的圖形可示出如下行0L0(行號(hào),行數(shù)) R0(行號(hào),列數(shù))行1L1(行號(hào),安全級(jí)) R1(行號(hào),行數(shù))行2L2(行號(hào),列數(shù)) R2(行號(hào),安全級(jí))行3L3(行號(hào),行數(shù)) R3(行號(hào),列數(shù))等等。
換言之,第一行0的左端行標(biāo)志碼字L0包含行號(hào)(0)及該符號(hào)中的總行數(shù)。而行0的右端行標(biāo)志碼字R0則包含行號(hào)(0)及該符號(hào)中的數(shù)據(jù)列的數(shù)目,以此類推。
將數(shù)據(jù)編碼或一個(gè)PDF417符號(hào)是典型的兩步過程。首先,將數(shù)據(jù)轉(zhuǎn)換成表示該數(shù)據(jù)的0到928的碼字值。這稱作“高級(jí)編碼”。然后將這些值用特定的條-間隔圖形物理地表示,這稱作“低級(jí)編碼”。
在07/851,505號(hào)美國(guó)參照申請(qǐng)中更全面地討論編碼器與解碼器。
現(xiàn)在參見附圖中圖5-7,圖5為從機(jī)器可讀的圖形圖象格式在一個(gè)記錄體上表示與識(shí)別數(shù)據(jù)的系統(tǒng)10的方框圖。系統(tǒng)10包括一個(gè)編碼裝置(總體上從參照數(shù)字12表示)。以及一個(gè)識(shí)別裝置(總體上以參照數(shù)字14表示)。編碼裝置12生產(chǎn)一個(gè)記錄體16(見圖1A),諸如一張健康卡、一張入場(chǎng)券17(見圖1B)或一張記帳卡19(見圖1C);其中每一張上包含文字與/或一張照片,與各記錄體的文字相關(guān)聯(lián)的可能有以一種二維圖形編碼的數(shù)據(jù)。識(shí)別裝置14識(shí)別該二維圖形以生成表示編碼在各圖形中的數(shù)據(jù)的輸出信號(hào)。
輸入裝置22將待編碼成記錄體16、17或19上的二維圖形中的數(shù)據(jù)輸入到編碼裝置12。輸入裝置22輸入的數(shù)據(jù)中包含待編碼在二維圖形18中的數(shù)據(jù)處理裝置24將該數(shù)據(jù)組編碼成一個(gè)二維圖形并生成控制將記號(hào)傳送到記錄體16、17或19上(如在這一情況中)的傳送驅(qū)動(dòng)信號(hào)。雖然為了簡(jiǎn)化說明,這里我們將不時(shí)地參照記錄體16,但應(yīng)該理解的是,記錄體17、19或者任何其它種類的記錄體都可以受到上述處理。傳送裝置26檢測(cè)機(jī)器可讀的數(shù)據(jù)的存在并根據(jù)一個(gè)第一驅(qū)動(dòng)信號(hào)將一種消隱液抹在記錄體上包含檢測(cè)到的表示的區(qū)域上來消除在記錄體或標(biāo)簽上檢測(cè)到的數(shù)據(jù)。然后,傳送裝置26啟動(dòng)一臺(tái)吹風(fēng)機(jī)在一段預(yù)定的時(shí)間內(nèi)干燥所抹的消隱液。傳送裝置包括一臺(tái)打印機(jī)38,該打印機(jī)傳送一種對(duì)消隱液快速反應(yīng)的與快干的傳統(tǒng)印色。需要時(shí),也可將人可讀的數(shù)據(jù)傳關(guān)到該記錄體上。處理裝置24生成另一但傳送信號(hào)用于將人可讀的數(shù)據(jù)傳送到該記錄體上。所有待編碼的數(shù)據(jù)中的一部分及人可讀的數(shù)據(jù)可從處理裝置24的一個(gè)存儲(chǔ)器或其它計(jì)算機(jī)文件中傳送而不足用裝置22輸入。
識(shí)別裝置14包括將記錄體16、17或19上的圖象轉(zhuǎn)換成表示該記號(hào)的電信號(hào)的轉(zhuǎn)換裝置28。解碼裝置30將電信號(hào)解碼成32處指出的解碼器輸出信號(hào),這些輸出信號(hào)表示編碼在二維圖形中的數(shù)據(jù)。
圖6為編碼裝置12的一個(gè)實(shí)施例的透視圖。圖6的實(shí)施例只是為了示例的目的,并不意在限制本發(fā)明的范圍。在本實(shí)施例中,圖5的輸入裝置22是以將字母數(shù)字型及圖形數(shù)據(jù)輸入到編碼裝置12的鍵盤32的形式示出的。輸入裝置22可采用鍵盤以外的形式,諸如直接從文件上掃描輸入到編碼裝置12中的數(shù)據(jù)的一種光學(xué)掃描裝置。
再參見圖6,圖5的處理裝置24是以一臺(tái)處理器及顯示器單元34的形式示出的。鍵盤32輸入的數(shù)據(jù)被傳輸給該處理器與顯示器單元34供存儲(chǔ)與處理之用。除了輸入數(shù)據(jù),鍵盤32還可用于輸入啟動(dòng)處理器單元34的操作的控制命令。
鍵盤32輸入的數(shù)據(jù)最好顯示在顯示屏36上,并在輸入一條適當(dāng)?shù)目刂泼顣r(shí)將它們存儲(chǔ)在存儲(chǔ)器中。待編碼成圖形18的數(shù)據(jù)存儲(chǔ)在處理器34中的一個(gè)第一存儲(chǔ)器中,而要以人可讀的格式傳送的數(shù)據(jù)(如果有的話)則存儲(chǔ)在一個(gè)第二存儲(chǔ)器中。兩種數(shù)據(jù)也可以存儲(chǔ)在一個(gè)單一的存儲(chǔ)器的獨(dú)立部分中。從鍵盤32輸入適當(dāng)?shù)目刂泼顣r(shí),處理器單元34將第一存儲(chǔ)器中的數(shù)據(jù)編碼成一個(gè)二維圖形,例如11,18或21,并生成表示存儲(chǔ)在第一存儲(chǔ)器中的數(shù)據(jù)的第一傳送驅(qū)動(dòng)信號(hào)。處理器單元34還生成表示存儲(chǔ)在第二存儲(chǔ)器中的數(shù)據(jù)的第二傳送驅(qū)動(dòng)信號(hào)。
處理器單元34在圖6中是示出為耦合于一臺(tái)打印機(jī)38的,該打印機(jī)是圖5的傳送裝置26的一種形式。對(duì)第一傳送驅(qū)動(dòng)信號(hào)作出響應(yīng),打印機(jī)38在插入其中的一個(gè)記錄體上檢測(cè)是否存在機(jī)器可讀的數(shù)據(jù)。如果未檢測(cè)到機(jī)器可讀的數(shù)據(jù),則第一傳送驅(qū)動(dòng)信號(hào)使打印機(jī)38用可擦除的印色將該二維圖形的一個(gè)圖象傳送到一個(gè)記錄體上或者位于該記錄體的編碼區(qū)域中的一個(gè)可取掉的標(biāo)簽上,并對(duì)第二傳送驅(qū)動(dòng)信號(hào)作出響應(yīng)將第二組數(shù)據(jù)以人可讀的格式印在該記錄體上。例如,對(duì)于圖1A中的實(shí)施例,如果檢測(cè)到機(jī)器可讀的數(shù)據(jù),則在插入打印機(jī)中的記錄體上涂上消隱液來消除記錄體上檢測(cè)到的數(shù)據(jù)。檢測(cè)到的數(shù)據(jù)一經(jīng)消除,便啟動(dòng)一臺(tái)吹風(fēng)機(jī)來吹干相應(yīng)的記錄體區(qū)域?yàn)橛∷⑿碌木幋a數(shù)據(jù)作好準(zhǔn)備,然后用可消除的印色將該二維圖形印在已消除了的部分中為了下一次更新編碼數(shù)據(jù)作準(zhǔn)備。
現(xiàn)在參見圖7,識(shí)別裝置14包括一個(gè)讀卡機(jī)40,后者又包含圖5的轉(zhuǎn)換裝置28與解碼裝置30,使用與采用的特定數(shù)據(jù)編碼技術(shù)相對(duì)應(yīng)的適當(dāng)轉(zhuǎn)換裝置是本發(fā)明所仔細(xì)考慮的。
轉(zhuǎn)換裝置28可以是諸如317,433及317,533號(hào)美國(guó)專利申請(qǐng)中所公開的那種條形碼閱讀器,現(xiàn)將它們結(jié)合在這里作為參照,它們能夠讀出打印機(jī)38所用的印色。上述專利申請(qǐng)中公開的閱讀器為開放系統(tǒng)設(shè)備,它們是設(shè)計(jì)成讀取光學(xué)編碼的二維條形碼并將圖形反射的光轉(zhuǎn)換成表示該圖形記號(hào)的電信號(hào)的。
參見圖7A,轉(zhuǎn)換裝置的一個(gè)條形碼閱讀器的典型示例性實(shí)施例是以一種手槍形設(shè)備100實(shí)現(xiàn)的,它具有一個(gè)手槍柄型的把102。采用了一個(gè)手動(dòng)式扳機(jī)開關(guān)104使用戶能夠啟動(dòng)光束117與檢測(cè)器電路,這通常是在用戶將該設(shè)備放置在指向要讀取的符號(hào)的位置上以后才扣動(dòng)扳機(jī)的。一個(gè)重量輕的塑料外殼166中包含一個(gè)激光源108、檢測(cè)器110、光學(xué)與信號(hào)處理電路及CPU112、以及一個(gè)電源或蓄電池114。在外殼166的前端上的一個(gè)透光窗口116容許向外的光束117射出及入射的反射光122進(jìn)入。閱讀器100的設(shè)計(jì)是使用戶在離開符號(hào)(即不接觸符號(hào)或移動(dòng)通過符號(hào))的一個(gè)位置上將閱讀器瞄準(zhǔn)在一個(gè)條碼符號(hào)上。通常,這種手持式條形碼閱讀器是規(guī)定為在數(shù)英寸或更遠(yuǎn)的范圍內(nèi)工作的。
閱讀器100也可作為一臺(tái)便攜式計(jì)算機(jī)終端工作,并且在這種實(shí)施例中包括一個(gè)鍵盤與一臺(tái)顯示器,諸如在前面提到的4,409,470號(hào)美國(guó)專利中所描述的。
圖7A中還描繪了可使用一個(gè)適當(dāng)?shù)耐哥R124(或多透鏡系統(tǒng))將掃描光束聚焦在一個(gè)適當(dāng)?shù)膮⒄掌矫嫔系囊粋€(gè)掃描光斑上。諸如半導(dǎo)體激光二極管這樣的光源108將一個(gè)光束引導(dǎo)到透鏡124的軸上,并使光束通過一個(gè)部分鍍銀的反射鏡128及其它必要的透鏡或束成形結(jié)構(gòu)。該光束被一面擺動(dòng)的反射鏡130所反射,后者耦合在一臺(tái)掃描電機(jī)132上,該電機(jī)在扣動(dòng)扳機(jī)104時(shí)被加電。如果光源108產(chǎn)生的光是勉強(qiáng)可見的,則可在該光學(xué)系統(tǒng)中加入一束瞄準(zhǔn)光。瞄準(zhǔn)光(如果需要)生成一個(gè)可見的光斑,該光斑可以是固定不動(dòng)的,也可以是象激光束一樣地掃描的;用戶在扣動(dòng)扳機(jī)以前利用這一可見光束將閱讀器單元瞄準(zhǔn)在符號(hào)上。
返回到圖5A,解碼裝置30將電信號(hào)解碼或表示編碼在記錄體16上的數(shù)據(jù)的輸出信號(hào)。解碼器輸出信號(hào)從識(shí)別單元40輸出到各種輸出裝置42。圖7描繪了輸出設(shè)備的兩個(gè)實(shí)例,一個(gè)是顯示器單元44另一個(gè)是打印機(jī)46。顯示器單元44可以是任何適當(dāng)?shù)娘@示器,諸如液晶顯示器或CRT(陽(yáng)極射線管)。打印機(jī)46可從是任何打印設(shè)備,諸如點(diǎn)陣打印機(jī)、激光打印機(jī)等。
本系統(tǒng)最大限度地利用可獲得的空間來加密數(shù)據(jù)。對(duì)于一個(gè)二維條形碼符號(hào),編碼數(shù)據(jù)的密度為在大約5英寸×1/2英寸的空間中可編碼至少約1600個(gè)字符。除了緊湊以外,本系統(tǒng)還在信息傳輸中提供高安全性。
雖然在圖5至7A中所示出的編碼裝置12與識(shí)別裝置14為分開的設(shè)備,它們也可以放在同一設(shè)備中。這在讀取與修改一個(gè)體時(shí)尤其有用。在這些情況中,將一個(gè)單一的單元用于兩種目的是有效的。
圖5A示出了與諸如16、17或19這樣的記錄體一起使用的一個(gè)系統(tǒng)10'的方框圖。系統(tǒng)10'中包括與圖5至7中所示的系統(tǒng)10的元件相對(duì)的元件。具體地說,系統(tǒng)10'包括一個(gè)轉(zhuǎn)換裝置28,該裝置將來自一個(gè)記錄體(諸如16、17或19)的編碼數(shù)據(jù)轉(zhuǎn)換成電信號(hào),以及一個(gè)解碼這些信號(hào)的解碼裝置30。然后,處理裝置24讀取這些經(jīng)過解碼的信號(hào)并按照一定的準(zhǔn)則令傳送裝置26印刷適當(dāng)?shù)妮敵鲂盘?hào)將記錄體16、17、19修改成記錄體16'、17'、19'。
可用多種方法確定新的信息。例如,如果該記錄體是一張記帳卡19,處理裝置24可以是一臺(tái)大型計(jì)算機(jī)或者一個(gè)計(jì)算機(jī)網(wǎng)絡(luò),它掌握著貸款限額。
處理裝置24最好還包括用于定位記錄體16、17、19的選定的區(qū)域來讀取印刷物的對(duì)準(zhǔn)裝置25。對(duì)準(zhǔn)裝置25對(duì)標(biāo)識(shí)各行及這些行中的特定的字的字段進(jìn)行解釋。雖然對(duì)準(zhǔn)裝置25是作為處理裝置24的一個(gè)部分示出的,但它也可從是轉(zhuǎn)換裝置28或者傳送裝置26兩者之一中的一臺(tái)微處理器。
數(shù)據(jù)也可以使用一種鍵控加密算法加以編碼,這種算法只能用一個(gè)加密鍵來進(jìn)行訪問。如圖8所示,數(shù)據(jù)輸入裝置47中包含該鍵控算法,并在輸入鍵49時(shí),數(shù)據(jù)便以一種獨(dú)特的配置編碼成一個(gè)二維圖形。這一獨(dú)特的配置只能被具有該獨(dú)特的算法的閱讀器48讀取,并且只當(dāng)在閱讀器上輸入鍵49才能讀取。從而,使用鍵控加密實(shí)施例可以提供高度的的安全性。
本發(fā)明的另一個(gè)特征是使記錄體上的圖象成為一個(gè)“數(shù)字式的簽名”,它是以加密的格式嵌入PDF417條碼中的。建立這一二維數(shù)字信號(hào)的打印機(jī)這時(shí)使用一種只能用一個(gè)加密鍵訪問的鍵控加密算法。使用一個(gè)具有該鍵控算法的鍵盤或其它數(shù)據(jù)輸入裝置,并且在輸入該鍵時(shí),在一個(gè)鍵盤上作為明文輸入的數(shù)據(jù)便將以一種獨(dú)特的解碼配置編碼成二維圖形。這一獨(dú)特的圖形或代碼配置只能被具有該算法的閱讀器解碼與讀取,且僅當(dāng)在該閱讀器上輸入這一相同的鍵時(shí)才能解碼與讀取。這便為需要這種安全性的應(yīng)用提供了高度的安全性。
將一個(gè)記錄體16、17、19送入轉(zhuǎn)換裝置28,在該裝置中讀取編碼數(shù)據(jù),并在30處解碼;并最好加以顯示。新的數(shù)據(jù)是在22處輸入的,它們修改或者全面地改變分別在28與30處讀取與解碼的數(shù)據(jù)。然后,新編碼的數(shù)據(jù)便在24處被處理;并由傳送裝置26傳送,傳送裝置26包括一臺(tái)諸如38'的打印機(jī),該打印機(jī)可以將代碼直接涂覆在記錄體上或者涂在可取掉地貼在記錄體上的標(biāo)簽上。
圖5B示出一臺(tái)打印機(jī)38',它是用常用的RAM(隨機(jī)存取儲(chǔ)器)式打印機(jī)38'改裝成示出的形式的。打印機(jī)38'包括一個(gè)基座部分314,該基座部分具有支承記錄體16的一個(gè)表面,該記錄體是眾一塊低導(dǎo)板320送入打印機(jī)的。
在打印機(jī)的入口處有一個(gè)具有吸附表面324的滾筒322,該表面將來自容器326的消隱液涂覆在記錄體16上。滾筒323可轉(zhuǎn)動(dòng)地連接在容器326上,而后者又可擺動(dòng)地連接在基座314上。彈簧328順射針方向?qū)⑷萜?26偏轉(zhuǎn)到與電磁線圈330接合的位置上并使?jié)L筒324離開記錄體16。當(dāng)傳感器332在記錄體16中檢測(cè)到機(jī)器可讀的數(shù)據(jù)時(shí),電磁線圈330被激勵(lì),而在送入記錄體時(shí)將容器與滾筒322轉(zhuǎn)動(dòng)到消除位置上。在文件16繼續(xù)向前送向一個(gè)印刷滾筒336的途中,一臺(tái)風(fēng)扇334被啟動(dòng)來快速吹干記錄體的消除區(qū)域,滾筒336是可轉(zhuǎn)動(dòng)地連接在基座314上的,它以機(jī)器可讀的數(shù)據(jù)格式將可消除的印色涂覆在記錄體16上。
存在著許多已知的可消除的印色,例如在4,097,290號(hào)美國(guó)專利中所提及的。這些可消除的印色可用含有脫色溶液的眾所周知的化學(xué)制品以公知的方法消除。雖然這里具體示出與描述的是應(yīng)用消隱液;也可將帶有一個(gè)平坦的擦試表面的幾何形狀的合成橡膠部件放置在與記錄體的代碼相接觸的位置上并使之相對(duì)于記錄體振動(dòng)來機(jī)械地與摩擦地擦除該代碼。此外,對(duì)于某些應(yīng)用,還可將代碼放在一個(gè)張可取下的膠粘標(biāo)簽上,從而在將其放入打印機(jī)之前可將整個(gè)標(biāo)簽取下而代之以另一個(gè)空白的標(biāo)簽,或者可用能擦除的印色來印刷一個(gè)可取掉的膠粘標(biāo)簽。
圖5C為示出在一個(gè)記錄體或標(biāo)簽上用可消除的印色印刷新的編碼信息時(shí)事件序列的流程圖。響應(yīng)一個(gè)某一驅(qū)動(dòng)信號(hào),在步驟402啟動(dòng)記錄體輸送將記錄體從一個(gè)槽或低導(dǎo)板慢速移動(dòng)到打印機(jī)中。在判定步驟404中打印機(jī)判定記錄體上有無編碼數(shù)據(jù)。如果未檢測(cè)到數(shù)據(jù),則在步驟406加速傳遞記錄體的電機(jī)將該記錄體快速定位以便在步驟408印刷條形碼。如果檢測(cè)到了數(shù)據(jù),并在判定框410確定該數(shù)據(jù)是在一張標(biāo)簽上;則在判定框411中判定該標(biāo)簽是否要消除。如果在判定步驟410確定數(shù)據(jù)是印刷在一張可取掉的標(biāo)簽上的并且該數(shù)據(jù)不需要消除,則在步驟406加速記錄體的輸送并在步驟408進(jìn)行印刷。然而,如果在判定步驟410判定數(shù)據(jù)是直接印刷在記錄體上的,則在步驟412通過激勵(lì)電磁絲圈330來啟動(dòng)消除滾筒324將消隱液涂覆在印刷的數(shù)據(jù)上。當(dāng)在步驟414中不再檢測(cè)到數(shù)據(jù)時(shí)表明消除已經(jīng)完成,便在步驟416啟動(dòng)吹風(fēng)機(jī)334來加速干燥該記錄體。在步驟416中啟動(dòng)吹風(fēng)機(jī)后,經(jīng)過步驟420所示的幾秒鐘的延時(shí)以在步驟418關(guān)掉吹風(fēng)機(jī)。然后在步驟408中在該記錄體的消除部分上印上一個(gè)二維條形碼。印刷以后在步驟422停止輸送記錄體;并可從打印機(jī)中取出帶有新的編碼數(shù)據(jù)的記錄體。
返到圖5A,一個(gè)低級(jí)解碼器可以包括在運(yùn)行在與主計(jì)算機(jī)分開的微機(jī)上的一個(gè)計(jì)算機(jī)程序中。該低級(jí)解碼器最好是通過一個(gè)諸如RS-232這樣的標(biāo)準(zhǔn)接口連接到主計(jì)算機(jī)的,便于將解碼后的碼字值傳輸給該主計(jì)算機(jī)。此外,該低級(jí)解碼器可以全部實(shí)現(xiàn)在硬件中,或者在硬件與軟件的組合中,它可以在物理上位于掃描器本身或者主計(jì)算機(jī)中。
一個(gè)高級(jí)解碼器將來自低級(jí)解碼器的碼字值矩陣解碼成可用的數(shù)據(jù),該高級(jí)解碼器可以作為一個(gè)運(yùn)行在主計(jì)算機(jī)上的獨(dú)立計(jì)算機(jī)程序?qū)崿F(xiàn)。例如,PDF417具有三種規(guī)定的模式及九種保留模式。規(guī)定的模式為Binary(二進(jìn)制)、EXC(交換碼)與Numeric(數(shù)字)。在Binary模式中,每一個(gè)碼字能編碼1.2個(gè)字節(jié)。在EXC模式中,字母數(shù)字型數(shù)據(jù)可以以雙密度(即每一個(gè)碼字兩個(gè)字符)編碼,而在Numeric模式中,數(shù)值型數(shù)據(jù)幾乎可以以三倍的密度壓縮。因此,主計(jì)算機(jī)112中的高級(jí)解碼器根據(jù)模式進(jìn)一步解碼來自低級(jí)解碼器114的碼字值(0-928)以獲取包含在符號(hào)中的實(shí)際數(shù)據(jù)。這時(shí),來自高級(jí)解碼器的解碼后的數(shù)據(jù)便可供也在主計(jì)算機(jī)112上運(yùn)行的用戶應(yīng)用程序使用了。
圖9為展示低級(jí)解碼器將一個(gè)二維條形碼符號(hào)(諸如PDF417)解碼成一個(gè)碼字值的矩陣時(shí)的的操作序列的流程圖。序列中的各步驟是在存儲(chǔ)在處理器34中并由其執(zhí)行的一個(gè)軟件計(jì)算機(jī)程序中實(shí)施的。
圖9中的第一步150中,低級(jí)解碼器初始化掃描器接口并啟動(dòng)對(duì)符號(hào)的掃描。在這一步驟中所執(zhí)行的實(shí)際功能取決于掃描器的類型關(guān)包含各種與掃描器相關(guān)的例程來初始化掃描器接口及啟動(dòng)掃描。
在步驟152中,低級(jí)解碼器試圖確定正在掃描的符號(hào)的尺寸及安全級(jí)。具體地說,這一步驟從左端與右端行標(biāo)志碼字中確定該符號(hào)的行數(shù)、數(shù)據(jù)列數(shù)及安全級(jí)。然后用這些尺寸來初始化用于解碼該符號(hào)的一個(gè)二維碼字矩陣及其它有關(guān)參數(shù)。該矩陣中的每一個(gè)位置上包括一個(gè)碼字值及一個(gè)關(guān)聯(lián)的置信度權(quán)值。它們起初是設(shè)置為零或或空值的。如果確定不了該符號(hào)的尺寸及安全級(jí),則中止掃描。這一步驟將在下面結(jié)合圖10更詳細(xì)地討論。
繼續(xù)參見圖9,步驟154是一個(gè)控制循環(huán)的第一步,在這一循環(huán)中重復(fù)掃描二維條碼符號(hào)的行并將碼字值填入碼字矩陣中。重復(fù)執(zhí)行該控制循環(huán)中的步驟直到矩陣中剩下的未能成功地解碼的碼字的數(shù)目小到可以用該符號(hào)的內(nèi)在的糾錯(cuò)能力確定矩陣的其余部分為止。從而,如果未能成功地解碼的碼字的數(shù)目小于該符號(hào)根據(jù)其安全級(jí)的糾錯(cuò)能力(見圖4),則在步驟154試圖利用糾錯(cuò)碼字來糾正該矩陣。如果嘗試的糾錯(cuò)是成功的,則在步驟156退出該控制循環(huán)并在步驟158結(jié)束掃描。否則,如果糾錯(cuò)嘗試失敗,則執(zhí)行下面的步驟160-164試行解碼更多的碼字來填入該矩陣中。
首先,步驟160在來自存儲(chǔ)器的緩沖區(qū)中的一條數(shù)據(jù)掃描線中搜索一個(gè)起始或終止圖形。如果找到了一個(gè)起始或者終止圖形。則該低級(jí)解碼器在步驟162中試圖在該掃描線中解碼盡可能多的碼字。具體地說,將該數(shù)據(jù)掃描線剖析成單個(gè)的碼字,并將它們的值與群集號(hào)放置在準(zhǔn)備結(jié)合進(jìn)碼字矩陣中的一個(gè)碼字矢量中。下面將分別結(jié)合圖11與13更詳細(xì)地討論步驟160與162。
在步驟164中對(duì)步驟162生成的碼字矢量進(jìn)行分析,并用它來更新碼字矩陣。具體地,步驟164根據(jù)每一個(gè)碼字的最接近的相鄰碼字是否也能被解碼來賦給該碼字值一個(gè)置信度權(quán)值。并且根據(jù)左端或右端行標(biāo)志碼字及該碼字的對(duì)應(yīng)群集號(hào)賦給每一個(gè)碼字值行號(hào)。如果掃描線越過一條行界線,可用碼字的群集號(hào)來確定每一單個(gè)碼字的正確行號(hào)。例如,如果一條解碼后的掃描線具有行號(hào)為2的一個(gè)左端行標(biāo)志,而隨后的碼字的群集號(hào)則為6,0,0,3,則將這些碼字對(duì)應(yīng)地放置在下列位置中(行2,列1);(行3,列2);(行3,列3);及(行4,列4)。這樣,在一條單一的數(shù)據(jù)掃描線中可包含來自一行以上的碼字,然后可將它們歸入碼字矩陣中的適當(dāng)位置中。下面將結(jié)合圖16A與16B更詳細(xì)地討論這一步驟。
圖10為更詳細(xì)地展示上面圖9的步驟152中所涉及的確定一個(gè)符號(hào)的尺寸及安全級(jí)的步驟序列的流程圖。在圖10的第一步驟170中,低級(jí)解碼器在來自存儲(chǔ)器的緩沖區(qū)的一條數(shù)據(jù)掃描線中搜索一個(gè)起始或終止圖形。這一步驟與圖9中的步驟160相同并將在下面結(jié)合圖11更詳細(xì)地討論。
然后,步驟172解碼緊鄰在上一步驟中找到的起始或終止圖形的第一個(gè)碼字。如圖3所示,這一碼字將是包含行號(hào)以及符號(hào)的行數(shù)、數(shù)據(jù)列數(shù)、安全級(jí)三者之一的一個(gè)左端或者右端行標(biāo)志碼字。如果起始與終止圖形都找到了,則對(duì)左端與右端行標(biāo)志都進(jìn)行解碼。解碼單個(gè)碼字的步驟序列在下面結(jié)合圖15進(jìn)一步討論。
在圖10中繼續(xù)往下,在步驟174中從上一步驟172中所確定的碼字值及群集號(hào)中抽取編碼在該行標(biāo)志中的特定尺寸或它全級(jí)。例如,對(duì)于群集號(hào)為0的一個(gè)左端行標(biāo)志碼字,則從該碼字值中抽取行數(shù)。
賦給每一尺寸與安全級(jí)的置信度權(quán)值是初始設(shè)置為0的。步驟176-184以下述方法更新在上一步驟中抽取的尺寸或安全級(jí)的當(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ù)一個(gè)新的最小權(quán)值。
步驟186判定所有三個(gè)參數(shù),即行數(shù)、數(shù)據(jù)列數(shù)與安全級(jí),的置信度權(quán)值都超過一個(gè)予定的閾值。如果是這樣,則在步驟188中根據(jù)行數(shù)與列數(shù)的當(dāng)前值初始化二維碼字矩陣。同時(shí)可以按照?qǐng)D4中的表從安全級(jí)的當(dāng)前值中確定可糾正的錯(cuò)誤數(shù)目。如果在步驟186中判定并非所有三個(gè)置信度權(quán)值都超過該閾值,則程序控制返回到步驟170,在一條新的線中開始搜索起始與終止圖形。重復(fù)執(zhí)行步驟170-184直到所有三個(gè)參數(shù)都成功地以高置信度解碼為止。
圖11為更詳細(xì)地展示在上面圖9的步驟160與圖10步驟170中所涉及的在一條數(shù)據(jù)掃描線中搜索一個(gè)起始或終止圖形的步驟序列的流程圖。簡(jiǎn)單地說,搜索從存儲(chǔ)器的緩沖區(qū)得到的單一數(shù)據(jù)掃描線的第一個(gè)位置開始,并在順序的位置上重復(fù)進(jìn)行直到找到一個(gè)匹配的圖形或者超過了該掃描線的長(zhǎng)度為止。當(dāng)找到一個(gè)匹配的圖形時(shí),則為解碼鄰接的碼字而在緊隨該圖形之前或之后的一個(gè)位置上設(shè)置一個(gè)下標(biāo)。
如圖11所示,第一步驟200將指向掃描線中的數(shù)據(jù)元素的位置的一個(gè)下標(biāo)設(shè)置為“1”,指示該掃描線的第一個(gè)數(shù)據(jù)元素或整數(shù)值。這一下標(biāo)是為了與起始與終止圖形進(jìn)行比較而用于標(biāo)識(shí)該掃描線中每一個(gè)八個(gè)元素的序列的第一個(gè)元素的。
步驟202是在掃描中從左至右搜索一個(gè)起始或終止圖形的一個(gè)迭代循環(huán)的第一個(gè)步驟。在這一步驟中,如果當(dāng)前下標(biāo)小于該掃描線的長(zhǎng)度,則執(zhí)行剩下的步驟繼續(xù)搜索。然而,一旦該下標(biāo)超過了掃描線的長(zhǎng)度,便退出這一循環(huán)并返回一個(gè)指示說明搜索失敗并未找到一個(gè)起始或終止圖形。
低級(jí)解碼器不是使用碼字的X序列而是用“邊到相似邊”測(cè)量來補(bǔ)償印刷符號(hào)時(shí)出現(xiàn)的印色擴(kuò)散以解碼一個(gè)符號(hào)的。這樣,在步驟204中,從該下標(biāo)所指定的位置開始,將相連的兩個(gè)整數(shù)值逐對(duì)相加而從掃描行中得到一個(gè)原始的“t序列”。具體地說,對(duì)應(yīng)于圖12所示的七個(gè)寬度測(cè)量值t1,t2,…t7的原始t序列可以通過將表示條與間隔的寬度的整數(shù)值X0,X1…t7中相連的兩個(gè)逐對(duì)相加而計(jì)算如下t1=X0+X1t2=X1+X2t3=X2+X3等等在步驟204中還通過求出八個(gè)整數(shù)值X0+X1+X7的和計(jì)算出整個(gè)碼字的寬度W。
例如,對(duì)于圖12中的碼字,表示條與間隔的寬度的來自掃描線的整數(shù)值序列可能是諸如43,19,21,19,22,18,103,96。這時(shí)原始t序列t1,t2,…t7為62,40,40,41,40,121,199而寬度W則為341。
在圖11的步驟206中,對(duì)步驟204中得出的原始t序列進(jìn)行正則化并四舍五入成整數(shù)值。具體地說,首先將該碼字的寬度W除以每一個(gè)碼字的單元的總數(shù)求出該碼字的“模塊”或“單元”的值。在一個(gè)PDF417符號(hào)中,每一碼字為17個(gè)單元,所以將寬度W除以17求出碼字的單元。這樣,對(duì)于圖12中的實(shí)例,單元為(341/17)=20.0。然后將原始t序列的每一個(gè)值除以該單元并四舍五入成一個(gè)整數(shù)來正則化該t序列。圖12中的碼字的正則化t序列為3,2,2,2,2,6,10。
然后,在步驟208中將正則化的t序列與該碼的起始與終止圖形的t序列進(jìn)行比較。如果掃描器是從左到右及從右到左兩個(gè)方向上進(jìn)行掃描的,則該t序列必須在它們的正反兩個(gè)方向上與起始及終止圖形進(jìn)行比較。
如果在步驟210中找到一個(gè)匹配圖形,則在步驟214中將下標(biāo)設(shè)置為掃描線中緊隨一個(gè)起始圖形后面的一個(gè)位置或緊靠在一個(gè)終止圖形前面的一個(gè)位置。如果當(dāng)前t序列既不匹配起始圖形又不配匹終止圖形,則在步驟212中將下標(biāo)增加一并重復(fù)執(zhí)行步驟202至210直到找到一個(gè)匹配圖形或者超過了掃描線的長(zhǎng)度為止。
圖13為更詳細(xì)地展示上面圖9的步驟162中所涉及的將一條數(shù)據(jù)掃描線解碼成一個(gè)碼字矢量及它們的群集的步驟序列的流程圖。從掃描線中解碼單個(gè)碼字值及群集號(hào)時(shí),低級(jí)解碼器從起始或終止圖形開始解碼并解碼盡可能多的碼字。對(duì)于不能成功地解碼的那些碼字,則將碼字矢量中的碼字值設(shè)置為“BAD”(“壞”)。
在完成了圖13中所示的步驟序列時(shí),在對(duì)應(yīng)于成功地解碼的碼字的相應(yīng)結(jié)果上,該碼字矢量將包含一定的碼字值與群集號(hào)。圖14A示出了碼字矢量的一個(gè)例子,其中十列中的八列上的碼字是成功地解碼的。列1與列10中的碼字值分別對(duì)應(yīng)于行2(L2)中的左端行標(biāo)志碼字與行1(R1)中的右端行標(biāo)志碼字。列5與7中的碼字不能成功地解碼,所以在碼字矢量的這兩個(gè)位置上中用記號(hào)“BAD”指明。
返回到圖13的第一步驟220,將可以解碼的碼字?jǐn)?shù)目的上限(“cwlimit”)設(shè)置為等于該碼字矩陣的列數(shù)。如果成功地解碼了這一數(shù)目的碼字,顯然當(dāng)前掃描線的解碼過程業(yè)已完成。
如果掃描器是在從左至右及從右至左兩個(gè)方向上掃描的,則在步驟222中判定掃描方向。如在步驟222中判定這一次特定的掃描是從左至右的,則在步驟224中將第一個(gè)碼字的列號(hào)設(shè)置為“1”,并將每解碼一個(gè)相繼的碼字向增加的數(shù)值(“incr”)設(shè)置成“+1”。反之,若掃描是從右至左的,則在步驟226中,掃描線的第一個(gè)碼字的列號(hào)將為該碼字矩陣的最后一列,而增量值則設(shè)置為“-1”。
步驟228是一個(gè)控制循環(huán)的第一個(gè)步驟,在該循環(huán)中從數(shù)據(jù)掃描線中解碼單個(gè)的碼字值及其群集號(hào)。在步驟228中,檢測(cè)碼字限值是否仍大于零。如果不是,則該掃描線中的所有碼字都已解碼而退出該循環(huán)。
否則,步驟230從掃描線中得出下一個(gè)碼字值及其群集號(hào)。這一步驟將在下面結(jié)合圖15更詳細(xì)地討論。
如果在步驟232中判定上一步驟中解碼的碼字是一個(gè)合法的碼字,則在步驟234中將該碼字值及其群集號(hào)保存在碼字矢量中對(duì)應(yīng)于該碼字的列的位置上。這樣放置在碼字矢量中碼字值已準(zhǔn)備就緒加入到碼字矩陣中了。
然而,如果在步驟230中解碼的碼字不是一個(gè)合法的碼字,則在步驟236中將碼字矢量中對(duì)應(yīng)于當(dāng)前列的碼字值設(shè)置為“BAD”以指明這一碼字未能成功地解碼。一個(gè)“BAD”碼字最有可能出現(xiàn)在掃描線在該碼字中間跨越兩行間的界線時(shí)。
最后,在步驟238中,根據(jù)掃描的方向增加或者減小當(dāng)前列號(hào),并將碼字限值減少一。只要還想解碼該掃描線中所有的碼字,便重復(fù)執(zhí)行步驟228-236。
圖15為示出對(duì)應(yīng)于圖13中步驟230及圖10中步驟172的步驟序列的流程圖,其中試圖從掃描線中解碼出單個(gè)碼字值及群集號(hào)。在第一步驟240中,從該掃描線中得出一個(gè)原始t序列及寬度W。同樣的步驟在前面已經(jīng)結(jié)合圖11中的步驟204討論過了。
在步驟242中,將假定為下一個(gè)碼字的八個(gè)元素的寬度W與前面解碼過的碼字的寬度進(jìn)行比較。如果當(dāng)前寬度W不在加減一個(gè)予定的差值(delta)的范圍之內(nèi),則在當(dāng)前碼字中可能存在著一個(gè)分裂(少計(jì)算若干組兩個(gè)元素)或者合并(多計(jì)算若干組兩個(gè)元素)錯(cuò)誤。不再對(duì)這一碼字進(jìn)行解碼,而在步驟244中將其值與群集號(hào)都設(shè)置為“BAD”以指膽它是不能解碼的。
然后在步驟246中,以前一個(gè)碼字的寬度為基礎(chǔ),找出一上其對(duì)應(yīng)的寬度W落入一個(gè)碼字的期望寬度的一個(gè)給定的容差范圍內(nèi)的t序列,以此來試圖重新同步下一個(gè)碼字的邊界。如果當(dāng)前寬度W明顯地大于該期望寬度而表明可能存在一個(gè)合并錯(cuò)誤,則從t序列中丟棄最后兩個(gè)整數(shù)值直到它落入適當(dāng)?shù)南拗捣秶鷥?nèi)為止。同樣,如果當(dāng)前寬度W明顯地小于該期望寬度而指明可能存在一個(gè)分裂錯(cuò)誤,則將該掃描線中后面兩個(gè)整數(shù)值加入到該t序列中直到它落入適當(dāng)?shù)南拗捣秶鷥?nèi)為止。
如果在步驟242中判定當(dāng)前寬度W是在期望寬度的一定容差范圍內(nèi),則試圖解碼這一碼字。在步驟248中,對(duì)原始t序列進(jìn)行正則化,如上面結(jié)合圖11中步驟206所描述的。然后在步驟250中從正則化的t序列確定群集號(hào)。群集號(hào)可從t序列(與上述X序列不同)確定如下群集號(hào)=(T1-T2+T5-T6)mod9。
對(duì)PDF417碼字而言,合法的群集號(hào)為0,3與6。如在步驟252中判定的群集號(hào)不是0,3或6,則該碼字不是合法的。從而,在步驟254中將該群集號(hào)與值設(shè)置為“BAD”以指明該碼字無法解碼。
否則在步驟256中,利用正則化的t序列及其群集號(hào)在一張查找表中找出對(duì)應(yīng)的碼字值。如果找不到該t序列的對(duì)應(yīng)碼字值,則將該碼字值設(shè)置為“BAD”以指明它是無法解碼的。
最后,在步驟258中將“最后寬度”值更新為碼字的當(dāng)前寬度W,供從該掃描線中解碼下一個(gè)碼字值時(shí)使用。
圖16A與16B一起構(gòu)成為了用碼字矢量更新碼字矩陣,低級(jí)解碼器所執(zhí)行的步驟序列的流程圖。這兩張圖十分詳細(xì)地說明上面所討論的圖9中的步驟164。
圖16A的第一步驟260檢驗(yàn)碼字矢量中的第一與最后的值是否為一個(gè)合法的行標(biāo)志。如果碼字矢量中的第一與最后一個(gè)值都不是合法的行標(biāo)志,則在步驟262中程序退出該例程并不再試圖用該碼字矢量去更新碼字矩陣。
然而,如果存在著一個(gè)合法的行標(biāo)志,則在步驟264中賦給該碼字矢量中的每一個(gè)碼字值置信度權(quán)值。具體地,賦給每一個(gè)碼字的置信度權(quán)值是取決于該碼字的最接近的相鄰碼字及它們的群集是否也能解碼的。例如,如圖14B所示,賦給列1,2,3,9與10中的碼字值高置信度權(quán)值(“H”),因?yàn)樗鼈兊慕徱惨殉晒Φ亟獯a且具有相同的群集號(hào)。賦給列4與8中的碼字值中等置信度權(quán)值(“M”),因?yàn)樗鼈兊囊粋€(gè)近鄰是成功地解碼的且具有相同的群集號(hào),但另一個(gè)相鄰的碼字值則為“BAD”。賦給列3中的碼字值非常低的置信度權(quán)值(“L”),因?yàn)樗膬蓚€(gè)鄰居都不是成功地解碼的。從而,碼字矢量中列i上的一個(gè)碼字值的置信度權(quán)值實(shí)質(zhì)上是列i-1,i與i+1上的碼字的群集號(hào)的一個(gè)函數(shù)。這一函數(shù)可用一張查找表來表示,該表的索引是從這三個(gè)碼字的群集號(hào)中計(jì)算出的。
在步驟266中,根據(jù)行標(biāo)志碼字及群集號(hào)賦給字矢量量中的每一個(gè)碼字值一個(gè)行號(hào)。如圖14C中的例子所示,左端行標(biāo)志碼字L2指出行號(hào)為2與群集號(hào)為6。列2-4中的碼字值的群集號(hào)也是6。因此,賦給該碼字矢量的前四列中的碼字值行號(hào)2。
同樣在圖14C的例子中,列6與8-10全部具有群集號(hào)3并且右端行標(biāo)志碼字R1指明行號(hào)為1。因此,可從假定該掃描線跨越行2與行1的行界線而列6與8-10中的碼字值必須歸入行1中。
一旦賦給了碼字矢量中每一個(gè)碼字值置信度權(quán)值與行號(hào),便逐個(gè)地更新碼字矩陣中的碼字。在步驟268中,將碼字矢量與碼字矩陣的列號(hào)C都初始地設(shè)置為“1”。步驟270是一個(gè)迭代循環(huán)的第一個(gè)步驟,該循環(huán)逐一通過碼字矢量中的碼字,并用它們來更新碼字矩陣中的對(duì)應(yīng)碼字及其相關(guān)置信度權(quán)值。當(dāng)列號(hào)C在步驟270中超過了列數(shù)時(shí),則該碼字矢量中的所有碼字都已處理過了而該例程結(jié)束。
對(duì)于該碼字矢量中的每一個(gè)碼字,步驟272將碼字矩陣的行號(hào)R設(shè)置成在步驟266中賦給碼字矢量中位置C上的碼字的行號(hào)。這樣,對(duì)于該碼字矢量中的每一個(gè)碼字值便有一個(gè)碼字矩陣中位置R,C上的值與之對(duì)應(yīng)。
在圖16B中繼續(xù)下去,步驟274判定碼字矩陣中位置R,C上的當(dāng)前碼字值是否與碼字矢量中列C中的對(duì)應(yīng)碼字值相同。如果這兩個(gè)值相同,則在步驟276中賦給矩陣位置R,C上的碼字值置信度權(quán)值上增加碼字矢最中對(duì)應(yīng)的碼字值的置信度權(quán)值。如果不同,則在步驟278中從矩陣中的碼字值的置信度權(quán)值中減去矢量中的碼字值的置信度權(quán)值。
如果在步驟278中減小了置信度權(quán)值,則在步驟280中檢測(cè)該置信度權(quán)值是否降低到了零以下。如果該置信度權(quán)值小于零,則在步驟282中用碼字矢量中的碼字值來取代碼字矩陣中對(duì)應(yīng)位置上的當(dāng)前碼字值。并且在步驟284中將賦給矩陣中的碼字值的置信度權(quán)值改變成一個(gè)正的值。
最后,在步驟286中將列號(hào)C增加一去處理該碼字矢量中的下一個(gè)碼字值,同時(shí)程序控制返回到步驟270為該矢量中的所有列重復(fù)執(zhí)行步驟272至286。
簡(jiǎn)單回顧一下圖9中的步驟154,在每一次用碼字值的新矢量填充碼字矩陣并更新了它們的置信度權(quán)值以后,便嘗試用該符號(hào)的內(nèi)在糾錯(cuò)能力去填充矩陣的其余部分。尚未成功地解碼的碼字的數(shù)目與位置可以通過將賦給矩陣中的每一個(gè)碼字值的置信度權(quán)值與一個(gè)予定的閾值進(jìn)行比較來確定。具有低于該并值的置信度權(quán)值的那些碼字值可以認(rèn)為是尚未解碼的。如果尚未解碼的碼字的數(shù)目小于由安全級(jí)確定的該符號(hào)的糾錯(cuò)能力,則嘗試去糾正該矩陣。
對(duì)于熟悉本技術(shù)的人員而言,顯而易見,可以在不脫離本發(fā)明的范圍或精神的條件下,在解碼方法與裝置中作出各種修改與變化。在仔細(xì)考慮過這里所公開的說明書與通過對(duì)本發(fā)明的實(shí)踐以后,本發(fā)明的其它實(shí)施例對(duì)于熟悉本技術(shù)的人員而言便是顯而易見的了。本說明書及實(shí)例只是旨在作為示例用的,而本發(fā)明的真正范圍與精神則是由以下的權(quán)利要求書確定的。
權(quán)利要求
1.一種打印機(jī)系統(tǒng),用于至少在其一個(gè)部分上包含標(biāo)記的一種記錄體,該打印機(jī)系統(tǒng)包括輸入裝置,用于接收待放置在該記錄體上的信息;編碼裝置,耦合于該輸入裝置,用于以一種可糾錯(cuò)的、機(jī)器可讀的格式編碼所接收的信息;輸出裝置,耦合于該編碼裝置,用于將所接收的信息印刷在該記錄體上,該輸出裝置包括用于從一個(gè)記錄體上消除所接收的信息以外的編碼信息的裝置,以及用于在消除了編碼信息以后在該記錄體上可消除地印刷所接收的信息的裝置。
2.權(quán)利要求1的打印機(jī)系統(tǒng),其中該編碼裝置包括用于以一種二維條形碼格式編碼所接收的信息的裝置。
3.權(quán)利要求2的打印機(jī)系統(tǒng),其中該用于以一種二維條形碼格式編碼所接收的信息的裝置包括用于以PDF417格式編碼所接收的信息的裝置。
4.權(quán)利要求1的打印機(jī)系統(tǒng),其中該輸出裝置包括用于以可消除的印色印刷該編碼信息的裝置。
5.權(quán)利要求1的打印機(jī)系統(tǒng),其中該輸出裝置包括用于干燥該記錄體上被消除的編碼信息下方的一個(gè)區(qū)域的裝置。
6.權(quán)利要求1的打印機(jī)系統(tǒng),其中該輸出裝置還包括用于檢測(cè)出現(xiàn)在該記錄體上的編碼信息的裝置;對(duì)所述檢測(cè)裝置作出響應(yīng),當(dāng)該記錄體上沒有編碼信息時(shí)使所述消除裝置不工作的裝置。
7.權(quán)利要求1的打印機(jī)系統(tǒng),其中該輸出裝置包括用于在可取掉地地連接在該記錄體上的一個(gè)標(biāo)簽上印刷該編碼信息的裝置。
8.權(quán)利要求1的打印機(jī)系統(tǒng),其中該記錄體具有帶信息字的行,并且其中該對(duì)準(zhǔn)裝置包括用于按行定位該選擇的信息字的裝置。
9.權(quán)利要求1的打印機(jī)系統(tǒng),其中各行包含一個(gè)帶有一個(gè)行號(hào)的字段。
10.一種記錄體的閱讀器系統(tǒng),該記錄體具有一個(gè)包含以一種可糾錯(cuò)的格式編碼的可消除的信息的信息區(qū)及文字,該閱讀器系統(tǒng)包括讀取裝置,用于從該信息部分中抽取信息;存儲(chǔ)器裝置,用于存儲(chǔ)所抽取的信息;糾正裝置,耦合于該讀取裝置,用于在該編碼信息上執(zhí)行糾錯(cuò)來糾正所抽取的信息中的任何錯(cuò)誤;輸出裝置,耦合于該糾正裝置,用于在執(zhí)行糾錯(cuò)后輸出所抽取的信息。
11.權(quán)利要求10的閱讀器系統(tǒng),其中該讀取裝置包括掃描裝置,用于定位該信息區(qū)域;解碼裝置,耦合于該掃描裝置,用于從該信息部分中解碼該可消除的編碼信息。
12.一種記錄體,包括一個(gè)含有文字的印刷部分,以及一個(gè)含有以一種可糾錯(cuò)的、機(jī)器可讀的格式編碼的可消除的信息的信息部分。
13.權(quán)利要求12的記錄體,其中該信息部分中的數(shù)據(jù)信息是以一種二維條形碼編碼的。
14.權(quán)利要求13的記錄體,其在該信息部分中的信息是以PDF 417格式編碼的。
15.權(quán)利要求12的記錄體,其中該記錄體為一個(gè)健康狀況記錄體。
16.權(quán)利要求12的記錄體,其中該信息部分中的信息包含有關(guān)所印刷的標(biāo)記的信息。
17.權(quán)利要求12的記錄體,其中該信息部分包括一個(gè)可取掉的標(biāo)簽,該標(biāo)簽的寬度與長(zhǎng)度的尺寸中至少有一個(gè)小于粘貼在其上的記錄體,并且該編碼信息是印刷在該可取掉的標(biāo)簽上的。
18.權(quán)利要求12的記錄體,其中該編碼信息是用可消除的印色印刷在該記錄體的該信息部分上的。
19.權(quán)利要求12的記錄體,其中該記錄體是一張記帳卡,以及該可消除的編碼信息涉及結(jié)余的可利用貸款。
20.權(quán)利要求12的記錄體,其中該記錄體是一張多次使用的入場(chǎng)券、以及該可消除的編碼信息涉及尚未使用過的次數(shù)的標(biāo)識(shí)。
21.權(quán)利要求12的記錄體,其中該記錄體是一個(gè)指定的個(gè)人的健康記錄體,并且該可消除的編碼信息涉及該指定的個(gè)人的健康狀況。
22.一種條形碼閱讀器系統(tǒng),包括一個(gè)閱讀器,包括一個(gè)內(nèi)裝符號(hào)檢測(cè)裝置的外殼,該符號(hào)檢測(cè)裝置用于生成一個(gè)指向記錄體上待讀取的一個(gè)符號(hào)的激光束,及用于接收這一符號(hào)的反射光而生成對(duì)應(yīng)于該反射光的強(qiáng)度的電信號(hào);一個(gè)記錄體,該記錄體具有一個(gè)包含從一種可糾錯(cuò)的機(jī)器可讀的格式編碼的一個(gè)可消除的符號(hào)的信息部分的一個(gè)印刷部分,該可消除的符號(hào)位于所述激光束的路徑上供該閱讀器讀取。
23.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體的該信息部分中的信息是以二維條形碼編碼的。
24.權(quán)利要求22的條碼閱讀器系統(tǒng),其中該記錄體的該信息部分中的信息是以PDF417格式編碼的。
25.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體是一個(gè)健康狀況記錄體。
26.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體的該信息部分中的信息包含有關(guān)該印刷標(biāo)記的信息。
27.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體的信息部分包括一個(gè)可取掉的標(biāo)簽,該標(biāo)簽的寬度與長(zhǎng)度中至少有一個(gè)小于粘附在其上的該記錄體,并且該編碼信息是印刷在該可取掉的標(biāo)簽上的。
28.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該編碼信息是用可消除的印色印刷在該記錄體的信息部分上的。
29.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體是一張記帳卡,并且該可消除的編碼信息涉及結(jié)余的可利用貸款。
30.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體是一張多次使用的入場(chǎng)券;以及該可消除的編碼信息涉及尚未使用的次數(shù)的標(biāo)識(shí)。
31.權(quán)利要求22的條形碼閱讀器系統(tǒng),其中該記錄體是一個(gè)指定的個(gè)人的健康記錄體,以及該可消除的編碼信息涉及該指定的個(gè)人的健康狀況。
全文摘要
公開了一種編號(hào)與閱讀系統(tǒng),該系統(tǒng)帶有記錄體,該記錄體上具有二維可消除的條形碼或一張帶有一個(gè)二維條形碼的可取掉的標(biāo)簽。該條形碼可以是PDF417。
文檔編號(hào)G06K19/18GK1092191SQ9310769
公開日1994年9月14日 申請(qǐng)日期1993年6月25日 優(yōu)先權(quán)日1992年6月25日
發(fā)明者王·P·延君, 杰羅姆·斯沃茨, 丹尼爾·R·麥克格林 申請(qǐng)人:歐林巴斯光學(xué)工業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1