專利名稱:編碼/解碼包括一個或多個組件的3d網(wǎng)格模型的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及編碼和解碼包括一個或多個組件的3D網(wǎng)格模型,對應(yīng)的編碼器和解碼器,以及作為結(jié)果的數(shù)據(jù)集。
背景技術(shù):
三維(3D)網(wǎng)格已經(jīng)廣泛地用于表示3D對象的各種應(yīng)用。尤其隨著3D掃描器的快速增長,它們的未加工的表示通常需要海量的數(shù)據(jù)。然而,大多數(shù)應(yīng)用要求用于存儲和傳輸?shù)?D網(wǎng)格的緊湊的表示。從90年代早期以來已經(jīng)提出各種算法來高效地壓縮3D網(wǎng)格。 假定地,隨著這種技術(shù)在基于因特網(wǎng)的3D應(yīng)用的快速增長,將得到來自學(xué)術(shù)界和工業(yè)界二者的甚至更多的關(guān)注。3D對象的表面是三角形網(wǎng)格,S卩,其由三角形組成。共享一條邊的兩個三角形相鄰。相鄰三角形的序列是路徑,而如果一組三角形中的任何兩個三角形之間存在路徑,則該組三角形被稱為連接的組件。處于平行四邊形形狀的平坦表面面積僅僅需要兩個三角形來正確地描述,而不處于平行四邊形的形狀的平坦面積需要更多個三角形。典型地,3D網(wǎng)格由三種類型數(shù)據(jù)表示連通性數(shù)據(jù)、幾何數(shù)據(jù)和屬性數(shù)據(jù)。連通性數(shù)據(jù)描述頂點(diǎn)之間的相鄰關(guān)系,幾何數(shù)據(jù)指定3D空間中頂點(diǎn)位置,而特性數(shù)據(jù)指定諸如法向矢量、材料反射率以及紋理坐標(biāo)之類的屬性。最廣泛使用的3D壓縮算法分離地壓縮連通性數(shù)據(jù)和幾何數(shù)據(jù)。幾何數(shù)據(jù)的編碼順序由底層的連通性編碼確定。3D網(wǎng)格特性數(shù)據(jù)通常通過與幾何壓縮類似的方法來壓縮。幾何數(shù)據(jù)通常按照編碼順序通過利用相鄰頂點(diǎn)的位置之間的高相關(guān)性來壓縮,在多數(shù)情形下,其也在空間上相鄰。多數(shù)幾何壓縮方案遵循三步驟的過程頂點(diǎn)位置的預(yù)量化、量化的位置的預(yù)測,以及預(yù)測殘差的熵編碼。未壓縮的幾何數(shù)據(jù)典型地利用32比特浮點(diǎn)數(shù)來指定每個坐標(biāo)分量。然而,這種精度超出了人類眼睛的感知能力并且遠(yuǎn)遠(yuǎn)超過了一般應(yīng)用的需要。因此,可以使用量化來減少數(shù)據(jù)量而不對視覺質(zhì)量產(chǎn)生嚴(yán)重?fù)p害。量化技術(shù)可以被分類為均勻地或不均勻的。每個量化單元(cell)在均勻標(biāo)度量化器中是相同的長度,而各單元在不均勻標(biāo)度量化器中具有不同的長度。已知方法是根據(jù)局部曲率和三角尺寸將網(wǎng)格分區(qū)為若干區(qū)域,并且然后對不同的區(qū)域自適應(yīng)地選取不同的量化分辨率。在每個區(qū)域中,均勻地量化頂點(diǎn)坐標(biāo)。與非均勻的量化相比較,均勻量化簡單并且在計算上效率高,但是其在率失真(R-D)性能方面不是最優(yōu)的。幾何數(shù)據(jù)壓縮的另一個重要問題是使用坐標(biāo)系來表達(dá)頂點(diǎn)位置。一般使用(通常笛卡爾(cartesian))全局坐標(biāo)系(WCS)用于完整的模型和/或局部坐標(biāo)系(LCS)用于單個三角形,如圖la)所示。
發(fā)明內(nèi)容
本發(fā)明提供了一種改進(jìn)編碼的3D網(wǎng)格模型的精確度的方法和裝置,并且具體地,提供了一種改進(jìn)包括一個或者多個不同組件的編碼3D模型的精確度的方法和裝置。權(quán)利要求1公開了一種用于編碼由一個或多個組件組成的3D網(wǎng)格模型的方法。權(quán)利要求12公開了一種由一個或多個組件組成的對應(yīng)的編碼的3D網(wǎng)格模型。權(quán)利要求6公開了一種用于解碼由一個或多個組件組成的編碼的3D網(wǎng)格模型的方法。權(quán)利要求10公開了一種用于編碼由一個或多個組件組成的3D網(wǎng)格模型的幾何編碼器。權(quán)利要求11公開了一種用于解碼由一個或多個組件組成的編碼的3D網(wǎng)格模型的幾何解碼器。在從屬權(quán)利要求中、以下的描述和附圖中公開了本發(fā)明的有利實(shí)施例。
參照附圖來描述本發(fā)明的示范性實(shí)施例,其中圖la)示出用于3D網(wǎng)格模型的全局坐標(biāo)系和局部坐標(biāo)系;圖lb)示出用于3D網(wǎng)格模型的組件的組件坐標(biāo)系;圖2示出作為線框(wireframe)模型的示范性的3D網(wǎng)格模型;圖3a)-c)示出未壓縮的3D網(wǎng)格模型的細(xì)節(jié);圖3d)_f)示出具有偽像的常規(guī)量化和去量化的3D網(wǎng)格模型的細(xì)節(jié);圖3g)_i)示出根據(jù)本發(fā)明的改進(jìn)的量化和去量化的3D網(wǎng)格模型的細(xì)節(jié);圖4示出3D網(wǎng)格模型的熵編碼器的框圖;圖5示出3D網(wǎng)格模型的熵解碼器的框圖;以及圖6示出編碼3D網(wǎng)格模型的方法的流程圖。
具體實(shí)施例方式圖1示出了具有相應(yīng)的笛卡爾坐標(biāo)系的3D網(wǎng)格模型的一部分。具有其三個標(biāo)準(zhǔn)正交軸xw,Yw, Zw的全局坐標(biāo)系WCS對于整個模型是有效的。相對于參考三角形i;ef (UVW) 來描述生成三角形(spanning triangle)Tsp(uvr) 0通常以每個參考三角形定義局部坐標(biāo)
系LCS (具有三個標(biāo)準(zhǔn)正交軸X,Y,Z)。TMf和Tsp的公共邊叾,其被稱為“有效門(active
gate) ”,定義局部1軸乂。;的中點(diǎn)0被假定為原點(diǎn)。局部ζ軸Z是參考三角形T,ef的法
線。然后通過計算局部ζ和χ軸的叉乘積來獲得局部1軸Y,并且因此其與XZ平面正交。 需要為每個當(dāng)前前端的頂點(diǎn)(front vertex)(圖1中的r)重新計算局部坐標(biāo)系LCS。由于局部坐標(biāo)值的范圍不是預(yù)定義的,因此局部坐標(biāo)系中的量化是兩通道(two-pass)處理。一個初始通道是必須找到局部坐標(biāo)的范圍。與全局坐標(biāo)系WCS中的量化相比較,局部坐標(biāo)系 LCS中的量化更復(fù)雜并且需要進(jìn)行多得多的計算工作。當(dāng)壓縮3D模型(即,頂點(diǎn)和連接數(shù)據(jù))時,使用量化,這導(dǎo)致量化誤差。量化是有損的過程,這是由于其利用較小的集合來表示大的或者無限的集合值。典型的網(wǎng)格幾何編碼方案以8比特到12比特量化分辨率均勻地量化每個坐標(biāo)。對于具有平滑平面和均勻分布的頂點(diǎn)的模型而言,人類的眼睛難以注意到質(zhì)量損失。然而,這種近似通常不能準(zhǔn)確地再現(xiàn)不與任何坐標(biāo)軸正交的平坦表面,這是由于即使對簡單的幾何體也添加了重要的失真量。例如,如果模型包括大的平坦面積,則量化誤差可能常規(guī)地具有這種效應(yīng)屬于原始的平坦的部分面積的三角形不再是平坦的,即,在去量化之后,它們不形成平坦的表面。已經(jīng)發(fā)現(xiàn)這種問題部分地是由于組件相對于全局坐標(biāo)系WCS的位置導(dǎo)致的。本發(fā)明通過為每個組件定義單獨(dú)的組件坐標(biāo)系CCS來解決該問題。根據(jù)本發(fā)明的一方面,如圖lb)所示,在每個組件相對于其自身的各自組件坐標(biāo)系CCS被編碼時,可以更好地并且更準(zhǔn)確地量化要被分解為組件的3D網(wǎng)格模型。在編碼器中,使用組件坐標(biāo)系來歸一化量化的組件,使得在全局坐標(biāo)系WCS中進(jìn)行量化。這減少了量化誤差。在編碼的3D模型中,包括了定義組件坐標(biāo)系CCS的數(shù)據(jù)。在解碼器中,提取用于定義組件坐標(biāo)系CCS的數(shù)據(jù),在全局坐標(biāo)系WCS中對組件進(jìn)行去量化并且然后使用所提取的組件坐標(biāo)系CCS將其變換回其原始位置。以下更詳細(xì)地解釋編碼和解碼處理。一般地,當(dāng)前組件的頂點(diǎn)位置是IviIi = 0,. . .,η}。假設(shè)當(dāng)前連接的組件具有m個三角形。對于當(dāng)前連接的組件的任何三角形Ti, 將其面積表示為Si并且其三個頂點(diǎn)表示為Vitl,Vil和vi2。當(dāng)前組件的三角形是KiO,il, i2) I i = 0,. . .,m}。當(dāng)前組件的完整的表面面積是S。在一個實(shí)施例中,在編碼期間執(zhí)行以下步驟1.如下計算組件的平均點(diǎn)vm_和協(xié)方差矩陣C。
權(quán)利要求
1.一種用于編碼3D網(wǎng)格模型的方法,其中3D網(wǎng)格模型包括一個或多個組件,所述方法包括以下步驟-對所述一個或多個組件中的每一個確定(52)3D空間中的標(biāo)準(zhǔn)正交基,其中使用基于組件的頂點(diǎn)的首要組件分析并且其中每個頂點(diǎn)屬于一個或多個三角形,并且其中,對于所述首要組件分析,向組件的每一個頂點(diǎn)分配從頂點(diǎn)所屬的三角形的面積確定的權(quán)重; -編碼(56)組件的對象坐標(biāo)系信息;-對所述一個或多個組件中的每一個相對于全局坐標(biāo)系(WCQ的定向進(jìn)行歸一化 (53),其中,對所述一個或多個組件中的每一個使用從所確定的組件的標(biāo)準(zhǔn)正交基中獲得的變換;-量化(54)歸一化的頂點(diǎn)位置;以及 -編碼(55,57)量化的頂點(diǎn)位置。
2.根據(jù)權(quán)利要求1所述的方法,其中確定(5 標(biāo)準(zhǔn)正交基的步驟包括為每一個組件計算組件平均值,其中對于所述計算,頂點(diǎn)的所述權(quán)重是頂點(diǎn)所屬的三角形的面積的總和。
3.根據(jù)權(quán)利要求1或2所述的方法,其中基于生成三角形(ST)對量化的頂點(diǎn)位置進(jìn)行差分地編碼(55,57),其中使用局部坐標(biāo)系(LCS)。
4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其中所述變換是組件坐標(biāo)系(CCQ和全局坐標(biāo)系(WCS)之間的變換,并且其中對象坐標(biāo)系信息定義所述變換。
5.根據(jù)權(quán)利要求1-4中任一項(xiàng)所述的方法,其中對象坐標(biāo)系信息包括組件的協(xié)方差矩陣的兩個特征向量EO,El,但不包括第三特征向量E2。
6.一種用于解碼3D網(wǎng)格模型的方法,所述3D網(wǎng)格模型包括一個或多個組件,所述方法包括以下步驟-解碼(64)量化的頂點(diǎn)位置;-對解碼的頂點(diǎn)位置進(jìn)行去量化(65);-確定屬于所述一個或多個組件中的組件的去量化的頂點(diǎn);-接收(63)與所述組件有關(guān)的對象坐標(biāo)系信息,所述對象坐標(biāo)系信息定義組件坐標(biāo)系 (CCS)和全局坐標(biāo)系(WCS)之間的變換;以及-基于所接收的對象坐標(biāo)系信息,恢復(fù)(66)所述組件相對于全局坐標(biāo)系(WCS)的定向。
7.根據(jù)權(quán)利要求6所述的方法,還包括從多個組件中組裝(67)所述3D網(wǎng)格模型的步驟,其中對于每個組件,接收(63)單獨(dú)的對象坐標(biāo)系信息,并且對于每個組件,單獨(dú)地恢復(fù) (66)定向。
8.根據(jù)權(quán)利要求6或7所述的方法,其中對象坐標(biāo)系信息不包括轉(zhuǎn)換信息,并且其中, 恢復(fù)所述組件的定向的步驟包括以下步驟-使用組件的每個頂點(diǎn)的去量化的浮動位置,計算組件的平均點(diǎn); -對組件進(jìn)行轉(zhuǎn)換,其中所述平均點(diǎn)被轉(zhuǎn)換到坐標(biāo)系的中心; -旋轉(zhuǎn)所述組件,以及-轉(zhuǎn)換旋轉(zhuǎn)的組件,其中所述平均點(diǎn)被轉(zhuǎn)換到其以前的位置。
9 根據(jù)權(quán)利要求6、7或者8所述的方法,其中接收(6 與所述組件有關(guān)的對象坐標(biāo)系信息的步驟包括以下步驟提取協(xié)方差矩陣的兩個特征向量E0、E1,計算第三特征向量E2并且使用特征向量作為對象坐標(biāo)系信息,用于為組件確定3D空間中的標(biāo)準(zhǔn)正交基。
10.一種用于編碼3D網(wǎng)格模型的幾何編碼器,其中3D網(wǎng)格模型包括一個或多個組件, 所述幾何編碼器包括-確定部件(52),對一個或多個組件中的每一個確定3D空間中的標(biāo)準(zhǔn)正交基,其中使用基于組件的頂點(diǎn)的首要組件分析并且其中每個頂點(diǎn)屬于一個或多個三角形,并且其中, 對于所述首要組件分析,向組件的每一個頂點(diǎn)分配從頂點(diǎn)所屬的三角形的面積確定的權(quán)重;-編碼器(56),編碼組件的對象坐標(biāo)系信息;-歸一化部件(53),對一個或多個組件中的每一個相對于全局坐標(biāo)系(WCQ的定向進(jìn)行歸一化,其中,包括變換部件,其對所述一個或多個組件中的每一個執(zhí)行從所確定的組件的標(biāo)準(zhǔn)正交基中獲得的變換;-量化器(54),量化歸一化的頂點(diǎn)位置;以及 -編碼器(55,57),編碼量化的頂點(diǎn)位置。
11.根據(jù)權(quán)利要求10所述的幾何編碼器,使用權(quán)利要求2-5中任一項(xiàng)所公開的方法。
12.一種用于解碼3D網(wǎng)格模型的幾何解碼器,所述3D網(wǎng)格模型包括一個或多個組件, 所述幾何解碼器包括-解碼部件(64),解碼量化的頂點(diǎn)位置; -去量化部件(65),對解碼的頂點(diǎn)位置進(jìn)行去量化; -確定部件,確定屬于所述一個或多個組件中的組件的去量化的頂點(diǎn); -接收部件(63),接收與所述組件有關(guān)的對象坐標(biāo)系信息,所述對象坐標(biāo)系信息定義組件坐標(biāo)系(CCS)和全局坐標(biāo)系(WCS)之間的變換;以及-恢復(fù)部件(66),基于所接收的對象坐標(biāo)系信息,恢復(fù)所述組件相對于全局坐標(biāo)系 (WCS)的定向。
13.一種由至少一個組件組成的編碼的3D網(wǎng)格模型,包括-至少一組編碼的頂點(diǎn)數(shù)據(jù),其中組中的頂點(diǎn)數(shù)據(jù)屬于所述組件;以及 -與所述組件有關(guān)的對象坐標(biāo)系信息,其中對象坐標(biāo)系信息定義組件坐標(biāo)系(CCS)和全局坐標(biāo)系(WCS)之間的變換。
14.根據(jù)權(quán)利要求13所述的編碼的3D網(wǎng)格模型,其中所述對象坐標(biāo)系信息包括組件的所述頂點(diǎn)數(shù)據(jù)的協(xié)方差矩陣的兩個特征向量。
15.根據(jù)權(quán)利要求13或14所述的編碼的3D網(wǎng)格模型,其中所述編碼的頂點(diǎn)數(shù)據(jù)的組具有首標(biāo),并且其中在所述首標(biāo)中存儲所述對象坐標(biāo)系信息。
全文摘要
由三種類型的數(shù)據(jù)連通性數(shù)據(jù)、幾何數(shù)據(jù)以及特性數(shù)據(jù)來表示3D網(wǎng)格模型。3D對象的表面是三角形網(wǎng)格。3D網(wǎng)格包含需要被高效壓縮的海量數(shù)據(jù)。除了用于完整模型的普通的全局坐標(biāo)系(WCS)和用于單個三角形的局部坐標(biāo)系(LCS)之外,使用用于每一個連接的組件的單獨(dú)的組件坐標(biāo)系(CCS)。使用組件坐標(biāo)系(CCS)來歸一化(53)相應(yīng)的組件的定向用于量化和去量化。這改進(jìn)了在量化/去量化之后的編碼的3D網(wǎng)格模型的精確度,尤其在3D網(wǎng)格模型包括一個或多個不同組件的情況下。
文檔編號G06T9/00GK102460513SQ201080025813
公開日2012年5月16日 申請日期2010年6月9日 優(yōu)先權(quán)日2009年6月10日
發(fā)明者滕軍, 蔡康穎, 陳衢清 申請人:湯姆森特許公司