简单理解VVC中的ALF滤波

1简介

VTM中总共三个环路滤波器。DBF , SAO 和 ALF

ALF,就是根据像素点局部梯度的方向和活动,从给定25个滤波器中选择一个进行滤波。其中Y分量每个4*4的块都会选择一个,对于颜色只会选择一个。

2,滤波器:

色度分量采用的是55的滤波器,亮度分量采用的是77的菱形滤波器

色度滤波器,亮度滤波器.png

3,滤波过程-选择滤波器

在亮度上,选择滤波器的过程为:C = 5D + A
C为滤波器,D为块的方向,A为块的活动性
计算:使用一维的拉普拉斯计算块垂直,水平,两个对角线方向的梯度,计算数值的范围就是该4x4的块
为了降低计算的复杂度,在计算前进行下采样


下采样位置
i,j指4x4的块的左上角坐标,R指像素重建值

计算方案:
水平和垂直方向D的最大值和最小值计算:



对角线方向上D的最大最小值计算:


根据这得到的四个值和预设的阈值t0和t1,给出下面的计算法则,得到D值



A值同样根据上面的四个值进行计算,计算完后量化到0-4后即可得到C:


滤波过程--滤波器几何变换

对滤波器进行几何变换实际上就是对滤波区域进行相应几何变换,这样做可以简化滤波操作,减小计算量。
ALF使用了三种集合变换,包括对角翻转、垂直翻转和旋转。变换类型由上面计算的块的梯度决定。


翻转类型

其中,k为滤波器的尺寸,0<=k,l<=k;
(k,l)表示某一个点的坐标

梯度决定翻转类型

滤波过程--滤波公式


其中滤波器的长度为(-l/2,l/2),f(k,l)为滤波器参数
重建像素点加上对应像素点即为滤波结果

参考博文:
https://blog.csdn.net/Dillon2015/article/details/104288658/
https://www.pianshen.com/article/97911517376/

你可能感兴趣的:(简单理解VVC中的ALF滤波)