Title: Tien TRAN-THUONG
1An Abstract Animation Model for Integrating SMIL
Basic Animations With Multimedia Document
Tien TRAN-THUONG Cécile ROISIN
OPERA Research Project
INRIA Rhône-Alpes
Zirst - 655 avenue de l'Europe - Montbonnot -
38334 Saint Ismier Cedex - France e-mail
tien.tran_thuong_at_inrialpes.fr cecile.roisin_at_inria
lpes.fr
2Multimedia document modeling
Declarative approach for specifying multimedia
document
Multimedia document model Content, Temporal,
Spatial, Link, Animation
Medias / Multimedia database
Multimedia document specification
Multimedia document
3Animation modeling
- An animation model is defined by (f, v, a, o, t)
- animator function (f), values (v), target
attribute (a) - target object (o)
- timing (t).
- Two approaches for creating animations
- Programming ? high expressive power but
difficult, - Declarative ? lower expressive power but easier
for the author - Modeling for declarative animation definition
4- Objectives of the animation model
- Specifying animations,
- Reutilization of animation,
- Simplifying maintenance of multimedia documents.
- Our approach
- Abstract animation definition,
- Independence between media target (o) and
animation definition, - Independence with rendition context (t)
5Ex. 1 transitions between images
O1
O2
O3
O4
O5
O6
time
t1
t2
t3
t8
t9
t10
t11
t4
t5
t6
t7
t12
Playing sequentially a list of images with
transition animations between two consecutive
images
- Animation modeling (f, v, a, o, t) two animation
types for the modification of the alpha color
attribute - v V1 (0, 1) from transparent to visible, V2
(1, 0) from visible to transparent - flinear aalpha oO1..O6 tt1..t12.
6Specification with HyTime, MHEG and SMIL
Up 1
Up 2
Up 3
Up 4
Up 5
Up 6
Down 1
Down 2
Down 3
Down 4
Down 5
Down 6
- The animation specification can be specified
thought the models - HyTime a modifier (v, f, a, o) is projected on a
time t - Upi((0,1, f, a, Oi), ti) Downi((1,0, f, a,
Oi), ti1) , where i1..6 - MHEG an action (v, f, a, t) is referenced to an
object o - Upi((0,1, f, a, ti), Oi) Downi((1,0, f, a,
ti1), Oi) - SMIL a basic_animation (v, f, a, t) is included
into or referenced to an object o - Upi((0,1, f, a, ti), Oi) Downi((1,0, f, a,
ti1), Oi)
7Ex. 2 MADEUS characters motion
Spline path
Moving a sequence of characters on a same path
- Animation modeling (f, v, a, o, t) where
- v 45,350158,260383,440608,260832,440945,350
- fspline aposition oM,A,D,E,U,S
tt1..t6 - In MHEG, HyTime and SMIL, the author has to
specify 6 animations for each character object
(v, f, a, Oi, ti), where i1..6.
8Why actual models provide no abstract
specification ?
- HyTime a modifier (v, f, a) referring to one
object o is projected on a concrete time t.
- MHEG an action (v, f, a, t) defined directly on
a concrete time refers to an object o.
Object
Object
Ref.
Ref.
Action class
Object modification
modifier
modifier
action
action
time
Projectors
- for only one object and
- in a concrete time
time
- SMIL a basic_animation (v, f, a, t) included
into or referred to an object o has the same
problems as the action of MHEG.
Object
time
animateMotion
animate
9- No abstraction animation specification implies
- Redundancy,
- No reutilization,
- Tedious and hard editing work.
10Animation Definition
- Abstract extension of SMIL animation model
Our abstract model
SMIL model
((f, v, a, t), o) ? A (f, v, a, ï)
- same SMIL semantic function animations
fdiscrete, linear, paced, spline and basic
animations set set, animate, animateColor,
animateMotion, - abstraction A(f, v, a, ï) where ï is an
abstract interval 0,1, - several objects can refer to the same animation
(o1, t1), (o2, t2) refers to A. - time projection when the abstract animation (f,
v, a, ï) is referred by the object (o, t) the
abstract interval ï is projected on the concrete
time t.
11Abstract Animation Reutilization
- Example the uses of the abstract animation A(f,
v, a, ï) by two object contexts (O1, t1), (O2,
t2) - (O1, t1, A)
- (O2, t2, A)
12Mapping the abstract time (ï) into several
concrete times (ti)
- The abstract time ï0,0.2,0.8,1 is mapped on
two real times t1begin5, dur8 and
t2begin15, dur10
13Ex. 1 transitions between images
- Define just two abstract animations
- UpAlpha (linear, 0,1, alpha, 0,1)
DownAlpha (linear, 1,0, alpha, 0,1) - Syntax
ltanimate idUpAlpha calcModelinear
values0,1 attributealpha keytime0,1/gt
ltanimate idDownAlpha calcModelinear
values1,0 attributealpha keytime0,1/gt
O1
O2
O3
O4
O5
O6
time
14Ex. 2 MADEUS characters motion
- Define just one abstract animation
- MadeusPath (spline, 45,350158,260 ,
position, 00.20.40.60.81) - Syntax
- ltanimateMotion idMadeusPath calcModespline
values45,350158,260 keyTime00.20.40.6
0.81/gt
M
A
D
E
time
15- Example 1
- the author has to defined two abstract
animations - UpAlpha (linear, 0,1, alpha, 0,1)
- DownAlpha (linear, 1,0, alpha, 0,1)
- Syntax
- ltanimate idUpAlpha calcModelinear
values0,1 attributealpha keytime0,1/gt - ltanimate idDownAlpha calcModelinear
values1,0 attributealpha keytime0,1/gt - ltimg idO_1 gt
- ltanchor begin0s dur3s animateRefUpAlpha/
gt - ltanchor begin10s dur1s animateRefDownAlph
a/gt - lt/imggt
- ltimg idO_2 gt
- ltanchor begin0s dur3s animateRefUpAlpha/
gt - ltanchor begin15s dur1s animateRefDownAlph
a/gt - lt/imggt
16- Example 2
- the author has to defined just one abstract
animation - MadeusPath (spline, 45,350158,260 ,
position, 00.20.40.60.81) - Syntax
- ltanimateMotion idMadeusPath calcModespline
values45,350158,260 keyTime00.20.40.6
0.81/gt - lttext idM_text gt ltanchor begin2s
dur10s animateRefMadeusPath/gtMlt/textgt - lttext idA_text gt ltanchor begin3s
dur10s animateRefMadeusPath/gtAlt/textgt - lttext idD_text gt ltanchor begin4s
dur10s animateRefMadeusPath/gtDlt/textgt
17See also http//opera.inrialpes.fr/people/Tien.T
ran-Thuong/Welcome.html