IP Library › Granted Patent US 10,958,907
Granted Patent B2
US 10,958,907 · App. 16/825,239 · Granted Mar 23, 2021

Flexible quantization

Inventors: Chengjie Tu (Sammamish, WA); Sridhar Srinivasan (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/124H04N19/126H04N19/136H04N19/176H04N19/46H04N19/61
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,958,907
App. No.
16/825,239
Granted
Mar 23, 2021
Kind
B2
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.

Claims (40)

1. In a computer system, a method comprising:

receiving encoded data, in a bitstream, for a frame of pixel values, the pixel values of the frame being organized spatially into multiple areas within the frame, and the pixel values of the frame also being organized by first (Y), second (U), and third (V) color channels, wherein the encoded data includes:

one or more syntax elements that control variation of quantization parameters along a spatial dimension between the multiple areas of the frame;

one or more syntax elements that control variation of the quantization parameters along a color channel dimension between the first (Y), second (U), and third (V) color channels, including a syntax element that indicates whether some of the quantization parameters vary or do not vary between the second (U) color channel and the third (V) color channel; and

one or more syntax elements that control variation of the quantization parameters along a frequency dimension, including a syntax element that indicates whether some of the quantization parameters vary or do not vary between DC coefficients and AC coefficients for one of the first (Y), second (U), and third (V) color channels;

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 spatially 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.

2. The method of claim 1 , wherein the determining the quantization parameters includes decoding a quantization parameter index and using the quantization parameter index to identify one of the quantization parameters.

3. The method of claim 1 , wherein the multiple areas are macroblocks, each of the macroblocks having one or more blocks for the first (Y) color channel, one or more blocks for the second (U) color channel, and one or more blocks for the third (V) color channel.

4. The method of claim 3 , wherein each of the macroblocks represents a 16×16 unit of the frame for the first (Y) color channel.

5. The method of claim 3 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension include syntax elements that indicate quantization parameter indices for at least some of the multiple areas, respectively.

6. The method of claim 1 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension include one or more syntax elements that indicate whether or not the quantization parameters are uniform within the frame.

7. The method of claim 6 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension further include syntax elements that indicate quantization parameter indices for at least some of the multiple areas, respectively.

8. The method of claim 1 , wherein the determined quantization parameters include, for a given area among the multiple areas of the frame, a first quantization parameter for DC coefficients of the first (Y) color channel, a second quantization parameter for AC coefficients of the first (Y) color channel, a third quantization parameter for DC coefficients of the second (U) color channel, a fourth quantization parameter for AC coefficients of the second (U) color channel, a fifth quantization parameter for DC coefficients of the third (V) color channel, and a sixth quantization parameter for AC coefficients of the third (V) color channel.

9. The method of claim 1 , wherein the determined quantization parameters include different sets of quantization parameters for at least some different areas among the multiple areas of the frame.

10. One or more memory or storage devices having stored thereon encoded data, in a bitstream, for a frame of pixel values, the one or more memory or storage devices not consisting of only a transitory signal, wherein the encoded data is organized to facilitate decoding with a computer-implemented video decoder comprising one or more processing units, to reconstruct the frame, by operations that include:

receiving the encoded data, the pixel values of the frame being organized spatially into multiple areas within the frame, and the pixel values of the frame also being organized by first (Y), second (U), and third (V) color channels, wherein the encoded data includes one or more syntax elements that control variation of quantization parameters along a spatial dimension between the multiple areas of the frame, one or more syntax elements that control variation of the quantization parameters along a color channel dimension between the first (Y), second (U), and third (V) color channels, and one or more syntax elements that control variation of the quantization parameters along a frequency dimension, wherein the one or more syntax elements that control variation of the quantization parameters along the color channel dimension include a syntax element that indicates whether some of the quantization parameters vary or do not vary between the second (U) color channel and the third (V) color channel, wherein the one or more syntax elements that control variation of the quantization parameters along the frequency dimension include a syntax element that indicates whether some of the quantization parameters vary or do not vary between DC coefficients and AC coefficients for one of the first (Y), second (U), and third (V) color channels;

determining the quantization parameters using the one or more syntax elements that control variation of the quantization parameters spatially 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.

11. The one or more memory or storage devices of claim 10 , wherein the multiple areas are macroblocks, each of the macroblocks having one or more blocks for the first (Y) color channel, one or more blocks for the second (U) color channel, and one or more blocks for the third (V) color channel.

12. The one or more memory or storage devices of claim 11 , wherein each of the macroblocks represents a 16×16 unit of the frame for the first (Y) color channel.

13. The one or more memory or storage devices of claim 11 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension include syntax elements that indicate quantization parameter indices for at least some of the multiple areas, respectively.

14. The one or more memory or storage devices of claim 10 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension include one or more syntax elements that indicate whether or not the quantization parameters are uniform within the frame.

15. One or more memory or storage devices having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations, the one or more memory or storage devices not consisting of only a transitory signal, the operations comprising:

encoding a frame of pixel values, thereby producing encoded data, the pixel values of the frame being organized spatially into multiple areas within the frame, and the pixel values of the frame also being organized by first (Y), second (U), and third (V) color 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 spatially along a spatial dimension between the multiple areas of the frame, one or more syntax elements that control variation of the quantization parameters along a color channel dimension between the first (Y), second (U), and third (V) color channels, and one or more syntax elements that control variation of the quantization parameters along a frequency dimension; and

outputting the 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;

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 some of the quantization parameters vary or do not vary between the second (U) color channel and the third (V) color channel; and

one or more syntax elements that control variation of the quantization parameters along the frequency dimension, including a syntax element that indicates whether some of the quantization parameters vary or do not vary between DC coefficients and AC coefficients for one of the first (Y), second (U), and third (V) color channels.

16. The one or more memory or storage devices of claim 15 , wherein the multiple areas are macroblocks, each of the macroblocks having one or more blocks for the first (Y) color channel, one or more blocks for the second (U) color channel, and one or more blocks for the third (V) color channel.

17. The one or more memory or storage devices of claim 16 , wherein each of the macroblocks represents a 16×16 unit of the frame for the first (Y) color channel.

18. The one or more memory or storage devices of claim 16 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension include syntax elements that indicate quantization parameter indices for at least some of the multiple areas, respectively.

19. The one or more memory or storage devices of claim 15 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension include one or more syntax elements that indicate whether or not the quantization parameters are uniform within the frame.

20. The one or more memory or storage devices of claim 15 , wherein the one or more syntax elements that control variation of the quantization parameters along the spatial dimension further include syntax elements that indicate quantization parameter indices for at least some of the multiple areas, respectively.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2020
From: TU, CHENGJIE; SRINIVASAN, SRIDHAR
To: MICROSOFT CORPORATION
Reel/Frame 052766/0497 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2020
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 052766/0509 →
Continuity (4)
Continuation 15973264 · May 7, 2018
Continuation 14263584 · Apr 28, 2014
Continuation 11418690 · May 5, 2006
Related Publication 20200221091A1 · Jul 9, 2020
Cited By (4)
US 12,301,813 US 12,301,814 US 12,301,816 US 12,413,729