Affine Motion Vector Derivation for Sub-Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video coding technologies face challenges with affine motion compensation, including increased memory requirements, precision loss in motion vector derivation, and inefficient construction of sub-block motion candidate lists, particularly in affine merge and inter modes.

Innovation Solution

The proposed solution involves optimizing affine motion compensation by reducing memory requirements, improving motion vector derivation precision, and adaptively managing sub-block motion candidate lists through techniques such as affine model inheritance, direct derivation of sub-block motion vectors from neighboring blocks, and adaptive ordering of candidate lists based on coded block information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If affine motion compensation is applied to improve motion prediction accuracy, then motion vector precision is improved, but memory requirements increase

Engineering Contradiction:
Improvemotion vector precisionVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts and stores only the necessary control point motion vectors (CP-MVs) at specific locations rather than storing all motion vectors. This selective extraction reduces memory requirements while maintaining the precision needed for affine motion compensation by deriving other motion vectors from these stored CP-MVs through affine transformation equations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The current block is divided into multiple sub-blocks, each with its own motion vector derived from control points. This segmentation allows the system to use fewer control points per sub-block while maintaining overall precision, thereby reducing total memory requirements compared to storing full motion vectors for every pixel or large block.

Inventive Principle:
Principle #1Segmentation

2Reliability

If control point motion vectors are derived and stored for predicting other blocks, then prediction accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveprediction accuracyVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary derivation and storage of control point motion vectors at specific locations before actual motion compensation. These pre-computed CP-MVs are stored in a candidate list and reused for predicting multiple subsequent blocks, which improves prediction accuracy while reducing the computational complexity of real-time processing by avoiding redundant calculations.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If sub-block motion candidate lists are constructed using traditional methods, then motion information is obtained, but computational complexity increases

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

Solution Approach 1:

The patent applies partial action by deriving motion vectors only for necessary sub-blocks using a simplified approach. Instead of performing full affine transformations for all sub-blocks, the system uses direct derivation from neighboring block CP-MVs for certain sub-blocks, reducing computational complexity while maintaining sufficient coding efficiency for those regions.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12069292B2Motion vector derivation for sub-block in affine mode
Publication Date: 2024.08.20 DOUYIN VISION CO LTD
  • US12069292B2 patent drawing
  • US12069292B2 patent drawing
  • US12069292B2 patent drawing

AI summary

A method of video processing includes: determining an affine mode type to be applied to a current block coded in an affine mode in a video frame, wherein the current block is split into a plurality of sub-blocks; and deriving motion information for each of the plurality of sub-blocks based on the affine mode type, at least one control point (CP) motion vector (MV) at a specific location being derived and stored for predicting other blocks to be processed subsequently.