the shoulder rotation plotted at various frequencies sparked for me: is there an "MP3" of character animation data? The way that we have compression optimized for auditory perception… it feels like we might be missing an open standard for compressing this kind of animation data?
edit: Claude is thinking MP3 could work directly: pack 180Hz animation channels into a higher frequency audio signal with some scheme like Frequency Division / Time Division Multiplexing, or Amplitude Modulation. Boom, high compression with commonplace hardware support.
That same graph had me jump towards the sampling theorem - playing back an animation with linear interpolation creates hard edges, e.g. frequency spikes. I‘m not sure if the movement space is comparable to audio here, but I can‘t see why not.
so; if the sampling theorem applies; having 2x the maximum movement „frequency“ should be enough to perfectly recreate them, as long as you „filter out“ any higher frequencies when playing back the animation by using something like fft upscaling (re-sampling) instead of linear or bezier interpolation.
(having written this, I realize that‘s probably what everyone is doing.)
I would love to be corrected on this - but my understanding of frequency compression is that you have to decode the entire file before being able to play back the audio. Therefore, in real time applications with limited RAM (video games) you don't want to wait for the entire animation to be decoded before streaming the first frames.
Can anyone think of a system with better time-to-first-frame that achieves good compression?
most audio and video schemes support streaming, in the case of MP3 we are talking about frame-based compression
I guess to restate my curiosity: are things like Animation Pose Compression in Unity or equivalents in other engines remotely as good as audio techniques with hardware support? The main work on this seems to be here and I didn't see any references to audio codecs in the issue history fwiw. https://github.com/nfrechette/acl
edit: Claude is thinking MP3 could work directly: pack 180Hz animation channels into a higher frequency audio signal with some scheme like Frequency Division / Time Division Multiplexing, or Amplitude Modulation. Boom, high compression with commonplace hardware support.