IP Library Granted Patent US 12,506,869
Granted Patent B2
US 12,506,869 · App. 18/443,139 · Granted Dec 23, 2025

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 12,506,869
App. No.
18/443,139
Granted
Dec 23, 2025
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 (44)

1 . A computing device that implements an image or video encoder, wherein the computing device is adapted to perform operations comprising:

encoding image or video content for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, wherein the encoding includes:

quantizing transform coefficients for one or more chroma blocks of a coding unit of a slice of a picture;

reconstructing the coding unit, including inverse quantizing the transform coefficients for the one or more chroma blocks of the coding unit using a coding unit-level chroma QP value for the coding unit, the coding unit-level chroma QP value depending on a picture-level luma QP value, a slice-level luma QP offset, a coding unit-level luma QP offset, a picture-level chroma QP offset, a slice-level chroma QP offset, and a coding unit-level chroma QP offset, wherein the reconstructing includes, as part of a motion compensation loop:

determining a coding unit-level luma QP value based at least in part on the picture-level luma QP value, the slice-level luma QP offset, and the coding unit-level luma QP offset;

determining a coding unit-level chroma QP value using the coding unit-level luma QP value, the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset, wherein the determining the coding unit-level chroma QP value includes determining a QP index based at least in part on the coding unit-level luma QP value and using the QP index in a table lookup operation; and

performing deblock filtering across an edge between the coding unit and another coding unit, wherein the deblock filtering accounts for the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset in derivation of a control parameter for the deblock filtering of the coding unit, and wherein the deblock filtering is performed without requiring buffering of the coding unit-level chroma QP offset; and

outputting at least part of a bitstream including the encoded content.

2 . The computing device of claim 1 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

values of QSS changing at a ratio of QSS represented by the coding unit-level luma QP value to QSS represented by the coding unit-level chroma QP value, wherein the ratio is at most 2 when a given value of chroma QP offset is zero, the given value of chroma QP offset including the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset.

3 . The computing device of claim 1 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

a change in value of the coding unit-level luma QP value causing a change of the same size in value of the coding unit-level chroma QP value, such that ratio of change in the coding unit-level luma QP value to change in the coding unit-level chroma QP value is 1.

4 . The computing device of claim 1 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

for a given value of chroma QP offset, the coding unit-level chroma QP value being identical to the coding unit-level luma QP value, the given value of chroma QP offset including the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset.

5 . The computing device of claim 1 , wherein the bitstream includes one or more syntax elements that indicate the picture-level luma QP value, one or more syntax elements that indicate the slice-level luma QP offset, and one or more syntax elements that indicate the coding unit-level luma QP offset.

6 . The computing device of claim 1 , wherein the bitstream includes one or more syntax elements that indicate the coding unit-level chroma QP offset.

7 . In a computing device that implements an image or video decoder, a method comprising:

receiving at least part of a bitstream including encoded image or video content for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components; and

decoding the encoded content, wherein the decoding includes:

inverse quantizing transform coefficients for one or more chroma blocks of a coding unit of a slice of a picture using a coding unit-level chroma QP value for the coding unit, the coding unit-level chroma QP value depending on a picture-level luma QP value, a slice-level luma QP offset, a coding unit-level luma QP offset, a picture-level chroma QP offset, a slice-level chroma QP offset, and a coding unit-level chroma QP offset, wherein the inverse quantizing includes, as part of a motion compensation loop:

determining a coding unit-level luma QP value based at least in part on the picture-level luma QP value, the slice-level luma QP offset, and the coding unit-level luma QP offset;

determining a coding unit-level chroma QP value using the coding unit-level luma QP value, the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset, wherein the determining the coding unit-level chroma QP value includes determining a QP index based at least in part on the coding unit-level luma QP value and using the QP index in a table lookup operation; and

performing deblock filtering across an edge between the coding unit and another coding unit, wherein the deblock filtering accounts for the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset in derivation of a control parameter for the deblock filtering of the coding unit, and wherein the deblock filtering is performed without requiring buffering of the coding unit-level chroma QP offset.

8 . The method of claim 7 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

values of QSS changing at a ratio of QSS represented by the coding unit-level luma QP value to QSS represented by the coding unit-level chroma QP value, wherein the ratio is at most 2 when a given value of chroma QP offset is zero, the given value of chroma QP offset including the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset.

9 . The method of claim 7 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

a change in value of the coding unit-level luma QP value causing a change of the same size in value of the coding unit-level chroma QP value, such that ratio of change in the coding unit-level luma QP value to change in the coding unit-level chroma QP value is 1.

10 . The method of claim 7 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

for a given value of chroma QP offset, the coding unit-level chroma QP value being identical to the coding unit-level luma QP value, the given value of chroma QP offset including the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset.

11 . The method of claim 7 , wherein the bitstream includes one or more syntax elements that indicate the picture-level luma QP value, one or more syntax elements that indicate the slice-level luma QP offset, and one or more syntax elements that indicate the coding unit-level luma QP offset.

12 . The method of claim 7 , wherein the bitstream includes one or more syntax elements that indicate the coding unit-level chroma QP offset.

13 . One or more non-transitory computer-readable media having programmed therein at least part of a bitstream including encoded image or video content for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, the encoded content being usable to cause a computer-implemented video decoder that executes computer-executable instructions to perform operations comprising:

inverse quantizing transform coefficients for one or more chroma blocks of a coding unit of a slice of a picture using a coding unit-level chroma QP value for the coding unit, the coding unit-level chroma QP value depending on a picture-level luma QP value, a slice-level luma QP offset, a coding unit-level luma QP offset, a picture-level chroma QP offset, a slice-level chroma QP offset, and a coding unit-level chroma QP offset, wherein the inverse quantizing includes, as part of a motion compensation loop:

determining a coding unit-level luma QP value based at least in part on the picture-level luma QP value, the slice-level luma QP offset, and the coding unit-level luma QP offset;

determining a coding unit-level chroma QP value using the coding unit-level luma QP value, the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset, wherein the determining the coding unit-level chroma QP value includes determining a QP index based at least in part on the coding unit-level luma QP value and using the QP index in a table lookup operation; and

performing deblock filtering across an edge between the coding unit and another coding unit, wherein the deblock filtering accounts for the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset in derivation of a control parameter for the deblock filtering of the coding unit, and wherein the deblock filtering is performed without requiring buffering of the coding unit-level chroma QP offset.

14 . The one or more non-transitory computer-readable media of claim 13 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

values of QSS changing at a ratio of QSS represented by the coding unit-level luma QP value to QSS represented by the coding unit-level chroma QP value, wherein the ratio is at most 2 when a given value of chroma QP offset is zero, the given value of chroma QP offset including the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset.

15 . The one or more non-transitory computer-readable media of claim 13 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

a change in value of the coding unit-level luma QP value causing a change of the same size in value of the coding unit-level chroma QP value, such that ratio of change in the coding unit-level luma QP value to change in the coding unit-level chroma QP value is 1.

16 . The one or more non-transitory computer-readable media of claim 13 , wherein, for a range of values of QP index associated with high quantization step size (QSS), the relationship is further characterized by:

for a given value of chroma QP offset, the coding unit-level chroma QP value being identical to the coding unit-level luma QP value, the given value of chroma QP offset including the picture-level chroma QP offset, the slice-level chroma QP offset, and the coding unit-level chroma QP offset.

17 . The one or more non-transitory computer-readable media of claim 13 , wherein the bitstream includes one or more syntax elements that indicate the picture-level luma QP value, one or more syntax elements that indicate the slice-level luma QP offset, and one or more syntax elements that indicate the coding unit-level luma QP offset.

18 . The one or more non-transitory computer-readable media of claim 13 , wherein the bitstream includes one or more syntax elements that indicate the coding unit-level chroma QP offset.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 067348/0677 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: SULLIVAN, GARY J.
To: MICROSOFT CORPORATION
Reel/Frame 067348/0737 →
Continuity (11)
Continuation 18099330 · Jan 20, 2023
Continuation 17190839 · Mar 3, 2021
Continuation 16833215 · Mar 27, 2020
Continuation 16387857 · Apr 18, 2019
Continuation 16126176 · Sep 10, 2018
Continuation 15685278 · Aug 24, 2017
Continuation 15410924 · Jan 20, 2017
Continuation 13732369 · Dec 31, 2012
Provisional Application 61707948 · Sep 29, 2012
Provisional Application 61667381 · Jul 2, 2012
Related Publication 20240314314A1 · Sep 19, 2024
References Cited (70)
US 7227901B2 · Joch · 2007 [cited by examiner]
US 8005151B2 · Joch · 2011 [cited by examiner]
US 8189677B2 · Auyeung · 2012 [cited by examiner]
US 8199823B2 · Auyeung · 2012 [cited by examiner]
US 8948242B2 · Kim · 2015 [cited by examiner]
US 8958472B2 · Kung · 2015 [cited by examiner]
US 8976857B2 · Rosen · 2015 [cited by examiner]
US 9294766B2 · Tourapis · 2016 [cited by examiner]
US 9363509B2 · Lim · 2016 [cited by examiner]
US 9414054B2 · Sullivan · 2016 [cited by examiner]
US 9485502B2 · Xu · 2016 [cited by examiner]
US 9485521B2 · Lim · 2016 [cited by examiner]
US 9591302B2 · Sullivan · 2017 [cited by examiner]
US 9609362B2 · Samuelsson · 2017 [cited by examiner]
US 9674531B2 · Gamei · 2017 [cited by examiner]
US 9749632B2 · Lim · 2017 [cited by examiner]
US 9781421B2 · Sullivan · 2017 [cited by examiner]
US 9807410B2 · Chou · 2017 [cited by examiner]
US 9843812B2 · Auyeung · 2017 [cited by examiner]
US 9948954B2 · Lim · 2018 [cited by examiner]
US 9967578B2 · Sato · 2018 [cited by examiner]
US 20060098734A1 · Cho · 2006 [cited by examiner]
US 20080317377A1 · Saigo · 2008 [cited by examiner]
US 20130094572A1 · Van der Auwera · 2013 [cited by examiner]
US 20130101024A1 · Van der Auwera · 2013 [cited by examiner]
US 20130101025A1 · Van der Auwera · 2013 [cited by examiner]
US 20130188693A1 · Xu · 2013 [cited by examiner]
US 20130259141A1 · Van der Auwera · 2013 [cited by examiner]
US 20130329785A1 · Lim · 2013 [cited by examiner]
US 20140003498A1 · Sullivan et al. · 2014 [cited by applicant]
US 20140211848A1 · Hsu · 2014 [cited by examiner]
US 20150071345A1 · Tourapis · 2015 [cited by examiner]
US 20150078447A1 · Gamei · 2015 [cited by examiner]
US 20150350687A1 · Zhai · 2015 [cited by examiner]
US 20160057419A1 · Francois · 2016 [cited by examiner]
US 20200260084A1 · Kim · 2020 [cited by examiner]
Bross et al., “High Efficiency Video Coding (HEVC) Text Specification Draft 6,” JCTVC-H1003 dK, 259 pp. (Feb. 2012). [cited by applicant]
Bross et al., “High Efficiency Video Coding (HEVC) Text Specification Draft 8,” Joint Collaborative Team on Video Coding, JCTVC-J1003_d7, 260 pp. (Jul. 2012). [cited by applicant]
Communication pursuant to Article 94(3) EPC dated Oct. 9, 2024, from European Patent Application No. 19190862.3, 4 pp. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated Jan. 2, 2020, from European Patent Application No. 19190862.3, 2 pp. [cited by applicant]
Communication under Rule 71(3) EPC dated Oct. 8, 2024, from European Patent Application No. 19207170.2, 7 pp. [cited by applicant]
Corrected Notice of Allowability dated Sep. 5, 2017, from U.S. Appl. No. 15/410,924, 2 pp. [cited by applicant]
Decision to Grant dated Jan. 23, 2025, from European Patent Application No. 19207170.2, 3 pp. [cited by applicant]
Notice of Allowance dated Oct. 20, 2016, from U.S. Appl. No. 13/732,369, 8 pp. [cited by applicant]
Notice of Allowance dated May 25, 2017, from U.S. Appl. No. 15/410,924, 12 pp. [cited by applicant]
Notice of Allowance dated Dec. 15, 2017, from Chinese Patent Application No. 201380045723.7, 3 pp. [cited by applicant]
Notice of Allowance dated May 17, 2018, from U.S. Appl. No. 15/685,278, 8 pp. [cited by applicant]
Notice of Allowance dated Jan. 17, 2019, from U.S. Appl. No. 16/126,176, 11 pp. [cited by applicant]
Notice of Allowance dated Jan. 8, 2020, from U.S. Appl. No. 16/387,857, 10 pp. [cited by applicant]
Notice of Allowance dated Jan. 19, 2024, from Korean Patent Application No. 10-2023-7020719, 3 pp. [cited by applicant]
Notice of Allowance dated Jan. 19, 2024, from Korean Patent Application No. 10-2023-7020802, 3 pp. [cited by applicant]
Notice of Allowance dated Aug. 13, 2024, from U.S. Appl. No. 17/890,496, 11 pp. [cited by applicant]
Notice of Allowance dated Aug. 19, 2024, from U.S. Appl. No. 17/951,446, 9 pp. [cited by applicant]
Notice of Allowance dated Sep. 12, 2024, from U.S. Appl. No. 17/951,359, 9 pp. [cited by applicant]
Notice of Allowance dated Oct. 11, 2024, from U.S. Appl. No. 17/951,409, 9 pp. [cited by applicant]
Notice of Allowance dated Feb. 18, 2025, from U.S. Appl. No. 17/953,145, 5 pp. [cited by applicant]
Notice of Allowance dated Mar. 19, 2025, from U.S. Appl. No. 17/953,090, 5 pp. [cited by applicant]
Notice of Allowance dated Mar. 19, 2025, from U.S. Appl. No. 17/953,120, 5 pp. [cited by applicant]
Office Action dated Oct. 24, 2024, from U.S. Appl. No. 17/953,090, 13 pp. [cited by applicant]
Office Action dated Oct. 24, 2024, from U.S. Appl. No. 17/953,120, 14 pp. [cited by applicant]
Office Action dated Nov. 7, 2024, from U.S. Appl. No. 17/953,145, 13 pp. [cited by applicant]
Bross et al., “High Efficiency Video Coding (HEVC) Text Specification Draft 7,” Joint Collaborative Team on Video Coding, JCTVC-I1003_d5, 294 pp. (Apr. 2012). [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated May 26, 2025, from European Patent Application No. 25153995.3, 2 pp. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated May 26, 2025, from European Patent Application No. 25153992.0, 2 pp. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated May 26, 2025, from European Patent Application No. 25153993.8, 2 pp. [cited by applicant]
Extended European Search Report dated Apr. 17, 2025, from European Patent Application No. 25153992.0, 9 pp. [cited by applicant]
Extended European Search Report dated Apr. 17, 2025, from European Patent Application No. 25153993.8, 9 pp. [cited by applicant]
Extended European Search Report dated Apr. 17, 2025, from European Patent Application No. 25153995.3, 10 pp. [cited by applicant]
Extended European Search Report dated Jul. 23, 2025, from European Patent Application No. 25167617.7, 8 pp. [cited by applicant]
Communication pursuant to Rules 70(2) and 70a(2) EPC and reference to Rule 39(1) EPC dated Aug. 25, 2025, from European Patent Application No. 25167617.7, 2 pp. [cited by applicant]