專利名稱:表達通用的二維空間變換的系統(tǒng)和方法
技術領域:
本發(fā)明涉及數字圖像變換,更具體地說,涉及數字圖像數據的二維空間變換的表達。
背景技術:
大多數圖像處理系統(tǒng)都可被部分認為是空間變換系統(tǒng)。在二維(2D)圖像處理中,根據2D輸出空間中每個像素與一些輸入數據(很可能是3D)的相互關系,通過向每個所述像素分配“顏色”值來產生圖像。通過在輸入和輸出數據空間中引入坐標系統(tǒng),這種相互關系可方便地表示為空間映射。這種空間映射可以隱含在圖像處理系統(tǒng)(透鏡陣列等)的設計中,或者是明確指定的以獲得某些效果。圖像變形(warping),是關于2D輸入和輸出圖像或空間之間的映射的術語,通常用于校正在圖像捕捉和圖像顯示設備中常見的光學失真和各種偽影,例如畸變。圖像變形的其他用途包括特效、動畫、圖像拼接以及通用的幾何變換。一般而言,圖像變形不必是空間變換,但是,圖像變形的重點是空間映射。
很多電子圖像失真或變換算法的主要設計目標是簡化硬件實現。這種目標通常導致對空間變換的復雜度或者非現實的變換描述的約束。例如,常用于圖像變形的一種方法是雙程法(two-pass method)?;陔p程法的專用變形系統(tǒng)包括Bennett等人的美國專利4,472,732中詳細描述的Ampex設備。所公開的方法適用于實時圖像處理系統(tǒng)的硬件實現,所述方法將2D映射圖(map)分解成一系列1D映射圖,1D映射圖只需要1D的濾波或重采樣。在1D中進行重采樣比在2D中簡單,允許優(yōu)化使用各種架構的硬件。但是,雙程法具有瓶頸效應,即,中間圖像的巨大壓縮,導致數據的丟失。在極端的情況下,可能丟失全部數據,例如,當區(qū)域被壓縮成線的區(qū)域。這種效應限制了可適用的幾何變換的類型。雙程法的其他問題包括產生中間過程的數據。
目前已經嘗試對雙程法進行各種改進,以解決這些問題,如發(fā)明人為Sayre的美國專利5,175,808和發(fā)明人為Wolberg等的美國專利5,204,944中所述,這些方法是基于逐個像素描述(即,查找表)。逐個像素描述要求較大的存儲空間,更重要的是,不允許用于附加數據處理的簡單手段。一旦圖像被變形,可能需要第二變換,也就是所謂的視圖縮放(zoom)操作。在逐個像素描述中,必須為視圖縮放變形重新生成整個網格,這是低效的,尤其是在視圖縮放是常用的特征時。
其他不需要基于雙程法的空間變換的算法,局限在某些映射類型如旋轉、線性比例縮放(scale)、仿射以及透視變換,如發(fā)明人為Fant的美國專利4,835,532、發(fā)明人為Kimata等的美國專利4,975,976、發(fā)明人為Hamburg的美國專利5,808,623以及發(fā)明人為Levien的美國專利6,097,855所述。一些現有技術嘗試使用物理存儲空間來識別數學坐標空間,這意味著,在硬件實現中,變換受存儲結構的組織的限制。此外,更多的變形算法不提供在不同的圖像部分應用獨立變換的簡單格式。復雜的映射如拓撲的改變(例如,從圓形圖像到矩形圖像)要求對不同的區(qū)域進行獨立的映射。
可通過使用2D表達,也就是使用2D濾波的單程法來消除這些缺陷?;?D表達的系統(tǒng)示例包括Orginc等的美國專利5,384,912中的視頻處理器和顯示單元,以及包括由Fairchild半導體公司制造的TMC2302A集成電路。但是,這些現有的方法是基于2D變換的受限子集的,因此它們不能表達一般的2D映射。尤其是這些系統(tǒng)都沒有提供對單個圖像的不同部分應用獨立的變換的方法。
發(fā)明內容
本發(fā)明一方面提供一種單程實現二維圖像變換的電子系統(tǒng),所述變換將具有輸入像素坐標的輸入圖像轉換成具有輸出像素坐標的輸出圖像,所述系統(tǒng)包括(a)用于獲取定義所述變換的幾何參數的幾何輸入接口,所述幾何參數包括描述平面屏幕和弧形屏幕的顯示光學、投影角、顯示板幾何學的透鏡參數以及用戶指定的參數;(b)連接到所述幾何輸入接口的網格變換生成器,用于產生將輸出像素坐標映射到輸入像素坐標的網格數據變換;(c)連接到所述網格變換生成器的面片幾何圖形生成器,其根據原始(underlying)幾何圖形將輸出像素坐標空間分割成多個對應的面片,每個面片具有關聯的網格數據集,所述面片幾何圖形生成器確定輸出空間的面片的邊界;(d)連接到所述面片幾何圖形生成器的曲面函數評估器,其將每個面片的網格數據集的參數確定為由曲面系數表達的曲面函數;以及(e)連接到所述曲面函數評估器的用于存儲所述曲面系數的輸出接口。
另一方面,本發(fā)明提供一種表達單程執(zhí)行二維圖像變換的方法,所述變換將具有輸入像素坐標的輸入圖像轉換成具有輸出像素坐標的輸出圖像,所述方法包括(a)獲取定義所述變換的幾何輸入參數,所述幾何參數包括描述平面屏幕和弧形屏幕的顯示光學、投影角、顯示板幾何圖形的透鏡參數以及用戶指定的參數;(b)基于所述幾何輸入參數產生將輸出像素坐標映射到輸入像素坐標的網格數據變換;(c)根據原始幾何圖形將輸出像素坐標空間分割成多個對應的面片,每個面片具有關聯的網格數據集,并確定輸出空間的面片的邊界;(d)將每個面片的網格數據變換的參數確定為由曲面系數表達的曲面函數,以及存儲所述曲面系數。
下面結合附圖的描述中,揭露了不同方面的更多細節(jié)以及本發(fā)明的實施例的優(yōu)點。
附圖中
圖1是根據本發(fā)明的優(yōu)選實施例構建的變形系統(tǒng)的方框圖;圖2是通用2D變換的圖形表示,其中對輸出圖像(P)的像素應用逆映射,以確定輸入圖像(P’)中對應像素的位置;圖3是示出了如何在圖1的系統(tǒng)中通過將面片邊界延伸成多行面片、多列面片或者面片陣列,以進行不規(guī)則面片和規(guī)則面片的分離;圖4A和圖4B是圖1的系統(tǒng)中使用的不連續(xù)的(圖4A)和連續(xù)的(圖4B)2D曲面的圖形表示;圖5示出了當輸入圖像和輸出圖像都比例縮放時,圖1所示的系統(tǒng)如何用于實現分辨率的變化;圖6是圖1所示的系統(tǒng)如何進行視圖縮放的示意圖;以及圖7是本發(fā)明的變換方法的通用流程圖。
具體實施例方式
首先參考圖1,圖1示出了根據本發(fā)明的優(yōu)選實施例構建的變形系統(tǒng)100的例子。變形系統(tǒng)100包括幾何輸入接口110、網格變換生成器120、面片(patch)幾何圖形生成器130、曲面函數評估器140、誤差分析級150、邊界框生成器160、分辨率/視圖縮放生成器170、數據重排級180以及輸出接口190。
變形系統(tǒng)100將網格數據(逐個像素)表達轉變成曲面函數表達,導致了有效的實時硬件實現。需要應用2D空間變換的任何系統(tǒng)都能夠使用變形系統(tǒng)100。變形系統(tǒng)100的使用范圍從糾正放映機、照相機和顯示設備中的小失真到糾正透視如梯形畸變或者空間廣角透鏡糾正,以及到圖像幾何的完全改變如從圓形360度的圖像形成矩形全景圖,或者從其他的矩形圖形成極坐標型映射。
幾何輸入接口110根據少量的幾何參數來獲得或者包括變換描述。這些參數從最高層次來描述(也就是說定義)變換。一些例子包括根據投影角度以及透鏡投影比例來描述梯形變換,或者根據徑向三次多項函數(在這種情況下,參數是是個四次多項式系數)描述透鏡糾正,或者根據顯示曲面的曲率半徑來描述顯示曲面。在極端的情況下,根據小幾何參數的封閉描述(closed description)不可用,可能需要使用數學描述來給出點的小子集的映射。
網格變換生成器120連接到幾何輸入接口110。網格變換生成器120使用從幾何輸入接口110獲得的輸入幾何參數來產生空間變換的網格數據描述,網格數據描述定義了對應的幾何映射,并提供變換后的新像素位置。網格變換生成器120使用逆映射變換,也就是規(guī)定輸出圖像中每個像素從何處映射到輸入圖像的空間變換。這種方法確保了按照輸出圖像的水平/垂直掃描線中每個輸出像素的處理順序,給每個輸出像素分配一個值。另一方面,正如所知道的,正向映射會在具有未分配像素的輸出圖像中留下“孔”。
參考圖2,圖2示出了將通用2D變換用圖像表達為,對輸出圖像坐標空間中的像素P應用逆映射以獲取輸入坐標空間中的輸入圖像的像素P’。通用變形會將點映射到輸入坐標空間中非整數位置。像素通常被模擬成具有有限區(qū)域的點,而不是精確的點,如每個格點周圍的打點空間所示。因此,輸出圖像中像素P作為區(qū)塊ABCD處理,區(qū)塊ABCD變形為輸入坐標空間中P’周圍的任意形狀ABCD。在輸入空間中,像素P,可看成重疊的像素1、2、3和4。
如圖2所示,輸入空間的原點以及輸出空間的原點定義為位于每個對應圖像的左上角,x正向朝右,y正向朝下。輸入和輸出圖像通常存儲到或寫入到存儲器形態(tài)的部件中,因此,本發(fā)明有時候將輸入圖像空間和輸出圖像空間分別稱為輸入存儲空間和輸出存儲空間。一般上,可通過下面形式的等式來總結來概述網格數據描述U=Fu(X,Y)(1)V=Fv(X,Y)這些等式規(guī)定,通過空間變換F=(Fu,Fv),將輸出圖像中的坐標為(X,Y)的像素映射到輸入圖像中坐標為(U,V)的像素。因此,網格數據集關系{(Ui,Vi),(Xi,Yi)}或者單個網格數據集,是輸出空間中的一組像素{(Xi,Yi)},該組像素{(Xi,Yi)}被反映射到輸入空間的像素{(Ui,Vi)}。如上所述,坐標{X,Y,U,V}是物理存儲器地址空間的坐標。這種關系如下表示
(U,V)←F(X,Y)]]> 有兩種常用的定義空間變換的方法。第一種方法是掌握或構建映射(Fu,Fv)的顯函數形式,這意味著我們具有用于空間變換的顯數學模型。第二種方法是,網格數據集關系{(Ui,Vi),(Xi,Yi)}給出了與輸出像素位置(Xi,Yi)對應的輸入像素位置(Ui,Vi),輸出像素位置(Xi,Yi)是已知的,或者可為部分或所有的輸出空間構建輸出像素位置(Xi,Yi)。輸出位置(Xi,Yi)是整數值,通常包括輸出存儲空間的規(guī)則采樣,而所映射的輸入像素位置(Ui,Vi)通常是非整數,如圖2所示。數學模型通常與幾何輸入接口110的少量幾何參數的描述有關,但是,網格數據集與少量點的數字描述有關。因為在數學模型方法中可以估計映射以獲得網格數據集,所以第二種方法更加通用。
網格數據集關系模型被認為是空間變換的“理想”表達(實際上,網格數據可能包括噪聲,這種情況下,“理想”是指接近)。但是,隨著數據集(或者函數)從圖像的一個區(qū)變化到另一個區(qū),這種描述可能非常復雜。直接基于這種表達的圖像變換系統(tǒng)是很難在軟件和硬件中實現的。當網格數據集{(Xi,Yi)}或者網格數據集關系{(Ui,Yi),(Xi,Yi)}跨越整個輸出空間時,網格數據分量本質上等于逐個像素的表示。在這種意義下,任何使用逐個像素(查找/替換表)描述的現有技術中,都暗含著使用網格數據集來表達2D空間變換。但是,逐個像素描述對于硬件實現是低效的。本發(fā)明的變形系統(tǒng)100將網格數據(逐個像素)關系表示變換成曲面函數表達。
在函數表示前經常進行的簡化是分離雙程處理的數據。如傳統(tǒng)方法所知道的,進行分離的主要好處是簡化相應的硬件實現。將比例縮放的數據分離成垂直和水平程(或數據集),允許使用1D濾波。但是,這犧牲了圖像質量,此外,不是所有的映射都是可分離的。在現有的存儲空間和速度的條件下,能夠有效地進行2D濾波的單程實現。這種實現的一個例子是sxT2芯片(由加利福尼亞州的圣何塞市的Silicon Optix公司制造)。因此,現有技術中從分離雙程處理得到的硬件優(yōu)勢被更重要的目標所取代,也就是保持圖像質量以及變換的靈活性。本發(fā)明的方法不使用分離,但是也允許有效的硬件實現,以及保持完整的靈活性來表達通用2D映射。因為該方法是單程的,所以所得到的圖像質量(在使用2D濾波時)要優(yōu)于使用雙程法的圖像質量。
為了全面的了解本發(fā)明的用途,了解掃描線處理是必要的,掃描線處理常用于評估輸出空間中的2D變換以簡化硬件處理。變換可能是現有技術中的雙程,或者像本發(fā)明一樣是單程的。在掃描線處理中,沿著行(水平)或/和列(垂直)有序地產生輸出像素。在一行/列完全生成之后,處理繼續(xù)至下一行/列。掃描線處理的一種變形是首先處理每行/列的一部分,如部分1,然后(在每行/列的部分1已經處理之后)返回處理部分2,以此類推。這種變形組合了兩種方向的掃描線處理。在輸出端的掃描線處理不限制輸入圖像數據所應用的處理類型。特別地,我們能夠使用2D濾波。
在輸出端使用掃描線處理的主要限制是輸入中(需要濾波的像素數據)的存儲訪問可能是隨機的。在輸出空間中臨近的像素(它們是幾乎逐一處理的)可能需要跨越大區(qū)域的輸入空間中數據,使得輸入存儲器訪問低效。在濾波時這會是一個問題(導致較慢的處理以及更長的延遲),但是遠不及在評估描述變換的曲面多項式時遇到的問題,而這就是本發(fā)明的要點所在。在本發(fā)明中,在輸出空間定義曲面多項式,不需要訪問輸入像素數據。
對于掃描線處理,需要定義輸出空間中所有像素的空間變換。這意味著從數據集描述轉變到能最近似于每個像素的理想映射(為采樣數據恢復所述每個像素,所述理想映射由已知的網格數據集關系給出)的函數描述。對于沒有明確地定義數學模型的區(qū)域,函數描述將推斷明確定義的數據或者將這些區(qū)域映射到背景。后一做法是可以接受的,因為數學模型中不清楚的區(qū)域總是對應背景像素。
圖3示出了面片幾何圖形生成器130的功能。面片幾何圖形生成器130產生矩形面片陣列,這些矩形面片定義在輸出空間中(圖2),在這些矩形面片上數據要進行曲面擬合。面片不必須具有相同的大小,但是在這個特定實現中,面片應該以規(guī)則的方式擬合在一起。該上下文中的術語“規(guī)則的”用于表示面片能夠排列成行和/或列。這不是限制性的,因為使用矩形面片進行的任何分割都能帶來規(guī)則的排列。圖3示出了規(guī)則的和不規(guī)則的分割。面片的數量由變形的復雜性、擬合誤差(下面會討論)的容差級、用于擬合的基本函數的類型以及其他的實現約束條件決定。原則上,面片可分配到四個臨近像素點的任何一組上,但是,這要求更大的存儲器來存儲這種空間變換。
曲面函數評估器140連接到面片幾何圖形生成器130,曲面函數評估器140產生網格變換的函數描述。常用于獲取空間變換的函數描述的方法是垂直地和/水平地擬合掃描線子集上的網格數據。這種擬合通?;谧钚∑椒剑哂型ǔJ嵌囗棓档幕竞瘮?。擬合掃描線的缺點是(a)需要存儲大量的數據,就是說,需要存儲每個擬合的掃描線的一組多項式系數;以及(b)因為是擬合單個掃描線,所以丟失了掃描線之間的變形的整體描述。特別是,如果沒有為每行或每列擬合掃描線,這是因為存儲器的限制而經常出現的情況,需要進行插值以獲得掃描線之間的網格數據。任何形式的不考慮變形的整體描述的插值,會導致像素位置的誤差,這種誤差可能是相當大的,這取決于變形的敏感性。
對兩個坐標的網格數據進行曲面擬合能夠解決上面的這些問題。曲面擬合應用于單程和雙程法,是描述2D空間變換的一種自然方式。它提供了準確的描述,同時結合了兩個方向上的幾何行為。當曲面擬合是通過多項式方法獲得時,意味著擬合描述單向掃描線擬合的多項式系數。雖然曲面提供了映射的完整2D描述,但是曲面的評估依然垂直地或水平地以掃描線的順序進行。因此,也能夠使用有效的掃描線算法實現基于曲面的描述。
現在參考圖1至圖3,表面函數評估器140使用選擇的基本集將每個矩形面片的網格數據擬合到曲面,選擇的基本集如下文所述。應當意識到,這種處理假定數據不是多次估值的,就是說,沒有出現重疊。對于實時硬件實現,最常用的擬合選擇是x和y的三階多項式曲面。曲面擬合將函數逼近到理想的數據集關系{(ui,vi),(xi,yi)}。曲面函數可表示為ui=Snu(xi,yi)等。輸出坐標空間的原點選擇為每個面片重新定義的相對原點。這意味著我們能夠將原點定義在每個面片的左上角。這減少了擬合和曲面評估涉及的數字范圍,這對于減少數值誤差尤其是在硬件算法單元中的數值誤差是重要的。
下面將更加詳細地描述基于多項式的方法的特定實現。多項數函數(以xiyi形式表示)是最常用于硬件實現的非平凡(non-trivial)函數。任何基于多項式的曲面,例如B樣條(B-spline)曲面,都可轉化成這種形式。下面的符號可用于各種擬合曲面uic=Snu(xi,yi)=Σk=0KΣl=0LSnu,klxikyil]]>vic=Snv(xi,yi)=Σk=0KΣl=0LSnv,klxikyil---(4)]]>這里,被評估的曲面上的坐標跨越整個面片,不僅僅跨越數據集中的采樣像素(用下標c表示已計算)。曲面的順序是x方向上的K和y方向上的L,K和L可以不同。曲面系數{Snu,kl,Snv,kl}可從擬合中獲得,唯一地定義所有面片上的曲面。
曲面擬合使從基于網格的表達即{(ui,vi),(xi,yi)}變換到基于曲面多項式(函數)的表達(對于面片n),例如u=Snu(x,y)Σk=0KΣl=0LSnu,klxkyl,]]>對于v也類似,如上所述。僅僅需要存儲(所有曲面/面片的)曲面系數Snu,kl,而不需要存儲眾多的網格數據關系點{(uivi),(xi,yi)}。接著,評估曲面以確定逆映射的像素位置。擬合過程確定了曲面系數??梢允褂貌煌姆椒ê蛿M合函數來擬合數據,但是最常用的是用于擬合的最小平方法(the Least Squaremethod)。
圖4是示出了由曲面函數評估器140產生的兩個2D濾波的曲面,它們基于將輸出坐標空間分割成四個矩形面片的陣列。這里,圖4A所示的曲面是不連續(xù)的,而圖4B所示的曲面是連續(xù)的,——后面將會討論不連續(xù)的情況。
誤差分析級150一旦得到了2D數據集中每個輸出坐標點的曲面,就評估相關的曲面函數以獲得uic和vic值。誤差分析級150將這些值與獨立地從網格變換生成器120得到的2D網格描述中的精確坐標(ui,vi)進行比較。接著,它確定是否滿足預定的容差級條件(|uic-ui|,|vic-vi|)。如果不滿足預定的容差級條件,誤差分析級150將誤差分析結果回發(fā)給面片幾何圖形生成器130。面片生成器130基于這些結果再分這些面片。僅僅再分那些誤差大于容差級的面片。面片的再分保持了矩形陣列的規(guī)則性。進行再分的主要候選面片是包含大量背景的面片。通常,映射到背景、輸入坐標空間外的像素的擬合誤差較大。在這種情況下,那些點應該關聯到獨立的面片,采用將這些點映射到背景的方式進行擬合。接著,獨立擬合有關的非背景區(qū)??芍貜瓦@些步驟直至獲得理想的精確度。應當意識到,對于指定的實現,曲面函數是不變的。
在本發(fā)明的實施例中,通過梯度搜索和/或隨機搜索來完成優(yōu)化面片幾何的處理。在面片邊界位置的矢量空間進行搜索。對于M×N的面片陣列,有M+1個y向邊界(垂直的)和N+1個x向邊界(水平的),矢量空間的維度是M+N+2。
在梯度搜索中,沿著步進矢量 選擇面片邊界的起始配置(矢量),用 表示。在 和 上進行擬合和誤差分析。如果 的誤差更小,就保留 并使用 和 重復該過程。如果誤差相等或者更大,就保留 并選擇新的步進矢量 接著使用 和 重復該過程。步進矢量可基于誤差的變化進行調整。對于大的變化,使用更大量級的步進;對于小的變化,使用更小的步進。面片幾何圖形生成器130確保在矢量空間的所有可能方向上進行搜索以確保搜索不僅限于本地誤差的最小值。迭代的數量取決于允許用于搜索的時間。在所有適用的面片陣列數例如1×1面片陣列、1×2面片陣列、2×1面片陣列等上進行梯度搜索,直到達到預定的最大陣列為止。
隨機搜索從面片邊界的矢量空間上隨機地選擇邊界矢量 可以在各種約束下選擇這些矢量,如強制最小/最大的面片大小等。在保持給出最小誤差的一個矢量的情況下,計算誤差以擬合矢量 如梯度搜索一樣,隨機搜索在所有可能的面片陣列數上進行。在本發(fā)明的一個實施例中為大多數的變換進行基準測試,如下所解釋的,20次迭代已足夠獲得誤差上的10倍的降低(對于指定的面片陣列數)。
在本發(fā)明的另一個實施例中,減少誤差的有效和穩(wěn)健方法包括組合梯度搜索和隨機搜索。首先使用隨機搜索來獲得矢量 將誤差最小化。接著,該矢量用作梯度搜索的起始矢量,b→0≡b→Rn.]]>其中,梯度搜索還用于提煉隨機搜索獲得的結果。一些隨機/梯度(組合)搜索也用于確保已經為誤差最小化的面片幾何圖形徹底探測了面片邊界空間。
需要強調與上述曲面表達有關的一些重點。如果需要,將每個面片作為獨立的輸出坐標空間處理,將每個面片的數據集作為獨立的2D變換處理。特別地,可以獨立地擬合每個面片,這表明輸出圖像不必須是連續(xù)的。圖4A和圖4B示出了面片上不連續(xù)的和連續(xù)的曲面擬合的例子。圖4A中所示的四個面片可再分以改善擬合。具體地,1024×768的x-y的輸出空間可分割成4個面片,它們的表面(u(x,y)已經用虛線表示。在圖4A中,曲面是不連續(xù)的相交曲面。每個面片具有獨立的數據集,這些數據集獨立于相鄰的數據集進行擬合。在圖4B中,曲面是在各片面間是連續(xù)的,在這種情況下,任何面片的擬合需要確保連續(xù)性。
對于保持各片面邊界間的圖像連續(xù)性的常見情形,可以使用明確允許或者使用連續(xù)性約束的基本函數。在2D中控制連續(xù)性的最出名的函數是B樣條(B-spline)和貝塞爾(Bezier)曲面。這兩種類型的曲面都可以用于獲得需要的連續(xù)度(用數學意義的Ci連續(xù)函數表示)。對于B樣條,使用張量積(tensor pruduct)法在M×N陣列面片上擬合曲面,可從樣條節(jié)點輕易獲得面片分界線,反之亦然。通過調整節(jié)點的順序,能夠容易地控制B樣條曲面的連續(xù)性。通過雙立方的B樣條,能夠實現高達C2的連續(xù)性,這種連續(xù)性足以滿足所有目的。(通常C1是需要獲得平滑圖像所需要的。)不連續(xù)曲面,也就是獨立的面片,可看成B樣條的特定情況,具有合適的節(jié)點順序。樣條也可以寫成具有相對原點的本地多項式形式(在每個面片上),這自然地變成基于多項式的硬件實現。B樣條擬合的工具可用于很多的數字的/數學的計算軟件包。另外,每個獨立的面片都能夠與不同的操作關聯。基于面片的(在片面邊界間任意連續(xù)的)曲面描述都允許非常復雜的2D空間變換的表達。
一般2D空間變換的完整表達由應用到每個面片的以下數據提供1)面片的幾何圖形(面片原點的絕對位置、面片大小)2)描述曲面與網格數據的擬合關系的曲面系數這種表達提供了定義2D映射的統(tǒng)一格式。將這種表達向2D圖像變換系統(tǒng)的實時硬件實現進行調整。在硬件實現中,按照掃描線順序評估曲面多項式,將位置和導數信息(derivative information)傳遞給處理濾波器。(從位置曲面提取導數是很容易的。)由于映射由完整的函數形式提供,所以完整的幾何數據(各種階的導數)能很容易地用于濾波級。
隨著映射復雜度的增加,面片的數量以及包含在上述(1)和(2)表達的數據量也增加。數據與映射的復雜性成比例,不隨著總體格式發(fā)生變化。面片數量的增加也有助于減少濾波誤差。原則上,通過連續(xù)地再分面片陣列,可將最大濾波誤差減少到任意小的水平。但是,在實踐中,多少空間(存儲量)可用于存儲數據(每個面片都有與它相關的數據分量(1)和(2)關聯)的約束,會限制面片的數量。通過平衡存儲器要求以及誤差最小化(容差水平),將確定最終的面片陣列大小。
現實中感興趣的大多數2D變換都不要求高分辨率的面片網格(patchmesh)。為了量化面片大小以及誤差問題,使用上述格式研究了一些2D映射。它們包括(i)一般的透鏡失真,例如徑向枕形畸變和桶形失真;(ii)投影映射,如豎直/水平梯形畸變糾正和在曲面上投影;(iii)結合線性放大的旋轉;(iv)上述的組合;更加復雜的映射如(v)弧形光柵映射;(vi)糾正廣角/360度/全景圖像(使用魚眼鏡頭或者特殊的360度成像系統(tǒng)獲得)。
我們使用的是階為3的多項式曲面(K=L=3),這意味著每個面片具有16個曲面系數。誤差極限設為0.5像素。對于變換(ii)到(iv),最多需要4個面片。這相當于使用不超過128個曲面系數來定義整個映射。如果曲面系數存儲為4字節(jié)的浮點型,那么數據大小相當于不超過512字節(jié)。這是非常合理的數目,容易為板上/片上存儲器所接受。
對于變換(i)和(v),(對于兩個坐標)最多需要26個面片,數據大小不超過1.625K字節(jié)(Kbytes),同樣易于當前板上/片上存儲器處理。對于變換(vi),透視糾正到90度寬的視圖,最多需要18個面片,或者不超過1.125Kbytes。如果使用了表達的完整功能性,那么,可對變換(vi)獲得的圖像應用復雜的變換。例如,來自兩個180度的魚眼鏡頭的圖像可變換成縫合的360度全景圖,另外,可將特定區(qū)域的兩個拍攝成90度的視圖糾正成透視圖。這種變換對應于大約6次映射(360/90+2),每個映射變換特定的90度的區(qū)域,給出不超過6.725Kbytes的數據大小。最近幾年中,這種特效的基于廣角/360度的變換變得流行,尤其在安全應用領域。因此,顯然,上面提到的這些結果能夠表示通用的2D變換,具有合理的數據大小(數據大小與復雜性成線性比例)以及子像素的準確度。
通過補償具有邊界框數據的圖像變換數據,可以獲得其他的硬件優(yōu)化。由邊界框生成器160產生的邊界框數據,用于減少不必須的硬件處理。如上所述,輸出空間中的大區(qū)域通常對應于背景像素(要注意,在變換時應用這個特征會壓縮輸入圖像,在使用2D濾波時,這對硬件資源最敏感的)。在這些像素位置,不需要評估曲面,也不需要執(zhí)行濾波,——所需要的就是應設為背景顏色的像素顏色。為了讓硬件快速地(即,不需要評估曲面)識別大量的背景像素,每個面片都讓它與矩形邊界框相關聯。邊界框由其在輸出空間中的左上部坐標(xLB,yLB)、右底部坐標(xRB,yRB)簡單定義。僅僅處理坐標位于邊界框內即xLB≤xi≤xRB]]>和yLB≤yi≤yRB]]>的那些輸出像素(即,評估曲面,且像素的顏色值由2D濾波決定),其中,邊界框外的這些像素僅被簡單分配背景顏色。這消除了很多循環(huán)冗余處理。
不是所有的背景像素都以這種方法識別,因為非背景像素的邊界通常不是矩形的。但是,通過較細地分割邊界框,可能每個面片多于一個邊界框,那么可使用矩形的邊界框來緊密接近背景像素的邊界,這需要使用更多的存儲(用于存儲邊界框坐標)。對于大多數變換,邊界框數據不是必需的,對于極端的變形,每個面片具有一個邊界框就足夠了。
如果不使用邊界框數據,可以使用更標準的方法來消除不需要的處理。在標準方法中,評估所有輸出像素的曲面并進行檢查以確定所得到的坐標是否落在輸入空間中。如果坐標位于輸入空間內,那么,照常進行處理,就是說,通過2D濾波確定輸出像素的顏色值。如果坐標位于輸入空間外,那么,給這些像素簡單地分配背景顏色,不進行2D濾波。在這里,雖然沒有評估曲面,但是濾波器不需要處理這些數據,因此得到的好處是值得考慮的。另外,因為非背景像素的邊界完全由在輸入空間上的曲面映射確定,所以可非常準確地確定非背景像素的邊界。
變形系統(tǒng)100的圖像變換確定用于描述2D圖像變換的完整的參數組。這些數據,在本發(fā)明的一個實施例中,由分辨率/視圖縮放級170使用,以及接著由數據重排級180使用。在這些級之前,邊界框生成器160考慮來自面片幾何圖形生成器130和曲面函數評估器140的潛在面片幾何圖形以及曲面系數,在輸出端確定映射表示。
如圖5和圖6所示,分辨/視圖縮放生成器170可用于改變分辨率和視圖縮放輸入/輸出圖像的效果,以及使用上述的圖像參數。在使用變形系統(tǒng)100的圖像變換的基于位置的表示時,通過簡單地對系數進行比例縮放,能夠容易地將空間變換調整到不同的分辨率。圖5示出了分辨率變化操作設計的步驟,其中,輸入和輸出圖像都是被比例縮放的。輸入/輸出坐標的獨立比例縮放可表示為x→x′=r1x,y→y′=s1y(5)u→u′=r2u,v→v′=s2y常量{r1、s1、r2、s2}給出比例縮放系數,質數表示比例縮放的坐標。通過比例縮放的坐標,曲面可表達如下v′=s2Snv(x′/r1,y′/s1)=s2Σk=0KΣl=0LSnv,kl(x′/r1)k(y′/s1)l---(6)]]>u′=r2Snu(x′/r1,y′/s1)=r2Σk=0KΣl=0LSnu,kl(x′/r1)k(y′/s1)l---(7)]]>比較標準形式v′=Σk=0KΣl=0LSnv,kl′(x′)k(y′)l---(8)]]>u′=Σk=0KΣl=0LSnu,kl′(x′)k(y′)l---(9)]]>比例縮放變換的新曲面系數是Snv,kl′=s2r1ks1lSnv,kl---(10)]]>Snu,kl′=r2r1ks1lSnu,kl---(11)]]>
因此,為調整輸入和輸出分辨率的變化,要使用系數對所有的系統(tǒng)進行比例縮放。這是相對簡單的操作,不需要濾波或插值。但是,應當意識到,面片幾何(即,面片大小和面片原點的絕對位置)必須由變形系統(tǒng)100進行適當的比例縮放。
圖6示出了由變形系統(tǒng)100在圖像變換中生成視圖縮放映射圖所涉及的步驟?;据斎雸D像、基本輸出圖像以及比例縮放的基本輸出圖像示出了基本變形以及將要進行視圖縮放的區(qū)域。首先比例縮放基本輸出圖像(也就是產生基于比例縮放的輸出圖像),接著提取/裁剪感興趣的區(qū)域(該區(qū)域已經被比例縮放操作進行適當的視圖縮放)來產生視圖縮放變形。視圖縮放映射對應于新輸入圖像和新輸出圖像之間的變換。視圖縮放(zoom)操作與比例縮放(scale)到不同分辨率類似,不同之處在于能夠對特定區(qū)域進行放大/縮小,這意味著具有移動圖像能力(panning capability)。可以在輸入圖像空間上(變換之前)或者輸出圖像空間(變換之后)上定義視圖縮放操作。在下面變形系統(tǒng)100的示范應用中,我們討論在輸出圖像空間上進行視圖縮放。視圖縮放系數K大于1(對于K=2,我們具有2倍的視圖縮放,等),其他情況的處理方式類似。
考慮稱為基本映射(Base Map)的變換(圖6),基本映射將分辨率為W0xH0的輸入圖像變形為分辨率為W1×H1的輸出圖像。在輸出上的視圖縮放操作意味著我們想要放大基本圖像的輸出空間的矩形區(qū)域。該區(qū)域由它的尺寸 以及它左上角的絕對位置( )指定。新的視圖縮放圖中的輸出圖像的尺寸為 視圖縮放操作可分解為2步驟。首先,使用系數K比例縮放基本輸出圖像,這實際上是與比例縮放到新輸出分辨率KW1×KH1一樣的操作。第二,在更大的精比例縮放的圖像中,提取位于( )的大小為 的視窗并作為新的輸出圖像進行顯示。就這樣,裁剪了經比例放大的圖像,僅留下感興趣的區(qū)域。視圖縮放映射是將W0×H0的輸入圖像映射到的新的經比例縮放并裁剪的 輸出圖像的2D空間變換。新的輸出空間上的坐標系統(tǒng)可標記為(x″,y″)。符號(u″,v″)用于新映射的輸入坐標系統(tǒng),所述輸入坐標系統(tǒng)通常保持基本變形不變。要回想到,(輸出空間中)每個面片的坐標是相對于每個面片的左上角的原點進行定義的。在后面的計算中,我們也需要使用到絕對坐標。下標A將表示絕對坐標,例如(xA,yA)。
在數學上,視圖縮放中第一步驟是乘法操作,第二步驟是移位或加法操作。在基本空間和新輸出空間中絕對位置是yA′′=KyA-Ky-A]]>xA′′=KxA-Kx-A---(12)]]>或xA=(xA′′+x-A)/K]]>yA=(yA′′+y-A)/K---(13)]]>因為這些等式可替換成曲面表達式,所以我們需要將它們轉換成相對位置。這是不太重要的,因為第二步驟引入了之前的簡單分辨率變化操作沒有看到的其他因素。移動比例放大后的圖像的原點以及提取 大小的視窗,將導致很多像素/點位于輸出圖像外。當涉及到新的變形時,這些點不存在。類似地,部分面片或者完整的面片可能位于該圖像視窗外。這意味著,對于視圖縮放圖,面片分割應該不同。應該僅僅保留位于 大小的視窗內的這些面片或部分面片??赏ㄟ^觀察面片角落的新(絕對)位置來找到那些應該包含的面片或部分面片。因為我們從矩形面片的規(guī)則網格開始,所以視窗是矩形的,也保證新的面片分割是規(guī)則矩形的。
基本映射中第n個面片的左上角(用指數1表示)和右下角(用指數2表示)被標記為(這些是絕對位置,雖然為了簡潔而省略了下標A){(x1n,y1n),(x2n,y2n)} (14)這些點被映射到新空間中的新角點x{(x1n″,y1n″),(x2n″,y2n″)} (15)新的面片尺寸由以下式子給出W(n)=Minimum(x2n′′,Kw-1)-Maximum(x1n′′,0)(newpatchwidth)]]>新的面片寬度H(n)=Minimum(y2n′′,Kh-1)-Maximum(y1n′′,0)(newpatchheight)]]>新的面片高度如果面片的新寬度或高度小于或等于0,那么,該面片被排除在新映射外。如果面片的寬度和高度都大于0,那么,該面片就包含在視圖縮放變換中。所包括的面片的絕對位置(即,左上角)需要重新計算,因為面片可能是部分包括的。新位置由下面式子給出x-1n′′=Maximum(x1n′′,0)]]>y-1n′′=Maximum(y1n″′,0)---(17)]]>被保留的每個面片都具有新的面片幾何圖形(位置和大小),如下{(x-1n′′,y-1n′′),W(n),H(n)}---(18)]]>知道新的幾何圖形后,等式(12)和(13)可轉換成新的輸出空間的相對原點表示(省掉了面片索引)x=1K(x′′+x-1′′+x-A-Kx1)]]>y=1K(y′′+y-1′′+y-A-Ky1)---(19)]]>最后,它們可替換成基本映射的曲面表達,即展開式(20)u′′=Σk=0KΣl=0LSnu,klKk+l(x′′+x-1′′+x-A-Kx1)k(y′′+y-1′′+y-A-Ky1)l]]>v′′=Σk=0KΣl=0LSnv,klKk+l(x′′+x-1′′+x-A-Kx1)k(y′′+y-1′′+y-A-Ky1)l---(20)]]>將它們與標準形式比較,可發(fā)現能夠以直接的方式提取新的曲面系數。這些系數以及面片幾何圖形,完整地定義了視圖縮放變換。
數據重排級180用于專門的圖像處理系統(tǒng),其中,需要進一步重排表達數據。曲面多項式的評估以多種方式進行,其中的細節(jié)(例如,所使用的加法和乘法的數目及其順序)取決于硬件或軟件架構。例如,評估多項式的通用硬件方法是使用霍而耐(Horner)法(本發(fā)明使用具有通用符號的第三階多項式)ax3+bx2+cx+d=((ax+b)x+c)x+d(21)可使用類似的技術來評估曲面。曲面可重寫成S=Σk=03Σl=03Sklxkyl=Σk=03xk(((Sk3y+Sk2)y+Sk1)y+Sk0)]]>={{(((S33y+S32)y+S31)y+S30)x3+]]>(((S23y+S22)y+S21)y+S20)}x2+]]>(((S13y+S12)y+S11)y+S10)}x+]]>(((S03y+S02)y+S01)y+S00)---(22)]]>該曲面可作為x的多項式處理,該x多項式的系數是y的多項式。使用Horner法來評估每個多項式(總共5個多項式)。對于每個水平掃貓線(行),(對于每個面片)y多項式僅僅需要評估一次。表達式(22)也可以用于垂直掃描線。在這種情況下,應該為每個面片的第一垂直掃描線評估和存儲y的多項式。接著,這些y多項式可用于保留每個面片的垂直掃描線,因為y多項式獨立于掃描線的x位置。這增加了處理速度,并將變換作為直接與x相關的1D位置多項式處理,與y具有隱式的相關性,如該1D位置多項式所表示,它們是y的多項式。替換地,可將曲面作為y的多項式處理,該y的多項式的系數是x的多項式。根據各種實現,其他的方法可能更適用于指明存儲器訪問/存儲和算術單元。
評估多項式表達的另一種標準技術是使用前向差分。但是,前向差分評估會累積誤差。前向差分的主要好處是降低硬件的復雜性(特別是減低乘法器和使用定點的可能性)。如果面片尺寸在掃描線方向是小的,且合理位數的數值精度是可用的,那么,累積誤差可能較小。
圖7示出了本發(fā)明的邏輯流程圖700。步驟710中,所產生的網格數據集包括成對的坐標,這些坐標將每個輸出像素映射到輸入像素(逆映射)。步驟720中,根據潛在幾何圖形和變形的復雜度產生面片幾何圖形。步驟730中,通過曲面擬合來近似網格數據集描述,并產生曲面系數。
在這里,曲面數據以及面片數據已經生成。在步驟740分析這些數據,在步驟750將這些數據與步驟710中產生的網格數據集的精確坐標進行比較。如果通過面片幾何圖形和曲面擬合產生的近似像素的誤差大于預定的容差水平,步驟752中,該信息用于再分步驟720的面片幾何圖形。繼續(xù)這種循環(huán)直到誤差落入容差水平為止。
一旦誤差分析步驟得到滿足,那么,在760中確定輸出圖像的有效區(qū)域,提取包含所述有效區(qū)域的邊界框。這是為了限定對這些區(qū)域進行處理,以節(jié)省處理時間。
步驟770中,通過比例縮放曲面系數產生可能進行分辨率變化和視圖縮放的映射,以統(tǒng)一執(zhí)行這些操作和變形變換。步驟780中,重排這些變換,其方式使得通過減少乘法器的數量來提高硬件實現的效率。
與現有的圖像變換方法相比,本發(fā)明的變形系統(tǒng)100提供一些顯著的優(yōu)點。首先,變形系統(tǒng)100使用掃描線處理、具有較小的存儲器要求,具有基于簡易多項式的表達,是實時圖像變換系統(tǒng)的有效硬件實現。它以統(tǒng)一的方式表達任何變換。變換基于輸出空間的曲面-面片描述(逆映射形式),提供一種封閉型的解決方案,可容易地使用這種解決方案來產生其他的效果。所有的變換都包括指定面片幾何圖形和曲面系數的參數。逐個描述可看成曲面-面片描述的極限情況,在這種極限情況中,曲面被擬合成四個像素。
變形系統(tǒng)100也提供空間變換的描述,所述空間變換隨著復雜性而自然比例縮放。變換越復雜,需要的面片數越多。就是說,幅面尺寸(format)是不變的,描述性參數線性增加。特別地,不需要將其他特征引入到表達中。這種表達通常足夠表現現實中感興趣的復雜的變換。
變形系統(tǒng)100也產生不同的輸入/輸出分辨率的變換。因為描述是由封閉函數形式給出,不是由逐個像素形式給出,所以很多變形特征變成了參數的簡單數學運算??赏ㄟ^比例縮放曲面系數來輕松計算分辨率的變化。另外,變形系統(tǒng)100提供用于視圖縮放和移動圖像的有效機制。與分辨率的變化類似,視圖縮放和移動圖像意味著曲面系數的線性變換。不需要重新生成網格數據。一旦計算了“基本”映射,就能直接修改基本描述中的參數以實現標準比例縮放和移位變換。
與“理想”描述相比,變形系統(tǒng)100具有非常小的數值誤差。誤差主要依賴于面片網格的分辨率。通過增加面片的數量,可將誤差降到任意小。對于廣角濾波器而言,除了中心點之外,進一步減少誤差對圖像質量具有可忽略的影響。誤差容差級通常由存儲器的約束所限制。另外,如果基本函數變化,那么,通過選擇適合的擬合基線,對于特定的變形,誤差的影響是可忽略的。
變形系統(tǒng)100要求較小的用于描述空間變換的存儲空間(即,數據文件大小),使得本方法對硬件實現是有吸引力的。對于實踐中感興趣的多數變換,可通過較小數量的面片獲得子像素的準確結果。在這種情況下,數據文件大小主要包括少量的曲線系數,而不是大的逐個像素的位置表。
變形系統(tǒng)100對圖像的不同部分應用獨立的變換,以獲得非常通用的映射。每個面片(及其數據)可做為獨立的子映射被處理,這允許對圖像的不同區(qū)域進行獨立的變換。這種變換不需要使用單個連續(xù)的曲面進行全局定義。不同的映射可以組合或者“縫合”在一起以形成具有相同格式的單個映射。為了優(yōu)化的結果,變形系統(tǒng)100結合完善建立的幾何模型技術例如B樣條和貝塞爾曲面擬合。根據需要,使用各種數字/數學混雜的技術來生成曲面系數。B樣條和貝塞爾曲面自然地適用于本發(fā)明的框架。這些曲面提供了對各面片間連續(xù)的曲面的精確控制。也可以容易地從樣條曲面的節(jié)點序列進行面片分割。在最小平方擬合技術中使用這些曲面,對于常用的簡單變形,產生曲面描述的過程可以是自動化的。
變形系統(tǒng)100的一個特定實現允許非矩形的面片,這種特定實現通過使面片幾何形狀變得復雜,對擬合進行更多的控制。在本發(fā)明的這個實施例中,用參數邊界曲線描述面片幾何圖形。參數表示可以是一種坐標,坐標的選擇取決于邊界曲線的方向。對于矩形面片,這些邊界是簡單的垂直線的和水平線。任何形狀的面片,結合上述的其他特征,提供了高度的靈活性以產生大體上非常復雜的2D圖像變形。
在另一種實現中,變形系統(tǒng)100使用矩形面片,但是它也考慮了限制邊界面片的評估域的邊界曲線,也就是作為圖像和背景區(qū)域的邊界的面片。在這種方式下,僅在位于由邊界曲線確定的域內的面片或者部分面片上進行所有的計算。這有助于將擬合約束到明確定義的區(qū)域。
上述的方法可擴展到包括多程以支持圖像曲面的分層。圖像數據可包括按照圖像亮度和色度數據進行重采樣的深度信息。深度信息用于分層處理以確定每個像素的可見性或遮擋。曲面不需要是相同大小的,可以是重疊的或非重疊的。
正如本領域技術人員所意識到的,在不脫離本發(fā)明的情況下,可以對上述的結構進行各種變化和修改。本發(fā)明的范圍由所附的權利要求定義。
權利要求
1.一種單程實現二維圖像變換的電子系統(tǒng),所述變換將具有輸入像素坐標的輸入圖像轉換成具有輸出像素坐標的輸出圖像,其特征在于,所述系統(tǒng)包括(a)用于獲取定義所述變換的幾何參數的幾何輸入接口,所述幾何參數包括描述平面屏幕和弧形屏幕的顯示光學、投影角、顯示板幾何圖形的透鏡參數以及用戶指定的參數;(b)連接到所述幾何輸入接口的網格變換生成器,用于產生將輸出像素坐標映射到輸入像素坐標的網格數據變換;(c)連接到所述網格變換生成器的面片幾何圖形生成器,其根據潛在的幾何圖形將輸出像素坐標空間分割成多個對應的面片,每個面片具有關聯的網格數據集,所述面片幾何圖形生成器確定輸出空間的面片的邊界;(d)連接到所述面片幾何圖形生成器的曲面函數評估器,其將每個面片的網格數據集的參數確定為由曲面系數表達的曲面函數;以及(e)連接到所述曲面函數評估器的、用于存儲所述曲面系數的輸出接口。
2.根據權利要求1所述的系統(tǒng),其特征在于,還包括連接到所述曲面函數評估器、所述面片幾何圖形生成器、所述網格變換生成器的誤差分析級,所述誤差分析級用于執(zhí)行網格誤差分析以確定在選擇的坐標點上的一組曲面函數的評估值與網格數據描述中對應的坐標點之間的差異是否在預定的容差內,如果不在,就將誤差分析的結果發(fā)送給所述面片幾何圖形生成器,以進一步再分所述面片網格以實現更高的分辨率。
3.根據權利要求1所述的系統(tǒng),其特征在于,還包括邊界框生成器,用于生成圖像有效區(qū)域周圍的邊界框以減少與非有效區(qū)域有關的處理。
4.根據權利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)用于確定曲面坐標是否落入輸入空間內,如果沒有落入,所述系統(tǒng)還用于防止對輸出像素的數據進行進一步的處理。
5.根據權利要求1所述的系統(tǒng),其特征在于,所述曲面函數評估器通過多項式表達曲面函數。
6.根據權利要求5所述的系統(tǒng),其特征在于,所述多項式是三階多項式。
7.根據權利要求6所述的系統(tǒng),其特征在于,所述曲面函數評估器通過最小平方法使用張量積雙立方樣條擬合所述多項式。
8.根據權利要求6所述的系統(tǒng),其特征在于,所述曲面函數評估器通過提出不同冪的系數來計算多項數以減少乘法運算。
9.根據權利要求1所述的系統(tǒng),其特征在于,通過梯度搜索優(yōu)化所述面片分割。
10.根據權利要求1所述的系統(tǒng),其特征在于,通過隨機搜索優(yōu)化所述面片分割。
11.根據權利要求1所述的系統(tǒng),其特征在于,通過梯度搜索和隨機搜索的組合來優(yōu)化面片分割,其中,所述隨機搜索首先找到優(yōu)化幾何圖形,接著所述梯度搜索微調所述優(yōu)化幾何圖形。
12.根據權利要求1所述的系統(tǒng),其特征在于,還包括分辨率變化級,其改變所確定的曲面系數以適應分辨率變化而不重復變形操作。
13.根據權利要求1所述的系統(tǒng),其特征在于,還包括視圖縮放級,其改變所確定的曲面系數以適應分辨率變化而不用重復變形操作。
14.根據權利要求5所述的系統(tǒng),其特征在于,通過將曲面作為x的多項式處理來進行曲面擬合,所述x的多項式的系數是y的多項式。
15.根據權利要求1所述的系統(tǒng),其特征在于,其獨立地擬合單個矩形的子面片。
16.根據權利要求1所述的系統(tǒng),其特征在于,所述曲面函數評估器用于將每個面片的坐標原點重定義到面片上,以減少用于擬合坐標的數值范圍。
17.根據權利要求1所述的系統(tǒng),其特征在于,其用于糾正光學非線性,包括枕形和桶形透鏡失真。
18.根據權利要求1所述的系統(tǒng),其特征在于,其用于糾正投影失真,包括梯形畸變失真。
19.根據權利要求1所述的系統(tǒng),其特征在于,其用于在曲線表面上進行投影。
20.根據權利要求1所述的系統(tǒng),其特征在于,用于使用廣角透鏡的全景視覺系統(tǒng)。
21.根據權利要求1所述的系統(tǒng),其特征在于,其用于糾正權利要求17、18、19和20中所述的組合失真。
22.根據權利要求1所述的系統(tǒng),其特征在于,還用于包括分層的圖像曲面以包括按照圖像亮度和色度數據進行重采樣的深度信息,所述深度信息用于分層處理以確定每個像素的可見性或遮擋。
23.一種表達二維圖像變換以單程執(zhí)行的方法,其特征在于,所述變換將具有輸入像素坐標的輸入圖像轉換成具有輸出像素坐標的輸出圖像,所述方法包括(a)獲取定義所述變換的幾何輸入參數,所述幾何輸入參數包括描述平面屏幕和弧形屏幕的顯示光學、投影角、顯示板幾何圖形的透鏡參數以及用戶指定的參數;(b)基于所述幾何輸入參數產生網格數據變換,從而將輸出像素坐標映射到輸入像素坐標;(c)根據潛在的幾何圖形將輸出像素空間分割成多個對應的面片,每個面片具有關聯的網格數據集,所述面片幾何圖形生成器確定輸出空間的面片的邊界;(d)將每個面片的網格數據變換的參數確定為由曲面系數表達的曲面函數,以及(e)存儲所述曲面系數。
24.根據權利要求23所述的方法,其特征在于,還包括執(zhí)行網格誤差分析以確定在選擇的坐標點上的一組曲面函數的評估值與網格數據描述中對應的坐標點之間的差異是否在預定的容差內,如果不在,就進一步再分所述面片網格以實現更高的分辨率。
25.根據權利要求23所述的方法,其特征在于,還包括生成圖像有效區(qū)域周圍的邊界框以減少與非有效區(qū)域有關的處理。
26.根據權利要求23所述的方法,其特征在于,還包括確定曲面坐標是否落入輸入空間內,如果沒有落入,所述系統(tǒng)還用于防止對輸出像素的數據進行進一步的處理。
27.根據權利要求23所述的方法,其特征在于,通過多項式表達曲面函數。
28.根據權利要求27所述的方法,其特征在于,所述多項式是三階多項式。
29.根據權利要求28所述的方法,其特征在于,通過最小平方法使用張量積雙立方樣條擬合所述多項式。
30.根據權利要求28所述的方法,其特征在于,通過提出不同冪的系數來計算多項數以減少乘法運算。
31.根據權利要求23所述的方法,其特征在于,通過梯度搜索優(yōu)化所述面片分割。
32.根據權利要求23所述的方法,其特征在于,通過隨機搜索優(yōu)化所述面片分割。
33.根據權利要求23所述的方法,其特征在于,通過梯度搜索和隨機搜索的組合來優(yōu)化面片分割,其中,所述隨機搜索首先找到優(yōu)化幾何圖形,接著所述梯度搜索微調所述優(yōu)化幾何圖形。
34.根據權利要求23所述的方法,其特征在于,還包括改變所確定的曲面系數以適應分辨率變化而不重復變形操作。
35.根據權利要求23所述的方法,其特征在于,還包括改變所確定的曲面系數以適應分辨率變化而不用重復變形操作。
36.根據權利要求27所述的方法,其特征在于,通過將曲面作為x的多項式處理來進行曲面擬合,所述x的多項式的系數是y的多項式。
37.根據權利要求23所述的方法,其特征在于,獨立地擬合單個矩形的子面片。
38.根據權利要求23所述的方法,其特征在于,將每個面片的坐標原點重定義到面片上,以減少用于擬合坐標的數值范圍,以有效地進行硬件實現。
39.根據權利要求23所述的方法,其特征在于,其用于糾正光學非線性,包括枕形和桶形透鏡失真。
40.根據權利要求23所述的方法,其特征在于,其用于糾正投影失真包括梯形畸變失真。
41.根據權利要求23所述的方法,其特征在于,其用于在曲線表面上進行投影。
42.根據權利要求23所述的方法,其特征在于,其用于使用廣角透鏡的全景視覺系統(tǒng)。
43.根據權利要求23所述的方法,其特征在于,其用于糾正權利要求39、40、41和42中所述的組合失真。
44.根據權利要求23所述的方法,其特征在于,還對圖像曲面進行分層以包括按照圖像亮度和色度數據進行重采樣的深度信息,所述深度信息用于分層處理以確定每個像素的可見性或遮擋。
全文摘要
本發(fā)明涉及表達二維空間變換的系統(tǒng)和方法,所述二維變換根據所選擇的幾何參數(110,120)通過逆映射的網格數據描述空間變換。在定義在輸出空間的矩形面片陣列上使用數學技術(130,140)對每個坐標的網格數據進行曲面擬合。誤差分析確定曲面擬合(150)是否需要更高的網格分辨率。接著,通過矩形曲面面片陣列以及曲面系數集定義空間變換,以通過曲面多項式的評估值執(zhí)行所述空間變換,這允許變換容易地為比例縮放變化、視圖縮放以及視圖移動效果(160,170,180,190)進行調整。
文檔編號G09G5/00GK101027679SQ200480043955
公開日2007年8月29日 申請日期2004年9月9日 優(yōu)先權日2004年9月9日
發(fā)明者佐拉沃·S·巴錫 申請人:奧普提克斯晶硅有限公司