專利名稱:進行全周圍立體圖像的描繪的圖像描繪裝置、圖像描繪方法、圖像描繪程序的制作方法
技術領域:
本發明涉及全周圍圖像的描繪技術。
背景技術:
上述全周圍圖像的描繪技術是作為街景服務的基礎的技術。街景服務是如下服務在服務器上對在各種道路上的地點拍攝的全景圖像進行管理,用戶能夠通過WEB瀏覽器等,以360度的全周圍全景圖像的方式享受任意地點的道路上的風景。通過該街景服務,在旅行目的地的周邊狀況的事前確認、希望再次回顧旅行后的回憶的情況等下,不是以固定視點觀看風景,而能夠以任意視點觀看風景,所以,具有用戶的使用便利性提高這樣的優 點。作為與街景有關的現有技術,存在以下專利文獻所記載的技術。現有技術文獻專利文獻專利文獻I :日本特表2010-53100
發明內容
發明要解決的課題但是,所述街景服務雖然能夠確認全景圖像,但是,所顯示的影像成為平面視影像。近年來,大畫面3D電視機正在普及,如果只能以平面視的方式觀看全景圖像,則服務明顯遜色。但是,如果為了使街景也對應于3D立體視服務而再次利用立體視照相機對世界中的道路進行拍攝,則需要龐大的時間和勞力,而且,特意拍攝的平面視圖像的街景最終并沒有用。因此,想到通過平面視-立體視變換而對現有的平面視街景進行立體視化的想法。在這種平面視-立體視化中,存在以下的技術屏障。關于上述繪制,通常不是作為一張墨卡托圖像而拍攝的,而是通過結合縱4X橫7這樣的數量的多個背景圖像而生成的。這樣,通過結合多個背景圖像而得到360度全景圖像,當希望使其成為立體視化的對象時,需要對構成360度全景圖像的各個圖像執行基于深度圖像的基于深度圖像的繪制。基于深度圖像的繪制是如下技術使圖像的各像素的坐標在水平方向位移,以使其具有深度圖像所示的進深。這里,當對構成360度全景圖像的各個圖像進行基于深度圖像的位移時,各個圖像中的存在于端部的圖像的一部分位于圖像的顯示區域外。這樣,與構成360度全景圖像的各個圖像的邊界相當的部分的像素消失,得到存在空白縱筋的360度全景圖像。這使顯示品位大幅降低。在作為立體視化對象的影像為墨卡托圖像的情況下,不存在圖像間的結合邊界,所以,不會產生空白的縱筋。但是,當對通過結合多個圖像而得到的墨卡托圖像實施基于深度圖像的繪制時,用于臨時存儲墨卡托圖像的存儲器規模增大,具有妨礙產品低價格化的問題。并且,墨卡托圖像原本意圖粘貼在球體模型上,所以,在粘貼狀態下,圖像的一個端部和另一個端部相面對,產生邊界。該情況下,通過進行基于深度圖像的繪制,邊界成為沒有像素的空白部分,降低顯示品位。如上所述,在根據平面視圖像和深度圖像生成立體圖像的情況下,具有如下課題由于在立體圖像生成過程中產生的圖像兩端的像素位移,各個圖像彼此的無縫性喪失,其結果,以不自然的形式顯示在圖像彼此的邊界上。本發明的目的在于,提供如下的圖像描繪裝置在立體視再現時,不會產生像素的空白部分。用于解決課題的手段在背景圖像為街景這樣的假設下提示了技術課題,但是,該假設只不過是在說明上述技術課題時選擇身邊的題材,本申請中作為對象的技術課題不限于背景圖像為上述街景的例子的情況。結合多個某些圖像而成為立體視對象時的視覺上的不匹配的消除全部是 本申請的技術課題,在不久的將來,使上述技術在工業產品的領域中實用化時,是從業人員必須直面的技術屏障。能夠解決該課題的圖像描繪裝置實現與結合圖像數據有關的立體視,其特征在于,所述結合圖像數據是橫向結合了多個背景圖像數據而得到的,所述圖像描繪裝置具有像素位移單元,對構成結合圖像數據的各個背景圖像數據實施像素位移,并且實施伴隨該像素位移的邊界處理,從而得到2個以上的視點紋理;紋理映射單元,在三維建模空間中的立體模型的內側表面上映射2個以上的視點紋理;以及窗口變換單元,從進行紋理映射后的立體模型中提取分別與2個以上的視點對應的窗口圖像,所述像素位移是使構成各個背景圖像數據的像素的坐標橫向移動的處理,根據與結合圖像數據對應的深度圖像數據中的像素的進深值決定像素的移動量,所述邊界處理是如下處理提取由于像素坐標的橫向移動而從各個背景圖像數據的顯示范圍中露出的像素群,在結合圖像數據中橫向相鄰的其他背景圖像數據的端部寫入被提取出的露出像素群。發明效果根據本發明,在相鄰的圖像的位移方向的相反側的端部追加由于位移而位于區域外的像素,所以,由于位移而位于區域外的像素群不會消失。圖像邊界中不會產生像素消失,所以,橫向結合圖像時的一體感增加,能夠實現真實的360度全景圖像。并且,在將圖像粘貼在球體上的情況下,存在于其結合體的一個端部的圖像和存在于相反側的端部的圖像相鄰。該情況下,通過使存在于一個端部的圖像位移,在相反側的端部追加位于區域外的像素,所以,即使在將這些多個圖像的結合體粘貼在球體模型上的情況下,由于位移而位于區域外的像素也不會消失。由此,圖像的一體感增加。例如在使結合了縱4X橫7的背景圖像的全周圍圖像位移時,不需要將縱4X橫7的圖像全體存儲在存儲器中,所以,能夠實現省存儲器化。雖然是任意的,但是也可以是,所述圖像描繪裝置具有顯示區域緩存、區域外緩存、以及用于存儲進行像素位移處理后的已處理背景圖像數據的紋理存儲器,在顯示區域緩存中存儲構成所述結合圖像數據的多個背景圖像數據中的成為處理對象的背景圖像數據,在顯示區域緩存上使構成背景圖像數據的像素的坐標橫向移動,并且提取像素從背景圖像數據的顯示范圍中露出的像素群,將其寫入區域外緩存,從而進行所述像素位移,從區域外緩存中讀出露出像素群,寫入在紋理存儲器中存儲的已處理背景圖像數據中的一個端部,從而進行所述邊界處理。位移用的顯示區域緩存的規模不是存儲結合圖像全體的容量,只要能夠存儲I個背景圖像數據的容量就足夠了。像素位移所需要的存儲器的裝配量成為最低限度,所以,不需要擔心在數字家電中搭載圖像描繪裝置時的成本升高。雖然是任意的,但是也可以是,在所述結合圖像數據是通過結合I個墨卡托圖像數據的一個端部和另一個端部而得到的結合墨卡托圖像數據的情況下,在所述邊界處理中,結合墨卡托圖像數據中的各像素根據深度圖像數據而位移,由此,提取從墨卡托圖像的顯示范圍中露出的像素群,在被提取的端部的相反側的端部改寫被提取的露出像素群。在將一張墨卡托圖像粘貼在球體模型的內側表面上的情況下,該圖像的一個端部與自身的相反側的端部相鄰。該情況下,通過在位移方向的相反側的端部追加由于位移而位于區域外的像素,將具有一體感的圖像粘貼在球體模型上,能夠避免產生空白部分。雖然是任意的,但是也可以是,所述圖像描繪裝置具有位置方向判定單元,根據用戶操作來判定地圖上的當前視點位置和當前視線方向;以及取得單元,使用與地圖上的當前視點位置對應的地理信息生成圖像取得請求,將其發送到圖像收集服務器,從而下載街景文件,從圖像收集服務器下載的街景文件具有與圖像取得請求中包含的地理信息一致的拍攝地屬性,所述結合圖像數據存在于所下載的街景文件內。根據使用地球上的地理信 息的圖像取得請求來發送背景圖像,所以,用戶能夠留在房屋中,從服務器下載世界中的喜歡的場所的光景,將其合成到自己的照片中。通過該服務,能夠使用戶感受在世界旅行這樣的虛擬體驗。雖然是任意的,但是也可以是,所述結合圖像數據是視點周圍圖像,通過橫向結合多個背景圖像數據,表示從與圖像取得請求中的地理信息對應的地理位置張望周圍時的光景。將存在于照片文件中的地理信息作為關鍵字,使服務器進行背景圖像的檢索,取得期望的街景文件,所以,在圖像描繪裝置被組入數字電視機中的情況下,能夠實現使數字電視機與立體視照相機協作的新型服務。由此,在捆綁銷售數字電視機和立體視照相機的情況下,能夠實現與競爭商品之間的差別化。雖然是任意的,但是也可以是,所述結合圖像數據是視點周圍圖像,通過橫向結合多個背景圖像數據,表示從與圖像取得請求中的地理信息對應的地理位置張望周圍時的光景。用戶能夠在視點周邊圖像中出現的沮圍內自由改變視線,能夠實現隨后體驗功能的充實化。
圖I示出立體視全景檢索服務的全體結構。圖2是示意地示出作為街景對象的虛擬空間的圖。圖3示出橫排粘貼多個背景圖像的球面模型的內側表面。圖4示出在三維建模空間中在立體視再現時生成的2個球面模型。圖5示出根據在球體的內側表面粘貼的背景圖像而生成多視點圖像的過程。圖6示出粘貼了左位移后的全周圍圖像和右位移后的全周圍圖像的狀態的球面模型。圖7示出左眼用紋理和右眼用紋理的配置。圖8示出前景圖像與背景圖像的合成。圖9示出隨后體驗影像的一例。
圖10示出街景導航的畫面結構的一例。圖11是示出實施方式I中的描繪裝置的輸入輸出方式的一例的圖。圖12是示出圖像描繪裝置的使用方式的一例的圖。圖13是示出圖像描繪裝置的功能結構的框圖。圖14是與從網絡接口 3或本地存儲器4取得的全周圍圖像對應的深度圖像的一例。圖15是示出通過基于深度圖像使全周圍圖像的各像素位移而生成其他視點的圖像的過程的圖。圖16示出在圖像中存在于坐標(X、y)的像素Pix (x、y)和在深度圖像中存在于 坐標(X、y)的像素 depth (x、y)。圖17示出通過像素電平的位移而在左眼紋理和右眼紋理中具有什么樣的視差。圖18示出全周圍圖像存儲器13、深度圖像存儲器、左眼紋理存儲器22、右眼紋理存儲器23的內部結構與像素位移部18、顯示區域緩存19、區域外緩存20之間的關系。圖19示出深度圖像存儲器、全周圍圖像存儲器13、左眼紋理存儲器22之間的數據流程。圖20示出深度圖像存儲器、全周圍圖像存儲器13、左眼紋理存儲器22之間的數據流程。圖21示出形成左眼紋理的過程。圖22示出形成右眼紋理的過程。圖23示出形成右眼紋理的過程。圖24是示出全周圍圖像的立體視化順序的流程圖。圖25是水平360度立體圖像生成處理的流程圖。圖26是示出僅根據DIBR處理而得到的右眼用的全周圍圖像與進行像素位移和邊界處理而得到的右眼用的全周圍圖像的對比的圖。圖27是示出實施方式2中的全周圍圖像和與其對應的深度圖像的圖。圖28是示出實施方式2中的對像素位移后的圖像進行校正并生成立體圖像的狀況的圖。圖29示出紋理映射部28的紋理映射。圖30是圖像描繪裝置的硬件結構圖。圖31是示出GPU的內部結構的圖。圖32是球面模型與紋理的對應、以及用于實現紋理映射的API調出的描述例。
具體實施例方式具有上述課題解決手段的圖像描繪裝置的發明能夠作為用于再現街景的數字家電設備來實施,集成電路的發明能夠作為裝入該數字家電設備中的系統LSI來實施。圖像描繪方法的發明能夠作為在該數字家電設備中實現的時序順序來實施。圖像描繪程序的發明能夠作為記錄在計算機可讀取的非臨時的記錄介質中并安裝在數字家電設備中的執行形式程序來實施。在圖像描繪裝置的說明之前,對圖像描繪裝置的使用環境即立體視全景檢索服務的全體結構進行說明。
圖I示出立體視全景檢索服務的全體結構。全景收集服務器1001是將從世界中收集的背景圖像與深度數據和地形數據相對應地存儲的服務器,根據來自客戶端裝置的請求,與深度圖像和地形數據一起發送視點周圍圖像。背景圖像是在專用的拍攝車輛的行駛中拍攝的。深度數據表示在該拍攝時取得的地標的進深。進而,視點周圍圖像表示從與對全景收集服務器1001發送的圖像取得請求中的地理信息對應的地理位置張望周圍時的光景。視點周圍圖像例如是張望90度、120度、180度、360度這樣的較寬視野的圖像,特別地,將張望360度視野的視點周圍圖像稱為全景圖像或全周圍圖像。為了便于說明,在以后的說明中,假設視點周圍圖像為張望360度視野的全景圖像即全周圍圖像。該拍攝車輛具有多個照相機,在多個照相機中,通過縱4X橫7的背景圖像表示車輛所在的場所。深度圖像通過像素的亮度表示深度數據中的地標的進深,表示背景圖像的進深。即,深度圖像的各個像素成為表示背景圖像的各個像素的進深的進深信息客戶端裝置1002是數字電視機等網絡對應的家電設備,對服務器發送下載請求mgl,并接收全周圍圖像mg2、深度圖像mg3。使用該全周圍圖像執行3D街景。該下載請求 包括緯度、經度、海拔的信息,能夠請求發送地球上的任意場所的全周圍圖像。在用戶希望視聽立體視的街景的情況下,由用戶佩戴眼鏡1003。這里的立體視通過多視點圖像群實現。這里,多視點圖像群是如左眼圖像、右眼圖像、中央、右斜上圖像、右斜下圖像、左斜上圖像、左斜下圖像那樣、通過與2個以上的視點對應的視點圖像實現立體視的視點圖像的集合體。對多視點圖像群的全部變化進行說明時,說明變得煩雜,所以,在以后的說明中,設多視點圖像群是由必要最低限度的視點圖像組、即左眼圖像和右眼圖像的組構成的立體圖像群,從而進行說明。圖2是示意地示出街景立體視系統的圖。本圖的上半部分是模型所在的虛擬空間,下半部分是客戶端裝置1002、眼鏡1003所在的現實空間。首先,對虛擬空間進行說明。虛擬空間是指由用于配置三維坐標的坐標系規定的三維建模空間,該三維坐標規定立體模型的幾何學形狀。立體模型的形狀不限。可以是圓柱、圓錐、三角錐、橢圓體等的任意形狀的三維模型,但是,為了便于說明,在以后的說明中,設為球面模型進行說明。作為立體模型的球體的中心是照相機的位置。為了簡化,僅描繪一個球面模型,但是,在立體視時,存在分別與左眼用、右眼用有關的球面模型。圖中的照相機CL是配置在從球面模型中心向右側隔開P的位置的照相機。照相機CR是配置在從球面模型中心向左側隔開P的位置的照相機。這些照相機CL、CR成為左眼拍攝時、右眼拍攝行為時的球面模型的中心位置。在該立體模型的斜上方配置有結合了縱4X橫7的背景圖像的全周圍圖像。全周圍圖像具有右眼用的全周圍圖像ml和左眼用的全周圍圖像m2,在右眼用紋理和左眼用紋理中,三維建模空間中的配置位置不同。在本圖中,僅描繪球面模型的上半部分,但是,實際上還存在下半部分。并且,關于全周圍圖像,也僅描繪上半部分,但是,實際上還存在下半部分。接著,對球面模型進行說明。在球體的內側表面存在右眼用紋理的粘貼范圍m4和左眼用紋理的粘貼范圍m5。球面模型中的粘貼范圍是指在球面模型中由4個或3個交點規定的網格。該網格具有球面模型的曲率,被定義為將球面模型的極坐標作為頂點的三角形帶的一部分或全部。在紋理映射時,設圖形類型為三角形帶,通過與存儲有背景圖像的正文緩存坐標進行對應,執行圖形描繪。在紋理的近前存在顯示面,在該顯示面中定義窗口 mg6。窗口規定三維建模空間中的用于顯示的部分。投影到該窗口中的影像用于再現。窗口存在于左眼投影范圍和右眼投影范圍交叉的場所。即,窗口配置在左眼用和右眼用共同的位置。在球面模型的內側粘貼的紋理是全周圍圖像,所以,張望360°的全周圍。如果將三維建模空間中的球面模型展開為墨卡托圖形,則成為全周圍圖像。半球體中的縱2X橫7的網格的個數與全周圍圖像中的縱2X橫7的背景圖像的個數一致。S卩,進行將全周圍圖像中的各個背景圖像變換為紋理、并粘貼在球面模型的各個網格中的紋理映射。以上是與虛擬空間有關的說明。接著,對現實空間進行說明。在本圖中,在作為立體模型的球體的正下方描繪客戶端裝置1002和佩戴了眼鏡1003的用戶的面部。客戶端裝置1002的顯示畫面存在于球面模型內的窗口的正下方。并且,眼鏡1003存在于比照相機CL、CR的正下方更靠里側。這是因為,用戶的右眼、左眼成為照相機CL、CR的位置,所以,眼鏡1003必須配置在其附近。 如上所述,照相機CL、CR的位置與用戶的右眼、左眼相當,窗口與客戶端裝置1002的畫面相當,所以,在客戶端裝置1002與用戶之間出現立體視圖像。在虛擬空間中,房屋以平面方式表現,但是,在現實空間中,房屋成為從客戶端裝置1002的畫面中突現的形式。圖3示出從球面模型中心對粘貼在球面內側的紋理進行視聽的狀態。圖3示出橫排粘貼多個背景圖像的球面模型的內側表面。在圖3中,在正面配置近代的教堂,在右手側存在滑梯。它們粘貼在球體的內側表面,所以,當在截面圓的中心配置照相機的情況下,以從全周圍包圍該照相機的方式配置背景圖像。在該球面模型中粘貼的紋理伴隨由地球上的緯度、經度、海拔確定的視點位置而變化。即,在用戶進行了視點位置的變更操作的情況下,影像提供裝置對由地球上的地理信息(緯度、經度、海拔等)確定的當前視點位置進行更新,下載與更新后的當前視點位置一致的全周圍圖像,將該全周圍圖像粘貼在球面模型中,進行再次描繪。在圖2的球面模型中,照相機存在于球面模型的中心,但是,這是用于平面視的照相機位置,立體視的照相機位置不同。在立體視時,通過在從球面模型中心隔開P的位置配置照相機,得到2個球面模型。圖4示出在三維建模空間中在立體視再現時生成的2個球面模型。圖4 (a)是左眼用的球面模型,在內側粘貼有通過對橫向結合了橫7張背景圖像的圖像執行DIBR而生成的左眼圖像。圖4 (b)是通過對(a)的圖像執行基于深度圖像的基于深度的繪制而生成的右眼圖像,在內側粘貼有通過對橫向結合了橫7張背景圖像的圖像執行基于深度圖像的基于深度的繪制而生成的右眼圖像。設構成全周圍圖像的橫7張圖像為圖像A、B、C、D、E、F、G。對如何根據該圖像A G生成右眼用紋理和左眼用紋理進行說明。圖5示出根據在該球體的內側表面粘貼的背景圖像而生成多視點圖像的過程。(a)示出如下的一例在通過對球體內側表面進行分割而得到的7個分割區域中,按照A — B — C — D — E的順序粘貼構成全周圍圖像的橫7張圖像中的A、B、C、D、E這5張背景圖像。對圖5 (a)的圖像A、圖像B、圖像C、圖像D、圖像E進行說明。在圖像A中,設由于基于DIBR的位移而使坐標變化的像素集合為AL、AM、AR。在圖像B中,設由于基于DIBR的位移而使坐標變化的像素集合為BL、BM、BR,在圖像C中,設由于基于DIBR的位移而使坐標變化的像素集合為CL、CM、CR。在圖像D中,設由于基于DIBR的位移而使坐標變化的像素集合為DL、DM、DR,在圖像E中,設由于基于DIBR的位移而使坐標變化的像素集合為EL、EM、ER。這些像素群在圖像中呈現“V”的形狀。在左眼用紋理的生成中,結合圖像A E來執行DIBR。由此,左端部分的像素在顯示區域外,所以,在相鄰圖像即圖像A、B、C、D、E的右側端部追加圖5 Ca)中的像素集合BL、CL、DL、EL、FL。該結果為圖5 (b)。如圖5 (b)所示,左眼用紋理由包含像素群AM、AR、BL的圖像A (L);包含像素群BM、BR、CL的圖像B (L);由像素群CM、CR、DL構成的圖像C(U;包含像素群DM、DR. EL的圖像D (L);以及包含像素群EM、ER、FL的圖像E (L)構成。由于是紙面上的情況,所以,在圖5中省略圖像F、G的圖示,但是,圖像F、G也進行與本圖相同的處理。在右眼用紋理的生成中,結合圖像A E來執行DIBR。由此,右端部分的像素在顯示區域外,所以,在相鄰圖像即圖像A、B、C、D、E的左側端部追加圖5 Ca)中的像素集合GR、AR、BR、CR、DR。該結果為圖5 (C)。如圖5 (c)所示,右眼用紋理由包含像素群GR、AL、Am的圖像A (R);包含像素群AR、BL、Bm的圖像B (R);由像素群BR、CL、Cm構成的圖像C(R);包含像素群CR、DL、Dm的圖像D (R);以及包含像素群DR、EL、Em的圖像E (R)構成。 圖6 (a)示出在球面內側粘貼圖5 (b)的左位移后的像素時的紋理。圖6 (b)示出在球面內側粘貼圖5 (c)的右位移后的像素時的紋理。圖7(a)示出在圖I的三維建模空間中左眼用紋理、右眼用紋理與窗口的關系。圖7 (a)是左眼用紋理的配置。在本圖中,在左眼用照相機的視線矢量前方配置左眼用紋理,在球面模型內側粘貼左眼用紋理。由此,與窗口相當的部分被用于顯示。圖7(b)是右眼用紋理的配置。在本圖中,在右眼用照相機的視線矢量前方配置右眼用紋理,在球面模型內側粘貼右眼用紋理。由此,與窗口相當的部分被用于顯示。圖8示出前景圖像與背景圖像的合成。(a)是作為題材的前景圖像,這是以近代的教堂為背景、新郎和新娘相互面對的內容的抓拍照片。該近代的教堂也存在于背景圖像中,所以,教堂的輪廓線形狀成為前景圖像和背景圖像的共同特征。圖8 (b)示出前景圖像與背景圖像的匹配。通過該匹配,能夠得到表示背景圖像和前景圖像的對應關系的變換矩陣,所以,如果根據該矩陣對前景圖像的深度圖像進行變換后進行DIBR,則得到與背景圖像沒有不舒適感的合成圖像。以該圖8的合成為前提,能夠實現隨后體驗。圖9示出畫面合成的一例。視線vwl表示通過眼鏡1003對右眼進行遮光時的影像的入射。視線vw2表示通過眼鏡1003對左眼進行遮光時的影像的入射。通過該wl對左眼圖像進行視聽。并且,通過w2對右眼圖像進行視聽。通過佩戴眼鏡1003,用戶交替視聽右眼圖像和左眼圖像,再現立體視圖像。圖9的圖像是通過根據變換矩陣對窗口中得到的前景圖像和背景圖像進行合成而得到的立體視圖像。以在球面體內部粘貼的多個背景圖像為背景來顯示人物,所以,得到臨場感高的立體視影像。如上所述,如果從服務器取得與照片的全局位置一致的全周圍圖像,則能夠在與該照片一致的全周圍圖像中合成照片。并且,能夠在街景中合成Π目標。圖10示出合成了Π目標的街景。方向導航Ui在視覺上顯示當前的視線方向。指示器irl、ir2表示當前的視點位置所在的地名(Ioss-LessCitycentral park)和建筑物的名稱(CABAC church)。十字按鈕bn2在變更當前視點位置的情況下受理其行進方向的選擇。變焦放大按鈕bn3在不改變視點位置和視線方向的狀態下受理顯示內容的放大/縮小操作。角度按鈕bn4受理當前視線方向的右旋轉、左旋轉的指定。這些GUI被分配給遙控器的鍵,所以,通過對遙控器進行操作,能夠進行街景中的移動、旋轉這樣的控制。以上是與全景檢索服務有關的說明。(實施方式I)實施方式I涉及對構成結合背景圖像的各個背景圖像實施像素位移時、適當地對由于該像素位移而產生的“露出像素”進行處理的改良。圖11是示出實施方式I中的圖像描繪裝置的輸入輸出方式的一例的圖。描繪裝置101受理與全周圍圖像對應的深度圖像(深度映射圖)作為輸入,進行左眼用和右眼用的圖像輸出。利用立體視對應顯示器,在畫面上同步描繪被輸出的左眼圖像和右眼圖像,使視聽者感受立體圖像。I個地點的全周圍圖像由縱4張、橫7張的合計28張部分圖像構成。一張各部分圖像具有縱512像素、橫512像素的像素數。深度圖像(深度映射圖)表示立體空間中的各像素的進深,顏色更黑的部分是在立體空間上位于里側的物體,顏色較白的部分表示在立體空間上存在于近前側的物體。 描繪裝置針對各部分圖像應用深度圖像,與被輸入的部分圖像的數量同樣,分別生成28張右眼用圖像和左眼用圖像。所生成的右眼用圖像和左眼用圖像分別被粘貼在球面上,在左眼用和右眼用時,將在3D建模空間上從球體中心觀察球面側的范圍同步輸出到畫面上,由此,顯示全周圍的立體圖像。圖12是示出圖像描繪裝置的使用方式的一例的圖。用戶使用遙控器102指定希望視聽的場所和角度,通過液晶快門式眼鏡104對輸出到立體視對應顯示器103的影像進行視聽,由此,能夠立體地感受任意地點/角度的全周圍圖像。立體視對應顯示器103與描繪裝置101連接,或者內置由描繪裝置101的功能。在圖12的使用方式的例子中,立體視對應顯示器103內置有描繪裝置101的功能,立體視對應顯示器103經由因特網而與服務器105連接。立體視對應顯示器103下載與用戶指定的場所對應的全周圍圖像和深度圖像,生成右眼用圖像和左眼用圖像并同步顯示在畫面上。圖13是示出描繪裝置的功能結構的框圖。如圖13所示,描繪裝置101由用戶操作檢測部I、位置方向判定部2、網絡接口 3、本地存儲器4、描繪控制部5、左眼平面存儲器6、右眼平面存儲器7、和輸出接口 8構成。(用戶操作檢測部I)用戶操作檢測部I檢測用戶的遙控器操作、鍵盤操作、鼠標操作等,將對應的操作代碼(表示上下左右鍵按下、右鍵按下等的用戶操作的代碼)發送到位置方向判定部2。(位置方向判定部2)位置方向判定部2根據從用戶操作檢測部I接受的操作代碼,判定應該顯示在哪個視點方向觀察地圖上的哪個位置的全周圍圖像的圖像。地圖上的位置是當前視點位置,由包含緯度和經度的地理信息確定。并且,視點方向是當前視線方向,由水平角度和垂直角度確定。設北方為O度,繞順時針在O度 360度的范圍內表現水平角度。設地平線為O度、正上方為90度、正下方為-90度,在-90度 90度的范圍內表現垂直角度。位置方向判定部2根據所接受的操作代碼,確定這些緯度、經度、水平角度、垂直角度,將所確定的值轉送到描繪控制部5。(網絡接口3)
網絡接口 3具有請求發送部和應答接收部。請求發送部向全景收集服務器1001發送指定了地球上的當前視點位置的圖像取得請求。這里,在針對地像進行了用戶操作的情況下,請求發送部使用與通過用戶操作而指定的位置對應的地理信息,生成指定當前視點位置的圖像取得請求,將其發送到全景收集服務器1001。應答接收部接收從全景收集服務器1001發送來的立體街景視點文件,作為針對圖像取得請求的應答。從全景收集服務器1001發送來的立體街景視點文件具有與圖像取得請求中包含的地理信息一致的位置屬性。在所下載的街景文件中存在有全周圍圖像和深度圖像。街景文件被臨時存儲在立體圖像描繪裝置內的本地存儲器4中。在立即顯示這些圖像的情況下,不存儲在本地存儲器4中,而將在裝置內的存儲器上下載的全周圍圖像直接轉送到圖像取得部。(本地存儲器4)
本地存儲器4是硬盤驅動器(HDD)、USB存儲器、SD存儲卡等的安裝在描繪裝置上的記錄介質。用于對從服務器下載的街景文件進行超高速緩存、并在描繪裝置中利用由服務器以外的外部設備生成的街景文件等的用途。為了有效理解本地存儲器4,對其存儲內容即街景文件進行說明。街景文件是再現地球上的任意地點的視點的文件,是在地球上的該視點的拍攝地屬性中對應作為全周圍圖像的壓縮墨卡托圖像、作為對應深度圖像的壓縮墨卡托深度、拍攝日期時間、數據尺寸的文件。這里的拍攝地屬性是緯度、經度、海拔、方位、傾斜。街景文件具有與立體照片文件共通的數據構造,所以,在檢索適于某個視點位置的街景文件時,如果搜索到數據庫中存在的街景文件中的具有相同緯度、經度、海拔作為拍攝地屬性的文件,則能夠早期發現用戶希望的街景文件。以上是與本地存儲器4有關的說明。(描繪控制部5)描繪控制部5進行如下處理根據由位置方向判定部2指示的地圖上的位置以及從網絡接口 3或本地存儲器4取得的全周圍圖像和深度圖像,按照右眼用和左眼用的2個種類生成在3D建模空間內粘貼在球面上的全周圍圖像,提取應該在由位置方向判定部2指示的視點方向上從球的中心觀察球面時被顯示的窗口圖像,將提取出的左眼窗口圖像和右眼窗口圖像分別輸出到左眼平面存儲器6和右眼平面存儲器7。(左眼平面存儲器6)左眼平面存儲器6是存儲在立體視顯示中應該對左眼提示的一張圖像的存儲器。(右眼平面存儲器7)右眼平面存儲器7是存儲在立體視顯示中應該對右眼提示的一張圖像的存儲器。(輸出接口8)輸出接口 8將存儲在左眼平面存儲器6和右眼平面存儲器7中的圖像一幀一幀地同步輸出到立體視對應顯示器103。具體而言,以120Hz從左右的平面存儲器中交替讀出圖像,左右分別向顯示器側發送每秒60幀的影像。進行視聽的用戶佩戴液晶快門式眼鏡104,液晶快門以120Hz交替反復進行開閉,由此,能夠在左眼中出現左眼用的每秒60幀的圖像,在右眼中出現左眼用的每秒60幀的圖像,所以,能夠根據左右圖像的視差來感受進深。以上是與圖像描繪裝置的基本結構有關的說明。接著,對描繪控制部5的內部結構進行說明。進而,描繪控制部5由全周圍圖像取得部11、全周圍圖像解碼器12、全周圍圖像存儲器13、深度圖像取得部14、深度圖像解碼器15、深度圖像存儲器16、DIBR部17 (像素位移部18、顯示區域緩存19、區域外緩存20、邊界處理部21)、左眼紋理緩存22、右眼紋理緩存23、CG處理部24 (建模數據存儲部25、頂點變換部26、照度計算部27、紋理映射部28、窗口變換部29)構成。(全周圍圖像取得部11)全周圍圖像取得部11經由網絡接口 3從服務器105下載與由位置方向判定部2指示的地圖上的位置(由緯度和經度確定)對應的全周圍圖像,或者從本地存儲器4取得圖像。I個地點的全周圍圖像由縱4張、橫7張的合計28張部分圖像構成,一張各圖像具有縱512像素、橫512像素的像素數。圖15 (a)示出全周圍圖像的一例。(全周圍圖像解碼器12)全周圍圖像解碼器12是JPEG解碼器,進行壓縮墨卡托圖像802的展開并將其存儲在全周圍圖像存儲器19中。
(全周圍圖像存儲器13)全周圍圖像存儲器13是存儲由全周圍圖像解碼器12展開的墨卡托圖像的存儲器。(深度圖像取得部14)深度圖像取得部14從存儲在本地存儲器4中的街景文件中取得與全周圍圖像取得部11取得的全周圍圖像對應的深度圖像。(深度圖像解碼器15)深度圖像解碼器15是PNG解碼器,進行立體街景視點中包含的壓縮墨卡托深度的展開,并將其存儲在深度圖像存儲器16中。(深度圖像存儲器16)深度圖像存儲器16是存儲由深度圖像解碼器15生成的深度圖像的存儲器。深度圖像表示立體空間中的各像素的進深,利用8比特的亮度表現各像素的進深。亮度O (黑色)表示對應像素位于最遠的位置,亮度255 (白色)表示對應像素位于最近的位置。即,全周圍圖像可以看成彩色圖像,與此相對,深度圖像被識別為僅由亮度表現的灰度圖像。表示深度圖像的灰度圖像與全周圍圖像同樣,針對I個地點,由縱4張、橫7張的合計28張部分圖像構成,一張各圖像具有縱512像素、橫512像素的像素數(各像素僅由8比特的亮度保持)。圖14是與從網絡接口 3或本地存儲器4取得的全周圍圖像對應的深度圖像的一例。分別對全周圍圖像的I個像素分配8比特(256階)的深度圖像。進深值O表示在3D空間上位于最里側,進深值255表示在3D空間上位于最近前側。這些進深值作為8比特的亮度被分配,如圖14所示,深度圖像表現為灰度的圖像(深度映射圖)。深度圖像中的I個像素分別對應于作為基礎的全周圍圖像的I個像素的進深值(深度值)。例如,在深度映射像上的坐標(x=100、Y=IOO)的像素的亮度為50的情況下,表示對應的全周圍圖像的坐標P (X=IOO, Y=IOO)的像素為進深值50,在深度映射像上的坐標(X=200、Y=200)的像素的亮度為100的情況下,表示對應的全周圍圖像的坐標Q (Χ=200、Υ=200)的像素為進深值100。S卩,全周圍圖像的坐標Ρ(Χ=100、Υ=100)為進深值50、全周圍圖像的坐標Q(X=200、Y=200)為進深值100,所以,與坐標Q相比,坐標P在3D空間上位于里側。
〈DIBR 部 17>DIBR部17從全周圍圖像取得部11取得基本的左眼用全周圍圖像,從深度圖像取得部14取得與基本圖像對應的深度圖像,進行DIBR處理,生成右眼圖像。DIBR (DepthImage Based Rendering 或 Depth Image Based Representations)是如下處理根據深度圖像(深度映射圖),從基本圖像起使各像素左右位移,生出另一視點的視點圖像。在將基本的全周圍圖像分配給左眼用的情況下,如果所生成的其他視點的視點圖像(即右眼用的圖像)上的像素相對于基本像素向右位移,則在3D空間上向里側移動,如果相對于基本像素向左位移,則在3D空間上向近前移動。這是基于通過所謂的人眼的阻塞角之差而生出的立體知覺,當相對于基本的左眼圖像而使右眼圖像上的像素向左位移時,阻塞角減小,成為所謂的斜視狀態,所以,感覺由該像素表現的物體位于近前。相反,當相對于基本的左眼圖像而使右眼圖像上的像素向右位移時,阻塞角變大,感覺由該像素表現的物體位于里側。由此,如果根據由深度圖像所示的各像素的進深值使基本的左眼圖像的各像素左右位移,則能夠 生成對應的可立體視的右眼圖像。但是,根據DIBR處理而生成的右眼圖像還不完全。在圖像中央附近位移的像素沒有問題,但是,關于在圖像的兩端部位移的像素,由于像素的坐標和位移量,位移后的像素有時位于圖像區域外的位置。并且,在圖像的端部,在向中心方向位移的情況下,還產生填埋位移前的位置的像素丟失的問題。使用圖15具體說明這些問題。圖15是示出根據深度圖像使基本的全周圍圖像的各像素位移而生成其他視點的視點圖像的狀況的圖。在該圖15的一例中,作為最簡單的對應,設位移量O的基準值為進深值0,隨著進深值增大,更多地向左側位移。這里,為了簡便,進深值增加I時,向左的位移量增加I。即,進深值O的像素不進行位移,進深值50的像素向左方位移50像素。存在于圖15 (a)的左上方的圖像是結合了多個背景圖像的全周圍圖像。在該圖像中,在左端部描繪云,在右端部以跨越相鄰圖像的形式描繪房屋。存在于圖15(a)的右上方的圖像是對應的深度圖像。在該深度圖像中示出,與表現天空的背景相當的部分位于最里側(進深值0),與天空相比,云和房屋位于近前側。在圖15 (a)中,設云的進深值為50、房屋的進深值為100。在DIBR處理中,首先決定位移量O的基準值,然后,根據進深值決定位移量。在圖15中,相當于天空的部分為進深值0,所以不進行位移。另一方面,云的進深值為I以上,所以進行像素位移。大廈的進深值為50,所以,使構成云的像素向左方位移50像素。大廈為進深值100,所以,使構成大廈的像素向左方位移100像素。對構成全周圍圖像的各個圖像進行像素位移的結果為圖5 (b)的圖像。云的原本位置為左端部附近,所以,成為位移后的結果從顯示區域露出的位置。另一方面,房屋位于右端部,以跨越相鄰圖像的方式進行描繪,所以,向左方位移后,原本的像素位于相鄰圖像中,因此,由于位移而產生空白,成為一部分丟失的狀態。可知構成云的左端、房屋的正中間部分、山的正中間部分的像素分別成為露出像素。因此,DIBR部17通過具有邊界處理部21,進行補充基于位移而產生的空白的處理。圖15(C)是其補充結果。使用相鄰圖像的露出像素改寫圖15 (b)所示的基于位移而產生的空白。(像素位移部I8)
像素位移部18從全周圍圖像存儲器13中取出由橫512X縱512的像素構成的圖像數據,并且,從全周圍圖像存儲器16中取出由橫512X縱512的像素構成的深度數據,基于該橫512X縱512的深度數據,對橫512X縱512的像素的集合執行像素位移。敘述在執行像素位移時對各像素設定什么樣的視差。在存在于深度圖像的坐標(X、y)的像素中,在從視點起的進深為D印th (x、y)的情況下,例如,能夠根據以下的數學式從深度圖像中存在于坐標(X、y)的亮度Y (X、y)變換為進深Depth (x、y)。(數學式)
Y (x、y)=255_ (log (Depth (x> y) +1) X 100)通過將這樣求出的進深D印th U、y)變換為與顯示器的畫面尺寸對應的像素數offset (X、y),能夠將像素的亮度變換為適當的視差。在DIBR中,在使構成圖像的多個像素中的位于任意坐標(x、y)的像素的坐標沿水平方向移動時,根據由在對應的深度圖像中存在于坐標(X、y)的像素的亮度Y (x、y)導出的進深 Depth (X、y),求出該坐標(X、y)固有的 offset (Depth (x、y)、y),使用該 offset(Depth (x、y)、y)作為移動量,由此得到其他視點的視點圖像。圖16 (a)示出在深度圖像中存在于坐標(x、y)的像素的進深D印th (x、y)。Depth (x、y)在位置上與圖16 (b)中的Pix (x、y)對應。圖16 (b)示出在圖像存儲器中存在于坐標(x、y)的像素Pix (x、y)。圖16 (c)示出在生成左眼紋理時像素Pix (x、y)如何位移。在圖16 (c)中,在全周圍圖像存儲器18中,Pix (x、y)沿水平方向以Offset (Depth (x、y))進行變位。因此,位于Pix(x+0ffset (Depth (x、y))、y)。在全周圍圖像中,Offset (Depth (x、y))在 x、y 坐標中是唯一的偏移,根據基于深度圖像中的對應像素的亮度的D印th (x、y)來設定。在生成2個以上的視點圖像時,像素沿水平方向如何變位是根據圖像的每個像素而不同的。深度圖像中的像素的亮度電平與位移量即像素數之間的對應能夠根據上述數學式導出。作為該對應的一例,可以如圖16 (c)那樣設定。圖16 (C)示出Y (x、y)中的O 255的亮度范圍與I像素 16像素的單位偏移之間的對應。在本圖中,對O 63的亮度范圍分配O 2像素的范圍的偏移,對64 127的亮度范圍分配3 4像素的范圍的偏移,對128 191的亮度范圍分配5 8像素的偏移,對192 255的亮度分配9 16像素的偏移。即,進行如下的非線性的對應增大應該對明亮部分的亮度范圍分配的視差,減小應該對昏暗部分的亮度范圍分配的視差。圖17示出通過像素電平的位移而在左眼紋理和右眼紋理中具有什么樣的視差。圖17 (a)示出深度圖像,圖17 (b)示出左眼紋理存儲器的存儲內容,圖17 (c)示出右眼紋理存儲器的存儲內容。Pix (xl、y)是圖17 (b)中并列的3個大廈中的最靠前的大廈的像素。Pix (x2、y)是3個大廈中的第2個大廈的像素。Pix (x3、y)是3個大廈中的第3個大廈的像素。圖17 (a)是深度圖像的一例,示出對左眼紋理中的像素Pix (xl、y)、Pix (x2、y)、Pix (x3、y)賦予的進深。Depth (xl、y)表示左眼紋理中的Pix (xl、y)的進深。Depth(x2、y)表示左眼紋理中的Pix (x2、y)的進深。D^th (x3、y)表示左眼紋理中的Pix (x3、y)的進深。圖17 (C)的下側示出在DIBR中對各像素賦予的偏移。Offset (Depth (xl、y)、y)表示對左眼紋理中的Pix (xl、y)賦予的偏移。Offset (Depth (x2、y)、y)表示對左眼紋理中的Pix (x2、y)賦予的偏移,Offset (Depth (x3、y)、y)表示對左眼紋理中的Pix(x3、y)賦予的偏移。如本圖所示,由于具有 Depth (xl、y)>Depth (x2、y)>Depth (x3、y)的關系,所以,對構成最靠前的大廈的像素賦予最大的視差,從畫面中大幅突現。如上所述,在DIBR中,像素的變位量根據深度圖像中的對應像素的亮度而不同,所以,如果使用算術運算器而根據深度圖像中的各像素的亮度計算偏移,則能夠通過硬件元件安裝像素位移部18。以上是與像素位移部18有關的說明。接著,對顯示區域緩存19進行詳細說明。(顯示區域緩存19)顯示區域緩存19存儲作為像素位移部18的DIBR處理結果的像素的集合中的、位移后的坐標位于顯示區域內的像素。在原來的圖像數據的分辨率為橫MX縱N的情況下,在以圖像數據的左上坐標為原點(0、0)的坐標系中,X坐標為O M-I的像素、Y坐標為O N-I的像素成為“顯示區域”。這樣,將位移后的X坐標為M以上的像素除外,將X坐標為O M-I的范圍的像素存儲在該顯示區域緩存19中。在位移對象為橫512 X縱512的情況下,將位移后的X坐標為512以上的像素除外,將X坐標為O 511的范圍的像素存儲 在該顯示區域緩存19中。(區域外緩存20)區域外緩存20存儲作為像素位移部18的DIBR處理結果的像素的集合中的、位移后的坐標位于顯示區域外的像素即“露出像素”。在原來的圖像數據的分辨率為橫MX縱N的情況下,位移后的X坐標為M以上的像素被作為“露出像素”而存儲在該區域外緩存20中。(邊界處理部21)邊界處理部21對基于DIBR處理的像素位移不完全的圖像的邊界進行校正。圖像的邊界處理是如下的處理在像素位移部18對下一個相鄰的圖像數據進行處理時,使用存儲在區域外緩存20中的顯示區域范圍外的像素,填埋在圖像端部丟失的像素。<左眼紋理存儲器22、右眼紋理存儲器23>右眼紋理存儲器22、左眼紋理存儲器23的對存儲街景DIBR執行部17進行DIBR而得到的左眼紋理和右眼紋理。〈CG 處理部 24>CG處理部24進行如下處理將構成建模數據的三維坐標配置在三維建模空間中,將該三維建模空間中的三維坐標投影到窗口中。該處理具有坐標/視野變換、照度計算(紋理映射處理)、窗口處理。(建模數據存儲部25)建模數據存儲部25存儲規定球體模型和GUI部件的形狀的建模數據。〈坐標變換部26>坐標變換部26將視點設為照相機,通過指定照相機的方向和變焦等級,決定投影立體物的幕。然后,將規定球面模型的建模數據的三維坐標變換為三維建模空間中的世界坐標。這里的坐標變換是指,將三維建模空間中的照相機位置作為原點,將規定建模數據的三維坐標變換為從照相機觀察的坐標系中的世界坐標。〈照度計算部27>照度計算部27計算對立體物照射從在三維建模空間中設定的光源位置照射的光時的各頂點中的照度。〈紋理映射部28>紋理映射部28在3D建模空間上準備左眼用和右眼用的2個球體,將對背景圖像進行變換而得到的2個以上的左眼用紋理和右眼用紋理映射到三維建模空間中的球體模型的內側表面。〈窗口變換部29>窗口變換部29按照包含顯示器的分辨率等的顯示器信息,將三維建模空間中的三維坐標的頂點坐標變換為二維的幕坐標,從而提取窗口圖像。提取出的圖像具有左眼窗口圖像和右眼窗口圖像,窗口變換部將它們分別輸出到左眼平面存儲器6和右眼平面存儲器7。在來自位置方向判定部2的指示為當前視點位置沒有變化、僅當前視線方向變化的情況下,紋理映射部跳過紋理映射處理,僅窗口變換部伴隨當前視線方向變化而進行窗口的再次提取和指定平面存儲器的再次輸出。 以上是與描繪控制部5有關的說明。圖18示出全周圍圖像存儲器13、深度圖像存儲器、左眼紋理存儲器22、右眼紋理存儲器23的內部結構與像素位移部18、顯示區域緩存19、區域外緩存20之間的關系。在本圖中,存儲器的存儲區域成為格子狀。該格子的每一個格子分別意味著存儲器的存儲元件中的存儲內容。作為存儲元件的存儲內容,存在像素值。該像素值由亮度Y、紅色差Cr、藍色差Cb、透明度α構成。在上段描繪深度圖像存儲器16、全周圍圖像存儲器13,在下段描繪左眼紋理存儲器22、右眼紋理存儲器23,在中段描繪像素位移部18、顯示區域緩存19、區域外緩存20。全周圍圖像存儲器13中的A、B、C、D、E、F、G是構成全周圍圖像的橫向7個圖像,各圖像具有縱512X橫512像素的規模。左上方的左眼紋理存儲器22中的A (dp)、B (dp)、C (dp)、D (dp), E (dp), F (dp), G (dp)是縱512X橫512像素的規模的灰度。在左下方的左眼紋理存儲器22的存儲內容中,A CL), B (L)、C (L)、D (L)、E (L)、F (L)、G (L)是左方向的位移結果。在右下方的右眼紋理存儲器23的存儲內容中,A CR), B (R)、C (R)、D (R)、E (R)、F (R)、G (R)是右方向的位移結果。從存儲在全周圍圖像存儲器13內的縱4X橫7的全周圍圖像中取出由縱512 X橫512像素的像素構成的圖像,并且,從存儲在深度圖像存儲器內的深度圖像中取出由對應的縱512X橫512像素的像素構成的灰度。然后,根據所取出的圖像和灰度執行DIBR,將其結果存儲在左眼紋理存儲器22和右眼紋理存儲器23中,在左眼紋理存儲器22和右眼紋理存儲器23上依次形成左眼紋理和右眼紋理。圖19示出深度圖像存儲器、全周圍圖像存儲器13、左眼紋理存儲器22之間的數據流程。本圖是基于圖18而制作的,與作為該基礎的結構相比,不同之處在于追加了表示圖像數據的來去的箭頭。在圖19 (a)中,箭頭dfl、df2示意地示出來自深度圖像存儲器的深度圖像A (dp)和來自全周圍圖像存儲器13的圖像A的讀出。箭頭df3、df4示意地示出從顯示區域緩存19和區域外緩存20針對左眼紋理存儲器22的圖像A (L)的寫入。在圖19 (b)中,箭頭df5、df6示意地示出來自深度圖像存儲器的深度圖像B (dp)和來自全周圍圖像存儲器13的圖像B的讀出。箭頭df7、df8示意地示出從顯示區域緩存19和區域外緩存20針對左眼紋理存儲器22的圖像B (L)的寫入。
圖20示出深度圖像存儲器、全周圍圖像存儲器13、左眼紋理存儲器22之間的數據流程。本圖是基于圖18而制作的,與作為該基礎的結構相比,不同之處在于追加了表示圖像數據的來去的箭頭。在圖20 (a)中,箭頭df9、dflO示意地示出來自深度圖像存儲器的深度圖像A (dp)和來自全周圍圖像存儲器13的圖像A的讀出。箭頭dfll、dfl2示意地示出從顯示區域緩存19和區域外緩存20針對右眼紋理存儲器23的圖像A (R)的寫入。在圖20 (b)中,箭頭dfl3、dfl4示意地示出來自深度圖像存儲器的深度圖像B(dp)和來自全周圍圖像存儲器13的圖像B的讀出。箭頭dfl5、dfl6示意地示出從顯示區域緩存19和區域外緩存20針對右眼紋理存儲器23的圖像B (R)的寫入。如上所述可知,按照縱512X橫512像素讀出存儲在全周圍圖像存儲器13中的全周圍圖像并供給到像素位移部18,按照縱512X橫512像素執行DIBR。參照圖21 圖23說明在針對構成全周圍圖像的各個圖像的DIBR中如何產生空白、并且如何補充該空白。
關于基于位移而引起的空白的補充,在對某個圖像實施像素位移時,將從圖像的顯示區域產生的露出像素臨時存儲在區域外緩存20中,在對下一個圖像實施像素位移時,將存儲在緩存中的露出像素群用于與該圖像有關的位移空白的補充。(左眼紋理、右眼紋理的形成過程)經由基于上述結構要素的處理過程,得到左眼紋理和右眼紋理。圖21 圖23示意地描繪出從原材料到得到最終成果物的中途過程中的成為話題的過程。圖21示出左方向位移時的全周圍圖像存儲器13-顯示區域緩存19、區域外緩存20-左眼紋理存儲器22之間的數據流程。圖20 (a)中的箭頭ufl表示基于DIBR的像素位移。由此,圖像A全體向右方向位移,在圖像A的右端廣生基于位移的空白。箭頭uf2表不通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭uf3表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的像素作為G (L)的一部分而被存儲在左眼紋理存儲器22中。箭頭uf4表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的圖像A的主體附帶空白,作為A (L)的一部分而被存儲在左眼紋理存儲器22中。圖21 (b)中的箭頭uf5表示基于DIBR的像素位移。由此,圖像B全體向右方向位移,在圖像B的右端產生基于位移的空白。箭頭uf6表示通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭Uf7表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的像素作為A (L)的一部分而被存儲在左眼紋理存儲器22中。箭頭uf8表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的圖像B的主體附帶空白,作為B (L)的一部分而被存儲在左眼紋理存儲器22中。圖21 (C)中的箭頭uf9表示基于DIBR的像素位移。由此,圖像C全體向右方向位移,在圖像C的右端產生基于位移的空白。箭頭UflO表示通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭Ufll表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的像素作為B (L)的一部分而被存儲在左眼紋理存儲器22中。箭頭Uf 12表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的圖像C的主體附帶空白,作為C (L)的一部分而被存儲在左眼紋理存儲器22中。圖22、圖23示出在左眼紋理存儲器22和右眼紋理存儲器23內形成右眼紋理和左眼紋理的過程。作為該形成過程的前提,選擇圖22 (a)所示的5張圖像。圖22 (a)示出對圖像G實施DIBR而得到G (R)的階段。圖22 (b)示出對圖像F實施DIBR而得到F (R)的階段。圖22 (a)示出對圖像E實施DIBR而得到E (R)的階段。圖22 (b)示出對圖像D實施DIBR而得到D (R)的階段。圖22 (a) (b)、圖23 (a) (b)均成為共通的記載,第I段示出全周圍圖像存儲器13的存儲內容,第2段示出顯示區域緩存19和區域外緩存20的存儲內容,第3段示出左眼紋理存儲器22的存儲內容。在第2段中,在該位移方向的相反側的端部產生伴隨DIBR中的位移而產生的空白。在區域外緩存20中存儲有由于該位移而從顯示區域中被趕出的像素。在第3段中,可知在改寫由于針對此后的圖像的位移而產生的空白時使用存儲在區域外緩存20中的露出像素群。
圖22示出左方向位移時的全周圍圖像存儲器13-顯示區域緩存19、區域外緩存20-左眼紋理存儲器22之間的數據流程。圖20 (a)中的箭頭tfl表示基于DIBR的像素位移。由此,圖像G全體向左方向位移,在圖像G的左端廣生基于位移的空白。箭頭tf2表不通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭tf3表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的像素作為A (R)的一部分而被存儲在左眼紋理存儲器22中。箭頭tf4表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的圖像G的主體附帶空白,作為G (R)的一部分而被存儲在左眼紋理存儲器22中。圖22 (b)中的箭頭tf5表示基于DIBR的像素位移。由此,圖像F全體向左方向位移,在圖像F的左端產生基于位移的空白。箭頭tf6表示通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭tf7表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的像素作為G (R)的一部分而被存儲在左眼紋理存儲器22中。箭頭tf8表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的圖像F的主體附帶空白,作為F (R)的一部分而被存儲在左眼紋理存儲器22中。圖23 (a)中的箭頭tf9表示基于DIBR的像素位移。由此,圖像E全體向左方向位移,在圖像E的左端產生基于位移的空白。箭頭tf 10表示通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭tfll表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的像素作為F (R)的一部分而被存儲在左眼紋理存儲器22中。箭頭tfl2表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的圖像E的主體附帶空白,作為E (R)的一部分而被存儲在左眼紋理存儲器22中。圖23 (b)中的箭頭tfl3表示基于DIBR的像素位移。由此,圖像D全體向左方向位移,在圖像D的左端產生基于位移的空白。箭頭tf 14表示通過DIBR而從顯示區域緩存19露出的像素針對區域外緩存20的寫入。箭頭tfl5表示從區域外緩存20針對左眼紋理存儲器22的像素的寫入。由此,可知區域外緩存20內的像素作為E (R)的一部分而被存儲在左眼紋理存儲器22中。箭頭tfl6表示從顯示區域緩存19針對左眼紋理存儲器22的像素的寫入。由此,可知顯示區域緩存19內的圖像D的主體附帶空白,作為D (R)的一部分而被存儲在左眼紋理存儲器22中。<以通用CPU上的動作為前提的軟件安裝>通過利用ASIC等硬件集成元件具體實現上述圖像描繪裝置中的各結構要素,能夠以工業方式生產本實施方式的圖像描繪裝置。在該硬件集成元件采用CPU、代碼R0M、RAM這樣的通用的計算機系統的體系結構的情況下,必須預先將利用計算機代碼描述了上述各結構要素的處理順序的程序組入代碼ROM中,使硬件集成元件內的CPU執行該程序的處理順序。對在采用通用的計算機系統的體系結構的情況下軟件安裝所需要 的處理順序進行說明。圖24是示出繪制的立體視化順序的流程圖。是主流程。在步驟SI中,決定繪制地圖中的當前視點位置(緯度、經度)和在畫面上顯示的當前視線方向(水平角度和垂直角度),在步驟S2中生成與地圖上的當前視點位置對應的圖像取得請求,將圖像取得請求發送到服務器1001。在步驟S3中,等待接收街景文件,如果接收到街景文件,則在步驟S4中取得全周圍圖像和與其對應的深度圖像。在步驟S5中,將垂直方向的4張圖像中的任意一張圖像作為當前圖像。然后,轉移到步驟S6 步驟S8的循環。在該循環中,對當前圖像執行水平360度的多視點圖像的生成(步驟S6),判定當前圖像是否是垂直方向的最后的圖像(步驟S7),如果不是最后的圖像,則反復進行將縱方向的下一個圖像作為當前圖像的處理(步驟S8)。這里,如果當前圖像是垂直方向的最后的圖像,則步驟S7為“是”,退出該循環。以后,在步驟S9中,針對在3D建模空間中準備的左眼用的球體模型和右眼用的球體模型粘貼通過DIBR而得到的右眼紋理和左眼紋理。在步驟S8中,將從球體模型的中心觀察視線方向時的投影圖像寫入左眼用平面和右眼用平面。圖25是水平360度立體圖像生成處理的流程圖。在步驟S13中,將橫7張圖像中的位于當前視線方向中的圖像作為基點圖像。在步驟S14中,將基點圖像作為當前圖像,在步驟S15中,提取當前圖像和與其對應的深度圖像,在步驟S16中,使當前圖像的各個像素坐標在水平方向位移,以使其具有深度圖像所示的各個像素的進深。在步驟S17中,將具有由于位移而位于區域外的坐標的像素群寫入區域外緩存中。以后,執行步驟S18 步驟S22的循環。在該循環中,在步驟S18中,將在位移方向上與當前圖像相鄰的圖像設定為當前圖像,在步驟S19中,使當前圖像的各個像素坐標在水平方向位移,以使其具有深度圖像所示的各個像素的進深,在步驟S20中,將由于位移而位于區域外的像素寫入區域外緩存中。然后,在步驟S21中,在當前圖像中的位移方向的相反側的端部追加區域外緩存中的像素群。步驟S22規定該循環的結束條件,判斷當前圖像是否與基點圖像相同。如果不相同,則步驟S22為“否”,繼續進行循環。如果相同,則轉移到步驟S23,在當前圖像中的位移方向的相反側的端部追加區域外緩存中的像素群,轉移到步驟S12。根據本圖的流程圖,在根據作為基礎的左眼用的全周圍圖像生成右眼用的全周圍圖像時,所生成的右眼用全周圍圖像也是即使結合28張部分圖像也沒有像素缺失的無縫的全周圍圖像。將這些圖像作為紋理映射到球面上,向左右平面輸出用戶希望觀察的方向的投影圖像,由此,能夠實現無縫的全周圍立體視。
以后,對基于圖24和圖25的流程圖的各結構要素的動作進行說明。首先,通過用戶操作檢測部I、位置方向判定部2,決定應該顯示的全周圍圖像在地圖上的位置(緯度和經度)和在畫面上顯示的方向(水平角度和垂直角度)(SI)。接著,通過全周圍圖像取得部11,取得與在步驟SI中決定的地圖上的位置對應的全周圍圖像(S2)。在步驟S2中取得的I個地點的全周圍圖像由縱4張、橫7張的合計28張部分圖像構成,一張各圖像具有縱512像素、橫512像素的像素數。它們成為左眼用的全周圍圖像。接著,通過深度圖像取得部14,取得與在步驟S2中取得的全周圍圖像對應的深度圖像(S3)。深度圖像表示立體空間中的各像素的進深,利用8比特的亮度表現各像素的進深。深度圖像自身也構成為圖像,與全周圍圖像同樣,關于I個地點,由縱4張、橫7張的合計28張灰度圖像構成。在步驟S2和步驟S3中取得作為基礎的全周圍圖像和深度圖像后,選擇垂直方向 4張圖像中的任意一張,根據圖18所示的流程圖進行水平360度的立體圖像生成(S5)。作為從垂直方向4張圖像中進行選擇的方法,優選選擇與應該顯示的全周圍圖像的垂直角度接近的位置的圖像。從位于視點方向上的圖像起優先進行處理,由此,在處理中,也能夠在畫面上顯示其余圖像。由于垂直方向具有4張圖像,所以,存在4種水平360度的圖像組。如果判斷為針對所有組完成了立體圖像的生成處理(S7 是”),則接著進行紋理映射(S9)。該情況下的紋理映射是如下處理針對在3D建模空間上準備的左眼用和右眼用的2個球體,將基本的全周圍圖像和由邊界處理部21生成的立體圖像分別粘貼在左眼用和右眼用的球體面上。如果步驟S9中的紋理映射完成,則將在從球體中心觀察由位置方向判定部2指定的視點方向時投影的圖像寫入左眼平面和右眼平面中(S10),利用立體視對應顯示器進行立體視顯示。在圖25中,首先,通過全周圍圖像取得部11從構成水平360度的圖像中提取作為基點的圖像,從深度圖像取得部14取得與所提取出的基點圖像對應的深度圖像(S13 15)。作為基點的圖像優選為位于由位置方向判定部2指示的視點方向上的圖像。從位于視點方向上的圖像起優先進行處理,由此,在處理中,也能夠在畫面上顯示其余圖像。決定作為基點的圖像后,利用DIBR部17進行像素位移處理(DIBR處理)(S16)。如上所述,在DIBR處理中位移后的像素有時露出到圖像區域外,通過邊界處理部21,將露出到圖像區域外的像素臨時存儲在圖像區域外的緩沖存儲器中(S17)。將露出到圖像區域外的像素臨時存儲在緩沖存儲器中后,再次通過全周圍圖像取得部11提取圖像,并通過深度圖像取得部14取得對應的深度圖像。此時,作為當前圖像,選擇在上次進行DIBR處理的圖像的左側相鄰的圖像(S18)。接著,判斷在步驟S18中提取出的當前圖像是否與在步驟S13中提取出的基點圖像一致(S22)。在判斷為在步驟S104中提取出的圖像不是基點圖像(即,還未在水平方向上完成I周360度的處理)的情況下,對在步驟S18中提取出的圖像進行DIBR處理,生成右眼用的其他視點的視點圖像(S19)。接著,對在步驟S19中得到的右眼用的其他視點的視點圖像進行如下處理在圖像右側端部追加當前存儲在區域外緩沖存儲器中的像素群(S20)。接著,本次將在步驟S19的DIBR處理中露出到區域外的像素存儲在區域外緩沖存儲器中(S21)。然后,選擇與在步驟S18中進行處理后的圖像的左側相鄰的圖像,反復進行步驟S18 S21的處理。
反復進行步驟S18 S21的處理,在步驟S22中判斷為在步驟S18中提取出的相鄰方向的圖像與在步驟S14中提取出的基點圖像相同的情況下(B卩,在水平方向上完成I周360度的處理),進行在基點圖像的右側端部追加當前存儲在區域外緩沖存儲器中的像素群的處理(S23),結束水平方向I周360度的像素位移和邊界處理。圖26是示出僅根據DIBR處理而得到的右眼用的全周圍圖像與進行像素位移和邊界處理而得到的右眼用的全周圍圖像的比較的圖。圖19 (a)是僅進行基于DIBR處理的像素位移而完成圖像結合的全周圍圖像。在結合的部分中成為不自然的圖案,但是,在DIBR處理中像素露出到畫面區域外,這些像素在圖像端部缺失,所以,在重合的部分中產生像素的缺失,在結合圖像時無法無縫地顯示圖案。圖26 (b)是新實施像素位移和邊界處理而完成的全周圍圖像。在圖26中,通過將由于DIBR處理而露出到畫面區域外的像素活用于相鄰圖像生成,能夠防止結合部分中的像素的缺失,在圖像的接縫中也能夠無縫地顯示圖案。(實施方式2) 敘述了全周圍圖像由多個部分圖像構成時的立體全周圍圖像生成,但是,本實施方式敘述全周圍圖像由I張圖像構成時的立體全周圍圖像生成。為了對該全周圍圖像進行處理,第I實施方式的現有結構要素即全周圍圖像取得部11、深度圖像取得部14、DIBR部17、顯示區域緩存19、區域外緩存20、邊界處理部21、紋理映射部28進行以下的處理。全周圍圖像取得部11經由網絡接口 3從服務器105下載由位置方向判定部2指示的地圖上的位置的全周圍圖像,或者從本地存儲器4取得圖像。深度圖像取得部14從存儲在本地存儲器4中的街景文件中取得與全周圍圖像取得部11取得的全周圍圖像對應的深度圖像。圖27示出在實施方式2中全周圍圖像取得部11和深度圖像取得部14取得的全周圍圖像和深度圖像。圖27 (a)中的全周圍圖像由縱2048像素、橫3584像素的較大的一張圖像形成。如圖27 (b)所示,對應的深度圖像也由縱2048像素、橫3584像素的較大的一張灰度圖像形成。DIBR部17從全周圍圖像取得部11取得基本的左眼用全周圍圖像,從深度圖像取得部14取得與基本圖像對應的深度圖像,進行DIBR處理,生成右眼圖像。顯示區域緩存19存儲通過位移而得到的右眼圖像。區域外緩存20存儲由于位移而產生的露出像素。作為邊界處理,邊界處理部21在從右端向左方向(即圖像中央的方向)偏離10像素的位置(垂直方向上位于相同位置)進行嵌入。在全周圍圖像由較大的一張圖像形成的情況下,當由于DIBR處理而在圖像端部產生像素的露出時,該像素成為應該嵌入圖像相反端部側的像素。這是因為,在全周圍圖像由I張圖像形成的情況下,圖像在球面上環繞一周,所以,右端的像素和左端的像素最終并列顯示在球面上。因此,當捕捉到圖像的右端和左端連續的情況時,在左端從圖像區域露出的像素成為應該嵌入相反端即右端的像素。例如,通過邊界處理部21的邊界處理,由于DIBR處理而從左端向左側露出10像素的像素被嵌入從右端向左方向(即圖像中央的方向)偏離10像素的位置(垂直方向上位于相同位置)。圖28是示出實施方式2中的對像素位移后的圖像進行校正并生成立體圖像的狀況的圖。在全周圍圖像由較大的I張圖像形成的情況下,當由于DIBR處理而在圖像端部產生像素的露出時,該像素成為應該嵌入圖像相反端部側的像素。這是因為,在全周圍圖像由I張圖像形成的情況下,圖像在球面上環繞一周,所以,右端的像素和左端的像素最終并列顯示在球面上。因此,當捕捉到圖像的右端和左端連續的情況時,在左端從圖像區域露出的像素成為應該嵌入相反端即右端的像素。例如,通過邊界處理,由于DIBR處理而從左端向左側露出10像素的像素被嵌入從右端向左方向(即圖像中央的方向)偏離10像素的位置(垂直方向上位于相同位置)。紋理映射部28將通過DIBR而得到的左眼紋理和右眼紋理映射到球面模型。圖29示出紋理映射部28的紋理映射。通過DIBR部17的DIBR得到上段的左眼紋理和右眼紋理,可知它們如箭頭tml、tm2所示那樣粘貼在下段的左眼用球面模型和右眼用球面模型的內側表面。對進行了該粘貼的左眼用球面模型和右眼用球面模型進行窗口提取。作為改良的結構要素的說明之后的說明,對進行了上述改良的情況下的現有結構要素的動作進行說明。即,說明如何根據實施方式I的流程圖對存儲在顯示區域緩存19中的全周圍圖像進行處理。
在圖24中,將一張全周圍圖像作為對象時的動作如下所述。首先,通過用戶操作檢測部I、位置方向判定部2,決定應該顯示的全周圍圖像在地圖上的位置(緯度和經度)和在畫面上顯示的方向(水平角度和垂直角度)(SI)。接著,通過全周圍圖像取得部11,取得與在步驟S401中決定的地圖上的位置對應的全周圍圖像(S2)。在步驟S402中取得的I個地點的全周圍圖像由縱2048像素、橫3584像素的較大的一張圖像形成。其成為左眼用的全周圍圖像。接著,通過深度圖像取得部14,取得與在步驟S402中取得的全周圍圖像對應的深度圖像(S3)。深度圖像表示立體空間中的各像素的進深,利用8比特的亮度表現各像素的進深。深度圖像自身也構成為圖像,與全周圍圖像同樣,形成為縱2048像素、橫3584像素的較大的一張灰度圖像。在取得作為基礎的全周圍圖像和深度圖像后,根據所示流程圖進行立體圖像生成
(S5)。在步驟S404中結束立體圖像生成后,接著進行紋理映射(S7)。該情況下的紋理映射是如下處理針對在3D建模空間上準備的左眼用和右眼用的2個球體,將基本的全周圍圖像和由邊界處理部21生成的立體圖像分別粘貼在左眼用和右眼用的球體面上。如果步驟S7中的紋理映射完成,則將在從球體中心觀察由位置方向判定部2指定的視點方向時投影的圖像寫入左眼平面和右眼平面中(S8),利用立體視對應顯示器進行立體視顯示。提取應該顯示的全周圍圖像,從深度圖像取得部14取得與所提取出的圖像對應的深度圖像(15)。接著,根據在步驟S2中取得的圖像和深度圖像,利用DIBR部17進行像素位移處理(DIBR處理)(S16)。在DIBR處理中位移后的像素有時露出到圖像區域外,通過邊界處理部21,將露出到圖像區域外的像素臨時存儲在圖像區域外的緩沖存儲器中(S17)。如果是全周圍圖像,則作為對象的圖像為一張,所以,與當前圖像相鄰的圖像必定是自己本身。由此,關于全周圍圖像,在將I個全周圍圖像決定為基點圖像和當前圖像后,在步驟S18中,當要將與當前圖像相鄰的圖像決定為當前圖像時,自己本身再次被決定為當前圖像。由此,在前一個當前圖像新決定為當前圖像后,轉移到步驟S22。步驟S22判定新的當前圖像是否是基點圖像。全周圍圖像為一張,所以,再次決定的當前圖像必定與基點圖像一致。由此,該情況下,步驟S22為“是”,轉移到步驟S23。在步驟S23中,針對通過步驟S16的DIBR處理而得到的右眼用的其他視點的視點圖像,在露出方的圖像端部的相反端部嵌入當前存儲在區域外緩沖存儲器中的像素群。通過分別對左眼和右眼反復進行該處理,結束像素位移和邊界處理。如上所述,即使作為基礎的左眼用的全周圍圖像由I張較大的圖像形成,所生成的右眼用全周圍圖像也成為沒有像素缺失的無縫的全周圍圖像。將這些圖像作為紋理映射到球面上,向左右平面輸出用戶希望觀察的方向的投影圖像,由此,能夠實現無縫的全周圍立體視。(實施方式3)本實施方式公開了利用什么樣的硬件結構實現此前的實施方式所述的圖像描繪 >J-U ρ α裝直。首先,對與CG處理部有關的硬件結構進行說明。圖30示出CG處理部的硬件結構。如本圖所示,圖像描繪裝置由接口 201、視頻解碼器電路202、紋理存儲器203、代碼R0M204、CPU205、工作存儲器206、GPU207、幀存儲器208構成。接口 201是與內部媒體和移動媒體的驅動器之間的接口。視頻解碼器202是對通過接口 201讀出的背景圖像和深度圖像進行解碼的專用電路。紋理存儲器203存儲通過視頻解碼器電路202的解碼而得到的非壓縮的背景圖像。代碼R0M204存儲構成此前的流程圖所述的程序的代碼串。CPU205通過讀出存儲在代碼R0M204中的代碼串并進行處理,實現此前的實施方式所述的處理。工作存儲器206在代碼R0M204進行處理時被用作變量或排列的存儲場所。GPU207是紋理映射等的圖形處理用的專用處理電路。幀存儲器208是GPU207進行處理所使用的存儲器。圖31是示出GPU的內部結構的圖。X 級主板 800 實現 X (Transformation、Xformation)級的處理,具有 ΗΙΡ801、GED802、顯示列表超高速緩存 803、SMD 芯片 804a、804b、804c、804d。X (Transformation)級的處理大致而言有二個。一個是將三維的各頂點數據(x、y、z)變換為二維的幕坐標的處理,第二個是關于各頂點、根據光源和材質信息計算明亮度(顏色)的照光(lighting)計算處理。將這兩個(Transformation and Lighting)處理統稱為T&L處理或TnL處理。HIP (Host Interface Processor)801 是對輸入的 OpenGLAPI 呼叫進行解釋并轉換為適合于運算處理的形式的 ASIC (ApplicationSpecific Integrated Circuit)。GED (Geometry Element Distributor) 802發揮將各頂點數據分配給4個初級SIMD芯片中的處于等待處理狀態的SMD芯片的作用。顯示列表超高速緩存803是存儲將OpenGLAPI呼叫分組后的顯示列表的超高速緩沖存儲器。如果將經常使用的一連串的OpenGLAPI呼叫設置在顯示列表中,則能夠大幅削減從CPU轉送到X級主板的數據量。SIMD芯片804a、804b、804c、804d是由ASIC實現的單芯片處理器,具有3個系統的FPU (浮動小數點運算單元),具有微代碼存儲用的超高速緩存和數據超高速緩存。在一個FPU中包括二個運算器。一個是通常的浮動小數點ALU (Arithmetic Logic Unit),另一個是浮動小數點乘法器。在本主板中搭載了 4個該SMD芯片。FPU的12個系統并行進行動作,所以,能夠同時并行進行12個頂點數據(x、y、z)的處理。SIMD芯片中的處理內容(坐標變換或照光計算的算法)通過微代碼描述。運算電路根據存儲在芯片上的超高速緩存中的微代碼進行動作。微代碼在系統起動時被載入超高速緩存中。SMD芯片中的運算結果被集中到FIFO (First-In First-Out)存儲器中,作為X級主板全體的輸出而被轉送到稱為Triangle Bus的總線。各頂點數據包括幕坐標系上的坐標(X、y)和進深信息z、照光計算的結果即(r、g、b)、透明度信息的a、法線矢量(nx、ny、nz)以及紋理坐標(s、t)。并且,用于優化下一 S級的計算效率的預處理也在本主板中進行。作為代表性的預處理,具有背面剔除。背面剔除是如下處理檢測在變換為窗口坐標系時朝向背面的三角形,針對這種三角形,將頂點數據不輸出到Triangle Bus。以上是X級主板的處理。對S級主板805進行說明。S級主板805由4種ASIC芯片(TG806、PG807、TF808、IMP809)構成。S (Scan conversion)級中的處理包括涂滿三角形內部的各像素的柵格化 處理、隱藏面消除處理、模板掩膜處理、霧化效果的處理等。柵格化處理中的重要功能在于,在球面帶中粘貼全周圍圖像這樣的紋理映射。在紋理映射中,代替利用插值求出明亮度(r、g、b),根據對紋理坐標(s、t)進行插值后的結果來計算存儲在紋理存儲器中的紋理圖像的地址,讀出適當的像素,將其明亮度(r、g、b)作為斷片的明亮度數據。S級主板的輸入是從X級主板通過Triangle Bus給出的三角形各頂點中的斷片形式的數據(幕坐標(X、Y、z)、紋理坐標(S、t)、明亮度(r、g、b)、透明度a、法線矢量(nx、ny、nz))。TG (Texture Generator)芯片806進行三角形的涂滿,輸出每個像素的紋理坐標(S、t)的插值結果,生成紋理存儲器的地址,將紋理像素(被稱為紋理元素(texel))轉送到TF (Texture Filter)。在PG (Pixel Generator)芯片807中,進行柵格化處理即三角形的涂滿處理,進行每個像素的明亮度(r、g、b )等的插值。TF (Texture Filter)芯片808對PG的輸出結果即被隱蔽的明亮度和紋理存儲器的輸出(紋理元素)進行合成,將每個像素的斷片轉送到IMP (Image Memory Processor)。IMP (IMage Proccer) 809是實現像素處理流程的處理器,進行霧化處理、抗鋸齒處理、α測試、模板測試、深度測試、混合、屏蔽、寫入緩存選擇這樣的像素處理,將處理結果寫入幀存儲器208中。D級主板812是進行D級處理的主板,具有ΧΜΑΡ813和V0C814。XMAP (Pixel Mapping Asic)813從Pixel Bus接受圖像數據,根據需要利用查閱表進行變換,并且,還進行光標的顯示,在VideoPacket Bus中加入圖像數據。各VOC按照描述了自身所承擔的矩形區域的VOF數據拾取圖像,利用DA變換器變換為視頻信號。VOC (Video Output Channel)電路814具有放大圖像的輸出電路、用于優化放大圖像的畫質的濾波電路,如果在顯示處理中負荷較重,則以較粗的分辨率動態地進行描繪,以硬件放大的方式進行顯示。在D級主板中具有最大8個輸出通道,除此之外,還具有HDMI輸出編碼器。
接著,說明應該利用軟件對上述硬件結構的GPU指示什么樣的控制。圖32 (a)示意地示出球面模型與紋理之間的對應。左側示出構成球面模型的網格,右側示出存儲紋理的紋理緩存的存儲內容。左側的球面模型在橫向被分割成W個,在各個分割部分上粘貼紋理。在本實施方式中,設作為紋理映射對象的圖形類型為三角形帶,設該三角形帶的全部或一部分為紋理映射對象。該三角形帶的全部或一部分被規定為頂點網格。具體而言,由T1、T2、T3構成的網格成為紋理映射對象,由Τ3、Τ4、Τ5、Τ6構成的網格成為I個紋理映射的對象。將構成這些網格的交點的坐標指定為索引后,進行紋理映射。圖32 (b)是用于實現紋理映射的OPEN-GL中的API調出的描述例。“glVertexPointer (3、GL#FL0AT、0、g#v); ”存儲三維建模空間中的網格的各交點的坐標群作為頂點群。變量的〃3〃是三維建模空間的維數,GL#F0LAT表示坐標群的各個坐標的類型為浮動小數點形式。“glTexCoordPointer (2、GL#FL0AT、0、g#v); ”是用于存儲與三維建模空間中的網 格對應的紋理的坐標群g#uv作為紋理坐標值的API調出。“for (1=0; i<ff; i++)”針對橫向的W個坐標分別被規定為反復進行glDrawElements的調出的循環構造。對“glDrawElements(GL#TRIANGLE#STRIP、(H+1) *2、GL#UNSIGNED#SH0RT、getStaticData ( ) ->g#index[i]); ”進行說明。該API調出的第I變量指定3D模型的圖形類型為三角形帶(GL#41Triangle#Stirp)。第2變量是頂點數的指定,指定(縱分割數H+DX2的數值。GL#UNSIGNED#SH0RT表示存儲頂點的index的類型為無碼的short形式。g#index[ff]是決定描繪順序的索引排列,存儲網格交點的頂點坐標作為各個排列要素。通過按照作為g#index的排列要素而存儲的頂點坐標執行描繪,進行紋理映射。首先,對用于實現DIBR的硬件結構(全周圍圖像存儲器13、像素位移部18的硬件結構)進行說明。全周圍圖像存儲器13由多個行存儲器構成,全周圍圖像數據分別被存儲在構成行存儲器的32比特長的存儲元件中。而且,全周圍圖像數據在畫面上的坐標例如對應于全周圍圖像存儲器13中的行存儲器的地址即ROW地址與行存儲器中的存儲元件的相對地址即COLUMN地址的組。以上是與全周圍圖像存儲器13有關的說明。接著,對像素位移部18的硬件結構進行說明。像素位移部18對全周圍圖像數據和深度圖像數據實施像素位移,生成其他視點的紋理。在希望對全周圍圖像中的像素的X坐標進行變更而生成左眼紋理的情況下,在從全周圍圖像存儲器13向左眼紋理存儲器22進行復制時,事前以與像素數X相當的地址對指示作為其復制目的地的存儲元件的COLUMN地址進行調整。如果以這種地址調整為前提執行復制,則左眼紋理的坐標向左方向位移。由此,像素位移部18能夠在伴隨地址調整的復制處理中生成左眼紋理。在希望對街景的X坐標進行變更而生成右眼紋理的情況下,在從全周圍圖像存儲器13向右眼紋理存儲器23進行復制時,事后以與像素數X相當的地址對指示作為其復制目的地的存儲元件的COLUMN地址進行調整。如果以這種地址調整為前提執行復制,則右眼紋理的坐標向右方向位移。由此,像素位移部18能夠在伴隨地址調整的復制處理中生成右眼紋理。以上是基于硬件的像素位移部18的實現。并且,能夠利用行掃描儀實現DIBR。行掃描儀是指,按照橫1920像素的每一個像素讀出存儲在幀存儲器中的一個畫面的像素(1920 X 1080)的集合,將其變換為數字影像信號。該行掃描儀可以通過能夠存儲I行的像素數據的行像素存儲器、濾波電路、進行并行/串行變換的變換電路而實現。如上所述,DIBR是將深度圖像的各個像素的亮度變換為視差并進行像素位移的處理。如果使從行存儲器中讀出的全周圍圖像的一行的像素的坐標沿橫向移動與針對全周圍圖像的深度圖像中的對應行的進深對應的像素數,則能夠生成具有深度圖像所示的進深的其他視點的視點圖像。< 備注 >以上,對申請人在本申請的申請時點得知的最佳實施方式進行了說明,但是,關于以下所示的技術話題,能夠進行進一步的改良或變更實施。希望注意到,如各實施方式所示那樣實施、或者是否實施這些改良/變更均為任意的,基于實施者的主觀。 (深度圖像的變化)壓縮墨卡托深度圖像是以PNG形式對表示相對于墨卡托圖像的進深的圖像進行壓縮后的數據,但是,進深的壓縮噪聲明顯,所以,優選以PNG形式等的無損形式進行壓縮。另外,街景文件中的壓縮墨卡托深度圖像的數據冗長,所以,除了 PNG形式的壓縮以外,也可以具有周圍的地形數據、以及表示壓縮墨卡托圖像與地形數據之間的關系的數據。另外,在利用因特網收發立體街景視點的情況下,當壓縮墨卡托圖像被分割成多個文件時,能夠在下載中途的狀態下進行顯示。(集成電路的實施方式)排除第I實施方式所示的圖像描繪裝置的硬件結構中的記錄介質的驅動部、與外部連接的連接器等的機構部分,可以對與邏輯電路和存儲元件相當的部分、即邏輯電路的核心部分進行系統LSI化。系統LSI是指在高密度基板上安裝裸芯片并進行封裝。通過將多個裸芯片安裝在高密度基板上并進行封裝,將使多個裸芯片恰好具有I個LSI的外形構造的模塊稱為多芯片模塊,但是,這種模塊也包含在系統LSI中。這里,著眼于封裝的類別時,系統LSI具有QFP (四方扁平陣列)、PGA (針網格陣列)這樣的類別。QFP是在封裝的四個側面安裝有針的系統LSI。PGA是在底面全體安裝有多個針的系統LSI。這些針發揮電源供給、地線、作為與其他電路之間的接口的作用。系統LSI中的針具有這樣的接口的作用,所以,通過在系統LSI中的這些針上連接其他電路,系統LSI發揮作為再現裝置的核心的作用。(程序的實施方式)各實施方式所示的程序可以如下生成。首先,軟件開發者使用程序設計語言描述用于實現各流程圖和功能性的結構要素的源程序。在該描述時,軟件開發者按照程序設計語言的語法,使用等級構造體、變量、排列變量、外部函數的呼叫,描述具體實現各流程圖和功能性的結構要素的源程序。所描述的源程序作為文件提供給編譯程序。編譯程序翻譯這些源程序而生成目標程序。基于編譯程序的翻譯由語法解析、優化、資源分配、代碼生成這樣的過程構成。在語法解析中,進行源程序的字句解析、語法解析和意思解析,將源程序變換為中間程序。在優化中,針對中間程序進行基本模塊化、控制流程解析、數據流程解析這樣的作業。在資源分配中,為了使目標處理器適合于命令組,將中間程序中的變量分配給目標處理器所具有的寄存器或存儲器。在代碼生成中,將中間程序內的各中間命令變換為程序代碼,得到目標程序。這里生成的目標程序由使計算機執行各實施方式所示的流程圖的各步驟、功能性的結構要素的各個順序的I個以上的程序代碼構成。這里,程序代碼如處理器的本地碼、JAVA (注冊商標)字節碼那樣具有多個種類。基于程序代碼的各步驟的實現具有多個種類。在能夠利用外部函數實現各步驟的情況下,呼叫該外部函數的呼叫文成為程序代碼。并且,實現I個步驟的程序代碼有時也歸屬于不同的目標程序。在命令種類受限的RISC處理器中,也可以通過組合算術運算命令、邏輯運算命令、分支命令等,實現流程圖的各步驟。生成目標程序后,程序員針對這些目標程序起動連接程序。連接程序對存儲器空間分配這些目標程序和關聯的庫存程序,將它們結合成一個程序,生成載入模塊。這樣生成的載入模塊以基于計算機的讀取為前提,使計算機執行各流程圖所示的處理順序和功能性 的結構要素的處理順序。將該計算機程序記錄在非臨時的計算機可讀取的記錄介質中提供給用戶即可。(視點周圍圖像的范圍增減)在各實施方式中,將橫向結合了橫7張背景圖像而得到的全周圍圖像作為對象進行了說明,但是,通過減少橫向圖像的結合數,也可以變更從視點張望的街景的范圍。上述實施方式的全周圍圖像在橫7張背景圖像中網羅了 360°的視野,所以,一張背景圖像中網羅的范圍為52° ( 365° /7)。由此,在結合了 2張圖像的情況下,能夠張望104°(~52° X2)的范圍,在結合了 3張圖像的情況下,能夠張望156° 52X3)的范圍。這樣,通過在街景收集服務器或圖像描繪裝置中改變橫向圖像的結合數,能夠改變視點周圍圖像的規模,能夠減輕紋理映射處理或紋理中的視差計算等的負荷。產業上的可利用性本發明的圖像描繪裝置能夠在制造產業中以經營性質持續和反復制造、銷售。特別地,能夠在與全周圍立體圖像的制作和再現有關的民生設備產業中加以利用。標號說明101 :描繪裝置;102 :遙控器;103 :立體視對應顯示器;104 :液晶快門式眼鏡;105 :服務器;1 :用戶操作檢測部;2 :位置方向判定部;3 :網絡接口 ;4 :本地存儲器。
權利要求
1.一種圖像描繪裝置,實現與結合圖像數據有關的立體視,其特征在于, 所述結合圖像數據是橫向結合了多個背景圖像數據而得到的數據, 所述圖像描繪裝置具有 像素位移單元,對構成結合圖像數據的各個背景圖像數據實施像素位移,并且實施伴隨該像素位移的邊界處理,從而得到2個以上的視點紋理; 紋理映射單元,在三維建模空間中的立體模型的內側表面上映射2個以上的視點紋理;以及 窗口變換單元,從進行紋理映射后的立體模型中提取分別與2個以上的視點對應的窗口圖像, 所述像素位移是使構成各個背景圖像數據的像素的坐標橫向移動的處理,根據與結合圖像數據對應的深度圖像數據中的像素的進深值決定像素的移動量, 所述邊界處理是如下處理提取由于像素坐標的橫向移動而從各個背景圖像數據的顯示范圍中露出的像素群,在結合圖像數據中橫向相鄰的其他背景圖像數據的端部寫入被提取出的露出像素群。
2.如權利要求I所述的圖像描繪裝置,其特征在于, 所述圖像描繪裝置具有顯示區域緩存、區域外緩存、以及用于存儲進行像素位移處理后的已處理背景圖像數據的紋理存儲器, 在顯示區域緩存中存儲構成所述結合圖像數據的多個背景圖像數據中的成為處理對象的背景圖像數據,在顯示區域緩存上使構成背景圖像數據的像素的坐標橫向移動,并且提取像素從背景圖像數據的顯示范圍中露出的像素群,將其寫入區域外緩存,從而進行所述像素位移, 從區域外緩存中讀出露出像素群,寫入到在紋理存儲器中存儲的已處理背景圖像數據中的一個端部,從而進行所述邊界處理。
3.如權利要求I所述的圖像描繪裝置,其特征在于, 在所述結合圖像數據是通過結合I個墨卡托圖像數據的一個端部和另一個端部而得到的結合墨卡托圖像數據的情況下, 在所述邊界處理中,結合墨卡托圖像數據中的各像素根據深度圖像數據而位移,由此,提取從墨卡托圖像的顯示范圍中露出的像素群,在被提取的端部的相反側的端部改寫被提取的露出像素群。
4.如權利要求I所述的圖像描繪裝置,其特征在于, 所述圖像描繪裝置具有 位置方向判定單元,根據用戶操作來判定地圖上的當前視點位置和當前視線方向;以及 取得單元,使用與地圖上的當前視點位置對應的地理信息生成圖像取得請求,并發送到圖像收集服務器,從而下載街景文件, 從圖像收集服務器下載的街景文件具有與圖像取得請求中包含的地理信息一致的拍攝地屬性, 所述結合圖像數據存在于所下載的街景文件內。
5.如權利要求I所述的圖像描繪裝置,其特征在于,所述結合圖像數據是視點周圍圖像,通過橫向結合多個背景圖像數據,表示從與圖像取得請求中的地理信息對應的地理位置張望周圍時的光景。
6.一種影像描繪方法,實現與結合圖像數據有關的立體視,其特征在于, 所述結合圖像數據是橫向結合了多個背景圖像數據而得到的數據, 所述圖像描繪方法包括以下步驟 像素位移步驟,對構成結合圖像數據的各個背景圖像數據實施像素位移,并且實施伴隨該像素位移的邊界處理,從而得到2個以上的視點紋理; 紋理映射步驟,在三維建模空間中的立體模型的內側表面上映射2個以上的視點紋理;以及 窗口變換步驟,從進行紋理映射后的立體模型中提取分別與2個以上的視點對應的窗 口圖像, 所述像素位移是使構成各個背景圖像數據的像素的坐標橫向移動的處理,根據與結合圖像數據對應的深度圖像數據中的像素的進深值決定像素的移動量, 所述邊界處理是如下處理提取由于像素坐標的橫向移動而從各個背景圖像數據的顯示范圍中露出的像素群,在結合圖像數據中橫向相鄰的其他背景圖像數據的端部寫入被提取出的露出像素群。
7.一種影像描繪程序,使計算機實現與結合圖像數據有關的立體視,其特征在于, 所述結合圖像數據是橫向結合了多個背景圖像數據而得到的數據, 所述圖像描繪程序使計算機執行以下步驟 像素位移步驟,對構成結合圖像數據的各個背景圖像數據實施像素位移,并且實施伴隨該像素位移的邊界處理,從而得到2個以上的視點紋理; 紋理映射步驟,在三維建模空間中的立體模型的內側表面上映射2個以上的視點紋理;以及 窗口變換步驟,從進行紋理映射后的立體模型中提取分別與2個以上的視點對應的窗口圖像, 所述像素位移是使構成各個背景圖像數據的像素的坐標橫向移動的處理,根據與結合圖像數據對應的深度圖像數據中的像素的進深值決定像素的移動量, 所述邊界處理是如下處理提取由于像素坐標的橫向移動而從各個背景圖像數據的顯示范圍中露出的像素群,在結合圖像數據中橫向相鄰的其他背景圖像數據的端部寫入被提取出的露出像素群。
全文摘要
圖像描繪裝置實現與結合背景圖像有關的立體視。DIBR部(17)對構成結合背景圖像的各個背景圖像實施位移,并且實施伴隨該像素位移的邊界處理。結合背景圖像在立體模型上結合1個以上的背景圖像的端部。像素位移是使構成背景圖像的像素的坐標橫向移動的處理,根據深度圖像中的像素的進深值決定像素的移動量。邊界處理是如下處理提取由于像素坐標的橫向移動而從各個背景圖像的顯示范圍中露出的像素群,在橫向相鄰的其他背景圖像的端部追加被提取出的像素群。
文檔編號G06T15/04GK102971770SQ201280001059
公開日2013年3月13日 申請日期2012年3月2日 優先權日2011年3月31日
發明者田中敬一, 片山朋子, 山地治 申請人:松下電器產業株式會社