FR2851096A1 - Procede et dispositif de codage - Google Patents

Procede et dispositif de codage Download PDF

Info

Publication number
FR2851096A1
FR2851096A1 FR0301546A FR0301546A FR2851096A1 FR 2851096 A1 FR2851096 A1 FR 2851096A1 FR 0301546 A FR0301546 A FR 0301546A FR 0301546 A FR0301546 A FR 0301546A FR 2851096 A1 FR2851096 A1 FR 2851096A1
Authority
FR
France
Prior art keywords
integer
elements
matrix
code
equation
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.)
Withdrawn
Application number
FR0301546A
Other languages
English (en)
Inventor
Philippe Piret
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 FR0301546A priority Critical patent/FR2851096A1/fr
Priority to PCT/IB2004/000873 priority patent/WO2004070956A1/fr
Publication of FR2851096A1 publication Critical patent/FR2851096A1/fr
Withdrawn legal-status Critical Current

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
    • 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Pour coder une séquence d'information comportant k symboles, k étant un entier positif, sous la forme d'un mot de code de longueur n, n étant un entier supérieur à k, ce mot de code appartenant à un code de géométrie algébrique, on complète la séquence d'information de k symboles par n-k symboles de redondance pour former le mot de code, de façon que les k symboles d'information forment un sous-ensemble du mot de code, en utilisant pour ce faire une pluralité de codeurs de Reed-Solomon.

Description

i
La présente invention se rapporte à un procédé et à un dispositif de codage.
La présente invention concerne les systèmes de communication dans lesquels, afin d'améliorer la fidélité de la transmission, les données à transmettre sont soumises à un codage de canal.
On rappelle que le codage dit "de canal" consiste, quand on forme des "mots de code" envoyés au récepteur, à introduire une certaine redondance 10 dans les données à transmettre. Plus précisément, on transmet, au moyen de chaque mot de code, un nombre prédéterminé k de symboles d'information choisis au sein d'un "alphabet" prédéterminé de taille finie q; on forme à partir de ces k symboles d'information un nombre n de symboles prélevés dans le même alphabet, de manière à former des mots de code v = (vI, V2, .., Vn); 15 l'ensemble des règles de calcul de ces n symboles en fonction des k symboles d'information définit un "code", ou "procédé de codage", de "dimension" k et de "longueur" n, ainsi caractérisé par un certain ensemble de mots de code constituant une sorte de dictionnaire.
Lorsque la taille q de l'alphabet est une puissance d'un nombre 20 premier, on peut donner à cet alphabet une structure de corps, dit "corps de Galois Fq". Dans ce cas, certains codes peuvent, de façon commode, être définis au moyen d'une matrice H de dimension (n-k)xn définie sur Fq, dite "matrice de parité" (en anglais "parity-check matrix"): 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 25 l'exposant T indique la transposition).
Parmi les codes connus, on peut citer les "codes de Reed-Solomon", qui sont réputés pour leur efficacité (pour une définition des codes de ReedSolomon, on pourra se référer à l'ouvrage de R.E. BLAHUT intitulé "Theory and practice of error-control codes", Addison-Wesley, Reading, Mass., 1983). Ces 30 codes sont définis sur Fq.
Mais les codes de Reed-Solomon présentent la particularité que la longueur n des mots de code est nécessairement inférieure ou égale à la taille q de l'alphabet des symboles. De ce fait, si 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 coteuses 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.
Or dans les supports d'information modernes, par exemple dans les enregistrements de CD (disques compacts, en anglais "Compact Discs") et de DVD (disques vidéo numériques, en anglais "Digital Video Discs"), on cherche à accroître la densité d'information. Quand un tel support est affecté par un 10 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. C'est pourquoi on a cherché à construire des codes offrant de manière naturelle une plus grande longueur de mots que les codes de ReedSolomon.
On a notamment proposé récemment des codes dits "codes de géométrie algébrique" (en anglais "algebraic geometry codes") ou "codes de Goppa géométriques" (voir par exemple "Algebraic Geometric Codes", par J.H.
VAN LINT, dans "Coding Theory and Design Theory', 1ère partie, IMA Volumes Math. Appl., volume 21, Springer-Verlag, Berlin, 1990). Ces codes, eux aussi 20 définis sur un corps de Galois Fq, sont construits à partir d'une équation algébrique à deux inconnues X et Y. Les solutions de cette équation algébrique peuvent être considérées comme les coordonnées (xi,yj) de points d'une "courbe algébrique".
Un code de géométrie algébrique C de longueur n et de dimension k 25 sur le corps de Galois fini Fq peut être décrit au moyen d'une matrice de parité H de dimension (n-k)xn et de rang n-k: C = {v e Fq" t H.vT = 0}, o T désigne la transposition, et o la matrice H est obtenue comme suit.
Tout d'abord, on définit une courbe dans Fq2 au moyen d'une équation f(X,Y) = 0 o f(X,Y) est un polynôme à deux variables absolument 30 irréductible sur Fq. L'ensemble de solutions (X = x, Y = y) de cette équation est appelé "ensemble de localisation" (en anglais "locating ser') . Dans la suite, on suppose que la courbe est une courbe Cab: le monôme de degré en X le plus élevé est Xa, le monôme de degré en Y le plus élevé est yb, éventuellement multiplié par un élément non nul de Fq, et (a,b) = 1, c'est-à-dire que a et b sont relativement premiers entre eux. Ensuite, à tout monôme XiYi avec i > 0 et b-1 > j > 0, on associe la fonction poids p(XiYi) = bi + aj. Par exemple, avec f(X,Y) = 5 y4 + y + X17, p(X'Yi) = 4i + 17j. Ces monômes peuvent être ordonnés suivant la valeur de leur fonction poids. Dans l'exemple, on obtient la table 1 suivante, o les monômes sont rangés par poids croissant: monômes 1 X X X X y4 Y x X YX X6 YX X YX X YX4 YZ X...
nom fi f2 f3 f4 f5 f6 f7 f8 fg fl0 fl1 f12 fi3 fi4 fis fia6...
p(f,) 0 4 8 12 16 17 20 21 24 25 28 29 32 33 34 36...
Table 1
Soient {(xl,yl), ..., (xn,yn)} les n solutions dans Fq2 de f(X,Y) = 0. La première ligne de la matrice H contient l'évaluation du premier monôme f1 (qui est toujours égal à 1) aux n points de l'ensemble de localisation. Ainsi, la 15 première ligne de la matrice H est (11...11). La deuxième ligne de H contient l'évaluation du deuxième monôme f2 (qui est toujours égal à X) aux n points de l'ensemble de localisation. Ainsi, la deuxième ligne de H est (x, x2... xn,- xn). La construction de H continue de cette façon jusqu'à ce que la (n-k)ème ligne de H soit atteinte. Dans l'exemple de la table 1, la 5ème ligne de H est la séquence de 20 Xi4, la 6ème ligne de H est la séquence de yi et la 10ème ligne de H est la séquence de yixi2.
On sait qu'il est possible de coder des codes de géométrie algébrique en maintenant la complexité à un niveau raisonnable. Cependant, la plupart des codeurs des codes de géométrie algébrique ne sont pas 25 systématiques. Cela veut dire que les symboles d'information ne se retrouvent pas à l'identique, c'est-à-dire non transformés, dans les positions préalablement choisies du mot codé.
Par exemple, I'article de T. YAGHOOBIAN et I.F. BLAKE intitulé "Hermitian codes as generalized Reed-Solomon codes", in Designs, Codes and 30 Cryptography, vol. 2, pp. 5-17, 1992, mentionne la possibilité d'effectuer un codage simple d'un code de géométrie algébrique au moyen de codeurs de Reed-Solomon, mais ce codage ne présente pas un aspect systématique au sens o les symboles à coder ne se retrouvent pas à l'identique dans la séquence codée.
On connaît aussi l'article de R. MATSUMOTO, M. OISHI et K. SAKANIWA intitulé "Fast encoding of algebraic geometry codes", paru dans IEICE TRANS. FUNDAMENTALS, vol. E84-A, n0 10, pp. 2514-2517, octobre 2001, mais son but n'est pas d'obtenir des codeurs systématiques.
Enfin l'article de C. HEEGARD, J. LITTLE et K. SAINTS intitulé 10 "Systematic encoding via Grôbner bases for a class of algebraic geometric Goppa codes" paru dans IEEE Trans. On Inform. Theory, vol. 41, n0 6, pp. 1752-1761, novembre 1995, propose la construction de codeurs systématiques, mais en utilisant une méthode qui dépend de la construction d'une base de Grôbner, ce qui n'est pas le cas de la présente invention.
La présente invention a pour but de remédier aux inconvénients précités, en proposant un codage dit systématique des codes de géométrie algébrique.
Dans ce but, la présente invention propose un procédé de codage d'une séquence d'information comportant k symboles, k étant un entier positif, 20 sous la forme d'un mot de code de longueur n, n étant un entier supérieur à k, ce mot de code appartenant à un code de géométrie algébrique, ce procédé étant remarquable en ce qu'il comporte une étape consistant à compléter la séquence d'information de k symboles par n-k symboles de redondance pour former le mot de code, de façon que les k symboles d'information forment un 25 sous-ensemble du mot de code, en utilisant pour ce faire une pluralité de codeurs de Reed-Solomon.
Ainsi, dans chaque mot codé, les symboles d'information apparaissent inchangés à des emplacements déterminés et, grâce aux codes de ReedSolomon, on peut ainsi coder les codes de géométrie algébrique, de 30 façon systématique, avec une relative simplicité.
La présente invention peut s'appliquer aussi bien - à un code de géométrie algébrique construit sur une courbe f(X,Y) = 0, de type Ca,b, qui contient bxq points (x,y) sur un corps de Galois Fq à q éléments, q étant une puissance d'un nombre premier et b étant le degré le plus élevé en Y de l'équation f(X,Y) = 0, ou - à un code de géométrie algébrique construit sur une courbe f(X,Y) =0, de type Ca,b, qui contient un nombre de points (x,y) strictement inférieur à bxq sur un corps de Galois Fq à q éléments, q étant une puissance d'un nombre premier et b étant le degré le plus élevé en Y de l'équation f(X,Y) = 0, ou - à un code qui, bien que n'étant pas un code de géométrie 10 algébrique, a une matrice de parité d'une des formes (1) ou (13) données plus loin, avec t(0) > t(1) > ... et c(0) D c(1) ...
Dans le premier cas, on dit que la courbe f(X,Y) = 0 est attrayante et dans le second cas, elle est non attrayante.
Dans un mode particulier de réalisation, le procédé de codage 15 conforme à l'invention comporte une étape consistant à écrire tout mot de code v, à calculer à partir d'une information, sous la forme d'un b-uplet v = [vo,
., vb 1] de q-uplets ve dans un corps de Galois fini Fq à q éléments, b étant un entier strictement positif, q étant une puissance d'un nombre premier et ú étant un entier compris entre 0 et b-1, v satisfaisant l'équation H.vT = 0, o H désigne la 20 matrice de parité de ce code de géométrie algébrique et T désigne la transposition, et le procédé de codage comporte en outre une étape consistant à définir b mots ui de longueur q dans Fq, i étant un entier compris entre 0 et b1, comme suit: uO =VO +...+vb-1, u1 = ov0O...+ Vb-.1-1, (3) Ub_1 - V0 b -1 +...+Vb_-lb-1 o _ó désigne une matrice diagonale de taille qxq ayant en position (u,u), u étant un entier compris entre 1 et q-1, l'élément ye (yu-), o y est un élément primitif du corps Fq et o les éléments yo(x), ..., ybl(x) sont les solutions en Y d'une équation f(x,Y) = 0 pour tout élément x du corps Fq, et ayant en position (q,q) l'élément y e (0)...DTD: Dans un autre mode particulier de réalisation, le procédé de codage conforme à l'invention comporte une étape consistant à écrire tout mot de code 5 v, à calculer à partir d'une information, sous la forme d'un b- uplet v = [vo, ..., Vb1] de mots ve de longueur ne dans un corps de Galois fini Fq à q éléments, ó étant un entier compris entre 0 et b-1, les ne satisfaisant ne > ne+1, b étant un entier strictement positif, q étant une puissance d'un nombre premier et v satisfaisant l'équation H.vT = 0, o H désigne la matrice de parité dudit code de 10 géométrie algébrique et T désigne la transposition, et le procédé comporte en outre: - une étape consistant à compléter chaque mot ve par no -ne zéros, puis - une étape consistant à définir b mots ui de longueur no dans Fq, i 15 étant un entier compris entre 0 et b-1, comme suit: uO = vO +... + Vb-1, Ul =VoYO +"'+ Vb-l:o-1l (3) Ub_1 = VO0b-1 +...+Vblbb_1.
o Me désigne une matrice diagonale de taille noxno dont les ne premiers éléments diagonaux contiennent les (ú+1)mes solutions ye(x) associées aux ne valeurs de x pour lesquelles l'équation f(x,Y) = 0 admet au moins ó+1 20 solutions en Y. Les deux modes particuliers de réalisation précédents permettent d'associer au mot de code v de longueur b.q, qui est à calculer à partir d'une information, b mots u1 (cf. équations (3)) plus faciles à calculer que le mot v.
Selon une caractéristique particulière, le procédé comporte une 25 étape consistant à réécrire l'équation H.vT =0 sous la forme d'un ensemble de b équations, comme suit:
T
Ht(o)uo 0,
T
Ht(l)uT =0, (4) T = Ht(b-1)Ub_1 0.
o Ht désigne une matrice de taille txq, t étant un entier positif, ayant l'élément y(iT)) en position (ij) pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q-1, ayant l'élément 1 en position (1,q) et ayant des 0 dans 5 les autres positions de la dernière colonne et o, pour tout entier m compris entre 0 et b-1, t(m) désigne le nombre de lignes de la matrice Ht(m).
Selon une autre caractéristique particulière, le procédé conforme à l'invention comporte une étape consistant à réécrire l'équation H.vT = 0 sous la forme d'un ensemble de b équations, comme suit
T
Ht(O)uO = 0,
T
dHt(J)Ui 0,(4 Ht(b-1)Ub_1 = . o pour 1 < l < b, He désigne une matrice de taille t(f) x ne, t(t) étant un entier positif, ayant en position (i,j) pour 1 < i < t(ú) et 1 < j < ne, l'élément y(ji-1)(j1) o yj est le (j+1) ème des éléments x de Fq, pour lesquels l'équation f(x,Y) = 0 admet au moins ú +1 solutions en Y. On obtient ainsi, grâce aux équations (4), un principe de détermination des b mots u1 de longueur q.
Selon une autre caractéristique particulière, le procédé de codage comporte b étapes de calcul pour obtenir les mots ui pour tout entier i compris entre 0 et b-1, la sème étape de calcul, pour tout entier s compris entre 1 et b, 20 utilisant la sème équation du système d'équations (4) pour calculer les t(s-1) derniers symboles de us,- au moyen d'un codeur de Reed-Solomon.
Cela constitue une méthode pratique pour mettre en oeuvre le principe de détermination des u1 tel que brièvement décrit ci-dessus.
La présente invention ne s'applique pas seulement aux codes de géométrie algébrique. Ainsi, dans le même but que celui mentionné plus haut, la présente invention propose aussi un procédé de codage systématique d'une séquence d'information comportant k symboles sur un corps de Galois fini Fq à 5 q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, remarquable en ce que ce mot de code appartient à un code ayant pour matrice de parité une matrice de la forme Ht(o) Ht(o) ... Ht(O) Ht(1)0 Ht(l) ... Ht(1)o-1 H= Ht(2) 2 Ht(2) l2... Ht(2)J2_ 1 (1) Hbl)b 0 b- bHt(b -1) Ht(b-.îY 1. t(b_1)-1 o Ht désigne une matrice de taille txq, t est un entier positif, l'élément en position (i,j) de H est (1)1 pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q-1, I'élément en position (1,q) de H est 1, l'élément en position (i,q) de H est 0 pour i>0, y est un élément primitif de Fq, les t(m) satisfont t(m) > t(m+1) pour m = 0, ..., b-2 et X/î est, pour tout entier e compris 15 entre 0 et b-1, une matrice diagonale de taille qxq ayant l'élément Yu en position (u,u), ces éléments yeu étant tous différents pour C fixé.
Ce procédé de codage présente les mêmes avantages que le procédé de codage succinctement exposé précédemment.
Toujours dans le même but, la présente invention propose aussi un 20 procédé de codage systématique d'une séquence d'information comportant k symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, remarquable en ce que ce mot de code appartient à un code ayant pour matrice de parité une matrice de 25 la forme: H(O) HG(1) ... Ho(b-1) t(O) ' Ht(o) ' t(0) bl(O()fj. HlO(1)tZ co(b-1 H = Ht^(( ) )a Ht(1) ... Ht(1) (1 3) Ho(0) Sb-1 1(1) ó;b-1... Hl(b-1)f/b-1 H H1)4 H (13) t(b-1)Y0 ' t(bl)-;1 ' t(b-1) -?b-1 o les cT(f) sont des sous-ensembles de Fq satisfaisant cv(f) D cy(f+1) pour f = 0, b-2, Ht comprend t lignes et un nombre de colonnes égal au nombre t d'éléments dans ac, l'élément en position (i,i) de Ht est xji'1 o xj représente le 5 jème élément de (y, 0 représente 1 et les éléments des matrices YM, e = 0, ..., b1, qui sont associés à un même xj sont tous différents.
Ce procédé de codage présente les mêmes avantages que le procédé de codage succinctement exposé précédemment.
Toujours dans le même but, la présente invention propose 10 également un dispositif de codage d'une séquence d'information comportant k symboles, k étant un entier positif, sous la forme d'un mot de code de longueur n, n étant un entier supérieur à k, ce mot de code appartenant à un code de géométrie algébrique, ce dispositif étant remarquable en ce qu'il comporte des moyens pour compléter la séquence d'information de k symboles par n-k 15 symboles de redondance pour former le mot de code, de façon que les k symboles d'information forment un sous-ensemble du mot de code, en utilisant pour ce faire une pluralité de codeurs de Reed-Solomon.
Toujours dans le même but, la présente invention propose de plus un dispositif de codage systématique d'une séquence d'information comportant k 20 symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, remarquable en ce que ce mot de code appartient à un code ayant pour matrice de parité une matrice de la forme: Ht(o) Ht(o) ... Ht(o) Ht(1)y0 Ht(1) ... Ht(1)!L1 H= Ht(2)'2 Ht(2)42 Ht(2)421 (1) Ht(b-1)Yb- 1 Ht(b-1) YX< ... Ht(b-1)b_ o Ht désigne une matrice de taille txq, t est un entier positif, l'élément en position (i,j) de H est y7I) pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q- 1, l'élément en position (1,q) de H est 1, I'élément 5 en position (i,q) de H est 0 pour i>0, y est un élément primitif de Fq, les t(m) satisfont t(m) > t(m+1) pour m = 0, ..., b-2 et Yr est, pour tout entier X compris entre 0 et b-1, une matrice diagonale de taille qxq ayant l'élément Yu en position (u,u), ces éléments Y,u étant tous différents pour X fixé.
Toujours dans le même but, la présente invention propose aussi un 10 dispositif de codage systématique d'une séquence d'information comportant k symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, remarquable en ce que ce mot de code appartient à un code ayant pour matrice de parité une matrice de 15 la forme: HT(O) Ha(1) H... c(b-1) t(O) t(O) t(O) iH H= H( Ht() )(bi (13) H = ' 't(1)."Ju ' 't() fl ' t() Pb - 1 (13) Ha(O) b-1 Hta(1) ó)b- 1... lHa(b-1) -b -1 t(b- 1)-M0 't(b-1)'l ' ' t(b-1) _4/b-1 o les o(f) sont des sous-ensembles de Fq satisfaisant c(f) _z (f+l) pour f = 0, b-2, Ha comprend t lignes et un nombre de colonnes égal au nombre t d'éléments dans c7, l'élément en position (i,i) de Ht est xj"-' o xj représente le 20 jème élément de, 0 représente 1 et les éléments des matrices!, = 0, ..., b- 1, qui sont associés à un même xj sont tous différents.
La présente invention vise aussi un appareil de traitement de signaux numériques, comportant des moyens adaptés à mettre en oeuvre un procédé de codage tel que ci-dessus.
La présente invention vise aussi un appareil de traitement de signaux numériques, comportant un dispositif de codage tel que ci-dessus.
La présente invention vise aussi un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de codage tel que ci-dessus.
La présente invention vise aussi un réseau de télécommunications, 10 comportant un dispositif de codage tel que ci-dessus.
La présente invention vise aussi une station mobile dans un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de codage tel que ci-dessus.
La présente invention vise aussi une station mobile dans un réseau 15 de télécommunications, comportant un dispositif de codage tel que ci-dessus.
La présente invention vise aussi une station de base dans un réseau de télécommunications, comportant des moyens adaptés à mettre en oeuvre un procédé de codage tel que ci-dessus.
La présente invention vise aussi une station de base dans un réseau 20 de télécommunications, comportant un dispositif de codage tel que ci-dessus.
L'invention vise aussi: - un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé de codage tel que ci-dessus, et - un moyen de stockage d'informations amovible, partiellement ou totalement, lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre d'un procédé de codage tel que ci-dessus.
L'invention vise aussi un produit programme d'ordinateur comportant 30 des séquences d'instructions pour mettre en oeuvre un procédé de codage tel que ci-dessus.
Les caractéristiques particulières et les avantages des dispositifs de codage, des différents appareils de traitement de signaux numériques, des différents réseaux de télécommunications, des différentes stations mobiles, des différentes stations de base, des différents moyens de stockage et du produit 5 programme d'ordinateur étant similaires à ceux du procédé de codage selon l'invention, ils ne sont pas rappelés ici.
D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemple non limitatif. La description se réfère aux dessins qui 10 l'accompagnent, dans lesquels: - la figure 1 illustre de façon schématique le format du codage conforme à la présente invention, dans un mode particulier de réalisation, pour la courbe y4+y+ X7=0 - la figure 2 est un organigramme illustrant les b étapes du codage 15 conforme à la présente invention, dans un mode particulier de réalisation; - la figure 3 représente la structure des symboles du corps de Galois Fl6 pour les codes conformes à la présente invention associés à la courbe Y3 + y + X4+ X=0 - la figure 4 représente sous une forme schématique simplifiée un 20 réseau de télécommunications conforme à la présente invention; et - la figure 5 illustre schématiquement la constitution d'une station de réseau ou station d'émission informatique adaptée à mettre en oeuvre un procédé de codage conforme à la présente invention.
Dans ce qui suit, on décrit tout d'abord des codeurs conformes à la 25 présente invention dans un mode particulier de réalisation limité au contexte d'une courbe dite attrayante (en anglais "attractive curve").
Supposons que le degré b en Y de f(X,Y) soit supérieur ou égal à 2.
La courbe définie par f(X,Y) = 0 est dite attrayante sur un corps de Galois Fq à a éléments, q étant une puissance d'un nombre premier, si elle contient 30 exactement bxq points (x,y) sur Fq.
Il est aisé de vérifier que la courbe définie par Y4 + Y + X17 = 0 est une courbe attrayante sur F256 parce que pour tout x e F256, Y4 + Y + X17 = O a exactement quatre racines distinctes dans F256. Plus généralement, la courbe définie par f(X,Y) = 0 est attrayante sur Fq lorsque, pour tout x c Fq, f(x,Y) = 0 a b solutions distinctes en Y. On les note yo(x), .-, Yb-1(X) et on réordonne l'ensemble de localisation en: (xI,yo(xl)) (x2,yo(x2)) ... (Xq,Yo(Xq)) (xl,Yl(Xq)) ... (Xq,Y1(Xq)) ... (Xq,Ybl(Xq)).
En outre, pour un élément primitif y de Fq (c'est-à-dire dont les q-1 premières puissances énumèrent les q-1 éléments non nuls de Fq), on ordonne les q éléments xi de Fq sous la forme x1 = 1, x2 = , ..., xq-1 = Yq-2 Xq = 0. On modifie également l'ordre des lignes de la matrice de parité H. Au lieu de 10 construire ses lignes par évaluation successive des monômes X'Yi rangés suivant les valeurs croissantes de p, on construit la matrice par juxtaposition de b matrices H() pour j = 0, ..., b-1, o H) désigne l'ensemble de lignes de H associées aux monômes X'Yi ordonnés suivant les valeurs croissantes de i, i = 0, ..., t(j)-l. On définit également Ht comme étant la matrice de taille txq ayant 15 y(i-1)) en position (i,j) pour 1 < j < q-1, ayant 1 en position (1,q) et ayant des 0 dans les autres positions de la dernière colonne. A titre d'exemple non limitatif, la matrice Ht pour t = 5, sur F16, est: -1 1 1..1 1 1 1 1, . i. 2 113 140 H5= 1 2 4... y11 13 0 73 76 79 12 0 y4...y y 4 8 77 11l avec 715= 1 Enfin, pour e= 0, ..., b-1, définissons!/ comme étant la matrice diagonale de taille qxq ayant y (u1-) en position (u,u) pour u = 1, ..., q-1 et ye (0) en position (q,q).
En prenant en compte simultanément l'ensemble de ces notations, on réécrit la matrice H sous la forme: Ht(o) Ht(o) - Ht(o) Ht(1)!/0 Ht (1)!
. Ht(1) _-1 2 2 2 H = Ht(2)!2 Ht(2)1- Ht(2)%' 1 (1) Ht(b-1) bHi b Ht(bl)0b-1 Ht(b_1)b- 1 Ht(b_-1)/bb-1 Dans le cas particulier de la courbe Y4 + Y + X7 = O sur F256, si on choisit tous les mon6mes X'Yi tels que 4i + 17j < 123, on obtient exactement 100 monômes de ce type et les nombres t(j) sont t(0) = 31, t(1) = 27, t(2) = 23 et t(3) = 19. La matrice H est alors donnée par H31 H31 H31 H31 H270 H27M H27/ H273 H- / HH2312 H312 232 H232 (2) H19/t3 H1913 H19l3 H19 3On en vient maintenant à la description de l'invention proprement dite. On suppose qu'on dispose de k symboles d'information et que n-k symboles sont à ajouter (en anglais "to be appendec/') à la suite de la séquence 10 formée par les k symboles d'information, pour former un mot de code de longueur n dans un code de géométrie algébrique associé à une courbe attrayante. Ainsi, on souhaite que les symboles d'information apparaissent inchangés quelque part parmi les n symboles codés. Ce type de codage est appelé un codage systématique...DTD: Pour ce faire, on écrit tout mot de code v, à calculer à partir d'une information, sous la forme d'un b-uplet v = [v0, ..., vb1] de q-uplets v{, ' = 0, ..., b-1 sur Fq. Pour être un mot de code, v doit satisfaire H.vT = 0. Ainsi, pour construire v à partir d'un k-uplet de symboles d'information, on définit b mots u de longueur q sur Fq par: u0 =v0 +...+ vb-1, Ul = V 0,o +.. + Vb-l%-l, (3) Cela conduit à reformuler l'équation H.vT = 0 sous la forme d'un ensemble de b équations.
SHt(o)UT -- 0,
T
Ht(1)u1 =0,
T
Ht(b-_)Ub1 -- 0 On écrit les q-uplets vi et u1 sous la forme de concaténations de b+1 éléments (en anglais "pieces"): Vi = [Vi0, vil, ... vib], Ui = [Ui0, Ui, .
., uib]. (5) 5 Dans les définitions (5), la longueur de vio et ujo est q-t(0), ..., la longueur de vj1 et u j+ est t(j)-t(j+1), ..., la longueur de vibet uib est t(b-1)...DTD: Dans notre exemple, les quatre mots v; ont pour longueur 256, les quatre éléments vio ont pour longueur 225, les quatre éléments vj4 ont pour longueur 19 et les autres éléments v: ont pour longueur 4. Cela est représenté 10 de façon synthétique sur la figure 1, qui donne le format du codage pour la y'4 + yv X7..r =l' 0 O,0 0, i i i,1 2 2 3 courbe y4 + y + X. = 0 les élémentso v , v2 , v3, v1, v21, v3, V22, V3 et v33 contiennent les symboles d'information et les autres éléments contiennent des symboles redondants.
Considérons à nouveau le cas d'un code sur une courbe attrayante 15 pour calculer les symboles de contrôle de parité.
Tout d'abord, à partir du système d'équations (3), u0 est donné par u0o = v0 + ... + Vb-1. (6) Ainsi, les q-t(0) premiers symboles de u0 sont connus sachant que les b éléments vi0, i = 0, ..., b-1, sont des éléments d'information. Utilisons 20 maintenant la première équation du système (4)Ht(o)UoT= 0 (7) ce qui implique qu'on est capable de calculer les t(0) derniers symboles de u0 (c'est-à-dire [uo1, ..., uob]) au moyen d'un codeur de Reed-Solomon. Ainsi, à ce moment, on connaît les éléments d'information vi1 pour i = 1, ..., b-1, et on 25 connaît aussi uo1 = vo1 + v11 + ... + Vb_11. C'est suffisant pour calculer vo1. Notons qu'on connaît aussi grâce à cette étape les éléments uo2, ..., uob qui seront utilisés ultérieurement pour calculer d'autres éléments de parité.
A partir du système d'équations (3), u1 est donné par 1 = Vo + ... + Vb-1 i- (8) Ainsi, les q-t(1) premiers symboles de u1 sont connus sachant que les éléments vy0, i = 0, .., b-1 et vi1, i = 1, ..., b- 1 sont des éléments d'information et sachant que l'élément vo1 a été calculé lors de l'étape précédente. Utilisons maintenant la deuxième équation du système (4) Ht(1)UlT = 0 (9) ce qui implique qu'on est capable de calculer les t(1) derniers symboles de u1 (c'est-à-dire [u12, .
, uîb]) au moyen d'un codeur de Reed-Solomon. Ainsi, à ce moment, on connaît les éléments d'information vi1 pour i = 1, ..., b-1 et v12 pour i 10 = 2, ..., b-1, et on connaît aussi uo1 grâce à l'étape précédente et u12 grâce au présent calcul. Au moyen des deux premières équations (linéaires) du système (3), on dispose de suffisamment d'information pour calculer vo2 et v12. Notons en outre que grâce à cette étape, on connaît également les éléments u13, ......DTD: u1b qui seront utilisés ultérieurement pour calculer d'autres éléments de parité. 15 On peut continuer de cette façon à calculer successivement u2,
...DTD: ub-1. A la sème étape, s = 1, ..., b, on utilise la sème équation du système (4) pour calculer les t(s) derniers symboles de us au moyen d'un codeur classique de Reed-Solomon. Ainsi, connaissant uj_1S, i = 1, ..., s- 1 grâce aux étapes précédentes et usls grâce à la dernière étape, on peut utiliser les s premières
S
équations du système (3) pour calculer vo, S..., V s.
Le processus de codage peut être résumé comme l'illustre la figure 2. Après obtention des nombres t(0), t(1), ..., t(b-1) à l'étape 20, on définit les b mots u, de longueur q (donnés par l'équation (3)) à l'étape 22. Puis à l'étape 24, à partir de la première équation du système (4), on obtient le b-uplet [uol, ..., 25 uob], et à partir de la première ligne du système (3), on obtient l'élément vo1. A l'étape suivante 26, à partir de la deuxième équation du système (4), on obtient le (b-1)-uplet [ul2, ..., ulb], et à partir des deux premières lignes du système (3), on obtient les éléments Vo2, v12. On procède ainsi de suite, jusqu'à l'étape 28, au cours de laquelle, à partir de la dernière équation du système (4), on obtient 30 le singleton [ub_ b], et à partir de toutes les équations du système (3), on obtient les éléments v0ob..., Vb b.
On décrit ci-après la généralisation de la présente invention à des codeurs sur des courbes non nécessairement attrayantes.
Dire qu'une courbe Ca,b avec b < a n'est pas attrayante sur Fq revient à dire qu'elle a un nombre de points strictement inférieur à b.q sur Fq. Cela 5 signifie que dans une matrice de parité H telle que celle donnée en (2), certaines colonnes sont à supprimer.
A titre d'exemple nullement limitatif, on considère la courbe définie sur F16 par Y3 + Y + X+ X X = 0. Elle a 32 points finis (x,y) qui sont listés dans la table 2, o y est une racine de X4 +X + 1. 10 x 1 5 10 0 1 5 70 y 1 1 1 1 0 0 0 0 X 76 y7 79 713 76 77 79 713 y 710 10 710 710 711 711 711 711 X 76 77 79 713 /3 711 712 14 y 714 714 714 14 75 75 75 75 X 73 711 712 714 73 711l 712 714 Y 7 7 7 y7 713 713 713 713
Table 2
Cette courbe a un genre g = 3. 15 les monômes, qui est donnée par p(XiYi) = la table 3 de poids ci-dessous Elle a aussi une fonction poids pour 3i + 4j. Pour cet exemple, on obtient monômes 1 X y X Y XI YX YX X YX YX X4 YX I 'x..
nom f, f2 f3 f4 f5 f6 f7 f8 f9 f0o fi1 f,2...
p(f,) O 3 4 6 7 8 9 10 11 1 12 13 14
Table 3
Soient {(x1,y1), ..., (x32,y32)} les 32 solutions dans F16 de Y3 + Y + X4 + X = 0. On construit une matrice de parité H pour un code de géométrie algébrique de longueur n = 32 et de dimension k = 21. La distance minimale d de ce code satisfera d > n-k+1-g = 9. La première ligne de H contient 5 l'évaluation du premier monôme f1 = 1 aux 32 points de l'ensemble de localisation. La deuxième ligne de H contient l'évaluation du deuxième monôme f2 = X aux 32 points de l'ensemble de localisation. Ainsi, la première ligne de H est (xi x2... Xn1 xn). La construction de H se poursuit de cette façon jusqu'à ce que la 11ème ligne de H soit obtenue. Dans l'exemple de la table 3, la 5ème ligne 10 de H est la séquence de yixi, la 6ème ligne de H est la séquence de yi2 et la 10ème ligne de H est la séquence de xi4.
On modifie ensuite l'ordre des lignes de cette matrice de parité. Au lieu de construire ses lignes par évaluation successive des monômes XiYi ordonnés suivant les valeurs croissantes de p, on la construit comme la 15 juxtaposition de b = 3 matrices H) pour j = 0, 1, 2, o H0) désigne l'ensemble de lignes de H associées aux monômes XiYi ordonnés suivant les valeurs croissantes de i, i = 0, .., t(j)-1. Dans le cas de notre exemple, on a t(0) = 5, t(1) = 4 et t(2) = 3.
Une caractéristique avantageuse des codes sur une courbe 20 attrayante définie par f(X,Y) = 0 est que, pour tout x c Fq, il y a exactement b valeurs différentes de Y dans Fq qui satisfont f(x,Y) = 0. Cette propriété n'est pas satisfaite dans l'exemple ci-dessus de sorte qu'il n'est plus possible de donner à H la structure avantageuse donnée en (1), dont un exemple est donné en (2). Ainsi, il convient de poursuivre l'analyse de cette situation plus générale. 25 Pour 8 valeurs x de X, c'est-à-dire pour x E {y,3 76 y12, 79 7 y14, y13, y"}, il y a 3 solutions dans F16 à Y3 + Y + x4 + x = 0; pour 4 valeurs x de X, c'est-à-dire pour x e {0, 1, y5, y10}, il y a 2 solutions dans F16 à Y3 + Y + x4 + x = 0; et pour 4 valeurs x de X, c'est-à-dire pour x e {y, y2, y4, ys}, il n'y a pas de solution dans F16 à y3 + Y + x4 + x = 0.
Etant donné qu'il y a un ensemble c(0) de 12 éléments xi, i = 1, . 12, dans F16 pour lequel il existe au moins une solution Y = y0(xi) dans F16 à Y3 + Y + x,4 + xi = 0, on construit la matrice H5 ( ) de taille 5x12 qui a x<-1 comme entrée (j,i). On définit aussi Z! comme étant la matrice diagonale de taille 12x12 ayant y0(Xu) comme entrée (u,u).
Etant donné qu'il y a un ensemble v(1) = 0(0) de 12 éléments xi, i = 1, ..., 12, dans F16 pour lequel il existe au moins une deuxième solution Y = 5 y1(xi) dans F16 à Y3 + Y + x4 + x1 = 0, on construit la matrice H5'(1) de taille 5x12 qui a xi-1 comme entrée (ji). On définit aussi ? comme étant la matrice diagonale de taille 12x12 ayant yi(Xu) comme entrée (u,u).
Enfin, étant donné qu'il y a un ensemble v(2) de 8 éléments xi, i = 1, 8, dans F16 pour lequel il existe une troisième solution Y = y2(xi) dans F16 à 10 Y3 + Y + xi4 + xi = 0, on construit la matrice H5c(2) de taille 5x8 qui a xJ-1 comme entrée (ji). On définit aussi 1k comme étant la matrice diagonale de taille 8x8 ayant y2(xu) comme entrée (u,u).
En reprenant l'ensemble de ces notations, on réécrit la matrice H sous la forme H (0) H1) HC(2) H = I H(0) H)? H (2)! (11) H (0)/2 HG(1')>2 H (2), 2 On écrit tout mot de code v sous forme d'un triplet v = [v0, v1, v2] o v0 et v1 sont des 12-uplets et v2 est un 8-uplet. On remarque aussi que les ensembles c(i) satisfont 0(2) c c(1) c cy(0). Ainsi, on peut procéder comme suit.
On construit tout d'abord la liste L2 des 8 éléments xi dans o(2). On complète 20 ensuite la liste, qui devient une liste L1 de 12 éléments par ajout (en anglais "by append/ng") à L1 des quatre éléments xi qui sont dans oc(1) mais pas dans 0(2).
Enfin, on pourrait aussi compléter L1 pour la transformer en une liste étendue L0 par les éléments qui sont dans o(0) mais pas dans o(1). Cependant, dans le cas spécifique considéré, les deux ensembles o(1) et o(0) sont identiques. Les 25 listes L1 et L0 sont donc également identiques.
Sur la base des éléments que nous venons d'introduire, le codage d'un code sur F16 défini sur la courbe non attrayante Y3 + Y + X4 + X = O peut s'effectuer comme suit. Plutôt que de définir la matrice de parité du code par une matrice H telle que donnée en (11), essayons de la définir par une matrice H telle que donnée en (1). Dans l'exemple considéré, le nombre de lignes de cette matrice est t(0) + t(1) + t(2) = 12, ce qui est bien le nombre d'équations de parité à satisfaire par les mots du code.
Surgissent toutefois trois difficultés auxquelles il va falloir répondre.
- Le nombre de colonnes de la matrice H obtenue suivant (1) est 16 + 16 + 16 = 48. Ce nombre dépasse donc de 16 unités la longueur de notre code, qui est égale à 32.
- Certains éléments des matrices 4< sont indéterminés puisque, 10 pour certaines valeurs x de X, l'équation Y3 + Y + X4 + x = 0 admet moins de trois solutions en Y. La troisième difficulté sera énoncée après avoir explicité comment résoudre les deux premières.
La première difficulté se résout comme suit. Il suffit de forcer 16 15 symboles vj à être nuls. Ces 16 symboles forcés à être nuls ne seront pas transmis, et la longueur vraie du code sera donc égale à 48-16 = 32. Ces 16 symboles vJ forcés à être nuls seront ceux pour lesquels i et j sont tels que i n'appartient pas à v(i).
La deuxième difficulté se résout comme suit. Dans l'exemple 20 considéré, l'équation (3) s'écrit: IuO =Vo +V1 +V2 Ul= v0/t + v1lA + v2A< (12) lU2 = VO /J + î17v + V 2f</ o certaines composantes des 4<, peuvent être indéterminées. On remarque que les composantes indéterminées sont toujours affectées, dans l'équation (12), comme coefficients de symboles v1J qui sont forcés à être nuls. En 25 conséquence, ces composantes peuvent rester indéterminées, puisque, en fait, elles "n'apparaissent pas" dans l'équation (12).
Enonçons maintenant la troisième difficulté annoncée ci-dessus.
- On doit pouvoir trouver, comme symboles de redondance à calculer, des symboles vg qui ne sont pas forcés à être nuls et auxquels on peut appliquer l'algorithme de calcul décrit ci-dessus, lors de la description du codage des codes définis sur des courbes attrayantes.
Cette troisième difficulté se résout comme suit. On sait que dans un code de Reed-Solomon de longueur n et de dimension k, n'importe quel 5 ensemble de k symboles peut être pris comme ensemble d'information et donc aussi, n'importe quel ensemble de n-k symboles peut être pris comme ensemble de redondance. Cette propriété est une conséquence de la propriété "Maximum Distance Separable" (ou MDS) de ces codes. On se reportera utilement à ce sujet à l'ouvrage de F.J. MACWILLIAMS et N.J.A. SLOANE 10 intitulé "The theory of error-correcting codes", paru aux éditions North-Holland en 1977. La procédure de codage expliquée ci- dessus sera donc applicable dès qu'il existe dans 0(0), o(1) et 0(2), des sous-ensembles G'(0) de cardinal t(0), o'(1) de cardinal t(1) et '(2) de cardinal t(2) qui sont tels que 0'(0) 2 o'(1) D c'(2). Dans l'exemple considéré, ces sous-ensembles sont a'(0) = {Y11, Y12, y13, 15 14' Y} , "(1) = {Y12, Y13 Y14, } et o'(2) = {y13, 14, y}.
Sur la base de la discussion ci-dessus, le codage peut s'effectuer de la même façon pour un code sur une courbe non attrayante que pour un code sur une courbe attrayante, pour peu que soit satisfaite la condition a'(0) _ o'(1) 0' (2) ...
Le codage des codes sur F16, de longueur 32, de redondance 12, et orthogonaux à la matrice (11) est précisé par la figure 3. Sur le dessin, audessus du tableau, les indices j qui apparaissent sont les nombres entiers de 0 à 14 ainsi que le symbole oo. Ces nombres et ce symbole sont l'image des 16 éléments de F16 qui apparaissent comme deuxième ligne des matrices Ht. Le 25 nombre j est l'image de yJ, o Y est un élément primitif de F16 et le symbole oo est l'image du zéro de F16. Dans les trois lignes encadrées du tableau de la figure 3, sont représentés les symboles vi qui peuvent être différents de zéro. Si le symbole vi correspondant est forcé à être nul, il est simplement écrit comme 0.
Dans cet exemple, on a vu qu'on pouvait choisir comme ensembles 30 c'(i) les éléments de F16 associés aux t(i) derniers éléments de chacune des lignes encadrées du tableau de la figure 3. Ce choix n'est toutefois pas obligatoire. On peut par exemple choisir ces ensembles u'(i) comme suit: y'(0) = { 10 79.)7 y14 13}, "(1) = {y9 7 14, 13} et o'(2) = {79, 77, 713} La seule condition à remplir est que ces ensembles soient emboîtés ('(0) D G'(1) P cy'(2)) et qu'ils ne fassent pas référence à des éléments vi forcés à être nuls.
La nullité de certaines des composantes vi du mot de code est 5 imposée dans le but que ce mot, après suppression de ces composantes nulles, soit orthogonal à la matrice correspondante du type (11). Le codage peut alors s'effectuer comme celui d'une courbe attrayante. En particulier: - les symboles des 11 premières colonnes (numérotées de 0 à 10) de la figure 3 sont des symboles d'information et sont donc connus. On connaît 10 donc les 11 premiers symboles de u0, et on peut calculer les 5 derniers symboles de u0 en utilisant H5.u0T = 0; - connaissant déjà v11' et v21i qui sont des symboles d'information, on peut donc calculer v011 = u0o v11 - v211 - les symboles des 12 premières colonnes de la figure 3 sont 15 maintenant connus. On connaît donc les 12 premiers symboles de u1, et on peut calculer les 4 derniers symboles de u1 en utilisant H4.u0T = 0; connaissant le treizième symbole de u0 et de u1, on peut maintenant calculer les symboles vo012 et v112, et ainsi de suite.
Dans le cas général d'une courbe Ca,b non attrayante, la matrice de 20 parité H aura la forme suivante Ha( ) Ha(1) ... pict(b-1) t(0) t(0) t(0) Glo()/. i_ cy(1) ../ . Hc(b - 1) H H "t(1) H/ t(1) _"l' t(1) :-(13) HGO0) .b-1 1_1(1) ób-1 i _ (-1?/1 (bU... H t(b-1)-- " t(b-1)J ' " " t(b -1) r/b_1 o chaque ensemble ((j) est, soit l'ensemble des q éléments xi de Fq, soit un de ses sous-ensembles. Ces sous-ensembles c(j) satisfont G(j+1) c cj) pour j = 0, ... b-2, et la matrice /M est la matrice diagonale des yj(xi) pour xi dans c(j). On 25 dit que I/J est associée à 7(j).
La méthode de codage telle que décrite ci-dessus, et en particulier la méthode de codage pour les codes définis sur des courbes attrayantes, peut être généralisée à des codes qui ne sont pas des codes de géométrie algébrique, et qui ne sont donc pas associés à des courbes. Il suffit, pour cela, que leur matrice de parité ait la forme (1) ou (13) avec t(0) > t(l) > ... et v(0) D v(1) D... et que pour tout entier i donné, les éléments en position (ii) des matrices SI, soient tous différents. Dans ce cas plus général, le même 5 algorithme de codage que celui décrit cidessus peut en effet être utilisé, même si la distance minimale du code ne peut plus être bornée inférieurement par des arguments de géométrie algébrique.
Comme le montre la figure 4, un réseau de télécommunications selon l'invention est constitué d'au moins une station dite station de base SB 10 désignée par la référence 64, et de plusieurs stations périphériques dites terminaux mobiles SPi, i = 1, ..., M, o M est un entier supérieur ou égal à 1, respectivement désignées par les références 661, 662, ..., 66M. Les stations périphériques 661, 662, .... 66M sont éloignées de la station de base SB, reliées chacune par une liaison radio avec la station de base SB et susceptibles de se 15 déplacer par rapport à cette dernière.
La station de base 64 peut comporter des moyens adaptés à mettre en oeuvre un procédé de codage conforme à l'invention. En variante, la station de base 64 peut comporter un dispositif de codage conforme à l'invention. De façon similaire, au moins un des terminaux mobiles 66j peut comporter des 20 moyens adaptés à mettre en oeuvre un procédé de codage conforme à l'invention ou comporter un dispositif de codage conforme à l'invention.
Dans le mode particulier de réalisation de la figure 4, l'invention s'applique à un réseau sans fil. Néanmoins, l'invention est adaptée à s'appliquer à tout système de communication, indépendamment du caractère filaire ou 25 sans fil du réseau de télécommunications.
La figure 5 illustre schématiquement la constitution d'une station de réseau ou station d'émission informatique, sous forme de schéma synoptique.
Cette station comporte un clavier 911, un écran 909, une source d'information externe 910, un émetteur hertzien 906, conjointement reliés à un 30 port d'entrées/sorties 903 d'une carte de traitement 901.
La carte de traitement 901 comporte, reliés entre eux par un bus d'adresses et de données 902: - une unité centrale de traitement 900 - une mémoire vive RAM 904; - une mémoire morte ROM 905; et - le port d'entrées/sorties 903.
Chacun des éléments illustrés en figure 5 est bien connu de l'homme du métier des micro-ordinateurs et des systèmes de transmission et, plus généralement, des systèmes de traitement de l'information. Ces éléments communs ne sont donc pas décrits ici. On observe, cependant, que: - la source d'information 910 est, par exemple, un périphérique 10 d'interface, un capteur, un démodulateur, une mémoire externe ou un autre système de traitement d'information (non représenté), et est de préférence adaptée à fournir des séquences de signaux représentatifs de parole, de messages de service ou de données multimédia, sous forme de séquences de données binaires, et que - l'émetteur hertzien 906 est adapté à mettre en oeuvre un protocole de transmission par paquets sur un canal non filaire, et à transmettre ces paquets sur un tel canal.
On observe en outre que le mot "registre" utilisé dans la description désigne, dans chacune des mémoires 904 et 905, aussi bien une zone 20 mémoire de faible capacité (quelques données binaires) qu'une zone mémoire de grande capacité (permettant de stocker un programme entier).
La mémoire vive 904 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 25 valeurs. La mémoire vive 904 comporte notamment: - un registre "données_à_coder', dans lequel sont conservées les signaux numériques à coder.
La mémoire morte 905 est adaptée à conserver, dans des registres qui, par commodité, possèdent les mêmes noms que les données qu'ils 30 conservent: - le programme de fonctionnement de l'unité centrale de traitement 900, dans un registre "program".
L'unité centrale de traitement 900 est adaptée à mettre en oeuvre un procédé de codage tel qu'illustré par l'organigramme de la figure 2.

Claims (27)

REVENDICATIONS
1. Procédé de codage d'une séquence d'information comportant k symboles, k étant un entier positif, sous la forme d'un mot de code de longueur 5 n, n étant un entier supérieur à k, ledit mot de code appartenant à un code de géométrie algébrique, ledit procédé étant caractérisé en ce qu'il comporte une étape consistant à compléter ladite séquence d'information de k symboles par n-k symboles de redondance pour former ledit mot de code, de façon que les k symboles d'information forment un sous-ensemble du mot de code, en utilisant 10 pour ce faire une pluralité de codeurs de Reed-Solomon.
2. Procédé selon la revendication 1, caractérisé en ce que ledit code de géométrie algébrique est construit sur une courbe f(X,Y) = 0 qui contient bxq points (x,y) sur un corps de Galois Fq à q éléments, q étant une puissance d'un nombre premier et b étant le degré le plus élevé en Y de l'équation f(X,Y) = 0.
3. Procédé selon la revendication 1, caractérisé en ce que ledit code de géométrie algébrique est construit sur une courbe f(X,Y) = 0 qui contient un nombre de points (x,y) strictement inférieur à bxq sur un corps de Galois Fq à q éléments, q étant une puissance d'un nombre premier et b étant le degré le plus élevé en Y de l'équation f(X,Y) = 0.
4. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape consistant à écrire tout mot de code v, à calculer à partir d'une information, sous la forme d'un b-uplet v = [vo..., vb-1] de q-uplets vc dans un corps de Galois fini Fq à q éléments, b étant un entier strictement positif, q étant une puissance d'un nombre premier et e étant un entier compris 25 entre 0 et b-1, v satisfaisant l'équation H. vT = 0, o H désigne la matrice de parité dudit code de géométrie algébrique et T désigne la transposition, et en ce que ledit procédé comporte en outre une étape consistant à définir b mots u1 de longueur q dans Fq, i étant un entier compris entre 0 et b-l, comme suit uO =VO +...+ Vb-1, ul =v0?6 +..+ vb-b-1, (3) Ub-1 = V b-1 +...+Vb b-1 %Ubl Vo0+. blb_1 o ?1' désigne une matrice diagonale de taille qxq ayant en position (u,u), u étant un entier compris entre 1 et q-1, l'élément yt (7u-1), o y est un élément primitif du corps Fq et o les éléments yo(x),
., yb-1(x) sont les solutions en Y d'une équation f(x,Y) = 0 pour tout élément x du corps Fq, et ayant en position (q,q) l'élément y, (0)...CLMF:
5. Procédé selon la revendication 1 ou 3, caractérisé en ce qu'il comporte une étape consistant à écrire tout mot de code v, à calculer à partir d'une information, sous la forme d'un b-uplet v = [vo, ..., Vb1] de mots v1 de longueur n. dans un corps de Galois fini Fq à q éléments, e étant un entier 10 compris entre 0 et b-1, les nt satisfaisant nf >nô+s, b étant un entier strictement positif, q étant une puissance d'un nombre premier et v satisfaisant l'équation H.vT = 0, o H désigne la matrice de parité dudit code de géométrie algébrique et Tdésigne la transposition, et en ce que ledit procédé comporte en outre - une étape consistant à compléter chaque mot v< par n0 -nf zéros, puis - une étape consistant à définir b mots u1 de longueur no dans Fq, i étant un entier compris entre 0 et b-1, comme suit UO= Vo + ... + Vb-1 U0--v0o+... vb_/1, Ul =v0A+' + Vb-1l!"-1, (3) Ub_1 = V0?/0 +... + Vb-l/bl- 1 o !/ désigne une matrice diagonale de taille n0xn0 dont les nt premiers éléments diagonaux contiennent les (t+l),mes solutions y1(x) associées aux nô valeurs de x pour lesquelles l'équation f(x,Y) = 0 admet au moins t+1 solutions en Y.
6. Procédé selon la revendication 4, caractérisé en ce qu'il comporte 25 une étape consistant à réécrire l'équation H.vT = 0 sous la forme d'un ensemble de b équations, comme suit: Ht(o)uo =0,
T
Ht(1)u1 0, (4) T 0.
Ht(b-l)Ub_1 o Ht désigne une matrice de taille txq, t étant un entier positif, ayant l'élément y(i-1)j-1) en position (i,j) pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q-1, ayant l'élément 1 en position (1,q) et ayant des 0 dans 5 les autres positions de la dernière colonne et o, pour tout entier m compris entre 0 et b-1, t(m) désigne le nombre de lignes de la matrice Ht(m).
7. Procédé selon la revendication 5, caractérisé en ce qu'il comporte une étape consistant à réécrire l'équation H.vT = 0 sous la forme d'un ensemble de b équations, comme suit
T
Ht(0)u0T =0,
T
Ht(1)uT = 0,( 4
T
Ht(b-1)Ub1 =o pour 1 < f < b, H( désigne une matrice de taille t(f) x n1, t(0) étant un entier positif, ayant en position (i,j) pour 1 _<i < t(f) et 1 < j < nf, l'élément y(ji-1)(j-1) o 7j est le (j+1)ème des éléments x de Fq, pour lesquels l'équation f(x,Y) = 0 admet au moins L +1 solutions en Y.
8. Procédé selon la revendication 6 ou 7, caractérisé en ce qu'il comporte b étapes de calcul pour obtenir les mots ui pour tout entier i compris entre 0 et b-1, la sème étape de calcul, pour tout entier s compris entre 1 et b, utilisant la sème équation du système d'équations (4) pour calculer les t(s-1) derniers symboles de us-1 au moyen d'un codeur de Reed-Solomon.
9. Procédé de codage systématique d'une séquence d'information comportant k symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, caractérisé en ce que ledit mot de code appartenant à un code ayant pour matrice de parité une matrice de la forme Ht(o) Ht(o) . Ht(o) H(,/ Ht(1) !A0. Ht(1)'l-I H= Ht(2)? Ht(2)/12 Ht(2)!21 (1) b-1 bh b 1 Ht(b_ t(b_1)'b1 ' Htt(b_)-bH1 o Ht désigne une matrice de taille txq, t est un entier positif, l'élément en 5 position (i,j) de H est (1)) pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q-1, l'élément en position (1,q) de H est 1, l'élément en position (i,q) de H est 0 pour i>0, y est un élément primitif de Fq, les t(m) satisfont t(m) > t(m+1) pour m = 0, ... b-2 et ? est, pour tout entier r compris entre 0 et b-1, une matrice diagonale de taille qxq ayant l'élément Yfu en 10 position (u,u), ces éléments Yf, u étant tous différents pour fixé.
10. Procédé de codage systématique d'une séquence d'information comportant k symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, caractérisé 15 en ce que ledit mot de code appartient à un code ayant pour matrice de parité une matrice de la forme Ho(O) H c(1) ... Hpl(b-1) t(O) ' t(O) t(O) HCT(O), i _1o(1)ó, u(b-1)1 H = t(1) ' ' I t(11) )b-1 (13) Ha(O) 7.b-1 Hio(1) /l1b-1,H(b-1),, b -1 t(b-1)ó0 "t(b-1):V '" r-t(b-1) ?/b-1 o les i(f) sont des sous-ensembles de Fq satisfaisant o(f) _ o(f+1) pour f = 0, b-2, Htr comprend t lignes et un nombre de colonnes égal au nombre 20 d'éléments dans c, l'élément en position (i,i) de Ht est xji1 o xj représente le jème élément de c, 0 représente 1 et les éléments des matrices /?, = 0... , b- 1, qui sont associés à un même xj sont tous différents.
11. Dispositif de codage d'une séquence d'information comportant k symboles, k étant un entier positif, sous la forme d'un mot de code de longueur n, n étant un entier supérieur à k, ledit mot de code appartenant à un code de géométrie algébrique, ledit dispositif étant caractérisé en ce qu'il comporte des 5 moyens pour compléter ladite séquence d'information de k symboles par n-k symboles de redondance pour former ledit mot de code, de façon que les k symboles d'information forment un sous-ensemble du mot de code, en utilisant pour ce faire une pluralité de codeurs de Reed-Solomon.
12. Dispositif selon la revendication 11, caractérisé en ce que ledit 10 code de géométrie algébrique est construit sur une courbe f(X,Y) = 0 qui contient bxq points (x,y) sur un corps de Galois Fq à q éléments, q étant une puissance d'un nombre premier et b étant le degré le plus élevé en Y de l'équation f(X,Y) = 0.
13. Dispositif selon la revendication 11, caractérisé en ce que ledit 15 code de géométrie algébrique est construit sur une courbe f(X,Y) = 0 qui contient un nombre de points (x,y) strictement inférieur à bxq sur un corps de Galois Fq à q éléments, q étant une puissance d'un nombre premier et b étant le degré le plus élevé en Y de l'équation f(X,Y) = 0.
14. Dispositif selon la revendication 1 1 ou 12, caractérisé en ce qu'il 20 comporte des moyens pour écrire tout mot de code v, à calculer à partir d'une information, sous la forme d'un b-uplet v = [vo, ..., vb-1] de q-uplets vt dans un corps de Galois fini Fq à q éléments, b étant un entier strictement positif, q étant une puissance d'un nombre premier et t étant un entier compris entre 0 et b-1, v satisfaisant l'équation H.vT = 0, o H désigne la matrice de parité dudit code 25 de géométrie algébrique et T désigne la transposition, et en ce que ledit dispositif comporte en outre des moyens pour définir b mots ui de longueur q dans Fq, i étant un entier compris entre 0 et b-1, comme suit: uo = v0 +... +Vb-1, U1: =VO0'/ + ... + Vb-l-/'o-1, (3) Ub_1 = V +b-1 ++ Vb_ 1?b1 o !J désigne une matrice diagonale de taille qxq ayant pour élément yf (yu1) en position (u,u), u étant un entier compris entre 1 et q-1, o y est un élément primitif du corps Fq et o les éléments yo(x), .., yb-1(x) sont les solutions en Y d'une équation f(x,Y) = 0 pour tout élément x du corps Fq.
15. Dispositif selon la revendication 11 ou 13, caractérisé en ce qu'il comporte des moyens pour écrire tout mot de code v, à calculer à partir d'une information, sous la forme d'un b-uplet v = [vo, ..., Vb1] de mots vr de longueur n- dans un corps de Galois fini Fq à q éléments, f2 étant un entier compris entre 0 et b-1, les nf satisfaisant nc > n,+1, b étant un entier strictement positif, 10 q étant une puissance d'un nombre premier et v satisfaisant l'équation H.vT = 0, o H désigne la matrice de parité dudit code de géométrie algébrique et T désigne la transposition, et en ce que ledit procédé comporte en outre: - des moyens pour compléter chaque mot v par no - nf zéros, et - des moyens pour définir b mots ui de longueur no dans Fq, i étant 15 un entier compris entre 0 et b-1, comme suit: uO = v0 +... + Vb -1, XUl =VOII/ + -+Vb-l1/e-1, 3 Ub1 = V0OJ0 +.+ Vb-_l b-11 b-i (3) o !., désigne une matrice diagonale de taille noxn0 dont les nt premiers éléments diagonaux contiennent les (C+1)emes solutions y(x) associées aux n1 valeurs de x pour lesquelles l'équation f(x,Y) = 0 admet au moins [+1 20 solutions en Y.
16. Dispositif selon la revendication 14, caractérisé en ce qu'il comporte des moyens pour réécrire l'équation H.vT = 0 sous la forme d'un ensemble de b équations, comme suit:
T
Ht(0)uo = 0, Ht(1)UT = (4)
T
Ht(bl)Ub = O. o Ht désigne une matrice de taille txq, t étant un entier positif, ayant l'élément y(1-) -1) en position (i,j) pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q-1, ayant l'élément 1 en position (1,q) et ayant des 0 dans les autres positions de la dernière colonne et o, pour tout entier m compris entre 0 et b-1, t(m) désigne le nombre de lignes de la matrice Ht(m).
17. Dispositif selon la revendication 15, caractérisé en ce qu'il comporte des moyens pour réécrire l'équation H.vT = 0 sous la forme d'un ensemble de b équations, comme suit
T
Ht(0)u = 0,
T
Ht(l)ul =0, (4)
T
Ht(b-1)Ub_1 =_ o pour 1 < f < b, Hf désigne une matrice de taille t(ú)x n, t(f) étant un entier positif, ayant en position (i,j) pour 1 < i < t(f) et 1 < j < ne,, l'élément y(i-1)(j-1) o yj est le (j+1)ème des éléments x de Fq, pour lesquels l'équation f(x,Y) = 0 admet au moins f +1 solutions en Y.
18. Dispositif de codage systématique d'une séquence d'information 15 comportant k symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, caractérisé en ce que ledit mot de code appartient à un code ayant pour matrice de parité une matrice de la forme Ht(o) Ht(o) ... Ht(o) Ht(1)!,O Ht(1)lA.-. Ht(1),_-1 2 2.. H 2 H= Ht(2) Ht(2)?/12.. Ht(2)?b2 1 (1) Ht(b_)/0b-1 Ht(b_) b- H b-1 o Ht désigne une matrice de taille txq, t est un entier positif, l'élément en position (i,j) de H est l(Bl) pour tout entier i compris entre 1 et t et pour tout entier j compris entre 1 et q-1, l'élément en position (1,q) de H est 1, l'élément en position (i,q) de H est 0 pour i> 0, y est un élément primitif de Fq, les t(m) satisfont t(m) > t(m+1) pour m = 0, ..., b-2 et!./f est, pour tout entier C compris entre 0 et b-1, une matrice diagonale de taille qxq ayant l'élément Y,,u en position (u,u) , ces éléments You étant tous différents pour f fixé.
19. Dispositif de codage systématique d'une séquence d'information comportant k symboles sur un corps de Galois fini Fq à q éléments, q étant une puissance d'un nombre premier et k étant un entier positif, sous la forme d'un mot de code de longueur n sur Fq, n étant un entier supérieur à k, caractérisé en ce que ledit mot de code appartient à un code ayant pour matrice de parité 10 une matrice de la forme: HO(0) Ho(1) i_1(b-1)t(O) t(O) t(0) Ht(O) Hó0(l) ,,(b -1) H = H"t((,1)7/u " t() "t(1) b-1 (13) Ho(0) ó/b-1 1_H1(1) / b-1 HN(b-1)ó,/b-1 t(b-1)-"0 t(b-1)-'1l t(b- 1) /- -1 o les oc(f) sont des sous-ensembles de Fq satisfaisant cv(f) _ ci(f+1) pour f = 0, b-2, H0 comprend t lignes et un nombre de colonnes égal au nombre d'éléments dans y, l'élément en position (i,i) de H' est xji-' o xj représente le 15 jeme élément de c, 0 représente 1 et les éléments des matrices 1,/f, e = 0, ..., b1, qui sont associés à un même xj sont tous différents.
20. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre un procédé de codage
selon l'une quelconque des revendications 1 à 10.
21. Appareil de traitement de signaux numériques, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque des
revendications 11 à 19.
22. Réseau de télécommunications, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre un procédé de codage selon l'une 25 quelconque des revendications 1 à 10.
23. Réseau de télécommunications, caractérisé en ce qu'il comporte un dispositif de codage selon l'une quelconque des revendications 11 à 19.
24. Station mobile dans un réseau de télécommunications, caractérisée en ce qu'elle comporte des moyens adaptés à mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 10.
25. Station mobile dans un réseau de télécommunications, 5 caractérisée en ce qu'elle comporte un dispositif de codage selon l'une quelconque des revendications 1 1 à 19.
26. Station de base dans un réseau de télécommunications, caractérisée en ce qu'elle comporte des moyens adaptés à mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 10.
27. Station de base dans un réseau de télécommunications, caractérisée en ce qu'elle comporte un dispositif de codage selon l'une
quelconque des revendications 11 à 19.
FR0301546A 2003-02-10 2003-02-10 Procede et dispositif de codage Withdrawn FR2851096A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0301546A FR2851096A1 (fr) 2003-02-10 2003-02-10 Procede et dispositif de codage
PCT/IB2004/000873 WO2004070956A1 (fr) 2003-02-10 2004-02-06 Procede et dispositif de codage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0301546A FR2851096A1 (fr) 2003-02-10 2003-02-10 Procede et dispositif de codage

Publications (1)

Publication Number Publication Date
FR2851096A1 true FR2851096A1 (fr) 2004-08-13

Family

ID=32731909

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0301546A Withdrawn FR2851096A1 (fr) 2003-02-10 2003-02-10 Procede et dispositif de codage

Country Status (2)

Country Link
FR (1) FR2851096A1 (fr)
WO (1) WO2004070956A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404134B2 (en) 2003-09-29 2008-07-22 Canon Kabushiki Kaisha Encoding/decoding device using a reed-solomon encoder/decoder

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0611054A2 (fr) * 1993-01-22 1994-08-17 Canon Kabushiki Kaisha Appareil et procédé de dérivée pour les ensembles polynominaux
WO2001035536A1 (fr) * 1999-11-08 2001-05-17 Ralf Koetter Decodage algebrique a decisions souples de codes de reed-solomon
US20020016156A1 (en) * 1999-03-02 2002-02-07 Hitachi, Ltd. Diversity wireless communication method and its wireless communication apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0611054A2 (fr) * 1993-01-22 1994-08-17 Canon Kabushiki Kaisha Appareil et procédé de dérivée pour les ensembles polynominaux
US20020016156A1 (en) * 1999-03-02 2002-02-07 Hitachi, Ltd. Diversity wireless communication method and its wireless communication apparatus
WO2001035536A1 (fr) * 1999-11-08 2001-05-17 Ralf Koetter Decodage algebrique a decisions souples de codes de reed-solomon

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRIS HEEGARD, JOHN LITTLE & KEITH SAINTS: "Systematic encoding via Gröbner bases for a class of algebraic-geometric Goppa codes", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 41, no. 6, November 1995 (1995-11-01), pages 1752 - 1761, XP002263629 *
FENG G-L ET AL: "Improved geometric Goppa codes.PART I: Basic theory", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE INC. NEW YORK, US, vol. 41, no. 6, pt1, November 1995 (1995-11-01), pages 1678 - 1693, XP002225243, ISSN: 0018-9448 *
RYUTAROH MATSUMOTO, MASAKUNI OISHI & KOHICHI SAKANIWA: "Fast encoding of algebraic geometric codes", IEICE TRANS. FUNDAMENTALS, vol. E84-A, no. 10, October 2001 (2001-10-01), pages 2514 - 2517, XP002263628 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404134B2 (en) 2003-09-29 2008-07-22 Canon Kabushiki Kaisha Encoding/decoding device using a reed-solomon encoder/decoder

Also Published As

Publication number Publication date
WO2004070956A1 (fr) 2004-08-19
WO2004070956A8 (fr) 2004-10-07

Similar Documents

Publication Publication Date Title
KR100602027B1 (ko) 저밀도 패리티 검사(ldpc) 부호를 이용한비트-인터리브형 부호화 변조
KR101143282B1 (ko) 연쇄 반응 코드의 체계적 인코딩 및 디코딩
CN100505552C (zh) 使用基于子码元的代码来保护数据不被删除
FR2815199A1 (fr) Procedes de turbocodage circulaire de grande distance minimale, et systemes pour leur mise en oeuvre
EP2198523B1 (fr) Codage et décodage de codes LDPC non binaires
FR2860360A1 (fr) Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon
EP1974472B1 (fr) Procedes d&#39;encodage et de decodage rapides et dispositifs associes
EP1905157B1 (fr) Procede et systeme d&#39;encodage d&#39;une sequence de donnees
FR2790621A1 (fr) Dispositif et procede d&#39;entrelacement pour turbocodage et turbodecodage
US7634711B2 (en) Information coding by algebraic geometric code offering two decoding options
FR2785741A1 (fr) Dispositif et procede de codage et d&#39;entrelacement pour des turbocodes series ou hybrides
FR2785744A1 (fr) Procede et dispositif de codage de sequences de donnees, procede et dispositif de decodage associes
WO1995016311A1 (fr) Procede d&#39;entrelacement et de desentrelacement en bloc et dispositif de mise en ×uvre
FR2885708A1 (fr) Dispositif et procede pour determiner une position d&#39;une erreur de bit dans une sequence de bits
FR2865083A1 (fr) Decodage pour code de geometrie algebrique associe a un produit fibre.
FR2866998A1 (fr) Decodage et correction d&#39;erreurs pour codes de geometrie algebrique
FR2851096A1 (fr) Procede et dispositif de codage
FR2802735A1 (fr) Procede et dispositif de codage, procede et dispositif de decodage, et systemes les mettant en oeuvre
FR3009462A1 (fr) Procede ameliore de decodage d&#39;un code correcteur avec passage de message, en particulier pour le decodage de codes ldpc ou codes turbo
FR2858141A1 (fr) Codage d&#39;informations par codes de reed-solomon raccourcis
FR2867925A1 (fr) Codage de canal adapte aux erreurs rafale
EP2427967B1 (fr) Procede de commande d&#39;un noeud de parite elementaire d&#39; un decodeur de codes ldpc non binaires, et processeur d&#39;un noeud de parite elementaire correspondant
FR2811169A1 (fr) Procede et dispositif de decodage et systemes les mettant en oeuvre
EP1300953A1 (fr) Code de détection et/ou de correction d&#39;erreurs à haute efficacité
WO2018109346A1 (fr) Codage et décodage correcteur d&#39;erreurs par matrice génératrice avec multiplications simplifiées dans coprs de galois

Legal Events

Date Code Title Description
ST Notification of lapse