TWI590198B - 用於有效率的紋理壓縮之方法、處理器及機器可讀媒體 - Google Patents
用於有效率的紋理壓縮之方法、處理器及機器可讀媒體 Download PDFInfo
- Publication number
- TWI590198B TWI590198B TW104118156A TW104118156A TWI590198B TW I590198 B TWI590198 B TW I590198B TW 104118156 A TW104118156 A TW 104118156A TW 104118156 A TW104118156 A TW 104118156A TW I590198 B TWI590198 B TW I590198B
- Authority
- TW
- Taiwan
- Prior art keywords
- texture
- texture block
- rbf
- processor
- block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
- G06T7/49—Analysis of texture based on structural texture description, e.g. using primitives or placement rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Description
本發明大體而言係關於電腦處理器之領域。更特定言之,本發明係關於一種用於有效率的紋理壓縮之設備及方法。
紋理映射為一種在圖形管線中實施以將紋理施加至某一形狀或多邊形之表面的熟知技術。紋理資料通常儲存於N×N矩陣「紋素」(有時亦被稱作「紋理元素」或「紋理像素」)中。因此,按與藉由像素陣列表示影像之方式相同的方式藉由紋素陣列表示紋理。當執行紋理映射時,圖形處理單元(GPU)內之邏輯將紋素映射至輸出影像中之適當像素。
實施紋理壓縮技術以減少紋理資料所消耗之記憶體之量。當前紋理壓縮方法並不將紋理影像視為其可用數值近似之座標之函數。實情為,此等技術使用算法方法來識別主色彩及寫碼區塊紋素之間的色彩梯度。壓縮通常在演算法上為密集的且係在帶外及/或離線地應用。解壓縮
使用多個步驟且常常涉及相鄰紋素之間的時間及/或空間相依性。此等因素推進增加的記憶體/快取記憶體大小及頻寬要求及用於大規模並行實施之有限適合性。
依據本發明之一實施例,係特地提出一種方法,其包含:判定多個紋理區塊紋素中之每一者與多個點中之每一者之間的一距離;判定在紋理區塊上取樣之一組紋素色彩值;以及使用該等多個紋理區塊紋素中之每一者與該等多個點中之每一者之間的該距離及在該紋理區塊上取樣之該組紋素色彩值產生一組近似係數以壓縮該紋理區塊。
100‧‧‧資料處理系統
102、200、1030‧‧‧處理器
104‧‧‧快取記憶體
106‧‧‧暫存器檔案
107、202A至202N‧‧‧處理器核心
108、208、300‧‧‧圖形處理器
109‧‧‧指令集
110‧‧‧處理器匯流排
112‧‧‧外部圖形處理器
116‧‧‧記憶體控制器集線器
120‧‧‧記憶體
121‧‧‧指令
122‧‧‧資料
124‧‧‧資料儲存裝置
126‧‧‧無線收發器
128‧‧‧韌體介面
130‧‧‧輸入輸出(I/O)控制器集線器
134‧‧‧網路控制器
140‧‧‧舊版I/O控制器
142‧‧‧通用串列匯流排(USB)控制器
144‧‧‧滑鼠
146‧‧‧音訊控制器
202A至202N‧‧‧核心
204A至204N‧‧‧內部快取記憶體單元
206‧‧‧共享快取記憶體單元
210‧‧‧系統代理
211、302‧‧‧顯示控制器
212、502、802‧‧‧環形互連件
213‧‧‧I/O鏈路
214‧‧‧整合式記憶體控制器
216‧‧‧匯流排控制器單元
218‧‧‧高效能嵌入式記憶體模組
304‧‧‧區塊影像傳送(BLIT)引擎
306‧‧‧視訊編碼解碼器引擎
310、410‧‧‧圖形處理引擎(GPE)
312、412‧‧‧3D管線
314‧‧‧記憶體介面
315‧‧‧3D/媒體子系統
316、416、830、924‧‧‧媒體管線
320‧‧‧顯示裝置
403、803‧‧‧命令串流器
414‧‧‧執行單元陣列
430‧‧‧取樣引擎
432‧‧‧去雜訊/解交錯模組
434‧‧‧運動估計模組
436‧‧‧影像縮放及濾波模組
444、614、856‧‧‧資料埠
504‧‧‧管線前端
534‧‧‧視訊前端
530‧‧‧視訊品質引擎(VQE)
533‧‧‧多格式編碼/解碼(MFX)
536‧‧‧幾何管線
537、837‧‧‧媒體引擎
550A至550N、560A至560N‧‧‧子核心
552A至552N、562A至562N、608A至608N、852A、852B‧‧‧執行單元
554A至554N、564A至564N、610、854、1100‧‧‧取樣器
570A至570N‧‧‧共享資源
580A至580N‧‧‧圖形核心
600、850‧‧‧執行緒執行邏輯
602、1150‧‧‧像素著色器
604、831‧‧‧執行緒分派器
606‧‧‧指令快取記憶體
612‧‧‧資料快取記憶體
710‧‧‧128位元格式
712‧‧‧指令作業碼
713‧‧‧索引欄位
716‧‧‧exec-size欄位
718‧‧‧目的地
720、722、724‧‧‧源運算元
730‧‧‧64位元緊湊指令格式
740‧‧‧作業碼解碼
742‧‧‧移動及邏輯作業碼群組
744‧‧‧流量控制指令群組
746‧‧‧雜項指令群組
748‧‧‧平行數學指令群組
750‧‧‧向量數學群組
805‧‧‧頂點提取器
807‧‧‧頂點著色器
811‧‧‧可規劃外殼著色器
813‧‧‧棋盤形格局佈置器
817‧‧‧可規劃域著色器
819‧‧‧幾何著色器
820‧‧‧圖形管線
829‧‧‧剪輯器
834‧‧‧視訊前端
840‧‧‧顯示引擎
841‧‧‧2D引擎
843‧‧‧顯示控制器
851‧‧‧附接L1快取記憶體
858‧‧‧紋理/取樣器快取記憶體
870‧‧‧呈現輸出管線
873‧‧‧光柵處理器
875‧‧‧共享L3快取記憶體
877‧‧‧像素操作組件
878、879‧‧‧相關聯之呈現及深度緩衝器快取記憶體
900‧‧‧圖形處理器命令格式
902‧‧‧目標用戶端
904‧‧‧命令操作碼(作業碼)
905‧‧‧子作業碼
906‧‧‧相關資料
908‧‧‧命令大小
910‧‧‧取樣命令序列
912‧‧‧管線清空命令
913‧‧‧管線選擇命令
914‧‧‧管線控制命令
916‧‧‧返回緩衝器狀態命令
920‧‧‧管線判定
922‧‧‧3D管線
930‧‧‧3D管線狀態
932‧‧‧3D基元
934‧‧‧執行
940‧‧‧媒體管線狀態
942‧‧‧媒體物件命令
1010‧‧‧3D圖形應用程式
1012‧‧‧著色器指令
1014‧‧‧可執行指令
1016‧‧‧圖形物件
1020‧‧‧作業系統
1024‧‧‧前端著色器編譯器
1026‧‧‧使用者模式圖形驅動器
1027‧‧‧後端著色器編譯器
1028‧‧‧作業系統內核模式函數
1029‧‧‧內核模式圖形驅動器
1032‧‧‧圖形處理器
1034‧‧‧通用處理器核心
1050‧‧‧系統記憶體
1101‧‧‧未經壓縮之紋理資料
1105‧‧‧對稱紋理壓縮邏輯
1107‧‧‧經壓縮之紋理資料
1110‧‧‧紋理儲存位置
1120‧‧‧對稱紋理解壓縮邏輯
1130‧‧‧經解壓縮之紋理資料
1250、1251‧‧‧中心點
1301‧‧‧[RDM]矩陣
1302‧‧‧解壓縮矩陣
1304‧‧‧紋素區塊
1305‧‧‧[T]矩陣
1401、1402、1403、1404‧‧‧步驟
可自以下結合以下圖式進行之詳細描述獲得對本發明之較好理解,其中:圖1為具有具一或多個處理器核心及圖形處理器之處理器之電腦系統的實施例之方塊圖;圖2為具有一或多個處理器核心、一整合式記憶體控制器及一整合式圖形處理器之處理器之一實施例的方塊圖;圖3為可為精密圖形處理單元或可為與多個處理核心整合之圖形處理器的圖形處理器之一實施例的方塊圖;圖4為用於圖形處理器之圖形處理引擎之實施例的方塊圖;圖5為圖形處理器之另一實施例之方塊圖;圖6為包括處理元件陣列之執行緒執行邏輯的方塊圖;圖7說明根據實施例之圖形處理器執行單元指令格式;
圖8為包括圖形管線、媒體管線、顯示引擎、執行緒執行邏輯及呈現輸出管線之圖形處理器之另一實施例的方塊圖;圖9A為說明根據實施例之圖形處理器命令格式之方塊圖;圖9B為說明根據實施例之圖形處理器命令序列之方塊圖;圖10說明根據實施例之用於資料處理系統之示例性圖形軟體架構;圖11說明用於紋理壓縮及解壓縮之架構之一實施例;圖12A至圖12B說明一實施例中的用於執行壓縮之示例性中心點置放;圖12C說明一實施例中的區塊大小、中心點及壓縮率之間的關係;圖13說明一實施例中的藉由解壓縮矩陣、係數向量及紋素區塊執行之操作;以及圖14說明根據本發明之一實施例之方法。
在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對下文所描述的本發明之實施例的透徹理解。然而,熟習此項技術者將顯而易見可在並無此等特定細節中之一些細節的情況下實踐本發明之實施例。在其他情況下,以方塊圖形式展示熟知結構及裝置以避免混淆本
發明之實施例的基本原理。
示例性圖形處理器架構及資料類型
綜述-圖1至圖3
圖1為根據實施例之資料處理系統100之方塊圖。資料處理系統100包括一或多個處理器102及一或多個圖形處理器108,且可為單一處理器桌上型系統、多處理器工作站系統或具有大量處理器102或處理器核心107之伺服器系統。在一實施例中,資料處理系統100為系統單晶片積體電路(SOC),用於在行動、手持型或嵌入型裝置中使用。
資料處理系統100之一實施例可包括以下各者或併入於以下各者內:基於伺服器之遊戲平台、遊戲控制台,包括遊戲及媒體控制台、行動遊戲控制台、手持型遊戲控制台或線上遊戲控制台。在一實施例中,資料處理系統100為行動電話、智慧型手機、平板計算裝置或行動網際網路裝置。資料處理系統100亦可包括可佩戴裝置(諸如,智慧型手錶可佩戴裝置、智慧型護目鏡裝置、擴增實境裝置或虛擬實境裝置),與可佩戴裝置耦接或整合於可佩戴裝置內。在一實施例中,資料處理系統100為具有一或多個處理器102及由一或多個圖形處理器108產生之一圖形介面的電視機或機上盒裝置。
資料處理系統100之一實施例可包括以下各者或併入於以下各者內:基於伺服器之遊戲平台、遊戲控制台,包括遊戲及媒體控制台、行動遊戲控制台、手持型遊戲控制台或線上遊戲控制台。在一實施例中,資料處理系統100
為行動電話、智慧型手機、平板計算裝置或行動網際網路裝置。資料處理系統100亦可包括可佩戴裝置(諸如,智慧型手錶可佩戴裝置、智慧型護目鏡裝置、擴增實境裝置或虛擬實境裝置),與可佩戴裝置耦接或整合於可佩戴裝置內。在一實施例中,資料處理系統100為具有一或多個處理器102及由一或多個圖形處理器108產生之一圖形介面的電視機或機上盒裝置。
該等一或多個處理器102各自包括一或多個處理器核心107以處理在經執行時執行用於系統及使用者軟體之操作的指令。在一實施例中,該等一或多個處理器核心107中之每一者經組配以處理特定指令集109。指令集109可有助於進行複雜指令集計算(CISC)、精簡指令集計算(RISC)或經由超長指令字(VLIW)進行之計算。多個處理器核心107各自可處理可包括有助於進行其他指令集之仿真的指令之不同指令集109。處理器核心107亦可包括其他處理裝置,諸如數位信號處理器(DSP)。
在一實施例中,處理器102包括快取記憶體104。取決於架構,處理器102可具有單一內部快取記憶體或多個層級之內部快取記憶體。在一實施例中,在處理器102之各種組件當中共享快取記憶體。在一實施例中,處理器102亦使用可使用已知快取記憶體一致性技術在處理器核心107當中共享之一外部快取記憶體(例如,第3層(L3)快取記憶體或最後一層快取記憶體(LLC))(未展示)。暫存器檔案106另外包括於處理器102中,該處理器可包括不同類型之暫存器
以用於儲存不同類型之資料(例如,整數暫存器、浮點暫存器、狀態暫存器及指令指標暫存器)。一些暫存器可為通用暫存器,而其他暫存器可能為處理器102之設計所特有的。
處理器102耦接至處理器匯流排110以在處理器102與系統100中之其他組件之間傳輸資料信號。系統100使用一示例性「集線器」系統架構,其包括一記憶體控制器集線器116及一輸入輸出(I/O)控制器集線器130。記憶體控制器集線器116有助於進行記憶體裝置與系統100之其他組件之間的通訊,而I/O控制器集線器(ICH)130提供經由區域I/O匯流排至I/O裝置之連接。
記憶體裝置120可為動態隨機存取記憶體(DRAM)裝置、靜態隨機存取記憶體(SRAM)裝置、快閃記憶體裝置或具有充當處理程序記憶體之合適效能的某一其他記憶體裝置。記憶體120可儲存資料122及指令121以用於在處理器102執行一處理程序時使用。記憶體控制器集線器116亦與一可選外部圖形處理器112耦接,該可選外部圖形處理器可與處理器102中之一或多個圖形處理器108通訊以執行圖形及媒體操作。
ICH 130使得周邊裝置能夠經由高速I/O匯流排連接至記憶體120及處理器102。I/O周邊裝置包括音訊控制器146、韌體介面128、無線收發器126(例如,Wi-Fi、藍芽)、資料儲存裝置124(例如,硬碟機、快閃記憶體等)及用於將舊版(例如,個人系統2(PS/2))裝置耦接至系統之舊版I/O控制器。一或多個通用串列匯流排(USB)控制器142連接輸入
裝置,諸如,鍵盤與滑鼠144組合。網路控制器134亦可耦接至ICH 130。在一實施例中,高效能網路控制器(未展示)耦接至處理器匯流排110。
圖2為具有一或多個處理器核心202A至202N、一整合式記憶體控制器214及一整合式圖形處理器208之處理器200之一實施例的方塊圖。處理器200可包括直至額外核心202N(藉由虛線框表示)且包括額外核心202N之額外核心。核心202A至202N中之每一者包括一或多個內部快取記憶體單元204A至204N。在一實施例中,各核心亦能夠存取一或多個共享快取單元206。
內部快取記憶體單元204A至204N及共享快取記憶體單元206表示在處理器200內之快取記憶體階層。快取記憶體階層可包括各核心內之至少一層指令及資料快取記憶體,及一或多層共享層間快取記憶體,諸如第2層(L2)、第3層(L3)、第4層(L4)或其他層之快取記憶體,其中在外部記憶體前之最高層快取記憶體經分類為最後一層快取記憶體(LLC)。在一實施例中,快取記憶體一致性邏輯維持各種快取記憶體單元206與204A至204N之間的一致性。
處理器200亦可包括一組一或多個匯流排控制器單元216及一系統代理210。該等一或多個匯流排控制器單元管理一組周邊匯流排,諸如一或多個周邊組件互連匯流排(例如,PCI、高速PCI)。系統代理210為各種處理器組件提供管理功能性。在一實施例中,系統代理210包括一或多個整合式記憶體控制器214以管理對各種外部記憶體裝置
(未展示)之存取。
在一實施例中,核心202A至202N中之一或多者包括對同時多執行緒之支援。在此實施例中,系統代理210包括用於在多執行緒處理期間協調及操作核心202A至202N之組件。系統代理210另外可包括一功率控制單元(PCU),其包括調節核心202A至202N及圖形處理器208之功率狀態的邏輯及組件。
處理器200另外包括一圖形處理器208以執行圖形處理操作。在一實施例中,圖形處理器208與該組共享快取記憶體單元206及系統代理單元210(包括一或多個整合式記憶體控制器214)耦接。在一實施例中,顯示控制器211與圖形處理器208耦接以驅動至一或多個耦接之顯示器的圖形處理器輸出。顯示控制器211可為經由至少一互連件與圖形處理器耦接之單獨模組,或可整合於圖形處理器208或系統代理210內。
在一實施例中,基於環形之互連單元212用以耦接處理器200之內部組件,然而,可使用一替代性互連單元,諸如點對點互連件、切換式互連件或其他技術,包括此項技術中熟知之技術。在一實施例中,圖形處理器208經由I/O鏈路213與環形互連件212耦接。
示例性I/O鏈路213表示多種I/O互連件中之至少一者,包括有助於進行各種處理器組件與高效能嵌入式記憶體模組218(諸如,eDRAM模組)之間的通訊之封裝上I/O互連件。在一實施例中,核心202至N中之每一者及圖形處
理器208使用嵌入式記憶體模組218作為共享最後一層快取記憶體。
在一實施例中,核心202A至202N為執行同一指令集架構之均質核心。在另一實施例中,就指令集架構(ISA)而言,核心202A至202N係異質的,其中核心202A至202N中之一或多者執行第一指令集,而其他核心中之至少一者執行第一指令集或不同指令集之一子集。
處理器200可為一或多個基體之一部分或使用許多製程技術(例如,互補金屬氧化物半導體(CMOS)、雙極接面/互補金屬氧化物半導體(BiCMOS)或N型金屬氧化物半導體邏輯(NMOS))中之任一者在一或多個基體上加以實施。另外,處理器200可實施於一或多個晶片上,或實施為系統單晶片(SOC)積體電路,該積體電路具有所說明之組件以及其他組件。
圖3為可為精密圖形處理單元或可為與多個處理核心整合之圖形處理器的圖形處理器300之一實施例的方塊圖。在一實施例中,經由至圖形處理器上之暫存器之記憶體映射I/O介面及經由置放至處理器記憶體中之命令來與圖形處理器通訊。圖形處理器300包括一記憶體介面314以存取記憶體。記憶體介面314可為至本端記憶體、一或多個內部快取記憶體、一或多個共享外部快取記憶體及/或至系統記憶體之介面。
圖形處理器300亦包括一顯示控制器302以驅動至顯示裝置320之顯示器輸出資料。顯示控制器302包括用
於一或多個覆疊平面之硬體,該等一或多個覆疊平面用於顯示器及多個視訊層或使用者介面元件之組成。在一實施例中,圖形處理器300包括一視訊編碼解碼器引擎306以將媒體編碼至一或多個媒體編碼格式、自一或多個媒體編碼格式解碼媒體或在一或多個媒體編碼格式之間轉碼媒體,該等一或多個媒體編碼格式包括(但不限於)動畫專家群(MPEG)格式(諸如,MPEG-2)、進階視訊寫碼(AVC)格式(諸如,H.264/MPEG-4 AVC)以及美國電影與電視工程師學會(SMPTE)421M/VC-1,及聯合照相專家群(JPEG)格式(諸如,JPEG及運動JPEG(MJPEG)格式)。
在一實施例中,圖形處理器300包括一區塊影像傳送(BLIT)引擎304以執行包括(例如)位元邊界區塊傳送之二維(2D)光柵處理器操作。然而,在一實施例中,使用圖形處理引擎(GPE)310之一或多個組件執行2D圖形操作。圖形處理引擎310為用於執行圖形操作(包括三維(3D)圖形操作及媒體操作)之計算引擎。
GPE 310包括一3D管線312以用於執行3D操作,諸如,使用作用於3D基元形狀(例如,矩形、三角形等)之處理函數呈現三維影像及場景。3D管線312包括執行元件內之各種任務及/或將執行緒生成至3D/媒體子系統315的可規劃及固定功能元件。而3D管線312可用以執行媒體操作,GPE 310之一實施例亦包括一媒體管線316,其特定地用以執行媒體操作(諸如,視訊後處理及影像增強)。
在一實施例中,媒體管線316包括代替或代表視
訊編碼解碼器引擎306執行一或多個特殊化媒體操作(諸如,視訊解碼加速、視訊解交錯及視訊編碼加速)之固定功能或可規劃邏輯單元。在一實施例中,媒體管線316另外包括一執行緒生成單元以生成用於在3D/媒體子系統315上執行之執行緒。生成之執行緒執行用於3D/媒體子系統中所包括之一或多個圖形執行單元上的媒體操作之計算。
3D/媒體子系統315包括用於執行由3D管線312及媒體管線316生成之執行緒的邏輯。在一實施例中,管線將執行緒執行請求發送至3D/媒體子系統315,該3D/媒體子系統包括用於仲裁各種請求及將各種請求分派至可用執行緒執行資源之執行緒分派邏輯。執行資源包括圖形執行單元陣列以處理3D及媒體執行緒。在一實施例中,3D/媒體子系統315包括用於執行緒指令及資料之一或多個內部快取記憶體。在一實施例中,子系統亦包括共享記憶體(包括暫存器及可定址記憶體)以在執行緒之間共享資料及儲存輸出資料。
3D/媒體處理-圖4
圖4為用於圖形處理器之圖形處理引擎410之實施例的方塊圖。在一實施例中,圖形處理引擎(GPE)410為圖3中展示之GPE 310之一版本。GPE 410包括3D管線412及媒體管線416,該等管線中之每一者可能不同於或類似於圖3之3D管線312及媒體管線316之實施。
在一實施例中,GPE 410與將命令串流提供至GPE 3D及媒體管線412、416之命令串流器403耦接。命令
串流器403耦接至記憶體,該記憶體可為系統記憶體或內部快取記憶體及共享快取記憶體中之一或多者。命令串流器403自記憶體接收命令且將命令發送至3D管線412及/或媒體管線416。3D及媒體管線藉由經由各別管線內之邏輯執行操作或藉由將一或多個執行緒分派至執行單元陣列414來處理命令。在一實施例中,執行單元陣列414為可調式的,使得基於GPE 410之目標功率及效能位準,該陣列包括可變數目個執行單元。
取樣引擎430與記憶體(例如,快取記憶體或系統記憶體)及執行單元陣列414耦接。在一實施例中,取樣引擎430提供用於可調式執行單元陣列414之記憶體存取機制,其允許執行陣列414自記憶體讀取圖形及媒體資料。在一實施例中,取樣引擎430包括執行用於媒體之特殊化影像取樣操作的邏輯。
取樣引擎430中之特殊化媒體取樣邏輯包括去雜訊/解交錯模組432、運動估計模組434及影像縮放及濾波模組436。去雜訊/解交錯模組432包括對經解碼視訊資料執行去雜訊或解交錯演算法中之一或多者的邏輯。解交錯邏輯將經交錯之視訊內容的交替欄位組合至單一視訊圖框中。去雜訊邏輯減少或移除視訊及影像資料中之資料雜訊。在一實施例中,去雜訊邏輯及解交錯邏輯為運動適應性的,且基於在視訊資料中偵測到之運動之量使用空間或時間濾波。在一實施例中,去雜訊/解交錯模組432包括專用運動偵測邏輯(例如,在運動估計引擎434內)。
運動估計引擎434藉由對視訊資料執行諸如運動向量估計及預測之視訊加速功能來提供用於視訊操作之硬體加速。運動估計引擎判定描述連續視訊圖框之間的影像資料之變換之運動向量。在一實施例中,圖形處理器媒體編碼解碼器使用視訊運動估計引擎434對巨集區塊層級之視訊執行操作,該等操作另外可能在計算上集中以使用通用處理器執行。在一實施例中,運動估計引擎434大體上可供圖形處理器組件使用,以輔助進行對視訊資料內的運動之方向或量值敏感或具適應性之視訊解碼及處理功能。
影像縮放及濾波模組436執行影像處理操作以增強所產生之影像及視訊的視覺品質。在一實施例中,縮放及濾波模組436在將資料提供至執行單元陣列414之前在取樣操作期間處理影像及視訊資料。
在一實施例中,圖形處理引擎410包括一資料埠444,該資料埠提供用於圖形子系統之額外機制以存取記憶體。資料埠444有助於進行用於包括呈現目標寫入、恆定緩衝器讀取、暫時記憶體空間讀取/寫入及媒體表面存取之操作的記憶體存取。在一實施例中,資料埠444包括快取記憶體空間以對記憶體進行快取存取。快取記憶體可為單一資料快取記憶體或分成用於經由資料埠存取記憶體之多個子系統的多個快取記憶體(例如,呈現緩衝器快取記憶體、恆定緩衝器快取記憶體等)。在一實施例中,在執行單元陣列414中之執行單元上執行的執行緒藉由經由耦接圖形處理引擎410之子系統中之每一者的資料散發互連件交換訊息
來與資料埠通訊。
執行單元-圖5至圖7
圖5為圖形處理器之另一實施例之方塊圖。在一實施例中,圖形處理器包括一環形互連件502、一管線前端504、一媒體引擎537及圖形核心580A至580N。環形互連件502將圖形處理器耦接至其他處理單元,包括其他圖形處理器或一或多個通用處理器核心。在一實施例中,圖形處理器為整合於多核心處理系統內的許多處理器中之一者。
圖形處理器經由環形互連件502接收成批命令。傳入命令由管線前端504中之命令串流器503解譯。圖形處理器包括可調式執行邏輯以經由圖形核心580A至580N執行3D幾何處理及媒體處理。對於3D幾何處理命令,命令串流器503將命令供應至幾何管線536。對於至少一些媒體處理命令,命令串流器503將命令供應至與媒體引擎537耦接之視訊前端534。媒體引擎537包括用於視訊及影像後處理之視訊品質引擎(VQE)530,及多格式編碼/解碼(MFX)533引擎以提供硬體加速之媒體資料編碼及解碼。幾何管線536及媒體引擎537各自產生用於藉由至少一圖形核心580A提供之執行緒執行資源的執行緒。
圖形處理器包括特徵為模組化核心580A至580N(有時被稱作核心切片)之可調式執行緒執行資源,每一核心具有多個子核心550A至550N、560A至560N(有時被稱作核心子切片)。圖形處理器可具有任何數目個圖形核心580A至580N。在一實施例中,圖形處理器包括一圖形核心580A,
該圖形核心具有至少一第一子核心550A及一第二核心子核心560A。在另一實施例中,圖形處理器為具有單一子核心(例如,550A)之低功率處理器。在一實施例中,圖形處理器包括多個圖形核心580A至580N,各者包括一組第一子核心550A至550N及一組第二子核心560A至560N。該組第一子核心550A至550N中之各子核心包括至少第一組執行單元552A至552N及媒體/紋理取樣器554A至554N。該組第二子核心560A至560N中之各子核心包括至少第二組執行單元562A至562N及取樣器564A至564N。在一實施例中,各子核心550A至550N、560A至560N共享一組共享資源570A至570N。在一實施例中,共享資源包括共享快取記憶體及像素操作邏輯。其他共享資源亦可包括於圖形處理器之各種實施例中。
圖6說明包括在圖形處理引擎之一實施例中使用的一處理元件陣列之執行緒執行邏輯600。在一實施例中,執行緒執行邏輯600包括像素著色器602、執行緒分派器604、指令快取記憶體606、可調式執行單元陣列(包括多個執行單元608A至608N)、取樣器610、資料快取記憶體612及資料埠614。在一實施例中,所包括之組件係經由連結至組件中之每一者的互連網狀架構來互連。執行緒執行邏輯600包括經由指令快取記憶體606、資料埠614、取樣器610及執行單元陣列608A至608N中之一或多者至諸如系統記憶體或快取記憶體之記憶體的一或多個連接。在一實施例中,各執行單元(例如,608A)為能夠執行多個同時執行緒
且針對各執行緒並行地處理多個資料元素的個別向量處理器。執行單元陣列608A至608N包括任何數目個個別執行單元。
在一實施例中,執行單元陣列608A至608N主要用以執行「著色器」程式。在一實施例中,陣列608A至608N中之執行單元執行包括對於許多標準3D圖形著色器指令之原生支援的指令集,使得來自圖形程式庫(例如,Direct 3D及OpenGL)之著色器程式按最小平移來執行。執行單元支援頂點及幾何處理(例如,頂點程式、幾何程式、頂點著色器)、像素處理(例如,像素著色器、片段著色器)及通用處理(例如,計算及媒體著色器)。
執行單元陣列608A至608N中之各執行單元對資料元素陣列操作。資料元素之數目為「執行大小」,或用於指令的頻道之數目。執行頻道為針對指令內之資料元素存取、遮蔽及流量控制之邏輯執行單元。頻道之數目可獨立於用於特定圖形處理器的實體ALU或FPU之數目。執行單元608A至608N支援整數及浮點資料類型。
執行單元指令集包括單一指令多重資料(SIMD)指令。可將各種資料元素作為封裝資料類型儲存於暫存器中,且執行單元將基於元素之資料大小處理各種元素。舉例而言,當對256位元寬向量操作時,將向量之256個位元儲存於暫存器中,且執行單元按四個單獨的64位元封裝資料元素(四倍字(QW)大小資料元素)、八個單獨的32位元封裝資料元素(雙字(DW)大小資料元素)、十六個單獨的16位
元封裝資料元素(字(W)大小資料元素)或三十二個單獨的8位元資料元素(位元組(B)大小資料元素)形式對該向量操作。然而,不同向量寬度及暫存器大小係可能的。
一或多個內部指令快取記憶體(例如,606)包括於執行緒執行邏輯600中以快取用於執行單元之執行緒指令。在一實施例中,包括一或多個資料快取記憶體(例如,612)以在執行緒執行期間快取執行緒資料。包括取樣器610以提供用於3D操作之紋理取樣及用於媒體操作之媒體取樣。在一實施例中,取樣器610包括特殊化紋理或媒體取樣功能性以在將經取樣之資料提供至執行單元之前在取樣處理程序期間處理紋理或媒體資料。
在執行期間,圖形及媒體管線經由執行緒生成及分派邏輯將執行緒起始請求發送至執行緒執行邏輯600。執行緒執行邏輯600包括一本端執行緒分派器604,其仲裁來自圖形及媒體管線之執行緒起始請求,且在一或多個執行單元608A至608N上將所請求之執行緒執行個體化。舉例而言,幾何管線(例如,圖5之536)將頂點處理、棋盤形格局佈置或幾何處理執行緒分派至執行緒執行邏輯600。執行緒分派器604亦可處理來自執行著色器程式之執行階段執行緒生成請求。
一旦一群幾何物件經處理且經光柵化至像素資料,則調用像素著色器602以進一步計算輸出資訊且使得將結果寫入至輸出表面(例如,色彩緩衝器、深度緩衝器、模板緩衝器等)。在一實施例中,像素著色器602計算待跨經
光柵化之物件內插的各種頂點屬性之值。像素著色器602接著執行供應API之像素著色器程式。為了執行像素著色器程式,像素著色器602經由執行緒分派器604將執行緒分派至執行單元(例如,608A)。像素著色器602使用取樣器610中之紋理取樣邏輯存取儲存於記憶體中之紋理圖中的紋理資料。對紋理資料及輸入幾何資料之算術運算計算各幾何片段之像素色彩資料,或丟棄一或多個像素以作進一步處理。
在一實施例中,資料埠614提供一記憶體存取機制,以供執行緒執行邏輯600將經處理之資料輸出至記憶體以用於在圖形處理器輸出管線上處理。在一實施例中,資料埠614包括或耦接至一或多個快取記憶體(例如,資料快取記憶體612)以快取用於供經由資料埠進行記憶體存取之資料。
圖7為說明根據一實施例之圖形處理器執行單元指令格式之方塊圖。在一實施例中,圖形處理器執行單元支援具有呈多個格式之指令的指令集。實線框說明大體上包括於執行單元指令中之組成部分,而虛線包括可選或僅包括於該等指令之子集中的組成部分。所描述及說明之指令格式為巨集指令,此係因為其為供應至執行單元之指令,其與一旦指令經處理由指令產生之微操作便解碼的情形形成對比。
在一實施例中,圖形處理器執行單元原生地支援呈128位元格式710之指令。64位元壓緊指令格式730可用於基於選定指令、指令選項及運算元之數目的一些指令。原
生128位元格式710提供對所有指令選項之存取,而一些選項及操作在64位元格式730中受到限制。在64位元格式730中可用之原生指令按實施例變化。在一實施例中,使用索引欄位713中之一組索引值來部分地壓緊指令。執行單元硬體基於索引值參考一組壓緊表,且使用壓緊表輸出重建構呈128位元格式710之原生指令。
對於各格式,指令作業碼712定義執行單元將執行之操作。執行單元跨各運算元之多個資料元素並行地執行各指令。舉例而言,回應於添加指令,執行單元跨表示紋理元素或像元之各色彩頻道執行同時添加操作。按預設,執行單元跨運算元之所有資料頻道執行各指令。指令控制欄位712使得能夠控制諸如頻道選擇(例如,預測)及資料頻道階數之某些執行選項(例如,攪和)。對於128位元指令710,exec-size欄位716限制將並行地執行的資料頻道之數目。exec-size欄位716不可用於供64位元緊湊指令格式730使用。
一些執行單元指令具有高達三個運算元,包括兩個源運算元src0 722、src1 722及一個目的地718。在一實施例中,執行單元支援雙目的地指令,其中該等目的地中之一者經暗示。資料操縱指令可具有第三源運算元(例如,SRC2 724),其中指令作業碼JJ12判定源運算元之數目。指令之最後一個源運算元可為藉由指令通過之立即(例如,經硬寫碼)值。
在一實施例中,基於作業碼位元欄位將指令分群
以簡化作業碼解碼740。對於8位元作業碼,位元4、5及6允許執行單元判定作業碼之類型。所展示之精確作業碼分群為示例性的。在一實施例中,移動及邏輯作業碼群組742包括資料移動及邏輯指令(例如,mov、cmp)。移動及邏輯群組742共享五個最高有效位元(MSB),其中移動指令呈0000xxxxb(例如,0x0x)之形式,且邏輯指令呈0001xxxxb(例如,0x01)之形式。流量控制指令群組744(例如,呼叫、jmp)包括呈0010xxxxb(例如,0x20)之形式的指令。雜項指令群組746包括指令之混合,包括呈0011xxxxb(例如,0x30)之形式的同步指令(例如,等待、發送)。平行數學指令群組748包括呈0100xxxxb(例如,0x40)之形式的逐個組成部分算術指令(例如,加、mul)。平行數學群組748跨資料頻道並行地執行算術運算。向量數學群組750包括呈0101xxxxb(例如,0x50)之形式的算術指令(例如,dp4)。向量數學群組對向量運算元執行諸如點乘計算之算術。
圖形管線-圖8
圖8為包括圖形管線820、媒體管線830、顯示引擎840、執行緒執行邏輯850及呈現輸出管線870之圖形處理器之另一實施例的方塊圖。在一實施例中,圖形處理器為包括一或多個通用處理核心之多核心處理系統內之圖形處理器。圖形處理器係藉由至一或多個控制暫存器(未展示)之暫存器寫入來控制,或經由經環形互連件802發出至圖形處理器之命令來控制。環形互連件802將圖形處理器耦接至其他處理組件,諸如其他圖形處理器或通用處理器。來自
環形互連件之命令係由命令串流器803來解譯,該命令串流器將指令供應至圖形管線820或媒體管線830之個別組件。
命令串流器803指導頂點提取器805組件之操作,該頂點提取器組件自記憶體中讀取頂點資料且執行由命令串流器803提供之頂點處理命令。頂點提取器805將頂點資料提供至頂點著色器807,該頂點著色器對各頂點執行座標空間變換及照明操作。頂點提取器805及頂點著色器807藉由經由執行緒分派器831將執行緒分派至執行單元852A、852B而執行頂點處理指令。
在一實施例中,執行單元852A、852B為具有用於執行圖形及媒體操作之指令集的向量處理器陣列。執行單元852A、852B具有各陣列所特有的或在陣列之間共享的附接L1快取記憶體851。快取記憶體可組配為資料快取記憶體、指令快取記憶體或經分割以在不同分割區中含有資料及指令之單一快取記憶體。
在一實施例中,圖形管線820包括棋盤形格局佈置組件以執行3D物件之硬體加速棋盤形格局佈置。可規劃外殼著色器811組配棋盤形格局佈置操作。可規劃域著色器817提供棋盤形格局佈置輸出之後端評估。棋盤形格局佈置器813在外殼著色器811之方向上操作且含有專用邏輯以基於作為至圖形管線820之輸入提供的粗糙幾何模型產生一組詳細幾何物件。若不使用棋盤形格局佈置,則可繞過棋盤形格局佈置組件811、813、817。
完整幾何物件可由幾何著色器819經由分派至執
行單元852A、852B之一或多個執行緒來處理,或可直接進行至剪輯器829。幾何著色器對全部幾何物件操作,而非如圖形管線之先前階段中般對頂點或頂點之貼片操作。若停用棋盤形佈局佈置,則幾何著色器819接收來自頂點著色器807之輸入。幾何著色器819可藉由幾何著色器程式來規劃以在停用棋盤形格局佈置單元之情況下執行幾何棋盤形格局佈置。
在光柵化之前,藉由剪輯器829處理頂點資料,該剪輯器為具有剪輯及幾何著色器功能之固定函數剪輯器或可規劃剪輯器。在一實施例中,呈現輸出管線870中之光柵處理器873分派像素著色器將幾何物件轉換成其每個像素表示。在一實施例中,像素著色器邏輯包括於執行緒執行邏輯850中。
圖形引擎具有互連匯流排、互連網狀架構,或允許資料及訊息在圖形引擎之大部分組件當中通過的某一其他互連機制。在一實施例中,執行單元852A、852B及相關聯之快取記憶體851、紋理及媒體取樣器854及紋理/取樣器快取記憶體858經由資料埠856互連以執行記憶體存取及與圖形引擎之呈現輸出管線組件通訊。在一實施例中,取樣器854、快取記憶體851、858及執行單元852A、852B各自具有單獨的記憶體存取路徑。
在一實施例中,呈現輸出管線870包含光柵處理器及深度測試組件873,其將基於頂點之物件轉換成其相關聯的基於像素之表示。在一實施例中,光柵處理器邏輯包
括開窗程式/遮蔽器單元以執行固定函數三角形及線光柵化。在一實施例中,相關聯之呈現及深度緩衝器快取記憶體878、879也可供使用。像素操作組件877對資料執行基於像素之操作,但在一些情況下,與2D操作相關聯之像素操作(例如,藉由摻合進行之位元區塊影像傳送)係由2D引擎841執行,或在顯示時間用使用覆疊顯示平面之顯示控制器843取代。在一實施例中,共享L3快取記憶體875可用於所有圖形組件,從而允許在不使用主系統記憶體之情況下共享資料。
圖形處理器媒體管線830包括媒體引擎337及視訊前端834。在一實施例中,視訊前端834接收來自命令串流器803之管線命令。然而,在一實施例中,媒體管線830包括單獨命令串流器。視訊前端834在將命令發送至媒體引擎837之前處理媒體命令。在一實施例中,媒體引擎包括執行線生成功能性以生成執行緒從而經由執行緒分派器831分派至執行緒執行邏輯850。
在一實施例中,圖形引擎包括顯示引擎840。在一實施例中,顯示引擎840在圖形處理器外部且經由環形互連件802或某一其他互連匯流排或網狀架構與圖形處理器耦接。顯示引擎840包括2D引擎841及顯示控制器843。顯示引擎840包含能夠獨立於3D管線操作之專用邏輯。顯示控制器843與顯示裝置(未展示)耦接,該顯示裝置可為系統整合式顯示裝置,如膝上型電腦中,或為經由顯示裝置連接器附接之外部顯示裝置。
圖形管線820及媒體管線830可經組配以基於多個圖形及媒體規劃介面執行操作且並非任何一個應用程式規劃接口(API)所特有的。在一實施例中,用於圖形處理器之驅動器軟體將特定圖形或媒體程式庫所特有之API呼叫轉譯成可由圖形處理器處理之命令。在各種實施例中,提供對以下各者之支援:Khronos組織所支援之開放圖形程式庫(OpenGL)及開放計算語言(OpenCL)、來自微軟公司之Direct3D程式庫,或在一實施例中,OpenGL及D3D兩者。亦可提供對開放源電腦視覺程式庫(OpenCV)之支援。若可做出自未來API之管線至圖形處理器之管線的映射,則亦將支援具有相容3D管線之未來API。
圖形管線規劃-圖9A至圖9B
圖9A為說明根據一實施例之圖形處理器命令格式之方塊圖,且圖9B為說明根據一實施例之圖形處理器命令序列之方塊圖。圖9A中之實線框說明大體上包括於圖形命令中之組成部分,而虛線包括可選或僅包括於圖形命令之子集中的組成部分。圖9A之示例性圖形處理器命令格式900包括用於識別以下各者之資料欄位:命令之目標用戶端902、命令操作碼(作業碼)904,及用於命令之相關資料906。子作業碼905及命令大小908亦包括於一些命令中。
用戶端902指定處理命令資料之圖形裝置之用戶端單元。在一實施例中,圖形處理器命令剖析器檢查各命令之用戶端欄位以調節命令之其他處理及將命令資料投送至適當用戶端單元。在一實施例中,圖形處理器用戶端單
元包括記憶體介面單元、呈現單元、2D單元、3D單元及媒體單元。各用戶端單元具有處理命令之對應處理管線。一旦用戶端單元接收到命令,用戶端單元便讀取作業碼904且在存在子作業碼905之情況下讀取子作業碼905以判定待執行之操作。用戶端單元使用命令之資料906欄位中之資訊執行命令。對於一些命令,期望顯式命令大小908以指定命令之大小。在一實施例中,命令剖析器基於命令作業碼自動地判定命令中之至少一些命令之大小。在一實施例中,經由雙字之倍數使命令對準。
圖9B中之流程圖展示取樣命令序列910。在一實施例中,特徵化圖形處理器之一實施例之資料處理系統的軟體或韌體使用所展示之命令序列之一版本來設定、執行及終止一組圖形操作。為了示例性目的而展示及描述取樣命令序列,然而,實施例不限於此等命令或不限於此命令序列。此外,可按命令序列中之命令分批形式發出命令,以使得圖形處理器將按至少部分並行方式處理命令序列。
取樣命令序列910可自管線清空命令912開始,該管線清空命令使得任何作用中圖形管線完成用於管線之當前申請中之命令。在一實施例中,3D管線922及媒體管線924並不會並行地操作。執行管線清空以使得作用中圖形管線完成任何申請中之命令。回應於管線清空,用於圖形處理器之命令剖析器將暫停命令處理,直至作用中繪圖引擎完成申請中之操作且相關讀取快取記憶體為無效的為止。視情況,可將呈現快取記憶體中之標記為「已變更」之任何
資料清空至記憶體。可與將圖形處理器置於低功率狀態同步或在將圖形處理器置於低功率狀態之前將管線清空命令912用於管線。
當命令序列需要圖形處理器明確地在管線之間切換時,使用管線選擇命令913。除非內容脈絡係發出用於兩個管線之命令,否則在發出管線命令之前在執行內容脈絡內僅需要一次管線選擇命令913。在一實施例中,緊於經由管線選擇命令913進行之管線切換之前,需要管線清空命令912。
管線控制命令914組配用於操作之圖形管線且用以規劃3D管線922及媒體管線924。管線控制命令914組配用於作用中管線之管線狀態。在一實施例中,管線控制命令914用於進行管線同步且用以在處理一批命令之前在作用中管線內清除一或多個快取記憶體中之資料。
返回緩衝器狀態命令916用以組配用於各別管線之一組返回緩衝器以寫入資料。一些管線操作需要進行一或多個返回緩衝器之分配、選擇或組配,在處理期間操作將中間資料寫入至返回緩衝器中。圖形處理器亦使用一或多個返回緩衝器儲存輸出資料及執行跨執行緒通訊。返回緩衝器狀態916包括選擇用於一組管線操作之返回緩衝器之大小及數目。
命令序列中之剩餘命令基於用於操作之作用中管線而不同。基於管線判定920,將命令序列定製至自3D管線狀態930開始之3D管線922,或在媒體管線狀態940開始
之媒體管線924。
用於3D管線狀態930之命令包括用於以下各者之3D狀態設定命令:頂點緩衝器狀態、頂點元素狀態、恆定色彩狀態、深度緩衝器狀態,及欲在處理3D基元命令之前組配之其他狀態變數。至少部分地基於使用中之特定3D API判定此等命令之值。3D管線狀態930命令亦能夠選擇性地停用或繞過某些管線元件(若不使用彼等元件)。
3D基元932命令用以提交待由3D管線處理之3D基元。將經由3D基元932命令傳遞至圖形處理器之命令及相關聯之參數轉遞至圖形管線中之頂點提取函數。頂點提取函數使用3D基元932命令資料產生頂點資料結構。將頂點資料結構儲存於一或多個返回緩衝器中。3D基元932命令用以經由頂點著色器對3D基元執行頂點操作。為了處理頂點著色器,3D管線922將著色器執行緒分派至圖形處理器執行單元。
經由執行934命令或事件觸發3D管線922。在一實施例中,暫存器寫入觸發命令執行。在一實施例中,經由命令序列中之「移至」或「跳出」命令觸發執行。在一實施例中,使用管線同步命令觸發命令執行以經由圖形管線清空命令序列。3D管線將執行對於3D基元之幾何處理。一旦操作完成,便使所得幾何物件光柵化且像素引擎將所得像素著色。對於彼等操作,亦可包括用以控制像素著色及像素後端操作之額外命令。
當執行媒體操作時,取樣命令序列910遵循媒體
管線924路徑。大體而言,用於媒體管線924之特定用途及規劃方式取決於待執行之媒體或計算操作。可在媒體解碼期間將特定媒體解碼操作卸載至媒體管線。亦可繞過媒體管線,且可使用藉由一或多個通用處理核心提供之資源全部地或部分地執行媒體解碼。在一實施例中,媒體管線亦包括用於通用圖形處理器單元(GPGPU)操作之元件,其中圖形處理器用以使用並非明確地與圖形基元之呈現有關的計算著色器程式執行SIMD向量操作。
媒體管線924係按與3D管線922類似之方式組配。分派一組媒體管線狀態命令940或將其置於命令佇列中在媒體物件命令942之前。媒體管線狀態命令940包括組配將用以處理媒體物體之媒體管線元件之資料。此包括組配媒體管線內之視訊解碼及視訊編碼邏輯之資料,諸如編碼或解碼格式。媒體管線狀態命令940亦支援對至含有一批狀態設定之「間接」狀態元件之一或多個指標的使用。
媒體物件命令942將指標供應至媒體物件以用於供媒體管線處理。媒體物件包括含有待處理之視訊資料之記憶體緩衝器。在一實施例中,在發出媒體物件命令942之前,所有媒體管線狀態必須為有效的。一旦管線狀態經組配且媒體物件命令942經排入佇列,便經由執行934命令或等效執行事件(例如,暫存器寫入)觸發媒體管線924。來自媒體管線924之輸出可接著藉由由3D管線922或媒體管線924提供之操作進行後處理。在一實施例中,GPGPU操作係按與媒體操作類似之方式進行組配及執行。
圖形軟體架構-圖10
圖10說明根據一實施例的用於資料處理系統之示例性圖形軟體架構。軟體架構包括一3D圖形應用程式1010、一作業系統1020及至少一處理器1030。處理器1030包括一圖形處理器1032及一或多個通用處理器核心1034。圖形應用程式1010及作業系統1020各自在資料處理系統之系統記憶體1050中執行。
在一實施例中,3D圖形應用程式1010含有包括著色器指令1012之一或多個著色器程式。著色器語言指令可呈高階著色器語言,諸如高階著色器語言(HLSL)或OpenGL著色器語言(GLSL)。該應用程式亦包括呈適合於由通用處理器核心1034執行之機器語言的可執行指令1014。該應用程式亦包括藉由頂點資料定義之圖形物件1016。
作業系統1020可為來自微軟公司之Microsoft®Windows®作業系統、類似專屬UNIX之作業系統或使用Linux內核之變體的類似開放源UNIX之作業系統。當Direct3D API在使用中時,作業系統1020使用前端著色器編譯器1024將HLSL下之任何著色器指令1012編譯成較低階著色器語言。編譯可為剛好及時(just-in-time)編譯,或應用程式可執行共享預先編譯。在一實施例中,在3D圖形應用程式1010之編譯期間將高階著色器編譯成低階著色器。
使用者模式圖形驅動器1026可含有一後端著色器編譯器1027以將著色器指令1012轉換成硬體特定表示。當OpenGL API在使用中時,將GLSL高階語言下之著色器指
令1012傳遞至使用者模式圖形驅動器1026以供編譯。使用者模式圖形驅動器使用作業系統內核模式函數1028與內核模式圖形驅動器1029通訊。內核模式圖形驅動器1029與圖形處理器1032通訊以分派命令及指令。
就本文中描述各種操作或功能而言,其可經描述或定義為硬體電路系統、軟體程式碼、指令、組配及/或資料。內容可體現於硬體邏輯中,或直接體現為可執行軟體(「物件」或「可執行」形成)、原始程式碼、經設計用於在圖形引擎上執行之高階著色器程式碼或用於特定處理器或圖形核心之指令集中的低階組合語言程式碼。本文所描述之實施例之軟體內容可經由上面儲存有內容之製造物品提供,或經由操作通訊介面以經由通訊介面發送資料之方法提供。
非暫時性機器可讀儲存媒體可使機器執行所描述之功能或操作,且包括按可由機器(例如,計算裝置、電子系統等)存取之形式儲存資訊的任何機構,諸如可記錄/非可記錄媒體(例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置等)。通訊介面包括介接至固線式、無線、光學等媒體中之任一者以傳達至另一裝置的任何機構,諸如記憶體匯流排介面、處理器匯流排介面、網際網路連接、磁碟控制器等。藉由提供組配參數及/或發送信號以使通訊介面準備好提供描述軟件內容之資料信號來組配通訊介面。可經由發送至通訊介面之一或多個命令或信號來存取通訊介面。
所描述之各種組件可為用於執行所描述之操作或功能之構件。本文所描述之各組件包括軟體、硬體或此等各者之組合。該等組件可實施為軟體模組、硬體模組、專用硬體(例如,特殊應用硬體、特殊應用積體電路(ASIC)、數位信號處理器(DSP)等)、嵌入式控制器、固線式電路系統等。除本文所描述之內容之外,亦可對本發明的所揭示之實施例及實施進行各種修改,而不脫離其範疇。因此,本文中之說明及實例應以例示性意義而非限制性意義來解釋。本發明之範疇應僅藉由參考接下來之申請專利範圍來量測。
用於有效率的紋理壓縮之設備及方法
下文所描述的本發明之實施例支援高效能、可調式有損圖形紋理壓縮,同時允許靈活選擇影像品質、壓縮率及區塊大小。在一實施例中,壓縮及解壓縮兩者具有相同的每一紋素成本且僅使用乘法-加法指令。另外,紋素解壓縮並不需要相鄰紋素之間的空間或時間相依性。因此,本文所描述之技術特定言之適合於大規模並行實施及硬體加速。
為了實現上述結果,本發明之一實施例將紋理影像資料區塊視為具兩個座標之多變數函數。在壓縮階段中,在每一紋素處對多變數函數取樣且在中心點之稀疏網格上用數值近似以獲得近似係數向量,該等近似係數構成紋理區塊之經壓縮表示。在解壓縮階段中,接著使用近似係數評估每一紋素座標處之多變數函數以便重新建立原始
紋素之近似值。可分別處理色彩及阿爾法頻道。
詳言之,在一實施例中,使用徑向基底函數(RBF)近似來用數值近似紋理區塊上之色彩函數。該情形允許靈活選擇諸如4×4至16×16之區塊大小。亦支援矩形(非正方形)區塊。
如圖11中所說明,在本發明之一實施例中,在圖形處理單元之紋理取樣器1100(參見(例如)圖5中之紋理取樣器554A至554N、圖6中之紋理取樣器610,及圖8中之紋理取樣器854)內執行壓縮及解壓縮操作。具體言之,對稱紋理壓縮邏輯1105實施下文所描述之技術(例如,使用RBF近似)壓縮未經壓縮之紋理資料1101。可接著將所得的經壓縮之紋理資料1107儲存於紋理儲存位置1110(例如,紋理快取記憶體、主記憶體、大容量儲存器等)中以用於在紋理映射操作期間的後續使用。
對稱紋理解壓縮邏輯1120使用下文所描述之解壓縮技術(例如,判定用於紋理區塊之色彩值向量[T])解壓縮經壓縮之紋理資料1107以產生經解壓縮之紋理資料1130。所得的經解壓縮之紋理資料1130接著可供像素著色器1150及/或圖形管線中之其他階段使用以執行紋理映射操作。
如上文所提及,在一實施例中使用RBF近似來壓縮紋理資料。近似準確度及因此的影像品質及壓縮率係藉由相對於區塊內之紋素之數目(此後表示為B)選擇近似RBF中心點計數(此後表示為N)來控制。
包括RBF近似之近似方法在域邊界(亦即,此狀況下之區塊邊緣)處遭受升高之錯誤率。為了限制該效果,本發明之一實施例將RBF中心點置於紋理區塊邊緣上,如圖12A(該圖展示具有四個中心點1250之實施)及圖12B(該圖展示具有八個中心點1251之實施)中所說明。為了保留RBF中心點置放之對稱性,置放於區塊拐角中之四個中心(如圖12A中所展示)可用作基線實施(亦即,中心點之最小數目)。可接著藉由在等距設定中將四個新中心添加至邊緣(每一邊緣一個中心)而產生後續組配,如圖12B中所展示。可添加額外的數組4個中心點以將邊緣細分成具相等長度之線段(例如,12個中心點將產生3個線段;16個中心點將產生4個線段,等等)。
圖12C提供使用不同數目個中心點進行的針對不同區塊大小(例如,4×4、5×5等)之示例性壓縮率。以實例說明,具有4個中心點之4×4紋理區塊將產生壓縮率0.25,而具有12個中心點之同一紋理區塊將產生壓縮率0.75。
在一實施例中,RBF近似基於在近似中心點與經近似之資料位點(例如,紋素)之間的距離向量之範數上計算的徑向基底函數計算近似係數。可使用較寬類別之徑向基底函數,同時仍遵守本發明之實施例。在一特定實施例中,使用高斯及/或複二次(Multiquadratic)RBF,其分別表示為GAUS及MQ:
RBF近似使用額外參數來控制被稱為形狀參數之徑向基底函數曲線形狀,此後表示為e p 。元組<B、N、網格、RBF、e p >構成壓縮/解壓縮方法之控制集(其中B為區塊內之紋素之數目且N為RBF中心點計數)。RBF近似之細節已為熟習此項技術者所熟知且此處將不會加以描述以避免混淆本發明之基本原理。下文描述用於一紋理區塊之近似(壓縮)及評估(解壓縮)階段之操作。
在一實施例中,根據以下等式執行壓縮:
在一實施例中,藉由首先計算紋理資料位點與近似中心點之間的距離矩陣[DM]來判定壓縮矩陣。以實例說明,在具有16個紋素且使用4個中心點之4×4紋理區塊中,距離矩陣包含64個元素(亦即,其中各元素表示4個中心點中之一者與16個紋素中之一者之間的距離)。接著使用經組配之RBF類型及形狀參數e p 值在距離矩陣[DM]上計算逐個成員RBF值之壓縮矩陣[RDM];在一實施例中,建置含有在區塊上取樣之B個紋素色彩值之向量[T]。以實例說明,對於4×4紋理區塊,將在區塊上取樣16個紋素色彩值(亦即,B=16)。
本發明之一實施例接著解答線性方程組
[RDM]*[A]=[T]以獲得近似係數向量[A]。此情形可藉由以下操作來實現:用數值計算[RDM]矩陣之偽逆[iRDM],及計算矩陣積[iRDM][T]以判定包含經壓縮之紋理資料之向量[A]。
在一實施例中,對於固定組合<B、N、網格、RBF、e p >,可預先計算用於計算距離矩陣[DM]及計算解壓縮矩陣[RDM]之運算且將其作為常數提供。另外,因為[RDM]矩陣可能並非正方形的且其定義之線性方程組係多因素決定的,所以經典意義上之逆矩陣並不存在。實情為,本發明之一實施例基於以下方程式使用莫耳-潘羅斯(Moore-Penrose)偽逆矩陣來獲得方程組之最佳適合解:
最後,對於固定組合<B、N、網格、RBF、e p >,可預先計算用於計算矩陣積[iRDM][T]之運算且將其作為常數提供。因此,如藉由上述論述暗示,可將壓縮階段減少至每一紋理區塊一單一矩陣向量積運算,其中將矩陣作為常數提供。
在一實施例中,根據以下等式執行解壓縮:
為了獲得紋素色彩值向量[T],判定解壓縮矩陣[RDM]及近似係數向量[A]之乘積(例如,計算[RDM]*[A]=[T])。因此,可將解壓縮階段減少至每一紋理
區塊一單一矩陣向量積運算,其中將矩陣作為常數提供至演算法。在一實施例中,用與輸入色彩資料之精確度相同的精確度表示近似係數[A](當以經壓縮格式儲存時)。
圖13提供用於具有4個中心點之4×4紋理區塊之前述方程式的示例性表示。在所說明之實例中,將[RDM]矩陣1301重新整形以產生4×16解壓縮矩陣1302,接著將該解壓縮矩陣乘以近似係數矩陣[A]以達成紋素區塊1304之1×16版本。接著將紋素區塊1304重新整形以達成最後的[T]矩陣1305。
圖14中說明用於執行壓縮之方法。在1401處,使用紋理區塊之各資料位點與各中心點之間的距離計算距離矩陣[DM]。對於具有4個中心點之4×4紋理區塊,此情形產生64個值。在1402處,使用經組配之RBF類型及形狀參數e p 值在距離矩陣[DM]上計算逐個成員RBF值之RBF矩陣[RDM]。在1403處,建置在區塊上取樣之B個紋素色彩值之向量[T]。最後,在1404處,解答線性方程組[RDM]*[A]=[T]以獲得近似係數向量[A]。
上文所呈現之技術可在壓縮及解壓縮兩個階段中僅使用乘法加法運算來實施(例如,用於執行所描述之矩陣乘法)。另外,壓縮及解壓縮兩個階段具有相等的每一紋素成本,此取決於區塊大小及所選擇之壓縮率。因為此等技術使用色彩近似,所以其提供適合於子取樣及過取樣方案之添加的益處。此外,低計算複雜性及成本使得此等技術適合於硬體加速及/或即時應用程式且導致對記憶體頻
寬及功率消耗之限制。
本發明之實施例可包括上文已描述之各種步驟。該等步驟可體現於可用以使通用或專用處理器執行該等步驟之機器可執行指令中。替代地,可藉由含有用於執行步驟之固線式邏輯的特定硬體組件,或藉由經規劃之電腦組件及定製硬體組件之任何組合執行此等步驟。
如本文所描述,指令可指經組配以執行某些操作或具有儲存於體現於非暫時性電腦可讀媒體中之記憶體中的預定功能性或軟體指令的硬體(諸如,特殊應用積體電路(ASIC))之特定組配。因此,可使用儲存並執行於一或多個電子裝置(例如,終端站、網路元件等)上之程式碼及資料實施諸圖中所展示之技術。此等電子裝置使用電腦機器可讀媒體(諸如,非暫時性電腦機器可讀儲存媒體(例如,磁碟;光碟;隨機存取記憶體;唯讀記憶體;快閃記憶體裝置;相變記憶體)及暫時性電腦機器可讀通訊媒體(例如,電、光學、聲學或其他形式之傳播信號,諸如載波、紅外線信號、數位信號等))儲存並傳達(內部地及/或經由網路與其他電子裝置)程式碼及資料。另外,此等電子裝置通常包括耦接至一或多個其他組件(諸如,一或多個儲存裝置(非暫時性機器可讀儲存媒體)、使用者輸入/輸出裝置(例如,鍵盤、觸控式螢幕及/或顯示器)及網路連接)之一組一或多個處理器。通常經由一或多個匯流排及橋接器(亦稱為匯流排控制器)耦接該組處理器與其他組件。儲存裝置及攜帶網路訊務之信號分別表示一或多個機器可讀儲存媒體及機器可讀通
信媒體。因此,給定電子裝置之儲存裝置通常儲存用於在彼電子裝置之該組一或多個處理器上執行之程式碼及/或資料。當然,可使用軟體、韌體及/或硬體之不同組合實施本發明之實施例的一或多個部分。貫穿此詳細描述,出於解釋之目的,闡述眾多特定細節以便提供對本發明之透徹理解。然而,熟習此項技術者將顯而易見可在並無此等特定細節中之一些細節的情況下實踐本發明。在某些情況下,並未詳細描述熟知結構及功能以便避免混淆本發明之標的物。因此,應就以下申請專利範圍判定本發明之範疇及精神。
1401‧‧‧步驟
1402‧‧‧步驟
1403‧‧‧步驟
1404‧‧‧步驟
Claims (22)
- 一種用於有效率的紋理壓縮之方法,該方法包含:判定一紋理區塊之中的多個紋理區塊紋素中之每一者與置於該紋理區塊的區塊邊緣上的多個有理基底函數(RBF)中心點中之每一者之間的一距離;判定在紋理區塊上取樣之一組紋素色彩值;以及使用該等紋理區塊紋素中之每一者與該等RBF中心點中之每一者之間的該距離及在該紋理區塊上取樣之該組紋素色彩值產生一組近似係數,以壓縮該紋理區塊。
- 如請求項1之方法,其進一步包含:使用該等紋理區塊紋素中之每一者與該等RBF中心點中之每一者之間的該距離來判定一距離矩陣[DM];使用一指定類型的RBF及指定形狀參數e p 值來判定該距離矩陣[DM]上的逐個成員RBF值的一RBF矩陣[RDM]。
- 如請求項2之方法,其中該指定類型的RBF係選自由以下各者組成之一群組:高斯有理基底函數及複二次有理基底函數。
- 如請求項2之方法,其中判定一組紋素色彩值包含建置在該紋理區塊上取樣之B個紋素色彩值之一向量[T],其中B為該紋理區塊中的該等紋理區塊紋素之數目。
- 如請求項4之方法,其中產生該組近似係數包含: 使用方程式[RDM]*[A]=[T]來判定包含該等近似係數的一向量[A]。
- 如請求項5之方法,其進一步包含:判定該RBF矩陣[RDM]的偽逆矩陣[iRDM];以及將[iRDM]乘以[T]以判定該向量[A]。
- 如請求項6之方法,其中該紋理區塊包含一4×4紋理區塊、一5×5紋理區塊、一6×6紋理區塊、一7×7紋理區塊或一8×8紋理區塊。
- 如請求項7之方法,其中該等RBF中心點係選自由以下各者組成之一群組:4個、8個、12個、16個或20個中心點。
- 如請求項6之方法,其中該紋理區塊包含一矩形紋理區塊。
- 如請求項5之方法,其進一步包含:藉由使用該方程式[RDM]*[A]=[T]來判定該向量[T]而解壓縮該紋理區塊。
- 一種用於有效率的紋理壓縮之處理器,該處理器包含:紋理壓縮邏輯,其用以進行以下操作:判定一紋理區塊之中的多個紋理區塊紋素中之每一者與置於該紋理區塊的區塊邊緣上的多個有理基底函數(RBF)中心點中之每一者之間的一距離;判定在紋理區塊上取樣之一組紋素色彩值;以及使用該等紋理區塊紋素中之每一者與該等RBF中心點中之每一者之間的該距離及在該紋理區塊上取樣 之該組紋素色彩值產生一組近似係數以壓縮該紋理區塊。
- 如請求項11之處理器,其中該紋理壓縮邏輯係用以使用該等紋理區塊紋素中之每一者與該等RBF中心點中之每一者之間的該距離來判定一距離矩陣[DM],並且使用一指定類型的RBF及指定形狀參數e p 值來判定該距離矩陣[DM]上的逐個成員RBF值之一RBF矩陣[RDM]。
- 如請求項12之處理器,其中該指定類型的RBF係選自由以下各者組成之一群組:高斯有理基底函數及複二次有理基底函數。
- 如請求項12之處理器,其中判定一組紋素色彩值包含建置在該紋理區塊上取樣之B個紋素色彩值之一向量[T],其中B為該紋理區塊中的該等紋理區塊紋素之數目。
- 如請求項14之處理器,其中該紋理壓縮邏輯藉由使用方程式[RDM]*[A]=[T]來判定一向量[A]而產生該組近似係數,該向量[A]包含該等近似係數。
- 如請求項15之處理器,其中該紋理壓縮邏輯判定該RBF矩陣[RDM]的偽逆矩陣[iRDM],且將[iRDM]乘以[T]以判定該向量[A]。
- 如請求項16之處理器,其中該紋理區塊包含一4×4紋理區塊、一5×5紋理區塊、一6×6紋理區塊、一7×7紋理區塊或一8×8紋理區塊。
- 如請求項17之處理器,其中該等RBF中心點係選自由以 下各者組成之一群組:4個、8個、12個、16個或20個中心點。
- 如請求項16之處理器,其中該紋理區塊包含一矩形紋理區塊。
- 如請求項15之處理器,其進一步包含:紋理解壓縮邏輯,其藉由使用該方程式[RDM]*[A]=[T]來判定該向量[T]而解壓縮該紋理區塊。
- 一種機器可讀媒體,其具有儲存於其上之程式碼,該程式碼在由一機器執行時使得該機器執行以下操作:判定一紋理區塊之中的多個紋理區塊紋素中之每一者與置於該紋理區塊的區塊邊緣上的多個點有理基底函數(RBF)中心中之每一者之間的一距離;判定在紋理區塊上取樣之一組紋素色彩值;以及使用該等紋理區塊紋素中之每一者與該等RBF中心點中之每一者之間的該距離及在該紋理區塊上取樣之該組紋素色彩值產生一組近似係數以壓縮該紋理區塊。
- 如請求項21之機器可讀媒體,其包含用以使該機器執行以下各操作之額外程式碼:使用該等紋理區塊紋素中之每一者與該等RBF中心點中之每一者之間的該距離判定一距離矩陣[DM];以及使用一指定類型的RBF及指定形狀參數e p 值來判定該距離矩陣[DM]上的逐個成員RBF值之一RBF矩陣 [RDM]。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/PL2014/000077 WO2016007028A1 (en) | 2014-07-10 | 2014-07-10 | Method and apparatus for efficient texture compression |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201618037A TW201618037A (zh) | 2016-05-16 |
TWI590198B true TWI590198B (zh) | 2017-07-01 |
Family
ID=51300805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104118156A TWI590198B (zh) | 2014-07-10 | 2015-06-04 | 用於有效率的紋理壓縮之方法、處理器及機器可讀媒體 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10140732B2 (zh) |
EP (1) | EP3167433A1 (zh) |
JP (1) | JP6379225B2 (zh) |
KR (1) | KR102071766B1 (zh) |
CN (1) | CN107004280A (zh) |
SG (1) | SG11201610362RA (zh) |
TW (1) | TWI590198B (zh) |
WO (1) | WO2016007028A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10198850B2 (en) * | 2014-09-26 | 2019-02-05 | Intel Corporation | Method and apparatus for filtering compressed textures |
CN106791883A (zh) | 2016-11-18 | 2017-05-31 | 上海兆芯集成电路有限公司 | 纹理砖压缩及解压缩方法以及使用该方法的装置 |
US10874005B2 (en) | 2018-09-04 | 2020-12-22 | Lutron Technology Company Llc | Communicating with and controlling load control systems |
MX2021014192A (es) | 2019-05-20 | 2022-02-11 | Lutron Tech Co Llc | Comunicación con sistemas de control de carga y control de estos. |
EP3973744B1 (en) * | 2019-07-26 | 2024-10-09 | Lutron Technology Company LLC | Configuring color control for lighting devices |
KR20220134848A (ko) * | 2021-03-26 | 2022-10-06 | 삼성전자주식회사 | 그래픽 처리 장치 및 그의 동작 방법 |
US11704860B2 (en) | 2021-05-14 | 2023-07-18 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11853764B2 (en) | 2021-05-14 | 2023-12-26 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11875444B2 (en) * | 2021-05-14 | 2024-01-16 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11830123B2 (en) | 2021-05-14 | 2023-11-28 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
US11908064B2 (en) | 2021-05-14 | 2024-02-20 | Nvidia Corporation | Accelerated processing via a physically based rendering engine |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070076971A1 (en) * | 2005-09-30 | 2007-04-05 | Nokia Corporation | Compression of images for computer graphics |
US9418450B2 (en) * | 2006-08-31 | 2016-08-16 | Ati Technologies Ulc | Texture compression techniques |
US7925087B2 (en) * | 2006-11-14 | 2011-04-12 | Siemens Aktiengesellschaft | Method and system for image segmentation by evolving radial basis functions |
EP2289173B1 (en) * | 2008-05-15 | 2017-10-11 | Koninklijke Philips N.V. | Method, apparatus, and computer program product for compression and decompression of a gene sequencing image |
US8452111B2 (en) * | 2008-06-05 | 2013-05-28 | Microsoft Corporation | Real-time compression and decompression of wavelet-compressed images |
US20090322777A1 (en) * | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Unified texture compression framework |
CN102934428B (zh) * | 2010-12-16 | 2015-08-05 | 北京航空航天大学 | 一种图像压缩中利用人眼视觉模型的小波系数量化方法 |
KR101418096B1 (ko) * | 2012-01-20 | 2014-07-16 | 에스케이 텔레콤주식회사 | 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치 |
GB2503691B (en) * | 2012-07-04 | 2019-08-14 | Advanced Risc Mach Ltd | Methods of and apparatus for encoding and decoding data |
-
2014
- 2014-07-10 WO PCT/PL2014/000077 patent/WO2016007028A1/en active Application Filing
- 2014-07-10 JP JP2016572319A patent/JP6379225B2/ja active Active
- 2014-07-10 SG SG11201610362RA patent/SG11201610362RA/en unknown
- 2014-07-10 EP EP14750022.7A patent/EP3167433A1/en not_active Withdrawn
- 2014-07-10 CN CN201480079739.4A patent/CN107004280A/zh active Pending
- 2014-07-10 KR KR1020167034520A patent/KR102071766B1/ko active IP Right Grant
- 2014-07-10 US US15/300,256 patent/US10140732B2/en active Active
-
2015
- 2015-06-04 TW TW104118156A patent/TWI590198B/zh active
Also Published As
Publication number | Publication date |
---|---|
JP6379225B2 (ja) | 2018-08-22 |
KR102071766B1 (ko) | 2020-03-02 |
EP3167433A1 (en) | 2017-05-17 |
KR20170007373A (ko) | 2017-01-18 |
CN107004280A (zh) | 2017-08-01 |
WO2016007028A1 (en) | 2016-01-14 |
JP2017523507A (ja) | 2017-08-17 |
US10140732B2 (en) | 2018-11-27 |
SG11201610362RA (en) | 2017-01-27 |
US20170154443A1 (en) | 2017-06-01 |
TW201618037A (zh) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI590198B (zh) | 用於有效率的紋理壓縮之方法、處理器及機器可讀媒體 | |
EP3384465B1 (en) | Merging fragments for coarse pixel shading using a weighted average of the attributes of triangles | |
TWI646502B (zh) | 映射多重速率著色至單一程式之技術 | |
US10229468B2 (en) | Automated conversion of GPGPU workloads to 3D pipeline workloads | |
EP3221850B1 (en) | Apparatus and method for efficient frame-to-frame coherency exploitation for sort-last architectures | |
US9412195B2 (en) | Constant buffer size multi-sampled anti-aliasing depth compression | |
TWI601096B (zh) | 用於細分表面的直接和互動式射線追蹤之方法及設備 | |
EP3218875A1 (en) | Compression using index bits in msaa | |
US10410081B2 (en) | Method and apparatus for a high throughput rasterizer | |
US9754342B2 (en) | Method and apparatus for parallel pixel shading | |
US9600926B2 (en) | Apparatus and method decoupling visibility bins and render tile dimensions for tiled rendering | |
US9633452B2 (en) | Resolving multi-sampled anti-aliasing buffers into single sampled buffers | |
US10198850B2 (en) | Method and apparatus for filtering compressed textures | |
WO2016048577A1 (en) | Efficient tessellation cache | |
US9940734B2 (en) | Color transformation using one or multi-dimensional hierarchical lookup table | |
WO2018005110A1 (en) | Method and apparatus for frame buffer compression | |
US20160162340A1 (en) | Power efficient hybrid scoreboard method |