Discussion on May 19th 2006 reading group meeting
Paper presented:
Arikan, Okan. Compression of Motion Capture Databases, to appear in Siggraph 2006 proceedings
Paper Overview
They present a method to compress a large database of skeletal motion data. Their method is separated in two parts:
- Global motion compression
- Specific precise compression of joints in contact with the environment (the feet in their case)
Global Motion Compression
- Each joint is associated to 3 virtual markers which are tracked through time. The marker positions are said to be more linear than the DOF angles. The DOF angles can easily be re-extracted from these markers, even after compression (using least-square fit).
- Separate the motion in 16-32 frames clips
- For each clip, fit a 3D Bezier curve through the moving markers
- Each clip is therefore a vector in a space of dimension d = 12 x 3 x number of joints .
- Reduce the dimension using Clustered PCA over the whole database
- Spectral clustering using Nystrom Approximation (ref given)
- Typically, 1 to 20 clusters
- Randomly draw 10000 frames of the database before performing the CPCA
- A parameter is used to decide how many dimensions are kept
- Quantize elements of the reduced vector to 16 bits.
Specific Joint Compression
- Ground reaction force is quite significant and applies over a veryshort time ==> High frequencies in the motion
- Sliding feet are a perceptually important artifact
- Consider the x,y,z coordinates of the virtual markers on the feet (or other contact joints) as separate 1D signals
- For each clip, apply DCT on these signals, then quantize, then entropy-encode (Huffman codes)
- During decompression, use IK (Tolani et al. 2006
) to plant foot at reconstructed position.
Features and results
- To access an individual frame, one has to decompresse a 16-32 frame clip
- Compresses at 1 ms/frame, decompress at 1.2 ms/frame (7 times real-time)
- Random access any clip for decompression
- CPCA performed offline on a random 10000 frames of animation, clips can be processed independantly
- After CPCA, clips can be compressed independantly and incrementally. If statistical distribution changes, can perform CPCA again.
- Clip-to-clip transition can be discontinuous. Fix this by solving a sparse linear system over the clip, called Continuous Merge (???)
Paper Discussion
Here's what we think is missing in the paper :
- Progressive compression / Generating various animation LOD
- The technique doesn't take into account that the database is made of multiple sequences.
- Good results only if the database is large enough
- The frame-rates are not realistic for usage such as real-time games
- Incrementally compressing motion is efficient as long as the statistical properties do not change. When does that happen?
- Baseline comparison methods are probably too simple
- Decompression could exhibit cache issues since large chunk of data (PCA matrices) must be randomly accessed
- Compression is faster than decompression? Sounds weird...
- Justification for not using angular data is kind of weak
Here are some ideas that came out :
- Check how receptive field weighted regression would perform for temporal compression
- Use progressive compression technique for large mocap database exploration over a slow channel (see PhilippeBeaudoin)
Some links to papers that are not referred to but are related :
- A. Ahmed, A. Hilton, and F. Mokhtarian. Adaptive compression of human animation data. In Eurograhics - Short Paper, September 2002.
- Naka, T., Mochizuki, Y., Hijiri, T., Cornish, T., and Asahara, S. A compression/decompression method for streaming based humanoid animation. In Proc. of the 4th Symp. on VRML, 1999. http://doi.acm.org/10.1145/299246.299264
- T.K. Capin, E. Petajan, J. Ostermann. Very low bit rate coding of virtual human animation in MPEG-4, Proceedings of ICME 2000. http://ieeexplore.ieee.org/xpl/abs_free.jsp?arNumber=871554
- S. Chattopadhyay, S.M. Bhandarkar, K. Li. BAP sparsing: a novel approach to MPEG-4 body animation parameter compression, Proceedings Systems Communications, 2005. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1515510
- S. Chattopadhyay, S.M. Bhandarkar, K. Li. Compression by indexing: an improvement over MPEG-4 body animation parameter compression, Proceedings of SPIE, 2006. http://spiedl.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=PSISDG00607100000160710K000001&idtype=cvips&gifs=yes
-- PhilippeBeaudoin - 19 May 2006