沉浸式视频编码技术综述

2024-03-15 09:22曾焕强孔庆玮朱建清施一帆侯军辉
电子与信息学报 2024年2期
关键词:视点投影像素

曾焕强 孔庆玮 陈 婧 朱建清 施一帆 侯军辉

①(华侨大学信息科学与工程学院 厦门 361021)

②(华侨大学工学院 泉州 362021)

③(香港城市大学计算机科学系 香港 999077)

1 引言

沉浸感描述的是用户在虚拟世界中可以获得与真实世界一致的感受。沉浸感的获得受包括视觉、听觉在内的多种感官因素和认知、情绪等心理因素的综合作用。而视觉信息作为感官信息中占比最大的部分,是沉浸感的主要来源。提供沉浸感的视觉内容除了需要清晰度、色彩、刷新率等基本要求外,还需要提供给用户双目视差与运动视差[1],以获得立体感和运动感。这两种视觉特性与人在真实世界所获得的视觉感受是一致的,而能够满足这种内容特性的视觉内容称为沉浸式视频。电气电子工程师学会(Institute of Electrical and Electronics Engineers, IEEE)制定的沉浸式视觉内容标准[2]根据可支持用户自由运动的维度(Degrees of Freedom, DoF)不同,将沉浸式视频划分为3DoF视频和6DoF视频。其中3DoF视频可以支持用户获得3个空间旋转自由度,6DoF视频则是在3DoF的基础上增加3个平移自由度。由于沉浸式视频相比传统2维视频具有数据量大和视频形式复杂等特点,国际标准化组织(International Organization for Standardization, ISO)和国际电工委员会(International Electrotechnical Commission, IEC)下属的运动图像专家组(Moving Picture Experts Group,MPEG)于2016开启针对服务于虚拟现实(Virtual Reality, VR)、增强现实(Augmented Reality,AR)和混合现实(Mixed Reality, MR)等场景的沉浸式媒体的标准化工作,并将该标准命名为ISO/IEC 23 090 MPEG-I,考虑技术的实现复杂度,计划通过多阶段的标准化工作来实现沉浸式媒体的技术解决方案。目前,3DoF视频的标准化工作已完成,针对6DoF视频的工作还在推进中。

本文内容结构遵循上述对沉浸式视频的划分,第1节介绍3DoF视频编码技术,包括投影模型、运动预测和相关标准情况。第2节介绍6DoF编码技术,包括视频表示、虚拟视点合成技术和相关标准情况。最后,对沉浸式视频编码技术进行总结和展望。

2 3DoF视频编码技术

3DoF视频也称为全景视频(panoramic video)、360°视频或全向视频(omnidirectional video),是以一个球心为观察点,记录3维空间在各个方向上投影所得到的3维球面视频。观看者头部可以沿Z轴转动(yaw)改变观看的偏航角,沿X轴转动(roll)改变翻滚角和沿Y轴转动(pitch)改变俯仰角,如图1(a)所示。

图1 3DoF及视频系统

图1(b)是3DoF视频的一般系统框架。其中,3DoF的视频采集主要由覆盖多个不同角度的摄像机所组成的相机阵列系统实现,来自不同视角相机所拍摄的视频经过拼接、修复等后处理得到3DoF视频,处理后的3DoF视频被投影到2维平面以储存和编码。在3DoF视频系统的解码端,视频码流将被解码、反投影,并根据姿态传感器所获得的用户姿态信息生成相应观看区域的视频画面,即视口视频。

本节将依次介绍3DoF投影模型、运动估计模型和3DoF视频编码相关标准。

2.1 3DoF投影模型

投影是3维球面像素到2维平面像素的映射,从球面到平面的投影会带来冗余像素、形状失真和不连续边界等问题[3],进而造成编码效率的下降,因此,选择合适的投影模型十分重要。目前,投影模型主要包括基于地图的投影、基于图块分割的投影、基于多面体的投影和基于旋转的投影方式4类。

2.1.1 基于地图的投影距柱状投影(EquiRectangular Projection,ERP)是一种基于地图的线性投影变换,如图2所示。其中球面上的像素点位置用球面经纬度坐标系(φ,θ)表 示,2维视频像素位置用平面直角坐标系(u,v)表示。ERP格式投影过程简单,易于生成,帧内画面的连续性好,且赤道区域的画面没有畸变或畸变程度很小,因此是目前最常用的投影格式[4]。但由于平面内的均匀采样会使球面采样密度沿着经线向两极逐渐增大,使画面沿纬线在平面被水平拉伸,并且随着纬度增加这种问题越来越严重,在极点附近区域出现严重的几何拉伸畸变。一种改善拉伸畸变的方式是进行非线性映射,如柱状等面积投影(Equal-Area cylindrical Projection, EAP)通过加入拉伸因子使平面上纬线非等间距分布,这样相同纬度差的区域在球面上覆盖相等面积,改善了ERP在极点附近采样密度过大的问题。 调整后的柱状等面积投影(Adjusted Equalarea Projection,AEP)则进一步改进了EAP,加入采样率修正参数β使极点区域的收缩程度变小,改善了极点采样率为0的问题。基于地图的投影映射过程简单,画面连续性好。

图2 ERP格式投影示意图

2.1.2 基于图块分割的投影

为了改善基于地图投影存在的极点区域畸变拉伸严重等问题,文献[5]在ERP模型基础上,基于图块(tile)分割的方式将球体分割成不同的区域,不同的区域采用不同的投影参数或模型[4]将投影平面依据纬度划分为不同的图块,并调整每块图块的球面采样率,纬度越高的图块对应的采样率越低,以改善ERP格式极点区域画面畸变问题,同时相比ERP格式减少了34%的像素浪费,有助于提高编码效率。

文献[6]在文献[5]的基础上,提出一种改进型的图块分割方案,将球体的极点区域投影为球形,相比文献[5],减少了10%的像素,进一步提高编码效率。而文献[7]考虑到分割多段图块的方式降低了画面的连续性,提出分段球体投影(Segmented Sphere Projection, SSP)将球体依据纬度划分为3个区域,两个极点圆弧面区域的投影为圆形,赤道区域以ERP的方式投影,将平铺区域减少到3个,提高了画面连续性,如图3所示。基于图块分割的投影方案不仅可以缓解过采样带来的像素浪费问题,而且有利于在视频流传输场景中实施针对不同区域和内容的图块差别化编码,从而在有限的传输带宽条件下提升用户的视觉质量[4,8]。

图3 分段球体投影模型[7]

2.1.3 基于多面体的投影

立方体映射投影(Cube Map Projection, CMP)[9]将球面投影到球外接立方体上,再将立方体展开成6个表面并重新排列成紧凑形式得到投影平面,如图4所示。相比基于地图的投影,CMP适用于局部视角的渲染,因此常应用于VR游戏中。CMP中每个面内的画面畸变小,有利于进行面内运动估计和补偿。CMP模型的主要缺点是压缩性能低,相比原始球面,CMP的过采样率高达190%,相比ERP提升了33%,这源于面内采样率不均匀,面内采样率从面中心到顶角逐渐增大。

图4 CMP模型[9]

为了改善CMP模型的过采样问题,考虑采用更多面的外接多面体来逼近理想采样率。如文献[10]提出的12面体投影,文献[11,12]提出的8面体投影(OctaHedron Projection, OHP),以及文献[13]提出的20面投影(IcoSahedron Projection, ISP)。但是这类方法在降低采样率的同时带来了更多的人工接缝,降低了画面连续性,影响跨投影面的运动估计(Motion Estimation, ME)和运动补偿,进而降低编码效率。

因此,一些工作通过引入非线性映射来调整采样率。如由高通公司(Qualcomm)提出的调整后的立方体映射投影 (Adjusted Cubemap Projection,ACP)[14]在CMP的基础上加入了多项式映射函数,改变原有CMP采样点分布密度。谷歌公司提出的等角度立方体映射投影(Equi-Angular Cubemap,EAC)[15]通过等角映射函数使采样点等立体角分布,相比ACP拥有更好均匀采样性,进一步提高了编码效率。文献[16]针对EAC提出一种改进型投影模型混合等角度立方体映射投影(Hybrid Equiangular Cubemap, HEC),将不同的映射函数应用于立方体的各个面,提高了采样率均匀性,并改善了EAC中相邻画面的连续性,提高了压缩性能。虽然相比传统的CMP模型,ACP,EAC,HEC等改进模型提高了编码效率,但是采样率分布与变换函数是固定的。文献[17]提出一种根据内容自适应调整采样函数的混合立方体映射投影(Hybrid Cube-map Projection, HCP)模型,该模型根据内容来自适应选择采样函数,可进一步提高编码质量。考虑视频内容对投影模型压缩性能的影响,文献[18]提出一种将旋转角度选择与编码框架结合的方法,根据内容调整球体旋转角度,改变画面的分布情况,并通过对比率失真代价,选择最佳旋转角度。文献[19]则通过引入神经网络学习不同旋转角度下的视频压缩性能,学习后的网络模型可以根据视频内容旋转压缩性能最优的旋转角度。

投影模型的改进目标一方面是降低过采样率,减少比特开销,提高编码效率;另一方面是减轻画面几何畸变对传统预测模型性能的影响。但物体的运动信息在投影后不可避免地发生了复杂的变化,需要新的运动估计模型来更好地描述。

2.2 3DoF视频的运动估计模型

如上所述,3DoF视频中物体的运动经投影到平面后会变成复杂的非线性运动,且由于投影带来的采样密度变化引入了不同程度的扭曲(warp),使画面产生了复杂的几何失真。因此,基于像素块的平移运动模型和仿射运动模型[20]等传统的运动表示模型无法直接用于3DoF视频的运动估计。

文献[21]从传统平移运动模型出发,通过与球面相切的平面上的平移运动来近似表示球面上物体的运动,相比传统平移模型具有更高的视频质量增益。文献[22]考虑了相机运动对视频内容的影响,在文献[21]基础上加入沿球径向方向的运动,在动态相机场景下获得了更高视频质量提升。文献[23]则将物体的运动转换为物体沿测地线平移,可以更精准地描述实际场景中物体的运动状态。文献[24,25]使用块内像素的绕轴转动来代替平移运动,更好地保留了块的形状和大小。文献[26]提出基于球坐标变换的运动模型(Spherical Coordinate Transformbased Motion Model, SCTMM),编码块的运动通过球域中的3维运动矢量(3D Motion Vector,3DMV)来表征,并考虑到现有编码器缺少对3DMV的支持,将3DMV转换为2DMV和相对深度参数来表示,嵌入现有2D视频编码器中,提高了视频压缩效率。虽然相比平移模型和仿射模型,使用3DMV的运动估计模型获得了更高的编码效率,但也提高了编码复杂度。文献[27]认为基于像素的运动模型忽略了潜在空间相关性,因此将变换域时间预测方法(Transform Domain Temporal Prediction,TDTP)[28]应用于3DoF视频的帧间预测。具体来说是通过离散余弦变换 ( Discrete Cosine Transform,DCT)等变换对像素块进行空间去相关,并将每个变换系数的时间建模为一阶回归方程。在ERP, CMP等投影格式上,TDTP的压缩性能均优于高效视频编码(High Efficiency Video Coding, HEVC)的默认帧间预测方式。

2.3 3DoF视频编码标准

由于3DoF视频远超出一般视频的覆盖范围,在像素密度一致的情况下,3DoF视频的数据量相比平面视频将成倍增加,因此MPEG制定了MPEG-I标准,并于2017年底完成了MPEG-I标准的1a阶段,该阶段规定了3DoF沉浸式媒体的相关技术标准,包括全向媒体格式的(Omnidirectional MediA Format, OMAF)[29]标准,3DoF音频的MPEGH[30]标准。为了实现3DoF视频编码,国际电联电信标准化部门(International Telegraph Union-Telecommunication standardization sector, ITU-T)与ISO/IEC联合成立的联合视频专家组(Joint Video Experts Team, JVET)开发了360Lib软件平台[31],支持ERP,AEP,CMP,HEC等14种投影格式,并提供在不同投影格式之间的转换或同格式不同参数之间的转换功能。

360Lib可以渲染指定视口的视频,将其与HEVC[32]或通用视频编码(Versatile Video Coding, VVC)[33,34]等2D视频编码器结合,可完成对3DoF视频的编码工作。其中,VVC加入针对3DoF视频的两个编码工具:(1)应用于帧间编码的水平环绕运动补偿,用以提高运动估计的编码效率;(2)禁用跨虚拟边界的环路滤波,以降低人工边界产生的失真。

JVET为3DoF视频编码的算法测试提供了标准测试数据集[35],包含10个自然场景的视频序列,分辨率包括8 192×4 096和 6 144×3 072。由于原有的平面质量评估指标如峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)等不再适用于3维球域视频特性,为此,研究者们提出了适用于球域的客观质量评估指标 基于球面的峰值信噪比(Sphere based PSNR, S-PSNR)[36]、基于球面的加权峰值信噪比(Weighted-to-Spherically-uniform PNSR, WSPSNR)[37]和基于克拉斯特抛物线投影的峰值信噪比计算(Craster Parabolic Projection PSNR, CPPPSNR)[38],作为JVET用于评估3DoF视频质量的指标。

3 6DoF视频编码技术

相比仅支持用户头部转动的3DoF视频,6DoF视频在旋转自由度的基础上增加了平移自由度,如图5(a)所示,允许观众在场景中自由移动位置和改变视角,因此,6DoF沉浸式视频也可称为自由视点视频(Free-View Video, FVV)。相比3DoF视频,6DoF视频可以提供更接近真实世界的沉浸感,进一步扩展了应用场景。然而,自由度的提升也导致了采集、编码、传输、渲染、显示等环节的技术难度复杂度显著提高,因此6DoF视频编码技术引起了研究者们的广泛关注。

图5 6DoF及视频系统

6DoF视频系统框图如图5(b)所示。系统需要提供给用户任意视点的视频内容,但是预先获取或存储所有视点的视频视点数据是不现实的,因此,6DoF视频需要更高效的高维视觉数据表示形式来表征3维场景信息。不同的数据表示形式对应不同的编码方法,6DoF编码器将视频转化为比特流传输给解码器;在解码端,解码后的视频根据姿态传感器获得的姿态信息,通过渲染器,利用虚拟视点合成技术将高维视觉数据合成出所需的目标视点。

本节分别介绍6DoF视频数据表示形式、虚拟视点合成技术和6DoF视频编码标准。

3.1 6DoF视频表示形式

目前用来表示6DoF视频内容的数据形式主要有3种:点云(point cloud)、光场(light fields)和多视点加深度(Multiview Video plus Depth, MVD)格式视频。

点云是一系列高维无序点的集合,集合中的点拥有包括坐标、颜色、时间、法线、透明度等多种信息,是一种可以对3维场景进行高精度表示的数据形式,如图6(a)所示,每个3维点数据包含3维坐标和以 红绿蓝(Red Green Blue, RGB)格式存储的颜色信息。点云广泛应用于自动驾驶、测绘、建筑建模等各类3维重建场景,可以通过激光探测及测距(Light Detection And Ranging, LiDAR)技术从3维场景采集,也可以从2维影像数据获得。

图6 6DoF视频表示形式

光场是通过高维函数描述光线在空间中的分布情况,最初由文献[39]提出,用7维函数L(x,y,z,θ,ϕ,λ,t) 来描述3维场景中光线的传播情况,表示t时刻以方向角度 (θ,ϕ) 通过点 (x,y,z)的波段为 的光线强度,该函数也称为全光函数(plenoptic function)。然而全光函数的高复杂度不利于后续处理,因此文献[40]基于光线传播时波长不变的假设,提出静态的5维光场模型L(x,y,z,θ,ϕ,λ,t)。文献[41]则进一步简化得到4维光场模型L(u,v,s,t),用两个平面上的两点 (u,v) , (s,t)代表通过该两点的光线。光场数据可由相机阵列或光场相机等方法获取,通常情况下会转换为多视点表示的形式存储,光场数据表示为不同视点的2D图像根据一定组成顺序排列在网格中的形式,如图6(b)所示。

MVD格式视频是来自不同视点的多视点彩色纹理视频与深度图视频的集合,主要通过相机阵列获得。图6(c)是根据相机阵列在空间中相对位置排布的16个视点的彩色纹理图像,图6(d)是与其对应的深度图。其中,深度图是一种本征图像,其像素值反映的是物体与成像平面的距离。深度图视频可以由深度相机采集获得,也可以从纹理视频中进行深度估计获得[42]。深度图可以帮助渲染器进行更精确的几何重建,因此,相比只包含纹理内容的多视点视频(Multi-View Video, MVV),MVD格式视频,可获得更高的渲染质量。随着可同步获取彩色纹理视频与相应深度图的RGB-D相机的逐渐成熟,以MVD格式视频为表示形式的沉浸式视频得以发展。

3.2 虚拟视点合成技术

上述的6DoF视频表示形式需要利用虚拟视点合成技术来生成用户所需要观看的视点视频,虚拟视点合成技术根据源数据类型和渲染技术可分为基于模型的渲染(Model-Based Rendering, MBR)、基于图像的渲染(Image-Based Rendering, IBR)和基于神经网络的渲染(Neural-Based Rendering,NBR)3类。

3.2.1 基于模型的渲染

基于模型的渲染是计算机图形学中最经典的渲染方法。先对场景进行3维建模,并赋予3维模型正确物理材质属性,再通过渲染器渲染生成目标视点[43],渲染的图像质量主要取决于模型的物理正确性。其中,3维建模是指将3维场景表述为某种基元的集合,常见的基元包括网格(mesh)、体素(voxel)和点云等。网格是由一组顶点和连接它们的曲面组成的一种经典的3维表面重建基元,最常用的是三角形网格。体素,是体积像素(volume pixel)的简称,是一种3维体积重建基元。与平面像素类似,体素表示规则间隔的3维网格上的样本点。点云作为一种非结构化的离散数据既可以用于表面重建也可以用于体积重建,由于点云本身不包含几何和拓扑信息,在3维建模时通常被转换为网格或体素等结构化组织形式[44,45]。场景建模后,渲染器将摄像机内外参数、场景的光照情况和模型材料表面的物理属性等场景参数转换为目标虚拟摄像机视点,常用的渲染方法有光栅化(rasterization)和光线追踪法(ray tracing)。基于模型的渲染方法复杂度较高,但是可以实现任意精度的高质量渲染,常用于计算机生成内容 (Computer-Generated content, CG)、电影特效等领域。

3.2.2 基于图像的渲染

与基于模型的渲染方法将3维内容投影到2维平面的渲染方法不同,基于图像的渲染不会对场景进行显式的3维重建,而是转换现有的一组源图像获得新视点[46]。基于图像的渲染技术根据对几何信息的需求程度可以分成3类:无几何渲染,隐式几何渲染和显式几何渲染[46]。其中,无几何渲染的核心工作是如何从离散样本中构造光场函数,以及对光场函数进行采样以得到目标视点。隐式几何渲染通过图像内的位置关系来获取隐式几何信息,并通过视点插值、视点变形等方法生成新视点。显式几何渲染方法需要精确的场景几何信息,如3维坐标、深度信息等。其中,以深度信息作为几何信息来源的方法称为基于深度图的虚拟视点合成技术(Depth-Image-Based Rendering, DIBR)[47]。基于图像的渲染无需场景的预设信息,渲染复杂度较低,但是渲染质量往往受限,常用于沉浸式视频等领域。

3.2.3 基于神经网络的渲染

基于神经网络的渲染将机器学习技术与计算机图形学的物理知识相结合,以可控的方式生成新的图像或视频[43]。早期基于神经网络渲染方法主要用基于学习生成的神经网络代替人工设计的启发式算法。如文献[48]提出的深度渲染(deep blending)通过神经网络来预测投影源图像的混合权重,代替传统IBR方法中人工设计的权重混合算法,相比经典IBR方法减少了伪影,提高了渲染质量。文献[49]提出的渲染网络 (render net)利用神经网络来代替MBR方法中的渲染器,以体素作为底层模型,通过3D卷积网络计算场景中可见性,由2D卷积网络计算场景阴影并生成3维模型的法线图,并与光源信息结合计算场景光照情况,提高渲染质量。另一些工作使用神经网络来表示3维模型的表面或体积属性[50],代替传统建模方法。文献[51]提出使用神经网络来预测网格上每个表面点的颜色值,得到用于表示网格表面纹理的纹理场。文献[52]提出的深度体素(deep voxels)网络可以从多视点场景学习到3维特征体素网格中,代替传统的体素建模方式,并从该3维特征体素网格生成目标新视点。近期,基于神经网络的渲染出现以神经辐射场[53,54]为代表的完全基于神经元进行场景建模和渲染的方式,神经辐射场通过全连接网络学习3维空间中场景密度和辐射强度分布,基于光线投射和体积积分的渲染方式实现了任意角度的高精度渲染。神经辐射场以相对简单的方法提供高质量渲染效果,引起了研究者们的广泛关注。关于更详细的基于神经网络的渲染可以参见文献[43,55]。基于神经网络的渲染作为近些年新兴的研究热点,随着技术的进一部发展,有望在渲染复杂度和画面质量等方面达到综合增益,可应用于沉浸式视频等领域。

3.3 6DoF视频编码技术

3.3.1 点云编码技术

点云的主要压缩方式包括基于遍历的1维方法,基于投影的2维方法和基于几何的3维方法3类[56]。由于点云没有连通性信息来提供点之间的几何相关性,因此1维遍历压缩方法通过点之间的几何距离产生的邻域关系来构造一个基于树的连通性,之后利用树的遍历算法将几何数据转换为适合预测的1维信号。在基于2维投影的压缩方法中,通过投影或映射将3维点云转换为2D图像或视频,然后利用现有的图像或视频编码技术进行压缩。在基于几何的3维压缩方法中,主要利用八叉树结构表示点云,并结合八叉树结构特性进行压缩。

为了给点云压缩提供标准化支持,2017年MPEG发起了点云压缩建议征集[57],目标是针对点云的3大类应用制定压缩标准。包括用于表示静态物体和场景的静态点云,用于沉浸式视频和VR应用的动态时变点云,以及用于无人驾驶领域的实时获取的动态点云。文献[57]最终制定了两种编码标准:基于3维几何压缩方法的基于几何的点云压缩(Geometry-based Point Cloud Compression, G-PCC)

标准[58]和基于2维投影压缩方法的基于视频的点云压缩(Video-based Point Cloud Compression, VPCC)标准[59]。前者适用于静态点云和实时获取的动态点云;后者适用于动态时变点云,更适用于6DoF视频中点云数据的压缩。

3.3.2 光场编码技术

光场的压缩方法主要包括基于变换的方法和基于预测的方法[60]。基于变换的方法利用光场在变换域中的相关性,通过变换编码技术去除光场中的冗余数据。根据所使用的变换方法的不同,可分为基于离散余弦变换(Discrete Cosine Transform, DCT),基于离散小波变换(Discrete Wavelet Transform,DWT),基于Karhunen Loève变换和基于图傅里叶变换(Graph Fourier Transform, GFT)4类。基于预测的方法利用图像在像素域的相关性来压缩冗余,根据光场数据的组织形式,可分为基于伪视频序列和基于多视点格式两类[61]。

2015年,联合图像专家组(Joint Photo-graphic Experts Group, JPEG)开始了面向点云、光场和全息3维数据压缩的JPEG Pleno标准[62]。目前,该标准针对光场数据提供了JPEG Pleno光场编码器,其余数据类型的编码方案还在探索阶段。

3.3.3 MVD格式视频的压缩

MVD格式视频是MPEG-I标准中用来表示6DoF视频的主要形式之一,该格式视频的相关标准化工作最初开始于MPEG面向3维电视(3D-TV)和3维视频(3DV)的应用。为了实现3维视频编码的需求,2012年7月ISO/IEC MPEG与ITU-T 视频编码专家组VCEG成立了3维视频编码扩展开发联合协作小组(Joint Collaborative Team on 3D Video coding extension development, JCT-3V),针对AVC与HEVC开发3D视频编码标准,并制定了MVC, 3D-AVC,MV-HEVC和3D-HEVC标准[63]。

其中,3D-HEVC的编码结构如图7所示,3DHEVC将同一视点(view)下的纹理图或深度图划分为一个层(layer),将相同时间的图片划分为同一个访问单元(Access Unit, AU),每个AU内的第1个图片层为基础层,之后的图片层作为增强层。基础层编码时采用HEVC编码器独立编码,而增强层(非基础层)需要参考已编码的层信息,因此编码顺序为从第0层到第n层,并且每个AU的编码顺序一致。3D-HEVC主要依靠图片内预测,层间预测和AU间预测来消除视频冗余,相比普通2D视频的帧内预测和帧间预测,3D-HEVC的预测情况更多,因此3D-HEVC引入了许多新的编码技术来提高编码效率。如为了消除相邻视点的纹理信息冗余引入的相邻块视差矢量(Neighboring Block Disparity Vector, NBDV),并将运动估计由帧间扩展到视点间的视点间运动估计;利用深度图改善纹理图编码性能的基于深度图块分割技术(Depth-Based Block Partitioning, DBBP)[63];以及针对深度图特性提出的帧内预测深度模型模式(Depth Modeling Modes,DMM)等。

图7 3D-HEVC编码结构

由于3D-HEVC所采用的基于预测的压缩算法受限于相机排列方式,它无法适应6DoF沉浸式视频中可能出现的任意相机排列方式的场景,并且也不支持包括全向视频在内的3DoF视频内容。因此,3D-HEVC不能直接用于6DoF视频编码。因此MPEG针对6DoF视频编码于2019年开始运动图像专家组沉浸式视频(MPEG Immersive Video, MIV)编码标准的制定工作。

3.4 MIV编码标准

MIV编码标准由MPEG提出,隶属MPEG-I系列标准中的第12部分,于2019年5月发布了测试模型运动图像专家组沉浸式视频测试模型(Test model for MPEG Immersive Video, TMIV)[64],并发布测试数据集[65]以及全参考质量评价指标(PSNR for Immersive Video, IV-PSNR)[66],测试数据集包括20个视频序列,相机模型包含透视相机和全景相机两种。由于MIV标准在制定过程中参考了V-PCC标准中的术语、定义、语法语义和解码过程,二者在码流格式和解码过程中存在许多技术重叠,因而MPEG-I将V-PCC与MIV的公共内容独立出来进行标准化,命名为(Carriage of Visual Volumetric Video-based coding data, V3C)[67],主要规定了沉浸式视频数据的码流格式等内容。

与3D-HEVC通过预测压缩视点间冗余的方式不同,MIV采取基于视点合成的方式来压缩多视点间的冗余信息。MIV标准的系统框架如图8所示,主要包含输入数据、编码,解码和渲染4个部分。其中,输入数据需要提供多视点视频数据以及相应的视点参数;编码由TMIV编码器和传统2D视频编码器共同完成;解码过程遵循MIV标准[68]中规定的规范解码过程,包括解复用、比特流解析、视频解码、帧解包、块到补丁图解码以及产生一致性点等;渲染环节,MIV提供了从一致性点开始的非规范参考渲染器,主要包括块到补丁图的过滤,重建过程,几何处理,视点合成和视口过滤等环节。

图8 MIV编解码框图

3.4.1 MIV的输入数据格式

MIV输入数据称主要包括视点参数和视频数据两部分。视点参数包括相机内外参数,量化深度等;视频数据则包含场景内的纹理属性、透明度、深度等信息,通常以MVD格式或多层图像(Multi-Plane Image, MPI)[69]格式存在。其中MIV默认使用的输入数据是以 MVD形式存在的视频数据,由彩色纹理视频与深度图视频组成。MPI是3维场景的一种多层表示,由一组平行排列的红绿蓝透明度(Red Green Blue Alpha, RGBA)图像组成,可以同时表示属性信息、几何信息和被遮挡的场景元素,可以更好地表示非Lambertian效应[69]。

3.4.2 MIV图集及编码

MIV将输入的视频数据编码为一种多视点视频的紧凑表示形式——图集(atlas),图集由所有视点中的非冗余像素组成,创建流程如图9所示。创建图集的第1步需要先确定基础(base)视点与额外(additional)视点,基础视点由基于中心点划分(Partitioning Around Medoids, PAM)算法根据视点间的欧式距离来确定,该环节称为视点标记,如图9(a)所示, v0, v4, v8和v12选为基础视点,其余视点为额外视点。第2步需要用基础视点修剪额外视点中的冗余像素,TMIV用修剪图(pruning graph)来表示视点间的修剪关系,父节点将被投影到子节点来删除子节点中的像素。修剪图的创建过程首先将基础视点作为修剪图的根节点,如图9(b)中视点v0和v4作为基础视点,将其所有像素投影到其他的额外视点上,计算投影后像素与目标位置像素之间的差异,差异值在阈值范围内的位置会生成修剪掩码,修剪掩码所覆盖的像素将不被保留。所有额外视点中剩余像素最多的视点将被插入修剪图中,如图9(b)中的视点v5,得到新的修剪图。继续该过程直到所有视点都被插入修剪图中,如v1,v3,v2,形成修剪图0。由于该修剪过程会随着基础视点数目的增加而提高复杂度,在基础视点与额外视点数目相等时复杂度达到最大。因此TMIV将视点根据视点位置关系划分为不同的修剪簇,从而将修剪图划分为数张子图,子图之间独立修剪以降低复杂度。如图9(b)所示,源视点划分成两个修剪簇,生成两个修剪子图。最后根据修剪图修剪后的视点如图9(c)所示。

图9 图集创建流程

第3步将各视点修剪后的剩余像素根据邻域关系进行聚合,划分为大小不一的像素簇,称作补丁(patch),如图9(d)所示。其中,基础视点被划分为单一补丁;额外视点则根据邻域连通性划分为多个补丁。最后一步将所有补丁打包(pack)进图集中,如图9(e)所示。在打包过程中,基础视点对应的补丁会优先先打包进同一图集(atlas 0),其余补丁根据顺序打包进图集的空白区域,在图集满了之后继续打包进下一图集(atlas 1),并且为了最大化利用空间,打包过程中会将大块的补丁进行分割和旋转。同时,TMIV根据各视点中内容的前后景关系生成一个ERP格式的修复背景视点也打包进图集,如图9(e)中右侧所示。

每个编码得到的图集视频序列由 2D视频编码器编码以进一步的压缩。目前,TMIV默认的2D视频编码包括HEVC[32]标准下的HM测试平台和H.266/VVC(Versatile Video Coding)[70]标准下的VVenc[71]。由视频编码器得到的多路视频比特流与TMIV创建图集生成的元数据比特流将进行多路复用,得到最终的输出比特流。

3.4.3 MIV参考渲染器

在经过解码器将数据解码到标准所规定一致性点后,需要通过虚拟视点生成技术来根据所获取的姿态信息(方位和观看方向)生成目标视口视频。MIV提供的参考虚拟视点合成方法采用基于DIBR技术,并在TMIV中提供了两个参考的渲染工具:参考视点合成器(Reference View Synthesizer, RVS)[72]和视点加权合成器(View Weighting Synthesizer,VWS)。

RVS渲染器首先从解码得到图集数据中创建三角形网格,然后根据源相机参数与目标相机参数将源视点投影到目标视点,最后进行栅格化和像素融合,融合后的像素值取决于所有参与融合的像素加权和,加权系数与视点间距、景深和栅格形变程度有关。VWS渲染器会首先计算每个视点的权重,视点权重的计算取决于源视点与目标视点的几何距离,像素的权重由所属视点的初始权重与被该像素修剪的像素所属子视点权重加权和得到。之后通过将每个视点内像素的重投影到目标视点来每个源创建一个翘曲后的几何图,并将这些几何图根据源视点权重融合为一个可见性图,并根据可见性图中的可见性与视点权重进行像素融合得到像素值。与RVS不同的是,VWS在重投影过程中采用的是基于粒子的栅格化方法而不是基于网格的,并且当像素可见性失效时,VWS会通过编码阶段创建的修复背景数据进行着色以提高渲染质量。因此,MIV目前默认使用的是VWS渲染器。

4 总结与展望

4.1 总结

随着VR,AR等呈现设备的逐渐成熟以及元宇宙概念的兴起,沉浸式体验已成为了未来视觉内容的发展方向,有着广阔的应用前景,受到学界和业界的广泛关注。由于沉浸式视频数据形式显著区别于传统2D视频,现有的视频编码技术无法直接高效编码沉浸式视频,从而引起了沉浸式视频编码研究的热潮。随着沉浸式体验感要求的提高,视频自由度提高了,沉浸式视频编码也从3DoF发展到了6DoF,编码复杂度随之增加,这对编码技术的各个环节提出了挑战和要求,从数据形式到编码框架再到合成渲染。需要融合各个环节的综合考量,才能更有效地提高沉浸式视频编码的效率,提供更好的沉浸感。近些年,关于3DoF沉浸式视频的研究工作已经出现大量成果,而6DoF沉浸式视频的相关研究工作才刚起步。沉浸式视频编码技术的探索和研究将为沉浸式视频应用奠定基础。

4.2 展望

对于沉浸式视频编码未来可能发展的研究和面临的挑战,本文认为有以下几点值得探索:

(1) 新的沉浸式视频质量评估方法。沉浸式视频编码与2D视频编码之间的一个显著区别在于,沉浸式视频编码的对象并非最终用户所观看的内容。用户观看的内容需要通过渲染器实时获取用户的姿态信息,并进行渲染以生成最终的观看体验。因此,用户的沉浸式视频体验质量受到多个因素的影响,包括采用的渲染技术、用户的运动轨迹与速度、用户的生理与心理状态以及显示设备等,而这些因素的大部分信息是编码阶段所无法获取的。因此,需要探索新的沉浸式视频质量评估方法。新的质量评估方法需要在符合用户主观质量评价的前提下,同时能够反应编码质量与主观质量之间的相关性,从而指导沉浸式视频编码,提升沉浸式视频的编码效率与视觉质量。

(2) 适用异构数据的高效融合编码框架。如3.1所述,6DoF沉浸式视频的数据形式多样,差异较大,且各有优缺点。例如,点云和网格等体积数据可以对场景进行更精确的还原,但编码复杂度较高;而MVD数据则以降低还原质量为代价换取处理复杂度的下降。如果能够将场景中复杂且重要的对象以点云数据进行采集编码,简单且非重要的对象利用MVD数据进行采集编码,将有效利用两种数据的特性,提高编码质量。因此,需要探索能够统一不同数据形式、有效利用异构数据间联系的更高效、高质量的统一编码框架。

(3) 基于学习的方法在沉浸式视频编码的应用。近年来,基于深度学习的图像与视频编码方法取得了显著的进展,在编码效率方面已经能够与最新的传统编码技术持平。基于深度学习的沉浸式视频编码是一个值得探索的方向。另外,基于学习的渲染技术在高质量渲染方面已取得了较好的效果,利用基于学习的方法来挖掘编码与渲染之间的相互关系,并进行联合优化,有望进一步提高编码效率。

(4) 针对具体应用场景的沉浸式编码实现。考虑到计算能力、内存空间、带宽受限、延时敏感等视频流应用,还需要对视频内容及场景进行分析及分类编码,在编码效率、复杂度及实时性方面获得综合增益,提高编码的实用性。

猜你喜欢
视点投影像素
赵运哲作品
像素前线之“幻影”2000
解变分不等式的一种二次投影算法
基于最大相关熵的簇稀疏仿射投影算法
“像素”仙人掌
找投影
找投影
高像素不是全部
视点
让你每天一元钱,物超所值——《今日视点—2014精萃》序