H.266/VVC技术学习之环路滤波:样点自适应补偿SAO技术

H.266/VVC的样点自适应补偿技术和H.265/HEVC的类似。SAO的主要思想是对对照原始图像, 通过对重建图像块的像素特点进行合适的分类,对不同的分类施加不同的补偿值,使其更接近原始图像,从而可以减少图像失真。

根据吉布斯效应, 时域跳变信号在频域进行截断操作后会在时域原始值附近产生起伏, 如下图所示, 虚线为原始信号值, 而实线表示重建信号值, 它存在一些局部峰值、局部谷点等。在编码中,由于变换、量化导致图像的高频信息丢失,解码后会在边缘周围产生波纹现象,即振铃效应。

吉布斯现象
振铃效应

 造成振铃效应的根本原因是高频信息的丢失。SAO的基本原理就是对重构曲线中的波峰像素加上负值进行补偿,波谷像素加上正值进行补充。

样点自适应补偿SAO技术包含两滤波类型,边缘补偿(Edge Offset,EO)和带补偿(Band Offset,BO),在实际编码中,以CTU为单位,针对每个CTU的不同特性,由RDO准则决定使用哪种SAO滤波类型或者不使用SAO滤波。

带补偿(BO)

在带补偿模式中,所选的补偿值直接取决于像素的幅度值。编码器把图像像素值范围划分为32个等份,每个小等份成为“带”(band)。

以 8bit 为例,将 0~255 划分成 32 个带,每个边带包含256/32=8个像素值,即像素值属于[8k,8k+7]范围属于第k个边带,k=0...31。同一边带使用相同补偿值。

针对每个CTU,分别统计落入每个带中的原始像素均值和重建像素均值之差(即补偿值),在编码端将每个补偿值加到每个重建像素上,使得每个带中的原始像素的均值和重建像素的均值相等,同时,将这一补偿值写入码流传到解码端,使得解码端可以完成同样的补偿。

计算完32个带后,选择4个连续补偿值最大的带作为最终确定的需要补偿的带。(原因:(1)对于图像的平坦部分大部分像素的取值都集中在很少的几个带中,使用连续的4个带能够覆盖大部分的像素;(2)EO模式使用了4个补偿值,为了节省码流,BO也可以服用这四个补偿值的语法)

边缘补偿(EO)

边缘补偿根据边界方向区分像素值,EO采用了4种一维方向来确定该样点值所属的EO模式,分别为水平、垂直、135度角和45度角,如下图所示,c表示当前像素,a和b表示相邻像素。在编码端,每个CTU只可以选择4种EO模式中的一种,即该CTU中所有的像素都为这一EO模式,通过使用RDO准则选择EO模式。

 对于一个给定的EO模式,根据a/b/c值的大小关系,即当前c点像素与周围a、b两个点的参考像素相比,将CTU中的每个像素分为5种类型:

  • 如果当前像素值小于相邻两个像素值,则该像素为谷值,属于类型 1; 
  • 如果当前像素值小于一个相邻像素值,且等于另一个相邻像素值,则该像素为凹拐点,属于类型 2; 
  • 如果当前像素值大于一个相邻像素值,且等于另一个相邻像素值,则该像素为凸拐点,属于类型 3; 
  • 如果当前像素值大于相邻两个像素值,则该像素为峰值,属于类型 4; 
  • 如果①~④的情况都不满足,则该像素属于平坦区域,不需要进行边缘补偿
类型条件
1c<a和c<b
2(c<a和c=b)或(c=a和c<b)
3(c>a和c=b)或(c=a和c>b)
4c>a和c>b
0其他

四类的图如下所示;

对于以上第1类谷值点和第2类凹拐点,EO 对其加上一个正的补偿值,使之与相邻像素平齐;对第3类凸拐点和第4类峰值点,EO 对其加上一个负的补偿值,使之与相邻像素平齐。在同一个 CTU 内,EO 并不对每个像素都施加不同的补偿值,而是每一类共享同一个补偿值,每个 CTU 仅需要传递 4 个补偿值,这样可以极大地节省码率消耗。另外,编码器也不需要为每个补偿值传递额外的符号标志位,因为第12类的补偿值必为正数,第34类的补偿值必为负数,编码器只需要将补偿值的绝对值传递到解码端即可,具体的正负号由类型决定。 

Merge模式

参数融合(Merge)是指对于一个CTB,其SAO参数可以直接使用相邻块的SAO参数,这时只需标识采用了哪个相邻块的SAO参数即可。

如上图所示,当进行SAO参数决策时,左侧块和上侧块的SAO参数已经确定。此时当前块SAO参数有以下3种选择:

  1. 直接使用左侧块的参数。

  2. 直接使用上侧块的参数。

  3. 通过分析自身像素的特点,选择不同于左侧块和上侧块的参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值