胡强 马文广 石志儒
1 三维球面投影及所提
编码框架
随着消费级虚拟现实(VR)技术的不断完善,HTC VIVE、Oculus RIft、三星Gear VR、Deepon等VR设备得到井喷式发展。作为能够快速制作推广的全景视频也随之进入公众的视野,在景观展示、视频会议、远程医疗和会诊、远程监测控制、机器人自动导航等领域得到广泛应用。目前VR视频主要有两种生产途径:一种是通过渲染引擎创作的纯虚拟场景;另一种是通过相机阵列拍摄拼接的360°视频[1]。
使用者在观看360°全景视频,在同一位置通过改变观察方向,能够浏览四周全部场景[2]。360°视频包含了四周空间的全部运动信息,利用虚拟现实头盔显示观看时,只选取其中一部分视野进行渲染显示,所以全景视频需要更高清晰度(至少空间分辨率4 K以上),才能匹配现在人们对高清分辨率的体验。全景视频的数据量相比于传统视频是成倍的增长趋势,VR全景视频的点播和直播的传输面临带宽瓶颈[3]。传统视频编解码的方案不太适应全新的视频格式的需求,需要根据全景视频的特性提出有针对性的编解码方案,满足存储和传输的需求[4]。
360°全景视频应用主要包括前端相机阵列的视频同步采集、拼接、編码及传输和播放。其中多相机阵列同步采采集的各视角视频,进行校正配准之后,对重叠的图像无缝拼接,需要将图像进行投影变换到三维球面模上。投影到球体表面模型进行拼接处理,然后再以一定的投影模式变换成二维图像,进行压缩传输和储存。所谓的投影变换是指将全景视域的三维场景和二维平面相互映射过程,作为全景视频内容的最广泛的转播载体,投影后的二维视频,最终通过渲染在虚拟现实终端设备进行观看。在投影变化和反变换过程中,存在着图像失真,运动一致被破坏等问题,传统的视频编码技术在应对360°全景视频的效果并不理想[5-7]。
针对以上存在的问题,由国际电信联盟电信标准分局(ITU-T)/视频编码专家组(VCEG)和国际标准化组织-国际电工委员会(ISO-IEC)/动态图像专家组(MPEG) 成立的联合视频研究组(JVET)将360 °全景视频纳入到未来视频编码标准范围内[8]。与传统的高效视频编码器(HEVC)/H.265编码标准[9]相比, 正在制订的联合视频探测组(JVET)标准,将通过优化投影变换避免过多的扭曲失真,作为一个重要的实验测试和研究方向,从而避免过多的扭曲失真产生的回放质量。目前使用最为广泛的是球面投影(ERP)和立方图投影(CMP)。
球面投影是把球型表面的内容映射到平面的矩形图中,如图1所示,其对自然图像有良好的兼容性,在转换过程中不同维度区域有不同的延展程度,赤道区域的失真比两级区域小很多,像素的数量在两级被放大,运动方向扭曲,产生大量的时间和空间的冗余信息[10]。而立体投影通过外接立方体,将球体表面内容投影到立方体表面。展开后按照一定的布局格式进行布局,通常的布局方法有3×2布局和4×3布局,如图2所示。不用的布局方案对编码效率和内存管理都有不同程度的影响。相比球面投影,立方体投影节省了25%的像素面积,对比特率有较大的提升,但存在像素密度减少照成的模糊问题[11]。文章中,我们针对全景视频投影过程中产生畸变和运动扭曲,所带来的编码问题,提出了一种全新的运动补偿算法。
在传统的视频编码算法中,基于块匹配的运动估计和运动补偿得到广泛的应用。其建立在相邻时域帧内的二维物体所做的都是平移运动,大小形状不改变的基础上,对动态帧之间的时域冗余有非常高压缩效果。但是对于全景视频,由于从三维球面坐标投影到二维平面坐标转换的过程中,产生了一系列相机旋转、缩放、错切运动的形变,影响了运动的连贯性和一致性,从而降低了帧间预测的效率。
针对全景视频出现的大量非平移运动,我们提出了一种全新的运动补偿和预测的模式,用于提高360 °全景视频的时域编码效率。为避免几何失真对运动预测带来的影响,首先将当前编码块的像素投影到三维球面坐标,利用球面运动一致性的特点,在球面坐标系中找相对应的参考像素,并最终将三维球面坐标投影回二维坐标。更进一步,我们提出了基于球面坐标的运动向量预测方法,避免了投影变换带来非平移运动的影响,视频编码框架如图3所示。我们提出的一整套运动补偿预测算法都在块划分的基础上提出,可以作为HEVC编码的附加模式,对360°全景视频有着更高效的编码压缩性能。
2 基于三维球面投影的
运动补偿算法
为了提升360°全景视频的编码压缩性能,我们针对全景视频中大量产生的非平移运动,进行了深入的分析,其中绝大部分非平移运动,是由投影变换产生的畸变导致。针对这种情况,我们在HEVC编码框架下提出了一种全新的运动补偿模式;基于三维球面投影的运动补偿(SphMC)。整体算法流程如图3所示。本算法作为360°视频的一种补充,同时存在于传统的帧间预测的框架内。HEVC编码过程中,最优的预测模式仍然是遍历所有块划分和预测模式后,选择最小率失真值的模式,作为最优的编码模式。其中SphMC模式的加入,提供了一种针对全景视频的运动补偿模式,对整体编码性能有明显的增益。
基于前面章节分析,纹理的不连续性会严重影响运动预测的性能,针对全景投影视频的有效参考像素,需要从运动连续的三维球面坐标系中推导而来。文中涉及到的投影变换都以立方体投影为例,SphMC模式的参考块像素点的展示在图4中。假设当前编码块所在帧fi,该块中心位置n 0移动到帧fj帧的n 2位置,基于三维球面的投影问题就简化为:在参考帧中利用球面投影变换,寻找当前编码块n 1的对应参考点n 3。
为了在参考帧得到出对应的点n3的位置,其在三维球面上的坐标位置首先会被推到出来,然后再投影回立方图。在这个投影关系中,立方图和三维球面坐标是一一对应。s = P(n)代表了从立方图平面 N 到三维全面 S的映射,反变换由n = P -1(s ) 表示。所以点n 0、 n 1和n 2的坐标投影到三维球面分别为:s 0 = P (n 0), s 1 = P (n 1)和s 2 = P (n 2)。在三维球面的表达中,绝大多数的像素点和运动具有一致性,所以s 3的可通过以下式(1)得到:endprint
s 3 = P (n 2) + P (n 1)-P (n 0) (1)
得到在三维球面坐标点s 3后,其在立方图坐标系中的相对应的二维坐标n 3可以通过反投影n 3 = P -1(s 3 )得到。其余参考点可以通过相似的方法推演得到。对于非整像素的位置,可通过双线性差值得到。最后,基于三维球面投影得到的参考区域与编码块进行运动补偿的计算。
3 基于三维球面投影的
运动向量预测算法
在HEVC帧间预测过程中,会针对空域和时域上已经确定的运动向量,来预测当前块运动估计的初始向量方位,该过程通过相邻预测单元(PU)的运动向量来进行预测。但对于360°全景视频,由于投影变换带来的空间不连续,传统的基于临块的运动预测已经不太适用。本章中,我们提供了一种基于三维球面投影的预测向量,其针对不同PU的相对距离,如图5所示。
针对360°全景视频的帧间预测,假设n 4和n 5分别为分块C和分块B1的中心点,MV1为分块B1的运动向量,而MV0代表了当前编码块C的预测向量。类似于我们提出的运动补偿方法,n 4和n 5都利用二维立体图平面投影回三维球面坐标,从而寻找正确的运动预测向量。我们可以得到以下关系:
P (n 2 + MV0) -P (n 4 )=
P (n 5 + MV1) -P (n 5 ) (2)
所以,基于球面投影的预测向量MV0可以由此得到:
MV0 =P -1 (P (n 5 + MV1) +P (n 4 )-
P (n 5 )) -n 4 (3)
4 实验结果
为了验证所提算法的有效性,基于投影变换的运动补偿算法已集成到了HEVC标准HM16.15[12]测试软件中,通过对比HM16.15与该算法的性能,证明了改算法的有效性。基于HEVC常用测试条件[12], 我们主要测试3种配置:randomaccess_main(RA_main)、lowdelay_main (LD_main)、lowdelay_P_main (LP_main)。所采用的QP分別是22、27、32、37,包括高比特率和低比特率的情况。 鉴于该算法的目标在于更好地表征360°视频立体图投影中的无规则运动,我们选择了一些相对于立方体4×3格式有更大运动的序列来表明该算法的优势。测试序列信息如表1所示。另外,由于这些序列都具有极高的空间分辨率,因此我们只测试了1 s所对应的帧数来证明算法的有效性。
RA_main、LD_main、LP_main的实验结果分别如表2、表3所示。从这些表格中,我们可以看到:通过该算法,在RA_main、LD_main两种配置下,视频Y通道分别可达到1.83%,1.21%,1.19%平均码流差(BDBR)[13]的减少。鉴于编码顺序相邻帧之间的平均距离要比LD_main和LP_main中的距离大一些,RA中的不规则运动会更加明显。这就是为什么我们能实现更好的R-D性能。特别是对于具有较大运动的序列Glacier,算法可将RA_main 中Y通道的平均码流差减少3.65%。因此,对于具有较大运动的序列,就可实现更显著的平均码流差的减少。
5 结束语
360°全景视频与传统的视频存在着许多差别,传统的HEVC编码不能达到最理想的压缩效果,我们分析了由于投影变换带来的运动失真的问题,并相应地提出了一种基于球面投影的运动补偿和预测算法,其主要利用三维球面的运动具有较强的一致性,通过立方体二维坐标与球面三维坐标的相互转换,寻找出新的参考像素和运动向量预测。经过大规模的实验,结果表明:该算法与传统HEVC相比,最高提升3.65%BDBR的编码性能。在后续的研究中,以下问题将会着重进行考虑:提出针对360°全景视频的运动估计算法,并且修改相应的率失真准侧,以更好地适应360°全景视频的编码需求。
参考文献
[1] ROUTHIER P P. Virtually Perfect: Factors Affecting the Quality of a VR Experience and the Need for a VR Content Quality Standard [C]// Processing of SMPTE Annual Technical Conference and Exhibition. USA:IEEE, 2016: 1-20. DOI: 10.5594/M001733
[2] 张洋, 李庆忠, 臧风妮. 一种多摄像机全景视频图像快速拼接算法[J]. 光电子. 激光, 2012, 23 (9): 1821-1826
[3] NG K T, CHAN S C, SHUM H Y. Data Compression and Transmission Aspects of Panoramic Videos [J]. IEEE Transaction on Circuits and Systems for Video Technology, 2005, 15 (1): 82-95. DOI: 10.1109/TCSVT.2004.839989
[4] 张洪彬, 伏长虹, 苏卫民, 等. 3D-HEVC 深度图像帧内编码单元划分快速算法[J]. 电子与信息学报, 2016, 38 (10): 2523-2530
[5] DE LA, FUENTE Y S, SKUPIN R, et al. Video Processing for Panoramic Streaming Using HEVC and its Scalable Extensions [J]. Multimedia Tools and Applications, 2016: 1-29endprint
[6] ZHU Z G, XU G Y, EDWARD M R, et al. Fast Construction of Dynamic and Multi-Resolution 360° Panoramas from Video Sequences [J]. Image and Vision Computing, 2006, 24 (1): 15-17
[7] ZHENG J L, SHEN Y F, ZHANG Y D, et al. Adaptive Selection of Motion Models for Panoramic Video Coding [C]// Process of IEEE International Conference on Multimedia and Expo.USA:IEEE, 2007: 1319-1320
[8] NORKIN A, YANG H, OHM J R, et al. Call for Test Materials for Future Video Coding Standardization [C]// Joint Video Exploration Team of ITU-T SG16 WP3 and ISO//IEC JTC1//SC29//WG11, ITU, 2016
[9] SULLIVAN G J, OHM J, WOO J H, et al. Overview of the High Efficiency Video Coding (HEVC) Standard [C]//IEEE Transaction on Circuits System Video Technology. USA:IEEE, 2012,(22) :1649-1668
[10] LIN H, LIN J L, CHANG S K, et al. AHG8: An Alternative Arrangement for Cube Format (double-cross layout) [C]// Joint Video Exploration Team of ITU-T SG16 WP3 and ISO//IEC JTC1//SC29//WG11. ITU, 2016
[11] KUZYAKOV E, PIO D. Next-Generation Video Encoding Techniques for 360 Video and VR [EB/OL]. (2016-07-15)[2017-11-07].https://code.facebook.com/posts/1126354007399553 /next-generation-video-encoding-techniques-for-360-video-and-vr/. 2016. 7. 15
[12] JCT-VC Subversion Respository for the HEVC Test Model Version HM16.15[EB/OL]. [2017-11-07]. https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-16.15
[13] BOSSEN F. Common HM Test Conditions and Software Reference Configurations, Document JCTVC-K1100[R]. China: Shanghai, 2012endprint