Thursday, November 17, 2011

AFX Extensions for Humanoid Animation


The new Humanoid Animation Framework, defined by MPEG-4 SNHC (Preda,
2002; Preda & PrĂȘteux, 2001) is defined as a biomechanical model in AFX and
is based on a rigid skeleton. The skeleton consists of bones, which are rigid
objects that can be transformed (rotated around specific joints), but not deformed.
Attached to the skeleton, a skin model is defined, which smoothly
follows any skeleton movement.
More specifically, defining a skinned model involves specifying its static and
dynamic (animation) properties. From a geometric point of view, a skinned model
consists of a single list of vertices, connected as an indexed face set. All the
shapes, which form the skin, share the same list of vertices, thus avoiding seams
at the skin level during animation. However, each skin facet can contain its own
set of color, texture and material attributes.
The dynamic properties of a skinned model are defined by means of a skeleton
and its properties. The skeleton is a hierarchical structure constructed from
bones, each having an influence on the skin surface. When bone position or
orientation changes, e.g., by applying a set of Body Animation Parameters,
specific skin vertices are affected. For each bone, the list of vertices affected
by the bone motion and corresponding weight values are provided. The weighting
factors can be specified either explicitly for each vertex or more compactly by
defining two influence regions (inner and outer) around the bone. The new
position of each vertex is calculated by taking into account the influence of each
bone, with the corresponding weight factor. BAPs are now applied to bone nodesand the new 3D position of each point in the global seamless mesh is computed
as a weighted combination of the related bone motions.
The skinned model definition can also be enriched with inverse kinematicsrelated
data. Then, bone positions can be determined by specifying only the
position of an end effector, e.g., a 3D point on the skinned model surface. No
specific inverse kinematics solver is imposed, but specific constraints at bone
level are defined, e.g., related to the rotation or translation of a bone in a certain
direction. Also muscles, i.e., NURBS curves with an influence region on the
model skin, are supported. Finally, interpolation techniques, such as simple linear
interpolation or linear interpolation between two quaternions (Preda & PrĂȘteux,
2001), can be exploited for key-value-based animation and animation compression.

Face and Body Animation in the MPEG-4 Standard


The MPEG-4 SNHC (Synthetic and Natural Hybrid Coding) group has standardized
two types of streams in order to animate avatars:
• The Face/Body Definition Parameters (FDP/BDP) are avatar-specific
and based on the H-anim specifications. More precisely the MPEG-4 BDP
Node contains the H-anim Humanoid Node.
• The Face/Body Animation Parameters (FAP/BAP) are used to animate
face/body models. More specifically, 168 Body Animation Parameters
(BAPs) are defined by MPEG-4 SNHC to describe almost any possible
body posture. A single set of FAPs/BAPs can be used to describe the face/
body posture of different avatars. MPEG-4 has also standardized the
compressed form of the resulting animation stream using two techniques:
DCT-based or prediction-based. Typical bit-rates for these compressed
bit-streams are two kbps for the case of facial animation or 10 to 30 kbps
for the case of body animation.In addition, complex 3D deformations that can result from the movement of
specific body parts (e.g., muscle contraction, clothing folds, etc.) can be modeled
by using Face/Body Animation Tables (FAT/BATs). These tables specify a set
of vertices that undergo non-rigid motion and a function to describe this motion
with respect to the values of specific FAPs/BAPs. However, a significant
problem with using FAT/BAT Tables is that they are body model-dependent and
require a complex modeling stage. On the other hand, BATs can prevent
undesired body animation effects, such as broken meshes between two linked
segments. In order to solve such problems, MPEG-4 addresses new animation
functionalities in the framework of AFX group (a preliminary specification has
been released in January 2002) by including also a generic seamless virtual model
definition and bone-based animation. Particularly, the AFX specification describes
state of the art components for rendering geometry, textures, volumes
and animation. A hierarchy of geometry, modeling, physics and biomechanical
models are described along with advanced tools for animating these models.