《全景视频编码算法研究》 笔记
在 2013 年,制定了目前应用非常广泛的 H.265/HEVC[16]视频编码标准。然而,随着 VR 业务的兴起,全景视频所产生的巨大数据量再次对视频编码标准提出巨大的挑战。为了满足对全景视频进行高效压缩的迫切需求,这两大国际标准化组织再次联手。VCEG 和 MPEG 于 2015 年 10 月再一次组成了联合视频探索小组(Joint Group on Future Video Coding Technology Exploration,JVET)专门针对未来视频编码标准(Future of Video Coding Standardization, FVC)技术进行探索研究[18]。在 JVET 的组织下,已于 2017 年 7 月形成了关于全景视频格式(Omnidirectional Media Format, OMAF)的委员会草案(Committee Draft, CD)[19]。
然而本质为球形视频的全景视频无法直接利用目前针对视频设计的存储结构以及编码算法[20]。针对这个问题,业界主流的解决思路是利用映射关系,将球形视频投影到平面上,对得到的平面视频进行压缩。
在众多映射格式里,ERP(Equirectangular Projection)格式[21]由于映射关系简单被广泛应用到了目前的全景视频应用中[22]。但从球映射至平面的过程中,ERP 为了保证球面采样过程中的等角特性,在带来面积变形的同时产生了大量无效的冗余像素,进而在一定程度上致使ERP 编码性能不佳。这些原因使映射变换问题成为全景视频编码算法研究里的热点问题。很多学者针对映射变换,映射格式展开了研究工作。
1.首先,介绍目前全景视频的相关技术,包括原始视频采集,视频拼接、融合,全景视频编码算法。
2.其次,介绍了全景视频编码算法中常见的映射格式,包括 ERP(Equirectangular Projection)[21],CMP(Cubemap Projection)[43],ACP(Adjusted Cubemap Projection)[29]和 CPP(Craster Parbolic Projection)[35]。
3.介绍了在映射格式转换中的插值算法,具体包括最临近插值[38]、双线性插值[39]、双三次插值[40]及 Lanczos 插值[41]。
4.再次,阐述了如何对全景视频编码性能进行客观质量评价,具体介绍了常用的全景视频编码算法的客观质量评价标准,以及全景视频编码算法的编码性能测试流程。
视频采集–>视频拼接、融合–>全景视频编码(输入上一节得到的全景视频序列,需要注意的是这里的源格式通常为 ERP 格式,对 ERP 格式的视频源进行旋转、映射、重排,转换为适合编码的格式或直接将 ERP 格式输入符合标准 H.264/AVC 或 H.265/HEVC 的编码器中,利用编码器进行压缩编码从而得到压缩后的码流用于存储或传输)
ERP(Equirectangular Projection)格式是一种等距圆柱投影格式,是一种简单的地图投影格式。该投影格式将每一条经线映射到ERP格式上等间隔的垂直的直线,将每一条纬线圈映射到 ERP 格式上等间隔的水平的直线。
2D-3D转换公式为: 已知采样点(m,n)求三维坐标:
ϕ = (u − 0.5) * (2 * π)
θ = (0.5 − v) * π
(其中ϕ为经度,θ纬度。(u,v)是2D平面的坐标,由采样位置计算得到:
u = (m + 0.5) / W, 0≤ m < W
v = (n + 0.5) / H, 0 ≤ n < H
((m,n)为采样位置,W,H为原始图像的宽和高。
3D-2D转换公式为:
求出ϕ 、θ,再由ϕ 、θ和u、v的关系得出:
u = ϕ / 2π + 0.5
v = - θ / 2π + 0.5
关于(m,n)与(u,v)坐标系关系,见
http://blog.csdn.net/lin453701006/article/details/76919188
优点:这种投影方式映射关系简单,即使是投影后的二维平面视频也很直观,方便用户观察。
缺点:越靠近两极的纬线其冗余采样点数量就越多。增大了视频所占空间,给视频传输过程带来很大问题;像素密度分布极度不均匀的同时还引入了相当严重的图像拉伸,导致了非常高的失真。因为最终视频画质是由原始素材画质和拉伸后视频画质共同决定的,所以采用这种方法得到的视频画质较差。
是在球体外接一个正六面体,以球心与正六面体重合的中心做中心投影,从而实现球体和正六面体之间的映射。
缺点:球心连线投影方式导致其存储像素的位置对应球面的采样位置是分布不均匀的。
这种非均匀采样在一定程度影响了 CMP 格式的编码性能,其中一种改进方案,ACP(Adjusted Cubemap Projection)格式。
进行一次非线性映射
传统放射型投影由于立方体每个面的中心位置距离球体最近,越靠近边角的地方离球体越远,所以像素分布极度不均匀及图像严重拉伸这些问题是依然存在。
分布不均匀:边缘区域稀疏,中心区域稠密。
通过调整球面像素点对应的立方体上采样像素点的位置来改善这种不均匀的分布。
方法:先调整坐标,再对映投影。
优点:传统方法的立方体面上的采样长度是由样本映射到立方体表面的位置决定的,所以长短不一。但等角立方体投影通过调整公式可以让采样长度近似相等,形成近似等角度的像素分布,虽然还是存在少量的失真和像素分布不均匀性,但效果已明显改善。
与等距柱状投影相比,立方体投影对像素进行了更好的分配,使得两极和赤道区域的像素分布规律是基本一致的,同时也减少了两极的冗余,更进一步,减少了视频占用空间。该投影格式3x2的布局方法,相比于4x3的布局方法去掉了无效区域,在减小数据量的同时还维持了像素间的相邻关系,将视频的连续性最大化,有利于提升编码过程中帧内预测环节的成功率,提高压缩效率。同时,谷歌在立方体投影基础上做的优化,大幅改善了其像素分布的不均匀性,进一步减少了图像的失真。
和等距圆柱投影(ERP)的投影方式相同,同样是将地球的经线映射成间距相等的垂直线,把地球的纬线映射成间距相等的水平线,将投影获得的ERP二维平面划分为6个面积相等的区域。
分段球面投影方式以北纬45度和南纬45度作为分段边界,将整个球面分为3段:北极段,赤道段和南极段。
球面纬度大于等于45度的北极段区域,和球面纬度小于-45度的南极段区域分别向赤道平面垂直投影,得到编号为0和1的圆平面,圆平面四周的其他矩形区域使用默认的灰色填充。赤道段的投影方式和等距圆柱投影ERP一样。为了使投影得到的各个平面的大小相同,将赤道段投影后所得到的平面分为4个大小相同的平面,编号从2至5。
优点:分段球面投影方式将ERP投影方式的极地区域投影存在的问题进行了优化,将球面两极附近的区域直接进行了垂直投影,投影方式简单并且投影效果较为平滑。赤道段的投影方式和ERP相同,保持了ERP的优点。
缺点:但是分段球面投影所得到的平面存在两块不连续的区域,并且存在灰色默认区域,对存储空间有一定的浪费。
————————————————
版权声明:本文为CSDN博主「汤pp」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_24635013/article/details/82463606
原文链接:https://blog.csdn.net/qq_24635013/article/details/82463528
在各种映射格式转换时,从一种映射格式内的平面坐标映射到空间直角坐标系的三维坐标再投影到另一种映射格式得到对应的平面坐标。这个过程中,一个整数位置的坐标经过一系列映射变换的运算最终得到的平面坐标多数情况下是非整数的坐标。在这个时候,就需要利用插值算法参考周围的参考像素得到该非整数位置对应的像素值。包括:最邻近插值算法、双线性插值算法、双三次插值算法等。
为了衡量不同编码方案的性能,需要采用客观质量评价标准来评价这些编码方案。在视频编
码压缩领域通常利用衡量原始视频序列和重建视频序列之间的逼真度来衡量编码方案的性能。常用指标有均方误差(Mean Squared Error, MSE)和峰值信噪比(Peak-Signal-to-Noise Ratio, PSNR)[61]。而对于全景视频,实质为球形视频。衡量这种视频的客观质量时就不能简单地使用传统的未经处理的 MSE 和 PSNR 来衡量。针对全景视频客观质量评价的衡量标准问题,Yu 等人提出一种在球面上近似均匀的采样的方式计算球面峰值信噪比(Spherical Peak-Signal-to-Noise Ratio, S-PSNR)[62]的评价指标。Zakharchenko 等人在文献[63]提出通过计算在有效区域内的 Craster Parbolic Projection 峰值信噪比(Craster Parbolic Projection PSNR, CPP-PSNR)的方式作为客观评价指标。文献[64]中 Sun 等人提出根据映射面不同位置、不同区域在球面占比情况确定权重的球面加权峰值信噪比(Weighted-to-Spherically-Uniform PSNR,WS-PSNR)。下面详细介绍这些客观评价标准。
PSNR 评价标准通过计算待评价的测试图像和原始图像的信号噪声功率的比值来衡量失真情况。并且考虑到很多信号具有较大的动态范围,PSNR 的计算结果通常是以对数形式呈现,单位为分贝(dB)。PSNR 越大表示重建效果越好。
公式:均方差MSE,峰值信噪比PSNR。
S-PSNR 在球面进行均匀采样,并存储下采样得到的 655362 个经纬度坐标对。
在计算球面峰值信噪比时,依次将每一组经纬坐标代入公式得到对应空间直角坐标系的三维坐标,将三维坐标分别映射至失真图像、参考图像对应映射格式的映射面内的平面坐标,根据平面坐标对应的像素值代入公式求得 S-PSNR。
S-PSNR-NN为了避免使用插值滤波器引入失真,会直接进行取整操作,找离s’最近的整像素点;而S-PSNR-I使用插值滤波器来计算亚像素位置的像素值(最新会议 已不再使用)。
优点:
可以进行跨格式质量评估。相比WS-PSNR,S-PSNR是在可视球域上进行计算,更能反映实际看到的失真情况。
缺点:
1.S-PSNR使用了655362个采样点,数量有限,对于4K序列分辨率为3840x1920(共7372800像素),仅使用了8.9%的像素进行失真计算。
2.S-PSNR-I使用了插值,造成失真计算不准确,在最新的JVET会议中已不再采用S-PSNR-I。
3.相对于WS-PSNR,计算复杂度高很多,且无法直接加入RDO。
将相同或不同映射格式,相同或不同分辨率的失真图像、参考图像分别利用算法,将他们映射变换到相同分辨率的 CPP 格式下,对得到的两个 CPP 格式的全景视频再利用公式计算其之间的 PSNR 即可得到 CPP-PSNR。
CPP(Craster’s Parabolic Projection)——克拉斯特抛物线投影,一种伪圆柱等积投影,具有最小的形状失真和相同的空间分辨率,性能优于ERP格式。
(优化:由于使用伪圆柱投影的360视频图像并不是矩形的,在四角会存在无效图像区,因此无法与编码块对齐,这是不适合HEVC编码的关键原因,需要解决的问题都是围绕无效图像区展开的。 在帧内编码时中的主要问题是,在边界区域处会存在同时包含有效区真实图像值和有效区外无效值的编码块,在DCT变换和量化时会产生大量高频值,增加比特率,而帧内预测无法重建这些锋利的边缘,造成了预测误差信号变大。
解决方法:
1)填充边界采样,直接使用每一行的第一个像素和最后一个像素填充块中的无效区。这种方法可以使边界处采样具有高度的相关性,使得编码器可以对这些块进行有效的编码。
2)使用对侧图像数据复制填充边界采样,复制同行对侧的有效图像信息来对块中无效区采样进行填充。同一行最左和最右处的像素值在空间位置上实际是相邻的,具有很强的相关性,因此,可以彼此复制来进行填充。)
优点:
在JVET D0027中提到,S-PSNR是基于有限点进行评估,WS-PSNR无法进行跨投影格式评估。CPP-PSNR克服了这两个问题,考虑了视频中所有点,且可以实现跨投影格式的评估。
缺点:
1.CPP-PSNR需要首先进行格式转换,因此需要插值,造成失真计算不准确,且无法正确评估高频失真。
2.计算复杂度高,无法加入RDO。
WS-PSNR 根据映射格式在映射面的不同位置对应到球面上的占比情况来对映射面的不同位置分配不同的权重从而求得。
优点:
1.直接在2D图像上计算,计算复杂度低,最适配2D视频编码框架。
2.2D参考图像和测试图像的所有点都可以1对1的找到对应关系,可以加入到RDO中。
3.不需要投影变换,不使用插值滤波器,避免了插值带来的误差。
4.不受频率影响,可以平等的计算所有频率下的失真。
缺点:
WS-PSNR直接基于投影后的2D图像计算,因此其权重w(i,j)与投影格式有关。无法进行跨投影格式评估。
WS-PSNR公式推导
假设投影后的2D图像尺寸为MxN,加权均方误差如下:
其中y(i,j)和y’(i,j)为参考和测试图像像素值。w(i,j)为权重计算。
由WMSE求WS-PSNR:
其中MAXI是图像最大灰度级。
权重w(i,j)
因为WS-PSNR直接基于投影后的2D图像计算,因此其权重w(i,j)与投影格式有关。这也是其缺点所在:无法进行跨投影格式评估。下面来看下常见投影格式ERP和CMP的权重w(i,j):
下面是其权重分布图,越亮的区域权重越大:
2.CMP
CMP是由多个面组成的,而每个面的权重分布实际是相同的:
假设立方体的面分辨率为AxA,则r=A/2为半径,d(i,j)2=(i+0.5-A/2)2+(j+0.5-A/2)^2为像素点(i,j)到面中心的距离。
对于compact CMP3x2,其权重分布图如下,越亮的区域权重越大:
————————————————
版权声明:本文为CSDN博主「岳麓吹雪」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lin453701006/article/details/78109934