專(zhuān)利名稱:在360度全景圖像中進(jìn)行頭部大小均衡的系統(tǒng)和方法的用戶界面的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及使用計(jì)算機(jī)觀看圖像,尤其涉及對(duì)由全向相機(jī)拍攝的全景圖像進(jìn)行實(shí)時(shí)校正以緩解與這類(lèi)圖像相關(guān)聯(lián)的畸變和感知問(wèn)題的系統(tǒng)和方法的用戶界面。
背景技術(shù):
通常具有大于60度的視場(chǎng)的廣角相機(jī)常常被用于拍攝大型場(chǎng)景。由廣角相機(jī)拍攝的廣角圖像可使用至少兩種類(lèi)型的投影來(lái)觀看。線性透視和圓柱投影是用來(lái)觀看廣角圖像的最典型的投影。
線性透視投影是將由廣角鏡頭拍攝的圖像投影在平面膠片上。線性透視投影以犧牲維持形狀為代價(jià)保持直線筆直。這導(dǎo)致了透視畸變。如果圖像觀看者將其眼睛放在投影中心,則圖像將顯得是正確而不是畸變的。然而,當(dāng)在較小的視場(chǎng)下觀看該廣角圖像時(shí),觀看者期望在物體旋轉(zhuǎn)時(shí)圖像平面上的圖像大小增加較小并且畸變量較小。這就是為何物體在邊緣處顯得被拉伸的原因。圖像平面上比預(yù)期的大小變化和畸變?cè)绞谴?,就越?huì)使得用戶感覺(jué)場(chǎng)景不固定,就像場(chǎng)景在觀察者周?chē)蝿?dòng)一樣,在觀看全景圖像時(shí)尤為如此。
圓柱投影是使用具有曲面膠片和旋轉(zhuǎn)開(kāi)縫鏡頭產(chǎn)生了。圓柱投影比線性投影能夠更好地保持形狀。另外,圓柱投影緩解了任何明顯的游動(dòng)運(yùn)動(dòng)。雖然圓柱投影是優(yōu)于線性投影的一種觀看改善,但是畸變和感知問(wèn)題仍然存在。尤其,圓柱投影過(guò)度地彎曲了直線。另外,圓柱投影幾乎完全消除了在觀看全景圖像時(shí)轉(zhuǎn)動(dòng)頭部的幻影。
廣角圖像中的畸變和彎曲問(wèn)題是由視場(chǎng)失配所引起的。具體而言,由于計(jì)算機(jī)監(jiān)視上有限的觀看大小和標(biāo)準(zhǔn)的觀看距離,觀看時(shí)圖像所對(duì)向的角度比原始將該場(chǎng)景投射到圖像屏幕平面的相機(jī)的視場(chǎng)小的多。這種失配是導(dǎo)致許多畸變和感知問(wèn)題的原因。
由于在觀看時(shí)以較小的視場(chǎng)觀看廣角圖像引起的相關(guān)問(wèn)題是深度的錯(cuò)誤感知。廣角圖像夸大了遠(yuǎn)近物體之間的深度差異。場(chǎng)景中物體深度的一個(gè)重要視覺(jué)線索是位于近處和遠(yuǎn)處位置的相似物體的圖像大小之間的比率(稱為深度透視縮小率)。較小的視場(chǎng)導(dǎo)致較小的透視縮小率。例如,假定一場(chǎng)景包含彼此靠近站立的兩個(gè)人,其中一個(gè)人比另外一個(gè)人離相機(jī)稍遠(yuǎn)。如果該場(chǎng)景被用常規(guī)(約60度)視場(chǎng)相機(jī)拍攝,并且相同場(chǎng)景又由廣角視場(chǎng)相機(jī)拍攝,則場(chǎng)景中物體的大小將顯得不同。具體而言,使用常規(guī)視場(chǎng)相機(jī),離相機(jī)較遠(yuǎn)的那個(gè)人將顯得比另一個(gè)人離相機(jī)稍遠(yuǎn)。然而,使用廣角視場(chǎng)相機(jī),離相機(jī)較遠(yuǎn)的那個(gè)人將顯得比另一個(gè)人小得多。由于這種被夸大的大小差異,離相機(jī)較遠(yuǎn)的那個(gè)人顯得比實(shí)際要遠(yuǎn)得多。當(dāng)在計(jì)算機(jī)監(jiān)視器上觀看深度場(chǎng)景的廣角圖像(諸如視頻會(huì)議場(chǎng)景)時(shí),觀看者的視場(chǎng)一般而言會(huì)比實(shí)際圖像的視場(chǎng)小得多。因此,觀看者所感知的深度比實(shí)際深度要大得多。
顯露這些畸變和感知問(wèn)題的一個(gè)應(yīng)用是在視頻會(huì)議系統(tǒng)中。廣角相機(jī)常在視頻會(huì)議系統(tǒng)中用于拍攝和發(fā)送包含有會(huì)議室中出席的所有與會(huì)人員的圖像。然而,一個(gè)問(wèn)題是在觀看該視頻會(huì)議時(shí)廣角圖像夸大了該會(huì)議室的深度。這使得圖像中間的人(通常是離相機(jī)最遠(yuǎn)的人)由于極度的透視縮小而與會(huì)議室中的其他人相比顯得非常小。
通常伴隨廣角相機(jī)圖像的這些畸變和感知問(wèn)題在觀看覆蓋360度視場(chǎng)的全景圖像時(shí)甚至更加明顯。全景圖像可以通過(guò)對(duì)準(zhǔn)和“縫合”從單個(gè)相機(jī)獲得的輸入圖像來(lái)生成?;蛘?,全景圖像可以通過(guò)使用多個(gè)相機(jī)獲取輸入圖像并將它們縫合在一起來(lái)創(chuàng)建。例如,使用多個(gè)相機(jī)生成全景視頻就是這樣的情形。本質(zhì)上,創(chuàng)建全景視頻必然要求獲取描繪周?chē)鷪?chǎng)景的360度景觀的多個(gè)視頻。由以背靠背方式布置的多個(gè)相機(jī)組成的相機(jī)機(jī)組有時(shí)被用來(lái)拍攝這些視頻。通常使用將輸入圖像中的像素位置映射到全景圖像中的像素位置的縫合表以將這些圖像在全景中縫合在一起。360度全向相機(jī)已被用于會(huì)議記錄和視頻會(huì)議。相機(jī)通常被放在周?chē)信c會(huì)人員的桌子中央。如果該會(huì)議桌是矩形,則該全景圖像上的人頭部的大小將根據(jù)他們離相機(jī)的距離而變化。例如坐在桌子遠(yuǎn)端的人將比坐得離相機(jī)較近的人顯得小的多。全景圖像中的這種頭部大小變化看起來(lái)不悅目并且經(jīng)常難以辨認(rèn)位于桌子遠(yuǎn)端的人或辨認(rèn)他們的表情。
伴隨著采用全景圖像的視頻會(huì)議的另一問(wèn)題是某些全向相機(jī)生成3700×600像素的全景圖像,然而大多數(shù)用戶僅有只能顯示1024×166像素的全景的1024×768像素顯示器。在分辨率降低這么大的情況下,位于桌子遠(yuǎn)端的人在沒(méi)有進(jìn)行頭部大小歸一化時(shí)是看不到的。
相應(yīng)地,需要一種對(duì)全景相機(jī)拍攝的圖像進(jìn)行實(shí)時(shí)校正以緩解與這些圖像相關(guān)聯(lián)的畸變和感知問(wèn)題的系統(tǒng)和方法。該系統(tǒng)和方法應(yīng)該將全景圖像中的頭部大小歸一化并允許用標(biāo)準(zhǔn)分辨率監(jiān)視器來(lái)觀看圖像中的人物。另外,該系統(tǒng)和方法應(yīng)該易于建立和操作并且應(yīng)該是計(jì)算上高效率的。
發(fā)明概要 本發(fā)明提供了對(duì)約360度全景圖像中的畸變和感知缺陷提供實(shí)時(shí)校正的系統(tǒng)和方法的用戶界面。該實(shí)時(shí)全景圖像校正系統(tǒng)和方法采用參數(shù)翹曲函數(shù)即空間變化一致(SVU)縮放函數(shù)來(lái)翹曲全景圖像以在不引入不連續(xù)性的同時(shí)均衡人頭部的大小。SVU函數(shù)之前在于2002年6月28日提交的題為“Real-Time Wide-Angle ImageCorrection System And Method For Computer Image Viewing(用于計(jì)算機(jī)圖像觀看的實(shí)時(shí)廣角圖像校正系統(tǒng)和方法)”的專(zhuān)利申請(qǐng)S/N10/186,915中說(shuō)明過(guò)。然而,該先前專(zhuān)利申請(qǐng)僅是針對(duì)至多達(dá)180度的圖像使用該技術(shù)。在本發(fā)明中,該SVU縮放函數(shù)被應(yīng)用到360度全景圖像,同時(shí)考慮了諸如會(huì)議桌幾何形狀以及與與會(huì)人員頭部相切的平面等水平特征。在上述專(zhuān)利申請(qǐng)中,SVU縮放函數(shù)被用在通常由放在會(huì)議室桌子的一端的廣角相機(jī)生成的至多達(dá)180度的圖像。與此形成對(duì)比,現(xiàn)在通常將360度全向相機(jī)通常放在桌子的中央。因此,用于計(jì)算廣角圖像和約360度全景圖像的SVU縮放函數(shù)的上下曲線是不同的。
該實(shí)時(shí)全景圖像校正系統(tǒng)和方法提供了頭部大小歸一化,從而使得諸如頭部等較遠(yuǎn)物體顯得較近因此也較大。同時(shí)也使較大的近處頭部顯得較小。因此,位于桌子遠(yuǎn)端的人變大并且即使在1024×166像素的顯示器上也能看得到。在本發(fā)明的系統(tǒng)和方法的一個(gè)實(shí)施例中,用戶還選擇會(huì)議桌形狀和大小并且該實(shí)時(shí)全景圖像校正系統(tǒng)修改全景圖像縫合表以匹配該會(huì)議桌從而使得在計(jì)算縫合的同時(shí)歸一化與會(huì)人員的頭部大小。
實(shí)時(shí)全景圖像校正系統(tǒng)和方法的用戶界面(UI)簡(jiǎn)化了用戶對(duì)該系統(tǒng)的使用。該UI包括允許用戶輸入會(huì)議桌大小和形狀以及所需的歸一化的量(例如,0到100%)的控制面板。還可在顯示經(jīng)校正的全景圖像的顯示器上實(shí)現(xiàn)發(fā)言人窗口。在該發(fā)言人窗口中,來(lái)自與會(huì)人員特別是正在發(fā)言的人的歸一化頭部可以從全景圖像中被提取并顯示在單獨(dú)的窗口中。另外,由于經(jīng)校正的全景圖像將根據(jù)所應(yīng)用的歸一化的量而在大小上有所變化,所以可將經(jīng)校正的全景圖像顯示為周界具有額外的像素以使其遵從標(biāo)準(zhǔn)大小。例如,可跨經(jīng)校正的全景圖像的上端和底端放置黑色條。這允許經(jīng)校正或歸一化的全景圖像能以標(biāo)準(zhǔn)大小在網(wǎng)絡(luò)上發(fā)送并允許該圖像適配任何標(biāo)準(zhǔn)顯示器大小和分辨率。
附圖簡(jiǎn)要說(shuō)明 本發(fā)明可參照以下說(shuō)明和示出本發(fā)明的各方面的附圖來(lái)進(jìn)一步理解。其它特征和優(yōu)點(diǎn)在結(jié)合通過(guò)示例說(shuō)明了本發(fā)明的原理的附圖考慮本發(fā)明的以下具體說(shuō)明時(shí)將是顯而易見(jiàn)的。
圖1示出了由360度全景相機(jī)在會(huì)議室中拍攝的圖像。
圖2示出了經(jīng)過(guò)本發(fā)明的實(shí)時(shí)全景圖像校正系統(tǒng)和方法校正的圖1中的圖像。
圖3示出了針對(duì)180度圖像的SVU縮放函數(shù)的上下曲線(綠色曲線)。
圖4示出了針對(duì)360度全景圖像的SVU縮放函數(shù)的上下曲線(綠色曲線)。
圖5A是示出了本發(fā)明的實(shí)時(shí)全景圖像校正系統(tǒng)的一個(gè)實(shí)施例的概況的框圖。
圖5B是示出了本發(fā)明的采用了級(jí)聯(lián)縫合和翹曲表的實(shí)時(shí)全景圖像校正系統(tǒng)的另一實(shí)施例的概況的框圖。
圖6是示出了適于執(zhí)行本發(fā)明的計(jì)算裝置的框圖。
圖7是示出了圖5A和5B中所示的實(shí)時(shí)全景圖像校正系統(tǒng)的翹曲表生成模塊的細(xì)節(jié)的框圖。
圖8A是示出了圖5A中所示的實(shí)時(shí)全景圖像校正系統(tǒng)的操作的一般性流程圖。
圖8B是示出了圖5B中所示的實(shí)時(shí)全景圖像校正系統(tǒng)的操作的一般性流程圖。
圖9是示出了圖7中所示的垂直縮放模塊的細(xì)節(jié)的流程圖。
圖10示出了根據(jù)兩組曲線來(lái)確定翹曲函數(shù)。
圖11是演示了桌子邊緣投影到圓柱膠片上(假定采用標(biāo)準(zhǔn)相機(jī)取向)的示圖。
圖12是示出了圖7中所示水平縮放模塊的細(xì)節(jié)的流程圖。
圖13是示出了圖7中所示的水平畸變校正模塊的細(xì)節(jié)的流程圖。
圖14示出了垂直縮放函數(shù)以及將初步像素坐標(biāo)分為三個(gè)部分的概念性示圖。
圖15繪出了經(jīng)填充的校正后全景圖像,其中額外的像素被添加到圖像的周界周?chē)鷱亩蛊渑c用于網(wǎng)絡(luò)傳輸或顯示的標(biāo)準(zhǔn)大小一致。
發(fā)明具體說(shuō)明 在以下本發(fā)明的說(shuō)明中,參照了構(gòu)成本發(fā)明一部分并在其中通過(guò)示例示出了可以實(shí)踐本發(fā)明的具體示例的附圖。應(yīng)該理解的是,也可利用其它實(shí)施例并且可以進(jìn)行結(jié)構(gòu)改變而不會(huì)背離本發(fā)明的范圍。
1.0概述 圖1示出了由位于會(huì)議室中桌子中央的360度全向相機(jī)拍攝的圖像。該相機(jī)配置是可在視頻會(huì)議應(yīng)用中使用的典型相機(jī)配置。參照?qǐng)D1,可以看到穿白色衣服的人顯得比其它兩個(gè)人小得多。其原因在于他坐得離相機(jī)較遠(yuǎn)。首先,穿白色衣服的人可見(jiàn)度低得多并且顯得離觀察者較遠(yuǎn),從而影響實(shí)時(shí)通信的體驗(yàn)。其次,由于網(wǎng)絡(luò)帶寬限制和有限的屏幕空間,圖像大小通常受到限制。如果人的圖像非常小,那么許多傳輸?shù)南袼鼐捅焕速M(fèi)了。因此,均衡人體頭部大小以最大地利用傳輸和顯示的數(shù)目的像素是合乎需要的。圖2示出了使用實(shí)時(shí)全景圖像校正系統(tǒng)和方法校正的圖1的圖像。
實(shí)時(shí)全景圖像校正系統(tǒng)和方法采用了一種均衡或歸一化人頭部的大小而同時(shí)不會(huì)造成圖像不連續(xù)性的技術(shù)。該技術(shù)是在2002年6月28日提交的題為“Real-TimeWide-Angle Image Correction System And Method For Computer Image Viewing(用于計(jì)算機(jī)圖像觀看的實(shí)時(shí)廣角圖像校正系統(tǒng)和方法)”的專(zhuān)利申請(qǐng)S/N10/186,915中說(shuō)明的SVU縮放函數(shù)的擴(kuò)展。在該先前的專(zhuān)利申請(qǐng)中,SVU縮放函數(shù)被用在通常由放在會(huì)議室桌子一端的廣角相機(jī)生成的180度圖像上。與此形成對(duì)比,如以上所討論的,現(xiàn)在通常將360度全景相機(jī)放在桌子的中央。因此,針對(duì)360度全景圖像生成的用于計(jì)算SVU縮放函數(shù)的上下曲線與廣角(例如,至多達(dá)180度)圖像中所使用的不同。圖3示出了用于計(jì)算針對(duì)180度圖像的SVU縮放函數(shù)的上下源曲線(綠色曲線)。圖4示出了用于計(jì)算針對(duì)360度圖像的SVU縮放函數(shù)的上下源曲線(綠色曲線)。給定了綠色源曲線和目標(biāo)曲線(紅色曲線),就可以用與上述專(zhuān)利申請(qǐng)中所描述的相同的方法生成SVU縮放函數(shù)。
與先前提到的共審待批的專(zhuān)利申請(qǐng)相類(lèi)似,全景圖像的校正是使用一類(lèi)被稱為空間變化一致(SVU)縮放函數(shù)的用于保持局部縮放透視并校正深度錯(cuò)誤感知的參數(shù)翹曲函數(shù)來(lái)實(shí)現(xiàn)的。該SVU縮放函數(shù)和縮放因子被用來(lái)對(duì)圖像的像素坐標(biāo)執(zhí)行垂直縮放和水平縮放。這生成了將該經(jīng)初步校正的圖像的像素位置映射到原始像素坐標(biāo)的初步翹曲表。該經(jīng)初步校正的圖像是虛擬圖像而并沒(méi)有被實(shí)際構(gòu)造。然而,該經(jīng)初步校正的圖像保持垂直線條筆直但使水平線條畸變。這種水平畸變是通過(guò)使用SVU縮放函數(shù)和至少兩個(gè)不同的縮放因子執(zhí)行水平畸變校正來(lái)校正的。該處理生成了翹曲表。該翹曲表將經(jīng)過(guò)校正的全景圖像中的位置映射到畸變的全景圖像中的原始像素坐標(biāo)。在其中圖像被縫合以創(chuàng)建全景圖像的本發(fā)明的一些實(shí)施例中,該翹曲表可以與縫合表級(jí)聯(lián)以提高計(jì)算效率。使用該翹曲表、或級(jí)聯(lián)的縫合和翹曲表,就從原始的全景圖像實(shí)時(shí)地構(gòu)造出經(jīng)過(guò)校正的全景圖像。
圖5A是示出了本發(fā)明的實(shí)時(shí)全景圖像校正系統(tǒng)500A的一個(gè)實(shí)施例的概況的框圖。一般而言,系統(tǒng)500A獲得水平特征幾何(例如,會(huì)議桌幾何和與人的頭部頂端相切的平面)以及全景圖像510,并輸入水平特征幾何505以及與該全景圖像內(nèi)每個(gè)像素的坐標(biāo)相對(duì)應(yīng)的全景圖像像素坐標(biāo)520。水平特征幾何505和全景圖像像素坐標(biāo)520由實(shí)時(shí)全景圖像校正系統(tǒng)500A處理,并輸出經(jīng)過(guò)校正的全景圖像530。
全景圖像510可以是單個(gè)縫合的圖像(諸如來(lái)自靜止相機(jī))或圖像序列的一部分(諸如來(lái)自視頻相機(jī))。全景圖像510內(nèi)每個(gè)像素的坐標(biāo)被獲得以生成全景圖像像素坐標(biāo)520。例如,在直角坐標(biāo)框架中,像素坐標(biāo)520是全景圖像510內(nèi)通常對(duì)應(yīng)于被縫合以獲得該全景圖像的一系列圖像的像素中的每一個(gè)的(x,y)位置。實(shí)時(shí)全景圖像校正模塊500A包括翹曲表生成模塊540、翹曲表550以及實(shí)時(shí)圖像翹曲系統(tǒng)560。
翹曲表生成模塊540被用于利用參數(shù)圖像翹曲函數(shù)生成翹曲表550。全景圖像像素坐標(biāo)520被處理以創(chuàng)建翹曲表550。翹曲表生成模塊540的細(xì)節(jié)將在以下討論。翹曲表550包含以對(duì)應(yīng)于經(jīng)校正的全景圖像530中的位置的方式排列的全景圖像像素坐標(biāo)520。因此,翹曲表550確定全景圖像像素坐標(biāo)520在經(jīng)校正的全景圖像530中的新位置。
一旦生成了翹曲表550,實(shí)時(shí)翹曲系統(tǒng)560就接收全景圖像510作為輸入。實(shí)時(shí)全景圖像翹曲系統(tǒng)560將翹曲表550應(yīng)用到全景圖像510以創(chuàng)建經(jīng)過(guò)校正的全景圖像530。實(shí)時(shí)翹曲系統(tǒng)560通過(guò)獲取全景圖像510位于包含在翹曲表550中的像素坐標(biāo)處的RGB值來(lái)針對(duì)經(jīng)校正的全景圖像530中的每個(gè)位置來(lái)創(chuàng)建經(jīng)校正的全景圖像530。全景像素坐標(biāo)520處的RGB值由此被重新定位在經(jīng)校正的全景圖像530中。新位置是使用翹曲表550來(lái)確定的。應(yīng)該注意的是,可以使用諸如YUV等任意顏色空間。
在圖5B所示的本發(fā)明的另一實(shí)施例500B中,翹曲表被與用來(lái)將全景圖像縫合在一起的縫合表級(jí)聯(lián)。在該實(shí)施例中,一組輸入圖像512被縫合成虛構(gòu)全景圖像515,并且該虛構(gòu)縫合的全景圖像的圖像像素坐標(biāo)522被輸入到系統(tǒng)500B中。實(shí)時(shí)全景圖像校正模塊500B包括翹曲表生成模塊540、翹曲表550、級(jí)聯(lián)的縫合和翹曲表555(在4.5節(jié)中更加具體地討論)、以及實(shí)時(shí)圖像翹曲系統(tǒng)560。
翹曲表生成模塊540被用于使用參數(shù)圖像翹曲函數(shù)生成翹曲表550。虛構(gòu)全景圖像515的全景圖像像素坐標(biāo)522被處理以創(chuàng)建翹曲表550。翹曲表生成模塊540的細(xì)節(jié)將在以下討論。翹曲表550包含以與經(jīng)校正全景圖像530中的位置相對(duì)應(yīng)的方式排列的全景圖像像素坐標(biāo)522。因此,翹曲表550確定全景圖像像素坐標(biāo)522在經(jīng)校正全景圖像530中的新位置。
一旦生成了翹曲表550,就將其與用于縫合這一組輸入圖像512的縫合表相連接以創(chuàng)建級(jí)聯(lián)的翹曲和縫合表555。這組輸入圖像512由實(shí)時(shí)圖像翹曲系統(tǒng)560作為輸入接收。實(shí)時(shí)全景圖像翹曲系統(tǒng)560將級(jí)聯(lián)的翹曲和縫合表555應(yīng)用到這組輸入圖像512以創(chuàng)建經(jīng)校正的全景圖像530。實(shí)時(shí)圖像翹曲系統(tǒng)560通過(guò)獲取該組輸入圖像512位于包含在級(jí)聯(lián)的翹曲和縫合表555中的像素坐標(biāo)處的RGB值(或YUV、或其它顏色空間)來(lái)針對(duì)經(jīng)校正全景圖像530中的每個(gè)位置創(chuàng)建經(jīng)校正的全景圖像530。虛構(gòu)全景像素坐標(biāo)522處的RGB值因此在這組輸入圖像512被縫合的同時(shí)被重新定位在經(jīng)校正的全景圖像530中。新位置是使用級(jí)聯(lián)的翹曲和縫合表555來(lái)確定的。
由于縫合器是靜態(tài)的并且需要最小的計(jì)算,因此翹曲過(guò)程是實(shí)時(shí)發(fā)生的。翹曲表的生成意味著創(chuàng)建經(jīng)校正的全景圖像530所需的全部就是將翹曲表550(或級(jí)聯(lián)的翹曲和縫合標(biāo))應(yīng)用到全景圖像510或這組輸入圖像512,這可以快速實(shí)現(xiàn)。
2.0示例性操作環(huán)境 本發(fā)明的實(shí)時(shí)全景圖像校正系統(tǒng)500A或500B被設(shè)計(jì)成在計(jì)算環(huán)境中操作。以下討論旨在提供可在其中實(shí)現(xiàn)本發(fā)明的合適計(jì)算環(huán)境的簡(jiǎn)短且一般性的說(shuō)明。
圖6是示出了適于實(shí)施本發(fā)明的計(jì)算裝置的框圖。雖然并不要求如此,但將將在由計(jì)算機(jī)執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的一般性背景中對(duì)本發(fā)明進(jìn)行說(shuō)明。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。此外,本領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到本發(fā)明還可在包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、微型計(jì)算機(jī)、大型計(jì)算機(jī)等各種計(jì)算機(jī)系統(tǒng)配置上實(shí)踐。本發(fā)明還可在任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)兩者上。
參照?qǐng)D6,用于實(shí)現(xiàn)本發(fā)明的一個(gè)示例性系統(tǒng)包括通用計(jì)算設(shè)備600。特別地,計(jì)算設(shè)備600包括處理單元602、系統(tǒng)存儲(chǔ)器604、以及將包括系統(tǒng)存儲(chǔ)器604在內(nèi)的各種系統(tǒng)組件耦合至處理單元602的系統(tǒng)總線606。系統(tǒng)總線606可以是包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及使用各種總線架構(gòu)的局部總線在內(nèi)的諸多類(lèi)型的總線結(jié)構(gòu)中的任意一種。系統(tǒng)存儲(chǔ)器包括只讀存儲(chǔ)器(ROM)610和隨機(jī)存取存儲(chǔ)器(RAM)612。包含幫助在諸如啟動(dòng)期間在計(jì)算設(shè)備600內(nèi)的各要素之間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)614被存儲(chǔ)在ROM 610中。計(jì)算設(shè)備600還包括對(duì)未示出的硬盤(pán)進(jìn)行讀取和寫(xiě)入的硬盤(pán)驅(qū)動(dòng)器616、對(duì)可移動(dòng)磁盤(pán)620進(jìn)行讀取和寫(xiě)入的磁盤(pán)驅(qū)動(dòng)器618、以及對(duì)諸如CD-ROM等可移動(dòng)光盤(pán)624或其它光學(xué)介質(zhì)進(jìn)行讀取或?qū)懭氲墓獗P(pán)驅(qū)動(dòng)器622。硬盤(pán)驅(qū)動(dòng)器616、磁盤(pán)驅(qū)動(dòng)器628以及光盤(pán)驅(qū)動(dòng)器622通過(guò)硬盤(pán)驅(qū)動(dòng)器接口626、磁盤(pán)驅(qū)動(dòng)器接口628以及光盤(pán)驅(qū)動(dòng)器接口630分別被連接至系統(tǒng)總線606。驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算設(shè)備600提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊以及其它數(shù)據(jù)的非易失性存儲(chǔ)。
雖然在此所述的示例性環(huán)境采用了硬盤(pán)、可移動(dòng)磁盤(pán)620以及可移動(dòng)光盤(pán)624,然而本領(lǐng)域的技術(shù)人員應(yīng)該認(rèn)識(shí)到的是,諸如磁帶盒、閃存卡、數(shù)字視頻盤(pán)、Bernoulli盒式磁盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等可以存儲(chǔ)計(jì)算機(jī)所能訪問(wèn)的數(shù)據(jù)的其它類(lèi)型的計(jì)算機(jī)可讀介質(zhì)也可在該示例性操作環(huán)境中使用。
可在硬盤(pán)、磁盤(pán)620、光盤(pán)624、ROM 610或RAM 612上存儲(chǔ)包括操作系統(tǒng)632、一個(gè)或多個(gè)應(yīng)用程序634、其它程序模塊636以及程序數(shù)據(jù)638在內(nèi)的多個(gè)程序模塊。用戶(未示出)可通過(guò)諸如鍵盤(pán)640和定點(diǎn)設(shè)備642等輸入設(shè)備向計(jì)算設(shè)備600中輸入命令和信息。另外,相機(jī)643(諸如攝像機(jī))以及包括例如話筒、操縱桿、游戲墊、盤(pán)式衛(wèi)星天線、掃描器等在內(nèi)的其它輸入設(shè)備(未示出)可以被連接至計(jì)算設(shè)備600。這些其它輸入設(shè)備經(jīng)常通過(guò)被耦合至系統(tǒng)總線606的串行端口接口644連接至處理單元602,但是也可通諸如并行端口、游戲端口或通用串行接口(USB)等其它接口來(lái)連接。監(jiān)視器646(或其它類(lèi)型的顯示設(shè)備)也通過(guò)諸如視頻適配器648等接口被連接至系統(tǒng)總線606。除了監(jiān)視器646之外,諸如個(gè)人計(jì)算機(jī)等計(jì)算設(shè)備通常包括諸如揚(yáng)聲器或打印機(jī)等其它外圍輸出設(shè)備(未示出)。
計(jì)算設(shè)備600可使用至諸如遠(yuǎn)程計(jì)算機(jī)650等一臺(tái)或多臺(tái)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在連網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)650可以是另一臺(tái)個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并且雖然在圖6中僅示出了存儲(chǔ)器存儲(chǔ)設(shè)備652,但通常還包括以上關(guān)于計(jì)算設(shè)備600所描述的要素中的部分或全部。圖6中所示的邏輯連接包括局域網(wǎng)(LAN)654和廣域網(wǎng)(WAN)656、這些連網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)中是較為普遍的。
當(dāng)在LAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算設(shè)備600通過(guò)網(wǎng)絡(luò)接口或適配器658被連接到局域網(wǎng)654。當(dāng)在WAN連網(wǎng)環(huán)境中使用時(shí),計(jì)算設(shè)備600通常包括用于通過(guò)諸如因特網(wǎng)等廣域網(wǎng)656建立通信的調(diào)制解調(diào)器660或其它裝置??梢詢?nèi)置或外置的調(diào)制解調(diào)器660通過(guò)串行端口接口644被連接至系統(tǒng)總線606。在連網(wǎng)環(huán)境中,關(guān)于計(jì)算設(shè)備600所繪的程序模塊或其部分可存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備652中。應(yīng)該認(rèn)識(shí)到的是,所示的網(wǎng)絡(luò)連接是示例性的,也可使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
3.0實(shí)時(shí)全景圖像校正系統(tǒng)詳述 一般而言,實(shí)時(shí)全景圖像校正系統(tǒng)500提供了全景圖像510的實(shí)時(shí)校正,尤其是將遠(yuǎn)離相機(jī)就坐的人的頭部大小歸一化或均衡化。系統(tǒng)500校正垂直和水平方向上的彎曲和畸變。另外,系統(tǒng)500校正諸如深度和游動(dòng)運(yùn)動(dòng)等感知問(wèn)題。
圖7是示出了圖5A或5B中所示的翹曲表生成模塊540的細(xì)節(jié)的框圖。具體而言,翹曲表生成模塊540包括用于輸入全景圖像像素坐標(biāo)520或虛構(gòu)全景圖像的像素坐標(biāo)522以及水平特征幾何505的輸入模塊700。這些像素坐標(biāo)520、522表示每個(gè)像素在全景圖像510或虛構(gòu)全景圖像515中的位置。模塊540還包括垂直縮放模塊710。垂直縮放模塊710使用翹曲函數(shù)來(lái)處理全景圖像像素坐標(biāo)520或虛構(gòu)全景圖像的像素坐標(biāo)522的每條垂直掃描線,從而使得全景圖像像素坐標(biāo)520、522在垂直方向上被縮放。概念上,這可以被理解為在垂直方向上“拉伸”全景圖像510(或虛構(gòu)全景圖像515)。這種垂直縮放部分地校正了全景圖像510(或虛構(gòu)全景圖像515)中被夸大的深度。
翹曲表生成模塊540還包括使用參數(shù)圖像翹曲函數(shù)在水平方向上縮放圖像像素坐標(biāo)520、522的水平縮放模塊720。與垂直縮放類(lèi)似,概念上這可以被理解為在水平方向上“拉伸”全景圖像510或虛構(gòu)全景圖像515。另外,水平縮放是對(duì)每條垂直掃描線個(gè)別地執(zhí)行的,從而使得全景圖像510或虛構(gòu)全景圖像515的長(zhǎng)寬比得以保持。
垂直縮放模塊710和水平縮放模塊720創(chuàng)建將初步像素坐標(biāo)映射至原始像素坐標(biāo)的初步翹曲表。該初步翹曲表可被用來(lái)創(chuàng)建經(jīng)初步校正的圖像。實(shí)際上這并沒(méi)有被實(shí)行,且經(jīng)初步校正的圖像是虛擬圖像。經(jīng)初步校正的圖像具有垂直線條被保持垂直而水平線線條畸變這一性質(zhì)。
為了校正該水平畸變,還在翹曲表生成模塊540中包括了水平畸變模塊730。水平畸變模塊730將初步翹曲表中的初步像素坐標(biāo)根據(jù)位置垂直地縮放不同的量。翹曲表生成模塊540的輸出是翹曲表550。翹曲表將經(jīng)校正的全景圖像530中的像素坐標(biāo)映射到原始全景圖像像素坐標(biāo)520或虛構(gòu)的縫合圖像的像素坐標(biāo)522。翹曲表可以與縫合表級(jí)聯(lián)以創(chuàng)建級(jí)聯(lián)的翹曲和縫合表,并且可被用于從一組輸入圖像縫合全景圖像。
4.0實(shí)時(shí)全景圖像校正方法 本發(fā)明的實(shí)時(shí)全景圖像校正方法使用被稱為空間變化一致縮放函數(shù)或SVU縮放函數(shù)的參數(shù)圖像翹曲函數(shù)。雖然SVU縮放函數(shù)可局部地類(lèi)似于一致縮放函數(shù)以保持長(zhǎng)寬比,然而縮放因子在圖像上是變化的以產(chǎn)生翹曲。SVU縮放函數(shù)避免了旋轉(zhuǎn)并且消除了在觀看全景圖像時(shí)的游動(dòng)運(yùn)動(dòng)。
圖8是示出了圖5A中所示的實(shí)時(shí)全景圖像校正系統(tǒng)500A的實(shí)時(shí)全景圖像校正方法的一個(gè)實(shí)施例的操作的一般性流程圖。來(lái)自全景圖像510的全景圖像像素坐標(biāo)520和水平特征幾何505作為輸入被接收(框800)。接著,生成翹曲表550(框810)。該翹曲表550被用于確定經(jīng)校正的全景圖像像素坐標(biāo)530的位置。
如以下將具體討論的,翹曲表550的生成包括垂直縮放、水平縮放、水平畸變校正。垂直縮放針對(duì)被夸大的深度對(duì)全景圖像510進(jìn)行校正。為了校正被夸大的深度,全景圖像510中央遠(yuǎn)處的物體或人需要相對(duì)于靠近相機(jī)的物體或人被放大。
為了保持全景圖像510的長(zhǎng)寬比,還執(zhí)行水平縮放。具體地,使用參數(shù)圖像翹曲函數(shù)(諸如SVU縮放函數(shù))執(zhí)行水平縮放從而為全景圖像510的每條垂直掃描線生成新的寬度。雖然SVU縮放函數(shù)保持了垂直線條垂直,但是它們引入了一定量的垂直剪切。視覺(jué)上,這被感知為傾斜或畸變的水平線條。場(chǎng)景經(jīng)常包含諸如桌子和房間天花板等靠近圖像頂部或底部的水平表面,這些水平表面上的畸變是較容易引入注意的。
為了校正該垂直剪切,實(shí)時(shí)全景圖像校正方法還包括執(zhí)行水平畸變校正以針對(duì)水平畸變對(duì)全景圖像510進(jìn)行校正。一般而言,這是通過(guò)在全景圖像510中垂直位置上(諸如沿垂直掃描線)放寬垂直縮放的一致性以及進(jìn)行非線性縮放來(lái)實(shí)現(xiàn)的。在垂直縮放、水平縮放、以及水平畸變校正之后,生成了將經(jīng)校正的全景圖像530中的像素映射到全景圖像510的翹曲表550。
一旦已生成翹曲表550,全景圖像510就作為輸入被接收(框820)。全景圖像510隨后被實(shí)時(shí)地翹曲以創(chuàng)建經(jīng)校正的全景圖像530。翹曲表確立在全景圖像510中何處可找到對(duì)應(yīng)于經(jīng)校正的全景圖像530中的每個(gè)位置的像素以生成無(wú)畸變的全景圖像。
圖8B是示出了圖5B中所示的實(shí)時(shí)全景圖像校正系統(tǒng)500B的實(shí)時(shí)全景圖像校正方法的一個(gè)實(shí)施例的操作的一般性流程圖,其以與關(guān)于圖8A所述的極其類(lèi)似的方式操作。來(lái)自虛構(gòu)全景圖像515的圖像像素坐標(biāo)522和水平特征幾何505作為輸入被接收(框800)。接著,生成翹曲表550(框810)。然后將翹曲表與翹曲表550級(jí)聯(lián)以創(chuàng)建級(jí)聯(lián)的翹曲和縫合表(框815)。輸入用于生成虛構(gòu)全景圖像的組輸入圖像(框820)。級(jí)聯(lián)的翹曲和縫合表555然后被用于在縫合這組輸入圖像的同時(shí)確定經(jīng)校正的全景圖像像素坐標(biāo)530的位置(框830)。然后輸出經(jīng)校正的全景圖像(框840)。
以下進(jìn)一步具體討論各個(gè)縮放過(guò)程和模塊的細(xì)節(jié)。
4.1垂直縮放 圖9是示出了圖7中710所示的垂直縮放模塊的細(xì)節(jié)的流程圖。水平特征幾何505和全景像素坐標(biāo)520或522作為輸入被接收(框900)。接著,使用一組曲線和縮放因子確定參數(shù)圖像翹曲函數(shù)(諸如SVU縮放函數(shù))。具體而言,連同翹曲因子(框920)一起指定源曲線(框910)。使用這些源曲線和翹曲因子,計(jì)算出目標(biāo)曲線(框930)。
圖10示出了根據(jù)(1)源曲線和(2)目標(biāo)曲線這兩組曲線確定翹曲函數(shù)。在本發(fā)明的一個(gè)方面,源曲線由用戶通過(guò)簡(jiǎn)單的用戶界面輸入。這些源曲線提供了參數(shù)圖像翹曲函數(shù)的參數(shù)。通過(guò)該用戶界面,用戶被要求定義兩條三次曲線。這兩條源曲線定義了諸如人頭部的頂端、以及桌子邊緣等共同(實(shí)際)水平特征。如圖10所示,頂端源曲線St和底端源曲線Sb被指定。通過(guò)將圖10與圖4對(duì)比可以注意到,為了計(jì)算該全景的源和目標(biāo)曲線,必須定義上下源曲線的四個(gè)不同部分以定義整個(gè)全景圖像的源曲線。
除了手動(dòng)地指定源曲線之外,它們也可以從諸如會(huì)議桌以及和與會(huì)人員頭部相切的平面等水平特征幾何自動(dòng)地確定。假定會(huì)議桌是矩形的。在知道桌子寬度W和長(zhǎng)度L、相機(jī)高度h、相機(jī)的焦距長(zhǎng)度r、以及相機(jī)取向θ的情況下可計(jì)算出綠色曲線。一旦制造了相機(jī),則焦距長(zhǎng)度r和相機(jī)高度h就是已知的。桌子尺寸可以在安裝期間由用戶提供。圖11演示了桌子邊緣到圓柱膠片上的投影(假定標(biāo)準(zhǔn)相機(jī)取向)。以下是表示圓柱圖像上桌子邊界的下源曲線的四個(gè)部分的等式。
θ∈[α,π-α] θ∈[π-α,π+α] θ∈[π+α,2π-α] 類(lèi)似地,以下是表示圓柱圖像上與人頭部的頂端相切的平面的上源曲線的四個(gè)不同部分的等式,其中h′表示相機(jī)離與會(huì)人員頭部頂端的平面的距離。
θ∈[α,π-α] θ∈[π-α,π+α] θ∈[π+α,2π-α] 同樣可由用戶選擇的翹曲因子α確定翹曲圖像的程度。翹曲因子α位于0到1之間,其中α=0為無(wú)翹曲,而α=1為最大翹曲。概念上,指定α=0將保持該圖像不變,而指定α=1將把源曲線上的像素拉至端點(diǎn)之間的線條。通常理想的翹曲因子位于近似0到1的中途處。
一旦指定了源曲線和翹曲因子,就可計(jì)算出目標(biāo)曲線(框930)。令y=St(x)和y=Sb(x)分別為頂端和底端源曲線的等式。兩條目標(biāo)曲線(源曲線上的點(diǎn)將移至的位置)由源曲線和α確定。具體地,頂端目標(biāo)曲線Tt和底端目標(biāo)曲線Tb被定義。如果St(x)的端點(diǎn)之間的線的方程被定義為y=y(tǒng)t(x),而連接底端源端點(diǎn)的線的方程被定義為y=y(tǒng)b(x),則頂端目標(biāo)曲線的等式為T(mén)t(x)=(1-α)St(x)+αyt(x),而Tb(x)=(1-α)Sb(x)+αyb(x)。
隨后使用這些源曲線和目標(biāo)曲線計(jì)算出主縮放因子r(x)(框940)。具體地,給定圖10中所示的任意垂直掃描線x,令A(yù)、B標(biāo)示其與源曲線的交點(diǎn)而A’、B’標(biāo)示與目標(biāo)曲線的交點(diǎn)。SVU縮放函數(shù)將AB縮放為A’B’。令 比率r(x)是位于水平位置x的垂直掃描線的主縮放因子。然后使用主縮放因子r(x)在垂直方向上縮放垂直掃描線的全景像素坐標(biāo)520(框950)。
4.2水平縮放 為了保持長(zhǎng)寬比,全景像素坐標(biāo)520還在水平方向上被縮放。該水平縮放使用相同的主縮放因子r(x)。換言之,就像垂直縮放那樣,垂直掃描線還根據(jù)主縮放因子r(x)被水平地縮放以保持長(zhǎng)寬比。
圖12是示出了圖7中所示的水平縮放模塊的細(xì)節(jié)的流程圖。被垂直縮放的全景像素坐標(biāo)作為輸入被接收(框1200)。使用主縮放因子r(x),該被垂直縮放的全景像素坐標(biāo)在水平方向上被縮放(框1210)。一旦該被垂直縮放的全景像素坐標(biāo)520被縮放,經(jīng)初步校正圖像的總體寬度w’就變?yōu)? 其中,w是全景(或源)圖像510的寬度。
接著,生成初步翹曲表(框1220)。初步翹曲表包含初步像素坐標(biāo)。初步像素坐標(biāo)是已經(jīng)過(guò)垂直和水平縮放的全景像素坐標(biāo)。概念上,這些初步像素坐標(biāo)可被用于構(gòu)造經(jīng)初步校正的圖像。因此,對(duì)于全景圖像510中的任意像素(x,y),令(x’,y’)標(biāo)示其在經(jīng)初步校正的圖像中的新位置。這得到, y′=Tt(x)+r(x)*(y-St(x)) 以上等式是SVU縮放函數(shù)的前向映射等式。SVU縮放函數(shù)并不是在各處都是理想的一致縮放。容易證明在各處都是理想一致縮放的唯一函數(shù)是一致全局縮放函數(shù)。
SVU縮放函數(shù)類(lèi)似于向廣義圓柱表面上的投影。然而,這種簡(jiǎn)單的投影并不產(chǎn)生局部一致的縮放。局部一致縮放是合乎需要的,并且缺乏局部一致縮放將導(dǎo)致經(jīng)初步校正的圖像中的物體顯得被拉伸。
4.3水平畸變校正 一旦已在垂直和水平方向上縮放全景像素坐標(biāo)520,就針對(duì)水平畸變校正得到的初步翹曲表。水平畸變校正是需要的,因?yàn)殡m然參數(shù)類(lèi)圖像翹曲函數(shù)(諸如SVU縮放函數(shù))保持垂直線條垂直,但是它們使得水平線條畸變。為了使該問(wèn)題最小化,在每條垂直掃描線上放寬縮放的一致性并且進(jìn)行非線性縮放。
圖13是示出了圖7中所示水平畸變模塊730的細(xì)節(jié)的流程圖。一般而言,模塊730將初步翹曲表中的初步像素坐標(biāo)分為多個(gè)部分并根據(jù)用于每個(gè)部分的專(zhuān)用縮放因子在垂直方向上縮放該部分。各部分之間的縮放因子可以不同,并且通常在至少一個(gè)部分上不同。
具體地,該水平畸變校正模塊730首先將初步翹曲表分為多個(gè)部分(框1300)。在本發(fā)明的一個(gè)方面,經(jīng)初步校正的圖像如圖14中所示地在概念上被劃分。圖14示出了垂直縮放函數(shù)以及經(jīng)初步校正的圖像被分為三個(gè)部分的概念性視圖。應(yīng)該注意到的是在圖14中y是垂直方向。參照?qǐng)D14,第一部分1400被定義于底端源曲線Sb和頂端源曲線St之間。其它部分包括在源曲線之外的部分,其中包括在源曲線以下的第二部分1410和在源曲線之上的第三部分920。
位于在源曲線之間的第一部分1300中的初步像素坐標(biāo)在垂直(y)方向上使用主縮放因子r(x)縮放(框1310)。該垂直方向上的縮放是如上所述地執(zhí)行的。位于在源曲線之外的部分(第二部分1310和第三部分1320)中的初步像素坐標(biāo)在垂直方向上縮放得較少。這是通過(guò)最初指定次縮放因子(框1320)來(lái)執(zhí)行的。次縮放因子s在圖14中被示為位于主縮放因子r(x)以下。接著,位于源曲線之外的其它部分1410、1420中的初步像素坐標(biāo)在垂直方向上使用次縮放因子(框1330)被縮放。應(yīng)該注意的是,水平縮放保持相同(換言之,使用主縮放因子r(x))從而使得垂直線條的直線性被保持。為了保持各部分之間的連續(xù)性,各部分之間的過(guò)渡通過(guò)應(yīng)用平滑參數(shù)w來(lái)獲得(框1340)。該平滑參數(shù)使垂直縮放函數(shù)平滑并且在垂直縮放函數(shù)越過(guò)源曲線時(shí)平滑地連接不同的縮放因子。
參照?qǐng)D10和14,考慮圖10中所示的位于x處的垂直線條。如圖14所示,g(y)是可被定義為該垂直線上任意一點(diǎn)y處的垂直縮放因子的垂直縮放函數(shù)。應(yīng)該注意的是,g(y)依存于x。函數(shù)g(y)由次縮放因子s和平滑參數(shù)w這兩個(gè)參數(shù)控制。垂直掃描線中距離源曲線大于w/2的部分當(dāng)中,位于源曲線之間的按照主縮放因子r(x)縮放,而位于源曲線之外的按照次縮放因子s縮放。三個(gè)恒定部分通過(guò)[St-0.5w,St+0.5w]中的兩個(gè)三次樣條粘合在一起。每個(gè)三次樣條具有值為s和r(x)的端點(diǎn)并且在兩個(gè)端點(diǎn)處斜率為0。
平滑參數(shù)w控制源曲線處的連續(xù)性。例如,如果場(chǎng)景在源曲線處不連續(xù),則可以選擇非常小的w而不會(huì)有明顯偽像。在s=r(x)的特殊情況下,g(y)變成在推導(dǎo)經(jīng)初步校正圖像中的新像素位置時(shí)假定的恒量。一旦水平畸變校正函數(shù)已被應(yīng)用到初步翹曲表,就生成包含經(jīng)校正的全景圖像530中全景像素坐標(biāo)的位置的翹曲表550(框1350)。翹曲表550然后作為輸出被發(fā)送(框1360)。翹曲表被用于從全景圖像510構(gòu)造經(jīng)校正的全景圖像530。
4.4校正全景圖像觀看的錯(cuò)誤感知 SVU縮放函數(shù)有助于校正深度錯(cuò)誤感知問(wèn)題。這是通過(guò)使用用于觀看全景圖像的對(duì)稱SVU縮放函數(shù)來(lái)實(shí)現(xiàn)的。底端源曲線是頂端源曲線的鏡像。源曲線經(jīng)過(guò)圖像拐角并且在中心垂直掃描線處具有最小值(或最大值)。一個(gè)參數(shù)指定中心點(diǎn)的高度而第二參數(shù)是以上討論的翹曲因子α。
4.5級(jí)聯(lián)的翹曲/縫合表 如前提所提到的,翹曲表可以與被用來(lái)將圖像縫合成全景圖像的縫合表級(jí)聯(lián)在一起。例如,在一個(gè)圓形會(huì)議桌情形的實(shí)施例中,通過(guò)將從多個(gè)相機(jī)拍攝的圖像縫合在一起來(lái)創(chuàng)建會(huì)議室的圓柱投影??p合器使用將相機(jī)圖像映射到全景圖像上的縫合表。縫合表通常是在制造校準(zhǔn)期間由相機(jī)制造商在工廠里創(chuàng)建的。該表包含全景中每個(gè)像素(x,y)的以下信息。
(x,y)-全景像素坐標(biāo) (u1,v1)-相機(jī)1的圖像像素坐標(biāo) (u2,v2)-相機(jī)2的圖像像素坐標(biāo) 相機(jī)1-主源相機(jī) 相機(jī)2-在(x,y)處于重疊區(qū)域中時(shí)的次源相機(jī)。
令S(x,y)表示像素(x,y)上的縫合器表項(xiàng)。即,S(x,y)={相機(jī)1,u1,v1,相機(jī)2,u2,v2}。為了將縫合器從圓柱轉(zhuǎn)化為直角,需要將該縫合表與翹曲表級(jí)聯(lián)起來(lái)。對(duì)于最終全景圖像(頭部大小歸一化之后)上的每個(gè)像素(x,y),令W(x,y)表示作為圓柱全景圖像上的像素坐標(biāo)的表項(xiàng),并令T表示S和W的級(jí)聯(lián)表。則T(x,y)=S(W(x,y))。此級(jí)聯(lián)表可在安裝時(shí)預(yù)先計(jì)算。在運(yùn)行時(shí),操作與全景縫合相同。
5.0用戶界面 實(shí)時(shí)全景圖像校正系統(tǒng)的一個(gè)實(shí)施例為用戶提供了簡(jiǎn)化系統(tǒng)操作的用戶界面(UI)。該UI可包括用于輸入所需設(shè)置的控制面板(例如,觸摸面板液晶顯示器),以及具有其中歸一化頭部從全景圖像被提取并顯示的發(fā)言人窗口的顯示。另外,UI可包括用于顯示經(jīng)校正的或經(jīng)縮放的全景圖像的顯示,其大小將隨應(yīng)用的翹曲因子而變化,并且在圖像周界有額外的像素。這允許以標(biāo)準(zhǔn)大小在網(wǎng)絡(luò)上傳輸經(jīng)校正的圖像而不需要為了發(fā)送不同大小和分辨率的圖像去重新協(xié)商網(wǎng)絡(luò)堆棧。
5.1控制面板 用于拍攝全景圖像的全向相機(jī)可具有諸如觸摸LCD屏等用于建立和正常使用本發(fā)明的實(shí)時(shí)全景圖像校正系統(tǒng)的控制面板。在一個(gè)實(shí)施例中,可以輸入桌子形狀和大小、相機(jī)位置和取向以及頭部大小歸一化設(shè)置(0-100%)等。桌子形狀和大小可包括圓形(優(yōu)選地為默認(rèn));小矩形(例如,10×5’);大矩形(例如,16×5’);以及其它(在該情形中用戶被要求指定桌子的長(zhǎng)度和寬度)。默認(rèn)桌子設(shè)置(圓形)為非圓形桌子生成縫合圖像,但不針對(duì)這些桌子類(lèi)型對(duì)頭部大小進(jìn)行歸一化。
如上所討論的,在本發(fā)明的一個(gè)實(shí)施例中,全向相機(jī)位置和取向可以通過(guò)控制面板來(lái)設(shè)置。默認(rèn)位置是桌子中央。默認(rèn)取向是LCD在靠近桌子長(zhǎng)端處可讀(即,文本(text)平行于桌子的主對(duì)稱軸)。相機(jī)的取向是非常重要的,因?yàn)槿绻∠虿徽_,則翹曲可能實(shí)際上使得頭部大小更加不同而不是使其相等。相機(jī)取向可變化+/-15度而不會(huì)產(chǎn)生顯著影響。各種常規(guī)方法可被用來(lái)保持相機(jī)在建立后的取向。相機(jī)桌形狀和大小以及全向相機(jī)位置和取向也可以被自動(dòng)地確定。
此外,在本發(fā)明的一個(gè)實(shí)施例中,頭部大小歸一化百分比可通過(guò)LCD來(lái)設(shè)置。該參數(shù)可以用允許從0%歸一化(圓柱)到100%歸一化(直角)之間連續(xù)設(shè)置的滑塊來(lái)設(shè)置。沒(méi)有將設(shè)置處于100%的主要原因是使得歸一化對(duì)于相機(jī)位置和旋轉(zhuǎn)變化更為穩(wěn)健,并且提供某些用戶可能期望的一定的透視畸變。
5.2發(fā)言人窗口 UI可包括具有通過(guò)從全景圖像直接復(fù)制一子窗口來(lái)從全景圖像提取頭部的發(fā)言人窗口的顯示窗格。該子窗口然后作為單獨(dú)的顯示窗格被顯示。所提取的頭部可以不被歸一化或被歸一化。該特征在有人正在視頻會(huì)議中講話,特別是在他們位置離相機(jī)相對(duì)較遠(yuǎn)時(shí)尤其有用。通過(guò)提取被放大的頭部,就使得人的表情可被看到。這在人們正在講話時(shí)尤其有益。
5.3經(jīng)填充的全景圖像和變形全景圖像 另外,UI可包括用于顯示和發(fā)送經(jīng)過(guò)填充的全景圖像的特征。由于具有不同翹曲因子的顯示圖像將會(huì)被校正為不同的大小,所以該經(jīng)填充的全景圖像顯示在經(jīng)校正的圖像周?chē)砑恿祟~外的像素以使其成為標(biāo)準(zhǔn)大小。例如,諸如黑色條等條形可被添加在圖像的頂端或底端。經(jīng)填充的校正圖像的一個(gè)示例在圖15中示出。該經(jīng)填充的全景圖像允許系統(tǒng)為每幅經(jīng)校正的全景圖像保持恒定大小和分辨率。這還允許在不需要為了發(fā)送不同大小和分辨率的圖像而重新協(xié)商網(wǎng)絡(luò)堆棧的情況下傳輸每一幅經(jīng)校正的全景圖像。接收?qǐng)D像的一方然后可顯示該經(jīng)填充的具有或沒(méi)有條形的全景圖像。
在固定分辨率的視頻流上發(fā)送頭部大小經(jīng)均衡的或圓柱全景視頻的另一種方法是使用變形視頻(即,像素長(zhǎng)寬比不等于1∶1)。例如,如果圓柱全景圖像具有1056×144方形像素的分辨率,但頭部大小經(jīng)歸一化的全景圖像是1056×120方形像素,則該頭部大小經(jīng)歸一化的視頻可以在1056×144且像素長(zhǎng)寬比為長(zhǎng)∶寬=120∶144下(像素高度略微小于寬度)來(lái)發(fā)送。當(dāng)接收器將該視頻繪制到顯示器時(shí),該圖像將被繪制為1056×120。該像素長(zhǎng)寬比通常是在視頻流中被發(fā)送,但也可以在該視頻流以外發(fā)送(例如,SIP INFO消息)。
出于示例和說(shuō)明的目的以給出了本發(fā)明的以上說(shuō)明。然而其無(wú)意為窮盡性質(zhì)或者將本發(fā)明限定于所公開(kāi)的精確形式。在以上教義的啟發(fā)下,許多修改和變更都是可能的。本發(fā)明的范圍旨在由所附權(quán)利要求而不是本發(fā)明的具體說(shuō)明來(lái)限定。
權(quán)利要求
1.在包括顯示器、用戶界面選擇設(shè)備以及用戶界面數(shù)據(jù)輸入設(shè)備的計(jì)算機(jī)系統(tǒng)中,一種用于將360度全景圖像的各部分歸一化的過(guò)程,包括
在所述顯示器上顯示用于輸入將360度全景圖像的各部分歸一化所需的參數(shù)的控制面板;以及
通過(guò)所述顯示的控制面板輸入將所述360度全景圖像的各部分歸一化所需的參數(shù)。
2.如權(quán)利要求1所述的過(guò)程,其特征在于,所述將360度全景圖像歸一化所需的參數(shù)包括相機(jī)位置、相機(jī)取向、水平特征幾何以及所需的歸一化百分比。
3.如權(quán)利要求2所述的過(guò)程,其特征在于,所述水平特征幾何包括以下至少之一
其上設(shè)置了與所述相機(jī)位置和取向相對(duì)應(yīng)的相機(jī)的會(huì)議桌幾何;以及
與坐在所述會(huì)議桌周?chē)娜说念^部頂端相對(duì)應(yīng)的平面的幾何。
4.如權(quán)利要求2所述的過(guò)程,其特征在于,所述會(huì)議桌幾何包括所述會(huì)議桌的大小和形狀,并且所述相機(jī)取向是相對(duì)于所述會(huì)議桌幾何來(lái)指定的。
5.如權(quán)利要求1所述的過(guò)程,其特征在于,所述控制面板被顯示在液晶顯示器上。
6.如權(quán)利要求1所述的過(guò)程,其特征在于,所述控制面板可通過(guò)網(wǎng)絡(luò)用戶接口訪問(wèn)。
7.如權(quán)利要求2所述的過(guò)程,其特征在于,所述的所需歸一化百分比在0%到100%之間變化。
8.如權(quán)利要求1所述的過(guò)程,其特征在于,所述全景圖像經(jīng)歸一化的各部分與坐在桌子周?chē)⒈凰鱿鄼C(jī)拍攝的人的頭部大小相關(guān)。
9.如權(quán)利要求3所述的過(guò)程,其特征在于,所述相機(jī)位置和取向是相對(duì)于所述桌子的幾何的。
10.如權(quán)利要求1所述的過(guò)程,其特征在于,所述計(jì)算機(jī)系統(tǒng)被嵌入在相機(jī)中。
11.一種用于顯示全景圖像的各部分的圖形用戶界面,包括
用于顯示約360度全景圖像當(dāng)中的提取部分的顯示窗格。
12.如權(quán)利要求11所述的圖形用戶界面,其特征在于,所述全景圖像當(dāng)中所提取的部分是所述全景圖像中描繪的人物的未經(jīng)歸一化的頭部。
13.如權(quán)利要求11所述的用戶界面,其特征在于,所述全景圖像當(dāng)中所提取的部分是所述全景圖像中描繪的人物的經(jīng)歸一化的頭部。
14.如權(quán)利要求11所述的用戶界面,其特征在于,所述人物正在發(fā)言。
15.一種用于在網(wǎng)絡(luò)上顯示和發(fā)送經(jīng)縮放的圖像的過(guò)程,包括以下過(guò)程動(dòng)作
對(duì)圖像進(jìn)行縮放;
用所述經(jīng)縮放的圖像周界的額外像素來(lái)對(duì)其進(jìn)行調(diào)整從而使所述經(jīng)縮放的圖像符合指定大小;以及
顯示所述周界具有額外像素的經(jīng)縮放的圖像。
16.如權(quán)利要求15所述的過(guò)程,其特征在于,還包括發(fā)送所述已調(diào)整的經(jīng)縮放圖像的過(guò)程動(dòng)作。
17.如權(quán)利要求16所述的過(guò)程,其特征在于,還包括以下過(guò)程動(dòng)作
接收所述已調(diào)整的經(jīng)縮放圖像;
顯示所述已調(diào)整的經(jīng)縮放圖像。
18.如權(quán)利要求16所述的過(guò)程,其特征在于,還包括以下過(guò)程動(dòng)作
接收所述已調(diào)整的經(jīng)縮放圖像;
顯示周界沒(méi)有所述額外像素的經(jīng)縮放圖像。
19.如權(quán)利要求15所述的過(guò)程,其特征在于,所述額外像素以黑色顯示。
20.一種用于在網(wǎng)絡(luò)上顯示和發(fā)送經(jīng)縮放的圖像的過(guò)程,包括以下過(guò)程動(dòng)作
對(duì)圖像進(jìn)行縮放;
設(shè)置像素長(zhǎng)寬比以解決標(biāo)準(zhǔn)分辨率與經(jīng)縮放的分辨率之間的差異;
以所述標(biāo)準(zhǔn)分辨率來(lái)發(fā)送所述圖像;以及
以原始經(jīng)縮放的分辨率來(lái)顯示所述經(jīng)縮放的圖像。
全文摘要
一種實(shí)時(shí)全景圖像校正系統(tǒng)(圖5A)和方法的用戶界面(IH),該用戶界面簡(jiǎn)化了用戶對(duì)該系統(tǒng)的使用。該UI包括允許用戶輸入會(huì)議桌大小和形狀、相機(jī)位置和取向、以及所需的歸一化量(例如,0到100%)的控制面板。還可在顯示經(jīng)校正的全景圖像(圖5A,530)的顯示器上實(shí)現(xiàn)一個(gè)窗口。在該窗口中,與會(huì)人員的頭部被提取并被顯示在單獨(dú)的窗口中。另外,其大小隨所應(yīng)用的翹曲量變化的經(jīng)校正的全景圖像能以在其周界具有額外像素的方式被顯示和發(fā)送以使得經(jīng)校正或歸一化的全景圖像能適配于標(biāo)準(zhǔn)顯示器和分辨率中的任何一種并簡(jiǎn)化網(wǎng)絡(luò)傳輸。
文檔編號(hào)G06T5/00GK101156161SQ200680011867
公開(kāi)日2008年4月2日 申請(qǐng)日期2006年3月9日 優(yōu)先權(quán)日2005年4月14日
發(fā)明者R·柯特勒 申請(qǐng)人:微軟公司