CN102577442A - 编码网格模型的方法和装置、编码的网格模型、以及解码网格模型的方法和装置 - Google Patents
编码网格模型的方法和装置、编码的网格模型、以及解码网格模型的方法和装置 Download PDFInfo
- Publication number
- CN102577442A CN102577442A CN200980161975XA CN200980161975A CN102577442A CN 102577442 A CN102577442 A CN 102577442A CN 200980161975X A CN200980161975X A CN 200980161975XA CN 200980161975 A CN200980161975 A CN 200980161975A CN 102577442 A CN102577442 A CN 102577442A
- Authority
- CN
- China
- Prior art keywords
- unit
- clustering
- instance
- sub
- parts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/18—Network planning tools
- H04W16/20—Network planning tools for indoor coverage or short range network deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/40—Tree coding, e.g. quadtree, octree
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
Abstract
对于多数大型3D模型,连接组件的重复实例的实例位置示出显著的多空间聚集。本发明使用每一个用于被空间聚集的点的一个簇的若干KD树。多个KD树生成相对短的数据流,并且因此改进总压缩率。一种用于编码网格模型的点的方法,包括以下步骤:确定网格模型包括连接组件的重复实例,以及为每个重复实例确定至少一个参考点,将所述重复实例的参考点分簇至一个或更多簇,以及使用KD树编码来编码分簇后的参考点,其中,为每个簇生成单独的KD树。
Description
技术领域
本发明涉及一种用于编码网格模型的方法和装置、编码的网格模型以及用于解码网格模型的方法和装置。
背景技术
像建筑设计、化工厂和机械CAD(计算机辅助设计)设计的大型3D工程模型被日益在各种虚拟世界应用中布置,诸如,Second LifeTM和GoogleEarthTM。在多数工程模型中,存在大量的小尺寸到中型尺寸的连接组件,平均每一个组件都具有上至几百个多边形。如在[SBM01](D.Shikhare,S.Bhakar和S.P.Mudur.“Compression of Large 3D Engineering Models usingAutomatic Discovery of Repeating Geometric Features”,2001年11月21-23日,德国斯图加特)中定义的,如果在网格模型的一个子集中存在任何两个多边形之间的路径,则该网格模型的子集是一连接组件。此外,这种类型的模型具有在各种位置、比例和方位(orientation)上重复的许多几何特征。
自从90年代早期以来已经提出了高效地压缩3D网格的各种算法。然而早期的工作大多集中在压缩具有平滑表面和小三角形的单个连接的3D模型。对于诸如大型3D工程模型的多连接的3D模型(包含多个连接组件的3D模型),单独地压缩组件。这造成了相对低效的压缩。实际上,通过移除不同连接组件之间的冗余可以大幅增加压缩性能。
[SBM01]提出了一种用于在大型3D工程模型中自动发现重复的几何特征的方法。然而,对于更高效地压缩3D工程模型还有很大的空间,例如,没有提供覆盖对于恢复原始模型必需的重复实例的变换信息的压缩解决方案。考虑到3D工程模型通常所具有的大尺寸连接组件,这种类型的信息将消耗大量存储。此外,如果使用组件的顶点位置的PCA(首要组件分析),具有相同几何和不同连接性的组件将具有相同的平均值和相同的方位轴。现有技术不适于以各种比例检测和/或压缩重复的图案。两个仅在比例(即,大小)上不同的组件将不能被识别为相同等效类别的重复特征。此外,期望实现比[SBM01]中描述的更高的压缩率。
[OG00](O.Devillers和P.Gandoin,“Geometric compression for interactivetransmission”,IEEE Visualization,2000,pp.319-326)公开了一种基于KD树的压缩算法,用于编码网格模型的所有连接组件的平均值。该算法在每次迭代时将单元细分成两个子单元,并且编码两个子单元之一中的顶点的数目。如果父单元包含p个顶点,可以利用算术编码器使用log2(p+1)比特来编码子单元之一中的顶点的数目。递归地应用该细分,直至每个非空子单元小到仅包含1个顶点并且使得足够精确重构顶点位置成为可能。在[OG00]中提及了该算法对于非均匀分布是最高效的,而正规分布是最坏情况。
发明内容
本发明基于对以下事实的认识:对于多数大型3D工程模型,连接组件的重复实例的实例位置表明显著的多空间聚集(aggregation),并且对于这种情况可以改进[OG00]中描述的算法的效率。即,在大型3D网格模型内的重复实例通常分布地使得若干实例在一个或很少的小区域内,而在其它相对较大的区域内不存在实例。如果使用单个KD树来组织并且压缩这种类型的点数据集(如在[OG00]中提出的),KD树将是不合理地深,这将使得输出数据流比所需的长。
本发明提供了对于这种情况的改进。根据本发明,使用若干KD树,每一个用于被空间聚集的点的一个簇。这些KD树将生成相对短的数据流,并且因此改进总压缩率。
在一个方面,本发明提供一种用于编码网格模型的点的方法。该方法包括以下步骤:确定网格模型包括连接组件的重复实例,以及为每个重复实例确定至少一个参考点,将所述重复实例的参考点分簇至一个或更多簇,以及使用KD树编码来编码分簇后的参考点,其中,为每个簇生成单独的KD树。
根据本发明的另一方面,一种用于编码网格模型的点的装置,包括:分析部件,用于确定网格模型包括连接组件的重复实例;确定部件,用于为每个重复实例确定至少一个参考点;分簇部件,用于将所述重复实例的参考点分簇至一个或更多簇;以及编码部件,用于使用KD树编码来编码分簇后的参考点,其中,为每个簇生成单独的KD树。
根据本发明的另外一个方面,一种用于对编码的网格模型的点解码的方法,包括以下步骤:提取重复的连接组件的实例的数据;使用所提取的数据解码连接组件的实例;提取定义多个簇的第一数据、定义空间分辨率的第二数据以及作为所述重复的连接组件的多个重复的位置的第三数据,其中,所述第三数据被编码为KD树;提取定义所述网格模型内的一部分的第四数据;以及根据所述第三数据和第四数据确定所述重复的连接组件的多个重复的位置,其中,将第三数据应用于由第四数据定义的网格模型的所述部分。
根据本发明的又一方面,一种用于对编码的网格模型的点解码的装置,包括:第一提取部件,用于从所述编码的网格模型中提取重复的连接组件的实例的数据;解码部件,用于使用所提取的数据解码连接组件的实例;第二提取部件,用于提取定义多个簇的第一数据、定义空间分辨率的第二数据以及作为所述重复的连接组件的多个重复的位置的第三数据,其中,所述第三数据被编码为KD树;以及第三提取部件,用于提取定义所述网格模型内的一部分的第四数据;以及确定部件,用于根据所述第三数据和第四数据确定所述重复的连接组件的多个重复的位置,其中,将第三数据应用于由第四数据定义的网格模型的所述部分。
根据本发明的一个方面,一种编码的网格模型,包括:多个重复连接组件,其中所述编码的网格模型包括至少以下内容的编码数据:每个重复的连接组件的一个示例,所述重复的连接组件的多个重复的位置,所述位置被编码为KD树,以及所述网格模型内的边界区域,其中,所述KD树参照所述区域。
在从属权利要求、以下描述和附图中公开了本发明的有利实施例。
附图说明
参照附图描述本发明的示例性实施例,以下附图中示出了:
图1,2D示例中的KD树编码的原理;
图2a),重复连接组件的多实例的位置;
图2b),对重复连接组件的多实例的位置的传统KD树编码的结果;
图3,分簇(cluster)后的簇的位置;
图4,基于簇的编码的网格模型的数据结构;
图5,由5574个连接组件组成的会议室的示例性3D网格模型的2D表示;
图6,编码方法和解码方法的示例性流程图;以及
图7分簇方法的示例性流程图。
具体实施方式
图1示例性地示出了2D情况的传统KD树编码的原理。通过被称作父单元的边界框10包围2D模型。7个顶点位于父单元中。KD树编码算法开始于使用预定数目的比特编码顶点的总数,并且然后递归地细分单元。每次其将父单元细分成两个子单元,编码两个子单元之一中的顶点的数目。按照惯例,这可以是左侧子单元(在垂直分割后)或上单元(在水平分割后)。如果父单元包含p个顶点,可以以算术编码器使用log2(p+1)比特来编码子单元之一中的顶点的数目。递归地应用这个细分,直至每个非空子单元小到仅包含1个顶点并且使得足够精确重构顶点位置成为可能。为了压缩所有重复实例的位置,最初将所有位置的整个边界框10视作父单元。在图1的示例中,使用32比特编码顶点的总数(7个)。然后应用垂直分割,使得获得左侧子单元V1和右侧子单元V2。在下一编码步骤中,编码左侧子单元V1的顶点数(4个)。通过父单元内的顶点的数目确定用于编码的比特数:其是log2(7+1)=3比特。根据父单元中的顶点数和左侧子单元V1中的顶点数,可以推算出右侧子单元内的顶点数,并且因此不需要编码。
在下一步骤中,应用水平分割。现在作为父单元V1的左侧子单元V1被分割成上侧子单元V1H1和下侧子单元V1H2。现在作为父单元V2的右侧子单元V2被分割成上侧子单元V2H1和下侧子单元V2H2。编码在具有两个顶点的左上侧子单元V1H1继续。因此,接下来编码数目2,其中在算术编码器中使用log2(4+1)=2.3比特。如以上描述的,在左下侧子单元V1H2中的顶点数不必编码,这是因为其可以根据左侧单元V1和左上侧子单元V1H1中的顶点数推算。然后,将相同的例程应用于右侧单元V2,这造成使用2比特编码零。如图1所示,还需要两个分割步骤,直至每个顶点在单独的单元内,并且甚至更多的步骤是必需的,直至每个顶点足以位于其单元内。每个步骤都需要编码增加数目的1和0,取决于所需精度,附加步骤的数目可能高。
以上提及的现有技术文献[OG00]暗示单个KD树提供优化的压缩。但是,已经发现,在空间聚集的点的情况下存在额外冗余,本发明可以减少该额外冗余。点的空间聚集意味着对于多个后续分割操作,总有一个子单元是空的。因此,如果点是空间聚集的,任何等级(k+1)将消耗与其父等级k相同数目的比特。原理上,KD树的传统使用通过将KD树的每个等级变窄来改善压缩率。本发明通过使用多个KD树并且使每个KD数具有更少的等级来改善压缩率。
本发明应用KD树编码算法不仅用于编码顶点位置,而且用于编码重复连接组件的位置。图2a)示出了多个重复连接组件21-24位于3D网格模型的边界框20内的示例。如同在许多大型3D网格模型中,位置在边界框内非常不均匀地分布。如果仅仅将KD树编码算法应用于对位置进行编码,在图2b)中示出了示例性结果。可以看出,在定位簇之前需要5个初始分割步骤。即,在图2的示例中,编码将如下:12(总数)-6(左侧子单元第一生成)-6-3(上侧子单元第二生成)-2-3-0(左侧子单元,第三生成)-2-0-0-0(上侧子单元,第四生成)-2-4-0-3(左侧子单元,第五生成)-2-0-3-0(上侧子单元,第六生成),结果是12-6-6-3-2-3-0-2-0-0-0-2-4-0-3-2-0-3-0。以上描述了比特数目的分配。对于更精确的位置可能需要其它数据。因此,代码包含先前值或者零的许多重复。
对于本发明,例程和结果代码二者实质上是简略的。根据本发明的一个方面,将点分簇,即,创建簇并且如果可能将点分配到簇。可以以如图3所示的方式有利地将图2中所示的点分簇。在这个示例中,在边界框30内有4个簇31-34。一般地,分簇包括:选择尚未被分簇的并且包括一个或更多点的第一单元,以及定义包括第一单元或第一单元内的一个或更多点的簇。
在一个实施例中,如图6a)所示,一种用于编码网格模型的点的方法包括以下步骤:确定E1网格模型包括连接组件的重复实例,以及为每个重复实例确定E2至少一个参考点,将重复实例的参考点分簇E3到一个或更多的簇中,以及使用KD树编码来编码E4分簇后的参考点,其中,为每个簇生成单独的KD树。
在一个实施例中,分簇包括以下步骤:定义围绕网格模型的边界框;将边界框划分成单元,其中,单元是最小的空间分辨率单位;选择尚未被分簇的并且包括重复实例的一个或更多参考点的第一单元;以及定义包括所述第一单元或所述第一单元内的一个或更多参考点的簇。一般地,第一单元是创建新簇的候选项。在一个实施例中,一个单元足以创建一簇。在另一实施例中,需要其中每个包括一个或更多点的至少2个相邻单元,用于创建簇。在另一个实施例中,需要任何数目的相邻单元内的预定最小数目的点,用于创建簇。
在一个实施例中,仅仅选择第一单元,如果其尚未被分簇并且其包括至少M个点(例如,M个重复实例的参考点)。在一个实施例中,M是用户可定义的参数。对应的编码方法包括以下步骤:定义参数M,其中M是单元内的点的最小数目,以便选择该单元作为用于创建新簇的源。
在一个实施例中,分簇还可包括以下步骤:确定一个或更多其它单元,其中其它单元是选择的第一单元的邻近单元或者递归的邻近单元(即,邻域的邻域等),并且其中每个确定的其它单元包括重复实例的至少一个参考点,以及将确定的一个或者多个邻近单元添加到所述簇。
在一个实施例中,分簇还包括以下步骤:以每个单元中参考点的数目的升序或降序排列所有单元,并且根据所述顺序选择第一单元(用于创建新簇的候选项)。
对于许多大型3D工程模型(诸如图5中所示的示例性会议室),实例位置显著示出了多空间聚集。如果使用一个单个KD树来组织和压缩这种类型的点数据集,KD数将深得不合理。另一方面,如果使用若干KD树,每个用于空间聚集的点的一个簇,KD树将生成相对较短的数据流并且因此改善总压缩率。例如,在如图5所示的由5574个连接组件组成的会议室的3D模型中,多个重复连接组件是椅子RCC1、地毯RCC2的重复纹理元素或大型吊灯的重复结构元素RCC3。为了使大型3D工程模型的紧凑存储和快速传输成为可能,本发明提供了对于编码所有重复实例的位置尤其有利的高效压缩策略。在一个方面,本发明提供一种对离散点、尤其对显著示出多空间聚集的那些点的高效压缩方法。大型3D工程模型中的重复实例的位置通常具有这种特征。
本发明提供一种基于分簇的KD树的压缩算法,用于高效压缩具有显著多空间聚集的离散点数据集。根据输入点的空间位置首先将它们分簇。每个簇包含被空间分簇的一组点。然后通过由一个KD树组织属于每个簇的所有点来压缩每个簇。
以下将描述用于编码的示例性分簇方法。设C_Point表示所有的点的簇。开始,C_Point是空的。
步骤1:将要压缩的所有点的整个边界框细分成N*N*N个单元。
步骤2:根据落入每个单元的点的数目以升序将所有单元排列成队列Q_Cell。
步骤3:如果(Q_Cell不是空的)
从Q_Cell中弹出单元P。跳过空单元。去步骤4。
否则去步骤6。
步骤4:如果(P不属于C_Point中的任何簇)
生成新的簇C,仅包括P,并且将C添加到C_Point。
去步骤5。
否则去步骤3。
步骤5:检验C中的所有单元的所有邻近单元。
设P1表示C中的任何单元的任何邻近单元。
如果((落入P1的点的数目>B)
&&(P1不属于C_Point中的任何簇))
将P1添加到C。
(B是用户指定的阈值。)
在完成所有邻近单元的检验后,去步骤3。
步骤6:独立地压缩落入属于C_Point中的相同簇的单元中的点。通过使用单独KD树组织对应的点,并且基于例如[OG00]将它们压缩来压缩每个簇。
用户定义的参数B指定一个单元中必须有多少个点以便将其作为邻域添加到簇。虽然在一个实施例中B=1,但是其他实施例可能要求更高值的B。图7中示出了分簇方法的流程图。
表1示出了可以作为结果的比特流的语法。ae(v)意思是算术编码,有点类似于H.264/AVC中的算术编码。
Instance_position(){ | 描述符 |
BoundaryBox_Of_All_Instance_Positions. | ae |
Num_Of_Clusters; | ae |
N; | ae |
for(i=0;i<Num_Of Clusters;i++){ | |
Indices_of_Two_Boundary_Cells_of_cluster[i]; | ae |
KD-tree_of_current_cluster; | |
) |
表1:实例位置的比特流语法
示例性比特流的语义为如下:
BoundaryBox_Of_All_Instance_Positions指示所有实例位置的边界框。
Num_Of_Clusters指示簇的数目。
N指示单元的分辨率,即,在以上描述的编码例程的步骤1中的N。
Indices_of_Two_Boundary_Cells_of_cluster[i]指示定义cluster[i]的边界框的两个单元的索引。其具有2*Log2(n*n*n)个比特。
KD-tree_of_current_cluster表示用于记录当前簇的KD树的比特。
在一个实施例中,在编码期间,在实际分簇之后存在确定每个簇的边界,和对应的两个边界单元的步骤。通过两个边界单元的索引可以表示边界。当前簇的边界单元是具有每个维度的最小索引和最大索引的单元。例如,如果在2D情况下,属于簇的点在{xmin,xmax}和{ymin,ymax}的范围内,则边界单元处于xmin,xmax和ymin,ymax,即使这些单元实际上不在该簇内。然而,使用它们的索引来定义当前簇的局部边界框。在局部边界框内,可以使用局部坐标,这减少比特量。
在一个实施例中,计算当前簇的KD树具有以下步骤:计算落入当前cluster[i]的实例的相对位置,以及计算边界框以外的全局坐标系统中的对应的实例位置。
在一个实施例中,所述编码方法还包括定义网格模型的空间分辨率(例如,表1中的N)的步骤。在这种情况下,单元是根据定义的空间分辨率的最小的空间分辨率单元。空间分辨率对重构的精确度有影响,这是因为在编码期间处于特定单元内某处的位置可能在解码后仅在该单元内的预定位置被再现,例如在单一的中心。为了更加精确的位置,需要更高的空间分辨率。在一个实施例中,N是预定的。在另一实施例中,可以根据质量需求来选择N,例如,可以将其降低来再现低分辨率显示。
如以上描述的,现有技术方法在点非常不均一地分布时效率低。在一个实施例中,编码方法还包括以下步骤:确定点的空间均一性(homogeneity)量度(其中,如果点均匀地分布则空间均一性的量度高,而如果分布更加不均匀则空间均一性量度低),将空间均一性与阈值比较,以及仅当空间均一性低于阈值时执行分簇。例如,编码方法可以包括以下步骤:确定重复实例的参考点的空间均一性的量度,将空间均一性与阈值相比较,以及仅当空间均一性低于阈值时(即,如果点的分布非常不均一)执行分簇。
在一个实施例中,编码方法还包括以下步骤:如果空间均一性低于阈值,则修改空间分辨率,测量空间均一性以及重复这些步骤直至空间均一性不低于阈值。
图4示出了基于簇的编码的网格模型的数据结构。指代特定类型的连接组件和完整3D网格模型的根包括至少一个簇,至少一个簇指代重复的连接组件并且被表示为KD树KD-T1,...,KD-T3。在图4的示例中,连接组件根CCr代表特定连接组件。例如连接组件可以是3D工程网格模型中的特定类型的螺旋(screw)。在本示例中,在3D模型内存在其中经常使用这种类型的螺旋的3个区域。将每个区域表示为簇,其通过单独的KD树KD-T1,...,KD-T3表示。连接组件的少数或单个实例还可能在其它区域中出现。在一个实施例中,没有将这些实例分簇,而是在单独的结构T4(例如,特殊KD树或仅仅是坐标列表)中描述它们的位置。三个簇KD树KD-T1,...,KD-T3的每一个指代连接组件的多个实例的一个簇并且包括位置信息,例如簇的边界单元的索引。
以下将描述本发明的其它实施例。
在一个实施例中,一种用于编码网格模型的点的装置,包括:用于确定该网格模型包括连接组件的重复实例的确定部件;以及用于为每个重复实例确定至少一个参考点的确定部件;分簇部件,用于将所述重复实例的参考点分簇至一个或更多簇;以及编码部件,用于使用KD树编码来编码所分簇的参考点,其中,为每个簇生成单独的KD树。
在一个实施例中,用于分簇的部件包括:定义部件,用于围绕网格模型定义边界框;划分部件,将边界框划分成单元,其中,单元是最小的空间分辨率单位;选择部件,用于选择尚未被分簇的并且包括重复实例的一个或更多参考点的第一单元;以及定义部件,用于定义包括所述第一单元或所述第一单元内的一个或更多参考点的簇。
在一个实施例中,装置还包括:确定部件,用于确定一个或更多其它单元,其中其它单元是选择的第一单元的邻近单元或者递归的邻近单元,并且其中每个确定的其它单元包括重复实例的至少一个参考点;以及添加部件,将所述确定的一个或多个邻近单元添加到所述簇。
在一个实施例中,分簇部件还包括:组织部件,用于以每个单元中参考点的数目的升序或降序排列所有单元,其中根据所述顺序选择第一单元(即,簇的初始单元)。
在一个实施例中,分簇部件包括:用于确定当前簇的边界单元(具有每个维度的最小索引和最大索引的单元)的部件。
在一个实施例中,编码装置还包括:用于定义空间分辨率的部件,其中单元是根据所定义的空间分辨率的最小的空间分辨率单位。
在一个实施例中,编码装置还包括:分析部件,用于确定重复实例的参考点的空间均一性的量度,其中,如果参考点均匀地分布则空间均一性的量度高,而如果分布更加不均匀则空间均一性的量度低;比较部件,用于将空间均一性与阈值比较;以及控制部件,用于仅当空间均一性低于阈值时执行分簇。
在一个实施例中,一种编码的网格模型包括多个重复连接组件,其中,编码的网格模型包括至少以下内容的编码数据:每个重复连接组件的一个实例、所述重复连接组件的多个重复的位置,所述位置被编码为KD树,以及在所述网格模型内的边界区域,其中所述KD树指代所述区域。
在一个实施例中,编码的网格模型的边界区域的数据包括边界单元的索引。
在图6b)示出的一个实施例中,一种用于对编码的网格模型的点解码的方法包括以下步骤:提取D1重复连接组件的实例的数据;使用所提取的数据解码D2连接组件的实例;提取D3定义多个簇的第一数据(Num_Of_Cluster)、定义空间分辨率的第二数据(N)以及作为所述重复连接组件的多个重复的位置的第三数据(KD-T1,...KT-T3),其中,所述第三数据被编码为KD树;提取D4定义所述网格模型内的一部分的第四数据(Index_Boundary_Cluster),以及根据所述第三数据和第四数据确定D5所述重复连接组件的多个重复的位置,其中,将第三数据应用于由第四数据定义的网格模型的所述部分。
在解码方法的一个实施例中,第四数据(Index_Boundary_Cluster)包括网格模型内的两个单元的索引,其中单元是根据由所述第二数据定义的空间分辨率的最小的空间分辨率单位。
实验显示,对于图案位置数据,根据本发明的基于簇的KD树压缩相比较于基于传统KD树的压缩,可以节约50%的存储空间(Clus_Comp/Coor_Comp)。
表2中,#C是连接组件的数目,#P是重复组件的数目,Coor.(K)是以K字节形式的原始的实例位置的大小,Coor_Comp(K)是使用一个KD树压缩的实例位置的大小,#Clu是簇的数目以及Clu_Coor_Comp(K)是通过基于分簇的KD树的压缩方法的压缩的实例位置的大小。
表2对于2个示例模型的示例性压缩效率。
虽然已经作为应用于本发明优选实施例而示出、描述、并且指出本发明的基本的新颖的特点,但应该理解,本领域技术人员在不背离本发明的精神的情况下,在所描述的装置和方法中、在所公开的设备的形式和细节、以及以在它们的操作中,可以做出各种省略和替换以及改变。虽然关于重复连接组件的实例位置公开了本发明,本领域技术人员将认识到在此描述的方法和设备在原理上可以应用于关于压缩一组离散点的任何场景。在此明确地意欲以实质上相同方式执行实质相同功能以达到相同效果的那些元件的所有组合在本发明的范围以内。从描述的一个实施例到另一个实施例的元件的替换完全是可设计并且可想到的。
应该理解仅仅以示例方式描述了本发明,可以在不背离本发明的范围的情况下进行细节的修改。说明书和(在适当时)权利要求和附图中公开的每个特点都可以单独提供或者以适当的结合来提供。可以将所述特点在适当时实施于硬件、软件、或者二者的结合。权利要求中出现的参考数字仅用于例示而不对权利要求的范围具有限定效果。
Claims (20)
1.一种用于编码网格模型的点的方法,包括以下步骤:
-确定(E1)该网格模型包括连接组件的重复实例,以及为每个重复实例确定至少一个参考点;
-将所述重复实例的参考点分簇至一个或多个簇;以及
-使用KD树编码来编码分簇后的参考点,其中,为每个簇生成单独的KD树。
2.如权利要求1所述的方法,其中,分簇包括以下步骤:
-围绕网格模型定义边界框;
-将边界框划分成单元,其中,单元是最小的空间分辨率单位;
-选择尚未被分簇的并且包括重复实例的一个或多个参考点的第一单元;以及
-定义包括所述第一单元或所述第一单元内的一个或多个参考点的簇。
3.如权利要求2所述的方法,其中,如果第一单元尚未被分簇并且其包括至少M个重复实例的M个参考点,则仅仅选择第一单元,其中,M是用户可定义的参数。
4.如权利要求2或3所述的方法,还包括以下步骤:
-确定一个或多个其它单元,其中所述其它单元是所选择的第一单元的邻近单元或者递归的邻近单元,并且其中每个确定的其它单元包括重复实例的至少一个参考点,以及
-将所确定的一个或多个邻近单元添加到所述簇。
5.如权利要求2-4中的一项所述的方法,其中,分簇还包括以下步骤:以每个单元中参考点的数目的升序或降序排列所有单元,并且其中根据所述顺序选择第一单元。
6.如权利要求1-5中的任一项所述的方法,其中,分簇包括以下步骤:确定当前簇的边界单元,所述边界单元是具有每个维度的最小索引和最大索引的单元。
7.如权利要求1-6中的任一项所述的方法,还包括以下步骤:定义空间分辨率(N),其中,根据所定义的空间分辨率,单元是最小的空间分辨率单位。
8.如权利要求1-7中的任一项所述的方法,还包括以下步骤:
-确定重复实例的参考点的空间均一性的量度,其中,如果参考点均匀地分布则空间均一性的量度高,而如果分布更加不均匀则空间均一性的量度低;
-将空间均一性与阈值比较;以及
-仅当空间均一性低于阈值时执行分簇。
9.如权利要求8所述的方法,还包括以下步骤:
-如果所述空间均一性低于所述阈值,则修改所述空间分辨率;以及
-重复确定空间均一性的量度的步骤。
10.一种用于编码网格模型的点的装置,包括:
-用于确定网格模型包括连接组件的重复实例的部件,以及用于为每个重复实例确定至少一个参考点的部件;
-用于将所述重复实例的参考点分簇至一个或多个簇的部件;以及
-用于使用KD树编码来编码分簇后的参考点的部件,其中,为每个簇生成单独的KD树。
11.如权利要求10所述的装置,其中,用于分簇的部件包括:
-用于围绕网格模型定义边界框的部件;
-用于将边界框划分成单元的部件,其中,单元是最小的空间分辨率单位;
-用于选择尚未被分簇的并且包括重复实例的一个或多个参考点的第一单元的部件;以及
-用于定义包括所述第一单元或所述第一单元内的一个或多个参考点的簇的部件。
12.如权利要求10所述的装置,还包括:
-用于确定一个或多个其它单元的部件,其中所述其它单元是所选择的第一单元的邻近单元或者递归的邻近单元,并且其中每个确定的其它单元包括重复实例的至少一个参考点,以及
-用于将所确定的一个或多个邻近单元添加到所述簇的部件。
13.如权利要求10-12中的一项所述的装置,其中,用于分簇的部件还包括用于以每个单元中参考点的数目的升序或降序排列所有单元的部件,并且其中根据所述顺序选择第一单元。
14.如权利要求10-13中的任一项所述的装置,其中,用于分簇的部件包括用于确定当前簇的边界单元的部件,所述边界单元是具有每个维度的最小索引和最大索引的单元。
15.如权利要求10-14中的任一项所述的装置,还包括用于定义空间分辨率(N)的部件,其中,根据所定义的空间分辨率,单元是最小的空间分辨率单位。
16.如权利要求10-15中的任一项所述的装置,还包括:
-用于确定重复实例的参考点的空间均一性的量度的部件,其中,如果参考点均匀地分布则空间均一性的量度高,而如果分布更加不均匀则空间均一性的量度低;
-用于将空间均一性与阈值比较的部件;以及
-用于仅在空间均一性低于阈值时执行分簇的部件。
17.一种包括多个重复连接组件的编码的网格模型,其中,所述编码的网格包括至少以下内容的编码数据:
-每个重复连接组件的一个实例;
-所述重复连接组件的多个重复的位置,所述位置被编码为KD树;以及
-网格模型内的边界区域,其中KD树指代所述区域。
18.如权利要求17所述的编码的网格模型,其中边界区域的数据包括边界单元的索引。
19.一种用于对编码的网格模型的点进行解码的方法,包括以下步骤:
-提取重复连接组件的实例的数据;
-使用所提取的数据解码所述连接组件的实例;
-提取定义多个簇的第一数据(Num_Of_Clusters),定义空间分辨率的第二数据(N)以及作为所述重复连接组件的多个重复的位置的第三数据(KD-T),所述第三数据(KD-T)被编码为KD树;
-提取定义所述网格模型内的一部分的第四数据(Index_Boundary_Cluster);
-根据所述第三数据(KD-T)和所述第四数据确定所述重复连接组件的多个重复的位置,其中,将所述第三数据(KD-T)应用于由所述第四数据定义的网格模型的所述部分。
20.如之前权利要求所述的方法,其中,第四数据(Index_Boundary_Cluster)包括所述网格模型内的两个单元的索引,根据由所述第二数据(N)定义的空间分辨率,单元是最小的空间分辨率单位。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2009/001143 WO2011044713A1 (en) | 2009-10-15 | 2009-10-15 | Method and apparatus for encoding a mesh model, encoded mesh model, and method and apparatus for decoding a mesh model |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102577442A true CN102577442A (zh) | 2012-07-11 |
CN102577442B CN102577442B (zh) | 2015-06-03 |
Family
ID=43875774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980161975.XA Active CN102577442B (zh) | 2009-10-15 | 2009-10-15 | 编码网格模型的方法和装置、编码的网格模型、以及解码网格模型的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8949092B2 (zh) |
EP (1) | EP2489208A4 (zh) |
JP (1) | JP5456903B2 (zh) |
KR (1) | KR101637624B1 (zh) |
CN (1) | CN102577442B (zh) |
WO (1) | WO2011044713A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123739A (zh) * | 2013-04-24 | 2014-10-29 | 冯卫国 | 由面元件构成的多面体的编码及解码方法和立体拼图 |
CN108027983A (zh) * | 2015-09-23 | 2018-05-11 | 皇家飞利浦有限公司 | 针对三维图像的三角形网格的生成 |
CN110296703A (zh) * | 2019-06-21 | 2019-10-01 | 中国人民解放军陆军工程大学 | 一种应用于大规模无人机群系统中的地理位置编码方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5678888B2 (ja) * | 2009-09-01 | 2015-03-04 | 日本電気株式会社 | 通信伝達装置、通信カプラ及びインピーダンス調整シート |
JP6085597B2 (ja) * | 2011-07-08 | 2017-02-22 | トムソン ライセンシングThomson Licensing | 繰り返し構造を有する3dモデルのためのビットストリームを符号化し、復号するシステム及び方法 |
EP2777018A4 (en) * | 2011-11-07 | 2016-07-06 | Thomson Licensing | PREDICTIVE POSITION CODING |
TWI534760B (zh) * | 2011-11-28 | 2016-05-21 | 湯姆生特許公司 | 空間樹結構對輸入空間點編碼之方法及編碼器,以及空間樹結構位元流之解碼方法及解碼器 |
CN103999490B (zh) * | 2011-11-28 | 2018-05-08 | 汤姆逊许可公司 | 可终止的基于空间树的位置编码和解码的方法和装置 |
JP2015512072A (ja) * | 2012-01-21 | 2015-04-23 | トムソン ライセンシングThomson Licensing | 3次元(3d)モデルのテクスチャ情報を圧縮する方法及び装置 |
WO2013117001A1 (en) * | 2012-02-09 | 2013-08-15 | Thomson Licensing | Efficient compression of 3d models based on octree decomposition |
EP2817783A4 (en) * | 2012-02-20 | 2015-10-14 | Thomson Licensing | PROCESS AND DEVICE NETWORK SIMPLIFICATION |
KR101958844B1 (ko) | 2012-04-18 | 2019-03-18 | 인터디지탈 매디슨 페이튼트 홀딩스 | 3d 모델을 표현하는 비트스트림을 생성 또는 디코딩하기 위한 방법 및 장치 |
WO2014005415A1 (en) * | 2012-07-04 | 2014-01-09 | Thomson Licensing | System and method for multi-level repetitive structure based 3d model compression |
JP6246233B2 (ja) | 2013-01-10 | 2017-12-13 | トムソン ライセンシングThomson Licensing | 頂点誤差訂正のための方法および装置 |
JP7138695B2 (ja) * | 2015-12-14 | 2022-09-16 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置及び三次元データ復号装置 |
US10313673B2 (en) | 2016-10-19 | 2019-06-04 | Google Llc | Methods and apparatus to encode and/or decode normals of geometric representations of surfaces |
US10733766B2 (en) | 2016-10-19 | 2020-08-04 | Google, Llc | Methods and apparatus to encode and/or decode normals of geometric representations of surfaces |
US10496336B2 (en) | 2016-11-17 | 2019-12-03 | Google Llc | K-D tree encoding for point clouds using deviations |
US10430975B2 (en) | 2016-11-17 | 2019-10-01 | Google Llc | Advanced k-D tree encoding for point clouds by most significant axis selection |
US9787321B1 (en) | 2016-11-17 | 2017-10-10 | Google Inc. | Point cloud data compression using a space-filling curve |
US10950042B2 (en) | 2017-06-02 | 2021-03-16 | Google Llc | Guided traversal in compression of triangular meshes |
US10553035B2 (en) | 2017-06-02 | 2020-02-04 | Google Llc | Valence based implicit traversal for improved compression of triangular meshes |
EP3783569A4 (en) * | 2018-04-19 | 2021-06-02 | Panasonic Intellectual Property Corporation of America | THREE-DIMENSIONAL DATA ENCODING PROCESS, THREE-DIMENSIONAL DATA DECODING PROCESS, THREE-DIMENSIONAL DATA ENCODING DEVICE AND TRIDIMENSIONAL DATA DECODING DEVICE |
US10891758B2 (en) | 2018-07-23 | 2021-01-12 | Google Llc | Geometry encoder |
US10762667B2 (en) | 2018-11-30 | 2020-09-01 | Point Cloud Compression, B.V. | Method and apparatus for compression of point cloud data |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB426038A (en) | 1933-10-02 | 1935-03-26 | Mauser Werke Ag | Improvements in or relating to sewing machines |
KR100294926B1 (ko) | 1998-08-29 | 2001-07-12 | 윤종용 | 점진적인 삼차원 메쉬 정보의 부호화/복호화 방법 및 장치 |
KR100294927B1 (ko) | 1998-08-29 | 2001-07-12 | 윤종용 | 점진적인 삼차원 메쉬 정보의 부호화 방법 및 그 장치 |
US7538764B2 (en) * | 2001-01-05 | 2009-05-26 | Interuniversitair Micro-Elektronica Centrum (Imec) | System and method to obtain surface structures of multi-dimensional objects, and to represent those surface structures for animation, transmission and display |
US20040181373A1 (en) | 2003-03-12 | 2004-09-16 | Computer Associates Think, Inc. | Visual simulation of dynamic moving bodies |
EP1574996A3 (en) * | 2004-03-08 | 2007-03-21 | Samsung Electronics Co., Ltd. | Adaptive 2n-ary tree generating method, and method and apparatus for encoding and decoding 3D volume data using it |
KR100695142B1 (ko) | 2004-03-08 | 2007-03-14 | 삼성전자주식회사 | 적응적 2의 n 제곱 진트리 생성방법 및 이를 이용한 3차원 체적 데이터 부호화/복호화 방법 및 장치 |
GB2420669A (en) | 2004-11-26 | 2006-05-31 | Snell & Wilcox Ltd | Image segmentation |
DE112005003503B4 (de) * | 2005-03-18 | 2017-06-08 | Fujitsu Ltd. | Optimierungsvorrichtung für ein Elektronikgehäuse und computerlesbares Aufzeichnungsmedium, in welchem ein Optimierungsprogramm für ein Elektronikgehäuse aufgezeichnet ist |
US8448067B2 (en) * | 2006-12-07 | 2013-05-21 | Sony Computer Entertainment America, LLC | Graphics command management tool and methods for analyzing performance for command changes before application modification |
CN101470894A (zh) | 2007-12-26 | 2009-07-01 | 中国科学院自动化研究所 | 一种用于实时分割三维网格模型的笔划式交互方法 |
CN100547616C (zh) | 2008-01-21 | 2009-10-07 | 浙江大学 | 一种基于分级层次化深度网格的森林绘制方法 |
CA2713861A1 (en) * | 2008-02-04 | 2009-08-13 | Iain Alexander Anderson | Integrated-model musculoskeletal therapies |
CN101373543A (zh) * | 2008-09-28 | 2009-02-25 | 武汉大学 | 三维网格模型的快速剖切方法 |
US8681145B2 (en) * | 2009-03-20 | 2014-03-25 | Disney Enterprises, Inc. | Attribute transfer between computer models including identifying isomorphic regions in polygonal meshes |
WO2010149492A1 (en) * | 2009-06-23 | 2010-12-29 | Thomson Licensing | Compression of 3d meshes with repeated patterns |
CN102497981B (zh) | 2009-07-16 | 2016-12-07 | 陶氏环球技术有限责任公司 | 基于聚烯烃的人造皮革 |
-
2009
- 2009-10-15 KR KR1020127009533A patent/KR101637624B1/ko active IP Right Grant
- 2009-10-15 US US13/501,662 patent/US8949092B2/en active Active
- 2009-10-15 EP EP09850328.7A patent/EP2489208A4/en active Pending
- 2009-10-15 CN CN200980161975.XA patent/CN102577442B/zh active Active
- 2009-10-15 WO PCT/CN2009/001143 patent/WO2011044713A1/en active Application Filing
- 2009-10-15 JP JP2012533450A patent/JP5456903B2/ja active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123739A (zh) * | 2013-04-24 | 2014-10-29 | 冯卫国 | 由面元件构成的多面体的编码及解码方法和立体拼图 |
CN108027983A (zh) * | 2015-09-23 | 2018-05-11 | 皇家飞利浦有限公司 | 针对三维图像的三角形网格的生成 |
CN110296703A (zh) * | 2019-06-21 | 2019-10-01 | 中国人民解放军陆军工程大学 | 一种应用于大规模无人机群系统中的地理位置编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102577442B (zh) | 2015-06-03 |
US20120203514A1 (en) | 2012-08-09 |
EP2489208A1 (en) | 2012-08-22 |
WO2011044713A1 (en) | 2011-04-21 |
US8949092B2 (en) | 2015-02-03 |
JP5456903B2 (ja) | 2014-04-02 |
EP2489208A4 (en) | 2017-05-03 |
KR101637624B1 (ko) | 2016-07-07 |
KR20120095869A (ko) | 2012-08-29 |
JP2013507701A (ja) | 2013-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102577442B (zh) | 编码网格模型的方法和装置、编码的网格模型、以及解码网格模型的方法和装置 | |
JP5955378B2 (ja) | エンコード方法及びデコード方法 | |
CN101010699A (zh) | 纹理编码装置、纹理解码装置、方法及程序 | |
CN105139449B (zh) | 一种基于三维网格细分和编码的三维模型压缩方法 | |
CN111699696A (zh) | 用于对字节流进行编码和解码的方法和设备 | |
CN103106681A (zh) | 用于构建加速结构的系统、方法及计算机程序产品 | |
CN103995887A (zh) | 位图索引压缩方法和位图索引解压方法 | |
CN106600700B (zh) | 一种三维模型数据处理系统 | |
CN1369970A (zh) | 使用前缀预测的位自适应编码方法 | |
CN111260784A (zh) | 一种城市三维空间网格压缩编码方法、装置及终端设备 | |
CN110633518A (zh) | 基于bim的简易参数化单元式幕墙材质分类统计方法 | |
CN109146160A (zh) | 一种云制造资源服务调度方法 | |
CN115495429A (zh) | 一种基于Hadoop集群的海量空间数据质检方法和系统 | |
CN111741313A (zh) | 基于图像熵k均值聚类的3d-hevc快速cu分割方法 | |
WO2022120542A1 (zh) | 点云编码和解码方法、装置及计算机可读存储介质 | |
CN112131629A (zh) | 一种基于人工智能的家居场景布局方法 | |
WO2023193709A1 (zh) | 编码、解码方法、装置及设备 | |
CN117743870B (zh) | 一种基于大数据的水利数据管理系统 | |
CN113723043B (zh) | 一种门级电路图划分方法 | |
CN116094694A (zh) | 点云几何编码方法、解码方法、编码设备及解码设备 | |
CN117473300A (zh) | 一种基于大数据的城市建设规划方法 | |
Susanto et al. | Optimised cell formation algorithm considering sequence of operations, alternative routing and part-volume | |
CN113656656A (zh) | 用于宽级配离散元颗粒系统的高效邻居检索方法及系统 | |
CN116341313A (zh) | 一种stl模型处理方法 | |
CN116370955A (zh) | 对象移动控制方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190529 Address after: American Delaware Patentee after: Interactive Digital VC Holding Company Address before: I Si Eli Murli Nor, France Patentee before: Thomson Licensing Corp. |