Brevet FR2726415A1 — publié le 19960503

XULTIPLXEUR DR PAQUETS D'INFORMATIONS NIJMERIQUESI NOTAMMENT POUR LA TLLEVISION NAMERIQUE La présente invention concerne un dispositif pour produire un multiplex temporel de paquets d'informations numériques, comprenant plusieurs modules de paquétisation recevant chacun un flux numérique d'entrée, plusieurs mémoires de paquets recevant chacune des paquets issus d'un module de paquétisation respectif, et des moyens de multiplexage sélectionnant les mémoires de paquets d'où les paquets du multiplex sont à extraire et transférant successivement lesdits paquets vers une sortie du dispositif. L'invention concerne plus particulièrement le domaine de la télévision numérique. Elle s'applique notamment dans le cadre de la norme système MPEG2 définie dans le projet de norme internationale ISO/IEC 13818-1 de l'organisation Internationale de Normalisation en date du 10 juin 1994 (Information Technology - Generic Coding of Moving Pictures and Associated Audio/ Recommandation H.222.0). On pourra se reporter à ce document ISO/IEC 13818-1 pour toute information sur la structure des paquets dont il est question dans la présente demande. La norme système MPEG2 définit deux types de flux numériques multiplexés : les flux de transport (TS), et les flux de programme (PS). Un "programme" est défini comme un ensemble de flux élémentaires corrélés temporellement, c'est-à-dire portant chacun des informations à restituer par rapport à une base de temps commune. Un flux de programme PS transmet un seul programme sous forme de paquets de longueur relativement importante et éventuellement variable. Les flux PS sont prévus pour les canaux de transmission introduisant peu d'erreurs. Ils sont typiquement utilisés pour le stockage d'informations sur disque. Les flux de transport se composent de paquets appartenant à un ou plusieurs programmes, et sont utilisés pour la transmission dans des environnements pouvant introduire des erreurs.Les paquets de transport (TP) ont une longueur fixe de 188 octets et comprennent chacun un en-tête TP d'au moins 4 octets. Ces flux multiplexés sont construits à partir de flux élémentaires paquétisés (PES). Les flux élémentaires bruts (ES) directement issus du codage vidéo ou audio sont d'abord mis sous forme de paquets PES de longueur variable. Les flux PES sont ensuite redécoupés pour constituer les paquets TS ou PS à multiplexer. Actuellement, certains codeurs sortent des flux élémentaires au niveau ES, et d'autres au niveau PES. Les flux élémentaires peuvent également être composés de données autres qu'audio ou vidéo, par exemple des données détaillant des informations spécifiques à un programme (PSI), des données relatives à l'accès conditionnel à un programme (ECM ou EMM)... Le rôle d'un multiplexeur MPEG2 est de recevoir ces différents flux élémentaires, d'effectuer la mise en paquets TS ou PS, puis le multiplexage temporel de ces paquets. Un dispositif selon l'invention peut également être ce qu'on appelle un remultiplexeur. Un remultiplexeur est un dispositif pour produire un multiplex tel que défini en introduction, dans lequel l'un au moins des flux d'entrée a déjà été multiplexé en amont, au format PS ou TS. Un remultiplexeur peut être utilisé par exemple pour extraire d'un flux de transport des paquets relatifs à un programme et produire en sortie un autre flux de transport ou de programme ne comportant que ce programme, pour extraire d'un ou plusieurs flux de transport les paquets relatifs à un ou plusieurs programmes afin de construire un autre flux de transport, ou encore pour convertir un flux de programme en un flux de transport en vue de le transmettre dans un environnement à pertes. Chaque entrée de flux élémentaire nécessite un processeur pour la mise en paquets, celui-ci mettant les paquets constitués à la disposition du module de multiplexage par l'intermédiaire d'un tampon d'échange. Chaque processeur doit en fait potentiellement réaliser deux étapes de paquétisation, ce qui peut impliquer le besoin d'un processeur pour chaque étape dans le cas de débits importants - la première étape consiste à transformer le flux élémentaire brut en un flux élémentaire paquétisé PES - la seconde étape consiste à retransformer les paquets PES en paquets de transport. Chacune des deux étapes de paquétisation implique l'analyse du flux d'entrée pour déterminer certains mots spécifiques (mots de synchronisation élémentaires pour la couche PES, ou mots de synchronisation PES pour la couche transport), afin de faire le découpage en paquets aux endroits appropriés et de refléter dans les en-têtes des paquets de transport la présence éventuelle de ces mots de synchronisation. Un but de la présente invention est de proposer un dispositif tel que défini en introduction, qui permette de traiter de manière efficace divers types de flux d'entrée. Dans un dispositif selon l'invention, un module de paquétisation comprend - un tampon d'entrée recevant le flux d'entrée - un circuit de détection relié à la sortie du tampon d'entrée pour détecter des mots de synchronisation du flux d'entrée - une unité de stockage recevant successivement les octets du flux d'entrée qui ont été présentés au circuit de détection - des moyens de transfert pour transférer des octets de l'unité de stockage vers une mémoire de paquets ; et - un processeur pour déterminer les en-têtes des paquets construits à partir du flux d'entrée sur la base des mots de synchronisation détectés par le circuit de détection, écrire ces en-têtes dans la mémoire de paquets et commander les moyens de transfert. L'unité de stockage est organisée en premier entré premier sorti de façon à contenir à chaque instant K-k octets de flux d'entrée, K désignant le nombre d'octets d'un paquet du multiplex de sortie et k désignant le nombre d'octets minimal des en-têtes de paquet, et à ce que le transfert d'un octet de l'unité de stockage vers la mémoire de paquet soit accompagné par le transfert d'un autre octet du circuit de détection vers l'unité de stockage, de sorte que tous les octets du flux d'entrée pouvant être introduits dans un paquet sont présentés au circuit de détection avant que commence l'écriture de ce paquet dans la mémoire de paquet. Les mots de synchronisation à détecter peuvent être programmés dans le circuit de détection pour adapter le module de paquétisation à différents types de flux d'entrée. Dans le cas d'un flux élémentaire brut ES, les deux couches de paquétisation (PES et TP) sont réalisées en une seule passe par le processeur. Un module de paquétisation complet pour un flux ES peut donc ne comporter qu'un seul processeur. Le processus de paquétisation peut d'ailleurs être très rapide puisque la détermination de l'en-tête d'un paquet par le processeur est réalisée pendant que le paquet précédent est en cours de transfert depuis l'unité de stockage. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'un exemple de réalisation préféré mais non limitatif, en référence aux dessins annexés, dans lesquels - la figure 1 est un schéma synoptique d'ensemble d'un premier mode de réalisation de l'invention ; - la figure 2 est un schéma synoptique d'un module de paquétisation utilisable dans le dispositif de la figure 1 - les figures 3 à 5 sont des diagrammes illustrant le fonctionnement de modules de paquétisation selon la figure 2 - la figure 6 est un schéma d'un module de multiplexage utilisable dans le dispositif de la figure 1 - les figures 7 et 8 sont des graphiques illustrant un exemple de calcul de priorités dans un module de multiplexage ;; - la figure 9 est un schéma d'un circuit d'élection utilisable dans le module de multiplexage de la figure 6 et - la figure 10 est un schéma synoptique d'ensemble d'un second mode de réalisation de l'invention. Le dispositif représenté sur la figure 1 est décrit ci-après dans son application à la production d'un multiplex de sortie OS ayant le format d'un flux de transport TS au sens de la norme MPEG2. On comprendra que le dispositif serait également applicable pour produire un autre type de multiplex, en particulier un flux de programme PS au sens de la norme MPEG2. Le dispositif comporte n modules de paquétisation Cl,... ,con recevant chacun un flux d'entrée ISl,...,ISn. Les n flux d'entrée portent un total de m flux élémentaires. Dans le cas d'un multiplexeur dont les flux d'entrée sont tous constitués par des flux élémentaires respectivement issus de codeurs ou de sources de données, on a n = m. Dans l'exemple représenté sur la figure 1, le flux IS2 est déjà multiplexé (par exemple flux de transport TS), et le dispositif est prévu pour prendre en compte deux flux élémentaires inclus dans ce flux multiplexé. Les modules de paquétisation Cl,... ,con délivrent des paquets de transport TP à partir de chacun des flux élémentaires qu'ils reçoivent. Ces paquets de transport sont stockés dans des mémoires tampon à deux accès PMl,...,PMm. Chaque mémoire de paquets PMi reçoit des paquets d'un module de paquétisation. Les modules de paquétisation C2 traitant des flux déjà multiplexés peuvent alimenter plusieurs mémoires de paquets PM2, PM3. Dans ce dernier cas, les mémoires de paquets PM2, PM3 peuvent commodément être constituées par deux zones d'adressage différentes d'un même plan mémoire. Chaque mémoire de paquets PMi est associée à une mémoire de paramètres ZMi également à deux accès. Chaque fois qu'un module de paquétisation écrit un paquet d'informations dans une mémoire de paquets PMi, il écrit en outre un jeu de paramètres associé à ce paquet dans la mémoire de paramètres correspondante ZMi. Pour la lecture, les mémoires de paquets PM1,..., PMm sont reliées à un bus de paquets commun 10, et les mémoires de paramètres ZMl,...,ZMm sont reliées à un bus de paramètres commun 12. Ces deux bus sont reliés à un module de multiplexage 14 ayant pour rôle de sélectionner les mémoires PMi d'où les paquets du multiplex de sortie OS sont à extraire et de transférer successivement les paquets en question vers la sortie du dispositif. Les modules de paquétisation Cj analysent en temps réel les flux élémentaires qu'ils reçoivent et fournissent les paquets de transport aux mémoires tampon PMi. L'analyse en temps réel d'un flux élémentaire et la double mise en paquets (couches PES et TP) peuvent nécessiter une grande puissance de calcul, notamment pour des flux vidéo qui peuvent atteindre des débits de 15 Mbit/s en résolution standard, ou plus de 100 Mbit/s en haute résolution. Le module de paquétisation C1 illustré sur la figure 2 permet de répondre à ces exigences sévères. Ce module C1 comprend un tampon d'entrée 20 recevant le flux d'entrée IS1. En sortie du tampon 20, les octets du flux d'entrée passent par un circuit de détection 22 avant d'être transmis à une unité de stockage 23 de type premier entré-premier sorti (FIFO). La sortie de l'unité 23 est reliée à l'entrée de données de la mémoire de paquets PM1. Le circuit de détection 22 est réalisé sous la forme d'un réseau de portes programmable par l'utilisateur (FPCA). I1 se compose d'un registre à décalage 24 à quatre étages d'un octet, par lequel passent les octets du flux d'entrée avant de parvenir à l'unité de stockage 23, et d'une logique de détection 25 recevant les quatre octets présents dans les étages du registre 24. La logique 25 est programmée en fonction des états à détecter dans le flux d'entrée. La logique 25 détecte ces états du flux d'entrée et en informe un microprocesseur 26. Le processeur 26 peut accéder à la mémoire de paramètres ZM1 par ses bus d'adresse et de données 28, 29. Les bus 28, 29 sont également reliés à la mémoire de paquets PM1 par l'intermédiaire d'une porte à trois états 31. L'unité de stockage 23 est gérée pour contenir à tout instant 184 octets du flux d'entrée, et pour que chaque octet sortant de cette unité provoque l'entrée d'un autre octet. L'unité 23 pourrait donc être réalisée simplement sous la forme d'un registre à décalage à 184 étages d'un octet. Si on ne dispose pas de registres à décalage de cette taille, on peut en cascader plusieurs, ou encore utiliser une mémoire à accès aléatoire dont les adresses de lecture et d'écriture sont générées de manière à garder entre elles un écart constant correspondant à une capacité de 184 octets. En fonction des états détectés par la logique 25, le processeur 26 fournit à un séquenceur de transferts 32 des paramètres de commande pour effectuer les transferts des octets du flux d'entrée de l'unité de stockage 23 vers la mémoire de paquets PM1. Ces paramètres de commande comprennent une adresse de départ pour l'écriture des données d'un paquet dans la mémoire PMl, et le nombre d'octets à transférer à partir de cette adresse. Le séquenceur 32 comprend un compteur d'adresse qui s'initialise à la valeur de l'adresse de départ fournie par le processeur, et qui s'incrémente à chaque octet transféré jusqu'à ce que le nombre d'octets spécifié ait été transféré.Ce compteur fournit les adresses d'écriture des octets dans la mémoire PM1. Si l'unité de stockage 23 est sous la forme d'une mémoire à accès aléatoire, le séquenceur 32 fournit également l'adresse de lecture de l'octet à transférer de façon à respecter le protocole premier entré premier sorti dans cette mémoire. Le séquenceur délivre un signal SC qui cadence les transferts de et vers l'unité 23, les décalages dans le registre 24 du circuit de détection, et les lectures d'octets dans le tampon d'entrée 20. Dans l'exemple représenté sur la figure 2, le flux d'entrée IS1 est un flux élémentaire (ES ou PES) à mettre en paquets. La logique de détection 25 est programmée pour détecter des mots de synchronisation dans le flux d'entrée. En fonction des états détectés par la logique 25, le processeur 26 détermine la longueur et le contenu de l'entête à placer au début du prochain paquet de transport à inscrire dans la mémoire PM1. Cet en-tête est déterminé conformément aux spécifications de la norme MPEG2, le processeur 26 exécutant un programme de formation d'en-tête tel que décrit dans le document ISO/IEC 13818-1. La longueur L de l'en-tête peut varier entre k = 4 octets et K = 188 octets. Ainsi, la capacité de K - k = 184 octets de l'unité de stockage 23 garantit que la totalité des octets du flux d'entrée pouvant être introduits dans un paquet de transport ont été analysés par le circuit de détection 22 avant que ce paquet commence à être transféré de l'unité de stockage 23 vers la mémoire de paquet PM1. La figure 3 illustre la construction de paquets de transport TP par le module de paquétisation dans le cas d'un flux élémentaire brut ES issu d'un codeur audio. Conformément à la norme MPEG2, le flux ES audio se compose de trames de longueur constante commençant chacune par un en-tête de trame 35A. L'en-tête 35A contient un mot de synchronisation de 12 bits valant FFF en hexadécimal. La logique de détection 25 d'un module de paquétisation traitant d'un flux ES audio est donc programmée pour détecter ce mot de synchronisation FFF. Un flux PES construit à partir d'un tel flux ES peut comprendre un en tête PES 36 immédiatement avant chaque en-tête ES 35A. Toutefois, le présent module de paquétisation, lorsqu'vil traite un flux ES audio, ne passe pas explicitement par le stade PES, mais au contraire construit directement des paquets de transport TP. Dans le cas montré sur la figure 3, tant que la logique 25 ne détecte pas le mot de synchronisation FFF dans le flux d'entrée, le processeur 26 calcule un en-tête 37a de L = 4 octets, et commande le transfert de 188 - L = 184 octets de l'unité de stockage 23 vers la mémoire PM1 pour constituer un paquet de transport TP. Lorsque la logique 25 détecte un mot de synchronisation pendant le transfert d'un paquet vers la mémoire PM1, le processeur 26 calcule la longueur L de l'en-tête 37b du paquet suivant de façon à compléter un paquet de transport de 188 octets avec les octets du flux élémentaire allant jusqu'au mot de synchronisation détecté.Pour produire un en-tête de longueur L plus grande que 4 octets, le processeur 26 introduit des paramètres de gestion du flux ou des octets de bourrage dans le champ d'adaptation de l'entête, comme spécifié par la norme système MPEG2. Le paquet qui suivra le paquet de transport ainsi constitué ne comportera aucun octet du flux d'entrée, mais uniquement un en-tête TP 37c et un en-tête PES 36. On peut donc considérer que le processeur 26 a déterminé un en-tête composite 37c-36 de L = 188 octets et a commandé le transfert de K - L = 0 octets depuis l'unité 23 au titre de ce paquet. L'en-tête PES 36 est calculé conformément à la norme système MPEG2, et la longueur de l'en-tête TP 37c sera adaptée au moyen du champ d'adaptation comme pour le paquet précédent. La figure 4 est un diagramme analogue à celui de la figure 3 dans le cas d'un flux ES de type vidéo. Selon la norme MPEG2, un flux ES de type vidéo comprend trois types d'en-têtes : des en-têtes de séquence 35S contenant un mot de synchronisation de 4 octets valant 000001B3 en hexadécimal, des en-têtes de groupe d'images 35G contenant un mot de synchronisation de 4 octets valant 000001B8 en hexadécimal, et des en-têtes d'image 35P contenant un mot de synchronisation de 4 octets valant 00000100 en hexadécimal. La structure du flux ES vidéo est telle qu'un en-tête de séquence 35S est toujours suivi immédiatement par un en-tête de groupe d'images 35G ou par un en-tête d'image 35P, et qu'un en-tête de groupe d'images 35G est toujours suivi par un en-tête d'image 35P. La longueur des données vidéo relatives à une image, suivant chaque en-tête d'image 35P, est variable. Un flux PES construit à partir d'un tel flux ES vidéo peut contenir un en-tête PES 36 avant chaque entête de séquence 35S, avant chaque en-tête de groupe 35G qui n'est pas immédiatement précédé par un en-tête de séquence 35S, et avant chaque en-tête d'image 35P qui n'est pas immédiatement précédé par un en-tête de groupe 35G. Toutefois, le présent module de paquétisation, lorsqu'il traite un flux ES vidéo, ne produit pas explicitement le flux PES correspondant, mais directement des paquets de transport TP. L'insertion des en-têtes PES et TP est pour l'essentiel effectuée de la même manière que dans le cas audio décrit en référence à la figure 3, la logique de détection 25 étant programmée pour détecter les mots de synchronisation des en-têtes 35S, 35G et 35P. Toutefois, le processeur 26 n'insère pas un en-tête PES 36 avant tous les en-têtes d'image 35P, mais uniquement avant ceux qui ne sont pas précédés immédiatement par un en-tête de groupe d'images 35G ou par un en-tête de séquence 35S.De même, le processeur 26 n'insère pas un en-tête PES avant tous les entêtes de groupe d'images 35G, mais uniquement avant ceux qui ne sont pas immédiatement précédés par un en-tête de séquence 35S. Ces différentes conditions peuvent aisément être identifiées sur la base des mots de synchronisation détectés par la logique 25. La figure 5 est un diagramme analogue à ceux des figures 3 et 4 dans le cas d'un flux d'entrée de type PES audio ou vidéo. L'en-tête PES 36 présent dans chaque paquet du flux PES contient un mot de synchronisation de 4 octets dont les trois premiers valent 000001 en hexadécimal et le quatrième est un octet d'identification du flux. Cet octet d'identification étant connu d'avance pour un flux PES donné à traiter par le module de paquétisation, on peut programmer la logique 25 pour détecter les mots de synchronisation de 4 octets du flux PES. Le découpage en paquets de transport TP est alors effectué par le processeur 26 de la même manière que dans le cas des figures 3 et 4, sur la base des en-têtes PES 36. Le processeur 26 ne tient pas compte des en-têtes ES 35 qui sont traités comme des données du flux élémentaire.Comme dans les cas des figures 3 et 4, on peut programmer le processeur 26 pour qu'un paquet TP contenant un en-tête PES 36 ne contienne pas de données du flux élémentaire. Le processeur 26 a alors besoin de connaître la longueur L' de l'en-tête PES pour constituer un paquet ne contenant qu'un en-tête TP 37c de longueur L = K - L' octets suivi par l'en-tête PES 36. Cette longueur L' peut être lue dans l'en-tête PES lui-même au moyen du circuit de détection 22 : si le septième octet à partir du début de l'en-tête PES ne commence pas par les deux bits '10', l'en-tête PES a une longueur de L' = 6 octets ; sinon la longueur L' est lue dans le neuvième octet à partir du début de l'en-tête PES (voir document ISO/IEC 13818-1). L'avantage de constituer les paquets de transport contenant un en-tête PES 36 en mettant seulement dans ces paquets un en-tête TP 37a-c et ledit en-tête PES 36 est de permettre un embrouillage de tous les paquets de transport contenant des données du flux élémentaire ES, l'en-tête PES ne devant pas être embrouillé. Le processeur 26 écrit, par l'intermédiaire de la porte 31, les en-têtes 37a-c et/ou 36 aux positions appropriées dans la mémoire de paquets PM1 de façon à respecter la structure des paquets TP représentée sur la figure 3, 4 ou 5. Cette écriture peut avoir lieu avant le transfert des 188 - L octets du flux d'entrée appartenant au paquet en question. Elle peut également être effectuée plus tard pour autant que le paquet en question soit encore présent dans la mémoire PM1, notamment dans le cas où l'entête TP d'un paquet doit contenir des paramètres dépendant de paquets parvenant ultérieurement aux modules de paquétisation (par exemple des paramètres de découpage d'images dans le cas d'un flux ES vidéo). Lorsque le flux d'entrée est un flux de transport multiplexé, la logique de détection 25 est programmée pour détecter l'octet de synchronisation indiquant le début d'un paquet de transport. Cet octet de synchronisation vaut 47 en hexadécimal. Le processeur 26 repère l'heure d'entrée du paquet lorsque l'octet de synchronisation est détecté. En analysant les octets suivants de l'en-tête TP par l'intermédiaire du circuit de détection 22, le processeur 26 peut lire les 13 bits d'identification du paquet (champ PID) et déterminer s'il contient des champs temporels optionnels de type PCR ou LTW. La présence des champs PCR ou LTW est indiquée par des bits de position déterminée dans l'en-tête TP (voir document ISO/IEC 13818-1).La position du champ PCR est fixe, mais celle du champ LTW peut varier de sorte que la position de ce champ est également indiquée, le cas échéant, au processeur 26 par le circuit 22. Connaissant le paramètre d'identification PID du paquet, qui caractérise le flux élémentaire dont il est issu, le processeur 26 peut effectuer une opération de filtrage pour ne transférer dans la mémoire de paquets que les paquets des flux élémentaires à conserver dans le multiplex de sortie. Pour éliminer un paquet, le processeur 26 commande le séquenceur de transferts 32 pour que celui-ci écrive le paquet dans la mémoire de paquets à une adresse poubelle où il ne sera jamais lu. Dans le cas où le module de paquétisation est associé à plusieurs mémoires de paquets PM2, PM3, ces mémoires sont regroupées dans un même espace d'adressage, et les adresses d'écriture générées par le séquenceur de transferts 32 sont déterminées sur la base du paramètre d'identification PID fourni au processeur 26 par le circuit de détection 22 de manière à obtenir le fonctionnement en premier entré - premier sorti dans chacune des mémoires de paquets PM2, PM3. On peut ainsi orienter vers différentes mémoires de paquets les flux élémentaires à conserver dans un flux multiplexé d'entrée. Le module de paquétisation représenté sur la figure 2 a une grande flexibilité. I1 est aisément adaptable à une grande variété de flux d'entrée, par une simple programmation de la logique de détection 25 et du processeur 26. Ce module convient donc particulièrement pour une architecture modulaire du dispositif. Dans le cas d'un flux d'entrée de type ES, il permet de réaliser simultanément les deux phases de mise en paquets (PES et TP) au moyen d'un seul processeur, l'en-tête PES étant considéré comme une extension de l'en-tête TP. I1 convient également pour des flux d'entrée de type TS ou PS, dans des applications de remultiplexage. L'élaboration d'un paquet est réalisée en parallèle avec le transfert des données du paquet précédent vers la mémoire PMi, ce qui permet de traiter des débits d'entrée importants. Le transfert est confié à un séquenceur distinct, ce qui permet de libérer le processeur unique du module de paquétisation pour les autres traitements à effectuer. Une autre tâche exécutée par le processeur 26 est le calcul des paramètres associés aux paquets et leur écriture dans la mémoire de paramètres ZMi. Ces paramètres comprennent des paramètres d'élection permettant au module de multiplexage 14 de sélectionner les mémoires de paquets pour le transfert des paquets vers la sortie du dispositif. Ainsi, on transporte dans les modules de paquétisation une partie des tâches qui incombent habituellement au module de multiplexage. Le surcroît de charge pour le processeur 26 est cependant suffisamment faible pour ne pas avoir d'incidence significative sur le choix de ce processeur qui est de toute façon nécessaire pour la mise en paquets. Pour s'approcher d'une répartition temporelle optimale en sortie, il est nécessaire de connaître - les paquets pouvant sortir immédiatement et le retard maximum qu'on peut leur attribuer. - les paquets qui pourront sortir bientôt et le temps duquel on peut anticiper leur émission. Une solution pour donner au module de multiplexage 14 une visibilité sur ces informations de diffusion est de demander aux modules de paquétisation d'associer à chaque paquet écrit dans la mémoire tampon PMi trois paramètres d'élection correspondant chacun à un temps exprimé par rapport à une base de temps commune aux modules de paquétisation et de multiplexage. Ces trois paramètres sont l'heure minimale Tmin, l'heure maximale Tmax et l'heure idéale Tidéal d'émission du paquet auquel ils sont associés. Chaque processeur 26 gérant un flux élémentaire définit donc une fenêtre temporelle pour l'émission de chaque paquet créé, et est libre d'adapter la largeur de cette fenêtre à la nature du flux qu'il gère. De plus, pour aider le module de multiplexage 14 dans sa tâche et pour lui permettre de générer un flux de qualité, il définit une position idéale du paquet dans sa fenêtre. La gestion des paramètres Tmin, Tmax et Tidéal est spécifique pour chaque type de flux d'entrée. Dans le cas où le flux d'entrée est un flux élémentaire (ES, PES ou données), l'heure minimale d'émission Tmin est calculée en ajoutant un temps de latence T1 à l'heure d'entrée Te des données du paquet dans le tampon d'entrée 20 du module de paquétisation, et la différence Tmax - Tmin entre l'heure maximale et l'heure minimale d'émission est calculée en fonction du type de flux élémentaire et du débit de ce flux. Si la source du flux élémentaire a un débit régulier, le temps d'entrée Te est simplement déduit par le processeur 26 à partir de l'heure de passage des données par le circuit de détection 22. Si la source du flux élémentaire a un débit en rafales, le temps d'entrée peut être retrouvé à partir d'une information de débit reçue du codeur situé en amont ou lue dans le flux.Le temps de latence T1 est un temps programmable destiné à retarder l'émission de certains flux par rapport à d'autres. La largeur de fenêtre Tmax - Tmin est prise plus petite pour des flux temporels, notamment des flux vidéo, que pour des flux sans contrainte de réémission très précise, tels que les flux de données d'accès conditionnel EMM. La différence Tmax - Tmin est en outre une fonction décroissante du débit du flux élémentaire. Dans la cas d'un flux d'entrée multiplexé de type flux de transport, l'heure minimale Tmin de réémission d'un paquet est calculée en fonction de l'heure d'entrée Te du paquet dans le module et d'un temps de latence T1 comme dans le cas précédent, et en outre en fonction de la stratégie qu'avait adoptée le précédent multiplexeur. Cette stratégie est indiquée dans les champs LTW des en-têtes TP du flux ou dans des champs descripteurs, ces champs pouvant être lus par le processeur 26 par l'intermédiaire du circuit de détection 22. L'heure minimale calculée Tmin est par exemple retardée, par rapport à Te + T1 du temps correspondant au décalage de fenêtre (LTW~offset) lu dans le flux. Dans le cas d'un flux d'entrée multiplexé, l'heure maximale de réémission Tmax est calculée en fonction du type de flux. Pour la plupart des flux élémentaires d'un flux de transport, la différence Tmax -Tmin est prise égale à 4 ms. Cependant, pour certains cas particuliers, cette différence peut être augmentée pour alléger les contraintes du module de multiplexage. L'heure idéale d'émission d'un paquet est obtenue en fonction de la stratégie de multiplexage adoptée pour le flux élémentaire contenant ce paquet. Cette heure Tidéal peut se définir par un décalage par rapport à l'heure minimale Tmin, ce décalage étant fixe ou encore proportionnel à la largeur Tmax - Tmin de la fenêtre d'émission. Une stratégie .'tôt" correspond à une heure Tidéal relativement proche de l'heure minimale Tmin. Une telle stratégie favorise le codeur ou le multiplexeur situé en amont, qui peut avoir une mémoire tampon de sortie de taille réduite. Une stratégie 'tard" correspond à une heure Tidéal relativement éloignée de l'heure minimale Tmin.Une telle stratégie favorise le décodeur ou le remultiplexeur situé en aval en ce sens que sa mémoire tampon d'entrée peut être de taille réduite. I1 existe tout une gamme entre les stratégies "tôt" et "tard". Dans une réalisation typique, les paramètres d'élection stockés dans les mémoires de paramètres ZMi sont l'heure idéale d'émission Tidéal codée sur 20 bits, la différence Tidéal - Tmin codée sur 15 bits, et la différence Tmax - Tidéal codée sur 15 bits, exprimées par rapport à une horloge de référence à 90 kHz. Ces paramètres sont stockés à une adresse liée à l'adresse du paquet associé dans la mémoire PMi. Les paramètres associés à un paquet et stockés dans les mémoires de paramètres ZMi comprennent en outre des paramètres de modification permettant au module de multiplexage 14 de mettre à jour l'en-tête du paquet en fonction de son heure d'émission lorsque cela est nécessaire. Ces paramètres de modification comprennent par exemple - des bits indiquant la présence ou l'absence, détectée par la logique 25, d'un champ de type PCR ou d'un champ de type LTW, qui ne peuvent être mis à jour que lorsque l'heure de sortie exacte du paquet est connue, nécessitant des références temporelles très précises. Dans le cas d'un champ de type PCR dont la position est fixe par rapport au début du paquet, il suffit d'un bit pour indiquer si un tel champ est présent dans le paquet. Dans le cas d'un champ de type LTW, dont la position peut varier, les paramètres de modification indiquent en outre la position de ce champ dans le paquet - taille de la partie donnée (payload) du paquet. Cette information est utile dans le cas où le module de multiplexage 14 réalise en outre un embrouillage du paquet - paramètre d'identification PID du paquet. Cette information, utile dans les applications de remultiplexage, permet au module de multiplexage 14 de savoir s'il doit changer ce paramètre (cas où le même paramètre d'identification PID est attribué à plusieurs flux élémentaires contenus dans les flux d'entrée). Une architecture du module de multiplexage 14 est représentée sur le schéma de la figure 6. Ce module comprend d'une part un microprocesseur 40 et un circuit d'élection 42 qui traitent les données contenues dans les mémoires de paramètres ZMi, et d'autre part un séquenceur de transferts 44 qui commande les transferts de paquets des mémoires de paquets PMi vers le tampon de sortie 46 du dispositif. On comprendra que le module de multiplexage 14 pourrait comprendre encore d'autres éléments, par exemple pour embrouiller les paquets transférés avant de les inscrire dans le tampon de sortie. Le module de multiplexage 14 comprend en outre une mémoire de paquets supplémentaire PMO et une mémoire de paramètres associée ZM0. La mémoire PMO contient des paquets d'informations spécifiques aux programmes portés par le multiplex de sortie (PSI), qui spécifient entre autres les paramètres d'identification PID des flux de chaque programme (voir chapitre 2.4.4 du document ISO/IEC 13818-1). Ces paquets PSI sont écrits dans la mémoire PMO par une source non représentée appartenant également au module de multiplexage 14. Cette source écrit en outre dans la mémoire ZMO des paramètres d'élection associés à ces paquets : Tmin, Tmax, Tidéal. Les contraintes temporelles des paquets PSI n'étant pas très sévères, la fenêtre temporelle d'émission de ces paquets peut être prise relativement large. Du point de vue du module de multiplexage 14, les mémoires de paquets PM0, PM1, ..., PMm sont considérées comme un espace d'adressage unique. De même, les mémoires de paramètres ZMO, ZM1, ...,ZMm sont considérées pour la lecture comme un espace d'adressage unique. La figure 6 montre le bus de données 10D et le bus d'adresse 10A compris dans le bus de paquets 10. Ces deux bus 10A, 10D sont reliés respectivement aux entrées d'adresse et de données de chacune des mémoires de paquets PMi. Les adresses sur le bus 10A sont générées par le séquenceur de transferts 44 sous le contrôle du processeur 40. Le bus de données 10D est également relié à 1'entrée du tampon de sortie 46 où l'écriture des données est commandée par le séquenceur 44. La figure 6 montre également le bus de données 12D et le bus d'adresse 12A contrôlés par le processeur 40 et compris dans le bus de paramètres 12. Ces deux bus 12A, 12D sont reliés respectivement aux entrées d'adresse et de données de chacune des mémoires de paramètres ZMi. Les bus de paquets 10 et de paramètres 12 sont reliés entre eux par une porte à trois états 48 permettant au processeur 40 de prendre la main sur le bus de paquets 10. Pour ordonner au séquenceur 44 le transfert d'un paquet de transport de 188 octets vers le tampon de sortie, le processeur 40 présente une adresse de départ sur le bus d'adresse 12A. Cette adresse de départ est transmise au bus 10A par la porte 48, et le compteur d'adresse du séquenceur 44 s'initialise à la valeur de cette adresse de départ, puis s'incrémente jusqu'à ce que les 188 octets du paquet soient transférés. Les bus d'adresses 10A, 12A sont suffisamment larges pour que les mémoires de paquets PMi et de paramètres ZMi soient vues comme un espace d'adressage unique par le processeur 40. Des bus d'adresse de 24 bits conviennent pour un multiplexeur ou remultiplexeur de grande capacité (m Le séquenceur 44 est séparé du processeur 40 afin de permettre au processeur 40 et au circuit 42 d'effectuer les traitements relatifs à l'émission d'un paquet dans le multiplex pendant que le paquet précédent du multiplex est en cours de transfert sous la commande du séquenceur. Ceci permet au module de multiplexage 14 de s'adapter au grand débit d'émission requis par la norme MPEG2. Les traitements effectués avant le transfert d'un paquet comprennent - la sélection de la mémoire de paquets PMi dans laquelle sera lu ce paquet et la détermination de l'adresse de départ à fournir au séquenceur 44 pour assurer le transfert de ce paquet - l'analyse des paramètres de modification relatifs au paquet élu et la modification éventuelle des champs correspondants. Le processeur 40 reçoit de l'équipement situé en aval du dispositif un signal CK de cadencement du multiplex de sortie. Le processeur 40 calcule l'heure Ts d'émission du prochain paquet à partir de ce signal CK. Le choix de la mémoire de paquets d'où sera extrait le prochain paquet est effectué sur la base de cette heure d'émission Ts et des paramètres d'élection Tmin, Tmax, Tidéal présents dans les premières positions des mémoires de paramètres ZMi, c'est-à-dire des paramètres d'élection associés aux premiers paquets en attente dans chacune des mémoires de paquets PMi. L'annexe 1 présentée à la fin de la présente description donne un exemple d'algorithme d'élection en langage C utilisable pour sélectionner les mémoires de paquets d'où extraire les paquets du multiplex. Dans les notations de l'annexe 1, nb~sources correspond au nombre de mémoires de paquets raccordables au bus de paquets 10 (nb~ sources = m + 1 quand la totalité de la capacité du module de multiplexage 14 est utilisée), valid~TP~flag[] est un tableau de longueur nb~sources constitué de variables booléennes telles que valid~TP~flag[current~channel] est vraie si une mémoire de paquets PMi est effectivement raccordée à la position current~channel et si cette mémoire de paquets contient au moins un paquet en attente de transfert, les tableaux Tmint], Tmax[] et Tidéal[] contiennent les paramètres d'élection des premiers paquets en attente dans chaque mémoire de paquets, currentpriority est un coefficient de priorité calculé pour le premier paquet en attente dans la mémoire PM(current~channel), et elected~TPpriority est le coefficient de priorité maximisé par l'algorithme d'élection, correspondant au paquet élu contenu dans la mémoire PM(elected TP channel). Un coefficient de priorité de -1 est attribué à un paquet de bourrage stocké, par exemple, dans la mémoire PM0 à une adresse à laquelle on attribue un numéro de mémoire égal à -1. Ce paquet de bourrage est sélectionné par défaut si aucune mémoire de paquets ne contient un paquet ayant atteint son heure minimale d'émission Tmin. Aucun paquet ne peut normalement être émis après son heure maximale Tmax, étant donné que le dispositif est dimensionné pour que la somme des débits des flux d'entrée soit inférieure au débit du flux de sortie. Les figures 7 et 8 montrent les variations du coefficient de priorité d'un paquet ayant une fenêtre d'émission donnée [Tmin, Tmax] en fonction de l'heure d'émission Ts dans le cas d'une stratégie *tête (figure 7) et dans le cas d'une stratégie "tard' (figure 8). On voit que pour un temps d'émission donné et des fenêtres identiques, l'algorithme d'élection privilégie les flux pour lesquels on a défini une stratégie Httfl. L'algorithme d'élection présenté à l'annexe 1 peut être mis en oeuvre par le processeur 40 pendant que le paquet précédent du multiplex est en cours de transfert. Dans ce cas, le processeur 40 doit effectuer des lectures dans les mémoires de paramètres ZMi puis exécuter l'algorithme. Ces tâches prennent un temps non négligeable au processeur. C'est pourquoi, dans les applications à haut débit, on préfère utiliser un circuit d'élection distinct 42 comme illustré sur la figure 6. Un circuit câblé 42 permet d'effectuer l'élection plus rapidement qu'un processeur, et soulage le processeur 40 des calculs correspondants. Le module de multiplexage 14 comprend une mémoire à deux accès 50 reliée au bus de paramètres 12 pour fournir les paramètres utiles au circuit d'élection 42. Les paramètres d'élection Tidéal, Tmax - Tidéal et Tidéal - Tmin associés au premier paquet en attente dans chaque mémoire de paquets PMi sont lus par le processeur 40 dans la mémoire de paramètres correspondante ZMi et sont écrits dans la mémoire 50 à une adresse ADD égale au numéro de la mémoire de paquet.Le processeur 40 écrit également dans la mémoire 50 des bits BM correspondant aux variables booléennes valide TP~flag précédemment définis : BM = 0 si aucune mémoire de paquets n'est raccordée à la position correspondant à l'adresse ADD ou Si la mémoire de paquets raccordée à la position correspondant à l'adresse ADD ne contient aucun paquet en attente à l'instant considéré. La figure 9 est un schéma d'un circuit câblé d'élection. Ce circuit 42 comprend un registre 52 dans lequel la valeur de la prochaine heure d'émission Ts est écrite par le processeur 40. Un séquenceur 54 supervise les opérations effectuées par le circuit 42 en réponse à un ordre d'élection EC reçu du processeur 40. Le séquenceur 54 commence par initialiser à la valeur -1 (paquet de bourrage par défaut) les contenus de deux registres 56, 58 destinés à contenir l'un l'adresse ADDS correspondant à la mémoire de paquets sélectionnée et l'autre le coefficient de priorité correspondant PRIO. Le séquenceur 54 génère ensuite des ordres de lecture dans la mémoire de travail 50.A chaque cycle de lecture , le séquenceur 54 incrémente d'une unité un compteur d'adresse délivrant l'adresse de lecture, de façon à lire séquentiellement les paramètres BM, Tidéal, Tmax - Tidéal et Tidéal - Tmin relatifs aux différentes adresses possibles. Le circuit d'élection 42 comprend un soustracteur 60 recevant sur son entrée positive l'heure d'émission Ts issue du registre 52 et sur son entrée négative l'heure idéale Tidéal issue de la mémoire 50. Le bit de signe de la sortie du soustracteur 60 commande un multiplexeur 62 dont une entrée (signe positif) reçoit le paramètre Tmax - Tidéal depuis la mémoire 50 et l'autre entrée (signe négatif) reçoit le paramètre Tidéal - Tmin depuis la mémoire 50. Un diviseur 64 calcule le quotient entre la sortie du soustracteur 60 et la sortie du multiplexeur 62.Le coefficient de priorité du paquet courant ainsi fourni par le diviseur 64 est adressé à une entrée d'un comparateur 66 dont l'autre entrée reçoit le contenu du registre 58. Une porte ET 68 reçoit d'une part le bit BM relatif au paquet courant, et d'autre part le bit de comparaison produit par le comparateur 66. Ce bit de comparaison vaut 1 si le coefficient de priorité calculé du paquet courant est plus grand que celui inscrit dans le registre 58 et 0 dans le cas contraire. A des fins de synchronisme, un registre à décalage 70 retarde le bit BM adressé à la porte ET 68 d'un nombre de cycles égal à celui nécessaire aux calculs effectués par les éléments 60 à 66. L'adresse ADD générée par le séquenceur 54 est adressée au registre 56 après avoir traversé un registre à décalage 72 qui la retarde du même nombre de cycles. Le coefficient de priorité produit par le diviseur 64 est adressé au registre 58. L'horloge cycle CCK est fournie par le séquenceur 54 aux registres 56 à 58 en vue de leur mise à jour, mais cette mise à jour n'est effectuée qu'à la condition que la sortie de la porte ET 68 soit à 1. Le circuit 42 décrit ci-dessus permet d'exécuter l'algorithme d'élection de l'annexe 1 en un temps très bref. Une fois que le circuit d'élection a balayé toutes les adresses possibles, l'adresse ADDS correspondant à la mémoire PMi où le prochain paquet sera à lire est disponible dans le registre 56. Le processeur 40 peut alors lire ce registre 56 par l'intermédiaire du bus de paramètres 12. Une fois que le processeur 40 connaît ainsi la mémoire de paquets sélectionnée PMi, il procède aux opérations suivantes - les paramètres de modification du paquet sélectionné sont lus dans la mémoire de paramètres associée ZMi - le processeur 40 analyse ces paramètres de modification et, si nécessaire effectue les modifications correspondantes du paquet dans la mémoire PMi. Pour modifier un paquet, le processeur 40 prend la main sur le bus de paquets 10 via la porte 48. Les adresses de modification sont déduites du numéro de la mémoire sélectionnée et des paramètres de modification. Les données temporelles à modifier (PCR ou LTW) le sont en fonction de l'heure d'émission Ts précédemment calculée. S'il faut modifier des champs d'identification PID, le processeur 40 utilise les données de cartographie du multiplex de sortie (PSI). Pendant que le processeur 40 prend la main sur le bus de paquets 10, le séquenceur 44 interrompt le transfert du paquet en cours - le processeur 40 détermine, en fonction du numéro ADDS de la mémoire de paquets sélectionnée, l'adresse de départ à fournir au séquenceur de transferts 44 pour le transfert du prochain paquet du multiplex OS ; le processeur détermine cette adresse de départ de manière à respecter l'ordre d'entrée des paquets dans chaque mémoire de paquets - les paramètres d'élection du paquet qui venait en seconde position dans la mémoire sélectionnée PMi sont lus dans la mémoire de paramètres associée ZMi et inscrits dans la mémoire de travail 50 à l'adresse correspondante ; à défaut d'un tel second paquet, le bit BM correspondant est mis à 0 dans la mémoire de travail 50 - le processeur 40 calcule l'heure d'émission Ts du paquet suivant et la fournit au circuit d'élection 42 de même que l'ordre d'élection suivant EC. Bien entendu, le processeur 40 peut encore assurer d'autres fonctions non détaillées ici car non directement concernées par la présente invention. L'organisation proposée du module de multiplexage est bien adaptée aux contraintes imposées par la norme système MPEG2. Les modules de paquétisation fournissent au module de multiplexage les informations lui donnant la possibilité de parvenir à une répartition optimale des paquets dans le temps, en lui donnant non seulement l'heure idéale de diffusion de chaque paquet, mais aussi l'heure minimale et l'heure maximale permettant de respecter les tampons d'entrée d'un décodeur situé en aval. Le module de multiplexage n'a pas à connaître les caractéristiques de multiplexage des sources qu'il gère (débit, facteur critique de multiplexage). On peut donc définir une carte de multiplexage générique qui couvre les aspects multiplexage proprement dits mais aussi remultiplexage, ceci autorisant une flexibilité très importante. Le processeur de multiplexage est soulagé pour parvenir à gérer des configurations lourdes en termes de nombre et de débit des flux élémentaires, sans avoir besoin d'une puissance de calcul rédhibitoire. Le processus de multiplexage est très systématique et peut en partie être implanté dans une logique câblée très rapide telle que le circuit d'élection 42. Le nombre m des flux élémentaires que l'on peut gérer n'est limité que par la largeur des bus d'adresses du module de multiplexage. Ceci autorise une grande flexibilité, car on peut facilement ajouter ou retirer des modules de paquétisation au module de multiplexage. Le dispositif se configure à la mise sous tension et sait combien de modules de paquétisation sont présents, et à quelles adresses sur le bus de paquets et sur le bus de paramètres il écriront leurs données. Les paramètres nécessaires à l'élection et à la modification des paquets sont identiques quel que soit le type de flux que gère le module de paquétisation. Le module de multiplexage ignore donc la nature des flux qu'il multiplexe. Il sait simplement combien de sources de paquets de transport lui sont connectées, et son travail est systématique (et donc plus rapide). Dans l'organisation proposée, chaque paquet de chaque source en attente dans l'espace mémoire des paquets dispose d'une zone associée dans l'espace mémoire des paramètres. Une variante de réalisation du dispositif de la figure 1 est montrée sur la figure 10. Dans cette variante, l'interface entre les modules de paquétisation Cl,... ,con et le module de multiplexage 14 comprend des mémoires de paquets PM1,...,PMm, des mémoires ZM1,...,ZMm pour recevoir les paramètres d'élection des paquets et des mémoires YM1,...,YMm pour recevoir les paramètres de modification des paquets. Chaque module de paquétisation écrit donc les paramètres de modification dans une mémoire YMi également associée à la mémoire de paquets PMi, mais distincte (au moins en ce qui concerne l'adressage) de la mémoire ZMi des paramètres d'élection. Le bus 12 qui permet au module de multiplexage 14 de voir l'ensemble des mémoires ZMi comme un espace d'adressage unique ne sert dans cette variante qu'à la lecture des paramètres d'élection.Un bus semblable 16 est prévu entre le module de multiplexage 14 et les mémoires YMi pour lire les paramètres de modification. Les mémoires YMi sont donc également vues comme un espace d'adressage unique par le module de multiplexage. Cette architecture permet au processeur du module de multiplexage d'effectuer la modification d'un ou plusieurs paquets élus pendant que le circuit d'élection sélectionne une mémoire de paquets pour un paquet suivant du multiplex de sortie OS, étant observé que plusieurs paquets peuvent être élus d'avance, les heures d'émission Ts des paquets pouvant être anticipées. Par exemple, pendant que le paquet N sort du tampon de sortie, le paquet N+1 peut être écrit dans le tampon de sortie, le paquet N+2 peut être modifié dans sa mémoire de paquets et le paquet N+3 peut être élu.En augmentant ainsi la parallélisation des opérations, on peut s'adapter à des débits de sortie encore plus élevés. ANNEXE 1 int election(int Ts, nb~sources, valid~TP~flag[], Tmin!], Tideal[], Tmax[]) int current channel, elected TP channel; float current-priority, elected-TP-priority; /* initialisation du TP élu à sa valeur par défaut : paquet de bourrage avec une priorité de = elected~ TP~ channel = -1; elected-TP-priority = -1.0; /* boucle principale de balayage des sources t/ for (current~channel=O; current~channel if (validTP~flag[current~channel]) /* calcul de la priorité du TP courant */ if (Tideal[current-channel] currentoriority = (Ts-Tidealfcurrent~channel])/ (Tmax[current-channel]-Tideal [current-channel]); olse current priority = (Ts-Tideal[current~channel])/ (Tideal[current-channel]-Tmin[current-channel]); /* comparaison du TP élu et du TP courant */ if (current-priority > elected-TP-priority) ( /* mise à jour des paramètres du TP élu */ elected-TP-priority = current-priority; elected~TP~channel = current~channel; return elected~TP~channel; REVENDICATIONS 1. Dispositif pour produire un multiplex temporel de paquets d'informations numériques, comprenant plusieurs modules de paquétisation (Cl,C2,...,Cn) recevant chacun un flux numérique d'entrée (ISl,IS2,...,ISn), plusieurs mémoires de paquets (PMl,PM2,...,PMm) recevant chacune des paquets issus d'un module de paquétisation respectif, et des moyens de multiplexage (14) sélectionnant les mémoires de paquets d'où les paquets du multiplex sont à extraire et transférant successivement lesdits paquets vers une sortie du dispositif, caractérisé en ce qu'au moins un module de paquétisation comprend - un tampon d'entrée (20) recevant le flux d'entrée - un circuit de détection (22) relié à la sortie du tampon d'entrée pour détecter des mots de synchronisation du flux d'entrée - une unité de stockage (23) recevant successivement les octets du flux d'entrée qui ont été présentés au circuit de détection (22) - des moyens de transfert (32) pour transférer des octets de l'unité de stockage (23) vers une mémoire de paquets (PMi) ; et - un processeur (26) pour déterminer les en-têtes des paquets construits à partir du flux d'entrée sur la base des mots de synchronisation détectés par le circuit de détection (22), écrire ces en-têtes dans la mémoire de paquets (PMi), et commander les moyens de transfert (32), et en ce que l'unité de stockage (23) est organisée en premier entré - premier sorti de façon à contenir à chaque instant K-k octets du flux d'entrée, K désignant le nombre d'octets d'un paquet du multiplex de sortie et k désignant le nombre d'octet minimal des en-têtes de paquet, et à ce que le transfert d'un octet de l'unité de stockage (23) vers la mémoire de paquets (PMi) soit accompagné par le transfert d'un autre octet du circuit de détection (22) vers l'unité de stockage (23), de sorte que tous les octets du flux d'entrée pouvant être introduits dans un paquet sont présentés au circuit de détection (22) avant que commence l'écriture de ce paquet dans la mémoire de paquets. 2. Dispositif selon la revendication 1, caractérisé en ce que le processeur (26) d'un module de paquétisation calcule le nombre d'octets L de l'en-tête d'un paquet selon les détections de mots de synchronisation effectuées par le circuit de détection (22) pendant que les octets d'un paquet précédent issus du flux d'entrée sont transférés de l'unité de stockage (23) vers la mémoire de paquets (PMî), et commande les moyens de transfert (32) pour transférer ensuite les K-L octets du flux d'entrée à inclure dans ledit paquet. 3. Dispositif selon la revendication 1 ou 2, caractérisé en ce que, pour traiter un flux élémentaire brut (ES) issu d'un codeur audio ou vidéo, le processeur (26) d'un module de paquétisation est agencé pour déterminer des en-têtes d'une première couche de paquétisation (PES) et des en-têtes d'une seconde couche de paquétisation (TP) sur la base de mots de synchronisation du flux élémentaire détectés par le circuit de détection (22), les paquets écrits dans la mémoire de paquets (PMi) contenant chacun un en-tête de la seconde couche, et les paquets contenant un en-tête de la première couche commençant chacun par un en-tête composite écrit par le processeur (26) dans la mémoire de paquets (PMi) et constitué par un en-tête de la seconde couche suivi par ledit en-tête de la première couche. 4. Dispositif selon la revendication 3, caractérisé en ce que le processeur (26) est agencé pour déterminer lesdits en-têtes composites de façon qu'ils occupent chacun la totalité d'un paquet de K octets. 5. Dispositif selon la revendication 1 ou 2, caractérisé en ce que pour traiter un flux élémentaire paquétisé selon une première couche de paquétisation (PES), le processeur (26) d'un module de paquétisation est agencé pour déterminer un en-tête d'une seconde couche de paquétisation (TP) inséré au début de chaque paquet écrit dans la mémoire de paquets (PMi) sur la base de mots de synchronisation inclus dans les en-têtes de la première couche et détectés par le circuit de détection (22), le circuit de détection (22) fournissant en outre au processeur (26) une indication du nombre d'octets L' de chaque en-tête de la première couche de façon que le processeur (26) détermine un en-tête de la seconde couche de K-L' octets pour le paquet contenant cet en-tête de la première couche. 6. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que le circuit de détection (22) comprend un réseau de portes programmable. 7. Dispositif selon la revendication 6, caractérisé en ce que le circuit de détection (22) comprend un registre à décalage (24) ayant une longueur de k octets placé entre la sortie du tampon d'entrée (20) et l'entrée de l'unité de stockage (23), et une logique programmable de détection (25) recevant les k octets présents dans le registre à décalage (24) et indiquant au processeur (26) les détections de mots de synchronisation. 8. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que le processeur (26) d'un module de paquétisation est en outre agencé pour calculer des paramètres associés à chaque paquet écrit dans une mémoire de paquets (PMi) et pour écrire ces paramètres dans au moins une mémoire de paramètres (ZMi;YMi) associée à ladite mémoire de paquets. 9. Dispositif selon la revendication 8, caractérisé en ce que les paramètres associés à un paquet comprennent des paramètres d'élection permettant aux moyens de multiplexage (14) de sélectionner les mémoires de paquets, et/ou des paramètres de modification indiquant aux moyens de multiplexage (14) s'ils ont à modifier une ou plusieurs portions déterminées du paquet avant de transférer ce paquet vers la sortie du dispositif. 10. Dispositif selon la revendication 8 ou 9, caractérisé en ce que les moyens de multiplexage (14) sont reliés aux mémoires de paquets par un bus de paquets commun (10) de façon que les mémoires de paquets (PMi) constituent un espace d'adressage unique pour les moyens de multiplexage, et en ce que les moyens de multiplexage (14) sont reliés aux mémoires de paramètres (ZMi) par un bus de paramètres commun (12) de façon que les mémoires de paramètres constituent un espace d'adressage unique pour les moyens de multiplexage.