视频质量评价PSNR的两种计算方法

PSNR(峰值信噪比)
峰值信号的能量与噪声的平均能量之比,本质的是比较两张图像像素值差异,用途较广,目前仍作为对照其他指标的基线。PSNR的单位是dB,数值越大表示失真越小。
在这里插入图片描述
m×n单色图像 I 和K, I 为一无噪声的原始图像,K为 I 的噪声近似(例:I 为未压缩的原始图像,K为 I 经过压缩后的图像)。
在这里插入图片描述
其中,MAX是表示图像点颜色的最大数值,如果每个采样点用 8 位表示(例:影像处理),那么就是 255。
首先看下单个分量的PSNR两种计算方式:
1、PSNR avg.MSE:当聚合整个视频的逐帧分数时,首先计算MSE的算术平均值,然后取对数。
在这里插入图片描述
2、PSNR avg.log:当聚合整个视频的逐帧分数时,首先计算每帧的PSNR,然后计算所有视频帧的算术平均值。
在这里插入图片描述
这里有个问题,可以思考下,这2种计算PSNR的方式哪种合理,有如下论点:
相较于PSNR avg.MSE,PSNR avg.log具有一定不合理性,其太过“照顾”质量更高的帧,比如PSNR=99dB和PSNR=50dB的单帧,往往在主观上看不出区别,但通过PSNR avg.log的公式计算后,PSNR=99dB的一帧就会大大拉高最终平均分,在特定序列上容易被trick。
事实上,人眼对于质量越差的帧反而越敏感,所谓一锅老鼠屎坏了一锅粥,当观看视频时突然闪现一帧质量差的画面,人眼会对这一帧记忆更为深刻。相较于PSNR avg.log,PSNR avg.MSE就更加关照低质量帧,从这点上可能更符合主观感受。

上述两种方式实现代码如下:
1、将Y,U,V分量的SSE值都算出来相加,取整个序列的SSE平均值后,获取整个序列的PSNR。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
2、将每帧的Y,U,V分量的PSNR值都算出来,取三个分量的加权平均值,获取一帧的PSNR,最终求取整个序列的算术平均值:

在这里插入图片描述
在这里插入图片描述
x264/x265软件采取的就是这种方式。
总结:

不同工具算出来的值,取值范用不同,但是无论什么工具,在PSNR小于50db以内,值还是基本一致的,PSNR值和视频质量对应关系如下:
图像与影像压缩中典型的峰值信噪比值在30dB到50dB之间,愈高愈好;
PSNR接近50dB,代表压缩后的图像仅有些许非常小的误差;
PSNR大于30dB,人眼很难查觉压缩后和原始影像的差异;
PSNR介于20dB到30dB之间,人眼就可以察觉出图像的差异;
PSNR介于10dB到20dB之间,人眼还是可以用肉眼看出这个图像原始的结构,目直观上会判断两张图像不存在很大的差异;
PSNR低于10dB,人类很难用肉眼去判断两个图像是否为相同,一个图像是否为另一个图像的压缩结果。
参考:https://blog.51cto.com/u_16213665/7983883

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值