An Abstract Animation Model for Integrating SMIL Basic

An 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@inrialpes. fr; cecile. roisin@inrialpes. fr 1

Multimedia document modeling Declarative approach for specifying multimedia document Multimedia document model: Content, Temporal, Spatial, Link, Animation Medias / Multimedia database Multimedia document specification Multimedia document 2

Animation 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 3

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) 4

Ex. 1: transitions between images O 1 O 2 O 3 O 4 O 5 O 6 time t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 t 11 t 12 Playing sequentially a list of images with transition animations between two consecutive images FAnimation modeling (f, v, a, o, t): two animation types for the modification of the alpha color attribute v= {V 1= (0, 1) from transparent to visible, V 2= (1, 0) from visible to transparent}; f=linear ; a=alpha; o={O 1. . O 6}; t={t 1. . t 12}. 5

Specification with Hy. Time, MHEG and SMIL Up 1 Down 1 Up 2 Down 2 Up 3 Down 3 Up 4 Down 4 Up 5 Down 5 Up 6 Down 6 The animation specification can be specified thought the models: • Hy. Time: 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) 6

Ex. 2: MADEUS characters motion Spline path Moving a sequence of characters on a same path FAnimation 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={t 1. . t 6} In MHEG, Hy. Time and SMIL, the author has to specify 6 animations for each character object: (v, f, a, Oi, ti), 7 where i=1. . 6.

Why actual models provide no abstract specification ? Hy. Time: a modifier (v, f, a) referring to one object o is projected on a concrete time t. Object MHEG: an action (v, f, a, t) defined directly on a concrete time refers to an object o. Object Ref. Action class Object modification modifier Projectors … action time for only one object 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. action … time for only one object and in a concrete time Object animate. Motion … time 8

No abstraction animation specification implies: Redundancy, No reutilization, Tedious and hard editing work. 9

Animation 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 f={discrete, linear, paced, spline} and basic animations set {set, animate. Color, animate. Motion}, abstraction A=(f, v, a, ï) where ï is an abstract interval [0, 1], several objects can refer to the same animation: (o 1, t 1), (o 2, t 2) 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. 10

Abstract Animation Reutilization Example: the uses of the abstract animation A=(f, v, a, ï) by two object contexts (O 1, t 1), (O 2, t 2): • (O 1, t 1, A) • (O 2, t 2, A) 11

Mapping the abstract time (ï) into several concrete times (ti) The abstract time ï= « 0, 0. 2, 0. 8, 1» is mapped on two real times t 1= «begin: 5, dur: 8» and t 2= «begin: 15, dur: 10» 12

Ex. 1: transitions between images Define just two abstract animations: Up. Alpha = (linear, “ 0, 1”, alpha, “ 0, 1”) Down. Alpha = (linear, “ 1, 0”, alpha, “ 0, 1”) Syntax: <animate id=“Up. Alpha” calc. Mode=“linear” values=“ 0, 1” attribute=“alpha” keytime=“ 0, 1”/> <animate id=“Down. Alpha” calc. Mode=“linear” values=“ 1, 0” attribute=“alpha” keytime=“ 0, 1”/> Referencing O 1 O 2 O 3 O 4 O 5 O 6 time 13

Ex. 2: MADEUS characters motion Define just one abstract animation Madeus. Path = (spline, “ 45, 350; 158, 260; …”, position, “ 0; 0. 2; 0. 4; 0. 6; 0. 8; 1”) – Syntax: <animate. Motion id=“Madeus. Path” calc. Mode=“spline” values=“ 45, 350; 158, 260; …” key. Time=“ 0; 0. 2; 0. 4; 0. 6; 0. 8; 1”/> Animation referencing M A D E … … time 14

Example 1 the author has to defined two abstract animations: Up. Alpha = (linear, “ 0, 1”, alpha, “ 0, 1”) Down. Alpha = (linear, “ 1, 0”, alpha, “ 0, 1”) Syntax: <animate id=“Up. Alpha” calc. Mode=“linear” values=“ 0, 1” attribute=“alpha” keytime=“ 0, 1”/> <animate id=“Down. Alpha” calc. Mode=“linear” values=“ 1, 0” attribute=“alpha” keytime=“ 0, 1”/> <img id=“O_1” …> <anchor begin=“ 0 s” dur=“ 3 s” animate. Ref=“Up. Alpha”/> <anchor begin=“ 10 s” dur=“ 1 s” animate. Ref=“Down. Alpha”/> </img> <img id=“O_2” …> <anchor begin=“ 0 s” dur=“ 3 s” animate. Ref=“Up. Alpha”/> <anchor begin=“ 15 s” dur=“ 1 s” animate. Ref=“Down. Alpha”/> </img> … 15

Example 2 the author has to defined just one abstract animation: Madeus. Path = (spline, “ 45, 350; 158, 260; …”, position, “ 0; 0. 2; 0. 4; 0. 6; 0. 8; 1”) Syntax: <animate. Motion id=“Madeus. Path” calc. Mode=“spline” values=“ 45, 350; 158, 260; …” key. Time=“ 0; 0. 2; 0. 4; 0. 6; 0. 8; 1”/> <text id=“M_text” … > <anchor begin=“ 2 s” dur=“ 10 s” animate. Ref=“Madeus. Path”/>M</text> <text id=“A_text” … > <anchor begin=“ 3 s” dur=“ 10 s” animate. Ref=“Madeus. Path”/>A</text> <text id=“D_text” … > <anchor begin=“ 4 s” dur=“ 10 s” animate. Ref=“Madeus. Path”/>D</text> … 16

See also: http: //opera. inrialpes. fr/people/Tien. Tran-Thuong/Welcome. html 17
- Slides: 17