初涉PSNR计算工具

自从加入数字媒体解决方案团队,也了解了越来越多的音视频相关专业知识,最近团队考虑要不要使用GPU进行编解码,博士正好在忙,所以要我来进行测评,作为一个在音视频领域毫无背景知识的小白,居然连PSNR都不知道,真是感到深深的内疚,特此科普一下。

PSNR全称是Peak Signal to Noise Ratio,中文叫峰值信噪比,是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程术语,最常用的全参考视频质量评价方法之一,一般取值范围为20-40,值越大,视频质量越好。PSNR有固定的公式,对于专业人士来说写其实并不难计算,但是对于我这样一直搞工程的人却是麻烦至极,最简单的当然莫过于直接找工具计算了,目前用过的靠谱工具有以下几个,可以根据自己的需求选取。

EvalVid – A Video Quality Evaluation Tool-set

Evalvid是一个开源的对在真实或模拟的网络里传输的视频进行质量评价的框架和工具集。其中有psnr可执行文件可以计算psnr,具体使用方法如下:

psnr x y <YUV format> <src.yuv> <dst.yuv> [multiplex] [ssim]
x frame width
y frame height
YUV format 420, 422, etc.
src.yuv source video
dst.yuv distorted video
[multiplex] optional
[ssim] optional: calculate structural similarity instead of PSNR

ffmpeg

ffmpeg应该是做音视频相关研究的同学入门第一课就会知道的工具了吧,也应该电脑上都有的,使用起来非常方便,我之前也只是用ffmpeg进行编解码的工作,却不知道他竟然也可以直接求PSNR,一用之下,果然非常方便。

ffmpeg -i input_video.mp4 -i reference_video.mp4 -filter_complex “psnr” “output_video.mp4”

  • 问题:不同对比分辨率不同的视频的PSNR

qpsr

这个工具是博士推荐的,因为有一次测评需要比较两个不同分辨率视频的PSNR,苦苦搜索无果,只好求助了博士,推荐了这个工具,这个工具蛮好的,计算PSNR的时候还会顺便计算下视频的真实比特率,倒是省去了不少麻烦。

./qpsnr/qpsnr -a avg_psnr -r reference_video.mp4 input_video1.mp4 input_video2.mp4 …

One thought on “初涉PSNR计算工具

Leave a Reply

Your email address will not be published. Required fields are marked *