Wavelets is a form of lossy compression. Its similar to Fourrier analysis.
Essentially, any waveform can be constructed as an equation (bit rusty, so I might be pi/2 out or something here):
y = a[0] + a[1] * cos( theta ) + a[2] * cos (2 * theta) + a[3] * cos( 3 * theta )
… as long as you add in an infinite number of terms.
With a small finite number of terms, what you get resembles the input, but it can take up a lot less data. Obviously its not lossless: the compressed version isnt quite the same as the original.
You can create wavelets using anything really, doesnt have to be sine waves, could be square waves, sawtooth waves. This guy cs.ucr.edu/~eamonn/ has tried several different types for time series data compression / matching, and found that using a square wave works just as well as sine waves, for pattern matching, but runs much much faster.
What you were doing sounds similar to what I’m suggesting, because you’re taking squares from a grid and compressing them, albeit losslessly. I guess the bit where I’m trying to add value is in using a lossy compression, and getting a progressively more “blurry” image as the distance from one’s avatar increases?
I guess the issues I have are:
- to what extent does what I’m proposing correspond to what has been done before (answer: somewhat)
- how good a representation does wavelets make of the source, ie how many terms does one need to take? (answer: not sure; need to play around probably and get a feel for this)
- what methods are there for generating wavelets? I’m thinking maybe FFTW can do this? A Fourrier Analysis app is possibly sufficient? And I guess it can cope with 2D fourrier analysis, since its designed for pictures and stuff? Perhaps there are other applications out there more suited for wavelet decomposition?
- blending between the different squares. Obviously, if I have a 256m x 256m square independently compressed, in a very lossy way, compared to the 1024m x 1024 m its sitting in, there could be discrepencies along their border, so probably need some sortof blending?
- other issues, as yet unknown
What do you think?
Hugh