int QccWAVWaveletDWT1D(QccVector signal, int signal_length, int signal_origin,
int subsample_pattern, int num_scales, const QccWAVWavelet *wavelet);
int QccWAVWaveletInverseDWT1D(QccVector signal, int signal_length, int
signal_origin, int subsample_pattern, int num_scales, const QccWAVWavelet
*wavelet);
int QccWAVWaveletDWTSubbandLength(int original_length, int
level, int highband, int signal_origin, int subsample_pattern);
Essentially, QccWAVWaveletDWT1D() calls QccWAVWaveletAnalysis1D(3) for each level of decomposition. QccWAVWaveletAnalysis1D(3) in turn calls either QccWAVFilterBankAnalysis(3) or QccWAVLiftingAnalysis(3) depending on whether wavelet specifies a filter-bank or lifting implementation. In either case, signal_origin indicates the sample index at which signal starts.
QccWAVWaveletInverseDWT1D() performs the inverse DWT of signal which is assumed to have been produced by QccWAVWaveletDWT1D(). num_scales gives the number of levels of decomposition that exist in signal. Essentially, QccWAVWaveletInverseDWT1D() calls QccWAVWaveletSynthesis1D(3) for each level of synthesis; QccWAVWaveletSynthesis1D(3) in turn calls either QccWAVFilterBankSynthesis(3) or QccWAVLiftingSynthesis(3) depending on whether wavelet specifies a filter-bank or lifting implementation. In either case, signal_origin indicates the sample index at which signal starts.
subsample_pattern indicates the even- or odd-phase subsampling to be used at each level of decomposition. In most applications, even subsampling at all levels is desired, in which case subsample_pattern should be set to zero. In more general settings, when some mixture of even- and odd-phase subsampling is desired, subsample_pattern can be an integer between 0 and 2^num_levels - 1. In this integer, the jth bit (where j = 1 is the least-significant bit) indicates whether the jth level of decomposition employs even or odd subsampling (0 = even, 1 = odd). For example, if subsample_pattern is 5, then the first and third decompositions use odd-phase subsampling, while all others use even subsampling.
QccWAVWaveletDWTSubbandLength() gives the length of a subband produced by QccWAVWaveletDWT1D(). original_length gives the original length of the undecomposed original signal. level and highpass indicates for which subband the length is to be returned. level gives the level of decomposition of the subband of interest, with 0 denoting the highest resolution (i.e., the level of the original signal) and num_scales being the lowest resolution scale (where num_scales is the number of scales used by QccWAVWaveletDWT1D() in the decomposition). highpass indicates whether the highpass (highpass = 1) or lowpass (highpass = 0) subband at the given level is of interest. signal_origin indicates the sample index at which the original signal started.
M. Antonini, M. Barlaud, P. Mathieu, and I. Daubechies, "Image Coding Using Wavelet Transform," IEEE Transactions on Image Processing, vol. 1, pp. 205-220, April 1992.
I. Daubechies and W. Sweldens, "Factoring Wavelet Transforms Into Lifting Steps," J. Fourier Anal. Appl., vol. 4, no. 3, pp. 245-267, 1998.