1 tien tran-thuong & cécile roisin inria rhône-alpes opera research project zirst - 655 avenue...
TRANSCRIPT
1
Tien TRAN-THUONG & Cécile ROISIN
INRIA Rhône-Alpes
OPERA Research Project
Zirst - 655 avenue de l'Europe - Montbonnot - 38334 Saint Ismier Cedex - Francee-mail: [email protected]; [email protected]
An Abstract Animation Model for Integrating SMIL Basic
Animations With Multimedia Document
2
Multimedia document model:Content, Temporal, Spatial, Link,
Animation
Multimedia document modeling
Medias / Multimedia database
Multimedia document specification
Multimedia document
Declarative approach for specifying multimedia document
3
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 animationsProgramming high expressive power but difficult,
Declarative lower expressive power but easier for the author
Modeling for declarative animation definition
Animation modeling
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)
5
O1
Ex. 1: transitions between images
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};
f=linear ; a=alpha; o={O1..O6}; t={t1..t12}.
t1
timet2 t3 t8 t9 t10 t11t4 t5 t6 t7 t12
O2 O3 O4 O5 O6
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), ti+1) , where i=1..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, ti+1), 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, ti+1), Oi)
Specification with HyTime, MHEG and SMIL
Up 1Down
1
Up 2Down 2
Up 3Down 3
Up 4Down 4
Up 5Down 5
Up 6Down 6
7
Spline path
Moving a sequence of characters on a same pathAnimation modeling (f, v, a, o, t) where:
v= “45,350;158,260;383,440;608,260;832,440;945,350”
f=spline ; a=position; o={M,A,D,E,U,S}; t={t1..t6}
In MHEG, HyTime and SMIL, the author has to specify 6 animations for each character object: (v, f, a, Oi, ti), where i=1..6.
Ex. 2: MADEUS characters motion
8
Why 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.
Action class
…
Object
time
Ref.
action action
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
… timeanimate animateMotion
for only one object
for only one object and
in a concrete time
Object modification
…modifier modifier
Object
time
Ref.
Projectors
9
No abstraction animation specification implies:
Redundancy,
No reutilization,
Tedious and hard editing work.
10
Animation Definition
Abstract extension of SMIL animation model
((f, v, a, t), o) = (f, v, a, ï)
same SMIL semantic function animations f={discrete, linear, paced, spline} and basic animations set {set, animate, animateColor, animateMotion},
abstraction =(f, v, a, ï) where ï is an abstract interval [0,1],
several objects can refer to the same animation: (o1, t1), (o2, t2) refers to .
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.
SMIL model Our abstract model
11
Example: the uses of the abstract animation =(f, v, a, ï) by two object contexts (O1, t1), (O2, t2):
•(O1, t1, )
•(O2, t2, )
Abstract Animation Reutilization
12
Mapping the abstract time (ï) into several concrete times (ti)
The abstract time ï=«0,0.2,0.8,1» is mapped on two real times t1=«begin:5, dur:8» and t2=«begin:15, dur:10»
13
Referencing
O1 O2 O3 O4 O5 O6
Define just two abstract animations:UpAlpha = (linear, “0,1”, alpha, “ 0,1”) DownAlpha = (linear, “1,0”, alpha, “ 0,1”)
Syntax:
<animate id=“DownAlpha” calcMode=“linear” values=“1,0” attribute=“alpha” keytime=“0,1”/>
<animate id=“UpAlpha” calcMode=“linear” values=“0,1” attribute=“alpha” keytime=“0,1”/>
time
Ex. 1: transitions between images
14
Define just one abstract animationMadeusPath = (spline, “45,350;158,260; …”, position, “0;0.2;0.4;0.6;0.8;1”)
– Syntax:
<animateMotion id=“MadeusPath” calcMode=“spline” values=“45,350;158,260; …” keyTime=“0;0.2;0.4;0.6;0.8;1”/>
…
MA
DE… time
Animation referencing
Ex. 2: MADEUS characters motion
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:<animate id=“UpAlpha” calcMode=“linear” values=“0,1” attribute=“alpha”
keytime=“0,1”/><animate id=“DownAlpha” calcMode=“linear” values=“1,0”
attribute=“alpha” keytime=“0,1”/>
<img id=“O_1” …><anchor begin=“0s” dur=“3s” animateRef=“UpAlpha”/><anchor begin=“10s” dur=“1s” animateRef=“DownAlpha”/>
</img><img id=“O_2” …>
<anchor begin=“0s” dur=“3s” animateRef=“UpAlpha”/><anchor begin=“15s” dur=“1s” animateRef=“DownAlpha”/>
</img>…
16
Example 2 the author has to defined just one abstract animation:
MadeusPath = (spline, “45,350;158,260; …”, position, “0;0.2;0.4;0.6;0.8;1”)
Syntax:
<animateMotion id=“MadeusPath” calcMode=“spline” values=“45,350;158,260; …” keyTime=“0;0.2;0.4;0.6;0.8;1”/>
<text id=“M_text” … > <anchor begin=“2s” dur=“10s” animateRef=“MadeusPath”/>M</text>
<text id=“A_text” … > <anchor begin=“3s” dur=“10s” animateRef=“MadeusPath”/>A</text>
<text id=“D_text” … > <anchor begin=“4s” dur=“10s” animateRef=“MadeusPath”/>D</text>
…