天天看点

环路滤波去块效应滤波样点自适应补偿(SAO)

去块效应滤波

产生原因

  1. 各个块变换量化过程相对独立,因此引入的量化误差大小及其分布特性相互独立,导致相邻块边界的不连续;
  2. 运动补偿中,相邻块的预测值可能来自不同图像的不同位置,导致预测残差信号在块边界产生数值不连续。

边界强度

首先对边界强度进行判断,假设两个相邻块为p、q,判断规则如下表:

条件 Bs(边界强度)
p或q是帧内预测,且边界为宏块边界 Bs=4,强滤波
p或q是帧内预测,且边界不是宏块边界 Bs=3
p和q都不是帧内预测;p或q包含残差系数 Bs=2

p和q都不是帧内预测;p和q都不包含残差系数;

p和q有不同的参考帧或者不同数量的参考帧或者不同的运动矢量值

Bs=1

p和q都不是帧内预测;p和q都不包含残差系数;

p和q有相同的参考帧和相等的运动矢量

Bs=0,不进行滤波
环路滤波去块效应滤波样点自适应补偿(SAO)

滤波决策

只有样点集(p2,p1,p0,q0,q1,q2)满足下列条件时,才会进行滤波:

  1. Bs > 0
  2. |p0-q0| < α \alpha α, |p1-p0| < β \beta β, |q1-q0| < β \beta β, 其中 α \alpha α、 β \beta β在标准中定义。阈值 α \alpha α和 β \beta β会随着p、q两个块的平均QP而增加。这样做的目的是:当原始图像本身在块边界有显著的变化或梯度时,通过滤波决策可以将滤波器关掉。QP越大,则越有可能触发滤波。

样点自适应补偿(SAO)

振铃效应:对于图像里的强边缘,由于高频交流系数的量化失真,解码后在边缘周围产生的波纹现象。

H.265/HEVC标准中的SAO以CTB为基本单位,通过选择合适的分类器将重建像素划分类别,然后对不同类别像素使用不同的补偿值,可以有效的提高视频的主客观质量。其主要分为边界补偿(Edge Offset,EO)和边带补偿(Band Offset,BO)两类。

边界补偿

边界补偿分为水平方向(EO_0)、垂直方向(EO_1)、135度方向(EO_2)、45度方向(EO_3)四种模式,在任意一种模式下,根据一定条件将重构像素分为5个不同种类,不同种类的像素才用不同的补偿值,同一种类必须采用相同的补偿值。

同时,补偿值的符号与其种类强相关,所以按照不同种类对补偿值的符号进行了限制:种类1、2补偿值大于等于0,种类3、4小于等于0。

边带补偿

边带补偿技术根据像素强度值对归类,将像素范围等分成32条边带。一般同一个CTB中大多数像素属于少数几个边带,标准规定一个CTB只能选择4条连续的边带,并只对属于这4个边带的像素进行补偿。选择哪4条边带可以通过率失真优化方法确定。

SAO参数融合

参数融合(Merge)是指对于一个CTB块,其SAO参数直接使用相邻块的SAO参数。如果使用参数融合,亮度和色度分量必须同时使用同一个相邻块(同时使用左相邻块或同时使用上相邻块)的补偿参数。

继续阅读