專利名稱:圖象掃描裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及用于形成原件的掃描的或捕獲的電子圖象的裝置和方法。具體地說,涉及一些裝置和方法,其中圖象是以任意的順序捕獲的,尤其是不受約束的手動掃描。
以電子方法形成原件圖象的掃描器已為人知。一般,由掃描器提供的所捕獲的圖象是一種以數(shù)字形式儲存在存儲器中的象素數(shù)據(jù)陣列。無畸變的圖象要求原件的圖象忠實地映射到象素的陣列上。掃描器一般包括至少一種在圖象捕獲過程中施加機械限制,以便把忠實映射的或然率提到最高的裝置。先有技術(shù)已知的四種掃描器類型是鼓型掃描器、平板型掃描器、二維陣列掃描器和手持式掃描器。
鼓式掃描器把原件固定在圓柱形轉(zhuǎn)鼓的表面,轉(zhuǎn)鼓以基本上固定的速度旋轉(zhuǎn)。在轉(zhuǎn)鼓旋轉(zhuǎn)的過程中,圖象傳感器沿著與鼓的旋轉(zhuǎn)軸平行的方向移動。圖象傳感器的線性位移與鼓上原件的轉(zhuǎn)動相結(jié)合,就可以掃描整個原件。在圖象形成過程中的任意時刻,象素數(shù)據(jù)陣列相對于原件的當前位置可以通過測量鼓的角位置和傳感器的平移位置來確定。只要原件在鼓上固定好、鼓的轉(zhuǎn)動控制適當,且傳感器沿著線性路徑的位移也得到適當?shù)目刂?,象素?shù)據(jù)陣列相對于原件的位置就是固定的。
平板型掃描器包括線性陣列傳感器,它沿著與陣列軸垂直的軸線作相對于原件的運動。這樣,通過跟蹤傳感器的相對運動就可以知道一維的傳感器位置。傳感器在垂直方向上的位置是通過確定待測量亮度的特定陣列元素的地址而隱含地固定的。在平板掃描器的一個實施例中,原件放在一塊透明壓板上,而傳感器與圖象照明光源一起放在與原件相對的壓板的一側(cè)。只要原件不作相對于壓板的運動,象素數(shù)據(jù)陣列相對于要捕獲的圖象就是固定的。在另一個實施例中是原件而不是傳感器運動。這第二個實施例,是傳真機的典型。紙的精確傳輸在圖象捕獲過程中提供了位置的高精度。
轉(zhuǎn)鼓型和平板型掃描器的優(yōu)點包括至少適應象A4或8.5英寸×11英寸的紙那么大的文件的能力。另外,有些這類掃描器能夠一次處理一張A1紙。但是,掃描器一般都不是便攜式的,因為它們要求主機來進行控制、數(shù)據(jù)儲存及圖象處理。
二維陣列掃描器可以在沒有機械編碼限制的情況下使用,只要求曝光期中將所述陣列和原件保持不動。光敏元件的二維陣列直接完成原件圖象到象素數(shù)據(jù)陣列的映射。但是,因為單獨一個8.5英寸×11英寸原件的300dpi(點/英寸)的映射就需要具有2500×3300個元素,亦即825萬個象素陣列的圖象傳感器,這種掃描器成本高得令大部分應用買不起。
傳統(tǒng)的手持式掃描器要求用戶在原件上移動光電傳感元件的線性陣列。運動用手操縱。陣列位置信息利用諸如計算機”鼠標”操作中所采用的方法確定。當線性傳感器陣列運動時,檢測與原件接觸的輪子、球或輥子的轉(zhuǎn)動,從轉(zhuǎn)動的機械細節(jié)中確定位置信息。一般與原件接觸的機械元件的表面都具有高的摩擦系數(shù),例如,橡膠等,以防滑動和打滑。圓柱形輥子或用剛性軸連接的兩個輪子可以在掃描過程中用來強制只作單一自由度的平移。往往用直尺或其他固定工具來固定相對于原件的掃描方向,并用一對輪子或輥子來強化對平移的限制。盡管如此,位置編碼器的方法是一種往往令人懷疑會滑動或打滑的方法,以致使象素數(shù)據(jù)陣列與原件圖象失去一致性。
手持式掃描器一般直接連接到一臺計算機上進行圖象數(shù)據(jù)儲存、處理和使用。圖象傳感器的數(shù)據(jù)速率往往限制掃描速度。掃描器向用戶提供反饋,一般用紅色或綠色發(fā)光二極管,來針對要求的分辨率維持適當?shù)乃俣取S行┦殖质綊呙杵魇褂秒姶砰l,使機械阻力隨著掃描速度增大而增大,以防用戶把掃描器太快地從圖象上面拉過。
手持式掃描器使用較小的成像陣列,一般掃一次處理不了大于A6紙的文件。這就要求縫合算法把較大文件的多個幅區(qū)連接在一起。幅區(qū)縫合可以在單獨一臺計算機上進行單獨的操作來完成。用手持式掃描器掃描多頁商業(yè)文件或報告是一種冗長乏味的過程,往往產(chǎn)生質(zhì)量低劣的結(jié)果??p合圖象幅區(qū)的技術(shù)是掃描技術(shù)中已知的。這種技術(shù)一般要求一對完全的圖象幅區(qū),并產(chǎn)生單一的整體變換,把兩個幅區(qū)對齊。國際專利申請公告No.WO 96/27257講述了一種改進的技術(shù)。
形成掃描的電子圖象時,在采集圖象數(shù)據(jù)的同時必須采集導航(navigation)信息。美國專利No.5578813中描述了一種在不犧牲掃描器易用性的情況下能獲得導航信息的手持式掃描器。導航信息是用至少一個導航傳感器采集的,后者檢測被掃描原件與結(jié)構(gòu)相關(guān)的固有特性。當圖象傳感器相對于原件運動時,通過檢測與結(jié)構(gòu)相關(guān)的固有特性的變化跟蹤圖象傳感器沿著原件的運動。被檢測的與結(jié)構(gòu)相關(guān)的固有特性是原件固有的結(jié)構(gòu)特點,諸如紙纖維或者其他構(gòu)成物。作為另一方案,導航可以以斑紋為基礎,其中圖象傳感器沿著原件的運動是通過檢測利用相干照明產(chǎn)生的斑紋花樣變化來跟蹤的,以采集導航信息。
“與結(jié)構(gòu)相關(guān)的固有特性”是原件的一些特性,這些特性可以歸因于與原件上圖象數(shù)據(jù)和/或系統(tǒng)配準數(shù)據(jù)的形成無關(guān)的因素。導航信息可以通過檢測響應與結(jié)構(gòu)相關(guān)的固有特性而產(chǎn)生位置信號,諸如網(wǎng)紋信息的位置信號或者允許跟蹤各固有結(jié)構(gòu)特征的位置信號而形成?!肮逃薪Y(jié)構(gòu)特征”是原件形成過程所特有的并與原件上圖象數(shù)據(jù)的形成和/或系統(tǒng)配準數(shù)據(jù)的形成無關(guān)的那些原件特征。例如,若原件紀錄介質(zhì)是紙制品,則感興趣的固有結(jié)構(gòu)特征可以是紙纖維。作為另一個例子,圖象傳感器跨過有光澤的原件或架空(overhead)透明膠片的導航可以通過跟蹤影響反射場(Specular field)的表面紋理變化來測定。固有結(jié)構(gòu)特征一般都是微觀的,例如,10至40μm,表面紋理特征。
本發(fā)明可以直接應用于手持式掃描器,正如國際專利申請公告No.WO96/27257和美國專利No.5578813所講述的,這兩項專利申請都在國家法律允許的范圍內(nèi)包括在此作參考。
如前所述,某些類型的固定裝置一般與手持式掃描器一起使用。沒有固定裝置(正如美國專利No.5578813大部分實施例的情況)時,有一種趨勢是在手持式掃描器沿著原件移動時強加某種轉(zhuǎn)動。若在掃描器移動的過程中用戶的手肘按在平表面上,則轉(zhuǎn)動很可能具有由掃描器和用戶的手肘之間距離決定的半徑。結(jié)果,掃描出來的電子圖象將發(fā)生畸變。掃描器掃描幅區(qū)時的其他曲線運動也會造成畸變。
本發(fā)明的目的是提供一種掃描裝置和方法,即使存在有畸變的掃描路徑,它也能產(chǎn)生無畸變的高質(zhì)量原件復制品。這在用手掃描文件時給用戶很大的自由度,并允許以原件與被復制圖象之間高度對應性從原件圖象重疊部分的連續(xù)掃描中產(chǎn)生復合圖象。
按照本發(fā)明,我們提供一種把作為傳感器中的圖象數(shù)據(jù)和導航裝置中的位置數(shù)據(jù)而捕獲的圖象加以重構(gòu)的方法,它包括為被重構(gòu)的圖象的全部或一部分確定象素網(wǎng)格;利用位置數(shù)據(jù)來識別傳感器數(shù)據(jù)與象素網(wǎng)格之間的對應關(guān)系;并從多個傳感器位置獲得的及被選為與每一個要確定強度的象素相關(guān)的圖象數(shù)據(jù)確定象素網(wǎng)格中象素的強度。
本方法應用于手動掃描圖象的重構(gòu)時特別有效,掃描的圖象是作為相繼出現(xiàn)的傳感器讀數(shù)連同與每一個傳感器讀數(shù)用的位置讀數(shù)一起的(數(shù)據(jù))流接收的。對掃描器各傳感器讀數(shù)的依賴性減小了,而且即使對不規(guī)則的掃描數(shù)據(jù)也能以相對較少的計算量進行裝配和處理。
識別圖象數(shù)據(jù)和象素網(wǎng)格之間對應關(guān)系的步驟最好包括把圖象數(shù)據(jù)映射在象素網(wǎng)格上,以此在把邊界傳感器的讀數(shù)映射到象素網(wǎng)格上之后,在邊界傳感器讀數(shù)的圖象數(shù)據(jù)之間的象素網(wǎng)格上定義一個區(qū)域,其中定義所述區(qū)域的圖象數(shù)據(jù)可選擇為與所述區(qū)域內(nèi)的象素相關(guān)。所述邊界傳感器的讀數(shù)可以是數(shù)據(jù)流中依次出現(xiàn)的兩個讀數(shù),或是數(shù)據(jù)流中任何兩個傳感器的讀數(shù),在這種情況下邊界傳感器讀數(shù)之間任何傳感器讀數(shù)也可以選擇為與所述區(qū)域內(nèi)的象素相關(guān),所述流中邊界傳感器讀數(shù)和它們之間所有傳感器讀數(shù)構(gòu)成組塊?!爸饓K”法為明顯地減少計算開銷而犧牲一定的準確度。
在一個最佳實施例中,識別圖象數(shù)據(jù)和象素網(wǎng)格之間對應關(guān)系的步驟還包括確定象素網(wǎng)格中哪些象素落在由選定的各組傳感器數(shù)據(jù)所定義的區(qū)域內(nèi)。象素網(wǎng)格中的象素最好映射入一個由邊界傳感器讀數(shù)所定義的空間,而要確定強度的網(wǎng)格象素是映射在所定義空間內(nèi)的象素。
在某些實施例中,象素的強度是由相繼出現(xiàn)的兩個傳感器讀數(shù)中的每一個的傳感器象素值內(nèi)插確定的,其中傳感器象素值選擇得跨越映射入所述空間的網(wǎng)格象素。所述內(nèi)插最好是相繼出現(xiàn)兩個傳感器讀數(shù)中每一個的兩個傳感器象素值的雙線性內(nèi)插。在一個替代的實施例中,確定象素網(wǎng)格中的一條線和相繼出現(xiàn)的傳感器讀數(shù)位置的交點,其中交點用的傳感器象素值是用插入點兩側(cè)的傳感器象素值之間的插來計算的,而其中沿著所述直線網(wǎng)格象素的象素強度值是由交點傳感器值之間內(nèi)插而計算的。在象素網(wǎng)格中的直線是一行象素的情況下,提供了一個在計算上特別有效的方法。
在掃描裝置中,特別是手持式掃描器中最好包括傳感器。在另一個方面,本發(fā)明提供一種實現(xiàn)上述方法的掃描裝置,還提供一種預定連接到實現(xiàn)上述方法的計算機系統(tǒng)、用來收集圖象數(shù)據(jù)的掃描裝置。
正如美國專利No.5578813所講述的,導航信息可以用各種各樣的方法提供。在最廣義的方法中,不限制準備用來消除掃描裝置沿著掃描路徑所作曲線和旋轉(zhuǎn)運動的畸變失真的導航信息的來源。因此,導航信號可以是以響應原件上圖象數(shù)據(jù)的檢測(例如,正文字符邊沿的識別)而得到的位置信號的形式,然后把所述位置信號用在圖象信號的處理中。第二個途徑是通過檢測與結(jié)構(gòu)有關(guān)的固有特性,諸如確定斑紋花樣的特性來得到位置信號。第三個途徑是通過監(jiān)視各個固有的結(jié)構(gòu)特征(例如,紙的纖維)隨著時間(而變化)的位置來跟蹤掃描裝置的導航。
在準備描述的實施例中,圖象傳感器是光電元件的線性陣列,而導航(檢測)方法利用至少一個導航傳感元件的二維陣列。通過把單獨的二維導航陣列安裝在圖象傳感器的兩端,給掃描器提供三個運動自由度。若原件是平面的,則兩個自由度是在原件平面內(nèi)的平移并彼此垂直,而第三個自由度是繞原件平面法線的旋轉(zhuǎn)。旋轉(zhuǎn)跟蹤準確度通過利用兩個導航陣列來提高,每一個陣列所具有的陣列大小比只用一個導航陣列時所需要的小。盡管所描述的實施例的導航傳感器是二維陣列,但也可以使用線性陣列。另外,正如下面還將更充分地描述的,校正圖象數(shù)據(jù)用的導航信息可以可行地通過把其他位置跟蹤裝置,包括編碼輪和球、計算機鼠標軌跡球、對準網(wǎng)格檢測器、加速度計、機械鏈接、無接觸電磁或靜電鏈接和延時積分傳感器陣列等固定在掃描裝置上來采集。在這許多替代的實施例中,校正圖象數(shù)據(jù)用的導航信息都是用與原件的與結(jié)構(gòu)相關(guān)的固有特性無關(guān)的方法采集的,因為位置跟蹤不包括圖象的采集。
相對于圖象傳感器,導航傳感器處于一個已知的位置。導航傳感器最好盡可能靠近影象傳感器的兩端,這樣導航傳感器就不會有圖象陣列移動時有越出原件邊沿之虞。圖象傳感器形成一個代表感興趣的圖象的信號。同時,每一個導航傳感器形成一個代表原件的與結(jié)構(gòu)相關(guān)的固有特性的信號。掃描裝置可以隨手作曲線花樣的運動,諸如交替地從左到右和從右到左運動,沿著原件下降,掃描裝置與原件保持接觸。每一個從一側(cè)到一側(cè)的幅區(qū)應該與前一個幅區(qū)重疊一部分,使得可以針對位置對圖象進行處理,并在掃描過程中或在掃描之后將其縫合起來。圖象信號的處理是校正圖象數(shù)據(jù),校正是以導航傳感器或傳感器之間的相對運動和由導航傳感器檢測的與結(jié)構(gòu)相關(guān)的固有特性為依據(jù)的。所述處理是以導航數(shù)據(jù)為依據(jù)的圖象信號的”校正”,亦即安排和修改所采集的圖象數(shù)據(jù)的操作,以達到原件與輸出圖象之間的一致??p合用來連接在相繼出現(xiàn)的幅區(qū)過程中采集的圖象數(shù)據(jù)。
每一個導航傳感器都可以包括一個或多個設計來提供依賴于原件的與結(jié)構(gòu)相關(guān)的固有特性的對比的光源。發(fā)射的光可以在可見光范圍,但這并不重要。例如,與表面法線成大角度入射的“擦地”光與作為紙制品的原件的表面上或表面附近的紙纖維反應,建立纖維之間的增強對比度的陰影。另一方面,若原件具有光澤的表面,諸如照片、覆蓋粘土的紙張或架空(overhead)透明膠片,法向入射光將產(chǎn)生一種具有足以用于導航目的的圖象對比特征的反射場的圖象。光學元件,諸如濾光鏡和一個或多個成像透鏡可進一步改善與結(jié)構(gòu)相關(guān)的固有特性的檢測。
所描述的實施例的一個優(yōu)點是掃描裝置和方法允許掃描裝置有三個運動自由度,而同時仍舊提供優(yōu)質(zhì)圖象捕獲。這樣,一種便攜式袖珍掃描裝置就可以生產(chǎn)出來,而且除了提供在整個圖象捕獲過程中與原件表面接觸的約束外,可在沒有機械約束的情況下使用。本發(fā)明不限于實施例中的應用,即其中掃描裝置與原件接觸,采用適當?shù)膶Ш叫畔?,從各種環(huán)境捕獲的圖象都可以進行圖象重構(gòu)。另一個優(yōu)點是,因為所述實施例的掃描裝置形成基于固有結(jié)構(gòu)特征檢測的電子圖象,將保存原件圖象特征之間大片”空白”,并因此不會造成在縫合步驟中圖象特征彼此靠近。
圖1是沿著原件曲折的路徑行走的手持式掃描裝置的透視圖。
圖2是圖1掃描裝置成像和導航傳感器的背視圖。
圖3是圖1掃描裝置的透視圖,顯示出曝露在外的成像和導航傳感器。
圖4是圖3所示導航傳感器之一用的照明系統(tǒng)的示意的側(cè)視圖。
圖5是用于提供參照圖4而描述的照明裝置的發(fā)光二極管和光學元件的示意的側(cè)視圖。
圖6是圖1掃描裝置圖象捕獲操作的概念圖。
圖7是圖1掃描裝置導航處理的一個實施例的操作視圖。
圖8是圖7選定步驟的示意圖。
圖9a是完成圖8各步驟的組件流程圖。
圖9b舉例說明導航處理中的數(shù)據(jù)解釋。
圖10a表示圖9導航處理器的輸出的典型的加有位置標簽的數(shù)據(jù)流的增量。
圖10b表示儲存多個加有位置標簽的數(shù)據(jù)增量的緩沖區(qū)。
圖11表示表示從線性圖象傳感器采樣的末點軌跡的直線圖象緩沖區(qū)。
圖12表示正在由圖1掃描裝置收集的幅區(qū)。
圖13表示用在按照本發(fā)明的單相過程的緩沖區(qū);圖14舉例說明正在使用單相過程時收集的幅區(qū);圖15表示可以用來實現(xiàn)將順序的幅區(qū)縫合的配準平鋪顯示。
圖16舉例說明用于實現(xiàn)順序的幅區(qū)縫合的二相過程中所用的緩沖區(qū)。
圖17舉例說明正在使用的圖16二相過程時收集的幅區(qū)。
圖18表示用兩個影射于其上的線性圖象傳感器位置定義被掃描圖象的直線象素陣列的一部分。
圖19表示圖18直線空間中一個象素反向映射在由兩個線性圖象傳感器位置定義的空間上。
圖20表示圖18所示圖象傳感器位置中象素值的線性插值法。
圖21表示圖18所示圖象傳感器位置中象素值的線性插值法的另一種形式。
圖22表示用一系列映射于其上的線性圖象傳感器位置定義的掃描圖象的直線象素陣列的一部分。
圖23表示圖21的直線空間中的象素反向映射在由線性圖象傳感器位置定義的空間。
圖24表示用輔助映射表來將線性圖象傳感器位置所定義的空間歸一化。
參照圖1,圖中示出正在沿著原件14曲折的路徑12行走的便攜手持式掃描裝置10。原件可以是一張紙、架空的(overhead)透明膠片或其他任何帶有圖象的表面。原件與結(jié)構(gòu)相關(guān)的固有特性可以用來提供沿著曲折的路徑導航時的位置信息。用這樣的方法,對固有結(jié)構(gòu)特征的位置進行跟蹤,并用所述位置信息校正圖象數(shù)據(jù),但也將描述其他實施例。掃描裝置最好設備齊全的并由電池供電,但是可以包括與外部電源或計算機數(shù)據(jù)端口或網(wǎng)絡的連接。
圖1的掃描裝置10包括圖象顯示器16,以便能夠看到捕獲的圖象。但是,顯示器對所述掃描裝置的使用并不是必不可少的。
現(xiàn)參照圖1-3,掃描裝置10的前端18包括旋轉(zhuǎn)件20,后者幫助維持原件14和成像傳感器22之間的恰當接觸。成像傳感器22包括圖象傳感元件的直線陣列。導航傳感器24和26位于圖象傳感器相對兩端。導航傳感器24,26安裝在所述旋轉(zhuǎn)件上,這樣導航傳感器相對于圖象傳感器便處于固定位置。
掃描裝置10允許三個自由度,其中兩個是平移,一個是轉(zhuǎn)動。第一自由度是沿著原件14從一側(cè)到一側(cè)的運動(X軸運動)。第二自由度是沿著原件作向下和向上的運動(Y軸運動)。第三自由度是成象傳感器12以相對于原件14邊沿的旋轉(zhuǎn)偏移的方式操作所述裝置。也就是說,成像傳感器22可以具有一個不與裝置平移方向垂直的攻角。
為了結(jié)構(gòu)緊湊,圖象傳感器22最好是一個接觸圖象裝置,但對于不太關(guān)心緊湊或希望圖象較小的應用,可以使用采用放大倍數(shù)小于1的投影鏡片的傳感器。在這樣的應用中,成像傳感器22的各元件應該比較小,而且比較緊密地擠在一起。接觸成像裝置一般采用以SELFOC商標(Nippon Sheet glass Company Limited公司的商標)銷售的透鏡。比較不太傳統(tǒng)的,接觸成像可以利用源的交錯陣列元件和接近傳感器,而不用任何成像透鏡。成像可采用傳統(tǒng)的成像傳感器。成像傳感器可以是一個還包括照明光源、照明鏡片和圖象傳輸鏡片的裝置的一部分。
成像傳感器22被表示為分立的光學傳感元件的線性陣列。元件的間隔起決定掃描器10空間分辨率的作用。例如,長度為101.6mm的線性陣列要求1200個傳感元件來達到300dpi(點/英寸)的分辨率。傳感器可以是電荷耦合器件、無定形硅光電二極管陣列或先有技術(shù)已知的任何其他類型的線性陣列傳感器。
成像傳感器單元設計中的一個關(guān)鍵的考慮是速度。成像傳感器22最好能以約每秒10K個樣值的速率為每一個象素成像。線性成像陣列一般產(chǎn)生串行的數(shù)據(jù)流,其中象素值,亦即電荷放入一個移位寄存器中,然后移出。要達到要求的速度,不是要求以非??斓拇袀鬏斔俣葟恼麄€圖象陣列移出,就是多個出口,使得象素值可以通過較少的單元(cell)移出。這引入了并行性,這對數(shù)字處理而言是有利的。
速度要求的另一個后果是,原件表面上象素的面積和它們所收集和傳送給每一個陣列元件的發(fā)射光的立體角的乘積應該足夠大,以便在100微秒數(shù)量級的積分時間內(nèi)產(chǎn)生可檢測的信號。一個增強選項是把光學元件加到傳感器上,以增強每一個傳感元件對之作出響應的傳感器間距(pitch)的有效部分。因為陣列陣列中一般都有一些無用的區(qū)域,這樣的光收集鏡片可以提高靈敏度。
成像傳感器22的直接修改使彩色圖象的檢測成為可能。彼此平行的三個線性陣列,每一個帶有至少一個嵌入的濾光元件,后者分別選擇性地通過入射光線的紅、綠和藍成分,就可以進行彩色成像?;蛘撸梢杂眉t、綠和藍光源依次給具有寬帶靈敏度的單個陣列照明。
至于改善成像傳感器22操作的照明,可以使用在琥珀色波長下發(fā)射高強度光的二極管的線性陣列。但是,最佳照明光源和任何光學元件的選擇都取決于原件的介質(zhì)。光的波長選得使在原件14給定的面積的掃描過程中所采集的對比圖象數(shù)據(jù)達到最大,而同時拋棄不希望有的信號。照明鏡片可以包括LED(發(fā)光二極管)球頂透鏡或這可以包括由精密模制的光學元件組成的光導管,它以最小的光損失把照明送到原件上。這樣一種設計可以在很寬的角度范圍內(nèi)比較均勻地給原件目標區(qū)域照明,但是,切斷正常入射光線以避免鏡面反射。
在圖1中,曲折的路徑12被表示為4個又一部分幅區(qū),亦即從一側(cè)到一側(cè)的橫跨原件14的次數(shù)。在最隨意的應用中,有用的成像傳感器22,具有25.4mm和101.6mm范圍內(nèi)的長度。若傳感器22具有63.5mm的長度,則A4紙可以掃描成4或5個幅區(qū)。正如下面將要更充分地解釋的,幅區(qū)應該包括重疊區(qū)域,使得可以利用縫合過程來產(chǎn)生原件圖象的忠實復制品。
掃描裝置10包括至少一個導航傳感器24或26。在最佳實施例中,所述裝置包括一對導航傳感器,而且所述傳感器放在成像傳感器22相對兩端。盡管可以使用光電元件的一維陣列,但是,在最佳實施例中,每一個導航傳感器都是元件的二維陣列。導航傳感器24和26用來跟蹤掃描裝置10相對于原件14的運動。
在一種最佳應用中,每一個導航傳感器24和26都捕獲與原件的與結(jié)構(gòu)相關(guān)的固有特性相關(guān)的信息,以便產(chǎn)生與掃描裝置位置有關(guān)的信息。對于大部分先有技術(shù)的掃描裝置而言,固有的結(jié)構(gòu)特征被認為是噪聲。對于圖1-3的掃描裝置10,這樣的特征對成像傳感器22而言是噪聲,但可以用來為導航傳感器24和26產(chǎn)生位置信息提供基礎??梢酝ㄟ^檢測介質(zhì)固有的或在介質(zhì)上形成的,例如正文等結(jié)構(gòu)變化來產(chǎn)生表面紋理的有用的高對比度圖象。例如,圖象可以根據(jù)內(nèi)在結(jié)構(gòu)特征的凹溝陰影和峰部亮斑之間的對比來形成。這樣的特征在性質(zhì)上一般都是微觀的,在一般印刷介質(zhì)上的尺寸往往在10μm和40μm之間的范圍內(nèi)。作為另一方案,可以利用斑紋,因為相干光束的鏡反射產(chǎn)生亮區(qū)和暗區(qū)的對比花紋。第三個對比信息源是顏色。顏色對比與表面紋理無關(guān)。甚至在用可見光范圍內(nèi)的光來照明無紋理表面時,顏色對比存在于不同顏色區(qū)域之間,例如不同灰度之間。
但是,打算把本發(fā)明用于這樣的應用場合,其中導航信息與原件的與結(jié)構(gòu)相關(guān)的固有特性無關(guān)。例如,圖2一個或兩個導航傳感器24和26可以用來形成原件上印刷的順序圖象,用順序出現(xiàn)的圖象的相關(guān)性來確定圖象傳感器22沿著原件14的位置和方向。在這個實施例中,所有三個傳感器22,24和26都用來對原件上的正文成像,但只有來自傳感器22用來采集圖象數(shù)據(jù),來自導航傳感器24和26的信號用來采集基于圖象的導航信息。
正如美國專利No.5578813所討論的,還可以用非成像途徑來采集和處理x,y和角度位置信息。不幸的是,許多替代裝置給緊湊性、使用方便性、速度、運動的自由、功率消耗、精確度、準確度和/或成本加上了各種限制。一個與成像無關(guān)的可用來采集位置信息的替代方案是裝設一個或多個編碼輪來代替導航傳感器。另一個用來采集導航信息的無圖象途徑是使用類似于計算機鼠標的軌跡球。另一個采集位置和方向信息的無圖象途徑是裝設加速度計。再一個替代途徑是使用任何一種機械聯(lián)結(jié),用它跟蹤相對于對被掃描的介質(zhì)而言是固定的參照坐標的位置和方向。無接觸遙感也可以用來測量掃描裝置相對于對被掃描的原件而言是固定的參照坐標的位置和方向。
圖2的導航傳感器24和26有效地觀察原件14圖象上的移動窗口,并產(chǎn)生依次發(fā)生的觀測之間兩個平面量度上位移的指示值。正如后面將要更充分解釋的,對來自導航傳感器的象素值進行處理,以確定來自成像傳感器22的圖象數(shù)據(jù)的恰當映射??梢杂锰囟ㄏ笏丶捌渥罱噜徬笏氐闹祦懋a(chǎn)生每一個象素位置的相關(guān)值陣列。所述相關(guān)值是根據(jù)表面結(jié)構(gòu)當前圖象和代表固有結(jié)構(gòu)特征一個已知位置的儲存的圖象之間的比較確定的,其中儲存的圖象用作位置參考點。但也可以用非相關(guān)處理的操作來處理輸入的圖象數(shù)據(jù),以形成輸出圖象。
參照圖4和5,導航傳感器24被表示為在操作上與照明鏡片相聯(lián)系。若原件14是紙制品,為此用導航傳感器24檢測紙纖維,則最好在擦地角處引入光線。盡管不是必不可少的,但可以采用一個或多個發(fā)光二極管(LED)。作為入射角的余角的擦地角30最好在0度到15度之間,但這是可以隨著原件14的特性而改變的。在圖5中,所示光源28裝有照明鏡片34。所述鏡片可以包括單個元件或透鏡的組合、濾光器和/或全息元件,以完成目標表面適當?shù)钠叫械暮鸵话憔鶆虻恼彰?。對光?8發(fā)射的光的波長應加以選擇,以增強可為導航所用的空間頻率信息。照明場中的固定花樣噪聲應減到最小。光源28的輸出可能需要調(diào)整,以便在掃描裝置在帶有起吸收和反射作用的墨或其他標記劑的印刷品上向前移動時適應介質(zhì)的反射性的寬的動態(tài)范圍。
在圖4中,來自光源35的光在照明鏡片36上成為平行光,然后被振幅分離型光束分離器37改變方向。在圖4中未示出來自LED直接投射和通過光束分離器發(fā)射的那一部分光能。來自光束分離器的光能沿著與表面成法線方向給原件14照明。
也在圖4中表示了從原件14被反射或散射且穿過光束分離器37、以便在元件38上小孔成像和濾光、并在元件39上聚焦成像的部分光能。從原件穿過到光束分離器的和從光束分離器反射的一部分光能未示出。導航成像鏡片的放大倍數(shù)在檢測聚焦光的二維傳感器陣列24的視野上應該是恒定的。在許多應用中,導航鏡片的調(diào)制傳遞函數(shù),亦即光頻響應的振幅應該是這樣的,使得能夠提供由導航傳感器傳感元件間距和光學元件的放大倍數(shù)決定的Nyquist頻率之前的衰減。光學元件還應設計得能防止背景照明造成噪聲。請注意,還可以使用波前分離型光束分離器。
入射角的選擇取決于原件的材料特性。照明擦地角產(chǎn)生較長的陰影和比較明顯的對比,或者交流信號,若原件材料表面不是有光擇的話。但是,直流信號電平隨著照明角度接近原件的法線而增大。
以擦地角30給原件14的目標區(qū)域照明對于那些原件表面在微觀水平上高度不均勻的應用而言是合適的。例如,當原件是文具、厚紙板、織物和人類皮膚時,光線以擦地角30從光源28的引入給與固有結(jié)構(gòu)特征相關(guān)的數(shù)據(jù)提供了高的信噪比。另一方面,法向入射角的非相干光最好用在需要位置數(shù)據(jù)來跟蹤掃描器沿著諸如照片、有光澤的雜志頁和架空的透明膠片等原件的移動的應用中。采用法向照明,利用非相干光在鏡反射場觀看原件將提供充分富于紋理內(nèi)容的圖象,以允許圖象和基于相關(guān)性的導航。原件的表面具有微觀浮雕,使得所述表面反射光線,就象馬賽克面磚或有小平面的表面。原件許多“面磚”以略偏離法線的方向反射光線。這樣,包括散射光和鏡反射光的視場可以建立這樣的模型,就好象表面是由許多這樣的面磚組成,每一塊對法線方向的傾斜略微不同。這個模型類似于W.W.Barkas在題為“把從低光澤表面反射光分解成其鏡象和漫射成分”,Proc.Phys.Soc.,Vol.51,pp.274-292(1939)中描述的模型。
圖4表示用非相干光的光源照明,其方向是沿著原件14表面的法線方向。圖5描述以擦地角30的照明。在另一個替代方案中,不提供照明。相反,導航信息是利用背景光,亦即來自環(huán)境的光線收集的。
在再一個替代方案中,沿著法線方向入射引入相干照明,它允許基于斑紋的導航(檢測)。掃描裝置與原件之間的相對運動可以通過監(jiān)視斑紋相對于導航傳感器的運動來跟蹤。若利用相干照明而不用成像鏡片,則通過選擇小的照明面積并使原件表面和光學檢測器陣列之間相隔相對較遠,使所得帶相干照明的主斑紋單元尺寸大得足以滿足Nyquist采樣判據(jù)。使用光束分離器可以使入射照明和被檢測的散射兩者的方向都接近于原件表面的法線,做得和圖4相似。
現(xiàn)參照圖6,其中表示掃描器10正在作橫跨原件44的運動,在所述原件表面上印有方框46。因為掃描器10在原件平面上不受任何動力學限制,所以,當用戶的手或前臂繞手肘轉(zhuǎn)動時,用戶有(使掃描器)沿著曲線的路徑橫跨原件的趨勢。在圖6中,表示掃描裝置沿著曲線路徑48橫跨方框46。若掃描裝置的下邊沿是比較接近確定轉(zhuǎn)動軸的手肘的邊沿,則下邊沿具有較短的半徑。結(jié)果,成像傳感器的成像元件在橫跨方框46所需的時間和距離上發(fā)生變化。當所述裝置移動到虛線所示的第二位置52時,就捕獲了所述塊畸變后的圖象50。
捕獲的圖象50將是未經(jīng)下述處理的儲存的圖象。但是,在成像傳感器捕獲關(guān)于方框46的數(shù)據(jù)時,需要導航信息。在所描述的實施例中,一個或多個導航傳感器捕獲與原件44固有結(jié)構(gòu)特征相關(guān)的數(shù)據(jù)。跟蹤固有結(jié)構(gòu)特征相對于掃描裝置10的運動,以便確定成像傳感器相對于方框46的位移,相應地,既有被捕獲的傳感器數(shù)據(jù),又有傳感器位置檢測數(shù)據(jù),然后由此可以一起用來形成忠實的被捕獲的圖象54。圖象54在這里被定義為“校正后”的圖象。下面將要詳細地討論本發(fā)明所涉及的校正過程。
在圖7中,示出了導航過程的一個實施例。導航過程是通過把依次出現(xiàn)的導航信息幀,諸如與固有結(jié)構(gòu)特征相關(guān)的數(shù)據(jù)進行相關(guān)處理來完成的。這種相關(guān)處理比較依次出現(xiàn)的兩幀中固有結(jié)構(gòu)特征的位置來提供與導航傳感器在特定時刻的位置相關(guān)的信息。然后用導航信息來校正圖象數(shù)據(jù)。一般對每一個導航傳感器進行圖7的過程。
在第一步驟56中,采集參照幀。事實上,參照幀是起點位置。導航傳感器在較晚時刻的位置可以通過采集58導航傳感器在較晚時刻的位置數(shù)據(jù)的采樣幀來確定,然后計算參照幀和較晚采集的采樣幀之間的相關(guān)60。
采集初始的參照幀56的過程可以在成像過程初始化時進行。例如,采集可以由掃描裝置與原件接觸的動作觸發(fā)。作為另一方案,掃描裝置可以包括一個啟動按鈕,它將成像過程和導航過程初始化。初始化也可以由每一個導航器的照明系統(tǒng)的周期性脈沖進行。若有一個超過預定的反射閾值或指示運動的相關(guān)信號的反射信號,就采集參照幀。
盡管導航處理是通過計算完成的,但可以參照圖7和8來描述這個實施例的概念。參照幀62被表示為具有一個有T形固有結(jié)構(gòu)特征64的圖象。參照幀的尺寸取決于諸如掃描裝置最大掃描速度、結(jié)構(gòu)特征成像上主空間頻率以及傳感器的圖象分辨率等因素。一個32象素(N)乘64象素(M)的導航傳感器用的參照幀的實際尺寸為24×56象素。
在較晚的時刻(dt)導航傳感器采集相對于幀62發(fā)生了位移的采樣幀66,后者表示出基本上相同的固有結(jié)構(gòu)特征。時間間隔dt最好設置得T形特征64的相對位移小于在掃描裝置平移速度下導航傳感器的一個象素。在600dpi下對于0.45m/sec的速度可接受的時間周期是50微秒。這種相對位移在這里被稱作“微步”。
若掃描裝置在參照幀62的采集56和采樣幀66的采集58之間時間周期期間移動,T形特征的第一和第二圖象將是所述特征發(fā)生了移動的圖象。盡管最佳實施例是dt小于允許移動一個完整象素的時間,但圖8的示意表示是所述特征64被允許向上和向右移動一個象素的示意圖。在這里假定移動一個完整的象素只是為了簡化表述。
圖8元件70代表幀68的象素值順序移入8個最鄰近的象素的情況。也就是說,步”0”不包括移動,步”1”沿對角線向上和向左移,步”2”向上移等等。這樣,象素已移位的幀可以與采樣幀66結(jié)合,以產(chǎn)生位置幀的陣列72。被標為“位置0”的位置幀不包括移動,以致結(jié)果只是幀66和68的復合?!拔恢?”的帶陰影的象素數(shù)目最少,因此,所述幀具有最高的相關(guān)性。根據(jù)相關(guān)結(jié)果,采樣幀66中T形特征64的位置就可以確定為相對于較早捕獲的參照幀62中同一特征的位置沿著對角線向右和向上移動了,這意味著在時間dt內(nèi)掃描裝置已經(jīng)向左和向下移動了。
盡管其他相關(guān)方法也可以采用,但是可以接受的方法是“差值平方之和’相關(guān)。對于圖8的實施例,有9個由元素70的9個偏移形成的相關(guān)系數(shù)(Ck=C0,C1…C8),這些相關(guān)系數(shù)可由下式計算Ck=∑i∑j(Sij-R(ij)+k)2式中Sij表示在采樣幀66的位置ij處導航傳感器測量的值,而Rij表示元素70沿k方向移動后幀68處導航傳感器測量的值,其中k是元素70移動的識別符。在圖8中,k=3提供了最低值的相關(guān)系數(shù)。
相關(guān)用來尋找順序幀中同一特征的位置,以便確定所述特征從一幀到一幀的位移。隨著掃描過程的進展,將這個位移求和或積分,并校正通過設計相關(guān)鏡片引入的比例系數(shù),就能確定成像傳感器的位移。
正如前面指出的,幀到幀的相關(guān)被稱為“微步”,因為幀的速率被選擇得足夠高,以保證位移不超過一個象素的尺寸。過采樣可以提供低于象素的位移精度。參照圖7,每一次計算相關(guān)系數(shù)(60)后,判斷是否要采取微步(74)。若要采取微步,則在76移動參照幀。在這一步驟中,圖8的采樣幀66變成參照幀,再采集一個新的采樣幀。然后重復進行相關(guān)計算。
盡管本過程提供高度的相關(guān)匹配,確會發(fā)生的任何誤差都會隨著每一次依次發(fā)生的采樣幀66向參照幀標示的移動76而積累起來。為了對這種”隨機步行”誤差的增長率加以限制,采樣幀保存在單獨一個緩沖區(qū)存儲器內(nèi)。這個單獨儲存的采樣幀變成隨后一系列相關(guān)計算用的新的參照幀。后一個相關(guān)被稱為”宏步”。
利用宏步,可以更加精確地求出掃描器橫跨m個圖象幀位移,亦即m個微步的距離的位移。一個宏步的誤差是一次相關(guān)計算的結(jié)果,而m個微步的當量誤差是單個微步誤差乘以m1/2。盡管m個微步的誤差的平均值隨著m增大而趨近于0,但是誤差平均值標準偏差卻隨著m1/2的增大而增大。這樣,利用具有盡量大的可行的m的宏步來減小累計誤差的標準偏差是有利的,只要確定一個宏步的兩個幀彼此不至于相距遠得它們沒有明顯的共同圖象內(nèi)容的區(qū)域。
采樣周期dt不必是一個常數(shù)。采樣周期可以隨著以前的測量而變化。采用可變dt的一個方法是通過保持某個邊界值內(nèi)依次出現(xiàn)的參照幀之間的相對位移來改善位移計算的精度。例如,上邊界值可以是一個象素的位移,而下邊界值由導航數(shù)據(jù)處理過程中通過數(shù)字四舍五入來確定。
參照圖9a,然后,可以根據(jù)導航數(shù)據(jù)給成象傳感器22產(chǎn)生的圖象信號加上位置標簽。在一個實施例中,來自導航傳感器24和26的象素值由導航處理器80接收,以完成圖7和8的操作。根據(jù)算出的相關(guān)值,確定第一導航傳感器24和第二導航傳感器26的當前位置坐標。
在一個宏步內(nèi),導航處理器80直接恢復每一個導航傳感器運動的平移成分量。必須對來自兩個平行傳感器的數(shù)據(jù)進行積分,以獲得把掃描頭的任何轉(zhuǎn)動考慮在內(nèi)的絕對位置估計值。處理器80維持掃描頭相對于初始方向的當前方向的模型。每一個導航傳感器平移的各個估計值依照這個模型進行解釋。至于掃描器模型的方向,它本身周期性地更新。
在一個實施例中,每一個導航傳感器的宏步都被同步以使若導航傳感器處理器80要求在一個導航傳感器一個宏步,則它也觸發(fā)另一個中的宏步。這簡化了每一個導航傳感器所記錄的平移數(shù)據(jù)的整理。若在宏步T掃描器的方向是與垂線成θ度,則所述宏步內(nèi)每一個導航傳感器所記錄的平移數(shù)據(jù)用如下方法整理。
圖9b表示導航傳感器成對移動。對于每一個我們已經(jīng)記錄的相對于一個描述掃描器方向的坐標幀(用標記為u和v的單位矢量)的平移。對于第一和第二導航傳感器,它們分別具有量值(u1,v1)和(u2,v2)。目標是整理出這些平移,以給出更新后導航傳感器相對于全局坐標幀的位置。本質(zhì)上,我們是在從對它的分段線性迫近來重構(gòu)路徑,其中線性段的幅度用宏步的尺寸確定。
每一個單位矢量都與按照以下標準的三角關(guān)系與掃描器的方向θ相關(guān)v=(sinθ,cosθ)u=(cosθ,sinθ)但是正如我們將要看到的,u和v的估計值不必進行計算開銷很大的三角計算即可維持。
在圖9b中,P1和P2代表宏步開始時導航傳感器相對于全局幀的位置;它們的值分別為(x1,y1)和(x2,y2)。更新后的位置,相對于同一全局幀、某些較晚的導航傳感器幀由P1’和P2’給出,其值分別為(x1’,y1’)和(x2’,y2’)。
在極限上(我們假定為了完成準確積分我們已接近所述極限)每一個導航傳感器平移v分量必須相同(剪切效應每一端都相同,在極限轉(zhuǎn)動根本不引入v分量)。
于是我們可以把v1和v2設為它們的平均值v=(v1+v2)/2
在所述情況下更新后的終點位置由下式給出P1’=P1+u1u+v ν和 P2’=P2+u2u+v ν在這一點上,把位置估計值平移對應于圖象傳感器的物理終點而不是各個導航傳感器的物理終點也很方便。這是利用與導航傳感器和圖象傳感器的物理位置相關(guān)的標定數(shù)據(jù)來實現(xiàn)的。簡單地說,使終點位置與圖象傳感器的第一和第二傳感元件的中心對應。
我們必須周期性地更新慣性幀。這只應該在一個宏幀的末端或下一宏幀的起點進行。它要求宏步同步也就是說,若一個導航傳感器由于它超過了微步的最大數(shù)目而觸發(fā)了新的宏步,則另一個導航傳感器也必須觸發(fā)宏步,即使它仍舊保持不動。這一方法有一個額外的好處,就是導航幀的旋轉(zhuǎn)總是小的,因為所經(jīng)歷的最大旋轉(zhuǎn)必須永遠小于微步的最大數(shù)目除以導航傳感器之間的基線。
更新慣性幀具有把掃描器運動損失的旋轉(zhuǎn)分量加回去的效果。這是由各個導航傳感器經(jīng)歷的差動平移暗含地確定的。不是明顯地計算運動的旋轉(zhuǎn)分量,慣性坐標幀直接從它對掃描器的主軸(兩導航傳感器位置的連線)關(guān)系進行更新。慣性幀的v軸是沿著主軸從導航傳感器1指向?qū)Ш絺鞲衅?的單位矢量,而u軸是與之正交的構(gòu)成二維(2D)基線的單位矢量。
更新后的ν值由下式給出v’=(v’x,v’y)=(P2’-P1’)/|P2’-P1’|=(P2’-P1’)/D而正交矢量u由下式給出u’=(v’y,-v’x)長度|P2’-P1’|是掃描器的恒定(導航誤差的模數(shù))長度,在圖9b中標記為D。這大大地簡化了慣性幀的計算,因為它避免了計算每一個宏步平方和的平方根的必要性。
導航處理器80還通過象素放大器82和模-數(shù)轉(zhuǎn)換器84接收成像傳感器22的N個象素值。盡管圖9只表示來自圖象傳感器22和一個A/D轉(zhuǎn)換器84一個出口(tap)的情況,多個出口,每一個都帶一個A/D轉(zhuǎn)換器,也在本發(fā)明的范圍以內(nèi)。當前位置坐標在相應于成像傳感器內(nèi)象素數(shù)目的一行數(shù)據(jù)的末端“加標簽”。因此,導航處理器80的輸出86是加有位置標簽的數(shù)據(jù)流。
導航處理器80不一定需要在同一幀速下接收來自成像傳感器22的象素數(shù)據(jù)和來自導航傳感器22,24在位置信息。位置數(shù)據(jù)流可以用來更新線性傳感器終點位置的估計值,它一般處于比線性傳感器陣列象素間距高的空間分辨率。為了以剛好小于線性傳感器本身象素間距的數(shù)量對運動最快的端點進行采樣(否則不是過采樣就是采樣不足),線性圖象傳感器的最優(yōu)時鐘頻率一般由掃描器運動速率來確定。過采樣在圖象質(zhì)量沒有什么改進或沒有改進的情況下造成計算要求和數(shù)據(jù)處理要求的加大,同時圖象處理流水線要求也加大,而采樣不足則肯定造成圖象質(zhì)量下降。
一個解決辦法是以一個總會造成過采樣的固定頻率對線性傳感器進行采樣,就是說,它總是超過可能的最快掃描速度的采樣要求。然后,若掃描器運動比最大掃描速度慢,則導航處理器根據(jù)當前終點位置估計值舍棄不需要的采樣值。也就是說,自從上一次現(xiàn)行傳感器采樣有效增量和加了位置標簽的數(shù)據(jù)從導航處理器80輸出之后的每一個終點的相對位置的幅度都被用來作為以后各次增量輸出的門控。最簡單的方法是只允許在一個或其他幅度嚴格地等于或超過象素間距(或占它很大比例)時輸出。這種方法很可能造成采樣不足,當掃描速度剛好低于最大掃描速度時尤為如此。作為另一方案,為了防止采樣不足,若預測下一個現(xiàn)行傳感器的采樣的相對終點位置超過象素間距,而其中預測是根據(jù)終點的變化速率(或階數(shù)更高的數(shù)值微分)作出的,則可以輸出當前的采樣值。也能防止采樣不足的第三個途徑是在導航處理器80中引入一個增量緩沖區(qū),使得若當前增量的相對位置數(shù)據(jù)超過象素的間距,則可以發(fā)送以前的增量。
上面的每一個采樣策略都是基于同步采樣的,而且一般都會造成某種程度的采樣不足或過采樣。一個比較接近于達到理想空間采樣的較好的總體解決方法是,讓導航處理器80異步地觸發(fā)線性傳感器捕獲。一個途徑就是把上次有效捕獲(或其未來預測)之后的終點相對位置直接用來識別觸發(fā)線性傳感器捕獲或采樣的最佳時刻。
在圖10a中,數(shù)據(jù)流的增量88被表示為在N象素單元相對兩端具有位置坐標單元90,92,94和96,盡管這種排列并不重要。
成像傳感器22是在掃描裝置橫過原件運動時被時鐘定時的。正如上面所討論的,時鐘定時保證了所述傳感器移動最快的元件至少每個象素位移采樣一次。
如圖10b所示,對導航傳感器80輸出86處的加有位置標簽的數(shù)據(jù)流進行緩沖。緩沖區(qū)B保持多個圖10a的增量88。在可以采用數(shù)據(jù)壓縮的情況下,緩沖區(qū)B可以用來調(diào)整整個掃描。然后,正如馬上就要描述的,將這個數(shù)據(jù)映射到直線坐標上,以形成一個按照本發(fā)明的方法校正、重構(gòu)的最后圖象。
圖11表示由直線圖象緩沖區(qū)100提供的坐標幀,高H個象素乘寬W個象素,增量流88就映射到所述緩沖器上,以形成最后的直線圖象。適當數(shù)據(jù)類型(在這里是8位灰度;但同樣可以用24位彩色或一位二進制)的簡單的二維陣列足以作為直線圖象的表達。與每一個增量相聯(lián)系的位置標簽的X和Y坐標對應于直線圖象空間的水平和垂直尺寸(列和行的下標)。還表示的有與增量流相聯(lián)系的線性圖象傳感器的每一個終點的位置標簽(在右側(cè)示出放大了一小段彎曲處)的軌跡。在這里面,一對增量(增量#1和增量#2)用直線聯(lián)結(jié)它們的位置標簽來加以強調(diào)。這些直線選擇得在本身上重復回掃的重疊區(qū)幾乎相交。
決定于掃描器要求的輸出分辨率(一般是200dpi或300dpi)的直線圖象緩沖區(qū)的分辨率可以不同于終點位置測量分辨率。它本身又由導航傳感器24的分辨率(它取決于導航過程中成像的特征的空間量度,例如紙纖維)決定。為了適應這樣的差別,終點位置數(shù)據(jù)必須按比例縮放至輸出象素分辨率。
下一個操作是把幅區(qū)內(nèi)加有位置標簽的圖象增量映射入直線圖象緩沖區(qū)100。在這一過程中維持足夠的圖象質(zhì)量特別重要。一個途徑就是簡單地將每一個增量內(nèi)的元素映射到直線圖象陣列的象素上,在終點位置之間畫的直線由此通過。映射是把每一個象素映射到最接近的線性傳感器,或是采用傳感器之間的內(nèi)插。對于適于此方面應用的線性內(nèi)插和立體內(nèi)插,Wolberg在題為”數(shù)字圖象的彎折”IEEEComputer Society Press,pp 127-131,Los Alamitos,CA,1992中已有描述。
用這樣的方法完成校正過程,會不可避免地引入采樣失真(artefacts),因為每一個增量都造成不同的影響。而且,在實踐上加有位置標簽的圖象數(shù)據(jù)的原件幅區(qū)對直線象素格子(為方便起見,其分辨率可以高于線性傳感器本身的象素間距)而言必須嚴格地過采樣,否則直線圖象內(nèi)將會出現(xiàn)象素丟失。這些問題在按照本發(fā)明的方法的實施例中得以解決。
本發(fā)明提供的解決方法舉例示于圖18。在所述圖中,一對增量,即,增量I1和增量I2的終點位置劃定了一個區(qū)域。這些增量可以是依次出現(xiàn)的一對線性傳感器的讀數(shù)-連續(xù)多個讀數(shù)的使用在這里被稱為逐對法。作為另一方案,增量I1和增量I2可以是較大的一組傳感器增量-這些增量的使用在這里被稱為逐塊法。將會看出,以圖象質(zhì)量略有下降(與逐對法相比)為代價,逐塊法從一致地處理一組增量中得到計算上的好處。
直線陣列中的象素位置是與整數(shù)地址相關(guān)的。然后對于一對增量所劃定的區(qū)域內(nèi)的每一個這樣的象素,通過對映射到包圍它的一個區(qū)域的若干個線性傳感器象素進行積分,計算強度值。在一個特別最佳實施例中,使用各種形式的雙線性內(nèi)插法來對相繼出現(xiàn)的跨越象素位置的一對增量中取出的特定4個現(xiàn)行傳感器象素進行積分兩個傳感器象素來自映射到處于直線陣列象素一側(cè)的直線的增量,另外兩個傳感器象素來自映射到處于直線陣列象素對面一側(cè)的直線的相鄰增量。
在圖18中,所示一對增量I1和I2映射到形成被掃描的圖象的直線陣列的一部分。為簡單起見,使終點位置P1,P2和P1’,P2’分別對應于增量I1和I2第一個和最后一個傳感元件的中心。也顯示出了中間的傳感元件,諸如A1,A2和B1,B2。直線圖象陣列中的象素位置選擇得與就終點位置幾何關(guān)系而言的整數(shù)地址對應。輸出直線圖象的分辨率可以不同于線性圖象傳感器。但是,不論實際分辨率為何,N傳感器象素都沿著連接每一個增量終點的直線映射。為了便于解釋,在圖18中N=8,也就是說,每一個線性傳感器中剛好有8個元件,每一個增量的長度是N-1=7乘以以輸出直線象素分辨率單位測量的線性傳感器象素間距。
位于由定邊界的一對增量劃定的區(qū)域內(nèi)特定象素可以從每一個直線圖象行與兩個增量的交點x分量給出的間隔識別。圖18中直線圖象行D上的象素C1和C2提供了一個例子。從簡單的幾何關(guān)系可以看出,若增量I1具有終點坐標(x1,y1)和(x2,y2),則具有整數(shù)值yD的它與行D的交點的x坐標由下式給出xD=(yD-y1)*(x2-x1)/(y2-y1)因此,對于與行D+1的交點x(D+1)=xD+(x2-x1)/(y2-y1)=xD+xInc對于每一個相繼出現(xiàn)的行而言,式中xInc是一個常數(shù)增量。類似地,若增量I2具有終點(x1’,y1’)和(x2’,y2’),則具有整數(shù)值yD的它與行D的交點的的x坐標由下式給出xD’=(yD-y1’)*(x2’-x1’)/(y2’-y1’)因此,對于與行D+1的交點x(D+1)’=xD’+(x2’-x1’)/(y2’-y1’)=xD’+xInc’這提供了一個計算上有效的途徑來計算每一行的交點范圍。與當前行的交點可以簡單地通過給與前一行的交點加一個增量的方法計算。
首先,我們必須規(guī)定處于所述區(qū)域內(nèi)的行的范圍。這是由兩個增量共有的整數(shù)y值來給定的。這是在下列范圍內(nèi)的整數(shù)值假定掃描器對于紙張的方向仍舊是大體上垂直。這個方法可以很容易地擴展到允許掃描器相對于頁取任意方向。例如,若掃描器倒著走,則可以把線性傳感器的數(shù)據(jù)倒過來。終點位置數(shù)據(jù)的極性倒過來。另外,若掃描器與垂直線夾角大于45%,則可以通過把x/y位置坐標極性以及圖象的行和列都翻過來來達到正確的校正。為了便于解釋,對所述實施例的討論只涉及大體上垂直的情況,但是本專業(yè)的技術(shù)人員可以直接地將其擴展到上述比較一般的情況。
在所述區(qū)域中有效的象素可以利用下列偽碼來識別<pre listing-type="program-listing"><![CDATA[TRANSFORM LOOP1(變換循環(huán)){ ∥初始化 y=Y(jié)1xInc=(x2-x1)/(y2-y1)xInc’=(x2’-x1’)/(y2’-y1’)xD=x1+(y-y1)*xIncxD’=x1’+(y-y1’)*xInc’∥主循環(huán)while(y<=Y(jié)2){ [X1,X2]=[Ceiling(xD),F(xiàn)lood(xD’)] x=X1 //內(nèi)循環(huán) while(x<=X2)訪問象素(x,y)xD+=xlnc xD’+=xInc’ y++; } }]]></pre>其中算子Floor和Ceiling具有它們通常的算術(shù)意義。初始化和內(nèi)循環(huán)的實際細節(jié)是下面將要描述的不同方法所特有的。為了簡化在所示TRANSFORM LOOP(變換循環(huán))的實施例中的表示,假定xD永遠小于xD’。將它直接擴展到一般情況,就是通過測試每一行xD和xD’的順序。
下一步是判斷那一個線性傳感器象素對每一個直線網(wǎng)格象素作出貢獻,占多大比例?,F(xiàn)將描述逐對法的第一實施例。
在這個按照本發(fā)明的逐對法的實施例中,校正是基于反向映射,正如計算機圖象組織映射那樣(見上述Wolberg的參考文獻188頁的例子),以此使由兩條連接增量I1和I2終點位置的直線限定的間隔內(nèi)的每一個象素都反向映射到定義在一對增量本身之間定義的坐標空間內(nèi)次象素地址。這種狀態(tài)舉例說明于圖19,其中所示一對增量I1和I2映射到圖18中的直線圖象,還定義一個簡單的增量空間,其中單位是線性傳感器間隔,增量y軸對齊,而且這些增量放得彼此相隔一個象素。在這個空間內(nèi)右手側(cè)增量的頂部傳感元件具有坐標(0,0)。
來自直線圖象的象素C1被表示為影射在增量I1和I2之間。它具有次象素坐標(x,Y.y),其中Y是沿著所述增量次坐標的整數(shù)分量,而x和y是次象素的偏移量。然后,代表性的象素值可以利用4個包圍象素的雙線性(bilinear)內(nèi)插確定。也就是說,BiLinear(I1,I2,Y,y,x)=I1[Y]*(1-x)*(1-y)+I2[Y]*(1-y)*x+I1[Y+1]*(1-x)*y+I2[Y+1]*x*y對從直線圖象到增量之間的空間的變換的最優(yōu)近似涉及每一個象素二次方程式的解。這并不是一個令人滿意的可行的解決方案,因為涉及計算開銷。盡管可以推導從直線圖象坐標到由一對增量定義的坐標空間的近似線性齊次(homogeneous)映射,但最好還是非齊次解。用這樣的非齊次解就不要求假定局部變換的性質(zhì)。另外,角落的情況,諸如當相鄰一對增量的投影涉及直線圖象空間內(nèi)跨越(cross-over)的情況時,也容易解決。
在這樣一個非齊次方法中,為間隔[Y1,Y2]內(nèi)直線圖象每一行定義了不同的映射,這是再一次從帶有連接終點位置的直線交點而確定。在這種情況下,恢復交點沿著所述直線本身的距離。針對分辨率的差異而要求的任何按比例縮放之后,這對應于沿著線性傳感器的物理位置。在圖19中aD和aD’分別為直線行D沿著增量I1和I2的交點;其中從簡單的幾何關(guān)系可得aD=(yD-y1)*(N-1)/(y2-y1)以及aD’=(yD-y1’)*(N-1)/(y2’-y1’)因此,對于行D+1的交點a(D+1)=aD+(N-1)/(y2-y1)=aD+aRowInc以及a(D+1)’=aD’+(N-1)/(y2’-y1’)=aD+aRowInc’這對于有效的串行實現(xiàn)再一次為每一個相繼出現(xiàn)的行給出簡單的循環(huán)關(guān)系。
在間隔[X1,X2]中在直線圖象中沿著行D的每一個象素都映射到增量空間內(nèi)分別連接在(0,aD)和(1,aD’)處的兩個交點的連線的不同點上。假定沿著這一行的線性映射,直線圖象中位置(xE,yD)上的象素將映射到增量空間中的位置(aE,bE),其中aE=aD+(xE-xD)*(aD’-aD)/(xD’-xD)而bE=(xE-xD)/(xD’-xD)而再一次由此得出沿著行D的下一個象素,即
a(E+1)=aE+(aD’-aD)/(xD’-xD)=aE+aInc而b(E+1)=bE+1/(xD’-xD)=bE+bInc式中(aE,bE)處的強度通過雙線性內(nèi)插求出。
TRANSFORM LOOP(變換循環(huán))的另一個初始化和修改后的內(nèi)循環(huán)是<pre listing-type="program-listing"><![CDATA[TRANSFORM LOOP2(變換循環(huán)){∥初始化y=Y(jié)1xInc=(x2-x1)/(y2-y1)xInc’=(x2’-x1’)/(y2’-y1’)xD=x1+(y-y1)*xIncxD’=x1’+(y-y1’)*xInc’aRowInc=(N-1)/(y2-y1)aRowInc’=(N-1)/(y2’-y1’)aD=(y-y1)*aRowIncaD’=(y-y1’)*aRowInc’∥主循環(huán)while(y<=Y(jié)2) { [X1,X2]=[Ceiling(xD),F(xiàn)lood(xD’)] x=X1 aInc=(aD’-aD)/(xD’-xD)bInc=1/(xD’-xD)a=(x1-xD)*aIncb=(x1-xD)*bInc//內(nèi)循環(huán) while(x<=X2){A=Floor(a)pixel[y][x]=BiLinear(I1,I2,A,a-A,b)a+=aIncb+=bInc}xD+=xIncxD’+=xInc’aD+=aRowIncaD’+=aRowInc’ y++; } }]]></pre>更直接的幾何分析也可以用在按照本發(fā)明的方法的另一個實施例中,來完成逐對直線象素內(nèi)插。這樣的方法并不要求直線圖象象素顯式地反向映射到增量坐標空間。
一個與反向映射法相比計算要求較低的特別簡單的實施例是沿著每一個增量完成數(shù)據(jù)整理,然后將這些值直接內(nèi)插到直線圖象中。
圖20表示沿著增量的每一條終點連線內(nèi)插后象素的位置。像以前一樣,交點是在構(gòu)成增量的線性傳感器象素內(nèi)的位置aD和aD’上,在直線網(wǎng)格內(nèi)表示為zD和zD’。在這些交點上線性內(nèi)插給出“象素值”vD和vD’如下
vD=I1[A]*(1-a)+I1[A+1]*a和vD’=I2[A’]*(1-a’)+I2[A’+1]*a’式中A=Floor(aD)而A’=Floor(aD’)及a=aD-A而a’=aD’-A’在范圍[X1,X2]內(nèi)行D上直線網(wǎng)格圖象的下面每一個完整的象素都內(nèi)插在這些內(nèi)插后的增量象素之間。例如,在xE上的象素被賦予如下的強度值vE=(vD*(xD’-xD)-(xE-xD))+vD’*(xE-xD)/(xD’-xD)并再一次由此得出沿行D的下一個象素為v(E+1)=vE+(vD’-vD)/xD’-xD)=vE+vInc它用再串行實現(xiàn)中。
對于這個方法TRANSFORN LOOP(變換循環(huán))變成<pre listing-type="program-listing"><![CDATA[TRANSFORM LOOP3(變換循環(huán)){∥初始化y=Y(jié)1xInc=(x2-x1)/(y2-y1)xInc’=(x2’-x1’)/(y2’-y1’)xD=x1+(y-y1)*xIncxD’=x1’+(y-y1’)*xInc’aRowInc=(N-1)/(y2-y1)aRowInc’=(N-1)/(y2’-y1’)aD=(y-y1)*aRowIncaD’=(y-y1’)*aRowInc’∥主循環(huán)while(y<=Y(jié)2){[X1,X2]=[Ceiling(xD),F(xiàn)lood(xD’)]x=X1A=Floor(A)a=aD-AvD=I1[A]*(1-a)+I1[A+1)*aA’=Floor(A’)a’=aD’-A’vD’=I1[A’]*(1-a’)+I1[A’+1)*a’vInc=(vD’-vD)/(xD’-xD)v=vD+(x1-xD)*vInc∥內(nèi)循環(huán)while(x<=X2){pixel[y][x]=vv+=vInc}xD+=xIncxD’+=xInc’aD+=aRowIncaD’+=aRowInc’y++; } }]]></pre>請注意,占計算開銷最大部分的內(nèi)循環(huán),TRANSFORN LOOP3比TRANSFORN LOOP2簡單得多。應該指出,可以使用階數(shù)更高的內(nèi)插在增大計算開銷的代價下求得更高的準確度。
以加大計算量開銷為代價,通過把每一個直線圖象象素映射到每一個增量上最接近的點上,可以得到較高的圖象質(zhì)量。這是一些增量上其內(nèi)插(沿著線性傳感器)強度最好地反映所考慮的直線象素的強度的點。然后將所述對內(nèi)插增量強度值結(jié)合,再次利用線性內(nèi)插法給出所述象素最有代表性的強度。應該指出,在這種情況下,和圖20的情況不同,增量上的內(nèi)插點和直線圖象象素不一定要在一條直線上。
在每一個增量上最接近的點是從直線圖象象素向連接終點位置的連線作垂線而求出。這個點按比例縮放得與線性傳感元件位置對應。圖21表示分別沿著增量I1和I2位置aP和aP’上的最接近點,對于直線網(wǎng)格分別用zP和zP’表示。
離開沿著行D上具有X坐標位置xE的象素的增量I1的垂直投影點的aD(所述增量與直線圖象行D的交點)的偏移量(以線性傳感元件為單位)oE由下式給出oE=(xE-xD)*((x2-x1)/SensorLength)*((N-1)/SensorLength)oE=(xE-xD)*(x2-x1)*(N-1)/SensorLength2式中SensorLength2=(x2-x1)2+(y2-y1)2而沿著行D的具有x坐標位置xE+1的下一個象素的偏移量由下式給出o(E+1)=(xE+1-xD)*(x2-x1)*(N-1)/SensorLengtho(E+1)=oE+(x2-x1)*(N-1)/SensorLength2
o(E+1)=oE+oInc類似地,離開沿著行D上具有x坐標位置xE的象素的增量I2的投影點的aD’(所述增量與直線圖象行D’的交點)的偏移量(以線性傳感元件為單位)oE’由下式給出oE’=(xE-xD’)*((x2’-x1’)/SensorLength’)*((N-1)/SensorLength’oE’=(xE-xD’)*(x2’-x1’)*(N-1)/SensorLength’2式中SensorLength’2=(x2’-x1’)2+(y2’-y1’)2而沿著行D的具有x坐標位置xE+1的下一個象素的偏移量由下式給出o(E+1’=(xE+1-xD’)*(x2’-x1’)*(N-1)/SensorLength’2o(E+1)’=oE’+(x2’-x1’)*(N-1)/SensorLength’2o(E+1)’=oE’+oInc’顯然,SensorLength等于Sensorlength’,而且在整個掃描過程中都是常數(shù)。
把所述偏移量加到行交點位置上就得到離每一個增量所考慮的象素最接近的點。就是說,對于位置(yD,xE)的象素aP=aD+oE及aP’=aD’+oE’線性傳感器象素之間的內(nèi)插分別給出增量I1和I2上這些點的強度值vP和vP’vP=I1[A]*(1-a)+I1[A+1]*a式中A=Floor(aP)且a=aP-A而vP’=I1[A’]*(1-a’)+I1[A’+1]*a’
式中A’=Floor(aP’)及a’=aP’-A’我們?yōu)関P和vP’的結(jié)合選擇系數(shù),以給出最終的內(nèi)插象素值。一種可能性是利用向各自增量所作的垂線的長度。為了便于計算,最好使用來自與兩個增量交點行D上正在考慮的象素的相對位移x。對于增量I1,它具有值(xE-xD),而對于增量I2,它具有值(xD’-xE)。假定x的總范圍是(xD’-xD),則所述象素的內(nèi)插強度是v=((xD’-xE)*vP+(xE-xD)*vP’)/(xD’-xD)下面將提出另外一個按照本發(fā)明的利用直線映射的逐塊法的方法的實施例。逐塊法有雙重的優(yōu)點,適當版本的TRANSFORM LOOP的外部循環(huán)計算頻繁程度較低,而且順序訪問的輸出象素數(shù)目較多,直接(而不必高速緩存)使儲存器帶寬得以改善。
圖22表示包括M個增量,在這種情況下是4個增量。較外的一對增量標記為I1和I2,再次被TRANSFORN LOOP的外循環(huán)利用來識別映射在塊內(nèi)的有效象素。最佳實施例正如以前的逐對法的情況中描述的,用非齊次反向映射算法的擴展形式確定直線陣列象素。圖23表示把圖22中標記為D的行變換成含有邊界為I1和I2的4個增量的增量空間。它連接行D與各外增量的交點。接著,由逐對方法得出,如圖19所示,對于I1和I2,這些交點分別具有沿著線性傳感器的aD和aD’偏移距離。因而在增量空間中這些交點的坐標為(0,aD)和((M-1),aD’)。
在間隔[X1,X2]中沿著行D直線圖象中每一個象素都映射到所述增量空間中沿著分別連接兩個交點(0,aD)和((M-1),aD’)的一條直線的不同點上。假定沿著所述行的線性映射,在直線圖象中位置(xE,yD)的象素映射到增量空間中的位置(aE,bE)上,其中aE=aD+(xE-xD)*(aD’-aD)/(xD’-xD)而bE=(M-1)*(xE-xD)/(xD’-xD)并由此得出,對于沿著行D的下一個象素a(E+1)=aE+(aD’-aD)/(xD’-xD)=aE+aInc及b(E+1)=bE+(M-1)/(xD’-xD)=bE+bInc式中(aE,bE)處的強度用雙線性內(nèi)插法求出。因而TRANSFORM LOOP變成TRANSFORM LOOP4(變換循環(huán)4){<pre listing-type="program-listing"><![CDATA[∥初始化y=Y(jié)1xInc=(x2-x1)/(y2-y1)xInc’=(x2’-x1’)/(y2’-y1’)xD=x1+(y-y1)*xIncxD’=x1’+(y-y1’)*xInc’aRowInc=(N-1)/(y2-y1)aRowInc’=(N-1)/(y2’-y1’)aD=(y-y1)*aRowIncaD’=(y-y1’)*aRowInc’∥主循環(huán)while(y<=Y(jié)2){[X1,X2]=[Ceiling(xD),F(xiàn)lood(xD’)]x=X1aInc=(aD’-aD)/(xD’-xD)bInc=(M-1)/(xD’-xD)a=(x1-xD)*aIncb=(x1-xD)*bInc∥內(nèi)循環(huán)while(x<=X2){A=Floor(a)B=Floor(b)pixel[y][x]=BiLinear(IB,IB+1,A,a-A,b-B)a+=aIncb+=bInc}xD+=xIncxD’+=xInc’aD+=aRowIncaD’+=aRowInc’y++; } }]]></pre>式中IB是在所述塊中第B個增量,而IB+1是在所述塊中第(B+1)個增量。
逐塊法有賴于這樣一個事實,即掃描路徑幾乎是均勻的,而且只是平滑地改變。在兩個空間上(掃描形狀必須一致)并就沿著掃描路徑的采樣頻率而言都必須為真。本發(fā)明的另一個實施例涉及逐塊法通過根據(jù)掃描路徑的均勻程度動態(tài)地改變快的大小而進行的擴展。在均勻性好的地方,可以采用大塊而不會引入圖象畸變,但在掃描路徑或采樣制度變化迅速的地方,只能用小塊才不會引起失真(artefacts)。在限制的情況下,這樣的實施例又變回逐對法。
現(xiàn)將描述按照本發(fā)明實施例的動態(tài)改變逐塊法。在逐塊法可接受的使用中,在所述塊中每一對依次出現(xiàn)的增量存在的終點位置幾何關(guān)系的個別差異應與所述塊整塊的全局差異相一致。在所述法中,增量位置增量(delta)表是隨著塊的尺寸從一對增大到最大值而在所述塊內(nèi)依次出現(xiàn)的每一對增量之間建立的。最佳塊尺寸S被選為小于或等于最大的允許塊尺寸中的最大者,對于這個最大允許尺寸各個增量(deltas)都與作為整體的塊的整個位置增量一致。
在所述表中的每一項都包括4個增量。這些增量與每一個終點位置的x和y增量對應。這些對于結(jié)束于所述塊中第i增量的增量對標記為[X1i,Y1i,X2i,Y2i]。對于整個塊累計總增量標記為[X1N,Y1N,X2N,Y2N],并對每一個分量由各個增量的和給出。所述表是針對從2開始每一步地并逐步增大到允許的最大塊尺寸的N值而建立的。若對在2到N的當前值范圍內(nèi)的每一個i,下面條件中任何一個得不到滿足|X1i*N-X1N|<N*deltaThreshold|X2i*N-X2N|<N*deltaThreshold|Y1i*N-Y1N|<N*deltaThreshold|Y2i*N-Y2N|<N*deltaThreshold則選擇塊尺寸s=N-1。若在直至允許的最大塊尺寸的所有步驟這個條件都得到滿足,則選擇允許的最大塊尺寸。
按照本發(fā)明的另一個實施例,現(xiàn)將描述克服在所述塊內(nèi)采集各個增量用的采樣頻率不均勻的一個有效的方法。這個方法不涉及掃描路徑形狀不一致的問題,而只涉及相繼出現(xiàn)增量之間地物理間隔。這樣的實施例在增量不均勻地采樣的實現(xiàn)中將是有利的。
為此目的引入一個輔助映射表。輔助映射表的目的是把增量空間均勻的x坐標(在某個規(guī)定的次象素分辨率,例如象素的0.1下)映射至經(jīng)過改變的均勻采樣的版本。所述表必須根據(jù)其中各個增量的物理間隔(例如,歐幾里德終點間隔的平均值)對每一個塊進行更新。改變的效果舉例示于圖24。
在圖24a中,增量按照它們歸一化后的平均物理間隔表示,使得總間隔等于增量數(shù)減一。在這個空間內(nèi),直線圖象行D的映射在增量I1和I2之間仍舊是線性的。映射到圖24a中所示線性增量空間位置(x,y)的直線圖象象素變換到圖24b中所示非線性增量空間中的(x’,y’)。在變換后的空間中,增量是均勻間隔的,但I1和I2之間的映射是不再是線性的。輔助表MT用來把每一個x映射到x。
根據(jù)對上面提出的論述的研究,本專業(yè)技術(shù)人員將清楚本發(fā)明另一個實施例。在逐對的情況下我們要求緩存兩個增量,每一個增量使用兩次。在逐塊法中儲存M個增量,只有所述塊中的第一個和最末一個增量使用兩次。第一次它們處于所述塊的最后一個增量,然后最后一次,當它們變成下一個塊的頭一個樣值。
直線圖象緩沖區(qū)100大得足以裝下在線性傳感器分辨率(一般是200dpi或是300dpi)下的單個字符(single letter sized)尺寸或A4尺寸頁。假定掃描起點的位置和方向是事前已知的。部分地或整個地映射到圖象以外的增量可以環(huán)繞(利用分別對X和Y分量的H或W進行的模運算)水平或垂直邊界在直線緩沖區(qū)的對面一側(cè)繼續(xù)。完成所述掃描之后,直線圖象緩沖存儲器100可以在水平和垂直兩個方向上都滾動,以對準掃描區(qū)的中心。假定,所掃描的區(qū)域不超過直線圖象緩沖區(qū)100的總高或?qū)挘瑒t最后圖象可以很好地形成,而且與起始位置無關(guān)。為了恰當?shù)貙R,掃描必須以假定的方向開始(例如,總平行于頁的一側(cè)),或者方向必須從掃描的內(nèi)容恢復,并用來給最后的圖象重定向。自動確定可以用作信件基礎的頁上正文主方向用的方法在文獻中已經(jīng)知道,例如H.S.Baird所著的“印刷文件的傾斜角”,Proc.4thSPSE Conference Symposium on Hybrid Image System,Rochester,NewYork,1987。
下一步是在它們的重疊區(qū)域內(nèi)把相繼出現(xiàn)的兩個圖象幅區(qū)縫合起來。目標是把含有最后經(jīng)過校正重構(gòu)的圖象的緩沖區(qū)100內(nèi)的多個幅區(qū)結(jié)合起來。這必須以這樣的一種方式完成,即識別和校正大部分累積的導航誤差,并屏蔽任何剩余誤差。這在國際專利申請公告No.WO 96/27257中做了比較充分的討論。
導航數(shù)據(jù)流最好提供縫合所需的對準信息。因為導航信息往往會積累誤差,它必須通過由特征偏移量的分析中產(chǎn)生的反饋校正信號不斷地修正。
但是,我們首先來描述縫合假定沒有導航誤差的幅區(qū)的方法。
為了縫合兩個圖象幅區(qū)必須有一些重疊的區(qū)域。幅區(qū)一邊是由掃描裝置回到掃描原件其中一部分剛才掃描過的區(qū)域的反向路徑來劃定的。幅區(qū)包括在從被掃描的原件上掃描時捕獲的圖象數(shù)據(jù)。在以后的描述中,“幅區(qū)”這一術(shù)語有時將用來指由這樣的數(shù)據(jù)映射而形成的重構(gòu)圖象的一部分。
圖11中增量終點軌跡所表示的掃描產(chǎn)生兩個重疊的幅區(qū)。在圖12中,映射入直線圖象緩沖區(qū)100的包括幅區(qū)#1的部分部分地被與對應于幅區(qū)#2的掃描部分在返回時被部分地再映射,重疊區(qū)域102填充表示。在時間T,至今已經(jīng)掃描了部分幅區(qū)。在這種情況下,通過簡單地在幅區(qū)#1頂上連續(xù)把幅區(qū)#2映射到直線圖象緩沖區(qū)100可以達到令人滿意的縫合?;氐綀D11,增量#2可以像幅區(qū)#1一樣的方法沿著整個長度映射,對圖12中的重疊區(qū)102中的每一個象素也類似。在直線圖象緩沖器100由幅區(qū)#1造成的最后解釋中就要被幅區(qū)#2的結(jié)果代替。
同樣地,作為幅區(qū)#1的一部分映射的重疊區(qū)102中的象素不被幅區(qū)#2的映射結(jié)果代替,這種方法也將被證明是令人滿意的,只要由幅區(qū)#2中不是重疊部分映射的所有象素(亦即,也不由幅區(qū)#1映射)都恰當?shù)赜成?。也就是說,由幅區(qū)#1映射的區(qū)域用來剪掉由幅區(qū)#2映射的區(qū)域。事實上,只要幅區(qū)#1的幅區(qū)#2正確地影射所有處于重疊區(qū)以外的象素,則重疊區(qū)的象素同樣可以從幅區(qū)#1或幅區(qū)#2或其結(jié)合獲得。
實際上,由于幅區(qū)#1和幅區(qū)#2的位置標簽之間的誤差積累,這種假定沒有導航誤差的簡單途徑不會給出非常好的結(jié)果。
現(xiàn)將參照圖13和14描述有利的縫合方法。圖13指出所涉及的處理階段和數(shù)據(jù)緩沖區(qū),而圖14涉及與幅區(qū)#1和幅區(qū)#2有關(guān)的所用處理。圖象增量緩沖區(qū)B中的圖象增量數(shù)據(jù)如前所述地映射到直線圖象緩沖區(qū)100。圖14表示在幅區(qū)#1中被捕獲的圖象部分被幅區(qū)#2的回程重新映射到直線圖象緩沖區(qū)100上。導航校正通過對幅區(qū)#1和幅區(qū)#2之間的重疊區(qū)內(nèi)特征的相關(guān)進行計算。
圖14強調(diào)了這個被分成兩部分104和105的重疊區(qū)。正如圖14所示,在幅區(qū)#1的校正過程中,四邊形圖象段(下稱“對準面磚”),其中三個(表示為106,108,110)沿著重疊區(qū)105中所述幅區(qū)的下邊沿周期地標記。在較晚的一次掃過中(幅區(qū)#2),含有幅區(qū)#1的對準面磚106,108和110的區(qū)域105以上的幅區(qū)#2的重疊區(qū)104,在幅區(qū)#2被采集時通過不允許幅區(qū)#1的這些象素被覆蓋而被剪除,亦即被舍掉。來自幅區(qū)#1的對準面磚106位于幅區(qū)#2剪除重疊部分104后剩余部分的頂部。若導航數(shù)據(jù)是完美的,對準面磚106的位置和在幅區(qū)#2再掃描的圖象中所述面磚的位置之間將不會有偏移。比較現(xiàn)實地,自從上一次對準完成之后已經(jīng)積累了某些導航誤差。兩個幅區(qū)中這塊面磚的外表之間的偏移量產(chǎn)生一個校正因數(shù),然后用它來更新未來與圖象數(shù)據(jù)有關(guān)的導航位置標簽,以便把積累的總誤差減到最小。用這樣的方法,就能防止導航數(shù)據(jù)中積累的總誤差增加到如此之大,以致它在幅區(qū)重疊的區(qū)域中引入明顯的畸變。
現(xiàn)將參照圖13和14描述縫合幅區(qū)#1和幅區(qū)#2的處理階段。圖13表示圖象增量緩沖區(qū)B和直線圖象緩沖區(qū)100。圖13也表示了特征位置緩沖區(qū)113和特征緩沖區(qū)114。處理階段如下1.如上所述,在收集幅區(qū)#1的過程中,對準面磚(106,108和110)沿著重疊區(qū)105所述幅區(qū)的下邊沿周期地標記。一個完整的對準面磚可以用于上述校正,但在所述最佳實施例中,在作為對幅區(qū)1#的捕獲結(jié)果的、形成直線圖象緩沖區(qū)100中重構(gòu)的圖象的一部分的對準面磚中,有一個包括矩形的灰度圖象面磚(例如,15×15象素)的小高頻對比區(qū)(以下稱為對準特征)。
2.對準特征的位置標簽(它定義每一個對準特征在直線圖象緩沖區(qū)100內(nèi)的位置)在開始把幅區(qū)#2映射到直線圖象緩沖區(qū)100之前存入特征位置緩沖區(qū)113。
3.當幅區(qū)#2映射時,對準特征位置在被幅區(qū)#2重寫到直線圖象緩沖區(qū)100之前被識別。這是通過定義一個在圖14中指出的用長度等于圖象增量而寬度等于幾個象素的矩形捕獲窗口107而達到的,所述窗口出現(xiàn)在幅區(qū)#2當前正在映射入直線圖象緩沖區(qū)100的圖象增量之前。當一個儲存在特征位置緩沖區(qū)113的對準特征位置落在所述捕獲窗口107時,選擇所述對準特征位置(在任何一次中只可以選擇一個對準特征位置)。
4.對準特征位置選擇的結(jié)果是把相關(guān)的對準特征(亦即,在直線圖象緩沖區(qū)100內(nèi)所述位置上的對準特征)復制到特征緩沖器114。特征緩沖器114臨時儲存一個對準特征的拷貝及其位置標簽。
5.幅區(qū)#2映射入直線圖象緩沖區(qū)100,以致重寫對準特征的位置(和鄰近的一個小區(qū)域)之后,把所述對準特征的拷貝儲存入特征緩沖區(qū)114,并將所述特征緩沖區(qū)114的內(nèi)容與直線圖象緩沖區(qū)100新寫入部分比較,以產(chǎn)生導航校正信號,亦即使兩個圖象片段一致起來所需的平移。
6.把這個校正信號反饋給圖9所示的導航處理器80。為了防止在最后的直線圖象中出現(xiàn)明顯的畸變,在線性傳感器數(shù)據(jù)的每一個新行裝入內(nèi)存時,逐漸施加誤差估計值,亦即以大小固定的小步距修改”位置標簽”,直至計算出整個誤差為止。
盡管可以采用其他校正方法,但是計算兩個圖象片段之間的偏移量的可以接受的方法是“差值平方和”校正。圍繞所述特征的原件位置定義一個小的搜索區(qū)域,然后按照下列方程式計算相關(guān)系數(shù)Ck,l=∑i∑j(Ti,j-Ii+k,j+1)2式中Ti,j表示來自幅區(qū)#1的特征的灰度值,而Ii+k,j+l表示從幅區(qū)#2新采集的特征的灰度值。下標i和j規(guī)定所述特征內(nèi)的象素位置,而k和l規(guī)定建議采用的平移偏移量的量值(限于留在搜索空間內(nèi))。所得相關(guān)陣列的最小元素表示兩個特征之間的偏移量。
選擇對準面磚內(nèi)的對準特征,使得圖象方差達到最大,因為這樣能改善相關(guān)方法的準確度。在一個可能的實施例中,只考慮所述區(qū)域內(nèi)的位置子集。這些位置116,118,120,122和124示于圖15,他們都位于對準面磚的主軸126和128(定義所述區(qū)域的直線中點的連線)上,而且在交點上和交點與各軸終點之間的中點上采樣。利用下列方程式計算每一個位置116,118,120,122和124的方差VARk,lSUMk,l=∑i∑jIk+i,l+jSUM2k,l=∑i∑j(Ik+i,l+j)2VARk,l=SUMk,l/N-(SUMk,l)2/N2若導航誤差比較大,則上述方法仍可能把不希望有的失真引入重構(gòu)的圖象,特別是在幅區(qū)的始端。這是因為圖象增量頂點和底點計算位置之間的誤差沿著幅區(qū)的長度積累,并再新幅區(qū)開始處達到最大值。
現(xiàn)參照圖16和17簡要說明縫合方法另一最佳實施例。
圖16表示圖象增量緩沖區(qū)B和直線圖象緩沖區(qū)100。正如本實施例就圖13,14及15所描述的,特征位置緩沖區(qū)131用來儲存在幅區(qū)#1中所識別的對準特征的位置標簽。如將要描述的,還有一個專門的圖象緩沖區(qū)132,用來儲存來自緩沖區(qū)B的圖象片段。
圖17再一次表示在幅區(qū)#1內(nèi)所捕獲的圖象的正在被幅區(qū)#2的回掃重新映射的一部分。對準面磚標為130。但是,在所述實施例中,把幅區(qū)#2縫合到幅區(qū)#1有兩個處理階段。第一處理階段中的處理步驟在步驟3之后與圖13的不同。
所選對準特征位置在幅區(qū)#2映射入直線圖象緩沖區(qū)100時用來定義對準特征的預定位置。通過利用當前誤差估計值(儲存在誤差緩沖區(qū)143中)來預計當前對準特征的位置而對相對于以前對準特征求出的導航誤差加以考慮。因此,然后用來給當前對準特征定位的搜索區(qū)域只需要大得足以計算可能的誤差增量。專用圖象緩沖區(qū)132用來臨時儲存,直接來自緩沖區(qū)B,正在對位于選定的對準特征位置周圍的幅區(qū)#2的圖象數(shù)據(jù)進行映射的直線圖象,及儲存對準特征位置。換句話說,在時刻T,圖17所示的圖象增量138映射入緩沖區(qū)132。專用圖象緩沖區(qū)132的尺寸必須足以儲存對準特征加上所要求的搜索區(qū)域,其尺寸按已知誤差估計值算法計算。然后將來自儲存在專用圖象緩沖區(qū)132的幅區(qū)#2的圖象片段與儲存于直線圖象緩沖區(qū)100中對準特征位置上對應的圖象片段比較。這樣,由此得出偏移量,所述偏移量當與以前的誤差估計值一起積累時,給出更新后的導航誤差估計值。這個更新后的估計值與位置標簽一起儲存在誤差緩沖區(qū)134中。
誤差估計值的位置標簽就是當前對準特征中心對于直線圖象緩沖區(qū)100的地址。然后將它用來確定增量緩沖區(qū)B中所述誤差估計值所涉及(亦即,第一增量對應于映射到所述圖象地址的幅區(qū)#2)的增量。這給出了必須充分適應的被測估計值增量。
在第二處理階段,考慮到所述被記錄位置的誤差估計值,來自幅區(qū)#2的圖象數(shù)據(jù)寫入直線圖象緩沖區(qū)100,使得從最后重構(gòu)的圖象中消除這些誤差。這是通過修改與傳感器數(shù)據(jù)的各個圖象增量的終點有關(guān)的位置數(shù)據(jù)而完成的。
這種最佳方法給出改善的縫合結(jié)果,因為從兩個幅區(qū)之間的重疊區(qū)移過的導航傳感器位置上的誤差被識別出來,并在重構(gòu)最后的圖象之前被校正了。另外,在以前的幅區(qū)收集過程中積累起來的圖象增量頂點和底點計算位置的誤差可以在下一個幅區(qū)開始時立即被吸收,而不引入不希望的失真。這在圖17中由從上述第一和第二處理階段衍生的幅區(qū)#1和幅區(qū)#2之間的轉(zhuǎn)折點的兩個右邊沿之間的不連續(xù)性指出。
考慮到所要求的掃描性質(zhì),上述縫合過程可以用不同的方法加以實現(xiàn)。一個替代方案是要求掃描是從頁頂?shù)巾摰走M行的,在這種情況下,只需要進行從一個幅區(qū)的底部到另一個幅區(qū)的頂部之間的縫合。另一個途徑是允許掃描從頁的任何部分開始,但要求維持掃描的初始方向。在這種情況下,必須有能力識別幅區(qū)兩個邊沿的對準特征,但是,一旦掃描方向已經(jīng)確立,就只需為當前幅區(qū)的一側(cè)保持誤差估計值。在另一個途徑中,可以允許掃描以任何方向進行,但仍能適應掃描方向的改變,例如螺旋形掃描。在這個第三個途徑中,不僅必須有能力識別幅區(qū)兩個邊沿上的對準特征,而且在掃描方向必須改變時,還必須為每一個幅區(qū)的頂部和底部保持誤差估計值。最后一個途徑為用戶給出最大的靈活性,但有更高的計算開銷。
在按照本發(fā)明的裝置的一個最佳實施例中,圖象重構(gòu)、縫合和圖象管理的處理電子線路都包含在限定圖1掃描裝置10的外殼內(nèi)。這樣,被掃描的圖象立即呈現(xiàn)在圖象顯示器16上。但是,掃描裝置可以包括存儲器,用來儲存加有位置標簽的圖象數(shù)據(jù),但不帶處理和文件管理的電子線路和固件。
正如參照圖3所指出的,導航和圖象傳感器22,24和26最好裝在軸樞件20上。在一個實施例中,軸樞件至少通過一個彈性體連接到外殼的其余部分,為此所述彈性體的一端連接到外殼的固定部分,而另一端連接到旋轉(zhuǎn)件。所述旋轉(zhuǎn)件起鉸鏈的作用。這樣,軸樞部分就允許”浮動”,而不用摩擦件。電源、控制和數(shù)據(jù)信號通過一條屏蔽的柔性電纜連接到傳感器,以便把電磁干擾減到最小??梢圆捎每赊D(zhuǎn)動地安裝軸樞件的其他方法。若刪除軸樞件,而傳感器安裝在外殼的固定位置,則必須注意不使掃描裝置10在圖象捕獲過程中過分傾斜。在這個實施例中,對照明和光學元件的設計必須更加注意。
盡管本發(fā)明已經(jīng)作為掃描平面原件進行了描述和說明,但是這并非關(guān)鍵。事實上,本專業(yè)的技術(shù)人員都很容易理解,可以采用許多方法掃描三維圖象。但是,最佳實施例感興趣的圖象是在介質(zhì),諸如張紙、透明膠片、照片上形成的,而掃描裝置與所述介質(zhì)接觸。
權(quán)利要求
1.一種把作為傳感器中的圖象數(shù)據(jù)和導航裝置中的位置數(shù)據(jù)而捕獲的圖象加以重構(gòu)的方法,其特征在于包括以下步驟為被重構(gòu)的圖象確定象素網(wǎng)格;利用位置數(shù)據(jù)來識別傳感器數(shù)據(jù)與象素網(wǎng)格之間的對應關(guān)系;以及從多個傳感器位置獲得的且被選為與每一個要確定強度的象素相關(guān)的圖象數(shù)據(jù)來確定象素網(wǎng)格中各象素的強度。
2.權(quán)利要求1所要求的方法,其特征在于所述圖象是以順序出現(xiàn)的傳感器讀數(shù)連同用于每一個傳感器讀數(shù)的位置讀數(shù)一起的(數(shù)據(jù))流的形式捕獲的。
3.權(quán)利要求2所要求的方法,其特征在于所述傳感器是線性傳感器。
4.權(quán)利要求2或3所要求的方法,其特征在于所述識別圖象數(shù)據(jù)和象素網(wǎng)格之間對應關(guān)系的步驟包括把圖象數(shù)據(jù)映射在象素網(wǎng)格上,以此在把邊界傳感器的讀數(shù)映射到象素網(wǎng)格上之后,在邊界傳感器讀數(shù)的圖象讀數(shù)之間的象素網(wǎng)格上定義一個區(qū)域,其中定義所述區(qū)域的邊界傳感器讀數(shù)的圖象數(shù)據(jù)可選擇為與所述區(qū)域內(nèi)的象素相關(guān)的。
5.權(quán)利要求4所要求的方法,其特征在于所述邊界傳感器的讀數(shù)是所述數(shù)據(jù)流中依次出現(xiàn)的兩個讀數(shù)。
6.權(quán)利要求4所要求的方法,其特征在于所述邊界傳感器的讀數(shù)是數(shù)據(jù)流中的兩個傳感器讀數(shù),而其中邊界傳感器讀數(shù)之間任何傳感器讀數(shù)的圖象數(shù)據(jù)也可以被選擇為與所述區(qū)域內(nèi)的象素相關(guān)的,所述流中邊界傳感器讀數(shù)和它們之間所有傳感器讀數(shù)構(gòu)成組塊。
7.權(quán)利要求6所要求的方法,其特征在于所述組塊中的傳感器讀數(shù)的數(shù)目取決于相應位置數(shù)據(jù)的均勻程度。
8.權(quán)利要求4至7中任意一項所要求的方法,其特征在于所述識別圖象數(shù)據(jù)和象素網(wǎng)格之間對應關(guān)系的步驟還包括確定象素網(wǎng)格中哪些象素落在由選定的各組傳感器數(shù)據(jù)所定義的區(qū)域內(nèi)。
9.權(quán)利要求8所要求的方法,其特征在于所述象素網(wǎng)格中的象素映射入一個由邊界傳感器讀數(shù)所定義的空間,而要確定強度的網(wǎng)格象素是映射在所定義空間內(nèi)的象素。
10.權(quán)利要求9所要求的取決于權(quán)利要求6的方法,其特征在于形成由邊界傳感器讀數(shù)定義的空間,以便提供傳感器讀數(shù)的均勻的樣值。
11.權(quán)利要求9或權(quán)利要求10所要求的方法,其特征在于所述網(wǎng)格象素的強度是由相繼出現(xiàn)的兩個傳感器讀數(shù)中的每一個的傳感器象素值內(nèi)插確定的,所述傳感器象素值選擇得跨越映射入所述空間的網(wǎng)格象素。
12.權(quán)利要求11所要求的方法,其特征在于所述內(nèi)插是相繼出現(xiàn)兩個傳感器讀數(shù)中每一個的兩個傳感器象素值的雙線性內(nèi)插。
13.權(quán)利要求11所要求的方法,其特征在于對于兩個相繼出現(xiàn)的傳感器讀數(shù)中的每一個,內(nèi)插的象素值是從內(nèi)插象素位置上的傳感器象素計算的,而所述網(wǎng)格象素值是由內(nèi)插的象素值計算的。
14.權(quán)利要求13所要求的方法,其特征在于所述內(nèi)插的象素值是用線性內(nèi)插法計算的。
15.權(quán)利要求13或14所要求的方法,其特征在于所述網(wǎng)格象素值是從用線性內(nèi)插法計算的內(nèi)插象素值計算的。
16.權(quán)利要求13至15中任何一項所要求的方法,其特征在于所述內(nèi)插象素位置位于含有所述網(wǎng)格象素的網(wǎng)格象素行與兩個相繼出現(xiàn)的傳感器讀數(shù)位置的交點上。
17.以上任何一個權(quán)利要求所要求的方法,其特征在于所述象素網(wǎng)格是直線的。
18.以上任何一個權(quán)利要求所要求的方法,其特征在于所述導航裝置包括一個或多個檢測攜有被捕獲的圖象的介質(zhì)的與結(jié)構(gòu)相關(guān)的固有特性用的傳感器。
19.以上任何一個權(quán)利要求所要求的方法,其特征在于所述傳感器包括在掃描裝置內(nèi)。
20.一種實現(xiàn)按照本發(fā)明的方法的掃描裝置。
21.一種用來收集圖象數(shù)據(jù)并預定與計算機系統(tǒng)連接、以完成按照本發(fā)明的方法的掃描裝置。
全文摘要
本發(fā)明涉及一種將由傳感器捕獲的數(shù)據(jù)重構(gòu)圖象的方法,它特別適用于在掃描裝置和原件圖象之間相對運動中順序捕獲的情況。所述掃描裝置包括檢測掃描裝置相對于原件圖象的位置用的導航裝置。確定被重構(gòu)的圖象用的象素網(wǎng)格,并利用傳感器位置檢測數(shù)據(jù)識別象素網(wǎng)格與傳感器數(shù)據(jù)之間的對應關(guān)系。象素的強度從被選為與所考慮的象素相關(guān)的傳感器數(shù)據(jù)中確定。
文檔編號H04N1/047GK1196628SQ9810669
公開日1998年10月21日 申請日期1998年4月14日 優(yōu)先權(quán)日1997年4月14日
發(fā)明者S·B·波拉德, R·O·卡恩 申請人:惠普公司