IP Library Granted Patent US 11,109,064
Granted Patent B2
US 11,109,064 · App. 16/880,344 · Granted Aug 31, 2021

Signaling of motion vector difference derivation

Inventors: Man-Shu Chiang (Hsinchu, TW); Chih-Wei Hsu (Hsinchu, TW); Tzu-Der Chuang (Hsinchu, TW)
Assignee: MediaTek Inc.
H04N19/577H04N19/176H04N19/513
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,064
App. No.
16/880,344
Granted
Aug 31, 2021
Kind
B2
Abstract

A video decoder receives data for a block of pixels to be decoded as a current block of a current picture of a video. When the current block is coded by using inter mode and bi-directional prediction, the video decoder receives a first motion vector difference and determines a second motion vector difference based on a first flag or a second flag. When the first flag is false, the video decoder uses the second flag to determine whether to set the second motion vector difference to be at an opposite value of the first motion vector difference. When the first flag is true, the video decoder sets the second motion vector difference to be zero. The video decoder reconstructs the current block by using motion information based on the first motion vector difference and the second motion vector difference to perform inter prediction.

Claims (62)

1. A video decoding method, comprising:

receiving encoded data associated with a current coding unit (CU) of a current picture of a video;

determining, based on the encoded data, whether the current CU is coded according to bi-directional prediction; and

in a case that the current CU is determined to be coded according to the bi-directional prediction, performing:

determining a first motion vector difference for a first prediction direction of the bi-directional prediction;

after the first motion vector difference is determined, determining a second motion vector difference for a second prediction direction of the bi-directional prediction, including:

determining whether a first flag indicates the second motion vector difference being zero;

in a case that the first flag is deteiiiiined to indicate the second motion vector difference being zero, setting the second motion vector difference to a zero vector;

in a case that the first flag is determined to not indicate the second motion vector difference being zero,

setting the second motion vector difference to be an opposite value of the first motion vector difference when a second flag has a first value, and

receiving the second motion vector difference from the encoded data when the second flag has a second value; and

reconstructing the current CU according to the bi-directional prediction performed based on the first motion vector difference and the second motion vector difference.

2. The video decoding method of claim 1 , wherein the first flag is signaled at a picture level.

3. The video decoding method of claim 1 , wherein the second flag is signaled at a CU level for the current CU.

4. The video decoding method of claim 1 , wherein when either the first flag or the second flag is true, the second motion vector difference is not signaled.

5. The video decoding method of claim 1 , wherein an Advanced Motion Vector Prediction (AMVP) mode is used for the current CU.

6. The video decoding method of claim 1 , wherein the first and second motion vector differences are associated with first and second reference pictures that are symmetrically or equally distanced from the current picture.

7. The video decoding method of claim 6 , wherein the first reference picture is selected from a first reference picture list and the second reference picture is selected from a second reference picture list, wherein the first and second reference pictures form a backward-and-forward pair of reference pictures.

8. The video decoding method of claim 7 , wherein the first reference picture is a temporally nearest picture to the current picture in the first reference picture list and the second reference picture is a temporally nearest picture to the current picture in the second reference picture list.

9. The video decoding method of claim 1 , wherein when the first flag is true, the second motion vector difference is set to zero.

10. The video decoding method of claim 9 , wherein the first and second motion vector differences are associated with first and second reference pictures, wherein the first reference picture is selected from a first reference picture list and the second reference picture is selected from a second reference picture list, wherein the first and second reference pictures form a forward-and-forward pair of reference pictures.

11. A video encoding method, comprising:

receiving pixel data of a current coding unit (CU) of a current picture;

determining whether the current CU is coded according to bi-directional prediction; and

in a case that the current CU is determined to be coded according to the bi-directional prediction:

determining a first motion vector difference for a first prediction direction of the bi-directional prediction;

after the first motion vector difference is determined, determining a second motion vector difference for a second prediction direction of the bi-directional prediction, including:

determining whether a first flag indicates the second motion vector difference being zero;

in a case that the first flag is determined to indicate the second motion vector difference being zero, setting the second motion vector difference to a zero vector;

in a case that the first flag is determined to not indicate the second motion vector difference being zero,

setting the second motion vector difference to be at an opposite value of the first motion vector difference when a second flag has a first value, and

determining the second motion vector difference when the second flag has a second value; and

encoding the current CU according to the bi-directional prediction performed based on the first motion vector difference and the second motion vector difference.

12. The video encoding method of claim 11 , wherein the first flag is signaled at a picture level.

13. The video decoding method of claim 11 , wherein the second flag is signaled at a CU level for the current CU.

14. An electronic apparatus, comprising:

a video decoder circuit configured to perform operations comprising:

receiving encoded data associated with a current coding unit (CU) of a current picture of a video; and

determining, based on the encoded data, whether the current CU is coded according to bi-directional prediction; and

in a case that the current CU is determined to be coded according to the bi-directional prediction, performing:

determining a first motion vector difference for a first prediction direction of the bi-directional prediction:

after the first motion vector difference is determined, determining a second motion vector difference for a second prediction direction of the bi-directional prediction, including:

determining whether a first flag indicates the second motion vector difference being zero;

in a case that the first flag is determined to indicate the second motion vector difference being zero, setting the second motion vector difference to a zero vector;

in a case that the first flag is determined to not indicate the second motion vector difference being zero,  setting the second motion vector difference to be an opposite value of the first motion vector difference when a second flag has a first value, and  receiving the second motion vector difference from the encoded data when the second flag has a second value; and

reconstructing the current CU according to the bi-directional prediction performed based on the first motion vector difference and the second motion vector difference.

15. The electronic apparatus of claim 14 , wherein the first flag is signaled at a picture level.

16. The electronic apparatus of claim 14 , wherein the second flag is signaled at a CU level for the current CU.

17. A video coding method, comprising:

receiving data to be encoded or decoded as a current coding unit (CU) of a current picture of a video; and

determining, based on the received data, whether the current CU is coded according to bi-directional prediction; and

in a case that the current CU is determined to be coded according to the bi-directional prediction, performing:

determining a first motion vector difference for a first prediction direction of the bi-directional prediction;

after the first motion vector difference is determined, determining a second motion vector difference for a second prediction direction of the bi-directional prediction, including

determining whether a first flag indicates the second motion vector difference being zero;

in a case that the first flag is determined to indicate the second motion vector difference being zero, setting the second motion vector difference to a zero vector;

in a case that the first flag is detei lined to not indicate the second motion vector difference being zero,

setting the second motion vector difference to be at an opposite value of the first motion vector difference when a second flag has a first value, and

determining the second motion vector difference when the second flag has a second value; and

encoding or decoding the current CU according to the bi-directional prediction performed based on the first motion vector difference and the second motion vector difference.

18. The video coding method of claim 17 , wherein the first flag is signaled at a picture level.

19. The video coding method of claim 17 , wherein the second flag is signaled at a CU level for the current CU.

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 8, 2020
From: CHIANG, MAN-SHU; HSU, CHIH-WEI; CHUANG, TZU-DER
To: MEDIATEK INC.
Reel/Frame 053153/0378 →
Continuity (2)
Provisional Application 62851140 · May 22, 2019
Related Publication 20200374551A1 · Nov 26, 2020