TWI911260B - 用於圖形處理的裝置、方法及電腦可讀取媒體 - Google Patents
用於圖形處理的裝置、方法及電腦可讀取媒體Info
- Publication number
- TWI911260B TWI911260B TW110129764A TW110129764A TWI911260B TW I911260 B TWI911260 B TW I911260B TW 110129764 A TW110129764 A TW 110129764A TW 110129764 A TW110129764 A TW 110129764A TW I911260 B TWI911260 B TW I911260B
- Authority
- TW
- Taiwan
- Prior art keywords
- billboards
- viewpoint
- volume elements
- billboard
- bulletin board
- Prior art date
Links
Abstract
本案涉及用於圖形處理的方法和裝置。裝置可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素。裝置亦可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集。裝置亦可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在至少一個佈告板中,該資料對應於圖元集。
Description
本專利申請案主張於2020年8月18日提出申請的題為「METHODS AND APPARATUS FOR BILLBOARD LAYERS IN OBJECT-SPACE RENDERING」的美國臨時申請案序列No.63/067,050以及於2021年8月11日提出申請的題為「BILLBOARD LAYERS IN OBJECT-SPACE RENDERING」的美國專利申請案第17/400,031號的權益,該申請案的全部內容經由引用明確併入本文。
本案整體上係關於處理系統,並且更具體地係關於用於圖形處理的一或多個技術。
計算設備經常利用圖形處理單元(GPU)來加速用於顯示的圖形資料的渲染。這些計算設備可以包括例如電腦工作站、諸如所謂的智慧型電話的行動電話、嵌入式系統、個人電腦、平板電腦和視訊遊戲控制台。GPU執行包括一或多個處理階段的圖形處理管線,該一或多個處理階段一起操作以執行圖形處理命令並輸出訊框。中央處理單元(CPU)可以經由向GPU發出一或多個圖形處理命令來控制GPU的操作。現代CPU通常能夠同時執行多個應用程式,每個應用程式在執行期間可能需要利用GPU。在顯示器上提供用於視覺呈現的內容的設備通常包括GPU。
通常,設備的GPU被配置為在圖形處理管線中執行處理。然而,隨著無線通訊和更小的手持設備的出現,對改進的圖形處理的需求不斷增加。
下文是對一或多個態樣的簡要概述,以便提供對這些態樣的基本理解。該概述不是對所有預期態樣的詳盡概括,並且亦不意欲標識所有態樣的關鍵元素或者描述任意或所有態樣的範疇。此概述的唯一目的是以簡化形式呈現一或多個態樣的一些概念,作為稍後呈現的更詳細描述的序言。
在本案的態樣中,提供了一種方法、電腦可讀取媒體和裝置。裝置可以是伺服器、客戶端設備、中央處理單元(CPU)、圖形處理單元(GPU)或者可以執行圖形處理的任何裝置。裝置可以計算與第一訊框的視點相關聯的複數個佈告板的數量。裝置亦可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素。裝置亦可以產生與第一訊框的視點相關聯的複數個佈告板,其中複數個佈告板是基於複數個佈告板的配置產生的。此外,裝置可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集。裝置亦可以基於一或多個體積元素的幾何配置或複數個佈告板的幾何配置中的至少一個來計算映射的配置。此外,裝置可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板。裝置亦可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集。此外,裝置可以基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板。裝置亦可以基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置。
一或多個實例的細節將在下文的附圖和說明書中闡述。本案的其他特徵、目的和優點將從說明書、附圖和請求項變得明顯。
物件空間渲染可以用於流式分割渲染應用程式。此外,物件空間渲染可以儲存場景或訊框之每一者表面點的著色資訊。在一些態樣中,這可以利用每個表面點的唯一紋理座標。體積效果(VFX)(例如霧、液體、粒子系統(例如,火、雨等)可能無法定義表面。VFX的物件空間渲染可以處理場景或訊框中的每三維(3D)點的著色資訊。此外,索引可以是稀疏的,諸如儲存其中物件可見的資訊(例如,粒子)。本案的態樣可以決定如何放置佈告板或層(例如,在物件空間渲染中)。本案的態樣亦可以決定如何將著色資訊分配給物件空間渲染中的佈告板或層。此外,本案的態樣可以決定何時刷新物件空間渲染中的佈告板或層。
下文中參考附圖更全面地描述系統、裝置、電腦程式產品和方法的各個態樣。然而,本案可以以許多不同的形式來實現,並且不應被解釋為限於貫穿本案呈現的任何具體結構或功能。相反,提供這些態樣使得本案詳盡並且完整,並且將向本發明所屬領域中具有通常知識者全面傳達本案的範疇。基於本文的教示,本發明所屬領域中具有通常知識者應當瞭解,本案的範疇意欲覆蓋本文揭示的系統、裝置、電腦程式產品和方法的任何態樣,無論獨立於本案的其他態樣來實現還是與本案的其他態樣組合。例如,可以使用本文闡述的任何數目的態樣來實現裝置或實踐方法。另外,本案的範疇意欲覆蓋利用除了本文闡述的揭示內容的各個態樣之外的其他結構、功能或結構和功能實踐的這種裝置或方法。本文揭示的任何態樣可以經由請求項中的一或多個元素來實現。
儘管本文描述了各個態樣,但是這些態樣的許多變型和排列落入本案的範疇內。儘管提到了本案的態樣的一些潛在益處和優點,但是本案的範疇不意欲限於特定的益處、用途或目標。相反,本案的態樣意欲廣泛地適用於不同的無線技術、系統組態、網路和傳輸協定,其中一些在附圖和以下描述中經由實例的方式示出。詳細描述和附圖僅是對本案的說明而非限制,本案的範疇由所附請求項及其均等物限定。
參考各種裝置和方法呈現了若干態樣。將經由各種塊、部件、電路、程序、演算法等(統稱為「元素」)在以下詳細描述中描述並在附圖中示出該等裝置和方法。可以使用電子硬體、電腦軟體或其任意組合來實現這些元素。這些元素被實現為硬體還是軟體取決於特定應用和施加在整個系統上的設計約束。
例如,元素、或元素的任意部分、或元素的任意組合可以被實現為包括一或多個處理器(其亦可以被稱為處理單元)的「處理系統」。處理器的實例包括微處理器、微控制器、圖形處理單元(GPU)、通用GPU(GPGPU)、中央處理單元(CPU)、應用處理器、數位訊號處理器(DSP)、精簡指令集計算(RISC)處理器、片上系統(SOC)、基頻處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、可程式設計邏輯裝置(PLD)、狀態機、閘控邏輯、個別硬體電路以及被配置為執行貫穿本案描述的各種功能的其他合適硬體。處理系統中的一或多個處理器可以執行軟體。軟體可以被廣義地解釋為指令、指令集、代碼、程式碼片段、程式碼、程式、副程式、軟體部件、應用程式、軟體應用程式、套裝軟體、常式、子常式、物件、可執行檔、執行執行緒、程序、函數等,無論被稱為軟體、韌體、中介軟體、微代碼、硬體描述語言還是其他。術語應用程式可以指軟體。如本文所描述,一或多個技術可以指被配置為執行一或多個功能的應用程式,即軟體。在這些實例中,應用程式可以被儲存在記憶體上,例如,處理器的片上記憶體、系統記憶體或任何其他記憶體。在本文描述的硬體(諸如處理器)可以被配置為執行應用程式。例如,應用程式可以被描述為包括代碼,該代碼在由硬體執行時使硬體執行本文描述的一或多個技術。作為實例,硬體可以存取來自記憶體的代碼並且執行從記憶體存取的代碼,以執行本文描述的一或多個技術。在一些實例中,在本案中標識了部件。在這些實例中,部件可以是硬體、軟體或其組合。部件可以是單獨的部件或單個部件的子部件。
因此,在一或多個實例中,所描述的功能可以以硬體、軟體、或其任意組合實現。若以軟體實現,則功能可以作為一或多個指令或代碼儲存或編碼在電腦可讀取媒體上。電腦可讀取媒體包括電腦儲存媒體。儲存媒體可以是可由電腦存取的任何可用媒體。作為實例而非限制,這種電腦可讀取媒體可以包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電子可抹除可程式設計ROM(EEPROM)、光碟記憶體、磁碟記憶體、其他磁存放裝置、上述類型的電腦可讀取媒體的組合、或者可以用於以可由電腦存取的指令或資料結構的形式儲存電腦可執行代碼的任何其他媒體。
一般而言,本案描述了用於在單個設備或多個設備中具有圖形處理管線、改進圖形內容的渲染及/或減少處理單元(亦即,被配置為執行本文描述的一或多個技術的任何處理單元,諸如GPU)的負載的技術。例如,本案描述了用於在利用圖形處理的任何設備中的圖形處理的技術。貫穿本案描述了其他實例益處。
如本文所使用,術語「內容」的實例可以指「圖形內容」、「3D圖形設計的產品」、它們的再現,即「影像」,反之亦然。無論術語被用作形容詞、名詞亦是其他詞類,皆是如此。在一些實例中,如本文所使用的,術語「圖形內容」可以指由圖形處理管線的一或多個程序產生的內容。在一些實例中,如本文所使用的,術語「圖形內容」可以指由被配置為執行圖形處理的處理單元產生的內容。在一些實例中,如本文所使用的,術語「圖形內容」可以指由圖形處理單元產生的內容。
在一些實例中,如本文所使用的,術語「顯示內容」可以指由被配置為執行顯示處理的處理單元產生的內容。在一些實例中,如本文所使用的,術語「顯示內容」可以指由顯示處理單元產生的內容。圖形內容可以被處理成為顯示內容。例如,圖形處理單元可以將諸如訊框的圖形內容輸出到緩衝器(其可以被稱為訊框緩衝器)。顯示處理單元可以從緩衝器讀取圖形內容(諸如一或多個訊框),並且對其執行一或多個顯示處理技術以產生顯示內容。例如,顯示處理單元可以被配置為對一或多個渲染層執行合成以產生訊框。作為另一個實例,顯示處理單元可以被配置為將兩個或兩個以上層合成、混合或以其他方式組合為單個訊框。顯示處理單元可以被配置為對訊框執行縮放,例如,放大或縮小。在一些實例中,訊框可以指層。在其他實例中,訊框可以指已經被混合在一起以形分框的兩個或兩個以上層,亦即,該訊框包括兩個或兩個以上層,並且包括兩個或兩個以上層的訊框可以隨後被混合。
圖1是圖示被配置為實現本案的一或多個技術的實例系統100的方塊圖。系統100包括設備104。設備104可以包括用於執行本文描述的各種功能的一或多個部件或電路。在一些實例中,設備104的一或多個部件可以是SOC的部件。設備104可以包括被配置為執行本案的一或多個技術的一或多個部件。在所示實例中,設備104可以包括處理單元120、內容編碼器/解碼器122和系統記憶體124。在一些態樣中,設備104可以包括多個任選部件,例如,通訊介面126、收發器132、接收器128、發送器130、顯示處理器127以及一或多個顯示器131。對顯示器131的參考可以指一或多個顯示器131。例如,顯示器131可以包括單個顯示器或多個顯示器。顯示器131可以包括第一顯示器和第二顯示器。第一顯示器可以是左眼顯示器,並且第二顯示器可以是右眼顯示器。在一些實例中,第一和第二顯示器可以接收不同的訊框以用於在其上的呈現。在其他實例中,第一和第二顯示器可以接收相同的訊框以用於在其上的呈現。在另外的實例中,圖形處理的結果可能不被顯示在設備上,例如,第一和第二顯示器可能不接收任何訊框以用於在其上的呈現。相反,可以向另一個設備傳送訊框或圖形處理結果。在一些態樣中,這可以被稱為分割渲染。
處理單元120可以包括內部記憶體121。處理單元120可以被配置為執行圖形處理,諸如在圖形處理管線107中。內容編碼器/解碼器122可以包括內部記憶體123。在一些實例中,設備104可以包括顯示處理器(諸如顯示處理器127),以在由一或多個顯示器131呈現之前對由處理單元120產生的一或多個訊框執行一或多個顯示處理技術。顯示處理器127可以被配置為執行顯示處理。例如,顯示處理器127可以被配置為對由處理單元120產生的一或多個訊框執行一或多個顯示處理技術。一或多個顯示器131可以被配置為顯示或以其他方式呈現由顯示處理器127處理的訊框。在一些實例中,一或多個顯示器131可以包括以下項中的一或多個:液晶顯示器(LCD)、等離子顯示器、有機發光二極體(OLED)顯示器、投影顯示裝置、增強現實顯示裝置、虛擬實境顯示裝置、頭戴式顯示器或任何其他類型的顯示裝置。
處理單元120和內容編碼器/解碼器122外部的記憶體(諸如系統記憶體124)可以被處理單元120和內容編碼器/解碼器122存取。例如,處理單元120和內容編碼器/解碼器122可以被配置為從外部記憶體讀取及/或寫入外部記憶體,諸如系統記憶體124。處理單元120和內容編碼器/解碼器122可以經由匯流排通訊地耦合到系統記憶體124。在一些實例中,處理單元120和內容編碼器/解碼器122可以經由匯流排或不同的連接彼此通訊地耦合。
內容編碼器/解碼器122可以被配置為從任何源接收圖形內容,諸如系統記憶體124及/或通訊介面126。系統記憶體124可以被配置為儲存接收到的編碼或解碼圖形內容。內容編碼器/解碼器122可以被配置為例如從系統記憶體124及/或通訊介面126以編碼圖元資料的形式接收編碼或解碼的圖形內容。內容編碼器/解碼器122可以被配置為對任何圖形內容進行編碼或解碼。
內部記憶體121或系統記憶體124可以包括一或多個揮發性或非揮發性記憶體或存放裝置。在一些實例中,內部記憶體121或系統記憶體124可以包括RAM、SRAM、DRAM、可抹除可程式設計ROM(EPROM)、電子可抹除可程式設計ROM(EEPROM)、快閃記憶體、磁性資料媒體或光學儲存媒體,或任何其他類型的記憶體。
根據一些實例,內部記憶體121或系統記憶體124可以是非暫時性儲存媒體。術語「非暫時性」可以指示儲存媒體不以載波或傳播信號實現。然而,術語「非暫時性」不應被解釋為意味著內部記憶體121或系統記憶體124是不可移動的或其內容是靜態的。作為一個實例,系統記憶體124可以從設備104移除並且移動到另一個設備。作為另一個實例,系統記憶體124可能不能從設備104移除。
處理單元120可以是中央處理單元(CPU)、圖形處理單元(GPU)、通用GPU(GPGPU),或者可以被配置為執行圖形處理的任何其他處理單元。在一些實例中,處理單元120可以整合到設備104的主機板中。在一些實例中,處理單元120可以存在於安裝在設備104的主機板中的埠中的圖形卡上,或者可以以其他方式併入被配置為與設備104交互動操作的周邊設備內。處理單元120可以包括一或多個處理器,諸如一或多個微處理器、GPU、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、算數邏輯單位(ALU)、數位訊號處理器(DSP)、個別邏輯、軟體、硬體、韌體、其他等效整合或個別邏輯電路,或其任何組合。若技術部分地以軟體實現,則處理單元120可以將用於軟體的指令儲存在合適的、非暫時性電腦可讀取儲存媒體(例如,內部記憶體121)中,並且可以使用一或多個處理器執行硬體中的指令以執行本案的技術。上述中的任一種(包括硬體、軟體、硬體和軟體的組合等)皆可以被認為是一或多個處理器。
內容編碼器/解碼器122可以是被配置為執行內容解碼的任何處理單元。在一些實例中,內容編碼器/解碼器122可以整合到設備104的主機板中。內容編碼器/解碼器122可以包括一或多個處理器,諸如一或多個微處理器、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)、算數邏輯單位(ALU)、數位訊號處理器(DSP)、視訊處理器、個別邏輯、軟體、硬體、韌體、其他等效整合或個別邏輯電路,或其任何組合。若技術部分地以軟體實現,則內容編碼器/解碼器122可以將用於軟體的指令儲存在合適的、非暫時性電腦可讀取儲存媒體(例如,內部記憶體123)中,並且可以使用一或多個處理器執行硬體中的指令以執行本案的技術。上述中的任一種(包括硬體、軟體、硬體和軟體的組合等)皆可以被認為是一或多個處理器。
在一些態樣中,系統100可以包括任選的通訊介面126。通訊介面126可以包括接收器128和發送器130。接收器128可以被配置為執行本文關於設備104描述的任何接收功能。此外,接收器128可以被配置為從另一個設備接收資訊,例如,眼睛或頭部位置資訊、渲染命令或位置資訊。發送器130可以被配置為執行本文關於設備104描述的任何發送功能。例如,發送器130可以被配置為向另一個設備發送資訊,該資訊可以包括對內容的請求。接收器128和發送器130可以被組合成收發器132。在此類實例中,收發器132可以被配置為執行本文關於設備104描述的任何接收功能及/或發送功能。
再次參考圖1,在某些態樣中,處理單元120可以包括決定部件198,其被配置為計算與第一訊框的視點相關聯的複數個佈告板的數量。決定部件198亦可以被配置為配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素。決定部件198亦可以被配置為產生與第一訊框的視點相關聯的複數個佈告板,其中複數個佈告板是基於複數個佈告板的配置產生的。決定部件198亦可以被配置為渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集。決定部件198亦可以被配置為基於一或多個體積元素的幾何配置或複數個佈告板的幾何配置中的至少一個來計算映射的配置。決定部件198亦可以被配置為基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板。決定部件198亦可以被配置為基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集。決定部件198亦可以被配置為基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板。決定部件198亦可以被配置為基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置。
如本文所描述,諸如設備104的設備可以指被配置為執行本文描述的一或多個技術的任何設備、裝置或系統。例如,設備可以是伺服器、基地台、使用者設備、客戶端設備、站、存取點、電腦(例如,個人電腦、桌上型電腦、膝上型電腦、平板電腦、電腦工作站或大型電腦)、終端產品、裝置、電話、智慧型電話、伺服器、視訊遊戲平臺或控制台、手持設備(例如,可攜式視訊遊戲裝置或個人數位助理(PDA))、可穿戴計算設備(例如,智慧手錶、增強現實設備或虛擬實境設備)、非可穿戴設備、顯示器或顯示裝置、電視、電視機上盒、中間網路設備、數位媒體播放機、視訊流設備、內容流設備、車載電腦、任何行動設備、被配置為產生圖形內容的任何設備、或者被配置為執行本文描述的一或多個技術的任何設備。本文的程序可以被描述為由特定部件(例如,GPU)執行,但是,在另外的實施例中,可以使用與所揭示的實施例一致的其他部件(例如,CPU)來執行。
GPU可以在GPU管線中處理多種類型的資料或資料包。例如,在一些態樣中,GPU可以處理兩種類型的資料或資料包,例如,上下文暫存器包和繪製調用資料。上下文暫存器包可以是全域狀態資訊集,例如,關於全域暫存器、著色程式或恆定資料的資訊,這些資訊可以規定將如何處理圖形上下文。例如,上下文暫存器包可以包括關於顏色格式的資訊。在上下文暫存器包的一些態樣中,可以存在指示哪個工作負載屬於上下文暫存器的位元。此外,可以存在同時及/或並行執行的多個功能或程式。例如,函數或程式設計可以描述某種操作,例如,顏色模式或顏色格式。因此,上下文暫存器可以定義GPU的多個狀態。
上下文狀態可以用於決定單個處理單元如何執行,例如,頂點提取器(VFD)、頂點著色器(VS)、著色器處理器或幾何處理器,以及/或者處理單元以何種模式執行。為此,GPU可以使用上下文暫存器和程式設計資料。在一些態樣中,GPU可以基於模式或狀態的上下文暫存器定義在管線中產生工作負載,例如,頂點或圖元工作負載。某些處理單元(例如,VFD)可以使用這些狀態來決定某些功能,例如,頂點如何被組合。由於這些模式或狀態可以改變,因此GPU可能需要改變相應的上下文。此外,對應於模式或狀態的工作負載可以跟隨變化的模式或狀態。
GPU可以以多種不同的方式渲染影像。在一些情況下,GPU可以使用渲染或圖塊渲染來渲染影像。在圖塊渲染GPU中,影像可以被劃分或分離為不同的部分或圖塊。在影像劃分之後,每個部分或圖塊可以被單獨地渲染。圖塊渲染GPU可以將電腦圖形影像劃分為網格格式,使得網格的每個部分(亦即,圖塊)皆可以被單獨地渲染。在一些態樣中,在分箱通道(binning pass)期間,影像可以被劃分為不同的分箱或圖塊。此外,在分箱通道中,可以在某些分箱中對不同的圖元著色,例如,使用繪製調用。在一些態樣中,在分箱通道期間,可以構建可見性流,其中可以標識可見圖元或繪製調用。
在渲染的一些態樣中,可以存在多個處理階段或通道。例如,可以在兩個通道中執行渲染,例如,可見性通道和渲染通道。在可見性通道期間,GPU可以輸入渲染工作負載,記錄圖元或三角形的位置,並且隨後決定哪些圖元或三角形屬於訊框的哪個部分。在可見性通道的一些態樣中,GPU亦可以標識或標記可見性流之每一者圖元或三角形的可見性。在渲染通道期間,GPU可以輸入可見性流並且一次處理訊框的一部分。在一些態樣中,可以分析可見性流以決定哪些圖元是可見的或不可見的。如此,可以處理可見的圖元。經由這樣做,GPU可以減少處理或渲染不可見圖元的不必要工作負載。
在一些態樣中,可以在多個位置及/或在多個設備上執行渲染,例如,以便在不同設備之間劃分渲染工作負載。例如,可以在伺服器與客戶端設備之間分離渲染,這可以被稱為「分離渲染」。在一些實例中,分離渲染可以是用於將內容帶到使用者設備或頭戴式顯示器(HMD)的方法,其中圖形處理的一部分可以在設備或HMD之外執行,例如,在伺服器處。
可以針對多種不同類型的應用程式執行分離渲染,例如,虛擬實境(VR)應用程式、增強現實(AR)應用程式及/或擴展現實(XR)應用程式。在VR應用程式中,在使用者設備處顯示的內容可以對應於人造或動畫內容,例如,在伺服器或使用者設備處渲染的內容。在AR或XR內容中,在使用者設備處顯示的內容的一部分可以對應於現實世界內容,例如,現實世界中的物件,並且內容的一部分可以是人造或動畫內容。此外,人造或動畫內容和現實世界內容可以顯示在光學透視或視訊透視設備中,使得使用者可以同時查看現實世界物件以及人造或動畫內容。在一些態樣中,人造或動畫內容可以被稱為增強內容,反之亦然。
分離XR或AR系統亦可以在將渲染內容傳送到客戶端顯示器時引入延遲。在一些態樣中,與客戶端渲染相比,在伺服器上進行渲染時該延遲甚至可能更高,但它亦可以啟用更複雜的XR或AR應用程式。另外,在計算相機姿勢的時間與內容出現在客戶端顯示器上的時間之間可能存在不可忽略的延遲。例如,在分離XR或AR系統中可能存在一定量的延遲。在一些態樣中,可以在伺服器處決定或渲染場景的圖元資訊或眼緩衝器資訊,並且在單獨的佈告板或層中將其發送到客戶端。例如,可以在一個佈告板或層中決定或渲染增強且將其發送到客戶端,以及可以在另一個佈告板或層中決定並發送現實世界物件。
圖2圖示根據本案的一或多個技術包括深度對準佈告板的圖200。圖200包括佈告板或層210、220、230、240和250。如上所指示,佈告板210、220、230、240和250可以表示不同的內容,諸如現實世界內容或現實增強內容。另外,圖2圖示佈告板210、220、230、240和250在圖元流式架構中的使用。
如圖2中所示,佈告板是一組紋理化形狀,例如,具有阿爾法(alpha)的矩形或三角形,其可以包括多個特性。例如,佈告板可以面向使用者或觀看者,亦可以與某個軸對準,例如x軸、y軸或z軸。佈告板可以被大量地使用,其中每個佈告板皆相對簡單,例如,幾個紋理化矩形或三角形。在一些遊戲或應用程式中,佈告板可以顯示預渲染內容,例如,雲。圖形處理的一些態樣可以將體積效果(VFX)渲染到佈告板上。渲染亦可以是動態的,諸如每幾訊框更新一次,例如,每第二訊框或第三訊框。
在圖形處理的一些態樣中,物件空間渲染可以用於流式分割渲染應用程式。例如,物件空間渲染可以指當在物件空間中執行著色時的流式渲染或分離渲染管線。此外,物件空間渲染可以儲存場景或訊框之每一者表面點的著色資訊。在一些態樣中,儲存場景/訊框之每一者表面點的著色資訊的程序可以利用場景/訊框之每一者表面點的唯一紋理座標。體積效果(VFX)(例如霧、液體、粒子系統(例如,火、雨等)可能無法定義場景/訊框中的表面。VFX的物件空間渲染可以處理場景或訊框中的每3D點的著色資訊。此外,索引可以是稀疏的,諸如儲存其中物件可見的資訊(例如,粒子)。
在一些情況下,物件空間渲染可以利用佈告板(亦即,紋理化象限)。例如,可以在物件空間渲染內排列佈告板。佈告板亦可以利用著色資訊。基於上述,決定如何在物件空間渲染中放置或排列佈告板或層可能是有益的。決定如何將著色資訊分配給物件空間渲染中的佈告板或層亦可能是有益的。此外,決定何時在物件空間渲染中刷新佈告板或層以及多久刷新佈告板或層可能是有益的。
本案的態樣可以決定如何在物件空間渲染中放置或排列佈告板或層。本案的態樣亦可以決定如何將著色資訊分配給物件空間渲染中的佈告板或層。此外,本案的態樣可以決定何時在物件空間渲染中刷新佈告板或層以及多久刷新佈告板或層。
在一些情況下,本案的態樣可以圍繞使用者或觀看者同心地排列佈告板(亦即,紋理化象限)或層。本案的態樣亦可以將佈告板連同表面著色一起儲存在物件空間著色緩衝器或著色圖集中。當渲染VFX時,本案的態樣可以將著色資訊寫入最近的佈告板圖元,而不是寫入正常的訊框緩衝器。本案的態樣亦可以渲染來自一般物件和佈告板的最終影像。
此外,在佈告板產生及/或渲染到佈告板中之後,佈告板可以像著色圖集中的任何其他幾何物件(例如,透明物件)一樣被處理。處理著色圖集的某些態樣(例如,著色圖集中的透明度)可以利用多個步驟。例如,著色圖集可以被編碼,例如,運動影像專家組(MPEG)編碼,並且被發送到客戶端。亦可以對MPEG進行解碼以及/或者使用它來渲染紋理映射圖元或者具有阿爾法或阿爾法值的三角形。佈告板(即阿爾法遮罩三角形)可以與場景或訊框的其餘部分自然混合。
圖3圖示根據本案的一或多個技術的實例佈告板配置的圖300。圖300包括多個佈告板或層,例如,佈告板301、佈告板302、佈告板303和佈告板304。如圖3中所示,本案的態樣可以在圍繞使用者或觀看者的同心層中放置佈告板,例如,佈告板301至304。例如,佈告板可以以圓柱形或球形形式排列,如圖300中的佈告板配置所示。例如,佈告板配置可以在使用者的視野(FOV)內,例如,在180度FOV內。
本案的態樣亦可以將佈告板的數量減少到一定數量,亦即,最小數量的佈告板。亦即,本案的態樣可以將該數量的佈告板減少到位於視錐體內部的佈告板。此外,本案的態樣可以將該數量的佈告板減少到接收體積效果(VFX)的某一部分或部分的佈告板。
圖4A和圖4B分別圖示根據本案的一或多個技術的實例佈告板配置的圖400和450。如圖4A中所示,圖400包括多個佈告板,例如,佈告板401至404、411至414和421至424,它們被排列在圍繞使用者440的同心層中。圖400亦包括佈告板當中的粒子或元素430(例如,星星)。如圖4A中所示,本案的態樣可以包括用於處理或分配靠近某些佈告板的粒子或元素的方法,亦即,粒子到佈告板(P2BB)分配。例如,本案的態樣可以決定粒子中心的量化極座標。座標可以是選擇正確的佈告板以進行分配的索引。這可以經由計算著色器中的單位增量而有效地執行。如圖4A中所示,基於粒子430的P2BB分配,本案的態樣可以渲染佈告板404、413、414和423。
如圖4B中所示,圖450包括多個佈告板,例如,佈告板451至454、461至464和471至474,它們被排列在圍繞使用者490的同心層中。圖450亦包括佈告板當中的邊界框480,例如,具有霧的邊界框。如圖4B中所示,本案的態樣亦可以包括用於處理或分配靠近佈告板的霧或微粒場的方法。這些方法可以包括圍繞佈告板附近的霧或微粒場的面向投影的邊界框,例如,邊界框480,如圖450中所示。如圖4B中所示,基於邊界框480的分配,本案的態樣可以渲染佈告板454、463、464和473。
圖5A和圖5B分別圖示根據本案的一或多個技術的實例佈告板配置的圖500和550。如圖5A中所示,圖500包括多個佈告板,例如,佈告板501和502,以及相應的粒子。在圖5A中,被分配給佈告板501的粒子被示為「1」,並且被分配給佈告板502的粒子被示為「2」。如圖5A中所示,圖500包括與相鄰佈告板重疊的粒子或元素,例如,與佈告板501和502重疊的粒子「1-2」。由於粒子「1-2」與兩個相鄰的佈告板重疊,這可能會出現將重疊粒子分配給佈告板501或502中的一個的問題。
如圖5B中所示,圖550圖示本案的態樣可以如何解決相鄰佈告板的重疊粒子的這個問題。例如,本案的態樣可以利用重疊的佈告板來處理重疊粒子。圖550包括重疊的佈告板,例如,佈告板551和552,以及相應的粒子。在圖5A中,被分配給佈告板551的粒子被示為「1」,並且被分配給佈告板552的粒子被示為「2」。重疊粒子可以更容易地被分配給兩個重疊的佈告板中的一個,例如,佈告板551和552。例如,在圖5B中,經由利用重疊的佈告板,重疊粒子中的一個可以作為「1」被分配給佈告板551,並且重疊粒子中的另一個可以作為「2」被分配給佈告板552。本案的態樣可以利用多個步驟或程序來將粒子分配給重疊的佈告板。
圖6圖示根據本案的一或多個技術的實例佈告板配置的圖600。圖6中的圖600圖示三個相鄰的佈告板,例如,佈告板601、602和603。佈告板601至603之每一者包括特定長度,例如,長度b。如圖6中所示,對於重疊的佈告板,本案的態樣可以決定最大粒徑,例如,粒徑p。這樣做之後,本案的態樣可以將相鄰的佈告板配置為在佈告板的任一側上重疊特定長度,例如,p/2。例如,佈告板602可以在每一側上重疊p/2。這可以允許本案的態樣將整個粒子渲染到單個佈告板,例如,將整個粒子渲染到佈告板602。
圖7圖示根據本案的一或多個技術的實例佈告板配置的圖700。圖7中的圖700包括前佈告板702、後佈告板704、遮擋物件或遮擋物710、粒子711和粒子712。圖7圖示前佈告板702和後佈告板704是基於視角方向決定的。此外,粒子711被遮擋物件710遮擋,而粒子712未被遮擋。如圖7中所示,在粒子到佈告板(P2BB)分配期間,本案的態樣可以執行深度測試。深度測試可以決定粒子是否被分配給更靠近視點的佈告板,亦即,前佈告板702,或更遠離視點的佈告板,亦即,後佈告板704。此外,當渲染佈告板或層時,本案的態樣可以實現具有規則幾何形狀的深度測試,以便拒絕被遮擋的佈告板片段。
圖7圖示當視點與粒子(例如,粒子711)之間不存在遮擋物件(例如,遮擋物件710)以使得粒子被遮擋時,則可以將粒子分配給更遠離視點的佈告板(例如,後佈告板704)。此外,當視點與粒子(例如,粒子712)之間不存在遮擋物件以使得粒子未被遮擋時,可以將粒子分配給更靠近視點的佈告板(例如,前佈告板702)。否則,粒子可能被分配給距粒子最近的佈告板,或者粒子可能被分配給前佈告板(亦即,更靠近視點的佈告板)。
在一些態樣中,在P2BB分配之後,本案的態樣可以將VFX渲染到佈告板中。對於粒子或元素,本案的態樣可以渲染每個粒子或元素。在頂點著色器中,本案的態樣可以設置相機截錐體以覆蓋被分配給粒子的佈告板。本案的態樣亦可以將具有輸出的粒子渲染到佈告板的圖集區域。對於佈告板附近的霧、液體或微粒場,本案的態樣可以隨著距相機的距離增加來渲染佈告板。對於每個佈告板紋素,本案的態樣可以沿著從前一層到當前層的視角射線來渲染貢獻。
本案的態樣亦可以決定何時刷新佈告板。佈告板可以保持在原位,並且可以在下一訊框中被重新使用,例如,若相機移動量小。若相機移動的量大於閾值,則亦可以重新定位佈告板並且重新渲染VFX。本案的態樣亦可以經由計算佈告板之每一者上的最壞情況視差來決定相機是否移動。此外,若VFX的內容改變(例如,火焰動畫),則可以重新定位佈告板並且重新渲染VFX。若新的佈告板變得可見,則亦可以重新定位佈告板並且重新渲染VFX。若場景中的VFX的位置已經改變,或者相機移動且VFX的部分被去遮擋,則可能會發生這種情況。
本案的態樣可以包括使用佈告板來實現VFX的物件空間渲染的系統。本案的態樣亦可以包括動態地更新佈告板排列(例如,佈告板的數目、放置和內容)以對相機移動和場景中的變化作出反應的系統。此外,本案的態樣可以包括基於相機截錐體內的同心層來選擇佈告板排列的系統。本案的態樣亦可以包括使用重疊佈告板來支援粒子到佈告板的映射(例如,1:1映射)的系統。此外,本案的態樣可以包括使用粒子與不透明場景物件之間的遮擋來決定粒子到佈告板(P2BB)分配的系統。在一些實例中,本案的態樣亦可以涉及流式內容。
圖8是根據本案的一或多個技術的圖形處理的通訊流程圖800。如圖8中所示,圖800包括根據本案的一或多個技術的GPU部件802、GPU部件804與顯示器806之間的實例通訊。
在810處,GPU部件802可以計算與第一訊框的視點相關聯的複數個佈告板(例如,佈告板812)的數量。可以基於第一訊框的解析度品質、一或多個體積元素、渲染的影像的頻寬或渲染的影像的渲染時間中的至少一個來計算複數個佈告板的數量。此外,可以從另一個部件(例如,GPU部件804)接收複數個佈告板,例如,佈告板812。
在820處,GPU部件802可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素。複數個佈告板的配置可以基於複數個佈告板中的至少一個佈告板的一部分,該部分與複數個佈告板中的至少一個其他佈告板的一部分重疊。此外,可以基於複數個訊框中的至少一個後續訊框的視點來配置複數個佈告板。
在一些態樣中,一或多個體積元素可以與多個佈告板中的第一佈告板相關聯,並且當遮擋物件在一或多個體積元素與視點之間時,第一佈告板可以是距視點最遠的佈告板。此外,一或多個體積元素可以與多個佈告板中的第二佈告板相關聯,並且第二佈告板可以是距視點最近的佈告板。此外,一或多個層之每一者可以與距視點的距離相關聯。一或多個層之每一者距視點的距離可以與佈告板的配置相關聯。佈告板的配置可以與一或多個體積元素的配置相關聯。
在830處,GPU部件802可以產生與第一訊框的視點相關聯的複數個佈告板,其中複數個佈告板是基於複數個佈告板的配置產生的。
在840處,GPU部件802可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集。影像可以是半透明影像。
在850處,GPU部件802可以基於一或多個體積元素的幾何配置或複數個佈告板的幾何配置中的至少一個來計算映射的配置。
在860處,GPU部件802可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板。在一些態樣中,該映射可以是投影幾何映射或幾何投影。
在870處,GPU部件802可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集。資料可以是圖元資料或紋理資料中的至少一種。
在880處,GPU部件802可以基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板。在一些實例中,可以基於一或多個混合權重混合至少一個佈告板,並且可以基於圖元集的透明度或圖元集的深度中的至少一個來推斷一或多個混合權重。
在890處,GPU部件802可以基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置,例如,配置892。可以經由調整複數個佈告板的數量或調整複數個佈告板的幾何變換來調整複數個佈告板的配置。此外,若視點被調整或者一或多個體積元素被調整,則複數個佈告板的配置可以被調整。可以經由調整一或多個體積元素的數量或者調整一或多個體積元素的幾何變換來調整一或多個體積元素。此外,可以向另一個部件(例如,顯示器806)發送複數個佈告板的配置(例如,配置892)。
圖9圖示根據本案的一或多個技術的實例方法的實例流程圖900。該方法可以由諸如伺服器、客戶端設備、GPU、CPU的裝置或者用於圖形處理的裝置執行。
在904處,裝置可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素,如圖8中的820所描述的。此外,圖1中的處理單元120可以執行步驟904。複數個佈告板的配置可以基於複數個佈告板中的至少一個佈告板的一部分,該部分與複數個佈告板中的至少一個其他佈告板的一部分重疊。此外,可以基於複數個訊框中的至少一個後續訊框的視點來配置複數個佈告板。
在一些態樣中,一或多個體積元素可以與多個佈告板中的第一佈告板相關聯,並且當遮擋物件在一或多個體積元素與視點之間時,第一佈告板可以是距視點最遠的佈告板。此外,一或多個體積元素可以與多個佈告板中的第二佈告板相關聯,並且第二佈告板可以是距視點最近的佈告板。此外,一或多個層之每一者可以與距視點的距離相關聯。一或多個層之每一者距視點的距離可以與佈告板的配置相關聯。佈告板的配置可以與一或多個體積元素的配置相關聯。
在908處,裝置可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集,如圖8中的840所描述的。此外,圖1中的處理單元120可以執行步驟908。在一些實例中,影像可以是半透明影像。
在914處,裝置可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在多個佈告板中的至少一個佈告板中,該資料對應於圖元集,如圖8中的870所描述的。此外,圖1中的處理單元120可以執行步驟914。資料可以是圖元資料或紋理資料中的至少一種。
圖10圖示根據本案的一或多個技術的實例方法的實例流程圖1000。該方法可以由諸如伺服器、客戶端設備、GPU、CPU的裝置或者用於圖形處理的裝置執行。
在1002處,裝置可以計算與第一訊框的視點相關聯的複數個佈告板的數量,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以計算與第一訊框的視點相關聯的複數個佈告板的數量,如圖8中的810所描述的。此外,圖1中的處理單元120可以執行步驟1002。可以基於第一訊框的解析度品質、一或多個體積元素、渲染的影像的頻寬或渲染的影像的渲染時間中的至少一個來計算多個佈告板的數量。
在1004處,裝置可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素,如圖8中的820所描述的。此外,圖1中的處理單元120可以執行步驟1004。複數個佈告板的配置可以基於複數個佈告板中的至少一個佈告板的一部分,該部分與複數個佈告板中的至少一個其他佈告板的一部分重疊。此外,可以基於複數個訊框中的至少一個後續訊框的視點來配置複數個佈告板。
在一些態樣中,一或多個體積元素可以與複數個佈告板中的第一佈告板相關聯,並且當遮擋物件在一或多個體積元素與視點之間時,第一佈告板可以是距視點最遠的佈告板。此外,一或多個體積元素可以與複數個佈告板中的第二佈告板相關聯,並且第二佈告板可以是距視點最近的佈告板。此外,一或多個層之每一者可以與距視點的距離相關聯。一或多個層之每一者距視點的距離可以與佈告板的配置相關聯。佈告板的配置可以與一或多個體積元素的配置相關聯。
在1006處,裝置可以產生與第一訊框的視點相關聯的複數個佈告板,其中複數個佈告板是基於複數個佈告板的配置產生的,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以產生與第一訊框的視點相關聯的複數個佈告板,其中複數個佈告板是基於複數個佈告板的配置產生的,如圖8中的830所描述的。此外,圖1中的處理單元120可以執行步驟1006。
在1008處,裝置可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集,如圖8中的840所描述的。此外,圖1中的處理單元120可以執行步驟1008。在一些實例中,影像可以是半透明影像。
在1010處,裝置可以基於一或多個體積元素的幾何配置或複數個佈告板的幾何配置中的至少一個來計算映射的配置,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以基於一或多個體積元素的幾何配置或複數個佈告板的幾何配置中的至少一個來計算映射的配置,如圖8中的850所描述的。此外,圖1中的處理單元120可以執行步驟1010。
在1012處,裝置可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板,如圖8中的860所描述的。此外,圖1中的處理單元120可以執行步驟1012。在一些態樣中,該映射可以是投影幾何映射或幾何投影。
在1014處,裝置可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集,如圖8中的870所描述的。此外,圖1中的處理單元120可以執行步驟1014。資料可以是圖元資料或紋理資料中的至少一種。
在1016處,裝置可以基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板,如圖8中的880所描述的。此外,圖1中的處理單元120可以執行步驟1016。在一些實例中,可以基於一或多個混合權重混合至少一個佈告板,並且可以基於圖元集的透明度或圖元集的深度中的至少一個來推斷一或多個混合權重。
在1018處,裝置可以基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置,如結合圖2至圖8中的實例所描述的。例如,GPU部件802可以基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置,如圖8中的890所描述的。此外,圖1中的處理單元120可以執行步驟1018。可以經由調整複數個佈告板的數量或調整複數個佈告板的幾何變換來調整複數個佈告板的配置。此外,若視點被調整或者一或多個體積元素被調整,則複數個佈告板的配置可以被調整。可以經由調整一或多個體積元素的數量或者調整一或多個體積元素的幾何變換來調整一或多個體積元素。
在一種配置中,提供了用於圖形處理的方法或裝置。裝置可以是伺服器、客戶端設備、GPU、CPU,或者可以執行圖形處理的某一其他處理器。在一個態樣中,裝置可以是設備104內的處理單元120,或者可以是設備104或另一個設備內的某一其他硬體。裝置(例如,處理單元120)可以包括用於配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板的部件,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素;用於渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像的部件,該渲染的影像包括圖元集;用於基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中的部件,該資料對應於圖元集;用於基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板的部件;用於基於一或多個體積元素的幾何配置多個佈告板的幾何配置中的至少一個來計算映射的配置的部件;用於基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板的部件;用於產生與第一訊框的視點相關聯的複數個佈告板的部件,其中該複數個佈告板是基於複數個佈告板的配置產生的;用於計算與第一訊框的視點相關聯的複數個佈告板的數量的部件;及用於基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置的部件。
本文描述的主題可以被實現為實現一或多個益處或優點。例如,所描述的圖形處理技術可以由伺服器、客戶端、GPU、CPU或者可以執行圖形處理以實現本文描述的渲染技術的某一其他處理器。與其他圖形處理技術相比,這亦可以以較低成本實現。此外,本文的圖形處理技術可以改進或加速資料處理或執行。此外,本文的圖形處理技術可以提高資源或資料利用率及/或資源效率。此外,本案的態樣可以利用渲染程序,該渲染程序可以配置佈告板或層以用於體積效果的物件空間渲染。
根據本案,在上下文沒有另外規定的情況下,術語「或」可以被解釋為「及/或」。此外,在上下文沒有另外規定的情況下,儘管諸如「一或多個」或「至少一個」等的短語可能已用於本文揭示的某些特徵而非其他特徵,但未使用此類語言的特徵可以被解釋為具有這樣所暗示的含義。
在一或多個實例中,本文所描述的功能可以以硬體、軟體、韌體或其任意組合實現。例如,儘管貫穿本案使用了術語「處理單元」,但是此類處理單元可以以硬體、軟體、韌體或其任何組合來實現。若本文所描述的任何功能、處理單元、技術或其他模組以軟體實現,則本文所描述的功能、處理單元、技術或其他模組可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或作為一或多個指令或代碼來發送。電腦可讀取媒體可以包括電腦資料儲存媒體或通訊媒體,該通訊媒體包括便於從一個地方向另一個地方傳送電腦程式的任何媒體。以這種方式,電腦可讀取媒體通常可以對應於(1)有形電腦可讀取儲存媒體,其是非暫時性的或(2)諸如信號或載波的通訊媒體。資料儲存媒體可以是可由一或多個電腦或者一或多個處理器存取以檢索用於實現本案中描述的技術的指令、代碼及/或資料結構的任何可用媒體。作為示例而非限制,這種電腦可讀取媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁存放裝置。如本文使用的磁碟和光碟包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地複製資料,而光碟用鐳射光學地複製資料。上述的組合亦應被包括在電腦可讀取媒體的範疇內。電腦程式產品可以包括電腦可讀取媒體。
代碼可以由一或多個處理器執行,諸如一或多個數位訊號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、算數邏輯單位(ALU)、現場可程式設計邏輯陣列( FPGA),或其他等效的整合或個別邏輯電路。因此,如本文所使用的術語「處理器」可以指前述結構中的任一個或者適用於實現本文所描述的技術的任何其他結構。此外,技術可以在一或多個電路或邏輯元件中完全實現。
本案的技術可以在多種設備或裝置中實現,包括無線手持機、積體電路(IC)或IC集,例如,晶片集。本案中描述了各種部件、模組或單元以強調被配置為執行所揭示的技術的設備的功能態樣,但不必需由不同的硬體單元來實現。相反,如以上所描述,各種單元可以結合在任何硬體單元中或者由交互動操作硬體單元的集合(包括如以上所描述的一或多個處理器)結合合適的軟體及/或韌體來提供。
已經描述了各個態樣和實例。這些以及其他態樣和實例在請求項的範疇內。
以下態樣是僅說明性的,並且可以與本文描述的其他態樣或教導相結合,而沒有限制。
態樣1是用於圖形處理的裝置,該裝置包括至少一個處理器,其耦合到記憶體並且被配置為:配置與複數個訊框中的第一訊框的視點相關聯的複數個佈告板,該複數個佈告板被配置在至少部分地圍繞視點的一或多個層中,該複數個佈告板的配置基於複數個佈告板中的至少一個與視點之間的一或多個體積元素;渲染與複數個佈告板中的至少一個佈告板與視點之間的一或多個體積元素之每一者相關聯的影像,該渲染的影像包括圖元集;及基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料儲存在複數個佈告板中的至少一個佈告板中,該資料對應於圖元集。
態樣2是態樣1之裝置,其中至少一個處理器亦被配置為:基於與一或多個體積元素之每一者相關聯的渲染的影像來將資料映射到複數個佈告板中的至少一個佈告板。
態樣3是態樣1和2中任一項所述的裝置,其中至少一個處理器亦被配置為:基於一或多個體積元素的幾何配置或複數個佈告板的幾何配置中的至少一個來計算映射的配置。
態樣4是態樣1至3中任一項所述的裝置,其中映射是投影幾何映射或幾何投影。
態樣5是態樣1至4中任一項所述的裝置,其中至少一個處理器亦被配置為:基於儲存在至少一個佈告板中的資料混合複數個佈告板中的至少一個佈告板。
態樣6是態樣1至5中任一項所述的裝置,其中至少一個佈告板是基於一或多個混合權重混合的,並且其中一或多個混合權重是基於圖元集的透明度或圖元集的深度中的至少一個推斷的。
態樣7是態樣1至6中任一項所述的裝置,其中至少一個處理器亦被配置為:產生與第一訊框的視點相關聯的多個佈告板,其中複數個佈告板是基於複數個佈告板的配置產生的。
態樣8是態樣1至7中任一項所述的裝置,其中一或多個體積元素與複數個佈告板中的第一佈告板相關聯,其中當遮擋物件在一或多個體積元素與視點之間時,第一佈告板是距視點最遠的佈告板。
態樣9是態樣1至8中任一項所述的裝置,其中一或多個體積元素與複數個佈告板中的第二佈告板相關聯,其中第二佈告板是距視點最近的佈告板。
態樣10是態樣1至9中任一項所述的裝置,其中複數個佈告板的配置基於複數個佈告板中的至少一個佈告板的一部分,該部分與複數個佈告板中的至少一個其他佈告板的一部分重疊。
態樣11是態樣1至10中任一項所述的裝置,其中一或多個層之每一者與距視點的距離相關聯。
態樣12是態樣1至11中任一項所述的裝置,其中一或多個層之每一者距視點的距離與佈告板的配置相關聯。
態樣13是態樣1至12中任一項所述的裝置,其中佈告板的配置與一或多個體積元素的配置相關聯。
態樣14是態樣1至13中任一項所述的裝置,其中至少一個處理器亦被配置為:計算與第一訊框的視點相關聯的複數個佈告板的數量。
態樣15是態樣1至14中任一項所述的裝置,其中複數個佈告板的數量是基於第一訊框的解析度品質、一或多個體積元素、渲染的影像的頻寬或渲染的影像的渲染時間中的至少一個計算的。
態樣16是態樣1至15中任一項所述的裝置,其中至少一個處理器亦被配置為:基於視點或者一或多個體積元素中的至少一個來調整複數個佈告板的配置。
態樣17是態樣1至16中任一項所述的裝置,其中複數個佈告板的配置是經由調整複數個佈告板的數量或調整複數個佈告板的幾何變換而調整的。
態樣18是態樣1至17中任一項所述的裝置,其中若視點被調整或者一或多個體積元素被調整,則複數個佈告板的配置被調整。
態樣19是態樣1至18中任一項所述的裝置,其中一或多個體積元素是經由調整一或多個體積元素的數量或者調整一或多個體積元素的幾何變換而調整的。
態樣20是態樣1至19中任一項所述的裝置,其中資料是圖元資料或紋理資料中的至少一種。
態樣21是態樣1至20中任一項所述的裝置,其中影像是半透明影像。
態樣22是態樣1至21中任一項所述的裝置,其中複數個佈告板是基於複數個訊框中的至少一個後續訊框的視點而配置的。
態樣23是態樣1至22中任一項所述的裝置,亦包括耦合到至少一個處理器的收發器。
態樣24是用於實現態樣1至23中的任一項的無線通訊的方法。
態樣25是用於無線通訊的裝置,該裝置包括用於實現態樣1至23中的任一項的部件。
態樣26是儲存電腦可執行代碼的電腦可讀取媒體,其中該代碼在由處理器執行時使處理器實現態樣1至23中的任一項。
1:粒子1-2:粒子2:粒子100:系統104:設備107:圖形處理管線120:處理單元121:內部記憶體122:內容編碼器/解碼器123:內部記憶體124:系統記憶體126:通訊介面127:顯示處理器128:接收器130:發送器131:顯示器132:收發器198:決定部件200:圖210:佈告板220:佈告板230:佈告板240:佈告板250:佈告板300:圖301:佈告板302:佈告板303:佈告板304:佈告板400:圖401:佈告板402:佈告板403:佈告板404:佈告板411:佈告板412:佈告板413:佈告板414:佈告板421:佈告板422:佈告板423:佈告板424:佈告板430:粒子440:使用者450:圖451:佈告板452:佈告板453:佈告板454:佈告板461:佈告板462:佈告板463:佈告板464:佈告板471:佈告板472:佈告板473:佈告板474:佈告板480:邊界框490:使用者500:圖501:佈告板502:佈告板550:圖551:佈告板552:佈告板600:圖601:佈告板602:佈告板603:佈告板700:圖702:前佈告板704:後佈告板710:遮擋物件或遮擋物711:粒子712:粒子800:圖802,804:GPU部件806:顯示器810:方塊812:佈告板820:方塊830:方塊840:方塊850:方塊860:方塊870:方塊880:方塊890:方塊892:配置900:流程圖904:方塊908:方塊914:方塊1000:流程圖1002:方塊1004:方塊1006:方塊1008:方塊1010:方塊1012:方塊1014:方塊1016:方塊1018:方塊b:長度p/2:重疊
圖1是圖示根據本案的一或多個技術的實例內容產生系統的方塊圖。
圖2圖示根據本案的一或多個技術的實例深度對準佈告板的圖。
圖3圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖4A圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖4B圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖5A圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖5B圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖6圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖7圖示根據本案的一或多個技術的實例佈告板配置的圖。
圖8是根據本案的一或多個技術的部件之間的實例通訊的通訊流程圖。
圖9圖示根據本案的一或多個技術的實例方法的實例流程圖。
圖10圖示根據本案的一或多個技術的實例方法的實例流程圖。
800:圖802,804:GPU部件806:顯示器810:方塊812:佈告板820:方塊830:方塊840:方塊850:方塊860:方塊870:方塊880:方塊890:方塊892:配置
Claims (29)
- 一種用於圖形處理的裝置,包括:記憶體;及至少一個處理器,該至少一個處理器耦合到該記憶體並且被配置為:在至少部分地圍繞複數個訊框中的一第一訊框的一視點的一或多個層中配置複數個佈告板,其中該複數個佈告板的該配置基於在該複數個佈告板中的至少一個佈告板與該視點之間的一或多個體積元素;渲染與在該複數個佈告板中的一第一佈告板與該視點之間的該一或多個體積元素之每一者體積元素相關聯的一影像,其中該一或多個體積元素之每一者體積元素在該第一佈告板與該複數個佈告板中的一第二佈告板之間,其中該第二佈告板相較於該第一佈告板更靠近該視點,其中若一遮擋物件在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第一佈告板相關聯,其中若該遮擋物件不在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第二佈告板相關聯,且其中該渲染的影像包括一圖元集;基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像及該複數個佈告板的一幾何配置來將資料映射到該第一佈告板或該第二佈告板中的至少一個;及基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像來將該資料儲存在該第一佈告板或該第二佈告板中的至少一個中,其中該資料對應於該圖元集。
- 根據請求項1之裝置,其中該至少一個處理器亦被配置為:基於該一或多個體積元素的一幾何配置或該複數個佈告板的該幾何配置中的至少一個來計算用於該映射的一配置。
- 根據請求項1之裝置,其中該映射是一投影幾何映射或一幾何投影。
- 根據請求項1之裝置,其中該至少一個處理器亦被配置為:基於儲存在該第一佈告板或該第二佈告板中的至少一個中的該資料混合該第一佈告板或該第二佈告板中的至少一個。
- 根據請求項4之裝置,其中為了混合該第一佈告板或該第二佈告板中的至少一個,該至少一個處理器被配置為:基於一或多個混合權重混合該第一佈告板或該第二佈告板中的至少一個,並且其中該一或多個混合權重是基於該圖元集的一透明度或該圖元集的一深度中的至少一個推斷的。
- 根據請求項1之裝置,其中該至少一個處理器亦被配置為:基於該複數個佈告板的該配置產生產生與該第一訊框的該視點相關聯的該複數個佈告板。
- 根據請求項1之裝置,其中該一或多個體積元素與該複數個佈告板中的該第一佈告板相關聯,其中當一遮擋物件在該一或多個體積元素與該視點之間時,該第一佈告板是距該視點最遠的一佈告板。
- 根據請求項1之裝置,其中該一或多個體積元素與該複數個佈告板中的該第二佈告板相關聯,其中該第二佈告板是距該視點最近的一佈告板。
- 根據請求項1之裝置,其中該複數個佈告板的該配置是基於與該複數個佈告板中的至少一個其他佈告板的一部分重疊的該第一佈告板或該第二佈告板中的至少一個的一部分。
- 根據請求項1之裝置,其中該一或多個層之每一者層與距該視點的一距離相關聯。
- 根據請求項10之裝置,其中該一或多個層之每一者層距該視點的該距離與該佈告板的該配置相關聯。
- 根據請求項10之裝置,其中該佈告板的該配置與該一或多個體積元素的一配置相關聯。
- 根據請求項1之裝置,其中該至少一個處理器亦被配置為:計算與該第一訊框的該視點相關聯的該複數個佈告板的一數量。
- 根據請求項13之裝置,其中為了計算該複數個佈告板的該數量,該至少一個處理器被配置為:基於該第一訊框的一解析度品質、該一或多個體積元素、該渲染的影像的一頻寬或該渲染的影像的一渲染時間中的至少一個來計算該複數個佈告板的該數量。
- 根據請求項1之裝置,其中該至少一個處理器亦被配置為:基於該視點或該一或多個體積元素中的至少一個來調整該複數個佈告板的該配置。
- 根據請求項15之裝置,其中為了調整該複數個佈告板的該配置,該至少一個處理器被配置為:調整該複數個佈告板的一數量或調整該複數個佈告板的一幾何變換。
- 根據請求項15之裝置,其中該至少一個處理器被配置為:若該視點被配置為被調整或者該一或多個體積元素被配置為被調整,則調整該複數個佈告板的該配置。
- 根據請求項17之裝置,其中為了調整該一或多個體積元素,該至少一個處理器被配置為:調整該一或多個體積元素的一數量或者調整該一或多個體積元素的一幾何變換。
- 根據請求項1之裝置,其中該資料是圖元資料或紋理資料中的至少一種。
- 根據請求項1之裝置,亦包括耦合到該至少一個處理器的一收發器,其中該影像是一半透明影像。
- 根據請求項1之裝置,其中為了配置該複數個佈告板,該至少一個處理器被配置為:基於該複數個訊框中的至少一個後續訊框的一視點來配置該複數個佈告板。
- 一種圖形處理的方法,包括以下步驟:在至少部分地圍繞複數個訊框中的一第一訊框的一視點的一或多個層中配置複數個佈告板,其中該複數個佈告板的該配置基於在該複數個佈告板中的至少一個佈告板與該視點之間的一或多個體積元素;渲染與在該複數個佈告板中的一第一佈告板與該視點之間的該一或多個體積元素之每一者體積元素相關聯的一影像,其中該一或多個體積元素之每一者體積元素在該第一佈告板與該複數個佈告板中的一第二佈告板之間,其中該第二佈告板相較於該第一佈告板更靠近該視點,其中若一遮擋物件在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第一佈告板相關聯,其中若該遮擋物件不在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第二佈告板相關聯,且其中該渲染的影像包括一圖元集;基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像及該複數個佈告板的一幾何配置來將資料映射到該第一佈告板或該第二佈告板中的至少一個;及基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像來將該資料儲存在該第一佈告板或該第二佈告板中的至少一個中,其中該資料對應於該圖元集。
- 根據請求項22之方法,亦包括以下步驟:基於該一或多個體積元素的一幾何配置或該複數個佈告板的該幾何配置中的至少一個來計算用於該映射的一配置。
- 根據請求項22之方法,亦包括以下步驟:基於儲存在該第一佈告板或該第二佈告板中的至少一個中的該資料混合該第一佈告板或該第二佈告板中的至少一個。
- 根據請求項22之方法,亦包括以下步驟:產生與該第一訊框的該視點相關聯的該複數個佈告板,其中該複數個佈告板是基於該複數個佈告板的該配置產生的。
- 根據請求項22之方法,亦包括以下步驟:計算與該第一訊框的該視點相關聯的該複數個佈告板的一數量,其中該複數個佈告板的該數量是基於該第一訊框的一解析度品質、該一或多個體積元素、該渲染的影像的一頻寬或該渲染的影像的一渲染時間中的至少一個計算的。
- 根據請求項22之方法,亦包括以下步驟:基於該視點或該一或多個體積元素中的至少一個來調整該複數個佈告板的該配置。
- 一種用於圖形處理的裝置,包括:用於在至少部分地圍繞複數個訊框中的一第一訊框的一視點的一或多個層中配置複數個佈告板的部件,其中該複數個佈告板的該配置基於在該複數個佈告板中的至少一個佈告板與該視點之間的一或多個體積元素;用於渲染與在該複數個佈告板中的一第一佈告板與該視點之間的該一或多個體積元素之每一者體積元素相關聯的一影像的部件,其中該一或多個體積元素之每一者體積元素在該第一佈告板與該複數個佈告板中的一第二佈告板之間,其中該第二佈告板相較於該第一佈告板更靠近該視點,其中若一遮擋物件在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第一佈告板相關聯,其中若該遮擋物件不在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第二佈告板相關聯,且其中該渲染的影像包括一圖元集;用於基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像及該複數個佈告板的一幾何配置來將資料映射到該第一佈告板或該第二佈告板中的至少一個的部件;及用於基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像來將該資料儲存在該第一佈告板或該第二佈告板中的至少一個中的部件,其中該資料對應於該圖元集。
- 一種儲存用於圖形處理的電腦可執行代碼的非暫時性電腦可讀取媒體,該代碼在由一處理器執行時使該處理器:在至少部分地圍繞複數個訊框中的一第一訊框的一視點的一或多個層中配置複數個佈告板,其中該複數個佈告板的該配置基於在該複數個佈告板中的至少一個佈告板與該視點之間的一或多個體積元素;渲染與在該複數個佈告板中的一第一佈告板與該視點之間的該一或多個體積元素之每一者體積元素相關聯的一影像,其中該一或多個體積元素之每一者體積元素在該第一佈告板與該複數個佈告板中的一第二佈告板之間,其中該第二佈告板相較於該第一佈告板更靠近該視點,其中若一遮擋物件在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第一佈告板相關聯,其中若該遮擋物件不在該體積元素與該視點之間,則該一或多個體積元素之每一者體積元素與該第二佈告板相關聯,且其中該渲染的影像包括圖元集;基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像及該複數個佈告板的一幾何配置來將資料映射到該第一佈告板或該第二佈告板中的至少一個;及基於與該一或多個體積元素之每一者體積元素相關聯的該渲染的影像來將該資料儲存在該第一佈告板或該第二佈告板中的至少一個中,其中該資料對應於該圖元集。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202063067050P | 2020-08-18 | 2020-08-18 | |
| US63/067,050 | 2020-08-18 | ||
| US17/400,031 | 2021-08-11 | ||
| US17/400,031 US11875452B2 (en) | 2020-08-18 | 2021-08-11 | Billboard layers in object-space rendering |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202228082A TW202228082A (zh) | 2022-07-16 |
| TWI911260B true TWI911260B (zh) | 2026-01-11 |
Family
ID=
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130321593A1 (en) | 2012-05-31 | 2013-12-05 | Microsoft Corporation | View frustum culling for free viewpoint video (fvv) |
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20130321593A1 (en) | 2012-05-31 | 2013-12-05 | Microsoft Corporation | View frustum culling for free viewpoint video (fvv) |
Non-Patent Citations (1)
| Title |
|---|
| 期刊 Harris, M. J., & Lastra, A. Real-time cloud rendering for games In Proceedings of Game Developers Conference (pp. 21-29) In Proceedings of Game Developers Conference 2002/03/31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101697910B1 (ko) | 그래픽 프로세싱을 위한 임의적 제어 지점들에서의 결함-허용 선점 메커니즘 | |
| US20200020067A1 (en) | Concurrent binning and rendering | |
| CN112740278B (zh) | 用于图形处理的方法及设备 | |
| WO2021202055A2 (en) | Methods and apparatus for handling occlusions in split rendering | |
| US11631212B2 (en) | Methods and apparatus for efficient multi-view rasterization | |
| US12136166B2 (en) | Meshlet shading atlas | |
| US11875452B2 (en) | Billboard layers in object-space rendering | |
| US20250086882A1 (en) | Z-clipping for primitive samples | |
| TWI911260B (zh) | 用於圖形處理的裝置、方法及電腦可讀取媒體 | |
| US20240412450A1 (en) | Checkerboard mask optimization in occlusion culling | |
| US11893654B2 (en) | Optimization of depth and shadow pass rendering in tile based architectures | |
| CN119816864A (zh) | 用于图形处理的快速msaa技术 | |
| TWI908850B (zh) | 用於經壓縮的幾何形狀渲染與資料串流的方法、裝置和電腦可讀取媒體 | |
| KR20260006573A (ko) | 멀티-유저 스플릿 xr 시스템들에서의 멀티-레벨 이미지 품질의 렌더링 | |
| WO2023055655A1 (en) | Meshlet shading atlas | |
| TW202512106A (zh) | 用於紋理空間著色的切割預言機 | |
| CN121039707A (zh) | 稀疏合成 | |
| TW202215376A (zh) | 用於圖形處理單元混合渲染的裝置和方法 | |
| TW202134996A (zh) | 用於減少渲染資訊的傳輸的方法和裝置 |