IP Library Granted Patent US 12,069,293
Granted Patent B2
US 12,069,293 · App. 17/472,235 · Granted Aug 20, 2024

Adaptive interpolation filter

Inventors: Huanbang Chen (Shenzhen, CN); Haitao Yang (Shenzhen, CN); Jianle Chen (San Diego, CA)
Assignee: Huawei Technologies Co., Ltd.
H04N19/52H04N19/176H04N19/625H04N19/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 12,069,293
App. No.
17/472,235
Granted
Aug 20, 2024
Kind
B2
Abstract

Disclosed is a mechanism for selecting an interpolation filter for use in conjunction with an affine block in video coding. A motion vector is determined for a sub-block of the affine block based on control points. A sub-block size of the sub-block is also determined. The interpolation filter is selected for application to a reference block corresponding to the sub-block. The interpolation filter is selected based on the sub-block size. The motion vector of the sub-block and an offset of a current sample of the sub-block are employed to determine a reference sample at the reference block. This includes applying the interpolation filter to the reference block to determine the reference sample when the motion vector at the offset points to a fractional position at the reference block. The reference samples are employed to determine residual information in order to encode the affine block.

Claims (44)

1. A method implemented in a video coding device, the method comprising:

receiving a bitstream describing an affine block coded according to affine inter-prediction;

determining motion vectors for the affine block based on the bitstream;

determining a sub-block size of a sub-block based on the motion vectors for the affine block;

selecting an interpolation filter for application to a reference block corresponding to the sub-block,

the interpolation filter selected based on the sub-block size;

determining which fractional position at the reference block a motion vector for a current sample points to;

applying the interpolation filter to the reference block to determine prediction information based on the fractional position; and

reconstructing the affine block based on the prediction information and based on residual information for the affine block described in the bitstream.

2. The method of claim 1 , wherein control points describe the affine block.

3. The method of claim 1 , wherein the interpolation filter is selected to include a first number of taps when the sub-block size is greater than a threshold and is selected to include a second number of taps when the sub-block size is less than or equal to the threshold, and wherein the first number of taps is larger than the second number of taps.

4. The method of claim 3 , wherein the interpolation filter is selected as a discrete cosine transform interpolation filter (DCT-IF) with eight taps when the sub-block size is greater than the threshold.

5. The method of claim 3 , wherein the interpolation filter is selected as a discrete cosine transform interpolation filter (DCT-IF) with four taps or six taps when the sub-block size is less than or equal to the threshold.

6. The method of claim 3 , wherein the interpolation filter is selected as a warping interpolation filter (WIF) with five taps when the sub-block size is less than or equal to the threshold.

7. A video coding device, comprising:

a memory storing instructions; and

one or more processors coupled to the memory, wherein the one or more processors are configured to execute the instructions to cause the video coding device to:

receive a bitstream describing an affine block coded according to affine inter-prediction;

determine motion vectors for the affine block based on the bitstream;

determine a sub-block size of a sub-block based on the motion vectors for the affine block;

select an interpolation filter for application to a reference block corresponding to the sub-block, the interpolation filter selected based on the sub-block size;

determine which fractional position at the reference block a motion vector for a current sample points to;

apply the interpolation filter to the reference block to determine prediction information based on the fractional position; and

reconstruct the affine block based on the prediction information and based on residual information for the affine block described in the bitstream.

8. The video coding device of claim 7 , wherein control points describe the affine block.

9. The video coding device of claim 7 , wherein the interpolation filter is selected to include a first number of taps when the sub-block size is greater than a threshold and is selected to include a second number of taps when the sub-block size is less than or equal to the threshold, and wherein the first number of taps is larger than the second number of taps.

10. The video coding device of claim 9 , wherein the interpolation filter is selected as a discrete cosine transform interpolation filter (DCT-IF) with eight taps when the sub-block size is greater than the threshold.

11. The video coding device of claim 9 , wherein the interpolation filter is selected as a discrete cosine transform interpolation filter (DCT-IF) with four taps or six taps when the sub-block size is less than or equal to the threshold.

12. The video coding device of claim 9 , wherein the interpolation filter is selected as a warping interpolation filter (WIF) with five taps when the sub-block size is less than or equal to the threshold.

13. A non-transitory computer readable medium comprising a computer program product for use by a video coding device, the computer program product comprising computer executable instructions stored on the non-transitory computer readable medium that, when executed by one or more processors, cause the video coding device to:

receive a bitstream describing an affine block coded according to affine inter-prediction;

determine motion vectors for the affine block based on the bitstream;

determine a sub-block size of a sub-block based on the motion vectors for the affine block;

select an interpolation filter for application to a reference block corresponding to the sub-block, the interpolation filter selected based on the sub-block size;

determine which fractional position at the reference block a motion vector for a current sample points to;

apply the interpolation filter to the reference block to determine prediction information based on the fractional position; and

reconstruct the affine block based on the prediction information and based on residual information for the affine block described in the bitstream.

14. The non-transitory computer readable medium of claim 13 , wherein control points describe the affine block.

15. The non-transitory computer readable medium of claim 13 , wherein the interpolation filter is selected to include a first number of taps when the sub-block size is greater than a threshold and is selected to include a second number of taps when the sub-block size is less than or equal to the threshold, and wherein the first number of taps is larger than the second number of taps.

16. The non-transitory computer readable medium of claim 15 , wherein the interpolation filter is selected as a discrete cosine transform interpolation filter (DCT-IF) with eight taps when the sub-block size is greater than the threshold.

17. The non-transitory computer readable medium of claim 15 , wherein the interpolation filter is selected as a discrete cosine transform interpolation filter (DCT-IF) with four taps or six taps when the sub-block size is less than or equal to the threshold.

18. The non-transitory computer readable medium of claim 15 , wherein the interpolation filter is selected as a warping interpolation filter (WIF) with five taps when the sub-block size is less than or equal to the threshold.

19. The method of claim 1 , wherein the sub-block size comprises a sub-block height or a sub-block width of 8 pixels.

20. The video coding device of claim 7 , wherein the sub-block size comprises a sub-block height or a sub-block width of 8 pixels.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2024
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 068390/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: FUTUREWEI TECHNOLOGIES, INC.
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 068217/0723 →
Continuity (4)
Continuation 16838954 · Apr 2, 2020
Continuation PCTUS2019017652 · Feb 12, 2019
Provisional Application 62630607 · Feb 14, 2018
Related Publication 20220070488A1 · Mar 3, 2022