Motion Prediction Cache Data Replacement for Video Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Contemporary video compression algorithms require significant memory bandwidth due to large data transfers in decoder memory buffers, leading to inefficient use of motion prediction caches and increased cache thrashing, which limits data reuse and increases bandwidth usage.
Innovation Solution
An adaptive method for replacing image data in motion prediction caches by calculating tag distances between cached and uncached pixels, where pixels outside a dynamically defined local image area are replaced, and cache lines are organized into sets based on attributes like reference frames or coordinates to reduce cache thrashing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a motion prediction cache is used to store image pixel values for previously decoded macroblocks, then data reuse is improved, but cache thrashing occurs when two or more frequently needed data items map to the same cache address, causing cache misses and limiting data reuse
Solution Approach 1:
The cache is divided into multiple sets, where each set contains multiple cache lines. This segmentation allows different data items to be distributed across different sets, reducing the probability of cache thrashing when multiple frequently needed items map to the same address space. The patent implements this by organizing the cache into sets indexed by a portion of the cache address, with each set containing multiple ways (cache lines).
Solution Approach 2:
The patent introduces a new dimension to cache organization by using multiple sets instead of a single flat cache structure. This dimensional change from a one-dimensional cache to a two-dimensional cache (sets × ways) provides additional address space for distinguishing between frequently accessed data items, thereby reducing conflicts and improving cache efficiency.
2Temperature
If data in the decoder memory buffer are transferred at high rates to support high definition video, then video quality is improved, but the memory bandwidth increases without benefit since the memory buffer provides data blocks larger than required
Solution Approach 1:
The motion prediction cache extracts and stores only the specific pixel data needed for motion prediction from the larger memory buffer transfers. By taking out only the relevant macroblock pixel values required for prediction, the system avoids transferring unnecessary data, thereby reducing memory bandwidth consumption while maintaining video quality.
Solution Approach 2:
The cache focuses on storing locally relevant pixel data for motion prediction, which is the specific quality needed for video decoding. Rather than caching all or large portions of image data, the system caches only the local pixel values required for prediction operations, optimizing memory bandwidth usage.
Data Source
AI summary
A system for decoding a video bitstream and a method for replacing image data in a motion prediction cache are described. For each of the cache lines, a tag distance between pixels stored in the cache line and uncached pixels that are to be stored in the cache is calculated. The calculated tag distance is used to determine whether the pixels are outside a local image area defined about the uncached pixels. Pixels determined to be outside the local image area are replaced with the uncached pixels. The motion prediction cache can be organized as sets of cache lines and the method can be performed for each of the cache lines in one of the sets. The definition of the sets can be changed in response to cache performance. Similarly, the local image area can be redefined in response to cache performance.


