版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lin453701006/article/details/78109934 为了符合当前的视频编码标准,360视频采集后需要投影为2D图像进行编码,而观看时需要将2D图像投影为球形视频,实际用户看到的是球形视频。考虑球形视频的特点,会存在关注区域的问题,直接使用PSNR对2D图像进行评估是不准确的。
目前360Lib中,采纳了WS-PSNR,S-PSNR,CPP-PSNR作为360视频的客观质量评估标准,其中S-PSNR分为S-PSNR-I和S-PSNR-NN。
首先来看下360视频评估系统框架: 可以看到WS-PSNR无法进行跨视频格式评估,其参考图像与测试图像必须是使用相同投影格式得到的2D图像。而S-PSNR和CPP-PSNR可以进行跨视频格式评估。 在最新的JVET会议中,修改了该框架(JVET-H1030):
不再采用S-PSNR-I,采用的评估标准如下:
1. WS-PSNR 参考:JVET-D0040,JVET-F1003 代码分析见http://blog.csdn.net/lin453701006/article/details/78170429 WS-PSNR(Weighted to Spherically uniform PSNR)与另外两种不同,它不需要将2D图像投影到球上,而是通过加权的方式直接计算PSNR。
1.1 WS-PSNR公式推导 假设投影后的2D图像尺寸为MxN,加权均方误差如下: 其中y(i,j)和y’(i,j)为参考和测试图像像素值。w(i,j)为权重计算。 由WMSE求WS-PSNR: 其中MAXI是图像最大灰度级。
1.2 权重w(i,j) 因为WS-PSNR直接基于投影后的2D图像计算,因此其权重w(i,j)与投影格式有关。这也是其缺点所在:无法进行跨投影格式评估。下面来看下常见投影格式ERP和CMP的权重w(i,j):
1.ERP 下面是其权重分布图,越亮的区域权重越大:
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,其权重分布图如下,越亮的区域权重越大:
1.3 优缺点 WS-PSNR是目前评估标准中最为合理的一个了。
优点: 1.直接在2D图像上计算,计算复杂度低,最适配2D视频编码框架。 2.2D参考图像和测试图像的所有点都可以1对1的找到对应关系,可以加入到RDO中。 3.不需要投影变换,不使用插值滤波器,避免了插值带来的误差。 4.不受频率影响,可以平等的计算所有频率下的失真。
缺点: WS-PSNR无法进行跨格式评估。
2.S-PSNR S-PSNR(Spherical PSNR)本质上是通过球上的固定均匀采样点来计算PSNR。
2.1 S-PSNR计算过程 其计算过程可以分为两部分: 1.对于球上一点s(事先确定的),通过3D-2D投影找到参考图像和测试图像上的对应点r和t点,计算r和t之间的误差。 2.计算所有s点对应的误差,累加得到S-PSNR。在360Lib中使用了655362个s点。 在计算过程中,s在参考图像和测试图像上的对应点s’,可能位于亚像素位置,无法直接找到对应的整像素点r和t。根据是否使用插值滤波器进行了划分:S-PSNR-NN为了避免使用插值滤波器引入失真,会直接进行取整操作,找离s’最近的整像素点;而S-PSNR-I使用插值滤波器来计算亚像素位置的像素值。 S-PSNR-NN代码部分见http://blog.csdn.net/lin453701006/article/details/78173707。
JVET最新会议提出的测试条件JVET-H1030中,已经不再使用S-PSNR-I了。可能原因就在于S-PSNR-I使用了插值,这不能正确的反映原始图像的质量。
2.2 优缺点 优点: 可以进行跨格式质量评估。相比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。
3. CPP-PSNR 参考:JVET D0027 代码分析见http://blog.csdn.net/lin453701006/article/details/78119537 CPP-PSNR就是投影到CPP格式计算PSNR。
3.1 CPP-PSNR计算过程 主要涉及格式转换和CPP格式下有效图像区域的计算,这里不详细说明了。 CPP格式详见:http://blog.csdn.net/lin453701006/article/details/70272591
3.2 优缺点 优点: 在JVET D0027中提到,S-PSNR是基于有限点进行评估,WS-PSNR无法进行跨投影格式评估。CPP-PSNR克服了这两个问题,考虑了视频中所有点,且可以实现跨投影格式的评估。