国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于預(yù)測(cè)的圖像處理的制作方法

      文檔序號(hào):6479431閱讀:222來(lái)源:國(guó)知局

      專(zhuān)利名稱::基于預(yù)測(cè)的圖像處理的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明總體涉及圖像處理,具體涉及圖像塊的基于預(yù)測(cè)的壓縮和解壓縮。
      背景技術(shù)
      :為了提高圖形處理單元(GPU)的性能,采用存儲(chǔ)器帶寬減小技術(shù)。一種減小帶寬要求的方式是執(zhí)行所謂的緩沖器壓縮。典型地,圖形系統(tǒng)使用兩個(gè)緩沖器顏色緩沖器,其中繪出像素的顏色;以及深度緩沖器,其中存儲(chǔ)每個(gè)像素的深度。在進(jìn)行呈現(xiàn)時(shí),對(duì)這些緩沖器進(jìn)行讀取和寫(xiě)入,并且通常針對(duì)兩個(gè)緩沖器多次訪問(wèn)相同像素。這些讀寫(xiě)訪問(wèn)在能量方面代價(jià)較大,因此應(yīng)當(dāng)保持為最少,尤其是對(duì)于具有有限電源的用戶終端,如移動(dòng)設(shè)備。緩沖器壓縮意味著緩沖器數(shù)據(jù)塊以壓縮形式存儲(chǔ)在存儲(chǔ)器中。由于對(duì)于特定像素和塊,解壓縮和壓縮可能多次進(jìn)行,因此壓縮無(wú)損(即無(wú)破壞性)是很重要的。文獻(xiàn)[1]和[2]分別給出了對(duì)現(xiàn)有技術(shù)顏色緩沖器壓縮和深度緩沖器壓縮的良好概述。仍然需要高效的深度緩沖器壓縮/解壓縮算法,尤其是可以有效地用于處理深度緩沖器值屬于不同深度值平面的像素塊的這種算法。
      發(fā)明內(nèi)容本發(fā)明克服了現(xiàn)有技術(shù)配置中的這些和其他缺陷。本發(fā)明的總體目的是提供像素塊的高效壓縮和解壓縮。本發(fā)明的另一目的是提供用于深度緩沖器值的壓縮和解壓縮。這些和其他目的是通過(guò)由所附專(zhuān)利權(quán)利要求所限定的本發(fā)明來(lái)實(shí)現(xiàn)的。簡(jiǎn)而言之,本發(fā)明涉及具有相關(guān)聯(lián)深度緩沖器值的像素塊的壓縮和解壓縮。壓縮涉及針對(duì)像素塊選擇起始深度值,優(yōu)選地選擇為塊中預(yù)定位置處的像素的深度值。起始深度值被認(rèn)為包括在起始深度值平面中。針對(duì)像素塊選擇存在于重新起始深度值平面中的重新起始深度值,優(yōu)選地選擇為塊中所標(biāo)識(shí)的像素的深度值。此外,產(chǎn)生針對(duì)塊中像素的相應(yīng)平面表示,其中這些表示可以被認(rèn)為指示了像素屬于哪個(gè)起始平面和重新起始平面。平面表示用于選擇像素集合,針對(duì)要壓縮的像素,所述像素集合包括塊中的至少一個(gè)其他像素。優(yōu)選地,所述集合包括塊中沿一個(gè)或多個(gè)預(yù)測(cè)方向的一個(gè)或多個(gè)先前像素。所述像素集合中的所述至少一個(gè)像素的深度值用于確定當(dāng)前像素的深度值的預(yù)測(cè)。然后,基于所確定的預(yù)測(cè)和像素的深度值來(lái)計(jì)算預(yù)測(cè)誤差,優(yōu)選地計(jì)算為其間的差值。對(duì)預(yù)測(cè)進(jìn)行編碼以獲得編碼的預(yù)測(cè)誤差。像素塊的壓縮表示包括這些編碼的預(yù)測(cè)誤差以及起始值和重新起始值的表示,優(yōu)選地包括平面表示。在解壓縮期間,基于壓縮塊中包括的起始值表示,針對(duì)像素塊提供起始深度值。該起始深度值被分配為在塊中預(yù)定位置處的像素的深度值。相應(yīng)地,基于壓縮塊中包括的信息來(lái)提供重新起始深度值,所述重新起始深度值被分配為塊中所標(biāo)識(shí)的像素的深度值。對(duì)壓縮塊中包括的與像素相關(guān)聯(lián)的、編碼的預(yù)測(cè)誤差表示進(jìn)行解碼,以獲得該像素的預(yù)測(cè)誤差。檢索優(yōu)選包括在壓縮塊中的、塊中像素的平面表示,并將其用于選擇塊中的至少一個(gè)其他像素以構(gòu)成所述像素的像素集合?;谒鱿袼丶现械乃鲋辽僖粋€(gè)像素的深度值來(lái)確定所述像素的預(yù)測(cè)。通過(guò)根據(jù)所確定的預(yù)測(cè)和解碼后的預(yù)測(cè)誤差來(lái)計(jì)算像素的深度值,來(lái)對(duì)像素進(jìn)行解碼。本發(fā)明還涉及一種壓縮系統(tǒng)和解壓縮系統(tǒng)。本發(fā)明防止預(yù)測(cè)超過(guò)平面邊界的深度值,從而向塊中的像素提供了良好的預(yù)測(cè)候選,因此提供了高效的像素壓縮和解壓縮。通過(guò)閱讀本發(fā)明的實(shí)施例的以下描述,將認(rèn)識(shí)到本發(fā)明提供的其他優(yōu)點(diǎn)。通過(guò)結(jié)合附圖,參考以下描述,可以最好地理解本發(fā)明及其另外的目的和優(yōu)點(diǎn),附圖中圖1是根據(jù)本發(fā)明的塊壓縮方法的實(shí)施例的流程圖;圖2是可用于本發(fā)明中的像素塊的示例的示意;圖3示意性示出了使用整數(shù)作為浮點(diǎn)數(shù)的表示;圖4是示意了圖1的壓縮方法的附加步驟的流程圖;圖5是示意了根據(jù)本發(fā)明實(shí)施例的平面表示產(chǎn)生步驟的流程圖;圖6是更詳細(xì)示意了確定圖6中的編碼的誤差表示的步驟的實(shí)施例的流程圖;圖7A和7B是更詳細(xì)示意了圖1或9中的集合選擇和預(yù)測(cè)提供步驟的實(shí)施例的流程圖;圖8是像素塊的壓縮表示的示例的示意;圖9是根據(jù)本發(fā)明的塊解壓縮方法的實(shí)施例的流程圖;圖10是示意了圖9的解壓縮方法的附加步驟的流程圖;圖11是可以對(duì)其應(yīng)用本發(fā)明教導(dǎo)的深度緩沖器架構(gòu)的示意框圖;圖12是根據(jù)本發(fā)明實(shí)施例的壓縮系統(tǒng)的示意框圖;圖13是根據(jù)本發(fā)明實(shí)施例的圖12中的重新起始選擇器的示意框圖;圖14是根據(jù)本發(fā)明實(shí)施例的圖12中的平面產(chǎn)生器確定器的示意框圖;圖15是根據(jù)本發(fā)明實(shí)施例的圖12中的預(yù)測(cè)提供器的示意框圖;圖16是根據(jù)本發(fā)明實(shí)施例的圖12中的表示確定器的示意框圖;圖17是根據(jù)本發(fā)明實(shí)施例的解壓縮系統(tǒng)的示意框圖;圖18是根據(jù)本發(fā)明實(shí)施例的圖17中的誤差確定器的示意框圖;圖19是根據(jù)本發(fā)明實(shí)施例的圖17中的預(yù)測(cè)提供器的示意框圖;以及圖20是對(duì)本發(fā)明的壓縮性能與現(xiàn)有技術(shù)壓縮方案進(jìn)行比較的圖。具體實(shí)施例方式貫穿附圖,相同的參考字符用于相應(yīng)或相似的元件。本發(fā)明總體涉及像素參數(shù)值的無(wú)損壓縮和解壓縮,具體涉及適于深度緩沖器壓縮8和解壓縮的這種壓縮和解壓縮。本發(fā)明很好地適用于三維(3D)圖形,如游戲、3D地圖和場(chǎng)景、3D消息(例如動(dòng)畫(huà)消息)、屏保、人機(jī)接口(MMI)等,但不限于此。因此,本發(fā)明也可以用于對(duì)其他類(lèi)型的圖像或圖形進(jìn)行編碼,例如一維(ID)、2維(2D)或3D圖像。在本發(fā)明中,壓縮和解壓縮集合地處理多個(gè)像素,典型地以像素塊或像素瓦片的形式。在本發(fā)明的優(yōu)選實(shí)施例中,像素塊具有MXN像素的大小,其中M、N是整數(shù),并且限制M和N不同時(shí)為1。優(yōu)選地,M=2m,N=2n,其中m、η為0或整數(shù),并且限制m和η不同時(shí)為0。在典型實(shí)現(xiàn)中M=N,優(yōu)選地,這種塊實(shí)施例可以是4X4像素、8X8像素或16X16像ο表述“像素”或“圖像元素”是指塊或塊的編碼表示中的元素。塊繼而與圖像、紋理或緩沖器的一部分相對(duì)應(yīng)。因此,根據(jù)本發(fā)明,圖像元素可以是(1D、2D、3D)紋理的紋素(texel,紋理元素)、(1D或2D)圖像的像素或3D圖像的體素(voxel,體積元素)。一般地,使用相關(guān)聯(lián)的像素參數(shù)值或特征來(lái)表征像素。在本發(fā)明的優(yōu)選實(shí)施例中,像素參數(shù)值是深度值或所謂Z值。該特征表示特定像素距離眼睛的深度或距離,并且控制在呈現(xiàn)期間實(shí)際將顯示哪些像素。壓縮和解壓縮適于處理共線像素參數(shù)值,即位于平面中的參數(shù)值。因此,要壓縮的塊的像素參數(shù)值全部位于參數(shù)空間的單一平面中,或者位于一組多個(gè)(典型為2個(gè))平面之一中。這種要求意味著,可以使用比像素參數(shù)值的原始表示的原始數(shù)目比特更少的比特來(lái)實(shí)現(xiàn)像素塊的無(wú)損壓縮。此外,以下,術(shù)語(yǔ)“圖像”用于表示可以通過(guò)本發(fā)明進(jìn)行編碼和解碼的任何1D、2D或3D圖像或紋理,包括但不限于凹凸映射、法線映射、照片、游戲類(lèi)型紋理、文本、繪圖、高動(dòng)態(tài)范圍圖像和紋理等等。壓縮圖1是示意了根據(jù)本發(fā)明用于壓縮像素塊的方法的流程圖。該方法從步驟Sl開(kāi)始,在步驟Sl中針對(duì)要壓縮的塊選擇起始深度值。該起始深度值Zstart優(yōu)選地被設(shè)置為等于塊中像素之一(優(yōu)選為占據(jù)塊中預(yù)定位置的像素)的深度值。這種預(yù)定位置的優(yōu)選實(shí)現(xiàn)是使用塊的第一位置,即占據(jù)左上角的位置,Zstart=Zno可能的起始像素位置的其他示例可以是其他塊角落中的任一個(gè)。實(shí)際上,可以使用塊中的任何預(yù)定位置作為起始位置,盡管角落位置(尤其是左上角像素)顯著簡(jiǎn)化了塊的壓縮。所選的起始深度值被認(rèn)為屬于塊的第一深度值平面。起始值的表示,如P比特起始值(如果所選深度值包括P個(gè)比特),可以包括在塊的壓縮表示中。下一步驟S2針對(duì)塊選擇所謂重新起始深度值。該值被認(rèn)為屬于第二深度值平面,即與起始值不同的平面。優(yōu)選地,重新起始深度值Z_tart被選擇為等于塊中所標(biāo)識(shí)的像素的深度值,即Zrestart=Zij,其中i,j=1,2,...,N,并限制如果在位置(1,1)處的像素用于提供起始深度值,則(i,j)Φ(1,1),并且N表示每行和列的像素?cái)?shù)目。壓縮塊包括所選重新起始值的表示,優(yōu)選地,如果所選深度值包括P個(gè)比特,則該表示具有P比特重新起始值的形式。步驟S3產(chǎn)生像素的平面表示。該平面表示指示該像素屬于第一(起始)平面和第二(重新起始)平面中的哪一個(gè)。優(yōu)選地,該表示是1比特字,其中值Obin(或Ibin)指示9第一平面并且值Ibin(或Obin)指示第二平面。優(yōu)選地,針對(duì)塊中多個(gè)像素的至少一部分來(lái)執(zhí)行步驟S3,這由線Ll示意性示出。更優(yōu)選地,針對(duì)塊中的每一個(gè)像素來(lái)執(zhí)行步驟S3,可能排除起始像素(與起始深度值相關(guān)聯(lián)的像素)??蛇x地,可以還排除重新起始像素(與重新起始像素值相關(guān)聯(lián)的像素)。然后,這些多個(gè)平面表示可以被認(rèn)為是表明每個(gè)像素屬于哪個(gè)平面的比特映射。優(yōu)選地,該比特映射(平面表示)包括在壓縮塊表示中。在備選實(shí)施例中,步驟S2和S3的順序互換。這意味著,在步驟Sl選擇起始深度值之后,針對(duì)塊中的其余像素產(chǎn)生平面表示。在這種情況下,塊中按遍歷順序具有不同于與起始深度值相關(guān)聯(lián)的(起始)平面表示的所產(chǎn)生的平面表示的第一像素被認(rèn)為是重新起始像素。然后,采用該像素的深度值作為該塊的重新起始深度值。針對(duì)塊中多個(gè)像素中要編碼的每個(gè)像素來(lái)執(zhí)行以下步驟S4至S7。步驟S4針對(duì)該像素來(lái)選擇像素集合,該像素集合包括塊中的至少一個(gè)其他像素。該集合的選擇是基于當(dāng)前像素和集合中的像素的相應(yīng)平面表示來(lái)執(zhí)行的。在優(yōu)選實(shí)施例中,該集合中的所選像素具有與當(dāng)前像素相同的平面表示,即屬于與該像素相同的平面。在步驟S5中,使用在所選集合中的像素的深度值來(lái)提供當(dāng)前像素的深度值Zij的預(yù)測(cè)iy。換言之,基于該像素集合中的至少一個(gè)深度值來(lái)計(jì)算或確定像素的深度值預(yù)測(cè)。下一步驟S6基于像素的深度值和步驟S5中提供的預(yù)測(cè)來(lái)估計(jì)像素的預(yù)測(cè)誤差Z,優(yōu)選地,將預(yù)測(cè)誤差計(jì)算為像素的原始深度值與預(yù)測(cè)之間的差值=Zii-Zll.νο1J1J1Jο在步驟S7中確定所計(jì)算的預(yù)測(cè)誤差的編碼的表示。然后,壓縮或編碼后的塊表示包括該編碼的表示。優(yōu)選地,針對(duì)塊中的多個(gè)像素重復(fù)該過(guò)程,這由線L2示意性示出。在這種情況下,壓縮塊包括這些像素中的每個(gè)像素(當(dāng)然除了與起始值相關(guān)聯(lián)的像素和與重新起始值相關(guān)聯(lián)的像素之外)的相應(yīng)編碼的預(yù)測(cè)誤差表示。優(yōu)選地,壓縮塊還包括起始深度值、重新起始深度值以及優(yōu)選地平面表示的比特映射的表示。圖2是多個(gè)像素310-318的塊300的示意圖。如本領(lǐng)域中公知的,深度緩沖器中像素的原始深度值分量通常是24比特整數(shù)。Lapidous和Jaio[3]提出了一種使用浮點(diǎn)值來(lái)對(duì)深度緩沖器進(jìn)行編碼的備選方式,稱為“互補(bǔ)Z表示”。使用這種表示,可以使用fpl6、fp24、fp32等等。Lapidous和Jaio使用的fpl6格式具有3比特的指數(shù)、13比特的尾數(shù)并且沒(méi)有符號(hào)比特。fpl6的數(shù)學(xué)值為2tep°nmt_4)X(1.mantissa)。然而,浮點(diǎn)數(shù)的浮點(diǎn)性質(zhì)帶來(lái)了問(wèn)題。由于浮點(diǎn)數(shù)的密度不均勻,兩個(gè)浮點(diǎn)數(shù)之間的差值可能不可表示。圖3示意了這種概念。圖3的上半部指示了浮點(diǎn)表示。數(shù)密度的不均勻性清晰可見(jiàn)越接近0,密度越大。為了示意具有浮點(diǎn)數(shù)形式的顏色分量表示的問(wèn)題,假定第一深度值為7.5,第二深度值為1.875。這兩個(gè)數(shù)都可以使用fpl6來(lái)表示。然而,兩個(gè)數(shù)之差7.5-1.875=5.625不能以fpl6表示。明顯不同地,最接近的表示為5.5。然而,如在
      背景技術(shù)
      部分提及的,深度緩沖器壓縮需要是無(wú)損的。因此,需要計(jì)算上述浮點(diǎn)數(shù)之間差值的塊由于該差值不能以fpl6正確表示而不能無(wú)損壓縮。如圖3所示,本發(fā)明可以通過(guò)將每個(gè)浮點(diǎn)數(shù)映射至相應(yīng)整數(shù)表示來(lái)解決該浮點(diǎn)數(shù)問(wèn)題。這基本上對(duì)應(yīng)于向每個(gè)浮點(diǎn)數(shù)分配唯一整數(shù)。因此,從浮點(diǎn)數(shù)至整數(shù)域的映射涉及向越大的浮點(diǎn)數(shù)分配越大的整數(shù)。這意味著,0.0將被分配為整數(shù)表示0,下一最小正浮點(diǎn)數(shù)被分配為1,再下一最小浮點(diǎn)數(shù)被分配為2,以此類(lèi)推。以上給出的示例對(duì)應(yīng)于將差值16與整數(shù)15相加以獲得結(jié)果31(或者在解釋為浮點(diǎn)數(shù)的情況下為7.5)。因此,本發(fā)明的優(yōu)選實(shí)現(xiàn)涉及根據(jù)浮點(diǎn)域與整數(shù)域之間的一對(duì)一映射來(lái)將浮點(diǎn)深度值解釋為整數(shù)。在整數(shù)域進(jìn)行計(jì)算和算術(shù)還避免了代價(jià)較高的浮點(diǎn)運(yùn)算。此外,由于壓縮是無(wú)損的,也獲得了對(duì)NaN(非數(shù))、Inf(無(wú)窮)和異常(異常數(shù))的正確處理。在這種情況下,根據(jù)上述映射并如圖3所示,在壓縮期間將浮點(diǎn)數(shù)解釋為整數(shù)。在解壓縮之后,接著將整數(shù)重新解釋回浮點(diǎn)數(shù)。本發(fā)明也可以與整數(shù)深度值和浮點(diǎn)深度值結(jié)合使用,后者優(yōu)選地通過(guò)上述整數(shù)與浮點(diǎn)數(shù)之間的一對(duì)一關(guān)系來(lái)結(jié)合。可以根據(jù)不同實(shí)施例來(lái)標(biāo)識(shí)重新起始像素位置。在第一方式中,在完全不使用任何重新起始值的情況下對(duì)塊進(jìn)行壓縮。然后,針對(duì)每個(gè)可能的重新起始位置(即除了先前描述的起始像素位置之外的每個(gè)像素位置),將相同塊壓縮一次。在4X4塊的情況下,這意味著確定1+15個(gè)不同的壓縮塊候選。如果在不使用任何重新起始值的情況下壓縮的塊得到最小的壓縮大小,則對(duì)于當(dāng)前塊不采用重新起始值。然而,如果得到最小壓縮大小的壓縮塊候選是使用重新起始值的15個(gè)候選之一,則將重新起始像素的位置標(biāo)識(shí)為在具有最小壓縮大小的塊候選中使用的位置。以下將結(jié)合圖4來(lái)描述在計(jì)算上更加有效的備選方法,圖4示意了圖1的選擇步驟S2的實(shí)施例。該方法從圖1的步驟Sl開(kāi)始繼續(xù)。下一步驟SlO標(biāo)識(shí)塊中與起始深度值相差最多的深度值。首先針對(duì)塊中的所有其余像素計(jì)算與起始值的絕對(duì)差值Izstart-ZijI,其中(i,j)φ(Ll)0標(biāo)識(shí)具有得到最大絕對(duì)差值的深度值的像素。這里該深度值表示為Zdiff0此后,針對(duì)這些像素計(jì)算像素的深度值與起始值之間的第一絕對(duì)差值Izij-ZstartI,并且計(jì)算該深度值與Zdiff之間的第二絕對(duì)差值IZij-ZdiffL如果第一絕對(duì)差值小于第二絕對(duì)差值,則該像素被認(rèn)為屬于起始深度平面,并且預(yù)測(cè)了起始值;否則將其分類(lèi)為屬于重新起始平面并預(yù)測(cè)了重新起始值。屬于起始平面的像素可以被分配為Obin(或Ibin)的臨時(shí)分類(lèi)索引,而重新起始預(yù)測(cè)像素被分配為Ibin(或Obin)的臨時(shí)分類(lèi)索引。在這種情況下,重新起始像素被標(biāo)識(shí)為塊中按遍歷順序具有大于第一差值的第二絕對(duì)差值的第一像素。因此,當(dāng)從上部的行開(kāi)始向下逐行遍歷時(shí),塊中具有Ibin的臨時(shí)分類(lèi)索引的第一像素被認(rèn)為是重新起始像素。在步驟S12中,所標(biāo)識(shí)的重新起始像素的深度值被選擇為重新起始深度值。然后,該方法繼續(xù)至圖1的步驟S3。在另一方式中,根據(jù)針對(duì)像素中的至少一部分(優(yōu)選地,塊中除起始像素之外的每個(gè)像素)而產(chǎn)生的平面表示來(lái)標(biāo)識(shí)重新起始深度值。在這種情況下,塊中按遍歷順序具有與起始深度值所屬的第一平面不相關(guān)聯(lián)的平面表示的第一像素被認(rèn)為是重新起始深度像素。然后,采用該像素的深度值作為該塊的重新起始值。圖5是示意了圖1的平面表示產(chǎn)生步驟的實(shí)施例的流程圖。該方法從圖1的步驟S2開(kāi)始繼續(xù)。下一步驟S20計(jì)算像素的深度值與起始深度值之間的第一差值。此外,計(jì)算該深度值與重新起始深度值之間的第二差值。在備選方式中,尤其是在尚未確定重新起始深度值的情況下,計(jì)算該深度值與上述Zdiff之間的第二差值。如果第一差值的絕對(duì)值小于第二差值的絕對(duì)值,Zij-Zsrart<IziJ-ZrestartI或IZiJ-ZstartI〈IZiJ-Zdiff,則該方法繼續(xù)至步驟S21。步驟S21產(chǎn)生指示第一深度值平面的第一平面表示,如Obin(或Ibin)。該平面表示被分配給當(dāng)前像素,并被包括作為壓縮塊中的比特映射的一部分。然而,如果像素的深度值更接近于重新起始值而不是起始值,則取而代之地,方法繼續(xù)至步驟S22。該步驟S22產(chǎn)生指示第二深度值平面的第二平面表示,如Ibin(或0bin)。該平面表示被分配給該像素,并被包括在壓縮塊中。本發(fā)明可以預(yù)期,在標(biāo)識(shí)重新起始像素過(guò)程中確定的臨時(shí)分類(lèi)比特實(shí)際上還可以用于提供平面表示。在這種情況下,不需要專(zhuān)門(mén)的平面表示提供過(guò)程,而是與起始值選擇過(guò)程相結(jié)合地提供這些表示。盡管在計(jì)算上代價(jià)更大,用于產(chǎn)生平面表示的另一實(shí)施例是測(cè)試平面表示的所有215種可能組合,并選擇在計(jì)算上最高效(即得到最小壓縮塊大小)的一種。另一實(shí)施例是使用Haselgren和Akenine-M6ller[2]所討論的過(guò)程。簡(jiǎn)而言之,允許起始平面從起始深度值開(kāi)始生長(zhǎng),直到預(yù)測(cè)誤差變得過(guò)大。相應(yīng)地,允許重新起始平面從塊中的對(duì)角相對(duì)位置開(kāi)始生長(zhǎng),直到誤差變得過(guò)大。一旦兩個(gè)相應(yīng)平面一起包含了所有塊,則獲得了平面表示。本發(fā)明還包含另一實(shí)施例。在這種情況下,測(cè)試15種可能位置(在4X4塊的情況下)中的起始位置?;谠撐恢?,確定平面表示的“最佳”集合或比特映射。在這種過(guò)程中,塊中相對(duì)于候選重新起始位置按遍歷順序在先前位置的所有像素被認(rèn)為具有指示第一/起始平面的平面表示。對(duì)于塊中按遍歷順序跟隨重新起始位置之后的每個(gè)像素,測(cè)試該像素屬于第一/起始平面還是第二/重新起始平面。該測(cè)試可以根據(jù)不同準(zhǔn)則來(lái)執(zhí)行。第一準(zhǔn)則可以是,選擇得到最小預(yù)測(cè)誤差的平面表示。然而,針對(duì)像素得到最小預(yù)測(cè)誤差的平面表示不一定得到塊的最高效編碼。如這里結(jié)合Golomb-Rice編碼進(jìn)一步描述的,預(yù)測(cè)誤差除以值21,其中1等于確定的值k或者是k的函數(shù)(取決于用于計(jì)算當(dāng)前像素的預(yù)測(cè)的、相鄰深度值的數(shù)目)。根據(jù)1=k還是1=f(k),例如如果平面表示具有導(dǎo)致1=f(k)而不是1=k的值,則較大的預(yù)測(cè)誤差可以實(shí)際上得到較短的所產(chǎn)生的壓縮塊。然后,可以針對(duì)所有可能的重新起始位置和所有可能的平面表示來(lái)測(cè)試該過(guò)程。圖6是示意了確定圖1中預(yù)測(cè)誤差的編碼的表示的步驟的實(shí)施例的流程圖。該方法從圖1的步驟S6開(kāi)始繼續(xù)。下一步驟S30修改預(yù)測(cè)誤差來(lái)得到正預(yù)測(cè)誤差。優(yōu)選地,該修改涉及將函數(shù)η(χ)=-2χ應(yīng)用至負(fù)預(yù)測(cè)誤差(包括0),并將函數(shù)ρ(Χ)=2χ-1應(yīng)用至正預(yù)測(cè)誤差(不包括0)。這將產(chǎn)生預(yù)測(cè)誤差的新配置,如{0,1,-1,2,-2,3,-3,.··},這意味著,具有較小幅度的數(shù)將具有較小的值。然后,優(yōu)選地對(duì)每個(gè)修改后的預(yù)測(cè)誤差進(jìn)行Golomb-Rice編碼以獲得編碼的表示。Golomb-Rice編碼涉及在步驟S31中搜索指數(shù)k。該數(shù)k優(yōu)選地用于塊中的一組至少一個(gè)像素。例如,塊中一組2X2的4個(gè)像素或者實(shí)際上4X4的所有像素可以共享相同的k??梢允褂每捎胟值中的窮盡搜索,如在O至15之間,以找到針對(duì)該組的最佳k。下一可選步驟S32基于搜索的k來(lái)計(jì)算指數(shù)值1,即1=f(k)。在優(yōu)選實(shí)施例中,如果步驟S4中針對(duì)當(dāng)前像素選擇的像素集合包含一個(gè)像素,則函f(k)等于wXk+h或如果取而代之地當(dāng)前像素的像素集合包括塊中的多個(gè)其他像素,即基于塊中的這些其他像素的深度值來(lái)預(yù)測(cè)該像素的深度值,則1=k。由于多個(gè)像素可以共享相同的k值,因此,根據(jù)針對(duì)像素而選擇的相應(yīng)像素集合中的像素?cái)?shù)目,所有這些像素可以具有相同的1值或不同的1值。下一步驟S33將該組的每個(gè)預(yù)測(cè)誤差除以21,以形成相應(yīng)的商和余數(shù)。在下一步驟S34中對(duì)商進(jìn)行一元編碼。該一元編碼優(yōu)選地根據(jù)下表1來(lái)執(zhí)行表1-一元碼_UnarycodeQuotient_Obin0IObin1IlObin2IllObin3IlllObin4…_從表1可以清楚看到,一元編碼將較長(zhǎng)的碼分配給較大的值。一般地,大于31的值使用OXfTfThex后接該值的16比特來(lái)進(jìn)行編碼。預(yù)測(cè)誤差的編碼的表示包括一元碼和1比特的余數(shù)。此外,針對(duì)像素組存儲(chǔ)值k。針對(duì)塊中除起始像素和重新起始像素之外的每個(gè)像素執(zhí)行該過(guò)程。如上所述,將這些像素的原始深度值分別存儲(chǔ)為起始和重新起始分量值。本發(fā)明是(但不限于)Golomb-Rice編碼算法。明顯不同地,可以備選地使用如Huffman算法之類(lèi)的其他編碼算法。圖7A和7B示意了圖1的像素集合選擇步驟和預(yù)測(cè)提供步驟的優(yōu)選實(shí)施例。參照?qǐng)D2進(jìn)一步討論該優(yōu)選實(shí)施例,其中要對(duì)像素塊300中表示為D的像素318進(jìn)行壓縮。該方法從圖1的步驟S4開(kāi)始繼續(xù)。下一步驟S40調(diào)查塊中相對(duì)于像素318沿第一預(yù)測(cè)方向存在的第一相鄰像素317(表示為A)、沿第二預(yù)測(cè)方向存在的第二相鄰像素315(表示為B)以及沿第三預(yù)測(cè)方向存在的第三相鄰像素314(圖2中表示為C)是否均屬于與像素318相同的深度值平面。優(yōu)選地,第一相鄰像素317是在與當(dāng)前像素318相同行中存在的先前像素。相應(yīng)地,第二相鄰像素315位于塊300中的相同列中的先前像素位置。最終,優(yōu)選地,第三相鄰像素314是相對(duì)于像素318對(duì)角地位于左上角(即在先前行和先前列中)的對(duì)角先前像素。13像素314、315、317的平面表示與要編碼的像素318的相應(yīng)平面表示進(jìn)行比較。如果它們都相等,即所有像素314、315、317、318被認(rèn)為存在于相同的深度值平面,則該方法繼續(xù)至步驟S41。步驟S41基于3個(gè)相鄰像素314、315,317的預(yù)測(cè)值來(lái)計(jì)算像素318的深度值的預(yù)測(cè)。在優(yōu)選實(shí)施例中,將該預(yù)測(cè)計(jì)算為第一相鄰像素317和第二相鄰像素315的深度值之和減去第三相鄰像素314的深度值然而,如果這些相鄰像素314、315、317的平面表示不是都等于像素318的平面表示,則方法從步驟S40繼續(xù)至步驟S42。步驟S42調(diào)查沿第一預(yù)測(cè)方向的第一相鄰像素317和沿第一預(yù)測(cè)方向存在的第二像素316(圖2中表示為E)是否屬于與當(dāng)前像素318相同的深度值平面。優(yōu)選地,第二像素316是存在于與當(dāng)前像素318(和第一相鄰像素317)相同的行中的第二先前像素316。如果所有這3個(gè)像素316、317、318的平面預(yù)測(cè)相等,則該方法繼續(xù)至步驟S43。步驟S43基于被選擇要包括在像素集合中的兩個(gè)先前像素316、317的預(yù)測(cè)值來(lái)計(jì)算像素318的深度值的預(yù)測(cè)。在優(yōu)選實(shí)施例中,將深度值預(yù)測(cè)計(jì)算為等于第一相鄰像素的深度值的兩倍減去第二像素的深度值:然而,如果這3個(gè)像素316、317、318的平面表示不相等,則該方法從步驟S42繼續(xù)至步驟S44。步驟S44調(diào)查第二相鄰像素315和沿第二預(yù)測(cè)方向存在的第三像素312(圖2中表示為F)是否與當(dāng)前像素318屬于相同的深度值平面。優(yōu)選地,第三像素312是存在于與當(dāng)前像素318(和第二相鄰像素315)相同的列中的第二先前像素312。如果所有這3個(gè)像素312、315、318的平面預(yù)測(cè)相等,則該方法繼續(xù)至步驟S45。步驟S45基于被選擇要包括在像素集合中的兩個(gè)先前像素312、315的預(yù)測(cè)值來(lái)計(jì)算像素318的深度值的預(yù)測(cè)。在優(yōu)選實(shí)施例中,將深度值預(yù)測(cè)計(jì)算為等于第二相鄰像素的深度值的兩倍減去第三像素的深度值在圖7Α的備選實(shí)施例中,改變步驟S40、S42和S44的順序。例如,如果在步驟S40中相鄰像素314、315、317的平面表示不是都等于像素318的平面表示,則該方法從步驟S40繼續(xù)至步驟S44。此后,如果像素316、317不是都具有與當(dāng)前像素318相同的平面表示,則該方法從步驟S44繼續(xù)至步驟S42。此外,圖7A的過(guò)程可以取而代之地從步驟S42的檢查開(kāi)始,進(jìn)行至步驟S40,然后至步驟S44;從步驟S42開(kāi)始,進(jìn)行至步驟S44,然后至步驟S40。相應(yīng)地,該過(guò)程可以從步驟S44的調(diào)查開(kāi)始,進(jìn)行至步驟S40然后至S42;或者從步驟44開(kāi)始,然后至S42最后至步驟S40。因此,這3個(gè)步驟S40、S42、S44的順序可以是任何預(yù)定順序。針對(duì)要壓縮的塊而選擇的特定順序不影響本發(fā)明的編碼質(zhì)量。如果上述任一條件都不滿足,則該方法繼續(xù)至圖7B的步驟S46。該步驟S46使用相應(yīng)平面表示來(lái)調(diào)查第一相鄰像素317和第二相鄰像素315是否屬于與像素318相同的深度值平面。如果它們都屬于相同平面,則下一步驟S48(步驟S47在解壓縮而不是壓縮期間執(zhí)行)選擇兩個(gè)相鄰像素315、317的深度值之一作為當(dāng)前像素的深度值預(yù)測(cè)。在優(yōu)選實(shí)施例中,選擇與像素318的深度值最接近的深度值。換言之,如果IZi(H)-ZijI<IZ(H)rZijI,則之,否則為。在備選實(shí)施例中,根據(jù)所選的深度值來(lái)計(jì)算預(yù)測(cè),即下一步驟S49提供了與第一相鄰像素317和第二相鄰像素315中的所選像素相關(guān)聯(lián)的引導(dǎo)比特,以用作當(dāng)前像素318的預(yù)測(cè)基礎(chǔ)。由于選擇是在兩個(gè)相鄰像素315、317之間進(jìn)行,顧名思義,引導(dǎo)比特可以是1比特選擇字。在備選實(shí)施例中,該方法不直接從步驟S46繼續(xù)至步驟S48。該實(shí)施例涉及執(zhí)行另外的檢查,以調(diào)查兩個(gè)相鄰像素315、317是否具有實(shí)質(zhì)上相同的深度值。因此,可以計(jì)算深度值之間的絕對(duì)差值,如果該差值小于預(yù)定閾值,則計(jì)算兩個(gè)值的平均并用作預(yù)測(cè),即如果僅期望整數(shù)預(yù)測(cè),則可以對(duì)該平均進(jìn)行舍入,并輸入至向下取整(或向上取整)函數(shù),如在這種情況下,不需要額外的引導(dǎo)比特。如果該絕對(duì)差值超過(guò)閾值,則該方法繼續(xù)至步驟S48,采用相鄰像素315、317之一作為當(dāng)前像素318的預(yù)測(cè)基礎(chǔ)。如果第一相鄰像素317和第二相鄰像素315不是都屬于與當(dāng)前像素318相同的深度值平面,則該方法從步驟S46繼續(xù)至步驟S50。步驟S50調(diào)查第一相鄰像素317是否存在于與像素318相同的深度平面中。在這種情況下,步驟S51基于第一相鄰像素的深度值來(lái)定義深度值預(yù)測(cè),優(yōu)選地將該預(yù)測(cè)設(shè)置為等于相鄰深度值iy=Ζζ_ι}。如果第一相鄰像素317不屬于與當(dāng)前像素318相同的深度值平面,則該方法從步驟S50繼續(xù)至步驟S52。以與步驟S50類(lèi)似的方式來(lái)執(zhí)行該步驟S52,但是取而代之地調(diào)查第二相鄰像素315是否屬于與像素318相同的深度平面。如果基于其相應(yīng)平面表示的比較而確定結(jié)果為是,則該方法繼續(xù)至步驟S53,其中基于第二相鄰像素315的深度值來(lái)確定像素318的預(yù)測(cè),優(yōu)選為如果第一相鄰像素317和第二相鄰像素315都不屬于與像素318相同的深度平面,則該方法繼續(xù)至步驟S54。步驟S54將像素318的預(yù)測(cè)選擇為基于起始深度值和重新起始深度值之一?;谙袼?18所屬的平面來(lái)選擇該預(yù)測(cè)。如果它屬于與起始值相同的平面,則使用,否則使用f=Z在備選方式中,根據(jù)所選深度值來(lái)計(jì)算預(yù)測(cè),即此后,一旦在步驟S41、S43、S45、S48、S51、S53或S54中的任一個(gè)中提供了深度值,則該方法繼續(xù)至圖1的步驟S6,其中基于所提供的深度值預(yù)測(cè)來(lái)估計(jì)預(yù)測(cè)誤差。在上述討論中,已經(jīng)將第一相鄰像素公開(kāi)為像素塊中與要編碼的當(dāng)前像素相同的行中存在的先前像素。然而,這僅是一種可能實(shí)現(xiàn)的示意性示例。在備選實(shí)施例中,第一相鄰像素可以是像素塊中與當(dāng)前像素相同的列中存在的先前像素。在這種情況下,第二相鄰像素優(yōu)選為塊中與當(dāng)前像素相同的行中存在的先前像素。如果圖7A至圖7B中公開(kāi)的過(guò)程中表示為A至F的任一像素實(shí)際上存在于該塊之外,則該像素被視為不屬于與要編碼的像素相同的深度值平面。例如,假定圖2的像素317應(yīng)當(dāng)被編碼。此外,在本示例中,第三相鄰像素313屬于與像素317不同的平面。因此,圖7A的步驟S40的條件不滿足,并且該方法繼續(xù)至步驟S42。然而,在這種情況下,沿第一預(yù)測(cè)方向的第二像素將位于塊邊界之外。因此,該像素可以被認(rèn)為具有與像素317不同的平面表示。因此,該方法從步驟S42繼續(xù)至S44。這意味著,對(duì)于存在于第一行或第一列中的像素311、312、313、316,深度值預(yù)測(cè)將等于相同的第一行或第一列中的相鄰先前像素的深度值,或者是根據(jù)第一行或第一列中最前的像素的深度值來(lái)計(jì)算的,即ily_=ζι{]_ι)}ζα=ζ(_1}1,Λ^Z1J=2χ-Z1^l2)或Zn=2X^(/_ι)ι—Z(P2)1其中Z11=zstart。圖8是根據(jù)本發(fā)明壓縮的像素塊的壓縮表示400的示意圖。在呈現(xiàn)之前,優(yōu)選地將所有塊清除并僅包含Zto值。即使在開(kāi)始了塊中的呈現(xiàn)之后,也經(jīng)常將許多像素設(shè)置為Zto值。因此,許多起始值將等于Zto值。因此,有利地,具有對(duì)這一點(diǎn)進(jìn)行信號(hào)通知的這一情況。因此,壓縮塊400優(yōu)選地包括一個(gè)比特410,以信號(hào)通知當(dāng)前塊是否具有等于Zto的起始深度值。在壓縮塊400中包括起始值的表示420,或者如果設(shè)置了清除比特410,則可以省略表示420。壓縮塊400還包括重新起始值的表示430。塊400中還包括平面表示440的比特映射以及確定的k值450。在典型實(shí)施例中,比特映射440包括15個(gè)平面表示,除了起始像素之外每個(gè)像素具有一個(gè)這種表示。然而,存在其他更高效的方式來(lái)對(duì)這種平面表示進(jìn)行編碼,這是在現(xiàn)有技術(shù)中已知的,并且可以應(yīng)用于本發(fā)明。根據(jù)針對(duì)像素選擇了哪些預(yù)測(cè),可以包括額外引導(dǎo)比特460。壓縮塊400還包括來(lái)自Golomb-Rice編碼的商和余數(shù)的一元碼,在圖中表示為編碼的誤差表示470。壓縮塊400所包括的分量的實(shí)際順序可以與圖8所示的不同。解壓縮圖9是示出了根據(jù)本發(fā)明對(duì)壓縮或編碼的像素塊進(jìn)行解壓縮或解碼的方法的流程圖的示意。該方法從步驟S60開(kāi)始,步驟S60提供塊的起始深度值。該起始值是基于壓縮像素塊中包括的起始值表示來(lái)提供的。在優(yōu)選實(shí)施例中,在壓縮塊中,起始深度值是以未壓縮的形式提供的,因此可以直接分配作為起始像素的深度值。如上所述,該像素具有塊中的預(yù)定位置,優(yōu)選地在(i,j)=(1,1)處。備選地,比特可以指示起始深度值是否等于Zto值,并且在這種情況下避免顯式存儲(chǔ)起始值。下一步驟S61提供了壓縮塊的重新起始深度值。該值是基于壓縮塊中包括的重新起始值表示來(lái)提供的。該表示優(yōu)選地以未壓縮的形式包括重新起始值。典型地,重新起始像素的位置是從平面表示獲得的。按遍歷方向不具有與起始深度值相同的平面表示的第一像素是重新起始值的位置。步驟S61涉及根據(jù)平面表示來(lái)標(biāo)識(shí)塊中的重新起始像素,并將重新起始值分配為所標(biāo)識(shí)的像素的深度值。如上所述,起始深度值和重新起始深度值被認(rèn)為屬于不同的深度值平面。針對(duì)塊中要解碼的每個(gè)像素執(zhí)行接下來(lái)的步驟S62至S65的循環(huán)。步驟S62基于與像素相關(guān)聯(lián)并包括在壓縮塊中的編碼的誤差表示來(lái)確定像素的預(yù)測(cè)誤差。優(yōu)選地,通過(guò)對(duì)預(yù)測(cè)誤差的編碼表示進(jìn)行Golomb-Rice解碼來(lái)執(zhí)行預(yù)測(cè)誤差。在這種情況下,預(yù)測(cè)誤差優(yōu)選地包括一元編碼的商、余數(shù)和指數(shù)值k。商可以使用上述表1從一元編碼的數(shù)據(jù)獲得。此后,商和余數(shù)形成的值乘以21以形成預(yù)測(cè)誤差,其中,根據(jù)當(dāng)前像素的像素集合包括一個(gè)還是多個(gè)其他其他像素,值1等于k或k的函數(shù)。下一步驟S63選擇像素集合,該像素集合包括塊中的至少一個(gè)其他像素。該選擇是基于與像素相關(guān)聯(lián)的相應(yīng)平面表示來(lái)執(zhí)行的。如之前所討論的,平面表示指示像素屬于起始深度平面和重新起始深度平面中的哪個(gè)平面。在步驟S64,提供對(duì)像素的深度值的預(yù)測(cè)。優(yōu)選地,步驟S64涉及基于所選像素集合中該至少一個(gè)像素的深度值來(lái)提供預(yù)測(cè)。因此,該像素集合中的該至少一個(gè)深度值用于提供或計(jì)算深度值預(yù)測(cè)。最終,步驟S65基于步驟S62中確定的預(yù)測(cè)誤差和步驟S64中提供的深度值預(yù)測(cè)來(lái)計(jì)算像素的深度值的表示。優(yōu)選地,通過(guò)將所確定的預(yù)測(cè)誤差與預(yù)測(cè)相加來(lái)得到解碼的像素的深度值,從而實(shí)現(xiàn)該計(jì)算。優(yōu)選地針對(duì)要解碼的塊中的每個(gè)像素重復(fù)圖9的解壓縮方法,這由線L3示意性示出。這意味著,針對(duì)給定壓縮塊,該方法可以執(zhí)行一次或多次(如針對(duì)塊中的每個(gè)像素執(zhí)行一次)。圖10是示意了解壓縮方法的附加步驟的流程圖。該方法從圖9的步驟S60開(kāi)始繼續(xù)。下一步驟S70提供與來(lái)自壓縮塊中包括的像素相關(guān)聯(lián)的相應(yīng)平面表示。然后,在圖10的步驟S61中使用檢索到的平面表示來(lái)標(biāo)識(shí)重新起始像素,然后在步驟S63中用于標(biāo)識(shí)該像素的正確像素集合,從而標(biāo)識(shí)該像素的正確深度值預(yù)測(cè)。圖7A和7B示意了圖9的像素集合選擇步驟和預(yù)測(cè)提供步驟的優(yōu)選實(shí)施例。然后如上所述執(zhí)行該過(guò)程,以逐步地基于所提供的平面表示在步驟S40、S42、S44、S46、S50或S52中標(biāo)識(shí)正確的預(yù)測(cè)集合。一旦標(biāo)識(shí)了正確的像素集合,則根據(jù)步驟S41、S43、S45、S48、S5US53或S54之一,基于像素集合的深度值來(lái)確定深度值預(yù)測(cè)。本實(shí)施例與在壓縮期間執(zhí)行的過(guò)程相比區(qū)別在于,如果在步驟S46認(rèn)定第一和第二相鄰像素都屬于與要解碼的當(dāng)前像素相同的平面,則該方法繼續(xù)至步驟S47。步驟S47提供與當(dāng)前像素相關(guān)聯(lián)并且包括在壓縮塊中的引導(dǎo)比特。該引導(dǎo)比特指示使用第一和第二相鄰像素中的哪一個(gè)作為像素的預(yù)測(cè)基礎(chǔ)。因此,基于相關(guān)聯(lián)的引導(dǎo)比特來(lái)執(zhí)行步驟S48中的深度值預(yù)測(cè)的選擇。下一步驟S49在解壓縮期間不進(jìn)行,而僅與壓縮相關(guān)聯(lián)來(lái)執(zhí)行。如上所述,在與當(dāng)前像素相同行或列的兩個(gè)先前像素分別具有相等或近似相等的深度值時(shí),可以省略引導(dǎo)比特的使用。在這種情況下,根據(jù)兩個(gè)相鄰深度值的平均來(lái)確定預(yù)測(cè)。解壓縮示例在以下示例中,假定在圖2中示意的塊大小和在圖8中示意的壓縮塊布局。Zfar比特0bin起始值:010011101001101011010001bin重新起始值:000000101001101011010001bin平面表示00010001111111Ibink值=X1X2.·.Xn其中Xi=0/lbin,i=1.··η引導(dǎo)比特?zé)o編碼的表示YJ2...Ym其中Yi=0/lbin,i=1...m針對(duì)當(dāng)前塊未設(shè)置Zto比特,意味著不應(yīng)將起始值設(shè)置為Zto值。取而代之地,起始值應(yīng)當(dāng)直接從起始值比特獲得。根據(jù)平面表示獲得重新起始像素的位置。平面表示比特向量中的第一個(gè)非零比特在位置4,因此,重新起始像素的位置為4,如果(1,1)具有位置編號(hào)0、(1,2)具有位置編號(hào)1,并且按遍歷順序以此類(lèi)推,則位置4對(duì)應(yīng)于(2,1)。重新起始值為000000101001101011010001bin=170705。因此,Z(2jl)=Zrestart=170705。起始像素在位置(1,1),起始值為010011101001101011010001bin=5151441。因此,Z(ljl)=Zstart=5151441。部分解碼的塊現(xiàn)在看起來(lái)如此后,從第一行開(kāi)始按遍歷順序?qū)K進(jìn)行解碼。第一行的所有其余像素的平面表示設(shè)置為Obin,指示它們屬于與起始深度值相同的深度值平面。像素的平面表示根據(jù)以下根據(jù)圖7A至7B的解壓縮實(shí)施例可以看到,根據(jù)步驟S50,在位置(1,2)的下一像素應(yīng)具有包括第一相鄰像素的預(yù)測(cè)集合,因?yàn)闆](méi)有第二或第三先前預(yù)測(cè)像素。這意味著i(1,2)=Z(U)=5151441。在以下示例中,通過(guò)Golomb-Rice解碼(這里未公開(kāi))來(lái)確定預(yù)測(cè)誤差。因此,假定針對(duì)該塊的、解碼的預(yù)測(cè)誤差表示如下因此,第二像素的深度值可以計(jì)算為Z(l2)二Z(u)+Z(l2)=10+5151441=5151451。第一行中的下一像素滿足步驟S42的要求,因此有i(13}=2xZ(u)-Z(l])=5151461。第一行中的第三像素的對(duì)應(yīng)深度值為Z(u)=乏(1,3)+i(1,3>=10+5151461=5151471。針對(duì)第一行的第四也是最后一個(gè)像素重復(fù)該過(guò)程,以給出部分解碼的塊5151441515145151514715151501170705此后,對(duì)第二行中的其余像素進(jìn)行解碼。第二行中的第二像素滿足步驟S52的要求,因此具有深度值而2.2)=乏(2,2>+f(2,2)二乏(2’2)+Z(,,2)=15+5151451=5151466。第二行的第三像素滿足步驟S40的準(zhǔn)則,并被解碼為Z(2』=43,十備』二4』+而+Z(⑶-Z(l.2,=15+5151466+515147卜5151451=5151501針對(duì)第二行的最后一個(gè)像素執(zhí)行相同的過(guò)程,以得到部分解碼的塊5151441515145151514715151501170705515146651515015151531針對(duì)其余兩行重復(fù)解碼過(guò)程,得到最終解碼的塊5151441515145151514715151501170705515146651515015151531170680170710170770170860170630170645170690170765然后,可選地,如以上結(jié)合圖3所討論的,可以將根據(jù)以上計(jì)算的深度值重新映射為浮點(diǎn)數(shù)。19實(shí)現(xiàn)方面圖11是可以應(yīng)用本發(fā)明教導(dǎo)的深度緩沖器架構(gòu)1的示意概述。該架構(gòu)包括隨機(jī)存取存儲(chǔ)器(RAM)50,用于存儲(chǔ)像素塊,包括深度值等等。深度單元10包括根據(jù)本發(fā)明的解壓縮系統(tǒng)200,用于對(duì)從RAM50取出的壓縮塊進(jìn)行解壓縮。解壓縮或解碼的塊臨時(shí)存儲(chǔ)在深度單元10的相關(guān)聯(lián)瓦片高速緩存(tilecache)14中。在深度單元10中還提供了根據(jù)本發(fā)明的壓縮系統(tǒng)100,用于對(duì)高速緩存14中存在的像素塊進(jìn)行壓縮以存儲(chǔ)在RAM50中。在優(yōu)選實(shí)施例中,深度單元10還包括瓦片表高速緩存(tiletablecache)12。該表高速緩存12存儲(chǔ)與像素塊相關(guān)聯(lián)的首部信息,但是保持與深度緩沖器數(shù)據(jù)分離。瓦片表?xiàng)l目典型地包含標(biāo)記,該標(biāo)記信號(hào)通知相關(guān)聯(lián)的像素塊是以未壓縮的形式還是以壓縮的形式存儲(chǔ)在RAM50中。在后一種情況下,優(yōu)選地,該標(biāo)記還信號(hào)通知壓縮塊的大小,因?yàn)椴煌膲嚎s塊可以具有不同的總比特長(zhǎng)度。例如,可以使用2比特標(biāo)記來(lái)信號(hào)通知未壓縮塊、具有原始大小75%的壓縮塊、具有原始大小50%的壓縮塊或者快速Z清除的壓縮塊。光柵化器20連接至深度單元10,并執(zhí)行像素的實(shí)際光柵化。光柵化器20連接至用于計(jì)算像素的深度和顏色的一個(gè)或多個(gè)像素管道30。每個(gè)像素管道30連接至深度測(cè)試單元40,深度測(cè)試單元負(fù)責(zé)丟棄由先前繪制的幾何形狀所包藏的像素(即具有較大的深度值)。在一些實(shí)施例中,像素管道30和深度測(cè)試40的順序可以互換。壓縮器圖12是根據(jù)本發(fā)明的壓縮器或壓縮系統(tǒng)100的示意框圖。系統(tǒng)100包括起始選擇器110,實(shí)現(xiàn)用于針對(duì)要壓縮的塊選擇起始深度值。選擇器110優(yōu)選地將起始值選擇為等于塊中預(yù)定像素位置處的像素的深度值,如塊的左上角處的像素。該起始深度值被認(rèn)為屬于第一(起始)深度平面,并且起始深度值的表示包括在壓縮塊中。重新起始選擇器120被配置為選擇塊的重新起始深度值。該重新起始選擇器120優(yōu)選地將重新起始值選擇為等于塊中所標(biāo)識(shí)的像素的深度值。該重新起始值被認(rèn)為屬于第二(重新起始)深度平面,并且重新起始深度值的表示包括在壓縮塊中。壓縮系統(tǒng)100還包括平面表示產(chǎn)生器130,用于產(chǎn)生像素的平面表示。該表示指示該像素屬于起始平面和重新起始平面中的哪一個(gè)平面。該平面產(chǎn)生器優(yōu)選地針對(duì)塊中的多個(gè)像素的至少一部分,更優(yōu)選地針可能對(duì)除起始像素之外的每個(gè)像素,產(chǎn)生平面表示。在這種情況下,如上所述,重新起始選擇器120可以使用平面表示來(lái)標(biāo)識(shí)正確的重新起始像素。這意味著,平面表示也可以被認(rèn)為是塊中的重新起始像素的位置的表示。集合選擇器140被提供用于針對(duì)要編碼的像素來(lái)選擇塊中至少一個(gè)像素的像素集合。此外,該集合選擇是基于表示產(chǎn)生器130所確定的像素的平面表示來(lái)執(zhí)行的。如上所述,集合可以包括塊中沿不同預(yù)測(cè)方向存在的一個(gè)或多個(gè)(如2個(gè)或3個(gè))像素。預(yù)測(cè)提供器150確定像素的深度值的預(yù)測(cè)。在這種情況下,提供器150基于來(lái)自集合選擇器140的像素集合中包括的像素的深度值來(lái)產(chǎn)生深度預(yù)測(cè)。誤差估計(jì)器160使用所提供的深度預(yù)測(cè)來(lái)估計(jì)或計(jì)算像素的預(yù)測(cè)誤差。優(yōu)選地,該誤差被計(jì)算為預(yù)測(cè)提供器150所確定的預(yù)測(cè)與像素的原始深度值之間的差值。在壓縮系統(tǒng)100中實(shí)現(xiàn)表示確定器170,用于確定來(lái)自誤差估計(jì)器160的預(yù)測(cè)誤差的編碼的表示。該誤差表示被分配給像素并包括在壓縮像素塊中。壓縮系統(tǒng)100可以可選地包括引導(dǎo)比特提供器180,實(shí)現(xiàn)用于提供引導(dǎo)比特,該20引導(dǎo)比特用于信號(hào)通知使用兩個(gè)可用相鄰像素中的哪一個(gè)作為當(dāng)前像素的預(yù)測(cè)基礎(chǔ)。在這種情況下,這兩個(gè)相鄰像素都屬于與該像素相同的深度值平面,并且采用弓丨導(dǎo)比特來(lái)在兩個(gè)像素的深度值之間進(jìn)行區(qū)分。壓縮系統(tǒng)100的單元110至180可以作為軟件、硬件或其組合來(lái)提供。單元110至180可以一起實(shí)現(xiàn)在壓縮系統(tǒng)100中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在深度緩沖器架構(gòu)中的其他地方提供。重新起始選擇器120可以實(shí)現(xiàn)用于通過(guò)窮盡搜索測(cè)試塊中的每個(gè)可用比特位置(除起始像素的位置外)來(lái)標(biāo)識(shí)重新起始像素。然后,選擇得到最高效的壓縮塊(即壓縮塊表示的最短比特長(zhǎng)度)的重新起始位置和重新起始值。圖13示意了重新起始選擇器120的備選實(shí)現(xiàn)。重新起始選擇器120包括值標(biāo)識(shí)器122,被配置用于標(biāo)識(shí)塊中深度值與來(lái)自起始選擇器的起始深度值相差最多的像素。差值計(jì)算器124被實(shí)現(xiàn)用于(優(yōu)選地針對(duì)每個(gè)像素)計(jì)算深度值和起始值之間的第一差值Zu-Zstart以及深度值和相差最多的值之間的第二差值Zij-Zdifftl如果對(duì)于某一像素,第一差值的絕對(duì)值最小,則該像素被認(rèn)為屬于起始深度平面。然而,如果Izu-ZdiffI<IZu-ZstotI,則取而代之地,該像素屬于重新起始深度平面。值選擇器126調(diào)查被認(rèn)為屬于重新起始平面的所有像素,并將重新起始像素標(biāo)識(shí)為按遍歷順序(在4X4像素塊的情況下為(1,1)—(1,4),(2,1)—(2,4),(3,1)—(3,4),(4,1)—(4,4))屬于重新起始值平面的第一像素。然后,壓縮塊表示優(yōu)選地包括重新起始值的表示,即所標(biāo)識(shí)的重新起始像素的深度值。重新起始選擇器120的單元122至126可以作為軟件、硬件或其組合來(lái)提供。單元122至126可以一起實(shí)現(xiàn)在重新起始選擇器120中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在壓縮系統(tǒng)中的其他地方提供。備選地,重新起始選擇器120可以根據(jù)本文中先前討論的任一其他實(shí)施例來(lái)操作。例如,重新起始選擇器120可以使用來(lái)自平面表示產(chǎn)生器130的信息來(lái)將重新起始像素標(biāo)識(shí)為按遍歷順序被認(rèn)為屬于與起始深度值的平面不同的平面的第一像素。圖14是平面表示產(chǎn)生器130的實(shí)施例的示意框圖。產(chǎn)生器130包括差值確定器132,被實(shí)現(xiàn)用于確定像素的深度值與起始深度值之間的第一差值。產(chǎn)生器130還計(jì)算該深度值與重新起始深度值或與塊中與起始值相差最多的值Zdiff之間的第二差值。平面產(chǎn)生器130中包括表示產(chǎn)生器134,在第一差值的絕對(duì)值小于第二差值的絕對(duì)值的情況下,用于產(chǎn)生指示起始深度值平面的、像素的平面表示。否則,產(chǎn)生器134提供指示重新起始平面的平面表示。平面表示產(chǎn)生器130的單元132和134可以作為軟件、硬件或其組合來(lái)提供。單元132和134可以一起實(shí)現(xiàn)在產(chǎn)生器130中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在壓縮系統(tǒng)中的其他地方提供。在優(yōu)選實(shí)施例中,集合選擇器140調(diào)查要編碼的像素的平面表示和塊中沿不同預(yù)測(cè)方向存在的3個(gè)先前相鄰像素的平面表示。如果所有這4個(gè)像素屬于相同的平面,則圖15中示意的預(yù)測(cè)提供器150的預(yù)測(cè)計(jì)算器152基于3個(gè)相鄰像素的深度值來(lái)計(jì)算該像素的深度值預(yù)測(cè)。在優(yōu)選實(shí)施例中,計(jì)算器152將預(yù)測(cè)計(jì)算為=Ziij^+ζ{_ιυ-ζ{_Φ_ι}。如果3個(gè)相鄰像素不是都屬于與該像素相同的平面,則集合選擇器優(yōu)選地調(diào)查第一相鄰像素和第二像素是否存在于與第一相鄰像素和當(dāng)前像素相同的行(或列)中。在這種情況下,計(jì)算器152基于這兩個(gè)像素的深度值來(lái)確定預(yù)測(cè),優(yōu)選地確定為Zi).=2χzi{j_x)-zi{j_2)。如果第一相鄰像素和第二像素不是都屬于與當(dāng)前像素相同的平面,則集合選擇器檢查第二相鄰像素和第三像素是否存在于與第二相鄰像素和當(dāng)前像素相同的列(或行)中。如果該條件滿足,則預(yù)測(cè)計(jì)算器152基于這兩個(gè)像素的深度值來(lái)確定預(yù)測(cè),優(yōu)選地確定為Z"=2χZ(/_1)y-Zu_2)jg備選地,上述檢查的順序可以與之前討論的不同。然而,如果任一條件都不滿足,則如本發(fā)明所述,集合選擇器調(diào)查第一和第二相鄰像素是否屬于相同的深度值平面。在這種情況下,預(yù)測(cè)提供器150選擇這兩個(gè)像素中與當(dāng)前像素的深度值最接近的深度值(即得到最小絕對(duì)差值)作為該像素的預(yù)測(cè)。此外,壓縮系統(tǒng)的引導(dǎo)比特提供器向該像素分配引導(dǎo)比特,其中該引導(dǎo)比特指示第一和第二相鄰像素中所選的像素。備選地,將這兩個(gè)像素的深度值進(jìn)行比較,以確定它們是否彼此相差很大。如果不是,則預(yù)測(cè)提供器150要基于兩個(gè)深度值的平均(可能在舍入之后)來(lái)確定預(yù)測(cè)。如果兩個(gè)值彼此不同,而且差值大于所定義的閾值,則如上所述選擇其中的任一個(gè)值。如果第一和第二相鄰像素不是都屬于與當(dāng)前像素相同的平面,則集合選擇器檢查第一相鄰像素是否屬于該相同平面,然后,如果不是,則調(diào)查第二相鄰像素是否屬于與要編碼的像素相同的平面。預(yù)測(cè)提供器150將深度值預(yù)測(cè)設(shè)置為等于第一和第二相鄰像素中屬于與該像素相同平面的那個(gè)相鄰像素的深度值。最終,如果基于平面表示確定第一和第二相鄰像素均不屬于與該像素相同的平面,則集合選擇器將集合確定為包含起始像素或重新起始像素??梢曰诋?dāng)前像素的平面表示來(lái)確定從這兩者中要選擇的像素。因此,如果該表示指示重新起始平面,則集合包括重新起始像素,否則包含起始像素。這意味著,預(yù)測(cè)提供器將深度值預(yù)測(cè)選擇為起始深度值和重新起始深度值之一。預(yù)測(cè)提供器150的單元152可以作為軟件、硬件或其組合來(lái)提供。單元152可以一起實(shí)現(xiàn)在預(yù)測(cè)提供器150中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在壓縮系統(tǒng)中的其他地方提供。圖16是圖12的表示確定器170的優(yōu)選實(shí)現(xiàn)的更詳細(xì)示意的框圖。確定器170包括誤差修改器172。修改器172處理所計(jì)算的預(yù)測(cè)誤差,以得到如上所述的正預(yù)測(cè)誤差,即針對(duì)負(fù)預(yù)測(cè)誤差(包括0)將預(yù)測(cè)誤差χ輸入函數(shù)η(χ)=-2χ,并針對(duì)正預(yù)測(cè)誤差(不包括0)將預(yù)測(cè)誤差χ輸入函數(shù)P(χ)=2χ-1。優(yōu)選地使用Golomb-Rice編碼器174對(duì)得到的修改后的預(yù)測(cè)誤差進(jìn)行編碼。該編碼器174基于來(lái)自誤差修改器172的正誤差的編碼來(lái)輸出編碼的預(yù)測(cè)誤差表示。一般地,編碼器174包括值搜索器,用于搜索值k。優(yōu)選地針對(duì)塊中的一組像素來(lái)確定值k,使得這些像素共享相同的值k。與針對(duì)塊中的每個(gè)像素具有專(zhuān)用的值k相比,這節(jié)省了最終壓縮塊表示的比特?cái)?shù)。值搜索器171可以在所有可用值k(如15)中執(zhí)行窮盡搜索。然后選擇得到最高效編碼(即最短壓縮塊表示)的值k,并用于該像素組。數(shù)值提供器173基于所確定的值k來(lái)提供指數(shù)1。在優(yōu)選實(shí)施例中,如果集合選擇器選擇的像素集合包括多個(gè)像素,則提供器173將該數(shù)值1確定為等于k。否則,l=wXk+h或/=|_沙><^:+/2」,其中w是權(quán)重值,優(yōu)選地w=0.5;h是常數(shù),優(yōu)選地h=10。除法器175使用所確定的值1,并將當(dāng)前組中的像素的預(yù)測(cè)誤差除以數(shù)值21以得到商和1比特余數(shù)。一元編碼器177被提供用于根據(jù)公知的過(guò)程來(lái)對(duì)商進(jìn)行一元編碼。然后,像素的編碼的預(yù)測(cè)誤差表示包括一元編碼的商、余數(shù)和值k。表示確定器170的單元171至177可以作為軟件、硬件或其組合來(lái)提供。單元171至177可以一起實(shí)現(xiàn)在表示確定器170中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在壓縮系統(tǒng)中的其他地方提供。解壓縮器圖17是根據(jù)本發(fā)明的解壓縮器或解壓縮系統(tǒng)200的示意框圖。系統(tǒng)200包括起始提供器210,用于提供像素塊的起始深度值。提供器210基于壓縮像素塊中包括的起始值表示來(lái)提供該起始值。優(yōu)選地,該起始值被分配為像素塊中具有預(yù)定位置的像素的深度值。相應(yīng)地,重新起始提供器220基于壓縮塊中的信息來(lái)提供重新起始深度值。該信息包括實(shí)際重新起始值的表示。此外,壓縮塊還包括允許對(duì)塊中的特定重新起始位置進(jìn)行標(biāo)識(shí)的信息。該位置信息可以是平面表示的比特映射,或者(盡管次優(yōu)選)專(zhuān)用的重新起始位置字。然后,所標(biāo)識(shí)的像素(重新起始像素)被分配有重新起始值,作為深度值。系統(tǒng)200還包括誤差確定器230,用于確定塊中至少一個(gè)像素的預(yù)測(cè)誤差。該預(yù)測(cè)誤差是基于與像素相關(guān)聯(lián)并包括在塊中的編碼的誤差表示來(lái)確定的。集合選擇器240基于與像素相關(guān)聯(lián)的平面表示來(lái)選擇像素集合,該像素集合包括塊中至少一個(gè)其他先前解碼的像素。優(yōu)選地,平面提供器270從壓縮像素塊中取回這些平面表示。集合選擇器240的操作與結(jié)合圖12的壓縮系統(tǒng)并且還結(jié)合圖7A和7B討論的集合選擇器240類(lèi)似。然后,預(yù)測(cè)提供器250基于所選像素集合中包括的像素的深度值來(lái)提供要解碼的像素的深度值的預(yù)測(cè)。表示計(jì)算器260使用來(lái)自預(yù)測(cè)提供器250的預(yù)測(cè)與來(lái)自誤差確定器230的預(yù)測(cè)誤差一起,來(lái)計(jì)算像素的深度值的表示,從而產(chǎn)生解碼的像素。解壓縮系統(tǒng)200的單元210至270可以作為軟件、硬件或其組合來(lái)提供。單元210至270可以一起實(shí)現(xiàn)在解壓縮系統(tǒng)200中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在深度緩沖器架構(gòu)中的其他地方提供。圖18是誤差確定器230的實(shí)施例的示意框圖。確定器230包括=Golomb-Rice解碼器232,對(duì)壓縮塊中的編碼的預(yù)測(cè)誤差表示進(jìn)行操作。具體地,如上所述,解碼器232使用像素的一元編碼的商、1比特余數(shù)和值k來(lái)計(jì)算預(yù)測(cè)誤差。誤差確定器230的單元232可以作為軟件、硬件或其組合來(lái)提供。單元232可以一起實(shí)現(xiàn)在誤差確定器230中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在解壓縮系統(tǒng)中的其他地方提供。圖19是圖17的預(yù)測(cè)提供器250的一種可能實(shí)現(xiàn)。該提供器包括預(yù)測(cè)計(jì)算器252,被配置為基于集合選擇器所選擇的像素集合中包括的多個(gè)像素的深度值來(lái)計(jì)算深度值預(yù)測(cè)。如上結(jié)合圖7A的步驟S41、S43或S45所述,計(jì)算器252根據(jù)選擇了哪個(gè)特定像素集合,來(lái)計(jì)算預(yù)測(cè)。否則,如圖7B的步驟S48、S5US53或S54中所公開(kāi)的,預(yù)測(cè)提供器250提供深度值預(yù)測(cè)。預(yù)測(cè)提供器250的單元252可以作為軟件、硬件或其組合來(lái)提供。單元252可以一起實(shí)現(xiàn)在預(yù)測(cè)提供器250中。備選地,分布式實(shí)現(xiàn)也是可能的,其中一些單元在解壓縮系統(tǒng)中的其他地方提供。在特定實(shí)施例中,壓縮或解壓縮系統(tǒng)的集合選擇器被配置為將像素集合選擇為包含相對(duì)于要壓縮或解壓縮的至少一個(gè)像素,在塊中沿第一預(yù)測(cè)方向存在的第一相鄰像素;相對(duì)于所述至少一個(gè)像素,在塊中沿第二預(yù)測(cè)方向存在的第二相鄰像素;以及相對(duì)于所述至少一個(gè)像素,在塊中沿第三預(yù)測(cè)方向存在的第三相鄰像素(在基于平面表示確定第一、第二和第三相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。在這種情況下,壓縮或解壓縮系統(tǒng)的預(yù)測(cè)提供器包括預(yù)測(cè)計(jì)算器,用于將預(yù)測(cè)計(jì)算為等于第一和第二相鄰像素的深度值之和減去第三相鄰像素的深度值。在另一特定實(shí)施例中,集合選擇器被配置為將像素集合選擇為包含相對(duì)于所述至少一個(gè)像素,在塊中沿第一預(yù)測(cè)方向存在的第一相鄰像素;以及沿第一預(yù)測(cè)方向的第二像素(在基于平面表示確定第一相鄰像素和第二像素屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。在這種情況下,預(yù)測(cè)提供器包括預(yù)測(cè)計(jì)算器,用于將預(yù)測(cè)計(jì)算為等于第一相鄰像素的深度值的兩倍減去第二像素的深度值。在另一特定實(shí)施例中,集合選擇器被配置為將像素集合選擇為包含相對(duì)于所述至少一個(gè)像素,在塊中沿第二預(yù)測(cè)方向存在的第二相鄰像素;以及沿第二預(yù)測(cè)方向的第三像素(在基于平面表示確定第二相鄰像素和第三像素屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。在這種情況下,預(yù)測(cè)提供器包括預(yù)測(cè)計(jì)算器,用于將預(yù)測(cè)計(jì)算為等于第二相鄰像素的深度值的兩倍減去第三像素的深度值。優(yōu)選地,集合選擇器被配置為將像素集合選擇為包含第一相鄰像素和第二相鄰像素之一(在基于所述平面表示確定第一、第二和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第一相鄰像素和第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第二相鄰像素和第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,但是第一和第二相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。壓縮系統(tǒng)還包括引導(dǎo)提供器,用于提供與第一和第二相鄰像素中所選的像素相關(guān)聯(lián)的引導(dǎo)比特,其中,塊的壓縮表示包括弓I導(dǎo)比特。優(yōu)選地,解壓縮系統(tǒng)的集合選擇器被配置為,基于分配給所述至少一個(gè)像素并包括在壓縮像素塊中的引導(dǎo)比特,將像素集合選擇為包含第一相鄰像素和第二相鄰像素之一(在基于平面表示確定第一、第二和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第一相鄰像素和第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第二相鄰像素和第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,但是第一和第二相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。此外,優(yōu)選地,集合選擇器被配置為將像素集合選擇為包含第一相鄰像素(在基于平面表示確定第一、第二和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第一相鄰像素和第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第二相鄰像素和第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第二相鄰像素不屬于與所述至少一個(gè)像素相同的深度值平面,但是第一相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。優(yōu)選地,集合選擇器還被配置為將像素集合選擇為包含與起始深度值或重新起始深度值相關(guān)聯(lián)的像素(在基于平面表示確定第一、第二和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第一相鄰像素和第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第二相鄰像素和第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且第一相鄰像素不屬于與所述至少一個(gè)像素相同的深度值平面,且第二相鄰像素不屬于與所述至少一個(gè)像素相同的深度值平面的情況下)。圖20是示意了針對(duì)不同分辨率的“陰影”場(chǎng)景的壓縮性能的圖,其中100%表示原始帶寬。虛線與Haselgren和Akenine-M5ller[2]提出的深度緩沖器壓縮方案相對(duì)應(yīng),實(shí)線表示本發(fā)明的深度緩沖器壓縮。注意本發(fā)明的性能如何在除最高分辨率之外的所有分辨率上優(yōu)于當(dāng)前現(xiàn)有技術(shù)。在多種分辨率中使用了相同的場(chǎng)景以測(cè)試針對(duì)不同大小的三角形的性能。較低分辨率意味著三角形與像素相比較小,即“高復(fù)雜度”類(lèi)型的場(chǎng)景。高分辨率意味著三角形與像素相比較大,表示“低復(fù)雜度”類(lèi)型的場(chǎng)景。本領(lǐng)域技術(shù)人員可以理解,在不脫離由所附權(quán)利要求限定的本發(fā)明的范圍的前提下,可以對(duì)本發(fā)明做出各種修改和改變。參考文獻(xiàn)[1]Rasmusson,HasselgrenandAkenine-Moller,"ExactandError-boundedApproximateColorBufferCompressionandDecompression,,,GraphicsHardware,2007,pp.41-48[2]HaselgrenandAkenine-Moller,"EfficientDepthBufferCompression,,,GraphicsHardware,2006,pp.103-110[3]LapidousandJiao,,,OptimalDepthBufferforLow-CostGraphicsHardware,,,GraphicsHardware,1999,pp67—732權(quán)利要求一種對(duì)多個(gè)像素的塊進(jìn)行壓縮的方法,每個(gè)像素包括相應(yīng)的深度值,所述方法包括以下步驟選擇所述塊中的多個(gè)深度值中的起始深度值,所述起始深度值屬于第一深度值平面;選擇所述塊中的多個(gè)深度值中的重新起始深度值,所述重新起始深度值屬于第二深度值平面;針對(duì)所述多個(gè)像素中的至少一部分,產(chǎn)生相應(yīng)的平面表示,所述平面表示指示所述多個(gè)像素中的所述至少一部分屬于所述第一深度值平面和所述第二深度值平面中的哪一個(gè)平面;針對(duì)所述塊中的至少一個(gè)像素,選擇由所述塊中的至少一個(gè)其他像素組成的像素集合,所述選擇基于所述至少一個(gè)像素和所述像素集合的平面表示;基于所選擇的像素集合的至少一個(gè)深度值來(lái)提供所述至少一個(gè)像素的深度值的預(yù)測(cè);基于所述至少一個(gè)像素的所述深度值和所述預(yù)測(cè)來(lái)估計(jì)預(yù)測(cè)誤差;以及確定所述預(yù)測(cè)誤差的編碼的表示,其中,所述塊的壓縮表示包括所述起始深度值的表示、所述重新起始值的表示和所述預(yù)測(cè)誤差的所述編碼的表示。2.根據(jù)權(quán)利要求1所述的方法,其中,選擇重新起始深度值的所述步驟包括以下步驟-標(biāo)識(shí)所述塊中的所述多個(gè)深度值中與所述起始深度值相差最多的深度值;-針對(duì)所述多個(gè)像素中的至少一部分,確定像素的深度值與所述起始深度值之間的相應(yīng)第一差值;-針對(duì)所述多個(gè)像素中的所述至少一部分,確定所述像素的所述深度值與所標(biāo)識(shí)的深度值之間的相應(yīng)第二差值;以及-基于所確定的第一和第二差值來(lái)選擇所述重新起始深度值。3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述產(chǎn)生步驟包括以下步驟-確定像素的深度值與所述起始深度值之間的第一差值;_確定所述像素的所述深度值與所述塊中與所述起始深度值相差最多的深度值之間的第二差值;以及-在所述第一差值的絕對(duì)值小于所述第二差值的絕對(duì)值的情況下,產(chǎn)生所述平面表示以指示所述第一深度值平面,否則產(chǎn)生所述平面表示以指示所述第二深度值平面。4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,所述確定步驟包括以下步驟-修改所述預(yù)測(cè)誤差以得到正預(yù)測(cè)誤差;以及-通過(guò)以下步驟對(duì)所述正預(yù)測(cè)誤差進(jìn)行Golomb-Rice編碼,以得到所述預(yù)測(cè)誤差的所述編碼的表示-搜索值k,其中k為O或正整數(shù);-如果所選擇的像素集合包括多個(gè)像素,則提供數(shù)值1等于k,否則基于wXk+h來(lái)提供數(shù)值1,其中h是預(yù)定常數(shù),W是預(yù)定權(quán)重;-將所述正預(yù)測(cè)誤差除以21以形成商和余數(shù);以及-對(duì)所述商進(jìn)行一元編碼,其中,所述預(yù)測(cè)誤差的所述編碼的表示包括所述余數(shù)的表示和所述一元編碼的商,并且所述塊的所述壓縮表示包括k的表示。5.一種對(duì)壓縮像素塊進(jìn)行解壓縮的方法,所述方法包括以下步驟-基于所述壓縮像素塊中包括的起始值表示來(lái)確定起始深度值,所述起始深度值屬于第一深度值平面;-基于所述壓縮像素塊中包括的重新起始值表示來(lái)提供重新起始深度值,所述重新起始深度值屬于第二深度值平面;_針對(duì)所述塊中的至少一個(gè)像素,基于與所述至少一個(gè)像素相關(guān)聯(lián)并包括在所述壓縮像素塊中的編碼的誤差表示來(lái)確定預(yù)測(cè)誤差;-針對(duì)所述至少一個(gè)像素,選擇包括所述塊中的至少一個(gè)其他像素在內(nèi)的像素集合,所述選擇基于與所述至少一個(gè)像素和所述像素集合相關(guān)聯(lián)的平面表示,所述平面表示指示像素屬于所述第一深度值平面和所述第二深度值平面中的哪一個(gè)平面;_基于所選擇的像素集合中的至少一個(gè)深度值來(lái)提供所述至少一個(gè)像素的深度值的預(yù)測(cè);以及-基于所述預(yù)測(cè)誤差和所述預(yù)測(cè)來(lái)計(jì)算所述至少一個(gè)像素的所述深度值的表示。6.根據(jù)權(quán)利要求5所述的方法,還包括針對(duì)所述多個(gè)像素中的至少一部分,根據(jù)所述壓縮像素塊來(lái)提供相應(yīng)平面表示。7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其中,選擇所述像素集合的所述步驟包括如果基于所述平面表示確定所述塊(300)中相對(duì)于所述至少一個(gè)像素沿第一預(yù)測(cè)方向存在的第一相鄰像素、所述塊中相對(duì)于所述至少一個(gè)像素沿第二預(yù)測(cè)方向存在的第二相鄰像素和所述塊中相對(duì)于所述至少一個(gè)像素沿第三預(yù)測(cè)方向存在的第三相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面,則將所述像素集合選擇為包括所述第一相鄰像素、第二相鄰像素和第三相鄰像素。8.根據(jù)權(quán)利要求7所述的方法,其中,提供所述預(yù)測(cè)的所述步驟包括將所述預(yù)測(cè)計(jì)算為等于所述第一相鄰像素和第二相鄰像素的深度值之和減去所述第三相鄰像素的深度值。9.根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的方法,其中,選擇所述像素集合的所述步驟包括如果基于所述平面表示確定所述塊中相對(duì)于所述至少一個(gè)像素沿第一預(yù)測(cè)方向存在的第一相鄰像素和沿所述第一預(yù)測(cè)方向的第二像素屬于與所述至少一個(gè)像素相同的深度值平面,則將所述像素集合選擇為包括所述第一相鄰像素和所述第二像素。10.根據(jù)權(quán)利要求9所述的方法,其中,提供所述預(yù)測(cè)的所述步驟包括將所述預(yù)測(cè)計(jì)算為等于所述第一相鄰像素的深度值的兩倍減去所述第二像素的深度值。11.根據(jù)權(quán)利要求1至10中任一項(xiàng)所述的方法,其中,選擇所述像素集合的所述步驟包括如果基于所述平面表示確定所述塊中相對(duì)于所述至少一個(gè)像素沿第二預(yù)測(cè)方向存在的第二相鄰像素和沿所述第二預(yù)測(cè)方向的第三像素屬于與所述至少一個(gè)像素相同的深度值平面,則將所述像素集合選擇為包括所述第二相鄰像素和所述第三像素。12.根據(jù)權(quán)利要求11所述的方法,其中,提供所述預(yù)測(cè)的所述步驟包括將所述預(yù)測(cè)計(jì)算為等于所述第二相鄰像素的深度值的兩倍減去所述第三像素的深度值。13.根據(jù)權(quán)利要求7至12中任一項(xiàng)所述的方法,其中,選擇所述像素集合的所述步驟包括以下步驟-如果基于所述平面表示確定所述第一相鄰像素、第二相鄰像素和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第一相鄰像素和所述第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第二相鄰像素和所述第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,但是所述第一相鄰像素和所述第二相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面,則將所述像素集合選擇為包括所述第一相鄰像素和所述第二相鄰像素之一;以及提供與所述第一相鄰像素和所述第二相鄰像素中所選的像素相關(guān)聯(lián)的引導(dǎo)比特,其中所述塊的所述壓縮表示包括所述弓I導(dǎo)比特。14.根據(jù)權(quán)利要求7至12中任一項(xiàng)所述的方法,其中,選擇所述像素集合的所述步驟包括如果基于所述平面表示確定所述第一相鄰像素、第二相鄰像素和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第一相鄰像素和所述第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第二相鄰像素和所述第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,但是所述第一相鄰像素和所述第二相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面,則基于分配給所述像素并包括在所述壓縮像素塊中的引導(dǎo)比特,將所述像素集合選擇為包含所述第一相鄰像素和所述第二相鄰像素之一。15.根據(jù)權(quán)利要求13或14所述的方法,其中,選擇所述像素集合的所述步驟包括如果基于所述平面表示確定所述第一相鄰像素、第二相鄰像素和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第一相鄰像素和所述第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第二相鄰像素和所述第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第二相鄰像素不屬于與所述至少一個(gè)像素相同的深度值平面,但是所述第一相鄰像素屬于與所述至少一個(gè)像素相同的深度值平面,則將所述像素集合選擇為包含所述第一相鄰像素。16.根據(jù)權(quán)利要求15所述的方法,其中,選擇所述像素集合的所述步驟包括如果基于所述平面表示確定所述第一相鄰像素、第二相鄰像素和第三相鄰像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第一相鄰像素和所述第二像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第二相鄰像素和所述第三像素不都屬于與所述至少一個(gè)像素相同的深度值平面,且所述第一相鄰像素不屬于與所述至少一個(gè)像素相同的深度值平面,且所述第二相鄰像素不屬于與所述至少一個(gè)像素相同的深度值平面,則將所述像素集合選擇為包含與所述起始深度值或所述重新起始深度值相關(guān)聯(lián)的像素。17.一種對(duì)多個(gè)像素的塊進(jìn)行壓縮的塊壓縮系統(tǒng),每個(gè)像素包括深度值,所述系統(tǒng)包括-起始選擇器,用于選擇所述塊中的多個(gè)深度值中的起始深度值,所述起始深度值屬于第一深度值平面;-重新起始選擇器,用于選擇所述塊中的多個(gè)深度值中的重新起始深度值,所述重新起始深度值屬于第二深度值平面;-平面表示產(chǎn)生器,用于針對(duì)所述多個(gè)像素中的至少一部分,產(chǎn)生相應(yīng)的平面表示,所述平面表示指示所述多個(gè)像素中的所述至少一部分屬于所述第一深度值平面和所述第二深度值平面中的哪一個(gè)平面;-集合選擇器,用于針對(duì)所述塊中的至少一個(gè)像素,選擇由所述塊中的至少一個(gè)其他像素組成的像素集合,所述選擇基于所述至少一個(gè)像素和所述像素集合的平面表示;_預(yù)測(cè)提供器,用于基于所選擇的像素集合的至少一個(gè)深度值來(lái)提供所述至少一個(gè)像素的深度值的預(yù)測(cè);_誤差估計(jì)器,用于基于所述至少一個(gè)像素的所述深度值和所述預(yù)測(cè)來(lái)估計(jì)預(yù)測(cè)誤差;以及-表示確定器,用于確定所述預(yù)測(cè)誤差的編碼的表示,其中,所述塊的壓縮表示包括所述起始深度值的表示、所述重新起始值的表示和所述預(yù)測(cè)誤差的所述編碼的表示。18.根據(jù)權(quán)利要求17所述的系統(tǒng),其中,所述重新起始選擇器包括-值標(biāo)識(shí)器,用于標(biāo)識(shí)所述塊中的所述多個(gè)深度值中與所述起始深度值相差最多的深度值;-差值計(jì)算器,用于針對(duì)所述多個(gè)像素中的至少一部分,確定像素的深度值與所述起始深度值之間的相應(yīng)第一差值以及所述像素的所述深度值與所標(biāo)識(shí)的深度值之間的相應(yīng)第二差值;以及_值選擇器,用于基于所確定的第一和第二差值來(lái)選擇所述重新起始深度值。19.根據(jù)權(quán)利要求17或18所述的系統(tǒng),其中,所述平面表示產(chǎn)生器包括-差值確定器,用于確定像素的深度值與所述起始深度值之間的第一差值,并確定所述像素的所述深度值與所述塊中與所述起始深度值相差最多的深度值之間的第二差值;以及-表示產(chǎn)生器,用于在所述第一差值小于所述第二差值的情況下,產(chǎn)生所述平面表示以指示所述第一深度值平面,否則產(chǎn)生所述平面表示以指示所述第二深度值平面。20.根據(jù)權(quán)利要求17至19中任一項(xiàng)所述的系統(tǒng),其中,所述表示確定器包括-誤差修改器,用于修改所述預(yù)測(cè)誤差以得到正預(yù)測(cè)誤差;以及-Golomb-Rice編碼器,進(jìn)而包括-值搜索器,用于搜索值k,其中k為O或正整數(shù);-數(shù)值提供器,用于如果所選擇的像素集合包括多個(gè)像素,則提供數(shù)值1等于k,否則基于wXk+h來(lái)提供數(shù)值1,其中h是預(yù)定常數(shù),w是預(yù)定權(quán)重;-除法器,用于將所述正預(yù)測(cè)誤差除以21以形成商和余數(shù);以及-一元編碼器,用于對(duì)所述商進(jìn)行一元編碼,其中,所述預(yù)測(cè)誤差的所述編碼的表示包括所述余數(shù)的表示和所述一元編碼的商,并且所述塊的所述壓縮表示包括k的表示。21.—種對(duì)壓縮像素塊進(jìn)行解壓縮的塊解壓縮系統(tǒng),所述系統(tǒng)包括-起始提供器,用于基于所述壓縮像素塊中包括的起始值表示來(lái)提供起始深度值,所述起始深度值屬于第一深度值平面;_重新起始提供器,用于基于所述壓縮像素塊中包括的重新起始值表示來(lái)提供重新起始深度值,所述重新起始深度值屬于第二深度值平面;-誤差確定器,用于針對(duì)所述塊中的至少一個(gè)像素,基于與所述至少一個(gè)像素相關(guān)聯(lián)并包括在所述壓縮像素塊中的編碼的誤差表示來(lái)確定預(yù)測(cè)誤差;-集合選擇器,用于針對(duì)所述至少一個(gè)像素,選擇包括所述塊中的至少一個(gè)其他像素在內(nèi)的像素集合,所述選擇基于與所述至少一個(gè)像素和所述像素集合相關(guān)聯(lián)的平面表示,所述平面表示指示像素屬于所述第一深度值平面和所述第二深度值平面中的哪一個(gè)平面;_預(yù)測(cè)提供器,用于基于所選擇的像素集合中的至少一個(gè)深度值來(lái)提供所述至少一個(gè)像素的深度值的預(yù)測(cè);以及_表示計(jì)算器,用于基于所述預(yù)測(cè)誤差和所述預(yù)測(cè)來(lái)計(jì)算所述至少一個(gè)像素的所述深度值的表示。22.根據(jù)權(quán)利要求21所述的系統(tǒng),還包括平面提供器,用于針對(duì)所述多個(gè)像素中的至少一部分,根據(jù)所述壓縮像素塊來(lái)提供相應(yīng)平面表示。全文摘要本發(fā)明通過(guò)基于像素塊(300)中的像素(310-318)的多個(gè)深度值來(lái)選擇起始深度值和重新起始深度值,從而對(duì)像素塊(300)進(jìn)行壓縮。針對(duì)像素(311-318)確定指示起始深度值平面或重新起始深度值平面中的哪一個(gè)的相應(yīng)平面表示(430)。采用這些平面表示(430)來(lái)針對(duì)要編碼的像素(318)選擇像素集合,所述像素集合包括塊(300)中的至少一個(gè)其他像素(312、314-317)。使用集合中的像素(312、314-317)的深度值來(lái)確定所述像素(318)的值的預(yù)測(cè)。采用深度值和預(yù)測(cè)來(lái)計(jì)算預(yù)測(cè)誤差,并對(duì)預(yù)測(cè)誤差進(jìn)行編碼。壓縮像素塊(400)包括編碼的預(yù)測(cè)誤差(460)、起始值表示(420)、重新起始值表示(430)和平面表示(440)。文檔編號(hào)G06T15/40GK101925925SQ200880125271公開(kāi)日2010年12月22日申請(qǐng)日期2008年5月6日優(yōu)先權(quán)日2008年1月21日發(fā)明者玻爾·溫納斯滕,雅各布·斯特羅姆申請(qǐng)人:艾利森電話股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1