TWI713358B - 加速的遮蔽計算 - Google Patents
加速的遮蔽計算 Download PDFInfo
- Publication number
- TWI713358B TWI713358B TW107144815A TW107144815A TWI713358B TW I713358 B TWI713358 B TW I713358B TW 107144815 A TW107144815 A TW 107144815A TW 107144815 A TW107144815 A TW 107144815A TW I713358 B TWI713358 B TW I713358B
- Authority
- TW
- Taiwan
- Prior art keywords
- trimming
- area
- quadrilaterals
- buffer
- trim
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本發明係關於一種利用指定遮蔽技術來減小產生一改變視點環境中之一影像所需之遮蔽計算之總量的系統。一當前視點周圍之視點位置改變可能產生與一場景影像之先前經遮蔽部分的現將自彼新視點位置現在可見之潛在曝露不同的一影像視圖。為了減小顯像一改變視點環境中之一相關影像所需的遮蔽計算之量,描述使用(例如)一或多個修整區顯像技術來減少遮蔽計算之技術。一些技術包括基於包括一初始視點位置及在視點位置中之預期改變之一觀看區而產生潛在可見集合(PVS)資訊。
Description
本發明係關於影像資訊之處理,且更特定而言,係關於待輸出以供在使用者顯示器上顯示之影像資訊之預備及處理。
用於產生影像之許多技術可得益於使用遮蔽計算來使顯像場景所需之處理最小化且以其他方式在場景經顯像至使用者同時或接近同時使將完整場景影像顯像至使用者所需之時間最小化的遮蔽剔除之技術之使用,該等技術包括在靜態場景上離線運行之彼等技術及在動態場景情況下在線運行之彼等技術兩者。已知遮蔽剔除技術停用物件或表面之顯像,該等物件或表面由於其由其他物件或表面遮擋(遮蔽)對視點而言不可見。對於離線技術,此通常在場景經顯像至使用者同時或接近同時之時間之前完成。藉由避免顯像經遮蔽物件,以其他方式與此類遮蔽計算相關聯之計算延遲最小化或者以其他方式經避免。遮蔽剔除可視為提供對離線影像產生技術及在線影像產生技術兩者之優勢。然而,由於在線技術之固有限制與其將場景顯像至使用者之實況、動態、近期特徵有關,諸如必須產生具有動態使用者位置及視點之動態影像,且其中實況顯像意謂在將影像顯像至使用者近期存在對執行相關計算之限制時間量,因此藉由將減少計算量且以其他方式促使更快速完整地將更逼真之影像顯像至在線使用者之顯示器的任何經改良遮蔽剔除技術,此類在線系統可見具有特定益處。
在線影像處理之實例之一個集合為在線虛擬實境(VR)系統之彼等實例,其中產生影像至使用者之顯示器之動態、在線顯像,其中此類影像基於動態使用者頭部動作來反映使用者之動態視角,且其中與影像相關聯之資料在用戶端與伺服器之間傳輸,且其中在使用者之用戶端顯示器處顯像最終影像近期在遠端伺服器上執行顯著數量之計算。此類在線VR系統此處經識別為一種可得益於以其他方式通常存在於此類系統中之任何減少處理的在線影像處理形式,且因此對其中可能使用之任何經改良技術之引入此處經識別為對此類系統有利。因此,例如,添加將減少影像處理計算或者以更快速及/或更穩健方式提供影像相關資料之任何新的經改良剔除技術至在線VR系統將視為向使用者提供更令人愉快之VR體驗,且藉此視為對當前在線VR系統架構之改進。
在線VR系統可包括經由網路(例如,無線網路、有線網路等)通信之至少一個主機器件及至少一個用戶端器件。舉例而言,Wi-Fi直連(WFD)系統包括經由Wi-Fi網路通信之多個器件。伺服器/主機器件充當無線存取點,且將可包括音訊視訊(AV)資料、音訊資料及/或視訊資料之影像資訊發送至一或多個用戶端器件,該一或多個用戶端器件正參與使用例如IEEE 802.11之一或多個無線通信標準的特定點對點(P2P)群組通信會話。影像資訊可在用戶端器件處回放。更具體言之,一或多個參與用戶端器件中之每一者處理自伺服器/主機器件接收之影像資訊以供在其用戶端器件顯示螢幕及音訊設備上演示。另外,伺服器/主機器件可執行影像資訊之至少一些處理以供在用戶端器件上演示。
主機器件及該等用戶端器件中之一或多者可為具有無線通信能力之無線器件或有線器件。在一個實例中,作為有線器件,主機器件及用戶端器件中之一或多者可包含電視、監視器、投影儀、機上盒、DVD或藍光光碟播放器、數位視訊錄製機、膝上型電腦或桌上型個人電腦、視訊遊戲控制台、VR耳機以及包括無線通信能力之類似者。在另一實例中,作為無線器件,主器件及用戶端器件中之一或多者可包含移動電話、具有無線通信卡之便攜式電腦、個人數位助理(PDA)、便攜式媒體播放器、或具有無線通信能力之其他快閃記憶體器件,包括所謂的「智慧」電話及「智慧」板或平板電腦、視訊遊戲控制台、VR耳機或其他類型的無線通信器件(WCD)。
在一些實例中,用戶端器件中之至少一者可包含可穿戴顯示器件。可穿戴顯示器件可包含穿戴在使用者身上之任何類型之有線或無線顯示器件。作為一實例,可穿戴顯示器件可包含穿戴在使用者頭部上以便定位使用者眼睛面前之一或多個顯示器螢幕的無線頭部穿戴式顯示器或無線頭戴式顯示器(wireless head-mounted display;WHMD)。主器件通常負責執行影像資訊之至少一些處理以在可穿戴顯示器件上顯示。可穿戴顯示器件通常負責預備影像資訊以在可穿戴顯示器件處顯示。
大體而言,本發明係關於藉由減少在改變視點環境中產生影像所需之遮蔽計算之總量來促進遮蔽計算的遮蔽技術之利用。此類技術視為可能對離線及在線系統兩者有益,尤其對於在線系統。在概念上,當前視點周圍的位置中的任何潛在改變可產生與場景影像之先前經遮蔽部分之現將自彼新視點位置現在可見之潛在曝露不同的影像視圖。此類先前經遮蔽物件及/或表面可為(例如)鄰近於當前可見物件上之輪廓邊緣定位之當前背向表面之彼等表面以及當前由當前可見物件遮蔽之任何物件及/或表面之彼等物件及/或表面兩者。為了藉由減少顯像改變視點環境中之相關影像所需之遮蔽計算之量來促進遮蔽計算,本發明描述使用(例如)一或多種修整區顯像技術之經減少遮蔽計算之經改良技術。
根據至少一個實例,本發明描述加速遮蔽計算之方法。此方法包含基於視點資訊來判定物件之輪廓邊緣。方法進一步包含基於觀看區資訊來產生修整緩衝區,包括產生由輪廓邊緣界定之修整區。方法進一步包含產生經去遮蔽場景緩衝區(DSB),包括判定三角形是否在該修整區內,及回應於判定該三角形在該修整區內而將該三角形儲存為潛在可見集合(PVS)影像資訊。
在另一實例中,提供用於加速遮蔽計算之裝置,該裝置包括:記憶體,其經組態以儲存潛在可見集合(PVS)影像資訊;及處理器。處理器經組態以基於視點資訊來判定物件之輪廓邊緣。處理器進一步經組態以基於觀看區資訊來產生修整緩衝區,包括產生由輪廓邊緣界定之修整區。處理器進一步經組態以產生經去遮蔽場景緩衝區(DSB),包括(1)判定三角形是否在該修整區內,及回應於判定該三角形在該修整區內,(2)將該三角形儲存為潛在可見集合(PVS)影像資訊。
在另一實例中,提供用於加速遮蔽計算之裝置。該裝置包括用於基於視點資訊來判定物件之輪廓邊緣的構件。裝置進一步包括用於基於觀看區資訊來產生修整緩衝區之構件,包括用於產生由輪廓邊緣界定之修整區的構件。裝置進一步包括用於產生經去遮蔽場景緩衝區(DSB)之構件,包括以下兩者:用於判定三角形是否在修整區內之構件,及回應於判定該三角形在該修整區內,用於將該三角形儲存為潛在可見集合(PVS)影像資訊之構件。
在另一實例中,一種其上儲存有指令之非暫時性電腦可讀媒體,該等在由一或多個處理器執行時使得該一或多個處理器進行以下操作:基於視點資訊來判定物件之輪廓邊緣;基於觀看區資訊來產生修整緩衝區,包括產生由輪廓邊緣界定之修整區;及產生經去遮蔽場景緩衝區(DSB),包括判定三角形是否在修整區內,及回應於判定該三角形在該修整區內,將三角形儲存為潛在可見集合(PVS)影像資訊。
在一些態樣中,基於觀看區資訊產生修整緩衝區進一步包括將修整區深度光柵化至修整緩衝區中,且將片段儲存在每像素鏈接清單中。
在一些態樣中,產生DSB進一步包括將複數個三角形之整個場景光柵化至G緩衝區中。
在一些態樣中,產生DSB進一步包括將修整區內部之背向三角形儲存為PVS資訊。在一些態樣中,進一步包含收穫DSB。
在一些態樣中,其中修整區對應於觀看區,且該觀看區具有對應於對視角資訊之較小位置調整之寬度。
在一些態樣中,其中幾何著色器執行基於視點資訊來判定輪廓邊緣且產生由輪廓邊緣界定之修整區的步驟。
在一些態樣中,進一步包括自用戶端器件接收視點資訊,及將PVS影像資訊發送至用戶端器件。
在一些態樣中,其中觀看區資訊係基於虛擬實境系統之使用者之頭部在顯像延遲期間的移動,其中該顯像延遲包括以下中之至少一者:視角資訊自用戶端至伺服器之傳輸,及PVS影像資訊自伺服器至用戶端之傳輸。
在一些態樣中,進一步包含產生具有小於最大閾值之四邊形深度之複數個修整區四邊形,及基於四邊形深度及四邊形螢幕空間影像塊位置來將複數個修整區四邊形分選至複數個桶中。
在一些方面中,其中基於四邊形深度及四邊形螢幕空間影像塊位置將複數個修整區四邊形分選至複數個桶中進一步包括:將修整區四邊形分選至螢幕空間影像塊中,藉由每一螢幕空間影像塊內部之四邊形深度來分選修整四邊形,及將修整區四邊形分隔至複數個桶中,其中複數個桶中之每個桶含有最大數目的修整區四邊形。在此類態樣中之一些中,進一步包括:產生修整緩衝區,及產生經去遮蔽場景緩衝區(DSB)。在此類態樣中之一些中,進一步包括:將修整區四邊形串流式輸出至GPU全局記憶體中。在此類態樣中之一些中,進一步包括將修整區四邊形光柵化至靜態每桶分選清單中。在此類態樣中之一些中,進一步包括收穫DSB。
在一些態樣中,進一步包含針對複數個場景物件之單獨場景物件反覆地執行以下步驟:產生單獨場景物件之修整區四邊形,將單獨場景物件之修整區四邊形分選至桶中,利用單獨場景物件之修整區來更新修整緩衝區,及更新用於單獨場景物件之DSB。在此類態樣中,替代地進一步包含在針對複數個場景物件之單獨場景物件反覆地執行後收穫G緩衝區。
在一些態樣中,其中將單獨場景物件之修整區四邊形分選至桶中進一步包含:將修整區四邊形分選至螢幕空間影像塊中,藉由每一螢幕空間影像塊內部之四邊形深度來分選修整四邊形,及將修整區四邊形分隔至複數個桶中,其中複數個桶中之每個桶含有最大數目的修整區四邊形。
在一些態樣中,其中利用單獨場景物件之修整區來更新修整緩衝區進一步包含:剔除在DSB中經遮蔽之修整區片段,及將其餘修整區片段插入至修整緩衝區中。
在一些態樣中,其中更新用於單獨場景物件之DSB進一步包含:剔除含於修整緩衝區中之物件片段,及將其餘物件片段插入至DSB中。
此發明內容並不意欲識別所主張標的物之關鍵或基本特徵,亦不意欲單獨使用以判定所主張標的物之範疇。應參考此專利之整個說明書之適當部分、任何或所有圖式及每一請求項來理解標的物。
在參考以下說明書、申請專利範圍及隨附圖式時,前述內容連同其他特徵及實施例將變得更顯而易見。
根據
35 U.S.C. §119
之
優先權主張
本專利申請案主張在2018年1月10日申請之題為「ACCELERATED OCCLUSION COMPUTATION」之美國非臨時申請案第15/867,401號的優先權,且該申請案讓與其受讓人且在此明確地以引用之方式併入本文中。
下文提供本發明之某些態樣及實施例。此等態樣及實施例中之一些可獨立地應用且其中之一些可以將對熟習此項技術者顯而易見之組合來應用。在以下描述中,出於解釋之目的,闡述特定細節以提供對本發明之實施例之透徹理解。然而,將顯而易見的是,可在無此等特定細節之情況下實踐各種實施例。圖式及描述不意欲為限定性的。
隨後之描述僅提供例示性實施例且並不意欲限制本發明之範疇、可應用性或組態。確切而言,例示性實施例之隨後描述將為熟習此項技術者提供能夠實施例示性實施例的描述。應理解,在不脫離如所附權利要求書中所列之本發明之精神及範疇的情況下,可對元件之功能及組態做出各種改變,該等元件包括著色器之元件。
在以下描述中給定具體細節從而提供對實施例之透徹理解。然而,一般熟習此項技術者將理解,實施例可在無此等具體細節的情況下實踐。舉例而言,電路、系統、網路、過程及其他組件可以方塊圖形式展示為組件以免以不必要的細節混淆實施例。在其他情況下,已在無不必要之細節的情況下展示熟知電路、過程、演算法、結構及技術以便避免混淆實施例。
另外,應注意,單獨實施例可描述為被描繪為流程圖、流圖、資料流圖、結構圖或方塊圖之過程。儘管流程圖可將操作描述為依序過程,但許多操作可並行地或同時執行。另外,操作之次序可以重新配置。過程在其操作完成時終止,但可具有不包括於圖中之額外步驟。過程可對應於方法、函式、程序、次常式、次程式等。當過程對應於函式時,其終止可對應於函式返回至調用函式或主函式。
*串流式虛擬實境*
圖1展示用於虛擬實境(VR)系統之用戶端-伺服器系統架構100。更具體言之,圖1展示伺服器101、一或多個用戶端VR耳機102及以通信方式與伺服器101及用戶端102耦合之通信媒體103 (此處展示為wifi)。當在其架構及處理功能中存在低潛時時,此類系統表現最佳,例如具有最佳用戶體驗水準。
伺服器器件101稱為「伺服器」或「主體」,意為伺服器器件101經由通信媒體103將中間圖形資料提供至VR用戶端耳機器件102。通信媒體103可對應於實體通信媒體,諸如通用串列匯流排(USB)電纜、高清多媒體接口(HDMI)電纜或顯示埠電纜;或無線通信媒體,諸如根據IEEE 802.11之藍牙或WiFi。伺服器器件101可對應於(例如)視訊遊戲控制台、個人電腦、智能電話或執行視訊遊戲或其他三維(3D)圖形程式之平板計算器件。通信媒體103亦可理想地傳送已利用一或多種類型之不同壓縮技術修改之中間圖形資料。較佳地,任一所用壓縮技術為一種計算上或資料傳輸不昂貴之壓縮技術,其可能不利地影響整個系統之潛時。
VR用戶端耳機器件102表示用於將與虛擬位置相關聯之虛擬位置影像呈現至VR用戶端耳機器件102之穿戴者/用戶的VR耳機之實例。用戶端虛擬耳機102可為立體耳機。與使用者之虛擬位置相關聯之虛擬位置影像可隨著用戶之實際身體移動而動態地改變。用戶端耳機器件102可將指示使用者之當前視點位置、視點角度等之用戶視點資訊發送至伺服器,且伺服器可使用其GPU功能來產生中間圖形資料,包括(例如)潛在可見集合(PVS)影像資訊,且用戶端接收中間圖形資料並使用其GPU功能來將影像顯像在VR用戶端耳機器件102上。相較於伺服器之GPU,體現於VR用戶端耳機器件102中之GPU僅需要具有適當能力。用戶端虛擬耳機102可使用其GPU功能來基於用戶端虛擬耳機之最近跟蹤使中間圖形資料時間扭曲,從而補償與用戶端-伺服器系統架構100之總體功能之全部潛時或一部分潛時相關的潛時(預測或量測)。
*用戶端-伺服器架構VR系統*
圖2展示用於包括時間扭曲功能之虛擬實境(VR)系統的所揭示用戶端-伺服器系統架構之實例。系統展示伺服器/主體201、用戶端202、網路層203、VR耳機顯示器204及使用者205。亦展示以通信方式與伺服器201耦合之幾何預處理206。大體而言,用於本文中論述之系統架構之輸入模型由三角形(3邊多邊形)組成。如本文所論述,四邊形(四邊形多邊形)為4邊多邊形。本文中藉由GPU執行之功能之一個實例為將每一多邊形轉換成片段(螢幕顯示器上之一個每像素位置)之功能。
如在用戶端202上執行之時間扭曲為一種在VR系統中在此用來使由主體201發送之影像資訊(中間圖形資料)時間扭曲之技術,其中影像資訊至少部分地基於在時間Tα
處與用戶頭部之位置相關聯的第一視點資訊,且其中影像資訊亦至少部分地基於在時間Tα+Δ
處與用戶頭部之後續位置相關聯的第二視點資訊,且其中影像資訊至少部分地包括在伺服器201處產生之在線潛在可見集合(PVS)影像資訊,其中經時間扭曲之影像資訊隨後經發送至顯示器以將使用者205之頭部移動自Tα
處之第一視點校正(或補償)至Tα+Δ
處之第二視點從而反映基於第二視點資訊之更精確顯示器影像視角。
大體而言,Tα
與Tα+Δ
之間的時間段持續時間此處亦描述為在線用戶端-伺服器系統延遲資訊,其中至少包括(例如)將用戶第一視點資訊自用戶端202傳輸至主體201之時間,及在主體201處處理觀點資訊之時間,及傳輸在線潛在可見集合(PVS)影像資訊之時間,及/或更一般而言,將中間圖形資料傳輸至用戶端201之時間。此類時間段亦可包括除了上文所提及之彼等時間之外的其他持續時間,諸如其他過程或功能,其在用戶端、伺服器或網路處執行,且在時間上以其他方式出現在當出於目的或自其顯像影像而記錄使用者位置時之時間與當使用者實際上看到顯像之影像時的時間之間,且其中使用者之相應位置在Tα
與Tα+Δ
之間已由於用戶移動而改變。
伺服器/主體201內展示可見性遍次功能207、紋素著色功能208、紋理編碼功能209、網格編碼功能210、位姿接收器功能211、在線潛在可見集合(PVS)影像資訊之第一複本212、在線PVS影像資訊之第二複本213以及紋素著色輸出214 (例如紋理圖譜(atlas)資訊)。
在用戶端202內展示紋理解碼功能215、網格解碼功能216、位姿發送器功能217、使用者輸入功能218、顯像功能219、扭曲功能220、(解碼後)紋理解碼輸出221 (例如,紋理圖譜資訊)、(經網格解碼)在線PVS影像資訊222、包括使用者移動及位置資訊之使用者輸入資訊223、使用者輸入資料之第一複本224、使用者輸入資料複本之第二複本225、顯像資訊226以及經扭曲影像資訊輸出230。
網路層203展示在紋理編碼功能209與紋理解碼功能215之間傳達的紋理編碼輸出(MPEG I-訊框) 227資料、在網格編碼功能210與網格解碼功能216之間傳達的經網格編碼(網格更新)之在線PVS影像資訊228及在位姿發送器功能217與位姿接收器功能211之間傳達的位姿更新229資料。總之,MPEG I-訊框227、經網格編碼(網格更新)之在線PVS影像資訊228為由伺服器/主器件201提供的經3D顯像場景資料或中間圖形資料之實例。位姿更新229為由用戶端202提供之位姿更新229之實例,例如使用者視點資訊。
*潛在可見集合(PVS)技術*
如本文所揭示,新的潛在可見集合(PVS)技術在伺服器/主體處產生,可用於顯像三維(3D)環境之操作,諸如VR,以在時間上促進用戶端處之顯像且以其他方式提供對使用者而言較接近現實世界之體驗。PVS技術表示一種遮蔽剔除形式,其中潛在可見三角形集合(潛在可見集合)藉由(例如)伺服器/主體處之幾何著色器在線地進行預先計算。PVS技術用於將在單個視點視角上以其他方式執行之較為標準圖形緩衝區(G緩衝區)顯像修改為較穩健之觀看區方法,該觀看區方法考量(例如)對初始單個視點位置(觀看區)之相對較小位置調節,且提供在初始單個視點位置相對較近及周圍延伸之顯像資料,且表示(例如)基於在特定時間段內使用者頭部可移動之最大距離的使用者頭部之潛在視點限制集合。舉例而言,彼特定時間段可為以上描述之在線用戶端伺服器系統延遲。觀看區可表示遠離最初視點位置之與相對較小位置調節相關聯之所有潛在視點位置。
此類技術可適用,例如,其中伺服器/主器件根據在第一時間α處給出之使用者之第一頭部位置(第一視點)提供經3D顯像場景資料,且其中稍後在第二時間α+Δ處使經3D顯像場景資料(在線PVS影像資訊)可用於在用戶端器件處進行處理,且其中在該第二時間處,使用者之頭部位置可能已經轉移至相對不同之附近位置(第二視點)。在此,使用者之第一視點已知,但第二視點未知,且因此,技術所揭示之樣本將包括判定特定持續時間內之最大頭部移動且操作以提供用於對應於使用者之潛在視點位置限制集合之觀看區之顯像資料。為了判定任何特定持續時間內之最大頭部移動,主體/伺服器201可使用(例如)最大頭部移動速度資訊。此最大頭部移動速度資訊可為預定頭部移動速度,或可為動態的,且可在伺服器/主體201、網路層203及/或用戶端202處經提供或計算。
利用此類PVS技術,在線PVS影像資訊可在(例如)伺服器/主器件上之幾何著色器中在線、動態地產生,且接著發送至用戶端。在此類所描述情形中,使用所揭示之PVS技術,使用者之視覺影像可不根據與第一視點時間α處之使用者之頭部位置相關聯的初始第一視點視角來顯示,但替代地可根據第二視點時間α+Δ處之使用者之第二經改變頭部位置(第二視點)來顯示。
此類所揭示之PVS技術為使用者提供明顯更佳之觀看體驗及在處理資料及/或相關資料通信速率上之相對較低成本。第一視點可儲存為第一視點資訊,且第一視點資訊可含有其他有用的相關資料。第二視點可儲存為第二視點資訊,且第二視點資訊可含有其他有用的相關資料。第一視點時間在時間上小於第二視點時間。第一視點時間在時間上小於將指示第一視點之資訊發送至主器件之時間(在將指示第一視點之資訊發送至主器件之時間前)。第二視點時間在時間上大於自主器件接收到之在線PVS影像資訊之時間(在自主器件接收到在線PVS影像資訊之時間後)。
*PVS + G緩衝區*
PVS功能與標準G緩衝區功能結合使用之組合可描述為(例如)出現在具有G緩衝區功能之可見性遍次207 (參見圖2)功能中。標準G緩衝區功能之實例包括在圖形處理單元(GPU)上判定可見三角形,其中在第一遍次上,G緩衝區呈現為由深度+id組成,且在第二遍次上,減少id-緩衝區至id-清單之資訊。判定可見三角形之此實例產生當前可見三角形之與初始單個視點相關聯之精確可見集合(EVS)。接著,本文所揭示之PVS技術之實例包括界定當前/初始/第一視點周圍及相對較近之觀看區。將經判定自觀看區內之任何位置可見之三角形添加/儲存至PVS (PVS影像資訊)。在完成後,隨後將在伺服器/主體處產生之PVS影像資訊發送至用戶端。除了G緩衝區功能之使用之外,PVS功能在用戶端處之使用允許此類用戶端顯像資料且將該資料發送至其相關顯示器,該PVS功能之使用考量了潛在使用者頭部移動及相關視點位置改變及視點之相應改變,且該等改變預期落在預定觀看區內之某處。
由於PVS影像資訊之使用已傳統地限制於用於靜態場景之離線計算,因此本文所揭示之最新提出之穩健在線PVS技術不僅提供用於此類離線計算之優勢,而且提供在在線計算領域中特別適用之優勢,諸如3D影像顯像中所見之彼等在線計算,且更尤其對於此類在線VR系統。與3D在線VR系統及使用者顯示器/耳機上之相關顯像相關聯的不斷增長之計算及資料通信需求被視為顯著得益於引入促進遮蔽計算之最新所揭示之在線PVS技術。
*PVS之離線計算*
來自觀看區之PVS之傳統離線計算之實例可見於(Peter Wonka,Michael Wimmer及Dieter Schmalstieg,Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs,第11次歐洲圖形研討會關於顯像之會議記錄(EGRWS'00),第71-82頁,斯洛伐克,布爾諾,2000年6月)中。其中描述視點位置之放大及遮蔽物件之縮小兩者之實例。放大視點展示的想法為初始視點周圍之放大將另外曝露物件之當前不可見之部分,但在初始單個視點之位置上有輕微改變,諸如在放大觀看區內之彼等改變,物件之此類隱藏部分可隨後在視圖中出現。更具體言之,實例包括遮蔽區縮小,其包括將視點放大至觀看區且估計任何去遮蔽效應。如圖3中所展示,利用最初經遮蔽物件304,視點301經擴展以包括經擴展視圖單元302內之其他視點。圖3亦展示遮蔽物件之縮小,其中對於觀看區302內之視點,過程縮小所有遮蔽區(例如,303)且對觀看區302內之視點301單獨地取樣且根據分離樣本視點計算中之每一者來計算所有PVS影像資訊之並集。
*利用修整區顯像之在線PVS*
本文所揭示的為在線PVS技術,其利用(例如)幾何著色器與3D環境中之圖形處理結合來實現多個益處。舉例而言,本文所揭示之在線PVS技術利用修整區顯像(TRR)功能來提供預測在不久的將來什麼可對使用者潛在可見及在各種3D應用中哪些可有利地經利用(諸如VR系統中之時間扭曲)之新方式,從而基於使用者實際觀看視點在使用者觀看此類影像之實際時間處得到較新之呈現影像以供向使用者演示。總體代表性在線PVS技術可包括(I)經由(例如)幾何著色器找到可見物件之輪廓邊緣,(II)使用修整區顯像來執行PVS估計技術,及(III)使用大的輪廓來執行PVS估計技術。此外,下文揭示以上剛提及之(II)使用修整區顯像之PVS估計的多個不同版本(II.A、II.B及II.C (參見下文))。
圖4通常展示使用在線PVS以及修整區顯像之技術之高位準表示。更具體言之,圖4展示物件401及朝向可見物件401之視點/視點402。亦展示與視點/視點402相關聯之輪廓邊緣403。亦展示前向輪廓三角形404及背向輪廓三角形405。
應注意,在此,可鄰近於背向輪廓三角形405之其他背向三角形不在此特別展示,但存在,可鄰近於此等背向三角形中之任一者或鄰近於其他相鄰背向三角形且可以其他方式定位於修整區內且可用於計算大的(背向)輪廓之其他背向三角形亦如此,如下文更詳細地論述。
在此,前向輪廓三角形404在視圖/視點402之視圖內,而背向輪廓三角形405在視圖/視點402之視圖外部。根據在線PVS技術觀點,例如,吾人提出在主體/伺服器處在線地計算諸如背向輪廓三角形405之背向輪廓三角形以及落入與觀看區相關聯之所需限制區域修整區內之其他背向三角形將為有利的,以便利用時間扭曲功能來具有可用於用戶端器件之此類資料以支持視點402位置之相對輕微改變。
* I.發現輪廓邊緣*
首先,執行找到可見物件401之輪廓邊緣403之過程。在此,與找到輪廓邊緣403結合,操作以儲存鄰近於輪廓邊緣403之三角形清單,其中此類三角形清單包括具有相鄰頂點之邊緣。相鄰三角形在輪廓邊緣403上,該等三角形中之一者為前向的且另一者為背向的。使用鄰近三角形清單之實例可見於Microsoft DirectX 10。此類功能利用(例如)幾何著色器來執行。在判定輪廓邊緣後,執行在線PVS估計,從而產生稍後待發送至用戶端之在線PVS影像資訊。
* II.使用修整區顯像(TRR)之PVS估計*
對於使用修整區顯像之PVS估計,目的為藉由可見性啟發式增大來預計去遮蔽。PVS估計啟發法1藉由切割修整區內部接近前向輪廓三角形之所有三角形來操作。接著,過程進行操作以將經修整三角形包括在PVS (PVS影像資訊)中。最後,過程進行操作以自G緩衝區排除經修整三角形以迫使隱藏層之去遮蔽。在下文,揭示使用修整區顯像之PVS估計之多個不同實例(II.A. TRR v1 - 輪-廓邊緣周圍之修整區,II.B. TRR v2 -修整區之精細分選之過程,及II.C. TRR v3 - 經遮蔽體積之反覆建構)。
** II.A. TRR v1 - 輪廓邊緣周圍之修整區**
圖5展示可見物件501之以上視圖且展示檢視方向502。亦展示寬度「A」504之輪廓周圍且由輪廓邊緣E 505界定之修整區503。亦展示且在d(A)處與可見物件501修整區寬度「A」504相關聯的為第二最初經遮蔽寬度d(A)+Δ 506。TRR v1實例包括三個遍次:遍次1 (產生修整緩衝區),遍次2 (產生經去遮蔽場景緩衝區(DSB)),及遍次3 (將id-緩衝區之DSB減少收穫至id-清單)。
***遍次1***
在TRR v1遍次1中,修整緩衝區經形成且包括判定由輪廓邊緣E 505界定之修整區503,其中輪廓邊緣E 505為前向三角形與背向三角形之間的邊緣。舉例而言,幾何著色器隨後根據輪廓邊緣E 505判定修整區四邊形A 504。修整區四邊形A之深度隨後藉由片段著色器光柵化(例如)至修整緩衝區中。所得片段藉由片段著色器儲存在每像素鏈接清單中,其中該清單藉由深度分選且該清單在一個節點中儲存K個深度條目,隨後鏈接至下一節點。圖6展示具有螢幕緩衝區602及節點603至603n之每像素鏈接清單601。
***遍次2***
在TRR v1遍次2中,判定經去遮蔽場景緩衝區,且其中過程包括將整個場景光柵化至G緩衝區(深度+id)中。幾何著色器測試頂點以用於容納在修整區[d(A),d(A)+Δ]中。舉例而言,若至少一個頂點在任一修整區內部,則過程並不使三角形光柵化,但使用幾何著色器將其添加至在線PVS影像資訊。過程隨後使用片段著色器來使整個場景光柵化(深度+id),例如,從而使得id-緩衝區含有其餘在線PVS影像資訊。
***遍次3***
在TRR v1遍次3中,將id-緩衝區之DSB減少收穫至id-清單。圖7a展示建築物之城市場景。
** II. B. TRR v2 - 修整區之精細分選之過程**
圖7b展示對應於圖7a中之建築物之城市場景的相應彩色譯碼鏈接清單深度圖。圖7b在此以灰度展示,其中較輕灰色區域對應於沿相關觀看線重疊之較多物件(亦即,過度繪製)。最大清單深度可看出朝向該彩色譯碼鏈接清單深度圖之中間及頂部。此類深度圖可用於修整區顯像中。舉例而言,修整區顯像版本2實例包括修整區技術之粗糙至精細分選,其藉由完整每片段深度避免相對昂貴分選。在此,修整區四邊形藉由最小深度分選至如圖8中所展示之視圖對準網格801中。如此處所使用,修整區四邊形(四邊形多邊形(4邊多邊形))為(例如)藉由幾何著色器動態地形成之特定多邊形。此類修整區四邊形僅用於修整區演算法中以產生模板(例如,呈每像素鏈接清單形式)以指示與修整區緩衝區相抵之三角形片段之深度測試在何處執行。視圖對準網格801由用於不同視圖之可變深度桶組成。圖8中之實例展示影像塊1 802、影像塊2 803、影像塊3 804及影像塊4 805。在此,影像塊數目計數為T=4,且桶數目計數為B=14。舉例而言,影像塊1 802含有5個桶806至810。舉例而言,實例維持一桶最大有N=100個四邊形。此處所儲存之全部四邊形為Q=1081,其中B = floor(Q/N)+T。
所展示之修整區顯像版本2實例包括5個遍次:遍次1 (產生修整區四邊形),遍次2 (分選修整區四邊形),遍次3 (產生修整緩衝區),遍次4 (產生DSB),及遍次5 (收穫DSB)。
***遍次1***
在TRR v2遍次1中,修整區四邊形經形成且包括產生修整區四邊形,捨棄相對過遠之彼等者(亦即,若視差<閾值),且接著將修整區四邊形串流式輸出至例如GPU全局記憶體。過遠之彼等者可稱為超過最大修整區四邊形距離。
***遍次2***
在TRR v2遍次2中,修整區四邊形經分選且包括藉由最小寬度分選修整區四邊形。第一層級分選去至修整區四邊形螢幕空間影像塊中。接著,第二層級分選藉由每一螢幕空間影像塊中之修整區四邊形深度進行。最後,將每一影像塊分割成桶,每個桶具有桶寬度及桶深度,且每個桶具有固定最大數目的修整區四邊形,其中一些含有最大值,而一些桶可包括較少。包括較少之彼等桶可為(例如)最後一個計算的桶,其另外含有小於最大數目的修整區四邊形但大於0。總體結果為3D細分至可變數目的桶中,大部分具有相同量之資料。
***遍次3***
在TRR v2遍次3中,修整緩衝區經產生且包括修整區四邊形在K個顯像遍次中之遍歷,其中在每一遍次中,每一線程自其網格單元/桶取得第K個修整區四邊形。隨後,將修整區四邊形光柵化至靜態每網格單元/桶分選清單中。若遍次2分選有效,則預期大多數清單插入將為便宜的清單附加操作。隨後過程包括若片段已在現有修整區[d(A),d(A)+Δ]內部,則將其捨棄。
***遍次4***
在TRR v2遍次4中,產生DSB。
***遍次5***
在TRR遍次5中,收穫DSB。
** II.C. TRR v3 - 經遮蔽體積之反覆建構**
在論述修整區顯像版本3前,吾人首先在此提供對遮蔽融合之一般論述。已知習知PVS產生使用遮蔽融合。圖9為描述遮蔽融合之態樣之有用視覺輔助。圖9展示觀看區901、視點/視點902至906、遮蔽區907及908以及經遮蔽區域X1 909、X2 910及X3 911。區域X3 911對於該視圖單元中之每一視點而言全部經遮蔽。因此,吾人不能將X3 911計算為X1 909及X2 910之並集,且需要特定反覆方法來建構經遮蔽體積。
反覆方法通常包括使用兩種空間數據結構,該等空間數據結構包括:第一種,其用於經描述為吾人想要顯像之場景中之物件的場景物件,其中各自具有許多三角形;及第二種,其用於經描述為吾人已知之經遮蔽空間(到目前為止)之空間部分的經遮蔽體積。反覆方法亦包括在場景物件上進行反覆,其中吾人針對經遮蔽體積來測試每一物件。若物件完全經遮蔽,則跳過該物件。若不完全經遮蔽,則物件經顯像且合併至經遮蔽體積中。反覆方法包括對於視點,吾人可使用G緩衝區(深度+id)作為經遮蔽體積。此可使用GPU可見性查詢(參見Mattausch,O.,Bittner,J.及Wimmer,M. (2008),CHC++: Coherent Hierarchical Culling Revisited,電腦圖形論壇,27: 221-230,doi:10.1111/j.1467-8659. 2008.01119.x)或使用第二較低分辨率深度緩衝區(參見Zhang,Manocha,Hudson,Hoff,Visibility culling using hierarchical occlusion maps,SIGGRAPH '97,77-88)來完成,維持在片段著色器中(或若可用,則使用來自GPU之早期-z剔除資訊)。
修整區顯像版本3 (經遮蔽體積之反覆建構)包括的想法為經遮蔽去遮蔽區不相關。此處所揭示之此新想法來自上文所論述之遮蔽區融合。此處所揭示之思想為若藉由經修整場景物件而具有部分遮蔽,則系統可操作以剔除去遮蔽區。在此,系統可使場景物件顯像及修整區顯像交錯。為達到此,系統可再次使用來自TRR v2之三種空間數據結構,即(1)場景物件、(2)修整緩衝區及(3) DSB。但,其中TRR v2具有用於修整緩衝區及DSB之分離遍次,修整區顯像版本3在所有物件上反覆且每次進行「微型TRR v2」。修整區顯像版本3利用總共4N+1個遍次,其中N=物件數目。
***遍次1至遍次4N***
操作性地,對於{O0
. .ON-1
}中之所有Oi,修整區顯像版本3 (經遮蔽體積之反覆建構)在全部N個物件上操作,從而產生用於每一物件之4個額外遍次,且對於每一Oi
,系統如下反覆地操作。在遍次4i+1中,操作以產生Oi之修整區四邊形,其中操作以計算Oi之修整區四邊形且將其串流式輸出。在遍次4i+2中,操作以分選Oi
之修整區四邊形,其中將新修整區四邊形分選至桶中。在遍次4i+3中,操作以利用Oi之修整區來更新修整緩衝區(=經去遮蔽的-體積),其中使新修整區光柵化,剔除在DSB中經遮蔽之修整區片段,且將其餘修整區片段插入至修整緩衝區中。在遍次4i+4 (=4N)中,利用Oi更新DSB,其中使Oi光柵化,隨後剔除含於修整緩衝區中之物件片段,且將其餘物件片段插入至DSB中。
***遍次4N+1***
在已針對每一N個物件完成以上4N個遍次後,隨後在一個額外遍次(遍次4N+1)中,系統另外操作以收穫G緩衝區,其中存在id-緩衝區至id-清單之減少。
*III.使用大的輪廓之PVS估計*
使用大的輪廓之PVS估計操作以將修整區內部之所有背向三角形包括在PVS (PVS影像資訊)中。在組合後,可將PVS影像資訊發送至用戶端器件。
在圖10中,展示可執行本文所揭示之技術之一或多個實例的一個例示性架構。伺服器1000包括記憶體1002、CPU 1004及GPU 1006。記憶體1002可經由鏈路1024通信地連接至CPU 1004,且經由鏈路1026連接至GPU 1006。GPU亦可經由鏈路1028通信地連接至CPU 1004。GPU 1006包括GPU管線1008及GPU記憶體1010。GPU管線1008可經由鏈路1030通信地連接至GPU記憶體1010。GPU管線1008包括幾何著色器1012及片段著色器1014。GPU記憶體1010包括G緩衝區1016及修整緩衝區/像素鏈接清單1018。G緩衝區1016包括id-緩衝區/DSB 1020及深度緩衝區1022。未具體展示,但在至少一個實例中,PVS影像資訊可對應於選擇來產生修整緩衝區之DSB及三角形兩者。
圖11展示本文所揭示之所揭示加速遮蔽計算方法之一個實例。方法1100展示為包括基於視點資訊來判定物件之輪廓邊緣之步驟1102。接著,可執行基於觀看區資訊產生修整緩衝區之步驟1104,包括產生由輪廓邊緣界定之修整區的步驟。接著,步驟1108可經執行且包括產生DSB,包括以下兩個步驟:(1)判定三角形是否在修整區內,及回應於判定三角形在修整區內,(2)將三角形儲存為PVS影像資訊。
在一些實例中,方法1100可藉由計算器件或裝置執行,諸如伺服器/主體1000,或任何其他計算器件。在一些情況下,計算器件或裝置可包括處理器、微處理器、微電腦或經組態以執行方法1100之步驟的器件之其他組件。計算器件可進一步包括經組態以傳達視訊資料之網路介面。網路介面可經組態以傳達基於網際網路協定(IP)之資料或其他網路資料。
方法1100經說明為邏輯流程圖,其操作表示可以硬體、電腦指令或其組合實施之一系列操作。在電腦指令之上下文中,操作表示儲存於一或多個電腦可讀儲存媒體上之當藉由一或多個處理器執行時執行所敍述之操作的電腦可執行指令。通常,電腦可執行指令包括執行特定功能或實施特定資料類型之常式、程式、物件、組件、資料結構以及類似者。描述操作之次序並不意欲被理解為限制,且任何數目個經描述操作可按任何次序及/或與實施程序並行地組合。
另外,方法1100可在經組態有可執行指令之一或多個電腦系統之控制下執行且可經實施為藉由硬體或其組合共同執行於一或多個處理器上之程式碼(例如,可執行指令、一或多個電腦程式或一或多個應用程式)。如上文所提及,程式碼可儲存於電腦可讀或機器可讀儲存媒體上,例如,呈包含可由一或多個處理器執行之複數個指令之電腦程式的形式。電腦可讀或機器可讀儲存媒體可為非暫時性的。
在前述描述中,參考其具體實施例描述申請案之態樣,但熟習此項技術者將認識到本發明不限於此。因此,儘管本文中已詳細描述申請案之說明性實施例,但應理解,本發明概念可以其他方式不同地體現並使用,且所附申請專利範圍意欲解釋為包括除先前技術所限制外的此等變化。上文所描述之發明之各種特徵及態樣可單獨地或聯合地使用。此外,實施例可用於超出本文中所描述之彼等環境及應用的任何數目個環境及應用,而不脫離本說明書之更廣精神及範疇。因此,本說明書及圖式被視為說明性而不是限定性。出於說明之目的,以特定次序描述方法。應瞭解,在替代實施例中,可以與所描述之次序不同之次序來執行該等方法。
在組件被描述為「經組態以」執行某些操作之情況下,可(例如)藉由設計電子電路或其他硬體以執行操作、藉由程式化可程式化電子電路(例如,微處理器或其他適合之電子電路)以執行操作或其任何組合來實現此組態。
結合本文所揭示之實施例而描述之各種說明性邏輯區塊、模組、電路及演算法步驟可經實施為電子硬體、電腦軟體、韌體或其組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以了描述。此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用以不同之方式實施所描述功能性,但不應將此等實施決策解譯為導致脫離本發明之範疇。
本文中所描述之技術亦可實施於電子硬體、電腦軟體、韌體或其任何組合中。此等技術可實施於多種裝置中之任何者中,諸如,通用電腦、無線通信器件手機或具有多種用途(包括在無線通信器件手機及其他器件中之應用)之積體電路器件。可將描述為模組或組件之任何特徵共同實施於積體邏輯器件中或分開實施為離散但可互操作之邏輯器件。若以軟體實施,則該等技術可至少部分地由包含程式碼之電腦可讀資料儲存媒體實現,該程式碼包括在經執行時執行上文所描述之方法中之一或多者的指令。電腦可讀資料儲存媒體可形成電腦程式產品之部分,電腦程式產品可包括封裝材料。電腦可讀媒體可包含記憶體或資料儲存媒體,諸如,隨機存取記憶體(RAM),諸如同步動態隨機存取記憶體(SDRAM)、唯讀記憶體(ROM)、非易失性隨機存取記憶體(NVRAM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體、磁性或光學資料儲存媒體以及類似者。另外或替代地,該等技術可至少部分由電腦可讀通信媒體實現,電腦可讀通信媒體攜載或傳達呈指令或資料結構形式且可由電腦存取、讀取及/或執行的程式碼,諸如,經傳播之信號或波。
程式碼可由可包括一或多個處理器之處理器執行,諸如,一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效積體或離散邏輯電路。此類處理器可經組態以執行本發明中所描述之技術中之任一者。通用處理器可為微處理器;但在替代例中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可實施為計算器件之組合,例如,DSP與微處理器、複數個微處理器、結合DSP核心之一或多個微處理器或任一其他此類組態之組合。因此,如本文中所使用之術語「處理器」可指前述結構中之任一者、前述結構之任何組合或適合於實施本文中所描述之技術的任何其他結構或裝置。此外,在一些態樣中,本文中描述之功能性可提供於經組態用於編碼及解碼之專用軟體模組或硬體模組內,或併入於經組合視訊編碼器-解碼器(編碼解碼器)中。
100‧‧‧用戶-伺服器系統架構
101‧‧‧伺服器
102‧‧‧用戶端
103‧‧‧通信媒體
201‧‧‧伺服器/主體
202‧‧‧用戶端
203‧‧‧網路層
204‧‧‧VR耳機顯示器
205‧‧‧使用者
206‧‧‧幾何預處理
207‧‧‧可見性遍次功能
208‧‧‧紋素著色功能
209‧‧‧紋理編碼功能
210‧‧‧網格編碼功能
211‧‧‧位姿接收器功能
212‧‧‧在線潛在可見集合影像資訊之第一複本
213‧‧‧在線PVS影像資訊之第二複本
214‧‧‧紋素著色輸出
215‧‧‧紋理解碼功能
216‧‧‧網格解碼功能
217‧‧‧位姿發送器功能
218‧‧‧使用者輸入功能
219‧‧‧顯像功能
220‧‧‧扭曲功能
221‧‧‧紋理解碼輸出
222‧‧‧在線PVS影像資訊
223‧‧‧使用者輸入資訊
224‧‧‧使用者輸入資料之第一複本
225‧‧‧使用者輸入資料複本之第二複本
226‧‧‧顯像資訊
227‧‧‧紋理編碼輸出 / MPEG I-訊框
228‧‧‧在線PVS影像資訊
229‧‧‧位姿更新
230‧‧‧經扭曲影像資訊輸入
301‧‧‧視點
302‧‧‧觀看區
303‧‧‧遮蔽區
304‧‧‧最初經遮蔽物件
401‧‧‧物件
402‧‧‧視點
403‧‧‧輪廓邊緣
404‧‧‧前向輪廓三角形
405‧‧‧背向輪廓三角形
501‧‧‧物件
502‧‧‧檢視方向
503‧‧‧修整區
504‧‧‧寬度「A」
505‧‧‧輪廓邊緣E
506‧‧‧第二最初經遮蔽寬度d(A)+Δ
601‧‧‧每像素鏈接清單
602‧‧‧螢幕緩衝區
603‧‧‧節點
603n‧‧‧節點
801‧‧‧視圖對準網格
802‧‧‧影像塊1
803‧‧‧影像塊2
804‧‧‧影像塊3
805‧‧‧影像塊4
806至810‧‧‧桶
901‧‧‧觀看區
902至906‧‧‧視點
907‧‧‧遮蔽區
908‧‧‧遮蔽區
909‧‧‧經遮蔽區域X1
910‧‧‧經遮蔽區域X2
911‧‧‧經遮蔽區域X3
1000‧‧‧伺服器
1002‧‧‧記憶體
1004‧‧‧CPU
1006‧‧‧GPU
1008‧‧‧GPU管線
1010‧‧‧GPU記憶體
1012‧‧‧幾何著色器
1014‧‧‧片段著色器
1016‧‧‧G緩衝區
1018‧‧‧修整緩衝區/像素鏈接清單
1020‧‧‧id-緩衝區/DSB
1022‧‧‧深度緩衝區
1024‧‧‧鏈路
1026‧‧‧鏈路
1028‧‧‧鏈路
1030‧‧‧鏈路
1100‧‧‧方法
1102‧‧‧步驟
1104‧‧‧步驟
1108‧‧‧步驟
下文參考以下圖式詳細描述本發明之說明性實施例:
圖1為說明根據一些實例之用於虛擬實境(VR)系統之用戶端-伺服器系統架構的實例之方塊圖;
圖2為說明根據一些實例之用於包括時間扭曲功能之虛擬實境(VR)系統的用戶端-伺服器系統架構之實例之方塊圖;
圖3為說明根據一些實例之來自觀看區之PVS之傳統離線計算的實例之圖式;
圖4為說明根據一些實例之使用在線PVS以及修整區顯像之技術的圖式;
圖5為說明根據一些實例之可見物件及輪廓邊緣周圍之修整區的圖式;
圖6為說明根據一些實例之與圖5相關聯之每像素鏈接清單的圖式;
圖7A為說明根據一些實例之建築物之城市場景的圖式;
圖7B為說明根據一些實例之與圖7a相關聯之彩色譯碼鏈接清單深度圖的圖式;
圖8為說明分選至視圖對準網格中之修整區四邊形之圖式;
圖9為說明根據一些實例之遮蔽區融合之態樣的圖式;
圖10為說明根據一些實例之伺服器/主器件之實例的方塊圖;且
圖11為說明根據一些實例之在用於虛擬實境(VR)系統之用戶端-伺服器系統架構內的伺服器之實例過程之流程圖。
201‧‧‧伺服器/主體
202‧‧‧用戶端
203‧‧‧網路層
204‧‧‧VR耳機顯示器
205‧‧‧使用者
206‧‧‧幾何預處理
207‧‧‧可見性遍次功能
208‧‧‧紋素著色功能
209‧‧‧紋理編碼功能
210‧‧‧網格編碼功能
211‧‧‧位姿接收器功能
212‧‧‧在線潛在可見集合影像資訊之第一複本
213‧‧‧在線PVS影像資訊之第二複本
214‧‧‧紋素著色輸出
215‧‧‧紋理解碼功能
216‧‧‧網格解碼功能
217‧‧‧位姿發送器功能
218‧‧‧使用者輸入功能
219‧‧‧顯像功能
220‧‧‧扭曲功能
221‧‧‧紋理解碼輸出
222‧‧‧在線PVS影像資訊
223‧‧‧使用者輸入資訊
224‧‧‧使用者輸入資料之第一複本
225‧‧‧使用者輸入資料複本之第二複本
226‧‧‧顯像資訊
227‧‧‧紋理編碼輸出/MPEG I-訊框
228‧‧‧在線PVS影像資訊
229‧‧‧位姿更新
230‧‧‧經扭曲影像資訊輸入
Claims (41)
- 一種加速遮蔽(occlusion)計算之方法,該方法包含:基於視點資訊來判定一物件之一輪廓(silhouette)邊緣,基於觀看區資訊來產生一修整(trim)緩衝區,包括產生由該輪廓邊緣界定之一修整區的步驟,產生一經去遮蔽場景緩衝區(DSB),包括以下兩個步驟:(1)判定一三角形是否在該修整區內,及回應於判定該三角形在該修整區內,(2)將該三角形儲存為潛在可見集合(PVS)影像資訊,產生具有小於一最大臨限值之一四邊形深度之複數個修整區四邊形,及基於四邊形深度來將該複數個修整區四邊形分選(sorting)至複數個桶(buckets)中。
- 如請求項1之方法,其中基於觀看區資訊來產生一修整緩衝區之該步驟進一步包含:將修整區深度光柵化至該修整緩衝區中,及將片段儲存在一每像素鏈接清單中。
- 如請求項1之方法,其中產生一DSB之該步驟進一步包含:將複數個三角形之整個場景光柵化至一圖形緩衝區中。
- 如請求項1之方法,其進一步包含將該修整區內部之背向三角形儲存為PVS影像資訊。
- 如請求項1之方法,其進一步包含收穫該DSB。
- 如請求項1之方法,其中該修整區對應於該觀看區,且該觀看區具有對應於對該視點資訊之一較小位置調整之一寬度。
- 如請求項1之方法,其中一幾何著色器執行基於該視點資訊來判定一輪廓邊緣及產生由該輪廓邊緣界定之該修整區之該等步驟。
- 如請求項1之方法,其進一步包含:自一用戶端器件接收該視點資訊,及將該PVS影像資訊發送至該用戶端器件。
- 如請求項1之方法,其中該觀看區資訊係基於一虛擬實境系統之一使用者之頭部在顯像延遲期間的移動,其中該顯像延遲包括以下中之至少一者:該視點資訊自該用戶端至該伺服器之傳輸,及該PVS影像資訊自該伺服器至該用戶端之傳輸。
- 如請求項1之方法,其進一步包含:其中將該複數個修整區四邊形分選至複數個桶中係進一步基於四邊形螢幕空間影像塊位置。
- 如請求項10之方法,其中基於四邊形深度及四邊形螢幕空間影像塊位置來將該複數個修整區四邊形分選至複數個桶中之該步驟進一步包含: 將該等修整區四邊形分選至該等螢幕空間影像塊位置中,藉由每一螢幕空間影像塊位置內部之四邊形深度來分選該等修整四邊形,及將該等修整區四邊形分隔至該複數個桶中,其中該複數個桶中之每個桶含有一最大數目的修整區四邊形。
- 如請求項10之方法,其進一步包含以下步驟:產生一修整緩衝區,及產生一經去遮蔽場景緩衝區(DSB)。
- 如請求項10之方法,其進一步包含將該等修整區四邊形串流式輸出至GPU全局記憶體中。
- 如請求項10之方法,其中產生一修整緩衝區之該步驟進一步包含:將該等修整區四邊形光柵化至靜態每桶分選清單中。
- 如請求項10之方法,其進一步包含收穫該DSB。
- 如請求項1之方法,其進一步包含:針對複數個場景物件之單獨場景物件反覆地執行以下步驟:產生該單獨場景物件之修整區四邊形,將該單獨場景物件之該等修整區四邊形分選至桶中,利用該單獨場景物件之該修整區來更新一修整緩衝區,及 更新用於該單獨場景物件之一DSB。
- 如請求項16之方法,其中將該單獨場景物件之該等修整區四邊形分選至桶中之該步驟進一步包含:將該等修整區四邊形分選至螢幕空間影像塊位置中,藉由每一螢幕空間影像塊位置內部之四邊形深度來分選該等修整四邊形,及將該等修整區四邊形分隔至該複數個桶中,其中該複數個桶中之每個桶含有一最大數目的修整區四邊形。
- 如請求項16之方法,其中利用該單獨場景物件之該修整區來更新一修整緩衝區的該步驟進一步包含:剔除在該DSB中經遮蔽之修整區片段,及將其餘修整區片段插入至該修整緩衝區中。
- 如請求項16之方法,其中更新用於該單獨場景物件之一DSB之該步驟進一步包含:剔除含於該修整緩衝區中之物件片段,及將其餘物件片段插入至該DSB中。
- 如請求項16之方法,其進一步包含:在針對複數個場景物件之單獨場景物件反覆地執行後收穫一圖形緩衝區。
- 一種用於加速遮蔽計算之裝置,其包含:一記憶體,其經組態以儲存潛在可見集合(PVS)影像資訊,一處理器,其經組態以:基於視點資訊來判定一物件之一輪廓邊緣,基於觀看區資訊來產生一修整緩衝區,包括產生由該輪廓邊緣界定之一修整區,產生一經去遮蔽場景緩衝區(DSB),包括:(1)判定一三角形是否在該修整區內,及回應於該三角形在該修整區內之該判定,(2)將該三角形儲存為潛在可見集合(PVS)影像資訊,將該等修整區四邊形分選至螢幕空間影像塊中,及將該等修整區四邊形分隔至該複數個桶中,其中該複數個桶中之每個桶含有一最大數目的修整區四邊形。
- 如請求項21之裝置,其中基於觀看區資訊產生一修整緩衝區進一步包含:將修整區深度光柵化至一修整緩衝區中,及將片段儲存在一每像素鏈接清單中。
- 如請求項21之裝置,其中產生一DSB進一步包含:將複數個三角形之整個場景光柵化至一圖形緩衝區中。
- 如請求項21之裝置,其進一步包含將該修整區內部之背向三角形儲存為PVS影像資訊。
- 如請求項21之裝置,其進一步包含收穫該DSB。
- 如請求項21之裝置,其中該修整區對應於該觀看區,且該觀看區具有對應於對該視點資訊之一較小位置調整之一寬度。
- 如請求項21之裝置,其進一步包含:一幾何著色器,及基於視點資訊來判定一輪廓邊緣及產生由該輪廓邊緣界定之一修整區藉由該幾何著色器執行。
- 如請求項21之裝置,其進一步包含:自一用戶端器件接收該視點資訊,及將該PVS影像資訊發送至該用戶端器件。
- 如請求項21之裝置,其中該觀看區資訊係基於一虛擬實境系統之一使用者之頭部在顯像延遲期間的移動,其中該顯像延遲包括以下中之至少一者:該視點資訊自該用戶端至該伺服器之傳輸,及該PVS影像資訊自該伺服器至該用戶端之傳輸。
- 如請求項21之裝置,其進一步包含:產生具有小於一最大臨限值之一四邊形深度之複數個修整區四邊形,及 基於四邊形深度及四邊形螢幕空間影像塊位置來將該複數個修整區四邊形分選至複數個桶中。
- 如請求項30之裝置,其中基於四邊形深度及四邊形螢幕空間影像塊位置來將該複數個修整區四邊形分選至複數個桶中進一步包含:藉由每一螢幕空間影像塊內部之四邊形深度來分選該等修整四邊形。
- 如請求項30之裝置,其進一步包含:產生一修整緩衝區,及產生一經去遮蔽場景緩衝區(DSB)。
- 如請求項30之裝置,其進一步包含將該等修整區四邊形串流式輸出至GPU全局記憶體中。
- 如請求項30之裝置,其中該產生一修整緩衝區進一步包含:將該等修整區四邊形光柵化至靜態每桶分選清單中。
- 如請求項30之裝置,其進一步包含收穫該DSB。
- 如請求項21之裝置,其進一步包含:針對複數個場景物件之單獨場景物件反覆地執行以下步驟:產生該單獨場景物件之修整區四邊形, 將該單獨場景物件之該等修整區四邊形分選至桶中,利用該單獨場景物件之該修整區來更新一修整緩衝區,及更新用於該單獨場景物件之一DSB。
- 如請求項36之裝置,其中將該單獨場景物件之該等修整區四邊形分選至桶中進一步包含:將該等修整區四邊形分選至螢幕空間影像塊中,藉由每一螢幕空間影像塊內部之四邊形深度來分選該等修整四邊形,及將該等修整區四邊形分隔至該複數個桶中,其中該複數個桶中之每個桶含有一最大數目的修整區四邊形。
- 如請求項36之裝置,其中利用該單獨場景物件之該修整區來更新一修整緩衝區進一步包含:剔除在該DSB中經遮蔽之修整區片段,及將其餘修整區片段插入至該修整緩衝區中。
- 如請求項36之裝置,其中更新用於該單獨場景物件之一DSB進一步包含:剔除含於該修整緩衝區中之物件片段,及將其餘物件片段插入至該DSB中。
- 一種用於加速遮蔽計算之裝置,其包含: 用於基於視點資訊來判定一物件之一輪廓邊緣之一構件,用於基於觀看區資訊來產生一修整緩衝區之一構件,包括用於產生由該輪廓邊緣界定之一修整區之一構件,用於產生一經去遮蔽場景緩衝區(DSB)之一構件,包括以下兩者:(1)用於判定一三角形是否在該修整區內之一構件,及回應於判定該三角形在該修整區內,(2)用於將該三角形儲存為潛在可見集合(PVS)影像資訊之一構件,用於產生具有小於一最大臨限值之一四邊形深度之複數個修整區四邊形之一構件,及用於基於四邊形深度來將該複數個修整區四邊形分選至複數個桶中之一構件。
- 一種其上儲存有指令之非暫時性電腦可讀媒體,該等指令在由一或多個處理器執行時使得該一或多個處理器:基於視點資訊來判定一物件之一輪廓邊緣,基於觀看區資訊來產生一修整緩衝區,包括產生由該輪廓邊緣界定之一修整區,產生一經去遮蔽場景緩衝區(DSB),包括:(1)判定一三角形是否在該修整區內,及回應於該三角形在該修整區內之該判定,(2)將該三角形儲存為潛在可見集合(PVS)影像資訊,將該等修整區四邊形分選至螢幕空間影像塊中,及將該等修整區四邊形分隔至該複數個桶中,其中該複數個桶中之每個桶含有一最大數目的修整區四邊形。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/867,401 US10504280B2 (en) | 2018-01-10 | 2018-01-10 | Accelerated occlusion computation |
US15/867,401 | 2018-01-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201931865A TW201931865A (zh) | 2019-08-01 |
TWI713358B true TWI713358B (zh) | 2020-12-11 |
Family
ID=64902485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107144815A TWI713358B (zh) | 2018-01-10 | 2018-12-12 | 加速的遮蔽計算 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10504280B2 (zh) |
EP (1) | EP3738103A1 (zh) |
CN (1) | CN111557021B (zh) |
TW (1) | TWI713358B (zh) |
WO (1) | WO2019139707A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11308687B1 (en) * | 2019-03-29 | 2022-04-19 | Amazon Technologies, Inc. | System and method of providing simulated three-dimensional objects |
US11380047B2 (en) * | 2020-06-05 | 2022-07-05 | Qualcomm Incorporated | Methods and apparatus for order-independent occlusion computations |
CN112044062B (zh) * | 2020-08-27 | 2022-11-08 | 腾讯科技(深圳)有限公司 | 游戏画面渲染方法、装置、终端和存储介质 |
US11978160B2 (en) * | 2021-07-13 | 2024-05-07 | Daniel E. Curtis | GPU-based digital map tile generation method and system |
US20230139635A1 (en) * | 2021-11-03 | 2023-05-04 | Tencent America LLC | Method for streaming dynamic 5g ar/mr experience to 5g devices with updatable scenes |
CN114782614B (zh) * | 2022-06-22 | 2022-09-20 | 北京飞渡科技有限公司 | 模型渲染方法、装置、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110261050A1 (en) * | 2008-10-02 | 2011-10-27 | Smolic Aljosa | Intermediate View Synthesis and Multi-View Data Signal Extraction |
US20130265309A1 (en) * | 2012-04-04 | 2013-10-10 | Qualcomm Incorporated | Patched shading in graphics processing |
US20150269770A1 (en) * | 2010-06-30 | 2015-09-24 | Barry L. Jenkins | Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7212204B2 (en) | 2005-01-27 | 2007-05-01 | Silicon Graphics, Inc. | System and method for graphics culling |
CN107093203A (zh) * | 2010-06-30 | 2017-08-25 | 巴里·林恩·詹金斯 | 图形信息的基于导航的预取发送或接收的控制方法和系统 |
CN107093201B (zh) * | 2010-09-13 | 2021-02-12 | 巴里·林恩·詹金斯 | 传输和控制包括渲染的几何、纹理和光照数据的流交互媒体 |
CN106780313A (zh) * | 2016-12-28 | 2017-05-31 | 网易(杭州)网络有限公司 | 图像处理方法及装置 |
-
2018
- 2018-01-10 US US15/867,401 patent/US10504280B2/en active Active
- 2018-12-10 EP EP18829652.9A patent/EP3738103A1/en active Pending
- 2018-12-10 WO PCT/US2018/064712 patent/WO2019139707A1/en unknown
- 2018-12-10 CN CN201880085548.7A patent/CN111557021B/zh active Active
- 2018-12-12 TW TW107144815A patent/TWI713358B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110261050A1 (en) * | 2008-10-02 | 2011-10-27 | Smolic Aljosa | Intermediate View Synthesis and Multi-View Data Signal Extraction |
US20150269770A1 (en) * | 2010-06-30 | 2015-09-24 | Barry L. Jenkins | Method of determining occluded ingress and egress routes using nav-cell to nav-cell visibility pre-computation |
US20130265309A1 (en) * | 2012-04-04 | 2013-10-10 | Qualcomm Incorporated | Patched shading in graphics processing |
Also Published As
Publication number | Publication date |
---|---|
CN111557021A (zh) | 2020-08-18 |
CN111557021B (zh) | 2023-11-24 |
EP3738103A1 (en) | 2020-11-18 |
US10504280B2 (en) | 2019-12-10 |
TW201931865A (zh) | 2019-08-01 |
US20190213784A1 (en) | 2019-07-11 |
WO2019139707A1 (en) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI713358B (zh) | 加速的遮蔽計算 | |
CN111656407B (zh) | 对动态三维模型的视图进行融合、纹理化和绘制 | |
EP3673463B1 (en) | Rendering an image from computer graphics using two rendering computing devices | |
US10083538B2 (en) | Variable resolution virtual reality display system | |
US11270492B2 (en) | Graphics processing systems | |
EP3643059B1 (en) | Processing of 3d image information based on texture maps and meshes | |
US20120229460A1 (en) | Method and System for Optimizing Resource Usage in a Graphics Pipeline | |
US9311749B2 (en) | Method for forming an optimized polygon based shell mesh | |
US10217259B2 (en) | Method of and apparatus for graphics processing | |
US20220101502A1 (en) | Device and method for dynamic range expansion in a virtual reality scene | |
JP5731566B2 (ja) | 情報処理装置、制御方法、及び記録媒体 | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
US12020442B2 (en) | Graphics processing systems | |
JP2016510473A (ja) | デプスマップのコンテンツを強化するための方法およびデバイス | |
CN114616821B (zh) | 用于虚拟对象呈现的边缘检测和平滑处理 | |
Jääskeläinen | DDISH-GI: Dynamic Distributed Spherical Harmonics Global Illumination | |
CN117830497A (zh) | 一种智能化分配3d渲染功耗资源的方法及系统 | |
Grace et al. | Accurate image-space environment reflections in real-time | |
Grace et al. | Accurate Image-Space Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |