Wavelet transform

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

An example of the 2D discrete wavelet transform that is used in JPEG2000

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. This article provides a formal, mathematical definition of an orthonormal wavelet and of the integral wavelet transform.[1][2][3][4]

Definition

[edit | edit source]

A function ψL2() 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 of square-integrable functions on the real line.

The Hilbert basis is constructed as the family of functions {ψjk:j,k} by means of dyadic translations and dilations of ψ, ψjk(x)=2j2ψ(2jxk), for integers j,k.

If, under the standard inner product on L2(), f,g=f(x)g(x)dx, this family is orthonormal, then it is an orthonormal system: ψjk,ψlm=ψjk(x)ψlm(x)dx,=δjlδkm, where δjl is the Kronecker delta.

Completeness is satisfied if every function fL2() may be expanded in the basis as

f(x)=j,k=cjkψjk(x)

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

The integral wavelet transform is the integral transform defined as [Wψf](a,b)=1|a|ψ(xba)f(x)dx The wavelet coefficients cjk are then given by cjk=[Wψf](2j,k2j)

Here, a=2j is called the binary dilation or dyadic dilation, and b=k2j is the binary or dyadic position.

Principle

[edit | edit source]

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

ΔtΔω12

where t represents time and ω angular frequency (ω=2πf, where f is ordinary frequency).

The higher the required resolution in time, the lower the resolution in frequency has to be. The larger the extension of the analysis windows is chosen, the larger is the value of Δ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. Note however, that the frequency resolution is decreasing for increasing frequencies while the temporal resolution increases. This consequence of the Fourier uncertainty principle is not correctly displayed in the Figure.

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

Another example: The analysis of three superposed sinusoidal signals y(t)=sin(2πf0t)+sin(4πf0t)+sin(8πf0t) with STFT and wavelet-transformation.

Wavelet compression

[edit | edit source]

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, JPEG XS, CineForm, and the BBC's Dirac. The goal is to store image data in as little space as possible in a file. Wavelet compression can be either lossless or lossy.[5]

Method

[edit | edit source]

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".[6][7]

Evaluation

[edit | edit source]

Requirement for image compression

[edit | edit source]

For most natural images, the spectrum density of lower frequency is higher.[8] As a result, information of the low frequency signal (reference signal) is generally preserved, while the information in the detail signal is discarded. From the perspective of image compression and reconstruction, a wavelet should meet the following criteria while performing image compression:

  • Being able to transform more original image into the reference signal.
  • Highest fidelity reconstruction based on the reference signal.
  • Should not lead to artifacts in the image reconstructed from the reference signal alone.

Requirement for shift variance and ringing behavior

[edit | edit source]

Wavelet image compression system involves filters and decimation, so it can be described as a linear shift-variant system. A typical wavelet transformation diagram is displayed below:

The transformation system contains two analysis filters (a low pass filter h0(n) and a high pass filter h1(n)), a decimation process, an interpolation process, and two synthesis filters (g0(n) and g1(n)). The compression and reconstruction system generally involves low frequency components, which is the analysis filters h0(n) for image compression and the synthesis filters g0(n) for reconstruction. To evaluate such system, we can input an impulse δ(nni) and observe its reconstruction h(nni); The optimal wavelet are those who bring minimum shift variance and sidelobe to h(nni). Even though wavelet with strict shift variance is not realistic, it is possible to select wavelet with only slight shift variance. For example, we can compare the shift variance of two filters:[9]

Biorthogonal filters for wavelet image compression
Length Filter coefficients Regularity
Wavelet filter 1 H0 9 .852699, .377402, -.110624, -.023849, .037828 1.068
G0 7 .788486, .418092, -.040689, -.064539 1.701
Wavelet filter 2 H0 6 .788486, .047699, -.129078 0.701
G0 10 .615051, .133389, -.067237, .006989, .018914 2.068

By observing the impulse responses of the two filters, we can conclude that the second filter is less sensitive to the input location (i.e. it is less shift variant).

Another important issue for image compression and reconstruction is the system's oscillatory behavior, which might lead to severe undesired artifacts in the reconstructed image. To achieve this, the wavelet filters should have a large peak to sidelobe ratio.

So far we have discussed about one-dimension transformation of the image compression system. This issue can be extended to two dimension, while a more general term - shiftable multiscale transforms - is proposed.[10]

Derivation of impulse response

[edit | edit source]

As mentioned earlier, impulse response can be used to evaluate the image compression/reconstruction system.

For the input sequence x(n)=δ(nni), the reference signal r1(n) after one level of decomposition is x(n)*h0(n) goes through decimation by a factor of two, while h0(n) is a low pass filter. Similarly, the next reference signal r2(n) is obtained by r1(n)*h0(n) goes through decimation by a factor of two. After L levels of decomposition (and decimation), the analysis response is obtained by retaining one out of every 2L samples: hA(L)(n,ni)=fh0(L)(nni/2L).

On the other hand, to reconstruct the signal x(n), we can consider a reference signal rL(n)=δ(nnj). If the detail signals di(n) are equal to zero for 1iL, then the reference signal at the previous stage (L1 stage) is rL1(n)=g0(n2nj), which is obtained by interpolating rL(n) and convoluting with g0(n). Similarly, the procedure is iterated to obtain the reference signal r(n) at stage L2,L3,....,1. After L iterations, the synthesis impulse response is calculated: hs(L)(n,ni)=fg0(L)(n/2Lnj), which relates the reference signal rL(n) and the reconstructed signal.

To obtain the overall L level analysis/synthesis system, the analysis and synthesis responses are combined as below:

hAS(L)(n,ni)=kfh0(L)(kni/2L)fg0(L)(n/2Lk).

Finally, the peak to first sidelobe ratio and the average second sidelobe of the overall impulse response hAS(L)(n,ni) can be used to evaluate the wavelet image compression performance.

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.

Limitations

[edit | edit source]

While wavelet transforms offer theoretical advantages, their practical limitations have effectively limited wavelet compression to analyzing localized changes and transient signals. Despite decades of research, wavelet-based compression systems for common multimedia like audio and video do not consistently match the efficiency and perceptual quality of current Discrete Cosine Transform-based systems.[11]

For one-dimensional data like audio or ECGs, wavelets excel at representing and compressing transient signals—sudden, isolated events such as a drum hit in music or the sharp peaks in a heart rhythm. For example, the discrete wavelet transform has been successfully applied for the compression of electrocardiograph (ECG) signals.[12] However, for smooth, periodic signals, which make up much of typical audio, harmonic analysis in the frequency domain with Fourier-related transforms achieve better compression and sound quality. Compressing data that has both transient and periodic characteristics may be done with hybrid techniques that use wavelets along with traditional harmonic analysis. For example, the Vorbis audio codec primarily uses the modified discrete cosine transform to compress audio (which is generally smooth and periodic), however allows the addition of a hybrid wavelet filter bank for improved reproduction of transients.[13]

For higher-dimensional data, wavelet compression faces significant challenges. In video, for instance, modern compression techniques such as intra coding and motion compensation (predicting parts of an image based on what's next to it spatially and temporally) and mixed and dynamic block sizes become incredibly complex with wavelets because of their overlapping nature. This complexity translates to more processing power and slower speed, making them less practical for widespread use. Furthermore, while wavelets might score well on traditional measures such as PSNR, DCT blocks create a perception of sharpness that wavelets often lack, requiring higher bitrates to achieve similar subjective quality.[11]

Comparison with Fourier transform and time-frequency analysis

[edit | edit source]
Transform Representation Input
Fourier transform X^(f)=x(t)ei2πftdt f : frequency
Time–frequency analysis X(t,f) t time; f frequency
Wavelet transform X(a,b)=1aΨ(tba)x(t)dt a scaling ; b time shift factor

Wavelets have some slight benefits over Fourier transforms in reducing computations when examining specific frequencies. However, they are rarely more sensitive, and indeed, the common Morlet wavelet is mathematically identical to a short-time Fourier transform using a Gaussian window function.[14] The exception is when searching for signals of a known, non-sinusoidal shape (e.g., heartbeats); in that case, using matched wavelets can outperform standard STFT/Morlet analyses.[15]

Other practical applications

[edit | edit source]

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,[16] for fault detection,[17] for the analysis of seasonal displacements of landslides,[18] for design of low power pacemakers and also in ultra-wideband (UWB) wireless communications.[19][20][21]

  1. Discretizing of the cτ axis

    Applied the following discretization of frequency and time:

    cn=c0nτm=mTc0n

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

    Ψ(k,n,m)=1c0nΨ[kmc0nc0nT]=1c0nΨ[(kc0nm)T]

    Such discrete wavelets can be used for the transformation:

    YDW(n,m)=1c0nk=0K1y(k)Ψ[(kc0nm)T]
  2. Implementation via the FFT (fast Fourier transform)

    As apparent from wavelet-transformation representation (shown below)

    YW(c,τ)=1cy(t)Ψ(tτc)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 cn
    • Scaling of the wavelet-basis-function by this factor cn 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,τ) for different discrete values of τ and a discrete value of cn
    • Back to the second step, until all discrete scaling values for cnare processed
    There are many 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.
  3. Fault detection in electrical power systems.[22]
  4. Locally adaptive statistical estimation of functions whose smoothness varies substantially over the domain, or more specifically, estimation of functions that are sparse in the wavelet domain.[23]

Time-causal wavelets

[edit | edit source]

For processing temporal signals in real time, it is essential that the wavelet filters do not access signal values from the future as well as that minimal temporal latencies can be obtained. Time-causal wavelets representations have been developed by Szu et al[24] and Lindeberg,[25] with the latter method also involving a memory-efficient time-recursive implementation.

Synchro-squeezed transform

[edit | edit source]

Synchro-squeezed transform can significantly enhance temporal and frequency resolution of time-frequency representation obtained using conventional wavelet transform.[26][27]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Meyer, Yves (1992), Wavelets and Operators, Cambridge, UK: Cambridge University Press, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Chui, Charles K. (1992), An Introduction to Wavelets, San Diego, CA: Academic Press, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Daubechies, Ingrid. (1992), Ten Lectures on Wavelets, SIAM, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Akansu, Ali N.; Haddad, Richard A. (1992), Multiresolution Signal Decomposition: Transforms, Subbands, and Wavelets, Boston, MA: Academic Press, Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ JPEG 2000, for example, may use a 5/3 wavelet for lossless (reversible) transform and a 9/7 wavelet for lossy (irreversible) transform.
  6. ^ N. Malmurugan, A. Shanmugam, S. Jayaraman and V. V. Dinesh Chander. "A New and Novel Image Compression Algorithm Using Wavelet Footprints"
  7. ^ Ho Tatt Wei and Jeoti, V. "A wavelet footprints-based compression scheme for ECG signals". Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • Concise Introduction to Wavelets by René Puschinger

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).