The pseudo code for the transform unit 500 is illustrated with darkened lines 511-519, which are added for the purpose of specifying additional chroma QP offsets. Specifically, at line 511, the parameter “additional_chroma_qp_offset” is used to indicate whether additional chroma information is allowed. The variable “IsCrCuQpOffsetCoded” is used to indicate whether it is necessary to specify (or receive) chroma QP offset information at the transform unit 500. If the chroma QP offset values for the QG 122 have already been coded, there is no need to specify chroma QP offset values again.
If the QG 122 has not already coded a set of chroma QP offset values (i.e., if the variable “IsCrCuQpOffsetCoded” is 0), the transform unit 500 at lines 512-517 specifies chroma QP offset values for the two chroma components. In this instance, the transform unit specifies the set of chroma QP offsets as two independent signed values, with each signed value signaled using a magnitude (“cu_chroma_cmp0_qp_offset_abs” or “cu_chroma_cmp1_qp_offset_abs”) and a sign flag (“cu_chroma_cmp0_qp_delta_sign_flag” and “cu_chroma_cmp0_qp_delta_sign_flag”). The pseudo code then sets the variable “IsCrCuQpOfTsetCoded” to 1, indicating that the chroma QP offset values of this quantization group have already been specified.