IP Library › Granted Patent US 11,290,726
Granted Patent B2
US 11,290,726 · App. 16/781,751 · Granted Mar 29, 2022

Inter-intra prediction mode for video data

Inventors: Luong Pham Van (San Diego, CA); Geert Van der Auwera (Del Mar, CA); Adarsh Krishnan Ramasubramonian (Irvine, CA); Marta Karczewicz (San Diego, CA)
Assignee: Qualcomm Incorporated
H04N19/159H04N19/176H04N19/186H04N19/1883
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,290,726
App. No.
16/781,751
Granted
Mar 29, 2022
Kind
B2
Abstract

An example device for coding (encoding or decoding) video data includes a memory for storing video data and one or more processors implemented in circuitry and configured to form an inter-prediction block for a current chrominance block of the video data; form an intra-prediction block for the current chrominance block of the video data; determine a number of neighboring blocks to a luminance block corresponding to the current chrominance block that are intra-prediction coded; determine a first weight and a second weight according to the number of neighboring blocks that are intra-prediction coded; apply the first weight to the inter-prediction block and the second weight to the intra-prediction block; combine the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current chrominance block; and code the current chrominance block using the prediction block.

Claims (122)

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

forming an inter-prediction block for a current luminance block of video data;

forming an intra-prediction block for the current luminance block of the video data; determining whether a first neighboring block to the current luminance block is intra-prediction coded;

determining whether a second neighboring block to the current luminance block is intra-prediction coded;

determining, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

applying the first weight to the inter-prediction block and the second weight to the intra-prediction block;

combining the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

coding the current luminance block using the prediction block, wherein determining whether the first neighboring block is intra-prediction coded comprises determining whether the first neighboring block is coded according to a first intra-prediction mode other than intra-block copy or combined intra-inter prediction, and wherein determining whether the second neighboring block is intra-prediction coded comprises determining whether the second neighboring block is coded using a second intra-prediction mode other than intra-block copy or combined intra-inter prediction.

2. A method of coding video data, the method comprising:

forming an inter-prediction block for a current luminance block of video data;

forming an intra-prediction block for the current luminance block of the video data;

determining whether a first neighboring block to the current luminance block is intra- prediction coded;

determining whether a second neighboring block to the current luminance block is intra-prediction coded;

determining, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

applying the first weight to the inter-prediction block and the second weight to the intra-prediction block;

combining the first weighted inter-prediction block and the second weighted intra- prediction block to form a prediction block for the current luminance block; and

coding the current luminance block using the prediction block, wherein determining whether the first neighboring block is intra-prediction coded comprises determining whether the first neighboring block is coded according to a first intra-prediction mode other than combined intra-inter prediction, and wherein determining whether the second neighboring block is intra-prediction coded comprises determining whether the second neighboring block is coded using a second intra-prediction mode other than combined inter-intra prediction.

3. The method of claim 1 , wherein determining the first weight and the second weight further comprises determining the first weight and the second weight according to a luminance block of one of the first neighboring block or the second neighboring block based on the one of the first neighboring block or the second neighboring block having single luma-chroma coding tree or dual luma-chroma coding tree enabled.

4. The method of claim 1 , wherein the first neighboring block comprises an above-neighboring block, and wherein the second neighboring block comprises a left-neighboring block.

5. The method of claim 1 , wherein determining the first weight and the second weight comprises determining the first weight and the second weight according to whether a merge indexed block is predicted using uni-directional prediction or bi-directional prediction.

6. The method of claim 1 , wherein determining the first weight and the second weight comprises determining the first weight and the second weight according to a size of the current luminance block.

7. The method of claim 1 , further comprising coding data of a bitstream representing the first weight and the second weight.

8. The method of claim 7 , wherein the data of the bitstream comprises at least one of a sequence parameter set, a picture parameter set, an adaptation parameter set, a video parameter set, a picture header, a slice header, a tile header, or a block header.

9. The method of claim 1 , wherein coding the current luminance block comprises decoding the current luminance block, and wherein the method further comprises:

decoding a residual block for the current luminance block; and

combining samples of the residual block with samples of the prediction block.

10. The method of claim 1 , wherein coding the current luminance block comprises encoding the current luminance block, comprising:

subtracting samples of the prediction block from samples of the current luminance block to form a residual block; and

encoding the residual block.

11. A device for coding video data, the device comprising:

a memory for storing video data; and

one or more processors implemented in circuitry and configured to:

form an inter-prediction block for a current luminance block of the video data;

form an intra-prediction block for the current luminance block of the video data;

determine whether a first neighboring block to the current luminance block is intra-prediction coded;

determine whether a second neighboring block to the current luminance block is intra-prediction coded;

determine, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

apply the first weight to the inter-prediction block and the second weight to the intra-prediction block;

combine the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

code the current luminance block using the prediction block, wherein the one or more processors is configured to determine whether the first neighboring block is coded according to a first intra-prediction mode other than intra-block copy or combined intra-inter prediction and to determine whether the second neighboring block is coded using a second intra-prediction mode other than intra-block copy or combined intra-inter prediction.

12. A device for coding video data, the device comprising:

a memory for storing video data; and

one or more processors implemented in circuitry and configured to:

form an inter-prediction block for a current luminance block of the video data;

form an intra-prediction block for the current luminance block of the video data;

determine whether a first neighboring block to the current luminance block is intra-prediction coded;

determine whether a second neighboring block to the current luminance block is intra-prediction coded;

determine, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

apply the first weight to the inter-prediction block and the second weight to the intra-prediction block;

combine the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

code the current luminance block using the prediction block, wherein the one or more processors is configured to determine whether the first neighboring block is coded according to a first intra-prediction mode other than combined intra-inter prediction, and to determine whether the second neighboring block is coded using a second intra-prediction mode other than combined inter-intra prediction.

13. The device of claim 12 , wherein the one or more processors is configured to determine the first weight and the second weight according to a luminance block of one of the first neighboring block or the second neighboring block based on the one of the first neighboring block or the second neighboring block having single luma-chroma coding tree or dual luma-chroma coding tree enabled.

14. The device of claim 11 , wherein the first neighboring block comprises an above-neighboring block, and wherein the second neighboring block comprises a left-neighboring block.

15. The device of claim 11 , wherein the one or more processors is configured to determine the first weight and the second weight according to whether a merge indexed block is predicted using uni-directional prediction or bi-directional prediction.

16. The device of claim 11 , wherein the one or more processors is configured to determine the first weight and the second weight according to a size of the current luminance block.

17. The device of claim 11 , wherein the one or more processors is further configured to code data of a bitstream representing the first weight and the second weight.

18. The device of claim 17 , wherein the data of the bitstream comprises at least one of a sequence parameter set, a picture parameter set, an adaptation parameter set, a video parameter set, a picture header, a slice header, a tile header, or a block header.

19. The device of claim 11 , wherein the one or more processors is configured to decode the current luminance block, and to decode the current luminance block, the one or more processors is configured to:

decode a residual block for the current luminance block; and

combine samples of the residual block with samples of the prediction block.

20. The device of claim 11 , wherein the one or more processors is configured to encode the current luminance block, and to encode the current luminance block, the one or more processors is configured to:

subtract samples of the prediction block from samples of the current luminance block to form a residual block; and

encode the residual block.

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

form an inter-prediction block for a current luminance block of video data;

form an intra-prediction block for the current luminance block of the video data; determine whether a first neighboring block to the current luminance block is intra-prediction coded;

determine whether a second neighboring block to the current luminance block is intra- prediction coded;

determine, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

apply the first weight to the inter-prediction block and the second weight to the intra-prediction block;

combine the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

code the current luminance block using the prediction block, wherein the instructions that cause the processor to determine whether the first neighboring block is intra-prediction coded comprise instructions that cause the processor to determine whether the first neighboring block is coded according to a first intra-prediction mode other than intra-block copy or combined intra-inter prediction, and wherein the instructions that cause the processor to determine whether the second neighboring block is intra-prediction coded comprise instructions that cause the processor to determine whether the second neighboring block is coded using a second intra-prediction mode other than intra-block copy or combined intra-inter prediction.

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

form an inter-prediction block for a current luminance block of video data;

form an intra-prediction block for the current luminance block of the video data;

determine whether a first neighboring block to the current luminance block is intra-prediction coded;

determine whether a second neighboring block to the current luminance block is intra-prediction coded;

determine, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

apply the first weight to the inter-prediction block and the second weight to the intra-prediction block;

combine the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

code the current luminance block using the prediction block, wherein the instructions that cause the processor to determine whether the first neighboring block is intra-prediction coded comprise instructions that cause the processor to determine whether the first neighboring block is coded according to a first intra-prediction mode other than combined intra-inter prediction, and wherein the instructions that cause the processor to determine whether the second neighboring block is intra-prediction coded comprise instructions that cause the processor to determine whether the second neighboring block is coded using a second intra-prediction mode other than combined inter-intra prediction.

23. The non-transitory computer-readable storage medium of claim 21 , wherein the instructions that cause the processor to determine the first weight and the second weight further comprise instructions that cause the processor to determine the first weight and the second weight according to a luminance block of one of the first neighboring block or the second neighboring block based on the one of the first neighboring block or the second neighboring block having single luma-chroma coding tree or dual luma-chroma coding tree enabled.

24. The non-transitory computer-readable storage medium of claim 21 , wherein the first neighboring block comprises an above-neighboring block, and wherein the second neighboring block comprises a left-neighboring block.

25. The non-transitory computer-readable storage medium of claim 21 , wherein the instructions that cause the processor to determine the first weight and the second weight comprise instructions that cause the processor to determine the first weight and the second weight according to whether a merge indexed block is predicted using uni-directional prediction or bi-directional prediction.

26. The non-transitory computer-readable storage medium of claim 21 , wherein the instructions that cause the processor to determine the first weight and the second weight comprise instructions that cause the processor to determine the first weight and the second weight according to a size of the current luminance block.

27. The non-transitory computer-readable storage medium of claim 21 , further comprising instructions that cause the processor to code data of a bitstream representing the first weight and the second weight.

28. The non-transitory computer-readable storage medium of claim 27 , wherein the data of the bitstream comprises at least one of a sequence parameter set, a picture parameter set, an adaptation parameter set, a video parameter set, a picture header, a slice header, a tile header, or a block header.

29. The non-transitory computer-readable storage medium of claim 21 , wherein the instructions that cause the processor to code the current luminance block comprise instructions that cause the processor to decode the current luminance block, comprising instructions that cause the processor to:

decode a residual block for the current luminance block; and

combine samples of the residual block with samples of the prediction block.

30. The non-transitory computer-readable storage medium of claim 21 , wherein the instructions that cause the processor to code the current luminance block comprise instructions that cause the processor to encode the current luminance block, comprising instructions that cause the processor to:

subtract samples of the prediction block from samples of the current luminance block to form a residual block; and

encode the residual block.

31. A device for coding video data, the device comprising:

means for forming an inter-prediction block for a current luminance block of video data;

means for forming an intra-prediction block for the current luminance block of the video data;

means for determining whether a first neighboring block to the current luminance block is intra-prediction coded;

means for determining whether a second neighboring block to the current luminance block is intra-prediction coded;

means for determining, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

means for applying the first weight to the inter-prediction block and the second weight to the intra-prediction block;

means for combining the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

means for coding the current luminance block using the prediction block, wherein the means for determining whether the first neighboring block is intra- prediction coded comprises means for determining whether the first neighboring block is coded according to a first intra-prediction mode other than intra-block copy or combined intra-inter prediction, and wherein the means for determining whether the second neighboring block is intra-prediction coded comprises means for determining whether the second neighboring block is coded using a second intra-prediction mode other than intra-block copy or combined intra-inter prediction.

32. A device for coding video data, the device comprising:

means for forming an inter-prediction block for a current luminance block of video data;

means for forming an intra-prediction block for the current luminance block of the video data;

means for determining whether a first neighboring block to the current luminance block is intra-prediction coded;

means for determining whether a second neighboring block to the current luminance block is intra-prediction coded;

means for determining, based on whether at least one of the first neighboring block or the second neighboring block is intra-prediction coded, a first weight and a second weight;

means for applying the first weight to the inter-prediction block and the second weight to the intra-prediction block;

means for combining the first weighted inter-prediction block and the second weighted intra-prediction block to form a prediction block for the current luminance block; and

means for coding the current luminance block using the prediction block, wherein the means for determining whether the first neighboring block is intra-prediction coded comprises means for determining whether the first neighboring block is coded according to a first intra-prediction mode other than combined intra-inter prediction, and wherein the means for determining whether the second neighboring block is intra-prediction coded comprises means for determining whether the second neighboring block is coded using a second intra-prediction mode other than combined inter-intra prediction.

33. The device of claim 31 , wherein the means for determining the first weight and the second weight further comprises means for determining the first weight and the second weight according to a luminance block of one of the first neighboring block or the second neighboring block based on the one of the first neighboring block or the second neighboring block having single luma-chroma coding tree or dual luma-chroma coding tree enabled.

34. The device of claim 31 , wherein the first neighboring block comprises an above-neighboring block, and wherein the second neighboring block comprises a left-neighboring block.

35. The device of claim 31 , wherein the means for determining the first weight and the second weight comprises means for determining the first weight and the second weight according to whether a merge indexed block is predicted using uni-directional prediction or bi-directional prediction.

36. The device of claim 31 , wherein the means for determining the first weight and the second weight comprises means for determining the first weight and the second weight according to a size of the current luminance block.

37. The device of claim 31 , further comprising means for coding data of a bitstream representing the first weight and the second weight.

38. The device of claim 37 , wherein the data of the bitstream comprises at least one of a sequence parameter set, a picture parameter set, an adaptation parameter set, a video parameter set, a picture header, a slice header, a tile header, or a block header.

39. The device of claim 31 , wherein the means for coding the current luminance block comprises means for decoding the current luminance block that comprises:

means for decoding a residual block for the current luminance block; and

means for combining samples of the residual block with samples of the prediction block.

40. The device of claim 31 , wherein the means for coding the current luminance block comprises means for encoding the current luminance block, comprising:

means for subtracting samples of the prediction block from samples of the current luminance block to form a residual block; and

means for encoding the residual block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2020
From: PHAM VAN, LUONG; VAN DER AUWERA, GEERT; RAMASUBRAMONIAN, ADARSH KRISHNAN; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 052964/0184 →
Continuity (2)
Provisional Application 62802515 · Feb 7, 2019
Related Publication 20200260091A1 · Aug 13, 2020