量化参数,简称QP,是解码中反量化过程中最重要的参数,我觉得HEVC解码的中Qp的计算有那一点复杂,标准有那么一点晦涩,这里来一起探讨下。
1.参数
PPS中关于Qp的参数:
init_qp_minus26:加上26表示初始Qp,范围[-26,25]。
cu_qp_delta_enabled_flag:1表示语法元素diff_cu_qp_delta_depth(PPS中)存在,而cu_qp_delta_abs(TU)中可能存在。
diff_cu_qp_delta_depth:给出CTU的尺寸和使用相同的cu_qp_delta_abs和 cu_qp_delta_sign_flag的coding block的尺寸差。范围[0, log2_diff_max_min_luma_coding_block_size]。默认值为0。
变量Log2MinCuQpDeltaSize =CtbLog2SizeY −diff_cu_qp_delta_depth
pps_cb_qp_offset和pps_cr_qp_offset:给出cb,cr的Qp相对于y的Qp的offset,范围为[-12,12]
pps_slice_chroma_qp_offsets_present_flag:表明语法元素slice_cb_qp_offset 和slice_cr_qp_offset存在于相应的slice header中。
Sliceheader中关于Qp的参数:
slice_qp_delta:给出本slice中CU使用的Qpy的初值sliceQpy。范围[0,51]。
sliceQpy = 26 + init_qp_minus26 +slice_qp_delta。
slice_cb_qp_offset:计算CU使用的cb量化参数Qpcb的offset,范围[-12,12]。这个offset等于pps