Decoder-Side Motion Vector Refinement Using Offset Search Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video decoding technologies face challenges in efficiently refining motion vectors, leading to increased computational resources and data requirements for processing digital video streams.

Innovation Solution

A hardware-based decoder side motion vector refinement system that includes buffers and hardware components to process pixel values and determine refined motion vectors, reducing computational load through optimized hardware configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software-based motion vector refinement is used, then flexibility and adaptability are improved, but processing speed and real-time performance deteriorate

Engineering Contradiction:
ImproveflexibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent replaces software-based motion vector refinement with a dedicated hardware circuit that performs the refinement operations in parallel. The hardware includes pixel buffers, difference calculation units, and minimum value detection circuits that operate simultaneously to refine multiple motion vectors, achieving real-time processing while maintaining the adaptive refinement capability through configurable search areas and difference metrics.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If computational resources are increased for motion vector refinement, then refinement accuracy is improved, but device complexity and resource consumption worsen

Engineering Contradiction:
Improverefinement accuracyVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the current block into multiple sub-blocks and performs motion vector refinement independently for each sub-block. This segmentation allows the hardware to process smaller regions in parallel, achieving high refinement accuracy for each sub-block while distributing the computational load across multiple simple hardware units rather than requiring a single complex processor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies motion vector refinement selectively to only those sub-blocks that benefit from it, rather than processing the entire frame uniformly. The hardware configuration allows dynamic adjustment of search areas and refinement scope based on local image characteristics, performing partial refinement where needed and avoiding unnecessary computation in uniform regions, thus balancing accuracy with resource efficiency.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If search area is increased for motion vector refinement, then refinement precision is improved, but data requirements and processing time worsen

Engineering Contradiction:
Improverefinement precisionVSAvoiddata requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent implements variable search areas that are adapted to local image characteristics and motion patterns. The hardware configuration allows different search radii and shapes for different sub-blocks based on their motion complexity, applying larger search areas only where needed for high-precision requirements while using smaller search areas in uniform regions, thus optimizing the balance between precision and data volume.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12587665B2Hardware efficient decoder side motion vector refinement
Publication Date: 2026.03.24 GOOGLE LLC
  • US12587665B2 patent drawing
  • US12587665B2 patent drawing
  • US12587665B2 patent drawing

AI summary

Various hardware arrangements for use with a hardware decoder are described to perform motion vector (MV) refinement. A buffer stores pixel values for a first prediction block identified by a first initial MV and pixels defined by a first search area and stores a second prediction block identified by a second initial MV and pixels defined by a second search area. The first and second initial MVs were used for inter prediction of a block of image data. Second hardware components determine, for multiple pixel locations defined by respective offsets, a respective difference value between the blocks shifted by the offsets. A third hardware component determines a minimum of the difference values to identify an offset MV for MV refinement, and a fourth hardware component outputs one or more refined values based on the offset MV to reconstruct a sub-block of the block.