zl程序教程

您现在的位置是:首页 >  其它

当前栏目

视频编码器评测 - 客观评价指标

视频 评测 指标 评价 编码器 客观
2023-06-13 09:15:12 时间

客观评价指标

客观质量评价主要分三个方向:

  1. 全参考 (Full-Reference):属于有源评价。
  2. 部分参考 (Reduced-Reference):属于有源评价。
  3. 无参考 (No-Reference):属于无源评价,学术界的研究重点,主要分为传统的特征提取和机器学习。

常见的全参考客观评价指标有:

  • PSNR (Peak Signal-to-Noise Ratio)
  • SSIM (Structural Similarity Index Measure)
  • VMAF (Video Multi-Method Assessment Fusion)

其他不常用的全参考客观评价指标举例:

  • MSE (Mean Square Error)
  • MS-SSIM (Multi Scale Structural Similarity Index)
  • JND (Just Noticeable Difference)

PSNR

峰值信噪比 (PSNR) 表示信号最大功率与影响精度的噪声功率的比值,单位为分贝 (dB) 。一般用的最多,缺点有时候分数与人眼观感差距较大,因为 PSNR 没有考虑亮度、结构等信息对于视频质量的影响,故后续也出现了 HDR-PSNR 等方法。

PSNR 通过均方误差 (MSE) 计算而来,MAX 为图像所有像素点颜色数值的最大值。其中MSE公式如下:

\begin{aligned} MSE=\frac{1}{m n} \sum_{i=0}^{m-1} \sum_{j=0}^{n-1}[I(i, j)-K(i, j)]^{2} \end{aligned}

RGB(彩色)图像的 PSNR 计算公式如下:

\begin{aligned} PSNR=10 \cdot \log _{10}\left(\frac{MAX_{I}^{2}}{\frac{1}{3 m n} \sum_{R, G, B} \sum_{i=0}^{m-1} \sum_{j=0}^{n-1}\left[I_{\text {color }}(i, j)-K_{\text {color }}(i, j)\right]^{2}}\right) \end{aligned}

SSIM

结构相似性度量 (SSIM),更加接近人眼感知,常常与 PSNR 结合参考使用。 其包含三个分量:

\begin{aligned} l(\mathbf{x}, \mathbf{y})=\frac{2 \mu_{x} \mu_{y}+C_{1}}{\mu_{x}^{2}+\mu_{y}^{2}+C_{1}} \\ c(\mathbf{x}, \mathbf{y})=\frac{2 \sigma_{x} \sigma_{y}+C_{2}}{\sigma_{x}^{2}+\sigma_{y}^{2}+C_{2}} \\ s(\mathbf{x}, \mathbf{y})=\frac{\sigma_{x y}+C_{3}}{\sigma_{x} \sigma_{y}+C_{3}} \end{aligned}

其中,x、y 为需要对比的两张图像。最终 SSIM 是以上三个相乘:

\begin{aligned} SSIM = l(\mathbf{x}, \mathbf{y}) \times c(\mathbf{x}, \mathbf{y}) \times s(\mathbf{x}, \mathbf{y}) \end{aligned}

VMAF

Netflix 与几个大学实验室合作推出的多方法融合的客观评估指标,基于 Machine Learning。目前业内已经用的很多,算力消耗较大。

VMAF 的计算主要使⽤了3种指标,特征之间融合计算出总分的过程使⽤了训练好的 SVM (Support Vector Machine) 来预测:

  1. Visual Quality Fidelity (VIF):视觉信息保真度,为空域特征。
  2. Detail Loss Measure (DLM):细节损失指标,可以衡量内容可⻅性的细节丢失,针对⼀些特殊情况就不再适⽤,⽐如⿊框;⽐如过度的锐化也会导致计算结果与⼈眼不相符。
  3. Temporal Information (TI):相邻帧的运动向量,简单的使⽤亮度分量的平均绝对像素差来计算得到。

Example

以下是利用 FFmpeg 工具调用 libvmaf 库来计算 vmaf 的命令:

ffmpeg -i main.mpg -i ref.mkv -lavfi "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]libvmaf=psnr=1:log_fmt=json" -f null -
  • ref 为参考 (reference) 视频,即 Ground-truth
  • main 为需要评价的视频
  • 需要注意的是 [main] [ref] 顺序不能反过来

References