IP Library › Granted Patent US 8,897,359
Granted Patent B2
US 8,897,359 · App. 12/156,864 · Granted Nov 25, 2014

Adaptive quantization for enhancement layer video coding

Inventors: Shankar Regunathan (Bellevue, WA); Shijun Sun (Redmond, WA); Chengjie Tu (Sammamish, WA); Chih-Lung Lin (Redmond, WA)
Assignee: Microsoft Corporation
H04N19/00442H04N19/00321H04N19/00781H04N19/00315H04N19/00375H04N19/00369H04N19/00278H04N19/00266H04N19/00551H04N19/00545H04N19/0009
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 8,897,359
App. No.
12/156,864
Granted
Nov 25, 2014
Kind
B2
Abstract

Techniques and tools for encoding enhancement layer video with quantization that varies spatially and/or between color channels are presented, along with corresponding decoding techniques and tools. For example, an encoding tool determines whether quantization varies spatially over a picture, and the tool also determines whether quantization varies between color channels in the picture. The tool signals quantization parameters for macroblocks in the picture in an encoded bit stream. In some implementations, to signal the quantization parameters, the tool predicts the quantization parameters, and the quantization parameters are signaled with reference to the predicted quantization parameters. A decoding tool receives the encoded bit stream, predicts the quantization parameters, and uses the signaled information to determine the quantization parameters for the macroblocks of the enhancement layer video. The decoding tool performs inverse quantization that can vary spatially and/or between color channels.

Claims (53)

1. A computing device comprising a processing unit, memory and a storage medium storing computer-executable instructions which, when executed, cause the computing device to perform a method comprising:

encoding enhancement layer video for a picture organized in plural color channels, including selectively varying quantization spatially and between the plural color channels of the enhancement layer video for the picture, and further including, when spatial quantization variation is used, for a current macroblock of the enhancement layer video for the picture, predicting a macroblock-level quantization parameter for the current macroblock using one or more macroblock-level quantization parameters for spatially neighboring macroblocks; and

outputting the encoded enhancement layer video for the picture in a bitstream, including:

signaling in the bitstream information that indicates an on/off decision for spatial quantization variation;

signaling in the bitstream information that indicates an on/off decision for quantization variation between channels; and

signaling in the bitstream quantization parameter information that indicates plural quantization parameters that at least in part parameterize the varied quantization of the enhancement layer video for the picture, the quantization parameter information including, when spatial quantization variation is used, the macroblock-level quantization parameter for the current macroblock signaled in the bitstream as a differential quantization parameter relative to the predicted macroblock-level quantization parameter for the current macroblock, thereby facilitating combination by a video decoder of the differential quantization parameter with a prediction of the macroblock-level quantization parameter computed by the video decoder for the current macroblock.

2. The computing device of claim 1 wherein the method further comprises:

during the encoding:

determining whether to use spatial quantization variation; and

determining whether to use quantization variation between channels.

3. The computing device of claim 2 wherein the method includes, on a picture-by-picture basis for each of plural pictures, repeating the determining whether to use spatial quantization variation, the determining whether to use quantization variation between channels, the signaling information that indicates the on/off decision for spatial quantization variation and the signaling information that indicates the on/off decision for quantization variation between channels.

4. The computing device of claim 2 wherein the information that indicates the on/off decision for spatial quantization variation is a one-bit flag at picture level, and wherein the information that indicates the on/off decision for quantization variation between channels is a one-bit flag at picture level.

5. The computing device of claim 1 wherein the encoding includes performing the quantization on transform coefficients of blocks of macroblocks of the enhancement layer video for the picture.

6. The computing device of claim 1 wherein the signaling the quantization parameter information comprises:

signaling in the bitstream picture-level information that indicates one or more picture-level quantization parameters for the enhancement layer video for the picture or respective color channels of the enhancement layer video for the picture; and

for each of plural macroblocks of the enhancement layer video for the picture, the plural macroblocks including the current macroblock, signaling in the bitstream macroblock-level information that indicates a macroblock-level quantization parameter for the macroblock.

7. The computing device of claim 6 wherein the signaling the quantization parameter information further comprises:

signaling in the bitstream additional picture-level information that indicates a resolution of the macroblock-level information, the macroblock-level information for at least one of the plural macroblocks representing a differential quantization parameter relative to one of the one or more picture-level quantization parameters.

8. The computing device of claim 1 wherein the signaling the quantization parameter information further includes, for the current macroblock, signaling in the bitstream macroblock-level information to indicate whether or not the current macroblock uses the predicted macroblock-level quantization parameter, wherein the macroblock-level information that indicates whether the current macroblock uses the predicted macroblock-level quantization parameter is jointly signaled with the differential quantization parameter relative to the predicted macroblock-level quantization parameter.

9. The computing device of claim 8 wherein the encoding further includes, for the current macroblock of the enhancement layer video for the picture:

based upon the signaled macroblock-level information, selecting between using the predicted macroblock-level quantization parameter and using another quantization parameter.

10. The computing device of claim 1 wherein the spatially neighboring macroblocks include a left macroblock that is to the left of the current macroblock and an above macroblock that is above the current macroblock, and wherein the predicting the macroblock-level quantization parameter uses one or more prediction rules according to which:

if the quantization parameter for the left macroblock equals the quantization parameter for the above macroblock, the predicted macroblock-level quantization parameter for the current macroblock equals the quantization parameter of the left macroblock; and

otherwise, the predicted macroblock-level quantization parameter for the current macroblock equals a default quantization parameter.

11. In a computing device that implements a video decoder, a method comprising:

receiving, at the computing device that implements the video decoder, encoded data in a bitstream for enhancement layer video for a picture organized in plural color channels, the encoded data including:

information in the bitstream that indicates an on/off decision for spatial quantization variation;

information in the bitstream that indicates an on/off decision for quantization variation between channels; and

quantization parameter information in the bitstream that indicates plural quantization parameters that at least in part parameterize inverse quantization of the enhancement layer video for the picture, the quantization parameter information including, when spatial quantization variation is used, a differential quantization parameter in the bitstream for a macroblock-level quantization parameter for a current macroblock of the enhancement layer video for the picture; and

with the computing device that implements the video decoder, decoding the enhancement layer video for the picture, including selectively varying inverse quantization spatially and between the plural color channels of the enhancement layer video for the picture, and further including, when spatial quantization variation is used, for the current macroblock:

predicting the macroblock-level quantization parameter for the current macroblock using one or more macroblock-level quantization parameters for spatially neighboring macroblocks; and

combining the predicted macroblock-level quantization parameter for the current macroblock with the differential quantization parameter from the bitstream for the current macroblock.

12. The method of claim 11 further comprising:

during the decoding:

based on the information that indicates the on/off decision for spatial quantization variation, determining whether to use spatial variation of inverse quantization; and

based on the information that indicates the on/off decision for quantization variation between channels, determining whether to use variation of inverse quantization between channels.

13. The method of claim 12 wherein the information that indicates the on/off decision for spatial quantization variation is a one-bit flag at picture level, and wherein the information that indicates the on/off decision for quantization variation between channels is a one-bit flag at picture level.

14. The method of claim 11 wherein the quantization parameter information further comprises:

picture-level information that indicates one or more picture-level quantization parameters for the enhancement layer video for the picture or respective color channels of the enhancement layer video for the picture; and

for each of plural macroblocks of the enhancement layer video for the picture, the plural macroblocks including the current macroblock, macroblock-level information that indicates a macroblock-level quantization parameter for the macroblock.

15. The method of claim 11 wherein the quantization parameter information further includes, for the current macroblock, macroblock-level information that indicates whether or not the current macroblock uses the predicted macroblock-level quantization parameter, wherein the macroblock-level information that indicates whether the current macroblock uses the predicted macroblock-level quantization parameter is jointly signaled with the differential quantization parameter relative to the predicted macroblock level quantization parameter.

16. A computing device comprising a processing unit, memory and a storage medium storing computer-executable instructions which, when executed, cause the computing device to perform a method comprising:

receiving encoded data in a bitstream for enhancement layer video for a picture organized in plural color channels, the encoded data including:

picture-level information in the bitstream that indicates an on/off decision for spatial quantization variation for the picture;

picture-level information in the bitstream that indicates an on/off decision for quantization variation between channels for the picture; and

quantization parameter information in the bitstream that indicates plural quantization parameters that at least in part parameterize inverse quantization of the enhancement layer video for the picture, the quantization parameter information including, when spatial quantization variation is used, a differential quantization parameter in the bitstream for a macroblock-level quantization parameter for a current macroblock of the enhancement layer video for the picture; and

decoding the enhancement layer video for the picture, including selectively varying inverse quantization spatially and between the plural color channels of the enhancement layer video for the picture, and further including, when spatial quantization variation is used, for the current macroblock:

predicting the macroblock-level quantization parameter for the current macroblock using one or more macroblock-level quantization parameters for spatially neighboring macroblocks; and

combining the predicted macroblock-level quantization parameter for the current macroblock with the differential quantization parameter from the bitstream for the current macroblock.

17. The computing device of claim 16 wherein the information that indicates the on/off decision for spatial quantization variation is a one-bit flag at picture level, and wherein the information that indicates the on/off decision for quantization variation between channels is a one-bit flag at picture level.

18. The computing device of claim 16 wherein the spatially neighboring macroblocks include a left macroblock that is to the left of the current macroblock and an above macroblock that is above the current macroblock, and wherein the predicting the macroblock-level quantization parameter uses one or more prediction rules based upon the quantization parameter for the left macroblock, the quantization parameter for the above macroblock and, if neither the quantization parameter for the left macroblock nor the quantization parameter for the above macroblock is available, a default quantization parameter.

19. The computing device of claim 1 wherein the spatially neighboring macroblocks include a left macroblock that is to the left of the current macroblock and an above macroblock that is above the current macroblock, and wherein the predicting the macroblock-level quantization parameter uses one or more prediction rules based upon the quantization parameter for the left macroblock, the quantization parameter for the above macroblock and, if neither the quantization parameter for the left macroblock nor the quantization parameter for the above macroblock is available, a default quantization parameter.

20. The method of claim 11 wherein the spatially neighboring macroblocks include a left macroblock that is to the left of the current macroblock and an above macroblock that is above the current macroblock, and wherein the predicting the macroblock-level quantization parameter uses one or more prediction rules based upon the quantization parameter for the left macroblock, the quantization parameter for the above macroblock and, if neither the quantization parameter for the left macroblock nor the quantization parameter for the above macroblock is available, a default quantization parameter.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2008
From: REGUNATHAN, SHANKAR; SUN, SHIJUN; TU, CHENGJIE; LIN, CHIH-LUNG
To: MICROSOFT CORPORATION
Reel/Frame 021747/0902 →
Continuity (1)
Related Publication 20090296808A1 · Dec 3, 2009