Brevet FR2905221A1 — publié le 20080229

La présente invention concerne la transmission de données entre une source et au moins un destinataire connecté à un réseau et plus particulièrement un procédé et des systèmes pour optimiser le démarrage de la présentation d'un contenu multimédia reçu sous forme d'un flux de données. La transmission de contenu multimédia d'une source vers un ou plusieurs destinataires, également connue sous le nom de media streaming en anglais, connaît un développement croissant et commence à concurrencer la diffusion audiovisuelle classique. La transmission de contenu multimédia tel qu'une vidéo n'est pas comparable à la transmission d'un fichier car, contrairement à un contenu multimédia, il est généralement nécessaire de transférer la totalité d'un fichier avant de pouvoir l'utiliser. Afin d'éviter une longue attente pour l'utilisateur, l'approche utilisée pour la transmission d'une vidéo, aussi appelée video streaming, est différente. La vidéo est encodée et découpée en une succession de paquets qui sont transmis en tenant compte de l'ordre dans lequel ils sont générés. Le débit d'encodage est égal au débit de présentation. Le débit de transmission peut être supérieur ou inférieur au débit d'encodage. Le contenu multimédia est encodé à un rythme d'encodage et transmis au rythme de transmission. Il est décodé au rythme de présentation. Le rythme d'affichage est typiquement de 25 ou 30 images par secondes. Pour que la transmission en temps réel se déroule correctement les rythmes d'encodage et de transmission doivent en moyenne être supérieurs ou égaux au rythme réel, c'est-à-dire au rythme de présentation du contenu multimédia. Le débit d'encodage est lié au taux de compression des données à encoder : plus le débit d'encodage est faible, plus le taux de compression est élevé. Pour que la transmission se déroule en temps réel le récepteur décode les paquets au fur et à mesure de leur réception afin d'afficher le 2905221 2 contenu multimédia tout en continuant à recevoir les paquets suivants. En conséquence, lorsque le système est stable, les débits d'encodage, de transmission et de présentation sont sensiblement égaux. Cependant, il peut y avoir des phases transitoires pour lesquelles les débits sont différents. 5 Cette approche doit faire face à des problèmes tels que le débit limité et variable du réseau, la variation du délai de transmission ou la perte ou la corruption de données liée à l'utilisation d'un réseau sans garantie de qualité de service. Pour supporter le débit limité du réseau, le débit de transmission doit 10 être inférieur au débit disponible du réseau. Le débit d'encodage doit donc lui aussi être en moyenne inférieur ou égal au débit du réseau. Cela peut se faire par une adaptation dynamique du débit d'encodage au débit réseau disponible. Une solution couramment utilisée pour faire face aux problèmes de fiabilité dans le réseau consiste en l'utilisation d'une mémoire tampon placée 15 dans le récepteur. Le remplissage de cette mémoire tampon doit atteindre un niveau prédéterminé avant que le contenu multimédia ne soit effectivement présenté à l'utilisateur. Cette mémoire tampon ajoute un délai entre la réception effective d'un paquet et le moment où les données contenues dans ce paquet sont présentées à l'utilisateur. La mémoire tampon permet de compenser les 20 variations de délai de transmission des paquets, les pertes de données introduites par le réseau entre la source et le récepteur qui exige une demande de retransmission de données et/ou les variations brutales de débit réseau. Par nature, cette mémoire tampon introduit un délai de démarrage, aussi appelé start-up time, défini comme le temps entre le moment où l'utilisateur effectue sa 25 requête pour obtenir un contenu multimédia et le moment où le contenu multimédia lui est effectivement présenté. Ce délai, qui dégrade l'interaction du système avec l'utilisateur, permet de garantir à l'utilisateur la qualité de présentation du contenu multimédia demandé. La mémoire tampon du client se rempli (overbuffering) si le débit de transmission est supérieur au débit 30 d'encodage et elle se vide si le débit de transmission est inférieur au débit d'encodage. 2905221 3 Le brevet US 6,792,449 décrit une méthode pour réaliser un démarrage rapide dans le cadre de diffusion de contenu multimédia pré-encodé. Le client émet une requête vers un serveur qui identifie le contenu multimédia demandé et qui fournit la bande passante du lien reliant le client et 5 le serveur. Le serveur transmet alors le contenu multimédia demandé au client. Dans une première phase d'initialisation, le contenu multimédia est transmis à un débit supérieur au débit d'encodage du contenu multimédia pour remplir rapidement la mémoire tampon du client, afin d'obtenir un démarrage plus rapide de la présentation du contenu multimédia au client. Dans une seconde 10 phase, le contenu multimédia est transmis à la vitesse réelle, c'est-à-dire que le débit de transmission est équivalent au débit d'encodage du contenu multimédia. Le système utilise ainsi deux débits de transmission distincts. La demande de brevet WO 02/45372 présente une méthode pour réduire le délai de démarrage d'une application de streaming vidéo et une 15 méthode pour contrôler le débit de transmission du flux pour s'adapter à la congestion dans le réseau. Le serveur possède deux représentations de la vidéo avec deux débits d'encodage différents. Dans la phase initiale, la représentation de la vidéo avec le bas débit d'encodage est envoyée avec un débit de transmission supérieur au débit d'encodage. Le client commence à 20 présenter la vidéo sans attendre que la mémoire tampon de données ait atteint un seuil prédéterminé. Cependant, le niveau de remplissage de la mémoire tampon augmente car la vitesse de décodage de la vidéo est inférieure au taux de réception des données. Lorsqu'un premier seuil de remplissage prédéterminé est atteint, le client le communique au serveur qui envoie alors la 25 vidéo encodée avec le taux d'encodage supérieur et adapte le taux de transmission afin qu'il soit égal au taux d'encodage. La qualité de la vidéo augmente et le niveau de remplissage reste constant. Si le niveau de la mémoire tampon diminue (congestion dans le réseau) et atteint un second seuil de remplissage, le serveur transmet alors la vidéo encodée avec le taux 30 d'encodage inférieur pour réduire le débit de transmission requis. Bien que des solutions existent pour diminuer le temps de démarrage d'une présentation multimédia, le temps de démarrage est un 2905221 4 problème important de l'accès au contenu multimédia et il existe un besoin pour l'optimiser. L'invention permet de résoudre au moins un des problèmes exposés précédemment. 5 L'invention a ainsi pour objet un procédé pour transmettre un contenu multimédia sous forme de flux multimédia d'un serveur vers un client, ce procédé comprenant les étapes suivantes : . réception d'une requête dudit client pour transmettre ledit flux multimédia, cette requête comprenant au moins un paramètre lié à la qualité de 10 présentation dudit contenu multimédia ; . détermination d'au moins un premier débit d'encodage selon ledit au moins un paramètre, ledit au moins un premier débit d'encodage étant inférieur au débit de transmission du flux multimédia dudit serveur vers ledit client ; 15 . encodage d'une première partie dudit contenu multimédia selon ledit au moins un premier débit d'encodage et transmission de ladite première partie encodée dudit contenu multimédia audit client ; . détermination d'un second débit d'encodage supérieur audit au moins un premier débit ; et 20 . encodage d'une seconde partie dudit contenu multimédia selon ledit second débit d'encodage et transmission de ladite seconde partie encodée dudit contenu multimédia audit client. Le procédé selon l'invention permet d'optimiser le temps de démarrage de la présentation d'un contenu multimédia en diminuant le débit 25 d'encodage durant la phase de démarrage selon la qualité requise de présentation du contenu multimédia requise par le client. Selon un mode particulier de réalisation, le débit de transmission de la première partie du contenu multimédia au client est augmenté pour être supérieur au débit de transmission de la seconde partie du contenu multimédia 30 au client afin de réduire le temps de démarrage. 2905221 5 Toujours selon un mode particulier de réalisation, le second débit d'encodage est sensiblement égal au débit de transmission du flux multimédia du serveur vers ledit client pour optimiser le transfert du contenu multimédia. Toujours selon un mode particulier de réalisation, le premier débit 5 d'encodage est dynamiquement réévalué au cours de la transmission de la première partie du contenu multimédia pour optimiser le temps de démarrage selon la qualité de présentation requise. De façon préférentielle, la réévaluation dynamique du premier débit d'encodage peut être réalisée par un mécanisme de régulation avec boucle de rétroaction. 10 Selon un mode particulier de réalisation, le procédé selon l'invention comprend en outre une étape de transmission d'une commande de démarrage de la présentation de la première partie encodée du contenu multimédia de telle sorte que la présentation du contenu multimédia commence dès que les critères de qualité sont atteints. 15 Toujours selon un mode particulier de réalisation, les critères de qualité de la présentation du contenu multimédia sont liés à la mise en oeuvre de mécanismes de correction d'erreurs avec, en particulier, l'indication d'un temps maximum de coupure de transmission ou à la qualité visuelle de présentation du contenu multimédia. 20 Selon un autre mode particulier de réalisation, le procédé selon l'invention comprend en outre les étapes suivantes, permettant la transmission d'un contenu multimédia à plusieurs clients en mode point à multipoint, même si les clients ne transmettent pas simultanément leur requête : . détermination d'un troisième débit d'encodage différent du premier 25 débit d'encodage ; . encodage de la première partie du contenu multimédia selon le troisième débit d'encodage et transmission de la première partie du contenu multimédia encodée selon le troisième débit d'encodage à un second client différent du client, appelé premier client ; et, 30 . transmission de la seconde partie encodée du contenu multimédia aux premier et second clients. 2905221 6 Toujours selon un mode particulier de réalisation, les étapes d'encodage d'une partie du contenu multimédia consistent en des étapes de transcodage pour transmettre un contenu multimédia pré-encodé. L'invention a également pour objet un procédé pour recevoir d'un 5 serveur un contenu multimédia sous forme de flux multimédia, caractérisé en que ce procédé comprend les étapes suivantes : . émission d'une requête au serveur pour recevoir le flux multimédia, cette requête comprenant au moins un paramètre lié à la qualité de présentation du contenu multimédia ; 10 . réception d'une première partie du contenu multimédia, la première partie du contenu multimédia étant encodée avec un premier débit d'encodage ; . démarrage de la présentation de la première partie du contenu multimédia ; et, 15 . réception d'une seconde partie du contenu multimédia, la seconde partie du contenu multimédia étant encodée avec un second débit d'encodage. De façon préférentielle, le procédé comprend en outre une étape de réception d'une commande de démarrage de la présentation de la première partie dudit contenu multimédia. 20 L'invention a également pour objet un dispositif pour optimiser le temps de démarrage de présentation d'un contenu multimédia transmis sous forme de flux multimédia d'un serveur vers un client, le dispositif comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé décrit précédemment. 25 L'invention a également pour objet un programme d'ordinateur pour optimiser le temps de démarrage de présentation d'un contenu multimédia transmis sous forme de flux multimédia d'un serveur vers un client, le programme d'ordinateur comprenant des moyens adaptés à la mise en oeuvre de chacune des étapes du procédé décrit précédemment. 30 L'invention a également pour objet un serveur pour optimiser le temps de démarrage de présentation d'un contenu multimédia transmis sous forme de flux multimédia d'un serveur vers un client, le serveur comprenant des 2905221 7 moyens adaptés à la mise en oeuvre de chacune des étapes du procédé décrit précédemment. D'autres avantages, buts et caractéristiques de la présente invention ressortent de la description détaillée qui suit, faite à titre d'exemple non limitatif, 5 au regard des dessins annexés dans lesquels : - la figure 1 représente schématiquement un réseau de terminaux dans lequel la présente invention peut être mise en oeuvre ; la figure 2 illustre un dispositif adapté à l'implémentation de l'invention ; 10 - les figures 3 et 4 présentent schématiquement certaines étapes pour mettre en oeuvre l'invention afin de réduire le temps de démarrage de la présentation d'un contenu multimédia transmis par un réseau, d'un serveur à un client ; - la figure 5 montre, dans le domaine temporel, la diffusion d'un 15 contenu multimédia entre un serveur et un client permettant de réduire le temps de démarrage de la présentation d'un contenu multimédia ; - la figure 6, comprenant les figures 6a, 6b, 6c, 6d et 6e, illustre les avantages de l'invention et son influence sur le remplissage de la mémoire tampon, la qualité du contenu multimédia présenté et le débit d'encodage en 20 fonction du temps ; - la figure 7, comprenant les figures 7a et 7b, présente un exemple de l'algorithme pour mettre en oeuvre l'invention afin d'optimiser la réduction du temps de démarrage et la qualité du contenu multimédia présenté ; - la figure 8, comprenant les figures 8a, 8b et 8c, illustre un 25 dispositif permettant à un serveur de diffuser le même flux de données à plusieurs clients ; et - la figure 9 est une illustration temporelle d'un dispositif permettant à un serveur de diffuser le même flux de données à plusieurs clients. Selon l'invention, la mémoire tampon utilisée par le client pour 30 recevoir le flux du contenu multimédia est remplie rapidement lors de la phase de démarrage en transmettant le contenu multimédia avec un débit de transmission supérieur au débit d'encodage du contenu multimédia. Cela 2905221 8 implique, dans le cas d'un encodage en temps réel, que le serveur ait en mémoire au moins une partie des données encodées à transmettre. De plus, il est nécessaire qu'une différence existe entre le débit disponible sur le lien pour transmettre le flux de contenu multimédia et le débit d'encodage du contenu 5 multimédia, le débit disponible de transmission du contenu multimédia étant supérieur au débit d'encodage. Plus cette différence est importante, plus le remplissage de la mémoire tampon du client peut être accéléré pour un délai de démarrage fixe. Si cette différence est nulle, le remplissage de la mémoire tampon ne peut pas être accéléré. 10 Pour accélérer le remplissage de la mémoire tampon et ainsi diminuer le temps de démarrage de la présentation du contenu multimédia, le débit d'encodage de ce contenu multimédia est donc temporairement réduit afin d'augmenter la différence entre le débit de transmission disponible et ce débit d'encodage. La diminution du débit d'encodage peut être réalisé de plusieurs 15 façons, par exemple par la technique de transcodage, en utilisant plusieurs versions pré-encodées du contenu multimédia ou en utilisant une technique de compression variable , ou scalable compression en anglais. La diminution du débit d'encodage dégrade la qualité du contenu multimédia reconstitué par le client car il existe une relation directe entre le débit d'encodage et la distorsion 20 entraînée par ce codage. Selon l'invention, le serveur encode le contenu multimédia à un débit qui est, durant la phase de démarrage, contrôlé par la qualité du contenu multimédia décodé par le client, afin de réduire le temps de démarrage tout en maintenant un niveau requis de qualité de présentation du contenu multimédia. 25 La solution s'applique également lorsqu'un client émet une requête pour obtenir un contenu multimédia qui est en cours de diffusion à un ensemble d'utilisateurs, par exemple par l'intermédiaire d'un groupe multicast. Dans ce cas, il n'est pas possible d'augmenter temporairement le débit de transmission du flux commun ni de réduire le débit d'encodage du contenu multimédia pour 30 ne pas en perturber la réception par les autres clients. Afin que le nouveau client bénéficie de ce mécanisme de réduction du temps de démarrage, une communication point à point est établie entre le serveur et le nouveau client. 2905221 9 Lorsque la mémoire tampon du nouveau client a atteint un seuil optimum, le nouveau client peut rejoindre le flux commun via un mécanisme de synchronisation et couper la communication point à point. Dans un souci de clarté, la description suivante est principalement 5 orientée sur les contenus multimédia de type vidéo cependant, il doit être compris que l'invention peut être mise en oeuvre pour tous les contenus multimédia, et plus généralement pour toutes les données dont le transfert est tel qu'il permet la présentation des données reçues avant la réception de la totalité des données. 10 La figure 1 représente de façon schématique un réseau distribué d'échanges de données. Un tel réseau (RD) comporte un ensemble de terminaux (TE1, TE2, TE3 et TE4), chaque terminal étant relié au réseau et ayant des moyens de communication utilisant, par exemple, un mécanisme de requêtes (REQ) et de réponses (RES). Le réseau peut être par exemple un 15 réseau sans fil tel que WiFi 802.11g, un réseau Ethernet, ou Internet. Chaque terminal peut être, par exemple, un dispositif tel que décrit en référence à la figure 2, et pouvant comporter, en particulier: une mémoire de stockage volatile (cache), un serveur de fichiers et une interface homme-machine permettant la communication des requêtes de l'utilisateur. Les 20 terminaux peuvent communiquer directement par l'intermédiaire du réseau global. Chaque terminal peut représenter indifféremment un client ou un serveur. Alternativement, les clients et les serveurs ont des caractéristiques différentes. La figure 2 illustre un exemple d'appareil 200 mettant en oeuvre 25 l'invention, tel qu'un micro-ordinateur, une station de travail, un assistant numérique, un téléphone portable, un caméscope numérique, un appareil photo numérique, une caméra de vidéo surveillance ou webcam, un lecteur DVD, ou un serveur multimédia. Si cet appareil n'intègre pas directement un capteur numérique d'images, il peut être optionnellement connecté à un ou plusieurs 30 périphériques tels que, par exemple, une caméra numérique 201, un convertisseur analogique/numérique ou tout autre moyen de capture de vidéo, reliée à une carte graphique et fournissant à l'appareil des données multimédia. 2905221 10 De préférence, l'appareil 200 comporte un bus de communication 202 auquel sont reliés : . une unité centrale de traitement 203 telle qu'un microprocesseur ; • une mémoire morte 204 ou Read Only Memory (ROM), pouvant 5 comporter un ou plusieurs programmes "Prog", "Prog1" et "Prog2" ; . une mémoire vive 206 ou Random Access Memrory (RAM), comportant des registres adaptés à mémoriser des variables et des paramètres créés et modifiés au cours de l'exécution des programmes précités ; et, . une interface de communication 218 reliée à un réseau de 10 communication distribué 220, par exemple le réseau Internet, l'interface étant apte à transmettre et à recevoir des données. L'appareil 200 peut disposer optionnellement de l'un, de plusieurs ou de tous les dispositifs suivants : . écran 208 permettant de visualiser des données et/ou de servir 15 d'interface graphique avec l'utilisateur qui pourra interagir avec les programmes selon l'invention, à l'aide d'un clavier 210 ou de tout autre moyen tel qu'un dispositif de pointage, comme par exemple une souris 211 ou un crayon optique, ou un écran tactile ou une télécommande ; . carte d'entrée/sortie (non représentée) reliée à un microphone 20 222 ; . disque dur 212 pouvant comporter des programmes et/ou des données, notamment des données traitées ou à traiter selon l'invention ; . lecteur de disquette 214 adapté à recevoir une disquette 216 et à y lire ou à y écrire des données traitées ou à traiter selon l'invention ; 25 . un lecteur de cartes mémoires adapté à y lire ou à y écrire des données, notamment des données traitées ou à traiter selon l'invention ; Le bus de communication permet la communication et l'interopérabilité entre les différents éléments inclus dans l'appareil 200 ou reliés à lui. La représentation du bus n'est pas limitative et, notamment, l'unité 30 centrale est susceptible de communiquer des instructions à tout élément de l'appareil 200 directement ou par l'intermédiaire d'un autre élément de l'appareil 200. 2905221 11 Le code exécutable du ou des programme(s) permettant à l'appareil 200 de mettre en oeuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur 212 ou en mémoire morte 204. Selon une variante, la disquette 216, peut contenir des données ainsi 5 que le code exécutable des programmes précités qui, une fois lu par l'appareil 200, peuvent être stockés dans le disque dur 212. Alternativement, le code exécutable des programmes peut être reçu par l'intermédiaire du réseau de communication 220, via l'interface 218, pour être stocké de façon identique à celle décrite précédemment. 10 Les disquettes peuvent être remplacées par tout support d'information tel que, par exemple, un disque compact (CD-ROM) ou une carte mémoire. De manière générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non à l'appareil, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes 15 dont l'exécution permet la mise en oeuvre du procédé selon l'invention. De manière plus générale, le ou les programmes pourront être chargés dans un des moyens de stockage de l'appareil 200 avant d'être exécutés. L'unité centrale 203 contrôle l'exécution des instructions ou portions 20 de code logiciel du ou des programme(s) selon l'invention, instructions qui sont stockées dans le disque dur 212, dans la mémoire morte 204 ou bien dans les autres éléments de stockage précités. Lors de la mise sous tension, le ou les programme(s) stockés dans une mémoire non volatile, par exemple le disque dur 212 ou la mémoire morte 204, sont transférés dans la mémoire vive 206 25 (RAM) qui contient alors le code exécutable du ou des programme(s) selon l'invention, ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de l'invention. Il convient de noter que l'appareil comportant le dispositif selon l'invention peut également être un appareil programmé. Les instructions du ou 30 des programme(s) mettant en oeuvre l'invention peuvent, par exemple, être implémentées dans un circuit intégré programmable ou spécifique (Application-Specific Integrated Circuit, ASIC). 2905221 12 La figure 3 représente schématiquement une séquence d'images compressées selon un format de compression vidéo tel que H.264 ou MPEG-4. Il s'agit de formats connus, basés sur l'application de la transformation en cosinus discrète (Discrete Cosine Transform, DCT) par blocs de la séquence et 5 sur la compensation de mouvement. Généralement, une image I (appelée également image 'intra', décodable indépendamment) est suivie d'une séquence d'images P (appelées aussi images `inter', codées en différences par rapport à l'image I ou P précédente) et B (codées par rapport à l'image I précédente et aux images P 10 précédentes et suivantes). Cette séquence composée d'une image I et plusieurs images P ou B s'appelle un groupe d'images (Group Of Picture ou GOP). La taille des images I, P et B est très variable. Généralement l'image I est moins compressée car elle n'utilise pas de compensation de mouvement, 15 les images P sont mieux compressées et les images B sont les plus petites. La figure 3 illustre la taille de plusieurs images I, P et B de deux groupes d'images, M représentant la bande passante moyenne. Le calcul du débit d'une vidéo doit être calculé en moyenne sur une séquence et non pas image par image. Plusieurs paramètres peuvent être utilisés pour modifier le taux de 20 compression d'une vidéo : . pas de quantification pour les blocs intra et les blocs inter ; . nombre d'images affiché par seconde ; certaines images peuvent être supprimées dans la vidéo, ce qui correspond à un changement de fréquence d'affichage, la structure du GOP peut ainsi être modifiée ; et 25 . résolution des images (par exemple, division par deux de la taille des images (dans les deux directions), pour passer du format 704x576 au format 352x288). Le taux de compression obtenu pour un ensemble de paramètres n'est pas fixe car le résultat de la compression dépend du type d'image, de 30 vidéo et du contenu de la scène : un film avec une scène statique ou un petit objet en mouvement régulier en translation est fortement compressé alors que, par exemple, un film d'action génère une grande quantité de données. Le taux 2905221 13 de compression est lié à la quantité d'informations non redondantes dans la séquence d'images à compresser. Les techniques de compression présentées peuvent être mise en oeuvre lors d'un encodage ou d'un transcodage d'une vidéo. 5 Dans le cas d'un encodage, un capteur numérique génère des images qui sont ensuite encodées. En début de GOP une image I est générée, puis les images suivantes sont compressées en P (ou B suivant la structure du GOP). Pour obtenir un débit constant, le résultat de la compression est pris en compte et les paramètres de compression sont adaptés dynamiquement à 10 chaque image (ou à chaque macro bloc) pour atteindre le débit moyen fixé. Dans le cas d'un transcodage, la vidéo a été préalablement encodée mais le taux de compression doit être modifié. La technique la plus simple, mais peu efficace, consiste à décoder la vidéo puis à la compresser avec un taux de compression différent. Une autre technique, plus efficace, consiste à décoder 15 partiellement la vidéo et à la re-quantifier pour augmenter le taux de compression tout en réutilisant les vecteurs de mouvements sans les modifier. Comme dans le cas du transcodage, les nouveaux paramètres de compression sont dynamiquement modifiés à chaque macro bloc en fonction des compressions obtenues précédemment pour atteindre le débit moyen fixé. 20 D'autres techniques de compression et d'adaptation de bande passante peuvent être utilisées. Par exemple, certaines méthodes permettent d'avoir un encodage à plusieurs niveaux (scalable encoding). La vidéo est alors composée de plusieurs couches, chaque couche ajoutant des informations supplémentaires et augmentant la qualité, ce qui augmente le débit. 25 L'adaptation du débit consiste alors à sélectionner le nombre de couches désirées. Bien que l'invention soit adaptée à utiliser cette technique d'encodage, celle-ci est peu utilisé en raison de temps de calcul nécessaire. La qualité d'une vidéo compressée peut se mesurer de plusieurs façons, la façon la plus classique étant le calcul du rapport signal sur bruit, 30 Peak Signal to Noise Ratio (PSNR). Pour comparer une image compressée puis décompressée par rapport à l'image d'origine, l'erreur moyenne, Mean Square Error (MSE), est 2905221 14calculée sur une composante couleur de l'image (par exemple, la luminance notée X(i,j)) selon la formule, 1 width height MSE _ 1 1 (X(j,j)_X(j,j) width x height (1) où X est la valeur décompressée de la même composante pour le 5 même point sur l'image d'origine, le rapport signal sur bruit PSNR étant ensuite calculé selon la formule PSNR = 2OLog10 255 MSE (2) Cette métrique permet d'obtenir facilement une mesure objective de la distorsion d'une image. Cette mesure peut ensuite être appliquée à une 10 séquence vidéo de N images en calculant en calculant la moyenne, N PSNR =1 E PSNRi N iù1 (3) et la variance, 6PSNR =1 (PSNR i2 ù PSNR N i-1 (4) Si certaines images sont supprimées par la compression, il est 15 admis que l'image précédente reste affichée. Le PSNR de l'image compressée précédente est alors calculé par rapport à cette image. Ces deux valeurs permettent d'obtenir une évaluation de la qualité d'une vidéo : la moyenne du rapport signal sur bruit PSNR donne une indication sur la qualité visuelle moyenne des images tandis que la variance permet de 20 savoir si la qualité des images est très variable dans la vidéo. Ce dernier paramètre est important car de grandes variations de qualité des images donnent une vidéo désagréable à regarder. Une telle vidéo est donc de plus faible qualité qu'une vidéo ayant une faible variance et un rapport signal sur bruit PSNR moyen moins bon. D'autres méthodes pourraient être utilisées pour 25 évaluer la qualité visuelle d'une vidéo sans que cela change les principes de l'invention. ) 2905221 15 La figure 4 illustre certaines des étapes pour mettre en oeuvre l'invention afin de réduire le temps de démarrage de la présentation d'un contenu multimédia transmis par un réseau (400) d'un serveur (405) à un client (410). Une première étape consiste pour le client 410 à transmettre une requête 5 auprès du serveur 405 pour initier la transmission d'un contenu multimédia en utilisant, par exemple, le protocole Real Time Streaming Protocol (RTSP). Cette requête, émise par le module de contrôle du client (415), comprend par exemple les paramètres de niveaux de remplissage de la mémoire tampon ainsi que les niveaux requis pour la qualité des données présentées. 10 Dans une deuxième étape, le serveur 405 obtient le contenu multimédia et adapte son débit d'encodage. Pour une séquence vidéo, le serveur 405 peut l'obtenir en utilisant un capteur (420), en l'encodant avec un encodeur (425) pouvant compresser la vidéo et ainsi adapter la bande passante requise. Alternativement, le serveur 405 peut accéder une séquence vidéo sous 15 forme compressée sur une mémoire de stockage telle qu'un disque dur (430). Dans ce second cas un module transcodeur (435) doit être utilisé pour modifier l'encodage et adapter la bande passante. L'encodeur 425 ou le transcodeur 435 adaptent le débit de la vidéo suivant la méthode décrite dans la suite de la description, en particulier en 20 référence à la figure 7. L'encodeur 425 ou le transcodeur 435 est contrôlé par un module de décision (440) et un module de contrôle du débit (445) qui détermine les paramètres d'encodage. L'algorithme utilisé par ce module est décrit par référence à la figure 7. Dans une troisième étape, la séquence vidéo compressée est 25 transmise au module de transmission (450) du serveur 405, par exemple un module Real-Time Transport Protocol (RTP), qui crée des paquets de données et les envoie sur le réseau en utilisant les protocoles RTP, User Datagram Protocol et Internet Protocol (UDP/IP). Chaque paquet de données est numéroté ce qui permet ensuite au client de reconstruire le flux vidéo. 30 Dans une quatrième étape, le module RTP (455) du client 410 reçoit les paquets envoyés par le serveur. En utilisant les entêtes RTP, les paquets sont rassemblés pour recréer le flux vidéo encodé envoyé par le serveur 405. 2905221 16 Divers mécanismes de correction d'erreur peuvent être mis en oeuvre, par exemple les retransmissions de données, Automatic Repeat reQuest (ARQ), ou les codes correcteurs, Forward Error Correction (FEC). Le mécanisme ARQ est le suivant : lorsque le client détecte qu'un paquet est manquant (en utilisant les 5 numéros de séquence RTP) il envoie un message du type Negative ACKnowlege (NACK) au serveur pour indiquer la perte d'un paquet. Le serveur peut alors renvoyer le paquet perdu. Le mécanisme de correction d'erreur FEC consiste à ajouter des données redondantes dans les paquets envoyés (par exemple en utilisant des codes de Reed Salomon) qui permettent au client en 10 utilisant k paquets reçus de recréer n paquets d'origine (même si n-k paquets ont été perdus ou corrompus). Malgré l'intérêt de ces deux types de mécanismes, un inconvénient important est le temps de latence introduit qui peut être important : pour la retransmission de type ARQ il faut ajouter le temps de communication entre le client et le serveur, pour les corrections FEC il faut 15 ajouter le temps de réception de plusieurs paquets. Ils ne peuvent être mis en oeuvre que si un niveau suffisant de la mémoire tampon du client est atteint. Un autre mécanisme de correction d'erreur est le masquage d'erreur. Le client peut utiliser les images précédentes et suivantes pour essayer de masquer les erreurs liées au réseau qui se sont produites. Comme les autres mécanismes, 20 le masquage d'erreur peut ajouter une latence. Il convient de noter également que la mémoire tampon elle-même est un mécanisme permettant de supporter des erreurs réseau. En effet sur un réseau, particulièrement un réseau sans fil, il peut y avoir des interruptions totales de réseau de plusieurs centaines de millisecondes, voir même de plusieurs secondes. Dans ce cas seule une 25 mémoire tampon du client de taille suffisante permet de continuer à présenter le contenu multimédia sans interruption perceptible. Dès que le réseau est rétabli, les messages ARQ peuvent être utilisés pour permettre au serveur de renvoyer les données manquantes. La mémoire tampon sert aussi à supporter les fluctuations sur les temps de transmission du réseau (jitter) qui peuvent être de 30 plusieurs centaines de millisecondes. 2905221 17 Après avoir été reconstitué et stocké dans la mémoire tampon (460), le flux vidéo est transmis à un décodeur (465) pour décompresser la vidéo qui peut alors être affichée sur un écran (470). Les architectures du serveur 405 et du client 410 sont des exemples 5 d'architecture possible pour l'invention. D'autres variantes sont possibles. La figure 5 illustre, dans le domaine temporel, la diffusion d'un contenu multimédia entre un serveur et un client permettant de réduire le temps de démarrage de la présentation du contenu multimédia. Cette figure illustre un fonctionnement simple avec un seul changement de débit. 10 Un contenu multimédia est constitué d'une succession de fragments qui sont liés temporellement les uns aux autres, c'est à dire que chaque fragment possède une échéance d'utilisation. En cas de non respect de l'échéance d'un fragment, celui-ci devient inutile pour la reconstruction du contenu multimédia. Pour être transférés, les fragments sont transformés en 15 paquets comprenant, entre autre, l'adresse du client vers lequel ils doivent être acheminés. La mise en forme des paquets n'entrant pas directement dans le cadre de l'invention et étant bien connue du spécialiste de transmission de données n'est pas détaillée ici. La transmission en temps réel signifie que le rythme d'envoi des fragments est identique au rythme de leur échéance, ou en 20 d'autres termes que le débit de transmission des fragments et que le débit d'encodage des fragments sont identiques. Le client possède une mémoire tampon située entre le récepteur des fragments de contenu multimédia et le dispositif de décodage. Le rôle de cette mémoire tampon est d'introduire un délai entre le moment de réception des 25 fragments et leur utilisation pour permettre d'une part de lisser les variations de délai de transmission des fragments et d'autoriser l'utilisation de mécanismes pour parer la perte ou la corruption de fragments comme mentionné précédemment. Pour diminuer le temps de démarrage de la présentation du contenu 30 multimédia, le débit d'encodage est, dans une première phase, diminué. Ainsi, après la réception d'une requête de démarrage d'un contenu multimédia par le serveur, celui-ci envoie au client les fragments successifs en respectant des 2905221 18 échéances temporelles. Après avoir reçu une requête d'un contenu multimédia (référence 500), le serveur accède le contenu multimédia demandé et extrait le premier fragment qui est encodé et transmis vers le client (référence 505). Lorsque le fragment est reçu par le client (référence 510), il est stocké dans la 5 mémoire tampon d'où il est extrait (référence 515) pour être décodé. Le temps Round Trip Time (RTT) est égal à la somme du délai (t0) de transmission de la requête du contenu multimédia et du délai (t1) de transmission d'un fragment. Dans une première phase (jusqu'à la date 520) le temps t2, correspondant au délai entre la transmission de deux fragments consécutifs, est 10 inférieur au temps de décodage d'un fragment (t3), correspondant au délai entre les moments où deux fragments consécutifs sont extraits de la mémoire tampon. Le rythme de transmission est donc supérieur au rythme de décodage. Durant cette phase, l'encodeur (ou le transcodeur) doit générer chaque fragment dans un délai inférieur à t2. Comme le débit réseau est limité, il est 15 nécessaire de diminuer le débit d'encodage durant cette phase. Dans une deuxième phase, lorsque la mémoire tampon est remplie pour permettre la présentation du contenu multimédia avec une qualité suffisante, le rythme de transmission est modifié pour être approximativement égal au rythme de décodage. Le temps de transmission d'un fragment (t4) est 20 alors sensiblement égal au temps de décodage (t3). Le débit d'encodage peut alors être augmenté en respectant la contrainte du débit du réseau. Le temps nécessaire au remplissage de la mémoire tampon permettant la présentation du contenu multimédia est lié aux mécanismes de résistance aux erreurs que l'on veut mettre en oeuvre (durée de coupure, 25 latence des ARQ, FEC ou masquage d'erreur) et donc à la qualité de service que l'on veut garantir. Le seuil de démarrage tb est défini comme le temps de contenu multimédia à présenter que le tampon doit initialement contenir avant le démarrage de la présentation du contenu multimédia, équivalent au temps nécessaire pour remplir la mémoire tampon avec tb.rv bits du contenu 30 multimédia où rv est le débit d'encodage du contenu multimédia. Le temps de démarrage (ts) correspond au délai écoulé entre le moment où la requête a été formulée et le moment où les premiers fragments 2905221 19 reçus dans la mémoire tampon sont utilisés pour la présentation du contenu multimédia, c'est-à-dire à la somme des temps RTT et de remplissage de la mémoire tampon (tb). Le temps de démarrage ts se détermine selon la relation, t = RTT + tb'rv s 5 rt (5) où rt est le débit de transmission du contenu multimédia du serveur vers le client. Le régime transitoire (t5) est la période durant laquelle le contenu multimédia présenté est basé sur des fragments encodés avec le débit 10 d'encodage inférieur. Le temps passé par un fragment dans la mémoire tampon (t6) est déterminé par le moment où le fragment est stocké dans la mémoire tampon et le moment où il en est extrait. Il est maintenant possible d'analyser quelles sont les limites en débit et en durée. 15 Si le contenu multimédia est transmis en temps réel, le débit de transmission est égal au débit d'encodage du média, ts =RTT+tbrv =RTT+tb r v Cependant, si dans la phase initiale les fragments du contenu multimédia sont transmis n fois plus vite que le temps réel, ou temps 20 d'encodage (rt = n.rv) alors, ts = RTT + t.r = RTT + tb n.rv n (7) Le temps de démarrage est ainsi réduit, la réduction étant d'un facteur n si le délai de transmission d'un paquet sur lien réseau (RTT) est négligeable, n correspondant à la différence des débits d'encodage et de 25 transmission sur le lien réseau. Si rLien est le débit de transmission sur le lien réseau, le temps de démarrage est limité par les débits d'encodage et de transmission selon la relation suivante, (6) rt 'Lien n rLien rä t i tb rv s rLien (8) 2905221 20 La figure 6, comprenant les figures 6a, 6b, 6c, 6d et 6e, illustre les avantages de l'invention et son influence sur le remplissage de la mémoire tampon, la qualité du contenu multimédia présenté et le débit d'encodage en fonction du temps. Les figures 6a, 6b et 6c concernent les cas où un seul seuil 5 est défini dans la mémoire tampon alors que les figures 6d et 6e concernent les cas où plusieurs seuils sont définis. Les figures 6a, 6b et 6d concernent l'art antérieur tandis que les figures 6c et 6e illustrent les avantages de l'invention. La figure 6a présente le cas témoin où aucune optimisation concernant le temps de démarrage n'est mise en oeuvre. Comme indiqué 10 précédemment, le seuil de démarrage tb est défini comme le temps de contenu multimédia à présenter que le tampon doit initialement contenir avant le démarrage de la présentation du contenu multimédia, équivalent au temps nécessaire pour remplir la mémoire tampon, c'est-à-dire au temps de démarrage (ts), le délai de transmission de la requête et l'accès au contenu 15 multimédia (RTT) pouvant être considérés comme négligeables. La pente n du niveau de remplissage de la mémoire tampon durant la phase de démarrage est donc égale à un (n=tb/ts, avec tb=ts, selon l'équation 6). Lorsque le niveau de la mémoire tampon a atteint le seuil permettant la présentation du contenu multimédia, son niveau de remplissage reste constant, le débit d'encodage 20 étant sensiblement égal au débit de transmission et au débit de décodage. La présentation du contenu multimédia commence dès que le niveau de la mémoire tampon a atteint le seuil nécessaire. Le débit d'encodage étant constant, la qualité de la présentation est également constante. Le débit de transmission est constant. 25 La figure 6b illustre le principe de l'art antérieur généralement utilisé pour réduire le temps de démarrage où un mécanisme de débit de transmission supérieur au débit d'encodage est utilisé lors de la phase de démarrage pour réduire le temps de démarrage. Ainsi, le premier graphique montre que le temps pour atteindre le seuil de démarrage est réduit par rapport au cas 30 standard illustré sur la figure 6a. Le temps de démarrage est divisé par n qui est le rapport entre le débit de transmission et le débit d'encodage du contenu multimédia, selon l'équation 7. Comme illustré sur le deuxième graphique, la 2905221 21 qualité de présentation du contenu multimédia est constante à partir du moment où il est affiché car le débit d'encodage n'est pas modifié. Enfin, le troisième graphique présente la variation du débit de transmission entre la phase de démarrage et la phase suivante, le débit de transmission étant supérieur au 5 débit d'encodage durant la phase de démarrage. Il convient de noter que le débit de transmission ne peut pas être supérieur au débit du lien. La figure 6c présente une première mise en oeuvre de l'invention, utilisant un seul seuil dans la mémoire tampon, basé sur l'association de l'augmentation du débit de transmission et la diminution du débit d'encodage. 10 Le premier graphique montre que le temps pour atteindre le seuil de démarrage est réduit par rapport aux cas illustrés sur les figures 6a et 6b. Le temps de démarrage est divisé par n qui est le rapport entre le débit de transmission et débit d'encodage du contenu multimédia où rv-transcode est le débit d'encodage lors de la phase de transcodage, selon l'équation 8. Comme illustré 15 sur le second graphique, la réduction du débit d'encodage réduit la qualité de la présentation du contenu multimédia, le délai de compression de chaque fragment étant réduit. Ainsi, durant la phase de démarrage, la qualité de la présentation du contenu multimédia est inférieure à celle liée au débit d'encodage utilisé après la phase de démarrage. Le troisième graphique met en 20 évidence l'augmentation temporaire de la différence entre le débit de transmission et le débit d'encodage durant la phase de démarrage où le débit de transmission est augmenté alors que le débit d'encodage est diminué. Cette différence permet d'accroître le facteur n et donc de diminuer le temps de démarrage comme indiqué sur le premier graphique mais réduit 25 temporairement la qualité de la présentation du contenu multimédia comme illustré sur le deuxième graphique. Pour diminuer encore le temps de démarrage, une amélioration complémentaire consiste à réduire le seuil de démarrage de la mémoire tampon et à définir un seuil supplémentaire, nommé seuil optimal, qui détermine le 30 niveau de mémoire tampon qu'il est nécessaire d'atteindre pour que les mécanismes de correction d'erreur puissent être mis en oeuvre afin d'obtenir une qualité optimale. En d'autres termes, cela signifie que le seuil de 2905221 22 démarrage est dissocié du seuil où la quantité d'information contenue dans la mémoire tampon permet de mettre en place des mécanismes de correction d'erreurs. Cette amélioration complémentaire, tout en réduisant le temps de démarrage, augmente le temps du régime transitoire. 5 La figure 6d illustre un exemple dans lequel deux seuils distincts sont définis dans la mémoire tampon de données, un seuil de démarrage et un seuil optimal (t0). Selon cet exemple, seule la transmission initiale plus rapide que le temps réel est mise en place pour diminuer le temps de démarrage, il n'y a pas de diminution temporaire du débit d'encodage. Comme l'indique le premier 10 graphique, le niveau de la mémoire tampon atteint rapidement le seuil de démarrage, puis la vitesse d'augmentation du niveau du tampon diminue pour atteindre le seuil optimal où cette vitesse devient nulle. En effet, lorsque le seuil de démarrage est atteint, la mémoire tampon qui s'était remplie à la vitesse de transmission du contenu multimédia et qui n'était pas vidé, commence à se 15 vider à la vitesse de décodage du contenu multimédia. Comme la vitesse de décodage demeure plus faible que la vitesse de transmission le niveau de remplissage de la mémoire tampon augmente. Dès que le seuil optimal est atteint, la vitesse de transmission est réduite et devient égale à la vitesse d'encodage (temps réel). Le troisième graphique illustre ces changements de 20 débit en fonction du temps. En ce qui concerne la qualité de rendu du contenu multimédia, celui-ci n'est optimal que lorsque le niveau de remplissage de la mémoire tampon atteint le seuil optimal et que tous les mécanismes de protection d'erreur ont été mis en place. Avant, dans le régime transitoire entre le seuil de démarrage et le seuil optimal, la qualité est plus faible. De façon 25 approximative, la figure 6d représente la qualité qui augmente de façon continue selon le niveau de remplissage de la mémoire tampon. La figure 6e présente un second exemple de mise en oeuvre de l'invention. Dans ce dernier cas, le mécanisme de diminution temporaire du débit d'encodage et couplé au mécanisme d'augmentation du débit de 30 transmission, avec l'utilisation de deux seuils distincts dans la mémoire tampon, pour diminuer le temps de démarrage. Les résultats présentés sur cette figure peuvent s'interpréter comme la combinaison des résultats présentés sur les 2905221 23 figures 6c et 6d. Le premier graphique montre la réduction du temps de démarrage et la réduction du temps nécessaire à atteindre le niveau optimal de remplissage de la mémoire tampon. Ce résultat est obtenu par l'accroissement de la marge entre le débit d'encodage et le débit de transmission. La qualité de 5 la présentation du contenu multimédia est temporairement réduite pour diminuer le temps de démarrage et atteindre plus rapidement une qualité optimale. Comme illustré sur la figure 6, les moyens de réduction du temps de démarrage de la présentation du contenu multimédia ont un impact direct sur la 10 qualité du rendu de cette présentation et qu'il est donc nécessaire de trouver un compromis qui satisfasse au mieux l'utilisateur final. Ainsi un ou plusieurs seuils de qualité minimum acceptés par le client associés à des durées maximales de ces dégradations de qualité (correspondant au régime transitoire) sont communiqués par le client. La qualité peut prendre en compte à la fois la qualité 15 visuelle telle que calculée par le PSNR ou la variance comme décrit en référence à la figure 3, et la qualité introduite par les mécanismes de résistance aux erreurs. Ces paramètres sont utilisés pour limiter les mécanismes mis en oeuvre pour réduire le temps de démarrage du média. La figure 7, comprenant les figures 7a et 7b, illustre un exemple de 20 l'algorithme pour mettre en oeuvre l'invention afin d'optimiser la réduction du temps de démarrage et la qualité du contenu multimédia présenté. La figure 7a représente l'algorithme utilisé par le client pour accéder et visualiser un contenu multimédia alors que la figure 7b montre l'algorithme utilisé par le serveur pour transmettre le contenu multimédia. 25 Pour mettre en place les mécanismes décrits en référence à la figure 6e, il est nécessaire que le serveur détermine, pour satisfaire les contraintes de qualité et réaliser un démarrage rapide, les paramètres suivants: . le seuil de démarrage tb de la mémoire tampon de données du client ; 30 . le seuil de remplissage optimal to de la mémoire tampon de données du client ; 2905221 24 . le débit d'encodage du contenu multimédia lors de la phase de transcodage ni-transcode ; et . le débit disponible pour la transmission du média rLien. Comme illustré sur la figure 7a, le client voulant obtenir la 5 présentation d'un contenu média en fait la requête auprès d'un serveur (étape 700), par exemple en utilisant le protocole connu RTSP. Le client peut utiliser, en plus de la méthode classique de `RTSP SETUP', une méthode `RTSP SET PARAMETER' pour transmettre dans la requête la valeur des paramètres complémentaires suivants, 10 • la valeur minimale du rapport signal maximal à bruit (Peak Signal to Noise Ratio, PSNR) acceptable durant le régime transitoire, notée PSNRmin, et la durée maximum de ce régime, notée ttrans ; et, • le temps maximum de coupure de la transmission que le client veut supporter sans interruption dans l'affichage noté tcoupure. 15 En variante, le client peut indiquer plusieurs seuils de qualité et les durées maximales de chaque seuil ainsi que plusieurs mécanismes de résistance aux erreurs à mettre en place avec des latences associées. En variante, le client peut utiliser un autre protocole que RTSP, par exemple SIP, ou utiliser d'autres messages de RTSP. 20 Lors des échanges RTSP, le client reçoit un fichier Session Description Protocol (SDP) qui décrit les caractéristiques du contenu multimédia et les éventuels mécanismes de contrôle d'erreur mis en place (étape 705). Dans l'approche basée sur la retransmission de paquets (ARQ), le client utilise un canal de retour pour informer le serveur soit des paquets reçus 25 avec des messages d'acquittement (ACK) ou pour informer le serveur des paquets non reçus par des messages d'acquittement négatif (NACK). Le serveur renvoi alors les paquets perdus. Si le fichier SDP indique que le serveur supporte la retransmission de données, le client attend que le serveur lui indique le seuil de remplissage 30 optimal de la mémoire tampon de données to (ce calcul est détaillé ci-dessous). Lorsque ce seuil est atteint, le client peut demander la retransmission des paquets perdus. 2905221 25 Les paquets du contenu multimédia demandé lui sont alors transmis (étape 715). Dès que le serveur lui transmet la consigne de démarrage (étape 720), le contenu multimédia commence à être présenté à l'utilisateur (étape 725). En variante, le serveur peut indiquer dès le début le seuil de remplissage 5 tb permettant de commencer l'affichage. Dans ce cas le test 720 consiste à vérifier le niveau de remplissage du buffer. Lorsque le niveau de la mémoire tampon atteint le seuil optimal (étape 730), les mécanismes de protection face aux erreurs sont alors mis en place (étape 735), par exemple la retransmission de données. 10 Dans un premier temps, le serveur reçoit la requête du client (étape 750) avec les différents paramètres envoyés par le client, comme décrit dans le paragraphe précédent. Le serveur détermine alors le mécanisme de correction d'erreur à mettre en place et détermine la valeur du seuil to (étape 755). Si le mécanisme de retransmission de données est mis en place du coté serveur, le 15 serveur calcul le seuil optimal to de la mémoire tampon de données du client en fonction de la valeur maximal de coupure réseau que client souhaite supporter tcoupure, tel que, to = tcoupure + RTT Cette valeur est transmise au client. 20 Le contenu multimédia demandé est alors prêt à être transmit au client. Dans une première phase, le contenu multimédia est transmis plus vite que le temps réel (étape 760). Pour cela, son débit d'encodage est réduit selon la contrainte de la valeur minimale de qualité acceptable PSNRmin. Cette réduction du débit d'encodage du contenu multimédia est réalisée par un 25 mécanisme de régulation avec boucle de rétroaction. Ainsi, le module de contrôle du serveur transmet une consigne du débit d'encodage au module de contrôle de débit, ou rate control, et une valeur PSNR lui est donnée en retour. La consigne est modifiée en fonction de cette valeur de PSNR et en fonction de PSNRmin. 30 Le débit du lien est évalué dynamiquement en cours de la transmission en utilisant un algorithme de contrôle de débit connu comme 2905221 26 TFRC. Dans un premier temps, la limite est déterminée par la valeur maximale possible en fonction des capacités du serveur et du client. L'algorithme de transcodage avec contrainte de qualité est décrit ci-dessous: 5 1. Phase d'initialisation : la variable r est initialisée; si le contenu multimédia est directement reçu d'une source, r = rLien_max (débit maximal du lien) et si le contenu multimédia stocké sur un support local est déjà encodé, r = rv (débit d'encodage du contenu stocké). La consigne initiale du débit d'encodage est définie par, rv-transcode = min(r, rLien). Les paramètres de 10 régulation A et a sont, à titre d'illustration, définis tels que A = 1dB et a = 0,1. La valeur de ces paramètres peut être ajustée plus précisément selon les caractéristiques spécifiques de l'environnement dans lequel est implémenté l'algorithme. 2. Phase de régulation : durant la phase de régulation, le débit 15 d'encodage est déterminé de la façon suivante, si PSNR ? PSNRmin + A alors rv-transcode = rv-transcode x (1 ù a) si PSNR REVENDICATIONS 1. Procédé pour transmettre un contenu multimédia sous forme de flux multimédia d'un serveur vers un client, caractérisé en ce que ce procédé comprend les étapes suivantes : . réception d'une requête dudit client pour transmettre ledit flux multimédia (750), cette requête comprenant au moins un paramètre lié à la 10 qualité de présentation dudit contenu multimédia ; . détermination d'au moins un premier débit d'encodage selon ledit au moins un paramètre (760), ledit au moins un premier débit d'encodage étant inférieur au débit de transmission du flux multimédia dudit serveur vers ledit client ; 15 . encodage d'une première partie dudit contenu multimédia selon ledit au moins un premier débit d'encodage et transmission de ladite première partie encodée dudit contenu multimédia audit client ; . détermination d'un second débit d'encodage supérieur audit au moins un premier débit (780) ; et, 20 . encodage d'une seconde partie dudit contenu multimédia selon ledit second débit d'encodage et transmission de ladite seconde partie encodée dudit contenu multimédia audit client. 2. Procédé selon la revendication 1 caractérisé en ce que ledit débit de transmission de ladite première partie dudit contenu multimédia audit client 25 est augmenté pour être supérieur audit débit de transmission de ladite seconde partie dudit contenu multimédia audit client. 3. Procédé selon la revendication 1 ou la revendication 2 dans lequel ledit second débit d'encodage est sensiblement égal audit débit de transmission du flux multimédia dudit serveur vers ledit client. 30 4. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que ledit premier débit d'encodage est dynamiquement 2905221 33 réévalué au cours de la transmission de ladite première partie dudit contenu multimédia. 5. Procédé selon la revendication 4 caractérisé en ce que la réévaluation dynamique dudit premier débit d'encodage est réalisée par un 5 mécanisme de régulation avec boucle de rétroaction. 6. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comprend en outre une étape de transmission d'une commande de démarrage de la présentation de ladite première partie encodée dudit contenu multimédia (770). 7. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que ledit au moins un paramètre comprend un paramètre de mise en oeuvre de mécanismes de correction d'erreurs liées à la transmission dudit contenu multimédia lors de la transmission de ladite première partie dudit contenu multimédia audit client. 8. Procédé selon la revendication 7 caractérisé en ce que ledit au moins un paramètre indique un temps maximum de coupure de transmission. 9. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que ledit au moins un paramètre comprend un paramètre lié à la qualité visuelle dudit contenu multimédia. 10. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce qu'il comprend en outre des étapes suivantes : . détermination d'un troisième débit d'encodage différent dudit au moins un premier débit d'encodage ; . encodage de ladite première partie dudit contenu multimédia selon 25 ledit troisième débit d'encodage et transmission de ladite première partie dudit contenu multimédia encodée selon ledit troisième débit d'encodage à un second client différent dudit client, appelé premier client ; et, . transmission de ladite seconde partie encodée dudit contenu multimédia audits premier et second clients. 30 11. Procédé selon l'une quelconque des revendications précédentes dans lequel ladite étape d'encodage d'une première partie dudit contenu 2905221 34 multimédia et/ou ladite étape d'encodage d'une seconde partie dudit contenu multimédia consistent en une étape de transcodage. 12. Procédé de réception d'un contenu multimédia transmis sous forme de flux multimédia d'un serveur vers un client, caractérisé en que ce 5 procédé comprend les étapes suivantes : . émission d'une requête audit serveur pour recevoir ledit flux multimédia (700), cette requête comprenant au moins un paramètre lié à la qualité de présentation dudit contenu multimédia ; . réception d'une première partie dudit contenu multimédia (715), 10 ladite première partie dudit contenu multimédia étant encodée avec un premier débit d'encodage ; . démarrage de la présentation de la dite première partie dudit contenu multimédia (725) ; et, . réception d'une seconde partie dudit contenu multimédia, ladite 15 seconde partie dudit contenu multimédia étant encodée avec un second débit d'encodage. 13. Procédé selon la revendication 12 caractérisé en ce qu'il comprend en outre une étape de réception d'une commande de démarrage de la présentation de ladite première partie dudit contenu multimédia (720). 20 14. Dispositif pour transmettre un contenu multimédia à un client, sous forme de flux multimédia, caractérisé en ce que ce dispositif comprend les moyens suivants, . moyens pour recevoir une requête dudit client pour transmettre ledit flux multimédia (440), cette requête comprenant au moins un paramètre lié 25 à la qualité de présentation dudit contenu multimédia ; . moyens pour déterminer d'au moins un premier débit d'encodage selon ledit au moins un paramètre (445), ledit au moins un premier débit d'encodage étant inférieur au débit de transmission du flux multimédia dudit serveur vers ledit client ; 30 . moyens pour encoder une première partie dudit contenu multimédia selon ledit premier débit d'encodage (425) et pour transmettre ladite première partie encodée dudit contenu multimédia audit client (450) ; 2905221 35 . moyens pour déterminer un second débit d'encodage supérieur audit au moins un premier débit (445) ; et, . moyens pour encoder une seconde partie dudit contenu multimédia selon ledit second débit d'encodage (425) et pour transmettre ladite 5 seconde partie encodée dudit contenu multimédia audit client (450). 15. Dispositif selon la revendication 14 caractérisé en ce qu'il comprend en outre des moyens pour augmenter ledit débit de transmission de ladite première partie dudit contenu multimédia audit client de telle sorte que ledit débit de transmission de ladite première partie dudit contenu multimédia 10 est supérieur audit débit de transmission de ladite seconde partie dudit contenu multimédia audit client. 16. Dispositif selon la revendication 14 ou la revendication 15 caractérisé en ce qu'il comprend en outre des moyens pour réévaluer dynamiquement ledit premier débit d'encodage au cours de la transmission de 15 ladite première partie dudit contenu multimédia. 17. Dispositif selon la revendication 16 caractérisé en ce que les moyens pour réévaluer dynamiquement ledit premier débit d'encodage au cours de la transmission de ladite première partie dudit contenu multimédia comprennent un mécanisme de régulation avec boucle de rétroaction. 20 18. Dispositif selon l'une des revendications 14 à 17 caractérisé en ce qu'il comprend en outre des moyens pour transmettre une commande de démarrage de la présentation de ladite première partie encodée dudit contenu multimédia. 19. Dispositif selon l'une des revendications 14 à 18 caractérisé en 25 ce qu'il comprend en outre les moyens suivants : . moyens pour déterminer un troisième débit d'encodage différent dudit premier débit d'encodage ; . moyens pour encoder ladite première partie dudit contenu multimédia selon ledit troisième débit d'encodage et pour transmettre ladite 30 première partie dudit contenu multimédia encodée selon ledit troisième débit d'encodage à un second client différent dudit client, appelé premier client ; et, 2905221 36 . moyens pour transmettre ladite seconde partie encodée dudit contenu multimédia audits premier et second clients. 20. Dispositif selon la revendication 19 caractérisé en ce qu'il comprend en outre des moyens de stockage adaptés à mémoriser au moins 5 une partie de ladite seconde partie encodée dudit contenu multimédia transmise audits premier et second clients. 21. Dispositif selon l'une des revendications 14 à 20 caractérisé en ce que lesdits moyens pour encoder sont des moyens pour transcoder (435). 22. Dispositif pour recevoir un contenu multimédia d'un serveur, sous 10 forme de flux multimédia, caractérisé en que ce dispositif comprend les moyens suivants : . moyens pour émettre une requête audit serveur pour recevoir ledit flux multimédia (415), cette requête comprenant au moins un paramètre lié à la qualité de présentation dudit contenu multimédia ; 15 . moyens pour recevoir une première partie dudit contenu multimédia (455), ladite première partie dudit contenu multimédia étant encodée avec un premier débit d'encodage ; . moyens pour démarrer la présentation de la dite première partie dudit contenu multimédia (465) ; et, 20 . moyens pour recevoir une seconde partie dudit contenu multimédia (455), ladite seconde partie dudit contenu multimédia étant encodée avec un second débit d'encodage. 25. Dispositif selon la revendication 22 caractérisé en ce qu'il comprend en outre des moyens pour recevoir une commande de démarrage de la présentation de ladite première partie dudit contenu multimédia. 26. Programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 13. 27. Serveur comprenant des moyens adaptés à la mise en oeuvre de 30 chacune des étapes du procédé selon l'une quelconque des revendications 1 à 11.