IP Library Granted Patent US 10,979,707
Granted Patent B2
US 10,979,707 · App. 15/757,694 · Granted Apr 13, 2021

Method and apparatus of adaptive inter prediction in video coding

Inventors: Ching-Yeh Chen (Taipei, TW); Chih-Wei Hsu (Hsinchu, TW); Han Huang (Beijing, CN); Yu-Wen Huang (Taipei, TW)
Assignee: MEDIATEK INC.
H04N19/109H04N19/117H04N19/137H04N19/14H04N19/176H04N19/577H04N19/59H04N19/82
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 10,979,707
App. No.
15/757,694
Granted
Apr 13, 2021
Kind
B2
Abstract

A method and apparatus of video coding using adaptive Inter prediction are disclosed. A selected Inter prediction process is determined, wherein the selected Inter prediction process selects an Inter prediction filter from multiple Inter prediction filters for the current block depending on first pixel data comprising neighbouring reconstructed pixels (NRP) of the current block. The selected Inter prediction process may be further determined depending on extra motion compensated pixels (EMCP) around a motion-compensated reference block corresponding to the current block. Distortion between the NRP and EMCP can be used to determine the selected Inter prediction filter. The distortion can be calculated using a sum of absolute differences or squared differences between the NRP and the EMCP.

Claims (71)

1. A method of Inter prediction for video coding, the method comprising:

receiving input data associated with a current block in a current picture;

identifying first motion information and second motion information for generating predicted samples of the current block according to bi-directional prediction, a first predictor being determined according to the first motion information, and a second predictor being determined according to the second motion information;

determining candidate sets of weighting factors from available sets of weighting factors according to a slice type, a prediction mode, or motion information for the current block;

determining distortion values associated with the candidate sets of weighting factors;

determining a selected set of weighting factors from the candidate sets of weighting factors for the current block for the bi-directional prediction according to the distortion values associated with the candidate sets of weighting factors;

generating the predicted samples of the current block according to the first predictor, the second predictor, and the selected set of weighting factors; and

encoding or decoding the current block according to the predicted samples of the current block, wherein

the candidate sets of weighting factors includes a set of weighting factors of [0.5, 0.5], and

the determining the distortion values comprises:

determining a distortion value D0 associated with the set of weighting factors of [0.5, 0.5] according to a first neighboring reconstructed region of the first predictor, a second neighboring reconstructed region of the second predictor, and a current neighboring reconstructed region of the current block;

determining a difference R of pixels between the first neighboring reconstructed region of the first predictor and the second neighboring reconstructed region of the second predictor; and

determining other one or more of the distortion values associated with one or more other sets of the candidate sets of weighting factors according to D0 and R.

2. The method of claim 1 , wherein the candidate sets of weighting factors comprise [0.5, 0.5], [0.25, 0.75], [0.75, 0.25], [0.375, 0.625], and [0.625, 0.375].

3. The method of claim 2 , wherein each one of the distortion values being determined as a sum of distortion values for individual pixel locations of the current neighboring reconstructed region of the current block.

4. The method of claim 3 , wherein

the distortion values D0, D1, D2, D3, and D4 for a particular pixel location of the current neighboring reconstructed region of the current block associated with the respective weighting factors [0.5, 0.5], [0.625, 0.375], [0.375, 0.625], [0.75, 0.25], and [0.25, 0.75] are calculated according to

D 0=( X<< 3)− Q,

D 1= D 0− R,

D 2= D 0+ R,

D 3= D 1− R,

D 4= D 2+ R,

Q =( P 0+ P 1)<<2, and

R=P 0− P 1,

P0 denotes a first predicted value derived from the first neighboring reconstructed region corresponding to the particular pixel location of the current neighboring reconstructed region,

P1 denotes a second predicted value derived from the second neighboring reconstructed region corresponding to the particular pixel location of the current neighboring reconstructed region, and

X denotes a reconstructed value for the particular pixel location of the current neighboring reconstructed region.

5. The method of claim 1 , wherein a selection from the candidate sets of weighting factors is explicitly signaled at a sequence level, picture level, slice level, coding unit level, or prediction unit level of a video bitstream.

6. The method of claim 1 , wherein whether a functionality of determining the selected set of weighting factors is enabled or disabled is signaled at a sequence level, picture level, slice level, coding unit level, or prediction unit level of a video bitstream.

7. An apparatus for Inter prediction in video coding, the apparatus comprising one or more electronic circuits or processors configured to:

receive input data associated with a current block in a current picture;

identify first motion information and second motion information for generating predicted samples of the current block according to bi-directional prediction, a first predictor being determined according to the first motion information, and a second predictor being determined according to the second motion information;

determine candidate sets of weighting factors from available sets of weighting factors according to a slice type, a prediction mode, or motion information for the current block;

determine distortion values associated with the candidate sets of weighting factors;

determine a selected set of weighting factors from the candidate sets of weighting factors for the current block for the bi-directional prediction according to the distortion values associated with the candidate sets of weighting factors;

generate the predicted samples of the current block according to the first predictor, the second predictor, and the selected set of weighting factors; and

encode or decode the current block according to the predicted samples of the current block, wherein

the candidate sets of weighting factors includes a set of weighting factors of [0.5, 0.5], and

the one or more electronic circuits or processors are further configured to:

determine a distortion value D0 associated with the set of weighting factors of [0.5, 0.5] according to a first neighboring reconstructed region of the first predictor, a second neighboring reconstructed region of the second predictor, and a current neighboring reconstructed region of the current block;

determine a difference R of pixels between the first neighboring reconstructed region of the first predictor and the second neighboring reconstructed region of the second predictor; and

determine other one or more of the distortion values associated with one or more other sets of the candidate sets of weighting factors according to D0 and R.

8. The apparatus of claim 7 , wherein the candidate sets of weighting factors comprise [0.5, 0.5], [0.25, 0.75], [0.75, 0.25], [0.375, 0.625], and [0.625, 0.375].

9. The apparatus of claim 8 , wherein the one or more electronic circuits or processors are configured to determine each one of the distortion values as a sum of distortion values for individual pixel locations of the current neighboring reconstructed region of the current block.

10. The apparatus of claim 9 , wherein

the distortion values D0, D1, D2, D3, and D4 for a particular pixel location of the current neighboring reconstructed region of the current block associated with the respective weighting factors [0.5, 0.5], [0.625, 0.375], [0.375, 0.625], [0.75, 0.25], and [0.25, 0.75] are calculated according to

D 0=( X<< 3)− Q,

D 1= D 0− R,

D 2= D 0+ R,

D 3= D 1− R,

D 4= D 2+ R,

Q =( P 0+ P 1)<<2, and

R=P 0− P 1,

P0 denotes a first predicted value derived from the first neighboring reconstructed region corresponding to the particular pixel location of the current neighboring reconstructed region,

P1 denotes a second predicted value derived from the second neighboring reconstructed region corresponding to the particular pixel location of the current neighboring reconstructed region, and

X denotes a reconstructed value for the particular pixel location of the current neighboring reconstructed region.

11. The apparatus of claim 7 , wherein a selection from the candidate sets of weighting factors is explicitly signaled at a sequence level, picture level, slice level, coding unit level, or prediction unit level of a video bitstream.

12. The apparatus of claim 7 , wherein a functionality of whether determining the selected set of weighting factors is enabled or disabled is signaled at a sequence level, picture level, slice level, coding unit level, or prediction unit level of a video bitstream.

13. A non-transitory computer-readable medium storing program codes that, when executed by a processor, cause the processor to perform a method that comprises:

receiving input data associated with a current block in a current picture;

identifying first motion information and second motion information for generating predicted samples of the current block according to bi-directional prediction, a first predictor being determined according to the first motion information, and a second predictor being determined according to the second motion information;

determining candidate sets of weighting factors from available sets of weighting factors according to a slice type, a prediction mode, or motion information for the current block;

determining distortion values associated with the candidate sets of weighting factors, respectively;

determining a selected set of weighting factors from the candidate sets of weighting factors for the current block for the bi-directional prediction according to the distortion values associated with the candidate sets of weighting factors;

generating the predicted samples of the current block according to the first predictor, the second predictor, and the selected set of weighting factors; and

encoding or decoding the current block according to the predicted samples of the current block, wherein

the candidate sets of weighting factors includes a set of weighting factors of [0.5, 0.5], and

the determining the distortion values comprises:

determining a distortion value D0 associated with the set of weighting factors of [0.5, 0.5] according to a first neighboring reconstructed region of the first predictor, a second neighboring reconstructed region of the second predictor, and a current neighboring reconstructed region of the current block;

determining a difference R of pixels between the first neighboring reconstructed region of the first predictor and the second neighboring reconstructed region of the second predictor; and

determining other one or more of the distortion values associated with one or more other sets of the candidate sets of weighting factors according to D0 and R.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2022
From: MEDIATEK INC.
To: HFI INNOVATION INC.
Reel/Frame 059369/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2018
From: CHEN, CHING-YEH; HSU, CHIH-WEI; HUANG, HAN; HUANG, YU-WEN
To: MEDIATEK INC.
Reel/Frame 046290/0398 →
Priority Claims (1)
WO PCT/CN2015/088952 · Sep 6, 2015 · international
Continuity (1)
Related Publication 20190045183A1 · Feb 7, 2019
Cited By (1)
US 12,382,063