学习笔记——去块效应滤波器
一、块效应产生的原因
1.DCT变换的变换系数量化过程相对粗糙,且DCT变化是基于块的。
2.运动补偿块的匹配块不是绝对准确的,各个块的残差大小程度存在差异,特别是相邻块所用参考真不同,运动矢量或者参考块的差距过大时,块边界上产生的数据不连续就更加明显。
二、滤波器分类
1.环路滤波器:放置在编解码环路中
2.后置滤波器:放置在解码端
三、滤波过程
H.264中的去块效应滤波以16乘16的宏块为单位,在宏块内按照先横后纵、先亮度后色度的顺序,对每个4乘4块边界进行滤波处理,滤波过程包括边界分析和滤波运算两部分
1.边界分析
边界分析需解决两个问题:计算边界的强度和区分真假边界。
- 计算边界的强度
对4*4块定义边界强度,设P、Q为两相邻块,根据P、Q的编码模式,残差变换系数等条件查表可得边界强度。色度块的边界强度不需要单独计算,直接等于对应亮度块的边界强度,对应关系如图所示:
- 区分真假边界
(1) 区分真假边界的两个假设:
a.真实边界两边像素点的差值通常比虚假边界两边像素的差值大。
b.对于两边像素较小的真实边界,即使用了平滑滤波,其主观的效果也不会有太大的影响
(2) 去块效应滤波的原则:
a.平坦区域即使很小的像素不连续也容易察觉,所以要使用比较强的去块滤波,可以改变较多的像素点
b.复杂区域,为了保持图像的细节,使用较弱的平滑滤波,改变较少的像素点
注:H.264标准中设置了两个阈值来判断虚假边界,阈值的取值取决于量化参数,量化参数越大,误差越大,块效应越明显,阈值也应越大,反之亦然。关于判断虚假边界的公式为:
其中:
2.滤波运算
-
滤波顺序:亮度宏块:a->b->c->d->e->f->g->h。色度宏块:i->j->k->l
注:色度要借用亮度的边缘强度,所以滤波完亮度的边界才能滤波色度的对应边界。宏块的右边界和下边界与后面的宏块一起滤波,称为“被动滤波”。
-
边界强度(BS)为1、2、3时的滤波过程
定义两个相邻4*4块中一条直线上的样点为p3,p2,p1,p0,q0,q1,q2,q3,如图所示:
此时,滤波过程分为基本滤波操作和限幅。
-
边界强度(BS)为4时的滤波过程