專利名稱:照相機-筆尖映射和校準的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施方式涉及按位置編碼的介質(zhì)與數(shù)字式筆之間的交互,尤其涉及校準數(shù)字式筆,并把從照相機捕捉圖像解碼而來的位置映射到相應(yīng)的筆尖位置。
背景技術(shù):
計算機用戶習(xí)慣于使用鼠標和鍵盤作為與個人計算機交互的方法。盡管個人計算機相比書面文檔提供了眾多優(yōu)點,大部分用戶仍然繼續(xù)使用打印紙來執(zhí)行某些功能。部分這些功能包括閱讀并評注書面文檔。在作評注情形中,由于用戶在其上所作的評注,打印文檔被認為更為重要。然而,處理帶有帶評注的打印文檔時的困難之一是后面需要將評注輸回到電子文檔中。這需要原用戶或另一用戶辛苦地讀完這些評注,并將其輸入到個人計算機中去。在一些情形中,用戶會在評注和原始文本中進行掃描,從而產(chǎn)生新文檔。此等多重步驟使得打印文檔和文檔的電子版本間的交互難以在重復(fù)性基礎(chǔ)上得到處理。此外,掃描圖像常常是不能修改的??赡軟]有辦法把評注從原文本中分離出來。這就使得使用評注變得困難了。因此,需要一種處理評注的改進方法。
捕捉手寫信息的一種技術(shù)是通過使用在書寫過程中其位置可確定的筆。提供這種功能的一種筆是Anoto公司的Anoto筆。該筆的工作原理是使用一個照相機來捕捉以預(yù)定圖案編碼的紙張的圖像。圖像圖案的示例如圖15所示。該圖案被Anoto筆(來自Anoto公司)用來確定紙張上筆的位置。然而,用Anoto筆所使用的系統(tǒng)對位置進行確定的有效性并不清楚。為了提供捕捉圖像位置的有效確定,需要提供對捕捉圖像做有效解碼的系統(tǒng)。
當評注文檔時,用戶可通過相對于文檔而移動筆尖來標記文檔。筆尖的路徑可包括多個筆劃,其中每個筆劃對應(yīng)于一系列的捕捉圖像。因而,理想的是要有效地標識筆的路徑以便處理文檔中的評注。
此外,從被捕捉圖像中心起計算的x-y坐標可能并不代表筆尖的真實位置。為了把被捕捉圖像的中心映射到筆尖,將需要對筆尖與由照相機捕捉的圖像中心之間的關(guān)系進行校準(calibrating)的技術(shù)。然而,常規(guī)校準技術(shù)通常需要復(fù)雜的裝置和/或棘手的校準過程。
每當用戶對筆的墨盒進行更換時,這可能是相對頻繁發(fā)生的,即要執(zhí)行校準。因此,執(zhí)行校準的技術(shù)必須是簡單的、相對快速的、并準確的。并且這種技術(shù)應(yīng)當不需要那些通常在常規(guī)校準技術(shù)中使用的復(fù)雜類型的設(shè)備。
發(fā)明內(nèi)容
筆尖的x-y位置可這樣來確定,即用校準參數(shù)把由筆上的照相機所捕捉的相應(yīng)圖像的各中心x-y位置映射到筆尖的x-y位置。校準參數(shù)可通過對校準參數(shù)以迭代方式(iteratively)計算估算值校準來生成。
校準模塊接收校準輸入數(shù)據(jù),該數(shù)據(jù)由用戶把筆尖放置在一表面的固定位置上,然后旋轉(zhuǎn)筆和/或在各個方向上移動筆的另一端以捕捉在生成校準參數(shù)中使用的多個圖像而產(chǎn)生,該表面可以是按位置編碼的介質(zhì),諸如紙張。用戶可以在不需要通常用于常規(guī)校準技術(shù)的復(fù)雜校準裝置的情況下,就可執(zhí)行這種校準過程。
映射模塊可使用校準參數(shù)和復(fù)原的照相機捕捉位置信息來生成復(fù)原筆尖位置信息。
一虛擬筆尖被用來把復(fù)原圖像中心位置映射到復(fù)原筆尖位置?;诠P的配置,虛擬筆尖的位置取決于真實筆尖和照相機之間的預(yù)定關(guān)系。虛擬筆尖是筆尖在數(shù)字式筆上照相機的圖像傳感器平面上的投影點。
參閱以下詳細描述,本發(fā)明的附加特征和優(yōu)點將顯然。
前述的本發(fā)明內(nèi)容及以下優(yōu)選實施方式的詳細描述,在結(jié)合附圖閱讀時可得到更好的理解,這些附圖是作為本權(quán)利要求發(fā)明的示例,而不是作為其限制被包括其中的。
圖1所示是可用于本發(fā)明實施方式的計算機的一般描述。
圖2A和2B所示是根據(jù)本發(fā)明實施方式的圖像捕捉系統(tǒng)和相應(yīng)的被捕捉圖像。
圖3A到3F是根據(jù)本發(fā)明實施方式的各種序列和折疊(folding)技術(shù)。
圖4A到4E是根據(jù)本發(fā)明實施方式的各種編碼系統(tǒng)。
圖5A到5D顯示的是與圖4A和4B的編碼系統(tǒng)相關(guān)聯(lián)的四種可能得當?shù)墓战恰?br>
圖6是根據(jù)本發(fā)明實施方式的被捕捉圖像部分的旋轉(zhuǎn)。
圖7示出結(jié)合圖4A到4E的編碼系統(tǒng)使用的各種旋轉(zhuǎn)角度。
圖8是根據(jù)本發(fā)明實施方式確定被捕捉數(shù)組位置的過程。
圖9是根據(jù)本發(fā)明實施方式確定被捕捉圖像位置的方法。
圖10是根據(jù)本發(fā)明實施方式確定被捕捉圖像位置的另一方法。
圖11是根據(jù)本發(fā)明的各種實施方式的校準模塊和映射模塊。
圖12是根據(jù)本發(fā)明的一實施方式的復(fù)原照相機捕捉筆劃(即從被捕捉圖像的相應(yīng)中心復(fù)原的)及其相應(yīng)映射筆尖的筆劃。
圖13示出了與圖12所示復(fù)原筆劃相關(guān)聯(lián)的實際筆尖筆劃。
圖14根據(jù)本發(fā)明的各種實施方式示出了基于照相機捕捉圖像的相應(yīng)中心復(fù)原的路徑,及沿該路徑上的諸多點通過校準參數(shù)所映射的點。
圖15所示是根據(jù)現(xiàn)有技術(shù)的文檔中編碼空間的表示。
具體實施例方式
本發(fā)明的諸方面涉及確定被捕捉圖像在一較大圖像中的位置。在此描述的位置確定方法和系統(tǒng)可以結(jié)合多功能筆來使用。
為方便讀者,用小子標題分隔以下描述。小標題包括術(shù)語、通用計算機、圖像捕捉筆、數(shù)組編碼、解碼、糾錯、及位置確定。
I.術(shù)語筆一可包括或不包括存儲墨水功能的任何書寫工具。在部分示例中,根據(jù)本發(fā)明實施方式,無墨水功能的輸入筆可被用作筆。
照相機-可從紙張或任何其它介質(zhì)上捕捉圖像的圖像捕捉系統(tǒng)。
II.通用計算機圖1是可用于本方面各種方面的常規(guī)通用數(shù)字式計算環(huán)境示例的功能塊圖。在圖1中,計算機100可包括處理單元110、系統(tǒng)存儲器120以及把包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)組件耦合到處理單元110的系統(tǒng)總線130。系統(tǒng)總線130可能是若干總線結(jié)構(gòu)類型中的任何一種,包括存儲器總線或存儲器控制器、外圍總線、以及使用多種總線架構(gòu)的任一種的本地總線。系統(tǒng)存儲器120包括只讀存儲器(ROM)140和隨機存取存儲器(RAM)150。
包含有助于計算機100如起動時在元件間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)160通常存儲在ROM 140中。計算機100還包括讀取和寫入硬盤(未示出)的硬盤驅(qū)動器170,讀取和寫入可移動磁盤190的磁盤驅(qū)動器180,讀取和寫入可移動光盤192,諸如CD-ROM或其它光學(xué)介質(zhì)的光盤驅(qū)動器191。硬盤驅(qū)動器170、磁盤驅(qū)動器180、光盤驅(qū)動器191分別通過硬盤驅(qū)動器接口192、磁盤驅(qū)動器接口193、光盤驅(qū)動器接口194連接至系統(tǒng)總線130。諸驅(qū)動器及其相應(yīng)的計算機可讀介質(zhì)為個人計算機100提供計算機可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失儲存。本領(lǐng)域技術(shù)人員可以理解,其它類型的能夠存儲數(shù)據(jù)的可被計算機訪問的計算機可讀介質(zhì),如磁帶、閃存卡、數(shù)字式視頻盤、Bernoulli盤、RAM、ROM等等,也可用于示例操作環(huán)境中。
包括操作系統(tǒng)195、一個或多個應(yīng)用程序196、其它程序模塊197和程序數(shù)據(jù)198的眾多程序模塊,可存儲在硬盤170、磁盤190、光盤192、ROM 140或RAM150中。用戶可通過輸入裝置如鍵盤101和定位裝置102向個人計算機620輸入指令和信息。其它輸入裝置(未示出)可包括諸如話筒、游戲桿、游戲墊、衛(wèi)星接收器、掃描儀或等等。這些和其它輸入裝置通常通過與系統(tǒng)總線耦合的串行端口接口106連接到處理單元110,但也可通過其它接口相連,諸如并行端口、游戲端口或通用串行總線(USB)。此外,直接與系統(tǒng)總線130耦合的這些裝置也可通過適當接口(未示出)耦合。監(jiān)視器107或其它類型顯示裝置也通過接口,如視頻適配器108和系統(tǒng)總線130相連。除了監(jiān)視器,個人計算機通常包括其它外圍輸出裝置(未示出),如揚聲器和打印機。在一個示例中,提供有筆數(shù)字化儀165和附隨的筆或輸入筆166,以便數(shù)字化地抓取徒手輸入。盡管筆數(shù)字化儀165和串行端口接口106的連接在圖1中示出,實際上如領(lǐng)域內(nèi)所知,筆數(shù)字化儀165可直接與處理單元110耦合,或者通過任何適當方式,如并行端口或另一接口及系統(tǒng)總線130與處理單元110耦合。此外,盡管數(shù)字化儀165在圖1中與監(jiān)視器107是分開示出的,數(shù)字化儀165的可用輸入?yún)^(qū)域可共延于(co-extensive with)監(jiān)視器107的顯示區(qū)域。甚至,數(shù)字化儀165可與監(jiān)視器107形成一體,或者它以獨立設(shè)備覆蓋在或以其它方式附加于監(jiān)視器107上。
計算機100可以在使用與一臺或多臺遠程計算機,諸如遠程計算機109的邏輯連接的網(wǎng)絡(luò)化環(huán)境中運行。遠程計算機109可以是服務(wù)器、路由器、網(wǎng)絡(luò)PC、同等裝置或其它普通網(wǎng)絡(luò)節(jié)點,而且通常包括上述與個人計算機100相關(guān)的許多或全部部件,盡管為簡化起見在圖1中僅顯示了存儲器存儲裝置111。圖1中所描繪的邏輯連接包括局域網(wǎng)(LAN)112和廣域網(wǎng)(WAN)113。這樣的網(wǎng)絡(luò)化環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)上是常見的,既使用有線連接也使用無線連接。
當用于LAN網(wǎng)絡(luò)環(huán)境中時,個人計算機100通過網(wǎng)絡(luò)接口或適配器114與局域網(wǎng)112連接。當用于WAN網(wǎng)絡(luò)環(huán)境中時,個人計算機100通常包括調(diào)制解調(diào)器115或其它用于在廣域網(wǎng)113,如因特網(wǎng)中建立通信的裝置??梢允莾?nèi)置式或外置式的調(diào)制解調(diào)器115與系統(tǒng)總線130通過串行端口接口106連接。在網(wǎng)絡(luò)環(huán)境中,與個人計算機100相關(guān)的程序模塊或其一部分可存儲在遠程存儲器存儲裝置中。
可以理解的是,所示網(wǎng)絡(luò)連接是示例性的,且其它用于在計算機間建立通訊連接的技術(shù)也可以使用。推定存在著任何的各種眾所周知的協(xié)議,如TCP/IP、以太網(wǎng)協(xié)議、FTP、HTTP、UDP等等,且系統(tǒng)可以在允許用戶從基于網(wǎng)絡(luò)的服務(wù)器中檢索網(wǎng)頁的用戶—服務(wù)器配置操作。各種常規(guī)web瀏覽器中的任何一種都可用于顯示網(wǎng)頁和操作網(wǎng)頁上的數(shù)據(jù)。
III.圖像捕捉筆本發(fā)明的諸方面包括將編碼數(shù)據(jù)流置于代表該編碼數(shù)據(jù)流的顯示形式中。(例如,將參照圖4B要討論的,編碼數(shù)據(jù)流被用于創(chuàng)建圖形圖案。)該顯示形式可以是打印紙(或其它物理介質(zhì)),或者是結(jié)合另一個圖像或一組圖像投射編碼數(shù)據(jù)流的顯示器。例如,編碼數(shù)據(jù)流可被表示為紙上的物理圖形映像、或在顯示圖像(例如表示文檔文本的)之上的圖形映像、或是在顯示屏上的物理(不可修改)圖形映像(所以,由筆所捕捉的任意圖像部分都是可在顯示屏上定位的)。
對該被捕捉圖像位置的確定可被用來確定用戶與紙張、介質(zhì)或顯示屏等發(fā)生交互的位置。在本發(fā)明的部分方面,筆可以是在紙上書寫的墨水筆。在其它方面中,筆可以是用戶在計算機顯示屏表面上書寫用的輸入筆。任何交互都可向系統(tǒng)提供文檔中被編碼圖像的認知,或支持在計算機屏幕上顯示的文檔。通過把筆或輸入筆在文檔上來回移動時由其上的照相機反復(fù)捕捉的圖像,系統(tǒng)能追蹤用戶所控制的輸入筆的移動。被顯示或打印的圖像可能是關(guān)聯(lián)于空白的或內(nèi)容豐富的紙張的水印(watermark),或是關(guān)聯(lián)于所顯示的圖像或屏幕上或屏幕內(nèi)部的固定編碼的水印。
圖2A和2B示出了帶照相機203的筆201的說明性示例。筆201具有可包括或不包括蓄墨水管的筆尖202。照相機203從表面207捕捉圖像204。筆201還可包括如虛線框206中所示的附加傳感器和/或處理器。這些傳感器和/或處理器206還具有向另一筆201和/或個人計算機傳送信息的功能(例如,通過藍牙或其它無線協(xié)議)。
圖2B表示的是由照相機203所察看的圖像。在一說明性示例中,照相機203的視野(即照相機圖像傳感器的分辨率)為32×32象素(其中N=32)。在該實施方式中,被捕捉圖像(32×32象素)對應(yīng)于照相機捕捉的表面平面上約為5×5毫米的區(qū)域。因此,圖2B顯示的是長寬皆為32象素的視野。N的大小是可調(diào)的,使得較大的N對應(yīng)于較高的圖像分辨率。還有,盡管照相機視野在此為作為說明被示為方塊,但視野可包括其它形狀,這在本領(lǐng)域是眾所周知的。
被照相機203捕捉的圖像可被定義為一個圖像幀序列{Ii},其中Ii是筆201在采樣時刻ti時捕捉的。取決于系統(tǒng)配置和性能需求,采樣率可大可小。取決于系統(tǒng)配置和性能需求,被捕捉圖像幀的尺寸也可大可小。
照相機203捕捉的圖像可由處理系統(tǒng)直接使用,或進行預(yù)過濾。該預(yù)過濾可在筆201中或筆201之外(例如,個人計算機中)進行。
圖2B的圖像尺寸是32×32象素。如果每個編碼單元尺寸是3×3象素,則被捕捉編碼單元的數(shù)量約為100。如果每個編碼單元尺寸是5×5象素,則被捕捉編碼單元的數(shù)量約為36。
圖2A還顯示有圖像平面209,在其上來自位置204的圖案的圖像210得以形成。從對象平面207上圖案接收的光線由透鏡208聚焦。透鏡208可以是單個透鏡或是一個多部件透鏡系統(tǒng),但為了簡潔起見,在此表示為單個透鏡。圖像捕捉傳感器211捕捉圖像210。
圖像傳感器210可足夠大,以捕捉圖像210??蛇x地,圖像傳感器210可足夠大,以在位置212捕捉筆尖202的圖像。為作參考,位置212上的圖像被稱為虛擬筆尖。要注意,由于筆尖、透鏡208和圖像傳感器211間的衡定關(guān)系,虛擬筆尖相對于圖像傳感器211的位置是固定的。
以下變換FS→P把照相機捕捉的圖像的位置坐標變換為紙張上真實圖像的位置坐標Lpaper=FS→P(LSensor)。
書寫期間,筆尖和紙張在相同平面上。因此,從虛擬筆尖到真實筆尖的變換也是FS→PLpentip=FS→P(Lvirtual-pentip)。
變換FS→P可被估算為仿射變換。其簡化為
FS→P′=sxsinθycosθxsinθy-cosθysinθx,sxcosθycosθxsinθy-cosθysinθx,0-sysinθxcosθxsinθy-cosθysinθx,sycosθxcosθxsinθy-cosθysinθx,00,0,1]]>作為FS→P的估算,其中θx、θy、sx、sy是在位置204上所捕捉圖案的兩個方向的旋轉(zhuǎn)和比例(scale)。此外,可通過被捕捉圖像與紙上相對應(yīng)真實圖像的匹配來精算(refine)F′S→P?!熬恪钡暮x是通過一種被稱為遞歸方法的優(yōu)化算法來對變換FS→P作更精確的估算。遞歸方法把矩陣F'S→P視作初始值。精算后的估算值更精確地描述了S和P之間的變換。
接下來,可通過校準確定虛擬筆尖的位置。
置筆尖202于紙上固定位置Lpentip。接著把筆傾斜,使照相機203以筆的不同姿勢捕捉一系列圖像。對于所捕捉的每一個圖像,可獲取變換FS→P。從該變換,可獲取虛擬筆尖Lvirtual-pentip的位置Lvirtual-pentip=FP→S(Lpentip),其中Lpentip被初始化為(0,0)且FP→S=(FS→P)-1。
通過平均來自每個圖像的Lvirtual-pentip,可確定虛擬筆尖Lvirtual-pentip的位置。有了Lvirtual-pentip,可得到Lpentip的更準確估算。在若干次迭代后,可確定虛擬筆尖Lvirtual-pentip的準確位置。
現(xiàn)在虛擬筆尖Lvirtual-pentip的位置已知。還可從捕捉圖像獲取變換FS→P。最后,可使用該信息確定真實筆尖Lpentip的位置Lpentip=FS→P(Lvirtual-pentip)。
根據(jù)本發(fā)明各種實施方式,把照相機捕捉圖像的中心映射到筆尖在紙上相應(yīng)的坐標位置以及用于此種映射中的校準參數(shù)將在后面VIII和IX節(jié)中討論。
IV.數(shù)組編碼二維數(shù)組可通過折疊一維序列來構(gòu)建。包括足夠量比特的二維數(shù)組的任何部分都可被用來確定其在完整二維數(shù)組中的位置。然而,有必要從一個或一些捕捉圖像確定該位置。為了使一個捕捉圖像部分與二維數(shù)組的兩個或多個位置相關(guān)聯(lián)的可能性降到最低,可用非重復(fù)序列來創(chuàng)建數(shù)組。被創(chuàng)建序列的一個屬性是該序列在長度(或窗口)n上不重復(fù)。以下描述了一維序列的創(chuàng)建、然后將該序列折疊成數(shù)組。
IV.A.序列構(gòu)建一個數(shù)字序列可被用作編碼系統(tǒng)的起點。例如,序列(也稱為m序列)可被表示為域Fq中的q元素集合。在此,q=pn其中n≥1且p為質(zhì)數(shù)。該序列或m序列可用各種不同技術(shù)生成,包括但不限于多項式除法。使用多項式除法,該序列可被定義如下其中Pn(x)是域Fq[x]中n次的本原多項式(有qn個元素)。R1(x)是域Fq[x]中1次的非零多項式(其中1<n)。序列可通過使用兩個步驟的迭代過程來創(chuàng)建首先,兩個多項式相除(結(jié)果為域Fq的元素),其次,將余數(shù)乘以x。當輸出開始重復(fù)時,計算停止。該過程可使用線性反饋移位寄存器來實現(xiàn),該寄存器在IEEE計算機學(xué)報43.5(1994年5月560-568頁)上Douglas W.Clark和Lih-Jyh Weng的文章“Maximal and Near-Maximal Shift Register SequencesEfficient Event Counters andEasy Discrete Logarithms,”中有陳述。在此環(huán)境中,關(guān)系在序列和多項式R1(x)的循環(huán)移位間被建立改變R1(x)僅僅使該序列循環(huán)移位,且每次循環(huán)移位對應(yīng)于一個多項式R1(x)。所產(chǎn)生序列的屬性之一為,序列的周期是qn-1,且在一個周期中,寬度(或長度)n上的任何部分在序列中存在一次且僅有一次。這稱為“窗口屬性”。周期qn-1也被稱作序列長度,而n為序列次數(shù)。
上述過程僅僅是可用來創(chuàng)建有窗口屬性序列的各種過程之一。
IV.B.數(shù)組構(gòu)建可用來創(chuàng)建圖像(其中部分可被照相機捕捉)的數(shù)組(或m數(shù)組)是一維序列或m序列的擴展。設(shè)A為周期(m1,m2)的數(shù)組,即A(k+m1,l)=A(k,l+m2)=A(k,l)。當n1×n2窗口在時間段A上移位時,所有Fq上非零的n1×n2矩陣出現(xiàn)一次且僅有一次。該屬性也被稱為“窗口屬性”,因為每個窗口都是唯一的。接著窗口可被表達成周期為(m1,m2)(m1和m2為數(shù)組中表示水平和垂直方向的比特數(shù))且次數(shù)為(n1,n2)的數(shù)組。
通過折疊該序列可構(gòu)建二元數(shù)組(或m元數(shù)組)。一種方法是獲取一序列,然后將其折疊成m1×m2的尺寸,其中數(shù)組的長度為L=m1×m2=2n-1。或者,可從想要覆蓋預(yù)定尺寸的空間開始(例如,一張紙大、三十張紙大、或計算機監(jiān)視器尺寸),確定面積(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ù)組的每個比特如等式1所示計算而從序列{ai}創(chuàng)建尺寸為m1×m2的數(shù)組{bkl},其中(m1,m2)的最大公約數(shù)=1且L=m1×m2
bkl=ai,其中k=i mod(m1),l=i mod(m2),i=0,…,L-1. (1)該折疊方法或者可被表達為將序列放置在數(shù)組的對角線上,然后當?shù)诌_邊界時從對邊繼續(xù)。
圖4A顯示可用來對圖3D的數(shù)組編碼的采樣編碼技術(shù)??衫斫?,可使用其它編碼技術(shù)。例如,可選編碼技術(shù)在圖11顯示。
參照圖4A,第一比特401(例如“1”)由一列黑墨表示。第二比特402(例如“0”)由一行黑墨表示??梢岳斫猓墒褂萌魏紊实哪畞肀硎靖鱾€比特。對選擇墨水色彩的唯一要求是其提供與介質(zhì)背景的鮮明對比,使圖像捕捉系統(tǒng)能對其進行辨認。圖4A中的比特由3×3的單元矩陣表達?;趫D像捕捉系統(tǒng)的尺寸和分辨率,矩陣可被改變成任何尺寸。比特0和1的可選表示如圖4C到4E所示??梢岳斫?,圖4A到4E采樣編碼的1或0的表示可無影響地進行切換。圖4C以交叉排列示出占據(jù)兩行或兩列的比特表示。圖4D以虛線形式顯示行和列中象素的可選排列。最后圖4E以不規(guī)則間隔的格式顯示列和行中的象素表示(兩個黑點后跟隨一個空白點)。
再看圖4A,如果比特以3×3的矩陣表示且圖像系統(tǒng)在3×3區(qū)域中檢測到一黑色行和兩個空白行,則檢測到0(或1)。如果檢測到圖像有一個黑色列和兩個白色列,則檢測到1(或0)。
在此,一個以上象素或點被用來表示一比特。使用單個象素(或比特)來表示比特易受破壞?;覊m、紙張折痕、不平整的表面等等在讀取數(shù)據(jù)單元的單個比特表示時都會產(chǎn)生困難。然而,可以理解,可以使用不同方法來圖形地表示平面上的數(shù)組。一些方法如圖4C到4E所示??梢岳斫膺€可使用其它方法。僅使用空間位移點的一種方法在圖11中陳述。
比特流被用來創(chuàng)建圖4B中的圖形圖案403。圖形圖案403包括12行和18列。這些行和列由以比特表示401和402將其轉(zhuǎn)化成圖形表示的比特流形成。圖4B可被示為有以下比特表示010101110110110010001010011101101100]]>V.解碼當人們用圖2A的筆書寫或?qū)⒃摴P移近被編碼圖案時,照相機捕捉到一圖像。例如當筆201被壓向紙張且其在紙上文檔上來回移動時,筆201可利用壓力傳感器。接著圖像被處理,以相對于編碼圖像的完整表示而確定被捕捉圖像的方向,并提取組成被捕捉圖像的比特。
為確定被捕捉圖像相對于整個被編碼區(qū)域的方向,可注意到并不是所有圖5A-5D所示的四個可能拐角都能在圖形圖案403中出現(xiàn)。實際上,從正確方向看,圖5A所示的拐角類型不能在圖形圖案403中出現(xiàn)。因此,看不到圖5A所示的拐角類型的方向是正確方向。
繼續(xù)看圖6,可分析由照相機601捕捉的圖形并且可確定其方向,以便被編譯為圖像601所確切表示的位置。首先,考察圖像601以確定使象素水平或豎直對齊的圖像需要旋轉(zhuǎn)的角度θ。注意,包括把其中網(wǎng)格旋轉(zhuǎn)成非水平和非豎直排列(例如45度)的可選網(wǎng)格對齊是可能的。由于用戶可能傾向于在其它圖案之前先注意水平或豎直圖案,使用非水平和非豎直排列可提供消除用戶視覺渙散的可能優(yōu)點。為了簡單,網(wǎng)格的方向(其中網(wǎng)格的水平、豎直和任何其它方向)可被統(tǒng)稱為預(yù)定義網(wǎng)格方向。
接著,分析圖像601以確定哪個拐角缺失。把圖像601旋轉(zhuǎn)成可供解碼的圖像603所需的旋轉(zhuǎn)量o被示為o=(θ+旋轉(zhuǎn)量{由缺失的拐角定義})。該旋轉(zhuǎn)量如圖7中等式所示。還看圖6,角度θ首先通過把象素布局變成象素的水平或豎直排列(或其它預(yù)定義網(wǎng)格方向)確定,且圖像旋轉(zhuǎn)成如圖602所示。然后進行分析以確定缺失的拐角,且圖像602被旋轉(zhuǎn)成圖像603以設(shè)立供解碼的圖像。在此,圖像逆時針旋轉(zhuǎn)90°,從而圖像603有正確的方向且可用于解碼。
可以理解旋轉(zhuǎn)角度θ可在圖像601旋轉(zhuǎn)之前或之后被用來說明缺失的拐角。還可理解考慮到被捕捉圖像的噪音,所有四種拐角都可能出現(xiàn)。我們會數(shù)某種類型拐角的數(shù)量,然后選擇數(shù)量最少的拐角類型作為為缺失的拐角類型。
最后,圖像603中的編碼被讀取并與用來創(chuàng)建圖像403的原始比特流進行相關(guān)。該相關(guān)可用眾多方法執(zhí)行。例如,它可用遞歸法執(zhí)行,其中復(fù)原比特流可與原始比特流中的所有其它比特流分段相比較。接著,例如使用兩個比特流間的糾錯(Hamming)距離可執(zhí)行復(fù)原比特流和原始比特流之間統(tǒng)計學(xué)分析??梢岳斫?,可使用各種方法來確定原始比特流中復(fù)原比特流的位置。
一旦有了復(fù)原比特,就需要在原始數(shù)組中(例如圖4B中所示)定位被捕捉圖像。由于許多項目使得在整個數(shù)組中確定比特片斷的位置是復(fù)雜的。首先,被捕捉的確切比特可能是模糊的(例如,照相機可捕捉模糊了原碼的手寫圖像)。其次,灰塵、折痕、反射等等也會在捕捉圖像中產(chǎn)生錯誤。這些錯誤使得定位過程更困難?;诖?,圖像捕捉系統(tǒng)可能需要對圖像中提取的非序列比特發(fā)揮作用。以下表示了操作圖像中非序列比特的一種方法。
設(shè)序列(或m序列)I對應(yīng)于冪級數(shù)I(x)=1/Pn(x),其中n是m序列的次數(shù),且被捕捉圖像包含K個比特I,b=(b0b1b2…bK-1)t,其中K≥n且上標t代表矩陣或向量的轉(zhuǎn)置。K個比特的位置s正好是I的循環(huán)移位次數(shù),從而b0被移位到序列的起點。接著該經(jīng)移位的序列R對應(yīng)于冪級數(shù)xs/Pn(x)或R=Ts(I),其中T為循環(huán)移位運算符。我們間接地得出該s。多項式模數(shù)Pn(x)形成一個域。保證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包括從零-位移到(n-1)-位移的I的循環(huán)移位?,F(xiàn)在僅有稀少的K比特在R中可用以解出r。設(shè)R中bi和b0間的索引差為ki,i=1,2,…,k-1,則R的第一個和第ki+1個元素,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,我們可使用如IEEE計算機學(xué)報43.5(1994年5月560-568頁)上Douglas W.Clark和Lih-Jyh Weng的文章“Maximal and Near-Maximal ShiftRegister SequencesEfficient Event Counters and Easy Discrete Logarithms”中的Pohlig-Hellman-Silver算法,來得出s使得xs≡r0+r1x+…rn-1xn-1mod(Pn(x))。
因為矩陣A(尺寸為n×L,其中L=2n-1)可能很大,因此應(yīng)當避免存儲整個矩陣A。實際上,如在以上過程中所見,給定索引差ki為的已提取比特,僅有A的第一列和第ki+1列與計算相關(guān)。如果給定被捕捉圖像的尺寸,對ki的這種選擇就相當有限了。因而,僅需要保存在計算中要涉及的這些列。這些列的總數(shù)比L要小得多(其中L=2n-1是m序列的長度)。
VI.糾錯如果b中存在誤差,則對r的解答變得更為復(fù)雜。由于與捕捉比特相關(guān)聯(lián)的矩陣M可隨被捕捉圖像而改變,因此帶糾錯解碼的常規(guī)方法可能還不容易應(yīng)用。
我們采用一種隨機方法。假設(shè)b中的錯誤比特數(shù)ne與K相比較小,則從b的K比特中選擇正確的n個比特以及M的相應(yīng)子矩陣 為非退化的可能性較高。
當被選擇的n比特都正確時,bt和rtM之間的漢明距離或者與r相關(guān)聯(lián)的錯誤比特數(shù)應(yīng)為最小值,其中r通過等式(4)來計算。重復(fù)該過程若干次,可能就能標識導(dǎo)致最小錯誤比特的正確的r。
如果僅有一個r與最小錯誤比特數(shù)相關(guān)聯(lián),則它被視為正確解答。否則,如果有一個以上的r與最小錯誤比特數(shù)相關(guān)聯(lián),則ne超過M生成碼的糾錯能力的可能性很高且解碼過程失敗。系統(tǒng)接著轉(zhuǎn)而處理下一被捕捉圖像。在另一實施方式中,有關(guān)筆的先前位置的信息被考慮在內(nèi)。即,對每一個被捕捉圖像,能標識筆被期望的下一目標區(qū)域。例如,如果用戶在照相機的兩次圖像捕捉之間未提起筆,則第二次圖像捕捉所確定的筆的位置不應(yīng)離第一次的位置很遠。接著檢查與最少錯誤比特相關(guān)聯(lián)的每個r以了解從r計算得來的位置s是否滿足本地約束條件,即該位置是否在指定的目標區(qū)域中。
如果位置s滿足本地約束,數(shù)組中抽取比特的X,Y位置被返回。如果不滿足,則解碼過程失敗。
圖8描繪了可用于確定被捕捉圖像的序列(或m序列)中的位置的過程。首先,在步驟801,接收涉及被捕捉圖像的數(shù)據(jù)流。步驟802中,從A中提取相應(yīng)的列并且構(gòu)架矩陣M。
步驟803中,從矩陣M中隨機選取n個獨立的列向量,并且通過解等式(4)確定向量r。該過程在步驟904中執(zhí)行Q次(例如100次)。循環(huán)次數(shù)的確定在循環(huán)次數(shù)計算小節(jié)中討論。
在步驟805中,r按照其相關(guān)聯(lián)的錯誤比特數(shù)進行排序。該排序可用本領(lǐng)域中所知的各種排序算法進行。例如,可使用選擇排序算法。當Q不是很大時,選擇排序算法是有利的。然而如果Q變大,可使用其它更有效地處理較大數(shù)量的排序算法(例如,合并排序)。
然后系統(tǒng)在步驟806中通過檢查是否多個r與最少量錯誤比特相關(guān)聯(lián),從而確定糾錯是否成功執(zhí)行。如果存在多個r,則在步驟809中返回指示解碼過程失敗的錯誤。如果不存在多個r,抽取比特在序列(或m序列)中的位置s在步驟807中例如通過使用Pohig-Hellman-Silver算法進行計算。
下一步,數(shù)組中的(X,Y)位置被計算為x=s mod m1和y=s mod m2且結(jié)果在步驟808中被返回。
VII.位置確定圖9顯示了確定筆尖位置的過程。輸入是被照相機捕捉的圖像,而輸出另一是筆尖的位置坐標。還有,輸出可以包括(或不包括)諸如被捕捉圖像旋轉(zhuǎn)角度等其它信息。
步驟901中,圖像從照相機上接收。接著,被接收圖像可任選地在步驟902中被預(yù)處理(如步驟902的虛線框所示),以調(diào)整淺色象素和黑色象素之間的對比度等等。
下一步,在步驟903中,圖像被分析以確定其中的比特流。
接著,步驟904中,從比特流中多次隨機選取n個比特,且接收比特流在原序列(或m序列)中的位置被確定。最后,一旦被捕捉圖像的位置在步驟904中被確定,筆尖位置可在步驟905中被確定。
圖10給出了有關(guān)903和904的更多細節(jié),并顯示了在被捕捉圖像中抽取比特流的方法。首先,在步驟1001圖像從照相機上接收。接著圖像可任選地在步驟1002中進行圖像預(yù)處理(如步驟1002虛線外框所示)。圖案在步驟1003被提取。在此,各種行上的象素被提取,以得到圖案的方向和角度θ。
接著,被接收圖像在步驟1004中進行分析,以確定底層的網(wǎng)格線。如果網(wǎng)格線在步驟1005中被找到,則在步驟1006中編碼從圖案中被提取。編碼在步驟1007中被解碼,且筆尖位置在步驟1008中被確定。如果在步驟1005上未發(fā)現(xiàn)網(wǎng)格線,則在步驟1009中返回錯誤。
VIII.把照相機捕捉圖像的筆劃映射到相應(yīng)筆尖筆劃根據(jù)本發(fā)明的各種實施方式,筆尖202的x-y位置可通過使用校準參數(shù)來確定,該校準參數(shù)把筆上照相機210所捕捉圖像的中心的x-y位置分別映射到筆尖的x-y位置上。
圖11根據(jù)本發(fā)明的各種實施方式描述了校準模塊1102和映射模塊1106。校準模塊1102接收校準輸入數(shù)據(jù)1100,該輸入數(shù)據(jù)可通過用戶把筆尖202放置在諸如紙張的按位置編碼介質(zhì)的表面207上的固定位置上,然后旋轉(zhuǎn)該筆和/或在各個方向上移動該筆的另一端以捕捉多個圖像以供產(chǎn)生校準參數(shù)1104而產(chǎn)生。
映射模塊1106使用校準模塊1104和復(fù)原的計算機捕捉圖像信息1110來產(chǎn)生復(fù)原的筆尖位置信息1108。
圖13描述了包括覆蓋在按位置編碼迷宮圖案上的文字的按位置編碼紙張的掃描副本。圖13顯示了由筆尖202在紙張上寫就的實際墨水筆劃1301。
圖12是與圖13的掃描圖像相對應(yīng)的按位置編碼紙張的電子副本一部分的屏幕照片。在圖12中,通過確定沿被捕捉圖像筆劃1203的點在文檔中的位置,被捕捉圖像筆劃1203從筆上照相機203所捕捉圖像的相應(yīng)中心復(fù)原。
圖12還描繪了筆尖202的復(fù)原筆尖筆劃1201。復(fù)原筆尖筆劃1201可通過把校準參數(shù)1104應(yīng)用到復(fù)原被捕捉圖像筆劃1203中來獲取。
根據(jù)本發(fā)明的各種實施方式,虛擬筆尖212被用來把復(fù)原圖像中心筆劃1203映射到復(fù)原筆尖筆劃1201。虛擬筆尖的位置取決于真實筆尖202和照相機203之間的基于筆的配置的預(yù)定關(guān)系。虛擬筆尖212是圖像傳感器平面209上筆尖202的突出點。虛擬筆尖212在圖像傳感器平面209上的位置是未知但固定的。
把圖像中心的位置映射到筆尖位置的一種方法是確認筆尖與筆身之間的空間關(guān)系,筆身、透鏡和圖像傳感器之間的空間關(guān)系,諸如透鏡的焦距、圖像傳感器象素的物理尺寸等的光學(xué)調(diào)整,圖像中心與透鏡光軸之間的距離等等。這些測量通常需要特殊的裝置。此外,每當筆的配置變化,諸如當蓄墨水管被更換時,該過程需重復(fù)進行。虛擬筆尖的概念使得這些復(fù)雜步驟不必要了。透視變換被應(yīng)用于虛擬筆尖的位置以得到筆尖的位置,即Lpentip=FS→P(Lvirtual-pentip)(8)IX.校準根據(jù)本發(fā)明的各種實施方式,通過執(zhí)行以下(a)到(g)的步驟可估算校準參數(shù)Lvirtual-pentip(a)用戶置真實筆尖202于表面207上的固定位置Lpentip。參照圖14,按位置編碼表面207的一部分1400被顯示,其上Lpentip被顯示在1402。
(b)用戶將筆尖保持在位置Lpentip上,并捕捉帶有不同筆方向的一系列圖像(即盡管筆尖202保留在固定位置Lpentip,但是筆可旋轉(zhuǎn)和/或與筆尖202相對的筆的另一端可在各個方向上移動)。參照圖14,對于Lpentip1402,中心沿著路徑1404的圖像可能被捕捉。
(c)初始化Lvirtual-pentip為(0,0),其中Lvirtual-pentip為Lvirtual-pentip的估算值。
(d)對于每個被捕捉圖像,通過m-數(shù)組解碼和圖像匹配來計算變換FS→P和FP→S=FS→P-1,]]>可計算出等式9和10
Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N---(9)]]>Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N---(10)]]>其中N是用于校準的被捕捉圖像數(shù)目,而ΔLi是在第i幀中真實筆尖的位置與Lpentip之間的偏移量ΔPi。
(e)有了等式(9),設(shè)Lvirtual-pentip為Lvirtual-pentip,以得到Lpentipi,i=1,2,…,N。通過對Lpentipi取平均值,Lpentip被估算值為L‾pentip=1NΣi=1i=NLpentipi---(11)]]>(f)有了等式(10),設(shè)Lpentip為Lpentip,以得到Lvirtual-pentipi,i=1,2,…,N。通過對Lvirtual-pentipii取平均值,Lvirtual-pentip被估算值為L‾virtual-pentip=1NΣi=1i=NLvirtual-pentipi---(12)]]>(g)到步驟(e)。
在幾次從步驟(e)到(g)的迭代之后,Lvirtual-pentip和Lpentip一般都將分別收斂為更準確的可被稱為Lvirtual-pentipaccurate和Lpentipaccurate的結(jié)果。
Lvirtual-pentipaccurate可被用作等式(8)中的校準參數(shù),用來把復(fù)原圖像中心筆劃1203映射到復(fù)原筆尖筆劃1201。
現(xiàn)在將提供一示例,其中Lvirtual-pentipaccurate和Lvirtual-pentip基于筆尖被放置的固定位置Lpentip進行計算,且筆被旋轉(zhuǎn)使得47個圖像可被捕捉。從每個圖像可獲取變換FS→P和FP→S=FS→P-1.]]>如下所示,經(jīng)過47次迭代,Lvirtual-pentip從(0.00,0.00)收斂到最后結(jié)果(30.80,7.01),Lpentip收斂到最后結(jié)果(978.87,1618.55)。注意Lvirtual-pentip在以圖像中心為原點的被捕捉圖像的坐標系統(tǒng)中,而Lpentip則在相應(yīng)文檔的坐標系統(tǒng)中。
迭代次數(shù)1—[步驟c]—初始化虛擬筆尖為(x=0.00,y=0.00),以計算每個圖像在紙上的筆尖位置。
圖像0的紙上筆尖位置x=985.57,y=1649.70;圖像1的紙上筆尖位置x=985.20,y=1649.25;……;圖像46的紙上筆尖位置x=1006.41,y=1629.30;圖像47的紙上筆尖位置x=1006.76,y=1628.79;平均紙上筆尖位置x=993.32,y=1643.28。
—使用最后的平均紙上筆尖位置(x=993.32,y=1643.28)來計算每個圖像的虛擬筆尖
圖像0的虛擬筆尖位置x=2.83,y=11.43;圖像1的虛擬筆尖位置x=2.42,y=11.66;……;圖像46的虛擬筆尖位置x=9.46,y=-17.72;圖像47的虛擬筆尖位置x=10.55,y=-18.45;平均虛擬筆尖位置x=3.65,y=0.88;[步驟g]—到步驟e。
迭代次數(shù)2—[步驟e]—使用最后的虛擬筆尖為(x=3.65,y=0.88),以計算每個圖像的紙上筆尖位置。
圖像0的紙上筆尖位置x=984.86,y=1646.07;圖像1的紙上筆尖位置x=984.50,y=1645.58;………;圖像46的紙上筆尖位置x=1003.09,y=1628.06;圖像47的紙上筆尖位置x=1003.53,y=1627.54;平均紙上筆尖位置x=991.64,y=1640.32。
—使用最后的平均紙上筆尖位置(x=991.64,y=1640.32)來計算每個圖像的虛擬筆尖圖像0的虛擬筆尖位置x=6.25,y=10.93;圖像1的虛擬筆尖位置x=5.79,y=11.12;……;圖像46的虛擬筆尖位置x=11.93,y=-14.67;圖像47的虛擬筆尖位置x=13.01,y=-15.41;平均虛擬筆尖位置x=6.87,y=1.64;[步驟g]—到步驟e。
迭代次數(shù)3—[步驟e]—使用最后的虛擬筆尖為(x=6.87,y=1.64.),以計算每個圖像的紙上筆尖位置。
……迭代次數(shù)43—平均虛擬筆尖x=30.74,y=7.00。
……迭代次數(shù)44—平均虛擬筆尖x=30.76,y=7.01。
……
迭代次數(shù)45—平均虛擬筆尖x=30.77,y=7.01。
……迭代次數(shù)46—平均虛擬筆尖x=30.78,y=7.01。
……迭代次數(shù)47--[步驟f]—使用最后的平均紙上筆尖位置(x=978.87,y=1618.55)來計算每個圖像的虛擬筆尖圖像0的虛擬筆尖位置x=31.61,y=6.88;圖像1的虛擬筆尖位置x=30.74,y=6.73;……;圖像46的虛擬筆尖位置x=30.47,y=7.74;圖像47的虛擬筆尖位置x=31.46,y=6.96;因此,在該例中,平均虛擬筆尖的最后值收斂到x=30.80,y=7.01。
以上所述僅僅是本發(fā)明原則應(yīng)用的說明。本領(lǐng)域技術(shù)人員能實現(xiàn)其它排列和方法,而不背離本發(fā)明的精神和范圍。本發(fā)明諸方法中的任一種都可在存儲于計算機存儲盤或其它計算機可讀介質(zhì)之上的軟件中得以實現(xiàn)。
權(quán)利要求
1.一種校準包括筆尖和照相機的數(shù)字式筆、校準并把照相機捕捉圖像的中心位置映射到所述筆尖位置的方法,其特征在于,它包括基于在將筆尖保持于一按位置編碼的表面上基本固定的位置Lpentip的同時以多個不同方向放置所述筆而由所述數(shù)字式筆上的照相機所捕捉的多個圖像來生成一校準參數(shù),其中所述校準參數(shù)基于多個迭代生成的估算值而產(chǎn)生;以及使用所述校準參數(shù)把所述照相機捕捉圖像的中心位置映射到所述筆尖位置,從而用戶在所述按位置編碼的表面上所書寫的筆劃可在所述按位置編碼表面的電子副本的一位置上復(fù)原,其中所述電子副本中所述復(fù)原筆劃的位置對應(yīng)于用戶在按位置編碼表面上書寫所述筆劃時的多個筆尖位置。
2.如權(quán)利要求1所述的方法,其特征在于,還包括通過m數(shù)組解碼和圖像匹配來對多個被捕捉圖像的每個圖像計算一變換FS→P和一逆變換FP→S=FS→P-1,]]>及隨后計算Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N,]]>以及Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N,]]>其中N是用來生成所述校準參數(shù)的被捕捉圖像的數(shù)量,而ΔPi是在第I幀中實際筆尖位置和Lpentip之間的偏移量。
3.如權(quán)利要求2所述的方法,其特征在于,還包括初始化Lvirtual-pentip為(0,0),其中Lvirtual-pentip是Lvirtual-pentip的一估算值。
4.如權(quán)利要求3所述的方法,其特征在于,還包括在等式Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N]]>中,設(shè)Lvirtual-pentip為Lvirtual-pentip以獲取Lpentipi,i=1,2,…,N,且通過取Lpentipi的平均值,將Lpentip估算為L‾pentip=1NΣi=1i=NLpentipi.]]>
5.如權(quán)利要求4所述的方法,其特征在于,還包括在等式Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N]]>中,設(shè)Lpentip為Lpentip以獲取Lvirtual-pentipi,i=1,2,…,N,且通過取Lvirtual-pentipi的平均值,將Lvirtual-pentip估算為L‾virtual-pentip=1NΣi=1i=NLvirtual-pentipi.]]>
6.如權(quán)利要求5所述的方法,其特征在于,還包括重復(fù)權(quán)利要求4和5中的步驟多次,使得Lvirtual-pentip的估算值收斂于實質(zhì)上更準確的結(jié)果Lvirtual-pentipaccurate,而Lpentip的估算值收斂于實質(zhì)上更準確的結(jié)果Lpentipaccurate。
7.如權(quán)利要求6所述的方法,其特征在于,還包括把Lvirtual-pentipaccurate用作所述校準參數(shù),以將所述照相機捕捉圖像的中心位置映射到所述筆尖位置。
8.如權(quán)利要求1所述的方法,其特征在于,還包括使用一虛擬筆尖以把一復(fù)原計算機捕捉筆劃映射到一復(fù)原筆尖筆劃,其中所述虛擬筆尖在所述數(shù)字式筆的一圖像感應(yīng)平面上的位置取決于所述筆尖和所述筆上照相機之間的預(yù)定關(guān)系,其中所述預(yù)定關(guān)系基于所述筆的配置。
9.一種包含計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令產(chǎn)生包括一筆尖和一照相機的數(shù)字式筆的校準參數(shù),其中通過執(zhí)行以下步驟,把所述圖像的中心位置映射到在一按位置編碼的表面上的所述筆尖位置取決于所述校準參數(shù)基于使筆尖保持在一按位置編碼的表面上基本固定的位置Lpentip的同時以多個不同方向放置所述筆而由所述數(shù)字式筆上照相機所捕捉的多個圖像來生成所述校準參數(shù),其中所述校準參數(shù)基于多個迭代生成的估算值而產(chǎn)生。
10.如權(quán)利要求9所述的計算機可讀介質(zhì),其特征在于,還包括計算機可執(zhí)行指令,其通過圖像匹配來對多個被捕捉圖像的每個圖像計算一變換FS→P和一逆變換FP→S=FS→P-1,]]>及隨后計算Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N,]]>以及Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N,]]>其中N是用來產(chǎn)生所述校準參數(shù)的被捕捉圖像數(shù)量,而ΔPi是在第I幀中真實筆尖位置和Lpentip之間的偏移量。
11.如權(quán)利要求10所述的計算機可讀介質(zhì),其特征在于,還包括計算機可執(zhí)行指令,其初始化Lvirtual-pentip為(0,0),其中Lvirtual-pentip是Lvirtual-pentip的一估算值。
12.如權(quán)利要求11所述的計算機可讀介質(zhì),其特征在于,還包括計算機可執(zhí)行指令,其在等式Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N]]>中,設(shè)Lvirtual-pentip為Lvirtual-pentip以獲取Lpentipi,i=1,2,…,N,且通過取Lpentipi的平均值,將Lpentip估算為L‾pentip=1NΣi=1i=NLpentipi.]]>
13.如權(quán)利要求12所述的計算機可讀介質(zhì),其特征在于,還包括計算機可執(zhí)行指令,其在等式Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N]]>中,設(shè)Lpentip為Lpentip以獲取Lvirtual-pentipi,i=1,2,…,N,且通過取Lvirtual-pentipi的平均值,將Lvirtual-pentip估算為L‾virtual-pentip=1NΣi=1i=NLvirtual-pentipi.]]>
14.如權(quán)利要求13所述的計算機可讀介質(zhì),其特征在于,還包括重復(fù)權(quán)利要求12和13中的步驟多次,使得Lvirtual-pentip的估算值收斂于實質(zhì)上更準確的結(jié)果Lvirtual-pentipaccurate,而Lpentip的估算值收斂于實質(zhì)上更準確的結(jié)果Lpentipaccurate。
15.如權(quán)利要求14所述的計算機可讀介質(zhì),其特征在于,還包括計算機可執(zhí)行指令,其把Lvirtual-pentipaccurate用作所述校準參數(shù),以將所述照相機捕捉圖像的中心位置映射到所述筆尖位置。
16.一種包含計算機可執(zhí)行指令的計算機可讀介質(zhì),其特征在于,通過執(zhí)行以下步驟,所述指令校準包括一筆尖和一照相機的一數(shù)字式筆,并把照相機捕捉圖像的中心位置映射到所述筆尖位置基于在將所述筆尖保持在一按位置編碼的表面上基本固定的位置Lpentip的同時以多個不同方向放置所述筆而由所述數(shù)字式筆上照相機所捕捉的多個圖像來生成一校準參數(shù),其中所述校準參數(shù)基于多個迭代生成的估算值而產(chǎn)生;以及使用所述校準參數(shù)把所述照相機捕捉圖像中心的位置映射到所述筆尖位置,從而用戶在所述按位置編碼的表面上所書寫的筆劃可在所述按位置編碼表面的電子副本的一位置上復(fù)原,其中所述電子副本中所述復(fù)原筆劃的位置對應(yīng)于用戶在按位置編碼表面上書寫所述筆劃時的多個筆尖位置。
17.如權(quán)利要求16所述的計算機可讀介質(zhì),其特征在于,還包括計算機可執(zhí)行指令,其使用一虛擬筆尖用來把一復(fù)原計算機捕捉筆劃映射到一復(fù)原筆尖筆劃,其中所述虛擬筆尖在所述數(shù)字式筆的一圖像感應(yīng)平面上的位置取決于所述筆尖和所述筆上照相機之間的預(yù)定關(guān)系,其中所述預(yù)定關(guān)系基于所述筆的所述配置。
18.一種系統(tǒng),其校準包括一筆尖和一照相機的一數(shù)字式筆、并把照相機捕捉圖像的中心位置映射到所述筆尖位置,其特征在于,所述系統(tǒng)包括一校準模塊,其基于通過在將所述筆尖保持在一按位置編碼的表面上基本固定的位置Lpentip的同時以多個不同方向放置所述筆而由所述數(shù)字式筆上照相機所捕捉的多個圖像來生成一校準參數(shù),其中所述校準參數(shù)基于多個迭代生成的估算值生成;以及一映射模塊,其使用所述校準參數(shù)把所述照相機捕捉圖像中心的位置映射到所述筆尖位置,從而用戶在所述按位置編碼表面上所寫的筆劃可在所述按位置編碼表面的電子副本的一位置上復(fù)原,其中所述電子副本中所述復(fù)原筆劃的位置對應(yīng)于用戶在按位置編碼表面上書寫所述筆劃時的多個筆尖位置。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述校準模塊通過圖像匹配來對多個被捕捉圖像的每個圖像計算一變換FS→P和一逆變換FP→S=FS→P-1,]]>并隨后計算Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N,]]>以及Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N,]]>其中N是用來產(chǎn)生所述校準參數(shù)的被捕捉圖像數(shù)量,而ΔPi是在第I幀中真實筆尖位置和Lpentip之間的偏移量。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,還包括初始化Lvirtual-pentip為(0,0),其中Lvirtual-pentip是Lvirtual-pentip的一估算值。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于,在等式Lpentipi=FS→Pi·Lvirtual-pentip,i=1,2,···,N,]]>中,設(shè)Lvirtual-pentip為Lvirtual-pentip以獲取Lpentipi,i=1,2,…,N,且通過取Lpentipi的平均值,將Lpentip估算為L‾pentip=1NΣi=1i=NLpentipi.]]>
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,在等式Lvirtual-pentipi=FP→Si·(Lpentip+ΔLi),i=1,2,···,N]]>中,設(shè)Lpentip為Lpentip以獲取Lvirtual-pentipi,i=1,2,…,N,且通過取Lvirtual-pentipi的平均值,將Lvirtual-pentip估算為L‾virtual-pentip=1NΣi=1i=NLvirtual-pentipi.]]>
23.如權(quán)利要求22所述的系統(tǒng),其特征在于,所述校準模塊重復(fù)權(quán)利要求21和22的步驟多次,使得Lvirtual-pentip的估算值收斂于實質(zhì)上更準確的結(jié)果Lvirtual-pentipeaccurate,而Lpentip的估算值收斂于實質(zhì)上更準確的結(jié)果Lpentipaccurate。
24.如權(quán)利要求23所述的系統(tǒng),其特征在于,所述校準模塊向所述校準模塊輸出Lvirtual-pentipaccurate用作所述校準參數(shù),以將所述復(fù)原圖像的中心位置映射到所述復(fù)原筆尖位置。
25.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述校準模塊使用一虛擬筆尖以把一復(fù)原計算機捕捉筆劃映射到一復(fù)原筆尖筆劃,其中所述虛擬筆尖在所述數(shù)字式筆的一圖像感應(yīng)平面上的位置取決于所述筆尖和所述筆上照相機之間的預(yù)定關(guān)系,其中所述預(yù)定關(guān)系基于所述筆的所述配置。
全文摘要
數(shù)字式筆尖的x-y位置可通過使用校準參數(shù)映射筆上照相機所捕捉圖像相應(yīng)中心的x-y位置來確定。校準參數(shù)可通過迭代計算校準參數(shù)的估算值而產(chǎn)生。校準輸入數(shù)據(jù)可通過用戶把筆尖202放置在諸如紙張的按位置編碼介質(zhì)表面207的固定位置上,然后旋轉(zhuǎn)該筆和/或在各種方向上移動該筆的另一端以捕捉多個圖像來產(chǎn)生,用來產(chǎn)生校準參數(shù)。用戶無需一般結(jié)合常規(guī)校準技術(shù)而使用的復(fù)雜校準設(shè)備,就可執(zhí)行這種校準過程。
文檔編號G06F3/033GK1637774SQ200510004180
公開日2005年7月13日 申請日期2005年1月6日 優(yōu)先權(quán)日2004年1月6日
發(fā)明者王堅, 陳黎勇, 馬曉旭, 黨映農(nóng) 申請人:微軟公司