Brevet FR2703859A1 — publié le 19941014

Procédé de gestion dynamique de la capacité de correction d'une couche d'adaptation à l'ATM La présente invention concerne un procédé de gestion dynamique de la capacité de correction d'une couche d'adaptation à i'ATM dite AAL pour services audiovisuels interactifs et distributifs, ATM étant l'abréviation de "Asynchronous Transfer Mode" et AAL l'abréviation de "ATM Adaptation Layer" dans le langage anglo-saxon. La technologie ATM consiste en la transmission des données utiles sous la forme de cellules constituées de cinq octets d'en-tête et de quarante huit octets d'informations. Les recommandations CCITT I.321, I.361, I. 362 et I.363 définissent les différentes couches du modèle de référence, leurs fonctions et leurs domaines d'application. La recommandation I.362 du CCITT définit quatre classes de services caractérisés par leurs débits, leurs modes de connexion et les niveaux de relation temporelle entre émetteurs et récepteurs. La recommandation I.363 du CCITT définit quatre types d'adaptation à l'ATM utilisables dans chaque classe de service. Les transmissions audiovisuelles sont caractérisées par des débits d'information très différents, pouvant varier de 64 Kbitls pour la visiophonie de basse qualité, à 256 à 512 Kbitls pour le son HiFi, à 2 MbiUs pour la visioconférence, jusqu'à 8 Mbitls et 34 Mbitls pour la distribution de télévision standard et de télévision haute définition. Les contraintes temps réel inhérentes à la transmission de ce type de signaux interdisent la réémission des informations lorsque, dans le train binaire reçu, des erreurs sont détectées. Dans la recommandation I.363 du CCITT, une méthode optionnelle de correction des erreurs bits et des pertes de cellules est proposée pour l'AAL de type 1. Basée sur l'utilisation d'un code Reed-Solomon (128,124) sur le corps de Galois GF(256) encore noté GF(28) et d'un entrelaceur d'ordre 47 cette méthode n'est applicable qu'aux services vidéo distribués. Une des particularités de cette technique est que le temps de traitement des informations est d'autant plus long que le débit du service traité est faible. Ce temps d'entrelacement est approximativement égal au temps de remplissage de la mémoire d'entrelacement: Tcodeur = 128x47x81débit Tdécodeur = 128 x 47 x 8/débit Cette caractéristique s'avère être un inconvénient majeur dans le cas particulier d'applications bas débits etlou interactives telles que le son haute fidélité ou la visiophonie par exemple, pour lesquelles le temps de traitement de bout en bout doit être aussi court que possible pour que la qualité de service soit bonne. Les propositions faites à ce jour à ce niveau du système de télécommunications, pour remédier à ce problème, se bornent à réduire la taille de la matrice d'entrelacement en utilisant un code Reed-Solomon différent de celui déjà recommandé (par exemple RS (32,30) sur GF(256) couplé à un entrelaceur d'ordre 47: à débit identique, le temps de traitement est ici divisé par quatre). Ces propositions présentent les divers inconvénients majeurs suivants: - incompatibilité entre des codes Reed-Solomon différents: RS (128,124)*47 et RS(32,30)*47 par exemple. - codes RS sur GF(256) réduits donc pas utilisés au maximum de leur rendement. - réalisation matérielle de composants VLSI et même de cartes électroniques offrant les fonctionnalités de l'AAL de type 1 pour différents types de services (vidéo, audio, visiophonie ...) très complexe puisque seule la hauteur de la matrice d'entrelacement est constante alors que sa longueur et surtout son code RS sur GF(256) sont modifiés. L'invention a pour but de pallier à ces défauts, en proposant l'utilisation d'un seul et même code Reed-Solomon sur GF(256), quel que soit le type d'application envisagée, couplé à une mémoire d'entrelacement de taille variable choisie au codeur et à un synchroniseur d'entrelacement automatique au décodeur. A cet effet, l'invention a pour objet un procédé d'entrelacement de données issues de services audiovisuels distributifs et interactifs et codées Reed-Solomon pour les protéger contre les erreurs bits et les pertes de cellules dans un réseau temporel asynchrone caractérisé en ce qu'il consiste à conserver le même code Reed-Solomon quelque soit l'application envisagée, à entrelacer ces données codées RS sur une profondeur variable fixée par l'application avant leur transmission en paquets ou cellules sur le réseau, à effectuer un désentrelacement des informations contenues dans les paquets ou cellules, sans pour autant avoir recours à des indications "SAR-PDU" autres que celles décrites dans la recommandation 1.363 du CCITT pour synchroniser le mécanisme et à corriger au moyen du code Reed-Solomon les erreurs et les effacements dans les symboles restitués. D'autres caractéristiques et avantages de l'invention apparaîtront ciaprès à la lumière de la description qui suit faite en regard des dessins annexés qui représentent: - La figure 1 les différentes étapes du procédé selon l'invention mises sous la forme d'un organigramme, - La figure 2 un synoptique du mécanisme d'entrelacement permettant la mise en oeuvre du procédé à l'émetteur selon la figure 1. - La figure 3 un synoptique du mécanisme d'entrelacement permettant la mise en oeuvre du procédé au récepteur selon la figure 1. - La figure 4 un format de segmentation de cellules ATM, pour une adaptation de type 1 selon la recommandation I.363 du CCITT. - La figure 5 un schéma d'organisation d'un dispositif d'entrelacement permettant la mise en oeuvre du procédé selon la figure 1 pour un premier exemple d'application. - La figure 6 un schéma d'organisation d'un dispositif d'entrelacement différent permettant la mise en oeuvre du procédé selon la figure 1 pour un autre exemple d'application. - La figure 7 un schéma d'organisation d'un dispositif d'entrelacement différent permettant la mise en oeuvre du procédé selon la figure 1 pour un troisième type d'application. - La figure 8 un schéma détaillé du format de segmentation des cellules ATM permettant la mise en oeuvre des différents dispositifs d'entrelacement dans un même et unique produit. - Les figures 9, 10, 11, 12, 13, les performances, en terme de taux d'erreurs résiduelles après correction pour des taux d'erreurs bits et pertes de cellules donnés, des diverses associations données à titre d'exemples réalistes et ce pour différents débits. Le procédé de protection contre les erreurs bits et pertes de cellules ATM selon l'invention est illustré par les étapes 1 à 12 de la figure 1. Il consiste à l'étape 1 à convertir chaque symbole ou octet représentatif du signal source (audio, vidéo, visiophonie, multiplex de type MPEG 1 ou 2...) en mot de code de Reed-Solomon de la façon décrite par exemple page 207 du libre de G. Cullmann ayant pour titre "Codes détecteurs et correcteurs d'erreurs" publié par DUNOD 1967 dans la collection "Initiation aux nouveautés de la science" ou encore de la façon décrite pages 304-308 du livre de Bernard Sklar intitulé "DIGITAL COMMUNICATIONS Fondamentals and Applications" publié par Prentice Hall 1988. Les informations codées obtenues forment des mots des codes notés C(N, K, D) ou RS(N, K, D) de distance de Hamming D, de longueur N en nombre de symboles et renfermant K informations utiles. Ces informations sont entrelacées à l'étape 2 au moyen d'un dispositif d'entrelacement agencé suivant le schéma de principe de la figure 2, encore décrit, sous forme d'exemples dans les figures 5, 6 et 7. Suivant ce dispositif, les mots de N symboles sont mémorisés horizontalement dans la mémoire d'entrelacement d'une capacité égale à: C1 =N*L où L est la profondeur d'entrelacement, encore appelé ordre d'entrelacement, et est fonction de l'application envisagée ou encore de la capacité de correction nécessaire pour offrir une bonne qualité de service. Les champs d'information "SAR-PDU payload" des cellules ATM sont obtenus en lisant verticalement la mémoire d'entrelacement comme décrit sur les exemples des figures 5, 6 et 7 où les numéros mis en exposant indiquent le numéro de la cellule d'appartenance dans la matrice: 32 représente l'octet n"3 de la cellule n"2. Le calcul de numéros de séquences qui est effectué à l'étape 3 et leur insertion conduit à une segmentation des cellules (SAR-PDU) suivant un format représenté à la figure 4 et détaillé à la figure 8 conforme à la recommandation CCITT I.363. La cellule ATM comporte donc 40 bits d'en-tête "Header" et 384 bits de "SAR-PDU" dont: - 4 bits SN de numéro de séquence et 4 bits SNP de protection du champ SN contre les erreurs formant le "SAR-PDU header" - 376 bits d'informations formant le "SAR-PDU payload". Le tout forme une cellule de 5+48 = 53 octets. Le champ SN est luimême divisé en deux parties (figure 8), I'une, constituée des 3 bits les moins significatifs permettant une numérotation modulo 8, I'autre, constituée du bit le plus significatif, aussi appelé CSI, permettant l'insertion d'une indication de début de matrice d'entrelacement par exemple. En réception le dépaquetage des cellules est effectué à l'étape 6. Les cellules sont restituées dans le format SAR-PDU de la figure 4 et une correction des numéros de séquences a lieu à l'étape 7 suivi à l'étape 8, par le remplacement des cellules perdues détectées grâce à la vérification de l'intégrité de la numérotation de séquence, par des cellules "fantômes" dans le dispositif de désentrelacement ainsi que par la destruction des cellules insérées détectées. Un désentrelacement des données a alors lieu à l'étape 9 au moyen d'un dispositif de désentrelacement symétrique du dispositif de l'étape 2 utilisant une mémoire de capacité: C2 =L*N Naturellement l'opération de désentrelacement de l'étape 9 doit être synchronisée avec les indications de début de matrice de désentrelacement ainsi qu'avec l'insertion des paquets fantômes et/ou la destruction des paquets insérés de l'étape 8 pour que le mécanisme qui consiste en l'écriture verticale des champs "SAR-PDU payload" des cellules reçues suivi de la lecture horizontale des mots de code Reed-Solomon reconstitués soit efficace. Ces codes sont ensuite analysés à l'étape 10 pour effectuer les corrections d'erreurs et d'effacements. Le procédé de l'invention qui vient d'être décrit s'applique à des configurations de matrices d'entrelacement et de codes Reed-Solomon très différentes à condition que le nombre d'octets contenus dans la matrice soit un multiple de 47 de façon à avoir un nombre entier de champs "SAR-PDU payload" dans une matrice, quelle que soit la profondeur de celle-ci, ceci pour simplifier la gestion du système. II est important de noter que ce procédé peut tout aussi bien s'appliquer à des méthodes d'entrelacement différentes, par exemple basées sur des écritures horizontales des mots de code RS et des lectures diagonales des tableaux ainsi réalisés. Les exemples qui suivent sont basés sur des matrices à structure rectangulaire (balayage horizontal et vertical) dans un souci de simplification de la démonstration: - code RS(47,44) couplé à des matrices de profondeur 24 et 12 - code RS(188,172) couplé à des matrices de profondeur 24, 12, 6 et-3. Cependant pour un maximum d'efficacité il est préférable de fixer un code Reed-Solomon aussi peu réduit que possible pour toutes les applications et de 'jouer" uniquement sur la taille de la matrice d'entrelacement pour s'adapter aux diverses applications supportées par l'AAL de type 1. Pour ce faire on prendra la précaution de choisir une longueur de mot de code Reed-Solomon sur GF(256) multiple de 47 (en octets) aussi proche que possible de 255 (28-1). La longueur N du mot de code Reed-Solomon qui peut donc prendre, pour un code sur GF(256) les valeurs suivantes: N1 = 47, N2 = 94, N3 = 141, N4 = 188, N5 = 235 est choisie égale à N5 qui offrira le meilleur rendement. On note que 235 = 5x47. Des exemples sont présentés sur les figures 5, 6 et 7 qui permettent de comprendre l'originalité du dispositif d'entrelacement. Dans le cas des réseaux ATM, la longueur R du champ "SAR-PDU payload" de la cellule ATM est égale à 47 octets. N longueur du mot du code RS et L profondeur de la matrice d'entrelacement peuvent donc être choisis respectivement égaux à 235 et 24 (figure 5), ou 235 et 12 (figure 6), ou 235 et 6 (figure 7) (tout autre valeur de L est acceptable, par exemple L = 5...). K, le nombre d'octets utiles dans le mot de code Reed-Solomon et par conséquent D, distance de Hamming du code de Reed-Solomon ne modifient en rien le principe d'entrelacement. Le choix de D sera fonction de plusieurs paramètres tels la redondance acceptée pour protéger le service, les caractéristiques du système de transmission et les performances attendues du mécanisme de protection. Dans un souci de simplification de la description du procédé, un exemple réaliste est maintenant décrit. Les paramètres choisis peuvent évidemment être modifiés. Le taux de redondance généralement considéré comme acceptable pour effectuer de la correction d'erreurs dans le domaine des télécommuni cations numériques se situe entre 5% et 10%. Ceci est d'autant mieux accepté que les procédés de compression de l'information actuellement développés permettent d'envisager des débits utiles compris entre 30 Mbitls et 40 Mbitls pour des signaux de télévision haute définition comprimés, débits qui ne sont pas aussi critiques pour un réseau large bande asynchrone que pouvaient l'être les 140 Mbit/s annoncés ces dernières années. Le code Reed-Solomon choisi pour cet exemple est donc un RS(235,219,17), qui ajoute une redondance de 7,3% aux informations utiles. II peut être entrelacé sur des profondeurs différentes dépendantes des applications comme illustré dans le tableau ci-dessous où les valeurs de R sont données à titre d'exemples: Profondeur Nbre de cellules Gamme de débits Nbre de cellules Retard max corrigeables R=24 n=120 10 Mb/s~140 Mb/s 8/120 4,5 ms R=12 n = 60 4 Mb/s~lO Mb/s 4/60 5,7 ms R = 6 n = 30 0,5 Mb/s~4 Mbls 2/30 22,8 ms R = 3 n =15 128 Kb/s~0,5 Mb/s 1115 44,1 ms Si pour les débits les plus élevés le retard de traitement reste négligeable ( Les figures 9, 10, 11, 12 et 13 montrent les performances des divers exemples donnés ci-dessus pour des débits binaires respectivement de 40, 10, 4, 0,5 Mbitls et 128 Kb/s. Les graphes correspondants comportent en ordonnée le taux d'erreur résiduel en fonction du taux d'erreur entrant, pour des entrelacements de codes RS(235, 219) sur respectivement 24 lignes (courbe A), 12 lignes (courbe B), 6 lignes (courbe C) et 3 lignes (courbe D). On y voit clairement que si la réduction de la taille de la matrice d'entrelacement diminue les performances du système de correction pour un débit de service donné, cela n'est pas le cas quand on passe d'une catégorie de débits à une autre. Le défaut de cette technique de correction est qu'elle se comporte moyennement devant des pertes consécutives de cellules mais cet événement reste extrêmement rare pour des services à faible débit. Si malheureusement, sur une transmission particulière, cela se produisait trop souvent il suffirait alors de passer à la matrice de taille supérieure pour augmenter la capacité de correction. Ceci augmenterait du même coup le temps de traitement. REVENDICATIONS 1. Procédé d'entrelacement de données issues de services audiovisuels distributifs et interactifs et codées Reed-Solomon pour les protéger contre les erreurs bits et les pertes de cellules spécifiques des réseaux temporels asynchrones caractérisé en ce qu'il consiste à conserver le même code Reed-Solomon quelle que soit l'application envisagée, à entrelacer (2) ces données codées RS sur une profondeur variable fixée par l'application avant leur transmission en paquets ou cellules sur le réseau, à effectuer un désentrelacement (9) des informations contenues dans les paquets ou cellules, à l'aide de paramètres décrits dans la recommandation I.363 du CCITT (CSI bit) pour synchroniser dynamiquement le mécanisme et à corriger (10) au moyen du code Reed-Solomon les erreurs et les effacements dans les symboles restitués. 2. Procédé selon la revendication 1 caractérisé en ce que l'entrelacement (2) consiste à mémoriser ligne par ligne les informations codées en mots de Reed-Solomon de N symboles dans une mémoire et à lire cette mémoire colonne par colonne ou diagonale par diagonale pour former les champs "SAR-PDU payload" des cellules ATM ceci en prenant la précaution de choisir N multiple de la taille de ces champs "SAR-PDU payload". 3. Procédé selon l'une quelconque des revendications 1 et 2 caractérisé en ce que le désentrelacement (9) consiste à mémoriser les champs "SAR-PDU payload" colonne par colonne ou diagonale par diagonale dans une mémoire et à lire cette mémoire ligne par ligne pour reformer les mots de code Reed-Solomon. 4. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que la taille des mémoires d'entrelacement et de désentrelacement est variable pour un mot de code Reed-Solomon donné et dépend de l'application etlou des conditions de transmissions etlou du coût du système développé. 5. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que les codes Reed-Solomon sont des codes RS(N, K, D) sur GF(2n) de longueur de code N multiple de la taille d'un champ "SAR PDU payload" et de préférence pour une efficacité maximum le plus proche possible de 2n mais en y restant inférieur. 6. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce qu'il consiste à utiliser la capacité de correction des effacements (erreurs probables déjà localisées). 7. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que chaque symbole a la dimension d'un mot de n bits si le code correcteur d'erreurs est défini sur GF(2n). Dans le cas de l'ATM, n=8. 8. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce qu'il consiste à insérer des cellules fantômes dans un tableau de désentrelacement en marquant chaque symbole pour qu'il soit interprété comme un effacement par le décodeur Reed-Solomon et ce en synchronisme avec la variation dynamique de la taille de la profondeur d'entrelacement.