IP Library Granted Patent US 11,025,903
Granted Patent B2
US 11,025,903 · App. 15/868,821 · Granted Jun 1, 2021

Coding video data using derived chroma mode

Inventors: Li Zhang (San Diego, CA); Wei-Jung Chien (San Diego, CA); Xin Zhao (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: Qualcomm Incorporated
H04N19/103H04N19/11H04N19/136H04N19/157H04N19/186H04N19/593
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,025,903
App. No.
15/868,821
Granted
Jun 1, 2021
Kind
B2
Abstract

An example device for decoding video data includes a memory for storing video data, and one or more processors implemented in circuitry and configured to construct an intra-prediction candidate list for a current chroma block of the video data indicating candidate intra-prediction modes for the current chroma block, wherein the intra-prediction candidate list indicates a subset of allowed luminance (luma) candidate intra-prediction modes, determine cost (e.g., sum of absolute transform difference (SATD)) values for each of the candidate intra-prediction modes in the intra-prediction candidate list for the current chroma block, and generate a prediction block for the current chroma block using one of the candidate intra-prediction modes indicated by the intra-prediction candidate list according to the cost values (e.g., the candidate intra-prediction mode having the lowest cost value).

Claims (64)

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

constructing, during a video decoding process, an intra-prediction candidate list for a current chroma block of video data indicating candidate intra-prediction modes for the current chroma block, wherein constructing the intra-prediction candidate list comprises adding a subset of allowed luminance (luma) candidate intra-prediction modes, an intra-prediction mode of a luma block corresponding to the current chroma block, and an intra-prediction mode of a neighboring block to the current chroma block to the intra-prediction candidate list;

determining, during the video decoding process, a respective cost value for each of the candidate intra-prediction modes indicated by the intra-prediction candidate list for the current chroma block, the cost values representing differences between a reconstructed version of the luma block and prediction blocks for the reconstructed version of the luma block generated using the respective intra-prediction modes, wherein determining the cost values comprises calculating the cost values for the intra-prediction candidate list once for the current chroma block, without modifying the intra-prediction candidate list after calculating any of the cost values for the intra-prediction candidate list for the current chroma block and without performing an iterative search to determine a decoder-side direct mode (DDM) for the current chroma block;

generating, during the video decoding process, a prediction block for the current chroma block using one of the candidate intra-prediction modes indicated by the intra-prediction candidate list according to the cost values; and

decoding, during the video decoding process, the current chroma block using the prediction block.

2. The method of claim 1 , wherein the cost values comprise sum of absolute transform difference (SATD) values.

3. The method of claim 1 , wherein generating the prediction block comprises generating the prediction block using the one of the candidate intra-prediction modes indicated by the intra-prediction candidate list having the lowest cost value.

4. The method of claim 1 , wherein constructing the intra-prediction candidate list comprises adding one or more default intra-prediction modes to the intra-prediction candidate list, the default intra-prediction modes comprising DC mode, planar mode, horizontal mode, and vertical mode.

5. The method of claim 1 , wherein constructing the intra-prediction candidate list comprises:

adding a first set of one or more angular intra-prediction modes to the intra-prediction candidate list corresponding to angular intra-prediction modes of one or more neighboring blocks to the current chroma block or a luma block co-located with the current chroma block; and

adding a second set of one or more angular intra-prediction modes to the intra-prediction candidate list, each of the second set of one or more angular intra-prediction modes having an angle close to an angle of at least one of the intra-prediction modes of the first set.

6. The method of claim 5 , wherein adding the second set of one or more angular intra-prediction modes comprises adding angular intra-prediction modes to the intra-prediction candidate list having angles within one angular unit of an angle of at least one of the intra-prediction modes of the first set.

7. The method of claim 1 , wherein constructing the intra-prediction candidate list comprises determining candidate intra-prediction modes to add to the intra-prediction candidate list according to one or more of an intra-prediction mode of a luma block co-located with the current chroma block, a size of the current chroma block, a transform type used to transform samples of the current chroma block, or decoded transform coefficients for the current chroma block.

8. The method of claim 1 , wherein the neighboring block comprises one of a left-neighboring block, an above-neighboring block, an above-left neighboring block, an above-right neighboring block, or a below-left neighboring block.

9. The method of claim 1 , wherein determining the cost values comprises:

downsampling a reconstructed luma block co-located with the current chroma block; and

for each candidate intra-prediction mode in the intra-prediction candidate list:

generating a prediction block using the candidate intra-prediction mode corresponding to the downsampled reconstructed luma block; and

calculating the cost value for the candidate intra-prediction mode between the generated prediction block and the downsampled reconstructed luma block.

10. The method of claim 9 , wherein downsampling comprises selecting a downsampling ratio for the luma block from a plurality of different available downsampling ratios.

11. The method of claim 1 , wherein determining the cost values comprises:

generating a reference block from one or more neighboring chroma blocks indicated by a template; and

for each candidate intra-prediction mode in the intra-prediction candidate list:

generating a prediction block of the reference block using the candidate intra-prediction mode; and

calculating the cost value for the candidate intra-prediction mode between the generated prediction block and the reference block.

12. The method of claim 1 , further comprising decoding a syntax element having a value indicating whether the current chroma block is to be predicted using cross-component linear mode (CCLM) or decoder-side derived direct mode (DDM).

13. The method of claim 12 , wherein the value of the syntax element further indicates whether the current chroma block is to be predicted using direct mode from a co-located luma block.

14. The method of claim 1 , wherein constructing the intra-prediction candidate list consists of adding cross-component linear mode (CCLM) and a derived direction mode to the intra-prediction candidate list.

15. The method of claim 1 , wherein generating the prediction block for the current chroma block comprises generating a first prediction block for a first sub-block of the current chroma block using the intra-prediction candidate list having the lowest cost value, the method further comprising generating a second prediction block for a second sub-block of the current chroma block using a different intra-prediction mode.

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

a memory for storing video data; and

one or more processors implemented in circuitry and configured to:

construct, during a video decoding process, an intra-prediction candidate list for a current chroma block of the video data indicating candidate intra-prediction modes for the current chroma block, wherein to construct the intra-prediction candidate list, the one or more processors are configured to add a subset of allowed luminance (luma) candidate intra-prediction modes, an intra-prediction mode of a luma block corresponding to the current chroma block, and an intra-prediction mode of a neighboring block to the current chroma block to the intra-prediction candidate list;

determine, during the video decoding process, a respective cost value for each of the candidate intra-prediction modes indicated by the intra-prediction candidate list for the current chroma block, the cost values representing differences between a reconstructed version of the luma block and prediction blocks for the reconstructed version of the luma block generated using the respective intra-prediction modes, wherein to determine the cost values, the one or more processors are configured to calculate the cost values for the intra-prediction candidate list once for the current chroma block, without modifying the intra-prediction candidate list after calculating any of the cost values for the intra-prediction candidate list for the current chroma block and without performing an iterative search to determine a decoder-side direct mode (DDM) for the current chroma block;

generate, during the video decoding process, a prediction block for the current chroma block using one of the candidate intra-prediction modes indicated by the intra-prediction candidate list according to the cost values; and

decode, during the video decoding process, the current chroma block using the prediction block.

17. The video decoding device of claim 16 , wherein to construct the intra-prediction candidate list, the one or more processors are configured to add one or more default intra-prediction modes to the intra-prediction candidate list, the default intra-prediction modes comprising DC mode, planar mode, horizontal mode, and vertical mode.

18. The video decoding device of claim 16 , wherein to construct the intra-prediction candidate list, the one or more processors are configured to:

add a first set of one or more angular intra-prediction modes to the intra-prediction candidate list corresponding to angular intra-prediction modes of one or more neighboring blocks to the current chroma block or a luma block co-located with the current chroma block; and

add a second set of one or more angular intra-prediction modes to the intra-prediction candidate list, each of the second set of one or more angular intra-prediction modes having an angle close to an angle of at least one of the intra-prediction modes of the first set.

19. The video decoding device of claim 16 , wherein to construct the intra-prediction candidate list, the one or more processors are configured to determine candidate intra-prediction modes to add to the intra-prediction candidate list according to one or more of an intra-prediction mode of a luma block co-located with the current chroma block, a size of the current chroma block, a transform type used to transform samples of the current chroma block, or decoded transform coefficients for the current chroma block.

20. The video decoding device of claim 16 , wherein to determine the cost values, the one or more processors are configured to:

downsample a reconstructed luma block co-located with the current chroma block; and

for each candidate intra-prediction mode in the intra-prediction candidate list:

generate a prediction block using the candidate intra-prediction mode corresponding to the downsampled reconstructed luma block; and

calculate the cost value for the candidate intra-prediction mode between the generated prediction block and the downsampled reconstructed luma block.

21. The video decoding device of claim 16 , wherein to determine the cost values, the one or more processors are configured to:

generate a reference block from one or more neighboring chroma blocks indicated by a template; and

for each candidate intra-prediction mode in the intra-prediction candidate list:

generate a prediction block of the reference block using the candidate intra-prediction mode; and

calculate the cost value for the candidate intra-prediction mode between the generated prediction block and the reference block.

22. The video decoding device of claim 16 , wherein the one or more processors are configured to generate a first prediction block for a first sub-block of the current chroma block using the intra-prediction candidate list having the lowest cost value, and to generate a second prediction block for a second sub-block of the current chroma block using a different intra-prediction mode.

23. The video decoding device of claim 16 , further comprising a display configured to display a picture of the video data.

24. The video decoding device of claim 16 , wherein the video decoding device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

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

means for constructing, during a video decoding process, an intra-prediction candidate list for a current chroma block of video data indicating candidate intra-prediction modes for the current chroma block, wherein the means for constructing the intra-prediction candidate list comprises means for adding a subset of allowed luminance (luma) candidate intra-prediction modes, an intra-prediction mode of a luma block corresponding to the current chroma block, and an intra-prediction mode of a neighboring block to the current chroma block to the intra-prediction candidate list;

means for determining, during the video decoding process, a respective cost value for each of the candidate intra-prediction modes indicated by the intra-prediction candidate list for the current chroma block, the cost values representing differences between a reconstructed version of the luma block and prediction blocks for the reconstructed version of the luma block generated using the respective intra-prediction modes, wherein the means for determining the cost values comprises means for calculating the cost values for the intra-prediction candidate list once for the current chroma block, without modifying the intra-prediction candidate list after calculating any of the cost values for the intra-prediction candidate list for the current chroma block and without performing an iterative search to determine a decoder-side direct mode (DDM) for the current chroma block;

means for generating, during the video decoding process, a prediction block for the current chroma block using one of the candidate intra-prediction modes indicated by the intra-prediction candidate list according to the cost values; and

means for decoding, during the video decoding process, the current chroma block using the prediction block.

26. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

construct, during a video decoding process, an intra-prediction candidate list for a current chroma block of video data indicating candidate intra-prediction modes for the current chroma block, wherein the instructions that cause the processor to construct the intra-prediction candidate list comprise instructions that cause the processor to add a subset of allowed luminance (luma) candidate intra-prediction modes, an intra-prediction mode of a luma block corresponding to the current chroma block, and an intra-prediction mode of a neighboring block to the current chroma block to the intra-prediction candidate list;

determine, during the video decoding process, sum of absolute transform difference (SATD) values for each of the candidate intra-prediction modes in the intra-prediction candidate list for the current chroma block, the cost values representing differences between a reconstructed version of the luma block and prediction blocks for the reconstructed version of the luma block generated using the respective intra-prediction modes, wherein the instructions that cause the processor to determine the cost values comprise instructions that cause the processor to calculate the cost values for the intra-prediction candidate list once for the current chroma block, without modifying the intra-prediction candidate list after calculating any of the cost values for the intra-prediction candidate list for the current chroma block and without performing an iterative search to determine a decoder-side direct mode (DDM) for the current chroma block;

generate, during the video decoding process, a prediction block for the current chroma block using one of the candidate intra-prediction modes indicated by the intra-prediction candidate list according to the cost values; and

decode, during the video decoding process, the current chroma block using the prediction block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2018
From: ZHANG, LI; CHIEN, WEI-JUNG; ZHAO, XIN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 044847/0341 →
Continuity (2)
Provisional Application 62446270 · Jan 13, 2017
Related Publication 20180205946A1 · Jul 19, 2018
Cited By (3)
US 12,335,513 US 12,621,465 US 12,701,250