Brevet FR2785755A1 — publié le 20000512

Procédé de restitution de données de datagrammes encapsulés dans des paquets de transport et récepteur pour la mise en oeuvre du procédé. Pour transmettre des données numériques en plus de signaux de télévision numérique, on utilise un protocole appelé DVB MPE (Diffusion de Données Vidéo, Encapsulation MultiProtocole) qui prévoit que des blocs de données, appelés datagrammes, soient encapsulés dans des paquets de longueur variable, appelés sections. Une section est une entité structurée qui comporte, en en-tete, des champs de signalisation spécifiant par exemple la longueur de celle-ci et l'adresse du ou des destinataires. Une carte électronique, ou tuner, d'un récepteur de télévision comportant une antenne de réception des sections émises par satellite, peut alors lire les champs de signalisation dans le flux entrant de sections pour effectuer d'abord un filtrage frontal d'après le contenu des champs. Les sections conformes aux critères de sélection voulus, mémorisés localement, sont transmises à d'autres circuits, aval, d'exploitation du datagramme, les autres sections étant rejetées immédiatement. Compte tenu de la vitesse élevée de transmission, il est en effet exclu de laisser s'accumuler, ou de transmettre en aval, des sections non encore filtrées, car la destruction tardive et en aval de sections non conformes aux critères de filtrage serait grande consommatrice de puissance de traitement et donc limiterait le débit, ou bande passante, maximal possible. On effectue donc le filtrage "au vol", en temps réel pendant la réception de la section considérée. Cependant, si une section est de faible longueur, le temps de filtrage disponible est d'autant réduit, mais la tâche de filtrage, quant à elle, requiert toujours la mme puissance de traitement. De ce fait, le débit maximal admissible est limité par la puissance de traitement disponible pendant la réception d'une section de taille minimale. Comme expliqué ci-dessus, les sections ont une structure qui permet une communication logique entre l'émetteur diffusant les datagrammes et les récepteurs, qui peuvent lire les champs de signalisation associés aux données utiles, pour accepter ou non celles-ci et ensuite les exploiter. Comme les sections sont de taille variable, leur diffusion telle quelle poserait des difficultés en réception. C'est pourquoi, avant leur émission, on répartit les sections successives dans des paquets de transport (TP) de longueur fixe, au standard MPEG2 par exemple. En d'autres termes, les sections successives, fictivement mises bout à bout, sont tronçonnées, ou fragmentées, à la taille des paquets TP, qui n'a aucun rapport avec celle, variable, des sections. Le récepteur des paquets TP effectue l'opération inverse, en remettant bout à bout les paquets TP successifs et extrait ensuite, du flux continu ainsi restitué, les sections successives par repérage de leur en-tete et par lecture du champ qui en indique la longueur. Un paquet de transport contenant plusieurs sections de faible taille sera très long à traiter, pour la raison indiquée ci-dessus. Cette opération est encore compliquée par le fait que le récepteur peut recevoir sur une mme porteuse, et accepter, plusieurs flux de canaux indépendants multiplexés dans le temps et identifiés par un identificateur de canal appelé PID. Chaque canal véhicule un flux de paquets de transport transportant des sections vers un circuit utilisateur spécifique parmi plusieurs en sortie du récepteur. Du fait du multiplexage à l'émission, pour transmettre tous les canaux sur une meme porteuse, chaque canal n'est que virtuel et il faut analyser les paquets de transport reçus pour identifier le canal de chacun et les aiguiller vers le circuit utilisateur correspondant, en reconstituant les sections dans le canal considéré. Il s'agit alors de repérer les paquets TP de chaque canal pour les remettre bout-à-bout dans l'ordre voulu, et ensuite d'en extraire les sections, c'est à-dire de les"défragmenter"ou reconstituer. La puissance des traitement des circuits effectuant"au vol"la reconstitution des sections limite le débit maximal admissible. La présente invention vise à améliorer l'efficacité des circuits du récepteur et donc à augmenter le débit maximal admissible. A cet effet, l'invention concerne un procédé de restitution de données transmises par paquets dans des sections transportées par tronçons dans des paquets de transport, caractérisé par le fait qu'on écrit, au rythme de leurs réceptions, les paquets dans une mémoire tampon de taille suffisante pour en stocker plusieurs et on en extrait les paquets pour récupérer leurs données, par lecture à un rythme indépendant de celui d'écriture. Ainsi, l'analyse des paquets de transport en mémoire tampon, pour en restituer les données, peut s'étendre sur la durée globale de réception des paquets de ceux-ci. En d'autres termes, le temps disponible pour analyser un paquet de transport, c'est-à-dire éventuellement plusieurs sections courtes, n'est plus restreint par le nombre de sections dans le paquet de transport considéré mais par le nombre moyen de sections dans le total des paquets de transport stockés. A puissance de traitement déterminée, les circuits pour l'analyse des paquets de transport peuvent maintenant utiliser le temps libre, qui restait en fin de réception de sections longues, pour traiter des paquets supplémentaires. L'invention concerne aussi récepteur de données pour la mise en oeuvre du procédé de l'invention, caractérisé par le fait qu'il comporte des moyens de réception de données et de synchronisation agencés pour recevoir et individualiser des paquets de transport de données et pour commander des moyens d'écriture dans des moyens mémoires tampon au rythme des réceptions et des moyens de traitement des paquets de transport agencés pour commander des moyens de lecture dans les moyens mémoires tampon à un rythme indépendant du rythme des réceptions. L'invention sera mieux comprise à l'aide de la description suivante d'un mode de mise en oeuvre préféré du procédé de l'invention, en référence au dessin annexé sur lequel : -la figure 1 est un schéma par blocs d'un récepteur de données mettant en oeuvre le procédé de l'invention, et -la figure 2 illustre le format de paquets de données. Le récepteur représenté sur la figure 1 est porté par une carte électronique, ou tuner, comportant, en tete, un circuit de synchronisation 1 alimenté par une antenne réceptrice, non représentée. Le circuit 1 est relié en sortie à une mémoire tampon de stockage des paquets de transport, TP, reçus. Ceux-ci, au standard MPEG 2, ont une longueur de 188 octets et la mémoire tampon 3 a une capacité de 256 octets pour chaque paquet TP. Avant de décrire en détails le récepteur, la façon de transmettre des datagrammes par des sections transportées par des paquets, déjà évoquée plus haut, va tre explicitée. La figure 2 illustre le tronçonnage des sections, effectué en émission, pour les transporter dans des paquets TP. Il est représenté trois sections SI, S2 et S3 comportant chacune un champ de signalisation, respectivement 51,53 et 55, et un champ de données utiles, respectivement 52,54 et 56. Les champs de signalisation 51,53,55 sont placés dans la zone d'en-tte des sections afin de disposer au plus vite, en réception, des données de signalisation permettant de traiter les données utiles du champ 52,54,56 associé. Les sections 51,52,53 sont représentées disjointes, ce qui est conforme aux exploitations respectives, au niveau de l'application concernée. Cependant, pour leur transport dans les paquets TP référencés TP1, TP2, TP3 et TP4, les sections Sl, S2, S3 sont fictivement accolées bout-à-bout l'une à l'autre et tronçonnées par tronçons de taille égale à la longueur, fixe, du champ de données utiles 62,64,66,68 des paquets TP. Ainsi, comme l'illustrent les flèches, l'en- tte 51 et le début du champ 52 sont transférés dans le champ de transport 62. Le champ suivant de transport 64 reçoit la fin du champ 52 et le début de l'en-tte 53. Le champ de transport 66 reçoit la fin de l'en-tte 53, le champ de données utiles 54, qui est très court, et le début de l'en-tte 55. Le champ de transport 68 reçoit la fin de l'en-tte 55 et le champ 56. Les champs d'en-tte 51,53 et 55 des sections contiennent des signalisations de position déterminée, indiquant en particulier une référence PID identifiant un canal. En réception, il faut donc, à partir du flux de paquets TP, réagréger ou réassembler les portions des sections tronçonnées, c'est-à-dire effectuer l'opération inverse de celle indiquée par les flèches de la figure 2. Revenant à la figure 1, une mémoire 2, reliée à la sortie du circuit 1 et reliée, par sa sortie, à une entrée de données de la mémoire 3, contient une table de décision en fonction de l'identité PID du canal concerné par le paquet TP en cours de réception et lue dans un en-tte 61 de celui-ci (fig. 2). Des attributs liés au PID considéré, stockés dans la table 2, sont alors adjoints au paquet TP de la mémoire 3, dans la zone allouée au paquet et restée libre après écriture des 188 octets du paquet TP considéré. Ces attributs indiquent par exemple un protocole de défragmentation ou réagrégation à utiliser, ainsi qu'un numéro 10 à 41 d'une queue de sortie, vers un circuit utilisateur des données des sections transportées par les paquets TP. Chaque identité PID aiguille ainsi, ou démultiplexe, vers le destinataire 10 à 41 voulu, les données d'un canal de réception, multiplex avec d'autres. Un paquet à identité PID non reconnue est éliminé. Les paquets TP sélectionnés transitant dans la mémoire tampon 3, avec leurs attributs, sont traités à ce niveau"au vol"pendant la durée de leur réception et sont transférés, par un circuit d'écriture 42, dans une mémoire silo 4, du genre FIFO (Premier Entré, Premier Sorti), de capacité suffisante pour en stocker par exemple quelques dizaines. La mémoire silo 4 est vidée par un circuit de lecture 43 commandé par un circuit 6 de défragmentation ou réassemblage des sections réparties dans les paquets TP, sous la commande d'un circuit 5 contenant des contextes statiques et dynamiques de filtrage. La sortie du circuit 6 est aiguillée, par adressage, vers l'une des queues de sortie 10 à 41. Le fonctionnement des circuits ci-dessus va maintenant tre expliqué de façon plus détaillée. On rappellera tout d'abord que le standard DVB MPE (MPE pour MultiProtocol Encapsulation) définit que les datagrammes IP (Paquet d'informations) sont encapsulés dans des sections. Les sections sont des structures de données de longueur variable habituellement utilisées pour le transport de la signalisation MPEG2. Les sections peuvent tre concaténées ou pas, c'est-à-dire mises bout à bout avant tronçonnage. Le rapport entre la structure de transport MPEG2, organisée en paquets de longueur fixe de 188 octets appelés TP (Paquets de Transport), et les sections, est comme suit. Chaque paquet TP possède dans son en-tte 61 un élément binaire appelé pusi (indicateur de début de paquet : packet unit start indicator) qui indique que la section contient un début 51 de nouveau datagramme, quelque part dans le paquet TP. Le premier octet de données qui suit l'en- tte précédente 61 contient alors un pointeur qui indique où se trouve le premier octet de cette nouvelle section qui débute dans le paquet TP. Si le bit pusi n'est pas positionné, le paquet TP contient uniquement les données de la section courante, qui se termine, au plus t6t avec le paquet TP courant, mais, en général, peut se prolonger dans le ou les paquets TP suivants. Lorsque les sections sont concaténées, le pointeur placé immédiatement après l'en-tte 61, lorsque le bit pusi est positionné, permet de retrouver le début 51 de la première nouvelle section. De plus, chaque section contient un champ placé à un décalage fixe, et donc connu du récepteur, donnant la longueur propre de chaque section, de sorte qu'il est possible de placer plusieurs sections dans un mme paquet TP, et de les retrouver ensuite en se servant de l'information de longueur de chacune d'elles. Le bloc de synchronisation 1 assure la synchronisation du flux incident, constitué d'une suite d'octets, sur des registres tampon de stockage de paquets TP au niveau du silo 4, et ceci à travers la mémoire 3. La mémoire silo 4 est organisée sous la forme d'un registre tampon circulaire de N paquets TP (N entier positif). La synchronisation s'effectue selon un algorithme défini par le standard DVB/MPEG2. La fonction de stockage des paquets TP gère un pointeur qui définit le rang du registre tampon courant en écriture. Lorsque la synchronisation n'est pas acquise, les données sont écrites dans le registre tampon courant, et le rang de ce registre tampon ne peut progresser que si la synchronisation est acquise. Lorsque la synchronisation est acquise, le paquet TP courant reçu est écrit dans la mémoire silo 4 et, pendant ce temps, la table de décision PID 2 est lue, connaissant la valeur du PID lue en début du paquet TP courant. La décision concernant ce paquet TP (conservé ou rejeté) est obtenue avant la fin de réception du paquet TP1 courant, de façon à prendre la décision concernant le pointeur d'écriture de la mémoire silo 4 avant réception du paquet TP2 suivant. Dans le mme temps, la table de décision PID 2 fournit des attributs sur le traitement de chaque identité PID, qui sont stockés dans la mémoire silo 4 dans le mme registre tampon que le paquet TP reçu. Pour ce faire, chaque registre tampon de la mémoire silo 4 est surdimensionné à 256 octets pour 188 octets de stockage de paquet TP. Parmi les attributs ainsi transmis se trouve un code indiquant le protocole de défragmentation à utiliser pour reconstituer les sections, ainsi que le numéro de queue de défragmentation/stockage 10 à 41 à utiliser pour le PID considéré. Le bloc de défragmentation ou reconstitution des sections 6 gère un pointeur de lecture des paquets TP du silo 4 et, dès qu'un ou plusieurs paquets TP sont présents, procède à la lecture en vue de la défragmentation du premier paquet TP en attente. La reconstitution des sections s'effectue donc à une cadence instantanée qui est indépendante de la cadence de réception des paquets TP dans la mémoire tampon frontale 3. Le silo 4 des N paquets TP joue le rôle d'intégrateur. La contrainte de vitesse de reconstitution des sections en silo 4 est étalée sur le temps de réception de N paquets TP, au lieu de se trouver réduite pour chaque paquet TP, à la durée de réception d'un seul paquet TP. Lorsque le récepteur reçoit des sections de faible longueur, la vitesse de désencapsulation diminue (en fait le volume de données utiles extraites, comme 54, par unité de temps), alors qu'elle augmente pour les sections de grande longueur (52). La contrainte de temps est limitée à la nécessité d'avoir une vitesse moyenne, ou puissance de traitement, suffisante sur une période correspondant à la réception de N paquets TP. Il est ainsi possible de traiter des paquets TP contenant de multiples sections de très faible longueur, alors que, dans une réalisation classique, la défragmentation doit tre effectuée"au vol", paquet par paquet, sans "entraide", ou allocation de temps, d'un traitement à l'autre. Ainsi, on écrit, au rythme de leurs réceptions, les paquets TP dans la mémoire tampon 4 de table suffisante pour en stocker plusieurs et on en extrait les paquets TP pour restituer leurs données, par lecture à un rythme indépendant de celui d'écriture. Ce procédé est mis en oeuvre par les circuits 1,2,3 de réception et de synchronisation agencés pour recevoir et individualiser les paquets de transport de données TP et pour commander les circuits d'écriture 42 dans la mémoire tampon 4 au rythme des réceptions et les circuits 6 de traitement des paquets sont agencés pour commander les moyens 43 de lecture dans la mémoire tampon 4 à un rythme indépendant du rythme des réceptions. Le bloc de défragmentation 6 dialogue également avec la table 5 qui lui indique, pour chaque décalage au sein d'une section, pointant sur un champ de commande déterminé dans l'en-tte 51 et pour chaque PID, si un traitement de filtrage est à effectuer. Un filtrage sert à déterminer quelles informations le récepteur,"branché"sur un canal PID, va accepter. Il y a donc deux étapes de sélection : le PID, par le circuit 2, et les éléments de filtrage sur chaque PID. Un filtre est un comparateur, ici sur un octet à la fois, entre un champ de données reçu, et localisé, et un champ local de référence ou sélection. Un filtrage consiste à rechercher une coïncidence entre des données d'un champ ou sous-champ, d'adresse par exemple, et des données locales. Lorsqu'à un décalage correspond l'exécution d'un filtrage, la défragmentation suspend son processus et sollicite le calcul des nouveaux résultats du filtrage. Les résultats, dynamiques, du filtrage, sont sauvegardés dans le circuit 5 à chaque commutation d'une identité PID à une autre. Lorsqu'un filtre fournit un résultat négatif, il en informe immédiatement le bloc de défragmentation 6. Le filtrage s'effectue donc"au vol", dans le circuit 5, lors de la défragmentation. Ce dernier point constitue un autre avantage du récepteur. En effet, s'il n'est pas possible de connaître le résultat d'un filtrage avant d'avoir atteint un décalage de référence maximal (lequel est également programmable), il est par contre possible de statuer sur l'abandon d'une section reçue dès que le ou les filtres ont donné un résultat négatif. Dans ce dernier cas, le bloc de défragmentation 6 peut cesser le traitement de la section en cours ; il n'est pas nécessaire de lire dans le silo 4 le reste de la section courante. La défragmentation se réaligne simplement sur le début de la section suivante, et libère l'espace en silo 4 occupé par la section rejetée. Ceci préserve la bande passante du récepteur, et augmente la vitesse de désencapsulation, en libérant des ressources de traitement. La dernière opération consiste à recopier les sections retenues dans la queue 10 à 41 attribuée à chaque PID au moyen de la table de décision initiale 2. Ceci est fait directement par le bloc de défragmentation 6, qui gère un pointeur d'écriture courante sur chaque queue 10 à 41, ainsi qu'un pointeur de base pour la section en cours d'écriture. La référence 7 illustre la fonction pointeur, ici sous la forme d'un bus de démultiplexage. Au début de l'analyse de chaque nouvelle section du silo 4, celle-ci est considérée a priori comme retenue et donc écrite dans la queue de sortie 10-41. Si le filtre conduit à son rejet, ce qui peut arriver à n'importe quel niveau de réception selon la programmation des filtres, l'écriture est arrtée, et le pointeur courant est rétabli à la valeur du pointeur de base. La section suivante viendra écraser la section rejetée, et ainsi de suite. L'avantage du filtrage"au vol"est que, statistiquement, les rejets sont détectés dès la réception des premières dizaines d'octets de chaque section, alors que cette dernière peut contenir plusieurs centaines d'octets. Les sections rejetées consomment donc statistiquement très peu de bande passante, ou puissance de traitement, au niveau des queues de stockage 10-41. Le vidage par lecture des queues de stockage 10-41 est effectué par un logiciel d'un terminal PC dans lequel est installé la carte du récepteur, au moyen d'un bus standard micro-informatique (bus PCI). L'économie de bande passante sur le mécanisme de défragmentation avec filtrage au vol indiqué ci-dessus bénéficie au terminal PC en lui laissant un maximum de bande passante pour le vidage des queues 10-41. Caractéristiques du filtrage La fonction de filtrage en elle-mme est réalisée pour optimiser l'exécution d'un nombre de filtres supérieur à un. Chaque filtre est composé d'une liste de décalages auxquels sont attachés individuellement une valeur et un masque bit à bit. Le masque sert à ne valider le filtrage que sur certains bits choisis de chaque octet. Le traitement est effectué ici sur un octet à la fois. Un filtre donne un résultat positif si, compte tenu des masques, tous les octets reçus sont égaux aux valeurs attendues pour toutes les valeurs de décalages spécifiées pour chaque filtre. La mise en parallèle des filtres est telle qu'une section est conservée si l'un au moins des filtres placés en parallèle donne un résultat positif. Elle est rejetée dès que tous ces filtres ont donné un résultat négatif. La table de décision 5, servant alors de façon statique, indique au bloc de défragmentation 6 pour qu'elles valeurs de décalages il existe un calcul de filtrage à effectuer. Le filtre rend alors un résultat immédiat, ce qui permet la poursuite de la défragmentation. Ainsi, le circuit 6 de défragmentation n'a pas besoin de solliciter un nouveau résultat de filtrage au circuit 5 pour chaque octet reçu, mais uniquement pour ceux pour lesquels il existe statiquement un calcul de filtrage qui a été mis en place. Ceci présente l'avantage que la lecture de la table de décision 5 s'effectue en parallèle (en temps masqué) et la tache de défragmentation dans le circuit 6. Cette opération ne consomme donc pas de temps (ou de bande passante) lorsqu'il n'y a pas de mise à jour du résultat de filtrage requise. C'est uniquement lorsque cette mise à jour est sollicitée que le temps nécessaire au filtrage sera consommé. On peut donc considérer que les fonctions de défragmentation (6) et de filtrage (5) sont imbriquées et coopèrent ce qui améliore la performance globale. L'avantage qui en ressort est qu'il devient possible de définir statiquement les décalages pour lesquels un calcul de filtrage est à effectuer, n'importe où au sein d'une section, sans que la position des bits filtrés ait une incidence sur la performance du récepteur. Seul, le nombre de décalages pour lesquels le filtrage est requis a une incidence sur cette performance, ce qui reste une caractéristique naturellement admissible. Détail de la fonction de filtrage Pour chaque identité PID, et pour chaque filtre dans le circuit 5, le contexte suivant est défini : soit f l'indice d'un filtre. RO (f) est le résultat initial du filtre. Si RO (f) = 0, le filtre donne un résultat par défaut négatif. Si RO (f) = 1, le filtre donne un résultat par défaut positif, qui sera ensuite recalculé au fur et à mesure de la réception des octets successifs. R (f) est le résultat courant du filtre, R (f) est forcément égal à RO (f) à chaque début de lecture de nouvelle section. R est le ET logique de tous les R (f). R = 1 si tous les R (f) sont égaux à 1. Soit i la valeur de décalage de chaque octet reçu dans la section. F (i) = 0 signifie qu'il n'y a pas de calcul de filtrage à effectuer pour cette valeur de i. F (i) = 1 si un calcul doit tre effectué. Le repérage d'une position décalée d'un octet de filtrage à lire s'effectue par un compteur à partir du début de la section. M (f, i) est le tableau des masques à utiliser pour le filtrage pour chaque filtre et chaque valeur de i. Chaque élément de M (f, i) contient 8 valeurs binaires, une pour chaque bit d'un octet reçu. Si une valeur binaire est à 1, cela indique que le bit correspondant ne doit pas tre pris en compte lors d'un calcul de filtre (il peut donc tre quelconque). V (f, i) est le tableau des valeurs de filtrage attendues (celles pour lesquelles le résultat courant du filtre sera maintenu positif), pour chaque filtre et chaque valeur de i. V (f, i) est un octet. A chque octet courant O (i) reçu, on effectue le calcul suivant. Pour un filtre f défini par une chaîne d'octets de positions définies par des décalages particuliers et traités l'un après l'autre, si R (f) mémorisé (résultat de filtrages précédents d'octets) est égal à 1, alors R (f) reste égal à 1 à condition que, dans l'octet courant reçu O (i), les bits pour lesquels le masque M (f, k) est égal à 0 soient tous égaux aux bits de mme rang présents dans la valeur attendue V (f, i). Sinon, R (f) devient égal à zéro. Si R (f) anciennement mémorisé était égal à 0, alors R (f) reste égal à 0. Bref, tout R (f) courant en 0 force R (f) mémorisé à 0. Le mme genre de calcul est effectué pour chacun des f filtres. La valeur de R est ensuite mise à jour à partir de toutes les nouvelles valeurs de R (f) connues. Cette nouvelle valeur de R est ensuite transmise au circuit 6 de défragmentation, qui dispose donc immédiatement de la valeur du nouveau résultat courant. La défragmentation de la section courante est abandonnée si ce résultat est négatif, et le circuit 6 se recale sur le début de la défragmentation de la section suivante. Si la défragmentation courante se poursuit, alors la nouvelle valeur de R (f) est mémorisée dans le contexte de l'identité PID, courante, afin de survivre aux traitements des autres PID, qui s'entrelacent. On rappellera en effet qu'il faut éventuellement lire plusieurs paquets TP, entre lesquels peuvent etre interposés d'autres paquets relatifs à d'autres PID, pour reconstituer une section et que, mme dans le cas d'une section courte contenue dans un seul paquet, la fin de celui-ci peut contenir d'autres sections courtes, à traiter. La valeur de i courante est également sauvegardée, afin que le traitement du filtrage puisse se poursuivre lors du traitement des paquets TP suivants. Si la fin de la section, ou une borne supérieure du décalage i préprogrammée, est atteinte alors que R est toujours égal à 1, alors la section est entièrement retenue et maintenue dans la queue 10 à 41 courante. Si la section est abandonnée, le pointeur d'écriture dans la queue 10 à 41 est replacé à l'endroit où il se trouvait au début de la section courante, qui sera donc effacée ou écrasée par la section suivante. Le procédé de défragmentation avec intégration native d'un système de filtrage au vol exposé ci-dessus constitue une originalité de la réalisation, par rapport à un système classique"défragmentation d'abord-filtrage ensuite". Cette originalité est la source d'une performance accrue, en particulier lorsque le taux d'acceptation des filtres est peu élevé, ce qui constitue un cas d'exploitation intéressant. Ceci résulte du fait que le filtrage au vol permet une économie immédiate de bande passante pour les sections rejetées. En effet, un opérateur cherche souvent à créer un canal global"le plus gros possible"lorsque celui-ci doit contenir des données différentes et adressées à de multimles utilisateurs. En effet, statistiquement, pour des flux individuels de débit variable indépendants, le rendement du canal est d'autant meilleur que le nombre d'utilisateurs individuels qui le partagent est élevé, car les pointes de trafic se répartissent d'autant mieux que le canal est de grosse capacité. La réalisation décrite optimise la bande passante lorsque les données doivent tre rejetées, ce qui favorise donc la possibilité de mettre en oeuvre un canal commun de grosse capacité. REVENDICATIONS 1.-Procédé de restitution de données transmises par paquets dans des sections transportées par tronçons dans des paquets de transport (TP), caractérisé par le fait qu'on écrit, au rythme de leurs réceptions, les paquets (TP) dans une mémoire tampon (4) de taille suffisante pour en stocker plusieurs et on en extrait les paquets (TP) pour restituer leurs données, par lecture à un rythme indépendant de celui d'écriture. 2.-Récepteur de données pour la mise en oeuvre du procédé de la revendication 1, caractérisé par le fait qu'il comporte des moyens (1,2, 3) de réception et de synchronisation agencés pour recevoir et individualiser des paquets de transport de données (TP) et pour commander des moyens (42) d'écriture dans des moyens mémoires tampon (4) au rythme des réceptions et des moyens (6) de traitement des paquets agencés pour commander des moyens (43) de lecture dans les moyens mémoires tampon (4) à un rythme indépendant du rythme des réceptions.