專利名稱:用深度圖像表示三維物體的節(jié)點(diǎn)結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到一種表示基于三維(3D)物體的深度圖像的節(jié)點(diǎn)結(jié)構(gòu),具體地說,涉及一種通過具有深度信息的圖像表示物體的節(jié)點(diǎn)結(jié)構(gòu)。
背景技術(shù):
自從研究三維(3D)圖形開始以來,研究者的根本目的是象實(shí)際圖像一樣合成實(shí)際圖形景色。因此,在傳統(tǒng)著色技術(shù)的研究中已經(jīng)利用多邊形模型,結(jié)果是,建模和著色技術(shù)的發(fā)展已經(jīng)足以提供非常真實(shí)的3D環(huán)境。然而,產(chǎn)生復(fù)雜模型的過程需要通過專家大量的努力并花費(fèi)大量時(shí)間。同樣,現(xiàn)實(shí)中復(fù)雜的環(huán)境需要巨量的信息而導(dǎo)致存儲(chǔ)和傳輸?shù)牡托省?br>
當(dāng)前,多邊形模型通常用來在計(jì)算機(jī)圖形上表示3D物體。利用多組顏色多邊形,即利用多組顏色三角形可基本表示一個(gè)任意形狀。先進(jìn)的軟件算法和圖形硬件的開發(fā)使得作為實(shí)際上靜止和運(yùn)動(dòng)圖像多邊形模型的可視復(fù)雜物體和景色而變得可能。
然而,可替換的3D表示的探索在近十年中非?;钴S。為此,主要原因包括為實(shí)物建立多邊形模型的困難以及為產(chǎn)生真圖片實(shí)際景色著色的復(fù)雜度和不令人滿意的質(zhì)量。
所需要的應(yīng)用需用大量的多邊形;例如,人體的詳細(xì)模型包含幾百萬個(gè)三角形,這不容易處理。盡管近來在范圍尋找技術(shù)中有了發(fā)展,如激光范圍掃描器,使我們可以獲取具有可容忍錯(cuò)誤的密集范圍數(shù)據(jù),但它仍然非常昂貴且很難得到整個(gè)物體的無縫的完全多邊形模型。另一方面,獲得實(shí)際圖片質(zhì)量的著色(rendering)算法計(jì)算上很復(fù)雜,因此遠(yuǎn)遠(yuǎn)不能實(shí)時(shí)著色。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面是利用深度圖像為表示三維(3D)物體提供節(jié)點(diǎn)結(jié)構(gòu),對(duì)計(jì)算機(jī)圖形和動(dòng)畫,這稱為基于深度圖像表示(DIBR),它已經(jīng)被采用到MPEG-4動(dòng)畫結(jié)構(gòu)擴(kuò)展中(AFX)。
一個(gè)方面是基于深度圖像的節(jié)點(diǎn)結(jié)構(gòu),它包括一個(gè)紋理域和一深度域,紋理域中記錄包括每個(gè)像素的顏色的彩色圖像,深度域中記錄每個(gè)像素的深度值。
另一個(gè)方面是基于深度圖像的節(jié)點(diǎn)結(jié)構(gòu),它包括一大小域,一分辨率域,一深度域,和一顏色域,大小域中記錄圖像平面的大小信息,分辨率域中記錄每個(gè)像素的深度分辨率,深度域中記錄每個(gè)像素的深度信息的多片,顏色域中記錄每個(gè)像素的顏色信息。
還有一個(gè)方面是基于深度圖像的節(jié)點(diǎn)結(jié)構(gòu),它包括一視點(diǎn)域,一可見域,一投影方法域,一距離域,和一紋理域,視點(diǎn)域中記錄圖像平面的視點(diǎn),可見域中記錄從視點(diǎn)到圖像平面的可視區(qū)域,投影方法域中記錄從視點(diǎn)到圖像平面的的投影方法,距離域中記錄從近平面到遠(yuǎn)平面的距離,紋理域中記錄彩色圖像。
還有另一個(gè)方面是基于深度圖像的節(jié)點(diǎn)結(jié)構(gòu),它包括一分辨率域,一八叉樹(octree)域,一指數(shù)(index)域,和一圖像域,分辨率域中記錄沿著包圍包含物體的立方體的邊的八叉樹葉的最大值,八叉樹域中記錄八叉樹內(nèi)部節(jié)點(diǎn)的結(jié)構(gòu),指數(shù)域中記錄與內(nèi)部節(jié)點(diǎn)相應(yīng)的參照?qǐng)D像的指數(shù),圖像域中記錄參照?qǐng)D像。
根據(jù)本發(fā)明,基于圖像模型的著色時(shí)間與在參照和輸出圖像中的像素的數(shù)量成正比,但一般來講,在多邊形情況下不與幾何復(fù)雜度成正比。另外,當(dāng)基于圖像的表示應(yīng)用到實(shí)際物體和景色中時(shí),在沒有利用數(shù)以百萬計(jì)的多邊形和昂貴計(jì)算的情況下,使自然景色的逼真圖像的著色變得可能。
參照附圖,通過優(yōu)選實(shí)施例的詳細(xì)描述,本發(fā)明的上述目的和優(yōu)點(diǎn)將變得更加明顯,其中圖1示出了集成于當(dāng)前標(biāo)準(zhǔn)軟件中的IBR的實(shí)例;圖2示出了八叉樹結(jié)構(gòu)和各子的順序;圖3示出了八叉樹壓縮率;圖4示出了分層深度圖像(LDI)的例子的圖(a)示出了黑單元(體元)對(duì)應(yīng)于1和白單元對(duì)應(yīng)于0的物體的投影;和(b)示出了在(x,深度)的2D部分;圖5示出了在重置它的顏色數(shù)據(jù)之后的“天使”模型的顏色組件;圖6示出了節(jié)點(diǎn)出現(xiàn)幾率的正交不變性(a)示出了原始當(dāng)前和父節(jié)點(diǎn),和(b)示出了圍繞Y軸旋轉(zhuǎn)90度的當(dāng)前和父節(jié)點(diǎn);圖7、8和9示出了對(duì)于最好的基于PPM的方法的幾何壓縮圖;圖10示出了將‘天使’點(diǎn)紋理模型的顏色域重新調(diào)整成為2D圖像的兩種方式;圖11示出了無損幾何和有損顏色壓縮的例子(a)和(b)分別是‘天使’模型的原有和壓縮的形式,及(c)和(d)分別是‘莫頓256’模型的原有和壓縮形式;圖12示出了‘天使’的BVO模型和TBVO模型;圖13示出了在TBVO中由另外的相機(jī)得到的另外的圖像;(a)是相機(jī)指數(shù)圖像,(b)是第一另外圖像(c)是第二另外圖像;圖14示出了編寫TBVO流的實(shí)例(a)示出了TBVO樹形結(jié)構(gòu),灰色為“未定義”的紋理符號(hào),每一種顏色表示相機(jī)的指數(shù);(b)示出了八叉樹在BVO節(jié)點(diǎn)和相機(jī)指數(shù)中的遍歷順序;(c)示出了所得結(jié)果的TBVO流,其中充填的立方體和八叉樹立方體分別表示紋理的字節(jié)和BVO字節(jié);圖15、17、18和19分別示出了‘天使’、‘莫頓’、‘棕櫚512’和‘機(jī)器人512’的TBVO壓縮的結(jié)果的圖;圖16示出了‘天使’和‘莫頓’模型的剝離圖像;圖20示出了立體紋理圖和深度圖的例子的圖解;圖21示出了分層的深度圖(LDI)例子的圖解(a)示出了物體的投影圖,和(b)示出了分層的像素;圖22示出了盒子紋理(BT)的實(shí)例,其中六個(gè)簡單的紋理(圖像和深度圖對(duì))被用于著色表示在中心的模型;圖23示出了廣義盒子紋理(GBT)(a)示出了‘掌紋’模式的攝像位置,(b)示出了同一模式(使用的21個(gè)簡單的紋理)的參考圖像面板;圖24示出了以2D模式表示的八叉樹表示的實(shí)例(a)示出了“點(diǎn)云”,(b)示出了相關(guān)的中圖;圖25示出了用于寫TBVO比特流的偽代碼;圖26示出了DIBR節(jié)點(diǎn)的規(guī)格;
圖27示出了深度圖像的視見體積模型圖(a)是透視圖,(b)是正交圖;圖28示出了基于OpenGL的簡單紋理的著色的偽代碼;圖29示出了簡單紋理的參照?qǐng)D像壓縮的實(shí)例(a)示出了初始參照?qǐng)D像,和(b)示出了以JPEG格式的改進(jìn)的參照?qǐng)D像;圖30示出了以不同格式表示“莫頓”模型的著色結(jié)果的實(shí)例(a)為初始多邊形格式,(b)為深度圖像格式,和(c)為八叉樹圖像格式;圖31示出了著色實(shí)例(a)以深度圖像格式示出了掃描的“塔”模型,(b)以八叉樹圖像格式示出了同一模型(在沒有遭受去除的情況下使用掃描數(shù)據(jù),從而在模型的上半部有黑點(diǎn));圖32示出了棕櫚模型著色的實(shí)例圖(a)示出了初始多邊形格式,和(b)以深度圖像格式示出了同一模型;圖33示出了以八叉樹圖像從“龍512”動(dòng)畫中表示框架的著色實(shí)例;圖34示出了以點(diǎn)紋理格式的“天使512”模型的著色實(shí)例;圖35A和35B示出了當(dāng)分別代表具有簡單紋理節(jié)點(diǎn)和點(diǎn)紋理節(jié)點(diǎn)的深度圖像的對(duì)象時(shí),表示各個(gè)節(jié)點(diǎn)關(guān)系的示意圖;和圖36示出了當(dāng)用八叉樹節(jié)點(diǎn)代表一個(gè)物體時(shí)的相應(yīng)八叉樹圖像的結(jié)構(gòu)圖。
具體實(shí)施例方式
該申請(qǐng)要求列在下面的美國臨時(shí)申請(qǐng)的權(quán)利,在此全部參照引用。
下面描述在美國臨時(shí)申請(qǐng)?zhí)枮?0/333167,2001年11月27日申請(qǐng)的名稱為“編碼基于圖像的三維形式的繪圖數(shù)據(jù)的技術(shù)及其裝置”中描述的本發(fā)明。I.ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO1.引言在該文章中,基于圖像著色的中心試驗(yàn)的結(jié)果,報(bào)道了AFX A8.3。圖像著色技術(shù)的中心實(shí)現(xiàn)使用深度信息的紋理。而且,根據(jù)在第57屆MPEG會(huì)議之后的試驗(yàn)和10月份的AFX特別成員會(huì)議的討論,提出了節(jié)點(diǎn)具體化的少量變化。
1.試驗(yàn)結(jié)果
1.1試驗(yàn)?zāi)P汀耢o止物體■具有簡單紋理的深度圖像節(jié)點(diǎn)◆狗◆Tirannosaurus Rex(深度圖像,利用大約20個(gè)相機(jī))◆Terrasque(一個(gè)怪物)(深度圖像,利用大約20個(gè)相機(jī))◆ChumSungDae(深度圖像,掃描數(shù)據(jù))◆棕櫚樹(深度圖像,20個(gè)相機(jī))■具有層狀紋理的深度圖像節(jié)點(diǎn)◆角■具有點(diǎn)紋理的深度圖像節(jié)點(diǎn)◆角■八叉樹圖像節(jié)點(diǎn)◆生物●動(dòng)畫物體■具有簡單紋理的深度圖像節(jié)點(diǎn)◆龍◆具有場景環(huán)境的龍■具有層狀紋理的深度圖像節(jié)點(diǎn)◆未提供■八叉樹圖像節(jié)點(diǎn)◆機(jī)器人◆具有場景環(huán)境的龍●更多數(shù)據(jù)(掃描或者模式化的)應(yīng)當(dāng)在將來提供。
2.2測試結(jié)果●在悉尼提出的所有節(jié)點(diǎn)可集成于blaxxun contact4.3標(biāo)準(zhǔn)軟件。然而,該源仍未在cvs服務(wù)器下載。
●IBR動(dòng)畫格式需要在多幅影像文件之間以這樣的方式同步,該方式為從每個(gè)影像文件的同一關(guān)鍵框架的圖像必須在同一時(shí)間給定。然而,當(dāng)前標(biāo)準(zhǔn)軟件不支持這種同步能力,這在MPEG系統(tǒng)是可能的。因此,假定所有動(dòng)畫數(shù)據(jù)當(dāng)前已經(jīng)存在于該文件中時(shí),動(dòng)畫格式可以看到。以AVI格式的影像文件可暫時(shí)用于每個(gè)動(dòng)畫紋理中。
●在具有層狀紋理的一些實(shí)驗(yàn)后,我們相信層狀紋理節(jié)點(diǎn)無效。該節(jié)點(diǎn)為層狀深度圖像而提出。然而,仍然有一些能支持的點(diǎn)紋理節(jié)點(diǎn)。因此,我們提出從節(jié)點(diǎn)規(guī)格中去除層狀紋理節(jié)點(diǎn)。
3.IBR節(jié)點(diǎn)規(guī)格的更新對(duì)IBR建議的悉尼會(huì)議的結(jié)論為包含圖像和攝像信息的IBR流,且IBR節(jié)點(diǎn)將僅有鏈接(url)給它。然而,在Rennes的AhG會(huì)議期間,關(guān)于IBR的討論結(jié)果為在IBR節(jié)點(diǎn)和流上具有圖像和攝像信息。因此,下述為IBR節(jié)點(diǎn)更新節(jié)點(diǎn)規(guī)格。IBR流的要求在解釋url域的部分被給定。
解碼程序(比特流)-節(jié)點(diǎn)規(guī)格深度圖像{域SFVec3f 位置 0 0 10域SFRotation 方位 0 0 10域SFVec2f fieldOfView 0.785398 0.785398域SFFloat 近平面10域SFFloat 遠(yuǎn)平面100域SFBool 正交 FALSE域SFNode di紋理NULL域SFString深度圖像Url “”}深度圖像節(jié)點(diǎn)定義一單個(gè)IBR紋理。當(dāng)多個(gè)深度圖像節(jié)點(diǎn)相互聯(lián)系時(shí),它們可作為一組得到處理,因此,應(yīng)當(dāng)置于同一變換節(jié)點(diǎn)下。
Di紋理域指定深度的紋理,應(yīng)當(dāng)畫入到深度圖像指定的區(qū)域。它將為深度圖像紋理(簡單紋理或者點(diǎn)紋理)的不同類型之一。
位置和方位區(qū)域指定在本地坐標(biāo)系統(tǒng)中的IBR紋理的視點(diǎn)的相對(duì)位置。位置與坐標(biāo)系統(tǒng)的初始(0,0,0)有關(guān),同時(shí)定向規(guī)定一旋轉(zhuǎn)與默認(rèn)定向有關(guān)。在默認(rèn)位置和定向中,取景器在Z軸上俯視具有向右的+X和向上的+Y的-Z軸的原點(diǎn)。然而,移動(dòng)系統(tǒng)影響視點(diǎn)的最終位置和方位。
fieldOfView區(qū)域指定由位置和方位區(qū)域定義的攝像機(jī)視點(diǎn)的視角。第一個(gè)值指出到水平邊的角度,第二個(gè)值指定到垂直邊的角度。默認(rèn)值為徑向45°。然而,當(dāng)正交區(qū)域被設(shè)置為TRUE時(shí),fieldOfView區(qū)域指出近平面和遠(yuǎn)平面的寬度和高度。
近平面和遠(yuǎn)平面區(qū)域指定從視點(diǎn)到可視區(qū)域的近平面和遠(yuǎn)平面的距離。紋理和深度數(shù)據(jù)表明由近平面,遠(yuǎn)平面和fieldOfView關(guān)閉的區(qū)域。深度數(shù)據(jù)被標(biāo)準(zhǔn)化為從近平面到遠(yuǎn)平面的距離。
正交區(qū)域指定IBR紋理的可視類型。當(dāng)設(shè)置為TRUE時(shí),IBR紋理基于正交視圖。否則,IBR紋理基于透視圖。
深度圖像Url區(qū)域指定深度圖像流的地址,它可以隨意包含下述內(nèi)容。
●位置●方位●fieldOfView●近平面●遠(yuǎn)平面●正交●diTexture(簡單紋理或點(diǎn)紋理)●上述區(qū)域的開/關(guān)標(biāo)志的1個(gè)字節(jié)的頭部簡單紋理{域SFNode 紋理 NULL域SFNode 深度 NULL}簡單紋理節(jié)點(diǎn)定義IBR紋理的單個(gè)層。
紋理區(qū)域指定包含每個(gè)像素顏色的低反差圖象。它將為紋理節(jié)點(diǎn)(圖像紋理,影像紋理或像素紋理)的不同類型之一。
深度區(qū)域指定在紋理區(qū)域中的每個(gè)像素的深度。深度圖像的尺寸會(huì)與在紋理區(qū)域中的圖像或影像一樣大。它就是紋理節(jié)點(diǎn)(圖像紋理,影像紋理或像素紋理)的不同類型之一。如果深度節(jié)點(diǎn)為NULL或者深度區(qū)域未指定,則在紋理區(qū)域的α通道就用作深度圖像。
點(diǎn)紋理{域SFInt32寬度256域SFInt32高度256域MFInt32深度[]域MFColor顏色[]
}點(diǎn)紋理節(jié)點(diǎn)定義多層IBR點(diǎn)。
寬度和高度區(qū)域以遍歷順序指定在投影平面中的每個(gè)點(diǎn)(在標(biāo)準(zhǔn)坐標(biāo)中)的多個(gè)深度,它從左下角開始且在移動(dòng)到上線之前遍歷到右邊以實(shí)現(xiàn)水平線。對(duì)每個(gè)點(diǎn)來講,首先存儲(chǔ)深度(像素)的數(shù)目,隨后是深度值的數(shù)目。
顏色區(qū)域指定當(dāng)前像素的顏色。其順序與深度區(qū)域相同,但不包括每個(gè)點(diǎn)的深度(像素)數(shù)目。
八叉樹圖像{域 SFInt32 八叉樹分辨率256域 SFString 八叉樹 “”域 SFNode八叉樹圖像 []域 SFString 八叉樹Url “”}八叉樹圖像節(jié)點(diǎn)定義一八叉樹結(jié)構(gòu)和其投影的紋理。整個(gè)八叉樹的封閉立方體的尺寸為1×1×1,且八叉樹立方體的中心將為本地坐標(biāo)系統(tǒng)的原點(diǎn)(0,0,0)。
八叉樹分辨率區(qū)域指定沿著封閉的立方體的一邊的八叉樹葉的最大數(shù)目。八叉樹的級(jí)別可由八叉樹分辨率利用如下方程式來決定octreelevel=int(log2(octreeresolution-1))+1)八叉樹區(qū)域指定一系列的八叉樹內(nèi)部節(jié)點(diǎn)。每個(gè)內(nèi)部節(jié)點(diǎn)用一個(gè)字節(jié)來表示。這種字節(jié)的第i位中1表示存在于內(nèi)部節(jié)點(diǎn)的第i子的子節(jié)點(diǎn),而0表示子節(jié)點(diǎn)不存在。八叉樹內(nèi)部節(jié)點(diǎn)的順序?qū)⑹前瞬鏄涞牡谝淮伪闅v的寬度順序。內(nèi)部節(jié)點(diǎn)的八個(gè)子的順序如圖2所示。
八叉樹圖像區(qū)域?yàn)閐i紋理區(qū)域指定一系列的帶有簡單紋理的深度圖像節(jié)點(diǎn)。然而,沒有使用深度圖像節(jié)點(diǎn)的近平面和遠(yuǎn)平面區(qū)域以及簡單紋理節(jié)點(diǎn)中的深度區(qū)域。
八叉樹Url區(qū)域指定帶有下列內(nèi)容的八叉樹圖像流的地址。
●標(biāo)志頭●八叉樹分辨率●八叉樹
●八叉樹圖像(多深度圖像的節(jié)點(diǎn))■未用近平面■未用遠(yuǎn)平面■di紋理→未有深度值的簡單紋理現(xiàn)在敘述在美國臨時(shí)申請(qǐng)?zhí)?0/362545中描述過,在2002年3月8日歸檔,名為“A Techniche for Compression and Straming of Depth Image-basedRepresentation and Its apparatus”的發(fā)明。II.ISO/IEC JTC 1/SC 29/WG11 CODING OF MOVING PICTURES AND AUDIO1.引言在本文檔中,報(bào)道了基于深度圖像著色的核心實(shí)驗(yàn)的結(jié)果,AFX A8.3。該核心實(shí)驗(yàn)是為基于深度圖像表示的具有深度信息的利用紋理的節(jié)點(diǎn)。這些節(jié)點(diǎn)在Pattaya會(huì)議期間得到接受并包括進(jìn)委員會(huì)草案的建議中。然而,通過八叉樹節(jié)點(diǎn)的八叉樹Url區(qū)域和深度圖像節(jié)點(diǎn)的深度圖像Url區(qū)域的信息流仍在利用。本文檔描述通過這些Url區(qū)域鏈接的流動(dòng)格式。流動(dòng)格式包括八叉樹圖像節(jié)點(diǎn)的八叉樹區(qū)域和點(diǎn)紋理節(jié)點(diǎn)的深度/顏色區(qū)域的壓縮。
2.八叉樹Url的流格式2.1流格式八叉樹節(jié)點(diǎn)包括八叉樹Url區(qū)域,它指定八叉樹圖像流的地址。該流可選擇地包括下列內(nèi)容。
●標(biāo)志頭●八叉樹分辨率●八叉樹●八叉樹圖像(多深度圖像的節(jié)點(diǎn))■未用的近平面■未用的遠(yuǎn)平面■diTexture→未有深度值的簡單紋理八叉樹區(qū)域指定一系列的八叉樹內(nèi)部節(jié)點(diǎn)。每個(gè)內(nèi)部節(jié)點(diǎn)用一個(gè)字節(jié)表示。這種字節(jié)的第i位中1表示存在于內(nèi)部節(jié)點(diǎn)的第i子的子節(jié)點(diǎn),而0表示不存在子節(jié)點(diǎn)。八叉樹內(nèi)部節(jié)點(diǎn)的順序?qū)⑹前瞬鏄涞牡谝淮伪闅v的寬度順序。內(nèi)部節(jié)點(diǎn)的八個(gè)子的順序如圖2所示。
八叉樹圖像節(jié)點(diǎn)的八叉樹區(qū)域是一種壓縮格式。然而,為了具有有效流,該區(qū)域可進(jìn)一步壓縮。下面將部分描述八叉樹圖像節(jié)點(diǎn)的八叉樹區(qū)域的壓縮方案。
2.2八叉樹區(qū)域的壓縮方案在DIBR的八叉樹表示中,數(shù)據(jù)由表示幾何分量的八叉樹區(qū)域組成。八叉樹是一系列在封閉立方體中的點(diǎn),其完全代表物體表面。
從壓縮表示的幾何的非恒等的重建導(dǎo)致高度顯著的人為影像。然而,幾何必須在沒有丟失信息前提下壓縮。
2.2.1八叉樹壓縮為了在深度第一次遍歷八叉樹形式中表示八叉樹區(qū)域的壓縮,我們開發(fā)了一種利用PPM(通過部分匹配的預(yù)測)方法[1,2]的一些觀念的無損失壓縮方法。我們使用的主題觀念是通過稱為“上下文”的幾個(gè)以前符號(hào)的“預(yù)測”(即可能性估計(jì))。對(duì)每個(gè)上下文,存在一可能平面,包含在該上下文中的每個(gè)符號(hào)出現(xiàn)的可估計(jì)的可能性。這與稱為范圍編碼器[3,4]的算法編碼器一起使用。
該方法的兩個(gè)主要特征為1.利用父節(jié)點(diǎn)作為子節(jié)點(diǎn)的上下文;2.利用“正交不變”假設(shè)以減少上下文的數(shù)目;第二個(gè)想法主要是基于“父-子”節(jié)點(diǎn)的“蛻變概率”在正交變換下保持不變(旋轉(zhuǎn)和對(duì)稱)的觀察。這種假設(shè)在附件1中圖示。這個(gè)假設(shè)允許我們在利用體積和速度中獲得更好的結(jié)果,因?yàn)槭褂蒙舷挛脑蕉啵怕使烙?jì)越準(zhǔn)確,因此代碼壓縮越多。
編碼是根據(jù)上下文模型構(gòu)建和更新概率表的過程。在建議的方法中,上下文在八叉樹結(jié)構(gòu)中作為父-子層次被建模。首先,我們將符號(hào)定義為一個(gè)字節(jié)節(jié)點(diǎn),它的位表示在內(nèi)部細(xì)分之后子立方體的占有率。因此,在八叉樹中的每個(gè)節(jié)點(diǎn)可以是一個(gè)符號(hào)且其數(shù)值是0-255。概率表(PT)包含256個(gè)整數(shù)。第i個(gè)變量除以所有變量之和等于第i個(gè)符號(hào)出現(xiàn)的頻率(頻率估計(jì))。概率上下文表(PCT)是一系列的PT。一個(gè)符號(hào)的頻率由一個(gè)且僅PTs之一決定。特殊PT的數(shù)目取決于上下文。PCT的例子如表1所示。表1.概率上下文表(PCT)的組成
編碼器的工作如下。首先它使用0-上下文模型(即一所有符號(hào)的單個(gè)PT,從統(tǒng)一分布開始,且在每個(gè)新的編碼符號(hào)之后更新PT)。以深度優(yōu)先的順序遍歷樹。當(dāng)獲得足夠的統(tǒng)計(jì)(經(jīng)驗(yàn)值為512個(gè)編碼符號(hào))時(shí),編碼器切換到1-上下文模型。它有27個(gè)上下文,下面對(duì)它們進(jìn)行說明。
設(shè)想一組有32個(gè)固定的正交變換,它包括關(guān)于坐標(biāo)軸的對(duì)稱和90度的旋轉(zhuǎn)(見附件2)。然后,我們可根據(jù)它們子立方體的充填方式對(duì)符號(hào)進(jìn)行分類。在我們的方法中,將有27組符號(hào),這里稱為組,并具有如下屬性如果它們屬于同一組,而且只有它們屬于同一組時(shí),則2個(gè)符號(hào)通過這些固定變換之一連接起來。
在字節(jié)的記號(hào)中,通過27組數(shù)字代表各組(見附件2)。我們假設(shè)概率表本身不取決于父節(jié)點(diǎn)(其中在有256個(gè)表的情況下),但只在父節(jié)點(diǎn)屬于的組(在表1中以ParentSymbol表示)上(因此27個(gè)表)。
在轉(zhuǎn)換時(shí)刻,所有上下文的PT’被設(shè)置為0-上下文PT的拷貝。然后,當(dāng)它用于編碼時(shí),27個(gè)PT的每一個(gè)均被更新。
在2048(其它漸近值)個(gè)符號(hào)以1-上下文模型的方式編碼后,我們切換到2-上下文模型,它將各對(duì)(ParentSymbol,NodeSymbol)用作上下文。NodeSymbol為在父節(jié)點(diǎn)中的當(dāng)前節(jié)點(diǎn)的簡單位置。因此,我們用于2-上下文模型的有27*8個(gè)上下文。在切換到該模型時(shí)刻,每個(gè)上下文獲得的PT用作該上下文內(nèi)側(cè)的每個(gè)節(jié)點(diǎn),且從該時(shí)刻被獨(dú)立更新。
在一些更詳細(xì)的技術(shù)細(xì)節(jié)中,1-上下文和2-上下文模型的編碼如下進(jìn)行。對(duì)當(dāng)前符號(hào)(即父節(jié)點(diǎn))的上下文來說,其組被確定。這通過查表法(在程序開發(fā)階段執(zhí)行幾何分析)來完成。然后我們應(yīng)用將我們的上下文變成所屬組的“標(biāo)準(zhǔn)”(徹底任意選擇)元素的正交轉(zhuǎn)換。同樣的轉(zhuǎn)換同樣適用于符號(hào)本身(這些操作可作為查表法來完成,當(dāng)然所有可能組合的所有計(jì)算事先完成)。實(shí)際上,對(duì)于包含其上下文的組來講,這是概率表中當(dāng)前符號(hào)的正確位置的計(jì)算。然后相應(yīng)的概率被送至RangeCoder。
總而言之,假定給出一父符號(hào)和子節(jié)點(diǎn)位置,在PCT中辨別組ID和PT位置的上下文ID就被確定。在PT和上下文ID中概率的分布被送至范圍編碼器。編碼后,PCT被更新以用于下一次編碼。注意到范圍編碼器是算術(shù)編碼的變分,它以字符而不是以位的形式重新正規(guī)化,因此,比標(biāo)準(zhǔn)算術(shù)編碼的運(yùn)行快兩倍,而比標(biāo)準(zhǔn)算術(shù)編碼的壓縮率壞0.01%。
解碼過程與編碼過程基本相反。這是不需要表述的絕對(duì)標(biāo)準(zhǔn)過程,因?yàn)樗_使用相同的方法決定上下文,更新概率等。
2.3測試結(jié)果圖3為采用靜止和動(dòng)畫模型(縱坐標(biāo)表示壓縮率)的方法的對(duì)比表。八叉樹壓縮率與原來的八叉樹尺寸相比大約是1.5-2倍,且優(yōu)于通用的無損壓縮(基于Lempl-Ziv,如像RAR程序)多達(dá)30%。
3.深度圖像Url的流格式3.1流格式深度圖像節(jié)點(diǎn)包括深度圖像URL域,它指定深度圖像流的地址。該流可選擇地包含如下內(nèi)容。
●用于下區(qū)域開/關(guān)標(biāo)志的1個(gè)字節(jié)的頭部●位置●方位●視圖區(qū)域●近平面●遠(yuǎn)平面●正交●diTexture(簡單紋理或點(diǎn)紋理)可用于深度圖像節(jié)點(diǎn)的diTexture區(qū)域的點(diǎn)紋理節(jié)點(diǎn)的定義如下。
點(diǎn)紋理{域 SFInt32寬度256域 SFInt32高度256域 MFInt32深度[]域 MFColor顏色[]}點(diǎn)紋理節(jié)點(diǎn)定義IBR點(diǎn)的多層。寬度和高度域指定為上下文的寬度和高度。深度域以遍歷順序在投影面上指定每個(gè)點(diǎn)(以正規(guī)的坐標(biāo))的多個(gè)深度,該遍歷在移動(dòng)到上線之前先從左下角的點(diǎn)開始遍歷到右邊以實(shí)現(xiàn)水平線。首先存儲(chǔ)每個(gè)點(diǎn),深度(像素)的數(shù)量,然后存儲(chǔ)深度值的數(shù)量。顏色域指定當(dāng)前像素的顏色。順序應(yīng)當(dāng)與深度域一樣,但不包括每個(gè)點(diǎn)的深度(像素)的數(shù)量。
點(diǎn)紋理的深度和顏色域?yàn)閞aw格式,這些域的大小很可能會(huì)非常大。因此,為了具有有效的流動(dòng),這些域需要壓縮。下面的部分對(duì)點(diǎn)紋理節(jié)點(diǎn)域的壓縮方案進(jìn)行描述。
3.2點(diǎn)紋理的壓縮方案3.2.1深度域的壓縮點(diǎn)紋理節(jié)點(diǎn)的深度域簡單地為一系列的在“分散的封閉立方體”中的點(diǎn)。我們假設(shè)底面為投影面。給定模型為m*n*l維的柵格,位于這些柵格的單元(在八叉樹情況下,我們稱其為體元)中心的點(diǎn),我們可以認(rèn)為占用的體元為1,空的體元為0。因此產(chǎn)生的系列位(m*n*l位)以字節(jié)流的方式組織。這通過深度8的層沿深度方向(與投影面正交)遍歷體元和在投影面(如果需要填充,有0的字節(jié)的最后層在深度方向上不是8的倍數(shù))中以通常(“列方向”)順序來完成。因此,我們可考慮到我們的系列點(diǎn)為具有8位灰度級(jí)圖像(可變換的,16位圖像)的棧。體元和位的對(duì)應(yīng)關(guān)系如圖4(a)所示。
例如,在圖4(b)中,黑正方形對(duì)應(yīng)于物體的點(diǎn)。水平平面為投影面??紤]高度為16的“切片”(它的上部邊界被表示為粗線)。讓我們將“列”理解為字節(jié)。也就是,圖中標(biāo)記的點(diǎn)上的列代表2個(gè)字節(jié)的具有值18和l的棧(或者一個(gè)16位的無符號(hào)整數(shù)274)。如果我們將最好的基于PPM的壓縮方法用于由這種方法獲得的聯(lián)合字節(jié)中,就可以獲得相當(dāng)好的結(jié)果。然而,如果這里直接應(yīng)用(當(dāng)然,這里沒有正交恒定或者難以理解的上下文可使用)簡單的1-上下文方法,這種結(jié)果具有稍微低的壓縮率。下面我們給出不同類型的LDI幾何表示式所需要的體積表BVOC,利用最好的PPM壓縮器壓縮上述字節(jié)數(shù)組,并通過我們常用的壓縮器(以千字節(jié)圖示)壓縮同樣的數(shù)組。
3.2.2顏色域壓縮點(diǎn)紋理節(jié)點(diǎn)的顏色區(qū)域?yàn)橐幌盗蟹峙浣o物體點(diǎn)的顏色。不象八叉樹的情況,顏色域和深度域是一對(duì)一的關(guān)系。該想法代表顏色信息為單個(gè)圖像,它可通過已知有損的技術(shù)中的一種技術(shù)來壓縮。該圖像的基數(shù)遠(yuǎn)小于八叉樹或深度圖像情況下的參照?qǐng)D像,且對(duì)這樣一種方法來說該基數(shù)實(shí)際上是最有效的。以這種或那種自然順序掃描深度點(diǎn)即可獲得圖像。
對(duì)于LDI(點(diǎn)紋理)-‘深度優(yōu)先’的幾何掃描來講,首先考慮由我們的原有存儲(chǔ)格式規(guī)定的掃描順序。多像素按自然順序在投影面上被掃描,就象它們是簡單像素,且在同一多像素的內(nèi)側(cè)的點(diǎn)沿深度方向掃描。掃描的順序產(chǎn)生一1D的顏色數(shù)組(第一非零多像素,第二非零多像素等)。深度已知時(shí),點(diǎn)的顏色可從這個(gè)數(shù)組中依次重建。為了使得圖像壓縮方法實(shí)用,我們必須將1-1這樣的長字符標(biāo)到2D數(shù)組。這可通過許多方式來完成。
當(dāng)顏色字符在8*8塊中安排,且以列順序安排那些塊(“塊掃描”)時(shí),下面在測試中應(yīng)用的方法為所謂的“塊掃描”。結(jié)果圖像如圖5所示。
該圖像的壓縮通過幾種方法來執(zhí)行,包括標(biāo)準(zhǔn)JPEG。結(jié)果至少是顏色掃描的這種類型,要遠(yuǎn)好于當(dāng)利用在〔5〕中描述的紋理壓縮方法所獲得的結(jié)果。該方法基于每個(gè)8*8塊的自適應(yīng)的本地堆積。它有兩個(gè)模型;8-和12-倍的壓縮(當(dāng)與每BMP-格式像素的raw真彩色24位相比)。該方法在這種圖像中的成功可從其調(diào)色板特征精確解釋,它讓我們?nèi)フf明局部顏色突然(甚至不象邊緣)變化是因前表面和后表面(當(dāng)在“天使”的情況下,它可變化很大)的‘混合’點(diǎn)引發(fā)的。探索優(yōu)化掃描的目的是盡可能地減少這些變化。
3.3測試結(jié)果在原有和壓縮格式中模型的例子如附件3所示。一些模型(即“天使”)的質(zhì)量在壓縮后仍然不能令人滿意,而其它卻非常好(“Grasshopper”)。然而,我們感到這個(gè)問題可以通過在正確掃描的幫助下得到解決。甚至可以用12倍的壓縮模型,因此完整的壓縮依然更快地增加。最后,無損壓縮將被改善以致于最好的基于PPM的結(jié)果應(yīng)用到幾何壓縮中。
這里,我們給出壓縮率表。
4.結(jié)論在本文檔中,報(bào)道了基于深度圖像表示(AFX A8.3)的核心實(shí)驗(yàn)的結(jié)果。介紹了DIBR流,它可通過DIBR節(jié)點(diǎn)的url域鏈接。這些流包括DIBR節(jié)點(diǎn)中的所有項(xiàng)目和可選的每個(gè)項(xiàng)目的標(biāo)志。而且還探討了八叉樹和點(diǎn)紋理數(shù)據(jù)的壓縮。
5.參考文獻(xiàn)[1]Cleary J.G.,Witten I.H.,Data compression using adaptive coding and partialstring matching,IEEE Transactions on Communications,Vol.32(4),pp.396-402,April1984. Rissanen J.J.,Langdon G.G.Universal modeling and coding//IEEETransactions on Information Theory,Vol.27(1),pp.12-23,Jan.1981. Schindler M.,A byte oriented arithmetic coding,Proceedings of DataCompression Conference,1998. Martin G.N.N.,Range encodingan algorithm for removing redundancy from adigitized message,Video & Data Recording Conference,March 1979. Levkovich-Maslyuk L.,Kalyuzhny P.,Zhirkov A.,Texture compression withadaptive block partitions,Proceedings of 8thACM International Conference onMultimedia(Multimedia 2000).
附件1在BVO壓縮算法中的上下文正交不變的幾何方法(Geometicmeaning of the context orthogonal invariation in BVO compression algorithom)。
正交不變的假定如圖6所示??紤]通過繞垂直軸順時(shí)針轉(zhuǎn)動(dòng)90°??紤]到旋轉(zhuǎn)前(頂部圖片)后(底部圖片)節(jié)點(diǎn)和父節(jié)點(diǎn)的任意填充模式。然后,二個(gè)不同的圖案可作為系統(tǒng)相同的圖案處理。
附件2.組和轉(zhuǎn)換1.32固定的正交轉(zhuǎn)換每個(gè)轉(zhuǎn)換通過5位字來指定。位的組合是下面的基本變化的組合(即,如果第k位是1,則執(zhí)行相應(yīng)的轉(zhuǎn)換)●第1位-交換x和y坐標(biāo);●第2位-交換Y和Z坐標(biāo);●第3位-在(y-z)平面中對(duì)稱;●第4位-在(x-z)平面中對(duì)稱;●第5位-在(x-y)平面中對(duì)稱;2.27組對(duì)每個(gè)組來講,這是組的順序和在其元素中的非零位的數(shù)目組的數(shù)目,組的質(zhì)量和填充位的數(shù)目(設(shè)置體元)。
3.符號(hào)和轉(zhuǎn)換對(duì)于每個(gè)符號(hào)來講,這里是屬于組的指數(shù)(g)和將其變?yōu)榻M的‘標(biāo)準(zhǔn)’元素的轉(zhuǎn)換值(t)。
符號(hào)的二進(jìn)制編碼標(biāo)記到體元的二進(jìn)制坐標(biāo)如下數(shù)的第i位具有二進(jìn)制坐標(biāo)x=i&1,y=i&(1<<1),z=i&(1<<2)。
…
附件3.圖7、8和9給出了用于最好的基于PPM的方法的幾何壓縮圖。
在申請(qǐng)日為2002年5月1日的美國臨時(shí)申請(qǐng)?zhí)枮?0/376563的申請(qǐng)中描述的發(fā)明,名為“A technique for Compression and Streaming of Depth Image-based Representation and its apparatus”現(xiàn)在將敘述。III.Result of Core Experiment on Depth Image-based Representation(AFX A8.3)1.引言在本文檔中,報(bào)道了基于深度圖像表示(DIBR)的核心實(shí)驗(yàn)結(jié)果(AFXA8.3)。該核心實(shí)驗(yàn)是利用具有深度信息的紋理表示基于深度圖像的節(jié)點(diǎn)。在Pattaya會(huì)議期間,該節(jié)點(diǎn)已經(jīng)被接受并被包括進(jìn)委員會(huì)草案的建議中。然而,通過八叉樹圖像和深度圖像節(jié)點(diǎn)的這種信息流仍然保持有效。通過這些節(jié)點(diǎn)鏈接的流動(dòng)格式對(duì)本文檔進(jìn)行描述。流動(dòng)格式包括點(diǎn)紋理的八叉樹圖像節(jié)點(diǎn)和深度/顏色域的壓縮。
2.DIBR格式的壓縮這里我們描述一種無鏈接的八叉樹數(shù)據(jù)的有效的無損壓縮新技術(shù),在我們的實(shí)驗(yàn)中,使這種已經(jīng)緊湊的體積減少大約1.5-2倍。我們還建議采用幾種點(diǎn)紋理格式的無損和有損壓縮的技術(shù),結(jié)合熵編碼和基于塊紋理壓縮的專門方法[6]利用中間體元表示。
2.1八叉樹圖像壓縮八叉樹圖像和八叉樹圖像中的八叉樹的域分別被壓縮?;诎瞬鏄浔仨殶o損壓縮而八叉樹圖像允許有一定程度的可視變形的概念,開發(fā)了所描述的方法。通過MPEG-4圖像壓縮工具(用于靜態(tài)模型),或者視頻壓縮工具(用于動(dòng)畫模型)壓縮八叉樹圖像區(qū)域。
2.1.1八叉樹區(qū)壓縮八叉樹壓縮是八叉樹圖像壓縮的最重要的部分,因?yàn)樗幚硪呀?jīng)非常緊湊的無鏈接二進(jìn)制樹表示的壓縮。然而,在我們的實(shí)驗(yàn)中,下面描述的方法將該結(jié)構(gòu)的體積減少到大約原有體積的一半。在動(dòng)畫八叉樹圖像版本中,每個(gè)3D幀的八叉樹區(qū)域被分別被壓縮。
2.1.1.1上下文模型通過很好地利用數(shù)據(jù)幾何特性的各種合適算術(shù)編碼(作為“范圍編碼器”來進(jìn)行,[3][4])進(jìn)行壓縮。八叉樹為字節(jié)流。每個(gè)字節(jié)代表樹的一個(gè)節(jié)點(diǎn),其中字節(jié)位表示在內(nèi)部細(xì)分后的子立方體的占用率。位的模式被稱為節(jié)點(diǎn)的填充模式。表述的壓縮算法以下面的方式依次處理字節(jié)。
●決定當(dāng)前字節(jié)的上下文。
●從與上下文相應(yīng)的‘概率表’(PT)中重新獲得本上下文中當(dāng)前字節(jié)出現(xiàn)的‘可能性’(歸一化頻率)。
●饋送到范圍編碼器的概率值。
●通過對(duì)當(dāng)前上下文中的當(dāng)前字節(jié)出現(xiàn)的頻率加1來更新當(dāng)前的PT(如果需要,之后重新歸一化,詳細(xì)見下面所述)。
因此,根據(jù)上下文模型,編碼是重建和更新PT的過程。在基于上下文自適應(yīng)算術(shù)編碼方案(如‘用部分匹配的預(yù)測’[1]-[3])中,符號(hào)的上下文通常是前面幾個(gè)符號(hào)的一個(gè)字符。然而,在本例中,通過使用數(shù)據(jù)的八叉樹結(jié)構(gòu)和幾何特性增加了壓縮效率。所描述的方法是基于在八叉樹壓縮問題中非常新的兩個(gè)思想。
A.對(duì)于當(dāng)前節(jié)點(diǎn)來講,上下文或者是其父節(jié)點(diǎn),或者是對(duì)節(jié)點(diǎn){父節(jié)點(diǎn),父節(jié)點(diǎn)中的當(dāng)前節(jié)點(diǎn)位置};B.假定給定節(jié)點(diǎn)在特定父節(jié)點(diǎn)中的特定幾何位置處出現(xiàn)的‘可能性’對(duì)特定的正交(如旋轉(zhuǎn)或?qū)ΨQ)轉(zhuǎn)換來說是不變的。
在圖6中示出了該假定‘B’,對(duì)于轉(zhuǎn)換R來講,假定圖1中所示的‘B’在x-z屏幕上旋轉(zhuǎn)-90°?!瓸’后的基本概念為在特定類型的父節(jié)點(diǎn)中的特定類型的子節(jié)點(diǎn)出現(xiàn)的可能性應(yīng)當(dāng)依賴于它們的相對(duì)位置的觀察。這種假設(shè)通過對(duì)概率表的分析在我們的實(shí)驗(yàn)中得到確認(rèn)。它允許我們在沒有太多的概率表的情況下去使用更復(fù)雜的上下文。反過來說,利用數(shù)據(jù)大小和速度來幫助我們獲得很好的結(jié)構(gòu)。注意到使用的上下文越多,估計(jì)的概率越分明,因此代碼越緊密。
讓我們介紹我們假定概率分布不變的系列轉(zhuǎn)換。為了適用于我們的情況,這樣的轉(zhuǎn)換應(yīng)當(dāng)保持封閉的立方體??紤]到在歐幾里德空間中的正交轉(zhuǎn)換的G,以3個(gè)基本轉(zhuǎn)換的任意數(shù)目和順序的所有組合(生成器)m1,m2,m3獲得正交轉(zhuǎn)換,它們?yōu)閙1=010100001,]]>m2=100001010,]]>m3=-110010001]]>其中m1和m2分別為平面x=y(tǒng)和y=z的反射,和m3是平面x=0的反射。通過反射[27]生成的群論的經(jīng)典結(jié)果之一描述了G包含48個(gè)明顯的正交變換,在某種意義上,這是將立方體放進(jìn)本身位置(所謂Coxeter組[27])的正交變換的最大組。例如,圖6中的旋轉(zhuǎn)R通過生成器表示為R=m3·m2·m1·m2其中‘.’為矩陣乘法。
從G的轉(zhuǎn)換應(yīng)用到八叉樹節(jié)點(diǎn),產(chǎn)生不同的子立方體充填模式的節(jié)點(diǎn)。這允許我們根據(jù)它們自立方體的充填模式對(duì)節(jié)點(diǎn)進(jìn)行分類。利用群論語言,我們假定G起到八叉樹的所有充填模式系列的作用。計(jì)算表明存在22個(gè)明顯的類(在群論中還稱為軌道),其中通過定義,使兩個(gè)節(jié)點(diǎn)屬于同一類,當(dāng)且僅當(dāng)它們通過G的轉(zhuǎn)換鏈接到一起。一個(gè)類中的元素?cái)?shù)目從1到24,且總是48的除數(shù)。
‘B’的實(shí)際次序?yàn)楦怕时聿粌H依賴于父節(jié)點(diǎn)本身,而且依賴于父節(jié)點(diǎn)所屬的類。應(yīng)注意的是一個(gè)基于父節(jié)點(diǎn)的上下文有256個(gè)表,在以前的情況下,基于位置的父-和-子的上下文有256×8=2048個(gè)表,而我們需要基于父級(jí)別的上下文的22個(gè)表加上后者的22×8=176個(gè)表。因此,就可以使上下文的復(fù)雜程度相同,同時(shí)利用少量的概率表。構(gòu)建的PT具有表2所示的形式。表2概率表列舉
2.1.1.2編碼過程為了使概率表的統(tǒng)計(jì)更精確,在編碼的三個(gè)階段以三種不同的方式收集。
●在第一階段我們根本不用上下文,接受‘0-上下文模型’,且保留具有256個(gè)入口的單個(gè)概率表,從統(tǒng)一分布開始;●第一512節(jié)點(diǎn)(這是一個(gè)經(jīng)驗(yàn)數(shù))一旦被編碼,我們就利用父節(jié)點(diǎn)作為上下文切換到‘1-上下文模型’。在切換的瞬間,0-上下文PT被拷貝到所有22個(gè)上下文的PT。
●在2048個(gè)節(jié)點(diǎn)(其它探討值)編碼后,我們切換到‘2-上下文模型’。在這個(gè)瞬間,父模式的1-上下文PT被拷貝到在同一父模式中每個(gè)位置的PT上。
正交的關(guān)鍵點(diǎn)是當(dāng)前字節(jié)的上下文和概率決定的。這將根據(jù)下述方式實(shí)施。在每個(gè)級(jí)別我們固定單個(gè)元素,它稱為‘標(biāo)準(zhǔn)元素’。我們存儲(chǔ)表示級(jí)別的級(jí)別圖表(CMT)到所屬的每個(gè)可能的256個(gè)節(jié)點(diǎn),并表示從G的計(jì)算轉(zhuǎn)換,在G處將這個(gè)特定的節(jié)點(diǎn)變成同級(jí)別的標(biāo)準(zhǔn)元素。因此,為了確定當(dāng)前節(jié)點(diǎn)N的概率,我們實(shí)施以下步驟●查看當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)P;●檢索從屬于P的CMT的級(jí)別,和對(duì)將P變成該級(jí)別的標(biāo)準(zhǔn)節(jié)點(diǎn)的轉(zhuǎn)換T進(jìn)行檢索。將級(jí)別數(shù)目記作c;●將T用到P上,找到標(biāo)準(zhǔn)節(jié)點(diǎn)中子節(jié)點(diǎn)位置p,其中當(dāng)前節(jié)點(diǎn)N被繪制;●將T用到N上。然后,新獲得的充填模式TN是在級(jí)別c的標(biāo)準(zhǔn)節(jié)點(diǎn)中的位置p。
●從與級(jí)別-位置組合(c,p)相應(yīng)的概率表的入口TN中檢索所需要的概率。
對(duì)于1-上下文模型來講,上述步驟可以用顯而易見的方式進(jìn)行修改。無需說,所有的轉(zhuǎn)換均被預(yù)先計(jì)算,并將其提供到查找表中。
應(yīng)注意的是在節(jié)點(diǎn)N的解碼階段,父節(jié)點(diǎn)P已經(jīng)被解碼,因此,轉(zhuǎn)換T已知。在解碼階段的所有步驟絕對(duì)與相應(yīng)的編碼步驟相似。
最后,我們概述一下概率的更新過程。讓P作為一些上下文的概率表。在該上下文中,P(N)表示與階段N出現(xiàn)的概率相應(yīng)的P的入口。在實(shí)施中,P(N)是一個(gè)整數(shù),在每個(gè)N發(fā)生后,P(N)被更新為
P(N)=P(N)+A其中A為不同上下文模型的從1到4的整數(shù)增量參數(shù)。讓S(P)為P中所有入口的和。然后送入到算術(shù)編碼器(在本例中為范圍編碼器)的N的‘概率’用P(N)/S(N)來計(jì)算。當(dāng)S(P)一達(dá)到閾值216時(shí),所有的入口就被歸一化為了避免在P中的零值的出現(xiàn),等于1的入口留下來保持原狀。而其它則被除以2。
2.2點(diǎn)紋理壓縮點(diǎn)紋理節(jié)點(diǎn)包含要被壓縮的兩個(gè)域,也就是,深度和顏色。點(diǎn)紋理數(shù)據(jù)的壓縮的主要困難是由于下面的需求●幾何必須是以無損方式壓縮,因?yàn)樵趲缀伪硎镜倪@種類型的扭曲經(jīng)常被高度重視。
●顏色信息沒有自然的2D結(jié)構(gòu),因此圖像壓縮技術(shù)不能直接應(yīng)用。
在這一部分我們?yōu)辄c(diǎn)紋理模型壓縮建議三種方法●標(biāo)準(zhǔn)節(jié)點(diǎn)表示的無損方法。
●更低分辨率節(jié)點(diǎn)表示的無損方法。
●更低分辨率節(jié)點(diǎn)表示的無損幾何和無損顏色壓縮這些方法符合于物體描述的三個(gè)級(jí)別的‘保真度’。第一種方法假設(shè)我們必須存儲(chǔ)深度信息到最初的32位精確度。但實(shí)際上,用很少量的位就可以使深度信息在不損害質(zhì)量的情況下量化。尤其是當(dāng)點(diǎn)紋理模型從多邊形模型轉(zhuǎn)變過來時(shí),根據(jù)原有模型擁有的直觀細(xì)節(jié)的實(shí)際大小以及期望的屏幕輸出分辨率選擇量化分辨率。在這種情況下,8-11位可很好地滿足要求,深度值最初存儲(chǔ)在更低分辨率格式中?,F(xiàn)在,我們的第二種方法處理這種‘更低分辨率’表示的無損壓縮。這里最需要觀測的是對(duì)這樣相當(dāng)小(與標(biāo)準(zhǔn)32比較)數(shù)目的位來講,可使用模型的中間體元表示,且允許我們在沒有損失信息的情況下壓縮深度域。在整理作為輔助2D圖像的顏色數(shù)據(jù)后,在兩種情況下顏色信息被無損壓縮并以PNG格式存儲(chǔ)。
最后,第三種方法允許我們實(shí)現(xiàn)更大的壓縮,將無損的幾何壓縮和有損失的顏色數(shù)據(jù)相結(jié)合。后者通過專門的基于塊的紋理壓縮技術(shù)來執(zhí)行。下面在三個(gè)子部分中,將詳細(xì)描述該方法。
2.2.1標(biāo)準(zhǔn)節(jié)點(diǎn)表示的無損點(diǎn)紋理壓縮這是簡單的無損編碼方法,其工作如下。
●深度域被自適應(yīng)范圍編碼器壓縮,與在八叉樹域壓縮使用的相似。對(duì)這種格式,我們使用概率表保留到每個(gè)1-符號(hào)上下文用的版本,且上下文只是以前字節(jié)。因此,使用256個(gè)PT。深度域被認(rèn)為是字節(jié)流,且?guī)缀谓Y(jié)構(gòu)沒有被明顯地使用。
●顏色域在轉(zhuǎn)換為二維真彩色圖像后被壓縮。以與深度域中相同的深變值,首先將點(diǎn)紋理模型中的點(diǎn)的顏色寫入臨時(shí)1D數(shù)組中。如果該模型中的點(diǎn)的總量為L,則我們計(jì)算最小的整數(shù)I,從而l·l≥L,并將該顏色值的長‘字符’‘打包’進(jìn)入邊為I的正方形圖像(如果需要,通過黑像素填充)中。然后該圖像通過MPEG-4的無損圖像壓縮工具之一壓縮。在我們的方法中,我們采用便攜網(wǎng)絡(luò)圖形(PNG)格式。以這種方式從‘天使’模型獲得的圖像如圖10(a)所示。
2.2.2對(duì)更低分辨率節(jié)點(diǎn)表示的無損點(diǎn)紋理壓縮在許多情況下,深度信息的16位分辨率非常好。實(shí)際上,深度分辨率應(yīng)當(dāng)與表示模型的屏幕分辨率對(duì)應(yīng)。在不同點(diǎn)的模型深度的小的變換導(dǎo)致在屏幕中的位移遠(yuǎn)小于像素尺寸的情況下,在深度中使用更低分辨率是合理的,模型經(jīng)常以深度值占8-11位的格式表示。這樣的模型通常從其它格式中獲得,也就是說,多邊形模型,通過以合適的空間網(wǎng)格離散深度和顏色值。
這種降低了分辨率的表示本身可被認(rèn)為是具有32位深度的標(biāo)準(zhǔn)模型的顏色方式。然而,利用靜止體元空間,這種模型存在更緊密的表示。實(shí)際上,該模型的點(diǎn)可被認(rèn)為是屬于具有由離散步驟決定的間隔的統(tǒng)一網(wǎng)格的節(jié)點(diǎn)。我們總是可以假定網(wǎng)格是統(tǒng)一的和正交的,因?yàn)樵谕队澳P偷那闆r下我們用參數(shù)空間工作。利用這種觀察,點(diǎn)紋理的更低分辨率的深度和顏色域如下述方式壓縮。
●如以前方法一樣,用無損圖像壓縮技術(shù)壓縮顏色域;●深度域首先轉(zhuǎn)換成體元表示,然后通過前邊子部分描述的范圍編碼器的變碼來壓縮。
中間體元模型按如下方式建立。根據(jù)該模型的深度分辨率,假定離散體元空間具有寬×高×2s大小(‘寬’和‘高’參數(shù)在點(diǎn)紋理說明書上有解釋)。為了達(dá)到我們的目的,我們總體上不需要用潛在巨大的體元空間來工作,而僅用其‘薄’斷面。在投影面中指定(r,c)行-列坐標(biāo),使d為深度坐標(biāo)。我們將‘切片’{c=常數(shù)},即,通過‘垂直面’的模型斷面,轉(zhuǎn)換為體元表示。沿著平行于投影面的‘列’掃描切片,當(dāng)存在具有投影到(r,c)的深度值d的模型的點(diǎn)時(shí),我們設(shè)置體元(r,c,d)為‘黑色’。該過程如圖4所示。
切片一旦建立,就用1-上下文范圍編碼器壓縮,且下一個(gè)切片壓縮開始。以這種方式,我們避免了用非常大的數(shù)組工作。每個(gè)新切片的概率表沒有初始化。對(duì)模型的大范圍體元僅有非常小的部分是黑色的,且這允許我們實(shí)現(xiàn)相當(dāng)高的壓縮率。通過用與所述操作完全相反的操作就可執(zhí)行解壓縮。
下面將說明通過這種方法和通過八叉樹表示的深度域壓縮的對(duì)比。然而,通過顏色域,模型的整個(gè)壓縮率得到確定,因?yàn)檫@種不規(guī)則的圖像不可能在強(qiáng)烈壓縮的情況下沒有扭曲。在下一個(gè)子部分,我們認(rèn)為是無損幾何和有損顏色壓縮的組合。
2.2.3低分辨率點(diǎn)紋理表示的無損幾何和有損顏色的壓縮象以前一樣,這種方法轉(zhuǎn)換深度域?yàn)轶w元表示,然后用自適應(yīng)1-上下文范圍編碼器來壓縮。顏色域同樣被繪制到2D圖上。然而,我們試圖組織繪圖從而在接近3D空間中的點(diǎn)繪制在2D平面的附近點(diǎn)。然后專門的紋理壓縮方法(自適應(yīng)塊劃分,ABP)應(yīng)用于結(jié)果圖像。該算法的主要步驟如下。
1.將點(diǎn)紋理模型的四個(gè)連續(xù)‘垂直平面’的‘切片’轉(zhuǎn)換為體元表示2.掃描獲得的寬×4×2s體元數(shù)組,通過●沿著平行于投影面的‘列’遍歷4×4×4體元子立方體的垂直‘平面’首先是最接近投影面的列,然后為下一個(gè)最接近的列等等(即,以通常的2D數(shù)組遍歷順序)。
●以與在八叉樹圖像節(jié)點(diǎn)子立方體遍歷中使用的類似的順序,遍歷體元內(nèi)側(cè)的每個(gè)4×4×4子立方體。
3.將遍歷順序遇到的模型的點(diǎn)的顏色寫入輔助1D數(shù)組;4.重新將獲得的顏色數(shù)組安排到2D圖像,因此5.連續(xù)64個(gè)顏色樣本以列的方向被調(diào)整為8×8的像素塊,下一個(gè)64個(gè)樣本被調(diào)整為相鄰的8×8的像素塊,等等。
6.通過ABP技術(shù)壓縮獲得的圖像。
掃描3D數(shù)組和將結(jié)果繪制到2D圖像上的方法從下面的假設(shè)中選擇。應(yīng)注意的是,4×4×4子立方體和8×8圖像塊包含同樣數(shù)目的樣本。如果幾個(gè)連續(xù)掃描的子立方體包含足夠的顏色樣本去充填8×8塊,則很可能該塊將比較統(tǒng)一,因此在解壓縮后在3D模型中很難注意到扭曲。在局部堆積的幫助下,ABP算法壓縮彼此獨(dú)立的8×8塊。在我們的測試中,在最終的3D模型中通過ABP壓縮而引起的扭曲遠(yuǎn)遠(yuǎn)小于JPEG。選擇這種算法的另外一個(gè)原因是大的解壓縮速度(它最初這樣設(shè)計(jì))。壓縮率可取兩個(gè)值,8和12。在點(diǎn)紋理壓縮算法中,我們固定壓縮率為8。
遺憾的是,該算法不能普遍應(yīng)用。盡管以這種方式從顏色域(圖10(b))中獲得的圖像比‘自然’掃描順序的更統(tǒng)一,但有時(shí)2D8×8塊可包含與3D空間中遠(yuǎn)點(diǎn)對(duì)應(yīng)的顏色樣本。在這種情況下,有損ABP方法可從模型的遠(yuǎn)的部分‘混合’顏色,解壓縮后這導(dǎo)致局部明顯的扭曲。
然而,對(duì)于許多模型來說,算法工作是正常的。在圖11中,我們展示了‘壞’的例子(‘天使’模型)和‘好’的例子(‘莫頓256’模型)。在兩種情況下模型體積減少約為7倍。
3.實(shí)驗(yàn)結(jié)果在這一部分我們對(duì)比了兩種模型,‘天使’和‘莫頓256’以兩種不同的格式-八叉樹圖像和點(diǎn)紋理圖像的壓縮結(jié)果。每個(gè)模型的參考圖像的尺寸為256×256像素。
3.1點(diǎn)紋理壓縮在表3~表5中,給出了不同壓縮方法的結(jié)果。這種實(shí)驗(yàn)?zāi)P蛷木哂?位深度域的模型中獲得。通過利用量化步驟221+1將深度值擴(kuò)充到(1,230)的范圍,以致使32位深度值中的位分布更統(tǒng)一,從而在一定程度上模擬‘真’的32位值。
本方法不期望取得高壓縮率。體積的減小與典型彩色圖像的無損壓縮為相同的量級(jí)。壓縮的深度域和顏色域具有非常相近的大小,因?yàn)閿?shù)據(jù)的幾何特性不會(huì)通過本方法捕獲。
現(xiàn)在讓我們看當(dāng)在它們的‘真’深度分辨率時(shí)有多少相同模型可以被無損壓縮。不象原來的情況,深度域無損壓縮大約為5-6倍。這是因?yàn)槭箮缀螖?shù)據(jù)減小更明顯的中間體元表示,實(shí)際上,只有體元的小部分為黑色。然而,因?yàn)榻鈮嚎s的模型尺寸小于32位的情況,因此目前顏色域的壓縮率決定整個(gè)壓縮率,它甚至小于32位的情況(盡管輸出文件也更小)。因此,希望壓縮顏色域至少能和深度域一樣好。
為此,我們的第三種方法利用有損壓縮技術(shù)稱為ABP[6]。該方法給出更高的壓縮。然而,象所有的有損壓縮技術(shù)一樣,它可導(dǎo)致在一些情況下不合意的假象。這種發(fā)生的物體的例子是‘天使’模型。在掃描模型點(diǎn)的處理過程中,空間遠(yuǎn)的點(diǎn)有時(shí)落入同一2D圖像塊中。在這種模型的遠(yuǎn)點(diǎn)的顏色變化很大,且如果在一個(gè)塊中有太多不同的顏色,則局部堆積不能提供精確的近似。另一方面,是局部堆積允許我們精確壓縮大多數(shù)塊,因?yàn)樵谥亟ǖ念伾突氐?D位置后由標(biāo)準(zhǔn)JPEG導(dǎo)致的扭曲變得絕對(duì)不可忍受。然而,通過同一方法壓縮的‘莫頓256’模型的可視質(zhì)量卻非常好,這是在我們實(shí)驗(yàn)中大多數(shù)模型的一例。表3 32位深度域的無損點(diǎn)紋理壓縮(字節(jié))
表4 更低分辨率節(jié)點(diǎn)表示的無損點(diǎn)紋理壓縮(字節(jié))
表5 更低分辨率點(diǎn)紋理的無損幾何和有損顏色壓縮(字節(jié))
3.2八叉樹壓縮表6表示了我們兩個(gè)測試模型的壓縮和解壓縮的八叉樹分量的大小。我們看到該域的減小大約為1.6-1.9倍。
然而,通過對(duì)比解壓縮點(diǎn)紋理模型,即使是8-位深度域,八叉樹圖像也是更緊密的。表7表示了壓縮率7.2和11.2。在沒有轉(zhuǎn)換為八叉樹圖像的情況下它大于點(diǎn)紋理壓縮(分別為6.7和6.8倍)。然而,就我們已經(jīng)提到的,八叉樹圖像包含不完整的顏色信息,例子為‘天使’模型,在這種情況下使用顏色的3D插值。
總之,我們可以推斷上述實(shí)驗(yàn)證明了開發(fā)出的壓縮工具是有效的。對(duì)于給定模型來講,最好工具的選擇依賴于其幾何復(fù)雜度,顏色扭曲的特征,著色的期望速度和其它因素。
表6由4.1.2描述的方法對(duì)八叉樹圖像模型及其分量(文件大小到千字節(jié))給定的壓縮率。
表7解壓縮點(diǎn)紋理(8位深度域),相同模型的壓縮八叉樹表示(文件尺寸到千比特)
4.參考文獻(xiàn) J.Cleary and I.Witten,“Data compression using adaptive coding andpartial string matching,”IEEE Trans.on Communications,vol.32,no.4,pp.
396-402,April 1984. J.Rissanen and G.Langdon,“Universal modeling and coding,”IEEETrans.on Information Theory,vol.27,no.1,pp.12-23,January 1981. M.Schindler,“A byte oriented arithmetic coding”,Proc.of DataCompression Conference,March 1998. G.Martin,“Range encodingan algorithm for removing redundancy from adigitized message,”Video & Data Recording Conference,March 1979. H.Coxeter and W.Moser,Generators and relations for discrete groups,3rdedition,Springer-Verlag,1972.
L.Levkovich-Maslyuk,P.Kalyuzhny,and A.Zhirkov,“Texture compressionwith adaptive block partitions.”Proc.of 8th ACM International Conference onMultimedia,pp.401-403,October,2000.
5.ISO/IEC 14496-1/PDAM4(N4627)的研究注釋在將下面的修訂本用到ISO/IEC 14496-1/PDAM4(N4627)研究后,修訂后的ISO/IEC 14496-1/PDAM4(N4627)的研究應(yīng)當(dāng)合并入ISO/IEC 14496-1/FPDAM4中。
條款6.5.3.1.1,技術(shù)問題正交的默認(rèn)值應(yīng)當(dāng)為最常用的值。
解決方法從“FALSE”到“TRUE”替換正交域的默認(rèn)值如下。
建議修改fieldSFBoolorthographic TRUE條款6.5.3.1.1,技術(shù)問題DIBR的流動(dòng)將用AFX統(tǒng)一的流動(dòng)方法完成。
解決方法從深度圖像節(jié)點(diǎn)中移去depthImageUrl域。
建議修改深度圖像{域SFVec3f位置 0010
域SFRotation 取向 0010域SFVec2f 可視域 0.785398 0.785398域SFFloat 近平面 10域SFFloat 遠(yuǎn)平面 100域SFBool 正交 TRUE域SFNode diTexture NULL}條款6.5.3.1.2,編輯問題當(dāng)在當(dāng)前上下文中應(yīng)用到深度域時(shí),術(shù)語‘歸一化’使人誤解。
解決方法在第5段,改變‘歸一化’為‘換算’。
建議修改近平面和遠(yuǎn)平面域指定從視點(diǎn)到可視區(qū)域的近平面和遠(yuǎn)平面的距離。紋理和深度數(shù)據(jù)表示通過近平面、遠(yuǎn)平面和可視域的接近區(qū)域。深度數(shù)據(jù)被換算為從近平面到遠(yuǎn)平面的距離。
條款6.5.3.1.2,技術(shù)問題DIBR的流動(dòng)將用AFX統(tǒng)一的流動(dòng)方法完成。
解決方法去除depthImageUrl域的解釋(第七段及以后)。
建議修改條款6.5.3.2.2,編輯問題深度域的語義未完全指定。
解決方法在第三段改變深度域的說明如下。
建議修改深度域指定在紋理區(qū)域中的每個(gè)像素的深度。深度圖像的尺寸將與在紋理區(qū)域中的圖像或影像一樣大。深度域?qū)榧y理節(jié)點(diǎn)(圖像紋理,影像紋理或像素紋理)的不同類型之一,這里只有允許代表灰度級(jí)圖像的節(jié)點(diǎn)。如果深度域未指定,則在紋理區(qū)域的α通道將用作深度圖像。如果深度圖像未通過深度域或α通道指定,則結(jié)果也未定義。
深度域允許我們計(jì)算模型的3D點(diǎn)到通過視點(diǎn)且平行于近平面和遠(yuǎn)平面的平面的實(shí)際距離dist=nearPlane+(1-d-1dmax-1)(farPlane-nearPlane)]]>其中d為深度值,dmax為最大允許深度值。對(duì)于模型的各點(diǎn)來講,假設(shè)d>0其中d=1對(duì)應(yīng)于遠(yuǎn)平面,d=dmax對(duì)應(yīng)于近平面。
該公式對(duì)透視和正交情況都有效,因?yàn)閐是點(diǎn)和面之間的距離。dmax是可以用每個(gè)像素的位代表的最大d值(1)如果通過深度域指定深度,則深度值等于灰度級(jí)。
(2)如果通過紋理域定義的圖像中的α通道指定深度,則深度值d等于α通道值。
深度值也用于表示屬于模型的點(diǎn)僅為非0的d點(diǎn)屬于該模型。
對(duì)基于深度圖像的動(dòng)態(tài)模型來講,僅使用作為di紋理的具有簡單紋理深度圖像。
每個(gè)簡單紋理均可以用下面方式的一個(gè)產(chǎn)生動(dòng)作(1)深度域仍然為滿足上述條件的圖像,紋理域?yàn)槿我庥跋窦y理。
(2)深度域?yàn)樵谏疃扔蛏蠞M足上述條件的任意影像紋理,紋理域仍然為圖像。
(3)深度和紋理都是影像紋理,且深度域滿足上述條件。
(4)不使用深度域,且深度信息從使紋理域動(dòng)畫的影像紋理的α通道中搜索到。
條款6.5.3.3.2,編輯問題深度域的語義未完全指定。
解決方法用建議的修改替換深度域的說明(第三段)。
建議修改深度值的幾何意義和適于對(duì)采用簡單紋理解釋的所有約定,在這里應(yīng)用得很好。
深度域指定投影平面中的每個(gè)點(diǎn)的多個(gè)深度,以遍歷順序假定它是遠(yuǎn)平面(見上)的,它從左下角的點(diǎn)開始且在移動(dòng)到上線之前遍歷到右邊以實(shí)現(xiàn)水平線。對(duì)于每個(gè)點(diǎn)來講,首先存儲(chǔ)深度(像素)的數(shù)目,然后存儲(chǔ)深度值的數(shù)目。
條款6.5.3.4.1,H.1,技術(shù)問題用于八叉樹域的文件類型SFString可能導(dǎo)致矛盾值。
解決方法將八叉樹域的域類型改變成MFInt32。
建議修改在條款6.5.3.4.1中域MFInt32octree “”在條款H.1中,八叉樹表改變八叉樹列表如下
條款6.5.3.4.1,技術(shù)問題DIBR的流動(dòng)將用AFX統(tǒng)一的流動(dòng)方法完成。
解決方法從深度圖像節(jié)點(diǎn)中去除octreeUrl域。
建議修改八叉樹圖像{域SFInt32八叉樹分辨率 256域MFInt32八叉樹 “”域MFNode 八叉樹圖像 []}條款6.5.3.4.2,編輯問題八叉樹分辨率域定義(第2段)允許曲解。
解決方法通過加‘允許的’詞修改描述。
建議修改八叉樹分辨率區(qū)域指定沿著封閉的立方體的一邊的八叉樹葉的最大允許數(shù)目。八叉樹的級(jí)別可由八叉樹分辨率利用如下方程式來決定八叉樹級(jí)別=int(log2(八叉樹分辨率-1)+1)
條款6.5.3.4.2,技術(shù)問題DIBR的流動(dòng)將用AFX統(tǒng)一的流動(dòng)方法完成。
解決方法去除octreeUrl域的解釋(第5段及以下)。
建議修改條款6.5.3.4.2,編輯問題八叉樹圖像的動(dòng)畫描述不完整。
解決方法在描述八叉樹圖像動(dòng)畫的條款6.5.3.4.2后面增加一段落。
建議修改八叉樹圖像的動(dòng)畫可以通過與上述基于深度圖像的前三種方式一樣的方法來播放,利用八叉樹域而不是深度域時(shí)僅有一點(diǎn)差異。
條款H.1,技術(shù)問題在點(diǎn)紋理的節(jié)點(diǎn)中,深度數(shù)據(jù)范圍也許在以后的應(yīng)用中太小了。許多繪圖工具可以將24位或36位深度給它們的Z-緩沖器。然而,在點(diǎn)紋理中,深度域的范圍是
,它是16字節(jié)的。
解決方法在條款H.1中,用于點(diǎn)紋理的表,把深度列的范圍改做所建議的值。建議修定
現(xiàn)在敘述在美國臨時(shí)申請(qǐng)?zhí)?0/395304中描述的發(fā)明,申請(qǐng)日為2002年7月12日,名稱為“A Technique for Representation and Compression ofOctreelmage Data in Depth Image-Based Representation and its apparatus”。IV.ISO/IEC JTC 1/SC 29/WG 11 CODING OF MOVING PICTURES AND AUDIO1.引言在本文檔中,描述了基于深度圖像表示(DIBR)的八叉樹圖像的改進(jìn),AFX A8.3。本八叉樹節(jié)點(diǎn)在Pattaya會(huì)議期間被接受和包括到委員會(huì)草案的建議中。然而,因?yàn)槲矬w的幾何封閉,已經(jīng)觀察到在一些特定情況下著色質(zhì)量不令人滿意。這篇文件描述了改進(jìn)八叉樹節(jié)點(diǎn)版本,即紋理二進(jìn)制體積八叉樹(TBVO)和其流動(dòng)壓縮方法。
2.紋理二進(jìn)制體積八叉樹(TBVO)2.1 TVBO概述TVBO的目的是發(fā)明一個(gè)具有快速可視化圖像的更靈活的表示/壓縮格式,作為二進(jìn)制體積八叉樹(BVO)的改進(jìn)。它的實(shí)現(xiàn)是通過儲(chǔ)存一些額外的基于BVO的信息?;贐VO的表示是由(八叉樹紋理+參考圖象的設(shè)置)組成,而基于TBVO表示由(BVO八叉樹+參考圖象的設(shè)置+相機(jī)指數(shù))組成。
BVO主要的可視化問題是在著色期間,我們必須決定相應(yīng)的每一個(gè)體元的相機(jī)指數(shù)。為此,我們不僅需要投影到相機(jī),而且要作背面的射線造型程序。我們必須至少要確定相機(jī)存在,從中可以看到體元。因此,我們必須找所有投影到特定相機(jī)的體元。但是,如果我們用強(qiáng)制的方法,這個(gè)過程就很慢。因此,我們開發(fā)了一種算法,使它對(duì)于大多數(shù)物體形狀執(zhí)行得更快更精確。然而,對(duì)來自任何相機(jī)的不可視化的體元仍存在一些麻煩。
一個(gè)可行的解決方法就是對(duì)每一個(gè)體元儲(chǔ)存明確的顏色。然而,在這種情況下,我們已經(jīng)碰到幾個(gè)在壓縮顏色信息的問題。那就是,如果我們組合體元顏色作為一圖象格式并壓縮它時(shí),相鄰體元的校正被破壞以至壓縮率達(dá)不到滿意的效果。
在TBVO中,這個(gè)問題通過為每一個(gè)體元儲(chǔ)存相機(jī)(圖像)指數(shù)來解決。這個(gè)指數(shù)通常對(duì)于體元組是一樣的,并且這可以為附件信息的經(jīng)濟(jì)存儲(chǔ)使用八叉樹紋理。應(yīng)注意的是,平均只有15%的體積增長在我們的模型實(shí)驗(yàn)中是可以看到的。它的建模有一點(diǎn)復(fù)雜,但有表示任何幾何物體的方法更多,也更靈活。
TBVO優(yōu)于BVO是它的著色比BVO更簡單和更快,實(shí)際上對(duì)物體幾何沒有附加限制。
2.2 TBVO的例子在這部分,我們給出一個(gè)典型例子,用于說明TBVO描述的效果和關(guān)鍵要素。在圖12(a)中,給出一個(gè)“天使”的BVO模型。使用BVO中普通的6個(gè)紋理,身體和翅膀的某些部分從任何相機(jī)中都無法觀察到,用很多“裂紋”產(chǎn)生著色圖象。在同樣模型的TBVO描述中,使用總數(shù)為8個(gè)相機(jī)(一個(gè)盒子的6個(gè)面+2個(gè)附加相機(jī))。在圖13(a)中,示出了相機(jī)指數(shù)的圖象。不同顏色意味著不同的相機(jī)指數(shù)。附加的相機(jī)被安放在立方體里面,正交地觀察前面和后面的部分。附加相機(jī)的圖象平面分別被表示在圖13(b)和(c)中。結(jié)果,我們獲得了一個(gè)無縫和清晰的著色結(jié)果,如圖12(b)所示。
2.3解壓縮的TBVO流描述我們假定255相機(jī)就夠了,并且為指數(shù)指定一個(gè)字節(jié)。這個(gè)TBVO流是符號(hào)流。每一個(gè)TBVO符號(hào)就是BVO符號(hào)或是紋理符號(hào)。紋理符號(hào)表示相機(jī)指數(shù),它可以是一個(gè)特定的數(shù)字或是一個(gè)“未定義”的代碼,在進(jìn)一步的描述中使“未定義”的代碼為“?”。
TBVO流以寬度第一的順序被遍歷,如果我們有BVO,并且每一葉體元有相機(jī)數(shù)目,則就讓我們描述怎樣寫TBVO流。這必須在建模階段完成。它將以寬度優(yōu)先的順序遍歷所有BVO節(jié)點(diǎn),包括葉節(jié)點(diǎn)(它并沒有BVO符號(hào))。下面的偽代碼將完成編寫TBVO流。
<pre listing-type="program-listing"><![CDATA[ If CurNode is not leaf node { Write current BVO-symbol corresponding to this node } if all the children have identical camera index(texture-symbol) {if parent of CurNode has‘?’camera index Write camera index equal for sub-nodes } else { Write‘?’symbol }]]></pre>圖3 編寫TBVO流的偽代碼根據(jù)這個(gè)程序,對(duì)于如圖14(a)所示的TBVO樹,可獲取的符號(hào)流如圖14(b)所示。在這個(gè)例子中,這個(gè)紋理符號(hào)就是以字節(jié)的形式表示。然而,在實(shí)際流中,每一個(gè)紋理符號(hào)只要2個(gè)字節(jié),因?yàn)槲覀冎恍枰枋?個(gè)值(2個(gè)相機(jī)和未定義代碼)。
2.4.TBVO壓縮在八叉樹圖像節(jié)點(diǎn)中,八叉樹圖像和八叉樹域被分別壓縮?;谶@種必須使八叉樹域受到無損壓縮而又允許八叉樹圖像在視覺方面有一定程度的可接受的扭曲的想法,開發(fā)了描述的這種方法。
2.4.1.八叉樹圖像域的壓縮八叉樹圖像域利用MPEG-4圖像壓縮(靜態(tài)模型)或利用MPEG-4中允許的視頻壓縮工具(動(dòng)畫模型)壓縮。在我們的方法中,我們對(duì)于八叉樹圖像使用的是JPEG格式(在我們稱它為JPEG圖像的歸一化的一些預(yù)處理后,保留的每一條紋理,只有那些以3D可視的點(diǎn)是必要的;也就是說,那部分在3D著色階段不被使用的給定紋理,我們可以隨意將其壓縮)。
2.4.2八叉樹域壓縮八叉樹壓縮是八叉樹圖像壓縮中最重要的部分,因?yàn)樗褂玫膲嚎s表示出已經(jīng)非常緊湊鏈接的二元樹形。不管怎樣,在我們的實(shí)驗(yàn)中,表明此方法可以將這種結(jié)構(gòu)的體積減少至原始體積的一半以下。在動(dòng)態(tài)八叉樹圖像版本中,八叉樹文件中的每個(gè)3D幀受到單獨(dú)壓縮。
2.4.2.1.上下文模型通過確切使用數(shù)據(jù)幾何特性的算術(shù)編碼(作為“范圍編碼器”來進(jìn)行,[3][4])的自適應(yīng)變化進(jìn)行壓縮。八叉樹為字節(jié)流。每個(gè)字節(jié)代表樹的一個(gè)節(jié)點(diǎn)(子立方體),其中其各位表示在內(nèi)部細(xì)分后的子立方體的占用率。位的模式被稱為節(jié)點(diǎn)的填充模式。所述的壓縮算法以下面的方式依次處理字節(jié)。
●決定當(dāng)前字節(jié)的上下文。
●從與上下文相應(yīng)的‘概率表’(PT)中重新獲得本上下文中當(dāng)前字節(jié)出現(xiàn)的‘可能性’(歸一化頻率)。
●概率值被送到范圍編碼器。
●通過對(duì)在當(dāng)前上下文中的當(dāng)前字節(jié)出現(xiàn)的頻率加1更新當(dāng)前PT(如果需要,之后重新歸一化,見下面細(xì)節(jié))。
因此,根據(jù)上下文模型,編碼是重建和更新PT的過程。在基于上下文自適應(yīng)算術(shù)編碼方案(如‘具有部分匹配的預(yù)測’[1]-[3])中,符號(hào)的上下文通常是前面幾個(gè)符號(hào)的一個(gè)字符串。然而,在本例中,通過使用數(shù)據(jù)的八叉樹結(jié)構(gòu)和幾何特性增加了壓縮效率。所述方法基于兩種在八叉樹壓縮問題中非常新的思想。
A.對(duì)于當(dāng)前節(jié)點(diǎn)來講,上下文或者是父節(jié)點(diǎn),或者是節(jié)點(diǎn)對(duì){父節(jié)點(diǎn),父節(jié)點(diǎn)中的當(dāng)前節(jié)點(diǎn)位置};B.假定在特定父節(jié)點(diǎn)中的特定幾何位置,給定節(jié)點(diǎn)出現(xiàn)的‘可能性’對(duì)特定的正交(如旋轉(zhuǎn)或?qū)ΨQ)轉(zhuǎn)換來說是不變的。
對(duì)于轉(zhuǎn)換R來講,在圖6中示出了假定‘B’,它在x-z屏幕上旋轉(zhuǎn)-90°。‘B’后的基本概念是注意特定類型的父節(jié)點(diǎn)中出現(xiàn)特定類型的子節(jié)點(diǎn)的可能性只會(huì)依賴于它們的相對(duì)位置。這種假設(shè)通過對(duì)概率表的分析在我們的實(shí)驗(yàn)中得到確認(rèn)。它使我們在沒有太多的概率表的情況下去使用更復(fù)雜的上下文。反之,它利用數(shù)據(jù)大小和速度幫助我們獲得很好的結(jié)果。注意到使用的上下文越多,估計(jì)的概率越分明,因此代碼越緊密。
讓我們介紹我們假定概率分布不變的系列轉(zhuǎn)換。為了在我們這種情況下進(jìn)行應(yīng)用,這樣的轉(zhuǎn)換應(yīng)當(dāng)保持封閉的立方體??紤]到歐幾里德空間中的一系列正交轉(zhuǎn)換G,通過以3個(gè)基本轉(zhuǎn)換的數(shù)目和順序的所有組合(生成器)m1,m2,m3獲得,它們?yōu)閙1=010100001,]]>m2=100001010,]]>m3=-110010001]]>其中m1和m2分別為平面x=y(tǒng)和y=z的反射,和m3是平面x=0的反射。通過反射生成的群論的經(jīng)典結(jié)果之一描述了G包含48個(gè)明顯的正交變換,從某種意義上來講,這是自身引入(所謂Coxeter組)立方體的最大正交變換組。例如,圖6中的旋轉(zhuǎn)R通過生成器表示為R=m3·m2·m1·m2,其中‘.’為矩陣乘法。
應(yīng)用到八叉樹節(jié)點(diǎn)的G的轉(zhuǎn)換產(chǎn)生不同的子立方體充填模式的節(jié)點(diǎn)。這使我們根據(jù)它們的子立方體的充填模式對(duì)節(jié)點(diǎn)進(jìn)行分類。利用群論語言[5],我們假定G扮演著八叉樹的所有充填模式系列的角色。計(jì)算表明存在22個(gè)不同的類(在群論中也稱為軌道),其中,通過定義,如果當(dāng)且僅如果它們通過G的轉(zhuǎn)換鏈接到一起時(shí),則兩個(gè)節(jié)點(diǎn)就屬于同一類。一個(gè)類中元素的數(shù)目從1變到24,且總是48的除數(shù)。
假定‘B’的實(shí)際次序?yàn)楦怕时聿粌H依賴于父節(jié)點(diǎn)本身,而且還依賴于父節(jié)點(diǎn)所屬的類。應(yīng)注意的是,一個(gè)基于父節(jié)點(diǎn)的上下文有256個(gè)表,在以前情況下基于父-和-子的位置的上下文有256×8=2048個(gè)表,而在后一種情況下,我們僅需要基于父級(jí)別的上下文的22個(gè)表加22×8=176個(gè)表。因此,就可以利用少量概率表,使上下文的復(fù)雜性相同。構(gòu)建的PT具有表8所示的形式。
表8概率表列舉
2.4.2.2編碼過程為了使概率表的統(tǒng)計(jì)更精確,在編碼的三個(gè)階段以三種不同的方式收集。
●在第一階段我們根本不用上下文,接受‘0-上下文模型’,且保留具有256個(gè)入口的單個(gè)概率表,從統(tǒng)一分布開始;●第一512個(gè)節(jié)點(diǎn)(這是一個(gè)經(jīng)驗(yàn)數(shù))一旦被編碼,我們就利用父節(jié)點(diǎn)作為上下文切換到‘1-上下文模型’。在切換的瞬間,0-上下文PT被拷貝到所有22個(gè)上下文的PT。
●在2048個(gè)節(jié)點(diǎn)(其它探討值)編碼后,我們切換到‘2-上下文模型’。在這個(gè)瞬間,父模式的1-上下文PT被拷貝到同一父模式中的每個(gè)位置的PT。
該算法的關(guān)鍵點(diǎn)是確定當(dāng)前字節(jié)的上下文和概率。這將如下實(shí)施。在每個(gè)級(jí)別我們固定單個(gè)元素,它稱為‘標(biāo)準(zhǔn)元素’。我們將表示級(jí)別的級(jí)別圖表(CMT)存儲(chǔ)到所屬的每個(gè)可能的256個(gè)節(jié)點(diǎn),級(jí)別圖表還表示將這個(gè)特定節(jié)點(diǎn)到其級(jí)別的標(biāo)準(zhǔn)元素的G的預(yù)算轉(zhuǎn)換。因此,為了確定當(dāng)前節(jié)點(diǎn)N的概率,我們實(shí)施以下步驟●查看當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)P;●檢索P所屬的CMT級(jí)別,并檢索將P成為該級(jí)別的標(biāo)準(zhǔn)節(jié)點(diǎn)的轉(zhuǎn)換T。將級(jí)別數(shù)目記作c;●將T用到到P上,找到標(biāo)準(zhǔn)節(jié)點(diǎn)中的子節(jié)點(diǎn)位置p,當(dāng)前節(jié)點(diǎn)N被繪制到標(biāo)準(zhǔn)節(jié)點(diǎn)上;●將T用到N上。然后,新獲得的充填模式TN是在級(jí)別c的標(biāo)準(zhǔn)節(jié)點(diǎn)中的位置p。
●從與級(jí)別位置組合(c,p)相應(yīng)的概率表的入口TN中檢索所需要的的概率。
對(duì)于1-上下文模型來講,上述步驟可以作明顯的修改。無需說,所有的轉(zhuǎn)換都被預(yù)算和在查找表中預(yù)先執(zhí)行。
應(yīng)注意的是,在節(jié)點(diǎn)N的解碼階段,父節(jié)點(diǎn)P已經(jīng)被解碼,因此,轉(zhuǎn)換T已知。在解碼階段的所有步驟與相應(yīng)的編碼步驟絕對(duì)相似。
最后,我們概述概率的更新過程。讓P作為一些上下文的概率表。在該上下文中,P(N)表示與階段N出現(xiàn)的概率相應(yīng)的P的入口。在實(shí)施中,P(N)是一個(gè)整數(shù),在每個(gè)N發(fā)生后,P(N)被更新為P(N)=P(N)+A其中A為不同上下文模型的從1到4的整數(shù)增量參數(shù)。讓S(P)為P中所有入口的和。然后送入到算術(shù)編碼器(在本例中為范圍編碼器)的N的‘概率’用P(N)/S(P)來計(jì)算。當(dāng)S(P)一達(dá)到閾值216時(shí),所有入口就被歸一化為了避免在P中出現(xiàn)零值,等于1的入口留下來保持原狀,而其它則被除以2。
2.4.2.3‘相機(jī)節(jié)點(diǎn)’的編碼利用其本身的概率表,對(duì)確定每個(gè)紋理(相機(jī))數(shù)目的符號(hào)流進(jìn)行壓縮。在上述條款中,它只有一個(gè)上下文。PT入口用大于八叉樹節(jié)點(diǎn)的入口的增量來更新;另外,用節(jié)點(diǎn)符號(hào)編碼沒有困難。
2.5 TBVO壓縮和著色結(jié)果在圖15、17、18和19中,我們得到TBVO的壓縮結(jié)果。圖16示出了‘天使’和‘莫頓’模型的剝離圖像。壓縮大小與壓縮的BVO相比在第三列中括弧里的數(shù)字為壓縮的幾何體積,而第一個(gè)數(shù)字為基于TBVO壓縮模型的總體積(即考慮的紋理)。作為可視扭曲的測量,計(jì)算PSNR,以便估計(jì)LDI→(T)BVO→LDI轉(zhuǎn)換后的色差。壓縮的模型大小是所有紋理(作為最小的JPEG存儲(chǔ),見0)的大小加上壓縮的幾何大小。在TBVO情況下,壓縮的幾何也包括相機(jī)信息。與BVO對(duì)比,TBVO的PSNR得到明顯改進(jìn)。
TBVO獲得比BVO更快的著色。對(duì)“天使”模型來講,TBVO-12的幀率為10.8fps,而BVO的幀率為7.5fps。對(duì)“莫頓”模型來講,TBVO-12的幀率為3.0fps,而BVO的幀率為2.1fps(在Celeron 850MHz上)。另一方面,可觀察到動(dòng)畫TBVO中的著色加速更快。對(duì)“龍”模型,TBVO-12的幀率為73fps,而BVO的幀率為29fps(在Pentium4 1.8G上)。
TBVO格式提供大的靈活性。例如,利用12個(gè)相機(jī)的兩個(gè)方式如圖6所示-TBVO-12和TBVO-(6+6)。TBVO-12利用6個(gè)BVO相機(jī)(立方體表面)加上從立方體中心獲取的6個(gè)圖像,其平行于表面。(6+6)配置利用6個(gè)BVO相機(jī),然后通過這些相機(jī)和通過同樣6個(gè)相機(jī)變成可視的照片部分移去(‘剝?nèi)ァ?所有可視體元。這樣的圖像例子見圖16。
應(yīng)注意的是,BVO和TBVO-6天使模型之間的質(zhì)量(主觀和PSNR值)差異仍很大。盡管利用同樣的相機(jī)位置,TBVO允許我們對(duì)所有的體元指定相機(jī)數(shù)目,即使從所有相機(jī)中不可見也是如此。選擇這些數(shù)目是為了更好地匹配原有的顏色(即對(duì)每個(gè)點(diǎn),不管是否直接可視,在所有‘相機(jī)圖像’中均選擇最好顏色匹配。在天使情況下,它得到了好的結(jié)果)。
同樣應(yīng)注意的是,6個(gè)和12個(gè)相機(jī)情況之間的最普通‘幾何’(即BVO+相機(jī))體積的差異。實(shí)際上,附加相機(jī)通常覆蓋小區(qū)域,因此它們的標(biāo)識(shí)是少有的,它們的紋理是罕見的(和壓縮好的)。所有這些不僅應(yīng)用到‘天使’,而且應(yīng)用到下面所有模型上。
2.6節(jié)點(diǎn)說明八叉樹圖像{域SFInt32八叉樹分辨率256域MFInt32八叉樹 []#%q=13,8域MFInt32相機(jī)ID []#%q=13,8域MFNode 八叉樹圖像 []}
該八叉樹圖像節(jié)點(diǎn)限定TBVO結(jié)構(gòu),其中存在一個(gè)相應(yīng)于照相機(jī)指數(shù)數(shù)列的八叉樹結(jié)構(gòu)和一套八叉樹圖像。
該八叉樹圖像域?yàn)閐i紋理域指定一套具有單一紋理的深度圖像節(jié)點(diǎn);沒有使用這些單一紋理節(jié)點(diǎn)中的深度域。正交域?qū)ι疃葓D像字節(jié)來說必須是真實(shí)的。對(duì)每個(gè)單一紋理來說,紋理域存儲(chǔ)該物體的顏色信息,或把該物體的一部分(例如通過攝影飛機(jī)的橫截面)看做通過正交相機(jī)獲得的,在深度圖像的相應(yīng)域中確定其位置和方向。在模型構(gòu)造階段,分配對(duì)應(yīng)于每個(gè)攝影機(jī)的物體部分。用位置、方向和紋理域的值進(jìn)行物體分割,以便最小化攝影機(jī)的數(shù)量(或等于所包含的八叉樹圖像),同時(shí),還包括所有能從任意選擇位置看見的物體部分。該方向域必須滿足條件攝影窗口矢量僅具有一個(gè)非零分量(例如是垂直于所包圍的立方體面中的一個(gè)面)。而且,單一紋理圖像的邊緣必須平行于封閉立方體的相應(yīng)邊。
八叉樹域充分描述物體的幾何結(jié)構(gòu)。該幾何結(jié)構(gòu)由一套給定物體的三維像素來表示。八叉樹是類似樹的數(shù)據(jù)結(jié)構(gòu),其中每個(gè)節(jié)點(diǎn)通過字節(jié)來表示。在該字節(jié)的第I位中的1意味著其內(nèi)部字節(jié)的第i個(gè)子存在子字節(jié);而0意味著沒有。八叉樹內(nèi)部字節(jié)的順序是該八叉樹寬度上的第一遍歷。內(nèi)部節(jié)點(diǎn)的八個(gè)子節(jié)點(diǎn)的順序示在附圖14(b)中。整個(gè)八叉樹的封閉立方體的大小為1×1×1,且該八叉樹立方體的中心為原始坐標(biāo)系統(tǒng)的原點(diǎn)(0,0,0)。
攝影ID域包括賦值為體元的攝像指數(shù)數(shù)組。在繪制階段,屬于八叉樹葉的顏色通過將該樹葉正交投影到具有具體指數(shù)的八叉樹圖像中的一個(gè)上。該指數(shù)以類似八叉樹的形式存儲(chǔ)如果能夠?qū)⒁粋€(gè)具體的攝影用于所有包含在具體節(jié)點(diǎn)中的樹葉,則包含該攝影的指數(shù)的節(jié)點(diǎn)匯入流中;否則,給出包含固定的“進(jìn)一步細(xì)分”編碼的節(jié)點(diǎn),這就意味著攝影指數(shù)能夠分別指定為當(dāng)前節(jié)點(diǎn)(在同一遞歸形式下)的子節(jié)點(diǎn)。如果該攝影ID是空的,則在繪制階段(在BVO的情況下)確定攝影標(biāo)引。
該八叉樹域沿著封閉立方體的邊指定該八叉樹葉的最大容許數(shù)量。該八叉樹的水平可從使用下面等式的八叉樹解式中得到八叉樹水平=〔log2(八叉樹分辨率)〕2.7位流說明2.7.1八叉樹壓縮2.7.1.1概述基于深度的圖像中表示的八叉樹節(jié)點(diǎn)定義八叉樹結(jié)構(gòu)和它們的投影紋理。存儲(chǔ)在八叉樹數(shù)組中的每個(gè)紋理,通過具有單一紋理的深度圖像節(jié)點(diǎn)定義。八叉樹節(jié)點(diǎn)的其它域可通過八叉樹壓縮來進(jìn)行壓縮。
2.7.1.2八叉樹2.7.1.2.1語法class Octree(){OctreeHeader();aligned bit(32)*next;while(next==0×000001C8){aligned bit(32)octree_frame_stat_code;OctreeFrame(octreeLevel);aligned bit(32)*next;}}2.7.1.2.2語義學(xué)該八叉樹所壓縮的流包括八叉樹頭和一個(gè)或多于一個(gè)的八叉樹框架,每個(gè)前面為octree_frame_start_code。該octree_frame_start_code的值總是為0×000001C8。該值通過該流的先行分析(接下來)來檢測。
2.7.1.3八叉樹頭2.7.1.3.1語法class OctreeHeader(){unsigned int(5)octreeResolutionBits;unsigned int(octreeResolutionBits)octreeResolution;int octreeLevel=ceil(log(octreeResolution)/log(2));unsigned int(3)textureNumBits;unsigned int(textureNumBits)numOfTextures;}2.7.1.3.2語義學(xué)該類讀取八叉樹壓縮的頭信息。
八叉樹解式,其長度通過八叉樹解式字節(jié)來表示,包括八叉樹圖像節(jié)點(diǎn)的八叉樹解式的值。該值用于推倒八叉樹級(jí)。
作為textureNumBits長度的NumOfTextures,描述用在八叉樹圖像節(jié)點(diǎn)中的紋理(或攝影)的數(shù)量。該值用于該八叉樹每個(gè)節(jié)點(diǎn)的攝影ID的算術(shù)編碼。如果textureNumBits的值為0,則紋理符號(hào)不會(huì)通過將根節(jié)點(diǎn)的當(dāng)前紋理設(shè)置為255而被編碼。
2.7.1.4八叉樹框架2.7.1.4.1語法<pre listing-type="program-listing"><![CDATA[ class OctreeFrame(int octreeLevel) { for(int curLevel=0;curLevel<o(jì)ctreeLevel;curLevel++0 { for(int nodelndex=0;nodelndex<nNodeslnCurLevel;nodelndex++) { int nodeSym=ArithmeticDecodeSymbol(contextID); if(curTexture==0) { curTexture=ArithmeticDecodeSymbol(textureContextID); } } } for(int nodelndex=0;nodeIndex<nNodesInCurLevel;nodeIndex++) if(curTexture==0) curTexture=ArithmeticDecodeSymbol(textureContextID); }]]></pre>2.7.1.4.2語義學(xué)該類讀取八叉樹在一寬度上的第一遍歷順序的單一框架。從在0級(jí)的第一節(jié)點(diǎn)開始讀取,在讀取當(dāng)前級(jí)的每個(gè)節(jié)點(diǎn)之后,通過計(jì)數(shù)在每個(gè)節(jié)點(diǎn)符號(hào)中的所有1而得知在下一級(jí)的節(jié)點(diǎn)的數(shù)量。在下一個(gè)級(jí)中,節(jié)點(diǎn)(nNodeInCurLevel)的數(shù)量將從流中讀取。
為了解碼每個(gè)節(jié)點(diǎn),就給出一個(gè)合適的contextID,這將在2.7.1.6條款中描述。
如果當(dāng)前節(jié)點(diǎn)(curTexture)的紋理(或攝影)ID沒有被父節(jié)點(diǎn)確定,則紋理ID也從流中讀取,使用紋理ID的上下文,通過textureContextID來確定。如果檢索到非0值(定義紋理ID),則該值也將被用到下一級(jí)的所有子節(jié)點(diǎn)中。在解碼每個(gè)節(jié)點(diǎn)之后,將紋理ID賦給尚沒有賦給紋理ID值的八叉樹的葉節(jié)點(diǎn)。
2.7.1.5適配的算術(shù)解碼在該段中,將描述用在八叉樹壓縮中的適配的算術(shù)編碼器,使用C++結(jié)構(gòu)語法來進(jìn)行描述。aa_decode()是對(duì)符號(hào)解碼的函數(shù),使用通過數(shù)組cumul_freq[]限定的模型,PCT是概率上下列表中的一個(gè)數(shù)組,這將在2.7.1.6中描述。
<pre listing-type="program-listing"><![CDATA[ int ArithmeticDecodeSymbol(int contextID) { unsigned int MAXCUM=1<<13; unsigned int TextureMAXCUM=256; int*p,allsym,maxcum; if(contextID?。絫extureContextID) { p=PCT[contextID]; allsym=256; maxcum=MAXCUM; } else { p=TexturePCT; allsym=numOfTextures; maxcum=TextureMAXCUM; } int cumul_freq[allsym]; int cum=0; for(int i=allsym-1;i>=0;i--) {cum+=p[i]; cumul_freq[i]=cum; } if(cum>maxcum) { cum=0; for(int i=allsym-1;i>=0;i--) { PCT[contextID][i]=(PCT[contextID][i]+1)/2; cum+=PCT[contextID][i]; cumul_freq[i]=cum; } } return aa_decode(cumul_freq); }]]></pre>2.7.1.6解碼過程解碼過程的整個(gè)結(jié)構(gòu)在條款0中描述(參看上面描述的編碼過程)。它示出了如何從位流中獲得TBVO節(jié)點(diǎn),該位流由算術(shù)編碼(壓縮)TBVO模型構(gòu)成。
在每一解碼過程步驟中,我們必須更新上下文的數(shù)字(例如我們使用的概率列表的指數(shù))和概率表本身。我們調(diào)用可能的模型,該模型是所有概率表(整數(shù)數(shù)組)的結(jié)合。第i個(gè)概率表的第j個(gè)元素除以它的元素的總和,估計(jì)第i個(gè)上下文中第j個(gè)符號(hào)出現(xiàn)的概率。
更新概率表的過程如下。開始,初始化概率表,以便所有的輸入表都等于1。在解碼一符號(hào)之前,必須選擇上下文數(shù)字(ContextID)。ContexTID從在先的解碼數(shù)據(jù)中確定,如用0或0以下表示。當(dāng)?shù)玫紺ontextID時(shí),使用二進(jìn)制算術(shù)解碼器來解碼該符號(hào)。此后,通過增加適合的步驟到解碼符號(hào)頻率中去,以便更新概率表,如果表元素的總和(累積)變得比累積閾值大,則執(zhí)行標(biāo)準(zhǔn)化(見2.7.1.5.1)。
2.7.1.6.1紋理符號(hào)的上下文建模紋理符號(hào)僅使用一個(gè)上下文來建模。這意味著僅使用一個(gè)概率表。這個(gè)表的大小等于numOfTextures加1的數(shù)量。在開始時(shí),該表被初始化到所有的1。最大允許輸入值設(shè)置為256。適配的步驟設(shè)置為32。參數(shù)值的結(jié)合允許適合紋理數(shù)量的最高可變流。
2.7.1.6.2節(jié)點(diǎn)符號(hào)的上下文建模有256種不同的節(jié)點(diǎn)符號(hào),每個(gè)符號(hào)表示一個(gè)2×2×2的二進(jìn)制體元數(shù)組。這些數(shù)組可以使用3D正交轉(zhuǎn)換,彼此轉(zhuǎn)換相應(yīng)的符號(hào)。
假設(shè)一組48個(gè)固定的正交變換,也就是說,通過圍繞坐標(biāo)軸旋轉(zhuǎn)90*n(n=0,1,2,3)度,并對(duì)稱。下面給出它們的矩陣,它們的數(shù)字順序是正交變換48〕={ }有22組符號(hào)-稱作類,如果且僅如果它們屬于同一類,則使其中兩個(gè)符號(hào)通過這樣的一個(gè)變換來連接,。編碼方法按如下所述構(gòu)成PCT一個(gè)符號(hào)的紋理ID或是等于其父節(jié)點(diǎn)所屬類中的數(shù)字,或者等于組合數(shù)字(父類,在父節(jié)點(diǎn)中的當(dāng)前節(jié)點(diǎn)位置)。這允許在上下文的數(shù)字中有較大的縮小率,使獲得有意義的統(tǒng)計(jì)所需要的時(shí)間縮短。
在每個(gè)類中,確定單一基本符號(hào)(見表9),而每個(gè)符號(hào)中,預(yù)算正交變換,這種變換使其成為其類的基本符號(hào)(在實(shí)際的編碼/解碼過程中,使用查找表)。在確定符號(hào)的上下文ID之后,應(yīng)用將其父節(jié)點(diǎn)帶到基元素的倒置(即轉(zhuǎn)置矩陣)的轉(zhuǎn)換。在表10中,給出上下文和每個(gè)符號(hào)相應(yīng)的直接變換。
表9每個(gè)類的基本符號(hào)的例子
上下文模型取決于已經(jīng)解碼符號(hào)的數(shù)字N當(dāng)N<512時(shí),僅有一個(gè)上下文。概率表初始化到所有為1。在概率表中符號(hào)的數(shù)量為256。適合的步驟為2。最大累積頻率為8192。
當(dāng)512≤N<2560(=2048+512)時(shí),使用1-context(在context數(shù)字是單一參數(shù)的句子中,該類的數(shù)字)模型。該模型使用22PCT。contextID是該類的數(shù)字,其中該解碼節(jié)點(diǎn)的父節(jié)點(diǎn)屬于該類。這個(gè)數(shù)字總是從查找表格(參看表10)中確定,因?yàn)楦腹?jié)點(diǎn)比子節(jié)點(diǎn)更早被解碼。每個(gè)22PCT通過來自上一級(jí)的PCT來初始化。在每個(gè)概率表中的符號(hào)的數(shù)字是256。適配的步驟是3。最大的累積頻率也是8192。在符號(hào)被解碼之后,使用上面定義的逆向正交變換來進(jìn)行變換。該正交變換數(shù)字可以在表10中找到,該表中具有的節(jié)點(diǎn)符號(hào)ID等于當(dāng)前節(jié)點(diǎn)符號(hào)的父節(jié)點(diǎn)。
當(dāng)解碼2560個(gè)符號(hào)時(shí),解碼器轉(zhuǎn)換到2-context(在該句子中context數(shù)字是由下面描述的兩個(gè)參數(shù)組成的)。該模型使用176(=22*8,例如8個(gè)位置的22個(gè)類)PCT。這里的contextID取決于父類和在父節(jié)點(diǎn)中的當(dāng)前節(jié)點(diǎn)的位置。初始化這個(gè)模型中的概率表是取決于它的上下文,而不是位置所有8個(gè)位置的PCT是從在上一級(jí)的給定類中獲得的PCT的克隆。在每個(gè)概率表中的符號(hào)的數(shù)字是256。適配的步驟是4。最大累積頻率也是8192。
在符號(hào)被解碼之后,當(dāng)是在上一級(jí)模型中時(shí),也使用逆向正交變換(在表III中給定的一個(gè))來進(jìn)行變換。
使用表10,可以容易地獲得每個(gè)類的基本元素的幾何位置?;驹貙?shí)際上是變換ID為0(數(shù)字0賦給同一變換)的符號(hào)。
表10.連接節(jié)點(diǎn)符號(hào)的查找表格,它的類數(shù)字和使符號(hào)為該類中的固定基本元素的正交變換。
3.參考文獻(xiàn)[1]J.Cleary and I.Witten,“Data compression using adaptive coding andpartial string matching,”IEEE Trans.on Communications,vol.32,no.4,pp.396-402,April 1984. J.Rissanen and G.Langdon,“Universal modeling and coding,”IEEETrans.on Information Theory,vol.27,no.1,pp.12-23,January 1981. M.Schindler,“A byte oriented arithmetic coding”,Proc.of DataCompression Conference,March 1998. G.Martin,“Range encodingan algorithm for removing redundancy from adigitized message,”Video & Data Recording Conference,March 1979. H.Coxeter and W.Moser,Generators and relations for discrete groups,3rdedition,Springer-Verlag,1972.
下面將詳細(xì)描述八叉樹圖像格式的MPEG-4節(jié)點(diǎn)說明和壓縮技術(shù),它用于本發(fā)明的基于深度圖像3D表示的裝置和方法。
本發(fā)明描述一個(gè)數(shù)據(jù)結(jié)構(gòu)族,基于深度圖像的表示法(DIBR)提供有效的表示法,主要是根據(jù)圖像和深度圖,全面使用上面描述的優(yōu)點(diǎn)。簡要的特征在于主DIBR格式-簡單紋理,點(diǎn)紋理和八叉樹紋理。
附圖20示出了立體紋理圖像和深度圖的例子,附圖21示出了分層的深度圖像(LDI)的例子。(a)示出了該物體的投影,(b)示出了分層的像素。
簡單紋理是一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)由圖像、相應(yīng)深度圖和攝影描述(它的位置,方向和類型,正交或透視)組成。表示單個(gè)簡單紋理的方法限定該物體(象建筑物的正面)具有深度圖的正面影像在大多數(shù)角度范圍內(nèi)可以重新構(gòu)建正面視圖。然而,在參照?qǐng)D像覆蓋所有建筑物表面的潛在可見部分的情況下,通過正確定位攝像機(jī)而對(duì)簡單紋理的收集就可表示整個(gè)建筑物。當(dāng)然,這同樣適用于樹,人圖像,車等等。再者,簡單紋理的統(tǒng)一為處理3D動(dòng)畫數(shù)據(jù)提供很自然的方法。在這種情況下,參照?qǐng)D像由參照視頻流替代。每個(gè)3D框架的深度圖可以通過這些視頻流的α通道值或者通過離散的灰度級(jí)視頻流表示。在這種表示中,圖像可以被以有損的壓縮格式(例如為JPEG格式)來存儲(chǔ)。這顯著減少了顏色的信息量,特別是在動(dòng)畫的情況下。然而,幾何信息(深度圖)應(yīng)當(dāng)是無損壓縮,它使總體存儲(chǔ)減少。
對(duì)于復(fù)雜形狀的物體來講,用合理數(shù)量的參考圖像來覆蓋整個(gè)可見表面有時(shí)是困難的。這種情況的優(yōu)選表示方法是使用點(diǎn)紋理。該格式也存儲(chǔ)參考圖像和深度圖,但是在這種情況下二者都是多值的由攝影(正交或透視)提供的每個(gè)視線、顏色和距離都被存儲(chǔ)在該物體的線的每個(gè)交叉點(diǎn)。交叉點(diǎn)的數(shù)量可以從線到線變化。幾個(gè)點(diǎn)紋理的結(jié)合即使是對(duì)復(fù)雜的物體也提供很詳細(xì)的表示法。但是該格式缺乏單一紋理的2D規(guī)律性,因此沒有自然的基于圖像的壓縮格式。同樣,它僅用于靜態(tài)物體。
八叉樹圖像格式處于“大部分2D”簡單紋理和“大部分3D”點(diǎn)紋理之間的中間位置它以八叉樹結(jié)構(gòu)容量表示法(封閉立方體的常用二進(jìn)制子部分的分級(jí)組織的體元)存儲(chǔ)物體的幾何形狀,而顏色分量由一組圖像來表示。該格式還包括附加的八叉樹數(shù)據(jù)結(jié)構(gòu),對(duì)于每個(gè)葉的三維像素來講,該結(jié)構(gòu)存儲(chǔ)包括它的顏色在內(nèi)的參考圖像的指數(shù)。在繪制八叉樹圖像階段,該葉的三維像素的顏色由在相應(yīng)參考圖像上的正交投影確定。我們研究開發(fā)了八叉樹圖像幾何部分的有效壓縮方法。這是不同的基于上下文的適配算術(shù)編碼,構(gòu)造出的上下文精確使用了數(shù)據(jù)的幾何特征。一起使用該壓縮與有損壓縮參考圖像使八叉樹得到非常有效的空間表示方法。類似簡單紋理,八叉樹圖像具有動(dòng)畫版參考視頻流取代參考圖像,對(duì)于每個(gè)3D框架來講,還有兩個(gè)表示幾何形狀的八叉樹表示幾何附加流和體元-到-圖像的通訊。八叉樹圖像格式的很有用的特征是內(nèi)置中間圖形的性能。
DIBR族已開發(fā)有新的MPEG-4標(biāo)準(zhǔn)版本,適合包括在MPEG的動(dòng)畫框架擴(kuò)充設(shè)備(AFX)中。AFX對(duì)合成MPEG-4環(huán)境提供更強(qiáng)的特征,且包括共同使用的工具,為交互動(dòng)畫內(nèi)容(與存在的MPEG-4相配合)生成重新使用的體系結(jié)構(gòu)。每個(gè)AFX工具示出了具有BIFS節(jié)點(diǎn)的性能、合成流和視聽流。AFX的當(dāng)前版本由動(dòng)畫(基于動(dòng)畫的骨頭和皮膚)的高級(jí)說明來構(gòu)成,它具有增強(qiáng)的透視圖(例如,程序性紋理,光場圖),緊湊的表示法(即NURBS,立體表示法,細(xì)分表面)低位率的動(dòng)畫(即內(nèi)插壓縮)等,及及我們提出的DIBR。
設(shè)計(jì)DIBR格式是為了結(jié)合早期提出的不同方法的優(yōu)點(diǎn),給用戶提供靈活的工具來適合最特定的任務(wù)。例如,非動(dòng)畫簡單紋理和點(diǎn)紋理特別適合已知格式的情況,而八叉樹圖像顯然是新的表示方法。但是在MPEG-4上下文中,所有的三個(gè)基本DIBR格式可以認(rèn)為是構(gòu)件塊,且它們通過MPEG-4的組合結(jié)構(gòu)不僅增強(qiáng)了在文獻(xiàn)中提出的基于圖像的表示法,而且對(duì)構(gòu)造這種新的格式給出了巨大的潛力。
現(xiàn)在將描述基于深度圖像的表示法。
考慮到在上面部分中描述的思想以及我們自己的一些研究,我們建議下面的一組基于圖像的格式用在MPEG-4 AFX中簡單紋理、點(diǎn)紋理、深度圖像和八叉樹圖像。應(yīng)注意的是簡單紋理和八叉樹紋理具有動(dòng)畫版本。
簡單紋理是單一圖像與深度圖像的組合。它等同于RT,而點(diǎn)紋理等同于LDI。
根據(jù)簡單紋理和點(diǎn)紋理作為構(gòu)件塊,我們能使用MPEG-4結(jié)構(gòu)來建立各種表示法。格式說明將在后面給出,并將描述幾何結(jié)果。
深度圖像結(jié)構(gòu)與邊界框、空間位置和一些其它信息一起限定簡單紋理或點(diǎn)紋理。一組深度圖像可以在稱為變換節(jié)點(diǎn)的單一結(jié)構(gòu)下統(tǒng)一,并且允許各種各樣的有用表示的結(jié)構(gòu)。共同使用的大部分是它們中的沒有具體MPEG-4名的兩個(gè),但是實(shí)際上,我們稱它們?yōu)楹屑y理(BT)和廣義盒紋理(GBT)。BT是相當(dāng)于一個(gè)物體和景象的邊界立方體的六個(gè)圖像紋理的結(jié)合,而GBT是組成3D表示法的任何數(shù)量的簡單紋理的任意結(jié)合。在附圖22中給出了BT的例子,這里示出了參考圖像、深度圖和合成3D物體。BT可用增加的變形算法來繪制,但是我們使用了不同于GBT的方法。GBT表示法的一個(gè)例子示在附圖23中,這里21個(gè)簡單紋理被用于表示復(fù)雜的物體,棕櫚樹。
應(yīng)當(dāng)注意的是統(tǒng)一機(jī)構(gòu)例如允許使用幾個(gè)不同攝影來表示相同物體或表示相同物體的部分的幾個(gè)LDI的使用。因此,象基于圖像物體的數(shù)據(jù)結(jié)構(gòu)、LDI樹的單元、基于surfels的樹結(jié)構(gòu)的單元,是這個(gè)格式的所有具體情況,它們?yōu)榫跋蠼Y(jié)構(gòu)在簡單紋理和點(diǎn)紋理的適應(yīng)位置和分辨率方面提供更大的靈活性。
接下來將描述八叉樹圖像構(gòu)造二進(jìn)制容量八叉樹(TBVO)。
為了使用具有更具靈活性的表示法和更快繪制的多分辨幾何結(jié)構(gòu)及紋理,我們開發(fā)了八叉樹表示法,它是基于紋理二進(jìn)制容量八叉樹(TBVO)。TBVO的目標(biāo)的設(shè)計(jì)一種具有快速高質(zhì)量形象化的靈活表示/壓縮格式。TBVO由三個(gè)主要分量構(gòu)成-表示幾何結(jié)構(gòu)的二進(jìn)制容量八叉樹(BVO)、一組參考圖像和相當(dāng)于八叉樹節(jié)點(diǎn)的圖像指數(shù)。
BVO形式的幾何信息是在普通八叉樹方式中以較大單元組合的一組二進(jìn)制(占用或空的)規(guī)則隔開的三維像素。該表示法利用中間“點(diǎn)云”形式能從深度圖像數(shù)據(jù)中方便獲得,因?yàn)槊總€(gè)具有深度的像素在3D空間中限定唯一的點(diǎn)。該點(diǎn)云向BVO的轉(zhuǎn)換示在附圖24中。一個(gè)類似的過程可以將多邊形模型轉(zhuǎn)換為BVO。BVO的紋理信息可從參考圖像中恢復(fù)。參參圖像是在給定攝影位置和方位的三維像素的紋理。因此,BVO本身和參考圖像已經(jīng)提供了模型表示法。然而,結(jié)果是對(duì)每個(gè)BVO葉存儲(chǔ)參考圖像指數(shù)的附加結(jié)構(gòu)允許更快和更高質(zhì)量的顯影。
主BVO顯影的問題是我們在繪制過程中必須確定每個(gè)體元的相應(yīng)攝影指數(shù)。為此,我們必須至少確定攝影的存在,從攝影中可見到體元。如果我們使用強(qiáng)力法,則這個(gè)過程是很慢的。除了該問題之外,該體元仍然有一些問題是從任何攝影中看不見的,在繪制圖像時(shí)存在不期望的人工因素。
可行的解決辦法是能在每個(gè)體元中存儲(chǔ)分割的顏色。然而,在這種情況下,在壓縮顏色信息時(shí)具有一些問題。即,如果該組體元顏色作為圖像格式并壓縮它,則相鄰體元的顏色相關(guān)性被破壞,使得該壓縮率不能令人滿意。
在TBVO中,這個(gè)問題通過為每個(gè)體元存儲(chǔ)攝影(圖像)指數(shù)而解決。對(duì)于大組體元來說,該指數(shù)通常是相同的,這使八叉樹結(jié)構(gòu)用來經(jīng)濟(jì)地存儲(chǔ)附加信息。應(yīng)注意的是,這與僅使用BVO和參考圖像的表示法來比較,在使用我們的模型的試驗(yàn)中觀測到,平均只有15%體積的增加。它在建模時(shí)有點(diǎn)復(fù)雜,但是更靈活地表示任何幾何結(jié)構(gòu)的物體。
應(yīng)注意的是,對(duì)于利用splats繪制來講,TBVO是很方便的表示法,因?yàn)閟plat的大小容易從體元大小中計(jì)算出來。使用參考圖像和體元的圖像指數(shù),容易確定體元顏色。
下面將描述紋理二進(jìn)制容量八叉樹的流。
我們假定255個(gè)攝影已經(jīng)足夠,并為每個(gè)指數(shù)賦值直到1比特。TBVO流是符號(hào)流。每個(gè)TBVO符號(hào)是BVO符號(hào)和紋理符號(hào)。紋理符號(hào)表示攝影指數(shù),它是具體數(shù)字或“未限定”的代碼。
讓我們對(duì)“未限定的”代碼是‘?’作進(jìn)一步的描述。TBVO流在寬度方向上轉(zhuǎn)換。讓我們描述如何寫TBVO流,如果我們具有BVO并且每個(gè)葉體元具有圖像指數(shù)。這必須在建模階段作出。它將轉(zhuǎn)換所有的在寬度方向上包括葉節(jié)點(diǎn)的(沒有BVO符號(hào))BVO節(jié)點(diǎn)。在附圖25中,示出了完成寫該流的偽代碼。
寫TBVO位流的例子示出在附圖14中。示出在附圖14(a)的是TBVO樹,根據(jù)這個(gè)過程可從附圖14(c)中獲得符號(hào)流。在該例子中,紋理符號(hào)以字節(jié)來表示。然而,在實(shí)際流中,每個(gè)紋理符號(hào)將僅需2個(gè)字節(jié),因?yàn)槲覀儍H需要表示三個(gè)值(兩個(gè)攝影和未定義的代碼)。
下面描述DIBR動(dòng)畫。
動(dòng)畫版本被限定兩個(gè)DIBR格式深度圖像僅包括單一紋理和八叉樹圖像。數(shù)據(jù)量是具有3D動(dòng)畫的至關(guān)重要的問題之一。我們已經(jīng)選擇這些具體格式,因?yàn)橐曨l流能自然地合并進(jìn)動(dòng)畫版本中,提供實(shí)際數(shù)據(jù)減少。
對(duì)深度圖像來講,通過MPEG-4電影紋理,通過取代參考圖像執(zhí)行動(dòng)畫。高質(zhì)量地有損視頻壓縮沒有嚴(yán)重影響合成的3D物體的外觀。深度圖可以存儲(chǔ)在(在接近無損模型)參考視頻流的阿爾法通道中。在繪制階段,在接收和解壓所有的參考圖像和深度框架之后,繪制3D框架。
八叉樹圖像的動(dòng)畫是相似的-通過MPEG-4電影紋理代替參考圖像,且出現(xiàn)新的八叉樹流。
下面將描述MPEG-4節(jié)點(diǎn)說明。
在MPEG-4AFX節(jié)點(diǎn)說明4中詳細(xì)描述DIBR格式。深度圖像包括確定簡單圖像或點(diǎn)圖像的可視平截頭體(frustum)參數(shù)的域。八叉樹節(jié)點(diǎn)以TBVO限定幾何結(jié)構(gòu)和一組參考圖像格式的形式來表示物體。取決于景象的信息被存儲(chǔ)在DIBR數(shù)據(jù)結(jié)構(gòu)的特定域中,允許具有剩余景象的DIBR物體的交互校正。DIBR節(jié)點(diǎn)的限定示在附圖26中。
附圖27示出了深度圖像的空間布置,其中示出了每個(gè)域的含義。應(yīng)注意的是深度圖像節(jié)點(diǎn)限定單一的DIBR物體。當(dāng)多個(gè)深度圖像節(jié)點(diǎn)彼此相聯(lián)系時(shí),它們作為一個(gè)組來進(jìn)行,因此,應(yīng)該在同一變換節(jié)點(diǎn)下放置。Di紋理說明具有深度(簡單紋理或點(diǎn)紋理)的紋理,它將在深度圖像節(jié)點(diǎn)中限定的區(qū)域中映像。
八叉樹圖像節(jié)點(diǎn)限定八叉樹結(jié)構(gòu)和它們的投影紋理。八叉樹分辨率域沿著封閉立方體的邊指定八叉樹葉的最大數(shù)量,八叉樹節(jié)域指定一組八叉樹內(nèi)部節(jié)點(diǎn)。每個(gè)內(nèi)部節(jié)點(diǎn)由一個(gè)字節(jié)表示。在節(jié)點(diǎn)的第i個(gè)字節(jié)的1表示在第i個(gè)內(nèi)部子節(jié)點(diǎn)中存在的子節(jié)點(diǎn)。而0表示沒有。八叉樹內(nèi)部節(jié)點(diǎn)的順序?qū)⑹前瞬鏄鋵挾鹊谝槐闅v的順序。附圖14(b)中示出了內(nèi)部節(jié)點(diǎn)的8個(gè)子節(jié)點(diǎn)的順序。體元圖像指數(shù)域包括賦予體元圖像指數(shù)的數(shù)組。在繪制階段,通過在具有具體指數(shù)的某一個(gè)圖像上正交投影樹葉,確定分配給八叉樹葉的顏色。該指數(shù)以八叉樹形式存儲(chǔ)如果具體的圖像被用于包含具體體元的所有樹葉,則包含圖像指數(shù)的體元被分布到流;另外,發(fā)布包含固定的‘進(jìn)一步的細(xì)分’代碼體元,這意味著每個(gè)當(dāng)前體元(以同樣的循環(huán)方式)的子節(jié)點(diǎn)圖像指數(shù)將被分別指定。如果體元圖像指數(shù)為空,則在著色階段確定圖像指數(shù)。圖像域指定di紋理域的具有簡單紋理的系列深度圖像節(jié)點(diǎn)。但沒有使用深度圖像節(jié)點(diǎn)的近平面和遠(yuǎn)平面域和在簡單紋理節(jié)點(diǎn)中的深度域。
DIBR格式的著色方法不是AFX的一部分,有必要解釋使DIBR物體實(shí)現(xiàn)著色簡單,快速和高質(zhì)量的思想。我們的著色方法是基于splat,用作‘著色圖元’的小平面彩色膠片。下面總結(jié)的兩個(gè)方法在兩個(gè)不同的表示中定位深度圖像和八叉樹圖像。在我們的實(shí)施中,OpenGL功能被應(yīng)用于splatting以加速著色。盡管如此,軟件著色同樣是可行的,利用深度圖像或八叉樹圖像的簡單結(jié)構(gòu)可以優(yōu)化計(jì)算。
我們用于著色深度圖像物體的方法非常簡單。然而,應(yīng)當(dāng)指出的是,它依賴于OpenGL函數(shù),利用硬件加速器時(shí)工作更快。在該方法中,我們用將要著色的具有簡單紋理和點(diǎn)紋理的深度的所有像素變換為3D點(diǎn),然后在這些點(diǎn)定位小的多邊形(splats),并應(yīng)用OpenGL的著色函數(shù)。圖28給出了簡單紋理情況下的該過程的偽代碼。以同樣的方式精確處理點(diǎn)紋理的情況。
Splat的大小必須適應(yīng)在點(diǎn)和觀察者之間的距離。我們使用下面的簡單方法。首先,將給定的3D物體的封閉子立方體細(xì)分為粗的統(tǒng)一網(wǎng)格。計(jì)算每個(gè)網(wǎng)格的每個(gè)單元的Splat大小,且該值用于單元內(nèi)部的點(diǎn)。實(shí)施的計(jì)算如下-利用OpenGL在屏幕上繪制單元-計(jì)算投影(在像素中)的最大對(duì)角線的長度L。
-估計(jì)D(splat直徑)為 ,其中N為每個(gè)單元的邊的點(diǎn)的平均數(shù)目,C為經(jīng)驗(yàn)常數(shù),大約為1.3。
我們需強(qiáng)調(diào)的是,通過比較精確的半徑計(jì)算、更復(fù)雜的splat、圖形保真改善該方法。然而,即使該簡單方法也能提供好的可視質(zhì)量。
同樣的方法用于八叉樹圖形,在更粗級(jí)別之一中的八叉樹的節(jié)點(diǎn)被用于上面的splat的尺寸計(jì)算。然而,對(duì)于八叉樹圖形來講,顏色信息應(yīng)當(dāng)首先被繪制在系列體元上。這非常容易完成,因?yàn)槊總€(gè)體元具有相應(yīng)的參照?qǐng)D像指數(shù)。在八叉樹流的語法分析期間參照?qǐng)D像的像素位置也知道了。八叉樹圖像體元的顏色一經(jīng)確定,就估計(jì)splat尺寸,并如上所述使用基于OpenGL的著色。
DIBR格式在幾個(gè)3D模型中已經(jīng)被實(shí)施和受到測試。模型(“塔”)之一通過掃描實(shí)際物體(使用cyberware顏色3D掃描儀)而獲得,其它從3DS-MAX演示包中轉(zhuǎn)換過來。在具有OpenGL加速器的intel Pentium4 1.8上進(jìn)行測試。
在下面的子部分中,我們解釋從多邊形到DIBR格式轉(zhuǎn)換的方法,然后提供不同DIBR格式的建模,表示和壓縮結(jié)果。大多數(shù)數(shù)據(jù)用于深度圖像和八叉樹圖像模型;這些格式有動(dòng)畫版本且能被有效壓縮。所有提出的模型用正交攝像構(gòu)成,因?yàn)橐话銇碇v,它是表示‘緊密’物體的優(yōu)選方式。應(yīng)注意的是,投影攝像大多用來對(duì)遠(yuǎn)環(huán)境進(jìn)行經(jīng)濟(jì)的DIBR表示。
DIBR模型生成從獲得足夠數(shù)目的簡單紋理開始。對(duì)于多邊形物體來講要計(jì)算簡單紋理,而對(duì)于真實(shí)世界的物體來講,從數(shù)碼相機(jī)和掃描裝置中獲得數(shù)據(jù)。下一步驟依賴于我們想用的DIBR格式。
深度圖像只是獲得的簡單紋理的組合。盡管深度圖可以壓縮的格式存儲(chǔ),但因?yàn)榧词箮缀蔚男∨で步?jīng)常是非常顯著的,所以只有無損壓縮才是可以接受的。
參照?qǐng)D像可以有損壓縮形式存儲(chǔ),但在這種情況下需要預(yù)處理。當(dāng)通常接受可以使用如JPEG的流行無損壓縮方法時(shí),邊界假象在產(chǎn)生的3D物體視窗中變得顯著-特別是因?yàn)槲矬w和參考圖像的背景之間的邊界在此處背景顏色似乎是‘spill’進(jìn)入物體中。我們用來處理問題的方法是利用邊界塊的平均顏色和強(qiáng)度的快速衰減使邊界塊的圖像延伸到背景里,然后應(yīng)用JPEG壓縮。該作用類似于將扭曲‘?dāng)D’進(jìn)無害的背景,因?yàn)楸尘跋袼夭挥脕碇?。有損壓縮的參照?qǐng)D像的內(nèi)部邊界也可以產(chǎn)生假象,但一般看不到。
為了產(chǎn)生八叉樹圖像模型,我們利用基于中間點(diǎn)的表示(PBR)。組成PBR的一系列點(diǎn)是用相應(yīng)深度圖中指定的距離通過在參照?qǐng)D像中改變像素而獲得的顏色點(diǎn)的組合。應(yīng)當(dāng)建立原有的簡單紋理,從而使結(jié)果PBR對(duì)物體表面有足夠精確的估計(jì)。之后,PBR被轉(zhuǎn)換為在圖24中勾畫的八叉樹圖像,它用于產(chǎn)生一組全新的參照?qǐng)D像,這些參照?qǐng)D像滿足這種格式規(guī)定的限制。同時(shí),產(chǎn)生八叉樹的附加數(shù)據(jù)結(jié)構(gòu)voxelImageIndex表示參照?qǐng)D像指數(shù)。如果參照?qǐng)D像應(yīng)當(dāng)以有損格式存儲(chǔ),則它們首先如前邊部分解釋的的那樣進(jìn)行預(yù)處理。另外,因?yàn)門BVO結(jié)構(gòu)明確指定包含每個(gè)體元顏色的像素,所以多余的像素被刪除,這更進(jìn)一步減少了以JPEG格式的voxelImageIndex的體積。原有的和以JPEG格式處理過的參照?qǐng)D像的例子如圖29所示。
應(yīng)注意的是,由于有損壓縮,所以質(zhì)量退化對(duì)八叉樹圖像來說是可忽略的,但是有時(shí)對(duì)深度對(duì)象仍然是顯著的。
利用在參照平面上物體的投影建立點(diǎn)紋理模型,如部分2.1所述。如果這不產(chǎn)生足夠樣品(這也許是表面部分幾乎與投影矢量相切的情況),則建立附加的簡單紋理用來提供更多的樣品。然后將獲得的一系列點(diǎn)重新組織進(jìn)點(diǎn)紋理結(jié)構(gòu)中。
現(xiàn)在提出著色速度數(shù)據(jù)。深度圖像“棕櫚512”的著色速度大約為2fps(注意這是21個(gè)簡單紋理),而我們用參照?qǐng)D像邊512測試其它靜態(tài)模型以5-6fps著色。應(yīng)注意的是,著色速度主要依賴于參照?qǐng)D像的數(shù)目和分辨率,但不依賴于景色的復(fù)雜度。這優(yōu)于多邊形表示,特別在動(dòng)畫情況下。動(dòng)畫八叉樹圖像“龍512”以每秒24楨(fps)顯現(xiàn)。
“天使256”深度圖像模型如圖22所示。圖30到34表示了其它幾個(gè)DIBR和多邊形模型。圖30對(duì)比了多邊形和深度圖像“莫頓”模型的外部特征。深度模型使用JPEG格式的參照?qǐng)D像,通過部分5中描述的最簡單的splatting執(zhí)行著色,但圖像質(zhì)量是可以接受的。圖31對(duì)比了掃描的“塔”模型的兩個(gè)版本。模型上半部的黑點(diǎn)是由于輸入數(shù)據(jù)的噪聲形成的。圖32表示了由21個(gè)簡單紋理組成的復(fù)雜的“棕櫚”模型。它也高質(zhì)量的表示,盡管葉子一般寬于3DS-MAX原來的-這是簡單的splatting的結(jié)果。
圖33介紹了“龍512”八叉樹圖像動(dòng)畫中3D楨。圖34示出了提供高質(zhì)量模型的點(diǎn)紋理格式的能力。
本發(fā)明的基于深度圖像節(jié)點(diǎn)結(jié)構(gòu)包括簡單紋理節(jié)點(diǎn)、點(diǎn)紋理節(jié)點(diǎn)、深度圖像節(jié)點(diǎn)和八叉樹節(jié)點(diǎn)。深度圖像節(jié)點(diǎn)由深度信息和顏色信息組成。彩色圖像從簡單紋理節(jié)點(diǎn)和點(diǎn)紋理節(jié)點(diǎn)中選擇。
當(dāng)從6個(gè)視點(diǎn)(前,后,正面圖,后面,左和右側(cè))觀看物體時(shí),可通過6對(duì)簡單紋理節(jié)點(diǎn)來代表物體。簡單紋理的說明如圖26所示。
參照?qǐng)D26,簡單紋理節(jié)點(diǎn)由紋理域和深度域組成,在紋理域中記錄有包含每個(gè)像素的色彩的彩色圖像,深度域中記錄有每個(gè)像素的深度。簡單紋理節(jié)點(diǎn)定義單個(gè)IBR紋理。這里,紋理意味著彩色平面圖像。
包含形成圖像的每個(gè)像素的顏色的平面圖像是在紋理域中。形成圖像的每個(gè)像素的深度記錄在深度域中。在深度域中的一系列深度組成與在紋理域中平面圖像相應(yīng)的深度圖像。根據(jù)該深度,深度圖像為以灰度級(jí)代表的平面圖像。在為產(chǎn)生動(dòng)畫物體的視頻格式的情況下,深度信息和顏色信息為圖像楨的多個(gè)順序。
在紋理域中的平面圖像(即彩色圖像)和在深度域中的平面圖像(即以灰度級(jí)表示的圖像)組成簡單紋理節(jié)點(diǎn)。圖20表示了在前視點(diǎn)通過簡單紋理節(jié)點(diǎn)表示的“莫頓”對(duì)象。最后,該對(duì)象由6個(gè)簡單紋理節(jié)點(diǎn)表示,它為6個(gè)視點(diǎn)產(chǎn)生的圖像對(duì)。圖22表示了通過6個(gè)簡單紋理節(jié)點(diǎn)表示的“天使”對(duì)象。
彩色圖像可由點(diǎn)紋理節(jié)點(diǎn)表示。圖21表示了通過投影到參照面上產(chǎn)生的點(diǎn)紋理(在這種情況下,平面隔開預(yù)定距離以遠(yuǎn)離物體來面對(duì)物體的背面)。
圖26也表示了點(diǎn)紋理節(jié)點(diǎn)的說明。
參照?qǐng)D26,點(diǎn)紋理節(jié)點(diǎn)由大小域、分辨率域、深度域和顏色域組成。圖像平面的大小信息存儲(chǔ)在大小域中。大小域由寬度和高度域組成,圖像平面的寬度和高度分別記錄。圖像平面的大小被設(shè)置為足夠大以覆蓋整個(gè)投影到參照面的對(duì)象。
每個(gè)像素在深度上的分辨率信息被記錄在分辨率域中。例如,當(dāng)數(shù)字“8”記錄在分辨率域中時(shí),則物體的深度根據(jù)離開參照面的距離表示為256級(jí)。
每個(gè)像素上的深度信息的多塊存儲(chǔ)在深度域中。深度信息是投影到圖像平面的像素和各個(gè)像素深度的數(shù)目的順序。每個(gè)像素上的顏色信息被記錄在顏色域中。顏色信息為與投影到圖像平面的各個(gè)像素相應(yīng)的顏色的順序。
組成深度圖像節(jié)點(diǎn)的視點(diǎn)信息包括幾個(gè)域,如視點(diǎn)、可見度、投影方法、或者距離。
在視點(diǎn)域,記錄從圖像平面看到的視點(diǎn)。視點(diǎn)域具有記錄視點(diǎn)位置和方位的位置域和方位域,在位置域的位置為視點(diǎn)到坐標(biāo)系統(tǒng)原點(diǎn)(0,0,0)的相對(duì)位置。而在方位域中的方位為視點(diǎn)相對(duì)于默認(rèn)方位的旋轉(zhuǎn)量。
在可見域,記錄從視點(diǎn)到圖像平面的可見區(qū)域。在投影方法域,記錄從視點(diǎn)到圖像平面的投影方法。在本發(fā)明中,投影方法包括可見區(qū)域由寬和高表示的正交投影方法,以及包括用水平角和垂直角表示可見區(qū)域的透視投影方法。當(dāng)選擇正交投影方法時(shí),即,當(dāng)投影方法設(shè)置為真實(shí)時(shí),可見區(qū)域的寬和高分別對(duì)應(yīng)于圖像平面的寬度和高度。當(dāng)選擇透視投影方法時(shí),可見區(qū)域的水平和垂直角對(duì)應(yīng)于通過從視點(diǎn)到圖像平面看到的形成水平和垂直邊的角度。
在距離域,記錄從視點(diǎn)到更近邊界平面的距離和從視點(diǎn)到更遠(yuǎn)邊界平面的距離。距離域由近平面域和遠(yuǎn)平面域組成。距離域定義深度信息的區(qū)域。
圖35A和35B為當(dāng)以分別具有簡單紋理節(jié)點(diǎn)和點(diǎn)紋理節(jié)點(diǎn)的深度圖像表示物體時(shí),表示各自節(jié)點(diǎn)的關(guān)系的圖。
參照?qǐng)D35A,物體可由對(duì)應(yīng)于6個(gè)視點(diǎn)的一系列深度節(jié)點(diǎn)表示。各自的每個(gè)深度節(jié)點(diǎn)由視點(diǎn)信息和簡單紋理組成。簡單紋理由彩色圖像和深度圖像組成。
參照?qǐng)D35B,物體可通過深度圖像節(jié)點(diǎn)表示。深度圖像節(jié)點(diǎn)的說明如上。點(diǎn)紋理節(jié)點(diǎn)由在物體投影到平面上的平面信息以及和投影到圖像平面的物體的不同點(diǎn)的深度信息和顏色信息組成。
在八叉樹圖像節(jié)點(diǎn)中,物體由組成包含物體和參照?qǐng)D像的體元的內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)表示。八叉樹圖像節(jié)點(diǎn)的說明如圖26所示。
參照?qǐng)D26,八叉樹圖像節(jié)點(diǎn)包括八叉樹分辨率、八叉樹、vexelImageIndex和圖像域。
在八叉樹分辨率域中,沿著包含物體的封閉立方體的一側(cè),記錄八叉樹葉最大數(shù)目。在八叉樹域,記錄內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)。內(nèi)部節(jié)點(diǎn)為在細(xì)分包含整個(gè)物體的封閉立方體后產(chǎn)生的子立方體的節(jié)點(diǎn)。每個(gè)子立方體的細(xì)分被重復(fù)執(zhí)行以產(chǎn)生8個(gè)子立方體直至達(dá)到子立方體的預(yù)設(shè)數(shù)目。在反復(fù)執(zhí)行細(xì)分3次的情況下,假定在第二次細(xì)分重復(fù)之后子立方體的節(jié)點(diǎn)稱為當(dāng)前節(jié)點(diǎn),則在第一次細(xì)分重復(fù)后的節(jié)點(diǎn)和第三次細(xì)分后的子立方體的節(jié)點(diǎn)被分別稱為父節(jié)點(diǎn)和子節(jié)點(diǎn)。8個(gè)分開的子立方體的順序以寬度優(yōu)先的順序給出。圖14示出了分配給子立方體的優(yōu)先數(shù)目的方法。每個(gè)內(nèi)部節(jié)點(diǎn)由1個(gè)字節(jié)表示。組成字節(jié)的位流中所記錄的節(jié)點(diǎn)信息表示屬于內(nèi)部節(jié)點(diǎn)的子節(jié)點(diǎn)的子節(jié)點(diǎn)的存在或不存在。
在指數(shù)域,記錄與各自內(nèi)部節(jié)點(diǎn)對(duì)應(yīng)的參照?qǐng)D像指數(shù)。在圖像域,記錄與記錄在指數(shù)域中的指數(shù)對(duì)應(yīng)的參照?qǐng)D像。參照?qǐng)D像為前述的深度圖像節(jié)點(diǎn)和結(jié)構(gòu)。
圖36示出了利用八叉樹圖像節(jié)點(diǎn)表示物體中的有關(guān)八叉樹圖像節(jié)點(diǎn)的結(jié)構(gòu)。
參照?qǐng)D36,通過位包裝封閉八叉樹圖像節(jié)點(diǎn)。每個(gè)位包裝包括一個(gè)八叉樹圖像節(jié)點(diǎn)。當(dāng)物體以簡單紋理節(jié)點(diǎn)表示時(shí),八叉樹圖像節(jié)點(diǎn)包括6個(gè)深度圖像節(jié)點(diǎn),每個(gè)深度圖像節(jié)點(diǎn)包含一個(gè)簡單紋理節(jié)點(diǎn)。另一方面,當(dāng)物體以點(diǎn)紋理節(jié)點(diǎn)表示時(shí),八叉樹圖像節(jié)點(diǎn)包括單個(gè)深度圖像節(jié)點(diǎn)。
本發(fā)明可通過計(jì)算機(jī)的可讀代碼在計(jì)算機(jī)可讀的記錄介質(zhì)上實(shí)施。計(jì)算機(jī)可讀的記錄介質(zhì)包括通過計(jì)算機(jī)系統(tǒng)讀取可讀數(shù)據(jù)的各種類型的記錄裝置,例子有ROM、RAM、CD-ROM、磁帶、軟盤、光學(xué)數(shù)據(jù)存儲(chǔ)裝置或其它傳輸介質(zhì)。同樣,計(jì)算機(jī)可讀的記錄介質(zhì)分布在連接到網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng)中,從而計(jì)算機(jī)的可讀代碼可通過分布方法來存儲(chǔ)和完成。
根據(jù)本發(fā)明,在基于圖像的表示中,因?yàn)樵诓噬?D物體上的理想信息由一系列2D簡單圖像和為直接采用圖像處理和壓縮的已有方法解碼,所以算法既簡單,又在許多方面能得到硬件支持。另外,基于圖像模型的著色時(shí)間與在參照和輸出圖像中像素的數(shù)目成正比,但通常在多邊形情況下不與幾何復(fù)雜度成正比。另外,當(dāng)基于圖像的表示應(yīng)用到實(shí)際物體和景色中時(shí),在沒有利用數(shù)以百萬計(jì)的多邊形和昂貴計(jì)算的情況下,自然景色的逼真圖像的著色變得可能。
上述實(shí)現(xiàn)本發(fā)明的描述是示例性和說明性的。這里沒有窮舉,但不將本發(fā)明限于公開的具體形式。根據(jù)上述教導(dǎo)可對(duì)本發(fā)明作出各種改進(jìn)和變型或者可從本發(fā)明的實(shí)踐中獲取各種改進(jìn)和變型。本發(fā)明的范圍被限定在權(quán)利要求及其等同物內(nèi)。
權(quán)利要求
1.一種基于三維物體(3D)的深度圖像表示物體的節(jié)點(diǎn)結(jié)構(gòu),該節(jié)點(diǎn)結(jié)構(gòu)包括一個(gè)用于記錄每個(gè)像素的包括顏色的彩色圖像的紋理域;和一個(gè)用于記錄每個(gè)像素深度值的深度域。
2.根據(jù)權(quán)利要求1所述的節(jié)點(diǎn)結(jié)構(gòu),其中在以視頻格式生成動(dòng)畫物體的情況下,深度信息和顏色信息是多序圖像幀。
3.一種基于三維物體的深度圖像表示物體的節(jié)點(diǎn)結(jié)構(gòu),該節(jié)點(diǎn)結(jié)構(gòu)包括一個(gè)用于記錄圖像平面大小信息的大小域;一個(gè)用于記錄每個(gè)像素的深度分辨率的分辨率域;一個(gè)用于記錄每個(gè)像素的多片深度信息的深度域;和一個(gè)用于記錄每個(gè)像素的顏色信息的深度域。
4.根據(jù)權(quán)利要求3所述的節(jié)點(diǎn)結(jié)構(gòu),其中該深度信息是投影到像素平面上的多個(gè)像素和各個(gè)像素深度的序列,且該顏色信息是相當(dāng)于投影到像素平面上的各個(gè)像素的顏色的序列。
5.一種基于三維物體的深度圖像表示物體的節(jié)點(diǎn)結(jié)構(gòu),該節(jié)點(diǎn)結(jié)構(gòu)包括一個(gè)用于記錄觀察圖像平面的觀察點(diǎn)的觀察點(diǎn)域;一個(gè)用于記錄從觀察點(diǎn)到圖像平面的可見區(qū)的可見域;一個(gè)用于記錄從觀察點(diǎn)到圖像平面的投影方法的投影方法域;一個(gè)用于記錄在近平面和遠(yuǎn)平面之間的距離的距離域;和一個(gè)用于記錄彩色圖像的紋理域。
6.根據(jù)權(quán)利要求5所述的節(jié)點(diǎn)結(jié)構(gòu),其中該觀察點(diǎn)域包括一位置域和一方位域,位置域用于記錄觀察點(diǎn)的位置,方位域用于記錄觀察點(diǎn)的方向,所述位置是相對(duì)于坐標(biāo)系統(tǒng)原點(diǎn)的相對(duì)位置,而所述方位是相對(duì)于默認(rèn)方向的旋轉(zhuǎn)數(shù)量。
7.根據(jù)權(quán)利要求5所述的節(jié)點(diǎn)結(jié)構(gòu),其中所述投影方法包括一正交投影方法和一透視投影方法,其中正交投影方法中的可見區(qū)域用寬度和高度來表示,透視投影方法中的可見區(qū)域用水平角和垂直角來表示。
8.根據(jù)權(quán)利要求7所述的節(jié)點(diǎn)結(jié)構(gòu),其中當(dāng)選擇正交投影方法時(shí),該可見區(qū)域的寬度和高度分別相當(dāng)于圖像平面的寬度和高度,且當(dāng)選擇透視投影方法時(shí),該可見區(qū)域的水平和垂直角相當(dāng)于通過從觀察點(diǎn)到圖像平面的視角范圍形成的水平邊和垂直邊。
9.根據(jù)權(quán)利要求5的所述節(jié)點(diǎn)結(jié)構(gòu),其中在采用視頻格式產(chǎn)生動(dòng)畫物體的情況下,深度信息和顏色信息是多序圖像幀。
10.根據(jù)權(quán)利要求5所述的節(jié)點(diǎn)結(jié)構(gòu),其中該顏色信息是單一紋理,該紋理由包含每個(gè)像素顏色的平面圖像和該像素的深度值構(gòu)成。
11.根據(jù)權(quán)利要求5所述的節(jié)點(diǎn)結(jié)構(gòu),其中該顏色圖像是點(diǎn)紋理,該點(diǎn)紋理由大小信息、深度分辨率信息、由彩色圖像構(gòu)成的每個(gè)像素的多片深度信息和每個(gè)像素的顏色信息構(gòu)成。
12.根據(jù)權(quán)利要求11所述的節(jié)點(diǎn)結(jié)構(gòu),其中該深度信息是投影到像素平面上的多個(gè)像素和各個(gè)像素的深度的序列,該顏色信息相當(dāng)于投影到像素平面上的各個(gè)像素的顏色的序列。
13.一種基于三維物體的深度圖像表示物體的節(jié)點(diǎn)結(jié)構(gòu),該節(jié)點(diǎn)結(jié)構(gòu)包括一分辨率域,用于記錄沿著一個(gè)包含物體的封入立方體的邊的八叉樹葉的最大值;一個(gè)用于記錄該八叉樹的內(nèi)部節(jié)點(diǎn)結(jié)構(gòu)的八叉樹域;一個(gè)用于記錄相當(dāng)于內(nèi)部節(jié)點(diǎn)的參考圖像的指數(shù)的指數(shù)域;一個(gè)用于記錄該參考圖像的圖像域。
14.根據(jù)權(quán)利要求11所述的節(jié)點(diǎn)結(jié)構(gòu),其中內(nèi)部節(jié)點(diǎn)由字節(jié)表示,且記錄在位流中的節(jié)點(diǎn)信息屬于內(nèi)部節(jié)點(diǎn),該位流由字節(jié)構(gòu)成,該字節(jié)由子節(jié)點(diǎn)的存在和不存在來表示。
15.根據(jù)權(quán)利要求11所述的節(jié)點(diǎn)結(jié)構(gòu),其中參考圖像包括觀察點(diǎn)信息的深度圖像和相當(dāng)于觀察點(diǎn)信息的顏色圖像。
16.根據(jù)權(quán)利要求11的節(jié)點(diǎn)結(jié)構(gòu),其中觀察點(diǎn)信息包括一個(gè)用于記錄觀察圖像平面的觀察點(diǎn)的觀察點(diǎn)域;一個(gè)用于記錄從觀察點(diǎn)到圖像平面的可見區(qū)域的可見域;和一個(gè)用于記錄從觀察點(diǎn)到圖像平面的投影方法的投影方法域,。
17.根據(jù)權(quán)利要求16的節(jié)點(diǎn)結(jié)構(gòu),其中該觀察點(diǎn)域包括一個(gè)用于記錄觀察點(diǎn)的位置的位置域,和一個(gè)用于記錄觀察點(diǎn)的方向的方位域,該位置是相對(duì)于坐標(biāo)系統(tǒng)原點(diǎn)的相對(duì)位置,而該方向是相對(duì)于默認(rèn)方位的旋轉(zhuǎn)數(shù)量。
18.根據(jù)權(quán)利要求16所述的節(jié)點(diǎn)結(jié)構(gòu),其中該投影方法是一正交投影方法,其中該可見區(qū)域的寬度和高度分別相當(dāng)于該圖像平面的寬度和高度。
19.根據(jù)權(quán)利要求15所述的節(jié)點(diǎn)結(jié)構(gòu),其中該彩色圖像是單一紋理,該單一紋理由包括每個(gè)像素顏色和該像素的深度值的平面圖像構(gòu)成。
全文摘要
提供一種使用深度圖像來表示三維物體的節(jié)點(diǎn)結(jié)構(gòu)族。這些節(jié)點(diǎn)結(jié)構(gòu)采用常規(guī)多邊3D表示法的MPEG-4AFX。該結(jié)構(gòu)族的主要格式是深度圖像,點(diǎn)紋理和八叉樹圖形。深度圖像通過參考圖像和相應(yīng)深度圖的結(jié)合來表示。點(diǎn)紋理以一套通過投影到規(guī)則2D網(wǎng)格確定的顏色點(diǎn)參數(shù)表示。八叉樹圖像將相同數(shù)據(jù)轉(zhuǎn)化為分層的八叉樹結(jié)構(gòu)的三維像素模式,一組壓縮參考圖像和三維圖像對(duì)應(yīng)目錄樹。深度圖像和八叉樹具有動(dòng)畫版,該參考圖像由視頻流來代替。DIBR格式對(duì)來自3D范圍掃描和多源視頻數(shù)據(jù)中的3D模式結(jié)構(gòu)很方便。MPEG-4框架允許主DIBR格式的寬范圍表示的結(jié)構(gòu),為具有3D模式的有效工作提供彈性工具。通過對(duì)深度圖和參考圖像(視頻流)使用圖像(視頻)壓縮技術(shù)來實(shí)現(xiàn)DIBR格式的壓縮。
文檔編號(hào)G06T15/20GK1430183SQ0215959
公開日2003年7月16日 申請(qǐng)日期2002年11月27日 優(yōu)先權(quán)日2001年11月27日
發(fā)明者亞歷山大·O·齊爾科夫, 利奧尼德·I·利夫科維奇-馬斯萊克, 樸仁圭, 亞歷克西·V·伊格內(nèi)藤科, 韓萬鎮(zhèn), 尤里·M·貝亞科夫斯基, 安東·科諾欽, 德米特里·A·蒂馬索夫 申請(qǐng)人:三星電子株式會(huì)社