Definitions

# Cohen-Daubechies-Feauveau wavelet

Cohen-Daubechies-Feauveau wavelet are the historically first family of biorthogonal wavelets, which was made popular by Ingrid Daubechies. These are not the same as the orthogonal Daubechies wavelets, and also not very similar in shape and properties. However their construction idea is the same.

The JPEG 2000 compression standard uses the biorthogonal CDF 5/3 wavelet (also called the LeGall 5/3 wavelet) for lossless compression and a CDF 9/7 wavelet for lossy compression.

## Properties

• The primal generator is a B-spline if the simple factorization $q_\left\{mathrm\left\{prim\right\}\right\}\left(X\right)=1$ (see below) is chosen
• The dual generator has the maximum number of smoothness factors which is possible for its length.
• All generators and wavelets in this family are symmetric.

## Construction

For every positive integer A there exists a unique polynomial $Q_A\left(X\right)$ of degree A-1 satisfying the identity

$\left(1-X/2\right)^A,Q_A\left(X\right)+\left(X/2\right)^A,Q_A\left(2-X\right)=1$.
This is the same polynomial as used in the construction of the Daubechies wavelets. But, instead of a spectral factorization, here we try to factor
$Q_A\left(X\right)=q_\left\{mathrm\left\{prim\right\}\right\}\left(X\right),q_\left\{mathrm\left\{dual\right\}\right\}\left(X\right)$,
where the factors are polynomials with real coefficients and constant coefficient 1. Then,
$a_\left\{mathrm\left\{prim\right\}\right\}\left(Z\right)=2Z^d,left\left(frac\left\{1+Z\right\}2right\right)^A,q_\left\{mathrm\left\{prim\right\}\right\}\left(1-\left(Z+Z^\left\{-1\right\}\right)/2\right)$
and
$a_\left\{mathrm\left\{dual\right\}\right\}\left(Z\right)=2Z^d,left\left(frac\left\{1+Z\right\}2right\right)^A,q_\left\{mathrm\left\{dual\right\}\right\}\left(1-\left(Z+Z^\left\{-1\right\}\right)/2\right)$
form a biorthogonal pair of scaling sequences. d is some integer used to center the symmetric sequences at zero or to make the corresponding discrete filters causal.

Depending on the roots of $Q_A\left(X\right)$, there may be up to $2^\left\{A-1\right\}$ different factorizations. A simple factorization is $q_\left\{mathrm\left\{prim\right\}\right\}\left(X\right)=1$ and $q_\left\{mathrm\left\{dual\right\}\right\}\left(X\right)=Q_A\left(X\right)$, then the $mathrm\left\{primary\right\}$ scaling function is the B-spline of order A-1. For A=1 one obtains the orthogonal Haar wavelet.

## Tables of coefficients

For A=2 one obtains in this way the LeGall 5/3-wavelet:

A QA(X) qprim(X) qdual(X) aprim(Z) adual(Z)
2 $1 + frac12,X$ 1 $1 + frac12,X$ $frac12\left(1+Z\right)^2,Z$ $frac12\left(1+Z\right)^2,left\left(-frac14 + frac32,Z - frac14,Z^2right\right)$

For A=4 one obtains the 9/7-CDF-wavelet. One gets $Q_4\left(X\right)=1 + 2,X + 5/2,X^2 + 5/2,X^3$, this polynomial has exactly one real root, thus it is the product of a linear factor $1-c,X$ and a quadratic factor. The coefficient c, which is the inverse of the root, has an approximate value of -1.4603482098.

A QA(X) qprim(X) qdual(X)
4 $1 + 2,X + 5/2,X^2 + 5/2,X^3$ $1-c,X$ $1 + \left(c + 2\right)*,X + \left(c^2 + 2*c + 5/2\right),X^2$

For the coefficients of the centered scaling and wavelet sequences one gets numerical values in an implementation–friendly form

k Analysis lowpass filter (1/2 adual) Analysis highpass filter (bdual) Synthesis lowpass filter (aprim) Synthesis highpass filter (1/2 bprim)
-4 0.026748757411 0 0 0.026748757411
-3 -0.016864118443 0.091271763114 -0.091271763114 0.016864118443
-2 -0.078223266529 -0.057543526229 -0.057543526229 -0.078223266529
-1 0.266864118443 -0.591271763114 0.591271763114 -0.266864118443
0 0.602949018236 1.11508705 1.11508705 0.602949018236
1 0.266864118443 -0.591271763114 0.591271763114 -0.266864118443
2 -0.078223266529 -0.057543526229 -0.057543526229 -0.078223266529
3 -0.016864118443 0.091271763114 -0.091271763114 0.016864118443
4 0.026748757411 0 0 0.026748757411

## Numbering

There are two concurring numbering schemes for wavelets of the CDF family.

• the number of smoothness factors of the lowpass filters, or equivalently the number of vanishing moments of the highpass filters, e.g. 2,2
• the sizes of the lowpass filters, or equivalently the sizes of the highpass filters, e.g. 5,3

The first numbering was used in Daubechies' book Ten lectures on wavelets. Neither of this numbering is unique. The number of vanishing moments does not tell about the chosen factorization. A filterbank with filter sizes 7 and 9 can have 6 and 2 vanishing moments when using the trivial factorization, or 4 and 4 vanishing moments as it is the case for the JPEG 2000 wavelet.

## Lifting decomposition

For the trivially factorized filterbanks a lifting decomposition can be explicitly given. (See Section 3.2.4 of this thesis)

### Even number of smoothness factors

Let $n$ be the number of smoothness factors in the B-spline lowpass filter, which shall be even.

Then define recursively

$a_0 = frac\left\{1\right\}\left\{n\right\}$
$a_m = frac\left\{1\right\}\left\{\left(n^2-4cdot m^2\right)cdot a_\left\{m-1\right\}\right\}$

The lifting filters are

$s_\left\{m\right\}\left(z\right) = a_mcdot\left(2cdot m + 1\right)cdot\left(1 + z^\left\{\left(-1\right)^m\right\}\right)$

Conclusively the interim results of the lifting are

$x_\left\{-1\right\}\left(z\right) = z$
$x_\left\{0\right\}\left(z\right) = 1$
$x_\left\{m+1\right\}\left(z\right) = x_\left\{m-1\right\}\left(z\right) + a_mcdot\left(2cdot m+1\right)cdot\left(z+z^\left\{-1\right\}\right) cdot z^\left\{\left(-1\right)^m\right\} cdot x_\left\{m\right\}\left(z\right)$

$x_\left\{n/2\right\}\left(z\right) = 2^\left\{-n/2\right\} cdot \left(1+z\right)^n cdot z^\left\{n/2 bmod 2 - n/2\right\}$

The filters $x_\left\{n/2\right\}$ and $x_\left\{n/2-1\right\}$ constitute the CDF-n,0 filterbank.

### Odd number of smoothness factors

Now, let $n$ be odd.

Then define recursively

$a_0 = frac\left\{1\right\}\left\{n\right\}$
$a_m = frac\left\{1\right\}\left\{\left(n^2-\left(2cdot m-1\right)^2\right)cdot a_\left\{m-1\right\}\right\}$

The lifting filters are

$s_\left\{m\right\}\left(z\right) = a_mcdot\left(\left(2cdot m + 1\right) + \left(2cdot m - 1\right)cdot z\right) / z^\left\{m bmod 2\right\}$

Conclusively the interim results of the lifting are

$x_\left\{-1\right\}\left(z\right) = z$
$x_\left\{0\right\}\left(z\right) = 1$
$x_\left\{1\right\}\left(z\right) = x_\left\{-1\right\}\left(z\right)+a_0cdot x_0\left(z\right)$
$x_\left\{m+1\right\}\left(z\right) = x_\left\{m-1\right\}\left(z\right) + a_mcdot\left(\left(2cdot m+1\right)cdot z + \left(2cdot m-1\right)cdot z^\left\{-1\right\}\right) cdot z^\left\{\left(-1\right)^m\right\} cdot x_\left\{m\right\}\left(z\right)$

$x_\left\{\left(n+1\right)/2\right\}\left(z\right) sim \left(1+z\right)^n$
The filters $x_\left\{\left(n+1\right)/2\right\}$ and $x_\left\{\left(n-1\right)/2\right\}$ constitute the CDF-n,1 filterbank.