Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Wavelet Analysis for Dummies (rowan.edu)
35 points by kevinskii on June 28, 2010 | hide | past | favorite | 6 comments


Does anyone here know signal theory well enough to explain wavelet transform vis a vis audio data compression? I used to follow the talk around audio compression algorithms and I remember wavelets were often described as a (potential) holy grail.

Any DSP gurus here?


I can answer very broadly.

Compressing data is the art of taking a large amount of data, and turning it into a smaller amount of data saying much the same thing. Compression comes in two fundamental forms, lossless and lossy. Lossy compression is just a fancy name for selecting some of the data for the great bit bucket in the sky. Lossless compression is about finding a compact description of the data. Wavelets are useful for both.

The simplest way to describe a signal is as a bunch of data points. This is perfectly localized in space, but not in frequency. With solid blocks it gives you an easily compressed description, but a smoothly varying curve takes a tremendous amount of data to describe this way.

The next simplest approach is to describe it as a superposition of pure frequencies. This is what the Fourier transform does. A smooth curve can be described very efficiently this way, but if there is a discontinuity in it anywhere, then it takes a tremendous amount of data to represent it.

Wavelets are little waves that are somewhat localized in both space and frequency. A wavelet can be moved around or stretched to provide many different trade-offs. This is good for efficient description of mixed signals, such as pictures with smooth regions and sudden jumps, or the sound of talking with boundaries between different phonemes. A lot of audio and visual data looks like this.

This is good for lossless compression because wavelets tend to wind up fairly efficiently describing each part of the signal in an appropriate way for that part, which is overall very efficient.

But wavelets give you another trick. To specify a lot of detail takes a lot of wavelets, but you can track how much "energy" each wavelet has. This lets you prioritize the signal and figure out which parts you can get rid of without changing the signal too noticeably. This is great for lossy compression.

But, and this is a big but, wavelets were very, very popular in the mid-90s, lots of research was done, and then it was all locked away with patents. So there is a lot of good stuff out there that nobody wants to use until the patents expire. Which has stifled research, and makes a lot of this stuff we'll all ignore for a few years. :-(

(The legal questions are one of the reasons that JPEG 2000 has not been widely adopted. See http://upload.wikimedia.org/wikipedia/commons/7/78/JPEG_2000... for a visual demonstration of how much of an image remains even after you've thrown away 99% of the data.)


Another interesting side note is that wavelets (Gabor wavelets in particular) have been shown to look very much like receptive fields in the primary visual cortex. The suggestion is that such receptive fields evolved as an efficient way to encode images of natural scenes. A couple of nice references are

David. J Field. Wavelets, vision, and the statistics of natural scenes. (1999) http://redwood.psych.cornell.edu/papers/field_wavelets_1999....

David J. Field. What is the goal of sensory coding? (1994)

http://redwood.psych.cornell.edu/courses/psych527fall05/pape...


You'll notice that in the JPEG 2000 example, the artifacts from using wavelets are much less noticeable than with traditional JPEG. This is exactly because wavelets are able to represent sharp edges with very little information (due to the fact they themselves are localized sharply in time). This avoids the blockiness that is inherent in traditional DCT transform based techniques at low bitrates.


Best use so far for Readability.


Funny I was about to post exactly that. Have an upvote.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: