專利名稱:適用于計(jì)算機(jī)圖像觀看的實(shí)時(shí)廣角圖像校正系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及利用計(jì)算機(jī)觀看圖像,尤其涉及實(shí)時(shí)校正廣角攝像機(jī)拍攝的圖像以減少與這樣的圖像關(guān)聯(lián)的變形和感覺問題。
背景技術(shù):
廣角攝像機(jī)常常用于拍攝大場景。廣角攝像機(jī)一般具有比大約60度更大的視野。廣角攝像機(jī)也包括全景攝像機(jī),這是具有高達(dá)360度的視野的廣角攝像機(jī)。
能用至少兩種類型的投影觀看廣角圖像。線性透視投影是由廣角鏡拍攝的、投影到平面膠片上的圖像。線性透視投影保持直線筆直而損害形狀的保持。這引起透視變形。如果圖像的觀眾將它們的眼睛放在投影中心則這幅圖像將顯得正確且沒有變形??墒?,在以較小的視野觀看廣角圖像時(shí),觀眾期望物體旋轉(zhuǎn)時(shí)在圖像平面中既要圖像的尺寸增加較少還要變形量較小。這就是為什么物體在邊緣出現(xiàn)拉伸。尺寸上比期望的變化大和在圖像平面上的變形使用戶感到場景不是固定的,好象場景在圍繞觀眾漂浮,特別是在觀看全景圖像時(shí)。
柱面投影是用具有彎曲的薄膜和旋轉(zhuǎn)式棱鏡制作的。柱面投影在保持形狀上比線性投影好。此外,柱面投影減輕任何明顯的漂浮運(yùn)動(dòng)。即使柱面投影與線性投影相比是一個(gè)觀看的改進(jìn),但仍存在變形和感覺問題。特別地,柱面投影將直線彎曲得比所需要的更多。此外,柱面投影在觀看全景圖像時(shí)幾乎完全地去除了轉(zhuǎn)動(dòng)頭部的錯(cuò)覺。
在廣角圖像中的變形和彎曲問題是由于視野失配引起的。特別地,由于在計(jì)算機(jī)顯示器上限制觀看的尺寸和標(biāo)準(zhǔn)觀看距離,在觀看時(shí)對著圖像的角度比將場景最初投影到圖像平面的攝像機(jī)視野小得多。這種失配是許多變形和感覺問題的起因。
由在觀看時(shí)較小的視野所引起的一個(gè)相關(guān)的問題是深度的錯(cuò)覺。廣角圖像放大了在近的和遠(yuǎn)的物體之間深度差異。在場景中物體深度的一個(gè)重要視覺暗示是位于近與遠(yuǎn)位置的相似物體的圖像尺寸之間的比例(被稱為深度透視縮短比)。較小的視野導(dǎo)致較小的透視縮短比。例如,假定一場景包括兩個(gè)人彼此挨著站在一起,其中一人離攝像機(jī)比另一個(gè)人稍遠(yuǎn)些。如果該場景是采用常規(guī)的(大約60度)視野的攝像機(jī)拍攝的以及利采用廣角視野的攝像機(jī)拍攝相同的場景,那么場景中物體的尺寸會(huì)顯得不同。特別地,用常規(guī)視野的攝像機(jī),離攝像機(jī)較遠(yuǎn)的人會(huì)顯得比另一個(gè)人離攝像機(jī)稍微更遠(yuǎn)一些。不過,用廣角視野的攝像機(jī),離攝像機(jī)較遠(yuǎn)的人會(huì)顯得比另一個(gè)人更小。因?yàn)檫@放大的尺寸是不同的,離攝像機(jī)較遠(yuǎn)的人顯得比他實(shí)際的位置更遠(yuǎn)些。當(dāng)在計(jì)算機(jī)顯示器觀看廣角圖像的深場景(如視頻會(huì)議場景)時(shí),一般而言,觀眾的視野比實(shí)際圖像的視野要小得多。因此,觀眾感覺的深度比實(shí)際深度大得多。
一種暴露這些變形和感覺問題的應(yīng)用是在視頻會(huì)議系統(tǒng)中,在視頻會(huì)議中經(jīng)常使用廣角攝像機(jī)拍攝和傳送包含在會(huì)議室中所有與會(huì)者的圖像??墒窃谟^看視頻會(huì)議時(shí)的一個(gè)問題是廣角圖像放大了會(huì)議室的深度。這使在圖像中間的人(離攝像機(jī)最遠(yuǎn)的人)與會(huì)議室中的其它人相比顯得非常小,這是由于極度透視縮短。
在用目前全景觀看軟件觀看廣角圖像時(shí),這些變形和感覺問題更為明顯。當(dāng)用戶(在視覺上)轉(zhuǎn)動(dòng)他的頭部,在一邊出現(xiàn)的物體已經(jīng)拉長,然后隨它們經(jīng)過中間的距離而縮小。最后,該物體在另一邊時(shí)再次拉長。這使固體物體隨著視野旋轉(zhuǎn)而出現(xiàn)變形和遠(yuǎn)近的漂浮著。
因此,這就需要能實(shí)時(shí)校正由廣角攝像機(jī)拍攝的圖像以減輕與這樣的圖像關(guān)聯(lián)的變形和感覺問題的系統(tǒng)和方法。
發(fā)明概述這里公開的本發(fā)明包括用于提供對廣角攝像機(jī)所拍攝的廣角圖像進(jìn)行實(shí)時(shí)校正變形和感覺的系統(tǒng)和方法。實(shí)時(shí)廣角圖像校正系統(tǒng)和方法使用一類參量彎曲函數(shù)有效地和高效地校正在廣角圖像中的變形和感覺錯(cuò)誤。此外,該系統(tǒng)校正深度錯(cuò)誤,如在視頻會(huì)議應(yīng)用程序中出現(xiàn)的。校正深度錯(cuò)誤可以得到更有用的和有意義和視頻會(huì)議顯示。此外,參量彎曲函數(shù)能用于在觀看廣角圖像時(shí)消除漂浮運(yùn)動(dòng)的人工痕跡。
一般而言,實(shí)時(shí)廣角圖像校正方法輸入一有缺陷的廣角圖像,校正放大的深度和水平變形,并輸出經(jīng)校正的廣角圖像。使用一類彎曲函數(shù)執(zhí)行校正,這可以設(shè)計(jì)為對所引入新的變形最小化同時(shí)克服與廣角攝像機(jī)關(guān)聯(lián)的大多數(shù)問題。這類新的彎曲函數(shù)包括空間變化均勻縮放函數(shù)。通常,在局部程度上執(zhí)行縮放同時(shí)保持整體環(huán)境。對于視頻會(huì)議應(yīng)用來說,這意味著彎曲放大遠(yuǎn)處的人而不是變形每個(gè)人并保持會(huì)議室的背景。
實(shí)時(shí)廣角圖像校正方法包括接收一廣角圖像的象素坐標(biāo)并對廣角圖像的象素坐標(biāo)執(zhí)行垂直和水平縮放。使用參量圖像彎曲函數(shù)執(zhí)行縮放。這個(gè)縮放產(chǎn)生對應(yīng)于一保持垂直線筆直但水平線可能變形的圖像的一初級(jí)彎曲表。為了校正這個(gè)變形,該方法包括對該初級(jí)彎曲表執(zhí)行一水平變形校正函數(shù)。其結(jié)果輸出是一將經(jīng)校正的圖像象素坐標(biāo)映射到原圖的象素坐標(biāo)的彎曲表。換言之,彎曲表為每個(gè)原象素坐標(biāo)指出在一新的經(jīng)校正的廣角圖像中的位置。使用彎曲表,實(shí)時(shí)地從原廣角圖像構(gòu)成經(jīng)校正的廣角圖像。經(jīng)校正的廣角圖像在視覺上免除了變形和感覺問題。
使用參量圖像彎曲函數(shù)和一彎曲系數(shù)單獨(dú)地對圖像中每條垂直掃描線執(zhí)行垂直縮放。使用源曲線、彎曲系數(shù)和由源曲線和彎曲系數(shù)計(jì)算出的目標(biāo)曲線計(jì)算主縮放系數(shù)。本發(fā)明的一個(gè)方面具有由用戶定義的源曲線和彎曲系數(shù)。主縮放系數(shù)用于在垂直方向上縮放象素坐標(biāo)。在實(shí)際上,這個(gè)垂直縮放用主縮放系數(shù)量垂直地“拉伸”廣角圖像中所選擇垂直掃描線。同樣對垂直掃描線執(zhí)行水平縮放并使用相同的主縮放系數(shù)以保持縱橫比。與垂直縮放相似,水平縮放在實(shí)際上可被認(rèn)為用主縮放系數(shù)量局部地垂直地“拉伸”廣角圖像的垂直掃描線。在虛擬感覺中,對原廣角圖像應(yīng)用垂直和水平縮放,我們就獲得一經(jīng)初級(jí)校正的圖像。為了加快計(jì)算,我們產(chǎn)生一初級(jí)彎曲表,將經(jīng)初級(jí)校正的圖像的初級(jí)象素坐標(biāo)映射到原圖的象素坐標(biāo)。
通過將初級(jí)彎曲表按照象素坐標(biāo)的位置分割成部分來校正水平變形。使用不同縮放系數(shù)垂直地縮放每個(gè)部分。在本發(fā)明的一個(gè)方面,第一部分被定義為包含對應(yīng)位于底部源曲線和頂部源曲線之間象素的那些象素坐標(biāo)。然后使用主縮放系數(shù)垂直地縮放這個(gè)部分的象素坐標(biāo)。使用一與主縮放系數(shù)不同值的第二縮放系數(shù)垂直地縮放其它部分中的象素坐標(biāo)。為了保持連續(xù)性,用平滑函數(shù)連接每個(gè)部分。一旦對初級(jí)彎曲表中的象素坐標(biāo)完成水平變形校正函數(shù)過程,產(chǎn)生一彎曲表。使用這個(gè)彎曲表,對一廣角圖像執(zhí)行實(shí)時(shí)變形以實(shí)時(shí)地產(chǎn)生一經(jīng)校正的廣角圖像。
本發(fā)明的一實(shí)時(shí)廣角圖像校正系統(tǒng)使用上述的方法以提供實(shí)時(shí)校正和觀看廣角圖像。
參考下面說明本發(fā)明的方面的說明和附圖能進(jìn)一步理解本發(fā)明。從下面以實(shí)例說明本發(fā)明原理并結(jié)合附圖的本發(fā)明詳細(xì)說明中,其它特點(diǎn)和優(yōu)勢將是顯而易見的。
現(xiàn)在參照附圖,在所有附圖中相似的參考數(shù)字代表相應(yīng)的部分
圖1是說明本發(fā)明的實(shí)時(shí)廣角圖像校正系統(tǒng)的總體概觀的一方框圖。
圖2是說明適于進(jìn)行本發(fā)明一個(gè)計(jì)算設(shè)備的方框圖。
圖3是詳細(xì)說明圖1所示的實(shí)時(shí)廣角圖像校正系統(tǒng)的彎曲表生成模塊的方框圖。
圖4是說明圖1所示的實(shí)時(shí)廣角圖像校正系統(tǒng)的操作的總體流程圖,。
圖5是詳細(xì)說明圖3所示的垂直縮放模塊的流程圖。
圖6說明由兩組曲線確定的彎曲函數(shù)。
圖7是詳細(xì)說明圖3所示的水平縮放模塊的流程圖。
圖8是詳細(xì)說明圖3所示的水平變形校正函數(shù)模塊的流程圖。
圖9說明了垂直縮放函數(shù)和初級(jí)象素坐標(biāo)分成三部分的概念圖。
圖10A示出未經(jīng)任何校正的舞廳的透視圖。
圖10B示出與圖10A相同的、在應(yīng)用SVU縮放函數(shù)后的場景。
圖11示出由工作實(shí)例的廣角攝像機(jī)所產(chǎn)生的最終柱面廣角圖像。
圖12示出都具有彎曲系數(shù)α=0.3的源曲線和目標(biāo)曲線。
圖13示出工作實(shí)例的經(jīng)初級(jí)校正的圖像,這是應(yīng)用SVU縮放彎曲函數(shù)而沒有水平變形校正函數(shù)的結(jié)果。
圖14示出應(yīng)用SVU縮放函數(shù)和水平變形校正函數(shù)的結(jié)果。
圖15示出使用彎曲系數(shù)α=0.2的工作實(shí)例的經(jīng)校正的廣角圖像。
圖16示出使用彎曲系數(shù)α=0.4的工作實(shí)例的經(jīng)校正的廣角圖像。
圖17說明一矩形物體繞攝像機(jī)旋轉(zhuǎn)的透視投影。
圖18A說明深度錯(cuò)覺概念和示出用普通視野攝像機(jī)拍攝的場景。
圖18B示出與圖18A相同的場景,是用廣角攝像機(jī)拍攝的。
圖19說明了正圓柱面和橢圓柱面的橫截面的二維圖。
圖20說明圖4所示的實(shí)時(shí)廣角圖像校正方法的操作實(shí)例。
發(fā)明詳細(xì)說明在本發(fā)明的以下說明中參照構(gòu)成說明一部分的附圖,并且為了說明本發(fā)明借以實(shí)現(xiàn)的特殊實(shí)例而示出的。應(yīng)當(dāng)理解在不脫離本發(fā)明的范圍內(nèi)可利用其它的實(shí)施例并作出結(jié)構(gòu)改變。
I.概述本發(fā)明包括一實(shí)時(shí)廣角圖像校正系統(tǒng)和方法,以獲得和處理廣角圖像從而輸出非失真的正確的廣角圖像。實(shí)時(shí)廣角圖像校正系統(tǒng)和方法能被用于觀看廣角圖像且不存在拉長、彎曲失真和放大深度這些困擾傳統(tǒng)廣角圖像的問題觀看廣角圖像。利用一新的參量彎曲函數(shù)類完成廣角圖像的校正。在本發(fā)明的一個(gè)方面,這些參量彎曲函數(shù)是保持局部縮放透視并校正深度錯(cuò)覺的空間變化均勻(SVU)縮放函數(shù)。SVU縮放函數(shù)和縮放系數(shù)用于對圖像的象素坐標(biāo)進(jìn)行垂直縮放和水平縮放。這產(chǎn)生一個(gè)將經(jīng)初級(jí)校正的圖像的象素位置映射到原象素坐標(biāo)的初級(jí)彎曲表。該經(jīng)初級(jí)校正的圖像是一虛擬的圖像而不是實(shí)際創(chuàng)建的。不過,經(jīng)初級(jí)校正的圖像保持垂直線為直但扭曲垂直線。通過執(zhí)行使用SVU縮放函數(shù)和至少兩個(gè)不同的縮放系數(shù)的水平變形校正函數(shù)來校正這個(gè)水平變形。這一處理產(chǎn)生一彎曲表。彎曲表將經(jīng)校正的廣角圖像的位置映射到被扭曲的廣角圖像的原象素坐標(biāo)。利用彎曲表,原廣角圖實(shí)時(shí)創(chuàng)建經(jīng)校正的廣角圖像。
圖1是說明本發(fā)明的實(shí)時(shí)廣角圖像校正系統(tǒng)100的總體概觀的方框圖。通常,系統(tǒng)100獲得廣角圖像110并輸入對應(yīng)于廣角圖像中每個(gè)象素坐標(biāo)的廣角象素圖像坐標(biāo)120。廣角象素圖像坐標(biāo)120由實(shí)時(shí)廣角圖像校正系統(tǒng)100處理并輸出經(jīng)校正的廣角圖像130。
廣角圖像110可能是單一的圖像(如來自一靜態(tài)照相機(jī))或一圖像序列的一部分(如來自一攝像機(jī))。獲得廣角圖像110的每個(gè)象素坐標(biāo),就可以產(chǎn)生廣角象素圖像坐標(biāo)120。例如,在一直線坐標(biāo)幀中,象素坐標(biāo)120是廣角圖像110中每個(gè)象素的(x,y)位置。實(shí)時(shí)廣角圖像校正系統(tǒng)100包括一彎曲表生成模塊140、一彎曲表150和一實(shí)時(shí)圖像彎曲系統(tǒng)160。
彎曲表生成模塊140常利用參量圖像彎曲函數(shù)來產(chǎn)生彎曲表150。廣角象素圖像坐標(biāo)120經(jīng)處理產(chǎn)生彎曲表150。關(guān)于彎曲表生成模塊140的詳細(xì)內(nèi)容在下面討論。彎曲表150包含對應(yīng)經(jīng)校正的廣角圖像130中位置方式所排列的廣角象素圖像坐標(biāo)120。因此,彎曲表150為廣角象素圖像坐標(biāo)120確定在經(jīng)校正的廣角圖像130中的新位置。
一旦產(chǎn)生了彎曲表150,則接收廣角圖像110且作為實(shí)時(shí)彎曲系統(tǒng)160的輸入。實(shí)時(shí)圖像彎曲系統(tǒng)160將彎曲表150應(yīng)用于廣角圖像110以創(chuàng)建經(jīng)校正的廣角圖像130。實(shí)時(shí)彎曲系統(tǒng)160通過為經(jīng)校正的廣角圖像130中的每個(gè)位置得到廣角圖像110在彎曲表150中象素坐標(biāo)位置上的RGB值而創(chuàng)建廣角圖像130。在廣角象素坐標(biāo)120上的RGB值于是重新定位在經(jīng)校正的廣角圖像130中。于是使用彎曲表150確定新的位置。
因?yàn)閺澢淼漠a(chǎn)生意味著創(chuàng)建經(jīng)校正的廣角圖像130所要求的所有一切就是將彎曲表150應(yīng)用于廣角圖像110,這能夠快速地完成的,所以可實(shí)時(shí)地進(jìn)行彎曲處理??傊?,實(shí)時(shí)廣角圖像校正系統(tǒng)100通過處理廣角象素圖像坐標(biāo)120產(chǎn)生一彎曲表,并隨后利用彎曲表150從廣角圖像110創(chuàng)建經(jīng)校正的廣角圖像130。
II.典型運(yùn)行環(huán)境本發(fā)明的實(shí)時(shí)廣角圖像校正系統(tǒng)100被設(shè)計(jì)運(yùn)行在計(jì)算環(huán)境。下面的討論試圖提供適合于實(shí)現(xiàn)本發(fā)明的計(jì)算環(huán)境的簡要全面的說明。
圖2是說明適于實(shí)現(xiàn)本發(fā)明的一個(gè)計(jì)算裝置的方框圖。盡管不是必需的,本發(fā)明將在計(jì)算機(jī)可執(zhí)行指令如由計(jì)算機(jī)執(zhí)行的程序模塊的背景中描述。通常,程序模塊包括執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。此外,本領(lǐng)域的技術(shù)人員將意識(shí)到本發(fā)明可以在各種各樣的計(jì)算機(jī)系統(tǒng)配置中實(shí)行,包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)等等。本發(fā)明也可以在由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式計(jì)算環(huán)境中實(shí)行。在一分布式計(jì)算機(jī)環(huán)境中,程序模塊可以設(shè)置在本地和遠(yuǎn)程計(jì)算機(jī)包括存貯器存儲(chǔ)設(shè)備在內(nèi)的存儲(chǔ)介質(zhì)中。
參照圖2,實(shí)現(xiàn)本發(fā)明的一個(gè)典型系統(tǒng)包括一通用計(jì)算設(shè)備200。特別地,計(jì)算設(shè)備202包括處理單元202、系統(tǒng)存貯器204、以及將包括系統(tǒng)存貯器204在內(nèi)的各種系統(tǒng)部件連接至處理單元202的系統(tǒng)總線206。系統(tǒng)總線206可以幾種類型的總線結(jié)構(gòu)的任意一種,它包括存貯器總線或存貯器控制器、外部總線和使用各種總線結(jié)構(gòu)的任意一種的本地總線。系統(tǒng)存貯器包括只讀存貯器(ROM)210和隨機(jī)存取存貯器(RAM)212?;据斎?輸出系統(tǒng)(BIOS)214存貯在ROM210中,它包含基本例程,它幫助在啟動(dòng)時(shí)計(jì)算設(shè)備200中部件之間傳輸信息。計(jì)算設(shè)備200還包括用于讀寫硬盤的硬盤驅(qū)動(dòng)器216(未顯示)、用于讀寫可移動(dòng)磁盤220的磁盤驅(qū)動(dòng)器218、和用于讀寫可移動(dòng)光盤224如CD-ROM或其它光學(xué)介質(zhì)的光盤驅(qū)動(dòng)器222。硬盤驅(qū)動(dòng)器216、磁盤驅(qū)動(dòng)器228和光盤驅(qū)動(dòng)器222通過硬盤驅(qū)動(dòng)器接口226、磁盤驅(qū)動(dòng)器接口228和光盤驅(qū)動(dòng)器接口230分別連接至系統(tǒng)總線206。驅(qū)動(dòng)器和它們的關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)提供了適用于計(jì)算設(shè)備200的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失的存儲(chǔ)。
盡管這里所描述的典型環(huán)境使用硬盤、可移動(dòng)磁盤220和可移動(dòng)光盤224,但本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)該意識(shí)到能存儲(chǔ)計(jì)算機(jī)可訪問的數(shù)據(jù)的其它類型的計(jì)算機(jī)可讀介質(zhì),諸如磁帶、閃存卡、數(shù)字視頻盤、伯努利盒、隨機(jī)存貯存貯器(RAM)、只讀存貯器(ROM)等等,也可用在此典型運(yùn)行環(huán)境中。
許多程序模塊可以存儲(chǔ)在硬盤、磁盤220、光盤224、ROM210或RAM212中,程序模塊包括操作系統(tǒng)232、一個(gè)或多個(gè)應(yīng)用程序234、其它程序模塊236(如廣角圖像去除彎曲系統(tǒng)100)和程序數(shù)據(jù)238。用戶(未示出)可以通過輸入設(shè)備(如,鍵盤240和定位設(shè)備242)向計(jì)算設(shè)備200輸入命令和信息。另外,攝像機(jī)243(如攝像機(jī))可以和其它輸入設(shè)備(未示出)一樣連接至計(jì)算設(shè)備200,包括例如話筒、操縱桿、游戲墊、衛(wèi)星電視天線、掃描儀等等。這些其它輸入設(shè)備常常通過連接至系統(tǒng)總線206的串行接口244連接到處理單元202,但可以通過其它接口連接,如并行口、游戲口或通用串行總線(USB)。監(jiān)視器246(或其它類型顯示設(shè)備)通過一個(gè)接口如視頻適配器248也連接到系統(tǒng)總線206。除監(jiān)視器246之外,計(jì)算設(shè)備如個(gè)人計(jì)算機(jī)一般包括其它外部輸出設(shè)備(未示出)如揚(yáng)聲器和打印機(jī)。
計(jì)算設(shè)備200可以運(yùn)行于網(wǎng)絡(luò)環(huán)境中使用邏輯連接至一或多個(gè)遠(yuǎn)程計(jì)算機(jī)如遠(yuǎn)程計(jì)算機(jī)250。遠(yuǎn)程計(jì)算機(jī)250可能是另一臺(tái)個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括上面有關(guān)計(jì)算設(shè)備200描述的許多或全部部件,盡管圖2只圖示一個(gè)存貯器存儲(chǔ)設(shè)備252。圖2所示的邏輯連接包括局域網(wǎng)(LAN)254和廣域網(wǎng)(WAN)256。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)級(jí)計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和國際互聯(lián)網(wǎng)中是普遍的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算設(shè)備200通過網(wǎng)絡(luò)接口或適配器258連接到本地網(wǎng)絡(luò)254。當(dāng)在wAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算設(shè)備200一般包括與廣域網(wǎng)256如互聯(lián)網(wǎng)建立通信的調(diào)制解調(diào)器260或其它設(shè)備。調(diào)制解調(diào)器260,可以是內(nèi)置的或外置的,通過串行接口244連接至系統(tǒng)總線206。在網(wǎng)絡(luò)化環(huán)境中,有關(guān)計(jì)算設(shè)備200所描述的程序模塊或其部分可以存貯在遠(yuǎn)程存貯器存儲(chǔ)設(shè)備252??梢砸庾R(shí)到所示的網(wǎng)絡(luò)連接只是用于舉例,并且也可以使用在計(jì)算機(jī)之間建立通信連接的其它設(shè)備。
III.系統(tǒng)細(xì)節(jié)一般而言,實(shí)時(shí)廣角圖像校正系統(tǒng)100提供廣角圖像100的實(shí)時(shí)校正。系統(tǒng)100校正在垂直和水平方向上的彎曲和變形。另外,系統(tǒng)100校正諸如深度和眩暈運(yùn)動(dòng)等感覺問題。
圖3是詳細(xì)說明圖1所示的彎曲表生成模塊140的方框圖。特別地,彎曲表生成模塊140包括用于輸入廣角象素圖像坐標(biāo)120的輸入模塊300。這些象素坐標(biāo)120代表在廣角圖像110中每個(gè)象素的位置。應(yīng)該注意圖像110可以是單一圖像或一個(gè)圖像序列,例如來自攝像機(jī)的視頻序列。模塊140也包括垂直縮放模塊310。垂直縮放模塊310用彎曲函數(shù)處理廣角象素圖像坐標(biāo)120的每個(gè)垂直掃描線,使得廣角象素圖像坐標(biāo)120在垂直方向縮放。概念上,這可以被認(rèn)為在垂直方向上“拉伸”廣角圖像110。這個(gè)垂直縮放部分地校正了廣角圖像110中放大的深度。
彎曲表生成模塊140也包括一個(gè)水平縮放模塊320,使用參量圖像彎曲函數(shù)在水平方向縮放廣角象素圖像坐標(biāo)120。與垂直縮放相似,概念上這可以被認(rèn)為在水平方向上“拉伸”廣角圖像110。另外,對每個(gè)垂直掃描線單獨(dú)地進(jìn)行水平縮放,從而保持廣角圖像110的縱橫比。
垂直縮放模塊310和水平縮放模塊320建立一個(gè)初級(jí)彎曲表,它將初級(jí)象素坐標(biāo)映射至原象素坐標(biāo)。能用初級(jí)彎曲表創(chuàng)建初級(jí)校正的圖像。實(shí)際上并沒有這么做,初級(jí)校正的圖像只是虛擬的圖像。初級(jí)校正的圖像具有垂直線保持垂直但水平線被變形的性質(zhì)。
為了校正這種水平變形,水平變形模塊330也被包括在彎曲表生成模塊140中。水平變形模塊330根據(jù)初級(jí)彎曲表中的初級(jí)象素坐標(biāo)的位置以不同的量縮放初級(jí)象素坐標(biāo)。彎曲表生成模塊140的輸出是彎曲表150。彎曲表將校正的廣角圖像130中的象素坐標(biāo)映射到原廣角圖像素坐標(biāo)120。
IV.廣角圖像校正操作概述本發(fā)明的實(shí)時(shí)廣角圖像校正方法使用了參量類圖像彎曲函數(shù)。這些參量圖像彎曲函數(shù)試圖將具有比圖像設(shè)備更小的視野的觀察器所引起的圖像感覺問題最小化。參量類圖像彎曲函數(shù)被稱為空間變化均勻縮放函數(shù)或SVU縮放函數(shù)。盡管SVU縮放函數(shù)可以局部地重建一個(gè)均勻縮放函數(shù)以保持縱橫比,但是在要產(chǎn)生彎曲的圖像上縮放系數(shù)是變化的。此外,保角投影類能提供局部均勻縮放,但這些函數(shù)引入了可視干擾的旋轉(zhuǎn)。空間變化均勻縮放函數(shù)在觀看全景圖像時(shí)避免旋轉(zhuǎn)并去除了漂浮運(yùn)動(dòng)。
圖4是說明圖1所示實(shí)時(shí)廣角圖像校正系統(tǒng)100的實(shí)時(shí)廣角圖像校正方法的操作主流程圖。一般而言,該方法由廣角象素圖像坐標(biāo)產(chǎn)生一個(gè)彎曲表并用彎曲表處理廣角圖像以創(chuàng)建經(jīng)校正的廣角圖像。更特別地,來自廣角圖像110的廣角象素圖像坐標(biāo)120作為輸入接收(方框400)。下一步,產(chǎn)生彎曲表150(方框410)。彎曲表150被用于確定在廣角象素圖像坐標(biāo)120中經(jīng)校正的廣角圖像象素坐標(biāo)130的位置。
如下面詳細(xì)討論,彎曲表150的產(chǎn)生包括垂直縮放、水平縮放和水平變形校正函數(shù)。垂直縮放校正廣角圖像110的放大的深度。為了校正放大的深度,在廣角圖像110中心的遠(yuǎn)距離物體或人相對于那些離攝像機(jī)近的物體或人需要被放大。換言之,彎曲函數(shù)應(yīng)該這樣,在模擬統(tǒng)一縮放時(shí)它們中間比邊上要多放大一些。SVU縮放函數(shù)保持垂直線垂直。
為了保持廣角圖像110的縱橫比,同樣執(zhí)行水平縮放。特別地,參量圖像彎曲函數(shù)(如SVU縮放函數(shù))被用于執(zhí)行水平縮放為廣角圖像110的每個(gè)垂直掃描線產(chǎn)生新的寬度。當(dāng)SVU縮放函數(shù)保持垂直線垂直時(shí),它們將引入一個(gè)垂直剪切的確定量。在視覺上,會(huì)感覺到象是水平線的傾斜和變形。場景常常在圖像的頂部或底部包含水平面,如桌子或房間的天花板,對于這些的變形可能是最值得注意的。
為了校正這個(gè)垂直剪切,實(shí)時(shí)廣角圖像校正方法進(jìn)一步包括執(zhí)行水平變形校正函數(shù)以校正廣角圖像110的水平變形。一般而言,這是通過放松垂直縮放的一致性并非線性地縮放廣角圖像110的垂直位置(如沿著一條垂直掃描線)。在垂直縮放、水平縮放和水平變形校正函數(shù)后,產(chǎn)生的彎曲表150將經(jīng)校正的廣角圖像130中的一個(gè)象素映射到廣角圖像110。
一旦已經(jīng)產(chǎn)生彎曲表150,廣角圖像110作為輸入被接收(方框420)。廣角圖像110隨后被實(shí)時(shí)地彎曲以創(chuàng)建經(jīng)校正的廣角圖像130。所建立的彎曲表可在校正的廣角圖像130的每個(gè)位置能找到廣角圖像110中的一個(gè)象素以創(chuàng)建免除變形的廣角圖像。
為了更充分地理解本發(fā)明的實(shí)時(shí)廣角圖像校正方法,介紹一個(gè)實(shí)例。圖20說明如圖4所示的實(shí)時(shí)廣角圖像校正方法的操作的一個(gè)實(shí)例。特別地,接收包含由一廣角攝像機(jī)(未示出)拍攝到的視頻會(huì)議場景的廣角圖像110進(jìn)行處理。
接著,確定在廣角圖像110中各個(gè)像素的坐標(biāo)。在這個(gè)例子中,將所建立的具有垂直軸Y和水平軸X的直線坐標(biāo)系統(tǒng)應(yīng)用于廣角圖像110。源廣角圖像的寬度是w。來自廣角圖像110的象素2000由廣角象素圖像坐標(biāo)120用象素坐標(biāo)(x,y)表示(方框2010)。應(yīng)該注意,x表示象素2000沿X軸的水平位置,且y表示象素2000沿Y軸的垂直位置。
隨后產(chǎn)生彎曲表150,以確定象素坐標(biāo)2010在校正的圖像150中的位置。如圖20所示,彎曲表具有一第二直線坐標(biāo)系統(tǒng),它具有垂直軸Y’和水平軸X’。經(jīng)校正的圖像150的寬度是w’。使用下面詳述參量圖像彎曲函數(shù)和的縮放系數(shù),象素坐標(biāo)2010在經(jīng)校正的圖像中的一個(gè)位置表示在經(jīng)校正的圖像150中的象素坐標(biāo)的位置。如圖20所示,在彎曲表中,用經(jīng)校正的象素坐標(biāo)(x’,y’)給出象素坐標(biāo)2010的位置。同樣,應(yīng)該注意,x’表示象素2010沿X’軸的水平位置,且y’表示象素2010沿Y’軸的垂直位置。
通過使用彎曲表將(廣角圖像110的)象素2000映射經(jīng)校正的圖像150中的經(jīng)校正的象素2020來實(shí)時(shí)創(chuàng)建經(jīng)校正的圖像150。一旦確定了在經(jīng)校正的圖像150中的象素2000位置,就能將象素2000的RGB值應(yīng)用于經(jīng)校正的圖像150中的經(jīng)校正的象素2020。在這種方式中,能實(shí)時(shí)地校正廣角圖像110,以創(chuàng)建經(jīng)校正的圖像150,它在視覺上沒有通常與廣角圖像關(guān)聯(lián)的變形和其它感覺問題。
V.操作細(xì)節(jié)實(shí)時(shí)廣角圖像校正方法實(shí)時(shí)地處理廣角圖像以校正與廣角圖像關(guān)聯(lián)的變形和感覺問題。使用具有縮放系數(shù)的參量類圖像彎曲函數(shù)進(jìn)行校正處理。使用這些參量圖像彎曲函數(shù)和縮放系數(shù)來產(chǎn)生直接應(yīng)用于廣角圖像的彎曲表。在本發(fā)明的一個(gè)方面,廣角圖像是一個(gè)柱面投影。同樣,在本發(fā)明的一個(gè)方面參量圖像彎曲函數(shù)是SVU縮放函數(shù)。
垂直縮放圖5是詳細(xì)說明圖3所示的垂直縮放模塊310的流程圖。廣角象素坐標(biāo)120作為輸入接收(方框500)。下一步,用一組曲線和縮放系數(shù)來確定參量圖像彎曲函數(shù)(如SVU縮放函數(shù))。特別地,連同彎曲系數(shù)(方框520)一起指定源曲線(方框510)。使用這些源曲線和彎曲系數(shù)就可能計(jì)算目標(biāo)曲線(方框530)。
圖6說明彎曲函數(shù)是由兩組曲線確定的(1)源曲線;和(2)目標(biāo)曲線。在本發(fā)明的一個(gè)方面,源曲線是由用戶通過一簡單的用戶接口提供的。這些源曲線提供參量圖像彎曲函數(shù)的參數(shù)。通過用戶接口,用戶可以定義二條立方曲線。這兩條源曲線定義共同的(真實(shí)世界)水平特征,例如人們頭部的頂部和桌子的邊界。如圖6所示,指定了一條頂部源曲線St和一條底部源曲線Sb。
也可由用戶選擇的彎曲系數(shù)α確定圖像的彎曲程度。彎曲系數(shù)α處于0和1之間,其中a=0為無彎曲而a=1為最大彎曲。概念上,指定a=0將使圖像不被改變,而指定a=1將把源曲線上象素拉到終點(diǎn)之間的直線上。一般地,理想的彎曲系數(shù)放在0和1之間大約一半的地方。
一旦指定源曲線和彎曲系數(shù),就能計(jì)算目標(biāo)曲線(方框530)。設(shè)y=St(x)和y=Sb(x)分別是頂部和底部源曲線的方程。兩條(源曲線上的點(diǎn)將移動(dòng)至的)目標(biāo)曲線由源曲線和確a定。特別地,定義了一條頂部目標(biāo)曲線Tt和一條底部目標(biāo)曲線Tb。如果在St(x)終點(diǎn)之間定義的曲線方程為y=y(tǒng)t(x),且連接底部源曲線終點(diǎn)的曲線方程為y=y(tǒng)b(x),那么Tt(x)=(1-a)St(x)+a yt(x),以及Tb(x)=(1-a)Sb(x)+a yb(x)。
隨后用源曲線和目標(biāo)曲線計(jì)算主縮放系數(shù)r(x)(方框540)。特別地,圖6所示給定任何垂直掃描線x,設(shè)A、B表示它與源曲線的交叉點(diǎn),而A’、B’為與目標(biāo)曲線的交叉點(diǎn)。SVU縮放函數(shù)將AB縮放至A’B’。設(shè)r(x)=||A′B′||||AB||---(1)]]>=Tt(x)-Tb(x)St(x)-Sb(x)]]>這個(gè)比例r(x)就是位于水平位置x的垂直掃描線的主縮放系數(shù)。隨后在垂直方向用主縮放系數(shù)r(x)縮放該垂直掃描線的廣角象素坐標(biāo)120(方框550)。
水平縮放為了保持縱橫比,也同樣在水平方向上縮放廣角象素坐標(biāo)120。水平縮放使用相同的主縮放系數(shù)r(x)。換言之,就象垂直縮放垂直掃描線一樣,同樣用主縮放系數(shù)r(x)水平地縮放它,以保持縱橫比。
圖7是詳細(xì)說明圖3所示的水平縮放模塊的流程圖。接受垂直縮放的廣角象素坐標(biāo)作為輸入(方框700)。使用主縮放系數(shù)r(x)在水平方向縮放經(jīng)垂直縮放的廣角象素坐標(biāo)(方框710)。一旦經(jīng)垂直縮放的廣角象素坐標(biāo)120縮放之后,經(jīng)初級(jí)校正的圖像的總寬度w’變成w′=∫0wr(x)dx---(2)]]>其中w是廣角圖像(或源圖)110的寬度。
接著,產(chǎn)生初級(jí)彎曲表(方框720)。初級(jí)彎曲表包含初級(jí)象素坐標(biāo)。初級(jí)象素坐標(biāo)是已經(jīng)被垂直和水平縮放后的廣角象素坐標(biāo)。概念上,初級(jí)象素坐標(biāo)可以用于構(gòu)成經(jīng)初級(jí)校正的圖像。因此,對于廣角圖像110中任意象素(x,y),設(shè)(X’,y’)表示在經(jīng)初級(jí)校正的圖像中的新位置。這產(chǎn)生x′=∫0xr(x)dx---(3)]]>y′=Tt(x)+r(x)*(y-St(x))]]>方程式(3)是SVU縮放函數(shù)的前向映射方程式。SVU縮放函數(shù)不是在所有位置完全均勻的縮放。容易證明在所有位置完全均勻的縮放的函數(shù)是一個(gè)均勻球面縮放函數(shù)。
SVU縮放函數(shù)與在一般的圓柱表面上的投影相似。不過,如附錄II所示,這樣一個(gè)簡單的投影不會(huì)產(chǎn)生局部均勻縮放。所需要的是局部一致縮放,而缺少局部一致縮放引起經(jīng)初級(jí)校正的圖像中出現(xiàn)的物體象被拉伸過一樣。
水平變形校正一旦已經(jīng)在垂直和水平方向上縮放了廣角象素坐標(biāo)120,就要校正結(jié)果初級(jí)彎曲表的水平變形。需要水平變形校正函數(shù)因?yàn)閰⒘款悎D像彎曲函數(shù)(如SVU縮放函數(shù))保持垂直線垂直時(shí)卻使水平線變形。要最小化這個(gè)問題,放松縮放的靈活地和線性地縮放每條垂直掃描線。
圖8是詳細(xì)說明圖3所示的水平變形模塊330的流程圖。一般而言,模塊330將初級(jí)彎曲表中的初級(jí)象素坐標(biāo)分成部分并根據(jù)適用于每個(gè)部分所指定的縮放系數(shù)在垂直方向上縮放該部分。部分之間的縮放系數(shù)可以不同,且至少與一個(gè)部分不同。
特別地,水平變形校正模塊330首先將初級(jí)彎曲表分成部分(方框800)。在本發(fā)明的一個(gè)方面,如圖9所示在概念上分割經(jīng)初級(jí)校正的圖像。圖9說明垂直縮放函數(shù)和將經(jīng)初級(jí)校正的圖像分割為三個(gè)部分的概念圖。應(yīng)該注意圖9中,y是垂直方向。參照圖9,第一部分900定義在底部源曲線Sb和頂部源曲線St之間。其它部分包括源曲線外面的部分,包括低于源曲線的第二部分910和高于源曲線的第三部分。
在垂直方向上使用主縮放系數(shù)r(x)縮放位于源曲線之間的第一部分900的初級(jí)象素坐標(biāo)(方框810)。如上所述,執(zhí)行在垂直方向上的縮放。在垂直方向上較小地縮放位于源曲線的外面部分(第二部分910和第三部分920)。首先指定第二縮放系數(shù)(方框820)來執(zhí)行這個(gè)。圖9所示的第二縮放系數(shù)s低于主縮放系數(shù)r(x)。下一步,在垂直方向上使用第二縮放系數(shù)縮放位于源曲線的外面的其它部分910、920的初級(jí)象素坐標(biāo)(方框830)。應(yīng)該注意,水平縮放保持相同(換言之,使用主縮放系數(shù)r(x)),從而保持垂直線的筆直。為了在各部分之間保持連續(xù),在各部分之間通過應(yīng)用一個(gè)平滑參數(shù)w產(chǎn)生過渡(方框840)。平滑參數(shù)平滑垂直縮放函數(shù)并在垂直縮放函數(shù)經(jīng)過源曲線時(shí)平滑地連接全離的縮放系數(shù)。
參考圖6和9,考慮位于圖6所示x的垂直線。如圖9所示,g(y)是垂直縮放函數(shù),它能被定義成在這條垂直線上的任意點(diǎn)y的垂直縮放系數(shù)。應(yīng)該注意,g(y)信賴于x。函數(shù)g(y)是由兩個(gè)參數(shù)控制,第二縮放系數(shù)s和平滑參數(shù)w。在源曲線之間的距離源曲線超過w/2的垂直掃描線部分按主縮放系數(shù)r(x)縮放,在源曲線外面的按第二縮放系數(shù)s縮放。這三個(gè)常數(shù)段用兩個(gè)立方樣條函數(shù)在[St-0.5w,St+0.5w]中粘合在一起。每個(gè)立方樣條函數(shù)結(jié)束于值s和r(x)并在終點(diǎn)的斜率為0。
平滑參數(shù)w控制源曲線處的連續(xù)性。例如,如果在源曲線處不連續(xù),人們可以選擇一個(gè)非常小的不值得注意人工制造的w。當(dāng)在s=r(x)的特殊情況下,g(y)變成一個(gè)常數(shù),這就是導(dǎo)出方程式(3)所假定的。一旦將水平變形校正函數(shù)應(yīng)用于初級(jí)彎曲表,產(chǎn)生包含在經(jīng)校正的廣角圖像130中廣角象素坐標(biāo)位置的彎曲表150(方框850)。隨后彎曲表150作為輸出發(fā)出(方框860)。彎曲表用于從廣角圖像110構(gòu)成經(jīng)校正的廣角圖像130。
校正廣角圖像的觀察錯(cuò)覺漂浮運(yùn)動(dòng)可被認(rèn)為是一種特殊類型的深度錯(cuò)覺。如場景旋轉(zhuǎn)時(shí),采用較小視野的觀察器,當(dāng)物體經(jīng)過視野時(shí)會(huì)感到它們的尺寸發(fā)生意外的變化。當(dāng)一個(gè)物體第一進(jìn)入觀察器時(shí)因幾何變形而顯得太大,隨后因放大的透視在觀察器的中央太小,最后在它離開觀察器時(shí)再次太大。這個(gè)結(jié)果是該物體看來好象移離觀察器而隨后移回到觀察器。換言之,該物體看來好象在“漂浮”。
SVU縮放函數(shù)有助于校正深度錯(cuò)覺的問題。這是通過對觀看的全景圖像使用對稱SVU縮放函數(shù)完成的。底部源曲線構(gòu)成了頂部源曲線的鏡像。源曲線經(jīng)過圖像的邊角并在中央的垂直掃描線上具有一個(gè)最小值(或最大值)。一個(gè)參數(shù)指定中央點(diǎn)的高度以及另一個(gè)參數(shù)是彎曲系數(shù)α,如上所述。
為了可視地說明實(shí)時(shí)廣角圖像校正系統(tǒng)和方法去除漂浮運(yùn)動(dòng)的效果,出示圖10A和10B。圖10A和10B所示的都是用透視投影和100度視野全景觀看一個(gè)舞廳時(shí)的快照。圖10A所示的是沒有任何校正的舞廳透視圖。圖10B所示的是在與圖10A相同的圖應(yīng)用SVU縮放函數(shù)之后。從圖10A和10B中,能看到在用SVU縮放函數(shù)后圖像變形較小。更重要地,當(dāng)用透視投影旋轉(zhuǎn)圖10A的場景時(shí),觀察到墻和桌子嚴(yán)重的拉伸和漂浮運(yùn)動(dòng)。在應(yīng)用SVU縮放函數(shù)后,觀察到很小的拉伸并且在視覺上消除了漂浮運(yùn)動(dòng)。這個(gè)結(jié)果在旋轉(zhuǎn)場景時(shí)會(huì)使場景看上去更為穩(wěn)定。
VI.工作實(shí)例和結(jié)果下面的工作實(shí)例用于說明本發(fā)明的操作細(xì)節(jié)。工作實(shí)例包括圖4的方法的實(shí)現(xiàn)。應(yīng)該注意,工作實(shí)例只是本發(fā)明可以操作和使用的一種方式,且只是為了說明的目的而提供的。
在這個(gè)工作實(shí)例中,在一個(gè)視頻會(huì)議環(huán)境中實(shí)現(xiàn)本發(fā)明的系統(tǒng)和方法。視頻會(huì)議系統(tǒng)需要能顯示一組寬闊的視圖允許遠(yuǎn)程觀眾看見所有的與會(huì)者。一般地,這些與會(huì)者圍繞桌子坐著。當(dāng)前系統(tǒng)使用一個(gè)傾斜/全景/變焦攝像機(jī)為觀看房間不同部分的可能性??墒?,這些當(dāng)前系統(tǒng)并不能提供一個(gè)全景的觀察。他們也要忍受搖動(dòng)鏡頭以覆蓋新的發(fā)言人的潛在性。為了減少這些問題,可使用本發(fā)明的實(shí)時(shí)廣角圖像校正系統(tǒng)和方法。
在視頻會(huì)議的場景直接使用一個(gè)廣角攝像機(jī)得到具有一個(gè)柱面投影的廣角圖像。圖11說明了由廣角攝像機(jī)產(chǎn)生的結(jié)果圓柱廣角圖像。在圖11中,值得注意是在桌子遠(yuǎn)端的人極小。盡管柱面投影可以校正圍繞邊緣的幾何變形,但在深和小的感覺方面卻只有很少的改進(jìn)。在桌子遠(yuǎn)端的人們與靠近攝像機(jī)的人們相比仍看上去非常小。
在圖12-16中,示出了用實(shí)時(shí)廣角圖像校正系統(tǒng)和方法處理圖11的圖像后的結(jié)果。圖12說明了具有彎曲系數(shù)α=0.3的源曲線和目標(biāo)曲線。圖13說明了經(jīng)初級(jí)校正的圖像,它使用沒有水平變形校正函數(shù)的SVU縮放函數(shù)的進(jìn)行垂直縮放和水平縮放的結(jié)果。圖14說明另應(yīng)用具有水平變形校正函數(shù)的SVU縮放函數(shù)的結(jié)果。
此外,有些結(jié)果使用不同的彎曲系數(shù)α=0.2。圖16說明了彎曲系數(shù)α=0.4的結(jié)果。應(yīng)該注意,α=0的彎曲系數(shù)是最小彎曲而α=1的彎曲系數(shù)是最大彎曲。
為了說明和描述的目的,已經(jīng)呈現(xiàn)了本發(fā)明的前述說明。不要窮舉的或?qū)⒈景l(fā)明限制在所披露的精確格式內(nèi)。很多修改方案和變化方案可能是按照上面教導(dǎo)的。本發(fā)明的詳細(xì)說明以及這里所附的權(quán)利要求書并不試圖限制本發(fā)明的范圍。
附錄I下面的討論是想提供有關(guān)廣角圖像中明顯變形原因的更多的數(shù)學(xué)上的細(xì)節(jié)。
形狀變形和非固定的后果隨著一廣角圖像中物體從中央移動(dòng)至邊緣時(shí),會(huì)出現(xiàn)變形。圖17說明一繞著攝像機(jī)旋轉(zhuǎn)的矩形物體的透視投影。O是投影中心,π是投影平面,且f是焦距。設(shè)w和h是物體的寬度和長度。假定物體從P1旋轉(zhuǎn)到P2,其中OP1與圖像平面垂直且θ是0P2與0P1之間的角度。設(shè)d=‖OP1‖=‖OP2‖.在P1位置,它在圖像平面上的寬度和高度是w1=fwd---(4)]]>h1=fhd---(5)]]>在P2位置,它在圖像平面上的寬度和高度(與P2相鄰的兩條邊的長度)是w2=fwd·cos2θ---(6)]]>h2=fhd·cosθ---(7)]]>這導(dǎo)出w2=1cos2θ·w1---(8)]]>h2=1cosθ·h1---(9)]]>和w2h2=1cosθw1h1---(10)]]>方程式(5)和(6)說明隨著物體從圖像中央轉(zhuǎn)到邊緣時(shí),其寬度和高度都增加了。視角越大,增加的量就越大。方程式7說明當(dāng)物體從圖像中央到邊緣時(shí),其物體的圖像也變形(拉伸)了。視角越大,變形量就越大。當(dāng)視角接近90度時(shí),變形比w2/h2接近無窮大。
如果圖像的觀眾將他們的眼睛放在O處則透視變形仍然正確,圖像將不會(huì)出現(xiàn)變形??墒牵?dāng)用較小的視野觀看廣角圖像時(shí)觀眾期望當(dāng)物體旋轉(zhuǎn)時(shí)圖像尺寸增加較小而且變形量較小。這就是為什么物體在邊緣時(shí)顯得拉伸。現(xiàn)在沒有兩個(gè)相等的角度可以用于觀看。在圖像平面上尺寸和變形的變化比期望的大使用戶感到場景不是固定的,好象在繞著用戶漂浮。
深度錯(cuò)覺用較小的視野觀看時(shí)引起的一個(gè)相關(guān)的問題是深度的錯(cuò)覺。廣角圖像在靠近和遠(yuǎn)離物體時(shí)放大了深度的差異。在場景中物體深度的一個(gè)重要的視覺暗示是在放置在近處與遠(yuǎn)處的相似物體的圖像尺寸的比例(被稱為深度透視縮短比)。較小的視野導(dǎo)致較小的透視縮短比。在兩個(gè)人的兩張照片中這是明顯的,一個(gè)人比另一個(gè)人離攝像機(jī)稍遠(yuǎn)。圖18A和18B說明了深度錯(cuò)覺的概念。圖18A中,是用普通視野的攝像機(jī)拍攝的場景。在圖18B中,是用廣角攝像機(jī)拍攝的相同場景。如通過比較圖18A和18B能看到的那樣,廣角攝像機(jī)(圖18B所示)放大了兩個(gè)人的尺寸之間的差異并因此在用廣角攝像機(jī)拍攝的照片中顯得兩人之間的距離增加了。在視頻會(huì)議應(yīng)用程序中,廣角攝像機(jī)圖像導(dǎo)致場景中遠(yuǎn)處的與會(huì)者極小。
附錄II以下討論說明在普通圓柱表面上的投影不會(huì)產(chǎn)生局部均勻的縮放。考察將一個(gè)正圓柱視圖投影到橢圓柱面(橫截面是橢圓)的例子。圖19示出正圓柱面和橢圓柱面的橫截面的兩維圖。用a和b表示橢圓的短軸與長軸。那么橢圓的方程式為x=a cos(θ)和z=b sin(θ)。圓的方程式為x=a cos(θ)和z=a sin θ)。分別用s’和s表示橢圓和圓的弧長度。那么,ds′dθ=(dxdθ)2+(dxdθ)2---(11)]]>=a2sin2θ+b2cos2θ---(12)]]>dsdθ=a.---(13)]]>給定一個(gè)無限小dθ,圓和橢圓的弧長度分別是ds和ds’。因此,局部水平縮放為ds’/ds=sqrt(a2sin2θ+b2cos2θ)/a。當(dāng)θ=π/2,局部水平縮放ds’/ds=1而垂直縮放(y軸)為b/a。因此,垂直縮放比水平縮放大且物體會(huì)顯得垂直拉伸。在θ=0時(shí)準(zhǔn)確的相反是真的。它的垂直縮放是1而水平縮放是b/a。因此,物體靠近θ=0時(shí)將出現(xiàn)水平拉伸。
權(quán)利要求
1.實(shí)現(xiàn)廣角圖像的實(shí)時(shí)校正的方法,包括從廣角圖像獲得象素坐標(biāo),下文稱之為廣角象素圖像坐標(biāo);通過對象素坐標(biāo)應(yīng)用參量圖像彎曲函數(shù)產(chǎn)生彎曲表;以及使用彎曲表實(shí)時(shí)變形廣角圖像以創(chuàng)建經(jīng)校正的廣角圖像。
2.如權(quán)利要求1所述的方法,其特征在于,參量圖像彎曲函數(shù)是空間變化均勻(SVU)縮放函數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,產(chǎn)生彎曲表進(jìn)一步包括使用參量圖像彎曲函數(shù)垂直縮放廣角象素圖像坐標(biāo)以創(chuàng)建經(jīng)垂直縮放的廣角圖像象素坐標(biāo);使用參量圖像彎曲函數(shù)水平縮放經(jīng)垂直縮放的廣角圖像象素坐標(biāo)以創(chuàng)建包含初級(jí)象素坐標(biāo)的初級(jí)彎曲表;以及使用參量圖像彎曲函數(shù)對初級(jí)彎曲表進(jìn)行水平變形校正以創(chuàng)建彎曲表。
4.如權(quán)利要求3所述的方法,其特征在于,垂直縮放每條垂直掃描線進(jìn)一步包括在垂直方向上使用主縮放系數(shù)縮放廣角象素圖像坐標(biāo)。
5.如權(quán)利要求4所述的方法,其特征在于,進(jìn)一步包括使用源曲線和目標(biāo)曲線計(jì)算主縮放系數(shù)。
6.如權(quán)利要求5所述的方法,進(jìn)一步包括指定源曲線;指定彎曲系數(shù);以及使用源曲線和彎曲系數(shù)計(jì)算目標(biāo)曲線。
7.如權(quán)利要求6所述的方法,其特征在于,源曲線進(jìn)一步包括底部源曲線和頂部源曲線。
8.如權(quán)利要求6所述的方法,其特征在于,目標(biāo)曲線進(jìn)一步包括底部目標(biāo)曲線和頂部目標(biāo)曲線。
9.如權(quán)利要求3所述的方法,其特征在于,水平縮放進(jìn)一步包括在水平方向上對每條垂直掃描線使用主縮放系數(shù)縮放廣角象素圖像坐標(biāo)。
10.如權(quán)利要求9所述的方法,其特征在于,使用源曲線和目標(biāo)曲線計(jì)算主縮放系數(shù)。
11.如權(quán)利要求4所述的方法,其特征在于,水平縮放進(jìn)一步包括使用主縮放系數(shù)垂直地縮放經(jīng)垂直縮放的廣角圖像象素坐標(biāo)。
12.如權(quán)利要求3所述的方法,其特征在于,進(jìn)行水平變形校正進(jìn)一步包括將初級(jí)彎曲表分成多個(gè)部分;以及在垂直方向上使用至少兩個(gè)不同的縮放系數(shù)縮放包含在每個(gè)部分中的初級(jí)象素坐標(biāo)。
13.如權(quán)利要求12所述的方法,其特征在于,至少兩個(gè)不同的縮放系數(shù)包括主縮放系數(shù)和第二縮放系數(shù)。
14.具有實(shí)現(xiàn)權(quán)利要求1所述方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)。
15.適用于校正由廣角攝像機(jī)拍攝到的廣角圖像的變形的方法,包括輸入相應(yīng)于廣角圖像象素坐標(biāo)廣角象素坐標(biāo);使用具有縮放系數(shù)的空間變化均勻(SVU)縮放函數(shù)產(chǎn)生包含經(jīng)校正的廣角象素坐標(biāo)的彎曲表;以及創(chuàng)建適用于校正廣角圖像中放大深度的經(jīng)校正的廣角圖像。
16.如權(quán)利要求15所述的方法,進(jìn)一步包括校正縮放系數(shù)以校正水平變形。
17.如權(quán)利要求15的所述的方法,進(jìn)一步包括定義源曲線和目標(biāo)曲線以確定SVU縮放函數(shù)。
18.如權(quán)利要求17所述的方法,其特征在于,由用戶定義源曲線。
19.如權(quán)利要求15所述的方法,進(jìn)一步包括讓用戶定義指定應(yīng)用于廣角圖像變形量的彎曲系數(shù)。
20.如權(quán)利要求16所述的方法,其特征在于,調(diào)整縮放系數(shù)進(jìn)一步包括定義垂直縮放系數(shù)以控制水平縮放。
21.具有用于實(shí)時(shí)校正和觀看廣角圖像的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),包括產(chǎn)生包含廣角圖像中的象素的坐標(biāo)的彎曲表,進(jìn)一步包括在廣角圖像上指定源曲線;指定對應(yīng)于應(yīng)用在廣角象素圖像坐標(biāo)上的變形量的彎曲系數(shù);使用源曲線和彎曲系數(shù)計(jì)算目標(biāo)曲線;使用源曲線和目標(biāo)曲線計(jì)算主縮放系數(shù);使用主縮放系數(shù)縮放廣角象素圖像坐標(biāo)以產(chǎn)生彎曲表;以及將彎曲表應(yīng)用于廣角圖像以創(chuàng)建經(jīng)校正的廣角圖像;
22.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,使用主縮放系數(shù)進(jìn)一步包括使用主縮放系數(shù)垂直地縮放廣角象素圖像坐標(biāo)的每條垂直掃描線;以及使用主縮放系數(shù)水平地縮放廣角象素圖像坐標(biāo)。
23.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于彎曲系數(shù)是一個(gè)在0和1之間并包括0和1的數(shù)字。
24.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),其特征在于源曲線包括頂部源曲線和底部源曲線,頂部源曲線定義在廣角圖像頂部的水平特征且底部源曲線定義在廣角圖像底部的水平特征。
25.變形廣角圖像的方法,包括使用參量圖像彎曲函數(shù)和主縮放系數(shù)垂直地縮放廣角圖像的每條垂直掃描線的象素坐標(biāo);使用參量圖像彎曲函數(shù)和主縮放系數(shù)水平地縮放廣角圖像的象素坐標(biāo);產(chǎn)生包含初級(jí)象素坐標(biāo)的初級(jí)彎曲表;以及通過對初級(jí)彎曲表應(yīng)用參量圖像彎曲函數(shù)和主縮放系數(shù)校正水平變形以產(chǎn)生彎曲表。
26.如權(quán)利要求25所述的方法,進(jìn)一步包括將彎曲表應(yīng)用于廣角圖像,以確定在經(jīng)校正的廣角圖像中廣角圖像的象素坐標(biāo)的位置;以及將廣角圖像的每個(gè)象素坐標(biāo)的RGB值應(yīng)用于經(jīng)校正的廣角圖像。
27.如權(quán)利要求25所述的方法,其特征在于,使用由用戶指定的源曲線和根據(jù)源曲線計(jì)算得到的目標(biāo)曲線計(jì)算主縮放系數(shù)。
28.如權(quán)利要求25所述的方法,其特征在于,校正水平變形進(jìn)一步包括應(yīng)用第二縮放系數(shù)。
29.校正廣角圖像中的變形和感覺問題的方法,包括使用空間變化均勻(SVU)縮放函數(shù)和主縮放系數(shù)垂直地和水平地縮放廣角圖像的象素坐標(biāo)以產(chǎn)生包含初級(jí)象素坐標(biāo)的初級(jí)彎曲表;將初級(jí)彎曲表分成多個(gè)部分,每個(gè)部分至少包含一些初級(jí)象素坐標(biāo);指定不同于主縮放系數(shù)的第二縮放系數(shù);以及對于多個(gè)部分中的第一組部分的初級(jí)象素坐標(biāo)使用主縮放系數(shù)、對于多個(gè)部分中的第二組部分的初級(jí)象素坐標(biāo)使用第二縮放系數(shù)進(jìn)行垂直縮放多個(gè)部分中的各個(gè)部分以校正水平變形。
30.如權(quán)利要求29所述的方法,進(jìn)一步包括使用底部源曲線、頂部源曲線、底部目標(biāo)曲線和頂部目標(biāo)曲線計(jì)算主縮放系數(shù)。
31.如權(quán)利要求30所述的方法,其特征在于,底部源曲線、頂部源曲線、底部目標(biāo)曲線和頂部目標(biāo)曲線是立方曲線。
32.如權(quán)利要求30所述的方法,其特征在于,分割進(jìn)一步包括創(chuàng)建包含對應(yīng)于位于頂部源曲線和底部源曲線之間廣角圖像中象素的初級(jí)象素坐標(biāo)的第一部分。
33.如權(quán)利要求32所述的方法,其特征在于,部分的第一組是第一部分,以及其特征在于,垂直地縮放進(jìn)一步包括在垂直方向上使用主縮放系數(shù)縮放第一部分。
34.如權(quán)利要求33所述的方法,其特征在于,部分的第二組包括除第一部分以外的多個(gè)部分的每個(gè)部分,并且其特征在于,垂直地縮放進(jìn)一步包括使用第二縮放系數(shù)在垂直方向上縮放第二組部分。
35.如權(quán)利要求29所述的方法,進(jìn)一步包括使用平滑函數(shù)連接多個(gè)部分中的每個(gè)部分。
36.如權(quán)利要求29所述的方法,進(jìn)一步包括對初級(jí)彎曲表進(jìn)行水平變形校正函數(shù)以產(chǎn)生彎曲表。
37.如權(quán)利要求36所述的方法,進(jìn)一步包括由廣角圖像使用彎曲表創(chuàng)建經(jīng)校正的廣角圖像。
38.校正廣角圖像中的變形和感覺缺陷的實(shí)時(shí)廣角圖像校正系統(tǒng),包括彎曲表在廣角圖像中為其中的每個(gè)象素指定位置;使用參量圖像彎曲函數(shù)的彎曲表生成模塊;由彎曲表生成模塊產(chǎn)生的包含廣角象素圖像坐標(biāo)的彎曲表;以及將彎曲表應(yīng)用于廣角圖像以創(chuàng)建經(jīng)校正的廣角圖像的實(shí)時(shí)圖像彎曲系統(tǒng)。
39.如權(quán)利要求38所述的實(shí)時(shí)廣角圖像校正系統(tǒng),其特征在于,參量圖像彎曲函數(shù)是空間變化均勻(SVU)縮放函數(shù)。
40.如權(quán)利要求38所述的實(shí)時(shí)廣角圖像校正系統(tǒng),其特征在于,彎曲表生成模塊進(jìn)一步包括用于進(jìn)行垂直和水平縮放的的主縮放系數(shù)。
41.如權(quán)利要求40所述的實(shí)時(shí)廣角圖像校正系統(tǒng),進(jìn)一步包括用于計(jì)算主縮放系數(shù)的源曲線和目標(biāo)曲線。
42.如權(quán)利要求38所述的實(shí)時(shí)廣角圖像校正系統(tǒng),其特征在于,彎曲表生成模塊進(jìn)一步包括用于進(jìn)行垂直縮放和水平縮放的主縮放系數(shù);以及用于進(jìn)行水平變形校正函數(shù)的第二縮放系數(shù)。
43.如權(quán)利要求38所述的實(shí)時(shí)廣角圖像校正系統(tǒng),其特征在于,彎曲表生成模塊進(jìn)一步包括接收廣角象素圖像坐標(biāo)的輸入模塊;使用參量圖像彎曲函數(shù)在垂直方向上縮放廣角象素圖像坐標(biāo)的垂直縮放模塊;使用參量圖像彎曲函數(shù)在水平方向上縮放廣角象素圖像坐標(biāo)的水平縮放模塊。
44.如權(quán)利要求43所述的實(shí)時(shí)廣角圖像校正系統(tǒng),進(jìn)一步包括根據(jù)位置的不同量垂直地縮放初級(jí)彎曲表中初級(jí)象素坐標(biāo)的水平變形校正函數(shù)模塊。
全文摘要
本發(fā)明包括實(shí)時(shí)廣角圖像校正系統(tǒng)和方法,它適用于減輕由廣角攝像機(jī)拍攝的圖像中變形和感覺問題。一般而言,實(shí)時(shí)廣角圖像校正方法由廣角圖像的象素坐標(biāo)產(chǎn)生彎曲表并將彎曲表應(yīng)用于廣角圖像以創(chuàng)建經(jīng)校正的廣角圖像。使用包括空間變化均勻(SVU)縮放函數(shù)的參量類彎曲函數(shù)進(jìn)行校正。SVU縮放函數(shù)和縮放系數(shù)用于對廣角象素圖像坐標(biāo)的進(jìn)行垂直縮放和水平縮放。使用SVU縮放函數(shù)和至少兩個(gè)不同縮放系數(shù)進(jìn)行水平變形校正。該處理產(chǎn)生彎曲表,它能應(yīng)用于廣角圖像以產(chǎn)生經(jīng)校正的廣角圖像。
文檔編號(hào)G06T3/00GK1477597SQ03145729
公開日2004年2月25日 申請日期2003年6月30日 優(yōu)先權(quán)日2002年6月28日
發(fā)明者劉自成, M·科恩 申請人:微軟公司