Brevet FR2659814A1 — publié le 19910920

"SYSTèME DE DECODAGE DE SIGNAUX NUMERIQUES AYANT SUBI UN CODAGE A LONGUEUR VARIABLES La présente invention concerne un système de décodage de signaux numériques ayant préalablement subi, par blocs, un codage à longueur variable, un codage avec protection sélective et un codage sans protection sélective, ledit système comprenant un décodeur de canal de transmission suivi d'un décodeur de source. Cette invention est utilisable notamment dans le domaine de la transmission de signaux de télévision. La numérisation des signaux de télévision conduit à devoir transmettre une très grande quantité d'informations binaires avec un débit ne pouvant pas être assuré à un coût raisonnable par les canaux de transmission existants. Différentes techniques de codage d'informations ont été proposées en vue de réduire la quantité des informations et donc le débit. Un tel objectif est atteints en fait, en réduisant la redondance des informations, mais, alors1 chacune des informations transmises devient essentielle. Les éventuelles erreurs de transmission, qui peuvent assez facilement être corrigées si les informations transmises sont redondantes, ont des conséquences de plus en plus graves lorsqu'on réduit cette redondance. En effet, l'ampleur des défauts dûs aux erreurs de transmission croît malheureusement plus vite que le facteur de réduction de débit. En présence d'un canal de transmission apportant du bruit, on a donc cherché à se protéger contre ces erreurs de transmission ou à en réduire les effets. L'une des techniques ainsi proposées consiste, pour le codage des informations, à associer à un codage réducteur du débit (aussi appelé codage de source) un codage correcteur des erreurs (aussi appelé codage de canal) permettant de protéger de façon sélective les informations les plus sensibles aux erreurs de transmission. Un procédé et un système de codage assurant une telle protection sont par exemple décrits dans le brevet des Etats-Unis d'Amérique n04 555 729. L'utilisation récente, dans les codeurs de source, de codes à longueur variable qui améliorent encore les performances de ces codeurs, conduit à une nouvelle diminution de la redondance des informations. De ce fait, lesdites informations sont encore plus vulnérables vis-à-vis des erreurs de transmission. D'autre part, un codage à longueur variable conduit à allouer à des blocs d'informations de mêmes dimensions un nombre de bits variable en fonction de l'information contenue dans chacun des blocs. Dans ce cas, la présence d'erreurs de transmission peut faire perdre la bonne segmentation des mots de codage correspondant à un bloc, ou même faire perdre la synchronisation entre blocs, ce qui entraîne l'apparition de motifs faux ainsi que des décalages spatiaux dans l'image. Ces défauts sont difficiles à corriger avec les techniques actuelles de correction d'erreurs, dans la mesure où, avec un codage à longueur variable, les positions des informations importantes dans la séquence binaire ne sont pas connues. Une erreur sur les bits de poids fort de la composante continue, par exemple, est bien plus perceptible qu'une erreur sur les derniers bits d'un bloc d'informations. Mais, en raison des longueurs variables des séquences (ou mots) de codage, les techniques actuelles s'avèrent impuissantes à corriger ce type d'erreur de façon adaptée. La demande de brevet français NO 90 Ol 891 déposée le 16 février 1990 décrit un système de codage de signaux numériques remédiant aux défauts ci-dessus mentionnés lorsqu'on veut protéger de façon sélective des informations qui ont préalablement subi un codage à longueur variable. Ce système est tel que, dans le cas où le codeur de source est une chaîne de codage à longueur variable comprenant notamment un circuit de régulation de débit, le codeur de canal comprend en série un sous-ensemble de codage avec protection sélective et un sous-ensemble de codage sans protection sélective.Avec une telle structure, c'est-à-dire en cascadant deux codages simples dont l'un assure une protection globale non sélective et l'autre une protection sélective à plusieurs niveaux, on réalise un compromis entre performances et complexité, pour une redondance ajoutée relativement faible. Le codage sélectif a pour rôle de diminuer le taux d'erreur sur les bits des blocs de signaux résultant du codage à longueur variable, en fonction de l'importance de ces bits, tandis que le codage non sélectif est destiné à diminuer le taux d'erreur du canal à une valeur modérée. Les deux codages ainsi associés se partagent la redondance affectée au codeur de canal. Ladite demande citée plus haut décrit un mode de réalisation préférentiel de ce système, dans lequel le sousensemble de codage avec protection sélective comprend d'une part un étage de codage de longueurs de blocs1 prévu pour déterminer le long d'un bloc une longueur cumulée de mots de code issus dudit codeur de source et assurer le codage des longueurs de blocs ainsi déterminées, d'autre part un étage de protection sélective desdits blocs d'informations, ainsi qu'un étage de multiplexage des signaux issus desdits étages de codage de longueurs et de protection sélective.En effet, comme l'utilisation d'un codage à longueur variable engendre des blocs de signaux dont la taille -c'est-à-dire le nombre de bits par bloc- varie en fonction de l'information contenue dans les blocs d'origine, il importe de mettre en place un repérage, ou sychronisation, de ces blocs de taille variable afin de permettre la distinction des informations appartenant à chacun d'entre eux. La solution consistant à transmettre la longueur des blocs permet de repérer aisément, ensuite1 le début de chaque bloc. Dans une réalisation plus particulière de l'étage de codage de ces longueurs, celui-ci comprend (A) des moyens de détermination de la longueur de chaque bloc d'informations après le codage à longueur va riable, comprenant eux-mêmes (a) un circuit de comptage de bits, prévu pour recevoir les signaux codés à longueur variable délivrés par le codeur de source en association à chaque bloc et compter le nombre de bits de tels signaux pour chaque bloc (b) une mémoire de stockage de la sortie dudit circuit de comptage de bits (B) des moyens de comptage du nombre de blocs dont on a déterminé la longueur, comprenant eux-mêmes (c) un circuit de comptage de blocs, prévu pour recevoir des signaux de fin de bloc également délivrés par ledit codeur de source (d) un circuit de décision, prévu pour com mander la lecture de la mémoire en fonction du signal de sor tie dudit circuit de comptage de blocs (C) des moyens de codage de longueurs1 comprenant eux-mêmes (e) un circuit de codage, prévu pour délivrer les mots de codage des longueurs desdits blocs d'information. Ces informations de synchronisation que sont les dites longueurs de blocs sont très importantes et sensibles, et l'on assure leur protection contre les erreurs de façon efficace si le circuit de codage des moyens de codage de lon gueurs est un codeur simple et puissants par exemple un codeur binaire linéaire systématique tel qu'un codeur noté C(52,40), à mots de code de 52 bits dont 40 bits représentent les bits d'information et les 12 bits restants les bits de parité. Dans une réalisation particulière de l'étage de protection sélective des blocs d'information, ce dernier com prend (A) des moyens de classement de bits suivant leur sensibilité aux erreurs de transmission (B) des moyens de codage sélectif en fonction du dit classement (C) des moyens de raccourcissement des mots de code résultant dudit codage sélectif. Pour les moyens de codage sélectif, on choisit de préférence un codeur dit de Blokh-Zyablov, qui autorise de façon simple, par raccourcissement, l'adaptation de la longueur des mots de code à la longueur des blocs à coder. Comme le processus de raccourcissement réduit en général sensiblement le rendement du code par rapport à celui du code non raccourci, le choix du code de Blokh-Zyablov est guidé par la volonté d'assurer plusieurs niveaux de protection tout en assurant un rendement optimal après raccourcissement. Ces objectifs sont atteints lorsque, le codeur de Blokh Zyablov est à quatre niveaux de protection sélective et comprend successivement un circuit de démultiplexage des signaux de sortie des moyens de classement de bits, quatre circuits de codage sélectif en parallèle, une mémoire matricielle de stockage des signaux de sortie de ces circuits de codage sé lectif r et un circuit de multiplication matricielle du contenu de ladite mémoire par la matrice transposée Gt de la matrice G suivante ladite mémoire matricielle comprenant autant de lignes que de niveaux de protection sélective et 127 colonnes. Par ailleurs, les longueurs de blocs peuvent varier sensiblement. Lorsque la longueur L du bloc considéré est inférieure ou égale à la capacité de codage K dudit étage de protection sélective, l'étage de multiplexage comprend des moyens de multiplexage des signaux de sortie dudit étage de codage de longueurs des blocs et dudit étage de protection sélective des blocs et des moyens de régulation du débit des signaux de sortie desdits moyens de multiplexage. Lorsqu'au contraire ladite longueur L est supérieure à K, lesdits moyens de multiplexage sont prévus pour assurer également le multiplexage desdits L-R bits non codés.Ces moyens de régulation de débit comprennent de préférence une mémoire-tampon prévue pour délivrer d'une part des signaux de régulation de débit renvoyés vers le codeur de source et d'autre part les signaux de sortie du sous-ensemble de codage avec protection sélective. Lesdits moyens de régulation de débit et le circuit de régulation de débit de la chaîne de codage à longueur variable peuvent être regroupés en un seul sous-ensemble de régulation de débit. La structure du sous-ensemble de codage sans protection sélective est dépendante de l'environnement de transmission envisagé. En général, les canaux de transmission réels ont une mémoire, c'est-à-dire que les erreurs surviennent par paquets. Dans cette situation, le sous-ensemble de codage sans protection sélective est plutôt un codeur de type Reed-Solomon, tout à fait approprié pour la correction de petits paquets d'erreur. Un entrelaceur par symbole peut alors être inséré dans la chaîne de transmission pour réaliser l'adaptation entre la longueur des paquets d'erreur et le nombre de bits constituant les symboles du code Reed-Salomon. Dans le cas d'un canal sans mémoire, le sous-ensemble de codage sans protection sélective est plutôt un codeur de type BCH binaire, mieux adapté à la correction d'erreurs aléatoires. Quelles que soient les caractéristiques particulières de ces diverses réalisations, il importe d'assurer également le décodage de signaux numériques ayant préalablement subi un traitement tel que défini précédemment, à savoir un codage à longueur variable suivi de codages avec et sans protection sélective. Le but de l'invention est donc de proposer un système de décodage apte à traiter des signaux numériques codés tels que ceux délivrés par le système de codage mentionné plus haut. A cet effet l'invention concerne un système caractérisé en ce que le décodeur de canal comprend en série un sous-ensemble de décodage à protection non sélective et un sous-ensemble de décodage à n niveaux de protection sélective. Dans un mode de réalisation préférentiel, ce système de décodage est caractérisé en ce que ledit sous-ensemble de décodage à protection sélective comprend (A) un étage de décodage de longueurs, prévu pour assurer le décodage de ceux desdits signaux reçus qui correspondent aux longueurs desdits blocs (B) un étage de décodage des autres signaux codés reçus (C) un étage de démultiplexage, prévu notamment pour l'aiguillage des signaux numériques codés reçus, soit vers ledit étage de décodage de longueurs, soit vers ledit étage de décodage des autres signaux codés.Cet étage de démultiplexage comprend avantageusement A) des moyens de modification du débit desdits signaux reçus (B) des moyens de séparation de ceux des signaux reçus codés qui correspondent aux mots de code issus du codeur de source et sont associés aux longueurs de parties variables de blocs1 d'autres part des autres signaux reçus codés, ainsi qu éventuellement des autres signaux reçus non codés. Par ailleurs, l'étage de décodage de longueurs comprend de préférence (A) des moyens de décodage desdits signaux codés associés à des longueurs (B) des moyens de cadencement dudit décodage, agencés pour permettre la réinitialisation périodique du processus de décodage, ledit étage pouvant, en particulier, être notamment caractérisé en ce que (A) les moyens de décodage de signaux codés associés à des longueurs comprennent (a) un circuit de décodage de longueurs (b) une mémoire de stockage temporaire des signaux de sortie dudit circuit de décodage de longueurs (B) les moyens de cadencement comprennent (c) un circuit de comptage de blocs (d) un comparateur. Enfin, l'étage de décodage des autres signaux codés reçus comprend de préférence (A) des moyens de démultiplexage (B) des moyens de raccourcissement inverse (C) des moyens de décodage sélectif (D) des moyens de reclassement (E) des moyens de mémorisation, ledit étage pouvant, en particulier, être notamment caractérisé en ce que (A) les moyens de raccourcissement inverse comprennent (a) un circuit dit de remplissage, prévu pour ajuster le format des signaux à décoder à la capacité desdits moyens de décodage sélectif (B) les moyens de décodage sélectif comprennent un décodeur Blokh-Zyablov comprenant lui-même (b) une mémoire matricielle de stockage des signaux de sortie dudit circuit de remplissage (c) un circuit de calcul de l'expression matricielle Ri = R - C(k1, k2, ..., ksi~1, Or ... 0) où R est le contenu de ladite mémoire matricielle et C (k1, k2, ksi~1, O, ..., O) le mot de code obtenu lorsque tous les ki non encore décodés sont considérés comme égaux à zéro (d) un circuit de multiplication matricielle, en vue de la détermination de l'expression matricielle Mi = (Gt)-1.Ri où (Gt)-l est la matrice inverse de la matrice transposée de la matrice G suivante (e) un dispositif de décodage1 comprenant lui-même un circuit de multiplexage, puis en parallèle, n circuits de décodage sélectif suivis en série d'une mémoire matricielle de stockage des signaux décodés de sortie desdits circuits de décodage et d'un circuit de reconstitution de mots de code destiné à la mise à jour de l'expression C(k1, k21..., ki-?1 O, ..., 0) fournie audit circuit de calcul de l'expression matricielle Ri (f) un circuit de détection d'erreurs de transmission, en vue de la correction du décodage effectué par ledit dispositif de décodage, ledit circuit de détection d'erreurs de transmission étant, de façon avantageuse, tel qu'il comprend, pour la réalisation de (n-l) cycles de détection d'erreurs, des moyens de comparaison entre d'une part les colonnes de l'expression matricielle Ri et d'autre part, pour les (n-l) niveaux de protection sélective autres que le premier, les ensembles E2, E3, ..., En des mots formés respectivement par combinaison des (n-l) dernières lignes de la matrice G, par combinaison des (n-2) dernières lignes de G, etc..., par combinaison des deux dernières lignes de G, et, pour le n-ième niveau de protection sélective, à partir de la dernière ligne de G. Les particularités et avantages de l'invention apparaîtront maintenant de façon plus précise dans la description qui suit et dans les dessins annexés, donnés à titre d'exemples non limitatifs et dans lesquels - la figure 1 est un schéma de principe montrant, dans une chaine de transmission de signaux numériques, les combinaisons codeur de source/codeur de canal et décodeur de canal/décodeur de source - la figure 2 montre un exemple de réalisation des circuits d'un système de codage apte à fournir les signaux numériques codés traités par le système de décodage selon l'invention ;; - les figures 3 et 4 montrent respectivement un exemple de réalisation de l'étage de codage de longueurs et de l'étage de protection sélective du système de codage de la figure 2 - la figure 5 montre un exemple de réalisation du circuit de codage sélectif de l'étage de protection sélective représenté sur la figure 4 - la figure 6 montre les circuits essentiels d'un système de décodage selon l'invention - les figures 7 et 8 montrent respectivement un exemple de réalisation de l'étage de décodage de longueurs et de l'étage de décodage des autres signaux codés du système de décodage de la figure 6 - la figure 9 montre un exemple de réalisation des moyens de décodage sélectif prévus dans l'étage de décodage de la figure 8. Comme on l'a vu plus haut, une technique connue de protection contre les erreurs de transmission consiste à associer à un codeur de source un codeur de canal. Cette technique est schématisée sur la figure 1 qui comprend d'une part un codeur de source 1 et, entre celui-ci et un canal de transmission 3, un codeur de canal 2. De façon symétrique, on trouve en sortie du canal 3 un décodeur de canal 4 puis un décodeur de source 5. Dans la présente description, on rappellera tout d'abord ce qui a trait à la partie codage, en décrivant à l'aide des figures 2 à 5 un exemple de système de codage apte à fournir les signaux numériques codés traités par le système de décodage selon l'inventionr puis on considèrera plus particulièrement l'ensemble de décodage situé en aval du canal1 c'est-à-dire l'ensemble constitué par le décodeur de canal et le décodeur de source. Le système de codage représenté sur la figure 2 comprend d'abord une chaîne 10 de codage à longueur variable. Cette chaîne 10 constitue le codeur de source et comprend essentiellement, de façon classique, un circuit de transformation orthogonale et quantification, un circuit de codage à longueur variable, et un circuit de régulation de débit incluant une mémoire-tampon. Le système de codage comprend ensuite un codeur de canal 20, comprenant lui-même en série un sous-ensemble de codage avec protection sélective et un sous-ensemble de codage sans protection sélective. Le sous-ensemble de codage avec protection sélective comprend, plus particulièrement, un étage 100 de codage de longueurs cumulées des mots de code d'un bloc (on rendra la description plus concise en parlant de longueurs de blocs) issus de la chaîne de codage 10, un étage 200 de protection sélective des blocs d'informations issus de la chaîne de codage 10, et un étage 300 de multiplexage des signaux issus desdits étages 100 et 200 de codage de longueurs et de protection sélective. On entend, par blocs d'informations, des sous-ensembles de signaux de mêmes dimensions, résultant d'une subdivision des lots d'informations (par exemple des images de télévision) considérés initialement. Ces blocs d'informations, après ladite transformation orthogonale, peuvent, par des opérations de comparaison à des seuils, être classés selon leur plus ou moins grande activité (liée aux contours, aux contrastes, à la plus ou moins grande uniformité des blocs), et un signal exprimant cette classification est alors émis par le circuit de transformation orthogonale et quantification, et transmis. De même, le circuit de régulation de débit comprend une boucle de rétroaction véhiculant un signal de normalisation qui doit être également transmis.Ces signaux de classification et de normalisation sont en effet utiles, côté réception, pour réaliser les opérations inverses de celles prévues à l'émission, en vue de la reconstruction des blocs et de la reconstitution de lots d'informations similaires aux lots d'informations initiaux. L'étage 100 de codage de longueurs de blocs représenté sur la figure 3 comprend des moyens (101,103) de détermination de la longueur de chaque bloc après le codage à longueur variable des moyens (102, 104) de comptage du nombre de blocs dont on déterminé la longueur, et des moyens de codage de longueurs. Plus précisément, cet étage 100 comprend tout d'abord un circuit 101 de comptage des bits correspondant à un bloc et un circuit de comptage de blocs 102. Un signal EOB de fin de bloc est fourni par le circuit de transformation orthogonale et quantification de la chaîne 10 au circuit de comptage de blocs 102, dont le contenu augmente d'une unité à chaque réception de signal EOB.La longueur de bloc déterminée par le circuit 101 est stockée dans une mémoire 103, et le circuit de comptage 101, remis à zéro par commande du signal EOB (connexion RS1), est disponible pour un nouveau comptage de longueur de bloc. L'écriture en mémoire 103 (connexion WR) est commandée par le signal EOB. Un circuit de décision 104 détermine, par comparaison à un nombre préenregistré, à partir de quel nombre de blocs -et donc de longueurs déterminées- la mémoire 103 peut être lue. Ce circuit 104, qui est un comparateur, est placé en sortie du circuit de comptage de blocs 102 et délivre (connexion RD) un signal de commande de lecture de la mémoire 103 au moment où le contenu du circuit 102 (le nombre de blocs dont on a déterminé les longueurs) est égal au nombre préenregistré. Ce signal de commande de lecture est aussi renvoyé vers le circuit 102 pour sa remise à zéro (connexion RS2). Le nombre préenregistré est par exemple égal à 4, et la lecture de la mémoire 103 intervient alors lorsque quatre longueurs ont été déterminées et successivement mémorisées. Ces quatre longueurs de blocs, qui représentent au maximum 40 bits d'information lorsque le circuit de comptage de bits 101 est un compteur 10 bits, sont fournies en séquence à un circuit de codage de longueurs 105. Ce circuit 105 est un codeur binaire linéaire systématique, dit codeur "en bloc" choisi pour son aptitude à corriger y erreurs pour x informations reçues : le nombre x de bits reçus fournis par la mémoire 103 au circuit de codage 105 étant, on l'a vu, au plus égal à 40, le nombre maximal d'erreurs que l'on veut corriger pour un tel nombre d'informations reçues est égal à 2, et le code binaire alors choisi est noté C(52, 40), 40 représentant le nombre maximal de bits reçus et les 12 bits restants étant des bits de parité.La sortie du circuit de codage 105 constitue celle de l'étage 100 de codage des longueurs de blocs. L'étage 200 de protection sélective des blocs d'informations, représenté sur la figure 4, comprend tout d'abord une mémoire 201, constituant un circuit de classement de bits suivant la sensibilité de ces derniers aux erreurs provoquées par le canal de transmission. Pour les mots de code résultant d'un codage à longueur variable, cette sensibilité est déterminée à partir d'analyses statistiques préalables, dont les résultats sont groupés dans une table associée à la mémoire 201.Les bits délivrés par la chaîne 10 de codage à longueur variable sont stockés dans la mémoire 201 et ensuite relus suivant une séquence d'adresses contenues dans la table, en vue d'une remise en ordre de ces bits (en général par ordre de sensibilité décroissante), qui sont alors fournis à un circuit de codage sélectif en fonction dudit classement, tel qu'un codeur 202 dit Blokh-Zyablov, choisi pour son aptitude à permettre plusieurs niveaux de codage selon le classement de bits effectué. Dans tous les cas, ce codeur 202 est capable de coder au plus K bits. Si la longueur L d'un bloc d'informations est inférieure à cette capacité de codage K, les (K-L) bits non utilisés donnent lieu à une mise à zéro dans la chaîne d'informations de longueur K traitée par le codeur Blokh-Zyablov 202. Si au contraire la longueur L est supérieure à la capacité K, seuls K bits sont codés. Les (L-K) bits restants ne sont pas codés et sont multiplexés avec les mots de code délivrés par le codeur Blokh-Zyablov, dans l'étage de multiplexage 300. Dans le cas présent, on a choisi de disposer par exemple de quatre niveaux de codage, c'est-à-dire d'une protection sélective à quatre niveaux. Le codeur 202, représenté sur la figure 5, comprend alors, tout d'abord, un circuit de démultiplexage 210, puis, en parallèle, quatre circuits 211 à 214 de codage sélectif recevant chacun les bits qui lui sont affectés par le circuit 210. Dans l'exemple décrit, la capacité de codage K du codeur 202 est de 489 bits, et lesdits circuits de codage sélectif reçoivent respectivement, au plus, les signaux suivants, correspondant à chaque niveau de protection - circuit 211 : 113 bits (niveau 1 de protection), représentant les bits les plus importants dans chaque bloc - circuit 212 : 125 bits (niveau 2) - circuit 213 : 125 bits (niveau 3) - circuit 214 : 126 bits (niveau 4) représentant les bits les moins importants dans chaque bloc.Si la longueur d'un bloc est supérieure à 489 bits, les bits supplémentaires ne sont pas codés, ni protégés. En sortie de ces quatre circuits de codage 211 à 214 est ensuite prévue une mémoire matricielle 215 de stockage des signaux codés de sortie de ces circuits, puis un circuit 216 de multiplication matricielle du contenu de la mémoire 215 par la matrice transposée Gt de la matrice G suivante La mémoire matricielle 215 comprend 4 lignes, autant que de niveaux de protection sélective, et 127 colonnes. Ce format est également celui de la matrice, notée C, du résultat de ladite multiplication matricielle. Les signaux EOB de fin de bloc déjà mentionnés assurent la commande d'écriture, puis de lecture de la mémoire 215. Des circuits à retard 217 et 218 sont intercalés dans les connexions de commande d'écriture et de lecture, respectivement WR et RD, de la mémoire 215 pour tenir compte de la durée des opérations de codage sélectif et synchroniser ces deux commandes par rapport aux signaux à mémoriser puis à lire. La sortie du circuit 216, qui constitue celle du codeur 202, est fournie à un circuit de raccourcissement 203 permettant de supprimer, éventuellement, c'est-à-dire s'ils existent, les (K-L) bits mis à zéro, et la sortie de ce circuit 203t qui constitue celle de l'étage 200, est alors envoyée vers l'étage de multiplexage 300. Le fonctionnement du codeur 202 est le suivant. Soit ki le nombre de bits pour chacun des niveaux de codage, avec i = 1 à 4 dans le cas de quatre niveaux de codage. Les nombres k1, k2, k3, k4 étant associés respectivement à chacun des quatre niveaux, on ajoute alors à chacun des ki bits un nombre mi correspondant de bits de parité lié au degré de protection recherché pour chaque niveau.Dans l'exemple décrit, on a choisi m1 = 14, m2 = 2, m3 = 2, m4 = 1, le choix des couples (mi, ki) devant permettre le rangement des mots de code ainsi constitués dans la mémoire 215, avec une disposition qui est la suivante, en appelant M la matrice correspondant au contenu de cette mémoire Pour le codeur ici décrit, à quatre niveaux de protection, les mots de code sont obtenus en multipliant par cette matrice M la transposée Gt de la matrice G ce qui donne Comme on le constate, du fait de la structure de la matrice G qui ne diffère de la matrice unité que par le contenu de sa première colonne, le mot de code produit par bloc (constitué par la succession C1 à C4 des quatre lignes de la matrice C ci-dessus) est quasi-systématique puisque la multiplication matricielle effectuée a conduit, pour la ligne 1 non portée en détail par souci de simplification, à une combinaison linéaire de bits masquant une partie des bits initiaux et réalisant donc une perte de ces bits d'information. Cependant, on retrouve quand même une partie des bits d'information dans les lignes suivantes, ce qui facilite le processus de raccourcissement ultérieur dans le circuit de raccourcissement 203. Dans le cas où les longueurs de bloc sont inférieures ou égales à la capacité de codage K, tous les bits reçus par le codeur 202 sont codés. Lorsqu'au contraire ces longueurs sont supérieures à K, l'étage 300 assure, on l'a vu, non seulement le multiplexage des signaux issus des étages de codage de longueurs et de protection sélective, mais aussi celui des (L-R) bits excédentaires qui n'ont pas pu être codés par le codeur 202. Le multiplexage est réalisé, dans l'un ou l'autre cas, par un multiplexeur 301, et ce dernier est suivi d'une mémoire-tampon 302 prévue pour assurer la régulation du débit des signaux de sortie du sous-ensemble de codage avec protection sélective. Bien entendu, il est possible de regrouper ces moyens de régulation de débit et le circuit de régulation de débit de la chaîne 10 de codage à longueur variable en un unique sous-ensemble de régulation de débit. Le sous-ensemble de codage sans protection sélective, référencé 400 et prévu ensuite1 est en général différent selon que le canal de transmission a ou non une mémoire. Lorsque ce canal a une mémoire, c'est-à-dire lorsque les erreurs surviennent par parquets, ce sous-ensemble de codage est, de préférence, un codeur de type Reed-Solomon, avec alors la présence éventuelle d'un entrelaceur par symbole, dans la chaîne de transmission, pour réaliser l'adaptation entre la longueur des paquets d'erreur et le nombre de bits constituant les symboles du code Reed-Solomon. Dans le cas où au contraire le canal est sans mémoire, le sous-ensemble de codage sans protection sélective est plutôt un codeur de type BCH binaire, mieux adapté à la correction d'erreurs dont les positions sont tout à fait aléatoires. Ces codes Reed-Solomon et BCH sont par exemple décrits dans l'ouvrage "Theory and practice of error control codes", R. Blahut, Addison-Wesley Publishing Company, mai 1984. Lorsqu'un codage de signaux numériques a donc été effectué dans un ensemble de codage du type de celui qui a été détaillé dans la description précédente, les signaux numériques ainsi codés, puis transmis et/ou stockés, peuvent réciproquement être décodés, selon l'invention, dans un système de décodage tel que celui représenté par exemple sur la figure 6. Ce système de décodage de la figure 6 comprend un décodeur de canal de transmission 40 suivi d'un décodeur de source 50. Le décodeur de canal 40 comprend lui-même, en série un sous-ensemble de décodage à protection non sélective, référencé 400, et un sous-ensemble de décodage à protection sélective. Le sous-ensemble de décodage avec protection sélective comprend ici, plus particulièrement, un étage 500 de démultiplexage pour l'aiguillage des signaux numériques codés reçus par le système de décodage, un étage 600 de décodage de lon gueursr pour le décodage de ceux de ces signaux codés reçus qui correspondent aux longueurs déterminées dans l'étage 100 du codeur de canal 20, et un étage 700 de décodage des autres signaux codés reçus.Le sous-ensemble de décodage sans protection sélective reçoit les signaux d'entrée du système1 c'est-à-dire, ici des signaux dont le multiplexage avait été effectué par l'étage 300 du codeur de canal 20, à savoir d'une part les signaux numériques constituant, après codage dans l'étage 100, les mots de code correspondant aux longueurs des parties variables des blocs, d'autre part les signaux numériques qui constituent les mots de code résultant de la protection sélective des blocs et provenant de l'étage 200. Ce sous-ensemble de décodage sans protection sélective comprend, comme précédemment pour le codage, des circuits différents selon le type de canal de transmission et peut autre, par exemple un décodeur de type Reed-Solomon ou un décodeur de type BCH binaire. L'étage de démultiplexage 500 comprend d'une part des moyens de modification du débit des signaux reçus, consistant ici en une mémoire-tampon 501 qui reçoit les signaux de sortie du sous-ensemble de décodage sans protection sélective, et d'autre part des moyens de séparation de signaux, consistant ici en un démultiplexeur 502 assurant un aiguillage des signaux de sortie de cette mémoire soit vers l'étage de décodage 600, soit vers l'étage de décodage 700. Ces signaux reçus par l'étage 500 sont des signaux correspondant, après transmission et traversée du sous-ensemble 400, respectivement aux signaux codés de sortie de l'étage 100 de codage de longueurs et aux signaux codés de sortie de l'étage 200 de protection sélective. L'étage de décodage de longueurs 600, représenté sur la figure 7, comprend des moyens de décodage des signaux codés correspondant à des longueurs et des moyens de cadencement dudit décodage. Plus précisément, il comprend ici tout d'abord, dans l'exemple de réalisation décrit, un circuit 601 de décodage de longueurs assurant les opérations inverses du circuit de codage 105, c'est-à-dire, en l'occurrence, le décodage de mots de code correspondant aux longueurs de quatre blocs. Les signaux ainsi décodés sont rangés dans une mémoire 602, dont la lecture intervient à chaque fin de décodage de l'étage de décodage 700, sur commande d'un signal EOD de fin de décodage de bloc fourni par ledit étage 700.Ce signal EOD est également fourni à un circuit de comptage de blocs 603 qui commande, après un décodage de quatre longueurs de blocus, la réinitialisation du processus en vue du décodage relatif aux quatre blocs suivants. Un comparateur 604 assure ici l'arrêt du comptage du nombre de blocs, et c'est la sortie de ce comparateur qui constitue le signal de commande de réinitialisation, envoyé vers l'étage de démultiplexage 500, ainsi que vers le circuit de comptage de blocs 603 pour sa remise à zéro (RAZ), et vers la mémoire 602 en tant que commande d'écriture (WR). Le signal de sortie de la mémoire 602 lue à l'adresse ADR fournie par le circuit 603, qui constitue également le signal de sortie de l'étage de décodage 600 et qui est la longueur de chaque bloc, est fourni à l'étage 700 de décodage des autres signaux codés. Cet étage 700, représenté sur la figure 8, comprend tout d'abord des moyens de démultiplexage consistant ici en un circuit de démultiplexage 701. En effet, on sait que, lorsque la longueur L d'un bloc d'informations, avant transmission, est supérieure à la capacité K de l'étage 200 de protection sélective, les (L-K) bits restants, non codés par cet étage, sont multiplexés avec les mots de code résultant du codage des K premiers bits et délivrés par ledit étage. L'opération inverse de démultiplexage doit alors être prévue, dans cette situation, et c'est le rôle du circuit 701. Lorsqu'au contraire la longueur L n'est pas supérieure à K, le circuit 701 n'a aucun démultiplexage à opérer et laisse passer la totalité des mots de code délivrés par l'étage 200 et ayant, ensuite, traversé le sous-ensemble 400 et l'étage 500. Le circuit de démultiplexage 701 est suivi de moyens de raccourcissement inverse consistant ici en un circuit dit de remplissage 702 destiné à effectuer un traitement inverse de l'opération dite de raccourcissement réalisée à l'émission en sortie du codeur Blokh-Zyablov 202 (après la mise à zéro des (K-L) bits non utilisés r quand ils existent dans la chaîne d'informations de longueur K traitée par ce codeur 202). Le circuit 702 a pour fonction de compléter le nombre de bits manquant au mot de code regur après le codage effectué dans le codeur Blokh-Zyablov 202. Ce manque résulte, on peut le rappeler, du processus de raccourcissement effectué à l'émission lorsque la longueur L d'un bloc d'informations est inférieure à la capacité K de l'étage de protection sélective.Si le nombre de bits d'un bloc est inférieur au nombre de bits maximal du mot de code du codeur 202 (par exemple 508 bits, dans l'exemple décrit, pour ce nombre maximal), on ajoute le nombre de zéros nécessaire pour disposer d'un mot de code complet. Dans le cas contraire r le circuit 702 est transparent, il n'effectue aucun traitement. Ce circuit 702 est lui-même suivi de moyens de décodage sélectif quir dans l'exemple décrit, consistent en un décodeur à protection sélective tel qu'un décodeur 703 dit de Blokh-Zyablov. Ce décodeur 703 réalise les traitements inverses des opérations de codage effectuées à l'émission par le circuit de codage sélectif.Le décodeur 703, représenté sur la figure 9 et décrit de façon détaillée ci-dessous, est suivi de moyens de reclassement consistant ici en un circuit 704 de remise en ordre inverse de celle opérée par la mémoire 201 de classement de bits. Ces moyens de reclassement sont eux-mêmes suivis de moyens de mémorisation tels qu'une mémoire 705. La sortie de cette mémoire 705 constitue la sortie de l'étage de décodage 700, envoyée vers le décodeur de source 50. Le signal de sortie de la mémoire 602, qui est, comme on l'a vu, la longueur de chaque bloc, est fournir dans l'étage de décodage 700, au circuit de démultiplexage 701, au circuit de remplissage 702r au décodeur 703r et à la mémoire 705. Dans le mode de réalisation de la figure 9, le décodeur Blokh-Zyablov 703 repose sur le principe de fonctionnement suivant. On appelle R le mot de code reçu : comme on l'a vu, ce mot de code a une forme matricielle à 4 lignes et 127 colonnes et est composé de la somme de deux matrices 4, 127 [R] = [C] + [E] où C est le mot de code réellement délivré par le codeur Blokh-Zyablov à l'émission et E l'erreur de transmission. Le principe de décodage de R consiste en une estimation successive des ki, les nombres de bits pour chacun des niveaux de codage sélectif (avec i = 1 à 4 dans le cas de 4 niveaux de codage) : le résultat de l'estimation des ki bits du niveau de protection i permet d'estimer les ki+1 bits suivants du niveau i+1. De fait, l'estimation des ki bits est faite en déterminant l'expression Ri = R - C (k1,...,ki1, 0,..., 0) dans laquelle C(kj Le processus de décodage des ki bits estr plus précisément, le suivant (a) on calcule Ri = R - C(kl,...r ki-1r 0,. ..,0). Dans le cas où i = 1 à 4, cela revient à calculer successivement R1 = R-C (O, Or 0,..., ) R2 = R-C (k1r O, 0,..., 0) R3 = R-C (k1, k2r O,..., 0), etc. (b) on détecte les éventuelles erreurs dans les colonnes de Ri. Cette détection est réalisée de la façon suivante. Soit la matrice G déjà nommée : à partir de ses quatre lignes, on définit les ensembles E1, E2, E3, E4 des mots formés respectivement par combinaison des quatres lignes 1000r 1100, 1010r 1001 de cette matrice G, par combinaison des trois dernières lignes de la matrice G, par combinaison des deux dernières lignes de la matrice G, et à partir de la dernière ligne de G. Ces ensembles E11 E2, E3, E4 contiennent donc respectivement 16, 8, 4r et 2 éléments. La détection d'erreurs est effectuée en comparant les colonnes de la matrice Ri avec chaque élément de l'ensemble Ei.Si l'une des colonnes est absente de cet ensemble, c'est dans cette colonne que se situe une erreur, et l'adresse de cette colonne associée à une détection d'erreur est stockée (cette adresse varie de 1 à 127 dans le cas où la matrice R est à 127 colonnes). (c) on calcule la matrice Mi = (Gt)-1Ri, expression dans laquelle (Gt)-1 est la matrice inverse de la matrice transposée Gt. Ce calcul permet de retrouver la i-ième ligne de la matrice M contenant les informations codées ki (non entachée d'erreurs). (d) cette i-ème ligne de Mi est estimée d'une part à partir des mots de code ainsi déterminés et d'autre part à partir des adresses de colonnes associées à des détections d'erreurs, et les valeurs ki ainsi déterminées sont mémorisées, pour reconstituer la nouvelle expression C permettant de reprendre un nouveau calcul de Ri (reprise des opérations (a) à (d) qui viennent d'être mentionnées), et ainsi de suite jusqu'à ce que le processus ait ainsi assuré le décodage à tous les niveaux de protection sélective, par estimations successives de tous les ki. Le processus ainsi décrit est mis en oeuvre dans les circuits suivants du décodeur Blokh-Zyablov 703 tel que représenté sur la figure 9 et qui comprend ici quatre niveaux de protection sélective. Tout d'abord, les signaux de sortie du circuit de remplissage 702, qui constituent les signaux d'entrée du décodeur 703, sont stockés dans une mémoire matricielle 730, contenant donc l'expression appelée R ci-dessus. Cette mémoire matricielle 730 est suivie d'un circuit 731 de calcul de Ri, puis d'un circuit 732 de multiplication matri celle pour obtenir l'expression matricielle Mi, alors envoyée vers le dispositif de décodage proprement dit du décodeur 703. Ce dispositif de décodage, référencé 800, comprend, de façon comparable avec le dispositif de codage (210, 211, 212, 213, 2141 215) représenté sur la figure 5, tout d'abord un circuit de démultiplexage 810, puis, en parallèle, quatre circuits 811 à 814 de décodage sélectif recevant chacun les bits qui lui sont affectés par le circuit 810. En sortie des quatre circuits de décodage 811 à 814 est ensuite prévue une mémoire matricielle 815 de stockage des signaux décodés de sortie de ces circuits.La sortie de cette mémoire 815 est fournie d'une part à un circuit 733 de reconstitution de mot de code destiné à la mise à jour de l'expression C(k1,..., ksi~1, O, ..., O) notée en abrégé C(.) sur la figure 9, en vue de la nouvelle étape du processus de détermination des ki+î bits suivants. D'autre part, lorsque tous les k bits correspondant à chaque niveau de protection d'un bloc ont été décodés, la sortie de la mémoire 815 est également envoyée, en tant que sortie du décodeur Blokh-Zyablov 703, vers les moyens de reclassement, ici le circuit de remise en ordre inverse 704. Pour ce traitement d'estimations successives des k bits, on a vu plus haut qu'une étape de détection des erreurs de transmission était indispensable. Ladite fonction de détection est réalisée à l'aide d'un circuit de détection d'erreurs 734 prévu en sortie du circuit 731 de calcul de Ri, en parallèle sur la voie conduisant au dispositif de décodage 800 par l'intermédiaire du circuit 732. Ce circuit 734 effectue les comparaisons entre les colonnes de Ri et les éléments de l'ensemble Ei concerné, et, lorsque la présence d'une erreur dans une colonne est détectée, son adresse (ici de 1 à 127) est stockée dans un circuit 735 de mémorisation desdites adresses de colonne. Il faut noter ici que, dans l'ensemble E1 à 16 éléments (card E1 = 16) contenant toutes les combinaisons possibles des quatre lignes de la matrice G, on retrouve toutes les colonnes de R1, et donc que, pour le premier niveau de protection sélective la détection opérée par le circuit 734 est inexistante. Pour ce niveau de protection, le circuit de détection d'erreurs 734 est transparent. On prévoit enfin, dans le décodeur 703 de la figure 9, un compteur 736 du nombre de niveaux de protection sélective ainsi qu'un comparateur 737 assurant l'arrêt du comptage du nombre de niveaux et l'émission d'un signal EOD de fin de décodage. Revendications 1. Système de décodage de signaux numériques ayant préalablement subi, par blocs, un codage à longueur variable, un codage avec protection sélective et un codage sans protection sélective, ledit système comprenant un décodeur de canal de transmission suivi d'un décodeur de source, caractérisé en ce que le décodeur de canal comprend en série un sous-ensemble de décodage à protection non sélective et un sous-ensemble de décodage à n niveaux de protection sélective. 2. Système de décodage selon la revendication 1, caractérisé en ce que ledit sous-ensemble de décodage à protection sélective comprend (A) un étage de décodage de longueurs, prévu pour assurer le décodage de ceux desdits signaux reçus qui correspondent aux longueurs desdits blocs (B) un étage de décodage des autres signaux codés reçus (C) un étage de démultiplexage, prévu notamment pour l'aiguillage des signaux numériques codés reçus, soit vers ledit étage de décodage de longueurs, soit vers ledit étage de décodage des autres signaux codés. 3. Système de décodage selon la revendication 2, caractérisé en ce que l'étage de démultiplexage des signaux numériques reçus comprend A) des moyens de modification du débit desdits signaux reçus (B) des moyens de séparation de ceux des signaux reçus codés qui correspondent aux mots de code issus du codeur de source et sont associés aux longueurs de parties variables de blocs, d'autres part des autres signaux reçus codés, ainsi qu'éventuellement des autres signaux reçus non codés. 4. Système de décodage selon la revendication 3, caractérisé en ce que l'étage de décodage de longueurs comprend (A) des moyens de décodage desdits signaux codés associés à des longueurs (B) des moyens de cadencement dudit décodage, agencés pour permettre la réinitialisation périodique du processus de décodage. 5. Système de décodage selon la revendication 4, caractérisé en ce que (A) les moyens de décodage de signaux codés associés à des longueurs comprennent (a) un circuit de décodage de longueurs (b) une mémoire de stockage temporaire des signaux de.sortie dudit circuit de décodage de longueurs (B) les moyens de cadencement comprennent (c) un circuit de comptage de blocs (d) un comparateur. 6. Système de décodage selon l'une des revendications 2 à 5, caractérisé en ce que l'étage de décodage des autres signaux codés reçus comprend (A) des moyens de démultiplexage (B) des moyens de raccourcissement inverse (C) des moyens de décodage sélectif (D) des moyens de reclassement (E) des moyens de mémorisation. 7. Système de décodage selon la revendication 6, caractérisé en ce que (A) les moyens de raccourcissement inverse comprennent (a) un circuit dit de remplissage, prévu pour ajuster le format des signaux à décoder à la capacité desdits moyens de décodage sélectif (B) les moyens de décodage sélectif comprennent un décodeur Blokh-Zyablov comprenant lui-même (b) une mémoire matricielle de stockage des signaux de sortie dudit circuit de remplissage (c) un circuit de calcul de l'expression matricielle Ri = R - C(k1, k2, ..., ki-1, O, ...O) où R est le contenu de ladite mémoire matricielle et C (k1, k2, ki-l( O, ..., O) le mot de code obtenu lorsque tous les ki non encore décodés sont considérés comme égaux à zéro (d) un circuit de multiplication matricielle, en vue de la détermination de l'expression matricielle Mi = (Gt)î.Ri où (Gt)-1 est la matrice inverse de la matrice transposée de la matrice G suivante (e) un dispositif de décodage, comprenant lui-même un circuit de démultiplexage, puis en parallèle, n circuits de décodage sélectif suivis en série d'une mémoire matricielle de stockage des signaux décodés de sortie desdits circuits de décodage et d'un circuit de reconstitution de mots de code destiné à la mise à jour de l'expression C(k1, k2,... ksi~1, O, ..., 0) fournie audit circuit de calcul de l'expression matricielle Ri (f) un circuit de détection d'erreurs de transmission, en vue de la correction du décodage effectué par ledit dispositif de décodage. 8. Système de décodage selon la revendication 7, caractérisé en ce que ledit circuit de détection d'erreurs de transmission comprend, pour la réalisation de (n-1) cycles de détection d'erreurs, des moyens de comparaison entre d'une part les colonnes de l'expression matricielle Ri et d'autre part, pour les (n-l) niveaux de protection sélective autres que le premier, les ensembles E2, E3, ..., En des mots formés respectivement par combinaison des (n-1) dernières lignes de la matrice G, par combinaison des (n-2) dernières lignes de G, etc..., par combinaison des deux dernières lignes de G, et, pour le n-ième niveau de protection sélective, à partir de la dernière ligne de G.