AVS3引入了CCSAO,通过不同通道间的预测来去除通道间的冗余以提升编码效率。然而CCSAO在处理时未考虑边界像素的分类问题,所以在处理纹理复杂的内容时效率还是不高。



AVS3中ECCSAO_avs3


CCSAO


AVS3中引入了CCSAO,它是帧级的环路滤波工具,如Fig.1所示,它位于ESAO和ALF两个模块之间。CCSAO的目的在于减少色度的失真,首先将色度像素根据其对应的亮度重建像素进行分类,然后对不同类别生成对应的offset,然后对每个类别的色度像素补偿对应的offset。



AVS3中ECCSAO_CCSAO_02


根据公式(1)对色度像素分类,其中rl是重建的亮度像素,M是总类别数最大为16,I是对应的分类。



AVS3中ECCSAO_CCSAO_03


对于420格式的序列,色度对应的亮度重建像素rl可以从9个候选位置选取,如Fig.2所示。根据公式(2)由rc得到rl0的位置,再根据rl0可得到其相邻的8个亮度重建像素rl1~rl8,其中rc是色度重建像素。总的类别数量M和对应的亮度位置由RDO计算得到并传到解码端。

对于每个类别,都需要传输一个offset,解码端将offset加到色度上得到重建值,



AVS3中ECCSAO_CCSAO_04

其中

AVS3中ECCSAO_avs3_05

是类别i对应的offset,其取值范围限制为[-15,15]。

由于CCSAO在对像素分类时未考虑边界处像素,所以在处理复杂内容时效率不高。如Fig.3,虽然和亮度相比色度分量相对平坦,但其仍然包含大量纹理内容,所以如果在对像素分类时能充分考虑边界像素则能提高效率。此外,自然场景视频的内容趋向于复杂和离散,而CCSAO是帧级的技术,在处理这种情况时效果不好。



AVS3中ECCSAO_SAO_06


ECCSAO


为了解决CCSAO在分类时未考虑边界像素的问题,引入4个1D方向模板来对色度像素分类,如Fig.4所示,分别为水平、垂直、45度和135度。



AVS3中ECCSAO_CCSAO_07



AVS3中ECCSAO_Powered by 金山文档_08


给定色度像素rc对应的亮度像素rl,p0,p1,rc对应类别按下面方式求得:

  1. 首先根据公式(4)求得d0和d1。
  2. 然后根据公式(5)得到q0和q1,其中阈值Th由编码器根据RDO求得,取值范围为[2,16]。
  3. 根据公式(1)求出I,其中M取2。
  4. 根据公式(6)得到色度像素rc所属类别idx。对每个类别根据RDO求出对应offset,然后通过公式(3)对相应类别进行补偿。

由于I取值只有0和1,di取值(0,1,2,3),所以总类别数为2x4x4=32。最优的1D方向模板由RDO求得。

由于一帧内容往往是复杂且离散的,CCSAO这种帧级的滤波在处理这种情况时并不高效。因此ECCSAO中引入FQS(four-layer quadtree structure),将一帧图像分为多个图像块,每个图像块分别作为一个滤波单元分别滤波。如Fig.5,FQS的根节点是整个帧,递归进行四叉树划分,最多划分4层,每个叶子节点包含整数个CTU。同一层的滤波单元按扫描顺序编号。



AVS3中ECCSAO_CCSAO_09


最优的划分方式通过RDO计算得到,划分完成后每个滤波单元独立完成滤波,滤波单元根据RDO选择最优的色度像素分类方式。

实验结果


实验平台HPM-9.1,如表2所示,色度分量都取得了很大的gain,亮度分量略微loss,这是因为ECCSAO引入了额外的比特来编码信息。对于AI、RA、LD配置BD-Rate分别为-1.51%、-2.33%、-2.68%。



AVS3中ECCSAO_Powered by 金山文档_10


Fig.6是主观效果对比,(a)(b)是原始图像的Cr分量,(c)(d)是不开ECCSAO,可以看见很多细节都模糊或者丢失了,(e)(f)是开启ECCSAO后的效果可以看见纹理保留的更多。



AVS3中ECCSAO_SAO_11


参考


Y. Jian et al., "Enhanced Cross Component Sample Adaptive Offset for AVS3," 2021 International Conference on Visual Communications and Image Processing (VCIP), Munich, Germany, 2021, pp. 1-5, doi: 10.1109/VCIP53242.2021.9675321.