International Conference on Computer Animation and Social Agents 2006 (CASA 06), Geneva, Switzerland, July 2006.

Motion Style Transformation by Extracting andApplying Motion Features
Takuya Terasaki
Kyushu Institute of Technology
terasaki@cg.ces.kyutech.ac.jp
Abstract
In this paper, we present a method for thetransformation of motion style. We extract
style features from differences between two
example motions. We then apply the stylefeatures to an input motion to transform it to astyled motion. For example, we extract stylefeatures that represent “tired” from a walking
motion and a tired walking motion. By
applying the style features to a running motion,for example, we can transform the runningmotion to a tired running motion. We represent
style features as the difference between two
motions in an abstract form. The style features
can be applied to a wide range of input motions
whose motion directions or global translations
are different from the example motions. The
style features consist of postural and temporal
differences between two example motions. To
represent the postural differences, we use therelative positions of primary body parts insteadof joint angles. The movements of the pelvis
are divided into relative and absolute positions
and orientations. The movements of the end
effectors are represented in local coordinatescomputed from motion directions. We present
some experimental results and discuss theeffectiveness and limitations of our proposed
method.
Keywords: motion transformation, motion
feature, character animation.

1. Introduction
There is a great demand for transformation ofhuman motion data. By being able to modify

Masaki Oshita
Kyushu Institute of Technology
oshita@ces.kyutech.ac.jp
motion data to match the context, existing
motion data can be effectively reused. Some
commercially available animation systems
provide motion editing interfaces for animators
to change motion data in direct ways; forexample, by changing the joint angles or the
position of end effectors on a keyframe.
However, when animators seek to transform a
motion clip, typically they want to change thestyle of motion. For example, they may want tomake a walking motion look happy, tired or
excited. It is difficult to realize these kinds oftransformations of motion styles with existing
animation systems since animators have torepeat small direct modifications to achieve
their goal. Moreover, they are also required tounderstand how to change human motions inorder to have them take on the new style suchas happy, tired or excited. Therefore, thesekinds of style transformations are very difficult
and time consuming tasks even for professional
animators.
In this paper, we propose a new motion
transformation technique (Figure 1). We
extract style features between two existing
motion data and apply the obtained stylefeatures to another motion. For example, we
extract style features represent “tired” from awalking motion and a tired walking motion. By
applying the style features to a running motion,for example, we can transform the runningmotion to a tired running motion.
Motion blending [16][20][14][8] is a popularmethod to generate a new motion from someexample motions; however, it cannot solve theproblem we noted above since it simply blends
joint angles of example motions and cannot
handle spatial and orientational differences ofexample motions. For example, a strong

Figure 1: Overview of style transformation.
uppercut motion cannot be generated byblending a punch motion, a strong punch
motion, and an uppercut motion because thedirections of the hand’s movements aredifferent between the punch motions and theuppercut motion. In this case, the differences
between the punch motion and the strong
punch motion are mainly the hand’s horizontal
movements. These features cannot be applied
to an uppercut motion with a motion blending
method because the hand moves vertically inthe uppercut motion. If we blend the strong
punch motion into the uppercut motion, thehand does not move vertically but horizontallyin the blended motion. Further, a happy
running motion cannot be generated from awalking, happy walking and running motion.
Blending the happy walking into the runningmotion makes the running motion into one
close to a walking motion because not only the
postural differences but also global translations
are blended if using a motion blending method.
We solve these problems by representing stylefeatures as the differences between two
motions in an abstracted form. The stylefeatures can be applied to a wide range of input
motions whose motion directions or global
translations are different from the example
motions. The style features consist of the
postural and temporal differences between two
example motions. For representing posturaldifferences, we use relative positions ofprimary body parts instead of joint angles. The
movements of the pelvis are divided into
relative and absolute positions and orientations.
The movements of the end effectors are
represented in local coordinates that arecomputed from the motion directions.
Using our system, a user can first extract stylefeatures from two example motions, e.g. awalking motion and a tired walking motion(Figure 1). The user then can generate a new
motion by applying the style features toanother motion, for example, a tired runningmotion by applying the “tired” style features toa running motion. The user also can control the
degree of the application of the style featuresusing a scaling parameter. In essence, oursystem generates one new motion from three
example motions. By storing a number ofextracted style features in a database, we
expect that in the future users of our system
will be able to transform any motion to a styled
motion such as happy, sad or tired, etc., by
selecting appropriate style features from thedatabase and applying them.
The rest of this paper is organized as follows.
Section 2 introduces related works andcompares their approaches with ours. Section 3
presents an overview of style features. Sections
4 and 5 describe representations of temporaland postural features, respectively. Section 6summarizes the extraction and application
processes of style features. In Section 7, weshow experimental results. Section 8 discusses
the effectiveness and limitations of our method.
Finally, section 9 concludes.

2. Related Work
Motion transformation has been an importantanimation technique and many methods havebeen developed. Forward and inverse
kinematics are the most common basic
methods. By changing joint angles or positionsof body parts, animators can transform a
posture on a motion clip. Signal basedtransformation of the angular trajectories ofjoints [21] is another basic method. However,these transformations are kinds of directmodifications. In order to realize a styletransformation, animators have to repeat these
direct modifications many times and need toknow how to change human motion styles.
There are also more advanced techniques formotion transformation such as motion
parameterization and motion blending, andfeature extraction and application. Some
researchers parameterize motions in order tocontrol motion styles. Bruderlin et al. [4] apply
multi-resolution filtering to input motions andcontrol the set of scaling parameters for eachband of the joint signals for changing the styleof motions. This technique allows users tointeractively change motion styles. Neff et al.
[13] use scaling parameters of joint angles orhand positions to exaggerate motion data.
These methods are aimed at helping interactive
motion transformation. Using these methods,
animators can edit motion data throughintuitive parameters. However, these methods
limited the type of motions and transformations
to simple ones.
Liu et al. [11] used nonlinear inverse
optimization to extract control parameters as akind of physics-based style feature fromexample motions and use them with
optimization to synthesis new motions. Theirmethod is suitable for motion styletransformations caused by differences ofmuscle strength or usage.
Motion blending [16][20][14][8][12][1] hasbeen used by many researchers. By
parameterizing example motions, blend
weights are computed from a given set ofparameters. A new motion is then generated byblending the example motions with the blend
weights. However, as explained in Section 1,
motion blending is applicable only when all
example motions are similar ones that have thesame motion directions and global translations.
Motion blending works well for interpolation
but not for extrapolation. Therefore, to add astyle to an input motion, we need to prepare an
example motion that is very close to the input
motion and which has the required style.
Motion blending is useful only when an
animator already has the styled motion and justwants to control the degree of the style.
Style machines [3] or motion graphs [7][10]can generate new and continuous motions byconnecting small pieces of the example
motions so that the generated motions preserve
the style of the original ones. However, theycannot be used to change the style of otherexisting motions.
Unuma et al. [19] transform joint trajectories of
motion data into a Fourier series and blend thecoefficients of example motions to generate a
new motion. Using Fourier coefficients as
blending parameters, they can efficiently
transform the style of the motion data.
However, their method is specialized to cyclic
motions since they use Fourier series
expression. Moreover, the types of styles thatcan be realized with their method are limited.
Kawasaki et. al. [6] extracted features between
golf swing motions and applied them to othergolf swing motions of different persons. The
purpose of their work is similar to ours.
However, they used more specific features
such as scaling of joint angles on keyframes,
and the duration between keyframes; therefore,
their method cannot be applied to a wide rangeof motions.
Recently Shapiro et al. [17] employed
Independent Component Analysis (ICA) to
extract the style components between two
motions and to apply them to another motion.
Hsu et al. [5] proposed a motion translation
method that learns the relationship between abase motion and a reference motion using alinear time-invariant model (LTI). However,since their method simply learns the translation
between two example motions, example
motions basically have to cover all posturesthat appear in input motions. These two
methods [17][5] have the advantage that input
motions are not needed to be aligned to theexample motions. However, since they use
angular trajectories of joints, they cannot
handle variations of motion directions between
example and input motions. For the same
reason, they cannot distinguish global and local
movements of the pelvis. Since they compute
the global translation of the pelvis byaccumulating local translations, the global
translation (e.g. feet step distance or moving
speed) may be affected by local movements ofthe pelvis. Moreover, additional constraints on
the end effectors are required to prevent footsliding and unnatural motions.
Our work has similarity with [17][19][6] in thatthey too extract style features between example
motions and apply them to another one.
However, these methods use joint angles forstyle features; therefore, they cannot handle thedirectional changes of motions or mixtures ofglobal and local movements. We represent
style features in an abstracted form and apply
them to a wide range of target motions.

3. Overview of Style Features
We extract style features between a basemotion and a reference one as shown in Figure
1. We suppose that the base motion does nothave any particular style and the reference
motion is the same motion as the base motion
but has a style. The style features are thenapplied to another motion utilizing a scalingparameter to generate a styled motion. We
assume all the input motions are short and of
the same type of action as the base motion. If
users want to transform a long and complex
motion, they will need to divide them into a setof short and single actions.
To apply our method, a set of keytimes has tobe assigned to all the motions in advance. We
basically divide motions into three segments:
initial segment, main segment, and terminal
segment, and give them keytimes that specify
the transition point between serial segments, as
shown in Figure 2. We also give additional
keytimes to the effective points in the main
segment (e.g. highest point of a jump motion,
contact time of a punch motion, etc.). A user
can specify a number of additional keytimes aslong as they match other motions. Currently,
users have to manually set the keytimes;
however, keytimes are usually obvious and it iseasy for users to specify them. It takes only a
few minutes for each motion, and users do nothave to specify all the keytimes if some do notexist in the motion. Only specified keytimes
and segments are used in the extraction andapplication processes.
As shown in Figure 3, style features SF
consist of temporal and postural differences asfollows,⎧⎪T1 ( t )LTn −1 ( t ) , ΔP1 L ΔPn , ⎫⎪(1)
SF = ⎨⎬⎩⎪ΔQ1 ( t )L ΔQ n −1 ( t )⎭⎪where Ti ( t ) is the temporal feature for the i-th
segment and ΔP j is the postural feature for thej-th keyframe, and ΔQi ( t ) are is the posturalfeature for the i-th segment. Ti ( t ) is a timewarping function from the base motion to thereference motion for each segment. ΔP j is a 39
dimensional vector and represents posturaldifferences of the human figure in an
abstracted form. ΔQi ( t ) is a time-varying
function of the 39 dimensional vector andrepresent the trajectories of the posturaldifferences in each segment.
In the following sections, we explain in detail
temporal and postural features, and theextraction and application processes.

4. Temporal Features
Temporal features are time-warping functions
for each segment of the base and reference
motions,

Figure 2: An example of keytimes.

Base Motion"jump"tReference Motion"aggressive jump"t

Temporal Feature(during segments)
Postural Featureon Keytimes
Postural Featureduring segments

T (t )1
ΔP 1

T (t )2
ΔP 3

ΔP 2

ΔQ ( t ) 1

T (t ) 3

ΔQ ( t ) 2

ΔP 4

ΔQ ( t ) 3

Style Features

Figure 3: Style features.
tr = Ti (tb )(2)where tb is the normalized time in the i-th
segment of the base motion and tr is thenormalized time in the i-th segment of thereference motion. We represent a time-warping
function by a series of sets of correspondingtimes between two motion segments.
To construct a time-warping function, we haveto find two corresponding frames in the same
segments of two motions. Searching for similar
postures [10][8] has also been used for thispurpose in previous works. However, thisapproach works only when the styles of thetwo motions are very close to each other.
Therefore, instead of searching similar postures,
we use a normalized postural progress that
represents how far the current posture has
progressed between the initial and terminal
postures of the segment. We take this approachsince a set of keytimes are given to two
motions in our method, and so we only have tofind corresponding frames in the corresponding
segments of the two motions. Although somemotion blending methods use the same
approach and simply use linear interpolation[16][14][1] or parametric curves [12] tocompute the corresponding frames, our method
extracts and applies more specific time
variations.

We compute the postural progress for eachmotion as follows,tM

S (t ) =D∑∑ x ( d / M ) − x ( ( d − 1) / M )d =1 j =1
M D

j

j

∑∑ x j ( d / M ) − x j ( ( d − 1) / M )(3)

d =1 j =1

where x j ( t ) is the position of the j-th joint, D
is the number of joints, and M is the number offrames on the segment. We accumulate thedisplacements of joint positions to determine
the postural progress. S ( t ) represents thepostural progress at the normalize time t on the
motion segment. S ( t ) continuously increases
from 0 to 1. Using the S ( t ) of each frame inthe corresponding segments of the two motions,a time-warping function for the segments iscomputed.

5. Postural Features
In this section, we first explain the proposed
posture representation for capturing posturalfeatures in an abstract from. We also describe
in detail how to represent the positions andorientations of the end effectors and the pelvis.
We then describe how to extract and apply
postural differences using the posture
representation.
5.1. Postural Representation

We use a 39 dimensional vector P to represent
postural information (Figure 4). Posturalfeatures ΔP j , ΔQi ( t ) in equation (1) arerepresented using this form by computing thedifferences between the corresponding posturesof two motions. We basically use the positions
and orientations of primary body parts in thisrepresentation.
To represent postures of each limb, we use therelative positions and orientations of the end
effectors ei , ri that are represented in the local
coordinates of their base body part (pelvis forfeet and shoulder for hands). Let’s suppose that
eglobal,i , rglobal,i are the global position andorientation of the i-th end effector and R i
represents the local coordinates of the basebody part (pelvis or shoulder) of the i-th end
effector. The local position and orientation arecomputed by transforming global ones
eglobal,i , rglobal,i to local ones ei , ri as follows,

Figure 4: Posture representation.

ei = R i −1 eglobal,i

(4)

−1

(5)

ri = R i rglobal,iWe use quaternions to represent rotations, ri .
To handle directional differences on the
motions in the extraction and application stages,
we represent the spatial and directional
differences of the end effectors using local
coordinates computed from the moving
direction of the motion data (Section 5.3).
To isolate the absolute and relative movementsof the pelvis, we compute the absolute position,
relative position and relative orientationp abs , p rel , q rel , and store them independently(Section 5.4).
The rotation of the back and neck J back , J neck ,respectively, are also quaternions and represent
the average rotations of multiple joints on theback and neck.
5.2. Extraction of Postural Features

For postural features we use the posturaldifference on each keyframe ΔP j and thefunction of the postural difference for eachmotion segment ΔQi ( t ) .
For each segment, postural features are applied
to the motion as follows
Pi ( t )′ = Pi ( t ) +(6)( (1 − t ) ΔPi + t ΔPi +1 + ΔQi ( t ) ) s
where t is the normalized time on the i-th
segment, s is the scaling parameter, andPi ( t ) , Pi ( t )′ are the postures of input andoutput motions, respectively. Each frame of an
input motion is represented in the abstract
representation Pi ( t ) and ΔP j , ΔQi ( t ) areapplied to it using the scaling parameter s tocompute the output posture Pi ( t )′ .
The postures of all frames of base andreference motions are converted into theFigure 5: Displacements of the end effector in
the local coordinates computed from the motion
direction.

displacement to the local coordinates of thehand of the uppercut motion and moves thehand forward (upward in the world
coordinates) (Figure 5 below).
First, we compute the motion direction of eachend effector on each segment i from thepositions of the previous frame e base,i and thenext keyframes e base,i+1 as follows,d base,i = e base,i +1 − e base,i(9)

The direction d base,i is used as the Z-axis of the

Figure 6: Absolute and relative pelvis positionand orientation.

proposed representation Pbase , Preference ,respectively. The differences in keytimes arethen computed as follows,
ΔP j = Preference, j − Pbase, j(7)
where Preference, j , Pbase, j are the postures of thebase and reference motions, respectively, atbthe j-th keyframe.
Based on the computed postural features of
keytimes ΔP1 L ΔPn , the postural differences
for all frames on each segment ΔQi ( t ) arethen computed based on the difference between
the reference and the base motions after
equation (6) has been applied as follows.
ΔQi ( t ) = Preference,i ( t ) − Pbase,i ( t )(8)− (1 − t ) ΔPi − t ΔPi +1

As result, ΔP j for all keyframes and ΔQi ( t )for all segments are computed and stored as
postural features.

5.3. Representation of the Displacements ofthe End Effectors

We represent the differences of the positions
and directions of the end effectors in local
coordinates that are computed from the
movements of the end effectors as shown in
Figure 5. For example, if the position of thehand moves forward between the base andreference straight punch motions (Figure 5
above),
ourmethodtransforms
thelocal coordinates M base , a 3 × 3 matrix. Second,
we use the up-directional vector that crosses
the Z-axis as the Y-axis. Then the Y-axis iscomputed from the cross product of the X- andZ-axes. After constructing the local coordinates
M base , the difference of the position andorientations between the base motion and thereference motion are represented in local
coordinates.
Δe = e reference − ebase(10)−1Δe′ = M base Δe(11)Equation (10) is included in equation (7) andequation (8) since e is a part of P . Equation(11) is then applied to ΔP j , ΔQi ( t ) .
When these features are applied to an input
motion, the local coordinates of the input
motion M input are computed and the vectors areapplied in the local coordinates,
Δe′′ = M input Δe′(12)

eoutput = einput + Δe′′(13)

As result, even when the directions of the end
effectors’ moments are different between thebase and input motions, appropriate
transformations are realized.
5.4. Computing Absolute and Relative
Positions and Orientations of the Pelvis

We isolate the absolute and the relative
position and orientation of the pelvis in eachframe to apply their transformations. We
consider that the absolute position andorientation p abs , q abs , respectively, are neutral
positions and the orientations when a humanfigure stands without local displacements ofthe pelvis (Figure 6). The relative positions andorientations p rel , q rel are considered to be thedifferences between the actual positions andorientations of the pelvis p, q and its absolute
positions and orientations p abs , q abs ,respectively.

First, we compute the absolute position p abs
from the foot positions by supposing thehuman figure stands straight with no relativetranslations and rotations. In frames where both
feet contact the ground, the horizontal absolute
position ( p abs,x , p abs,z ) is computed as thecenter position between the feet. In addition,
the height of the pelvis in the rest posture isused for the vertical position p abs,y . When both
feet are not contacting the ground, the absolute
position is computed by linearly interpolating
the absolute positions of the previous and next
frames where both feet do contact the ground.
Second, the absolute orientation q abs on each
keyframe is computed from the absolute
positions of the keyframe p abs,j +1 and theprevious keyframe p abs,j . Since we make q abs
include only the horizontal rotation, q abs iscomputed from the horizontal component of( pabs,j +1 − pabs,j ) . For absolute orientations
during the motion segments, the orientations of
the previous and the next keyframes areinterpolated using spherical liner interpolation(SLERP) [15].
Once the absolute position and orientationp abs , q abs , respectively, are computed, the local
coordinates of the pelvis M base is computedfrom the absolute orientation q abs in the same
way with the local coordinates of end effectors.
The relative position and orientation p rel , q rel ,respectively, are then computed as follows,p rel = M base −1 ( p − p abs )(14)
q rel = M base −1 q
(15)
As result, ( p abs , p rel , q rel ) is stored to represent
the posture of the pelvis in the frame and tocompute the postural features. q abs does nothave to be stored since it is used only forcommuting the local coordinates M base .

6. Extraction and Application of
Style Features
When extracting style features, the system firstcomputes temporal features Ti ( t ) , and thenpostural features at keytimes ΔP j , and finallythe postural features during segments ΔQ i ( t )because we need to find frames that correspond
between base and reference motions; first, forcomputing postural features, and then to apply
postural features at the keytimes to the basemotion to compute the postural features during
the segments using equation (8).
Application of style features is processed in thesame order. The scaling parameter specified by
the user is multiplied with all postural features.
Using the scaling parameter, the user cancontrol the degree of exaggeration of the style
application. During transformation, the postureon each frame of an input motion is converted
to the abstract representation P ( t ) . Then
postural features ΔP j , ΔQi ( t ) are applied tothem using equation (6). Based on the modified
parameters, P′ ( t ) , the transformed posture iscomputed.
Since we simply add the extracted subtractions
to the positions and orientations, this may
cause unnatural postures. For example, if atransformation moves down the pelvis on an
input motion in which the position of the pelvis
is already low, the transformed position of thepelvis may be too much low. To avoid such
unnatural postures, we limit the relative
positions and orientations of the pelvis and theend effectors to within a feasible range. The
joint rotations of input postures on the limbs
are modified based on the position andorientation of the end effectors using ananalytical inverse kinematics method [9].

7. Experimental Results
This section shows some experimental results
generated using our method.
All motion clips in our experiments are 30 Hz
motion and stored in a BVH format. The
keytimes for each motion have been specified
manually and extraction and application done
automatically. The computational time forextraction takes a few seconds (3 to 5 seconds
for the example motions on our experiments)
on a standard PC. We apply style features ineach frame during animation on the fly.
Therefore, the application in each frame also
takes very little computational time. In thefollowing experiments, we used 1.0 for thescaling parameter for transformation.
7.1. Result 1: Walking and Running Motion

The first experiment relates to cyclic motions:
walking and running. We extracted three kindsof features from walking motions (tired, happy,
and drunken) and then applied them to arunning and a backward-walking motion.

base: walking

reference: tired walking

input: walking

output: tired running

Figure 7: Tired running motion.
reference: happy walking

output: happy running

Figure 8: Happy running motion.
reference: drunken walking

output: drunken running

Figure 9: Drunken running motion.
input: backward walking

output: tired backward walking

We used one cycle of walking and runningmotions and set four keytimes for each motion.
Figure 7 shows the results of a tired runningmotion. The “tired” features are extracted fromthe walking motion and the tired walking
motion. When the running and tired runningmotions are compared, the results of motion
transformation such as deceleration of running,tilting the upper body forward, and swinging
the upper body laterally can be observed.
These styles have been successfully extracted
from the tried walking motion and applied to
the ruing motion. The tired running motion still
has longer translations compared to thewalking motion because the absolute
movements of the pelvis in the walking motion
are isolated and only relative movements areapplied to the running motion.
Figure 8 is the result of a happy runningmotion. The applied features such as
deceleration, vertical pitching of the pelvis andexaggeration of the swing of the hands and feetare observed. Figure 9 is a drunken runningmotion. Some irregular variations of motion
velocities and directions are applied.
We also applied the same style features to abackward-walking motion which has different
global translation from the walking motion(Figure 10). The same types of transformation
with Figure 7 are realized successfully.
For comparison, we have tried to apply amotion blending method [14] to generate thesame kinds of results (Figure 11). It showedthat the blending method did not work well on
these combinations of motions whose motion
directions and global translations are different
to each other as discussed in Section 2.
7.2. Result 2: Over Throwing and Side
Throwing Motion

Figure 10: Tired backward walking motion.
happy
walkingtiered backward walking

strong side
throwing

strong straightpunch

Figure 11: Results of motion blending.

The second experiment is on non-cyclic
motions: throwing and punching. We set five
keytimes for each motion. We first extracted
style features from an over throwing motion
and a strong over throwing motion. We thenapplied the style features to a side throwing(Figure 12) and a straight punch (Figure 13)
whose motion directions of the right hand are
different from the over throwing motions.
Thanks to being able to represent thedifferences of the movements of the right handin local coordinates, an increase of the righthand’s movements along the moving direction
is successful applied.

base: over throwing

reference: strong over throwing

input: side throwing

output: strong side throwing

Figure 12: Strong side throwing.
input: straight punch

output: strong straight punch

Figure 13: Strong straight punch motion.
7.3. Interactive Control Style Features

We also developed an interface that a user canuse to control the scaling parameter and to see
the results interactively. Since we simply apply
extracted subtraction to the postural parameters,
using a large scaling parameter (about 1.0 orlarger) sometimes causes motions that are too
exaggerated and unnatural. By utilizing theinteractive controlling interface, a user caneasily choose an appropriate scaling parameter.

8. Discussion
Using our method, the extracted style features
are applied to a wide range of input motions.
As we intended, the extracted style features canbe applicable to input motions whose global
translation is different from the example
motions (Section 7.1) and in which the motion
direction of the end effectors is different fromthe example motions (Section 7.2). However,
the kinds of the motions have to be basicallythe same. For example, style features from awalking motion would be difficult to apply to athrowing motion (cyclic to non-cyclic motion).
Although currently our method does not allow
this, we could apply a style feature extracted

from an end effector to another end effector.
For example, with some adjustments a stylefeature of the right hand extracted from punch
motions could be applied to movements of theleft foot in a kicking motion.
Our method relies on given sets of keytimes.
To effectively capture the temporal andpostural features, keytimes have to specify theexact transition points between two serial
motion segments. Specifying such keytimes issometimes difficult since the movements ofbody parts are not always synchronized andappropriate keytimes can vary for body parts.
For example, the transition timings of thehands and the feet of a walking motion areslightly different to each other. Currently we
use one set of keytimes for the whole body andso the style features of some body parts may
not be well captured. Considering these
problems, finding effective keytimes can bedifficult for novice users. Combining an
automatic keyframe detection algorithm [2]with our method would be helpful.
Our motion transformation is purely kinematicand for now the physical aspect is notconsidered; therefore, it is possible thatphysically unnatural motions are generated.
For example, unbalance postures might begenerated during the motion, or the laws of thegravity might be distorted because of timewarping. Moreover, self collisions can occur.
Applying a motion filter [18] to generated
motions after motion transformation could be asolution to such problems.
As mentioned in Section 1, as a future work,
we plan to develop a motion transformation
system in which a number of extracted featuresare stored and can be used by users to apply
various styles to input motions. To realize sucha system, we need to find an appropriate stylefeature from the database based on thespecified style and the input motion. To make amotion transformation work well, the selectedstyle feature should be extracted from example
motions that are close to the input motion. We
need to establish criteria for the element ofcloseness between motions, such as the type of
motions (cyclic or non-cyclic), primary bodyparts and motion direction. In cases where theinput and example motions are not close toeach other, applying only an abstract featuresuch as Ti ( t ) , ΔP j but ΔQ i ( t ) is an option tomight generate better results.

9. Conclusion
In this paper, we presented a method thatapplies style features extracted from base andreference motions to an input motion and sotransforms the input motion into a styled
motion. We represent the difference between
two motions in an abstract form in order toapply them to a wide range of motions. The
experimental results show that our method
works successfully.
Future work will include the application ofstyle features to different end effectors,
consideration of variations in body lengths,
better clarification of the applicable range forour method, and the development of a database
and transformation system.

References[1] Ashraf G, Wong KC. Dynamic Time
Warp Based Framespace Interpolation for
Motion Editing, Proc. of Graphics
Interface 2000. 45-52, 2000.
[2] Assa J, Caspi Y, Cohen-Or D. Action
synopsis: pose selection and illustration.
ACM Transactions on Graphics (Proc. of
ACM SIGGRAPH 2005), 24(3), 2005.
[3] Brand M, Hertzmann A. Style Machines.
Proc. of SIGGRAPH 2000, 183-192, 2000.
[4] Bruderlin A, Williams L. Motion signal
processing, Proc. of SIGGRAPH 95, 97104 (1995).
[5] Hsu E. Pulli K, Popovic J. Style
Translation for Human Motion. ACM
Transactions of Graphics (Proc. of
SIGGRAPH 2005), 24(3), 1082-1089,
2005.
[6] Kawasaki R, Kitamura Y, Kishino F.
Extraction of Motion Individuality inSports and Its Application to Motion ofCharacters with Different Figures. Proc.
of Computer Graphics International 2003.
[7] Kovar L, Gleicher M, Pighin F. Motion
Graphs. ACM Transactions on Graphics(Proc. of SIGGRAPH 2002), 21(3), 473482, 2002.
[8] Kovar L, Gleicher M. AutomatedExtraction and Parameterization of
Motions in Large Data Sets. ACM
Transactions on Graphics (Proc. of
SIGGRAPH 2004), 23(3), 559-568, 2004.

[9] Lee J, Shin S Y. A Hierarchical Approach
to Interactive Motion Editing for Humanlike Characters. Proc. of SIGGRAPH 99,
39-48, 1999.
[10] Lee J, Chai J, Reistma P, Hodgins J,
Pollard N. Interactive Control of Avatars
Animated with Human Motion Data.
ACM Transactions of Graphics (Proc. of
SIGGRAPH 2002), 22(3), 491-500, 2002.
[11] Liu CK, Hertzmann A, Popovic Z.
Learning Physics-based Motion Style
with Nonlinear Inverse Optimization.
ACM Transactions on Graphics (Proc. of
SIGGRAPH 2005), 24(3), 2005.
[12] Ménardais S, Kulpa R, Multon F, Arnaldi
B. Synchronization for Dynamic Blendingof Motions. In Proceedings of the 2004
ACM Siggraph/Eurographics Symposiumon Computer Animation 2004, 2004.
[13] Neff M, Fiume E. Aesthetic Edits for
CharacterAnimation.
Eurographics/SIGGRAPH Symposium on
Computer Animation 2003.
[14] Park S L, Shin H J, Kim T H, Shin S Y.
On-Line Motion Blending for Real-time
Locomotion
Generation.
Computer
Animation and Virtual Worlds, 15(4),125-128, 2004.
[15] Pletinckx D. Quaternion calculus as abasic tool in computer graphics. The
Visual Computer, 5(2), 1989.
[16] Rose C, Cohen M F, Bodenheimer B.
Verbs and Adverbs: Multidimensionalmotion interpolation. IEEE Computer
Graphics and Applications. 18(5), 32-40,
1998.
[17] Shapiro A, Cao Y, Faloutsos P. Style
Components. Proc. of Graphics Interface
2006.
[18] Tak S, Song O Y, Ko H S. Spacetime
Sweeping: An Interactive Dynsmic
Constraints Solver. Proc. of Computer
Animation 2002, 2002.
[19] Unuma M, Anjyo K, Takeuchi R. Fourier
Princeples for Emotion-based Human
Figure Animation. Proc. of SIGGRAPH
95, 91-96, 1995.
[20] Wiley D J, Hahn J K. Interpolation
Synthesis of Articulated Figure Motion.
IEEE
ComputerGraphics
andApplications, 17(6), 39-45, 1999.
[21] Witkin A, Popovic Z. Motion Warping. In
Proc. of SIGGRAPH 1995, 105-108, 1995.