IP Library Granted Patent US 11,277,644
Granted Patent B2
US 11,277,644 · App. 16/459,024 · Granted Mar 15, 2022

Combining mode dependent intra smoothing (MDIS) with intra interpolation filter switching

Inventors: Geert Van der Auwera (Del Mar, CA); Adarsh Krishnan Ramasubramonian (Irvine, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/82H04N19/105H04N19/176
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,277,644
App. No.
16/459,024
Granted
Mar 15, 2022
Kind
B2
Abstract

A video coder is configured to determine whether a condition is true for a block of a current picture of the video data. Based on the condition being true for the block, the video coder may apply a non-smoothing interpolation filter to unfiltered reference samples of the first block to generate predictive samples of the block. Based on the condition being false for the block, the video coder may apply a smoothing interpolation filter to unfiltered reference samples of the second block to generate predictive samples of the second block.

Claims (44)

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

determining an intra mode difference for a block of a current picture of the video data, wherein determining the intra mode difference for the block comprises determining the intra mode difference for the block as a minimum of: (1) an absolute value of a difference between an intra mode index for the block and an intra mode index of a horizontal intra prediction mode, and (2) an absolute value of a difference between the intra mode index for the block and an intra mode index of a vertical intra prediction mode;

determining, based at least in part on a comparison of the intra mode difference for the block and a threshold, which one of a non-smoothing interpolation filter and a smoothing interpolation filter to apply to unfiltered reference samples of the block;

based on the determination, applying the non-smoothing interpolation filter or the smoothing interpolation filter to the unfiltered reference samples of the block to generate predictive samples of the block; and

reconstructing the block based on the predictive samples of the block.

2. The method of claim 1 , wherein determining which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block comprises determining, based on the comparison of the intra mode difference for the block and the threshold and based on one or more additional conditions, which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block.

3. The method of claim 2 , wherein the one or more additional conditions include one or more of: dependencies on luma or chroma, usage of a position dependent intra prediction combination tool, or usage of a non-separable secondary transform.

4. The method of claim 1 , wherein:

determining which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block comprises determining based on the comparison of the intra mode difference for the block and the threshold and based on a property of interpolation filters used in one or more neighboring blocks of the block, which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block.

5. The method of claim 1 , wherein:

determining which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block comprises determining based on the comparison of the intra mode difference for the block and the threshold and based on whether bidirectional intra prediction coding is applied for the block, which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block.

6. The method of claim 1 , wherein the smoothing interpolation filter is a Gaussian interpolation filter and the non-smoothing interpolation filter is a cubic interpolation filter.

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

determining an intra mode difference for a block of a current picture of the video data, wherein determining the intra mode difference for the block comprises determining the intra mode difference for the block as a minimum of: (1) an absolute value of a difference between an intra mode index for the block and an intra mode index of a horizontal intra prediction mode, and (2) an absolute value of a difference between the intra mode index for the block and an intra mode index of a vertical intra prediction mode;

determining, based at least in part on a comparison of the intra mode difference for the block and a threshold, which one of a non-smoothing interpolation filter and a smoothing interpolation filter to apply to unfiltered reference samples of the block;

based on the determination, applying the non-smoothing interpolation filter or the smoothing interpolation filter to the unfiltered reference samples of the block to generate predictive samples of the block; and

generating residual data for the block based on the predictive samples of the block.

8. The method of claim 7 , wherein the smoothing interpolation filter is a Gaussian interpolation filter and the non-smoothing interpolation filter is a cubic interpolation filter.

9. A device for encoding or decoding video data, the device comprising:

a memory storing the video data; and

one or more processors configured to:

determine an intra mode difference for a block of a current picture of the video data, wherein determining the intra mode difference for the block comprises determining the intra mode difference for the block as a minimum of: (1) an absolute value of a difference between an intra mode index for the block and an intra mode index of a horizontal intra prediction mode, and (2) an absolute value of a difference between the intra mode index for the block and an intra mode index of a vertical intra prediction mode;

determine, based at least in part on a comparison of the intra mode difference for the block and a threshold, which one of a non-smoothing interpolation filter and a smoothing interpolation filter to apply to unfiltered reference samples of the block; and

based on the determination, apply the non-smoothing interpolation filter or the smoothing interpolation filter to the unfiltered reference samples of the block to generate predictive samples of the block.

10. The device of claim 9 , wherein the one or more processors are configured to determine, based on one or more additional conditions, which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block.

11. The device of claim 10 , wherein the one or more additional conditions include one or more of: dependencies on luma or chroma, usage of a position dependent intra prediction combination tool, or usage of a non-separable secondary transform.

12. The device of claim 9 , wherein the one or more processors are configured to, as part of determining which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block, determine, based on the comparison of the intra mode difference for the block and the threshold and based on a property of interpolation filters used in one or more neighboring blocks of the block, which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block.

13. The device of claim 9 , wherein the one or more processors are configured to, as part of determining which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block, determine, based on the comparison of the intra mode difference for the block and the threshold and based on whether bidirectional intra prediction coding is applied for the block, which one of the non-smoothing interpolation filter and the smoothing interpolation filter to apply to the unfiltered reference samples of the block.

14. The device of claim 9 , wherein the smoothing interpolation filter is a Gaussian interpolation filter and the non-smoothing interpolation filter is a cubic interpolation filter.

15. The device of claim 9 , wherein the one or more processors are configured to reconstruct the block based on the predictive samples of the block.

16. The device of claim 9 , wherein the one or more processors are configured to:

generate residual data for the block based on the predictive samples of the block; and

include, in a bitstream that includes an encoded representation of the video data, data representing the residual data for the block.

17. The device of claim 9 , wherein the condition is dependent on one or more of an intra mode, a distance of a sample from a block boundary, or block dimensions.

18. The device of claim 9 , further comprising a display configured to display decoded video data.

19. The device of claim 9 , wherein the device comprises one or more of a camera, a computer, a mobile device, or a set-top box.

20. A device for encoding or decoding video data, the device comprising:

means for determining an intra mode difference for a block of a current picture of the video data, wherein the means for determining the intra mode difference for the block comprises means for determining the intra mode difference for the block as a minimum of: (1) an absolute value of a difference between an intra mode index for the block and an intra mode index of a horizontal intra prediction mode, and (2) an absolute value of a difference between the intra mode index for the block and an intra mode index of a vertical intra prediction mode;

means for determining, based at least in part on a comparison of the intra mode difference for the block and a threshold, which one of a non-smoothing interpolation filter and a smoothing interpolation filter to apply to unfiltered reference samples of the block; and;

means for applying, based on the determination, the non-smoothing interpolation filter or the smoothing interpolation filter to the unfiltered reference samples of the block to generate predictive samples of the block.

21. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

determine an intra mode difference for a block of a current picture of video data, wherein the instructions that cause the one or more processors to determine the intra mode difference for the block comprise instructions that, when executed, cause the one or more processors to determine the intra mode difference for the block as a minimum of: (1) an absolute value of a difference between an intra mode index for the block and an intra mode index of a horizontal intra prediction mode, and (2) an absolute value of a difference between the intra mode index for the block and an intra mode index of a vertical intra prediction mode;

determine, based at least in part on a comparison of the intra mode difference for the block and a threshold, which one of a non-smoothing interpolation filter and a smoothing interpolation filter to apply to unfiltered reference samples of the block; and;

based on the determination, apply the non-smoothing interpolation filter or the smoothing interpolation filter to the unfiltered reference samples of the block to generate predictive samples of the block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2019
From: VAN DER AUWERA, GEERT; RAMASUBRAMONIAN, ADARSH KRISHNAN; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 050055/0120 →
Continuity (4)
Provisional Application 62731723 · Sep 14, 2018
Provisional Application 62727341 · Sep 5, 2018
Provisional Application 62693266 · Jul 2, 2018
Related Publication 20200007895A1 · Jan 2, 2020
Cited By (2)
US 12,489,890 US 12,641,269