FR2776115A1 - Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif - Google Patents
Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif Download PDFInfo
- Publication number
- FR2776115A1 FR2776115A1 FR9803102A FR9803102A FR2776115A1 FR 2776115 A1 FR2776115 A1 FR 2776115A1 FR 9803102 A FR9803102 A FR 9803102A FR 9803102 A FR9803102 A FR 9803102A FR 2776115 A1 FR2776115 A1 FR 2776115A1
- Authority
- FR
- France
- Prior art keywords
- correction
- memory
- data
- symbols
- rtop
- 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
Links
- 238000012937 correction Methods 0.000 title claims abstract description 70
- 230000003287 optical effect Effects 0.000 title claims abstract description 10
- 230000015654 memory Effects 0.000 claims abstract description 66
- 102100035767 Adrenocortical dysplasia protein homolog Human genes 0.000 description 27
- 101000929940 Homo sapiens Adrenocortical dysplasia protein homolog Proteins 0.000 description 27
- 238000010586 diagram Methods 0.000 description 23
- 208000011580 syndromic disease Diseases 0.000 description 14
- 230000004807 localization Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 235000014676 Phragmites communis Nutrition 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1806—Pulse code modulation systems for audio signals
- G11B20/1809—Pulse code modulation systems for audio signals by interleaving
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B2020/1087—Digital recording or reproducing wherein a selection is made among at least two alternative ways of processing
- G11B2020/10879—Digital recording or reproducing wherein a selection is made among at least two alternative ways of processing the kind of record carrier being the selection criterion
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Dispositif de correction d'erreur Reed-Solomon, comportant des moyens de correction de type Reed-Solomon (2, 3, 4) apte à réaliser des passes de correction, ce dispositif comportant en outre :- une première mémoire (5) destinée à contenir des données de type DVD, ainsi que des données de type CD (C2) après une première passe de correction, en vue du désentrelacement desdites données de type CD avant une seconde passe de correction;- une seconde mémoire (6) de capacité moindre que ladite première mémoire destinée à contenir des données de type CD (C1) avant correction, ainsi que des données de type CD désentrelacées (C2). L'invention concerne également un lecteur de disques optiques comportant un tel dispositif.
Description
L'invention concerne un dispositif de correction d'erreurs de type
Reed-Solomon et un appareil de lecture optique comportant un tel dispositif.
L'invention s'applique notamment dans le cadre de la correction d'erreur dans
des appareils de lecture de disques optiques ou magnéto-optiques.
Le disque compact, généralement abrégé 'CD', a été introduit sur le marché en 1982. Etant donné le besoin de supports de capacité de plus en i i plus grande et pour tenir compte des évolutions dans les domaines de l'enregistrement, du codage et de la lecture de données, un nouveau standard a récemment vu le jour. Il s'agit du standard dit DVD. Ce dernier repose, pour la lecture, sur des principes similaires à ceux du CD, mais permet une plus
grande densité d'information.
Une compatibilité des disques CD avec les lecteurs DVD est bien évidemment souhaitable pour les utilisateurs. Or, le codage des données dans les deux standards est très différent: paquets de données de longueur différente et entrelaçage des paquets également différent, paramètres de la
correction d'erreur différents.
Typiquement, au niveau de la correction d'erreur de type Reed-
Solomon, pour qu'un appareil de lecture puisse décoder à la fois le format CD et le format DVD, deux circuits, dédiés respectivement à la correction d'erreur type CD et à la correction d'erreur type DVD seraient utilisés au sein d'un
même appareil.
Il est bien évident que cette solution n'est pas satisfaisante, car des éléments redondants sont employés, ce qui grève le coût du dispositif. De plus, étant donné la différence de format des paquets de données de type DVD ou CD à traiter, il est difficile de trouver une configuration qui soit satisfaisante
dans le cas de chaque traitement.
L'invention propose par conséquent un dispositif de correction
pouvant effectuer la correction des deux formats.
L'invention a pour objet un dispositif de correction d'erreur Reed-
Solomon, comportant des moyens de correction de type Reed-Solomon apte à réaliser des passes de correction caractérisé en ce qu'il comprend en outre: - une première mémoire destinée à contenir des données de type DVD, ainsi que des données de type CD après une première passe de correction, en vue du désentrelacement desdites données de type CD avant une seconde passe de correction; - une seconde mémoire de capacité moindre que ladite première mémoire destinée à contenir des données de type CD avant correction, ainsi
que des données de type CD désentrelacées.
On utilise donc deux mémoires, une première de taille relativement grande, permettant de stocker les paquets de type DVD ainsi que les paquets de type CD après la première passe, et une seconde, de taille beaucoup plus
faible, destinée à être utilisée uniquement lors de la correction en mode CD.
Ceci a pour avantage de ne faire appel a la première mémoire lors de la correction en mode CD uniquement pour le désentrelaçage requis. La s fréquence d'accès à cette première mémoire est donc réduite, et permet l'utilisation d'une mémoire moins performante, donc moins chère. Ceci est particulièrement intéressant lorsque la première mémoire est un circuit du commerce. Selon un mode de réalisation particulier, les symboles correspondant aux données de type DVD sont transmis aux moyens de correction de type Reed-Solomon à partir de ladite première mémoire, tandis que les symboles correspondant aux données de type CD sont transmis aux moyens de correction de type Reed- Solomon à partir de ladite seconde
mémoire.
La seconde mémoire est utilisée pour effectuer une correction à la volée pour deux raisons: premièrement, étant de petite taille, on peut utiliser une mémoire à haute performance du point de vue fréquence d'accès; 3o deuxièmement, les mots de code de type CD se prêtent mieux à une telle
correction que les mots de code de type DVD, beaucoup plus volumineux.
L'invention a aussi pour objet un lecteur de disques optiques
comportant le dispositif de correction.
D'autres avantages et caractéristiques de l'invention apparaîtront à
travers la description d'un exemple de réalisation non limitatif décrit à l'aide des
figures parmi lesquelles: la figure 1 est un diagramme illustrant le codage RS d'un bloc de données de type CD, la figure 2 est un diagramme illustrant le codage RS d'un bloc de données de type DVD, la figure 3 est un diagramme bloc du dispositif conforme au présent exemple de réalisation, la figure 4 est un diagramme bloc illustrant les échanges de données en mode dit mode 'DVD', la figure 5 est un diagramme bloc illustrant les échanges de données en mode dit mode 'CD', la figure 6 est un diagramme illustrant le stockage d'un paquet de données de type DVD dans une mémoire du dispositif conforme à l'invention, la figure 7 est un diagramme illustrant l'organisation des données à l'intérieur d'une mémoire du dispositif conforme à l'invention, la figure 8 est un schéma des deux registres de coefficients de polynômes utilisés par le résolveur d'équations des figures 3 à 5, la figure 9 est un diagramme illustrant la connexion de cellules à
registres dans un circuit résolveur d'équations utilisé dans le décodage Reed-
Solomon, la figure 10 est un diagramme bloc d'une cellule de la figure 9, la figure 1 1 est un diagramme bloc de la cellule de la figure 10 dans une première configuration, la figure 12 est un diagramme bloc de la cellule de la figure 10 dans une seconde configuration, la figure 13 est un diagramme bloc de la cellule de la figure 10 dans une troisième configuration, >30 la figure 14 est un diagramme bloc de plusieurs cellules de la figure placées en série selon une première configuration, la figure 15 est un diagramme bloc de plusieurs cellules de la figure placées en série selon une deuxième configuration, la figure 16 est un diagramme bloc d'un lecteur de disque optique
comportant un dispositif conforme à l'invention.
Le standard CD ('Compact Disc') préconise l'utilisation d'un code correcteur d'erreur Reed-Solomon à entrelacement croisé ("Cross Interleaved Reed-Solomon error-correction code" ou CIRC). La mise en oeuvre de ce code comporte le partage de chaque échantillon digital de 16 bits à coder en deux symboles de 8 bits. La figure 1 illustre plus particulièrement la structure d'un bloc de
données (trame) conformément au standard CD.
Les échantillons à coder sont stockés dans une mémoire vive et io présentés à l'encodeur sous la forme de blocs de vingt-quatre symboles
(correspondant à six échantillons de 16 bits pour chacun des deux canaux).
Selon une première étape, ces symboles sont entrelacés, en retardant de deux échantillons les échantillons pairs et en intervertissant les connexions vers la première partie de l'encodeur, dit encodeur C2. L'encodeur C2 détermine quatre symboles de parité de 8 bits (dits symboles Q) à partir du mot de code de 24 symboles, et insère les quatre symboles de parité parmi les autres symboles. En résultent 28 symboles. L'encodeur C2 est donc un encodeur
(28,24).
Les symboles sont transmis au second encodeur, appelé encodeur C2, à travers 28 lignes à retard de longueur inégale, multiples de quatre blocs, de façon à répartir les 28 symboles d'un mot sur 28 blocs différents. Ces 28 blocs seront ensuite entrelacés avec d'autres blocs, à raison d'un bloc parmi les 28 blocs pour trois autres blocs. L'encodeur ajoute quatre symboles de parité de 8 bits supplémentaires (symboles P) à chaque bloc, portant le total à 32 symboles. L'encodeur C1 est donc un encodeur (32,28). Ces symboles sont utilisés, après un traitement supplémentaire consistant à inverser les symboles
de parité et à retarder les symboles pairs, pour former un paquet de données.
A ces données s'ajoutent un certain nombre d'informations de contrôle, qui ne seront pas détaillées ici. Pour plus d'informations sur le codage des données, on se reportera entre autres au chapitre 9 de l'ouvrage 'Digital Audio and Compact Disc Technology', troisième édition 1995, Sony Service Centre Europe. ou encore à l'ouvrage 'Reed-Solomon Codes and their
applications', Wicker/Bhagarva, IEEE Press 1994, chapitre 4.
La correction des paquets de type CD nécessite donc deux passes à travers un décodeur Reed-Solomon, la première pour le décodage Cl et la seconde pour le décodage C2, avec un désentrelacement entre les deux passes. Si la capacité de correction de C1 est dépassée (en fonction du nombre d'effacements et d'erreurs à corriger), les 28 symboles (32 moins les quatre symboles de parité P) sont marqués de drapeaux d'effacement ('erasure flags') et ne sont pas corrigés. Lors du désentrelacement, ces 28 symboles seront répartis sur 28 blocs. Si la capacité de correction de C2 est dépassée, les 24 symboles (28 moins les quatre symboles de parité Q) sont marqués d'un drapeau et ne
sont pas corrigés.
La correction d'erreur utilisée dans le cadre du DVD ('Digital VideoNersatile Disc') est différente: un bloc de 192 lignes de 172 symboles (un symbole = 1 octet) est associé verticalement à un code ReedSolomon dit externe ('PO') composé de 16 lignes de 172 octets, puis horizontalement à un code Reed-Solomon dit interne ('PI') composé de 208 lignes de 10 octets. Le code interne est calculé à partir du bloc de données et à partir du code externe. L'ensemble donne un bloc de 208 lignes de 182 octets. Les 16 lignes du code externe sont ensuite insérées de manière entrelacée parmi les 192
lignes restantes.
La structure d'un paquet de données conforme au standard DVD est
2o illustrée par la figure 2.
La figure 3 est un diagramme bloc du dispositif selon le présent
exemple de réalisation.
Un circuit 1 comporte en série, pour les besoins de la correction d'erreur proprement dite, un générateur de syndromes 2, un résolveur
d'équations 3 et un correcteur 4.
Une mémoire vive 5 externe au circuit 1, par exemple du type SRAM, sert à stocker certains paquets de données brutes à corriger et les données corrigées. Une mémoire vive interne 6, utilisée uniquement en mode o CD, est destinée à stocker des résultats de décodage intermédiaire. Ceci évite
avantageusement un accès trop fréquent à la mémoire externe 5.
Le circuit 1 comporte en outre quatre multiplexeurs qui, selon leur état, définissent le mode de fonctionnement CD ou le mode de fonctionnement DVD, ainsi que les diverses étapes dans le cadre de chaque mode. Un premier multiplexeur 7 sélectionne, à l'entrée du générateur de syndromes 2, soit les données en provenance de la SRAM 5, soit les données en provenance de la mémoire 6. Un second multiplexeur 8 sélectionne à l'entrée de la mémoire 6 soit les données en provenance de la SRAM 5, soit les données entrantes en provenance de l'extérieur du circuit (ligne I sur la figure 1). Un troisième multiplexeur 9 sélectionne, à l'entrée du correcteur 4, soit des données en provenance de la SRAM 5, soit des données en provenance de la mémoire 6, soit des données en provenance du résolveur d'équations 3. Un quatrième multiplexeur 10 alimente la SRAM 5, soit par des données corrigées en
provenance du correcteur 4, soit par des données entrantes (I).
La mémoire 5 est utilisée pour stocker les blocs de type DVD, les drapeaux d'erreur ou d'effacements associés à ces blocs avant ou après une io passe de correction, les blocs C2 de type CD dans un but d'entrelacement avant correction, des drapeaux d'erreur qui y sont associés, les blocs C1
corrigés et diverses données de synchronisation.
Chaque passe de correction d'erreur Reed-Solomon effectuée par le
in circuit 1 peut être résumée comme suite, que ce soit en mode CD ou DVD.
Etape 1. Calcul des syndromes Sj, du polynôme d'effacement E(z) et du syndrome modifié T(z): r - 1 S(z)= v- S z o r est le nombre de symboles de parité dans un mot de code, et o Sj v ricl1J (1) i-0 o n est le nombre de symboles d'un mot de code, o les n -1.zn- 2_ coefficients r, sont tels que r(x) =: r n _ r rn - -..-r0 o r(x) est un mot de code reçu, et o a' est une racine de g(z), polynôme générateur, e A E(z) (1- z-Jk) (2) k= O O AJk est la position d'un effacement k et o e est le nombre d'effacements, T(z)=S(z)E(z) mod z2t (3)
o t est un paramètre du code RS.
Remarque: le paramètre r dépend de la correction en cours. C'est le nombre de syndromes à calculer pour chaque mot de code. Il est égal au nombre de symboles de parité dans le mot de code à corriger: 4 et 4 pour les deux codages C1 et C2 du disque compact, 10 et 16 pour les codages interne
et externe du DVD.
Etape 2. Mettre en oeuvre l'algorithme d'Euclide étendu pour calculer le polynôme de localisation d'erreur A(z) et le polynôme d'évaluation d'erreur Q(z), et calculer le nouveau polynôme de localisation d'erreur I(z), o tF(z) =A(z)E(z) mod zt (4) Etape 3. Mettre en oeuvre l'algorithme de Chien pour déterminer les racines du polynôme de localisation d'erreur. Les racines de ce polynôme indiquent les positions des erreurs et des effacements dans les symboles 2o reçus. Mettre en oeuvre l'algorithme de Forney pour déterminer les valeurs des erreurs et des effacements a partir des racines du polynôme de localisation d'erreur, de la dérivée du polynôme de localisation d'erreur et du polynôme
d'évaluation d'erreur.
Etape 4. Vérifier le processus de décodage et corriger les symboles reçus. Les algorithmes mentionnés sont, en soi, connus par ailleurs. On se référera notamment à l'ouvrage 'Reed-Solomon Codes and their Applications', édité par S.B. Wicker et V.K. Bhagarva, IEEE Press 1994, en ce qui concerne des implémentations de l'algorithme d'Euclide et les algorithmes de Chien et de
Forney, et de manière générale, la théorie mathématique des codes Reed-
Solomon. Il existe d'ailleurs dans la littérature d'autres algorithmes pour
réaliser chacune des étapes.
Dans ce qui suit, on décrira dans un premier temps le fonctionnement du dispositif dans chaque mode, DVD ou CD, puis dans un deuxième temps, on s'attachera à décrire plus en détail l'implémentation matérielle de certains aspects du décodeur Reed-Solomon, en particulier le
résolveur d'équations 3.
- Décodaqe DVD Le fonctionnement en mode DVD est illustré par la figure 4. Par rapport au schéma général de la figure 3, les parties du circuit 1 non
concernées par le fonctionnement en mode DVD ont été effacées.
(a) Code interne (PI) - Première passe Les données entrantes sont stockées dans un premier temps dans la SRAM 5, en transitant par le multiplexeur 10. La figure 6 montre la façon dont les blocs sont stockés dans la SRAM 5. Ces données sont composées de deux blocs de 208*182 octets. Chaque bloc est accompagné de 208*23 octets d'effacement. Chaque bit d'effacement indique pour un symbole d'un bloc si ce symbole est à considérer comme sûr ou non. Cette information est utilisée ensuite au cours de la correction d'erreur Reed-Solomon. Ces bits d'effacement sont déterminés de façon connue en soi par un ensemble extérieur au circuit 1. Selon le présent exemple de réalisation, cet ensemble extérieur vérifie la présence de la donnée dans une table de démodulation numérique. Dans un premier temps, le circuit procède au décodage du code RS interne PI. Le bloc de données ou symboles, ainsi que les bits d'effacement sont lus ligne par ligne dans la SRAM 5 et transférés au générateur de syndromes 2. Celui-ci détermine pour chaque ligne (chaque mot de code) le polynôme S(z) et le polynôme d'effacement E(z), tels que définis
Wo précédemment.
Pratiquement, les syndromes Sj sont calculés de la façon suivante: n-I Sj= riTJ iO o T est la matrice associée au polynôme générateur G(z). Selon le présent exemple, G(z) = z8 + z4 + z3 + z + 1. Dans ce cas, la matrice T est:
0 0 0 0 0 0 1]
0 0 0 0 0 0
0 I 0 0 0 0 0 I
0 0 1 0 0 0 0 1
0 0 0 1 0 0 0 1
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
O 0 0 0 0 0 I 0
Les calculs des Sj syndromes sont effectués par le générateur 2, à l'aide de j registres rebouclés chacun sur leur entrée respective à travers un multiplicateur par T net un additionneur. Les syndromes Sj constituent les
coefficients du polynôme S(z).
Dans le cas du décodage DVD, chaque ligne transférée comporte donc 182 octets de données, chaque octet représentant un symbole, ainsi que 182 bits d'effacement. un pour chaque symbole. Le code interne Pl étant constitué de 10 symboles de correction, 10 syndromes sont calculées. Le lm générateur 2 détermine également à partir de s b its d'effacement les coefficients Ej du polynôme d'effacement E(z) et les stocke dans un registre approprié. S'il y a plus de dix effacements dans une ligne, la correction n'est pas possible et le mot de code est marqué comme erroné. L'état erronée d'un 2o mot de code est inscrit dans la mémoire SRAM (Figure 6), sous la forme d'un
bit ( 'Inner 1 Error Flag').
Les coefficients de S(z), et le cas échéant de E(z), sont transmis au
résolveur d'équations 3.
coefi Si un polynôme d'effacement E(z) existe (au moins un effacement), alors lu e circuit 3 calcule le polynôme T(z), produit de E(z) par S(z), puis met en oeuvre l'algorithme étendu d'Euclide pour déterminer en même temps le polynôme de localisation d'erreur A(z) et le polynôme d'évaluation d'erreur (5) S u Si aucun effacement n'existe, alors la détermination de Q(z) et de A(z) est effectuée directement à partir de S(z) (en ce qui concerne les calculs, on prendra dans ce cas E(z)=1),
Le circuit 3 détermine également, le cas échéant, T-(z).
La structure et le fonctionnement du circuit 3 seront vus en détail
plus loin.
Le correcteur 4 exécute de façon connue les algorithmes de Chien
io et Forney.
Ce correcteur disposera donc finalement des données suivantes: - les positions des erreurs dans le mot de code traité, - les valeurs de ces erreurs,
- le nombre d'effacements.
Les erreurs dans le mot de code sont corrigés en conséquence.
Pour ce faire, le circuit correcteur 4 (figure 4) lit le mot de code à corriger dans
la mémoire SRAM 5 et les positions et valeurs des erreurs à partir du circuit 3.
Le correcteur 4 inscrit le mot de code corrigé dans la SRAM 5, à l'emplacement du mot de code initial. Les multiplexeurs 9 et 10 sont commandés en conséquence. Si la capacité du code RS est dépassée, le correcteur inscrit un
drapeau d'indication d'erreur (Référence 'Inner 1 Error Flags' de la figure 6).
(b) Code externe (PO) Le dispositif réalise ensuite une seconde correction sur la base du code PC. En fonction du résultat pour chaque mot de code vertical, un drapeau d'erreur est mis à une valeur appropriée (Référence 'Outer Error Flag' de la
figure 6).
(c) Code interne (PI) - Seconde passe Une fois la correction PC réalisée, une seconde correction horizontale est effectuée sur la base du code interne PI. Certains mots qui n'étaient pas corrigibles lors de la première passe peuvent l'être devenus suite à la correction de certains symboles de ces mots lors de la correction à base du code PO. Le cas échéant, des drapeaux d'erreur (Référence 'Inner 2 Error
Flag' de la figure 6) sont mis à la valeur appropriée.
Cette dernière passe peut être optionnelle.
-Décodaqe CD Le fonctionnement en mode CD est illustré par la figure 5. Par rapport au schéma général de la figure 3, les parties du circuit 1 non
concernées par le fonctionnement en mode CD ont été effacées.
Dans un premier temps, les données à corriger (blocs C1 de 32 symboles) sont inscrites dans la mémoire vive interne 6 à travers l'entrée E. La
figure 7 illustre la façon dont les données sont inscrites dans cette mémoire 6.
La mémoire 6 comporte de l'espace pour trois blocs de 32 symboles chacun.
Les blocs C1 sont entrelacés lorsqu'ils sont stockés dans la mémoire 6. Etant donné la nature de l'entrelacement, deux blocs sont nécessaires pour obtenir un mot de code C1. L'emplacement du troisième bloc est utilisé pour l'écriture du bloc C1 suivant, cette écriture ayant lieu pendant la correction d'un bloc précédent. 28 emplacements de la mémoire 6 sont réservés à un mot de code de 28 symboles (code C2). Quatre emplacements sont réservés à d'autres informations, ce qui donne à la mémoire une longueur de 128 mots. La mémoire possède une largeur de 9 bits, 8 bits étant destinés à stocker des symboles, le neuvième indiquant les effacements. Initialement, les bits
d'effacement indiquent si les symboles stockés sont valides ou non valides.
Le générateur de syndromes 2 lit un premier mot de code désentrelacé dans la mémoire 6, ainsi que les bits d'effacement correspondants. Les traitements effectués par le circuit 2, ainsi qu'ensuite par le résolveur 3, sont similaires à ceux du mode DVD, étant entendu que les paramètres du code Reed-Solomon ne sont pas les mêmes. Le principe de la
3o correction est cependant identique.
Lemplacement des erreurs et leur valeur est communiquée par le résolveur 3 au correcteur 4. Ce dernier reçoit de la RAM 6 tous les symboles du mot de code, en dehors des symboles de parité Cl. Si une correction est nécessaire, alors le symbole erroné est remplacé par le symbole corrigé. Les symboles sont ensuite stockés dans la mémoire 5. Il est à noter que dans cette correction à la volée', tous les symboles transitent de la mémoire RAM 6 par le correcteur 4 vers la mémoire 5, tandis que dans le mode DVD, seuls les symboles à corriger transitent de la mémoire 5 à travers le correcteur et de
nouveau vers la mémoire 5.
Cette architecture est basée sur la reconnaissance du fait que les mots de code en mode CD (28 ou 32 symboles) sont bien plus courts qu'en mode DVD (182 ou 208 symboles). Une correction à la volée est réalisée seulement sur les mots de code 'courts', et cela à partir de la mémoire rapide 6, car tous les symboles d'un mot de code doivent alors transiter par le correcteur. Une telle correction à la volée sur de longs mots de code exigerait plus de cycles de la part du correcteur 4, ainsi que la mise en oeuvre d'une io mémoire 5 beaucoup plus rapide et par conséquent plus coûteuse si les mots
de code à corriger de cette façon y étaient stockés.
Cette architecture permet par conséquent d'utiliser une mémoire 5 du commerce, celle-ci étant disposée hors du composant comportant le dispositif décrit ici, et de prévoir sur le composant lui-même une mémoire interne, de taille faible donc peu coûteuse. Ceci vaut pour le cas o la mémoire est implémentée sur un composant autre que la mémoire 6. Il est clair que l'évocation de mémoires 'externe' ou 'interne' n'exclut pas l'application de ce qui est décrit à un circuit intégré comportant à la fois la mémoire 5 et la mémoire 6. La mémoire 5 doit être vue comme une mémoire de
masse, tandis que la mémoire 6 comme une mémoire cache.
L'entrelacement des symboles des mots de code C2 est tel que les 28 symboles d'un même mot de code sont répartis parmi 112 blocs de 32 symboles. A chaque correction de code C1 correspond une correction de code C2. Ainsi, le système ne sera correctement initialisé qu'après 112 trames. De plus, pour pouvoir effectuer le désentrelacement du code C2, après la correction de code C1, les symboles sont stockés dans la mémoire 5, de plus grande capacité que la mémoire 6 et sont relus pour être, d'une part, inscrits dans la mémoire 6 et, d'autre part, fourni directement au générateur de
o syndromes 2.
L'inscription dans la mémoire 6 est nécessaire pour la correction du mot de code par le correcteur 4 'à la volée', car comme mentionné à propos de la correction Cl, dans le mode CD, le correcteur lit les mots de code à corriger
non pas dans la mémoire SRAM 5, mais dans la mémoire vive 6.
Le processus de correction C2 est similaire à ce qui a déjà été exposé pour la correction Cl. Suite à la correction à la volée, les symboles corrigés sont stockés dans la mémoire 5, sans toutefois les symboles de parité
du code C2.
-Résolveur d'équations - Détermination de Q(z) et de A(z)
La suite de la description concerne l'implémentation du résolveur
d'équations. La tâche principale du résolveur d'équations (dénommé aussi 'Key 0o Equation Solver' en langue anglaise) est de déterminer les polynômes de
localisation et d'évaluation d'erreur, respectivement A(z) et (z).
La détermination de Q(z) et de A(z) est effectuée en mettant en oeuvre l'algorithme étendu d'Euclide. On met en oeuvre pour cela deux i registres de polynômes, respectivement RTOP et RBOT, illustrés par la figure 8. L'algorithme d'Euclide étendu est le suivant: Les polynômes Q(z) et A(z) satisfont l'équation A(z) S(z) = Q(z) mod zr deg reé(z) < deg reA(z) (La variable 'r' est égale au nombre de symboles de parité d'un mot de code (capacité de correction du code), c'est à dire àa 2t), On prend comme valeurs initiales An-l (z)= 0 A0(z) = I Q-l(z) = Z Q0 (z)= T(z) 0o (On prendra Q0(z) = S(z)dans le cas o aucun effacement n'est connu). On réalise les itérations suivantes jusqu'à ce que degréQn (z) < degréAn (z) Qn (z) = Qn-2 (z)mod Qn-l(z) (A) An(z) =Anl(Z)*Qn(z)+ An-2(z) (B) Qn(z) = n-2(z)divQn-l(z) (C) Les registres polynomiaux RTOP et RBOT comportent chacun r+1
registres (RTOP(k) et RBOT(k)) de 8 bits, appelés registres de symboles.
Chacun de ces registres de symboles stocke un coefficient d'un des polynômes A(z) ou n(z). Chaque registre RTOP et RBOT est séparé en une partie dite
partie A et une partie dite Q, de droite à gauche.
lo Initialement, le degré de Q(z) est maximal et le degré de A(z) est minimal. Dans les registres RTOP et RBOT, les degrés de Q(z) augmentent vers la gauche, tandis que les degrés de A(z) augmentent vers la droite, à
partir du point de séparation entre les parties A et .
Le tableau 1 illustre le contenu des registres en phase initiale de I'itération. Rang de r+1 r... 2 1 O registre I cellule I ' a_
RBOT 1 0 0 0 0 1:
Pbot 0 0 0 0 O 1 RTOP IF r: -. TX 0 0 Ptop 0 0 1... O 1
Tableau 1
Les drapeaux Ptop et Pbot indiquent pour chaque registre de symbole si ce registre comporte un coefficient de Q(z) (Ptop/bot=O) ou de A(z) (Ptop/bot=l). On définit par ailleurs 'DegTop' et 'DegBot' comme étant les degrés des parties Q de RTOP et RBOT respectivement, ainsi que la variable 'ratio',
qui désigne la rapport RTOP(r+1)/RBOT(r+1I).
L'algorithme étendu d'Euclide se traduit dans ce contexte par: DegBot=r, DegTop=r-1 TANT QUE (DegTop≥t) FAIRE SI ratio <> 0 ET (DegTop<DegBot)
ECHANGER RTOP, RBOT
ECHANGER DegTop, DegBot F ECHANGER Ptop, Pbot
FIN SI
POUR k=r JUSQU'A O SI (Pbot(k)=Ptop(k)=1l) ALORS RBOT(k)=RBOT(k)+ ratio*RTOP(k) l0 RTOP(k+1)=RTOP(k) SINON SI (Pbot(k)=Ptop(k)=0) ALORS RTOP(k+1)=RTOP(k)+ratio*RBOT(k) SINON RTOP(k+1)=RTOP(k)
1:, FIN SI
Ptop(k+1)=Ptop(k)
FIN POUR
DegTop=DegTop-1
FIN TANT QUE
Lorsqu'il faut prendre en compte des effacements, la condition du
TANT QUE devient DegTop≥m, o m=t+(degréE(z)/2).
L'indice k désigne une cellule d'ordre k et les registres qui y sont
contenus.
On définit r+1 cellules, chaque cellule comprenant les deux registres de symboles de RTOP et RBOT ayant le même rang. Chaque cellule doit
également effectuer les opérations définies ci-dessus.
La figure 9 est un schéma illustrant la connexion des r+1 cellules pourformer les registres RTOP et RBOT. Le rectangle en tirets identifie une cellule de base, qui comprend les différents registres, multiplexeurs,
additionneurs et le multiplieur nécessaire pour l'implémentation de l'algorithme.
La figure 10 est un diagramme fonctionnel d'une cellule.
La cellule comporte un registre a 1 bit 101 destiné à stocker le drapeau Ptop, ainsi qu'un registre à 1 bit 102, destiné à stocker le drapeau Pbot. Ces registres sont constitués chacun d'une bascule D commandée de façon appropriée. Un circuit d'inversion 103 possède deux entrées, connectées respectivement aux sorties non inversées Q des registres 101 et 102 (signaux Ptop et Pbot). Ce circuit d'inversion comporte deux sorties, dont la première, référencée Ptop_NEXT, est connectée à l'entrée du registre équivalent au registre 101 de la cellule suivante, et dont la seconde sortie reboucle sur l'entrée D du registre 102. Selon la valeur d'un signal de commande SWAP,
0o Pbot est transmis à la première sortie et Ptop à la seconde, ou inversement.
La cellule comporte également deux registres à 8 bits, référencés 104 et 105, faisant partie respectivement du registre RBOT et RTOP. Ces registres sur 8 bits sont formés par exemple de 8 registres à 1 bit connectés en parallèle. Les sorties respectives des registres 104 et 105 sont connectées chacune à une entrée d'un circuit inverseur 106, commandé par un signal
SELECT.
Le circuit inverseur 106, à l'image du circuit inverseur 103, connecte chaque entrée soit à l'une, soit à l'autre de ses sorties, selon l'état du signal SELECT. La première sortie 107 du circuit inverseur 106 est reliée à une entrée d'un additionneur 108. La seconde sortie 109 du circuit inverseur 106 est reliée à un multiplieur 110, qui multiplie la valeur présente à la sortie 109 par la variable 'ratio'. La sortie du multiplieur 110 est reliée à une entrée de
l'additionneur 108.
Le registre 105 reçoit sur son entrée D un signal RTOP_IN, qui
correspond à la sortie du registre à 8 bits de RTOP de la cellule précédente.
Le signal de sortie de la cellule vers la prochaine cellule est référencé RTOP_NEXT. Cette sortie est constituée par la sortie d'un multiplexeur 11, qui sélectionne, selon la valeur d'un signal de commande référencé OMEGA_C, soit la sortie de l'additionneur 108, soit la seconde sortie
109 du circuit inverseur 106.
En dernier lieu, I'entrée du registre RBOT 104 est reliée par l'intermédiaire d'un second multiplexeur 112, selon la valeur d'un signal de commande référencé LAMBDAC, soit à la sortie du l'additionneur 108, soit à la sortie d'un troisième multiplexeur 113. Ce troisième multiplexeur sélectionne, selon la valeur du signal de commande SWAP, soit la contenu du registre 104
(RBOT), soit celui du registre 105 (RTOP).
Les signaux de commande sont élaborés de la facçon suivante: LAMBDA_C = Pbot AND Ptop OMEGA_C = NOT (Pbot OR Ptop)
SELECT = NOT (SWAP XOR OMEGAC)
EN_MUL = (LAMBDA_C OR OMEGA_C)
La figure 11 représente une cellule dans le cas o Ptop et Pbot sont égaux à 0. Les deux registres 104 et 105 de la cellule contiennent alors des coefficients de Q(z). Cette configuration de la cellule est par consequent dite
io configuration Omega.
De manière similaire, les figures 12 et 13 représentent une cellule dans les cas respectifs o Ptop=Pbot=1 et Ptop est différent de Pbot, et sont
appelées configurations Lambda et Mixte.
Typede SWAP = 0 SWAP=1 cellule Cellule Pbott.+(k)=Ptbot(k) Pbot,+,(k)=Pttop(k) Lambda PtopNEXTt. 1(k)=Ptopl(k) Ptop_NEXTt+1(k)=Pbott(k) RBOT,i(k)=RBOTt(k)+ RTOPt(k)* RBOTt+,(k)=RTOPt(k)+RBOTt(k)* ratio ratio RTOPNEXTt, (k)=RTOPt(k) |RTOPNEXTt+, (k)=RBOTt(k) Cellule Pbott+ ,(k)=Ptbot(k) Pbot+,(k)=Pttop(k) Omega Ptop_N EXTt.+ (k)=Ptopt(k) Ptop_N EXTt+1 (k)=Pbott(k) RBOTt.,(k)=RBOTt(k) RBOTt+,(k)=RTOP,(k) RTOP_NEXTt, (k)=RTOPt(k) RTOP_NEXTt, (k)=RBOTt(k) +RBOTt(k)*ratio +RTOPt(k)*ratio Cellule Pbott,+1 (k)=Pbot(k) Pbott, (k)=Pttop(k) Mixte PtopNEXTt,(k)=Ptopt(k) Ptop_NEXTt.1(k)=Pbot,(k) RBOTt+, (k) = RBOTt(k) RBOT,+1 (k)=RTOPt(k) I RTOP_NEXTt,(k)=RTOP,(k) RTOP_NEXT+,+(k)=RBOTt(k) t5 Tableau 2 Les parties Lambda réalisent la multiplication de l'équation (B),
tandis que les parties Omega réalisent la division de l'équation (C).
Si l'on prend comme exemple le polynôme S(z) tel que: S(1)4z5 a10z4 + 3z3 7z2 +9 +12 S(z) =a z -a z +a z ïa z +a z+a alors les conditions initiales sont: An-l(z) = 0 AO(z) = 1 -I (z) = Z6 no(z) = S(z)
Les tableaux 3 à 10 illustrent le contenu des cellules a la fin de chaque itération de l'algorithme.
Rang 7 6 5 4 3 2 I 0 RBOT 1 O O 0 0 1 0 0 0 0 0 0 1 Pbot; O O 0 1 04 0 0 3 7 a, a1 RTOP a al a3 a7 a9 a12 0 0 Ptop 0 10 10 0 0 0 '1 1 Tableau 3 (Conditions initiales) (DegBot=6 - DegTop=5 - ratio=ca4 - SWAP=1) Rang 7 6 5 4!3 2 1 0 14i 3 7 a1I RBOT a4 ai a' a7 a al 1O Pbot 0 O O 0 0 01 1 RTOP 1 0 0 0 0 0 0 1 Ptop 0 10 0 0 0 10 i 1 Tableau 4 (Itération 1) (DegBot=5 - DegTop=6 - ratio=ct - SWAP=O) Rang 7 6 5 4 3 2 I i0 RBOT 4 cz a a C a Pbot 0 0 0 0 0 0 1 1 RTOP, t4 l S I1l,(f-130 1 0 Ptop 0 0;0) ,0O 0 1 O 1 i Tableau 5 (Itération 2) (DegBot=5 - DegTop=5 - ratio=&'2 - SWAP=O) Rang 7 6 5 4 3 2 1 0 RBOT d a' a3 a7 a9 a'2 a'2 a Pbot 0 0 0 0 00 1 u i O RTOP a2 a2 a 1a 10 0 Ptop 0 0 0 O 1 1 i Tableau 6 (Itération 3) (DegBot=5 - DegTop=4 - ratio=c3 - SWAP=1) RBOT 3 a2 a2 1 0 1 Pbot 0 0 60 0 0 1 1 1 RTOP Pam4alO a3 a a9 al2 a1 a Ptop 0 0 0 0 0 0 1 1 1 Tableau 7 (Itération 4) (DegBot=4 - DegTop=5 - ratio=a" - SWAP=0) Rang 7 16 15 14 3!2 i1 10 RBOT a2 a' 1 a9 1 a Pbot 0 0 0 10 1 1 1l RTOP a9 8 a8 a6 al12 a a 0 ,,.a ___ O O i i '1i Ptop 0 0 i 000 1 1 1 i 1 Tableau 8 (Itération 5) (DegBot=4 - DegTop=4 - ratio=x6 - SWAP=O) Rang 7 16 "5 14 13 i2 11 iO RBOT 2 a a, a,9 a14 a z:2
L. . . . I
Pbot 0 0 ' 10 1 i1 1 RTOP 0 0 0 ai ac1: a o o Ptop O O 0 1i 1 1 Tableau 9 (Iteration 6) (DegBot=4 - DegTop=3 - ratio=0 - SWAP=0) Rang 7 _ 6 5 4 3 2 1 0O (x 2, o9 1- 1 t12 RBOT a aa 1 a a a12 Pbot 0 0 0 0 0 1 1 1 RTOP 0 0 all:1 0 :1' i 0 i0 i Ptop 0 0, o 1 1 1 1 1 Tableau 10 (Itération 7) (DegBot=4 - DegTop=2 - ratio=0 - SWAP=O) On obtient donc finalement A(z)= a 12z2 _a 1lz _ a 14 Q(z)= a Les coefficients de A(z) sont stockés dans la partie Lambda de RBOT, tandis que les coefficients de Q(z) sont stockés dans la partie Omega
de RTOP.
Après le calcul de A(z) et de Q(z), il faut ajuster les coefficients de Q(z) en rebouclant RTOP(r+1) sur RTOP(2) et en effectuant m=t+ (degréE(z)/2) rotations. Détermination de T(z) - syndrome modifié Avantageusement, le résolveur d'équations est également utilisé pour multiplier les polynômes E(z) et S(z) pour le calcul du syndrome modifié T(z). Le résolveur d'équations dispose déjà des multiplieurs nécessaires, car la détermination du polynôme A(z) requiert une multiplication de polynômes. On met à profit ces ressources pour ce qui est de la multiplication E(z)*S(z), ce qui
simplifie la constitution du générateur 2.
Le degré maximal de S(z) est 2t-1=r-1, tandis que celui de E(z) est 2t=r par construction (si le degré de E(z) est supérieur à 2t, le mot de code est marqué comme non corrigible). Le degré maximal de T(z) est donc r+l, ce qui
o20 correspond exactement au nombre de cellules du résolveur d'équations.
La figure 14 illustre la configuration d'une cellule pour la mise en oeuvre d'une multiplication. Les registres Ptop et Pbot servent à déterminer le contenu des registres RTOP(k) et RBOT(k). La configuration des cellules est assez proche de celle illustrée par le diagramme de la figure 12 (Ptop=Pbot=1), c'est à dire la configuration Lambda. Chaque registre RBOT reboucle sur son entrée à travers l'additionneur 108 associé, tandis que l'entrée de chaque registre RTOP est connecté à la sortie du registre RTOP de la cellule précédente. En dernier lieu, I'ensemble des multiplieurs des cellules sont connectés à une même entrée E, en vue de l'introduction des coefficients en série d'un des deux polynômes à multiplier. Dans le cadre du présent exemple, ce sont les coefficients de E(z) qui sont introduits par ce biais, mais on pourrait également introduire les coefficients de S(z). L'entrée E servait dans la configuration utilisee pour la détermination de A(z) et de Q(z) pour fournir la
valeur de 'ratio' à chaque cellule.
Une autre différence avec la configuration Lambda de la figure 12 est que l'état du circuit inverseur 106 demeure identique tout au long de la multiplication. Le principe de fonctionnement est le suivant: Dans un premier temps, les coefficients de S(z) sont stockés dans
les registres RTOP. Un '0' est présenté à l'entrée du premier registre RTOP(0).
Dans un second temps, les coefficients Ei de E(z) sont présentés par ordre d'indice croissant à l'entrée E, à raison d'un coefficient par cycle
d'horloge.
Le nombre de cycles d'horloge nécessaires pour effectuer la
multiplication est égal au degré de E(z).
A titre d'exemple, le tableau 11 donne le contenu de chacun des registres dans le cas d'une multiplication de S(z) et de E(z) o S(z) est de
degré 3 et E(z) de degré 3.
Cycle Cellule 4 3 2 d'Horlo.e ReQistre i
1 RBOT 0 S0 SE0 S0E0
RTOP S2 S2 S0 So
I2 RBOT S3E0+S2E1 S2E0+S1E S1E0+S0E1 S0E0
RTOP S2 S0 So 0 32 RBOT S3E0+S2E1+S1E2 S2E0+S1E1, S1Eo+SoE1 SoEo RTOP Si So 0 0 3 RBOT S3Eo+S2E, +SiE2 S2Eo+SlEl+SoE2 'S1Eo+SoE,;SoEo - t RTOP S, 0 0o '0
4 RBOT S3E0+S2E,+S1E2.S0E3 S2E0+S1E1+S0E2 S1E0+S0E1 S0E0
- RTOP 0 10!O 10
Tableau 1 1
On voit que les registres RTOP(k) forment un registre à décalage servant uniquement à stocker les coefficients de S(z). Le registre à décalage est réalisé en choisissant correctement l'état des inverseurs 106. Les registres RBOT(k) servent d'accumulateurs respectifs pour chaque coefficient du
polynôme T(z).
Chaque registre RBOT(k) contient donc finalement le coefficient Tk, r o T(z)= ETkzk k= 1 Détermination du nouveau polynôme de localisation d'erreur YP(z) Avantageusement, le résolveur d'équations est également utilisé pour multiplier les polynômes E(z) et A(z) pour le calcul de 'F(z). Ce dernier polynôme est calculé une fois A(z) déterminé par le résolveur d'équations. Une fois que l'algorithme étendu d'Euclide a été mis en oeuvre, les coefficients de A(z) sont stockés dans la partie Lambda de RBOT. Les autres registres
RTOP(k) et RBOT(k) sont mis à zéro.
o10 La configuration des cellules pour réaliser la multiplication est
illustrée par le diagramme de la figure 15.
Les registres RTOP(k) sont connectés en série à travers les additionneurs des cellules. La valeur 'O' est présentée à l'entrée du premier registre RTOP(0). La sortie de chaque registre RBOT(k) est connectée au multiplieur de sa cellule k. Les valeurs stockées dans les registres RBOT(k) ne changent pas pendant la présente multiplication. Comme dans la configuration de la figure 14, les entrées des multiplieurs autres que celles connectées à la
sortie des registres RBOT(k) sont interconnectées (référence E).
Le degré de A(z) est égal au nombre d'erreurs. Le degré de E(z) est
égal au nombre d'effacements.
Le tableau 12 donne le contenu des cellules après chaque cycle d'horloge. Cl Cellule -7 6 5 4 3 12 0 O CycleCell!i, i : Reqistre RBOT 0 O',O O Ao A1 A2
RTOP 0 0 O O O 0 0 0
i1 jRBOT 0 0 0 O O A0 Ai A2 : RTOP 0 0 0 0 0 A\oE0.\1E0 A2Eo 0 2 RBOT 0 0 O 10 O 0 Ao A1 A2 1 RTOP 0 0 0 O AoEo A1Eo+ A2Eo+ A2E1 0O RBOITo o o O: I\AoE1 A1E1, 3 RBOT 1 0 0 0 0 0 A1 iA2 RTOP 0O 0 0 AoEo A.Eo+ A2Eo 'A2E+ A2E2 0 AoE1 I AiEI+ A1E2 I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ A oE 2 I i. i 4 RBOT O 0 0 1 0 Ao A1 A2 RTOP 0 0 Ao AiE-o+I A2Eo+ 1A\2E1+ A2E2+ A2E3 0 EO AoE1 A1E1+ A1E2+ A1E3 l_______ _ _ tAoE2 AoE3 I
Tableau 12
Pendant le calcul de u?(z), les multiplieurs restant actifs sont ceux
des cellules pour lesquelles Pbot(k)=1.
Bien que le présent exemple de réalisation concerne la correction ReedSolomon, la configuration de deux mémoires décrite peut être appliquée dans tous les cas o des paquets de données de longueur sensiblement
différente doivent être corrigés.
En dernier lieu, la figure 16 représente un lecteur 200 de disque optique 201 comportent le dispositif conforme à l'invention. Ce lecteur comporte un bloc optique 202 comportant de manière connue un laser, des moyens de focalisation, des détecteurs photoélectriques. Le lecteur comporte également un moteur 203 commandé par une unité d'asservissement 204. Les données lues par le bloc optique sont transmises à un démultiplexeur 205. Les données de contrôle sont transmises à un microprocesseur 206 commandant un affichage 207, I'asservissement de la focalisation 208 et le suivi de piste
209. Un clavier 210 permet à l'utilisateur de commander le lecteur.
Les paquets de données CD/DVD proprement dits sont transmis par le démultiplexeur 205 au dispositif de décodage 1 relié a la mémoire 5 et à une unité d'interpolation 211 qui fait office d'interface avec des convertisseurs
numérique/analogique non illustrés.
Claims (7)
1. Dispositif de correction d'erreur Reed-Solomon, comportant des moyens de correction de type Reed-Solomon (2, 3, 4) apte a réaliser des passes de correction caractérisé en ce qu'il comprend en outre: - une première mémoire (5) destinée à contenir des données de type DVD, ainsi que des données de type CD (C2) après une première passe de correction, en vue du désentrelacement desdites données de type CD avant o10 une seconde passe de correction; - une seconde mémoire (6) de capacité moindre que ladite première mémoire destinée à contenir des données de type CD (Cl) avant correction,
ainsi que des données de type CD désentrelacées (C2).
2. Dispositif selon la revendication 1, caractérisé en ce que les symboles correspondant aux données de type DVD sont transmis aux moyens de correction de type Reed-Solomon à partir de ladite première mémoire (5), tandis que les symboles correspondant aux données de type CD sont transmis aux moyens de correction de type Reed-Solomon à partir de ladite seconde
mémoire (6).
3. Dispositif selon l'une des revendications précédentes, caractérisé
en ce que ladite seconde mémoire est destinée à mémoriser au moins deux paquets de données entrelacés (C1l) de type CD avant une première passe de
correction, de façon à effectuer un désentrelacement desdits paquets.
4. Dispositif selon l'une des revendications précédentes, caractérisé
en ce que les moyens de correction, de type Reed-Solomon comportent un correcteur (4) qui réalise une correction à la volée des symboles correspondant
aux données de type CD à partir de la seconde mémoire (6).
5. Dispositif selon la revendication 4, caractérisé en ce que, dans le cadre d'une correction des données de type DVD, le correcteur (4) lit dans la première mémoire (5) uniquement les symboles à corriger et y inscrit les
symboles corrigés.
6. Dispositif selon l'une des revendications précédentes, caractérisé
en ce que la première et la seconde mémoire comportent des emplacements pour la mémorisation de drapeaux d'erreur pour les données stockés dans ces mémoires.
7. Lecteur (200) de disques optiques (201) caractérisé en ce qu'il
comporte un dispositif selon l'une des revendications précédentes.
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9803102A FR2776115B1 (fr) | 1998-03-13 | 1998-03-13 | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif |
| US09/264,380 US6292921B1 (en) | 1998-03-13 | 1999-03-05 | Error correction device and optical disk reader comprising such a device |
| EP99400606A EP0942421B1 (fr) | 1998-03-13 | 1999-03-12 | Dispositif de correction d'erreur et lecteur de disque optique le comprenant |
| JP11067100A JPH11328880A (ja) | 1998-03-13 | 1999-03-12 | 誤り訂正装置及び光ディスク読取装置 |
| DE69911488T DE69911488T2 (de) | 1998-03-13 | 1999-03-12 | Vorrichtung zur Fehlerkorrektur und optischer Plattenspieler damit |
| CNB991033094A CN1160726C (zh) | 1998-03-13 | 1999-03-15 | 纠错装置和包含该装置的光盘阅读器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR9803102A FR2776115B1 (fr) | 1998-03-13 | 1998-03-13 | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2776115A1 true FR2776115A1 (fr) | 1999-09-17 |
| FR2776115B1 FR2776115B1 (fr) | 2000-07-21 |
Family
ID=9524013
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR9803102A Expired - Fee Related FR2776115B1 (fr) | 1998-03-13 | 1998-03-13 | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US6292921B1 (fr) |
| EP (1) | EP0942421B1 (fr) |
| JP (1) | JPH11328880A (fr) |
| CN (1) | CN1160726C (fr) |
| DE (1) | DE69911488T2 (fr) |
| FR (1) | FR2776115B1 (fr) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6571368B1 (en) * | 2000-02-02 | 2003-05-27 | Macronix International Co., Ltd. | Systolic Reed-Solomon decoder |
| JP3459609B2 (ja) * | 2000-03-17 | 2003-10-20 | 三洋電機株式会社 | ライトキャッシュ回路、ライトキャッシュ回路を備えた記録装置、およびライトキャッシュ方法 |
| KR100378181B1 (ko) * | 2000-06-09 | 2003-03-29 | 삼성전자주식회사 | Efm/efm+ 디코딩에 의해 검출된 에러위치를 이용한c1/pi 워드의 에러정정 방법 및 장치 |
| US6718506B1 (en) * | 2000-10-02 | 2004-04-06 | Zoran Corporation | High speed DVD error correction engine |
| GB0031436D0 (en) | 2000-12-22 | 2001-02-07 | Koninkl Philips Electronics Nv | Method and apparatus for data reproduction |
| KR100970223B1 (ko) | 2002-05-08 | 2010-07-16 | 톰슨 라이센싱 | 리드-솔로몬 코드의 소프트-결정 디코딩 방법, 리드-솔로몬 코드워드 디코더 및 컴퓨터 프로그램 제품 |
| TWI254283B (en) * | 2003-06-03 | 2006-05-01 | Sunplus Technology Co Ltd | Error correction device of block code and method thereof |
| KR100698620B1 (ko) * | 2003-06-16 | 2007-03-21 | 삼성전자주식회사 | 강건한 에러 정정 부호화 장치를 가지는 디지털 송/수신시스템 및 그의 에러정정부호화/정정방법 |
| JP4624348B2 (ja) * | 2003-07-09 | 2011-02-02 | トムソン ライセンシング | リードソロモンプロダクトコードのためのエラー訂正方法 |
| TWI240167B (en) * | 2004-02-11 | 2005-09-21 | Mediatek Inc | Method of accessing memory |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5684773A (en) * | 1995-03-28 | 1997-11-04 | Pioneer Electronic Corporation | Information reproduction apparatus compatible with different recording media |
| EP0821493A1 (fr) * | 1996-07-23 | 1998-01-28 | STMicroelectronics S.A. | Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4633471A (en) * | 1983-09-19 | 1986-12-30 | Storage Technology Partners Ii | Error detection and correction in an optical storage system |
| US5504759A (en) * | 1991-07-11 | 1996-04-02 | Sony Corporation | Digital signal recording and/or reproducing apparatus using a common processing device for digital signals having different data configurations |
| US5574570A (en) * | 1992-05-12 | 1996-11-12 | Mitsubishi Denki Kabushiki Kaisha | Video signal recording/reproduction apparatus and method for recording/reproducing two kinds of video signals carrying different amounts of information |
| JPH08315515A (ja) * | 1995-05-18 | 1996-11-29 | Sony Corp | データ記録/再生装置および方法、並びにデータ記録媒体 |
| JPH1064195A (ja) * | 1996-08-15 | 1998-03-06 | Toshiba Corp | ディスク再生装置 |
| US5991911A (en) * | 1997-11-14 | 1999-11-23 | Cirrus Logic, Inc. | Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device |
| US5996105A (en) * | 1997-11-14 | 1999-11-30 | Cirrus Logic, Inc. | ECC system employing a data buffer for storing codeword data and a syndrome buffer for storing error syndromes |
| US6052815A (en) * | 1997-11-14 | 2000-04-18 | Cirrus Logic, Inc. | ECC system for generating a CRC syndrome over randomized data in a computer storage device |
| JP3972456B2 (ja) * | 1998-04-09 | 2007-09-05 | ソニー株式会社 | マルチレイヤーディスク再生装置、及びマルチレイヤーディスク再生方法 |
-
1998
- 1998-03-13 FR FR9803102A patent/FR2776115B1/fr not_active Expired - Fee Related
-
1999
- 1999-03-05 US US09/264,380 patent/US6292921B1/en not_active Expired - Fee Related
- 1999-03-12 EP EP99400606A patent/EP0942421B1/fr not_active Expired - Lifetime
- 1999-03-12 DE DE69911488T patent/DE69911488T2/de not_active Expired - Fee Related
- 1999-03-12 JP JP11067100A patent/JPH11328880A/ja active Pending
- 1999-03-15 CN CNB991033094A patent/CN1160726C/zh not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5684773A (en) * | 1995-03-28 | 1997-11-04 | Pioneer Electronic Corporation | Information reproduction apparatus compatible with different recording media |
| EP0821493A1 (fr) * | 1996-07-23 | 1998-01-28 | STMicroelectronics S.A. | Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2776115B1 (fr) | 2000-07-21 |
| DE69911488D1 (de) | 2003-10-30 |
| US6292921B1 (en) | 2001-09-18 |
| CN1229232A (zh) | 1999-09-22 |
| CN1160726C (zh) | 2004-08-04 |
| EP0942421B1 (fr) | 2003-09-24 |
| EP0942421A1 (fr) | 1999-09-15 |
| JPH11328880A (ja) | 1999-11-30 |
| DE69911488T2 (de) | 2004-05-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0821493B1 (fr) | Système de correction d'erreurs dans des trames de données ayant des codes de parité horizontaux et verticaux | |
| FR2860360A1 (fr) | Dispositif de codage /decodage utilisant un codeur/decodeur de reed-solomon | |
| CH653457A5 (fr) | Procede de correction d'erreurs dans des signaux de donnees digitales. | |
| FR2561839A1 (fr) | Procede de transmission d'information avec correction d'erreur pour des mots d'utilisateurs, procede de decodage a correction d'erreur pour ces mots d'utilisateurs, appareil pour la transmission d'information a utiliser avec le procede, dispositif pour le decodage d'information a utiliser avec le procede et appareil a utiliser avec un tel dispositif | |
| EP0204635B1 (fr) | Procédé de transmission en blocs de mots d'information numérique | |
| EP0108655A1 (fr) | Système de détection et de correction d'erreurs de transmission d'un message binaire utilisant un code cyclique détecteur et correcteur d'erreurs de type Reed-Solomon entrelacé | |
| JP3357374B2 (ja) | それぞれエラー訂正符号のデータ構造を有するデータ伝送システム、データ記録再生装置及び記録媒体 | |
| EP1262976A1 (fr) | Appareil d'enregistrement/ de reproduction de données, méthode correspondante, et support d'enregistrement de données | |
| FR2776115A1 (fr) | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif | |
| EP1076933B1 (fr) | Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif | |
| CH648141A5 (fr) | Procede et appareil de detection d'un point de montage sur un support d'enregistrement. | |
| US20080250306A1 (en) | Coding circuit for recording data on dvd disk | |
| FR2540690A1 (fr) | Verificateur de codeur | |
| EP0042776A1 (fr) | Dispositif de correction, en temps réel, d'erreurs, sur des données enregistrées sur un support magnétique | |
| JP3696134B2 (ja) | 高密度dvdにおける短バストエラー訂正のためのインターリービング方法 | |
| FR2845220A1 (fr) | Procedes et dispositifs pour le decodage des codes de geometrie algebrique a un point | |
| FR2673341A1 (fr) | Agencement de circuit pour detecter et corriger des defauts dans des mots de donnees. | |
| FR2865083A1 (fr) | Decodage pour code de geometrie algebrique associe a un produit fibre. | |
| FR2863794A1 (fr) | Procedes et dispositifs de localisation d'erreurs pour les codes de geometrie algebrique | |
| FR2900294A1 (fr) | Chargement de la memoire d'entree d'un decodeur ldpc avec des donnees a decoder | |
| EP0350368A1 (fr) | Dispositif pour le codage et la mise en forme de données pour enregistreurs à têtes tournantes | |
| FR2838580A1 (fr) | Procedes et dispositifs de faible cout pour le decodage de codes produits | |
| FR2773284A1 (fr) | Circuit de calcul de polynome de syndrome et un circuit de decodage reed-solomon | |
| Chang et al. | A reed-solomon product-code (rs-pc) decoder for dvd applications | |
| EP0769854B1 (fr) | Système permettant un décodage correct, sous forme d'un message binaire, d'un code magnétique enregistré sur une piste magnétique |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| ST | Notification of lapse |