Gmane
From: Gabriel Peyré <nikopol0 <at> altern.org>
Subject: [Algorithms] Wavelet for reduction and interpolation [was: Keyframe reduction]
Newsgroups: gmane.games.devel.algorithms
Date: 2002-12-16 23:42:51 GMT (5 years, 50 weeks, 2 days, 1 hour and 37 minutes ago)
If you're interested in using wavelets for compression of data (especialy
multiresolution subsampling, with embeded
decoding of the keyframes), I think you should take a look at :

1 - second generation wavelets construction (i.e. lifintg scheme) : it
provide very clear algorithm to build interpolating wavelet
(very cool for keyframing). The construction doesn't rely on fourier tools,
so it's really straightforward to code and debug.
You may take a look at the paper "building your own wavelet at home"
http://www.multires.caltech.edu/teaching/courses/waveletcourse/
Caltech multires publication are simply a must read for CG lovers.
2- embeded compression with zerotree : very simple algorithm to serialize
wavelet coefficients computed with lifting. Straightfoward to implement,
impressive results :
SPIHT : http://www.cipr.rpi.edu/research/SPIHT/spiht4.html
the paper : http://www.cipr.rpi.edu/research/SPIHT/EW_Code/csvt96_sp.ps.gz

I hope this helps ...
I believe this kind of approaches would provide the best solution for
interpolation of (quite) smooth datas, with sate of the art compression,
very simple and quick algorithm. Much more simpler than interpolation with
splines (although you can build, with lifting, spline wavelets :-).

If someone is interested in seeing these algorithms in action (not for
keyframing ...), I've released a project to construct
wavelet on the 2-sphere, with win32 demo
http://nikopol0.alrj.org/fsw
comments are wellcome !

Gabriel Peyré

----- Original Message -----
From: "Casey Muratori" <gda <at> funkytroll.com>
To: <gdalgorithms-list <at> lists.sourceforge.net>
Sent: Monday, December 16, 2002 10:12 PM
Subject: [Algorithms] Re: Keyframe reduction

> > On this first pass we're stuck with linear keyframing, because we just
> > don't have the cycles in game to go to splines. I know this would help a
> > lot, but it isn't an option.
>
> In Granny I do successive least-squares approximations do the data.  I
> take the array of samples for a given channel (ie., position) which is 2x
> oversampled or better from the art tool.  I then start by doing a
> least-square solve for a spline of arbitrary degree with knots at either
> end.  I compute the error over the spline from the original samples, and
> add knots in the areas of highest error.  Repeat and salt to taste.
>
> Since it's fairly easy to write a single solver that solves for any degree
> of spline, I use the same solver for linear keyframes as I do for
> quadratic keyframes, cubic keyframes, or even "0th order keframes", which
> is to say if you don't want to interpolate _at all_, the solver can still
> place the "stop-motion" key frames in the best locations.  But hopefully
> no one is still doing that kind of animation.
>
> If I were doing this over again (which I probably will at some point), I
> would probably use some kind of weird waveletty scheme now.  I decided not
> to do that originally, because I had about a month to do the entire
> spline/solver/reduction thing the first time, and it had to be highly
> optimized.  So I didn't want to have to learn wavelets and spline solvers
> at the same time.  Next time I'll spend some time on wavelets and probably
> use some sort of hierachical reduction scheme instead, primarily so you
> can change how densely your keyframes are placed at run-time, and so you
> can get hard edges easier (motions which are intended to have sharp
> discontinuities aren't handled well at all by my current scheme).
>
> - Casey
>
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:
> With Great Power, Comes Great Responsibility
> Learn to use your power at OSDN's High Performance Computing Channel
> http://hpc.devchannel.org/
> _______________________________________________
> GDAlgorithms-list mailing list
> GDAlgorithms-list <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
> Archives:
> http://sourceforge.net/mailarchive/forum.php?forum_id=6188

-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
GDAlgorithms-list mailing list
GDAlgorithms-list <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_id=6188