近年来,随着信息技术与多媒体技术的迅速发展,全景视频(Panoramic Video)的应用场景越来越广泛,逐渐成为信息技术领域最重要的热点之一。同传统的平面视频相比,全景视频往往具有更大的视频数据量,这就给视频的传输和存储造成了极大的困难,已经成为制约全景视频实际应用的瓶颈。因此,高效的全景视频编码技术是全景视频应用最重要的一环。
全景视频,俗称VR视频,由于包含了一个场景所有方位的信息,因此也被称为360度视频或者沉浸式视频[1]。在实际观看中,用户通过头戴式显示器或者其他智能显示设备,根据观看的视角,可以看到对应的部分全景视频内容,而实际的视频数据量要远高于显示的内容。以常见的720p高清视频为例,全景视频如果要获得相同的观看清晰度,那么至少需要相当于6K平面视频大小的数据量。另一方面,全景视频由于包含了360全视角的视频内容,实际上是一个球面视频,传统的视频编码标准HEVC、AVS2并没有对球面视频进行处理的功能[2-3];同时,球面的视频内容在计算机中难以存储和显示。因此,球面视频需要被映射成平面视频,以便于后续处理。
为了解决全景视频编码问题,中国数字音视频编解码技术标准工作组(Audio Video coding Standard, AVS)开始了对全景视频编码标准(AVSVR/IEEE1857.9) 的制定,并在IEEE1857.9第一次会议上,发布了全景视频编码参考软件VRM,作为全景视频编码的研究平台。在VRM中为了解决球面视频的编码问题,集成了最常用的经纬图映射(EquiRectangular mapping Projection, ERP)算法和六面体映射(Cubic Mapping Projection, CMP)算法, 这两种方法也是市面上头戴式显示器普遍支持的方法[4-6]。但这些方法由于冗余数据量大,变形程度高,并不能提供高效的视频压缩率。
基于对现有方法的分析,本文提出了一种新的球面视频映射算法——双环带映射(Double Ring mapping Projection, DRP)算法。这种方法可以得到较小数据量的全景视频,同时很好地维持像素间的原始相邻关系,失真程度也不会太大。由于当今的视频编码标准如AVS2、HEVC等并不是为全景视频设计,本文算法设计了对应的编码策略,以适应现在的编码框架。
1 现有的球面映射方法VRM平台采用了经纬图映射方法和六面体映射方法,这两种方法也是工业上最常用的应用。此外,一些新的映射方法如八面体映射(OctaHedral mapping Projection, OHP)算法[7]、二十面体映射(IcoSahedral mapping Projection, ISP)算法[8]等也被提出,这些方法也一定地提升了全景视频的压缩效率。
经纬图映射法由于操作简单,是现在最流行的球面映射方法,大部分头戴式显示器都采用了这种映射方法。如图 1所示,经纬图映射法的基本思路是在所有的纬度上用同样的采样点数来保存一个球面视频,从而将一个球面视频映射成矩形视频。但是,由于视频的每个纬度都使用了同样的采样点数,越接近两极,冗余点数就越多,对应得到的矩形视频内容变形程度就越大。对于纬度θ的位置,变形程度将达到1/cos(θ),这会带来巨大的冗余数据。例如在极点位置,使用了和赤道同样的采样点数,但实际上只需要一个采样点。另一方面,经纬图映射得到的球面视频,越接近两极,变形程度越大,而且这种变形是非线性的,不仅会带来非常糟糕的观看体验,而且难以进行运动搜索,极大地降低后编码效率。
为了解决两极的视频变形问题,六面体映射法也被用于球面映射。六面体映射法用六个视点来映射球面视频,每个视点对应一个矩形面,其中四个对应赤道区域,两个对应两极区域,实际上就是把球面视频映射到它的外切正六面体上。如图 2所示,映射得到的六个矩形面,有相同的变形程度,这就降低了两极区域的变形。但是,在这种方法中,矩形面的中心部分和边缘部分有不同的变形程度,中心部分较好地保存了球面数据,边缘则不可避免地被放大。考虑一个物体沿着球面水平移动,那么当它穿越矩形面的边缘时,就会先变大再变小,这会造成反常的观看体验,也不利用后续编码中的运动搜索。另一方面,六面体中有两个视点是从极点位置观察得到的,而在实际应用中,用户往往不会从极点位置观看全景视频,这就造成了视觉冗余。
综上所述,这两种应用最广泛的方法虽然操作简单,但由于局部区域变形过于严重,导致全景视频难以在视频编码器中进行运动估计;同时映射后的冗余数据量太大,从而难以取得良好的压缩效率。另一方面,这些过于明显的失真,将会极大地降低用户对全景视频的观看体验。
因此,当球面视频被映射成平面视频时,应尽量避免视频中的物体变形程度过高,这有利于实现视频编码中的运动估计;同时,映射得到的视频数据量应该尽可能小,减少数据冗余,可以节省视频编码得到的码流。另一方面,球面视频不同于平面视频,它的像素往往具有更复杂的相邻关系,因此球面映射方法应尽量维持这些像素相邻关系,这对于运动估计来说非常重要。
国内外的相关研究机构为了提高全景视频的压缩效率,提出了新的映射方法,在我国的AVSVR/IEEE1857.9标准中,相关机构提出了OHP、ISP、polerect[9]以及本文的DRP算法。而在MPEG会议上,CMP[10]、OHP、ISP、SSP[11]等算法被广泛讨论。OHP和ISP在AVSVR和MPEG中都被提到,并且ISP已经在相关VR产品中被使用,它们是新兴的较可靠的全景视频映射算法。
类似于正六面体,正八面体和正二十面体也是阿基米德正多面体的其中一种形式。
OHP算法将球面视频映射成8个正三角形,再进行重排得到一个平面视频,用于编码。图 3是OHP的模型示意,这种方法虽然进一步降低了映射后数据量,但存在和六面体映射法类似的问题,矩形面的中心部分和边缘部分有不同的变形程度,中心部分较好地保存了球面数据,边缘则不可避免地被放大,会造成反常的观看体验。
ISP算法将球面视频映射成20个正三角形,再进行重排得到一个平面视频,用于编码。图 4是ISP的模型示意,这种方法是正多边形映射中,冗余数据量最小的方法。但是,ISP映射得到的20个三角形,难以进行重新排列,这就丢失了像素间的相邻关系,不便于视频编码器进行预测编码。另一方面,现有的视频编码标准都是以矩形块为基本运算单位,将球面视频映射成三角形,不利于后续针对全景视频的编码优化。
为了降低全景视频的局部失真,以及更好地保持像素相关性,同时得到较小数据量的视频以降低全景视频码率,本文提出了一种新的全景视频映射算法。
2 本文算法 2.1 球面划分本文的算法思路是用两个环带,将球面分割成14个区域,对应位于不同环带的块,用不同的方式进行映射。
由于用户在观看全景视频时,更倾向于观看北纬30°至南纬30°之间的内容[12],这部分将其称为“水平环”,首先进行处理,其余部分则分别被称为“顶部”和“底部”。另一方面,由于人的视角范围有限,人眼的视角极限大约为垂直方向80°,水平方向160°,但只有在60°视角范围内,人眼才能看清楚物体[13]。因此,显示设备上显示的视频内容,只需要呈现60°视角范围的内容即可。例如,在美国的HDTV标准[14]中,最佳观看视角定义为水平视角41°,垂直视角23°。所以,本文算法将“水平环”等分成六个部分,每个部分对应60°的垂直方向视角,以及60°的水平方向视角。同时,为了降低两级区域的形变程度,用垂直分割的方式处理“顶部”和“底部”。
具体地说,假设球面视频位于一个空间直角坐标系中,如图 5所示,那么它的函数表达式如下:
$ {{x}^{2}}+{{y}^{2}}+{{z}^{2}}={{r}^{2}} $ | (1) |
式(1) 中r为球面半径,对于球面上的一点p(x, y, z),纬度为俯仰角θ,经度为方位角φ,那么就有关系式如下:
$ \left\{ \begin{matrix} \theta =\pi /2-\arccos (z/r) \\ \varphi =\arctan (y/x) \\ \end{matrix} \right. $ | (2) |
首先,得到北纬30°之间南纬30°的水平环,它的函数表达式如下:
$ \left\{ \begin{align} &{{x}^{2}}+{{y}^{2}}={{r}^{2}}-{{z}^{2}} \\ &-r/2\le z < r/2 \\ \end{align} \right. $ | (3) |
整个水平环的面积可以这样求得:
$ \int_{-\pi /6}^{+\pi /6}{2\pi {{r}^{2}}\cos \theta d\theta }=2\pi {{r}^{2}}\sin \theta \left| _{-\pi /6}^{+\pi /6} \right.=2\pi {{r}^{2}} $ | (4) |
对于水平环中的每个纬度,使用同样的采样点,将其映射为一个矩形视频,当采样点数量与赤道周长一致时,此时的面积为2π2r2/3,采样比为π/3≈1.047,可以近似地认为没有失真。然后,将“水平环”均匀分为6个矩形区域,实际上就是把北纬30°和南纬30°之间的环形球面视频映射成6个正方形视频,依次记为“正左面”“正中面”“正右面”“反左面”“反中面”“反右面”。接下来处理“顶部”和“底部”,用另一个纵向环去垂直切割这两个部分。该环的函数表达式如下:
$ \left\{ \begin{align} &{{x}^{2}}+{{z}^{2}}={{r}^{2}}-{{y}^{2}} \\ &-r/2\le y < r/2 \\ \end{align} \right. $ | (5) |
处于纵向环和“顶部”之内的部分球面视频,用平面x=0将其均匀分为两部分,映射为两个相同大小的矩形面,这两个矩形面的尺寸和“正中面”相同,记为“正上面”和“反上面”;同理,可以得到位于“底部”的“正下面”和“反下面”。最后,球面上剩余的四个部分,映射为四个相同大小的矩形面,依次记为“左上面”“右上面”“左下面”“反下面”,它们的尺寸也和“正中面”相同。如图 4所示,就得到了14个相同大小的矩形面。
为了方便说明,每个添块加了块索引i, 0≤i≤13,详情见表 1。图 7是双环带映射方法的模型示意。三视图分别指球面模型的左视图、正视图、俯视图。序号示意图则在球面模型上标出各个面的索引,图中展示球面模型正面和反面的情况。分割流程图在俯视图基础上说明具体划分方法,第一步表示将球面的低纬度区域分割成六个相等大小的区域,第二步表示垂直切割高纬度区域,第三步则将两极区域等分。
本文算法要将球面视频上分割的部分球面,映射成矩形的平面视频,这个过程类似于空域图像采样,实际上就是要建立像素点在平面和球面上位置的对应关系。对于平面视频上的某个像素点p(x, y), 计算它在球面上的对应点po(φ, θ)。但是,由于实际上无法得到真实的球面视频,而现有的全景视频拍摄条件只能获取经纬图格式的视频。因此,需要为球面上的对应点po(φ, θ)再计算经纬图视频上的对应点p′(x′, y′),此点的坐标x′和y′有可能不是整数或者超过经纬图视频的大小,无法直接与经纬图上的像素点对应,所以要以某种插值方法获取对应的像素点。
本文算法采用了6抽头兰索斯插值法[15]来进行映射,这也是AVSVR和MPEG都采纳的插值方法。兰索斯插值法的重建核函数定义如下:
$ L(x)=\left\{ \begin{matrix} \sin c(x)\sin c(x/a), -a < x < a \\ 0, 其他 \\ \end{matrix} \right. $ | (6) |
其中:a表示窗函数的大小,本文算法中a=3。如图 4所示,这14块保持了较好的像素相邻关系,但是由于它的形状不是矩形,当今的编码器无法正常处理这种形状的视频,所以需要进行适当的调整以便于后续编码处理。
2.3 编码策略本文算法映射得到的全景视频,调整其中部分块的位置,以实现重新排列。如图 8所示,将7号块移动到3号块正上方,9号块移动到3号块正下方,并将7号块和9号块旋转180°。然后,将4号块移动到11号块和7号块之间,对于13号块和9号块之间的空隙,则分别切割7号块、3号块和9号块的1/3部分,组合成一个新块。
由于全景视频编码是一个崭新的领域,目前没有最权威的测试方案,本文采用AVSVR通测条件作为客观质量评价指标,再通过局部重建全景视频比较各个方法的主观质量。
3.1 客观质量评价本文的球面映射算法在VRM0.5上进行映射,在AVSVR参考编码器RD16.1_with_vr_extension上进行编码,根据AVSVR/IEEE1857.9通测条件[16],将4K通测序列映射为0.5625倍数据量的平面视频,将8K通测序列映射为0.25倍数据量的平面视频,再将映射后的平面视频进行编码,测试序列为AVSVR/IEEE1857.9通测序列。编码性能用BD-rate来度量并用SPSNR代替PSNR,这更适合全景视频质量评价。BD-rate表示同样的质量下视频码率的相对大小,也就是改进后算法编码比特率相对于原算法的增加量,如果BD-rate得到负值,就表示在相同的视频质量下码率降低,得到了增益,因此,一个算法的BD-rate越低,压缩效果就越好。图 9为该测量方法的示意图。
SPSNR是应用广泛的全景视频质量评价方法,在AVSVR和MPEG中都被用到。在平面视频质量评价中,如式(7) 所示,对待比较的两个视频求所有像素点的均方误差,再计算PSNR。而在SPSNR中,由于全景视频本质是球面视频,所以将全景视频映射到球面区域的65万个点,再对这65万个点上的像素值求均方误差, 然后以此推出SPSNR,式(8) 为该方法的表达式。
$ psnr=10\times \lg ({{({{2}^{n}}-1)}^{2}}/MSE) $ | (7) |
$ spsnr=10\times \lg ({{({{2}^{n}}-1)}^{2}}/MS{{E}_{\text{sphere}}}) $ | (8) |
由于ERP是最常用的映射方法,因此将其作为anchor与本文算法进行比较,同时为进一步验证本算法的有效性,选取了最新的OHP和ISP进行比较。表 2为码率增量(Bjntegaard Delta-rate, BD-rate)实验数据。
从表 2可知,与ERP相比,在相同视频质量下,OHP算法平均可以减少2.39%的码率,ISP算法平均减少7.01%的码率,而本文提出的DRP算法平均减少8.61%的码率。对于个别序列,DRP最高能减少25.17%的码率。同时,DRP在运动明显的序列上有更好的压缩效率,压缩效率较差的序列普遍是相对静止的序列,而实际的视频应用往往是运动较为明显的场景,因此,DRP更加适合实际的全景视频应用。综上所述,本文提出的DRP算法不仅明显优于最常用的ERP算法,也优于最新的OHP算法和ISP算法。
3.2 主观质量评价图 10是几种方法局部区域的图像,对比可以发现,本文方法的质量更高,具有更好的主观质量,视觉效果更好。观察图中长者和话筒架可以看到,OHP具有明显的失真,ISP也有一定的失真,而DRP的观看效果较好。
本文提出一种有效的全景视频映射方法,编码效率的提升主要是由于本方法可以得到数据量较低、形变程度小的平面视频,并维持了较好的像素相邻关系,而这对视频编码的运动搜索来说至关重要。在本文算法中,先用两个相互正交的环形球面将球面视频分割成14个部分,然后结合兰索斯插值法将其映射成14个大小相同的矩形视频,最后将这14个矩形视频进行重新排列得到一个紧凑的全景视频,并进行编码。实验数据和主观视觉效果对比表明,同最常见的ERP算法相比,提出算法大大提高了编码效率和视频质量,而且性能也优于最新的OHP和ISP算法。
由于本文算法拥有高效的编码性能,已被采纳到AVSVR/IEEE1857.9标准[17],下一步工作将结合映射后视频的相关特征,优化编码器端对全景视频的编码流程,进一步提高编码效率。
[1] | HUANG K C, CHIEN P Y, CHIEN C A, et al. A 360-degree panoramic video system design[C]//Proceedings of the 2014 International Symposium on VLSI Design, Automation and Test. Piscataway, NJ:IEEE, 2014:1-4. |
[2] | SULLIVAN G J, OHM J, HAN W J, et al. Overview of the High Efficiency Video Coding (HEVC) standard[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22(12): 1649-1668. DOI:10.1109/TCSVT.2012.2221191 |
[3] | 黄铁军. AVS2标准及未来展望[J]. 电视技术, 2014, 38(22): 7-10. (HUANG T J. AVS2 standard and future prospects[J]. Video Engineering, 2014, 38(22): 7-10. DOI:10.3969/j.issn.1002-8692.2014.22.003) |
[4] | NG K T, CHAN S C, SHUM H Y. Data compression and transmission aspects of panoramic videos[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2005, 15(1): 82-95. DOI:10.1109/TCSVT.2004.839989 |
[5] | ALFACE P R, MACQ J F, VERZIJP N. Interactive omnidirectional video delivery:a bandwidth-effective approach[J]. Bell Labs Technical Journal, 2012, 16(4): 135-147. DOI:10.1002/bltj.20538 |
[6] | TZAVIDAS S, KATSAGGELOS A K. A multicamera setup for generating stereo panoramic video[J]. IEEE Transactions on Multimedia, 2005, 7(5): 880-890. DOI:10.1109/TMM.2005.854430 |
[7] | LIN H C, HUANG C C, LI C Y, et al. AHG8:InterDigital's projection format conversion tool[C]//Proceedings of the 4th Meeting Joint Video Exploration Team of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-D0021. Chengdu:[s.n.], 2016:7-8. |
[8] | SRI N A, ANUBHAV S, AMITH D, et al. AHG8:efficient frame packing for icosahedral projection[C]//Proceedings of the 5th Meeting Joint Video Exploration Team of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-E0029. Geneva:[s.n.], 2017:1-5. |
[9] | WANG Y M, WANG R G, WANG Z Y, et al. Projection CE:polerect projection[C]//Proceedings of the 6th Meeting IEEE 1857.9 Working Group, 1857.9-06-M1072. Haikou:[s.n.], 2016:1-3. |
[10] | JILL B, ELENA A, ADEEL A, et al. JVET common test conditions and evaluation procedures for 360° video[C]//Proceedings of the 5th Meeting Joint Video Exploration Team of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-E1030. Geneva:[s.n.], 2017:1-4. http://www.nejm.org/doi/10.1056/NEJM197911223012102 |
[11] | ZHANG C, LU Y, WEN Z. AHG8:Segmented Sphere Projection (SSP) for 360-degree video content[C]//Proceedings of the 4th Meeting Joint Video Exploration Team of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-D0030. Chengdu:[s.n.], 2016:1-4. |
[12] | YU M, LAKSHMAN H, GIROD B. A framework to evaluate omnidirectional video coding schemes[C]//Proceedings of the 2015 IEEE International Symposium on Mixed and Augmented Reality. Washington, DC:IEEE Computer Society, 2015:31-36. https://www.computer.org/csdl/proceedings/ismar/2015/7660/00/7660a031-abs.html |
[13] | SAVINO P J, DANESH-MEYER H V. Color Atlas and Synopsis of Clinical Ophthalmology-Wills Eye Institute-Neuro-Ophthalmology[M]. Philadelphia, PA: Lippincott Williams & Wilkins, 2012: 45-51. |
[14] | CIANCI P J, FINN B S. High Definition Television:the Creation, Development and Implementation of HDTV Technology[M].[S.l.]:McFarland, 2012:56-58. |
[15] | TURKOWSKI K. Filters for common resampling tasks[M]//Graphics Gems. San Diego, CA:Academic Press Professional, 1990:147-165. |
[16] | IEEE Standards Association. Develop Standards[EB/OL].[2017-01-03]. http://standards.ieee.org/develop/wg/AVS_1857_WG.html. |
[17] | CHEN J, ZHANG J. Projection CE:summary report[C]//Proceedings of the 6th Meeting IEEE 1857.9 Working Group, 1857.9-06-M1072. Haikou:[s.n.], 2016:1-6. |
[18] | 钟力, 胡晓峰. 全景视频的信息组织和实现方法[J]. 小型微型计算机系统, 1996, 17(12): 1-5. (ZHONG L, HU X F. Information organization and implementation of panoramic video[J]. Mini-Micro Systems, 1996, 17(12): 1-5.) |
[19] | 赵沁平. 虚拟现实综述[J]. 中国科学(F辑:信息科学), 2009, 39(1): 2-46. (ZHAO Q P. Virtual reality review[J]. Chinese Science (F Series:Information Science, 2009, 39(1): 2-46.) |
[20] | 黄心渊. 虚拟现实技术与应用[M]. 北京: 科学出版社, 1999: 234-247. (HUANG X Y. Virtual Reality Technology and Application[M]. Beijing: Science Press, 1999: 234-247.) |