Interpolated Pixel Storage for Motion Vector Accuracy
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video compression algorithms face inefficiencies in processing and storage requirements for fractional pixel motion vectors, particularly in systems like H.264 that allow quarter pixel accuracy, due to the extensive calculations needed for fractional pixel positions, which can be cumbersome and resource-intensive.
Innovation Solution
A method of generating and storing image data by interpolating pixels at half and quarter unit offsets, allowing for more accurate processing of motion vectors, where interpolated pixels are stored with consecutive addresses, facilitating easier retrieval and manipulation, and organized in a memory sequence that groups pixels by offset position for efficient access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If fractional pixel interpolation is performed for motion vector calculation, then motion estimation accuracy is improved, but processing complexity and computational load increase significantly
Solution Approach 1:
The patent pre-calculates and stores interpolated pixel values at fractional positions (half-pixel and quarter-pixel offsets) in memory before motion estimation is performed. This preliminary action eliminates the need for complex interpolation calculations during the actual motion search, reducing real-time processing complexity while maintaining high accuracy.
Solution Approach 2:
The patent creates copies of pixel data at fractional positions by interpolating from integer pixel values and storing these copied values in memory. These copied fractional pixel values can then be directly used during motion estimation without performing additional interpolation operations, simplifying the processing while preserving accuracy.
2Measurement precision
If fractional pixel values are calculated and stored for motion compensation, then motion searching accuracy is improved, but memory storage requirements increase
Solution Approach 1:
The patent applies different interpolation strategies selectively: half-pixel interpolation is performed for all pixels, while quarter-pixel interpolation is performed only for pixels that require higher precision based on the specific motion estimation needs. This local quality approach optimizes memory usage by storing fractional values only where necessary rather than uniformly across the entire frame.
3Measurement precision
If extensive interpolation calculations are performed for quarter pixel accuracy, then motion vector precision is improved, but processing time increases
Solution Approach 1:
The patent performs interpolation calculations in advance and stores the results in memory buffers organized by fractional position offsets. During motion estimation, the system simply retrieves pre-computed fractional pixel values from memory rather than performing time-consuming interpolation calculations, significantly reducing processing time while maintaining quarter-pixel accuracy.
Solution Approach 2:
The patent replaces the mechanical computation of interpolation during motion search with a memory retrieval operation. By substituting the computational mechanism (interpolation calculation) with a storage mechanism (pre-computed values in memory), the system achieves the same accuracy with dramatically reduced processing time.
Data Source
AI summary
The present invention concerns the generation of image data, particularly, though not exclusively for motion estimation in the context of video coders employing inter frame differential coding. A method is provided for generating image data using a set of sampled pixels, the sampled pixels being representative of a sampled image, the method including the steps of: (i) at intermediate positions between sampled pixels, interpolating the sampled pixels so as to provide at least one set of interpolated pixels arranged along a plurality of lines, the or each set of interpolated pixels having a respective offset relative to the sampled pixels, and, (ii) storing the or each set of interpolated pixels with a respective address in a memory, the addresses forming an ordered sequence, wherein along a given line, neighbouring interpolated pixels having the same offset are stored with respective addresses that are consecutive to one another in the ordered sequence.


