国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      2-d陣列中的譯碼和差錯(cuò)校正的制作方法

      文檔序號:6559583閱讀:137來源:國知局
      專利名稱:2-d陣列中的譯碼和差錯(cuò)校正的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及使用數(shù)字筆和介質(zhì)交互作用。本發(fā)明尤其涉及在和一個(gè)或多個(gè)表面交互作用時(shí)確定數(shù)字筆的位置。
      背景計(jì)算機(jī)用戶習(xí)慣于使用鼠標(biāo)和鍵盤作為和個(gè)人計(jì)算機(jī)交互作用的方法。雖然個(gè)人計(jì)算機(jī)與書面文件相比提供了大量便利,但多數(shù)用戶繼續(xù)使用打印的紙從事某些活動(dòng)。一些這種活動(dòng)包括閱讀和標(biāo)注書面文件。在標(biāo)注的情況下,由于是由用戶將標(biāo)注記錄到文件上,所以打印的文件變得更加重要。但是,給打印的文件標(biāo)注的一個(gè)困難在于,之后需要將標(biāo)注再次輸入回文件的電子形式中。這要求原始用戶或另一個(gè)用戶辛苦地讀完標(biāo)注并將它們輸入個(gè)人計(jì)算機(jī)中。在某些情況下,用戶掃描入標(biāo)注和原文,從而產(chǎn)生新的文件。這些反復(fù)步驟使打印的文件和文件的電子版本之間的交互作用變得在重復(fù)的基礎(chǔ)上很難處理。此外,掃描入的圖像常常是不能修改的。并沒有辦法將標(biāo)注從原文中分開。這使得使用標(biāo)注變得很麻煩。因此,需要一種處理標(biāo)注的改進(jìn)方法。
      獲取手寫信息的一種技術(shù)是通過使用在書寫時(shí)可以確定位置的筆。提供這種功能的一種筆是Anoto公司的Anoto筆。這種筆通過使用照相機(jī)來獲取紙上用預(yù)定圖形編碼的圖像。圖像圖形的一個(gè)實(shí)例如

      圖11所示。Anoto筆(Anoto公司生產(chǎn))用該圖形來確定紙上筆的位置。但是,不清楚利用Anoto筆所采用的系統(tǒng)能使位置的確定多么有效。為了有效地確定獲取的圖像位置,需要一種提供所獲取的圖像的有效譯碼的系統(tǒng)。
      發(fā)明概述本發(fā)明的方面提供了至少一個(gè)上述問題的解決方法,從而能將所觀察的圖像上的一個(gè)或多個(gè)位置定位。該所觀察的圖像可以是在打印的圖像上或可以是顯示的計(jì)算機(jī)圖像上的圖示。本發(fā)明的方面中包括允許有效的譯碼所捕獲的圖像的譯碼處理過程,它被用來有效地確定圖像的位置。通過附圖和相關(guān)描述可以理解本發(fā)明的這些或其它方面。
      附圖概述結(jié)合附圖可以更好地理解本發(fā)明的上述概述,以及以下較佳實(shí)施例的詳細(xì)描述,這些附圖作為實(shí)例,但不作為本發(fā)明的限制。
      圖1示出可以結(jié)合本發(fā)明的實(shí)施例使用的計(jì)算機(jī)的一般描述。
      圖2A和2B示出根據(jù)本發(fā)明的實(shí)施例的圖像獲取系統(tǒng)和相應(yīng)的所獲取圖像。
      圖3A至3F示出根據(jù)本發(fā)明的實(shí)施例的各種序列和折疊技術(shù)。
      圖4A至4E示出根據(jù)本發(fā)明的實(shí)施例的各種編碼系統(tǒng)。
      圖5A至5D示出和根據(jù)圖4A和4B的編碼系統(tǒng)相關(guān)的4種可能的合成邊角(resultant corner)。
      圖6示出根據(jù)本發(fā)明的實(shí)施例的所獲取的圖像部分的旋轉(zhuǎn)。
      圖7示出結(jié)合圖4A至4E的編碼系統(tǒng)使用的各種旋轉(zhuǎn)角度。
      圖8示出根據(jù)本發(fā)明的實(shí)施例的用于確定所獲取陣列的位置的處理過程。
      圖9示出根據(jù)本發(fā)明的實(shí)施例的用于確定所獲取圖像的位置的方法。
      圖10示出根據(jù)本發(fā)明的實(shí)施例的用于確定所獲取圖像的位置的另一個(gè)方法。
      圖11示出文件中的編碼空間的常規(guī)表示。
      詳細(xì)描述本發(fā)明的方面涉及確定相對更大的圖像的所獲取圖像位置。這里描述的位置確定方法和系統(tǒng)可以結(jié)合多功能筆使用。
      為便于讀者閱讀,用副標(biāo)題隔開以下的描述。這些副標(biāo)題包括術(shù)語、常規(guī)用途的計(jì)算機(jī)、圖像獲取筆、陣列的編碼、譯碼、差錯(cuò)校正和位置確定。
      術(shù)語筆-可以或不可以包括儲(chǔ)存墨水的任何書寫工具。在某些實(shí)例中,不含墨水的觸筆可以用作根據(jù)本發(fā)明實(shí)施例的筆。
      照相機(jī)-可以從紙或任何其它的介質(zhì)獲取圖像的圖像獲取系統(tǒng)。
      常規(guī)用途的計(jì)算機(jī)圖1是可以用來實(shí)現(xiàn)本發(fā)明的各方面的常規(guī)用途數(shù)字計(jì)算機(jī)環(huán)境實(shí)例的原理框圖。圖1中,計(jì)算機(jī)100包括處理單元110、系統(tǒng)存儲(chǔ)器120和將包括系統(tǒng)存儲(chǔ)器120的各種系統(tǒng)部件連接到處理單元110的系統(tǒng)總線130。系統(tǒng)總線130可能是多種類型總線結(jié)構(gòu)的任一種,包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍設(shè)備總線、及使用各種總線結(jié)構(gòu)的任一種的局部總線。系統(tǒng)存儲(chǔ)器120包括只讀存儲(chǔ)器(ROM)140和隨機(jī)存取存儲(chǔ)器(RAM)150。
      基本輸入/輸出系統(tǒng)160(BIOS),包括在ROM140中存儲(chǔ)的有助于在諸如在啟動(dòng)期間,計(jì)算機(jī)100內(nèi)的元件之間傳送信息的基本程序(routine)。計(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ǔ)。本技術(shù)領(lǐng)域內(nèi)的熟練的技術(shù)人員將理解,可以存儲(chǔ)由計(jì)算機(jī)訪問的數(shù)據(jù)的其它類型計(jì)算機(jī)可讀介質(zhì),諸如磁帶盒、閃存卡、數(shù)字視頻磁盤、伯努力盒式磁帶、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等等,還可以用于實(shí)例操作環(huán)境中。
      大量的程序模塊可以存儲(chǔ)在硬盤驅(qū)動(dòng)器170、磁盤190、光盤192、ROM140或RAM150上,這些程序模塊包括操作系統(tǒng)195、一個(gè)或多個(gè)應(yīng)用程序196、其它的程序模塊197和程序數(shù)據(jù)198。用戶可以通過諸如鍵盤101和定位設(shè)備102將命令和信息輸入計(jì)算機(jī)100。其它的輸入設(shè)備(未示出)可以包括麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星碟(satellite dish)、掃描儀等等。這些和其它輸入設(shè)備常常通過和系統(tǒng)總線連接的串行口接口106連接到處理單元110,但也可以由其它接口連接,諸如并行口、游戲口或通用串行總線(USB)。此外,這些裝置可以通過適當(dāng)?shù)慕涌?未示出)直接連接到系統(tǒng)總線。監(jiān)視器107或其它類型的顯示器裝置也通過諸如視頻適配器108的接口連接到系統(tǒng)總線130。除了監(jiān)視器,個(gè)人計(jì)算機(jī)通常包括其它外圍輸出裝置(未示出),諸如揚(yáng)聲器和打印機(jī)。在較佳的實(shí)施例中,為了數(shù)字化地獲取徒手輸入而提供了筆形數(shù)字轉(zhuǎn)換器165和附隨筆或觸筆166。雖然示出了筆形數(shù)字轉(zhuǎn)換器165和串行口之間的直接連接,但實(shí)際上,如該技術(shù)領(lǐng)域中已知的,筆形數(shù)字轉(zhuǎn)換器165可以通過并行口或其它接口以及系統(tǒng)總線130直接和處理單元110連接。此外,雖然示出數(shù)字轉(zhuǎn)換器165和監(jiān)視器107分開,但較佳地,數(shù)字轉(zhuǎn)換器165的可用輸入?yún)^(qū)域和監(jiān)視器107的顯示器區(qū)域是協(xié)同擴(kuò)展的。此外,數(shù)字轉(zhuǎn)換器165可以結(jié)合到監(jiān)視器107中,或可以作為分開的裝置加入或另外被附加到監(jiān)視器107。
      計(jì)算機(jī)100可以邏輯連接到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī),諸如遠(yuǎn)程計(jì)算機(jī)109來在網(wǎng)絡(luò)環(huán)境中工作。遠(yuǎn)程計(jì)算機(jī)109可以是服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等裝置或其它普通的網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括許多或全部以上所述和計(jì)算機(jī)100相關(guān)的元件,雖然在圖1中只說明了存儲(chǔ)裝置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ǔ)器裝置。
      可以理解,所示的網(wǎng)絡(luò)連接是說明性的,而可以使用用于建立計(jì)算機(jī)之間的通信連接的其它技術(shù)。假定存在各種已知的協(xié)議中的一種,諸如TCP/IP、以太網(wǎng)、FTP、HTTP、藍(lán)牙、IEEE 802.11x等等,則系統(tǒng)可以以客戶機(jī)-服務(wù)器結(jié)構(gòu)工作來允許用戶從基于網(wǎng)絡(luò)的服務(wù)器檢索網(wǎng)頁。可以使用任何常規(guī)的網(wǎng)絡(luò)瀏覽器來顯示和處理網(wǎng)頁上的數(shù)據(jù)。
      圖像獲取筆本發(fā)明的方面包括以顯示的格式放置編碼的數(shù)據(jù)流。該顯示的格式可以是打印的紙(或其它物理介質(zhì))或可以是放映結(jié)合了其它圖像或圖像組的編碼數(shù)據(jù)流的顯示器。例如,編碼數(shù)據(jù)流可以表現(xiàn)為紙上的物理的圖形圖像或顯示器屏幕上的覆蓋所顯示的圖像的圖形圖像,或可以是顯示器屏幕上的物理的(不能修改)圖像圖像(因此由筆獲取的任何圖像部分在顯示器屏幕上是可以定位的)。
      所獲取的圖像位置的確定可以用于確定用戶和紙、介質(zhì)或顯示器屏幕交互作用的位置。在本發(fā)明的某些方面中,筆可以是在紙上書寫的墨水筆。在其它方面,筆可以是用戶用來在計(jì)算機(jī)顯示器表面上書寫的觸筆。在已知文件上的編碼圖像或支持計(jì)算機(jī)屏幕上顯示器的文件時(shí),任何的交互作用可以提供回系統(tǒng)。通過重復(fù)地獲取照相機(jī)的位置,系統(tǒng)可以追蹤由用戶控制的觸筆的移動(dòng)。顯示的或打印的圖像可以是和空白的或內(nèi)容豐富的紙相關(guān)的水印或可以是和顯示的圖像或覆蓋屏幕或構(gòu)建于屏幕內(nèi)的固定編碼相關(guān)的水印。
      圖2A和2B示出具有照相機(jī)203的筆201的說明性實(shí)例。筆201包括可以包含或不包含墨水容器的筆尖202。照相機(jī)203從表面207獲取圖像204。筆201還可以包括另外的傳感器和/或處理器,如虛線框206所表示的。這些傳感器和/或處理器206也可以包含將信息(例如,通過藍(lán)牙或其它無線協(xié)議)傳送到其它筆201和/或個(gè)人計(jì)算機(jī)的能力。
      圖2B表示由照相機(jī)203所觀察的圖像。在一個(gè)說明性的實(shí)例中,照相機(jī)203的視場為32×32像素(其中N=32)。因此,圖2B示出的32像素長、32像素寬的視場。N的大小可以根據(jù)所需的圖像分辨率程度來調(diào)整的。雖然為了便于說明將此處的照相機(jī)203的視場示為正方形,但該視場還包含本技術(shù)領(lǐng)域中已知的其它形狀。
      從照相機(jī)203到筆201的輸入可以定義為一組圖像幀{Ii},i=1,2…,A,其中Ii由筆201在采樣時(shí)間ti時(shí)獲取。采樣率可以是固定的或可以根據(jù)文件的大小變化的。所捕獲的圖像幀的大小可大可小,這取決于文件的大小和所需的精確度。同樣,照相機(jī)圖像大小可以根據(jù)所查找的文件的大小確定。
      由照相機(jī)203獲取的圖像可以直接由處理系統(tǒng)使用或可以進(jìn)行預(yù)過濾。該預(yù)過濾可以在筆201內(nèi)進(jìn)行或可以在筆201之外進(jìn)行(例如,在個(gè)人計(jì)算機(jī)內(nèi))。
      圖2B的圖像大小為32×32像素。如果每個(gè)編碼單元的大小為3×3像素,則所獲取的編碼單元數(shù)約為100個(gè)單元。如果編碼單元的大小為5×5,則所獲取的編碼單元數(shù)約為36個(gè)。
      圖2A還示出了圖像平面209,在平面209上形成來自位置204的圖形的圖像210。從目標(biāo)平面207上的圖形接收到的光由透鏡208聚焦。透鏡208可以是單個(gè)透鏡或多部分的透鏡系統(tǒng),但這里為了簡單只表示為單個(gè)透鏡。圖像獲取傳感器211獲取圖像210。
      圖像傳感器211可以大到足以獲取圖像210。可供選擇地,圖像傳感器211可以大到足以在位置212獲取筆尖202的圖像。作為參考,在位置212的圖像被稱作虛擬筆尖(virtual pen tip)。注意到相對圖像傳感器211的虛擬筆尖位置是固定的,因?yàn)楣P尖、透鏡208和圖像傳感器211之間的關(guān)系是恒定的。因?yàn)樽儞Q是從虛擬筆尖212的位置(由Lvirtual-pentip表示)到實(shí)際筆尖202的位置(由Lpentip表示),所以可以確定相對所獲取的圖像210的實(shí)際筆尖的位置。
      以下的變換FS→P將由照相機(jī)獲取的圖像變換到紙上的實(shí)際圖像Lpaper=FS→P(Lsensor)在書寫期間,筆尖和紙?jiān)谕黄矫嫔?。因此,從虛擬筆尖到實(shí)際筆尖的變換也是FS→PLpentip=FS→P(Lvirtual-pentip)變換FS→P可以被稱作透視變換。這簡化為F&prime;S&RightArrow;P=sxcos&theta;,sysin&theta;,0-sxsin&theta;,sycos&theta;,00,0,1]]>來作為FS→P的估計(jì),其中θ、sx和sy是在位置204獲取的圖形的旋轉(zhuǎn)和兩個(gè)方向上的伸縮比例。此外,可以通過將獲取的圖像和紙上相應(yīng)的背景圖像相匹配來將F’S→P的提煉為FS→P?!疤釤挕币馕吨ㄟ^一種稱為遞歸法的優(yōu)化算法得到更精確的透視矩陣FS→P(8個(gè)參數(shù))。該遞歸法將矩陣F’S→P作為初始值。FS→P比F’S→P更精確地描述S和P之間的變換。
      接著,可以通過校準(zhǔn)確定虛擬筆尖的位置。
      將筆尖202放置在紙上的已知位置Lpentip。接著,使筆傾斜,使照相機(jī)203能獲取不同的筆姿態(tài)的一組圖像。對于所獲取的每個(gè)圖像??梢缘玫阶儞QFS→P。從該變換,可以得到筆尖的虛擬圖像的位置Lvirtual-pentipLvirtual-pentip=FP→S(Lpentip)以及,F(xiàn)P→S=1/FS→P通過對從每個(gè)圖像得到的Lvirtual-pentip取平均,可以確定虛擬筆尖Lvirtual-pentip的精確的位置。
      現(xiàn)在知道了虛擬筆尖的位置Lvirtual-pentip。還可以從所獲取的圖像得到變換FS→P。最終,可以使用該信息來確定實(shí)際筆尖Lpentip的位置Lpentip=FS→P(Lvirtual-pentip)陣列的編碼可以通過折疊一維序列來構(gòu)建二維陣列。二維陣列的任何部分可以用來確定其在整個(gè)二維陣列中的位置。一個(gè)所關(guān)心的問題在于由照相機(jī)獲取的圖像部分在大小上受到限制。因此,需要能從所獲取的圖像或幾個(gè)所獲取的圖像中確定位置。產(chǎn)生了額外的復(fù)雜性,即在所獲取的圖像中出現(xiàn)的錯(cuò)誤損害在所獲取的圖像中的某些點(diǎn)的可用性??梢允褂梅侵貜?fù)的序列來創(chuàng)建陣列,從而使所獲取的圖像的一個(gè)部分和兩個(gè)或多個(gè)二維陣列中的位置相關(guān)聯(lián)的可能性最小。所創(chuàng)建序列的一個(gè)屬性在于該序列在一長度(或窗口)n上不重復(fù)。以下將描述一維序列的創(chuàng)建,隨后是將該序列折疊成為陣列。
      序列構(gòu)建可以將一組數(shù)字用作編碼系統(tǒng)的起始點(diǎn)。例如,一序列(也稱作m-序列)可以表示成域Fq中的q元素集。這里,q=pn,其中n≥1而p是質(zhì)數(shù)。該序列或m序列可以通過各種不同的技術(shù)產(chǎn)生,這些技術(shù)包括,但不限于,多項(xiàng)式除法。使用多項(xiàng)式除法,序列可以定義如下Rl(x)Pn(x)---(1)]]>其中Pn(x)是域Fq[x](具有q個(gè)元素)中n次的本原多項(xiàng)式(primitivepolynomial)。Rl(x)是域Fq[x]中的l次(其中l(wèi)<n)的非零多項(xiàng)式。序列可以用迭代過程產(chǎn)生,它使用兩個(gè)步驟第一,將兩個(gè)多項(xiàng)式相除(得到域Fq的一個(gè)元素),第二,將余項(xiàng)乘以x。當(dāng)輸出開始重復(fù)時(shí),該計(jì)算停止??梢允褂镁€形反饋移位寄存器來實(shí)現(xiàn)該過程,如Douglas W.Clark和Lih-Jyh Weng的文章″Maximal andNear-Maximal Shift Register SequencesEfficient Event Counters and EasyDiscrete Logarithms,″IEEE計(jì)算機(jī)學(xué)報(bào)43.5(1994年5月,pp560-568)中所述。在該環(huán)境中,在序列的循環(huán)移位和多項(xiàng)式Rl(x)之間建立一種關(guān)系改變Rl(x)僅僅使序列循環(huán)地移位而每個(gè)循環(huán)移位對應(yīng)一個(gè)多項(xiàng)式Rl(x)。所造成的序列的一個(gè)屬性在于,遍及寬度(或長度)n,任何部分在該序列中只存在一次。
      以上所描述的處理過程僅是用來產(chǎn)生非重復(fù)序列的各種處理過程中的一個(gè)。
      陣列構(gòu)建可以用于創(chuàng)建圖像(該圖像的一部分由照相機(jī)獲取)的陣列(或m陣列)是一維序列(或m序列)的延伸。使A為(m1,m2)周期的陣列,即A(k+m1,l)=A(k,l+m2)=A(k,l)。當(dāng)n1xn2窗口移位通過一個(gè)A周期,則遍及Fq所有非零n1xn2矩陣出現(xiàn)一次且只有一次。該屬性可以稱作“窗口屬性”,其中每個(gè)窗口都是唯一的。隨后,A可以表示成周期為(m1,m2)階次為(n1,n2)的陣列(m1和m2是陣列中水平方向和垂直方向的比特?cái)?shù))。
      二進(jìn)制陣列(或m陣列)可以通過折疊序列來構(gòu)建。一種方法是得到一個(gè)序列,然后將它折疊成大小m1xm2,其中陣列的長度是L=m1xm2=2n-1??晒┻x擇地,可以用打算覆蓋的空間的預(yù)定大小來開始(例如,一張紙,30張紙或計(jì)算機(jī)監(jiān)視器的大小),確定面積(m1xm2),隨后使用該大小且使L≥m1m2,其中L=2n-1。
      可以使用各種不同的折疊技術(shù)。例如,圖3A到3C示出3種不同的序列。它們每一個(gè)都可以折疊成圖3D所示的陣列。這3種不同的折疊方法示為圖3D中的覆蓋,并示為圖3E和3F中的光柵路徑(raster path)。圖3D所示的折疊方法可以表示成當(dāng)gcd(m1,m2)=1,而L=2n-1。
      為了創(chuàng)建如圖3D所示的折疊方法,先創(chuàng)建長度為L且階次為n的序列{ai}。接著,從序列{ai}通過使該陣列的每一比特通過方程式1計(jì)算來創(chuàng)建大小為m1xm2的陣列{bkl}bkl=ai其中,k=i mod(m1),l=i mod(m2),i=0,…,L-1(1)可供選擇地,該折疊方法可以表示為將序列置于陣列的對角線上,隨后,當(dāng)?shù)竭_(dá)邊界時(shí)從另一側(cè)繼續(xù)。
      圖4A示出針對可以和圖3D的陣列一起使用的第一比特和第二比特的實(shí)例編碼技術(shù)。可以理解,也可以使用其它的編碼技術(shù)。例如,如圖11所示的可供選擇的編碼技術(shù)。
      參考圖4A,第一比特401(例如,“1”)由一列暗墨水表示。第二比特402(例如,“0”)由一行暗墨水表示??梢岳斫饪梢允褂萌魏晤伾哪畞肀硎靖鞣N比特。只要求所選的墨水的顏色提供與介質(zhì)的背景呈強(qiáng)烈的對比,以使圖像獲取系統(tǒng)能夠區(qū)分。圖4A中的比特由3×3的單元格矩陣表示。可以根據(jù)圖像獲取系統(tǒng)的大小和分辨率將該矩陣的大小更改為任意大小??晒┻x擇的比特0和1的表示如圖4C-4E所示??梢岳斫?,用于圖4A-4E的實(shí)例編碼的零或一的表示可以切換而沒有影響。圖4C示出在占據(jù)交叉排列的兩行或列的比特表示。圖4D示出可供選擇的在行和列中以虛線形式的像素排列。最后,圖4E示出不規(guī)則間隔形式的行和列的像素表示(例如,兩個(gè)暗框接著一個(gè)亮框)。
      參考圖4A,如果比特由3乘3的矩陣表示,而圖像系統(tǒng)在該3×3區(qū)域中探測到一個(gè)暗行和兩個(gè)白行,則表示0(或1)。如果圖像被探測到具有一個(gè)暗列和兩個(gè)白列,則表示1(或0)。
      這里,使用超過一個(gè)塊或像素或點(diǎn)來表示一個(gè)比特。使用單個(gè)像素(或塊或比特)來表示一個(gè)比特是很脆弱的?;覊m、紙上的折痕、不平整的表面等為讀取數(shù)據(jù)單元的單個(gè)比特表示增添了困難。但是,可以理解,可以將不同的方法用于圖形化地表示表面上的陣列。圖4C到4E示出了一些方法??梢岳斫?,還可以使用其它的方法。圖10中闡述了只使用空間移位點(diǎn)(space-shifted dot)的一種方法。
      比特流被用來產(chǎn)生圖4B的圖形403。圖形403包括12行和18列。這些行和列由轉(zhuǎn)換為使用比特表示401和402的圖形化表示的比特流形成。圖4B可以視為具有以下的比特表示010101110110110010001010011101101100]]>譯碼當(dāng)人們用圖2A所示的筆靠近編碼的圖形書寫或移動(dòng)時(shí),照相機(jī)獲取圖像。隨后,處理該圖像來確定和編碼圖像的全部表示相關(guān)的所獲取圖像的方向,并提取構(gòu)成編碼圖像的比特。
      圖4B包括來自圖像403的像素塊的表示。所顯示圖像404-411示出5×5的像素塊。像素塊404示出在白行之間的一暗行。像素塊405示出在白列之間的一暗列。像素塊406示出左下邊角。像素塊407示出右上邊角。像素塊408示出在左側(cè)具有半個(gè)暗行的暗列。像素塊409示出一暗行,該暗行上具有半個(gè)暗列。像素塊410示出半個(gè)暗行。像素塊411示出半個(gè)暗列。分析像素塊的組合,可以理解,所有的像素組合可以通過像素塊404-411中找到的圖像部分來形成。
      此外,可以嘗試用更小的像素塊集來表示所有可能的像素組合。不用更多的,可以預(yù)料圖5A-5D所示的4個(gè)塊中的每一個(gè)都可以在圖像403中找到。但是,在8個(gè)像素塊404-411中只存在3種邊角。在該實(shí)例中,沒有圖5A所表示的像素塊。通過一事實(shí),即可以選擇圖像部分401和402來減少邊角的類型,出現(xiàn)了根據(jù)所缺少邊角的類型來確定所獲取圖像的方向的可能。
      繼續(xù)到圖6,可以分析由照相機(jī)601獲取的圖像并確定其方向,從而可以說明圖像601實(shí)際表示的位置。首先,檢查圖像601來確定需要旋轉(zhuǎn)該圖像的角度θ以便將像素水平方向和垂直方向?qū)?zhǔn)。注意到,可供選擇的格子對準(zhǔn)可能包括將底線格子旋轉(zhuǎn)到非水平和垂直排列(例如,45度)。使用非水平和垂直排列可以提供降低來自用戶的視覺迷惑(distraction)的可能的好處。簡單起見,格子的方向(水平的和垂直的和將底線格子傾斜到其它方向)共同被稱作預(yù)定格子方向。
      接著,分析圖像601來確定所缺少的邊角。將圖像601旋轉(zhuǎn)到準(zhǔn)備用來譯碼603的圖像所需的旋轉(zhuǎn)量o示為o=(θ加上旋轉(zhuǎn)量{由所缺少的邊角確定})。該旋轉(zhuǎn)量由圖7中的方程式示出。再參考圖6,角度θ首先由像素的布局(layout)確定以便到達(dá)像素水平的和垂直的(或其它預(yù)定格子方向)排列,而圖像如602所示來旋轉(zhuǎn)。隨后,進(jìn)行分析來確定所缺少的邊角,并將圖像602旋轉(zhuǎn)成603所示的圖像,從而形成用于譯碼的圖像。這里,圖像被逆時(shí)針旋轉(zhuǎn)了90度,從而圖像603的位置可以恢復(fù)。
      可以理解,可以在圖像601旋轉(zhuǎn)之前或之后應(yīng)用旋轉(zhuǎn)角度θ來考慮所缺少的邊角。
      最后,圖像603中的代碼被讀出并和用來創(chuàng)建圖像403的初始數(shù)據(jù)流相關(guān)聯(lián)。這種關(guān)聯(lián)可以以多種方法進(jìn)行。例如,可以通過遞歸方法進(jìn)行,在遞歸方法中,恢復(fù)的比特流和初始比特流中所有其它的比特流片段比較。其次,可以在恢復(fù)的比特流和初始比特流之間,例如,通過使用這兩個(gè)比特流之間的漢明間距進(jìn)行統(tǒng)計(jì)分析??梢岳斫?,可以使用各種方法來確定在初始比特流中所恢復(fù)的比特流的位置。
      一旦具有所恢復(fù)的比特,就需要將所獲取的圖像在初始陣列中(例如,圖4B中所示的)定位。由于具有大量的操作,因此在整個(gè)陣列中確定比特部分的位置的過程是很復(fù)雜的。首先,可以從照相機(jī)的理想獲取來使實(shí)際獲取的比特模糊(例如,照相機(jī)可以獲取具有使原始代碼模糊的筆跡的圖像)。其次,灰塵、折痕、反射等也可以產(chǎn)生獲取的圖像上的錯(cuò)誤。這些錯(cuò)誤使定位過程變得更加困難。在這方面,圖像獲取系統(tǒng)需要使用從圖像中提取的非順序比特來運(yùn)作。以下示出了用于使用來自圖像的非順序比特運(yùn)作的方法。
      首先,只看序列,使該序列(或m序列)I對應(yīng)冪級數(shù)I(x)=1/Pn(x)。同樣,R(x)=r0+r1x+r2x2+…+rn-1xn-1是任何非零多項(xiàng)式,其次數(shù)小于n.序列R對應(yīng)R(x)/Pn(x).如上所述,R是I的移位型式(shifted version).距離D定義為I和R之間的距離。如果R是I的第s個(gè)移位,則這可以表示為D(R)=s。距離D可以使用各種不同的技術(shù)計(jì)算。一項(xiàng)技術(shù)是通過確定兩者之間的漢明間距。另一個(gè)方法是通過使用由Douglas W.Clark和Lih-Jyh Weng的文章″Maximal and Near-MaximalShift Register SequencesEfficient Event Counters and Easy DiscreteLogarithms,″IEEE計(jì)算機(jī)學(xué)報(bào)43.5(1994年5月,pp560-568)中介紹的Pohilig-Hellman-Silver算法。還可以使用本技術(shù)領(lǐng)域中已知的其它的距離確定技術(shù)。使用Pohilig-Hellman-Silver算法時(shí),R(x)≡xsmod(Pn(x))。
      但是,嘗試使用折疊的序列計(jì)算距離是更加復(fù)雜的,因?yàn)樗崛〉拇a可以是非連續(xù)的并還可能包括錯(cuò)誤。用以上的陣列分析開始,可以從圖像確定位置??梢杂靡韵碌年P(guān)系開始R=rtA (2)其中,r=(r0r1r2…rn-1)t,而A=(IT(I)…Tn-1(I))t由I的循環(huán)移位構(gòu)成。因此,任何I的循環(huán)移位都是rt和A的乘積。如果筆讀取k個(gè)比特(I的b=(b0b1b2…bk-1)t其中(k≥n)),則R(x)可以用于將b0循環(huán)移位到序列(或m序列)的起始部分。隨后,該移位調(diào)整A的列來產(chǎn)生A的n×k的子矩陣M。因此,rTM=bT(3)其中T表示矩陣或矢量的變換。
      如果M的所有行都是獨(dú)立的,則可以確定r而D(R)通過調(diào)整方程式(1)的一維位置造成I中b0的絕對位置。這意味著可以確定b0比特的二維位置。該位置信息允許確定筆尖的位置。
      接著,可以確定和檢查所有A的調(diào)整。
      可供選擇的,因?yàn)榫仃嘇很大,所以不是所有A的調(diào)整都需要保留。事實(shí)上,在某些執(zhí)行過程中,只有列之間的相對位置是相關(guān)的。因此,可以保存的列(在將b0移位到序列(或m序列)的起始部分后)是那些當(dāng)筆(也就是,照相機(jī))旋轉(zhuǎn)時(shí)其對應(yīng)的二維位置在照相機(jī)的接收域內(nèi)的列。這些列可以存儲(chǔ)于具有二維位置信息的陣列(例如,矩陣)中。一個(gè)實(shí)例包括“元件-類型CoreVector(核心矢量)[行大小][列大小]”這種列的總數(shù)遠(yuǎn)小于L(其中L=2n-1)。如果b是無錯(cuò)誤的,則r的解可以表示為rt=b~tM~-1--(4)]]>其中 是M的非簡并(non-degenerate)的n×n子矩陣而 是相應(yīng)的b的子矢量。
      錯(cuò)誤校正如果在b中存在錯(cuò)誤,則r的解將變得更加復(fù)雜。如果b中的錯(cuò)誤數(shù)(表示為ne)小于d/2,其中d是由M所產(chǎn)生代碼的最小漢明距離,則b可以被校正。不幸的是,由于矩陣M對應(yīng)不同的筆姿變化,且矩陣M的結(jié)構(gòu)是不規(guī)則的,則不便應(yīng)用具有錯(cuò)誤校正的常規(guī)譯碼方法。在某些情況下,當(dāng)出現(xiàn)錯(cuò)誤時(shí),認(rèn)為不能精確地確定d。參見Ilya Dumer,Daniele Micciancio和Madhu Sudan,″Hardness ofApproximating the Minimal Distance of a Linear Code″,IEEE計(jì)算機(jī)科學(xué)基礎(chǔ)的論文集1999,pp.475-485。
      但是,使用隨機(jī)方法實(shí)現(xiàn)了積極的結(jié)果。假定ne相比k相對較小,則當(dāng)隨機(jī)選擇了n個(gè)比特而它在M中所對應(yīng)的列是獨(dú)立的時(shí),則從b的k比特選擇正確的n個(gè)比特的概率很大。
      系統(tǒng)可以在圖像中重復(fù)選擇隨機(jī)比特。如果系統(tǒng)重復(fù)該選擇和分析很多次,則它一般能分離出序列中的合適距離。換句話說,當(dāng)選擇了正確的比特時(shí),bt和rtM之間的漢明距離將最小,其中r是通過方程式(4)計(jì)算的。重復(fù)幾次,正確的r將比其它的距離出現(xiàn)更多次,并因此很容易識別。其結(jié)果可以單獨(dú)使用或可以結(jié)合之前的位置信息使用。例如,如果照相機(jī)獲取可以位于該頁頂部的線上的一串圖像,且從照相機(jī)的當(dāng)前圖像提供,例如,從之前的串有一個(gè)很近、一個(gè)很遠(yuǎn)的兩個(gè)距離,則更加可能的是,在很短的時(shí)間內(nèi)用戶只將筆移動(dòng)較小的量而不是移動(dòng)較大的量??梢允褂弥暗膱D像獲取和當(dāng)前的圖像獲取之間的其它類型的分析。
      如果存在不同的r以使bt和rTM之間的漢明距離都最小,則ne超過由M所產(chǎn)生代碼的錯(cuò)誤校正能力的概率很大,且譯碼過程失敗。隨后,系統(tǒng)可以移到來自照相機(jī)的下一個(gè)所獲取的圖像。
      最后,可以確定正確的b,而在序列(m序列)I中的r的位置可以通過各種技術(shù)(包括,但不限于Pohilig-Hellman-Silver算法)來計(jì)算。隨后可以定位筆尖。
      圖8示出了可以用于在所獲取的圖像的序列(或m序列)中確定位置的過程。首先,在步驟801中,接收到和所獲取的圖像相關(guān)的數(shù)據(jù)流。在步驟802中,從所獲取的圖像和由所獲取的圖像中的信息構(gòu)建的矩陣提取列。在步驟803中,根據(jù)距離將代碼排序。可以使用各種本技術(shù)領(lǐng)域內(nèi)已知的排序算法來將代碼排序。例如,可以使用選擇排序算法。選擇排序算法是有利的,其中m不是很大。但是,如果m變得很大,則可以使用其它更有效地處理更多項(xiàng)的排序算法(例如,合并排序)。
      在步驟804中,從步驟802中構(gòu)建的矩陣中選擇M行矢量,而從802的矩陣到陣列(或m陣列)的起始部分來確定距離矢量r。
      所獲取的圖像可以包括比確定矩陣M的位置所需的更多的信息。例如,如果每個(gè)比特由9個(gè)像素表示而照相機(jī)圖像系統(tǒng)包括32×32比特的矩陣,則可以得到約100個(gè)比特(10×10)。這些圖像比特中,n被用于確定位置。所以,例如,如果陣列m1,m2的大小是255×255(65025),則將所獲取的圖像定位所需的比特?cái)?shù)將為n,其中m1xm2≤L=2n-1。這里,n=16。因此,所獲取的圖像所需要用來產(chǎn)生能夠定位圖像的比特?cái)?shù)為n。為了提供各種不同的選擇來考慮錯(cuò)誤,需要從圖像中提取超過n個(gè)比特。例如,如果所需的n的數(shù)量為16,則照相機(jī)將需要產(chǎn)生18或者更多的比特。
      該分析在步驟805中進(jìn)行K次(例如,10到100到500次)。該方法嘗試確定具有最多重復(fù)結(jié)果的位置,且其錯(cuò)誤比特的數(shù)量小于一個(gè)值(例如,3)。隨后,系統(tǒng)確定在步驟806中錯(cuò)誤校正是否進(jìn)行得順利。如果否,則將錯(cuò)誤返回到步驟809。如果是,則在步驟807的序列(或m序列)中計(jì)算提取的代碼的位置(例如,通過Pohilig-Hellman-Silver算法)。該步驟還可以包括計(jì)算yi=y(tǒng)n/m1并在組列表中查找系數(shù)(factor)以便得到Ri的剩余值的子步驟。這可以表示為L=&Sigma;(nmi&CenterDot;Ri&CenterDot;Vi)modn---(5)]]>L表示序列的長度。接著,陣列中的(X,Y)位置表示為x=Lmodn1和y=Lmodn2且結(jié)果返回到步驟808。
      位置確定圖9示出用于確定筆尖位置的過程。輸入是由照相機(jī)獲取的圖像,而輸出可以是該圖像相比總圖像的位置坐標(biāo)。而且,輸出可以包括(或不包括)所獲取的圖像的旋轉(zhuǎn)角度。
      在步驟901中,從照相機(jī)接收圖像。接著,所接收的圖像可以選擇性地在步驟902中預(yù)處理(如步驟902中由虛線標(biāo)出的)來調(diào)整亮和暗像素之間的對比度,旨在確定所獲取的圖像的旋轉(zhuǎn)角度等等。
      接著,在步驟903中,分析圖像來確定其中的比特流。
      接著,在步驟904中,比特流和初始比特流比較并確定在初始比特流中所接收的比特流的位置。當(dāng)系統(tǒng)意識到初始比特流如何卷繞來創(chuàng)建圖像403時(shí),可以進(jìn)行該比較。最后,一旦在步驟904中確定了所獲取的圖像的位置,則在步驟905中可以確定筆尖的位置。
      圖10示出用來確定筆尖位置的可供選擇的方法。首先,在步驟1001中從照相機(jī)接收圖像。隨后,該圖像可以選擇性地進(jìn)行步驟1002中的預(yù)處理(如步驟1002中的虛線所示)。在步驟1003中提取圖形。這里,可以提取各種線上的像素來找到圖形的方向并確定角度θ。
      接著,在步驟1004中分析所接收的圖像來確定像素和網(wǎng)格線基礎(chǔ)分布。如果在步驟1005中找到網(wǎng)格線,則在步驟1006中從圖形提取代碼。隨后,在步驟1007中將該代碼譯碼并在步驟1008中確定筆尖的位置。如果在步驟1005中沒有找到網(wǎng)格線,則在步驟1009返回錯(cuò)誤信號。
      雖然用所附權(quán)利要求定義了本發(fā)明,但這些權(quán)利要求是說明性的,其中,本發(fā)明旨在包括此處說明的組合或子組合中的單元和步驟。因此,存在任何數(shù)量的可供選擇的組合來定義本發(fā)明,它們結(jié)合一個(gè)或多個(gè)說明書中的單元,包括描述、權(quán)利要求和附圖,在各種組合或子組合中。對于相關(guān)技術(shù)領(lǐng)域中的熟練的技術(shù)人員來說明顯的是,根據(jù)本說明書,本發(fā)明的各方面的可供選擇的組合,無論是單獨(dú)或者結(jié)合一個(gè)或多個(gè)此處定義的單元或步驟,可以用作本發(fā)明或本發(fā)明的一部分的修改或變化。包含在這里的本發(fā)明的書面描述旨在覆蓋所有這樣的修改和變化。
      權(quán)利要求
      1.用于確定所獲取的陣列的位置的方法,其特征在于,包括以下步驟從所述所獲取的陣列中提取列;根據(jù)距離將從所述列提取的代碼排序;從所述列構(gòu)建矩陣并確定從所述代碼到在更大的陣列中的代碼的矢量;確定所提取的代碼的位置。
      2.如權(quán)利要求1所述的方法,其特征在于,還包括以下步驟從所述列中構(gòu)建至少另一個(gè)矩陣并確定至少一第二矢量。
      3.如權(quán)利要求1所述的方法,其特征在于,還包括以下步驟在所述代碼上進(jìn)行錯(cuò)誤校正。
      全文摘要
      描述了用于從更大的圖像中確定所獲取圖像的位置的系統(tǒng)和處理過程??梢詫⒎侵貜?fù)序列折疊成非重復(fù)陣列,其中該陣列對于給定大小的每個(gè)子窗口是唯一的。子窗口的圖像可以被獲取且在非重復(fù)陣列內(nèi)確定其位置。
      文檔編號G06F3/042GK1866183SQ20061009248
      公開日2006年11月22日 申請日期2003年9月29日 優(yōu)先權(quán)日2002年10月31日
      發(fā)明者王建, 林舟晨, 李越 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1