FR 2807251 A1 20011005 FR 0004271 A 20000404 PROCEDE DE DEMULTIPLEXAGE ET DE REMULTIPLEXAGE D'UN FLUX DE TRANSPORT DESCRIPTION Domaine de l'invention L'invention se situe dans le domaine des procédés de démultiplexage et remultiplexage de flux de données en particulier de données au format MPEG. Description de l'art antérieur Que ce soit dans un centre de diffusion numérique, une tête de réseau câblé ou tout autre endroit physique où l'on doit à un moment donné, mélanger, combiner ou recomposer un flux de transport de données, en particulier au format MPEG, on fait ce que l' appelle un remultiplexage. Le remultiplexage est la conjonction de deux opérations élémentaires successives, un démultiplexage et un multiplexage. Le démultiplexage est l'opération qui consiste à extraire d'un flux de données, des données élémentaires qui sont des paquets transports. Cette opération peut en un lieu physique être exécutée simultanément sur d'autres flux de données, ou sur plusieurs ensembles de données élémentaires d un même flux. Les paquets transports transportent notamment des identifiants. Ces identifiants peuvent être mêmes ou être différents. Avant d'aller plus loin, il convient faire quelques rappels relatif à d'organisation d'un flux MPEG. Les données vidéo, audio, sous titre, etc. correspondant ' un événement, un service, un programme sont tout d'abord numérisées puis compressées au moyen de codeur vidéo, audio ....... Ces codeurs débitent des suites de bits, constituant des trains ou flux élémentaires données (Elementary stream - ES). Le multiplexage initial est l'opération qui consiste à préparer le transport des données numériques en provenance de différents codeurs, essentiellement en les empaquetant dans des paquets, puis à diriger ces paquets transports vers les voies de transport, voies hertziennes ou câbles par exemple. Au cours de leur transport, les données issues initialement de codeurs numériques peuvent passer par un ou plusieurs sites de démultiplexage remultiplexage pour arriver en final dans un décodeur numérique. A partir des données reçues au travers tampon mémoire, le décodeur doit pouvoir reconstituer le flux numérique décompressé qui sera utilise pour recréer les signaux analogiques d'image, de son, de texte. Le décodeur reçoit non seulement les données numériques relatives à un événement, sélectionné pour être décodé, mais aussi d'autres données relatives à d'autres événements. I1 importe donc d'étiqueter les paquets de données pour que le décodeur puisse sélectionner ordonner les paquets de données reçus. Le multiplexeur de départ est l'organe chargé d'étiqueter paquets de données. Le multiplexeur de départ reçoit les données numériques compressées sous forme de flux élémentaires (elementary stream ES). Chaque flux élémentaire ou train de données est ou non mis en paquets transports par le multiplexeur. Le formatage pour transport peut etre soit un flux élémentaire auquel a simplement été 'outé une identification ou encore un flux élémentaire auquel a été ajouté, d'une part, une identification de flux élémentaire et auquel, d'autre part, a fait subir une segmentation en paquets transports chaque paquet étant identifié. Un paquet de ce flux est constitué d'un en-tête de paquet (packet header) suivi données proprement dites. L'en-tête de paquet commence par un code de départ sur 32 bits dont les huit derniers identifient le type (audio, vidéo ou données privées) et le numéro du train élémentaire auquel le paquet de données appartient. L'en-tête indique la longueur du paquet et la taille du tampon mémoire d'entrée nécessaire à son décodage par le décodeur. Il peut également contenir des indicateurs temporels permettant l'amorce du décodage et la synchronisation avec d'autres données par exemple synchronisation entre des données vidéo et des données audio correspondantes. Un paquet peut contenir ensuite nombre variable d'octets de données, formant une charge utile paquet (pay load) fonction des caractéristiques du support d'enregistrement ou de transmission utilisé. La norme MPEG prévoit aussi la possibilité 'ajouter un train élémentaire d'ajustement (padding stream) pour obtenir un débit constant ou s' igner sur les secteurs physiques d'un dispositif de stockage, ainsi que des octets de remplissage (stuffing bytes) à l'intérieur d'un paquet (maximum 16 par paquet). Les paquets sont regroupés en packs, dont l'en-tête (pack header) fournit les informations de sequencement dans le temps et de débit au moyen de champs de référence d'horloge système (System Clock Reference .SCR) sur 33 bits et de débit de multiplex (mux rate field). Les champs SCR sont utilisés pour synchroniser dans le décodeur une horloge système commune â 90 kHz (System Time Clock ou STC) qui sert de base de temps et d unité de mesure aux champs de séquencement des paquets. Les en-tête de packs et en particulier celui premier pack contiennent des informations normalisées de format normalisé également. A titre d'information, le contenu d'un pack â norme MPEG 1 est donné figure 1. Chacun des paquets comporte notamment un identifiant de paquet (packet identifier - PID), et un identifiant de flux stream-id). l'identifiant de flux, stream-id) est définit par un format qui permet d'identifier 16 flux vidéo, 32 flux audio et 3 flux de données. La partie système de la norme MPEG-2 ISO/IEC 13818-1), qui définit l'organisation du multiplex MPEG-2, prévoit deux manières différentes de multiplexer ces flux élémentaires empaquetés ( ) pour former deux types de trains selon l'application visée le train programme et le train transport. Le train programme de MPEG-2 est créé a partir d'un ou plusieurs PES qui doivent obligatoirement partager la même horloge de référence. Ce type de train est destiné â des applications où le dispositif de stockage ou de transmission est susceptible n'introduire que très peu d'erreurs, comme c'est le par exemple dans les applications multimédia sur ROM ou disque dur. Ces paquets peuvent donc être relativement longs (par exemple 2048 octets) et train est organisé de manière similaire à un train système MPEG-1. Le train transport de MPEG-2 est principalement destiné au transport de programmes TV à longue distance sur des supports ou dans des milieux susceptibles d'introduire un taux d'erreurs assez élevé. La longueur des paquets doit être relativement courte pour permettre l'introduction de dispositifs de correction d'erreurs efficaces, tels les codes Reed Solomon. La longueur des paquets transport de MPEG-2 a été fixée à 188 octets, valeur retenue notamment pour les émissions diffusées par satellite, câble ou autres moyens terrestres à la norme européenne DVB. Ce type de train est destiné à combiner plusieurs programmes ne partageant pas forcément la même horloge système (STC) à l'intérieur d'un même multiplex. I1 est formé une série de paquets transports appartenant à différents flux élémentaires empaquetés (PES). Un identifiant de paquet (PID) sur 13 bits contenu dans l'en-tête paquet indique à quel flux est attribué le paquet. Un indice de continuité sur quatre bits permet de vérifier que tous les paquets envoyés ont été reçus. Un paquet de transport ne peut transporter que des données issues d'un seul 'flux élémentaire. Un flux élémentaire débute obligatoirement au début d'un paquet de transport et se termine obligatoirement à la fin d'un paquet de transport. Comme un flux élémentaire 'est pas nécessairement un multiple entier de 184 octets, il est prévu champs d'adaptation destinés à réaliser un bourrage pour arriver à 184 octets, ainsi d'autres fonctions telles que le transport d'informations de séquençage et de synchronisation. figure 2 représente la façon dont un flux ou train élémentaire (PES) est transformé paquets transports. titre d'exemple, cette figure représente en partie A, un ensemble de deux flux élémentaires PES 1 et PES 2. Chacun de ces flux comporte un en-tête. Le premier , PES 1 comporte en tête compris 420 octets soit 2 x 184 + 52 octets. Le second PES, PES 2 comporte en-tête compris 184 octets exactement. En partie B, on a représenté l'insertions des données contenues dans chacun de ces deux PES, dans des paquets transports et également l'insertion de ces paquets transports dans un flux de transport comportant les paquets transports, transportant les données des deux PES représentés partie A, mais aussi d'autres PES. On a représenté au total 8 paquets transports PT1 à PT8. Le premier PES, PES 1 est transporté par les paquets PT1, PT3 et PT5. Le second PES, PES 2 est transporté dans un paquet unique PT7. Les paquets PT2, PT4, PT6, PT8 transportent d'autres PES. Le premier paquet transportant le PES 1 comporte, comme tous les paquets transports, un en-tête de 4/ octets. 184 octets sont disponibles pour transporter d'autres données. Ce premier paquet comprend dans les données qu'il transporte, l'en-tête du PES puis un complément avec des données du PES de telle sorte qu'au total le paquet comporte 184 octets en plus des 4 octets d'en-tête. Le paquet PT3 comporte un en-tête de paquet. I1 ne comporter pas d'en-tête de PES. Les 184 octets du paquet PT3 sont des données primaires. Le paquet PT5 qui achève de transporter PES 1 comporte un en-tête de paquet et octets de données primaires utiles placées en fin de paquet. Entre la fin de paquet et l'en-tête, il est inséré 184 - 52 = 132 octets de champ d'adaptation. Le paquet PT7, qui transporte PES 2, comporte en-tête de paquet et 184 octets de données comportant notamment l'en-tête de PES2. Afin qu'un décodeur terminal puisse mettre en relation ou plusieurs numéros d'identification de paquet avec un événement sélectionné par un utilisateur terminal, un flux transporte des tables d'informations. La norme MPEG-2 définit notamment quatre types de tables. La table d'association de programme (PAT). La présence de cette table est obligatoire. Elle est transportée par des paquets identifiés par un PID conventionnel égal à 0 x 0000. Elle associe pour chaque programme convoyé par le train transport, le numéro de programme (de 0 à 65535) et les PID de paquets transportant une table PMT de localisation de chaque programme (Programme Map Table). Le décodage de cette table permettra au décodeur de savoir que les numéros de paquets (PID) correspondant à un programme sont donnés dans une table PMT transportée par des paquets dont la PAT lui donne les identifiants. La Pat réfère à autant de tables PMT qu'il y a de programmes présents dans un flux transport. La table de localisation de programme (PMT) indique en clair les identifications de paquets (PID) trains élémentaires mis en paquets (PES) constituant ensemble le programme ainsi que 'identification (PID) du paquet portant l'information de cadencement (Programm Clock Reference - PCR). D'autres tables normalisées et privées, de presence obligatoire ou non, permettent d'assurer d autres fonctions. On peut citer à titre d'exemple les tables pour l'accès conditionnel (Conditional Acces Table CAT). Cette table doit être présente dès lors 'un programme au moins est à accès conditionnel. Elle est transportée par des paquets d'identifiant PID) 0 0001. Elle indique au niveau des données contenues dans la table les identifiants (PID) des paquets transportant les messages d'autorisation d'accès (Entitlement Management Messages EMM). Ainsi, la table d'association de programme (PAT) et la table pour l'accès conditionnel (CAT) sont exemples de tables dont les identifiants de paquets transports sont attribués de façon conventionnelle. Ce point est à noter, car il est important en qui concerne l'invention. La fréquence de répétition des tables 'est imposée par la norme, mais elle doit être suffisante (10 à 50 fois par seconde) pour permettre au decodeur d'accéder rapidement au programme recherché. Chaque table est constituée d'une suite d'une ou plusieurs sections (au maximum 256), chacune de longueur maximale 1024 octets (sauf pour les tables privées ou les tables d'information sur les événements (EIT) où elle peut atteindre 4096 octets). Ces sections sont mises en paquets pour transport. Contrairement aux paquets des taux élémentaires paquetisés (PES), un début d'une suite de section ou une section ne débute pas nécessairement début d'un paquet de transport et une fin d'une suite de section ou une fin de section ne finit nécessairement à la fin d'un paquet de transport. Lorsqu' section débute dans un paquet, un d'en-tête appelé "payload-unit-start-indicator" est à 1. paquet peut débuter par la fin d'une autre section précédée ou non d'un champ d'adaptation. premier octet de la charge utile, appelé "pointer-field", donne le décalage du début de la nouvelle section par rapport à ce premier octet. Chaque section comporte un en-tête dans lequel figure notamment l'identification de la table (table-id) à laquelle la section appartient. La figure 3 représente en partie A un en-tête de section. Cet en-tête comporte de la gauche vers la droite . - un identifiant de table table-id, - un bit donnant des informations sur la syntaxe de section. Lorsque ce bit est à 0 l'en-tête est court il est long si ce bit est à 1, - un indicateur privé, - la longueur de la section. r La partie B de la figure 3, représente suite de l'en-tête de section lorsque l'en-tête est long. Dans ce cas, l'en-tête de section comporte, en outre, de la gauche vers la droite, une extension d'identifiant de table, un numéro de version de table, indicateur d'usage indiquant selon sa valeur que la table est applicable au programme courant ou au programme suivant, un numéro de section et le numéro de dernière section. La partie C, représente ce qui vient à la suite de l'en-tête de section long ou court. Il y a, d'une part, les données utiles (pay load) de la table incluses dans la section et, d'autre part, sur 32 bits indicateur contrôle de somme (check appelé couramment CRC32. Ce qu'il convient de retenir à ce stade car ce sera utilisé pour l'invention, c'est que table comprend outre les données utiles, d'autres données qui sont, par exemple, contenues comme cela vient d'être décrit dans l'en-tête ou en fin de section (CRC ). La figure 4 comporte les parties et B. La partie A représente une table comportant trois sections. La section 1 a un en-tête de table. Les sections 2 et 3 ont également un en-tête peut avoir l'une des configurations A ou A + B de la figure 3. La partie B représente une mise en paquets transports de la section 1 et d'une partie de la section 2 dans des paquets transports PT1, PT2, PT3. Le paquet PT1 comporte, comme chaque paquet, un en-tête de paquet puis, parmi les données qu'il transporte, l'en-tête de table et une partie des données de la section 1. Il est supposé dans un but de simplification que la fin des données de la section 1, ne remplit qu'une partie du paquet PT2, la partie se situant à gauche d'un trait vertical représenté dans le paquet PT2. Comme expliqué plus haut, dans le cas de transport de section, il n'est pas nécessaire de commencer le début de la section 2 en même temps qu'un nouveau paquet. Le début de la section 2 et notamment son en-tête commence dans paquet PT2. Le "pay load unit start indicator" est ' à 1. L'endroit du début de la section 2 indiqué par la valeur du "pointer field". Le rappel ci-dessus relatif à l'organisation des flux selon les normes MPEG est destiné a situer l'invention dans son domaine technique. 'invention n'est toutefois pas limitée à des flux organisés selon cette norme. Le vocabulaire de cette norme sera cependant repris car il présente l'avantage d'être bien connu et défini. Nous revenons maintenant à fonction démultiplexage. Le démultiplexage a pour but d'extraire des différents flux incidents (arrivant) les paquets transports ayant un ou plusieurs identifiants particuliers. La fonction de démultiplexage peut être étendue au-delà du paquet transport et l'on peut aller jusqu'à extraire des informations telles les sections, tables, ou encore des informations contenues dans la partie charge utile des paquets transports. La liste des identifiants est stockée en mémoire. Pour chaque occurrence de l'identifiant une comparaison est effectuée sur la partie en-tête du paquet transport. Le paquet/ entier ou uniquement la charge utile transportée par le paquet est transmis à un module chargé de reconstituer des informations complètes c'est ' dire comme expliqué plus haut, des sections, des tables qui sont des assemblages de sections ou encore des PES (flux élémentaires empaquetés). Un module extrait les paquets transports des différents flux, les stocke momentanément éventuellement. autre module multiplexe- des paquets transports reçus c'est-à-dire, réorganise les paquets source pour former un ou plusieurs flux de transport départ. Tous les éléments qui composent un flux départ doivent être présents dans les flux sources car le multiplexeur ne compose aucune donnée par lui-même. Par contre, le multiplexeur assure la cohérence et l'intégrité des données recomposées pour former le flux départ. En particulier, le multiplexeur remet à jour les indicateurs de continuité sur chacun des paquets transports selon son identifiant, il remet à jour les informations de temps (P.C.R-Program Clock Référence), liées aux composantes élémentaires de façon à pouvoir recréer d'après le flux entrant, l'horloge de cadencement propre aux services transmis. Avant ou lors d'une opération de multiplexage, plusieurs traitements élémentaires peuvent être opérés comme la relocalisation (remappage) des identifiants de paquets (packet identier PID). Il peut arriver que pour des composantes provenant chacune de flux de sources différentes, les identifiants de paquets respectifs de ces composantes soient similaires. L'opération de réarrangement en flux unique implique de gérer cette situation où des données différentes de ces différentes composantes portées par des paquets ayant même identifiant doivent se retrouver dans le même flux départ. Cela apporte des modifications dans la signalisation des flux donc dans les tables correspondant à cette signalisation. Ces modifications peuvent etre de deux natures : modification par changement de valeur d'un champ dans une table de signalisation, par exemple, un identifiant de paquets transports d'un premier jeu de données est remplacé par un autre. La table de signalisation ne change pas de taille. Seules des valeurs de champs sont modifiées. contrôle de somme s'il existe dans les tables concernées en tant que moyen de détection d'erreur doit être modifié en conséquence. Les modifications changement de valeur d'un champ peuvent s'effectuer changeant juste le contenu de la charge utile représentant la table de signalisation dans les paquets de transports de cette ou ces tables sans ajouter enlever données. Lorsque des composantes sont ajoutées ou supprimées alors des champs sont à retrancher ou à ajouter en conséquence dans la table identifiant flux. La table doit donc être reconstruite et être remise au format paquet transport. Enfin, on doit insérer les paquets transports dans le flux recompose en recalculant le débit en fonction des temps de cycles requis et de la nouvelle taille des tables reconstruites. Ces opérations de création d'un multiplexage à partir de flux de sources différentes vont être maintenant examinées en distinguant le cas des flux élémentaires empaquetés (PES) et le cas des tables. Dans le cas des PES le remultiplexage ne peut se situer qu'au niveau des séquences (packs) de transport. Le remultiplexage en un flux réalisé à partir de plusieurs flux de sources différentes va se présenter du point de vue transport comme une suite de séquences (packs), chaque séquence (pack) contenant des paquets dont les identifiants respectifs de paquets sont les identifiants des paquets portés par les paquets de chacun des flux d'origine. Dans le multiplexe de départ on aura par exemple une ou plusieurs séquences de paquets provenant d'un premier flux d'origine, puis une ou plusieurs séquences de paquets provenant d'un second flux et ainsi de suite. Dans séquences de paquets, chaque paquet a gardé son identité d'origine. Par contre, fait que l'ordonnancement des paquets dans le flux de départ n'est plus le même que l'ordonnancement paquets dans flux origine, il est nécessaire de réactualiser les indications de cadencement (time stamp) ces paquets (STC,PCR). Les opérations ci-dessus supposent implicitement que les identifications de paquets transports des différents flux d'origine constituant le flux départ sont différentes les unes des autres. S'il arrive que ce ne soit pas le cas et que des identifiants de paquets transports d'un flux origine soient identiques à des identifications de paquets transports d'un autre flux origine alors il est nécessaire de changer l'identité des paquets transports de l'un au moins de ces deux flux. De la sorte, dans le flux départ les paquets transports de chacun des flux origine restent bien identifiables sans risque de confusion. Naturellement si plusieurs flux origines par exemple n ont des identifiants de paquets identiques entre , il faut changer les identifiants de paquets d'au moins (n-1) flux origines, de telle sorte que dans le flux départ, les paquets transports des flux origines aient des identifiants différents les uns des autres. Naturellement, également chaque fois que l'on change 'identifiant des paquets d'un flux origine, il faut changer également le contenu d'une table PMT pour que cette table désigne le nouvel identifiant. Le cas des tables dont des paquets transports de sources différentes auraient un même identifiant est traité de façon identique à ce qui vient d'être décrit pour flux élémentaires paquetisés (PES . La probabilité pour que des (PES) provenant de flux différents soient portés par des paquets transports ayant meure identifiant est relativement faible. Par contre, en ce qui concerne les tables, il a été plus haut que les identités des paquets transportant une table d'association de programme (PAT) ou une table pour l'accès conditionnel (CAT) sont définies de façon conditionnelle. Le problème de la PAT OU DE LA CAT ne se pose pas puisqu'il n'y a qu'une PAT ou CAT par multiplexage. Par contre, le problème peut se poser pour d'autres tables comme les tables de description (SDT), les tables d'information sur les événements (EIT) ou pour d'autres tables en particulier privées. Les multiplexeurs actuels ne peuvent gérer des situations dans lesquelles on peut combiner des données en un flux de paquets transports de même identifiant, les paquets transports provenant de sources différentes, que paquets de sources différentes aient ou non le même identifiant. Brève description de 'invention Le but de l'invention est précisément de combiner des donnees venant de sources différentes de façon à ce que données puissent être multiplexées sur un flux de paquets de même identifiant, tout en respectant les règles de l'art et les contraintes normatives. L'invention applicable au transport des tables en particulier compte tenu des contraintes actuelles sur les tables standard, aux tables privées. En ce qui concerne les tables, il est rappelé que toutes les données transportées par des paquets transports sont décomposées en sections insécables qui doivent être transmises en séquence que ce soit ou non dans un ordre particulier. Toutefois, chaque élément source, chaque table par exemple, distinct et une réallocation d'identifiant peut être obligatoire dans certaines conditions. Toutefois, puisque nous parlons des données contenues dans tables ce n'est pas au niveau des identifiants contenus dans l'en-tête des paquets transports que doit s'effectuer cette réallocation d'identifiant, mais à un niveau inférieur dans l'en-tête des données elles-mêmes, c'est-à-dire dans l'identifiant de la table rappelé dans chaque en-tête de section transportant la /table puisque le but de l'invention est de combiner ces différentes tables dans des paquets transports de même identifiant. Nous distinguerons deux modes de fonctionnement. Le premier mode que nous appelons mode de combinaison permet d'insérer des données de même sous identifiant (table-id) dans une séquence de paquet transport de même identifiant tout en respectant règle qui consiste à ne pas commencer l'insertion d' section qui peut être répartie dans la charge utile de plusieurs paquets transports consécutifs tant que section précédente n'est pas insérée. Le second mode dit d'exclusion permet d'insérer sur des paquets de même identifiant sections dont les identifiants de tables ou d'autres données relatives à la table mais non contenues dans la charge utile de la table, contenus dans les en-tête de ces sections diffèrent les uns des autres, la différence de sous identifiants (table-id) ou de ces autres données étant éventuellement assurée par une réallocation de sous-identifiants ou de ces autres données. Cette réallocation, lorsqu'elle est faite, doit bien sur s'accompagner d'une table de correspondance. Le sujet de l'invention est donc de traiter le cas ' l'on veut mélanger dans une séquence de paquets transports de même identifiant des données de même type mais de source différente. Le problème, au niveau d'un décodeur d'un utilisateur ou au niveau d'un autre lieu où les flux sont démultiplexés et remultiplexés, est de distinguer entre eux des paquets ayant mêmes identifiants mais transportant des tables distinctes. Il s'agit au niveau du décodeur de pouvoir reconstituer chacune des tables distinctes, ou au niveau un multiplexeur de les envoyer, telle sorte qu'elles puissent être reconstituées lors d'un autre multiplexage. Selon un premier mode de réalisation de l'invention, dit de combinaison, on va recevoir les sections formant une table d'un premier flux et les stocker jusqu'à recevoir la dernière section de cette table. fera de même pour les autres tables de chacun des autres flux. Une comparaison des identifiants des paquets transportant ces tables permettra de vérifier que identifiants sont ou non identiques. Cette comparaison pourra ne pas être nécessaire s'il est reconnu qu'un identifiant de paquet est identifiant conventionnel pour une table d'un certain type. Ensuite, si des identifiants de paquets transports de tables différentes sont identiques entre eux, on insérera dans le flux toutes les sections composant une table, les unes à la suite des autres. De la sorte, bien que l'identifiant soit le même, chacune des tables peut être reconstituée sans qu'il y ait mélange paquets transports. Selon un autre mode de réalisation de l'invention, dit d'exclusion on va descendre au niveau de l'information non utile contenue dans les tables. Il a été que les tables ont un en-tête comportant notamment un identifiant de tables, et que chaque section comporte un en-té te dans lequel figure notamment l'identification de la table à laquelle la section appartient. I1 a été vu également que les sections sont insécables. Cela signifie qu il est interdit d'insérer dans un flux des paquets transports d' section suivante tant que tous les paquets transports d'une section courante n'ont été transmis. Si les tables de même nature des identifications différentes alors il devient possible de regrouper les sections appartenant à une table en fonction de l'identification de la table ou 'autres donnees non utiles de la table. L'invention exploite l'une ou l'autre de ces possibilités. Ainsi, selon un premier mode de réalisation dit de combinaison, l'invention est relative à un procédé de démultiplexage de flux de données en provenance d'un nombre n de flux origine identifiables et remultiplexage de ces n flux en un nombre m de flux départ, chaque flux transportant notamment des ensembles de données secondaires de différents niveaux, données secondaires étant des informations sur ou pour l'exploitation de données primaires par exemple audio, vidéo, ou sur ou pour l'exploitation de données secondaires de niveau inférieur, ces données secondaires étant transportées dans les flux par des paquets transports organisés en sections insécables, paquets transports ayant un identifiant de paquets, et les sections ayant un en-tête comportant notamment un identifiant de l'ensemble de données secondaires auquel appartient la section et d'un numéro d'ordre, caractérisé en ce que - on reconstitue par exemple à partir des identifications de flux origines ou à partir de l'en-tête des sections, les ensembles de données secondaires, - on compare entre eux les identifiants de paquets transports des différents ensembles secondaire, et - si des identifiants de paquets transports de plusieurs ensembles secondaires sont identiques entre eux et que deux au moins de ces ensembles secondaires dont les paquets transports ont le même identifiant doivent être insérés sur un même flux départ alors on procède à l'insertion de chacun de ces ensembles secondaires par insertion dans le flux départ tous les paquets transports composant toutes les sections l'un de ces ensembles sans insérer entre ces paquets transports des paquets transports formant un autre de ces ensembles secondaires dont les paquets transports ont des identifiants identiques aux paquets transports d'autres ensembles secondaires. Dans la description qui vient d'être faite de ce premier mode de réalisation, comme dans celle qui sera faite selon un second mode, le terme ensemble de données secondaires correspond aux tables de norme MPEG. Ces données secondaires ou tables ont differents niveaux logiques au sens de la théorie des types de Bertrand RUSSEL en ce sens qu'il peut s'agir tables donnant des informations ou permettant l'exploitation données primaires qui sont les données audio, vidéo ou autres permettant de reconstituer un signal analogique, ces données secondaires ne contribuant pas directement â cette reconstitution. I1 peut 'agir aussi d'ensembles de niveau lfogique plus élevés, en ce sens qu'il s'agirait de tables donnant des informations sur d'autres tables. Un exemple non concerné par l'invention est la qui donne des informations sur les PMT. Egalement dans la description qui vient d'être faite de ce premier mode de réalisation de l'invention, 'alternative, selon laquelle les identifiants de paquets transports des différents ensembles secondaires devant être insérés sur un même flux seraient tous fférents entre eux, n'a pas été traitee car il est clair que dans un tel cas le multiplexage peut être réalisé selon les méthodes connues. Selon un second mode de realisation de l'invention dit d'exclusion, l'invention est relative à un procédé de démultiplexage de flux de données en provenance d'un nombre n de flux origine identifiables et de remultiplexage de ces n flux en un nombre m de flux départ, chaque flux transportant notamment des ensembles de données secondaires de différents niveaux, données secondaires étant des informations sur ou pour l'exploitation de données primaires par exemple audio, vidéo, ou sur ou pour l'exploitation de données secondaires de niveau inférieur, ces données secondaires étant transportées dans les flux par des paquets transports organisés en sections insécables, paquets transports ayant un identifiant de paquets, et les sections ayant un en-tête comportant notamment un identifiant de l'ensemble de données secondaires auquel appartient la section, d'un numéro d'ordre, et d'autres données non utiles, caractérisé en ce que - on reconstitue par exemple à partir des identifications de flux origines ou à partir de l'en-tête des sections, les ensembles de données secondaires, - on compare entre eux les identifiants de paquets transports des différents ensembles secondaire, - des identifiants de paquets transports de plusieurs ensembles secondaires sont identiques entre que deux au moins de ces ensembles secondaires dont les paquets transports ont le même identifiant doivent être insérés sur un même flux départ si identifiants des sections desdits ensembles secondaires ou d'autres données non utiles sont tous férents entre eux, on procède à l'insertion desdits ensembles secondaires par insertion dans le flux départ section par section des différents paquets transports desdits ensembles secondaires. Lorsque, comme on en fait l'hypothèse pour ce mode de réalisation, les identifiants d'ensembles de données secondaires ou tables ou d'autres données non utiles, sont tous différents entre eux, chaque section identifiable par son en-tête, ou par l' des données non utiles. I1 est donc possible lors de l'arrivée 'un flux comportant dans n'importe quel ordre des sections 'en-tête différentiables de regrouper ces sections en-tête identiques pour reformer les différentes tables. Naturellement, si un nombre P de tables, parmi celles à regrouper sur un même flux ont le même identifiant, il est possible de changer l'identifiant d'au moins l'une des tables de même identifiant et corrélativement l'en-tête des sections correspondant à cette table. De la sorte, on crée des tables ayant des identifiants différents qui peuvent être insérées par sections dans un ordre quelconque. Pour les tables restant de même identifiants on peut les insérer dans le flux selon le procédé du premier mode de réalisation. Ainsi, dans un même flux départ on peut avoir des tables toutes portées par des paquets transports ayant des identifiants identiques transmis uniquement selon le premier mode de réalisation, ou uniquement selon le second mode de réalisation ou encore selon le premier mode pour certaines tables du flux et selon le second mode pour d'autres tables du flux. Naturellement, dans tous les cas où l'ordre initial des paquets transports n'est pas respecté, on remet à jour les indices de continuité. Naturellement également, on modifie en tant que de besoin toutes les tables d'ordre supérieur donnant des informations sur les tables modifiées. Enfin, les données recréées sont insérées de préférence en utilisant une méthode dite opportuniste consistant à remplacer des paquets transports de bourrage par les données utiles recréées. Brève description dessins L'invention sera maintenant décrite à l'aide des dessins annexés dans lesquels - les figures 1 à 4, déjà commentées, décrivent un PES son transport, une section, une table et son transport de transport selon la norme MPEG ; - la figure 5 décrit un démultiplexeur utilisable pour réaliser le procédé selon l'invention ; - la figure 6 donne un détail de la partie physiquement distincte insérée entre flux entrants et les flux sortants. Description d'un mode de réalisation figure 5 décrit un démultiplexeur utilisable pour réaliser le procédé selon l'invention. démultiplexeur a été décrit dans la demande de brevet WO 99/3327l au nom du demandeur. Les fonctionnalités décrites dans la demande WO 99/332 sont destinées à réaliser multiplex de transport à le brouiller selon un mot de brouillage aléatoire et à le préparer pour remultiplexage. Une unité 1 de démultiplexage remultiplexage reçoit paquets transports d'un ou plusieurs flux 4 et prépare des paquets transports pour une ou plusieurs unités 'expédition 5. Les paquets transports en provenance des multiplexages 4 sont à la norme MPEG définit par les normes ISO 13818 - 1 à 4. L'unité 1 de préparation au transport a un contrôleur 3 de gestion des flux utilisant le protocole DVB Simulcrypt. Ce contrôleur est programmé de façon à pouvoir démultiplexer n'importe quelle table présente dans les flux incidents. I1 peut récupérer ces tables soit en paquets transports soit en section. Il peut mettre en paquet les tables recréées puis insérer les paquets constitués dans le flux départ en remplacement des paquets de bourrage présents dans le flux incident. En se référant à la figure 5, l'unité 1 de réception et de réorganisation des flux, reçoit par des entrées 10, 11 des flux de transport entrants par exemple un premier, éventuellement un second- et jusqu'à un nombre n > 1. Après traitement par l'unité 1, flux sortants sont prêts au départ (m > 1). En se référant à la figure 6, les informations relatives à la synchronisation et au séquencement des paquets dans le flux sont extraites par des moyens 12, 13 de décodage et de synchronisation. Ces moyens 12, 13 vérifient que les données reçues sont à la norme MPEG, avec présence d'information d'horloge (PCR), interface asynchrone ou autre interface autorisé. Le moyen de synchronisation 12 13 récupère l'octet de synchronisation de façon à assurer un traitement ultérieur synchrone des données. données sont dirigées vers un microprocesseur de traitement 15. Les paquets transports sont ensuite, de façon elle-même connue, dirigés vers un compteur de paquets 211, 212, ..... de chaque flux reçu. Les compteurs 21 peuvent être utilisés pour vérifier la présence ou l'absence de paquets ayant une identification de paquets (PID) prédéterminée. Il compte les paquets portant cette identification, présents dans un pack de transport. En particulier, il compte le nombre de paquets de bourrage présents dans un flux (PID MPEG O x 1FFF) de façon à évaluer le débit disponible pour insertion Ultérieure de paquets de données reconstituées. Le compteur 21 peut aussi être utilisé pour détecter la présence de paquets de données privees à modifier ou supprimer. Un filtre de paquet 22, 22' pour chaque flux reçu filtre les séquences de paquets ayant une meme identification et recopie ces paquets dans une mémoire 27. mémoire 27 est partagée entre les différents flux de façon à ce que les flux entrants puissent être identifiés par leur localisation dans la mémoire. Le filtre 22 est capable de filtrer les paquets pour réorganiser des sections et ou des tables de données. Il peut donc lire les identifications à différents niveaux d'identification. De façon connue, il peut être programmé pour reconnaître les identifications de tables, extensions, et en général les informations autres que les informations utiles. L'unité de traitement de flux 1 peut comprendre une unité 23 de suppression de paquets, unité 24 de relocalisation de paquets. L'unité 23 donne aux paquets à supprimer une identité 0 x 1FFF de paquet de bourrage. L'unité 24 de relocalisation donne paquets sur requête du processeur 15 une nouvelle identité. Enfin, une unité 25 d'insertion de paquets dans le flux créé insère les paquets en provenance de la mémoire 27, remplace éventuellement les paquets de bourrage par des paquets de données. Comme décrit et représenté en pages 9 et 10 de la demande WO 99/33271 déjà citée en liaison avec la figure 2 de cette demande, chaque entrée de l'unité de traitement de flux 1 a chacune de ses entrées de flux dédoublée. En résumé, le procédé démultiplexage, selon l'invention, peut être réalisé moyen d'un dispositif tel que décrit dans la demande WO 99/33271, les logiciels de commande étant adaptés pour remplir les fonctions nécessaires pour réaliser le procédé. REVENDICATIONS 1. Procédé de démultiplexage de flux de données en provenance d'un nombre n de flux origine identifiables et de remultiplexage de ces n flux en un nombre m de flux départ, chaque flux transportant notamment des ensembles de données secondaires de différents niveaux, ces données secondaires étant des informations sur ou pour l'exploitation de données primaires par exemple audio, vidéo, ou sur ou pour l'exploitation de données secondaires niveau inférieur, ces données secondaires étant transportées dans les flux par des paquets transports organisés en sections insécables, les paquets transports ayant un identifiant de paquets, et les sections ayant un en-tête comportant notamment un identifiant de 'ensemble de données secondaires auquel appartient la section et d'un numéro d'ordre, caractérisé ce que on reconstitue par exemple à partir des identifications de flux origines ou à partir de l'en-tête des sections, les ensembles données secondaires, on compare entre eux les identifiants de paquets transports des différents ensembles secondaire, et - si des identifiants de paquets transports de plusieurs ensembles secondaires sont identiques entre eux et que deux au moins de ces ensembles secondaires dont les paquets transports ont le même identifiant doivent être insérés sur un même flux départ alors on procède à l'insertion de /chacun de ces ensembles secondaires par insertion dans le flux départ de tous les paquets transports composant toutes les sections de l'un de ces ensembles sans insérer entre ces paquets transports des paquets transports formant un autre de ces ensembles secondaires dont les paquets transports ont des identifiants identiques aux paquets transports d'autres ensembles secondaires. 2. Procédé de démultiplexage de flux de données en provenance d'un nombre n de flux origine identifiables et de remultiplexage de ces n flux en un nombre m de flux départ, chaque flux transportant notamment des ensembles de données secondaires de différents niveaux, ces données secondaires étant des informations sur ou pour l'exploitation données primaires par exemple audio, vidéo, ou ou pour l'exploitation de données secondaires de niveau inférieur, ces données secondaires étant transportées dans flux par des paquets transports organisés en sections insécables, les paquets transports ayant un identifiant de paquets, et les sections ayant un en-tête comportant notamment un identifiant de l'ensemble de données secondaires auquel appartient la section d'un numéro d'ordre et des données autres que les données utiles, caractérisé en ce que - on reconstitue par exemple à partir des identifications de flux origines ou à partir de l'en-tête des sections, les ensembles de données secondaires, - on compare entre eux les identifiants de paquets transports des différents ensembles secondaire, et - si des identifiants de paquets transports de i plusieurs ensembles secondaires sont identiques entre eux, que deux au moins de ces ensembles secondaires dont les paquets transports ont le même identifiant doivent être insérés sur un même flux départ si les identifiants des sections desdits ensembles secondaires ou des données autres que les données utiles sont tous différents entre eux, on procede à l'insertion desdits ensembles secondaires par insertion dans le flux départ section par section des différents paquets transports desdits ensembles secondaires. 3. Procédé selon la revendication 2, caractérisé en ce que si parmi les identifiants des sections desdits ensembles secondaires à insérer un même flux un certain nombre P sont identiques entre eux alors préalablement à l'insertion des sections on change l'identification d'au moins l'un des ensembles secondaires dont les identifications sont identiques entre elles et les identifications des en-tête de section correspondant de ce ou de ces ensembles secondaires. 4. Procédé selon la revendication 3, caractérisé en ce qu'on insère dans le flux section par section dans un ordre quelconque des sections, les sections dont les en-tête comportent éventuellement après changement, des identifiants tous différents entre eux et que l'on procède à l'insertion dans le flux chacun des ensembles secondaire ayant le même identifiant par insertion dans ce flux de tous les paquets transports composant toutes les sections de l'un ces ensembles sans insérer entre ces paquets transports des paquets transports formant un autre de ces ensembles secondaires dont les paquets transports ont des identifiants identiques aux paquets transports d'autres ensembles secondaires.