Wavelets (1994) [pdf]
cybertester.com
cybertester.com
You can think of a function f(x) as the limit of an infinitely big vector where the entries index the infinitesimal. Eg f(x) = [...f(-2dx), f(-dx), f(0), f(dx), f(2dx)...]. The dot product of two functions (f,g) is still the usual sum[f(x)*g(x)] but the sum is replaced with an integral. Sin and Cos of integer frequencies happen to have a dot product of 0 (check it) which means doing a change of basis into those functions (aka the Fourier transform) happens to work out really nicely. Other than that Sin and Cos are not really privileged. For example you can do a transform into the basis of polynomial functions if you wanted to (aka the Taylor series). Any basis you can cook up would do just as well so long as its a complete basis. Just like in linear algebra, you have a complete basis if you can use linear combinations to construct the vectors ... [...1,0,0...], [...0,1,0...], [...0,0,1...] ... (aka the dirac delta functions). Differentiation is a matrix with dx on the off diagonal and -dx on the diagonal.
So that's great, but what do the basis vectors look like? You need a family of functions so that scalings and translations of them have inner product 0 against each other. So this is easy if the shared support is 0, or if the +ve and -ve parts cancel out. It doesn't take too much playing about to see how this works with Haar basis, or sin/cos (i.e. FFT), so it looks pretty intuitive.
It also seem kind of intuitive that these might be the only way to do this... but that's wrong.
It turns out you can construct other families that work, unlike the nicely behaved sin/cos, or step functions, they are not smooth, not symmetric (at least for orthonormal basis) - quite odd. They don't have closed forms, so if you want to see what one looks like you'll have to realized it as a fixed point or by some other approximation method: e.g. https://en.wikipedia.org/wiki/Daubechies_wavelet#/media/File...
Just be warned that the polynomial you get depends on where you center your Taylor series. There are multiple different Taylor-series approximations for the same function, and each one only converges within a disk in the complex plane which does not include any poles.
If you try to fit the Runge function 1 / (1 + 25x^2) with a Taylor series centered at 0 you’re going to have a bad time.
Edit: looks like the Dirac video codec is based on wavelets. Good to know all of that research wasn’t for nothing!
Wavelet-based codecs turned out to be much harder to implement in hardware that fourier-transform-based ones (for which we have FFT!). That disincentivized development, which is why you only have Dirac (an open-source, non-HW-industry-backed effort) that uses it.
It's not as hyped as mainstream deep learning methods but I think it holds a lot of promise since it cuts down on learning time, is mostly unsupervised, gives you control over the network's features and is a more theoretically principled way to build networks than just defining the loss and crossing your fingers while it's optimizing as we're doing right now (bit of an hyperbole).
I could go on, it's absolutely fascinating. More info (in english & french): https://edouardoyallon.github.io/thesis.pdf
On the more general area Mallat has a good and approachable (not very technical) book on the area: "A Wavelet Tour of Signal Processing". Worth a look for anyone intrigued by wavelets.
[0] http://www.darktable.org/2011/11/darktable-and-research/
Are we talking about roughly the same encoding time, or the DWT is slower by an order of magnitude?
"What do you say to a thesis student you don't remember? In that position I suggest something very short: 'Tell me more.' The most amazing part was his thesis topic. 'I am designing the filter bank for MIT's entry in the HDTV competition.' Some days you can't lose, even if you deserve to."
The fundamental (functional analysis) research in this area split in a few directions. One as you mention, mostly driven by imaging research, but also frame theory and non tensor-product basis, etc.
Are they supposed to displace Fourier decompositions, or did that fizzle?
Definitely has its uses. Definitely isn't a panacea.
https://en.wikipedia.org/wiki/Fast_Fourier_transform
Or the Discrete Cosine Transform ?
https://en.wikipedia.org/wiki/Discrete_cosine_transform
Or the Gabor Transform ?