密集网格压缩的制作方法

文档序号:32443345发布日期:2022-12-06 23:02阅读:32来源:国知局
密集网格压缩的制作方法
密集网格压缩
1.(一个或多个)相关申请的交叉引用
2.本技术援引35 u.s.c.
§
119(e)要求于2020年10月1日提交的标题为“dense mesh compression”的美国临时专利申请序列no.63/086,142的优先权,该申请出于所有目的通过引用整体并入本文。
技术领域
3.本发明涉及三维图形。更具体而言,本发明涉及三维图形的编码。


背景技术:

4.最近,一种基于从3d到2d的投影来压缩体积内容(诸如点云)的新颖方法正在被标准化。也称为v3c(基于视觉体积视频的压缩)的该方法将3d体积数据映射到若干2d斑块(patch)中,然后将这些斑块进一步布置到图集(atlas)图像中,随后用视频编码器对图集图像进行编码。图集图像与点的几何结构、相应的纹理和指示要考虑哪些位置用于点云重构的占用图对应。
5.在2017年,mpeg已经发布了关于点云压缩的提案征集(cfp)。在评估了若干提案之后,目前mpeg正在考虑两种不同的点云压缩技术:3d原生编码技术(基于八叉树和相似的编码方法),或3d到2d投影,然后是传统的视频编码。在动态3d场景的情况下,mpeg使用基于斑块表面建模的测试模型软件(tmc2)、将斑块从3d投影到2d图像,并用诸如hevc之类的视频编码器对2d图像进行编码。事实证明,这种方法比原生3d编码更高效,并且能够以可接受的质量实现具有竞争力的位速率。
6.由于基于投影的方法(也称为基于视频的方法或v-pcc)对3d点云进行编码的成功,该标准有望在未来的版本中包括进一步的3d数据,诸如3d网格。但是,该标准的当前版本只适于传输不连通的点集合,因此没有机制来发送点的连接性,因为它是3d网格压缩所要求的。
7.已经提出了也将v-pcc的功能性扩展到网格的方法。一种可能的方式是使用v-pcc对顶点进行编码,然后使用网格压缩方法(如tfan或edgebreaker)对连接性进行编码。这种方法的局限性在于原始网格必须是密集的,使得从顶点生成的点云不是稀疏的并且能够在投影之后进行高效编码。而且,顶点的次序影响连接性的编码,并且已经提出了不同的方法来重新组织网格连接性。对稀疏网格进行编码的替代方式是使用raw(原始的)斑块数据对3d中的顶点位置进行编码。由于raw斑块直接对(x,y,z)进行编码,因此在这种方法中,所有顶点都被编码为raw数据,而连接性则通过类似的网格压缩方法进行编码,如前面所提到的。注意的是,在raw斑块中,顶点可以按任何优选次序发送,因此可以使用从连接性编码生成的次序。该方法可以对稀疏点云进行编码,但是,raw斑块对3d数据的编码效率不高,并且这种方法会丢失进一步的数据,诸如三角形面的属性。


技术实现要素:

8.本文描述了一种使用基于投影的方法来压缩网格的方法,充分利用和扩展已经为基于投影的体积内容压缩生成的工具和语法。与v3c方法类似,网格被分割成表面斑块,不同之处在于这些分区遵循网格的连接性。密集网格压缩利用3d表面斑块来表示网格表面上的连接的三角形的集合,并利用顶点的组来表示未通过表面投影捕获的三角形。然后将每个表面斑块(或3d斑块)投影到2d斑块,由此在网格的情况下,三角形表面采样类似于计算机图形学中使用的常见光栅化方法。对于每个斑块,被投影的顶点的位置以及那些顶点的连接性保存在列表中。被采样的表面类似于点云,并使用与用于点云压缩相同的方法进行编码。此外,每个斑块的顶点和连接性的列表被编码,并且数据与编码的点云数据一起被发送。
9.在一个方面,一种方法包括对输入网格执行网格体素化,实施斑块生成,斑块生成将网格分割成包括表面网格和未投影的三角形的斑块,对表面网格执行网格编码,对未投影的三角形执行三角形编码,以及基于网格编码和三角形编码生成v3c位流。网格编码包括确定和存储被投影的顶点的位置以及被投影的顶点的连接性。三角形编码包括对在表面投影期间未捕获的三角形进行编码。三角形编码包括仅使用顶点位置和颜色顶点信息对三角形进行编码。三角形编码包括确定如果连接的分量的界定框小于预定义区域,那么未投影的三角形被移动到分离的列表以进行独立的三角形编码,并且未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点;否则,每个三角形被投影到斑块,并且如果顶点的投影位置已经被占用,那么在另一个斑块中对该三角形进行编码,因此该三角形被放入缺失三角形列表中以供稍后再次处理。三角形编码使用三角形斑块数据单元。三角形斑块数据单元将三角形存储为分离的三角形、三角形条带或三角形扇形。三角形编码还包括颜色扩展实施方式,其将三角形的颜色写为c
0 c
1 c2;c
m c
m cm;c
0 c
1 c2,其中cm是三角形质心位置的颜色值。三角形编码还包括颜色压缩。
10.在另一方面,一种装置包括用于存储应用的非暂态存储器,该应用用于:对输入网格执行网格体素化,实施斑块生成,斑块生成将网格分割成包括表面网格和未投影的三角形的斑块,对表面网格执行网格编码,对未投影的三角形执行三角形编码,以及基于网格编码和三角形编码生成v3c位流,以及耦合到存储器的处理器,该处理器被配置为处理应用。网格编码包括确定和存储被投影的顶点的位置以及被投影的顶点的连接性。三角形编码包括对在表面投影期间未捕获的三角形进行编码。三角形编码包括仅使用顶点位置和颜色顶点信息对三角形进行编码。三角形编码包括确定如果连接的分量的界定框小于预定义区域,那么未投影的三角形被移动到分离的列表以进行独立的三角形编码,并且未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点;否则,每个三角形被投影到斑块,并且如果顶点的投影位置已经被占用,那么在另一个斑块中对该三角形进行编码,因此该三角形被放入缺失三角形列表中以供稍后再次处理。三角形编码使用三角形斑块数据单元。三角形斑块数据单元将三角形存储为分离的三角形、三角形条带或三角形扇形。三角形编码还包括颜色扩展实施方式,其将三角形的颜色写为c
0 c
1 c2;c
m c
m cm;c
0 c1c2,其中cm是三角形质心位置的颜色值。三角形编码还包括颜色压缩。
11.在另一方面,系统包括用于获取三维内容的一个或多个相机,用于对三维内容进行编码的编码器:对三维内容的输入网格执行网格体素化,实施斑块生成,斑块生成将网格
分割成包括表面网格和未投影的三角形的斑块,对表面网格执行网格编码,对未投影的三角形执行三角形编码,以及基于网格编码和三角形编码生成v3c位流。网格编码包括确定和存储被投影的顶点的位置以及被投影的顶点的连接性。三角形编码包括对在表面投影期间未捕获的三角形进行编码。三角形编码包括仅使用顶点位置和颜色顶点信息对三角形进行编码。三角形编码包括确定如果连接的分量的界定框小于预定义区域,那么未投影的三角形被移动到分离的列表以进行独立的三角形编码,并且未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点;否则,每个三角形被投影到斑块,并且如果顶点的投影位置已经被占用,那么在另一个斑块中对该三角形进行编码,因此该三角形被放入缺失三角形列表中以供稍后再次处理。三角形编码使用三角形斑块数据单元。三角形斑块数据单元将三角形存储为分离的三角形、三角形条带或三角形扇形。三角形编码还包括颜色扩展实施方式,其将三角形的颜色写为c
0 c
1 c2;c
m c
m cm;c
0 c
1 c2,其中cm是三角形质心位置的颜色值。三角形编码还包括颜色压缩。
附图说明
12.图1图示了根据一些实施例的密集网格编码的方法的流程图。
13.图2图示了根据一些实施例的示例性密集网格投影问题的图。
14.图3图示了根据一些实施例的斑块生成的图。
15.图4图示了根据一些实施例的斑块光栅化的图。
16.图5图示了根据一些实施例的三角形分组的图。
17.图6图示了根据一些实施例的视频图像中的三角形的编码的图。
18.图7图示了根据一些实施例的用于斑块的三角形集合的图。
19.图8图示了根据一些实施例的使用没有颜色扩展的三角形斑块对密集网格进行编码的示例。
20.图9图示了根据一些实施例的使用具有颜色扩展的三角形斑块对密集网格进行编码的示例。
21.图10图示了根据一些实施例的应用于稀疏网格的三角形斑块实施方式的图像。
22.图11图示了根据一些实施例的被配置为实现密集网格压缩方法的示例性计算设备的框图。
23.图12图示了根据一些实施例的被配置为实现密集网格编码的系统的示意图。
具体实施方式
24.本文描述了一种使用基于投影的方法来压缩网格的方法,充分利用和扩展已经针对基于投影的体积内容压缩生成的工具和语法。与v3c方法类似,网格被分割成表面斑块,不同之处在于这些分区遵循网格的连接性。然后将每个表面斑块(或3d斑块)投影到2d斑块,由此在网格的情况下,三角形表面采样类似于计算机图形学中使用的常见光栅化方法。对于每个斑块,被投影的顶点的位置以及那些顶点的连接性保存在列表中。被采样的表面类似于点云,并使用与用于点云压缩相同的方法进行编码。此外,每个斑块的顶点和连接性的列表被编码,并且数据与编码的点云数据一起被发送。
25.附加的连接性数据被解释为针对每个斑块生成的基础网格,从而使解码器可以灵
活地使用或不使用该附加的数据。该数据可以被用于改进渲染和用在点过滤算法中。而且,网格用与基于投影的压缩相同的原理进行编码,这导致与当前的v-pcc方法更好地集成。
26.本文还描述了一种对在表面投影期间未捕获的三角形进行编码的方法,这对于非常密集的网格是常见的。然后只使用小三角形的顶点位置和颜色顶点来搜集和编码小三角形。
27.点云压缩的最新技术使用视频编码器将点云表示为3d斑块,并将由几何形状和属性的投影形成的2d图像编码到2d画布中。但是,此类方法主要适用于3d点云,并且不能应用于3d网格的压缩,因为没有适当的方式来压缩网格的连接性。此外,在用v-pcc进行编码时,顶点数量稀疏的网格由于数据稀疏和颜色表示不佳而表现不佳。
28.已经提出了也将v-pcc的功能性扩展到网格的方法。一种可能的方式是使用v-pcc对顶点进行编码,然后使用网格压缩方法(如tfan或edgebreaker)对连接性进行编码。这种方法的局限性在于原始网格应该是密集的,使得从顶点生成的点云不是稀疏的并且能够在投影之后进行高效编码。而且,顶点的次序影响连接性的编码,并且已经提出了不同的方法来重新组织网格连接性。
29.对稀疏网格进行编码的替代方式是使用raw斑块数据对3d中的顶点位置进行编码。由于raw斑块直接对(x,y,z)进行编码,因此在这种方法中,所有顶点都被编码为raw数据,而连接性则通过类似的网格压缩方法进行编码,如前面所提到的。在raw斑块中,顶点可以按任何优选次序发送,因此可以使用从连接性编码生成的次序。该方法可以对稀疏点云进行编码,但是,raw斑块对3d数据的编码效率不高。并且,这种方法会丢失进一步的数据,诸如三角形面的属性。
30.本文描述了一种使用网格表面数据的投影和孤立的三角形编码来压缩3d网格数据的新颖方法。密集网格压缩利用3d表面斑块来表示网格表面上的连接的三角形的集合,并利用顶点的组来表示未通过表面投影捕获的三角形。两个数据集合都存储在图集数据中编码的斑块(网格斑块和三角形斑块)中。此类方法扩展了当前用于点云和多视图加深度内容的编码的v3c(基于体积视频)标准的功能性。
31.在使用视频编码器的3d点云编码中,从3d到2d的投影被用于生成将表示点云的视频。生成那些视频的最高效方式是使用3d斑块,它分割对象的表面并使用正交投影来生成分割的深度图像,这些图像被捆绑在一起并用作视频编码器的输入。此外,未通过投影步骤捕获的点也可以直接编码在视频信号中。在当前的点云标准中,无法对3d网格进行编码,因为没有定义的方法来对网格的连接性进行编码。此外,如果顶点数据稀疏,那么该标准执行不佳,因为它不能利用顶点之间的相关性。本发明的实施例包括使用v3c标准对网格进行编码以对体积数据进行编码的方法。此类方法对网格表面进行分割并进行关节表面采样和2d斑块生成。然后,对投影到2d斑块的顶点的位置、局部连接性和每个斑块进行编码。
32.还公开了用于用信号通知连接性和顶点位置的方法,从而使得能够重构原始输入网格。此外,还公开了用于对在表面投影阶段期间未捕获的三角形进行编码的方法。将未投影的三角形顶点编码为点,并将点坐标直接添加到视频数据。进一步的元数据提供从在视频序列中编码的编码顶点数据重构三角形列表并恢复三角形的顶点的颜色数据的高效方式。密集网格压缩能够应用于密集时变网格,其网格属性(诸如纹理)由纹理坐标或者使用每个顶点的颜色来描述。
33.图1图示了根据一些实施例的密集网格编码的方法的流程图。在步骤100中,接收或获取输入(密集)网格。例如,密集网格被下载(例如,从网络设备)或由设备(例如,相机或自主车辆)获取/捕获。
34.在步骤102中,执行网格体素化。网格能够具有浮点数的顶点位置,因此这些位置被转换到整数空间。v-pcc和v3c假设体素化的点云。
35.在步骤104中,实现斑块生成(或创建)。斑块生成能够包括:法线计算、邻接计算、初始分割;细化、斑块投影和斑块光栅化。法线计算是计算每个三角形的法线(例如,三角形的边的叉积)。邻接计算涉及计算每个三角形的邻接关系(例如,网格中的哪些三角形相邻或接触当前三角形或其它三角形)。初始分割包括根据朝向对法线进行分类。例如,三角形的法线能够指向上、下、左、右、前或后,并且能够基于方向/朝向进行分类。在一些实施例中,三角形基于它们的法线的朝向进行颜色编码(例如,法线指向上的所有三角形都被涂成绿色)。细化涉及定位离群值(例如,被蓝色三角形包围的单个红色三角形)和平滑掉离群值(例如,改变单个红色三角形以匹配其蓝色邻居)。通过分析邻居和平滑朝向(例如,调整法线的朝向)来执行细化。一旦存在光滑的表面,就执行斑块投影,这涉及为三角形的特定分类(例如,基于朝向)投影斑块。通过投影,顶点和连接性在斑块上示出。例如,这个示例中的身体和面部是分离的投影,因为存在具有不同分类的三角形将两者分开。尽管v3c和v-pcc对此不理解;更确切地说,v3c和v-pcc理解点,因此投影被光栅化(例如,表面上的采样点包括点的距离以生成几何图像和表面的属性)。光栅化的网格表面与v3c图像非常相似。斑块生成能够产生表面网格120和未投影的三角形130。未投影的三角形130被示为表面网格120中的缺失空间。未投影的三角形130可以由于多种原因而出现,诸如遮挡。
36.在步骤106中,实现网格编码。网格编码包括对表面网格进行编码并且能够是本文或于2021年1月28日提交的标题为“projection-based mesh compression”的美国专利申请序列17/161,300中描述的编码,该申请出于所有目的通过引用整体并入本文。
37.在步骤108中,实现三角形编码。三角形编码包括对未投影的三角形进行编码。如果连接的分量的界定框小于预定义区域,那么将三角形移动到分离的列表以进行独立的三角形编码。未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点。否则,将每个三角形投影到斑块。如果顶点的投影的位置已经被占用,那么将该三角形编码到另一个斑块中,因此将该三角形放入缺失三角形列表以供稍后再次处理。
38.在步骤110中,根据网格编码和三角形编码生成v3c位流。在一些实施例中,实现更少或附加的步骤。在一些实施例中,修改步骤的次序。
39.图2图示了根据一些实施例的示例性密集网格投影问题的图。并非所有三角形具有相同的分类。
40.图3图示了根据一些实施例的斑块生成的图。斑块生成涉及确定每个三角形的邻接邻域,计算每个三角形的法线,根据法线对三角形进行分类,并根据相邻值对类别进行细化。
41.图4图示了根据一些实施例的斑块光栅化的图,斑块生成过程的组成部分之一。斑块生成还包括生成三角形的连接的分量(具有相同类别的三角形共享至少一个顶点)。如果连接的分量的界定框小于预定义区域,那么将三角形移动到分离的列表以进行独立的三角形编码。这些未投影的三角形将不被光栅化,而是被编码为顶点,顶点具有相关联的颜色。
否则,每个三角形被投影到斑块。如果顶点的投影的位置已经被占用,那么将该三角形编码到另一个斑块中并进入缺失三角形列表以供稍后再次处理。可替代地,图(map)能够被用于识别重叠的顶点,并且仍然能够表示具有重叠顶点的三角形。对三角形进行光栅化以生成用于点云表示的点。
42.示出了原始体素化的顶点400。光栅化的表面点402(添加到点云表示)遵循网格的结构,因此点云几何形状能够与底层网格一样粗糙。但是,可以通过为每个光栅化的像素发送附加的位置来改进几何形状。
43.网格斑块数据单元(mpdu)能够被用于存储斑块中的点的列表以及网格的连接性,这些点是三角形的顶点,该连接性即使在投影之后也是相同的。连接性能够使用网格斑块数据单元进行编码。能够对整数值的列表进行编码,或者能够使用列表中的dpcm。更复杂的方法也是可能的,诸如edgebreaker或tfan。顶点的(u,v)坐标被编码,而不是(x,y,z)坐标。(u,v)位置能够被编码,或者dpcm方法是可能的。次序能够由连接性确定。能够使用平行四边形预测(例如,draco)。顶点的位置能够经由占用图被发送。
44.以下示出了示例性mpdu:
45.[0046][0047]
替代编码包括使用tfan或edgebreaker对斑块连接性进行编码,对顶点使用平行四边形预测,使用dpcm编码,或对顶点位置使用占用图。
[0048]
三角形信息被存储在三角形斑块数据单元(tpdu)中。tpdu存储斑块中的点的列表,这些点是三角形的顶点,三角形是根据图元指示形成的。图元指示包括:(0)分离的三角形:(0 1 2)、(3 4 5),(6 7 8),其中每三个顶点确定一个三角形;(1)三角形条带:(0 1 2)、(2 1 3)、(2 3 4),其中每个新顶点与先前的2个顶点生成一个新三角形,因为其中一些顶点被共享;以及(2)三角形扇形:(0 1 2)、(0 2 3)、(0 3 4),每两个新顶点生成以第一顶点为中心的新三角形。
[0049]
换句话说,有许多顶点,并且生成/确定顶点的连接性。生成/确定连接性的方式有很多:分离的三角形(每三个顶点被编码)、三角形条带(如果三角形共享顶点,那么可以将它们编码为条带)或三角形扇形(如果三角形共享单个顶点,那么它们可以被编码为扇形)。
[0050]
图5图示了根据一些实施例的三角形分组的图。三角形斑块数据包括斑块中的点的列表,这些点是三角形的顶点。可以有分离的三角形500(单独的、不相连的三角形)、三角形条带502(多个、连接的三角形)或三角形扇形504(在一个顶点处连接的多个、连接的三角形)。
[0051]
能够使用任何方法打包三角形斑块数据,诸如分量打包(类似于打包raw斑块)或其中为每个分量分配一行的行交织。
[0052]
颜色扩展将(x,y,z)坐标的打包改为行打包。类还指示颜色是否将被扩展,由于uv插值伪影,这对带纹理的网格是有用的。如果不使用扩展,那么按顺序写入颜色(cl c2 c3)。否则,它们被写成:[c
0 c
1 c2;c
m c
m cm;c
0 c
1 c2],其中cm是三角形的质心位置的颜色值,这相当于三个顶点的平均颜色。通过颜色扩展,uv坐标应当指向中心像素。
[0053]
图6图示了根据一些实施例的视频图像中的三角形的编码的图。三角形的位置被编码在视频图像中(例如,视频图像中的x、y、z坐标)。打包坐标的方式有很多。在一个示例600中,首先是所有x坐标,然后是y坐标,然后是z坐标。在另一个示例602中,行交织实施方式被执行,然后将其用于实现颜色扩展。
[0054]
图7图示了根据一些实施例的斑块的三角形集合的图。描述了一种从断开的三角形(或连接的三角形)生成三角形斑块的方法。该方法还保证用来接着表示顶点的位深度在某个值内(例如,将10位数据分割成8位分区)。计算三角形的界定框,并且如果界定框的尺寸大于预定义的位深度,那么移除三角形并且不对三角形进行编码。在三角形的列表不为空时,具有预定义大小(2^numbits-l)的选择界定框被生成,其以第一个三角形的界定框的中心为中心。所有的三角形被循环通过,并且对于每个三角形,检查所选择的界定框是否包含三角形的界定框。如果它包含三角形的界定框,那么将该三角形添加到三角形斑块并从三角形的列表中移除。对于三角形的编码,代替于发送3d数据,仅仅发送界定框点、参考点和增量。
[0055]
如图7中所示,为三个分离的三角形中的每一个计算界定框,然后将选择界定框与三角形界定框进行比较,以及由于两个三角形界定框在选择界定框内,因此它们在同一个三角形斑块(例如,三角形斑块#1)中,而不在选择界定框内的第三个三角形位于第二个分离的三角形斑块(例如,三角形斑块#2)中。
[0056]
以下是示例性tpdu语法:
[0057][0058]
图8图示了根据一些实施例的使用没有颜色扩展的三角形斑块对密集网格进行编码的示例。如果三角形彼此相邻放置,那么在重构三角形时,有很多伪影。这是因为用于重构的颜色使用相邻点进行插值,这污染着色。避免污染的一种方式是使用顶点颜色而不是uv纹理,但这也有缺点。
[0059]
图9图示了根据一些实施例的使用具有颜色扩展的三角形斑块对密集网格进行编码的示例。除了顶点的颜色外,还包括三角形的颜色。三角形的中间颜色也被包括。这导致
准确得多的颜色(例如,更少(如果有的话)的伪影)并且类似于使用顶点颜色。这种实施方式显著增加了数据使用。颜色压缩可以被用于减少数据使用。
[0060]
为了改进颜色压缩,能够对于三角形斑块使用分离的视频流(使用带有raw斑块的辅助视频)。斑块中的三角形能够根据质心的颜色进行排序。这将聚集相似颜色值的三角形并创建更容易编码的图像。代替于使用顶点的(x,y,z)坐标,如果顶点已经通过网格斑块编码,那么打包在(x,y,z)数据中的斑块索引和顶点索引能够被发送。这也消除了移除重复顶点,只要顶点已经被编码即可。
[0061]
图10图示了根据一些实施例的应用于稀疏网格的三角形斑块实施方式的图像。三角形斑块能够应用于稀疏网格,但是颜色会受到影响,因为整个表面将由三种颜色的插值表示。但是,颜色技术扩展能够被用于改进纹理质量。图像1000示出了具有顶点颜色的编码。图像1002示出了没有颜色扩展的编码,它有很多伪影。图像1004示出了具有颜色扩展的编码,其具有比其它两个更好的质量。
[0062]
图11图示了根据一些实施例的被配置为实现密集网格压缩方法的示例性计算设备的框图。计算设备1100能够被用于获取、存储、计算、处理、传送和/或显示信息,诸如包括3d内容的图像和视频。计算设备1100能够实现任何编码/解码方面。一般而言,适于实现计算设备1100的硬件结构包括网络接口1102、存储器1104、处理器1106、(一个或多个)i/o设备1108、总线1110和存储设备1112。处理器的选择并不重要,只要选择了具有足够速度的合适处理器即可。存储器1104能够是本领域已知的任何常规计算机存储器。存储设备1112能够包括硬盘驱动器、cdrom、cdrw、dvd、dvdrw、高清盘/驱动器、超高清驱动器、闪存卡或任何其它存储设备。计算设备1100能够包括一个或多个网络接口1102。网络接口的示例包括连接到以太网或其它类型lan的网卡。(一个或多个)i/o设备1108能够包括以下当中的一个或多个:键盘、鼠标、监视器、屏幕、打印机、调制解调器、触摸屏、按钮接口和其它设备。用于实现密集网格压缩实施方式的(一个或多个)密集网格压缩应用1130有可能存储在存储设备1112和存储器1104中并且在应用通常被处理时被处理。比图11中所示更多或更少的组件能够被包括在计算设备1100中。在一些实施例中,包括密集网格压缩硬件1120。虽然图11中的计算设备1100包括用于密集网格压缩实施方式的应用1130和硬件1120,但是密集网格压缩方法能够以硬件、固件、软件或其任何组合在计算设备上实现。例如,在一些实施例中,密集网格压缩应用1130被编程在存储器中并且使用处理器来执行。在另一个示例中,在一些实施例中,密集网格压缩硬件1120是编程的硬件逻辑,其包括专门设计为实现密集网格压缩方法的门。
[0063]
在一些实施例中,(一个或多个)密集网格压缩应用1130包括若干应用和/或模块。在一些实施例中,模块还包括一个或多个子模块。在一些实施例中,能够包括更少或附加的模块。
[0064]
合适的计算设备的示例包括个人计算机、膝上型计算机、计算机工作站、服务器、大型计算机、手持计算机、个人数字助理、蜂窝/移动电话、智能电器、游戏控制台、数码相机、数码摄像机、照相电话、智能电话、便携式音乐播放器、平板计算机、移动设备、视频播放器、视频盘刻录机/播放器(例如,dvd刻录机/播放器、高清盘刻录机/播放器、超高清盘刻录机/播放器)、电视机、家庭娱乐系统、增强现实设备、虚拟现实设备、智能珠宝(例如,智能手表)、车辆(例如,自驾驶车辆)或任何其它合适的计算设备。
[0065]
图12图示了根据一些实施例的被配置为实现密集网格编码的系统的示意图。编码器1200被配置为实现编码过程。如本文所述,能够实现任何编码,诸如密集网格压缩。网格和其它信息能够被直接传送到解码器1204或通过网络1202传送。网络能够是任何类型的网络,诸如局域网(lan)、互联网、无线网络、有线网络、蜂窝网络和/或任何其它网络或网络的组合。解码器1204对编码的内容进行解码。
[0066]
为了利用密集网格压缩方法,设备获取或接收3d内容(例如,点云内容)。密集网格压缩方法能够在用户协助下实现或在没有用户参与的情况下自动实现。
[0067]
在操作中,与以前的实施方式相比,密集网格压缩方法使得能够实现更高效和更准确的3d内容编码。
[0068]
密集网格压缩的一些实施例
[0069]
1.一种方法,包括:
[0070]
对输入网格执行网格体素化;
[0071]
实施斑块生成,斑块生成将网格分割成包括表面网格和未投影的三角形的斑块;
[0072]
对表面网格执行网格编码;
[0073]
对未投影的三角形执行三角形编码;以及
[0074]
基于网格编码和三角形编码生成v3c位流。
[0075]
2.条款1的方法,其中网格编码包括确定和存储被投影的顶点的位置以及被投影的顶点的连接性。
[0076]
3.条款1的方法,其中三角形编码包括对在表面投影期间未捕获的三角形进行编码。
[0077]
4.条款3的方法,其中三角形编码包括仅使用顶点位置和颜色顶点信息对三角形进行编码。
[0078]
5.条款1的方法,其中三角形编码包括确定如果连接的分量的界定框小于预定义区域,那么未投影的三角形被移动到分离的列表以进行独立的三角形编码,并且未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点;否则,每个三角形被投影到斑块,并且如果顶点的投影位置已经被占用,那么在另一个斑块中对该三角形进行编码,因此该三角形被放入缺失三角形列表中以供稍后再次处理。
[0079]
6.条款1的方法,其中三角形编码使用三角形斑块数据单元。
[0080]
7.条款6的方法,其中三角形斑块数据单元将三角形存储为分离的三角形、三角形条带或三角形扇形。
[0081]
8.条款1的方法,其中三角形编码还包括颜色扩展实施方式,颜色扩展实施方式将三角形的颜色写为c
0 c
1 c2;c
m c
m cm;c
0 c
1 c2,其中cm是三角形质心位置的颜色值。
[0082]
9.条款8的方法,其中三角形编码还包括颜色压缩。
[0083]
10.一种装置,包括:
[0084]
用于存储应用的非暂态存储器,所述应用用于:
[0085]
对输入网格执行网格体素化;
[0086]
实施斑块生成,斑块生成将网格分割成包括表面网格和未投影的三角形的斑块;
[0087]
对表面网格执行网格编码;
[0088]
对未投影的三角形执行三角形编码;以及
[0089]
基于网格编码和三角形编码生成v3c位流;以及
[0090]
耦合到所述存储器的处理器,所述处理器被配置为处理所述应用。
[0091]
11.条款10的装置,其中网格编码包括确定和存储被投影的顶点的位置以及被投影的顶点的连接性。
[0092]
12.条款10的装置,其中三角形编码包括对在表面投影期间未捕获的三角形进行编码。
[0093]
13.条款12的装置,其中三角形编码包括仅使用顶点位置和颜色顶点信息对三角形进行编码。
[0094]
14.条款10的装置,其中三角形编码包括确定如果连接的分量的界定框小于预定义区域,那么未投影的三角形被移动到分离的列表以进行独立的三角形编码,并且未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点;否则,每个三角形被投影到斑块,并且如果顶点的投影位置已经被占用,那么在另一个斑块中对该三角形进行编码,因此该三角形被放入缺失三角形列表中以供稍后再次处理。
[0095]
15.条款10的装置,其中三角形编码使用三角形斑块数据单元。
[0096]
16.条款15的装置,其中三角形斑块数据单元将三角形存储为分离的三角形、三角形条带或三角形扇形。
[0097]
17.条款10的装置,其中三角形编码还包括颜色扩展实施方式,颜色扩展实施方式将三角形的颜色写为c
0 c
1 c2;c
m c
m cm;c
0 c
1 c2,其中cm是三角形质心位置的颜色值。
[0098]
18.条款17的装置,其中三角形编码还包括颜色压缩。
[0099]
19.一种系统,包括:
[0100]
一个或多个相机,用于获取三维内容;
[0101]
编码器,用于对三维内容进行编码:
[0102]
对三维内容的输入网格执行网格体素化;
[0103]
实施斑块生成,斑块生成将网格分割成包括表面网格和未投影的三角形的斑块;
[0104]
对表面网格执行网格编码;
[0105]
对未投影的三角形执行三角形编码;以及
[0106]
基于网格编码和三角形编码生成v3c位流。
[0107]
20.条款19的系统,其中网格编码包括确定和存储被投影的顶点的位置以及被投影的顶点的连接性。
[0108]
21.条款19的系统,其中三角形编码包括对在表面投影期间未捕获的三角形进行编码。
[0109]
22.条款21的系统,其中三角形编码包括仅使用顶点位置和颜色顶点信息对三角形进行编码。
[0110]
23.条款19的系统,其中三角形编码包括确定如果连接的分量的界定框小于预定义区域,那么未投影的三角形被移动到分离的列表以进行独立的三角形编码,并且未投影的三角形不被光栅化,而是被编码为每个顶点具有相关联的颜色的顶点;否则,每个三角形被投影到斑块,并且如果顶点的投影位置已经被占用,那么在另一个斑块中对该三角形进行编码,因此该三角形被放入缺失三角形列表中以供稍后再次处理。
[0111]
24.条款19的系统,其中三角形编码使用三角形斑块数据单元。
[0112]
25.条款24的系统,其中三角形斑块数据单元将三角形存储为分离的三角形、三角形条带或三角形扇形。
[0113]
26.条款19的系统,其中三角形编码还包括颜色扩展实施方式,颜色扩展实施方式将三角形的颜色写为c
0 c
1 c2;c
m c
m cm;c
0 c
1 c2,其中cm是三角形质心位置的颜色值。
[0114]
27.条款26的系统,其中三角形编码还包括颜色压缩。
[0115]
本发明已根据具体实施例进行了描述,具体实施例结合了促进理解本发明的构造和操作原理的细节。本文对特定实施例及其细节的这种引用并不旨在限制所附权利要求的范围。对本领域的技术人员来说将显而易见的是,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以在选择用于说明的实施例中进行其它各种修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1