IP Library Granted Patent US 11,109,061
Granted Patent B2
US 11,109,061 · App. 16/073,996 · Granted Aug 31, 2021

Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding

Inventors: Ching-Yeh Chen (Taipei, TW); Tzu-Der Chuang (Zhubei, TW); Yu-Wen Huang (Taipei, TW)
Assignee: MEDIATEK INC.
H04N19/577H04N19/105H04N19/159H04N19/182H04N19/46H04N19/513H04N19/537H04N19/186H04N19/52
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,109,061
App. No.
16/073,996
Granted
Aug 31, 2021
Kind
B2
Abstract

Methods and apparatus of motion compensation using the bi-directional optical flow (BIO) techniques are disclosed. According to one method of the present invention, the BIO process is applied to encode or decode bi-directional current block in Merge mode only or in AMVP (advanced motion vector prediction) mode only. According to another method, the BIO process conditionally to encode or decode the current block depending on a jointly-coded flag if the current block is coded using a bi-prediction mode. According to yet another method, x-offset value v x and y-offset value v y for the current block are added to the current motion vector to form a final motion vector. The final motion vector is then used as a reference motion vector for following blocks. In still yet another method, the BIO process is applied to the chroma component.

Claims (39)

1. A method of motion compensation for video data performed by a video encoder or a video decoder, the method comprising:

receiving input data associated with a current block in a current picture at an encoder side or receiving a video bitstream including compressed data of the current block at a decoder side;

applying a bi-directional optical flow (BIO) process conditionally to encode or decode the current block depending on a current mode used to encode or decode the current block based on the current block being coded using a bi-prediction mode, wherein the current mode with the BIO process is used to encode or decode the current block based on whether the current mode is equal to one or more selected modes; and

outputting the video bitstream including the compressed data of the current block at the encoder side or outputting reconstructed data including a reconstructed block of the current block at the decoder side.

2. The method of claim 1 , wherein said one or more selected modes only consist of Merge mode.

3. The method of claim 1 , wherein said one or more selected modes only consist of AMVP (advanced motion vector prediction) mode.

4. An apparatus of motion compensation for video data performed by a video encoder or a video decoder, the apparatus comprising one or more electronic circuits or processors arranged to:

receive input data associated with a current block in a current picture at an encoder side or receiving a video bitstream including compressed data of the current block at a decoder side;

apply a bi-directional optical flow (BIO) process conditionally to encode or decode the current block depending on a current mode used to encode or decode the current block based on the current block being coded using a bi-prediction mode, wherein the current mode with the BIO process is used to encode or decode the current block based on whether the current mode is equal to one or more selected modes; and

output the video bitstream including the compressed data of the current block at the encoder side or output reconstructed data including a reconstructed block of the current block at the decoder side.

5. A method of motion compensation for video data performed by a video encoder or a video decoder, the method comprising:

receiving input data associated with a current block in a current picture at an encoder side or receiving a video bitstream including compressed data of the current block at a decoder side;

applying a bi-directional optical flow (BIO) process conditionally to encode or decode the current block depending on a jointly-coded flag based on the current block being coded using a bi-prediction mode, wherein a current mode with the BIO process is used to encode or decode the current block based on the jointly-coded flag having a first value, and the current mode without the BIO process is used to encode or decode the current block based on the jointly-coded flag having a second value; and

outputting the video bitstream including the compressed data of the current block at the encoder side or outputting reconstructed data including a reconstructed block of the current block at the decoder side.

6. The method of claim 5 , wherein when the current block is not coded in the bi-prediction mode, the jointly-coded flag is used to indicate whether another process is on or off for the current block.

7. The method of claim 6 , wherein said another process corresponds to a low-pass filter process, sharpening filter process, or an offset process to modify motion compensated results.

8. An apparatus of motion compensation for video data performed by a video encoder or a video decoder, the apparatus comprising one or more electronic circuits or processors arranged to:

receive input data associated with a current block in a current picture at an encoder side or receiving a video bitstream including compressed data of the current block at a decoder side;

apply a bi-directional optical flow (BIO) process conditionally to encode or decode the current block depending on a jointly-coded flag based on the current block being coded using a bi-prediction mode, wherein a current mode with the BIO process is used to encode or decode the current block based on the jointly-coded flag having a first value, and the current mode without the BIG process is used to encode or decode the current block based on the jointly-coded flag having a second value; and

output the video bitstream including the compressed data of the current block at the encoder side or output reconstructed data including a reconstructed block of the current block at the decoder side.

9. A method of motion compensation for video data performed by a video encoder or a video decoder, the method comprising:

receiving input data associated with a current block in a current picture at an encoder side or receiving a video bitstream including compressed data of the current block at a decoder side;

applying a bi-directional optical flow (BIO) process to derive x-offset value vx and y-offset value vy for the current block;

adding the x-offset value vx and the y-offset value vy to one or more original motion vectors to generate one or more final motion vectors for the current block;

generating bi-directional predictors based on one or more original motion vectors, the x-offset value vx, and the v-offset value vv;

encoding or decoding the current block in a bi-directional mode using the bi-directional predictors;

storing said one or more final motion vectors for the current block to be referenced by one or more following blocks; and

outputting the video bitstream including the compressed data of the current block at the encoder side or outputting reconstructed data including a reconstructed block of the current block at the decoder side.

10. The method of claim 6 , wherein the x-offset value vx and the y-offset value vy are clipped to a pre-defined range before said one or more final motion vectors are stored.

11. The method of claim 10 , wherein the pre-defined range corresponds to [−16, 16].

12. The method of claim 9 , wherein the x-offset value vx and the y-offset value vy are clipped within one integer pixel.

13. An apparatus of motion compensation for video data performed by a video encoder or a video decoder, the apparatus comprising one or more electronic circuits or processors arranged to:

receiving input data associated with a current block in a current picture at an encoder side or receiving a video bitstream including compressed data of the current block at a decoder side;

apply a bi-directional optical flow (BIO) process to derive x-offset value vx and y-offset value vy for the current block;

add the x-offset values vx and the y-offset value vy to one or more original motion vectors to generate one or more final motion vectors;

generate bi-directional predictors based on one or more original motion vectors, the x-offset value vx, and the y-offset value vy;

encode or decoding the current block in a bi-directional mode using the bi-directional predictors;

store said one or more final motion vectors for the current block to be referenced by one or more following block; and

output the video bitstream including the compressed data of the current block at the encoder side or output reconstructed data including a reconstructed block of the current block at the decoder side.

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 Nov 26, 2018
From: CHEN, CHING-YEH; CHUANG, TZU-DER; HUANG, YU-WEN
To: MEDIATEK INC.
Reel/Frame 047583/0941 →
Continuity (2)
Provisional Application 62291588 · Feb 5, 2016
Related Publication 20190045215A1 · Feb 7, 2019
Cited By (7)
US 12,192,459 US 12,301,799 US 12,348,761 US 12,388,989 US 12,413,714 US 12,513,291 US 12,621,450