H.266/VVC代码学习27:视频失真测度:SSD、MSE、SAD、SATD、PSNR

1 定义

SSD:平方误差和 —— Sum of Squared Difference
MSE:均方误差 —— Mean Squared Error
SAD:绝对误差和 (时域)—— Sum of Absolute Difference
SATD:绝对误差和(频域,也可叫HAD) —— Sum of Absolute Transformed Difference
PSNR:峰值信噪比 —— Peak Signal to Noise Ratio

2 计算

假设M x N 为视频空间分辨率;
f(x,y) 为(x,y)处的原始像素值,g(x,y) 为(x,y)处的重构像素值。

则有:
H.266/VVC代码学习27:视频失真测度:SSD、MSE、SAD、SATD、PSNR_第1张图片
以上算式适用于空域,即在时域即可计算,而SATD应用于变换域。将残差信号进行哈达玛变换到频域,设其矩阵为H
在这里插入图片描述

3 个人理解

SAD算法最简单,反映残差时域差异,影响PSNR值,但无法有效反映码流的大小,类似的如SSD、MSE。
SATD要进行变换过程,相对麻烦一些,但在一定程度上可以反映生成码流的大小,SATD可以作为简单的率失真初步估计。

SAD和SATD都是一次方的失真测度,一般呈正相关
SSD和MSE是二次方失真测度,MSE比SSE多个平方操作而已。
PSNR是最重要的失真测度,和MSE有着千丝万缕的联系

RDO是率失真代价,综合了码率和PSNR的最终结果,用最小的码率达到最大的信噪比是视频编码的终极目标,计算公式为J=D+λR。其中J为率失真代价,D为上述失真,R为码率。

你可能感兴趣的:(H.266/VVC视频编码)