對數(shù)據(jù)進行編碼和解碼的方法和設備的制作方法
【專利摘要】本發(fā)明涉及對數(shù)據(jù)進行編碼和解碼的方法和設備。為了對將在圖形處理系統(tǒng)中使用的紋理進行編碼,首先將紋理降尺度以產(chǎn)生紋理(41)的低分辨率表示。然后,將紋理的低分辨率版本的升尺度版本(42)與原始紋理進行比較,以確定為各個紋元指示紋理的升尺度版本中的紋元值與原始紋理(43)中的紋元值之差的差值集合。然后,針對原始紋理(44)中的各個8×8紋元塊產(chǎn)生編碼紋理數(shù)據(jù)塊。各個編碼紋理數(shù)據(jù)塊包含基色值以及索引值集合,該基色值取自紋理的低分辨率表示,所述索引值指示來自確定的差數(shù)據(jù)集合的差數(shù)據(jù),所述差數(shù)據(jù)將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
【專利說明】對數(shù)據(jù)進行編碼和解碼的方法和設備
【技術領域】
[0001]本發(fā)明涉及對數(shù)據(jù)進行編碼和解碼的方法和設備,具體地講,涉及這樣一種用于在計算機圖形系統(tǒng)中對紋理數(shù)據(jù)進行壓縮和解壓縮的方法和設備。
【背景技術】
[0002]在計算機圖形系統(tǒng)中常見的是通過將所謂的紋理或紋理數(shù)據(jù)應用于待繪制的表面來為待顯示的圖像中的采樣位置產(chǎn)生顏色。例如,可通過將預定義的“紋理”應用于表示對象的一組多邊形以將該“紋理”的外觀賦予對象的渲染圖像,來產(chǎn)生對象上的表面細節(jié)。通常通過存儲紋理元素或“紋元(texel)”的陣列(各個紋元表示給定的紋理數(shù)據(jù)(例如顏色、亮度和/或光/影等值)),然后將紋元映射到待顯示的圖像的對應元素(例如(其實通常為)一組采樣位置)上,來應用這些紋理。存儲的紋理元素陣列(數(shù)據(jù))通常稱作“紋理映射”。
[0003]這樣的布置方式可提供較高的圖像質(zhì)量,但也具有許多缺點。具體地講,存儲紋理數(shù)據(jù)并在使用時訪問它會給圖形處理裝置帶來例如較高的存儲量和帶寬要求(或者相反,在不滿足這些要求的情況下導致性能的損失)。這對于執(zhí)行圖形處理的移動和手持式裝置而言尤其有重要影響,因為這些裝置在其例如存儲量、帶寬和功率資源以及能力方面有固有局限。
[0004]因此,已知的是嘗試以“壓縮”形式對這種紋理數(shù)據(jù)進行編碼,以嘗試減小(例如)可能強加于裝置的存儲量和帶寬負擔。
[0005]一種已知的這種紋理數(shù)據(jù)壓縮技術確定例如要用于給定紋理映射的一組顏色或一套調(diào)色板顏色,然后針對紋理映射中的各個紋理元素(紋元)將索引存儲為該組顏色或該套調(diào)色板顏色,以指示要用于該紋元的顏色。這具有如下優(yōu)點:針對各個紋元僅需存儲索弓丨,而非整個(例如)顏色值。這有助于降低(例如)紋理數(shù)據(jù)存儲量要求,但仍在諸如降低的圖像質(zhì)量和必要的數(shù)據(jù)處理的方面具有一些缺點。
[0006]另一已知的紋理壓縮技術是使用所謂的塊截斷編碼(BTC:blocktruncationcoding)。在該技術中,總紋理陣列(紋理映射)被再分成更小的塊,例如4X4紋元,并且針對各個這種塊確定一定數(shù)量(通常為兩個)的基色或原色值,使得塊中的各個紋元被設置為所述基色值之一。這同樣節(jié)省了必須存儲和訪問的數(shù)據(jù),但代價是圖像質(zhì)量下降。
[0007]美國專利N0.5047853描述了一種改進的塊截斷編碼技術。在該技術中,針對各個紋元塊同樣存儲兩種基色,但還從這兩種基色(例如,通這些顏色的線性共混)推導將用于該塊的兩種附加顏色。這樣,提供四種顏色作為紋元塊的“調(diào)色板”,但針對塊僅需存儲兩種顏色值。然后,利用兩個比特來對塊中的各個紋元進行編碼,以指示四種塊“顏色”中的哪一種應該用于該紋元。這種系統(tǒng)所提供的圖像質(zhì)量優(yōu)于基本塊截斷編碼,但每一塊需要更多數(shù)據(jù)。
[0008] 申請人:認為仍有余地改進尤其是用于圖形處理的紋理數(shù)據(jù)的數(shù)據(jù)編碼和壓縮技術。
【發(fā)明內(nèi)容】
[0009]根據(jù)本發(fā)明的第一方面,提供一種對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行編碼的方法,所述方法包括:
[0010]確定紋理數(shù)據(jù)元素集合的低分辨率表示;
[0011]確定全分辨率的差數(shù)據(jù)集合,所述差數(shù)據(jù)集合表示確定的紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度(upscale)版本與原始紋理數(shù)據(jù)元素集合之差;以及
[0012]將紋理數(shù)據(jù)元素集合編碼為表示紋理數(shù)據(jù)元素的一個或更多個紋理數(shù)據(jù)塊,各個這種紋理數(shù)據(jù)塊:
[0013]表示來自紋理數(shù)據(jù)元素集合的紋理數(shù)據(jù)元素塊,并且包括:
[0014]指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自確定的紋理數(shù)據(jù)元素集合的低分辨率表示;以及
[0015]指示來自確定的差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)將在對紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
[0016]根據(jù)本發(fā)明的第二方面,提供一種對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行編碼的設備,所述設備包括:
[0017]用于確定紋理數(shù)據(jù)元素集合的低分辨率表示的裝置;
[0018]用于確定全分辨率的差數(shù)據(jù)集合的裝置,所述差數(shù)據(jù)集合表示確定的紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度版本與原始紋理數(shù)據(jù)元素集合之差;以及
[0019]用于將紋理數(shù)據(jù)元素集合編碼為表示紋理數(shù)據(jù)元素的一個或更多個紋理數(shù)據(jù)塊的裝置,各個這種紋理數(shù)據(jù)塊:
[0020]表示來自紋理數(shù)據(jù)元素集合的紋理數(shù)據(jù)元素塊,并且包括:
[0021]指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自確定的紋理數(shù)據(jù)元素集合的低分辨率表示;以及
[0022]指示來自確定的差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)將在對紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
[0023]根據(jù)本發(fā)明的第三方面,提供一種表示將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合的紋理數(shù)據(jù)塊,所述紋理數(shù)據(jù)塊包括:
[0024]指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自確定的紋理數(shù)據(jù)元素集合的低分辨率表示;以及
[0025]指示差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)取自全分辨率的差數(shù)據(jù)集合,所述差數(shù)據(jù)集合表示確定的紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度版本與原始紋理數(shù)據(jù)元素集合之差,并且所述差數(shù)據(jù)將在對紋理數(shù)據(jù)塊進行解碼時用于紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素,以產(chǎn)生將用于紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
[0026]在本發(fā)明的紋理數(shù)據(jù)編碼系統(tǒng)中,像已知的現(xiàn)有技術中一樣,將紋理數(shù)據(jù)元素集合(例如,表示圖像)編碼為一個或更多個紋理數(shù)據(jù)塊,使得各個紋理數(shù)據(jù)塊表示相應的紋理數(shù)據(jù)元素塊。
[0027]然而,本發(fā)明通過將原始紋理數(shù)據(jù)元素集合的低分辨率表示(版本)與表示紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度版本與原始紋理數(shù)據(jù)元素集合之差的全分辨率的差數(shù)據(jù)集合(即,針對各個紋理數(shù)據(jù)元素存在單獨的條目(entry)的差數(shù)據(jù)的集合(即,按照正被編碼的原始紋理數(shù)據(jù)元素集合的分辨率(按照原始紋理(圖像)的分辨率)的差數(shù)據(jù)集合)一起進行確定(并對進行表示的數(shù)據(jù)進行編碼)來對紋理數(shù)據(jù)進行編碼。換言之,本發(fā)明使用一個分辨率降低(減小)的數(shù)據(jù)集合(來自紋理數(shù)據(jù)元素集合的低分辨率表示的基本數(shù)據(jù)值)與一個全分辨率的數(shù)據(jù)集合(差數(shù)據(jù)集合)的組合來對圖形紋理進行編碼。
[0028]如將在下面進一步討論的,在本發(fā)明的編碼方案中,低分辨率數(shù)據(jù)集合將有效地表示紋理中的低頻,全分辨率的差數(shù)據(jù)集合將有效地表示紋理中的高頻。
[0029] 申請人:認識到,如果將紋理分成低頻和高頻數(shù)據(jù)集合,則可利用空間壓縮有利地壓縮低頻分量,但仍將可取的是保持高頻數(shù)據(jù)的全分辨率表示。此外,如將在下面進一步討論的, 申請人:進一步認識到,仍可有效地對表示數(shù)據(jù)集合的這種全分辨率高頻數(shù)據(jù)進行編碼,因為紋理中的高頻數(shù)據(jù)的短重復周期表明,即使當使用這種數(shù)據(jù)的全分辨率表示時,也可以有效的方式對該數(shù)據(jù)進行編碼。本發(fā)明利用這一認識來提供改進的紋理壓縮方案。
[0030]如將在下面進一步討論的, 申請人:已發(fā)現(xiàn),本發(fā)明的編碼可提供相對高的紋理數(shù)據(jù)壓縮率,同時仍提供可接受的再現(xiàn)圖像質(zhì)量。例如,可允許每8X8紋元(紋理數(shù)據(jù)元素)塊僅使用64比特(B卩,lbpp,平均每像素(紋元)I比特)以許多使用情況可接受的質(zhì)量進行全RGB紋理的編碼。
[0031]本發(fā)明可相應地顯著減少圖形處理系統(tǒng)中的紋理映射時所需要并消耗的帶寬等的量。這例如可允許嵌入式圖形系統(tǒng)以高分辨率將紋理應用于視覺元素,同時消耗比當前工業(yè)標準紋理壓縮方案少許多的帶寬。本發(fā)明還可相應地允許紋理消耗更少的內(nèi)存,從而例如允許更快地將它們上傳(流傳輸)至GPU (圖形處理單元)存儲器(這對于流傳輸動畫(視頻)紋理而言尤其有用),并且給予游戲和其它圖形應用更少的盤空間占用和更短的加載時間。
[0032]如將在下面進一步討論的,本發(fā)明的編碼格式還可用于針對Ibpp格式以非常好的質(zhì)量對單分量紋理進行編碼。對應地,可針對編碼的紋理的尺寸以很好的質(zhì)量使用本發(fā)明的形式的兩個編碼的紋理來以2bpp對法向數(shù)據(jù)和RGB+alpha數(shù)據(jù)進行編碼。
[0033] 申請人:還認為,隨著移動和便攜式裝置的屏幕分辨率在將來進一步增加,本發(fā)明所提供的較低的紋理數(shù)據(jù)比特率會變得越來越有利。
[0034]本發(fā)明可用于對任何適當形式的紋理數(shù)據(jù)進行編碼。如上所述,處于其原始的、未處理或未編碼形式的這種數(shù)據(jù)通常按照紋理元素或紋元的陣列的形式排列,因此在特別優(yōu)選的實施方式中,本發(fā)明用于對紋理數(shù)據(jù)元素(紋元)的陣列進行編碼。如本領域已知的,這些陣列通常是2維的,但是也可使用本發(fā)明來對3維陣列進行編碼。
[0035]待編碼的紋理和紋理數(shù)據(jù)元素可表示任何合適的紋理數(shù)據(jù)。在一個優(yōu)選實施方式中,如本領域中已知的,所述紋理是(例如,并且優(yōu)選地)在渲染用于顯示的圖像和/或幀(例如將應用于待渲染的圖元的圖像、顏色(包括灰度)、亮度、凹凸映射、陰影映射(光照映射)等)時將用于圖形處理的紋理。
[0036]然而,例如,在期望使用圖形紋理(和圖形紋理處理)來表示和處理其它形式的數(shù)據(jù)的情況下,本發(fā)明還可用于對將用于處理并且表示其它形式的數(shù)據(jù)的紋理進行處理并編碼(和解碼)。如本領域已知的,紋理可以用于并且用于圖形處理中以表示并處理許多不同類型的數(shù)據(jù),例如3D迷霧(3D fog)、流場(flow field)等,以及用于“傳統(tǒng)”圖形目的。本發(fā)明可同樣應用于并擴展至圖形處理系統(tǒng)中的紋理的這些類型和用途以及用于圖形處理系統(tǒng)的紋理的這些類型和用途。因此,如果期望,本發(fā)明的紋理可表示將在圖形處理系統(tǒng)中作為紋理被處理的其它形式的數(shù)據(jù)。
[0037]在特別優(yōu)選的實施方式中,紋理數(shù)據(jù)元素各自表示紋理元素的顏色值,但這不是必要的。優(yōu)選地,紋理數(shù)據(jù)元素表示:每紋元具有1、2、3或4個分量(分別為亮度、亮度alpha,RGB和RGB alpha)的低動態(tài)范圍(LDR)紋理數(shù)據(jù)或者每紋元具有1、3或4個分量的高動態(tài)范圍(HDR)紋理數(shù)據(jù)。
[0038]如本領域技術人員將理解的,紋理元素所賦予的實際數(shù)據(jù)值在其原始的、未編碼的未處理形式下及在其編碼的形式下(或者至少在編碼的數(shù)據(jù)已被解碼以再現(xiàn)原始數(shù)據(jù)的表示時)均將取決于紋理元素旨在定義或表示的“紋理”的形式。
[0039]因此,例如,如果紋理元素定義將使用的顏色,則處于其原始的未編碼形式的紋理數(shù)據(jù)元素可各自包括顏色值的集合(紅色、綠色、藍色(RGB)、顏色和透明度值的集合(紅色、綠色、藍色、Alpha (RGBA))或者亮度和色度值的集合,并且編碼的數(shù)據(jù)在被解碼(再現(xiàn))時將產(chǎn)生對應的顏色值集合。
[0040]在陰影(光照)映射的情況下,例如,紋理數(shù)據(jù)元素將各自包括或表示數(shù)據(jù)值集合,該數(shù)據(jù)值集合例如指示紋理元素處于光照中還是陰影中以及該紋理元素的光照或陰影的量(和/或顏色)。類似地,對于法向映射(凹凸映射),各個紋理元素的數(shù)據(jù)將是指示該紋理元素處光的反射方向的值的集合。
[0041]紋理數(shù)據(jù)元素例如還可表示z值(深度值)、模版值(stencil value)、亮度值(亮度紋理)、亮度alpha紋理和/或光澤映射(即,紋理元素位置處表面是否有光澤)等。
[0042]在適當?shù)那闆r下,針對各個紋理數(shù)據(jù)塊,可僅用剩余數(shù)據(jù)值對產(chǎn)生再現(xiàn)原始數(shù)據(jù)所需的一些(但非所有)數(shù)據(jù)值所需的數(shù)據(jù)進行編碼,所述剩余數(shù)據(jù)值作為數(shù)據(jù)再現(xiàn)處理的一部分被推導出(例如,從產(chǎn)生再現(xiàn)原始數(shù)據(jù)所需的一些數(shù)據(jù)值所需的數(shù)據(jù)推導出)。因此,在一個優(yōu)選實施方式中,編碼的紋理數(shù)據(jù)對代表一些原始紋理數(shù)據(jù)的數(shù)據(jù)進行編碼(用代表其他部分的原始數(shù)據(jù)的數(shù)據(jù)對代表這一些原始紋理數(shù)據(jù)的數(shù)據(jù)進行編碼),代表所述其他部分的原始數(shù)據(jù)的數(shù)據(jù)是在解碼處理期間從編碼的數(shù)據(jù)推導的。
[0043]例如,在法向映射的情況下,編碼的紋理數(shù)據(jù)例如可僅用第三分量(dz)對兩個法向分量(例如,dx和dy)進行編碼,所述第三分量是在對數(shù)據(jù)解碼時從這兩個值推導的(因為已知分量的平方和必須為I (因為它們定義了長度為I的法向向量):l=dx2+dy2+dz2)。
[0044]這里應該注意的是,如本領域技術人員將理解的,本文中提及“顏色”或“亮度”等相應地是指允許所關注的顏色或亮度等被再現(xiàn)于(例如)顯示器上的數(shù)據(jù)值的集合。這些數(shù)據(jù)值可包括任何合適的顏色或亮度等數(shù)據(jù)的集合,例如如上所述的RGB值的集合。同樣,在適當?shù)那闆r下,對針對編碼的紋理數(shù)據(jù)塊產(chǎn)生數(shù)據(jù)值集合以及對各個紋理元素的數(shù)據(jù)值等的提及涵蓋了各自包括或包含值的組合(如顏色值(RGB或RGBA)集合)的數(shù)據(jù)值。
[0045]依據(jù)本發(fā)明而編碼的紋理數(shù)據(jù)元素的集合或陣列可以是任何合適的或期望的這種集合。其優(yōu)選包括待編碼的整個紋理映射(即,圖像),但如果期望,其例如可僅包括紋理映射的部分。
[0046]如傳統(tǒng)塊編碼技術中一樣,產(chǎn)生的各個編碼的紋理數(shù)據(jù)塊優(yōu)選對所關注的紋理映射的較小部分(或塊)進行編碼。在這種情況下,各個紋理數(shù)據(jù)塊將對原始紋理數(shù)據(jù)元素集合中的多個紋理數(shù)據(jù)元素的選定子集或陣列進行編碼和表示。各個紋理數(shù)據(jù)塊優(yōu)選地對較小的矩形紋元陣列(可為正方形或非正方形)進行編碼。
[0047]在優(yōu)選實施方式中,各個紋理數(shù)據(jù)塊對正方形紋元陣列(優(yōu)選地,8X8紋元塊)進行編碼。當然,其它布置方式(例如,塊尺寸和/或配置)也將是可以的。
[0048]將理解,在這些布置方式中,多個這樣的單獨紋理數(shù)據(jù)塊將需要對原始紋理數(shù)據(jù)(紋理數(shù)據(jù)元素)的整個集合(例如構(gòu)成整個紋理映射的原始紋理數(shù)據(jù)(紋理數(shù)據(jù)元素)的整個集合)進行編碼。因此,在特別優(yōu)選的實施方式中,本發(fā)明包括將紋理數(shù)據(jù)元素集合(例如,用于紋理映射)再分為多個紋理數(shù)據(jù)元素子集,然后按照本發(fā)明的方式將紋理數(shù)據(jù)元素的各個子集編碼為紋理數(shù)據(jù)塊。因此,原始(初始)紋理數(shù)據(jù)元素集合將被編碼為多個紋理數(shù)據(jù)塊。
[0049]優(yōu)選地將待編碼的紋理分成等尺寸(和配置)的塊,即,針對紋理映射的各個子集(針對該子集產(chǎn)生編碼塊)表示相同數(shù)量(和例如陣列)的紋理數(shù)據(jù)元素。這例如可簡化尋找給定紋理數(shù)據(jù)元素在哪一塊的任務。
[0050]在使用多個紋理數(shù)據(jù)塊對較大的紋理映射(或者紋理元素集合或陣列)進行編碼的情況下,可根據(jù)期望選擇陣列向較小塊的實際再分以及編碼為紋理塊的順序。在優(yōu)選實施方式中,按照光柵(raster )順序?qū)K(數(shù)據(jù)子集)進行編碼,但是當然,其它布置方式也將是可以的,例如使用Morton順序。
[0051]確定的待編碼的紋理數(shù)據(jù)元素集合的低分辨率表示應該是原始紋理的適當?shù)皖l表示。其優(yōu)選為原始紋理數(shù)據(jù)元素集合的降尺度(downscale)(過濾)版本。因此,待編碼的紋理數(shù)據(jù)元素集合的低分辨率表示優(yōu)選為原始紋理(圖像)的低分辨率版本。
[0052]待編碼的紋理數(shù)據(jù)元素集合的低分辨率表示優(yōu)選通過產(chǎn)生待編碼的紋理數(shù)據(jù)元素集合的低分辨率表示來確定,但如果期望,也可使用其它布置方式,例如在逐塊(block-by-block)基礎上計算平均值。原始數(shù)據(jù)優(yōu)選按照因子8 (各個方向上1:8)降尺度,以確定紋理數(shù)據(jù)元素集合的低分辨率表示(版本)。因此,在RGB紋理的情況下,例如,紋理的低分辨率表示優(yōu)選為低分辨率(各個方向上1:8) RGB圖像。
[0053]確定并單獨編碼原始紋理數(shù)據(jù)元素集合的低分辨率表示(版本)有這樣的效果:與高頻數(shù)據(jù)分離地對編碼的紋理中的低頻數(shù)據(jù)(例如,在顏色的情況下,低頻色調(diào)和亮度)進行編碼。這于是允許使用不同的比特率對數(shù)據(jù)的低頻和高頻部分進行編碼,這繼而用于提供更有效的壓縮(編碼)方案。尤其是,如將在下面進一步討論的,相對較低的比特率可用于數(shù)據(jù)的高頻部分,因為人眼對圖像的較高頻中的噪聲較不敏感(從而允許使用高頻的精度較低的表示,而不會有太大的感知質(zhì)量損失)。
[0054]包括在編碼紋理塊中的指示紋理數(shù)據(jù)塊的來自原始數(shù)據(jù)的低分辨率表示的基本數(shù)據(jù)值的數(shù)據(jù)可采取任何期望且合適的形式,例如值的查找表中的索引。然而,其優(yōu)選包括將用于紋理數(shù)據(jù)塊的實際基本數(shù)據(jù)值。優(yōu)選有且僅有一個包括在各個編碼的紋理數(shù)據(jù)塊中的這種數(shù)據(jù)值(或這種數(shù)據(jù)值的索引)(即,各個編碼紋理數(shù)據(jù)塊將具有包括在其中(與其關聯(lián))的單個基本數(shù)據(jù)值。該基本數(shù)據(jù)值(或這種值的索引)優(yōu)選為16比特的值。
[0055]包括在編碼的紋理數(shù)據(jù)塊中的基本數(shù)據(jù)值優(yōu)選為直接取自原始數(shù)據(jù)的低分辨率表示(版本)的數(shù)據(jù)值,最優(yōu)選為直接取自原始數(shù)據(jù)的低分辨率表示(版本)中與編碼紋理數(shù)據(jù)塊所表示的原始數(shù)據(jù)中的紋理數(shù)據(jù)元素塊對應的位置(數(shù)據(jù)元素)的數(shù)據(jù)值。例如,并且優(yōu)選地,如果各個編碼紋理數(shù)據(jù)塊表示8X8紋元塊,并且原始紋理按照因子8降尺度以產(chǎn)生紋理的低分辨率版本,則對于紋理映射為了編碼而將分成的各個8X8紋元塊在紋理的低分辨率版本中應該存在一個紋理元素值。
[0056]因此,用于確定原始數(shù)據(jù)的低分辨率版本的降尺度級別優(yōu)選對應于(并等于)將被編碼為單獨的編碼紋理數(shù)據(jù)塊的各個紋理數(shù)據(jù)元素塊的尺寸。因此,例如,如果各個編碼紋理數(shù)據(jù)塊將表示原始紋理的AXA紋元,則優(yōu)選通過按照因子A (在各個方向)對原始紋理降尺度來確定原始紋理的低分辨率表示。
[0057]為此目的而包括在各個編碼紋理數(shù)據(jù)塊中的數(shù)據(jù)值例如可根據(jù)被編碼的紋理數(shù)據(jù)的性質(zhì)采取任何適合的形式。如上所述,其優(yōu)選包括用于原始紋理數(shù)據(jù)的形式的單個紋理數(shù)據(jù)值。因此,例如,對于RGB565紋理,包括在紋理數(shù)據(jù)塊中的用于指示將使用的來自低分辨率圖像的基本數(shù)據(jù)值的基本數(shù)據(jù)值優(yōu)選包括RGB565值(優(yōu)選為單個RGB565值)。對于其它形式的紋理數(shù)據(jù),基本數(shù)據(jù)值應該具有對應形式(這將在下面進一步討論)。
[0058]確定的全分辨率的差數(shù)據(jù)集合可采取任何合適且期望的形式,所述差數(shù)據(jù)用于表示紋理的低分辨率表示的升尺度版本與原始紋理之差。此差數(shù)據(jù)集合為全分辨率形式的差數(shù)據(jù)集合,即,對于原始紋理的各個紋理數(shù)據(jù)元素具有單獨(且相應)的一個或多個差數(shù)據(jù)值(即,是按照原始紋理(圖像)的分辨率的差數(shù)據(jù)集合(其可相應地應用于通過將紋理的低分辨率版本升尺度至原始紋理的分辨率而產(chǎn)生的原始紋理的表示(應用于紋理的低分辨率表示的升尺度版本),以產(chǎn)生(再現(xiàn))原始紋理的適當近似))。如上所述,該差數(shù)據(jù)集合將有效地表示原始紋理中的高頻。
[0059]在特別優(yōu)選的實施方式中,差數(shù)據(jù)集合是全分辨率差(Λ )掩碼的形式,其對于原始紋理的各個紋理數(shù)據(jù)元素具有單獨(且相應)的一個或多個差數(shù)據(jù)值。
[0060]在優(yōu)選實施方式中,差數(shù)據(jù)集合包括這樣的值的集合,所述值將與編碼塊所表示的紋理數(shù)據(jù)元素的對應基本數(shù)據(jù)值一起使用以能夠產(chǎn)生編碼塊所表示的紋理數(shù)據(jù)元素的原始紋理數(shù)據(jù)元素值的適當近似。相應地,差數(shù)據(jù)集合優(yōu)選包括帶符號的整數(shù)值的集合,所述整數(shù)值將在對塊進行解碼時與編碼紋理數(shù)據(jù)元素的基本數(shù)據(jù)值一起用于產(chǎn)生編碼塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值,所述集合包括用于編碼塊所表示的各個編碼紋理數(shù)據(jù)元素的一個或多個帶符號整數(shù)值。
[0061]因此,針對給定編碼紋理數(shù)據(jù)塊確定的用于表示紋理的低分辨率表示的升尺度版本與原始紋理之差的差數(shù)據(jù)集合優(yōu)選包括這樣的值的集合,所述值將與編碼塊所表示的紋理數(shù)據(jù)元素的對應基本數(shù)據(jù)值一起使用以產(chǎn)生編碼塊所表示的紋理數(shù)據(jù)元素的原始紋理數(shù)據(jù)元素值的適當近似,所述值的集合包括用于編碼塊所表示的各個編碼紋理數(shù)據(jù)元素的一個或多個帶符號的整數(shù)值。類似地,用于編碼塊的差數(shù)據(jù)集合相應地優(yōu)選包括(全分辨率的)帶符號整數(shù)值的集合,這些整數(shù)值將在對塊進行解碼時與塊所表示的編碼紋理數(shù)據(jù)元素的基本數(shù)據(jù)值一起用于產(chǎn)生編碼塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
[0062]如果紋理數(shù)據(jù)包括多個分量(例如,紅、綠和藍分量),則差數(shù)據(jù)集合對于紋理數(shù)據(jù)的各個不同分量包括單獨的差值(使得對于RGB紋理,例如將存在“紅”差值、“綠”差值和“藍”差)。然而,在特別優(yōu)選的實施方式中,對于紋理數(shù)據(jù)的每一分量(如果紋理數(shù)據(jù)包括多個分量)使用相同的差數(shù)據(jù)值。因此,例如,在RGB紋理中,對于給定紋理數(shù)據(jù)元素的紅、綠和藍值中的每一個,將使用用于該紋理數(shù)據(jù)元素的相同的單個差值。
[0063]因此,在特別優(yōu)選的實施方式中,確定的差數(shù)據(jù)集合是差(Λ )掩碼的形式,其包含用于原始紋理的各個相應紋理數(shù)據(jù)元素的相應的單個差數(shù)據(jù)值,所述單個差數(shù)據(jù)值將用于紋理數(shù)據(jù)元素的所有分量(如果適當?shù)脑?。
[0064]確定的差數(shù)據(jù)集合(例如,Δ掩碼)應該被配置為針對在對編碼的紋理進行解碼時將使用的解碼方案產(chǎn)生期望的紋理數(shù)據(jù)元素值,尤其是依據(jù)將用于在對編碼的紋理進行解碼時對紋理的低分辨率表示升尺度以產(chǎn)生編碼的紋理的各個紋理數(shù)據(jù)元素的適當基本數(shù)據(jù)值的處理(這將在下面更詳細地討論)。
[0065]因此,例如,如果解碼處理僅使用針對編碼紋理數(shù)據(jù)塊指示的基本數(shù)據(jù)值作為塊所表示的各個紋理數(shù)據(jù)元素的基本數(shù)據(jù)值,然后將給定紋理數(shù)據(jù)元素的差值直接與如此確定的該紋理數(shù)據(jù)元素的基本數(shù)據(jù)值相加,則差數(shù)據(jù)集合應該表示(至少近似于)相應的來自紋理的低分辨率表示的相應編碼塊基本數(shù)據(jù)值與原始紋理中的對應(且適當)紋理數(shù)據(jù)元素的值之差。在這種情況下,差數(shù)據(jù)集合(例如,Λ掩碼)應該(且優(yōu)選地)針對原始紋理的各個相應紋理數(shù)據(jù)元素表示(取自)紋理的低分辨率版本的紋元值與原始紋理中(被編碼的紋理中)的紋理數(shù)據(jù)元素的值之差。
[0066]在特別優(yōu)選的實施方式中,如將在下面進一步討論的,解碼處理通過對紋理的低分辨率表示進行過濾(插值)來產(chǎn)生紋理的低分辨率表示的升尺度版本(即,將應用差數(shù)據(jù)的紋理的低分辨率表示的升尺度版本是紋理的低分辨率表示的升尺度、過濾版本)。換言之,要被解碼的給定紋理數(shù)據(jù)元素的基本數(shù)據(jù)值(其然后將與該紋理數(shù)據(jù)元素的差值組合)并非簡單地被取為表示該紋理數(shù)據(jù)元素的編碼塊的基本數(shù)據(jù)值,而是通過實際上以更復雜的方式對紋理的低分辨率表示進行采樣或過濾而確定的值。
[0067]在這種情況下,相應地,差數(shù)據(jù)應該被配置為在應用于原始紋理的低分辨率表示的此形式的升尺度版本時提供原始紋理數(shù)據(jù)元素值的適當近似。
[0068]因此,在特別優(yōu)選的實施方式中,差數(shù)據(jù)集合(例如,Δ掩碼)針對原始紋理的各個相應紋理數(shù)據(jù)元素表示紋理數(shù)據(jù)元素的、從紋理的低分辨率版本產(chǎn)生的經(jīng)過濾的(優(yōu)選地經(jīng)線性過濾的)樣本(紋元值)與原始紋理中(被編碼的紋理中)的紋理數(shù)據(jù)元素的值之差。
[0069](如將在下面進一步討論的, 申請人:認識到,在對編碼紋理進行解碼時使用線性過濾來將紋理的低分辨率版本升尺度可使得本發(fā)明的編碼格式在保存低頻梯度方面尤其好(從而在再現(xiàn)的紋理中保持平滑的梯度并減少條帶(這對其它低比特率紋理壓縮方案會是個問題))。因此,差數(shù)據(jù)(Λ掩碼)優(yōu)選被配置為用于這種解碼處理)。
[0070]因此,在RGB565紋理的情況下,例如,確定的差數(shù)據(jù)集合優(yōu)選地包括全分辨率亮度Λ掩碼(帶符號整數(shù)),表示來自紋理的低分辨率版本的(優(yōu)選地經(jīng)線性過濾的)樣本與原始紋理之間的光度差(平均RGB差)。對應地,優(yōu)選針對其它形式的紋理數(shù)據(jù)配置差數(shù)據(jù)集八口 ο
[0071]確定的將用于對紋理進行編碼的差數(shù)據(jù)集合例如可包括紋理的低分辨率表示的升尺度版本與原始紋理之間的實際(“真”)差。
[0072]然而,在特別優(yōu)選的實施方式中,將用于所述塊的差數(shù)據(jù)集合是被編碼的紋理的“真”差值集合的近似。如將在下面進一步討論的,使用差值集合的近似允許差數(shù)據(jù)以壓縮形式被指示并存儲在編碼的紋理中,從而方便原始紋理映射的更有效的編碼。此外, 申請人:已發(fā)現(xiàn),這可以不用引起太多再現(xiàn)圖像質(zhì)量的損失。
[0073]可根據(jù)期望確定被編碼的紋理的“真”差值集合的這種近似。例如,可首先確定實際差值(例如,通過將紋理的低分辨率表示的升尺度版本與原始紋理進行比較),然后產(chǎn)生該真差值集合的適當壓縮的版本作為確定的將在對紋理進行編碼時使用的差值集合。
[0074]在特別優(yōu)選的實施方式中,用于被編碼的紋理的“真”差值集合的近似包括取自預定義的參考差值集合的差值(并且該差值被確定為紋理的“真”差值集合的適當近似)。
[0075]在此布置方式中,相應地,將存在預定義(預定)的一個或多個參考差值集合,然后將使用適當?shù)念A定參考差值來近似待編碼的紋理的“真”差值集合(并因此作為確定的在對紋理進行編碼時將使用的差值集合)。
[0076]優(yōu)選地,定義可使用的預定義的參考差值的調(diào)色板(palette),然后選擇該調(diào)色板的適當部分來形成確定的將用于所關注的紋理的差值集合。
[0077]使用預定的參考差值集合(例如,調(diào)色板)有助于方便紋理數(shù)據(jù)的壓縮,因為,例如,參考差值集合可為(實際上,優(yōu)選地為)將用于表示紋理的差值的縮減的差值集合(reduced set of difference values)。
[0078]更優(yōu)選地,使用被配置為多個不同差值塊(Λ塊)集合的預定義參考差值調(diào)色板,各個差值塊包含差值(優(yōu)選為帶符號整數(shù)值的形式)的陣列,其然后例如可用于編碼紋理數(shù)據(jù)元素的對應陣列。在此布置方式中,各個預定義參考差值塊(陣列)優(yōu)選地表示編碼紋理數(shù)據(jù)塊將表示的紋理數(shù)據(jù)元素陣列的部分(而非全部(即,子集)),例如編碼紋理數(shù)據(jù)塊將表示的紋理數(shù)據(jù)元素陣列的i/2*.%。
[0079]因此,例如,如果各個編碼紋理數(shù)據(jù)塊將表示AXA紋理數(shù)據(jù)元素塊,則預定義差數(shù)據(jù)值調(diào)色板中的差(Λ )塊優(yōu)選地各自表示Α/ηΧΑ/η差值陣列,其中η是大于一的整數(shù)。在一個特別優(yōu)選的實施方式中,例如,如果各個編碼紋理數(shù)據(jù)塊將表示8X8紋理數(shù)據(jù)元素塊,則預定義差數(shù)據(jù)值調(diào)色板中的差(Λ )塊優(yōu)選地各自表示4X4差值陣列。在這種情況下,相應地,參考差數(shù)據(jù)調(diào)色板中的各個差(Λ )塊將對應于編碼的8X8紋理數(shù)據(jù)元素塊的四分之一(4X4塊)。
[0080]可根據(jù)期望確定和推導預定義參考差值調(diào)色板等(例如,構(gòu)成該調(diào)色板的差(Λ )塊的集合)。例如,可按照(例如)迭代訓練方式編碼和測試多個已知且典型的紋理(例如,代表典型的游戲內(nèi)容的紋理),以推導合適的參考差值(例如,差值塊)的調(diào)色板,其然后將適合用于待編碼的多個不同紋理。然后應該存儲如此確定的參考差值調(diào)色板(例如,預定義的差值塊的調(diào)色板)(例如)作為查找表,編碼器(和解碼器)然后可在對紋理數(shù)據(jù)塊進行編碼(和解碼)時使用并參考所述查找表。
[0081]在這些布置方式中,對于待編碼的任何給定紋理,因此優(yōu)選將紋理的實際的“真”差值集合與預定義參考差值集合(調(diào)色板)進行比較,然后基于比較選擇參考差值集合的適當部分(例如,差值塊)(例如并且優(yōu)選地,與紋理的“真”差值集合最匹配的部分),作為參考差值集合的用于形成將在編碼時用于紋理的確定的差值集合的部分。
[0082]例如,并且優(yōu)選地,為了確定參考差值集合的哪些部分與“真”差值最匹配而在紋理的實際差值與參考差值集合之間進行的比較可根據(jù)期望并使用任何合適的比較和相似性評估技術(例如,使用誤差比較技術)實現(xiàn),以確定與確定的紋理的“真”差值最匹配的預定義參考差值。(例如可根據(jù)期望通過產(chǎn)生紋理的低分辨率表示的升尺度版本,然后將其與原始紋理進行比較,來確定紋理的實際的“真”差值。)
[0083]在特別優(yōu)選的實施方式中,在逐塊的基礎上確定將使用的預定義參考差值。因此,優(yōu)選針對預定參考差值(例如并且優(yōu)選地,針對預定參考差值塊)測試待編碼的各個紋理數(shù)據(jù)塊,以確定(選擇)哪些預定參考差值(例如,差值塊)將用于(最適合于)該塊。
[0084]因此,在特別優(yōu)選的實施方式中,將編碼紋理數(shù)據(jù)塊要表示的紋理數(shù)據(jù)元素集合的實際差值集合與參考差值塊的預定義調(diào)色板進行比較,然后基于比較(優(yōu)選地,基于那個(哪些)參考差值塊與所關注的紋理數(shù)據(jù)元素塊的實際差值集合最匹配)選擇用于編碼紋理數(shù)據(jù)塊要表示的紋理數(shù)據(jù)元素集合的一個或多個參考差值塊。
[0085]如上所述,各個參考差值塊優(yōu)選對應于(在尺寸方面)編碼塊要表示的紋理數(shù)據(jù)元素陣列的子集,因此優(yōu)選地,基于“子塊”進行相應的編碼紋理數(shù)據(jù)塊的比較。因此,在特別優(yōu)選的實施方式中,將編碼紋理數(shù)據(jù)塊要表示的紋理數(shù)據(jù)元素集合的實際差值集合的相應子集各自與參考差值塊的預定義調(diào)色板進行比較,然后基于比較(優(yōu)選地,基于哪一參考差值塊與所關注的紋理數(shù)據(jù)元素塊的差值子集的“真”差值最匹配)選擇針對編碼紋理數(shù)據(jù)塊要表示的紋理數(shù)據(jù)元素集合的各個相應子集使用的參考差值塊。
[0086]包括在各個編碼紋理數(shù)據(jù)塊中的指示將用于該塊的來自確定的差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù)可按照任何期望且合適的方式指示差數(shù)據(jù)。例如,其可包括相關差值本身或者指示將使用的值的索引(則其將取自(例如)查找表)。
[0087]如上所述,如果定義可能的差數(shù)據(jù)值集合的調(diào)色板,則包括在編碼紋理數(shù)據(jù)塊中的指示將使用的差數(shù)據(jù)的數(shù)據(jù)優(yōu)選地指示預定義調(diào)色板的哪些元素或哪個(那些)部分將用于所關注的編碼塊。
[0088]因此,如果使用預定義的參考差值調(diào)色板,則包括在編碼紋理數(shù)據(jù)塊中的指示將用于編碼紋理數(shù)據(jù)塊的差值的數(shù)據(jù)優(yōu)選為指示參考差值調(diào)色板的哪個或哪些部分將用于編碼紋理數(shù)據(jù)塊的數(shù)據(jù)值(例如并且優(yōu)選地,索引值)的形式。
[0089]因此,在特別優(yōu)選的實施方式中,如果預定義的參考差值調(diào)色板為預定義的差值塊(陣列)的形式,則編碼紋理數(shù)據(jù)塊包括指示哪個或哪些預定義的差值塊將用于編碼紋理數(shù)據(jù)塊的一個或多個索引值。因此,如果各個編碼紋理數(shù)據(jù)塊表示8X8紋理數(shù)據(jù)元素塊,并且預定義的參考差值調(diào)色板為預定義的4X4差值塊的形式,則各個編碼紋理數(shù)據(jù)塊優(yōu)選包括指示哪個預定義的4X4差值塊將用于8X8紋理數(shù)據(jù)元素塊的各個相應的4X4塊的4個索引值。
[0090]例如,預定義的參考差值調(diào)色板中的索引值例如可簡單地在與被支持的唯一索弓I值的數(shù)量對應的參考差值塊集合中進行索引。然而,在特別優(yōu)選的實施方式中,索引值方案被配置為使得可使用存儲的較小的預定義參考差值塊集合產(chǎn)生可使用的較大的預定義參考差值塊集合。這優(yōu)選通過編碼并利用可使用的差值塊之間的對稱性(例如,旋轉(zhuǎn)對稱)和其它關系的索引方案來進行。
[0091]例如,使用的索引值可指示(并優(yōu)選地指示)存儲的預定義參考差值塊集合中的基本索引,以及下列項中的一個或更多個(優(yōu)選為全部):要用于索引的存儲塊的取向(旋轉(zhuǎn));存儲的塊值的符號是否取非;以及存儲的塊值是否應該乘以比例因子(如果使用的話,優(yōu)選比例因子的值)。
[0092]在特別優(yōu)選的實施方式中,使用12比特索引值來指示要使用的參考差值集合,其優(yōu)選如下配置:存儲的預定義參考差值塊集合的7比特基本索引;限定要用于索引的存儲塊的取向(旋轉(zhuǎn))的2比特值;限定存儲的塊值的符號的I比特值(如果設置,所有塊值將取非);以及限定塊的幅度(amplitude)的2比特值(所有塊值將乘以一加此值)。
[0093]這將允許存儲的128個預定義參考差值塊的集合用于產(chǎn)生將用于待編碼的紋理數(shù)據(jù)元素塊的差值的4096個不同的參考差值塊。
[0094]因此,在特別優(yōu)選的實施方式中,各個編碼紋理數(shù)據(jù)塊表示8X8紋理數(shù)據(jù)元素塊,預定義參考差數(shù)據(jù)值塊包括4X4差值陣列,各個編碼紋理數(shù)據(jù)塊包括指示將用于該編碼紋理數(shù)據(jù)塊的參考差值塊的4個索引值,各個索引值優(yōu)選具有12比特,并且優(yōu)選具有上述格式。
[0095]類似地,在特別優(yōu)選的實施方式中,各個編碼紋理數(shù)據(jù)塊將包括(并且僅包括)所述塊的基本數(shù)據(jù)(例如,顏色)值以及指示要用于所述塊的參考差值塊的四個索引值。在特別優(yōu)選的實施方式中,基本數(shù)據(jù)值將為16比特值(例如,單個RGB565值),差塊索引值將各自為12比特。在此格式中,將使用64比特對給定的8X8紋理數(shù)據(jù)元素陣列進行編碼(SP,每像素(每紋元)使用I比特)。
[0096]從以上可以看出, 申請人:認識到,仍可通過利用差值集合所有效表示的高頻數(shù)據(jù)中通常將存在的短重復周期來以有效的方式對本發(fā)明的編碼方案中所使用的差值集合進行編碼。尤其是, 申請人:認識到,圖形紋理上的差值塊往往會重復,并且足夠類似以使得可通過重復來自更有限的代表性的差值集合(差值塊)的差值塊(集合)來足夠精確地對它們進行編碼(和表示)。那么這意味著仍可以有效的方式對紋理進行編碼,同時仍使用全分辨率的差值集合來表示紋理中的較高頻(從而提高編碼的紋理的精度)。
[0097]因此,在特別優(yōu)選的實施方式中,編碼紋理數(shù)據(jù)塊中的差數(shù)據(jù)集合的編碼利用針對被編碼的紋理的差數(shù)據(jù)集合中的重復。最優(yōu)選地,通過針對表示紋理的不同的編碼紋理數(shù)據(jù)塊再次使用(重復)相同的差數(shù)據(jù)集合(即,使得紋理的兩個或更多個編碼紋理數(shù)據(jù)塊將使用相同的差數(shù)據(jù)集合),來對差數(shù)據(jù)集合進行編碼。
[0098]類似地,在特別優(yōu)選的實施方式中,通過使用共有的差數(shù)據(jù)集合的適當部分表示各個相應的紋理的差數(shù)據(jù)來使用共有的差數(shù)據(jù)集合,以對多個不同的紋理進行編碼。因此,優(yōu)選針對待編碼的多個不同的紋理再次使用共有的參考差數(shù)據(jù)集合(相同集合)。
[0099]盡管上面主要參照對顏色、RGB、紋理映射的編碼描述了本發(fā)明, 申請人:認識到,即使不表示光度時,本發(fā)明也可有利地用于表示單分量(灰度)紋理。這是因為本發(fā)明的格式可花費非常少的比特表示顏色,使得單分量紋理的再現(xiàn)紋理質(zhì)量也可很好。
[0100]因此,本發(fā)明還可用于(并優(yōu)選地還用于)單分量數(shù)據(jù),例如(并且優(yōu)選為)任何類型的單分量細節(jié)映射,例如(并且優(yōu)選為)下列項中的一個或更多個(優(yōu)選全部):光澤映射、alpha映射、置換映射和視差映射。在這種情況下,基本數(shù)據(jù)值將是適當?shù)墓鉂苫騛lpha等值,差值則將基本上表示(近似于)紋理數(shù)據(jù)元素的升尺度再現(xiàn)數(shù)據(jù)值與數(shù)據(jù)元素的“真”值之間的誤差。
[0101]在一個特別優(yōu)選的實施方式中,本發(fā)明的形式的兩個編碼紋理數(shù)據(jù)塊集合(B卩,本發(fā)明的形式的兩個編碼紋理)一起(組合)使用以表示紋理數(shù)據(jù)元素集合(紋理映射)。例如,在法向映射的情況下,本發(fā)明的形式的兩個單分量編碼紋理可用于例如分別對法向映射的X和Y分量進行編碼,Z分量則由解碼器通過知道(X,Y,Z)為單位矢量來重構(gòu)。那么這將按照2bpp的速率給予很好的法向映射編碼。類似地,本發(fā)明的形式的兩個單獨的紋理可用于給予RGB+alpha紋理映射的2bpp編碼。
[0102]本發(fā)明還可用于對HDR (高動態(tài)范圍)紋理進行編碼。例如,對于單分量HDR紋理,塊的基色值可被編碼為L8E8 (8比特帶符號亮度,8比特帶符號指數(shù))值,而不是RGB565值(其中使用16比特基本數(shù)據(jù)值),以給予編碼塊共有的基本亮度值和指數(shù)。
[0103]還可使用本發(fā)明的形式的兩個紋理按照2bpp對HDR RGB數(shù)據(jù)+(0...l)alpha進行編碼(在優(yōu)選實施方式中,就這樣做)。在這種情況下,可使用各個塊的RGB565基色值對RGB數(shù)據(jù)進行編碼,使用A8E8基本值在單獨的紋理中對alpha數(shù)據(jù)進行編碼,其中A是塊的基本alpha值,但“alpha”編碼紋理的指數(shù)(E)值用作對應RGB紋理塊的RGB值的指數(shù),而非用作alpha值的指數(shù)。
[0104]在這種情況下,如果本發(fā)明的形式的兩個紋理組合使用,則本發(fā)明的形式的每一相應對的兩個單獨編碼的例如64比特的塊(例如,一個用于RGB值,一個用于Alpha值)優(yōu)選組合成表示總紋理的相關部分的例如128比特的“巨型塊(megablock)”(例如,原始紋理的對應8X8紋元塊的RGB+Alpha)。
[0105]如將從上面理解的,優(yōu)選地,利用本發(fā)明的編碼方法產(chǎn)生的編碼紋理數(shù)據(jù)塊將各自包括(并且優(yōu)選地僅包括):該塊的(單個)基本數(shù)據(jù)值,其將用于確定塊所表示的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值(例如,顏色);以及指示參考差值塊的一個或更多個(在優(yōu)選實施方式中,四個)索引值,其將與紋理數(shù)據(jù)元素的基本數(shù)據(jù)值一起用于確定編碼紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的值。
[0106]該信息可按照任何期望的順序和布置方式包括在編碼紋理數(shù)據(jù)塊中,但在優(yōu)選實施方式中,針對各個編碼紋理數(shù)據(jù)塊使用特定(優(yōu)選共有的)格式和組織(organisation)。
[0107]如將從上面理解的,本發(fā)明的編碼處理將操作以生成表示(并對應于)原始紋理映射的編碼紋理數(shù)據(jù)塊的流或集合。本發(fā)明的編碼處理可以任何合適的方式對待編碼的原始紋理數(shù)據(jù)執(zhí)行或使用待編碼的原始紋理數(shù)據(jù)進行。
[0108]例如,待編碼的原始紋理映射可被降尺度,然后如上所述確定用于待編碼的給定紋理數(shù)據(jù)元素塊的差值集合。這將針對原始數(shù)據(jù)(例如,紋理映射)所分成的各個不同的塊重復,以生成表示(并對應于)原始數(shù)據(jù)集合(例如,紋理映射)的編碼紋理數(shù)據(jù)塊的流或集八口 ο
[0109]然后可將編碼紋理數(shù)據(jù)塊集合存儲在例如諸如DVD的便攜式存儲裝置上,以便于以后使用,例如當期望將紋理應用于待渲染的圖像時。優(yōu)選地,紋理被編碼為MIP映射集合,各個MIP映射優(yōu)選以本發(fā)明的方式產(chǎn)生。
[0110]原始數(shù)據(jù)(例如,紋理映射)所分成的各個塊優(yōu)選為相同的尺寸和配置。優(yōu)選將使用的塊尺寸提供給解碼器。塊尺寸優(yōu)選不包括在編碼紋理數(shù)據(jù)塊本身中,而是優(yōu)選單獨地提供給解碼器。例如,塊尺寸可由提供給解碼器的另一參數(shù)(例如,圖像類型)隱含地指示,或者被包括在與編碼紋理數(shù)據(jù)塊集合關聯(lián)(附著到編碼紋理數(shù)據(jù)塊集合)的(全局)數(shù)據(jù)頭中(并在其中被指示)。
[0111]以上主要描述了本發(fā)明的編碼技術。如本領域技術人員將理解的,本發(fā)明還擴展至相反的解碼處理,即,其中使用一個或多個編碼紋理數(shù)據(jù)塊來生成一個或更多個紋理數(shù)據(jù)元素或生成紋理數(shù)據(jù)元素陣列以供使用。解碼處理可以任何合適且期望的方式執(zhí)行。
[0112]解碼處理優(yōu)選地首先包括:確定表示要使用的紋理映射的編碼紋理數(shù)據(jù)塊集合中的哪一編碼紋理數(shù)據(jù)塊表示(包含)的紋理數(shù)據(jù)元素的值被需要(即,要被解碼)。這可(例如,并且優(yōu)選地)基于紋理數(shù)據(jù)元素的位置(以及例如對塊尺寸和紋理尺寸的了解)進行。
[0113]然后,可使用識別的編碼紋理數(shù)據(jù)塊來確定將用于所關注的紋理數(shù)據(jù)元素的值。該處理將實質(zhì)上是編碼處理的逆處理,因此例如包括利用編碼紋理數(shù)據(jù)塊中的基本數(shù)據(jù)值確定針對塊的一個或多個紋理數(shù)據(jù)元素要使用的基本數(shù)據(jù)值,從編碼紋理數(shù)據(jù)塊確定塊的一個或多個差值,并利用確定的塊的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值和確定的差值來產(chǎn)生將用于塊所表示的各個紋理數(shù)據(jù)元素的一個或多個數(shù)據(jù)值(例如,顏色)。
[0114]然后,如本領域已知的,可將如此產(chǎn)生的解碼紋元值應用于正渲染的采樣位置和/或片斷,以針對那些采樣位置和/或片斷產(chǎn)生渲染的數(shù)據(jù),然后將所述渲染的數(shù)據(jù)例如寫到顯示器的幀緩沖器,以顯示“紋理化的”采樣位置和/或片斷。
[0115]因此,本發(fā)明還擴展至一種解碼器和解碼設備,該解碼器和解碼設備被配置為對以本發(fā)明的方式編碼的紋理進行解碼。
[0116]如果適當?shù)脑?,解碼處理可包括(實際上,優(yōu)選地包括)本文所述的本發(fā)明的各種優(yōu)選和可選特征中的一個或更多個或全部。
[0117]因此,根據(jù)本發(fā)明的第四方面,提供一種對紋理數(shù)據(jù)塊進行解碼以確定所述塊所表示的紋理數(shù)據(jù)元素的值的方法,所述紋理數(shù)據(jù)塊對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行了編碼,所述方法包括:
[0118]從編碼紋理數(shù)據(jù)塊確定所述編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值,并使用確定的所述紋理數(shù)據(jù)塊的基本數(shù)據(jù)值來確定將用于所述塊所表示的、其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值,所述基本數(shù)據(jù)值取自所述塊所表示的紋理數(shù)據(jù)元素集合的低分辨率表示;
[0119]從所述編碼紋理數(shù)據(jù)塊確定差數(shù)據(jù)值,所述差數(shù)據(jù)值將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述塊所表示的、其值待確定的所述紋理數(shù)據(jù)元素的數(shù)據(jù)值;以及
[0120]將確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值與確定的所述紋理數(shù)據(jù)元素的差值一起使用以產(chǎn)生將用于所述紋理數(shù)據(jù)元素的數(shù)據(jù)值。
[0121]根據(jù)本發(fā)明的第五方面,提供一種對紋理數(shù)據(jù)塊進行解碼以確定所述塊所表示的紋理數(shù)據(jù)元素的值的設備,所述紋理數(shù)據(jù)塊對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行了編碼,所述設備包括:
[0122]用于從編碼紋理數(shù)據(jù)塊確定所述編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值、并用于使用確定的所述紋理數(shù)據(jù)塊的基本數(shù)據(jù)值來確定將用于所述塊所表示的、其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值的裝置,所述基本數(shù)據(jù)值取自所述塊所表示的紋理數(shù)據(jù)元素集合的低分辨率表示;
[0123]用于從編碼紋理數(shù)據(jù)塊確定差數(shù)據(jù)值的裝置,所述差數(shù)據(jù)值將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述塊所表示的、其值待確定的所述紋理數(shù)據(jù)元素的數(shù)據(jù)值;以及
[0124]用于將確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值與確定的所述紋理數(shù)據(jù)元素的差值一起使用以產(chǎn)生將用于所述紋理數(shù)據(jù)元素的數(shù)據(jù)值的裝置。
[0125]如本領域技術人員將理解的,如果適當?shù)脑?,本發(fā)明的所有這些方面可包括(優(yōu)選地包括)本文所述的本發(fā)明的優(yōu)選和可選特征中的任一個或更多個或全部。因此,例如,編碼紋理數(shù)據(jù)塊優(yōu)選表示8X8紋理數(shù)據(jù)元素陣列,尺寸優(yōu)選為64比特。
[0126]在本發(fā)明的解碼處理中,可以以任何期望且合適的方式利用編碼紋理數(shù)據(jù)塊的(從編碼紋理數(shù)據(jù)塊確定的)(即,由編碼紋理數(shù)據(jù)塊指示的)基本數(shù)據(jù)值來確定將用于給定紋理數(shù)據(jù)元素的基本數(shù)據(jù)值。例如,可將該基本數(shù)據(jù)值簡單地看做為編碼紋理數(shù)據(jù)塊本身的(即,從編碼紋理數(shù)據(jù)塊確定的)基本數(shù)據(jù)值。
[0127]然而,在特別優(yōu)選的實施方式中,通過利用所關注的(B卩,紋理數(shù)據(jù)元素所屬的)編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值,與取自紋理的低分辨率表示的表示紋理的一個或更多個其它編碼紋理數(shù)據(jù)塊的一個或更多個基本數(shù)據(jù)值組合,來確定將用于其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值(即,優(yōu)選利用多個編碼紋理數(shù)據(jù)塊的、取自紋理的低分辨率表示的基本數(shù)據(jù)值來確定將用于其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值)。
[0128]優(yōu)選地,這通過將所關注的多個編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值組合以(例如,并且優(yōu)選地)基于所關注的紋理數(shù)據(jù)元素的位置推導所關注的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值來進行。最優(yōu)選地,如上所述,基于其值待確定的紋理數(shù)據(jù)元素的位置對多個編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值進行線性過濾,以確定將用于該紋理數(shù)據(jù)元素的基本數(shù)據(jù)值。如上所述, 申請人:已發(fā)現(xiàn),使用這種線性過濾可有助于保護低頻梯度并避免解碼紋理中的條帶。
[0129]因此,在特別優(yōu)選的實施方式中,通過對來自多個編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值進行線性過濾來確定將用于給定紋理數(shù)據(jù)塊的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值。
[0130]如果使用多個編碼塊的基本數(shù)據(jù)值來推導將用于待解碼的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值,則優(yōu)選地,將該紋理數(shù)據(jù)元素所屬的塊的基本數(shù)據(jù)值與最靠近所關注的紋理數(shù)據(jù)元素的三個相鄰塊的基本數(shù)據(jù)值一起使用。那么這將有利于利用例如雙線性過濾來確定將用于該紋理數(shù)據(jù)元素的基本數(shù)據(jù)值。當然,其它布置方式也是可以的。
[0131]如果多個編碼塊的基本數(shù)據(jù)值要按照這種方式使用,則相應地,解碼處理應該包括(優(yōu)選地包括):識別要使用其基本數(shù)據(jù)值的相關編碼紋理數(shù)據(jù)塊(例如并且優(yōu)選地,包含待解碼的紋理數(shù)據(jù)元素的塊以及(例如)基于待解碼的紋理數(shù)據(jù)元素的位置的相關相鄰塊);確定如此識別的各個塊的基本數(shù)據(jù)值;然后利用那些確定的基本數(shù)據(jù)值來產(chǎn)生要用于所關注的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值(例如并且優(yōu)選地,通過依據(jù)所關注的紋理數(shù)據(jù)元素的位置對所述塊的基本數(shù)據(jù)值進行線性過濾)。
[0132]根據(jù)例如編碼紋理數(shù)據(jù)塊如何指示(表示)差值,可類似地以任何期望且合適的方式從編碼的紋理數(shù)據(jù)塊來確定要被用于其值待確定的紋理數(shù)據(jù)元素的差數(shù)據(jù)值。例如,如果編碼塊直接包括差值,則可識別該塊中的相關差值并接著使用。
[0133]在特別優(yōu)選的實施方式中,如上所述,通過使用包括在塊中的索引值來確定要被用于待解碼的紋理數(shù)據(jù)元素的差數(shù)據(jù)值,以識別例如存儲在查找表中的用于該塊的預定義差數(shù)據(jù)集合(并且最優(yōu)選地,預定義的差數(shù)據(jù)塊)以用于該塊。
[0134]該處理優(yōu)選地還包括:從包括在塊中的索引值來確定是否應該對預定義的差數(shù)據(jù)塊執(zhí)行(應用)諸如旋轉(zhuǎn)、取非(negat1n)或縮放(放大)中的一個或更多個(優(yōu)選為全部)的任何操作,以給出(產(chǎn)生)將用于該塊的差數(shù)據(jù)集合。如果是,則所指示的操作被優(yōu)選地應用于識別的差數(shù)據(jù)集合。
[0135]一旦識別出要被用于上述紋理數(shù)據(jù)元素的預定義的差數(shù)據(jù)值集合并根據(jù)需要對其進行了例如旋轉(zhuǎn)、縮放等,則優(yōu)選地基于上述紋理數(shù)據(jù)元素的位置從所述差數(shù)據(jù)值集合中選擇(確定)要被用于上述紋理數(shù)據(jù)元素的特定差值。
[0136]如上所述,如果編碼塊中可能包括例如針對該塊的不同象限(quadrant)的多個差數(shù)據(jù)索引值,則應該(例如,基于所關注的紋理數(shù)據(jù)元素的位置)識別所關注的塊的部分(例如,象限),然后確定針對該塊部分(例如,象限)的索引以及差數(shù)據(jù)集合。
[0137]一旦確定了要被用于待解碼的紋理數(shù)據(jù)元素的差值和基本數(shù)據(jù)值,則可將它們用于給出要被用于該紋理數(shù)據(jù)元素的解碼數(shù)據(jù)(例如,顏色)值。優(yōu)選地,這通過將確定的差值和基本數(shù)據(jù)值組合(優(yōu)選通過將它們相加)來進行。如果紋理數(shù)據(jù)包括多個分量(例如,RGB),則優(yōu)選適當?shù)貙⒉钪蹬c基本數(shù)據(jù)值的各個分量組合(相加)。如果存在單個差值,則優(yōu)選將相同的差值分別與基本數(shù)據(jù)值的各個分量相加,以給出解碼的輸出(例如,顏色)值。
[0138]如果期望或需要,在最終輸出以使用之前,可以使利用基本數(shù)據(jù)值和差值確定的數(shù)據(jù)(例如,顏色)值經(jīng)受進一步處理。
[0139]例如,如果需要,可將其例如固定(clamp)到期望且允許的值范圍(例如并且優(yōu)選地,在RGB顏色的情況下為(0,255))。在一個優(yōu)選實施方式中,就這樣做。
[0140]類似地,例如在單分量HDR紋理的情況下,通過組合基本值和差值而得到的值優(yōu)選保持為帶符號整數(shù)值,然后將該整數(shù)值乘以2的指數(shù)冪,然后除以255.0f以給出要被輸出并被用于紋理數(shù)據(jù)元素的浮點值。
[0141]然后,可根據(jù)期望將所確定的(如果需要,被固定等)的紋理數(shù)據(jù)元素的數(shù)據(jù)值輸出給例如圖形處理器的片斷著色器以便于使用。
[0142]針對塊的需要其值的各個紋理數(shù)據(jù)元素(并且針對其它編碼塊中的紋理數(shù)據(jù)元素)(針對紋理的需要其值的各個紋理數(shù)據(jù)元素)重復該解碼處理。
[0143]在優(yōu)選實施方式中,解碼器(解碼設備)實現(xiàn)在使用編碼紋理的裝置中,例如圖形處理器。解碼器優(yōu)選地實現(xiàn)為被配置為執(zhí)行所述解碼處理的專用硬件元件。
[0144]如從以上理解到的,在特別優(yōu)選的實施方式中,本發(fā)明的針對編碼紋理的各個紋理數(shù)據(jù)元素的解碼處理將相應地包括:基于紋理數(shù)據(jù)元素的位置,從表示紋理的編碼紋理數(shù)據(jù)塊集合中識別表示所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊和三個相鄰的編碼紋理數(shù)據(jù)塊;針對所識別的各個紋理數(shù)據(jù)塊確定取自紋理的低分辨率表示的基本數(shù)據(jù)值;基于所述紋理數(shù)據(jù)元素的位置,對所識別的紋理數(shù)據(jù)塊的所確定的基本數(shù)據(jù)值進行線性過濾,以產(chǎn)生所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值;基于所述紋理數(shù)據(jù)元素的位置,識別表示所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊中的索引值,所述索引值指示預定差數(shù)據(jù)值集合;利用所述索引值從存儲器取得所述預定差數(shù)據(jù)值集合;從所述索引值確定是否需要對所述預定差值集合應用任何操作(諸如且優(yōu)選地,旋轉(zhuǎn)、取非或縮放),如果是,則向所述預定差值集合應用那些操作;基于所述紋理數(shù)據(jù)元素的位置,從所述預定差值集合中識別要用于所述紋理數(shù)據(jù)元素的所述紋理數(shù)據(jù)元素的差值;以及將所識別的所述紋理數(shù)據(jù)元素的差值與確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值相加,以產(chǎn)生所述紋理數(shù)據(jù)元素的解碼值(并且隨后,例如,對所述解碼值進行固定或以其它方式處理(如果需要的話),并將其輸出以便于例如圖形處理器使用。
[0145]因此,根據(jù)本發(fā)明的另一方面,提供一種對編碼紋理進行解碼的方法,所述編碼紋理表示要在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素陣列,所述編碼紋理為編碼紋理數(shù)據(jù)塊集合的形式,各個塊表示紋理的紋理數(shù)據(jù)元素的子集,并且所述方法包括通過以下步驟確定編碼紋理所表示的個別紋理數(shù)據(jù)元素的值:
[0146]基于其值待確定的紋理數(shù)據(jù)元素的位置,從表示所述紋理的編碼紋理數(shù)據(jù)塊集合中識別表示其值待確定的所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊以及三個相鄰編碼紋理數(shù)據(jù)塊;
[0147]針對所識別的各個紋理數(shù)據(jù)塊,確定取自紋理的低分辨率表示的基本數(shù)據(jù)值;
[0148]基于所述紋理數(shù)據(jù)元素的位置,對所識別的紋理數(shù)據(jù)塊的確定的基本數(shù)據(jù)值進行線性過濾,以產(chǎn)生所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值;
[0149]基于所述紋理數(shù)據(jù)元素的位置,識別表示所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊中的索引值,所述索引值指示預定差數(shù)據(jù)值集合;
[0150]利用所述索引值從存儲器取得所述預定差數(shù)據(jù)值集合;
[0151]基于所述紋理數(shù)據(jù)元素的位置,從所述預定差值集合中確定要用于所述紋理數(shù)據(jù)元素的差值;以及
[0152]使用所述紋理數(shù)據(jù)元素的確定的差值與所述紋理數(shù)據(jù)元素的確定的基本數(shù)據(jù)值以給出所述紋理數(shù)據(jù)元素的解碼值。
[0153]類似地,根據(jù)本發(fā)明的另一方面,提供一種對編碼紋理進行解碼以確定編碼紋理所表示的各個紋理數(shù)據(jù)元素的值的方法,所述編碼紋理表示要在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素陣列,所述編碼紋理為編碼紋理數(shù)據(jù)塊集合的形式,各個塊表示紋理的紋理數(shù)據(jù)元素的子集,所述設備包括:
[0154]用于基于其值待確定的紋理數(shù)據(jù)元素的位置從表示紋理的編碼紋理數(shù)據(jù)塊集合中識別表示其值待確定的所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊以及三個相鄰編碼紋理數(shù)據(jù)塊的裝置;
[0155]用于針對所識別的各個紋理數(shù)據(jù)塊確定取自紋理的低分辨率表示的基本數(shù)據(jù)值的裝置;
[0156]用于基于所述紋理數(shù)據(jù)元素的位置對所識別的紋理數(shù)據(jù)塊的確定的基本數(shù)據(jù)值進行線性過濾以產(chǎn)生所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值的裝置;
[0157]用于基于所述紋理數(shù)據(jù)元素的位置而識別表示所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊中的索引值的裝置,所述索引值指示預定差數(shù)據(jù)值集合;
[0158]用于利用所述索引值從存儲器取得所述預定差數(shù)據(jù)值集合的裝置;
[0159]用于基于所述紋理數(shù)據(jù)元素的位置從所述預定差值集合中確定要用于所述紋理數(shù)據(jù)元素的差值的裝置;以及
[0160]用于使用所述紋理數(shù)據(jù)元素的確定的差值與所述紋理數(shù)據(jù)元素的確定的基本數(shù)據(jù)值以給出所述紋理數(shù)據(jù)元素的解碼值的裝置。
[0161]如本領域技術人員將理解的,如果適當?shù)脑?,本發(fā)明的所有這些方面可包括(優(yōu)選地包括)本文所述的本發(fā)明的優(yōu)選和可選特征中的任一個或更多個或全部。
[0162]因此,例如,編碼紋理數(shù)據(jù)塊優(yōu)選地各自表示8X8紋理數(shù)據(jù)元素陣列,并且優(yōu)選地尺寸為64比特,所述處理優(yōu)選地還包括在從所述預定差值集合確定要用于所述紋理數(shù)據(jù)元素的差值時,從所識別的索引值來確定是否需要對所述預定差值集合應用諸如(并且優(yōu)選地)旋轉(zhuǎn)、取非和/或縮放(放大)的操作,如果是,則將該操作應用于所述預定差值集合。優(yōu)選地,在檢索塊值之前執(zhí)行任何影響取向的操作(因為這將影響被查找的值),和/或在檢索塊值之后執(zhí)行修改塊值本身的任何操作。
[0163]類似地,所述處理優(yōu)選地還包括:優(yōu)選在首先使解碼值經(jīng)受某些進一步處理(例如,將其固定至允許的值范圍)之后,輸出所述紋理數(shù)據(jù)元素的解碼值以便于例如由圖形處理器使用。
[0164]同樣,優(yōu)選針對紋理的需要其值的各個紋理數(shù)據(jù)元素重復所述處理。
[0165]本發(fā)明還擴展至本發(fā)明的編碼和解碼處理的組合使用,并且類似地擴展至可執(zhí)行本發(fā)明的編碼和解碼處理二者的設備。
[0166]盡管上面具體參照圖形處理系統(tǒng)中的紋理數(shù)據(jù)的編碼和解碼描述了本發(fā)明,如本領域技術人員將理解的,其將同樣適用于數(shù)據(jù)處理系統(tǒng)的其它形式的數(shù)據(jù)的編碼和解碼,特別適用于(相似)數(shù)據(jù)元素(例如,值遵循公共或相似格式的數(shù)據(jù)元素和/或?qū)⒈换蚩杀挥糜谙嗨苹蛳嗤康牡臄?shù)據(jù)元素或表示相似信息的數(shù)據(jù)元素)的陣列或塊形式(或者可以以該形式表達)的數(shù)據(jù)。其特別適用于期望隨機訪問所述數(shù)據(jù)的數(shù)據(jù)編碼和解碼。
[0167]這樣的數(shù)據(jù)例如可以包括用于仿真的矢量場、表示流體的流動方向或碰撞的彈跳方向等的數(shù)據(jù)(所述數(shù)據(jù)例如將相似于上面與圖形數(shù)據(jù)相關討論的法向映射(凹凸映射))、熱映射(heat-map)或聲音數(shù)據(jù)等。
[0168]在這些布置方式中,所述數(shù)據(jù)可以按照與本文所述的紋理數(shù)據(jù)相似的方式被編碼和解碼。
[0169]因此,根據(jù)本發(fā)明的另一方面,提供一種對要在數(shù)據(jù)處理系統(tǒng)中使用的數(shù)據(jù)元素集合進行編碼的方法,所述方法包括以下步驟:
[0170]確定數(shù)據(jù)元素集合的低分辨率表示;
[0171]確定全分辨率的差數(shù)據(jù)集合,所述差數(shù)據(jù)集合表示數(shù)據(jù)元素集合的確定的低分辨率表示的升尺度版本與原始數(shù)據(jù)元素集合之差;以及
[0172]將數(shù)據(jù)元素集合編碼為表示所述數(shù)據(jù)元素的一個或更多個數(shù)據(jù)塊,各個這種數(shù)據(jù)塊:
[0173]表示來自數(shù)據(jù)元素集合的數(shù)據(jù)元素塊,并且包括:
[0174]指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自數(shù)據(jù)元素集合的確定的低分辨率表示;以及
[0175]指示來自確定的差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)將在對數(shù)據(jù)塊
[0176]進行解碼時使用以產(chǎn)生要用于數(shù)據(jù)塊所表示的數(shù)據(jù)元素的數(shù)據(jù)值。
[0177]根據(jù)本發(fā)明的另一方面,提供一種對要在數(shù)據(jù)處理系統(tǒng)中使用的數(shù)據(jù)元素集合進行編碼的設備,所述設備包括:
[0178]用于確定數(shù)據(jù)元素集合的低分辨率表示的裝置;
[0179]用于確定全分辨率的差數(shù)據(jù)集合的裝置,所述差數(shù)據(jù)集合表示數(shù)據(jù)元素集合的確定的低分辨率表示的升尺度版本與原始數(shù)據(jù)元素集合之差;以及
[0180]用于將數(shù)據(jù)元素集合編碼為表示數(shù)據(jù)元素的一個或更多個數(shù)據(jù)塊的裝置,各個這種紋理數(shù)據(jù)塊:
[0181]表示來自數(shù)據(jù)元素集合的數(shù)據(jù)元素塊,并且包括:
[0182]指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自數(shù)據(jù)元素集合的確定的低分辨率表示;以及
[0183]指示來自確定的差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)將在對數(shù)據(jù)塊進行解碼時使用以產(chǎn)生要用于數(shù)據(jù)塊所表示的數(shù)據(jù)元素的數(shù)據(jù)值。
[0184]根據(jù)本發(fā)明的另一方面,提供一種對數(shù)據(jù)塊進行解碼以確定所述塊所表示的數(shù)據(jù)元素的值的方法,所述數(shù)據(jù)塊對將用在數(shù)據(jù)處理系統(tǒng)中的數(shù)據(jù)元素集合進行了編碼,所述方法包括以下步驟:
[0185]從編碼的數(shù)據(jù)塊確定編碼的數(shù)據(jù)塊的基本數(shù)據(jù)值,所述基本數(shù)據(jù)值取自所述塊所表示的數(shù)據(jù)元素集合的低分辨率表示,并且使用數(shù)據(jù)塊的確定的基本數(shù)據(jù)值來確定要用于塊所表示的其值待確定的數(shù)據(jù)元素的基本數(shù)據(jù)值;
[0186]從編碼的數(shù)據(jù)塊確定差數(shù)據(jù)值,所述差數(shù)據(jù)值將在對數(shù)據(jù)塊進行解碼時使用以產(chǎn)生將用于所述塊所表示的其值待確定的所述數(shù)據(jù)元素的數(shù)據(jù)值;以及
[0187]將所述數(shù)據(jù)元素的確定的基本數(shù)據(jù)值與所述數(shù)據(jù)元素的確定的差值一起使用以產(chǎn)生將用于所述數(shù)據(jù)元素的數(shù)據(jù)值。
[0188]根據(jù)本發(fā)明的另一方面,提供一種對數(shù)據(jù)塊進行解碼以確定所述塊所表示的數(shù)據(jù)元素的值的設備,所述數(shù)據(jù)塊編碼了要在數(shù)據(jù)處理系統(tǒng)中使用的數(shù)據(jù)元素集合,所述設備包括:
[0189]用于從編碼的數(shù)據(jù)塊確定編碼的數(shù)據(jù)塊的取自所述塊所表示的數(shù)據(jù)元素集合的低分辨率表示的基本數(shù)據(jù)值,并使用數(shù)據(jù)塊的確定的基本數(shù)據(jù)值來確定將用于所述塊所表示的其值待確定的數(shù)據(jù)元素的基本數(shù)據(jù)值的裝置;
[0190]用于從編碼的數(shù)據(jù)塊確定差數(shù)據(jù)值的裝置,所述差數(shù)據(jù)值將在對數(shù)據(jù)塊進行解碼時使用以產(chǎn)生將用于塊所表示的其值待確定的所述數(shù)據(jù)元素的數(shù)據(jù)值;以及
[0191]用于將所述數(shù)據(jù)元素的確定的基本數(shù)據(jù)值與所述數(shù)據(jù)元素的確定的差值一起使用以產(chǎn)生將用于所述數(shù)據(jù)元素的數(shù)據(jù)值的裝置。
[0192]如本領域技術人員將理解的,如果適當?shù)脑挘景l(fā)明的所有這些方面可包括(優(yōu)選地包括)本文所述的本發(fā)明的優(yōu)選和可選特征中的任一個或更多個或全部。因此,例如,編碼數(shù)據(jù)塊優(yōu)選地表示8X8數(shù)據(jù)元素陣列,尺寸優(yōu)選地為64比特。
[0193]本發(fā)明的方法和設備可以任何適當?shù)姆绞?例如,以硬件或軟件)實現(xiàn)于(包括在)任何適當?shù)难b置或部件中。在優(yōu)選實施方式中,所述方法和設備可實現(xiàn)于圖形處理器中,因此,本發(fā)明還擴展至被配置為使用本發(fā)明的方法或包括本發(fā)明的設備的圖形處理器。在優(yōu)選實施方式中,本發(fā)明的方法和設備以硬件實現(xiàn),優(yōu)選地在單個半導體平臺上實現(xiàn)。
[0194]本發(fā)明可實現(xiàn)于任何合適的系統(tǒng)中,諸如基于適當配置的微處理器的系統(tǒng)。在優(yōu)選實施方式中,本發(fā)明實現(xiàn)于基于計算機和/或微處理器的系統(tǒng)中。
[0195]本發(fā)明的各種功能可以按照任何期望和合適的方式實現(xiàn)。例如,本發(fā)明的功能可如期望那樣以硬件或軟件來實現(xiàn)。因此,例如,本發(fā)明的各種功能元件和“裝置”可包括能夠操作以執(zhí)行各種功能等的合適的處理器、控制器、功能單元、電路、處理邏輯、微處理器架構(gòu)等,諸如適當?shù)膶S糜布?或或可被編程為按照期望的方式操作的可編程硬件元件。根據(jù)期望,各種功能元件等可彼此分立,或者可共享電路(例如,由同一個處理器執(zhí)行)。
[0196]這里,還應該注意的是,如本領域技術人員將理解的,本發(fā)明的各種功能等可被復制和/或在給定處理器上并行地執(zhí)行。
[0197]本發(fā)明適用于任何合適形式或配置的圖形處理器和渲染器,例如基于瓦片的圖形處理器、即時模式渲染器、具有“管線”渲染布置方式的處理器等。
[0198]如將從以上理解的,本發(fā)明尤其(但非排他地)適用于圖形處理器和處理裝置,并且相應地擴展至包括本文所述的本發(fā)明的任一個或更多個方面的設備或依據(jù)所述方法操作的圖形處理器和圖形處理平臺。對于執(zhí)行上述特定功能所需的任何硬件,這種圖形處理器可包括圖形處理器所包括的常見功能單元等中的任一個或更多個或全部。
[0199]在一些實施方式中,數(shù)據(jù)處理系統(tǒng)、圖形處理系統(tǒng)、數(shù)據(jù)處理器、圖形處理器、處理電路、設備等可與存儲本文所述的數(shù)據(jù)和/或存儲用于執(zhí)行本文所述處理的軟件的存儲器和/或一個或更多個存儲器裝置通信,所述數(shù)據(jù)諸如是紋理數(shù)據(jù)(原始紋理和/或編碼紋理)、紋理的降尺度版本、參考差數(shù)據(jù)集合(差數(shù)據(jù)塊)、紋理數(shù)據(jù)元素的值、編碼紋理數(shù)據(jù)塊等。數(shù)據(jù)處理系統(tǒng)、圖形處理系統(tǒng)、數(shù)據(jù)處理器、圖形處理器、處理電路、設備等還可與用于顯示基于所產(chǎn)生的紋理數(shù)據(jù)的圖像的顯示器進行通信。
[0200]本領域技術人員還將理解,如果適當?shù)脑挘枋龅谋景l(fā)明的所有方面和實施方式可包括本文所述的優(yōu)選和可選特征中的任一個或多個或全部。
[0201]根據(jù)本發(fā)明的方法可至少部分地利用軟件(例如,計算機程序)來實現(xiàn)。因此,可以看出,在從其它方面考慮時,本發(fā)明提供了在被安裝在數(shù)據(jù)處理裝置上時特別適于執(zhí)行本文所述的方法的計算機軟件、包括在數(shù)據(jù)處理裝置上運行時用于執(zhí)行本文所述的方法的計算機軟件代碼部分的計算機程序元素、以及包括當在數(shù)據(jù)處理系統(tǒng)上運行時用于執(zhí)行本文所述的方法的所有步驟的代碼裝置的計算機程序。數(shù)據(jù)處理系統(tǒng)可以是微處理器、可編程FPGA (現(xiàn)場可編程門陣列)等。
[0202]本發(fā)明還擴展至包括這種軟件的計算機軟件載體,所述軟件在用于操作圖形處理器、渲染器或包括數(shù)據(jù)處理裝置的其它系統(tǒng)時,與所述數(shù)據(jù)處理裝置結(jié)合使所述處理器、渲染器或系統(tǒng)執(zhí)行本發(fā)明的方法的步驟。這種計算機軟件載體可以是物理存儲介質(zhì),諸如ROM芯片、⑶ROM、RAM、閃存或盤,或者可以是諸如電線上的電信號、光學信號或到衛(wèi)星的無線電信號等的信號。
[0203]還將理解,并不是本發(fā)明的方法的所有步驟均需要通過計算機軟件來執(zhí)行,因此在更廣的方面而言,本發(fā)明提供計算機軟件,這種軟件安裝在計算機軟件載體上以用于執(zhí)行本文所闡述的方法的至少一個步驟。
[0204]相應地,本發(fā)明可適當?shù)貙嵤橛糜谟嬎銠C系統(tǒng)的計算機程序產(chǎn)品。這種實現(xiàn)方式可包括一系列計算機可讀指令,所述指令固定于諸如計算機可讀介質(zhì)(例如,磁盤、CDROM、ROM、RAM、閃存或硬盤)的有形的永久介質(zhì)上,或者可通過有形介質(zhì)(包括但不限于光學或類似通信線路)或無形地利用無線技術(包括但不限于微波、紅外或其他傳輸技術)經(jīng)由調(diào)制解調(diào)器或其它接口裝置傳輸至計算機系統(tǒng)。這一系列計算機可讀指令實施本文先前所述的所有或部分功能。
[0205]本領域技術人員將理解,這些計算機可讀指令可以使用用于許多計算機架構(gòu)或操作系統(tǒng)的許多編程語言來編寫。另外,這些指令可利用任何存儲器技術(當前或未來的,包括但不限于半導體、磁或光學)來存儲,或者利用任何通信技術(當前或未來的,包括但不限于光學、紅外或微波)來傳輸。可以想到,這種計算機程序產(chǎn)品可作為可移除介質(zhì)隨所附的打印文檔或電子文檔一起分發(fā)(例如,被熱塑封(shrink wrapping)的軟件),被計算機系統(tǒng)預載到例如系統(tǒng)ROM或固定盤上,或經(jīng)網(wǎng)絡(例如,因特網(wǎng)或萬維網(wǎng))從服務器或電子公告牌分發(fā)。
【專利附圖】
【附圖說明】
[0206]現(xiàn)在將僅通過示例方式并參照附圖描述本發(fā)明的許多優(yōu)選實施方式,在附圖中:
[0207]圖1示意性地示出依據(jù)本發(fā)明實施方式將圖像數(shù)據(jù)陣列編碼為多個編碼數(shù)據(jù)塊;
[0208]圖2示出本發(fā)明的優(yōu)選實施方式中所使用的編碼處理;
[0209]圖3示出所描述的本發(fā)明的優(yōu)選實施方式的編碼塊布局;
[0210]圖4是示意性地示出本發(fā)明的優(yōu)選實施方式的編碼處理的流程圖;
[0211]圖5是示意性地示出本發(fā)明的優(yōu)選實施方式的解碼處理的流程圖;以及
[0212]圖6示意性地示出可使用以本發(fā)明的方式編碼的紋理數(shù)據(jù)的圖形處理系統(tǒng)。
【具體實施方式】
[0213]現(xiàn)在將參照對用于在圖形處理中使用的紋理數(shù)據(jù)(紋理映射)的編碼描述本發(fā)明的優(yōu)選實施方式。然而,如上所述,并且如本領域技術人員將理解的,本發(fā)明適用于一般的數(shù)據(jù)編碼和解碼,因此不應被認為限于當前的紋理數(shù)據(jù)編碼示例。
[0214]圖1示出該實施方式的基本編碼處理。如圖1所示,原始圖像或紋理數(shù)據(jù)元素(紋元)陣列I (紋理“映射”)被再分成多個8X8紋理元素塊2。如果期望,也可使用其它塊尺寸。)
[0215]在本實施方式中,如圖1所示,原始圖像(紋理映射)1被分成相等尺寸的塊。這簡化了尋找給定紋理數(shù)據(jù)元素在哪一塊的任務,并給予了恒定的數(shù)據(jù)速率。(使用的塊尺寸被單獨地傳遞給解碼器,而非將塊尺寸包括在編碼的紋理數(shù)據(jù)塊本身中。例如,塊尺寸可整體作為紋理描述的部分來存儲,或者由與紋理關聯(lián)的另一參數(shù)(例如圖像類型)來隱含地指示。在優(yōu)選實施方式中,在與所關注的紋理的編碼紋理數(shù)據(jù)塊集合關聯(lián)的數(shù)據(jù)頭中(明確地)指示塊尺寸。)
[0216]在此實施方式中,原始紋理映射數(shù)據(jù)陣列(圖像)中的各個紋理元素(紋元)表示相應紋理元素的位置處將使用的顏色,因此其分配有包括一組顏色值(例如,紅、綠、藍(RGB)值)的數(shù)據(jù)值。換言之,在此實施方式中,編碼并產(chǎn)生的數(shù)據(jù)值等各自對應于并表示顏色(一組顏色值)。因此為了方便,下面的描述將主要提及“顏色”,但應該理解,這種提及指示包括表示所關注的顏色的一組顏色值的數(shù)據(jù)值。
[0217]在本實施方式中,并非將顏色數(shù)據(jù)陣列以完整的原始形式存儲,而是將各個8X8紋理元素塊2編碼為紋理數(shù)據(jù)塊5,紋理數(shù)據(jù)塊5與原始未編碼形式的紋理數(shù)據(jù)相比尺寸減小。這實際上對原始紋理數(shù)據(jù)進行了壓縮,從而使其存儲和處理更容易更高效。在本實施方式,各個編碼紋理數(shù)據(jù)塊5使用64比特。當各個編碼紋理數(shù)據(jù)塊5使用64比特來對8X8紋元陣列進行編碼時,按照Ibpp (平均每像素I比特)速率進行編碼。(其它布置方式也將是可能的。)
[0218]如將在下面進一步討論的,各個尺寸減小的編碼紋理數(shù)據(jù)塊5包含適當?shù)臄?shù)據(jù)以允許再現(xiàn)對應于或表示所關注的8X8紋理元素塊的原始未編碼的數(shù)據(jù)的數(shù)據(jù)。
[0219]在本實施方式中,各個紋理映射被編碼為紋理數(shù)據(jù)文件,該文件包括一系列單獨的紋理數(shù)據(jù)塊,所述紋理數(shù)據(jù)塊對構(gòu)成紋理映射的紋理數(shù)據(jù)元素陣列進行編碼。
[0220]在本實施方式中按照光柵序(raster order)對構(gòu)成紋理映射I的各個8X8紋元塊進行編碼。當然,其它布置方式也將是可能的,例如使用莫頓序(Morton order)。
[0221]編碼的紋理文件中的紋理數(shù)據(jù)塊的數(shù)量將取決于被編碼的紋理映射(紋理數(shù)據(jù)陣列)的大小以及(例如)數(shù)據(jù)是否以MIP映射(MIP-map)形式存儲。如果使用MIP映射,則如果利用“η”個紋理數(shù)據(jù)塊對第一層次的紋理映射分辨率進行編碼,將有“n/4”個紋理數(shù)據(jù)塊用于下面的MIP映射層次,“n/16”個塊用于下一 MIP映射,“n/64”用于下一,“n/256”用于再下一 MIP映射層次,等等(但每一層次不小于一個塊),直到達到尺寸為1X1的MIP映射層次。
[0222](在本實施方式中,編碼的紋理數(shù)據(jù)可以并且優(yōu)選以MIP映射(B卩,其中存儲有原始紋理數(shù)據(jù)陣列的多個版本以供使用,各個版本具有不同的細節(jié)層次(分辨率))的形式存儲。MIP映射優(yōu)選一個接一個地存儲在存儲器中,如本領域所知的,各個MIP映射層次是原始陣列(圖像)的(通過因子2)降尺度的表示(圖像)。MIP映射按照分辨率的降序存儲,即,ηΧη、...、16Χ16、8Χ8、4Χ4、2Χ2、1Χ1。較小的MIP映射(〈8X8)各分別存儲在單獨的編碼數(shù)據(jù)塊中。)
[0223]現(xiàn)在將參照圖2、圖3和圖4描述本實施方式中所使用的對紋理數(shù)據(jù)元素(紋元)的塊進行編碼的格式。在此實施方式中,假設待編碼的原始紋理是RGB565圖像。
[0224]本實施方式中在對紋理進行編碼時所使用的基本處理是將待編碼的紋理分成兩個單獨的邏輯部分:紋理的低分辨率表示(版本)以及表示紋理的低分辨率表示的升尺度版本與原始紋理之差的全分辨率差(Λ )掩碼。
[0225]原始紋理的低分辨率版本有效地對原始紋理中的低頻色調(diào)和亮度數(shù)據(jù)進行編碼,而差(Λ )掩碼表示紋理中的高頻數(shù)據(jù)。通過以這種方式對原始紋理進行編碼,編碼的紋理格式可使用更少的比特來編碼高頻數(shù)據(jù),而不會有太多感知質(zhì)量的損失(因為人眼對較低頻的噪聲更敏感)。
[0226]那么,用于表示原始紋理I的各個編碼紋理數(shù)據(jù)塊5包括來自紋理的低分辨率版本的適當數(shù)據(jù)以及指示將用于所關注的塊的差掩碼值的數(shù)據(jù)。
[0227]在本實施方式中,由于待編碼的紋理I是RGB圖像,所以紋理的低分辨率表示是從原始紋理推導的低分辨率(在各個方向上1:8)RGB565圖像,差(Δ )掩碼表示低分辨率圖像的升尺度版本與原始紋理之間的發(fā)光度差(平均RGB差)。
[0228]圖2示出這種情況,并且示出待編碼的原始紋理(圖像)10、紋理的對應低分辨率RGB565版本11以及全分辨率亮度Λ掩碼12。
[0229]圖3則示出用于表示原始紋理10的相應8X8紋元(紋理數(shù)據(jù)元素)塊而產(chǎn)生的各個64比特編碼紋理數(shù)據(jù)塊的布局。
[0230]如圖3所示,為紋理10中的各個相應的8X8紋元塊產(chǎn)生的各個編碼紋理數(shù)據(jù)塊5首先包括16比特RGB565基色值20,其取自原始紋理10的低分辨率表示11中與所關注的編碼紋理數(shù)據(jù)塊5所要表示的8X8紋元塊的位置對應的位置。
[0231]各個編碼紋理塊5還包括四個12比特亮度Λ索引21,其指示將用于所關注的編碼紋理塊的亮度Λ掩碼、高頻、數(shù)據(jù)。各個這種12比特Λ索引21指示預定義的4X4帶符號8比特整數(shù)差數(shù)據(jù)值塊,其將用于相應編碼紋理數(shù)據(jù)塊5所表示的8X8紋元塊的相應4X4紋元子塊。
[0232]用于此目的的預定義的4X4差數(shù)據(jù)值塊取自預定義的4X4差值塊的調(diào)色板,所述調(diào)色板預先例如通過如下步驟確定:利用不同的4X4差值塊集合對多個典型的(例如,游戲內(nèi)容)紋理進行編碼,從而確定(例如,利用適當?shù)臋C器學習算法)使用可用于編碼并且最佳地表示要使用的典型紋理的預定義的4X4差值塊的合適調(diào)色板。如此推導的預定義的差值塊的調(diào)色板中的一些或全部被存儲,例如存儲為查找表25以供使用(在編碼側(cè)使用以及由解碼器使用)。
[0233]在本實施方式中,所使用的這些塊的調(diào)色板中所包括的不同的預定義差值塊之間的各種對稱性用于允許使用較少數(shù)量存儲塊來產(chǎn)生可用于編碼(和解碼)紋理的較大的預定義差值塊調(diào)色板。
[0234]尤其是,在本實施方式中,各個12比特索引值21的前7比特用于從128個預定義4X4的8比特帶符號整數(shù)差值塊的查找表25識別4X4差值塊(用作其索引),12比特索引21中接下來的2比特用于限定將使用的塊的取向(旋轉(zhuǎn))(即,來自查找表的塊是否應該旋轉(zhuǎn)以及如何旋轉(zhuǎn)以給出實際將使用的差值塊),12比特索引21中接下來的比特限定將使用的塊值的符號(如果設置此比特,則所有查找到的塊值應該取負),12比特索引中的最后2比特限定將應用于查找到的塊值的縮放(即,塊的幅度)(所有塊值乘以一加此值)。
[0235]那么這允許使用128個存儲的預定義塊來產(chǎn)生4096個預定義4X4差值塊的調(diào)色板以在對紋理進行編碼和解碼時使用。
[0236]圖4示意性地示出本實施方式的編碼處理。此處理可在任何合適的編碼器(例如硬件編碼器)或適當編程的通用處理器(例如,能夠訪問存儲器中的原始紋理數(shù)據(jù)的PC)中進行。
[0237]首先,將原始紋理10輸入到編碼器(步驟40),然后進行降尺度以產(chǎn)生原始紋理10的對應低分辨率表示11 (步驟41)。
[0238]然后,利用線性過濾產(chǎn)生紋理的所產(chǎn)生的低分辨率表示11的全分辨率升尺度版本(即,分辨率與原始紋理相同K步驟42)。然后,將原始紋理的低分辨率版本11的該升尺度版本與原始紋理10進行比較,以確定針對各個紋元指示紋理的低分辨率表示11的升尺度版本中的紋元值與原始紋理10中的紋元值之間的差(B卩,誤差)的差值集合(步驟43)。在本實施方式中,紋元的差值被推導為表示兩個紋元值之間的平均RGB差的8比特帶符號整數(shù)值。當然,其它布置方式也將是可能的。
[0239]一旦這完成,則可針對原始紋理10中的各個8X8紋元塊產(chǎn)生編碼紋理數(shù)據(jù)塊5(步驟44)。
[0240]為此,首先確定將包括在編碼紋理數(shù)據(jù)塊5中的基色值20。這如此完成:通過在與編碼紋理數(shù)據(jù)塊5將表示的8X8紋元塊對應的位置處對紋理11的低分辨率表示進行采樣來從紋理10的低分辨率表示11確定基色值20,以包括在編碼紋理數(shù)據(jù)塊5中。
[0241]接下來,確定將包括在編碼紋理數(shù)據(jù)塊5中的亮度Λ索引值(delta indexvalues)21。
[0242]這如此完成:針對編碼紋理數(shù)據(jù)塊5將表示的8 X 8紋元塊識別紋理的升尺度紋理低分辨率表示11與原始紋理10之間的已確定的差值集合,然后將那些確定的差值與預定義的差值塊集合進行比較。
[0243]在本實施方式中,將針對被編碼的8X8紋元塊的各個相應4X4紋元象限確定的不同值的各個相應4X4差值塊與預定義4X4差值塊的預定調(diào)色板中的4X4預定義差值塊集合進行比較,以從預定義差值塊調(diào)色板識別與針對所考慮的8X8紋元塊的相應4X4紋元塊確定的“真”差值最匹配的預定義4X4差值塊。(匹配處理可使用任何期望的測試方案,例如,測量確定的塊的“真”差值集合與可能的預定義差值集合之間的峰值信噪比。)然后,將與預定4X4差值塊最匹配的對應亮度Λ索引21指派給并包括在編碼紋理數(shù)據(jù)塊5中。針對被編碼的8X8紋元塊的各個4X4象限這樣做,以提供將包括在編碼紋理數(shù)據(jù)塊5中的4個亮度Λ索引值21。
[0244]針對原始紋理10的各個8X8紋元塊重復該處理,以產(chǎn)生表示原始紋理10的編碼紋理數(shù)據(jù)塊5集合。然后可將此編碼紋理數(shù)據(jù)塊集合輸出并存儲(步驟45)以便于將來用作紋理,例如由圖形處理器用作紋理。編碼紋理數(shù)據(jù)塊集合例如可存儲在諸如DVD的便攜式存儲裝置上,以便于稍后使用,例如當期望將紋理應用于待渲染的圖像時。優(yōu)選地,產(chǎn)生MIP映射集合以表示紋理,各個MIP映射優(yōu)選以上述方式產(chǎn)生。
[0245]現(xiàn)在將參照圖5描述在處理圖形以便于顯示時使用本實施方式的形式的編碼紋理的解碼處理。(解碼器例如可以是將使用紋理的圖形處理器。優(yōu)選使用硬件解碼器)。
[0246]該處理中的第一步驟是識別需要其值(其值待確定)的紋元的位置(U,V)(步驟50)。利用此步驟,然后識別包含該紋元的編碼紋理數(shù)據(jù)塊5以及在該紋元附近的三個最靠近的相鄰塊,并加載以便于處理(步驟51 )。然后,確定這四個編碼紋理數(shù)據(jù)塊5中的每一個的基色值20,并基于所關注的紋元的位置進行線性過濾(即,雙線性過濾),以推導其值待確定的紋元的基色值(步驟52)。
[0247](對四個基色值進行線性過濾以推導所關注的紋元的基色值的效果是在對編碼紋理進行解碼時通過對從紋理的低分辨率版本11采樣的值進行線性過濾來將紋理10的低分辨率表示11升尺度。這樣在解碼時使用線性過濾來將紋理的低分辨率表示升尺度有利于保護原始紋理的低頻梯度,并且例如避免解碼的紋理中的條帶。)
[0248]接下來,基于編碼紋理數(shù)據(jù)塊5所表示的8 X 8紋元塊中的關注紋元的位置(即,象限)來識別表示其值待確定的紋元的編碼紋理數(shù)據(jù)塊5中所包括的亮度△索引21 (步驟53)。然后,從預定義4X4差值塊的查找表25識別并取得由12比特索引21的前7比特指示的相關的預定義4X4差值塊(步驟54)。(該查找表由解碼器(例如,圖形處理器)適當存儲或者被適當存儲以使得解碼器在使用時(例如,圖形處理器)能夠訪問)。然后,將由亮度Δ索引值21指示的任何需要的旋轉(zhuǎn)、取非和縮放(放大)應用于該4X4差值塊(步驟55)。隨后,基于紋元的位置從4X4差值塊識別將用于所關注的紋元的差值(步驟56)。
[0249]然后,將如此識別的帶符號的整數(shù)差(Λ )值(分別)與針對紋元確定的基色值20的紅、綠和藍分量中的每一個相加,以給出紋元的解碼RGB值(步驟57)。
[0250]在本實施方式中,由于編碼的紋理是RGB565紋理,然后將解碼紋元紅、綠、藍值固定(clamp)至范圍(0,255)。然后,將所得顏色值(R/255.0f, G/255.0f, B/255.0f, 1.0f)輸出以供使用,例如返回給需要該紋元的片斷著色器(步驟58)。
[0251]然后,針對需要其值的各個紋元重復該處理。
[0252]圖6示意性地示出可使用依據(jù)本實施方式進行了編碼的紋理的圖形處理系統(tǒng)60的構(gòu)造。在此實施方式中,圖形處理系統(tǒng)60是基于瓦片的渲染(tile-based rendering)系統(tǒng)。然而,當然其它布置方式也是可能的。
[0253]如圖6所示,圖形處理系統(tǒng)60包括狀態(tài)管理系統(tǒng)61、光柵化級(rasterisingstage)62以及渲染管線形式的渲染級63。將理解,圖6所示的圖形處理器60的每一級、元件和單元等可根據(jù)期望實現(xiàn),并且將相應地包括(例如)適當?shù)碾娐泛?或處理邏輯等,以執(zhí)行必要的操作和功能。
[0254]如本領域已知的,狀態(tài)管理系統(tǒng)61存儲和控制狀態(tài)數(shù)據(jù)以及圖形處理單元的狀態(tài),以控制圖形處理操作。
[0255]如本領域已知的,光柵化器62以待顯示的圖元(primitive)作為其輸入,并將那些圖元光柵化至采樣位置并產(chǎn)生待渲染的片斷。
[0256]渲染管線63獲得來自光柵化器62的片斷,并對那些片斷進行渲染以便于顯示。如本領域已知的,渲染管線63將包括許多不同的處理單元,例如片段著色器、混合器、紋理映身寸器等。
[0257]渲染管線63的輸出(渲染的片斷)被輸出給瓦片緩沖器64 (因為本實施方式是基于瓦片的系統(tǒng))。然后,瓦片緩沖器的輸出最終輸出給幀緩沖器65以用于顯示。
[0258]圖6還示意性地示出圖形處理系統(tǒng)60的為其使用以本實施方式的方式編碼的紋理而提供的特定特征。
[0259]具體地講,如圖6所示,渲染管線63包括紋理映射級66,其被配置為能夠訪問紋理列表緩沖器67以確定將接收的用于渲染的片斷紋理化所需的紋理。
[0260]紋理列表緩沖器67將指示需要的紋理,并且隨后,如本領域已知的,紋理映射器66將從存儲器68取得相關的紋理數(shù)據(jù),并使用取得的紋理數(shù)據(jù)來處理所關注的片斷。
[0261]存儲在紋理存儲器68中的紋理利用本實施方式的編碼格式來存儲。因此,當紋理映射器66需要給定的紋元(一個或多個)以應用于被渲染的片斷時,其將確定其針對所關注的紋元所需要的紋理映射以及該映射內(nèi)的編碼塊(例如,如本領域已知的,基于紋元的位置以及對塊尺寸和紋理尺寸的了解),從存儲器68檢索那些塊,然后以上述方式從編碼塊確定紋元的值(例如,顏色)。
[0262]紋理映射器66為此包括合適的解碼器(解碼電路)。此解碼器例如可以是被配置為對以本實施方式的形式編碼的紋理進行解碼的專用硬件元件的形式,或者例如可包括已被適當編程以能夠?qū)σ员緦嵤┓绞降男问骄幋a的紋理進行解碼的可編程處理電路。優(yōu)選使用專用硬件解碼器。
[0263]針對需要的各個紋元值重復該處理,然后將如此產(chǎn)生的解碼紋元值應用于被渲染的采樣位置(片斷)以產(chǎn)生那些采樣位置(片斷)的渲染數(shù)據(jù),然后將所述渲染數(shù)據(jù)例如寫到顯示器的幀緩沖器以顯示“紋理化的”采樣位置和/或片斷。
[0264]盡管參照RGB顏色形式的紋理數(shù)據(jù)描述了上述實施方式,如上所述,并且如本領域技術人員將理解的,本發(fā)明還適用于其它形式的紋理數(shù)據(jù)(例如,亮度映射或凹凸映射(bump-map)等)以及其它非紋理數(shù)據(jù)。在這些布置方式中,數(shù)據(jù)可以按照類似方式被編碼或解碼,但各個數(shù)據(jù)值例如將表示亮度值或法向向量等,而非顏色。
[0265]實際上,例如,本發(fā)明可有利地用于表示單分量(灰度級)紋理。這是因為本發(fā)明的格式可花費非常少的比特來表示顏色,使得單分量紋理的再現(xiàn)紋理質(zhì)量也可以很好。
[0266]因此,在優(yōu)選實施方式中,編碼和解碼處理可用于單分量數(shù)據(jù),例如(并且優(yōu)選地為)任何類型的單分量細節(jié)映射,如(并且優(yōu)選地為)下列項中的一個或更多個(優(yōu)選全部):光澤映射、alpha映射、置換映射和視差映射。在這種情況下,各個編碼紋理數(shù)據(jù)塊5中所包括的基本數(shù)據(jù)值20將是適當?shù)墓鉂苫騛lpha等值,差值則將實質(zhì)上表示(近似于)紋理數(shù)據(jù)元素的升尺度再現(xiàn)數(shù)據(jù)值與數(shù)據(jù)元素的“真”值之間的誤差。
[0267]在另一優(yōu)選實施方式中,上述實施方式的形式的兩個編碼紋理數(shù)據(jù)塊集合(B卩,上述實施方式的形式的兩個編碼紋理)一起(組合)使用以表示紋理數(shù)據(jù)元素集合(紋理映射)。例如,在法向映射的情況下,本實施方式的形式的兩個單分量編碼紋理可用于分別對(例如)法向映射的X和Y分量進行編碼,Z分量則由解碼器通過知道(X,Y,Z)為單位矢量來重構(gòu)。那么這將按照2bpp的速率給予很好的法向映射編碼。類似地,本實施方式的形式的兩個單獨的紋理可用于給予RGB+alpha紋理映射的2bpp編碼。
[0268]本實施方式還可用于對HDR (高動態(tài)范圍)紋理進行編碼。例如,對于單分量HDR紋理,塊5的基色值20可被編碼為L8E8 (8比特帶符號亮度,8比特帶符號指數(shù))值,而不是RGB565值(其中使用16比特基本數(shù)據(jù)值),以給出塊5共有的基本亮度值和指數(shù)。在這種情況下,在對紋理進行解碼時通過組合基本值和差值而得到的值優(yōu)選保持為帶符號整數(shù)值,然后將該整數(shù)值乘以2的指數(shù)冪,然后除以255.0f以給出將輸出并用作解碼紋元的值的浮點值。
[0269]還可使用本實施方式的形式的兩個紋理按照2bpp對HDR RGB數(shù)據(jù)+ (0...1) alpha進行編碼。在這種情況下,可使用各個塊的RGB565基色值對RGB數(shù)據(jù)進行編碼,使用A8E8基本值在單獨的紋理中對alpha數(shù)據(jù)進行編碼,其中A是塊的基本alpha值,但“alpha”編碼紋理的指數(shù)(E)值用作對應RGB紋理塊的RGB值的指數(shù),而非用作alpha值的指數(shù)。
[0270]在這種情況下,如果本實施方式的形式的兩個紋理將組合使用,則本實施方式的形式的每對兩個單獨編碼的64比特塊(例如,一個用于RGB值,一個用于Alpha值)優(yōu)選組合成表示總紋理的相關部分的(例如)128比特的“巨型塊”(例如,原始紋理的對應8X8紋元塊的 RGB+Alpha)。
[0271]可從上面看出,至少在其優(yōu)選實施方式中,本發(fā)明提供基于塊的紋理編碼方案,其可允許每8X8紋元塊僅使用64比特(平均每紋元I比特)以許多使用情況可接受的質(zhì)量進行完整的RGB紋理(以及其它紋理)的存儲。
[0272]然后這可允許圖形應用在實時地紋理映射圖元時消耗較少帶寬,并且這可相應地有利于允許嵌入式圖形系統(tǒng)將紋理以非常高的分辨率應用于視覺元素,同時消耗比當前的工業(yè)標準紋理壓縮方案少許多的帶寬。本發(fā)明所實現(xiàn)的較低數(shù)據(jù)速率還使紋理消耗較少的內(nèi)存并且允許將它們更快速地上傳(流傳輸)至圖形處理器存儲器。(因此,至少在其優(yōu)選實施方式中,本發(fā)明可尤其可用于流傳輸動畫(視頻)紋理)。至少在其優(yōu)選實施方式中,本發(fā)明相應地還可給予游戲和其它圖形應用更少的盤空間占用和更短的加載時間。本發(fā)明的格式還可用于針對每紋元I比特的格式以非常好的質(zhì)量對單分量紋理進行編碼,并且可針對尺寸以很好的質(zhì)量使用本發(fā)明的形式的兩個紋理以按照每紋元2比特例如對法向數(shù)據(jù)或RGB+alpha數(shù)據(jù)進行編碼。
[0273]因此,本發(fā)明尤其可應用于移動游戲領域,因為它提供高壓縮率,因此適合于具有有限的存儲資源和存儲帶寬的裝置。高壓縮率例如還有利于游戲或其它應用的下載,因為它可緩解增加下載時間或與下載時間有關的網(wǎng)絡帶寬和用戶成本問題。
[0274]至少在本發(fā)明的優(yōu)選實施方式中,這全部通過將待編碼的紋理分成兩個邏輯部分,即,紋理的低分辨率表示以及表示紋理的低分辨率表示的升尺度版本與原始紋理之差的全分辨率差掩碼,然后在各個編碼紋理數(shù)據(jù)塊中對來自紋理的低分辨率表示的適當基本數(shù)據(jù)值以及指示將用于編碼紋理數(shù)據(jù)塊的差掩碼值集合的數(shù)據(jù)進行編碼來實現(xiàn)。
【權(quán)利要求】
1.一種對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行編碼的方法,所述方法包括: 確定所述紋理數(shù)據(jù)元素集合的低分辨率表示; 確定全分辨率的差數(shù)據(jù)集合,所述差數(shù)據(jù)集合表示確定的所述紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度版本與原始紋理數(shù)據(jù)元素集合之差;以及 將所述紋理數(shù)據(jù)元素集合編碼為表示紋理數(shù)據(jù)元素的一個或更多個紋理數(shù)據(jù)塊,各個這種紋理數(shù)據(jù)塊: 表示來自所述紋理數(shù)據(jù)元素集合的紋理數(shù)據(jù)元素塊,并且包括: 指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自確定的所述紋理數(shù)據(jù)元素集合的低分辨率表示;以及 指示來自確定的所述差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
2.根據(jù)權(quán)利要求1所述的方法,其中,包括在各個編碼紋理塊中的指示所述紋理數(shù)據(jù)塊的來自原始數(shù)據(jù)的低分辨率表示的基本數(shù)據(jù)值的數(shù)據(jù)包括直接取自所述紋理數(shù)據(jù)元素集合的低分辨率表示的數(shù)據(jù)值。
3.根據(jù) 前述權(quán)利要求中的任一項所述的方法,其中,針對所述紋理數(shù)據(jù)元素集合確定的差數(shù)據(jù)集合包括用于所述紋理數(shù)據(jù)元素集合的各個相應的紋理數(shù)據(jù)元素的相應單個差數(shù)據(jù)值,所述單個差數(shù)據(jù)值將用于所述紋理數(shù)據(jù)元素的所有分量。
4.根據(jù)前述權(quán)利要求中的任一項所述的方法,其中,確定的用于所述紋理數(shù)據(jù)元素集合的差值集合包括取自預定義參考差值集合的差值。
5.根據(jù)前述權(quán)利要求中的任一項所述的方法,其中,各個編碼紋理數(shù)據(jù)塊中所包括的指示將使用的差數(shù)據(jù)的數(shù)據(jù)包括一個或多個索引值,該一個或多個索引值指示來自多個預定義參考差值塊集合中的將用于所述編碼紋理數(shù)據(jù)塊的預定義的一個或多個差值塊。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述索引值指示所述預定義參考差值塊集合中的基本索引以及下列項中的一個或更多個:將用于被索引的塊的取向;是否對被索引的塊的值的符號取非;以及被索引的塊的值是否應該乘以比例因子。
7.根據(jù)前述權(quán)利要求中的任一項所述的方法,所述方法包括:將兩個編碼紋理數(shù)據(jù)塊集合組合使用以表示紋理數(shù)據(jù)元素集合。
8.一種對紋理數(shù)據(jù)塊進行解碼以確定所述塊所表示的紋理數(shù)據(jù)元素的值的方法,所述紋理數(shù)據(jù)塊對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行了編碼,所述方法包括: 從編碼紋理數(shù)據(jù)塊確定所述編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值,并使用確定的所述紋理數(shù)據(jù)塊的基本數(shù)據(jù)值來確定將用于所述塊所表示的、其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值,所述基本數(shù)據(jù)值取自所述塊所表示的紋理數(shù)據(jù)元素集合的低分辨率表示; 從所述編碼紋理數(shù)據(jù)塊確定差數(shù)據(jù)值,所述差數(shù)據(jù)值將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述塊所表示的、其值待確定的所述紋理數(shù)據(jù)元素的數(shù)據(jù)值;以及 將確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值與確定的所述紋理數(shù)據(jù)元素的差值一起使用以產(chǎn)生將用于所述紋理數(shù)據(jù)元素的數(shù)據(jù)值。
9.根據(jù)權(quán)利要求8所述的方法,所述方法包括使用下列項確定將用于其值待確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值:確定的所述紋理數(shù)據(jù)元素所屬的編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值,以及從表示所述紋理數(shù)據(jù)元素集合的一個或更多個其它編碼紋理數(shù)據(jù)塊確定的一個或多個基本數(shù)據(jù)值。
10.根據(jù)權(quán)利要求8或9所述的方法,所述方法包括通過下列步驟確定將用于待解碼的紋理數(shù)據(jù)元素的差數(shù)據(jù)值: 基于所述紋理數(shù)據(jù)元素的位置在表示所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊中識別指示預定差數(shù)據(jù)值集合的索引值; 利用所述索引值從存儲器取得預定差數(shù)據(jù)值集合;以及 基于所述紋理數(shù)據(jù)元素的位置從所述預定差值集合確定將用于所述紋理數(shù)據(jù)元素的差值。
11.根據(jù)權(quán)利要求10所述的方法,所述方法還包括: 從所述索引值確定是否需要將任何操控應用于所述預定差值集合,并且如果是,則將那些操控應用于所述預定差值集合;以及 基于所述紋理數(shù)據(jù)元素的位置從被這樣操控的預定差值集合識別將用于所述紋理數(shù)據(jù)元素的差值。
12.—種對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行編碼的設備,所述設備包括: 用于確定所述紋理數(shù)據(jù)元素集合的低分辨率表示的裝置; 用于確定全分辨率的差數(shù)據(jù)集合的裝置,所述差數(shù)據(jù)集合表示確定的所述紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度版本與原始紋理數(shù)據(jù)元素集合之差;以及 用于將所述紋理數(shù)據(jù)元素集合編碼為表示紋理數(shù)據(jù)元素的一個或更多個紋理數(shù)據(jù)塊的裝置,各個這種紋理數(shù)據(jù)塊: 表示來自所述紋理數(shù)據(jù)元素集合的紋理數(shù)據(jù)元素塊,并且包括: 指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自確定的所述紋理數(shù)據(jù)元素集合的低分辨率表示;以及 指示來自確定的所述差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素的數(shù)據(jù)值。
13.根據(jù)權(quán)利要求12所述的設備,其中,包括在各個編碼紋理塊中的指示所述紋理數(shù)據(jù)塊的來自原始數(shù)據(jù)的低分辨率表示的基本數(shù)據(jù)值的數(shù)據(jù)包括直接取自所述紋理數(shù)據(jù)元素集合的低分辨率表示的數(shù)據(jù)值。
14.根據(jù)權(quán)利要求12或13所述的設備,其中,針對所述紋理數(shù)據(jù)元素集合確定的差數(shù)據(jù)集合包括用于所述紋理數(shù)據(jù)元素集合的各個相應的紋理數(shù)據(jù)元素的相應單個差數(shù)據(jù)值,所述單個差數(shù)據(jù)值將用于所述紋理數(shù)據(jù)元素的所有分量。
15.根據(jù)權(quán)利要求12至14中的任一項所述的設備,其中,確定的用于所述紋理數(shù)據(jù)元素集合的差值集合包括取自預定義參考差值集合的差值。
16.根據(jù)權(quán)利要求12至15中的任一項所述的設備,其中,各個編碼紋理數(shù)據(jù)塊中所包括的指示將使用的差數(shù)據(jù)的數(shù)據(jù)包括一個或多個索引值,該一個或多個索引值指示來自多個預定義參考差值塊集合中的將用于所述編碼紋理數(shù)據(jù)塊的預定義的一個或多個差值塊。
17.根據(jù)權(quán)利要求16所述的設備,其中,所述索引值指示所述預定義參考差值塊集合中的基本索引以及下列項中的一個或更多個:將用于被索引的塊的取向;是否對被索引的塊的值的符號取非;以及被索引的塊的值是否應該乘以比例因子。
18.—種對紋理數(shù)據(jù)塊進行解碼以確定所述塊所表示的紋理數(shù)據(jù)元素的值的設備,所述紋理數(shù)據(jù)塊對將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合進行了編碼,所述設備包括: 用于從編碼紋理數(shù)據(jù)塊確定所述編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值、并用于使用確定的所述紋理數(shù)據(jù)塊的基本數(shù)據(jù)值來確定將用于所述塊所表示的、其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值的裝置,所述基本數(shù)據(jù)值取自所述塊所表示的紋理數(shù)據(jù)元素集合的低分辨率表示; 用于從編碼紋理數(shù)據(jù)塊確定差數(shù)據(jù)值的裝置,所述差數(shù)據(jù)值將在對所述紋理數(shù)據(jù)塊進行解碼時使用,以產(chǎn)生將用于所述塊所表示的、其值待確定的所述紋理數(shù)據(jù)元素的數(shù)據(jù)值;以及 用于將確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值與確定的所述紋理數(shù)據(jù)元素的差值一起使用以產(chǎn)生將用于所述紋理數(shù)據(jù)元素的數(shù)據(jù)值的裝置。
19.根據(jù)權(quán)利要求18所述的設備,其中,用于確定將用于其值待確定的紋理數(shù)據(jù)元素的基本數(shù)據(jù)值的裝置使用下列項確定將用于其值待確定的所述紋理數(shù)據(jù)元素的基本數(shù)據(jù)值: 確定的所述紋理數(shù)據(jù)元素所屬的編碼紋理數(shù)據(jù)塊的基本數(shù)據(jù)值,以及從表示所述紋理數(shù)據(jù)元素集合的一個或更多個其它編碼紋理數(shù)據(jù)塊確定的一個或多個基本數(shù)據(jù)值。
20.根據(jù)權(quán)利要求18 或19所述的設備,其中,用于確定將用于待解碼的紋理數(shù)據(jù)元素的差數(shù)據(jù)值的裝置通過下列步驟確定將用于待解碼的所述紋理數(shù)據(jù)元素的差數(shù)據(jù)值: 基于所述紋理數(shù)據(jù)元素的位置在表示所述紋理數(shù)據(jù)元素的編碼紋理數(shù)據(jù)塊中識別指示預定差數(shù)據(jù)值集合的索引值; 利用所述索引值從存儲器取得預定差數(shù)據(jù)值集合;以及 基于所述紋理數(shù)據(jù)元素的位置從所述預定差值集合確定將用于所述紋理數(shù)據(jù)元素的差值。
21.根據(jù)權(quán)利要求20所述的設備,所述設備還包括: 用于從所述索引值確定是否需要將任何操控應用于所述預定差值集合,并且如果是,則將那些操控應用于所述預定差值集合的裝置;以及 用于基于所述紋理數(shù)據(jù)元素的位置從被這樣操控的預定差值集合識別將用于所述紋理數(shù)據(jù)元素的差值的裝置。
22.一種包括權(quán)利要求12至21中任一項所述的設備的圖形處理器。
23.—種表示將在圖形處理系統(tǒng)中使用的紋理數(shù)據(jù)元素集合的紋理數(shù)據(jù)塊,所述紋理數(shù)據(jù)塊包括: 指示所述塊的基本數(shù)據(jù)值的數(shù)據(jù),所述基本數(shù)據(jù)值取自確定的所述紋理數(shù)據(jù)元素集合的低分辨率表示;以及 指示取自全分辨率的差數(shù)據(jù)集合的差數(shù)據(jù)的數(shù)據(jù),所述差數(shù)據(jù)集合表示確定的所述紋理數(shù)據(jù)元素集合的低分辨率表示的升尺度版本與原始紋理數(shù)據(jù)元素集合之差,并且所述差數(shù)據(jù)將在對紋理數(shù)據(jù)塊進行解碼時用于所述紋理數(shù)據(jù)塊所表示的紋理數(shù)據(jù)元素,以產(chǎn)生將用于所述紋理數(shù)據(jù)塊所表示的所述紋理數(shù)據(jù)元素的數(shù)據(jù)值。
24.一種包括計算機軟件代碼的計算機程序,當所述程序在數(shù)據(jù)處理裝置上運行時執(zhí)行根據(jù)權(quán)利要 求1至11中任一項所述的方法。
【文檔編號】G06T9/00GK104050688SQ201410096151
【公開日】2014年9月17日 申請日期:2014年3月14日 優(yōu)先權(quán)日:2013年3月15日
【發(fā)明者】A·拉森, J·尼斯塔德 申請人:Arm有限公司