Adaptive Search Range for Motion Estimation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current motion estimation techniques in video coding face inefficiencies in determining search ranges for motion vectors, particularly when encoding bi-predictive frames, as they often require extensive searches across multiple reference frames without adequate bounding, leading to increased computational complexity and reduced performance.

Innovation Solution

The proposed solution involves determining a search range vector using adaptive processing functions that utilize mean values of motion vectors from neighboring blocks or reference frames, allowing for efficient derivation of motion vectors through mirror and projective motion estimation methods, which can be applied at both block and picture levels, thereby bounding the search extent and improving estimation efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional motion estimation is performed across multiple reference frames without adequate search range bounding, then motion vector accuracy may be improved, but computational complexity increases significantly

Engineering Contradiction:
Improvemotion vector accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by determining a bounded search range before performing motion estimation. The search range is calculated using motion vectors from neighboring blocks and reference frames, establishing boundaries that constrain the subsequent motion search. This preliminary bounding reduces the computational search space while maintaining accuracy, as the search is confined to regions most likely to contain the optimal motion vector.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by adaptively adjusting the search range boundaries based on local motion characteristics. The search range is not fixed but dynamically determined using motion vectors from neighboring blocks and temporal reference frames. This adaptive approach allows the search to expand or contract based on actual motion patterns in different regions, optimizing the balance between accuracy and computational complexity.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If extensive search across multiple reference frames is performed for bi-predictive frames, then prediction accuracy improves, but processing time increases

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

Solution Approach 1:

The patent applies preliminary action by pre-calculating search range boundaries using motion vectors from neighboring blocks and reference frames before performing the actual motion estimation for bi-predictive frames. This preliminary bounding prevents exhaustive searches across entire reference frames, significantly reducing processing time while maintaining prediction accuracy within the constrained search regions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by performing motion estimation only within the calculated bounded search ranges rather than across entire reference frames. For bi-predictive frames, this means searching only in the relevant portions of forward and backward reference frames where motion is likely to occur, based on neighboring block information, thus reducing processing time while maintaining sufficient prediction accuracy.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If search range is fixed for all blocks, then device complexity is reduced, but motion estimation accuracy deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoidmotion estimation accuracy
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent applies local quality by determining customized search ranges for different blocks based on their local motion characteristics. Instead of using a uniform search range for all blocks, the patent calculates individual search ranges using motion vectors from neighboring blocks and temporal reference frames. This allows each block to have a search range optimized for its specific motion pattern, improving motion estimation accuracy without significantly increasing overall device complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent applies parameter changes by dynamically adjusting search range parameters (boundaries and extents) based on motion vector information from neighboring blocks and reference frames. The search range parameters are modified adaptively for different blocks and temporal locations, allowing the system to optimize motion estimation accuracy by matching search range characteristics to local motion characteristics rather than using fixed parameters.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9445103B2Methods and apparatus for adaptively choosing a search range for motion estimation
Publication Date: 2016.09.13 TAHOE RES LTD
  • US9445103B2 patent drawing
  • US9445103B2 patent drawing
  • US9445103B2 patent drawing

AI summary

Systems, methods, and computer program products that can be used to determine a search range (SR) when performing motion estimation at, for example, a video encoder or decoder. Determining a motion vector for a current block during motion estimation may involve searching within a search window that may reside in a reference frame, or in a previously decoded block that spatially or temporally neighbors the current block. Such a search seeks a motion vector that minimizes a metric, such as a sum of absolute differences between corresponding blocks of reference frames. A motion vector that minimizes such a metric may be a good candidate for use in motion estimation. The search may become more efficient if a search range is determined such that the extent of the search is bounded. A search range may be determined at the block level or at the picture level.