Brevet FR2893790A1 — publié le 20070525

L'invention concerne un procédé de décodage pour codes de géométrie algébrique et un dispositif associé. Afin de se prémunir contre les erreurs pouvant survenir lors du stockage (ou de la transmission) de données, il est classique de stocker (ou de transmettre) ces données sous forme codée afin d'y introduire une certaine redondance qui rend possible, sauf dans des cas très défavorables, la détection des erreurs de stockage (ou de transmission) et leur correction. Un tel codage consiste à associer à une suite de k symboles 10 d'information dans le message original (mot d'information) un mot de code formé de n symboles (avec k Cette solution permet une mise en oeuvre plus aisée du décodage des codes de géométrie algébrique, mais rend nécessaire des calculs complémentaires pour générer à partir du mot reçu plusieurs mots de codes de Reed-Solomon en vue de leur traitement par des algorithmes applicables à ce type de code. L'invention vise à alléger ces calculs complémentaires et propose pour ce faire une nouvelle solution pour ramener le décodage d'un code de géométrie algébrique au décodage d'une pluralité de codes de Reed-Solomon. On propose ainsi un procédé de décodage d'un mot reçu r codé selon un code de géométrie algébrique construit sur un ensemble de localisation partitionné en /3 agrégats de a points ayant une première composante commune, chacune des composantes r(x;,y,(xf)) du mot reçu étant associée à un point (x.i,y,(xj)) de l'ensemble de localisation, caractérisé par les étapes suivantes : - pour tout agrégat de composante commune détermination de a valeurs qo(j),..., qa_,(j) par résolution d'un système d'équations comprenant, pour a-1 tout point (x;,y,(x ) de l'agrégat, l'équation : r(xj,y,(x;)) = Ey,(xi )kgk(j) ; k=0 - pour i allant de 1 à a, obtention d'au moins un vecteur ](o - détermination des composantes c(x;,y,(x)) du mot de code ç associé au a-1 mot reçu r par : c(xi, y,(xj )) ly,(xj )kgk(j) . k=0 On ramène ainsi le décodage d'un code de géométrie algébrique au décodage d'une pluralité de codes de Reed-Solomon grâce à la résolution d'un système qui peut, dans certains cas au moins, nécessiter un coût calculatoire inférieur à la solution proposée dans la demande de brevet EP 1 434 132. Lorsque l'ensemble de localisation est défini par un polynôme à deux variables Fo(X, Y) qui s'annule en chacun de ses points et dans lequel un facteur est associé à chaque puissance de la seconde variable Y, l'étape de détermination des a valeurs qo(j),..., qa_,(j) peut comprendre les étapes suivantes : - multiplication de l'équation associée à chaque point de l'agrégat aù1 (r(xi, yi (xi)) _ E yi (xJ )k qk (j)) par une puissance donnée (yi(x)N) de la seconde k=0 composante dudit point ; - sommation des a équations obtenues à l'étape de multiplication ; -remplacement, dans l'équation obtenue à l'étape de sommation, d'au moins une somme des puissances des valeurs des secondes composantes des a points de l'agrégat (I yi(x,)k) par son expression au moyen desdits facteurs. i=1 On simplifie ainsi, et de manière drastique dans certains cas dont des exemples sont donnés plus loin, la résolution du système. 10 L'étape d'obtention d'au moins un vecteur [gi(j)](ol - détermination d'au moins un polynôme Qi tel que le vecteur [Qi(x;)](o4 L'invention propose également un dispositif de décodage d'un mot reçu r codé selon un code de géométrie algébrique construit sur un ensemble de 20 localisation partitionné en fi agrégats de a points ayant une première composante commune, chacune des composantes r(x;,yi(x)) du mot reçu étant associée à un point (xi,yi(x;)) de l'ensemble de localisation, caractérisé par : - des moyens pour déterminer, pour tout agrégat de composante commune x;, a valeurs qo(j) ,..., ga_1(j) par résolution d'un système d'équations 25 comprenant, pour tout point (x;,yi(x)) de l'agrégat, l'équation : aù1 r(xj,yi(xj)) = Ejyi(xi)kgk(J) ; k=0 - des moyens pour obtenir, pour i allant de 1 à a, au moins un vecteur [ q, (j) ](o1 Les avantages et caractéristiques éventuelles de ce dispositif de décodage sont essentiellement les mêmes que ceux des procédés corrélatifs 5 décrits succinctement ci-dessus. L'invention vise également : - un décodeur comprenant au moins un dispositif de décodage tel que décrit succinctement ci-dessus, et au moins une unité de suppression de la redondance, 10 - un appareil de réception de signaux numériques codés comprenant un décodeur tel que décrit succinctement ci-dessus, et comprenant des moyens pour démoduler lesdits signaux numériques codés, - un système informatique comprenant un décodeur tel que décrit succinctement ci-dessus, et comprenant en outre au moins un disque dur ainsi 15 qu'au moins un moyen de lecture de ce disque dur, - un moyen de stockage de données inamovible comportant des instructions de code de programme informatique pour l'exécution des étapes de l'un quelconque des procédés de décodage succinctement exposés ci-dessus, - un moyen de stockage de données partiellement ou totalement 20 amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes de l'un quelconque des procédés de décodage succinctement exposés ci-dessus, et - un programme d'ordinateur, contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données 25 programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre l'un des procédés de décodage succinctement exposés ci-dessus. Les avantages offerts par ce décodeur, cet appareil de réception, ce système informatique, ces moyens de stockage de données et ce programme 30 d'ordinateur sont essentiellement les mêmes que ceux offerts par les procédés de décodage selon l'invention. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-dessous de modes de réalisation particuliers, 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 schéma synoptique d'un système de transmission d'informations mettant en oeuvre un procédé selon l'invention ; - la figure 2 illustre les étapes essentielles d'un procédé de décodage selon l'invention ; et - la figure 3 représente un appareil de réception de signaux numériques incorporant un décodeur selon l'invention. La figure 1 est un schéma synoptique d'un système de transmission 10 d'informations mettant en oeuvre un procédé selon l'invention. Ce système a pour fonction de transmettre des informations de nature quelconque à partir d'une source 100 vers un destinataire ou utilisateur 109. En premier lieu, la source 100 traduit ces informations en une suite de symboles appartenant à un certain corps de Galois Fq (par exemple des octets de bits pour 15 q = 28), et transmet ces symboles à une unité de stockage 101, qui accumule les symboles de façon à former des ensembles contenant chacun k symboles. Ensuite, chacun de ces ensembles est transmis par l'unité de stockage 101 à un codeur 102 qui y incorpore de la redondance, de manière à construire un mot de longueur n appartenant au code choisi. 20 Les mots de code ainsi formés sont ensuite transmis à un modulateur 103, qui associe à chaque symbole du mot de code un symbole de modulation. Ensuite, ces symboles de modulation sont transmis à un enregistreur (ou un émetteur) 104, qui insère les symboles dans un canal de transmission. Ce canal peut être par exemple un stockage sur un support adapté tel qu'un DVD ou un 25 disque magnétique ou encore une bande magnétique. II peut correspondre également à une émission filaire ou non-filaire comme c'est le cas d'un lien radio. Le message transmis parvient à un lecteur (ou un récepteur) 105, après avoir été affecté par un "bruit de transmission" dont l'effet est de modifier ou d'effacer certains des symboles de modulation. 30 Le lecteur (ou récepteur) 105 transmet alors ces symboles au démodulateur 106, qui les transforme en symboles de Fq. Les n symboles résultant de la transmission d'un même mot de code sont ensuite groupés en un "mot reçu" dans une unité de correction d'erreurs 107, qui met en oeuvre un procédé de décodage selon l'invention, de manière à fournir un "mot de code associé". Puis ce mot de code associé est transmis à une unité de suppression de redondance 108, qui en extrait k symboles d'information en mettant en oeuvre un algorithme de décodage inverse de celui mis en oeuvre par le codeur 102. Enfin, ces symboles d'information sont fournis à leur destinataire 109. On peut considérer que les unités 107 et 108 forment conjointement un "décodeur" 10. On considère ici un code de géométrie algébrique défini à partir d'un ensemble de localisation de Fq x Fq formé par des solutions de l'équation Fo(X,Y)=0, où Fo(X,Y) est un polynôme à deux variables de la forme Fo(X,Y)=Ya+R(Y)+S(X)+T(X,Y), avec R, S, T des polynômes à coefficients dans Fq de degré strictement inférieur à a et a un entier supérieur à 1. On utilise de préférence pour former l'ensemble de localisation des points tels qu'il existe précisément a points solutions de l'équation partageant la même coordonnée x. L'ensemble de localisation est ainsi partitionné en f sous-ensembles de a éléments dont la première coordonnée est commune ; de tels sous-ensembles sont dénommés "agrégats". En notant Hi les n points de l'ensemble de localisation, chaque mot de code du code de géométrie algébrique peut être vu comme l'évaluation d'un 20 polynôme à deux variables f en chaque point de l'ensemble de localisation : c = (f(II1),f(II2),...,f(IIn)). Un tel code est de ce fait généralement dénommé "code d'évaluation". Il est bien connu que tout code de géométrie algébrique peut se ramener à un tel code d'évaluation à une transformation linéaire près. 25 Les coefficients du polynôme f correspondent au message à coder et on parcourt l'ensemble des mots de code en faisant varier f. L'exposant j des monômes X'Y' f est toutefois strictement inférieur à a (puisque pour tout t, Fo(fIt) = 0). Le polynôme f associé au message peut donc être décomposé comme 30 suit : f(X,Y) = Qo(X)+Y.Q1(X)+....Ya-lQa_1(X), où chaque Q;(X) est un polynôme à une variable de degré strictement inférieur à une valeur k(i) variable selon le polynôme Fo utilisé. En utilisant cette décomposition, chaque composante du mot de code peut donc s'écrire sous la forme : f(x,,y;(x,)) = Qo(x;)+y;(x,).Q,(x,)+....y;(x,)a-1 Qa ,(x;), avec xi la coordonnée commune à un agrégat et y;(x1) les a valeurs possibles pour la seconde 5 coordonnés des points de cet agrégat . On peut donc écrire dans chaque agrégat dont les points partagent la première coordonnée commune xi : - f (xi, YO (x j )) f (x; ,Yl (x j )) f(xi,y2(xj)) 2 YO YO 2 Y1 Y1 2 Y2 Y2 a-1-YO a-1 Y1 a-1 Y2 - 1 1 1 - Q0(xj ) Q1(xi) Q2(xi) f (xi,Y0-1(x1)) 1 Ya-1 Ya2-1 Ya-i Qa-1 (xi) La matrice ci-dessus étant une matrice de Vandermonde, son inversion est toujours possible et on peut donc toujours écrire, dans chaque 10 agrégat : - -1 2 a-I Q0(xi) 1 YO YO YO f(xi,YO(xj)) 2 a-1 Q1(xi) 1 Y1 Y1 Y1 (x1)) 2 {f'(xi,Yl a-1 Q2(xi) 1 Y2 Y2 Y2 J (xi,Y2(xj)) Qa-1 (xi ) 1 2 a-1 Ya-1 Ya-1 Ya-1 _f (x - j , Ya-1 (x j )) On peut donc facilement déterminer l'évaluation de chaque polynôme Q; au point xi définissant chaque agrégat à partir des composantes du mot de code. On ramène ainsi la détermination du polynôme f (interpolation d'un 15 polynôme à deux variables) à l'interpolation de a polynômes Q; à une seule variable, qui peut être réalisée par des méthodes classiques, par exemple du type de celles décrites dans la demande de brevet WO 01 / 35 536 ou dans l'article "The Guruswami Sudan Algorithm for Reed Solomon codes" de Robert J. McEliece in IPN progress reports, sur la base de l'article "Improved Decoding of 20 Reed-Solomon and Algebraic Codes" de V. Guruswami et M. Sudan in IEEE Transactions on Information Theory., vol. 45, n 6, septembre 1999. Lorsque l'on décode un mot reçu à travers un canal de transmission selon le schéma décrit plus haut (étape E200), on peut décomposer le mot reçu r(xj,yj(xj)) comme la somme du mot envoyé f(xj,y,(xj)) (qui est un mot de code) et 25 d'une erreur de transmission e(x),y;(x)) : r(xj,y,(xj)) =f(xj,yi(xj))+e(xj,y1(xi)) On notera ici que, dans les expressions r(x;,y,(x;)) et e(x;,y,(x;)), les coordonnées identifient (ou "étiquètent") la composante du mot concerné mais ne signifient pas qu'il s'agit de l'évaluation au point concerné d'un polynôme (ce qui n'est a priori pas le cas). En appliquant l'inverse de la matrice de Vandermonde mentionné ci-dessus au mot reçu, on obtient pour chaque agrégat : qo(j) ql(j) q2(j) _qa-1 (j)_ a-1 - Yo a-1 Yl a-1 Y2r(x;,Yo(x;)) r(x;,y,(xi)) r(x; , y2 (x; )) 1 Ya-1 Ya-1 ya_1 r(x; ya-1 (x; )) On a donc également d'après la décomposition du mot reçu évoquée ci-dessus : 1 1 2 Y2 Y2 a-I - Yo a-1 Yl a-1 Y2 a-1 Ya-1 -1 2 Ya-1 Ya-1f(x;,ya 1 (xi)) qo (j) q1(j) q2(j) 2 Yo Yo 2 yl Y1 2 Y2 Y2 a-1 Yo a-1 Y1 a-1 Y2 1 Ya-1 Y2 a-1 Ya-1 soit : e(xi , ya-1 (x; )) qo(j) ql(j) q2(j) + qa-1(J)_ Qa-1 (x; ) e'a-1 (xi ) Pour tout i compris entre 0 et (a-1), le vecteur [q; (j)]os; Le problème du décodage du mot reçu r(x;,y,(x;)) est ainsi ramené au décodage des a mots [q; (j)]o Les coefficients yo(xj), ..., ya_,(Xj) sont les secondes coordonnées de points du même agrégat de l'ensemble de localisation et ils vérifient par conséquent tous l'équation Fo( x; , Y ) = 0, c'est-à-dire qu'ils sont les racines du polynôme à une variable Fo( xi , Y ). (Comme vu précédemment, on a choisi les agrégats tels qu'ils aient précisément a points et toutes les racines du polynôme Fo( xi , Y ) sont donc bien une seconde coordonnée d'un point de l'agrégat considéré.) On sait par ailleurs, à l'aide des formules de Girard-Newton et de n-1 Viete, exprimer la somme Pm = y,' d'une même puissance des racines en i=o fonction des coeffcients a; du polynôme Y"+aoY""1+...+a"_1 dont elles sont solutions. _ 1 r+l r En effet, d'après Girard-Newton, Sr = E(_1)k+r p Sr_k , où S,,, est r le même polynôme symétrique et s'exprime en fonction d'un coefficient du r(xj,ya-1(xj))= ya-I(xj)kgk(J) k=0 k=1 n- 1 polynôme : Sm = y , y;2 y;m = (ù1)m am_, . On obtient donc facilement i1=0 il ligne relative à une racine y,(xj) par yi(x)N où N est un entier compris entre 0 et a-5 1, puis en sommant toutes les lignes, ce qui permet d'obtenir une équation de la forme : a-1 a-1 yi(xj)N.r(xj,yi(xj))-1Pk+Nak(.~). i=0 k=0 On peut naturellement obtenir autant d'équations que nécessaire pour la résolution du système en faisant varier N entre 0 et a-1. 10 On obtient ainsi une expression simplifiée du système d'équations permettant de déterminer les éléments qi(i), les facteurs P, ayant une expression simple en fonction des coefficients du polynôme Fo( xj , Y) concerné. En pratique, le système peut être encore simplifié du fait par exemple du corps de Galois Fq et du polynôme Fo( X , Y) utilisés pour définir le code de 15 géométrie algébrique, comme cela ressort des exemples qui suivent. Une fois les qi(j) obtenus, on calcule (étape E204), pour i allant de 1 à a, les vecteurs [qi (j) ](o1 E206). 25 En tant que premier exemple d'application numérique, on se place dans le cas d'une courbe hermitienne d'équation Y4+Y+X5=0 sur F16 (c'est-à-dire avec q=24). On remarque tout d'abord que dans tout corps F2m pour lequel m est 3 divisible par 4, on peut écrire Y4 +Y = n (y û ai ) . i=0 On a donc en développant (formule de Newton) : 3 Y4 +Y = Y4 +Y31ai +Y2[aoa2 +a a3 +a a, +a,a3 +a,a2 +a2a3] i=o +Y [aoa,a2 +aoa,a3 +aoa2a3 +a3a,a2]+aoa,a2a3 Avec la notation précédente concernant les polynômes symétriques, l'équation de l'ensemble de localisation peut s'écrire sous la forme Y4+Y3 S1+Y2 S2+YS3+S4 = 0 (l'absence de signe "-" provenant du fait que le corps est de caractéristique 2). En identifiant les termes S1 et S3 aux coefficients de la courbe, on a : 3 S, _ lai =0 et S3 = [a a,a2 + a a,a3 + a a2a3 + a3a,a2 ] =1. i=o Par ailleurs, du fait que le corps est de caractéristique 2, les termes à coefficient pair s'annulent dans les formules donnant les sommes de puissance Pm en fonction des polynômes symétriques Sm et celles-ci se limitent donc à : P1=S1 P2 = 512 P3 = S13 +S1S2 +S3 P4=S14. D'où P1=0, P2=0, P3=1 et P4=0. 3 Par ailleurs, Po = = 4.yi est nul du fait que le corps F15 est de i=o caractéristique 2. Par conséquent, en utilisant successivement pour N les valeurs 0, 1, 2 et 3 dans la formule de sommation des lignes du système proposée ci-dessus, on obtient : 3 Eyi(xj)N.r(xi,yi(xJ))=q3_N()), le seul terme non nul dans la somme i=0 qui forme le membre de gauche pour chaque équation étant celui impliquant P3 (c'est-à-dire celui pour lequel k+N=3). On obtient ainsi, pour chaque agrégat, une expression particulièrement simple des valeurs qoO),..., q3O) en fonction des composantes du mot reçu, qui peut être résumée dans l'expression matricielle suivante : q3(i) 1 1 1 q2(.1) Y0(xJ ) Y1(x;) y2(xi) ql(J) y02(x1) y12(x1) y22(x1) q0(J)_ Y0 3(x1) Y13(xi) Y23(x1) Y33 (xj) On va à présent décrire un second exemple d'application numérique de l'invention dans le cas d'une courbe fibrée d'équation Y8+Y4+Y2+Y+X17=0 sur F256 (c'est-à-dire avec q=28). En termes de polynômes n-1 symétriques Sm = YilYi2"'Yim i, on a il=0 i l P2 = S12 P3 = S13 +S1S2 +S3 P3 = 513 +S1S2 +S3 P4=514 P5 = S 15 +S 1352 +S 12S3 +S 1 S22 +S 1 S4 +S2S3 +S5 P6 = S16 +S12S22 +032 P7=S 17+51552+S 1253+S 1354+S 12S2S3+S 1255+S 1 S23+S 1 S32+S 1 S6+S22S3+S2S5+ S3S4+S7 En remplaçant les Sm par leur valeur déterminée ci-dessus du fait du polynôme Fo utilisé, on obtient : P1 = P2 = P3 = P4 = P5 = P6 = 0 et P7 = 1. Par ailleurs, P _ 1 yi = 8.y1 est ici aussi nul du fait que le corps F256 i=0 est de caractéristique 2. Comme dans l'exemple précédent, dans chaque agrégat référencé par une première coordonnée commune xi, le système : 7 r(xj,y0(x;)) = yo(xj)kqk(J) k=0 7 r(xj,yl(xj)) = Eyl (xj)kgk(~) k=0 .7 r(x j , y7 (x j )) = 11)7 (xi )k qk (J) k=0 se simplifie donc, en multipliant la (i+1)ème ligne par yi(xj)N par et en sommant les 5 lignes, et ce pour N variant de 0 à 7, en : 7 yi(xj)0•r(xj,yi(xj)) =q7(J) i=0 7 yi(xj)1 •r(xj,yi(xj)) = q6(j) seuls demeurant dans le membre de droite les termes où apparaît 7 P7 =1yi(xi)7• i=0 On obtient donc très facilement à partir des composantes r(xj,yi(xj)) du 10 mot reçu, le système étant alors simplifié a priori, les composantes q;(j) des mots de code à décoder selon un code de Reed-Solomon. On présente maintenant en tant que troisième exemple d'application numérique de l'invention le cas d'une quartique de Klein d'équation Y3+X3Y+X=0 sur F8 (c'est-à-dire avec q=23). 15 L'équation de la quartique de Klein possède 24 solutions dans F8 x F8. On considère ici le code de géométrie algébrique dont le support (c'est-à-dire l'ensemble de localisation) comprend toutes les solutions l'équation ci-dessus (24 points), exceptées celles dont la première composante est nulle (x = 0). Le support du code est donc constitué de 21 points : 20 (w ,w1),(w ,w2),(w ,w4), (w1,w ),(w1,w2),(w1,w6), (w3 , w3 ), (w3, w2 ), (w3, w5 ), i=0 7 1 yi (xi) 7 •r(x j , y, (x j )) = q0(j) i=0 (w2, w ), (w2, w4 ), (w2, w5 ) (w6,w3),(w6,w6),(w6,w4), (w4,w ),(w4,w1),(w4,w3), (w5,w1), (w5,w6), (w5,w5), où w permet de générer F8 , c'est-à-dire d'écrire F8 sous la forme : {0} U {wi} 0 Comme précédemment, F8 étant de caractéristique 2, les formules donnant les sommes des puissances des racines sont : P1 =S1 =0; P2=S12 =0; P3 = 013 +S1S2 +S3 = X. Dans chaque agrégat, la simplification du système s'opère donc comme dans les exemples précédents : pour N allant de 0 à 2, les lignes après a-1 a-1 multiplication et sommation (E yi (xi )N .r(xi , yi (xi )) _ E Pk+N qk (J)) donnent : i=0 k=0 E yi (x,) 0 .r(xj ,y ,(x1 )) = PO .q0 (j) i=0 2 yi (xi).r(xi , yi (xi = P3 .q2 (.%) , c'est-à-dire : i=0 2 .yi (x j) 2 •r(x j , .yi (x j )) = P3 'g1 (j) i=0 2 q0 (.%) = E yi(x,)0•r(x,,yi (x,)) i=0 2 q2 (J) = E yi (x~).r(xi , yi (xj )) xi i=0 2 q1(J) = 1 yi(x,)2•r(x,,yi(x,)) x~ i=0 On remarque que l'utilisation des sommes P,,, des puissances des racines dans la simplification est rendue possible par le fait que, pour chaque agrégat, c'est-à-dire à x, fixe, toutes les solutions de l'équation F (x;, Y) = 0 correspondent à un point de l'ensemble de localisation. L'expression des q,(,) sous forme matricielle est donc : 16 qo(J) 1 1 1 r(x; , yo (x; )) yo(xi) YI(xi) y2(xi) q2(J) x~ xi x~ r(xi , y, (xi )) qi (j) yo2(x1) y2(x)) y22(xi) r(x; , y2 (x; )) xi xi xi Le schéma synoptique de la figure 3 représente un appareil de lecture 5 de signaux numériques codés 70incorporant le décodeur 10. Cet appareil 70 comprend un clavier 711, un écran 709, un destinataire d'informations externe 109, un lecteur de données 105 et un démodulateur 106, conjointement reliés à des ports d'entrée/sortie 703 du décodeur 10 qui est réalisé ici sous la forme d'une unité logique. 10 Le décodeur 10 comporte, reliés entre eux par un bus d'adresses et de données 702 : - une unité centrale de traitement 700, -une mémoire vive (RAM) 704, - une mémoire morte (ROM) 705, et 15 lesdits ports d'entrée/sortie 703. Chacun des éléments illustrés en figure 3 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de stockage de masse et, plus généralement, des systèmes de traitement de l'information. Ces éléments connus ne sont donc pas décrits ici. On observe, cependant, que : 20 - le destinataire d'informations 109 pourrait être, par exemple, un périphérique d'interface, un afficheur, un modulateur, une mémoire externe ou un autre système de traitement de l'information (non représenté), et pourrait être adapté à recevoir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia notamment de type IP ou ATM, 25 sous forme de séquences de données binaires, - le lecteur 105 est adapté à lire des données enregistrées sur un support tel qu'un disque magnétique ou magnéto-optique. La mémoire vive 704 conserve des données, des variables et des résultats intermédiaires de traitement, dans des registres de mémoire portant, dans la description, les mêmes noms que les données dont ils conservent les valeurs. La mémoire vive 704 comporte notamment les registres suivants : - des registres "mots reçus", dans lesquels sont conservés les mots reçus, - un registre "symboles_estimés", dans lequel sont conservés les symboles issus d'un mot reçu en cours de correction, notamment les valeurs des q,O) et - un registre "symboles_information", dans lequel sont conservés les symboles résultant de la suppression de la redondance. La mémoire morte 705 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils conservent : -le programme de fonctionnement de l'unité centrale de traitement 700, dans un registre "programme", - la longueur des mots de code dans un registre "n", - le cardinal du corps de Galois Fq servant d'alphabet pour le code utilisé, dans un registre "q", - le nombre de symboles d'information servant à construire un mot de code, dans un registre "k", et - une table mémorisant les coordonnées des points de l'ensemble de localisation. On a décrit ci-dessus à titre d'exemple une application de l'invention au stockage de masse des données, mais il est clair que les procédés selon l'invention peuvent tout aussi bien être mis en oeuvre au sein d'un réseau de télécommunications, auquel cas l'unité 105 par exemple pourrait être un récepteur adapté à mettre en oeuvre un protocole de transmission de données par paquets sur un canal hertzien. REVENDICATIONS 1. Procédé de décodage d'un mot reçu r codé selon un code de géométrie algébrique construit sur un ensemble de localisation partitionné en %3 agrégats de a points ayant une première composante commune, chacune des composantes r(xi,y,(xf)) du mot reçu étant associée à un point (xi,y;(xi)) de l'ensemble de localisation, caractérisé par les étapes suivantes : -pour tout agrégat de composante commune détermination de a valeurs qo(j),..., ga_1(j) par résolution d'un système d'équations comprenant, pour a-1 tout point (x,,y,(x ) de l'agrégat, l'équation : r(xi, y, (x1)) = E y,(xj)k qk (j) ; k=0 - pour i allant de 1 à a, obtention d'au moins un vecteur [-q',( j) ](01 2. Procédé de décodage selon la revendication 1, caractérisé en ce que, l'ensemble de localisation étant défini par un polynôme à deux variables Fo ,, Y) qui s'annule en chacun de ses points et dans lequel un facteur est associé à chaque puissance de la seconde variable Y, l'étape de détermination des a valeurs qo(j) ,..., qa_,(j) comprend les étapes suivantes : - multiplication de l'équation associée à chaque point de l'agrégat a-1 (r(xi, yi (xj)) _ 1 y,(xj)k qk (j)) par une puissance donnée (y,(x;)N) de la seconde k=0 composante dudit point ; - sommation des a équations obtenues à l'étape de multiplication ; - remplacement, dans l'équation obtenue à l'étape de sommation, d'au moins une somme des puissances des valeurs des secondes composantes des a points de l'agrégat (Iy,(xj)k ) par son expression au moyen desdits facteurs. i=1 3. Procédé de décodage selon la revendication 1 ou 2, caractérisé en ce que l'étape d'obtention d'au moins un vecteur [q;(j)](o 4. Dispositif de décodage d'un mot reçu r codé selon un code de géométrie algébrique construit sur un ensemble de localisation partitionné en /3 agrégats de a points ayant une première composante commune, chacune des composantes r(x;,y,(x)) du mot reçu étant associée à un point (xi,y,(x;)) de l'ensemble de localisation, caractérisé par : - des moyens pour déterminer, pour tout agrégat de composante commune a valeurs qo(j),..., ga_1(j) par résolution d'un système d'équations comprenant, pour tout point (x;,y,(x;)) de l'agrégat, l'équation : a-I r(x;,y,(x;)) = E y~(x;)k q, Ci) k=0 - des moyens pour obtenir, pour i allant de 1 à a, au moins un vecteur 20 [q;(j)](o1 5. Dispositif de décodage selon la revendication 4, caractérisé en ce que, l'ensemble de localisation étant défini par un polynôme à deux variables Fo(X,Y) qui s'annule en chacun de ses points et dans lequel un facteur est associé à chaque puissance de la seconde variable Y, les moyens pour déterminer les a valeurs qo(j) ,..., qa_, (j) comprennent :- des moyens pour multiplier l'équation associée à chaque point de a-1 l'agrégat (r(xi, y, (xi)) _ E y; (xi)k qk (j)) par une puissance donnée (y,(x)N) de la k=0 seconde composante dudit point ; - des moyens de sommation des a équations obtenues à l'étape de 5 multiplication ; - des moyens pour remplacer, dans l'équation obtenue par les moyens de sommation, au moins une somme des puissances des valeurs des secondes a composantes des points de l'agrégat (1 y; (xi)k) par son expression au moyen r=1 desdits facteurs. 10 6. Dispositif de décodage selon la revendication 4 ou 5, caractérisé en ce que les moyens pour obtenir au moins un vecteur [(j) ](ow) comprennent : -des moyens pour déterminer au moins un polynôme Qi tel que le vecteur [Q,(x)](o1 7. Décodeur comprenant au moins un dispositif de décodage selon l'une des revendications 4 à 6, et au moins une unité de suppression de la 20 redondance, 8. Appareil de réception de signaux numériques codés comprenant un décodeur selon la revendication 7 et des moyens pour démoduler lesdits signaux numériques codés. 9. Système informatique comprenant un décodeur selon la revendication 7, au moins un disque dur et au moins un moyen de lecture de ce disque dur. 10. Moyen de stockage de données inamovible comportant des 30 instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon l'une des revendications 1 à 3. 255 11. Moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon l'une des revendications 1 à 3. 12. Programme d'ordinateur, contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre un procédé selon l'une des revendications 1 à 3. 10