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 : 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 : 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.

Image Attributs.gif
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
Attributs locaux
[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 .
Image Legende.egif
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

Image Scenar1.gif
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.
Image Scenar2.gif
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.
Image Scenar3.gif
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.
Image Scenar6.gif
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 :

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.

Image Default.gif
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 :

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 :
Image RelSpatTemp.gif
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 :
Image CoherenceSpatiale.gif
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)).

Image SynchroSpatial.gif
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 ).

Image Evenement.gif
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.

Image Relations.gif
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