Motion Compensation Refinement Using Optical Flow Gradients

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding systems face limitations in precision refinement for motion compensation, leading to inefficiencies in prediction accuracy and increased signaling overhead.

Innovation Solution

The method involves refining motion-compensated predictions using optical flow, where a motion vector refinement is determined and used to calculate a sample difference value, which is then added to the initial predicted sample value to generate a refined sample value.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If motion compensation precision is increased to achieve pixel-level granularity, then prediction accuracy is improved, but signaling overhead and system complexity increase

Engineering Contradiction:
Improvemotion compensation precisionVSAvoidsignaling overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the motion compensation refinement process into distinct stages: initial motion compensation, optical flow calculation, and gradient-based refinement. By dividing the refinement into sub-block level and sample level operations, the system achieves high precision without requiring complete re-signalting of all motion parameters, thus reducing signaling overhead while maintaining pixel-level granularity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the precision parameters dynamically during the refinement process. It uses the optical flow magnitude and spatial gradient values to determine the appropriate refinement level for each region, adjusting the precision parameter (delta MV precision) based on local motion characteristics rather than applying uniform high precision across the entire block

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If motion vector refinement is applied to all sample positions, then prediction accuracy is improved, but computational complexity and memory access bandwidth increase

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

Solution Approach 1:

The patent applies local quality by using spatial gradients to identify regions with high variation and applying refined motion compensation only in those areas. The optical flow calculation and gradient-based refinement are selectively applied based on local motion characteristics, ensuring high prediction accuracy in complex regions while avoiding unnecessary computations in uniform regions, thus reducing overall computational complexity

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by performing motion vector refinement on a sub-block basis rather than for every single sample position. The refinement is applied selectively to regions where the optical flow indicates significant motion, providing sufficient precision without the excessive computational burden of processing every sample at maximum precision

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20250056002A1Precision refinement for motion compensation with optical flow
Publication Date: 2025.02.13 INTERDIGITAL VC HOLDINGS INC
  • US20250056002A1 patent drawing
  • US20250056002A1 patent drawing
  • US20250056002A1 patent drawing

AI summary

Systems and methods are described for refining motion compensated predictions in block-based video coding. In an example embodiment, motion-compensated prediction is used to generate predicted sample values in a current block of samples. A precision difference value and a motion vector refinement for the current block are signaled in the bitstream. For each sample in the current block, a spatial gradient is calculated at the sample, and a scalar product is calculated between the spatial gradient and the motion vector refinement. The scalar product is scaled (e.g. bit-shifted) by an amount indicated by the precision difference value to generate a sample difference value, and the sample difference value is added to the predicted sample value to generate a refined sample value.