專利名稱:編碼網(wǎng)格模型的方法和裝置、編碼的網(wǎng)格模型、以及解碼網(wǎng)格模型的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于編碼網(wǎng)格模型的方法和裝置、編碼的網(wǎng)格模型以及用于解碼網(wǎng)格模型的方法和裝置。
背景技術(shù):
像建筑設(shè)計、化工廠和機(jī)械CAD (計算機(jī)輔助設(shè)計)設(shè)計的大型3D工程模型被日益在各種虛擬世界應(yīng)用中布置,諸如,Second Life 和Google Earth 。在多數(shù)工程模型中,存在大量的小尺寸到中型尺寸的連接組件,平均每一個組件都具有上至幾百個多邊形。如在[SBM01] (D. Shikhare,S. Bhakar 禾口 S. P. Mudur. “Compression of Large 3D EngineeringModels using Automatic Discovery of Repeating Geometric Features”,2001 年 11 月21-23日,德國斯圖加特)中定義的,如果在網(wǎng)格模型的一個子集中存在任何兩個多邊形之間的路徑,則該網(wǎng)格模型的子集是一連接組件。此外,這種類型的模型具有在各種位置、比例和方位(orientation)上重復(fù)的許多幾何特征。自從90年代早期以來已經(jīng)提出了高效地壓縮3D網(wǎng)格的各種算法。然而早期的工作大多集中在壓縮具有平滑表面和小三角形的單個連接的3D模型。對于諸如大型3D工程模型的多連接的3D模型(包含多個連接組件的3D模型),單獨(dú)地壓縮組件。這造成了相對低效的壓縮。實(shí)際上,通過移除不同連接組件之間的冗余可以大幅增加壓縮性能。[SBM01]提出了一種用于在大型3D工程模型中自動發(fā)現(xiàn)重復(fù)的幾何特征的方法。然而,對于更高效地壓縮3D工程模型還有很大的空間,例如,沒有提供覆蓋對于恢復(fù)原始模型必需的重復(fù)實(shí)例的變換信息的壓縮解決方案??紤]到3D工程模型通常所具有的大尺寸連接組件,這種類型的信息將消耗大量存儲。此外,如果使用組件的頂點(diǎn)位置的PCA (首要組件分析),具有相同幾何和不同連接性的組件將具有相同的平均值和相同的方位軸?,F(xiàn)有技術(shù)不適于以各種比例檢測和/或壓縮重復(fù)的圖案。兩個僅在比例(即,大小)上不同的組件將不能被識別為相同等效類別的重復(fù)特征。此外,期望實(shí)現(xiàn)比[SBM01]中描述的更高的壓縮率。
(0. Devillers 禾口 P. Gandoin, "Geometric compression for interactivetransmission”,IEEE Visualization, 2000, pp. 319-326)公開了一種基于 KD 樹的壓縮算法,用于編碼網(wǎng)格模型的所有連接組件的平均值。該算法在每次迭代時將單元細(xì)分成兩個子單元,并且編碼兩個子單元之一中的頂點(diǎn)的數(shù)目。如果父單元包含P個頂點(diǎn),可以利用算術(shù)編碼器使用lo&(p+l)比特來編碼子單元之一中的頂點(diǎn)的數(shù)目。遞歸地應(yīng)用該細(xì)分,直至每個非空子單元小到僅包含1個頂點(diǎn)并且使得足夠精確重構(gòu)頂點(diǎn)位置成為可能。在
中提及了該算法對于非均勻分布是最高效的,而正規(guī)分布是最壞情況。
發(fā)明內(nèi)容
本發(fā)明基于對以下事實(shí)的認(rèn)識對于多數(shù)大型3D工程模型,連接組件的重復(fù)實(shí)例的實(shí)例位置表明顯著的多空間聚集(aggregation),并且對于這種情況可以改進(jìn)
中描述的算法的效率。即,在大型3D網(wǎng)格模型內(nèi)的重復(fù)實(shí)例通常分布地使得若干實(shí)例在一個或很少的小區(qū)域內(nèi),而在其它相對較大的區(qū)域內(nèi)不存在實(shí)例。如果使用單個KD樹來組織并且壓縮這種類型的點(diǎn)數(shù)據(jù)集(如在
中提出的),KD樹將是不合理地深,這將使得輸出數(shù)據(jù)流比所需的長。本發(fā)明提供了對于這種情況的改進(jìn)。根據(jù)本發(fā)明,使用若干KD樹,每一個用于被空間聚集的點(diǎn)的一個簇。這些KD樹將生成相對短的數(shù)據(jù)流,并且因此改進(jìn)總壓縮率。在一個方面,本發(fā)明提供一種用于編碼網(wǎng)格模型的點(diǎn)的方法。該方法包括以下步驟確定網(wǎng)格模型包括連接組件的重復(fù)實(shí)例,以及為每個重復(fù)實(shí)例確定至少一個參考點(diǎn),將所述重復(fù)實(shí)例的參考點(diǎn)分簇至一個或更多簇,以及使用KD樹編碼來編碼分簇后的參考點(diǎn),其中,為每個簇生成單獨(dú)的KD樹。根據(jù)本發(fā)明的另一方面,一種用于編碼網(wǎng)格模型的點(diǎn)的裝置,包括分析部件,用于確定網(wǎng)格模型包括連接組件的重復(fù)實(shí)例;確定部件,用于為每個重復(fù)實(shí)例確定至少一個參考點(diǎn);分簇部件,用于將所述重復(fù)實(shí)例的參考點(diǎn)分簇至一個或更多簇;以及編碼部件,用于使用KD樹編碼來編碼分簇后的參考點(diǎn),其中,為每個簇生成單獨(dú)的KD樹。根據(jù)本發(fā)明的另外一個方面,一種用于對編碼的網(wǎng)格模型的點(diǎn)解碼的方法,包括以下步驟提取重復(fù)的連接組件的實(shí)例的數(shù)據(jù);使用所提取的數(shù)據(jù)解碼連接組件的實(shí)例;提取定義多個簇的第一數(shù)據(jù)、定義空間分辨率的第二數(shù)據(jù)以及作為所述重復(fù)的連接組件的多個重復(fù)的位置的第三數(shù)據(jù),其中,所述第三數(shù)據(jù)被編碼為KD樹;提取定義所述網(wǎng)格模型內(nèi)的一部分的第四數(shù)據(jù);以及根據(jù)所述第三數(shù)據(jù)和第四數(shù)據(jù)確定所述重復(fù)的連接組件的多個重復(fù)的位置,其中,將第三數(shù)據(jù)應(yīng)用于由第四數(shù)據(jù)定義的網(wǎng)格模型的所述部分。根據(jù)本發(fā)明的又一方面,一種用于對編碼的網(wǎng)格模型的點(diǎn)解碼的裝置,包括第一提取部件,用于從所述編碼的網(wǎng)格模型中提取重復(fù)的連接組件的實(shí)例的數(shù)據(jù);解碼部件,用于使用所提取的數(shù)據(jù)解碼連接組件的實(shí)例;第二提取部件,用于提取定義多個簇的第一數(shù)據(jù)、定義空間分辨率的第二數(shù)據(jù)以及作為所述重復(fù)的連接組件的多個重復(fù)的位置的第三數(shù)據(jù),其中,所述第三數(shù)據(jù)被編碼為KD樹;以及第三提取部件,用于提取定義所述網(wǎng)格模型內(nèi)的一部分的第四數(shù)據(jù);以及確定部件,用于根據(jù)所述第三數(shù)據(jù)和第四數(shù)據(jù)確定所述重復(fù)的連接組件的多個重復(fù)的位置,其中,將第三數(shù)據(jù)應(yīng)用于由第四數(shù)據(jù)定義的網(wǎng)格模型的所述部分。根據(jù)本發(fā)明的一個方面,一種編碼的網(wǎng)格模型,包括多個重復(fù)連接組件,其中所述編碼的網(wǎng)格模型包括至少以下內(nèi)容的編碼數(shù)據(jù)每個重復(fù)的連接組件的一個示例,所述重復(fù)的連接組件的多個重復(fù)的位置,所述位置被編碼為KD樹,以及所述網(wǎng)格模型內(nèi)的邊界區(qū)域,其中,所述KD樹參照所述區(qū)域。在從屬權(quán)利要求、以下描述和附圖中公開了本發(fā)明的有利實(shí)施例。
參照附圖描述本發(fā)明的示例性實(shí)施例,以下附圖中示出了 圖1,2D示例中的KD樹編碼的原理;圖2a),重復(fù)連接組件的多實(shí)例的位置;
圖2b),對重復(fù)連接組件的多實(shí)例的位置的傳統(tǒng)KD樹編碼的結(jié)果;圖3,分簇(cluster)后的簇的位置;圖4,基于簇的編碼的網(wǎng)格模型的數(shù)據(jù)結(jié)構(gòu);圖5,由5574個連接組件組成的會議室的示例性3D網(wǎng)格模型的2D表示;圖6,編碼方法和解碼方法的示例性流程圖;以及圖7分簇方法的示例性流程圖。
具體實(shí)施例方式圖1示例性地示出了 2D情況的傳統(tǒng)KD樹編碼的原理。通過被稱作父單元的邊界框10包圍2D模型。7個頂點(diǎn)位于父單元中。KD樹編碼算法開始于使用預(yù)定數(shù)目的比特編碼頂點(diǎn)的總數(shù),并且然后遞歸地細(xì)分單元。每次其將父單元細(xì)分成兩個子單元,編碼兩個子單元之一中的頂點(diǎn)的數(shù)目。按照慣例,這可以是左側(cè)子單元(在垂直分割后)或上單元(在水平分割后)。如果父單元包含P個頂點(diǎn),可以以算術(shù)編碼器使用lo&(p+l)比特來編碼子單元之一中的頂點(diǎn)的數(shù)目。遞歸地應(yīng)用這個細(xì)分,直至每個非空子單元小到僅包含1個頂點(diǎn)并且使得足夠精確重構(gòu)頂點(diǎn)位置成為可能。為了壓縮所有重復(fù)實(shí)例的位置,最初將所有位置的整個邊界框10視作父單元。在圖1的示例中,使用32比特編碼頂點(diǎn)的總數(shù)(7個)。然后應(yīng)用垂直分割,使得獲得左側(cè)子單元Vl和右側(cè)子單元V2。在下一編碼步驟中,編碼左側(cè)子單元Vl的頂點(diǎn)數(shù)0個)。通過父單元內(nèi)的頂點(diǎn)的數(shù)目確定用于編碼的比特數(shù)其是Iog2(7+1) =3比特。根據(jù)父單元中的頂點(diǎn)數(shù)和左側(cè)子單元Vl中的頂點(diǎn)數(shù),可以推算出右側(cè)子單元內(nèi)的頂點(diǎn)數(shù),并且因此不需要編碼。在下一步驟中,應(yīng)用水平分割?,F(xiàn)在作為父單元Vl的左側(cè)子單元Vl被分割成上側(cè)子單元VlHl和下側(cè)子單元V1H2?,F(xiàn)在作為父單元V2的右側(cè)子單元V2被分割成上側(cè)子單元V2H1和下側(cè)子單元V2H2。編碼在具有兩個頂點(diǎn)的左上側(cè)子單元VlHl繼續(xù)。因此,接下來編碼數(shù)目2,其中在算術(shù)編碼器中使用1呢20+1) = 2.3比特。如以上描述的,在左下側(cè)子單元V1H2中的頂點(diǎn)數(shù)不必編碼,這是因?yàn)槠淇梢愿鶕?jù)左側(cè)單元Vl和左上側(cè)子單元VlHl中的頂點(diǎn)數(shù)推算。然后,將相同的例程應(yīng)用于右側(cè)單元V2,這造成使用2比特編碼零。如圖1所示,還需要兩個分割步驟,直至每個頂點(diǎn)在單獨(dú)的單元內(nèi),并且甚至更多的步驟是必需的,直至每個頂點(diǎn)足以位于其單元內(nèi)。每個步驟都需要編碼增加數(shù)目的1和0,取決于所需精度,附加步驟的數(shù)目可能高。以上提及的現(xiàn)有技術(shù)文獻(xiàn)
暗示單個KD樹提供優(yōu)化的壓縮。但是,已經(jīng)發(fā)現(xiàn),在空間聚集的點(diǎn)的情況下存在額外冗余,本發(fā)明可以減少該額外冗余。點(diǎn)的空間聚集意味著對于多個后續(xù)分割操作,總有一個子單元是空的。因此,如果點(diǎn)是空間聚集的,任何等級(k+Ι)將消耗與其父等級k相同數(shù)目的比特。原理上,KD樹的傳統(tǒng)使用通過將KD樹的每個等級變窄來改善壓縮率。本發(fā)明通過使用多個KD樹并且使每個KD數(shù)具有更少的等級來改善壓縮率。本發(fā)明應(yīng)用KD樹編碼算法不僅用于編碼頂點(diǎn)位置,而且用于編碼重復(fù)連接組件的位置。圖2a)示出了多個重復(fù)連接組件21- 位于3D網(wǎng)格模型的邊界框20內(nèi)的示例。如同在許多大型3D網(wǎng)格模型中,位置在邊界框內(nèi)非常不均勻地分布。如果僅僅將KD樹編碼算法應(yīng)用于對位置進(jìn)行編碼,在圖2b)中示出了示例性結(jié)果??梢钥闯?,在定位簇之前需要5個初始分割步驟。即,在圖2的示例中,編碼將如下12 (總數(shù))-6 (左側(cè)子單元第一生成)-6-3 (上側(cè)子單元第二生成)-2-3-0 (左側(cè)子單元,第三生成)-2-0-0-0 (上側(cè)子單元, 第四生成)-2-4-0-3 (左側(cè)子單元,第五生成)-2-0-3-0 (上側(cè)子單元,第六生成),結(jié)果是1 2-6-6-3-2-3-0-2-0-0-0-2-4-0-3-2-0-3-0。以上描述了比特數(shù)目的分配。對于更精確的位置可能需要其它數(shù)據(jù)。因此,代碼包含先前值或者零的許多重復(fù)。對于本發(fā)明,例程和結(jié)果代碼二者實(shí)質(zhì)上是簡略的。根據(jù)本發(fā)明的一個方面,將點(diǎn)分簇,即,創(chuàng)建簇并且如果可能將點(diǎn)分配到簇??梢砸匀鐖D3所示的方式有利地將圖2中所示的點(diǎn)分簇。在這個示例中,在邊界框30內(nèi)有4個簇31-34。一般地,分簇包括選擇尚未被分簇的并且包括一個或更多點(diǎn)的第一單元,以及定義包括第一單元或第一單元內(nèi)的一個或更多點(diǎn)的簇。在一個實(shí)施例中,如圖6a)所示,一種用于編碼網(wǎng)格模型的點(diǎn)的方法包括以下步驟確定El網(wǎng)格模型包括連接組件的重復(fù)實(shí)例,以及為每個重復(fù)實(shí)例確定E2至少一個參考點(diǎn),將重復(fù)實(shí)例的參考點(diǎn)分簇E3到一個或更多的簇中,以及使用KD樹編碼來編碼E4分簇后的參考點(diǎn),其中,為每個簇生成單獨(dú)的KD樹。在一個實(shí)施例中,分簇包括以下步驟定義圍繞網(wǎng)格模型的邊界框;將邊界框劃分成單元,其中,單元是最小的空間分辨率單位;選擇尚未被分簇的并且包括重復(fù)實(shí)例的一個或更多參考點(diǎn)的第一單元;以及定義包括所述第一單元或所述第一單元內(nèi)的一個或更多參考點(diǎn)的簇。一般地,第一單元是創(chuàng)建新簇的候選項(xiàng)。在一個實(shí)施例中,一個單元足以創(chuàng)建一簇。在另一實(shí)施例中,需要其中每個包括一個或更多點(diǎn)的至少2個相鄰單元,用于創(chuàng)建簇。在另一個實(shí)施例中,需要任何數(shù)目的相鄰單元內(nèi)的預(yù)定最小數(shù)目的點(diǎn),用于創(chuàng)建簇。在一個實(shí)施例中,僅僅選擇第一單元,如果其尚未被分簇并且其包括至少M(fèi)個點(diǎn) (例如,M個重復(fù)實(shí)例的參考點(diǎn))。在一個實(shí)施例中,M是用戶可定義的參數(shù)。對應(yīng)的編碼方法包括以下步驟定義參數(shù)M,其中M是單元內(nèi)的點(diǎn)的最小數(shù)目,以便選擇該單元作為用于創(chuàng)建新簇的源。在一個實(shí)施例中,分簇還可包括以下步驟確定一個或更多其它單元,其中其它單元是選擇的第一單元的鄰近單元或者遞歸的鄰近單元(即,鄰域的鄰域等),并且其中每個確定的其它單元包括重復(fù)實(shí)例的至少一個參考點(diǎn),以及將確定的一個或者多個鄰近單元添加到所述簇。在一個實(shí)施例中,分簇還包括以下步驟以每個單元中參考點(diǎn)的數(shù)目的升序或降序排列所有單元,并且根據(jù)所述順序選擇第一單元(用于創(chuàng)建新簇的候選項(xiàng))。對于許多大型3D工程模型(諸如圖5中所示的示例性會議室),實(shí)例位置顯著示出了多空間聚集。如果使用一個單個KD樹來組織和壓縮這種類型的點(diǎn)數(shù)據(jù)集,KD數(shù)將深得不合理。另一方面,如果使用若干KD樹,每個用于空間聚集的點(diǎn)的一個簇,KD樹將生成相對較短的數(shù)據(jù)流并且因此改善總壓縮率。例如,在如圖5所示的由5574個連接組件組成的會議室的3D模型中,多個重復(fù)連接組件是椅子RCCl、地毯RCC2的重復(fù)紋理元素或大型吊燈的重復(fù)結(jié)構(gòu)元素RCC3。為了使大型3D工程模型的緊湊存儲和快速傳輸成為可能,本發(fā)明提供了對于編碼所有重復(fù)實(shí)例的位置尤其有利的高效壓縮策略。在一個方面,本發(fā)明提供一種對離散點(diǎn)、尤其對顯著示出多空間聚集的那些點(diǎn)的高效壓縮方法。大型3D工程模型中的重復(fù)實(shí)例的位置通常具有這種特征。
本發(fā)明提供一種基于分簇的KD樹的壓縮算法,用于高效壓縮具有顯著多空間聚集的離散點(diǎn)數(shù)據(jù)集。根據(jù)輸入點(diǎn)的空間位置首先將它們分簇。每個簇包含被空間分簇的一組點(diǎn)。然后通過由一個KD樹組織屬于每個簇的所有點(diǎn)來壓縮每個簇。以下將描述用于編碼的示例性分簇方法。SC_Point表示所有的點(diǎn)的簇。開始, C_Point是空的。步驟1 將要壓縮的所有點(diǎn)的整個邊界框細(xì)分成N*N*N個單元。步驟2 根據(jù)落入每個單元的點(diǎn)的數(shù)目以升序?qū)⑺袉卧帕谐申犃蠶_Cell。步驟3 如果(Q_Cell不是空的)WQ_Cell中彈出單元P。跳過空單元。去步驟4。否則去步驟6。步驟4 如果(P不屬于C_Point中的任何簇)生成新的簇C,僅包括P,并且將C添加到C_Point。去步驟5。否則去步驟3。步驟5 檢驗(yàn)C中的所有單元的所有鄰近單元。設(shè)Pl表示C中的任何單元的任何鄰近單元。如果((落入Pl的點(diǎn)的數(shù)目> B)&& (Pl不屬于C_Point中的任何簇))將Pl添加到C。(B是用戶指定的閾值。)在完成所有鄰近單元的檢驗(yàn)后,去步驟3。步驟6 獨(dú)立地壓縮落入屬于C_Point中的相同簇的單元中的點(diǎn)。通過使用單獨(dú) KD樹組織對應(yīng)的點(diǎn),并且基于例如
將它們壓縮來壓縮每個簇。用戶定義的參數(shù)B指定一個單元中必須有多少個點(diǎn)以便將其作為鄰域添加到簇。 雖然在一個實(shí)施例中B = 1,但是其他實(shí)施例可能要求更高值的B。圖7中示出了分簇方法的流程圖。表1示出了可以作為結(jié)果的比特流的語法。ae(v)意思是算術(shù)編碼,有點(diǎn)類似于 H. 264/AVC中的算術(shù)編碼。
權(quán)利要求
1.一種用于編碼網(wǎng)格模型的點(diǎn)的方法,包括以下步驟-確定(El)該網(wǎng)格模型包括連接組件的重復(fù)實(shí)例,以及為每個重復(fù)實(shí)例確定至少一個參考點(diǎn);-將所述重復(fù)實(shí)例的參考點(diǎn)分簇至一個或多個簇;以及 -使用KD樹編碼來編碼分簇后的參考點(diǎn),其中,為每個簇生成單獨(dú)的KD樹。
2.如權(quán)利要求1所述的方法,其中,分簇包括以下步驟 -圍繞網(wǎng)格模型定義邊界框;-將邊界框劃分成單元,其中,單元是最小的空間分辨率單位; -選擇尚未被分簇的并且包括重復(fù)實(shí)例的一個或多個參考點(diǎn)的第一單元;以及 -定義包括所述第一單元或所述第一單元內(nèi)的一個或多個參考點(diǎn)的簇。
3.如權(quán)利要求2所述的方法,其中,如果第一單元尚未被分簇并且其包括至少M(fèi)個重復(fù)實(shí)例的M個參考點(diǎn),則僅僅選擇第一單元,其中,M是用戶可定義的參數(shù)。
4.如權(quán)利要求2或3所述的方法,還包括以下步驟-確定一個或多個其它單元,其中所述其它單元是所選擇的第一單元的鄰近單元或者遞歸的鄰近單元,并且其中每個確定的其它單元包括重復(fù)實(shí)例的至少一個參考點(diǎn),以及 -將所確定的一個或多個鄰近單元添加到所述簇。
5.如權(quán)利要求2-4中的一項(xiàng)所述的方法,其中,分簇還包括以下步驟以每個單元中參考點(diǎn)的數(shù)目的升序或降序排列所有單元,并且其中根據(jù)所述順序選擇第一單元。
6.如權(quán)利要求1-5中的任一項(xiàng)所述的方法,其中,分簇包括以下步驟確定當(dāng)前簇的邊界單元,所述邊界單元是具有每個維度的最小索引和最大索引的單元。
7.如權(quán)利要求1-6中的任一項(xiàng)所述的方法,還包括以下步驟定義空間分辨率(N),其中,根據(jù)所定義的空間分辨率,單元是最小的空間分辨率單位。
8.如權(quán)利要求1-7中的任一項(xiàng)所述的方法,還包括以下步驟-確定重復(fù)實(shí)例的參考點(diǎn)的空間均一性的量度,其中,如果參考點(diǎn)均勻地分布則空間均一性的量度高,而如果分布更加不均勻則空間均一性的量度低; -將空間均一性與閾值比較;以及 -僅當(dāng)空間均一性低于閾值時執(zhí)行分簇。
9.如權(quán)利要求8所述的方法,還包括以下步驟-如果所述空間均一性低于所述閾值,則修改所述空間分辨率;以及 -重復(fù)確定空間均一性的量度的步驟。
10.一種用于編碼網(wǎng)格模型的點(diǎn)的裝置,包括-用于確定網(wǎng)格模型包括連接組件的重復(fù)實(shí)例的部件,以及用于為每個重復(fù)實(shí)例確定至少一個參考點(diǎn)的部件;-用于將所述重復(fù)實(shí)例的參考點(diǎn)分簇至一個或多個簇的部件;以及-用于使用KD樹編碼來編碼分簇后的參考點(diǎn)的部件,其中,為每個簇生成單獨(dú)的KD樹。
11.如權(quán)利要求10所述的裝置,其中,用于分簇的部件包括 -用于圍繞網(wǎng)格模型定義邊界框的部件;-用于將邊界框劃分成單元的部件,其中,單元是最小的空間分辨率單位; -用于選擇尚未被分簇的并且包括重復(fù)實(shí)例的一個或多個參考點(diǎn)的第一單元的部件;以及-用于定義包括所述第一單元或所述第一單元內(nèi)的一個或多個參考點(diǎn)的簇的部件。
12.如權(quán)利要求10所述的裝置,還包括-用于確定一個或多個其它單元的部件,其中所述其它單元是所選擇的第一單元的鄰近單元或者遞歸的鄰近單元,并且其中每個確定的其它單元包括重復(fù)實(shí)例的至少一個參考點(diǎn),以及-用于將所確定的一個或多個鄰近單元添加到所述簇的部件。
13.如權(quán)利要求10-12中的一項(xiàng)所述的裝置,其中,用于分簇的部件還包括用于以每個單元中參考點(diǎn)的數(shù)目的升序或降序排列所有單元的部件,并且其中根據(jù)所述順序選擇第一單元。
14.如權(quán)利要求10-13中的任一項(xiàng)所述的裝置,其中,用于分簇的部件包括用于確定當(dāng)前簇的邊界單元的部件,所述邊界單元是具有每個維度的最小索引和最大索引的單元。
15.如權(quán)利要求10-14中的任一項(xiàng)所述的裝置,還包括用于定義空間分辨率(N)的部件,其中,根據(jù)所定義的空間分辨率,單元是最小的空間分辨率單位。
16.如權(quán)利要求10-15中的任一項(xiàng)所述的裝置,還包括-用于確定重復(fù)實(shí)例的參考點(diǎn)的空間均一性的量度的部件,其中,如果參考點(diǎn)均勻地分布則空間均一性的量度高,而如果分布更加不均勻則空間均一性的量度低;-用于將空間均一性與閾值比較的部件;以及-用于僅在空間均一性低于閾值時執(zhí)行分簇的部件。
17.—種包括多個重復(fù)連接組件的編碼的網(wǎng)格模型,其中,所述編碼的網(wǎng)格包括至少以下內(nèi)容的編碼數(shù)據(jù)-每個重復(fù)連接組件的一個實(shí)例;-所述重復(fù)連接組件的多個重復(fù)的位置,所述位置被編碼為KD樹;以及-網(wǎng)格模型內(nèi)的邊界區(qū)域,其中KD樹指代所述區(qū)域。
18.如權(quán)利要求17所述的編碼的網(wǎng)格模型,其中邊界區(qū)域的數(shù)據(jù)包括邊界單元的索引。
19.一種用于對編碼的網(wǎng)格模型的點(diǎn)進(jìn)行解碼的方法,包括以下步驟-提取重復(fù)連接組件的實(shí)例的數(shù)據(jù);-使用所提取的數(shù)據(jù)解碼所述連接組件的實(shí)例;-提取定義多個簇的第一數(shù)據(jù)(Num_0f_ciusters),定義空間分辨率的第二數(shù)據(jù)(N)以及作為所述重復(fù)連接組件的多個重復(fù)的位置的第三數(shù)據(jù)(KD-T),所述第三數(shù)據(jù)(KD-T)被編碼為KD樹;-提取定義所述網(wǎng)格模型內(nèi)的一部分的第四數(shù)據(jù)andex_B0imdary_ClUSter);-根據(jù)所述第三數(shù)據(jù)(KD-T)和所述第四數(shù)據(jù)確定所述重復(fù)連接組件的多個重復(fù)的位置,其中,將所述第三數(shù)據(jù)(KD-T)應(yīng)用于由所述第四數(shù)據(jù)定義的網(wǎng)格模型的所述部分。
20.如之前權(quán)利要求所述的方法,其中,第四數(shù)據(jù)andex_B0undary_CluSter)包括所述網(wǎng)格模型內(nèi)的兩個單元的索引,根據(jù)由所述第二數(shù)據(jù)(N)定義的空間分辨率,單元是最小的空間分辨率單位。
全文摘要
對于多數(shù)大型3D模型,連接組件的重復(fù)實(shí)例的實(shí)例位置示出顯著的多空間聚集。本發(fā)明使用每一個用于被空間聚集的點(diǎn)的一個簇的若干KD樹。多個KD樹生成相對短的數(shù)據(jù)流,并且因此改進(jìn)總壓縮率。一種用于編碼網(wǎng)格模型的點(diǎn)的方法,包括以下步驟確定網(wǎng)格模型包括連接組件的重復(fù)實(shí)例,以及為每個重復(fù)實(shí)例確定至少一個參考點(diǎn),將所述重復(fù)實(shí)例的參考點(diǎn)分簇至一個或更多簇,以及使用KD樹編碼來編碼分簇后的參考點(diǎn),其中,為每個簇生成單獨(dú)的KD樹。
文檔編號H04W4/00GK102577442SQ200980161975
公開日2012年7月11日 申請日期2009年10月15日 優(yōu)先權(quán)日2009年10月15日
發(fā)明者蔡康穎, 陳志波, 靳宇 申請人:湯姆森特許公司