FR 2887378 A1 20061222 FR 0506220 A 20050620 PROCEDE ET DISPOSITIF DE DECODAGE DE DONNEES NUMERIQUES La présente invention se rapporte à un procédé et à un dispositif de décodage de données numériques. Soit F le corps de Galois à q = 2m éléments et soit a un élément primitif de F. F est l'ensemble {0, 1,a,a2,...,aq-2}. Pour k 1, soit H la matrice à n-k lignes et n = q-1 colonnes avec a'(i"1) en position (i,j). L'ensemble des mots v = [vo v1... vq_2] sur F qui satisfont H.vT = 0T, où T désigne la matrice transposée et 0 est le vecteur ligne à n-k éléments ne contenant que des zéros, est un code de Reed-Solomon (désigné ci-après par RS) noté C, de longueur n et de dimension k sur F et n-k est appelée sa redondance. Supposons que le mot v E C est émis sur un canal de transmission bruité et est reçu sous la forme du mot r = [ro r1... rq-2]. Le mot r peut s'écrire sous la forme r = v + e où e = [eo e1... eq_2] est le vecteur d'erreur. Un code RS de redondance n-k permet la correction de t = L(n k)/2 j erreurs, où Li désigne le plus grand entier qui n'est pas strictement supérieur à son argument. La plupart des algorithmes de correction d'erreurs qui sont utilisés en pratique pour les codes RS sont des algorithmes itératifs, tels que l'algorithme de Berlekamp-Massey (désigné ci-après par BM) et l'algorithme d'Euclide. Pour une description de ces algorithmes connus de l'homme du métier, on se reportera utilement à l'ouvrage de R. E. BLAHUT intitulé "Theory and practice of error control codes", Addison-Wesley, Reading, Mass., 1983. Ces algorithmes utilisent le vecteur syndrome S = H.rT = H.eT du mot reçu r. Ce vecteur syndrome S contient n-k éléments Sr, r = 1, ..., n-k, chaque élément Sr étant donné par Sr = [1 ar a2r a(q-2)r].rT. Plus précisément, pour r = 1, ..., n-k, l'algorithme BM utilise une longueur Lr_1 et deux polynômes Ar_1(x) et Br_1(x), pour produire des données mises à jour Lr, Ar(x) et Br(x). Cette mise à jour est donnée par: Lr = br(r-Lr-1)+(1-br)Lr-1, Ar/(X) = Ar_1(X)-rXBr-1(x), (1) Br(X) = (5r/Ar)Ar-1(x)+(1-br)XBr-1(x). 2887378 2 Dans les équations (1), Ar est obtenu par le produit scalaire des derniers éléments de (SI, ..., Sr_i) avec le vecteur des coefficients des puissances strictement positives de x dans Ar_I(x) pris dans l'ordre inverse. Ces quantités Ar sont appelées les désaccords. En outre, br est égal à 1 si Ar 0 0 et 2Lr_ Après n-k itérations de l'algorithme BM, le polynôme Af_k(x) est interprété comme le polynôme de localisation d'erreur. Cela signifie que le symbole ri (d"'indice" a') dans r sera déclaré comme erroné si A(a"') est nul. Toutefois, cette décision est "raisonnable" seulement si Af_k(x) a une factorisation complète sur F: si le degré de Af_k(x) est t, Af_k(x) devrait avoir la forme Af_k(x) = f J (1 xa') où J est un ensemble de t entiers pris dans {0, ..., q-2}. Dans le cas contraire, sans utilisation d'un autre algorithme, il est impossible de décoder correctement le mot reçu. L'invention propose un procédé pour décoder correctement le mot reçu dans des cas où le nombre d'erreurs est strictement supérieur à L(n k)/2J. On connaît des méthodes qui ont le même objectif et qui, comme l'invention, produisent une liste de mots de code qui sont à une distance inférieure ou égale à T pour une valeur T > L(n k)/2j. De telles méthodes sont par exemple décrites par V. GURUSWAMI et M. SUDAN dans un article intitulé "Improved decoding of Reed-Solomon and algebraic codes" in IEEE Trans. on Inform. Theory, vol. 45, n 6, pages 1757 à 1767, septembre 1999 et par J. E. M. NILSSON dans un article intitulé "An algebraic procedure for decoding beyond eecH", in IEEE Trans. on Inform. Theory, vol. 42, n 2, pages 649 à 652, mars 1996. Ces solutions présentent cependant divers inconvénients. La solution présentée par V. GURUSWAMI et M. SUDAN est limitée à des codes RS de rendement R = k/n On connaît une autre méthode par l'article de P. BOURS et al. intitulé "Algebraic decoding beyond eBCH of some binary codes when e L'invention a pour but de remédier aux inconvénients précités de l'art antérieur. Dans ce but, la présente invention propose un procédé de décodage de données numériques représentées par des mots r reçus après émission de mots v sur un canal de transmission bruité, les mots émis v appartenant à un code de Reed-Solomon de matrice de parité H, de longueur n et de dimension k sur un corps de Galois F, le syndrome S = (SI, ..., Sr, ..., Sn_k) d'un mot reçu t-étant défini par S = H.rT où T désigne la matrice transposée, ce procédé étant remarquable en ce qu'il comporte des étapes suivant lesquelles: - à partir du syndrome S, pour un entier f > n-k, on calcule une pluralité de polynômes A (x) en appliquant un algorithme de décodage itératif faisant intervenir des désaccords Ar qui utilise un nouvel élément du syndrome à chaque itération et qui considère les désaccords Ar comme des indéterminées; - on détermine parmi la pluralité de polynômes A (x) la liste des 25 polynômes A (x) qui se factorisent complètement sur le corps F; - à partir des polynômes Af(x) de cette liste, on calcule les f-n+k premiers éléments manquants Si du syndrome, de façon à obtenir un syndrome étendu S* de longueur f; - pour au moins un couple (A (x),S*) ainsi obtenu, on détermine une 30 estimée de décodage v du mot y; et 2887378 4 - on choisit parmi les estimées de décodage déterminées précédemment celle qui se trouve à la plus petite distance de Hamming du mot reçu r. On obtient ainsi les mots de code proches du mot reçu, même lorsque le mot de code le plus proche du mot reçu est à une distance strictement supérieure à L(n - k)/2J. Cet avantage est obtenu même pour des codes de rendement élevé, ce qui n'était pas possible par la méthode de V. GURUSWAMI et M. SUDAN. Dans un mode particulier de réalisation, l'algorithme de décodage itératif est l'algorithme de Berlekamp-Massey. Dans ce cas, le nouvel algorithme utilise plusieurs éléments de calcul utilisés par l'algorithme de Berlekamp-Massey. En particulier, l'étape de calcul d'une pluralité de polynômes /4(x) commence par le calcul d'un triplet {Ln_k, An_k(X), Bn_k(x)}, où, pour r = 1, ..., n-k, la longueur Lr et les deux polynômes Ar(x) et Br(x) sont définis par: Lr = ôr(r-Lr.1)+(1-ôr)Lr-t, Ar(x) = Ar-1(X)-.rXBr_1(X), Br(x) = (ôr//r)Ar-1(x)+(1-6r)XBr-1(x) où Ar est le produite scalaire des derniers éléments de (S1, ..., Sr_1) avec le 20 vecteur des coefficients des puissances strictement positives de x dans Ar_1(x) pris dans l'ordre inverse, où br = 1 si Ar # 0 et 2Lr-1 En variante, l'algorithme itératif peut être l'algorithme d'Euclide. Dans ce cas, le nouvel algorithme utilise plusieurs éléments de calcul utilisés par l'algorithme d'Euclide. Dans le même but que celui indiqué plus haut, l'invention propose également un procédé de décodage dit par agrégats d'un code de géométrie algébrique, remarquable en ce que les codes de Reed-Solomon sous-jacents, c'est-à-dire dont les composantes sont une somme pondérée de toutes les composantes du mot de code de géométrie algébrique qui sont dans le même agrégat, sont décodés par un procédé tel que ci-dessus. L'invention permet alors d'améliorer l'efficacité de certaines méthodes de décodage de ces codes de géométrie algébrique qui sont fondées sur le décodage de certains codes de Reed-Solomon associés à ces codes de géométrie algébrique. De telles méthodes de décodage par agrégats ont été proposées dans la demande de brevet français déposée sous le numéro 03 04767. Dans le même but que celui indiqué plus haut, la présente invention propose en outre un dispositif de décodage de données numériques représentées par des mots r reçus après émission de mots v sur un canal de transmission bruité, les mots émis v appartenant à un code de ReedSolomon de matrice de parité H, de longueur n et de dimension k sur un corps de Galois F, le syndrome S = (S,, ..., Sr, ..., Sf_k) d'un mot reçu r étant défini par S = H.rT où T désigne la matrice transposée, ce dispositif étant remarquable en ce qu'il comporte: - un module pour calculer, à partir du syndrome S, pour un entier t > n-k, une pluralité de polynômes /e(x) en appliquant un algorithme de décodage itératif faisant intervenir des désaccords Or qui utilise un nouvel élément du syndrome à chaque itération et qui considère les désaccords Or comme des indéterminées; - un module pour déterminer parmi la pluralité de polynômes /4(x) la liste des polynômes Mx) qui se factorisent complètement sur ledit corps F; - un module pour calculer, à partir des polynômes /4(x) de cette liste, les f-n+k premiers éléments manquants Si du syndrome, de façon à obtenir un syndrome étendu S* de longueur f; - un module pour déterminer, pour au moins un couple (Af(x),S*), une estimée de décodage v du mot y; et - un module pour choisir parmi les estimées de décodage celle qui 30 se trouve à la plus petite distance de Hamming du mot reçu r. Toujours dans le même but, la présente invention propose en outre un dispositif de décodage par agrégats d'un code de géométrie algébrique, remarquable en ce qu'il comporte un module adapté à décoder les codes de Reed-Solomon sous-jacents au moyen d'un dispositif tel que ci-dessus. La présente invention vise aussi un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé tel que ci-dessus. La présente invention vise aussi un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé tel que cidessus. La présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, comportant des séquences d'instructions pour mettre en oeuvre un procédé tel que ci- dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable. Les caractéristiques particulières et les avantages du dispositif de décodage de données numériques, des moyens de stockage et du produit programme d'ordinateur étant similaires à ceux du procédé de décodage de données numériques, ils ne sont pas répétés ici. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels: - la figure 1 est un organigramme illustrant les principales étapes du procédé de décodage conforme à la présente invention, dans un mode particulier de réalisation; et - la figure 2 représente de façon schématique un dispositif adapté à mettre en oeuvre la présente invention, dans un mode particulier de réalisation. De même que dans la partie introductive de la présente demande, on considère un corps de Galois F ayant q = 2m éléments et on considère que a est un élément primitif de F. H est la matrice ayant n-k lignes et n = q-1 colonnes ayant a'(-') en position (i,j). Le code de Reed-Solomon C de longueur n et de 2887378 7 dimension k sur F est l'ensemble des mots v = [vo v1... vq_2] sur F qui satisfont H.vT = OT où 0 est le vecteur ligne à n-k éléments tous nuls. On suppose que le mot v E C est transmis sur un canal bruité et est reçu sous la forme r = [ro r1... rq_2]. Le mot r peut s'écrire r = v + e où e = [eo e1... eq_2] est le vecteur d'erreur. Le syndrome du mot reçu r est défini par le vecteur S = H.rT = H.eT. Le vecteur syndrome S contient n-k éléments Sr, r = 1, ..., n-k, chaque élément étant défini par Sr = [1 ar a2r acq- 21 rT En calculant H.rT, on connaît les n-k éléments Sr, r = 1, .. ., n-k du vecteur syndrome S. Si on connaissait aussi certains des éléments suivants consécutifs Sr pour r = n-k+1, n-k+2, ..., on pourrait appliquer l'algorithme BM ou l'algorithme d'Euclide au vecteur syndrome étendu S* = [S1... Sn-k Sn-k+1...] pour corriger plus que t = L(n k)/2] erreurs. Cette remarque conduit à proposer l'algorithme de décodage suivant, illustré par l'organigramme de la figure 1. Tout d'abord, lors d'une étape 12, à partir du vecteur syndrome S, on calcule le triplet {Lf_k, An_k(x), Bi-,_k(x)I, en itérant les équations (1) pour r = 1, ..., n-k. Lors de l'étape suivante 14, on sélectionne un entier t > n-k. Puis, à l'étape 16, pour r = n-k+1, ..., f, on effectue l'étape correspondante de l'algorithme BM, en considérant les désaccords correspondants L1r comme inconnues. Les polynômes /4(x) qui peuvent être obtenus par cette procédure contiennent les t-n+k désaccords inconnus comme paramètres. On dresse ensuite à l'étape 18 la liste des polynômes /Mx) qui se factorisent complètement sur F. A l'étape suivante 20, à partir des polynômes /4(x) contenus dans cette liste, considérés comme définissant une récurrence sur les éléments successifs Si du syndrome, on calcule les t-n+k premiers éléments correspondants manquants du syndrome pour obtenir un vecteur syndrome étendu S* de longueur f. Puis, à l'étape 22, pour chaque couple (/t(x),S*), on détermine l'estimée de décodage v correspondante. 2887378 8 Enfin, à l'étape 24, on choisit comme estimée du mot v celle qui, parmi les ou les estimée(s) déterminée(s) à l'étape 22, est à la plus petite distance de Hamming du mot r. On va maintenant décrire deux exemples d'application du procédé de 5 décodage conforme à la présente invention. Considérons un code RS noté C de longueur 15 et de dimension 7 sur le corps fini F = F24. Définissons a par a4+ a+1 = O. La matrice de parité H8 de C est: 1 a 2 at4 1 a2 a4 a'3 H8 = (2) 1 a' a14 a8 1 a8 a a' On suppose que le mot reçu est r = [ro r1... r14] avec r4 = a13, r5 = a, r6 = 1, r7 = a13, r8 = 1 et r; = 0 pour les autres valeurs de i. Le syndrome correspondant S = H8.rT est S = [a10 0 a2 a8 a3 a9 a10 a11]. Sur la base de ce syndrome, les huit premières itérations (pour r = 1, ..., 8) de l'algorithme BM conduisent à : L8 = 4, A8(x) = 1 +a13x+a14x2+a2x3+ a10x4, (3) B8(x) = a2x+a10x2+a9x3+a8x4. Le polynôme A8(x) ne se factorise pas complètement sur F24. Par conséquent, ce n'est certainement pas le bon localisateur d'erreur. C'est pourquoi on souhaite poursuivre cet algorithme jusqu'à l'étape r = 10 en introduisant les désaccords A9 et 010 comme inconnues. L'objectif est d'établir la liste de tous les mots de code qui sont à une distance 5 de r. En particulier, si le voisin le plus proche der dans C est à une distance allant jusqu'à 5 et est le seul à cette distance, l'algorithme présenté ici sera en mesure de corriger jusqu'à 5 erreurs. Pour r = 9, on a: 1. L8satisfait 2L8r-1 =8. 2. Par conséquent, si A9 # 0, on a ô9 = 1 et L9 = 5, n9(x) = A8(x)+ xo9B8(x), Bo(x) = A8(x)/L9 (4) tandis que, si A9 = 0, on a ô9 = 0 et L9 = 4, A9(x) = A8(x), B9(x) = xB8(x) Pour r = 10, on a: 1. Par les équations (4), 2L9 = 10 > r-1 = 9 implique ô10 = 0 et L10 = L9 = 5, A1o(x) = A9(x)+xA1oB9(x), B1o(x) = xB9(x). 2. Par les équations (5), 2L9 = 8 r-1 = 9 implique ô10 = 1 si et seulement si 010 n'est pas égal à 0. Cependant, pour ôio = 1, L10 = 6 et cela n'est pas compatible avec la correction d'au plus 5 erreurs. Par conséquent, on suppose que 010 = 0, ce qui conduit à : L10 = L9 = 5, A1o(x) = A9(x), B1o(x) = xBg(x)É (7) En rassemblant les deux étapes r = 9 et r = 10, on obtient: A1o(x) = (1+xL1o/A9)A8(x)+xA9B8(x), (8) à partir des équations (4) et (6) et A1o(x) = A8(x), (9) à partir des équations (5) et (7). Avec les conditions sur Og et 010, ces deux équations peuvent se résumer comme suit: A10(x) = (1+cx)A8(x)+dxB8(x), (10) avec c, d e F24 et avec la condition supplémentaire que d = 0 implique c = 0. L'étape suivante de décodage consiste à rechercher pour quelles valeurs autorisées de c et d le polynôme A1o(x) dans l'équation (10) se factorise complètement sur F2,, . Parmi les 241 valeurs autorisées du couple (c,d) sur F24, seul (c = a9, d = a8) produit une telle factorisation complète. Le polynôme correspondantA10(x) est: A1o(x) = 1+ a10x+a8x2+C114x3+a13x4+ x5 = (1+a4x)(1+a5x)(1+a6x)(1+a7x)(1+a8x). (11) En considérant A10(x) comme l'expression d'une récurrence sur les éléments Si du syndrome S, on calcule les éléments inconnus Sg (= a5) et S10 (=a') du syndrome. Le couple (A1o(x),S* = L Sg S10]) est suffisant pour trouver une estimée de décodage v du mot de code émis v. Dans le cas présent, \ Ti_ le 15-uplet ne contenant que des zéros. Les étapes intermédiaires de calcul (5) (6) nécessaires pour trouver v impliquent l'utilisation de S(x) = ISixi-1 et le calcul i=1 des polynômes 0(x) = S(x)A10(x) mod x1 = a10+ a5x+a6x2+ax4, dA1o(x)/dx: = 010+a14x2+x4. (12) où df(x)/dx désigne la dérivée en x de son argument f(x). Etant donné qu'une seule valeur du couple (c,d) permet la factorisation complète de n10(x), le mot de code zéro est le seul mot de code à une distance inférieure ou égale à 5 du mot reçu r. On décrit maintenant un autre exemple d'application du procédé de décodage conforme à la présente invention. On considère le code RS noté C de longueur 15 et de dimension 11 sur le même corps fini F = F24 que dans l'exemple précédent. La matrice de parité H4 de C est: 1 a a2 a14 1 a2 aa a1s H4 = 1 3 as a12 (13) 1 aa aa a11 La redondance n-k de C est égale à 4. On suppose que le mot reçu est r = [ro r1... r14] avec ro = 1, r1 = as, r2 = a12 et r; = 0 pour i = 3, .. ., 14. Le vecteur syndrome correspondant S = H4.r-T est S = [a a2 a10 a3]. Sur la base de ce syndrome, les quatre premières itérations de l'algorithme BM conduisent à : L4 = 2, A4(x) = 1+a$x+0x2, (14) B4(x) = a3x+a4x2. L'utilisation de A4(x) pour calculer une estimée v de l'erreur du mot v ne conduit pas à un mot de C. Sachant que C est un code correcteur de 2 erreurs, cela signifie que les voisins les plus proches der dans C sont à une distance de Hamming supérieure ou égale à 3 du mot r. Par conséquent, on souhaite poursuivre l'algorithme BM jusqu'à l'étape r = 6 en introduisant les désaccords 05 et A6 comme inconnues. L'objectif est de dresser la liste de tous les mots de code qui sont à une distance 3 de r. Pour r = 5, on a: 1. L4 satisfait 2L4 s r-1 = 4. 2. Par conséquent, si A5 0, on a 65 = 1 et L5 = 3, A5(x) = A4(x)+ x05B4(x), B5(x) = A4(x)IA5 tandis que, si L5=0,onab5=0et L5 = 2, A5(x) = A4(x), B5(x) = xB4(x). Pour r = 6, on a: 1. Par les équations (14), 2L5 = 6 > r-1 = 5 implique 66 = 0 et L6 = L5 = 3, A6(x) = A5(x)+xi6B5(x), B6(x) = xB5(x). 2. Par l'équation (15), 2L5 = 4 _ Cependant, (20) n'est pas utile, comme discuté plus haut après les équations (14). Ainsi, on peut résumer la discussion ci-dessus en énonçant que A6(x) doit être de la forme: A6(x) = (1 +cx)A4(x)+dxB4(x), (21) avec c, d E F24 et d 0 0. L'étape suivante du décodage est la recherche des valeurs de c et des valeurs non nulles de d pour lesquelles le polynôme A6(x) dans l'équation (21) se factorise complètement sur F24. En fait, parmi les 240 couples autorisés, il y a 25 couples pour lesquels cela se produit. Cela signifie que, dans le cas présent, il y a 25 mots de code à une distance 3 de r. Le couple (c = a, d = 1) est l'un des 25 couples qui ont cette propriété. Le polynôme correspondant A6(x) est: A6(x) = 1+a1ox+axe+a4x3 = (1+ax)(1+ a7x)(1+a"x) (22) (15) (16) (17) 2887378 12 En considérant A6(x) comme une récurrence sur les éléments Si du syndrome S, on peut calculer les syndromes inconnus S5 = a12 et S6 = 1. Le couple (A6(x),S* = [S S5 S6] ) est suffisant pour trouver une estimée de décodage v du mot de code émis v. Dans le cas présent, on obtient: v =[1 a 3a 120000a13000a2000]. (23) Les 24 autres mots de code à distance 3 der peuvent être calculés de la même façon. II est intéressant de noter que le mot v de l'équation (23), de même que les 24 autres mots de code à distance 3 de r, est orthogonal à la matrice H4 donnée par l'équation (13) mais n'est pas nécessairement orthogonal à la matrice: a a2 a14 a2 a4 13 a3 as a1z a4 as a11 a5 a10 a10 0'6 a12 a9 parce qu'on ne sait rien sur les valeurs correspondantes de S5 et S6. En effet, alors que les éléments Si du syndrome étendu S* = [S1... S6] correspondant à v (équation (23)) sont nuls pour i = 1, ..., 4, l'élément de syndrome S5 vaut a3 et l'élément de syndrome S6 vaut a4. Dans ce qui précède, on a décrit le procédé de décodage conforme à la présente invention dans le cadre d'un code de Reed-Solomon primitif, c'est-à-dire de longueur q-1, ayant pour "racines" les n-k éléments consécutifs a; pour i = 1, ..., n-k. Ce cadre n'est nullement limitatif et l'homme du métier comprendra que l'invention s'applique tout aussi bien à : - des codes de Reed-Solomon poinçonnés, c'est-à-dire où seul un sous-ensemble des mots qui les composent est émis; - des codes de ReedSolomon raccourcis, c'est-à-dire où on n'utilise 25 que les mots de code pour lesquels certains éléments ont des valeurs prescrites; H6 (24) 2887378 13 - des codes de Reed-Solomon modifiés, c'est-à-dire où, avant émission, chaque mot codé est multiplié par une matrice diagonale non singulière; - des sous-codes de codes de Reed-Solomon sur des sous-corps (en anglais "subfields") (on se reportera utilement à ce sujet à l'article de P. DELSARTE intitulé ""On subfield subcodes of Reed-Solomon codes", in IEEE Trans. on Inform. Theory, pages 575-576, septembre 1975). Par ailleurs, l'invention n'est pas limitée à l'utilisation de l'algorithme de Berlekamp-Massey, mais peut utiliser tout algorithme de décodage itératif qui utilise un nouvel élément de syndrome à chaque étape de décodage. L'algorithme d'Euclide est un tel algorithme. Notons enfin que pour obtenir d'utiles restrictions sur la forme du polynôme de localisation d'erreur /Mx), où t est l'indice de la dernière étape de l'algorithme de décodage "prolongé", il est utile d'utiliser les deux propriétés suivantes: 1. b, = 1 implique 6,1 = 0 2. La dernière valeur bf de ôr est égale à zéro. Un dispositif 10 mettant en oeuvre le procédé de décodage conforme à l'invention est illustré sur la figure 2. Ce dispositif peut être par exemple un micro-ordinateur 10 connecté à différents périphériques, par exemple, si les données à traiter selon l'invention sont des images numériques, une caméra numérique 107 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention. Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des informations numériques. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. II comporte aussi un lecteur de disquettes 109. La disquette 110, comme le disque dur 108, peuvent contenir des données d'implantation logicielle de l'invention ainsi que le code de l'invention qui, une fois lu par le dispositif 10, sera stocké sur le disque dur 108. En variante, le programme permettant au dispositif de mettre en oeuvre l'invention pourra être stocké en mémoire morte 102 (appelée ROM sur le dessin). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 113. Le dispositif 10 est relié à un microphone 111 par l'intermédiaire d'une carte d'entrées/sorties 106. Les données à traiter selon l'invention seront dans ce cas du signal audio. Ce même dispositif possède un écran 104 permettant de visualiser les informations à traiter ou de servir d'interface avec l'utilisateur qui pourra paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout autre moyen (souris par exemple). L'unité centrale 100 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes et méthodes de traitement stockés dans une des mémoires (non volatile), par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103, qui contient alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. En variante, les méthodes de traitement peuvent être stockées dans différents endroits. En effet, il est possible d'améliorer l'invention en ajoutant de nouvelles méthodes transmises par le réseau de communication 113 ou par l'intermédiaire de disquettes 110. Bien entendu, les disquettes peuvent être remplacées par tout support d'information tel que CD-ROM ou carte mémoire. De façon générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif 10, éventuellement amovible, est adapté à mémoriser un ou plusieurs programmes dont l'exécution permet la mise en oeuvre du procédé conforme à la présente invention. Le bus de communication 101 permet la communication entre les différents sous-éléments du micro-ordinateur 10 ou liés à lui. La représentation du bus 101 n'est pas limitative et notamment, l'unité centrale 100 est susceptible de communiquer des instructions à tout sous-élément du microordinateur 10 directement ou par l'intermédiaire d'un autre sous-élément du micro-ordinateur 10. Le dispositif décrit ici est susceptible de contenir tout ou partie du traitement décrit dans l'invention. Le procédé de décodage conforme à la présente invention permet d'améliorer les performances du décodage, dit par agrégat (en anglais "aggregate decoding"), de certains codes de géométrie algébrique. En effet, la principale limite à l'efficacité du décodage par agrégat des codes de géométrie algébrique est la distance minimale insuffisante de certains codes RS modifiés, dont les composantes sont une somme pondéréede toutes les composantes du mot de code de géométrie algébrique qui sont dans le même agrégat. En vertu de la présente invention, chaque code RS sous-jacent à un code de géométrie algébrique peut être décodé "au-delà de sa distance minimale" comme on l'a expliqué ci-dessus. On peut ainsi obtenir les voisins, dans un code RS sous-jacent, d'un mot sous-jacent au mot reçu après transmission d'un mot d'un code de géométrie algébrique. Toujours en vertu de la présente invention, cela peut s'effectuer jusqu'à une distance qui est plus grande que la moitié de la distance minimale du dit code sous-jacent. En sélectionnant alors, au moins de deux façons distinctes, un mot produit par chaque décodeur de code RS sous-jacent, on obtient pour chaque sélection, en suivant la méthode décrite dans la demande de brevet français déposée sous le numéro 03 04767, une estimation G du mot émis du code de géométrie algébrique. II est naturel de choisir comme estimation définitive du mot transmis, le mot ainsi produit qui est le plus proche du mot reçu. 16 REVENDICATIONS 1. Procédé de décodage de données numériques représentées par des mots r reçus après émission de mots v sur un canal de transmission bruité, les mots émis v appartenant à un code de Reed-Solomon de matrice de parité H, de longueur n et de dimension k sur un corps de Galois F, le syndrome S = (SI, ..., Sr, ..., Sn_k) d'un mot reçu r étant défini par S = H.rT où T désigne la matrice transposée, ledit procédé étant caractérisé en ce qu'il comporte des étapes suivant lesquelles: - à partir du syndrome S, pour un entier t > n-k, on calcule (12, 14, 16) une pluralité de polynômes /4(x) en appliquant un algorithme de décodage itératif faisant intervenir des désaccords Lr qui utilise un nouvel élément du syndrome à chaque itération et qui considère les désaccords Ar comme des indéterminées; - on détermine (18) parmi ladite pluralité de polynômes /4(x) la liste des polynômes /4(x) qui se factorisent complètement sur ledit corps F; - à partir des polynômes A(x) de ladite liste, on calcule (20) les tn+k premiers éléments manquants Si du syndrome, de façon à obtenir un syndrome étendu S* de longueur t; - pour au moins un couple (/Mx),S*), on détermine (22) une estimée de décodage v du mot v; et - on choisit (24) parmi lesdites estimées de décodage déterminées précédemment celle qui se trouve à la plus petite distance de Hamming du mot reçu r. 2. Procédé selon la revendication 1, caractérisé en ce que ledit algorithme de décodage itératif est l'algorithme de Berlekamp-Massey. 3. Procédé selon la revendication 1, caractérisé en ce que ledit algorithme itératif est l'algorithme d'Euclide. 4. Procédé selon la revendication 2, caractérisé en ce que l'étape (12, 14, 16) de calcul d'une pluralité de polynômes /Mx) commence par le calcul d'un triplet {Li-k, nn k(x), Bn_k(x)}, où, pour r = 1, ..., n-k, la longueur Lr et les deux polynômes Ar(x) et Br(x) sont définis par: Lr = 6r(r-Lr-1)+(1-br)Lr-1, Ar(x) = Ar-1(x)-Orxôr-1(x), Br(x) = (br/Ar)Ar1(x)+(1-br)xBr-1(x) où Or est le produite scalaire des derniers éléments de (S1, ..., Sr-1) avec le vecteur des coefficients des puissances strictement positives de x dans Ar-1(x) pris dans l'ordre inverse, où br = 1 si Ar 0 et 2Lr-1 r-1 et âr = 0 sinon, avec par convention, 6r/Ar = 0 si Ar = 0, et où, pour r = 0, on prend Lo = 0, Ao = 1 et Bo = 1. 5. Procédé de décodage par agrégats d'un code de géométrie algébrique, caractérisé en ce que les codes de Reed-Solomon sous-jacents sont décodés par un procédé selon l'une quelconque des revendications précédentes. 6. Dispositif de décodage de données numériques représentées par des mots r reçus après émission de mots v sur un canal de transmission bruité, les mots émis y appartenant à un code de Reed-Solomon de matrice de parité H, de longueur n et de dimension k sur un corps de Galois F, le syndrome S = (S1, ..., Sr, ..., Sr,-k) d'un mot reçu r étant défini par S = H.rT où T désigne la matrice transposée, ledit dispositif étant caractérisé en ce qu'il comporte: - des moyens pour calculer, à partir du syndrome S, pour un entier f > n-k, une pluralité de polynômes /4(x) en appliquant un algorithme de décodage itératif faisant intervenir des désaccords Or qui utilise un nouvel élément du syndrome à chaque itération et qui considère les désaccords Ar comme des indéterminées; -des moyens pour déterminer parmi ladite pluralité de polynômes /4(x) la liste des polynômes /Mx) qui se factorisent complètement sur ledit corps F; - des moyens pour calculer, à partir des polynômes /f(x) de ladite liste, les t-n+k premiers éléments manquants Si du syndrome, de façon à 30 obtenir un syndrome étendu S* de longueur f; - des moyens pour déterminer, pour au moins un couple (/f(x),S*), une estimée de décodage v du mot y; et - des moyens pour choisir parmi lesdites estimées de décodage celle qui se trouve à la plus petite distance de Hamming du mot reçu r. 7. Dispositif selon la revendication 6, caractérisé en ce que ledit algorithme de décodage itératif est l'algorithme de Berlekamp-Massey. 8. Dispositif selon la revendication 6, caractérisé en ce que ledit algorithme itératif est l'algorithme d'Euclide. 9. Dispositif selon la revendication 7, caractérisé en ce que les moyens de calcul d'une pluralité de polynômes /4(x) sont adaptés à calculer un triplet {Ln-k, An-k(x), Bn-k(x)}, où, pour r = 1, ..., n-k, la longueur Lr et les deux polynômes Ar(x) et Br(x) sont définis par: Lr = âr(r-Lr-1)+ (1-âr)Lr-1, Ar(X) = Ar_1(X)-0rxBr-1(X), Br(X) = (âr/Ar)Ar-1(x)+(1-âr)xBr1(x) où Or est le produite scalaire des derniers éléments de (S1, ..., Sr_1) avec le vecteur des coefficients des puissances strictement positives de x dans Ar_1(x) pris dans l'ordre inverse, où âr = 1 si Ar 0 et 2Lr-1 r-1 et âr = 0 sinon, avec par convention, âr/Lr = 0 si Ar = 0, et où, pour r = 0, on prend Lo = 0, Ao = 1 et Bo = 1. 10. Dispositif de décodage par agrégats d'un code de géométrie algébrique, caractérisé en ce qu'il comporte des moyens adaptés à décoder les codes de Reed-Solomon sous-jacents au moyen d'un dispositif selon l'une quelconque des revendications 6 à 9. 11. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 4. 12. Moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 4. 13. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 4, lorsque ce programme est chargé et exécuté par l'appareil programmable.