FR 2903259 A1 20080104 FR 0605886 A 20060629 PROCÉDÉ DE GESTION DE DEMANDES D'ACCÈS À DISTANCE À DES CONTENUS MULTIMÉDIA Domaine Technique La présente invention concerne un procédé de gestion de demandes d'accès à distance à des contenus multimédias. Elle s'adresse notamment à des services de diffusion de vidéo à la demande, dits services de VoD (acronyme anglo-saxon pour "Video on Demand" ). Etat de la technique antérieur Des services de diffusion en temps réel de vidéo sont actuellement proposés, qui s'appuient sur des réseaux de diffusion sur des lignes d'abonnés numérisées DSL, et des serveurs multimédias qui fournissent ces contenus en temps réel. Ils permettent à des utilisateurs de visionner à distance des contenus multimédias. Parmi ces services, les services VoD sont plutôt des services "à la carte" : c'est l'utilisateur qui choisit un film, un documentaire ou autres dans une bibliothèque de contenus multimédias, pour le visionner à distance, au moment où il le demande, et ce de manière interactive, à la manière d'un lecteur de DVD ou d'un magnétoscope : pause, retour arrière, avance rapide...Avec un tel service de VoD, lorsqu'un utilisateur demande à visionner un contenu multimédia donné, un flux vidéo correspondant est diffusé sur le réseau de distribution, par un émetteur qui met en forme le flux de données multimédia qu'il reçoit du serveur, et l'envoie vers le coeur du réseau à destination du terminal utilisateur. A un moment donné, il y a autant de flux vidéo sur le réseau que de demandes d'utilisateurs servies. La bande passante totale du réseau est ainsi partagée entre les utilisateurs. Un réseau de diffusion de données offrant un service de VoD suivant l'état de l'art est schématiquement représenté sur la figure 1, dans le contexte d'un accès par une ligne d'abonné numérisée DSL d'un utilisateur au réseau de diffusion. Il n'est donné qu'à titre d'exemple. D'autres types de 2903259 2 connexion peuvent être envisagées entre l'utilisateur et le réseau de diffusion. Dans un contexte de lignes DSL, un réseau de diffusion d'un service de VoD comprend habituellement un réseau de distribution 1, encore 5 appelé coeur de réseau et auquel ont accès par un réseau d'accès 2, une pluralité d'utilisateurs (ou plus exactement de terminaux utilisateurs) CPE1 à CPE5. Le réseau d'accès 2 comprend des concentrateurs de lignes DSL et des équipements multiplexeurs d'accès qui sont habituellement appelés DSLAM dans la littérature technique spécialisée (Digital Subscriber Line 10 Access Multiplexer). Dans l'exemple on a représenté un concentrateur 20 et deux DSLAMs notés 21.1 et 21.2. Un serveur 4 de distribution temps réel sur lequel sont stockés des contenus multimédias 5, ou qui les fournit, transmet différents flux de données sur le réseau de distribution 1 au moyen d'un émetteur 6 de flux de données à destination de différents utilisateurs, par 15 exemple CPE1 et CPE4. Chaque flux de données correspond à un contenu demandé par un utilisateur déterminé et à destination de cet unique utilisateur : on est ainsi dans un mode de transmission point à point. L'émetteur met en forme les différents flux pour les envoyer sur le coeur de réseau en utilisant des techniques de multiplexage bien connues. 20 Le chemin de diffusion d'un contenu multimédia stocké sur le serveur jusqu'à un demandeur (terminal utilisateur) suit différents liens de communication : cl entre le serveur 4 et l'émetteur 6; c2 entre l'émetteur et le coeur de réseau 1; c3 dans le coeur de réseau lui-même; c4 en sortie du coeur de réseau vers le concentrateur 20; c5, entre ce concentrateur et un 25 multiplexeur DSLAM 20. Le plus faible de ces liens détermine la bande passante du réseau de diffusion, c'est à dire le nombre maximal de bits par unité de temps que le réseau de diffusion peut accepter, par exemple 340 Mbit/s. Le serveur 4 contient sous forme de fichiers numériques, des flux de données numériques correspondant à chacun des contenus multimédia proposé par le service de VoD concerné. Ces fichiers résultent de manière connu d'un encodage des données audio et vidéo selon la norme MPEG 2903259 3 (acronyme anglo-saxon pour "Moving Picture Expert Group"). Sous cette norme, différents types d'encodage sont proposés. Dans les services de VoD, c'est un encodage à débit constant qui est utilisé, avec un taux de compression lié à l'algorithme de compression utilisé. Le flux de données 5 numérique qui résulte d'un tel codage, a un débit qui est constant sur la durée du flux, et identique pour tous les contenus (seule la durée varie). La valeur R constante de ce débit est fonction des caractéristiques du codage utilisé. Une valeur répandue est 4 mégabits par seconde. Le réseau de diffusion Vod peut ainsi admettre au maximum N 10 utilisateurs à un instant t, égal à la partie entière du résultat de la division de la bande passante du réseau par le débit R des flux de données multimédia. Ce nombre N d'utilisateurs qui peuvent être servis à un instant donné est donc limité par la capacité du réseau et la technique de codage. La capacité des réseaux est contrainte par la technologie des liens 15 de communication utilisés et ne peut augmenter indéfiniment. Le nombre d'utilisateurs d'un service de VoD est donc nécessairement limité ou bien le service dégradé. Notamment, dans certains créneaux horaires, la demande de service peut être forte et par conséquent un certain nombre de demandes ne seront pas servies. 20 Dans l'invention on a cherché une voie d'amélioration du service dans une optimisation des débits des flux de données. Notamment on s'est intéressé à des techniques de codage à débit variable dites VBR (Variable Bit Rate), qui utilisent en particulier des propriétés des images pour adapter le taux de compression au cours du temps, et améliorer ainsi la qualité de la 25 vidéo diffusée. Ces techniques sont notamment utilisées dans les services de diffusion de vidéo en continu, dite diffusion broadcast. La diffusion dite "broadcast" est un service qui fonctionne à l'initiative du diffuseur de contenus multimédia : un contenu, par exemple un film, est diffusé à un moment donné, à destination de tous les utilisateurs. Les données ne sont 30 envoyées qu'une seule fois et dupliquées sur les routeurs du réseau, en fonction des chemins menant aux utilisateurs, selon un mode de transmission dit multipoint. Chaque utilisateur a la possibilité de visualiser à 2903259 4 distance la séquence diffusée, à l'horaire imposé par le diffuseur, sans aucune interactivité. Dans ces services de diffusion, le taux d'occupation de la bande passante du réseau de distribution est indépendant du nombre d'utilisateurs. Il ne dépend que du nombre de services proposés à un 5 moment donné, ce qui est connu. Tous les points de routage sont connus. Ces services peuvent alors être multiplexés, de façon statistique, avec une garantie que la bande passante du réseau ne sera pas dépassée. Ces techniques de codage à taux variable appliquées à des contenus multimédias ne peuvent cependant pas s'appliquer directement aux 10 services de VoD, sans poser un problème de gestion inhérent au fonctionnement de ces services à la carte : le partage de la bande passante entre les utilisateurs. En effet, contrairement à ce qui se passe en diffusion "broadcast", l'émetteur qui envoie les flux de données multimédia sur le coeur de réseau, ne peut pas utiliser une gestion statistique des flux 15 transmis: il ne peut pas prévoir quels flux vont être demandés ni à quels moments, puisque ces flux dépendent directement des demandes des utilisateurs. En outre comme chaque flux a un profil de débit variable, qui lui est propre, l'émetteur ne dispose d'aucune information prédictive sur les flux et leurs débits qui devraient être transmis sur le réseau. Dans un service de 20 VoD, l'émetteur n'est donc pas à même de gérer de manière simple et statistique, l'évolution du trafic sur le coeur de réseau. Il ne connaît à l'avance ni les points de routage dans le réseau, puisqu'il ne sait pas qui va faire une demande, ni le débit de données puisqu'il ne sait pas quel contenu va être demandé. L'utilisation de flux codés à débit variable pose donc un problème 25 de gestion des demandes de services VoD, qui va au-delà de la simple gestion du nombre N d'utilisateurs connectés comme dans l'état de l'art, et qui ne peut pas utiliser des mécanismes statistiques comme dans les services de diffusion de type "broadcast". Résumé de l'invention 30 L'invention concerne un procédé de gestion de demandes d'accès à distance à des contenus multimédias, qui permet une gestion optimale de 2903259 5 l'utilisation de la bande passante du réseau de diffusion avec une utilisation de flux de données encodés à débit variable. Le profil de débit de chacun des contenus multimédia proposé à la distribution est une caractéristique de l'encodage MPEG de type VBR réalisé 5 pour le contenu multimédia considéré. C'est une information que l'on peut donc enregistrer, par exemple sous forme d'un fichier texte, en même temps que l'encodage du contenu multimédia est effectué. Selon l'invention, on exploite les profils de débit de chacun des contenus multimédias proposés par le serveur, pour mettre en oeuvre une 10 gestion non statistique mais contrôlée de l'utilisation de la bande passante du réseau de distribution. Les profils de débit sont utilisés pour calculer le profil total des flux de données en cours de diffusion sur le réseau, et le comparer au profil du nouveau flux demandé, par rapport à la bande passante du réseau de diffusion. Cette comparaison est effectuée en faisant une ou 15 plusieurs hypothèses d'une insertion instantanée et/ou retardée du nouveau flux dans le flux multiplex en cours, de manière à exploiter au mieux les caractéristiques des profils, notamment la position des pics et de creux de débit dans les profils du multiplex et du nouveau flux. Une gestion selon l'invention permet à tout moment d'optimiser l'utilisation de la capacité du 20 réseau pour servir au mieux les différents utilisateurs. Le service est ainsi plus souple et permet d'augmenter le nombre d'utilisateurs qui peuvent y accéder. L'invention concerne donc un procédé de gestion d'une demande d'accès à distance à un contenu multimédia parmi une pluralité de contenus 25 multimédias fournis par un serveur sous forme de flux de données numériques, permettant une émission d'un ensemble de flux de données fournis par ledit serveur vers un réseau de distribution en fonction d'un seuil de capacité dudit réseau de distribution, caractérisé en ce que lesdits flux de données numériques sont du type à débit variable, au moins un profil de 30 débit de données étant associé à chaque flux, et en ce que pour au moins une partie des demandes d'accès à distance reçues, le procédé de gestion comprend une étape de détermination d'au moins un instant d'insertion d'un 2903259 6 flux de données correspondant à une demande reçue, en fonction d'un premier profil de débit correspondant à l'ensemble des flux en cours, et d'un deuxième profil de débit correspondant au profil de débit associé au flux correspondant à ladite demande, ledit instant d'insertion pouvant 5 correspondre à une insertion instantanée du flux demandé, ou une insertion retardée. L'invention concerne aussi un appareil connectable à un réseau de distribution d'un système de diffusion de contenus multimédia à la demande fournis par un serveur multimédia sous forme de flux de données 10 numériques à débit variable, ledit appareil comprenant des ressources mémoire pour stocker des profils de débit des dits flux de données, et des ressources de traitement numériques apte à mettre en oeuvre un algorithme de détermination d'un instant d'insertion d'un nouveau flux de données numériques correspondant à une demande d'accès à un contenu multimédia, 15 à un ensemble de flux de données en cours de diffusion sur le dit réseau, à partir des profils de débit dudit nouveau flux et desdits flux de données en cours. L'invention concerne aussi un système de diffusion de contenus multimédia à la demande comprenant un tel appareil de contrôle et un 20 serveur de contenus multimédia sous forme de flux de données numériques à débit variable, dans lequel des profils de débit correspondants aux dits flux de données sont stockés dans le serveur au moment de l'encodage des contenus multimédia par lequel lesdits flux de données sont générés, et lesdits profils sont transmis par le serveur pour être mémorisés dans ledit 25 appareil. Description sommaire des dessins D'autres avantages et caractéristiques de l'invention sont détaillés dans la description suivante en référence aux dessins illustrés, donnée à titre d'exemple non limitatif. Dans ces dessins : 30 -la figure 1 déjà décrite, illustre un réseau de diffusion de contenus multimédias à partir d'un serveur multimédia, permettant d'offrir un service de VoD; 2903259 7 -la figure 2a illustre un réseau de diffusion comprenant un contrôleur de gestion de demandes d'accès à distance selon l'invention ; -la figure 2b montre un exemple d'architecture d'un tel contrôleur de gestion; -les figures 3a et 3b illustrent chacune respectivement un exemple de gestion 5 d'un nouveau flux de données, en considérant une insertion instantanée, respectivement retardée; -la figure 4 est un organigramme général d'un algorithme de détermination d'un instant d'insertion d'un nouveau flux selon l'invention; -les figures 5a et 5b illustrent un principe de lissage de débit appliqué en ~o sortie de l'émetteur; et -la figure 6, un exemple d'application de ce principe dans un procédé de gestion selon l'invention; -la figure 7 est un organigramme détaillé d'un algorithme de détermination d'un instant d'insertion d'un nouveau flux; 15 -la figure 8a représente différents profils du débit S(t) total des flux en cours de distribution correspondant à des périodes d'échantillonnages différentes; -la figure 8b représente différents profils du débit Rä (t) d'un nouveau flux demandé correspondant à des périodes d'échantillonnages différentes; -la figure 9 illustre un premier mode de réalisation d'une gestion selon 20 l'invention, utilisant les différents profils illustrés sur les figures 8a et 8b; et -les figures 10a et 10b illustrent un autre mode de réalisation d'une gestion d'admission de demande selon l'invention. Description détaillée 25 Dans un souci de clarté, on utilise les même références pour les éléments communs aux figures. Par ailleurs, dans la suite, on entend par : -flux demandé, ou nouveau flux, le flux correspondant à une demande d'accès à distance à un contenu multimédia donné. Ce flux demandé peut en particulier être une nouvelle demande d'un utilisateur, ou 30 une demande de reprise de lecture après une pause, auquel cas le flux à considérer est la partie restante du flux, non encore diffusée. Ce peut être un flux correspondant à une avance rapide ou un retour rapide. Dans tous les 2903259 8 cas, il y correspond un flux de données déterminé. Par exemple, pour une lecture normale, le flux correspond à une transmission de 25 ou 30 images par seconde. Pour une avance rapide, le flux correspond par exemple à une transmission de 1 image toutes les 12 images. Dans la suite on ne fait pas 5 de distinction entre ces différentes demandes liées à des fonctionnalités de lecture offertes par le service. -demande d'accès à distance à un contenu multimédia, une demande de service VoD, émise par un utilisateur, soit pour lire un contenu multimédia, soit pour reprendre la lecture d'un contenu multimédia après une 10 pause, soit tout autre type de lecture offerte par le service VoD, comme on peut également les trouver sur un magnétoscope ou un lecteur de DVD. Un réseau de diffusion de contenus multimédias à la demande, comprenant un contrôleur de gestion des demandes, pour mettre en oeuvre 15 un procédé de gestion optimisé selon l'invention est illustré sur la figure 2a. Dans ce réseau, la partie système de diffusion des contenus multimédias à la demande comprend en plus du serveur 4 et de l'émetteur 6, un contrôleur de gestion 7, pour gérer de façon optimisée les nouvelles demandes. Dans l'exemple, un lisseur de débit 8 disposé entre l'émetteur 6 et le coeur de 20 réseau 1 est en outre prévu. Cette ressource optionnelle permet d'apporter une souplesse dans la gestion de la capacité du réseau, comme il sera vu plus loin. Le serveur 4 fournit les contenus multimédias Vn offerts à la diffusion, sous forme de flux numériques à débit variable VBR,,. A chacun de ces flux VBR,,, le serveur 4 peut faire correspondre un profil de débit Rä (t), 25 qui donne le débit instantané à chaque instant t de la durée Tn de diffusion du contenu multimédia associé V. Ce profil Rn(t) peut être extrait au moment du codage du contenu multimédia Vä et stocké sur le serveur 4, par exemple sous forme d'un fichier texte, en même temps que le flux de données encodé résultant, VBR,,. 30 Le contrôleur de gestion 7 peut être un appareil séparé, connectable au réseau de distribution par une interface réseau il, comme illustré sur la figure. Il peut encore être intégré au serveur 4. lI peut établir 2903259 9 des communications avec les autres ressources. En particulier il peut recevoir via l'interface réseau il, des informations du serveur 4, notamment les profils Rn(t) des contenus multimédias Vn, de l'émetteur 6 ou du tisseur 8 de débit, en établissant des communications correspondantes I1, 12, 13. 5 Le contrôleur 7 a notamment pour fonctions de détecter les nouvelles demandes d'accès, et d'y donner suite ou de les refuser, en fonction de la capacité courante du réseau de diffusion. Plus particulièrement, à chaque nouvelle demande, ou pour au moins une partie d'entre elles, il détermine en fonction du débit total des flux en cours de 10 transmission, s'il est possible d'insérer le flux demandé correspondant dans le flux multiplex en cours, soit instantanément, soit en appliquant un retard déterminé, compte-tenu du débit maximum admissible sur le réseau. Pour assurer ces fonctions, le contrôleur de gestion 7 comprend des ressources de traitement numérique et une interface réseau. Un exemple d'architecture 15 correspondante est illustrée sur la figure 2b, comprenant différentes ressources qui communiquent par un bus interne référencé 75, et notamment un processeur 71 permettant l'exécution des traitements, en particulier d'un algorithme de détermination d'un instant d'insertion possible pour le nouveau flux, une mémoire de travail 72 associée pour le stockage de données tels 20 que le débit total des flux en cours, noté S(t) ou la somme E(t) de ce débit total avec le profil de débit Rn(t) du nouveau flux, ou différentes données concernant les flux en cours de diffusion, et une mémoire de stockage 73, tel qu'un disque, permettant notamment de stocker les profils Rn(t) des contenus multimédias offerts par le service, des données caractéristiques du réseau, 25 tel que des valeurs de seuil Br1, Br2 représentatives de la capacité du réseau, des paramètres liés au lisseur de données 8... Le contrôleur 7 possède en outre une interface référencée 74 avec le réseau 1 de distribution de contenu. A chaque instant, le contrôleur 7 sait quels flux de données sont 30 en cours de transmission sur le réseau. II peut déterminer le profil de débit total S(t), par sommation des profils de débit Rn(t) de ces différents flux. Ce calcul est de préférence effectué par avance, en temps réel. Il peut être 2903259 10 calculé sur une grande durée,. typiquement sur la plus grande durée de diffusion restante parmi les flux du multiplex. Le contrôleur 7 dispose ainsi à tout moment du profil temps réel du multiplex. Ce calcul suppose pour chaque flux en cours de transmission, que le contrôleur 7 garde en mémoire, 5 différentes informations telles que le top départ de l'insertion du flux dans le multiplex, l'instant auquel une pause de lecture a été faite... L'obtention de ces différentes informations se fait de manière habituelle suivant les échanges d'information de services VoD entre les différentes ressources du réseau et ne sera donc pas détaillée plus avant. On notera que l'on peut très 10 bien envisager de ne faire le calcul du profil S(t) du multiplex qu'à chaque fois qu'une demande d'accès à distance est reçue. Les ressources de traitement du contrôleur seront moins utilisées, mais le traitement temps réel est alors moins optimum. Quand une nouvelle demande est émise par un utilisateur, le 15 contrôleur de gestion 7 détermine s'il est possible d'insérer le flux demandé, dans le flux multiplex en cours, soit instantanément soit avec un certain retard déterminé, en fonction notamment du profil S(t) du flux multiplex en cours, et d'un seuil Br1, représentatif de la capacité du réseau (fonction des caractéristiques des liens de communication du réseau de diffusion 20 considéré). Cette détermination peut être faite en considérant différentes valeurs possibles du retard, entre une valeur nulle (insertion instantanée) et une valeur maximale admissible, c'est à dire une valeur de retard qui soit sans incidence pour l'utilisateur. Pour chaque valeur, on vérifie dans la fenêtre d'insertion du flux demandé correspondante, si le débit total émis, 25 compte tenu des flux en cours, est inférieur ou égal au seuil. Cette vérification peut être effectuée suivant différentes méthodes. Notamment elle peut être basée sur un calcul de débit cumulé du débit du nouveau flux avec celui du flux en cours, ou sur un calcul d'un profil différence, entre le débit maximal admissible sur le réseau et le débit en cours (calcul de la bande 30 passante disponible), et une comparaison de ce profil différence avec le profil du nouveau flux. 2903259 11 Dans le cas d'une insertion retardée, d'une valeur AT non nulle, positive, l'utilisateur devra attendre ce délai supplémentaire AT avant de pouvoir visionner le contenu qu'il a demandé. Le retard maximal possible est déterminé pour être sans incidence sur le service. Typiquement un retard de 5 quelques centaines de millisecondes à 1 seconde n'a pas d'incidence sur l'utilisateur, et ne dégrade donc pas le service. Un mode de détermination d'un instant d'insertion conforme à l'invention va maintenant être expliqué pour illustrer l'invention. Il est basé sur une méthode de cumul du profil S(t) avec le profil du nouveau flux. Ce mode 10 est illustré en relation avec les figures 3a et 3b. On considère que la demande est reçue à un instant t0 par le contrôleur 7. A cette demande d'accès correspond un flux de données VBRn et un profil de débit correspondant. Ce profil est connu du contrôleur 7 : c'est une des données qu'il contient en mémoire de données 73, ou bien il peut 15 l'obtenir par le serveur 4. Ce profil a une largeur Tn, correspondant à la durée de diffusion. Le résultat de la sommation de ce profil Rn(t) avec le débit total S(t) du flux multiplex en cours dépend du moment où l'on insère le flux demandé dans le flux multiplex. La figure 3a illustre l'hypothèse d'une insertion instantanée du flux 20 demandé, c'est à dire une insertion à t0. Par simplification on considère que l'instant t0 auquel on a reçu la demande et l'instant d'insertion instantanée du flux dans le multiplex coïncident. En réalité il y a des retards incompressibles dont il faudra en pratique tenir compte dans les calculs. Le contrôleur effectue la sommation du profil total S(t) sur la 25 fenêtre [t0, tO+Tn], avec le profil Rn(t), en faisant coïncider le début du profil Rn(t), avec t0 : E(t)=S(t)+Rn(t), pour t [t0, tO+Tn]. Sur cette fenêtre, le contrôleur compare ce profil E(t) au seuil Br) de débit maximum admissible sur le réseau. Dans l'exemple illustré, il détecte trois zones temporelles 30.1, 30.2, 30.3 dans lesquelles ce seuil est dépassé. L'insertion instantanée du 30 flux demandé dans le multiplex en cours n'est donc pas possible. La figure 3b illustre l'hypothèse d'une insertion retardée du flux demandé, d'une valeur AT c'est à dire une insertion à tO+AT. Le contrôleur 2903259 12 effectue la sommation du profil total S(t) pris sur la fenêtre [tO+AT, tO+AT +Tn], avec le profil Rn(t), en faisant coïncider le début du profil Rn(t), avec tO+AT. On obtient le débit cumulé E(t)=S(t)+Rn(t), pour t e [t0, tO+Tn]. Sur cette fenêtre, le contrôleur compare ce profil E(t) au seuil Br, de débit 5 maximum admissible sur le réseau. Dans l'exemple illustré, on voit alors que la courbe cumulée E(t) obtenue ne montre pas de zones de dépassement du seuil : sur la fenêtre d'insertion [tO+AT, tO+AT+Tn], les creux et les pics des deux profils S(t) et Rn(t) se compensent judicieusement. La demande d'accès va alors être admise et le flux demandé sera inséré à l'instant tO+AT 10 au flux de demandes en cours. De manière générale, dans l'étape de détermination d'un instant d'insertion, il s'agit ici d'exploiter les pics et les creux des deux courbes de débit S(t) et Rn(t) pour chercher un instant optimum d'insertion du flux demandé, en sorte que l'on reste en tout point à un niveau de débit total au moins inférieur ou égal au seuil Brl. En d'autres 15 termes, on cherche la meilleure configuration d'insertion du profil, si elle existe, pour insérer le flux demandé dans le flux de données en cours. Comme illustré sur la figure 4, un procédé de gestion d'une demande d'accès à distance selon l'invention comprend les étapes suivantes : 20 -étape 100 d'initialisation comprenant une étape 100.1, pour établir et/ou aller chercher le profil de débit temps réel S(t) du flux multiplex, établit soit à la demande, soit en tâche de fond temps réel (tâche COMP (S(t)); une étape 100.2, pour chercher le profil Rn(t) du flux demandé, soit en mémoire 73 du contrôleur, soit en mémoire du serveur 4; 25 -étape 101 de vérification de la condition de seuil Brl : si en faisant une hypothèse d'insertion instantanée, le profil de débit cumulé E(t) est en tous points en dessous du seuil Br1 sur la fenêtre d'insertion [tO, tO+Tn], accepter la demande et insérer instantanément le flux demandé dans le multiplex (étape 101.1). 30 -étape 102 : si il existe une ou des zones de dépassement, chercher une valeur de retard AT admissible, pour laquelle le profil cumulé soit en tous points inférieur ou égal au seuil Brl sur la fenêtre d'insertion correspondante 2903259 13 [tO+AT, tO+OT+Tn],pour admettre la demande et insérer le flux avec le retard ainsi déterminé (étape 102.1). Un perfectionnement de la gestion des demandes d'accès permet une tolérance accrue dans l'admission des demandes. Ce perfectionnement 5 suppose que le réseau de diffusion comprenne entre la sortie de l'émetteur 6 et le réseau de distribution 1, des moyens 8 de lissage de débit, comme illustré sur la figure 2a. Des moyens de lissage sont utilisés de manière connue dans des systèmes de diffusion vidéo sur des réseaux de type ATM (Asynchronous 10 Transfer Mode), c'est à dire où la transmission des paquets de données sur le réseau est du type asynchrone, avec un système d'écoute du réseau, contrairement aux services comme les services de VoD qui sont basés sur des transmissions synchrones des paquets de données. La technique de lissage permet d'admettre un multiplex de flux de données dont le débit 15 dépasse localement en certains points le seuil de débit maximal du réseau de diffusion. Le lisseur a alors pour fonction d'étaler les paquets de données dans ces zones de dépassement, c'est à dire de faire passer des paquets de données vidéo un peu avant ou un peu après le moment où ils auraient dû être normalement envoyés. Selon le lissage employé, on tolère plus ou 20 moins de dépassement sur une période de temps, et des hauteurs et durées de dépassement limitées. Dans l'invention, on utilise les caractéristiquesd'un lisseur 8 placé en sortie de l'émetteur 6, pour obtenir une tolérance, une souplesse dans l'application du critère de dépassement du seuil Br1 du réseau de diffusion. 25 Un exemple de mise en oeuvre de ce perfectionnement est illustré sur les figures 5a et 5b. Sur la figure 5a, on a représenté à titre d'exemple, un profil de débit cumulé E(t). Ce débit cumulé varie autour d'une valeur moyenne Dm. Il comporte des pics qui dépassent le seuil Br1, dans l'exemple dans chacune des zones temporelles 30.4 et 30.5. Ces 30 dépassements dans les zones 30.4 et 30.5 seront lissés par le lisseur 8 de débit ("rate shaper'). On obtient la courbe lissée EL(t) illustrée sur la figure 5b, qui correspond au débit de données obtenu en sortie du lisseur : 2903259 14 localement, dans ces zones, on observe un étalement des paquets de données. La tolérance dans la gestion des admissions des demandes va dépendre en pratique des caractéristiques de lissage mis en oeuvre, qui 5 peuvent dépendre notamment de contraintes techniques. Notamment, le lissage introduit de la gigue dans le flux vidéo, gigue qui doit rester dans des limites supportées par les équipements de décodage vidéo, ce qui se traduit en particulier par une plage de pourcentage de dépassement relative à une durée de dépassement. Ces données pourront être transmises par le lisseur 10 8 et mémorisées par le contrôleur 7 en mémoire de données 73 (figure 2b). En pratique, l'utilisation des possibilités offertes par un lissage, quand il est prévu dans le réseau de diffusion, va se traduire par une étape supplémentaire pour décider si une demande peut être acceptée ou non. Dans l'exemple illustré sur la figure 6, on prend comme hypothèse que la 15 courbe de débit cumulée présente localement, dans une zone 30.6, un léger dépassement local du seuil Br1. Si ce dépassement répond aux contraintes du lisseur 8 en termes notamment de hauteur et durée du dépassement, le contrôleur de gestion va accepter l'insertion du flux demandé, dans l'exemple avec un retard AT à l'insertion. 20 Un procédé de gestion des demandes selon l'invention permet ainsi une gestion non statistique mais contrôlée à tout moment, du débit des flux de données en cours sur le réseau de diffusion ainsi qu'une optimisation du nombre d'utilisateurs du service de VoD servis simultanément. En pratique, un algorithme de détermination d'un instant 25 d'insertion est appelé par le contrôleur 7 à chaque nouvelle demande, ou au moins pour une partie d'entre elles. En effet, en deçà d'un certain nombre d'utilisateurs en ligne, on n'a pas de problème de capacité de réseau, et il n'est pas utile de mettre en eouvre le procédé de l'invention pour ces demandes. 30 L'instant d'insertion peut être déterminé par paliers successifs, en utilisant une boucle de détermination et un pas de boucle associé. La boucle est initialisée avec un retard Ati nul (correspondant à une hypothèse 2903259 15 d'insertion instantanée ûfigure 3a) et on vérifie la condition de seuil Br1. Si la condition de seuil n'est pas vérifiée, on incrémente le retard Ati de la valeur m du pas de boucle, et on vérifie la condition de seuil et ainsi de suite, jusqu'à trouver une valeur de retard Ati pour laquelle la condition est vérifiée, 5 ou avoir effectué un nombre déterminé de boucles correspondant à un retard maximum admissible. Des perfectionnements peuvent être intégrés à cet algorithme. Notamment, même si une insertion instantanée est possible, on peut prévoir de vérifier si il existe des valeurs de retard pour lesquelles l'insertion est 10 également possible, et choisir une insertion avec celui des retards déterminés qui permet de satisfaire une contrainte plus forte en terme de seuil de capacité de réseau, typiquement pour lequel le débit cumulé serait en tous points de la fenêtre d'insertion inférieur ou égal à un seuil Br2 inférieur à Br1, par exemple de l'ordre de 5%. Dans ce cas, et comme par 15 exemple illustré sur la figure 7, le contrôleur initialise (étape 100) une boucle 200 de détermination d'un instant d'insertion : compteur i=0, retard Ati =0, obtention des profils S(t) (étape 100.1) et Rn(t) (étape 100.2) ; et-effectue K fois cette boucle, en incrémentant le compteur i d'une unité 04+1) et le retard d'un pas de boucle m (Ati=Ati+m) entre chaque boucle (étape 300). 20 A chaque boucle 200, le contrôleur applique différentes étapes : -étape 200.1 : détermination si pour le retard considéré Ati, la condition de seuil Br1 est vérifiée, le cas échéant avec lissage (étape 200.2). -étape 200.3 : si la condition à l'étape 200.1 est vérifiée, détermination si la condition plus contrainte de seuil Br2 est vérifiée ; pour compléter (étape 25 200.4) en fonction des résultats de la boucle i, une table de solutions Si possibles, indiquant la valeur du retard Ati (nul, ou positif) à l'insertion et la contrainte de seuil associé : Br1, ou Br2 qui est vérifiée. Par exemple, on obtient les trois solutions suivantes: SO(AtO=O;Brl) à i=0; S2(At2=2.m;Br2) à i=2 ; S5(At5=5.m;Br2) à i=5. Le 30 contrôleur 7 pourra alors préférer la solution S2, aux solutions SO et S5 : dans la fenêtre d'insertion correspondante, elle laisse plus de bande passante disponible que la solution SO, ce qui peut faciliter l'admission d'une 2903259 16 autre demande future ; et elle impose un retard à l'insertion moindre que la demande S5. Dans un exemple pratique la valeur m du pas de boucle peut-être de l'ordre de 50 millisecondes et le retard maximum admissible pour un 5 utilisateur, sans dégradation de service notable, de l'ordre de 500 millisecondes à 1 seconde, ce qui donne un nombre K maximum de boucles de l'ordre de 10 à 20. Des modes de réalisation de l'étape de vérification performants en termes de temps de calcul et de consommation mémoire peuvent être 10 implémentés, en particulier pour le traitement des profils de débit et leur comparaison au seuil. Il est utile à ce stade de préciser quelques notions sur les profils de débit. Le profil de débit d'un flux donne l'évolution en fonction du temps du débit de données de ce flux. La largeur du profil correspond à une durée de diffusion de ce flux. S'agissant de données multimédias, il y a 15 typiquement 25 à 60 trames vidéo par seconde, suivant le mode vidéo (entrelacé ou progressif), une trame correspondant à une image ou une demi-image (mode entrelacé) et le format (PAL, NTSC,...). Une représentation d'un profil de débit peut donc être un ensemble de données par exemple dans un fichier texte. Chaque donnée du fichier est un 20 échantillon de débit du flux pour un instant d'échantillonnage donné. L'échantillonnage est tel que sur chaque période d'échantillonnage, c'est la valeur de débit la plus élevée qui est retenue comme valeur de l'échantillon. On a ainsi une suite de valeurs, par exemple 1, 5, 8, ... mégabits par seconde (Mbs), pour chaque instant d'échantillonnage t0, tO+Te, 25 t0+2.Te....Un échantillonnage à la seconde apparaît comme une valeur réaliste. Le contrôleur de gestion a accès au profil de chacun des contenus proposés par le service. II utilise ces profils comme il vient d'être décrit pour calculer le profil du débit temps réel du flux multiplex en cours, en lisant les 30 profils de chacun des flux qui le composent, et en les cumulant en tenant compte du début de chacun des flux dans ce multiplex, c'est à dire en tenant compte pour chacun des flux du moment où ils ont été insérés. 2903259 17 A la réception d'une demande d'accès à distance à un contenu multimédia donné, le contrôleur va lire le profil de débit du flux demandé. Il doit alors vérifier en tout point, c'est à dire à chaque instant d'échantillonnage, si la somme des valeurs de débit à cet instant 5 d'échantillonnage dans les deux profils est inférieure ou égale au seuil. Pour des contenus multimédias dont la durée de diffusion peut atteindre par exemple deux à trois heures, cette vérification point à point peut se révéler quelque peu fastidieuse. Au lieu d'un unique profil, par exemple un profil élaboré à la 10 seconde (soit un échantillon par seconde), on prévoit dans un premier perfectionnement de l'invention, l'utilisation pour chaque flux d'une pluralité de profils obtenus pour des périodes d'échantillonnage différentes, d'une période plus longue, qui va donner donc le moins d'échantillons, à une période plus courte qui va en donner beaucoup plus. On procède ainsi à la 15 fois pour les contenus multimédias distribués par le serveur, et pour le multiplex de flux de données. On introduit ainsi une notion d'échelle, correspondant à la période d'échantillonnage considérée. Ceci permet de vérifier la condition de débit par approches successives, au moyen d'une boucle itérative, en sélectionnant la plus grande échelle tout d'abord, puis en 20 affinant la recherche sur des zones de dépassement éventuelles détectées, en utilisant une échelle de plus en plus fine. Pour illustrer ce mode de réalisation, on considère trois périodes d'échantillonnage différentes : Tel, par exemple égale à 3 minutes, Te2, par exemple égale à 1 minute et Te3, par exemple égale 15 secondes. Ces 25 valeurs numériques ne sont données qu'à titre d'exemple. Sur la figure 8a, on a représenté les trois profils de débit S'(t), S"(t) et S"'(t) obtenus pour un multiplex en cours sur le réseau, respectivement pour chacune des périodes d'échantillonnage Tel, Te2, Te3.. De même, sur la figure 8b, on a représenté les trois profils de 30 débit Rä'(t), Rä"(t) et Rä"'(t) du flux demandé, obtenus respectivement pour chacune des périodes d'échantillonnage Tel, Te2, Te. 2903259 18 Dans chaque profil, la valeur de débit retenue pour une période d'échantillonnage donnée, est la valeur maximale des valeurs représentant la même période à un échantillonnage plus précis. Par exemple à la figure 8a, la valeur du débit du premier échantillon de Tel sera le maximum des valeurs 5 des trois premiers échantillons de Te2, ce qui correspond à la troisième valeur. La comparaison à un seuil de capacité du réseau va se faire alors en trois étapes illustrées sur la figure 9 : -à l'étape O, on considère l'échantillonnage le plus grossier, correspondant à une période d'échantillonnage la plus grande Tel. C'est 10 pour cet échantillonnage que le fichier de données correspondant comprend le moins d'échantillons. Sur chaque période, on somme les échantillons correspondants des deux profils S'(t) et Rn'(t), pour déterminer les zones sur lesquelles on a un dépassement du seuil Br1. On identifie dans l'exemple deux zones de dépassement potentiel Z1 et Z2 de la capacité du réseau. Il 15 faut affiner la vérification dans ces zones Z1 et Z2. On passe à l'étape O : à l'étape O, on prend les profils S"(t) et Rn"(t) obtenus avec la deuxième période d'échantillonnage Te2, plus courte. Et dans les seules zones Z1 et Z2 identifiées à l'étape 1, on somme les échantillons de ces profils et on vérifie si dans ces zones, on a des zones de dépassement du 20 seuil Br1. Dans l'exemple illustré, on détecte ainsi dans la zone Z1, une zone Z1.1 dans laquelle on a un dépassement. Pour la zone Z2, on voit par contre qu'il n'y a en fait pas de problème de dépassement. Pour la zone Z1.1, il faut affiner la vérification en passant à l'étape OO -à l'étape 0, on prend les profils S"(t) et Rn"(t) obtenus avec la 25 deuxième période d'échantillonnage Te3, encore plus courte. Dans la seule zone Z1.1 identifiée à l'étape 2, on somme les échantillons de ces profils et on vérifie si dans cette zone Z1.1, on a des zones de dépassement du seuil Br1. Dans l'exemple illustré, il n'y a en fait aucun dépassement dans la zone Z1.1 identifiée. La demande pourra être acceptée. 30 Le procédé qui vient d'être décrit permet de réduire de manière significative le nombre de calculs à effectuer, en démarrant avec des fichiers de profils de débit comprenant un nombre réduit de valeurs, puis en affinant 2903259 19 le traitement uniquement sur les zones détectées à risque, en faisant en quelque sorte des zooms successifs. Si au final, on trouve une ou des zones dans lequel le seuil est dépassé et si un lisseur de débit est prévu, on va regarder si le dépassement 5 peut être corrigé par le lisseur. Sinon on va décaler d'un cran, c'est à dire d'un pas de boucle (figure 7), le moment considéré de l'insertion du flux demandé dans le multiplex en cours, et en déduire les nouveaux profils correspondants aux différentes périodes d'échantillonnage considérées. On recommence ensuite les étapes O, Z. 10 A chaque fois que l'on repasse les étapes O, 0,0, on regarde le cas échéant, en cas de zones de dépassement, si il peut être résolu par le lisseur, sinon on décale d'un cran supplémentaire, et ainsi de suite. En pratique, le nombre de périodes d'échantillonnage différentes utilisées est déterminé pour obtenir un bon compromis entre le temps de 15 calcul nécessaire et la qualité de service recherché. Les figures 10a et 10b montrent un autre mode de réalisation du traitement des profils de débit du multiplex et du flux demandé. Dans ce mode de réalisation, on utilise un profil de débit par flux, c'est à dire une seule période d'échantillonnage, par exemple, la seconde. L'amélioration du 20 temps de traitement est ici obtenue par classement des échantillons par ordre de valeurs de débit décroissant, avec un temps d'échantillonnage correspondant. On applique ce classement au profil du flux demandé, en tenant compte du temps de l'instant d'insertion considéré et au profil du total des flux en cours. Pour chaque instant d'insertion considéré, l'étape de 25 vérification de la condition de débit est alors appliquée : -en balayant les échantillons du profil du flux demandé en commençant par le premier, et en sommant la valeur de débit d'un échantillon, avec celle de l'échantillon dans le profil du multiplex qui correspond au même temps d'échantillonnage, 30 -et simultanément en balayant les échantillons du profil du multiplex en commençant par le premier, et en sommant la valeur de débit d'un échantillon, avec celle de l'échantillon dans le profil du flux demandé qui 2903259 20 correspond au même temps d'échantillonnage. Ces étapes de vérification s'arrêtent et la demande est acceptée dès que la somme des échantillons de même rang dans les profils Rn(t) et S(t) devient inférieure au seuil Br1, car on est alors sûr que les échantillons qui restent à considérer seront inférieurs en 5 débit à ceux déjà considérés : leur somme sera toujours inférieure à Br1. Si on se réfère à la figure 10a qui illustre le profil de débit S(t) d'un multiplex en cours, les échantillons s1, s2...etc sont classés par ordre de débit décroissant. De même, sur la figure 10b qui illustre le profil de débit Rn(t) d'un flux demandé en cours, les échantillons r1, r2...etc sont classés 10 par ordre de débit décroissant. Les fichiers correspondants contiennent alors pour chaque échantillon, une information relative à l'instant d'échantillonnage qui lui correspond. Le procédé de traitement procède de la façon suivante : -il va chercher le premier échantillon r1 dans le profil Rn(t), le somme avec l'échantillon du profil S(t) qui a le même instant d'échantillonnage, s28 dans 15 l'exemple et compare la somme au seuil Br1; puis il va chercher le premier échantillon s1 dans le profil S(t), et le somme avec l'échantillon du profil Rr,(t) qui a le même instant d'échantillonnage, r34 dans l'exemple et compare la somme au seuil Br1. -puis il va chercher le deuxième échantillon r2, et le somme avec l'échantillon 20 du profil S(t) qui a le même instant d'échantillonnage, s22 dans l'exemple et compare la somme au seuil Br1 ; puis il va chercher le deuxième échantillon s2, et le somme avec l'échantillon du profil Rn(t) qui a le même instant d'échantillonnage, r29 dans l'exemple et compare la somme au seuil Sri. Et ainsi de suite... 25 -dans le même temps, il somme deux à deux les échantillons de même rang et les compare au seuil Br1, jusqu'à atteindre le rang k pour lequel rk+sk REVENDICATIONS 1. Procédé de gestion d'une demande d'accès à distance à un contenu multimédia (Vj) parmi une pluralité de contenus multimédias fournis par un serveur (4) sous forme de flux de données numériques, permettant une émission (6) d'un ensemble de flux de données fournis par ledit serveur (4) vers un réseau de distribution (1) en fonction d'un seuil (Br1) de capacité dudit réseau de distribution, caractérisé en ce que lesdits flux de données numériques sont du type à débit variable, au moins un profil de débit de données étant associé à chaque flux, et en ce que pour au moins une partie des demandes d'accès à distance reçues, le procédé de gestion comprend une étape de détermination d'au moins un instant d'insertion d'un flux de données (VBRn) correspondant à une demande reçue, en fonction d'un premier profil de débit (S(t)) correspondant à l'ensemble des flux en cours, et d'un deuxième profil de débit correspondant au profil de débit (Rn(t)) associé au flux correspondant à ladite demande, ledit instant d'insertion pouvant correspondre à une insertion instantanée du flux demandé, ou une insertion retardée. 2. Procédé de gestion selon la revendication 1, dans lequel une étape de détermination d'un instant d'insertion comprend une vérification d'au moins une première condition sur une fenêtre temporelle d'insertion correspondante, définie depuis un instant d'insertion considéré, sur une durée correspondant à un temps de diffusion (Tn) du flux demandé, à savoir si le débit de données total correspondant aux dits premier et deuxième profil est inférieur ou égal au dit seuil (Br1) de capacité du réseau (1). 3. Procédé de gestion selon la revendication 2, dans lequel ladite vérification est basée sur un calcul d'un débit cumulé sur ladite fenêtre d'insertion desdits premier et deuxième profils. 2903259 24 4. Procédé de gestion selon la revendication 2, dans lequel ladite vérification est basée sur un calcul d'un profil différence entre ledit premier profil et un débit maximum sur ledit réseau. 5 5. Procédé de gestion selon la revendication 4, dans lequel un calcul d'une fonction d'intercorrélation est effectué entre ledit profil différence et ledit deuxième profil, en considérant différents instants d'insertion, et une recherche du ou des maxima d'intercorrélation est effectuée. 10 6. Procédé de gestion selon l'une des revendications 2 à 5, comprenant une étape de sélection d'un instant d'insertion parmi une pluralité d'instants d'insertion vérifiant ladite première condition (Br1), sur la base de la vérification d'une condition de débit plus contraignante (Br2). 15 7. Procédé de gestion selon l'une des revendications 2 à 6, dans lequel un lissage (8) de débit de données est prévu entre l'émetteur (6) et le réseau de distribution (1), caractérisé en ce que ladite première condition est appliquée avec une tolérance de dépassement du seuil (Br1), fonction de la durée et de la hauteur dudit dépassement. 20 8. Procédé selon la revendication 2 ou 3, dans lequel, à chaque flux de données, on associe au moins un profil de débit de données obtenu par échantillonnage, la valeur d'un échantillon étant égal au débit maximum trouvé sur la période d'échantillonnage correspondante. 25 9. Procédé selon la revendication 8, dans lequel pour chaque flux de données, on élabore une pluralité de profils de débit, chacun correspondant à une période d'échantillonnage déterminée, donnant une pluralité d'échelles de profil de débit, une première échelle correspondant à une période la plus longue, jusqu'à une dernière échelle correspondant à une période la plus courte, et dans l'étape de détermination d'un instant d'insertion, pour un instant d'insertion donné : 2903259 25 -a) on sélectionne les premier et deuxième profils dans la première échelle, et on lance la dite étape de vérification de la première condition, sur la largeur du deuxième profil et si la première condition n'est pas vérifiée, on applique la boucle suivante : -b) on identifie les zones temporelles (Z1, Z2) sur lesquelles ladite condition n'est pas vérifiée, on sélectionne les premier et deuxième profils dans l'échelle suivante, et on lance ladite étape de vérification de la première condition, sur lesdites zones temporelles identifiées, les étapes a) et b) étant appliquées jusqu'à la dernière échelle ou jusqu'à ce que la première condition soit vérifiée sur chacune desdites zones. 15 10. Procédé selon la revendication 8, dans lequel les échantillons d'un profil sont classés par ordre de valeurs de débit décroissant, avec un temps d'échantillonnage correspondant, ledit temps d'échantillonnage tenant compte d'un instant d'insertion considéré pour les échantillons du profil du flux demandé, et pour ledit instant d'insertion considéré, l'étape de 20 vérification de ladite première condition est appliquée : en balayant les échantillons du deuxième profil en commençant par le premier, et en sommant la valeur de débit d'un échantillon, avec celle de l'échantillon dans le premier profil qui correspond au même temps d'échantillonnage, 25 simultanément en balayant les échantillons du premier profil en commençant par le premier, et en sommant la valeur de débit d'un échantillon, avec celle de l'échantillon dans le deuxième profil qui correspond au même temps d'échantillonnage, et la demande est acceptée dès que la somme des échantillons de même 30 rang desdits premier et deuxième profils devient inférieure au dit seuil (Br1) du réseau. 5 10 2903259 26 11. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il est appliqué à chacune des demandes d'accès reçues. 5 12. Appareil (7) connectable à un réseau de distribution (1) d'un système de diffusion de contenus multimédia à la demande fournis par un serveur multimédia (4) sous forme de flux de données numériques à débit variable, ledit appareil comprenant des ressources mémoire (73) pour stocker des profils de débit des dits flux de données, et des ressources de 10 traitement numériques (71, 72) apte à mettre en oeuvre un algorithme de détermination d'un instant d'insertion d'un nouveau flux de données numériques (VBRn) correspondant à une demande d'accès à un contenu multimédia, à un ensemble de flux de données en cours de diffusion sur le dit réseau, à partir des profils de débit Rn(t) dudit nouveau flux et desdits flux de 15 données en cours. 13. Système de diffusion de contenus multimédia à la demande comprenant un appareil de contrôle (7) selon la revendication 12 et un serveur (4) de contenus multimédia (Vn) sous forme de flux de données 20 numériques à débit variable (VBRn), dans lequel des profils de débit Rn(t) correspondants aux dits flux de données sont stockés dans le serveur (4) au moment de l'encodage des contenus multimédia par lequel lesdits flux de données sont générés, et lesdits profils sont transmis par le serveur pour être mémorisés dans ledit appareil. 25 14. Système de diffusion de contenus multimédia selon la revendication 13, caractérisé en ce que ledit appareil (7) est intégré dans ledit serveur (4).