Analysis of cache efficiency in 2D wavelet transform
In software implementations of image processing algorithms, efficient cache utilization is one of the most important factors to accomplish high performance microprocessor computing. In this paper, we propose a cache efficient block-based wavelet decomposition procedure and provide an analysis for the 2D wavelet transform. The wavelet transform is the core algorithm for the JPEG2000 compression standard, which can achieve higher compression ratio than the original JPEG standard while not suffering from the block boundary artifacts that appear at low rates when a DCT based algorithm such as JPEG is used. On the other hand, wavelet transform is a memory consuming algorithm and it turns out that many cache misses occur in the microprocessor computation process. This paper introduces a theoretical analysis to predict the most cache effective block-size to be used, given the cache size and image sizes. The simulation results achieved with a microprocessor architecture simulator confirm the cache efficiency predictions obtained with our theoretical analysis.