HEVC中的去方块滤波——Deblocking Filter

Deblocking Filter的作用

Deblocking与SAO都是HEVC中的环路滤波器,重建图像会首先经过Deblocking,再进行SAO。Deblocking主要用来去除编码的块效应,SAO消除图像的振铃效应。

块效应(block artifact)

我们知道现在的主流编码器都是使用基于块的混合编码框架,以编码块为单位进行预测、变换、量化。

这就导致不同的编码块会使用不同的编码参数,进而不同编码重建块之间的存在一定的差异,尤其在编码块边界处较为明显。

编码块边界处不连续的现象就是块效应。

这种现象在QP较大时比较明显,因此QP越大Deblocking的强度也越大。块效应如下图所示:
块效应

滤波边界判决

滤波位置

在HEVC中,滤波只对横坐标或纵坐标位于8像素的整数倍处的边界进行,所谓边界即是CU、PU或TU的交界处。

滤波顺序

在一幅图像中,首先对竖直的边界进行滤波,之后在对水平的边界进行。如下图:
Deblocking的顺序
图中每个网格大小都是8x8,首先会从左至右进行实线边界的滤波(如果是边界的话),接下来会从上至下进行虚线边界的滤波(如果是边界)。

在HEVC中,竖直的边界之间滤波互不影响,因此可以同时进行。对于水平边界同理。

边界强度(Boundary strength, Bs)

一个边界是否需要滤波需要看它的边界强度。主要是通过相邻的块的编码信息来判断,如预测模式或运动矢量。Bs的取值由下表得到:
Bs取值表
可以看到:

  • 当两个相邻块有一个以上的帧内预测块时,Bs=2
  • 当两个相邻块有一个以上的非零变换系数块时,Bs=1
  • 当两个相邻块的运动矢量差值绝对值大于一个色度分量像素时,Bs =1
  • 当两个相邻块参考不同图像时,Bs =1
  • 其余情况Bs=0

即我们认为相邻块的预测模式、运动矢量、变换系数差异越大时,它们的边界就越明显。

对于亮度度分量,只有当Bs>0才会应用Deblocking,而对于色度分量,只有Bs>1才会应用Deblocking

此外,对于亮度分量而言,边界两边的像素如何进行Deblocking需要进一步判断,而对于色度分量,两边则相同,不用进一步判断。

Bs获取的流程如下图,其中P,Q代表两个相邻的块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值