TWI852053B - 使用深度圖的視像合成系統和方法 - Google Patents
使用深度圖的視像合成系統和方法 Download PDFInfo
- Publication number
- TWI852053B TWI852053B TW111128627A TW111128627A TWI852053B TW I852053 B TWI852053 B TW I852053B TW 111128627 A TW111128627 A TW 111128627A TW 111128627 A TW111128627 A TW 111128627A TW I852053 B TWI852053 B TW I852053B
- Authority
- TW
- Taiwan
- Prior art keywords
- temporary
- ray
- video
- pixel
- video image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000015572 biosynthetic process Effects 0.000 title description 5
- 238000003786 synthesis reaction Methods 0.000 title description 5
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 20
- 239000000872 buffer Substances 0.000 description 11
- 238000009877 rendering Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 9
- 238000013507 mapping Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000005266 casting Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 5
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 5
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 5
- 239000002131 composite material Substances 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000013479 data entry Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 240000004959 Typha angustifolia Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 210000000548 hind-foot Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Abstract
在多視像影像的產生與顯示中,計算裝置可以從顏色影像和深度圖合成景象的多視像影像的視像影像。每個視像影像可以包含各別的像素位置的顏色值。計算裝置可以在多視像顯示器上呈現多視像影像的視像影像。對於視像影像中的像素位置,合成視像影像可以包含以下操作。計算裝置可以從像素位置朝向景象投射射線,其方向對應於視像影像的視像方向。計算裝置可以確定射線交叉位置,射線與深度圖指定的虛擬表面會在此處交叉。計算裝置可以將在像素位置的視像影像的顏色值設定為對應於在射線交叉位置處的顏色影像的顏色。
Description
本發明關於一種視像合成系統和方法,特別是使用深度圖的視像合成系統和方法。
三度(3D)空間中的景象(scene)可以根據視角從多個視點觀看。此外,當使用者觀看時,可以同時感知表示景象的不同立體圖的多個視像,有效創造可被使用者感知的深度感。多視像顯示器能夠呈現(render)和顯示多視像影像,以使多個視像能夠同時被感知。雖然一些內容可能以本機擷取為多視像影像或多視像視訊,但多視像影像或多視像視訊可以從各種其他來源產生。
為了實現這些與其他優點並且根據本發明的目的,如本文所體現和廣泛描述的,提供有一種多視像影像的產生與顯示的電腦實施方法,該方法包括:藉由一計算裝置接收一景象的一顏色影像和該景象的一深度圖;藉由該計算裝置從該顏色影像和該深度圖合成該景象的一多視像影像的視像影像,該等視像影像從不同的視像方向表示該景象,每個該視像影像包含像素位置和在該等像素位置處的各別的顏色值;以及在該計算裝置的一多視像顯示器上呈現該多視像影像的該等視像影像,其中,對於該視像影像中的該像素位置,合成該多視像影像的該視像影像包括:在對應該視像影像的該視像方向的一方向上從該像素位置朝向該景象投射一射線;確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面在該射線交叉位置處交叉;以及設定在該像素位置處的該視像影像的該顏色值,以對應在該射線交叉位置處的該顏色影像的一顏色。
根據本發明一實施例,確定該射線交叉位置包括:確定在該像素位置與一指定平面之間沿著該射線的連續的臨時位置,以使該虛擬表面位於該像素位置與該指定平面之間;識別沿著該射線的該等臨時位置中的該臨時位置,包括:確定識別的該臨時位置位於該像素位置與該虛擬表面之間;以及將識別的該臨時位置推進至沿著該射線的下一個臨時位置;確定該虛擬表面位於該像素位置與識別的該臨時位置之間;以及設定該射線交叉位置,以對應在識別的該臨時位置(包括)與相鄰的並且在先前識別的該臨時位置(包括)之間的一位置。
根據本發明一實施例,確定該射線交叉位置進一步包括:確定在識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間沿著該射線的連續的第二臨時位置;識別沿著該射線的該等第二臨時位置中的該第二臨時位置,包括:確定識別的該第二臨時位置位於該像素位置與該虛擬表面之間;以及將識別的該第二臨時位置推進至沿著該射線的下一個第二臨時位置;確定該虛擬表面位於該像素位置與識別的該第二臨時位置之間;以及設定該射線交叉位置,以對應在識別的該第二臨時位置(包括)與相鄰的並且在先前識別的該第二臨時位置(包括)之間的一位置。
根據本發明一實施例,該等臨時位置沿著該射線等距地間隔。
根據本發明一實施例,該視像影像界定平行於該視像影像的一頂邊和一底邊的一水平方向、在該視像影像的一平面中並且與該水平方向正交的一垂直方向、以及與該水平方向和該垂直方向正交的一深度,以及該等臨時位置被間隔,以使相鄰的該等臨時位置之間的一間隔的一水平分量對應一指定值。
根據本發明一實施例,該指定值對應該視像影像中的相鄰的像素之間的一水平間隔。
根據本發明一實施例,對於該視像影像中的該像素位置,合成該多視像影像的該視像影像包括:在對應該視像影像的該視像方向的該方向上從該像素位置朝向該景象投射該射線;確定該射線不與該深度圖指定的該虛擬表面交叉;從該多視像影像的該視像影像的至少一個時間上相鄰的視訊畫面檢索顏色資訊;以及將在該像素位置的該視像影像的該顏色值設定為對應檢索到的該顏色資訊。
根據本發明一實施例,確定該射線不與該深度圖指定的該虛擬表面交叉包括:確定該射線從該像素位置傳播遠離一距離,該距離超過一閾值距離。
根據本發明一實施例,該等視像影像對應一視訊訊號的連續影像;以及該顏色資訊從該視訊訊號的該至少一個時間上相鄰的視訊畫面的該像素位置被檢索。
根據本發明一實施例,不同的該等視像方向位於平行於該等視像影像的頂邊和底邊的一水平平面中。
在本發明之另一態樣中,提供有一種配置以執行多視像影像的產生與顯示的系統,該系統包括:一多視像顯示器;一中央處理單元;以及一記憶體,儲存複數個指令,該複數個指令執行時會使該中央處理單元執行操作,該等操作包括:接收一景象的一顏色影像和該景象的一深度圖;從該顏色影像和該深度圖合成該景象的一多視像影像的視像影像,該等視像影像從不同的視像方向表示該景象,每個該視像影像包含像素位置和在該等像素位置處的各別的顏色值;以及在該多視像顯示器上呈現該多視像影像的該等視像影像,其中,對於該視像影像中的該像素位置,合成該多視像影像的該視像影像包括:在對應該視像影像的該視像方向的一方向上從該像素位置向該景象投射一射線;確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面在該射線交叉位置處交叉;以及設定在該像素位置處的該視像影像的該顏色值,以對應在該射線交叉位置處的該顏色影像的一顏色。
根據本發明一實施例,確定該射線交叉位置包括:確定在該像素位置與一指定平面之間沿著該射線的連續的臨時位置,以使該虛擬表面位於該像素位置與該指定平面之間;識別沿著該射線的該等臨時位置中的該臨時位置,包括:確定識別的該臨時位置位於該像素位置與該虛擬表面之間;以及將識別的該臨時位置推進至沿著該射線的下一個該臨時位置;確定該虛擬表面位於該像素位置與識別的該臨時位置之間;以及設定該射線交叉位置,以對應在識別的該臨時位置(包括)與相鄰的並且在先前識別的該臨時位置(包括)之間的一位置。
根據本發明一實施例,確定該射線交叉位置進一步包括:確定在識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間沿著該射線的連續的第二臨時位置;識別沿著該射線的該等第二臨時位置中的該第二臨時位置,包括:確定識別的該第二臨時位置位於該像素位置與該虛擬表面之間;以及將識別的該第二臨時位置推進至沿著該射線的下一個第二臨時位置;確定該虛擬表面位於該像素位置與識別的該第二臨時位置之間;以及設定該射線交叉位置,以對應在識別的該第二臨時位置(包括)與相鄰的並且在先前識別的該第二臨時位置(包括)之間的一位置。
根據本發明一實施例,該等臨時位置沿著該射線等距地間隔。
根據本發明一實施例,該視像影像界定平行於該視像影像的一頂邊和一底邊的一水平方向、在該視像影像的一平面中並且與該水平方向正交的一垂直方向、以及與該水平方向和該垂直方向正交的一深度,以及該等臨時位置被間隔,以使相鄰的該等臨時位置之間的一間隔的一水平分量對應該視像影像中的相鄰的像素之間的一水平間隔。
根據本發明一實施例,不同的該等視像方向位於平行於該等視像影像的頂邊和底邊的一水平平面中。
在本發明之另一態樣中,提供有一種儲存有可執行指令的非暫時性電腦可讀取儲存媒體,當一電腦系統的一處理器執行該等可執行指令時,執行多視像影像的產生與顯示的操作,該等操作包括:接收一景象的一顏色影像和該景象的一深度圖;從該顏色影像和該深度圖合成該景象的一多視像影像的視像影像,該等視像影像從不同的視像方向表示該景象,每個該視像影像包含像素位置和在該等像素位置處的各別的顏色值;以及在一多視像顯示器上呈現該多視像影像的該等視像影像,其中,對於該視像影像中的一像素位置,合成該多視像影像的一視像影像包括:在對應該視像影像的該視像方向的一方向上從該像素位置向該景象投射一射線;確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面在該射線交叉位置處交叉;以及設定在該像素位置處的該視像影像的該顏色值,以對應在該射線交叉位置處的該顏色影像的一顏色。
根據本發明一實施例,確定該射線交叉位置包括:確定在該像素位置與一指定平面之間沿著該射線的連續的臨時位置,以使該虛擬表面位於該像素位置與該指定平面之間;識別沿著該射線的該等臨時位置中的該臨時位置,重複地包括:確定識別的該臨時位置位於該像素位置與該虛擬表面之間;以及將識別的該臨時位置推進至沿著該射線的下一個該臨時位置;確定該虛擬表面位於該像素位置與識別的該臨時位置之間;以及設定該射線交叉位置,以對應識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間的一位置。
根據本發明一實施例,確定該射線交叉位置進一步包括:確定在識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間沿著該射線的連續的第二臨時位置;識別沿著該射線的該等第二臨時位置中的該第二臨時位置,重複地包括:確定識別的該第二臨時位置位於該像素位置與該虛擬表面之間;以及將識別的該第二臨時位置推進至沿著該射線的下一個第二臨時位置;確定該虛擬表面位於該像素位置與識別的該第二臨時位置之間;以及設定該射線交叉位置,以對應在識別的該第二臨時位置(包括)與相鄰的並且在先前識別的該第二臨時位置(包括)之間的一位置。
根據本發明一實施例,該等臨時位置沿著該射線等距地間隔;該視像影像界定平行於該視像影像的一頂邊和一底邊的一水平方向、在該視像影像的一平面中並且與該水平方向正交的一垂直方向、以及與該水平方向和該垂直方向正交的一深度,以及該等臨時位置被間隔,以使相鄰的該等臨時位置之間的一間隔的一水平分量對應該視像影像中的相鄰的像素之間的一水平間隔。
根據本發明所述原理的示例和實施例,本發明提供了一種從即時彩現處理管線(real-time rendering pipeline)中的單一視像影像和深度圖產生多視像影像的技術。這允許將視覺內容(例如,影像或視訊)動態轉換為多視像格式並呈現給使用者。如下文所述,實施例涉及使用顏色影像和深度輸入的即時視像合成。
根據實施例,著色器(shader)程式實施子常式(subroutine)以計算每個合成視像的像素值。子常式可以使用射線投射來合成來自一個顏色(或灰階)影像和深度圖的視像。合成視像中的每個像素都可以藉由將單個射線以與視像位置相對應的角度投射到深度圖上來確定。對於特定視像,視像的所有射線具有相同的方向,以使射線是平行的。每條射線可以對應於要彩現處理為合成視像的一部分的像素。對於每條射線,子常式步進通過(step through)沿著射線的點,以藉由從深度圖讀取深度值,來確定射線與虛擬表面交叉的位置。在沿著射線的每個步進點,水平位置依預定的原始間隔遞增,深度位置依預定的深度間隔遞增。在一些實施例中,垂直位置可以維持固定。射線與虛擬表面交叉的位置指定用於從對應於視像像素的顏色圖讀取顏色的座標的位置,像素位置在該處對應光線的原點。在一些實施例中,當特定像素的射線落在虛擬表面之下一閾值量值時,該像素可以設定為空洞(hole)而不是表示顏色。
著色器程式可以是由圖形處理單元 (graphics processing unit,GPU) 執行的程式。GPU可以包括一個或多個向量處理器,其執行指令集以平行執行各別的子常式。在此態樣,單個子常式可以配置為在合成視像影像的像素的獨別像素值時計算獨別像素值。子常式的多個實例可以平行執行,以計算視像的所有像素的像素值。
實施例指向到合成視像影像,其可以包括存取顏色影像和對應深度圖來合成視像影像,深度圖界定虛擬表面。合成多視像影像的視像影像可以進一步包括:以預定的水平間隔、預定的深度間隔和固定的垂直值步進通過沿著射線的複數個點,直到沿著射線的複數個點其中一點識別為位於虛擬表面上,其中,射線包括射線原點和射線方向,射線原點界定要彩現處理的像素的像素位置,以及對應視像影像的視像位置的射線方向。合成視像影像也可以包括藉由在命中點處對顏色影像的顏色值採樣來彩現處理視像影像的像素。
為了進一步闡述,顏色影像可以是RGB影像,其中顏色影像指定具有各別的座標的不同像素的像素值。像素值可以是指示紅色量的值、指示綠色量的值、指示藍色量的值或其任意組合。深度圖可以具有類似於顏色影像的格式,而不是指定顏色,深度圖指定具有各別的座標的不同像素的深度值。因此,深度圖可以界定虛擬表面,其沿著深度軸取決於水平位置和垂直位置而變化。換句話說,從由上而下的方位而言,深度可以沿深度軸變化(例如,進入螢幕或離開螢幕),而位置則水平(例如左或右)或垂直(例如上或下)變化。
可以從顏色影像和深度圖合成一個或多個視像影像。視像影像對應於不同於其他視像影像的各別的立體圖的特定立體圖。視像影像集合形成多視像影像,其中多視像影像表示包含不同立體圖的物體或景象(scene)。多視像影像的每個視像影像對應於各別的視像位置。例如,如果多視像影像包含四個視像,則視像位置的範圍可以為從左到右,以使其包含:最左的視像、左中的視像、右中的視像和最右的視像。每個視像之間的距離可以稱為增益或基線。
可以執行子常式以計算視像影像中每個像素的像素值(例如RGB顏色),由於其合成和彩現處理。子常式可以包含藉由以預定水平間隔步進通過沿著射線的複數點。在此態樣,子常式沿著射線移動,其從射線原點向著特定射線方向投射,其中射線投射到虛擬表面。射線可以界定為空間中的線,其由指向特定方向的座標定義。合成特定視像影像時,平行光線從各別的原點朝向深度圖的虛擬表面投射,以檢測合成視像影像的深度資訊。實施例不是沿著射線路徑從原點到景象的底部讀取所有可能的深度值,而是在由預定水平間隔、預定深度間隔和固定垂直值界定的點上步進通過沿著射線的複數個點。此外,當子常式識別射線上的點位於虛擬曲面時(例如射線與虛擬表面交叉的命中點),子常式將自動終止或以其他方式中斷。換句話說,子常式以預定的間隔沿著射線移動,直到其穿過或以其他方式命中虛擬表面,其為命中點。在此態樣,作為命中點的點的深度等於虛擬表面的對應深度。命中點可以比虛擬表面稍深,或者在虛擬表面附近的深度公差範圍內。當使用預定深度間隔時,量化的深度讀取值可以近似於射線和虛擬表面的交點位置。
當確定此命中點時,記錄位置(以座標表示)。為了彩現處理像素,使用命中點的記錄位置從顏色影像中取樣顏色。因此,子常式藉由在命中點座標處對顏色影像的顏色值取樣來彩現處理視像影像的像素。
在一些實施例中,藉由將命中點的深度值讀取值與閾值深度比較,將命中點識別為位於虛擬表面上。例如,當子常式移動到遠離原點的射線上的下一點時,子常式讀取特定點的深度以獲取深度值讀取。藉由將深度值讀數與閾值深度比較來確定命中點。在一些實施例中,閾值深度在每個步進點中藉由預定深度間隔遞減。在此態樣,閾值深度可以等於或以其他方式從對應點的深度座標導出。
在一些實施例中,合成多視像影像的視像影像進一步包括:檢測複數個射線中的額外射線藉由預定的深度水平落在虛擬表面以下。雖然一些射線與虛擬表面交叉,但其他射線可以命中虛擬表面的垂直邊緣,根據陡度閾值,該邊緣可以被視為「空洞」。在一些實施例中,當命中點位於陡峭表面上時,子常式可以指定對應於該位置的像素為空洞。當顏色影像是視訊串流的畫面時,可以使用來自時間上相鄰的視訊畫面(video frame)的像素資訊填充這些空洞。對於靜止影像,可以使用周圍的顏色來填補空洞。
在一些實施例中,片段著色器配置為步進通過沿著射線的複數點。片段著色器可以配置為將視像影像與至少一個其他視像影像交織(interlace)。交織涉及對不同視像的像素空間多工,以符合多視像顯示器的交織多視像格式。片段著色器可以由處理器執行,其將特定顏色彩現處理為輸出像素座標。顏色可以藉由在處理深度圖而確定的位置處對顏色影像取樣來確定。
在一些實施例中,預定水平間隔為一個像素,其中,預定的深度間隔取決於複數個合成視像的基線。在其他實施例中,預定水平間隔取決於複數個合成視像的基線。藉由使用基線來控制沿射線分析的步進點的粒度,子常式可以優化,以使在合成視像影像時減少深度讀取次數,同時保留最低級別的影像品質。
在一些實施例中,子常式可以從深度圖的深度紋理中讀取深度值。子常式可以從射線原點的輸出像素座標的位置開始(或從此位置的預定偏移,其可以由收斂輸入參數指定)。子常式可以根據視像位置在一個方向(例如從左到右)或相反的方向(例如從右到左)執行深度值的逐點讀取。
在沿著射線的每個點,將提取深度值與閾值深度比較,閾值深度在每個步進點從1開始並趨向零。當深度值讀數等於或超過閾值深度時,將終止對命中點的搜索。終止搜索的座標用於從顏色影像中對顏色取樣,並將其作為子常式的結果返回。片段著色器使用此取樣顏色彩現處理合成視像的像素。
水平步進點的最大數量(例如,預定水平間隔)可以由基線輸入參數來修改或控制。步進點越多,產生的視像與輸入顏色影像的偏離就越大。閾值深度遞減步進可以等於1除以水平步進點。
此外,為了改善邊緣上的混疊(aliasing),可以修改預定的水平間隔,以使預定間隔(例如水平間隔)劃分為子間隔,以便用於取樣顏色的座標更精確。在比較期間中,可以使用在相鄰深度值讀取值之間執行線性插值。預定深度間隔可以分為子間隔。結果命中點的座標(例如,深度值讀讀取值等於或超過深度閾值)可以傳遞給著色器紋理讀取函數,其支援內建的顏色插值。
此外,如果需要在對比邊緣上創造空洞(以使呈彩現處理看起來像獨立移動分離的物體),則可以比較深度值讀取值和深度閾值之間的差異,並且如果其大於預定深度水平,則可以創造空洞以用於之後的修補(inpainting)。
在示例中,可以藉由計算裝置接收景象的顏色影像和景象的深度圖。計算裝置可以從顏色影像和深度圖中合成景象的多視像影像的視像影像。視像影像可以從不同的視像方向表示景象。每個視像影像可以包含像素位置和在像素位置的各別的顏色值。例如,視像影像可以具有二維(2D)像素網格,每個像素在影像中皆具有位置。計算裝置可以在計算裝置的多視像顯示器上呈現多視像影像的視像影像。對於視像影像中的像素位置,合成多視像影像的視像影像可以包含:從該像素位置向該景象投射一射線,其方向對應於該視像影像的該視像方向;確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面會在此處交叉;以及將在該像素位置的該視像影像的一顏色值設定為對應於該射線交叉位置的該顏色影像的顏色。
本發明中,「二維顯示器」或「2D顯示器」定義為配置以提供影像的視像的顯示器,而不論該影像是從甚麼方向觀看的(亦即,在2D顯示器的預定視角內或預定範圍內),該影像的視像基本上是相同的。很多智慧型手機和電腦螢幕中會有的傳統液晶顯示器(LCD)是2D顯示器的示例。與此相反,「多視像顯示器」定義為配置以在不同視像方向(view direction)上或從不同視像方向提供多視像影像(multiview image)的不同視像(different views)的電子顯示器或顯示系統。具體來說,不同視像可以表示多視像影像的景象或物體的不同立體圖。本發明所述的單側背光件以及單側多視像顯示器的用途,包含但不限於,行動電話(例如,智慧型手機)、手錶、平板電腦,行動電腦(例如,膝上型電腦)、個人電腦和電腦螢幕、汽車顯示控制台、攝影機顯示器以及其他各種行動顯示器以及基本上非行動顯示器的應用和裝置。
圖1是根據與本發明所述原理一致的一實施例,顯示示例中的多視像顯示器10的立體圖。如圖1中所示的,多視像顯示器10包括螢幕12,其用於顯示要被觀看的多視像影像。舉例而言,螢幕12可以是電話(例如手機、智慧型手機等等)、平板電腦、筆記型電腦、桌上型電腦的電腦顯示器、攝影機顯示器、或基本上顯示任何其他裝置的電子顯示器的顯示螢幕。
多視像顯示器10在相對於螢幕12的不同的視像方向16上提供多視像影像的不同的視像14。視像方向16如箭頭所示,從螢幕12以各種不同的主要角度方向延伸;不同視像14在箭頭(亦即,表示視像方向16的箭頭)的終止處顯示為較暗的複數個多邊形框;並且僅示出了四個視像14和四個視像方向16,其皆為示例而非限制。應注意,雖然不同的視像14在圖1中顯示為在螢幕上方,但是當多視像影像被顯示在多視像顯示器10上時,視像14實際上出現在螢幕12上或附近。在螢幕12上方描繪視像14僅是為了簡化說明,並且意圖表示從對應於特定視像14的相應的一個視像方向16觀看多視像顯示器10。2D顯示器可以與多視像顯示器10大致上相似,除了2D顯示器通常配置為提供所顯示影像的單一視像(例如,類似視像14的一個視像),相對的,多視像顯示器10提供多視像影像的多個不同的視像14。
根據本發明定義,具有與多視像顯示器的視像方向對應的方向的視像方向或等效的光束,通常具有由角度分量{θ, ϕ}給出的主要角度方向。角度分量θ在本發明中稱為光束的「仰角分量」或「仰角」。角度分量ϕ稱為光束的「方位角分量」或「方位角」。根據定義,仰角θ為在垂直面(例如,垂直於多視像顯示器螢幕的平面)內的角度,而方位角ϕ為在水平面(例如,平行於多視像顯示器螢幕的平面)內的角度。
圖2是根據與本發明所述原理一致的一實施例,顯示示例中具有與多視像顯示器的視像方向(例如,圖1中的視像方向16)相對應的特定主要角度方向的光束20的角度分量{θ, ϕ}的示意圖。此外,根據本發明定義,光束20從特定點發射或射出。亦即,根據定義,光束20具有與多視像顯示器內的特定原點相關聯的中心光線。圖2進一步顯示了原點O的光束(或視像方向)。
此外,如本發明所使用的,冠詞「一」旨在具有其在專利領域中的通常含義,亦即「一個或多個」。例如,在本發明中「一計算裝置」意指一個或多個計算裝置,並因此「該計算裝置」意指「該(些)計算裝置」。此外,本發明所述的任何「頂部」、「底部」、「上」、「下」、「向上」、「向下」、「前」、「後」、「第一」、「第二」、「左」、或「右」皆並非意使其成為任何限制。本發明中,當「大約(about)」一詞應用在一數值時,除非另有明確說明,其意思大體上為該數值在產生該數值的設備的公差範圍內,或者可以表示正負10%或正負5%或正負1%。此外,本發明所使用「基本上(substantially)」一詞是指大部分、或幾乎全部、或全部、或在大約51%至大約100%的範圍內的數量。再者,本發明的示例僅為說明性示例,並且提出該示例的目的是為了討論而非限制。
圖3是根據與本發明所述原理一致的一實施例,顯示可以執行多視像影像的產生與顯示的系統100的示例的方塊圖。系統100可以包含計算裝置102,例如智慧型手機、平板電腦、膝上型電腦等。圖6和下文詳細描述了計算裝置102的示例。計算裝置102可以配置為執行多視像影像的產生與顯示的電腦實施方法,如目前所述。
根據各別的實施例,當由計算裝置102執行時,電腦實施的多視像影像的產生的方法包括接收景象106的顏色影像104和景象106的深度圖108。在圖3中,景象106描繪貓,儘管也可以使用其它合適的景象。顏色影像104可以包含表示景象106的外觀的強度和顏色資料。顏色影像資料可以選擇性地排列為對應於位置的矩形陣列,例如像素。在一些示例中,強度和顏色資料可以包含表示紅光強度的第一值、表示綠光強度的第二值以及表示藍光強度的第三值。在一些示例中,例如對於單色景象,強度和顏色資料可以包含表示強度的值(例如,包含強度資訊但缺少顏色資訊)。深度圖108可以描述景象106中的位置與計算裝置102之間的相對距離。對於景象106中的貓的示例,對應於景象106的深度圖108可以指定貓的尾巴尖端可以比貓的右後爪離計算裝置102更遠。在一些例子中,顏色影像104和深度圖108可以藉由有線或無線連接從伺服器或儲存裝置接收。在一些示例中,可以由計算裝置102包含的攝影機和深度圖產生器產生顏色影像104和深度圖108。在一些示例中,深度圖產生器可以在利用在不同方向上的反射的飛時測距,以映射從計算裝置102遠離計算裝置102的傳播方向的範圍的距離。
在各別的實施例中,當由計算裝置102執行時,電腦實施的多視像影像的產生的方法進一步包括從顏色影像104和深度圖108合成景象106的多視像影像的視像影像110A、視像影像110B、視像影像110C、視像影像110D(統稱為視像影像110)。視像影像110可以從不同的視像方向表示景象106。對於景象106中的貓的示例,視像影像110可以表示如果從與視像影像110相對應的視像方向觀看時,貓會如何顯示。每個視像影像110可以包含像素位置和在像素位置的各別的顏色值。在圖3的示例中,有四個視像影像110。在其他示例,可以使用多於或少於四個視像影像110。圖4和下文提供關於如何合成視像影像110的額外細節。
根據各別的實施例,當由計算裝置102執行時,電腦實施的多視像影像的產生的方法進一步包括在計算裝置102的多視像顯示器112上呈現多視像影像的視像影像110。視像影像110A、視像影像110B、視像影像110C和視像影像110D分別從各別的觀看方向114A、觀看方向114B、觀看方向114C和觀看方向114D觀看。例如,計算裝置102可以配置為智慧型手機,而智慧型手機的顯示器可以配置為多視像顯示器112。在一些例子中,多視像影像可以作為畫面包括在視訊中,以使計算裝置102可以合成視像影像110並以合適的視訊畫面更新率呈現視像影像110,例如每秒60畫面、每秒30畫面或其他畫面更新率。
電腦實施的指令集(諸如,本發明稱為著色器),可以合成多視像影像的視像影像。下文對著色器詳細描述,並且著色器的概要如下。著色器可以從像素位置向景象投射射線,其方向對應於視像影像的視像方向。著色器配置為確定射線交叉位置,射線與深度圖指定的虛擬表面會在此處交叉。著色器進一步配置為將在像素位置的視像影像的顏色值設定為對應於射線交叉位置的視像影像的顏色。
在一些示例中,射線交叉位置的確定可以包含以下操作,其表示為第一操作到第五操作以便說明。在第一操作中,著色器可以確定沿著射線在像素位置和指定平面之間的連續的臨時位置,以使虛擬表面位於像素位置和指定平面之間。在第二操作中,著色器可以識別沿著射線的多個臨時位置中的特定臨時位置。在第三操作中,著色器可以重複確定識別的特定臨時位置位於像素位置和指定平面之間;並且著色器可以將識別的特定臨時位置推進到沿著射線的下一個臨時位置。在第四操作中,著色器可以確定虛擬表面位於像素位置和識別的特定臨時位置之間。在第五操作中,著色器可以將射線交叉位置設定為對應於識別的特定臨時位置(包括)與相鄰的並且在先前識別的臨時位置(包括)之間的位置。
在上述一些示例中,射線交叉位置的確定可以包含以下操作,其表示為第六操作到第十操作以便說明。第六操作至第十操作可以有效地重複第一操作至第五操作,但具有不同的(例如更精細的)解析度。在第六操作中,著色器可以確定沿著射線的連續的第二臨時位置,其介於識別的臨時位置與相鄰並的且在先前識別的臨時位置之間。在第七操作中,著色器可以識別沿著射線的多個第二臨時位置中的第二臨時位置。在第八操作中,著色器可以重複確定識別的第二臨時位置位於像素位置和指定平面之間;並且將識別的第二臨時位置推進到沿著射線的下一個第二臨時位置。在第九操作中,著色器可以確定虛擬表面位於像素位置和識別的第二臨時位置之間。在第十操作中,著色器可以將射線交叉位置設定為對應於識別的第二臨時位置(包括)與相鄰的並且在先前識別的第二臨時位置(包括)之間的位置。
在一些示例中,臨時位置可以沿著射線等距地間隔。在一些示例中,視像影像可以界定:平行於視像影像的頂邊和底邊的水平方向、視像影像的平面中與水平方向正交的垂直方向;以及,與水平方向和垂直方向正交的深度。在一些示例中,臨時位置可以間隔開,以使相鄰的臨時位置之間間隔的水平分量對應指定值。在一些示例中,指定值可以對應於視像影像中相鄰像素之間的水平間隔。
在一些示例中,不同的視像方向可以位於平行於視像影像的頂邊和底邊的水平平面中。在一些示例中,第一操作到第五操作以及第一操作到第十操作其中之一或之二可能不會產生可行的結果。由於僅靠射線投射可能無法獲得適合像素位置的顏色值,因此著色器可以執行附加操作來獲得合適的顏色值。這些附加操作表示為第十一到第十五個操作以便說明,並在下文詳細描述。
在第十一操作中,著色器可以從像素位置向表示景象的深度圖投射射線,其方向對應於視像影像的視像方向。在第十二操作中,著色器可以確定射線不與深度圖指定的虛擬表面交叉。在第十三操作中,著色器可以將在像素位置的視像影像的顏色值設定為對應於檢索到的顏色資訊。在第十四操作中,著色器可以藉由確定射線從像素位置開始傳播的距離超過閾值距離,來確定射線不與深度圖指定的虛擬表面交叉。
在一些示例中,視像影像可以對應於視訊訊號的連續影像。在一些示例中,可以從視訊訊號的至少一個時間上相鄰的視訊畫面的像素位置檢索顏色資訊。以下說明涉及電腦實施的操作的細節,例如包含或使用可以產生和彩現處理視像影像的著色器。電腦實施操作的預期用途是創造具有多個視像(諸如四個或更多視像)的影像。多個視像可以以各種模式排列為圖塊,例如但不限於,二乘二模式或一乘四模式,以及三乘三模式。電腦實施操作可以從顏色影像和所附的深度圖中合成多個視像。深度圖可以形成灰階影像,其中亮度或強度可以表示與觀察者或攝影機的接近程度。
電腦實施操作可以合成多個視像,以使當人類觀看一對視像時,人類可以感知到立體效果。由於人類的眼睛通常水平地分開,因此電腦實施的操作可以合成多個視像,其可從水平分開的不同位置觀看。電腦實施操作可以減少或消除形狀邊緣或影像邊緣的偽影。這種偽像可能會分散對立體效果的注意力。
由於合成影像可能會包含在視訊影像中,因此電腦實施操作可以相對較快地合成多個視像。此外,電腦實施操作可以合成多個視像以與彩現處理管線(諸如OpenGL與彩現處理管線)兼容。此外,電腦實施操作可以合成多個視像,而無需執行繁重的運算,這可能行動裝置造成負擔以及造成行動裝置的溫控調頻(temperature throttling)的其中之一或之二。
本發明討論的電腦實施操作可以比另一種稱為「前向映射」或點雲彩現處理的方法更有效且更穩健,其採用正交相機和對攝影機矩陣的水平傾斜。在前向映射中,藉由將二維網格的彩色點的顏色根據對應深度值移動到左側和右側其中之一或之二來創造每個視像。本發明討論的電腦實施的操作可以避免前向映射產生的視像的左邊緣和右邊緣其中之一或之二的空洞、分離點和空白區域。此外,本發明討論的電腦實施操作不需要分派比在顯示裝置上表示的點的更多的點。
本發明討論的電腦實施操作可以比另一種稱為「後向映射」的方法更有效且更穩健,其中,根據點的深度,將點的顏色值替換為一些相鄰點的顏色值。後向映射可以產生深度錯覺,但不能準確描繪形狀的邊緣。例如,形狀邊緣上的前景部分可能會意外地被背景覆蓋。
本發明討論的電腦實施操作可以比使用三維網格的類似方法更有效且更穩健。這種網格在運算要求很高,因此可能不適合即時產生多個視像。
本發明討論的電腦實施操作可以使用射線投射的修改形式。射線投射可以在三維空間中從一些中心點投射射線,其穿過虛擬螢幕的每個點,並且可以確定表面的擊中點以設定螢幕上對應點的顏色。對於視像合成,電腦實施操作可以確定命中點的顏色,而不需要執行任何額外的射線追蹤。此外,紋理可以確定表面,而不需在記憶體中安排立體像素(voxel)資料。射線投射可以提供準確性和彩現處理立體圖的能力。如果沒有本發明討論的修改,射線投射可以是運算密集的,特別是對於高品質影像。但是,這會是耗電的操作,特別是對於高品質影像。如果沒有本發明討論的修改,射線投射可以將光路徑劃分為數百個步驟,並對每個步驟檢查。使用本發明討論的一個或多個修改,射線投射可以使用結構來標記所謂的安全區域(例如沒有幾何形狀的區域)以加速射線行進。
在一些示例中,本發明討論的電腦實施操作可以使用具有相對簡單的片段(像素)著色器的單一全螢幕四重彩現處理來執行射線投射。在一些示例中,本發明討論的電腦實施操作可以實現即時性能,並且可以注入到視訊到多視像工作流的彩現處理鏈中。
本發明討論的電腦實施操作可以使用片段著色器。片段著色器可以是程式,其確定單一像素的顏色並將所確定的顏色資訊儲存在輸出緩衝器中。片段著色器可以對每個像素平行執行多次,並在輸出緩衝器中具有對應的條目,以確定每個輸出像素的顏色。
可以執行本發明討論的電腦實施操作的偽代碼的示例如下:
x, y = output_coord
view_id = pick one from [-1.5, -0.5, +0.5, +1.5]
direction = if (view_id < 0) -1 else +1
total_steps = abs(view_id * gain_px)
x = x - convergence * view_id * gain_px
z = 1
for _ in total_steps:
if (read_depth(x, y) <= z) return read_color(x, y)
x += direction
z -= 1.0 / total_steps
return read_color(x, y)
圖4是根據與本發明所述原理一致的一實施例,顯示本發明討論的電腦實施操作400的簡化示例的示意圖。應理解的是,圖4的簡化示例顯示一維示例,其中射線在單一平面上以傳播角度(對應視像方向)傳播。實施中,深度圖可以二維地延展,傳播方向可以具有三維分量(例如,兩維加深度)依此類推。
在圖4的簡化示例中,遠離觀察者的深度表示為高於最底部水平線402的高度。最底部水平線402表示深度圖的前景邊界。輸出緩衝器404顯示在最底部水平線402之下。最頂部水平線406表示深度圖的背面、背景平面或背景邊界。
在圖4的簡化示例中,深度圖顯示為跨過一系列的像素。深度圖顯示為一系列的高度值,其對於每個水平像素具有一個值。在圖4的簡化示例中,深度圖量化為具有0(包括)和1(包括)之間十一個可能值之一。在實踐中,實際的深度圖值在前景邊界和背景邊界之間會有相對較多的可能值(諸如256)。在圖4的具體示例中,從視像影像的最左邊緣到最右邊緣,深度會從0.1增加到0.4,然後減少到0.0,然後增加到0.8,然後在視像影像的最右邊緣減少到0.6。
在圖4的簡化示例中,座標x沿水平方向。座標x可以表示輸出緩衝器像素。著色器可以對每個像素執行一次,也可以與其他像素對應的其他著色器執行平行執行。著色器可以將著色器的輸出(例如顏色值)寫入座標x。在一些示例中,著色器輸出(顏色值)將寫入到著色器所執行的座標x。在其他示例中,座標x可以是變量,其可選擇地由收斂值確定的初始偏移(正或負) 而偏移。
在圖4的簡化示例中,變量z是相對於網格上的深度值放置在每次迭代(literation)的變量。在圖4的簡化示例中,總共有六個步進(step)408,對應於六個像素。六個值可以由視像偏移乘以增益來計算。變量z的初始值為1.0。座標x的初始值為7(例如,第七號單元格,其中單元格從零開始連續編號)。
在第一號迭代中,在座標x=7處,著色器讀取的深度(深度圖的深度)為0.0。著色器在座標x=7時將z的值(初始值為1.0)與深度(值為0.0)進行比較。由於z值不小於或等於深度,因此著色器會將z值以等於總步進數的倒數遞減。對於總共六個步進,被遞減的z值為0.833。座標x遞增一個像素,使x變為8。
在第二號迭代中,在座標x=8處,著色器讀取的深度(深度圖的深度)為0.0。著色器在座標x=8時將z的值(0.833)與深度(值為0.0)進行比較。由於z值不小於或等於深度,因此著色器會將z值以等於總步進數的倒數遞減。對於總共六個步進,被遞減的z值為0.667。座標x遞增一個像素,使x變為9。
在第三號迭代中,在座標x=9處,著色器讀取的深度(深度圖的深度)為0.3。著色器在座標x=9時將z的值(0.667)與深度(值為0.3)進行比較。由於z值不小於或等於深度,因此著色器會將z值以等於總步進數的倒數遞減。對於總共六個步進,被遞減的z值為0.5。座標x遞增一個像素,使x變為10。
在第四號迭代中,在座標x=10處,著色器讀取的深度(深度圖的深度)為0.4。著色器在座標x=10時將z的值(0.5)與深度(值為0.4)進行比較。由於z值不小於或等於深度,因此著色器會將z值以等於總步進數的倒數遞減。對於總共六個步進,被遞減的z值為0.333。座標x遞增一個像素,使x變為11。
在第四號迭代中,在座標x=11處,著色器讀取的深度(深度圖的深度)為0.5。著色器在座標x=11時將z的值(0.333)與深度(值為0.5)進行比較。由於z值小於或等於深度,因此著色器將從x=11的x座標讀取顏色。著色器將x=11的顏色值指派給輸出緩衝器的第七號單元格。換句話說,上述操作已經對視像影像的像素(位於第七號單元格)確定了顏色值(例如從x=11開始)。在圖4的簡化示例中沒有第六號迭代。
著色器可以選擇藉由將相鄰的讀取深度值插值來執行其他比較。這些額外的比較可以發生在x座標中相鄰像素之間的位置。著色器可以使用以下數量作為輸入:顏色紋理、深度紋理、輸出像素的x座標和y座標、增益(單一純量值)和收斂(另一個一單標量值)。
本發明討論的電腦實施操作可以在單一輸出緩衝器內產生多個視像。例如,對於電腦實施操作產生四個視像影像的配置,輸出緩衝器可以劃分為四個區域(例如以水平線和垂直線劃分)以對應二乘二的圖塊。在特定示例中,視像0分配給左上角的圖塊、視像1分配給右上角的圖塊、視像2分配給左下角的圖塊 ,並且視像3分配給右下角的圖塊。本發明討論的電腦實施操作可以表示排列在單個水平行中的不同視像角度的視像0到3。在一些示例中,本發明討論的電腦實施操作可以將原始視像影像的每個特徵相對於視像寬度的最大偏移距離,設定為使用者舒適的指定值。例如,指定值可以介於10像素和20像素之間(包括)。在一些示例中,邊緣視像(諸如視像0和視像3)可以接收最大偏移,其中x和y座標可以換行以覆蓋所選視像的象限。
當視像標識符或視像id(如0、1、2 或 3)已知時,本發明討論的電腦實施操作可以從預定義的偏移值陣列中選取視像偏移值,例如從陣列[-1.5,-0.5,+0.5,+1.5] 中選取視像偏移值。使用者或其他電腦實施的常式可以提供收斂值。收斂值可以藉由將像素偏移減少到零來幫助將深度平面固定到位置。例如,如果視像影像要連續顯示(例如在動畫中顯示),則收斂值0可以使背景看起來固定在適當的位置,以便前景可以從左向右移動。同樣地,收斂值為1可以使前景看起來固定在原位,而背景可以從左向右移動。收斂值為0.5可以將中心平面固定到位,以使背景和前景以相反的方向移動。也可以使用其他值,其可以將平面固定在不位於背景和前景之間的深度。
使用者或其他電腦實施的常式可以提供增益值。如上文所述,增益值可以增加或減少背景和前景之間的相對運動。數字上,增益實施的示例(以像素為單位)可以是:view_shift_px = shift_value_array [ view_id ] * gain_px。
增益值可以是正數,也可以是負數。增益的絕對值可以確定著色器可以使用多少深度來執行其迭代。例如,著色器可以使用以下總步進數:total_steps = abs ( view_shift_px )。要應用收斂,著色器可以根據以下條件修改x座標:x = x - convergence * view_shift_px。著色器可以將變量z初始化為1.0的值。著色器可以將變量Nx初始化為x座標的值,其可以已包裝在視像象限內。在每個步進中,著色器可以使用Nx,y讀取深度紋理的深度值。在每個步進中,著色器可以將變量Nx增加或減少一的值(增減取決於view_shift_px的符號)。在每個步進中,著色器可以將變量z減少1.0除以total_steps。在變量z小於或等於讀取深度值的步進中,著色器將中斷迭代並返回從Nx,y處的顏色紋理中讀取的顏色值。
在此方式中,著色器可以在輸出緩衝器中產生前向映射視像。前向映射視像可以缺少背景過前景故障,可以缺少空洞或分離像素,並且可以缺少空邊。由於著色器可以允許在結果視像上不為空的紋理鏡像參數邊,因此著色器可以在紋理邊界外採樣,並且可以解決視像邊的問題。
由於深度紋理可以包含非零值(例如不平坦),因此著色器可以早於total_steps的值中斷迭代。此外,由於total_steps的值可以藉由舒適的限制(例如介於10像素和20像素之間,(包括))來指定,因此著色器可以對每個像素執行相對較少的迭代。由於著色器可以對每個像素執行相對較少的迭代,因此著色器可以使用相對較少的計算次數來獲得視像影像中像素的顏色值,從而可以減少即時性能所需的計算負載。一般而言,增加視像數可以增加輸出緩衝器的大小,並且可以增加即時性能所需的計算負載。
本發明討論的電腦實施操作可以減少或消除在物體邊緣出現的偽影,例如在深度值變化相對較快的區域。例如,著色器可以執行其他中間迭代,其以指定的過採樣係數增加步進數(例如四個)。例如,迭代可以在每個第四個步進提取深度,其使用先前讀取的深度值來線性插值。這種中間迭代可以產生更高質量的視像影像,而不需要從深度紋理中額外讀取。
本發明討論的電腦實施操作可以選擇為每個輸出像素選擇視像id,其不需要直接對應於上文討論的象限。以這種方式選擇視像id可以幫助消除緩衝區的下游處理,諸如將像素重新排列為與多視像顯示裝置兼容的圖案。例如,覆蓋顯示器的透鏡陣列可以接收每個透鏡下不同視像的細條紋集合。藉由將比較read_depth(x, y) <= z更改為更高級的差異檢查,例如以閾值檢查,著色器可以留空洞以進行進一步的影像修補(inpainting),例如,如果影像修補可用並且優先於拉伸邊緣。
一般而言,本發明討論的電腦實施操作可以使用相對較低的增益值和相對較高的對比度值來實現性能提升。一般而言,本發明討論的電腦實施操作可以實現正常化或至少未變暗的深度圖的性能提升。一般而言,如果僅在一個方向(例如水平或垂直)上提供偏移,則本發明討論的電腦實施操作可以實現性能提升。
本發明討論的電腦實施操作可以即時操作。本發明討論的電腦實施操作可以作為基於OpenGL的彩現處理管線(著色器)的一部分操作。本發明討論的電腦實施操作可以產生許多相對高品質的前向映射視像,其彼此水平偏移。本發明討論的電腦實施操作可以使用顏色影像和對應深度圖的輸入。本發明討論的電腦實施操作可以使用增益參數和收斂參數。本發明討論的電腦實施操作可以相關於射線投射的形式。本發明討論的電腦實施操作可以相關於以片段(像素)著色器以前向映射合成不同視像(例如,意圖在立體視覺應用程式中使用視像)。本發明討論的電腦實施操作可以在影像品質和計算速度之間取得平衡。本發明討論的電腦實施操作可以使用單一著色通道,從顏色影像和深度圖即時地產生任意數量的正交水平偏斜視像,其無需預處理,也無需分派3D網格。本發明討論的電腦實施操作可以在行動裝置上執行。本發明討論的電腦實施操作可以在相對較輕的運算負載下運行,其使用相對較少的迭代和相對較少的紋理讀取。本發明討論的電腦實施操作可以產生沒有空洞或分離像素的視像影像。本發明討論的電腦實施操作可以具有比經由射線投射的典型彩現處理更簡單的內部工作流程。本發明討論的電腦實施操作可以具有比基於單個點偏移的樸素前向映射更好的性能。
圖5是根據與本發明所述原理一致的一實施例,顯示執行多視像影像的產生與顯示的方法500的示例的流程圖。方法500可以在系統100上執行,或者其它可以執行多視像影像的產生與顯示的合適系統。
在操作502,系統可以接收景象的顏色影像和景象的深度圖。在操作504,系統可以從顏色影像和深度圖中合成景象的多視像影像的視像影像。視像影像可以從不同的視像方向表示景象。每個視像影像可以包含像素位置和在像素位置的各別的顏色值。在操作506,系統可以在多視像顯示器上呈現多視像影像的視像影像。
對於視像影像中的像素位置的操作,合成多視像影像的視像影像可以包含以下。系統可以從像素位置向景象投射射線,其方向對應於視像影像的視像方向。系統可以確定射線交叉位置,射線與深度圖指定的虛擬表面會在此處交叉。系統可以將在像素位置的視像影像的顏色值設定為對應於射線交叉位置的顏色影像的顏色。
在一些示例中,確定沿著射線在像素位置和指定平面之間的連續的臨時位置,以使虛擬表面位於像素位置和指定平面之間,可以包含以下操作。系統可以識別沿著射線的多個臨時位置中的臨時位置。系統可以重複確定識別的臨時位置位於像素位置和指定平面,並且將識別的臨時位置推進到沿著射線的下一個臨時位置。系統可以確定虛擬表面位於像素位置和識別的臨時位置之間。系統可以將射線交叉位置設定為對應於識別的臨時位置(包括)與相鄰的並且在先前識別的臨時位置(包括)之間的位置。
在一些示例中,確定射線交叉位置可以進一步包含以下操作。系統可以確定沿著射線的連續的第二臨時位置,其介於識別的臨時位置與相鄰的並且在先前識別的臨時位置之間。系統可以識別沿著射線的多個第二臨時位置中的第二臨時位置。系統可以重複確定識別的第二臨時位置位於像素位置和指定平面之間;並且將識別的第二臨時位置推進到沿著射線的下一個第二臨時位置。系統可以確定虛擬表面於像素位置和識別的第二臨時位置之間。系統可以將射線交叉位置設定為對應於識別的第二臨時位置(包括)與相鄰的並且在先前識別的第二臨時位置(包括)之間的位置。
在一些示例中,臨時位置可以沿著射線等距地間隔。在一些示例中,視像影像可以界定:平行於視像影像的頂邊和底邊的水平方向、視像影像的平面中與水平方向正交的垂直方向;以及,與水平方向和垂直方向正交的深度。在一些示例中,臨時位置可以間隔開,以使相鄰臨時位置之間間隔的水平分量對應視像影像中的相鄰像素之間的水平間隔。
圖6是根據與本發明所述原理一致的一實施例,顯示可以執行多視像影像的產生與顯示的計算裝置的示例的示意方塊圖。計算裝置1000可以包含組件系統,其為計算裝置1000的使用者執行各種電腦操作。計算裝置1000可以是膝上型電腦、平板電腦、智慧型手機、觸控螢幕系統、智慧型顯示系統、其他客戶端裝置、伺服器、或其他計算裝置。計算裝置1000可以包含各種組件,例如處理器1003、記憶體1006、輸入/輸出(I / O)組件1009、顯示器1012以及其他可能的組件。這些組件可以耦接到用作局部介面的匯流排1015,以允許計算裝置1000的組件互相通訊。儘管計算裝置1000的組件顯示為包含在計算裝置1000中,應理解為,至少部分組件可以藉由外部連接耦接到計算裝置1000。例如,組件可以經由外部埠、插座、插頭、連接器或無線連接從外部插入計算裝置1000或者以其他方式連接計算裝置1000。
處理器1003可以包含處理器電路,諸如:中央處理單元(CPU)、圖形處理單元(GPU)、執行電腦處理操作的任何其他積體電路,或其組合。(多個)處理器1003可以包含一個或多個處理核心。(多個)處理器1003包括執行指令的電路。指令包含,例如,電腦編碼、程式、邏輯或其他機器可讀指令,其藉由(多個)處理器1003接收並執行,以執行指令中包含的電腦功能。處理器1003可以執行指令以處理資料或產生資料。例如,(多個)處理器1003可以接收輸入資料(例如影像)、根據指令集處理輸入資料、並產生輸出資料(例如,處理後的影像)。作為另一個示例,(多個)處理器1003可以接收指令並產生新指令以用於後續執行。處理器1003可以包括實施圖形管線(例如,圖3示意性顯示的圖形管線)的硬體,以將由應用程式產生的視訊、影像或畫面呈現。例如,(多個)處理器1003可以包括一個或多個GPU核心、向量處理器、純量處理器、解碼器或硬體加速器。
記憶體1006可以包含一個或多個記憶體組件。記憶體1006在本發明中界定為包含揮發性和非揮發性記憶體其中之一或之二。揮發性記憶體組件是指那些在斷電後不會保留資訊的記憶體組件。例如,揮發性記憶體可以包含隨機存取記憶體(RAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、磁性隨機存取記憶體(MRAM)或其他隨機存取記憶體結構。系統記憶體(例如,主記憶體、快取記憶體等)可以使用揮發性記憶體以實現。系統記憶體是指快速記憶體,其可以臨時儲存用於快速讀取和寫入存取的資料或指令以輔助(多個)處理器1003的指令。影像(例如靜止影像、視訊畫面)可以儲存或加載到記憶體1006中,以用於之後存取。
非揮發性記憶體組件是在斷電後保留資訊的記憶體組件。非揮發性記憶體包含唯讀記憶體(ROM)、硬碟驅動器,固態硬碟、USB隨身碟、經由記憶卡讀取器訪問的記憶卡、經由關聯的軟碟驅動器存取的軟碟、經由光碟驅動器存取的光碟、經由適當的磁帶驅動器存取的磁帶。ROM可以包括,例如,可程式化唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體(EPROM)、可電氣抹除可程式化唯讀記憶體(EEPROM)或其他類似記憶體裝置。可以使用非揮發性記憶體以實現儲存記憶體,以提供資料和指令的長期保留。根據各別的實施例,多視像視訊快取可以使用揮發性記憶體、非揮發性記憶體,或者揮發性記憶體與非揮發性記憶體的組合來實施。
記憶體1006可以指用於儲存指令以及資料的揮發性和非揮發性記憶體的組合。例如,資料和指令可以儲存在非揮發性記憶體中,並且加載到揮發性記憶體中以由(多個)處理器1003進行處理。例如,指令的執行可以包含:編譯程式,其譯為格式可以從非揮發性記憶體加載到揮發性記憶體中的機器碼,然後由處理器1003運行;原始碼,其轉換為適當格式,例如能夠加載到揮發性記憶體中以供處理器1003執行的目標碼;或者原始碼,其由另一可執行程式解譯以在揮發性記憶體中產生指令並由處理器1003執行碼。指令可以儲存或加載到記憶體1006的任何部分或組件,例如,記憶體1006包含RAM、ROM、系統記憶體、儲存器或其任何組合。
雖然記憶體1006顯示為與計算裝置1000的其他組件分離,應當理解為,記憶體1006可以至少部分地嵌入或者以其他方式整合到一個或多個組件中。例如,(多個)處理器1003可以包含內建記憶體暫存器,其暫存或快取以執行處理操作。
例如,(多個)I / O組件1009包含觸控螢幕、揚聲器、麥克風、按鈕、開關、轉盤、攝影機、感測器、加速計或其他組件以接收使用者輸入或產生導向使用者的輸出。(多個)I / O組件1009可以接收使用者輸入並轉換為資料,以儲存在記憶體1006中或由處理器1003處理。(多個)I / O組件1009可以接收由記憶體1006或(多個)處理器1003輸出的資料,並將其轉換為使用者可以感知的形式(例如,聲音、觸覺響應、視覺資訊等)。
I / O組件1009的一種類型是顯示器1012。顯示器1012可以包含多視像顯示器(例如,多視像顯示器112)、與二維顯示器結合的多視像顯示器、或者任何其他呈現圖像內容的顯示器。可以在顯示器內疊放作為I / O組件1009的電容式觸控螢幕層,以讓使用者在感知視覺輸出同時提供輸入。(多個)處理器1003可以產生資料,其以影像或畫面的格式呈現在顯示器1012上。(多個)處理器1003可以執行指令,以在顯示器1012上呈現影像或畫面給使用者。攝影機I/O組件1009,可以用於視訊擷取處理,所擷取的視訊可以轉換為多視像視訊。
匯流排1015有利於(多個)處理器1003、記憶體1006、(多個)I / O組件1009、顯示器1012和計算裝置1000的任何其他組件之間的指令和資料通訊。匯流排1015可以包含位址轉換器、位址解碼器、結構、導電跡線、導線、端口、插頭、插座和其他連接器,以讓資料和指令通訊。
記憶體1006內的指令可以由各種實現至少一部分的軟體堆疊的方式實現。例如,這些指令可以體現為操作系統1031的一部分、(多個)應用程式1034、裝置驅動器(例如顯示驅動器1037)、韌體(例如顯示韌體1040)或其他軟體組件。操作系統1031是支援計算裝置1000的基本功能的軟體平台,諸如排程任務、控制I / O組件1009、提供硬體資源的存取、管理電源以及支持應用程式1034。
(多個)應用程式1034可以經由操作系統1031在操作系統1031上執行,並且存取計算裝置1000的硬體資源。在此態樣,(多個)應用程式1034的執行至少一部分由操作系統1031控制。(多個)應用程式1034可以是向使用者提供高級功能、服務和其他功能的使用者級軟體程式。在一些實施例中,應用程式1034可以是專用的「app」,使用者可以在計算裝置1000下載或者以其他方式存取。使用者可以經由操作系統1031提供的使用者介面以啟動(多個)應用程式1034。(多個)應用程式1034可以由開發人員開發並定義為各種原始碼格式。可以使用各種程式語言或手稿語言以開發應用程式1034,例如C、C ++、C#、Objective C,Java®、Swift、JavaScript®、Perl、PHP、VisualBasic®、Python®、Ruby、Go或其他程式語言。(多個)應用程式1034可以由編譯器編譯成目標碼,或者可以由解譯器解譯以由(多個)處理器1003執行。本發明所討論的各種實施例可以實施為應用程式1034的至少一部分。
諸如顯示驅動器1037的裝置驅動器包含指令,其讓操作系統1031與各種I / O組件1009通訊。每個I / O組件1009可以具有自身的裝置驅動器。可以安裝裝置驅動器,以使其儲存在儲存器中並加載到系統記憶體中。例如,安裝後,顯示驅動器1037將從操作系統1031接收的高階顯示指令轉換成由顯示器1012實施的較低階指令以顯示影像。
韌體,例如顯示韌體1040,可以包含允許I / O組件1009或顯示器1012執行低階操作的機器碼或組合語言碼。韌體可以將特定組件的電訊號轉換成更高階的指令或資料。例如,顯示韌體1040可以藉由調整電壓或電流訊號以控制顯示器1012如何啟動低位準電壓的各別的像素。韌體可以儲存在非揮發性記憶體中,並且可以直接從非揮發性記憶體執行。例如,顯示韌體1040可以體現在耦接到顯示器1012的ROM晶片中,從而使ROM晶片與計算裝置1000的其他儲存器和系統記憶體分開。顯示器1012可以包含用於執行顯示韌體1040的處理電路。
操作系統1031、(多個)應用程式1034、驅動器(例如顯示驅動器1037)、韌體(例如顯示韌體1040)以及其他可能的指令集,可以各自包括(多個)處理器1003可執行的指令、或者計算裝置1000的其他處理電路,以執行上述功能和操作。儘管本發明所述的指令可以實現為由上述(多個)處理器1003執行的軟體或代碼,但作為替代,指令也可以實現為在專用硬體或軟體和專用硬體的組合中。例如,上文所述的指令執行的功能和操作可以實施為電路或狀態機,其採用多種技術中的任一種或其組合。這些技術可以包含但不限於:分立邏輯電路,其具有用於在應用一個或多個資料訊號時實施各種邏輯功能的邏輯閘;具有適當邏輯閘的特殊應用積體電路(ASIC);現場可程式邏輯閘陣列(FPGA);或者其他組件等。
在一些實施例中,實施上文所討論的功能和操作的指令可以實現在非暫時性電腦可讀取儲存媒體中。電腦可讀取儲存媒體可以是或可以不是諸如電腦系統的計算裝置1000的一部分。例如,指令可以包含可以從電腦可讀取媒體擷取並由處理電路(例如(多個)處理器1003)執行的敘述、代碼或宣告。在本發明的上下文中,「電腦可讀取媒體」可以是可以包含、儲存或維護本發明所述指令以供指令執行系統(例如計算裝置1000)使用或與其結合的任何媒體。
電腦可讀取媒體可以包括多種實體媒體其中任一種,例如磁性、光學或半導體媒體。合適的電腦可讀取儲存媒體的更具體的示例可以包含但不限於:磁帶、軟磁碟、硬磁碟、記憶卡、固態硬碟、USB隨身碟或光碟。並且,電腦可讀取媒體可以是隨機存取記憶體(RAM),例如,其包含靜態隨機存取記憶體(SRAM)和動態隨機存取記憶體(DRAM)或磁性隨機存取記憶體(MRAM)。另外,電腦可讀取媒體可以是唯讀記憶體(ROM)、可程式化唯讀記憶體(PROM)、可抹除可程式化唯讀記憶體(EPROM)、可電氣抹除可程式化唯讀記憶體(EEPROM)或其他種類的記憶體裝置。
計算裝置1000可以執行上述的任何操作或實現上述的功能。例如,上文討論的流程圖和處理流程可以由執行指令並處理資料的計算裝置1000以執行。儘管計算裝置1000顯示為單一裝置,但是實施例不限於此。在一些實施例中,計算裝置1000可以由分佈式的方式卸載指令的處理,以使複數個計算裝置1000一起操作以執行指令,指令可以由電腦組件的分佈式排列以儲存或載入。例如,至少一些指令或資料可以在與計算裝置1000結合操作的雲端式系統中儲存、加載或執行。
具體來說,非暫時性電腦可讀取儲存媒體可以儲存可執行指令,當電腦系統的處理器執行可執行指令,會執行多視像影像的產生與顯示的操作。根據各別的實施例,操作可以包括接收景象的顏色影像和景象的深度圖。操作可以進一步包括:從顏色影像和深度圖中合成景象的多視像影像的視像影像。在各別的實施例中,視像影像可以從不同視像方向表示景象,並且每個視像影像可以包含像素位置和像素位置處的各別的顏色值。此處,操作可以進一步包括:在多視像顯示器上呈現多視像影像的視像影像。
根據各別的實施例,對於視像影像中的像素位置,合成多視像影像的視像影像包括:從像素位置向景象投射射線,其方向對應於視像影像的視像方向。合成多視像影像的視像影像進一步包括:確定射線交叉位置,射線與深度圖指定的虛擬表面會在此處交叉,以及將在像素位置的視像影像的顏色值設定為對應於射線交叉位置的顏色影像的顏色。
在一些實施例中,確定射線交叉位置可以包括:確定沿著射線在像素位置和指定平面之間的連續的臨時位置,以使虛擬表面位於像素位置和指定平面之間。確定射線交叉位置可以進一步包括:識別沿著射線的多個臨時位置中的臨時位置。具體來說,識別臨時位置可以包含:重複確定識別的臨時位置位於像素位置和指定平面之間,並且將識別的臨時位置推進到沿著射線的下一個臨時位置。
根據一些實施例中,確定射線交叉位置可以進一步包括:確定虛擬表面位於像素位置和識別的臨時位置之間。此外,確定射線交叉位置可以包括:將射線交叉位置設定為對應於識別的臨時位置與相鄰的並且在先前識別的臨時位置之間的位置。
根據一些實施例中,確定射線交叉位置進一步包括:確定沿著射線的連續的第二臨時位置,其介於識別的臨時位置與相鄰的並且在先前識別的臨時位置之間,以及識別沿著射線的多個第二臨時位置中的第二臨時位置。具體來說,識別第二臨時位置可以包含:重複確定識別的第二臨時位置位於像素位置和指定平面之間,並且將識別的第二臨時位置推進到沿著射線的下一個第二臨時位置。
在部分實施例中,確定射線交叉位置可以進一步包括:確定虛擬表面位於像素位置和識別的第二臨時位置之間。此外,確定射線交叉位置可以包括:將射線交叉位置設定為對應於識別的第二臨時位置與相鄰的並且在先前識別的第二臨時位置之間的位置。
在一些實施例中,臨時位置沿著射線等距地間隔。在一些實施例中,視像影像可以界定平行於視像影像的頂邊和底邊的水平方向。本發明中,垂直方向可以在視像影像的平面中並且與水平方向正交的,並且深度與水平方向和垂直方向正交。在一些實施例中,臨時位置間隔開,以使相鄰臨時位置之間間隔的水平分量對應視像影像中的相鄰像素之間的水平間隔。
因此,本發明已描述了以下操作的示例和實施例:產生和使用多視像視訊快取,例如,用於多視像視訊彩現處理。快取可以包含至少一對對應於目標時戳的快取資料條目,並且該對快取資料條目中的第一快取資料和第二快取資料條目可以包含各別的的第一影像畫面群組和第二影像畫面群組。第一影像畫面群組可以對應於目標時戳之前的第一多視像畫面, 並且第二影像畫面群組可以對應於目標時戳之後的第二多視像畫面。可以使用來自快取中的第一影像畫面群組和第二影像畫面群組的資訊來產生對應目標時戳的特定多視像畫面的視像。應該理解的是,上述示例僅是說明本發明所述的原理的多個具體示例的其中一些示例。很明顯的,所屬技術領域中具有通常知識者可以輕易設計出多種其他配置,但這些配置不會超出本發明申請專利範圍所界定的範疇。
本申請案請求於2022年7月28日提交的第 PCT/US2020/038731號國際專利申請的優先權,該申請案請求於2021年8月3日提交的第63/229,054號美國臨時申請案的優先權,本發明引用上述每篇全文且併入本發明。
10:多視像顯示器
12:螢幕
14:視像
16:視像方向
20:光束
100:系統
102:計算裝置
104:顏色影像
106:景象
108:深度圖
110:視像影像
110A:視像影像
110B:視像影像
110C:視像影像
110D:視像影像
112:多視像顯示器
114A:觀看方向
114B:觀看方向
114C:觀看方向
114D:觀看方向
400:電腦實施操作
402:最底部水平線
404:輸出緩衝器
406:最頂部水平線
408:步進
500:方法
502:操作
504:操作
506:操作
1000:計算裝置
1003:處理器
1006:記憶體
1009:輸入/輸出(I/O)組件
1012:顯示器
1015:匯流排
1031:操作系統
1034:應用程式
1037:顯示驅動器
1040:顯示韌體
O:原點
θ:角度分量、仰角
ϕ:角度分量、方位角
根據在本發明所述的原理的示例和實施例的各種特徵可以參考以下結合附圖的詳細描述而更容易地理解,其中相同的元件符號表示相同的結構元件,並且其中:
圖1是根據與本發明所述原理一致的一實施例,顯示示例中的多視像顯示器的立體圖。
圖2是根據與本發明所述原理一致的一實施例,顯示示例中的具有與多視像顯示器的視像方向相對應的特定主要角度方向的光束的角度分量的示意圖。
圖3是根據與本發明所述原理一致的一實施例,顯示可以執行多視像影像的產生與顯示的系統的示例的方塊圖。
圖4是根據與本發明所述原理一致的一實施例,顯示本發明討論的電腦實施操作的簡化示例的示意圖。
圖5是根據與本發明所述原理一致的一實施例,顯示執行多視像影像的產生與顯示的方法的示例的流程圖。
圖6是根據與本發明所述原理一致的一實施例,顯示可以執行多視像影像的產生與顯示的計算裝置的示例的示意方塊圖。
特定示例和實施例具有上述參考附圖所示的特徵之外的其他特徵,或者具有代替上述參考附圖中所示的特徵的其他特徵。下文將參照上述參考附圖,詳細描述這些特徵和其他特徵。
100:系統
102:計算裝置
104:顏色影像
106:景象
108:深度圖
110A:視像影像
110B:視像影像
110C:視像影像
110D:視像影像
112:多視像顯示器
114A:觀看方向
114B:觀看方向
114C:觀看方向
114D:觀看方向
Claims (20)
- 一種多視像影像的產生與顯示的電腦實施方法,該方法包括: 藉由一計算裝置接收一景象的一顏色影像和該景象的一深度圖; 藉由該計算裝置從該顏色影像和該深度圖合成該景象的一多視像影像的視像影像,該等視像影像從不同的視像方向表示該景象,每個該視像影像包含像素位置和在該等像素位置處的各別的顏色值;以及 在該計算裝置的一多視像顯示器上呈現該多視像影像的該等視像影像, 其中,對於該視像影像中的該等像素位置中的一像素位置,合成該多視像影像的該等視像影像中的一視像影像包括: 在對應該視像影像的該視像方向的一方向上從該像素位置朝向該景象投射一射線; 確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面在該射線交叉位置處交叉;以及 設定在該像素位置處的該視像影像的該等各別的顏色值中的一顏色值,以對應在該射線交叉位置處的該顏色影像的一顏色。
- 如請求項1之電腦實施方法,其中,確定該射線交叉位置包括: 確定在該像素位置與一指定平面之間沿著該射線的連續的臨時位置,以使該虛擬表面位於該像素位置與該指定平面之間; 識別沿著該射線的該等臨時位置中的一臨時位置,包括: 確定識別的該臨時位置位於該像素位置與該指定平面之間;以及 將識別的該臨時位置推進至沿著該射線的下一個臨時位置; 確定該虛擬表面位於該像素位置與識別的該臨時位置之間;以及 設定該射線交叉位置,以對應在識別的該臨時位置(包括)與相鄰的並且在先前識別的該臨時位置(包括)之間的一位置。
- 如請求項2之電腦實施方法,其中,確定該射線交叉位置進一步包括: 確定在識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間沿著該射線的連續的第二臨時位置; 識別沿著該射線的該等第二臨時位置中的一第二臨時位置,包括: 確定識別的該第二臨時位置位於該像素位置與該指定平面之間;以及 將識別的該第二臨時位置推進至沿著該射線的下一個第二臨時位置; 確定該虛擬表面位於該像素位置與識別的該第二臨時位置之間;以及 設定該射線交叉位置,以對應在識別的該第二臨時位置(包括)與相鄰的並且在先前識別的該第二臨時位置(包括)之間的一位置。
- 如請求項2之電腦實施方法,其中,該等臨時位置沿著該射線等距地間隔。
- 如請求項4之電腦實施方法,其中: 該視像影像界定平行於該視像影像的一頂邊和一底邊的一水平方向、在該視像影像的一平面中並且與該水平方向正交的一垂直方向、以及與該水平方向和該垂直方向正交的一深度,以及 該等臨時位置被間隔,以使相鄰的該等臨時位置之間的一間隔的一水平分量對應一指定值。
- 如請求項5之電腦實施方法,其中,該指定值對應該視像影像中的相鄰的像素之間的一水平間隔。
- 如請求項1之電腦實施方法,其中,對於該視像影像中的該像素位置,合成該多視像影像的該等視像影像中的該視像影像包括: 在對應該視像影像的該視像方向的該方向上從該像素位置朝向該景象投射該射線; 確定該射線不與該深度圖指定的該虛擬表面交叉; 從該多視像影像的該視像影像的至少一個時間上相鄰的視訊畫面檢索顏色資訊;以及 將在該像素位置處的該視像影像的該等各別的顏色值中的該顏色值設定為對應檢索到的該顏色資訊。
- 如請求項7之電腦實施方法,其中,確定該射線不與該深度圖指定的該虛擬表面交叉包括:確定該射線從該像素位置傳播遠離一距離,該距離超過一閾值距離。
- 如請求項7之電腦實施方法,其中,該等視像影像對應一視訊訊號的連續影像;以及該顏色資訊從該視訊訊號的該至少一個時間上相鄰的視訊畫面的該像素位置被檢索。
- 如請求項1之電腦實施方法,其中,不同的該等視像方向位於平行於該等視像影像的頂邊和底邊的一水平平面中。
- 一種配置以執行多視像影像的產生與顯示的系統,該系統包括: 一多視像顯示器; 一中央處理單元;以及 一記憶體,儲存複數個指令,該複數個指令執行時會使該中央處理單元執行操作,該等操作包括: 接收一景象的一顏色影像和該景象的一深度圖; 從該顏色影像和該深度圖合成該景象的一多視像影像的視像影像,該等視像影像從不同的視像方向表示該景象,每個該視像影像包含像素位置和在該等像素位置處的各別的顏色值;以及 在該多視像顯示器上呈現該多視像影像的該等視像影像, 其中,對於該視像影像中的該等像素位置中的一像素位置,合成該多視像影像的該等視像影像中的一視像影像包括: 在對應該視像影像的該視像方向的一方向上從該像素位置向該景象投射一射線; 確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面在該射線交叉位置處交叉;以及 設定在該像素位置處的該視像影像的該等各別的顏色值中的一顏色值,以對應在該射線交叉位置處的該顏色影像的一顏色。
- 如請求項11之系統,其中,確定該射線交叉位置包括: 確定在該像素位置與一指定平面之間沿著該射線的連續的臨時位置,以使該虛擬表面位於該像素位置與該指定平面之間; 識別沿著該射線的該等臨時位置中的一臨時位置,包括: 確定識別的該臨時位置位於該像素位置與該指定平面之間;以及 將識別的該臨時位置推進至沿著該射線的下一個該臨時位置; 確定該虛擬表面位於該像素位置與識別的該臨時位置之間;以及 設定該射線交叉位置,以對應在識別的該臨時位置(包括)與相鄰的並且在先前識別的該臨時位置(包括)之間的一位置。
- 如請求項12之系統,其中,確定該射線交叉位置進一步包括: 確定在識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間沿著該射線的連續的第二臨時位置; 識別沿著該射線的該等第二臨時位置中的一第二臨時位置,包括: 確定識別的該第二臨時位置位於該像素位置與該指定平面之間;以及 將識別的該第二臨時位置推進至沿著該射線的下一個第二臨時位置; 確定該虛擬表面位於該像素位置與識別的該第二臨時位置之間;以及 設定該射線交叉位置,以對應在識別的該第二臨時位置(包括)與相鄰的並且在先前識別的該第二臨時位置(包括)之間的一位置。
- 如請求項12之系統,其中,該等臨時位置沿著該射線等距地間隔。
- 如請求項14之系統,其中: 該視像影像界定平行於該視像影像的一頂邊和一底邊的一水平方向、在該視像影像的一平面中並且與該水平方向正交的一垂直方向、以及與該水平方向和該垂直方向正交的一深度,以及 該等臨時位置被間隔,以使相鄰的該等臨時位置之間的一間隔的一水平分量對應該視像影像中的相鄰的像素之間的一水平間隔。
- 如請求項11之系統,其中,不同的該等視像方向位於平行於該等視像影像的頂邊和底邊的一水平平面中。
- 一種儲存有可執行指令的非暫時性電腦可讀取儲存媒體,當一電腦系統的一處理器執行該等可執行指令時,執行多視像影像的產生與顯示的操作,該等操作包括: 接收一景象的一顏色影像和該景象的一深度圖; 從該顏色影像和該深度圖合成該景象的一多視像影像的視像影像,該等視像影像從不同的視像方向表示該景象,每個該視像影像包含像素位置和在該等像素位置處的各別的顏色值;以及 在一多視像顯示器上呈現該多視像影像的該等視像影像, 其中,對於該視像影像中的的該等像素位置中的一像素位置,合成該多視像影像的該等視像影像中的一視像影像包括: 在對應該視像影像的該視像方向的一方向上從該像素位置向該景象投射一射線; 確定一射線交叉位置,該射線與該深度圖指定的一虛擬表面在該射線交叉位置處交叉;以及 設定在該像素位置處的該視像影像的該等各別的顏色值中的一顏色值,以對應在該射線交叉位置處的該顏色影像的一顏色。
- 如請求項17之非暫時性電腦可讀取儲存媒體,其中,確定該射線交叉位置包括: 確定在該像素位置與一指定平面之間沿著該射線的連續的臨時位置,以使該虛擬表面位於該像素位置與該指定平面之間; 識別沿著該射線的該等臨時位置中的一臨時位置,重複地包括: 確定識別的該臨時位置位於該像素位置與該指定平面之間;以及 將識別的該臨時位置推進至沿著該射線的下一個該臨時位置; 確定該虛擬表面位於該像素位置與識別的該臨時位置之間;以及 設定該射線交叉位置,以對應識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間的一位置。
- 如請求項18之非暫時性電腦可讀取儲存媒體,其中,確定該射線交叉位置進一步包括: 確定在識別的該臨時位置與相鄰的並且在先前識別的該臨時位置之間沿著該射線的連續的第二臨時位置; 識別沿著該射線的該等第二臨時位置中的一第二臨時位置,重複地包括: 確定識別的該第二臨時位置位於該像素位置與該指定平面之間;以及 將識別的該第二臨時位置推進至沿著該射線的下一個第二臨時位置; 確定該虛擬表面位於該像素位置與識別的該第二臨時位置之間;以及 設定該射線交叉位置,以對應在識別的該第二臨時位置(包括)與相鄰的並且在先前識別的該第二臨時位置(包括)之間的一位置。
- 如請求項18之非暫時性電腦可讀取儲存媒體,其中: 該等臨時位置沿著該射線等距地間隔; 該視像影像界定平行於該視像影像的一頂邊和一底邊的一水平方向、在該視像影像的一平面中並且與該水平方向正交的一垂直方向、以及與該水平方向和該垂直方向正交的一深度,以及 該等臨時位置被間隔,以使相鄰的該等臨時位置之間的一間隔的一水平分量對應該視像影像中的相鄰的像素之間的一水平間隔。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163229054P | 2021-08-03 | 2021-08-03 | |
US63/229,054 | 2021-08-03 | ||
PCT/US2022/038731 WO2023014576A1 (en) | 2021-08-03 | 2022-07-28 | View synthesis system and method using depth map |
WOPCT/US2022/38731 | 2022-07-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202325015A TW202325015A (zh) | 2023-06-16 |
TWI852053B true TWI852053B (zh) | 2024-08-11 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748840B2 (en) | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters | |
CN107274476B (zh) | 一种阴影图的生成方法及装置 | |
KR101732836B1 (ko) | 셰이더 기반의 그래픽스 콘텐츠에 대한 뷰잉 배향에 의한 입체 변환 | |
US10217259B2 (en) | Method of and apparatus for graphics processing | |
US10708597B2 (en) | Techniques for extrapolating image frames | |
WO2012140397A2 (en) | Three-dimensional display system | |
US10230933B2 (en) | Processing three-dimensional (3D) image through selectively processing stereoscopic images | |
US20230290046A1 (en) | Multiview display system and method employing multiview image convergence plane tilt | |
KR20120119774A (ko) | 곡면 투사를 이용한 입체 영상 생성 방법, 장치 및 시스템, 이를 위한 기록 매체 | |
TWI852053B (zh) | 使用深度圖的視像合成系統和方法 | |
US20220108420A1 (en) | Method and system of efficient image rendering for near-eye light field displays | |
US20240153200A1 (en) | View synthesis system and method using depth map | |
KR101425321B1 (ko) | 적응형 렌즈 어레이를 구비하는 3차원 집적 영상 디스플레이 시스템 및 적응형 렌즈 어레이에 대한 요소 영상 생성 방법 | |
TWI823323B (zh) | 多視像影像創造系統和創造方法 | |
TWI815300B (zh) | 光場攝影機系統以及多重攝影機設備的基線和匯聚距離的設定方法 | |
WO2023235273A1 (en) | Layered view synthesis system and method | |
CN118115693A (zh) | 生成并排三维影像的方法及电脑装置 | |
CN117915057A (zh) | 图像处理方法和虚拟现实显示系统 |