首页> 中国专利> 编码/解码包括一个或多个组件的3D网格模型的方法

编码/解码包括一个或多个组件的3D网格模型的方法

摘要

由三种类型的数据:连通性数据、几何数据以及特性数据来表示3D网格模型。3D对象的表面是三角形网格。3D网格包含需要被高效压缩的海量数据。除了用于完整模型的普通的全局坐标系(WCS)和用于单个三角形的局部坐标系(LCS)之外,使用用于每一个连接的组件的单独的组件坐标系(CCS)。使用组件坐标系(CCS)来归一化(53)相应的组件的定向用于量化和去量化。这改进了在量化/去量化之后的编码的3D网格模型的精确度,尤其在3D网格模型包括一个或多个不同组件的情况下。

著录项

  • 公开/公告号CN102460513A

    专利类型发明专利

  • 公开/公告日2012-05-16

    原文格式PDF

  • 申请/专利权人 汤姆森特许公司;

    申请/专利号CN201080025813.6

  • 发明设计人 蔡康颖;陈衢清;滕军;

    申请日2010-06-09

  • 分类号G06T9/00(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人吕晓章

  • 地址 法国伊西莱穆利诺

  • 入库时间 2023-12-18 05:21:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-21

    专利权的转移 IPC(主分类):G06T9/00 登记生效日:20190531 变更前: 变更后: 申请日:20100609

    专利申请权、专利权的转移

  • 2014-11-05

    授权

    授权

  • 2012-07-11

    实质审查的生效 IPC(主分类):G06T9/00 申请日:20100609

    实质审查的生效

  • 2012-05-16

    公开

    公开

说明书

技术领域

本发明涉及编码和解码包括一个或多个组件的3D网格模型,对应的编 码器和解码器,以及作为结果的数据集。

背景技术

三维(3D)网格已经广泛地用于表示3D对象的各种应用。尤其随着3D 扫描器的快速增长,它们的未加工的表示通常需要海量的数据。然而,大多 数应用要求用于存储和传输的3D网格的紧凑的表示。从90年代早期以来已 经提出各种算法来高效地压缩3D网格。假定地,随着这种技术在基于因特 网的3D应用的快速增长,将得到来自学术界和工业界二者的甚至更多的关 注。

3D对象的表面是三角形网格,即,其由三角形组成。共享一条边的两个 三角形相邻。相邻三角形的序列是路径,而如果一组三角形中的任何两个三 角形之间存在路径,则该组三角形被称为连接的组件。处于平行四边形形状 的平坦表面面积仅仅需要两个三角形来正确地描述,而不处于平行四边形的 形状的平坦面积需要更多个三角形。典型地,3D网格由三种类型数据表示: 连通性数据、几何数据和属性数据。连通性数据描述顶点之间的相邻关系, 几何数据指定3D空间中顶点位置,而特性数据指定诸如法向矢量、材料反 射率以及纹理坐标之类的属性。最广泛使用的3D压缩算法分离地压缩连通 性数据和几何数据。几何数据的编码顺序由底层的连通性编码确定。3D网格 特性数据通常通过与几何压缩类似的方法来压缩。

几何数据通常按照编码顺序通过利用相邻顶点的位置之间的高相关性来 压缩,在多数情形下,其也在空间上相邻。多数几何压缩方案遵循三步骤的 过程:顶点位置的预量化、量化的位置的预测,以及预测残差的熵编码。

未压缩的几何数据典型地利用32比特浮点数来指定每个坐标分量。然 而,这种精度超出了人类眼睛的感知能力并且远远超过了一般应用的需要。 因此,可以使用量化来减少数据量而不对视觉质量产生严重损害。量化技术 可以被分类为均匀地或不均匀的。每个量化单元(cell)在均匀标度量化器中 是相同的长度,而各单元在不均匀标度量化器中具有不同的长度。已知方法 是根据局部曲率和三角尺寸将网格分区为若干区域,并且然后对不同的区域 自适应地选取不同的量化分辨率。在每个区域中,均匀地量化顶点坐标。与 非均匀的量化相比较,均匀量化简单并且在计算上效率高,但是其在率失真 (R-D)性能方面不是最优的。

几何数据压缩的另一个重要问题是使用坐标系来表达顶点位置。一般使 用(通常笛卡尔(cartesian))全局坐标系(WCS)用于完整的模型和/或局部 坐标系(LCS)用于单个三角形,如图1a)所示。

发明内容

本发明提供了一种改进编码的3D网格模型的精确度的方法和装置,并 且具体地,提供了一种改进包括一个或者多个不同组件的编码3D模型的精 确度的方法和装置。

权利要求1公开了一种用于编码由一个或多个组件组成的3D网格模型 的方法。

权利要求12公开了一种由一个或多个组件组成的对应的编码的3D网格 模型。

权利要求6公开了一种用于解码由一个或多个组件组成的编码的3D网 格模型的方法。

权利要求10公开了一种用于编码由一个或多个组件组成的3D网格模型 的几何编码器。

权利要求11公开了一种用于解码由一个或多个组件组成的编码的3D网 格模型的几何解码器。

在从属权利要求中、以下的描述和附图中公开了本发明的有利实施例。

附图说明

参照附图来描述本发明的示范性实施例,其中:

图1a)示出用于3D网格模型的全局坐标系和局部坐标系;

图1b)示出用于3D网格模型的组件的组件坐标系;

图2示出作为线框(wireframe)模型的示范性的3D网格模型;

图3a)-c)示出未压缩的3D网格模型的细节;

图3d)-f)示出具有伪像的常规量化和去量化的3D网格模型的细节;

图3g)-i)示出根据本发明的改进的量化和去量化的3D网格模型的细节;

图4示出3D网格模型的熵编码器的框图;

图5示出3D网格模型的熵解码器的框图;以及

图6示出编码3D网格模型的方法的流程图。

具体实施方式

图1示出了具有相应的笛卡尔坐标系的3D网格模型的一部分。具有其 三个标准正交轴Xw,Yw,Zw的全局坐标系WCS对于整个模型是有效的。相对 于参考三角形Tref(uvw)来描述生成三角形(spanning triangle)Tsp(uvr)。通常 以每个参考三角形定义局部坐标系LCS(具有三个标准正交轴X,Y,Z)。Tref和 Tsp的公共边其被称为“有效门(active gate)”,定义局部x轴X。的 中点O被假定为原点。局部z轴Z是参考三角形Tref的法线。然后通过计算 局部z和x轴的叉乘积来获得局部y轴Y,并且因此其与xz平面正交。需要 为每个当前前端的顶点(front vertex)(图1中的r)重新计算局部坐标系LCS。 由于局部坐标值的范围不是预定义的,因此局部坐标系中的量化是两通道 (two-pass)处理。一个初始通道是必须找到局部坐标的范围。与全局坐标系 WCS中的量化相比较,局部坐标系LCS中的量化更复杂并且需要进行多得 多的计算工作。

当压缩3D模型(即,顶点和连接数据)时,使用量化,这导致量化误 差。量化是有损的过程,这是由于其利用较小的集合来表示大的或者无限的 集合值。典型的网格几何编码方案以8比特到12比特量化分辨率均匀地量化 每个坐标。对于具有平滑平面和均匀分布的顶点的模型而言,人类的眼睛难 以注意到质量损失。然而,这种近似通常不能准确地再现不与任何坐标轴正 交的平坦表面,这是由于即使对简单的几何体也添加了重要的失真量。例如, 如果模型包括大的平坦面积,则量化误差可能常规地具有这种效应:属于原 始的平坦的部分面积的三角形不再是平坦的,即,在去量化之后,它们不形 成平坦的表面。已经发现这种问题部分地是由于组件相对于全局坐标系WCS 的位置导致的。本发明通过为每个组件定义单独的组件坐标系CCS来解决该 问题。

根据本发明的一方面,如图1b)所示,在每个组件相对于其自身的各自 组件坐标系CCS被编码时,可以更好地并且更准确地量化要被分解为组件的 3D网格模型。在编码器中,使用组件坐标系来归一化量化的组件,使得在全 局坐标系WCS中进行量化。这减少了量化误差。在编码的3D模型中,包括 了定义组件坐标系CCS的数据。在解码器中,提取用于定义组件坐标系CCS 的数据,在全局坐标系WCS中对组件进行去量化并且然后使用所提取的组件 坐标系CCS将其变换回其原始位置。

以下更详细地解释编码和解码处理。一般地,当前组件的顶点位置是 {vi|i=0,...,n}。假设当前连接的组件具有m个三角形。对于当前连接 的组件的任何三角形Ti,将其面积表示为Si并且其三个顶点表示为vi0,vi1和 vi2。当前组件的三角形是{(i0,i1,i2)|i=0,...,m}。当前组件的完整 的表面面积是S。

在一个实施例中,在编码期间执行以下步骤:

1.如下计算组件的平均点vmean和协方差矩阵C。

S=Σi=1mSi---(1)

vmean=13mSΣi=1mSi(vi0+vi1+vi2)---(2)

C=13mSΣi=1mSi(vi0vi0T+vi1vi1T+vi2vi2T)-vmeanvmeanT---(3)

2.计算C的特征向量以及对应的特征值:E0,E1和E2是特征向量(例 如,以特征值的增加的顺序排序的)。

3.通过-vmean转换顶点。然后所有顶点的平均点将作为原点(origin)。

4.旋转顶点以使得E0,E1和E2与X,Y,和Z轴对准。

5.通过vmean转换顶点。

6.例如通过经典的三步骤过程来压缩旋转的几何数据:对顶点位置进行 预量化,对量化的位置进行预测,并且对预测残差进行熵编码。

7.除了编码的预测残差之外,在压缩的组件数据中记录E0和E1。

在一个实施例中,在解码期间执行以下步骤:

1.解码预测残差,计算量化的位置和对位置进行去量化。

2.如下使用每个顶点的去量化的浮动位置(float position)计算平均点 vmean(或者中心)。

S=Σi=1mSi---(4)

vmean=13mSΣi=1mSi(vi0+vi1+vi2)---(5)

3.通过-vmean转换顶点。

4.从压缩的网格数据中读取特征向量E0和E1,并且计算E2=E0*E1。

5.旋转顶点以使得X,Y和Z轴与E0,E1和E2对准。

6.通过vmean转换顶点。

换言之,对组件进行转换使得其中心从其原始位置移动到坐标系的中心, 根据如由特征向量E0,E1和E2定义的旋转矩阵旋转并且被转换回到其原始 位置。

由于编码器和解码器二者仅仅对组件进行刚性操作(rigid operation),所 以由两个边计算的平均点具有相同的位置。三角形的面积通常是由其三个顶 点的浮点数位置计算出的浮点数。一般地,三角形的每个顶点的权重是从其 所属的所有三角形的所有顶点的位置中计算出的,由于三个位置定义组件的 偏心率和形状,并且因此定义各个顶点的重要性。在一个实施例中,每个三 角形的面积被添加到其所有三个顶点的权重中。在本实施例中,顶点的权重 (用于计算组件平均值)是其所有相邻三角形的面积的总和。

图2是位于座位上的个人数字助理(PDA)的示范性的原始的3D模型。 该模型由3D软件(3DsMax)做出。该模型由具有总共12822个顶点和24696 个三角形的连接的13个组件组成。图3a)示出了相同的模型,图3b)和3c)示 出了该模型的平坦的前端区域的边缘的细节。需要许多顶点/三角形来定义圆 角区域(在图3a)-c)中不可见)。图3d)是利用12比特量化的相同的模型。在 量化模型上的平坦表面上,尤其在具有高顶点密度的面积上,即,圆角区域 中,存在显著的可见的质量损失。为了更清楚地示出这种差异,分别在图3b), c)和e),f)中示出了原始的模型和量化的模型的特写(close-up)。当在原始的 模型a)-c)中时,平坦区域的三角形是共面的,在常规的量化d)-f)之后,不是 这种情形。然而,如图3g)-i)中所示,根据本发明的编码和解码产生了改进 质量的3D模型。与图3a)中所示的解码模型相比较,在此提出的几何压缩 技术在使用相同的量化分辨率的同时显著地改进了解码模型的质量。

本发明提供了一种高效的几何压缩技术,尤其对于具有高度非均匀顶点 分布以及不与任何坐标轴正交的大比例的平坦表面的3D模型而言,诸如3D 工程模型。多数3D工程模型具有其中每一个拥有不同对象空间的许多连接 的组件。

根据本发明的一个方面的几何编码器在其自身的对象坐标系下压缩每个 连接的组件,其中连接的组件的大比例特征(例如平坦的表面)与坐标轴之 一正交,并且可以以常规的或者甚至更小的量化分辨率来更好地进行保留。 编码可以基于预测和残差。由于已经对大比例特征进行了归一化,所以还降 低了预测位置的残差的熵,这有助于增加几何编码的压缩率。同时可以改进 解码模型的质量和压缩率二者。

在一个实施例中,编码器首先通过简单的并且计算高效的技术来计算用 于描述当前连接的组件的偏心率的3D空间中的标准正交基,其基于首要组 件分析(Principal Component Analysis,PCA)。使用该基作为纯旋转矩阵来将 对应的连接组件引到归一化的(或者正规的)定向(orientation)网格。然后 量化、预测和熵编码旋转的几何数据,还在压缩的网格数据中记录标准正交 基,使得解码器可以在解码组件几何体之后恢复每个连接的组件的原始的几 何体并且将它们组装在一起。

图4示出了根据本发明的一方面的几何编码器的框图。几何编码器50 包括:组件辨识块51,辨识连接的组件;对象空间计算块52,如上述地计算 每个连接的组件的对象空间(即,3D空间中的各个标准正交基);定向归一 化块53;量化器54,量化顶点位置;以及差分(differential)编码块55,预 测量化的顶点位置并且生成残差。对象空间计算块52向熵编码器58输出对 象坐标系信息56,即,定义计算的对象空间的数据。差分编码块55还向熵 编码器58输出残差信息57。

熵编码器58生成用于表示熵编码的3D模型并且包括至少一组表示连接 的组件的编码的顶点数据的信号,以及与所述组件有关的对象坐标系信息。 对象坐标系信息可以用于定义对象坐标系(CCS)和全局坐标系(WCS)之 间的变换。

图5示出了根据本发明的一方面的对应的几何解码器的框图,其适合于 解码表示熵编码的3D模型的上述信号。几何解码器60具有:熵解码器61, 解码输入信号并且提取预测残差信息62,即实际的顶点和连通性数据,以及 对象坐标系信息63。在几何解码器中包括:解码器64,用于解码量化的顶点 位置;去量化器65,用于对顶点位置进行去量化;定向恢复块66,用于恢复 每个连接组件的定向;以及组装块67,用于组装连接的组件并且从连接的组 件组装3D模型。定向恢复块66接收并且处理对象坐标系信息63,以便获得 变换矩阵(例如,旋转矩阵)。在一个实施例中,如上述的,该处理包括计算 与接收的两个特征向量E0,E1正交的特征向量E2。

图6示出了示范性的编码处理的流程图。首先,选择或者确定组件71, 其可以隐含地发生。然后,为组件确定3D空间中的标准正交基72。在74使 用对象坐标系信息对对象定向进行归一化的同时,还进行编码73。然后量化 75并且编码76顶点位置。最后,编码的量化的顶点位置和编码的对象坐标 系信息可以进行传输77、存储等等。

本发明有利地使得量化的3D网格模型的视觉伪像最小化。在不牺牲几 何编码器/解码器的简单性和压缩率的情况下,本发明对于具有不与任何坐标 轴正交的大比例平坦表面并且产生高度非均匀顶点分布的那些3D网格,例 如3D工程模型而言是尤其好的。本发明提供了特别为具有大比例平坦表面 和高度非均匀顶点分布的模型设计的一种高效的几何压缩策略。

用于移除视觉伪像的另一方法是增加量化分辨率。然而,其导致几何编 码器的效率的显著降低。因此,不在这里使用它。非均匀量化需要在编码期 间将网格划分为许多片并且在解码期间将这些片合并在一起,这需要多得多 的计算工作并且使得编码器/解码器更复杂。局部坐标系依赖于使用的连通性 压缩方法并且也不能保证平坦的表面与任何局部坐标轴正交。

尽管可能一般地已知使用基于所用的PCA的技术来对连接组件的定向 进行归一化,但本发明在计算协方差矩阵期间使用加权方案来向顶点分配权 重。在考虑到由近期的软件应用所制作的3D模型的动态改变的三角形尺寸 时,这种加权方案尤其合理。

在一个实施例中,由编码器提供的比特流类似于常规比特流,但是仅仅 在几何体级别上进行了修改,即,在每个连接的组件的一组顶点数据的首标 中进行了修改。新的比特流记录了对象坐标系信息,其包括:

-用于指示当前连接的组件的定向是否需要被归一化的一个比特。例如,

“1”意味着采用定向归一化操作,而“0”意味着不采用该操作;以及

-用于指示在之前的比特等于“1”的情况下,对应的连接组件的对象坐 标系的坐标轴的一些比特。由于每个轴被归一化,两个浮点足以记录一个 轴。两个轴足以描述坐标系。因此,四个浮点值,即,16个字节,对于 一个连接组件的对象坐标系是必须的。

示范性地,可以使用范围编码器(英国南安普顿,1979年3月,G.N.N. Martin.Range encoding:an algorithm for removing redundancy from digitized message.Video & Data Recording Conference)作为熵编码器,其类似于算术 编码器或者霍夫曼编码器。在表1中列出了具有和不具有组件定向归一化的几 何编码器的性能。通过使用具有在本发明中提出的组件定向归一化的几何编 码器,节省了(1527-1419.6)/1527=7.2%的存储,这是由于在连接组件变为 定向网格之后,预测残差也大大减少了。所以所提出的几何压缩不仅在给定 量化分辨率上改进了解码模型的视觉质量,而且作为另一优点,还可以增加 压缩率。

表1:在压缩‘PDA’模型时,具有组件定向归一化的几何编码器和不具 有组件定向归一化的几何编码器的性能比较

应注意,尽管三角形面积用作加权因数,但可以从上述的相应的顶点坐 标中构建其它类型的加权因数,如本领域普通技术人员显而易见地,所有这 些在本发明的精神和范围中是可设想到的。

在一个实施例中,一种用于编码3D网格模型的几何编码器,其中3D网格 模型包括一个或多个组件,所述几何编码器包括:

确定部件(52),对一个或多个组件中的每一个确定3D空间中的标准正 交基,其中使用基于组件的顶点的首要组件分析并且其中每个顶点属于一个 或多个三角形,并且其中对于所述首要组件分析,向组件的每一个顶点分配 从顶点所属的三角形的面积确定的权重;

编码器(56),编码组件的对象坐标系信息;

归一化部件(53),对一个或多个组件中的每一个相对于全局坐标系 (WCS)的定向进行归一化,其中,包括变换部件,其对所述一个或多个组 件中的每一个执行从所确定的组件的标准正交基中获得的变换;

量化器(54),量化归一化的顶点位置;以及

编码器(55,57),编码量化的顶点位置。

在几何编码器的一个实施例中,用于确定标准正交基的确定部件(52) 包括:计算部件,为每一个组件计算组件平均值,其中对于所述计算,顶点 的所述权重是顶点所属的三角形的面积的总和。

在一个实施例中,一种用于解码包括一个或多个组件的3D网格模型的几 何解码器,其包括:

解码部件(64),解码量化的顶点位置;

去量化部件(65),对解码的顶点位置进行去量化;

确定部件,确定属于所述一个或多个组件中的组件的去量化的顶点;

接收部件(63),接收与所述组件有关的对象坐标系信息,所述对象坐标 系信息定义组件坐标系(CCS)和全局坐标系(WCS)之间的变换;以及

恢复部件(66),基于所接收的对象坐标系信息,恢复所述组件相对于全 局坐标系(WCS)的定向。

在一个实施例中,解码器还包括组装部件(67),从多个组件中组装3D 网格模型,其中对于每个组件,接收(63)单独的对象坐标系信息,并且对 于每个组件,单独地恢复(66)定向。

在一个实施例中,用于恢复所述组件的定向的恢复部件包括:

计算部件,使用组件的每个顶点的去量化的浮动位置,计算组件的平均 点;转换部件,对组件进行转换(例如,移动),其中平均点被转换到(例如, 移动到)坐标系的中心;旋转部件,旋转所述组件,以及转换部件(可能与 上述的相同),转换旋转的组件,其中平均点被转换到其以前的位置。

在解码器的一个实施例中,接收部件执行以下步骤:提取协方差矩阵的 两个特征向量E0、E1,计算第三特征向量E2并且使用所述特征向量作为对 象坐标系信息,用于对组件确定3D空间中的标准正交基。

尽管已经示出、描述并且指出了如被应用于本发明的优选实施例的本发 明在功能上的新颖的特征,当应理解,本领域的技术人员可以在上述的编码/ 解码装置和方法,在所公开的设备的形式和细节上,并且在它们的操作上做 出各种省略和替代以及修改,而不脱离本发明的精神。明确地旨在将实质上 以相同方式执行实质上相同功能以实现相同结果的那些要素的所有组合涵盖 在本发明的范围中。还完全打算和设想到从描述的一个实施例到另一实施例 的要素的替换。

应理解,已经单纯借助于示例描述了本发明,并且可以做出细节的修改 而不脱离本发明的范围,只要实现所描述的有利效果即可。可以单独第或者 以任何合适的组合来提供在说明书和(在合适时)权利要求书以及附图中公 开的每个特征。所述特征可以在合适时以硬件、软件,或者二者的组合来实 现。在权利要求书中出现的参考标记仅仅是用于说明的目的,并且对权利要 求的范围没有限制影响。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号