專利名稱:全景圖像式虛擬現(xiàn)實實時播放系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一可在圖像式虛擬現(xiàn)實中以實時速度利用電腦產(chǎn)生各種不同視角的圖像的方法及裝置。
在一般圖形式虛擬現(xiàn)實的應(yīng)用中,利用電腦快速繪出高品質(zhì)的圖形和圖像技術(shù)是非常重要的,因為在圖形式虛擬現(xiàn)實中,使用者可以毫無限制地漫游于其中,為了達到此目的,電腦必須以極快的速度來執(zhí)行三維空間中的物體坐標(biāo)與屏幕二維坐標(biāo)間的幾何轉(zhuǎn)換,才可以達到使用者所需要的實時互動性。因此,一般而言,虛擬現(xiàn)實的應(yīng)用通常需要利用計算能力極強的高速圖形處理器,才可有令人滿意的效果。然而,高性能的處理器因價格較高,使用者未必都愿意付出此代價。因此,為了遷就于低價位個人電腦的性能限制,虛擬現(xiàn)實的設(shè)計者不得不將其所設(shè)計的虛擬現(xiàn)實限制于較低復(fù)雜度的規(guī)模,如此也就導(dǎo)致了虛擬現(xiàn)實的真實度降低,而使使用者對其品質(zhì)不滿意。
鑒于以上所述的原因,有些研究人員提出了另外一種方式來構(gòu)建虛擬現(xiàn)實,用這種方式所構(gòu)建的虛擬現(xiàn)實可降低對處理器性能的需求,我們稱用此方式所要構(gòu)建的虛擬現(xiàn)實為“圖像式虛擬現(xiàn)實”。在圖像式(image-based)虛擬現(xiàn)實的構(gòu)建中,主要是將幾張由照相機所拍出的照片由圖像掃描器輸入電腦成為數(shù)字圖像(或以數(shù)字照相機直接拍攝),然后以人工方式或電腦軟件經(jīng)過圖像處理,將這些數(shù)字圖像接合成為一個全景圖像(panoramic image)。有了此一全景圖像之后,接著就將此全景圖像貼到一個簡單的幾何形狀(例如立方體、圓柱或球體)表面上于是該幾何形狀表面上的圖像就構(gòu)成一個虛擬現(xiàn)實的環(huán)境圖(Environment Map)。使用者要瀏覽此圖像式虛擬現(xiàn)實時,就將觀測位置設(shè)于該幾何形狀的幾何中心,然后就可利用該環(huán)境圖上的像素(Pixel)值,來合成不同視角的圖像并展現(xiàn)給使用者觀看。有關(guān)于此的相關(guān)技術(shù)的說明可參看《IEEE(電氣與電子工程師學(xué)會)計算機圖形和應(yīng)用》1996年11月第6卷第11號的第21-29頁由Greene所寫的文章《環(huán)境圖和萬物投影的其它應(yīng)用》(“Environment Mapping and Other Application of WorldProjections”)以及《信號圖形進程》95版(SIGGRAPH′95 Proceeding)1995年的第29-38頁由S.E.Chen所寫的文章《真實環(huán)境導(dǎo)航的快速VR-圖像式方法)》(“QuickTime VR-AnImage-Based Approachto Virtual EnvironmentNavigation”)。在這兩篇文章中分別以在立方體和圓柱上的圖像舉出了作為環(huán)境圖的例子。
基本來講,要從虛擬現(xiàn)實的環(huán)境圖上合成不同視角的圖像,就必須根據(jù)此視角經(jīng)過幾何坐標(biāo)的轉(zhuǎn)換,將此幾何形狀上的三維坐標(biāo)投射至二維的視平面(即電腦屏幕)坐標(biāo)上。與一般虛擬現(xiàn)實最大的不同之處是,圖像式虛擬現(xiàn)實的幾何轉(zhuǎn)換相當(dāng)簡單,而且也與虛擬現(xiàn)實中各種物體的復(fù)雜度無關(guān)。唯一影響圖像式虛擬現(xiàn)實的復(fù)雜度的是所使用的幾何形狀及其視平面(view plane)大小。只要形狀及視平面大小固定,不管虛擬現(xiàn)實多復(fù)雜,所需的計算量都是固定的。此外,圖像式虛擬現(xiàn)實所呈現(xiàn)出來的圖像完全與實景相同,并非人工設(shè)計的三維圖形物體,因此可得到更高的逼真度和自然度。
在相關(guān)技術(shù)的專利中,美國專利第5,359,363號、第5,384,588號、第5,313,306號以及第5,185,667號,都是用球體作為環(huán)境圖的幾何形狀。球狀環(huán)境圖的最大好處是使用者可在虛擬現(xiàn)實中得到全方位的視角方向,不像圓柱只有在水平方向的全方位視角而在垂直方向則受限于圓柱的高度。也不像立方體的環(huán)境圖,在棱線部分會產(chǎn)生圖像的扭曲。不過,球狀環(huán)境圖有一個最大的問題是環(huán)境圖的制作相當(dāng)困難,尤其在照片的拍攝上相當(dāng)不易,目前大多是采用特殊的魚眼鏡頭來拍攝較為方便可行,但是此種鏡頭價位不低,這不符合一般使用者的經(jīng)濟原則。
雖然全方位的視角是一個優(yōu)點,然而,此優(yōu)點通常只在一些特殊的應(yīng)用中才會有需求,例如想制作一個很值得看的天花板的圖像式虛擬現(xiàn)實,在大部分的圖像虛擬現(xiàn)實應(yīng)用中,使用者不必去瀏覽正上方的景物。因此,目前大部分的圖像式虛擬現(xiàn)實應(yīng)用中用圓柱環(huán)境圖即可滿足需求。美國專利第5,396,583號專利即是以圓柱環(huán)境圖作為圖像式虛擬現(xiàn)實的基礎(chǔ)的技術(shù),本發(fā)明所公開的方法及裝置也是以圓柱環(huán)境圖作為圖像式虛擬現(xiàn)實的基礎(chǔ)。
要從環(huán)境圖中合成出任意視角的圖像可利用電腦繪圖中的“貼圖技術(shù)”(Texture Mapping,參考
圖1),在貼圖步驟中,一個平面矩形圖像被貼到一幾何物體上(即本發(fā)明所稱的環(huán)境圖),假設(shè)此環(huán)境圖的每一個像素都可以用坐標(biāo)(u,v)來表示,并且此環(huán)境圖的幾何物體上的每一點都可以用三維空間坐標(biāo)(XW,Yw,Zw)來表示?,F(xiàn)在假設(shè)視平面上每一點坐標(biāo)以(XS,YS)來表示,因此,要在視平面上合成圖像,則對于視平面的每一點必須找到其在環(huán)境圖上的對應(yīng)像素,也就是說,我們必須找到(u,v)坐標(biāo)系統(tǒng)與(XS,YS)坐標(biāo)系統(tǒng)之間的對應(yīng)關(guān)系。
由于在圖像式虛擬現(xiàn)實中,如果使用者經(jīng)常變換觀測位置,則視平面上每一像素點須經(jīng)常更新,這種頻繁的坐標(biāo)轉(zhuǎn)換計算須占用大部分的處理器時間,對低價位的中央處理器而言,負擔(dān)極重。因此,為了簡化起見,目前所有的圖像式虛擬現(xiàn)實都把使用者的觀測位置限制在其環(huán)境圖的幾何物體的幾何中心,使用者只能在該觀測點上變換其視角以觀測不同景物。雖然這種限制降低了使用者對虛擬現(xiàn)實的互動性,但是此圖像式虛擬現(xiàn)實仍然很適用于一些應(yīng)用中,例如虛擬旅游,房屋中介,虛擬商場等等。如果要以幾何式虛擬現(xiàn)實來作這些應(yīng)用,可能需要的代價遠比圖像式虛擬現(xiàn)實要高,而這也正是圖像式虛擬現(xiàn)實越來越受歡迎的原因。
在圖1中,我們圖示了從柱狀環(huán)境圖將某一視角圖像合成到視平面的方法,此后我們將稱此程序為圖像反扭曲程序,其目的是要將環(huán)境圖所在的柱狀表面10映射至視平面12上。已知此圓柱14的半徑為r(實際上,可由全景圖像的寬度除以二倍圓周率算出),且從觀測點到視平面12的距離為d,而視平面12與水平面的夾角為φ。因此,要在此圖像虛擬現(xiàn)實中做的視角的水平移動,代表將視平面沿著水平方向移以圓柱14的中心軸旋轉(zhuǎn);同理,使用者的抬頭或低頭的動作代表角度φ的變動;而d的變動則代表使用者在做圖像放大或縮小的動作。
圓柱環(huán)境圖的反扭曲程序有一個很特殊的特性,那就是如果d和φ不變,則不管使用者的水平視角如何,視平面12對映至柱狀環(huán)境圖的區(qū)域形狀不變,變的只是一個水平位移量?;诖颂攸c,則可以設(shè)計特殊的技巧來加速反扭曲程序。例如在美國專利第5,396,583號中,其發(fā)明人就提出一種查表法作為加速的手段。在他們的反扭曲程序中可分為兩個階段,在第一階段中,他們先將視平面12上每一條垂直掃描線,映射至其在柱狀環(huán)境圖上的對應(yīng)的垂直掃描線,這種對應(yīng)關(guān)系只是一個垂直方向放大或縮小的關(guān)系,因此他們就將此垂直掃描線的起始位置及其放大或縮小比例記在表中;在第二階段中,他們將做過垂直方向掃描線縮放動作的圖像,再做一次水平方向的掃描線縮放動作,而得到最后的反扭曲結(jié)果。這種方法的好處是再做水平視角的改變時,無須重新更新表中的數(shù)據(jù),因此,有了此表,在播放時視平面上的像素點在環(huán)境圖上的對應(yīng)點可以很快地被找到。
不過,這種好處只在d和φ兩個變量不變時才可利用,如果d或φ任一值有所變化,那么視平面12對映至柱狀環(huán)境圖的形狀就會改變,因此,也就導(dǎo)致了記錄在表中的數(shù)據(jù)必須重新計算,而此重新計算也會影響到播放速度,須注意的是d或φ的變動是非常頻繁的,因為使用者經(jīng)常會改變視角(φ)以及作鏡頭拉近或拉遠的動作(d的改變)。因此,本發(fā)明公開了一種新的播放技術(shù),并利用新的查表技術(shù)來減少重新計算表中數(shù)據(jù)的頻率,以改進播放速度。
本發(fā)明的目的是提供一可以從柱狀環(huán)境圖像上映射一部分圖像至矩形視平面,而合成任一視角畫面的方法。本方法的特點在于計算量小,因此,可以達到實時播放的速度。本發(fā)明中使用到一全景圖像(即前述的柱狀環(huán)境圖),包含復(fù)數(shù)個像素點、一投影緩沖區(qū)、以及一視平面。其主要執(zhí)行過程為先將代表全景圖像上某一選定的第一區(qū)域第一部分的圖像的復(fù)數(shù)個像素點投影至投影緩沖區(qū)上,然后再從此第一部分的投影緩沖區(qū)選取其中某一第二部分的圖像像素點,映射至視平面上,而視平面上的這些像素點即構(gòu)成所需要的合成圖像。
本發(fā)明也提出一個可以按上述方法制作的全景圖像式虛擬現(xiàn)實實時播放系統(tǒng),此系統(tǒng)包含一視頻存儲器,用來存儲全景圖像的復(fù)數(shù)個像素點、代表投影緩沖區(qū)的第一像素點區(qū)或第一位元對映區(qū)域、以及代表視平面的第二像素點區(qū)或第二位元對映區(qū)域。同時此系統(tǒng)也包括一個輸入裝置例如鼠標(biāo)或鍵盤等,以便使用者可以改變其視角和作鏡頭拉近拉遠的動作,并且標(biāo)出全景圖像中某一要看的第一區(qū)域圖像。本系統(tǒng)也須有一微處理器及存儲器來負責(zé)全景圖像、投影緩沖區(qū)、以及視平面間像素點對映的計算,以及計算數(shù)據(jù)的儲存。微處理器將全景圖像上某一選定的第一區(qū)域的圖像像素點映射至第一像素點區(qū)。最后,本系統(tǒng)還須有一視頻處理器,它根據(jù)微處理器的指令,將代表要選定的全景圖像區(qū)域的第一部分中的第二部分圖像像素點,映射至第二像素點區(qū)。以及本系統(tǒng)還有一用來顯示全景圖像第二部分的圖像的視頻屏幕。
上述系統(tǒng)的具體實施步驟為,先將全景圖像貼至一柱狀的表面而形成一個環(huán)境圖。本發(fā)明再由此柱狀環(huán)境圖根據(jù)使用者的視角方向,決定出第一區(qū)域的圖像像素點。然后將此區(qū)域的圖像像素點依三維空間的投影方式,將其投影至一與使用者視角垂直且與圓柱正切的投影緩沖區(qū)。
代表全景圖像的復(fù)數(shù)個像素點,分割成第一復(fù)數(shù)條掃描線(scanlines)。同樣,代表全景圖像上某一選定的第一區(qū)域的第一部分的圖像,分割成第二復(fù)數(shù)條掃描線。而該全景圖像第一部分中的第二部分圖像,分割成第三復(fù)數(shù)條掃描線。該第二復(fù)數(shù)條掃描線形成一第一矩形塊,且該第三復(fù)數(shù)條掃描線形成一比第一矩形塊小的第二矩形塊。
映射第一部分中第二部分圖像像素點的步驟,經(jīng)過起點及終點相同或相近相鄰掃描線的合并后,此第二復(fù)數(shù)條掃描線形成第三復(fù)數(shù)個矩形塊。本發(fā)明將該第三復(fù)數(shù)個矩形塊的起始位置存入一檢測表中,由于我們可以動態(tài)給定一個條件來決定兩相鄰掃描線是否要合并到一個矩形塊內(nèi),而此矩形塊的大小將決定所播放的圖像質(zhì)量。換句話說,本發(fā)明可以在播放時動態(tài)調(diào)整圖像質(zhì)量及播放速度。例如在使用者作快速的視角變換時,他們對圖像質(zhì)量較不注意,因此,本發(fā)明可以動態(tài)改變掃描線合并的規(guī)則,使所形成的矩形塊較少,以利于播放速度的提高。相反地,如果使用者在慢速瀏覽時,對圖像質(zhì)量要求較高(因為他們可能正在細看某個視角方向的景物),所以本發(fā)明會改變合并規(guī)則來產(chǎn)生較多的矩形塊,以得到較佳的圖像質(zhì)量。
基本上來講,本發(fā)明在效果上與先前技術(shù)最大的差別在于本發(fā)明所使用的檢測表遠較先前技術(shù)小,而且表中數(shù)據(jù)重新計算的頻率也遠較先前技術(shù)低,同時,本發(fā)明也可充分利用一些視頻處理器上的加速功能,以得到更好的播放效果。有關(guān)本發(fā)明的方法和裝置的詳細描述,將在后文中敘述。
圖1為將一柱狀環(huán)境圖映射至視平面的側(cè)視圖。
圖2為本發(fā)明中所用到的貼圖技術(shù)的基本步驟。
圖3A和3B分別是視平面的仰角(φ)為0°及45°時視平面映射至柱狀環(huán)境圖上的區(qū)域形狀。
圖4是本發(fā)明所用的柱狀環(huán)境圖、投影緩沖區(qū)及視平面的位置關(guān)系圖。
圖5是用來制作本發(fā)明的電腦系統(tǒng)結(jié)構(gòu)圖。
圖6繪出由投影緩沖區(qū)映射至柱狀環(huán)境圖的圖像區(qū)域(由復(fù)數(shù)條垂直掃描線組成)。
圖7為本發(fā)明所用的柱狀環(huán)境圖、投影緩沖區(qū)及視平面的幾何關(guān)系圖。
圖8繪出將相鄰掃描線合并成復(fù)數(shù)個矩形塊。
圖9A是一個由矩形塊合并成的柱狀環(huán)境圖的部分。
圖9B是圖9A的環(huán)境圖對映至投影緩沖區(qū)的例子。
圖9C是本發(fā)明所使用的檢測表數(shù)據(jù)結(jié)構(gòu)。
參考圖2,貼圖(Texture Mapping)技術(shù)主要包含兩個步驟,第一步驟(100)是將圖像坐標(biāo)系統(tǒng)30轉(zhuǎn)換成一三維幾何曲面32上的坐標(biāo)系統(tǒng)。此過程我們稱為扭曲程序(Warping process),與此相關(guān)的技術(shù)可以參考Alan Wate所著的3D計算機圖形(Computer Graphics)(1993年Addision-Wesley公司出版),圖像經(jīng)過扭曲程序后就形成了一個環(huán)境圖。有了這個環(huán)境圖,第二步驟(102)就是根據(jù)觀測方向,將此幾何曲面32的環(huán)境圖上的某一區(qū)塊的圖像投射到一視平面(或屏幕)34,我們稱此程序為反扭曲程序。
對一柱狀圖像虛擬現(xiàn)實的應(yīng)用而言,此幾何曲面32為一圓柱形曲面。要產(chǎn)生柱狀環(huán)境圖可有兩種方法,第一種方法為使用特殊的全景圖像照像機(例如Globuscore公司所生產(chǎn)的35mm Globuscore照相機)來拍攝,此方式成本較高。第二種方法為利用一般照相機固定在三角架上,將照相機依水平方向旋轉(zhuǎn),在幾個方向上拍攝照片(注意二相鄰角度的照片間須有部分相同的景物重復(fù)),先將每一張單張照片作前述的柱狀扭曲程序處理,然后再以人工或圖像處理軟件來將所有扭曲的照片依相重疊的景物作接合,即可產(chǎn)生一柱狀環(huán)境圖。
接著,在播放過程亦即第二步驟圖像反扭曲程序中,我們使用一種新的查表技術(shù)來改進播放速度。在先前技術(shù)中,美國專利5,396,583提出了使用一查表法來記錄視平面映射至環(huán)境圖上的圖像區(qū)域中每一條掃描線的起始和終止位置,因此,此表中的數(shù)據(jù)數(shù)目至少是視平面寬度的二倍。但由于使用者經(jīng)常須改變其視角方向,所以,此表中的固定數(shù)據(jù)仍不夠,有些數(shù)據(jù)仍須在播放時以實時速度產(chǎn)生,再配合查表技術(shù)來產(chǎn)生所需圖像。本發(fā)明所提出的新的反扭曲技術(shù)可改進上述的缺點。
如前所述,在先前技術(shù)中有兩種狀況須對檢測表中的數(shù)據(jù)作更新處理,這兩種狀況包括仰角(φ)的改變,以及鏡頭拉近或拉遠的動作(觀測點與視平面距離d的改變)。例如在圖3A與圖3B中,我們繪出了在仰角φ為0°和45°時,視平面映射至環(huán)境圖的形狀(d值不變)。由于形狀改變,因此檢測表中的數(shù)據(jù)無法被直接使用,必須作實時更新才可。由于仰角φ和距離d值在使用者瀏覽過程中經(jīng)常變化,因此,其播放速度亦會受到嚴重影響。有鑒于此,本發(fā)明采用了一種新的反扭曲程序,同時還使用了一個投影緩沖區(qū)。
參考圖4,此投影緩沖區(qū)40(由矩形ABCD表示)位于與使用者視角方向44垂直,且與柱狀環(huán)境圖42正切的位置。其高度等于此柱狀環(huán)境圖的高度,而且此投影緩沖區(qū)40的中心位置46與觀測位置48等高(觀測位置48位于圓柱的幾何中心)。另外還有一個視平面50(由矩形EFGH表示)其大小決定于使用者所要的觀測視窗大小。而投影緩沖區(qū)40的寬度則至少與視平面的寬度相等。
本發(fā)明的反扭曲程序包含兩個步驟,第一步驟中是從柱狀環(huán)境圖42中映射一非矩形區(qū)域的圖像至投影緩沖區(qū)40,第二步驟是再從投影緩沖區(qū)中映射一矩形區(qū)域至視平面上,即構(gòu)成最后顯示給使用者觀看的圖像。由于觀測時從觀測點48到投影緩沖區(qū)40的距離是固定的(等于圓柱的半徑),而且投影緩沖區(qū)40也不會在垂直方向移動,因此d與φ值對投影緩沖區(qū)40而言都是固定的。所以,投影緩沖區(qū)映射至柱狀環(huán)境圖的形狀和大小是不變的。亦即,本發(fā)明無須在播放時對檢測表數(shù)據(jù)作更新處理。
當(dāng)使用者在做抬頭或低頭的動作時,在本發(fā)明的反扭曲程序中,我們只將視平面50向上或向下平移一個角度(φ),但是視平面50本身還是維持與投影緩沖區(qū)40平行。由于視平面50與投影緩沖區(qū)40是平行的,所以從視平面50映射至投影緩沖區(qū)40的區(qū)域依然是一個矩形區(qū)域52(由矩形efgh表示)。定位此矩形區(qū)域52只須算出其左上頂點及其右下頂點區(qū)域即可,而無須決定所有像素點的對應(yīng)點。因此,在本發(fā)明中,播放時需要動態(tài)決定的就是此二頂點坐標(biāo)。至于該檢測表中的數(shù)據(jù),除非投影緩沖區(qū)40大小改變(表示視平面大小有改變),否則根本不須更新。
圖5是一個本發(fā)明的電腦播放系統(tǒng)結(jié)構(gòu)示意圖。在此播放系統(tǒng)中,使用者利用一輸入裝置60(如鼠標(biāo)或鍵盤)來作其視角方向控制,或作鏡頭拉近或拉遠的動作。而此圖像虛擬現(xiàn)實的環(huán)境圖42(圖4)被儲存在外部存儲裝置62(例如硬碟機)中,在起始時,此全景環(huán)境圖42會被存入視頻存儲器64中。微處理器68負責(zé)計算和查詢檢測表中的數(shù)據(jù),而此檢測表存儲于系統(tǒng)存儲器70中,并被上述反扭曲程序所使用。另外,還有一個視頻處理器66負責(zé)接收檢測表送來的數(shù)據(jù),以及從微處理器68來的指令,處理視頻存儲器中的數(shù)據(jù),并將合成的圖像顯示于屏幕上。在本系統(tǒng)中,投影緩沖區(qū)40為視頻存儲器64中的一塊并非屏幕顯示緩沖區(qū)域65,而視平面(或屏幕72)則為視頻存器64中的一塊并非屏幕顯示緩沖區(qū)域65,而視平面(或屏幕72)則為視頻存儲器64上另外一塊屏幕顯示位元對應(yīng)區(qū)域67。
參見圖6,從投影緩沖區(qū)40映射至環(huán)境圖42的形狀如該圖所示,在投影緩沖區(qū)40中的每一垂直掃描線43對應(yīng)于環(huán)境圖42中一投影部分42a的一條垂直掃描線45。由于此映射形狀不變,所以如果要作水平方向的視角方向移動,則只要在作投影緩沖區(qū)40至環(huán)境圖42的映射中,加上一個水平方向的位移即可。投影緩沖區(qū)40與環(huán)境圖42間的映射關(guān)系,以及視平面50與投影緩沖區(qū)40間映射關(guān)系可用基本的幾何學(xué)計算求得,如下面所示可推得此二者映射關(guān)系,假設(shè)投影緩沖區(qū)40上的像素點坐標(biāo)以(x,)表示,而環(huán)境圖42的像素點坐標(biāo)以(u,v)表示,則(u,v)與(x,y)間的關(guān)系為u=rtan-1(xr)----(1)]]>y=yr/x2+r2----(2)]]>其中r為圓柱的半徑。
參考圖7,投影緩沖區(qū)40上的像素點坐標(biāo)(x,y)與視平面上的像素點坐標(biāo)(x′,y′)間的關(guān)系如下
其中d表示觀測點至視平面間的距離的水平分量,而φ則為抬頭或低頭的仰角。根據(jù)以上說明,我們可以將本發(fā)明的反扭曲過程以下面的方塊圖表示環(huán)境圖像--+ 投影緩沖區(qū)-- →視平面(u,v)映射關(guān)系 (x,y)映射關(guān)系由式 (x′,y′)由式(1)及 (3)求得;在播放式(2)求得;時,實時計算對應(yīng)矩并在計算后, 形區(qū)域的左上及右下建立一一檢測表 頂點。
本發(fā)明扭曲程序如果用更高性能的視頻處理器將更能發(fā)揮特長,因為這些高性能的視頻處理器,一般都能運用繪圖卡的高速存儲區(qū)塊搬移或復(fù)制的硬件加速功能(BITBLT,bit block transfer),如圖5所示的快速存儲器區(qū)塊搬移或復(fù)制的硬件裝置69。而且它們還允許存儲區(qū)塊在搬移或復(fù)制后的大小不一樣,也就是說它們可做快速的圖像放大或縮小。此外,由于視頻處理器與中央微處理器間是可以獨立工作的,因此,在視頻處理器在做存儲區(qū)域的搬移或復(fù)制時,不會占用到微處理器內(nèi)數(shù)據(jù)總線的頻寬,因此微處理器仍然可以繼續(xù)其他的計算工作。
為了合理利用視頻處理器的快速區(qū)塊搬移功能,本發(fā)明改進了先前的以垂直掃描線為單位的查表法技術(shù)。參考圖8,先前技術(shù)將所有垂直掃描線80的起始及終止位置存入檢測表中,但在大部分的情況下,許多相鄰的垂直掃描線都會有相同或接近的起始位置及終止位置,對與這些起始及終止位置相同或接近的相鄰垂直掃描線,我們可以將它們集合起來形成一個矩形塊82。所以,在本發(fā)明的檢測表中,記錄的不是垂直掃描線的位置,而是這些矩形塊82的位置。因此,本發(fā)明的檢測表大小較先前技術(shù)所用的查表小,而且記錄的矩形區(qū)更適合于視頻處理器中的區(qū)塊搬移或復(fù)制硬件69的處理。
本發(fā)明的檢測表中所記錄的矩形塊的寬度大小,將影響所合成的圖像質(zhì)量,寬度越小,則所需的矩形塊相對也增多,也就會有較佳的圖像質(zhì)量。但在有些時候,圖像質(zhì)量并不一定很重要,例如使用者在作快速的視角方向變換時,他們可能希望能有較快的播放速度,以便他們會快速將視線移至所要看的部分,此時,圖像質(zhì)量并非極為重要。因此,本發(fā)明會根據(jù)使用者的視角方向變換速度來改變垂直掃描線合并的規(guī)則,合并出較大但較少的矩形塊以得到更快的播放速度。相反地,如果使用者視角度變換速度變慢時,本發(fā)明則會自動合并出較小但較多的矩形塊來提高圖像質(zhì)量。
目前本發(fā)明用來群組或合并相鄰掃描線的方法,是由一可變門檻值T來決定,假設(shè)第一條垂直掃描線的起始和終止位置為V1和V2則將接續(xù)其后的垂直掃描線均組群或合并為一矩形塊,直到找到一條垂直掃描的起始位置(或終止位置)與V1(或V2)相差超過T值、才將此垂直掃描視為下一個矩形塊的第一條掃描線。以此垂直掃描線為基準(zhǔn),將起始及終止位置與此垂直掃描線相差都不超過T值的后續(xù)掃描線均合并入同一矩形塊。其余掃描線的合并依此類推。因此,如果要做動態(tài)圖像質(zhì)量的自動調(diào)節(jié),只要動態(tài)改變T值即可。要注意的是,T值改變,則檢測表須重新計算。如果不作動態(tài)圖像質(zhì)量調(diào)節(jié),則本發(fā)明的檢測表只在變動視平面大小時才須重新計算,否則數(shù)據(jù)都不需更新。
參考圖9A及9B,對一長2976像素點,寬768像素點的柱狀環(huán)境像90而言,可求得圓柱半徑為2976/2π=473.6像素點。假設(shè)視平面大小為800×600像素,所以投影緩沖區(qū)92的大小為800×768像素。接著,依據(jù)前述的建表方法,我們建立一檢測表94,其數(shù)據(jù)結(jié)構(gòu)如圖9C所示。此表中記錄著合并出來的矩形塊98(見圖9A)的位置數(shù)據(jù)96,以及這些合并后的矩形塊98對映至投影緩沖區(qū)的矩形塊99(見圖9B)的位置數(shù)據(jù)100。而動態(tài)圖像質(zhì)量控制參數(shù)、門檻值T,可被設(shè)為任何大于或等于0的值。
上述的描述只是用來輔助說明本發(fā)明的主旨,更可利用本發(fā)明原理以不同的實施例實踐。
權(quán)利要求
1.一種全景圖像式虛擬現(xiàn)實實時播放方法,可以從全景圖像上映射一被選部分的圖像到一視平面,而合成任一視角畫面,此方法至少包含提供一個包含復(fù)數(shù)個代表全景圖像的像素值的環(huán)境圖;從該環(huán)境圖,將代表環(huán)境圖像中一被選的第一區(qū)域的第一部分圖像像素值,映射至一投影緩沖區(qū);從該投影緩沖區(qū),將該第一部分中的第二部分的圖像像素值映射至一視平面上,該第二部分像素值代表全景圖像中欲播放的區(qū)域;及最后將視平面上的圖像顯示在屏幕上。
2.如權(quán)利要求1所述的圖像播放方法,其中所述的環(huán)境圖為,將拍攝的照片利用貼圖技術(shù)貼于一圓柱形曲面上,并將該投影緩沖區(qū)置于與圓柱正切且和使用者視線垂直的位置,該投影緩沖區(qū)的中心點高度與觀測位置(圓柱的幾何中心)等高。
3.如權(quán)利要求2所述的圖像播放方法,其中所述的復(fù)數(shù)個代表全景圖像的像素值劃分成第一復(fù)數(shù)條掃描線,所述的代表全景圖像中該被選上的第一區(qū)域的第一部分圖像像素值劃分成第二復(fù)數(shù)條掃描線,且該第一部分中的第二部分的圖像像素值劃分成第三復(fù)數(shù)條掃描線。
4.如權(quán)利要求3所述的圖像播放方法,其中所述的映射第一部分中的第二部分圖像像素值的步驟,包含計算每一該第二復(fù)數(shù)條掃描線的起始及終止位置。
5.如權(quán)利要求4所述的圖像播放方法,其中所述的第二復(fù)數(shù)條掃描線合并成一第一矩形塊,且所述的第三復(fù)數(shù)條掃描線合并成一較該第一矩形塊小的第二矩形塊。
6.如權(quán)利要求5所述的圖像播放方法,其中所述的映射代表全景圖像中一被選的第一區(qū)域的第一部分的圖像像素值的步驟,包含產(chǎn)生一檢測表,該檢測表用來存儲每一該第二復(fù)數(shù)條掃描線的起始及終止位置。
7.如權(quán)利要求5所述的圖像播放方法,其中所述的映射代表全景圖像中一被選的第一區(qū)域的第一部分的圖像像素值的步驟,包含產(chǎn)生一檢測表,該檢測表用來存儲被群組過的該第二復(fù)數(shù)條掃描線的相鄰掃描線所合并成的矩形塊的位置。
8.如權(quán)利要求7所述的圖像播放方法,其中所述的第二復(fù)數(shù)條掃描線的群組方式,是將具有相同的起始或終止位置的相鄰掃描線加從以組群成為矩形塊。
9.如權(quán)利要求7所述的圖像播放方法,其中所述的第二復(fù)數(shù)條掃描線的群組內(nèi)相鄰掃描線數(shù)目是由一可變門檻值T來動態(tài)決定,將起始或終止位置差值小于T值的相鄰掃描線加以組群成為矩形塊。
10.一種全景圖像式虛擬現(xiàn)實實時播放系統(tǒng),可以從全景圖像上映射一被選部分的圖像至一視平面,而合成任一視角畫面,此系統(tǒng)至少包含一視頻存儲器,用以存儲一包含復(fù)數(shù)個代表全景圖像的像素值的環(huán)境圖,一代表投影緩沖區(qū)的第一位元對映區(qū)域,及一代表視平面的第二位元對映區(qū)域;一輸入裝置,用來讓使用者控制其視角方向,標(biāo)出要看的某一第一部分全景圖像;一微處理器,用來做像素點位置坐標(biāo)系統(tǒng)的轉(zhuǎn)換計算,負責(zé)將代表被選的全景圖像區(qū)域的第一部分圖像像素值,映射至該第一位元對映區(qū)域;一視頻處理器,根據(jù)微處理器的指令,將該第一部分圖像像素點中的第二部分圖像像素點,映射至該第二位元對映區(qū)域;及一顯示裝置,顯示映射的第二部分圖像。
11.如權(quán)利要求10所述的圖像播放系統(tǒng),其中所述的環(huán)境圖為,將拍攝的照片利用貼圖技術(shù)貼于一圓柱形曲面上,并將該投影緩沖區(qū)置于與圓柱正切且和使用者視線垂直的位置,該投影緩沖區(qū)的中心點高度與觀測位置(圓柱的幾何中心)等高。
12.如權(quán)利要求11所述的圖像播放系統(tǒng),其中所述的復(fù)數(shù)個代表全景圖像的像素值劃分成第一復(fù)數(shù)條掃描線,所述的代表全景圖像中該被選上的第一區(qū)域的第一部分圖像像素值劃分成第二復(fù)數(shù)條掃描線,且該第一部分中的第二部分的圖像像素值劃分成第三復(fù)數(shù)條掃描線。
13.如權(quán)利要求12所述的圖像播放系統(tǒng),其中所述的微處理器計算每一該第二復(fù)數(shù)條掃描線的起始及終止位置,并將第二復(fù)數(shù)條掃描線合并成一第一矩形塊,且將第三復(fù)數(shù)條掃描線合并成一較該第一矩形塊小的第二矩形塊。
14.如權(quán)利要求13所述的圖像播放系統(tǒng),其中所述的微處理器映射復(fù)數(shù)圖像像素值時,產(chǎn)生一用來存儲每一該第二復(fù)數(shù)條掃描線的起始及終止點位置的檢測表。
15.如權(quán)利要求13所述的圖像播放系統(tǒng),其中所述的微處理器映射復(fù)數(shù)圖像像素值時會產(chǎn)生一檢測表,該檢測表用來存儲被群組過的該第二復(fù)數(shù)條掃描線的相鄰掃描線所合并成的矩形塊的位置。
16.如權(quán)利要求15所述的圖像播放系統(tǒng),其中所述的第二復(fù)數(shù)條掃描線的群組方式,是將具有相同的起始或終止位置的相鄰掃描線加以組群成為矩形塊。
17.如權(quán)利要求15所述的圖像播放系統(tǒng),其中所述的第二復(fù)數(shù)條掃描線的群組內(nèi)相鄰掃描線數(shù)目是由一可變門檻值T來動態(tài)決定,將起始或終止位置差值小于T值的相鄰掃描線加以組群成為矩形塊。
18.如權(quán)利要求11所述的圖像播放系統(tǒng),其中該視頻處理器包含一存儲器區(qū)塊快速搬移及復(fù)制的硬件裝置。
全文摘要
本發(fā)明提供可以從全景圖像上映射一部分圖像至矩形視平面,從而合成任一視角畫面的方法和裝置。本方法的特點是計算量小,因此可以達到實時播放的速度。本發(fā)明使用到一包含復(fù)數(shù)像素點的全景圖像(即前述的柱狀環(huán)境圖)、一投影緩沖區(qū)、以及一視平面。其主要執(zhí)行過程為先將全景圖像上某一選定區(qū)域的復(fù)數(shù)像素點,投影至投影緩沖區(qū)上,再從此投影緩沖區(qū)的某一區(qū)域的像素點,映射至視平面上,而此視平面上的像素點即構(gòu)成所要的合成圖像。
文檔編號G06T3/00GK1225541SQ9810406
公開日1999年8月11日 申請日期1998年2月6日 優(yōu)先權(quán)日1998年2月6日
發(fā)明者江政欽, 謝君偉, 程治 申請人:財團法人工業(yè)技術(shù)研究院