Motion Estimation Using Neighboring Macro Block Vectors
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video coding techniques face limitations in motion estimation, particularly when dealing with multiple reference frames, as they are complex and unable to effectively find the best prediction point motion vector by considering motion vectors of neighboring macro blocks across current and co-located frames.
Innovation Solution
A method that considers motion vectors of neighboring macro blocks in both current and co-located frames to find a best prediction point motion vector, utilizing integer-pixel and fractional-pixel motion estimation algorithms to calculate predictive motion vectors and perform cost-based searches across multiple reference frames, including scaling motion vectors and performing exhaustive searches to determine the best motion vector.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional motion estimation algorithms are used with multiple reference frames, then prediction accuracy can be improved, but computational complexity increases significantly
Solution Approach 1:
The motion estimation process is divided into multiple stages: coarse motion estimation using integer-pixel operations, followed by refinement using fractional-pixel operations. This segmentation allows the system to achieve high prediction accuracy through multiple passes while managing computational complexity by performing simpler operations first and only applying more complex operations when necessary.
Solution Approach 2:
The algorithm performs preliminary motion estimation using integer-pixel operations to obtain an initial motion vector before performing more accurate but computationally intensive fractional-pixel refinement. This preliminary action establishes a good initial prediction that reduces the search space for subsequent refinement operations.
2Measurement precision
If exhaustive motion search is performed across multiple reference frames, then best motion vector is found, but processing time increases
Solution Approach 1:
The motion estimation employs periodic search patterns where the search window is systematically expanded and contracted around the current motion vector. The algorithm performs coarse search in expanded windows followed by refinement in contracted windows, creating a periodic search-action cycle that efficiently narrows down the best motion vector while controlling processing time through structured search phases.
3Measurement precision
If motion vectors of neighboring macro blocks are considered, then prediction accuracy improves, but algorithm complexity increases
Solution Approach 1:
The algorithm merges the motion vector information from neighboring macro blocks in the current frame with motion vector information from co-located macro blocks in reference frames. By combining these multiple sources of motion information and using them together in the prediction process, the system achieves improved prediction accuracy while managing complexity through integrated processing of multiple motion vectors.
Data Source
AI summary
Methods for performing motion estimation in multiple reference frames scenario are disclosed. The method includes considering a motion vector of a plurality of neighbouring macro blocks present in a current frame and a co-located frame to find a best prediction point motion vector set, scaling at least one motion vector in a plurality of prediction frames and a plurality of bidirectional frames to find a predictive motion vector set by calculating a temporal distance between a nth reference frame and a reference frame referred by an input motion vector and finding at least one best prediction point motion vector of the nth reference frame from a set of motion vectors by utilizing a cost based motion search. The cost based motion search comprising finding a prediction motion vector, finding a cost factor, performing a cost based motion search of at least one partition level to find the best motion vector from the set of motion vectors.


