專利名稱:統(tǒng)一紋理壓縮框架的制作方法
CN 102138158 A
說明書
1/12 頁
統(tǒng)一紋理壓縮框架背景高動(dòng)態(tài)范圍(HDR)成像技術(shù)引入了用數(shù)字成像來記錄以及再現(xiàn)真實(shí)世界的新紀(jì) 元。傳統(tǒng)的低動(dòng)態(tài)范圍(LDR)圖像只在非常有限的色域中包含涉及設(shè)備的像素,而HDR圖 像提供自然場景的真實(shí)發(fā)光度值。HDR紋理便于改進(jìn)圖像的照明和后處理,從而在呈現(xiàn)數(shù)字 圖像時(shí)得到空前的真實(shí)性。由此,支持HDR紋理已經(jīng)變成設(shè)計(jì)圖形硬件和應(yīng)用程序編程接 口(API)中的趨勢(shì)。然而,LDR紋理對(duì)于有效地支持成像技術(shù)的現(xiàn)有特征來說繼續(xù)是不可 缺少的,諸如通常不使用寬闊的HDR分辨率的貼花地圖等。在成像中使用紋理的挑戰(zhàn)之一是紋理的尺寸一般較大。具有通常的每像素M位 (每像素的位數(shù)(bbp))的原始紅綠藍(lán)(RGB)格式的LDR紋理通常消耗太多的存儲(chǔ)和帶寬。 在當(dāng)前呈現(xiàn)系統(tǒng)中通常為半浮動(dòng)或浮點(diǎn)格式的HDR紋理可比原始LDR紋理多花費(fèi)2至4倍 的空間。較大的紋理尺寸約束了可用于呈現(xiàn)場景的HDR紋理的數(shù)量。較大的紋理尺寸還限 制了給定存儲(chǔ)器帶寬的幀速率,尤其是在使用復(fù)雜的過濾方法時(shí)。對(duì)可用紋理和幀速率的 這些限制約束了在呈現(xiàn)場景時(shí)數(shù)字成像的質(zhì)量。紋理壓縮(TC)技術(shù)可有效地降低實(shí)時(shí)呈現(xiàn)中的存儲(chǔ)器存儲(chǔ)和存儲(chǔ)器帶寬資源。 對(duì)于LDR紋理,已經(jīng)設(shè)計(jì)了許多壓縮方案,包括事實(shí)(de facto)標(biāo)準(zhǔn),還可被稱為S3TC的 DirectX 紋理壓縮(DXTC)。DXTC由商用圖形硬件廣泛地支持。概述通常,這里所述的各種技術(shù)的一個(gè)或多個(gè)實(shí)現(xiàn)針對(duì)統(tǒng)一紋理壓縮框架。在一種實(shí) 現(xiàn)中,統(tǒng)一紋理壓縮框架可以既壓縮低動(dòng)態(tài)范圍(LDR)紋理,又壓縮高動(dòng)態(tài)范圍(HDR)紋 理。LDR/HDR紋理可以用每像素8位(bpp)或4bpp的壓縮率來壓縮。LDR紋理可以在被壓 縮前被轉(zhuǎn)換成HDR格式。在一種實(shí)現(xiàn)中,紋理可以首先被壓縮成8bpp。經(jīng)Sbpp壓縮的紋理然后可被壓縮為 4bpp。在另一實(shí)現(xiàn)中,原始的LDR/HDR紋理可以直接被壓縮成4bpp。LDR/HDR紋理可以從紅、綠和藍(lán)(RG^空間被轉(zhuǎn)換到亮度色度空間??梢允褂?DirectX 類紋理線性適應(yīng)算法在亮度色度空間中對(duì)紋理進(jìn)行聯(lián)合通道壓縮。在4bpp壓縮 中,紋理的色度表示可以基于每個(gè)紋理內(nèi)的紋理像素的采樣。經(jīng)采樣的紋理像素也可以用 于紋理像素的亮度表示。在另一實(shí)現(xiàn)中,經(jīng)壓縮的紋理可以從Sbpp或4bpp壓縮的紋理來呈現(xiàn)。在紋理像 素著色器呈現(xiàn)紋理所表示的圖像之前,以4bpp壓縮的紋理可以首先被解碼到Sbpp壓縮。提供以上引用的概述章節(jié)以便以簡化形式介紹將在以下詳細(xì)描述章節(jié)中進(jìn)一步 描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也 不旨在用于限制所要求保護(hù)的主題的范圍。此外,所要求保護(hù)的主題不限于解決在本發(fā)明 的任一部分中提及的任何或所有缺點(diǎn)的實(shí)現(xiàn)。附圖簡述
圖1示出了根據(jù)本文描述的各實(shí)現(xiàn)的計(jì)算系統(tǒng)的示意圖。圖2示出了根據(jù)本文描述的各實(shí)現(xiàn)的用于壓縮原始紋理的方法的數(shù)據(jù)流程圖。
圖3示出了根據(jù)本文描述的各實(shí)現(xiàn)的用于將原始紋理壓縮為Sbpp紋理的方法的 數(shù)據(jù)流程圖。圖4A-4D示出根據(jù)本文描述的各實(shí)現(xiàn)的色彩空間中的紋理像素的3維圖。圖5示出了根據(jù)本文描述的各種技術(shù)的各實(shí)現(xiàn)的修改表格。圖6示出了根據(jù)本文描述的各種技術(shù)的各實(shí)現(xiàn)的包含Sbpp紋理的數(shù)據(jù)結(jié)構(gòu)。圖7示出根據(jù)本文描述的各種技術(shù)的各實(shí)現(xiàn)的用于從Sbpp紋理恢復(fù)RGB通道的 解碼邏輯。圖8示出了根據(jù)本文描述的各種技術(shù)的各實(shí)現(xiàn)的包含4bpp紋理的數(shù)據(jù)結(jié)構(gòu)。圖9A示出了根據(jù)本文描述的各實(shí)現(xiàn)的用于將Sbpp紋理壓縮為4bpp紋理的方法 的數(shù)據(jù)流程圖。圖9B示出根據(jù)本文描述的各實(shí)現(xiàn)的示例色彩索引塊。圖10示出根據(jù)本文描述的各種技術(shù)的各實(shí)現(xiàn)的用于從4bpp紋理恢復(fù)RGB通道的
解碼邏輯。圖IOA示出用于將4bpp紋理解碼為Sbpp紋理的方法的流程圖。圖IOB示出根據(jù)本文描述的各實(shí)現(xiàn)的指示從4bpp復(fù)制成Sbpp紋理的數(shù)據(jù)的框 圖。圖11示出了根據(jù)本文描述的各實(shí)現(xiàn)的處理環(huán)境的框圖。詳細(xì)描述關(guān)于術(shù)語,參考附圖描述的任何功能都可使用軟件、固件、硬件(例如,固定邏輯 電路)、手動(dòng)處理或這些實(shí)現(xiàn)的組合來實(shí)現(xiàn)。此處所使用的術(shù)語“邏輯”、“模塊”、“組件”或 “功能”一般表示軟件、固件、硬件、或這些實(shí)現(xiàn)的組合。例如,在軟件實(shí)現(xiàn)的情況下,術(shù)語“邏 輯”、“模塊”、“組件”或“功能”表示被配置成當(dāng)在一個(gè)或多個(gè)處理設(shè)備(例如,一個(gè)或多個(gè) CPU)上執(zhí)行時(shí)執(zhí)行指定任務(wù)的程序代碼(或聲明性內(nèi)容)。程序代碼可被儲(chǔ)存在一個(gè)或多 個(gè)計(jì)算機(jī)可讀介質(zhì)中。更一般而言,所示的將邏輯、模塊、組件和功能分割成不同單元可以反映這些軟 件、固件和/或硬件的實(shí)際物理分組和分配,或者可對(duì)應(yīng)于由單個(gè)軟件程序、固件程序和/ 或硬件單元執(zhí)行的不同任務(wù)的概念性分配。所示的邏輯、模塊、組件和功能可位于單個(gè)位置 處(例如,由處理設(shè)備來實(shí)現(xiàn)),或者可分布在多個(gè)位置上。術(shù)語“機(jī)器可讀介質(zhì)”等指的是用于以任何形式保留信息的任何種類的介質(zhì),包括 各種存儲(chǔ)設(shè)備(磁、光、固態(tài)等等)。術(shù)語機(jī)器可讀介質(zhì)還包含了表示信息的瞬態(tài)形式,包括 用于將信息從一點(diǎn)發(fā)送到另一點(diǎn)的各種硬線和/或無線鏈路。此處描述的技術(shù)還在各流程圖中描述。為便于討論,某些操作在這些流程圖中被 描述為以特定次序執(zhí)行的不同的組成步驟。這些實(shí)現(xiàn)是示例性而非限制性的。某些操作可 被分組在一起并且在單個(gè)操作中執(zhí)行,而某些操作可用和在本發(fā)明中所述的示例中所采用 的次序不同的次序來執(zhí)行。圖1示出了根據(jù)本文描述的各實(shí)現(xiàn)的計(jì)算系統(tǒng)100的示意圖。計(jì)算機(jī)系統(tǒng)100包 括經(jīng)由系統(tǒng)總線117進(jìn)行通信的中央處理單元(CPU) 104、系統(tǒng)(主)存儲(chǔ)器106以及存儲(chǔ) 108。從被耦合到系統(tǒng)總線117的一個(gè)或多個(gè)用戶輸入設(shè)備118(例如,鍵盤、鼠標(biāo))接收用 戶輸入。
計(jì)算系統(tǒng)100可被配置成便于紋理像素?cái)?shù)據(jù)(即,圖形數(shù)據(jù))的高性能處理。例 如,計(jì)算系統(tǒng)100除了系統(tǒng)總線117以外可包括單獨(dú)的圖形總線147。圖形總線147可被配 置成便于和紋理像素?cái)?shù)據(jù)的處理有關(guān)的通信。更具體地,圖形總線147可處理CPU 104、圖 形處理單元(GPU) 154、系統(tǒng)存儲(chǔ)器106、紋理存儲(chǔ)器156、以及輸出設(shè)備119之間的通信。系統(tǒng)總線117和圖形總線147可以是幾種類型的總線結(jié)構(gòu)中的任何一種,包括存 儲(chǔ)器總線或存儲(chǔ)控制器、外圍總線、以及使用各種總線體系結(jié)構(gòu)中的任一種的局部總線。 作為示例而非限制,這樣的體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu) (MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線、也稱為夾層 (Mezzanine)總線的外圍部件互連(PCI)總線、以及快速外圍部件互連(PCIE)、集成設(shè)備電 路(IDE)、串行新技術(shù)附件(SATA)、以及加速圖形端口(AGP)。系統(tǒng)存儲(chǔ)器106可以存儲(chǔ)各種程序或應(yīng)用程序,諸如操作系統(tǒng)112。操作系統(tǒng)112 可以是能控制單機(jī)或聯(lián)網(wǎng)的計(jì)算機(jī)的操作的任何合適的操作系統(tǒng),如Wind0WS ViSta、Mac OS X、Unix 變型(例如 Linux 和 BSD )等。系統(tǒng)存儲(chǔ)器106也可以存儲(chǔ)應(yīng)用程序114,應(yīng)用程序114生成諸如3D圖像這樣的 圖像用于在輸出設(shè)備119上顯示。應(yīng)用程序114可以是生成諸如游戲等紋理像素?cái)?shù)據(jù)的任 何軟件,或是其他多媒體應(yīng)用程序。系統(tǒng)存儲(chǔ)器106可進(jìn)一步存儲(chǔ)驅(qū)動(dòng)程序115來啟用與GPU 154的通信。驅(qū)動(dòng)程序 115可實(shí)現(xiàn)諸如公開圖形庫(OpenGL)和Microsoft DirectX 等一個(gè)或多個(gè)標(biāo)準(zhǔn)應(yīng)用程序 接口(API)。通過調(diào)用適當(dāng)?shù)腁PI函數(shù)調(diào)用,操作系統(tǒng)112能夠指令驅(qū)動(dòng)程序115將每像素 4位Gbpp)的紋理150經(jīng)由圖形總線147傳送到GPU 154,并且調(diào)用GPU巧4的各種呈現(xiàn) 函數(shù)。數(shù)據(jù)傳送操作可使用常規(guī)的DMA(直接存儲(chǔ)器訪問)或其他操作來執(zhí)行。系統(tǒng)存儲(chǔ)器106還可保存存儲(chǔ)格式解碼器120。響應(yīng)于來自GPU 154的請(qǐng)求,存 儲(chǔ)格式解碼器120可以從存儲(chǔ)108中檢取存儲(chǔ)格式紋理170,將存儲(chǔ)格式紋理170解碼為 4bpp紋理150,并將4bpp紋理150加載到系統(tǒng)存儲(chǔ)器106中。計(jì)算設(shè)備100可進(jìn)一步包括可連接到總線117的存儲(chǔ)108。存儲(chǔ)108可以包含存 儲(chǔ)格式紋理170。存儲(chǔ)格式紋理170可以是在4bpp紋理150之上被壓縮的紋理像素?cái)?shù)據(jù)。 由于存儲(chǔ)108也許不能使用隨機(jī)定制來訪問數(shù)據(jù),因此存儲(chǔ)108可以存儲(chǔ)具有比4bpp高的 壓縮率的紋理像素?cái)?shù)據(jù)。最好是,由于存儲(chǔ)格式紋理170比4bpp紋理150占用更少的存儲(chǔ),因此,如果將 4bpp紋理150而非存儲(chǔ)格式紋理170存儲(chǔ)在存儲(chǔ)108中,那么和傳送4bpp紋理150相比, 將存儲(chǔ)格式紋理170傳送至系統(tǒng)存儲(chǔ)器會(huì)使用系統(tǒng)總線117上的較少帶寬。減少所使用的 帶寬量提高了處理紋理像素?cái)?shù)據(jù)的效率。存儲(chǔ)108的示例包括用于對(duì)硬盤進(jìn)行讀寫的硬盤驅(qū)動(dòng)器、用于對(duì)可移動(dòng)磁盤進(jìn)行 讀寫的磁盤驅(qū)動(dòng)器、以及用于對(duì)諸如CD-ROM或其它光介質(zhì)等可移動(dòng)光盤進(jìn)行讀寫的光盤 驅(qū)動(dòng)器。存儲(chǔ)108及其關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)可以向計(jì)算系統(tǒng)100提供對(duì)計(jì)算機(jī)可讀指令、 數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲(chǔ)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,計(jì)算系統(tǒng)100還可包括可由計(jì)算機(jī)訪問的其他類型的 存儲(chǔ)108及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)。例如,這種計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介 質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、以及可移動(dòng)和不可移動(dòng) 介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)還可包括,RAM、R0M、可擦除可編程只讀存儲(chǔ)器(EPROM)、電可擦可編 程只讀存儲(chǔ)器(EEPROM)、閃存或其它固態(tài)存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它 光盤存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由 計(jì)算系統(tǒng)100訪問的任何其它介質(zhì)。通信介質(zhì)能以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù) 據(jù)信號(hào)來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信息傳遞介 質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”可指的是以在信號(hào)中編碼信息的方式設(shè)定或更改其一個(gè)或多 個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接, 以及無線介質(zhì),諸如聲學(xué)、射頻、紅外線和其他無線介質(zhì)。上述的任意組合也可以包含在計(jì) 算機(jī)可讀介質(zhì)的范圍內(nèi)??稍谳敵鲈O(shè)備(例如,基于常規(guī)的CRT、TV或IXD的監(jiān)視器、投影儀等)上提供在 視覺輸出,所述輸出設(shè)備119在GPU巧4的控制下操作。GPU巧4可包括用于接收和處理經(jīng) 由圖形總線147所接收的圖形系統(tǒng)命令的各種組件。GPU IM可包括顯示流水線158、存儲(chǔ) 器管理單元162和紋理高速緩存166。顯示流水線158 —般可用于圖像處理。顯示流水線158可包含被配置成將Sbpp 紋理轉(zhuǎn)換成適用于顯示在輸出設(shè)備119上的紋理像素?cái)?shù)據(jù)的各種處理模塊。在一實(shí)現(xiàn)中, 顯示流水線158可包括紋理像素著色器160。紋理像素著色器160可以將4bpp紋理150解壓縮為^pp紋理145。此外,紋理像 素著色器160可以將Sbpp紋理加載到紋理高速緩存166中。紋理高速緩存可以是為快速 I/O配置的高速緩存存儲(chǔ)器,便于GPU巧4在呈現(xiàn)包括3D圖像的圖像時(shí)的高性能處理。下 面分別參考圖6和8更詳細(xì)地描述m^pp紋理145和4bpp紋理150。另外,紋理像素著色器160可執(zhí)行實(shí)時(shí)圖像呈現(xiàn),由此可為GPU 154的處理配置 8bpp紋理145和/或4bpp紋理150。下面將參考圖7、10、IlA和IlB的描述更詳細(xì)地描述 紋理像素著色器160。存儲(chǔ)器管理單元162從系統(tǒng)存儲(chǔ)器106讀取4bpp紋理150,并且將4bpp紋理150 加載到紋理存儲(chǔ)器156中。紋理存儲(chǔ)器156可以是為快速I/O設(shè)計(jì)的專用RAM(TRAM),從而 便于GPU 154在呈現(xiàn)包括3-D圖像的圖像時(shí)的高性能處理?;蛘?,如果4bpp紋理150被加 載到紋理存儲(chǔ)器156中,則存儲(chǔ)器管理單元162可以從紋理存儲(chǔ)器156讀取4bpp紋理150 以便于紋理像素著色器160進(jìn)行解壓縮或圖像呈現(xiàn)。應(yīng)該理解,此處描述的各種技術(shù)可以結(jié)合硬件、軟件或兩者的組合來實(shí)現(xiàn)。因此, 各種技術(shù)或其某些方面或部分,可以采用包含在諸如軟盤、⑶-ROM、硬盤驅(qū)動(dòng)器或任何其它 機(jī)器可讀存儲(chǔ)介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式,其中,當(dāng)程序代碼被加載 至諸如計(jì)算機(jī)等機(jī)器并由其運(yùn)行時(shí),該機(jī)器成為用于實(shí)現(xiàn)該各種技術(shù)的裝置。在程序代碼 在可編程計(jì)算機(jī)上執(zhí)行的情況下,計(jì)算設(shè)備可包括處理器、該處理器可讀的存儲(chǔ)介質(zhì)(包 括易失性和非易失性的存儲(chǔ)器和/或存儲(chǔ)元件)、至少一個(gè)輸入設(shè)備、以及至少一個(gè)輸出設(shè) 備??梢詫?shí)現(xiàn)或利用此處所描述的各種技術(shù)的一個(gè)或多個(gè)程序可以使用應(yīng)用程序編程接口 (API)、可重用控件等。這樣的程序可以用高級(jí)過程語言或面向?qū)ο缶幊陶Z言來實(shí)現(xiàn),以與 計(jì)算機(jī)系統(tǒng)通信。然而,如果需要,程序可以用匯編語言或機(jī)器語言來實(shí)現(xiàn)。在任何情形中, 語言可以是編譯語言或解釋語言,且與硬件實(shí)現(xiàn)相結(jié)合。
圖2示出了根據(jù)本文描述的各實(shí)現(xiàn)的用于壓縮原始紋理205的方法200的數(shù)據(jù)流 程圖。原始紋理205可以是未處理的紋理像素?cái)?shù)據(jù),形式為高或低動(dòng)態(tài)范圍(HDR或LDR) 的紋理。在原始紋理205包括LDR紋理的情況下,LDR紋理數(shù)據(jù)可以被轉(zhuǎn)換成HDR紋理格 式。更具體地,HDR紋理一般將圖像描述為紅、綠和藍(lán)(RGB)通道中的16位浮點(diǎn)或半點(diǎn)值, 而LDR紋理一般將圖像描述為RGB通道中的8位整數(shù)值。將LDR紋理數(shù)據(jù)轉(zhuǎn)換成HDR格式 可以包括從8位LDR整數(shù)值到16位半浮點(diǎn)或浮點(diǎn)值的簡單轉(zhuǎn)換。最好是,通過將LDR紋理轉(zhuǎn)換成HDR格式,可以為呈現(xiàn)來自LDR和HDR紋理的圖像
提供統(tǒng)一壓縮框架。原始紋理205可以被輸入到8bpp編碼過程220中。8bpp編碼過程220可以以8bpp 的壓縮率來壓縮原始紋理205以產(chǎn)生Sbpp紋理M5。參考圖3-5更詳細(xì)地描述了 Sbpp編 碼過程220。8bpp紋理245可以被輸入到4bpp編碼過程MO中。4bpp編碼過程240可以以 4bpp的壓縮率來壓縮8bpp紋理以產(chǎn)生4bpp紋理250。參考圖9A-9B更詳細(xì)地描述了 4bpp 編碼過程M0。4bpp紋理250可以被輸入到產(chǎn)生存儲(chǔ)格式紋理270的存儲(chǔ)編碼過程沈0。存儲(chǔ) 編碼過程260可以采用諸如ZIP或Huffman編碼這樣的壓縮技術(shù)來進(jìn)一步壓縮4bpp紋理 250。圖3示出了根據(jù)本文描述的各實(shí)現(xiàn)的用于將原始紋理305壓縮為Sbpp紋理345 的方法300的數(shù)據(jù)流程圖。方法300可以執(zhí)行參考圖2描述的Sbpp編碼過程220。在操作中,原始HDR紋理305可被輸入到自適應(yīng)色彩變換過程310。原始紋理305 可以被劃分為16個(gè)紋理像素的4X4塊。自適應(yīng)色彩變換過程310可通過將原始紋理305 從RGB空間轉(zhuǎn)換到亮度色度空間從而產(chǎn)生經(jīng)變換的紋理315。在此,亮度色度空間還可被稱 為Y-UV空間。在一實(shí)現(xiàn)中,自適應(yīng)色彩變換過程310是基于可包括將RGB值轉(zhuǎn)換成Y-UV 值的HDR色彩變換。通常,HDR色彩變換如下確定
權(quán)利要求
1.一種用于壓縮紋理的方法,包括將紅綠藍(lán)(RGB)空間中的紋理像素的第一塊變換成亮度色度空間中的紋理像素的第 二塊,所述第一塊具有紅色值、綠色值和藍(lán)色值,所述第二塊具有亮度值和色度值,所述色 度值是基于所述紅色值的和、綠色值的和以及藍(lán)色值的和; 對(duì)所述第二塊中的紋理像素的第一子集采樣色度值; 將所述亮度值和經(jīng)采樣的色度值轉(zhuǎn)換成8位整數(shù)格式; 修改所述第一子集的亮度值以便將本地線性度屬性還原到所述第一子集;以及 將所述第二塊壓縮成第三塊。
2.如權(quán)利要求1所述的方法,其特征在于,還包括基于所述第一子集的亮度值預(yù)測第二子集的亮度值。
3.如權(quán)利要求2所述的方法,其特征在于,所述第二子集是所述第二塊中除所述第一 子集外的其余紋理像素。
4.如權(quán)利要求1所述的方法,其特征在于,所述紋理是LDR紋理,所述方法還包括將紋 理像素的所述第一塊從低動(dòng)態(tài)范圍(LDR)格式轉(zhuǎn)換成高動(dòng)態(tài)范圍(HDR)格式。
5.如權(quán)利要求1所述的方法,其特征在于,所述紋理是高動(dòng)態(tài)范圍紋理。
6.如權(quán)利要求1所述的方法,其特征在于,所述第一塊以每像素8位的壓縮率來壓縮。
7.如權(quán)利要求6所述的方法,其特征在于,所述第三塊以每像素4位的壓縮率來壓縮。
8.如權(quán)利要求1所述的方法,其特征在于,所述第三塊以每像素4位的壓縮率來壓縮。
9.如權(quán)利要求1所述的方法,其特征在于,所述第二塊使用聯(lián)合顏色通道壓縮方法來 壓縮。
10.如權(quán)利要求9所述的方法,其特征在于,所述聯(lián)合顏色通道壓縮方法包括類 DirectX紋理的線性適應(yīng)算法。
11.一種其上存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令在由計(jì)算機(jī)執(zhí)行時(shí) 使得所述計(jì)算機(jī)將紅綠藍(lán)(RGB)空間中的紋理的紋理像素的第一塊變換成亮度色度空間中的紋理像 素的第二塊,所述第一塊以每像素8位(Sbpp)來壓縮并且具有紅色值、綠色值和藍(lán)色值,所 述第二塊具有亮度值和色度值,所述色度值是基于所述紅色值的和、綠色值的和以及藍(lán)色 值的和;對(duì)所述第二塊中的紋理像素的第一子集采樣色度值; 將所述亮度值和經(jīng)采樣的色度值轉(zhuǎn)換成8位整數(shù)格式; 修改所述第一子集的亮度值以便將本地線性度屬性還原到所述第一子集;以及 以每像素4位的壓縮率將所述第二塊壓縮為第三塊。
12.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括在由所述計(jì)算機(jī)執(zhí)行 時(shí)使得所述計(jì)算機(jī)執(zhí)行以下步驟的計(jì)算機(jī)可執(zhí)行指令基于所述第一子集的亮度值預(yù)測第二子集的亮度值。
13.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第二子集是所述第二塊 中除所述第一子集外的其余紋理像素。
14.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述紋理是LDR紋理,所述計(jì) 算機(jī)可讀介質(zhì)還包括在由所述計(jì)算機(jī)執(zhí)行時(shí)使得所述計(jì)算機(jī)執(zhí)行以下步驟的計(jì)算機(jī)可執(zhí)將紋理像素的所述第一塊從低動(dòng)態(tài)范圍(LDR)格式轉(zhuǎn)換成高動(dòng)態(tài)范圍(HDR)格式。
15.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述紋理是高動(dòng)態(tài)范圍紋理。
16.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述第二塊使用聯(lián)合顏色通 道壓縮方法來壓縮。
17.如權(quán)利要求16所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所述聯(lián)合顏色通道壓縮方法 包括類DirectX⑥紋理的線性適應(yīng)算法。
18.一種計(jì)算機(jī)系統(tǒng),包括處理器;以及包括由所述處理器可執(zhí)行的程序指令的存儲(chǔ)器,所述存儲(chǔ)器用于將紅綠藍(lán)(RGB)空間中的紋理的紋理像素的第一塊變換成亮度色度空間中的紋理像 素的第二塊,所述第一塊以每像素8位(Sbpp)來壓縮并且具有紅色值、綠色值和藍(lán)色值,所 述第二塊具有亮度值和色度值,所述色度值是基于所述紅色值的和、綠色值的和以及藍(lán)色 值的和;對(duì)所述第二塊中的紋理像素的第一子集采樣色度值;將所述亮度值和經(jīng)采樣的色度值轉(zhuǎn)換成8位整數(shù)格式;修改所述第一子集的亮度值以便將本地線性度屬性還原到所述第一子集;以每像素4位的壓縮率將所述第二塊壓縮為第三塊;以及基于所述第一子集的亮度值預(yù)測第二子集的亮度值。
19.如權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述存儲(chǔ)器還包括可由處理器執(zhí) 行以執(zhí)行以下操作的程序指令將紋理像素的所述第一塊從低動(dòng)態(tài)范圍(LDR)格式轉(zhuǎn)換成 高動(dòng)態(tài)范圍(HDR)格式。
20.如權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述第二子集是所述第二塊中除 所述第一子集外的其余紋理像素。
全文摘要
一種用于壓縮紋理的方法。紋理像素的第一塊可以從紅綠藍(lán)(RGB)空間被變換成亮度色度空間中的紋理像素的第二塊。第一塊具有紅色值、綠色值和藍(lán)色值。第二塊具有亮度值和色度值。色度值可基于紅色值的和、綠色值的和以及藍(lán)色值的和??梢詫?duì)第二塊中的紋理像素的第一子集采樣色度值。亮度值和經(jīng)采樣的色度值可被轉(zhuǎn)換成8位整數(shù)格式。可修改第一子集的亮度值以便將本地線性度屬性還原到第一子集。第二塊可以被壓縮成第三塊。
文檔編號(hào)G06T1/00GK102138158SQ200980134685
公開日2011年7月27日 申請(qǐng)日期2009年6月26日 優(yōu)先權(quán)日2008年6月26日
發(fā)明者F·吳, S·李, W·孫, Y·陸 申請(qǐng)人:微軟公司