Affine Motion Vector Prediction for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding technologies face inefficiencies in handling complex motions such as zoom, rotation, and perspective in video compression, particularly in affine motion models used for block-based video coding.

Innovation Solution

The implementation of affine motion vector prediction and reconstruction techniques, including the use of control points, affine motion vector predictor sets, and signaling of motion vector differences in bitstreams, allows for improved prediction and coding efficiency in affine motion modes within existing video codecs like HEVC.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional motion vector prediction is used for block-based video coding, then the coding process is simple, but complex motions such as zoom, rotation, and perspective cannot be accurately modeled

Engineering Contradiction:
Improvemotion modeling accuracyVSAvoidcoding complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The current block is divided into multiple sub-blocks, each with its own motion vector predictor. This segmentation allows different regions to have different motion characteristics, enabling accurate modeling of complex motions like zoom, rotation, and perspective while maintaining manageable complexity through localized processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from traditional single motion vector prediction to affine motion vector prediction that incorporates spatial dimensionality. By using control points at different positions within the block and applying affine transformation matrices, the system models motion in multiple dimensions simultaneously, capturing complex motion patterns that single-vector approaches cannot represent.

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

2Manufacturing precision

If affine motion vector prediction with multiple control points is implemented, then complex motions are accurately modeled, but the number of bits required for signaling increases

Engineering Contradiction:
Improvemotion prediction accuracyVSAvoidbitrate
Core Design Contradiction:
Manufacturing precisionVSLoss of information

Solution Approach 1:

The patent reuses motion vector predictors from neighboring blocks and reference frames as templates for the current block's affine MVPs. By copying and adapting existing motion information rather than encoding completely new vectors, the system reduces the number of bits required to signal motion data while maintaining accurate motion modeling through the affine transformation framework.

Inventive Principle:
Principle #26Copying

3Productivity

If affine motion vector predictor sets are constructed and signaled in bitstreams, then coding efficiency is improved, but the processing complexity increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent pre-constructs affine motion vector predictor sets (MVP sets) from neighboring blocks and reference information before the actual motion compensation process. By performing this preparation work in advance, the system improves coding efficiency as the MVPs are readily available for selection, while managing processing complexity through organized, staged computation rather than simultaneous complex operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3758378B1Motion vector prediction for affine motion models in video coding
Publication Date: 2022.03.09 QUALCOMM INC
  • EP3758378B1 patent drawingFigure 1
  • EP3758378B1 patent drawingFigure 2A~2B
  • EP3758378B1 patent drawingFigure 3A~3B

AI summary

A video decoder selects a source affine block. The source affine block is an affine-coded block that spatially neighbors a current block. Additionally, the video decoder extrapolates motion vectors of control points of the source affine block to determine motion vector predictors for control points of the current block. The video decoder inserts, into an affine motion vector predictor (MVP) set candidate list, an affine MVP set that includes the motion vector predictors for the control points of the current block. The video decoder also determines, based on an index signaled in a bitstream, a selected affine MVP set in the affine MVP set candidate list. The video decoder obtains, from the bitstream, motion vector differences (MVDs) that indicate differences between motion vectors of the control points of the current block and motion vector predictors in the selected affine MVP set.