FR 2879380 A1 20060616 FR 0413190 A 20041210 Procédé et dispositif de multiplexage de flux de données véhiculant notamment des services à diffusion multiplexée et des services à diffusion en rafales L'invention concerne un procédé de multiplexage de flux de données. En particulier, l'invention s'applique à l'intégration de flux de données, dont la diffusion doit se faire par rafale, à des flux de données multiplexés, en vue d'une émission sur des canaux de transmission numérique. Les procédés de diffusion de contenu multimédia mis en oeuvre dans les dispositifs de multiplexage gèrent et optimisent, sur un nombre limité de canaux, l'envoi de flux de données, sous forme de paquets de transport entrelacés à un débit paramétré par l'utilisateur. Cela implique que les récepteurs soient en écoute permanente des données qui leurs sont transmises. Or, la mise à disposition de ces services multimédia vers les récepteurs portables, comme par exemple les téléphones mobiles ou les assistants personnels, nécessite la mise en place de procédés permettant d'optimiser l'utilisation de leurs batteries. Une solution, appelée émission en rafale, consiste à émettre un train de données suivi d'un intervalle de temps de silence connu à priori, et de répéter ce cycle. L'envoi discontinu de données autorise les équipements à se mettre en veille lors des instants de silence, et à reprendre la réception un peu avant le début de réception du prochain train de données, mécanisme rendu possible par la connaissance de l'heure d'émission du prochain paquet. La norme DVB-H décrit un tel mode de fonctionnement, avec pour objectif d'économiser les sources d'énergie des récepteurs. Cependant, tous les services diffusés vers ces terminaux ne peuvent être supportés par un flux en mode rafale, par exemple les données des 30 protocoles de signalisation. A l'idée d'optimiser la consommation d'énergie tout en conservant l'ensemble des services disponibles, se pose le problème de la cohabitation simultanée de ces deux modes de fonctionnement sur une même plate-forme de diffusion. L'invention a notamment pour but de permettre cette cohabitation simultanée. A cet effet, l'invention a notamment pour objet un procédé de multiplexage de flux de données comportant: - au moins un multiplexeur, au moins une entrée de flux de données dont la diffusion en sortie du multiplexeur prend la forme de flux multiplexés, - au moins une entrée de flux de données, comportant un tampon virtuel de données, dont la diffusion en sortie du multiplexeur prend la forme de rafales de données, au moins un gestionnaire adapté aux tâches suivantes: o élection d'une entrée par un procédé d'ordonnancement pour émettre la prochaine rafale de données; o attribution au niveau de remplissage du tampon virtuel de l'entrée élue de la somme des niveaux de remplissage des 20 tampons virtuel de données; o attribution au niveau de remplissage des tampons virtuels des autres entrées d'une valeur nulle ou inférieure à un niveau qui pourrait permettre la sélection de ces entrées par le multiplexeur. L'invention a également pour objet un dispositif mettant en oeuvre ce procédé de multiplexage. L'invention a notamment pour avantages qu'elle permet l'ajout ou la suppression dynamique de services à diffusion en rafales, sans perturbation sur la diffusion des autres services. Elle permet aussi de modifier pendant la diffusion la durée des rafales. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de 35 la description qui suit faite en regard des dessins annexés qui représentent: - la figure 1, un dispositif de multiplexage selon l'état de l'art; la figure 2, un système de multiplexage selon l'invention; la figure 3, le diagramme d'activité entre les entrées, le gestionnaire et le multiplexeur; - la figure 4, un exemple d'utilisation de la bande passante par un 10 procédé selon l'invention; la figure 5, la construction des champs d'horodatage dans les rafales de données; - la figure 6, les tampons de données de configuration dans le gestionnaire. La figure 1 présente, selon l'état de l'art, un multiplexeur 3 disposant d'un ensemble d'entrées 1 munies de plusieurs tampons 12 et d'un ensemble de sortie 4. A titre d'exemple, seules deux entrées et une sortie sont représentées sur la figure 1. Le multiplexeur 3 effectue l'opération de concaténation de données provenant de diverses sources - par exemple des flux de données audio, vidéo, des fichiers... - dans des paquets transports qui forment le flux de données 10. Les entrées 1, dont les données sont destinées à être diffusées en sortie 4 du multiplexeur 3 en mode multiplexée, seront appelées par la suite entrées de mode multiplexé. L'invention peut s'intégrer dans un procédé de multiplexage, tel que décrit notamment dans la demande de brevet EP 1 249 954. Le procédé de multiplexage dont il est question construit et délivre en sortie des paquets transports de taille Tp prédéterminée qui forment le flux de données 10. Les entrées 1 des flux de données Fa, Fb ont chacune un tampon virtuel de données 12. Un tampon virtuel de données 12 comporte une valeur de remplissage représentant la quantité d'octets que l'entrée correspondante est autorisée à émettre à un instant donné. Le multiplexeur 3 comprend un tableau 31 de tampons virtuels, dont le dimensionnement est fonction du nombre d'entrée 1. Le procédé de multiplexage, tel que décrit dans la demande de brevet EP 5 1249954 et illustré par la figure 1, peut être décrit par la séquence suivante: - le multiplexeur 3 demande à l'ensemble des entrées 1 de mettre à jour le niveau de remplissage de leur tampon virtuel 12 et récupère ces valeurs afin de les stocker dans son tableau de tampons virtuels 31; l'entrée, possédant le tampon virtuel 12 dont le niveau de remplissage est le plus élevé, est alors élue par le multiplexeur; l'entrée élue fournit un paquet transport au multiplexeur; le procédé de multiplexage présente le paquet transport sur sa sortie 4 pour former le flux de données 10. L'invention permet notamment d'intégrer des rafales de données de manière 20 transparente au flux de données multiplexés en sortie 4 du multiplexeur 3. La figure 2 présente un exemple de dispositif de multiplexage selon l'invention. Ce dispositif comprend, en plus du dispositif de la figure 1, des entrées 21 en liaison avec des tampons virtuels 22, un gestionnaire 5. Plus particulièrement, le gestionnaire 5 traite, par l'intermédiaire des tampons virtuels 22, les entrées 21 dont les données sont destinées à être transmises en rafale en sortie 4. Ces entrées 21 seront par la suite appelées entrées de mode rafale. Le gestionnaire 5 comporte un tampon virtuel de données 51. II en ressort que l'invention permet de faire cohabiter sur des multiplexeurs existants et sans modification de leur procédé de multiplexage des services à diffusion multiplexée et des services à diffusion en rafles. Le fonctionnement du procédé de multiplexage selon l'invention se fait par exemple de la façon décrite ci-après, à l'aide du dispositif de la figure 2. Une étape du procédé de multiplexage selon l'invention est l'établissement d'une configuration. Ainsi, les entrées 1 de mode multiplexé sont directement traité par le multiplexeur 3. Aucune configuration de ces entrées vis à vis du gestionnaire 5 n'est requise. Les entrées 21 de mode rafale sont en liaison avec le gestionnaire 5 pour lequel une configuration contenant notamment les consignes de débit de sortie et de durée des rafales est établie. La figure 3 illustre par un exemple une autre étape du procédé de multiplexage selon l'invention qui est la séquence de construction des paquets de transport qui forme le flux de données 10. Par une requête A, le multiplexeur 3 demande aux entrées 1 de mode multiplexé de calculer le niveau de remplissage de leur tampon virtuel 12. Les entrées 1 communiquent, par la réponse B au multiplexeur 3, le niveau de remplissage de leur tampon virtuel de données 12. Le multiplexeur 3 met alors à jour son tableau de tampons virtuels 31. Le multiplexeur 3 envoie une requête C aux entrées 21 de mode rafale leur demandant le niveau de remplissage de leurs tampons virtuels 22. Les entrées 21 de mode rafale transmettent par un message D au gestionnaire 5 le niveau de remplissage de leur tampon virtuel 22. Le gestionnaire 5 augmente le niveau de remplissage de son tampon de données 51 des valeurs reçues. Le gestionnaire 5 détermine parallèlement par un procédé d'ordonnancement quelle entrée 21 doit fournir les données de la prochaine rafale. Cette entrée 21 sélectionnée sera par la suite appelée entrée élue. Le gestionnaire 5 intime, aux entrées 21 qui n'ont pas été élues, l'ordre E leur indiquant de fixer la valeur de remplissage de leurs tampons virtuels de données 22 à une valeur inférieure à la taille Tp d'un paquet de transport, par exemple O. Les entrées 21 qui n'ont pas été élues renvoie par le message F au multiplexeur 3 la valeur de remplissage de leur tampon virtuel de données 22, tel que fixé par le gestionnaire 5. Le gestionnaire 5 attribue par un ordre G la valeur de remplissage de son tampon virtuel de données 51 au niveau de remplissage du tampon virtuel 22 de l'entrée élue. Cette valeur est retransmise par un message H au multiplexeur 3. Une fois l'ensemble des tampons virtuels 12 et 22 mis à jour, le multiplexeur 3 choisit, en fonction de son tableau de tampons virtuels 31, l'entrée qui doit fournir un paquet transport. Grâce au mécanisme précédent, l'entrée est forcément une entrée de mode multiplexée 1 ou l'entrée de mode rafale 21 élue, les autres entrées de mode rafale 21 ayant un niveau de remplissage de leur tampon virtuel 21 nul ou inférieure à la taille Tp d'un paquet de transport. Le multiplexeur 3 demande par une requête I à l'entrée qu'il vient de choisir, sur l'exemple de la figure 3 une entrée 21, de lui fournir un paquet transport. L'entrée choisit, ici une entrée 21, renvoie par un message J le paquet de transport. Le multiplexeur 3 la présente par un message K sur une sortie 4. Selon un mode de réalisation, plusieurs groupes d'entrées 21 de mode rafale sont constitués et configurés, un groupe comprenant des entrées présentant des caractéristiques semblables ou voisines. Chaque groupe est associé à un gestionnaire 5. Le gestionnaire 5 étant transparent pour le multiplexeur 3, les étapes décrites précédemment s'appliquent. Selon un mode de réalisation, le gestionnaire 5 peut être intégré au 20 multiplexeur 3. La figure 4 montre un exemple d'utilisation de la bande passante par le procédé selon l'invention. La bande passante y est représentée en ordonnés alors que le temps figure en abscisse. Le service Sa et Sb véhiculé par le flux de données Fa et Fb sont tous les deux des services à diffusion multiplexée. Les services Sc et Sd issus des flux Fc et Fd sont quant à eux des services à diffusion en rafale. On observe que les rafales de données associées Sc et Sd sont diffusés sur des intervalles de temps définis avec un débit majorant. La figure 5 illustre l'ordonnancement des champs d'horodatage dans les rafales de données. Dans l'exemple d'utilisation pour la norme DVB-H, le mode rafale impose un mécanisme d'horodatage relatif pour que les récepteurs connaissent l'instant auquel le prochain train de données en mode rafale va leur parvenir, afin de pouvoir stopper la réception puis de se remettre en état d'écoute entre deux rafales de données et ainsi économiser leur énergie. Avant d'être traitée par le multiplexeur 3, une rafale de données est horodatée par le gestionnaire 5. La figure 5 montre donc la construction par le gestionnaire 5 des champs d'horodatage. Dans cet exemple, un cycle d'émission de données est constitué par l'enchaînement de rafale de données, déterminé par avance à l'aide d'un procédé d'ordonnancement, provenant des flux Fc puis Fd, et ainsi de suite. Le gestionnaire 5 insère dans la rafale de données R1 un champ contenant l'instant auquel la rafale de données R3 sera émise. La figure 6 représente un schéma de construction possible des configurations relatives à chaque rafale, reposant sur un mécanisme à 4 tampons: - un tampon de diffusion Ti, correspondant à la configuration CRI et CR2 des rafales de données en cours de diffusion; un tampon de construction T2, représentant la prochaine configuration qui sera mise en diffusion et qui est en construction. II correspond à la configuration des rafales de données qui seront immédiatement diffusées après celles en cours de diffusion, à savoir dans notre exemple CR3 et CR4; un tampon d'horodatage T3, qui contient les configurations des 25 données précédant celle du tampon de construction, indispensable aux calculs d'horodatage, ici CR5 et CR6; un tampon de travail T4 dans lequel l'utilisateur peut effectuer des manipulations, comme par exemple l'ajout d'un nouveau flux à traiter, la suppression d'un flux existant ou encore la modification de la durée entre chaque rafale, sans perturber les autres tampons, correspondant sur la figure aux configurations CR7 et CR8. Lorsqu'un cycle de diffusion est achevé - dans l'exemple l'émission des 35 rafales R1, R2 provenant des entrées 21 -, les configurations CRI, CR2 des rafales de données R1 et R2 du tampon de diffusion Ti sont remplacées par les configurations CR3, CR4 des rafales de données R3, R4 du tampon de construction T2. De la même manière, les configurations CR5, CR6 des rafales de données R5, R6 du tampon d'horodatage T3 remplacent les configurations CR3, CR4. Enfin si une rnodification a été enregistrée, les configurations CR7, CR8 stockées dans le tampon de travail T4 sont copiées dans le tampon d'horodatage T3. Lorsqu'un flux de données arrivant sur une entrée 21 est interrompu, le tampon de travail T4 est mis à jour, puis, après un premier basculement de l'ensemble des tampons Ti, T2, T3 et T4, il n'y a plus de données de configuration provenant de l'entrée 21 interrompue dans le tampon d'horodatage T3. Enfin, après deux basculements de tampon, les données correspondantes ne sont plus prises en compte et l'horodatage des données a pu être mis à jour sans erreur. REVENDICATIONS 1. Procédé de multiplexage de flux de données comportant: au moins un multiplexeur (3), - au moins une entrée (1) de flux de données (Fa, Fb) dont la diffusion en sortie du multiplexeur (3) prend la forme de flux multiplexés (10), caractérisé en ce qu'il comporte: au moins une entrée (21) de flux de données (Fc, Fd), comportant un tampon virtuel de données (22), dont la diffusion en sortie du multiplexeur (3) prend la forme de rafales de données, au moins un gestionnaire (5) adapté aux tâches suivantes: o élection d'une entrée (21) par un procédé d'ordonnancement pour émettre la prochaine rafale de données; o affectation au niveau de remplissage du tampon virtuel (22) de l'entrée (21) élue de la somme des niveaux de remplissage des tampons virtuel de données (22); o attribution au niveau de remplissage des tampons virtuels (22) des autres entrées (21) d'une valeur nulle ou inférieure à un niveau qui pourrait permettre la sélection de ces entrées par le multiplexeur (3) . 2. Procédé selon la revendication 1 caractérisé en ce que les entrées (21) de mode rafale de flux de données (Fa, Fb) sont groupées en fonction d'un ou plusieurs paramètres donnés et en ce qu'à chaque groupe ainsi défini correspond un gestionnaire (5). 3. Procédé selon la revendication 1 caractérisé en ce que le gestionnaire (5): comporte un tampon virtuel de données (51); augmente le niveau de remplissage de son tampon virtuel de données (51) de la valeur de remplissage du tampon de données d'une entrée (21), lorsque celle-ci lui est communiquée; - décrémente le niveau de remplissage de son tampon virtuel de données (51) de la taille des données contenue dans le paquet de données formé par une entrée (21) de mode rafale qui lui est associé; fixe la valeur de remplissage du tampon virtuel (22) de l'entrée (21) désignée pour émettre la prochaine rafale au niveau de remplissage de son propre tampon (51). 4. Procédé selon la revendication 1 caractérisé en ce que le gestionnaire (5) inscrit dans un champ de données situé dans chaque rafale l'instant auquel la prochaine rafale sera émise. 5. Dispositif de multiplexage de flux de données, comportant: au moins un multiplexeur (3); au moins une entrée (1) de flux de données (Fa, Fb) dont la diffusion en sortie du multiplexeur (3) prend la forme de flux multiplexés (10); caractérisé en ce qu'il comporte: au moins une entrée (21) de flux de données (Fc, Fd), comportant un 15 tampon virtuel de données (22), dont la diffusion en sortie du multiplexeur (3) prend la forme de rafales de données; au moins un gestionnaire (5) adapté aux tâches suivantes: o élection d'une entrée (21) par un procédé d'ordonnancement pour émettre la prochaine rafale de données; o affectation au niveau de remplissage du tampon virtuel (22) de l'entrée (21) élue de la somme des niveaux de remplissage des tampons virtuel de données (22); o attribution au niveau de remplissage des tampons virtuels (22) des autres entrées (21) d'une valeur nulle ou inférieure à un niveau qui pourrait permettre la sélection de ces entrées par le multiplexeur (3) . 6. Dispositif selon la revendication 5 caractérisé en ce que les entrées (21) de mode rafale de flux de données (Fa, Fb) sont groupées en fonction d'un ou plusieurs paramètres donnés et en ce qu'à chaque groupe ainsi défini correspond un gestionnaire (5). 7. Dispositif selon la revendication 5 caractérisé en ce que le gestionnaire (5): 35 - comporte un tampon virtuel de données (51); augmente le niveau de remplissage de son tampon virtuel de données (51) de la valeur de remplissage du tampon de données d'une entrée (21), lorsque celle-ci lui est communiquée décrémente le niveau de remplissage de son tampon virtuel de données (51) de la taille des données contenue dans le paquet de données formé par une entrée (21) de mode rafale qui lui est associé; fixe la valeur de remplissage du tampon virtuel (22) de l'entrée (21) désignée pour émettre la prochaine rafale au niveau de remplissage de son propre tampon (51). 8. Dispositif selon la revendication 5 caractérisé en ce que le gestionnaire (5) inscrit dans un champ de données situé dans chaque rafale de données l'instant auquel la prochaine rafale de données sera émise. 9. Dispositif selon la revendication 5 caractérisé en ce que le gestionnaire (5) comporte plusieurs tampons de données (Ti, T2, T3, T4) relatives à la configuration et à l'horodatage des rafales pour chaque entrée (21).