Chapitre 2
Spécification de relations spatio-temporelles dans un document multimédia
Dans ce chapitre nous commençons par proposer un modèle de
document multimédia inspiré de l'état de l'art, et
notamment de Madeus. Nous proposons ensuite une liste de besoins à
prendre en compte d'après les outils étudiés dans
l'état de l'art. La spécification est alors décrite
en s'appuyant sur le modèle et les besoins. Enfin, quelques extensions
sont proposées.
[Table des matières]
1 Un modèle de document multimédia
Pour notre modèle, nous avons choisi l'approche déclarative.
En effet, celle-ci nous paraît plus adaptée à nos objectifs
initiaux puisque le langage qui en découle est plus facile d'apprentissage.
Dans le chapitre précédent, nous avons décrit les
concepts sous-jacents de plusieurs standards tels que SMIL, CSS, ainsi
que le prototype Madeus. Cette partie présente un modèle
dont la vocation est de s'inspirer de ce prototype, de le compléter
en proposant une classification des attributs.
Le modèle proposé repose sur la notion d'objets,
caractérisés par des attributs. L'ordonnancement temporel
et spatial de ces objets est spécifié par des relations
entre les objets.
[Table des matières]
1.1 Objets
Un document multimédia est constitué d'un ou plusieurs objets,
par exemple un son, une image, un texte ou une vidéo. Les caractéristiques
d'un objet sont définies par des attributs tels que la durée,
la position ou le volume. Dans la suite, nous identifions les propriétés
d'un attribut puis nous proposons une classification. Enfin, nous donnons
une définition de plusieurs attributs pour chaque objet.
[Table des matières]
1.1.1 Caractéristiques et classification des attributs
Un attribut sert à définir une propriété
inhérente d'un objet. Par ailleurs, dans la littérature,
le terme attribut est quelques fois remplacé par le terme
propriété (CSS, ToolBook). Nous distinguons trois
caractéristiques pour un attribut :
-
Obligatoire ou facultatif
-
Local ou global
-
les attributs globaux peuvent être portés par tous les éléments
du document, par exemple les attributs Nom et Durée.
Les attributs locaux sont définis pour certains types d'éléments,
un cas particulier étant les attributs média-dépendant
(la Fonte pour les caractères ou le nombre d'images par seconde
pour une vidéo).
-
Statique ou dynamique
-
les attributs statiques conservent la même valeur durant toute leur
durée de présentation tandis que la valeur des attributs
dynamiques varie au cours du temps comme le déplacement d'une fenêtre
à l'écran. Nous nous intéresserons particulièrement
à cette caractéristique.
Les attributs sont classés en fonction des dimensions caractérisant
un document multimédia, auxquelles est ajoutée une classe
regroupant les attributs d'identification d'un objet. Dans notre modèle,
nous identifions les dimensions suivantes :
-
dimension interactive ;
-
dimension spatiale ;
-
dimension temporelle ;
-
dimension hypermédia ;
-
dimension logique.
Par conséquent, nous classons les attributs en six catégories.
-
Attributs d'identification
-
Les attributs d'identification permettent de désigner et de qualifier
un objet, comme les attributs Nom, Type et Source.
-
Attributs logiques
-
Les attributs logiques permettent de distinguer les parties du document
qui sont sémantiquement liées et qui peuvent être regroupées
par le biais de relations logique. Dans notre modèle, le document
est structuré sous la forme hiérarchique. Ainsi, l'attribut
Père référence l'objet englobant un ensemble
d'objets sémantiquement liés.
-
Attributs hypermédia
-
Les attributs hypermédia définissent la structure de navigation
et d'inclusion intra et inter-documents. Les attributs Référence
et Inclusion caractérisent des liens de navigation et des
liens d'inclusion entre un élément de base et un autre élément
(de base ou composé). Généralement, cette structure
est exploitée grâce aux attributs d'interaction.
-
Attributs d'interaction
-
Les attributs d'interaction définissent le comportement de l'objet
vis-à-vis de l'utilisateur et vice versa. Le premier cas est illustré
par l'attribut Activable qui permet de spécifier si l'élément
peut être utilisé comme un bouton d'activation. Ce bouton,
par exemple, sert d'interface pour l'utilisation de la structure hypermédia.
Dans le second cas, un objet peut interagir avec l'utilisateur en contrôlant
un transducteur à retour de force. Par exemple, l'attribut Force
est un attribut d'interaction.
-
Attributs de présentation
-
Les attributs de présentation concernent l'affectation dans le temps
des composants multimédia d'un document aux ressources physiques,
telles que l'écran ou le canal audio. Ainsi, les attributs Position,
Couleur et Volume sont des attributs de présentation.
-
Attributs temporels
-
Les attributs temporels permettent de placer les objets sur l'axe temporel
et de définir leurs comportements liés au temps. Par exemple,
l'attribut Itération est un entier qui représente
le nombre de fois qu'un élément est présenté
successivement à l'utilisateur.
Ces classes d'attributs peuvent être synthétisées autour
des trois agents d'un système multimédia : l'utilisateur,
le système d'information et le moteur d'exécution (contrôle).
Ainsi, comme le représente la Fig 1 , la
première classe regroupe les attributs relatifs à la communication
homme machine : les attributs de présentation et d'interaction.
La seconde classe regroupe les attributs relatifs au système de
présentation multimédia, c'est-à-dire les attributs
temporels. Enfin la troisième classe définit l'organisation
interne des documents multimédia, leur structure ainsi que leurs
interconnections.
Fig 1. Les classes d'attributs
[Table des matières]
1.1.2 Définition des attributs
Cette section donne la définition des principaux attributs que nous
serons amenés à rencontrer tout au long de ce rapport. Ils
sont classés en fonction de leur portée.
-
Attributs globaux
-
Nom : permet de désigner l'objet dans tout le document ;
-
MimeType : précise le format de l'objet, comme gif ou jpeg
pour les images ou au pour les audios ;
-
Contenu : donne l'information de contenu (chaîne textuelle) ou de
localisation (URL) ;
-
Durée : précise les bornes de durée d'un objet : c'est
un triplet de valeurs (durée minimale, nominale et maximale) ;
-
Contrôlable : spécifie si la durée de l'objet peut
être fixée par le système de présentation parmi
les valeurs définies par les bornes de l'attribut Durée,
ou si cet attribut indique la plage des valeurs que l'objet prendra à
l'exécution sans contrôle de la part du système
;
-
Position : précise la position de l'objet dans l'espace. Cet attribut
ne s'applique pas à l'objet Audio ;
-
Référence : définit un lien de navigation ;
-
Inclusion : définit un lien d'inclusion.
-
Attributs locaux
-
Objet Texte
-
couleur : spécifie la couleur de l'objet ;
-
police de caractère ;
-
taille de caractère ;
-
Objet Image
-
Objet Vidéo
-
Image : indique le numéro de l'image en cours ;
-
Vitesse : valeur indiquant la vitesse d'exécution de la vidéo
(en nombre d'images par seconde).
-
Objet Audio
-
Volume : niveau sonore de l'objet ;
-
Echantillon : numéro de l'échantillonage en cours ;
-
Vitesse : vitesse d'échantilonnage.
[Table des matières]
1.2 Relations temporelles et spatiales
Le modèle temporel s'appuie sur les relations temporelles d'Allen
et les relations de causalité. Plus généralement,
ce modèle est fondé sur les relations à base d'intervalles.
Par définition, une relation spatiale est définie comme
une relation entre des attributs spatiaux. Dans la section 3.3,
nous avons étudié les relations entre deux attributs position.
Dans le modèle que nous proposons, un attribut spatial est
étendu à l'ensemble des attributs de présentation.
Par exemple les attributs position, dimension et couleur,
sont des attributs spatiaux.
Par conséquent, une relation spatiale est aussi étendue
à l'ensemble des attributs spatiaux sur lesquel on peut définir
une relation d'ordre. Elle relie deux attributs de même type, ou
de types différents via une fonction de conversion (position et
couleur par exemple), d'un même objet ou d'objets différents.
Par exemple, le scénario
« la couleur de l'objet A est la même que celle
de l'objet B » caractérise, à travers l
a relation est la même que, une relation spatiale entre
deux attributs couleurs.
Maintenant que le modèle dans lequel nous spécifierons
nos relations spatio-temporelle est complètement défini,
nous présentons dans la section suivante les besoins d'expression
spatio-temporelle.
[Table des matières]
2 Les besoins d'expression spatio-temporelle
Le besoin d'ajouter la notion « d'espace dynamique » dans les
documents multimédia peut être illustré par une série
de scénarios représentatifs. Pour cela, nous nous inspirons
des langages impératifs vus dans le chapitre , car nous avons vu
que ceux-ci offraient un fort pouvoir d'expression pour exprimer les animations.
Ces scénarios permettront de cerner précisement les besoins,
pour ensuite formaliser ces besoins et les intégrer dans le modèle
précédemment défini.
Mais dans un premier temps, comme nous avons pu le constater dans le
chapitre , le vocabulaire utilisé a un sens différent pour
chaque auteur, notamment pour les termes relatifs au spatio-temporel. C'est
pourquoi nous proposons de clarifier et de compléter ce vocabulaire.
Un attribut spatio-temporel est un attribut spatial dont la valeur
change au cours du temps. Par exemple, l'attribut position défini
par une équation de la forme a.t+b, est un attribut spatio-temporel.
On distinguera deux types de variation : constante et monotone. La partie
3 définit plus précisément ce
type d'attribut.
Une relation spatio-temporelle regroupe deux aspects. Premièrement,
une relation spatio-temporelle est une relation spatiale qui dépend
du temps. Par exemple, une relation de centrage entre deux objets pendant
10 secondes est une relation spatio-temporelle. La partie 4
définit en détail ce type de relation. Deuxièmement,
une relation spatio-temporelle est une relation temporelle qui dépend
de l'espace, c'est-à-dire que l'ordonnancement temporel dépend
des attributs spatiaux. Par exemple, le scénario « lorsque
objet A arrive à la position (50, 50), l'objet B commence sa présentation
» illustre ce type de relation. Nous utiliserons par la suite
l'expression de synchronisation spatiale pour référencer
cet aspect.
[Table des matières]
2.1 Besoins par l'exemple
L'objectif de cette section est de ressortir les besoins élémentaires
à travers plusieurs mini-scénarios. La première classe
de scénarios porte sur un seul attribut : déplacement, effet
de couleur, redimensionnement. La seconde classe regroupe les scénarios
reliant plusieurs attributs d'un même objet ou d'objets différents.
[Table des matières]
2.1.1 Légende
A chaque scénario est associée une vue « time-line
» dont les symboles utilisés sont définis dans
la figure Fig 2 .
Fig 2. Définition des symboles utilisés pour les
vues « time-line »
[Table des matières]
2.1.2 Mono-attribut
-
Scénario 1 : le rebondissement d'un ballon
-
Soit un objet ballon qui commence sa présentation à
la position (10, 10). Après une seconde, le ballon suit les
lois de la dynamique, ceci pendant 30 secondes.
![Image]()
Fig 3. Scénario 1 : rebondissement d'une balle
Dans ce scénario, un objet ballon est défini. Sa
position varie en fonction du temps ; dans un premier temps il reste fixe
pendant une seconde, puis il suit une courbe caractérisée
par une fonction qui, dans ce cas, est la suivante :
x = (v0 cos alpha)t
y = (-0.5 gt2) + (v0 sin alpha) t
avec v0 la vitesse initiale, g le champ de pesanteur, t le temps
et alpha l'angle initial.
-
Scénario 2 : texte avec un effet de fondu
-
Soit un objet de type texte. Au commencement de sa présentation,
sa couleur est transparente. Puis elle devient progressivement noire en
2 secondes, reste noire pendant une seconde puis redevient progressivement
transparente.
L'effet décrit est un effet de fondu : le texte disparaît
progressivement. L'effet sur l'attribut couleur se définit de la
même façon que le déplacement du scénario 1
: une fonction du temps.
Fig 4. Scénario 2 : time-line de l'effet de fondu
-
Scénario 3 : texte avec un effet de zoom
-
Soit un objet de type texte. Au début de sa présentation,
sa taille est de 12 pixels. Progressivement, en deux secondes, cet objet
augmente sa taille jusqu'à vingt pixels, pour rester fixe pendant
une seconde.
De la même façon que les deux scénarios précédents,
l'attribut taille d'une fonte de caractère est défini
par une fonction du temps.
Fig 5. Scénario 3 : time-line de l'effet de zoom
-
Scénario 4 : combinaison des trois effets précédents
-
Soit un objet de type texte. Au début, il est positionné
en (10, 10), sa taille est de 12 pixels, et il est transparent. Il se déplace
progressivement jusqu'à la position (50, 50) tout en changeant de
couleur et de taille, le tout s'effectuant en 5 secondes.
Ce scénario montre que chaque attribut est défini par une
fonction propre à lui-même.
[Table des matières]
2.1.3 Multi-attributs
-
Scénario 5 : un fondu et un zoom synchronisés
-
Soit un objet de type texte. On applique sur ce texte les mêmes effets
définis dans les scénarios 2 et 3. Lorsque A a une
taille de 20 pixels, le premier effet de fondu se termine.
Les attributs couleur et taille de l'objet sont synchronisés.
-
Scénario 6 : une balle rebondit sur un texte
-
Soient un objet ballon et un objet texte. Un effet de fondu
et de zoom sont appliqués sur le texte et le ballon suit la trajectoire
définie dans le scénario 1. Lorsque la balle rebondit une
première fois, le texte est centré avec le ballon, sa couleur
est noire et sa taille est au maximum.
Fig 6. Scénario 6 : synchronisation spatiale entre une balle
et un texte
Dans ce scénario, est illustrée la notion de synchronisation
spatiale vue en 2 : lorsque la balle atteint une certaine
position verticale (le sol), la fin du fondu du texte s'opère. De
plus, nous pouvons remarquer que la relation spatiale de centrage entre
ces deux objets n'est définie que pour l'instant du rebondissement.
-
Scénario 7 : une barre suit horizontalement la balle
-
Reprenons le scénario précédent auquel est ajouté
un objet barre qui initialement est centré horizontalement
par rapport à la fenêtre. Lorsque le ballon commence son déplacement,
la barre va progressivement se centrer avec le ballon, ceci en 1 seconde.
Ensuite ces deux objets restent centrés verticalement jusqu'à
la fin de l'objet ballon.
Ce scénario montre que deux objets peuvent être en relation
spatiale durant un laps de temps qui, dans ce cas, dure le temps de déplacement
de la balle.
-
Scénario 8 : des commentaires s'affichent
-
Soit un objet ballon ayant le même comportement que dans le
scénario 1. Tout au long de sa progression vers le bord droit de
la fenêtre, des commentaires différents s'affichent toutes
les 2 secondes. Un effet de fondu sépare les commentaires. Le dernier
commentaire s'affiche lorsque le ballon touche le bord droit.
Ce scénario illustre un type plus complexe de la synchronisation
spatiale puisque le moment où le ballon atteint le bord droit de
la fenêtre ne peut pas être connu statiquement, puisque la
taille de la fenêtre est paramétrable.
-
Scénario 9 : visualisation du volume
-
Soient un objet son et texte. La position du texte dépend
du volume du son. Lorsque le volume est nul, la position du texte est (50,
100). Plus le volume augmente, et plus le texte se déplace vers
le haut.
Enfin, ce dernier scénario montre que deux attributs de types différents,
le volume et la position par exemple, peuvent être
reliés.
[Table des matières]
2.2 Synthèse
Ces scénarios mettent en évidence le besoin de spécifier
des attributs dynamiques, quelque soit leur type. Dans les scénarios
1, 2 et 3, les attributs sont définis par une fonction qui dépend
du temps, et qui peut être sémantiquement scindée en
plusieurs fonctions. Par exemple, le scénario 2 est constitué
de trois fonctions « atomiques », la première variation
de couleur puis la couleur constante et enfin la seconde variation de couleur.
Dans le scénario 5, le premier sous-intervalle de temps
défini par la première variation de couleur est synchronisé
avec le premier sous-intervalle de l'attribut caractérisant l'effet
de zoom. De la même façon, dans les scénarios 6 et
7 les relations spatiales sont définies pendant un sous-intervalle
de temps d'un objet. Que ce soit pour exprimer la valeur d'un attribut
ou une synchronisation, cette notion de sous-intervalle est récurrente.
Pour finir, l'auteur peut vouloir exprimer un même comportement
de son scénario de plusieurs manières. Par exemple, en considérant
l'attribut position, l'auteur peut vouloir spécifier les paramètres
suivants :
-
spécifier le position initiale et finale ;
-
spécifier la position initiale et une vitesse ;
-
spécifier la position initiale, une vitesse maximum et une accélération
;
-
spécifier précisement la trajectoire et le nombre de répétition
;
-
ou encore spécifier la position finale et une vitesse.
Nous verrons dans la section 3.1.2 comment spécifier
ces différents cas.
En conclusion, cette section a mis en évidence le besoin de spécifier,
dans un premier temps, les attributs spatio-temporels en fonction de sous-intervalles.
Dans un second temps, les relations spatio-temporels seront spécifiées
pour répondre au besoin de synchronisation.
[Table des matières]
3 Spécification des attributs spatio-temporels
La spécification d'animations, d'effets de style comme le zoom ou
l'effet de fondu s'effectue à travers des attributs spatiaux dynamiques.
Cette section définit formellement la notion d'intervalle spatio-temporel
vue dans la section précédente, pour ensuite spécifier
les attributs spatio-temporels.
[Table des matières]
3.1 Spécification d'un intervalle spatio-temporel
[Table des matières]
3.1.1 Définition
Un intervalle spatio-temporel est un intervalle temporel pendant lequel
la valeur d'un attribut de présentation est définie par une
fonction. Par exemple, l'attribut position dont la valeur est égale
à la position (10, 10) pendant une durée donnée caractérise
un tel intervalle (c.f. scénario 1).
Un sous-intervalle spatio-temporel est un intervalle spatio-temporel.
Le sous-intervalle est contraint de rester à l'intérieur
d'un intervalle, ce qui s'exprime par la relation during d'Allen.
Formellement, soit A un intervalle [Ti..Tf].
Un sous-intervalle est un intervalle [ti..tf] tel
que Ti <= ti <= tf <= Tf.
Nous pouvons remarquer qu'un intervalle peut avoir une durée nulle,
correspondant ainsi à un instant. Plus généralement
ce problème de liaison entre un intervalle et ses sous-intervalles
fait appel à des mécanismes de structuration hiérarchique
du langage de spécification du scénario temporel qui fait
l'objet d'une étude à ce sujet .
La fonction peut être définie de plusieurs façons
comme le montre la section suivante.
[Table des matières]
3.1.2 Fonction
On s'intéresse uniquement aux fonctions continues, c'est-à-dire
aux fonctions définies en tout point. On distinguera les fonctions
constantes des fonctions non constantes.
-
Fonction constante
-
Durant un sous-intervalle spatio-temporel, la valeur de l'attribut correspondant
reste constante. Cette valeur peut être soit spécifiée
directement, soit par une relation spatiale. Ainsi, pour l'attribut position,
le couple de coordonnées (abscisse, ordonnée) permet
de spécifier directement cette valeur. Par exemple, dans le scénario
1, le ballon commence à la position (10, 10).
Le cas de la spécification par relation est traité dans
la section 4.2.
-
Fonction non constante
-
De façon générale, la valeur d'un attribut peut être
spécifiée par une fonction quelconque du temps, noté
f(t), t étant le temps écoulé depuis
le début du sous-intervalle. Les besoins de l'auteur peuvent se
traduire par un système d'équations permettant de déduire
f. Par exemple, le système d'équations correspondant
à la spécification de la position initiale et finale d'une
droite est le suivant :
a.ti + b = Position initiale , avec ti = 0
a.tf + b = Position finale, avec tf = durée
du sous-intervalle
-
Ce système peut être résolu (calcul de a et
de b) à condition que la durée du sous-intervalle
soit connue statiquement. Dans le cas contraire, c'est-à-dire lorsque
la durée de l'intervalle est connue juste avant le début
de la présentation de l'objet, la variable t doit être
normalisée afin d'obtenir une spécification fixe et indépendante
de la durée. Le domaine de t est alors l'intervalle [0, 1],
le calcul de la normalisation s'effectuant dynamiquement.
Enfin, lorsque la durée du sous-intervalle ne peut pas être
connue, dans le cas des objets incontrôlablesnote1
par exemple, la borne supérieur de l'intervalle de temps est inconnue,
donc l'auteur doit donner un paramètre en plus pour résoudre
le système. Par exemple, dans le système d'équations
précédent, le paramètre a doit être fixé.
Du point de vue de l'auteur, celui-ci spécifie la position initiale
et la vitesse.
[Table des matières]
3.2 Attribut spatio-temporel
Un attribut spatio-temporel est défini à partir d'un ensemble
de sous-intervalles spatio-temporels et de relations entre ces sous-intervalles.
Comme un attribut ne peut pas avoir plusieurs valeurs à un instant
donné, les sous-intervalles sont disjoints deux à deux. Par
conséquent, l'ensemble des relations d'Allen entre deux intervalles
d'un même attribut et d'un même objet est restreint aux relations
before et meet.
Dans le cas où l'ensemble des sous-intervalles définissant
un attribut ne fournit pas de valeur pendant certains sous-intervalles,
il faut définir une valeur par défaut. Pour cela, deux politiques
sont possibles : soit la valeur par défaut est valide à chaque
fois qu'un sous-intervalle n'en définit pas une autre, soit cette
valeur est remplacée par celle du dernier sous-intervalle «
actif ». La Fig 7 (a) illustre le premier cas
et la Fig 7 (b) le second à travers l'attribut
couleur.
Fig 7. Deux façons d'interpréter la valeur par défaut
[Table des matières]
4 Spécification des relations spatio-temporelles
Dans le chapitre , nous avons vu deux approches différentes pour
exprimer la synchronisation entre les objets, l'approche événementielle
et relationnelle. La première est fondée sur les relations
unidirectionnelles, tandis que la seconde repose sur des relations bidirectionnelles.
Cette section commence par définir et comparer ces deux types de
relations. Ensuite les relations spatiales dépendant du temps puis
la synchronisation spatiales sont spécifiées. Enfin, nous
poserons le problème de la vérification de la cohérence.
[Table des matières]
4.1 Relations unidirectionnelles versus bidirectionnelles
Une relation unidirectionnelle est une relation de type maître-esclave.
L'objet maître contrôle un autre objet esclave. Par exemple,
dans le scénario « Lorsque l'objet A termine sa présentation,
alors l'objet B peut commencer à se jouer », l'objet A,
le maître, contrôle le début de la présentation
de B (l'esclave).
Par contre, une relation bidirectionnelle ne fait aucun a priori
sur l'existence de l'objet maître. Le scénario précédent
s'exprimerait alors de la façon suivante : « La présentation
de l'objet A se termine avant que l'objet B commence à se jouer
». Lors de l'exécution de ce scénario deux cas peuvent
se présenter :
-
soit A est contraint de se jouer à un instant donné, alors
B doit « s'adapter » ;
-
soit c'est B qui est contraint de se jouer à un instant donné,
et c'est à A de « s'adapter ».
Un des avantages des relations unidirectionnelles est qu'elles mettent
en évidence les liens de causalité entre les objets. De plus,
comme l'objet maître peut notamment contrôler l'existence même
de l'objet esclave, ce dernier peut ne pas se jouer. Ce n'est pas le cas
pour deux objets reliés par une relation bidirectionnelle. Par exemple,
lorsque l'auteur spécifie que l'objet A se joue avant l'objet B,
les deux objets ont clairement une existence indépendante l'un de
l'autre.
Les relations temporelles d'Allen sont des relations bidirectionnelles,
ainsi que les relations spatiales telles qu'elles ont été
définies dans la section 1.2. Les relations
de causalité sont, par contre, des relations unidirectionnelles,
mais dont la sémantique est différente puisqu'elles ne permettent
pas notamment de contrôler l'existence d'un objet.
En conclusion, ces deux types de relations sont nécessaires pour
spécifier les documents multimédia. La suite de cette section
spécifie les relations spatio-temporelles bidirectionnelles. La
section 5 décrit plus en détail les
relations unidirectionnelles.
[Table des matières]
4.2 Relations spatiales en fonction du temps
D'après la définition donnée en 2,
le premier cas d'une relation spatio-temporelle est une relation spatiale
qui dépend du temps. Elle permet de définir la valeur d'un
attribut spatio-temporel (3.1.2). Cette section
décrit ce type de relation, en distinguant plusieurs durées
de vie des relations, puis en explicitant leur sémantique selon
qu'elles mettent en relation des attributs de même type ou de types
différents.
[Table des matières]
4.2.1 Durée de la relation
On distingue trois types de relations spatiales en fonction de leur durée
de vie :
-
Relation spatiale intemporelle
-
La relation spatiale est valide pendant toute la durée de vie d'au
moins un des deux objets en cause.
-
Relation spatiale ponctuelle
-
La relation spatiale est valide à un instant donné. Cet instant
est défini, par convention, comme étant l'instant final d'un
sous-intervalle. Les relations spatiales de Madeus sont de ce type (c.f.
3.3.3).
-
Relation spatiale temporisée
-
La relation spatiale est valide durant un intervalle de temps non nul.
La durée de validité est soit spécifiée directement
au niveau de la relation, soit via l'attribut durée d'un
objet qui peut être un autre que les deux objets en relation. Par
exemple, l'objet A peut être aligné à gauche
avec l'objet B pendant la durée de l'objet C (Fig
8 ).
Fig 8. Une relation spatiale temporisée
Il est important de noter qu'une relation spatio-temporelle peut exister
entre deux objets qui ne sont pas présents en même temps durant
la présentation. Cela permet d'exprimer, par exemple, que les titres
de transparents sont positionnés à la même position.
[Table des matières]
4.2.2 Relations spatiales « intra-attributs »
Une relation spatiale « intra-attributs » est une relation
spatiale entre deux attributs de même type. Par exemple, les
deux opérandes de la relation intra-attribut aligné_à_gauche
portent sur l'attribut position.
[Table des matières]
4.2.3 Relations spatiales « inter-attributs »
Les relations spatiales « inter-attributs » sont des relations
entre attributs de types différents. Par exemple une relation
entre un attribut couleur et un attribut position. Contrairement aux relations
« intra-attributs », les relations inter-attributs nécessitent
une fonction de conversion autre que la fonction identité.
Ce type de relation est illustrée par le scénario 9 qui
décrit le fonctionnement d'un visualisateur de l'intensité
du volume sonore. Celui-ci est converti en une position, la fonction de
conversion étant la suivante :
Position Verticale = Coefficient * Volume.
[Table des matières]
4.2.4 Conclusion
De façon générale, une relation spatiale est le résultat
d'une équation ou une inéquation entre des attributs de présentation.
Par exemple, la relation spatiale aligné_à_gauche
équivaut à une égalité entre les bords des
objets mis en jeu.
Cependant, l'approche déclarative (c.f. 1.2)
appliquée à ce modèle nécessite de trouver
un langage permettant d'encapsuler ces équations, sans restreindre
la capacité d'expression. Néanmoins, ce langage n'est pas
toujours facile à cerner et dépend des besoins de l'auteur.
Par exemple, le vocabulaire associé à l'attribut couleurnote2
peut être très large selon les besoins. L'auteur peut
vouloir mettre en relation les composantes RGB (Red Green Blue),
la luminosité, le contraste, etc.
[Table des matières]
4.3 Relations temporelles en fonction de l'espace
Du fait que les objets sont maintenant dynamiques, les possiblités
de synchronisation augmentent en tenant compte de la valeur des attributs
spatiaux du document. Par exemple, dans le scénario 8, qui met en
jeu un ballon et une suite de commentaires enchaînés par un
effet de fondu, la fin de la présentation du dernier commentaire
est synchronisée avec le moment où le ballon atteint le bord
droit de la fenêtre de présentation.
Dans la plupart des cas, la synchronisation spatiale peut se réduire
à une synchronisation temporelle. Par exemple, dans le scénario
6, lorsque le ballon rebondit sur l'objet texte, l'instant où le
ballon atteint le sol peut être calculé. Par conséquent,
la synchronisation spatiale peut être remplacée par une synchronisation
temporelle entre le sous-intervalle spatio-temporel correspondant au premier
rebond du ballon et l'objet texte.
[Table des matières]
4.4 Cohérence
Lorsque l'utilisateur augmente sa spécification de nouvelles relations,
le système doit être capable de vérifier que l'ensemble
des contraintes résultant est cohérent. Supposons par exemple
que l'auteur spécifie la trajectoire de deux objets A et
B et ajoute la relation spatiale Aligné_à_gauche
entre ces objets, relation valide pendant la durée du premier sous-intervalle
de l'objet A. La Fig 9 (a) montre une configuration
temporelle et spatiale de l'objet B cohérente. Par contre, ce scénario
peut devenir incohérent pour trois raisons :
-
soit l'objet B a une position temporelle différente (Fig
9 (b)) ;
-
soit la trajectoire de B est différente (Fig 9
(c)) ;
-
ou soit les deux.
Fig 9. Problème de la cohérence spatio-temporelle
De plus, pour maintenir la cohérence de la synchronisation spatiale,
le système doit vérifier que la configuration spatiale au
moment de la synchronisation peut se réaliser. Par exemple, si la
durée associée au ballon du scénario 1 n'est pas suffisante
pour que ce dernier puisse atteindre le sol, alors la spécification
doit être jugée incohérente. Le problème se
complique lorsqu'un attribut spatial prend plusieurs fois la même
valeur. Supposons par exemple, qu'un objet B est synchronisé
spatialement avec un objet A lorsque celui-ci passe par la position
(50, 50) et (100, 100) (c.f. Fig 10 (a)). Si l'objet
A passe plusieurs fois par la position (100, 100), alors il y a
une ambiguïté dans le choix de la relation (c.f. Fig
10 (b)).
Fig 10. Un problème apporté par la synchronisation
spatiale
Lorsque la spécification comporte uniquement des relations spatiales
ponctuelles, il existe des méthodes de maintien de la cohérence,
telles que les algorithmes DeltaBlue , Skyblue ou encore
Quickplan . Ce sont des méthodes qui calculent une solution
pour des variables (dans notre contexte les valeurs des attributs) dont
la valeur est fixe. Par conséquent, ce type d'algorithmes ne s'applique
plus lorsque la spécification comporte notamment des attributs spatio-temporelles.
En effet, les attributs spatio-temporels peuvent prendre plusieurs valeurs
au cours du temps.
Ce problème, que nous appellerons « problème de
la vérification de la cohérence spatio-temporelle »,
est à l'heure actuelle un problème ouvert. Une solution consisterait
à appliquer des algorithmes de maintien de la cohérence,
tel que DeltaBlue, à chaque pas d'une simulation d'une présentation.
Evidemment, cette solution souffre d'un manque de performance.
[Table des matières]
5 Les événements
Nous avons décrits dans la section précédente une
spécification de relations spatio-temporelles, et notamment la synchronisation
spatiale. Or la plupart du temps, l'expression de ce type de synchronisation
ne nécessite pas que ce soit une relation bidirectionnelle. Par
exemple, le scénario 6, qui met en jeu un ballon qui rebondit sur
un objet texte, s'exprime plus naturellement sous la forme d'événement
: « Lorsque le ballon atteint le sol, alors la couleur du texte est
noire et sa taille est au maximum ».
Les événements relient des objets unidirectionnellement
: un objet maître déclenche le début ou la fin d'un
objet esclave. Ainsi, si l'événement ne se produit pas, l'objet
esclave ne se joue pas. Du point de vue de la vérification de la
cohérence, il n'est donc plus nécessaire de vérifier
que l'objet maître appartient à une configuration spatiale
à un instant donné (c.f. 4.4).
Par contre, les objets en relation avec l'objet maître ne peuvent
pas être en relation avec les objets en relation avec l'objet esclave,
à cause de l'incertitude de l'existence des objets destination de
l'événement. Par exemple, l'objet C de la Fig
11 déclenche le début de la présentation de l'objet
B qui est en relation avec l'objet A. A et B peuvent
ne pas avoir d'existence, or la relation (1) implique que A doit
exister. Par conséquent, cette relation ne peut pas être créée.
Enfin, une autre conséquence est qu'il n'est pas possible d'avoir
des objets antérieurs à l'objet destination de l'événement
(c.f objet D de la Fig 11 ).
Fig 11. Les relations (1) et (2) sont interdites lorsqu'il y a
des événements
[Table des matières]
6 Extension : spécification généralisée
Dans les sections 3 et 4 nous
avons spécifié les attributs et les relations spatio-temporelles
sur les attributs de présentation, afin de répondre à
un premier besoin. Nous avons vu dans la section 1.1.1
que nous pouvions classer les attributs en trois catégories : attributs
de contrôle (temporel), attributs système (logiques, hypermédia
et d'identification) et utilisateur (présentation et interaction).
Les règles de dépendance entre attributs définis dans
ce chapitre ont porté uniquement entre attributs de présentation
et attributs temporels. Ces dépendances sont représentées
par les relations 7 et 8 de la Fig 12 .
Or nous pourrions généraliser cette spécification
à l'ensemble des attributs permettant de caractériser un
objet. Par exemple, on pourrait placer entre l'attribut contenu de l'objet
texte et l'attribut volume d'un son, ce qui permettrait de visualiser l'intensité
d'un volume sonore sous forme textuelle (c.f. scénario 9). Ainsi,
l'attribut contenu (attribut système) dépend de l'attribut
de présentation volume (c.f. relation 4 de la Fig
12 ). Un autre exemple, l'auteur peut vouloir spécifier des
liens hypermédia qui ne soient actifs que pendant une certaine durée
(c.f. relation 1).
L'intérêt de cette généralisation est d'offrir
à l'auteur la possibilité de spécifier des scénarios
plus complexes tout en restant dans le cadre du modèle présenté
dans ce chapitre.
Fig 12. Ensemble des dépendances possible entre attributs
Notes :
(1)
ce sont des objets dont la durée n'est pas connue a priori
(2)
un consortium a été créé pour discuté
sur le sujet de la couleur. Plus de renseignements peuvent être trouvés
à l'adresse http://www.color.org