So I was using pywt and I noticed that in the padding mode documentation they explain the following:

DWT performed for these extension modes is slightly redundant, but ensures perfect reconstruction.

So I was wondering whether for discrete wavelet transform this redundancy was needed theoretically or if it was an implementation choice. This person at pywt seems to think it is theoretical but I wanted to know why.


1 Answer 1


Theoretically, the DWT (or the discrete wavelet transform) is (under some conditions) a discrete sampling of the continuous wavelet transform allowing perfect synthesis, for "infinite length" discrete data. But this yields "discrete" infinitely many coefficients. In some cases, There exist some wavelets, like Haar's, that can be implemented in a non expansive manner.

Practically, for discrete length signals that are not "even" (like with a power-of-two length), one must find options related to signal and wavelet symmetries. This is an important issue in data compression, as one often does not want to increase data size before entropy coding (but this is another debate).

To remain concrete, think about signal $[1,-1,3]$. How would you represent it with only 3 coefficients, knowing that the dyadic version should have the same number of approximation and detail coefficients? Many tricks have been developed for that. However, if you are not concerned with compression, most can afford a little redundancy.

  • $\begingroup$ Thanks for the answer. Just as a clarification, it means that for signal that are of length a power of 2, you don't need redundancy to guarantee perfect reconstruction? Where does the power of 2 come from? To answer your question about my concern for redundancy, it was the following: I need to have the adjoint of the reconstruction operator of the wavelet transform. Usually it's just the decomposition operator. But since with redundancy the operator is not orthogonal anymore, I can't just use that. $\endgroup$ Mar 7, 2019 at 14:20
  • $\begingroup$ I actually had a discussion with my thesis director ytday, and he told me that redundancy is not needed to ensure perfect reconstruction per se. Actually you need it to guarantee better reconstruction when using the wavelets to denoise an image, by for example performing soft thresholding on the wavelets coefficients. $\endgroup$ Mar 15, 2019 at 10:03
  • $\begingroup$ Yes, redundancy can improve processing performance, or allow the use of non-perfect critical filters, that become perfect with redundancy $\endgroup$ Mar 15, 2019 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.