Real-time FPGA implementation of recursive wavelet packet transform

To address the computational complexity of the wavelet packet transform of a moving window with a large amount of overlap between consecutive windows, the recursive computation approach was introduced previously1. In this work, this approach is extended to 2D or images. In addition, the FPGA implementation of the recursive approach for updating wavelet coefficients is performed by using the LabVIEW FPGA module. This programming approach is graphical and requires no knowledge of relatively involved hardware description languages. A number of optimization steps including both filter and wavelet stage pipelining are taken in order to achieve a real-time throughput. It is shown that the recursive approach reduces the computational complexity significantly as compared to the non-recursive or the classical computation of wavelet packet transform. For example, the number of multiplications is reduced by a factor of 3 for a 3-stage 1D transform of moving windows containing 128 samples and by a factor of 12 for a 3-stage 2D transform of moving window blocks of size 16×16 with 50% overlap.