TW201915937A - 具有可組態變換參數的多空間演現 - Google Patents

具有可組態變換參數的多空間演現 Download PDF

Info

Publication number
TW201915937A
TW201915937A TW107133594A TW107133594A TW201915937A TW 201915937 A TW201915937 A TW 201915937A TW 107133594 A TW107133594 A TW 107133594A TW 107133594 A TW107133594 A TW 107133594A TW 201915937 A TW201915937 A TW 201915937A
Authority
TW
Taiwan
Prior art keywords
space
different
transformation parameters
primitives
coordinates
Prior art date
Application number
TW107133594A
Other languages
English (en)
Other versions
TWI686769B (zh
Inventor
賈斯汀 A 漢斯利
卡爾 D 曼恩
羅夫 C 泰勒
蘭德爾 R 羅溫達爾
強納森 M 雷索
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 TW201915937A publication Critical patent/TW201915937A/zh
Application granted granted Critical
Publication of TWI686769B publication Critical patent/TWI686769B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4084Scaling of whole images or parts thereof, e.g. expanding or contracting in the transform domain, e.g. fast Fourier transform [FFT] domain scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • 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/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

揭示有關演現圖形物件的技術。在一些實施例中,圖形單元經組態以根據用於第二空間之不同部分的不同變換參數將圖形物件從虛擬空間變換成第二空間。這可導致依不同取樣速率取樣虛擬空間之不同部分,這可減少演現程序的各個階段中所需的取樣數目。在所揭示之技術中,變換可發生在點陣化與著色之前,這可進一步降低圖形單元中的運算與功率消耗、改善顯示給使用者的影像品質、及/或減少網路上的視訊內容的頻寬使用或延時。在一些實施例中,可透過失真補償型透鏡或在顯示之前進行重新取樣來觀看經變換之影像。

Description

具有可組態變換參數的多空間演現
本揭露大致上係關於圖形處理器,且更具體地係關於用於演現圖形物件的技術。
圖形處理器(GPU)通常包括在行動裝置中,諸如手機、可穿戴裝置等,其中功率消耗與處理器面積是重要的設計考量。現代的圖形處理器採用多種技術來促進以較高的速度、較少的功耗、及/或較少的處理硬體來演現圖形物件。例如,圖形處理通常涉及針對不同的圖形元素(例如,像素或頂點)並行地執行相同指令。另外,由於相同群組的圖形指令常常執行多次(例如,針對不同圖形元素或針對不同時間的相同圖形元素執行特定功能),所處理的圖形元素的數量驅動圖形處理器中的運算時間、功率消耗、與硬體需求。
一般而言,頂點工作與像素工作涵蓋圖形處理的實質部分。頂點處理涉及使用多邊形來表示影像,其中頂點界定多邊形。頂點處理的輸出通常被點陣化,以產生由像素/片段著色器操作以產生用於輸出至顯示器的像素資料之片段資訊。減少處理的頂點及/或像素資料的量通常増加效能及/或減少圖形單元中的功耗。
本申請案主張於2017年9月29日申請之美國臨時專利申請案第62/565,415號之權利,該案以引用方式全部併入本文中。
本說明書包括對各種實施例之參照,以表示本揭露內容並非意欲僅參照一個特定的具體實施例,而是意欲參照落入本揭露內容之精神內的許多實施例,包括隨附申請專利範圍。可以與此揭露一致的任何合適方式結合特定特徵、結構、或特性。
在本揭露中,不同的實體(其等可能被不同地稱為「單元(unit)」、「電路(circuit)」、其他組件等)可被描述或主張為「經組態(configured)」以執行一或多個任務或操作。此表示法,『實體』經組態以『執行一或多個任務』,在本文中係用以指稱結構(即,實體之物,諸如一電子電路)。具體而言,此表示法係用以指示此結構係經配置以在操作期間執行該一或多個任務。即使一結構目前並未被操作,仍可稱該結構「經組態以(configured to)」執行某任務。舉例來說,「一著色器電路經組態以處理片段資料」係意欲涵括在操作期間執行此功能之一電路,即使所涉電路目前並未被使用(例如,並未連接電源)。因此,經說明或敘述為「經組態以」執行某任務的一實體,係指實體之物,諸如裝置、電路、儲存有可執行用以實施該任務之程式指令的記憶體等。此用語在本文中並非用以指稱無形之物。
用語「經組態以(configured to)」並非意欲意指「可組態以(configurable to)」。舉例來說,一未經程式化的FPGA不會被認為「經組態以」執行某個特定功能,但其可以是「可組態以」執行該功能。在適當程式化之後,該FPGA則可為經組態以執行該功能。
在後附申請專利範圍中描述一結構「經組態以」執行一或多個任務,係明確地意欲不援引35 U.S.C. § 112(f)對該請求項元件進行解讀。據此,本申請中所提出的所有請求項皆非意欲被解讀為具有手段功能元件(means-plus-function element)。若申請人意欲在審查期間援引章節112(f),將使用「用以『執行一功能』之構件」這樣的句構來陳述請求項元件。
如本文所用,用語「基於(based on)」係用於敘述影響一判定的一或多個因素。此用語不排除可能有額外因素可影響判定。意即,一判定可單獨基於特定因素,或基於該等特定因素以及其他未指出因素。考慮用語「基於B判定A(determine A based on B)」。此用語指出,B係一用以判定A之因素,或B影響A之判定。此用語不排除亦可基於一些其他因素例如C來判定A。此用語亦意欲涵括其中A係單獨基於B而判定的一實施例。如本文所用,用語「基於(based on)」與用語「至少部分地基於(based at least in part on)」係同義詞。
此外,如本文中所使用,用語「第一(first)」、「第二(second)」、「第三(third)」等並不一定意味著元件之間的定序(例如,時間性的)。例如,指稱一「第一」圖形操作及一「第二」圖形操作並不意味著圖形操作的定序,缺少限制此等操作間之時間關係的附加語言。簡而言之,在本說明書及後附申請專利範圍中使用諸如「第一」、「第二」等的指稱作為便於參照的標示。 圖形基元的變換
圖1係繪示圖形單元所利用的不同空間之間的圖形基元的變換之圖解。如本文中所用,用語「空間」係指根據座標系統(例如笛卡爾、圓柱形、球形)界定的一或多個維度。例如,虛擬場景空間可係三維的,但可基於場景的視點映射至用於顯示的二維螢幕空間。如本文所用,用語「基元」係指圖形單元經組態以處置的簡單幾何物件(例如,線、三角形、其他類型的多邊形、曲線等)。在本文中在各種實例中論述三角形,但不意欲限制在其他實施例中使用的基元的形狀。
在一些實施例中,虛擬空間110對應於含有圖形基元的一或多個維度的場景。在一些實施例中,虛擬空間110可用於組織由圖形著色器從著色器外部的程式或程序接收的基元資料,例如,基於基元的座標。虛擬空間110可含有用於演現至圖形顯示中的任意數量的圖形基元。在一些實施例中,使用虛擬空間110的座標來執行操縱基元或頂點資料的某些類型的圖形處理操作(例如鑲嵌、照明等)。虛擬空間110中的圖形基元可基於虛擬空間110中的空間座標以及與基元相關聯的額外資料(例如,基元的不透明度、與基元相關聯的一或多個紋理等)來界定。
在圖1所繪示之實施例中,圖形單元將虛擬空間110中之基元的座標變換成第二空間120中之基元的座標。在一些實施例中,變換(transformation)(其也可稱為轉譯(translation))使場景「翹曲」(warp),使得依不同取樣速率取樣虛擬空間之不同部分。因此,第二空間可稱為翹曲空間(warp space)。這可減少虛擬空間的欠取樣(undersampled)部分所需的著色處理,這可提高效能及/或降低功耗。在一些實施例中,圖形單元可針對第二空間之不同部分使用不同變換參數。例如,在第二空間120之一個部分中,可使基元的x維度之尺寸減小3倍(相對於虛擬空間110),且在第二空間120之另一部分中,可使基元的y維度之尺寸減小2倍。在一些實施例中,使影像從虛擬空間110變換成第二空間120會使影像之部分或全部失真(例如,由於變換而改變影像中的各種基元之相對尺寸)。
在一些實施例中,圖形單元點陣化基元且著色由於第二空間120中的點陣化而產生的片段資料(即,在變換之後)。在變換之後依均勻的取樣速率點陣化第二空間120可有效率依不同速率取樣虛擬空間110之不同部分,其中虛擬空間中之不同取樣速率對應於不同變換參數。點陣化可基於第二空間中之基元的座標產生片段資料。例如,方形基元可從虛擬空間110中之座標(0,0)、(0,2)、(2,2)、(2,0)變換成第二空間120中之座標(0,0)、(0,1)、(1,1)、(1,0),且應用每整數座標一像素的點陣化可針對第二空間120中的方形之四個隅角的各者產生一片段(對照若已使用虛擬空間座標,則產生覆蓋方形的九個片段)。在此實例中,圖形單元將著色第二空間120中的四個片段,而不是虛擬空間110中的九個片段,以表示相同的基元。下文參考圖6與圖7論述此概念的更詳細的實例。
在一些實施例中,顯示空間130係顯示(或經發送以供顯示)所演現圖形影像給使用者(例如,發送至螢幕以供顯示的圖形圖框)的空間。顯示空間130之其他實例包括3D顯示器,諸如全像與體積式顯示器。傳統上,圖形處理器可藉由點陣化虛擬空間110中之基元來產生影像以供在顯示空間130中顯示。在圖1所繪示之實施例中,相比之下,第二空間120中之影像點陣化與著色發生在第二空間120中。在一些實施例中,可顯示第二空間120中之影像而無需修改(即,第二空間120與顯示空間130相同)。在其他實施例中,重新取樣或透鏡失真可將第二空間120中的影像轉換成顯示空間130。例如,透過透鏡觀看第二空間120中的影像可校正由變換成第二空間而引致的失真,使得使用者在顯示空間130中觀看到未失真的影像。請注意在一些實施例中,經演現的影像(例如,儲存在圖框暫存器中者)可被饋送回GPU管線以供進一步處理,此可包括變換成其他空間。
本揭露中之各種實施例描述相關於1D、2D、與3D空間的虛擬、第二、與顯示空間,但虛擬空間110、第二空間120、與顯示空間130可包括含有圖形基元與描述圖形基元的特性的相關資料(例如,紋理、深度、照明、不透明度等)之任何數量的維度。在第二空間中執行各種圖形演現程序可具有改善效能、降低圖形單元中的功率消耗、改善顯示給使用者的影像品質、及/或減少網路上的視訊內容的頻寬使用或延時之優點。圖2A至圖2B以更一般的內容背景介紹圖形演現程序與例示性圖形單元的概述,而其餘的圖式提供關於例示性翹曲空間演現技術的額外細節。 圖形處理概述
參照圖2A,展示的流程圖繪示一種用於處理圖形資料之例示性處理流程200。在一實施例中,變換及照明步驟210可涉及基於經界定的光源位置、反射率等處理自一應用程式接收之用於頂點的照明資訊;將頂點組譯成多邊形(例如三角形);及/或基於三維空間中的位置將多邊形變換成正確的大小及定向。剪輯步驟215可涉及捨棄落在一可視區外的多邊形或頂點。點陣化步驟220可涉及例如基於多邊形之頂點的紋理座標而在各多邊形內界定片段以及指派用於各片段的初始色值。片段可針對其所重疊之像素指定屬性,但可基於組合多個片段(例如,在一圖框緩衝器中)及/或忽略一或多個片段(例如,若其等經其他物件覆蓋)來判定實際的像素屬性。著色步驟230可涉及基於照明、陰影、凸凹紋理映射(bump mapping)、半透明度等變更像素組件。可在一圖框緩衝器235中組譯經著色的像素。現代GPU一般包括可程式化著色器,其等允許由應用程式開發人員客製化著色及其他處理步驟。因此,在各種實施例中,圖2A之例示性步驟可以各種順序執行、並行地執行、或省略。亦可實施額外的處理步驟。圖2A未展示但在本文中關於各種實施例論述的變換步驟可包括在點陣化之前的處理流程200中。變換步驟可涉及將頂點座標變換成新座標系統,且以減少點陣化步驟220中點陣化的片段數量之方式修改頂點資料。
現參照圖2B,展示的簡化方塊圖繪示圖形單元250之一實施例。在所繪示之實施例中,圖形單元250包括可程式化著色器260、頂點管285、片段管275、紋理處理單元(TPU) 265、影像寫入單元270、及記憶體介面280。在一些實施例中,圖形單元250經組態以使用可程式化著色器260處理頂點及片段資料兩者,該可程式化著色器可經組態以使用多個執行管線或執行個體來處理圖形資料。
在所繪示之實施例中,頂點管285可包括經組態以處理頂點資料的各種固定功能硬體。頂點管285可經組態以與可程式化著色器260通訊以協調頂點處理。在所繪示之實施例中,頂點管285經組態以將經處理的資料發送至片段管275及/或可程式化著色器260以供進一步處理。
在所繪示之實施例中,片段管275可包括經組態以處理像素資料的各種固定功能硬體。片段管275可經組態以與可程式化著色器260通訊以協調片段處理。片段管275可經組態以對來自頂點管285及/或可程式化著色器260的多邊形執行點陣化,以產生片段資料。頂點管285及/或片段管275可耦合至記憶體介面280(圖中未展示耦合)以存取圖形資料。
在所繪示之實施例中,可程式化著色器260經組態以接收來自頂點管285之頂點資料以及來自片段管275及/或TPU 265之片段資料。可程式化著色器260可經組態以對頂點資料執行頂點處理任務,其可包括頂點資料的各種變換及/或調整。在所繪示之實施例中,例如,可程式化著色器260亦經組態以對像素資料執行片段處理任務(諸如紋理化及著色)。可程式化著色器260可包括用於並行處理資料的多個執行個體。
在所繪示之實施例中,TPU 265經組態以排程來自可程式化著色器260的片段處理任務。在一些實施例中,TPU 265經組態以預擷取紋理資料且將初始色彩指派給片段,以供可程式化著色器260進一步處理(例如,經由記憶體介面280)。例如,TPU 265可經組態以依正規化整數格式或浮點格式來提供片段組件。在一些實施例中,TPU 265經組態以提供欲藉由可程式化著色器260中之一群組四個的執行管線處理之呈2×2格式之一群組四個的片段(一「片段方塊(fragment quad)」)。
在一些實施例中,影像寫入單元(IWU) 270經組態以儲存一影像之經處理圖塊,且可在一經演現影像經傳輸以供顯示或經傳輸至記憶體以供儲存之前執行操作。在一些實施例中,圖形單元250經組態以執行基於圖塊的演現。在基於圖塊的演現中,可分開處理螢幕空間的不同部分(例如,像素的正方形或矩形)。記憶體介面280可促成與各種實施例中之各種記憶體階層之一或多者的通訊。
在各種實施例中,一可程式化著色器(諸如可程式化著色器260)可以各種適當組態之任何者耦合至一圖形單元中的其他可程式化及/或固定功能元件。圖2B的例示性實施例為說明目的顯示圖形單元250的一個可行組態。 片段管概述
圖3係繪示根據一些實施例之一例示性片段管275的方塊圖。在所繪示之實施例中,片段管275包括參數擷取電路系統310、變換電路系統320、掃描轉換器330、排序電路系統340、及像素資料主控器350。在所繪示之實施例中,片段管275的各種元件經組態以與可程式化著色器260通訊。
在所繪示之實施例中,參數擷取電路系統310經組態以接收用於經處理之目前圖塊的圖塊及頂點資料305。此可經由一圖形記憶體階層的一或多個元件獲得,例如,其可含有各種快取階、共享記憶體結構等。頂點資料可針對一基元列表中與經處理之圖塊相交之各基元指定頂點座標。圖形基元的頂點資料可包括描述基元的視覺或其他特性(例如紋理、照明、不透明度等)的資料。資料305亦可含有將頂點資訊與經處理之圖塊相關聯及/或描述處理中之圖塊的各種資訊。
在所繪示之實施例中,變換電路系統320經組態以將頂點資料從虛擬空間變換成第二空間。頂點資料可指定頂點的座標,且在變換電路系統320中處理之後,第二空間中之頂點的座標可不同於虛擬空間中之頂點的座標。在一些實施例中,可在圖形單元250中的其他位置(例如,頂點管285)中實施變換電路系統320,在此情況中,片段管275中的參數提取電路系統310將接收與第二空間相關聯的圖塊與頂點資料305(即,已變換)。在一些實施例中,在掃描轉換器330點陣化頂點資料以產生片段資料之前(例如,在圖2A中的點陣化步驟220之前),變換電路系統320變換頂點資料。這可藉由降低在虛擬空間中否則可能已過取樣(oversampled)之圖塊的處理複雜度(例如,被點陣化的像素的數量)來改善效能。
在一些實施例中,變換電路系統320經組態以針對不同圖塊使用不同變換參數,且參數可由圖形程式或使用預設值按每圖塊為基礎予以指定。
在所繪示之實施例中,掃描轉換器330經組態以執行點陣化以基於頂點資料產生片段資料。用語「片段(fragment)」係意欲根據其為人所熟知的含義進行解釋,且片段資料可指定基於一給定基元著色一像素所需的資料(例如,針對片段、用於該片段的座標等指稱欲由可程式化著色器260執行的一或多個著色器程式),加上測試片段是否存活以為一對應像素貢獻屬性所需的資料(深度、α、模版、剪取、視窗ID等)。在一些演現模式中,片段資料可包括用於每一片段/像素之多個樣本的資料。可在各種粒度層級之一或多者處指定片段資料(例如,片段資料可每樣本儲存或者可每片段、每物件、每圖塊等聚合)。在一些實施例中,例如,當一個片段部分透明時,來自多個片段的資料可用於判定特定像素的屬性。
在所繪示之實施例中,排序電路系統340包括一或多個圖塊緩衝器335,且經組態以追蹤目前可見的片段係何者,直到該等片段經著色。例如,可自圖塊緩衝器335捨棄用於由在經演現之一場景中較接近螢幕之一不透明物件所覆蓋之一片段的資料,因為該片段經判定為不可見。在各種實施例中,此等遮擋技術可減少可程式化著色器160所需的處理。在一些實施例中,排序電路系統340包括用於各經處理之圖塊之一分開的圖塊緩衝器,其可允許並行地演現多個圖塊。進一步地,片段管275的多個執行個體可包括在一給定的圖形單元中,進一步增加用於並行處理的資源。如本文中所使用,片段資料的「遮擋(occlusion)」係指一情況,其中片段資料經判定將不會在圖形資料的一圖框中實際上對像素屬性有貢獻。例如,遮擋係發生在當片段資料係用於在經演現場景中之另一物件後面的一物件,且另一物件係不透明的時候。
在所繪示之實施例中,像素資料主控器350經組態以將著色器工作發送至可程式化著色器260,例如以著色(多個)圖塊緩衝器335的內容。在一些實施例中,像素資料主控器340可經組態以回應於各種事件而排清(flush)一圖塊緩衝器335之內容的全部或一部分以供著色。在一些實施例中,圖形單元250包括多個資料主控器,其等可包括經組態以將頂點工作發送至可程式化著色器260的一頂點資料主控器以及經組態以將運算工作發送至可程式化著色器260的一運算資料主控器。在一些實施例中,可程式化著色器260包括排程電路系統,該排程電路系統經組態以針對來自各種資料主控器的工作分配可程式化著色器260中的硬體資源。 從虛擬空間至第二空間的例示性變換
圖4係根據一些實施例的圖解,其繪示將虛擬空間影像變換成第二空間影像的例示性1D變換。圖4表示例示性方案,其中針對第二空間之不同部分使用不同變換參數可係有用的。然而,所揭示之技術絕不限於此類方案,且在各種實施例中,可實施各種類型的變換功能。
在一些實施例中,虛擬空間110係頂點變換後空間。例如,虛擬空間110可含有從圖形單元從程式或程序所接收之3D模型導出的頂點資料。在所繪示之實施例中,針對第二空間之不同部分使用不同變換參數。例如,3:1比例因數將部分虛擬0至虛擬2變換成部分翹曲0,而1:1比例因數將虛擬7的部分與虛擬8的部分變換成翹曲4,使得翹曲0中的每個虛擬部分的片段/像素比翹曲4中的每個虛擬部分的片段/像素少三倍。
在所繪示之實施例中,整體影像的尺寸在一個維度中減小到二分之一(虛擬空間410含有在點陣化之後包含512個像素的影像,且第二空間420含有在點陣化之後包含256個像素的影像)。在一些實施例中,在點陣化之前可發生變換虛擬空間中之基元的座標成第二空間中之基元的座標,使得變換改變後來被點陣化的基元之頂點座標。
在一些實施例中,虛擬空間之多個或部分部分可變換成第二空間之單一部分。例如,在所繪示之實施例中,多個虛擬空間部分(虛擬0至虛擬2)變換成單一第二部分(翹曲0),且不同虛擬空間部分之部分(虛擬7與虛擬8)變換成單一第二部分(翹曲4)。
在一些實施例中,跨越分離虛擬空間部分的邊界之基元可完全落在第二空間之單一部分內(例如,跨越圖4中之虛擬1與虛擬2的邊界之基元完全落在翹曲0內)。在一些實施例中,完全落入虛擬空間之單一部分內的基元可在變換之後跨越分離第二空間部分的邊界(例如,圖4中落入虛擬5內的基元可在變換後跨越翹曲1與翹曲2之間的邊界)。
在一些實施例中,不是虛擬空間410之所有部分或虛擬空間410中之所有基元皆變換成第二空間420。在所繪示之實施例中,圖形單元不變換位於部分虛擬15中的邊界415外的基元成翹曲7。相似地,僅基元之部分可變換成第二空間420(例如,針對在邊界415之兩側上含有頂點的基元)。在一些實施例中,圖形演現程序可包括在變換成第二空間420之後的揀選或剪輯步驟。如本文所用,「揀選(cull)」係根據所屬技術領域中熟知的含義使用,其包括省略來自圖形處理步驟的基元。如本文所用,「剪輯(clip)」係根據所屬技術領域中熟知的含義使用,其包括從基元移除或重新排序資料以產生新的基元。在一些實施例中,在變換之後,圖形單元亦可執行小物件揀選(除了執行揀選可視區域外的基元之外),其中圖形單元從場景中移除足夠小的經變換基元。為了避免不必要的基元變換,圖形單元可在將頂點資料從虛擬空間410變換成第二空間420之前揀選基元。在將頂點資料從虛擬空間410變換成第二空間420之前或之後,圖形單元可剪輯基元。 用於儲存變換參數的例示性資料結構
圖5係繪示根據一些實施例之含有用於第二空間之不同部分的不同變換參數之資料結構的圖解。在一些實施例中,使用專用硬體暫存器實施這些資料結構。在所繪示之實施例中,資料結構500含有表510A至510Z。在所繪示之實施例中,表510A至510Z含有變換參數。如圖所示,表510A含有與第二空間(例如,翹曲空間)之第一部分(例如,圖塊)相關聯的第一組變換參數,且表510Z含有與第二空間之第二部分相關聯的第二組變換參數。
在一些實施例中,變換參數可指定至一函數的輸入,該函數將虛擬空間中之座標組變換成第二空間中之各別座標組(例如,方程式的係數)。在一些實施例中,變換參數可指定函數的類型,該函數將虛擬空間中之座標組變換成第二空間中之各別座標組(例如,線性或二次函數)。在一些實施例中,圖形單元可使用任意數目個變換參數來指定不同的功能。在一些實施例中,變換參數的另一實例係旋轉值,旋轉值可促進全投影變換。作為另一實例,可應用負比例因數,使得虛擬空間中的基元不僅被按比例調整,而且在變換成第二空間期間也被鏡射。更大致來說,投影變換可利用矩陣,例如,用於二維投影變換的3x3矩陣。作為另一實例,圖形單元可使用投影變換將虛擬空間之一部分中的個別樣本/像素/方塊映射至第二空間中之不同位置。在各種實施例中,用於第二空間之部分的變換參數可係可程式化的。在一些實施例中,可基於使用者輸入或直接指定變換參數的圖形程式中之指令直接程式化變換參數。在一些實施例中,可基於由使用者或圖形程式指定的更一般準則來程式化變換參數。
在各種實施例中,不同的表510A至510Z係用於分別指定用於第二空間之不同部分的變換參數。在一些實施例中,資料結構500可基於需要獨特變換的第二空間中之部分的數量來利用較多或較少含有變換參數的獨特之表。在一些實施例中,第二空間之部分可係相同尺寸。例如,第二空間之各部分可係32像素×32像素的方形圖塊。在其他實施例中,第二空間之不同部分可係不同尺寸。例如,影像中心附近之一部分可含有8像素×8像素,且影像邊緣附近之一部分可含有64像素×64像素。在一些實施例中,部分可係各種非方形形狀。例如,第二空間之一或多個部分可含有16像素×32像素。在不同實施例中,可使用不同的部分尺寸及/或形狀。第二空間之部分可根據一些圖形處理命名(例如,圖塊、切片、區塊、子圖塊、子切片、子區塊)來標記。
在一些實施例中,一或多個表可與第二空間之多於一個部分相關聯。例如,在分成64個方形圖塊的第二空間中,表510A中之一組變換參數可應用至16個圖塊,且表510Z中之另一組不同的變換參數可應用至4個圖塊。在一些實施例中,一或多個表可與第二空間之單一部分相關聯。在一些實施例中,圖形單元150經組態以儲存指示哪些表儲存哪些圖塊的變換參數之後設資料。
在所繪示之實施例中,資料結構500包括用作變換參數的比例因數與位移。例如,在所繪示之實施例中,表510A中之x1維度指定2之比例因數與0.5之位移。在所繪示之實施例中,比例因數2可導致虛擬空間的取樣速率之一半(相對於變換之前的取樣),且0.5之位移可指示在虛擬空間中開始取樣的位置。在一些實施例中,變換參數可包括位移,以達成跨第二空間之多個部分的分段連續函數。在一些實施例中,用於第二空間之多個部分的位移可參考共同參考點來界定。在一些實施例中,可參考點陣化後的像素內容來界定比例因數與位移(或用作變換參數的任何其他函數)。在其他實施例中,可參考一座標系統來界定比例因數與位移(或用作變換參數的任何其他函數)。在一些實施例中,座標系統可係界定各種基元之頂點的座標之相同座標系統。
在一些實施例中,資料結構500可含有用於第二空間之不同維度的不同組之變換參數。作為一實例,資料結構500可針對使用者之左眼與右眼指定不同變換參數。在所繪示之實施例中,表510A含有用於第二空間之一部分中的x1、x2、與y維度之各者的不同比例因數與位移。x1維度的變換參數可應用於左眼,且x2維度的變換參數可應用於右眼。針對不同維度指定不同變換參數之技術可提供立體或分層演現或執行通常用以在所演現圖形圖框中達成某些效果之多個演現行程(rendering pass)的優點。在一些實施例中,資料結構500可含有用於與第二空間相關聯的不同資料之不同變換參數(例如,除了頂點座標之外)。例如,變換參數可用於不同地處理不同圖塊的不透明度或紋理資料。
在一些實施例中,資料結構500可含有用於第二空間中的多個影像或圖框之變換參數。例如,資料結構500可含有用於第二空間中的多個圖框之變換參數,使得圖形單元可將視訊內容變換成第二空間,而不需更新資料結構500中之變換參數。在其他實施例中,資料結構500可含有用於第二空間中的影像或圖框之單一執行個體之變換參數(例如,可在處理視訊資料的不同圖框之間更新參數)。在一些實施例中,一或多個處理器可寫入至資料結構500以基於使用狀況(例如,使用者位置、顯示類型)或場景的內容或特性(例如,攝影機或光位置)來更新變換參數。例如,圖形單元可在其接收關於使用者注視方向的資訊時更新資料結構500中的變換參數,使得第二空間在接收到使用者最多關注的影像區中保持高解析度。在一些實施例中,圖形單元可更新資料結構500中的變換參數,以達成在場景內容變化時在第二空間之某些區中的較大或較小解析度。作為另一實例,圖形單元可在場景中的攝影機位置變化時更新資料結構500中的變換參數,使得影像之不同部分變得較靠近或較遠離攝影機。
在一些實施例中,資料結構500可由圖形程式予以程式化,以針對第二空間之不同部分指定不同變換參數。在一些實施例中,資料結構500可被實施為圖形記憶體階層結構之一或多個元件,其可含有各種快取階、共用記憶體結構等。 變換對於取樣速率的例示性影響
圖6係繪示根據一些實施例之可由第二空間之不同部分的不同變換參數而導致的虛擬空間之不同部分的不同取樣速率的圖解。在所繪示之實施例中,例示性相同的基元605與615在虛擬空間中具有相同尺寸,但在轉譯之後位於第二空間之不同部分(分別係A與B)中。在從虛擬空間轉譯成第二空間期間,在所繪示之實施例中,圖形單元基於基元605與基元615被映射至第二空間之不同部分而應用不同轉譯參數至基元605與基元615。如圖所示,該轉譯依因數2按比例調整基元605,且依因數2.5按比例調整基元615。
在所繪示之實施例中,第二空間中所示之片段座標對應於虛擬空間中所示之樣本座標(因此,虛擬空間中之樣本位置的座標變換成第二空間中之片段的座標)。在所繪示之實施例中,基元605係以高於基元615的較高解析度取樣,因為其所應用之轉譯參數使用較小比例因數。換言之,與針對2.5:1轉譯相比,針對2:1轉譯的每虛擬空間面積之第二空間中片段數目較大。如圖6所示,為了使用不同取樣速率來取樣虛擬空間之部分,在虛擬空間中具有相同尺寸的基元在第二空間中可具有不同尺寸,這可能導致影像之部分出現翹曲。在所繪示之實施例中,片段資料反映由轉譯所導致的不同取樣速率。在一些實施例中,一旦經轉譯之基元被點陣化,轉譯可導致虛擬空間之不同部分中的片段資料中之不同取樣速率。
在一些實施例中,基元605與615在顯示器上應具有相同尺寸,但具有不同解析度。在一些實施例中,第二空間中之影像可透過透鏡來觀看,該透鏡以移除由轉譯引致的失真的方式對影像之不同部分應用不同放大率。在一些實施例中,轉譯參數可基於將用於觀看影像之顯示的透鏡來程式化(例如,寬視場虛擬實境顯示使用已知的透鏡類型)。在一些實施例中,可對轉譯參數進行程式化,以引致抵消由透鏡引致之失真的失真,使得使用者觀看到的影像含有很少或沒有失真。
在一些實施例中,第二空間之部分可在顯示之前被重新取樣,例如,以減小或消除由轉譯成第二空間所導致的失真。在一些實施例中,重新取樣第二空間成顯示空間可針對第二空間之不同部分使用不同重新取樣速率。在一些實施例中,用於第二空間之不同部分的不同重新取樣速率可基於用於第二空間之不同部分的不同轉譯參數。在一些實施例中,第二空間中之影像的重新取樣可移除將影像從虛擬空間轉譯成第二空間所引致的縮放或失真(例如,使得圖6中的基元605與615在轉譯與重新取樣之後的尺寸相同)。在一些實施例中,經重新取樣之影像可在整個影像上具有均勻取樣速率。在其他實施例中,經重新取樣之影像可在不同部分中具有不同取樣速率。在一些實施例中,經翹曲轉譯後,點陣化與著色第二空間中之較少像素的效能優點可大於對第二空間進行重新取樣以供顯示的任何效能缺點。重新取樣可允許使用習知演現方法(例如,圖2A中所論述者)與圖形硬體(例如,圖2B中所論述者)演現第二空間中的影像,同時以與虛擬空間影像相同的解析度與場景內容顯示影像,但可導致圖形處理器的較少運算、延時、及/或功耗。換言之,在點陣化之前執行翹曲轉譯可允許在不考慮翹曲技術的情況下編寫著色程式,且可選擇轉譯、重新取樣、及/或透鏡參數而無需考慮要執行的實際著色。 變換與失真
圖7係繪示根據一些實施例之從變換與例示性校正重新取樣(例如,在著色後)產生的失真的圖解。在所繪示之實施例中,在虛擬空間中,相同基元705與715具有相同尺寸。在變換成第二空間期間,在所繪示之實施例中,圖形單元應用2之比例因數至y維度上之基元705(且在x維度應用1之比例因數),以及應用2之比例因數至x維度上之基元715(且在y維度應用1之比例因數)。在這兩種情況下,相對於虛擬空間中之原始基元,第二空間中之基元的影像失真,此係因為在x與y維度應用不同比例因數。
如圖所示,轉譯虛擬空間中之基元的座標成第二空間中之基元的座標可相對於虛擬空間中之影像引致失真至第二空間中之影像。圖7所繪示之實施例繪示線性失真,但失真可能由任何各種其他非線性函數引致。如上文所論述,在一些實施例中,可將透鏡應用至經轉譯的影像,以在顯示之前移除失真。
在一些實施例中,針對不同維度使用不同轉譯參數可導致在虛擬空間中針對不同維度的不同取樣速率。如圖7所示,基元705(其在y維度中以2之比例因數予以轉譯)在虛擬空間之x維度中以較大密度被取樣,且基元715(其在x維度中以2之比例因數轉譯)在虛擬空間之y維度中以較大密度被取樣。如上文相關於圖6所論述的,可在顯示之前重新取樣經轉譯之基元。在圖7所繪示之實施例中,例如,經轉譯之基元705可在y維度中以2倍速率重新取樣,且基元715在x維度中以2倍速率重新取樣。在所繪示之實施例中,可以相同解析度顯示經轉譯且經重新取樣之基元705與715,使得經轉譯經重新取樣之基元的尺寸相同虛擬空間者。
圖8A至圖8B分別繪示根據一些實施例之在翹曲轉譯之後在虛擬空間中及第二空間中的例示性影像。如圖所示,虛擬空間影像805含有15 × 20個方形部分,全部都相同尺寸。在所繪示之實施例中,第二空間影像815類似地含有15 × 20個方形部分。在所繪示之實施例中,場景內容可在從虛擬空間轉譯成第二空間期間位移。例如,請注意,位於虛擬空間805中的列10之頂部附近的水平線位移至第二空間影像815中的列11之頂部。類似地,在虛擬空間影像805中的列6至10與行G至M中含有的「OpenGL」標誌擴展至第二空間影像815中的列5至11與行E至O。第二空間影像805之總影像尺寸可小於虛擬空間影像815之總影像尺寸。在一些實施例中,可使用轉譯參數(例如,位移與比例因數)來判定哪些基元重疊於在第二空間中的哪些圖塊(且因此應當視為這些圖塊的著色)。
在一些實施例中,圖形單元150經組態以使用「邊界框」技術來粗略地去除已知不與部分(例如,圖塊,在這種情況下,不需要處理針對該圖塊之基元)相交的基元。例如,針對三角形基元,可使用矩形邊界框來描繪X與Y維度中的基元之最遠點。邊界框可用於判定針對各圖塊應考慮哪些基元,然後在轉譯後針對該圖塊要點陣化哪些基元。在不同圖塊具有不同轉譯參數的一些實施例中,可能需要轉譯邊界框以及基元。
圖8A至圖8B也繪示基元邊界框的概念。請注意,為了說明的目的,這些圖式使用「OpenGL」標誌作為實例,即使其實際上不是一基元(而是使用許多基元表示)。在所繪示之實施例中,虛擬空間影像805中的「Open GL」標誌被包含在邊界框810內,且第二空間815中的「Open GL」標誌被包含在經轉譯之邊界框820內。如圖所示,應用轉譯參數至邊界框810導致經轉譯之邊界框820。在一些實施例中,圖形單元150經組態以分別儲存用於邊界框轉譯與基元轉譯的轉譯參數。
因此,在一些實施例中,圖形單元可判定虛擬空間中之一或多個基元的邊界框,然後將邊界框之座標轉譯成第二空間。邊界框可包圍一個基元或一群組基元(例如,猶如圖8A至圖8B中的「Open GL」標誌係單一基元,或「Open GL」標誌中的所有基元被指派至一共同群組中)。在一些實施例中,圖形單元可比較經轉譯邊界框與第二空間之一或多個部分,以判定第二空間之哪些部分與經轉譯邊界框相交。圖形單元可僅針對與經轉譯邊界框相交的第二空間之部分來處理(例如,點陣化或轉譯)包含在邊界框中的一或多個基元。在一些實施例中,可針對第二空間之多於一個部分使用不同轉譯參數來轉譯給定基元。例如,當將場景內容從虛擬影像805轉譯成位於列5至11與行E至O之外的第二空間影像815之部分時,圖形單元將不考慮包含在邊界框820中的基元,而是當將場景內容轉譯成位於列5至11與行E至O內的第二空間影像815之部分中時,將考慮這些基元。這可藉由限制針對第二空間中之各部分受處理的頂點資料量來有利地減少運算。 使用按每圖塊變換參數之例示性陰影映射。
在一些實施例中,在各種其他例示性應用中,所揭示之翹曲變換技術可應用於陰影映射。如本文所用,用語「陰影映射」係根據所屬技術領域熟知的含義使用,其包括用於判定場景之哪些部分與光源相互作用的技術(例如,對照物件阻擋光源且導致來自光源的光的陰影之區域)。在一些實施例中,應用不同變換參數至陰影圖之不同部分是針對陰影圖之不同部分使用不同解析度。在一些實施例中,變換參數係可程式化,以依不同解析度來取樣虛擬空間中的陰影圖之不同部分。例如,可演現光視圖至虛擬螢幕空間,且較靠近攝影機的陰影可依高解析度變換成翹曲空間,而遠離攝影機的陰影可依低解析度換成翹曲空間(除了或代替攝影機的位置,各種技術亦可用於判定用於翹曲空間之不同部分的變換參數)。這可提供優於習的陰影映射方法(例如,透視陰影圖、層疊陰影圖、光空間透視陰影圖等)之益處或結合習知陰影映射方法之改進,諸如消除對多個陰影圖的需要及/或進一步減小陰影鋸齒。在一些實施例中,可針對不同光源使用不同變換參數。 額外的等角演現實例
圖9A至圖9D圖形地繪示根據一些實施例之等角演現。具體地,圖9A與圖9B繪示習知直線演現,且圖9C與圖9D繪示等角演現。
圖9A繪示使用習知直線投影方法從視點發射光線,以取樣圖框900。在直線投影方法中,光線以相等距離d 從視點發射至3D虛擬空間中,以取樣圖框900。然後,由演現應用程式演現經取樣之圖框,以產生用於顯示的影像。如圖9B所示,直線投影方法產生具有跨顯示器902相同解析度904的影像。可選擇距離d 以當使用者正在顯示器902的中心時提供良好的細節。然而,人眼992只能依一定角度解析度994解析細節。如在圖9B中可見,當使用者正注視朝向顯示器902之邊緣時,影像解析度高於眼睛的角度解析度994。因此,直線投影方法往往朝向影像邊緣過取樣。這對於寬FOV顯示器尤其如此。
圖9C繪示使用等角投影方法從視點發射光線,以取樣第二空間圖框910。在等角投影方法中,將虛擬空間圖框900轉譯成第二空間圖框910,且將光線從視點以等角度A 發射至3D空間中,以取樣第二空間圖框910。在一些實施例中,在點陣化或取樣之前,可將虛擬空間圖框900中之基元的座標變換成第二空間圖框910。這可具有減少運算、増加演現速度、及/或降低功率消耗的優點(例如,藉由減少處理的像素或片段的數目及/或藉由推遲點陣化程序來消除重新取樣的需要)。
在一些實施例中,第二空間圖框910被轉譯成用於在顯示器902上觀看的顯示空間。在一些實施例中,在點陣化之前,可發生轉譯成顯示空間。這可有利地藉由減少點陣化的片段或像素數目來減少運算。光線可從視點以等角度A 發射至3D空間中,以取樣顯示空間圖框,或者在其他實施例中,顯示空間圖框可依均勻直線取樣速率進行取樣。然後,由演現應用程式演現經取樣之圖框,以產生用於顯示的影像。如圖9D所示,等角投影方法產生在顯示器902之中心處具有較高解析度且朝向顯示器902之邊緣具有較低解析度的影像。如在圖9D中可見,當使用者正注視朝向顯示器902之邊緣時,由於顯示器902之邊緣離眼睛992之瞳孔比離顯示器的中心更遠,因此在邊緣處的較低影像解析度提供類似於顯示器902的中心處提供的解析度,且未對眼睛的角度解析度994過取樣,如同在直線投影方法中。
等角演現方法降低圖框解析度,從而縮減演現圖框的時間,這縮減延時,亦減少透過網路或其他通訊鏈路發送的圖框所需傳輸的位元數目,這減少頻寬使用且縮減延時。等角演現技術係本文論述的翹曲轉譯技術的一個非限制性實例。可基於追蹤使用者的注視方向等在多個維度中使用類似技術,如下文更詳細地論述。 例示性注視點演現技術
在一些實施例中,可使用的另一種技術可稱為注視點演現,其可用於降低較未受到使用者注意的圖框區域中的圖框解析度,且因此減少運算、功率消耗、頻寬使用、與延時。在注視點演現方法中,圖形單元可使用來自注視追蹤攝影機的注視追蹤資訊(例如,在一或多個影像中所擷取的注視追蹤資訊),以識別使用者當前正在注視的方向(稱為注視方向)。人眼可在視網膜中央窩處察覺比視網膜的周圍區域更高的解析度。可依據由所判定的注視方向與已知參數(例如,眼睛參數與從眼睛至顯示器的距離)來評估對應於視網膜中央窩的圖框區域(稱為注視點區域)。可依較高解析度演現注視點區域,而可依較低解析度演現注視點區域之外的圖框(稱為周邊區域)。在一些實施例中,圖框可變換成第二空間,以依不同取樣速率演現注視點與周邊區域。在一些實施例中,可在注視點與周邊區域中應用不同變換參數,使得依不同速率取樣該兩個區域(例如,注視點與周邊區域含有使用不同變換參數的螢幕之不同部分,諸如上文相關於圖5所論述者)。在其他實施例中,周邊區域可依較高的解析度予以演現,且隨後轉換成較低解析度,例如藉由將濾波器(例如,帶通濾波器)應用至周邊區域。注視點演現方法減少所演現影像中的像素數目,這減少透過無線或其他網路鏈路傳輸圖框資料所需傳輸的位元數目,且因此在一些實施例中,減少頻寬使用且縮減延時。
在一些實施例中,所揭示之翹曲空間演現技術可允許在不改變著色器程式的情況下執行注視點演現。例如,GPU驅動器可接收注視追蹤資訊,且基於注視追蹤資訊以對著色器程式透明的方式來實施不同圖框的變換參數。這可允許效能提高,而不會増加圖形開發人員的程式設計負擔。 例示性方法
圖10係繪示根據一些實施例之用於多空間演現的例示性方法1000之流程圖。除其他裝置以外,圖10所展示之方法亦可結合本文所揭示之電腦系統、裝置、元件、或組件使用。在各種實施例中,所示之方法元件的一些可同時執行、以不同於所示的一順序執行、或者可省略。亦可依需要執行額外的方法元件。
在1010處,在所繪示之實施例中,圖形電路系統(例如,圖形單元250)接收基元資料,包括虛擬空間中之基元的座標。在一些實施例中,圖形電路系統從圖形電路系統外部的程式或程序接收基元資料。在一些實施例中,圖形電路系統從記憶體擷取基元資料。在一些實施例中,使用虛擬空間中之基元的座標來判定將在顯示場景中演現基元的位置。
在1020處,在所繪示之實施例中,圖形電路系統接收與一或多個座標變換相關聯的變換參數。在一些實施例中,變換參數可指定一函數,該函數將虛擬空間中之座標組變換成第二空間中之各別座標組。在一些實施例中,圖形電路系統可針對第二空間之不同部分接收不同變換參數。在一些實施例中,變換參數可指定用於座標變換的比例因數與位移。在一些實施例中,可指定所接收之變換參數以達成某些準則(例如,檔案大小、影像解析度、效能基準等)。
在1030處,在所繪示之實施例中,圖形電路系統儲存所接收之變換參數。例如,圖形單元可儲存變換參數於資料結構500中,且經由記憶體介面280擷取用於在演現中使用的變換參數。在一些實施例中,圖形電路系統可針對第二空間之不同部分儲存不同變換參數。在一些實施例中,圖形電路系統可針對第二空間之不同維度儲存不同變換參數組。在一些實施例中,圖形電路系統可針對不同圖形圖框儲存不同變換參數組。在一些實施例中,圖形電路系統可回應於演現中的圖形資料或使用環境中的變化而更新所儲存之變換參數。例如,圖形電路系統可基於場景中之攝影機視圖的變化或觀看視訊內容的使用者之注視方向的變化來更新變換參數。在一些實施例中,所儲存之變換參數可係可程式化的,使得圖形電路系統回應於從外部程式或程序接收資訊而更新所儲存之變換參數。
在1040處,在所繪示之實施例中,在點陣化基元之前,圖形電路系統(例如,變換電路系統320)針對第二空間之不同部分使用不同變換參數而將虛擬空間中之基元的座標變換成第二空間中之基元的座標。虛擬空間與第二空間之不同部分可係一或多個尺寸與形狀。將基元變換成第二空間可引致第二空間影像中相對於虛擬空間影像的失真(例如,基元之相對尺寸會在變換期間改變)。在一些實施例中,將虛擬空間中之基元的座標變換成第二空間中之基元的座標可包括更新一或多個基元之頂點資料,包括頂點座標。在一些實施例中,該變換可產生與虛擬空間影像不同尺寸(以像素或座標表示)的第二空間影像。
在1050處,在所繪示之實施例中,圖形電路系統(例如,掃描轉換器330)基於第二空間中之基元座標來點陣化基元,以產生片段資料,其中在變換期間使用不同變換參數導致虛擬空間之不同部分依不同取樣速率被取樣。在從虛擬空間變換成第二空間期間使用不同變換參數(例如,比例參數)會導致在點陣化期間依不同取樣速率取樣虛擬空間之不同部分。例如,應用相同取樣速率至第二空間的之兩個部分(來自虛擬空間未按比例調整的第一部分與尺寸減小到1/2的第二部分)會導致虛擬空間之一部分的取樣兩倍於虛擬空間之另一部分的取樣。
在1060處,在所繪示之實施例中,圖形電路系統(例如,可程式化著色器260)處理片段資料之至少一部分以判定像素屬性。像素/片段著色器可操作點陣化資料,以判定像素屬性(例如,顏色、紋理等)。 例示性裝置
現參照圖11,展示的方塊圖繪示一裝置1100之一例示性實施例。在一些實施例中,裝置1100之元件可包括在一系統單晶片內。在一些實施例中,裝置1100可包括在可係電池供電之一行動裝置中。因此,裝置1100之功率消耗可係一重要設計考量。在所繪示之實施例中,裝置1100包括網狀架構(fabric) 1110、運算複合體1120、輸入/輸出(I/O)橋接器1150、快取/記憶體控制器1145、圖形單元250、及顯示單元1165。在一些實施例中,除了及/或代替所繪示之組件(諸如視訊處理器編碼器與解碼器、影像處理或辨識元件、電腦視覺元件等)以外,裝置1100可包括其他組件(圖中未展示)。
網狀架構1110可包括各種互連件、匯流排、MUX、控制器等,且可經組態以促成裝置1100的各種元件之間的通訊。在一些實施例中,網狀架構1110的部分可經組態以實施各種不同的通訊協定。在其他實施例中,網狀架構1110可實施單一通訊協定,且耦合至網狀架構1110之元件可在內部自單一通訊協定轉換成其他通訊協定。
在所繪示之實施例中,運算複合體1120包括匯流排介面單元(BIU) 1125、快取1130、以及核心1135及1140。在各種實施例中,運算複合體1120可包括各種數目個處理器、處理器核心、及/或快取。例如,運算複合體1120可包括1、2、或4個處理器核心或者任何其他合適的數目。在一實施例中,快取1130係一集合關聯L2快取。在一些實施例中,核心1135及/或1140可包括內部指令及/或資料快取。在一些實施例中,在網狀架構1110中、快取1130中、或裝置1100中的別處之一連貫性單元(圖中未展示)可經組態以維持裝置1100之各種快取之間的連貫性(coherency)。BIU 1125可經組態以管理運算複合體1120與裝置1100的其他元件之間的通訊。處理器核心(諸如核心1135及1140)可經組態以執行一特定指令集架構(ISA)的指令,該指令集架構可包括作業系統指令及使用者應用程式指令。
快取/記憶體控制器1145可經組態以管理網狀架構1110與一或多個快取及/或記憶體之間的資料傳輸。例如,快取/記憶體控制器1145可耦合至一L3快取,該L3快取可繼而耦合至一系統記憶體。在其他實施例中,快取/記憶體控制器1145可直接耦合至一記憶體。在一些實施例中,快取/記憶體控制器1145可包括一或多個內部快取。
如本文中所使用,用語「耦合至(coupled to)」可指示元件之間的一或多個連接,且一耦合可包括中間元件。例如,在圖11中,圖形單元250可經描述為透過網狀架構1110及快取/記憶體控制器1145「耦合至(coupled to)」一記憶體。反之,在圖11所繪示之實施例中,圖形單元250係「直接耦合(directly coupled)」至網狀架構1110,因為沒有中間元件。
圖形單元250可包括一或多個處理器及/或一或多個圖形處理單元(GPU)。例如,圖形單元250可接收圖形導向指令(諸如OPENGL®、Metal、或DIRECT3D®指令)。圖形單元250可基於所接收之圖形導向指令執行特殊化GPU指令或執行其他操作。圖形單元250大致上可經組態以並行處理大資料區塊,且可在一圖框緩衝器中建構影像以供輸出至一顯示器。圖形單元250可包括在一或多個圖形處理管線中之變換、照明、三角形、及/或演現引擎。圖形單元250可輸出用於顯示影像的像素資訊。在一些實施例中,圖形單元250經組態以執行記憶體一致性、中間演現運算、局部影像區塊、及/或像素資源同步技術之一或多者。
顯示單元1165可經組態以自一圖框緩衝器讀取資料,且提供一像素值串流以供顯示。在一些實施例中,顯示單元1165可經組態為一顯示管線。此外,顯示單元1165可經組態以融合多個圖框以產生一輸出圖框。進一步地,顯示單元1165可包括用於耦合至一使用者顯示器(例如觸控螢幕或外部顯示器)之一或多個介面(例如MIPI®或嵌入式顯示埠(eDP))。
例如,I/O橋接器1150可包括各種元件,其等經組態以實施:通用串列匯流排(USB)通訊、安全性、音訊、及/或低功率永遠開啟功能。例如,橋接器1150亦可包括介面(諸如脈衝寬度調變(PWM)、通用輸入/輸出(GPIO)、串列周邊介面(SPI)、及/或積體電路匯流排(I2C))。各種類型的周邊設備及裝置可經由I/O橋接器1150耦合至裝置1100。
在一些實施例中,裝置1100的各種元件可包括經階層式組態的時脈閘器,其等包括經耦合以傳遞時脈信號至一時脈樹之不同部分之各種系列的DET時脈閘器。所揭示之技術可減少裝置1100中的切換電力消耗、平衡裝置1100之不同部分的時脈延遲、減少裝置1100中的誤差、達至更高頻率、以較低的電力供應電壓達至所需的頻率、減少每循環(例如,或每任務、每像素、或每位元組)所消散的能量等。 例示性電腦可讀的媒體
本揭露已於上文詳細描述各種例示性電路。本揭露不僅意欲涵蓋包括此類電路系統的實施例,且亦意欲涵蓋包括指定此類電路系統之設計資訊的一電腦可讀的儲存媒體。因此,本揭露意欲支持的申請專利範圍不僅涵蓋包括所揭示之電路系統的一設備,且亦涵蓋以一格式來指定電路系統之一儲存媒體,該格式係藉由經組態以生產包括所揭示之電路系統的硬體(例如積體電路)之一製造系統來辨識。針對此一儲存媒體的申請專利範圍係意欲涵蓋例如一實體,其生產一電路設計,但本身並不製造該設計。
圖12係繪示根據一些實施例之儲存電路設計資訊之一例示性非暫時性電腦可讀的儲存媒體的方塊圖。在所繪示之實施例中,半導體製造系統1220經組態以處理儲存於非暫時性電腦可讀的媒體1210上的設計資訊1215,且基於設計資訊1215製造積體電路1230。
非暫時性電腦可讀的媒體1210可包含各種適當類型的記憶體裝置或儲存裝置之任何者。媒體1210可係一安裝媒體(例如CD ROM、軟碟、或磁帶裝置;一電腦系統記憶體或隨機存取記憶體(諸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等);一非揮發性記憶體(諸如快閃、磁性媒體(例如硬碟)、或光學儲存);暫存器或其他類似類型的記憶體元件等)。媒體1210亦可包括其他類型的非暫時性記憶體或其組合。媒體1210可包括可駐留在不同位置(例如,在透過網路連接的不同電腦系統中)之二或更多個記憶體媒體。
可使用各種適當的電腦語言(包括硬體描述語言)之任何者來指定設計資訊1215,諸如但不限於:VHDL、Verilog、SystemC、SystemVerilog、RHDL、M、MyHDL等。可由半導體製造系統1220使用設計資訊1215以製造積體電路1230之至少一部分。可由至少一半導體製造系統1220辨識設計資訊1215之格式。在一些實施例中,設計資訊1215亦可包括指定積體電路1230之合成及/或佈局的一或多個元件庫。在一些實施例中,設計資訊係全部或部分地以一接線對照表的形式指定,該接線對照表指定元件庫元件及其連接。單獨採用的設計資訊1215可包括或可不包括用於製造一對應積體電路的足夠資訊。例如,設計資訊1215可指定欲製造之電路元件但無法指定其等之實體佈局。在此情況下,設計資訊1215可能需要與佈局資訊組合以實際製造指定的電路系統。
半導體製造系統1220可包括經組態以製造積體電路的各種適當元件的任何者。例如,此可包括用於沉積半導體材料(例如在可包括遮罩之一晶圓上)、移除材料、變更所沉積之材料的形狀、改質材料(例如,藉由摻雜材料或使用紫外線處理修改介電常數)等的元件。半導體製造系統1220亦可經組態以執行所製造之電路的各種測試以供正確操作。
在各種實施例中,積體電路1230經組態以根據由設計資訊1215所指定之一電路設計進行操作,其可包括執行如本文所述的功能之任何者。例如,積體電路1230可包括圖2B及/或圖3所示之各種元件的任何者。進一步地,積體電路1230可經組態以結合其他組件執行本文所述的各種功能。進一步地,本文所述的功能可由多個經連接的積體電路執行。
如本文中所使用,具有「指定一電路經組態以…之一設計的設計資訊」之形式的詞組並非意味所涉電路必須為了滿足該要素而製造。相反,此詞組指示設計資訊所描述之一電路一經製成將經組態以執行所指示的動作或將包括指定組件。
本揭露已於上文詳細描述各種例示性方法。本揭露不僅意欲涵蓋包括此類操作的實施例,且亦意欲涵蓋含有由運算裝置可執行的指令以執行所揭示之操作之電腦可讀的儲存媒體。在一些實施例中,非暫時性電腦可讀的儲存媒體含有運算裝置可執行的指令,以執行操作,包含:接收基元資料,基元資料包括虛擬空間中之基元的座標;接收與一或多個座標變換相關聯的變換參數;儲存該等所接收之變換參數;在點陣化該等基元之前,針對該第二空間之不同部分使用不同變換參數,將該虛擬空間中之基元的座標變換成一第二空間中之基元的座標;基於該第二空間中的該基元座標來點陣化該等基元,以產生片段資料,其中在該變換期間使用該等不同變換參數導致該虛擬空間之不同部分依不同取樣速率被取樣;以及處理該片段資料之至少一部分,以判定像素屬性。 ***
雖然上文已描述特定實施例,但是這些實施例非意欲限制本揭露之範疇,即使針對一特定特徵僅描述一單一實施例。在本揭露中所提供之特徵之實例意欲為闡釋性而非限制性,除非另有陳述。上面的敘述係旨在涵蓋此類替代例、修改例、與均等物,此等對於受益於本揭露之所屬技術領域中具有通常知識者來說將是顯而易見的。
本揭露之範疇包括本文中所揭露(明示或隱含地)之任何特徵或特徵組合,或其任何概括(generalization),無論其是否緩和本文中解決之任何或所有問題。據此,在此申請案之審查期間(或主張其優先權之申請案)可對特徵之任何此類組合制定新請求項。具體而言,參照隨附申請專利範圍,可組合來自附屬請求項的特徵與獨立請求項之特徵,且可依任何適合方式組合來自各別獨立請求項之特徵,而非僅在隨附申請專利範圍中列舉之特定組合。
110‧‧‧虛擬空間
120‧‧‧第二空間
130‧‧‧顯示空間
200‧‧‧處理流程
210‧‧‧變換及照明步驟
215‧‧‧剪輯步驟
220‧‧‧點陣化步驟
230‧‧‧著色步驟
235‧‧‧圖框緩衝器
250‧‧‧圖形單元
260‧‧‧可程式化著色器
265‧‧‧紋理處理單元(TPU)
270‧‧‧影像寫入單元
275‧‧‧片段管
280‧‧‧記憶體介面
285‧‧‧頂點管
305‧‧‧圖塊及頂點資料
310‧‧‧參數擷取
320‧‧‧變換電路系統
330‧‧‧掃描轉換器
335‧‧‧圖塊緩衝器
340‧‧‧排序電路系統
350‧‧‧像素資料主控器
410‧‧‧虛擬空間
415‧‧‧邊界
420‧‧‧第二空間
500‧‧‧變換參數資料結構
510A‧‧‧表
510Z‧‧‧表
605‧‧‧基元
615‧‧‧基元
705‧‧‧基元
715‧‧‧基元
805‧‧‧虛擬空間影像
810‧‧‧邊界框
815‧‧‧第二空間影像
820‧‧‧經轉譯之邊界框
900‧‧‧圖框
902‧‧‧顯示器
904‧‧‧影像解析度
910‧‧‧第二空間圖框
992‧‧‧眼
994‧‧‧角度解析度
1000‧‧‧方法
1010、1020、1030、1040、1050、1060‧‧‧步驟
1100‧‧‧裝置
1110‧‧‧網狀架構
1120‧‧‧運算複合體
1125‧‧‧BIU
1130‧‧‧快取
1135‧‧‧核心
1140‧‧‧核心
1145‧‧‧快取/記憶體控制器
1150‧‧‧輸入/輸出(I/O)橋接器
1165‧‧‧顯示單元
1210‧‧‧非暫時性電腦可讀的媒體
1215‧‧‧設計資訊
1220‧‧‧半導體製造系統
1230‧‧‧積體電路
[圖1]係繪示根據一些實施例之不同空間之間的圖形基元之例示性變換的方塊圖。 [圖2A]係繪示一例示性圖形處理流程的方塊圖。 [圖2B]係繪示一圖形單元之一實施例的方塊圖。 [圖3]係繪示根據一些實施例之包括變換與點陣化階段的例示性管線之方塊圖。 [圖4]係繪示根據一些實施例之例示性變換虛擬空間中的座標成第二空間中的座標的圖解。 [圖5]係繪示根據一些實施例之經組態以儲存變換參數的例示性資料結構之圖解。 [圖6]係繪示根據一些實施例之一種例示性情況之圖解,其中變換導致虛擬空間之不同部分的不同取樣速率。 [圖7]係繪示根據一些實施例之變換成第二空間及重新取樣第二空間至顯示空間中所導致的例示性失真之圖解。 [圖8A]繪示根據一些實施例之虛擬空間中的例示性影像,包括簡化的邊界框。 [圖8B]繪示根據一些實施例之在變換成第二空間之後的第二空間中之例示性影像,包括簡化的邊界框。 [圖9A至圖9D]圖形地繪示根據一些實施例之例示性等角演現技術。 [圖10]係繪示根據一些實施例之用於多空間演現的例示性方法之流程圖。 [圖11]係繪示包括一圖形單元之一裝置之一實施例的方塊圖。 [圖12]係繪示根據一些實施例之一例示性電腦可讀的媒體的方塊圖。

Claims (20)

  1. 一種設備,其包含: 圖形電路系統,其經組態以: 接收基元資料,該基元資料包括一虛擬空間中之基元的座標; 接收與一或多個座標變換相關聯的變換參數; 儲存該等所接收之變換參數; 在點陣化該等基元之前,基於該等所儲存之變換參數,包括針對一第二空間之不同部分使用不同變換參數,將該虛擬空間中之基元的座標變換成該第二空間中之基元的座標; 基於該第二空間中的該等基元座標來點陣化該等基元,以產生片段資料,其中在該變換期間使用該等不同變換參數導致該虛擬空間之不同部分依不同取樣速率被取樣;及 處理該片段資料之至少一部分,以判定像素屬性。
  2. 如請求項1之設備,其進一步包含: 暫存器電路系統,其可由一圖形程式程式化,以針對該第二空間之該等不同部分指定該等不同變換參數。
  3. 如請求項1之設備,其進一步包含: 重新取樣電路系統,該重新取樣電路系統經組態以針對該第二空間之該等不同部分使用不同重新取樣速率來重新取樣該片段資料以供在一顯示空間中顯示。
  4. 如請求項1之設備,其進一步包含: 一或多個透鏡,該一或多個透鏡經組態以移除由該虛擬空間中之基元的該等座標變換成該第二空間中之基元的該等座標而引致的失真。
  5. 如請求項1之設備,其中該等不同變換參數包括一或多個比例因數與一或多個位移。
  6. 如請求項1之設備,其中該等變換參數指定至一函數的輸入,該函數將該虛擬空間中的座標組變換成該第二空間中的各別座標組。
  7. 如請求項1之設備,其進一步包含: 圖形電路系統,其經組態以: 接收一注視方向;及 至少部分基於該所接收之注視方向來判定一或多個變換參數。
  8. 如請求項1之設備,其進一步包含: 圖形電路系統,其經組態以: 揀選在該第二空間中的基元資料,使得該圖形電路系統不產生用於位於一可視區域之外的基元資料之片段資料。
  9. 如請求項1之設備,其進一步包含: 圖形電路系統,其經組態以: 判定該虛擬空間中之一或多個基元的一邊界框; 將該虛擬空間中的該邊界框的座標變換成該第二空間中的一經變換之邊界框的座標;及 判定該第二空間的哪一或多個部分與該經變換之邊界框相交; 其中僅針對由該第二空間的經變換之邊界框相交的該第二空間之部分處理該等基元中之至少一者。
  10. 如請求項1之設備,其進一步包含: 圖形電路系統,其經組態以: 將在該虛擬空間中之一或多個陰影圖的座標變換成該第二空間中之一或多個陰影圖的座標,其中該變換針對該第二空間中的該一或多個陰影圖之不同部分使用不同變換參數,使得該虛擬空間中的該一或多個陰影圖之不同部分具有一不同取樣速率。
  11. 如請求項1之設備,其進一步包含: 圖形電路系統,其經組態以: 針對一或多個圖形圖框指定一或多組變換參數。
  12. 如請求項1之設備,其進一步包含: 圖形電路系統,其經組態以: 針對該第二空間之一單一部分指定一或多組變換參數,其中該等不同組對應於不同維度。
  13. 一種方法,其包含: 接收基元資料,該基元資料包括一虛擬空間中之基元的座標; 接收與一或多個座標變換相關聯的變換參數; 儲存該等所接收之變換參數; 在點陣化該等基元之前,基於該等所儲存之變換參數,針對一第二空間之不同部分使用不同變換參數,將該虛擬空間中之基元的座標變換成該第二空間中之基元的座標; 基於該第二空間中的該基元座標來點陣化該等基元,以產生片段資料,其中在該變換期間使用該等不同變換參數導致該虛擬空間之不同部分依不同取樣速率被取樣;及 處理該片段資料之至少一部分,以判定像素屬性。
  14. 如請求項13之方法,其進一步包含: 針對該第二空間之該等不同部分使用不同重新取樣速率來重新取樣該片段資料以供在一顯示空間中顯示。
  15. 如請求項13之方法,其進一步包含: 接收一注視方向;及 至少部分基於該所接收之注視方向來判定一或多個變換參數。
  16. 如請求項13之方法,其進一步包含: 指定一或多個比例因數與一或多個位移用作該等變換參數。
  17. 如請求項13之方法,其中該等變換參數指定至一函數的輸入,該函數將該虛擬空間中的座標組變換成該第二空間中的各別座標組。
  18. 一種非暫時性電腦可讀的儲存媒體,其具有儲存在其上的設計資訊,該設計資訊以一格式指定一硬體積體電路之至少一部分的一設計,該格式係藉由經組態以根據該設計使用該設計資訊生產該電路之一半導體製造系統來辨識,該電路包括: 圖形電路系統,其經組態以: 接收基元資料,該基元資料包括一虛擬空間中之基元的座標; 接收與一或多個座標變換相關聯的變換參數; 儲存該等所接收之變換參數; 在點陣化該等基元之前,基於該等所儲存之變換參數,針對一第二空間之不同部分使用不同變換參數,將該虛擬空間中之基元的座標變換成該第二空間中之基元的座標; 基於該第二空間中的該等基元座標來點陣化該等基元,以產生片段資料,其中在該變換期間使用該等不同變換參數導致該虛擬空間之不同部分依不同取樣速率被取樣;及 處理該片段資料之至少一部分,以判定像素屬性。
  19. 如請求項18之非暫時性電腦可讀的儲存媒體,其中該等不同變換參數包括一或多個旋轉因數。
  20. 如請求項18之非暫時性電腦可讀的儲存媒體,其中該設計資訊指定該電路進一步包含: 重新取樣電路系統,該重新取樣電路系統經組態以重新取樣該片段資料以供在一顯示空間中顯示。
TW107133594A 2017-09-29 2018-09-25 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體 TWI686769B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762565415P 2017-09-29 2017-09-29
US62/565,415 2017-09-29
US16/130,265 US10755383B2 (en) 2017-09-29 2018-09-13 Multi-space rendering with configurable transformation parameters
US16/130,265 2018-09-13

Publications (2)

Publication Number Publication Date
TW201915937A true TW201915937A (zh) 2019-04-16
TWI686769B TWI686769B (zh) 2020-03-01

Family

ID=65896804

Family Applications (2)

Application Number Title Priority Date Filing Date
TW109105705A TWI771653B (zh) 2017-09-29 2018-09-25 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體
TW107133594A TWI686769B (zh) 2017-09-29 2018-09-25 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW109105705A TWI771653B (zh) 2017-09-29 2018-09-25 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體

Country Status (8)

Country Link
US (2) US10755383B2 (zh)
JP (1) JP7052023B2 (zh)
KR (1) KR102338831B1 (zh)
CN (1) CN111133475B (zh)
DE (1) DE112018004343T5 (zh)
GB (1) GB2581603B (zh)
TW (2) TWI771653B (zh)
WO (1) WO2019067245A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019082510A1 (ja) * 2017-10-23 2019-05-02 ソニー株式会社 表示制御装置、ヘッドマウントディスプレイ、表示制御方法およびコンピュータプログラム
CN115842907A (zh) * 2018-03-27 2023-03-24 京东方科技集团股份有限公司 渲染方法、计算机产品及显示装置
US10553012B2 (en) * 2018-04-16 2020-02-04 Facebook Technologies, Llc Systems and methods for rendering foveated effects
US11113867B1 (en) 2018-11-02 2021-09-07 Facebook Technologies, Llc Display engine for post-rendering processing
CN110335360B (zh) * 2019-05-24 2020-12-25 深圳大学 三维元素布局可视化方法和装置
KR20210012095A (ko) * 2019-07-23 2021-02-03 삼성전자주식회사 이미지 데이터의 레이어를 블렌딩하기 위한 전자 장치
KR20230144093A (ko) * 2019-07-28 2023-10-13 구글 엘엘씨 포비에이티드 메시들로 몰입형 비디오 콘텐츠를 렌더링하기 위한 방법들, 시스템들, 및 매체들
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US20230132045A1 (en) * 2020-03-09 2023-04-27 Sony Group Corporation Information processing device, information processing method, and recording medium
US11423520B2 (en) * 2020-10-30 2022-08-23 Facebook Technologies, Llc. Distortion-corrected rasterization
GB2600944B (en) 2020-11-11 2023-03-01 Sony Interactive Entertainment Inc Image rendering method and apparatus
US11562531B1 (en) * 2022-07-28 2023-01-24 Katmai Tech Inc. Cascading shadow maps in areas of a three-dimensional environment

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717578B1 (en) 1998-02-17 2004-04-06 Sun Microsystems, Inc. Graphics system with a variable-resolution sample buffer
US6359619B1 (en) * 1999-06-18 2002-03-19 Mitsubishi Electric Research Laboratories, Inc Method and apparatus for multi-phase rendering
US8717423B2 (en) 2005-05-09 2014-05-06 Zspace, Inc. Modifying perspective of stereoscopic images based on changes in user viewpoint
IL174737A (en) * 2006-04-03 2014-12-31 Camero Tech Ltd Device and method for visualizing volume in broadband radar
US7884823B2 (en) 2007-06-12 2011-02-08 Microsoft Corporation Three dimensional rendering of display information using viewer eye coordinates
US8217962B2 (en) * 2009-01-29 2012-07-10 Microsoft Corporation Single-pass bounding box calculation
CN101587596A (zh) * 2009-06-26 2009-11-25 上海大学 光刻胶显影过程三维模拟可视化方法
CN101763636B (zh) * 2009-09-23 2012-07-04 中国科学院自动化研究所 视频序列中的三维人脸位置和姿态跟踪的方法
US8669999B2 (en) * 2009-10-15 2014-03-11 Nvidia Corporation Alpha-to-coverage value determination using virtual samples
US9153068B2 (en) * 2011-06-24 2015-10-06 Nvidia Corporation Clipless time and lens bounds for improved sample test efficiency in image rendering
JP5921102B2 (ja) * 2011-07-19 2016-05-24 株式会社東芝 画像処理システム、装置、方法及びプログラム
KR101926570B1 (ko) * 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
US10242481B2 (en) * 2012-03-15 2019-03-26 Qualcomm Incorporated Visibility-based state updates in graphical processing units
US8738826B2 (en) * 2012-06-08 2014-05-27 Apple Inc. System and method for display mirroring
US9830741B2 (en) * 2012-11-07 2017-11-28 Nvidia Corporation Setting downstream render state in an upstream shader
US9478066B2 (en) * 2013-03-14 2016-10-25 Nvidia Corporation Consistent vertex snapping for variable resolution rendering
CN106133796B (zh) * 2014-03-25 2019-07-16 苹果公司 用于在真实环境的视图中表示虚拟对象的方法和系统
US9905046B2 (en) 2014-04-03 2018-02-27 Intel Corporation Mapping multi-rate shading to monolithic programs
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
WO2015154004A1 (en) * 2014-04-05 2015-10-08 Sony Computer Entertainment America Llc Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US9652882B2 (en) * 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9978171B2 (en) * 2014-07-29 2018-05-22 Nvidia Corporation Control of a sample mask from a fragment shader program
US10096086B2 (en) * 2014-09-10 2018-10-09 Nvidia Corporation Enhanced anti-aliasing by varying sample patterns spatially and/or temporally
US9508121B2 (en) * 2015-01-14 2016-11-29 Lucidlogix Technologies Ltd. Method and apparatus for controlling spatial resolution in a computer system by rendering virtual pixel into physical pixel
GB2534225B (en) * 2015-01-19 2017-02-22 Imagination Tech Ltd Rendering views of a scene in a graphics processing unit
US10684485B2 (en) 2015-03-06 2020-06-16 Sony Interactive Entertainment Inc. Tracking system for head mounted display
US20160284124A1 (en) * 2015-03-23 2016-09-29 Kenneth Todd Riddleberger Three-Dimensional Visual Functional Interactivity
US9607428B2 (en) 2015-06-30 2017-03-28 Ariadne's Thread (Usa), Inc. Variable resolution virtual reality display system
US10127725B2 (en) 2015-09-02 2018-11-13 Microsoft Technology Licensing, Llc Augmented-reality imaging
US10726619B2 (en) 2015-10-29 2020-07-28 Sony Interactive Entertainment Inc. Foveated geometry tessellation
GB2546286B (en) * 2016-01-13 2020-02-12 Sony Interactive Entertainment Inc Apparatus and method of image rendering
US10102668B2 (en) * 2016-05-05 2018-10-16 Nvidia Corporation System, method, and computer program product for rendering at variable sampling rates using projective geometric distortion

Also Published As

Publication number Publication date
GB202004798D0 (en) 2020-05-13
US11113788B2 (en) 2021-09-07
US20200388007A1 (en) 2020-12-10
US10755383B2 (en) 2020-08-25
GB2581603A (en) 2020-08-26
TWI686769B (zh) 2020-03-01
TW202046238A (zh) 2020-12-16
TWI771653B (zh) 2022-07-21
JP7052023B2 (ja) 2022-04-11
US20190102865A1 (en) 2019-04-04
CN111133475B (zh) 2023-11-07
CN111133475A (zh) 2020-05-08
KR102338831B1 (ko) 2021-12-13
KR20200040883A (ko) 2020-04-20
DE112018004343T5 (de) 2020-05-14
WO2019067245A1 (en) 2019-04-04
JP2020535521A (ja) 2020-12-03
GB2581603B (en) 2022-08-03

Similar Documents

Publication Publication Date Title
TWI686769B (zh) 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體
JP6333405B2 (ja) 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
CA2826405C (en) Graphics processing architecture for an fpga
TWI645371B (zh) 在上游著色器內設定下游著色狀態
US20150287165A1 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
CN110998665B (zh) 用于图形处理的穿通技术
TWI434226B (zh) 影像處理技術
CN107392836B (zh) 使用图形处理管线实现的立体多投影
US9811875B2 (en) Texture state cache
US11430174B2 (en) Memory consistency in memory hierarchy with relaxed ordering
WO2011033696A1 (ja) 画像処理装置、及び画像処理方法
US10223822B2 (en) Mid-render compute for graphics processing
US9530237B2 (en) Interpolation circuitry and techniques for graphics processing
US10445852B2 (en) Local image blocks for graphics processing
US10621782B1 (en) Sub-patch techniques for graphics tessellation
US10324844B2 (en) Memory consistency in graphics memory hierarchy with relaxed ordering
JP4419480B2 (ja) 画像処理装置およびその方法