FLASH INFORMATIQUE FI



Véritable vidéo à la demande : patching (vvpd)




Andrés REVUELTA


Ce projet de recherche explore un ensemble de techniques, basées sur le patching vidéo, destinées à réduire le débit nécessaire à la fourniture d’un service de diffusion de vidéo à la demande (Video On Demand - VoD) et la charge des serveurs vidéo de Vod.

Contexte général de la recherche

La VoD est une technologie exigeante pour beaucoup d’applications multimédias. Les applications de ce type mettent à disposition du public, sur un serveur, un grand nombre de vidéos. Les clients peuvent visionner, par exemple sur leur ordinateur personnel, à n’importe quel moment, n’importe quelle vidéo parmi celles qui sont proposées.
De nombreuses applications multimédias sont concernées par la VoD : loisirs, bibliothèques vidéo, enseignement à distance, commerce électronique, etc. Notre intérêt s’est particulièrement porté sur l’utilisation de fichiers vidéo au sein d’un groupe/classe, dans le contexte d’un cours de formation.
Une véritable VoD engendre un flux de données par requête de client, donc de type unicast. Dans cette situation, le serveur vidéo devra être capable de répondre à un nombre important de requêtes simultanées et la bande passante consommée sera relativement élevée. Les performances du système seront limitées par les congestions engendrées au sein du réseau de transmission.
L’utilisation d’une transmission de type multicast, est bien adaptée à la diffusion de données, surtout si l’on tient compte de l’effet lié à la popularité des vidéos (loi Zipf) qui favorise les multiples requêtes d’un même film vidéo. L’utilisation de la transmission multicast pourrait réduire considérablement les coûts engendrés par les exigences techniques de ce type d’applications. Mais faute d’une exploitation particulière des diffusions en mode multicast, le problème posé est le même qu’en mode unicast, à savoir l’arrivée continuelle de nouvelles requêtes ; celles-ci peuvent mener à la constitution d’un nombre de flux aussi élevé qu’en mode unicast.
Les diverses solutions classiquement proposées en mode multicast consistent à accumuler les demandes d’utilisateurs pour un service pendant un certain temps (batching time interval) avant de le fournir. On espère ainsi servir un maximum de clients avec un seul flux envoyé simultanément à tout un groupe d’utilisateurs.
Malgré l’avantage indéniable engendré par cette approche en termes de bande passante, le dilemme suivant se pose :

  • les premiers utilisateurs demandeurs du service, s’impatientant, peuvent y renoncer ;
  • plus le temps d’attente est court, moins le bénéfice du partage de flux est important.

Pour être efficace, la technique utilisée devra minimiser le temps d’attente du client et maximiser le nombre de clients qui partagent un même flux vidéo.
Dans notre solution, l’utilisation de la diffusion d’un flux vidéo en mode multicast doit permettre une économie de la bande passante employée par les flux en provenance du serveur de VoD. L’utilisateur adoptera une liaison de type unicast pour obtenir du serveur la partie manquante de la vidéo en cours de diffusion. La diffusion immédiate du début de la vidéo exige la mémorisation simultanée du flux courant multicast.
La figure 1 montre l’exemple de deux requêtes successives. La requête du 1er client déclenche le flux multicast. Le 2ème client utilisera le processus de patching.

JPEG - 7.1 ko
fig. 1
Patching vidéo préconisé

Se dégagent ainsi trois étapes essentielles au processus d’abonnement à la lecture d’un flux vidéo en cours de transmission.

  1. Les clients arrivant avec du retard (2ème client de la fig. 1) s’abonnent au flux multicast en cours et l’enregistrent localement, dans une mémoire tampon circulaire (mémoire volatile ou disque dur).
  2. En parallèle, ils demandent aussi au serveur de leur fournir un flux unicast qui correspond à la partie vidéo qu’ils ont manquée (délai entre le début de la diffusion multicast et la demande effective de diffusion de la vidéo par le client). C’est le flux de patching.
  3. Enfin, ces mêmes clients retardataires jouent tout de suite le flux unicast (patching) et enchaînent avec le flux contenu dans le tampon circulaire (à l’origine diffusé en mode multicast).

Le procédé garantit l’envoi de l’intégralité de la vidéo. L’utilisation du flux multicast est rendue possible par la fourniture de petits flux unicast de patching qui viennent le compléter.

JPEG - 15.1 ko
fig. 2
Contexte réseau

Le système réalisé dans le cadre de ce projet de recherche correspond parfaitement à la description ci-dessus, c’est-à-dire la VoD avec la technique du patching vidéo (patching VoD).

État de l’art

Le domaine du patching a fait l’objet ces cinq dernières années de nombreuses publications (voir bibliographie). Celles-ci portent essentiellement sur la modélisation et la simulation. A notre connaissance, il n’existait pas de mise en application de ce type de modèle dans le domaine de la VoD avant la réalisation de notre plate-forme.

Objectifs annoncés - résultats obtenus

Tout d’abord, nos simulations ont mis en évidence l’apport à l’approche d’une véritable VoD sur un réseau de transmission multicast, non seulement de la technique du patching, mais aussi de la technique du batching. Ainsi, avec le patching, nos simulations laissaient envisager un gain d’environ de moitié en débit pour de grandes valeurs de clients.

JPEG - 13.5 ko
fig. 3
Tendance du débit maximal en fonction des connexions (patching simulé)

Le batching est une bonne solution pour diminuer encore le débit maximum requis. Par exemple, les résultats des simulations prévoient que pour des vidéos (3 Mbps) transmises sur un réseau de 100 Mbps, 60 clients dépassent sa capacité en débit binaire. Alors que dans le cas d’une combinaison du patching et batching, le résultat est beaucoup plus intéressant ; on obtient un débit maximal moyen de 48.6 Mbit/s.
Dans un premier temps, notre application a mis en oeuvre la méthode du patching, à l’aide d’un serveur de streaming VLC (du domaine Open Source) et d’un client utilisant une application sous Windows de type DirectX (DirectShow).
La plate-forme composée des différents logiciels développés a non seulement pu être déployée et mise en service dans un contexte d’établissement (salles de cours EIG), mais des essais ont aussi été effectués dans le cadre d’un réseau de télécommunications de terrain FTTH (Fiber to the home).

JPEG - 19.1 ko
fig. 4
Avantages du multicast utilisé par le patching

Les premiers tests pratiques ont démontré que l’utilisation du flux multicast évite l’accumulation des flux et limite l’encombrement du réseau. Le choix de la vidéo est fait en fonction de leur popularité (loi Zipf).
L’efficacité de la technique du patching seule a ainsi pu être démontrée. L’encombrement réseau est divisé environ par deux.
Si nous employons en sus la technique du batching, une diminution supplémentaire importante du débit maximum nécessaire à la transmission est obtenue.

JPEG - 47.9 ko
fig. 5
Tests avec patching et batching

La figure ci-dessus fait état de l’historique des requêtes effectuées pendant ce test. Seuls trois clips vidéo sont proposés aux clients, de 1 à 3 (voir couleurs sur le graphique). Chaque requête d’un client est figurée par l’apparition d’une barre de la couleur correspondant au clip choisi, ayant une hauteur d’une unité. Les requêtes engendrent soit un flux multicast (violet), soit un flux de patching représenté par une barre horizontale de couleur variable. Lorsque la requête arrive à l’intérieur du délai réservé au batching, le dernier flux multicast demandé sera utilisé pour la satisfaire.
Le diagramme ci-dessous montre les charges cumulées sur le réseau des flux unicast et multicast, en fonction du temps.
Ces tests corroborent les résultats obtenus à l’aide des simulations effectuées dont on reprend les paramètres. Le gain d’encombrement résultant correspond bien à plus de 50 % de l’encombrement nécessaire à un écoulement des flux en mode unicast.

GIF - 17.2 ko
fig. 6
Charge du réseau

Délivrables

Pour notre application de patching vidéo (client), nous avons donc choisi d’utiliser le format d’images animées MPEG-2 transporté à l’aide du protocole RTP, sous la forme de flux de transport TS. Le client utilise l’API développée par Microsoft DirectX (DirectShow) qui est basée sur la programmation-objet et se compose de modules représentant les différents composants de l’application.

JPEG - 15.9 ko
fig. 7
Contexte d’utilisation de la plate-forme de patching VoD

Le serveur se compose de trois parties distinctes :

  • le serveur web qui fait l’interface entre le client et le serveur de patching.
  • le serveur (multimédia) de patching qui gère la diffusion des flux vidéo.
  • le serveur (multimédia) de streaming qui diffuse les flux vidéo.

À notre connaissance, nous fournissons le premier produit finalisé et testé de vidéo à la demande (VoD) utilisant la technique du patching vidéo. Les résultats obtenus vérifient les différentes simulations effectuées. Pour ce qui concerne la technique du patching elle-même, son efficacité est démontrée. Elle permet de diviser l’encombrement réseau par deux. Associée à la technique du batching, elle permet une diminution substantielle supplémentaire du débit maximum requis.
Un essai de déploiement grandeur nature des outils logiciels délivrés par le projet de recherche a été effectué et s’est déroulé à notre entière satisfaction. Nous avons pu ainsi tester l’adaptation de nos logiciels à leur fonctionnement dans un contexte de terrain (quartier de l’Europe à Genève avec 600 foyers en FTTH).
Un rapport scientifique est à disposition des intéressés et des publications seront préparées et proposées en 2007.
Du point de vue économique, si la VoD peine à démarrer uniquement à cause de problèmes techniques, modestement, nous comptons sur l’apport de ces nouvelles techniques pour améliorer ses performances et ainsi augmenter son attractivité.

Bibliographie

  1. Sharing multicast Videos Using patching Streams. Ying Cai, Kien A. Hua, Multimedia Tools and Applications, 2003
  2. Optimal patching Schemes for Efficient Multimedia Streaming. Subhabrata Sen , Lixin Gao , Jennifer Rexford , and Don Towsley, UMASS CMPSCI TECHNICAL REPORT 99 - 22
  3. P2Cast : P2P patching Scheme for VoD Service. Yang Guo, Kyoungwon Suh, Jim Kurose, and Don Towsley, UMASS CMPSCI Technical Report 02-34
  4. A Double patching Technique for Efficient Bandwidth Sharing in Video-on-Demand Systems. Ying Cai, Wallapak Tavanapong, Kien A. Hua, September 25, 2004
  5. patching : a multicast technique for true Video-on-demand services, Kien A. Hua, Ying Cai, Simon Sheu, School of Computer Sciences, University of Central Florida.

Partenaires de projet :

Alain Costanza, Markus Jaton, Raphaël Voirol et Toufiq El Maliki.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.