来源于MPEG创始人与召集人Leonardo的博客https://blog.chiariglione.org/on-the-convergence-of-video-and-3d-graphics/
近年来,MPEG一直在探索如何有效地表示或者说如何压缩各种为用户提供动态的身临其境的视觉体验而产生的数据。这里所说的“动态”是指,拍摄出用户可以体验到物体在移动场景。
静态和动态在概念上听起来似乎并不重要。但是在实际中,无论在编码端还是解码端,处理静态场景的复杂度会比处理动态场景的复杂度低上几个数量级。这意味着相比于动态数据标准,工业界更需要静态数据压缩标准。
工业界已经指导MPEG开发两种3D图形标准。这两种标准在概念上相似,但针对不同的解决方案,涉及不同的技术。
1、点云。点云是由多个相机与深度传感器生成,它可以包含多达数十亿个具有颜色、材质属性和其他属性的点,以提供具有高度逼真的,自由交互和导航功能的重现场景。
2、多视点视频。多视点视频由多个摄像机生成,它从预先设定的一些视点来捕捉3D场景,也可以提供有限的导航功能。
用于这两种信息源的压缩算法也各有异同,本文的目的是简要描述通用点云以及在MPEG称为3DoF +的特殊情况下所涉及的算法(图1中)。并且研究两者算法的相似、差异的程度,以及它们在现在或者将来可以共享的技术。
图1 – 3DoF(左),3DoF +(中)和6DoF(左)
视频由一系列彩色像素矩阵组成,但是计算机生成的3D场景及对象并不像视频那样表示,而是由几何形状和外观属性(颜色,反射率,材质等)表示。换句话说,计算机生成的场景是基于模型的。
31年前,MPEG开始从事视频编码工作,而7年后,MPEG开始从事对计算机生成的3D物体的编码。MPEG-4的标题:“视听对象的编码”也可以看出MPEG打算共同处理两种媒体类型的雄心壮志。
在过去,视频和3DG小组(在为将来做准备时了解发展标准,以进一步了解能力中心和单位如何进行MPEG的工作)都在独立工作。而最近,3D场景对于行业已经变得很重要,工业界已经有了对现实世界中的3D对象的压缩需求。
视频和3DG小组根据自己的特定背景来解决该问题:
1、3DG小组使用点云,因为它是3维图形的表示形式(存在几何信息);而视频则使用从多个摄像机获得的视频(具有颜色信息)。
2、视频组提出了一种基于视频的解决方案(显然是因为没有要编码的几何信息),而3DG组提出了两种解决方案,一是直接对3D几何图形进行编码,称为G-PCC,另一种是将点云投影在固定平面上,称为V-PCC。在V-PCC中,由于几何是隐式的,因此可以应用传统的视频编码。
MPEG当前正在制定两种PCC标准:G-PCC标准,这是一种基于几何的方法,与常规视频编码没有太多交集;而V-PCC则在很大程度上依赖传统的视频编码。为什么我们需要两种不同的算法?因为G-PCC在“新”领域(例如汽车领域)做得更好,而V-PCC可以利用已经安装在手机上的视频编解码器。V-PCC将于2020年1月进入FDIS,对于产品的新颖性至关重要的工业界来说,V-PCC是相当有吸引力的。
V-PCC试图将3D云的点映射到2D网格的像素(图片)。为了提高效率,这种映射应该尽可能固定(即两个连续帧之间变化应当很小),并且不应引入可见的几何变形。然后,视频编码器可以通过最大化时间相干性和最小化距离/角度失真来利用点云几何和属性上的时间和空间相关性。
3D到2D映射如果可确保所有输入点都被几何图片和属性图片捕获,就可以实现无损压缩。如果将点云投影到立方体或球体上,则不能保证无损重建,因为遮挡(未捕获投影在同一2D像素中的点)可能会产生明显的变形。
为了避免这些负面影响,V-PCC将输入点云分解为“补丁”,可以通过简单的正交投影将其独立映射到2D网格。映射的面片不会受到自动遮挡的影响,并且不需要对点云几何图形进行重新采样,并且可以生成具有平滑边界的面片,同时将面片的数量和映射失真最小化。这是V-PCC通过应用图2的启发式分割方法解决的NP难题。
图2 :从点云到补丁
以下步骤提供了一个编码器操作方式的示例(注意:此时编码器还未标准化):
1、在每个点上,估计点云“表面”上的法线;
2、通过将每个点与形成单位立方体的六个平面之一相关联(每个点与具有最接近法线的平面关联),可以获得点云的初始聚类。也可以在对角线上投影;
3、通过基于每个点的法线和最近邻的聚类索引来更新与每个点关联的聚类索引,可以迭代地优化初始聚类;
4、通过应用连接的组件提取过程来提取补丁;
5、将如此获得的3D补丁投影并打包到同一2D框架中。
6、必须强制编码的每个点的唯一属性是颜色(请参见图3的右侧)。其他属性(例如反射率或材料属性)可以选择编码。
7、点到相应投影平面的距离(深度)用于生成使用传统视频编解码器编码的灰度图像。当对象很复杂且多个点投射到同一2D像素时,将使用两个深度层对近平面和远平面进行编码(请参见图3的左侧,其中一个深度层)。
图3 :补丁投影
3DoF +是一般视觉沉浸式情况的一种简单情况,该情况由MPEG-1中的part 12 “沉浸式视频”指定。为了为3DoF +提供足够的视觉质量,需要使用大量的源视图,例如30cm半径的观察空间需要10到25个视图。每个源视图都可以捕获为具有纹理和深度的全向或透视投影视频。
如果使用传统的2D视频编码标准(例如HEVC)对如此大量的源视图进行独立编码,则会生成不切实际的高比特率,并且需要昂贵的大量解码器来查看场景。
3D-HEVC的基于深度图像的渲染(DIBR)视图间预测工具可能有助于降低比特率,但是3D-HEVC编解码器并未得到广泛部署。此外,3D-HEVC的并行摄像机设置假设可能会影响使用任意摄像机设置的视图间预测的编码效率。
MPEG-1浸入式视频以3DoF +应用程序的支持为目标,使用有限数量的应用于适当预处理和后处理视频的传统2D视频编解码器,可显着降低编码像素速率和限制比特率。
编码器如图4所示。
图4:3DoF编码器的处理流程
下面说明3DoF +编码器的工作流程(请注意,此时该编码算法也未标准化):
1、从源视图中选择多个视图(可能是一个)。
2、选定的源视图称为基本视图,未选定的视图称为附加视图。
3、通过将基本视图与其他视图进行合成以删除非遮挡区域,可以修剪所有其他视图;
4、修剪后的其他视图中剩余的像素被分组为小块;
5、可以将特定时间间隔内的补丁进行汇总,以增加补丁形状和位置的时间稳定性;
6、聚集的补丁打包成一个或多个地图集(图5)。
图5:Atlas的构建过程
7、所选的基本视图和所有带有补丁的图集将被馈送到旧式编码器中(图6提供了输入外观的示例)
图6:带有补丁的纹理和深度图集的示例
图4的图集参数列表包含:图集的起始位置,源视图ID,源视图中的位置以及图集中所有补丁的大小的列表。摄像机参数列表包括所有指示的源视图的摄像机参数。
解码器(图7),执行以下操作
1、从元数据位流中解析出地图集参数和相机参数列表;
2、传统解码器从视频比特流中重建地图集;
3、根据图集参数列表和解码后的深度图集生成带有补丁ID的占用图。
4、当用户观看3DoF +内容时,将使用解码后的纹理和深度图集中的色块以及相应的色
5、块和相机参数来渲染与他们的头部的位置和方向相对应的视口
图7:3DoF +解码器的处理流程
图8显示了合成视口的质量如何随着视图数量的减少而降低。在24个视图中,图像看起来很完美,在8个视图中,地板上的试管几乎看不见伪像,但是只有两个视图时,伪像变得很明显。3DoF +的目标是在最右边的情况下使用比特率和像素率时获得最左边的图像的质量。
图8:合成视频的质量与观看次数的关系
V-PCC和3DoF +可以使用相同的2D视频编解码器,例如HEVC。对于3DoF +,编码器的输入和解码器的输出是包含补丁的纹理和深度图集序列,这些序列与V-PCC补丁有些相似,几何/属性视频数据序列也包含补丁。
3DoF +和V-PCC都具有描述图集或视频中补丁位置和参数的元数据。但是3DoF +应该描述每个补丁所属的视图ID及其摄像机参数以支持灵活的摄像机设置,而V-PCC只需指出每个补丁所绑定的6个固定立方体面中的哪一个即可。V-PCC不需要摄像机参数的元数据。
3DoF +使用渲染器在任何所需位置和任何方向生成合成视口,而V-PCC将解码视频的像素重新投影到3D空间中以重新生成点云。
此外,V-PCC的目标是重建3D模型,以获得每个点的3D坐标。对于3DoF +,目标是通过插值获得一些其他视图,但不一定是任何可能的视图。虽然两种方法都使用色块/图集并将它们编码为视频+深度,但是编码器和解码器却大不相同,因为输入、输出格式完全不同。
最后一个区别是两个小组如何开发他们的解决方案。众所周知,G-PCC在表示几何图形方面比V-PCC具有更大的灵活性。根据预期,G-PCC的压缩增益将比V-PCC的压缩增益更大。但是,V-PCC的最大优势是可以使用现有的和广泛部署的视频编解码器来使用。工业界不会接受V-PCC完全依赖于G-PCC的做法。
您可能会问:我了解PCC和3DoF +之间的区别,但是为什么在一开始,没有发现两者就有相似的发展趋势呢?这取决于MPEG的这个组织的自身性质。
如果它是研究中心,MPEG可以做到这一点。它可以随意将研究人员聚集到共同的项目上,并给他们适当的时间。最终,这种假设的MPEG可以合并并统一这两种文化(在其组织内部,而不是整个两个社区),确定共同的部分,并逐步定义解决方案的所有较低层。
但MPEG不是一个研究中心,它是一个标准组织,其成员是各公司“租借”给MPEG的员工,以开发公司所需的标准。因此,MPEG的主要任务是开发它的“客户”需要的标准。正如在为未来做准备的同时开发标准中所解释的那样,MPEG是一个灵活的组织,它可以完成开发行业需要的标准的主要职责,同时探索未来可以做的事情。
既然我们已经确定PCC与3DoF两者的共同之处,那么MPEG是否需要更改其组织形式?没有必要。请看图9的MPEG组织架构。
图9 –MPEG组织架构示意图
PCC工作是由3DG小组开发的(由于V-PCC和G-PCC差异很大,很快就变成了两个),而3DoF +标准由视频组开发。它们现在以及将来会有更多的具体的问题需要讨论。由于这些部门处于同一等级,因此他们现在可以轻松地交流。这种状态会持续一段时间,接下来将要应对下一个挑战:6DoF。在6DoF中,用户可以在与真实3D空间相对应的虚拟3D空间中自由移动。
传统的视频和3D图形工具也可以继续留在MPEG工具库中,并继续由新技术进行补充,使它们互相越来越友好
与一些人提倡的等级森严的组织不同,这是扁平而灵活的MPEG组织的力量。一个严格的层级组织(其标准是自上而下的)无法处理MPEG不断面临的相互冲突的需求
MPEG是技术融合的代名词,本文举例说明的只是最新的情况。这表明,随着更复杂的点云压缩技术的引入和支持6DoF完全导航的技术的出现,未来还会出现更多此类情况。
因为MPEG组织已被设计为允许单位位于相同或不同小组中时,可以以相当简便方式进行交流,因此无需更改MPEG组织结构就可以实现技术交流与融合,。
非常感谢 虞露(浙江大学)和Marius Preda(巴黎工业大学),他们是本文的真正作者。