TWI557683B - Mipmap壓縮技術 - Google Patents
Mipmap壓縮技術 Download PDFInfo
- Publication number
- TWI557683B TWI557683B TW104104555A TW104104555A TWI557683B TW I557683 B TWI557683 B TW I557683B TW 104104555 A TW104104555 A TW 104104555A TW 104104555 A TW104104555 A TW 104104555A TW I557683 B TWI557683 B TW I557683B
- Authority
- TW
- Taiwan
- Prior art keywords
- lod
- mipmap
- memory
- difference
- texture image
- Prior art date
Links
- 230000006835 compression Effects 0.000 title claims description 50
- 238000007906 compression Methods 0.000 title claims description 50
- 238000000034 method Methods 0.000 claims description 93
- 238000012545 processing Methods 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 239000000306 component Substances 0.000 description 45
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000001914 filtration Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 239000003086 colorant Substances 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012533 medium component Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- 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
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Generation (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明係有關於MIPMAP壓縮技術。
在電腦圖形中,可藉由首先再現物件之幾何形狀,隨後將紋理圖應用於物件幾何形狀來再現物件。在一些狀況下,物件包括形成網格的多邊形。紋理圖可應於多邊形網格。紋理圖之紋理影像元件可並非具有與電腦螢幕之像素的一對一對應。因此,可對紋理影像元件取樣以便決定電腦螢幕之像素之色彩。
依據本發明之一實施例,係特地提出一種用於獲得壓縮mipmap之方法,該方法包含:擷取一第一細節層次(LOD)之一部分及一差量;使用該第一LOD之該部分預測一第二LOD之一部分;使用該第二LOD之該預測部分及該差量重建該第二LOD。
100‧‧‧計算裝置
102‧‧‧中央處理單元(CPU)
104‧‧‧記憶體裝置
106‧‧‧匯流排
108‧‧‧圖形處理單元(GPU)
110‧‧‧引擎
112‧‧‧驅動器
114‧‧‧顯示介面
116‧‧‧顯示裝置
118‧‧‧I/O裝置介面
120‧‧‧I/O裝置
122‧‧‧儲存裝置
124‧‧‧網路介面控制器(NIC)
126‧‧‧網路
200‧‧‧圖表
202‧‧‧基線LOD1/LOD1
204‧‧‧紋理影像元件之一4x4部分/對應紋理影像元件
204A‧‧‧紋理影像元件1/紋理影像元件
206‧‧‧基線LOD0/LOD0/原始基線LOD0
208‧‧‧紋理影像元件之一8x8部分/紋理影像元件之子8x8部分/原始LOD0 8x8/紋理影像元件
208A‧‧‧紋理影像元件0/基線紋理影像元件
210‧‧‧預測LOD0/LOD0p
212‧‧‧紋理影像元件之預測子8x8部分/紋理影像元件之預測8x8
部分/所需LOD0紋理影像元件/預測LOD0紋理影像元件/紋理影像元件
212A‧‧‧預測紋理影像元件/預測LOD0紋理影像元件
214‧‧‧差量LOD0d/LOD0d
216‧‧‧紋理影像元件之差量8x8部分
216A‧‧‧差量紋理影像元件
300‧‧‧裝置
302‧‧‧LOD1
304‧‧‧LOD0
308‧‧‧紋理影像元件之LOD1 4x4部分
400、500‧‧‧方法
402~420、458、460、502~508‧‧‧方塊
450‧‧‧有形非暫時性電腦可讀媒體
452‧‧‧處理器
454‧‧‧電腦匯流排
456‧‧‧預測模組
600‧‧‧BC-1格式
650‧‧‧BC-2格式
700‧‧‧系統
702‧‧‧平臺
704‧‧‧顯示器
706‧‧‧內容服務裝置
708‧‧‧內容遞送裝置
710‧‧‧導航控制器
712‧‧‧晶片組
714‧‧‧圖形子系統
716‧‧‧無線電
718‧‧‧使用者介面
720‧‧‧應用程式
800‧‧‧小形狀因子裝置/裝置
802‧‧‧外殼
804‧‧‧顯示器
806‧‧‧輸入/輸出(I/O)裝置
808‧‧‧天線
810‧‧‧顯示單元
812‧‧‧導航特徵
圖1為計算裝置的方塊圖,該計算裝置可執行mipmap
壓縮;圖2為例示細節層次(LOD)預測的圖表;圖3例示用於差量及LOD在裝置上之有效儲存的方案;圖4A為用於預處理LOD對之方法的過程流程圖;圖4B為展示有形非暫時性電腦可讀媒體的方塊圖,該有形非暫時性電腦可讀媒體儲存用於mipmap壓縮的碼。
圖5為用於自記憶體擷取LOD資料之方法的過程流程圖;圖6A例示以BC-1格式的壓縮LOD 4x4區塊;圖6B例示以BC-2格式的壓縮LOD 4x4區塊;圖7為執行mipmap壓縮之示範性系統700的方塊圖;以及圖8為小形狀因子裝置之示意圖,圖7之系統可具體現於該小形狀因子裝置中。
本揭示案及圖式自始至終使用相同編號來指代相同組件及特徵。100系列中之編號指代最初在圖1中所見之特徵;200系列中之編號指代最初在圖2中所見之特徵;諸如此類。
為計算用於電腦螢幕之像素的色彩值,對紋理圖之區域取樣。在一些狀況下,紋理圖之最小單元被稱為紋理影像元件。所取樣的紋理圖之區域取決於像素之形狀,且可被稱為像素覆蓋區。對於每一像素,用以計算像素色
彩的所取樣區域在形狀及紋理影像元件之數目方面可改變。在一些狀況下,藉由螢幕像素取樣的紋理影像元件之數目取決於每一紋理映射多邊形距螢幕像素之距離,以及每一紋理映射多邊形相對於螢幕像素之角度。用來決定每一螢幕像素之色彩的紋理影像元件可經濾波,以便改良所得影像之品質。即使在所取樣紋理經濾波時,所得影像亦可包括不合需要的失真及假影,亦稱為混淆。
諸如雙線性濾波及三線性濾波的濾波技術為等向的,因為兩者技術以一致方式對紋理映射多邊形取樣,其中區域之形狀在所有方向上相同。具體而言,雙線性濾波藉由使最近四個紋理影像元件內插至藉由像素取樣的紋理映射多邊形之區域中之像素中心來決定像素之色彩。三線性濾波在兩個最近小空間中之多數(Multum in parvo)映射(mipmap)層次上使用雙線性濾波,且隨後內插該等結果以決定像素色彩。Mipmap可用來減少混淆且提高再現速度。在一些狀況下,mipmap為經最佳化以用於在再現影像中之不同深度處使用的影像之預計算集合。細節層次(LOD)表示mipmap內的預濾波影像,其中每一LOD在影像之不同深度處。
每當在使用三線性濾波時將紋理應用至再現幾何形狀上時,適當LOD經自記憶體擷取,經濾波,且隨後經應用至再現幾何形狀上。擷取紋理可將顯著重負強加於系統輸入/輸出(I/O)上,因為應用程式通常使用大量紋理及mipmap。即使紋理通常經有損壓縮,此舉可緩和I/O瓶頸,
亦通常將未壓縮紋理用來避免通常使用壓縮紋理觀察到的視覺降級。使用未壓縮紋理可加重記憶體I/O瓶頸,且最終損害再現效能。
本文所描述之實施例允許mipmap壓縮。可自記憶體擷取第一LOD及差量。隨後使用第一LOD及差量計算第二LOD。在一些狀況下,第一LOD及差量之一部分係儲存在相同快取列中且在相同時間自記憶體擷取。使用第一LOD之該部分計算或預測第二LOD中與第一LOD之該部分相關的一部分。隨後使用第二LOD之計算預測及差量產生第二LOD。
以此方式,當mipmap LOD之相關存在時,可將此相關用來達成高度的紋理mipmap壓縮。自系統記憶體擷取一個LOD,及隨後允許硬體再製相同mipmap之另一LOD允許將要以有損方式進行的LOD再製。在後續遍中,紋理取樣器硬體可自記憶體擷取再製LOD與原始LOD之間的差量,以便最終達成原始LOD之無損再製。因此,自記憶體擷取大LOD實質上由LOD之有損飛行中(on-the-fly)再製替代,隨後自記憶體擷取該LOD之差量且使用該LOD之有損再製來達成無損LOD再製。考慮到相同mipmap之LOD之色彩通常相關,LOD色彩差量可通常足夠小,以被儲存在比原始LOD較少的位元中。因此,本技術可通常達成I/O帶寬之顯著減少,同時亦改良圖形處理單元(GPU)及系統記憶體功率消耗及效能。
在以下描述及申請專利範圍中,可使用「耦接」及「連
接」等詞以及其衍生詞。應理解,此等詞並非意欲作為用於彼此之同義詞。實情為,在特定實施例中,「連接」可用來指示兩個或兩個以上元件處於彼此直接實體接觸或電氣接觸狀態中。「耦接」可意味,兩個或兩個以上元件處於直接實體接觸或電氣接觸狀態中。然而,「耦接」亦可意味,兩個或兩個以上元件並未處於彼此直接接觸狀態中,但是仍然彼此合作或交互。
一些實施例可實行於硬體、韌體及軟體之一者或組合中。一些實施例亦可實行為儲存於機器可讀媒體上之指令,該媒體可藉由計算平臺讀取及執行來進行本文所描述之操作。機器可讀媒體可包括用於儲存或傳輸可由機器(例如,電腦)讀取之形式的資訊之任何機構。例如,機器可讀媒體可包括唯讀記憶體(ROM);隨機存取記憶體(RAM);磁碟儲存媒體;光儲存媒體;快閃記憶體裝置;或電氣、光學、聲學或其他形式之傳播信號(例如,載波、紅外線信號、數位信號)或傳輸及/或接收信號之介面及其他。
一實施例為一實行方案或實例。說明書中對「一實施例」、「一個實施例」、「一些實施例」、「各種實施例」或「其他實施例」之提及意味相關於該等實施例所描述之特定特徵、結構或特性至少包括在本技術之一些實施例中,但並不一定包括在本技術之所有實施例中。各處出現的「一實施例」、「一個實施例」或「一些實施例」並不一定均指代相同實施例。來自一實施例之元件或態樣可與另一實施例之元件或態樣組合。
本文所描述及例示之組件、特徵、結構、特性等
等並非均需包括在一或多個特定實施例中。若本說明書載明「可能」、「或許」、「能夠」或「可」包括一組件、特徵、結構或特性,則並不需要包括該特定組件、功能、結構或特徵。若本說明書或申請專利範圍提及「一(a/an)」要素,則並不意味僅存在一個該要素。若本說明書或申請專利範圍提及「一額外」要素,則並不排除存在一個以上之額外要素。
應注意的是,儘管已參考特定實行方案描述一些實施例,但根據一些實施例,其他實行方案係可能的。另外,圖式中所例示及/或本文所描述之電路元件或其他特徵的佈置及/或次序並不需要以例示及描述之特定方式佈置。根據一些實施例,諸多其他佈置係可能的。
在圖式中示出之每一系統中,在一些狀況下,該等元件可各自具有相同參考編號或不同參考編號來表明所表示元件可能不同及/或類似。然而,一元件可足夠靈活以具有不同實行方案,且與本文示出或描述之一些系統或全部系統一起工作。圖式中示出之各種元件可為相同的或不同的。何者稱為第一元件以及何者稱為第二元件係任意的。
圖1為計算裝置100的方塊圖,該計算裝置可執行mipmap壓縮。計算裝置100可為例如膝上型電腦、桌上型電腦、超極致筆電(ultrabook)、平板電腦、行動裝置或伺服器及其他。計算裝置100可包括經組配來執行所儲存指令的中央處理單元(CPU)102,以及儲存可由CPU 102執行之指令的記憶體裝置104。CPU可耦接藉由匯流排106至記憶體裝
置104。另外,CPU 102可為單核心處理器、多核心處理器、計算聚集或任何數目之其他組態。CPU可包括快取記憶體。此外,計算裝置100可包括一個以上CPU 102。
計算裝置100可亦包括圖形處理單元(GPU)108。如所示出,CPU 102可經由匯流排106耦接至GPU 108。在實施例中,GPU 108嵌入CPU 102中。GPU可包括快取記憶體,且可經組配來在計算裝置100內進行任何數目之圖形操作。例如,GPU 108可經組配來再現或操縱將要顯示給計算裝置100之使用者的圖形影像、圖形圖框、視訊等。GPU 108包括多個引擎110。在實施例中,引擎110可用來進行mipmap壓縮。在一些狀況下,引擎包括取樣器單元,該取樣器單元可被稱為取樣器。取樣器為GPU中自mipmap取樣將要應用於物件幾何形狀之紋理的一部分。取樣器可為硬體單元或軟體區塊。
記憶體裝置104可包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體或任何其他適合的記憶體系統。例如,記憶體裝置104可包括動態隨機存取記憶體(DRAM)。記憶體裝置104可亦包括驅動器112。在實施例中,將儲存在記憶體中的mipmap作為目標以用於壓縮,從而利用通常存在於相同mipmap之不同LOD之間的色彩相關。儘管本技術係關於未壓縮紋理予以論述,但本技術亦可應用於壓縮紋理。具體而言,諸如BC-1或BC-2的許多壓縮紋理格式含有與基色或阿爾法(alpha)有關的資訊,該等基色或阿爾法如未壓縮紋理色彩將通常跨LOD具有相同相
關度。因此,本技術可應用於跨LOD展現色彩相關的任何資料格式。
使用相同mipmap之不同LOD之間的相關將預測及重建應用於相同mipmap之LOD,以更有效地壓縮mipmap,減少I/O帶寬且改良GPU功率/效能。許多圖形應用程式傾向於使用大量紋理及mipmap,此舉通常對平臺之I/O性能加壓且可引入效能瓶頸。為緩和該情況,通常使用壓縮紋理,但較佳壓縮通常意味有損壓縮。最初,本文所描述之預測及重建達成LOD之有損重建。有損紋理壓縮可引入視覺假影,且因此使用者通常選擇使用未壓縮紋理,此舉更可能創建I/O有關的效能瓶頸。此外,對於諸如區塊壓縮(BC)及適應性可縮放紋理壓縮(ASTC)的不同壓縮格式的支援跨平臺破碎,且使用者通常選擇使用未壓縮紋理以確保跨所有平臺使用該等使用者之應用程式。藉由加上LOD差量或殘餘,可達成原始mipmap之無損重建。在一些狀況下,當將本技術應用於未壓縮靜態紋理時,可達成50%壓縮至75%壓縮。壓縮mipmap之使用可達成進一步紋理壓縮。
CPU 102可經由匯流排106連結至顯示介面114,該顯示介面經組配來將計算裝置100連接至顯示裝置116。顯示裝置116可包括顯示螢幕,該顯示螢幕為計算裝置100之內建式組件。顯示裝置116可亦包括在外部連接至計算裝置100的電腦監視器、電視或投影機及其他。
CPU 102可亦經由匯流排106連接至I/O裝置介面
118,該I/O裝置介面經組配來將計算裝置100連接至一或多個I/O裝置120。I/O裝置120可包括例如鍵盤及指向裝置,其中指向裝置可包括觸控板或觸控螢幕及其他。I/O裝置120可為計算裝置100之內建式組件,或可為在外部連接至計算裝置100的裝置。
計算裝置亦包括儲存裝置122。儲存裝置122為諸如硬驅動機、光學驅動機、拇指驅動機、驅動機陣列或上述驅動機之任何組合的實體記憶體。儲存裝置122可亦包括遠端儲存驅動機。計算裝置100可亦包括網路介面控制器(NIC)124,該網路介面控制器經組配來經由匯流排106將計算裝置100連接至網路126。網路126可廣域網路(WAN)、區域網路(LAN)或網際網路及其他。
圖1之方塊圖並非意欲指示計算裝置100將包括圖1中示出之所有組件。此外,計算裝置100可包括圖1中未示出之任何數目的額外組件,取決於特定實行方案之細節。
如以上所論述,mipmap通常在三線性紋理濾波中用來減少混淆。mipmap包括任何數目之LOD,且每一LOD可為位元映像影像。可自1至N編號每一mipmap,其中N為mipmap之總數。通常,LOD0為最大LOD,接著為LOD1、LOD2等。當將紋理應用於再現幾何形狀時,選擇LOD之適當對,諸如LOD0及LOD1,取決於再現幾何形狀之深度。將應用紋理所在的幾何形狀之深度在mipmap對之紋理影像元件之深度之間。例如,可基於當前正在著色的像素之定位在LOD0中選擇紋理影像元件之一部分,且可對此等紋理
影像元件進行線性濾波。使用LOD1之紋理影像元件之一部分重複相同過程。對藉由濾波LOD0之該部分及LOD1之該部分產生的色彩進行線性內插。在一些狀況下,該等部分可為紋理影像元件之2x2子跨距。儘管本技術係使用LOD0/LOD1對予以描述,但相同技術可應用於mipmap中之所有其他LOD對,諸如LOD1/LOD2、LOD2/LOD3等。
圖2為例示LOD預測的圖表200。正方形表示基線LOD1 202。LOD1 202包括紋理影像元件之一4x4部分204。紋理影像元件之該4x4部分204位於LOD1 202之左上角處。另一較大正方形表示基線LOD0 206。基線LOD0 206包括紋理影像元件之一8x8部分208。紋理影像元件之該8x8部分208位於LOD0 206之左上角處。如本文所使用,LOD之基線版本為LOD之壓縮或未壓縮的全部典型版本。
當將LOD1 202之紋理影像元件204之該4x4部分與LOD0 206之紋理影像元件之該8x8部分208進行比較時,紋理影像元件之該8x8部分208之色彩可與紋理影像元件之該4x4部分204相關。因此,紋理影像元件1 204A可與紋理影像元件0 208A相關。在一些狀況下,紋理影像元件0 208A可進一步分成與紋理影像元件1 204A之片段相關的片段。
當紋理取樣器將對LOD0/LOD1對進行任何濾波技術時,取樣器擷取紋理影像元件之該4x4部分204。取樣器使用LOD1 202之紋理影像元件之所擷取4x4部分204來進行LOD0 206之紋理影像元件之子8x8部分208之有損預測。因此,另一正方形表示預測LOD0 210,具有紋理影像元件
之預測子8x8部分212。紋理影像元件之預測子8x8部分212包括預測紋理影像元件212A。
取樣器亦自記憶體擷取用於LOD0 206之紋理影像元件之該8x8部分208的預計算差量或殘餘,且與紋理影像元件之預測8x8部分212一起使用該等預計算差量或殘餘以無損地產生該取樣器需要來進行傳統紋理取樣的原始LOD0 8x8 208。因此,正方形表示差量LOD0d 214,具有紋理影像元件之差量8x8部分216。紋理影像元件之差量8x8部分216包括差量紋理影像元件216A。一旦已自記憶體擷取LOD1 202之紋理影像元件204之該部分及差量紋理影像元件216A,即可無損地產生紋理影像元件之該8x8部分208且紋理濾波可正常地繼續進行。因此,取樣器自記憶體擷取LOD0差量且隨後局部計算LOD0色彩資訊之剩餘部分。
當啟動圖形應用程式時,可自記憶體加載或由驅動器計算本文所描述之靜態紋理mipmap。使用圖2作為一實例,假定應用程式將再現具有介於由LOD0 206及LOD1 202表示的深度之間的深度之紋理。為簡單起見,僅示出LOD0 206及LOD1 202,然而mipmap可包括任何數目之LOD。在一些狀況下,LOD可在應用程式之運行時間自記憶體加載或由驅動器計算。驅動器隨後可預處理mipmap以便產生由LOD0p 210表示的LOD0之預測。使用LOD1 202之紋理影像元件之該4x4部分204作為種子來計算LOD0p 210。可通常自LOD1 202之紋理影像元件之該4x4部分204近似地預測LOD0p 210之紋理影像元件之預測子8x8部分212,因為該
等部分之色彩通常相關。具體而言,基線紋理影像元件208A包括LOD0 206之片段紋理影像元件0(0,0)、紋理影像元件0(0,1)、紋理影像元件0(1,0)及紋理影像元件0(1,1),該等片段可能持有與LOD1 202之包括紋理影像元件1(0,0)的紋理影像元件204A類似的色彩值。可使用各種預測演算法。演算法「愈聰明」,預測可愈精確。無論何種預測演算法,此預測將可能為有損的。換言之,此預測將不能在100%精確度的情況下預測所需LOD0紋理影像元件212。
例如,簡單預測方案將假定包括片段紋理影像元件0p(0,0)、紋理影像元件0p(0,1)、紋理影像元件0p(1,0)及紋理影像元件0p(1,1)的預測LOD0紋理影像元件212A中之每一者與包括片段紋理影像元件1(0,0)的紋理影像元件204A相同。因此,紋理影像元件0p(0,0)=紋理影像元件1(0,0)
紋理影像元件0p(0,1)=紋理影像元件1(0,0)
紋理影像元件0p(1,0)=紋理影像元件1(0,0)
紋理影像元件0p(1,1)=紋理影像元件1(0,0)
此預測方案如此簡單,當與LOD0與LOD1之間的實際色彩相關相比時,該預測方案具有相對接近之可能性,因為預測LOD0紋理影像元件212通常與LOD1之對應紋理影像元件204相關。然而,亦可使用更精細的預測方案。
一旦驅動器已在圖形應用程式之運行時間或啟動時間產生預測LOD0p 210,該驅動器隨後即可自原始基線LOD0 206減去LOD0p 210中之色彩值。驅動器隨後可產
生由LOD0d 214例示的LOD差量值。換言之:紋理影像元件0d(0,0)=紋理影像元件0p(0,0)-紋理影像元件0(0,0)
紋理影像元件0d(0,1)=紋理影像元件0p(0,1)-紋理影像元件0(0,1)
紋理影像元件0d(1,0)=紋理影像元件0p(1,0)-紋理影像元件0(1,0)
紋理影像元件0d(1,1)=紋理影像元件0p(1,1)-紋理影像元件0(1,1)
因為LOD色彩通常相關,所以極可能的是,以上所計算的差量紋理影像元件值將為可適合相對於用來儲存原始LOD0的位元的較少位元的小值。例如,R8G8B8A8_UNORM為共用紋理格式,其中紅色、綠色、藍色及阿爾法值中之每一者儲存在一個位元組(8個位元)中。因此,使用R8G8B8A8_UNORM紋理格式,圖1中之LOD0 206之每一紋理影像元件208在儲存於記憶體中時將為4個位元組大。類似地,LOD0p 210之每一紋理影像元件212將亦為4個位元組大。然而,驅動器將不將此等LOD0 206或LOD0p 210儲存在記憶體中,實情為,當產生LOD差量時,將LOD0 206及LOD0p 210使用於中間步驟中。所得LOD0d 214將每紅色、綠色、藍色及阿爾法通道使用例如0-4位元,該所得LOD0d持有『差量』色彩值,而非絕對色彩值。因此,當將LOD0d 214儲存於記憶體中時,該LOD0d將通常經更密集地儲存且可相對於原始LOD0 206跨越顯著
減少數目之位元組或快取列。
當驅動器預處理圖2中之LOD0 206時,該驅動器可嘗試用於LOD0 206的一系列LOD預測方案,且最終選取將能夠提供LOD0 206至LOD0d 214中的最高層次之壓縮的預測方案。在一些狀況下,在於驅動器之處理中嘗試所有各種LOD預測方案之後,該驅動器可能不能夠使用任何預測方案達成用於LOD0 206的可接受壓縮,在此狀況下,全部LOD預測/壓縮方案將對於此特定mipmap中止。驅動器將旨在預測/壓縮盡可能多的mipmap,即使該驅動器可能不能夠壓縮應用程式意欲使用的mipmap之整個範圍。
雖然驅動器可在應用程式啟動時花費一定量之時間以進行以上所描述之mipmap預處理,但此可限於可為使用者可接受的最大允時間視窗。換言之,驅動器不需要預測/壓縮應用程式可使用的每一個mipmap。替代地,驅動器可僅壓縮充分少量的mipmap,使得預處理此等mipmap所需要的起動潛時並未在啟動時強加使用者將值得注意的過度長的潛時。即使預處理且壓縮mipmap之子集,該情況相對於完全不壓縮mipmap的基線狀況將仍在運行時間提供功率消耗及效能益處。
至驅動器在應用程式啟動時進行預處理所有mipmap(或所有mipmap之子集)時,該驅動器將知道此等mipmap中之哪些可經壓縮及藉由使用可利用的LOD預測方法中之哪一種方法。此資訊保存在適當資料結構中且傳遞至GPU。為確保最大I/O效率,LOD對(例如LOD0/LOD1、
LOD1/LOD2等)經儲存在相同快取列中且一起經擷取。因此,取樣器可避免必須存取單獨快取列以擷取LOD1紋理影像元件且存取單獨快取列以擷取LOD0d資訊。
圖3例示用於差量及LOD在裝置300上之有效儲存的示例性方案。裝置300可為儲存器或記憶體裝置。LOD1 302及LOD0 304表示通常在LOD自記憶體之傳統擷取期間自記憶體擷取的LOD0/LOD1對。快取記憶體由被稱為快取列的一或多個固定大小區塊組成。在許多狀況下,將紋理影像元件之每一LOD0或LOD1 4x4部分儲存於64-位元組快取列中。因此,一親代LOD1 4x4及四個子LOD0 4x4將跨越值得儲存的五個快取列。
使用本文所述之技術,紋理影像元件之LOD0 8x8部分310將被儲存在記憶體中作為一組預計算差量,由LOD0d 8x8指示。在許多狀況下,色彩差量將為小值。因此,紋理影像元件之LOD0d 8x8部分需要記憶體儲存器之少於四個快取列。此外,紋理影像元件之LOD1 4x4部分308可使用諸如將LOD變換至用於每一紋理影像元件的基色及係數的習知色彩壓縮技術之一以獨立方式加以壓縮。以此方式,所擷取LOD1 4x4可佔據少於一個快取列。在此情況下,可將LOD1 4x4 308及其「子」LOD0d 8x8一起儲存在少於五個快取列中,取決於對於特定紋理影像元件可能達成的壓縮度。此外,可將對作為一個單元或區塊一起儲存在記憶體中。當取樣器擷取LOD0/LOD1對時,該取樣器將自記憶體擷取較少快取列,該記憶體含有LOD1 4x4及
LOD0d 8x8之壓縮對。在一些狀況下,擷取少於五個快取列,而當壓縮為不可能時,擷取五個未壓縮的基線快取列。在大多數狀況下,此導致系統記憶體I/O帶寬之減少。
在實施例中,控制表面用來決定快取列之數目以針對每一LOD/差量對擷取。例如,取樣器可存取控制表面以決定該取樣器需要針對未壓縮LOD對擷取的五個快取列是否相反要求擷取壓縮LOD0d/LOD1快取列之較少快取列。控制表面可包括紋理影像元件之LOD1 4x4部分及紋理影像元件之LOD0 8x8部分之每對兩個或三個位元,以指示壓縮快取列之數目以自記憶體擷取。在實例中,控制表面自身為充分小的資料結構以適合處理器快取記憶體或積體電路(IC)封裝快取記憶體。因此,控制表面之大小可為幾千位元組。以此方式,存取控制表面位元之時間或功率成本通常為低的。
本技術可減少mipmap之記憶體覆蓋區。每一LOD通常經儲存(以壓縮格式)兩次。例如,LOD1將經儲存為LOD0d/LOD1對之部分,亦儲存為LOD1d/LOD2對之部分。通常假定,使用本技術所達成的壓縮將為至少50%,至少以50%壓縮率將每一LOD儲存在記憶體中兩次意味,mipmap所需要的整個記憶體覆蓋區在最壞狀況情況下將保持與傳統技術相同。更通常,本技術達成75%壓縮率,此意味記憶體覆蓋區之大小將最可能收縮。
圖4A為用於預處理LOD對之方法400的過程流程圖。在一些狀況下,當啟動應用程式時,驅動器用來預
處理紋理mipmap之LOD對。驅動器可亦預處理LOD對之子集。因此,在方塊402處,方法400在應用程式啟動時經執行且隨後處理該應用程式將在執行期間使用的所有靜態紋理mipmap(1、2、...、N最大)或靜態紋理mipmap(1、2、...、N最大)之子集,其中最多N個mipmap經處理。此外,選擇一系列LOD預測方法(1、2、...、M最大),其中將使用最多M個預測方法。
在方塊404處,掃描當前mipmap N。掃描mipmap決定mipmap之每一LOD及當前mipmap之LOD之編號(i)。在方塊406處,使用當前預測方法M產生預測LOD(LODpi)。預測方法可為目前已知或未來開發的任何預測方法。在方塊408處,針對當前mipmap N之每一LOD計算差量LOD(LODdi)。
在方塊410處,判定當前預測方法M是否小於M最大。若當前預測方法M小於M最大,則過程流程繼續方塊412。若當前預測方法M不小於M最大,則過程流程繼續方塊414。在方塊412處,使當前預測方法M增值1(M=M+1),使得將每一預測方法M應用於當前mipmap N。過程流程隨後返回至方塊406以將下一個預測方法M應用於mipmap N。
在方塊414處,記錄產生當前mipmap N之最佳預測的預測方法M。在一些狀況下,最佳預測方法可為找到LOD對之間最高量之相關的預測方法。另外,在一些狀況下,最佳預測方法可為找到LOD對之間可儲存在最小量之空間中的相關的預測方法。每一LODdi及LODdi+1對係使用
最佳預測方法儲存在記憶體中。此外,針對當前mipmap N產生控制表面。達成最佳壓縮的預測方法經識別且記錄,因此可將該預測方法連同對應控制表面一起傳遞至取樣器。
在方塊416處,判定當前mipmap N是否小於N最大。若當前mipmap N小於N最大,則過程流程繼續方塊418。若當前mipmap N不小於N最大,則過程流程繼續方塊420。在方塊418處,使當前mipmap N增值1(N=N+1),使得預處理每一mipmap N。過程流程隨後返回至方塊404以掃描下一個mipmap N。在方塊420處,驅動器預處理結束且應用程式啟動繼續。
圖4B為展示有形非暫時性電腦可讀媒體450的方塊圖,該有形非暫時性電腦可讀媒體儲存用於mipmap壓縮之碼。有形非暫時性電腦可讀媒體450可由處理器452經由電腦匯流排454存取。此外,有形非暫時性電腦可讀媒體450可包括經組配來指導處理器452進行本文所描述之方法的碼。
本文所論述之各種軟體組件可儲存在一或多個有形非暫時性電腦可讀媒體450上,如在圖4B中所指示。例如,預測模組456可經組配來掃描mipmap,且使用mipmap之每一LOD選擇最佳預測方法。在方塊458處,殘餘模組可經組配來使用最佳預測方法計算用於每一LOD的差量。在方塊460處,維護模組可將用於每一LOD的差量與對應LOD一起儲存在記憶體中。
圖4B之方塊圖並非意欲指示有形非暫時性電腦可讀媒體450包括圖4B中示出之所有組件。另外,有形非暫時性電腦可讀媒體450可包括圖4B中未示出之任何數目之額外組件,取決於特定實行方案之細節。例如,有形非暫時性電腦可讀媒體450可包括用以執行如由圖5所示之方法500的組件。
圖5為用於自記憶體擷取LOD資料之方法500的過程流程圖。在一些狀況下,LOD資料係由取樣器擷取。在方塊502處,自記憶體擷取控制表面LODdi及LODdi+1。在一些狀況下,LODdi及LODdi+1為自記憶體擷取的快取列。在方塊504處,自LODdi+1預測LODpi紋理影像元件。在方塊506處,對LODdi及LODpi求各以計算LODdi紋理影像元件。在方塊508處,將LODdi及LODdi+1紋理影像元件使用於濾波操作中。
在一些狀況下,方法500係由取樣器方塊在飛行中執行,因為紋理影像元件需要在執行時間自不同mipmap擷取且經濾波。取樣器擷取含有LODi+1及LODdi(差量)紋理影像元件的壓縮快取列。取樣器將亦產生預測LODpi紋理影像元件且將該等預測LODpi紋理影像元件加至LODdi差量值,以產生原始LODi紋理影像元件。一旦產生原始LODi紋理影像元件,取樣器將正常地繼續進行紋理影像元件濾波。因此,當產生全部LOD對時,可使用典型濾波技術處理所產生的全部LOD對。
儘管已使用未壓縮紋理描述本技術,但可將相同
LOD預測及壓縮方案應用於壓縮紋理格式,諸如BC-1格式及BC-2格式。圖6A例示以BC-1格式600的壓縮LOD1 4x4區塊。圖6B例示以BC-2格式650的壓縮LOD1 4x4區塊。在圖6A及圖6B中,含於壓縮LOD1 4x4區塊之第一四個位元組(圖6A)或含於第一12個位元組(圖6B)中的阿爾法及參考色彩資訊可用來預測『子』LOD0 8x8之參考色彩及阿爾法值。通常,mipmap中之不同LOD之參考色彩及阿爾法值在BC-1格式及BC-2格式中相關。因此,LOD1 4x4區塊之參考色彩及阿爾法值可用來有損地預測對應LOD0 8x8區塊之參考色彩及阿爾法值。隨後,進行有損預測自原始LOD0 8x8區塊之減法以決定差量。稍後將此等差量加至有損預測以無損地再製原始LOD0 8x8區塊之參考色彩或阿爾法值。有損預測由取樣器在飛行中進行。以此方式,可進一步壓縮以壓縮紋理格式儲存的mipmap。可使用本技術針對未壓縮紋理獲得的50%至75%之較高壓縮率亦適用於壓縮紋理。具體而言,高壓縮率適用於壓縮紋理之參考色彩及阿爾法位元組,而非係數位元組。因此,在整個壓縮區塊上達成的平均壓縮將通常小於我們先前所見的50%至75%。
圖7為執行mipmap壓縮之示範性系統700的方塊圖。相同編號項如關於圖1所描述。在一些實施例中,系統700為媒體系統。另外,系統700可併入至個人電腦(PC)、膝上型電腦、超膝上型電腦、伺服器電腦、平板電腦、觸控板、可攜式電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、蜂窩式電話、組合蜂窩式電話/PDA、電視、
智慧裝置(例如,智慧電話、智慧平板或智慧電視)、行動網際網路裝置(MID)、通信報裝置、資料通訊裝置、列印裝置、嵌入式裝置等中。
在各種實施例中,系統700包含耦接至顯示器704之平臺702。平臺702可自內容裝置接收內容,該內容裝置諸如一或多個內容服務裝置706或一或多個內容遞送裝置708或其他類似內容資源。包括一或多個導航特徵之導航控制器710可用來與例如平臺702及/或顯示器704交互。以下更為詳細地描述此等組件中之每一者。
平臺702可包括晶片組712、中央處理單元(CPU)102、記憶體裝置104、儲存裝置122、圖形子系統714、應用程式720及無線電716之任何組合。晶片組712可提供CPU 102、記憶體裝置104、儲存裝置122、圖形子系統714、應用程式720及無線電716之間的相互通訊。例如,晶片組712可包括能夠提供與儲存裝置122之相互通訊的儲存配接器(未示出)。
CPU 102可實行為複雜指令集電腦(CISC)處理器或精簡指令集電腦(RISC)處理器、x86指令集相容處理器、多核心或任何其他微處理器或中央處理單元(CPU)。在一些實施例中,CPU 102包括一或多個多核心處理器、一或多個多核心行動處理器等。記憶體裝置104可實行為依電性記憶體裝置,諸如但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或靜態RAM(SRAM)。儲存裝置122可實行為非依電性儲存裝置,諸如但不限於磁碟驅動機、光
碟驅動機、磁帶驅動機、固態驅動機、內部儲存裝置、附接儲存裝置、快閃記憶體、電池備份SDRAM(同步DRAM)及/或網路可存取儲存裝置。在一些實施例中,例如,在包括多個硬驅動機時,儲存裝置122包括用以增加用於有價值的數位媒體之儲存效能增強型保護的技術。
圖形子系統714可進行諸如靜止影像或視訊影像之處理以用於顯示。圖形子系統714可例如包括諸如GPU 108之圖形處理單元(GPU)或視覺處理單元(VPU)。類比或數位介面可用來通訊地耦接圖形子系統714與顯示器704。例如,介面可為高清晰度多媒體介面、顯示埠、無線HDMI及/或無線HD順應性技術中之任一者。圖形子系統714可整合至CPU 102或晶片組712中。或者,圖形子系統714可為通訊地耦接至晶片組712之獨立卡。
本文所描述之圖形及/或視訊處理技術可以各種硬體架構來實行。例如,圖形及/或視訊功能性可整合於晶片組712中。或者,可使用離散圖形及/或視訊處理器。作為又一實施例,圖形及/或視訊功能可藉由包括多核心處理器之通用處理器實行。在另一實施例中,該等功能可在消費者電子裝置中實行。
無線電716可包括能夠使用各種適合的無線通訊技術傳輸及接收信號的一或多個無線電。此類技術可涉及跨一或多個無線網路之通訊。示範性無線網路包括無線區域網路(WLAN)、無線個人區域網路(WPAN)、無線都會區網路(WMAN)、胞狀網路、衛星網路等。在跨於此等網路
之通訊中,無線電716可根據任何版本之一或多個適用標準來操作。
顯示器704可包括任何電視型監視器或顯示器。例如,顯示器704可包括電腦顯示螢幕、觸控螢幕顯示器、視訊監視器、電視等。顯示器704可為數位及/或類比顯示器。在一些實施例中,顯示器704為全像顯示器。此外,顯示器704可為可接收視覺投影之透明表面。此類投影可傳送各種形式之資訊、影像、物件等。例如,此類投影可為用於行動擴增實境(MAR)應用的視覺覆蓋。在一或多個應用程式720之控制下,平臺702可在顯示器704上顯示使用者介面718。
一或多個內容服務裝置706可藉由任何國家、國際或獨立服務託管,且因此可經由例如網際網路供平臺702存取。一或多個內容服務裝置706可耦接至平臺702及/或顯示器704。平臺702及/或一或多個內容服務裝置706可耦接至網路126來傳達(例如,發送及/或接收)媒體資訊至網路126以及傳達來自該網路之媒體資訊。一或多個內容遞送裝置708亦可耦接至平臺702及/或顯示器704。
一或多個內容服務裝置706可包括有線電視盒、個人電腦、網路、電話或能夠遞送數位資訊之網際網路允用裝置。此外,一或多個內容服務裝置706可包括任何其他類似裝置,該等裝置能夠單向地或雙向地經由網路126或直接地在內容提供者與平臺702或顯示器704之間傳達內容。將瞭解的是,內容可經由網路126單向及/或雙向傳達至系
統700中之組件及內容提供者中之任一者,以及傳達來自該任一者之內容。內容之實例可包括任何媒體資訊,包括例如視訊、音樂、醫學及遊戲資訊等。
一或多個內容服務裝置706可接收諸如有線電視節目編排之內容,包括媒體資訊、數位資訊或其他內容。內容提供者之實例可包括任何有線電視或衛星電視或無線電或網際網路內容提供者及其他。
在一些實施例中,平臺702接收來自導航控制器710之控制信號,該導航控制器包括一或多個導航特徵。導航控制器710之導航特徵可用來例如與使用者介面718交互。導航控制器710可為一指向裝置或一觸控螢幕裝置,該指向裝置或該觸控螢幕裝置可為允許使用者來輸入空間(例如,連續及多維)資料至電腦中的電腦硬體組件(具體而言為人性化介面裝置)。許多系統諸如圖形使用者介面(GUI)及電視以及監視器允許使用者使用身體姿勢來控制且提供資料至電腦或電視。身體姿勢包括但不限於面部表情、面部運動、各種肢體運動、身體運動、身體語言或其任何組合。此類身體姿勢可經識別及變換為命令或指令。
導航控制器710之導航特徵的運動可藉由在顯示器704上顯示的指針、光標、聚焦環或其他視覺指示器之運動而在顯示器704上呼應。例如,在應用程式720之控制下,位於導航控制器710上之導航特徵可映射至使用者介面718上顯示的虛擬導航特徵。在一些實施例中,導航控制器710可不是單獨組件,而實情為可整合至平臺702及/或顯示器
704中。
系統700可包括驅動器(未示出),該等驅動器包括例如當啟用時用於允許使用者在首次啟動後藉助於觸摸按鈕來即刻接通及斷開平臺702的技術。程式邏輯可允許平臺702在該平臺「斷開」時將內容串流傳遞至媒體配接器或一或多個其他內容服務裝置706或一或多個內容遞送裝置708。此外,晶片組712可包括例如用於環場音效音訊及/或高清晰度環場音效音訊之硬體及/或軟體支援。該等驅動器可包括用於整合圖形平臺的圖形驅動器。在一些實施例中,圖形驅動器包括周邊組件互連快速(PCIe)圖形卡。
在各種實施例中,系統700中所示出之組件中之任何一或多者可加以整合。例如,平臺702及一或多個內容服務裝置706可加以整合;平臺702及一或多個內容遞送裝置708可加以整合;或平臺702、一或多個內容服務裝置706及一或多個內容遞送裝置708可加以整合。在一些實施例中,平臺702及顯示器704為一整合單元。例如,顯示器704及一或多個內容服務裝置706可加以整合,或顯示器704及一或多個內容遞送裝置708可加以整合。
系統700可實行為無線系統或有線系統。當實行為無線系統時,系統700可包括適合於經由無線共享媒體通訊的組件及介面,諸如一或多個天線、發射器、接收器、收發器、放大器、濾波器、控制邏輯等。無線共享媒體之一實例可包括無線頻譜(諸如RF頻譜)之數個部分。當實行為有線系統時,系統700可包括適合於經由有線通訊媒體通
訊的組件及介面,諸如輸入/輸出(I/O)配接器、用來將I/O配接器與對應有線通訊媒體連接之實體連接器、網路介面卡(NIC)、碟片控制器、視訊控制器、音訊控制器等。有線通訊媒體之實例可包括電線、電纜、金屬引線、印刷電路板(PCB)、底板、交換組構、半導體材料、雙絞線電線、同軸電纜、光纖等。
平臺702可建立一或多個邏輯通道或實體通道以通訊資訊。資訊可包括媒體資訊及控制資訊。媒體資訊可涉及表示打算用於使用者的內容的任何資料。內容之實例可包括例如來自語音對話、視訊會議、串流視訊、電子郵件(email)訊息、語音郵件訊息、字母數字符號、圖形、影像、視訊、文本等之資料。來自語音對話之資料可為例如話音資訊、靜默時期、背景雜訊、舒適雜訊、音調等。控制資訊可涉及表示打算用於自動系統的命令、指令或控制字的任何資料。例如,控制資訊可用以路由媒體資訊穿過系統,或指示節點以預定方式來處理媒體資訊。然而,該等實施例並不限於圖7中示出或描述之元件或情境。
圖8為小形狀因子裝置800的示意圖,圖7之系統700可體現於該小形狀因子裝置中。相同編號項如關於圖7所描述。在一些實施例中,例如,裝置800係實行為具有無線性能之行動計算裝置。例如,行動計算裝置可涉及具有處理系統及行動電源或電源供應(諸如一或多個電池)的任何裝置。
如以上所描述,行動計算裝置之實例可包括個人
電腦(PC)、膝上型電腦、超膝上型電腦、伺服器電腦、平板電腦、觸控板、可攜式電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、蜂窩式電話、組合蜂窩式電話/PDA、電視、智慧裝置(例如,智慧電話、智慧平板或智慧電視)、行動網際網路裝置(MID)、通信報裝置、資料通訊裝置等。
行動計算裝置之一實例可亦包括經佈置來藉由個人佩戴之電腦,諸如腕上電腦、指上電腦、戒指電腦、眼鏡電腦、皮帶夾電腦、臂章電腦、鞋上電腦、服裝電腦或任何其他適合類型之可佩戴電腦。例如,行動計算裝置可實行為智慧電話,該智慧電話能夠執行電腦應用程式以及語音通訊及/或資料通訊。雖然一些實施例可藉由實例之方式使用實行為智慧電話的行動計算裝置來予以描述,但是可瞭解,亦可使用其他有線或無線行動計算裝置來實行其他實施例。
如圖8中所示出,裝置800可包括外殼802、顯示器804、輸入/輸出(I/O)裝置806及天線808。裝置800可亦包括導航特徵812。顯示器804可包括任何適合的顯示單元810,其用於顯示適於行動計算裝置之資訊。I/O裝置806可包括任何適合的I/O裝置,其用於輸入資訊至行動計算裝置中。例如,I/O裝置806可包括字母數字鍵盤、數字鍵盤、觸控板、輸入鍵、按鈕、開關、搖桿開關、麥克風、揚聲器、語音識別裝置及軟體等。資訊可亦藉助於麥克風輸入裝置800中。此類資訊可藉由語音識別裝置來數位化。
實例1
本文描述用於獲得壓縮mipmap之方法。該方法包括擷取第一細節層次(LOD)之一部分及差量。該方法亦包括使用第一LOD之該部分預測第二LOD之一部分及使用第二LOD之預測部分及差量重建第二LOD。
差量可經預計算,且重建第二LOD可導致mipmap之無損重建。可擷取控制表面,其中該控制表面用以決定快取列之數目以針對第一LOD之該部分及差量擷取。另外,使用第一LOD與第二LOD之色彩之間的色彩相關預測第二LOD之該部分,且第二LOD之預測部分可為第二LOD之有損重建。LOD可處於壓縮格式。此外,該壓縮格式可為區塊壓縮(BC)-1、BC-2、適應性可縮放紋理壓縮(ASTC)或上述各者之任何組合。另外,第一LOD之該部分及差量可儲存在記憶體儲存器之五個或更少快取列中。第一LOD及第二LOD可用作自記憶體擷取的全部LOD對。所擷取的第一細節層次(LOD)之該部分可為紋理影像元件之4x4分組,且第二LOD之預測部分可為紋理影像元件之8x8分組。另外,該部分可為一快取列。
實例2
本文描述用於mipmap壓縮之系統。該系統包括顯示器、無線電、記憶體及處理器。記憶體用以儲存指令且通訊地耦接至顯示器。處理器通訊地耦接至無線電及記憶體。當處理器用以執行指令時,該處理器用以自記憶體獲得第一細節層次(LOD)之一部分及差量,且使用第一LOD之該部分計算第二LOD之一部分。當處理器用以執行指令
時,該處理器亦用以使用第二LOD之計算部分及差量產生第二LOD。
該系統可包括取樣器單元,其中該取樣器單元用以自記憶體獲得第一細節層次LOD之該部分及差量。該處理器可包括執行單元以執行指令。第一LOD之該部分與第二LOD之該部分之間的色彩相關可用以獲得差量,且系統之處理器用以再製相同mipmap之第二LOD以便產生第二LOD。可有損地產生第二LOD之初始概算,且紋理取樣器可自記憶體擷取第二LOD與原始LOD之間的差量以無損地產生第二LOD,其中該原始LOD為第二LOD之基線版本。此外,產生第二LOD可在飛行中予以執行。mipmap壓縮可達成輸入/輸出(I/O)記憶體帶寬之顯著減少。處理器可為中央處理單元(CPU),或處理器可為圖形處理單元(GPU)。另外,第一LOD及第二LOD可以壓縮紋理格式。
實例3
本文描述包含碼的有形非暫時性電腦可讀媒體。該碼可指導處理器掃描mipmap且使用mipmap之每一細節層次(LOD)選擇最佳預測方法。該碼可亦指導處理器使用最佳預測方法計算用於每一LOD的差量,且將用於每一LOD的差量與對應LOD一起儲存在記憶體中。
可針對mipmap產生控制表面,或該mipmap可為靜態mipmap。此外,可在應用程式之運行時間壓縮mipmap。另外,可將差量及對應LOD儲存在單個快取列中,或可將差量及對應LOD儲存在比一LOD對更少的快取列
中。記憶體之覆蓋區在與LOD對之記憶體覆蓋區相比時可減少。另外,LOD可處於壓縮格式,或該壓縮格式可為區塊壓縮(BC)-1、BC-2、適應性可縮放紋理壓縮(ASTC)或上述各者之任何組合。此外,可減少I/O記憶體瓶頸。
實例4
本文描述用於mipmap壓縮之設備。該設備包括用以自記憶體擷取細節層次(LOD)的構件,其中自記憶體擷取第一LOD第一LOD之一部分及差量。該設備亦包括用以使用第一LOD之該部分預測第二LOD之一部分且使用第二LOD之預測部分及差量計算第二LOD的構件。
該設備可包括用以在運行時間針對mipmap產生多個差量的構件。可有損地預測第二LOD。使用第二LOD之預測部分及差量計算第二LOD可為無損的。可在飛行中進行使用第一LOD之該部分預測第二LOD之一部分。另外,可使用第一LOD之該部分與第二LOD之該部分之色彩之間的色彩相關預測第二LOD之該部分。第一LOD之該部分及第二LOD之該部分可處於壓縮格式。另外,可減少功率消耗。此外,第一LOD之該部分及第二LOD之該部分可用作自記憶體擷取的全部LOD對,使得紋理未改變。此外,第一LOD之該部分及差量可儲存在單個快取列中。
實例5
本文描述用於mipmap壓縮之方法。該方法包括掃描mipmap及使用mipmap之每一細節層次(LOD)選擇最佳預測方法。該方法亦包括使用最佳預測方法計算用於每一
LOD的差量,及將用於每一LOD的差量與對應LOD儲存在記憶體中。
可針對mipmap產生控制表面,或該mipmap可為靜態mipmap。此外,可在應用程式之運行時間壓縮mipmap。另外,可將差量及對應LOD儲存在單個快取列中,或可將差量及對應LOD儲存在比一LOD對更少的快取列中。記憶體之覆蓋區在與LOD對之記憶體覆蓋區相比時可減少。另外,LOD可處於壓縮格式,或該壓縮格式可為區塊壓縮(BC)-1、BC-2、適應性可縮放紋理壓縮(ASTC)或上述各者之任何組合。此外,可減少I/O記憶體瓶頸。
應理解的是,前述實例中之具體細節可用於一或多個實施例中之任何地方。例如,以上所描述之計算裝置之所有任擇特徵可亦相關於本文所描述之方法或電腦可讀媒體中之任一者來實行。此外,儘管本文已使用流程圖及/或狀態圖來描述實施例,但本技術並不限於本文之該等圖表或對應描述。例如,流程無需移動經過每一例示之框或狀態或以與本文例示及描述之次序完全相同的次序來移動。
本技術並不限於本文列出之特定詳情。事實上,受益於本揭示內容之熟習該項技術者將瞭解的是,可在本技術之範疇內對前文描述及圖式做出諸多其他改變。因此,以下申請專利範圍,包括其任何的修正,界定本技術之範疇。
500‧‧‧方法
502~508‧‧‧方塊
Claims (25)
- 一種用於獲得壓縮mipmap的方法,該方法包含下列步驟:擷取一第一細節層次(LOD)之一部分及一差量;利用該第一LOD之該部分來預測一第二LOD之一部分;利用所預測到的該第二LOD之該部分及該差量來重建該第二LOD。
- 如請求項1之方法,其中,該差量為預先計算出來的。
- 如請求項1之方法,其中,重建該第二LOD可致使對於一mipmap的一無損重建。
- 如請求項1之方法,其包含下列步驟:擷取一控制表面,其中,該控制表面係用於判定針對該第一LOD之該部分及該差量所要擷取的快取列之一數目。
- 如請求項1之方法,其中,對該第二LOD之該部分的預測係利用該第一LOD與該第二LOD之色彩之間的色彩相關。
- 如請求項1之方法,其中,所預測到的該第二LOD之該部分為對該第二LOD的一有損重建。
- 如請求項1之方法,其中,該第一LOD及該第二LOD之格式係一壓縮格式。
- 如請求項7之方法,該壓縮格式為區塊壓縮-1(BC-1)、區塊壓縮-2(BC-2)、適應性可縮放紋理壓縮(ASTC)、或上述者之任何組合。
- 如請求項1之方法,其中,該第一LOD之該部分及該差量被儲存在記憶體儲存器之少於或等於五個快取列中。
- 種用於mipmap壓縮的系統,其包含:一顯示器;一無線電;通訊式耦接至該顯示器的一記憶體,用以儲存指令;以及通訊式耦接至該無線電及該記憶體的一處理器,其中,當該處理器執行該等指令時,該處理器可進行下列步驟:自該記憶體獲得一第一細節層次(LOD)之一部分及一差量;利用該第一LOD之該部分來計算一第二LOD之一部分;利用所計算出的該第二LOD之該部分及該差量來產生該第二LOD。
- 如請求項10之系統,其包含:一取樣器單元,其中,該取樣器單元係用於自該記憶體獲得該第一LOD之該部分及該差量。
- 如請求項10之系統,其中,該處理器包括:一執行單元,用以執行該等指令。
- 如請求項10之系統,其中,係利用該第一LOD與該第二LOD間之色彩相關來獲得該差量。
- 如請求項10之系統,其中,該系統之該處理器係用於再製同一個mipmap的該第二LOD以產生該第二LOD。
- 如請求項10之系統,其中,對該第二LOD之一初始概算係以有損方式產生的,並且其中,一紋理取樣器會自該記憶體擷取該第二LOD與一原始LOD間之差量以無損地產生該第二LOD,其中,該原始LOD為該第二LOD的一基線版本。
- 如請求項10之系統,其中,該處理器為一圖形處理單元。
- 一種有形非暫時性電腦可讀媒體,其包含用於引導一處理器進行下列步驟的程式碼:掃描一mipmap;利用該mipmap的各個細節層次(LOD)來選擇一最佳預測方法;利用該最佳預測方法來計算各個LOD之差量;以及將各個LOD之該差量與一對應LOD一起儲存在記憶體中。
- 如請求項17之電腦可讀媒體,其包含下列步驟:產生針對該mipmap的一控制表面。
- 如請求項17之電腦可讀媒體,其中,該mipmap為一靜態mipmap。
- 如請求項17之電腦可讀媒體,其中,該mipmap係在一應用程式之運行時間當中受到壓縮。
- 如請求項17之電腦可讀媒體,其中,該差量及該對應LOD係儲存在單一個快取列中。
- 如請求項17之電腦可讀媒體,其中,該差量及該對應LOD係儲存在比一LOD對更少的快取列中。
- 如請求項17之電腦可讀媒體,其中,該記憶體之覆蓋區比一LOD對之記憶體覆蓋區少。
- 如請求項17之電腦可讀媒體,其中,該等LOD之格式係一壓縮格式。
- 如請求項23之電腦可讀媒體,其中,該壓縮格式為區塊壓縮-1(BC-1)、區塊壓縮-2(BC-2)、適應性可縮放紋理壓縮(ASTC)、或上述者之任何組合。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/229,826 US20150279055A1 (en) | 2014-03-28 | 2014-03-28 | Mipmap compression |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201541405A TW201541405A (zh) | 2015-11-01 |
TWI557683B true TWI557683B (zh) | 2016-11-11 |
Family
ID=54066880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104104555A TWI557683B (zh) | 2014-03-28 | 2015-02-11 | Mipmap壓縮技術 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150279055A1 (zh) |
CN (1) | CN104952087A (zh) |
DE (1) | DE102015002364A1 (zh) |
TW (1) | TWI557683B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102197064B1 (ko) * | 2014-10-10 | 2020-12-30 | 삼성전자 주식회사 | Lod를 조절할 수 있는 그래픽스 프로세싱 유닛, 이의 작동 방법, 및 상기 그래픽스 프로세싱 유닛을 포함하는 장치들 |
US10719959B2 (en) * | 2016-01-14 | 2020-07-21 | Samsung Electronics Co., Ltd. | Mobile device and a method for texture memory optimization thereof |
US10818054B2 (en) * | 2016-04-01 | 2020-10-27 | Intel Corporation | Apparatus and method for asynchronous texel shading |
US10304215B2 (en) * | 2016-06-10 | 2019-05-28 | Apple Inc. | Providing variants of texture assets for an asset catalog |
US20170357493A1 (en) * | 2016-06-10 | 2017-12-14 | Apple Inc. | Providing variants of texture assets for an asset catalog |
US10715818B2 (en) | 2016-08-04 | 2020-07-14 | Intel Corporation | Techniques for hardware video encoding |
US10602174B2 (en) * | 2016-08-04 | 2020-03-24 | Intel Corporation | Lossless pixel compression for random video memory access |
CN106791883A (zh) | 2016-11-18 | 2017-05-31 | 上海兆芯集成电路有限公司 | 纹理砖压缩及解压缩方法以及使用该方法的装置 |
US10460502B2 (en) | 2016-12-14 | 2019-10-29 | Samsung Electronics Co., Ltd. | Method and apparatus for rendering object using mipmap including plurality of textures |
US10291925B2 (en) | 2017-07-28 | 2019-05-14 | Intel Corporation | Techniques for hardware video encoding |
US11025913B2 (en) | 2019-03-01 | 2021-06-01 | Intel Corporation | Encoding video using palette prediction and intra-block copy |
US10855983B2 (en) | 2019-06-13 | 2020-12-01 | Intel Corporation | Encoding video using two-stage intra search |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200905608A (en) * | 2007-06-07 | 2009-02-01 | Nvidia Corp | Extrapolation of nonresident mipmap data using resident mipmap data |
TW201344632A (zh) * | 2012-04-20 | 2013-11-01 | Inst Information Industry | 依據貼圖影像內容決定選擇細節層次之三維貼圖處理方法、裝置以及儲存其之電腦可讀取記錄媒體 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6694061B1 (en) * | 1997-06-30 | 2004-02-17 | Intel Corporation | Memory based VLSI architecture for image compression |
US6924812B2 (en) * | 2002-12-24 | 2005-08-02 | Intel Corporation | Method and apparatus for reading texture data from a cache |
EP1494175A1 (en) * | 2003-07-01 | 2005-01-05 | Koninklijke Philips Electronics N.V. | Selection of a mipmap level |
US8229234B2 (en) * | 2006-11-24 | 2012-07-24 | Nec Corporation | Coding and decoding device, coding and decoding method and program |
GB2445008B (en) * | 2006-12-20 | 2008-12-31 | Sony Comp Entertainment Europe | Image compression and/or decompression |
US8587602B2 (en) * | 2010-08-16 | 2013-11-19 | Microsoft Corporation | GPU texture tile detail control |
US9607356B2 (en) * | 2013-05-02 | 2017-03-28 | Arm Limited | Graphics processing systems |
-
2014
- 2014-03-28 US US14/229,826 patent/US20150279055A1/en not_active Abandoned
-
2015
- 2015-02-11 TW TW104104555A patent/TWI557683B/zh not_active IP Right Cessation
- 2015-02-25 DE DE102015002364.0A patent/DE102015002364A1/de not_active Withdrawn
- 2015-03-04 CN CN201510096155.4A patent/CN104952087A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200905608A (en) * | 2007-06-07 | 2009-02-01 | Nvidia Corp | Extrapolation of nonresident mipmap data using resident mipmap data |
TW201344632A (zh) * | 2012-04-20 | 2013-11-01 | Inst Information Industry | 依據貼圖影像內容決定選擇細節層次之三維貼圖處理方法、裝置以及儲存其之電腦可讀取記錄媒體 |
Also Published As
Publication number | Publication date |
---|---|
CN104952087A (zh) | 2015-09-30 |
TW201541405A (zh) | 2015-11-01 |
US20150279055A1 (en) | 2015-10-01 |
DE102015002364A1 (de) | 2015-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI557683B (zh) | Mipmap壓縮技術 | |
JP6009099B2 (ja) | 3d画像を向上させるための装置、プログラムおよびシステム | |
CN110072033B (zh) | 使用选择性色彩变换的色彩压缩 | |
US20140092439A1 (en) | Encoding images using a 3d mesh of polygons and corresponding textures | |
US9524536B2 (en) | Compression techniques for dynamically-generated graphics resources | |
US10621691B2 (en) | Subset based compression and decompression of graphics data | |
US20130268569A1 (en) | Selecting a tile size for the compression of depth and/or color data | |
US20150312574A1 (en) | Techniques for low power image compression and display | |
US9754345B2 (en) | Compression and decompression of graphics data using pixel region bit values | |
US9418471B2 (en) | Compact depth plane representation for sort last architectures | |
US9251731B2 (en) | Multi-sampling anti-aliasing compression by use of unreachable bit combinations | |
US11991376B2 (en) | Switchable scalable and multiple description immersive video codec | |
JP6745020B2 (ja) | 方法、コンピュータプログラム、コンピュータ可読記録媒体および装置 | |
US9582847B2 (en) | Color buffer compression | |
EP2843954B1 (en) | Lossy color compression using adaptive quantization | |
EP2889875B1 (en) | Adaptive depth offset compression | |
WO2015021586A1 (en) | Techniques for low power video compression and transmission |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |