World Library  
Flag as Inappropriate
Email this Article

Wavelet compression


Wavelet compression

In mathematics, a wavelet series is a representation of a square-integrable (real- or complex-valued) function by a certain orthonormal series generated by a wavelet. Nowadays, wavelet transformation is one of the most popular candidates of the time-frequency-transformations. This article provides a formal, mathematical definition of an orthonormal wavelet and of the integral wavelet transform.

Formal definition

A function \psi\in L^2(\mathbb{R}) is called an orthonormal wavelet if it can be used to define a Hilbert basis, that is a complete orthonormal system, for the Hilbert space L^2(\mathbb{R}) of square integrable functions.

The Hilbert basis is constructed as the family of functions \{\psi_{jk}: j, k \in \Z\} by means of dyadic translations and dilations of \psi\,,

\psi_{jk}(x) = 2^\frac{j}{2} \psi(2^jx - k)\,

for integers j, k \in \mathbb{Z}.

This family is an orthonormal system if it is orthonormal under the standard inner product \langle f, g\rangle = \int_{-\infty}^\infty f(x)\overline{g(x)}dx on L^2(\mathbb{R}).

\langle\psi_{jk},\psi_{lm}\rangle = \delta_{jl}\delta_{km}

where \delta_{jl}\, is the Kronecker delta.

Completeness is satisfied if every function h \in L^2(\mathbb{R}) may be expanded in the basis as

h(x) = \sum_{j, k=-\infty}^\infty c_{jk} \psi_{jk}(x)

with convergence of the series understood to be convergence in norm. Such a representation of a function f is known as a wavelet series. This implies that an orthonormal wavelet is self-dual.

Wavelet transform

The integral wavelet transform is the integral transform defined as

\left[W_\psi f\right](a, b) = \frac{1}{\sqrt{|a|}} \int_{-\infty}^\infty \overline{\psi\left(\frac{x-b}{a}\right)}f(x)dx\,

The wavelet coefficients c_{jk} are then given by

c_{jk} = \left[W_\psi f\right]\left(2^{-j}, k2^{-j}\right)

Here, a = 2^{-j} is called the binary dilation or dyadic dilation, and b = k2^{-j} is the binary or dyadic position.

Basic idea

The fundamental idea of wavelet transforms is that the transformation should allow only changes in time extension, but not shape. This is effected by choosing suitable basis functions that allow for this. Changes in the time extension are expected to be conform to the corresponding analysis frequency of the basis function. Based on the uncertainty principle of signal processing,

\Delta t * \Delta \omega \geqq \frac{1}{2}

where t represents time and ω angular velocity (ω = 2*Pi*frequency).

The higher the resolution in time is required, the lower resolution in frequency has to be. The larger the extension of the analysis windows is chosen, the larger is the value of \Delta t.

When Δt is large,

  1. Bad time resolution
  2. Good frequency resolution
  3. Low frequency, large scaling factor

When Δt is small

  1. Good time resolution
  2. Bad frequency resolution
  3. High frequency, small scaling factor

In other words, the basis function Ψ can be regarded as an impulse response of a system with which the function x(t) has been filtered. The transformed signal provides information about the time and the frequency. Therefore, wavelet-transformation contains information similar to the short-time-Fourier-transformation, but with additional special properties of the wavelets, which show up at the resolution in time at higher analysis frequencies of the basis function. The difference in time resolution at ascending frequencies for the Fourier transform and the wavelet transform is shown below.

This shows that wavelet transformation is good in time resolution of high frequencies, while for slowly varying functions, the frequency resolution is remarkable.

An other example: The analysis of three superposed sinusoidal signals y(t) = \sin(2 \pi f_0 t) + \sin(4 \pi f_0 t) + \sin(8 \pi f_0 t) with STFT and wavelet-transformation.

Wavelet compression

Wavelet compression is a form of data compression well suited for image compression (sometimes also video compression and audio compression). Notable implementations are JPEG 2000, DjVu and ECW for still images, REDCODE, CineForm, the BBC's Dirac, and Ogg Tarkin for video. The goal is to store image data in as little space as possible in a file. Wavelet compression can be either lossless or lossy.[1]

Using a wavelet transform, the wavelet compression methods are adequate for representing transients, such as percussion sounds in audio, or high-frequency components in two-dimensional images, for example an image of stars on a night sky. This means that the transient elements of a data signal can be represented by a smaller amount of information than would be the case if some other transform, such as the more widespread discrete cosine transform, had been used.

Wavelet compression is not good for all kinds of data: transient signal characteristics mean good wavelet compression, while smooth, periodic signals are better compressed by other methods, particularly traditional harmonic compression (frequency domain, as by Fourier transforms and related).

See Diary Of An x264 Developer: The problems with wavelets (2010) for discussion of practical issues of current methods using wavelets for video compression.


First a wavelet transform is applied. This produces as many coefficients as there are pixels in the image (i.e., there is no compression yet since it is only a transform). These coefficients can then be compressed more easily because the information is statistically concentrated in just a few coefficients. This principle is called transform coding. After that, the coefficients are quantized and the quantized values are entropy encoded and/or run length encoded.

A few 1D and 2D applications of wavelet compression use a technique called "wavelet footprints".[2][3]

Comparison with wavelet transformation, Fourier transformation and time-frequency analysis

Transformation Representation Output
Fourier transform f(\xi) = \int_{-\infty}^{\infty} f(x)e^{-2 \pi ix \xi}\, dx ξ, frequency
Time-frequency analysis X(t, f) t, time; f, frequency
Wavelet transform X(a,b) = \frac{1}{\sqrt{a}}\int_{-\infty}^{\infty}\overline{\Psi\left(\frac{t - b}{a}\right)} x(t)\, dt a, scaling; b, time

Other practical applications

The wavelet transform can provide us with the frequency of the signals and the time associated to those frequencies, making it very convenient for its application in numerous fields. For instance, signal processing of accelerations for gait analysis,[4] and for fault detection.[5]

(1) Discretizing of the c-τ-axis

Applied the following discretization of frequency and time:

    c_n &= c_0^n \\
 \tau_m &= m \cdot T \cdot c_0^n


Leading to wavelets of the form, the discrete formula for the basis wavelet:

\Psi(k, n, m) = \frac{1}{\sqrt{c_0^n}}\cdot\Psi\left[\frac{k - m c_0^n}{c_0^n}T\right] = \frac{1}{\sqrt{c_0^n}}\cdot\Psi\left[\left(\frac{k}{c_0^n} - m\right)T\right]

Such discrete wavelets can be used for the transformation:

Y_{DW}(n, m) = \frac{1}{\sqrt{c_0^n}}\cdot\sum_{k=0}^{K - 1} y(k)\cdot\Psi\left[\left(\frac{k}{c_0^n} - m\right)T\right]

(2) Implementation via the FFT (fast Fourier transform)

As apparent from wavelet-transformation representation (shown below)

Y_W(c, \tau) = \frac{1}{\sqrt{c}}\cdot\int_{-\infty}^{\infty} y(k) \cdot \Psi\left(\frac{t - \tau}{c}\right)\, dt

where c is scaling factor, τ represents time shift factor

and as already mentioned in this context, the wavelet-transformation corresponds to a convolution of a function y(t) and a wavelet-function. A convolution can be implemented as a multiplication in the frequency domain. With this the following approach of implementation results into:

  • Fourier-transformation of signal y(k) with the FFT
  • Selection of a discrete scaling factor c_n
  • Scaling of the wavelet-basis-function by this factor c_n and subsequent FFT of this function
  • Multiplication with the transformed signal YFFT of the first step
  • Inverse transformation of the product into the time domain results in YW(c, \tau) for different discrete values of τ and a discrete value of c_n
  • Back to the second step, until all discrete scaling values for c_nare processed

There are large different types of wavelet transforms for specific purposes. See also a full list of wavelet-related transforms but the common ones are listed below: Mexican hat wavelet, Haar Wavelet, Daubechies wavelet, triangular wavelet.

See also


External links

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.