FR2878096A1 - Erroneous aggregates locating method, involves obtaining polynomial if Grobner base contains only one component and calculating another polynomial based on previous polynomial and large common divisor if Grobner base contains two components - Google Patents

Erroneous aggregates locating method, involves obtaining polynomial if Grobner base contains only one component and calculating another polynomial based on previous polynomial and large common divisor if Grobner base contains two components Download PDF

Info

Publication number
FR2878096A1
FR2878096A1 FR0412140A FR0412140A FR2878096A1 FR 2878096 A1 FR2878096 A1 FR 2878096A1 FR 0412140 A FR0412140 A FR 0412140A FR 0412140 A FR0412140 A FR 0412140A FR 2878096 A1 FR2878096 A1 FR 2878096A1
Authority
FR
France
Prior art keywords
polynomial
erroneous
aggregates
grobner
equal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0412140A
Other languages
French (fr)
Other versions
FR2878096B1 (en
Inventor
Philippe Piret
Bars Philippe Le
Frederic Lehobey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0412140A priority Critical patent/FR2878096B1/en
Publication of FR2878096A1 publication Critical patent/FR2878096A1/en
Application granted granted Critical
Publication of FR2878096B1 publication Critical patent/FR2878096B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/132Algebraic geometric codes, e.g. Goppa codes

Landscapes

  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The method involves obtaining a polynomial if a Grobner base contains only 1 component. A derivative of the polynomial is calculated, a large common divisor of the derivative and the polynomial is calculated and another polynomial is calculated based on previous polynomial and the divisor, if the base contains 2 components. Values tagging erroneous aggregates of a received word are obtained by calculating roots of the latter polynomial. Independent claims are also included for the following: (A) a coded digital signal reception apparatus comprising a decoder with a device for locating erroneous aggregates of components of a received word (B) a removable data storage unit having instructions for executing steps of an erroneous aggregates locating method (C) a computer program comprising instructions permitting a data processing device to implement erroneous aggregates locating method.

Description

A(X)=11(X-x,,) , v=1A (X) = 11 (X-x,), v = 1

La présente invention concerne les systèmes de communication ou d'enregistrement de données dans lesquels, afin d'améliorer la fidélité de la transmission ou du stockage, on soumet les données à un codage de canal. Elle concerne plus particulièrement un procédé de localisation d'erreurs ainsi que les dispositifs et appareils destinés à mettre en oeuvre ce procédé.  The present invention relates to communication or data recording systems in which, in order to improve the fidelity of transmission or storage, the data is subjected to channel coding. It relates more particularly to an error locating method as well as devices and apparatuses for implementing this method.

On rappelle que le codage de canal dit en blocs consiste à transmettre à un récepteur (ou à enregistrer sur un support de données) des mots de code qui sont formés en introduisant une certaine redondance dans les données à transmettre. Plus précisément, on transmet au moyen de chaque mot de code l'information initialement contenue dans un nombre prédéterminé k de symboles, dits symboles d'information , prélevés dans un alphabet de taille finie q; on calcule à partir de ces k symboles d'information un nombre n > k de symboles appartenant à cet alphabet, qui constituent les composantes des mots de code: v=(vi,v2,  It is recalled that the block channel coding is to transmit to a receiver (or to record on a data medium) code words that are formed by introducing some redundancy in the data to be transmitted. More precisely, the information initially contained in a predetermined number k of symbols, called information symbols, taken from a finite-size alphabet q is transmitted by means of each code word; from these k information symbols are computed a number n> k of symbols belonging to this alphabet, which constitute the components of the code words: v = (vi, v2,

.,vn). L'ensemble des mots de code obtenus quand chaque symbole d'information prend une valeur quelconque dans l'alphabet, constitue une sorte de dictionnaire appelé code de dimension k et de longueur n...DTD: Notamment, lorsque la taille q de l'alphabet est prise égale à une puissance d'un nombre premier, on peut donner à cet alphabet une structure de 20 corps ( field en anglais), dit corps de Galois ( Galois field en anglais), noté Fq. Par exemple, pour q = 2, Fq est un alphabet binaire, et pour q = 28 = 256, Fq est un alphabet d'octets ( bytes en anglais).  ., Vn). The set of code words obtained when each information symbol takes any value in the alphabet, constitutes a kind of dictionary called code of dimension k and length n ... DTD: In particular, when the size q of the 'alphabet is taken equal to a power of a prime number, we can give this alphabet a structure of 20 bodies (field in English), called Galois field (Galois field in English), noted Fq. For example, for q = 2, Fq is a binary alphabet, and for q = 28 = 256, Fq is an alphabet of bytes.

On appelle distance de Hamming entre deux mots de même longueur le nombre d'indices pour lesquels la composante du premier mot est différente de la composante du deuxième mot. Pour un code donné, on appelle distance minimale d la plus petite distance de Hamming entre deux mots différents quelconques appartenant au code; c'est un paramètre important du code.  A Hamming distance between two words of the same length is the number of indices for which the component of the first word is different from the component of the second word. For a given code, the minimum distance d of the smallest Hamming distance between any two different words belonging to the code is called; it is an important parameter of the code.

Certains codes, appelés codes linéaires , sont tels que toute combinaison linéaire de mots de code (avec les coefficients pris dans l'alphabet) est encore un mot de code. Ces codes peuvent, de façon commode, 2878096 2 être associés à une matrice H de dimension (n - k)x n, dite matrice de parité : un mot v de longueur n donné est un mot de code si, et seulement si, il vérifie la relation: H É vT = 0 (où l'exposant T indique la transposition) ; on dit alors que le code est orthogonal à cette matrice H. Il y a erreur de transmission si la différence e entre un mot reçu r et le mot de code v correspondant envoyé par l'émetteur, est non- nulle. On dit que les erreurs de transmission sont causées par le bruit du canal . Pour détecter d'éventuelles erreurs de transmission et si possible les corriger, on met en oeuvre au niveau du récepteur un procédé de décodage qui exploite judicieusement la redondance mentionnée ci- dessus.  Some codes, called linear codes, are such that any linear combination of codewords (with the coefficients taken from the alphabet) is still a codeword. These codes can, conveniently, be associated with a matrix H of dimension (n - k) xn, called the parity matrix: a word v of given length n is a codeword if, and only if, it checks the relation: H EVT = 0 (where the exponent T indicates the transposition); it is said that the code is orthogonal to this matrix H. There is a transmission error if the difference e between a received word r and the corresponding code word v sent by the issuer is non-zero. It is said that the transmission errors are caused by the noise of the channel. In order to detect possible transmission errors and, if possible, to correct them, a decoding method is implemented at the receiver which makes judicious use of the redundancy mentioned above.

Plus précisément, le décodage se fait en deux étapes principales.  More precisely, the decoding is done in two main stages.

La première étape consiste à associer au mot reçu un mot de code associé v. Pour ce faire, le décodeur calcule d'abord le vecteur de syndromes d'erreurs s = H É rT = H É eT de longueur (n - k) (dans le cadre de la présente invention, on ne fait pas de différence entre le terme mot et le terme vecteur ). Si les syndromes sont tous nuls, on supposera qu'il n'y a pas eu d'erreur de transmission, et le mot de code associé sera alors simplement pris égal au mot reçu. Si ce n'est pas le cas, on en déduit que le mot reçu est erroné, et l'on procède alors à des calculs destinés à estimer la valeur de l'erreur e; autrement dit, ces calculs fournissent une valeur estimée ê de l'erreur telle que le mot (r e) soit un mot de code, qui constituera alors le mot de code associé V. Habituellement, cette première étape du décodage est décomposée en deux sous-étapes distinctes: une première sous-étape, dite de localisation d'erreurs , au cours de laquelle on détermine quelles sont les composantes du mot reçu dont la valeur est erronée, et une seconde sous-étape, dite de correction d'erreurs , au cours de laquelle on calcule une estimation de l'erreur de transmission affectant ces composantes.  The first step is to associate the received word with an associated codeword v. To do this, the decoder first calculates the vector of error syndromes s = H E rT = H E eT of length (n - k) (in the context of the present invention, there is no difference between the term word and the term vector). If the syndromes are all null, it will be assumed that there has been no transmission error, and the associated codeword will then simply be taken as equal to the received word. If this is not the case, it is deduced that the received word is erroneous, and one then proceeds to calculations intended to estimate the value of the error e; in other words, these calculations provide an estimated value de of the error such that the word (re) is a code word, which will then constitute the associated code word V. Usually, this first decoding step is decomposed into two sub-paragraphs. distinct steps: a first substep, called error location, during which it is determined which are the components of the received word whose value is erroneous, and a second substep, called error correction, at during which an estimate of the transmission error affecting these components is calculated.

La seconde étape consiste simplement à inverser le procédé de codage. Si le mot reçu était correct ou si l'on est parvenu, lors de la première étape, à y corriger toutes les erreurs de transmission, cette seconde étape permet évidemment de retrouver les k symboles d'information initiaux (avant codage) correspondant à ce mot reçu.  The second step is simply to reverse the coding process. If the received word was correct or if it was possible, during the first step, to correct all the transmission errors, this second step obviously allows to find the k initial information symbols (before coding) corresponding to this received word.

On notera que dans le cadre de la présente invention, on parlera souvent, pour faire court, de décodage pour désigner uniquement la première de ces étapes, étant entendu que l'homme du métier est capable sans difficulté de mettre en oeuvre la seconde étape.  Note that in the context of the present invention, we will often talk, for short, decoding to designate only the first of these steps, it being understood that the skilled person is able without difficulty to implement the second step.

On assigne habituellement comme but au décodage d'associer au mot reçu le mot de code situé à la distance de Hamming la plus courte de ce mot reçu. Raisonnablement, on va essayer d'identifier la position des erreurs éventuelles dans un mot reçu, et de fournir le symbole de remplacement correct (c'est-à-dire, identique à celui envoyé par l'émetteur) pour chacune de ces positions, chaque fois que le nombre de positions erronées est au plus égal à INT [(d -1) /2] (où INT désigne la partie entière) pour un code de distance minimale d. Pour certaines configurations d'erreurs, on peut même parfois faire mieux. Toutefois, il n'est pas toujours aisé de mettre au point un algorithme de décodage atteignant cette performance. On notera également que, lorsque l'algorithme choisi parvient à proposer une correction pour le mot reçu, cette correction est d'autant plus fiable (du moins, pour la plupart des canaux de transmission) qu'elle concerne un plus petit nombre de positions.  The purpose of the decoding is usually to associate the received word with the codeword at the shortest Hamming distance of that received word. Reasonably, we will try to identify the position of possible errors in a received word, and provide the correct replacement symbol (that is to say, identical to that sent by the issuer) for each of these positions, whenever the number of erroneous positions is at most equal to INT [(d -1) / 2] (where INT designates the integer part) for a minimum distance code d. For some error configurations, we can sometimes do better. However, it is not always easy to develop a decoding algorithm that achieves this performance. It will also be noted that, when the chosen algorithm manages to propose a correction for the received word, this correction is all the more reliable (at least, for most transmission channels) that it concerns a smaller number of positions. .

Parmi les codes connus, on peut citer les codes dits de Reed-Solomon , qui sont réputés pour leur efficacité. Ce sont des codes linéaires dont la distance minimale d est égale à (n k + 1). La matrice de parité H du code de Reed-Solomon de dimension k et de longueur n (où n est inférieur ou égal à (q -1)) est une matrice à (n k) lignes et à n colonnes, qui a la structure d'une matrice de Vandermonde. Cette matrice de parité H peut être définie par exemple en prenant H = a(1-1) (1 < i s n k, 1 < j < n) , où a est une racine n ème de l'unité dans Fq; on peut alors étiqueter la composante v1, où 1 j s n, de tout mot de code v = (vl,v2, ...,vn) au moyen de l'élément a(1-1) de Fq; c'est pourquoi un ensemble tel que (1,a, a2,...,an-1) est appelé ensemble de localisation ( locating set en anglais) du code de Reed- Solomon.  Known codes include the so-called Reed-Solomon codes, which are known for their effectiveness. These are linear codes whose minimum distance d is equal to (n k + 1). The parity matrix H of the Reed-Solomon code of dimension k and of length n (where n is less than or equal to (q -1)) is a matrix with (nk) rows and n columns, which has the structure of a matrix of Vandermonde. This parity matrix H can be defined for example by taking H = a (1-1) (1 <i s n k, 1 <j <n), where a is a root n th of the unit in Fq; we can then label the component v1, where 1 j s n, of any code word v = (v1, v2, ..., vn) by means of the element a (1-1) of Fq; this is why a set such that (1, a, a2, ..., an-1) is called the locating set in English of the Reed-Solomon code.

2878096 4 Comme mentionné ci-dessus, l'étape d'un procédé de décodage au cours de laquelle on calcule un mot de code associé au mot reçu se décompose habituellement en deux sous-étapes: la première sous-étape, dite de localisation d'erreurs , consiste à identifier dans le mot reçu les éventuelles composantes dont la valeur est erronée, et la seconde sousétape consiste à calculer ensuite la valeur corrigée de ces composantes erronées.  As mentioned above, the step of a decoding method in which a code word associated with the received word is computed usually breaks down into two sub-steps: the first substep, called the localization step. errors, consists in identifying in the received word any components whose value is erroneous, and the second substep consists in calculating then the corrected value of these erroneous components.

Pour le décodage des codes de Reed-Solomon, en ce qui concerne, d'une part, la localisation d'erreurs, on utilise habituellement l'algorithme dit de Berlekamp-Massey : on construit d'abord une matrice S, appelée matrice des syndromes , dont chaque élément est une certaine composante du vecteur de syndromes d'erreurs s = H É rT = H É eT; on cherche ensuite un vecteur A tel que A É S = 0, puis l'on forme un polynôme de localisation d'erreurs A(Z) dont les coefficients sont des composantes du vecteur A; les inverses des racines de ce polynôme A(Z) sont alors, parmi les. éléments w, (où i =1,...,n) de l'ensemble de localisation, ceux qui étiquettent les composantes erronées du mot reçu r. En ce qui concerne, d'autre part, la correction d'erreurs, on utilise habituellement l'algorithme dit de Forney . Pour plus de détails sur les codes de Reed-Solomon, et en particulier les algorithmes de Berlekamp-Massey et de Forney, on pourra se référer par exemple à l'ouvrage de R.E. Blahut intitulé Theory and practice of errorcontrol codes , Addison-Wesley, Reading, Mass.,1983.  For the decoding of the Reed-Solomon codes, with regard to, on the one hand, the location of errors, the so-called Berlekamp-Massey algorithm is usually used: a matrix S, called the matrix of syndromes, each element of which is a certain component of the vector of error syndromes s = H E rT = H E eT; we then look for a vector A such that A S S = 0, then we form an error localization polynomial A (Z) whose coefficients are components of the vector A; the inverses of the roots of this polynomial A (Z) are then among the. elements w, (where i = 1, ..., n) of the location set, those that label the erroneous components of the received word r. With regard to, on the other hand, error correction, the so-called Forney algorithm is usually used. For more details on the Reed-Solomon codes, and in particular the Berlekamp-Massey and Forney algorithms, reference may be made, for example, to RE Blahut's Theory and practice of errorcontrol codes, Addison-Wesley, Reading, Mass., 1983.

Dans les supports d'information modernes, par exemple dans les disques durs d'ordinateurs, les CD ( compact discs ) ou encore les DVD ( digital video discs ), on cherche à accroître la densité d'information. Quand un tel support est affecté par un défaut physique tel qu'une éraflure, un nombre important de symboles d'information peuvent être rendus illisibles. On peut toutefois remédier à ce problème en utilisant un code de très grande longueur.  In modern information media, such as computer hard drives, CDs (compact discs) or DVDs (digital video discs), there is an attempt to increase the density of information. When such media is affected by a physical defect such as a scratch, a large number of information symbols may be rendered illegible. However, this problem can be remedied by using a very long code.

Or, comme indiqué ci-dessus, la longueur n des mots dans les codes de Reed- Solomon est inférieure à la taille q de l'alphabet des symboles. Par conséquent, si l'on souhaite disposer d'un code de Reed-Solomon ayant des mots de code de grande longueur, on doit envisager de grandes valeurs de q, ce qui conduit à des mises en oeuvre coûteuses au niveau des calculs et de la mémorisation. De plus, de grandes valeurs de q sont parfois inadaptées à l'application technique envisagée. C'est pourquoi l'on a cherché à construire des codes offrant de manière naturelle une plus grande longueur de mots que les codes de Reed-Solomon sans nécessiter pour autant un alphabet de plus grande taille.  However, as indicated above, the length n of the words in the Reed-Solomon codes is less than the size q of the symbol alphabet. Therefore, if one wishes to have a Reed-Solomon code having long code words, one must consider large values of q, which leads to implementations which are expensive in terms of calculations and memorization. In addition, large values of q are sometimes unsuitable for the intended technical application. This is why we have tried to build codes that naturally offer a greater length of words than Reed-Solomon codes without requiring a larger alphabet.

On a notamment proposé récemment des codes dits codes de géométrie algébrique ou codes de Goppa géométriques (voir par exemple Algebraic Geometric Codes , par J.H. van Lint, dans Coding Theory and Design Theory , IMA Volumes Math. Appl., vol. 21, pages 137 à 162, Springer-Verlag, Berlin, 1990). Ces codes sont construits à partir d'un ensemble de n couples (x,y) distincts de symboles appartenant à un corps de Galois Fq choisi; cet ensemble de couples constitue l'ensemble de localisation du code de géométrie algébrique. De manière générale, il existe une équation algébrique à deux inconnues X et Y telle que les couples (x,y) de cet ensemble de localisation soient tous des solutions de cette équation algébrique. Les valeurs de x et de y de ces couples peuvent être considérées comme les coordonnées de points Pfl (où /3 =1,...,n) formant une courbe algébrique .  Recently, we have proposed codes called algebraic geometry codes or geometric Goppa codes (see, for example, Algebraic Geometric Codes, by JH van Lint, in Coding Theory and Design Theory, IMA Volumes Math Appl., Vol 21, p 137 at 162, Springer-Verlag, Berlin, 1990). These codes are constructed from a set of n pairs (x, y) distinct from symbols belonging to a selected Galois field Fq; this set of couples constitutes the set of location of the algebraic geometry code. In general, there exists an algebraic equation with two unknowns X and Y such that the pairs (x, y) of this set of localization are all solutions of this algebraic equation. The values of x and y of these pairs can be considered as the coordinates of points Pfl (where / 3 = 1, ..., n) forming an algebraic curve.

Un paramètre important d'une telle courbe est son genre g.  An important parameter of such a curve is its genus g.

Dans le cas particulier où la courbe est une simple droite (le genre g est alors nul), le code de géométrie algébrique se réduit à un code de Reed-Solomon. Pour q et g donnés, certaines courbes algébriques, dites maximales , permettent d'atteindre une longueur égale à (q+2gJ), qui peut être très élevée; par exemple, avec une taille d'alphàbet égale à 256 et un genre égal à 120, on obtient des mots de code de longueur 4096.  In the particular case where the curve is a simple straight line (the genus g is then zero), the algebraic geometry code is reduced to a Reed-Solomon code. For q and g given, some algebraic curves, called maximum, allow to reach a length equal to (q + 2gJ), which can be very high; for example, with a size of alphbet equal to 256 and a genus equal to 120, we obtain code words of length 4096.

Parmi tous les codes de géométrie algébrique, on considère habituellement ceux qui sont définis sur une courbe algébrique représentée par une équation F(X,Y) = 0, avec: F(X,Y) =Xb + cya +1cUY'X, où c 0 et les ci/ sont des éléments de Fq, a et b sont des entiers strictement positifs et premiers entre eux, et où la somme ne porte que sur les entiers i et j qui satisfont ai + bj < ab. Une équation de cette forme sera dite de type C(a,b) , et les codes définis sur une courbe de type C(a,b) seront dits codes de type C(a,b) . Par ailleurs, dans la suite du présent texte, et sans perte de généralité (vu que les noms X et Y des inconnues peuvent être échangés), on supposera que a < b.  Among all the codes of algebraic geometry, one usually considers those which are defined on an algebraic curve represented by an equation F (X, Y) = 0, with: F (X, Y) = Xb + cya + 1cUY'X, where c 0 and the ci / are elements of Fq, a and b are strictly positive integers and prime between them, and where the sum relates only to the integers i and j which satisfy ai + bj <ab. An equation of this form will be called type C (a, b), and the codes defined on a curve of type C (a, b) will be called codes of type C (a, b). Moreover, in the remainder of this text, and without loss of generality (since the names X and Y of the unknowns can be exchanged), it will be supposed that a <b.

A tout monôme de la forme Y'X1, où i et j sont des entiers positifs 10 ou nuls, on associe classiquement un poids , qui est égal par définition à (ai + bj). On peut montrer que les monômes ha = YiX 1 de poids pa m, où a = 1,..., n k, et j est un entier compris entre 0 et (a -1) , constituent une base de l'espace vectoriel L(m P.) des polynômes en X et Y à coefficients dans Fq dont les seuls pôles sont situés à l'infini et sont d'ordre inférieur ou égal à m, où 0< m < n. On peut également montrer que cet espace vectoriel est de dimension supérieure ou égale à (m g +1) (égale si m > 2g 2).  At any monomer of the form Y'X1, where i and j are positive integers 10 or zero, we classically associate a weight, which is equal by definition to (ai + bj). We can show that the monomials ha = YiX 1 of weight pa m, where a = 1, ..., nk, and j is an integer between 0 and (a -1), constitute a base of the vector space L (m P.) polynomials in X and Y with coefficients in Fq whose only poles are situated at infinity and are of order less than or equal to m, where 0 <m <n. We can also show that this vector space is of dimension greater than or equal to (m g + 1) (equal if m> 2g 2).

Pour tout code de type C(a,b) , on définit classiquement une matrice de parité de la manière suivante: l'élément en ligne a et colonne fi de la matrice de parité est égal au monôme ha évalué au point Pfl (où, rappelons-le, 20 f3=1,...,n) de la courbe algébrique. Chaque point Pfl sert alors à identifier la ème composante de tout mot de code. Un code ayant une telle matrice de parité est appelé code à un point car sa matrice de parité est obtenue en évaluant (en les n points P,g) des fonctions (les monômes ha) qui n'ont de pôles qu'en un seul point, à savoir le point à l'infini.  For any code of type C (a, b), a parity matrix is conventionally defined in the following manner: the inline element a and column fi of the parity matrix is equal to the monome ha evaluated at the point Pfl (where, remember, 20 f3 = 1, ..., n) of the algebraic curve. Each point Pfl then serves to identify the e component of any code word. A code having such a parity matrix is called a one-point code because its parity matrix is obtained by evaluating (in the n points P, g) functions (the monomials ha) which have poles only in one point, namely the point to infinity.

Dans le cadre de la présente invention, on s'intéressera particulièrement à des codes de type C(a,b) particuliers: il s'agit des codes dits hyperelliptiques , qui sont définis sur une courbe algébrique représentée par l'équation F(X,Y) = 0, avec: F(X,Y)=Y2+Yu1(X)+uo(X) , (1) où uo (X) est un polynôme sur Fq de degré exactement égal à (2g + 1) , et u1(X) est un polynôme non-nul sur Fq de degré inférieur ou égal à g. On peut montrer qu'une telle courbe algébrique a effectivement un genre égal à g.  In the context of the present invention, particular attention will be paid to specific C (a, b) type codes: these are so-called hyperelliptic codes, which are defined on an algebraic curve represented by the equation F (X , Y) = 0, with: F (X, Y) = Y2 + Yu1 (X) + uo (X), (1) where uo (X) is a polynomial over Fq of degree exactly equal to (2g + 1) , and u1 (X) is a non-zero polynomial on Fq of degree less than or equal to g. We can show that such an algebraic curve actually has a genus equal to g.

Comme tous les codes, les codes de géométrie algébrique peuvent être modifiés et/ou raccourcis . On dit qu'un code donné Cmod est une version modifiée du code C s'il existe une matrice diagonale carrée non-singulière A telle que chaque mot de Cmod est égal à v É A avec v dans C. On dit qu'un code donné est une version raccourcie du code C s'il ne comprend que les mots de C dont, pour un nombre R de positions prédéterminées, les composantes sont toutes nulles: ces positions étant connues du récepteur, on peut se dispenser de les transmettre, de sorte que le code raccourci est de longueur (n - R). En particulier, il peut être utile en vue de la facilité de décodage de raccourcir un code de géométrie algébrique en supprimant de l'ensemble de localisation, le cas échéant, un point, ou plusieurs points, dont la coordonnée x est nulle.  Like all codes, algebraic geometry codes can be modified and / or shortened. We say that a given code Cmod is a modified version of the code C if there exists a non-singular square diagonal matrix A such that each word of Cmod is equal to v É A with v in C. It is said that a code given is a shortened version of the code C if it understands only the words of C of which, for a number R of predetermined positions, the components are all null: these positions being known of the receiver, one can dispense with transmitting them, of so that the shortened code is of length (n - R). In particular, it may be useful for the decoding facility to shorten an algebraic geometry code by removing from the location set, if any, a point, or several points, whose x coordinate is zero.

Les codes de géométrie algébrique sont avantageux quant à leur distance minimale d, qui est au moins égale à (n - k + 1- g), et, comme on l'a dit, quant à la longueur des mots de code, mais ils présentent l'inconvénient de requérir des algorithmes de décodage assez complexes, et donc assez coûteux en termes d'équipements (logiciel et/ou matériel) et de temps de traitement.  The algebraic geometry codes are advantageous as to their minimum distance d, which is at least equal to (n - k + 1- g), and, as said, as to the length of the codewords, but they have the disadvantage of requiring quite complex decoding algorithms, and therefore quite expensive in terms of equipment (software and / or hardware) and processing time.

Cette complexité est en fait plus ou moins grande selon l'algorithme considéré, une plus grande complexité étant en principe le prix à payer pour accroître la capacité de correction d'erreurs du décodeur (voir par exemple l'article de Tom Hraholdt et Ruud Pellikaan intitulé On the Decoding of Algebraic-Geometric Codes , IEEE Trans. lnform. Theory, vol. 41 n 6, pages 1589 à 1614, novembre 1995). De manière générale, plus la courbe algébrique utilisée est de genre g élevé et plus les mots de code sont de grande longueur, mais aussi plus le décodage est complexe.  This complexity is in fact more or less great depending on the algorithm considered, a greater complexity being in principle the price to pay to increase the error-correcting capacity of the decoder (see for example the article by Tom Hraholdt and Ruud Pellikaan entitled On the Decoding of Algebraic-Geometric Codes, IEEE Trans.Inform.Theory, vol 41 No. 6, pages 1589 to 1614, November 1995). In general, the higher the algebraic curve used, the longer the codewords are, and the more complex the decoding.

On connaît divers algorithmes de localisation d'erreurs pour codes de géométrie algébrique (définis sur une courbe de genre non-nul).  Various error localization algorithms for algebraic geometry codes (defined on a non-zero genus curve) are known.

Un tel algorithme, appelé algorithme de base , a été proposé par A.N. Skorobogatov et S.G. Vlâdut dans l'article intitulé On the Decoding of Algebraic-Geometric Codes , IEEE Trans. lnform. Theory, vol. 36 n 5, pages 1051 à 1060, novembre 1990). On va décrire sommairement cet algorithme: a) on construit une matrice des syndromes S, de dimension (n k)x(n k), dont chaque coefficient Sv., où j est inférieur ou égal à une valeur frontière w(i) , est égal à une combinaison linéaire judicieusement choisie des éléments s, (v =1,2,...,n-k) du syndrome s, les coefficients Sv au-delà de la frontière restant indéterminés; b) on considère le système d'équations linéaires E lt Su =0, pour j =1,2,..., w() , i=1 où les inconnues li appartiennent au même alphabet de symboles que les éléments des mots de code, et où est un entier compris entre 1 et (n k) tel que le système admette une solution non-triviale (c'est-à-dire une solution où les coefficients li ne sont pas tous nuls), et l'on détermine les valeurs de ces coefficients li correspondant à la plus petite valeur possible de e, que l'on notera 2, et c) on calcule les zéros du polynôme de localisation d'erreurs 2 A(X,Y) = Eli hi(X,Y) i=I (où les monômes ht (X,Y) ont été définis ci-dessus) ; ces zéros comprennent tous les couples (x,y) étiquetant les composantes du mot reçu ayant souffert d'une erreur de transmission.  Such an algorithm, called the basic algorithm, has been proposed by A. N. Skorobogatov and S. G. Vladut in the article entitled On the Decoding of Algebraic-Geometric Codes, IEEE Trans. lnform. Theory, vol. 36, No. 5, pages 1051 to 1060, November 1990). We will briefly describe this algorithm: a) we build a matrix of syndromes S, of dimension (nk) x (nk), of which each coefficient Sv., Where j is less than or equal to a boundary value w (i), is equal to a judiciously chosen linear combination of the elements s, (v = 1,2, ..., nk) of the syndrome s, the coefficients Sv beyond the boundary remaining indeterminate; b) we consider the system of linear equations E lt Su = 0, for j = 1,2, ..., w (), i = 1 where the unknowns li belong to the same alphabet of symbols as the elements of the words of code, and where is an integer between 1 and (nk) such that the system has a non-trivial solution (i.e., a solution where the coefficients li are not all zero), and the values of these coefficients li corresponding to the smallest possible value of e, which will be noted 2, and c) the zeros of the error localization polynomial 2 A (X, Y) = Eli hi (X, Y) i = I (where the monomials ht (X, Y) have been defined above); these zeros include all pairs (x, y) labeling the components of the received word having suffered a transmission error.

Skorobogatov et Vlâdut ont également proposé, dans le même article cité ci-dessus, une version modifiée de l'algorithme de base , qui permet généralement de corriger un plus grand nombre d'erreurs que l'algorithme de base .  Skorobogatov and Vladut have also proposed, in the same article cited above, a modified version of the basic algorithm, which generally makes it possible to correct a larger number of errors than the basic algorithm.

On connaît également des algorithmes qui fonctionnent suivant un principe itératif: chaque nouvelle itération d'un tel algorithme fait appel à une composante supplémentaire du vecteur de syndromes d'erreurs s = H É rT.  There are also known algorithms that operate according to an iterative principle: each new iteration of such an algorithm makes use of an additional component of the error syndromes vector s = H ER.

Un exemple d'un tel algorithme de décodage itératif est divulgué dans l'article de M. Sakata et al. intitulé Generalized Berlekamp-Massey Decoding of Algebraic-Geometric Codes up to Half the Feng-Rao Bound (IEEE Trans. lnform. Theory, vol. 41, pages 1762 à 1768, novembre 1995). Cet algorithme peut être vu comme une généralisation de l'algorithme de Berlekamp-Massey aux codes de géométrie algébrique définis sur une courbe de genre non-nul.  An example of such an iterative decoding algorithm is disclosed in the article by M. Sakata et al. entitled Generalized Berlekamp-Massey Decoding of Algebraic-Geometric Codes to Feng-Rao Bound (IEEE Trans., Theory, vol 41, pages 1762-1768, November 1995). This algorithm can be seen as a generalization of the Berlekamp-Massey algorithm to the algebraic geometry codes defined on a non-zero genus curve.

Un autre exemple d'algorithme de décodage itératif pour codes de géométrie algébrique est divulgué dans l'article de M.E. O'Sullivan intitulé Decoding of Codes Defined by a Single Point on a Curve (IEEE Trans. lnform. Theory, vol. 41, pages 1709 à 1719).  Another example of an iterative decoding algorithm for algebraic geometry codes is disclosed in the article by ME O'Sullivan entitled Decoding of Codes Defined by a Single Point on a Curve (IEEE Trans. 1709 to 1719).

Pour tout mot reçu r donné, on peut déterminer des polynômes de localisation d'erreurs dont les zéros comprennent tous les couples (x, y) étiquetant les composantes erronées de ce mot reçu. L'ensemble des polynômes de localisation d'erreurs possède la structure d'un idéal appelé idéal de Grôbner (associé aux erreurs de transmission affectant ce mot).  For any received word r given, it is possible to determine error localization polynomials whose zeros comprise all the pairs (x, y) labeling the erroneous components of this received word. The set of error localization polynomials has the structure of an ideal called Grobner's ideal (associated with the transmission errors affecting this word).

On peut engendrer l'idéal de Grôbner au moyen d'un ensemble fini de f polynômes, où f < a, qui constitue une base de Grôbner de l'idéal. On peut obtenir une base de Grôbner ç = {G, (X,Y) çP =1,...f} à partir d'une matrice S * , de dimension n x n, obtenue en étendant la matrice S (autrement dit, les éléments de S et ceux de S* sont identiques pour j <w(i) avec i s n - k).  The Grobner ideal can be engendered by means of a finite set of f polynomials, where f <a, which constitutes Grobner's base of the ideal. We can obtain a Grobner basis ç = {G, (X, Y) ç P = 1, ... f} from a matrix S *, of dimension nxn, obtained by extending the matrix S (in other words, the elements of S and those of S * are identical for j <w (i) with isn - k).

Cette extension est possible à chaque fois que le nombre d'erreurs dans le mot reçu est inférieur ou égal à (n-k-g)/2.  This extension is possible whenever the number of errors in the received word is less than or equal to (n-k-g) / 2.

En effet, lorsque le nombre d'erreurs dans le mot reçu est inférieur ou égal à (n - k - g)/2, il faut en général, pour pouvoir localiser ces erreurs, connaître plus d'éléments de la matrice des syndromes que les éléments que nous qualifierons de connus du fait qu'ils sont égaux à des composantes du vecteur de syndromes d'erreurs s = H É rT ou à de simples combinaisons linéaires de ces composantes (voir l'exemple numérique décrit ci-dessous). Il est heureusement possible de calculer ces éléments de valeur inconnue par un procédé comprenant un certain nombre de décisions majoritaires , par exemple l'algorithme dit de Feng-Rao (voir l'article de G.-L. Feng et T.R.N.  In fact, when the number of errors in the received word is less than or equal to (n - k - g) / 2, it is generally necessary, in order to be able to locate these errors, to know more elements of the matrix of syndromes than the elements that we will describe as known because they are equal to components of the vector of error syndromes s = H ERT or to simple linear combinations of these components (see the numerical example described below). Fortunately, it is possible to calculate these elements of unknown value by a process comprising a certain number of majority decisions, for example the so-called Feng-Rao algorithm (see the article by G.-L. Feng and T.R.N.

Rao intitulé Decoding Algebraic-Geometric Codes up to the Designed Minimum Distance , IEEE Trans. lnform. Theory, vol. 39, n 1, janvier 1993).  Rao entitled Decoding Algebraic-Geometric Codes Up to the Designed Minimum Distance, IEEE Trans. lnform. Theory, vol. 39, No. 1, January 1993).

Cet algorithme a essentiellement pour but d'étendre la matrice S au moyen d'étapes de calcul jouant le rôle d'itérations successives. Il faut un nombre d'itérations égal à un certain nombre g', où g' est au plus égal à 2g, pour parvenir au stade où, comme expliqué ci-dessus, il devient possible de calculer une base de Grôbner à partir de la matrice des syndromes étendue S* ainsi obtenue.  This algorithm is essentially intended to extend the matrix S by means of calculation steps acting as successive iterations. It takes a number of iterations equal to a number g ', where g' is at most equal to 2g, to reach the stage where, as explained above, it becomes possible to calculate a Grobner base from the extended syndromes matrix S * thus obtained.

Comme les couples (x,y) étiquetant les composantes erronées d'un mot reçu vérifient évidemment tous l'équation F(X,Y) = 0 de la courbe 15 algébrique, le polynôme F(X,Y) fait partie de l'idéal de Grôbner, et l'on peut par conséquent réduire modulo F(X,Y) les f polynômes G,(X,Y) de toute base de Grôbner donnée. Il en résulte qu'il existe toujours une base de Grôbner dont tous les éléments ont un degré en Y inférieur à a. Dans le cas particulier des codes hyperelliptiques, où a =2, cela signifie que l'on peut constituer une base de Grôbner dont les f éléments, où f <_ 2, sont des polynômes de degré Oou1enY.  Since the pairs (x, y) labeling the erroneous components of a received word obviously satisfy all the equation F (X, Y) = 0 of the algebraic curve, the polynomial F (X, Y) is part of the the ideal of Grobner, and we can therefore reduce modulo F (X, Y) the f polynomials G, (X, Y) of any given Grobner basis. As a result, there is always a base Grobner whose all elements have a degree in Y less than a. In the particular case of hyperelliptic codes, where a = 2, this means that one can form a Grobner base whose f elements, where f <_ 2, are polynomials of degree You1enY.

On connaît par ailleurs divers algorithmes pour codes de géométrie algébrique permettant de calculer la valeur corrigée des composantes erronées du mot reçu; autrement dit, ces algorithmes sont aptes à fournir une valeur 25 estimée ê de l'erreur de transmission e subie par le mot de code transmis.  Various algorithms are also known for algebraic geometry codes making it possible to calculate the corrected value of the erroneous components of the received word; that is, these algorithms are able to provide an estimated value de of the transmission error e experienced by the transmitted code word.

Le calcul des erreurs pour les codes de géométrie algébrique est a priori plus compliqué que pour les codes de Reed-Solomon. En effet: - la sous-étape de localisation d'erreurs ne produit pas seulement un polynôme de focalisation d'erreurs (tel que A(Z) ci-dessus), mais plusieurs polynômes, qui forment une base de Grôbner de l'idéal des polynômes de localisation d'erreurs; - ces polynômes de localisation d'erreurs sont des polynômes à deux variables au lieu d'une; et - ces polynômes de localisation d'erreurs ont des dérivées partielles par rapport à ces deux variables, de sorte que les algorithmes de correction classiques (tels que l'algorithme de Forney mentionné ci-dessus), qui font intervenir une dérivée unique, ne sont plus applicables.  The calculation of the errors for the algebraic geometry codes is a priori more complicated than for the Reed-Solomon codes. Indeed: - the error location sub-step does not only produce an error focusing polynomial (such as A (Z) above), but several polynomials, which form a Grobner basis of the ideal error localization polynomials; these error localization polynomials are two-variable polynomials instead of one; and - these error localization polynomials have partial derivatives with respect to these two variables, so that conventional correction algorithms (such as the Forney algorithm mentioned above), which involve a single derivative, do not are more applicable.

On connaît divers algorithmes de calcul des erreurs pour codes de géométrie algébrique.  Various algorithms for calculating errors for algebraic geometry codes are known.

L'article Algebraic Geometry Codes , de Tom Hoholdt, Jacobus Van Lint et Ruud Pelikaan (Chapitre 10 de Handbook of Coding Theory , North Holland, 1998) construit le produit de certaines puissances des polynômes de la base de Grôbner. Il effectue ensuite une combinaison linéaire de ces produits, affectés de coefficients adéquats. Il démontre enfin que la valeur du polynôme ainsi obtenu, prise au point (x, y) de l'ensemble de localisation est, au signe près, la valeur de l'erreur pour la composante du mot reçu étiquetée par ce point (x, y).  Tom Hoholdt's article Algebraic Geometry Codes, Jacobus Van Lint and Ruud Pelikaan (Chapter 10 of Handbook of Coding Theory, North Holland, 1998) builds the product of certain powers of Grobner base polynomials. It then performs a linear combination of these products, assigned appropriate coefficients. It finally demonstrates that the value of the polynomial thus obtained, taken at the point (x, y) of the localization set is, with the sign, the value of the error for the component of the received word labeled by this point (x, y).

L'article A Generalized Forney Formula for Algebraic Geometric Codes , de Douglas A. Leonard (IEEE Trans. lnform. Theory, vol. 42, n 4, pages 1263 à 1268, juillet 1996) calcule les valeurs des erreurs en évaluant un polynôme à deux variables en les points dont lés coordonnées sont les zéros communs des polynômes de localisation d'erreurs. L'article A Key Equation and the Computation of Error Values for Codes from Order Domains de John B. Little (publié sur Internet le 7 avril 2003) calcule les valeurs des erreurs en évaluant deux polynômes à une variable en les mêmes points que précédemment.  Douglas A. Leonard, Generalized Forney Formula for Algebraic Geometric Codes, (IEEE Trans., Theory, Vol 42, No. 4, pp. 1263-1268, July 1996) calculates error values by evaluating a polynomial at two variables in the points whose coordinates are the common zeros of the error localization polynomials. John B. Little's article A Key Equation and the Computation of Error Values for Codes of Order Domains (published on the Internet on April 7, 2003) calculates error values by evaluating two single-variable polynomials at the same points as before.

Ces trois algorithmes sont complexes à mettre en oeuvre.  These three algorithms are complex to implement.

La demande de brevet EP-1 434 132 au nom de CANON décrit un procédé de décodage applicable notamment aux codes, décrits ci-dessus, de géométrie algébrique à un point définis sur une courbe algébrique de type C(a,b). Ce procédé de décodage effectue à la fois la localisation et ta correction d'erreurs. Nous allons à présent le décrire de manière assez détaillée.  The patent application EP-1 434 132 in the name of CANON describes a decoding method applicable in particular to the codes, described above, of algebraic geometry at a point defined on a C-type algebraic curve (a, b). This decoding process performs both localization and error correction. We will now describe it in some detail.

Ce procédé de décodage repose sur la subdivision de l'ensemble de localisation du code en sous-ensembles appelés agrégats . Par définition, un agrégat regroupe les couples (x,y) de l'ensemble de localisation partageant la même valeur de x, lorsque l'on prend: a <b (toujours dans l'hypothèse où a <b, on pourrait définir les agrégats comme regroupant les couples (x,y) de l'ensemble de localisation partageant la même valeur de y, mais on s'en tiendra par la suite à la première définition). Lorsque l'on souhaite faire apparaître cette structure en agrégats, les couples de l'ensemble de localisation seront notés (x, y p (x)) , où p=1,...,2(x) et 2(x) est le cardinal de l'agrégat considéré, et les composantes de tout mot c de longueur n seront notées c(x, y p (x)) ; on dira que les composantes de c qui, étiquetées de la sorte, possèdent la même valeur de x forment un agrégat de composantes du mot c; en particulier, lorsqu'il s'agit d'un mot reçu, on dira qu'un agrégat associé à une valeur x de X est erroné lorsqu'il existe au moins un point (x,y) de l'ensemble de localisation du code tel que la composante dudit mot reçu étiquetée par ce point soit erronée.  This decoding method is based on the subdivision of the set of localization code into subsets called aggregates. By definition, an aggregate groups the pairs (x, y) of the location set sharing the same value of x, when we take: a <b (always assuming that a <b, we could define aggregates as combining the pairs (x, y) of the localization set sharing the same value of y, but we will stick to the first definition later). When one wishes to make this structure appear in aggregates, the pairs of the set of localization will be noted (x, yp (x)), where p = 1, ..., 2 (x) and 2 (x) is the cardinal of the considered aggregate, and the components of any word c of length n will be denoted c (x, yp (x)); we say that the components of c which, labeled in this way, have the same value of x form an aggregate of the components of the word c; in particular, when it is about a received word, one will say that an aggregate associated with a value x of X is erroneous when there exists at least one point (x, y) of the set of localization of code such that the component of said received word labeled by this point is erroneous.

Soit m le poids maximal des monômes définissant les lignes de la matrice de parité (voir ci-dessus). Selon la demande EP-1 434 132, on classe ces monômes dans des ensembles de monômes M. ={YJX1I05iS(m-bj)/a} pour 0 <_ j < jmax, où jmax < a. L'ensemble Mi a donc pour cardinal: t(j)=1+INT [(mbj)/a] . Notons par x1,...,xp les différentes valeurs de x dans l'ensemble de localisation, et par v = [v(x1,Y1(xl)),...,v(xl,y(xl)(xl)),.  Let m be the maximum weight of the monomials defining the rows of the parity matrix (see above). According to the application EP-1 434 132, these monomials are classified into sets of monomials M. = {YJX1I05iS (m-bj) / a} for 0 <_ j <jmax, where jmax <a. The set Mi has therefore for cardinal: t (j) = 1 + INT [(mbj) / a]. Let x1, ..., xp be the different values of x in the localization set, and by v = [v (x1, Y1 (xl)), ..., v (xl, y (xl) (xl) )) ,.

,v(x/,y2(x,)(x,))l un mot de code quelconque. On construit, pour chaque agrégat attaché à l'une des valeurs xl,x2,...,x, de x, (jmax +1) symboles agrégés 2(x) (( J v.(x) = E [yp (x)J v(x, yp (x)) p=1 pour j = 0,..., jmax. Ces symboles agrégés servent à former (jmax +1) mots agrégés V j =[vj(x1),...,Vi(x,u)] , de longueur t...DTD: On vérifie facilement que la condition d'appartenance au code de géométrie algébrique (à savoir H É vT =0) est équivalente à l'ensemble de (Jmax +1) équations:  , v (x /, y2 (x,) (x,)) 1 any code word. For each aggregate attached to one of the values x1, x2, ..., x, x, (jmax +1) aggregated symbols 2 (x) ((J v. (X) = E [yp ( x) J v (x, yp (x)) p = 1 for j = 0, ..., jmax These aggregated symbols are used to form (jmax +1) aggregated words V j = [vj (x1), .. ., Vi (x, u)], of length t ... DTD: It is easy to check that the condition of belonging to the algebraic geometry code (namely H É vT = 0) is equivalent to the set of (Jmax +1) equations:

TT

Hi(J) .vJ =0, où la fonction t(j) est donnée ci-dessus et, par définition, 1 1 1 Ht = xl X2.. xu t 1 t I t 1 XI x2 xu Or cette matrice Ht est une matrice de Vandermonde définie sur Fq; par conséquent, si l'on considère, pour chaque valeur de j, que Htu) est une matrice de parité définissant un ensemble de mots de code vi, cet ensemble constitue un code de ReedSolomon. On dit alors que l'on a 15 décomposé le code de géométrie algébrique considéré en un certain nombre de codes de Reed-Solomon composants .  Hi (J) .vJ = 0, where the function t (j) is given above and, by definition, 1 1 1 Ht = xl X2 .. xu t 1 t I t 1 XI x2 xu Or this matrix Ht is a Vandermonde matrix defined on Fq; therefore, if one considers, for each value of j, that Htu) is a parity matrix defining a set of codewords vi, this set constitutes a ReedSolomon code. It is said that the algebraic geometry code considered has been decomposed into a number of Reed-Solomon component codes.

L'intérêt de cette formulation est que l'on dispose, pour les codes de Reed-Solomon, d'algorithmes de décodage très simples, et très performants au moins pour certains types de canaux. Par exemple, un mot r ayant été reçu, on calcule d'abord, pour j = 0,...,jmax, les mots reçus agrégés r _[rj(xl),...,ri(x/i)] , dans lesquels, pour x = x1,...,x, les symboles reçus agrégés rj(x) sont donnés par 2(x) rj(x)= E [Yp(x)]r(x, yp(x)) p=1 Puis on utilise l'algorithme de Berlekamp-Massey pour la localisation des (2) symboles erronés de chaque mot ri, suivi de l'algorithme de Forney pour la correction de ces symboles erronés, d'après le vecteur de syndromes d'erreurs s = Htu) É rT. Enfin, on calcule les symboles v(x, y p (x)) du mot de code associé à partir des symboles corrigés P1(x) en utilisant le système d'équations 2(x) @1(x) = E, [.Yp (x)]J v(x, yp (x)) p=1 où j prend un nombre de valeurs différentes (le nombre d'équations) au moins égal à 2(x) (le nombre d'inconnues). Ce procédé de décodage requiert donc que (jmax +1) soit au moins égal à 2max, où 21max est le plus grand parmi les cardinaux d'agrégat 2(x) . Par rapport aux algorithmes de correction d'erreurs connus applicables de manière générale aux codes de géométrie algébrique considérés, le gain en complexité résultant de la mise en oeuvre du procédé selon la demande EP- 1 434 132 est significatif, et ce, malgré la nécessité de mettre en oeuvre un algorithme de correction d'erreurs pour code de Reed- Solomon (par exemple l'algorithme de Forney) 2, ax fois, et de résoudre pour chaque agrégat erroné étiqueté par une valeur x de X un système d'équations (3) ; on notera à cet égard que le nombre d'équations dans chacun de ces systèmes est au plus égal à a (l'exposant de Y dans l'équation représentant la courbe algébrique),puisque la taille de tout agrégat (c'est à dire le nombre de solutions, pour x fixé, de l'équation représentant la courbe algébrique) est au plus égale à a.  The advantage of this formulation is that one has, for the Reed-Solomon codes, decoding algorithms very simple, and very powerful at least for certain types of channels. For example, since a word r has been received, we first calculate, for j = 0, ..., jmax, the aggregated received words r_ [rj (xl), ..., ri (x / i)] , where, for x = x1, ..., x, the aggregated received symbols rj (x) are given by 2 (x) rj (x) = E [Yp (x)] r (x, yp (x) ) p = 1 Then we use the Berlekamp-Massey algorithm for locating the (2) erroneous symbols of each word ri, followed by the Forney algorithm for the correction of these erroneous symbols, according to the vector of syndromes of errors s = Htu) ÉrT. Finally, we calculate the symbols v (x, yp (x)) of the associated code word from the corrected symbols P1 (x) using the system of equations 2 (x) @ 1 (x) = E, [. Yp (x)] J v (x, yp (x)) p = 1 where j takes a number of different values (the number of equations) at least equal to 2 (x) (the number of unknowns). This decoding process therefore requires that (jmax +1) be at least 2max, where 21max is the largest among the cardinal aggregate 2 (x). With respect to the known error correction algorithms generally applicable to the algebraic geometry codes considered, the complexity gain resulting from the implementation of the process according to the application EP-1 434 132 is significant, and this, in spite of the necessity to implement an error correction algorithm for Reed-Solomon code (for example the Forney algorithm) 2, ax times, and to solve for each erroneous aggregate labeled by a value x of X a system of equations (3); note in this respect that the number of equations in each of these systems is at most equal to a (the exponent of Y in the equation representing the algebraic curve), since the size of any aggregate (ie the number of solutions, for fixed x, of the equation representing the algebraic curve) is at most equal to a.

On notera par ailleurs que le système d'équations (3) est un système de Vandermonde: il possède donc toujours une, et une seule, solution; de plus, comme il est bien connu de l'homme du métier, la résolution de ce type de système d'équations linéaires est, avantageusement, particulièrement simple.  Note also that the system of equations (3) is a Vandermonde system: it therefore always has one and only one solution; moreover, as is well known to those skilled in the art, the resolution of this type of system of linear equations is, advantageously, particularly simple.

La demande française n 0402033 au nom de CANON décrit un procédé, applicable aux codes de géométrie algébrique à un point définis sur une courbe algébrique de type C(a,b), qui effectue la correction d'erreurs dans un mot reçu r après que les agrégats erronés de ce mot reçu aient été (3) localisés d'une manière ou d'une autre. Plus précisément, ce procédé permet de calculer l'estimation de l'erreur Ei(x) = ri(x) P1(x) sur le symbole reçu (x) 1 agrégé rj(x) = [yp (x)}'r(x, yp (x)) (voir équations (2) et (3) ci-dessus). p=0  The French application No. 0402033 to CANON describes a method, applicable to the algebraic geometry codes at a point defined on a C-type algebraic curve (a, b), which performs the correction of errors in a received word r after the erroneous aggregates of this received word have been (3) localized in one way or another. More precisely, this method makes it possible to calculate the estimate of the error Ei (x) = ri (x) P1 (x) on the received symbol (x) 1 aggregated rj (x) = [yp (x)} 'r (x, yp (x)) (see equations (2) and (3) above). p = 0

Selon la demande française n 0402033, le calcul des valeurs 5 (estimées) des erreurs comprend notamment les étapes suivantes (où la notation (C1 ç2) représente le produit scalaire de deux mots c1 et c2 de longueur n) : - on compte le nombre l de valeurs différentes de x apparaissant dans ces points associés à des composantes erronées de L7 chacune de ces valeurs de x définissant un agrégat erroné dont les éléments sont tous les 2(x) points (x, yp(x)), où p = 0,...,2(x) 1, de l'ensemble de localisation correspondant à cette valeur de x, - on calcule, pour 1=0,...,21 1 et '= É'2m ax -1, où 2max est la valeur maximale des cardinaux 2(x) des agrégats erronés, les syndromes d'erreurs étendus 6 (0= (Y'X I, où e est l'erreur de transmission affectant r et Y' X' représente le mot dont les composantes sont égales à la valeur prise par le monôme Y'X' aux points de l'ensemble de localisation, - on met en oeuvre, pour j= 0,..., lmax -1, au moyen du polynôme de syndromes d'erreurs 21 1 SJ(Z)= Euj(i)Z, 1=0 un algorithme de correction d'erreurs adapté aux codes de Reed-Solomon, de manière à calculer les erreurs Ej(x) sur celles des composantes d'un mot de code de Reed-Solomon défini sur le même corps de Galois que ledit code de géométrie algébrique qui sont étiquetées par les l valeurs de x associées à un 25 agrégat erroné, et - on calcule, pour chaque valeur de x telle qu'il existe au moins une valeur de j pour laquelle Ej(x) est non-nulle, les estimations ê(x, y p (x)) des 2878096 16 erreurs respectives sur les composantes r(x, y p (x)) de r en résolvant le système d'équations 2(x) t Ej(x) E [yp(x)]J ê(x,yp(x) ) , p=o où l'on choisit des équations (associées chacune à une valeur distincte de j) en nombre au moins égal au nombre de composantes erronées de l'agrégat considéré.  According to the French application No. 0402033, the calculation of the values 5 (estimated) errors includes the following steps (where the notation (C1 ç2) represents the dot product of two words c1 and c2 of length n): - we count the number l different values of x occurring in these points associated with erroneous components of L7 each of these values of x defining an erroneous aggregate whose elements are all 2 (x) points (x, yp (x)), where p = 0, ..., 2 (x) 1, of the set of localization corresponding to this value of x, - one computes, for 1 = 0, ..., 21 1 and '= É'2m ax -1, where 2max is the maximum value of the cardinals 2 (x) of the erroneous aggregates, the extended error syndromes 6 (0 = (Y'X I, where e is the transmission error affecting r and Y 'X' represents the word whose components are equal to the value taken by the monomer Y'X 'at the points of the localization set, - we implement, for j = 0, ..., lmax -1, by means of the syn polynomial 1 SJ (Z) = Euj (i) Z, 1 = 0 an error correction algorithm adapted to the Reed-Solomon codes, so as to calculate the errors Ej (x) on those of the components of a Reed-Solomon code word defined on the same Galois body as said algebraic geometry code which are labeled by the values of x associated with an erroneous aggregate, and for each value of x such that there exists at least one value of j for which Ej (x) is non-zero, the estimates e (x, yp (x)) of the respective errors on the components r (x, yp (x)) of r by solving the system of equations 2 (x) t Ej (x) E [yp (x)] J ((x, yp (x)), p = o where we choose equations (each associated with a value distinct from j) in number at least equal to the number of erroneous components of the aggregate considered.

Dans la demande française n 0408345 au nom de CANON, il est fait observer que, pour pouvoir mettre en oeuvre le procédé selon la demande n 0402033, décrit succinctement ci-dessus, il n'est pas nécessaire de connaître les couples (x, y p (x)) étiquetant les composantes erronées du mot reçu, mais seulement toutes les valeurs de x dans ces couples (autrement dit les valeurs qui étiquettent les agrégats erronés). Cette remarque s'applique notamment aux systèmes d'équations (4) : il suffit en effet de considérer que les symboles ê(x, yp(x)) représentent une erreur nulle Si la composante correspondante r(x, yp (x)) est correcte, et d'utiliser un nombre d'équations égal à la taille de l'agrégat, pour obtenir toutes les valeurs des estimations d'erreurs ê(x, y p (x)) , que celles-ci soient nulles ou non.  In the French application No. 0408345 in the name of CANON, it is pointed out that, to be able to implement the method according to the application No. 0402033, described briefly above, it is not necessary to know the pairs (x, yp (x)) labeling the erroneous components of the received word, but only all values of x in these pairs (ie the values that label the erroneous aggregates). This remark applies in particular to the systems of equations (4): it suffices to consider that the symbols ê (x, yp (x)) represent a null error If the corresponding component r (x, yp (x)) is correct, and to use a number of equations equal to the size of the aggregate, to obtain all the values of the estimates of errors ê (x, yp (x)), that these are null or not.

La demande française n 0408345 enseigne donc un procédé de localisation d'agrégats erronés de composantes d'un mot reçu r pour un code de géométrie algébrique à un point défini sur une courbe algébrique de type C(a,b) représentée par une équation F(X,Y) = 0, procédé dans lequel on associe à ce mot reçu r un ensemble E de polynômes de localisation d'erreurs à deux variables X et Y (cet ensemble E est donc un sousensemble fini de l'idéal de Grôbner associé au mot reçu r, et peut en particulier être une base de cet idéal). Selon ce procédé, si l'idéal de Grôbner contient un polynôme qui ne dépend que de la variable X, il suffit de calculer les racines de ce polynôme pour obtenir les valeurs étiquetant les agrégats erronés; sinon: - on détermine un polynôme de localisation d'erreurs en X à partir d'au moins deux polynômes appartenant à l'ensemble cp = EU {F(X,Y)} ; et (4) 2878096 17 - on détermine, à partir dudit polynôme de localisation d'erreurs en X, un ensemble de valeurs de X comprenant les valeurs de X étiquetant lesdits agrégats erronés.  French Application No. 0408345 thus teaches a method of locating erroneous aggregates of components of a received word r for an algebraic geometry code at a point defined on an algebraic curve of type C (a, b) represented by an equation F (X, Y) = 0, a process in which this received word r is associated with a set E of two-variable error localization polynomials X and Y (this set E is therefore a finite subset of the associated Grobner ideal) to the received word r, and can in particular be a basis of this ideal). According to this method, if Grobner's ideal contains a polynomial that depends only on the variable X, it is sufficient to calculate the roots of this polynomial to obtain the values that label the erroneous aggregates; otherwise: - an error localization polynomial in X is determined from at least two polynomials belonging to the set cp = EU {F (X, Y)}; and (4) 2878096 17 - from said error localization polynomial in X is determined a set of values of X comprising the values of X labeling said erroneous aggregates.

On peut ainsi remplacer avantageusement la localisation complète des erreurs par un algorithme moins complexe, dans lequel on détermine un ensemble de valeurs de x comprenant toutes celles pour lesquelles qu'il existe au moins un point (x, y) de l'ensemble de localisation du code tel que la composante du mot reçu r étiquetée par ce point soit erronée (c'est-à-dire tel que ce couple (x, y) soit un zéro commun des polynômes de la base de Grôbner ç), mais sans avoir à calculer pour autant les valeurs correspondantes de y.  It is thus possible to advantageously replace the complete location of the errors by a less complex algorithm, in which a set of values of x is determined, including all those for which there exists at least one point (x, y) of the localization set. code such that the component of the received word r labeled by this point is erroneous (that is to say, such that this pair (x, y) is a common zero of the polynomials of Grobner's base), but without having to calculate for all the corresponding values of y.

Comme expliqué ci-dessus au sujet du procédé selon la demande française n 0402033, l'identification des agrégats erronés sert de préalable au calcul des valeurs d'erreurs au sein de mots appartenant à des codes de ReedSolomon. Or les algorithmes de correction d'erreurs classiques (tels que l'algorithme de Forney) utilisent un polynôme de localisation d'erreurs de la forme: (5) A(X)=fl(X x,,) v =1 (à une constante multiplicative près), où les symboles x, (où v =1,...,1) désignent les valeurs de X étiquetant un agrégat erroné (on peut aussi, en variante, utiliser le polynôme de localisation d'erreurs A(X) _ [T (1 Xx ), dont les racines sont égales aux quantités 1/x,,). En revanche, le polynôme de localisation d'erreurs en X obtenu dans une étape intermédiaire du procédé selon la demande française n 0408345 (voir ci- dessus) admet, en général, d'une part, un facteur (X x ) porté à une certaine puissance, qui peut être supérieure à 1, pour chaque valeur x, de X étiquetant un agrégat erroné, et d'autre part des facteurs supplémentaires correspondant à des racines excédentaires . C'est pourquoi la dernière étape de ce procédé consiste à calculer les racines xw de ce polynôme de localisation d'erreurs en X obtenu dans une étape intermédiaire, de manière à pouvoir ensuite construire un polynôme de localisation d'erreurs par produit des facteurs (X xw) . Manifestement, il serait bien plus commode de pouvoir disposer, dès l'abord, d'un polynôme de localisation d'erreurs en X dont, à coup sûr, d'une part, l'ensemble des racines est identique à l'ensemble des x , et dont, d'autre part, ces racines sont simples (par opposition à multiples ). Les auteurs de la présente invention se sont donc demandés s'il ne serait pas possible, au moins pour certains types de codes de géométrie algébrique, de trouver un algorithme fournissant directement un polynôme de localisation d'agrégats erronés ayant ces propriétés.  As explained above with respect to the method according to the French application No. 0402033, the identification of erroneous aggregates serves as a prerequisite for calculating the error values within words belonging to ReedSolomon codes. However, conventional error correction algorithms (such as the Forney algorithm) use an error localization polynomial of the form: (5) A (X) = fl (X x ,,) v = 1 (to a multiplicative constant), where the symbols x, (where v = 1, ..., 1) denote the values of X labeling an erroneous aggregate (alternatively we can also use the error localization polynomial A ( X) _ [T (1 Xx), whose roots are equal to the quantities 1 / x ,,). On the other hand, the error localization polynomial in X obtained in an intermediate step of the method according to the French application No. 0408345 (see above) admits, in general, on the one hand, a factor (X x) brought to a a certain power, which may be greater than 1, for each x-value, of X labeling an erroneous aggregate, and on the other hand additional factors corresponding to excess roots. This is why the last step of this process consists in calculating the xw roots of this X-error localization polynomial obtained in an intermediate step, so that we can then construct an error-localization polynomial by product of the factors ( X xw). Clearly, it would be much more convenient to have, at first, an error localization polynomial in X which, certainly, on the one hand, the set of roots is identical to all of x, and on the other hand, these roots are simple (as opposed to multiple). The authors of the present invention have therefore wondered whether it would not be possible, at least for certain types of algebraic geometry codes, to find an algorithm directly providing a polynomial for locating erroneous aggregates having these properties.

L'invention concerne donc un procédé de localisation d'agrégats erronés de composantes d'un mot reçu r pour un code défini sur une courbe hyperelliptique représentée par une équation du type Y2 +Yu1(X)+uo(X) = 0, définie sur un corps de Galois dont le cardinal q est égal à une puissance de 2 et est supérieur à 2, procédé dans lequel on calcule une base de Grôbner g associée au mot reçu L, ledit procédé étant remarquable en ce que, lorsque l'idéal de Grôbner associé à r ne comprend pas de polynôme ne dépendant que de la variable X, il comprend les étapes suivantes: - on obtient un polynôme z(X) qui est égal à z(X)=uo(X)[a1(X)]2 u1(X) ai(X)ao(X)+[ao(X)]2 si ladite base de Grôbner ç ne contient qu'un élément Gl (X, Y) = ao(X)+Yal (X) , et qui est égal à z(X) = ao (X)bi (X) at (X) b0 (X) si ladite base de Grôbner g contient deux éléments GI (X,Y) = ao (X) + Yal (X) et G2 (X, Y) = bo (X) + Yb' (X) , - on calcule la dérivée z'(X) de z(X), - on calcule le plus grand commun diviseur D(X) de z(X) et z'(X) , qui est de la forme D(X) = E, di x2', et 19 - on calcule le polynôme A(X) = z(X) D*(X) ' où D*(X)=E.diq/2Xi En effet, comme expliqué en détail ci-dessous, le polynôme A(X) ainsi obtenu possède bien les propriétés souhaitées. En particulier, ce polynôme A(X) ne possède que des racines simples, alors que, dans le cas dudit polynôme de localisation d'erreurs en X obtenu dans une étape intermédiaire du procédé selon la demande française n 0408345, cette propriété n'est pas garantie.  The invention thus relates to a method for locating erroneous aggregates of components of a received word r for a code defined on a hyperelliptic curve represented by an equation of the type Y2 + Yu1 (X) + uo (X) = 0, defined on a Galois body whose cardinal q is equal to a power of 2 and is greater than 2, a method in which a Grobner base g associated with the received word L is calculated, said method being remarkable in that, when the ideal Grobner associated with r does not include a polynomial depending only on the variable X, it includes the following steps: - we obtain a polynomial z (X) which is equal to z (X) = uo (X) [a1 (X )] 2 u1 (X) ai (X) ao (X) + [ao (X)] 2 if the Grobner base ç contains only one element Gl (X, Y) = ao (X) + Yal (X ), and which is equal to z (X) = ao (X) bi (X) at (X) b0 (X) if said Grobner base g contains two elements GI (X, Y) = ao (X) + Yal (X) and G2 (X, Y) = bo (X) + Yb '(X), - the derivative z' (X) of z (X) is calculated, - we ca lcule the greatest common divisor D (X) of z (X) and z '(X), which is of the form D (X) = E, di x2', and 19 - we calculate the polynomial A (X) = In fact, as explained in detail below, the polynomial A (X) thus obtained does possess the desired properties. In particular, this polynomial A (X) has only simple roots, whereas, in the case of said error localization polynomial in X obtained in an intermediate step of the method according to the French application No. 0408345, this property is not not guaranteed.

Selon des caractéristiques particulières, on obtient l'ensemble des valeurs de X étiquetant les agrégats erronés dudit mot reçu r en calculant les racines dudit polynôme A(X) . En effet, la correction du mot reçu conformément au procédé selon la demande française n 0402033 requiert la connaissance des valeurs de X étiquetant les agrégats erronés.  According to particular characteristics, the set of values of X labeling the erroneous aggregates of said received word r is obtained by calculating the roots of said polynomial A (X). Indeed, the correction of the word received according to the method according to the French application No. 0402033 requires knowledge of the values of X labeling the erroneous aggregates.

Selon d'autres caractéristiques particulières, on obtient l'ensemble des valeurs de X étiquetant les agrégats contenant exactement deux composantes erronées dudit mot reçu r en calculant les racines dudit polynôme D * (X) ou dudit polynôme D(X) . Grâce à ces dispositions, on détermine quels sont les agrégats du mot reçu r contenant exactement deux composantes erronées, et donc, après calcul de toutes les racines de A(X), quels sont (par complémentation) les agrégats du mot reçu r contenant une seule composante erronée. Cette information peut par exemple servir de moyen de vérification du bon déroulement du décodage après obtention du mot de code associé v, par comparaison entre r et pour identifier précisément quelles composantes de r ont été corrigées.  According to other particular characteristics, the set of values of X labeling the aggregates containing exactly two erroneous components of said received word r is obtained by calculating the roots of said polynomial D * (X) or said polynomial D (X). Thanks to these provisions, it is determined which are the aggregates of the received word r containing exactly two erroneous components, and therefore, after calculation of all the roots of A (X), what are (by complementation) the aggregates of the received word r containing a only erroneous component. This information can for example be used as a means of verifying the smooth running of the decoding after obtaining the associated code word v, by comparison between r and to identify precisely which components of r have been corrected.

Selon un second aspect, l'invention concerne un dispositif de localisation d'agrégats erronés de composantes d'un mot reçu r pour un code défini sur une courbe hyperelliptique représentée par une équation du type Y2 +Yut (X) +uo(X) = 0, définie sur un corps de Galois dont le cardinal q est égal à une puissance de 2 et est supérieur à 2, comprenant des moyens pour calculer une base de Grôbner g associée au mot reçu r, ledit dispositif étant remarquable en ce qu'il comprend également des moyens pour, lorsque l'idéal de Grôbner associé à r ne comprend pas de polynôme ne dépendant que de la variable X: - obtenir un polynôme z(X) qui est égal à z(X) = uo(X)[at(X)]2 -ut (X) at(X)ao(X)+[ao(X)]2 si ladite base de Grôbner g ne contient qu'un élément Gt (X, Y) = ao(X) +Yat (X) , et qui est égal à z(X) = ao (X)bt (X) - al (X)bo (X) si ladite base de Grôbner g contient deux éléments Gt (X,Y).= ao (X) + Yat (X) et G2 (X, Y) = bo (X) + Ybt (X) , calculer la dérivée z'(X) de z(X), - calculer le plus grand commun diviseur D(X) de z(X) et z'(X), qui est de la forme D(X) = E.d1 X2, et calculer le polynôme A(X) = z(X) D*(X) où D*(X)=E1d1g12Xi.  According to a second aspect, the invention relates to a device for locating erroneous aggregates of components of a received word r for a code defined on a hyperelliptic curve represented by an equation of the type Y2 + Yut (X) + uo (X) = 0, defined on a Galois body whose cardinal q is equal to a power of 2 and greater than 2, comprising means for calculating a Grobner base g associated with the received word r, said device being remarkable in that it also includes means for, when Grobner's ideal associated with r does not include a polynomial depending only on the variable X: - obtain a polynomial z (X) which is equal to z (X) = uo (X) [at (X)] 2 -ut (X) at (X) ao (X) + [ao (X)] 2 if said Grobner base g contains only one element Gt (X, Y) = ao (X ) + Yat (X), and which is equal to z (X) = ao (X) bt (X) -al (X) bo (X) if said Grobner base g contains two elements Gt (X, Y). = ao (X) + Yat (X) and G2 (X, Y) = bo (X) + Ybt (X), calculate the derivative e z '(X) of z (X), - calculate the greatest common divisor D (X) of z (X) and z' (X), which is of the form D (X) = E.d1 X2, and calculate the polynomial A (X) = z (X) D * (X) where D * (X) = E1d1g12Xi.

Selon des caractéristiques particulières, ledit dispositif comprend également des moyens pour obtenir l'ensemble des valeurs de X étiquetant les agrégats erronés dudit mot reçu r en calculant les racines dudit polynôme A(X) . Selon d'autres caractéristiques particulières, ledit dispositif comprend également des moyens pour obtenir l'ensemble des valeurs de X étiquetant les agrégats contenant exactement deux composantes erronées dudit mot reçu r en calculant les racines dudit polynôme D*(X) ou dudit polynôme D(X).  According to particular features, said device also comprises means for obtaining all the values of X labeling the erroneous aggregates of said received word r by calculating the roots of said polynomial A (X). According to other particular features, said device also comprises means for obtaining all the values of X labeling the aggregates containing exactly two erroneous components of said received word r by calculating the roots of said polynomial D * (X) or said polynomial D ( X).

Les avantages de ces dispositifs de localisation d'erreurs sont essentiellement les mêmes que ceux des procédés corrélatifs décrits succinctement ci-dessus.  The advantages of these error locating devices are essentially the same as those of the correlative methods briefly described above.

L'invention vise également: - un décodeur comprenant au moins un dispositif de localisation d'erreurs tel que décrit succinctement ci-dessus, et au moins une unité de suppression de la redondance, - 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 10 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 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 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 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.  The invention also relates to: a decoder comprising at least one error locating device as briefly described above, and at least one redundancy suppression unit, an encoded digital signal receiving apparatus comprising a decoder as briefly described above, and comprising means for demodulating said coded digital signals, - a computer system comprising a decoder as briefly described above, and further comprising at least one hard disk as well as at least one means for reading this hard disk, - immovable data storage means comprising computer program code instructions for executing the steps of any of the decoding methods briefly described above, - storage means partially or totally removable data, comprising computer program code instructions for performing the steps of any one of decoding methods briefly described above, and - a computer program, containing instructions such that, when said program controls a programmable data processing device, said instructions cause said data processing device to implement one of the decoding methods succinctly set forth above.

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 d'ordinateur sont essentiellement les mêmes que ceux offerts par les procédés de localisation d'erreurs selon l'invention.  The advantages offered by this decoder, this receiving apparatus, this computer system, these data storage means and this computer program are essentially the same as those offered by the error locating methods according to the 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, et - la figure 2 représente un appareil de réception de signaux numériques incorporant un décodeur selon l'invention.  Other aspects and advantages of the invention will appear on reading the detailed description below of particular embodiments, given by way of non-limiting examples. The description refers to the drawings which accompany it, in which: FIG. 1 is a block diagram of an information transmission system implementing a method according to the invention, and FIG. receiving digital signals incorporating a decoder according to the invention.

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.  FIG. 1 is a block diagram of an information transmission system implementing a method according to the 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 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.  This system has the function of transmitting information of any nature from a source 100 to a recipient or user 109. First, the source 100 translates this information into a series of symbols belonging to a certain body of Galois Fq ( for example bit bytes for q = 28), and transmits these symbols to a storage unit 101, which accumulates the symbols so as to form sets each containing k symbols. Then, each of these sets is transmitted by the storage unit 101 to an encoder 102 which incorporates redundancy, so as to construct a word of length n belonging to the chosen code.

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 disque magnétique ou encore une bande magnétique. Il peut correspondre également à une émission filaire ou non-filaire comme c'est le cas d'un lien radio.  The code words thus formed are then transmitted to a modulator 103, which associates with each symbol of the codeword a modulation symbol. Then, these modulation symbols are transmitted to a recorder (or transmitter) 104, which inserts the symbols into a transmission channel. This channel can be for example a storage on a suitable medium such as a DVD or a magnetic disk or a magnetic tape. It can also correspond to a wired or non-wired transmission as is the case of a radio link.

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.  The transmitted message reaches a reader (or receiver) 105, after being affected by a transmission noise whose effect is to modify or erase some of the modulation symbols.

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.  The reader (or receiver) 105 then transmits these symbols to the demodulator 106, which transforms them into symbols of Fq. The n symbols resulting from the transmission of the same code word are then grouped into a word received in an error correction unit 107, which implements a decoding method according to the invention, so as to provide a word associated code. Then this associated code word is transmitted to a redundancy suppression unit 108, which extracts k information symbols by implementing a decoding algorithm inverse to that implemented by the encoder 102. Finally, these symbols of information is provided to the recipient 109.

On peut considérer que les unités 107 et 108 forment conjointement un décodeur 10.  Units 107 and 108 may be considered together to form a decoder 10.

La présente invention concerne le décodage des codes hyperelliptiques, définis ci-dessus. Elle concerne entre autres le décodage des codes hyperelliptiques maximaux , également définis ci-dessus. Voici à titre d'exemple trois courbes hyperelliptiques maximales sur Fq: - celle représentée par l'équation F(X, Y) = Y2 + y+ x9, avec q =26 et g = 4, comprend 128 points (à distance finie) ; - celle représentée par l'équation F(X,Y) =Y2 +Y+X17, avec q = 28 et g =8, comprend 512 points (à distance finie) ; et - celle représentée par l'équation F(X,Y) = Y2 +Y +X33, avec q= 210 et g =16, comprend 2048 points (à distance finie).  The present invention relates to the decoding of hyperelliptic codes, defined above. It concerns inter alia the decoding of the maximum hyperelliptic codes, also defined above. As an example, here are three maximum hyperelliptic curves on Fq: - that represented by the equation F (X, Y) = Y2 + y + x9, with q = 26 and g = 4, includes 128 points (finite distance); that represented by the equation F (X, Y) = Y 2 + Y + X 17, with q = 28 and g = 8, comprises 512 points (at finite distance); and that represented by the equation F (X, Y) = Y2 + Y + X33, with q = 210 and g = 16, comprises 2048 points (at finite distance).

On va à présent illustrer le procédé de codage selon l'invention à 20 l'aide d'un exemple numérique. On notera que cet exemple ne constitue pas nécessairement un choix de paramètres préférentiel pour le codage ou le décodage. Il n'est fourni ici que pour permettre à l'homme du métier de comprendre plus facilement le fonctionnement du procédé selon l'invention.  The coding method according to the invention will now be illustrated by means of a numerical example. Note that this example does not necessarily constitute a preferred choice of parameters for coding or decoding. It is provided here only to enable the skilled person to understand more easily the operation of the method according to the invention.

On désignera par Q le code de géométrie algébrique à un point , de dimension 12 et de longueur 30, défini de la manière suivante.  Q will be referred to as the one-point algebraic geometry code, of dimension 12 and length 30, defined in the following manner.

L'alphabet des symboles est constitué par le corps de Galois F16.  The alphabet of the symbols is constituted by the Galois body F16.

Comme le cardinal de ce corps est une puissance de 2 (16 = 24), le signe + est équivalent au signe devant tout coefficient d'un polynôme à coefficients sur ce corps.  As the cardinal of this body is a power of 2 (16 = 24), the sign + is equivalent to the sign before any coefficient of a polynomial with coefficients on this body.

On considère la courbe algébrique de genre g = 2 constituée par l'ensemble des solutions (X = x,Y = y) de l'équation à deux inconnues F(X, Y) = Y2 +Y+X5 =0 (6) sur F16; ainsi: uo (X) = X5 et ul (X) =1. On constate qu'en donnant à X une valeur x quelconque dans F16, il existe à chaque fois 2 valeurs y(x) (p =1,2) dans F16 telles que le couple (x, y p (x)) soit solution de l'équation (6) ; ces solutions de l'équation (6) sont les coordonnées des points finis de la courbe (la courbe contient également un point à l'infini noté P.). On choisit de constituer l'ensemble de localisation au moyen de toutes ces solutions sauf celles où x = 0; l'ensemble de localisation a donc un cardinal égal à 30, et il peut être subdivisé en agrégats qui ont chacun un cardinal 2(x) égal à 2. On rappelle que chaque point Pfl de l'ensemble de localisation sert à identifier le,8ème élément de tout mot de code; le nombre de tels points étant ici égal à 30, la longueur n du code est donc elle aussi égale à 30.  We consider the algebraic curve of genus g = 2 constituted by the set of solutions (X = x, Y = y) of the two-unknown equation F (X, Y) = Y2 + Y + X5 = 0 (6) on F16; thus: uo (X) = X5 and ul (X) = 1. It can be seen that by giving X any value x in F16, there are in each case 2 values y (x) (p = 1.2) in F16 such that the pair (x, yp (x)) is a solution of equation (6); these solutions of equation (6) are the coordinates of the finite points of the curve (the curve also contains a point at infinity noted P.). One chooses to constitute the set of localization by means of all these solutions except those where x = 0; the location set therefore has a cardinal equal to 30, and it can be subdivided into aggregates which each have a cardinal 2 (x) equal to 2. It is recalled that each point Pfl of the location set serves to identify the, 8th element of any codeword; the number of such points being here equal to 30, the length n of the code is therefore also equal to 30.

Ensuite, on considère l'espace vectoriel L( m P.) de polynômes en X et Y à coefficients dans F16 dont les seuls pôles sont situés en P.., et sont d'ordre inférieur ou égal à m, où m est un entier strictement positif. Cet espace vectoriel possède une base constituée par les monômes ha = Y' X, où j est un entier égal à 0 ou à 1, i est un entier positif ou nul, 2i + 5 j 5 m, et a =1,...,n - k. Cette 20 quantité p(ha) = 2i +5 j est le poids du monôme ha.  Then, we consider the vector space L (m P.) of polynomials in X and Y with coefficients in F16 whose only poles are in P .., and are of order less than or equal to m, where m is a strictly positive integer. This vector space has a base consisting of the monomials ha = Y 'X, where j is an integer equal to 0 or 1, i is a positive integer or zero, 2i + 5j 5 m, and a = 1, .. ., n - k. This amount p (ha) = 2 + 5 is the weight of the monomer ha.

Prenons par exemple: m =19; on obtient alors un ensemble de monômes ha où a =1,...,18, puisque: m-g+1=19-2+1=18.  Take for example: m = 19; we then obtain a set of monomials ha where a = 1, ..., 18, since: m-g + 1 = 19-2 + 1 = 18.

Les monômes ha peuvent être classés dans des sous-ensembles 25 ordonnés de monômes M._ {Y1X 0Si5(19-5j)/2}, pour j égal à 0 ou 1 (ici, jmax =1). Ces sous-ensembles ordonnés de monômes sont explicitement: Mo = {1,X,X2, X3,X4,X5,X6,X7,X8,X9} , et Ml = {Y,YX,YX2,YX3,YX4,YX5,YX6,YX7} . On vérifie que le nombre total de monômes ha est bien égal à : 10+8 = 18.  The monomials ha can be classified into ordered subsets of monomials M._ {Y1X 0Si5 (19-5j) / 2}, for j equal to 0 or 1 (here, jmax = 1). These ordered subsets of monomials are explicitly: Mo = {1, X, X2, X3, X4, X5, X6, X7, X8, X9}, and M1 = {Y, YX, YX2, YX3, YX4, YX5, YX6, YX7}. We check that the total number of monomials ha is equal to: 10 + 8 = 18.

On peut par exemple prendre pour matrice de parité H de ce code Q la matrice dont l'élément en ligne a et colonne /3 est égal à la valeur prise par le monôme ha au point P1 de la courbe algébrique.  One can for example take as parity matrix H of this code Q the matrix whose line element has and column / 3 is equal to the value taken by the monomial ha at the point P1 of the algebraic curve.

La redondance (n - k) du code Q étant égale à 18, sa dimension vaut k = 30-18=12. La distance minimale d de ce code est au moins égale à n - k + 1-g= 17. On peut donc corriger (au moins) INT [(17 -1)/2] = 8 symboles ayant subi une erreur de transmission si les erreurs sont localisées.  The redundancy (n - k) of the Q code being equal to 18, its dimension is worth k = 30-18 = 12. The minimum distance d of this code is at least equal to n - k + 1-g = 17. It is therefore possible to correct (at least) INT [(17 -1) / 2] = 8 symbols having undergone a transmission error if the errors are localized.

Comme expliqué ci-dessus, parmi les algorithmes connus offrant une telle capacité, l'un des moins complexes est celui divulgué dans la demande française n 0402033. Selon ce procédé, un mot r ayant été reçu, on commence par localiser les erreurs de transmission affectant ce mot. Comme expliqué ci-dessus, un moyen classique pour effectuer cette localisation est: 1) de construire une base de Grôbner g à partir de la matrice des syndromes étendue S * , puis 2) de chercher les zéros communs aux polynômes GÇ,(X,Y) (où ç' =1,...f) constituant cette base G. La seconde sous-étape de localisation que l'on vient de mentionner est assez complexe. Il est nécessaire en effet, pour chaque point PQ = (x13, y13) de l'ensemble de localisation, de vérifier si Gq,(x13, y13) est nul pour chaque valeur de ço =1,... f. Naturellement, dès que l'on constate que G4, (x1, yQ) est non-nul pour une certaine valeur de ç' , on peut passer au point PP suivant. Selon les cas donc, cette vérification exige, pour chaque point P13, le calcul d'un nombre imprévisible de valeurs G,(.9,y1) ; tout ce que l'on sait a priori, c'est que ce nombre est compris entre 1 et f inclus. Pour couvrir l'ensemble de localisation, on devra effectuer au minimum n telles évaluations polynomiales, mais évidemment un nombre bien plus grand en moyenne.  As explained above, among the known algorithms offering such a capacity, one of the least complex is that disclosed in the French application No. 0402033. According to this method, a r word has been received, we start by locating the transmission errors affecting that word. As explained above, a typical way to perform this localization is: 1) to construct a Grobner base g from the extended syndromes matrix S *, then 2) to look for the zeros common to the GÇ polynomials, (X, Y) (where ç '= 1, ... f) constituting this base G. The second location sub-step just mentioned is quite complex. It is necessary for each point PQ = (x13, y13) of the localization set, to check if Gq, (x13, y13) is zero for each value of ço = 1, ... f. Naturally, as soon as we find that G4, (x1, yQ) is non-zero for a certain value of ç ', we can proceed to the next PP. According to the cases therefore, this verification requires, for each point P13, the calculation of an unpredictable number of values G, (.9, y1); all that is known a priori is that this number is between 1 and f inclusive. To cover the localization set, one must perform at least n such polynomial evaluations, but obviously a much larger number on average.

On va décrire à présent les étapes principales du procédé selon l'invention.  The main steps of the process according to the invention will now be described.

Considérons donc un code défini sur une courbe algébrique représentée par l'équation F(X,Y)=Y2+Yu1(X)+uo(X) , (1) où uo (X) est un polynôme sur Fq de degré exactement égal à (2g +1) , et ul (X) est un polynôme non-nul sur Fq de degré inférieur ou égal à g.  Consider, then, a code defined on an algebraic curve represented by the equation F (X, Y) = Y2 + Yu1 (X) + uo (X), (1) where uo (X) is a polynomial on Fq of exactly equal degree to (2g +1), and ul (X) is a non-zero polynomial on Fq of degree less than or equal to g.

Si l'idéal de Grôbner associé à r comprend un polynôme ne dépendant que de la variable X, les racines de ce polynôme fournissent directement les valeurs étiquetant les agrégats erronés.  If the Grobner ideal associated with r contains a polynomial that depends only on the variable X, the roots of this polynomial directly supply the values that label the erroneous aggregates.

Si en revanche l'idéal de Grôbner ne contient que des polynômes dépendant au moins de la variable Y, on considère une base de Grôbner G de cet idéal. Deux cas peuvent alors se présenter: - dans le premier cas, la base de Grôbner ne contient qu'un seul élément, noté Gl(X,Y)=ao(X)+Ya1(X) ; on forme alors un polynôme z(X) qui est égal à z(X) = uo (X)[al (x)]2 ul (X)al (X)a0 (X) + [ao (X)]2; - dans le second cas, la base de Grôbner contient deux éléments, notés G1(X,Y)=ao(X)+Ya1(X) et G2 (X, Y)=bo(X)+Yb1(X) ; on forme alors un polynôme z(X) qui est égal à z(X) = ao (X)b1(X) al (X)bo (X) . En effet, on peut montrer que, quel que soit le cas, z(X) = fj(X xv)E(Xv) v=1 où s(x,,) désigne le nombre de composantes erronées dans l'agrégat erroné 25 étiqueté par x ; les agrégats étant de cardinal 1 ou 2 pour une équation hyperelliptique, il est clair que s(x ) ne peut être égal qu'à 1 ou à 2.  If, on the other hand, Grobner's ideal contains only polynomials that depend at least on the variable Y, we consider a base Grobner G of this ideal. Two cases can then arise: - in the first case, Grobner's base contains only one element, denoted Gl (X, Y) = ao (X) + Ya1 (X); then form a polynomial z (X) which is equal to z (X) = uo (X) [α1 (x)] 2 μl (X) a1 (X) a0 (X) + [ao (X)] 2; in the second case, the base of Grobner contains two elements, denoted G1 (X, Y) = ao (X) + Ya1 (X) and G2 (X, Y) = bo (X) + Yb1 (X); we then form a polynomial z (X) which is equal to z (X) = ao (X) b1 (X) al (X) bo (X). Indeed, we can show that, whatever the case, z (X) = fj (X xv) E (Xv) v = 1 where s (x ,,) denotes the number of erroneous components in the erroneous aggregate. labeled by x; the aggregates being of cardinal 1 or 2 for a hyperelliptic equation, it is clear that s (x) can be equal to only 1 or 2.

2878096 27 Selon l'invention, on calcule ensuite la dérivée z'(X) de z(X). Or on peut vérifier aisément que (compte tenu du fait que le double de n'importe quelle quantité sur Fq est identiquement nul lorsque q est une puissance de 2) : - pour les agrégats tels que s(x ) =1, la quantité (X xv) , bien qu'étant un 5 facteur de z(X), n'est pas un facteur de z'(X), cependant que - pour les agrégats tels que s(x ) = 2, la quantité (X xv)2, qui est un facteur de z(X), est aussi un facteur de z'(X).  According to the invention, the derivative z '(X) of z (X) is then calculated. Now it can easily be verified that (given the fact that twice as much of Fq is identically zero when q is a power of 2): - for aggregates such that s (x) = 1, the quantity ( X xv), although being a factor of z (X), is not a factor of z '(X), but - for aggregates such that s (x) = 2, the quantity (X xv ) 2, which is a factor of z (X), is also a factor of z '(X).

Par conséquent, le PGCD D(X) de z(X) et z'(X) s'écrit D(X)= fJ (X x,,)2.  Therefore, the GCD D (X) of z (X) and z '(X) is written as D (X) = fJ (X x ,,) 2.

s(x )=2 On note ensuite que le développement de D(X) est de la forme D(X) = Eidi X 2t et que le polynôme D * (X) _ Eidigt 2 X: vérifie manifestement: [D * (X)]2 = D(X) (compte tenu de ce que (di)q = di quelle que soit la valeur de di dans Fq). Mais D*(X)= fl (X xv) e(xv)=2 de sorte que le polynôme A(X) défini par A(X) = D *(X) vérifie bien A(X)=fl(X x ) (5) v=1 comme souhaité.  s (x) = 2 We then note that the development of D (X) is of the form D (X) = Eidi X 2t and that the polynomial D * (X) _ Eidigt 2 X: obviously satisfies: [D * ( X)] 2 = D (X) (considering that (di) q = di whatever the value of di in Fq). But D * (X) = fl (X xv) e (xv) = 2 so that the polynomial A (X) defined by A (X) = D * (X) satisfies A (X) = fl (X x ) (5) v = 1 as desired.

Par conséquent, si l'on souhaite (selon un mode de réalisation de l'invention), trouver les valeurs x, étiquetant les agrégats erronés, il suffit de déterminer les racines de A(X), par exemple au moyen de l'algorithme de Chien (voir l'article de R.T. Chien intitulé Cyclic Decoding Procedures for Bose-Chaudhury-Hocquenghem Codes , IEEE Trans. Inform. Theory, pages 357 à 363, vol. 10, n 5, octobre 1964).  Consequently, if it is desired (according to one embodiment of the invention) to find the values x, labeling the erroneous aggregates, it suffices to determine the roots of A (X), for example by means of the algorithm of Dog (see the article of RT Dog entitled Cyclic Decoding Procedures for Bose-Chaudhury-Hocquenghem Codes, IEEE Trans.Information Theory, pages 357 to 363, vol 10, n 5, October 1964).

On notera que, de manière très avantageuse, les racines (doubles) du polynôme D(X), ou les racines (simples) du polynôme D * (X) , ne sont autres que les valeurs x, de X étiquetant les agrégats contenant exactement deux composantes erronées (les autres valeurs x,, de X étiquetant les agrégats contenant une, et une seule, composante erronée). Le calcul de ces racines peut par exemple servir de moyen de vérification en fin de correction du mot reçu.  It will be noted that, very advantageously, the (double) roots of the polynomial D (X), or the (simple) roots of the polynomial D * (X), are other than the x values, of X labeling the aggregates containing exactly two erroneous components (the other values x ,, of X labeling the aggregates containing one, and only one, erroneous component). The calculation of these roots can for example be used as verification means at the end of correction of the received word.

Pour terminer la description du procédé de localisation en X selon l'invention, on va maintenant présenter un exemple numérique, dans lequel on 10 considérera le code Q, décrit ci-dessus, de dimension 12 et de longueur 30, et défini sur la courbe algébrique représentée par l'équation (6). Les éléments de F16 seront identifiés comme puissances respectives d'un élément primitif a de F16 qui est racine de l'équation z4+z+1=0.  To end the description of the X locating method according to the invention, we will now present a numerical example, in which we will consider the code Q, described above, of dimension 12 and length 30, and defined on the curve. algebraic represented by equation (6). The elements of F16 will be identified as respective powers of a primitive element a of F16 which is root of the equation z4 + z + 1 = 0.

Supposons que l'on reçoive un mot r dont les composantes non-nulles sont les suivantes: r(a2,a2) = a13, r(a2,a8) = a11, r(a4,a) = a12, r(a8,a8) = a13, r(a9,a5)=a6, r(a9,a10)=a13, r(a10,a)=a, r(a13,a)=a2.  Suppose we receive a word r whose non-zero components are: r (a2, a2) = a13, r (a2, a8) = a11, r (a4, a) = a12, r (a8, a8) = a13, r (a9, a5) = a6, r (a9, a10) = a13, r (a10, a) = a, r (a13, a) = a2.

Pour ce mot reçu, le vecteur de syndromes d'erreurs (à n k = 18 composantes) 20 s = H É rT est le suivant: s = H T= [a8a11 a14a a5a7 a a4 a2a41 a a a50 0 0 1]T (7) Dans ce cas, un algorithme de localisation d'erreurs (par exemple, l'algorithme de O'Sullivan cité ci-dessus) produit (au moyen, au passage, du calcul de quatre syndromes de la matrice étendue S*) une base de Grôbner constituée de deux éléments, à savoir GI(X,Y)=ao(X)+Yal(X) et G2 (X, Y)=b0(X)+Yb](X), où ao(X) =a'+ax+ X3+a10X4+X5, al(X)=a10+a10X4+a14X2, b0(X) =a3 +a12X +2) (2 +X3 +a14X4 + a4X5, et b1(X) = a9 +a2X +a4X2 +X3 Conformément à l'invention, on calcule alors: z(X) = ao (X)b1(X) al (X)bo (X) =a12 +a7X +X2 +a5X3 +a4X4 +a6X5 +a3X6 +a6X7 +X8. 5 La dérivée de z(X) est: z'(X) = a7 +a5X2 +a6X4 +a6X6.  For this word received, the vector of error syndromes (at nk = 18 components) s = H ERT is the following: s = HT = [a8a11 a14a a5a7 a a4 a2a41 aa a50 0 0 1] T (7) In this case, an error localization algorithm (for example, the O'Sullivan algorithm cited above) produces (by means, in passing, of the calculation of four syndromes of the extended matrix S *) a base of Grobner consists of two elements, namely GI (X, Y) = ao (X) + Yal (X) and G2 (X, Y) = b0 (X) + Yb] (X), where ao (X) = a + 1 + X3 + a10X4 + X5, α1 (X) = a10 + α10X4 + α14X2, b0 (X) = α3 + α12X + 2) (2 + X3 + a14X4 + a4X5, and b1 (X) = a9 + a2X + a4X2 + X3 According to the invention, then: z (X) = ao (X) b1 (X) a1 (X) bo (X) = a12 + a7X + X2 + a5X3 + a4X4 + a6X5 + a3X6 + a6X7 + X8 The derivative of z (X) is: z '(X) = a7 + a5X2 + a6X4 + a6X6.

Le PGCD de z(X) et z'(X) est: D(X) = a4X4 +a11X2 +all et la racine carrée de D(X) est: D*(X)=a2X2+a13X+a13 On obtient enfin le polynôme de localisation en X: A(X)=D(X)* )=a-2(X6+aX5 +a14X4+a2X3+a14X2+a6X+a), dont les racines x = a2,a4,a8,a9,a10,a13 étiquettent donc les agrégats erronés de ce mot reçu.  The GCD of z (X) and z '(X) is: D (X) = a4X4 + a11X2 + all and the square root of D (X) is: D * (X) = a2X2 + a13X + a13 We finally get the localization polynomial in X: A (X) = D (X) *) = a-2 (X6 + aX5 + a14X4 + a2X3 + a14X2 + a6X + a), whose roots x = a2, a4, a8, a9 , a10, a13 therefore label the erroneous aggregates of this received word.

Ceci achève la mise en oeuvre du procédé selon l'invention, mais on va à présent, en outre, montrer comment on peut achever la correction du mot reçu en mettant en oeuvre le procédé, décrit succinctement ci-dessus, selon la demande française n 0402033.  This completes the implementation of the method according to the invention, but will now also show how one can complete the correction of the word received by implementing the method, described briefly above, according to the French application n 0402033.

L'algorithme de correction d'erreurs pour j= 0 donne: Eo(a2)=a4, Eo(a4) =a12, Eo(a8)=a13, Eo(a9)=1, Eo(alo)=1, et Eo(a13)=a2, et l'algorithme de correction d'erreurs pour j= 1 donne: E1(a2)=a, E1(a4)=a13, E1(a8)=a6, E1(a9)=a', E1(alo)=a, et El(a13)=a3.  The error correction algorithm for j = 0 gives: E0 (a2) = a4, E0 (a4) = a12, E0 (a8) = a13, E0 (a9) = 1, E0 (a1) = 1, and Eo (a13) = a2, and the error correction algorithm for j = 1 gives: E1 (a2) = a, E1 (a4) = a13, E1 (a8) = a6, E1 (a9) = a ' , E1 (a1) = a, and E1 (a13) = a3.

Pour terminer, on regroupe les résultats ci-dessus agrégat par agrégat, et on résout le système d'équations (4) (de dimension 2) pour chaque agrégat: - pour x1 = a2, sachant que Yl(a2)=a2, Y2(a2)=a8, on trouve: ê(a2,Y1(a2))=a13,ê(a2,Y2(a2))=a11; - pour x2 = a4, sachant que Yl(a4)=a, Y2(a4)=a4, on trouve: e(a4,Y1(a4)) =a12, e(a4,Y2( 4)) = 0 - pour x3 = a8, sachant que Yi(a8)=a2, Y2(a8)=ag, on trouve: ê(a8,Y1(a8)) _ 0, ê(a8,Y2(a8)) = a13 - pour x4 = a9, sachant que Yl(a9)=a5, Y2(a9)=a1 , on trouve: ê(a9,Y1(a9)) = a6, e(a9,Y2(a9)) = a13 - pour x4 = a10, sachant que Yi(a10)=a, Y2(a10)=a4, on trouve: ê(a10,Y1(al ) =1, ê(a'',Y2(ai ) = ; pour x5 = a13, sachant que Y](a13)=a, Y2(a13)=a4, on trouve: e(a13, Y1(a13)) = a2, ê(a13, y2(a13)) = 0 On peut vérifier la justesse de ces résultats de diverses manières. 25 et  Finally, we aggregate the results above aggregate by aggregate, and we solve the system of equations (4) (of dimension 2) for each aggregate: - for x1 = a2, knowing that Yl (a2) = a2, Y2 (a2) = a8, we find: ê (a2, Y1 (a2)) = a13, ê (a2, Y2 (a2)) = a11; for x2 = a4, knowing that Yl (a4) = a, Y2 (a4) = a4, we find: e (a4, Y1 (a4)) = a12, e (a4, Y2 (4)) = 0 - for x3 = a8, knowing that Yi (a8) = a2, Y2 (a8) = ag, we find: ê (a8, Y1 (a8)) 0, ê (a8, Y2 (a8)) = a13 - for x4 = a9, knowing that Yl (a9) = a5, Y2 (a9) = a1, we find: ê (a9, Y1 (a9)) = a6, e (a9, Y2 (a9)) = a13 - for x4 = a10, knowing that Yi (a10) = a, Y2 (a10) = a4, we find: ê (a10, Y1 (al) = 1, ê (a '', Y2 (ai) = for x5 = a13, knowing that Y ] (a13) = a, Y2 (a13) = a4, one finds: e (a13, Y1 (a13)) = a2, ê (a13, y2 (a13)) = 0 One can verify the accuracy of these results of various 25 and

Par exemple, on constate que les agrégats étiquetés par x1 = a2 et x4 = a9comprennent deux composantes erronées, cependant que les autres agrégats erronés ne comprennent qu'une seule composante erronée; autrement dit, dans la notation introduite ci-dessus, d'une part s(xl) = E(x4) = 2, et d'autre part S(X2)=E(X3)=e(X5)=l. Or, comme expliqué ci- dessus, les valeurs x, de X qui étiquettent les agrégats tels que c(x ) = 2 coïncident avec les racines du polynôme D * (X) . En effet, on vérifie facilement que les racines de D*(X)=a2X2+a13X+a13 sont bien a2 et a9.  For example, we find that the aggregates labeled x1 = a2 and x4 = a9have two erroneous components, while the other erroneous aggregates have only one erroneous component; in other words, in the notation introduced above, on the one hand s (xl) = E (x4) = 2, and on the other hand S (X2) = E (X3) = e (X5) = 1. Now, as explained above, the x values of X which tag the aggregates such that c (x) = 2 coincide with the roots of the polynomial D * (X). Indeed, we easily check that the roots of D * (X) = a2X2 + a13X + a13 are indeed a2 and a9.

On peut également vérifier, en utilisant les coordonnées (indiquées cidessus) des points de la courbe algébrique appartenant à des agrégats erronés, que le mot ê dont certaines composantes sont données ci-dessus et les autres sont nulles, est, comme souhaité, tel que s; _ h1 ê) pour toutes les composantes s; du vecteur de syndromes d'erreurs données en (7) . On trouve donc finalement: 7'=r ê= 0; autrement dit, selon l'estimation, le mot de code envoyé se trouve être, en l'occurrence, le mot nul.  It is also possible to verify, by using the coordinates (indicated above) points of the algebraic curve belonging to erroneous aggregates, that the word ê of which some components are given above and the others are zero, is, as desired, such that s; _ h1 ê) for all components s; the vector of error syndromes given in (7). We thus finally find: 7 '= r = = 0; in other words, according to the estimate, the sent codeword happens to be, in this case, the null word.

Le schéma synoptique de la figure 2 représente un appareil de lecture de signaux numériques codés 70 incorporant 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.  The block diagram of FIG. 2 represents a coded digital signal reading device 70 incorporating the decoder 10. This apparatus 70 comprises a keyboard 711, a screen 709, an external information recipient 109, a data reader 105 and a demodulator 106, jointly connected to input / output ports 703 of the decoder 10 which is embodied herein as a logical unit.

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 - lesdits ports d'entrée/sortie 703.  The decoder 10 comprises, interconnected by an address and data bus 702: a central processing unit 700, a random access memory (RAM) 704, a read only memory (ROM) 705, and said ports input / output 703.

Chacun des éléments illustrés en figure 2 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: - 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, sous forme de séquences de données binaires, - le lecteur 105 est adapté à lire des données enregistrées sur un 10 support tel qu'un disque magnétique ou magnéto-optique.  Each of the elements illustrated in FIG. 2 is well known to those skilled in the field of microcomputers and mass storage systems and, more generally, information processing systems. These known elements are therefore not described here. It is observed, however, that: the information recipient 109 could be, for example, an interface device, a display, a modulator, an external memory or another information processing system (not shown), and could be adapted to receive signal sequences representative of speech, service messages or multimedia data, particularly of the IP or ATM type, in the form of binary data sequences, the reader 105 is adapted to read data recorded on a network. Support such as a magnetic or magneto-optical disk.

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, - un registre mots associés , dans lequel sont conservés les 20 symboles des mots de code associés , et - un registre symboles information , dans lequel sont conservés les symboles résultant de la suppression de la redondance.  The RAM 704 stores data, variables and intermediate processing results, in memory registers carrying, in the description, the same names as the data whose values they retain. The random access memory 704 comprises in particular the following registers: received word registers, in which the received words are stored, - an estimated symbol register, in which are kept the symbols resulting from a word received during correction, - a word register associated, in which are kept the symbols of the associated codewords, and - an information symbol register, in which are kept the symbols resulting from the suppression of the redundancy.

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 25 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 - les coefficients des polynômes uo(X) et u1(X) figurant dans l'équation (1) représentant la courbe hyperelliptique, dans des registres uo et ul .  The read-only memory 705 is adapted to keep, in registers which, for convenience, have the same names as the data they retain: the operating program of the central processing unit 700, in a program register; the length of the code words in a register n, - the cardinal of the Galois body Fq serving as an alphabet for the code used, in a register q, - the number of information symbols used to construct a code word, in a register k, and - the coefficients of the polynomials uo (X) and u1 (X) appearing in equation (1) representing the hyperelliptic curve, in uo and ul registers.

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.  An application of the invention to mass storage of data has been described above by way of example, but it is clear that the methods according to the invention can equally well be implemented within a network of data. telecommunications, in which case the unit 105 for example could be a receiver adapted to implement a packet data transmission protocol on a radio channel.

Claims (10)

REVENDICATIONS 1. Procédé de localisation d'agrégats erronés de composantes d'un 5 mot reçu r appliqué au décodage pour un code défini sur une courbe hyperelliptique représentée par une équation du type Y2 +Yul (X) +uo(X) =0, définie sur un corps de Galois dont le cardinal q est égal à une puissance de 2 et est supérieur à 2, procédé dans lequel on calcule une base de Grôbner ç associée au mot reçu r, ledit procédé étant caractérisé en ce que, lorsque l'idéal de Grôbner associé à r ne comprend pas de polynôme ne dépendant que de la variable X, il comprend les étapes suivantes: - on obtient un polynôme z(X) qui est égal à z(X) =uo(X)[ai(X)] 2 ut(X)at(X)ao(X)+[ao(X)]2 si ladite base de Grôbner ç ne contient qu'un élément Gl (X, Y) = ao (X) + Yal (X) , 15 et qui est égal à z(X) = ao (X) bl (X) al (X)bo (X) si ladite base de Grôbner ç contient deux éléments Gl (X, Y) = ao (X) + Val (X) et G2(X,Y) =bo(X)+Ybl(X), - on calcule la dérivée z'(X) de z(X), - on calcule le plus grand commun diviseur D(X) de z(X) et z'(X), qui est de la forme D(X) = di X 2, et - on calcule le polynôme A(X) _ z(X) D*(X) ' où D *(X) = E.dlq/2 XI 2. Procédé de localisation d'agrégats erronés selon la revendication 1, caractérisé en ce que l'on obtient l'ensemble des valeurs de X étiquetant les agrégats erronés dudit mot reçu r en calculant les racines dudit polynôme A(X).  1. Method for locating erroneous aggregates of components of a received word r applied to the decoding for a code defined on a hyperelliptic curve represented by an equation of the type Y2 + Yul (X) + uo (X) = 0, defined on a Galois body whose cardinal q is equal to a power of 2 and is greater than 2, a method in which a Grobner base ç associated with the received word r is calculated, said method being characterized in that, when the ideal of Grobner associated with r does not include a polynomial depending only on the variable X, it comprises the following steps: - we obtain a polynomial z (X) which is equal to z (X) = uo (X) [ai (X) )] Ut (X) at (X) ao (X) + [ao (X)] 2 if said Grobner base ç contains only one element Gl (X, Y) = ao (X) + Yal (X ), And which is equal to z (X) = ao (X) b1 (X) a1 (X) bo (X) if said Grobner base ç contains two elements Gl (X, Y) = ao (X) + Val (X) and G2 (X, Y) = Bo (X) + Ybl (X), - the derivative z '(X) of z (X), - o is calculated n calculates the greatest common divisor D (X) of z (X) and z '(X), which is of the form D (X) = di X 2, and - we calculate the polynomial A (X) _ z ( X) D * (X) 'where D * (X) = E.dlq / 2 XI 2. Method for locating erroneous aggregates according to claim 1, characterized in that the set of values of X is obtained labeling the erroneous aggregates of said received word r by calculating the roots of said polynomial A (X). 3. Procédé de localisation d'agrégats erronés selon la revendication 1 ou la revendication 2, caractérisé en ce que l'on obtient l'ensemble des valeurs de X étiquetant les agrégats contenant exactement deux composantes erronées dudit mot reçu r en calculant les racines dudit polynôme D * (X) ou dudit polynôme D(X).  3. A method of locating erroneous aggregates according to claim 1 or claim 2, characterized in that one obtains the set of values of X labeling the aggregates containing exactly two erroneous components of said received word r by calculating the roots of said polynomial D * (X) or said polynomial D (X). 4. Dispositif (107) de localisation d'agrégats erronés de composantes d'un mot reçu r appliqué au décodage pour un code défini sur une courbe hyperelliptique représentée par une équation du type Y2 +Yu,(X)+uo(X) = 0, définie sur un corps de Galois dont le cardinal q est égal à une puissance de 2 et est supérieur à 2, comprenant des moyens pour calculer une base de Grôbner g associée au mot reçu r, ledit dispositif étant caractérisé en ce qu'il comprend également des moyens pour, lorsque l'idéal de Grôbner associé à r ne comprend pas de polynôme ne dépendant que de la variable X: - obtenir un polynôme z(X) qui est égal à z(X) =uo(X){ai(X)]2 u1(X)a1(X)ao(X)+{ao(X)]2 si ladite base de Grôbner g ne contient qu'un élément Gl (X, Y) = ao (X) + Yal (X) , et qui est égal à z(X) = ao (X)b1 (X) al (X)bo (X) si ladite base de Grôbner g contient deux éléments Gl (X, Y) = ao (X) +Ya (X) et 20 G2 (X, Y) = bo (X) + Ybl (X) , - calculer la dérivée z'(X) de z(X) , - calculer le plus grand commun diviseur D(X) de z(X) et z'(X), qui est de la forme D(X) = Ei di x 2i, et - calculer le polynôme A(X) = z(X) D*(X) ' où D*(X)= idigl2Xi 5. Dispositif de localisation d'agrégats erronés selon la revendication 4, caractérisé en ce qu'il comprend également des moyens pour obtenir l'ensemble des valeurs de X étiquetant les agrégats erronés dudit mot reçu r en calculant les racines dudit polynôme A(X).  4. Device (107) for locating erroneous aggregates of components of a received word r applied to the decoding for a code defined on a hyperelliptic curve represented by an equation of the type Y2 + Yu, (X) + uo (X) = 0, defined on a Galois body whose cardinal q is equal to a power of 2 and greater than 2, comprising means for calculating a Grobner base g associated with the received word r, said device being characterized in that also includes means for, when Grobner's ideal associated with r does not include a polynomial depending only on the variable X: - obtain a polynomial z (X) which is equal to z (X) = uo (X) { ai (X)] 2 u1 (X) a1 (X) ao (X) + {ao (X)] 2 if said Grobner base g contains only one element Gl (X, Y) = ao (X) + Yal (X), and which is equal to z (X) = ao (X) b1 (X) a1 (X) bo (X) if said Grobner base g contains two elements Gl (X, Y) = ao (X) ) + Ya (X) and G2 (X, Y) = bo (X) + Ybl (X), - calculate the derivative z '(X) of z ( X), - calculate the greatest common divisor D (X) of z (X) and z '(X), which is of the form D (X) = Ei di x 2i, and - calculate the polynomial A (X) = z (X) D * (X) 'where D * (X) = idigl2Xi 5. Device for locating erroneous aggregates according to claim 4, characterized in that it also comprises means for obtaining all the values of X labeling the erroneous aggregates of said received word r by calculating the roots of said polynomial A (X). 6. Dispositif de localisation d'agrégats erronés selon la revendication 4 ou la revendication 5, caractérisé en ce qu'il comprend également des moyens pour obtenir l'ensemble des valeurs de X étiquetant les agrégats contenant exactement deux composantes erronées dudit mot reçu r en calculant les racines dudit polynôme D * (X) ou dudit polynôme D(X).  6. Device for locating erroneous aggregates according to claim 4 or claim 5, characterized in that it also comprises means for obtaining all the values of X labeling the aggregates containing exactly two erroneous components of said received word r. calculating the roots of said polynomial D * (X) or said polynomial D (X). 7. Décodeur (10), caractérisé en ce qu'il comprend: - au moins un dispositif de localisation d'agrégats erronés selon l'une 10 quelconque des revendications 4 à 6, et - au moins une unité de suppression de la redondance (108).  7. Decoder (10), characterized in that it comprises: - at least one device for locating erroneous aggregates according to any one of claims 4 to 6, and - at least one redundancy suppression unit ( 108). 10. Appareil de réception de signaux numériques codés (70), caractérisé en ce qu'il comprend un décodeur selon la revendication 7, et en ce qu'il comprend des moyens (106) pour démoduler lesdits signaux numériques codés.  An encoded digital signal receiving apparatus (70), characterized by comprising a decoder according to claim 7, and comprising means (106) for demodulating said encoded digital signals. 11. Système informatique (70), caractérisé en ce qu'il comprend un décodeur selon la revendication 7, et en ce qu'il comprend en outre: - au moins un disque dur, et - au moins un moyen de lecture (105) de ce disque dur.  Computer system (70), characterized in that it comprises a decoder according to claim 7, and in that it further comprises: - at least one hard disk, and - at least one reading means (105) of this hard drive. 10. Moyen de stockage de données inamovible, caractérisé en ce qu'il comporte des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de localisation d'agrégats erronés selon l'une quelconque des revendications 1 à 3.  10. Non-removable data storage means, characterized in that it comprises computer program code instructions for performing the steps of an error aggregation localization method according to any one of claims 1 to 3. 11. Moyen de stockage de données partiellement ou totalement amovible, caractérisé en ce qu'il comporte des instructions de code de programme informatique pour l'exécution des étapes d'un procédé de localisation d'agrégats erronés selon l'une quelconque des revendications 1 à 3.  11. Partially or totally removable data storage means, characterized in that it comprises computer program code instructions for executing the steps of a method for locating erroneous aggregates according to any one of claims 1. at 3. 12. Programme d'ordinateur, caractérisé en ce qu'il contient 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é de localisation d'agrégats erronés selon l'une quelconque des revendications 1 à 3.  Computer program, characterized in that it contains instructions such that, when said program controls a programmable data processing device, said instructions cause said data processing device to implement a method of localization of data. erroneous aggregates according to any one of claims 1 to 3.
FR0412140A 2004-11-16 2004-11-16 METHOD AND DEVICE FOR LOCATING ERRORS APPLIED TO DECODING FOR HYPERELLIPTIC CODES Expired - Fee Related FR2878096B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0412140A FR2878096B1 (en) 2004-11-16 2004-11-16 METHOD AND DEVICE FOR LOCATING ERRORS APPLIED TO DECODING FOR HYPERELLIPTIC CODES

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0412140A FR2878096B1 (en) 2004-11-16 2004-11-16 METHOD AND DEVICE FOR LOCATING ERRORS APPLIED TO DECODING FOR HYPERELLIPTIC CODES

Publications (2)

Publication Number Publication Date
FR2878096A1 true FR2878096A1 (en) 2006-05-19
FR2878096B1 FR2878096B1 (en) 2007-01-12

Family

ID=34952846

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0412140A Expired - Fee Related FR2878096B1 (en) 2004-11-16 2004-11-16 METHOD AND DEVICE FOR LOCATING ERRORS APPLIED TO DECODING FOR HYPERELLIPTIC CODES

Country Status (1)

Country Link
FR (1) FR2878096B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132078B2 (en) 2004-12-23 2012-03-06 Canon Kabushiki Kaisha Decoding method for algebraic geometric codes and associated device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1434132A1 (en) * 2002-12-26 2004-06-30 Canon Kabushiki Kaisha An algebraic geometric code adapted to error bursts

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1434132A1 (en) * 2002-12-26 2004-06-30 Canon Kabushiki Kaisha An algebraic geometric code adapted to error bursts

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LEONARD D A: "A GENERALIZED FORNEY FORMULE FOR ALGEBRAIC-GEOMETRIC CODES", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE INC. NEW YORK, US, vol. 42, no. 4, July 1996 (1996-07-01), pages 1263 - 1268, XP000956925, ISSN: 0018-9448 *
O'SULLIVAN M E: "A Generalization of the Berlekamp-Massey-Sakata Algorithm", 15 June 2001 (2001-06-15), pages 1 - 25, XP002300271, Retrieved from the Internet <URL:http://www-rohan.sdsu.edu/~mosulliv/Papers/bmsalg6.ps.gz> [retrieved on 20041012] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8132078B2 (en) 2004-12-23 2012-03-06 Canon Kabushiki Kaisha Decoding method for algebraic geometric codes and associated device

Also Published As

Publication number Publication date
FR2878096B1 (en) 2007-01-12

Similar Documents

Publication Publication Date Title
FR2860360A1 (en) Improved fidelity digital word communications system transmit/record having reed solomon coder/decoder and error correction block/memory registers
FR2849514A1 (en) CODE OF ALGEBRA GEOMETRY ADAPTED TO RAFALE ERRORS
WO2009095574A2 (en) Method and entity for probabilistic symmetrical encryption
FR2909499A1 (en) Low density parity check code word decoding method for communication apparatus, involves determining messages, from variable node to control node, relative to set of symbols such that minimal value is null
EP2119095B1 (en) Ciphering method using error correcting codes
FR2778289A1 (en) ITERATIVE DECODING OF PRODUCT CODES
FR2853976A1 (en) Information symbol encoding method for use in coded image transmission application, involves completing words corresponding to redundancy symbol such that other formed words is orthogonal to one matrix, and forming code word
FR2866998A1 (en) Algebraic geometry code decoding method for encoded digital signal receiving apparatus, involves implementing errors correction algorithm adapted to Reed-Solomon code in order to calculate errors on components of Reed-Solomon code word
FR2812150A1 (en) DEVICE FOR TRANSMITTING / RECEIVING DIGITAL DATA CAPABLE OF PROCESSING DIFFERENT RATES, ESPECIALLY IN A VDSL ENVIRONMENT
FR2845220A1 (en) Method and device for decoding the algebraic-geometric codes at a point, comprises the construction of a sequence of syndromes matrices ending with a zero row elements matrix
FR2790621A1 (en) Interlacing method for coding and decoding of turbo codes of binary symbols representing a physical magnitude using two convolute recursive coders having polynomial divisor with same data period
US7461329B2 (en) Channel encoding adapted to error bursts
FR2785744A1 (en) Data sequence coding for image, sound data etc applications involves retrieval of primary and permuted data, their division by given polynomial for formation a controlling sequence
FR2863794A1 (en) Algebraic geometry code decoding method for e.g. data recoding system, involves applying bi-phase decoding algorithm to syndrome matrix that provides set of polynomials called phase locating candidates
FR2865083A1 (en) Fiber product`s algebraic geometry code decoding process for communication system, involves decoding compiled algebraic codes, defined on same algebraic curve represented by equation in X and Z
FR2540690A1 (en) ENCODER CHECKER
FR2891419A1 (en) Block decoder e.g. channel decoder, for digital satellite television receiver, has decoding unit processing data blocks stored in input memory, and control unit multiplexing blocks as input to decoding unit by recording and reading blocks
EP0204612A1 (en) Method for transmitting data with a possibility for packet error correction, and coding and decoding apparatus for carrying out said method
EP1989807B1 (en) Method and system for transmitting a message expressed by means of a polynomial
FR2880218A1 (en) DECODING METHOD FOR ALGEBRATIC GEOMETRY CODES AND DEVICE THEREOF
FR2838580A1 (en) Methods and devices of low cost for decoding the codes products
FR2878096A1 (en) Erroneous aggregates locating method, involves obtaining polynomial if Grobner base contains only one component and calculating another polynomial based on previous polynomial and large common divisor if Grobner base contains two components
FR2858141A1 (en) Information symbol coding process for use in communication system, involves coding information word of preset length of form belonging to Reed-Solomon code of preset size and length
FR2995162A1 (en) METHOD OF OPTIMIZING THE SPECTRAL EFFICIENCY OF A DATA TRANSMISSION AND DEVICE USING THE METHOD
FR2873875A1 (en) Erroneous aggregates locating method for e.g. communication system, involves determining, from polynomial for locating errors in variable, set of values of variable having value of variable labeling erroneous aggregates

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140731