Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

4. Wavelets

CNRS & DMA, École Normale Supérieure

Chapter PDF · Complete book

Signals contain broad trends and localized details that occur at different scales. Separating these components produces representations suited to compression and denoising, while allowing each scale to be processed efficiently. We build orthonormal wavelet bases from nested approximation spaces, derive fast decomposition and reconstruction algorithms in one and two dimensions, and explain how filter design controls localization, smoothness, and cancellation of polynomials.

The reference for this chapter is [23].

4.1 Multiresolution Approximation Spaces

A multiresolution approximation of L2(R)L^2(\mathbb{R}) consists of nested closed subspaces (Vj)j(V_j)_j

L2(R)Vj1VjVj+1{0}(4.1)L^2(\mathbb{R}) \supset \ldots \supset V_{j-1} \supset V_j \supset V_{j+1} \supset \ldots \supset \{0\} \tag{4.1}

related by dyadic scaling and invariant under translations on the corresponding dyadic grid:

fVjf(/2)Vj+1andfVjnZ,f(+n2j)Vjf \in V_j \quad\Longleftrightarrow\quad f(\cdot/2) \in V_{j+1} \quad \text{and} \quad f \in V_j \quad\Longleftrightarrow\quad \forall \,n \in \mathbb{Z}, \: f(\cdot + n 2^j) \in V_{j}

Large jj corresponds to coarse approximation spaces, and 2j2^j is often called the “scale”.

At the fine-scale limit on the left of (4.1), jVj\cup_j V_j is dense in L2(R)L^2(\mathbb{R}). Equivalently, PVj(f)fP_{V_j}(f) \rightarrow f as jj \rightarrow -\infty, where PVP_V denotes orthogonal projection onto VV:

PV(f)=argminfV   ⁣ff ⁣.P_V(f) = \underset{f' \in V}{\mathop{\mathrm{argmin}}}\; |\!| f-f' |\!|.

The limit on the right of (4.1) means that jVj={0}\cap_j V_j = \{0\}, or equivalently that PVj(f)0P_{V_j}(f) \rightarrow 0 as j+j \rightarrow +\infty.

The first example consists of piecewise constant functions on dyadic intervals

Vj={fL2(R)  ;  n,f is constant on [2jn,2j(n+1)[},(4.2)V_j = \left\{ f \in L^2(\mathbb{R}) \;;\; \forall n, f \text{ is constant on } [2^j n, 2^j (n+1)[ \right\} , \tag{4.2}

A second example is the space used for Shannon interpolation of bandlimited signals

Vj={f  ;  Supp(f^)[2jπ,2jπ]}(4.3)V_j = \left\{ f \;;\; \mathop{\mathrm{Supp}}(\hat f) \subset [-2^{-j}\pi,2^{-j} \pi] \right\} \tag{4.3}

whose elements are recovered exactly from the samples f(2jn)f(2^j n). As for piecewise constant signals, the sampling grid has spacing 2j2^j. Here, however, orthogonal projection is a bandlimiting operation:

PVj(f)=F1(f^1[2jπ,2jπ]).P_{V_j}(f) = \mathcal{F}^{-1}( \hat f \odot 1_{[-2^{-j}\pi,2^{-j} \pi]} ).

Scaling functions.

We also require a scaling function φL2(R)\varphi\in L^2(\mathbb{R}) such that

{φ(n)}n is a Hilbertian orthonormal basis of V0.\{\varphi(\cdot-n) \}_n \text{ is a Hilbertian orthonormal basis of } V_0.

By the dilation property, this implies that

{φj,n}n is a Hilbertian orthonormal basis of Vjwhereφj,n:=12j/2φ(2jn2j).\{ \varphi_{j,n} \}_n \text{ is a Hilbertian orthonormal basis of } V_j \quad \text{where} \quad \varphi_{j,n} \mathrel{:=}\frac{1}{2^{j/2}} \varphi\left( \frac{\cdot - 2^j n}{2^j} \right).

The normalization ensures  ⁣φj,n ⁣=1|\!| \varphi_{j,n} |\!| = 1.

Note that one then has

PVj(f)=nf,φj,nφj,n.P_{V_j}(f) = \sum_n \langle f,\,\varphi_{j,n}\rangle \varphi_{j,n}.

Figure 4.1 illustrates the effects of translation and scaling.

Figure 4.1. Translations and dilations of a scaling function generate the approximation spaces. The Shannon scaling function φ(t)=sin(πt)/(πt)\varphi(t)=\sin(\pi t)/(\pi t) is illustrated, with horizontal coordinate x/2jx/2^j and heights relative to 2j/22^{-j/2}.

For the case of piecewise constant signals (4.2), one can use

φ=1[0,1[andφj,n=2j/21[2jn,2j(n+1)[.\varphi= 1_{[0,1[} \quad \text{and} \quad \varphi_{j,n} = 2^{-j/2}1_{[2^j n, 2^j (n+1)[}.

For the case of Shannon multiresolution (4.3), one can use φ(t)=sin(πt)/(πt)\varphi(t) = \sin(\pi t)/(\pi t) and one verifies

f,φj,n=2j/2f(2jn)(fVj)andf=n2j/2f(2jn)φj,n(fVj).\langle f,\,\varphi_{j,n}\rangle=2^{j/2}f(2^jn)\quad(f\in V_j) \quad \text{and} \quad f=\sum_n2^{j/2}f(2^jn)\varphi_{j,n}\quad(f\in V_j).

Figure 4.2. Haar scaling and wavelet functions. Both have amplitude 2j/22^{-j/2} and unit L2L^2 norm.

Spectral orthogonalization.

In many applications, V0V_0 is generated by translates of a function that are not orthogonal: V0=Span{θ(n)}nZV_0=\overline{\mathop{\mathrm{Span}}}\{\theta(\cdot-n)\}_{n\in\mathbb{Z}}. The next proposition orthogonalizes this family in the Fourier domain.

Figure 4.3 shows the orthogonal cardinal spline functions obtained by this construction.

Figure 4.3. Orthogonalization of B-splines to define cardinal orthogonal spline functions.

Spline interpolation provides a typical application. For example, cubic splines are generated by translates of a box-spline function θ\theta, which is a compactly supported piecewise polynomial.

4.2 Multiresolution Detail Spaces

The detail spaces are the orthogonal complements associated with the inclusions VjVj1V_j \subset V_{j-1}. Since these subspaces are closed,

j,Wj is such that Vj1=VjWj.\forall \,j, \quad W_j \text{ is such that } V_{j-1} = V_j \oplus^\bot W_j.

The following diagram shows these nested approximation spaces and their orthogonal complements:

Illustration. Unnumbered illustration: embeded spaces 1d

Suppose that W0W_0 admits an orthonormal basis of translates {ψ(n)}n\{\psi(\cdot-n)\}_n. Scaling then gives

{ψj,n}n is a Hilbertian orthonormal basis of Wjwhereψj,n:=12j/2ψ(2jn2j).\{ \psi_{j,n} \}_n \text{ is a Hilbertian orthonormal basis of } W_j \quad \text{where} \quad \psi_{j,n} \mathrel{:=}\frac{1}{2^{j/2}} \psi\left( \frac{\cdot - 2^j n}{2^j} \right).

Orthogonal decomposition across all scales yields

L2(R)=j=j=+Wj=Vj0jj0Wj.L^2(\mathbb{R}) = \bigoplus_{j=-\infty}^{j=+\infty} W_j =V_{j_0}\oplus^\bot\bigoplus_{j\leqslant j_0}W_j.

For every fL2(R)f \in L^2(\mathbb{R}), the corresponding expansion converges in L2(R)L^2(\mathbb{R}):

f=lim(j,j+)(,+)j=jj+PWjf=limj(PVj0f+j=jj0PWjf).f = \lim_{(j_-,j_+) \rightarrow (-\infty,+\infty)} \sum_{j=j_-}^{j_+} P_{W_j} f = \lim_{j_-\to-\infty}\left(P_{V_{j_0}}f+\sum_{j=j_-}^{j_0}P_{W_j}f\right).

This decomposition shows that

{ψj,n  ;  (j,n)Z2}\left\{ \psi_{j,n} \;;\; (j,n) \in \mathbb{Z}^2 \right\}

is an orthonormal basis of L2(R)L^2(\mathbb{R}), which is called a wavelet basis.

Stopping at a coarsest scale gives the orthonormal basis

{ψj,n  ;  jj0,nZ}{φj0,n  ;  nZ}.\left\{ \psi_{j,n} \;;\; j \leqslant j_0, n \in \mathbb{Z} \right\} \cup \left\{ \varphi_{j_0,n} \;;\; n \in \mathbb{Z} \right\} .

The forward wavelet transform computes all inner products of a function ff with the elements of this basis.

Figure 4.4. 1-D Haar multiresolution projection PVjfP_{V_j}f of a function ff.

Haar wavelets.

For the Haar multiresolution (4.2), one has

Wj={f  ;  nZ,  f constant on [2j1n,2j1(n+1))andn2j(n+1)2jf=0}.(4.4)W_j = \left\{ f \;;\; \forall \,n \in \mathbb{Z}, \; f \text{ constant on } [2^{j-1}n,2^{j-1}(n+1)) \quad \text{and} \quad \int_{n2^j}^{(n+1)2^j} f = 0 \right\} . \tag{4.4}

One choice of mother wavelet is

ψ(t)={1for0t<1/2,1for1/2t<1,0otherwise,\psi(t)= \left\{ \begin{array}{l} 1 \quad \text{for} \quad 0 \leqslant t < 1/2, \\ -1 \quad \text{for} \quad 1/2 \leqslant t < 1, \\ 0 \quad \text{otherwise,} \end{array} \right.

as shown in Figure 4.2.

Figure 4.5. Three successive Haar approximations (top) and their extracted details (bottom). Coarser approximations use fewer intervals.

Figure 4.5 illustrates how subtracting consecutive approximation-space projections isolates the details at each scale.

Shannon and splines.

Figure 4.6 compares the sharp frequency partitions of Shannon wavelets with the smooth transitions of spline wavelets. Shannon wavelets can be viewed as a limiting case as the spline degree increases.

Figure 4.6. Spline and Shannon wavelet segmentation of the frequency axis.

4.3 On Bounded Domains

On the periodic domain T=R/Z\mathbb{T}=\mathbb{R}/\mathbb{Z}, we use period 1 rather than the 2π2\pi-period convention of the Fourier chapter. To obtain an orthonormal wavelet basis of L2(T)L^2(\mathbb{T}), periodize the wavelets and restrict their translation points 2jn2^j n to [0,1][0,1], choosing 0n<2j0 \leqslant n < 2^{-j}. As in (1.6), the periodization of fL1(R)f \in L^1(\mathbb{R}) is

fP=nZf(n)L1(T).f^P = \sum_{n \in \mathbb{Z}} f(\cdot-n) \in L^1(\mathbb{T}).

For an integer coarsest level j00j_0\leqslant 0, this gives the family

{ψj,nP  ;  jj0,0n<2j}{φj0,nP  ;  0n<2j0}.\left\{ \psi_{j,n}^P \;;\; j \leqslant j_0, 0 \leqslant n < 2^{-j} \right\} \cup \left\{ \varphi_{j_0,n}^P \;;\; 0 \leqslant n < 2^{-j_0} \right\} .

which is an orthonormal basis of L2(T)L^2(\mathbb{T}), illustrated in Figure 4.7.

One can also construct wavelet bases using Neumann (mirror) boundary conditions, but this is more involved.

Figure 4.7. Periodized basis functions. Only the translations 0n<2j0\leqslant n<2^{-j} are distinct, and j0=0j_0=0 is a common choice of coarsest scale.

4.4 Fast Wavelet Transform

4.4.1 Discretization

We now work over R/Z\mathbb{R}/\mathbb{Z}.

We assume access to a discrete signal aJRNa_J \in \mathbb{R}^N with N=2JN = 2^{-J} at a fixed scale 2J2^J, whose entries are inner products with the scaling functions, i.e.

n{0,,N1},aJ,n=f,φJ,nP2J/2f(2Jn),(4.5)\forall \,n\in \{0,\ldots,N-1\}, \quad a_{J,n} = \langle f,\,\varphi_{J,n}^P\rangle \approx 2^{J/2}f(2^Jn), \tag{4.5}

for the underlying continuous function ff. The approximation uses the normalization φ=1\int\varphi=1. The equality assumes that acquisition gives exact access to PVJfP_{V_J}f, much as Shannon sampling assumes bandlimiting. This model is reasonable when the scaling functions (φJ,n)n(\varphi_{J,n})_n approximate the acquisition device’s point-spread function. Preprocessing the measurements can sometimes improve agreement with (4.5).

Starting from aJa_J, the discrete wavelet transform computes the coefficients

j{J+1,J+2,,0},n[ ⁣[0,2j1] ⁣],aj,n:=f,φj,nP,anddj,n:=f,ψj,nP\forall \,j \in \{J+1,J+2, \ldots, 0\}, \quad \forall \,n \in \lbrack\!\lbrack 0,2^{-j}-1\rbrack\!\rbrack, \quad a_{j,n} \mathrel{:=}\langle f,\,\varphi_{j,n}^P\rangle, \quad \text{and} \quad d_{j,n} \mathrel{:=}\langle f,\,\psi_{j,n}^P\rangle

in order of increasing jj. After an approximation vector aja_j has been used to compute the next scale, it can be discarded; the detail vectors djd_j are retained.

The forward discrete wavelet transform on a bounded domain is thus the orthogonal finite-dimensional map

aJRN{dj,n  ;  J<j0, 0n<2j}{a0R}.a_J \in \mathbb{R}^N \longmapsto \left\{ d_{j,n} \;;\; J<j\leqslant 0,\ 0\leqslant n<2^{-j} \right\} \cup \{a_0 \in \mathbb{R}\}.

By orthogonality, the inverse transform is the adjoint.

Figure 4.8 shows examples of wavelet coefficients. For each scale 2j2^j, there are 2j2^{-j} coefficients.

Figure 4.8. Wavelet coefficients. The first column shows the input signal and its packed decomposition; the other panels show individual detail scales.

4.4.2 Forward Fast Wavelet Transform (FWT)

The algorithm applies a sequence of elementary operators

j=J+1,,0,(aj,dj)=Wj(aj1)whereWj:R2j+1R2j×R2j(4.6)\forall \,j = J+1, \ldots, 0, \quad (a_{j},d_{j}) = \mathcal{W}_j(a_{j-1}) \quad \text{where} \quad \mathcal{W}_j : \mathbb{R}^{2^{-j+1}} \rightarrow \mathbb{R}^{2^{-j}} \times \mathbb{R}^{2^{-j}} \tag{4.6}

There are J=log2(N)|J|=\log_2(N) steps. Each Wj\mathcal{W}_j changes coordinates between orthonormal bases and is therefore orthogonal.

To describe the algorithm for Wj\mathcal{W}_j, we introduce the filter coefficients h,gRZh,g \in \mathbb{R}^\mathbb{Z}

hn:=12φ(/2),φ(n)andgn:=12ψ(/2),φ(n).(4.7)h_n \mathrel{:=}\frac{1}{\sqrt{2}} \langle \varphi(\cdot/2) ,\,\varphi(\cdot-n)\rangle \quad \text{and} \quad g_n \mathrel{:=}\frac{1}{\sqrt{2}} \langle \psi(\cdot/2) ,\,\varphi(\cdot-n)\rangle. \tag{4.7}

Figure 4.9 illustrates the computation of these weights for the Haar system.

Figure 4.9. Haar filter weights as inner products.

We denote by 2:RKRK/2\downarrow_2 : \mathbb{R}^K \rightarrow \mathbb{R}^{K/2} the subsampling operator by a factor of 2, i.e.

u2:=(u0,u2,u4,,uK2).u\downarrow_2 \mathrel{:=}(u_0,u_2,u_4,\ldots,u_{K-2}).

Throughout the following derivation, the scaling function, wavelet, and filters are real, and the filters decay sufficiently fast. The notation hˉn=hn\bar h_n=h_{-n} and gˉn=gn\bar g_n=g_{-n} denotes reflection. Complex filters would require conjugation as well.

Figure 4.10 shows two successive decomposition steps, each separating a coarse approximation from its details.

Figure 4.10. Forward filter bank decomposition.

The FWT thus operates as follows. The same real filters also act on complex-valued input signals:

If the supports of hh and gg each contain at most CC indices, then evaluating each Wj\mathcal{W}_j requires (2C)2j(2C) 2^{-j} operations, so that the complexity of the whole wavelet transform is

j=J+10(2C)2j=2C(2J1)<2CN.\sum_{j=J+1}^{0}(2C)2^{-j}=2C(2^{-J}-1)<2CN.

This shows that the fast wavelet transform is a linear-time algorithm.

Figure 4.11 shows the iterative extraction of the wavelet coefficients.

Figure 4.12 illustrates the storage layout: at each step, the new vectors aja_j and djd_j occupy the left portion of the output array.

Figure 4.11. Pyramidal computation of wavelet coefficients: approximation vectors aja_j on the top row and detail vectors djd_j below.

Figure 4.12. Packed coefficient arrays after one, two, and three wavelet decomposition steps.

Fast Haar transform.

For the Haar wavelets, one has

φj,n=12(φj1,2n+φj1,2n+1),\varphi_{j,n} = \frac{1}{\sqrt{2}} ( \varphi_{j-1,2n} + \varphi_{j-1,2n+1} ),
ψj,n=12(φj1,2nφj1,2n+1).\psi_{j,n} = \frac{1}{\sqrt{2}} ( \varphi_{j-1,2n} - \varphi_{j-1,2n+1} ).

This corresponds to the filters

h=[,  0,  h[0]=12,  12,  0,],h = [\ldots,\;0,\;h[0]=\frac{1}{\sqrt{2}},\;\frac{1}{\sqrt{2}},\;0,\ldots],
g=[,  0,  g[0]=12,  12,  0,].g = [\ldots,\;0,\;g[0]=\frac{1}{\sqrt{2}},\;-\frac{1}{\sqrt{2}},\;0,\ldots].

The Haar transform iterates normalized sums and differences:

4.4.3 Inverse Fast Transform (iFWT)

The inverse algorithm proceeds by inverting each step (4.6)

j=0,1,,J+1,aj1=Wj1(aj,dj)=Wj(aj,dj),(4.11)\forall \,j=0,-1,\ldots,J+1, \quad a_{j-1} = \mathcal{W}_j^{-1}(a_{j},d_{j}) = \mathcal{W}_j^*(a_{j},d_{j}), \tag{4.11}

where Wj\mathcal{W}_j^{*} is the adjoint for the canonical inner product on R2j+1\mathbb{R}^{2^{-j+1}}; in matrix form, it is the transpose.

Let 2:RK/2RK\uparrow_2 : \mathbb{R}^{K/2} \rightarrow \mathbb{R}^K denote up-sampling by inserting zeros:

a2=(a0,0,a1,0,,aK/21,0)RK.a\uparrow_2 = (a_0,0,a_1,0,\ldots,a_{K/2-1},0) \in \mathbb{R}^K.

Figure 4.13. Analysis and inverse wavelet transforms in block-matrix form. Synthesis uses the transpose of the orthogonal analysis operator.

Figure 4.14 makes this transpose relation concrete for one Haar step.

Figure 4.14. One-step Haar analysis matrix WW and synthesis matrix WTW^{\mathsf T} for eight samples.

The inverse fast wavelet transform iteratively applies this elementary step

The block diagram in Figure 4.15 reverses the operations of the forward transform in Figure 4.10.

Figure 4.15. Inverse filter-bank reconstruction.

4.5 2-D Wavelets

4.5.1 Anisotropic Wavelets

The anisotropic basis on T2\mathbb{T}^2 is the tensor product of the complete one-dimensional periodized basis B\mathcal B (including its coarsest scaling functions):

{b1b2:b1,b2B}.\{b_1\otimes b_2:b_1,b_2\in\mathcal B\}.

Its wavelet–wavelet elements have the form

ψ(j1,j2),(n1,n2)(x1,x2)=ψj1,n1P(x1)ψj2,n2P(x2).(4.12)\psi_{(j_1,j_2),(n_1,n_2)}(x_1,x_2) =\psi_{j_1,n_1}^{P}(x_1)\psi_{j_2,n_2}^{P}(x_2). \tag{4.12}

The basis also includes wavelet–scaling, scaling–wavelet, and scaling–scaling products. The anisotropic 2-D transform follows the same separable construction as the 2-D FFT in Section 2.5.2. Treat the image aJR2J×2Ja_J \in \mathbb{R}^{2^{-J} \times 2^{-J}} as a matrix, apply the 1-D FWT to each row, and then apply it to each column. The total cost is O(N)O(N) for N=22JN=2^{-2J} pixels.

Figure 4.16. Steps of the anisotropic wavelet transform.

4.5.2 Isotropic Wavelets

The anisotropic atoms (4.12) have independent scales in the two coordinate directions. For compactly supported wavelets, their supports lie in axis-aligned rectangles of size proportional to 2j1×2j22^{j_1}\times2^{j_2}. This directional bias can produce visible artifacts in denoising and compression when it does not match the image geometry.

Figure 4.17. Anisotropic (left) versus isotropic (right) wavelet coefficients.

An alternative uses a common scale in both directions. Tensor products of one-dimensional approximation spaces give a two-dimensional multiresolution

L2(R2)Vj1Vj1VjVjVj+1Vj+1{0}.L^2(\mathbb{R}^2) \supset \ldots \supset V_{j-1} \otimes V_{j-1} \supset V_j \otimes V_j \supset V_{j+1} \otimes V_{j+1} \supset \ldots \supset \{0\}.

We write

VjO:=VjVjV_j^O \mathrel{:=}V_j \otimes V_j

for this isotropic 2-D approximation space.

Recall that the tensor product of two closed subspaces V1,V2L2(R)V_1,V_2\subset L^2(\mathbb{R}) is

V1V2=Closure(Span{f1(x1)f2(x2)L2(R2)  ;  f1V1,f2V2}).V_1 \otimes V_2 = \text{Closure}\left( \mathop{\mathrm{Span}} \left\{ f_1(x_1)f_2(x_2) \in L^2(\mathbb{R}^2) \;;\; f_1 \in V_1, f_2 \in V_2 \right\} \right).

If (φks)k(\varphi_k^s)_k are orthonormal bases of VsV_s, their tensor products (φk11(x1)φk22(x2))k1,k2(\varphi_{k_1}^1(x_1)\varphi_{k_2}^2(x_2))_{k_1,k_2} form an orthonormal basis of V1V2V_1 \otimes V_2.

The tensor product distributes over these orthogonal sums

(VjWj)(VjWj)=VjOWjVWjHWjDwhere{WjV:=(VjWj),WjH:=(WjVj),WjD:=(WjWj).( V_j \oplus^\bot W_j) \otimes ( V_j \oplus^\bot W_j) = V_j^O \oplus^\bot W_j^V\oplus^\bot W_j^H\oplus^\bot W_j^D \quad \text{where} \quad \left\{ \begin{array}{l} W_j^V \mathrel{:=}(V_j \otimes W_j), \\ W_j^H \mathrel{:=}(W_j \otimes V_j), \\ W_j^D \mathrel{:=}(W_j \otimes W_j). \end{array} \right.

The labels {V,H,D}\{V,H,D\} stand for Vertical, Horizontal, Diagonal detail spaces.

The following diagram summarizes the nested spaces and their detail components:

Illustration. Unnumbered illustration: embeded spaces 2d

For jZj \in \mathbb{Z}, translates of a mother wavelet span each detail space. We index them by n=(n1,n2)Z2n=(n_1,n_2)\in\mathbb{Z}^2, or by indices in {0,,2j1}2\{0,\ldots,2^{-j}-1\}^2 on the torus T2\mathbb{T}^2:

ω{V,H,D},Wjω=Span{ψj,n1,n2ω}n1,n2\forall \,\omega\in \{V,H,D\}, \quad W_j^\omega= \text{Span}\{ \psi_{j,n_1,n_2}^\omega\}_{n_1,n_2}

where

ω{V,H,D},ψj,n1,n2ω(x)=12jψω(x12jn12j,x22jn22j)\forall \,\omega\in \{V,H,D\}, \quad \psi_{j,n_1,n_2}^{\omega}(x) = \frac{1}{2^j}\psi^\omega\left( \frac{x_1-2^j n_1}{2^j}, \frac{x_2-2^j n_2}{2^j} \right)

and where the three mother wavelets are

ψH(x)=ψ(x1)φ(x2),ψV(x)=φ(x1)ψ(x2),andψD(x)=ψ(x1)ψ(x2).\psi^H(x)=\psi(x_1)\varphi(x_2),\quad \psi^V(x)=\varphi(x_1)\psi(x_2), \quad \text{and} \quad \psi^D(x)=\psi(x_1)\psi(x_2).

Here the span is closed in L2L^2 on an unbounded domain; on the torus, the wavelets are periodized. Figure 4.18 displays examples of these wavelets.

Figure 4.18. 2-D wavelets and a schematic support centered at (2jn1,2jn2)(2^j n_1,2^j n_2), with width K2jK2^j (right).

Haar 2-D multiresolution.

The 2-D Haar construction gives piecewise constant approximations: functions in VjVjV_j \otimes V_j are constant on squares of size 2j×2j2^j \times 2^j. Figure 4.19 shows the corresponding projections of an image.

Figure 4.19. 2-D Haar approximation PVjOfP_{V_j^O}f for increasing jj.

Discrete 2-D wavelet coefficients.

As in (4.5), assume that acquisition provides inner products of the continuous signal ff with scaling functions at scale 2J2^J, with N=2JN=2^{-J} samples per direction:

n{0,,N1}2,aJ,n=f,(φJ,n1φJ,n2)P\forall \,n\in \{0,\ldots,N-1\}^2, \quad a_{J,n}=\langle f,\,(\varphi_{J,n_1}\otimes\varphi_{J,n_2})^P\rangle

Discrete wavelet coefficients are defined as

ω{V,H,D},  J<j0,  0n1,n2<2j,dj,nω=f,ψj,nω.\forall \,\omega\in \{V,H,D\}, \; \forall \,J < j \leqslant 0, \; \forall \,0 \leqslant n_1,n_2 < 2^{-j}, \quad d_{j,n}^\omega= \langle f ,\, \psi_{j,n}^{\omega} \rangle .

Here the wavelets are periodized.

Approximation coefficients are defined as

aj,n=f,(φj,n1φj,n2)P.a_{j,n}=\langle f,\,(\varphi_{j,n_1}\otimes\varphi_{j,n_2})^P\rangle.

Figure 4.20. 2-D wavelet coefficients.

Figure 4.20 shows how the wavelet coefficients are arranged in an image of N2N^2 pixels.

Figure 4.21 shows other examples of wavelet decompositions.

Figure 4.21. Images (top) and their wavelet coefficients (bottom).

One step of the forward 2-D transform.

Each step separates fine-scale approximation coefficients into three detail arrays and a coarse approximation:

aj1(aj,djH,djV,djD).a_{j-1} \longmapsto (a_j, d_j^H, d_j^V, d_j^D).

As in one dimension, this map is orthogonal. It is implemented by applying the filtering and sub-sampling formula (4.8) in each coordinate direction.

One first applies 1-D horizontal filtering and sub-sampling

a~j=(aj1Hhˉ)H2d~j=(aj1Hgˉ)H2,\begin{aligned} \tilde a_j &= ( a_{j-1} \star^H \bar h ) \downarrow^H 2\\ \tilde d_j &= (a_{j-1}\star^H\bar g) \downarrow^H 2, \end{aligned}

where H\star^H denotes convolution along the first coordinate (called horizontal here), applied to each column of the array

aHbn1,n2=m1=0P1an1m1,n2bm1a \star^H b_{n_1,n_2} = \sum_{m_1=0}^{P-1} a_{n_1-m_1,n_2} b_{m_1}

Here aCP×Pa\in\mathbb{C}^{P\times P} is a matrix and bCPb\in\mathbb{C}^P is a filter. The notation H2\downarrow^H 2 denotes sub-sampling in the horizontal direction

(aH2)n1,n2=a2n1,n2.(a \downarrow^H 2)_{n_1,n_2} = a_{2n_1,n_2}.

One then applies 1-D vertical filtering and sub-sampling to a~j\tilde a_j and d~j\tilde d_j to obtain

aj=(a~jVhˉ)V2,djV=(a~jVgˉ)V2,djH=(d~jVhˉ)V2,djD=(d~jVgˉ)V2,\begin{aligned} \begin{array}{ll} a_j &= ( \tilde a_j \star^V \bar h ) \downarrow^V 2,\\ d_j^V &= ( \tilde a_j \star^V \bar g ) \downarrow^V 2, \end{array}\qquad \begin{array}{ll} d_j^H &= ( \tilde d_j \star^V \bar h ) \downarrow^V 2,\\ d_j^D &= ( \tilde d_j \star^V \bar g ) \downarrow^V 2, \end{array} \end{aligned}

where the vertical operators are defined analogously to the horizontal operators, acting on rows.

Figure 4.22. Forward 2-D filterbank step.

Figure 4.23. One step of the 2-D wavelet transform algorithm.

These two forward steps are shown in the block diagram in Figure 4.22. The updates can be performed in place, storing all coefficients in an image of N2N^2 pixels, as shown in Figure 4.23. This produces the familiar multiscale arrangement used in Figure 4.21.

Fast 2-D wavelet transform.

The 2-D FWT algorithm iterates these steps through the scales:

Fast 2-D inverse wavelet transform.

The inverse transform undoes the horizontal and vertical filtering steps. The first step computes

a~j=(ajV2)Vh+(djVV2)Vg,d~j=(djHV2)Vh+(djDV2)Vg,\begin{aligned} \tilde a_j &= (a_j\uparrow^V2)\star^Vh + (d_j^V\uparrow^V2)\star^Vg,\\ \tilde d_j &= (d_j^H\uparrow^V2)\star^Vh + (d_j^D\uparrow^V2)\star^Vg, \end{aligned}

where the vertical up-sampling is

(aV2)n1,n2={an1,kifn2=2k,0ifn2=2k+1.(a \uparrow^V 2)_{n_1,n_2} = \left\{ \begin{array}{l} a_{n_1,k} \quad \text{if} \quad n_2=2k, \\ 0 \quad \text{if} \quad n_2=2k+1. \end{array} \right.

The second inverse step computes

aj1=(a~jH2)Hh+(d~jH2)Hg.\begin{aligned} a_{j-1} &= (\tilde a_j\uparrow^H2)\star^Hh + (\tilde d_j\uparrow^H2)\star^Hg. \end{aligned}

Figure 4.24 gives the inverse filter-bank diagram corresponding to Figure 4.22.

Figure 4.24. Backward 2-D filterbank step.

The inverse fast wavelet transform iteratively applies these elementary steps

4.6 Wavelet Design

Implementing the FWT requires the filters hh and gg, rather than explicit formulas for the scaling function φ\varphi and wavelet ψ\psi. Most useful wavelets have no elementary closed form; their refinement equations define them implicitly, and the cascade algorithm approximates them.

This section derives constraints on the filters and gives examples. Under the usual quadrature-mirror construction, the low-pass filter hh determines the high-pass filter gg.

4.6.1 Low-pass Filter Constraints

We introduce the following three conditions on a filter hh

h^(0)=2(C1)\begin{aligned} \hat h(0)&=\sqrt{2} \end{aligned} \tag{$C_1$}
h^(ω)2+h^(ω+π)2=2,(C2)\begin{aligned} |\hat h(\omega)|^2 + |\hat h(\omega+\pi)|^2&=2, \end{aligned} \tag{$C_2$}
infω[π/2,π/2]h^(ω)>0.(C)\begin{aligned} \underset{\omega\in [-\pi/2,\pi/2]}{\inf} |\hat h(\omega)|&>0. \end{aligned} \tag{$C^*$}

These conditions use the Fourier series of the filter hRZh \in \mathbb{R}^\mathbb{Z}:

ωR/2πZ,h^(ω):=nZhneinω.(4.13)\forall \omega\in \mathbb{R}/2\pi\mathbb{Z}, \quad \hat h(\omega) \mathrel{:=}\sum_{n \in \mathbb{Z}} h_n e^{-\mathrm{i}n \omega}. \tag{4.13}

If h1(Z)h \in \ell^1(\mathbb{Z}), this defines a continuous periodic function h^C0(R/2πZ)\hat h \in \mathcal{C}^0(\mathbb{R}/2\pi\mathbb{Z}), and the definition extends to h2(Z)h \in \ell^2(\mathbb{Z}) to give h^L2(R/2πZ)\hat h \in L^2(\mathbb{R}/2\pi\mathbb{Z}).

Condition (CC^*) prevents zeros of h^\hat h on the central half-period. It is a sufficient nondegeneracy condition for the converse construction used here.

4.6.2 High-pass Filter Constraints

We now introduce the following two conditions on a pair of filters (g,h)(g,h)

g^(ω)2+g^(ω+π)2=2(C3)\begin{aligned} |\hat g(\omega)|^2 + |\hat g(\omega+\pi)|^2&=2 \end{aligned} \tag{$C_3$}
g^(ω)h^(ω)+g^(ω+π)h^(ω+π)=0.(C4)\begin{aligned} \hat g(\omega) \hat h(\omega)^* + \hat g(\omega+\pi) \hat h(\omega+\pi)^*&=0. \end{aligned} \tag{$C_4$}

Figure 4.25 illustrates these filter constraints.

Figure 4.25. Constraints on low-pass and high-pass filters.

Quadrature mirror filters.

Quadrature mirror filters (QMF) define gg as a function of hh so that the conditions of Theorem 4.5 are automatically satisfied. Most wavelet constructions implicitly use this choice (other phase choices can yield different wavelets spanning the same detail spaces).

4.6.3 Wavelet Design Constraints

One can construct a multiresolution wavelet pair by designing a finite filter hh satisfying (C1C_1)(CC^*). The scaling function is obtained through the infinite product (4.16). Except in special cases such as Haar wavelets, it has no elementary closed form. The QMF relation (4.19) then defines gg, and (4.17) defines ψ\psi.

Fourier atoms are fixed exponentials, whereas mother wavelets can be designed to meet several requirements:

We now explain how these design requirements interact with conditions (C1C_1)(C4C_4).

Vanishing moments.

A wavelet ψ\psi has pp vanishing moments if

k=0,,p1,Rψ(x)xkdx=0.(4.21)\forall \,k=0,\ldots,p-1, \quad \int_\mathbb{R}\psi(x) \, x^k \mathrm{d}x = 0. \tag{4.21}

Vanishing moments make f,ψj,n\langle f,\,\psi_{j,n}\rangle small when ff has regularity Cα\text{C}^\alpha with α<p\alpha<p on Supp(ψj,n)(\psi_{j,n}). A Taylor expansion of ff about 2jn2^j n on the wavelet’s support explains this cancellation.

The vanishing-moment condition has the following equivalent Fourier characterization; see Figure 4.26.

Figure 4.26. Vanishing moments correspond to vanishing derivatives of the Fourier transform.

Conditions (C1C_1) and (C2C_2) give h^(π)=0\hat h(\pi)=0, so every admissible wavelet has at least 1 vanishing moment: ψ=0\int \psi=0. By (4.22), additional vanishing moments require the Fourier transform h^\hat h to vanish to higher order at ω=π\omega=\pi.

Support.

Figure 4.27 shows the wavelet coefficients of a piecewise smooth signal. The cancellation provided by ψ\psi suppresses coefficients in smooth regions, leaving the largest coefficients near singularities.

Figure 4.27. Location of large coefficients for Haar (left) and Daubechies-4 (right) wavelets applied to the same piecewise-smooth signal.

Choosing ψ\psi with short support limits how many wavelets intersect each singularity.

One can show that the size of the support of ψ\psi is proportional to the size of the support of hh.

Short support competes with the vanishing-moment requirement (4.21). Indeed, one can prove that for an orthogonal wavelet basis with pp vanishing moments

Supp(ψ)2p1,|\text{Supp}(\psi)| \geqslant 2p-1,

where the left-hand side denotes the length of the smallest closed interval containing the support of a compactly supported orthogonal mother wavelet.

Chapter 5 studies in detail the tradeoff between support size and vanishing moments in nonlinear approximation of piecewise smooth signals.

Smoothness.

In compression or denoising applications, an approximate signal is recovered from a partial set IMI_M of coefficients,

fM=(j,n)IMf,ψj,nψj,n.f_M = \sum_{(j,n) \in I_M} \langle f,\,\psi_{j,n}\rangle \psi_{j,n}.

This finite sum is at least as smooth as ψ\psi.

A smooth wavelet ψ\psi helps avoid visible reconstruction artifacts. Smoothness controls the regularity of the reconstructed signal, while vanishing moments and localization primarily determine the approximation rates studied below. These properties are often linked: in many families, including the Daubechies wavelets introduced next, more vanishing moments also bring greater smoothness.

4.6.4 Daubechies Wavelets

To build a wavelet ψ\psi with a fixed number pp of vanishing moments, one designs the filter hh, and uses the quadrature mirror filter relation (4.19) to compute gg. One therefore looks for hh such that

h^(ω)2+h^(ω+π)2=2,h^(0)=2,andk=0,,p1,  dkh^dωk(π)=0.|\hat h(\omega)|^2 + |\hat h(\omega+\pi)|^2 = 2, \quad \hat h(0)=\sqrt{2}, \quad \text{and} \quad \forall \,k=0,\ldots,p-1, \; {\frac{\mathrm{d}^k \hat h}{\mathrm{d}\omega^k} }(\pi)=0.

These conditions give algebraic relations between the coefficients of hh, which can be solved explicitly using the Euclidean division algorithm for polynomials.

The resulting Daubechies wavelets have pp vanishing moments and attain the minimum support length 2p12p-1 among compactly supported orthogonal wavelets.

The following filter coefficients are rounded to four decimal places. For p=1p=1, the construction gives the Haar system (up to the overall sign of the wavelet), with

h=[h0=0.7071;0.7071].h= [h_0 = 0.7071; 0.7071].

For p=2p=2, one obtains the celebrated Daubechies 4 filter

h=[0.4830;h0=0.8365;0.2241;0.1294],h = [0.4830 ; h_0=0.8365 ; 0.2241 ; -0.1294],

and for p=3p=3,

h=[0;0.3327;0.8069;h0=0.4599;0.1350;0.0854;0.0352].h = [0 ; 0.3327 ; 0.8069 ; h_0=0.4599; -0.1350 ;-0.0854 ; 0.0352].

Wavelet display.

Figure 4.28 compares Daubechies mother wavelets with increasing numbers of vanishing moments. Each continuous wavelet is approximated by a discrete wavelet ψˉj,n\bar \psi_{j,n} computed on a fine grid of NN samples. Applying the inverse transform to the following coefficient vector produces that discrete wavelet: dj,n=δjjδnnd_{j',n'} = \delta_{j-j'} \delta_{n-n'}.

Figure 4.28. Daubechies mother wavelets ψ\psi with increasing numbers pp of vanishing moments.