Discrete Wavelet Transform on GPU
Discrete Wavelet Transform (DWT) is quite new math algorithm which is working at both spatial and temporal domains, though Fourier transform is able to offer frequency analysis only. There are lots of applications for DWT and particularly that transform is utilized in image processing applications (JPEG2000 encoding and decoding, denoising, etc). To solve the task of Fast Discrete Wavelet Transform, we have developed DWT kernel that runs on existing GPU hardware from NVIDIA. We have implemented both lifting and convolution-based algorithms and achieved very high performance both for forward and inverse DWT.
The simplest wavelet is Haar and we've developed both 1D and 2D Haar transforms. We have also implemented Cohen–Daubechies–Feauveau 5/3 and 9/7 (CDF 5/3 and CDF 9/7) wavelet transforms. These are biorthogonal wavelets, used in JPEG2000 image compression, wavelet denoising, image classification and many other applications.
Hardware and software
Benchmarks for 2D Discrete Wavelet Transform on GPU
Image: width 5180, height 5180, 24-bit, 1/2/3-level DWT, symmetrical boundary conditions
We have designed that software as a part of our GPU image processing SDK. Now our customers have opportunity to use fast 2D DWT on GPU in their applications.