專利名稱:深度緩沖器壓縮的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及選擇用于壓縮數(shù)據(jù)的壓縮模式,并且更具體地說,涉及用于實(shí)現(xiàn) 深度緩沖器圖像數(shù)據(jù)的基于多片(multi-tile)的壓縮的方法和裝置。
背景技術(shù):
對(duì)于在移動(dòng)通信裝置上處理三維圖形的需求正在增加。三維圖形的實(shí)時(shí)呈現(xiàn)具有 多個(gè)有吸引力的應(yīng)用,如視頻游戲、人機(jī)接口、消息傳遞和移動(dòng)電子商務(wù)(m-commerce)。通 信裝置的用戶更喜歡顯現(xiàn)他們與之交互的對(duì)象,并且因此三維圖形變成了對(duì)于此類通信裝 置期望的特征。然而,三維呈現(xiàn)是計(jì)算上昂貴的任務(wù),因?yàn)樗蟾呒?jí)的處理和大量使用存 儲(chǔ)器。因此,專用硬件常常是必需的,以達(dá)到用于以期望的速度和質(zhì)量來呈現(xiàn)三維圖形的充 分性能。通信裝置、特別是諸如移動(dòng)電話、個(gè)人數(shù)字助理、視頻和靜態(tài)攝像機(jī)等移動(dòng)通信裝 置已知在硬件能力(即,處理器功率和存儲(chǔ)空間)方面受到限制。另外,存在使通信裝置小 型化的趨勢(shì),這進(jìn)一步損失了對(duì)于三維呈現(xiàn)所必需的高級(jí)處理和存儲(chǔ)器要求。對(duì)于這些通 信裝置、特別是對(duì)于移動(dòng)電話和游戲控制臺(tái)的主要瓶頸之一是存儲(chǔ)器帶寬。用于減少存儲(chǔ)器帶寬使用的一種技術(shù)是深度緩沖器壓縮。深度緩沖器壓縮與在硬 件、軟件或其組合中執(zhí)行的三維(3D)圖形中圖像深度坐標(biāo)的管理有關(guān)。深度緩沖器是對(duì)于 可視性問題的解決方案之一,其中可視性問題是決定被呈現(xiàn)場(chǎng)景的哪些要素可見以及哪些 要素隱藏的問題。深度緩沖也已知為Z緩沖。當(dāng)呈現(xiàn)對(duì)象時(shí),在緩沖器(深度緩沖器)中 存儲(chǔ)生成的像素的深度(ζ坐標(biāo))。此緩沖器通常布置為二維陣列(χ-y),其中一個(gè)要素對(duì) 應(yīng)于每個(gè)屏幕像素。如果場(chǎng)景的另一對(duì)象以后在相同像素中呈現(xiàn),則新對(duì)象的深度與ζ緩 沖器中存儲(chǔ)的深度進(jìn)行比較。新對(duì)象僅在該新對(duì)象更靠近(即,該像素中其深度小于存儲(chǔ) 的值)時(shí)才對(duì)于該像素被呈現(xiàn),并且其深度值才寫到ζ緩沖器。最后,深度緩沖器允許通常 深度感知的正確再現(xiàn)近的對(duì)象隱藏更遠(yuǎn)的對(duì)象。深度緩沖器可在芯片上或在例如外部存 儲(chǔ)器的芯片外位置存儲(chǔ)。 更詳細(xì)地說,3D圖像的呈現(xiàn)基于以非排序順序繪出的圖元,例如三角形。存在以下 需求防止更后面的三角形繪在它們前面已更早繪出的三角形的頂部,并且這是引入深度 緩沖器的原因。深度緩沖器為每個(gè)像素保存用于該特定像素的深度(到眼睛的距離)。在 寫入新像素前,先從深度緩沖器讀取對(duì)應(yīng)的深度。僅在新深度小于深度緩沖器中存儲(chǔ)的以 前寫入的深度時(shí),才將新像素寫入圖像。如果圖像被更新,則新深度值寫入深度緩沖器。深 度值的讀取和寫入生成許多存儲(chǔ)器存取。由于深度緩沖器常常太大以致不適合在芯片上, 因此,這些存儲(chǔ)器存取將是外部(芯片外)存取。此類存儲(chǔ)器存取常常緩慢,這意味著深度緩沖器存取能減慢裝置整體的性能。芯片外存儲(chǔ)器存取在能耗方面也是代價(jià)高的,這意味著深度緩沖器存取還具有耗盡手持式裝置的電池電能的可能。大多數(shù)圖形系統(tǒng)將深度緩沖器劃分成片,而無論它們是否使用深度緩沖器壓縮。 因此,常常在每片的基礎(chǔ)上執(zhí)行圖元的光柵化,這意味著處理一個(gè)片中的所有像素之后才 處理另一片中的任何像素。這意味著使用快速“突發(fā)型”存儲(chǔ)器存取(一種快速存儲(chǔ)器存 取)或如本領(lǐng)域技術(shù)人員將明白的其它存取能立即讀入對(duì)于某個(gè)片的所有深度值。在片的 處理期間,其深度值一般存儲(chǔ)在芯片上高速緩存中,在那里能存取它們而無芯片外存取的 懲罰。在片已處理后,能再次使用快速突發(fā)存儲(chǔ)器存取將深度值從高速緩存寫回外部存儲(chǔ) 器。然而,即使存儲(chǔ)器存取現(xiàn)在由于突發(fā)而更快,它們?nèi)钥赡芴鵁o法達(dá)到充分的性能。 還要注意的是,分片和突發(fā)不降低GPU與外部存儲(chǔ)器之間通過總線傳送的數(shù)據(jù)量。深度緩沖器壓縮通過在將深度緩沖器片中的數(shù)據(jù)寫入外部存儲(chǔ)器前壓縮所述數(shù) 據(jù)而解決此問題。信息隨后通過總線以壓縮形式從芯片發(fā)送,并且也以壓縮形式存儲(chǔ)在外 部存儲(chǔ)器中。在以后階段再次需要片中的深度值時(shí),從外部存儲(chǔ)器中讀取塊的壓縮版本,并 通過總線將其發(fā)送到芯片以用于處理。在此之后,可將數(shù)據(jù)解壓縮之后以未壓縮的形式存 儲(chǔ)在高速緩存中,并且隨后能在芯片中進(jìn)行處理。處理此數(shù)據(jù)后,在將塊從高速緩存發(fā)送到 外部存儲(chǔ)器之前在芯片中再次壓縮塊。由于解壓縮和壓縮的此循環(huán)可對(duì)特定片發(fā)生幾次, 因此期望壓縮是無損失,即,非破壞性的。對(duì)于此的不利方面是不可能完全保證用于無損存 儲(chǔ)數(shù)據(jù)的任何壓縮。因此,必需還具有以非壓縮形式來存儲(chǔ)片的能力。呈現(xiàn)三維圖形時(shí)另一期望特征是對(duì)需要的片的隨機(jī)存取。解決此問題的一種方式 是為每個(gè)片保留足夠大數(shù)量的比特,以便片能夠非壓縮存儲(chǔ)。在此情況下,如果特定片能壓 縮到原大小的50%,則保留存儲(chǔ)的僅一半用于該特定片。芯片上存儲(chǔ)的標(biāo)志可用于指示深 度緩沖器中片是壓縮的還是未壓縮的。備選的是,此標(biāo)志可存儲(chǔ)在外部存儲(chǔ)器中但在芯片 上緩存。上述特征和技術(shù)相當(dāng)于數(shù)據(jù)擴(kuò)展而不是壓縮,因?yàn)橄嗤瑪?shù)量的比特保留用于壓縮 模式和非壓縮模式,并且另外,對(duì)于標(biāo)志必需更多比特。然而,在外部存儲(chǔ)器與芯片上高速 緩存之間傳輸片時(shí),能使用更小的壓縮的大小。因此,雖然存儲(chǔ)器存儲(chǔ)未減少,但存儲(chǔ)器帶 寬使用卻減少了。過去,許多方法已用于深度緩沖器壓縮,包括平面編碼和深度偏移編碼。第一種技 術(shù)假設(shè)片完全由一個(gè)或兩個(gè)三角形覆蓋。由于源于相同三角形的深度值將是共面的,因此, 此類深度值能有效地編碼為平面。對(duì)于此技術(shù)工作的情況下的片,高度壓縮是可能的,但并 非所有片能以此方式壓縮。另一種方法是深度偏移壓縮,該壓縮將一個(gè)或多個(gè)基值編碼, 并且存儲(chǔ)與這些值的每像素偏移。此方法實(shí)現(xiàn)的壓縮率不如平面編碼的那些壓縮率,但能 壓縮更多的片。這兩種方法在 J. Hasselgren 和 T. Akenine-M011er的 “Eff icient Depth BufTerCompression,,(In Proc. Graphics Hardware (2006),103-110 頁)中更詳細(xì)描述,其 全部內(nèi)容由此通過引用結(jié)合于本文中。這些壓縮方案適用于4x4深度值的片,特別是在使用的架構(gòu)允許組合平面編碼和 深度偏移時(shí),因此,對(duì)大多數(shù)片產(chǎn)生一定的壓縮,并且對(duì)一些片產(chǎn)生高壓縮。此方法的問題 在于對(duì)于更大的片大小,如8x8深度值,平均壓縮率降低。此降低未顧及更大的片大小應(yīng)允 許空間冗余的更佳利用的實(shí)際情況,并且實(shí)際上,8x8平面編碼方法為它們能壓縮的塊實(shí)現(xiàn)更佳的壓縮率。對(duì)于性能降低的一個(gè)原因是所做的簡單平面假設(shè)8x8片很少由單個(gè)三角 形覆蓋。適用于多個(gè)三角形的更復(fù)雜方法可能代價(jià)太高而無法實(shí)現(xiàn)。換而言之,設(shè)計(jì)成有 效壓縮4x4片的架構(gòu)在壓縮8x8片時(shí)不是同樣有效。另外,片大小影響遠(yuǎn)多于僅深度緩沖器壓縮,因此,這不僅是選擇導(dǎo)致最佳壓縮率的片大小的問題。因此,將期望提供用于控制深度緩沖器的壓縮、避免上述問題和缺點(diǎn)的裝置、系統(tǒng) 和方法。
發(fā)明內(nèi)容
根據(jù)一示范實(shí)施例,存在一種用于選擇要在深度緩沖器中應(yīng)用的壓縮模式的方法。該方法包括獲得對(duì)應(yīng)于深度緩沖器的片的值;從第一多個(gè)壓縮模式選擇第一壓縮模式; 壓縮片的值,基于第一模式將壓縮的值寫入第一塊,并且使用預(yù)設(shè)數(shù)量的主要比特來存儲(chǔ)與第一模式和第一塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;從第二多個(gè)壓縮模式選擇次要 壓縮模式的集合;確定組成片的多個(gè)子片,壓縮子片的值,基于次要壓縮模式的集合將壓縮 的值寫入第二塊,并且使用相同的預(yù)設(shè)數(shù)量的主要比特來存儲(chǔ)與次要壓縮模式的集合和第 二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;比較片的壓縮大小和子片的壓縮大?。换诒?較的結(jié)果來選取第一模式或次要模式的集合和對(duì)應(yīng)的片大?。灰约皩⑺x擇的壓縮的片或 子片存儲(chǔ)到深度緩沖器中并將與所選取的第一模式或次要壓縮模式的集合或?qū)?yīng)的大小 有關(guān)的信息寫入預(yù)設(shè)數(shù)量的主要比特。根據(jù)另一示范實(shí)施例,存在一種用于選擇將在深度緩沖器中應(yīng)用的壓縮模式的裝 置。該裝置包括配置成獲得對(duì)應(yīng)于深度緩沖器的片的值的輸入端和處理器。處理器配置 成從第一多個(gè)壓縮模式選擇第一壓縮模式,壓縮片的值,基于第一模式將壓縮的值寫入第 一塊,并且將預(yù)設(shè)數(shù)量的主要比特用于存儲(chǔ)與第一模式和第一塊的壓縮大小中的至少一項(xiàng) 有關(guān)的信息,從第二多個(gè)壓縮模式選擇次要壓縮模式的集合,確定組成片的多個(gè)子片,基于 次要壓縮模式的集合將子片的壓縮的值壓縮寫入第二塊,并且將相同的預(yù)設(shè)數(shù)量的主要比 特用于存儲(chǔ)與次要壓縮模式的集合和第二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息,比較片 的壓縮大小和子片的壓縮大小,以及基于比較的結(jié)果來選取第一模式或次要模式的集合和 對(duì)應(yīng)的片大小。該裝置還包括深度緩沖器,該緩沖器配置成存儲(chǔ)與所選取的第一模式或次 要壓縮模式的集合或?qū)?yīng)的片大小有關(guān)的預(yù)設(shè)數(shù)量的主要比特。根據(jù)還有的另一示范實(shí)施例,存在一種存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒 體,其中,所述指令在由處理器執(zhí)行時(shí)促使處理器選擇將在深度緩沖器中應(yīng)用的壓縮模式。 所述指令包括獲得對(duì)應(yīng)于深度緩沖器的片的值,從第一多個(gè)壓縮模式選擇第一壓縮模式, 壓縮片的值,基于第一集合將壓縮的值寫入第一塊,并且將預(yù)設(shè)數(shù)量的主要比特用于存儲(chǔ) 與第一模式和第一塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息,從第二多個(gè)壓縮模式選擇次要 壓縮模式的集合,確定組成片的多個(gè)子片,壓縮子片的值,基于次要壓縮模式的集合將壓縮 的值寫入第二塊,并且將相同的預(yù)設(shè)數(shù)量的主要比特用于存儲(chǔ)與次要壓縮模式的集合和第 二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息,比較片的壓縮大小和子片的壓縮大小,基于比 較的結(jié)果來選取第一模式或次要模式的集合和對(duì)應(yīng)的片大小,以及將所選擇的壓縮的片或 子片存儲(chǔ)到深度緩沖器中并將與所選取的第一模式或次要壓縮模式的集合或?qū)?yīng)的大小 有關(guān)的信息寫入當(dāng)前數(shù)量的主要比特。
結(jié)合在說明書中并構(gòu)成其一部分的附圖示出一個(gè)或多個(gè)實(shí)施例,并與描述一起解 釋這些實(shí)施例。在圖中圖1是根據(jù)一示范實(shí)施例的選擇壓縮模式的裝置的示意圖;圖2是根據(jù)一示范實(shí)施例的示意圖,其示出片、子片和用于表示應(yīng)用的壓縮模式 的預(yù)設(shè)數(shù)量的比特;圖3是示出當(dāng)前數(shù)量的比特如何用于片和子片的示意圖;圖4是根據(jù)一示范實(shí)施例的流程圖,其示出用于選擇壓縮模式的方法的步驟;圖5是根據(jù)另一示范實(shí)施例的流程圖,其示出用于選擇壓縮模式的方法的步驟;圖6是根據(jù)一示范實(shí)施例的圖,其示出各種壓縮技術(shù)的結(jié)果;以及圖7是根據(jù)仍有的另一示范實(shí)施例的流程圖,其示出用于選擇壓縮模式的方法的 步驟。
具體實(shí)施例方式示范實(shí)施例的以下描述參照附圖。不同圖形中的相同引用數(shù)字標(biāo)識(shí)相同或類似的 要素。以下詳細(xì)描述不限制本發(fā)明。相反,本發(fā)明的范圍由隨附權(quán)利要求來定義。為了簡 明,相關(guān)于4x4和8x8片來論述以下實(shí)施例。然而,接下來論述的實(shí)施例不限于這兩個(gè)片大 小,而是可應(yīng)用到本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到的其它片大小。在此方面,還要注意的是,選定 片不必是方形的,它可具有不同形狀。因此,深度緩沖器可保存有關(guān)圖像的信息,并且深度 緩沖器可以顯示區(qū)域來劃分。每個(gè)顯示區(qū)域可以顯示子區(qū)域來劃分。用于顯示區(qū)域或顯示 子區(qū)域的單元是顯示塊。在一個(gè)示范實(shí)施例中,顯示區(qū)域?qū)?yīng)于8x8片,顯示子區(qū)域?qū)?yīng)于 4x4片,并且顯示塊可以是像素。貫穿本說明書對(duì)“一個(gè)實(shí)施例”或“一實(shí)施例”的引用指結(jié)合一實(shí)施例描述的特定 特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在貫穿本說明書的各個(gè)位置中 出現(xiàn)的短語“在一個(gè)實(shí)施例”或“在一實(shí)施例中”不一定全部指相同的實(shí)施例。此外,特定 的特征、結(jié)構(gòu)或特性可在一個(gè)或多個(gè)實(shí)施例中以任何適合的方式來組合。如圖1所示,根據(jù)一示范實(shí)施例,通信裝置10包括經(jīng)總線16連接到存儲(chǔ)器14的 處理器12。處理器配置成執(zhí)行與壓縮和解壓縮視頻數(shù)據(jù)相關(guān)聯(lián)的各種功能。處理器12可 包括用于并行處理的一個(gè)或多個(gè)處理器,并且還可包括用于芯片上高速緩存的存儲(chǔ)器(未 示出)。存儲(chǔ)器14配置成存儲(chǔ)處理器12要求的或產(chǎn)生的數(shù)據(jù)和各種指令。深度緩沖器20 可以是存儲(chǔ)器14的部分,并且配置用于存儲(chǔ)與要在顯示器上表示的每個(gè)像素的深度相關(guān) 聯(lián)的數(shù)據(jù)。圖形處理器單元(GPU) 18可提供用于呈現(xiàn)三維圖形。圖形處理器18可經(jīng)專用 總線19直接從深度緩沖器20讀取數(shù)據(jù)。通信裝置10可包括輸入/輸出接口 22、收發(fā)器 24或用于與其它通信裝置或網(wǎng)絡(luò)通信的其它連接端口。通信可通過有線或無線接口。通信 裝置可包括在其上呈現(xiàn)三維圖形的顯示器26。在一備選實(shí)施例中,深度緩沖器可在另一存 儲(chǔ)器(未示出)中存儲(chǔ),該存儲(chǔ)器可不連接到總線16。相反,另一總線(未示出)可連接此 存儲(chǔ)器與GPU。顯示器26也可連接到此備選總線而不是總線16。根據(jù)一示范實(shí)施例,GPU嘗試將8x8片作為整體來編碼,并且如果該嘗試失敗或
8者為該片使用另一大小更經(jīng)濟(jì),則處理器將8x8片分成四個(gè)4x4片,并且單獨(dú)壓縮這些4x4 片。為了清晰,要理解在此描述中nxn片描述在nxn片中存在n2數(shù)量的顯示塊(例如,像 素),而不是圖像緩沖器包括n2個(gè)片。通過為每個(gè)子片使用多個(gè)比特,用于每個(gè)4x4子片 的壓縮的類型可在芯片上存儲(chǔ)或緩存。不很經(jīng)常發(fā)生的用于4x4子片的壓縮的組合可被丟 棄,并且可用的比特組合可用于指示8x8壓縮方案。組合的此數(shù)量取決于實(shí)現(xiàn)。在一個(gè)示范 實(shí)施例中,丟棄的組合的數(shù)量是二。此技術(shù)導(dǎo)致壓縮率優(yōu)于純4x4方案將實(shí)現(xiàn)的壓縮率,并 且也優(yōu)于純8x8方案將實(shí)現(xiàn)的壓縮率。根據(jù)另一示范實(shí)施例,壓縮8x8片,隨后,無論壓縮 的輸出如何,將8x8片分成四個(gè)4x4片,壓縮對(duì)應(yīng)的4x4片,并且在比較8x8壓縮和4x4壓 縮并決定哪種壓縮更有效以后選擇最終的壓縮。此外,4x4片和8x8片的編碼可同時(shí)或以任 何期望順序來執(zhí)行。在另一示范實(shí)施例中,編程為使用深度緩沖器壓縮的裝置經(jīng)硬連線以 接收一種類型的片(例如,4x4片)作為輸入。因此,此預(yù)編程的裝置可不處理8x8片。然 而,預(yù)編程為處理8x8片的裝置可配置成處理4x4片。換而言之,處理器處理的片的類型取 決于預(yù)編程的輸入的大小,并且處理器可處理預(yù)編程片的子片,而不可處理大于預(yù)編程片 的片。壓縮僅4x4片或僅8x8片的方法一般使用每片兩個(gè)比特來指定使用的壓縮。此數(shù) 量的比特允許四種不同的模式,例如,00、01、10和11。模式之一對(duì)應(yīng)于未壓縮模式,該模式 用于實(shí)現(xiàn)無損壓縮。未壓縮模式指示對(duì)相應(yīng)的片尚未應(yīng)用壓縮。在此方面,圖2示出四個(gè) 片28,每個(gè)具有nxn大小,并且每個(gè)片具有對(duì)應(yīng)的兩個(gè)比特單元A、B、C或D。這兩個(gè)比特 單元的值在圖2中示為是不同的,S卩,00、01、10和11。基于這些組合,8比特值用于指定用 于四個(gè)nxn片中每個(gè)片的壓縮,例如,基本值00、01、10和11的任何組合。幾個(gè)此類示例是 11、11、11、01 或 01、11、10、10。模式中的另一模式一般保留用于清除的片,這允許通過僅設(shè)置所有這些2比特標(biāo) 志值為預(yù)定值而不是重寫緩沖器中的所有值來清除整個(gè)深度緩沖器。這樣,能夠通過僅存 取可在芯片上存儲(chǔ)的標(biāo)志來清除整個(gè)深度緩沖器,而無需執(zhí)行對(duì)外部存儲(chǔ)器的存取。未壓 縮模式和清除的片模式的此選擇留下用于指示深度緩沖器壓縮的另外兩個(gè)模式。根據(jù)一示 范實(shí)施例,剩余的兩個(gè)模式可以是上述“Efficient DepthBuffer Compression”文章中公 開的平面編碼方案和深度偏移方案。根據(jù)另一示范實(shí)施例,可為深度緩沖器壓縮使用其它 模式。 在一個(gè)示范實(shí)施例中,論述了 8x8片的編碼。按每個(gè)8x8片使用八個(gè)主要比特(分 成出自圖2的兩比特矢量A、B、C和D),由此使芯片上總存儲(chǔ)器使用達(dá)到與用于標(biāo)準(zhǔn)4x4方 案的相同的水平。為了論述的簡明,芯片上存儲(chǔ)的比特稱為主要比特,而芯片與外部存儲(chǔ)器 之間傳送的塊中存儲(chǔ)的比特稱為次要比特。塊還可包括有關(guān)圖像數(shù)據(jù)的壓縮數(shù)據(jù)。8x8片 可分成四個(gè)4x4子片,并且主要的八個(gè)比特理解為兩個(gè)比特的四個(gè)集(A、B、C和D),每個(gè)集 指定用于8x8片的一個(gè)4x4子片的壓縮。指示片的壓縮的數(shù)據(jù)現(xiàn)在包括在四個(gè)單獨(dú)的部分 A到D中,并且每個(gè)部分由與4x4情況下使用的壓縮器和解壓縮器相同的壓縮器和解壓縮器 來分別處理。 如果(1)選擇4x4壓縮或者⑵選擇8x8壓縮,則四個(gè)集A、B、C和D需要描述組 成8x8片的四個(gè)4x4子片的壓縮。然而,4x4壓縮要求A到D四個(gè)集的所有可能組合,即, 2k2k2k2k個(gè)組合,其中,k在此示范實(shí)施例中是2。因此,在使用8x8壓縮時(shí),未剩下A到D四個(gè)集的剩余組合。根據(jù)此示范實(shí)施例,此問題通過允許預(yù)定數(shù)量的主要八比特值表示8x8 壓縮算法而不是4x4算法的組合來解決。預(yù)定數(shù)量至少是1,并且對(duì)于此特定示例更優(yōu)選是 2。因此,2k2k2k2k個(gè)可能組合分成用于指示4x4壓縮的2k2k2k2k_2個(gè)組合和用于指示8x8壓 縮的2個(gè)組合。在另一示范實(shí)施例中,如果緩沖器分成具有不同數(shù)量的可用壓縮模式的片, 則組合的數(shù)量可以是2kl2k22k32k4,其中,kl到k4是整數(shù)。在此示范實(shí)施例中,此數(shù)量的組合 存儲(chǔ)在主要比特中。根據(jù)另一示范實(shí)施例,片的大小大于8x8,并因而可能需要更多的壓縮 模式。因此,組合的數(shù)量可以是2kl2k22k3...2kn,其中,n “i”是大于2的整數(shù)。圖3中示出的示例用于說明此方法。圖3中示出的數(shù)量是說明性的,并且并非旨 在限制本發(fā)明的實(shí)施例。假設(shè)8x8片30 (S卩,具有64個(gè)像素的片)可編碼為四個(gè)4x4片28 或單個(gè)8x8片30。如果該片使用4x4片來編碼,則編碼的一個(gè)可能組合32是11、01、01和 10。假設(shè)此編碼組合32確定為在壓縮實(shí)際片時(shí)最少發(fā)生的組合。由于在片中的像素之間 存在相關(guān),因此,某些組合的頻率小于其它組合的頻率,并且因而在執(zhí)行編碼時(shí)并非所有組 合均等出現(xiàn)。最少發(fā)生的那些組合可不用于4x4子片,而只用于指示應(yīng)用到8x8片的壓縮。 更具體地說,在圖3中示出的示例的上下文中,不允許組合32表示4x4壓縮,而是表示8x8 壓縮。這意味著在壓縮器確定四個(gè)4x4片如組合32所指示來壓縮時(shí),該壓縮不被允許,而是 如組合36中所示將一個(gè)子片(例如對(duì)應(yīng)于D)更改為未壓縮(0,0)。在足夠的存儲(chǔ)器(芯 片上或芯片的外部)指派用于以未壓縮形式存儲(chǔ)對(duì)應(yīng)于圖像的數(shù)據(jù)時(shí),此操作是可能的。根據(jù)此示范實(shí)施例,不允許4x4片的預(yù)定組合,并且在發(fā)生時(shí),它們被修改,例如, 將一個(gè)子片更改為未壓縮。禁止的組合32用作用于指示單個(gè)8x8片的壓縮模式的組合34。 以此方式,如果壓縮器和解壓縮器注意到不允許用于4x4壓縮但允許用于8x8壓縮的預(yù)定 組合,則4x4和8x8兩種片的壓縮能通過相同的主要8比特組合32來實(shí)現(xiàn)而無需添加更多 的主要比特。對(duì)于4x4壓縮的禁止組合32的數(shù)量基于8x8壓縮模式的期望數(shù)量來確定,例 如二。因此,4x4和8x8壓縮均可使用相同的主要8比特集來實(shí)現(xiàn)。上述方法可通過實(shí)現(xiàn)8x8和4x4兩種算法而在硬件中實(shí)現(xiàn)。另外,該方法要求比 現(xiàn)有8x8壓縮方案更多的芯片上存儲(chǔ)器,這是因?yàn)?x8壓縮方案只需要兩個(gè)主要比特來指 示兩種壓縮模式,而此方法使用8個(gè)主要比特。如果主要比特是昂貴的,即,芯片上空間有 限,則主要比特的數(shù)量增加到8可能是個(gè)問題。這能夠通過讓模式不僅依賴標(biāo)志比特(主 要比特)而且依賴芯片與外部存儲(chǔ)器之間傳遞的實(shí)際塊(次要比特)中存儲(chǔ)的信息而做出 部分補(bǔ)救。根據(jù)另一示范實(shí)施例,論述了使用更少主要比特的用于在深度緩沖器中壓縮和解 壓縮圖像數(shù)據(jù)的方法。在此示范實(shí)施例中,主要比特的數(shù)量相對(duì)于前一實(shí)施例減少了,并且 次要比特用于說明減少數(shù)量的主要比特。為了最好地理解此實(shí)施例,提供了一個(gè)特殊示例。 然而,此特殊示例并非旨在限制本發(fā)明,而只是要闡明本發(fā)明。壓縮塊的大小可始終由例如 128除盡。如果對(duì)于像素24個(gè)比特是必需的,并且在片中有8乘8個(gè)像素,則未壓縮片可包 括例如24乘8乘8 = 1536個(gè)比特。因此,如果壓縮片的大小可由128除盡,則可能的大小 將為0、128、256、384、.、1536個(gè)比特。因此,對(duì)于壓縮8x8片將有13個(gè)可能大小,并且由 于四比特值可保存16個(gè)不同值,因此,四比特值可適合于描述這13個(gè)大小。通過將例如四 比特存儲(chǔ)為芯片上的主要四比特值以指定壓縮片的大小,存儲(chǔ)器的正確量能通過總線來傳 遞。
然而,為了保持主要比特在減少的水平(因?yàn)樗鼈儗?duì)于在芯片上存儲(chǔ)是昂貴的) 并且能夠解壓縮片,指示使用了哪些壓縮算法的8比特信息(前面實(shí)施例中的主要比特以 及此實(shí)施例中的次要比特)需要被存儲(chǔ)并與壓縮數(shù)據(jù)一起傳遞而不是在芯片上存儲(chǔ)它們。
這意味著實(shí)際塊(即,包含壓縮的圖像數(shù)據(jù)的信息)大小是8、136、264、392.....1542個(gè)比
特,即,額外的8個(gè)比特添加到每個(gè)塊。然而,對(duì)于最小塊大小,所有子塊必須清除,并且因 此用于此大小的比特組合是已知的。因此,無需在塊中存儲(chǔ)該信息。此外,對(duì)于最大塊大小, 所有子塊是“未壓縮的”,因此,在此情況下,也無需將任何額外的比特與壓縮塊一起存儲(chǔ)。 因此,13個(gè)大小可以是0、136、264、392、520、648、776、904、1032、1160、1288、1416及 1536個(gè) 比特。根據(jù)此示范實(shí)施例,主要比特(不限于四)在芯片上存儲(chǔ),并且它們指示芯片與外 部存儲(chǔ)器之間交換的塊的大小,并且次要比特(不限于八)在芯片外存儲(chǔ),即,在例如外部 存儲(chǔ)器中存儲(chǔ),并且它們包含指示用于子片的壓縮模式的組合或用于整個(gè)片的單個(gè)壓縮模 式所需的任何額外信息。此外,在64比特總線上,取192(64x3)比特查可如取136比特一樣容易得到。在 此類情況下,大小可轉(zhuǎn)而選擇為 0、192、320、448、576、704、832、960、1088、1216、1344、1472、 1536,并且56個(gè)額外比特能在4x4壓縮模式之間劃分,例如,每個(gè)模式中使用14個(gè)額外比 特。由于主要四個(gè)標(biāo)志比特能表示16個(gè)不同模式,并且只使用13個(gè)模式,因此,在一備選 實(shí)施例中,剩余模式的一個(gè)或多個(gè)能表示8x8模式。這樣,在4x4模式中無需禁止組合。在 仍有的一備選實(shí)施例中,主要標(biāo)志比特能用于在不同大小的一些模式之間進(jìn)行區(qū)分,但確 定確切模式有時(shí)需要片中存儲(chǔ)的其它比特。例如,主要標(biāo)志比特能指示大小為768的兩種 類型的片。對(duì)于類型之一,無需額外的比特便可知道它是什么模式。對(duì)于另一類型,塊中存 儲(chǔ)的一個(gè)額外比特可在兩個(gè)不同模式之間進(jìn)行區(qū)分。根據(jù)一示范實(shí)施例,4x4壓縮模式可以是⑴未壓縮的、⑵清除的片、(3) Hasselgren的雙平面模式,以及⑷也在Hasselgren中描述的16比特深度偏移模式。在一備選實(shí)施例中,4x4壓縮模式可以是(1)未壓縮的、(2)Hasselgren的雙平面 模式和(3)也在Hasselgren中描述的16比特深度偏移模式。以此方式,存在4x4壓縮的 3x3x3x3 = 81個(gè)組合,并且7個(gè)主要標(biāo)志比特將足以描述這些壓縮模式。注意,在此實(shí)施 例中,不能清除4x4片,因此,添加8x8清除模式可以是有利的。還要注意的是,在此實(shí)施例 中,在用完這七個(gè)標(biāo)志比特提供的可能的128個(gè)組合之前表示幾個(gè)8x8模式是可能的。根據(jù)一示范實(shí)施例,將對(duì)應(yīng)于用于四個(gè)4x4子片的最少使用的壓縮模式的兩個(gè)八 比特值保留用于一個(gè)8x8片的兩個(gè)壓縮模式。在此示范實(shí)施例中,兩個(gè)八比特值是對(duì)應(yīng)于 未壓縮的兩個(gè)子片、清除的一個(gè)子片和通過深度偏移來壓縮的一個(gè)子片的那些值。這兩個(gè) 八位比特值轉(zhuǎn)而用于指示單個(gè)8x8片已壓縮,例如,通過Hasselgren的單平面或雙平面模 式來壓縮。需要?jiǎng)澐殖?x4子片并將由那些禁止值之一來表示的片可使將通過深度偏移來 壓縮的子片轉(zhuǎn)而保持未壓縮。根據(jù)圖4中所示的一示范實(shí)施例,在必須壓縮8x8片時(shí),在步驟40中應(yīng)用8x8壓 縮。在步驟42中評(píng)估壓縮。如果壓縮成功,則8x8編碼在步驟44中執(zhí)行,并且過程結(jié)束。 如果壓縮失敗(即,未實(shí)現(xiàn)使用的比特的數(shù)量減少)或者由于其它原因,壓縮未令人滿意, 則在步驟46中將8x8片分成四個(gè)4x4片,并且在步驟48中應(yīng)用4x4壓縮。在此步驟后,用于初始片的壓縮過程結(jié)束。根據(jù)圖5中所示的另一實(shí)施例,使用8x8模式在步驟50中壓縮初始8x8片。隨后, 在步驟52中將片分成四個(gè)4x4片,并且在步驟54中使用4x4模式壓縮每個(gè)片。步驟50和 54的順序可顛倒,或者步驟50和54可并行執(zhí)行。在步驟56中比較兩個(gè)壓縮的效率,并且 在步驟58中基于更有效的壓縮來選擇實(shí)際壓縮。在此方面,圖6示出此示范方法實(shí)現(xiàn)優(yōu)于純4x4壓縮和純8x8壓縮的壓縮。圖6 中所示測(cè)試在簡單的測(cè)試場(chǎng)景上做出,并且測(cè)試在改變的分辨率做出。改變分辨率相當(dāng)于 更改每片的三角形的平均量,并且應(yīng)類似于更改正在呈現(xiàn)的場(chǎng)景的復(fù)雜度。圖6的結(jié)果顯 示無論場(chǎng)景復(fù)雜度如何,該新穎的技術(shù)優(yōu)于現(xiàn)有技術(shù)大約15-30%。根據(jù)圖7中所示的一示范實(shí)施例,存在一種用于選擇要在深度緩沖器中應(yīng)用的壓 縮模式的方法。該方法包括獲得對(duì)應(yīng)于深度緩沖器的片的值的步驟702,從第一多個(gè)壓縮模 式選擇第一壓縮模式的步驟702,壓縮片的值、基于第一模式將壓縮的值寫入第一塊、并且 使用預(yù)設(shè)數(shù)量的主要比特來存儲(chǔ)與第一模式和第一塊的壓縮大小中的至少一項(xiàng)有關(guān)的信 息的步驟704,從第二多個(gè)壓縮模式選擇次要壓縮模式的集合的步驟706,確定組成片的多 個(gè)子片,壓縮子片的值、基于次要壓縮模式的集合將壓縮的值寫入第二塊、并且使用相同預(yù) 設(shè)數(shù)量的主要比特來存儲(chǔ)與次要壓縮模式的集合和第二塊的壓縮大小中的至少一項(xiàng)有關(guān) 的信息的步驟708,比較片的壓縮大小和子片的壓縮大小的步驟710,基于比較的結(jié)果來選 取第一模式或次要模式的集合和對(duì)應(yīng)的片大小的步驟712,以及將選定的壓縮片或子片存 儲(chǔ)到深度緩沖器中并將與所選取的第一模式或次要壓縮模式的集合或?qū)?yīng)大小有關(guān)的信 息寫入預(yù)設(shè)數(shù)量的主要比特的步驟714。因此,至少一種上述方法通過壓縮交換的數(shù)據(jù)而減少了帶寬使用,這使得不但降 低了存儲(chǔ)器業(yè)務(wù)作為性能瓶頸的風(fēng)險(xiǎn),而且減少了裝置中的功耗和熱生成,這對(duì)于移動(dòng)裝 置和其它電池供電裝置特別有用。所公開的示范實(shí)施例提供用于選擇要在深度緩沖器或類似裝置中應(yīng)用的壓縮模 式的裝置、方法和計(jì)算機(jī)程序產(chǎn)品。應(yīng)理解,此描述并非旨在限制本發(fā)明。相反,示范實(shí)施例 旨在涵蓋如隨附權(quán)利要求定義的本發(fā)明的精神和范圍中包括的備選、修改和等效物。此外, 在示范實(shí)施例的詳細(xì)描述中,陳述了許多特定的細(xì)節(jié)以便提供所要求權(quán)利的發(fā)明的全面理 解。然而,本領(lǐng)域的技術(shù)人員將理解,在無此類特定細(xì)節(jié)的情況下可實(shí)踐各種實(shí)施例。正如本領(lǐng)域的技術(shù)人員還將理解的,示范實(shí)施例可在無線通信裝置、計(jì)算機(jī)系統(tǒng) 中實(shí)施為方法,或者在計(jì)算機(jī)程序產(chǎn)品中實(shí)施。示范實(shí)施例可備選地在另一電池供電的裝 置中實(shí)施,如手持式游戲控制臺(tái),或者在網(wǎng)絡(luò)供電的裝置中實(shí)施,如PC或固定游戲控制臺(tái)。 因此,示范實(shí)施例可采用完全硬件實(shí)施例或組合硬件和軟件方面的實(shí)施例的形式。此外,示 范實(shí)施例可采用計(jì)算機(jī)可讀存儲(chǔ)媒體上存儲(chǔ)的計(jì)算機(jī)程序產(chǎn)品的形式,所述媒體具有在該 媒體中實(shí)施的計(jì)算機(jī)可讀指令??衫萌魏魏线m的計(jì)算機(jī)可讀媒體,包括硬盤、CD-ROM、數(shù) 字多功能光盤(DVD)、光存儲(chǔ)裝置或磁存儲(chǔ)裝置(如軟盤或磁帶)。計(jì)算機(jī)可讀媒體的其它 非限制性示例包括閃存類型的存儲(chǔ)器或其它已知存儲(chǔ)器。示范實(shí)施例還可在專用集成電路(ASIC)或數(shù)字信號(hào)處理器中實(shí)現(xiàn)。合適的處理 器包括(通過示例的方式)通用處理器、專用處理器、常規(guī)處理器、數(shù)字信號(hào)處理器(DSP)、 多個(gè)微處理器、與DSP核相關(guān)聯(lián)的一個(gè)或多個(gè)微處理器、控制器、微控制器、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)電路、任何其它類型的集成電路(IC)和/或狀態(tài)機(jī)。與 軟件相關(guān)聯(lián)的處理器可用于實(shí)現(xiàn)在用戶終端、基站或任何主機(jī)中使用的射頻收發(fā)器。用戶 終端可與硬件和/或軟件中實(shí)現(xiàn)的模塊結(jié)合使用,如攝像機(jī)、視頻攝像機(jī)模塊、視頻電話、 揚(yáng)聲器電話、振動(dòng)裝置、揚(yáng)聲器、麥克風(fēng)、電視收發(fā)器、免提耳機(jī)、鍵盤、藍(lán)牙模塊、調(diào)頻(FM) 無線電單元、液晶顯示器(LCD)顯示器單元、有機(jī)發(fā)光二極管(0LED)顯示器單元、數(shù)字音樂 播放器、媒體播放器、視頻游戲播放器模塊、因特網(wǎng)瀏覽器和/或任何無線局域網(wǎng)(WLAN)模 塊。 雖然提出的示范實(shí)施例的特征和要素在實(shí)施例中以特定組合來描述,但每個(gè)特征 或要素可單獨(dú)使用而無需實(shí)施例的其它特征和要素,或者與或不與本文公開的其它特征和 要素進(jìn)行各種組合來使用。本申請(qǐng)中提供的方法或流程圖可在計(jì)算機(jī)可讀媒體中有形實(shí)施 的計(jì)算機(jī)程序、軟件或固件中實(shí)現(xiàn)以用于由通用計(jì)算機(jī)或處理器執(zhí)行。
權(quán)利要求
一種用于選擇將在深度緩沖器(20)中應(yīng)用的壓縮模式的方法,所述方法包括獲得對(duì)應(yīng)于所述深度緩沖器(20)的片(30)的值;從第一多個(gè)壓縮模式選擇第一壓縮模式(34);壓縮所述片(30)的值,基于所述第一模式(34)將所壓縮的值寫入第一塊,并且使用預(yù)設(shè)數(shù)量的主要比特(34)來存儲(chǔ)與所述第一模式(34)和所述第一塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;從第二多個(gè)壓縮模式選擇次要壓縮模式(32)的集合;確定組成所述片(30)的多個(gè)子片(28),壓縮所述子片的值,基于次要壓縮模式(32)的所述集合將所壓縮的值寫入第二塊,并且使用相同的預(yù)設(shè)數(shù)量的主要比特(34)來存儲(chǔ)與次要壓縮模式(32)的所述集合和所述第二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;比較所述片(30)的壓縮大小和所述子片(28)的壓縮大??;基于所述比較的結(jié)果來選取所述第一模式(34)或次要模式(32)的所述集合和對(duì)應(yīng)的片大?。灰约皩⑺x擇的壓縮的片或子片存儲(chǔ)到所述深度緩沖器(20)中并將與所選取的第一模式(34)或次要壓縮模式(32)的集合或?qū)?yīng)的大小有關(guān)的信息寫入所述預(yù)設(shè)數(shù)量的主要比特(34)。
2.如權(quán)利要求1所述的方法,其中每個(gè)子片包括4X4個(gè)像素,并且所述片包括8X8個(gè)像素。
3.如權(quán)利要求1所述的方法,其中主要比特的所述預(yù)設(shè)數(shù)量是4或8。
4.如權(quán)利要求1所述的方法,其中所述第二多個(gè)壓縮模式包括未壓縮的、清除的、雙平 面和深度偏移模式。
5.如權(quán)利要求1所述的方法,其中所述預(yù)設(shè)數(shù)量的主要比特足以只表示對(duì)應(yīng)于所述子 片的壓縮模式的某些組合。
6.如權(quán)利要求1所述的方法,其中所述第一多個(gè)壓縮模式包括單平面和雙平面模式。
7.如權(quán)利要求1所述的方法,還包括為所述預(yù)設(shè)數(shù)量的主要比特指派值的k個(gè)集合以用于指示所述片的壓縮模式,并且為 所述預(yù)設(shè)數(shù)量的主要比特指派值的2kl2k22k3. . . 2to-k個(gè)集合以用于指示所述子片的壓縮模 式,其中k、kl、k2、k3、kn和η是整數(shù)。
8.如權(quán)利要求1所述的方法,還包括防止對(duì)應(yīng)于具有最少出現(xiàn)的組合的子片的壓縮模式的組合;以及指派表示這些組合的比特組合轉(zhuǎn)而表示整個(gè)片的壓縮模式。
9.如權(quán)利要求8所述的方法,其中所述子片的壓縮模式的所防止的組合當(dāng)發(fā)生時(shí)通過 將每個(gè)防止的組合中的一個(gè)壓縮模式更改為另一模式來修改。
10.如權(quán)利要求1所述的方法,其中所述比較的結(jié)果與所述片和子片的壓縮的最大百 分比相關(guān)聯(lián)。
11.如權(quán)利要求1所述的方法,其中每個(gè)步驟由處理器來執(zhí)行。
12.如權(quán)利要求11所述的方法,其中所述預(yù)設(shè)數(shù)量的主要比特存儲(chǔ)在所述處理器中。
13.如權(quán)利要求1所述的方法,還包括在所述預(yù)設(shè)數(shù)量的主要比特中存儲(chǔ)所述第一或第二壓縮的塊的大小。
14.如權(quán)利要求1所述的方法,還包括在不同于所述預(yù)設(shè)數(shù)量的主要比特的預(yù)設(shè)數(shù)量的次要比特中,存儲(chǔ)與所選取的第一模 式或次要壓縮模式的集合有關(guān)的信息。
15.如權(quán)利要求14所述的方法,其中所述預(yù)設(shè)數(shù)量的次要比特存儲(chǔ)在所述第一和第二 壓縮的塊中的至少一個(gè)中。
16.如權(quán)利要求14所述的方法,其中所述預(yù)設(shè)數(shù)量的主要比特存儲(chǔ)在處理器中,并且 所述預(yù)設(shè)數(shù)量的次要比特存儲(chǔ)在所述處理器外部的存儲(chǔ)器中。
17.一種用于選擇將在深度緩沖器(20)中應(yīng)用的壓縮模式的裝置(10),所述裝置包括輸入端(22),配置成獲得對(duì)應(yīng)于所述深度緩沖器(20)的片(30)的值; 處理器(12),配置成從第一多個(gè)壓縮模式選擇第一壓縮模式(34),壓縮所述片(30)的值,基于所述第一模式(34)將所壓縮的值寫入第一塊,并且將預(yù)設(shè) 數(shù)量的主要比特(34)用于存儲(chǔ)與所述第一模式和所述第一塊的壓縮大小中的至少一項(xiàng)有 關(guān)的信息,從第二多個(gè)壓縮模式選擇次要壓縮模式(32)的集合,確定組成所述片(30)的多個(gè)子片(28),基于次要壓縮模式(32)的所述集合將所述子 片的所壓縮的值壓縮寫入第二塊,并且將相同的預(yù)設(shè)數(shù)量的主要比特(34)用于存儲(chǔ)與次 要壓縮模式(32)的所述集合和所述第二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息, 比較所述片(30)的壓縮大小和所述子片(28)的壓縮大小,以及 基于所述比較的結(jié)果來選取所述第一模式(34)或次要模式(32)的所述集合和對(duì)應(yīng)的 片大小;以及所述深度緩沖器(20)配置成存儲(chǔ)與所選取的第一模式(34)或次要壓縮模式(32)的 所述集合或所述對(duì)應(yīng)的片大小有關(guān)的所述預(yù)設(shè)數(shù)量的主要比特(34)。
18.如權(quán)利要求17所述的裝置,其中每個(gè)子片包括4X4個(gè)像素,并且所述片包括8X8 個(gè)像素。
19.如權(quán)利要求17所述的裝置,其中主要比特的所述預(yù)設(shè)數(shù)量是4或8。
20.如權(quán)利要求17所述的裝置,其中所述第二多個(gè)壓縮模式包括未壓縮的、清除的、雙 平面和深度偏移模式。
21.如權(quán)利要求17所述的裝置,其中所述預(yù)設(shè)數(shù)量的主要比特足以只表示對(duì)應(yīng)于所述 子片的壓縮模式的組合。
22.如權(quán)利要求17所述的裝置,其中所述第一多個(gè)壓縮模式包括單平面和雙平面模式。
23.如權(quán)利要求17所述的裝置,其中所述處理器還配置成為所述預(yù)設(shè)數(shù)量的主要比特指派值的k個(gè)集合以用于指示所述片的壓縮模式,并且為 所述預(yù)設(shè)數(shù)量的主要比特指派值的2kl2k22k3. . . 2to-k個(gè)集合以用于指示所述子片的壓縮模 式,其中k、kl、k2、k3、k4和η是整數(shù)。
24.如權(quán)利要求17所述的裝置,其中所述處理器還配置成防止對(duì)應(yīng)于具有最低出現(xiàn)的兩個(gè)組合的子片的壓縮模式的組合;以及將所述兩個(gè)組合指派到所述片的壓縮模式。
25.如權(quán)利要求24所述的裝置,其中所述處理器還配置成當(dāng)發(fā)生時(shí),通過將每個(gè)防止的組合中的一個(gè)壓縮模式更改為未壓縮模式來修改所述子 片的壓縮模式的所防止的組合。
26.如權(quán)利要求24所述的裝置,其中所述比較的結(jié)果與所述片和子片的壓縮的最大百 分比相關(guān)聯(lián)。
27.如權(quán)利要求17所述的裝置,其中所述預(yù)設(shè)數(shù)量的主要比特存儲(chǔ)在所述處理器中。
28.如權(quán)利要求17所述的裝置,其中所述預(yù)設(shè)數(shù)量的主要比特存儲(chǔ)所述第一和/或第 二壓縮的塊的大小。
29.如權(quán)利要求17所述的裝置,其中不同于當(dāng)前數(shù)量的主要比特的預(yù)設(shè)數(shù)量的次要比 特存儲(chǔ)與所選取的壓縮模式的集合有關(guān)的信息。
30.如權(quán)利要求29所述的裝置,其中所述預(yù)設(shè)數(shù)量的次要比特存儲(chǔ)在所述第一和第二 壓縮的塊中的至少一個(gè)中。
31.如權(quán)利要求29所述的裝置,還包括所述處理器外部的存儲(chǔ)器,其中所述預(yù)設(shè)數(shù)量的主要比特存儲(chǔ)在所述處理器中,并且所述預(yù)設(shè)數(shù)量的次要比特存 儲(chǔ)在所述存儲(chǔ)器中。
32.—種存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀媒體,其中所述指令在由處理器執(zhí)行時(shí) 促使所述處理器選擇將在深度緩沖器(20)中應(yīng)用的壓縮模式,所述指令包括獲得對(duì)應(yīng)于所述深度緩沖器(20)的片(30)的值;從第一多個(gè)壓縮模式選擇第一壓縮模式(34);壓縮所述片(30)的值,基于所述第一模式(34)將所壓縮的值寫入第一塊,并且將預(yù)設(shè) 數(shù)量的主要比特(34)用于存儲(chǔ)與所述第一模式(34)和所述第一塊的壓縮大小中的至少一 項(xiàng)有關(guān)的信息;從第二多個(gè)壓縮模式選擇次要壓縮模式(32)的集合;確定組成所述片(30)的多個(gè)子片(28),壓縮所述子片的值,基于次要壓縮模式(32)的 所述集合將所壓縮的值寫入第二塊,并且將相同的預(yù)設(shè)數(shù)量的主要比特(34)用于存儲(chǔ)與 次要壓縮模式(32)的所述集合和所述第二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;比較所述片(30)的壓縮大小和所述子片(28)的壓縮大?。换谒霰容^的結(jié)果來選取所述第一模式(34)或次要模式(32)的所述集合和對(duì)應(yīng)的 片大?。灰约皩⑺x擇的壓縮的片或子片存儲(chǔ)到所述深度緩沖器(20)中并將與所選取的第一模式 (34)或次要壓縮模式(32)的所述集合或?qū)?yīng)的大小有關(guān)的信息寫入當(dāng)前數(shù)量的主要比特 (34)。
全文摘要
用于選擇要在深度緩沖器(20)中應(yīng)用的壓縮模式的裝置、計(jì)算機(jī)可讀媒體和方法。方法包括獲得對(duì)應(yīng)于深度緩沖器(20)的片(30)的值;從第一多個(gè)壓縮模式選擇第一壓縮模式(34);壓縮片(30)的值,基于第一模式(34)將壓縮的值寫入第一塊,并且使用預(yù)設(shè)數(shù)量的主要比特(34)存儲(chǔ)與第一模式(34)和第一塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;從第二多個(gè)壓縮模式選擇次要壓縮模式(32)的集合;確定組成片(30)的多個(gè)子片(28),壓縮子片的值,基于次要模式(32)的集合將壓縮的值寫入第二塊,并且使用相同的預(yù)設(shè)數(shù)量的主要比特(34)存儲(chǔ)與次要模式(32)的集合和第二塊的壓縮大小中的至少一項(xiàng)有關(guān)的信息;比較片(30)的壓縮大小和子片(28)的壓縮大??;基于比較的結(jié)果來選取第一模式(34)或次要模式(32)的集合和對(duì)應(yīng)的片大??;以及將選定的壓縮的片或子片存儲(chǔ)到深度緩沖器(20)中并將與所選取的第一模式(34)或次要壓縮模式(32)的集合或?qū)?yīng)的大小有關(guān)的信息寫入預(yù)設(shè)數(shù)量的主要比特(34)。
文檔編號(hào)G06T15/40GK101802872SQ200880107297
公開日2010年8月11日 申請(qǐng)日期2008年9月12日 優(yōu)先權(quán)日2007年9月12日
發(fā)明者J·斯特倫, P·溫納斯坦 申請(qǐng)人:愛立信電話股份有限公司