IP Library › Granted Patent US 11,463,688
Granted Patent B2
US 11,463,688 · App. 17/115,544 · Granted Oct 4, 2022

Joint chroma residual video coding

Inventors: Bappaditya Ray (San Diego, CA); Geert Van der Auwera (Del Mar, CA); Adarsh Krishnan Ramasubramonian (Irvine, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/107H04N19/159H04N19/176H04N19/186H04N19/96
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,463,688
App. No.
17/115,544
Granted
Oct 4, 2022
Kind
B2
Abstract

A video decoder can be configured to receive, for a first chroma component of a block of the video data, information for first residual samples that correspond to a difference between a first chroma block of the first chroma component and a first prediction block of the first chroma component; determine intermediate reconstructed samples based on the first residual samples; receive, for a second chroma component of the block of video data, information for second residual samples that correspond to a difference between a second chroma block of the second chroma component and the intermediate reconstructed samples; reconstruct the first chroma block based on the first residual samples and the first prediction block; reconstruct the second chroma block based on the second residual samples and the intermediate reconstructed samples; and output decoded video data comprising the reconstructed first chroma block and the reconstructed second chroma block.

Claims (115)

1. A method of decoding video data, the method comprising:

receiving information for first residual samples for a first chroma component of a block of the video data, wherein the first residual samples correspond to a difference between a first chroma block of the first chroma component and a first prediction block of the first chroma component;

determining a second prediction block of a second chroma component of the block using at least one of intra prediction or inter prediction;

determining intermediate reconstructed samples based on the first residual samples and the second prediction block, wherein the intermediate reconstructed samples correspond to the second prediction block added to corresponding scaled samples of the first residual samples;

receiving information for second residual samples for the second chroma component of the block of video data, wherein the second residual samples correspond to a difference between a second chroma block of the second chroma component and the intermediate reconstructed samples;

reconstructing the first chroma block based on the first residual samples and the first prediction block;

reconstructing the second chroma block based on the second residual samples and the intermediate reconstructed samples; and

outputting decoded video data comprising the reconstructed first chroma block and the reconstructed second chroma block.

2. The method of claim 1 , wherein the block of the video data is coded in a lossless coding mode.

3. The method of claim 1 , wherein the first chroma block and the second chroma block are of a same coding unit (CU).

4. The method of claim 1 , wherein reconstructing the second chroma block based on the second residual samples and the intermediate reconstructed samples comprises adding values of the second residual samples to corresponding values of the intermediate reconstructed samples.

5. The method of claim 1 , further comprising:

determining that the block of the video data is encoded in a joint coding of chroma residuals mode.

6. The method of claim 1 , wherein

reconstructing the first chroma block based on the first residual samples and the first prediction block comprises adding the first reconstructed chroma block to the first prediction block of the first chroma component to generate the first chroma block;

reconstructing the second chroma block based on the second residual samples and the intermediate reconstructed samples comprises adding values of the second residual samples to corresponding values of the intermediate reconstructed samples.

7. The method of claim 1 , wherein determining the intermediate reconstructed samples comprises determining the intermediate reconstructed samples according to one of the following equations:

rec1Cr[x][y]=Clip(predCr[x][y]+CSign*resJointC[x][y]>>1) or

Clip(predCr[x][y]+CSign*k1*resJointC[x][y]), wherein

rec1Cr[x][y] represents the intermediate reconstructed samples,

Clip is a clipping operation,

predCr[x][y] represents samples of a second prediction block of the second chroma component,

Csign is a sign value,

resJointC[x][y] represents samples of the first residual samples,

>> is a right-shift or divide by 2 operation, and

k1 is a pre-stored or signaled parameter.

8. The method of claim 1 , wherein determining the intermediate reconstructed samples comprises determining the intermediate reconstructed samples according to the equation:

rec1Cr[x][y]=Clip(predCr[x][y]+CSign*resJointC[x][y]), wherein

rec1Cr[x][y] represents the intermediate reconstructed samples,

Clip is a clipping operation,

predCr[x][y] represents samples of a second prediction block of the second chroma component,

Csign is a sign value, and

resJointC[x][y] represents samples of the first residual samples.

9. The method of claim 1 , wherein determining the intermediate reconstructed samples comprises determining the intermediate reconstructed samples according to one of the following equations:

rec1Cb[x][y]=Clip(predCb[x][y]+CSign*resJointC[x][y]>>1), or

Clip(predCb[x][y]+CSign*k2*resJointC[x][y]), wherein

rec1Cr[x][y] represents the intermediate reconstructed samples,

Clip is a clipping operation,

predCb[x][y] represents samples of a second prediction block of the second chroma component,

CSign is a signal value,

resJointC[x][y] represents samples of the first residual samples,

>> is a right-shift or divide by two operation, and

k2 is a pre-stored or signaled parameter.

10. A method of encoding video data, the method comprising:

determining first residual samples for a first chroma component of a block of the video data, wherein the first residual samples correspond to a difference between a first chroma block of the first chroma component and a first prediction block of the first chroma component;

determining a second prediction block of a second chroma component of the block using at least one of intra prediction or inter prediction;

determining intermediate reconstructed samples based on the first residual samples and the second prediction block of the second chroma component, wherein the intermediate reconstructed samples correspond to the second prediction block added to corresponding scaled samples of the first residual samples;

determining second residual samples for the second chroma component of the block of video data, wherein the second residual samples correspond to a difference between a second chroma block of the second chroma component and the intermediate reconstructed samples; and

outputting, in a bitstream of encoded video data, syntax elements representing the first residual samples and the second residual samples.

11. The method of claim 10 , wherein the block of the video data is coded in a lossless coding mode.

12. The method of claim 10 , wherein the first chroma block and the second chroma block are of a same coding unit (CU).

13. The method of claim 10 , wherein

determining the intermediate reconstructed samples based on the first residual samples and the second prediction block of the second chroma component comprises adding values of the first residual samples to values of samples of the second prediction block.

14. The method of claim 10 , further comprising:

determining that the block of the video data is encoded in a joint coding of chroma residuals mode.

15. A device for decoding video data, the device comprising:

a memory configured to store the video data;

one or more processors implemented in circuitry and configured to:

receive information for first residual samples for a first chroma component of a block of the video data, wherein the first residual samples correspond to a difference between a first chroma block of the first chroma component and a first prediction block of the first chroma component;

determine a second prediction block of a second chroma component of the block using at least one of intra prediction or inter prediction;

determine intermediate reconstructed samples based on the first residual samples and the second prediction block, wherein the intermediate reconstructed samples correspond to the second prediction block added to corresponding scaled samples of the first residual samples;

receive information for second residual samples for the second chroma component of the block of video data, wherein the second residual samples correspond to a difference between a second chroma block of the second chroma component and the intermediate reconstructed samples;

reconstruct the first chroma block based on the first residual samples and the first prediction block;

reconstruct the second chroma block based on the second residual samples and the intermediate reconstructed samples; and

output decoded video data comprising the reconstructed first chroma block and the reconstructed second chroma block.

16. The device of claim 15 , wherein the block of the video data is coded in a lossless coding mode.

17. The device of claim 15 , wherein the first chroma block and the second chroma block are of a same coding unit (CU).

18. The device of claim 15 , wherein to reconstruct the second chroma block based on the second residual samples and the intermediate reconstructed samples, the one or more processors are further configured to add values of the second residual samples to corresponding values of the intermediate reconstructed samples.

19. The device of claim 15 , wherein the one or more processors are further configured to:

determine that the block of the video data is encoded in a joint coding of chroma residuals mode.

20. The device of claim 15 , wherein

to reconstruct the first chroma block based on the first residual samples and the first prediction block, the one or more processors are further configured to adding the first reconstructed chroma block to the first prediction block of the first chroma component to generate the first chroma block;

to reconstruct the second chroma block based on the second residual samples and the intermediate reconstructed samples, the one or more processors are further configured to add values of the second residual samples to corresponding values of the intermediate reconstructed samples.

21. The device of claim 15 , wherein to determine the intermediate reconstructed samples, the one or more processors are further configured to determine the intermediate reconstructed samples according to one of the following equations:

rec1Cr[x][y]=Clip(predCr[x][y]+CSign*resJointC[x][y]>>1) or

Clip(predCr[x][y]+CSign*k1*resJointC[x][y]), wherein

rec1Cr[x][y] represents the intermediate reconstructed samples,

Clip is a clipping operation,

predCr[x][y] represents samples of a second prediction block of the second chroma component,

Csign is a sign value,

resJointC[x][y] represents samples of the first residual samples,

>> is a right-shift or divide by 2 operation, and

k1is a pre-stored or signaled parameter.

22. The device of claim 15 , wherein to determine the intermediate reconstructed samples, the one or more processors are further configured to determine the intermediate reconstructed samples according to one of the following equations:

rec1Cr[x][y]=Clip(predCr[x][y]+CSign*resJointC[x][y]), wherein

rec1Cr[x][y] represents the intermediate reconstructed samples,

Clip is a clipping operation,

predCr[x][y] represents samples of a second prediction block of the second chroma component,

Csign is a sign value, and

resJointC[x][y] represents samples of the first residual samples.

23. The device of claim 15 , wherein to determine the intermediate reconstructed samples, the one or more processors are further configured to determine the intermediate reconstructed samples according to one of the following equations:

rec1Cb[x][y]=Clip(predCb[x][y]+CSign*resJointC[x][y]>>1), or

Clip(predCb[x][y]+CSign*k2*resJointC[x][y]), wherein

rec1Cr[x][y] represents the intermediate reconstructed samples,

Clip is a clipping operation,

predCb[x][y] represents samples of a second prediction block of the second chroma component,

CSign is a signal value,

resJointC[x][y] represents samples of the first residual samples,

>> is a right-shift or divide by two operation, and

k2 is a pre-stored or signaled parameter.

24. The device of claim 15 , further comprising:

a display configured to display decoded video data.

25. The device of claim 15 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

26. A device of encoding video data, the device comprising:

a memory configured to store video data;

one or more processors implemented in circuitry and configured to:

determine first residual samples for a first chroma component of a block of the video data, wherein the first residual samples correspond to a difference between a first chroma block of the first chroma component and a first prediction block of the first chroma component;

determine a second prediction block of a second chroma component of the block using at least one of intra prediction or inter prediction;

determine intermediate reconstructed samples based on the first residual samples and the second prediction block of the second chroma component, wherein the intermediate reconstructed samples correspond to the second prediction block added to corresponding scaled samples of the first residual samples;

determine second residual samples for the second chroma component of the block of video data, wherein the second residual samples correspond to a difference between a second chroma block of the second chroma component and the intermediate reconstructed samples; and

output, in a bitstream of encoded video data, syntax elements representing the first residual samples and the second residual samples.

27. The device of claim 26 , wherein the block of the video data is coded in a lossless coding mode.

28. The device of claim 26 , wherein to determine the intermediate reconstructed samples based on the first residual samples and the second prediction block of the second chroma component, the one or more processors are further configured to add values of the first residual samples to values of samples of the second prediction block.

29. The method of claim 1 , wherein the corresponding scaled samples of the first residual samples correspond to the first residual samples multiplied by a sign value and a scaling factor.

30. The device of claim 15 , wherein the corresponding scaled samples of the first residual samples correspond to the first residual samples multiplied by a sign value and a scaling factor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2020
From: RAY, BAPPADITYA; VAN DER AUWERA, GEERT; RAMASUBRAMONIAN, ADARSH KRISHNAN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 054769/0824 →
Continuity (2)
Provisional Application 62945750 · Dec 9, 2019
Related Publication 20210176464A1 · Jun 10, 2021