1. AVS中的SAO样值偏移自适应补偿技术,首先将正在处理的块往左上移动了四行四列,超过图像边界的部分丢弃,右、下图像边界部分补齐。
也就是偏移前在图像边缘的块,进行去除和扩展得到偏移后的块。图像内部的块,正常往左上移动四行四列。这里的偏移是为了后续的计算方便得到相邻块的信息
2. 获得SAO的模式,编码端会进行RDO得到最优的SAO模式,并且传递给熵编码。在解码端直接获得编码传递过来的SAO模式,其中还用了一个Merge合并的方式来减少使用的码率(就是当前块的SAO信息可以直接用相邻的块的SAO信息,这样可以节省编码bit)
编码端的RDO:会比较当前块的EO_0、EO_90、EO_135、EO_45、BO五种模式再加上左邻居的merge信息和上邻居的merge信息这七种模式的cost,最终选择最优的模式进行SAO。
3.SAO模式
①区间模式SAO_Interval
当前块的像素值0~255分到32个区间(即像素值/8),选择4个的区间(其中区间是两个连续的作为一组,这样也是为了节省编码bit),对处于这区间的像素点进行偏移(这里的4个区间是之前RDO得出来的,每个区间的偏移量offset也是RDO得出来的,都保存在最优sao参数里)。当前块其他不在4个区间内的像素点的值就不变。
②边缘模式SAO_Edge
边缘模式有4个模板,即EO_0、EO_90、EO_135、EO_45这四个方向
核心思想:就是根据c的值跟a、b的值的关系,来对c的值进行一个偏移
分5种情况,每种情况对应一个偏移量(这个偏移量也是RDO得到的,保存在最优SAO参数中)
① c < a && c < b
② (c < a && c == b) || (c == a && c < b)
③ (c > a && c == b) || (c == a && c > b)
④ c > a && c > b
⑤ 其他