H.264/MPEG-4 Part 10 White Paper 译(五) Reconstruction Filter
重建滤镜
1. 引言
联合视频工作组(JVT)正在定案一个新的自然视频图像编码(压缩)标准。新标准被称为H.264或称作MPEG-4 Part 10、“高级视频编码(AVS)”。这篇文档描述了H.264编码解码器中过滤重建块的方法。注意H.264草案标准现在尚未定稿,所以鼓励读者参考最新版本的标准。
2. 什么是重建滤镜
滤镜是为了减小块失真而应用到所胡已解码宏块上。抗块效应滤波器在下述两种情况下使用:(1)编码过程:逆变换之后使用(在重建之前并为了之后的预测而存储宏块)(2)解码过程:重建之前并显示宏块。重建滤镜有两个作用:(1)使块边缘平滑,提高解码图像质量(特别是在高压缩比情况下);(2)过滤的宏块用于编码器中另外的帧的运动补偿预测,在预测后产生一个更小的残留帧。(注意:帧内编码宏块被过滤,而帧内预测则是使用未经过滤的d 重建的宏块产生预测。)图片边缘没有被过滤。
以下面的顺序对宏块中的4X4块的垂直和水平边缘使用过滤:
1. 对亮度分量的4个垂直边界进行过滤(以Figure 1中的a,b,c,d序)
2. 对亮度分量的4个水平边界进行过滤(以Figure 1中的e,f,g,h序)
3. 对每个色度分量的2个垂直边界进行过滤(i,j序)
4. 对每个色度分量的2个水平边界进行过滤(k,l序)
每个过滤操作最多对边界两边的三个像素起作用。Figure 2显示了相邻块p和q间垂直或水平边界两边的各4个像素(p0,p1,p2,p3和q0,q1,q2,q3)。这可以有多种输出,从(a)没有像素被过滤到(b)p0,p1,p2,q0,q1,q2都被过滤并产生像素P0,P1,P2,Q0,Q1,Q2,这取决于当前的量化器、相邻块的编码模式和跨边界的图像采样的梯度。
3 边界强度
过滤的输出取决于边界强度和跨边界的图像采样的梯度。根据下面规则来选择边界强度系数Bs:
p或q采用帧内编码并且边界是一个宏块边界(即宏块最外侧边界) | Bs=4 (过滤强度最大) |
p或q采用帧内编码并且边界不是一个宏块边界 | Bs=3 |
p和q都不采用帧内编码但p或q包含编码系数 | Bs=2 |
p和q都不采用帧内编码且都不包含编码系数,p和q有不同的参考帧或参考帧号不同或有着不同的运动矢量值。 | Bs=1 |
p和q都不采用帧内编码并且都不包含编码系数;p和q有相同的参考 帧和相同的运动矢量。 | Bs=0 (未过滤) |
|
在可能会产生很强失真的地方,过滤强度最大。如一些帧内编码宏块的边界或包含编码系数的块之间的边界。
5. 滤镜决策
集合(p2,p1,p0,q0,q1,q2)中的一组采样只有满足下列条件时才会被过滤:
(1) Bs>0并且
(2) |p0-q0|,|p1-p0|和|q1-q0|都小于一个阀值?或?(?和 ?在标准[1]中定义)
阀值?和 ?随着块p和q的量化参数QP的平均值增加而增加。滤镜决策的目的是在原始图像跨越边界时,梯度没有明显改变的情况下关闭滤镜。明显改变的定义取决于QP。当QP比较小的时候,除了非常微小的跨边界梯度,其它的都被看做是就应该保护的图像特征,这样阀值?和?就比较小。当QP比较大的时候,块失真可能会很明显,这样?和?就比较大,这样就会产生更多的过滤。
5. 滤镜的实现
(1) Bs ? {1,2,3};
对p1,p0,q0和q1使用一个4-输入线性滤镜,过滤的的输出为P0和Q0(0<Bs<4)
另外,如果|p2-p0|比阀值?小,则对p2,p1,p0和q0使用4-输入线性滤镜进行过滤,过滤输出P1。如果|q2-q0|比阀值?小,则对q2,q1,q0和p0使用4-输入线性滤镜进行过滤,过滤输出Q1。(在色度分量中p1和q1不会被过滤,只在亮度分量中使用)。
(2) Bs=4:
if |p2-p0|<?&&|p0-q0|<round(?/4) then:
使用一个5-输入滤镜对p2,p1,p0,q0和q1进行过滤,输出P0;
使用一个4-输入滤镜对p2,p1,p0和q0进行过滤,输出P1;
(只使用于亮度分量)使用一个5输入滤镜对p3,p2,p1,p0和q0进行过滤,输出P2
else:
使用一个3输入滤镜对p1,p0和q1进行过滤,输出P0;
if |q2-q0|<?&&|p0-q0|<round (?/4) then:
对q2,q1,q0,p0和p1使用一个5输入滤镜进行过滤,输出Q0;
对q2,q1,q0和p0使用一个4输入滤镜进行过滤,输出Q1;
(只使用于亮度分量)对q3,q2,q1,q0和p0使用一个5输入滤镜进行过滤,输出Q2
else:
对q1,q0和p1使用一个3输入滤镜进行过滤,输出Q0
6. 过滤实例
一个QCIF视频片段使用AVC参考程序以固定量化参数32编码。Figure 3显示了视频片断的原始帧;Figure 4显示了禁用环路滤镜时,帧间编码和重构后的相同帧。Figure 5使用了环路滤镜时帧画面,显示效果大有改善。这里仍然有一些失真,但大部分块边缘已经消失或是减淡了。注意对比度明显的边界被滤镜保存,而同时图像平滑区域的块边界被平滑。
Figure 6显示了一个有着更高QP(36)的解码帧,此时禁用了环路滤镜(注意增加了大量伪像),Figure 7显示了相同帧,使用环路滤镜。
7. 参考资料
1 ITU-T Rec. H.264 / ISO/IEC 11496-10, “Advanced Video Coding”, Final Committee Draft, Document JVT G050, March 2003