History-Based Motion Vector Prediction Table Update for Affine Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In video coding techniques that use both inter prediction and affine mode motion compensation, the accuracy of history-based motion vector prediction (HMVP) tables deteriorates when a picture contains many affine coded blocks, as motion information from farther blocks becomes less accurate compared to closer blocks.

Innovation Solution

Updating the HMVP table by incorporating motion vectors from spatially neighboring blocks during affine mode coding to maintain accuracy, even when coding blocks using affine motion compensation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the HMVP table is updated using motion vectors from previously coded blocks, then the HMVP table contains historical motion information, but the accuracy deteriorates when many affine coded blocks are present because motion information from farther blocks becomes less accurate

Engineering Contradiction:
Improvequantity of motion information in HMVP tableVSAvoidaccuracy of motion vector prediction
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent applies local quality by prioritizing motion information from spatially neighboring blocks over distant blocks when updating the HMVP table. Specifically, it checks whether the current block has spatial neighbors with valid motion vectors and uses those local neighbors' motion information preferentially, ensuring that the HMVP table contains motion vectors from blocks that are spatially closer and thus more relevant to the current block's motion characteristics.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent introduces dynamic adaptation by modifying the HMVP table update mechanism based on the coding mode and spatial relationship of blocks. When an affine coded block is encountered, the system dynamically adjusts which motion vectors are added to the HMVP table by checking for spatial neighbors and selectively incorporating their motion information, making the HMVP table content adaptive to the local motion patterns rather than following a fixed update sequence.

Inventive Principle:
Principle #15Dynamics

2Productivity

If motion vectors from all previously coded blocks are added to the HMVP table in coding order, then the HMVP table is continuously updated, but the performance deteriorates when affine mode blocks are frequently used

Engineering Contradiction:
Improvecoding efficiencyVSAvoidreliability of motion vector prediction
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing a spatial neighbor check before adding motion vectors to the HMVP table. The system proactively determines whether spatially neighboring blocks exist and have valid motion vectors before proceeding with the HMVP table update, preventing the inclusion of potentially inaccurate motion information from affine coded blocks that are not spatial neighbors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by continuously monitoring the coding mode of previously coded blocks and the spatial relationship between blocks. The system uses this feedback to dynamically adjust the HMVP table update process, stopping or modifying updates when affine coded blocks are detected without valid spatial neighbors, thereby maintaining prediction reliability based on real-time coding conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11212550B2History-based motion vector prediction for affine mode
Publication Date: 2021.12.28 QUALCOMM INC
  • US11212550B2 patent drawing
  • US11212550B2 patent drawing
  • US11212550B2 patent drawing

AI summary

A method of coding video data, including coding a first block of video data using affine motion compensation prediction, updating a history-based motion vector prediction table using one or more motion vectors from one or more blocks that spatially neighbor the first block, determining a motion vector for a second block of video data using the history-based motion vector prediction table, and coding the second block of video data using the determined motion vector.