IP Library › Granted Patent US 12,052,419
Granted Patent B2
US 12,052,419 · App. 17/452,137 · Granted Jul 30, 2024

Method and apparatus for signaling of mapping function of chroma quantization parameter

Inventors: Sergey Yurievich Ikonin (Moscow, RU); Roman Igorevich Chernyak (Moscow, RU); Timofey Mikhailovich Solovyev (Moscow, RU); Alexander Alexandrovich Karabutov (Moscow, RU); Elena Alexandrovna Alshina (Munich, DE); Jianle Chen (San Diego, CA)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/126H04N19/124H04N19/132H04N19/172H04N19/174H04N19/184H04N19/186H04N19/44
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,052,419
App. No.
17/452,137
Granted
Jul 30, 2024
Kind
B2
Abstract

A method of obtaining a chrominance quantization parameter (QP) for chrominance components based on a luminance QP for a luminance component, wherein the method is performed by a decoder, and comprises parsing a received bitstream to obtain the luminance QP and information of a mapping function (ƒ) which associates a QP index (QPi) to a chrominance QP (QPc); obtaining the QPi based at least in part on the luminance QP; obtaining the mapping function based on the obtained information of the mapping function; and obtaining a QPc based on the obtained mapping function and the obtained QPi.

Claims (143)

1. A method comprising:

receiving a bitstream;

parsing the bitstream to obtain a luminance quantization parameter (QP) and information of a chroma QP mapping table which associates a QP index (QPi) to a chrominance QP (QPc);

obtaining a QPi based at least in part on the obtained luminance QP;

obtaining the chroma QP mapping table based on the obtained information of the chroma QP mapping table;

obtaining a first QPc based on the obtained chroma QP mapping table and the obtained QPi; and

obtaining a second QPc based on the first QPc;

wherein

qP Chroma =Clip3(−QpBdOffset,63,Qp Y );

qP Cb =ChromaQpTable[0][qP Chroma ];

qP Cr =ChromaQpTable[1][qP Chroma ]; or

qP CbCr =ChromaQpTable[2][qP Chroma ];

the Qp Y represents the luminance QP;

the ChromaQpTable represents the chroma QP mapping table;

the qP Chroma represents the obtained QPi;

the qP Cb , qP Cr or qP CbCr represents the first QPc;

the QpBdOffset represents a bit depth offset calculated based on a bit depth of samples of luma and chroma arrays using the following:

QpBdOffset=6*bit_depth_minus8,

wherein the bit_depth_minus8 is in a range of 0 to 8, inclusive.

2. The method of claim 1 , wherein values of the chroma QP mapping table satisfy a mapping function.

3. The method of claim 2 , wherein the mapping function is a piecewise mapping function, and information of the piecewise mapping function comprises breakpoints, change points, or pivot points.

4. The method of claim 3 , wherein an amount of the breakpoints, the change points, or the pivot points and respective x and y coordinates of the amount are signaled in the bitstream either directly or based on delta values between coordinates of a current pivot point and coordinates of a previous pivot point.

5. The method of claim 2 , wherein the mapping function is a piecewise function based on:

a linear equation,

an exponential equation,

a logarithmic equation, or

any combination thereof.

6. The method of claim 5 , wherein parameters of pieces of the piecewise function are obtained based on pivot points, using a linear equation given by:

y =slope* x+b ; with slope and b being parameters of the linear equation, wherein

slope=( Ey−Dy )/( Ex−Dx ), b=Dy −slope* Dx;

wherein D and E are pivot points with coordinates Dx, Dy and Ex, Ey correspondingly.

7. The method of claim 1 , wherein the information of the chroma QP mapping table is signaled jointly for all chrominance components.

8. The method of claim 2 , wherein the information of the chroma QP mapping table comprises an indicator indicating whether the mapping function is signaled for chrominance components separately or jointly.

9. The method of claim 1 , wherein the information of the chroma QP mapping table is signaled:

at a sequence level in a sequence parameter set, or

at a picture level in a picture parameter set, or

at a tile group level in a tile group parameter set, or

in an adaptation parameter set, or

in a supplemental enhancement information (SEI) message.

10. The method of claim 1 , wherein

Qp′ Cb =Clip3(−QpBdOffset,63,qP Cb +pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset Cb )+QpBdOffset;

Qp′ Cr =Clip3(−QpBdOffset,63,qP Cr +pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset Cr )+QpBdOffset; or

Qp′ CbCr =Clip3(−QpBdOffset,63,qP CbCr +pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset+CuQpOffset CbCr )+QpBdOffset;

wherein the Qp′ Cb , Qp′ Cr or Qp′ CbCr represents the second QPc;

wherein the pps_cb_qp_offset and the pps_cr_qp_offset specify offsets to a luma quantization parameter Qp′ Y used for deriving the Qp′ Cb and Qp′ Cr , respectively, wherein Qp′ Y =Qp Y +QpBdOffsetY;

wherein the pps_joint_cbcr_qp_offset_value specifies an offset to the luma quantization parameter Qp′ Y used for deriving the Qp′ CbCr ;

wherein the slice_cr_qp_offset specifies a difference to be added to a value of the pps_cr_qp_offset when determining a value of the Qp′ Cr quantization parameter;

wherein slice_cb_qp_offset specifies a difference to be added to a value of pps_cb_qp_offset when determining a value of the Qp′ Cb quantization parameter;

wherein slice_joint_cbcr_qp_offset specifies a difference to be added to a value of pps_joint_cbcr_qp_offset_value when determining a value of the Qp′ CbCr ;

wherein the CuQpOffset Cb , CuQpOffset Cr , and CuQpOffset CbCr , specify values to be used for determining the respective values of the Qp′ Cb , Qp′ Cr , and Qp′ CbCr quantization parameters for a decoder.

11. A decoder comprising:

one or more electronic circuits or processors configured to:

receive a bitstream;

parse the bitstream to obtain a luminance quantization parameter (QP) and information of a chroma QP mapping table which associates a QP index (QPi) to a chrominance QP (QPc);

obtain a QPi based at least in part on the obtained luminance QP;

obtain the chroma QP mapping table based on the obtained information of the chroma QP mapping table;

obtain a first QPc based on the obtained chroma QP mapping table and the obtained QPi; and

obtain a second QPc based on the first QPc;

wherein:

qP Chroma =Clip3(−QpBdOffset,63,Qp Y );

qP Cb =ChromaQpTable[0][qP Chroma ];

qP Cr =ChromaQpTable[1][qP Chroma ]; or

qP CbCr =ChromaQpTable[2][qP Chroma ];

the Qp Y represents the luminance QP;

the ChromaQpTable represents the chroma QP mapping table;

the qP Chroma represents the obtained QPi;

the qP Cb , qP Cr or qP CbCr represents the first QPc;

the QpBdOffset represents a bit depth offset calculated based on a bit depth of samples of luma and chroma arrays using the following:

QpBdOffset=6*bit_depth_minus8,

wherein the bit_depth_minus8 is in a range of 0 to 8, inclusive.

12. The decoder of claim 11 , wherein values of the chroma QP mapping table satisfy a mapping function.

13. The decoder of claim 12 , wherein the mapping function is a piecewise mapping function, and information of the piecewise mapping function comprises breakpoints, change points, or pivot points.

14. The decoder of claim 13 , wherein an amount of the breakpoints, the change points, or the pivot points and respective x and y coordinates of the amount are signaled in the bitstream either directly or based on delta values between coordinates of a current pivot point and coordinates of a previous pivot point.

15. The decoder of claim 12 , wherein the mapping function is a piecewise function based on:

a linear equation,

an exponential equation,

a logarithmic equation, or

any combination thereof.

16. The decoder of claim 15 , wherein parameters of pieces of the piecewise function are obtained based on pivot points, using a linear equation given by:

y =slope* x+b ; with slope and b being parameters of the linear equation, where

slope=( Ey−Dy )/( Ex−Dx ), b=Dy −slope* Dx;

wherein D and E are pivot points with coordinates Dx, Dy and Ex, Ey correspondingly.

17. The decoder of claim 11 , wherein the information of the chroma QP mapping table is signaled jointly for all chrominance components.

18. The decoder of claim 11 , wherein the information of the chroma QP mapping table comprises an indicator indicating whether the chroma QP mapping table is signaled for chrominance components separately or jointly.

19. The decoder of claim 11 , wherein the information of the chroma QP mapping table is signaled:

at a sequence level in a sequence parameter set, or

at a picture level in a picture parameter set, or

at a tile group level in a tile group parameter set, or

in an adaptation parameter set, or

in a supplemental enhancement information (SEI) message.

20. The decoder of claim 11 , wherein

Qp′ Cb =Clip3(−QpBdOffset,63,qP Cb +pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset Cb )+QpBdOffset;

Qp′ Cr =Clip3(−QpBdOffset,63,qP Cr +pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset Cr )+QpBdOffset; or

Qp′ CbCr =Clip3(−QpBdOffset,63,qP CbCr +pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset+CuQpOffset CbCr )+QpBdOffset;

wherein the Qp′ Cb , Qp′ Cr or Qp′ CbCr represents the second QPc;

wherein the pps_cb_qp_offset and the pps_cr_qp_offset specify offsets to a luma quantization parameter Qp′ Y used for deriving the Qp′ Cb and Qp′ Cr , respectively, wherein Qp′ Y =Qp Y +QpBdOffsetY;

wherein the pps_joint_cbcr_qp_offset_value specifies an offset to the luma quantization parameter Qp′ Y used for deriving the Qp′ CbCr ;

wherein the slice_cr_qp_offset specifies a difference to be added to a value of the pps_cr_qp_offset when determining a value of the Qp′ Cr quantization parameter;

wherein the slice_cb_qp_offset specifies a difference to be added to a value of pps_cb_qp_offset when determining a value of the Qp′ Cb quantization parameter;

wherein slice_joint_cbcr_qp_offset specifies a difference to be added to a value of pps_joint_cbcr_qp_offset_value when determining a value of the Qp′ CbCr ;

wherein the CuQpOffset Cb , CuQpOffset Cr , and CuQpOffset CbCr , specify values to be used for determining the respective values of the Qp′ Cb , Qp′ Cr , and Qp′ CbCr quantization parameters for the decoder.

21. A non-transitory computer-readable medium having instructions stored therein, which when executed by a processor, cause a decoder to:

receive a bitstream;

parse the bitstream to obtain a luminance quantization parameter (QP) and information of a chroma QP mapping table which associates a QP index (QPi) to a chrominance QP (QPc);

obtain a QPi based at least in part on the obtained luminance QP;

obtain a chroma QP mapping table based on the obtained information of the chroma QP mapping table;

obtain a first QPc based on the obtained chroma QP mapping table and the obtained QPi; and

obtain a second QPc based on the first QPc;

wherein:

qP Chroma =Clip3(−QpBdOffset,63,Qp Y );

qP Cb =ChromaQpTable[0][qP Chroma ];

qP Cr =ChromaQpTable[1][qP Chroma ]; or

qP CbCr =ChromaQpTable[2][qP Chroma ];

the Qp Y represents the luminance QP;

the ChromaQpTable represents the chroma QP mapping table;

the qP Chroma represents the obtained QPi;

the qP Cb , qP Cr or qP CbCr represents the first QPc;

the QpBdOffset represents a bit depth offset calculated based on a bit depth of samples of luma and chroma arrays using the following:

QpBdOffset=6*bit_depth_minus8,

wherein the bit_depth_minus8 is in a range of 0 to 8, inclusive.

22. The non-transitory computer-readable medium of claim 21 , wherein values of the chroma QP mapping table satisfy a mapping function.

23. The non-transitory computer-readable medium of claim 22 , wherein the mapping function is a piecewise mapping function, and information of the piecewise mapping function comprises breakpoints, change points, or pivot points.

24. The non-transitory computer-readable medium of claim 23 , wherein an amount of the breakpoints, the change points, or the pivot points and respective x and y coordinates of the amount are signaled in the bitstream either directly or based on delta values between coordinates of a current pivot point and coordinates of a previous pivot point.

25. The non-transitory computer-readable medium of claim 22 , wherein the mapping function is a piecewise function based on:

a linear equation,

an exponential equation,

a logarithmic equation, or

any combination thereof.

26. The non-transitory computer-readable medium of claim 25 , wherein parameters of pieces of the piecewise function are obtained based on pivot points, using a linear equation given by:

y =slope* x+b ; with slope and b being parameters of the linear equation, wherein

slope=( Ey−Dy )/( Ex−Dx ), b=Dy −slope* Dx;

wherein D and E are pivot points with coordinates Dx, Dy and Ex, Ey correspondingly.

27. The non-transitory computer-readable medium of claim 21 , wherein

Qp′ Cb =Clip3(−QpBdOffset,63,qP Cb +pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffset Cb )+QpBdOffset;

Qp′ Cr =Clip3(−QpBdOffset,63,qP Cr +pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffset Cr )+QpBdOffset; or

Qp′ CbCr =Clip3(−QpBdOffset,63,qP CbCr +pps_joint_cbcr_qp_offset_value+slice_joint_cbcr_qp_offset+CuQpOffset CbCr )+QpBdOffset;

wherein the Qp′ Cb , Qp′ Cr or Qp′ CbCr represents the second QPc;

wherein the pps_cb_qp_offset and the pps_cr_qp_offset specify offsets to a luma quantization parameter Qp′ Y used for deriving the Qp′ Cb and Qp′ Cr , respectively, wherein Qp′ Y =Qp Y +QpBdOffsetY;

wherein the pps_joint_cbcr_qp_offset_value specifies an offset to the luma quantization parameter Qp′ Y used for deriving the Qp′ CbCr ;

wherein the slice_cr_qp_offset specifies a difference to be added to a value of pps_cr_qp_offset when determining a value of the Qp′ Cr quantization parameter;

wherein the slice_cb_qp_offset specifies a difference to be added to a value of pps_cb_qp_offset when determining a value of the Qp′ Cb quantization parameter;

wherein the slice_joint_cbcr_qp_offset specifies a difference to be added to a value of pps_joint_cbcr_qp_offset_value when determining a value of the Qp′ CbCr ;

wherein the CuQpOffset Cb , CuQpOffset Cr , and CuQpOffset CbCr , specify values to be used for determining the respective values of the Qp′ Cb , Qp′ Cr , and Qp′ CbCr quantization parameters for the decoder.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2023
From: IKONIN, SERGEY YURIEVICH; CHERNYAK, ROMAN IGOREVICH; SOLOVYEV, TIMOFEY MIKHAILOVICH; KARABUTOV, ALEXANDER ALEXANDROVICH; ALSHINA, ELENA ALEXANDROVNA; CHEN, JIANLE
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 065843/0697 →
Priority Claims (1)
WO PCT/RU2019/000444 · Jun 21, 2019 · international
Continuity (5)
Continuation PCTCN2020086933 · Apr 26, 2020
Provisional Application 62872238 · Jul 9, 2019
Provisional Application 62871197 · Jul 7, 2019
Provisional Application 62839607 · Apr 26, 2019
Related Publication 20220070460A1 · Mar 3, 2022