IP Library Granted Patent US 11,638,039
Granted Patent B2
US 11,638,039 · App. 17/373,019 · Granted Apr 25, 2023

Simplification for cross-component linear model prediction mode

Inventors: Liang Zhao (Sunnyvale, CA); Xin Zhao (San Diego, CA); Xiang Li (Los Gatos, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/80H04N19/105H04N19/117H04N19/124H04N19/132H04N19/176H04N19/186
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,638,039
App. No.
17/373,019
Granted
Apr 25, 2023
Kind
B2
Abstract

A method and apparatus for encoding or decoding a video sequence includes applying a Cross-Component Linear Model (CCLM) to a video sequence, and applying an interpolation filter in the Cross-Component Linear Model (CCLM), wherein the interpolation filter is dependent upon a YUV format of the video sequence.

Claims (42)

1. A device for encoding or decoding a video sequence, the device comprising:

at least one memory configured to store program code;

at least one processor configured to read the program code and operate as instructed by the program code, the program code including:

first encoding or decoding code configured to cause the at least one processor to apply a Cross-Component Linear Model (CCLM) to a video sequence and apply an interpolation filter in the Cross-Component Linear Model (CCLM),

first obtaining code configured to cause the at least one processor to obtain an absolute difference between maximum and minimum values of a plurality of neighboring samples of a first one among a luma block and related to the video sequence;

dividing code configured to cause the at least one processor to divide the absolute difference into intervals;

first performing code configured to cause the at least one processor to perform a non-uniform quantization of the absolute difference;

second obtaining code configured to cause the at least one processor to obtain a floor value based on the absolute difference of which the non-uniform quantization is performed;

third obtaining code configured to cause the at least one processor to obtain a derived value by using at least the absolute difference and the intervals based on a look-up table; and

predicting code configured to cause the at least one processor to predict a sample of a different one among a chroma block related to the video sequence, based on the derived value,

wherein the interpolation filter is dependent upon a YUV format of the video sequence.

2. The device of claim 1 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to use taps of the interpolation filter applied, in the Cross-Component Linear Model (CCLM), that are dependent upon the YUV format of the video sequence.

3. The device of claim 1 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to set the format of the interpolation filter, applied in the Cross-Component Linear Model (CCLM), to be the same for the format of the video sequence when the video sequence includes a YUV format of 4:4:4: or 4:2:2, and set the format of the interpolation filter to be different than the format of the video sequence when the video sequence includes a YUV format of 4:2:0.

4. The device of claim 2 , wherein the first encoding or decoding code is configured such that the taps of the interpolation filter used in the Cross-Component Linear Model (CCLM) are in the same form as the YUV format of the video sequence.

5. The device of claim 1 , wherein the first encoding or decoding code further comprises code configured to cause the at least one processor to use taps of the interpolation filter applied, in the Cross-Component Linear Model (CCLM), that are different for different YUV formats of the video sequence.

6. The device of claim 1 , wherein the first encoding or decoding code is configured to apply the Cross-Component Linear Model (CCLM) and apply the interpolation filter in the Cross-Component Linear Model (CCLM) by setting the interpolation filter to be different for top and left neighboring luma reconstructed samples.

7. The device of claim 6 , wherein the first encoding or decoding code is configured to apply the Cross-Component Linear Model (CCLM) and apply the interpolation filter in the Cross-Component Linear Model (CCLM) to the top and left neighboring luma reconstructed samples, such that the interpolation filter is dependent on the YUV format of the video sequence.

8. The device of claim 1 , wherein the first encoding or decoding code is further configured to cause the at least one processor to set a number of lines in top neighboring luma samples and a number of columns in left neighboring luma samples used in the Cross-Component Linear Model (CCLM) to be dependent on the YUV format of the video sequence.

9. The device of claim 8 , wherein the first encoding or decoding code is further configured to cause the at least one processor to use at least one of one row in a top neighboring region and one column in a left neighboring region in the Cross-Component Linear Model (CCLM) for video sequences having one of a YUV format of 4:4:4 or 4:2:2.

10. The device of claim 8 , wherein the first encoding or decoding code is further configured to cause the at least one processor to use at least one of one row in a top neighboring region and at least two columns in a left neighboring region in the Cross-Component Linear Model (CCLM) for video sequences having a YUV format of 4:2:2.

11. The device of claim 1 , wherein the first obtaining code is further configured to cause the at least one processor to obtain the maximum and minimum values, using N neighboring sample pairs of the luma block and the chroma block, N being a positive integer of one among 4, 8 and 16,

wherein each of the N neighboring sample pairs comprises a first neighboring sample at a first location neighboring the first one among the luma block and the chroma block, and a second neighboring sample at a second location neighboring the second one among the luma block and the chroma block and corresponding to the first location neighboring the first one among the luma block and the chroma block.

12. The device of claim 11 , wherein the first obtaining code is further configured to cause the at least one processor to select the first neighboring sample by scanning the plurality of neighboring samples from bottom to top and/or from right to left.

13. The device of claim 1 , wherein the program code further comprises:

fourth obtaining code configured to cause the at least one processor to obtain a scaling factor and an offset of a linear model for local illumination compensation (LIC) of a current block, using N neighboring sample pairs of the current block and a reference block, N being a positive integer of one among 4, 8 and 16,

wherein each of the N neighboring sample pairs comprises a first neighboring sample at a first location neighboring the current block, and a second neighboring sample at a second location neighboring the reference block and corresponding to the first location neighboring the current block; and

second performing code configured to cause the at least one processor to perform the local illumination compensation (LIC) of the current block, using the obtained scaling factor and the obtained offset.

14. The device of claim 13 , wherein N is dependent on a block size of the current block.

15. A non-transitory computer-readable medium storing program code, the program code comprising one or more instructions that, when executed by one or more processors of a device, cause the one or more processors to:

apply a Cross-Component Linear Model (CCLM) to a video sequence and apply an interpolation filter in the Cross-Component Linear Model (CCLM),

obtain an absolute difference between maximum and minimum values of a plurality of neighboring samples of a first one among a luma block and related to the video sequence;

divide the obtained absolute difference into intervals;

perform a non-uniform quantization of the obtained absolute difference;

obtain a floor value based on the absolute difference of which the non-uniform quantization is performed;

obtain a derived value by using at least the absolute difference and the intervals based on a look-up table; and

predict a sample of a different one among a chroma block related to the video sequence, based on the derived value,

wherein the interpolation filter is dependent upon a YUV format of the video sequence.

16. The non-transitory computer-readable medium storing program code of claim 15 , wherein in the applying of the interpolation filter in the Cross-Component Linear Model (CCLM), the program code further comprises one or more instructions that, when executed by the one or more processors, causes the one or more processors to use taps of the interpolation filter that are dependent upon the YUV format of the video sequence.

17. The non-transitory computer-readable medium storing program code of claim 15 , wherein in the application of the Cross-Component Linear Model (CCLM) taps of the interpolation filter are used in the Cross-Component Linear Model (CCLM) that are in the same form as the YUV format of the video sequence.

18. The non-transitory computer-readable medium storing program code of claim 15 , wherein in the application of the Cross-Component Linear Model (CCLM) the format of the interpolation filter is set to be the same for the format of the video sequence when the video sequence includes a YUV format of 4:4:4: or 4:2:2, and the format of the interpolation filter is set to be different than the format of the video sequence when the video sequence includes a YUV format of 4:2:0.

19. The non-transitory computer-readable medium storing program code of claim 15 , wherein in the application of the Cross-Component Linear Model (CCLM) taps of the interpolation filter are used, which are different for different YUV formats of the video sequence.

20. The non-transitory computer-readable medium storing program code of claim 15 , wherein in the application of the Cross-Component Linear Model (CCLM) the interpolation filter is set to be different for top and left neighboring luma reconstructed samples.

Continuity (6)
Continuation 16523258 · Jul 26, 2019
Provisional Application 62789992 · Jan 8, 2019
Provisional Application 62788729 · Jan 4, 2019
Provisional Application 62785678 · Dec 27, 2018
Provisional Application 62781316 · Dec 18, 2018
Related Publication 20210344966A1 · Nov 4, 2021
Cited By (1)
US 12,200,218