TW201514915A - 使用像素區位元値的圖形資料之壓縮及解壓縮技術 - Google Patents

使用像素區位元値的圖形資料之壓縮及解壓縮技術 Download PDF

Info

Publication number
TW201514915A
TW201514915A TW103119068A TW103119068A TW201514915A TW 201514915 A TW201514915 A TW 201514915A TW 103119068 A TW103119068 A TW 103119068A TW 103119068 A TW103119068 A TW 103119068A TW 201514915 A TW201514915 A TW 201514915A
Authority
TW
Taiwan
Prior art keywords
pixel
value
values
pixel region
individual
Prior art date
Application number
TW103119068A
Other languages
English (en)
Other versions
TWI556190B (zh
Inventor
Tomas G Akenine-Moller
Jim K Nilsson
Prasoonkumar Surti
Jon N Hasselgren
Carl J Munkberg
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of TW201514915A publication Critical patent/TW201514915A/zh
Application granted granted Critical
Publication of TWI556190B publication Critical patent/TWI556190B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本發明描述與圖形渲染相關之技術,其包括用於藉由使用像素區位元值來壓縮及/或解壓縮圖形資料之技術。

Description

使用像素區位元值的圖形資料之壓縮及解壓縮技術
本發明係有關於使用像素區位元值的圖形資料之壓縮及解壓縮技術。
發明背景
一般而言,圖形渲染(graphics rendering)可使用廣泛範圍之電腦實施技術而自模型資料產生一或若干影像。在一些圖形渲染實施中,可藉由對諸如(例如)以下各者之不同函數進行取樣而使用柵格化(rasterization)來渲染影像:可見度函數(例如,用以判定樣本點是否位於三角形內部之函數),及/或著色(shading)函數(例如,用以判定某一樣本點處之色彩的函數),或其類似者。一般而言,用於可見度函數之樣本可被稱為可見度樣本(visibility sample),且用於著色函數之樣本可被稱為著色樣本(shading sample)。
在一些實施(諸如(例如),超取樣抗頻疊(super-sampling anti-aliasing,SSAA)應用)中,每像素的可見度樣本之數目可匹配於每像素的著色樣本之數目。在其他實施(諸如(例如),多取樣抗頻疊解決方案(multi-sampling anti-aliasing solution,MSAA)應用)中,每像素可存在單一著色樣本且每像素可存在多個可見度樣本。在任一狀況下,多個樣本可改良影像或視訊品質,諸如(例如),減少影像中之鋸齒狀邊緣效應及視訊中之蠕動效應(crawling effect),或其類似者。
一般而言,使用SSAA或MSAA或其他圖形技術可需要彩色緩衝器頻寬增加,或其他緩衝器中之頻寬增加。此等頻寬增加可減低系統效能,諸如,造成較多快取行異動、增加記憶體使用量、增加電力使用量,或其類似者。因此,圖形資料之壓縮可有利。此外,在不使用SSAA及MSAA之例子中,彩色緩衝器頻寬使用量可顯著,且壓縮技術在此等例子中亦可有利。
依據本發明之一實施例,係特定提出一種用於在圖形渲染中提供壓縮之電腦實施方法,其包含:判定與一像素影像塊(tile)之個別像素相關聯的複數個值;至少部分地基於該像素影像塊,判定複數個像素區,其中每一像素區包含該等個別像素之一對應子集;對於該複數個像素區中之一個別像素區,判定與對應於該個別像素區之該個別像素子集相關聯的值子集包含一單一相異值;將用於該個別像素區之一像素區值設定至指示該個別像素區包含該單一相異值之一位元值;及在記憶體中儲存包含與該個別像素區相關聯之該像素區值及該單一相異值的圖形資料。
100‧‧‧視訊寫碼系統
110、210、310、410、510、610、710‧‧‧影像塊
120、120-1,1-120-4,8、220、220-1,1-220-4,8‧‧‧像素
v1-v32、230、230-1,1-230-4,8、430、430-1,1-430-2,4、630、630-1,1-630-2,4、630-1,2(1)、630-1,2(2)‧‧‧像素值
240、240-1,1-240-2,4、320、420、420-1,1-420-2,4、520、620、620-1,1-620-4,8、720、720-1,1-720-2,4‧‧‧像素區
330、330-1,1-330-2,4、530、530-1,1-530-2,4、730、730-1,1-730-2,4、1020‧‧‧像素區值
740、740-1,3、740-1,4、740-2,3、740-2,4、1030‧‧‧像素指示符值
800、900、1100、1200‧‧‧程序
802、804、806、808、810、901、902、903、904、905、906、907、908、909、910、911、1102、1104、1106、1201、1202、1203、1204、1205、1206、1207、1208、1209、1210、1211、1212‧‧‧區塊/操作
1000、1245‧‧‧圖形資料
1002‧‧‧標頭部分
1004‧‧‧資料部分
1008‧‧‧指示符
1040‧‧‧像素值子集
1210‧‧‧邏輯模組
1220‧‧‧記憶體儲存區
1230‧‧‧圖形處理單元(GPU)
1235‧‧‧圖形資料壓縮/解壓縮(編解碼器)模組
1240‧‧‧圖形緩衝器
1306‧‧‧中央處理單元
1370‧‧‧顯示裝置
1400‧‧‧系統
1402‧‧‧平台
1405‧‧‧晶片組
1410‧‧‧處理器
1412‧‧‧記憶體
1414‧‧‧儲存體
1415‧‧‧圖形子系統
1416‧‧‧應用程式
1418‧‧‧無線電
1420、1504‧‧‧顯示器
1422‧‧‧使用者介面
1430‧‧‧內容服務裝置
1440‧‧‧內容遞送裝置
1450‧‧‧導覽控制器
1460‧‧‧網路
1500‧‧‧小外觀尺寸裝置
1502‧‧‧外殼
1504‧‧‧顯示器
1506‧‧‧輸入/輸出(I/O)裝置
1508‧‧‧天線
1512‧‧‧導覽特徵
在附圖中作為實例而非限制來說明本文所描述之材料。出於說明簡單及清楚起見,該等圖所說明之元件未必係按比例繪製。舉例來說,可出於清楚起見而誇示一些元件相對於其他元件之尺寸。此外,在認為適當之情況下,已在該等圖當中重複參考標記以指示對應或類似元件。在該等圖中:圖1為具有關聯值之像素之實例影像塊的說明圖;圖2為具有關聯值之像素之實例影像塊的說明圖;圖3為具有關聯像素區值之像素區之實例影像塊的說明圖;圖4為一些像素區具有單一相異值且其他像素區具有兩個或兩個以上相異值之像素區之實例影像塊的說明圖;圖5為具有關聯像素區值之像素區之實例影像塊的說明圖;圖6為一些像素區具有單一相異值、一些像素區具有兩個相異值且其他像素區具有三個或三個以上相異值之像素區之實例影像塊的說明圖;圖7為具有像素區值及/或關聯像素指示符值之像素區之實例影像塊的說明圖;圖8為說明實例程序之流程圖;圖9為說明實例程序之流程圖;圖10為實例圖形資料之說明圖;圖11為說明實例程序之流程圖;圖12為用於在圖形渲染中提供壓縮及/或解壓縮之實例 系統及程序的說明圖;圖13為提供圖形渲染之用於壓縮及/或解壓縮之實例系統的說明圖;圖14為實例系統之說明圖;及圖15說明皆根據本發明之至少一些實施而配置的實例裝置。
較佳實施例之詳細說明
現在參看附圖來描述一或多個實施例或實施。雖然論述特定組配及配置,但應理解,僅出於說明性目的而進行此論述。熟習相關技術者將認識到,可在不脫離描述之精神及範疇的情況下採用其他組配及配置。對於熟習相關技術者而言將顯而易見,亦可在除了本文所描述之內容以外的多種其他系統及應用中採用本文所描述之技術及/或配置。
雖然以下描述闡述可以諸如(例如)系統單晶片(system-on-a-chip,SoC)架構之架構而表明的各種實施,但本文所描述之技術及/或配置的實施並不限於特定架構及/或計算系統,且可出於相似目的而由任何架構及/或計算系統實施。舉例來說,採用(例如)多個積體電路(integrated circuit,IC)晶片及/或封裝之各種架構及/或諸如機上盒、智慧型電話等等之各種計算裝置及/或消費型電子(consumer electronic,CE)裝置可實施本文所描述之技術及/或配置。此外,雖然以下描述可闡述諸如邏輯實施、系統組件之類型 及相互關係、邏輯分割/整合選擇等等的眾多特定細節,但可在沒有此等特定細節之情況下實踐所主張主題。在其他例子中,可不詳細地展示諸如(例如)控制結構及完全軟體指令序列之某一材料,以便不混淆本文所揭示之材料。
可以硬體、韌體、軟體或其任何組合來實施本文所揭示之材料。亦可將本文所揭示之材料實施為儲存於機器可讀媒體上之指令,其係可由一或多個處理器讀取及執行。機器可讀媒體可包括用於儲存或傳輸呈可由機器(例如,計算裝置)讀取之形式之資訊的任何媒體及/或機構。舉例來說,機器可讀媒體可包括:唯讀記憶體(read only memory,ROM);隨機存取記憶體(random access memory,RAM);磁碟儲存媒體(magnetic disk storage media);光學儲存媒體(optical storage media);快閃記憶體裝置(flash memory device);電學、光學、聲學或其他形式之傳播信號(例如,載波、紅外線信號、數位信號等等);及其他者。
在本說明書中對「一個實施」、「一實施」、「一實例實施」等等之參考指示出所描述實施可包括一特定特徵、結構或特性,但每一實施例可未必包括該特定特徵、結構或特性。此外,此等片語未必指代同一實施。此外,當結合一實施例來描述一特定特徵、結構或特性時,應提出,無論在本文中是否有明確描述,結合其他實施來實現此特徵、結構或特性為熟習此項技術者所知。
下文描述與圖形渲染相關之系統、設備、物品及方法,其包括用於藉由使用像素區位元值及/或像素指示符 值來壓縮及/或解壓縮圖形資料之技術。
如上文所描述,可有利的是壓縮(及解壓縮)諸如經渲染圖形資料之圖形資料。如下文將較詳細地所描述,在一些實例中,圖形渲染及壓縮技術可操作於影像塊上。一般而言,影像塊可包括任何數目個個別像素,諸如,W×H像素之矩形區,其中W為以像素為單位的影像塊之寬度,且H為以像素為單位的影像塊之高度。舉例來說,影像塊可包括具有32個像素之8×4像素。在一些實例中,可判定用於個別像素之值,使得每一像素具有一值。可以任何物質來判定該等值,且該等值可包括任何適合資訊。舉例來說,值可包括色值、表面正常值、多取樣抗頻疊彩色平面值,或其類似者。可將像素影像塊劃分成像素區,使得每一像素位於一個且僅一個像素區中。舉例來說,可將8×4像素影像塊劃分成各自具有2×2像素之8個像素區。對於個別像素區,可判定該像素區是否具有單一相異值(或該像素區是否具有兩個或兩個以上相異值)。若個別像素區具有單一相異值,則可向個別像素區指派像素區值或位元值(例如,為「1」之位元值)以指示個別區具有單一相異值。此外,對於個別像素區,可儲存或保存僅單一相異值(且可捨棄重複之其他三個值)。然而,若個別像素區包括兩個或兩個以上相異值,則可設定用於個別像素區之像素區值或位元值(例如,設定至為「0」之位元值),且可儲存或保存個別像素區中之所有值。
在其他實例中,可如所描述而處置具有單一相異 值之個別像素區(亦即,向其指派為「1」之位元值,且可儲存僅單一相異值),但可進一步壓縮個別像素區。在此等實例中,可向具有兩個相異值之個別像素區指派像素區值或位元值(例如,為「2」之位元值),且可儲存或保存僅兩個相異值。在此等實例中,必須將額外值或位元值指派至個別像素區中之每一像素以指示兩個值中之哪一者係與每一像素相關聯。在一些實例中,可將像素指示符值指派至每一像素以指示兩個相異值中之哪一者係與該像素相關聯。在此等實例中,可向具有三個或三個以上相異值之像素區指派像素區值或位元值(例如,為「0」之位元值),且可儲存或保存此像素區中之所有值。採用像素區值及像素指示符值之此等實例可被描述為四重位元技術(quad bit technique),且用於彩色資料之實例可被描述為四重調色技術(quad palette technique)。
在使用此等技術之情況下,相比於(例如)儲存或保存每一像素值之標準技術,可顯著地減少需要儲存或保存之像素值的數目。因此,如本文所論述之技術可提供資料壓縮,且與使用經壓縮圖形資料以判定用於影像塊之像素之值相關的所描述技術可提供資料解壓縮。另外,可在標準壓縮及解壓縮(「編解碼器(codec)」)技術之前應用所描述技術,此情形可(例如)在儲存圖形資料之前進一步壓縮圖形資料。相似地,可在如本文所論述而解壓縮資料之前將此等另外編解碼器技術應用於經儲存圖形資料。
如下文較詳細地所論述,一般而言,所論述之壓 縮技術的目標可為達成位元預算(bit budget)。舉例來說,記憶體頻寬可與可提供針對記憶體異動之極限(例如,每快取行512個位元,或其類似者)的極限或特定快取行大小或其類似者相關聯。若壓縮技術可傳輸或儲存小於極限之資料,則可減少與該資料相關聯之異動的數目,從而節省電力且增加效能。如所論述,可將個別像素影像塊劃分成像素區,且可使像素區值及/或像素指示符值與像素區及/或像素相關聯,使得可減少與該影像塊之像素相關聯的值。一般而言,若像素區值、像素指示符值及/或剩餘像素值小於所要位元預算,則壓縮可能已成功。在此等實例中,包含像素區值、像素指示符值及/或剩餘像素值之圖形資料可儲存於記憶體中。一般而言,若不滿足位元預算,則壓縮可能已失敗,且可使用標準技術來未壓縮地儲存個別像素值。替代性地,若壓縮失敗,則可應用另外編解碼器技術(如所論述),且可再次比較所得資料與位元預算。若滿足位元預算,則可儲存經進一步壓縮之圖形資料,且若不滿足預算,則可儲存未壓縮像素值。如所論述,壓縮像素影像塊之像素值可節省顯著頻寬,同時在各種電腦實施中傳送或儲存圖形資料。此等頻寬節省可增加效能及/或減少各種裝置中之電力消耗。
圖1為根據本發明之至少一些實施而配置的具有關聯值v1至v32之像素120之實例影像塊110的說明圖。如所展示,影像塊110可包括多個像素120-1,1至120-4,8。一般而言,影像塊110可包括任何數目個像素。在一些實例中,影 像塊110可為8個像素寬乘4個像素高(且可因此包括32個像素,如所展示)。亦如所展示,個別像素120-1,1至120-4,8可具有或包括關聯值v1至v32。一般而言,值v1至v32可包括任何適合圖形資料或渲染資料,或其類似者。舉例來說,值v1至v32可包括色值、表面正常值或其類似者。在其他實例中,值v1至v32可包括低頻著色色值或其類似者。一般而言,任何數目個值v1至v32可相異。舉例來說,若所有值v1至v32相同,則可存在單一相異值。若所有值v1至v32不同,則可存在32個相異值。一般而言,若存在較少相異值,特別是若彼等較少相異值如下文所說明而集束於影像塊110之各種區中,則下文所論述之壓縮技術可較有效。在各種渲染上下文中,或在使用各種技術之情況下,諸如(例如),當值v1至v32為表面正常值或其類似者時,可較可能地發生此等實例。
如所論述,在一些實施中,可以低於每像素一次之速率來計算著色。舉例來說,可對於每1×2像素、每2×1像素、每2×2像素、每4×2像素、每2×4像素、每4×4像素或其類似者產生色值。在其他實例中,可將像素著色分裂成兩個部分,使得可每像素(或每樣本)進行著色之一個部分,且可以較低速率來進行著色之另一部分,如所描述,且組合結果。在此等實例中,因為對於大於每像素基礎之區產生色值,所以將發生用於影像塊110之值的某一量之重複。另外,在渲染實際物件時,可頻繁地發生的是,像素群組可具有相同色彩,或整個像素影像塊可具有相同色彩。本 文所論述之技術在此等實例中可特別有利,但所描述技術並不限於此等實例。
圖2為根據本發明之至少一些實施而配置的具有關聯值230之像素220之實例影像塊210的說明圖。如所展示,在一些實例中,值230可包括色值或其類似者。在所說明實例中,出於渲染清楚起見而使用描述(亦即,「紅色」、「藍色」、「紫色」、「白色」及「黃色」)來展示值230。一般而言,色值可包括紅綠藍阿爾法(red green blue alpha,RGBA)色值、諸如8位元紅綠藍阿爾法(R8G8B8A8)色值之RGBA值子集、偽亮度/強度橙色色度綠色色度阿爾法(pseudo luminance/intensity orange chrominance green chrominance alpha,YCoCgA)色值,或其類似者。另外,儘管關於色值進行描述,但一般而言,值230可包括諸如(例如)表面正常值或其類似者之任何圖形資料或渲染值。在圖2之實例中,影像塊210可包括五個相異值(亦即,「紅色」、「藍色」、「紫色」、「白色」及「黃色」)。將瞭解,影像塊210可包括自1個至32個相異值。一般而言,可使用任何適合圖形處理技術來判定值230。舉例來說,可藉由渲染影像塊210來產生值230。渲染可包括柵格化技術,諸如,應用可見度函數或應用著色函數,或其類似者。在一些實例中,渲染可包括應用超取樣抗頻疊技術、多取樣抗頻疊技術或其類似者。在一些實例中,渲染可包括應用低頻著色彩色技術或其類似者。
如圖2所展示,可將影像塊210劃分成像素區240。 舉例來說,可將影像塊210劃分成8個2×2像素區240,如所展示,使得像素區240-1,1可包括像素220-1,1、220-1,2、220-2,1及220-2,2,像素區240-2,3可包括像素220-3,5、220-3,6、220-4,5及220-4,6,等等。一般而言,可將影像塊210劃分成任何數目個像素區240。在所說明實例中,已將8×4影像塊劃分成8個2×2像素區。在一些實例中,像素區可為4×4像素、3×3像素、1×2像素、2×1像素或其類似者。在一些實例中,最有利之區大小可為將影像塊210分割成具有相等大小之像素區的區大小。在其他實例中,可使用將影像塊210分割成具有不等大小之像素區的區大小。舉例來說,可在影像塊之一些部分中將影像塊劃分成4×4像素區(或3×3像素區),在影像塊之其他部分中將影像塊劃分成2×2像素區,且在影像塊中之別處將影像塊劃分成1×1像素區,等等。在一些實例中,像素區之大小及/或組配可基於值230而變化。一般而言,出於渲染清楚起見而未各自標記圖2中(及本文之其他圖中)之影像塊210的每一像素區及每一像素。
現在轉至圖3,圖3為根據本發明之至少一些實施而配置的具有關聯像素區值330之像素區320之實例影像塊310的說明圖。舉例來說,可使影像塊310與影像塊210相關,使得對於個別像素區240,若關聯像素值230包括單一相異值(請參看圖2),則圖3之關聯個別像素區320可包括為「1」之像素區值330。若關聯像素值230包括兩個或兩個以上相異值,則關聯像素區320可包括為「0」之像素區值330。舉 例來說,影像塊210之像素區240-1,1包括三個相異值(「紅色」、「藍色」及「紫色」),且因此,像素區值330-1,1為「0」。另外,像素區240-2,2包括單一相異值(「紫色」),且像素區值330-2,2為「1」。在所說明實例中,像素區值可包括為「0」抑或「1」之位元值。舉例來說,對於個別像素區,可判定與對應於個別像素區之個別像素子集相關聯的值子集是否包括單一相異值。若該值子集包括單一相異值,則可將像素區值設定至指示像素區具有單一相異值之位元值(例如,如所說明之「1」)。若該值子集不包括單一相異值,則可將像素區設定至指示像素區不具有單一相異值之值(例如,如所說明之「1」)。一般而言,任何像素區值或位元值或其類似者可用以指示像素區是否具有單一相異值。
圖4為根據本發明之至少一些實施而配置的一些像素區420具有單一相異值且其他像素區420具有兩個或兩個以上相異值之實例影像塊410的說明圖。舉例來說,如圖4所展示,可將一些像素值消除或捨棄為重複。一般而言,可將值430視為經保留像素值430,或其類似者。如關於像素區420-2,2所展示,可對於像素區420-2,2保留單一相異值430-2,2(例如,「紫色」)。如所論述,一般而言,對於具有單一相異值之個別像素區,可對於該個別像素區保留僅一個值(例如,單一相異值),可捨棄重複像素值。
亦如圖4所展示,對於諸如(例如)像素區420-1,1之像素區,該像素區可能已包括兩個或兩個以上相異值(請參看圖2及圖3)。對於此等像素區,針對影像塊410所儲存 之圖形資料可包括諸如(例如)以下各者之像素值中每一者:像素值430-1,1(「紅色」)、像素值430-1,2(「藍色」)、像素值430-2,1(「藍色」),及像素值430-2,2(「紫色」)。如所論述,一般而言,舉例來說,對於具有兩個或兩個以上相異值之個別像素區,可保留所有值,且在此等像素區中,可實質上尚未取得壓縮。
如本文進一步所論述,在儲存或保存與影像塊410相關聯之圖形資料時,消除重複像素值可節省記憶體、記憶體頻寬異動或其類似者,且可改良系統效能。舉例來說,此等壓縮技術可滿足如本文所描述之位元預算。在一些實例中,可使用標準編解碼器來進一步壓縮圖形資料以滿足位元預算或較嚴格之位元預算,或其類似者。詳言之,在一些實施中,用於保存或儲存(或傳遞至編解碼器)與影像塊210相關聯之圖形資料的標準技術可對於每一像素220提供一值(請參看圖2),從而重複顯著數目個像素值230。與此對比,可在沒有資訊遺失之情況下使用本文所描述之技術來實質上壓縮與影像塊410相關聯之圖形資料。
如上文所論述,所描述之壓縮技術的目標可為達成位元預算。舉例來說,若影像塊210可使用呈未壓縮格式之2n個位元,則所要位元預算B可為B=2n-1個位元。在其他實例中,所要位元預算B可為B=2n-2個位元、B=3*Bn-2個位元,或其類似者。在其他實例中,位元預算可與系統設計規則或約束或其類似者相關聯。舉例來說,記憶體頻寬可與可提供針對記憶體異動之極限(例如,512個位元或其類 似者)的極限或快取行或其類似者相關聯。在一些實例中,未壓縮影像塊210可需要呈未壓縮形式之1024(210)個位元,且所要位元預算可為將其壓縮至512(29)個位元。另外,在一些實例中,一個以上位元預算可為可用的,使得目標或目的可為滿足該等可用位元預算中之最低者。在任何情況下,若壓縮技術可傳輸或儲存小於位元預算或極限之資料,則可減少與該資料相關聯之異動的數目,從而節省電力且增加效能。
在所描述實例中,儲存像素區值330所需要之位元的數目可為8個位元(每像素區一個位元),且儲存像素值所需要之位元的數目可取決於經消除或捨棄像素值之數目而變化。在給定實例中,待儲存或保存(或在一些實例中,待進一步壓縮)之像素值的數目為17。參看圖4,舉例來說,可對於具有單一相異值之像素區(例如,像素區420-1,4、420-2,1、420-2,2、420-2,3及420-2,4)中每一者儲存單一值,且可對於具有兩個或兩個以上相異值之像素區(例如,像素區420-1,1、420-1,2及420-1,3)中每一者儲存四個值。
取決於所要位元預算,如所論述,與圖3及圖4相關聯之圖形資料可滿足所要位元預算。在給定實例中,已將像素值之數目自32減少至17,此情形可促進在各種實例中達成位元預算。若滿足所要位元預算,則可使用所描述之壓縮技術來儲存圖形資料。若不滿足所要位元預算,則可未壓縮地儲存圖形資料,或可使用標準編解碼器來進一步壓縮圖形資料。可比較經進一步壓縮之資料與位元預 算。若達成位元預算,則可以經進一步壓縮之形式來儲存圖形資料。若未達成位元預算,則可以未壓縮形式來儲存圖形資料。一般而言,若可壓縮(亦即,使用所描述技術,抑或使用所描述技術及另外標準編解碼器)圖形資料以滿足位元預算,則系統效能可能會增加。然而,舉例來說,若壓縮技術不滿足位元預算,則可有利的是未壓縮地儲存圖形資料,此係因為尚未節省快取行異動,且可在存取圖形資料時消除解壓縮步驟。
現在轉至圖10,圖10為根據本發明之至少一些實施而配置的實例圖形資料1000之說明圖。如圖10所展示,圖形資料1000可包括標頭部分1002及/或資料部分1004。亦如所展示,標頭部分1002可包括一或多個指示符1008。舉例來說,指示符1008可包括指示資料部分1004是否根據本文所描述之技術而壓縮的旗標,或其類似者。標頭部分1002可包括其他指示符,諸如,指示資料部分1004或資料部分1004之各種分量是否被壓縮的指示符,或其類似者。如所展示,資料部分1004可包括像素區值1020、像素指示符值1030(如本文進一步所論述),及/或像素值子集1040。在一些實例中,像素區值1020可包括像素區值330。在一些實例中,像素值子集1040可包括經保留像素值430,使得在圖形資料1000中不含有像素值230之部分,如所論述。如本文所描述,圖形資料1000可儲存於記憶體中或自記憶體進行擷取且被解壓縮。亦如本文所論述,可基於使用標準編解碼器或其類似者之壓縮而以經進一步壓縮之形式將圖形資料 1000之資料部分1004儲存於記憶體中。在一些實施中,標頭部分1002及資料部分1004可儲存於分離之實體記憶體區域中,且受到不同快取機制支援。
如關於圖2至圖4所論述,在一些實例中,可將像素影像塊劃分成像素區,使得每一像素位於一個且僅一個像素區中。對於個別像素區,可判定該像素區是否具有單一相異值(或該像素區是否具有兩個或兩個以上相異值)。若個別像素區具有單一相異值,則可向個別像素區指派像素區值或位元值以指示個別區具有單一相異值。此外,對於個別像素區,可儲存或保存僅單一相異值(且可捨棄重複之其他三個值)。然而,若個別像素區包括兩個或兩個以上相異值,則可設定用於個別像素區之像素區值或位元值(例如,設定至為「0」之位元值),且可儲存或保存個別像素區中之所有值。
在其他實例中,可以相同方式來處置或壓縮具有單一相異值之個別像素區,然而,可進一步壓縮具有兩個相異值之個別像素區,如下文將關於圖5至圖8所描述。
圖5為根據本發明之至少一些實施而配置的具有關聯像素區值之像素區520之實例影像塊510的說明圖。舉例來說,可自影像塊210產生影像塊510。舉例來說,對於個別像素區240,若關聯像素值230包括單一相異值(請參看圖2),則圖5之關聯個別像素區520可包括為「1」之像素區值。繼續該實例,若關聯像素值230包括兩個相異值,則關聯像素區320可包括為「2」之像素區值330。進一步關於本 實例,若關聯像素值230包括三個或三個以上相異值,則關聯像素區520可包括為「0」之像素區值。
舉例來說,影像塊210之像素區240-1,1包括三個相異值(「紅色」、「藍色」及「紫色」),且因此,像素區值-1,1為「0」。另外,像素區240-2,2包括單一相異值(「紫色」),且像素區值-2,2為「1」。再另外,像素區240-1,2包括兩個相異值(「藍色」及「紫色」),且像素區-1,2為「2」。在所說明實例中,像素區值可包括為「0」或「1」或「2」之位元值。一般而言,舉例來說,三個可用選項可需要2位元以進行指示。一般而言,可使用任何數目個位元或位元組合以標記或指示所描述之像素區值。在所描述實例中,對於個別像素區,可判定與對應於個別像素區之個別像素子集相關聯的值子集包括單一相異值、兩個相異值抑或三個或三個以上相異值。若個別像素區包括單一相異值,則可將像素區值設定至指示該像素區具有單一相異值之位元值(例如,如所說明之「1」)。若個別像素區包括兩個相異值,則可將像素區值設定至指示該像素區具有兩個相異值之位元值(例如,如所說明之「2」)。若個別像素區包括三個或三個以上相異值,則可將像素區設定至指示像素區具有三個或三個以上相異值之值(例如,如所說明之「0」)。一般而言,可使用任何像素區值或位元值或其類似者以指示像素區具有單一相異值、兩個相異值抑或三個或三個以上相異值,如所描述。
一般而言,關於圖2及圖5所描述之技術可提供指 示像素區具有單一相異值、兩個相異值抑或三個或三個以上相異值之像素區值。在像素區具有單一相異值之狀況下,可對於像素區保留僅單一相異值,如上文關於圖4所描述且如下文進一步所論述。另外,在像素區具有三個或三個以上相異值之狀況下,可保留用於像素區之所有值(例如,在2×2像素之像素區之所說明實例中的四個值),如上文關於圖4所描述且如下文進一步所論述。在像素區具有兩個相異值之狀況下,可對於像素區保留僅兩個相異值,但必須提供額外指示符以指示兩個相異值中之哪一者係與個別像素相關聯,如下文所論述。
圖6為根據本發明之至少一些實施而配置的一些像素區620具有單一相異值、一些像素區620具有兩個相異值且其他像素區620具有三個或三個以上相異值之像素區620之實例影像塊610的說明圖。舉例來說,如圖6所展示,可將一些像素值消除或捨棄為重複。一般而言,可將值630視為經保留像素值630或其類似者。如關於像素區620-2,2所展示,可對於像素區620-2,2保留單一相異值630-2,2(例如,「紫色」)。
另外,如關於像素區620-1,1所展示,對於具有三個或三個以上相異值之像素區,可保留所有值。舉例來說,像素區620-1,1包括三個相異值,且可保留值630-1,1(「紅色」)、值630-1,2(「藍色」)、值630-2,1(「藍色」及值630-2,2(「紫色」)中每一者。如所論述,一般而言,舉例來說,對於具有三個或三個以上相異值之個別像素區, 可保留所有值,且在此等像素區中,可實質上尚未取得壓縮。
亦如圖6所展示,對於具有兩個相異值之像素區(例如,像素區620-1,2及620-1,3),可保留兩個相異值。舉例來說,對於像素區620-1,2,可保留像素值630-1,2(1)(「藍色」)及像素值630-1,2(2)(「紫色」)。如所論述,此值減少可提供壓縮以滿足如本文所描述之位元預算。另外,對於像素區620-1,2中之每一個別像素,可使用像素指示符值以指示與該個別像素相關聯之像素值。
圖7為根據本發明之至少一些實施而配置的具有像素區值730及/或關聯像素指示符值740之像素區720之實例影像塊710的說明圖。如圖7所展示,對於具有單一相異值之像素區(例如,像素區720-1,4、720-2,1、720-2,2、720-2,3及720-2,4)及具有三個或三個以上相異值之像素區(例如,像素區720-1,1),可僅使用像素區值以指示像素區之值。舉例來說,對於像素區720-1,4,像素區值730-1,4(例如,為「1」之值)可指示像素區720-1,4具有單一相異值(亦即,「白色」;請參看圖6)。亦作為一實例,對於像素區720-1,1,像素區值730-1,1(例如,為「0」之值)可指示像素區720-1,1具有三個或三個以上相異值(亦即,「紅色」、「藍色」及「紫色」;請參看圖6)。
亦如圖7所展示,對於具有兩個相異值之像素區(例如,像素區720-1,2及720-1,3),可對於該像素區給定一像素區值,且可對於該像素區中之每一像素給定一像素指 示符值。舉例來說,對於像素區720-1,2,像素區值530-1,2(例如,為「2」之值)可指示像素區720-1,2具有兩個相異值(亦即,「藍色」及「紫色」;請參看圖6)。另外,像素指示符值740可指示兩個相異值中之哪一者係與個別像素中每一者相關聯。舉例來說,對於像素指示符值740-1,3,為「0」之值可指示像素240-1,3具有為「藍色」之關聯值(請參見圖2及圖6),具有為「1」之值的像素指示符值740-2,3可指示像素240-2,3具有為「紫色」之值,等等。在一些實例中,為「0」及「1」之值可用於像素指示符值740;然而,可使用任何適合值。
如所論述,在儲存或保存與影像塊相關聯之圖形資料時,消除重複像素值可節省記憶體、記憶體頻寬異動或其類似者,且可改良系統效能。舉例來說,此等壓縮技術可滿足如本文所描述之位元預算。亦如所論述,在一些實例中,可使用標準編解碼器來進一步壓縮圖形資料以滿足位元預算或較嚴格之位元預算,或其類似者。詳言之,在一些實施中,用於保存或儲存(或傳遞至編解碼器)與影像塊相關聯之圖形資料的標準技術可對於每一像素220提供一值(請參看圖2),從而重複顯著數目個像素值230。與此對比,可在沒有資訊遺失之情況下使用本文所描述之技術來實質上壓縮與影像塊710相關聯之圖形資料。
現在再次轉至圖10,圖10為根據本發明之至少一些實施而配置的實例圖形資料1000之說明圖。如圖10所展示且如所論述,圖形資料1000可包括標頭部分1002及/或資 料部分1004。如所論述,標頭部分1002可包括一或多個指示符1008,諸如,指示符1008,其可指示資料部分1004是否根據本文所描述之技術而壓縮。如所展示,資料部分1004可包括像素區值1020、像素指示符值1030及/或像素值子集1040。在一些實例中,像素區值1020可包括像素區值330或530。在一些實例中,像素指示符值1030可包括像素指示符值740。在一些實例中,像素值子集1040可包括經保留像素值630,使得在圖形資料1000中不含有像素值230之部分,如所論述。如本文所描述,圖形資料1000可儲存於記憶體中或自記憶體進行擷取且被解壓縮。亦如本文所論述,可基於使用標準編解碼器或其類似者之壓縮而以經進一步壓縮之形式將圖形資料1000之資料部分1004儲存於記憶體中。
如下文將較詳細地所論述,可使用諸如電腦實施系統之系統以執行本文結合圖1至圖7所論述之各種操作中的一些或全部。
圖8為根據本發明之至少一些實施而配置的說明實例程序800之流程圖。一般而言,程序800可提供用於在圖形渲染中提供壓縮之電腦實施方法。在所說明實施中,程序800可包括如由區塊802、804、806、808及/或810中之一或多者所說明的一或多個操作、功能或動作。作為非限制性實例,本文將參考上文關於圖1至圖7所論述之操作及下文所論述之實例系統100來描述程序800。
可利用程序800作為用於在圖形渲染中提供壓縮 之電腦實施方法。程序800可開始於區塊802--「判定與像素影像塊之個別像素相關聯的值」,其中可判定與像素影像塊之個別像素相關聯的複數個值。舉例來說,可判定影像塊110之值v1至v32或影像塊210之值230。一般而言,可藉由諸如(例如)各種渲染技術之任何適合技術來判定值。在一些實例中,渲染可包括應用超取樣抗頻疊技術、多取樣抗頻疊技術或其類似者中至少一者。在其他實例中,判定複數個值可包括存取與像素影像塊相關聯之圖形資料(例如,經由快取記憶體或緩衝器或其類似者)。舉例來說,圖形資料可包括複數個值。舉例來說,在快取收回(cache evict)時可發生圖形資料之此存取。
處理可自操作802繼續至操作804--「判定像素影像塊之像素區」,其中可基於像素影像塊來判定複數個像素區。在一些實例中,可基於像素220之影像塊210來判定像素區240或其類似者。每一像素區可包括個別像素之對應子集。舉例來說,像素區240-1,1可包括對應像素子集,其包括像素220(請參看圖2)之像素220-1,1、220-1,2、220-2,1及220-2,2,等等。在一些實例中,可將像素影像塊劃分成像素區,使得該影像塊之每一像素位於一個且僅一個像素區中。
處理可自操作804繼續至操作806--「判定個別像素區之像素值具有單一相異值」,其中對於複數個像素區中之個別像素區,可判定與對應於該個別像素區之個別像素子集相關聯的值子集包括單一相異值。舉例來說,對於 像素區240-2,1,可判定與個別像素220-3,1、220-3,2、220-4,1及220-4,2之子集相關聯的值230-3,1、230-3,2、230-4,1及230-4,2之子集可包括單一相異值(例如,「紫色」),如圖2所展示。
處理可自操作806繼續至操作808--「對於個別像素區設定指示該像素區具有單一相異值之像素區值」,其中可對於個別像素區將像素區值設定至指示個別像素區包含單一相異值之位元值。舉例來說,可將像素區值330-2,1或像素區值530-2,1設定至為「1」之位元值或其類似者以指示像素區240-2,1包括單一相異值(請參看圖3及圖5)。
處理可自操作808繼續至操作810--「儲存包括像素區值及單一相異值之圖形資料」,其中可儲存包括與個別像素區相關聯之像素區值及單一相異值的圖形資料。舉例來說,圖形資料可儲存於記憶體中。舉例來說,可儲存像素區值330或530及/或經保留值430及/或630。在一些實例中,圖形資料可包括圖形資料1000。如所論述,在一些實例中,僅在圖形資料滿足位元預算時才可以經壓縮格式來儲存圖形資料。在此等實例中,可比較用於圖形資料之位元的數目與位元預算。若用於圖形資料之位元的數目小於位元預算,則可儲存圖形資料。若用於圖形資料之位元的數目大於位元預算,則可儲存包括與像素影像塊之個別像素相關聯之複數個值的其他圖形資料。
如圖8所展示,在一些實例中,可連續地執行區塊802至808。然而,如本文所論述,一般而言,可以除了 如所展示之次序以外的次序來執行圖8之操作,且可完全地跳過一些操作。另外,如所描述,圖8之操作可與關於圖3及圖4所描述之操作或關於圖5至圖7所描述之操作相關聯。
舉例來說,在可將像素區壓縮至單一相異值之狀況下,圖8描述關於圖3及圖4所執行之操作。如所論述,在可不壓縮像素區之狀況下,可將所有關聯像素值保留及儲存為圖形資料1000之部分。舉例來說,對於複數個像素區中之個別像素區,可判定出與該個別像素區中之個別像素相關聯的值子集包括兩個或兩個以上相異值。舉例來說,對於像素區240-1,1,與像素區240-1,1中之像素220-1,1、220-1,2、220-2,1及220-2,2相關聯的值230-1,1、230-1,2、230-2,1及230-2,2之子集包括三個相異值(例如,「紅色」、「藍色」及「紫色」)。在此等實例中,可對於個別像素區將像素區值設定至指示個別像素區具有三個或三個以上相異值之位元值。舉例來說,可將像素區值330-1,1設定至為「0」之值。另外,圖形資料1000可包括像素區值330-1,1,及對應於個別像素區240-1,1之兩個或兩個以上相異值(例如,「紅色」、「藍色」及「紫色」)。在一些實例中,兩個或兩個以上相異值可包括三個或四個或四個以上相異值。
在其他實例中,圖8之操作可與關於圖5至圖7所描述之操作相關聯,如關於圖9進一步所論述。圖9為根據本發明之至少一些實施而配置的說明實例程序之流程圖。一般而言,程序900可提供用於在圖形渲染中提供壓縮之電 腦實施方法。在所說明實施中,程序900可包括如由區塊901、902、903、904、905、906、907、908、909、910及/或911中之一或多者所說明的一或多個操作、功能或動作。作為非限制性實例,本文將參考上文關於圖2及圖5至圖7所論述之操作及下文所論述之實例系統100來描述程序900。
可利用程序900作為用於在圖形渲染中提供壓縮之電腦實施方法。程序900可開始於以下操作(未圖示):判定與像素影像塊之個別像素相關聯的值,其中可判定與像素影像塊之個別像素相關聯的複數個值;及判定像素影像塊之像素區,其中可基於像素影像塊來判定複數個像素區,如本文所論述。舉例來說,可判定影像塊110之值v1至v32或影像塊210之值230,且可基於(例如)像素220之影像塊210來判定像素區240或其類似者。
處理可繼續於操作901--「判定像素區i中之相異值的數目」,其中可判定像素區i中之相異值的數目。舉例來說,在像素區內,可比較像素值以判定相異值之數目。舉例來說,對於像素區240之個別像素區(諸如,像素區240-1,1),可比較像素值230-1,1、230-1,2、230-2,1及230-2,2以判定像素區240-1,1中之相異值的數目。如本文所論述,在各種實例中,像素區可具有單一相異值、兩個相異值或三個或三個以上相異值,或其類似者。一般而言,在操作901處之第一反覆時,可評估第一像素區,且在後續反覆時,可評估後續像素區,直至評估個別像素區中每一者為止,如下文進一步所描述。一般而言,i可為可自1計數至T之計 數器變數,其中T為像素區之總數(例如,在所說明實例中為8)。
取決於像素區中之相異值的數目,處理可繼續於操作902、903或904。如所展示,若像素區具有一個相異值,則處理可繼續於區塊902--「設定像素區值以指示單一相異值」,其中可對於個別像素區將像素區值設定至指示個別像素區包含單一相異值之位元值。舉例來說,可將像素區值530-2,1設定至為「1」之位元值或其類似者以指示像素區240-2,1包括單一相異值(請參看圖5)。
若像素區具有兩個相異值,則處理可繼續於區塊903--「設定像素區值以指示兩個相異值」,其中可對於個別像素區將像素區值設定至指示個別像素區包含兩個相異值之位元值。舉例來說,可將像素區值530-1,2設定至為「2」之位元值或其類似者以指示像素區240-1,2包括兩個相異值(請參看圖5)。
自操作903,處理可繼續於操作905--「對於像素區中之每一像素設定一像素值以指示該像素之對應相異值」,其中可對於具有兩個相異值之像素區中的個別像素設定像素指示符值以指示與個別像素相關聯之相異值(亦即,兩個相異值中之哪一者)。舉例來說,可將像素指示符值740-1,3設定至「0」以指示像素720-1,3係與為「藍色」之像素值730-1,3相關聯,且可將像素指示符值740-1,4設定至「1」以指示像素720-1,4係與為「紫色」之像素值730-1,1相關聯,等等。
若像素區具有三個或三個以上相異值,則處理可繼續於區塊904--「設定像素區值以指示3個或3個以上相異值」,其中可對於個別像素區將像素區值設定至指示個別像素區包含三個或三個以上相異值之位元值。舉例來說,可將像素區值530-1,1設定至為「0」之位元值或其類似者以指示像素區240-1,1包括三個或三個以上相異值(請參看圖5)。
處理可自操作902、905或904中任一者繼續於操作906,如所說明。在操作906處,「i=i+1」,其中可使計數器變數i增加1。舉例來說,對於程序900,使i增加1可自一個像素區移動至下一像素區。
程序可自操作906繼續至操作907--「i>NPR?」,其中可判定i是否大於像素區之數目,使得NPR可為像素區之數目。亦即,若i大於像素區之數目,則先前反覆可能已用於最後像素區,且程序900可繼續於操作911。若i不大於像素區之數目,則程序900可繼續於操作901以用於另一反覆,如上文所描。
在操作911--「儲存圖形資料」處,可儲存經由所描述反覆而產生之圖形資料。舉例來說,圖形資料可儲存於記憶體或其類似者中。如所展示,取決於所描述反覆之結果,儲存圖形資料可包括操作908、909及/或910。如操作908--「儲存像素區值及單一相異值」處所展示,儲存圖形資料可包括儲存指示像素區具有單一相異值之像素區值,及儲存單一相異值。對於具有單一相異值之像素 區可發生此等操作,如所論述。相似地,如操作909--「儲存像素區值、像素指示符值及兩個相異值」處所展示,儲存圖形資料可包括儲存指示像素區具有兩個相異值之像素區值、儲存指示兩個相異值中之哪一者係與像素區中之個別像素相關聯的像素指示符值,及儲存兩個相異值。對於具有兩個相異值之像素區可發生此等操作,如所論述。另外,如操作910--「儲存像素區值及3個或3個以上相異值」處所展示,儲存圖形資料可包括儲存指示像素區具有三個或三個以上相異值之像素區值,及儲存三個或三個以上相異值。對於具有三個或三個以上相異值之像素區可發生此等操作,如所論述。在一些實例中,可將具有三個或三個以上相異值之像素區視為預設,且在此等實例中可不儲存像素區值。
一般而言,程序800及/或900可在圖形渲染中提供壓縮,如本文所論述。按需要,可將程序800及/或程序900串行地抑或並行地重複任何次數。此外,一般而言,可經由硬體、軟體、韌體或其組合而實施程序800及/或程序900,如本文進一步所論述。
圖11為根據本發明之至少一些實施而配置的說明實例程序1100之流程圖。一般而言,程序1100可提供用於在圖形渲染中提供解壓縮之電腦實施方法。在所說明實施中,程序1100可包括如由區塊1102、1104及/或1106中之一或多者所說明的一或多個操作、功能或動作。作為非限制性實例,本文將參考上文關於圖1至圖10所論述之操作及 下文所論述之實例系統100來描述程序1100。
可利用程序1100作為用於在圖形渲染中提供解壓縮之電腦實施方法。程序1100可開始於區塊1102--「存取圖形資料」,其中可存取圖形資料。舉例來說,圖形資料可包括像素區值、像素指示符值及/或像素值,如本文所描述。舉例來說,可經由記憶體而存取圖形資料。在一些實例中,圖形資料可包括像素區值330及經保留值430,如關於本文中之圖3及圖4及別處所論述。在一些實例中,圖形資料可包括像素區值530、像素指示符值740及經保留值630,如關於本文中之圖5至圖7及別處所論述。在一些實例中,圖形資料可包括圖形資料1000。
處理可自操作1102繼續至操作1104--「判定圖形資料中之值的數目」,其中可基於經存取圖形資料來判定值之數目。舉例來說,值之數目可包括經保留值430之數目或經保留值630之數目,或其類似者。
處理可自操作1104繼續至操作1106--「藉由基於像素區值及/或像素指示符值來分配值而判定用於像素影像塊之個別像素的像素值」,其中可至少部分地基於經存取圖形資料來判定與像素影像塊之個別像素相關聯的複數個值。舉例來說,可對於影像塊210之像素220判定像素值230。判定像素值可基於經存取圖形資料,及反向所描述之壓縮步驟。舉例來說,對於具有單一相異值之像素區,可將單一相異值分配至對應像素區中之每一像素。舉例來說,對於像素區320-2,1,可將為「紫色」之值分配至像素區 240-2,1中之每一像素(例如,像素220-3,1、220-3,2、220-4,1及220-4,2)。相似地,在未實施像素指示符值之實例中(例如,如關於圖3及圖4所論述),對於具有兩個或兩個以上相異值之像素區,可自用於關聯像素之圖形資料讀取像素值。
若實施像素指示符值,則對於具有兩個相異值之像素區,可將兩個相異值分配至對應像素區中之每一像素。在一些實例中,舉例來說,可設定預設,使得像素區中之第一像素(在次序上)與第一值相關聯,且對於第一像素可無需存取指示符。對於像素區中之剩餘像素,可存取像素指示符值,且可將關聯值分配至像素。舉例來說,對於像素區720-1,2,可在像素220-1,3處分配為「藍色」之值,此係因為像素220-1,3在次序上為第一者,且「藍色」可與為「0」之像素指示符值相關聯。對於剩餘像素,可存取像素指示符值720-1,2、720-1,2及720-1,2以分配「藍色」(若像素指示符值為「0」)或「紫色」(若像素指示符值為「1」)。另外,在實施像素指示符值之此等實例中,若像素區具有三個或三個以上相異值,則可自用於關聯像素之圖形資料讀取像素值。
一般而言,程序1100可在圖形渲染中提供解壓縮,如本文所論述。按需要,可將程序1100串行地抑或並行地重複任何次數。此外,一般而言,可經由硬體、軟體、韌體或其組合而實施程序1100,如本文進一步所論述。如所論述,可在已使用本文所論述之技術之後在剩餘值上使用 標準壓縮技術。因此,可在可使用本文所論述之解壓縮技術之前應用對應於標準壓縮技術之標準解壓縮技術。
一般而言,本文所論述之技術可提供實質資料壓縮。舉例來說,在彩色壓縮之上下文中,相比於先前方法,可實質上改良影像塊壓縮之成功率(亦即,壓縮是否成功地滿足如本文所論述之位元預算)。舉例來說,標準彩色壓縮技術可在用於各種影像塊之約20%至40%的範圍內達成50%之壓縮位元預算成功率。在使用本文不運用像素指示符值而論述之技術的情況下,可在用於各種影像塊之約80%至95%或更大的範圍內達成50%之壓縮位元預算成功率。在使用本文運用像素指示符值而論述之技術(例如,如所論述之四重調色技術)的情況下,可在用於各種影像塊之約85%至100%的範圍內達成50%之壓縮位元預算成功率。
此外,可將本文所論述之技術一般化至具有C個可壓縮色彩的N×N像素之像素區,該等可壓縮色彩可要求每像素編碼log2C個位元。一般而言,可仍使用兩個位元像素區值以指示像素區包含單一相異值、C個或更少可壓縮色彩,抑或C個以上色彩。在此一般化實例中,像素區值可包括:用以指示區包括單一相異值之第一值;用以指示區包括C個或更少色彩之第二值,可每像素使用log2C個位元來壓縮該等色彩;或用以指示區包括C個以上色彩之第三值,在此狀況下儲存所有C個色彩。
可在下文關於圖12較詳細地所論述之實施的一或多個實例中說明與程序800、900或1100相關之一些額外 及/或替代性細節。
圖12為根據本發明之至少一些實施而配置的用於在圖形渲染中提供壓縮及/或解壓縮之實例系統100及程序1200的說明圖。在所說明實施中,程序1200可包括如由動作1201、1202、1203、1204、1205、1206、1207、1208、1209、1210、1211及/或1212中之一或多者所說明的一或多個操作、功能或動作。作為非限制性實例,本文亦將參考圖13之實例視訊寫碼系統100來描述程序900,如下文所描述。
在所說明實施中,系統100可包括邏輯模組1210、其類似者及/或其組合。舉例來說,模組1210可包括:記憶體儲存區1220;圖形處理單元1230,其可包括圖形資料壓縮/解壓縮(「編解碼器」)模組1235;及圖形緩衝器1240、其類似者及/或其組合。在各種實例中,圖形資料編解碼器模組1235可提供壓縮或解壓縮或此兩者。
舉例來說,圖形資料編解碼器模組1235可經組配以:判定與像素影像塊之個別像素相關聯的複數個值;至少部分地基於像素影像塊,判定複數個像素區,使得每一像素區包括個別像素之對應子集;對於複數個像素區中之個別像素區,判定與對應於個別像素區之個別像素子集相關聯的值子集具有單一相異值;將用於個別像素區之像素區值設定至指示個別像素區具有單一相異值之位元值;及在圖形緩衝器1240中儲存包括與個別像素區相關聯之像素區值及單一相異值的圖形資料1245。以此方式,圖形資料 編解碼器模組1235可為諸如(例如)與像素影像塊之像素相關聯之值的圖形資料提供壓縮。
圖形資料編解碼器模組1235(或圖形處理單元1230之另一模組)可經進一步組配以:存取圖形資料1245;至少部分地基於圖形資料1245來判定圖形資料1245中之值的數目;及至少部分地基於圖形資料1245來判定與像素影像塊之個別像素相關聯的複數個值。舉例來說,判定與像素影像塊之個別像素相關聯的複數個值可包括:至少部分地基於指示單一相異值對應於每一像素之像素區值,將單一相異值分配至個別像素區之每一像素;至少部分地基於指示像素區具有兩個相異值之像素區值及個別像素指示符值,將兩個相異值中之第一值分配至像素區中之個別像素;及/或將三個或三個以上相異值分配至具有指示像素區具有三個或三個以上相異值之像素區值之像素區的像素。以此方式,圖形資料編解碼器模組1235(或圖形處理單元1230之另一模組)可為諸如(例如)與像素影像塊之像素相關聯之值的圖形資料提供解壓縮。如所論述,在一些實例中,圖形資料編解碼器模組1235可經組配以提供壓縮及解壓縮兩者。在其他實例中,可由分離之模組(例如,壓縮模組及解壓縮模組)提供壓縮及解壓縮。
可利用程序1200作為用於在圖形渲染中提供壓縮及/或解壓縮之電腦實施方法。程序1200可開始於區塊1201--「渲染至影像塊」,其中可渲染像素影像塊。可使用任何適合技術來渲染該影像塊,且該影像塊可產生如本 文所論述之像素影像塊。渲染可基於諸如影像資料、模型或模型資料、場景資料、向量資料、點陣資料或其類似者之任何適合資料。
處理可自操作1201繼續至操作1202--「存取圖形資料」,其中圖形資料編解碼器模組1235可經由記憶體儲存區1220之圖形緩衝器1240而存取圖形資料1245。圖形資料1245可含有如本文所論述之任何資料(被進一步壓縮抑或未被進一步壓縮)。在一些實例中,圖形資料可包括諸如(例如)像素值230之像素值。
處理可自操作1202繼續至操作1203--「判定與個別像素相關聯之值」,其中可判定與像素影像塊之個別像素相關聯的複數個值。舉例來說,可判定影像塊110之值v1至v32或影像塊210之值230。如所展示,在一些實例中,判定複數個值可包括經由圖形緩衝器940而存取圖形資料945。舉例來說,圖形資料945可包括複數個值。舉例來說,在快取收回時可發生圖形資料之此存取。
處理可自操作1203繼續至操作1204--「判定像素區及像素區值」,其中可基於像素影像塊來判定複數個像素區,且其中可對於該等像素區判定像素區值。在一些實例中,可基於像素220之影像塊210來判定像素區240或其類似者。如所描述,每一像素區可包括個別像素之對應子集。舉例來說,像素區240-1,1可包括對應像素子集,其包括像素220(請參看圖2)之像素220-1,1、220-1,2、220-2,1及220-2,2,等等。在一些實例中,可將像素影像塊劃分成像 素區,使得影像塊之每一像素位於一個且僅一個像素區中。另外,可對於像素區判定及/或設定像素區值,如本文所描述。舉例來說,可在各種實施例中判定及/或設定像素區值330或像素區值530。
處理可自操作1204繼續至操作1205--「視情況設定像素指示符值」,其中在一些實施例中,可設定像素指示符值。如所論述,在一些實例中,可不使用像素指示符值,且若像素區具有兩個或兩個以上相異值,則可保留用於像素區之所有相異值。已關於(例如)圖3及圖4而論述此等實例。在其他實例中,像素指示符值可用於額外壓縮。舉例來說,在使用像素指示符值之實例中,在具有兩個相異值之像素區中,可對於該像素區中之個別像素設定像素指示符值以指示與該個別像素相關聯之相異值(亦即,兩個相異值中之哪一者)。舉例來說,可將像素指示符值740-1,3設定至「0」以指示像素720-1,3係與為「藍色」之像素值730-1,3相關聯,且可將像素指示符值740-1,4設定至「1」以指示像素720-1,4係與為「紫色」之像素值730-1,1相關聯,等等。
處理可自操作1205繼續至操作1206--「視情況壓縮圖形資料」,其中在儲存圖形資料之前,可壓縮複數個值之子集或複數個像素索引值中至少一者。如在一些實例中所論述,圖形資料之進一步壓縮可允許該資料達到位元預算或其類似者。
處理可自操作1206繼續至操作1207--「判定圖形資料中之位元的數目,且比較該數目與位元預算」,其中 可判定用於圖形資料之位元的數目,且可判定位元預算。舉例來說,可藉由自像素區值、像素指示符值(若被使用)及經保留值添加位元貢獻來判定位元之數目,如所論述。一般而言,若圖形資料小於所要位元預算(運用抑或不運用操作1206處所論述之進一步壓縮),則壓縮可能已成功。在此等實例中,如本文所論述而壓縮且視情況經進一步壓縮之圖形資料可儲存於記憶體中。一般而言,若不滿足位元預算,則壓縮可能已失敗,且可使用標準技術來未壓縮地儲存個別像素值。
處理可自操作1207繼續至操作1208--「儲存圖形資料」,其中可儲存如所論述的包含像素區值、像素指示符值(若被使用)及經保留值之圖形資料。舉例來說,圖形資料1245可儲存於經由記憶體儲存區1220而實施之圖形緩衝器1240中。在一些實例中,可儲存像素區值330及經保留值430。在一些實例中,可儲存像素區值530、像素指示符值740及經保留值630。在一些實例中,圖形資料1245可包括圖形資料1000。
一般而言,操作1201至1208可提供圖形資料壓縮。當將圖形資料儲存至圖形緩衝器1240中時、在圖形緩衝器1240之快取收回時,或其類似者,可發生此壓縮。
如下,操作1209至1212可提供圖形資料壓縮。舉例來說,處理可自操作1208繼續至操作1209--「存取圖形資料」,其中可存取圖形資料。在一些實例中,如所論述,圖形資料1245可包括像素區值330及經保留值430。在一些 實例中,如所論述,圖形資料1245可包括像素區值530、像素指示符值740及經保留值630。亦如所論述,在一些實例中,圖形資料1245可包括圖形資料1000。
處理可自操作1209繼續至操作1210--「視情況解壓縮圖形資料」,其中可在一些實例中解壓縮圖形資料。舉例來說,圖形資料可包括使用標準編解碼器而進一步壓縮以滿足位元預算之資料。在此等實例中,可在如本文所論述之處理之前使用標準編解碼器來解壓縮經進一步壓縮之圖形資料。一般而言,可在圖形資料未被進一步壓縮之實施中跳過操作1210。在此等實施中,處理可自操作1209繼續至1211。
在任一狀況下,處理可繼續於操作1211--「判定圖形資料中之值的數目」,其中可基於經存取圖形資料來判定值之數目。舉例來說,值之數目可包括經保留值430之數目或經保留值630之數目,或其類似者。
處理可自操作1211繼續至操作1212--「判定像素值」,其中可至少部分地基於經存取圖形資料來判定與像素影像塊之個別像素相關聯的複數個值。舉例來說,可對於影像塊210之像素220判定像素值230。判定像素值可基於經存取圖形資料,及反向所描述之壓縮步驟。舉例來說,對於具有單一相異值之像素區,可將單一相異值分配至對應像素區中之每一像素。舉例來說,對於像素區320-2,1,可將為「紫色」之值分配至像素區240-2,1中之每一像素(例如,像素220-3,1、220-3,2、220-4,1及220-4,2)。相似地, 在未實施像素指示符值之實例中(例如,如關於圖3及圖4所論述),對於具有兩個或兩個以上相異值之像素區,可自用於關聯像素之圖形資料讀取像素值。
若實施像素指示符值,則對於具有兩個相異值之像素區,可將兩個相異值分配至對應像素區中之每一像素。在一些實例中,舉例來說,可設定預設,使得像素區中之第一像素(在次序上)與第一值相關聯,且對於第一像素可無需存取指示符。對於像素區中之剩餘像素,可存取像素指示符值,且可將關聯值分配至像素。舉例來說,對於像素區720-1,2,可在像素220-1,3處分配為「藍色」之值,此係因為像素220-1,3在次序上為第一者,且「藍色」可與為「0」之像素指示符值相關聯。對於剩餘像素,可存取像素指示符值720-1,2、720-1,2及720-1,2以分配「藍色」(若像素指示符值為「0」)或「紫色」(若像素指示符值為「1」)。另外,在實施像素指示符值之此等實例中,若像素區具有三個或三個以上相異值,則可自用於關聯像素之圖形資料讀取像素值。
一般而言,操作1209至1212可提供圖形資料解壓縮。當使用或準備使用圖形資料1245時,可發生此解壓縮。舉例來說,此經解壓縮圖形資料可用於渲染影像塊、顯示影像,或其類似者。
一般而言,按需要,可將程序1200串行地抑或並行地重複任何次數。此外,一般而言,可經由硬體、軟體及/或韌體而實施圖形資料編解碼器模組1235。如所展示, 在一些實施中,可經由圖形處理單元1230而實施圖形資料編解碼器模組1235。在其他實施中,可經由軟體而實施圖形資料編解碼器模組1235,該軟體係經由一或多個中央處理單元而實施。一般而言,可在(例如)系統層級或使用者層級處啟用或啟用圖形資料編解碼器模組1235及/或本文所論述之操作。
雖然本文所論述之實例程序800、900、1100、1200及其他程序的實施可包括採取以所說明次序而展示之所有區塊或操作,但本發明在此方面並不受到限制,且在各種實例中,本文所論述之程序的實施可包括僅採取所展示及/或次序不同於所說明次序之區塊的子集。
另外,可回應於由一或多個電腦程式產品提供之指令而採取本文所論述之區塊或操作中的任何一或多者(諸如,關於圖1至圖12所說明及論述之操作)。此等程式產品可包括提供指令之信號承載媒體,該等指令在由(例如)處理器執行時可提供本文所描述之功能性。可在任何形式之電腦可讀媒體中提供電腦程式產品。因此,舉例來說,包括一或多個處理器核心之處理器可採取本文所論述之區塊或操作中的一或多者。
如本文所描述之任何實施中所使用,術語「模組」指代經組配以提供本文所描述之功能性的軟體、韌體及/或硬體之任何組合。軟體可被體現為軟體套件、程式碼及/或指令集或指令,且如本文所描述之任何實施中所使用,「硬體」可單獨地或以任何組合包括(例如)固線式電路系統、可 規劃電路系統、狀態機電路系統,及/或儲存由可規劃電路系統執行之指令的韌體。模組可共同地或個別地被體現為形成較大系統(例如,積體電路(IC)、系統單晶片(SoC)等等)之部分的電路系統。
圖13為根據本發明之至少一些實施而配置的用於在圖形渲染中提供壓縮之實例系統100的說明圖。在所說明實施中,系統100可包括一或多個中央處理單元1306、一或多個記憶體儲存區1220、一或多個圖形處理單元1230、圖形緩衝器1240及/或顯示裝置1370。中央處理單元1306、記憶體儲存區1220、圖形處理單元1230、緩衝器1240及/或顯示裝置1370可能夠經由(例如)匯流排或其他管道而彼此通信。在各種實施中,顯示裝置1370可整合於系統100中,或與系統100分離地被實施。
如圖13所展示,且如上文所論述,可經由圖形處理單元1230而實施圖形資料編解碼器模組1235。在其他實例中,可經由中央處理單元1306而實施圖形資料編解碼器模組1235。如所展示,圖形處理單元1230可包括圖形資料編解碼器模組1235。圖形處理單元1230可以通信方式耦接至圖形緩衝器1240。圖形資料編解碼器模組1235可經組配以:判定與像素影像塊之個別像素相關聯的複數個值;至少部分地基於像素之影像塊,判定複數個像素區,使得每一像素區包含個別像素之對應子集;對於複數個像素區中之個別像素區,判定與對應於個別像素區之個別像素子集相關聯的值子集包括單一相異值;將用於個別像素區之像 素區值設定至指示個別像素區包含單一相異值之位元值;及在圖形緩衝器1240中儲存包括與個別像素區相關聯之像素區值及單一相異值的圖形資料1245,及/或提供如本文所論述之其他操作。一般而言,記憶體儲存區1220可以通信方式耦接至圖形處理單元1230。記憶體儲存區1220可包括圖形緩衝器1240,其可由圖形資料編解碼器模組1235存取以擷取圖形資料1245。此外,顯示裝置1370可經組配以至少部分地基於圖形資料1245來顯示輸出影像資料(未圖示)。如所論述,圖形資料編解碼器模組1235可經進一步組配以存取及/或解壓縮圖形資料1245,如本文所論述。
將瞭解,圖13所說明之模組可包括多種軟體及/或硬體模組,及/或可經由軟體及/或硬體而實施之模組。舉例來說,可經由中央處理單元1306及/或圖形處理單元1230而將模組實施為軟體,或可經由圖形處理單元1230之一或若干專用硬體部分而實施模組。此外,所展示之記憶體儲存區1220可為用於(例如)中央處理單元1206及/或圖形處理單元1220之共用記憶體。此外,可經由記憶體儲存區1220而實施或與記憶體儲存區1220分離地實施圖形緩衝器1240,及/或可經由可包括其他緩衝器部分之一般緩衝器(諸如,渲染緩衝器或其類似者)而實施圖形緩衝器1240。又,可以多種方式來實施系統100。舉例來說,可將系統100(排除顯示裝置1370)實施為具有圖形處理器、四核心中央處理單元、機載快取記憶體及記憶體控制器輸入/輸出(I/O)模組(未圖示)之單一晶片或裝置。在其他實例中,可將系統100(再次 排除顯示裝置1370)實施為晶片組。
中央處理單元1306可包括任何適合實施,其包括(例如)微處理器、多核心處理器、特殊應用積體電路、晶片、晶片組或其類似者。此外,圖形處理單元1230可包括任何適合實施,其包括(例如)處理器、多核心處理器、特殊應用積體電路、可規劃邏輯裝置、圖形卡、整合式圖形、一般用途圖形處理單元或其類似者。另外,記憶體儲存區1220及/或圖形緩衝器1240可為任何類型之記憶體,諸如,依電性記憶體(例如,靜態隨機存取記憶體(Static Random Access Memory,SRAM)、動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)等等)或非依電性記憶體(例如,快閃記憶體等等),等等。在一非限制性實例中,可經由快取記憶體而實施記憶體儲存區1220及/或圖形緩衝器1240。在各種實例中,可將系統100實施為晶片組或實施為系統單晶片。
圖14說明根據本發明之實例系統1400。在各種實施中,系統1400可為媒體系統,但系統1400並不限於此上下文。舉例來說,系統1400可併入至個人電腦(personal computer,PC)、膝上型電腦、超膝上型電腦、平板電腦、觸控板、攜帶型電腦、手持型電腦、掌上型電腦、個人數位助理(personal digital assistant,PDA)、蜂巢式電話、組合蜂巢式電話/PDA、電視、智慧型裝置(例如,智慧型電話、智慧型平板電腦或智慧型電視)、行動網際網路裝置(mobile internet device,MID)、傳訊裝置、資料通信裝置等等中。
在各種實施中,系統1400包括耦接至顯示器1420之平台1402。平台1402可自諸如內容服務裝置1430或內容遞送裝置1440或其他相似內容來源之內容裝置接收內容。可使用包括一或多個導覽特徵之導覽控制器1450以與(例如)平台1402及/或顯示器1420互動。下文較詳細地描述此等組件中每一者。
在各種實施中,平台1402可包括晶片組1405、處理器1410、記憶體1412、儲存體1414、圖形子系統1415、應用程式1416及/或無線電1418之任何組合。晶片組1405可在處理器1410、記憶體1412、儲存體1414、圖形子系統1415、應用程式1416及/或無線電1418之間提供內部通信。舉例來說,晶片組1405可包括能夠提供與儲存體1414之內部通信的儲存體配接器(未描繪)。
可將處理器1410實施為複雜指令集電腦(Complex Instruction Set Computer,CISC)或精簡指令集電腦(Reduced Instruction Set Computer,RISC)處理器、x86指令集相容處理器、多核心或任何其他微處理器或中央處理單元(CPU)。在各種實施中,處理器1410可為雙核心處理器、雙核心行動處理器等等。
可將記憶體1412實施為依電性記憶體裝置,諸如但不限於,隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或靜態RAM(SRAM)。
可將儲存體1414實施為非依電性儲存裝置,諸如但不限於,磁碟機、光碟機、磁帶機、內部儲存裝置、附 接儲存裝置、快閃記憶體、電池備用式同步DRAM(SDRAM)及/或網路可存取儲存裝置。在各種實施中,儲存體1414可包括用以在(例如)包括多個硬碟機時增加針對有價值之數位媒體之儲存效能增強型保護的技術。
圖形子系統1415可執行諸如靜態或視訊之影像的處理以供顯示。舉例來說,圖形子系統1415可為圖形處理單元(GPU)或視覺處理單元(VPU)。可使用類比介面或數位介面而以通信方式耦接圖形子系統1415及顯示器1420。舉例來說,該介面可為高清晰度多媒體介面、顯示埠、無線HDMI及/或無線符合HD技術中任一者。圖形子系統1415可整合至處理器1410或晶片組1405中。在一些實施中,圖形子系統1415可為以通信方式耦接至晶片組1405之獨立式卡。
本文所描述之圖形及/或視訊處理技術可實施於各種硬體架構中。舉例來說,圖形及/或視訊功能性可整合於晶片組內。替代性地,可使用離散圖形及/或視訊處理器。作為又一實施,可由一般用途處理器(包括多核心處理器)提供圖形及/或視訊功能。在其他實施例中,該等功能可實施於消費型電子裝置中。
無線電1418可包括能夠使用各種適合無線通信技術而傳輸及接收信號之一或多個無線電。此等技術可涉及橫越一或多個無線網路之通信。實例無線網路包括(但不限於)無線區域網路(wireless local area network,WLAN)、無線個人區域網路(wireless personal area network,WPAN)、無 線都會區域網路(wireless metropolitan area network,WMAN)、蜂巢式網路及衛星網路。在橫越此等網路進行通信時,無線電1418可根據呈任何版本之一或多種適用標準而操作。
在各種實施中,顯示器1420可包括任何電視類型監視器或顯示器。顯示器820可包括(例如)電腦顯示螢幕、觸控螢幕顯示器、視訊監視器、似電視裝置及/或電視。顯示器1420可為數位的及/或類比的。在各種實施中,顯示器1420可為全像顯示器。又,顯示器1420可為可接收視覺投影之透明表面。此等投影可輸送各種形式之資訊、影像及/或物件。舉例來說,此等投影可為用於行動擴增實境(mobile augmented reality,MAR)應用程式之視覺重疊。在一或多個軟體應用程式1416之控制下,平台1402可在顯示器1420上顯示使用者介面1422。
在各種實施中,內容服務裝置1430可由任何國家、國際及/或獨立服務代管,且因此可由平台1402經由(例如)網際網路而存取。內容服務裝置1430可耦接至平台1402及/或顯示器1420。平台1402及/或內容服務裝置1430可耦接至網路1460以向及自網路1460傳達(例如,發送及/或接收)媒體資訊。內容遞送裝置1440亦可耦接至平台1402及/或顯示器1420。
在各種實施中,內容服務裝置1430可包括有線電視盒、個人電腦、網路、電話、具備網際網路功能之裝置或能夠遞送數位資訊及/或內容之器具,及能夠在內容提供 者與平台1402及/顯示器1420之間經由網路1460或直接地單向或雙向傳達內容的任何其他相似裝置。將瞭解,可經由網路1460而向及自系統1400中之組件及內容提供者中任一者單向及/或雙向傳達內容。內容之實例可包括任何媒體資訊,其包括(例如)視訊、音樂、醫療及遊戲資訊等等。
內容服務裝置1430可接收諸如有線電視廣播節目之內容,其包括媒體資訊、數位資訊及/或其他內容。內容提供者之實例可包括任何纜線或衛星電視或無線電或網際網路內容提供者。所提供實例並不意欲以任何方式來限制根據本發明之實施。
在各種實施中,平台1402可自具有一或多個導覽特徵之導覽控制器1450接收控制信號。舉例來說,控制器1450之導覽特徵可用以與使用者介面1422互動。在實施例中,導覽控制器1450可為指標裝置,其可為允許使用者將空間(例如,連續及多維)資料輸入至電腦中之電腦硬體組件(具體而言,人性化介面裝置)。諸如圖形使用者介面(GUI)以及電視及監視器之許多系統允許使用者使用實體示意動作來控制電腦或電視且將資料提供至電腦或電視。
可藉由指標、游標、聚焦環或顯示於顯示器(例如,顯示器1420)上之其他視覺指示符的移動而在該顯示器上複製控制器1450之導覽特徵的移動。舉例來說,在軟體應用程式1416之控制下,可將位於導覽控制器1450上之導覽特徵映射至顯示於(例如)使用者介面1422上之虛擬導覽特徵。在實施例中,控制器1450可不為分離之組件,而是 整合至平台1402及/或顯示器1420中。然而,本發明並不限於本文所展示或描述之元件,或在本文所展示或描述之上下文中並不受到限制。
在各種實施中,舉例來說,驅動器(未圖示)可包括用以在啟用時使使用者能夠藉由在初始開機之後觸碰按鈕而即刻地接通及關斷比如電視之平台1402的技術。程式邏輯可允許平台1402將內容串流至媒體轉接器或其他內容服務裝置1430或內容遞送裝置1440,即使當該平台「關斷」時亦如此。另外,晶片組1405可包括針對(例如)7.1環場音效音訊及/或高清晰度(7.1)環場音效音訊之硬體及/或軟體支援。驅動器可包括用於整合式圖形平台之圖形驅動器。在實施例中,圖形驅動器可包含周邊組件互連(peripheral component interconnect,PCI)快速圖形卡。
在各種實施中,可整合系統1400所展示之組件中的任何一或多者。舉例來說,可整合平台1402及內容服務裝置1430,或可整合平台1402及內容遞送裝置1440,或可整合平台1402、內容服務裝置1430及內容遞送裝置1440。在各種實施例中,平台1402及顯示器1420可為整合式單元。舉例來說,可整合顯示器1420及內容服務裝置1430,或可整合顯示器1420及內容遞送裝置1440。此等實例並不意欲限制本發明。
在各種實施例中,可將系統1400實施為無線系統、有線系統,或此兩者之組合。當實施為無線系統時,系統1400可包括適合於經由無線共用媒體而通信之組件及介面, 諸如,一或多個天線、傳輸器、接收器、收發器、放大器、濾波器、控制邏輯等等。無線共用媒體之實例可包括無線頻譜之部分,諸如,RF頻譜等等。當實施為有線系統時,系統1400可包括適合於經由有線通信媒體而通信之組件及介面,諸如,輸入/輸出(I/O)配接器、用以將I/O配接器與對應有線通信媒體連接之實體連接器、網路介面卡(network interface card,NIC)、磁碟控制器、視訊控制器、音訊控制器及其類似者。有線通信媒體之實例可包括電線、纜線、金屬引線、印刷電路板(printed circuit board,PCB)、後擋板(backplane)、交換網狀架構、半導體材料、雙絞線、同軸纜線、光纖等等。
平台1402可建立一或多個邏輯或實體頻道以傳達資訊。資訊可包括媒體資訊及控制資訊。媒體資訊可指代表示意欲用於使用者之內容的任何資料。內容之實例可包括(例如)來自語音交談、視訊會議、串流視訊、電子郵件訊息、語音郵件訊息、文數字符號、圖形、影像、視訊、文字等等之資料。來自語音交談之資料可為(例如)話語資訊、無聲週期、背景雜訊、舒適雜訊、音調等等。控制資訊可指代表示意欲用於自動化系統之命令、指令或控制字的任何資料。舉例來說,控制資訊可用以經由系統而路由媒體資訊,或指示節點以預定方式來處理媒體資訊。然而,該等實施例並不限於圖14所展示或描述之元件或上下文之中。
如上文所描述,可以變化之實體樣式或外觀尺寸 來體現系統1400。圖15說明小外觀尺寸裝置1500之實施,其中可體現系統1400。在實施例中,舉例來說,可將裝置1400實施為具有無線能力之行動計算裝置。行動計算裝置可指代具有處理系統及行動電源或行動電力供應器(諸如(例如),一或多個電池)之任何裝置。
如上文所描述,行動計算裝置之實例可包括個人電腦(PC)、膝上型電腦、超膝上型電腦、平板電腦、觸控板、攜帶型電腦、手持型電腦、掌上型電腦、個人數位助理(PDA)、蜂巢式電話、組合蜂巢式電話/PDA、電視、智慧型裝置(例如,智慧型電話、智慧型平板電腦或智慧型電視)、行動網際網路裝置(MID)、傳訊裝置、資料通信裝置等等。
行動計算裝置之實例亦可包括經配置以由個人佩戴之電腦,諸如,腕式電腦、手指式電腦、環式電腦、鏡片式電腦、帶夾式電腦、臂帶式電腦、鞋式電腦、服裝式電腦及其他可佩戴式電腦。在各種實施例中,舉例來說,可將行動計算裝置實施為能夠執行電腦應用程式以及語音通信及/或資料通信之智慧型電話。儘管可作為實例而運用被實施為智慧型電話之行動計算裝置來描述一些實施例,但可瞭解,亦可使用其他無線行動計算裝置來實施其他實施例。該等實施例在此上下文中並不受到限制。
如圖15所展示,裝置1500可包括外殼1502、顯示器1504、輸入/輸出(I/O)裝置1506,及天線1508。裝置1500亦可包括導覽特徵1512。顯示器1504可包括用於顯示適合 於行動計算裝置之資訊的任何適合顯示單元。I/O裝置1506可包括用於將資訊鍵入至行動計算裝置中之任何適合I/O裝置。用於I/O裝置1506之實例可包括文數字鍵盤、數字小鍵盤、觸控板、輸入按鍵、按鈕、開關、搖臂開關、麥克風、揚聲器、語音辨識裝置及軟體等等。亦可藉由麥克風(未圖示)而將資訊鍵入至裝置1500中。此資訊可由語音辨識裝置(未圖示)數位化。該等實施例在此上下文中並不受到限制。
可使用硬體元件、軟體元件或此兩者之組合來實施各種實施例。硬體元件之實例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、積體電路、特殊應用積體電路(ASIC)、可規劃邏輯裝置(PLD)、數位信號處理器(DSP)、場可規劃閘陣列(FPGA)、邏輯閘、暫存器、半導體裝置、晶片、微晶片、晶片組等等。軟體之實例可包括軟體組件、程式、應用程式、電腦程式、系統程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、次常式、函式、方法、程序、軟體介面、應用程式介面(API)、指令集、計算程式碼、電腦程式碼、程式碼片段、電腦程式碼片段、字、值、符號,或其任何組合。判定是否使用硬體元件及/或軟體元件來實施實施例可根據諸如以下各者之任何數目個因素而變化:所要計算速率、功率位準、耐熱性、處理循環預算、輸入資料速率、輸出資料速率、記憶體資源、資料匯流排速度及其他設計或效能約束。
可由儲存於表示處理器內之各種邏輯之機器可讀媒體上的代表性指令實施至少一個實施例之一或多個態樣,該機器可讀媒體在由機器讀取時使機器製造用以執行本文所描述之技術的邏輯。被稱為「IP核心」之此等表示可儲存於有形機器可讀媒體上,且供應至各種客戶或製造設施以載入至實際上製成該邏輯或處理器之製造機器中。
雖然已參考各種實施而描述本文所闡述之某些特徵,但本說明書並不意欲被認作限制性意義。因此,應將對於熟習本發明所屬技術者而言顯而易見的本文所描述之實施之各種修改以及其他實施認為在本發明之精神及範疇內。
以下實例關於額外實施例。
在一個實例中,一種用於在圖形渲染中提供壓縮之電腦實施方法可包括:判定與一像素影像塊之個別像素相關聯的複數個值;至少部分地基於該像素影像塊,判定複數個像素區,其中每一像素區包括該等個別像素之一對應子集;對於該複數個像素區中之一個別像素區,判定與對應於該個別像素區之該個別像素子集相關聯的值子集包含一單一相異值;將用於該個別像素區之一像素區值設定至指示該個別像素區包含該單一相異值之一位元值;及/或在記憶體中儲存包括與該個別像素區相關聯之該像素區值及該單一相異值的圖形資料。
在一種用於在圖形渲染中提供壓縮之電腦實施方法的其他實例中可包括:對於該複數個像素區中之一第 二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值子集包括兩個相異值;將用於該第二個別像素區之一第二像素區值設定至指示該第二個別像素區包括兩個相異值之一第二位元值;對於該第二像素區中之一個別像素,設定指示該個別像素係與該兩個相異值中之一第一值相關聯的一個別像素指示符值,使得該圖形資料包括該第二像素區值、該個別像素指示符值及該兩個相異值;對於該複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值子集包括三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至指示該第三個別像素區包括該三個或三個以上相異值之一第三位元值,使得該圖形資料包括對應於該第三個別像素區之該第三像素區值及該三個或三個以上相異值,且使得該三個或三個以上相異值包括四個相異值;對於該複數個像素區中之一第四個別像素區,判定與該第四個別像素區中之第四個別像素相關聯的值子集包括兩個或兩個以上相異值;將用於該第四個別像素區之一第四像素區值設定至指示該第四個別像素區包括該兩個或兩個以上相異值之一第四位元值,使得該圖形資料包括對應於該第四個別像素區之該第四像素區值及該兩個或兩個以上相異值;渲染該像素影像塊,使得渲染該像素影像塊可包括柵格化,該柵格化包括應用一可見度函數或一著色函數中至少一者,且使得渲染該像素影像塊可包括應用一超取樣抗頻疊技術或一多取樣抗頻疊技術中至少一者;在儲存之 前將一壓縮應用至該圖形資料;判定用於該圖形資料之位元的一數目,使得該圖形資料包括對應於該影像塊之該等個別像素的複數個像素區值,使得該複數個像素區值包括該像素區值、該第二像素區值及該第三像素區值,使得該圖形資料進一步包括第二複數個值,使得該第二複數個值相比於該複數個值包括較少值,使得該第二複數個值包括與該個別像素區相關聯之該單一相異值、該兩個相異值及該三個或三個以上相異值,且使得該圖形資料進一步包括對應於該第二像素區之複數個像素指示符值,且使得該複數個像素指示符值包含該第一像素指示符值;判定一位元預算;比較用於該圖形資料之位元的該數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預算,則在記憶體中儲存該圖形資料,且若用於該圖形資料之位元的該數目大於該位元預算,則在記憶體中儲存包含與該像素影像塊之個別像素相關聯之該複數個值的第二圖形資料,其中該位元預算包含複數個可用位元預算中之一者;存取該圖形資料,使得存取該圖形資料包括自該記憶體讀取該圖形資料或讀取及解壓縮該圖形資料中至少一者;至少部分地基於該經存取圖形資料來判定與該像素影像塊之個別像素相關聯的該複數個值,其中判定與該像素影像塊之個別像素相關聯的該複數個值包括:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區之每一像素;至少部分地基於該第二像素區值及該個別像素指示符值而將該兩個相異值中之該第一值分配至該第二像素區中之該 個別像素;及至少部分地基於該第一像素為在一次序上是用於該第二像素區之像素中的該第二像素區中之一第一像素而將該兩個相異值中之該第一值分配至該第二像素區中之該第一像素。判定與對應於該個別像素區之該個別像素子集相關聯的該值子集包含該單一相異值可包括比較該值子集。該複數個值可包括色值、表面正常值或多取樣抗頻疊彩色平面值中至少一者。該像素影像塊可包括一8像素寬乘4像素高之像素影像塊,使得每一像素區可包括一2像素寬乘2像素高之像素區,且使得該複數個像素區包含8個像素區。該位元值可包括為1之一位元值,該第二位元值可包括為2之一位元值,且該第三位元值可包括為0之一位元值。
在另一實例中,一種用於在一電腦上之圖形渲染中進行壓縮之系統可包括一圖形緩衝器、一圖形處理單元及一顯示裝置。該圖形處理單元可包括一圖形編解碼器模組。該圖形處理單元可以通信方式耦接至該圖形緩衝器,且該圖形編解碼器模組可經組配以:判定與一像素影像塊之個別像素相關聯的複數個值;至少部分地基於該像素影像塊,判定複數個像素區,使得每一像素區包含該等個別像素之一對應子集;對於該複數個像素區中之一個別像素區,判定與對應於該個別像素區之該個別像素子集相關聯的值子集包含一單一相異值;將用於該個別像素區之一像素區值設定至指示該個別像素區包括該單一相異值之一位元值;及在該圖形緩衝器中儲存包含與該個別像素區相關 聯之該像素區值及該單一相異值的圖形資料。該顯示裝置可經組配以至少部分地基於該圖形資料來顯示輸出影像資料。
在用於在一電腦上之圖形渲染中提供壓縮之系統的其他實例中,該圖形編解碼器模組可經進一步組配以:對於該複數個像素區之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值子集包括兩個相異值;將用於該第二個別像素區之一第二像素區值設定至指示該第二個別像素區包括兩個相異值之一第二位元值;對於該第二像素區中之一個別像素,設定指示該個別像素係與該兩個相異值中之一第一值相關聯的一個別像素指示符值,使得該圖形資料包括該第二像素區值、該個別像素指示符值及該兩個相異值;對於該複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值子集包括三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至指示該第三個別像素區包括該三個或三個以上相異值之一第三位元值,使得該圖形資料包括對應於該第三個別像素區之該第三像素區值及該三個或三個以上相異值,且使得該三個或三個以上相異值包括四個相異值;對於該複數個像素區中之一第四個別像素區,判定與該第四個別像素區中之第四個別像素相關聯的值子集包括兩個或兩個以上相異值;將用於該第四個別像素區之一第四像素區值設定至指示該第四個別像素區包括該兩個或兩個以上相異值之一第四位元值,使 得該圖形資料包括對應於該第四個別像素區之該第四像素區值及該兩個或兩個以上相異值;渲染該像素影像塊,使得渲染該像素影像塊可包括柵格化,該柵格化包括應用一可見度函數或一著色函數中至少一者,且使得渲染該像素影像塊可包括應用一超取樣抗頻疊技術或一多取樣抗頻疊技術中至少一者;在儲存之前將一壓縮應用至該圖形資料;判定用於該圖形資料之位元的一數目,使得該圖形資料包括對應於該影像塊之該等個別像素的複數個像素區值,使得該複數個像素區值包括該像素區值、該第二像素區值及該第三像素區值,使得該圖形資料進一步包括第二複數個值,使得該第二複數個值相比於該複數個值包括較少值,使得該第二複數個值包括與該個別像素區相關聯之該單一相異值、該兩個相異值及該三個或三個以上相異值,且使得該圖形資料進一步包括對應於該第二像素區之複數個像素指示符值,且使得該複數個像素指示符值包含該第一像素指示符值;判定一位元預算;比較用於該圖形資料之位元的該數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預算,則在記憶體中儲存該圖形資料,且若用於該圖形資料之位元的該數目大於該位元預算,則在記憶體中儲存包括與該像素影像塊之個別像素相關聯之該複數個值的第二圖形資料,使得該位元預算包括複數個可用位元預算中之一者;存取該圖形資料,使得存取該圖形資料包括自該記憶體讀取該圖形資料或讀取及解壓縮該圖形資料中至少一者;至少部分地基於該經存取圖形資料 來判定與該像素影像塊之個別像素相關聯的該複數個值,使得判定與該像素影像塊之個別像素相關聯的該複數個值包括:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區之每一像素;至少部分地基於該第二像素區值及該個別像素指示符值而將該兩個相異值中之該第一值分配至該第二像素區中之該個別像素;及至少部分地基於該第一像素為在一次序上是用於該第二像素區之像素中的該第二像素區中之一第一像素而將該兩個相異值中之該第一值分配至該第二像素區中之該第一像素。判定與對應於該個別像素區之該個別像素子集相關聯的該值子集包括該單一相異值可包括比較該值子集。該複數個值可包括色值、表面正常值或多取樣抗頻疊彩色平面值中至少一者。該像素影像塊可包括一8像素寬乘4像素高之像素影像塊,使得每一像素區可包括一2像素寬乘2像素高之像素區,且使得該複數個像素區包含8個像素區。該位元值可包括為1之一位元值,該第二位元值可包括為2之一位元值,且該第三位元值可包括為0之一位元值。
在另一實例中,至少一機器可讀媒體可包括複數個指令,該複數個指令回應於執行於一計算裝置上而使該計算裝置執行根據以上實例中任一者之方法。
在又一實例中,一種設備可包括用於執行根據以上實例中任一者之方法的構件。
以上實例可包括特徵之特定組合。然而,此等以上實例在此方面並不受到限制,且在各種實施中,以上實 例可包括僅採取此等特徵之子集、採取此等特徵之不同次序、採取此等特徵之不同組合,及/或採取不同於明確地列舉之彼等特徵的額外特徵。舉例來說,可關於實例設備、實例系統及/或實例物品來實施關於實例方法所描述之所有特徵,且反之亦然。
800‧‧‧程序
802、804、806、808、810‧‧‧區塊/操作

Claims (25)

  1. 一種用於在圖形渲染中提供壓縮之電腦實施的方法,其包含下列步驟:判定與一像素影像塊之個別像素相關聯的複數個值;至少部分地基於該像素影像塊來判定複數個像素區,其中每一像素區包含該等個別像素之一對應子集;對於該等複數個像素區中之一個別像素區,判定與對應於該個別像素區之該個別像素子集相關聯的值的子集包含一單一相異值;將用於該個別像素區之一像素區值設定至一位元值,其指示該個別像素區包含該單一相異值;及在記憶體中儲存圖形資料,其包含與該個別像素區相關聯之該像素區值及該單一相異值。
  2. 如請求項1之方法,其進一步包含下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個或兩個以上相異值;及將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含該兩個或兩個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第二像素區值及該等兩個或兩個以上相異值。
  3. 如請求項1之方法,其進一步包含下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;及對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該等兩個相異值中的一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值。
  4. 如請求項1之方法,其進一步包含下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該等兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值 的子集包含三個或三個以上相異值;及將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該等三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以上相異值。
  5. 如請求項1之方法,其進一步包含下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該等兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值的子集包含三個或三個以上相異值;及將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該等三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以 上相異值,其中該位元值包含為1之一位元值,該第二位元值包含為2之一位元值,且該第三位元值包含為0之一位元值。
  6. 如請求項1之方法,其進一步包含下列步驟:判定用於該圖形資料之位元的一數目;判定一位元預算;比較用於該圖形資料之位元的該數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預算,則在記憶體中儲存該圖形資料;以及若用於該圖形資料之位元的該數目大於該位元預算,則在記憶體中儲存第二圖形資料,其包含與該像素影像塊之個別像素相關聯的該等複數個值,其中該位元預算包含複數個可用位元預算中之一者。
  7. 如請求項1之方法,其進一步包含下列步驟:存取該圖形資料;至少部分地基於該圖形資料來判定該圖形資料中的值的一數目;及至少部分地基於該被存取的圖形資料來判定與該像素影像塊之個別像素相關聯的該等複數個值,其中判定與該像素影像塊之個別像素相關聯的該等複數個值之步驟包含:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區的每一像素。
  8. 如請求項1之方法,其進一步包含下列步驟:在儲存之前對該圖形資料實施一壓縮。
  9. 如請求項1之方法,其中該像素影像塊包含一8像素寬乘4像素高之像素影像塊,其中每一像素區包含一2像素寬乘2像素高之像素區,且其中該等複數個像素區包含8個像素區。
  10. 如請求項1之方法,其進一步包含下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值的子集包含三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該等三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以 上相異值,且其中該等三個或三個以上相異值包含四個相異值;對於該等複數個像素區中之一第四個別像素區,判定與該第四個別像素區中之第四個別像素相關聯的值的子集包含兩個或兩個以上相異值;將用於該第四個別像素區之一第四像素區值設定至一第四位元值,其指示該第四個別像素區包含該兩個或兩個以上相異值,其中該圖形資料包含對應於該第四個別像素區之該第四像素區值及該等兩個或兩個以上相異值;渲染該像素影像塊,其中渲染該像素影像塊之步驟包含柵格化,該柵格化包含應用一可見度函數或一著色函數中至少一者,且其中渲染該像素影像塊之步驟包含應用一超取樣抗頻疊技術或一多取樣抗頻疊技術中至少一者;在儲存之前對該圖形資料實施一壓縮;判定用於該圖形資料之位元的一數目,其中該圖形資料包含對應於該影像塊之該等個別像素的複數個像素區值,其中該等複數個像素區值包含該像素區值、該第二像素區值及該第三像素區值,其中該圖形資料進一步包含第二複數個值,其中該等第二複數個值相較於該等複數個值包含較少的值,其中該等第二複數個值包含與該個別像素區相關聯之該單一相異值、該等兩個相異值、及該等三個或三個以上相異值,且其中該圖形資料 進一步包含對應於該第二像素區之複數個像素指示符值,且其中該等複數個像素指示符值包含該第一像素指示符值;判定一位元預算;比較用於該圖形資料之位元的該數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預算,則在記憶體中儲存該圖形資料;以及若用於該圖形資料之位元的該數目大於該位元預算,則在記憶體中儲存第二圖形資料,其包含與該像素影像塊之個別像素相關聯之該等複數個值,其中該位元預算包含複數個可用位元預算中之一者;存取該圖形資料,其中存取該圖形資料包含自該記憶體讀取該圖形資料或讀取及解壓縮該圖形資料中至少一者;至少部分地基於該圖形資料來判定該圖形資料中的值的一數目;及至少部分地基於該被存取的圖形資料來判定與該像素影像塊之個別像素相關聯的該等複數個值,其中判定與該像素影像塊之個別像素相關聯的該等複數個值之步驟包含:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區的每一像素;至少部分地基於該第二像素區值及該個別像素指 示符值而將該等兩個相異值中的該第一值分配至該第二像素區中的該個別像素;至少部分地基於該第二像素區中的一第一像素,而將該等兩個相異值中的該第一值分配至該第二像素區中的該第一像素,該第一像素為用於該第二像素區的像素中在一次序上的該第一像素;及將該等三個或三個以上相異值分配至該第三像素區的像素,其中判定與對應於該個別像素區之該個別像素子集相關聯的值的子集包含該單一相異值之步驟包含比較該值的子集,其中該等複數個值包含色值、表面正常值、或多取樣抗頻疊彩色平面值中至少一者,其中該像素影像塊包含一8像素寬乘4像素高之像素影像塊,其中每一像素區包含一2像素寬乘2像素高之像素區,且其中該複數個像素區包含8個像素區,且其中該位元值包含為1之一位元值,該第二位元值包含為2之一位元值,且該第三位元值包含為0之一位元值。
  11. 一種用於在一電腦上之圖形渲染中提供壓縮之系統,其包含:一圖形緩衝器;一圖形處理單元,其包含一圖形資料編解碼器模組,其中該圖形處理單元以通信方式耦接至該圖形緩衝器, 且其中該圖形資料編解碼器模組經組配以進行下列步驟:判定與一像素影像塊之個別像素相關聯的複數個值;至少部分地基於該像素影像塊來判定複數個像素區,其中每一像素區包含該等個別像素之一對應子集;對於該等複數個像素區中之一個別像素區,判定與對應於該個別像素區之該個別像素子集相關聯的值的子集包含一單一相異值;將用於該個別像素區之一像素區值設定至一位元值,其指示該個別像素區包含該單一相異值;及在該圖形緩衝器中儲存圖形資料,其包含與該個別像素區相關聯之該像素區值及該單一相異值。
  12. 如請求項11之系統,其進一步包含:一顯示裝置,其經組配以至少部分地基於該圖形資料來顯示輸出影像資料。
  13. 如請求項11之系統,其中該圖形資料編解碼器模組經進一步組配以進行下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個或兩個以上相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含該兩個或兩個以上相異值,其中該圖形資料包含對應於該第二 個別像素區之該第二像素區值及該等兩個或兩個以上相異值。
  14. 如請求項11之系統,其中該圖形資料編解碼器模組經進一步組配以進行下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;及對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值。
  15. 如請求項11之系統,其中該圖形資料編解碼器模組經進一步組配以:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之 一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值的子集包含三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以上相異值。
  16. 如請求項11之系統,其中該圖形資料編解碼器模組經進一步組配以進行下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值 的子集包含三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該等三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以上相異值,其中該位元值包含為1之一位元值,該第二位元值包含為2之一位元值,且該第三位元值包含為0之一位元值。
  17. 如請求項11之系統,其中該圖形資料編解碼器模組經進一步組配以進行下列步驟:判定一位元預算;比較用於該圖形資料之位元的數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預算,則該圖形資料編解碼器模組經組配以在記憶體中儲存該圖形資料;以及若用於該圖形資料之位元的該數目大於該位元預算,則該圖形資料編解碼器模組經組配以在記憶體中儲存第二圖形資料,其包含與該像素影像塊之個別像素相關聯的該等複數個值,其中該位元預算包含複數個可用位元預算中之一者。
  18. 如請求項11之系統,其中該圖形資料編解碼器模組經進一步組配以進行下列步驟:存取該圖形資料; 至少部分地基於該圖形資料來判定該圖形資料中的值的一數目;及至少部分地基於該被存取的圖形資料來判定與該像素影像塊之個別像素相關聯的該等複數個值,其中判定與該像素影像塊之個別像素相關聯的該等複數個值之步驟包含:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區的每一像素。
  19. 如請求項11之系統,其中該像素影像塊包含一8像素寬乘4像素高之像素影像塊,其中每一像素區包含一2像素寬乘2像素高之像素區,且其中該複數個像素區包含8個像素區。
  20. 如請求項11之系統,其進一步包含:一顯示裝置,其經組配以至少部分地基於該圖形資料來顯示輸出影像資料,其中該圖形資料編解碼器模組經進一步組配以進行下列步驟:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個 別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值的子集包含三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該等三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以上相異值,且其中該等三個或三個以上相異值包含四個相異值;對於該等複數個像素區中之一第四個別像素區,判定與該第四個別像素區中之第四個別像素相關聯的值的子集包含兩個或兩個以上相異值;將用於該第四個別像素區之一第四像素區值設定至一第四位元值,其指示該第四個別像素區包含該兩個或兩個以上相異值,其中該圖形資料包含對應於該第四個別像素區之該第四像素區值及該等兩個或兩個以上相異值;渲染該像素影像塊,其中渲染該像素影像塊之步驟包含柵格化,該柵格化包含應用一可見度函數或一著色函數中至少一者,且其中渲染該像素影像 塊之步驟包含應用一超取樣抗頻疊技術或一多取樣抗頻疊技術中至少一者;在儲存之前對該圖形資料實施一壓縮;判定用於該圖形資料之位元的一數目,其中該圖形資料包含對應於該影像塊之該等個別像素的複數個像素區值,其中該等複數個像素區值包含該像素區值、該第二像素區值及該第三像素區值,其中該圖形資料進一步包含第二複數個值,其中該等第二複數個值相較於該複數個值包含較少的值,其中該等第二複數個值包含與該個別像素區相關聯之該單一相異值、該等兩個相異值、及該等三個或三個以上相異值,且其中該圖形資料進一步包含對應於該第二像素區之複數個像素指示符值,且其中該等複數個像素指示符值包含該第一像素指示符值;判定一位元預算;比較用於該圖形資料之位元的該數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預算,則該圖形資料編解碼器模組經組配以在記憶體中儲存該圖形資料;以及若用於該圖形資料之位元的該數目大於該位元預算,則該圖形資料編解碼器模組經組配以在記憶體中儲存第二圖形資料,其包含與該像素影像塊 之個別像素相關聯之該等複數個值,其中該位元預算包含複數個可用位元預算中之一者;存取該圖形資料,其中存取該圖形資料包含自該記憶體讀取該圖形資料或讀取及解壓縮該圖形資料中至少一者;至少部分地基於該圖形資料來判定該圖形資料中的值的一數目;及至少部分地基於該被存取的圖形資料來判定與該像素影像塊之個別像素相關聯的該等複數個值,其中判定與該像素影像塊之個別像素相關聯的該等複數個值之步驟包含:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區之每一像素;至少部分地基於該第二像素區值及該個別像素指示符值而將該等兩個相異值中的該第一值分配至該第二像素區中的該個別像素;至少部分地基於該第二像素區中的一第一像素,而將該等兩個相異值中的該第一值分配至該第二像素區中的該第一像素,該第一像素為用於該第二像素區的像素中在一次序上的該第一像素;及將該等三個或三個以上相異值分配至該第三像素區的像素,其中判定與對應於該個別像素區之該個別像素子集相關聯的值的子集包含該單一相異值之步 驟包含比較該值的子集,其中該等複數個值包含色值、表面正常值或多取樣抗頻疊彩色平面值中至少一者,其中該像素影像塊包含一8像素寬乘4像素高之像素影像塊,其中每一像素區包含一2像素寬乘2像素高之像素區,且其中該複數個像素區包含8個像素區,且其中該位元值包含為1之一位元值,該第二位元值包含為2之一位元值,且該第三位元值包含為0之一位元值。
  21. 一種包含複數個指令的至少一機器可讀媒體,該等複數個指令回應於被執行於一計算裝置上而致使該計算裝置藉由以下操作而在圖形渲染中提供壓縮:判定與一像素影像塊之個別像素相關聯的複數個值;至少部分地基於該像素影像塊來判定複數個像素區,其中每一像素區包含該等個別像素之一對應子集;對於該等複數個像素區中之一個別像素區,判定與對應於該個別像素區之該個別像素子集相關聯的值的子集包含一單一相異值;將用於該個別像素區之一像素區值設定至一位元值,其指示該個別像素區包含該單一相異值;及在記憶體中儲存圖形資料,其包含與該個別像素區相關聯之該像素區值及該單一相異值。
  22. 如請求項21之機器可讀媒體,其進一步包含指令,該等指令回應於被執行於該計算裝置上而致使該計算裝置藉由以下操作而在圖形渲染中提供壓縮:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個或兩個以上相異值;及將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含該兩個或兩個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第二像素區值及該等兩個或兩個以上相異值。
  23. 如請求項21之機器可讀媒體,其進一步包含指令,該等指令回應於被執行於該計算裝置上而致使該計算裝置藉由以下操作而在圖形渲染中提供壓縮:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;及對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值。
  24. 如請求項21之機器可讀媒體,其進一步包含指令,該等指令回應於執行於該計算裝置上而使該計算裝置藉由以下操作而在圖形渲染中提供壓縮:對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值的子集包含三個或三個以上相異值;及將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該等三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以上相異值。
  25. 如請求項21之機器可讀媒體,其進一步包含指令,該等指令回應於被執行於該計算裝置上而致使該計算裝置藉由以下操作而在圖形渲染中提供壓縮: 對於該等複數個像素區中之一第二個別像素區,判定與該第二個別像素區中之第二個別像素相關聯的值的子集包含兩個相異值;將用於該第二個別像素區之一第二像素區值設定至一第二位元值,其指示該第二個別像素區包含兩個相異值;對於該第二像素區中之一個別像素設定一個別像素指示符值,其指示該個別像素係與該兩個相異值中之一第一值相關聯,其中該圖形資料包含該第二像素區值、該個別像素指示符值、及該等兩個相異值;對於該等複數個像素區中之一第三個別像素區,判定與該第三個別像素區中之第三個別像素相關聯的值的子集包含三個或三個以上相異值;將用於該第三個別像素區之一第三像素區值設定至一第三位元值,其指示該第三個別像素區包含該三個或三個以上相異值,其中該圖形資料包含對應於該第三個別像素區之該第三像素區值及該等三個或三個以上相異值,且其中該三個或三個以上相異值包含四個相異值;對於該等複數個像素區中之一第四個別像素區,判定與該第四個別像素區中之第四個別像素相關聯的值的子集包含兩個或兩個以上相異值;將用於該第四個別像素區之一第四像素區值設定至一第四位元值,其指示該第四個別像素區包含該兩個 或兩個以上相異值,其中該圖形資料包含對應於該第四個別像素區之該第四像素區值及該等兩個或兩個以上相異值;渲染該像素影像塊,其中渲染該像素影像塊之操作包含柵格化,該柵格化包含應用一可見度函數或一著色函數中至少一者,且其中渲染該像素影像塊之操作包含應用一超取樣抗頻疊技術或一多取樣抗頻疊技術中至少一者;在儲存之前對該圖形資料實施一壓縮;判定用於該圖形資料之位元的一數目,其中該圖形資料包含對應於該影像塊之該等個別像素的複數個像素區值,其中該等複數個像素區值包含該像素區值、該第二像素區值及該第三像素區值,其中該圖形資料進一步包含第二複數個值,其中該等第二複數個值相較於該等複數個值包含較少的值,其中該等第二複數個值包含與該個別像素區相關聯之該單一相異值、該等兩個相異值及該等三個或三個以上相異值,且其中該圖形資料進一步包含對應於該第二像素區之複數個像素指示符值,且其中該等複數個像素指示符值包含該第一像素指示符值;判定一位元預算;比較用於該圖形資料之位元的該數目與該位元預算,且若用於該圖形資料之位元的該數目小於該位元預 算,則在記憶體中儲存該圖形資料;以及若用於該圖形資料之位元的該數目大於該位元預算,則在記憶體中儲存第二圖形資料,其包含與該像素影像塊之個別像素相關聯之該等複數個值,其中該位元預算包含複數個可用位元預算中之一者;存取該圖形資料,其中存取該圖形資料包含自該記憶體讀取該圖形資料或讀取及解壓縮該圖形資料中至少一者;至少部分地基於該圖形資料來判定該圖形資料中的值的一數目;及至少部分地基於該被存取的圖形資料來判定與該像素影像塊之個別像素相關聯的該等複數個值,其中判定與該像素影像塊之個別像素相關聯的該等複數個值之操作包含:至少部分地基於該像素區值而將該單一相異值分配至該個別像素區的每一像素;至少部分地基於該第二像素區值及該個別像素指示符值而將該等兩個相異值中的該第一值分配至該第二像素區中的該個別像素;至少部分地基於該第二像素區中的一第一像素,而將該等兩個相異值中的該第一值分配至該第二像素區中的該第一像素,該第一像素為用於該第二像素區的像素中在一次序上的該第一像素;及將該等三個或三個以上相異值分配至該第三像素 區的像素,其中判定與對應於該個別像素區之該個別像素子集相關聯的值的子集包含該單一相異值之操作包含比較該值的子集,其中該等複數個值包含色值、表面正常值、或多取樣抗頻疊彩色平面值中至少一者,其中該像素影像塊包含一8像素寬乘4像素高之像素影像塊,其中每一像素區包含一2像素寬乘2像素高之像素區,且其中該複數個像素區包含8個像素區,且其中該位元值包含為1之一位元值,該第二位元值包含為2之一位元值,且該第三位元值包含為0之一位元值。
TW103119068A 2013-06-21 2014-05-30 使用像素區位元値的圖形資料之壓縮及解壓縮技術 TWI556190B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/924,151 US9305368B2 (en) 2013-06-21 2013-06-21 Compression and decompression of graphics data using pixel region bit values

Publications (2)

Publication Number Publication Date
TW201514915A true TW201514915A (zh) 2015-04-16
TWI556190B TWI556190B (zh) 2016-11-01

Family

ID=52105114

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103119068A TWI556190B (zh) 2013-06-21 2014-05-30 使用像素區位元値的圖形資料之壓縮及解壓縮技術

Country Status (4)

Country Link
US (2) US9305368B2 (zh)
EP (1) EP3011539B1 (zh)
TW (1) TWI556190B (zh)
WO (1) WO2014204692A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
GB2525223B (en) * 2014-04-16 2020-07-15 Advanced Risc Mach Ltd Graphics processing systems
US10387991B2 (en) 2016-07-01 2019-08-20 Intel Corporation Method and apparatus for frame buffer compression
US9912957B1 (en) 2017-04-01 2018-03-06 Intel Corporation Lossless compression for multisample render targets alongside fragment compression
US10134115B2 (en) 2017-04-17 2018-11-20 Intel Corporation Progressive multisample anti-aliasing
US10325341B2 (en) 2017-04-21 2019-06-18 Intel Corporation Handling pipeline submissions across many compute units
US11978234B2 (en) 2020-05-13 2024-05-07 Advanced Micro Devices, Inc. Method and apparatus of data compression
US20220414939A1 (en) * 2021-06-28 2022-12-29 Advanced Micro Devices, Inc. Render target compression scheme compatible with variable rate shading

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
US6009200A (en) * 1992-12-17 1999-12-28 Sony Corporation Dynamic image processing apparatus and method
US5748904A (en) * 1996-09-13 1998-05-05 Silicon Integrated Systems Corp. Method and system for segment encoded graphic data compression
US6204859B1 (en) * 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
US6188394B1 (en) * 1998-08-28 2001-02-13 Ati Technologies, Inc. Method and apparatus for video graphics antialiasing
US6192155B1 (en) * 1998-09-16 2001-02-20 Xerox Corporation Systems and methods for reducing boundary artifacts in hybrid compression
US6477269B1 (en) * 1999-04-20 2002-11-05 Microsoft Corporation Method and system for searching for images based on color and shape of a selected image
GB2349460B (en) * 1999-04-29 2002-11-27 Mitsubishi Electric Inf Tech Method of representing colour images
US6535633B1 (en) 1999-09-24 2003-03-18 Bank One Method and apparatus for re-classifying color image pixels classified by single channel segmentation
US6377702B1 (en) 1999-12-08 2002-04-23 Sony Corporation Color cast detection and removal in digital images
US6683979B1 (en) * 1999-12-10 2004-01-27 Silicon Graphics, Inc. Image data compression and decompression
US6633297B2 (en) * 2000-08-18 2003-10-14 Hewlett-Packard Development Company, L.P. System and method for producing an antialiased image using a merge buffer
US6630933B1 (en) * 2000-09-01 2003-10-07 Ati Technologies Inc. Method and apparatus for compression and decompression of Z data
JP2002262094A (ja) * 2001-02-27 2002-09-13 Konica Corp 画像処理方法及び画像処理装置
US6825847B1 (en) * 2001-11-30 2004-11-30 Nvidia Corporation System and method for real-time compression of pixel colors
US7764833B2 (en) * 2003-02-13 2010-07-27 Ati Technologies Ulc Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same
US8111928B2 (en) * 2003-02-13 2012-02-07 Ati Technologies Ulc Method and apparatus for compression of multi-sampled anti-aliasing color data
US7355603B2 (en) * 2004-08-04 2008-04-08 Nvidia Corporation Filtering unit for floating-point texture data
US7126615B2 (en) * 2004-11-12 2006-10-24 Via Technologies, Inc. Color compression using multiple planes in a multi-sample anti-aliasing scheme
US7606429B2 (en) * 2005-03-25 2009-10-20 Ati Technologies Ulc Block-based image compression method and apparatus
US7505624B2 (en) * 2005-05-27 2009-03-17 Ati Technologies Ulc Block-based image compression method and apparatus
CN101919250B (zh) * 2008-01-21 2012-11-21 艾利森电话股份有限公司 压缩多个像素块的方法和压缩器、以及对压缩像素块进行解压的方法和解压器
EP2274725A1 (en) 2008-04-04 2011-01-19 Advanced Micro Devices, Inc. Filtering method and apparatus for anti-aliasing
GB2526943B (en) * 2011-12-20 2016-04-27 Imagination Tech Ltd Method and apparatus for compressing and decompressing data

Also Published As

Publication number Publication date
TWI556190B (zh) 2016-11-01
WO2014204692A1 (en) 2014-12-24
US9305368B2 (en) 2016-04-05
EP3011539B1 (en) 2018-12-19
US9754345B2 (en) 2017-09-05
US20160189338A1 (en) 2016-06-30
US20140375666A1 (en) 2014-12-25
EP3011539A1 (en) 2016-04-27
EP3011539A4 (en) 2016-11-23

Similar Documents

Publication Publication Date Title
TWI556190B (zh) 使用像素區位元値的圖形資料之壓縮及解壓縮技術
US10621691B2 (en) Subset based compression and decompression of graphics data
JP6337322B2 (ja) 方法、コンピュータプログラム、装置およびコンピュータ可読記録媒体
US9251731B2 (en) Multi-sampling anti-aliasing compression by use of unreachable bit combinations
US9357236B2 (en) Color compression using a selective color transform
JP6182225B2 (ja) カラーバッファ圧縮
JP6745020B2 (ja) 方法、コンピュータプログラム、コンピュータ可読記録媒体および装置
US9245324B2 (en) Lossy color merge for multi-sampling anti-aliasing compression
US10373288B2 (en) Transpose of image data between a linear and a Y-tiled storage format
US9158498B2 (en) Optimizing fixed point divide
TWI550552B (zh) 適應性深度偏移壓縮技術
TWI544802B (zh) 影像資料之無感知損失壓縮以縮減記憶體頻寬及儲存的技術

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees