本发明涉及三维图形。更具体地说,本发明涉及三维图形的编码。
背景技术:
1、最近,一种基于从3d到2d投影来压缩诸如点云之类的体积内容的新颖方法正在标准化。也称为v3c(基于视觉体积视频的压缩)的该方法将3d体积数据映射成几个2d补丁,然后进一步将这些补丁排列成图集图像,该图集图像随后用视频编码器进行编码。图集图像对应于点的几何形状、各自的纹理以及占用图,该占用图指示针对点云重建要考虑哪些位置。
2、2017年,mpeg发布了用于点云压缩的建议书(cfp)。在评估了几个建议之后,目前mpeg正在考虑两种不同的用于点云压缩的技术:3d本机编码技术(基于八叉树和类似的编码方法),或3d到2d投影,接着是传统的视频编码。在动态3d场景的情况下,mpeg正在使用基于补丁表面建模的测试模型软件(tmc2)、从3d到2d图像的补丁的投影、以及用诸如hevc之类的视频编码器对2d图像进行编码。该方法已被证明比本机3d编码更有效,并且能够以可接受的质量实现具有竞争力的比特率。
3、由于基于投影的方法(也称为基于视频的方法,或v-pcc)的3d点云编码的成功,该标准预计将在未来的版本中包括进一步的3d数据,诸如3d网格。然而,该标准的当前版本仅适用于未连接的点集的传输,因此没有发送点的连通性的机制,因为它在3d网格压缩中是必需的。
4、已经提出了将v-pcc的功能也扩展到网格的方法。一种可能的方法是使用v-pcc对顶点进行编码,然后使用像tfan或edgebreaker那样的网格压缩方法对连通性进行编码。该方法的限制在于原始网格必须是密集的,使得从顶点生成的点云不是稀疏的,并且可以在投影后有效地编码。此外,顶点的顺序影响连通性的编码,并且重组网格连通性的不同方法已被提出。对稀疏网格进行编码的替代方法是使用原始补丁数据对3d中的顶点位置进行编码。由于原始补丁直接对(x,y,z)进行编码,因此在该方法中,所有顶点都被编码为原始数据,而连通性则通过如前所述的类似网格压缩方法进行编码。注意,在原始补丁中,顶点可能以任何优选顺序发送,因此可以使用从连通性编码生成的顺序。该方法可以对稀疏点云进行编码,然而,原始补丁对3d数据的编码效率不高,并且该方法可能缺少诸如三角形面的属性之类的进一步数据。
技术实现思路
1、本文描述了对解码后的网格进行后期处理和修改每个补丁接收到的三角形以改进网格几何的方法。由于传输的几何包含高分辨率表面信息,因此该信息能够应用于网格重建操作,以生成与原始表面对齐的三角形。方法包括通过根据其大小分割接收到的三角形的边、通过在三角形的质心处插入新顶点、通过分割顶点以及通过在由几何图像定义的表面中执行行进立方体来生成新的三角形。
2、在一个方面,一种编程在设备的非暂时性存储器中的方法包括接收面列表和顶点列表,接收高分辨率深度图,实施补丁网格细分以生成新的面列表和新的顶点列表,以及用新的面列表和新的顶点列表实现三维重建以生成解码后的网格对象。实施补丁网格细分以生成新的面列表和新的顶点列表包括:三角形质心实现,该实现通过在每个三角形的中间放置一个点而实施,该点用于通过绘制从该点到三角形的每个顶点的线来生成新的三角形。使用高分辨率深度图来获得所述点的位置。实施补丁网格细分以生成新的面列表和新的顶点列表包括:边中点实现,该实现通过在三角形的每个边的中间放置一个点,并绘制从每个点到三角形的另一个中间点的线以生成四个三角形而实施。使用高分辨率深度图来获得每个点的三维位置。实施补丁网格细分以生成新的面列表和新的顶点列表包括:顶点分割实现,该实现通过删除边、添加顶点并绘制从现有顶点到所添加的顶点的线而实施。基于来自高分辨率深度图的三维位置信息来放置所添加的顶点。实施补丁网格细分以生成新的面列表和新的顶点列表包括:行进立方体实现,该实现通过使用行进立方体在边界三角形之间生成点而实施。从高分辨率深度图获得三维空间中的体素信息。
3、在另一个方面,一种装置包括用于存储应用的非暂时性存储器,该应用用于:接收面列表和顶点列表,接收高分辨率深度图,实施补丁网格细分以生成新的面列表和新的顶点列表,以及用新的面列表和新的顶点列表实现三维重建以生成解码后的网格对象,以及耦合到该存储器的处理器,该处理器被配置用于处理该应用。实施补丁网格细分以生成新的面列表和新的顶点列表包括:三角形质心实现,该实现通过在每个三角形的中间放置一个点而实施,该点用于通过绘制从该点到三角形的每个顶点的线来生成新的三角形。使用高分辨率深度图来获得该点的位置。实施补丁网格细分以生成新的面列表和新的顶点列表包括:边中点实现,该实现通过在三角形的每个边的中间放置一个点,并绘制从每个点到三角形的另一个中间点的线以生成四个三角形而实施。使用高分辨率深度图来获得每个点的三维位置。实施补丁网格细分以生成新的面列表和新的顶点列表包括:顶点分割实现,该实现通过删除边、添加顶点并绘制从现有顶点到所添加的顶点的线而实施。基于来自高分辨率深度图的三维位置信息来放置所添加的顶点。实施补丁网格细分以生成新的面列表和新的顶点列表包括:行进立方体实现,该实现通过使用行进立方体在边界三角形之间生成点而实施。从高分辨率深度图获得三维空间中的体素信息。
4、在另一个方面,一种系统包括被配置用于对包括面列表和顶点列表的内容进行编码的编码器以及被配置用于以下操作的解码器:接收面列表和顶点列表,接收高分辨率深度图,实施补丁网格细分以生成新的面列表和新的顶点列表,以及用新的面列表和新的顶点列表实现三维重建以生成解码后的网格对象。实施补丁网格细分以生成新的面列表和新的顶点列表包括:三角形质心实现,该实现通过在每个三角形的中间放置一个点而实施,该点用于通过绘制从该点到三角形的每个顶点的线来生成新的三角形。使用高分辨率深度图来获得点的位置。实施补丁网格细分以生成新的面列表和新的顶点列表包括:边中点实现,该实现通过在三角形的每个边的中间放置一个点,并绘制从每个点到三角形的另一个中间点的线以生成四个三角形而实施。使用高分辨率深度图来获得每个点的三维位置。实施补丁网格细分以生成新的面列表和新的顶点列表包括:顶点分割实现,该实现通过删除边、添加顶点并绘制从现有顶点到所添加的顶点的线而实施。基于来自高分辨率深度图的三维位置信息来放置所添加的顶点。实施补丁网格细分以生成新的面列表和新的顶点列表包括:行进立方体实现,该实现通过使用行进立方体在边界三角形之间生成点而实施。从高分辨率深度图获得三维空间中的体素信息。
1.一种编程在设备的非暂时性存储器中的方法,包括:
2.如权利要求1所述的方法,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:三角形质心实现,该实现通过在每个三角形的中间放置一个点而实施,该点用于通过绘制从该点到三角形的每个顶点的线来生成新的三角形。
3.如权利要求2所述的方法,其中,使用所述高分辨率深度图来获得所述点的位置。
4.如权利要求1所述的方法,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:边中点实现,该实现通过在三角形的每个边的中间放置一个点,并绘制从每个点到三角形的另一个中间点的线以生成四个三角形而实施。
5.如权利要求4所述的方法,其中,使用所述高分辨率深度图来获得每个点的三维位置。
6.如权利要求1所述的方法,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:顶点分割实现,该实现通过删除边、添加顶点并绘制从现有顶点到所添加的顶点的线而实施。
7.如权利要求6所述的方法,其中,基于来自所述高分辨率深度图的三维位置信息来放置所添加的顶点。
8.如权利要求1所述的方法,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:行进立方体实现,该实现通过使用行进立方体在边界三角形之间生成点而实施。
9.如权利要求8所述的方法,其中,从所述高分辨率深度图获得三维空间中的体素信息。
10.一种装置,包括:
11.如权利要求10所述的装置,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:三角形质心实现,该实现通过在每个三角形的中间放置一个点而实施,该点用于通过绘制从该点到三角形的每个顶点的线来生成新的三角形。
12.如权利要求11所述的装置,其中,使用所述高分辨率深度图来获得所述点的位置。
13.如权利要求10所述的装置,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:边中点实现,该实现通过在三角形的每个边的中间放置一个点,并绘制从每个点到三角形的另一个中间点的线以生成四个三角形而实施。
14.如权利要求13所述的装置,其中,使用所述高分辨率深度图来获得每个点的三维位置。
15.如权利要求10所述的装置,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:顶点分割实现,该实现通过删除边、添加顶点并绘制从现有顶点到所添加的顶点的线而实施。
16.如权利要求15所述的装置,其中,基于来自所述高分辨率深度图的三维位置信息来放置所添加的顶点。
17.如权利要求10所述的装置,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:行进立方体实现,该实现通过使用行进立方体在边界三角形之间生成点而实施。
18.如权利要求17所述的装置,其中,从所述高分辨率深度图获得三维空间中的体素信息。
19.一种系统,包括:
20.如权利要求19所述的系统,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:三角形质心实现,该实现通过在每个三角形的中间放置一个点而实施,该点用于通过绘制从该点到三角形的每个顶点的线来生成新的三角形。
21.如权利要求20所述的系统,其中,使用所述高分辨率深度图来获得所述点的位置。
22.如权利要求19所述的系统,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:边中点实现,该实现通过在三角形的每个边的中间放置一个点,并绘制从每个点到三角形的另一个中间点的线以生成四个三角形而实施。
23.如权利要求22所述的系统,其中,使用所述高分辨率深度图来获得每个点的三维位置。
24.如权利要求19所述的系统,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:顶点分割实现,该实现通过删除边、添加顶点并绘制从现有顶点到所添加的顶点的线而实施。
25.如权利要求24所述的系统,其中,基于来自所述高分辨率深度图的三维位置信息来放置所添加的顶点。
26.如权利要求19所述的系统,其中,实施补丁网格细分以生成新的面列表和新的顶点列表包括:行进立方体实现,该实现通过使用行进立方体在边界三角形之间生成点而实施。
27.如权利要求26所述的系统,其中,从所述高分辨率深度图获得三维空间中的体素信息。