Inverse Discrete Wavelet Transform Cache Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for inverse discrete wavelet transform are inefficient due to high memory usage and cache misses caused by excessive data movement and storage of intermediate products, particularly in real-time digital signal processors with limited cache capacity.
Innovation Solution
A breadth-first computation approach that reduces the number of intermediate variables stored by calculating output data immediately and using poly-phase filters to process subbands as stripes, minimizing data movement and cache usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional depth-first computation method is used for inverse discrete wavelet transform, then intermediate products can be computed systematically, but excessive data movement and cache misses occur due to storing all intermediate products in memory
Solution Approach 1:
The patent extracts only the necessary intermediate products that fit within cache memory for the breadth-first computation approach, rather than computing and storing all intermediate products as in the depth-first method. This selective extraction of essential data reduces memory usage while maintaining computational accuracy.
Solution Approach 2:
The patent dynamically adjusts the computation order and data storage strategy based on cache capacity. The breadth-first approach computes and processes intermediate products in a sequence that adapts to available cache space, allowing the system to handle varying cache sizes efficiently without overflowing memory.
2Reliability
If all intermediate products are stored in memory for inverse discrete wavelet transform, then complete computation can be performed, but memory bandwidth is consumed and cache misses increase
Solution Approach 1:
The patent applies partial action by computing only the necessary intermediate products required for the inverse discrete wavelet transform when using breadth-first approach, rather than computing all possible intermediate products. This partial computation maintains reliability for the specific application while reducing memory bandwidth consumption.
3Ease of manufacture
If depth-first computation approach is used, then systematic intermediate product computation is achieved, but cache efficiency decreases due to excessive data movement
Solution Approach 1:
The patent inverts the traditional depth-first computation order by using breadth-first computation. Instead of computing intermediate products level-by-level from input to output, the breadth-first approach computes and processes data in a manner that prioritizes cache utilization, systematically handling computation in reverse order of traditional approaches.
4Speed
If intermediate products are stored in cache, then computation speed can be maintained, but cache capacity is limited and data conflicts occur
Solution Approach 1:
The patent segments the intermediate products into groups that fit within cache capacity for breadth-first computation. By dividing the computation into manageable segments that can be processed within available cache space, the system maintains high computation speed while avoiding data conflicts and overflow issues.
Data Source
AI summary
This invention is a method for inverse Wavelet transform using a breadth-first output data calculation which uses input data to calculate at least one output data for each iteration of a software loop even if the same input data is used in a later iteration for calculating other output data. This reduces data movement between memory and the data processor core thus reducing the possibility of cache misses and memory stalls due to access conflicts. The input data and computed output data are preferably stored as subwords packed within data words in memory. In inverse Wavelet transformation this method performs vertical spatial frequency expansion and horizontal spatial frequency expansion for each level of Wavelet encoding. This invention arranges data flow providing a more efficient use of memory bandwidth and cache space than other known methods.


