Fast Block-Matching Motion Estimation in Video Encoders
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video encoding systems face high computational complexity in motion estimation, particularly in standards like H.264/MPEG4 AVC, which affects compression efficiency and quality, due to the need for extensive searches and multiple reference frames.
Innovation Solution
A fast motion estimation scheme that uses adaptive predictor selection, early termination criteria, and iterative refinement patterns to reduce the search space, focusing on efficient predictor sets and patterns like PMVFAST, APDZS, and EPZS, while considering temporal and spatial correlations and distortion metrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If full search motion estimation is used to ensure accurate block matching, then compression quality is improved, but computational complexity increases significantly
Solution Approach 1:
The patent divides the search space into multiple zones around the predictor position, with different search densities in different zones. The first zone has higher search density than the second zone, allowing accurate search where motion is likely to occur while reducing unnecessary searches in peripheral areas, thus resolving the contradiction between accuracy and complexity.
Solution Approach 2:
The patent performs predictor generation before the actual motion estimation search. By calculating motion vectors from co-located blocks and adjacent blocks in advance, the system establishes a starting point that is already close to the optimal position, reducing the search space and computational requirements while maintaining accuracy.
2Measurement precision
If extensive search areas are used to cover all possible motion vectors, then motion estimation accuracy is improved, but encoding time increases
Solution Approach 1:
The patent segments the search area into a first search zone and a second search zone based on distance from the predictor position. The first zone covers a smaller area with higher search priority, while the second zone covers a larger area with lower search priority. This segmentation allows the system to achieve good motion estimation results quickly by focusing on the most likely search areas first.
Solution Approach 2:
The patent applies different search strategies to different regions of the search space. Areas closer to the predictor position (first zone) receive more intensive searching with smaller step sizes, while areas farther away (second zone) receive less intensive searching with larger step sizes. This local differentiation optimizes the balance between accuracy and encoding time.
3Productivity
If multiple reference frames are used to improve prediction accuracy, then compression efficiency is improved, but device complexity increases
Solution Approach 1:
The patent dynamically selects which reference frames to use based on the characteristics of the current block and the motion patterns observed. The system can adaptively choose between using one or multiple reference frames, and can adjust the number of reference frames used in different regions of the image, thereby improving compression efficiency while managing device complexity through adaptive rather than static resource allocation.
Data Source
AI summary
A solution is provided to estimate motion vectors of a video. A multistage motion vector prediction engine is configured to estimate multiple best block-matching motion vectors for each block in each video frame of the video. For each stage of the motion vector estimation for a block of a video frame, the prediction engine selects a test vector form a predictor set of test vectors, computes a rate-distortion optimization (RDO) based metric for the selected test vector, and selects a subset of test vectors as individual best matched motion vectors based on the RDO based metric. The selected individual best matched motion vectors are compared and a total best matched motion vector is selected based on the comparison. The prediction engine selects iteratively applies one or more global matching criteria to the selected best matched motion vector to select a best matched motion vector for the block of pixels.


