Affine Prediction Motion Vector Storage for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-Efficiency Video Coding (HEVC) limitations in capturing complex motions such as zoom-in, rotation, and perspective motions, as it relies solely on translation motion models, leading to inefficiencies in coding and storage of motion vectors.

Innovation Solution

Implementing affine prediction by separately storing control point motion vectors (CPMVs) and motion compensation motion vectors (MCMVs) to derive and utilize affine candidates for motion compensation, allowing for more accurate representation of complex motions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If translation motion model is used for motion compensation, then device complexity is reduced, but manufacturing precision deteriorates because complex motions like zoom-in, rotation, and perspective motions cannot be accurately represented

Engineering Contradiction:
Improvemotion model complexityVSAvoidmotion representation accuracy
Core Design Contradiction:
Device complexityVSManufacturing precision

Solution Approach 1:

The motion model is segmented into multiple components: a translation motion model for basic movement and an affine motion model for complex motions. The affine model is further divided into control point motion vectors (CPMVs) that define transformation parameters. This segmentation allows the system to handle complex motions accurately while keeping the basic translation model for simple cases, resolving the contradiction between device complexity and motion representation accuracy.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If affine prediction with separate CPMV and MCMV storage is implemented, then manufacturing precision improves for representing complex motions, but device complexity increases due to separate storage requirements

Engineering Contradiction:
Improvecomplex motion representationVSAvoidstorage structure complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent introduces a new dimension in storage organization by creating separate storage paths: one for control point motion vectors (CPMVs) and another for motion compensation motion vectors (MCMVs). This dimensional separation allows the system to store and process affine transformation parameters independently from the actual motion compensation data, enabling accurate complex motion representation while organizing storage complexity into manageable separate structures rather than a monolithic complex storage system.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Manufacturing precision

If separate storage for CPMV and MCMV is used, then manufacturing precision improves by enabling accurate affine prediction, but loss of substance increases due to additional storage requirements

Engineering Contradiction:
Improveaffine prediction accuracyVSAvoidstorage usage
Core Design Contradiction:
Manufacturing precisionVSLoss of substance

Solution Approach 1:

The patent applies preliminary action by deriving and storing control point motion vectors (CPMVs) in advance during the encoding process. These CPMVs contain the affine transformation parameters that will be needed for motion compensation. By preparing and storing these control parameters beforehand in a separate storage structure, the system enables accurate affine prediction during decoding without requiring excessive storage during the actual motion compensation operation, thus balancing precision with storage efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11451816B2Storage of motion vectors for affine prediction
Publication Date: 2022.09.20 HFI INNOVATION INC
  • US11451816B2 patent drawing
  • US11451816B2 patent drawing
  • US11451816B2 patent drawing

AI summary

A video coder implementing affine prediction is provided. The video coder receives input data associated with a current block to be coded. The video coder derives a control point motion vector (CPMV) of the current block according to an affine model. The video coder derives a set of motion compensation motion vectors (MCMVs) for a set of sub-blocks of the current block based on the derived CPMV of the current block according to the affine model. The video coder performs motion compensation for the current block based on the set of MCMVs. The CPMV of the current block is derived based on a CPMV of a first reference block that is a neighboring block located in a same region of the current block or an MCMV of a second reference block that is not a neighboring block located in the same region of the current block.