亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

m-數(shù)組解碼和糾錯(cuò)的增強(qiáng)方法

文檔序號(hào):6511729閱讀:338來源:國知局
專利名稱:m-數(shù)組解碼和糾錯(cuò)的增強(qiáng)方法
技術(shù)領(lǐng)域
本發(fā)明涉及使用數(shù)碼筆與媒質(zhì)交互,尤其涉及在與一個(gè)或多個(gè)表面交互期間確定數(shù)碼筆的位置。
背景技術(shù)
計(jì)算機(jī)用戶習(xí)慣于使用鼠標(biāo)和鍵盤作為與個(gè)人計(jì)算機(jī)交互的方法。雖然個(gè)人計(jì)算機(jī)提供了優(yōu)于書面文檔的多種優(yōu)點(diǎn),但多數(shù)用戶仍舊使用印刷紙來完成某些功能。這些功能中的一些包括閱讀和注釋書面文檔。在注釋的情況下,由于用戶置于印刷文檔上的注釋,印刷文檔表現(xiàn)出更大的重要性。然而,擁有具有注釋的印刷文檔的困難之一是以后需要將這些注釋重新輸入回文檔的電子形式。這需要原用戶或另一個(gè)用戶辛苦地讀完注釋,并將它們輸入到個(gè)人計(jì)算機(jī)中。在一些情況下,用戶將掃描輸入這些注釋和原文本,由此建立新的文件。這些多個(gè)步驟使得印刷文檔和電子版本的文檔之間的交互難以用重復(fù)的方式來處理。此外,掃描輸入的圖像經(jīng)常是不可修改的。沒有將注釋同原文本分開的方法。這使得使用注釋變得困難。因此,需要一種處理注釋的改進(jìn)的方法。
捕捉手寫信息的一種技術(shù)是使用筆,其位置會(huì)在書寫期間被確定。提供這種性能的一種筆是Anoto公司的Anoto筆。該筆通過使用照相機(jī)捕捉用預(yù)定義圖案編碼的紙張的圖像來起作用。該圖像圖案的例子在圖11中示出。Anoto筆(Anoto公司)使用這種模式來確定一頁紙張上該筆的位置。然而,不清楚Anoto筆所使用的系統(tǒng)對確定位置有多高的效率。為了提供對所捕捉圖像位置的有效確定,需要一種提供所捕捉圖像的有效解碼的系統(tǒng)。

發(fā)明內(nèi)容
本發(fā)明的各個(gè)方面提供了上述問題的至少其中之一的解決方案,由此使得可以在具有預(yù)定義圖案的所察看的文檔上定位所捕捉圖像的一個(gè)或多個(gè)位置。所察看的文檔可以在具有預(yù)定義圖案的紙張、LCD屏幕或其它任何的媒質(zhì)上。本發(fā)明的各方面包括準(zhǔn)許對所捕捉的圖像進(jìn)行有效解碼的解碼過程,為圖像位置的有效確定作準(zhǔn)備。
依照本發(fā)明的一個(gè)方面,解碼過程巧妙地從所捕捉圖像提取的比特中選擇比特子集。依照本發(fā)明的另一個(gè)方面,一種過程調(diào)節(jié)該解碼過程重復(fù)執(zhí)行的次數(shù)。依照本發(fā)明的另一個(gè)方面,一種過程確定所提取比特位置的X、Y坐標(biāo),由此使得X、Y坐標(biāo)符合諸如目的區(qū)域等局部約束。通過以下附圖和所關(guān)聯(lián)的描述,本發(fā)明的這些和其它方面將變得顯而易見。


結(jié)合附圖閱讀上述本發(fā)明的發(fā)明內(nèi)容和以下詳細(xì)描述的優(yōu)選實(shí)施例,可以更好地理解它們,這些優(yōu)選實(shí)施例對于本發(fā)明而言是作為示例而非局限包括于此。
圖1示出了可以結(jié)合本發(fā)明的實(shí)施例使用的計(jì)算機(jī)的總體描述。
圖2A和2B示出了依照本發(fā)明的實(shí)施例的圖像捕捉系統(tǒng)和相應(yīng)的所捕捉圖像。
圖3A到3F示出了依照本發(fā)明的實(shí)施例的各個(gè)序列和折疊技術(shù)。
圖4A到4E示出了依照本發(fā)明的實(shí)施例的各個(gè)編碼系統(tǒng)。
圖5A到5D示出了與依照圖4A和4B的解碼系統(tǒng)相關(guān)聯(lián)的四種可能的結(jié)果拐角。
圖6示出了依照本發(fā)明的實(shí)施例的所捕捉圖像部分的旋轉(zhuǎn)。
圖7示出了結(jié)合圖4A到4E的編碼系統(tǒng)使用的旋轉(zhuǎn)的各個(gè)角度。
圖8示出了依照本發(fā)明的實(shí)施例用于確定所捕捉數(shù)組位置的過程。
圖9示出了依照本發(fā)明的實(shí)施例用于確定所捕捉圖像位置的方法。
圖10示出了依照本發(fā)明的實(shí)施例用于確定所捕捉圖像位置的另一個(gè)方法。
圖11示出了依照現(xiàn)有技術(shù)在文檔中編碼空格的表示。
圖12示出了依照本發(fā)明的實(shí)施例用于解碼從所捕捉的圖像中提取的比特的流程圖。
圖13示出了依照本發(fā)明的實(shí)施例對從所捕捉的圖像中提取的比特進(jìn)行比特選擇。
圖14示出了依照本發(fā)明的實(shí)施例用于解碼從所捕捉的圖像中提取的比特的一種裝置。
具體實(shí)施例方式
本發(fā)明的各方面涉及確定所捕捉圖像相對于較大圖像的位置。此處所描述的位置確定方法和系統(tǒng)可與多功能筆結(jié)合使用。
為了方便讀者,用小標(biāo)題將下列描述分開。所述小標(biāo)題包括術(shù)語、通用計(jì)算機(jī)、圖像捕捉筆、數(shù)組編碼、解碼、糾錯(cuò)和位置確定。
術(shù)語筆—一種書寫工具,可具有或不具有存儲(chǔ)墨水的能力。在某些例子中,不具有墨水存儲(chǔ)能力的觸針可被用作依照本發(fā)明實(shí)施例的筆。
照相機(jī)—一種圖像捕捉系統(tǒng),可從紙張或其它媒質(zhì)捕捉圖像。
通用計(jì)算機(jī)圖1是可用于實(shí)現(xiàn)本發(fā)明各個(gè)方面的常規(guī)通用數(shù)字計(jì)算環(huán)境的例子的功能性框圖。在圖1中,計(jì)算機(jī)100包括處理單元110、系統(tǒng)存儲(chǔ)器120以及把包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元110的系統(tǒng)總線130。系統(tǒng)總線130可能是若干總線結(jié)構(gòu)類型中的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用多種總線體系結(jié)構(gòu)的局部總線的任一種。系統(tǒng)存儲(chǔ)器120包括只讀存儲(chǔ)器(ROM)140和隨機(jī)存取存儲(chǔ)器(RAM)150。
基本輸入/輸出系統(tǒng)160(BIOS)存儲(chǔ)在ROM 140內(nèi),它包括如啟動(dòng)時(shí)幫助在計(jì)算機(jī)100內(nèi)的元件間傳輸信息的基本例程。計(jì)算機(jī)100也包括用于從硬盤(未示出)讀取或向其中寫入的硬盤驅(qū)動(dòng)器170、從可移動(dòng)磁盤190讀取或向其中寫入的磁盤驅(qū)動(dòng)器180、以及用于向諸如CD ROM或其它光學(xué)媒質(zhì)這樣的可移動(dòng)光盤192讀寫的光盤驅(qū)動(dòng)器191。硬盤驅(qū)動(dòng)器170、磁盤驅(qū)動(dòng)器180和光盤驅(qū)動(dòng)器191分別通過硬盤驅(qū)動(dòng)器接口192、磁盤驅(qū)動(dòng)器接口193和光盤驅(qū)動(dòng)器接口194連接到系統(tǒng)總線130。這些盤驅(qū)動(dòng)器及其相關(guān)的計(jì)算機(jī)可讀媒質(zhì)為個(gè)人計(jì)算機(jī)100提供了對計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲(chǔ)。本領(lǐng)域的技術(shù)人員可以理解,用于存儲(chǔ)計(jì)算機(jī)可訪問數(shù)據(jù)的其它類型的計(jì)算機(jī)可讀媒質(zhì)也可在示例性操作環(huán)境中使用,這些其它計(jì)算機(jī)可讀媒質(zhì)諸如磁帶盒、閃存卡、數(shù)字視頻盤、Bernoulli盒式磁帶、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等等。
許多程序模塊可以存儲(chǔ)在硬盤驅(qū)動(dòng)器170、磁盤190、光盤192、ROM 140或RAM 150上,包括操作系統(tǒng)195、一個(gè)或多個(gè)應(yīng)用程序196、其它程序模塊197和程序數(shù)據(jù)198。用戶可以通過輸入設(shè)備輸入命令和信息到計(jì)算機(jī)100中,輸入設(shè)備諸如鍵盤101和定位設(shè)備102。其它輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備一般通過耦合到系統(tǒng)總線的串行端口接口106連接到處理單元110,但也可由其它接口連接,諸如并行端口、游戲端口或通用串行總線(USB)。此外,這些設(shè)備可以通過適當(dāng)?shù)慕涌?未示出)直接耦合到系統(tǒng)總線130。監(jiān)視器107或其它類型的顯示設(shè)備也可以通過諸如視頻適配器108這樣的接口連接到系統(tǒng)總線130。除監(jiān)視器外,個(gè)人計(jì)算機(jī)一般包括諸如揚(yáng)聲器和打印機(jī)等其它外圍輸出設(shè)備(未示出)。在優(yōu)選實(shí)施例中,為了數(shù)字地捕捉手畫線輸入,提供了筆數(shù)字化儀165和伴隨的筆或觸針166。雖然示出了筆數(shù)字化儀165和串行端口間的直接連接,然而實(shí)際上,筆數(shù)字化儀165可通過并行端口或本領(lǐng)域已知的其它接口和系統(tǒng)總線130而直接耦合到處理單元110。而且,雖然所示的數(shù)字化儀165離監(jiān)視器107較遠(yuǎn),但數(shù)字化儀165的可用輸入?yún)^(qū)最好與監(jiān)視器107的顯示區(qū)域有共同的范圍。此外,數(shù)字化儀165可被集成到監(jiān)視器107內(nèi),或可作為疊加或附著于監(jiān)視器107上的獨(dú)立設(shè)備而存在。
計(jì)算機(jī)100可工作在使用到一個(gè)或多個(gè)諸如遠(yuǎn)程計(jì)算機(jī)109這樣的遠(yuǎn)程計(jì)算機(jī)的邏輯連接的網(wǎng)絡(luò)化環(huán)境內(nèi)。遠(yuǎn)程計(jì)算機(jī)109可以是服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括與計(jì)算機(jī)100相關(guān)的許多或所有上述元件,然而圖1中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備111。圖1所述的邏輯連接包括局域網(wǎng)(LAN)112以及廣域網(wǎng)(WAN)113。這種網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
當(dāng)用于LAN網(wǎng)絡(luò)環(huán)境時(shí),計(jì)算機(jī)100通過網(wǎng)絡(luò)接口或適配器114連接到局域網(wǎng)112。當(dāng)用于WAN網(wǎng)絡(luò)環(huán)境時(shí),個(gè)人計(jì)算機(jī)100一般包括調(diào)制解調(diào)器115或其它裝置,用于在諸如因特網(wǎng)等廣域網(wǎng)113上建立通信。調(diào)制解調(diào)器115可以是內(nèi)置或外置的,它通過串行口接口106連接到系統(tǒng)總線130。在網(wǎng)絡(luò)化環(huán)境中,所述與個(gè)人計(jì)算機(jī)100相關(guān)的程序模塊或其中的一部分可存儲(chǔ)在遠(yuǎn)程存儲(chǔ)設(shè)備內(nèi)。
可以理解,所示網(wǎng)絡(luò)連接是說明性的,并且可以使用其它用于在計(jì)算機(jī)間建立通信鏈路的技術(shù)。假設(shè)存在諸如TCP/IP、以太網(wǎng)、FTP、HTTP、藍(lán)牙、IEEE 802.11X等各種已知協(xié)議,系統(tǒng)可以工作在客戶機(jī)—服務(wù)器配置中,以允許用戶從基于web的服務(wù)器中檢索網(wǎng)頁??梢杂酶鞣N常規(guī)網(wǎng)頁瀏覽器的任一種來顯示和操縱網(wǎng)頁上的數(shù)據(jù)。
圖像捕捉筆本發(fā)明的各方面包括將經(jīng)編碼的數(shù)據(jù)流置于表現(xiàn)該經(jīng)編碼的數(shù)據(jù)流的顯示形式中。(例如,如將與圖4B一起論述的,該經(jīng)編碼的數(shù)據(jù)流被用于創(chuàng)建圖形圖案。)所述顯示形式可以是印刷紙張(或其它物理媒質(zhì)),或可以是結(jié)合另一圖像或另一組圖像投影該經(jīng)編碼的數(shù)據(jù)流的顯示器。例如,該經(jīng)編碼的數(shù)據(jù)流可以被表現(xiàn)為紙張上的物理圖形圖像或疊加在顯示圖像上的圖形圖像(例如,表示文件的文本),或可以是顯示屏上的物理(不可修改)圖形圖像(這樣,任何由筆捕捉的圖像部分在顯示屏上是可定位的)。
對所捕捉圖像位置的確定可以被用于確定用戶與紙張、媒質(zhì)或顯示屏交互的位置。在本發(fā)明的某些方面中,筆可以是在紙上書寫的墨水筆。在其它的方面,筆可以是用戶在計(jì)算機(jī)顯示器表面書寫的觸針。在知道文檔上經(jīng)編碼的圖像或支持在計(jì)算機(jī)屏幕上顯示的文檔的情況下,任何交互可被提供回系統(tǒng)中。當(dāng)筆或觸針在文檔上來回移動(dòng)時(shí),系統(tǒng)可以通過用筆或觸針中的照相機(jī)反復(fù)地捕捉圖像來跟蹤由用戶控制的觸針的移動(dòng)。該顯示或印刷圖像可以是與空白或內(nèi)容豐富的紙張相關(guān)聯(lián)的水印,或可以是與疊加在屏幕上或內(nèi)建到屏幕中的顯示圖像或固定編碼相關(guān)聯(lián)的水印。
圖2A和2B示出了具有照相機(jī)203的筆201的說明性例子。筆201包括可包括或不包括墨水貯液器的筆尖202。照相機(jī)203從表面207捕捉圖像204。筆201還可包括如顯示在虛線框206中的附加傳感器和/或處理器。這些傳感器和/或處理器206也可包含將信息發(fā)送到另一支筆201和/或個(gè)人計(jì)算機(jī)的能力(例如,通過藍(lán)牙或其它無線協(xié)議)。
圖2B示出了由照相機(jī)203所觀看到的圖像。在一個(gè)說明性例子中,照相機(jī)203的視圖區(qū)(即,照相機(jī)圖像傳感器的分辨率)是32×32像素(其中N=32)。在該實(shí)施例中,所捕捉的圖像(32像素×32像素)對應(yīng)于由照相機(jī)203捕捉的表面平面圖的大約5mm×5mm的區(qū)域。因此,圖2B示出了32像素長×32像素寬的視圖區(qū)。N的大小是可調(diào)整的,使得較大的N對應(yīng)于較高的圖像分辨率。同樣地,雖然照相機(jī)203的視圖區(qū)在這里為了說明性的目的而被顯示為正方形,然而視圖區(qū)可以包括其它本領(lǐng)域公知的形狀。
由照相機(jī)203捕捉的圖像可以被定義為圖像幀序列{Ii},其中,Ii是由筆201在采樣時(shí)間ti捕捉的。根據(jù)系統(tǒng)配置和性能要求,采樣率可大可小。根據(jù)系統(tǒng)配置和性能要求,所捕捉圖像幀的尺寸可大可小。
由照相機(jī)203捕捉的圖像可以直接由處理系統(tǒng)使用,或可經(jīng)過預(yù)過濾。所述預(yù)過濾可以發(fā)生在筆201內(nèi)部,或發(fā)生在筆201外部(例如,在個(gè)人計(jì)算機(jī)中)。
圖2B的圖像尺寸是32×32像素。如果每個(gè)編碼單元尺寸是3×3像素,那么所捕捉的經(jīng)編碼單元的數(shù)目將大約為100單元。如果編碼單元尺寸是5×5像素,那么所捕捉的經(jīng)編碼單元的數(shù)目大約為36。
圖2A也示出了圖像平面209,來自位置204的圖案的圖像210在其上形成。接收自對象平面207上的圖案的光由透鏡208聚焦。透鏡208可以是單透鏡或由多部分組成的透鏡系統(tǒng),但為了簡化起見在這里被顯示為單透鏡。圖像捕捉傳感器211捕捉圖像210。
圖像傳感器211可以大到足以捕捉圖像210?;蛘撸瑘D像傳感器211可以大到足以捕捉筆尖202在位置212處的圖像。作為參考,在位置212處的圖像被稱為可視筆尖。需要注意,由于筆尖、透鏡208和圖像傳感器211的固定關(guān)系,對于圖像傳感器211的虛擬筆尖位置是固定的。
以下的轉(zhuǎn)換FS→P將由照相機(jī)捕捉的圖像的位置坐標(biāo)轉(zhuǎn)換為在紙上的實(shí)際圖像中的位置坐標(biāo)Lpaper=FS→P(LSensor)在書寫過程中,筆尖和紙?jiān)谕黄矫嫔?。因此,從虛擬筆尖到實(shí)際筆尖的轉(zhuǎn)換也是FS→PLpentip=FS→P(Lvirtual-pentip)轉(zhuǎn)換FS→P可以被估算為仿射變換。這簡化為FS→P′=sxsinθycosθxsinθy-cosθysinθx,sxcosθycosθxsinθy-cosθysinθx,0sysinθxcosθxsinθy-cosθysinθx,sycosθxcosθxsinθy-cosθysinθx,00,0,1]]>作為FS→P的估算,其中θx、θy、sx和sy是在位置204處捕捉的圖案的兩個(gè)方位的旋轉(zhuǎn)和比例。此外,我們可以通過將所捕捉的圖像與紙上相應(yīng)的真實(shí)圖像進(jìn)行匹配來精確化F′S→P?!熬_化”意指通過一種被稱為遞歸法的最優(yōu)化算法,取得對轉(zhuǎn)換F′S→P更為精確的估算。遞歸法將矩陣F′S-P作為初始值來處理。精確化的估算可以更精確地描述S和P之間的轉(zhuǎn)換。
接著,我們可以通過校準(zhǔn)來確定虛擬筆尖的位置。
我們將筆尖202放在紙上固定位置Lpentip。接著,我們傾斜該筆,使照相機(jī)203可以就不同的筆的姿勢來捕捉一系列圖像。對于每個(gè)捕捉的圖像,我們可以獲取轉(zhuǎn)換FS→P。我們可以從這種轉(zhuǎn)換獲取虛擬筆尖Lvirtual-pentip的位置
Lvirtual-pentip=FP→S(Lpentip)其中,Lpentip被初始化為(0,0),并且FP→S=(FS→P)-1通過對從每個(gè)圖像獲取的Lvirtual-pentip求平均值,可以確定虛擬筆尖Lvirtual-pentip的位置。有了Lvirtual-pentip,我們可以取得對Lpentip更為準(zhǔn)確的估算。在幾次反復(fù)之后,可以確定虛擬筆尖Lvirtual-pentip的準(zhǔn)確位置。
現(xiàn)在知道了虛擬筆尖Lvirtual-pentip的位置。我們也可以從所捕捉的圖像中獲取轉(zhuǎn)換FS→P。最后,我們可以使用該信息來確定實(shí)際筆尖Lpentip的位置Lpentip=FS→P(Lvirtual-pentip)數(shù)組編碼二維的數(shù)組可以通過折疊一維序列來構(gòu)造。包含足夠大量的比特的二維數(shù)組的任一部分可用于確定它在完整的二維數(shù)組中的位置。然而,會(huì)需要從一個(gè)捕捉的圖像或一些捕捉的圖像中確定位置。為了使所捕捉的圖像與該二維數(shù)組中兩個(gè)或多個(gè)位置相關(guān)聯(lián)的可能性最小,可使用無重復(fù)序列來創(chuàng)建數(shù)組。所創(chuàng)建序列的一個(gè)特性是該序列不在長度(或窗口)n上重復(fù)。以下描述創(chuàng)建一維序列,接著將該序列折疊成數(shù)組。
序列的構(gòu)造一數(shù)字序列可被用作編碼系統(tǒng)的開始點(diǎn)。例如,一序列(也被稱為m-序列)可被表示為在Fq域中的q-元素集。這里,q=pn,其中n≥1且p是質(zhì)數(shù)。該序列或m-序列可以由多種不同的技術(shù)生成,這些技術(shù)包含但不限于多項(xiàng)式除法。使用多項(xiàng)式除法,序列可以被定義如下Rl(x)Pn(x)]]>其中Pn(x)是域Fq[x]中次數(shù)為n的本原多項(xiàng)式(具有qn個(gè)元素)。Rl(x)是域Fq[x]中次數(shù)為1的非零多項(xiàng)式(其中l(wèi)<n)。該序列可以使用反復(fù)的過程用兩步創(chuàng)建第一,將這兩個(gè)多項(xiàng)式相除(得出域Fq里的一元素),第二,將余數(shù)乘以x。當(dāng)輸出開始重復(fù)時(shí),計(jì)算停止。該過程可以使用線性反饋移位寄存器來實(shí)現(xiàn),如關(guān)于計(jì)算機(jī)的IEEE學(xué)報(bào)43.5(IEEE Transactions on Computers 43.5)(1994年5月,第560-568頁)中Douglas W.Clark和Lih-Jyh Weng的論文“Maximal andNear-Maximal Shift Register SequencesEfficient Event Counters and Easy DiscreteLogarithms”所提出的。在這個(gè)環(huán)境中,在序列的循環(huán)移位和多項(xiàng)式Rl(x)之間建立起一種關(guān)系改變Rl(x)只循環(huán)地移位該序列且每個(gè)循環(huán)移位對應(yīng)于一多項(xiàng)式Rl(x)。所得序列的特性之一是,該序列具有qn-1的周期,且在一個(gè)周期內(nèi),寬度(或長度)n上,任一部分在序列中出現(xiàn)一次且只有一次。這被稱作為“窗特性”。周期qn-1也被稱為序列的長度,且n被稱為序列的次數(shù)。
上述的過程只是可用于建立具有窗特性的序列的多種過程之一。
數(shù)組的構(gòu)建可用于創(chuàng)建圖像(其一部分可用照相機(jī)捕捉)的數(shù)組(或m-數(shù)組)是一維序列或m-序列的擴(kuò)展。設(shè)A為周期(m1,m2)的一數(shù)組,即A(k+m1,l)=A(k,l+m2)=A(k,l)。當(dāng)n1×n2窗口通過A的周期位移時(shí),F(xiàn)q上的所有非零n1×n2矩陣都出現(xiàn)一次且只有一次。該特性也被稱為“窗特性”,因?yàn)槊總€(gè)窗口是唯一的。接著,窗口可被表示成周期為(m1,m2)數(shù)組(m1和m2為出現(xiàn)在數(shù)組中比特的水平和垂直數(shù)目)、階數(shù)為(n1,n2)的數(shù)組。
可以通過折疊序列來構(gòu)建二元數(shù)組(或m-數(shù)組)。一種方法是獲取一序列,接著將它折疊成m1×m2的尺寸,其中數(shù)組的長度是L=m1×m2=2n-1。或者,我們可以從我們希望覆蓋的預(yù)定尺寸的空間開始(例如,一頁紙,30頁紙或計(jì)算機(jī)監(jiān)視器的尺寸),確定區(qū)域(m1×m2),接著使用該尺寸使得L≥m1×m2,其中L=2n-1。
可使用多種不同的折疊技術(shù)。例如圖3A到3C示出了三種不同的序列。這些序列的每一種可被折疊成圖3D所示的數(shù)組。這三種不同的折疊方法被顯示為圖3D中的重疊,以及圖3E和3F中的光柵路徑。我們在此采用圖3D中所示的折疊方法。
為了創(chuàng)建如圖3D所示的折疊方法,我們創(chuàng)建一長度為L,階數(shù)為n的序列{ai}。接著,通過使該數(shù)組的每個(gè)比特如方程1所示地計(jì)算,從序列{ai}創(chuàng)建尺寸為m1×m2的數(shù)組{bkl},其中,gcd(m1,m2)=1,且L=m1×m2bkl=ai,其中,k=i mod(m1),l=i mod(m2),i=0,…,L-1(1)這種折疊方法或者可表示為將序列置于數(shù)組的對角線上,接著當(dāng)達(dá)到邊緣時(shí),從對側(cè)的邊緣繼續(xù)。
圖4A示出了可被用于編碼圖3D的數(shù)組的示例編碼技術(shù)。應(yīng)該理解,可以使用其它的編碼技術(shù)。例如,圖11示出了一種可供選擇的編碼技術(shù)。
參見圖4A,第一個(gè)比特401(例如,“1”)可由一列黑墨水表示。第二個(gè)比特402(例如,“0”)可由一行黑墨水表示。應(yīng)該理解,任何顏色的墨水可被用于表示各種比特。對墨水顏色唯一的要求是它要提供與媒質(zhì)背景的顯著對比,使得圖像捕捉系統(tǒng)可以辨認(rèn)。圖4A的比特可用單元的3×3矩陣表示。基于圖像捕捉系統(tǒng)的尺寸和分辨率,矩陣的尺寸可以被更改為任何尺寸。圖4C-4E中示出了比特0和1的交替表示。應(yīng)該理解,圖4A-4E的示例編碼對1和0的表示可以不受影響地交換。圖4C示出了以隔行排列的占據(jù)2行或列的比特表示。圖4D示出了在行和列中以虛線的形式對像素的可選排列。最后,圖4E示出了在行和列中以不規(guī)則間隔格式的像素表示(例如,兩個(gè)黑點(diǎn)后接著一個(gè)白點(diǎn))。
再參見圖4A,如果一個(gè)比特由3×3的矩陣表示,且成像系統(tǒng)在3×3的區(qū)域中檢測到一個(gè)黑的行和兩個(gè)白的行,那么就檢測到一個(gè)0(或是1)。如果檢測到圖像具有一個(gè)黑的列和兩個(gè)白的列,那么就檢測到一個(gè)1(或是0)。
這里使用一個(gè)以上像素或點(diǎn)來表示一個(gè)比特。使用單個(gè)的像素(或比特)來表示一個(gè)比特是易受到破壞的?;覊m、紙上的折痕、不平的表面等等造成了讀出數(shù)據(jù)單元的單個(gè)比特表示的困難。但是,應(yīng)該理解,可以使用不同的方法來圖形地表示平面上的數(shù)組。圖4C到4E中示出了一些方法。應(yīng)該理解,也可以使用其它的方法。在圖11中提出了一種方法僅使用空間—位移(space-shifted)的點(diǎn)。
比特流被用于創(chuàng)建圖4B的圖形圖案403。圖形圖案403包括12行和18列。該行和列由被使用比特表示401和402轉(zhuǎn)換為圖形表示的比特流形成。圖4B可被看作具有以下比特表示010101110110110010001010011101101100]]>解碼當(dāng)人們使用圖2A的筆書寫或?qū)⒐P移動(dòng)到接近已編碼圖案之處,照相機(jī)就捕捉圖像。例如,當(dāng)筆201壓住紙張并且筆201在紙張上的文檔上來回移動(dòng)時(shí),筆201會(huì)利用壓力傳感器。接著,處理圖像以確定所捕捉圖像對于經(jīng)編碼圖像的完整表示的方向,并提取組成所捕捉圖像的比特。
為了確定所捕捉圖像對于整個(gè)編碼區(qū)域的方向,我們會(huì)注意到并非圖5A-5D顯示的所有四個(gè)能想象得到的拐角會(huì)出現(xiàn)在圖形圖案403中。實(shí)際上,就正確的定位,圖5A所示的拐角類型不會(huì)存在于圖形圖案403中。因此,缺少圖5A所示的拐角類型的方向是正確的方向。
繼續(xù)到圖6,可分析由照相機(jī)601所捕捉的圖像,并確定其方向,以使其可按照由圖像601實(shí)際表示的位置來解釋。首先,考察圖像601以確定旋轉(zhuǎn)圖像所需要的角度θ,使得像素是水平和垂直對齊的。應(yīng)該注意,可選的柵格對齊是可能的,包括將底層的柵格到非水平和垂直排列的旋轉(zhuǎn)(例如,45度)。使用非水平和垂直對齊會(huì)提供從用戶消除視覺上分心的可能的好處,因?yàn)橛脩敉谧⒁獾狡渌鼒D案之前注意到水平和垂直圖案。為了簡化起見,柵格的方向(水平的和垂直的,和對底層?xùn)鸥竦娜魏纹渌男D(zhuǎn))被總稱為預(yù)定義的柵格方向。
接著,分析圖601,以確定缺少了哪個(gè)拐角。將圖像601旋轉(zhuǎn)至為解碼做好準(zhǔn)備的圖像603所需的旋轉(zhuǎn)量o被顯示為o=(θ加旋轉(zhuǎn)量{由缺少的拐角定義})。該旋轉(zhuǎn)量由圖7中的方程示出。再參見圖6,角度θ最初由使像素達(dá)到像素的水平或垂直(或其它預(yù)定義的柵格方向)排列的布局來確定,且圖像如602中所示的那樣旋轉(zhuǎn)。接著,執(zhí)行分析以確定缺少的拐角,并將圖像602旋轉(zhuǎn)至圖像603,以建立用于解碼的圖像。這里,圖像被逆時(shí)針旋轉(zhuǎn)了90度,使得圖像603就具有了正確的方向并且可被用于解碼。
應(yīng)該理解,旋轉(zhuǎn)角度θ可以在旋轉(zhuǎn)圖像601之前或之后應(yīng)用,來解決缺少的拐角。也應(yīng)該理解,考慮到所捕捉圖像中的噪聲,可能會(huì)存在所有的四個(gè)拐角。我們可以計(jì)算每種類型的拐角的數(shù)目,并選擇數(shù)目最少的那種類型作為缺少的拐角類型。
最后,圖像603中的代碼被讀出并與用于創(chuàng)建圖像403的原始比特流進(jìn)行相關(guān)。這種相關(guān)可以用多種方法實(shí)現(xiàn)。例如,可以使用遞歸法來執(zhí)行,其中,恢復(fù)的比特流與原始比特流中的所有其它比特流片斷作比較。第二,可在恢復(fù)的比特流和原始比特流之間執(zhí)行統(tǒng)計(jì)分析,例如,通過使用兩種比特流之間的漢明距離。應(yīng)該理解,可以使用多種方法來確定原始比特流中恢復(fù)的比特流的位置。
一旦我們得到了恢復(fù)的比特,我們需要在原始數(shù)組中定位所捕捉的圖像(例如,圖4B中所顯示的那個(gè))。由于許多項(xiàng)目使得在整個(gè)數(shù)組中確定比特片段位置的過程復(fù)雜化。第一,實(shí)際要捕捉的比特可能是模糊的(例如,照相機(jī)可能捕捉手寫的圖像,這使得原始代碼變得模糊)。第二,灰塵、折痕、反射等等也會(huì)在所捕捉的圖像中引起誤差。這些誤差使得定位程序更加困難。在這點(diǎn)上,圖像捕捉系統(tǒng)會(huì)需要用從圖像中提取的非連續(xù)比特來運(yùn)作。以下顯示了用來自圖像的非連續(xù)比特來運(yùn)作的方法。
設(shè)序列(或m-序列)I對應(yīng)于冪級(jí)數(shù)I(x)=1/Pn(x),其中n是m-序列的階數(shù),且所捕捉的圖像包含K比特的Ib=(b0b1b2…bK-1)t,其中K≥n,且上標(biāo)t表示矩陣或向量的轉(zhuǎn)置。K比特的位置s正好是I的循環(huán)位移的次數(shù),使得b0被位移至序列的開始處。那么該位移序列R對應(yīng)于冪級(jí)數(shù)變量xs/Pn(x),或R=Ts(I),其中T是循環(huán)位移算子。我們間接地得出該s。多項(xiàng)式模數(shù)Pn(x)形成一個(gè)域。確保xs≡r0+r1x+…rn-1xn-1mod(Pn(x))。因此,我們可得出(r0,r1,…,rn-1),接著求出s。
關(guān)系xs≡r0+r1x+…rn-1xn-1mod(Pn(x))意味著R=r0+r1T(I)+…+rn-1Tn-1(I)。寫成二元線性方程,就成為R=rtA(2)其中r=(r0r1r2…rn-1)t,且A=(I T(I)…Tn-1(I))t,它由I從0-位移到(n-1)-位移的循環(huán)位移組成?,F(xiàn)在,在R中只有稀疏的K比特可用來解出r。設(shè)R中bi和b0之間的下標(biāo)差為ki,i=1,2,…,k-1,那么R的第一和第(ki+1)個(gè)元素(i=1,2,…,k-1)正好是b0,b1,…,bk-1。通過選擇A的第一和第(ki+1)列(i=1,2,…,k-1),形成了以下的二元線性方程bt=rtM (3)其中,M是A的n×K子矩陣。
如果b是無誤差的,則r的解可被表示為rt=b~tM~-1---(4)]]>其中 是M的非退化n×n子矩陣,且 是b的相應(yīng)的子向量。
已知r的情況下,我們可使用Pohlig-Hellman-Silver算法,如關(guān)于計(jì)算機(jī)的IEEE學(xué)報(bào)43.5(IEEE Transactions on Computers 43.5)(1994年5月,第560-568頁)中Douglas W.Clark和Lih-Jyh Weng的論文“Maximal and Near-Maximal ShiftRegister SequencesEfficient Event Counters and Easy Discrete Logarithms”所提及的,來解出s,使得xs≡r0+r1x+…rn-1xn-1mod(Pn(x))。
因?yàn)榫仃嘇(其尺寸為n×L,其中L=2n-1)可能會(huì)非常大,我們應(yīng)避免存儲(chǔ)整個(gè)矩陣A。實(shí)際上,如我們在上述過程中所見的,給定下標(biāo)差為ki的提取的比特,只有A的第一和第(ki+1)列是和計(jì)算相關(guān)的。給定所捕捉圖像的尺寸,對ki的這種選擇是相當(dāng)有限的。因此,只需要保存那些在計(jì)算中涉及的列。這種列的總數(shù)遠(yuǎn)小于L(其中L=2n-1是m-序列的長度)。
糾錯(cuò)如果在b中存在誤差,那么r的解法變得更為復(fù)雜。因?yàn)榕c所捕捉的比特相關(guān)聯(lián)的矩陣M會(huì)在各個(gè)捕捉的圖像之間變化,因此不能輕易地應(yīng)用傳統(tǒng)的帶有糾錯(cuò)的解碼方法。
我們采用一種隨機(jī)的方法。假設(shè)b中誤差比特的數(shù)目ne與K相比是相對小的,那么從b的K比特中選擇出正確的n比特,且M的相應(yīng)子矩陣 為非退化的可能性是高的。
當(dāng)所選擇的這n比特都正確時(shí),bt和rtM之間的漢明距離,或與r相關(guān)聯(lián)的誤差比特的數(shù)目,應(yīng)該是最小的,其中r通過方程(4)來計(jì)算。重復(fù)幾次該過程,可能可以標(biāo)識(shí)出可推出最小誤差比特的正確的r。
如果只有一個(gè)r與最小誤差比特?cái)?shù)相關(guān)聯(lián),那么就將它作為正確的解。否則,如果有一個(gè)以上r與最小誤差比特?cái)?shù)相關(guān)聯(lián),則ne超過由M生成的代碼的糾錯(cuò)能力的可能性是高的,且解碼過程失敗。接著,系統(tǒng)會(huì)移到下一個(gè)捕捉的圖像。在另一個(gè)實(shí)現(xiàn)中,會(huì)考慮關(guān)于該筆的前一位置的信息。即,對于每個(gè)所捕捉的圖像,可標(biāo)識(shí)下一次會(huì)期望該筆的目的區(qū)域。例如,如果用戶在照相機(jī)的兩次圖像捕捉之間沒有提起筆,那么由第二圖像捕捉確定的筆的位置不應(yīng)該離第一位置太遠(yuǎn)。接著可以檢查與最小誤差比特?cái)?shù)目相關(guān)聯(lián)的每一r,來看由r計(jì)算所得的位置s是否滿足局部約束,即,該位置是否在規(guī)定的目的區(qū)域之內(nèi)。
如果位置s滿足局部約束,就返回?cái)?shù)組中所提取比特的X、Y位置。如果不滿足,解碼過程就失敗。
圖8描述了可被用于確定所捕捉的圖像在序列(或m-序列)中的位置的過程。第一,在步驟801中,接收到涉及所捕捉圖像的數(shù)據(jù)流。在步驟802中,從A提取相應(yīng)的列,并構(gòu)建矩陣M。
在步驟803中,隨機(jī)地從矩陣M中選擇n個(gè)獨(dú)立列向量,并且通過解方程(4)來確定向量r。在步驟804中執(zhí)行該過程Q次(例如,100次)。對循環(huán)次數(shù)的確定在循環(huán)次數(shù)計(jì)算一節(jié)中討論。
在步驟805中,r根據(jù)其相關(guān)聯(lián)的誤差比特?cái)?shù)目來排序??梢允褂帽绢I(lǐng)域公知的多種排序算法來完成這個(gè)排序。例如,可使用一選擇排序算法。當(dāng)數(shù)目Q不大時(shí),選擇排序算法是有利的。然而,如果Q變大,可使用可更有效地處理較大項(xiàng)目數(shù)目的其它排序算法(例如,合并分類)。
接著,系統(tǒng)在步驟806中通過檢查是否有多個(gè)r與最小誤差比特?cái)?shù)相關(guān)聯(lián),來確定是否成功地執(zhí)行了糾錯(cuò)。如果是,在步驟809中返回誤差,指示該解碼過程失敗。如果不是,在步驟807中計(jì)算序列(或m-序列)中被提取的比特的位置s,例如,通過使用Pohig-Hellman-Silver算法。
接著,計(jì)算數(shù)組中(X,Y)位置x=s mod m1且y=s mod m2,并在步驟808中返回結(jié)果。
位置確定圖9示出了用于確定筆尖位置的過程。輸入是由照相機(jī)捕捉的圖像,且輸出可以是筆尖的位置坐標(biāo)。同樣地,輸出可以包括(或不包括)其它信息,諸如所捕捉圖像的旋轉(zhuǎn)角度。
在步驟901中,從照相機(jī)接收到圖像。接著,可在步驟902中可任選地預(yù)處理接收到的圖像(如步驟902的虛線框中所示),以調(diào)整淺色和深色像素之間的對比度等等。
接著,在步驟903中,分析該圖像以確定其中的比特流。
接著,在步驟904中,多次從所述比特流中隨機(jī)地選擇n比特,并且確定接收到的比特流在原始序列(或m-序列)中的位置。
最后,一旦在步驟904中確定了所捕捉圖像的位置,可在步驟905中確定筆尖的位置。
圖10給出了關(guān)于步驟903和904更多的細(xì)節(jié),并且示出了在捕捉的圖像中提取比特流的方法。第一,在步驟1001中從照相機(jī)接收到圖像。接著,該圖像在步驟1002中可任選地經(jīng)歷圖像預(yù)處理(如步驟1002的虛線框所示)。在步驟1003中提取該圖案。這里,可提取不同行上的像素以找出該圖案的方向和角度θ。
接著,在步驟1004中分析接收到的圖像,以確定底層的網(wǎng)格線。如果在步驟1005中找到了網(wǎng)格線,那么就在步驟1006中從該圖案中提取代碼。接著在步驟1007中解碼該代碼,并且在步驟1008中確定筆尖的位置。如果在步驟1005中未找到網(wǎng)格線,那么在步驟1009中返回出錯(cuò)。
增強(qiáng)的解碼和糾錯(cuò)算法概述采用如圖12所示的本發(fā)明的實(shí)施例,給定從所捕捉的圖像中提取的比特1201(對應(yīng)于所捕捉的數(shù)組)和目的區(qū)域,m-數(shù)組解碼和糾錯(cuò)過程的變體解碼X、Y位置。圖12示出了該增強(qiáng)方法的過程1200的流程圖。過程1200包括兩個(gè)組成部分1251和1253。
·解碼一次。組成部分1251包括三部分。
隨機(jī)比特選擇隨機(jī)地選擇被提取比特1201的子集(步驟1203) 解碼該子集(步驟1205) 使用局部約束確定X、Y位置(步驟1209)·使用智能比特選擇來解碼。組成部分1253包括四部分。
智能比特選擇選擇被提取比特的另一個(gè)子集(步驟1217) 解碼該子集(步驟1219) 調(diào)整步驟1217和步驟1219反復(fù)的次數(shù)(循環(huán)次數(shù))(步驟1221) 使用局部約束確定X、Y位置(步驟1225)本發(fā)明的實(shí)施例利用了一種謹(jǐn)慎策略,依照局部約束來選擇比特、調(diào)整循環(huán)次數(shù)和確定X、Y位置(位置坐標(biāo)),所述局部約束被提供給過程1200。在組成部分1251和1253中,步驟1205和1219(“解碼一次”)都使用方程(4)來計(jì)算r。
設(shè)為被解碼的比特,即t=rtM (5)b和之間的差別是與r相關(guān)聯(lián)的誤差比特。
圖12示出了依照本發(fā)明的實(shí)施例,用于解碼從所捕捉的圖像中提取的比特1201的過程1200的流程圖。程序1200包含組成部分1251和1253。組成部分1251取得與所捕捉的圖像(對應(yīng)于所捕捉的數(shù)組)相關(guān)聯(lián)的提取比特1201(包含K比特)。在步驟1203中,從提取比特1201中隨機(jī)地選擇n比特(其中n是m-數(shù)組的階數(shù))。在步驟1205中,過程1200解碼一次并計(jì)算r。在步驟1207中,過程1200確定對b是否檢測到誤差比特。如果步驟1207確定沒有誤差比特,則在步驟1209中確定所捕捉數(shù)組位置的X、Y坐標(biāo)。對于步驟1211,如果X、Y坐標(biāo)滿足局部約束,即,坐標(biāo)在目的區(qū)域內(nèi),則過程1200在步驟1213中提供X、Y位置(諸如給另一個(gè)過程或用戶接口)。否則,步驟1215提供失敗指示。
如果步驟1207檢測到b中的誤差比特,為了在誤差比特存在的情況下解碼,就執(zhí)行組成部分1253。步驟1217從所提取的比特1201中選擇另一組n比特(它與步驟1203中選擇的n比特至少相差一個(gè)比特)。步驟1221和1223確定為了解碼所提取的比特所需要反復(fù)的次數(shù)(循環(huán)次數(shù))。步驟1225通過測試在步驟1219中獲取的哪些候選者滿足局部約束來確定所捕捉數(shù)組的位置。將更詳細(xì)地討論步驟1217-1225。
智能比特選擇步驟1203從所提取比特1201(具有K個(gè)比特)中隨機(jī)地選擇n比特,并求出r1??墒褂梅匠?5)來計(jì)算被解碼的比特。設(shè)I1={k∈{1,2,…,K}|bk=k},I1={k∈{1,2,…,K}|bk≠k},其中k是的第k個(gè)比特,B1={bk|k∈I1}且B1={bk|k∈I1},即,B1是解碼結(jié)果與原始比特相同的比特,且B1是解碼結(jié)果與原始比特不同的比特,I1和I1是這些比特相應(yīng)的下標(biāo)。應(yīng)該理解,當(dāng)從B1中選擇任意n比特時(shí),將獲得相同的r1。因此,如果不仔細(xì)選擇下n個(gè)比特,所選擇的比特可能是B1的子集,這會(huì)導(dǎo)致獲得相同的r1。
為了防止這樣的情況,步驟1217依照以下的過程選擇下n個(gè)比特1.從B11303中選擇至少一個(gè)比特,其余的比特隨機(jī)地從B11301和B11303中選出,如對應(yīng)于比特排列1351的圖13所示。接著過程1200通過計(jì)算b^2t=r2tM2]]>得出r2,并找出B21305、1309和B21307、1311。
2.重復(fù)步驟1。當(dāng)對每個(gè)Bi(i=1,2,3…,x-1,其中x是當(dāng)前循環(huán)數(shù)目),選擇下n個(gè)比特時(shí),至少有一個(gè)比特是從Bi中選出的。當(dāng)沒有這樣的比特子集可被選擇或達(dá)到循環(huán)次數(shù)時(shí),該反復(fù)終止。
循環(huán)次數(shù)計(jì)算使用糾錯(cuò)組成部分1253,在每次循環(huán)后調(diào)整所需反復(fù)次數(shù)(循環(huán)次數(shù))。由期望的誤差率來確定循環(huán)次數(shù)。其中并非所有被選擇的n比特都是正確的期望誤差率pe是pe=(1-CK-nenCKn)lt≈-e-lt(K-nK)ne---(6)]]>其中l(wèi)t表示循環(huán)次數(shù),它由一個(gè)常數(shù)初始化,K是從所捕捉數(shù)組中提取的比特的數(shù)目,ne表示在過程1200的反復(fù)期間出現(xiàn)的最小數(shù)目的誤差比特,n是m-數(shù)組的階數(shù),且CKn是組合的數(shù)目,其中n比特是從K比特中選取的。
在該實(shí)施例中,我們希望pe小于e-5=0.0067。與(6)結(jié)合,我們得到lti=min(lti-1,5(K-nK)ne+1)---(7)]]>調(diào)整循環(huán)次數(shù)會(huì)顯著地減少糾錯(cuò)所需的過程1253反復(fù)的次數(shù)。
使用局部約束來確定X、Y位置在步驟1209和1225中,被解碼的位置應(yīng)該在目的區(qū)域內(nèi)。所述目的區(qū)域是算法的輸入,且根據(jù)不同的應(yīng)用,它可以是各種尺寸和位置,或簡單地是整個(gè)m-數(shù)組。一般地,它可以由應(yīng)用預(yù)知。例如,如果已確定先前的位置,考慮到書寫速度,當(dāng)前筆尖的目的區(qū)域應(yīng)該接近先前的位置。然而,如果筆被提起,那么它的下一個(gè)位置可以是任何地方。因此,在這種情況下,目的區(qū)域應(yīng)該是整個(gè)m-數(shù)組。由以下步驟確定正確的X、Y位置。
在步驟1224中,過程1200選擇ri,其相應(yīng)的誤差比特的數(shù)目少于Ne=log10(3lt)log10(K-nK)×log10(10lr)---(8)]]>其中l(wèi)t是實(shí)際的循環(huán)次數(shù),且lr表示局部約束率,由以下計(jì)算 其中L是m-數(shù)組的長度。
步驟1224以誤差比特?cái)?shù)目升序來對ri排序。接著,步驟1225、1211和1212找出第一ri,在該ri中相應(yīng)的X、Y位置在目的區(qū)域內(nèi)。最后,步驟1225、1211和1212返回X、Y位置作為結(jié)果(經(jīng)由步驟1213),或返回解碼程序失敗的指示(經(jīng)由步驟1215)。
增強(qiáng)的解碼和糾錯(cuò)程序的說明性例子一說明性例子說明了如由組成部分1251和1253所執(zhí)行的過程1200。假設(shè)n=3,K=5,I=(I0I1…I6)t是階數(shù)n=3的m-序列。那么A=I0I1I2I3I4I5I6I6I0I1I2I3I4I5I5I6I0I1I2I3I4---(10)]]>同樣假設(shè)所提取比特b=(b0b1b2b3b4)t,其中K=5,實(shí)際上是m-序列的第s、(s+1)、(s+3)、(s+4)和(s+6)比特(這些數(shù)目實(shí)際上是m-數(shù)組長度L=2n-1=23-1=7的模數(shù))。因此M=I0I1I3I4I6I6I0I2I3I5I5I6I1I2I4---(11)]]>它是由A的第0、1、3、4和6列組成。唯一地確定m-數(shù)組中b0的X、Y位置的數(shù)字s可在解出r=(r0r1r2)t后計(jì)算出,所述r=(r0r1r2)t被期望實(shí)現(xiàn)bt=rtM。由于b中可能的誤差比特,可能不能完全地實(shí)現(xiàn)bt=rtM。
過程1200利用以下的程序。從b中隨機(jī)地選擇n=3比特,為b~1t=b0b1b2.]]>求出r1b~1t=r1tM~1---(12)]]>其中 由M的第0、1和2列組成。(注意, 是n×n矩陣,且r1t是1×n向量,這樣 是所選比特的1×n向量。)接著,計(jì)算被解碼的比特1t=r1tM (13)其中M是n×K矩陣,且r1t是1×n向量,使得1t是1×K向量。如果1等于b,即,沒有檢測到誤差,那么步驟1209確定X、Y位置,且步驟1211確定解碼的位置是否在目的區(qū)域內(nèi)。如果是,解碼是成功的,就執(zhí)行步驟1213。否則,如圖1215所示,解碼失敗。如果1不同于b,那么在b中檢測到誤差比特,就執(zhí)行組成部分1253。步驟1217確定集合B1,為{b0b1b2b3},其中解碼的比特與原始比特相同。因此,B1={b4}(對應(yīng)于圖13中的比特排列1351)。循環(huán)次數(shù)(lt)被初始化為一常量,例如,100,根據(jù)應(yīng)用,它是可變化的。注意,對應(yīng)于r1的誤差比特?cái)?shù)等于1。接著,步驟1221根據(jù)方程(7)來更新循環(huán)次數(shù)(lt),lt1=min(lt,13)=13。
步驟1217接著從b選擇另外的n=3比特。如果這些比特都屬于B1,即{b0b2b3},那么步驟1219將再次確定r1。為了防止這樣的重復(fù),步驟1217會(huì)從B1選擇(舉例而言)一個(gè)比特{b4},并保留來自B1的兩個(gè)比特{b0b1}。
所選擇的三個(gè)比特形成了b~2t=b0b1b4.]]>步驟1219求出r2b~2t=r2tM~2---(14)]]>其中 由M的第0、1和4列組成。
步驟1219計(jì)算b~2t=r2tM.]]>找出這樣的B2,例如{b0b1b4},使得2和b是相同的。那么B2={b2b3}(對應(yīng)于圖13中的比特排列1353)。步驟1221根據(jù)方程(7)更新循環(huán)次數(shù)(lt)。注意與r2相關(guān)聯(lián)的誤差比特的數(shù)目等于2。代入(7),lt2=min(lt1,32)=13。
因?yàn)樾枰獔?zhí)行另一反復(fù),步驟1217從b中選擇另外的n=3比特。所選擇的比特應(yīng)該不都屬于B1或B2。因此,步驟1217,舉例而言,可從B1選擇一個(gè)比特{b4},從B2選擇一個(gè)比特{b2}并保留一個(gè)比特{b0}。
繼續(xù)所述的對r求解、比特選擇和循環(huán)次數(shù)調(diào)整,直至我們不能選出任何新的n=3比特,它們不完全屬于任何先前的Bi,或達(dá)到了最高循環(huán)次數(shù)lt。
假設(shè)過程1200計(jì)算5個(gè)ri(i=1,2,3,4,5),其誤差比特的數(shù)目分別對應(yīng)于1、2、4、3、2。(實(shí)際上,對于這個(gè)例子,誤差比特?cái)?shù)目不能超過2,但說明性例子示出了更大數(shù)目的誤差比特以說明該算法)。舉例而言,步驟1224選擇ri的例如r1,r2,r4,r5,其對應(yīng)的誤差比特?cái)?shù)低于(8)中所示的Ne。
步驟1224以所選擇向量r1,r2,r4,r5誤差比特?cái)?shù)的升序來對它們排序r1,r2,r5,r4。步驟1225、1211和1212從已排序的候選列表中找出第一向量r,例如r5,其對應(yīng)的位置在目的區(qū)域以內(nèi)。接著,步驟1213輸出對應(yīng)的位置。如果沒有一個(gè)位置是在目的區(qū)域以內(nèi)的,解碼程序失敗,如步驟1215所示的。
裝置圖14示出了依照本發(fā)明的實(shí)施例對從所捕捉的數(shù)組提取的比特1201進(jìn)行解碼的裝置1400。裝置1400包含比特選擇模塊1401、解碼模塊1403、位置確定模塊1405、輸入接口1407和輸出接口1409。在這個(gè)實(shí)施例中,接口1407會(huì)從不同的來源接收提取的比特1201,所述的來源包括支持照相機(jī)203的模塊(如圖2A中所示)。比特選擇模塊1401依照步驟1203和1217從提取的比特中選擇n比特。解碼模塊1403依照步驟1204和1219解碼所選擇的比特(如由比特選擇模塊1401選擇的,從K個(gè)提取比特中選取的n比特),以確定檢測到的比特誤差和相應(yīng)的向量ri。解碼模塊1403將確定的向量ri提交給位置確定模塊1405。位置確定模塊1405依照步驟1209和1225確定所捕捉數(shù)組的X、Y坐標(biāo)。位置確定模塊1405將結(jié)果提交給輸出接口1409,如果成功,所述的結(jié)果包括X、Y坐標(biāo),如果不成功,所述的結(jié)果為一失敗指示。輸出接口1409會(huì)將結(jié)果提交給另一模塊,所述另一模塊可執(zhí)行進(jìn)一步的處理或可顯示該結(jié)果。
裝置1400可以設(shè)想不同形式的實(shí)現(xiàn),包括利用計(jì)算機(jī)可讀媒質(zhì)的模塊和利用諸如專用集成電路(ASIC)等專門硬件的模塊。
本領(lǐng)域的技術(shù)人員會(huì)理解,可以利用帶有包含用于控制計(jì)算機(jī)系統(tǒng)的指令的相關(guān)聯(lián)的計(jì)算機(jī)可讀媒質(zhì)的計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn)這里所揭示的示例性實(shí)施例。所述計(jì)算機(jī)系統(tǒng)會(huì)包括至少一臺(tái)計(jì)算機(jī),諸如微處理器、數(shù)字信號(hào)處理器和相關(guān)聯(lián)的外圍電子線路。
雖然使用所附的權(quán)利要求來定義本發(fā)明,但這些權(quán)利要求是說明性的,本發(fā)明意在包含這里所描述的元素和步驟的任何組合或子組合。因此,有許多可替換組合可用于定義本發(fā)明,它們包含來自本說明書的一個(gè)或多個(gè)元素的各種組合和子組合,包括描述、權(quán)利要求和附圖。按照本發(fā)明,本發(fā)明各方面的可替換組合,無論是單獨(dú)或與這里所定義的一個(gè)或多個(gè)元素或步驟相組合,可被用作本發(fā)明的修改和替換,或作為本發(fā)明的一部分,這對于相關(guān)領(lǐng)域的技術(shù)人員是顯而易見的。這里所包含的對本發(fā)明的書面描述意在包括所有這樣的修改和替換。
權(quán)利要求
1.一種用于確定所捕捉數(shù)組位置的方法,其特征在于,所述的方法包括(A)獲取與所捕捉數(shù)組相關(guān)聯(lián)的所提取的比特;(B)如果不存在誤差比特,則確定位置坐標(biāo);以及(C)如果存在誤差比特,則通過非重復(fù)比特選擇,從所提取的比特的一部分確定所述位置坐標(biāo),其中,所述的位置坐標(biāo)符合一局部約束。
2.如權(quán)利要求1所述的方法,其特征在于,所述(B)包含(i)從所提取的比特中選擇第一子集;(ii)解碼所述第一子集;以及(iii)響應(yīng)于(ii),如果沒有檢測到誤差比特,確定所捕捉數(shù)組的位置坐標(biāo)。
3.如權(quán)利要求2所述的方法,其特征在于,所述(ii)利用第一矩陣方程b~t=rtM~,]]>其中 是M的子矩陣,來確定向量r。
4.如權(quán)利要求3所述的方法,其特征在于,所述(ii)還利用第二矩陣方程t=rtM來確定經(jīng)解碼的比特。
5.如權(quán)利要求2所述的方法,其特征在于,所述(iii)包含(1)將經(jīng)解碼的比特與所提取的比特作比較。
6.如權(quán)利要求1所述的方法,其特征在于,所述(C)包含(i)如果檢測到誤差比特,則從所提取的比特中選一擇不同的子集,其中,所述不同子集中至少一個(gè)比特是來自先前的誤差比特集;(ii)解碼所述不同子集的相應(yīng)比特;(iii)響應(yīng)于(ii),確定是否應(yīng)執(zhí)行另一解碼反復(fù);(iv)如果應(yīng)執(zhí)行另一解碼反復(fù),則從所提取的比特中選擇另一子集并重復(fù)(ii);以及(v)如果不應(yīng)執(zhí)行另一解碼反復(fù),則確定所捕捉數(shù)組的位置坐標(biāo)。
7.如權(quán)利要求6所述的方法,其特征在于,由t=rtM計(jì)算所得的比特和所提取的比特是不同的。
8.如權(quán)利要求2所述的方法,其特征在于,所述(B)還包含(iv)驗(yàn)證所述位置坐標(biāo)在一目的區(qū)域內(nèi)。9.如權(quán)利要求6所述的方法,其特征在于,所述(C)還包含(vi)驗(yàn)證所述位置坐標(biāo)在一目的區(qū)域內(nèi)。
10.如權(quán)利要求2所述的方法,其特征在于,所述(i)包含(1)隨機(jī)地從所提取的比特中選擇所述第一子集的組成比特。
11.如權(quán)利要求6所述的方法,其特征在于,所述(i)包含(1)以根據(jù)經(jīng)解碼的比特是否在所述方法的前一次反復(fù)中滿足矩陣方程bt=rtM的方式,從所提取的比特中選擇所述不同子集的相應(yīng)比特;以及(2)計(jì)算從t=rtM計(jì)算出的比特和所提取的比特之間有多少不同比特。
12.如權(quán)利要求6所述的方法,其特征在于,所述(v)包含(1)如果確定的向量對應(yīng)于低于一閥值的誤差比特?cái)?shù),則選擇所確定的向量ri;以及(2)響應(yīng)于(1),根據(jù)相應(yīng)的誤差比特?cái)?shù)的升序?qū)Χ鄠€(gè)所確定的向量排序。
13.如權(quán)利要求12所述的方法,其特征在于,所述(v)還包含(3)響應(yīng)于(2),找出對應(yīng)于一目的區(qū)域內(nèi)所述位置坐標(biāo)的第一解。
14.如權(quán)利要求13所述的方法,其特征在于,所述(v)還包含(4)如果沒有位于所述目的區(qū)域內(nèi)的解,則指示解碼失敗。
15.如權(quán)利要求6所述的方法,其特征在于,所述(iii)包含(1)根據(jù)誤差比特的期望誤差率,調(diào)整所述方法所需的反復(fù)次數(shù)。
16.如權(quán)利要求6所述的方法,其特征在于,所述(ii)包含(1)通過利用第一矩陣方程b~t=rtM~,]]>確定向量r;(2)通過利用第二矩陣方程t=rtM,計(jì)算經(jīng)編碼的比特,其中,所述向量由(1)確定;以及(3)將經(jīng)解碼的比特和所提取的比特作比較,以找出若干誤差比特。
17.一種具有用于執(zhí)行權(quán)利要求1所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒質(zhì)。
18.一種具有用于執(zhí)行權(quán)利要求2所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒質(zhì)。
19.一種具有用于執(zhí)行權(quán)利要求6所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒質(zhì)。
20.一種確定所捕捉數(shù)組的位置坐標(biāo)的裝置,其特征在于,它包含(a)一比特選擇模塊,它應(yīng)用一智能策略來選擇比特的子集,所述比特子集含有來自先前誤差比特集的至少一個(gè)比特,所述子集從對應(yīng)于所捕捉數(shù)組的所提取比特中選擇;(b)一解碼模塊,它處理所述比特的子集,以確定關(guān)于所提取比特的誤差信息,并且從所述誤差信息確定是否需要另一解碼的反復(fù);以及(c)一位置確定模塊,它處理所述誤差信息,以確定所捕捉數(shù)組的位置坐標(biāo),其中,所述位置坐標(biāo)在一目的區(qū)域內(nèi)。
21.如權(quán)利要求20所述的裝置,其特征在于,它還包含一輸入接口,它接收所提取的比特,并將所提取的比特提交給所述比特選擇模塊用于處理。
22.如權(quán)利要求20所述的裝置,其特征在于,所述的解碼模塊為第i次反復(fù)計(jì)算位置矩陣ri,并通過將根據(jù)t=rtM所確定的經(jīng)解碼比特與所提取比特作比較來確定誤差比特。
23.如權(quán)利要求20所述的裝置,其特征在于,它還包含一輸出接口,它提供所捕捉數(shù)組的位置坐標(biāo),其中,所述位置坐標(biāo)由所述位置確定模塊確定。
24.一種用于確定所捕捉數(shù)組的位置坐標(biāo)的方法,其特征在于,所述方法包含(A)接收與所捕捉數(shù)組相關(guān)聯(lián)的所提取的比特;(B)從所提取的比特中選擇第一比特子集;(C)解碼所述第一比特子集;(D)如果沒有檢測到誤差比特,確定所捕捉數(shù)組的位置坐標(biāo),所述位置坐標(biāo)在一目的區(qū)域內(nèi);(E)從所提取的比特中選擇一不同的子集,其中,所述不同子集的至少一個(gè)比特不滿足矩陣方程t=rtM;(F)解碼所述不同子集的所選擇的比特;(G)調(diào)整執(zhí)行(F)的反復(fù)次數(shù),所述次數(shù)按照(F)的結(jié)果來調(diào)整;(H)如果應(yīng)當(dāng)執(zhí)行另一解碼反復(fù),重復(fù)(E)-(G);以及(I)如果不應(yīng)執(zhí)行另一解碼反復(fù),確定所捕捉數(shù)組的位置坐標(biāo),其中,所述位置坐標(biāo)在所述目的區(qū)域內(nèi)。
全文摘要
描述了一種用于從較大的圖像中確定所捕捉數(shù)組位置的過程和裝置。一非重復(fù)序列可以被折疊成一非重復(fù)數(shù)組,其中,所述數(shù)組對于給定尺寸的每個(gè)鄰近窗口都是唯一的。會(huì)捕捉到鄰近窗口數(shù)組的一部分,并解碼對應(yīng)于所捕捉數(shù)組的所提取比特的子集來標(biāo)識(shí)誤差比特。通過進(jìn)一步處理所述經(jīng)解碼的比特,以在非重復(fù)數(shù)組中確定所捕捉數(shù)組的位置。
文檔編號(hào)G06T7/40GK1744104SQ200510004179
公開日2006年3月8日 申請日期2005年1月6日 優(yōu)先權(quán)日2004年1月6日
發(fā)明者王堅(jiān), 王強(qiáng), 馬曉旭, 李越, 林宙辰 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1