IP Library › Granted Patent US 11,843,775
Granted Patent B2
US 11,843,775 · App. 17/728,070 · Granted Dec 12, 2023

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 11,843,775
App. No.
17/728,070
Granted
Dec 12, 2023
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 (43)

1. A computer system comprising one or more processing units and memory, wherein the computer system implements a video decoder configured 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 first, second, and third color 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 second and third color channels, respectively, for the given group; and

for the given group, the syntax elements that indicate how to vary the quantization parameters for the second and third color channels, respectively, for the given group; 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 syntax elements that indicate how to vary the quantization parameters for the second and third color channels, respectively, for the given group;

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 computer system of claim 1 , wherein the multiple areas are macroblocks, each of the macroblocks having one or more blocks for the first color channel, one or more blocks for the second color channel, and one or more blocks for the third color channel.

3. The computer system of claim 2 , wherein each of the macroblocks represents a 16×16 unit of the frame for the first color channel.

4. The computer system of claim 1 , wherein the determined quantization parameters include different sets of quantization parameters for the first color channel, the second color channel, and the third color channel, respectively, for the given group.

5. The computer system of claim 1 , wherein the determined quantization parameters include different sets of quantization parameters for the first color channel, the second color channel, and the third color channel, respectively, for one of the multiple areas.

6. The computer system of claim 1 , wherein the determined quantization parameters include different sets of quantization parameters for at least some different groups among the groups of multiple areas of the frame.

7. The computer system 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.

8. One or more memory or storage devices having stored thereon 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;

includes 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 first, second, and third color 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 second and third color channels, respectively, for the given group;

includes, for the given group, the syntax elements that indicate how to vary the quantization parameters for the second and third color channels, respectively, for the given group; and

is produced by encoding, using a computer-implemented video encoder comprising one or more processing units, with operations that include:

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 the one or more syntax elements that control variation of quantization parameters along the spatial dimension within the frame, the one or more syntax elements that control variation of the quantization parameters along the color channel dimension, and the syntax elements that indicate how to vary the quantization parameters for the second and third color channels, respectively, for the given group.

9. The one or more memory or storage devices of claim 8 , wherein the multiple areas are macroblocks, each of the macroblocks having one or more blocks for the first color channel, one or more blocks for the second color channel, and one or more blocks for the third color channel.

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

11. The one or more memory or storage devices of claim 8 , wherein the determined quantization parameters include different sets of quantization parameters for the first color channel, the second color channel, and the third color channel, respectively, for the given group.

12. The one or more memory or storage devices of claim 8 , wherein the determined quantization parameters include different sets of quantization parameters for the first color channel, the second color channel, and the third color channel, respectively, for one of the multiple areas.

13. The one or more memory or storage devices of claim 8 , wherein the determined quantization parameters include different sets of quantization parameters for at least some different groups among the groups of multiple areas of the frame.

14. The one or more memory or storage devices of claim 8 , wherein the determined quantization parameters include different sets of quantization parameters for at least some different areas among the multiple areas of the frame.

15. In a computer system, a method 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 first, second, and third 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 along a spatial dimension within the frame, one or more syntax elements that control variation of the quantization parameters along a color channel dimension, and, for a given group of the groups, syntax elements that indicate how to vary the quantization parameters for the second and third color channels, respectively, for the given group; 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 the given group, the encoded data includes the syntax elements that indicate how to vary the quantization parameters for the second and third colors channels, respectively, for the given group; and

for the given group, the syntax elements that indicate how to vary the quantization parameters for the second and third color channels, respectively, for the given group.

16. The method of claim 15 , wherein the multiple areas are macroblocks, each of the macroblocks having one or more blocks for the first color channel, one or more blocks for the second color channel, and one or more blocks for the third color channel.

17. The method of claim 15 , wherein the determined quantization parameters include different sets of quantization parameters for the first color channel, the second color channel, and the third color channel, respectively, for the given group.

18. The method of claim 15 , wherein the determined quantization parameters include different sets of quantization parameters for the first color channel, the second color channel, and the third color channel, respectively, for one of the multiple areas.

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

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

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2022
From: TU, CHENGJIE; SRINIVASAN, SRIDHAR
To: MICROSOFT CORPORATION
Reel/Frame 060235/0630 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2022
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 060235/0648 →
Continuity (6)
Continuation 17188977 · Mar 1, 2021
Continuation 16825239 · Mar 20, 2020
Continuation 15973264 · May 7, 2018
Continuation 14263584 · Apr 28, 2014
Continuation 11418690 · May 5, 2006
Related Publication 20220256154A1 · Aug 11, 2022
Cited By (3)
US 12,301,813 US 12,301,814 US 12,301,816