Motion Estimation Algorithm Reducing Computational Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video processing techniques face challenges in achieving efficient video compression due to high computational complexity and encoding time, particularly in motion estimation, which consumes a significant portion of encoder time and resources, and struggle with implementing rate-distortion optimized motion estimation in hardware.
Innovation Solution
A rate-distortion optimized motion vector predictor-biased variable block-size motion estimation algorithm, referred to as RD optimized single motion vector predictor-biased full search (RDOMFS), is implemented with a matching reconfigurable architecture, utilizing a single motion vector predictor and a 2-D systolic array to achieve efficient coding efficiency, reduce memory usage, and minimize redundant data loading.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If conventional motion estimation techniques (integer or fractional) are used to achieve video compression, then coding efficiency is improved, but computational complexity and encoding time increase significantly
Solution Approach 1:
The search window is divided into multiple sub-regions that are processed independently and in parallel. Each sub-region performs motion estimation on a portion of the block, allowing the overall computation to be segmented across multiple processing elements in the systolic array, thereby reducing the computational burden on any single unit while maintaining coding efficiency.
Solution Approach 2:
The patent transitions from sequential processing to a two-dimensional systolic array architecture, adding spatial dimensionality to the computation. Multiple processing elements are arranged in a 2-D grid that simultaneously performs motion estimation operations, transforming a time-consuming sequential process into a parallel spatial operation that reduces encoding time without sacrificing precision.
2Manufacturing precision
If fractional motion estimation is used to improve coding efficiency, then compression performance increases, but encoding time consumes close to 90% of total encoder time
Solution Approach 1:
The system performs preliminary motion estimation at integer pixel positions first, using the results to guide subsequent fractional position estimation. This preliminary action at coarser resolution reduces the search space for fine-grained fractional motion vectors, thereby maintaining compression performance while significantly reducing the overall encoding time required for fractional motion estimation.
Solution Approach 2:
The motion estimation process uses dynamic step sizes that adapt based on the current search position and block characteristics. Larger steps are taken initially to cover broader search areas, then smaller steps are used near promising regions, creating a dynamic search strategy that balances compression accuracy with encoding speed, avoiding the uniform fine-grained search that causes excessive encoding time.
3Manufacturing precision
If multiple motion vector predictors are used to improve motion estimation accuracy, then coding efficiency increases, but memory usage and data loading requirements increase
Solution Approach 1:
Multiple motion vector predictors from different spatial locations are merged into a single composite predictor for the current block. Instead of storing and processing multiple separate motion vectors, the system combines information from left, top, and top-right neighboring blocks into one unified predictor, reducing memory requirements while maintaining the accuracy benefits of multiple reference points.
Solution Approach 2:
The motion vector predictor mechanism is designed to universally handle different block sizes and positions using the same set of reference blocks. The predictor adapts to various scenarios (different block dimensions, different positions in the frame) by selecting from a universal set of neighboring blocks, eliminating the need for separate predictor storage for each block type and reducing overall memory usage.
Data Source
AI summary
Provided is sub-block motion estimation that includes a full search with a reduced search area around a motion vector predictor. Also provided are a single (or unified) motion vector predictor and a function similar to a rate-distortion cost function. Also provided is a scanning order that can reduce or substantially eliminated redundant data loading and/or that can achieve different data re-use ratio. Further, provided herein is a reconfigurable multi-resolution motion vector re-use hardware architecture based on a single motion vector predictor and a function similar to a rate-distortion cost function. Further, through utilization of the disclosed aspects, only a small number of past motion vectors are propagated and the disclosed aspects can be reconfigured for video with different spatial resolution.


