專利名稱:漸進(jìn)的3d網(wǎng)格編碼方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及三維(3D)網(wǎng)格數(shù)據(jù)的編碼,更具體地說(shuō)是涉及采用對(duì)于用在運(yùn)動(dòng)圖象專家組-4合成和自然混合編碼(MPEG-4SNHC)、虛擬現(xiàn)實(shí)模型語(yǔ)言(VRML)等的領(lǐng)域中的三維(3D)網(wǎng)格數(shù)據(jù)的拓?fù)涫中g(shù)的漸進(jìn)的編碼方法和設(shè)備。
在由3D網(wǎng)格數(shù)據(jù)構(gòu)成的3D對(duì)象的發(fā)送中,非常重要的是漸進(jìn)地恢復(fù)發(fā)送的數(shù)據(jù)以及有效地編碼3D網(wǎng)格數(shù)據(jù)。在由于發(fā)送通路錯(cuò)誤而產(chǎn)生了數(shù)據(jù)錯(cuò)誤的情況下,一種漸進(jìn)恢復(fù)將使發(fā)送的數(shù)據(jù)能夠被部分地恢復(fù)并使需要再發(fā)送的網(wǎng)格數(shù)據(jù)量達(dá)到最小。對(duì)于抵抗這種通信通路錯(cuò)誤非常有效的漸進(jìn)恢復(fù)方法,可被有效地用于無(wú)線通信或低發(fā)送速率的通信。
在傳統(tǒng)的3D網(wǎng)格數(shù)據(jù)編碼方法中,由于網(wǎng)格數(shù)據(jù)是連續(xù)編碼的,幾乎不可能在整個(gè)比特流被接收之前進(jìn)行部分恢復(fù)。另外,由于發(fā)送期間的產(chǎn)生的發(fā)送通路錯(cuò)誤,即使只有部分的數(shù)據(jù)受到了損壞,數(shù)據(jù)的整個(gè)比特流也必須被重新接收。例如,IBM公司提出的ISO/IECJTC1/SC29/WG11MPEG98/W2301,“MPEG-4 SNHC驗(yàn)證模型9.0”當(dāng)前作為MPEG-4 SNHC 3D網(wǎng)格編碼技術(shù)而得到采用。
在MPEG-4 SNHC中,網(wǎng)格編碼是基于VRML設(shè)計(jì)的。在VRML中,以節(jié)點(diǎn)形式對(duì)網(wǎng)格進(jìn)行描述,將其稱為IndexedFaceSet。用于編碼網(wǎng)格數(shù)據(jù)的一種主要技術(shù),是IBM公司提出的拓?fù)涫中g(shù)(topological surgery)。根據(jù)這種技術(shù),假定任何給定的網(wǎng)格在拓?fù)鋵W(xué)上都與球相同。隨后,該網(wǎng)格被沿著給定的切割邊緣切割,以產(chǎn)生具有二叉樹結(jié)構(gòu)的一種三角跨越圖(triangle spanning graph)。在此,為切割網(wǎng)格而限定的切割邊緣是這樣配置的,即它連接網(wǎng)格的頂點(diǎn),即它是以具有環(huán)的樹結(jié)構(gòu)的形式給出的。這種切割邊緣被稱為頂點(diǎn)跨越圖(vertex spanning graph)。因此,兩種樹結(jié)構(gòu),即三角跨越圖和頂點(diǎn)跨越圖,得到編碼/解碼,從而無(wú)損失地恢復(fù)原來(lái)的網(wǎng)格。
根據(jù)MPEG-4 SNHC,雖然在一個(gè)VRML文件中可能有多個(gè)IndexedFaceSet,對(duì)一個(gè)IndexedFaceSet的單元通常進(jìn)行壓縮。然而,單個(gè)的IndexedFaceSet可由若干相連的成分形成。換言之,假定能夠連接頂點(diǎn)的一組多邊形是一個(gè)相連的成分,IndexedFaceSet可由若干個(gè)相連的成分構(gòu)成。
一般地,對(duì)于快速曲線圖處理,必須以三角為單位進(jìn)行模型化處理。這些三角不是隨機(jī)形成的,而是較好地被彼此連接成條或扇形。另外,重復(fù)代表的符號(hào)越多,可壓縮性就越好。因此,IBM公司,考慮到快速的曲線圖處理和更好的可壓縮性,提出了由單個(gè)的長(zhǎng)三角條形成的網(wǎng)格。
圖1A至1F顯示了在三角網(wǎng)格的一個(gè)例子中傳統(tǒng)的用于生成頂點(diǎn)跨越圖和三角跨越圖的步驟。圖1A和1D顯示了用于沿著粗線畫出的切割邊緣切割網(wǎng)格的方法。圖1B顯示了切割邊緣的總體格式。圖1E顯示了沿著圖1B所示的切割邊緣進(jìn)行切割所產(chǎn)生的邊緣和頂點(diǎn)的配置。圖1C顯示了通過(guò)連接參照切割點(diǎn)的頂點(diǎn)而形成的頂點(diǎn)跨越圖。圖1F顯示了一種三角跨越圖,其中條形是通過(guò)沿著頂點(diǎn)跨越圖切割網(wǎng)格而形成的一組相連的三角。另外,如果三角跨越圖是借助圖1A至1F所示的方法產(chǎn)生的,三角跨越圖中兩個(gè)分支行程之間的行程的長(zhǎng)度變得比其他的要短很多。
圖2A至2D顯示了應(yīng)用于實(shí)際網(wǎng)格數(shù)據(jù)的拓?fù)涫中g(shù)技術(shù)的一個(gè)例子。在一種頂,點(diǎn)跨越圖中,一個(gè)分支可被分成若干個(gè)分支。圖3顯示了具有一個(gè)環(huán)的頂點(diǎn)跨越圖的一個(gè)例子,其中一個(gè)頂點(diǎn)行程返回到前面的頂點(diǎn)之一的位置。由于網(wǎng)格可由若干相連的組分形成,形成網(wǎng)格的各個(gè)相連的成分生成了如圖1F所示的一對(duì)頂點(diǎn)跨越圖和圖1C所示的三角跨越圖。因此,如果單個(gè)的IndexedFaceSet得到編碼,就能夠獲得幾對(duì)跨越圖和頂點(diǎn)跨越圖。
用于恢復(fù)由上述方法編碼的數(shù)據(jù)的方法如下1.利用一個(gè)頂點(diǎn)跨越圖生成一種界定環(huán)。
2.當(dāng)在三角跨越樹中分出的一個(gè)三角的第三個(gè)頂點(diǎn)被稱為Y頂點(diǎn)時(shí),該Y頂點(diǎn)利用三角跨越樹的比特流進(jìn)行計(jì)算。
3.利用三角跨越圖的三角推進(jìn)比特,生成三角或多邊形。
利用頂點(diǎn)跨越圖和三角跨越圖的算術(shù)編碼的無(wú)損失壓縮已經(jīng)由IBM公司提出。然而,根據(jù)這種方法,為了重組原來(lái)的結(jié)構(gòu),所有的比特流必須被輸入,且產(chǎn)生了以下的問(wèn)題1.由于所有比特流必須被輸入以解碼數(shù)據(jù),在發(fā)生發(fā)送錯(cuò)誤的情況下,所有的比特流都必須被重新發(fā)送。
2.當(dāng)壓縮數(shù)據(jù)的幅度大時(shí),完全發(fā)送數(shù)據(jù)所需的時(shí)間很長(zhǎng),且用戶在此時(shí)間中必須等待。
為了克服傳統(tǒng)技術(shù)的缺點(diǎn),以下功能必須得到滿足。
1.即使產(chǎn)生了發(fā)送錯(cuò)誤,只有發(fā)生了發(fā)送錯(cuò)誤的部分被重新發(fā)送,從而減小了網(wǎng)絡(luò)的負(fù)荷和發(fā)送時(shí)間。
2.允許進(jìn)行恢復(fù),其中只有一部分?jǐn)?shù)據(jù)和恢復(fù)的部分的三角或多邊形得到處理以被顯示在屏幕上。
在保持IBM公司提出的傳統(tǒng)方法的基本結(jié)構(gòu)的情況下實(shí)施這兩種功能,取決于界定環(huán)和Y頂點(diǎn)的有效處理,如圖4所示。為了在恢復(fù)處理中計(jì)算Y頂點(diǎn),必須接收兩個(gè)分支三角行程中的至少一個(gè)。在圖1F中,點(diǎn)10、14和18是Y頂點(diǎn)。對(duì)于一個(gè)三角行程中的三角,各個(gè)三角的三個(gè)頂點(diǎn)的指標(biāo)可利用行進(jìn)比特圖案和界定環(huán)來(lái)確定。然而,為了確定分支三角的第三頂點(diǎn)的Y頂點(diǎn)的指標(biāo),必須接收分支三角的下兩個(gè)三角行程中的所有比特流。因此,直到接收到隨后的比特流,不能恢復(fù)并顯示分支三角之后的三角。這個(gè)問(wèn)題在IBM公司提出的方法中沒(méi)有產(chǎn)生,該方法是基于這樣的假定,即所有比特流都得到了接收。然而,為了按照輸入的順序恢復(fù)并顯示三角,該問(wèn)題必須得到解決。
圖5是傳統(tǒng)MPEG4發(fā)送系統(tǒng)中采用的三維(3D)網(wǎng)格信息編碼/解碼方法的示意框圖。在圖5中,3D網(wǎng)格數(shù)據(jù)100被分成連接信息和幾何信息并由一個(gè)連接編碼器102和一個(gè)幾何編碼器103進(jìn)行編碼。在此,頂點(diǎn)結(jié)構(gòu)信息105被從連接編碼器102發(fā)送至幾何編碼器103。被連接編碼器102和幾何編碼器103壓縮的信息被重新置于受到一個(gè)熵編碼器104壓縮的比特流111中。
壓縮的比特流111被輸入一個(gè)解碼部分114。換言之,壓縮的比特流111經(jīng)過(guò)一個(gè)熵解碼器106被分成連接信息和幾何信息,并隨后分別被一個(gè)連接解碼器107和一個(gè)幾何解碼器108所解碼。象在編碼部分101中一樣,頂點(diǎn)結(jié)構(gòu)信息109從連接解碼器107被發(fā)送至幾何解碼器108。一個(gè)解碼3D網(wǎng)格110可利用解碼的連接信息和幾何信息構(gòu)成。
另外,可選地,諸如顏色、法線或組構(gòu)坐標(biāo)的光度信息由一個(gè)光度編碼器112編碼,并隨后被一個(gè)光度解碼器113解碼。
如圖5所示,3D網(wǎng)格可在通信通路中以壓縮比特流的形式得到發(fā)送。然而,由于傳統(tǒng)的MPEG數(shù)據(jù)壓縮方法采用了熵編碼器104,該方法受到通信通路中產(chǎn)生的發(fā)送錯(cuò)誤的影響。
首先,以下先描述在3D網(wǎng)格數(shù)據(jù)編碼方法中采用的術(shù)語(yǔ)定義。
*虛擬現(xiàn)實(shí)模型化語(yǔ)言(VRML)VRML是為在因特網(wǎng)上描述和發(fā)送虛擬空間而準(zhǔn)備的圖形標(biāo)準(zhǔn)格式。
*運(yùn)動(dòng)圖象專家組(MPEG)MPEG是用于執(zhí)行國(guó)際標(biāo)準(zhǔn)化活動(dòng)以使用于發(fā)送諸如視頻的各種媒體的壓縮格式標(biāo)準(zhǔn)化的組。
*網(wǎng)格網(wǎng)格是由若干多邊形構(gòu)成的對(duì)象的一種表示。
*節(jié)點(diǎn)節(jié)點(diǎn)是頂點(diǎn)跨越圖中的一個(gè)頂點(diǎn)或VRML中采用的最小描述單位。
*拓?fù)涫中g(shù)拓?fù)涫中g(shù)是IBM公司提出的一種網(wǎng)格編碼方法,其中網(wǎng)格被沿著一條給定的路徑切割,以使網(wǎng)格具有條形。
*頂點(diǎn)跨越圖頂點(diǎn)跨越圖是用于在拓?fù)涫中g(shù)中切割網(wǎng)格的路徑。
*三角跨越樹三角跨越樹是沿著頂點(diǎn)跨越圖切割網(wǎng)格而產(chǎn)生的三角條,并具有二叉樹的結(jié)構(gòu)。
*vlastvlast表示當(dāng)前的行程是否是最后一個(gè)分支。如果當(dāng)前行程是最后一個(gè)分支,vlast的值是1,否則是0。
*vrunvrun是由分支或vleaf連接的一組頂點(diǎn)和端點(diǎn)。
*vleafvleaf表示當(dāng)前的頂點(diǎn)行程是以一個(gè)葉還是分支結(jié)束。如果當(dāng)前的頂點(diǎn)行程以葉結(jié)束,vleaf的值是1,否則為0。
*loopstart頂點(diǎn)行程的葉可遇到另一頂點(diǎn)行程而形成一個(gè)環(huán),在此情況下,環(huán)的起點(diǎn)由loopstart表示。
*loopend在頂點(diǎn)行程的葉形成一個(gè)環(huán)的情況下,環(huán)的結(jié)束用loopend表示。
*loopmaploopmap表示loopstart與loopend之間的連接信息,并且是從loopstart至loopend的一組指標(biāo)連接邊緣。
*truntrun是一組相繼的三角,且其終點(diǎn)是一個(gè)葉三角或一個(gè)分支三角。
*tleaftleaf表示三角的行程是以葉三角還是以分支三角結(jié)束。如果三角的行程以葉三角結(jié)束,tleaf的值為1,否則為0。
*tmarchingtmarching描述三角的行進(jìn)方面。如果一個(gè)條的右邊界有一個(gè)邊緣,tmarching的值是1。如果一個(gè)條在其左邊界有一個(gè)邊緣,tmarching的值是0。
*ispolygonedgeispolygonedge表示當(dāng)前的邊緣是從原來(lái)的網(wǎng)格模型給出,還是被插入以把多邊形表示成一組三角。如果當(dāng)前的邊緣是從原來(lái)的網(wǎng)格模型給出的,ispolygonedge的值是1,否則是0。
為了解決上述問(wèn)題,本發(fā)明的一個(gè)目的,是提供用于利用拓?fù)涫中g(shù)漸進(jìn)編碼3D網(wǎng)格信息的方法和設(shè)備,借助該方法和設(shè)備,通過(guò)以網(wǎng)格分量為單位重組比特流,實(shí)現(xiàn)了漸進(jìn)3D網(wǎng)格恢復(fù)和3D網(wǎng)格層鑒別,且3D網(wǎng)格信息可利用頂點(diǎn)二叉樹和三角二叉樹信息,以單個(gè)的三角為單位,而得到再現(xiàn)。
為了實(shí)現(xiàn)3D網(wǎng)格信息的漸進(jìn)編碼方法,提供了一種漸進(jìn)三維(3D)網(wǎng)格編碼方法,用于3D網(wǎng)格信息的漸進(jìn)恢復(fù),包括以下步驟(a)構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格,(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量,(c)以網(wǎng)格分量為單位形成比特流并對(duì)其進(jìn)行編碼,以及(d)把編碼的網(wǎng)格分量組合成壓縮比特流并發(fā)送該比特流。
另外,根據(jù)本發(fā)明的一個(gè)方面,提供了一種漸進(jìn)3D網(wǎng)格編碼方法,包括以下步驟(a)構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格,(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量,(c)按照各個(gè)網(wǎng)格分量的大小信息劃分所述多個(gè)網(wǎng)格分量,組合具有第一預(yù)定大小或更小的網(wǎng)格分量并重組具有大于該第一預(yù)定大小的大小的所有網(wǎng)格分量,(d)把各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)分成具有第二預(yù)定大小的比特流單元并對(duì)其進(jìn)行編碼,以及(e)把編碼的網(wǎng)格數(shù)據(jù)組合成壓縮比特流并發(fā)送該壓縮比特流。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一種漸進(jìn)3D網(wǎng)格編碼方法,包括以下步驟(a)構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格,(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量,(c)把表示具有從三角二叉樹的分支三角分支出來(lái)的分支的編碼順序的取向信息,插入到各個(gè)網(wǎng)格分量中,并對(duì)其進(jìn)行編碼,以及(d)把編碼的網(wǎng)格數(shù)據(jù)結(jié)合成壓縮比特流并發(fā)送該壓縮比特流。
為了實(shí)現(xiàn)用于對(duì)3D網(wǎng)格信息進(jìn)行漸進(jìn)編碼的設(shè)備,提供了一種漸進(jìn)三維(3D)網(wǎng)格編碼設(shè)備,用于對(duì)3D網(wǎng)格信息進(jìn)行漸進(jìn)恢復(fù),包括一個(gè)3D網(wǎng)格數(shù)據(jù)分析部分,用于構(gòu)造具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格并把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;多個(gè)網(wǎng)格分量編碼器,用于形成以網(wǎng)格分量為單位的比特流并對(duì)這些比特流進(jìn)行編碼;以及,一個(gè)多路復(fù)用器,用于把編碼的網(wǎng)格分量結(jié)合成壓縮比特流并發(fā)送該壓縮比特流。
另外,根據(jù)本發(fā)明的又一個(gè)方面,提供了一種漸進(jìn)3D網(wǎng)格編碼設(shè)備,包括一個(gè)3D網(wǎng)格數(shù)據(jù)分割部分,用于構(gòu)造具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格并把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;一個(gè)3D網(wǎng)格數(shù)據(jù)劃分和結(jié)合部分,用于按照各個(gè)網(wǎng)格分量的大小信息劃分多個(gè)網(wǎng)格分量,把具有小于或等于一個(gè)第一預(yù)定大小的大小的網(wǎng)格分量結(jié)合起來(lái)并重組所有網(wǎng)格分量以具有一個(gè)第一預(yù)定大?。欢鄠€(gè)網(wǎng)格分量編碼器,用于把各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)分成具有一個(gè)第二預(yù)定大小的比特流單元并對(duì)該比特流單元進(jìn)行編碼;以及,一個(gè)多路復(fù)用器,用于把編碼的網(wǎng)格數(shù)據(jù)結(jié)合成壓縮比特流并發(fā)送該壓縮比特流。
根據(jù)本發(fā)明的再一個(gè)方面,提供了一種漸進(jìn)三維(3D)網(wǎng)格編碼設(shè)備,用于漸進(jìn)恢復(fù)3D網(wǎng)格信息,包括一個(gè)3D網(wǎng)格數(shù)據(jù)分析部分,用于構(gòu)造具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格并把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;一個(gè)3D網(wǎng)格數(shù)據(jù)劃分和結(jié)合部分,用于按照各個(gè)網(wǎng)格分量的大小信息劃分多個(gè)網(wǎng)格分量,把具有小于或等于一個(gè)第一預(yù)定大小的大小的網(wǎng)格分量結(jié)合起來(lái)并重組所有網(wǎng)格分量以具有一個(gè)第一預(yù)定大?。灰粋€(gè)取向確定部分,用于把三角二叉樹信息中表示沿著兩個(gè)方向分支的一個(gè)三角中的編碼順序的取向信息,插入到重組的網(wǎng)格分量中的各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)中;多個(gè)網(wǎng)格分量編碼器,用于形成以網(wǎng)格分量為單位的比特流并對(duì)該比特流進(jìn)行編碼;以及,一個(gè)多路復(fù)用器,用于把編碼的網(wǎng)格分量結(jié)合成壓縮比特流并發(fā)送該壓縮比特流。
通過(guò)以下結(jié)合附圖對(duì)最佳實(shí)施例所進(jìn)行的詳細(xì)描述,本發(fā)明的上述目的和優(yōu)點(diǎn)將變得顯而易見(jiàn)。在附圖中圖1A至1F顯示了在三角網(wǎng)格的一個(gè)例子中產(chǎn)生頂點(diǎn)跨越圖和三角跨越圖的傳統(tǒng)方法;圖2A至2D顯示了拓?fù)涫中g(shù)的一個(gè)例子;圖3顯示了具有一個(gè)環(huán)的頂點(diǎn)跨越圖的一個(gè)例子;圖4顯示了界定環(huán)的構(gòu)造方法;圖5是傳統(tǒng)3D網(wǎng)格信息編碼方法的示意框圖;圖6是根據(jù)本發(fā)明的漸進(jìn)3D網(wǎng)格信息編碼/解碼方法的示意框圖;圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的漸進(jìn)3D網(wǎng)格信息編碼設(shè)備的框圖;圖8顯示了用于解釋圖7所示的設(shè)備實(shí)施的漸進(jìn)3D網(wǎng)格信息編碼方法的一個(gè)實(shí)施例的句法的一個(gè)例子;圖9是根據(jù)本發(fā)明的另一實(shí)施例的漸進(jìn)3D網(wǎng)格信息編碼設(shè)備的框圖;圖10A至10F顯示了用于解釋圖9所示的設(shè)備實(shí)施的漸進(jìn)3D網(wǎng)格信息編碼方法的另一實(shí)施例的句法的一個(gè)例子;圖11至11D顯示了用于解釋漸進(jìn)3D網(wǎng)格信息編碼方法的另一實(shí)施例的句法的一個(gè)例子;且圖12A和12B顯示了用于解釋根據(jù)本發(fā)明的三角二叉樹信息的比特流構(gòu)造方法的句法的一個(gè)例子。
首先,為了漸進(jìn)地處理3D網(wǎng)格,在本發(fā)明中提出了一種新的網(wǎng)格結(jié)構(gòu)。一個(gè)3D網(wǎng)格對(duì)象(MO)可被重組為幾個(gè)網(wǎng)格對(duì)象層(MOL)—它們是分成幾層的網(wǎng)格數(shù)據(jù)。在此各個(gè)MOL包含一或多個(gè)網(wǎng)格分量MCOM。各個(gè)MCOM包含其本身的恢復(fù)所需的連接信息、幾何信息和光度信息。換言之,MO可被表示為所要編碼的3D網(wǎng)格對(duì)象的單元并按照?qǐng)D象質(zhì)量的各種等級(jí)和功能被劃分成若干層。劃分的各層被定義為網(wǎng)格對(duì)象層(MOL)。另外,當(dāng)利用拓?fù)涫中g(shù),由若干獨(dú)立的不相連的網(wǎng)格即相連的分量構(gòu)成一個(gè)3D網(wǎng)格對(duì)象時(shí),MCOM被定義為按照所要編碼的數(shù)據(jù)大小或其他特性結(jié)合或分割的獨(dú)立網(wǎng)格。
圖6是根據(jù)本發(fā)明的漸進(jìn)3D網(wǎng)格對(duì)象信息編碼/解碼方法的示意框圖。參見(jiàn)圖6,一個(gè)編碼部分200表示一個(gè)3D數(shù)據(jù)分析器201、多個(gè)分量編碼器(1至N)202和一個(gè)多路復(fù)用器(MUX)204。一個(gè)解碼部分209包括一個(gè)去多路復(fù)用器(DEMUX)205和多個(gè)分量解碼器(1至N)206和一個(gè)3D數(shù)據(jù)合成器208。
首先,3D網(wǎng)格對(duì)象100被一個(gè)3D數(shù)據(jù)分析器201重組成至少一個(gè)網(wǎng)格對(duì)象層(MOL)211,且各個(gè)MOL被重組成MCOM。MOL或MCOM被輸入多個(gè)分量編碼器202以隨后受到其壓縮。壓縮的比特流通過(guò)MUX 204而得到發(fā)送。在此用在一個(gè)上級(jí)分量編碼器中的信息203也被用于下級(jí)分量編碼器中。
被發(fā)送至解碼部分209的壓縮比特流210被去多路復(fù)用器(DEMUX)205劃分MOL單元,并被分量解碼器(1至N)206進(jìn)一步分成MCOM以隨后被解碼。在此用在上級(jí)分量解碼器中的信息207再次被用在下級(jí)分量解碼器中。被各個(gè)分量解碼器解碼的MCOM被3D數(shù)據(jù)合成器208恢復(fù)成3D網(wǎng)格對(duì)象110。
當(dāng)由若干頂點(diǎn)表示的多邊形構(gòu)成的一個(gè)3D網(wǎng)格是具有三個(gè)頂點(diǎn)的三角網(wǎng)格時(shí),現(xiàn)在詳細(xì)描述一種用于把漸進(jìn)編碼功能包含到一種3D網(wǎng)格編碼方法中的方法,該3D網(wǎng)格編碼方法用于編碼相應(yīng)的頂點(diǎn)和包括幾何信息和連接信息的相應(yīng)三角構(gòu)造信息。
圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的漸進(jìn)3D網(wǎng)格對(duì)象信息編碼設(shè)備,其中漸進(jìn)編碼是以MCOM為單位進(jìn)行的。
一個(gè)3D網(wǎng)格數(shù)據(jù)分析器710接收所要編碼的3D網(wǎng)格700并將其分成多個(gè)3D網(wǎng)格分量C1至CN-其每一個(gè)都具有能夠在沒(méi)有連接信息的情況下獨(dú)立構(gòu)成一個(gè)3D網(wǎng)格分量的3D二進(jìn)制網(wǎng)格樹(步驟711)。各個(gè)分割的網(wǎng)格分量(C1)720具有取決于網(wǎng)格樹的深度和節(jié)點(diǎn)的數(shù)目的不同大小。由各個(gè)網(wǎng)格分量單元構(gòu)成的比特流730是各個(gè)網(wǎng)格分量的網(wǎng)格信息,并包括頂點(diǎn)二叉樹信息(V1)732和三角二叉樹信息(T1)734。在此,構(gòu)成網(wǎng)格分量(C1)的頂點(diǎn)二叉樹和三角二叉樹由編碼器740和742壓縮和編碼。隨后,編碼的網(wǎng)格分量被組合成壓縮比特流,并隨后通過(guò)多路復(fù)用器750而得到發(fā)送。
圖8顯示了用于解釋根據(jù)本發(fā)明的漸進(jìn)3D網(wǎng)格對(duì)象信息編碼方法的一個(gè)實(shí)施例的句法的一個(gè)例子。除了頂點(diǎn)二叉樹的標(biāo)頭信息802,出現(xiàn)在多個(gè)網(wǎng)格分量的比特流中首先要被編碼的3D網(wǎng)格對(duì)象信息中的所有網(wǎng)格分量的總數(shù)(nComponent)801,也得到表示。為了恢復(fù)構(gòu)成解碼部分中的所有網(wǎng)格分量C1至CN的頂點(diǎn)二叉樹732和三角二叉樹734,包含頂點(diǎn)和三角樹構(gòu)成信息的標(biāo)頭802和804、以及頂點(diǎn)和三角樹比特流803和805,得到了發(fā)送。
在以網(wǎng)格分量為單位進(jìn)行漸進(jìn)編碼的情況下,編碼的復(fù)雜性可被降低,但編碼和恢復(fù)效率由于發(fā)送錯(cuò)誤而被降低。
在把以網(wǎng)格分量為單位進(jìn)行的漸進(jìn)編碼應(yīng)用于要求編碼效率的各種可應(yīng)用領(lǐng)域時(shí),當(dāng)多個(gè)小的網(wǎng)格分量構(gòu)成一個(gè)MOL時(shí),標(biāo)頭信息變得大于實(shí)際需要編碼的信息,因而總體編碼效率降低。因此,在3D網(wǎng)格數(shù)據(jù)分析步驟中,小的網(wǎng)格分量必須被結(jié)合成單個(gè)的網(wǎng)格分量,以適合于有限的發(fā)送通路容量或解碼器的存儲(chǔ)容量。
圖9是根據(jù)本發(fā)明的另一實(shí)施例的漸進(jìn)3D網(wǎng)格對(duì)象信息編碼設(shè)備的框圖,其中漸進(jìn)編碼得到進(jìn)行以在網(wǎng)格分量中形成具有連接信息的均勻大小的比特流。
參見(jiàn)圖9,一個(gè)3D網(wǎng)格數(shù)據(jù)分析器901把輸入的3D網(wǎng)格900分成多個(gè)3D網(wǎng)格分量902。隨后,多個(gè)3D網(wǎng)格分量902根據(jù)大小信息得到劃分(步驟903),且小于一個(gè)預(yù)定大小的網(wǎng)格分量被結(jié)合(步驟904)以得到重組,從而使所有網(wǎng)格分量都具有一個(gè)預(yù)定的大小。隨后,對(duì)于重組的網(wǎng)格分量,各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)908和910被分成具有預(yù)定大小的比特流單元909和911,并用編碼器912和913進(jìn)行編碼。隨后,編碼的網(wǎng)格分量被結(jié)合成壓縮比特流以隨后通過(guò)多路復(fù)用器914而得到發(fā)送。
在此,網(wǎng)格分量結(jié)合904可通過(guò)根據(jù)根信息直接連接各個(gè)網(wǎng)格分量中的樹而進(jìn)行,因?yàn)榫W(wǎng)格分量具有彼此獨(dú)立的結(jié)構(gòu)而沒(méi)有彼此連接信息。在以這樣的方式重組了各個(gè)網(wǎng)格分量從而具有預(yù)定的大小之后,考慮到有限的發(fā)送通路容量和解碼器的存儲(chǔ)容量,各個(gè)網(wǎng)格分量的3D網(wǎng)格數(shù)據(jù)被分割以具有一個(gè)預(yù)定的大小。相應(yīng)地,具有錯(cuò)誤的比特流能夠得到有效的發(fā)送和恢復(fù)。
在本發(fā)明中,各個(gè)網(wǎng)格分量的3D網(wǎng)格數(shù)據(jù)利用頂點(diǎn)的基準(zhǔn)數(shù)目(vertices_per_data)和三角的基準(zhǔn)數(shù)目(triangle_per_data)得到分割,以具有預(yù)定大小。
首先,在網(wǎng)格分量結(jié)合步驟904,如果構(gòu)成網(wǎng)格分量的頂點(diǎn)二叉樹中的頂點(diǎn)的總數(shù)小于頂點(diǎn)的基準(zhǔn)數(shù)目(vertices_per_data),該網(wǎng)格分量與下一個(gè)將要編碼的網(wǎng)格分量相結(jié)合。相應(yīng)地,所要編碼的所有網(wǎng)格分量都得到重組,以具有一種頂點(diǎn)二叉樹—其中頂點(diǎn)的總數(shù)大于頂點(diǎn)的基準(zhǔn)數(shù)目(vertices_per_data)。
如果以這樣的方式進(jìn)行重組,各個(gè)網(wǎng)格分量中構(gòu)成網(wǎng)格數(shù)據(jù)的頂點(diǎn)二叉樹信息和三角二叉樹信息被分成頂點(diǎn)基準(zhǔn)數(shù)目(vertices_per_data)和三角基準(zhǔn)數(shù)目(triangle_per_data)單元。在此,分割是沿著相應(yīng)的樹沿著一個(gè)恒定的取向(例如逆時(shí)針)進(jìn)行的。
分割的3D網(wǎng)格數(shù)據(jù)被編碼器912和913壓縮/編碼。發(fā)送至解碼部分的壓縮的比特流在圖10A中顯示。在網(wǎng)格分量結(jié)合步驟904中重組的網(wǎng)格分量C1至CN的總數(shù)1010、頂點(diǎn)二叉樹(V1)標(biāo)頭至頂點(diǎn)二叉樹(VN)標(biāo)頭(1011至1017)、以及三角二叉樹(T1)標(biāo)頭至三角二叉樹(TN)標(biāo)頭(1014和1020),被構(gòu)造得與圖8所示的相同。在各個(gè)網(wǎng)格分量中分割的3D網(wǎng)格數(shù)據(jù)包括1013、1016、1019和1022。換言之,被分割處理分割成具有一個(gè)預(yù)定大小的比特流單元的重組的3D網(wǎng)格數(shù)據(jù),由多個(gè)頂點(diǎn)二叉樹V1,1至V1,n1,……以及VN,1至VN,nN和多個(gè)三角二叉樹T1,1至T1,m1……和TN,1至TN,mN的相應(yīng)比特流構(gòu)成。在此,N、m和n是大于0的整數(shù)。
另外,為了支持通過(guò)以預(yù)定大小的單位發(fā)送比特流而獲得的漸進(jìn),用于從三角二叉樹信息構(gòu)成N個(gè)三角的比特流,考慮到本地熵編碼效率。例如,N個(gè)trun數(shù)據(jù)和一個(gè)tleaf數(shù)據(jù)被從N-1個(gè)tmarching數(shù)據(jù)和N個(gè)polygonedge數(shù)據(jù)分離出來(lái)。因此,熵編碼效率和提供效果得到了改善。
如上所述,當(dāng)一個(gè)網(wǎng)格分量?jī)?nèi)的3D網(wǎng)格信息得到分割以具有一個(gè)預(yù)定大小以隨后被編碼時(shí),由于解碼部分而必須被考慮的信息是必需的。換言之,當(dāng)解碼部分接收并漸進(jìn)恢復(fù)了某些分割的3D網(wǎng)格比特流以進(jìn)行提供時(shí),由于三角樹的恢復(fù)順序是固定的,會(huì)遇到問(wèn)題。即在恢復(fù)期間,當(dāng)同時(shí)屬于相對(duì)于一個(gè)三角二叉樹內(nèi)的一個(gè)分支點(diǎn)處的三角的左和右三角的一個(gè)Y頂點(diǎn)被解碼時(shí),不可能在不知道形成右邊的三角樹的信息的情況下解碼Y頂點(diǎn)。因此,直到獲得所有未發(fā)送的3D網(wǎng)格信息,漸進(jìn)解碼操作的提供就不能進(jìn)一步進(jìn)行。換言之,與漸進(jìn)編碼操作相應(yīng)的漸進(jìn)解碼操作不能得到適當(dāng)?shù)倪M(jìn)行。
因此,為了漸進(jìn)編碼/解碼3D網(wǎng)格信息,如圖10A中的1012、1015、1018和1021表示的Y頂點(diǎn)信息—它能夠提供二叉樹的分支點(diǎn)的右邊的樹的連接信息—必須被形成在將要被發(fā)送至解碼部分的比特流中。
為了解決這個(gè)問(wèn)題,首先,頂點(diǎn)二叉樹和三角二叉樹中的Y頂點(diǎn)信息得到產(chǎn)生,如圖10B所示。在圖10B中,頂點(diǎn)二叉樹的Y頂點(diǎn)信息和三角二叉樹的Y頂點(diǎn)信息包括出現(xiàn)在相應(yīng)的重組網(wǎng)格分量中的Y頂點(diǎn)1031和1033的總數(shù)的整數(shù),以及出現(xiàn)在由相對(duì)于各個(gè)Y頂點(diǎn)位于三角二叉樹的分支點(diǎn)的右邊的一個(gè)樹中出現(xiàn)的三角的總數(shù)所表示的Y頂點(diǎn)1032和1034的幾何信息。除了多個(gè)頂點(diǎn)二叉樹和三角二叉樹的比特流之外,該Y頂點(diǎn)信息也得到表示。換言之,在圖10A中,由標(biāo)號(hào)1012和1018表示的信息或由標(biāo)號(hào)1015和1021表示的信息被插入到比特流中。
其次,Y頂點(diǎn)信息以比第一實(shí)施例中少的位數(shù)得到發(fā)送。在頂點(diǎn)二叉樹中,vrun==1&&vleaf==0表示了一個(gè)樹的分支點(diǎn),且vrun==1&&vleaf==1表示了一個(gè)端點(diǎn)。參見(jiàn)圖10C,當(dāng)Y-vertex(==1)出現(xiàn)時(shí),vrun被表示為1,vleaf被表示為0,而分支點(diǎn)或端點(diǎn)除外,以利用頂點(diǎn)行程單元的數(shù)目提供有關(guān)Y頂點(diǎn)產(chǎn)生的信息和幾何信息。在此,Y頂點(diǎn)的數(shù)目由各個(gè)網(wǎng)格分量的整數(shù)表示,如1012或1018。因此,頂點(diǎn)二叉樹信息中的比特流改變?cè)趫D10D和10E中顯示。
在三角二叉樹中,有關(guān)Y頂點(diǎn)的順序的信息是以圖10F中顯示的二叉樹的形式,按照分割的3D網(wǎng)格數(shù)據(jù)被發(fā)送至解碼部分的順序,而產(chǎn)生的。以二叉樹的形式表示的二叉樹信息,是由一系列的0和1構(gòu)成的,其中與2*(Y頂點(diǎn)的數(shù)目)+1相應(yīng)的比特得到產(chǎn)生。換言之,在圖10F所示的二叉樹中,產(chǎn)生了比特“11110011100000”,且如此構(gòu)成的二叉樹信息被編碼器壓縮/編碼,從而提高了編碼效率。
即,如圖10D所示,出現(xiàn)在各個(gè)重組的網(wǎng)格分量中的Y頂點(diǎn)的數(shù)目,除了多個(gè)頂點(diǎn)樹比特流1013和1019之外,還由作為Y頂點(diǎn)信息的標(biāo)號(hào)1012和1018表示。另外,如圖10E所示,Y頂點(diǎn)幾何信息1047,除了分別表示多個(gè)頂點(diǎn)二叉樹的各個(gè)比特流中的各個(gè)頂點(diǎn)二叉樹的分支點(diǎn)和端點(diǎn)的符號(hào)1045和1046之外,也得到表示。
作為用于三角二叉樹的Y頂點(diǎn)信息,表示有關(guān)作為二叉樹而產(chǎn)生的Y頂點(diǎn)的順序的信息的Y頂點(diǎn)二叉樹信息,除了多個(gè)三角二叉樹的比特流1016和1022之外,也由標(biāo)號(hào)1015和1021表示。
如上所述,在其中相連分量的3D網(wǎng)格信息被分割以具有一個(gè)預(yù)定大小且Y頂點(diǎn)的連接信息也被形成以得到編碼從而進(jìn)行著色的漸進(jìn)編碼方法中,編碼效率會(huì)由于幾何信息和Y頂點(diǎn)的順序的額外信息而惡化。這種問(wèn)題可由形成只沿著固定方向的樹和沿著該固定方向?qū)ζ渚幋a而造成,并可通過(guò)自適應(yīng)地改變編碼方向而得到解決,其中當(dāng)Y頂點(diǎn)在分割的3D網(wǎng)格信息中得到訪問(wèn)時(shí),連接信息是不需要的或只在最小的程度上需要。
圖11A至11D顯示了用于解釋根據(jù)本發(fā)明的采用拓?fù)涫中g(shù)的漸進(jìn)3D網(wǎng)格對(duì)象信息編碼方法的另一實(shí)施例的句法的一個(gè)例子,其中具有均勻大小的比特流被形成在網(wǎng)格分量中。
如圖11B所示,當(dāng)三角二叉樹中具有Y頂點(diǎn)的三角被訪問(wèn)時(shí)(步驟1111),三角二叉樹的編碼順序,根據(jù)當(dāng)連通分量中的三角二叉樹被等分成指定大小的單元時(shí)采用的triangle_per_data和用于表示右邊分支中的三角的數(shù)目的triangle_per_right_tree的編碼優(yōu)先級(jí),而依次得到確定。隨后,在三角二叉樹的比特流中,提供用于表示編碼方向的torientation標(biāo)志1100,如圖11A所示。
torientation表示了在解碼處理中是左邊還是右邊的分支三角先得到解碼。如果0被給予torientation,則左邊先被解碼。如果1被給予torientation,則右邊先被解碼。
例如,如果具有Y頂點(diǎn)的三角被訪問(wèn)(步驟1111),首先,判定triangle_per_right_tree是否小于或等于triangle_per_data(步驟1112)。如果是,torientation被置于1(步驟1113)。如果不是,判定triangle_perleft_tree是否小于或等于triangle_per_data(步驟1114)。如果是,torientation被置于0(步驟1115)。如果不是,判定triangle_per_right_tree是否小于或等于triangle_peR_left_tree(步驟1116)。如果是,torientation被置于1(步驟1117),且如果不是,torientation被置于0(步驟1118)。
在此,如果torientation是0,在其中根處于上方的狀態(tài)下,在左邊分支(即逆時(shí)針)中的一個(gè)從屬三角二叉樹首先被編碼。如果torientation是1,在其中根位于上方的狀態(tài)下,在右邊分支(即順時(shí)針)中的一個(gè)從屬三角二叉樹被首先編碼。另外,即使在其編碼取向被確定的從屬三角二叉樹中的一個(gè)具有Y頂點(diǎn)的三角被訪問(wèn),編碼取向也不被表示。
圖11C中顯示了由上述編碼取向確定方法產(chǎn)生作為一種取向標(biāo)志的torientation的過(guò)程的一個(gè)例子,其中標(biāo)號(hào)1120和1121表示其取向標(biāo)志已經(jīng)被確定的從屬三角二叉樹中的具有Y頂點(diǎn)的三角。因此,取向標(biāo)志沒(méi)有定義。標(biāo)號(hào)1125表示把3D網(wǎng)格信息的壓縮比特流發(fā)送和提供給解碼部分的順序。
圖11D顯示了根據(jù)本發(fā)明的另一實(shí)施例的壓縮比特流,該比特流具有取向信息。象圖10A,該壓縮比特流包括nComponent 1130,它表示了重組的網(wǎng)格分量的總數(shù);頂點(diǎn)樹標(biāo)頭1131和1135以及三角樹標(biāo)頭1133和1137,它們構(gòu)成了相應(yīng)的網(wǎng)格分量;被分割成具有預(yù)定大小的比特流單元并重組的多個(gè)頂點(diǎn)二叉樹的頂點(diǎn)樹比特流1132和1136;以及,多個(gè)三角二叉樹的三角樹比特流1134和1138。表示三角二叉樹中沿著兩個(gè)方向分支的三角中的編碼順序的torientationi,i(圖11A的1100),被進(jìn)一步地提供在多個(gè)三角二叉樹的各個(gè)比特流Ti,i中。
取向標(biāo)志的表示信息的存在,通過(guò)檢查從屬三角樹中的所有葉三角是否都被恢復(fù),而得到確定。換言之,從屬三角二叉樹中的葉三角的總數(shù)與帶有取向標(biāo)志的三角和不帶取向標(biāo)志和帶有Y頂點(diǎn)的三角的數(shù)目的總和相同這一特征,被用作判定條件。
在三角樹的分量中,定義三角的行進(jìn)方面的tmarching信息極少被重疊,這導(dǎo)致了低的熵編碼效率。因此,在本發(fā)明中,為了改善構(gòu)造單元中的tmarching信息的編碼熵,且為了有效地支持預(yù)定大小的3D網(wǎng)格數(shù)據(jù)的比特流構(gòu)造中的漸進(jìn)著色,三角二叉樹的比特流被這樣構(gòu)成,即使得具有高度重疊的符號(hào)與具有低度重疊的符號(hào)相分離,從而提高了編碼效率。換言之,在構(gòu)成N個(gè)三角時(shí),從(N-M)個(gè)tmarching單元和N個(gè)polygonedge單元單獨(dú)地構(gòu)成了N個(gè)trun單元和M個(gè)tleaf單元(0≤M≤N)—其中M表示構(gòu)成三角二叉樹的分支和葉的數(shù)目,從而改善了tmarching信息和trun信息的低熵編碼效率,并進(jìn)一步地改善了著色效率。
圖12A顯示了由通常的方法構(gòu)成的比特流的一個(gè)例子,且圖12A顯示了由本發(fā)明提出的方法構(gòu)成的比特流的一個(gè)例子。
在圖12B中,只有當(dāng)trun=1時(shí),即當(dāng)三角分支時(shí),tleaf在trun之后接著被產(chǎn)生,tmarching只當(dāng)trun=0即三角沒(méi)有分支時(shí)被產(chǎn)生。另外,ispolygonedge只在有至少一個(gè)非三角的多邊形時(shí)被產(chǎn)生。如果不是,則在比特流中不提供ispolygonedge信息。
如上所述,在采用根據(jù)本發(fā)明的拓?fù)涫中g(shù)的3D網(wǎng)格編碼方法和設(shè)備中,漸進(jìn)3D網(wǎng)格恢復(fù)和3D網(wǎng)格層鑒別得到允許,而不象傳統(tǒng)的拓?fù)涫中g(shù)系統(tǒng)。另外,與其中在沒(méi)有接收完不帶發(fā)送錯(cuò)誤的所有比特流之前不能開(kāi)始進(jìn)行恢復(fù)的傳統(tǒng)方法相對(duì)比,在本發(fā)明中,一旦以網(wǎng)格分量為單位的比特流得到發(fā)送,3D網(wǎng)格信息就能夠通過(guò)采用具有連接性的頂點(diǎn)二叉樹和三角二叉樹信息,而以單個(gè)的三角為單位地得到再現(xiàn)。即,在傳統(tǒng)方法中直到所有比特流得到發(fā)送,存在著總體延遲,而在本發(fā)明中總體延遲對(duì)應(yīng)于網(wǎng)格分量的長(zhǎng)度。即使在一個(gè)網(wǎng)格分量被完全發(fā)送之前,在接收到包括頂點(diǎn)二叉樹信息的重要信息之后,也能夠以三角為單位進(jìn)行恢復(fù)。進(jìn)一步地,即使產(chǎn)生了發(fā)送錯(cuò)誤,在其中比特流是以網(wǎng)格分量為單位而形成的狀態(tài)下,錯(cuò)誤也能夠被局部化。
權(quán)利要求
1.用于漸進(jìn)恢復(fù)3D網(wǎng)格信息的漸進(jìn)三維(3D)網(wǎng)格編碼方法,包括以下步驟(a)構(gòu)造一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格;(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;(c)以網(wǎng)格分量為單位形成比特流并對(duì)其進(jìn)行編碼;以及(d)把編碼的網(wǎng)格分量組合成壓縮比特流并發(fā)送該壓縮比特流。
2.根據(jù)權(quán)利要求1的漸進(jìn)編碼方法,其中以網(wǎng)格分量為單位形成的比特流包括作為各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)的頂點(diǎn)二叉樹信息和三角二叉樹信息,且除了網(wǎng)格分量的比特流中將要被首先編碼的頂點(diǎn)二叉樹信息之外,網(wǎng)格分量的總數(shù)也得到表示。
3.一種漸進(jìn)3D網(wǎng)格編碼方法,包括以下步驟(a)構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格;(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;(c)根據(jù)各個(gè)網(wǎng)格分量的大小信息劃分多個(gè)網(wǎng)格分量,把具有第一預(yù)定尺寸或更小的尺寸的網(wǎng)格分量組合起來(lái)并重組所有網(wǎng)格分量以具有大于第一預(yù)定尺寸的尺寸;(d)把各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)分成具有第二預(yù)定尺寸的比特流單元并對(duì)其進(jìn)行編碼;以及(e)把編碼的網(wǎng)格數(shù)據(jù)組合成壓縮比特流并發(fā)送該壓縮比特流。
4.根據(jù)權(quán)利要求3的漸進(jìn)3D網(wǎng)格編碼方法,其中在步驟(c)中,如果構(gòu)成網(wǎng)格分量的頂點(diǎn)二叉樹中的頂點(diǎn)的總數(shù)少于或等于頂點(diǎn)的基準(zhǔn)數(shù)目,則該網(wǎng)格分量被與下一個(gè)將要被編碼以得到重組的網(wǎng)格分量相結(jié)合,從而使所要編碼的網(wǎng)格分量具有這樣的頂點(diǎn)二叉樹—即其中頂點(diǎn)的總數(shù)大于頂點(diǎn)的一個(gè)第一預(yù)定基準(zhǔn)數(shù)目。
5.根據(jù)權(quán)利要求3的漸進(jìn)3D網(wǎng)格編碼方法,其中在步驟(d)中,構(gòu)成各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)的頂點(diǎn)二叉樹信息和三角二叉樹信息被分成頂點(diǎn)的第二預(yù)定基準(zhǔn)數(shù)目和一個(gè)預(yù)定的三角數(shù)目。
6.根據(jù)權(quán)利要求4的漸進(jìn)3D網(wǎng)格編碼方法,其中在步驟(d)中,構(gòu)成各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)的頂點(diǎn)二叉樹信息和三角二叉樹信息被分成頂點(diǎn)的一個(gè)第二預(yù)定基準(zhǔn)數(shù)目和一個(gè)預(yù)定的三角數(shù)。
7.根據(jù)權(quán)利要求3的漸進(jìn)3D網(wǎng)格編碼方法,其中壓縮比特流包括在步驟(c)中重組的網(wǎng)格分量的總數(shù)、構(gòu)成各個(gè)重組的網(wǎng)格分量的頂點(diǎn)樹標(biāo)頭和三角樹標(biāo)頭、和多個(gè)三角二叉樹的頂點(diǎn)樹比特流和多個(gè)三角二叉樹的三角樹比特流,它們都被分成具有第二預(yù)定尺寸的比特流單元并隨后得到重組。
8.根據(jù)權(quán)利要求7的漸進(jìn)3D網(wǎng)格編碼方法,其中壓縮比特流進(jìn)一步包括Y頂點(diǎn)信息和Y頂點(diǎn)的幾何信息,其中Y頂點(diǎn)信息提供在一個(gè)二叉樹的分支點(diǎn)處沿著一個(gè)固定方向的連接信息,該Y頂點(diǎn)信息包括出現(xiàn)在各個(gè)重組的網(wǎng)格分量中的Y頂點(diǎn)的總數(shù),而Y頂點(diǎn)的幾何信息由分別相對(duì)于各個(gè)Y頂點(diǎn)位于三角二叉樹的分支點(diǎn)的右邊的一個(gè)樹中的三角的總數(shù)來(lái)表示,且除了多個(gè)頂點(diǎn)二叉樹的各個(gè)比特流和多個(gè)三角二叉樹的比特流之外該Y頂點(diǎn)信息也得到表示。
9.根據(jù)權(quán)利要求7的漸進(jìn)3D網(wǎng)格編碼方法,其中壓縮比特流進(jìn)一步包括Y頂點(diǎn)信息、Y頂點(diǎn)的幾何信息以及Y頂點(diǎn)的二叉樹信息,其中Y頂點(diǎn)信息提供在一個(gè)二叉樹的分支點(diǎn)處沿著一個(gè)固定方向的連接信息,該Y頂點(diǎn)信息包括出現(xiàn)在各個(gè)重組的網(wǎng)格分量中的Y頂點(diǎn)的總數(shù),而Y頂點(diǎn)的幾何信息以一比特的形式與各個(gè)頂點(diǎn)二叉樹的分支點(diǎn)和端點(diǎn)的符號(hào)一起得到表示,頂點(diǎn)二叉樹信息表示二叉樹形式的有關(guān)Y頂點(diǎn)的順序的信息。
10.一種漸進(jìn)3D網(wǎng)格編碼方法,包括以下步驟(a)構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格;(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;(c)把表示從三角二叉樹的分支三角分出來(lái)的分支的編碼順序的取向信息插入各個(gè)網(wǎng)格分量,并對(duì)其進(jìn)行編碼;以及(d)把編碼的網(wǎng)格數(shù)據(jù)組合成壓縮比特流并發(fā)送該壓縮比特流。
11.根據(jù)權(quán)利要求10的漸進(jìn)3D網(wǎng)格編碼方法,其中步驟(c)包括以下子步驟(c1)按照各個(gè)網(wǎng)格分量的尺寸信息劃分多個(gè)網(wǎng)格分量,并組合其尺寸小于或等于一個(gè)第一預(yù)定尺寸的網(wǎng)格分量,從而重組所有的網(wǎng)格分量使它們具有恒定的尺寸;(c2)把重組的網(wǎng)格分量中的各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)分成具有第二預(yù)定尺寸的比特流單元;以及(c3)把取向信息插入該比特流并對(duì)其進(jìn)行編碼。
12.根據(jù)權(quán)利要求11的漸進(jìn)3D網(wǎng)格編碼方法,其中壓縮比特流包括在步驟(c1)重組的網(wǎng)格分量的總數(shù)、構(gòu)成各個(gè)重組的網(wǎng)格分量的頂點(diǎn)樹標(biāo)頭和三角樹標(biāo)頭、以及多個(gè)三角二叉樹的頂點(diǎn)樹比特流和多個(gè)三角二叉樹的三角樹比特流,它們被分成具有第二預(yù)定尺寸的比特流單元并隨后在子步驟(c2)中得到重組。
13.根據(jù)權(quán)利要求11的漸進(jìn)3D網(wǎng)格編碼方法,其中取向信息以這樣的方式得到表示,即考慮到包含在于子步驟(c1)中被重組的網(wǎng)格分量的三角二叉樹中的分支三角中的兩個(gè)分支的尺寸和三角的預(yù)定基準(zhǔn)數(shù)目,如果分支的三角的數(shù)目大于三角的預(yù)定基準(zhǔn)數(shù)目,則較小的分支首先得到編碼。
14.根據(jù)權(quán)利要求12的漸進(jìn)3D網(wǎng)格編碼方法,其中取向信息以這樣的方式得到表示,即考慮到包含在于子步驟(c1)中被重組的網(wǎng)格分量的三角二叉樹中的分支三角中的兩個(gè)分支的尺寸和三角的預(yù)定基準(zhǔn)數(shù)目,如果分支的三角的數(shù)目大于三角的預(yù)定基準(zhǔn)數(shù)目,則較小的分支首先得到編碼。
15.根據(jù)權(quán)利要求10的漸進(jìn)3D網(wǎng)格編碼方法,其中在步驟(c)中,當(dāng)構(gòu)成各個(gè)網(wǎng)格分量的三角二叉樹信息時(shí),N個(gè)trun單元和M個(gè)tleaf單元—其中N是構(gòu)成三角二叉樹的三角的數(shù)目且M大于或等于零并小于或等于N-從三角行進(jìn)信息和多邊形邊緣信息單獨(dú)地構(gòu)成,以提高熵編碼效率和著色效率。
16.一種用于3D網(wǎng)格信息的漸進(jìn)恢復(fù)的漸進(jìn)三維(3D)網(wǎng)格編碼設(shè)備,包括一個(gè)3D網(wǎng)格數(shù)據(jù)分析部分,用于構(gòu)成一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格,并將各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;多個(gè)網(wǎng)格分量編碼器,用于形成以網(wǎng)格分量為單位的比特流并對(duì)該比特流進(jìn)行編碼;以及一個(gè)多路復(fù)用器,用于把編碼的網(wǎng)格分量組合成壓縮比特流并發(fā)送該壓縮比特流。
17.一種漸進(jìn)3D網(wǎng)格編碼設(shè)備,包括一個(gè)3D網(wǎng)格數(shù)據(jù)分割部分,用于構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格并把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;一個(gè)3D網(wǎng)格數(shù)據(jù)劃分和組合部分,用于根據(jù)各個(gè)網(wǎng)格分量的尺寸信息劃分多個(gè)網(wǎng)格分量,組合具有小于或等于一個(gè)第一預(yù)定尺寸的尺寸的網(wǎng)格分量,并重組所有網(wǎng)格分量以具有第一預(yù)定尺寸;多個(gè)網(wǎng)格分量編碼器,用于把各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)分成具有第二預(yù)定尺寸的比特流單元并對(duì)其進(jìn)行編碼;以及一個(gè)多路復(fù)用器,用于把編碼的網(wǎng)格數(shù)據(jù)組合成壓縮比特流并發(fā)送該壓縮比特流。
18.根據(jù)權(quán)利要求17的漸進(jìn)3D網(wǎng)格編碼設(shè)備,其中如果構(gòu)成網(wǎng)格分量的頂點(diǎn)二叉樹中的頂點(diǎn)的總數(shù)小于頂點(diǎn)的一個(gè)第一基準(zhǔn)數(shù)目,3D網(wǎng)格數(shù)據(jù)劃分和組合部分把該網(wǎng)格分量與下一個(gè)將要被編碼的網(wǎng)格分量相結(jié)合,從而使所有將要被編碼的網(wǎng)格分量都得到重組以具有一種頂點(diǎn)二叉樹,在該頂點(diǎn)二叉樹中頂點(diǎn)的總數(shù)大于頂點(diǎn)的第一基準(zhǔn)數(shù)目。
19.根據(jù)權(quán)利要求17的漸進(jìn)3D網(wǎng)格編碼設(shè)備,其中多個(gè)網(wǎng)格分量編碼器通過(guò)把構(gòu)成各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)的頂點(diǎn)二叉樹信息和三角二叉樹信息分別分成頂點(diǎn)的第二基準(zhǔn)數(shù)目和一個(gè)預(yù)定的三角數(shù)目,而對(duì)該頂點(diǎn)二叉樹信息和三角二叉樹信息進(jìn)行編碼。
20.根據(jù)權(quán)利要求18的漸進(jìn)3D網(wǎng)格編碼設(shè)備,其中多個(gè)網(wǎng)格分量編碼器通過(guò)把構(gòu)成各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)的頂點(diǎn)二叉樹信息和三角二叉樹信息分別分成頂點(diǎn)的第二基準(zhǔn)數(shù)目和一個(gè)預(yù)定的三角數(shù)目,而對(duì)該頂點(diǎn)二叉樹信息和三角二叉樹信息進(jìn)行編碼。
21.一種用于漸進(jìn)恢復(fù)3D網(wǎng)格信息的漸進(jìn)三維(3D)網(wǎng)格編碼設(shè)備,包括一個(gè)3D網(wǎng)格數(shù)據(jù)分析部分,用于構(gòu)成具有一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格,并將各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;一個(gè)3D網(wǎng)格數(shù)據(jù)劃分和組合部分,用于根據(jù)各個(gè)網(wǎng)格分量的尺寸信息組合多個(gè)網(wǎng)格分量,組合具有小于或等于一個(gè)第一預(yù)定尺寸的尺寸的網(wǎng)格分量,并重組所有網(wǎng)格分量以具有一個(gè)第一預(yù)定尺寸;一個(gè)取向確定部分,用于在重組的網(wǎng)格分量中的各個(gè)網(wǎng)格分量中的網(wǎng)格數(shù)據(jù)中,插入表示三角二叉樹信息中沿著兩個(gè)方向的三角分支的編碼順序的取向信息;多個(gè)網(wǎng)格分量編碼器,用于形成以網(wǎng)格分量為單位的比特流并對(duì)其進(jìn)行編碼;以及一個(gè)多路復(fù)用器,用于把編碼的網(wǎng)格分量組合成壓縮比特流并發(fā)送該壓縮比特流。
22.根據(jù)權(quán)利要求21的漸進(jìn)3D網(wǎng)格編碼設(shè)備,其中取向確定部分以這樣的方式確定取向信息,即在考慮包含在用于重組的網(wǎng)格分量的三角二叉樹中的分支三角中的兩個(gè)分支的尺寸時(shí),較小的分支先被編碼。
全文摘要
提供了一種三維(3D)網(wǎng)格數(shù)據(jù)的漸進(jìn)編碼方法和設(shè)備。該方法包括以下步驟:(a)構(gòu)造一或多個(gè)網(wǎng)格對(duì)象層的3D三角網(wǎng)格;(b)把各個(gè)網(wǎng)格對(duì)象層分成多個(gè)網(wǎng)格分量;(c)以網(wǎng)格分量為單位形成比特流并對(duì)其進(jìn)行編碼;以及,(d)把編碼的網(wǎng)格分量組合成壓縮比特流并發(fā)送該壓縮比特流。因而能夠進(jìn)行漸進(jìn)3D網(wǎng)格恢復(fù),且熵編碼效率能夠得到提高。
文檔編號(hào)G06T17/20GK1250289SQ99118159
公開(kāi)日2000年4月12日 申請(qǐng)日期1999年8月27日 優(yōu)先權(quán)日1998年8月29日
發(fā)明者金成珍, 宋文燮, 張義善, 韓萬(wàn)鎮(zhèn), 徐亮錫 申請(qǐng)人:三星電子株式會(huì)社