Fractional Pixel Expansion in Video Codec Motion Estimation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video encoder motion estimation engines inefficiently perform fractional pixel expansion, leading to redundant processing and wasted resources due to repeated calculations for similar fractional pixel expansions.
Innovation Solution
The method involves performing fractional pixel expansion for only one quadrant corresponding to each integer pixel in a selected block, accumulating SAD values, and processing these to identify the best fit fractional motion vector without redundant calculations, using a shift register to efficiently load and process pixel data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If fractional pixel expansion is performed for all integer pixels in the search area, then motion estimation precision is improved, but processing time and computational resources are excessively consumed due to redundant calculations
Solution Approach 1:
The search area is divided into multiple blocks, and within each block, only selected integer pixels undergo fractional pixel expansion. This segmentation approach prevents redundant calculations across the entire search area while maintaining precision in critical regions.
Solution Approach 2:
Instead of performing fractional pixel expansion on all integer pixels, the method applies partial action by selecting only certain integer pixels within blocks for expansion. This reduces the total number of operations while still achieving sufficient motion estimation precision for the overall video encoding process.
2Measurement precision
If fractional pixel expansion is performed for every integer pixel to achieve precise motion matching, then matching accuracy is improved, but device complexity and computational load increase significantly
Solution Approach 1:
The processing is segmented into block-level operations where only specific pixels within each block undergo fractional expansion. This reduces the overall computational complexity while maintaining matching accuracy through selective processing of critical pixels.
Solution Approach 2:
Different treatment is applied to different pixels: selected integer pixels within blocks receive fractional pixel expansion for high precision, while other pixels use simpler matching methods. This local quality approach optimizes the balance between accuracy and complexity.
3Adaptability or versatility
If redundant fractional pixel expansions are calculated for multiple integer pixels, then comprehensive search coverage is achieved, but resource utilization efficiency deteriorates
Solution Approach 1:
The search area is organized into blocks with selective processing of integer pixels within each block. This segmentation maintains comprehensive search coverage across the entire area while improving resource utilization by avoiding redundant calculations in overlapping regions.
Solution Approach 2:
Adjacent blocks share common integer pixels at their boundaries. The method merges the processing by performing fractional pixel expansion only once for these shared pixels, thereby maintaining comprehensive coverage while eliminating redundant computations and improving overall efficiency.
Data Source
AI summary
In accordance with the teachings described herein, systems and methods are provided for identifying a block of pixel data in a reference frame. The system may include a data fetch, a shift register, and one or more processing blocks. The data fetch may receive a best fit integer block, where the best fit integer block is identified by comparing the current block of pixel data to a search area within a reference block of pixel data. The shift register may be configured to load pixel data to be used for performing a fractional pixel expansion for one quadrant corresponding to each integer pixel in a block of pixel data, the block of pixel data including the best fit integer block plus one additional row of integer pixels and one additional column of integer pixels, wherein a combination of all of the one quadrant fractional expansions provides a plurality of fractional blocks for the best fit integer block. The one or more processing blocks may be configured to compare each of the plurality of fractional blocks with the current block to identify a best fit fractional block, the best fit fractional block being the best fit pixel match with the current block.


