IP Library Patent Application 19023863
Patent Application
App. No. 19/023,863

CONTROL AND USE OF CHROMA QUANTIZATION PARAMETER VALUES

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 None
App. No.
19/023,863
Abstract

Innovations in control and use of chroma quantization parameter (“QP”) values that depend on luma 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 (92)

1 . (canceled)

2 . A computer system comprising one or more processing units and memory, wherein the computer system implements a video encoder configured to perform operations comprising:

determining a chroma bit depth, wherein the chroma bit depth is greater than 8;

determining a chroma quantization parameter (QP) range offset, wherein the chroma QP range offset is greater than 0;

encoding a picture for which values of QP vary according to a relationship between a luma component and chroma components, wherein the encoding the picture includes:

quantizing transform coefficients for one or more portions of a slice of the picture for a given chroma component among the chroma components;

reconstructing the one or more portions of the slice, including:

determining a chroma QP for the given chroma component based at least in part on a luma QP, a picture-level chroma QP offset, and the chroma QP range offset; and

inverse quantizing the transform coefficients for the one or more portions of the slice for the given chroma component based at least in part on the chroma QP for the given chroma component; and

performing deblock filtering on at least part of the slice, including:

determining a filter strength parameter for chroma deblock filtering for the given chroma component using the picture-level chroma QP offset and the chroma bit depth, including determining a QP index for the chroma deblock filtering using 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, wherein an intermediate value of the filter strength parameter is scaled by a factor that depends on the chroma bit depth; and

performing deblock filtering across the edge for the given chroma component based at least in part the filter strength parameter; and

outputting encoded data as part of a bitstream, wherein the encoded data includes results of the encoding the picture, a syntax element that indicates the chroma bit depth, and a syntax element that indicates the picture-level chroma QP offset.

3 . The computer system of claim 2 , wherein the syntax element that indicates the chroma bit depth indicates a value of the chroma bit depth minus 8.

4 . The computer system of claim 2 , wherein the chroma QP range offset is the syntax element that indicates the chroma bit depth multiplied by 6.

5 . The computer system of claim 2 , wherein the chroma QP range offset is 6 or 12.

6 . The computer system of claim 2 , wherein the chroma QP range offset indicates a lower limit of a range for an intermediate index variable during the determining the chroma QP for the given chroma component.

7 . The computer system of claim 2 , wherein the chroma QP range offset is added to an intermediate value of the chroma QP during the determining the chroma QP for the given chroma component.

8 . The computer system of claim 2 , wherein the factor that depends on the chroma bit depth is 1<<(BitDepthC−8), and wherein BitDepthC represents the chroma bit depth.

9 . One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations comprising:

receiving encoded data in at least part of a bitstream, wherein the encoded data includes a syntax element that indicates a chroma bit depth and a syntax element that indicates a picture-level chroma quantization parameter (QP) offset; and

decoding the encoded data, including:

determining the chroma bit depth using the syntax element that indicates the chroma bit depth, wherein the chroma bit depth is greater than 8;

determining a chroma QP range offset using the syntax element that indicates the chroma bit depth, wherein the chroma QP range offset is greater than 0;

reconstructing a slice of a picture for which values of QP vary according to a relationship between a luma component and chroma components, including:

determining a chroma QP for a given chroma component, among the chroma components, based at least in part on a luma QP, the picture-level chroma QP offset, and the chroma QP range offset; and

inverse quantizing transform coefficients for one or more portions of the slice for the given chroma component based at least in part on the chroma QP for the given chroma component; and

performing deblock filtering on at least part of the slice, including:

determining a filter strength parameter for chroma deblock filtering for the given chroma component using the picture-level chroma QP offset and the chroma bit depth, including determining a QP index for the chroma deblock filtering using 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, wherein an intermediate value of the filter strength parameter is scaled by a factor that depends on the chroma bit depth; and

performing deblock filtering across the edge for the given chroma component based at least in part the filter strength parameter.

10 . The one or more non-transitory computer-readable media of claim 9 , wherein the syntax element that indicates the chroma bit depth indicates a value of the chroma bit depth minus 8.

11 . The one or more non-transitory computer-readable media of claim 9 , wherein the determining the chroma QP range offset includes multiplying the syntax element that indicates the chroma bit depth by 6.

12 . The one or more non-transitory computer-readable media of claim 9 , wherein the chroma QP range offset is 6 or 12.

13 . The one or more non-transitory computer-readable media of claim 9 , wherein the determining the filter strength parameter is performed separately for the given chroma component and for another chroma component among the chroma components.

14 . The one or more non-transitory computer-readable media of claim 9 , wherein the chroma QP range offset indicates a lower limit of a range for an intermediate index variable during the determining the chroma QP for the given chroma component.

15 . The one or more non-transitory computer-readable media of claim 9 , wherein the chroma QP range offset is added to an intermediate value of the chroma QP during the determining the chroma QP for the given chroma component.

16 . The one or more non-transitory computer-readable media of claim 9 , wherein the factor that depends on the chroma bit depth is 1<<(BitDepthC−8), and wherein BitDepthC represents the chroma bit depth.

17 . The one or more non-transitory computer-readable media of claim 9 , wherein the determining the QP index 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 right shifting by 1 bit; and

adding the picture-level chroma QP offset.

18 . The one or more non-transitory computer-readable media of claim 9 , wherein the determining the chroma QP uses a given table, and wherein the determining the filter strength parameter for chroma deblock filtering of the given chroma component also uses the given table.

19 . The one or more non-transitory computer-readable media of claim 18 , wherein the given table is:

qP I

QP C

<30

= qP I

30

29

31

30

32

31

33

32

34

33

35

33

36

34

37

34

38

35

39

35

40

36

41

36

42

37

43

37

>43

= qP I − 6

wherein qP 1 represents the QP index, and wherein QP C represents the intermediate variable.

20 . One or more non-transitory computer-readable media having stored thereon encoded data in at least part of a bitstream, wherein the encoded data includes a syntax element that indicates a chroma bit depth and a syntax element that indicates a picture-level chroma quantization parameter (QP) offset, and wherein the encoded data is produced from encoding, with a computing device that implements a video encoder, by operations comprising:

determining the chroma bit depth, wherein the chroma bit depth is greater than 8;

determining a chroma QP range offset, wherein the chroma QP range offset is greater than 0;

encoding a picture for which values of QP vary according to a relationship between a luma component and chroma components, wherein the encoding the picture includes:

quantizing transform coefficients for one or more portions of a slice of the picture for a given chroma component among the chroma components;

reconstructing the one or more portions of the slice, including:

determining a chroma QP for the given chroma component based at least in part on a luma QP, the picture-level chroma QP offset, and the chroma QP range offset; and

inverse quantizing the transform coefficients for the one or more portions of the slice for the given chroma component based at least in part on the chroma QP for the given chroma component; and

performing deblock filtering on at least part of the slice, including:

determining a filter strength parameter for chroma deblock filtering for the given chroma component using the picture-level chroma QP offset and the chroma bit depth, including determining a QP index for the chroma deblock filtering using 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, wherein an intermediate value of the filter strength parameter is scaled by a factor that depends on the chroma bit depth; and

performing deblock filtering across the edge for the given chroma component based at least in part the filter strength parameter.

21 . The one or more computer-readable media of claim 20 , wherein:

the syntax element that indicates the chroma bit depth indicates a value of the chroma bit depth minus 8;

the chroma QP range offset includes multiplying the syntax element that indicates the chroma bit depth by 6; and

the chroma QP range offset is 6 or 12.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2025
From: SULLIVAN, GARY J.; KANUMURI, SANDEEP
To: MICROSOFT CORPORATION
Reel/Frame 070522/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2025
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 070523/0665 →