H.264/AVC 环路滤波

今天看看264的滤波。

和265、266比起来,264只有一个DBF,看看有没有有意思的地方。

264的滤波位置与265和266相同。

具体的处理方式和265有区别:265是以8x8的块为基础,264是以宏块中的4x4块为基础。

Filtering is applied to vertical or horizontal edges of 4x4 blocks in a macroblock excluding edges on slice boundaries, in the following order:

1. Filter 4 vertical boundaries of the luma component in order a,b,c,d in Figure 6.45

2. Filter 4 horizontal boundaries of the luma component in order e,f,g,h Figure 6.45

3. Filter 2 vertical boundaries of each chroma component (i,j)

4. Filter 2 horizontal boundaries of each chroma component (k,l)

以竖直方向的边界为例,简单说明滤波:

p和q分别是边界两边的像素值

滤波里面有两个概念:边界强度Bs和滤波强度

边界强度是指:看当前这个块边界有没有明显到需要进行滤波

边界强度的计算方式如下

1. 如果p或者q使用intra模式编码并且当前边界是宏块的边界,那么Bs=4

2. 如果p或者q使用intra模式编码并且当前边界不是宏块边界,那么Bs=3

3. 如果p和q都没有使用intra模式编码;如果p或者q包含编码系数,那么Bs=2

4. 如果p和q没有使用intra模式编码;p和q都不包含编码系数;

    p和q的参考帧不同或者参考帧数量不同或者MV不同,那么Bs=1

5. 如果p和q没有使用intra模式编码;p和q都不包含编码系数;

    p和q参考帧相同并且MV相同,那么Bs=0,不进行滤波

滤波强度是指:如果确定要进行滤波,那么要进行多狠的滤波

滤波操作最多影响边界上的三个像素点,滤波强度取决于QP、相邻块的编码模式和边界周围图像梯度。

(p2,p1,p0,q0,q1,q2)会在下面两种情况下滤波:

(1) Bs > 0

(2) |p0-q0|,|p1-p0| and |q1-q0| 分别小于α和β,α和β是定义在标准中的,随QP的增大而增大。这是在视频图像内容有明显纹理的情况下尽可能不去滤波,防止模糊。

实际滤波的过程中会影响边界周围几个像素点取决于下面(都是规矩,没什么好理解的,直接截图了):

总体来说,和265、266的没什么区别,甚至会更简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值