HEVC 非零系数幅值信息编码 SDH技术

41 篇文章 5 订阅
41 篇文章 0 订阅

当一个CG内含有非零系数时,编码完CG内所有非零系数的位置信息后,再对非零系数的幅值信息依次进行编码,非零系数幅值信息涉及的语法元素,coeff_sign_flag表示非零系数时正值还是负值,coeff_abs_level_greater1_flag 表示编码的非零系数幅值绝对值是否大雨1,coeff_abs_level_greater2_flag表示非零系数幅值绝对值是否大雨2,coeff_abs_level_remaining表示非零系数幅值绝对值的剩余部分,其值为coeff_abs_level_remainning = absCoeffLevel-baseLevel。

baseLevel = sig_coeff_flag + coeff_abs_level_greater1_flag + coeff_abs_level_greater2_flag

其中,absCoeffLevel为非零系数幅值绝对值。

若编码的coeff_abs_level_greatre1_flag等于0,则表示absCoeffLevel等于1,无须编码coeff_abs_level_greater2_flag, 和coeff_abs_level_remaining。 若编码的coeff_abs_level_greater2_flag等于0, 则表示absCoeffLevel等于2,无须编码coeff_abs_level_remaining。

非零系数幅值信息编码的步骤是,按照扫描顺序先编码一个CG内所有非零系数的幅值信息,然后在编码下一个CG内所有非零系数的幅值信息,一个CG内所有非零系数的幅值信息编码过程如下。

(1) 按照扫描顺序先逐一编码CG内前8个非零系数各自的语法元素coeff_abs_level_greater1_flag,后续的非零系数不再进行语法元素coeff_abs_level_greater1_flag的编码,默认它们各自的coeff_abs_level_greater1_flag为0

(2)编码CG内第一个absCoeffLevel > 1的非零系数的语法元素coeff_abs_level_greater2_flag,后续的非零系数不再进行语法元素coeff_abs_level_greater2_flag的编码,默认它们各自的coeff_abs_level_greater2_flag为0.

(3)编码CG内所有非零系数的符号coeff_sign_flag

(4) 计算CG内所有的非零系数的coeff_abs_level_remaining, 按照扫描顺序进行依次编码

其中,coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag采用常规编码,采用的上下文模型参数初始化值见表8.44和8.45 coeff_abs_level_remaining和coeff_sign_flag采用旁路编码。

每个非零系数的符号采用语法元素coeff_sign_flag来表示,该语法元素可以通过旁路编码器进行熵编码,其在视频压缩码流中占据了很大的比例(15%-20%。)在H265/HEVC中,对非零系数符号的编码允许使用一种符号数据隐藏sign data hiding,技术,来减少编码符号数据的比特数。

SDH技术为,首先计算CG内所有非零系数幅值绝对值之和,然后对和值进行奇偶判断,若为偶数,则最后一个非零系数符号被判为+,若为奇数,则最后一个非零系数的符号为-,使用SDH技术,解码端直接判断CG中最后一个非零系数的符号,因此编码熵可以省略它的语法元素coeff_sign_flag的熵编码,然而,若SDH的最终结果与CG中最后一个非零系数的真实符号不一致,需要对CG中的系数进行调整以使其保持一致,可以采用以下两种方法。

一种方法是编码过程中采用码率失真优化量化RDOQ的方法,即编码器允许使用SDH技术,通过调整量化系数,来使SDH判断结果与CG中最后一个非零系数的真实符号保持一致,具体哪个系数修改以及怎样修改,则根据码率失真代价来决定。这种方法是基于RDOQ进行的,无须增加额外的运算量,因此编码复杂度增加不多。

对于不进行RDOQ的编码器,引入下面的方法,在一个CG中,计算原始系数值和反量化系数值之间的差值,对差值较大的量化值进行修正,若差值为证,则量化值加1,若差值为负,则量化值减1.由于差值最大的系数最接近其可行量化值,因此这种量化值的调整所产生的影响比较小,而且复杂度很低。

是否采用SDH技术需要显示标识,图像参数集中的语法元素sign_data_hiding_enabled_flag设置为1表示与怒下编码器应用SDH技术,具体使用方法规定,当编码器允许使用SDH技术而且当前编码的CG中第一个非零系数和最后一个非零系数之间的间隔大于等于4时,则该CG才能省略最后一个非零系数符号的熵编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值