IP Library › Granted Patent US 11,394,996
Granted Patent B2
US 11,394,996 · App. 17/037,570 · Granted Jul 19, 2022

Video coding method and apparatus

Inventors: Xu Chen (Shenzhen, CN); Jianhua Zheng (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/521H04N19/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,394,996
App. No.
17/037,570
Granted
Jul 19, 2022
Kind
B2
Abstract

A method and an apparatus are provided for obtaining a motion vector, and disclose application of the method and the apparatus for obtaining a motion vector in a video coding method and apparatus. The method includes: obtaining a first motion vector from a first motion vector set corresponding to a to-be-processed picture block; obtaining a second motion vector through calculation based on the first motion vector, where there is a preset vector difference between the first motion vector and the second motion vector, and the first motion vector and the second motion vector are different; adding the second motion vector to the first motion vector set to constitute a second motion vector set; and obtaining a target motion vector from the second motion vector set.

Claims (52)

1. A method for obtaining a motion vector, wherein the method is used for video encoding, and comprises:

obtaining a first motion vector from a first motion vector set corresponding to a to-be-processed picture block;

obtaining a second motion vector through calculation based on the first motion vector, wherein there is a preset vector difference between the first motion vector and the second motion vector, and wherein the preset vector difference comprises a first-directional preset vector difference and a second-directional preset vector difference, and wherein the second-directional preset vector difference is derived based on the first-directional preset vector difference and a preset derivation relationship or the first-directional preset vector difference is derived based on the second-directional preset vector difference and a preset derivation relationship;

adding the second motion vector to the first motion vector set to constitute a second motion vector set; and

obtaining a target motion vector from the second motion vector set.

2. The method according to claim 1 , wherein the obtaining a second motion vector through calculation based on the first motion vector comprises:

adding the first motion vector and the preset vector difference to obtain the second motion vector.

3. The method according to claim 2 , wherein when the method is used for bidirectional prediction, the first motion vector comprises a first-directional first motion vector and a second-directional first motion vector, the second motion vector comprises a first-directional second motion vector and a second-directional second motion vector; and

correspondingly, the adding the first motion vector and the preset vector difference to obtain the second motion vector comprises:

adding the first-directional first motion vector and the first-directional preset vector difference to obtain the first-directional second motion vector; and

adding the second-directional first motion vector and the second-directional preset vector difference to obtain the second-directional second motion vector.

4. The method according to claim 3 , wherein a first display offset vector is a vector pointing from a display position of a picture frame in which the to-be-processed picture block is located to a display position of a first reference frame; a second display offset vector is a vector pointing from the display position of the picture frame in which the to-be-processed picture block is located to a display position of a second reference frame; the first reference frame is a reference frame to which the first-directional first motion vector points; the second reference frame is a reference frame to which the second-directional first motion vector points; and when a vector sum of the first display offset vector and the second display offset vector is zero, a vector sum of the first-directional preset vector difference and the second-directional preset vector difference is zero, or when the first display offset vector and the second display offset vector are the same, the first-directional preset vector difference and the second-directional preset vector difference are the same.

5. The method according to claim 3 , wherein a first display offset vector is a vector pointing from a display position of a picture frame in which the to-be-processed picture block is located to a display position of a first reference frame; a second display offset vector is a vector pointing from the display position of the picture frame in which the to-be-processed picture block is located to a display position of a second reference frame; the first reference frame is a reference frame to which the first-directional first motion vector points; the second reference frame is a reference frame to which the second-directional first motion vector points; and a proportional relationship between the first-directional preset vector difference and the second-directional preset vector difference is the same as a proportional relationship between a magnitude of the first display offset vector and a magnitude of the second display offset vector.

6. The method according to claim 3 , wherein the first-directional preset vector difference is equal to the second-directional preset vector difference.

7. The method according to claim 5 , wherein when the first display offset vector and the second display offset vector are in a same direction, the first-directional preset vector difference and the second-directional preset vector difference are in a same direction; or when the first display offset vector and the second display offset vector are in opposite directions, the first-directional preset vector difference and the second-directional preset vector difference are in opposite directions.

8. A method for obtaining a motion vector, wherein the method is used for video decoding, and comprises:

parsing a bitstream to obtain first identification information; and

obtaining a second motion vector from a candidate motion vector set of a to-be-processed picture block based on the first identification information, wherein the candidate motion vector set comprises a first motion vector and the second motion vector, and the second motion vector is obtained by adding the first motion vector and a preset vector difference, wherein the preset vector difference comprises a first-directional preset vector difference and a second-directional preset vector difference, and wherein the second-directional preset vector difference is derived based on the first-directional preset vector difference and a preset derivation relationship or the first-directional preset vector difference is derived based on the second-directional preset vector difference and a preset derivation relationship.

9. The method according to claim 8 , wherein the first motion vector comprises at least one of the following motion vectors:

a motion vector obtained based on a motion vector of a reference block having spatial-domain correlation with the to-be-processed picture block;

a motion vector obtained based on a motion vector of a reference block having a temporal-domain correlation with the to-be-processed picture block; or

a motion vector obtained based on a motion vector of a reference block having spatial-domain correlation with the corresponding block having temporal-domain correlation with the to-be-processed picture block.

10. The method according to claim 8 , wherein when the method is used for bidirectional prediction, the first motion vector comprises a first-directional first motion vector and a second-directional first motion vector, the second motion vector comprises a first-directional second motion vector and a second-directional second motion vector; and

correspondingly, that the second motion vector is obtained by adding the first motion vector and a preset vector difference comprises:

the first-directional second motion vector is obtained by adding the first-directional first motion vector and the first-directional preset vector difference; and

the second-directional second motion vector is obtained by adding the second-directional first motion vector and the second-directional preset vector difference.

11. The method according to claim 10 , wherein a first display offset vector is a vector pointing from a display position of a picture frame in which the to-be-processed picture block is located to a display position of a first reference frame; a second display offset vector is a vector pointing from the display position of the picture frame in which the to-be-processed picture block is located to a display position of a second reference frame; the first reference frame is a reference frame to which the first-directional first motion vector points; the second reference frame is a reference frame to which the second-directional first motion vector points; and when a vector sum of the first display offset vector and the second display offset vector is zero, a vector sum of the first-directional preset vector difference and the second-directional preset vector difference is zero, or when the first display offset vector and the second display offset vector are the same, the first-directional preset vector difference and the second-directional preset vector difference are the same.

12. The method according to claim 10 , wherein a first display offset vector is a vector pointing from a display position of a picture frame in which the to-be-processed picture block is located to a display position of a first reference frame; a second display offset vector is a vector pointing from the display position of the picture frame in which the to-be-processed picture block is located to a display position of a second reference frame; the first reference frame is a reference frame to which the first-directional first motion vector points; the second reference frame is a reference frame to which the second-directional first motion vector points; and a proportional relationship between the first-directional preset vector difference and the second-directional preset vector difference is the same as a proportional relationship between a magnitude of the first display offset vector and a magnitude of the second display offset vector.

13. The method according to claim 10 , wherein the first-directional preset vector difference is equal to the second-directional preset vector difference.

14. The method according to claim 13 , wherein when the first display offset vector and the second display offset vector are in a same direction, the first-directional preset vector difference and the second-directional preset vector difference are in a same direction; or when the first display offset vector and the second display offset vector are in opposite directions, the first-directional preset vector difference and the second-directional preset vector difference are in opposite directions.

15. A method for obtaining a motion vector, wherein the method is used for video decoding, and comprises:

parsing a bitstream to obtain first identification information;

obtaining a first motion vector from a first motion vector set of a to-be-processed picture block based on the first identification information;

parsing the bitstream to obtain second identification information; and

obtaining a second motion vector from a second motion vector set of the to-be-processed picture block based on the second identification information, wherein the second motion vector set is determined based on the first motion vector, and there are a plurality of different preset vector differences between the first motion vector and the second motion vector, wherein the preset vector differences comprises first-directional preset vector differences and second-directional preset vector differences, and wherein a second-directional preset vector difference is derived based on a first-directional preset vector difference and a preset derivation relationship; or a first-directional preset vector difference is derived based on a second-directional preset vector difference and a preset derivation relationship.

16. The method according to claim 15 , wherein the first motion vector comprises at least one of the following motion vectors:

a motion vector obtained based on a motion vector of a reference block having spatial-domain correlation with the to-be-processed picture block;

a motion vector obtained based on a motion vector of a reference block having a temporal-domain correlation with the to-be-processed picture block; or

a motion vector obtained based on a motion vector of a reference block having spatial-domain correlation with the corresponding block having temporal-domain correlation with the to-be-processed picture block.

17. A device for obtaining a motion vector, wherein the device is used for video encoding or video decoding, and comprises:

a processor and a memory, wherein the processor and the memory are connected to each other;

the memory is configured to store program code and video data; and

the processor is configured to read the program code stored in the memory, to perform the method according to claim 1 .

18. A device for obtaining a motion vector, wherein the device is used for video encoding or video decoding, and comprises:

a processor and a memory, wherein the processor and the memory are connected to each other;

the memory is configured to store program code and video data; and

the processor is configured to read the program code stored in the memory, to perform the method according to claim 8 .

19. A device for obtaining a motion vector, wherein the device is used for video encoding or video decoding, and comprises:

a processor and a memory, wherein the processor and the memory are connected to each other;

the memory is configured to store program code and video data; and

the processor is configured to read the program code stored in the memory, to perform the method according to claim 15 .

20. A non-transitory computer-readable storage medium, wherein the computer-readable storage medium stores an instruction, and when the instruction is run on a computer, the instruction enables the computer to perform the method according to claim 1 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2020
From: CHEN, XU; ZHENG, JIANHUA
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 054319/0013 →
Continuity (2)
Continuation PCTCN2018081584 · Apr 2, 2018
Related Publication 20210014526A1 · Jan 14, 2021