IP Library Granted Patent US 11,595,651
Granted Patent B2
US 11,595,651 · App. 17/190,839 · Granted Feb 28, 2023

Use of chroma quantization parameter offsets in deblocking

Inventor: Gary J. Sullivan (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/124H04N19/117H04N19/126H04N19/15H04N19/172H04N19/174H04N19/186H04N19/70H04N19/86H04N19/176H04N19/184
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,595,651
App. No.
17/190,839
Granted
Feb 28, 2023
Kind
B2
Abstract

Innovations in use of chroma quantization parameter (“QP”) offsets when determining a control parameter for deblock filtering. For example, as part of encoding, an encoder sets a picture-level chroma QP offset and slice-level chroma QP offset for encoding of a slice of a picture. The encoder also performs deblock filtering of at least part of the slice, where derivation of a control parameter considers only the picture-level chroma QP offset. The encoder outputs at least part of a bitstream including the encoded content. As part of decoding, a corresponding decoder sets a picture-level chroma QP offset and a slice-level chroma QP offset for decoding of a slice of a picture, but derivation of a control parameter for deblock filtering considers only the picture-level chroma QP offset.

Claims (35)

1. A computing device that includes one or more processing units and memory, wherein the computing device implements a video encoder configured to perform operations comprising:

encoding a picture, thereby producing encoded data, wherein the encoded data includes one or more syntax elements that indicate a picture-level chroma quantization parameter (QP) offset for the picture and further includes one or more syntax elements that indicate a slice-level chroma QP offset for a slice of the picture, and wherein the encoding includes:

quantizing transform coefficients for one or more portions of the slice;

reconstructing at least part of the slice, including inverse quantizing the transform coefficients for the one or more portions of the slice; and

performing deblock filtering on the at least part of the slice, including deriving a control parameter for the deblock filtering using the picture-level chroma QP offset but not the slice-level chroma QP offset, wherein the deriving the control parameter includes (a) setting a first variable by adding the picture-level chroma QP offset and an average of luma QP values for blocks on either side of an edge in the at least part of the slice, and (b) using the first variable to determine a second variable for the deriving the control parameter; and

outputting the encoded data as part of a bitstream.

2. The computing device of claim 1 , wherein the deriving the control parameter further includes determining the average, wherein the determining the average includes adding the luma QP values for the blocks on either side of the edge and further includes right shifting by 1 bit.

3. The computing device of claim 1 , wherein the operations further comprise:

storing the picture-level chroma QP offset, after discarding the slice-level chroma QP offset, for use in the deriving the control parameter.

4. The computing device of claim 1 , wherein, according to bitstream syntax, the slice-level chroma QP offset is separately signaled for two chroma components for the slice.

5. The computing device of claim 1 , wherein, according to bitstream syntax, the picture-level chroma QP offset is separately signaled for two chroma components for the picture.

6. The computing device of claim 5 , wherein the control parameter is derived separately for the two chroma components for the deblock filtering.

7. The computing device of claim 1 , wherein bitstream syntax permits signaling of different slice-level chroma QP offsets for different slices of the picture.

8. In a computing system, a method comprising:

receiving encoded data in at least part of a bitstream, wherein the encoded data includes one or more syntax elements that indicate a picture-level chroma quantization parameter (QP) offset for a picture and further includes one or more syntax elements that indicate a slice-level chroma QP offset for a slice of the picture; and

decoding the encoded data, including, as part of reconstructing at least part of the slice:

using the picture-level chroma QP offset and the slice-level chroma QP offset to regulate inverse quantization, according to a chroma QP, of transform coefficients for one or more portions of the slice, and

performing deblock filtering on the at least part of the slice, including deriving a control parameter for the deblock filtering using the picture-level chroma QP offset but not the slice-level chroma QP offset, wherein the deriving the control parameter includes (a) setting a first variable by adding the picture-level chroma QP offset and an average of luma QP values for blocks on either side of an edge in the at least part of the slice, and (b) using the first variable to determine a second variable for the deriving the control parameter.

9. The method of claim 8 , wherein the deriving the control parameter further includes determining the average, and wherein the determining the average includes adding the luma QP values for the blocks on either side of the edge and further includes right shifting by 1 bit.

10. The method of claim 8 , wherein the decoding further comprises:

storing the picture-level chroma QP offset after the inverse quantization, for use in the deriving the control parameter for the deblock filtering; and

discarding the slice-level chroma QP offset after the inverse quantization.

11. The method of claim 8 , wherein, according to bitstream syntax, the slice-level chroma QP offset is separately signaled for two chroma components for the slice.

12. The method of claim 8 , wherein, according to bitstream syntax, the picture-level chroma QP offset is separately signaled for two chroma components for the picture.

13. The method of claim 12 , wherein the control parameter is derived separately for the two chroma components for the deblock filtering.

14. The method of claim 8 , wherein bitstream syntax permits signaling of different slice-level chroma QP offsets for different slices of the picture.

15. A non-volatile memory or storage device having stored thereon encoded data in at least part of a bitstream, wherein the encoded data includes one or more syntax elements that indicate a picture-level chroma quantization parameter (QP) offset for a picture and further includes one or more syntax elements that indicate a slice-level chroma QP offset for a slice of the picture, the encoded data having been produced, using a computer system that includes one or more processing units and memory, by encoding with operations that include:

quantizing transform coefficients for one or more portions of the slice;

reconstructing at least part of the slice, including inverse quantizing the transform coefficients for the one or more portions of the slice; and

performing deblock filtering on the at least part of the slice, including deriving a control parameter for the deblock filtering using the picture-level chroma QP offset but not the slice-level chroma QP offset, wherein the deriving the control parameter includes (a) setting a first variable by adding the picture-level chroma QP offset and an average of luma QP values for blocks on either side of an edge in the at least part of the slice, and (b) using the first variable to determine a second variable for the deriving the control parameter.

16. The non-volatile memory or storage device of claim 15 , wherein the deriving the control parameter further includes determining the average, and wherein the determining the average includes adding the luma QP values for the blocks on either side of the edge and further includes right shifting by 1 bit.

17. The non-volatile memory or storage device of claim 15 , wherein, according to bitstream syntax, the slice-level chroma QP offset is separately signaled for two chroma components for the slice.

18. The non-volatile memory or storage device of claim 15 , wherein, according to bitstream syntax, the picture-level chroma QP offset is separately signaled for two chroma components for the picture.

19. The non-volatile memory or storage device of claim 18 , wherein the control parameter is derived separately for the two chroma components for the deblock filtering.

20. The non-volatile memory or storage device of claim 15 , wherein bitstream syntax permits signaling of different slice-level chroma QP offsets for different slices of the picture.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2021
From: SULLIVAN, GARY J.
To: MICROSOFT CORPORATION
Reel/Frame 055904/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2021
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 055904/0434 →