Inverse Discrete Wavelet Transform Cache Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputation accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvecomputation completenessVSAvoidmemory bandwidth usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improvecomputation systematicityVSAvoidcache efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #13The other way round (Inversion)

4Speed

If intermediate products are stored in cache, then computation speed can be maintained, but cache capacity is limited and data conflicts occur

Engineering Contradiction:
Improvecomputation speedVSAvoidcache capacity
Core Design Contradiction:
SpeedVSArea of stationary object

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7391915B1Cache friendly method for performing inverse discrete wavelet transform
Publication Date: 2008.06.24 TEXAS INSTRUMENTS INC
  • US7391915B1 patent drawing
  • US7391915B1 patent drawing
  • US7391915B1 patent drawing

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.