虚拟现实视频编码优化研究-田雪松博士

2021-04-07

一、 360∘视频图像介绍

传统的光学摄影全景照片,是把90∘至360∘的场景(柱形全景)全部展现在一个二维平面上,把一个场景的前后左右一览无余地推到观者的眼前,更有所谓“完整”全景(球形全景),甚至将头顶和脚底都“入画”了,如图1所示。随着多媒体技术的发展,一种名为虚拟现实的新技术应运而生,这种技术可以通过实时演算为用户提供沉浸式的虚拟世界仿真系统。虚拟现实的360∘视频图像能够表示完整的球面信息,这些信息会以二维数据的形式存放在存储介质中,但从球面数据投影至二维数据时极易引入畸变以及像素冗余。因此,对于虚拟现实的360∘视频序列,直接使用传统的二维编码器进行压缩编码难以获得令人满意的效果。如何设计畸变和像素冗余更少的投影方式,如何获得更好的重建图像质量是这个领域的研究重点。

image.png

图1:360∘视频图像

二、 360∘视频技术存在的问题

360∘视频通过一组相机阵列进行拍摄,经过投影拼接而成,其内容包含了当前场景360∘的全部视频信息。360∘视频在播放时能够根据用户视角进行实时投影渲染,为了让用户观看拥有较高清晰度的投影图像且在观看过程中不易晕眩,需要360∘视频具有4k及以上的分辨率和120Hz刷新率。分辨率的增长以及视频刷新率的加倍使得360∘视频的数据量呈现指数式增长,而通信传输技术及数字存储技术发展相对缓慢,迅速增长的视频数据为这两个行业带来了极大挑战。360∘视频通常以经纬图这样二维数据的形式存放在存储介质中,可直接使用传统二维视频编码体系对经纬图进行压缩编码,但由于经纬图中物体的运动规律与形变较传统二维视频图像大相径庭,因此传统编码技术并不完全适用于360∘视频,压缩效率没有得到最大限度的发挥。有效提升360∘视频的压缩效率能够为企业降低传输、存储以及运营的成本。如今,国内和国际编码标准小组已经将360∘视频纳入未来的工作范畴,众多的高校与企业一同参与到360∘视频的编码优化及编码标准算法的研究工作中。


受限于实时网络可用带宽及设备可用存储空间,360∘虚拟现实视频内容的服务质量及播放体验难以满足人们的需求。如何在有限的网络带宽限制下,尽可能将编码码率进行合理分配以提升整体编码效率是码率控制(Rate Control, RC)研究的关键问题。编码器在进行编码时可以根据不同的编码帧类型和编码场景选择使用不同的编码参数进行编码,码率控制的核心是研究如何找到最合适的编码参数集合,使编码器的编码结果符合预设的目标码率,同时获取尽可能高的视频图像质量。码率控制仅干预视频编码的参数选择,不属于编码标准范畴,在解码端并不能感知到码率控制的存在,但由于在实际应用过程中,视频数量多且杂,直接使用参考软件进行编码可能会出现码率不稳等问题。因此,码率控制在实际应用显得至关重要,自码率控制诞生以来就被各国的学者广泛且深入地研究。如何建立控制更精确、具有更强适应性的控制模型,以及在现有模型控制精度的基础上提升重建视频图像的质量是视频编码领域当下及未来的研究热点。对于360∘虚拟现实视频,直接使用传统码率控制算法就可以得到精准的控制效果,传统的码率控制算法一般基于视频内容信息、运动矢量及预测残差分布等编码信息进行比特分配建模,而360∘除了拥有传统视频序列的特点外,还存在虚拟现实视频特有的与位置相关的像素冗余。因此,直接沿用传统的码率控制模型必然无法达到最优的编码结果。如何将360∘虚拟现实视频的编码优化方法与码率控制模型相结合,有针对性地优化360∘视频的码率分配对360∘视频编码技术的发展和码率控制技术的进步具有重要的研究意义。

image.png

图2:混合编码框架

三、 360∘视频编码技术的研究现状

如图2所示的混合编码架构主要通过三类技术减少视频图像信息中的各类冗余。

1. 架构中有基于视觉、角度、光流等分析方法的帧内预测方式,这类预测方式能够分析图像内的纹理信息,通过尝试使用不同角度等预测模式来减小空域冗余,更有利于量化和编码。

2. 架构中会将已经完成压缩编码的图像反馈至编码端,用作后续图像编码的帧间预测环节,帧间预测的常用方法是先使用基于像素块的运动估计算法完成整像素的匹配,然后再使用运动补偿算法寻找亚像素的精确匹配。通过在已编码帧中的匹配像素块来尽可能消除视频图像序列中存在的时域冗余。

3. 架构中的熵编码器能够通过建立上下文模型,对视频编码中产生的编码符号以及变换系数进行无损压缩,尽可能消除符号和信号的统计冗余。

VR360视频内容经过采集拼接后可以表示一个完整的球面图像,但球面信息不能直接用于存储及压缩。因此,研究人员期望通过投影(projection)的方式将三维场景展开至一个或多个二维平面如图3所示。投影图像需要满足两个条件:一、投影图像要保证囊括了所有球面信息。二、投影图像要尽可能避免引入过多的图像的畸变,造成图像质量损失。

1. 等距柱状投影(Equirectangular Projection, ERP),即常见的经纬图投影。该投影会把视频球面映射至一张2:1的矩形平面,这种投影方式具有良好的兼容性和易于实现及存储等优良性质,但在投影转换的过程中,由于会将不同纬度的环状球面信息投影在等宽的矩形中,因此会造成像素冗余和像素拉伸的情况,冗余和拉伸现象从赤道向两极逐渐变大。

2. 立方体投影(Cubemap Projection, CMP),也称正六面体投影。该投影将球面投影至外接正六面体,然后将6个面拼接至一起成为一幅图像[6]。目前正六面体模型已作为一种常用的投影方式应用与360∘视频图像的投影中。

3. 八面体投影(Octahedron Projection, OHP),该投影将视频球面投影至8个等边三角形,然后对三角形进行拆分拼接。该投影的三角形合理布局可以获得较高的压缩效率但直接进行图像渲染复杂度较高。

4. 二十面体投影(Icosahedron Projection, ISP),该投影方式与八面体投影类似,但二十面体的投影面由二十个三角形组成。紧密的投影布局可以获得很好的压缩效率,投影引入的失真较小。但多次投影引入了较高的复杂度,在视频的实时渲染方面也带来了较大困难。

5. 球面分隔投影(Segmented Sphere Projection, SSP),沿45∘的纬度线将球面切分成为南、北、中三个部分,分割后的南北两个部分球面信息较少,将其分别投影至两个较小的正方形区域。视频信息丰富的中部区域,按照球面投影的方法,将该部分投影成为一个矩形。三部分投影结束后拼接在一起得到最终用于编码压缩的图像。值得一提的是,球面投影和正六面体投影在投影过程中需要进行插值操作造成大量像素冗余,产生一定量的非信息承载像素。球面分隔投影无论是在赤道部分还是两极部分的投影面积都与实际球面面积近似,可以有效减少像素冗余情况。但与其他投影方式相同,由于将三个部分进行了物理上的分隔,可能导致物体在投影图像中的运动不连续,影响帧间预测的准确度。

6. 正方体棱台投影(Truncated Square Pyramid, TSP)。TSP投影根据棱台方向划分了高分辨率区域与低分辨率区域。这种投影方式非常适合与人眼跟踪技术相结合以实现区域切换方案,对当前关注区域的内容传输质量较好的高分辨率视频图像,其余的投影区域传输较低质量的低分辨率视频图像,这种投影方式能够有效减小传输码流大小,减小带宽占用。

image.png

图3:图像投影的方式