解决什么问题?
视频编码过程中由于预测和量化带来的损失,重构像素与原始像素之间会有较大的差异,从而导致振铃效应。
怎么解决
基本思路是将重建像素的值尽量还原成原始像素。如果对每一个像素都做差,那么需要传递给解码端的数据量将会无比巨大。为此采取了两种方式:
-
EO
边界offset,首先通过rdo确定当前CTB满足哪种梯度模式,针对该梯度,将CTB中的每一个pix进行分类,总共分为五类,其中1~4类需要进行offset,0类不需要。每一类给定一个offset,从而大大减少传递给解码端的数据量。 -
BO
根据pix的取值范围进行分类,8bit的pix取值范围为0~255,按照每个bank32个数进行分类,8个bank即可包含pix的所有可能的取值。对重建像素中落入某一bank的所有像素取平均值并和原始像素的平均值作差,从而得到offset传递给解码器。
Sample Adaptive Offset in the HEVC Standard,Chih-Ming Fu, Elena Alshina, Alexander Alshin, Yu-Wen Huang, Ching-Yeh Chen, and Chia-Yang Tsai, Member,IEEE, Chih-Wei Hsu, Shaw-Min Lei, Fellow, IEEE, Jeong-Hoon Park, and Woo-Jin Han, Member, IEEE