IP Library › Granted Patent US 11,683,496
Granted Patent B2
US 11,683,496 · App. 17/525,944 · Granted Jun 20, 2023

Motion vector prediction method and related apparatus

Inventors: Huanbang Chen (Shenzhen, CN); Haitao Yang (Shenzhen, CN); Jianle Chen (San Diego, CA); Jiali Fu (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/139H04N19/119H04N19/176H04N19/61
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,683,496
App. No.
17/525,944
Granted
Jun 20, 2023
Kind
B2
Abstract

A motion vector prediction method includes parsing a bitstream to obtain an index value of a candidate motion vector list and constructing the candidate motion vector list that includes. candidate motion vectors of K control points of a current block. The candidate motion vectors of K control points are obtained based on a 2N-parameter affine transform model used for a neighboring block of the current block, where N and K are integers greater than or equal to 2 and less than or equal to 4 with N not being equal to K. The method further includes determining, in the candidate motion vector list, target candidate motion vectors of the K control points based on the index value and obtaining a predicted motion vector of each subblock of the current block based on the target candidate motion vectors of the K control points.

Claims (40)

1. A motion vector prediction method implemented by a coding device, comprising:

parsing a bitstream to obtain an index value of a control point motion vector predictor candidate list and motion vector differences (MVD)s of K control points of the current block;

when an affine model of a current block is a 2×K-parameter affine transform model, and an affine transform model of a neighboring block of the current block is a 2×N-parameter affine transform model, obtaining, according to the 2×N-parameter affine transform model for the neighboring block, candidate motion vector predictors of K control points of the current block, wherein the 2×N-parameter affine transform model is obtained based on motion vectors of N control points of the neighboring block, N is an integer equal to 2, K is an integer equal to 3, the neighboring block is a decoded image block spatially adjacent to the current block, and the current block comprises a plurality of subblocks;

constructing the control point motion vector predictor candidate list, wherein the control point motion vector predictor candidate list comprises the candidate motion vector predictors of K control points of the current block;

determining, in the control point motion vector predictor candidate list, target candidate motion vector predictors of the K control points based on the index value;

obtaining a motion vector of each subblock of the plurality of subblocks in the current block based on motion vectors (MV)s of the K control points of the current block, wherein the MVs of the K control points of the current block are obtained based on the target candidate motion vector predictors of the K control points and the MVDs of the K control points of the current block; and

generating a prediction block of the current block based on the motion vectors of the plurality of subblocks in the current block.

2. The method according to claim 1 , wherein candidate motion vector predictors of three control points of the current block are obtained based on a 4-parameter affine transform model for the neighboring block of the current block, wherein the N control points of the neighboring block are a top-left control point and a top-right control point of the neighboring block, but the K control points of the current block are a top-left control point, a bottom-left control point and a top-right control point of the current block.

3. The method according to claim 1 , wherein the obtaining the motion vector of each subblock of the plurality of subblocks in the current block based on the MVs of the K control points of the current block comprises:

obtaining the MVs of the K control points of the current block based on the target candidate motion vector predictors of the K control points and the MVDs of the K control points of the current block;

obtaining the 2×K-parameter affine transform model of the current block based on the MVs of the K control points of the current block; and

obtaining the motion vector of each subblock of the current block based on the 2×K-parameter affine transform model.

4. The method according to claim 1 , wherein the method further comprises after the determining, in the control point motion vector predictor candidate list, the target candidate motion vector predictors of the K control points based on the index value, obtaining the 2×K-parameter affine transform model of the current block based on the MVs of the K control points of the current block; and

correspondingly, the obtaining the motion vector of each subblock of the plurality of subblocks in the current block based on the MVs of the K control points of the current block comprises:

obtaining the motion vector of each subblock of the plurality of subblocks in the current block based on the 2×K-parameter affine transform model of the current block.

5. A decoding device, comprising:

a non-transitory computer-readable medium configured to store computer-readable instructions; and

a processor in communication with the non-transitory computer-readable medium and configured to execute the computer-readable instructions stored in the non-transitory computer-readable medium thereby performing operations of:

parsing a bitstream to obtain an index value of a control point motion vector predictor candidate list and motion vector differences (MVD)s of K control points of the current block;

when an affine model of a current block is a 2×K-parameter affine transform model, and an affine transform model of a neighboring block of the current block is a 2×N-parameter affine transform model, obtaining, according to the 2×N-parameter affine transform model used for the neighboring block, candidate motion vector predictors of K control points of the current block, wherein the 2×N-parameter affine transform model is obtained based on motion vectors of N control points of the neighboring block, N is an integer equal to 2, K is an integer equal to 3, the neighboring block is a decoded image block spatially adjacent to the current block, and the current block comprises a plurality of subblocks; and construct the control point motion vector predictor candidate list, wherein the control point motion vector predictor candidate list comprises the candidate motion vector predictors of K control points of the current block;

determining, in the control point motion vector predictor candidate list, target candidate motion vector predictors of the K control points of the current block based on the index value;

obtaining a motion vector of each subblock of the plurality of subblocks in the current block based on motion vectors (MV)s of the K control points of the current block, wherein the MVs of the K control points of the current block are obtained based on the target candidate motion vector predictors of the K control points of the current block and the MVDs of the K control points of the current block; and

generating a prediction block of the current block based on the motion vectors of the plurality of subblocks in the current block.

6. The decoding device according to claim 5 , wherein candidate motion vector predictors of three control points of the current block are obtained based on a 4-parameter affine transform model for the neighboring block of the current block, wherein the N control points of the neighboring block are a top-left control point and a top-right control point of the neighboring block, but the K control points of the current block are a top-left control point, a bottom-left control point and a top-right control point of the current block.

7. The decoding device according to claim 5 , wherein the processor is further configured to execute the computer-readable instructions stored in the non-transitory computer-readable medium thereby performing the operations of:

obtaining the MVs of the K control points of the current block based on the target candidate motion vector predictors of the K control points and the MVDs of the K control points of the current block;

obtaining the 2×K-parameter affine transform model of the current block based on the MVs of the K control points of the current block; and

obtaining the motion vector of each subblock of the current block based on the 2×K-parameter affine transform model of the current block.

8. The decoding device according to claim 5 , wherein the processor is further configured to execute the computer-readable instructions stored in the non-transitory computer-readable medium thereby performing the operations of:

after determining, in the control point motion vector predictor candidate list, the target candidate motion vector predictors of the K control points of the current block based on the index value, obtaining the 2×K-parameter affine transform model of the current block based on the MVs of the K control points of the current block.

9. The decoding device according to claim 8 , wherein the processor is specifically configured to execute the computer-readable instructions stored in the non-transitory computer-readable medium thereby performing the operations of:

obtaining the motion vector of each subblock of the plurality of subblocks in the current block based on the 2×K-parameter affine transform model of the current block.

10. A non-transitory computer-readable medium storing computer instructions, that when executed by one or more processors, cause the one or more processors to perform operations of:

parsing a bitstream to obtain an index value of a control point motion vector predictor candidate list and motion vector differences (MVD)s of K control points of the current block;

when an affine model of a current block is a 2×K-parameter affine transform model, and an affine transform model of a neighboring block of the current block is a 2×N-parameter affine transform model, obtaining, according to the 2×N-parameter affine transform model used for the neighboring block, candidate motion vector predictors of K control points of the current block, wherein the 2×N-parameter affine transform model is obtained based on motion vectors of N control points of the neighboring block, N is an integer equal to 2, K is an integer equal to 3, N is not equal to K, the neighboring block is a decoded image block spatially adjacent to the current block, and the current block comprises a plurality of subblocks;

constructing the control point motion vector predictor candidate list, wherein the control point motion vector predictor candidate list comprises the candidate motion vector predictors of K control points of the current block;

determining, in the control point motion vector predictor candidate list, target candidate motion vector predictors of the K control points based on the index value;

obtaining a motion vector of each subblock of the plurality of subblocks in the current block based on motion vectors (MV)s of the K control points of the current block, wherein the MVs of the K control points of the current block are obtained based on the target candidate motion vector predictors of the K control points and the MVDs of the K control points of the current block; and

generating a prediction block of the current block based on the motion vectors of the plurality of subblocks in the current block.

11. The non-transitory computer-readable medium according to claim 10 , wherein candidate motion vector predictors of three control points of the current block are obtained based on a 4-parameter affine transform model for the neighboring block of the current block, wherein the N control points of the neighboring block are a top-left control point and a top-right control point of the neighboring block, but the K control points of the current block are a top-left control point, a bottom-left control point and a top-right control point of the current block.

Continuity (5)
Continuation 17140041 · Jan 1, 2021
Continuation PCTCN2018116984 · Nov 22, 2018
Provisional Application 62699733 · Jul 18, 2018
Provisional Application 62693422 · Jul 2, 2018
Related Publication 20220078443A1 · Mar 10, 2022