Subblock Affine Motion Model for Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video encoding and decoding technologies face inefficiencies in inter prediction methods, particularly in affine motion compensation, where storing control-point motion vectors (CPMVs) requires significant buffer storage, and determining subblock motion vectors as CPMVs can lead to increased complexity and prediction errors.

Innovation Solution

The technique involves selecting subblock motion vectors as control-point motion vectors for a current block, generating an affine motion model using these subblock motion vectors, and predicting the current block based on the model, thereby reducing the need for separate CPMV storage and simplifying the prediction process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If control-point motion vectors are stored separately in buffer, then affine motion compensation can be performed, but buffer storage requirements increase significantly

Engineering Contradiction:
Improveaffine motion compensation capabilityVSAvoidbuffer storage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the storage of control-point motion vectors with the subblock motion vector storage. Instead of maintaining separate CPMV buffers, the system uses the existing subblock motion vector storage to also hold the control-point motion vectors, thereby eliminating the need for additional buffer storage while preserving affine motion compensation capability

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent makes the subblock motion vector storage serve multiple functions: it stores both the subblock motion vectors needed for inter prediction and the control-point motion vectors needed for affine motion compensation. This multi-functional approach eliminates the need for dedicated CPMV storage space

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If subblock motion vectors are determined as control-point motion vectors, then storage requirements are reduced, but prediction complexity and errors increase

Engineering Contradiction:
Improvestorage requirementsVSAvoidprediction process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies local quality by selecting specific subblocks (corner subblocks) to serve as control points for affine motion compensation. Instead of using all subblocks uniformly, it identifies and uses only the corner subblocks' motion vectors as control-point motion vectors, thereby reducing complexity while maintaining prediction accuracy

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the block into corner subblocks and uses only those specific segments' motion vectors for affine motion compensation. This segmentation approach allows the system to use a subset of subblock motion vectors (corner ones) as control points, reducing the complexity of determining and storing CPMVs while maintaining sufficient prediction accuracy

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11102476B2Subblock based affine motion model
Publication Date: 2021.08.24 QUALCOMM INC
  • US11102476B2 patent drawing
  • US11102476B2 patent drawing
  • US11102476B2 patent drawing

AI summary

A device for processing video data includes a memory configured to store video data and one or more processors implemented in circuitry. The one or more processors are configured to select two or more subblocks of one or more blocks of video data and generate an affine motion model for a current block of video data using a subblock motion vector from each of the two or more subblocks as control-point motion vectors for the current block. The one or more processors are further configured to determine one or more prediction blocks based on the affine motion model and predict the current block with the one or more prediction blocks.