Affine Prediction for Video Coding Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for inter prediction in the H.266 standard fail to guarantee accurate prediction of large coding blocks, as the accuracy of motion vector prediction decreases with the distance of sub-blocks from control points.

Innovation Solution

An affine prediction method that divides the current coding block into multiple areas, sets a corresponding control point motion vector for each area, and affine-predicts motion vectors of sub-blocks within each area using the respective control point motion vector.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single control point motion vector is used for the entire large coding block, then the device complexity is reduced, but the prediction accuracy of sub-blocks far from the control point deteriorates

Engineering Contradiction:
Improvecontrol point configuration complexityVSAvoidmotion vector prediction accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The large coding block is divided into multiple areas, with each area having its own control point motion vector. This segmentation allows each sub-region to be predicted using a nearby control point, improving prediction accuracy while keeping each local computation simple

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different areas of the coding block are assigned different control point motion vectors based on their local characteristics and distance from control points. This ensures that each local region uses the most appropriate control point for accurate prediction

Inventive Principle:
Principle #3Local quality

2Measurement precision

If multiple control point motion vectors are used for different areas, then the prediction accuracy of sub-blocks is improved, but the device complexity increases

Engineering Contradiction:
Improvemotion vector prediction accuracyVSAvoidcontrol point configuration complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The coding block is segmented into multiple areas, each handled independently with its own control point. This allows parallel processing and distributes the computational complexity across multiple simpler local operations rather than one complex global operation

Inventive Principle:
Principle #1Segmentation

3Productivity

If the coding block size is increased to reduce the number of blocks, then the processing efficiency is improved, but the prediction accuracy deteriorates due to larger distance from control points

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidmotion vector prediction accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The large coding block is divided into multiple smaller areas, each with its own control point. This maintains the benefit of processing large blocks efficiently while ensuring that no sub-block is too far from its controlling reference point, preserving prediction accuracy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The problem is solved by adding a spatial dimension to the control point configuration - instead of one control point for the entire block, multiple control points are distributed across the block area, creating a two-dimensional control point layout that matches the spatial distribution of sub-blocks

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

Data Source

PatentUS12267495B2Affine predication method, computing device and non-transitory storage medium
Publication Date: 2025.04.01 ZHEJIANG DAHUA TECH CO LTD
  • US12267495B2 patent drawing
  • US12267495B2 patent drawing
  • US12267495B2 patent drawing

AI summary

An affine prediction method, a computing device and a non-transitory storage medium are disclosed. The method includes obtaining a current coding block comprising a plurality of sub-blocks arranged in an array; dividing the current coding block into at least two areas, wherein each area of the at least two areas comprises two or more of the sub-blocks; setting a corresponding control point motion vector (CPMV) for one or more control points in the each area, respectively; and affine-predicting motion vectors (MVs) of the two or more of the sub-blocks in the each area, using the corresponding CPMV.