IP Library › Granted Patent US 11,949,911
Granted Patent B2
US 11,949,911 · App. 17/664,642 · Granted Apr 2, 2024

Method and device for obtaining motion vector of video image

Inventors: Xiaozhen Zheng (Shenzhen, CN); Suhong Wang (Beijing, CN); Shanshe Wang (Beijing, CN); Siwei Ma (Beijing, CN); Weiran Li (Shenzhen, CN)
Assignee: SZ DJI TECHNOLOGY CO., LTD.
H04N19/58H04N19/105H04N19/119H04N19/129H04N19/137H04N19/139H04N19/176H04N19/30H04N19/513H04N19/56H04N19/573H04N19/96
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,949,911
App. No.
17/664,642
Granted
Apr 2, 2024
Kind
B2
Abstract

A video processing method includes obtaining motion information of a neighboring block of a current image block, dividing the current image block into a plurality of sub-blocks in response to the neighboring block satisfying a preset condition, determining, in a time-domain reference image of the current image block, related blocks of the plurality of sub-blocks according to a motion vector of the neighboring block, and performing prediction on the current image block according to motion vectors of the related blocks.

Claims (63)

1. A video processing method comprising:

obtaining motion information of a left neighboring block of a current image block, the current image block being divided into one or more sub-blocks each having a size of 8×8 pixels; and

in response to the left neighboring block satisfying a preset condition:

determining, in a collocated frame of the current image block, a related block of one sub-block of the one or more sub-blocks using a motion vector of the left neighboring block as a motion offset, the preset condition including that a reference image of the left neighboring block is same as the collocated frame of the current image block; and

determining a motion vector of the one sub-block according to a motion vector of the related block of the one sub-block, to perform encoding/decoding on the one sub-block of the current image block;

wherein determining the motion vector of the one sub-block according to the motion vector of the related block of the one sub-block, to perform encoding/decoding on the one sub-block of the current image block includes:

in response to reference images of the related block and the one sub-block not being specific reference images, scaling the motion vector of the related block of the one sub-block to obtain the motion vector of the one sub-block;

wherein scaling the motion vector of the related block of the one sub-block to obtain the motion vector of the one sub-block includes:

determining a scaling factor of the motion vector of the related block of the one sub-block according to:

a temporal distance between a reference image pointed to by the motion vector of the related block of the one sub-block and an image where the related block is located, and

a temporal distance between a reference image of the one sub-block and a current image containing the one sub-block;

scaling the motion vector of the related block of the one sub-block according to the scaling factor to obtain a scaled motion vector; and

determining the motion vector of the one sub-block according to the scaled motion vector.

2. The method of claim 1 , further comprising:

in response to the left neighboring block not satisfying the preset condition, encoding the one sub-block using a default block as a reference block of the one sub-block.

3. The method of claim 2 , wherein the default block is an image block pointed to by a motion vector (0, 0).

4. The method of claim 3 , wherein the default block is an image block pointed to by the motion vector (0, 0) in the collocated frame of the current image block.

5. The method of claim 1 , further comprising:

outputting a bitstream obtained by encoding the one sub-block of the current image block.

6. The method of claim 1 , further comprising:

in response to the current image block having a size larger than or equal to 8×8 pixels, dividing the current image block into the one or more sub-blocks each having the size of 8×8 pixels, and executing the process of determining the motion vector of the one sub-block according to the motion vector of the related block of the one sub-block.

7. The method of claim 1 , wherein determining the motion vector of the one sub-block according to the motion vector of the related block of the one sub-block, to perform encoding/decoding on the one sub-block of the current image block includes:

in response to reference images of the related block and the one sub-block being specific reference images, skipping a process of scaling the motion vector of the related block of the one sub-block.

8. A video processing device comprising:

a processor; and

a memory storing instructions that, when executed by the processor, cause the processor to:

obtain motion information of a left neighboring block of a current image block, the current image block being divided into one or more sub-blocks each having a size of 8×8 pixels; and

in response to the left neighboring block satisfying a preset condition:

determine, in a collocated frame of the current image block, a related block of one sub-block of the one or more sub-blocks using a motion vector of the left neighboring block as a motion offset, the preset condition including that a reference image of the left neighboring block is same as the collocated frame of the current image block; and

determine a motion vector of the one sub-block according to a motion vector of the related block of the one sub-block, to perform encoding/decoding on the one sub-block of the current image block;

wherein determining the motion vector of the one sub-block according to the motion vector of the related block of the one sub-block, to perform encoding/decoding on the one sub-block of the current image block includes:

in response to reference images of the related block and the one sub-block not being specific reference images, scale the motion vector of the related block of the one sub-block to obtain the motion vector of the one sub-block;

wherein scaling the motion vector of the related block of the one sub-block to obtain the motion vector of the one sub-block includes:

determining a scaling factor of the motion vector of the related block of the one sub-block according to:

a temporal distance between a reference image pointed to by the motion vector of the related block of the one sub-block and an image where the related block is located, and

a temporal distance between a reference image of the one sub-block and a current image containing the one sub-block;

scaling the motion vector of the related block of the one sub-block according to the scaling factor to obtain a scaled motion vector; and

determining the motion vector of the one sub-block according to the scaled motion vector.

9. The device of claim 8 , wherein the instructions further cause the processor to:

in response to the left neighboring block not satisfying the preset condition, encode the one sub-block using a default block as a reference block of the one sub-block.

10. The device of claim 9 , wherein the default block is an image block pointed to by a motion vector (0, 0).

11. The device of claim 10 , wherein the default block is an image block pointed to by the motion vector (0, 0) in the collocated frame of the current image block.

12. The device of claim 8 , wherein the instructions further cause the processor to:

output a bitstream obtained by encoding the one sub-block of the current image block.

13. The device of claim 8 , wherein the instructions further cause the processor to:

in response to the current image block having a size larger than or equal to 8×8 pixels, divide the current image block into the one or more sub-blocks each having the size of 8×8 pixels, and execute the process of determining the motion vector of the one sub-block according to the motion vector of the related block of the one sub-block.

14. The device of claim 8 , wherein the instructions further cause the processor to:

in response to reference images of the related block and the one sub-block being specific reference images, skip a process of scaling the motion vector of the related block of the one sub-block.

15. A non-transitory computer-readable storage medium storing bitstream obtained by an encoding method including:

obtaining motion information of a left neighboring block of a current image block, the current image block being divided into one or more sub-blocks each having a size of 8×8 pixels; and

in response to the left neighboring block satisfying a preset condition:

determining, in a collocated frame of the current image block, a related block of one sub-block of the one or more sub-blocks using a motion vector of the left neighboring block as a motion offset, the preset condition including that a reference image of the left neighboring block is same as the collocated frame of the current image block; and

determining a motion vector of the one sub-block according to a motion vector of the related block of the one sub-block, to perform encoding on the one sub-block of the current image block;

wherein determining the motion vector of the one sub-block according to the motion vector of the related block of the one sub-block, to perform encoding on the one sub-block of the current image block includes:

in response to reference images of the related block and the one sub-block not being specific reference images, scaling the motion vector of the related block of the one sub-block to obtain the motion vector of the one sub-block;

wherein scaling the motion vector of the related block of the one sub-block to obtain the motion vector of the one sub-block includes:

determining a scaling factor of the motion vector of the related block of the one sub-block according to:

a temporal distance between a reference image pointed to by the motion vector of the related block of the one sub-block and an image where the related block is located, and

a temporal distance between a reference image of the one sub-block and a current image containing the one sub-block;

scaling the motion vector of the related block of the one sub-block according to the scaling factor to obtain a scaled motion vector; and

determining the motion vector of the one sub-block according to the scaled motion vector.

16. The storage medium of claim 15 , wherein the method further includes:

in response to the left neighboring block not satisfying the preset condition, encoding the one sub-block using a default block as a reference block of the one sub-block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2022
From: ZHENG, XIAOZHEN; WANG, SUHONG; WANG, SHANSHE; MA, SIWEI; LI, WEIRAN
To: SZ DJI TECHNOLOGY CO., LTD.
Reel/Frame 060000/0858 →
Priority Claims (3)
WO PCT/CN2018/081652 · Apr 2, 2018 · international
WO PCT/CN2018/095710 · Jul 13, 2018 · international
WO PCT/CN2018/103693 · Aug 31, 2018 · international
Continuity (4)
Continuation 17220797 · Apr 1, 2021
Continuation 17039879 · Sep 30, 2020
Continuation PCTCN2018107436 · Sep 25, 2018
Related Publication 20220286706A1 · Sep 8, 2022