DWT is a time-frequency analysis tool for which the wavelets are discretely sampled. DWT is different from the Fourier transform, which provides frequency information on the whole time domain. A key advantage of DWT is that it provides frequency information at different time points.
Mallat's algorithm for 2-dimensional input can be described as a series of iterative steps:
- Use the original time domain sequence (2-dimensional matrix) as the input of level 1.
- Convolve each row of the input matrix with high-pass filter h(n) and low-pass filter g(n).
- Downsample each convolved row by column, generating two matrices.
- Convolve each row of each generated matrix with high-pass filter h(n) and low-pass filter g(n).
- Downsample each convolved row by column, generating two more matrices.
The four generated matrices contain the approximation coefficients A k, horizontal detail coefficients H k, vertical detail coefficients V k, and diagonal detail coefficients D k, respectively, for level n. The following figure shows the process.
- If current level k is the maximum transform level n, stop; otherwise, use A k as the input matrix for the next level (that is, increment k by 1 and go to step 2.)
Single-Level Application of DWT2D