previous up next contents
Précédent : Conception et analyse Remonter : Contrôle de transmission Suivant : Codage multirésolution de

Applications multimedia sur l'Internet

  Participants : Jean-Chrysostome Bolot, Walid Dabbous, Frank Lyonnet, Christian Huitema, Thierry Turletti, Andrés Vega García

Nous avons développé des applications multimedia à bas débit sur le réseau Internet qui utilisent le protocole de transport UDP (User Datagram Protocol) et l'extension IP multicast. L'application IVS (INRIA Videoconferencing System) permet d'effectuer des vidéo conférences avec plusieurs participants via leurs stations de travail. L'application WPhone en cours de développement permettra d'offrir un service de type audioconférence ou téléphone sur Internet. Les deux applications permettent aussi de retransmettre des séminaires et conférences via le MBONE (réseau IP multicast expérimental). Les applications de ce type nécessitant beaucoup de bande passante, les données audio/vidéo sont comprimées avant leur émission.

L'application IVS est basée sur un logiciel de codage/décodage vidéo qui suit la norme H.261 du CCITT (codec vidéo pour services audiovisuels à ). Plusieurs techniques sont employées conjointement pour augmenter la performance globale du système : une boucle de prédiction appliquée dans la dimension temporelle, une transformation en cosinus suivie d'une quantification des coefficients transformés, et d'un codage entropique (codage de Huffman).

Plusieurs formats d'encodage sont possibles : le format QCIF ( pixels), le format CIF ( pixels) et le format SCIF ( pixels). Le logiciel a été porté sur les plate-formes suivantes :

-
Sun SPARCstation w/ SunOS 4.1.x et SunOs 5.3 avec les cartes vidéo d'acquisition VideoPix, Parallax et SunVideo.
-
DECstation 5000/25 w/ ULTRIX V4.2 avec la carte vidéo VIDEOTX.
-
Silicon Graphics Indigo w/ IRIX 4.0.5 avec les cartes vidéo IndigoVideo, Galileo vidéo ou Vino vidéo.
-
HP9000/7xx w/ HP-UX 8.0x avec la carte vidéo VideoLive.
Une version pour PC w/ FreeBSD 2.0 est en cours de réalisation.

IVS inclut un mécanisme permettant d'estimer la capacité disponible dans le réseau et ce, quelque soit le nombre de participants dans la conférence. Cette estimée permet d'ajuster le débit de sortie du codeur vidéo de manière à satisfaire le maximum de participants dans la conférence

Pour cela le codeur dispose de plusieurs paramètres, à savoir :

-
le rythme de rafraîchissement d'image,
-
le quantificateur. Un quantificateur plus grossier comprimera davantage les données au dépend de la qualité de l'image,
-
le seuil de détection de mouvement. En modifiant ce seuil, on change la sensibilité de détection de mouvement et donc le nombre de pixels à encoder d'une image à l'autre,
-
la précision de la transformée en cosinus. On peut réduire le nombre de coefficients dans le domaine transformée.

Mais cette adaptation pose des problèmes délicats en raison de l'hétérogénéité inhérentes des récepteurs. D'autres techniques peuvent être utilisées pour éviter que certaines branches de l'arbre de distribution multipoint restent congestionnées.

Les résultats obtenus sur l'Internet indiquent que l'adaptation du codeur en fonction des conditions du réseau permet d'offrir une application de vidéoconférence de qualité raisonnable sans avoir à utiliser les mécanismes de contrôle d'admission et/ou de réservation de ressources qui sont généralement considérés comme nécessaires pour ce genre d'applications. Cependant nous ne pouvons pas garantir une qualité donnée à l'utilisateur. Les travaux sur ce thème ont été décrits dans la section 3.1.1.

Nous avons réalisé cette année une complète réarchitecture et réécriture du système IVS dans le but d'avoir plus de flexibilité et de modularité.

Ce nouveau logiciel reprend toute les fonctionnalités de l'ancien IVS et offre en plus:

-
Un mécanisme d'ordonnancement du traitement des différents flots de données mis en jeu dans un système multimedia tel que IVS. Ce système d'ordonnancement permet une meilleur utilisation des ressources machine (cpu, mémoire), pour l'ensemble de ces flots (audio entrante, audio sortante, vidéo entrante, vidéo sortante).
-
Une plus grande flexibilité en ce qui concerne le support de nouveaux protocoles réseau et de nouvelles méthodes de codage audio ou vidéo. Cette grande flexibilité permettra par exemple l'expérimentation de la méthode de codage basée sur les ondelettes développée au sein du projet RODEO. Elle permettra aussi le support des standards de codage audio/vidéo actuels (MPEG) et à venir. Elle permettra encore une rapide intégration de nouvelles version du protocole réseau actuellement utilisé : RTP/IP, mais aussi l'intégration de protocoles fondamentalement différents.
-
Une interface utilisateur hautement flexible réalisée grâce à l'adoption d'un modèle d'architecture de systèmes interactifs multimodales inspiré du modèle PAC Amodeus. Ce modèle s'intègre parfaitement dans l'architecture objet du nouvel IVS et correspond totalement aux critères de flexibilité/réutilisabilité qui ont inspiré la réalisation du logiciel.
-
Une très grande portabilité du code permettant un portage aisé du logiciel sur les plateformes utilisées dans l'industrie telles que Windows et Mac OS.
Cette nouvelle version d'IVS, radicalement différente de l'ancienne, nous servira de base dans notre étude de l'adaptation des applications multimédia sur les réseaux de machines hôtes mobiles.

D'autres travaux cette année ont visé à fournir des mécanismes qui permettent le contrôle de transmission pour l'application audio WPhone (ces mécanismes seront également intégrés dans le nouvel IVS). Nous avons développé un mécanisme de contrôle de débit (similaire à celui développé pour IVS) qui adapte le débit du codeur audio à la capacité disponible dans le réseau. Le contrôle de débit est malheureusement plus difficile à réaliser pour un codeur audio que pour un codeur video. La solution retenue a été de fournir un ensemble de codeurs audio, et de choisir à un instant donné le codeur approprié (c'est à dire le codeur qui génère la meilleure qualité de voix possible pour une bande passante maximum donnée) en fonction de la capacité (i.e. de la bande passante) disponible dans le réseau à cet instant. Les codeurs disponibles actuellement sont des codeurs PCM (64 kb/s), ADPCM (16, 32, et 48 kb/s), et LPC (5 kb/s).

La transmission de la voix sur Internet pose d'autres problèmes spécifiques. En particulier, les paquets de voix sont très sensibles aux pertes (qui engendrent des blancs dans la parole) ainsi qu'aux délais (qui diminuent l'interactivité) mais aussi à la variation des délais (appellée gigue, et qui engendre une parole hachée). Nous avons donc développé des mécanismes qui permettent de compenser les effets néfastes de ces problèmes. En ce qui concerne les pertes, nous avons développé des mécanismes de reconstruction de la voix basés sur des techniques de correction d'erreur par anticipation (ces travaux ont été décrits dans la section 3.1.1). En ce qui concerne les délais, nous avons développé un mécanisme de compensation de gigue qui permet en quelque sorte d'absorber à la destination les variations de délai des paquets de voix.


previous up next contents
Précédent : Conception et analyse Remonter : Contrôle de transmission Suivant : Codage multirésolution de