圖形數(shù)據(jù)的基于子集的壓縮和解壓縮的制作方法
【專利說明】圖形數(shù)據(jù)的基于子集的壓縮和解壓縮
【背景技術(shù)】
[0001] 一般而言,圖形再現(xiàn)可使用廣泛的計算機(jī)實(shí)現(xiàn)的技術(shù)根據(jù)模型數(shù)據(jù)生成圖像。在 一些圖形再現(xiàn)實(shí)現(xiàn)中,可通過對不同函數(shù)(諸如例如可見度函數(shù)(例如確定同一點(diǎn)是否在 =角形內(nèi)部的函數(shù))和/或著色函數(shù)(例如確定在某一樣本點(diǎn)的顏色的函數(shù))等)采樣來 使用光柵化再現(xiàn)圖像。一般而言,用于可見度函數(shù)的樣本可被稱為可見度樣本,并且用于著 色函數(shù)的樣本可被稱為著色樣本。
[0002] 在一些實(shí)現(xiàn)中,諸如例如超采樣抗混疊(SSAA)應(yīng)用,每個像素的可見度樣本的數(shù) 量可匹配每個像素的著色樣本的數(shù)量。在其它實(shí)現(xiàn)中,諸如例如多采樣抗混疊解決方案 (MSAA)應(yīng)用,可能存在單個著色樣本每像素和多個可見度樣本每像素。在任一情況下,多個 樣本可改進(jìn)圖像或視頻質(zhì)量,諸如例如減少圖像中的銀齒邊效應(yīng)和視頻中的蠕動效應(yīng)等。
[0003] -般而言,使用SSAA或MSAA或其它圖形技術(shù)可能需要顏色緩沖器帶寬增大或者 其它緩沖器中的帶寬增大。此類帶寬增大可降低系統(tǒng)性能,諸如引起更多高速緩存線事務(wù)、 增大存儲器使用、增大功率使用等。因此,壓縮圖形數(shù)據(jù)可能是有利的。
【附圖說明】
[0004] 本文描述的資料作為示例而非限制在附圖中圖示。為了圖示的簡潔和清晰起見, 在附圖中圖示的元件不一定按比例繪制。例如,為了清晰起見,一些元件的尺寸相對于其它 元件可能放大。另外,在適當(dāng)?shù)牡胤?,附圖標(biāo)記在各圖之間已經(jīng)被重復(fù)W指示對應(yīng)或類似元 件。附圖中: 圖1是具有關(guān)聯(lián)值的像素的示例瓦片的示意圖; 圖2是具有關(guān)聯(lián)值的像素的示例瓦片的示意圖; 圖3是示例編索引的子集的示意圖; 圖4是具像素索引值的像素的示例瓦片的示意圖; 圖5是示例壓縮圖形數(shù)據(jù)的示意圖; 圖6是圖示示例過程的流程圖; 圖7是圖示示例過程的流程圖; 圖8是圖示示例過程的流程圖; 圖9是用于提供圖形再現(xiàn)中的壓縮和/或解壓縮的示例系統(tǒng)和過程的示意圖; 圖10是用于提供圖形再現(xiàn)的壓縮和/或解壓縮的示例系統(tǒng)的示意圖; 圖11是不例系統(tǒng)的不意圖; 圖12圖示了全部按照本公開的至少一些實(shí)現(xiàn)布置的示例裝置。
【具體實(shí)施方式】
[0005] 現(xiàn)在參考所附的附圖描述一個或多個實(shí)施例或?qū)崿F(xiàn)。雖然討論了特定配置和布 置,但應(yīng)該理解,運(yùn)只是用于說明性目的。相關(guān)領(lǐng)域技術(shù)人員將認(rèn)識到,在不脫離本公開的 精神和范圍的情況下可采用其它配置和布置。相關(guān)領(lǐng)域技術(shù)人員將明白,本文描述的技術(shù) 和/或布置還可用在不同于本文所描述的各種其它系統(tǒng)和應(yīng)用中。
[0006] 雖然如下描述闡述了可在例如諸如片上系統(tǒng)(SoC)架構(gòu)的架構(gòu)中表明的各種實(shí) 現(xiàn),但本文描述的技術(shù)和/或布置的實(shí)現(xiàn)不限于具體架構(gòu)和/或計算系統(tǒng),而是可為了類似 目的由任何架構(gòu)和/或計算系統(tǒng)實(shí)現(xiàn)。比如,例如采用多個集成電路(1C)忍片和/或封裝 和/或各種計算裝置和/或消費(fèi)電子(C巧裝置(諸如機(jī)頂盒、智能電話等)的各種架構(gòu)可 實(shí)現(xiàn)本文描述的技術(shù)和/或布置。另外,雖然W下描述可闡述眾多特定細(xì)節(jié),諸如系統(tǒng)組件 的邏輯實(shí)現(xiàn)、類型和相互關(guān)系、邏輯分割/集成選擇等,但是可在沒有此類特定細(xì)節(jié)的情況 下實(shí)行所要求權(quán)利的主題。在其它實(shí)例中,一些資料(諸如例如控制結(jié)構(gòu)和全軟件指令序 列)可能未詳細(xì)示出,W免使本文公開的資料模糊不清。
[0007] 本文公開的資料可用硬件、固件、軟件或它們的任何組合來實(shí)現(xiàn)。本文公開的資料 還可實(shí)現(xiàn)為存儲在機(jī)器可讀介質(zhì)上的指令,所述指令可由一個或多個處理器讀取和執(zhí)行。 機(jī)器可讀介質(zhì)可包含用于存儲和傳送由機(jī)器(例如計算裝置)可讀形式的信息的任何介質(zhì) 和/或機(jī)制。例如,機(jī)器可讀介質(zhì)可包含只讀存儲器(ROM);隨機(jī)存取存儲器(RAM);磁盤存 儲介質(zhì);光存儲介質(zhì);閃存裝置;電、光、聲或其它形式傳播信號(例如載波、紅外信號、數(shù)字 信號等)W及其它介質(zhì)。
[0008] 在說明書中提到"一個實(shí)現(xiàn)"、"實(shí)現(xiàn)"、"示例實(shí)現(xiàn)"等指示所描述的實(shí)現(xiàn)可包含具 體特征、結(jié)構(gòu)或特性,但每一個實(shí)施例可能不一定都包含該具體特征、結(jié)構(gòu)或特性。而且,此 類短語不一定是指同一實(shí)現(xiàn)。另外,當(dāng)結(jié)合一個實(shí)施例描述具體特征、結(jié)構(gòu)或特性時,認(rèn)為 結(jié)合不管本文是否明確描述的其它實(shí)現(xiàn)來實(shí)現(xiàn)此類特征、結(jié)構(gòu)或特性在本領(lǐng)域技術(shù)人員的 知識范圍內(nèi)。
[0009] 下面描述了與圖形再現(xiàn)相關(guān)的系統(tǒng)、設(shè)備、制品和方法,包含用于通過使用編索引 的子集來壓縮和/或解壓縮圖形數(shù)據(jù)的技術(shù)。
[0010] 如上所述,可能有利的是壓縮(和解壓縮)圖形數(shù)據(jù),諸如再現(xiàn)的圖形數(shù)據(jù)。如將 在下面更詳細(xì)描述的,在一些示例中,圖形再現(xiàn)和壓縮技術(shù)可在瓦片上操作。一般而言,瓦 片可包含任何數(shù)量的各個像素,諸如矩形區(qū)域的WXH像素,其中W是瓦片的寬度,并且H是 像素中瓦片的高度。例如,瓦片可包含具有32個像素的8X4像素區(qū)域。在一些示例中,可 對于各個像素確定諸如顏色值的值,使得每個像素具有一個值。運(yùn)些值可W任何方式確定, 并且可包含任何適合的信息。例如,運(yùn)些值可包含顏色值、低頻著色顏色值、表面法線值、多 采樣抗混疊顏色平面值等??缮芍档淖蛹?,使得子集包含來自像素值的不同的值。例如, 子集可包含一個或多個值(例如,如果對于所有像素,值都相同,則子集可包含一個值)。值 的子集可被編索引,使得索引值可與子集中的每個值關(guān)聯(lián)。對于各個像素中的每個像素,可 確定關(guān)聯(lián)的像素索引值。例如,對于各個像素值,可向各個像素指配匹配各個像素值的與子 集中不同的值關(guān)聯(lián)的索引值。用運(yùn)種方式,各個像素可被索引到值的子集。
[0011] 另外,如在下面更詳細(xì)討論的,一般而言,所討論的壓縮技術(shù)的目的可W是實(shí)現(xiàn)位 預(yù)算。例如,存儲器帶寬可與限制或高速緩存線等關(guān)聯(lián),其可提供存儲器事務(wù)的限制(例如 512位等)。如果壓縮技術(shù)可傳送或存儲小于或等于限制的數(shù)據(jù),則與數(shù)據(jù)關(guān)聯(lián)的事務(wù)的數(shù) 量可降低W節(jié)能并增加性能。如所討論的,可索引各個像素的瓦片,并且可生成值的子集 (也被索引)。一般而言,如果像素索引值、索引的值的子集和子集的索引小于期望位預(yù)算, 則壓縮可能已經(jīng)成功。在此類示例中,包括值(即,不同的值)子集、與值的子集關(guān)聯(lián)的索 引值和多個像素索引值的圖形數(shù)據(jù)可被存儲在存儲器中。一般而言,如果位預(yù)算不滿足,貝u壓縮可能已經(jīng)失敗,并且可使用標(biāo)準(zhǔn)技術(shù)存儲未壓縮的各個像素值。如所討論的,壓縮像素 瓦片的像素值可節(jié)省大量帶寬,同時在各種計算機(jī)實(shí)現(xiàn)中傳送或存儲圖形數(shù)據(jù)。
[0012] 圖1是按照本公開的至少一些實(shí)現(xiàn)布置的具有關(guān)聯(lián)值V1-V32的像素120的示例 瓦片110的示意圖。如所示,瓦片110可包含多個像素120-1、1-120-4、8。一般而言,瓦片 110可包含任何數(shù)量的像素。在一些示例中,瓦片110可W是8像素寬X4像素高(并且因 此可包含32個像素,如所示)。還如所示,各個像素120-1、1-120-4、8可具有或包含關(guān)聯(lián)值 V1-V32。一般而言,值V1-V32可包含任何適合的圖形數(shù)據(jù)或再現(xiàn)數(shù)據(jù)等。例如,值V1-V32 可包含顏色值、低頻著色顏色值、表面法線值、多采樣抗混疊顏色平面值等。如所描述的,在 一些示例中,值V1-V32可W是顏色值,諸如低頻像素著色顏色值或多采樣抗混疊顏色平面 值等。一般而言,任何數(shù)量的值V1-V32可W不同。例如,如果所有值V1-V32都相同,則可 能存在單個不同的值。如果所有值V1-V32都不同,則可能存在32個不同的值。一般而言, 如果存在較少不同的值,則本文下面討論的壓縮技術(shù)可能更有效。此類示例更有可能發(fā)生 在各種再現(xiàn)上下文中,或者使用各種技術(shù),諸如例如當(dāng)值V1-V32是表面法線值時,使用較 低頻著色技術(shù)生成值V1-V32時。
[0013] 如所討論的,在一些實(shí)現(xiàn)中,可使用低頻著色技術(shù)生成值V1-V32。使用低頻著色技 術(shù),可W比每像素一次更低的速率計算著色。例如,可對于每1x2像素、每2x1像素、每2x2 像素、每4x2像素、每2x4像素、每4x4像素等生成顏色值。在其它示例中,像素著色可被劃 分成兩部分,使得著色的一部分可按像素(或按樣本)進(jìn)行,而著色的另一部分可W較低速 率進(jìn)行,如所描述的,并且結(jié)果組合起來。在此類示例中,由于對于大于按像素基礎(chǔ)的區(qū)域 生成顏色值,因此用于瓦片110的值的一定量的復(fù)制將發(fā)生。另外,在再現(xiàn)真實(shí)對象時,可 W頻繁發(fā)生:一組像素可具有相同顏色,或者像素的整個瓦片可具有相同顏色。因此,用低 頻像素著色,本文討論的技術(shù)可能特別有利,不過所描述的技術(shù)不限于此類示例。
[0014] 圖2是按照本公開的至少一些實(shí)現(xiàn)布置的具有關(guān)聯(lián)值230的像素220的示例瓦片 210的示意圖。如所示,在一些示例中,值230可包含顏色值或低頻像素著色顏色值等。在 所圖示的示例中,為了清楚呈現(xiàn)的目的,使用描述(即"藍(lán)"、"紫"、"白"和"黃")示出了值 230。一般而言,顏色值可包含紅綠藍(lán)al地a(RGBA)顏色值、RAGB值的子集(諸如8位紅綠 藍(lán)曰1地a(R8G8B8A8))顏色值、偽亮度/強(qiáng)度橘色色度綠色色度al地a燈CoCgA)顏色值等。 另外,盡管相對于顏色值描述,但一般而言,值230可包含任何圖形數(shù)據(jù)或再現(xiàn)值,諸如例 如表面法線值等。在圖2的示例中,瓦片210可包含4個不同的值(即"藍(lán)"、"紫"、"白"和 "黃")。如將認(rèn)識到的,瓦片210可包含從1到32個不同的值。一般而言,可使用任何適合 的圖形處理技術(shù)或多個技術(shù)確定值320。例如,可通過再現(xiàn)瓦片210生成值230。再現(xiàn)可包 含光柵化技術(shù),諸如應(yīng)用可見度函數(shù)或應(yīng)用著色函數(shù)等。在一些示例中,再現(xiàn)可包含應(yīng)用超 采樣抗混疊技術(shù)、多采樣抗混疊技術(shù)或低頻像素著色技術(shù)等中的至少一項(xiàng)。
[0015] 現(xiàn)在轉(zhuǎn)到圖3,圖3是按照本公開的至少一些實(shí)現(xiàn)布置的包含值320的子集和關(guān)聯(lián) 的索引值330的示例編索引的子集310的示意圖。例如,可通過確定值320的子集使得值 320的子集包含值230的不同的值(如圖2中所示)并將索引值320與值320的子集的每 個值關(guān)聯(lián),來生成編索引的子集310。如所討論的,值320的子集可包含根據(jù)值230的不同 值的數(shù)量的任何數(shù)量的值。類似地,索引值320的數(shù)量可匹配值的子集中的值的數(shù)量。在 圖3的示例中,存在值320的子集中的四個值(即"藍(lán)"、"紫""白"和"黃")化及四個索引 值330 (即"rV' 2 "、" 3 "和"3 ")。在值320的子集包含顏色值的示例中,值320的子集可 被描述為調(diào)色板或顏色調(diào)色板等。一般而言,值320的子集中的值的數(shù)量(W及索引值的 數(shù)量)可包含#個值(例如在給定示例中k=2),使得索引值330可W是k位索引值。也就 是,為了索引i個值,索引值必須至少具有k位。例如,為了索引兩個值,對于索引值330可 使用單個位(即k=l)。為了索引3個或4個值,可能需要2位(即k=2)。為了索引5到8 個值,可能需要3位(即k=3)。如果要存儲單個值,則可能不需要索引位(因?yàn)樗兄刀际?相同的)。在所圖示的示例中,值320的子集包含4個值,并且索引值330是2位值。
[0016] 現(xiàn)在轉(zhuǎn)到圖4,圖4是按照本公開的至少一些實(shí)現(xiàn)布置的具有關(guān)聯(lián)像素索引值430 的像素420的示例瓦片410的示意圖。例如,可對于各個像素420中的每個像素確定像素 索引值430,使得可用索引值430索引或替換值230(請參考圖2),使得索引值430在編索 引的子集310內(nèi)參考值320的子集(請參考圖3)。如將認(rèn)識到的,在從值230變換到索引 值430和編索引的子集310時,可能已經(jīng)發(fā)生了沒有信息損耗的壓縮。如上面所討論的,每 一個像素索引值430的位數(shù)可取決于值320的子集中值的數(shù)量。在所圖示的示例中,索引 值430可包含2位。
[0017] 如上面所討論的,所討論的壓縮技術(shù)的目的可W是實(shí)現(xiàn)位預(yù)算。例如,如果瓦片 210可使用未壓縮格式的位,則期望的位預(yù)算B可W是獵;鄉(xiāng):位。在其它示例中,期望的 位預(yù)算B可W是鶴位、觀巧雜化等。在其它示例中,位預(yù)算可與系統(tǒng)設(shè)計規(guī)則或約 束等關(guān)聯(lián)。例如,存儲器帶寬可與限制或高速緩存線尺寸等關(guān)聯(lián),其可提供存儲器事務(wù)的限 制(例如512位等)。另外,在一些示例中,多于一位的預(yù)算可能是可用的,使得目的或目標(biāo) 可滿足最低可用位預(yù)算。在任何情況下,如果壓縮技術(shù)可傳送或存儲小于位預(yù)算或限制的 數(shù)據(jù),則與數(shù)據(jù)關(guān)聯(lián)的事務(wù)的數(shù)量可降