Cache Prefetch for Motion Estimation Video Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Sub-optimal search patterns in motion estimation for video compression lead to non-subsequent memory accesses, causing processing stalls due to the need to read the entire search area into internal memory, which is costly in terms of processing power and memory size.
Innovation Solution
Implementing a cache prefetch mechanism that buffers reference samples and predicts future memory accesses based on the geometry of the search pattern and scores of motion vectors tested, allowing for the prefetch of additional samples before they are needed, thereby avoiding stalls and optimizing memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If sub-optimal search patterns are used in motion estimation, then processing power requirements are reduced, but memory access efficiency deteriorates causing processing stalls
Solution Approach 1:
The patent implements a cache prefetch mechanism that proactively loads reference samples into the cache before they are actually needed by the motion estimation algorithm. This preliminary action eliminates memory access stalls by ensuring data is already in the cache when required, thus maintaining high memory access efficiency while using sub-optimal search patterns that reduce processing power requirements
2Productivity
If the entire search area is read into internal memory to avoid stalls, then memory access efficiency is improved, but memory size requirements increase
Solution Approach 1:
Instead of loading the entire search area into internal memory, the patent implements a selective prefetch mechanism that identifies and loads only the specific reference samples that will be needed by the sub-optimal search pattern. This local quality approach ensures high memory access efficiency while minimizing the memory size required, as only necessary data is cached rather than the complete search area
Data Source
AI summary
An apparatus having a cache and a processor. The cache may be configured to (i) buffer a first subset of reference samples of a reference picture to facilitate a motion estimation of a current block and (ii) prefetch a second subset of the reference samples while a first search pattern is being tested. The first search pattern used in the motion estimation generally defines multiple motion vectors to test. The reference samples of the second subset may be utilized by a second search pattern in the motion estimation of the current block. The prefetch of the second subset may be based on a geometry of the first search pattern and scores of the motion vectors already tested. The processor may be configured to calculate the scores of the motion vectors by a block comparison of the reference samples to the current block according to the first search pattern.


