Flexible quantization
AssigneeMicrosoft Technology Licensing, LLC
InventorsChengjie Tu, Sridhar Srinivasan
Life of this patent
Estimating the term…
Abstract
A digital media encoder/decoder uses a flexible quantization technique that provides the ability to vary quantization along various dimensions of the encoded digital media data, including spatial, frequency sub bands and color channels. The codec utilizes a signaling scheme to signal various permutations of flexible quantization combinations efficiently for primary usage scenarios. When a choice of quantizer is available, the codec efficiently encodes the current quantizer by defining a subset of quantizers and indexes the current quantizer from the set.
Claims13
One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations comprising:
- receiving encoded data in a bitstream, wherein the encoded data includes:
- one or more syntax elements that control variation of quantization parameters along a spatial dimension within a frame of pixel values, the pixel values of the frame being organized spatially into multiple areas within the frame, the multiple areas being further organized spatially into groups, the one or more syntax elements that control variation of the quantization parameters along the spatial dimension including at least one syntax element that indicates whether variation of the quantization parameters is possible between the multiple areas within the respective groups;
- one or more syntax elements that control variation of the quantization parameters along a color channel dimension, the pixel values of the frame also being organized by a luminance channel and two chrominance channels, the one or more syntax elements that control variation of the quantization parameters along the color channel dimension including a syntax element that indicates whether, for a given group of the groups, the encoded data includes syntax elements that indicate how to vary the quantization parameters for the two chrominance channels, respectively, for the given group;
- and
- one or more syntax elements that control variation of the quantization parameters along a frequency dimension, including a syntax element that indicates whether the quantization parameters vary or do not vary along the frequency dimension;
- and
- decoding the encoded data to reconstruct the frame, wherein the decoding includes:
- determining the quantization parameters using the one or more syntax elements that control variation of the quantization parameters along the spatial dimension, the one or more syntax elements that control variation of the quantization parameters along the color channel dimension, and the one or more syntax elements that control variation of the quantization parameters along the frequency dimension;
- for blocks of at least some of the multiple areas of the frame, inverse quantizing transform coefficients using the determined quantization parameters;
- and
- for the blocks of at least some of the multiple areas of the frame, performing inverse frequency transform operations on the inverse-quantized transform coefficients.
One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations comprising:
- encoding a frame of pixel values, the pixel values of the frame being organized spatially into multiple areas within the frame, the multiple areas being further organized spatially into groups, the pixel values of the frame also being organized by a luminance channel and two chrominance channels, wherein the encoding includes:
- for blocks of at least some of the multiple areas of the frame, performing frequency transform operations, thereby producing transform coefficients;
- for the blocks of at least some of the multiple areas of the frame, quantizing the transform coefficients;
- and
- setting one or more syntax elements that control variation of quantization parameters along a spatial dimension within the frame, one or more syntax elements that control variation of the quantization parameters along a color channel dimension between the luminance channel and the two chrominance channels, and one or more syntax elements that control variation of the quantization parameters along a frequency dimension;
- and
- outputting encoded data as part of a bitstream, wherein the encoded data includes:
- the one or more syntax elements that control variation of the quantization parameters along the spatial dimension, including at least one syntax element that indicates whether variation of the quantization parameters is possible between the multiple areas within the respective groups;
- the one or more syntax elements that control variation of the quantization parameters along the color channel dimension, including a syntax element that indicates whether, for a given group of the groups, the encoded data includes syntax elements that indicate how to vary the quantization parameters for the two chrominance channels, respectively, for the given group;
- and
- the one or more syntax elements that control variation of the quantization parameters along the frequency dimension, including a syntax element that indicates whether the quantization parameters vary or do not vary along the frequency dimension.
Dependencies are inferred from the claim text.