Le projet Opéra étudie les problèmes liés à la conception d'un environnement éditorial permettant l'édition, la maintenance et le traitement de documents structurés et multimédia. Mon travail de thèse a concerné la conception et la réalisation d'un système de présentation multimédia qui se charge de la restitution d'une présentation synchronisée à l'utilisateur. La particularité du système visé consiste à offrir à un éditeur de haut niveau, appelé Madeus, des fonctions d'accès aux données, d'exécution, de synchronisation et de restitution du contenu multimédia dans un cadre réparti.
Dans le chapitre de ce mémoire, nous avons montré qu'une présentation multimédia est une opération complexe qui fait intervenir des traitements très variés (accès réseau, décompression, synchronisation, etc). Ces traitements doivent respecter un ensemble de contraintes qui sont décrites dans le document multimédia (scénario temporel) ou imposés par l'environnement d'utilisation (réseau, système d'exploitation, interaction utilisateur). Parmi les contraintes liées au document, la restitution des objets média et leur synchronisation au sein du scénario impose des contraintes temps réel. Ces contraintes traduisent les conditions de bonne restitution du contenu sémantique à l'utilisateur. À ces contraintes s'ajoutent celles liées aux ressources du système d'exploitation, des possibilités de la machine et des caractéristiques des réseaux (débit, latences) qui peuvent affecter de façon significative la qualité de la présentation.
De plus, par l'étude des standards et des systèmes multimédia existants, nous avons montré que le support du déroulement de la présentation au sein d'une application multimédia est le plus souvent fondé sur une approche impérative (scripts, événements). Cette approche repose sur l'adjonction de structures de contrôle au document et comporte des inconvénients majeurs comme la faible portabilité des documents, la difficulté de leur maintenance ainsi que leur faible durée de vie. Cependant, les évolutions dans ce domaine sont très rapides et concernent à la fois les protocoles d'accès au réseau ainsi et que le support de l'exécution (nouvelles techniques de synchronisation, nouveaux langages, gestion des pertes, nouveaux formats, etc.). L'approche déclarative permet, au contraire, d'obtenir une structure temporelle de plus haut niveau. La structure de contrôle peut alors être dérivée à partir de la structure temporelle et surtout, les traitements génériques comme la synchronisation fine, peuvent être regroupés au sein du support de présentation.
Dans ce contexte, notre objectif était d'offrir un système de présentation qui fournit un support générique, performant et extensible pour les présentations multimédia et qui pouvait constituer une alternative intéressante aux solutions actuelles. Un tel système doit d'abord tirer profit de l'information contenue dans le scénario (prédiction du futur, prise en compte des contraintes de synchronisation imposées par l'auteur). Ensuite, il doit permettre la restitution du document en tenant compte de l'interaction utilisateur et des ressources disponibles au sein de l'environnement de présentation. La présentation peut ainsi s'adapter de façon plus transparente et conforme aux souhaits de l'auteur tout en offrant au lecteur un schéma d'exécution couvrant tous ses besoins en termes de synchronisation et d'interaction. Au delà de l'expérimentation spécifique menée pour les formats SMIL et Madeus, notre préoccupation était d'obtenir un système de présentation pouvant supporter les formats et les extensions futurs.
Dans cette perspective, nous avons étudié dans le chapitre les caractéristiques des systèmes de présentation multimédia en général et analysé la manière avec laquelle elles sont prises en compte au sein des systèmes existants. À partir de ces caractéristiques, nous avons défini les fonctions de base qui doivent être fournies dans de tels systèmes. Ensuite, nous avons étudié comment ces fonctions sont définies dans les standards comme HyTime, SMIL, MHEG et PREMO.
Notre contribution commence dans le chapitre par une présentation du système d'édition Madeus qui représente le contexte de notre travail. En particulier, nous avons décrit son principe de fonctionnement, le modèle de document utilisé ainsi que l'architecture globale de cette application. Ensuite, nous avons abordé la représentation des documents dans Madeus à travers son format pivot ainsi que la représentation interne de ces documents en termes de structures de données. Nous présentons aussi les opérations d'édition et les traitements induits sur ces structures. Nous situons notre apport au sein du système Madeus à travers la description des fonctions fournies et de la nouvelle architecture proposée. Plus précisément, nous avons mis au point un format interne pour les documents multimédia qui maintient toutes les informations sur les différentes dimensions des documents (logique, spatiale, temporelle et hypermédia). À partir de ce format, nous avons conçu et développé un système de présentation qui permet la restitution effective d'un document multimédia interactif à l'utilisateur. Ce système de présentation est composé de deux modules : la machine d'exécution et le gestionnaire de présentation des documents multimédia.
Nous avons ainsi élaboré un schéma d'exécution permettant de définir et d'organiser les différents traitements qui interviennent dans une présentation multimédia au sein d'un ensemble de modules. Ces modules et leurs interactions définissent l'architecture de la machine d'exécution proposée et décrite dans le chapitre . Au coeur de cette architecture, nous avons conçu un ordonnanceur de présentation fondé sur une approche prédictive-réactive de la synchronisation. L'aspect prédictif regroupe tous les traitements qui nécessitent, à un instant donné de la présentation, une connaissance du futur de la présentation en cours. Cette connaissance est obtenue à partir du format interne du document : l'hypergraphe. L'aspect réactif correspond à la synchronisation inter- et intra-objets qui est fondée sur les événements et les traitements liés à leurs réactions. L'ordonnanceur que nous avons conçu fournit trois fonctions originales :
La partie la plus critique dans la réalisation de la machine d'exécution a été la synchronisation fine. Afin de démontrer l'efficacité des méthodes développées, nous avons établi une série de mesures qui indiquent une nette amélioration de la gigue. Parmi les méthodes proposées et évaluées, nous avons considéré les techniques de préchargement ainsi que le filtrage de la vidéo, du côté du client, par des sauts d'images. La seconde partie de la machine d'exécution est un modèle objet qui permet de représenter de façon homogène des objets média hétérogènes. Ce modèle est décrit au moyen d'une hiérarchie de classes d'objets qui permet de déterminer les caractéristiques et les actions de présentation associées à chaque type d'objets.
Notre troisième contribution est la conception d'un gestionnaire de présentation orienté objet et extensible qui est décrit dans le chapitre . Ce gestionnaire prend en charge les fonctions de présentation au niveau du système d'exploitation, du système de communication et des périphériques de la machine comme l'écran et le haut-parleur. Il est organisé autour de trois modules : le gestionnaire d'accès, le gestionnaire d'exécution et le gestionnaire de périphériques. Pour la conception du gestionnaire d'accès, nous avons adopté les protocoles HTTP et RTSP parce qu'ils couvrent les besoins d'accès aux objets média qu'ils soient discrets ou continus. Le gestionnaire d'exécution permet la mise en oeuvre du modèle objet au sein du système UNIX. Ce gestionnaire est extensible dans la mesure où l'ajout de nouveaux types d'objets média ne nécessite pas la recompilation de l'application. Enfin, le gestionnaire de périphériques permet la restitution du contenu sur l'écran graphique et sur les haut-parleurs.
Comme tout travail dans le domaine du système et des réseaux, la pertinence des solutions proposées s'apprécie à travers les expérimentations et les mesures qui en découlent. C'est ce que nous avons cherché à faire par le développement du système de présentation de Madeus.
Le premier bilan que nous pouvons apporter à ce travail est que le choix du modèle de données, une structure à base d'hypergraphe, s'avère fondamental pour les différents services que nous avons proposés et expérimentés dans la machine d'exécution multimédia : ordonnancement, navigation et compensation de l'indéterminisme.
Le prototype réalisé est construit selon une architecture en modules et comporte une grande partie de l'infrastructure nécessaire à ce type d'application. Cette architecture a été définie de manière à faciliter l'expérimentation d'un schéma d'exécution, ainsi que de la synchronisation système de bas niveau et des accès distants. Le prototype fonctionne de manière satisfaisante, avec des performances très acceptables. Il permet déjà de présenter, de synchroniser et de supporter la navigation des documents d'une certaine complexité. Ainsi, nous avons pu mesurer l'effet de notre algorithme de compensation de l'indéterminisme sur des documents tests pour lesquels l'indéterminisme introduit par des interactions utilisateur a été compensé par des ajournements de dates de démarrage des objets futurs du scénario. Cependant, il est difficile de chiffrer globalement les réductions de perturbation ainsi obtenues car elles dépendent fortement de la structure du scénario. Par contre, nous avons pu chiffrer les gains obtenus par nos algorithmes de synchronisation fine sur les effets de gigue et de dérive : ainsi par exemple, grâce à la technique de saut de trames sur des vidéo Mpeg, le taux de gigue reste inférieur à 10 msec dans 23% des cas pour une charge du processeur de 4 (et dans 83% des cas pour une charge de 3), alors qu'il était systématiquement nul pour ces mêmes charges de processeur avec une présentation sans saut de trames.
Cependant, toutes les fonctions ne sont pas supportées et les opérations de filtrage de données du côté du serveur ne sont pas complètement explorées et expérimentées. Le formatage temporel dynamique permettant la prise en compte de l'indéterminisme et la restitution graphique peut être amélioré. La version actuelle de l'application, Madeus version 1.0, a été réalisée pour les systèmes d'exploitation solaris 2.5 et Linux et programmée en langage C. Une partie non négligeable du travail de développement a consisté à implanter en langage C les mécanismes orientés objet proposés dans le gestionnaire de présentation. L'utilisation d'un langage comme Java devrait faciliter ce type de développement.
Cette thèse constitue une base de travail à partir de laquelle de nouvelles activités de recherche peuvent être lancées. Les perspectives que nous proposons ont pour objet principal d'améliorer la qualité des environnements de présentation multimédia que ce soit sur le plan de la portabilité, des performances ou de l'adaptabilité. Ainsi, les travaux qui restent à accomplir peuvent s'orienter sur les grandes directions suivantes :
Les agents peuvent aussi être employés pour déployer des politiques de filtrage des données du côté des serveurs. Cela permettra d'étendre le protocole RTSP aux besoins de l'application cliente et ainsi répondre à un plus grand nombre d'applications multimédia. La gestion de la synchronisation peut aussi être reconsidérée en déployant l'opération de supervision et de gestion de l'indéterminisme du côté des serveurs.
Une voie possible serait de considérer ce qui se fait dans le domaine du temps réel, où les techniques adoptées pour traiter l'indéterminisme sont fondées sur la modèlisation des scénarios au moyen d'automates temporisés. Le principe consiste à représenter de façon exhaustive, via les états de l'automate, l'évolution d'un scénario suite aux différents événements d'une présentation (les transitions) [Courtiat 96] et de définir des stratégies qui permettent d'assurer dynamiquement le respect des contraintes temporelles suite aux différents événements indéterministes. Pour pouvoir appliquer ce type de technique au domaine de la présentation des documents multimédia, il sera nécessaire de trouver des solutions au problème de l'explosion combinatoire induit par cette approche. Les possibilités de structuration des documents multimédia ainsi que l'analyse fine de la structure de graphe temporel devraient apporter des premiers éléments de solution.