Chapitre 3

Madeus : Système d'édition et de présentation multimédia

[Table des matières]

1 Introduction

Dans ce chapitre nous présentons une vue globale du système multimédia Madeus que nous avons contribué à réaliser et que nous avons utilisé comme plate-forme pour l'expérimentation des services de présentation proposés dans ce mémoire. L'objectif ici est de donner les informations nécessaires à la présentation de notre travail qui constitue la partie présentation du système Madeus. Ainsi, ce chapitre constitue une synthèse de la thèse de Nabil Layaïda [Layaïda 97] et des travaux qui ont suivi (voir les papiers sur Madeus [Layaïda 96a] [Layaïda 96b] [Jourdan 97] [Jourdan 98b] [Sabry 97] [Sabry 98]).

Dans ce chapitre, nous donnons en section 2 une présentation générale du système Madeus. Nous en décrivons les principes généraux, le modèle de document, l'architecture globale et l'interface utilisateur. Dans la section 3, nous décrivons le format pivot ainsi que le format interne des documents Madeus. Dans la section 4, nous présentons le système d'édition et les fonctions de ses différents composants. Finalement, dans la section 5, nous donnons une introduction au système de présentation. Nous en décrivons seulement l'architecture, les fonctions faisant l'objet des chapitres suivants.

[Table des matières]

2 Présentation générale de Madeus

[Table des matières]

2.1 Principe de Madeus

Madeus est un système d'édition et de présentation de documents multimédia interactifs. Il prend en compte les trois types d'organisation des documents multimédia identifiés en section II.2.2 du chapitre II : logique, temporelle et spatiale, ainsi que l'aspect hypermédia identifié en section II.3.2 du chapitre II. Le principe de Madeus consiste à fournir aux auteurs de documents multimédia :

[Table des matières]

2.2 Modèle de document Madeus

Un document Madeus est défini comme un ensemble d'objets de base organisés selon une structure hiérarchique. La structure hiérarchique introduit la notion d'un objet composite qui permet de regrouper sous un même objet en ensemble d'objets de base ou composites. Le modèle de temps attaché aux objets est décrit dans la section 2.2.1 ci-dessous. Les compositions temporelle et spatiale des objets, exprimées sous forme de contraintes (voir section II.2.5.2), sont présentées dans la section 2.2.2.

[Table des matières]

2.2.1 Intervalle temporel

Dans la classification du comportement temporel des objets média de base introduite dans la section II.2.1, nous avons fait la distinction entre les objets média de base de type discret, continu et indéterministe. Dans notre modèle de document, tous ces types d'objets ainsi que les délais et les objets composites peuvent être représentés par une abstraction à base d'intervalles.

Tout intervalle I est caractérisé par une information temporelle sous forme d'intervalle de durée [lI, uI], où lI et uI sont respectivement des valeurs positives spécifiant les bornes inférieure et supérieure pour la durée de l'objet correspondant.

Ce modèle d'intervalle permet à l'auteur de spécifier la durée d'un objet média selon les formes suivantes :

En outre, une autre caractéristique est attachée aux intervalles représentant les objets média. Un intervalle peut être de deux types :

Il faut noter qu'un objet composite est incontrôlable si au moins un de ses descendants est incontrôlable, parce que la durée d'un objet composite est calculée en fonction de la durée de ses descendants. L'objet incontrôlable participe donc par une valeur incontrôlable dans la durée de ses ancêtres. Par contre, un objet composite est contrôlable si tous ses descendants sont contrôlables.

[Table des matières]

2.2.2 Contraintes inter-objets

Nous avons présenté dans chapitre II le besoin de spécifier la synchronisation inter-objet pour la présentation multimédia ainsi que les principales classes d'approches de spécification. Madeus se situe dans les approches à base de contraintes. Dans la suite, nous présentons les deux types principaux de contraintes : les relations temporelles (qualitatives, quantitatives et causales) et les relations spatiales.

Les relations temporelles

Relations qualitatives et quantitatives

Madeus propose une extension à l'ensemble des relations temporelles proposées par Allen [Allen 83] afin de tenir compte de l'aspect quantitatif des durées des objets et des paramètres temporels associés aux relations. La Fig 1 montre l'ensemble des relations temporelles quantitatives entre intervalles avec les paramètres temporels et les contraintes numériques associées. La notation dur(I) représente la durée de l'intervalle I.

Image
Allen_relations.gif

Fig 1. Les relations temporelles qualitatives et quantitatives

Relations causales

Madeus possède également un ensemble de relations temporelles causales qui permettent d'exprimer des effets de causalité entre les différents instants du document. La Fig 2 montre les opérateurs supportés dans Madeus. Les flèches verticales de la figure signifient que l'occurrence d'un instant source provoque l'occurrence de l'instant cible. La durée de la construction résultant de chaque type de relation est exprimée sous forme d'un intervalle en fonction des intervalles de durée des objets opérandes A et B.

Image
CausalOperators.gif

Fig 2. Les relations temporelles causales

Les relations causales dans Madeus ont la sémantique suivante :

En fonction de la durée de A et B, chacune des relations Parmaster, Parmin et Parmax peut avoir deux représentations graphiques (cf. figure Fig 2 ).

Les relations spatiales

Les relations spatiales que nous adoptons décrivent l'alignement d'objets média sur l'écran dans les deux dimensions : horizontale et verticale [Carcone 97]. Les relations représentent les types de placement suivants : centrage (Center_v et Center_h), alignement (Left_align, Right_align, Top_align et Bottom_align), espacement (Left_spacing, Right_spacing, Top_spacing et Bottom_spacing) et décalage (Left_indent, Right_indent, Top_indent et Bottom_indent).

[Table des matières]

2.3 Architecture de Madeus

L'architecture générale de Madeus est illustrée dans la Fig 3 . Le système se compose de deux parties principales : le système d'édition et le système de présentation. Le système d'édition, présenté dans la section 4, gère la création et la manipulation d'une représentation pivot de documents Madeus dont le format est présenté dans la section 3.2. Le format pivot est un format de stockage qui peut être échangé entre des différents sites et plates-formes en assurant une portabilité de haut niveau. Les documents sont représentés au sein du système Madeus selon un format interne sur lequel les différentes opérations d'édition et de présentation sont effectuées. De ce fait, ce format interne, décrit en section 3.3, est considéré comme le lien entre le système d'édition et le système de présentation. Le système de présentation, présenté dans la section 5 et développé dans les chapitres IV et V, s'occupe d'ordonner (Machine d'exécution multimédia) et de manipuler les activités de la présentation (Gestionnaire de présentation) en fonction du scénario spécifié par le format interne et des commandes données par l'utilisateur. Une interface utilisateur est fournie pour effectuer les opérations d'édition (flèche 1) et pour contrôler le cours de la présentation (flèches 2 et 3).

Image
MadeusArchitecture_2.gif

Fig 3. Architecture de Madeus

[Table des matières]

2.4 Interface utilisateur de Madeus

L'interface d'édition et de présentation de Madeus (voir la Fig 4 ) est construite au-dessus de la boîte à outils graphique de OSF/Motif [Motif 92]. À travers cette interface, l'utilisateur peut charger un document, le modifier, interagir avec ses objets ou contrôler sa progression temporelle. Il peut aussi agir sur les paramètres de sortie du document comme la taille de la fenêtre, sa partie visible (à travers les barres de défilement) ou encore contrôler le volume audio global de la présentation.

Image
Madeus_Interface.gif

Fig 4. Interface utilisateur de l'éditeur Madeus

Un document Madeus peut être visualisé selon deux formats dans deux fenêtres différentes : le document composé (ou en cours de composition) est affiché et exécuté dans la fenêtre « principale » tandis que sa forme pivot (textuelle) est affichée dans la fenêtre « source ». À la fenêtre principale sont associées deux palettes d'édition : la palette d'opérateurs temporels et la palette d'opérateurs spatiaux.

La fenêtre principale est composée de quatre parties (numérotées sur la Fig 4 ) qui offrent des fonctions d'édition et de présentation :

  1. Une barre de menus en cascade permettant de définir les attributs des objets du document, par exemple leur durée ou la fonte des caractères.
  2. Une barre de boutons permettant de charger un document, de lancer sa présentation ou sa sauvegarde.
  3. Une surface d'édition/présentation et d'interaction qui est la zone principale de restitution graphique du document.
  4. Un panneau de contrôle de la progression temporelle de la présentation d'un document. Ce panneau contient un ensemble de boutons permettant l'accès à des opérations génériques de navigation telles que l'arrêt, le démarrage, l'avance rapide et le retour arrière du document en cours de présentation.

L'utilisateur peut agir directement sur la zone principale (3) tant pour effectuer des opérations d'édition que pour des actions de présentation. Par exemple, il peut sélectionner des objets pour les composer spatialement, temporellement ou les détruire. Lors de l'exécution, l'utilisateur perçoit à travers cette zone l'évolution de la présentation et peut interagir directement au moyen de la souris. Cette interaction permet l'activation d'objets comme les boutons, les hyperliens ou tout objet média susceptible de réagir à ce type de manipulation (en particulier les programmes applets et les plugins).

[Table des matières]

3 Représentation des documents dans Madeus

Le système Madeus manipule des documents décrits selon un format pivot qui est un format déclaratif sous forme d'un marquage descriptif. Cette description couvre l'organisation logique, temporelle, spatiale et hypermédia des documents. Le système Madeus interprète le format pivot en un format interne sur lequel les différentes opérations d'édition et de présentation sont effectuées.

Afin de faciliter la compréhension des rôles des formats utilisés, nous allons d'abord donner un exemple d'un document multimédia. Cet exemple met en valeur les possibilités principales du système Madeus. Puis, nous décrivons le format pivot et le format interne de Madeus, principalement à travers cet exemple.

[Table des matières]

3.1 Exemple d'un document multimédia

Supposons que l'on souhaite construire un document multimédia Bande-Annonce qui présente l'histoire et quelques extraits d'un film (voir la Fig 5 ). Le document comporte un objet texte Titre qui présente le titre du film, une Musique de fond, une sous-scène Résumé, un objet texte Générique et une image Lien-Extrait qui représente une ancre d'hyperlien interne vers la sous-scène Extraits. La sous-scène Résumé contient deux sous-scènes : Histoire qui contient l'objet Texte, l'objet Audio et l'objet Image donnant une idée brève sur l'histoire du film, et la sous-scène Extraits qui contient trois sous-scènes E1, E2 et E3. Chacune de ces sous-scènes représente un extrait du film se composant d'une vidéo avec une audio.

Image Film_Example.gif

Fig 5. Structure logique du document multimédia Bande-Annonce

Image Film_Timeline.gif

Fig 6. Scénario temporel du document Bande-Annonce

Le scénario temporel que l'on veut construire (représenté sous forme d'une ligne de temps dans la Fig 6 ) consiste à commencer la présentation du Titre au même instant que la Musique et le Générique. La Musique joue pendant une durée de 65 secondes pendant laquelle l'image Lien-Extrait est activable. Le Générique est présenté pendant 20 secondes et 7 secondes après sa terminaison, un résumé du film démarre. L'objet Résumé commence par présenter un résumé de l'histoire du film sous la forme d'un texte en parallèle avec une audio et une image pendant une durée de 35 secondes. La sous-scène Histoire peut être interrompue par le bouton Bouton. La terminaison de l'objet Histoire a aussi pour effet de rendre ce bouton inactif. Sept secondes après la terminaison de l'objet Histoire, une succession d'extraits du film commence à jouer.

[Table des matières]

3.2 Format pivot d'un document Madeus

Le marquage descriptif des éléments est le principe de base du format pivot de Madeus, de façon similaire aux principes de structuration des documents statiques (cf. SGML [Goldfarb 90]). Des marques (ou balises) sont associées à chacun des éléments. Les marques sont utilisées pour typer, délimiter et identifier les éléments d'un document et pour leur associer des attributs.

La syntaxe du format pivot est fondée sur le langage de marquage XML (eXtensible Markup Language) [W3C 98a]. XML a été retenu car c'est le standard défini par le W3C (World Wide Wec Consortium) à partir de SGML : il est simple de lecture et d'écriture et permet de décrire selon un format déclaratif l'organisation d'informations structurées. Dans XML, la structure logique générique est décrite dans une DTD (Document Type Definition) qui spécifie la grammaire d'une classe de documents sous la forme d'un ensemble de types d'éléments et d'attributs, et des règles qui permettent de les assembler.

Nous décrivons ci-dessous les principales définitions de types d'éléments et d'attributs de la DTD de Madeus qui a fait l'objet du rapport [Villard 98]. La DTD complète est donnée en annexe A.

[Table des matières]

3.2.1 Structure d'un document Madeus

Le format pivot de Madeus permet de décrire l'organisation logique ainsi que les organisations temporelle, spatiale et hyperlien [Layaïda 97] :

Au niveau le plus haut, un document Madeus est caractérisé par un ensemble d'attributs comme son nom et sa version. Son contenu est soit un objet de base, soit un objet composite. Ainsi, un document multimédia Madeus se spécifie de la façon suivante :

<!ELEMENT Madeus (%objects; | Composite)>
<!ATTLIST Madeus Name CDATA #REQUIRED Version CDATA #REQUIRED>

Dans les sections suivantes, nous détaillons les composants principaux de cette syntaxe en les illustrant avec des parties de l'exemple Bande-Annonce dont la structure complète est donnée en annexe B.

[Table des matières]

3.2.2 Les objets de base

Pour chaque type d'objet de base, un type d'élément avec les attributs correspondants est défini. Il existe cinq types de base actuellement supportés dans l'application Madeus :

Ainsi, l'entité %objet se spécifie de la façon suivante :

<!ENTITY % objects "(Text | Image | Video | Audio | 
                 External)">

Un objet de base est caractérisé par un ensemble de propriétés communes à tous les objets, comme par exemple le nom de l'objet, noté Name, qui doit être unique au sein du composite, et la source, noté Source, de l'objet qui sert à désigner le chemin d'accès soit localement soit à distance. La source contient une extension qui correspond à un type MIME pour identifier le format de codage de l'objet. Ces propriétés incluent aussi les propriétés spécifiques à l'objet, comme la fonte (Font) lorsque l'objet est de type Text, ou encore le volume sonore (Volume) pour un objet de type Audio. Ces propriétés sont spécifiées grâce aux attributs XML regroupés ci-dessous sous forme d'entités XML. Ils sont décrits en section 3.2.4.

<!ENTITY % global_properties
             "Name       CDATA #REQUIRED
              Source     CDATA #IMPLIED
              Value      CDATA #IMPLIED
              BackGround CDATA #IMPLIED
              Duration   CDATA #IMPLIED">

<!ENTITY % position_properties
             "Left CDATA #IMPLIED
              Top  CDATA #IMPLIED">

<!ENTITY % size_properties
             "Width  CDATA #IMPLIED
              Height CDATA #IMPLIED">

<!ENTITY % link_properties 
         "Href      CDATA #IMPLIED
          Inclusion CDATA #IMPLIED">

Par exemple, pour le type de base Image on a :

<!ENTITY % image_properties "%position_properties; %size_properties;"> <!ELEMENT Image EMPTY> <!ATTLIST Image %global_properties; %image_properties;>

La déclaration de l'objet Image dans notre exemple de document est donnée dans la Fig 7 :


    <Image Name = "Image"
            Source = "affiche.jpg"

            Duration = "10 35 100"
            Left = "20"

            Top = "40" />


Fig 7. L'objet de base Image

[Table des matières]

3.2.3 Les objets composites

Un composite est caractérisé par un ensemble de propriétés (nom, position, etc.).

Le contenu inclut les propriétés par défaut pour tous les descendants du composite. Comme un composite peut contenir tout type d'objet, il peut définir une valeur par défaut sur l'union de toutes les propriétés des objets.

Ensuite, les fils du composite sont spécifiés : ce sont soit des objets de base, soit des composites. Enfin, les relations entre les objets déclarés dans le composite sont spécifiées (voir la section 3.2.5).

Ainsi, un objet composite se spécifie de la façon suivante :

<!ELEMENT Composite (Default? , (%objects; | Composite)+, Relations?)>

<!ATTLIST Composite %global_properties; %position_properties;>

<!ELEMENT Default EMPTY>

<!ATTLIST Default %all_properties;>

Par exemple, la Fig 8 montre la spécification de l'objet composite Histoire. Il se compose de trois objets (Audio, Image et Text) avec des relations temporelles exprimant le scénario de la Fig 6 : les trois objets commencent et finissent en même temps. De même, la partie marquée <Spatial> définit les relations spatiales entre l'image et le texte. Les deux objets doivent être alignés par la haut et le texte est à une distance de 10 points à droite de l'image.


    <Composite  Name       = "Histoire"
                FontFamily = "times"
                FontSize   = "14"
                FontStyle  = "bold" > 
        <Audio  Name     = "Audio" 
                Source   = "histoire.au" 
                Duration = "30 35 40" /> 
        <Image  Name     = "Image" 
                Source   = "affiche.jpg" 
                Duration = "10 35 100"
                Left     = "20"
                Top      = "40" /> 
        <Text  Name       = "Text" 
               Source     = "histoire.html"  
               FontSize   = "16" 
               Width      = "100" />
        <Relations> 
           <Temporal> 
               <Equals  Interval1 = "Audio" 
                        Interval2 = "Image" /> 
               <Equals  Interval1 = "Image" 
                        Interval2 = "Text" /> 
           </Temporal>
           <Spatial>
               <Top_align Interval1 = "Image"
                          Interval2 = "Text" />
               <Right_spacing Interval1 = "Image"
                              Interval2 = "Text"
                              distance  = "10" />
           </Spatial> 
        </Relations> 
    </Composite>

Fig 8. Format pivot de l'objet composite Histoire

[Table des matières]

3.2.4 Les attributs

Chaque objet, de base ou composite, possède un ensemble d'attributs qui définissent ses comportements (temporel, spatial et hyperlien). Avant de les décrire, nous présentons les caractéristiques générales attachées aux attributs.

Caractéristiques des attributs

Trois caractéristiques peuvent être identifiées pour les attributs définis dans Madeus :

Les attributs temporels

Pour chaque objet de base ou composite, il existe trois attributs temporels à partir desquels le scénario temporel est construit :

Les attributs spatiaux

Pour chaque objet visible de base ou composite, il existe quatre attributs spatiaux à partir desquels le placement spatial est effectué :

Les liens hypermédia

Dans un document Madeus, nous pouvons spécifier trois types fondamentaux de liens hypermédia en utilisant les deux attributs Href et Inclusion :

[Table des matières]

3.2.5 Les relations

Nous avons défini deux types de relations, temporel et spatial, qui spécifient respectivement la dimension temporelle et la dimension spatiale d'un document multimédia :

<!ELEMENT Relations ((Temporal, Spatial?) | 
                  (Temporal?, Spatial))>

Un objet composite peut avoir soit un ensemble de relations temporelles suivi, de façon facultative, par un ensemble de relations spatiales, soit uniquement un ensemble de relations spatiales. Dans la suite, nous présentons ces relations en donnant des exemples de leur spécification.

Les relations temporelles

Nous pouvons distinguer deux types de relations temporelles de base :

Les relations spatiales

Madeus permet non seulement la spécification absolue de placement au moyen des attributs spatiaux Top et Left, mais aussi le placement relatif des objets l'un par rapport à l'autre au moyen d'un ensemble de relations spatiales (voir section 2.2.2). Les relations spatiales entre l'objet Image et l'objet Text sont spécifiées comme suit :

<Top_align Interval1 = "Image"
           Interval2 = "Text" /> 
<Right_spacing Interval1 = "Image"
               Interval2 = "Text"
               distance  = "10" />

Image Relation_Spatial.gif

L'interprétation de ces relations est réalisée par le gestionnaire de contraintes spatiales, décrit en section 4.4, qui calcule les positions pour tous les objets en fonction des relations spatiales spécifiées. Les relations spatiales sont prioritaires par rapport aux positions absolues définies par les attributs Top et Left.

[Table des matières]

3.3 Format interne d'un document Madeus

Dans Madeus, la structure temporelle d'un document est maintenue à deux niveaux :

L'approche adoptée dans Madeus repose donc principalement sur une mise en correspondance entre une représentation de haut niveau à base d'intervalles et une gestion interne de plus bas niveau fondée sur les instants. L'objectif est de ramener la représentation temporelle à base d'intervalles à une représentation temporelle à base d'instants qui permet des traitements efficaces de la synchronisation.

Dans cette section, nous présentons les deux structures (arbre abstrait et hypergraphe), en détaillant plus particulièrement la structure d'hypergraphe et la fonction de chaque composant de cette structure, puisque c'est à partir de cette structure que nous avons construit notre système de présentation.

[Table des matières]

3.3.1 Arbre abstrait d'un document Madeus

L'arbre abstrait est une interprétation directe du format pivot. Ainsi, l'arbre abstrait est défini par un ensemble d'objets média de base ou composites où :

Image Arbre_Abstrait.gif

Fig 9. Arbre abstrait de l'exemple

[Table des matières]

3.3.2 Hypergraphe de contraintes temporelles

À partir de l'arbre abstrait et des relations à base d'intervalles, nous définissons, pour chaque objet composite d'un document, un graphe de contraintes G = (I, A, E) à base d'instants, de la façon suivante :

Deux instants abstraits de début et de fin sont attachés aux objets composites du document, afin de délimiter leur contenu dans le temps. Ceci permet de définir pour chaque objet composite c un sous-graphe de contraintes Gc = (Ic, Ac, Ec) qui est construit de la même façon que celui du document lui-même. Ainsi, nous pouvons ramener le traitement temporel pour tout un document à celui d'un seul niveau de la hiérarchie logique. Le graphe obtenu est orienté et acyclique (Directed Acyclic Graph : DAG) (voir la condition de cohérence qualitative présentée dans la section 4.3.1). À chaque niveau de la hiérarchie logique, le graphe de contraintes correspondant possède un seul sommet début (l'instant début de l'objet englobant) et un seul sommet fin (l'instant de fin de l'objet englobant). La hiérarchie des graphes représentant un document multimédia est appelée un hypergraphe de contraintes.

Image
Film_Hypergraphe2.gif

Fig 10. L'hypergraphe de l'exemple Bande-Annonce

[Table des matières]

3.3.3 Hypergraphe de l'exemple

La Fig 10 illustre l'hypergraphe correspondant à l'exemple présenté dans la section 3.1 et dont l'arbre abstrait est représenté en Fig 9 .

Une relation temporelle est interprétée dans l'hypergraphe soit par l'ajout d'un intervalle de délai (noté par delta dans la Fig 10 ) entre sommets comme le délai delta1 entre la fin de Générique et le début de Résumé, soit par la fusion de sommets comme ceux de début et de fin des objets V1 et A1. La construction d'hypergraphe est détaillée en section 4.2.

Dans la Fig 10 , la hiérarchie est représentée par des flèches verticales entre l'arc de l'objet composite et le sous-graphe qui représente l'organisation temporelle de ses descendants.

Chaque arc est étiqueté par les bornes inférieure et supérieure de l'intervalle de durée. Dans cet hypergraphe, les intervalles de durée sont notés de trois façons différentes en fonction de spécification utilisée par l'auteur (voir section 2.2.1) :

Les durées ayant des bornes infinies seront restreintes par le gestionnaire de contraintes en appliquant les algorithmes de la vérification de la cohérence et les algorithmes du formatage temporel (voir section 4.3).

[Table des matières]

3.3.4 Chaînes temporelles

Chaînes temporelles

L'hypergraphe G étant à base d'instants, il offre de façon directe une vue supplémentaire du document sous forme d'un ensemble de chaînes temporelles. Ces chaînes sont définies de la façon suivante :


Définition : Une chaîne temporelle est une séquence d'arcs contigus Seq={a1,... , an} du graphe G telle que chaque arc aj, 2 <= j <= n-1, n'est relié qu'à un seul arc prédécesseur et à un seul arc successeur. Le résultat est un seul arc Ch=[a1, an]x qui représente une chaîne et qui est étiqueté par un intervalle ayant les caractéristiques suivantes :

On peut ainsi définir un graphe de chaînes noté GCh, obtenu à partir du graphe G en remplaçant la suite des arcs composant une chaîne Ch par l'arc Ch dans GCh. Ainsi, la Fig 11 montre l'hypergraphe de chaînes de notre exemple. Par exemple, la séquence d'objets Seq = {Générique, delta1, Résumé} (voir la Fig 10 ) constitue la chaîne Ch6 dont l'intervalle est égal à [27, +inf] (voir la Fig 11 ).

L'intérêt de cette structuration en chaînes dans Madeus est principalement lié à deux considérations. Elle permet d'améliorer les performances des opérations de mise à jour du document, car la plupart des traitements portent sur des chaînes et non pas directement sur des intervalles, en particulier, en ce qui concerne la vérification de la cohérence des relations temporelles spécifiées. Par ailleurs, les chaînes peuvent être mises à profit pour gérer l'indéterminisme pendant l'édition et pendant la présentation puisqu'elles constituent les branches parallèles du scénario (voir la section IV.4.4).


Image Film_Chaine.gif

Fig 11. Hypergraphe de chaînes de l'exemple

[Table des matières]

4 Système d'édition

Le système d'édition offre un ensemble de fonctions permettant de construire ou de modifier de façon interactive un document multimédia. Il permet aussi le chargement en mémoire d'un document ainsi que son stockage sur disque en fin de session d'édition. Dans cette section, nous présentons brièvement le système d'édition de Madeus qui est plus précisément détaillé dans la thèse de Nabil Layaïda [Layaïda 97].

[Table des matières]

4.1 Fonctions d'édition dans Madeus

Nous pouvons considérer que le processus d'édition d'un document est une combinaison des quatre fonctions suivantes :

[Table des matières]

4.2 Gestionnaire d'édition

Le gestionnaire d'édition s'occupe de l'interprétation du format pivot des documents multimédia et de la génération de l'hypergraphe de contraintes (format interne) correspondant, autrement dit, il traduit les relations à base d'intervalle en relations à base d'instants. Il se charge également de faire la transformation dans le sens inverse, c'est-à-dire il traduit le format interne en format pivot afin de le sauvegarder sur le disque.

Le gestionnaire d'édition reçoit les commandes à effectuer via l'interface utilisateur. Il réalise les fonctions d'édition en manipulant l'hypergraphe de contraintes comme suit :

Image Ajout_Relation.gif

Fig 12. Ajout de relations

Image
Retrait_Relation.gif

Fig 13. Suppression d'une relation

[Table des matières]

4.3 Gestionnaire de contraintes temporelles

Notre approche pour gérer la structure temporelle d'un document est fondée sur les contraintes et leur propagation lors de l'ajout, de la suppression et de la modification de contraintes. L'avantage principal de cette approche est qu'elle permet à l'auteur de spécifier facilement et de façon naturelle un scénario temporel. Par contre, son désavantage est la possibilité d'introduire une incohérence lors de l'ajout d'une nouvelle relation temporelle. Il est donc nécessaire de vérifier la cohérence du document après l'ajout de chaque relation. Il a été prouvé que les algorithmes de vérification de cohérence des relations à base d'intervalles ont une complexité polynômiale [Vilain 86] induisant des délais de traitement trop longs pour un environnement interactif.

C'est pourquoi nous avons tiré parti du format interne à base d'instants des documents Madeus pour mettre en oeuvre des algorithmes de vérification de cohérence avec une complexité linéaire [Layaïda 97]. Ces algorithmes, sont des adaptations des travaux de [Chleq 95]. La description ci-dessous en constitue une synthèse.

[Table des matières]

4.3.1 Vérification de la cohérence temporelle

Dans la suite de cette section, nous présentons brièvement les solutions mises en oeuvre dans Madeus pour la vérification des trois types de cohérence suivants :

Cohérence qualitative

La première phase de vérification qui est réalisée lors de l'insertion d'une relation temporelle est celle qui correspond au cas de la Fig 14 . Dans cet exemple, la traduction de la relation d'intervalle en relations d'instants sur la structure du graphe a pour effet l'introduction d'un cycle. Ce cycle est formé par les intervalles A, B et l'intervalle correspondant au délai t de la relation C overlaps(t) A.

Image
Qualit_Inconsist.gif

Fig 14. Exemple d'incohérence qualitative

Pour chaque relation d'intervalle introduite dans le document, la vérification de la cohérence qualitative consiste donc à vérifier que l'insertion de délais ainsi que la fusion des sommets qu'elle entraîne sur le graphe, n'introduisent pas de cycles.

Cohérence quantitative

La deuxième phase de vérification lors de l'insertion d'une relation temporelle est celle qui correspond au cas de la Fig 15 . Dans cet exemple, les objets A, B et C ont respectivement des durées égales à 30, 20 et 20 secondes. L'ajout de la relation C overlaps B est qualitativement cohérente mais elle est quantitativement incohérente parce que la durée de l'objet C ne permet pas la réalisation de la relation ajoutée.

L'ajout d'une relation cause l'insertion de nouvelles chaînes et/ou la modification de chaînes existantes. C'est cette liste de chaînes insérées et modifiées qui est passée à l'algorithme de vérification quantitative présenté dans [Layaïda 97]. L'algorithme que nous utilisons dans Madeus est fondé sur une version incrémentale [Chleq 95] de l'algorithme DPC (Directional Path Consistency) [Meiri 92].

Image
Quant_Inconsist.gif

Fig 15. Exemple d'incohérence quantitative

La mise en oeuvre de l'algorithme peut restreindre l'intervalle de durée associé aux objets média comme montré dans la Fig 16 qui représente l'hypergraphe de notre exemple après l'application de l'algorithme de la vérification de la cohérence quantitative. En effet, pour deux chaînes en parallèle, leurs bornes de durée peuvent être restreintes à l'intervalle de durée commun entre les deux chaînes, c'est-à-dire l'intersection entre les deux intervalles. Par exemple, pour les objets X [lx,ux] et Y [ly,uy], l'intervalle résultant de l'intersection est égal à [max (lx,ly), min (ux,uy)]. Prenons l'exemple de la Fig 10 et de la Fig 16 : l'intervalle équivalent aux trois objets (Audio, Image et Texte) en parallèle est égal à [30, 45], restreignant ainsi les intervalles des objets Image et Texte.

L'intervalle de durée d'un objet composite dépend de l'organisation temporelle de ses fils. L'intervalle est calculé en appliquant une version de l'algorithme du plus court chemin (all pairs shortest paths) qui permet de calculer le graphe minimal de contraintes en tenant compte de l'ordre temporel de sommets [Layaïda 97]. Un graphe de contraintes est dit minimal lorsque les valeurs des intervalles de durée sont restreintes aux seules valeurs appartenant à au moins une solution pour le scénario. Par exemple, à l'objet composite Bande-Annonce est attribué l'intervalle de durée [139, 199] calculé par l'algorithme du plus court chemin entre le sommet de début et le sommet de fin de son sous-graphe.

Image Film_Verif.gif

Fig 16. L'hypergraphe après la vérification quantitative

Cohérence indéterministe

La spécification temporelle présentée jusqu'ici traite le problème de cohérence pour les instants dont l'occurrence à l'exécution est entièrement sous le contrôle du système de présentation (les dates de présentation des différents objets média sont modélisées par des intervalles contrôlables). Le principe de vérification quantitative utilisé s'appuie sur la propagation de contraintes qui réduit la durée de ces intervalles afin de garantir l'existence d'une solution. Or pour les objets modélisés par des intervalles incontrôlables, les intervalles correspondants ne peuvent pas être modifiés car ils dépendent de facteurs externes au système de contraintes (interaction de l'utilisateur, exécution de programmes, délais variables dus aux accès réseau, etc).

Dans la section IV.4.4, nous présentons de façon détaillée les techniques utilisées pour traiter l'indéterminisme d'un scénario multimédia.

[Table des matières]

4.3.2 Formatage temporel statique

Le formatage temporel, par analogie avec le formatage spatial, consiste à affecter des valeurs aux différents intervalles du graphe. Cette opération n'est nécessaire que lorsque l'utilisateur lance la présentation du document. Le formatage temporel est appliqué à partir d'un hypergraphe minimal de contraintes (voir la Fig 16 ), puisque ce dernier contient les seules valeurs de durée susceptibles de figurer dans la solution finale.

Image
Formatage_Statique.gif

Fig 17. L'hypergraphe après le formatage temporel

Dans Madeus, l'opération de formatage temporel consiste à appliquer un algorithme qui tient compte des valeurs préférables de durée d'objets, à deux phases pour calculer deux solutions pour un document (à partir du début du graphe puis à partir de sa fin). On peut ainsi mieux répartir les contraintes qui pèsent sur les différentes chaînes et éviter que certains objets média ne subissent des déviations trop importantes par rapport à leurs valeurs préférables. Nous n'allons pas détailler l'algorithme ici, puisque il est bien décrit dans la thèse [Layaïda 97]. La Fig 17 illustre le résultat du formatage temporel sur l'hypergraphe de notre exemple. Nous pouvons voir que l'algorithme a réussi à calculer des durées pour les objets média et des dates pour les instants de début et de fin d'objets.

[Table des matières]

4.4 Gestionnaire de contraintes spatiales

Les relations spatiales sont traduites dans un système de contraintes géré par le résolveur DeltaBlue [Sannella 93]. Il maintient une solution pour le placement d'objets de façon incrémentale en fonction des actions de l'auteur : l'ajout ou le retrait de relations et le déplacement d'objets.

Pour pallier certaines limitations du résolveur DeltaBlue en ce qui concerne le maintien des contraintes cycliques, nous avons défini un module spécifique pour le traitement des relations redondantes, lesquelles introduisent des cycles dans le système de contraintes [Carcone 97].

Le gestionnaire de contraintes spatiales de Madeus est composé de trois modules : le module de traitement des relations, le module de gestion des relations redondantes et le module de maintien de solution DeltaBlue (Fig 18 ).

Image
Gestion_spatial.gif

Fig 18. Le gestionnaire de contraintes spatiales

Une des limitations de ce gestionnaire spatial est qu'il ne prend pas en compte les relations sur les dimensions des objets, qui peuvent introduire des cycles en présence d'autres relations. C'est le cas par exemple d'une relation portant sur la largeur de deux objets avec une relation portant sur le bord droit de ces mêmes objets. Par contre, son avantage réside dans sa simplicité pour la spécification des relations spatiales et dans la rapidité de calcul d'une solution pour le placement des objets, ce qui procure un meilleur suivi visuel des déplacements.

[Table des matières]

5 Système de présentation

Le système de présentation offre un ensemble de fonctions permettant de jouer le document multimédia à partir d'un hypergraphe cohérent et formaté. Dans le reste de cette thèse, nous nous concentrons sur l'explication du fonctionnement des composants du système de présentation Madeus. Dans cette section, nous présentons brièvement les fonctions de présentation qui seront détaillées dans les chapitres qui suivent.

[Table des matières]

5.1 Fonctions de présentation dans Madeus

Dans Madeus, le processus de présentation d'un document réalise les fonctions que nous avons identifiées dans le chapitre II, c'est-à-dire :

[Table des matières]

5.2 Architecture de système de présentation

Les différents modules qui réalisent les fonctions de présentation définies ci-dessus sont organisés comme décrit dans la figure Fig 19 . Cela correspond à la décomposition suivante des boîtes « Machine d'exécution multimédia » et « Gestionnaire de présentation » de la Fig 3 :

Image Sys_Pres_Arch.gif

Fig 19. Architecture détaillée du système de présentation Madeus

[Table des matières]

6 Conclusion

Dans ce chapitre, nous avons présenté le système d'édition et de présentation de documents multimédia Madeus. En particulier, nous avons présenté l'architecture générale de Madeus. Ensuite, nous avons détaillé le format pivot de document Madeus qui nous permet l'expression de l'organisation logique, spatiale, temporelle et hypermédia. Étant défini en XML, le format pivot offre un mode déclaratif de spécification des contraintes qui supprime tout besoin de programmation.

Nous avons présenté également le format interne d'un document Madeus qui est une interprétation directe du format pivot sous forme d'un graphe hiérarchique acyclique (hypergraphe). Il représente le lien entre le système d'édition et le système de présentation car les deux systèmes utilisent ce format pour effectuer leurs fonctions.

Nous avons présenté le système d'édition et les fonctions de chacun de ses composants. En particulier, nous avons vu que le format interne facilite la réalisation de l'édition incrémentale car il permet de vérifier la cohérence des contraintes après chaque modification élémentaire du document avec une complexité linéaire.

Nous avons enfin donné brièvement une idée du système de présentation, de ses fonctions et de son architecture. Le système de présentation fera l'objet des chapitres suivants dans lesquels nous allons montrer le rôle important qui joue le format interne décrit dans ce chapitre. En effet, par la vue globale du document qu'il offre, l'hypergraphe aide à effectuer les fonctions de synchronisation entre tous les objets faisant partie du document. Cette vue globale va également servir à compenser la désynchronisation due aux objets incontrôlables.