專利名稱:用于產生立體圖像的方法、裝置和計算機程序產品的制作方法
技術領域:
本發明涉及用于產生與實際物體關聯的立體圖像的技術。
背景技術:
已經使用各種方法來實現立體圖像顯示裝置,即所謂的三維顯 示裝置,其顯示活動的圖像。日益需要的是不需要立體眼鏡的平板顯 示裝置。存在一種相對簡單的方法,即,在具有固定像素的諸如直視 式或投影式液晶顯示面板或等離子顯示面板的顯示面板的正前方提供 波束控制器,該波束控制器控制從顯示面板指向觀看者的波束。
波束控制器也被稱作視差柵欄,其控制波束,從而取決于角度 在波束控制器上的一個點上看見的不同圖像。例如,為了僅使用水平
視差,使用包括柱面透鏡陣列的窄縫或微透鏡片(lenticular sheet) 作為波束控制器。為了同時使用垂直視差,使用針孔陣列和透鏡陣列 之一作為波束控制器。
使用視差柵欄的方法進一步分成雙向方法、全向方法、超級全 向方法(全向方法的超級全向情形)、以及積分攝影術(以下稱作 "IP"法)。這些方法大體上使用與大約一百年前發明相同的基本原 理,并已用于立體攝影。
由于可視距離通常是有限的,因此IP法和多透鏡方法都產生圖 像,由此透明投影的圖像在可視距離處能夠被實際看見。例如,如在 JP誦A 2004-295013 (KOKAI)和JP-A 2005-86414 (KOKAI)中所披 露的,如果在使用僅使用水平視差的一維IP法時視差柵欄的水平節 距(pitch)是像素水平節距的整數倍,則存在平行光線(以下稱作 "平行光線一維IP")。因此,通過相對于每個像素陣列分割圖像并 合成將被顯示在屏幕上的視差合成的圖像來獲得精確的立體圖像,其中被分割前的圖像是在垂直方向上在恒定可視距離處的透視投影和在 水平方向上的平行投影。
在全向方法中,精確立體圖像是通過分割和布置簡單的透視投 影圖像來獲得的。
難以實現一種使用不同投影方法或使用不同的至垂直方向和水 平方向之間的投影中心的距離的成像裝置,這是由于,特別是對于平 行投影來講,需要具有與物體相同大小的相機或鏡頭。為了通過成像 來獲得平行投影數據,現實的方法是從透視投影的成像數據來轉換圖
像。例如,已知基于使用核面(EPI)的補償的光線空間方法。
為了通過再現波束來顯示立體圖像,基于積分成像法的三維顯 示器可以通過增加將被再現的波束的信息量來再現高質量立體圖像。 該信息是例如全向方法情況下的視點的數量、或在IP法的情況下來 自顯示面板的不同方向的波束的數量。
然而,再現立體圖像的處理負荷取決于從每個視點進行的渲染 (即在計算機圖形圖像(CG)中的渲染)的處理負荷,并且其與視 點或波束的數量成比例地增加。更具體地,為了再現龐大的三維圖 像,需要渲染限定介質密度(medium density)的體數據(volume data),其從每個^見點形成物體。由于必須對所有體元素(volume element)執行跟蹤波束(即光線投射)、以及計算衰減率,因此渲 染體數據通常需要過度的計算負荷。
因此,為了在積分成像三維顯示上渲染體數據,處理負荷進一 步與視點和波束的增加量成比例地增加。此外,當同時采用諸如多邊 形的表面級(surface-level)建模時,由于處理速度是被基于光線跟 蹤法的渲染處理控制的,因此基于多邊形的快速渲染方法不能被充分 地利用,并且圖像生產中的總處理負荷增加。
實際物體和立體虛擬物體的融合和交互系統使用了諸如混合現 實(MR)、增強現實(AR)、或虛擬現實(VR)的技術。這些技 術可以凈且略地劃分為兩組MR和AR在實際圖Y象上疊加由CG創建 的虛擬圖像,以及VR將實際物體插入由CG創建的虛擬世界,如同在洞穴式自動虛擬設備中。
通過使用雙向立體方法再現CG虛擬空間,可以如在實際世界 中一樣以三維位置和姿勢產生CG再現的虛擬物體。換言之,可以以 對應的位置和姿態顯示實際物體和虛擬物體;然而,每次用戶的視點 改變時,都需要配置圖像。此外,為了再現取決于用戶的視點的虛擬 現實,需要跟蹤系統來檢測用戶的位置和姿勢。
發明內容
根據本發明的一個方面, 一種用于產生立體圖像的裝置,包 括檢測單元,檢測位于三維顯示表面上或靠近三維顯示表面的實際 物體的位置和姿勢中的至少一個;計算單元,基于所述位置和所述姿 勢中的至少一個,計算該實際物體遮蔽由三維顯示表面發射的光線的 遮蔽區域;以及渲染單元,通過在遮蔽區域上執行不同于其他區域上 的渲染處理的渲染處理來渲染立體圖像。
根據本發明的另一方面, 一種產生立體圖像的方法,包括檢 測位于三維顯示表面上或靠近三維顯示表面的實際物體的位置和姿勢 中的至少一個;基于所述位置和所述姿勢中的至少一個,計算該實際 物體遮蔽由三維顯示表面發射的光線的遮蔽區域;以及通過在遮蔽區 域上執行不同于其他區域上的渲染處理的渲染處理來渲染立體圖像。
根據本發明的又一方面, 一種計算機程序產品包括計算機可用 介質,該計算機可用介質具有在其中實施的計算機可讀程序代碼,當 執行這些計算機可讀程序代碼時,使計算機執行檢測位于三維顯示 表面上或靠近三維顯示表面的實際物體的位置和姿勢中的至少一個; 基于所述位置和所述姿勢中的至少一個,計算該實際物體遮蔽由三維 顯示表面發射的光線的遮蔽區域;以及通過在遮蔽區域上執行不同于 其他區域上的渲染處理的渲染處理來渲染立體圖像。
圖l是根據本發明的笫一實施例的立體顯示裝置的框圖;圖2是立體顯示裝置的顯示面板的放大透視圖; 圖3是在全向立體顯示裝置中的視差分量圖像和視差合成圖像 的示意圖4是在基于一維IP法的立體顯示裝置中的視差分量圖像和視 差合成圖像的示意圖5和圖6是當用戶的視點改變時的視差圖像的示意圖7是透明杯放置在立體顯示裝置的顯示面板上的狀態示意
圖8是圖1中所示的實際物體位置/姿態檢測單元中的硬件的示
意圖9是根據第一實施例的立體圖像產生處理的流程圖; 圖IO是具有虛擬現實的透明杯的圖像的示例; 圖ll是繪制實際物體的外圍作為體數據的示例; 圖12是繪制圓柱形實際物體的內凹部作為體數據的示例; 圖13是繪制在圓柱形實際物體的內凹部中自主游動的虛擬金魚 的示例;
圖14是根據本發明的第二實施例的立體顯示裝置的功能框圖15是根據第二實施例的立體圖像產生處理的流程圖16是從上方60度看的視點、平置的立體顯示面板、以及實
際物體的示意圖17是用于執行基于視點和光源的位置的紋理映射的球面坐標
的示意圖18是在投影坐標系統中的矢量U和矢量V的示意圖; 圖19A和圖19B是在縱向方向上的相對方向e的示意圖; 圖20是當番茄炸彈擊打并撞碎在實際透明杯上時的虛擬現實的 示意圖21是平置的立體顯示面板和板的示意圖22是平置的立體顯示面板、板以及圓柱物體的示意圖;以及
圖23是用于檢測板的形狀和姿態的位于板兩端上的線性標記的示意圖。
具體實施例方式
下面參考附圖詳細解釋本發明的示例性實施例。
如圖1所示,立體顯示裝置100包括實際物體形狀確定單元 101,實際物體位置/姿態檢測單元103、遮蔽區域計算單元104、以 及3D圖像渲染單元105。立體顯示裝置100進一步包括諸如立體顯 示面板、存儲器以及中央處理單元(CPU)的硬件。
實際物體位置/姿態檢測單元103檢測在立體顯示面板上或靠近 立體顯示面板的實際物體的位置、姿態、以及形狀的至少一個。實際 物體位置/姿態檢測單元103的結構將在稍后詳細解釋。
實際物體形狀確定單元101接收由用戶指定的實際物體的形狀。
遮蔽區域計算單元104基于由遮蔽區域計算單元104接收到的 形狀以及由實際物體位置/姿態檢測單元103檢測到的位置、姿態和 形狀中的至少一個,來計算實際物體遮蔽了由立體顯示面板發射的光 線的遮蔽區域。
3D圖像渲染單元105以不同于在其他區域中所使用的方式來在 由遮蔽區域計算單元104計算的遮蔽區域上執行渲染處理(即,3D 圖像渲染單元105在由遮蔽區域計算單元104計算的遮蔽區域上執行 的渲染處理不同于在其他區域上執行的渲染處理),產生視差合成圖 像,從而渲染立體圖像并輸出。根據第一實施例,3D圖像渲染單元 105將遮蔽區域上的立體圖像渲染為包括三維空間中的點的體數據。
下面解釋在根據第一實施例的立體顯示裝置100的立體顯示面 板上的產生圖像的方法。立體顯示裝置IOO被設計為使用n視差來再 現波束。下面的解釋假設n是9。
如圖2中所示,立體顯示裝置100包括微透鏡板203,布置在平 板視差圖像顯示單元(例如液晶面板)的屏幕的前方。每個微透鏡板 203包括具有垂直延伸的光學孔徑的柱面透鏡,其被用作波束控制器。由于光學孔徑在垂直方向上線性延伸并且沒有傾斜或處于樓梯形 式的延伸,因此像素很容易地布置在方形陣列中以顯示立體圖像。
在屏幕上,具有縱橫比為3: 1的像素201被線性布置在橫向方 向上,從而紅(R)、綠(G)和藍(B)交替布置在每行和每列 上。像素201的縱向周期(圖2中所示的3Pp)是像素201的橫向周 期(圖2中所示的Pp)的3倍。
在顯示彩色圖像的彩色圖像顯示裝置中,R、 G和B的三個像 素201形成一個有效像素,即,設置亮度和顏色的最小單位。R、 G 和B的每一個通常被稱作子像素。
如圖2所示的顯示面板包括由黑邊界包圍的9列以及3行像素 201組成的單個有效l象素202。微透鏡板203的柱面透鏡基本上布置 在有效〗象素202的前面。
基于使用平行光束的一維積分攝影術(IP法),微透鏡板203 由顯示面板上的每行中每個第九像素再現平行光束。微透鏡板203起 到波束控制器的作用,其包括以如下水平節距(圖2中所示的Ps) 來線性延伸的柱面透鏡,所述節距是子像素的橫向周期的9倍。
由于視點實際被設置為距離屏幕的有限距離處,因此視差分量 圖像的數量是9或更多。視差分量圖像包括在由立體顯示裝置100形 成圖像所需的相同視差方向上形成平行光束的一組像素的圖像數據。 通過從視差分量圖像中提取的將被實際使用的光束,產生將被顯示在 立體顯示裝置100上的視差合成圖像。
圖3示出了在全向立體顯示裝置中的屏幕上的視差分量圖像和 視差合成圖像之間的關系。用來顯示立體圖像的圖像由301來表示、 獲取圖像的位置由303來表示、以及在視差圖像的中心和這些位置處 的出光孔徑之間的線段由302來表示。
圖4示出了在一維IP立體顯示裝置中的屏幕上的視差分量圖像 和視差合成圖像之間的關系。用來顯示立體圖像的圖像用401來表 示,獲取圖像的位置由403來表示、以及在視差圖像的中心和這些位 置處的出光孔徑之間的線段由402來表示。一維IP立體顯示裝置使用在距離屏幕預定可視距離處布置的多 個相機來獲取圖像,或者在計算機圖形中執行渲染,其中相機的數量 等于或大于立體顯示裝置的視差的數量,并且從渲染的圖像中提取立 體顯示裝置所需的光束。
除了取決于立體顯示裝置的屏幕的尺寸和分辨率之外,從每個 視差分量圖像中提取的光束數量還取決于所采用的可視距離。可以使
用在JP-A 2004-295013 (KOKAI)或JP-A 2005-86414 ( KOKAI)
中披露的方法來計算由所采用的可視距離決定的分量像素寬度,其稍 大于9倍的像素寬度。
如圖5和圖6所示,如果可視距離改變,則從觀察點看見的視 差圖像也改變。從觀察點看見的視差圖像由501和601表示。
每個視差分量圖像通常都在垂直方向上透視地投影在所釆用的 可視距離處或其等效距離處,且還在水平方向上平行投影。然而,其 也可以在垂直方向和水平方向上都透視地投影。換言之,為了基于積 分成像方法來在立體顯示裝置中產生圖像,成像處理或渲染處理可以 由必要數量的相機來執行,只要圖像可以被轉換為將被再現的光束信 命
對根據第一實施例的立體顯示裝置100的下面的解釋假設了獲 得顯示立體圖像所必要并足夠的光束的相機的數量和位置已經被計算 出。
下面解釋實際物體位置/姿態檢測單元103的細節。基于產生關 聯至用作實際物體的透明杯的立體圖像的處理而給出該解釋。在該種 情況下,立體地顯示在平置的立體顯示面板上的虛擬企鵝的動作是通 過使用實際的透明杯覆蓋這些企鵝來控制的。在射出番茄炸彈的同 時,虛擬企鵝自主地在平置的立體顯示面板上移動。用戶用透明杯來 覆蓋企鵝,從而番茄炸彈擊中透明杯而不會落在屏幕上。
如圖8中所示,實際物體位置/姿態檢測單元103包括紅外線發 射單元L和R、遞歸片( recursive sheet)(未示出)、以及區域圖 像傳感器L和R。紅外線發射單元L和R設置在屏幕703的左上部和右上部。遞歸片設置在屏幕703的左右兩側和屏幕703之下,反射 紅外光。區域圖像傳感器L和R設置在與屏幕703的左上部和右上 部處的紅外線發射單元L和R相同的位置,以及它們接收由遞歸片 反射的紅外光。
如圖7中所示,為了檢測立體顯示面板702的屏幕703上的透 明杯705的位置,測量從紅外線發射單元L或R發射的紅外光被透 明杯705遮蔽從而不能被遞歸片反射并且不能到達區域圖像傳感器L 和R的每個區域802和803。圖7中的參考標號701表示視點。
以該方式,計算出透明杯705的中心位置。實際物體位置/姿態 檢測單元103可以檢測距離屏幕703 —定高度內的實際物體。然而, 通過使用紅外線發射單元L和R、區域圖像傳感器L和R、以及在 屏幕703上以層的方式布置的遞歸片進行檢測的結果,可以增加在其 中檢測到實際物體的高度區域。另外,通過在與如圖8中所示的紅外 線發射單元L和R、區域圖像傳感器L和R、以及遞歸片相同高度 處的透明杯705的表面上應用磨砂標記801,提高了區域圖像傳感器 L和R的檢測精確度,同時利用了杯子的透明性。
參考圖9解釋立體顯示裝置100所執行的立體圖像產生處理。
實際物體位置/姿態檢測單元103以上面所述的方式檢測實際物 體的位置和姿態(步驟Sl)。同時,實際物體形狀確定單元101接 收由用戶確定的實際物體的形狀(步驟S2)。
例如,如果實際物體是透明杯705,則用戶確定透明杯705的三 維形狀是半球,實際物體形狀確定單元101接收所確定的三維形狀。 通過將屏幕703的三維比例、透明杯705、以及虛擬景象中的虛擬物 體與屏幕703的實際大小相匹配,使得實際透明杯的位置和姿態與顯 示為虛擬物體的杯的位置和姿態相匹配。
遮蔽區域計算單元104計算遮蔽區域。更具體地,遮蔽區域計 算單元104檢測二維遮蔽區域(步驟S3)。換言之,通過僅渲染由 實際物體形狀確定單元101接收的實際物體來檢測當從相機的視點 701看時被實際物體遮蔽的二維遮蔽區域。在經渲染的圖像中的實際物體的區域是從視點701看過去的二 維遮蔽區域。由于在遮蔽區域中的像素對應于從立體顯示面板702發 出的光,因此檢測二維遮蔽區域是要將被實際物體遮蔽的光束的信息 與從屏幕703發出的光束中沒有被遮蔽的光束的信息分開來。
遮蔽區域計算單元104計算在深度方向上的遮蔽區域(步驟
54) 。如下所述地計算在深度方向上的遮蔽區域。
與從視點701至靠近相機的平面的距離相對應的Z緩存(Z-buffer)被認為是相機和實際物體之間的距離。Z緩存被存儲在具有 與幀緩沖器的大小相同的緩沖器中作為實際物體前部深度信息 Zobj—front 。
實際物體是在扭機的前面還是在相機的后面是通過計算從視點 至聚焦多邊形和多邊形法線的矢量的內積來確定的。如果內積是正 的,則多邊形面向前,如果內積是負的,則多邊形面向后。類似地, 與從視點701至視點后部的平面的距離相對應的Z緩存被認為是視 點和實際物體之間的距離。渲染時,Z緩存被存儲在存儲器中作為實 際物體后部深度信息Zobj_back。
遮蔽區域計算單元104僅渲染包括在場景中的物體。渲染后的 像素值以下被稱作Cscene。與距離可視點的距離相對應的Z緩存被 存儲在存儲器中作為虛擬物體深度信息Zscene。遮蔽區域計算單元 104渲染對應于屏幕703的矩形區域,并將渲染的結果存儲在存儲器 中作為顯示深度信息Zdisp。 Zobj—back、 Zdisp、以及Zscene中最 接近的Z值被認為是遮蔽區域Zfar的邊緣。表示在深度方向上最終
被實際物體和屏幕703遮蔽的區域的矢量Zv通過下面的等式計算
2v=Zobj—front-Zfar (1 )
在深度方向上的區域是相對于被從視點遮蔽的二維遮蔽區域中 的每個像素來計算的。
3D圖像渲染單元105確定像素是否被包括在遮蔽區域中(步驟
55) 。如果被包括在遮蔽區域中(步驟S5為是),則3D圖像渲染 單元105通過執行體渲染來渲染在遮蔽區域中的像素作為體數據(步驟S6)。考慮到對遮蔽區域的影響,通過使用等式(2)計算將被確
定的最終像素值Cfinal來執行體渲染。
<formula>formula see original document page 14</formula>) ( 2 )
符號"*"表示乘法。Cv是包括用于表示遮蔽區域的體積的R、 G、和B的矢量的顏色信息,以及a是參數,即,標量,用于標準化 Z緩存并調節體數據。
如果像素沒有被包括在遮蔽區域中(步驟S5為否),則不執行 體渲染。結果,對遮蔽區域和其他區域執行不同的渲染處理。
3D圖像渲染單元105確定是否已經對相機的所有視點執行了步 驟S3至S6的處理(步驟S7)。如果還沒有對所有視點執行該處理 (步驟S7為否),則立體顯示裝置100對下一視點重復步驟S3至 S7。
如果已經對所有視點執行了該處理(步驟S7為是),則3D圖 像渲染單元105通過將渲染結果轉換為視差合成圖像來產生立體圖像 (步驟S8)。
通過執行上述處理,例如,如果實際物體是放置在屏幕上的透 明杯705,則該杯的內部被轉換成包括特定顏色的體圖^f象,因此,更 加容易地識別杯的存在和杯內的狀態。當向透明杯應用體效果時,體 效果也施加至被透明杯遮蔽的區域,如圖10中1001所表示的。
如果僅希望將虛擬現實應用于透明杯的三維區域,則不必對被 從每個視點遮蔽的圖像的二維遮蔽區域中的每個像素執行深度方向上 的遮蔽區域檢測。代替的是,立體顯示裝置IOO可以被配置為在渲染 包括虛擬物體的場景之后,通過累積表示體效果的顏色來使用體效果 渲染遮蔽區域。
盡管在第一實施例中,3D圖像渲染單元105渲染由實際物體遮 蔽的區域作為體數據來應用體效果,但是3D圖像渲染單元105可以 被配置為渲染實際物體周圍的區域作為體數據。
為了這樣做,3D圖像渲染單元105三維地放大由實際物體形狀 確定單元101接收到的實際物體的形狀,并且放大的形狀被用作實際物體的形狀。通過渲染該放大的區域作為體數據,3D圖像渲染單元 105將體效果應用于實際物體的周圍。
例如,為了渲染透明杯705的周圍作為體數據,如圖11所示, 透明杯的形狀被三維地放大,并且從透明杯放大的周圍區域1101被 渲染為體數據。
3D圖像渲染單元105可以被配置為使用圓柱實際物體并渲染實 際物體的內凹部作為體數據。在該種情況下,實際物體形狀確定單元 101接收確定的形狀作為具有封閉頂部和封閉底部的圓柱,頂部低于 圓柱的整個高度。3D圖像渲染單元105渲染圓柱的內凹部作為體數 據。
為了渲染圓柱實際物體的內凹部作為體數據,例如,如圖12所 示,通過渲染內凹部1201作為體數據,體現了水的充滿程度。此 外,如圖13所示,通過渲染在圓柱體的凹部內自主游動的模擬金 魚,用戶憑視覺識別金魚出現在包含水的圓柱養魚缸中。
如上所述,根據第一實施例的基于積分成像法的立體顯示裝置 100使用實際物體來確定將被聚焦的空間區域,并有效地創建與用戶 的視點無關的虛擬現實。因此,在沒有使用跟蹤用戶的動作的跟蹤系 統的情況下,產生了取決于實際物體的位置、姿態、以及形狀而改變 的立體圖像,并通過減少的處理量有效地產生了大的立體圖像。
根據本發明的第二實施例的立體顯示裝置1400還接收實際物體 的屬性,并基于所接收的屬性對遮蔽區域執行渲染處理。
如圖14所示,立體顯示裝置1400包括實際物體形狀確定單元 101、實際物體位置/姿態檢測單元103、遮蔽區域計算單元104、 3D 圖寸象渲染單元1405、以及實際物體屬性確定單元1406。此外,立體 顯示裝置1400包括諸如立體顯示面板、存儲器、以及CPU的硬件。
實際物體形狀確定單元ioi、實際物體位置/姿態檢測單元 103、以及遮蔽區域計算單元104的功能和配置與在根據第一實施例 的立體顯示裝置100中的這些單元相同。
實際物體屬性確定單元1406接收實際物體的厚度、透射性以及顏色中的至少一個作為屬性。
3D圖像渲染單元1405通過基于由實際物體形狀確定單元101 接收到的形狀以及由實際物體屬性確定單元1406接收到的實際物體 的屬性,將表面效果應用至遮蔽區域,來產生視差合成圖像。
參考圖15來解釋由立體顯示裝置1400執行的立體圖像產生處 理。步驟S11至S14與圖9中所示的步驟S1至S4相同。
根據第二實施例,實際物體屬性確定單元1406接收由用戶指定 的實際物體的厚度、透射性、和/或顏色作為屬性(步驟S16) 。 3D 圖像渲染單元1405確定像素是否包括在遮蔽區域中(步驟S15)。 如果其被包括在遮蔽區域中(步驟S15為是),則3D圖像渲染單元 1405執行通過參考實際物體的屬性和形狀將表面效果應用至遮蔽區 域中的像素的渲染處理(步驟S17)。
在步驟S13,在二維遮蔽區域的檢測中檢測被實際物體從每個
視點遮蔽的像素的信息。每個像素和光束信息之間的--對應由相機
位置和屏幕之間的關系唯一確定。圖16中示出了從上方60度觀看平 置的立體顯示面板702的視點701、屏幕703、以及遮蔽屏幕的實際 物體1505之間的位置關系。
表面效果的渲染處理對實際物體關于與在步驟S13檢測到的每 個像素相對應的每個光束的相互作用產生影響。更具體地,考慮到實 際物體的表面效果而最終確定的來自視點的圖像的像素值Cresult是 通過以下等式計算的
Cresult=Cscene*Cobj*P* (dobj*(2.O-Nobj.Vcam)) (3)
符號"*,,表示乘法,以及符號"."表示內積。Cscene是排除實際 物體的渲染結果的像素值;Cobj是由實際物體屬性確定單元1406接 收的實際物體的顏色(R、 G和B的矢量);dobj是由實際物體屬 性確定單元1406接收的實際物體的厚度;Nobj是在實際物體的表面 上的標準化后的法線矢量;Vcam是從相機的3見點701指向實際物體 的表面的標準化的法線矢量;以及P是確定虛擬現實程度的系數。
由于Vcam等效于光束矢量,因此可以考慮到諸如厚度的實際物體的表面的屬性來將虛擬現實應用于傾斜地進入實際物體的表面的 光。結果,更加強調了實際物體是透明的并且具有厚度。
為了渲染實際物體的表面的粗糙度,實際物體屬性確定單元
1406確定諸如凹凸映射或法線映射的映射信息作為實際物體的屬 性,以及3D圖像渲染單元1405有效地控制渲染處理時在實際物體 的表面上的標準化的法線矢量。
有關相機的視點的信息僅由獨立于用戶的狀態的立體顯示面板 702來確定,因此取決于視點的實際物體的表面效果被渲染為與用戶 的視點無關的立體圖像。
例如,3D渲染單元1405創建高亮來將表面效果應用于實際物 體。金屬或透明物體表面上的高亮隨著視點而變化。高亮可以通過基 于Nobj和Vcam計算Cresult來以光束為單位而實現。
3D圖像渲染單元1405通過將立體圖像疊加在出現在實際物體 上的高亮來使高亮的形狀散焦,從而顯示實際物體如同其由不同材料 制成一樣。3D圖像渲染單元1405通過將實際不存在的高亮疊加在實 際物體上作為立體圖像來呈現虛擬光源和環境。
此外,3D圖^象渲染單元1405合成實際上不存在于實際物體上 的虛擬裂紋作為立體圖像。例如,如果實際玻璃具有一定厚度裂紋, 則裂紋取決于視點看起來是不同的。使用等式(4)計算由裂紋效果
產生的顏色信息Ceffect,以將裂紋的虛擬現實應用于遮蔽區域。
Cef f ect==r*Ccrack* I VcamxVcraek | ( 4 )
符號"*"表示乘法,以及符號"x"表示外積。通過將Ceffect與來 自視點的圖像上的像素合成,產生了包括裂紋的最終像素信息。 Ccrack是用于裂紋的虛擬現實的顏色值;Vcam是從相機的視點指 向實際物體表面的標準化的法線矢量;Vcrack是表示裂紋的方向的 標準化的裂紋方向矢量;以及Y是用來調節虛擬現實的程度的參數。
此外,為了顯示番茄炸彈擊中實際透明杯并撞碎的圖像,通過 使用紋理映射方法來在立體顯示面板上再現虛擬現實,紋理映射方法 使用撞碎的番茄炸彈作為紋理。
17下面解釋紋理映射方法。3D圖像渲染單元1405通過基于雙向 紋理功能(BTF)切換紋理圖像來執行映射,其中雙向紋理功能根據 視點和光源指示在多邊形的表面上的紋理元素。
BTF使用球面坐標系統,確定視點和光源的位置,球面坐標系 統的原點位于如圖17所示的模型的表面上的圖像對象處。圖17是用 于執行基于視點和光源的位置的紋理映射的球面坐標系統的示意圖。
假設視點無限遠,并且來自光源的光是平行的,視點的坐標是 (6e,①e),以及光源的坐標是(ei,①i),其中0e和6i表示經度 角,以及0>e和①i表示綽度角。在該種情況下,以六維定義紋理地 址。例如,使用如下所述的六個變量來表示紋理元素(texel):
<formula>formula see original document page 18</formula>
u和v中的每一個都表示在紋理中的地址。事實上,在特定的 視點和特定光源處獲取的多個紋理圖像被累加,并且通過切換紋理并 結合紋理中的地址來表示紋理。以該方式的紋理映射^皮稱作高維紋理 映射。
3D圖像渲染單元1405如下所述地執行紋理映射。3D圖像渲染 單元1405確定模型形狀數據并將模型形狀數據分成渲染圖元。換言 之,3D圖像渲染單元1405將模型形狀數據分成圖像處理的多個單 元,圖像處理通常以包含三點的多邊形的多個單元執行。多邊形是由 三個點包圍的平面信息,以及3D圖像渲染單元1405對多邊形的內 部執行渲染處理。
3D圖像渲染單元1405計算渲染圖元的紋理投影坐標。換言 之,當限定了紋理的二維坐標系統中的u軸和v軸被投影在由渲染圖 元中的三維坐標表示的三點限定的平面上時,3D圖像渲染單元1405 計算投影坐標上的矢量U和V。 3D圖像渲染單元1405計算由該三 點限定的平面的法線。下面參考圖18解釋計算矢量U和V的方法。
3D圖像渲染單元1405確定矢量U、矢量V、法線、視點的位 置、以及光源的位置,并計算視點和光源的方向(方向參數)以獲取 視點和光源對渲染圖元的相對方向。更具體地,綽度相對方向①是根據法線矢量N和方向矢量D通 過下式計算出來的
(6)
D.N是矢量D和矢量N的內積;以及符號"*"表示乘法。下面 參考圖19A和19B解釋用于計算經度相對方向e的方法。
3D圖像渲染單元1405基于視點和光源的相對方向來產生渲染 紋理。事先準備將被粘貼在渲染圖元上的渲染紋理。3D圖像渲染單 元1405基于視點和光源的相對方向從存儲器中的紋理獲取紋理元素 信息。獲取紋理元素信息意味著將在一定條件下獲取的紋理元素分配 給對應于渲染圖元的紋理坐標空間。可以對于每個視點或每個光源執 行相對方向和紋理元素的獲取,并且如果有多個視點和光源,則以相 同的方式獲取它們。
3D渲染單元1405對所有的渲染圖元執行處理。在所有的圖元 被處理后,3D圖像渲染單元1405將每個被渲染的紋理映射到模型上 的對應點。
參考圖18解釋用于計算矢量U和矢量V的方法。 定義了渲染圖元的三個點的三維坐標和紋理坐標被描述如下。 點PO:三維坐標(xO, y0, z0),紋理坐標(u0, v0) 點Pl:三維坐標(xl, yl, zl),紋理坐標(ul, vl) 點P2:三維坐標(x2, y2, z2),紋理坐標(u2, v2) 通過定義如上所述的坐標,在投影坐標系統中的矢量U= (ux, uy, uz)以及V-(vx, vy, vz)通過以下等式計算 P2-PO=《ul-洲*D+(vl-詢》*V Pl PO《u2-"uO〗(v2-贈*V
基于P0、 PI和P2的三維坐標,矢量U和矢量V通過從等式 (7) - (12)解出的ux、 uy、 uz、 vx、 vy和vz獲得。(v20*xl0-vl0*x20》 (7》
ii"idet* (v20*ylO-vl0*y20) (8》
U2 =idet* (\r20*2lO-vl0*z20) (9)
vx=idet*(-u20*xl0+ul0*x20) (10)
vy^iciet* (-U20*yl0+ul0*y20) (11)
vz=idet*(-u20*zl0+ul0*z20) (12)
等式基于下列的條件
x20=x2—xO,
z20=:z2—z0,
detH0*v20-u20*vl0 以及 idet=l/det
法線被簡單地計算為由三點限定的平面上的兩個獨立矢量的外積。
參考圖19A和19B解釋用于計算經度相對方向6的方法。獲取
表示投影在模型平面上的視點或光源的方向矢量的矢量B。視點或光
源的方向矢量D= (dx, dy, dz)、才莫型平面的法線矢量N= ( nx,
ny, nz)以及投影在模型平面上的方向矢量D的矢量B== (bx, by,
bz)通過以下等式計算
B-D-(D.N"N (13)
等式(13)如下所示由各元素表示。
t>z=dz-(xiiz, 以及a等于d^軀+(ir^Y+dz化z,以及法線矢量N是單位矢量。 一見點和光源的相對方向如下所述從矢量B、矢量U和矢量V獲取。
矢量U和矢量V之間的角度1和矢量U和矢量B之間的角度0
通過以下公式計算
X*=arc:cos(U'V/(|tM*|Vi" (14)
6 arC/UU|*|BU ) (15) 如果在投影坐標系統中不存在失真,則U和V是正交的,即, k為tt/2 (90度)。如果存在失真,則k不是7i/2。然而,如果在投 影坐標系統中存在失真,則由于使用相對于正交坐標系統的視點和光 源的方向獲取紋理,因此需要校正。視點和光源的相對方向的角度需 要根據投影的UV坐標系統被適當校正。使用下面等式(16)-(19)之一計算校正的相對方向e,
當e小于7t且e小于x; e'-(eA)^/2 (16)
當e小于7t且e大于i;
e,=w—((7t-e)/( —x))* /2 (17)
當e大于7r且e小于7T+x;
0,-t&一W)/X大ii/2+加 (18)
當e大于;r且e大于ti+x;
0,-2k一( (2tc夢0)/(Tt—X) ) *rc/2 (19) 如上所述獲取相對于渲染圖元的視點和光源的經度相對方向。 3D圖像渲染單元1405通過執行上述處理在遮蔽區域中渲染紋
理映射。圖20中示出了具有由該處理創建的虛擬現實的番茄炸彈撞
碎在實際透明杯上的圖像的示例。遮蔽區域由2001表示。
此外,3D圖像渲染單元1405渲染透鏡效果和縮放效果至遮蔽
區域。例如,實際物體屬性確定單元1406確定用作實際物體的板的
折射率、放大率或顏色。
3D圖像渲染單元1405僅對位于圖15的步驟S13檢測的遮蔽區
域中心的虛擬物體的渲染圖像進行縮放,并提取遮蔽區域作為遮蔽,由此縮放穿過實際物體的場景。
通過縮放位于像素中心上的虛擬場景的渲染圖像,實現了使用 實際物體來模擬放大玻璃的數字縮放效果,其中在所述像素上,穿過
實際物體上的三維縮放中心和視點的直線與屏幕703相交叉。
為了解釋平置的立體顯示面板和板之間的位置關系,如圖21中
所示,放大玻璃的虛擬物體可被疊加在包含實際板2105的空間中, 從而增加了立體圖像的真實性。
3D圖像渲染單元1405可以被配置為基于光學跟蹤方法通過模 擬由每個像素的位置限定的光束的折射來渲染虛擬物體。這是通過確
定用于實際物體的三維透鏡的精確形狀(例如凹透鏡或凸透鏡)的實 際物體形狀確定單元101以及確定作為實際物體的屬性的折射率的實
際物體屬性確定單元1406來實現的。
3D圖像渲染單元1405可以被配置為通過布置實際物體來渲染 虛擬物體,使得虛擬物體的橫截面被視覺地識別。下面解釋使用透明 板作為實際物體的例子。平置的立體顯示面板702、板2205、以及作 為虛擬物體的圓柱形物體2206之間的位置關系如圖22所示。
更具體地,如圖23中所示,用于檢測的標記2301a和2301b被 應用于板2305的兩端,標記是磨砂線。實際物體位置/姿態檢測單元 103通過在屏幕高度方向上按層布置至少兩個的紅外線發射單元L和 R以及區域圖像傳感器L和R中的每一個來形成。以該方式,可以 檢測實際板2305的位置、姿態和形狀。
換言之,如上配置的實際物體位置/姿態檢測單元103如在第一 實施例中所解釋的一才羊檢測標記2301a和2301b的位置。通過從紅外 線發射單元L和R以及區域圖像傳感器L和R檢測到的結果來獲取 相應標記的位置,實際物體位置/姿態檢測單元103識別板2305的三 維形狀和三維姿態,即從兩個結果2303和2304,板2305的姿態和 形狀被識別為由虛線2302表示的那樣。如果標記的數量被增加,則 可以更精確地計算板2305的形狀。
遮蔽區域計算單元104被配置為在步驟S14,在深度方向上的遮蔽區域的計算中,確定由實際物體劃分的虛擬物體的區域。換言
之,遮蔽區域計算單元104參考了實際物體的深度信息Zobj、距離 視點的虛擬物體的前部深度信息Zscene一near、以及距離視點的虛擬 物體的后部深度信息Zscene_far之間的關系,并確定Zobj是否位于 Zscene—near和Zscene—far之間。如在第 一實施例中所解釋的,通過 渲染產生的Z緩存被用于計算距離視點的深度方向上的遮蔽區域。
3D圖像渲染單元1405通過將在劃分區域中的像素渲染為體數 據來執行渲染。由于已經通過計算從每個視點看到的二維位置獲取了 剖面的三維信息,即,光束和距離視點的深度的信息,作為劃分區域 的信息,因此體數據在該時間點是可用的。3D圖像渲染單元1405可 以被配置為將劃分區域中的像素設置得更亮,從而使得其更容易地與 其他像素區分開。
使用矢量值而不是標量值的張量數據被用來例如形象化大腦中 的血流。當使用張量數據時,可以采用各向異性的渲染法來渲染矢量 信息作為剖面的體元素。例如,用來渲染頭發的各向異性反射亮度分 配被用作材料,以及基于從相機的視點信息和作為體信息的矢量信息 來執行與方向有關的渲染。通過移動他/她的頭,除通過體數據的剖 面的形狀之外還通過亮度和顏色的變化,由此用戶感覺到矢量的方 向。如果實際物體形狀確定單元101確定實際物體具有厚度,則剖面 的形狀不是平的而是立體的,并且能夠更有效地形象化張量數據。
由于包括通過實際物體看到的虛擬物體的景象根據視點而改 變,因此根據傳統技術,用戶的視點需要被跟蹤以實現虛擬現實。然 而,根據第二實施例的立體顯示裝置1400接收確定的實際物體的屬 性,并基于確定的屬性、形狀、以及姿態對遮蔽區域應用各種表面效 果來產生視差合成圖像。結果,在沒有使用跟蹤用戶的動作的跟蹤系 統的情況下,立體顯示裝置1400基于實際物體的位置、姿態和形狀 產生了立體圖像,并且有效地產生了具有更真實表面效果的立體圖 像,并減少了處理量。
換言之,根據第二實施例,由實際物體遮蔽的區域和穿過實際
23物體的虛擬場景被確定并事先相對于產生立體圖像所需的相機的每個 視點而被渲染。因此,與跟蹤用戶視點無關地產生了立體圖像,并在 立體顯示面板上精確地再現。
在根據第一實施例和第二實施例的立體顯示裝置中執行的立體
圖像產生程序預先安裝在只讀存儲器(ROM)或類似物中。
可以以記錄在計算機可讀記錄介質中的可安裝的可執行文件的 形式記錄立體圖像產生程序,所述計算機可讀記錄介質例如是提供的 光盤只讀存儲器(CD-ROM)、軟盤(FD)、可寫光盤(CD-R)、 或數字通用光盤(DVD)。
立體圖像產生程序可以被存儲在連接到諸如因特網的網絡的計 算機中,并通過從網絡下栽來提供。立體圖像產生程序還可以通過網 絡來提供或分發。
立體圖像產生程序包括實際物體位置/姿態檢測單元、實際物體 形狀確定單元、遮蔽區域計算單元、以及3D圖像渲染單元,以及實 際物體屬性確定單元的每一個作為模塊。當CPU從ROM讀取并執 行立體圖像產生程序時,各單元被加載到主存儲裝置中,并且在主存
儲器中產生每個單元。
對于本領域的技術人員來說,很容易想到其他的優點和修改。
因此,本發明在其更寬的方面不局限于在此示出并描述的特定細節和 代表性實施例。因此,在不背離所附權利要求及其等同物所限定的一 般發明概念的精神或范圍的前提下,可以進行各種修改。
權利要求
1.一種用于產生立體圖像的裝置,包括檢測單元,檢測位于三維顯示表面上或靠近三維顯示表面的實際物體的位置和姿態中的至少一個;計算單元,基于所述位置和所述姿態中的至少一個來計算所述實際物體遮蔽從所述三維顯示表面發出的光線的遮蔽區域;以及渲染單元,通過在所述遮蔽區域上執行與其他區域上的渲染處理不同的渲染處理來渲染立體圖像。
2. 根據權利要求1所述的裝置,還包括第一確定單元,用于 接收所述實際物體的形狀的確定,其中所述計算單元還基于所確定的形狀來計算所述遮蔽區域。
3. 根據權利要求2所述的裝置,其中所述渲染單元使用三維空 間中的體數據來渲染所述遮蔽區域。
4. 根據權利要求2所述的裝置,其中所述渲染單元使用三維空 間中的體數據來渲染在所述遮蔽區域中的所述實際物體周圍的區域。
5. 根據權利要求2所述的裝置,其中,所述渲染單元使用三維 空間中的體數據來渲染在所述遮蔽區域中的所述實際物體的凹陷部分 區域。
6. 根據權利要求2所述的裝置,還包括第二確定單元,其接收 所述實際物體的屬性的確定,其中所述渲染單元基于所確定的屬性,在所述遮蔽區域上執行與其 他區域的渲染處理不同的渲染處理。
7. 根據權利要求6所述的裝置,其中,所述屬性是所述實際物 體的厚度、透明度、以及顏色中的至少一個。
8. 根據權利要求6所述的裝置,其中,所述渲染單元基于所確 定的形狀來在所述遮蔽區域上執行所述渲染處理。
9. 根據權利要求7所述的裝置,其中,所述渲染單元基于所確 定的屬性執行將表面效果應用于所述遮蔽區域的渲染處理。
10. 根據權利要求7所述的裝置,其中,所述渲染單元基于所確 定的屬性執行將高亮效果應用于所述遮蔽區域的渲染處理。
11. 根據權利要求7所述的裝置,其中,所述渲染單元基于所確 定的屬性執行將裂紋應用于所述遮蔽區域的渲染處理。
12. 根據權利要求7所述的裝置,其中,所述渲染單元基于所確 定的屬性執行將紋理映射到所述遮蔽區域的渲染處理。
13. 根據權利要求7所述的裝置,其中,所述渲染單元基于所確 定的屬性執行縮放所述遮蔽區域的渲染處理。
14. 根據權利要求7所述的裝置,其中,所述渲染單元基于所確 定的屬性執行相對于所述遮蔽區域顯示所述實際物體的橫截面的渲染 處理。
15. —種產生立體圖像的方法,包括檢測位于三維顯示表面上或靠近三維顯示表面的實際物體的位置和姿態中的至少一個;基于所述位置和所述姿態中的至少一個來計算所述實際物體遮蔽從所述三維顯示表面發出的光線的遮蔽區域;以及通過在所述遮蔽區域上執行與其他區域的渲染處理不同的渲染 處理來渲染立體圖像。
16. —種包括計算機可用介質的計算機程序產品,所述介質具有 包括在所述介質中的計算機可讀程序代碼,當執行所述計算機可讀程 序代碼時,使計算機執行檢測位于三維顯示表面上或靠近三維顯示表面的實際物體的位置和姿態中的至少一個;基于所述位置和所述姿態中的至少一個來計算所述實際物體遮 蔽從所述三維顯示表面發出的光線的遮蔽區域;以及通過在所述遮蔽區域上執行與其他區域的渲染處理不同的渲染 處理來渲染立體圖像。
全文摘要
檢測單元檢測位于三維顯示器表面上或靠近三維顯示器表面的實際物體的位置和姿態中的至少一個。計算單元基于位置和姿態中的至少一個來計算實際物體遮蔽從三維顯示器表面發散的光線的遮蔽區域;以及渲染單元通過在遮蔽區域上執行與其他區域不同的渲染處理來渲染立體圖像。
文檔編號H04N13/00GK101529924SQ200780034608
公開日2009年9月9日 申請日期2007年9月21日 優先權日2006年10月2日
發明者土井美和子, 山內康晉, 平山雄三, 杉田馨, 福島理惠子 申請人:株式會社東芝