使用重复图案压缩3d网格的制作方法

文档序号:7912031阅读:178来源:国知局
专利名称:使用重复图案压缩3d网格的制作方法
技术领域
本发明涉及一种用于3D模型、并且尤其用于大型3D模型的改进压缩和解压缩的方法和装置。
背景技术
像建筑设计、化学工厂和机械CAD (计算机辅助设计)设计一样的大型3D工程模型被日益在各种虚拟世界应用中布置,诸如,Second Life 和Google Earth )。在多数工程模型中,存在大量的小尺寸到中型尺寸的连接组件,平均每一个组件都具有上至几百个多边形。此外,这种类型的模型具有在各种位置、 尺寸和方位(orientation)上重复的许多几何特征,诸如图I中所示的“会议室”。自从90年代早期以来已经提出了高效地压缩3D网格的各种算法。大多数现有3D网格压缩算法对于具有小三角形的密集网格的平滑表面工作良好。然而,工程类别的大型3D模型通常具有大量连接的组件,少量的大三角形,通常具有任意的连接性。建筑和机械CAD模型典型地具有使这些方法更加不适用的许多非平滑的表面。此外,大多数以前的工作单独地处理每个连接的组件。实际上,通过去除表示重复几何特征图案(pattern)中的冗余可以大幅提高编码器的性能。为了使大型3D工程模型的紧凑存储和快速传送成为可能,需要特别为3D网格模型(例如,工程模型)设计的高效压缩策略。用于大型3D工程模型的良好压缩方法应该能够自动地发现重复的几何特征图案并且高效地编码必要信息以便从所发现的几何特征图案重构原始模型。[SBM01]D. Shikhare, S. Bhakar 和 S. P. Mudur. “Compression of Large 3DEngineering Models using Automatic Discovery of Repeating Geometric Features,,,6th International Fall Workshop on Vision,Modeling and Visualization (VMV2001),2001年11月21-23日,德国斯图加特,提出了一种用于在大型3D工程模型中自动发现重复的几何特征的方法。然而,[SBM01]没有提供用于3D网格模型(尤其是工程模型)的完整的压缩方案。此外,[SBM01]使用组件的顶点位置的PCA(主要组件分析)。结果,具有相同几何和不同连接性的组件将具有相同的平均值和相同的方位轴。此外,[SBM01]不适用于在各种尺寸中检测重复的图案。两个仅在尺寸(即,大小)上不同的组件将不能被识别为相同等效类别的重复特征。此外,期望比[SBM01]中描述的更多地压缩编码数据。因此,[SBMOI]的方法需要进一步改进。

发明内容
本发明提供一种特别用于3D网格(诸如,3D工程模型)的高效的压缩方法和对应装置,所述3D网格由许多小尺寸到中型尺寸连接的组件组成并具有在各种位置、尺寸和方位中重复的几何特征。根据本发明,一种用于编码3D网格模型的方法,包括以下步骤第一步骤是自动分析3D网格模型,其中确定重复组件并且将其分类至图案群集,确定每个组件的平均值,并且然后归一化该组件,其中所述归一化包括确定缩放因数以及将所述缩放因数分类到缩放因数群集,以及确定方位轴以及将所述方位轴群集到方位轴群集。第二步骤是向图案群集、缩放因数群集以及方位轴群集指定唯一的群集标识符。第三步骤是编码连接的组件,其中所述连接的组件与图案群集、缩放因数群集和方位轴群集相比较,从而获得图案群集标识符、缩放因数群集标识符、缩放因数残差、方位轴群集标识符和方位残差。另一步骤是将每个连接的组件熵编码为通过图案群集标识符、缩放因数群集标识符、缩放因数残差、方位轴群集标识符和方位残差表示。根据本发明,一种用于解码3D网格模型的方法,包括以下步骤熵解码接收的数据,提取图案群集标识符和变换信息,其中所述变换信息包括变换群集标识符和变换残差,根据图案群集标识符重构图案,根据变换群集标识符和变换残差重构变换信息,以及根据重构的变换信息变换重构的图案。一种用于编码3D网格模型的装置,包括 分析部件或分析器,指定部件,用于编码连接的组件的第一编码部件(例如,编码器)以及作为熵编码器的第二编码部件。所述分析部件适用于自动分析3D网格模型,其中确定重复组件并且将其分类至图案群集,确定每个组件的平均值,并且然后归一化该组件,其中所述归一化包括确定缩放因数以及将所述缩放因数分类到缩放因数群集,以及确定方位轴并且将所述方位轴群集到方位轴群集。所述指定部件适用于向图案群集、缩放因数群集以及方位轴群集指定唯一的群集标识符。所述编码部件适用于编码连接的组件,其中所述连接的组件与图案群集、缩放因数群集和方位轴群集相比较,从而获得图案群集标识符、缩放因数群集标识符、缩放因数残差、方位轴群集标识符和方位残差。所述熵编码器适用于将每个连接的组件熵编码为通过图案群集标识符、缩放因数群集标识符、缩放因数残差、方位轴群集标识符和方位残差表示。一种用于解码3D网格模型的装置,如权利要求6中所公开的,包括熵解码器、数据提取部件(例如,解多路复用器)、图案重构部件、变换信息重构部件以及变换部件。所述熵解码器适用于熵解码接收的数据。所述数据提取部件适用于提取图案群集标识符和变换信息,所述变换信息包括变换群集标识符和变换残差。所述图案重构部件适用于根据图案群集标识符重构图案。所述变换信息重构部件用于根据变换群集标识符和变换残差重构变换信息,以及所述变换部件适用于根据重构的变换信息变换重构的图案。一种根据本发明的信号,包括编码的3D网格模型的数据,所述数据包括至少一个图案群集标识符和变换信息,其中所述变换信息包括变换群集标识符和变换残差。在从属权利要求、以下描述和附图中公开了本发明的有利实施例。


参照附图描述本发明的示例性实施例,以下附图中示出了 图1,具有许多重复特征的示例性3D模型(“会议室”);图2,编码的结构;图3,解码的结构;图4,在2D情况下的kd树几何编码的原理;图5,使用“二次误差矩阵”方法尤其有利的示例性组件;图6,组件的示例性编码;以及
图7,组件的示例性重构。
具体实施例方式本发明提供了用于大型3D工程模型的高效压缩方法。这样的模型通常由若干分区(所谓的“连接的组件”)组成。所述方法包括自动发现并且去除重复几何特征图案的表示中的冗余性。在一个实施例中,通过归一化(normalize)连接的组件来发现重复几何图案,并且然后相互比较归一化的组件。在一个实施例中,在归一化以后等效的所有连接的组件可以被视为一个几何图案的实例。原理上,将等效的组件群集(cluster)。群集可以指3D模型的仅仅一些组件、或所有组件。然后可以通过对应的几何图案(或群集类别)的标识符(诸如,字母数字ID)和可以从几何图案重构组 件的变换信息来表示每个连接的组件。这个变换信息可以示例性地包括缩放因数、平均值(或中心)、方位轴(或旋转信息)、或位移信息中的一个或多个。原理上,其它的也是可能的。可以通过任何(尤其是任何成熟的)3D网格压缩方法来压缩几何图案。在一个实施例中,变换信息至少包括对应的组件的平均值、方位轴和缩放因数。在一个实施例中,每个组件的方位轴可以是3个不同的维,例如,X轴、y轴和z轴。在一个实施例中,基于k平均群集来群集所有连接的组件的方位轴。在一个实施例中,还基于k平均群集来群集所有连接的组件的缩放因数。在一个实施例中,通过使用空间树组织平均值来将它们压缩,所述空间树诸如是“k-d树”:每个叶节点记录几何图案ID、方位轴的群集ID以及缩放因数的群集ID。本发明提供了一种用于由许多连接的组件组成并且具有许多重复几何特征的3D网格(诸如,3D工程模型)的高效和完整的压缩方案。本发明的一个重要方面在于发现并去除重复几何特征图案的表示中的冗余度。本发明另一重要方面在于高效地压缩用于从发现的几何特征图案中重构原始模型所必需的信息。本发明的一个有利的效果在于,与已知方法相比,减少了描述3D网格模型的数据量。一个有利效果是编码给予更精确的数据,即,允许更精确的重构。因此,编码可以提供增强的质量,传送和存储需要更小的带宽,和/或可以加速解码。因此,本发明具有用于3D模型的编码、传送、存储和重构的优点。图2和图3中示出了提出的编码器和解码器的框图。图2示出了根据本发明一个实施例的用于3D网格模型的编码器。连接的组件通过三角形横框100来区分。归一化块101归一化每个连接的组件。在一个实施例中,基于欧洲专利申请EP09305527(PA090034)描述的技术进行归一化,EP09305527公开了一种用于编码包括一个或多个组件的3D网格模型的方法。EP09305527的归一化技术包括以下步骤为组件确定3D空间中的标准正交基,其中组件的每个顶点被分配权重,该权重根据所述顶点的坐标数据和属于相同三角形的其它顶点的坐标数据来确定,编码组件的对象坐标系信息,归一化与全局坐标系有关的组件的方位,量化顶点的位置,以及编码量化的顶点位置。在其它实施例中,可以使用其它归一化技术。根据本发明的一个方面,归一化每个连接的组件的方位和尺寸二者。[SBMOI]仅公开了归一化组件方位,并且因此不适用于发现各种尺寸中的重复特征。在图2中,框102与用于发现重复的几何图案的归一化的组件匹配。原理上,可以使用[SBM01]的匹配方法。可以通过对应的几何图案的ID和从几何图案来重构它的变换信息来表示输入模型中每个连接的组件。优选地,变换信息包括代表群集的几何图案,对应的连接组件的三个方位轴和缩放因数。没有传送平均值(即,代表几何图案的中心),而是在解码器中重新计算。可以通过诸如边缘间隔(Edgebreaker)编码器[R99] (J. Rossignac.Edgebreaker uConnectivity compression for triangle meshes,,,IEEE Transactionson Visualization and Computer Graphics, Vol. 5, No. I, pp. 47-61,1999 年 I 月-3 月)之类的任何成熟的3D网格编码器来压缩几何图案。在编码器块103中还可以使用其它网格编码器。考虑到复杂3D模型中的连接组件的庞大数量,组件信息也消耗大量存储。在一个方面,本发明提供用于组件信息的高效压 缩方法。已经注意到在大型3D工程模型中的所有连接的组件中通常存在一些主要方位。因此,群集分析是编码方位轴的合适选择105。虽然原理上可以使用任何群集算法,但 k 平均[MQ67](J. B. MacQueen. “Some Methods for classification and Analysisof Multivariate Observations”, Proceedings of 5-th Berkeley Symposium onMathematical Statistics and Probability, Berkeley, University ofCaliforniaPress,l :281-297,1967)是解决群集问题的最简单且最有效的无监管学习算法之一。该例程依照简单且容易的方法通过特定数量的群集将给定的数据集分类。然而,作为群集数量的k需要事先决定,这通常是不容易的。为了克服这个局限,块105如下执行基于k平均的群集分析假设a是用户定义的阈值。步骤I :设置k为一个小的数,例如k = 4。步骤2 :通过k平均群集将数据集分类。步骤3 :检验每个群集。假设n是方差(variance)大于a的群集的数量。如果(n > 0)贝丨J {k = k+n ;到步骤2}否则结束。在一个实施例中,使用以上群集分析方法来分别对方位轴和缩放因数进行群集。每个群集的表示定义方位轴/缩放因数的模式。方位轴/缩放因数可以通过对应的模式预测。采用基于单元细分(cell subdivision)的树分解的压缩技术对于处理离散点是非常高效的。块104使用例如基于kd树的压缩算法(如
0. Devillers,P.Gandoin. “Geometric compression for interactive transmission”, IEEEVisualization, 2000, pp. 319-326)来编码所有连接的组件的平均值。这个算法在每次迭代时将一个单元细分成两个子单元并且编码两个子单元中的一个的顶点的数量,如图4所示并且以下更具体描述的。如果父单元包含P个顶点,可以利用算术编码器使用Iog2(P+1)比特编码子单元中的一个的顶点数量。递归地应用这个细分,直至每个非空单元足够小以包含仅一个顶点并且使得高效精确重构顶点位置成为可能。以下给出更多细节。除了 kd树,在另一实施例中,还可使用基于oc树(octree)的压缩以便压缩连接的组件的所有平均值[PK05] (Jingliang Peng, C. -C. Jay Kuo, “Geometry-guided progressive lossless3D mesh coding with octree (OT) decomposition,,,ACM SIGGRAPH(ACM Transaction onGraphics 24 (3)),609-616,2005)。注意到,在一个实施例中不是照原样地传送平均值(即,组件的中心),而是在解码器中重新计算。在一个实施例中,每个叶节点包含组件的以下信息-几何图案ID-各自的方位轴群集和预测残差的ID;-各自的缩放因数群集和预测残差的ID。
图3示出了根据本发明一个实施例的解码器。首先将编码的比特流进行熵解码200,其中获得数据的不同部分。将一部分数据输入到边缘间隔解码器201以便获得几何图案。将包括表示几何图案群集的一部分数据输入到基于kd树的解码器202,这提供了每个连接的组件的平均值(即,中心)。该平均值,连同其它组件信息(图案ID、方位轴和缩放因数)被一起传递到恢复块。用于恢复重复组件的恢复块具有用于复原归一化的连接组件的第一块203,用于复原连接组件(包括非重复的连接组件)的第二块204以及用于组装连接的组件的第三块205。在一个实施例中,在复原每个重复图案的实例之前计算每个重复图案的平均值。在另一块(图3中未示出)中,从连接的组件组装完整的模型。根据本发明的一个方面,熵解码器200还解码方位轴信息。根据本发明另一个方面,连接的组件的复原使用每个连接的组件的平均值、几何图案ID、各自方位轴群集和方位轴预测残差的ID、以及各自缩放因数群集和缩放因数预测残差的ID。即,例如,为了复原连接的组件大小,将缩放因数信息(包括缩放因数群集ID和每个缩放因数的预测残差)熵解码200,根据群集ID生成原始缩放因数并且通过预测残差来进行更新,以及用于对模型进行缩放的(在各自的维上)的作为结果的缩放因数。以相同的方式处理方位轴解码。每个群集的群集参考值(例如,表示图案群集的图案的几何数据)可以在编码器中压缩并传送,并且在解码器中接收并解压缩。在另一实施例中,解码器可以使用唯一标识符从另一数据源,例如,从因特网,获得群集参考数据。例如,由图案群集PCl表示的特定示例性图案Pl的连接性数据可以被编码、传送并解码。因此,通过使用接收的图案P1,根据缩放信息和方位信息将其缩放并旋转,解码器可以重构通过参考图案群集PCI识别的图案实例,并且根据代表性的平均值信息将其移动到其目的地。这在图7中示出。在一个实施例中,在缩放和旋转之前可以存在添加图案的特定实例的残差数据的附加步骤(如果该实例不是参考图案的精确拷贝)。在另一实施例中,在图案群集的实例是组件的精确拷贝的情况下,不使用残差几何数据。图6示出了本发明的一个实施例的编码步骤。原理上,存在以下步骤确定连接的组件602,归一化组件604,以及表达616归一化的组件,相对于参考值(群集表示)的方位轴和缩放因数。归一化步骤604包括确定组件的中心(即,平均值),移动该中心到全局坐标系的中心(横向移动),绕I个、2个或3个轴旋转组件,以及在I个、2个或3个维度上缩放组件。在本发明一个实施例中,具有压缩的3D网格模型的比特流包括-一些用于指示几何图案的数量的比特;-对于每个几何图案,一些用于指示压缩的网格数据大小的长度的比特;用于示出压缩的几何图案的比特(例如,群集参考数据);-一些用于指示方位轴模式的数目的比特;-用于示出每个方位轴模式的细节的比特(例如,群集参考数据);
-一些用于指示缩放因数模式的数目的比特;-用于示出每个缩放因数模式的细节的比特(例如,群集参考数据);-用于记录kd树的比特;-用于示出kd树的每个叶节点的几何图案ID和方位轴模式ID的比特。可以通过熵编解码器进一步编码比特流。应该注意的是,在原理上根据 本发明的压缩可用于通过参考图案群集来表达的组件,而且还用于具有单独图案并且不参考任何图案群集的其它组件。本发明提供一种用于通过发现重复几何特征图案和高效去除其中的冗余来压缩大型3D工程模型的改进的方法。在一个实施例中,基于群集分析和基于kd树的编解码器压缩根据几何图案重构原始网格的变换信息。图4示出了在2D的情况下的kd树几何编码的说明性示例。给定具有b个比特的整数坐标的n个2D点,开始单元是大小2bx2b的矩形界定框(bounding box)。算法开始于在任意固定数目的比特(例如,32)上对点的总数n进行编码。然后,其开始主循环,主循环由以下组成沿着横轴以二等分细分当前单元并且然后在优化数目的比特上编码其中之一(例如,左边那个)包含的点的数目如果父单元包含P个点,将使用算术编码在Iog2(P+1)个比特上编码半单元中的点的数目,其可以取p+1个值0,1,. . .,p。不必明确地编码在第二个半单元中包含的点的数目,这是因为其可以根据总数和第一个半单元传送的数目来推导,在其之后根据相同的规则沿着纵轴细分两个作为结果的单元中的每一个。图4中描述的处理进行迭代,直至不存在大于Ixl的非空单元。如图4所示,对应的编码序列仅由点的数目组成7,4,2,0,1,1,1,1,1,1,0,1,1,...。以输出的顺序编码这些点的位置。随着算法的进行,单元大小减少并且传送的数据使得更加准确的局部化。叶节点是具有大小Ixl的非空单元。每个叶节点仅包含一个几何图案(几何图案群集的表示或平均值)。应该注意的是,词“平均值”在此可以用于不同的含义作为组件的中心,或者作为表示几何图案群集的组件。一般地,不传送图案的平均值(即,其中心),这是因为其可以通过解码器计算。另一方面,传送作为几何图案的实例的平均值(即,重复实例的群集的表示)。在一个实施例中,通过组织重复的实例的表示而将它们紧凑地传送给kd树。在一个实施例中,在归一化组件时,本发明使用“二次误差矩阵”(QEM)方法,而[SBM01]使用顶点位置的PCA。在以下并且在此外在[GH98] (Michael Garland, PaulHeckbert Simplifying Surfaces with Color and Texture using Quadratic ErrorMetrics”, Carnegie Mellon University 1998)中详细描述了 QEM 方法。由于 QEM 方法不仅取决于顶点位置还取决于网格的三角形,所以其能够给出比顶点位置的PCA更加精确的方位轴和平均值。因此,与现有技术系统相比较,增强了本发明的精度。解码器在复原每个图案的实例之前计算其平均值。连接的组件的QEM通过其所有的三角形定义。因此,通过使用QEM,每个组件的平均值和方位轴不仅取决于几何性而且取决于组件的连接性。对于图5中所示的组件,二次误差矩阵可以给出唯一的方位轴。然而,顶点位置的PCA当被用于归一化方位时,不能做相同的事情,这是因为其不能将组件从具有相同顶点位置的另一组件(例如,纯粹的圆柱体)中区分开。因此,二次误差矩阵对于连接的组件的归一化是更好的选择。以下,将要描述本发明的示例性实施例相对于现有技术(尤其[SBM01])的优点。
在本发明中将每个连接的组件的方位和尺寸二者归一化。诸如[SBM01]的现有技术仅归一化组件方位并且因此不能发现各种尺寸中的重复特征。在[SBM01]中,提到如果两个网格的方位界定框(OBB)的维度不匹配,那么就不进行进一步的匹配。此外,[SBM01]不能压缩变换信息。然而,本发明提供了用于压缩包括位置、方位轴和缩放因数的变换信息的完整解决方案。为了从对应的图案复原连接的组件,需要变换信息。在一个实施例中,一个连接的组件的变换信息包括位置(用于转换,3个浮点值)、方位轴(用于旋转,4个浮点值)以及缩放因数(3个浮点值)。因此,连接的组件的未压缩的变换信息包括10个浮点值。由于通常存在大量的连接的组件,因此本发明的优点是将显著地降低所有连接的组件的变换信息的压缩比。并 且由于数据结构或模式指示,解码器可以将其检测。由于[SBM01]提到了具有k个顶点的图案的重复实例需要3个整数和7个浮点数,并且这个编码方案开始获得四个或更多顶点的重复图案的压缩,清楚地,在[SBM01]中没有群集或压缩变换信息(至少是缩放因数),并且因此采用了比本发明中效率更低的压缩方案。此外,本发明可以使用二次误差矩阵方法来在发现重复图案期间排列(align)组件。从而,具有相同几何和不同连接性的组件将具有不同的平均值和方位轴。[SBM01]使用组件的顶点的位置的PCA,使得具有相同几何和不同连接性的组件将具有相同的平均值和方位轴。在成对方式(pair-wise)的组件匹配期间,两种算法都在变换之后仅仅比较顶点的位置。因此可以区分具有相同几何和不同拓扑结构的不同的组件(在[SBM01]中不能)。根据本发明的增强的解码器计算图案的平均值和方位以便复原其重复实例。此外,对于PCA的退化(degeneration)情况(以上参照图5描述的),两种方法的解决方案不同,即,本发明优于[SBM01]的解决方案。此外,在本发明中,所有重复实例的位置通过如
中描述的基于kd树的算法来压缩。此外,在本发明中,重复实例的方位轴通过基于k平均的群集分析来压缩。此外,在本发明中,重复实例的缩放因数通过基于k平均的群集分析来压缩。在所述方法、信号或装置的一个实施例中,变换信息包括代表群集的组件的几何数据。在所述方法、信号或装置的一个实施例中,代表性的几何图案的中心没有被传送,而是在解码器中重新计算。在编码方法的一个实施例中,至少方位轴和缩放因数的群集使用具有以下步骤的增强的k平均值群集方法基于初始参数k执行k平均值群集,其中产生多个群集;对于每个群集,确定方差并且将确定的方差与初始方差阈值相比较;确定其中所确定的方差高于阈值的群集的数目n ;以及在一个或多个群集中确定的方差高于阈值的同时,增加参数k并且重复执行k平均值群集的步骤,基于增加的参数k,为每个群集确定方差并且将该方差与方差阈值相比较,直至在所有群集中确定的方差低于阈值为止。在用于编码的装置的一个实施例中,其中至少方位轴和缩放因数的群集使用增强的k平均群集,所述装置包括
用于基于初始参数k执行k平均值群集的群集部件,其中产生多个群集;用于对每个群集确定方差的方差确定部件以及将确定的方差与初始方差阈值相比较的比较器;用于确定其中所确定的方差高于阈值的群集的数目n的分析部件;以及用于增加参数k的加法器,在一个或多个群集中确定的方差高于阈值的同时,其中可以基于增加的参数k重复k平均值群集,直至在所有群集中确定的方差低于阈值为止。 在一个实施例中,将参数k增加了具有高于阈值的方差的群集的数目n。在一个实施例中,用于解码的方法还包括计算组件的平均值或中心的步骤,其中对中心应用所述变换。在一个实施例中,解码器还包括用于计算组件的平均值或中心的计算部件,其中变换部件对中心应用其变换。在用于编码的方法的一个实施例中,确定组件的平均值的步骤包括具有以下步骤的基于迭代的kd树的压缩根据组件的顶点在初始单元中的坐标分选(assort)组件的顶点,在每次迭代时将一个单元细分为两个子单元,编码两个子单元中的一个的顶点的数目,以及递归地应用细分,直至每个非空单元足够小以至于仅包含一个顶点。在编码器的一个实施例中,用于确定组件的平均值的部件执行基于迭代的kd树的压缩并且具有用于根据组件的顶点在初始单元中的坐标而分选组件的顶点的部件,用于在每次迭代时将一个单元细分为两个子单元的部件,用于编码两个子单元中的一个的顶点的数目的部件,以及用于递归地应用细分直至每个非空单元足够小以至于仅包含一个顶点的控制部件。在用于编码的方法的一个实施例中,归一化步骤604包括确定组件的中心,以横向移动将中心移动至全局坐标系的中心,围绕I个、2个或3个轴旋转组件,以及在I个、2个或3个维度上对组件进行缩放。在用于编码的装置的一个实施例中,归一化部件包括用于执行以下步骤的计算部件确定组件的中心,以横向移动将中心移动至全局坐标系的中心,围绕I个、2个或3个轴旋转组件,以及在I个、2个或3个维度上对组件进行缩放。在编码的一个实施例中,在发现重复性图案期间使用二次误差矩阵方法排列组件。在编码的一个实施例中,连接的组件的未压缩的变换信息包括10个浮点值。在一个实施例中,用于解码的方法还包括在复原每个重复组件的实例之前计算每个重复组件的平均值的步骤,其中使用基于kd树的计算方法来计算平均值。在一个实施例中,用于解码的装置还包括用于在复原每个重复组件的实例之前计算每个重复组件的平均值的计算部件,其中使用基于kd树的计算方法来计算平均值。在一个实施例中,用于解码的方法还包括在缩放和旋转之前添加图案的特定实例的残差数据的附加步骤。在一个实施例中,用于解码的装置还包括在缩放和旋转之前添加图案的特定实例的残差数据的附加的添加部件。在一个实施例中,用于解码的方法还包括在复原图案的重复实例之前计算图案的平均值和方位的附加步骤。在一个实施例中,用于解码的装置还包括在复原图案的重复实例之前计算其平均值和方位的计算部件。因此,本发明解决了所有以上提及的现有技术的问题和缺点。例如,[SBM01]不提供对从对应的几何图案复原连接的组件的必要信息进行压缩的解决方案。考虑到3D工程模型通常具有的庞大尺寸的连接的组件,这种类型的信息也将消耗大量存储。应该了解的是,已经完全地以示例的方式描述了本发明,并且在不背离本发明的范围的情况下可以进行细节的修改。虽然已经示出、描述并且指出了作为应用到本发明优选实施例的本发明的基本的新颖的特征,应该注意的是,在不背离本发明的精神的情况下,本领域技术人员可以以所公开的设备的形式和细节以及在它们的操作中对描述的装置和方法进行各种省略和替换以及改变。虽然关于3D工程网格模型已经公开了本发明,本领域技术人员将认识到在此描述的方法和设备可以应用于任何3D模型。明确地旨在以实质上相同的方式执行实质上相同的功能来达到相同的结果的那些元件的所有结合在本发明的范围以内。也完全地想到并预计从描述的一个实施例到另一个实施例的要素的替换。 可以单独地或以任何合适的组合来提供说明书和权利要求书以及附图中公开的每个特征。在适当时可以以硬件、软件、或二者的结合来实施特征。权利要求中出现的参考数字仅借助于说明性的并且不应对权利要求的范围有限制影响。
权利要求
1.一种用于编码包括多个重复的连接组件的3D网格模型的方法,包括以下步骤 -自动分析所述3D网格模型,其中确定重复组件并且将其分类至图案群集,确定每个组件的平均值,并且然后归一化该组件,其中归一化包括确定缩放因数以及将所述缩放因数分类到缩放因数群集,以及确定方位轴并且将所述方位轴群集到方位轴群集; -向图案群集、缩放因数群集以及方位轴群集指定唯一的群集标识符; -编码组件,其中所述组件与图案群集、缩放因数群集和方位轴群集相比较,从而至少获得图案群集标识符(ClusterJD)、缩放因数群集标识符(scale_ID)、缩放因数残差(d_scale)、方位轴群集标识符(ori_ID)和方位残差(d_ori); -将每个组件熵编码(106)为通过其相应的图案群集标识符、缩放因数群集标识符、缩放因数残差、方位轴群集标识符和方位残差来表示。
2.如权利要求I所述的方法,其中重复的组件具有重复的几何图案并且在归一化之后被发现。
3.如权利要求I或2所述的方法,其中至少方位轴和缩放因数的群集使用具有以下步骤的增强的k平均值群集方法 -基于初始参数k执行k平均值群集,其中产生多个群集; -对于每个群集,确定方差并且将确定的方差与初始方差阈值相比较; -确定其中所确定的方差高于阈值的群集的数目n ; -在一个或多个群集中确定的方差高于阈值的同时,增加参数k并且重复执行k平均值群集的步骤,基于增加的参数k,为每个群集确定方差并且将该方差与方差阈值相比较,直至在所有群集中确定的方差低于阈值为止。
4.如权利要求3所述的方法,其中将k平均值群集的参数k增加具有高于阈值的方差的群集的数目n。
5.如权利要求1-4中任意一项所述的方法,其中确定组件的平均值的步骤包括具有以下步骤的基于迭代的kd树的压缩根据组件的顶点在初始单元中的坐标分选组件的顶点,在每次迭代时将一个单元细分为两个子单元,编码两个子单元中的一个的顶点的数目,以及递归地应用细分直至每个非空单元足够小以至于仅包含一个顶点为止。
6.如权利要求1-5中任意一项所述的方法,其中归一化步骤604包括确定组件的中心,以横向移动将中心移动至全局坐标系的中心,围绕I个、2个或3个轴旋转组件,以及在I个、2个或3个维度上缩放组件。
7.一种用于解码3D网格模型的方法,包括以下步骤 -熵解码(200)接收的数据; -提取图案群集标识符和变换信息,所述变换信息包括变换群集标识符和变换残差; -根据图案群集标识符重构图案; -根据变换群集标识符和变换残差重构变换信息;以及 -根据重构的变换信息变换重构的图案。
8.如权利要求7所述的方法,其中所述变换信息包括缩放因数群集标识符、缩放因数残差、方位轴群集标识符和方位轴残差。
9.如权利要求7或8所述的方法,还包括计算组件的平均值或中心的步骤,其中对所述中心应用变换。
10.如权利要求7-9中任意一项所述的方法,还包括在缩放和旋转之前添加图案的特定实例的残差数据的步骤。
11.如以上任意一项权利要求所述的方法,其中所述变换信息包括代表群集的组件的几何数据。
12.如权利要求11所述的方法,其中不传送组件的中心,而是在解码期间重新计算。
13.一种用于编码包括多个重复组件的3D网格模型的装置,所述装置包括 -分析部件,用于自动分析3D网格模型,其中确定重复组件并且将其分类至图案群集,确定每个组件的平均值或中心,并且然后归一化该组件,其中所述归一化包括确定缩放因数以及将所述缩放因数分类到缩放因数群集,以及确定方位轴并且将所述方位轴群集到方位轴群集; -指定部件,用于向图案群集、缩放因数群集以及方位轴群集指定唯一的群集标识符; -编码部件,用于编码组件,其中所述组件与图案群集、缩放因数群集和方位轴群集相比较,从而获得图案群集标识符(ClusterJD)、缩放因数群集标识符(scale_ID)、缩放因数残差(d_SCale)、方位轴群集标识符(ori_ID)和方位残差(d_ori); -熵编码器,用于将每个组件熵编码(106)为通过图案群集标识符、缩放因数群集标识符、缩放因数残差、方位群集标识符和方位残差表示。
14.一种用于解码3D网格模型的装置,包括 -熵解码器(200),用于熵解码接收的数据; -数据提取部件,用于提取图案群集标识符和变换信息,所述变换信息包括变换群集标识符和变换残差; -图案重构部件,用于根据图案群集标识符重构图案; -变换信息重构部件,用于根据变换群集标识符和变换残差重构变换信息;以及 -变换部件,用于根据重构的变换信息变换重构的图案。
15.一种包括编码的3D网格模型的数据的信号,所述数据包括至少一个图案群集标识符(Cluster_ID)和变换信息,所述变换信息包括变换群集标识符(scale_ID,ori_ID)和变换残差(d_scale, d_ori)。
全文摘要
工程类型的3D模型通常具有大量的连接的组件,具有少量的大的三角形,通常具有任意的连接性。为了使大型3D网格模型的紧凑存储和快速传送成为可能,提供了一种特别为3D网络模型设计的高效压缩策略。一种用于编码3D网格模型的方法包括确定并且群集重复的组件,归一化组件,其中对缩放因数进行群集并且对方位轴进行群集,使用对群集的参考编码连接的组件,以及熵编码连接的组件。
文档编号H04N7/34GK102804230SQ201080028171
公开日2012年11月28日 申请日期2010年6月9日 优先权日2009年6月23日
发明者蔡康颖, Y.金, 陈志波 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1