# Discrete Wavelet Transform (DWT)

### scaling coefficients approximation filter

**Definition:** Discrete Wavelet Transform is a technique to transform image pixels into wavelets, which are then used for wavelet-based compression and coding.

The DWT is defined as:

for *j* = *j* 0 and the Inverse DWT (IDWT) is defined as:

where *f* ( *x* ), *f j 0 ,k (X)* , and *? j,k* ( *x* ) are functions of the discrete variable *x* = 0, 1, 2, *M* – 1. Normally we let *j* 0 = 0 and select *M* to be a power of 2 (i.e., *M* = 2 *J* ) so that the summations in Equations (1), (2) and (3) are performed over *x* = 0, 1, 2, *M* – 1, *j* = 0, 1, 2, *J* – 1, and *k* = 0, 1, 2, 2 *j* – 1. The coefficients defined in Equations (1) and (2) are usually called *approximation* and *detail coefficients* , respectively.

*j 0 ,k (X)* is a member of the set of expansion functions derived from a *scaling function ?(X)* , by translation and scaling using:

*j, k* ( *x* ) is a member of the set of wavelets derived from a *wavelet function* ?( *x* ), by translation and scaling using:

The DWT can be formulated as a filtering operation with two related FIR filters, *low-pass* filter *h* f and *high-pass* filter *h* ? . Both *W* f ( *j,k* ) and *W* ( *j,k* ), the scale *j* approximation and the detail coefficients, can be computed by convolving *W* f ( *j* + 1, *k* ), the scale *j* +1 approximation coefficients, with the time-reversed *scaling* and *wavelet* vectors, *h* (- *n* ) and *h* (- *n* ), and sub-sampling the results by 2, as expressed in Equations (6) and (7) and illustrated in Figure 1.

The filter bank in Figure 1 can be iterated to implement multi-resolution analysis. The IDWT can be implemented by up-sampling and synthesis filtering. The one-dimensional DWT and IDWT can be extended to two-dimensional.

## User Comments