IP Library Granted Patent US 11,368,714
Granted Patent B2
US 11,368,714 · App. 17/039,939 · Granted Jun 21, 2022

Method and device for video image processing

Inventors: Xiaozhen Zheng (Shenzhen, CN); Tianliang Fu (Beijing, CN); Shanshe Wang (Beijing, CN); Siwei Ma (Beijing, CN); Weiran Li (Shenzhen, CN); Suhong Wang (Beijing, 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,368,714
App. No.
17/039,939
Granted
Jun 21, 2022
Kind
B2
Abstract

A video image processing method includes dividing a coding unit into one or more sub-block, constructing first and second motion vector candidate lists, and performing prediction for the coding unit according to the first and second motion vector candidate lists. The first motion vector candidate list includes a motion vector of a sub-block of the coding unit, and the second motion vector candidate list includes a motion vector of the coding unit. Constructing the first motion vector candidate list includes determining a reference motion vector of the coding unit, determining a related reference block of the sub-block of the coding unit in a co-located reference image of the coding unit according to the reference motion vector, determining a scaling factor of the motion vector of the related reference block, adding the scaled motion vector into the first motion vector candidate list.

Claims (59)

1. A video image processing method comprising:

dividing a coding unit into one or more sub-blocks;

constructing a first motion vector candidate list and a second motion vector candidate list, the first motion vector candidate list including a motion vector of one of the one or more sub-blocks of the coding unit, and the second motion vector candidate list including a motion vector of the coding unit; and

performing prediction for the coding unit according to the first motion vector candidate list and the second motion vector candidate list;

wherein constructing the first motion vector candidate list includes:

scanning a left neighboring block of the coding unit and:

in response to a reference frame pointed to by a motion vector of the left neighboring block being same as a co-located reference image of the coding unit, determining the motion vector of the left neighboring block as a reference motion vector of the coding unit; and

in response to the reference frame pointed to by the motion vector of the left neighboring block being different from 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 the one of the one or more 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 one or more sub-blocks pointing to a short-term reference image:

performing a scaling operation including:

determining a scaling factor of the motion vector of the related reference block of the one of the one or more 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 one or more 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; and

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

adding the motion vector of the related reference block of the one of the one or more sub-blocks after being scaled into the first motion vector candidate list; and

in response to the motion vector of the related reference block of the one of the one or more sub-blocks pointing to a long-term reference image, skipping the scaling operation and adding the motion vector of the related reference block of the one of the one or more sub-blocks without scaling into the first motion vector candidate list.

2. The method of claim 1 , wherein constructing the first motion vector candidate list further includes:

determining a control point motion vector group of a neighboring block predicted by an affine transformation mode from neighboring blocks of the coding unit in a specific scanning order; and

adding the control point motion vector group as a candidate to the first motion vector candidate list.

3. A video image processing device comprising:

a memory storing computer executable instructions; and

a processor configured to execute the instructions to:

divide a coding unit into one or more sub-blocks;

construct a first motion vector candidate list and a second motion vector candidate list, the first motion vector candidate list including a motion vector of one of the one or more sub-blocks of the coding unit, and the second motion vector candidate list including a motion vector of the coding unit; and

perform prediction for the coding unit according to the first motion vector candidate list and the second motion vector candidate list;

wherein the processor executes the instructions to construct the first motion vector candidate list by:

scanning a left neighboring block of the coding unit and:

in response to a reference frame pointed to by a motion vector of the left neighboring block being same as a co-located reference image of the coding unit, determining the motion vector of the left neighboring block as a reference motion vector of the coding unit; and

in response to the reference frame pointed to by the motion vector of the left neighboring block being different from 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 the one of the one or more 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 one or more sub-blocks pointing to a short-term reference image:

performing a scaling operation including:

 determining a scaling factor of the motion vector of the related reference block of the one of the one or more 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 one or more 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; and

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

adding the motion vector of the related reference block of the one of the one or more sub-blocks after being scaled into the first motion vector candidate list; and

in response to the motion vector of the related reference block of the one of the one or more sub-blocks pointing to a long-term reference image, skipping the scaling operation and adding the motion vector of the related reference block of the one of the one or more sub-blocks without scaling into the first motion vector candidate list.

4. The device of claim 3 , wherein the processor is further configured to execute the instructions to:

determine a control point motion vector group of a neighboring block predicted by an affine transformation mode from neighboring blocks of the coding unit in a specific scanning order; and

add the control point motion vector group as a candidate to the first motion vector candidate list.

5. A computer-readable storage medium storing a bitstream obtained by a video image processing method including:

dividing a coding unit into one or more sub-blocks;

constructing a first motion vector candidate list and a second motion vector candidate list, the first motion vector candidate list including a motion vector of one of the one or more sub-blocks of the coding unit, and the second motion vector candidate list including a motion vector of the coding unit; and

performing prediction for the coding unit according to the first motion vector candidate list and the second motion vector candidate list;

wherein constructing the first motion vector candidate list includes:

scanning a left neighboring block of the coding unit and:

in response to a reference frame pointed to by a motion vector of the left neighboring block being same as a co-located reference image of the coding unit, determining the motion vector of the left neighboring block as a reference motion vector of the coding unit; and

in response to the reference frame pointed to by the motion vector of the left neighboring block being different from 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 the one of the one or more 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 one or more sub-blocks pointing to a short-term reference image:

performing a scaling operation including:

determining a scaling factor of the motion vector of the related reference block of the one of the one or more 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 one or more 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; and

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

adding the motion vector of the related reference block of the one of the one or more sub-blocks after being scaled into the first motion vector candidate list; and

in response to the motion vector of the related reference block of the one of the one or more sub-blocks pointing to a long-term reference image, skipping the scaling operation and adding the motion vector of the related reference block of the one of the one or more sub-blocks without scaling into the first motion vector candidate list.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2020
From: ZHENG, XIAOZHEN; FU, TIANLIANG; WANG, SHANSHE; MA, SIWEI; LI, WEIRAN; WANG, SUHONG
To: SZ DJI TECHNOLOGY CO., LTD.
Reel/Frame 053940/0781 →
Priority Claims (4)
WO PCT/CN2018/081652 · Apr 2, 2018 · international
WO PCT/CN2018/095710 · Jul 13, 2018 · international
WO PCT/CN2018/103693 · Aug 31, 2018 · international
WO PCT/CN2018/107436 · Sep 25, 2018 · international
Continuity (2)
Continuation PCTCN2018112805 · Oct 30, 2018
Related Publication 20210021825A1 · Jan 21, 2021
Cited By (4)
US 12,294,736 US 12,294,737 US 12,294,738 US 12,389,030