IP Library Granted Patent US 12,192,463
Granted Patent B2
US 12,192,463 · App. 17/951,409 · Granted Jan 7, 2025

Control and use of chroma quantization parameter values

Inventors: Gary J. Sullivan (Bellevue, WA); Sandeep Kanumuri (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/124H04N19/126H04N19/174H04N19/186H04N19/44H04N19/70H04N19/146
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,192,463
App. No.
17/951,409
Granted
Jan 7, 2025
Kind
B2
Abstract

Innovations in control and use of chroma quantization parameter (“QP”) values that depend on hum QP values. More generally, the innovations relate to control and use of QP values for a secondary color component that depend on QP values for a primary color component. For example, during encoding, an encoder determines a QP index from a primary component QP and secondary component QP offset. The encoder maps the QP index to a secondary component QP, which has an extended range. The encoder outputs at least part of a bitstream including the encoded content. A corresponding decoder receives at least part of a bitstream including encoded content. During decoding, the decoder determines a QP index from a primary component QP and secondary component QP offset, then maps the QP index to a secondary component QP, which has an extended range.

Claims (48)

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 for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, wherein the encoded data in the bitstream includes:

a flag in a picture parameter set that indicates presence of slice-level chroma QP offsets in slice headers;

syntax elements that indicate picture-level chroma QP offsets; and

syntax elements that indicate the slice-level chroma QP offsets; and

decoding at least some of the encoded data to reconstruct one or more pictures, including, for a portion of a given picture among the one or more pictures:

determining a QP index from a luma component QP and a chroma component QP offset, wherein the chroma component QP offset incorporates one of the picture-level chroma QP offsets and one of the slice-level chroma QP offsets, the QP index being determined according to:

qP I =Clip3( a,b,QP Y +qp _offset+slice_ qp _delta),

where qP I represents the QP index, QP Y represents the luma component QP, qp_offset represents the one of the picture-level chroma QP offsets, slice_qp_delta represents the one of the slice-level chroma QP offsets, and Clip3(a, b, c) represents a function that clips the value of c to the range of a to b; and

mapping the QP index to a chroma component QP.

2. The computer system of claim 1 , wherein the mapping follows a table that maps different values of QP index to corresponding values of chroma component QP.

3. The computer system of claim 1 , wherein the mapping follows logic that maps different values of QP index to corresponding values of chroma component QP.

4. The computer system of claim 1 , wherein the decoding further includes:

inverse quantizing transform coefficients based at least in part on the chroma component QP.

5. The computer system of claim 1 , wherein the encoded data in the bitstream further includes syntax elements that at least in part indicate the luma component QP.

6. The computer system of claim 5 , wherein the syntax elements that at least in part indicate the luma component QP include a picture-level luma QP value, a slice-level QP offset value, and a unit-level QP offset value.

7. The computer system of claim 1 , wherein the syntax elements that indicate the picture-level chroma QP offsets indicate a picture-level Cb QP offset value and a picture-level Cr QP offset value.

8. The computer system of claim 1 , wherein the syntax elements that indicate the slice-level chroma QP offsets indicate a slice-level Cb QP offset value and a slice-level Cr QP offset value.

9. In a computer system that implements a video encoder, a method comprising:

encoding one or more pictures, thereby producing encoded data, including, as part of a motion compensation loop, for a portion of a given picture among the one or more pictures:

determining a quantization parameter (QP) index indicated by a luma component QP and a chroma component QP offset, wherein the chroma component QP offset incorporates one of multiple picture-level chroma QP offsets and one of multiple slice-level chroma QP offsets, the QP index being determined in a manner consistent with:

qP I =Clip3( a,b,QP Y +qp _offset+slice_ qp _delta),

where qP I represents the QP index, QP Y represents the luma component QP, qp_offset represents the one of the multiple picture-level chroma QP offsets, slice_qp_delta represents the one of the multiple slice-level chroma QP offsets, and Clip3(a, b, c) represents a function that clips the value of c to the range of a to b; and

mapping the QP index to a chroma component QP; and

outputting the encoded data in a bitstream for which values of QP vary according to a relationship between a luma component and chroma components, wherein the encoded data in the bitstream includes:

a flag in a picture parameter set that indicates presence of the multiple slice-level chroma QP offsets in slice headers;

syntax elements that indicate the multiple picture-level chroma QP offsets; and

syntax elements that indicate the multiple slice-level chroma QP offsets.

10. The method of claim 9 , wherein the encoding further includes, as part of the motion compensation loop, for the portion of the given picture:

inverse quantizing transform coefficients based at least in part on the chroma component QP.

11. The method of claim 9 , wherein the encoded data in the bitstream further includes syntax elements that at least in part indicate the luma component QP.

12. The method of claim 11 , wherein the syntax elements that at least in part indicate the luma component QP include a picture-level luma QP value, a slice-level QP offset value, and a unit-level QP offset value.

13. The method of claim 9 , wherein the syntax elements that indicate the picture-level chroma QP offsets indicate a picture-level Cb QP offset value and a picture-level Cr QP offset value.

14. The method of claim 9 , wherein the syntax elements that indicate the slice-level chroma QP offsets indicate a slice-level Cb QP offset value and a slice-level Cr QP offset value.

15. One or more non-transitory computer-readable media having stored thereon encoded data in a bitstream for which values of quantization parameter (QP) vary according to a relationship between a luma component and chroma components, wherein the encoded data in the bitstream includes:

a flag in a picture parameter set that indicates presence of slice-level chroma QP offsets in slice headers,

syntax elements that indicate picture-level chroma QP offsets, and

syntax elements that indicate the slice-level chroma QP offsets, and wherein the encoded data is organized to facilitate decoding, with a computer system that implements a video decoder, of at least some of the encoded data to reconstruct one or more pictures by operations that include, for a portion of a given picture among the one or more pictures:

determining a QP index from a luma component QP and a chroma component QP offset, wherein the chroma component QP offset incorporates one of the picture-level chroma QP offsets and one of the slice-level chroma QP offsets, the QP index being determined according to:

qP I =Clip3( a,b,QP Y +qp _offset+slice_ qp _delta),

where qP I represents the QP index, QP Y represents the luma component QP, qp_offset represents the one of the picture-level chroma QP offsets, slice_qp_delta represents the one of the slice-level chroma QP offsets, and Clip3(a, b, c) represents a function that clips the value of c to the range of a to b; and

mapping the QP index to a chroma component QP.

16. The one or more computer-readable media of claim 15 , wherein the operations further include, for the portion of the given picture:

inverse quantizing transform coefficients based at least in part on the chroma component QP.

17. The one or more computer-readable media of claim 15 , wherein the encoded data in the bitstream further includes syntax elements that at least in part indicate the luma component QP.

18. The one or more computer-readable media of claim 17 , wherein the syntax elements that at least in part indicate the luma component QP include a picture-level luma QP value, a slice-level QP offset value, and a unit-level QP offset value.

19. The one or more computer-readable media of claim 15 , wherein the syntax elements that indicate the picture-level chroma QP offsets indicate a picture-level Cb QP offset value and a picture-level Cr QP offset value.

20. The one or more computer-readable media of claim 15 , wherein the syntax elements that indicate the slice-level chroma QP offsets indicate a slice-level Cb QP offset value and a slice-level Cr QP offset value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2022
From: SULLIVAN, GARY J.; KANUMURI, SANDEEP
To: MICROSOFT CORPORATION
Reel/Frame 062073/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2022
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062073/0553 →
Continuity (7)
Continuation 17145535 · Jan 11, 2021
Continuation 16600287 · Oct 11, 2019
Continuation 16277704 · Feb 15, 2019
Continuation 15202933 · Jul 6, 2016
Division 13732356 · Dec 31, 2012
Provisional Application 61667381 · Jul 2, 2012
Related Publication 20230023086A1 · Jan 26, 2023
References Cited (76)
US 9414054B2 · Sullivan et al. · 2016 [cited by applicant]
US 9591302B2 · Sullivan · 2017 [cited by applicant]
US 9781421B2 · Sullivan · 2017 [cited by applicant]
US 10097832B2 · Sullivan · 2018 [cited by applicant]
US 10250882B2 · Sullivan et al. · 2019 [cited by applicant]
US 10313670B2 · Sullivan · 2019 [cited by applicant]
US 10491898B2 · Sullivan et al. · 2019 [cited by applicant]
US 10652542B2 · Sullivan · 2020 [cited by applicant]
US 10924740B2 · Sullivan et al. · 2021 [cited by applicant]
US 10972735B2 · Sullivan · 2021 [cited by applicant]
US 11457212B2 · Sullivan et al. · 2022 [cited by applicant]
US 11595651B2 · Sullivan · 2023 [cited by applicant]
US 20080317377A1 · Saigo · 2008 [cited by examiner]
US 20130329785A1 · Lim · 2013 [cited by examiner]
US 20210211669A1 · Sullivan · 2021 [cited by applicant]
US 20220400262A1 · Sullivan et al. · 2022 [cited by applicant]
US 20230026047A1 · Sullivan et al. · 2023 [cited by applicant]
US 20230027377A1 · Sullivan et al. · 2023 [cited by applicant]
US 20230029534A1 · Sullivan et al. · 2023 [cited by applicant]
US 20230034128A1 · Sullivan et al. · 2023 [cited by applicant]
US 20230036446A1 · Sullivan et al. · 2023 [cited by applicant]
US 20230156194A1 · Sullivan · 2023 [cited by applicant]
Notice of Allowance dated Mar. 23, 2023, from Korean Patent Application No. 10-2022-7004735, 6 pp. [cited by applicant]
Notice of Allowance dated Nov. 14, 2022, from U.S. Appl. No. 17/190,839, 8 pp. [cited by applicant]
Notice of Preliminary Rejection dated Oct. 19, 2022, from Korean Patent Application No. 10-2022-7004735, 5 pp. [cited by applicant]
Office Action dated Jul. 22, 2022, from U.S. Appl. No. 17/190,839, 16 pp. [cited by applicant]
Notice of Allowance dated Dec. 27, 2023, from Korean Patent Application No. 10-2023-7020733, 4 pp. [cited by applicant]
Notice of Allowance dated Jan. 16, 2024, form U.S. Appl. No. 18/099,330, 8 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 Jan. 22, 2024, from Korean Patent Application No. 10-2023-7020737, 4 pp. [cited by applicant]
Notice of Allowance dated Jan. 22, 2024, from Korean Patent Application No. 10-2023-7020740, 4 pp. [cited by applicant]
Notice of Allowance dated Jan. 22, 2024, from Korean Patent Application No. 10-2023-7020809, 4 pp. [cited by applicant]
Office Action Issued in Korean Patent Application No. 10-2023-7020719, Mailed Date: Jul. 11, 2023, 10 Pages. [cited by applicant]
Office Action Issued in Korean Patent Application No. 10-2023-7020733, Mailed Date: Jul. 12, 2023, 11 Pages. [cited by applicant]
Office Action Issued in Korean Patent Application No. 10-2023-7020737, Mailed Date: Jul. 13, 2023, 11 Pages. [cited by applicant]
Office Action Issued in Korean Patent Application No. 10-2023-7020740, Mailed Date: Jul. 14, 2023, 10 Pages. [cited by applicant]
Office Action Issued in Korean Patent Application No. 10-2023-7020802, Mailed Date: Jul. 17, 2023, 12 Pages. [cited by applicant]
Office Action Issued in Korean Patent Application No. 10-2023-7020809, Mailed Date: Jul. 24, 2023, 10 Pages. [cited by applicant]
Office Action dated Aug. 17, 2023, from U.S. Appl. No. 18/099,330, 13 pp. [cited by applicant]
U.S. Appl. No. 17/951,359, filed Sep. 23, 2022. [cited by applicant]
U.S. Appl. No. 17/890,496, filed Aug. 18, 2022. [cited by applicant]
U.S. Appl. No. 17/951,446, filed Sep. 23, 2022. [cited by applicant]
U.S. Appl. No. 17/953,090, filed Sep. 26, 2022. [cited by applicant]
U.S. Appl. No. 17/953,120, filed Sep. 26, 2022. [cited by applicant]
U.S. Appl. No. 17/953,145, filed Sep. 26, 2022. [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 under Rule 71(3) EPC dated Oct. 8, 2024, from European Patent Application No. 19207170.2, 7 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]
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]
Office Action dated Nov. 7, 2024, from U.S. Appl. No. 18/443,139, 11 pp. [cited by applicant]
U.S. Pat. No. 9,414,054, filed Aug. 9, 2016. [cited by applicant]
U.S. Pat. No. 9,591,302, filed Mar. 7, 2017. [cited by applicant]
U.S. Pat. No. 10,250,882, filed Apr. 2, 2019. [cited by applicant]
U.S. Pat. No. 9,781,421, filed Oct. 3, 2017. [cited by applicant]
U.S. Pat. No. 10,097,832, filed Oct. 9, 2018. [cited by applicant]
U.S. Pat. No. 10,313,670, filed Jun. 4, 2019. [cited by applicant]
U.S. Pat. No. 10,491,898, filed Nov. 26, 2019. [cited by applicant]
U.S. Pat. No. 10,652,542, filed May 12, 2020. [cited by applicant]
U.S. Pat. No. 10,924,740, filed Feb. 16, 2021. [cited by applicant]
U.S. Pat. No. 10,972,735, filed Apr. 6, 2021. [cited by applicant]
U.S. Pat. No. 11,595,651, filed Feb. 28, 2023. [cited by applicant]
U.S. Pat. No. 11,457,212, filed Sep. 27, 2022. [cited by applicant]
U.S. Pat. No. 2022/0400262, filed Dec. 15, 2022. [cited by applicant]
U.S. Pat. No. 2023/0026047, filed Jan. 26, 2023. [cited by applicant]
U.S. Pat. No. 2023/0027377, filed Jan. 26, 2023. [cited by applicant]
U.S. Pat. No. 2023/0029534, filed Feb. 2, 2023. [cited by applicant]
U.S. Pat. No. 2023/0036446, filed Feb. 2, 2023. [cited by applicant]
U.S. Pat. No. 2023/0034128, filed Feb. 2, 2023. [cited by applicant]
U.S. Pat. No. 11,943,442, filed Mar. 26, 2024. [cited by applicant]
U.S. Pat. No. 2024/0314314, filed Sep. 19, 2024. [cited by applicant]
U.S. Pat. No. 18/920,094, filed Oct. 18, 2024. [cited by applicant]