前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >视频编码器评测 - 客观评价指标

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

作者头像
不会跳舞的鸟
发布2022-11-16 09:49:23
1.1K0
发布2022-11-16 09:49:23
举报
文章被收录于专栏:不会跳舞的鸟

客观评价指标

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

  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 的命令:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 客观评价指标
    • PSNR
      • SSIM
        • VMAF
          • Example
      • References
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档