Since there are two chroma components for each luma component for most video coding formats (e.g., YCbCr), in some embodiments, each chroma QP offset for a quantization group is a set of values that includes specification for computing two offset values for the two chroma components. For some embodiments, FIGS. 2a-c illustrates several methods for encoding a set of offset values for the QG 141 of FIG. 1. Some embodiments use only one of these methods for encoding a set of chroma QP offset values. Some embodiments select different methods for different QGs based on QG-specific characteristics.
FIG. 2a illustrates the set of chroma QP offset values as two independent offset values 241 and 242. These two values are directly used as chroma QP offset for component [0] (251) and for component [1] (252). Some embodiments select this method of encoding chroma QP offset when the two chroma components have very little correlation with each other. A further example of this method of encoding chroma QP offset values is described further below by reference to FIG. 5.
FIG. 2b illustrates the set of offset values encoded as one single value 243 that is simultaneously used as the chroma QP offset by both chroma components (253 and 254). Some embodiments select this method when the two chroma components are very similar in their relationships to the luma component. A further example of this method of encoding chroma QP offset values is described further below by reference to FIG. 6.