Early Termination of Motion Vector Refinement in Video Coding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding technologies face inefficiencies due to the high complexity and low prediction accuracy of motion vector refinement processes, particularly in cases where bi-directional motion vectors are small, leading to increased decoder-side complexity and processing time.

Innovation Solution

Implementing early termination conditions for motion vector refinement processes based on the absolute value of bi-directional motion vectors being less than a threshold, allowing for the avoidance of unnecessary refinement and reduction in processing complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If motion vector refinement process is applied to all blocks, then prediction accuracy is improved, but decoder complexity increases significantly

Engineering Contradiction:
Improveprediction accuracyVSAvoiddecoder complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the parameter of motion vector magnitude threshold to determine when refinement is necessary. By monitoring the magnitude of bi-directional motion vectors and comparing against a threshold, the system dynamically adjusts whether to apply the refinement process, thereby controlling complexity while maintaining accuracy where needed

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of applying motion vector refinement to all blocks (excessive action), the patent applies it only to blocks where the bi-directional motion vector magnitude exceeds the threshold (partial action). This selective application reduces overall decoder complexity while maintaining prediction accuracy for blocks that benefit most from refinement

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If motion vector refinement process is applied to blocks with small bi-directional motion vectors, then processing time increases, but prediction accuracy improvement is minimal

Engineering Contradiction:
Improveprediction accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent introduces a magnitude threshold parameter to filter out blocks with small bi-directional motion vectors. By comparing the motion vector magnitude against this threshold, the system identifies blocks where refinement would be wasteful (small vectors) versus blocks where refinement provides value (large vectors), thus optimizing processing time

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies motion vector refinement only partially - specifically to blocks where the bi-directional motion vector magnitude exceeds the threshold. This prevents unnecessary processing time consumption on blocks with small vectors where refinement would yield minimal accuracy improvement

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11792423B2Early termination of motion vector refinement process in video coding
Publication Date: 2023.10.17 QUALCOMM INC
  • US11792423B2 patent drawing
  • US11792423B2 patent drawing
  • US11792423B2 patent drawing

AI summary

A video coder is configured to determine bi-directional motion vectors of a current block of the video data and determine that a condition is satisfied with respect to the current block based on each component of the bi-directional motion vectors of the current block being less than a threshold value. The video coder is further configured to, based on the condition being satisfied with respect to the current block, early terminate application of a motion vector refinement process to the bi-directional motion vectors of the current block. The video coder is further configured to determine a prediction block for the current block based on the bi-directional motion vectors of the current block and reconstruct the current block based on the prediction block for the current block.