Wavelet packet decomposition
Originally known as Optimal Subband Tree Structuring (SB-TS) also called Wavelet Packet Decomposition (WPD) (sometimes known as just Wavelet Packets or Subband Tree) is a wavelet transform where the discrete-time (sampled) signal is passed through more filters than the discrete wavelet transform (DWT).
In the DWT, each level is calculated by passing only the previous wavelet approximation coefficients (cAj) through discrete-time low and high pass quadrature mirror filters. However, in the WPD, both the detail (cDj (in the 1-D case), cHj, cVj, cDj (in the 2-D case)) and approximation coefficients are decomposed to create the full binary tree. 
For n levels of decomposition the WPD produces 2n different sets of coefficients (or nodes) as opposed to (n + 1) sets for the DWT. However, due to the downsampling process the overall number of coefficients is still the same and there is no redundancy.
From the point of view of compression, the standard wavelet transform may not produce the best result, since it is limited to wavelet bases that increase by a power of two towards the low frequencies. It could be that another combination of bases produce a more desirable representation for a particular signal. The best basis algorithm by Coifman and Wickerhauser finds a set of bases that provide the most desirable representation of the data relative to a particular cost function (e.g. entropy).
There were relevant studies in signal processing and communications fields to address the selection of subband trees (orthogonal basis) of various kinds, e.g. regular, dyadic, irregular, with respect to performance metrics of interest including energy compaction (entropy), subband correlations and others.    
Discrete wavelet transform theory (continuous in the variable(s)) offers an approximation to transform discrete (sampled) signals. In contrast, the discrete subband transform theory provides a perfect representation of discrete signals.
Wavelet packets were successfully applied in preclinical diagnosis.
- Coifman RR & Wickerhauser MV, 1992. Entropy-Based Algorithms for Best Basis Selection, IEEE Transactions on Information Theory, 38(2).
- Daubechies, I. (1992), Ten lectures on wavelets, SIAM
- A.N. Akansu and Y. Liu, On Signal Decomposition Techniques, (Invited Paper), Optical Engineering Journal, special issue Visual Communications and Image Processing, vol.30, pp. 912-920, July 1991.
- H. Caglar, Y. Liu and A.N. Akansu, Statistically Optimized PR-QMF Design, Proc. SPIE Visual Communications and Image Processing, vol. 1605, pp. 86-94, 1991.
- A.N. Akansu and R.A. Haddad, Multiresolution Signal Decomposition: Transforms, Subbands, and Wavelets. Boston, MA: Academic Press, ISBN 978-0-12-047141-6, 1992.
- A. Benyassine and A.N. Akansu, Performance Analysis and Optimal Structuring of Subchannels for Discrete Multitone Transceivers , Proc. IEEE Proc. IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1456-1459, April 1995.
- M.V. Tazebay and A.N. Akansu, Adaptive Subband Transforms in Time-frequency Excisers for DSSS Communications Systems, IEEE Trans. Signal Process., vol. 43, pp. 2776-2782, Nov. 1995.
- Zhang, Y.; Dong, Z. (2015). "Preclinical Diagnosis of Magnetic Resonance (MR) Brain Images via Discrete Wavelet Packet Transform with Tsallis Entropy and Generalized Eigenvalue Proximal Support Vector Machine (GEPSVM)". Entropy. 17 (4): 1795–1813. Bibcode:2015Entrp..17.1795Z. doi:10.3390/e17041795.
- An implementation of wavelet packet decomposition can be found in MATLAB wavelet toolbox: .
- An implementation for R can be found in the wavethresh package: .
- An illustration and implementation of wavelet packets along with its code in C++ can be found at .
- JWave: An implementation in Java for 1-D and 2-D wavelet packets using Haar, Daubechies, Coiflet, and Legendre wavelets.