例如,我可以提供以下视频格式之一:
400
411
420
422
444
选择每种视频格式都会显示视频序列的不同PSNR值。 或者我有什么方法可以确定输入YUV视频序列的YUV视频数据格式吗?
答案 0 :(得分:1)
Y-PSNR:您只需提取原始图像和参考图像的Y
分量,然后计算每个图像/视频帧的PSNR值。
对于视频:您需要计算所有估算的PSNR值的平均值。
答案 1 :(得分:1)
根据维基百科,PSNR针对每个色彩空间渠道进行报道。
或者,对于彩色图像,图像被转换为不同的颜色空间,并且针对该颜色空间的每个通道报告PSNR,例如,YCbCr或HSL。
请参阅:https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio
要计算视频的PSNR,您必须拥有源视频,并在某种处理阶段后拥有相同的视频。
PSNR最常用于衡量有损压缩编解码器的重建质量。
如果彩色子采样(例如,将YUV 444转换为YUV 420)是有损压缩流水线的一部分,建议在PSNR计算中包含子采样。
注意:没有严格的答案,这取决于您需要测量的内容。
例:
假设输入视频是YUV 444,并且H.264编解码器是从有损压缩中使用的,并且假设预处理阶段是将YUV 444转换为YUV 420。
视频压缩:YUV444 --> YUV420 --> H264 Encoder
。
您需要撤消该过程,然后计算PSNR
视频重建:H264 Decoder --> YUV420 --> YUV444
。
现在您输入YUV 444格式的视频,并以YUV 444格式重建视频,应用两个视频的PSNR计算。
确定输入YUV视频的YUV视频数据格式:
我建议使用ffprobe
工具
您可以从此处下载:https://ffmpeg.org/download.html(选择“静态链接”)
我在这里找到了解决方案:https://trac.ffmpeg.org/wiki/FFprobeTips。
您可以使用以下示例:
ffprobe -v error -show_entries stream=pix_fmt -of default=noprint_wrappers=1:nokey=1 input.mp4