ITPub博客

首页 > 应用开发 > IT综合 > H.264/MPEG-4 Part 10 White Paper 译(五) Reconstruction Filter

H.264/MPEG-4 Part 10 White Paper 译(五) Reconstruction Filter

原创 IT综合 作者:helloxchen 时间:2010-11-05 13:35:09 0 删除 编辑
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)

另外,如果|p2-p0|比阀值?小,则对p2,p1,p0和q0使用4-输入线性滤镜进行过滤,过滤输出P1。如果|q2-q0|比阀值?小,则对q2,q1,q0和p0使用4-输入线性滤镜进行过滤,过滤输出Q1。(在色度分量中p1和q1不会被过滤,只在亮度分量中使用)。

(2) Bs=4:

if |p2-p0| 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| (?/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

http://hi.baidu.com/huybin%5Fwang/blog/item/243bbaa2a920e7abcaefd00c.html[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24790158/viewspace-1040970/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    171
  • 访问量
    311114