IP Library Granted Patent US 10,652,575
Granted Patent B2
US 10,652,575 · App. 15/705,029 · Granted May 12, 2020

Linear model chroma intra prediction for video coding

Inventors: Kai Zhang (San Diego, CA); Jianle Chen (San Diego, CA); Li Zhang (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/593H04N19/117H04N19/13H04N19/132H04N19/147H04N19/157H04N19/176H04N19/186H04N19/46H04N19/80
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 10,652,575
App. No.
15/705,029
Granted
May 12, 2020
Kind
B2
Abstract

A method of decoding video data, including receiving an encoded block of luma samples for a first block of video data, decoding the encoded block of luma samples to create reconstructed luma samples, and predicting chroma samples for the first block of video data using the reconstructed luma samples for the first block of video data and two or more linear prediction models.

Claims (127)

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

receiving an encoded block of luma samples for a first block of video data;

decoding the encoded block of luma samples to create reconstructed luma samples;

classifying reconstructed luma samples that are greater than a first threshold as being in a first sample group of a plurality of sample groups;

classifying reconstructed luma samples that are less than the first threshold as being in a second sample group of the plurality of sample groups; and

predicting chroma samples for the first block of video data by:

applying a first linear prediction model of two or more linear prediction models to the reconstructed luma samples in the first sample group;

applying a second linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the second sample group, the second linear prediction model being different than the first linear prediction model; and

determining the predicted chroma samples in the first block of video data based on the applied first linear prediction model and the applied second linear prediction model.

2. The method of claim 1 , further comprising:

determining parameters for each of the two or more linear prediction models using luma samples and chroma samples from blocks of video data that neighbor the first block of video data.

3. The method of claim 1 , wherein the first threshold is dependent on neighboring coded luma and chroma samples.

4. The method of claim 1 , further comprising:

down-sampling the reconstructed luma samples.

5. The method of claim 1 , further comprising:

determining one of a plurality of down-sampling filters to use to down-sample the reconstructed luma samples;

down-sampling the reconstructed luma samples using the determined down-sampling filter to produce down-sampled luma samples; and

predicting chroma samples for the first block of video data using the down-sampled luma samples and the two or more linear prediction models.

6. The method of claim 1 , further comprising:

determining whether chroma samples of a second block of video data are coded using a linear prediction model of the two or more linear prediction models;

in the case that the chroma samples of the second block of video data are not coded using the linear prediction model, the method further comprising:

determining that a linear mode angular prediction mode is enabled;

applying an angular mode prediction pattern to the chroma samples of the second block of video data to produce first predicted chroma values;

applying a linear model prediction pattern to corresponding luma samples of the second block of video data to produce second predicted chroma values; and

determining a final block of predicted chroma values for the second block of video data by determining a weighted average of the first predicted chroma values and the second predicted chroma values.

7. The method of claim 1 , further comprising:

determining a number of neighboring chroma blocks, relative to the first block of video data, that are coded using a linear prediction model coding mode; and

dynamically changing a code word used to indicate a particular type of the linear prediction model coding mode based on the determined number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode.

8. The method of claim 7 , wherein dynamically changing the code word comprises:

using a first symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being zero;

using a second symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being less than a threshold; and

using a third symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being greater than the threshold.

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

encoding a block of luma samples for a first block of video data;

reconstructing the encoded block of luma samples to create reconstructed luma samples;

classifying reconstructed luma samples that are greater than a first threshold as being in a first sample group of a plurality of sample groups;

classifying reconstructed luma samples that are less than the first threshold as being in a second sample group of the plurality of sample groups; and

predicting chroma samples for the first block of video data by:

applying a first linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the first sample group;

applying a second linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the second sample group, the second linear prediction model being different than the first linear prediction model; and

determining the predicted chroma samples in the first block of video data based on the applied first linear prediction model and the applied second linear prediction model.

10. The method of claim 9 , further comprising:

determining parameters for each of the two or more linear prediction models using luma samples and chroma samples from blocks of video data that neighbor the first block of video data.

11. The method of claim 9 , wherein the first threshold is dependent on neighboring coded luma and chroma samples.

12. The method of claim 9 , further comprising:

down-sampling the reconstructed luma samples.

13. The method of claim 9 , further comprising:

determining one of a plurality of down-sampling filters to use to down-sample the reconstructed luma samples;

down-sampling the reconstructed luma samples using the determined down-sampling filter to produce down-sampled luma samples; and

predicting chroma samples for the first block of video data using the down-sampled luma samples and the two or more linear prediction models.

14. The method of claim 9 , further comprising:

determining whether chroma samples of a second block of video data are coded using a linear prediction model of the two or more linear prediction models;

in the case that the chroma samples of the second block of video data are not coded using the linear prediction model, the method further comprising:

determining that a linear mode angular prediction mode is enabled;

applying an angular mode prediction pattern to the chroma samples of the second block of video data to produce first predicted chroma values;

applying a linear model prediction pattern to corresponding luma samples of the second block of video data to produce second predicted chroma values; and

determining a final block of predicted chroma values for the second block of video data by determining a weighted average of the first predicted chroma values and the second predicted chroma values.

15. The method of claim 9 , further comprising:

determining a number of neighboring chroma blocks, relative to the first block of video data, that are coded using a linear prediction model coding mode; and

dynamically changing a code word used to indicate a particular type of the linear prediction model coding mode based on the determined number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode.

16. The method of claim 15 , wherein dynamically changing the code word comprises:

using a first symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being zero;

using a second symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being less than a threshold; and

using a third symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being greater than the threshold.

17. An apparatus configured to decode video data, the apparatus comprising:

a memory configured to receive a first block of video data; and

one or more processors configured to:

receive an encoded block of luma samples for the first block of video data;

decode the encoded block of luma samples to create reconstructed luma samples;

classify reconstructed luma samples that are greater than a first threshold as being in a first sample group of a plurality of sample groups;

classify reconstructed luma samples that are less than the first threshold as being in a second sample group of the plurality of sample groups; and

predict chroma samples for the first block of video data by:

applying a first linear prediction model of two or more linear prediction models to the reconstructed luma samples in the first sample group;

applying a second linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the second sample group, the second linear prediction model being different than the first linear prediction model; and

determining the predicted chroma samples in the first block of video data based on the applied first linear prediction model and the applied second linear prediction model.

18. The apparatus of claim 17 , wherein the one or more processors are further configured to:

determine parameters for each of the two or more linear prediction models using luma samples and chroma samples from blocks of video data that neighbor the first block of video data.

19. The apparatus of claim 17 , wherein the first threshold is dependent on neighboring coded luma and chroma samples.

20. The apparatus of claim 17 , wherein the one or more processors are further configured to:

down-sample the reconstructed luma samples.

21. The apparatus of claim 17 , wherein the one or more processors are further configured to:

determine one of a plurality of down-sampling filters to use to down-sample the reconstructed luma samples;

down-sample the reconstructed luma samples using the determined down-sampling filter to produce down-sampled luma samples; and

predict chroma samples for the first block of video data using the down-sampled luma samples and the two or more linear prediction models.

22. The apparatus of claim 17 , wherein the one or more processors are further configured to:

determine whether chroma samples of a second block of video data are coded using a linear prediction model of the two or more linear prediction models;

in the case that the chroma samples of the second block of video data are not coded using the linear prediction model, the one or more processors are further configured to:

determine that a linear mode angular prediction mode is enabled;

apply an angular mode prediction pattern to the chroma samples of the second block of video data to produce first predicted chroma values;

apply a linear model prediction pattern to corresponding luma samples of the second block of video data to produce second predicted chroma values; and

determine a final block of predicted chroma values for the second block of video data by determining a weighted average of the first predicted chroma values and the second predicted chroma values.

23. The apparatus of claim 17 , wherein the one or more processors are further configured to:

determine a number of neighboring chroma blocks, relative to the first block of video data, that are coded using a linear prediction model coding mode; and

dynamically change a code word used to indicate a particular type of the linear model coding mode based on the determined number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode.

24. The apparatus of claim 23 , wherein to dynamically change the code word, the one or more processors are further configured to:

use a first symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being zero;

use a second symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being less than a threshold; and

use a third symbol mapping list based on the number of neighboring chroma blocks of the video data coded using the linear prediction model coding mode being greater than the threshold.

25. An apparatus configured to encode video data, the apparatus comprising:

a memory configured to receive a first block of video data; and

one or more processors configured to:

encode a block of luma samples for a first block of video data;

reconstruct the encoded block of luma samples to create reconstructed luma samples;

classify reconstructed luma samples that are greater than a first threshold as being in a first sample group of a plurality of sample groups;

classify reconstructed luma samples that are less than the first threshold as being in a second sample group of the plurality of sample groups; and

predict chroma samples for the first block of video data by:

applying a first linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the first sample group;

applying a second linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the second sample group, the second linear prediction model being different than the first linear prediction model; and

determining the predicted chroma samples in the first block of video data based on the applied first linear prediction model and the applied second linear prediction model.

26. An apparatus configured to decode video data, the apparatus comprising:

means for receiving an encoded block of luma samples for a first block of video data;

means for decoding the encoded block of luma samples to create reconstructed luma samples;

means for classifying reconstructed luma samples that are greater than a first threshold as being in a first sample group of a plurality of sample groups;

means for classifying reconstructed luma samples that are less than the first threshold as being in a second sample group of the plurality of sample groups; and

means for predicting chroma samples for the first block of video data by:

applying a first linear prediction model of two or more linear prediction models to the reconstructed luma samples in the first sample group;

applying a second linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the second sample group, the second linear prediction model being different than the first linear prediction model; and

determining the predicted chroma samples in the first block of video data based on the applied first linear prediction model and the applied second linear prediction model.

27. A non-transitory computer-readable storage medium storing instructions that, when executed, causes one or more processors configured to decode video data to:

receive an encoded block of luma samples for the first block of video data;

decode the encoded block of luma samples to create reconstructed luma samples;

classify reconstructed luma samples that are greater than a first threshold as being in a first sample group of a plurality of sample groups;

classify reconstructed luma samples that are less than the first threshold as being in a second sample group of the plurality of sample groups; and

predict chroma samples for the first block of video data by:

applying a first linear prediction model of two or more linear prediction models to the reconstructed luma samples in the first sample group;

applying a second linear prediction model of the two or more linear prediction models to the reconstructed luma samples in the second sample group, the second linear prediction model being different than the first linear prediction model; and

determining the predicted chroma samples in the first block of video data based on the applied first linear prediction model and the applied second linear prediction model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2017
From: ZHANG, KAI; CHEN, JIANLE; ZHANG, LI; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 043916/0589 →
Continuity (2)
Provisional Application 62395145 · Sep 15, 2016
Related Publication 20180077426A1 · Mar 15, 2018
Cited By (7)
US 12,278,948 US 12,278,998 US 12,382,015 US 12,537,963 US 12,634,498 US 12,641,284 US 12,641,487