TW202141417A - 用於高效多視圖光柵化的方法和裝置 - Google Patents

用於高效多視圖光柵化的方法和裝置 Download PDF

Info

Publication number
TW202141417A
TW202141417A TW110107096A TW110107096A TW202141417A TW 202141417 A TW202141417 A TW 202141417A TW 110107096 A TW110107096 A TW 110107096A TW 110107096 A TW110107096 A TW 110107096A TW 202141417 A TW202141417 A TW 202141417A
Authority
TW
Taiwan
Prior art keywords
viewpoints
zones
buffer
zone
viewpoint
Prior art date
Application number
TW110107096A
Other languages
English (en)
Inventor
迪特 史坎麥爾斯汀
伯恩哈德 克布爾
菲利浦 福格雷特爾
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202141417A publication Critical patent/TW202141417A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Image Generation (AREA)

Abstract

本公開涉及用於圖形處理的方法和裝置。本公開的各方面可以確定包括一個或多個視點的至少一個場景。而且,本公開的各方面可以基於一個或多個視點中的每一個將至少一個場景劃分為多個區帶。此外,本公開的各方面可以確定基於一個或多個視點中的一個視點的區帶是否與基於一個或多個視點中的另一視點的區帶實質相似。本公開的各方面還可以基於一個或多個視點生成用於多個區帶中的每一個的幾何圖形緩衝區。此外,本公開的各方面可以基於一個或多個視點對用於多個區帶中的每一個的幾何圖形緩衝區進行組合。

Description

用於高效多視圖光柵化的方法和裝置
本公開總體上涉及處理系統,並且更具體地,涉及一種或多種用於圖形處理的技術。
計算設備通常利用圖形處理單元(GPU)來加速圖形資料的呈現以進行顯示。這樣的計算設備可以包括例如計算機工作站、諸如所謂的智慧型電話的移動電話、嵌入式系統、個人計算機、平板計算機和視頻遊戲機。GPU執行圖形處理管線,該圖形處理管線包括一起運行以執行圖形處理命令並輸出幀的一個或多個處理級。中央處理單元(CPU)可以通過向GPU發佈一個或多個圖形處理命令來控制GPU的操作。現代的CPU通常能夠同時執行多個應用,這些應用中的每一個在執行過程中可能需要利用GPU。提供用於在顯示器上進行視覺呈現的內容的設備通常包括GPU。
通常,設備的GPU被配置為執行圖形處理管線中的處理。然而,隨著無線通訊和更小的手持設備的出現,改進圖形處理的需求日益增長。
下面呈現一個或多個方面的簡化概述,以便提供對這些方面的基本理解。此概述不是所有預期方面的廣泛概述,並且既不旨在標識所有方面的關鍵元素,也不旨在描繪任何或所有方面的範圍。其唯一目的是以簡化的形式呈現一個或多個方面的一些概念,作為稍後呈現的更詳細描述的序言。
在本公開的方面,提供了方法、計算機可讀媒體和裝置。裝置可以是中央處理單元(CPU)、圖形處理單元(GPU)或能夠執行圖形處理的任何裝置。裝置可以確定包括一個或多個視點的至少一個場景。而且,裝置可以基於一個或多個視點中的每一個將至少一個場景劃分為多個區帶。另外,裝置可以確定基於一個或多個視點中的一個視點的區帶是否與基於一個或多個視點中的另一視點的區帶實質相似。裝置還可以基於一個或多個視點生成用於多個區帶中的每一個的幾何圖形緩衝區。此外,裝置可以基於一個或多個視點對用於多個區帶中的每一個的幾何圖形緩衝區進行組合。裝置還可以確定用於潛在可見圖元集中的至少一些的繪影資訊。另外,裝置可以儲存潛在可見圖元集中的至少一些。裝置還可以基於用於一個或多個視點的多個區帶中的每一個的幾何圖形緩衝區來呈現至少一個圖像。
在以下附圖和說明中闡述了本公開的一個或者多個示例的細節。根據說明書和附圖以及根據申請專利範圍,本公開的其他特徵、目的和優點將是顯而易見的。
多視圖光柵化(MVR)是一種基於使用多個視圖對場景或圖像進行光柵化的方式。例如,MVR可以根據多個相似的攝像機視點或位置生成多個視圖。視點可以被劃分為多個區帶或子緩衝區。在某些情況下,如果圖元存在于多個區帶或子緩衝區中,則可能存在剪裁,即圖元在區帶或子緩衝區的邊界處的劃分。此外,在MVR中針對距視點或攝像機遠距離的對象所生成的視點數量可能會很多。例如,可能會丟棄和/或不利用距攝像機遠距離的這些視點。本公開的各方面可以解決上述剪裁問題或在MVR中具有大量視點的問題。例如,本公開的各方面可以減少在MVR中針對距視點或攝像機遠距離的對象所生成的視點的數量。在某些情況下,本公開的各方面可以確定用於一個視點的區帶是否與用於另一視點的區帶實質相似或相同。
在下文中參考附圖更全面地描述了系統、裝置、計算機程式產品和方法的各個方面。然而,本公開可以以許多不同的形式實施,並且不應被解釋為限於貫穿本公開呈現的任何特定結構或功能。而是,提供這些方面以使得本公開將是透徹和完整的,並將向本領域技術人員全面傳達本公開的範圍。基於本文的教導,本領域的技術人員應理解,本公開的範圍旨在覆蓋本文所公開的系統、裝置、計算機程式產品和方法的任何方面,無論是獨立於本公開的任何其他方面還是與本公開的任何其他方面組合所實現的。例如,可以使用本文闡述的任何數目的方面來實現裝置或可以實踐方法。另外,本公開的範圍旨在覆蓋這樣的裝置或方法,該裝置或方法使用除本文闡述的本公開的各個方面之外或以外的其他結構、功能或結構和功能來實踐。本文公開的任何方面可以由申請專利範圍的一個或多個元素來實施。
儘管本文描述了各個方面,但是這些方面的許多變型和排列都落入本公開的範圍內。儘管提到了本公開的各方面的一些潛在的益處和優點,但是本公開的範圍並不旨在限於特定的益處、用途或目的。而是,本公開的各方面旨在廣泛地適用於不同的無線技術、系統配置、網絡和傳輸協議,其中的一些以示例的方式在附圖和以下描述中圖示出來。詳細的描述和附圖僅是對本公開的說明而不是限制,本公開的範圍由所附請求項及其等同物限定。
參照各種裝置和方法呈現了幾個方面。這些裝置和方法在下面的詳細描述中進行描述,並在附圖中通過各種框、組件、電路、處理、算法等(統稱為“元素”)進行圖示。可以使用電子硬體、計算機軟體、或其任意組合來實現這些元素。將這些元素實現為硬體還是軟體取決於特定的應用和施加在整個系統上的設計約束。
作為示例,元件或元件的任何部分或元件的任何組合可以被實現為包括一個或多個處理器(也可以被稱為處理單元)的“處理系統”。處理器的示例包括微處理器、微控制器、圖形處理單元(GPU)、通用GPU(GPGPU)、中央處理器(CPU)、應用處理器、數位訊號處理器(DSP)、精簡指令集計算(RISC)處理器、單晶片系統(SOC)、基頻處理器、專用積體電路(ASIC)、現場可編程閘陣列(FPGA)、可編程邏輯設備(PLD)、狀態機、閘控邏輯、離散硬體電路以及被配置為執行貫穿本公開描述的各種功能的其他合適硬體。處理系統中的一個或多個處理器可以執行軟體。軟體可以廣義地解釋為指令、指令集、程式碼、程式碼段、程序程式碼、程式、子程式、軟體組件、應用、軟體應用、軟體包、例程、子例程、對象、可執行檔案、執行線程、過程、功能等,無論是被稱為軟體、韌體、中間件、微碼、硬體描述語言還是其他形式。術語應用可以指代軟體。如本文所述,一種或多種技術可以指被配置為執行一個或多個功能的應用,即軟體。在這樣的示例中,應用可以被儲存在記憶體中,例如,處理器的片上記憶體、系統記憶體、或任何其他記憶體。本文描述的硬體(例如處理器)可以被配置為執行應用。例如,應用可以被描述為包括在由硬體執行時使得硬體執行本文描述的一種或多種技術的程式碼。作為示例,硬體可以從記憶體訪問程式碼並且執行從記憶體訪問的程式碼以執行本文描述的一種或多種技術。在一些示例中,在本公開中標識了組件。在這樣的示例中,組件可以是硬體、軟體或其組合。組件可以是單獨的組件,還可以是單個組件的子組件。
因此,在本文描述的一個或多個示例中,可以以硬體、軟體或其任何組合來實現所描述的功能。如果以軟體實現,則功能可以是被儲存在計算機可讀媒體上或被編碼為計算機可讀媒體上的一條或多條指令或程式碼。計算機可讀媒體包括計算機儲存媒體。儲存媒體可以是能被計算機訪問的任何可用媒體。作為示例而非限制,這種計算機可讀媒體可以包括隨機存取記憶體(RAM)、只讀記憶體(ROM)、電可擦除可編程ROM(EEPROM)、光碟儲存、磁碟儲存、其他磁性儲存設備、上述類型的計算機可讀媒體的組合,或者可以用於以可以由計算機訪問的指令或資料的形式儲存計算機可執行程式碼的任何其他媒體。
通常,本公開描述了用於在單個設備或多個設備中具有圖形處理管線、改進圖形內容的呈現和/或減少處理單元(即,被配置為執行本文所述的一個或多個技術的任何處理單元,諸如GPU)的負載的技術。例如,本公開描述了用於在利用圖形處理的任何設備中進行圖形處理的技術。貫穿本公開描述了其他示例益處。
如本文所使用的,術語“內容”的示例可以指代“圖形內容”、“圖像”,反之亦然。不論術語是否被用作形容詞、名詞或其他詞性,都是如此。在一些示例中,如本文使用的,術語“圖形內容”可以指代由圖形處理管線的一個或多個處理所產生的內容。在一些示例中,如本文使用的,術語“圖形內容”可以指代由被配置為執行圖形處理的處理單元所產生的內容。在一些示例中,如本文使用的,術語“圖形內容”可以指代由圖形處理單元所產生的內容。
在一些示例中,如本文使用的,術語“顯示內容”可以指代由被配置為執行顯示處理的處理單元所生成的內容。在一些示例中,如本文使用的,術語“顯示內容”可以指代由顯示處理單元所生成的內容。圖形內容可以被處理以變為顯示內容。例如,圖形處理單元可以將諸如幀的圖形內容輸出到緩衝區(其可以被稱為幀緩沖區)。顯示處理單元可以從緩衝區讀取諸如一個或多個幀的圖形內容,並且在其上執行一種或多種顯示處理技術以生成顯示內容。例如,顯示處理單元可以被配置為在一個或多個經呈現的層上執行合成以生成幀。作為另一示例,顯示處理單元可以被配置為對兩個或更多個層進行合成、混合或以其他方式組合在一起形成單個幀。顯示處理單元可以被配置為對幀執行縮放,例如放大或縮小。在一些示例中,幀可以指層。在其他示例中,幀可以指已經混合在一起以形成該幀的兩個或更多個層,即,幀包括兩個或更多個層,並且包括兩個或更多個層的幀可以隨後被混合。
圖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)顯示器、投影顯示設備、增強實境顯示設備、虛擬實境顯示設備、頭戴式顯示器或任何其他類型的顯示設備。
諸如系統記憶體124的在處理單元120和內容編碼器/解碼器122外部的記憶體可以對處理單元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,在某些方面,圖形處理管線107可以包括確定組件198,其被配置為確定包括一個或多個視點的至少一個場景。確定組件198還可以被配置為基於一個或多個視點中的每一個將至少一個場景劃分為多個區帶。確定組件198還可以被配置為確定基於一個或多個視點中的一個視點的區帶是否與基於一個或多個視點中的另一視點的區帶實質相似。確定組件198還可以被配置為基於一個或多個視點生成用於多個區帶中的每一個的幾何圖形緩衝區。確定組件198還可以被配置為基於一個或多個視點對用於多個區帶中的每一個的幾何圖形緩衝區進行組合。確定組件198還可以被配置為確定用於潛在可見圖元集中至少一些的繪影資訊。確定組件198還可以被配置為儲存潛在可見圖元集中的至少一些。確定組件198還可以被配置為基於用於一個或多個視點的多個區帶中的每一個的幾何圖形緩衝區來呈現至少一個圖像。
如本文所述,諸如設備104的設備可以指被配置為執行本文所描述的一種或多種技術的任何設備、裝置或系統。例如,設備可以是伺服器、基站、用戶設備、客戶端設備、站、存取點、計算機(例如個人計算機、臺式計算機、膝上型計算機、平板計算機、計算機工作站、或大型計算機)、終端產品、裝置、電話、智慧型電話、伺服器、視頻遊戲平臺或控制台、手持設備(例如便攜式視頻戲設備或個人數位助理(PDA))、可穿戴計算設備(例如智慧型手錶、增強實境設備或虛擬實境設備)、非可穿戴設備、顯示器或顯示設備、電視機、電視機頂盒、中間網絡設備、數位媒體播放器、視頻流設備、內容流設備、車載計算機、任何移動設備、被配置為生成圖形內容的任何設備或被配置為執行本文所述的一種或多種技術的任何設備。本文中的處理可以被描述為由特定組件(例如GPU)來執行,但是,在進一步的實施例中,可以使用與公開的實施例一致的其他組件(例如CPU)來執行。
GPU可以在GPU管線中處理多種類型的資料或資料封包。例如,在一些方面,GPU可以處理兩種類型的資料或資料封包,例如,上下文寄存器封包和繪製調用資料。上下文寄存器封包可以是全域狀態資訊集,例如,關於全域寄存器、繪影程序、或常量資料的資訊,這些資訊可以調節圖形上下文將如何被處理。例如,上下文寄存器封包可以包括關於顏色格式的資訊。在上下文寄存器封包的一些方面,可以存在指示哪個工作負荷屬上下文寄存器的位元。同樣,可以存在同時和/或並行運行的多個功能或編程。例如,功能或編程可以描述某個操作,例如顏色模式或顏色格式。因此,上下文寄存器可以定義GPU的多個狀態。
可以利用上下文狀態來確定單個處理單元如何工作,例如頂點獲取器(VFD)、頂點繪影器(VS)、繪影器處理器、或幾何圖形處理器和/或處理單元在什麼模式下工作。為此,GPU可以使用上下文寄存器和編程資料。在一些方面,GPU可以基於模式或狀態的上下文寄存器定義在管線中生成工作負荷,例如頂點或像素工作負荷。例如VFD的某些處理單元可以使用這些狀態來確定某些功能,例如頂點如何被組裝。由於這些模式或狀態可以更改,因此GPU可以更改對應的上下文。此外,與模式或狀態相對應的工作負荷可能會跟隨更改中的模式或狀態。
圖2圖示了根據本公開的一種或多種技術的示例GPU 200。如圖2所示,GPU 200包括命令處理器(CP)210、繪製調用包212、VFD 220、VS 222、頂點緩存(VPC)224、三角形設置引擎(TSE)226、光柵化器(RAS)228、Z處理引擎(ZPE)230、像素插值器(PI)232、片段繪影器(FS)234、呈現後端(RB)236、L2緩存(UCHE)238和系統記憶體240。儘管圖2顯示了GPU 200包括處理單元220-238,GPU 200還可以包括多個附加處理單元。另外,處理單元220-238僅是示例,並且根據本公開,GPU可以使用處理單元的任何組合或順序。GPU 200還包括命令緩衝區250、上下文寄存器封包260、和上下文狀態261。
如圖2所示,GPU可以利用例如CP 210的CP或硬體加速器來將命令緩衝區解析為例如上下文寄存器封包260的上下文寄存器封包和/或例如繪製調用包212的繪製調用資料封包。然後,CP 210可以通過單獨的路徑發送上下文寄存器封包260或繪製調用包212到GPU中的處理單元或塊。此外,命令緩衝區250可以改變上下文寄存器和繪製調用的不同狀態。例如,可以按以下方式構造命令緩衝區:上下文N的上下文寄存器、上下文N的(多個)繪製調用、上下文N+1的上下文寄存器和上下文N+1的(多個)繪製調用。
GPU可以以各種方式呈現圖像。在某些情況下,GPU可以使用呈現或圖塊呈現來呈現圖像。在圖塊呈現GPU中,可以將圖像劃分或分隔為不同的區段(section)或圖塊(tile)。劃分圖像後,可以分別呈現每個區段或圖塊。圖塊呈現GPU可以將計算機圖形圖像劃分為方格格式,以便分別呈現方格的每個部分,即圖塊。在一些方面,在分倉(binning)通路過程中,可以將圖像劃分為不同的片塊(bin)或圖塊。在一些方面,在分倉通路過程中,可以構造可見性流,其中可以標識可見圖元或繪製調用。
在一些方面,GPU可以將繪製或呈現處理應用於不同的片塊或圖塊。例如,GPU可以呈現到一個片塊,並對片塊中的圖元或像素執行所有繪製。在呈現到片塊的處理中,呈現目標可以位於GPU內部記憶體(GMEM)中。在某些情況下,在呈現到一個片塊後,可以將呈現目標的內容移動到系統記憶體中,並且可以釋放GMEM以呈現下一個片塊。此外,GPU可以呈現到另一片塊,並對該片塊中的圖元或像素執行繪製。因此,在一些方面,可能存在例如四個片塊的少量的片塊,其覆蓋一個表面中的所有繪製。此外,GPU可以循環遍歷一個片塊中的繪製的全部,但是對可見的繪製調用(即包括可見的幾何圖形的繪製調用)執行繪製。在一些方面,可以例如在分倉通路(binning pass)中生成可見性流,以確定圖像或場景中的每個圖元的可見性資訊。例如,此可見性流可以標識某個圖元是否可見。在一些方面,此資訊可以用於移除(例如在呈現通路中的)不可見的圖元。同樣,可以在呈現通路中呈現被標識為可見的圖元中的至少一些。
在圖塊呈現的一些方面,可以存在多個處理階段或通路。例如,可以在例如可見性或片塊-可見性通路和呈現或片塊-呈現通路的兩個通路中執行呈現。在可見性通路過程中,GPU可以輸入呈現工作負荷,並且記錄圖元或三角形的位置,然後確定哪些圖元或三角形屬哪個片塊或區域。在可見性通路的一些方面,GPU還可以標識或標記可見性流中的每個圖元或三角形的可見性。在呈現通路過程中,GPU可以輸入可見性流並一次處理一個片塊或區域。在一些方面,可以分析可見性流以確定哪些圖元或圖元的頂點是否可見。這樣,可以處理可見的圖元或圖元的頂點。通過這樣做,GPU可以減少不必要的處理或呈現不可見的圖元或三角形的工作負荷。
在一些方面,在可見性通路過程中,可以處理某些類型的圖元幾何圖形,例如位置幾何圖形。另外,取決於圖元或三角形的位置或定位,圖元可以分類到不同的片塊或區域中。在某些情況下,可以通過確定這些圖元或三角形的可見性資訊來執行將圖元或三角形分類到不同的片塊中。例如,GPU可以確定或寫入(例如系統記憶體中的)每個片塊或區域中的每個圖元的可見性資訊。此可見性資訊可以用於確定或生成可見性流。在呈現通路中,可以分別呈現每個片塊中的圖元。在這些情況下,可見性流可以從用於丟棄對該片塊不可見的圖元的記憶體中被取回。
GPU或GPU架構的一些方面可以提供多個不同的呈現選項,例如軟體呈現和硬體呈現。在軟體呈現中,驅動器或CPU可以通過一次處理每個視圖來複製整個幀幾何圖形。此外,一些不同的狀態可能會根據視圖而被更改。這樣,在軟體呈現中,軟體可以通過更改一些狀態來複製整個工作負荷,這些狀態可以被利用以對於圖像中的每個視點進行呈現。在某些方面,由於GPU可能對於圖像中的每個視點正在多次提交相同的工作負荷,因此可能會增加開銷的數量。在硬體呈現中,硬體或GPU可能負責複製或處理用於圖像中每個視點的幾何圖形。因此,硬體可以管理用於圖像中每個視點的圖元或三角形的複製或處理。
圖3圖示了圖像或表面300,包括被劃分為多個片塊的多個圖元。如圖3所示,圖像或表面300包括區域302,其包括圖元321、322、323和324。圖元321、322、323和324被劃分或放置到不同的片塊中,例如片塊310、311、312、313、314和315。圖3圖示了針對圖元321-324使用多個視點的圖塊呈現的示例。例如,圖元321-324在第一視點350和第二視點351中。這樣,GPU處理或呈現包括區域302的圖像或表面300可以利用多個視點或多視圖呈現。
如本文所指示,GPU或圖形處理器單元可使用圖塊呈現架構來減少功耗或節省記憶體頻寬。如上文進一步所述,此呈現方法可以將場景劃分為多個片塊,以及可以包括對每個片塊中可見的三角形進行標識的可見性通路。因此,在圖塊呈現中,可以將全部屏幕劃分為多個片塊或圖塊。然後,可以對場景進行多次呈現,例如,對於每個片塊進行一次或多次呈現。
在圖形呈現的各方面,一些圖形應用可以對單個目標(即呈現目標)進行一次或多次呈現。例如,在圖形呈現中,系統記憶體上的幀緩沖區可能會被多次更新。幀緩沖區可以是(例如包含位圖或儲存的)記憶體或隨機存取記憶體(RAM)的一部分,以幫助儲存用於GPU的顯示資料。幀緩沖區還可以是包含完整資料幀的記憶體緩衝區。另外,幀緩沖區可以是邏輯緩衝區。在一些方面,可以在片塊或圖塊呈現中執行更新幀緩沖區,其中,如上所述,將表面劃分為多個片塊或圖塊,並且然後可以分別呈現每個片塊或圖塊。此外,在圖塊呈現中,可以將幀緩沖區分割為多個片塊或圖塊。
如本文中所指示的,在片塊或圖塊呈現架構中,幀緩沖區可以例如在從不同類型的記憶體進行呈現時使資料被重複地儲存或寫入到其中。這可以被稱為對幀緩沖區或系統記憶體進行解析和取消解析。例如,當儲存或寫入到一個幀緩沖區,並且然後切換到另一幀緩沖區時,幀緩沖區上的資料或資訊可以從GPU處的GPU內部記憶體(GMEM)被解析到系統記憶體,即雙倍資料速率(DDR)RAM或動態RAM(DRAM)中的記憶體。
在一些方面,系統記憶體還可以是單晶片系統(SoC)記憶體或另一基於晶片的記憶體,以例如在設備或智慧型電話上儲存資料或資訊。系統記憶體還可以是由CPU和/或GPU共享的物理資料記憶體。在一些方面,系統記憶體可以是例如在設備或智慧型電話上的DRAM晶片。因此,SoC記憶體可以是基於晶片的方式,用來儲存資料。
在一些方面,GMEM可以是在GPU處的片上記憶體,其可以通過靜態RAM(SRAM)來實現。此外,GMEM可以被儲存在例如智慧型手機的設備上。如本文所指示,可以例如在設備處在系統記憶體或DRAM與GMEM之間傳送資料或資訊。在一些方面,系統記憶體或DRAM可以存在於CPU或GPU處。此外,可以在DDR或DRAM處儲存資料。在片塊或圖塊呈現中,記憶體的小部分可以被儲存在GPU處,例如在GMEM處。在一些情況下,與在幀緩沖區或系統記憶體處儲存資料相比,在GMEM處儲存資料可能會使用更大的處理工作負荷和/或功耗。
在一些方面,GPU可以執行細分或細分處理。在細分處理過程中,較大的圖元可以被劃分為較小的子圖元或經細分的圖元。細分可以將圖像劃分為更詳細的子圖元或經細分的圖元,這可以導致更詳細的呈現處理和更詳細的圖形內容。細分器可以確定或生成子圖元或經細分的圖元。在一些方面,一個或多個圖元可以被分組為面片。然後,細分器可以根據一個或多個細分參數,例如使用三角形或矩形,來確定或生成面片的基於幾何圖形的細分。
細分處理可以允許確定或生成比原本基於圖元的原始面片生成的圖像或表面更詳細的或更平滑的圖像或表面。另外,細分可以用於實現或呈現圖像中更詳細的表面。如上所述,細分處理可以產生子圖元或經細分的圖元。例如基於一個或多個圖元或面片,生成這些子圖元或經細分的圖元,作為細分的輸出。這些圖元還可以被稱為原始圖元或常規圖元,這些圖元是基於原始圖像或表面值生成的。經確定的或經生成的子圖元或經細分的圖元可以是原始圖元或面片的更詳細的版本。在某些情況下,子圖元中的每一個可以小於圖元或面片中的每一個。因此,原始圖元可以顯得被劃分為子圖元或經細分的圖元。
圖4圖示了根據本公開的一種或多種技術的示例圖像或表面400。圖4圖示了圖像400被劃分為多個片塊,例如片塊410、片塊420、片塊430、和片塊440。另外,圖4顯示了包括一個或多個圖元462的面片460。在一些方面,面片460可以被稱為圖元組或一個或多個圖元。圖4還顯示了多個子圖元470,其包括子圖元472、子圖元474和子圖元476。如圖4所示,多個子圖元470中的各個子圖元可以是多個不同的形狀,例如矩形(例如子圖元476)或三角形(例如子圖元472、474)。
圖4顯示了上述細分處理的示例。例如,例如面片460中的一個或多個圖元462的原始或輸入圖元被顯示為以點為頂點的較大三角形。從細分處理輸出的例如子圖元470的子圖元或經細分的圖元被顯示為在表面400上較小的矩形或三角形,例如子圖元472、474、476。
多視圖光柵化(MVR)是一種基於使用多個視圖對場景或圖像進行光柵化的方式。例如,MVR可以根據多個相似的攝像機位置計算或生成多個視圖。這些視圖可以基於相似的攝像機視點。MVR可以與多個不同的呈現方面一起被使用,諸如潛在可見集(PVS)。在一些方面,可以生成或計算這些多個視圖,並且可以基於這些多個視圖從資料中編譯PVS。在某些情況下,可以將PVS用於多個不同的圖形處理方法,例如拆分呈現或向量流。
當呈現不同於例如光場或焦距堆棧的普通圖像的視覺結果時,也可以使用MVR。對於虛擬實境(VR)、增強實境(AR)或擴展實境(XR)顯示器,或者通常具有動態焦點提示的顯示器,這可能是重要的。MVR還可以補充其他繪影方法,例如對象-空間繪影。在一些方面,MVR可以允許GPU利用對象-空間繪影的某些方面,例如空間和/或時間相干性。另外,在某些情況下,MVR可以從儲存例如紋理或繪影圖集的預繪影資訊的單個資料結構生成多個圖像。另外,MVR可以在各種不同的GPU上提供解耦的繪影。
圖5圖示了根據本公開的一種或多種技術的包括多視圖光柵化的圖500。如圖5所示,圖500包括場景502、幾何圖形緩衝區(G-緩衝區)504、視點506、圖集或繪影圖集508以及顏色緩衝區510。圖5顯示了例如呈現光場的處理的示例。
如圖5所示,處理的輸入包括場景502,其包括多個圖元,例如N個圖元。處理的輸入還包括多個視點506,其可以佈置在方格(例如佈置在平面中的正方形圖案中的K²個視點的方格)中。另外,在第一狀態之後的處理的輸出可以包括多個G-緩衝區504,例如K²個G-緩衝區。這些G-緩衝區504可以包括多個值,例如z值、標識(id)和/或紋理水平(U)垂直(V)(UV)坐標(tex-uv)。而且,G-緩衝區504中的每一個可以共享一個圖集或繪影圖集508。此外,處理的輸出包括用於光場的顏色緩衝區510,例如,K²個顏色緩衝區。相應地,圖5個顯示了可以存在三個積體通路以呈現光場。
如圖5所示,處理或算法可以包括多個通路或階段,例如通路1、通路2、和/或通路3。例如,通路1可以包括可見性通路,其包括視點506到G-緩衝區504的MVR。例如,通路1可以包括K²個視點方格到多個緩衝區,例如深度、id和tex-uv緩衝區。算法還包括通路2,其可以是繪影通路。在繪影通路中,每個緩衝區的id的PVS可以被繪影為圖集或繪影圖集508。另外,通路3可以包括解析通路,其可以包括延遲的呈現,以將圖集紋理重新採樣到被儲存在顏色緩衝區510(例如K²個顏色緩衝區)中的透視圖中。
本公開的各方面還可以包括各種幾何圖形級。例如,本公開可以包括K²個繪製調用。本公開的各方面還可以包括用頂點繪影器實例化每個圖元K²次,以及用具有例如為1的輸出的固定輸出的幾何圖形繪影器實例化每個圖元K²次。此外,本公開的各方面可以包括具有例如為K²的輸出的固定輸出或用於MVR的多個擴展的幾何圖形繪影器。另外,本公開可以包括網格繪影器作為幾何圖形級。
本公開的各方面還可以包括多個不同的緩衝區,例如,在軟體中定義的子緩衝區。為了儲存多個緩衝區或G-緩衝區,本公開可以為此儲存分配記憶體,例如系統記憶體124和/或內部記憶體121。例如,由於硬體k-緩衝區或其他幀緩沖區附件的數量可能受到限制,因此本公開可以包括各種G-緩衝區。基於此,本公開的各方面可以使用軟體實現。例如,如果GPU或CPU中具有足夠的記憶體,則可以以軟體實現緩衝區。例如,本公開可以使用被拆分為例如矩形區的不同的區的一個大緩衝區來實現此處理。本公開的各方面還可以包括頂點繪影器,例如,對於每個頂點,確定該頂點應當將其輸出發送到的子緩衝區id的頂點繪影器。而且,本公開的各方面可以包括每個子緩衝區(x,y)偏移的查找,並且將其與頂點進行組合。
圖6圖示了根據本公開的一種或多種技術的圖600。如圖6所示,圖600包括緩衝區610、子緩衝區620和圖元602。圖6顯示,對於子緩衝區620的不同區或區帶,來自緩衝區610的圖元602可以略有變化。在一些方面,幾何圖形繪影器或網格繪影器可以執行此處理。
如圖6所示,如果圖元存在於多個子緩衝區中(例如,圖元602在子緩衝區620中),則可能存在剪裁,即圖元在區帶或子緩衝區620的邊界處的劃分。在一些方面,圖元的剪裁或劃分可以以軟體實現。例如,本公開可以丟棄片段繪影器中的經剪裁的圖元。本公開的各方面還可以利用硬體剪裁平面。另外,本公開的各方面可以包括每個子緩衝區的模板遮罩。
如上所指出,目前需要有效地解決MVR的圖元剪裁問題或圖元在區段或區帶處的劃分。此外,在MVR中針對距視點或攝像機遠距離的對象所生成的視點數量可能會很多。例如,如果圖元距視點遠距離,則圖元在每個視圖中投影可能是相似的,或者在某些情況下是相同的,並且可能不需要計算投影中的每一個。因此,目前需要減少在MVR中針對距視點或攝像機遠距離的對象所生成的視點的數量。
本公開的各方面可以解決上述剪裁問題或在MVR中具有大量視點的問題。例如,本公開的各方面可以減少針對距視點或攝像機遠距離的對象所產生的視點的數量。在某些情況下,本公開的各方面可以確定用於一個視點的區帶是否與用於另一視點的區帶實質相似或相同。
圖7圖示了根據本公開的一種或多種技術的場景700。更具體地,圖7是場景700的俯視圖或鳥瞰圖。如圖7所示,場景700包括多個區帶或區段,例如區帶701、區帶702、區帶703和區帶704。場景700還包括圖元或三角形710、視點或攝像機720以及觀測截錐730。圖元或三角形710可以跨越多個區帶,例如區帶703和704。同樣,視點或攝像機720是場景700底部附近的點。攝像機720可以是場景700中的一個攝像機位置,在場景700中存在多個其他攝像機位置,例如三個或九個攝像機位置。
本公開的各方面可以將例如區帶701、702、703和704的區帶分配給單獨的子緩衝區。通過這樣做,將存在場景700的三維(3D)子劃分。因此,本公開可以將場景700子劃分為多個區帶。在一些方面,每個攝像機以及每個區帶可以存在一個子緩衝區。另外,當切換視點時,從攝像機720到圖元710的距離可以保持相同。如圖7所示,可以在例如區帶703和區帶704的不同區帶之間拆分圖元710。在一些方面,可以將圖元710分配給特定區帶,例如區帶703。因此,如果圖元或三角形在區帶之間被拆分,則可以將圖元或三角形分配給較小的區帶。
另外,如圖7所示,每個區帶可以是其他區帶的倍數。例如,區帶702可以是區帶701的尺寸的兩倍,區帶703可以是區帶702的尺寸的兩倍,和/或區帶704可以是區帶703的尺寸的兩倍。如圖7所示,隨著區帶遠離攝像機720移動,它們可以逐漸變大。隨著對象遠離攝像機720移動,視圖的數量可能呈指數減少。這可以限制攝像機視圖之間的潛在差異量。因此,如果對象遠離攝像機,例如,如果攝像機平行於圖像平面略微地平移,則相似攝像機位置之間的差異可能很小。這樣,本公開可以限制在對象越來越遠離攝像機時攝像機位置或視點的數量。在一些方面,本公開可以選擇有代表性的攝像機位置或視點,並且然後將此視點用於實質相似的視點或攝像機位置。
在一些方面,對於例如K²個視圖的多個視圖,當不同的區帶遠離攝像機移動時,它們可以對應於不同數量的視圖。例如,區帶Z可以對應於K²/4(Z-1)個視圖。例如,區帶701(最接近攝像機720)可以對應於K²個視圖,區帶702可以對應於K²/4個視圖,區域703可以對應於K²/16個視圖,以及區帶704可以對應於K²/64個視圖。隨著分母4 Z-1 逐漸變大,對應的區帶Z可以接近一個視圖。在某些情況下,如果在例如區帶701的區帶中的所選擇的視點的深度緩衝區小於無窮大,則本公開可以在例如區帶702的下一個區帶中選擇視點。
如圖7所示,本公開的各方面可以將例如觀測截錐730的截錐子劃分為Z個深度區帶。這可以包括多個指數深度間隔,以便對截錐進行子劃分可以包括隨著每個連續間隔(例如[1-2m]、[2-4m]、[4-8m]等的間隔)減半的間隔差異。此外,本公開的各方面可以將每個區帶視為具有其自身的深度緩衝區的單獨的子緩衝區。
如上所述,本公開的各方面還可以將圖元準確地呈現到一個區帶中。例如,可以通過量化頂點的最小深度在幾何圖形繪影器中選擇區帶。本公開可以量化逆區帶,使得減少對於更遠離攝像機的區帶的視圖的數量。如上所指出,如果在區帶之間拆分圖元或三角形,則可以將圖元分配給共享區帶中的較小者。如果在此處理中不存在幾何圖形繪影器,則可以使用臨近屬性在頂點繪影器中選擇區帶。
圖8圖示了根據本公開的一種或多種技術的場景800。更具體地,圖8是場景800的俯視圖或鳥瞰圖。如圖8所示,場景800包括多個區帶或區段,例如區帶801、區帶802、區帶803和區帶804。場景800還包括對象810、視點或攝像機820、觀測截錐830和觀測光線840。對象810可以跨越多個區帶或被分配給單個區帶,例如區帶804。同樣,視點或攝像機820是場景800底部附近的點。攝像機820可以是場景800中的一個攝像機位置,在場景800中存在多個其他攝像機位置,例如三個或九個攝像機位置。本公開的各方面可以將例如區帶801、802、803和804的區帶分配給單獨的子緩衝區。通過這樣做,將對場景800進行3D子劃分。實際上,本公開可以將場景800子劃分為多個區帶。
如上所指出,幾何圖形緩衝區或G-緩衝區可以等同於光場。在解析通路過程中,可以追蹤任何觀測光線或4D光線通過區帶視圖。在一些方面,本公開可以在每個視圖中確定正確的坐標。對於始於新視點的觀測光線,該新視點可能與過去所呈現的視點不同,本公開可以根據現有視點對樣本進行內插。觀測光線還可以是來自特定攝像機位置的視線或視點,例如來自攝像機820的觀測光線840。而且,在確定圖元id和tex-uv後,本公開的各方面可以在圖集或繪影圖集中查找繪影。如上所指示,對於例如K2個視圖的多個視圖,當不同的區帶遠離攝像機移動時,它們可以對應於不同數量的視圖。例如,區帶Z可以對應於K²/4 Z-1 個視圖。例如,區帶801可以對應於K²個視圖,區帶802可以對應於K²/4個視圖,區帶803可以對應於K²/16個視圖,以及區帶804可以對應於K²/64個視圖。
如圖8所示,本公開的各方面可以利用具有一個或多個區帶的解析通路。在解析通路過程中,可以呈現最終幾何圖形。這樣,可以將對象光柵化為區帶,例如區帶801-804。對於例如視點820的特定的攝像機視點,可以從實質相似的攝像機視點重新使用可見性資訊。通過這樣做,本公開可以確定或推斷什麼對象在例如觀測光線840的特定的視線上是可見的。因此,本公開可以追蹤光線840通過區帶,直到與已經在特定區域或子緩衝區中的一個中被光柵化的對象(例如對象810)相交。這樣,本公開可以通過利用來自每個區帶或子緩衝區的可視性資訊來確定哪些對象是可見的。
如上所述,網格繪影器可以用於實例化被呈現到子緩衝區或視圖中的每一個的幾何圖元。網格繪影器可以產生圖元的實例。例如,對於遠離攝像機或視點的圖元,單個實例可能就足夠了。本公開可以利用例如八叉樹結構的不同的結構,以減少距攝像機視點遠距離的圖像的數量。八叉樹是用於在空間中排列對象的資料結構。例如,八叉樹可以將空間在三個維度上子劃分為多個八分圓,例如八個八分圓。八叉樹結構可以確定每個八叉樹在一個節點中的圖元的副本的數目。這可以導致高效的資料創建。
本公開的各方面還可以包括快速區帶呈現。在一些方面,而非丟棄實例,本公開的各方面可以使用八叉樹從前到後遍歷。此外,例如,使用位於區帶中的八叉樹節點或用於區帶的多個實例,本公開的各方面可以包括每個區帶一個呈現調用。
圖9圖示了根據本公開的一種或多種技術的場景900。如圖9所示,場景900包括多個區帶,例如區帶901、區帶902、區帶903和區帶904、視點或攝像機920、觀測截錐930以及八叉樹940。圖9顯示了根據本公開的前述快速區帶呈現。例如,八叉樹940可以是用於在空間中排列對象的資料結構。八叉樹940可以用於減少遠離視點920的圖像的數量。八叉樹940還包括多個八分圓,八分圓中的每一個可以包含多個實例。例如,八叉樹940中一個八分圓可以包括K2/16個實例,並且其他八分圓可以包括K2/64個實例。此外,八叉樹940中的一些八分圓(例如較小的八分圓)可以用來剔除資料。
本公開的各方面還可以利用近似球形投影。例如,對於較大的視野(FOV)(例如150°),規則的透視投影可能效率低下,因為沿外圍可能存在過採樣。因此,光柵化在圖像的外圍可能會變得效率低下。本公開可以將截錐子劃分為子截錐,例如2×2或3×3個子截錐。因此可以對要呈現的觀測截錐進行子劃分。這可能與鏡頭匹配的繪影相似,但包括不同的目的和/或不同的投影矩陣。在一些方面,子截錐的數量的增加可以導致改進的理想球形投影的近似。此外,可以將圖元呈現為相關的截錐。一些圖元可能與多個截錐重疊。與前述區帶相似,本公開的各方面可以使用八叉樹包圍盒對圖元進行預分類。
圖10圖示了根據本公開的一種或多種技術的圖像1000。如圖10所示,圖像1000包括圖像平面1010、子圖像平面1012、子圖像平面1014和視點或攝像機1020。圖10顯示了根據本公開的前述球形投影。例如,可以將用於圖像平面1010的截錐子劃分為用於子圖像平面1012和1014的子截錐。這種子截錐(例如用於子圖像平面1012和1014的子截錐)的數量的增加可以導致改進的理想球形投影的近似。
如此處所指示,本公開的各方面可以包括使用光柵化來生成場景的多個視圖的呈現系統。例如,本公開可以生成多個視圖,而不必為每個視圖分別執行完整的光柵化管線。在一些方面,可以在對象-空間中確定繪影,例如以使繪影與多個視圖的幾何圖形光柵化解耦。此外,可以為每個視圖生成id緩衝區,使得id緩衝區的集合並集可以產生幾何圖元的潛在可見集。同樣,可以取決於到視點的距離將場景子劃分為多個區帶,並且可以將每個區帶分別呈現為多個視圖。可以選擇每個區帶,使得視圖之間的差異在恒定閾值以下。這可以減少所需的視圖的數量。另外,可以將觀測截錐子劃分為具有較小對角的多個截錐,並且可以為每個截錐呈現單獨的視圖。
圖7-10圖示了用於高效多視圖光柵化的前述處理的示例。如圖7-10所示,例如本文中的GPU的本公開的各方面可以執行多個不同的步驟或處理以減少針對多視圖光柵化所生成的視點的數量。例如,本文的GPU可以確定例如場景700和800的至少一個場景,其包括例如視點720和820的一個或多個視點。
此外,本文的GPU可以基於例如視點720和820的一個或多個視點中的每一個,將例如場景700和800的至少一個場景劃分為例如區帶701-704和801-804的多個區帶。此外,本文中的GPU可以確定基於一個或多個視點中例如視點720的一個視點的例如區帶704的區帶是否與基於一個或多個視點中例如視點820的另一視點的例如區帶804的區帶實質相似。
本文的GPU還可以基於例如視點720和820的一個或多個視點針對例如區帶701-704和801-804的多個區帶中的每一個生成例如G-緩衝區504的幾何圖形緩衝區。此外,本文的GPU可以基於例如視點720和820的一個或多個視點針對例如區帶701-704和801-804的多個區帶中的每一個對例如G-緩衝區504的幾何圖形緩衝區進行組合。在一些方面,例如G-緩衝區504的經組合的幾何圖形緩衝區可以對應於例如包括圖元710的潛在可見圖元集。
本文的GPU還可以確定用於潛在可見圖元集中的至少一些(例如圖元710)的繪影資訊。另外,本文的GPU可以儲存潛在可見圖元集中的至少一些,例如圖元710。例如,可以在例如系統記憶體124和/或內部記憶體121的記憶體中儲存潛在可見圖元集。在一些方面,用於例如區帶701-704和801-804的多個區帶中的每一個的幾何圖形緩衝區可以包括標識緩衝區和深度緩衝區。同樣,標識緩衝區可以對應於例如包括圖元710的可見圖元集。
在一些情況下,可以基於例如觀測截錐730和觀測截錐830的一個或多個劃分標準將至少一個場景劃分為多個區帶。一個或多個劃分標準可以包括以下中的至少一個:到一個或多個視點中的每一個的距離,或者一個或多個視點中的每一個的光軸角度,例如觀測截錐730和觀測截錐830。另外,基於例如觀測截錐730和觀測截錐830的一個或多個劃分標準,可以確定例如區帶704的基於一個視點的區帶與例如區帶804的基於另一視點的區帶實質相似。
本文的GPU還可以基於用於例如視點720和820的一個或多個視點的例如區帶701-704和801-804的多個區帶中的每一個的幾何圖形緩衝區來呈現至少一個圖像。在一些方面,可以基於用於潛在可見圖元集(例如包括圖元710)的繪影資訊來呈現至少一個圖像。而且,至少一個圖像可以包括多個像素,其中至少一個圖像的多個像素中的每一個可以基於例如觀測光線840的觀測光線與例如對象810的像素的交點被呈現。在一些情況下,例如觀測光線840的觀測光線可以穿過例如區帶801-804的多個區帶中的每一個。
本文中的GPU還可以生成例如場景800的至少一個場景,其包括例如視點820的一個或多個視點。在一些方面,確定基於一個或多個視點中例如視點720的一個視點的例如區帶704的區帶是否與基於一個或多個視點中例如視點820的另一視點的例如區帶804的區帶實質相似可以由圖形處理單元(GPU)或中央處理單元(CPU)執行。
圖11圖示了根據本公開的一種或多種技術的示例方法的流程圖1100。方法可以由諸如GPU、CPU的裝置或用於圖形處理的裝置執行。在1102,如結合圖5-10中的示例所描述的,裝置可以確定包括一個或多個視點的至少一個場景。在1104,如結合圖5-10中的示例所描述的,裝置可以基於一個或多個視點中的每一個將至少一個場景劃分為多個區帶。
在1106,如結合圖5-10中的示例所描述的,裝置可以確定基於一個或多個視點中的一個視點的區帶是否與基於一個或多個視點中的另一視點的區帶實質相似。在1108,如結合圖5-10中的示例所描述的,裝置可以基於一個或多個視點生成用於多個區帶中的每一個的幾何圖形緩衝區。在1110,如結合圖5-10中的示例所描述的,裝置可以基於一個或多個視點對用於多個區帶中的每一個的幾何圖形緩衝區進行組合。在一些方面,如結合圖5-10中的示例所描述的,經組合的幾何圖形緩衝區可以對應於潛在可見圖元集。
在1112,如結合圖5-10中的示例所描述的,裝置可以確定用於潛在可見圖元集中的至少一些的繪影資訊。在1114,如結合圖5-10中的示例所描述的,裝置還可以儲存潛在可見圖元集中的至少一些。在一些方面,如結合圖5-10中的示例所描述的,用於多個區域中的每一個的幾何圖形緩衝區可以包括標識緩衝區和深度緩衝區。而且,如結合圖5-10中的示例所描述的,標識緩衝區可以對應於可見圖元集。
在一些方面,如結合圖5-10中的示例所描述的,可以基於一個或多個劃分標準將至少一個場景劃分為多個區帶。如結合圖5-10中的示例所描述的,一個或多個劃分標準可以包括以下中的至少一個:到一個或多個視點中的每一個的距離,或者一個或多個視點中的每一個的光軸角度。另外,如結合圖5-10中的示例所描述的,基於一個視點的區帶被確定為與基於另一視點的區帶實質相似可以基於一個或多個劃分標準。
在1116,如結合圖5-10中的示例所描述的,裝置可以基於用於一個或多個視點的多個區帶中的每一個的幾何圖形緩衝區來呈現至少一個圖像。在一些方面,如結合圖5-10中的示例所描述的,可以基於用於潛在可見圖元集的繪影資訊來呈現至少一個圖像。而且,如結合圖5-10中的示例所描述的,至少一個圖像可以包括多個像素,其中至少一個圖像的多個像素中的每一個可以基於觀測光線與像素的交點被呈現。在一些情況下,如結合圖5-10中的示例所描述的,觀測光線可以穿過多個區帶中的每一個。
如結合圖5-10中的示例所描述的,裝置還可以生成包括一個或多個視點的至少一個場景。在一些方面,如結合圖5-10中的示例所描述的,確定基於一個或多個視點中的一個視點的區帶是否與基於一個或多個視點中的另一視點的區帶實質相似可以由GPU或CPU執行。
在一種配置中,提供了用於圖形處理的方法或裝置。裝置可以是CPU、GPU或能夠執行圖形處理的一些其他處理器。在一個方面,裝置可以是設備104內的處理單元120,或者可以是設備104或另一設備內的一些其他硬體。裝置可以包括用於確定包括一個或多個視點的至少一個場景的部件。裝置還可以包括用於基於一個或多個視點中的每一個將至少一個場景劃分為多個區帶的部件。裝置還可以包括用於確定基於一個或多個視點中的一個視點的區帶是否與基於一個或多個視點中的另一視點的區帶實質相似的部件。裝置還可以包括用於基於一個或多個的視點生成用於多個區帶中的每一個的幾何圖形緩衝區的部件。裝置還可以包括用於基於一個或多個視點對用於多個區帶中的每一個的幾何圖形緩衝區進行組合的部件。裝置還可以包括用於確定潛在可見圖元集中的至少一些的繪影資訊的部件。裝置還可以包括用於儲存潛在可見圖元集中的至少一些的部件。裝置還可以包括用於基於用於一個或多個視點的多個區帶中的每一個的幾何圖形緩衝區來呈現至少一個圖像的部件。裝置還可以包括用於生成包括一個或多個視點的至少一個場景的部件。
可以實施本文描述的主題以實現一個或多個益處或優點。例如,所描述的圖形處理技術可以由GPU、CPU或能夠執行圖形處理以實現本文所述的多視圖光柵化技術的一些其他處理器來使用。與其他圖形處理技術相比,這還可以以低成本來實現。此外,本文的圖形處理技術可以改進或加速資料處理或執行。此外,本文的圖形處理技術可以提高資源或資料利用率和/或資源效率。另外,本公開的各方面可以減少在多視圖光柵化中例如針對距視點或攝像機遠距離的對象所生成的視點的數量。
根據本公開,在上下文未另行規定的情況下,術語“或”可以被解釋為“和/或”。另外,雖然諸如“一個或多個”或“至少一個”的短語可能已經用於本文公開的一些特徵,而沒有用於其他特徵,但是在上下文未另行規定的情況下,未使用這種語言的特徵可以被解釋為具有這種隱含的含義。
在一個或多個示例中,可以以硬體、軟體、韌體或其任何組合來實現本文所描述的功能。例如,儘管在整個本公開中使用了術語“處理單元”,但是這樣的處理單元可以以硬體、軟體、韌體或其任何組合來實現。如果以軟體實現本文描述的任何功能、處理單元、技術或其他模組,則本文描述的功能、處理單元、技術或其他模組可以作為計算機可讀媒體上的一個或多個指令或程式碼來儲存或發送。計算機可讀媒體可以包括計算機資料儲存媒體或通訊媒體,通訊媒體包括有助於將計算機程式從一個地方轉移到另一地方的任何媒體。以這種方式,計算機可讀媒體通常可以對應於(1)非暫時性的有形計算機可讀儲存媒體,或者(2)諸如訊號或載波的通訊媒體。資料儲存媒體可以是能夠由一台或多台計算機或一個或多個處理器訪問以檢索指令、程式碼和/或資料結構以實現本公開中描述的技術的任何可用媒體。作為示例而非限制,這種計算機可讀媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁性儲存設備。本文使用的磁碟和光碟包括壓縮光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常以磁性方式再現資料,而光碟則用雷射以光學方式再現資料。上述內容的組合也應包括在計算機可讀媒體的範圍內。計算機程式產品可以包括計算機可讀媒體。
程式碼可以由一個或多個處理器執行,諸如一個或多個數位訊號處理器(DSP)、通用微處理器、專用積體電路(ASIC)、算術邏輯單元(ALU)、現場可編程閘陣列(FPGA)或其他等效的積體或離散邏輯電路。相應地,如本文所使用的術語“處理器”可以指任何前述結構或適合於實現本文描述的技術的任何其他結構。同樣,這些技術可以在一個或多個電路或邏輯元件中完全實現。
本公開的技術可以在包括無線手持設備、積體電路(IC)或IC集合(例如晶片集合)的多種設備或裝置中實現。在本公開中描述各種組件、模組或單元,以強調被配置為執行所公開的技術的設備的功能方面,但不一定需要由不同硬體單元來實現。而是,如上所述,各種單元可以被組合在任何硬體單元中,或者由包括如上所述的一個或多個處理器的互操作硬體單元的集合,結合合適的軟體和/或韌體來提供。
已經描述了各種示例。這些和其他示例在所附申請專利範圍的範圍內。
100:系統 104:設備 107:圖形處理管線 120:處理單元 121:內部記憶體 122:內容編碼器/解碼器 123:內部記憶體 124:系統記憶體 126:通訊介面 127:顯示處理器 128:接收器 130:發送器 131:(多個)顯示器 132:收發器 198:確定組件 200:GPU 210:CP 212:用包 220:VFD 222:VS 224:VPC 226:TSE 228:RAS 230:ZPE 232:PI 236:RB 238:UCHE 240:系統記憶體 250:命令緩衝區 260:文寄存器封包 261:上下文狀態 300:表面 302:區域 310:片塊 312:片塊 313:片塊 314:片塊 315:片塊 400:圖像 410:片塊 420:片塊 430:片塊 440:片塊 460:面片 462:圖元 470:圖元 472:圖元 474:圖元 476:圖元 500:圖 502:場景 504:緩衝區 506:視點 508:圖集 510:緩衝區 600:圖 602:圖元 610:緩衝區 620:緩衝區 700:場景 701:區帶 702:區帶 703:區帶 704:區帶 710:三角形 720:攝像機 730:截錐 800:場景 801:區帶 802:區帶 803:區帶 804:區帶 810:對象 820:攝像機 830:截錐 840:光線 900:場景 901:區帶 902:區帶 903:區帶 904:區帶 920:攝像機 930:截錐 940:八叉樹 1000:圖像 1010:平面 1012:平面 1014:平面 1020:攝像機 1100:圖 1102:步驟 1104:步驟 1106:步驟 1108:步驟 1110:步驟 1112:步驟
呈現附圖以幫助描述本揭露的各個方面,並且提供這些附圖僅僅是為了解說這些方面而非對其進行限制。
圖1是圖示根據本公開的一種或多種技術的示例內容生成系統的方塊圖。
圖2圖示了根據本公開的一種或多種技術的示例GPU。
圖3圖示了根據本公開的一種或多種技術的示例圖像或表面。
圖4圖示了根據本公開的一種或多種技術的示例圖像或表面。
圖5圖示了根據本公開的一種或多種技術的包括多視圖光柵化的示例圖。
圖6圖示了根據本公開的一種或多種技術的包括緩衝區和子緩衝區的示例圖。
圖7圖示了根據本公開的一種或多種技術的示例場景。
圖8圖示了根據本公開的一種或多種技術的示例場景。
圖9圖示了根據本公開的一種或多種技術的示例場景。
圖10圖示了根據本公開的一種或多種技術的示例圖像。
圖11圖示了根據本公開的一種或多種技術的示例方法的示例流程圖。
700:場景
701:區帶
702:區帶
703:區帶
704:區帶
710:三角形
720:攝像機
730:截錐

Claims (52)

  1. 一種圖形處理方法,包括: 確定包括一個或多個視點的至少一個場景; 基於所述一個或多個視點中的每一個,將所述至少一個場景劃分為多個區帶;以及 確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點中的另一視點的區帶實質相似。
  2. 根據請求項1所述的方法,還包括: 基於所述一個或多個視點,生成用於所述多個區帶中的每一個的幾何圖形緩衝區。
  3. 根據請求項2所述的方法,還包括: 基於所述一個或多個視點,對用於所述多個區帶中的每一個的所述幾何圖形緩衝區進行組合。
  4. 根據請求項3所述的方法,其中,經組合的幾何圖形緩衝區對應於潛在可見圖元集。
  5. 根據請求項4所述的方法,還包括: 確定用於所述潛在可見圖元集中的至少一些的繪影資訊。
  6. 根據請求項4所述的方法,還包括: 儲存所述潛在可見圖元集中的至少一些。
  7. 根據請求項2所述的方法,其中,用於所述多個區帶中的每一個的所述幾何圖形緩衝區包括標識緩衝區和深度緩衝區。
  8. 根據請求項7所述的方法,其中,所述標識緩衝區對應於可見圖元集。
  9. 根據請求項1所述的方法,其中,所述至少一個場景基於一個或多個劃分標準被劃分為所述多個區帶。
  10. 根據請求項9所述的方法,其中,所述一個或多個劃分標準包括以下中的至少一個:到所述一個或多個視點中的每一個的距離,或者所述一個或多個視點中的每一個的光軸角度。
  11. 根據請求項9所述的方法,其中,基於所述一個或多個劃分標準,基於所述一個視點的所述區帶被確定為與基於所述另一視點的所述區帶實質相似。
  12. 根據請求項2所述的方法,還包括: 基於用於所述一個或多個視點的多個區帶中的每一個的所述幾何圖形緩衝區,呈現至少一個圖像。
  13. 根據請求項12所述的方法,其中,基於用於潛在可見圖元集的繪影資訊來呈現所述至少一個圖像。
  14. 根據請求項12所述的方法,其中,所述至少一個圖像包括多個像素,其中,基於觀測光線與所述像素的交點來呈現所述至少一個圖像的多個像素中的每一個。
  15. 根據請求項14所述的方法,其中,所述觀測光線穿過所述多個區帶中的每一個。
  16. 根據請求項1所述的方法,其中,確定包括一個或多個視點的所述至少一個場景包括: 生成包括一個或多個視點的所述至少一個場景。
  17. 根據請求項1所述的方法,其中,確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點中的另一視點的區帶實質相似由圖形處理單元(GPU)或中央處理單元(CPU)執行。
  18. 一種用於圖形處理的裝置,包括: 記憶體;以及 至少一個處理器,其被耦合到所述記憶體並被配置為: 確定包括一個或多個視點的至少一個場景; 基於所述一個或多個視點中的每一個,將所述至少一個場景劃分為多個區帶;以及 確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點的另一視點的區帶實質相似。
  19. 根據請求項18所述的裝置,其中,所述至少一個處理器還被配置為: 基於所述一個或多個視點,生成用於所述多個區帶中的每一個的幾何圖形緩衝區。
  20. 根據請求項19所述的裝置,其中,所述至少一個處理器還被配置為: 基於所述一個或多個視點,對用於所述多個區帶中的每一個的所述幾何圖形緩衝區進行組合。
  21. 根據請求項20所述的裝置,其中,經組合的幾何圖形緩衝區對應於潛在可見圖元集。
  22. 根據請求項21所述的裝置,其中,所述至少一個處理器還被配置為: 確定用於所述潛在可見圖元集中的至少一些的繪影資訊。
  23. 根據請求項21所述的裝置,其中,所述至少一個處理器還被配置為: 儲存所述潛在可見圖元集中的至少一些。
  24. 根據請求項19所述的裝置,其中,用於所述多個區帶中的每一個的所述幾何圖形緩衝區包括標識緩衝區和深度緩衝區。
  25. 根據請求項24所述的裝置,其中,所述標識緩衝區對應於可見圖元集。
  26. 根據請求項18所述的裝置,其中,所述至少一個場景基於一個或多個劃分標準被劃分為所述多個區帶。
  27. 根據請求項26所述的裝置,其中,所述一個或多個劃分標準包括以下中的至少一個:到所述一個或多個視點中的每一個的距離,或者所述一個或多個視點中的每一個的光軸角度。
  28. 根據請求項26所述的裝置,其中,基於所述一個或多個劃分標準,基於所述一個視點的所述區帶被確定為與基於所述另一視點的所述區帶實質相似。
  29. 根據請求項19所述的裝置,其中,所述至少一個處理器還被配置為: 基於用於所述一個或多個視點的多個區帶中的每一個的所述幾何圖形緩衝區,呈現至少一個圖像。
  30. 根據請求項29所述的裝置,其中,基於用於潛在可見圖元集的繪影資訊來呈現所述至少一個圖像。
  31. 根據請求項29所述的裝置,其中,所述至少一個圖像包括多個像素,其中,基於觀測光線與所述像素的交點來呈現所述至少一個圖像的多個像素中的每一個。
  32. 根據請求項31所述的裝置,其中,所述觀測光線穿過所述多個區帶中的每一個。
  33. 根據請求項18所述的裝置,其中,為了確定包括一個或多個視點的所述至少一個場景,包括所述至少一個處理器還被配置為: 生成包括一個或多個視點的所述至少一個場景。
  34. 根據請求項18所述的裝置,其中,確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點中的另一視點的區帶實質相似由圖形處理單元(GPU)或中央處理單元(CPU)執行。
  35. 一種用於圖形處理的裝置,包括: 用於確定包括一個或多個視點的至少一個場景的部件; 用於基於所述一個或多個視點中的每一個,將所述至少一個場景劃分為多個區帶的部件;以及 用於確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點的另一視點的區帶實質相似的部件。
  36. 根據請求項35所述的裝置,還包括: 用於基於所述一個或多個視點,生成用於所述多個區帶中的每一個的幾何圖形緩衝區的部件。
  37. 根據請求項36所述的裝置,還包括: 用於基於所述一個或多個視點,對用於所述多個區帶中的每一個的所述幾何圖形緩衝區進行組合的部件。
  38. 根據請求項37所述的裝置,其中,經組合的幾何圖形緩衝區對應於潛在可見圖元集。
  39. 根據請求項38所述的裝置,還包括: 用於確定用於所述潛在可見圖元集中的至少一些的繪影資訊的部件。
  40. 根據請求項38所述的裝置,還包括: 用於儲存所述潛在可見圖元集中的至少一些的部件。
  41. 根據請求項36所述的裝置,其中,用於所述多個區帶中的每一個的所述幾何圖形緩衝區包括標識緩衝區和深度緩衝區。
  42. 根據請求項41所述的裝置,其中,所述標識緩衝區對應於可見圖元集。
  43. 根據請求項35所述的裝置,其中,所述至少一個場景基於一個或多個劃分標準被劃分為所述多個區帶。
  44. 根據請求項43所述的裝置,其中,所述一個或多個劃分標準包括以下中的至少一個:到所述一個或多個視點中的每一個的距離,或者所述一個或多個視點中的每一個的光軸角度。
  45. 根據請求項43所述的裝置,其中,基於所述一個或多個劃分標準,基於所述一個視點的所述區帶被確定為與基於所述另一視點的所述區帶實質相似。
  46. 根據請求項36所述的裝置,還包括: 用於基於所述一個或多個視點的多個區帶中的每一個的所述幾何圖形緩衝區來呈現至少一個圖像的部件。
  47. 根據請求項46所述的裝置,其中,基於用於潛在可見圖元集的繪影資訊來呈現所述至少一個圖像。
  48. 根據請求項46所述的裝置,其中,所述至少一個圖像包括多個像素,其中,基於觀測光線與所述像素的交點來呈現所述至少一個圖像的多個像素中的每一個。
  49. 根據請求項48所述的裝置,其中,所述觀測光線穿過所述多個區帶中的每一個。
  50. 根據請求項35所述的裝置,其中,用於確定包括一個或多個視點的至少一個場景的所述部件被配置為: 生成包括一個或多個視點的所述至少一個場景。
  51. 根據請求項35所述的裝置,其中,確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點中的另一視點的區帶實質相似由圖形處理單元(GPU)或中央處理單元(CPU)執行。
  52. 一種儲存用於圖形處理的計算機可執行程式碼的計算機可讀媒體,包括程式碼,用來: 確定包括一個或多個視點的至少一個場景; 基於所述一個或多個視點中的每一個,將所述至少一個場景劃分為多個區帶;以及 確定基於所述一個或多個視點中的一個視點的區帶是否與基於所述一個或多個視點中的另一視點的區帶實質相似。
TW110107096A 2020-03-02 2021-02-26 用於高效多視圖光柵化的方法和裝置 TW202141417A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/806,774 US11132831B1 (en) 2020-03-02 2020-03-02 Methods and apparatus for efficient multi-view rasterization
US16/806,774 2020-03-02

Publications (1)

Publication Number Publication Date
TW202141417A true TW202141417A (zh) 2021-11-01

Family

ID=75108872

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110107096A TW202141417A (zh) 2020-03-02 2021-02-26 用於高效多視圖光柵化的方法和裝置

Country Status (6)

Country Link
US (2) US11132831B1 (zh)
EP (1) EP4115607A1 (zh)
KR (1) KR20220148814A (zh)
CN (1) CN115152206A (zh)
TW (1) TW202141417A (zh)
WO (1) WO2021178222A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11132831B1 (en) 2020-03-02 2021-09-28 Qualcomm Incorporated Methods and apparatus for efficient multi-view rasterization
CN114020375A (zh) * 2021-09-22 2022-02-08 联想(北京)有限公司 一种显示方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6380935B1 (en) * 1999-03-17 2002-04-30 Nvidia Corporation circuit and method for processing render commands in a tile-based graphics system
WO2001063561A1 (en) * 2000-02-25 2001-08-30 The Research Foundation Of State University Of New York Apparatus and method for volume processing and rendering
CA2533279C (en) 2005-01-18 2011-09-20 Ryan Eccles System and method for processing map data
US20080143720A1 (en) 2006-12-13 2008-06-19 Autodesk, Inc. Method for rendering global illumination on a graphics processing unit
JP2009290827A (ja) * 2008-06-02 2009-12-10 Sony Corp 画像処理装置および画像処理方法
JP6157138B2 (ja) * 2012-03-30 2017-07-05 キヤノン株式会社 画像処理装置
US9336558B2 (en) * 2013-09-27 2016-05-10 Apple Inc. Wavefront encoding with parallel bit stream encoding
GB2520366B (en) * 2013-12-13 2015-12-09 Imagination Tech Ltd Primitive processing in a graphics processing system
EP3129958B1 (en) * 2014-04-05 2021-06-02 Sony Interactive Entertainment LLC Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
KR20160047316A (ko) * 2014-10-22 2016-05-02 삼성전자주식회사 렌더링 장치 및 방법
KR102354992B1 (ko) * 2015-03-02 2022-01-24 삼성전자주식회사 양안 시차 영상에 대한 타일 기반 렌더링 방법 및 장치
US9773340B2 (en) * 2015-06-12 2017-09-26 Qualcomm Incorporated Rendering using ray tracing to generate a visibility stream
GB2545457B (en) 2015-12-17 2018-07-11 Advanced Risc Mach Ltd Graphics processing systems
US10096147B2 (en) * 2016-03-10 2018-10-09 Qualcomm Incorporated Visibility information modification
GB2550358B (en) * 2016-05-16 2020-08-26 Advanced Risc Mach Ltd Graphics processing systems
CN107330846B (zh) * 2017-06-16 2019-07-30 浙江大学 一种基于屏幕块对的双目渲染流水线流程与方法
US11189042B2 (en) * 2017-07-26 2021-11-30 Sony Corporation Information processing device, information processing method, and computer program
US10776997B2 (en) * 2017-08-24 2020-09-15 Qualcomm Incorporated Rendering an image from computer graphics using two rendering computing devices
WO2019129923A1 (en) 2017-12-29 2019-07-04 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US11244492B2 (en) * 2018-11-02 2022-02-08 Facebook Technologies, Llc. Parallel texture sampling
US11669942B2 (en) * 2019-09-20 2023-06-06 Synaptics Incorporated Image de-warping system
US11132831B1 (en) 2020-03-02 2021-09-28 Qualcomm Incorporated Methods and apparatus for efficient multi-view rasterization

Also Published As

Publication number Publication date
US11631212B2 (en) 2023-04-18
KR20220148814A (ko) 2022-11-07
EP4115607A1 (en) 2023-01-11
CN115152206A (zh) 2022-10-04
US11132831B1 (en) 2021-09-28
US20210327122A1 (en) 2021-10-21
WO2021178222A1 (en) 2021-09-10

Similar Documents

Publication Publication Date Title
US11631212B2 (en) Methods and apparatus for efficient multi-view rasterization
US11037358B1 (en) Methods and apparatus for reducing memory bandwidth in multi-pass tessellation
US20230101978A1 (en) Meshlet shading atlas
US11908079B2 (en) Variable rate tessellation
US11615537B2 (en) Methods and apparatus for motion estimation based on region discontinuity
CN117157703A (zh) 注视点渲染中的内容移位
CN116348904A (zh) 用simo方法优化gpu内核以用于利用gpu高速缓存进行缩小
TW202137141A (zh) 用於邊緣壓縮抗混疊的方法和裝置
CN115715464A (zh) 用于遮挡处理技术的方法和装置
US11380047B2 (en) Methods and apparatus for order-independent occlusion computations
US11875452B2 (en) Billboard layers in object-space rendering
US11682109B2 (en) Configurable apron support for expanded-binning
US11373267B2 (en) Methods and apparatus for reducing the transfer of rendering information
WO2023055655A1 (en) Meshlet shading atlas
CN117616446A (zh) 基于图块的架构中的深度和阴影通道渲染的优化
TW202316375A (zh) 與取樣空間相關聯的注視點分塊渲染
CN116490917A (zh) 用于覆盖合成的平面规划