IP Library › Granted Patent US 11,343,534
Granted Patent B2
US 11,343,534 · App. 17/220,797 · Granted May 24, 2022

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,343,534
App. No.
17/220,797
Granted
May 24, 2022
Kind
B2
Abstract

A video processing method includes performing or skipping following processing based on whether a size of a coding unit is not smaller or is smaller than 8×8. The processing includes dividing the coding unit into sub-blocks each having a fixed size of 8×8, scanning a left neighboring block and determining a reference motion vector of the coding unit, determining a related reference block of a sub-block in the co-located reference image according to the reference motion vector, determining a scaling factor of a motion vector of the related reference block, scaling the motion vector of the related reference block using the scaling factor, determining motion information of the sub-block according to the scaled motion vector, and performing prediction for the coding unit according to the motion information.

Claims (64)

1. A video processing method comprising:

in response to a size of a coding unit being not smaller than 8×8, performing processing including:

dividing the coding unit into several sub-blocks each having a fixed size of 8×8;

obtaining M candidate motion vectors, M being an integer larger than 1, and the M candidate motion vectors including a motion vector of a left neighboring block of the coding unit;

scanning N candidate motion vectors of the M candidate motion vectors, N being an integer smaller than M, and:

in response to a reference frame pointed to by one candidate motion vector of the N candidate motion vectors being same as a co-located reference image of the coding unit, determining the one motion vector as a reference motion vector of the coding unit; and

in response to none of the N candidate motion vectors pointing to a reference frame same as the co-located reference image of the coding unit, determining a default value (0, 0) as the reference motion vector of the coding unit;

determining a related reference block of one of the sub-blocks of the coding unit in the co-located reference image of the coding unit according to the reference motion vector of the coding unit;

in response to a motion vector of the related reference block of the one of the sub-blocks pointing to a short-term reference image:

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

a temporal distance between a reference image pointed to by the motion vector of the related reference block of the one of the sub-blocks and the co-located reference image of the coding unit, and

a temporal distance between the co-located reference image of the coding unit and an image containing the coding unit;

scaling the motion vector of the related reference block of the one of the sub-blocks using the scaling factor; and

determining motion information of the one of the sub-blocks according to the motion vector after being scaled;

in response to the motion vector of the related reference block of the one of the sub-blocks pointing to a long-term reference image:

setting the scaling factor of the motion vector of the related reference block of the one of the sub-blocks to 1;

scaling the motion vector of the related reference block of the one of the sub-blocks using the scaling factor; and

determining the motion information of the one of the sub-blocks according to the motion vector after being scaled; and

performing prediction for the coding unit according to the motion information of the one of the sub-blocks; and

in response to the size of the coding unit being smaller than 8×8, skipping the processing.

2. An encoder comprising:

a memory storing computer executable instructions; and

a processor configured to execute the instructions to:

in response to a size of a coding unit being not smaller than 8×8, perform processing including:

dividing the coding unit into several sub-blocks each having a fixed size of 8×8;

obtaining M candidate motion vectors, M being an integer larger than 1, and the M candidate motion vectors including a motion vector of a left neighboring block of the coding unit;

scanning N candidate motion vectors of the M candidate motion vectors, N being an integer smaller than M, and:

in response to a reference frame pointed to by one candidate motion vector of the N candidate motion vectors being same as a co-located reference image of the coding unit, determining the one motion vector as a reference motion vector of the coding unit; and

in response to none of the N candidate motion vectors pointing to a reference frame same as the co-located reference image of the coding unit, determining a default value (0, 0) as the reference motion vector of the coding unit;

determining a related reference block of one of the sub-blocks of the coding unit in the co-located reference image of the coding unit according to the reference motion vector of the coding unit;

in response to a motion vector of the related reference block of the one of the sub-blocks pointing to a short-term reference image:

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

 a temporal distance between a reference image pointed to by the motion vector of the related reference block of the one of the sub-blocks and the co-located reference image of the coding unit, and

 a temporal distance between the co-located reference image of the coding unit and an image containing the coding unit;

scaling the motion vector of the related reference block of the one of the sub-blocks using the scaling factor; and

determining motion information of the one of the sub-blocks according to the motion vector after being scaled;

in response to the motion vector of the related reference block of the one of the sub-blocks pointing to a long-term reference image:

setting the scaling factor of the motion vector of the related reference block of the one of the sub-blocks to 1;

scaling the motion vector of the related reference block of the one of the sub-blocks using the scaling factor; and

determining the motion information of the one of the sub-blocks according to the motion vector after being scaled; and

performing prediction for the coding unit according to the motion information of the one of the sub-blocks; and

in response to the size of the coding unit being smaller than 8×8, skip the processing.

3. A decoder comprising:

a memory storing computer executable instructions; and

a processor configured to execute the instructions to:

in response to a size of a coding unit being not smaller than 8×8, perform processing including:

dividing the coding unit into several sub-blocks each having a fixed size of 8×8;

obtaining M candidate motion vectors, M being an integer larger than 1, and the M candidate motion vectors including a motion vector of a left neighboring block of the coding unit;

scanning N candidate motion vectors of the M candidate motion vectors, N being an integer smaller than M, and:

in response to a reference frame pointed to by one candidate motion vector of the N candidate motion vectors being same as a co-located reference image of the coding unit, determining the one motion vector as a reference motion vector of the coding unit; and

in response to none of the N candidate motion vectors pointing to a reference frame same as the co-located reference image of the coding unit, determining a default value (0, 0) as the reference motion vector of the coding unit;

determining a related reference block of one of the sub-blocks of the coding unit in the co-located reference image of the coding unit according to the reference motion vector of the coding unit;

in response to a motion vector of the related reference block of the one of the sub-blocks pointing to a short-term reference image:

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

 a temporal distance between a reference image pointed to by the motion vector of the related reference block of the one of the sub-blocks and the co-located reference image of the coding unit, and

 a temporal distance between the co-located reference image of the coding unit and an image containing the coding unit;

scaling the motion vector of the related reference block of the one of the sub-blocks using the scaling factor; and

determining motion information of the one of the sub-blocks according to the motion vector after being scaled;

in response to the motion vector of the related reference block of the one of the sub-blocks pointing to a long-term reference image:

setting the scaling factor of the motion vector of the related reference block of the one of the sub-blocks to 1;

scaling the motion vector of the related reference block of the one of the sub-blocks using the scaling factor; and

determining the motion information of the one of the sub-blocks according to the motion vector after being scaled; and

performing prediction for the coding unit according to the motion information of the one of the sub-blocks; and

in response to the size of the coding unit being smaller than 8×8, skip the processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2021
From: ZHENG, XIAOZHEN; WANG, SUHONG; WANG, SHANSHE; MA, SIWEI; LI, WEIRAN
To: SZ DJI TECHNOLOGY CO., LTD.
Reel/Frame 055802/0832 →
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 (3)
Continuation 17039879 · Sep 30, 2020
Continuation PCTCN2018107436 · Sep 25, 2018
Related Publication 20210227252A1 · Jul 22, 2021