1 tien tran-thuong & cécile roisin inria rhône-alpes opera research project zirst - 655 avenue...

17
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 - France e-mail: [email protected]; [email protected] An Abstract Animation Model for Integrating SMIL Basic Animations With Multimedia Document

Upload: raymond-fields

Post on 29-Dec-2015

212 views

Category:

Documents


0 download

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>

17

See also:

http://opera.inrialpes.fr/people/Tien.Tran-Thuong/Welcome.html