FR2714498A1 - Décodeur exécutant une correction d'erreurs et procédé de décodage avec correction d'erreurs. - Google Patents

Décodeur exécutant une correction d'erreurs et procédé de décodage avec correction d'erreurs. Download PDF

Info

Publication number
FR2714498A1
FR2714498A1 FR9415714A FR9415714A FR2714498A1 FR 2714498 A1 FR2714498 A1 FR 2714498A1 FR 9415714 A FR9415714 A FR 9415714A FR 9415714 A FR9415714 A FR 9415714A FR 2714498 A1 FR2714498 A1 FR 2714498A1
Authority
FR
France
Prior art keywords
error
error correction
locations
errors
corrected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9415714A
Other languages
English (en)
Other versions
FR2714498B1 (fr
Inventor
Takahiko Nakamura
Kaisha
Hideo Yoshida
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of FR2714498A1 publication Critical patent/FR2714498A1/fr
Application granted granted Critical
Publication of FR2714498B1 publication Critical patent/FR2714498B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

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

Abstract

Ce dispositif comprend un décodeur (6b) corrigeant l'erreur de chaque ligne en tant que mot reçu et détectant une erreur ne pouvant pas être corrigée, une mémoire positionnant un drapeau d'erreur de salve lorsqu'un nombre d'erreurs ne pouvant pas être détectées du mot reçu dépasse une première valeur, une mémoire (8) mémorisant des emplacements de lignes comportant une erreur ne pouvant pas être corrigée, un compteur comptant un nombre de telles lignes, et un autre décodeur (6c) corrigeant une erreur de chaque colonne en tant que mot reçu et décodant le mot reçu. Application notamment aux systèmes de traitement de signaux numériques audio et vidéo.

Description

La présente invention concerne un procédé et un dispositif pour corriger
des erreurs dans des données codées non corrigées dans un dispositif de mémoire, et plus particulièrement un procédé de décodage avec correction d'erreurs et un décodeur exécutant une correction d'er- reurs, devant être utilisé dans un traitement de signaux
numériques, audio et vidéo.
Le procédé de décodage exécutant une correction d'erreurs et utilisant un code de produit pour une bande audio numérique a été exposé dans un article paru le 29 Juin 1987 dans Nikkei Electronics, l'une des revues de
pointes japonaises paraissant toutes les deux semaines.
L'organigramme représenté sur la figure 21, annexé à la présente demande, illustre la théorie de ce procédé classique de décodage de correction d'erreurs, et la figure 22, annexée à la présente demande, représente une structure de blocs d'un code de produits, dans lequel 32, 38 et 5 codes Reed-Solomon (RS) sont utilisés pour former le code Cl pour chaque ligne individuelle, et 32, 26 et 7 codes RS sont utilisés en tant que code C2 pour chaque colonne individuelle. Le nombre d'erreurs d'un mot reçu avec le code C1 est estimé sur la base d'un syndrome obtenu pour les données de mots reçu. Lorsque le nombre d'erreurs est estimé comme étant égal à un, la correction d'une erreur unique est exécutée pour cette erreur. Lorsque le nombre d'erreurs est estimé égal à deux, une correction pour deux erreurs est exécutée, et deux drapeaux d'effacement sont positionnés dans une mémoire de manière à indiquer les emplacements des deux erreurs. Si le nombre d'erreurs est estimé comme étant égal à trois ou plus, au lieu d'exécuter une correction d'erreurs, des drapeaux d'effacement indiquant les emplacements d'erreurs ne pouvant pas être corrigées dans le mot reçu sont positionnés dans la
mémoire.
Lorsque l'opération mentionnée précédemment est répétée 32 fois dans la direction d'une ligne, un signal de
code C1 a été décodé.
Lors de l'achèvement du décodage d'un signal de code Ci, un nombre d'erreurs d'éléments reçus est calculé
sur la base des données Cl décodées.
Lorsque le nombre d'erreurs est déterminé comme étant égal à un, la correction de l'erreur unique est exécutée pour cette erreur. Lorsque le nombre d'erreurs est déterminé comme étant égal à deux, une correction d'erreur double est exécutée. Lorsqu'il est établi que trois erreurs sont apparues, un procédé de correction d'erreurs dépend du nombre de drapeaux d'effacement positionnés pendant le
décodage avec le code Cl: lorsque deux drapeaux d'efface-
ment ont été positionnés, un effacement double et une correction d'une seule erreur sont exécutés et une correction avec effacement triple est exécuté lorsqu'il existe trois drapeaux d'effacement. De façon analogue, s'il est établi que le nombre d'erreurs est égal à quatre, un effacement triple et une correction d'une seule erreur est exécuté lorsqu'il existe trois drapeaux d'effacement, et une correction avec effacement quadruple est exécutée lorsqu'il existe quatre drapeaux d'effacement. S'il est établi qu'il existe cinq erreurs dans le code C2, une correction avec effacement quintuple est exécutée. Dans le cas o on estime qu'il existe six erreurs, une correction avec un sextuple effacement est exécutée lorsqu'il existe
six drapeaux d'effacement.
Si le nombre de drapeaux d'effacement est supérieur à six, une détection d'erreurs est exécutée à la
place d'une correction d'erreurs pour le décodage C2.
Le décodage C2 est achevé lorsque l'opération mentionnée précédemment est répétée 28 fois pour la section d'informations, ou 32 fois pour tous les codes dans le bloc d'un code de produit dans le sens des colonnes représentées
sur la figure 22.
Dans les techniques de l'art antérieur, il existe un inconvénient conséquent résidant dans le fait que des erreurs sont détectées, mais restent non corrigées si, par exemple, une erreur de salve de grande longueur combinée à deux erreurs aléatoires, pour lesquelles une double correction d'erreurs est exécutée, apparaît dans le code Cl. C'est pourquoi le nombre des drapeaux d'effacement augmente proportionnellement au nombre d'erreurs, et un nombre de drapeaux d'effacement dépassant la capacité de décodage du code C2 conduit uniquement à une détection d'erreurs. En outre, il existe toujours le risque d'une corrrection erronée de mots reçus. Des mots reçus corrigés
de façon erronée plus un nombre élevé de drapeaux d'efface-
ment d'erreurs aléatoires conduisent inévitablement à un grand nombre de symboles décodés de façon erronée du code C2. C'est pourquoi, un but principal de la présente invention est d'indiquer un décodeur et un procédé de décodage, qui permettent de corriger des erreurs même si à la fois une erreur de salve de grande longueur et des
erreurs aléatoires sont apparues simultanément.
Un autre but de la présente invention est d'indiquer un décodeur et un procédé de décodage, qui permettent de réduire la correction erronée par effacement
lors du décodage avec le code C2.
Le but de la présente invention est de réaliser
un décodeur effectuantune correction d'erreurs, qui garan-
tisse la mise en oeuvre d'un procédé de décodage efficace et permettant une économie de temps, avec correction d'erreurs, et qui réduise l'apparition d'erreurs et permette également l'exécution d'un décodage optimum en fonction du type d'erreurs détectées, par exemple une erreur de salve ou des erreurs aléatoires ou peut être les
deux combinées.
Cet objectif est atteint à l'aide d'un décodeur effectuant une correction d'erreurs pour le décodage d'un signal de code comprenant n2 lignes x nl colonnes de symboles contenant des codes de correction d'erreurs pour appliquer une correction d'erreurs ou un effacement et une correction d'erreurs et pour corriger l'erreur d'un mot reçu dans le signal de code sur la base des codes de correction d'erreurs, et comprenant les composants suivants: - un premier décodeur qui corrige des erreurs pouvant être corriger de chaque ligne, en tant que mot reçu et détecte les erreurs ne pouvant pas être corrigées; - une mémoire de drapeau qui positionne un drapeau d'erreur de salve si le nombre d'erreurs ne pouvant pas être corrigées, détectées continûment, du mot reçu dépasse une première valeur prédéterminée; - une mémoire d'emplacements qui mémorise les emplacements de lignes possédant les erreurs ne pouvant pas être corrigées, détectée par le premier décodeur; - un compteur qui compte le nombre de lignes contenant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; - un second décodeur qui corrige une erreur de chaque colonne en tant que mot reçu ni fois. Il décode le mot reçu sur la base de l'effacement et de la correction d'erreurs moyennant l'utilisation des emplacements présents dans la mémoire d'emplacements, lorsque le nombre présent dans le compteur est compris entre des seconde et troisième valeurs prédéterminées, et que le drapeau d'erreur de salve est positionné. Il décode le mot reçu sur la base de la correction d'erreurs lorsque le nombre présent dans le compteur est compris entre les seconde et troisième valeurs prédéterminées, et que le drapeau d'erreurs de salve est
supprimé.
L'objectif est également atteint à l'aide d'un décodeur effectuant une correction d'erreurs, qui décode un signal composé de n2 lignes x ni colonnes de symboles incluant des codes de correction d'erreurs pour appliquer une correction d'erreurs ou un effacement et une correction d'erreurs. Le décodeur corrige l'erreur d'un mot reçu dans le signal de code sur la base des codes de correction d'erreurs. Le décodeur est constitué par les composants suivants: - un premier décodeur qui corrige des erreurs pouvant être corrigées de chaque ligne en tant que mot reçu et détecte des erreurs ne pouvant pas être corrigées, - une mémoire d'emplacements, qui mémorise des emplacements de lignes possédant des erreurs ne pouvant pas être corrigées, détectées par le premier décodeur, - un premier compteur qui compte le nombre de lignes possédant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur, - un second compteur qui compte le nombre de drapeaux de correction d'erreurs maximum positionnés dans chaque ligne dans le cas o le nombre d'erreurs détectées des symboles dans chaque ligne est égal à la valeur d'erreur maximum pouvant être corrigé, et - un second décodeur, qui corrige une erreur de chaque colonne en tant que mot reçu ni fois, et décode le mot reçu sur la base de l'effacement et de la correction d'erreurs en utilisant des emplacements présents dans la mémoire d'emplacements lorsque le nombre situé dans le premier compteur est compris entre des seconde et troisième valeurs déterminées, et que la somme du nombre présent dans le premier compteur et du nombre présent dans le second compteur est inférieure à une première valeur prédéterminée. Il décode le mot reçu sur la base d'une correction d'erreurs lorsque le nombre situé dans le premier compteur est compris entre les seconde et troisième valeurs prédéterminées et que la somme du nombre présent dans le premier compteur et du nombre présent dans le second compteur est supérieure à la première valeur prédéterminée. Cet objectif est également atteint à l'aide d'un décodeur effectuant une correction d'erreurs, qui décode un signal de code constitué de n2 lignes x nl colonnes de symboles contenant des codes de correction d'erreurs pour exécuter une correction d'erreurs ou un effacement et une correction d'erreurs, et corrige une erreur d'un mot reçu dans le signal de code sur la base des codes de correction d'erreurs, et comportant les éléments suivants: - un premier décodeur qui corrige une erreur de chaque ligne en tant que mot reçu et détecte une erreur ne pouvant pas être corrigée du mot reçu n2 fois, - une mémoire d'emplacements, qui mémorise des emplacements de lignes contenant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur, un compteur qui compte un nombre de lignes possédant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur, - un circuit de recherche dit de "Chien- Searciqui oelal des emplacements d'erreurs et des amplitudes d'erreurs d'un algorithme euclidien et qui positionne un nombre d'emplacements d'erreurs, le nombre de lignes contenant des erreurs ne pouvant pas être corrigées étant initialement nul, - un second décodeur qui corrige une erreur de chaque colonne en tant que mot reçu, nl fois, et qui décode le mot reçu sur la base d'un effacement et d'une correction d'erreurs moyennant l'utilisation des emplacements situés dans la mémoire d'emplacements, dans le cas o le nombre présent dans le compteur est inférieur à une première valeur prédéterminée, et que le nombre des emplacements d'erreurs dans le circuit Chien-Search est pour la première fois supérieur à une seconde valeur prédéterminée, et décode le mot reçu sur la base de la correction d'erreurs lorsque le nombre situé dans le compteur est supérieur à la première valeur prédéterminée et que le nombre des emplacements d'erreurs dans le circuit Chien-Search est pour la première fois supérieur à la seconde valeur prédéterminée. L'objectif est atteint à l'aide d'un procédé de décodage pour décoder un signal de code constitué de n2 lignes x ni colonnes de symboles contenant des codes de correction d'erreurs et pour la correction d'une erreur d'un mot reçu, comportant les étapes suivantes consistant à: - produire des polynômes d'emplacements sur la base de syndromes du mot reçu, - analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque ligne sur la base des polynômes d'emplacement; - corriger le mot reçu dans chaque ligne en utilisant les codes de correction d'erreurs dans le cas o une erreur est apparue et o le nombre des emplacements d'erreurs est inférieur à une première valeur prédéterminée dans chaque ligne, mémoriser l'élément de la ligne dans un espace de Galois en tant qu'élément d'erreur ne pouvant pas être corrigé dans le cas o le nombre des emplacements d'erreurs est supérieur à la première valeur prédéterminée dans chaque ligne, - positionner un drapeau d'erreur de salve dans le cas o le nombre d'erreurs ne pouvant pas être corrigées, détectées continûment, du mot reçu dépasse une seconde valeur prédéterminée, - analyser les emplacements d'erreurs et des amplitudes d'erreurs des mots reçus dans chaque colonne sur la base des polynômes d'emplacements, - corriger le mot reçu dans chaque colonne sur la base d'un effacement et d'une correction d'erreurs dans le cas o une erreur est apparue dans chaque colonne, que le nombre des éléments d'erreurs ne pouvant pas être corrigées est inférieur à une troisième valeur prédéterminée et que le drapeau d'erreur de salve est positionné, et corriger le mot reçu dans chaque colonne sur la base d'une correction d'erreurs dans le cas o l'erreur est apparue dans chaque colonne, o le nombre des éléments d'erreurs ne pouvant pas être corrigées est inférieur à une troisième valeur prédéterminée et o le drapeau d'erreur de
salve est supprimé.
L'objectif est également atteint à l'aide d'un
procédé de décodage pour décoder un signal de code consti-
tué de n2 lignes x nl colonnes de symboles contenant des codes de correction d'erreurs et pour corriger l'erreur d'un mot reçu, comportant les étapes suivantes consistant à: - produire des polynômes d'emplacements sur la base de syndromes des mots reçus, - analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque ligne sur la base des polynômes d'emplacements, - corriger le mot reçu dans chaque ligne sur la base de la correction d'erreurs dans le cas o une erreur est apparue et o le nombre des emplacements d'erreurs est inférieur à une première valeur prédéterminée dans chaque ligne, - mémoriser l'élément de la ligne dans un espace de Galois en tant qu'élément d'erreur ne pouvant pas être corrigée et dans le cas o le nombre des emplacements d'erreurs est supérieur à la première valeur prédéterminée dans chaque ligne, régler un drapeau de correction d'erreurs maximum dans le cas o le nombre d'erreurs détectées des symboles dans chaque ligne est égal à la valeur d'erreurs maximum pouvant être corrigées, - analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque colonne sur la base des polynômes d'emplacements, - corriger le mot reçu dans chaque colonne sur la base d'un effacement et d'une correction d'erreurs dans le cas o une erreur est apparue, o le nombre des éléments d'erreurs ne pouvant pas être corrigées est inférieur à une seconde valeur prédéterminée et o le nombre de drapeaux de correction d'erreurs maximum est inférieur à une troisième valeur prédéterminée, et - corriger le mot reçu dans chaque colonne sur la base de la correction d'erreurs dans le cas o une erreur est apparue et o les éléments d'erreurs ne pouvant pas être corrigés sont inférieurs à la seconde valeur prédéterminée et o le nombre de drapeaux de correction d'erreurs maximum
est supérieur à la troisième valeur prédéterminée.
Le but est atteint effectivement par addition des étapes de remplissage d'un mot reçu dans les éléments d'erreurs ne pouvant pas être corrigées des lignes moyennant l'utilisation de l'étape de correction dans la colonne et de l'étape de correction d'éléments reçus à nouveau sur la base de l'étape de remplissage dans le
procédé de décodage.
D'autres caractéristiques et avantages de la
présente invention ressortiront de la description donnée
ci-après prise en référence aux dessins annexés, sur lesquels: - la figure 1 représente la configuration générale d'un système de communication;
- la figure 2 donne une description générale
d'une configuration d'un système d'enregistrement; - la figure 3 représente une configuration H/W à usage particulier; - la figure 4 représente la configuration H/W à usage général; - la figure 5 représente une configuration d'un décodeur effectuant une correction d'erreurs, conforme à la présente invention; - la figure 6 représente les détails du calculateur d'effacement du décodeur effectuant une correction d'erreurs, conforme à la forme de réalisation 1 de la présente invention; - la figure 7 représente un organigramme de fonctionnement d'un décodeur effectuant une correction d'erreurs conforme à la forme de réalisation 1 de la présente invention; - la figure 8 est un organigramme de fonctionnement d'un procédé de décodage effectuant une correction d'erreurs conforme à la forme de réalisation 2 de la présente invention; - la figure 9 est un organigramme d'exécution du procédé de décodage avec correction d'erreurs conforme à la forme de réalisation 2 de la présente invention; - la figure 10 représente des détails du correcteur d'erreurs et du calculateur d'effacement du décodeur réalisant une correction d'erreurs, conforme à la forme de réalisation 3 de la présente invention; - la figure 11 représente un organigramme de fonctionnement du décodeur effectuant une correction d'erreurs conformément à la forme de réalisation 3 de la présente invention; - la figure 12 est un organigramme d'exécution du procédé de décodage avec correction d'erreurs conformément à la forme de réalisation 5 de la présente invention; - la figure 13 est un organigramme d'exécution d'un procédé de décodage avec correction d'erreurs conforme à la forme de réalisation 5 de la présente invention; - la figure 14 représente les détails d'un détecteur d'erreurs et d'un calculateur d'effacement d'un décodeur de correction d'erreurs conforme à la forme de l1 réalisation 6 de la présente invention; - la figure 15 est un organigramme de fonctionnement du décodeur effectuant une correction d'erreurs, conforme à la forme de réalisation 6 de la présente invention; - la figure 16 est un organigramme d'exécution d'un procédé de décodage avec correction d'erreurs, conformément à la forme de réalisation 8 de la présente invention; - la figure 17 est un organigramme d'exécution du procédé de décodage de correction d'erreurs conformément à la forme de réalisation 8 de la présente invention; - la figure 18 est un organigramme d'exécution du procédé de décodage avec correction d'erreurs conformément à la forme de réalisation 9 de la présente invention; - la figure 19 est un organigramme d'exécution d'un procédé de décodage avec correction d'erreurs conforme à la forme de réalisation 9 de la présente invention; la figure 20 est un organigramme d'exécution d'un procédé de décodage de correction d'erreurs conformément à la forme de réalisation 9 de la présente invention; - la figure 21, dont il a déjà été fait mention, illustre dans ses grandes lignes un procédé classique de décodage avec correction d'erreurs; et - la figure 22, dont il a déjà été fait mention,
représente la structure des codes de produits.
Forme de réalisation 0 La figure 1 fournit une illustration générale d'une configuration de systèmes équipée d'un décodeur
conformément à la présente invention. Un système de commu-
nication représenté dans ses grandes lignes sur la figure est constitué de deux parties principales: un émetteur 100 et un récepteur 110, qui sont connectés à une ligne de transmission 105. Un convertisseur 102 reçoit l'information envoyée par une source 101 et la convertit en un signal électrique. Puis le signal est transmis à un codeur 103 et se propage jusqu'à un modulateur 104. L'information d'émission, qui est alors codée et modulée, est envoyée à une ligne de transmission 105. Qu'il soit transmis au moyen d'un fil ou sans fil, le signal de code est en permanence sensible au bruit extérieur. Par conséquent, le signal de code, qui a atteint un récepteur 110, est affecté par le bruit extérieur et doit tout d'abord être régénéré dans sa forme d'onde initiale dans un démodulateur (interface de réflexion) 106. Ensuite, il est envoyé à et décodé par un décodeur (décodeur effectuant une correction d'erreurs) 107. La forme d'onde est convertie en le signal de réception dans un circuit de réception 108 avant
d'atteindre un utilisateur 109.
La figure 2 représente dans ses grandes lignes
une configuration du système pour un système d'enregistre-
ment, qui est constitué dans une large mesure par un enregistreur 120 et un lecteur 130. Un signal de la source d'informations d'entrée 121 est converti en un signal électronique par l'intermédiaire d'un microphone ou d'un convertisseur 122. Le signal est ensuite codé par un codeur 123, modulé par un modulateur 124, puis enregistré dans un système d'enregistrement 125, par exemple une bande. Le système d'enregistrement est sensible à un bruit extérieur au cours de l'enregistrement et de la lecture. Des signaux sont extraits d'une bande au moyen d'un lecteur 130. Le signal enregistré est démodulé par un démodulateur (interface de lecture) 126, est décodé par un décodeur (décodeur exécutant une correction d'erreurs) 127, puis rétabli sous la forme du signal électronique d'origine avant d'atteindre un utilisateur 129, sous la forme d'un son délivré par un haut-parleur, par l'intermédiaire d'un
circuit de lecture 128.
Les décodeurs 107 et 127 représentés sur les figures 1 et 2 sont configurés spécialement au moyen d'un matériel ou d'un logiciel. Sur la figure 3, qui représente une configuration matérielle, une séquence de mots de réception est mémorisée dans une mémoire 132 à partir d'un démodulateur 126 par l'intermédiaire d'un bus de transmission de données 134 au moyen d'une unité centrale de traitement CPU 131. La séquence d'entrée de mots reçus est alors décodée par suppression du bruit produit, au moyen d'un circuit de décodage 135 effectuant une correction d'erreurs, conformément à l'instruction délivrée
par un circuit de production d'adresses 133.
En rapport avec une configuration logicielle pour un processeur à usage général, un décodeur est configuré au moyen d'une unité CPU 131 et d'une mémoire 142, qui contient le logiciel. Une information d'entrée est envoyée par l'intermédiaire d'un bus de transmission de données 143, et le résultat décodé est mémorisé temporairement dans une mémoire 142 avant d'être envoyé au bus de transmission de données 143. L'unité CPU 141 met en oeuvre le logiciel
qui exécute le décodage.
La figure 5 représente des détails d'un circuit de décodage avec correction d'erreurs 135 pour une
configuration matérielle spéciale.
Forme de réalisation 1 Dans un bloc de données comportant des codes de correction d'erreurs dans les directions à la fois des lignes et des colonnes, le fait que le nombre des erreurs qui ne peuvent pas être corrigées d'un mot reçu dans des lignes s'avère en permanence supérieur à une valeur prédéterminée, est fortement indicatif de l'apparition d'erreurs de salve. Dans un tel cas, un effacement et une correction d'erreurs doivent être exécutés pour le décodage de la colonne avec le code C2. Au contraire, lorsque des erreurs de salve ne sont pas susceptibles d'être apparues, des erreurs peuvent être corrigées par erreur si le décodage est réalisé sur la base d'effacements lorsqu'un
grand nombre de drapeaux d'effacement ont été positionnés.
C'est pourquoi, dans ce cas, les effacements sont ignorés afin de permettre une correction efficace des erreurs. Bien
que les explications dans la présente description aient
été données en rapport avec des lignes et des colonnes, les spécialistes de la technique constateront que ces concepts sont précisément valables pour des colonnes et des lignes ou pour n'importe quelle autre dimension, comme par exemple
le temps.
Un exemple de décodeur exécutant une correction d'erreurs, basé sur cette théorie, est agencé comme indiqué ci-après sur la base de la figure 5, sur laquelle: une borne d'entrée 1 reçoit une séquence de mots reçus, un générateur de syndromes 2 calcule un syndrome sur la base des mots reçus, un opérateur 3 d'un algorithme euclidien calcule un polynôme d'emplacements d'erreurs ou un polynôme d'amplitudes d'erreurs sur la base des syndromes et des emplacements d'effacements, un calculateur de degré 4 calcule un degré d'un polynôme d'emplacementsd'oereurs, uncircuit de recherche dit circuit Chien-Search 5 calcule un emplacement d'erreur, une amplitude d'erreur et le nombre des erreurs sur la base des polynômes d'emplacements d'erreurs et des polynômes d'amplitudes d'erreurs. Un détecteur d'erreurs 6 délivre des signaux de drapeaux d'erreurs ne pouvant pas être corrigées pour la mise en oeuvre d'une détection d'erreurs à la place d'une correction d'erreurs sur la base du degré des polynômes d'emplacements d'erreurs et du nombre d'erreurs calculé par le circuit Chien-Search si le nombre des erreurs présentes dans le mot reçu est supérieur à une valeur prédéterminée. Un calculateur d'effacement 7 délivre le nombre d'effacements pour le décodage C2 sur la base du signal de sortie pour des drapeaux d'erreurs ne pouvant pas être corrigés lors du décodage avec Cl. Les emplacements d'effacement pour les mots reçus, qui délivrent le signal des drapeaux d'erreurs ne pouvant pas être corrigées pendant le décodage Cl sont mémorisés dans une mémoire d'emplacements d'effacement 8. Les emplacements d'erreurs sont délivrés par une borne de sortie 9 et des amplitudes d'erreurs sont délivrées par une borne de sortie , tandis que des signaux de drapeaux d'erreurs ne pouvant pas être corrigées indiquant des erreurs ne pouvant pas
être corrigées sont délivrés par une borne de sortie 11.
Le calculateur d'effacement 7 est représenté de façon détaillée sur le schéma-bloc de la figure 6, sur lequel: un compteur 12 compte le nombre de mots reçus possédant un signal de sortie de drapeaux d'erreurs ne pouvant pas être corrigées, un détecteur d'erreurs continues 13 constitué par un compteur et un comparateur délivre un signal d'une erreur de salve lorsqu'un signal pour des drapeaux d'erreurs ne pouvant pas être corrigées est délivré pour les mots continus et reçus possédant la valeur prédéterminée. Des signaux d'erreurs de salve sont conservés dans une mémoire 14, des comparateurs 15 et 16 comparent la valeur de sortie délivrée par le compteur 12 à la fin du décodage de C1 aux valeurs prédéterminées Z3 et Z4, une porte ET 17 combine le résultat du comparateur 16 à la mémoire 14. Une porte OU 18 combine le signal de sortie du comparateur 15 au signal de sortie de la porte OU 17. Un sélecteur 19 délivre le nombre d'effacements sur la base du
signal de sortie de la porte OU pour le décodage C2.
La figure 7 est un organigramme d'exécution pour le décodage avec correction d'erreurs qui a été expliqué
jusqu'alors. Z1, Z2, Z3 et Z4 sont les valeurs prédéter-
minées. Le fonctionnement du décodeur va être expliqué ci-
après en référence à l'organigramme représenté sur la figure 7. Lors du décodage Cl, une séquence de mots reçus lus à partir de la mémoire est envoyée par l'intermédiaire de la borne d'entrée 1 au générateur de syndromes 2, au moyen duquel un syndrome est calculé. Un mot reçu désigne ici des signaux contenus dans une ligne unique dans la direction C1 ou dans une colonne unique dans la direction C2. Le terme "mot de code" pourrait être pris au sens large en tant qu'alternative au terme "motreçu". Cependant, étant donné qu'un décodeur reçoit un mot de code, l'expression "mot reçu" est utilisée à la place de mot de
code dans l'ensemble de la présente description Le
syndrome calculé par le générateur de syndrome 2 est ensuite envoyé à l'opérateur 3 de l'algorithme euclidien, dans lequel un polynôme d'emplacements est produit. Alors les coefficients du polynôme d'emplacements d'erreurs et du polynôme d'amplitudes d'erreurs sont calculés. Le coefficient du polynôme d'emplacement d'erreurs est calculé au moyen de l'opérateur 3 de l'algorithme euclidien est envoyé à un calculateur de degré 4 pour calculer et
délivrer un degré. Les coefficients du polynôme d'emplace-
ments d'erreurs et du polynôme d'amplitudes d'erreurs sont envoyés au circuit Chien-Search 5. L'emplacement d'erreur calculé est délivré par une borne de sortie 9, tandis que l'amplitude d'erreur est délivrée par une borne de sortie 10. Le nombre d'erreurs K1 est envoyé à un détecteur d'erreurs 6. Si le degré du polynôme d'emplacements d'erreurs et le nombre d'erreurs délivré par le circuit Chien-Search ne concordent pas ou si le nombre d'erreurs K1 dépasse Z1 (pas 3 sur la figure 5), un signal de drapeau d'erreurs ne pouvant pas être corrigées est délivré par la
borne de sortie 11 (S4).
Le nombre d'erreurs K1 inférieur à Z1 (Si) indique que les mots reçus peuvent être décodés. Par conséquent, lorsqu'un signal de drapeau d'erreur ne pouvant pas être corrigée n'est pas délivré par l'intermédiaire de la borne de sortie 11 (pas 1 sur la figure 7), le contenu de la mémoire conservant des symboles reçus correspondant à l'emplacement d'erreur délivré par la borne de sortie 9 est ajouté au signal de sortie d'amplitude d'erreurs par l'intermédiaire de la borne de sortie 10, et une correction d'erreurs est exécutée (S2). Le compteur du détecteur d'erreurs continues 13 situé dans l'ordinateur d'effacement 7 est amené à la valeur zéro. D'autre part, lorsqu'un signal de drapeau d'erreur ne pouvant pas être corrigée est délivré par la borne de sortie 11 (S3), le contenu de la mémoire conservant les mots reçus reste intact indépendamment d'un
emplacement d'erreurs ou d'une amplitude d'erreurs.
Un signal de drapeau d'erreur ne pouvant pas être corrigées envoyé au calculateur d'effacement 7 est compté le compteur 12. Le nombre d'erreurs ne pouvant pas être corrigées est également reçu et compté sans l'exécution d'une correction d'erreurs. Le contenu du compteur d'erreurs continues 13 est également compté. Lorsqu'un signal d'un drapeau d'erreur ne pouvant pas être corrigée est envoyé à la mémoire d'emplacements d'effacement 8, l'emplacement du code Cl, par exemple l'emplacement d'une ligne dans cet exemple est mémorisé en tant qu'emplacement
d'effacement pour le décodage C2.
Lorsque l'opération mentionnée précédemment a été répétée pour un bloc d'un code de produit, par exemple n fois dans des lignes s'il existe n lignes dans la direction
C1, le décodage Ci est terminé.
Lorsque la valeur du compteur du détecteur d'erreurs continues 13 devient supérieure à Z2 pendant le décodage Cl, un drapeau d'erreur de salve (drapeau d'erreur continue) est délivré (S5) et est conservé dans la mémoire 14. Lorsque le décodage C1 est achevé, le nombre d'erreurs ne pouvant pas être corrigées des mots reçus L, qui n'ont pas pu être corrigées pendant le décodage C1, est mémorisé dans le compteur 12 du calculateur d'effacement 7 (S6). Lorsque la valeur L délivrée par le compteur 12 est inférieure à Z3 (S7) ou si la valeur L est inférieure à Z4 (S8) dans le comparateur 16 et dans la porte ET 17 et si le drapeau d'erreur continue est positionné (S10), alors un effacement et une correction d'erreurs sont exécutés. La porte OU 18 sélectionne le nombre des symboles d'effacement devant être délivrés par le sélecteur 19 en tant que contenu du compteur 12 ou, sinon, zéro est délivré de manière à empêcher l'exécution de l'effacement et de la
correction d'erreurs dans le décodage C2.
Pour le décodage C2, la séquence lue à partir de la mémoire mémorisant les mots reçus décodés ligne par ligne est envoyée au générateur de syndromes 2 à partir de
la borne d'entrée 1 pour calculer un syndrome.
Le syndrome calculé par le générateur de syndrome
2 est envoyé à l'opérateur 3 de l'algorithme euclidien.
Avec la valeur délivrée par le calculateur d'effacement 7 en tant que nombre d'effacements et avec la valeur délivrée par la mémoire d'emplacements d'effacement 8 en tant qu'emplacement d'effacement, on obtient les coefficients du
polynôme d'emplacements d'erreurs et du polynôme d'amplitu-
des d'erreurs.
Le coefficient du polynôme d'emplacements d'erreurs calculé par l'opérateur 3 de l'algorithme euclidien est envoyé au calculateur de degré 4, et le degré du polynôme d'emplacements d'erreurs est calculé et délivré. Les coefficients du polynôme d'emplacements d'erreurs et du polynôme d'amplitudes d'erreurs calculés au moyen de l'opérateur 3 de l'algorithme euclidien, sont envoyés au circuit Chien-Search 5. Dans ce dernier, l'emplacement d'erreurs et l'amplitude d'erreurs sont calculés et délivrés respectivement par les bornes de sortie 9 et 10. Le circuit Chien-Search compte également le
nombre d'erreurs et délivre son résultat.
Si le degré du polynôme d'emplacements d'erreurs délivré par le calculateur de degrés 4 ne concorde pas avec le nombre d'erreurs délivré par le circuit Chien-Search 5, un signal de drapeau d'erreur ne pouvant pas être corrigée est délivré par la borne de sortie 11. Lorsque les deux valeurs concordent, l'amplitude d'erreurs délivrée par la borne de sortie 10 est ajoutée au contenu de la mémoire contenant les mots reçus décodés dans la direction C1 comme assurément à l'emplacement d'erreurs délivrés par la borne
de sortie 9, pour effectuer la correction d'erreurs.
De cette manière, lorsqu'il existe un risque élevé de correction erronée (S8), un drapeau d'erreur continue (erreur de salve) est étroitement contrôlé, sur la base de la décision indiquant s'il faut effectuer une correction d'erreurs ignorant des effacements ou effectuer
un effacement et une correction d'erreurs.
Un décodeur exécutant une correction d'erreur conforme à la présente invention contrôle chaque ligne pour déterminer si une erreur continue ne pouvant pas être corrigée dépasse une première valeur prédéterminée. Si le nombre d'erreurs ne pouvant pas être corrigées du mot reçu détectées par le premier décodeur est compris entre les seconde et troisième valeurs prédéterminées, le décodeur passe alors à l'exécution d'un effacement et d'une correction d'erreurs, dans le sens d'une colonne, s'il existe des erreurs ne pouvant pas être corrigées, détectées de façon continue, dans la direction de Cl, alors qu'il exécute seulement une correction d'erreurs si uniquement des erreurs continues ne pouvant pas être corrigées sont détectées. Le décodeur exécutant la correction d'erreurs et le procédé de décodage avec correction d'erreurs selon la présente invention présentent les avantages suivants: le décodeur effectuant une correction d'erreurs sert à exécuter une correction efficace d'erreurs en réduisant les corrections erronées. Grâce au contrôle du nombre d'erreurs ne pouvant pas être corrigées des mots reçus, et ce ligne par ligne, on peut estimer le degré d'effacement. Lorsque des erreurs continues ne pouvant pas être corrigées des mots reçus ou une erreur de salve s'avèrent hautement probable, un effacement et une correction d'erreurs sont exécutés lors du décodage C2. Lorsque des erreurs détectées sont évaluées comme étant des erreurs aléatoires et s'il existe un grand nombre d'effacements, seule une correction d'erreurs est exécutée afin qu'elle soit moins susceptible
de conduire à une correction erronée.
Forme de réalisation 2 La forme de réalisation 1 indique un exemple de décodage avec correction d'erreurs utilisant un dispositif à usage spécial. Cette forme de réalisation explique un procédé d'exécution d'un décodage avec correction d'erreurs utilisant un processeur à usage général et une mémoire
représentés sur la figure 4.
La configuration pour cette forme de réalisation est représentée sur la figure 4, et un organigramme de
fonctionnement est représenté sur les figures 8 et 9.
Dans l'ensemble des formes de réalisation, on suppose que le nombre de mots reçus dans le cas de C1 ou dans des lignes est n2 et que le nombre de mots de code reçus dans le code C2 dans les colonnes, est nl. Les mots reçus sont tout d'abord décodés dans la direction Cl,
suivant des lignes.
Sur la figure 8, lors du pas 11, le décodage démarre au niveau de la ligne 1 du code Cl et une détection d'erreur est exécutée par l'algorithme euclidien lors du pas 13. Le polynôme d'emplacements est calculé par le circuit Chien-Search et on obtient un emplacement d'erreur et une amplitude d'erreur. Le nombre d'erreurs K1 est obtenu par comptage du nombre d'emplacements d'erreurs. Si la valeur obtenue lors du pas 15 se situe dans la gamme d'erreurs pouvant être corrigées, une correction d'erreurs est exécutée lors du pas 16, et le décodage passe à la
ligne suivante lors du pas 17.
Une détection d'erreurs et une correction d'erreurs sont répétées jusqu'à ce que la totalité des n2 lignes soient englobées lors du pas 12. Des erreurs évaluées comme ne pouvant pas être corrigées sont détectées lors du pas 14 et du pas 15, et leurs emplacements sont enregistrés lors du pas 18 comme étant des éléments
correspondant à i dans un espace de Galois.
Le nombre d'erreurs ne pouvant pas être corrigées des mots reçus est intégré lors du pas 19. Lors du pas 20, une évaluation est faite pour savoir si ou non une erreur de salve est apparue. Lorsque le nombre d'erreurs ne pouvant pas être corrigées des mots reçus dépasse Z2, un drapeau
d'erreur continue est positionné lors du pas 21.
Lors du pas 17, une nouvelle ligne commence à être décodée. Une fois que le code Cl est décodé n2 fois dans la direction des lignes, le code C2 est décodé ni fois dans la direction des colonnes comme représenté sur la
figure 9.
Lors du pas 22, le décodage C2 commence au niveau de la colonne 1. Lors du pas 24, si la valeur L est inférieure à Z3, le calcul est exécuté par l'opérateur de l'algorithme euclidien lors du pas 28 pour l'exécution d'un effacement et d'une correction d'erreurs. On obtient alors un emplacement d'erreurs et une amplitude d'erreurs pour la
direction C2.
Si la valeur L lors du décodage C1 dépasse Z4 lors du pas 25, seul un calcul de correction d'erreurs est exécuté lors du pas 26 en supposant qu'il n'existe aucun
effacement.
Si la valeur L est comprise entre Z3 et Z4, alors la présence d'un drapeau d'erreur continue est contrôlée lors du pas 27. Un calcul de correction d'erreurs est exécuté soit lors du pas 26, soit lors du pas 28. Dans cet exemple, le degré du polynôme d'emplacements d'erreurs et le nombre d'erreurs mémorisées sont calculés lors du pas 29. Si ces valeurs concordent lors du pas 30, la correction
d'erreurs est exécutée lors du pas 31.
Le décodage passe alors à la colonne suivante lors du pas 32, et l'opération indiquée précédemment est
répétée nl fois dans la direction C2.
Un procédé de décodage avec correction d'erreurs conforme à la présente invention consiste en ce qu'un signal de code est décodé n2 fois dans la première direction de Cl. La présence d'erreurs continues ne pouvant pas être corrigées, dépassant la première valeur prédéterminée, est contrôlée, et le nombre d'erreurs ne pouvant pas être corrigées dûment reçu est soumis à une comparaison pour déterminer s'il se situe entre les seconde
et troisième valeurs prédéterminées avant le décodage C2.
Lorsque le nombre d'erreurs ne pouvant pas être corrigées, détectées dans la direction Cl, est en réalité situé entre les seconde et troisième valeurs prédéterminées, et que l'on est en présence d'erreurs continues ne pouvant pas être corrigées, qui dépassent la première valeur prédéterminée, alors l'effacement et la correction d'erreurs sont exécutés, alors que seule une correction d'erreurs est mise en oeuvre, en négligeant des effacements, si le nombre d'erreurs continues ne pouvant pas être corrigées est inférieur à la première valeur prédéterminée. Le degré d'effacement est déterminé au moyen du contrôle du nombre d'erreurs ne pouvant pas être corrigées des mots reçus lors du décodage C1, et une apparition possible d'une erreur de salve est mémorisée au moyen du contrôle de la présence d'erreurs continues ne pouvant pas être corrigées des mots reçus. Lorsqu'il s'avère qu'une erreur de salve est apparue, un effacement et une correction d'erreurs sont exécutés conformément aux valeurs mémorisées. Lorsque les erreurs aléatoires sont susceptibles d'être apparues et s'il existe un grand nombre d'erreurs ne pouvant pas être corrigées des mots reçus, seule une correction d'erreurs est exécutée afin d'éviter que les mots reçus ne soient corrigés d'une manière erronée. Forme de réalisation 3 On va expliquer ci-après la théorie d'un décodeur
de correction d'erreurs pour la forme de réalisation 3.
Lors du décodage Cl, un nombre important de mots reçus, pour lequel une correction d'erreurs est exécutée sur toute la capacité, jusqu'à la valeur maximale d'erreurs pouvant être corrigées déterminée par la longueur de chaque mot comparativement à la longueur du code de correction d'erreurs pour chaque mot est associé de façon invariable au nombre élevé de corrections erronées. Dans ce cas, une correction d'erreurs est exécutée en ignorant les effacements étant donné qu'un effacement et une correction d'erreurs sont plus susceptibles de conduire à une correction plus erronée pour le décodage C2. De façon analogue, lorsque le nombre de mots reçus, pour lequel une correction d'erreurs est exécutée jusqu'à la capacité complète, est faible, on considère qu'il existe moins de corrections erronées. Par conséquent, un effacement et une correction d'erreurs sont sélectionnés pour le décodage C2, étant donné que la probabilité d'une correction erronée est faible. La figure 10 représente un schéma-bloc montrant les détails d'un détecteur d'erreurs 6b et d'un calculateur d'effacement 7b représenté sur la figure 5. Le détecteur d'erreurs 6b est constitué par trois composants de base: deux comparateurs 20 et 21, une porte NON- OU 22. Le
comparateur 20 compare un degré d'un polynôme d'empla-
cements d'erreurs au nombre d'erreurs calculé par le circuit ChienSearch. L'autre comparateur 21 compare le degré d'un polynôme d'emplacements d'erreurs au nombre d'erreurs pour lequel une correction du nombre d'erreurs maximum a été exécuté lors du décodage C1. Un compteur 23 compte le nombre de mots reçus pour lequel une valeur maximum du nombre d'erreurs pouvant être corrigées est établie. Un additionneur 24 additionne la somme des signaux de sortie finals provenant du compteur 12 et du compteur 23, c'est-à-dire le nombre d'erreurs ne pouvant pas être corrigé des mots reçus, détectées lors du décodage Cl, au nombre des mots reçus pour lesquels une correction d'erreurs maximum est exécutée. Un comparateur 25 compare le signal de sortie de l'additionneur 24 à la valeur
prédéterminée Z2.
La figure 11 représente un exemple d'une correction d'erreurs en fonction du décodeur de corrections d'erreurs expliqué dans la forme de réalisation 3. Dans cet organigramme, les valeurs Z1, Z2, Z3 et Z4 sont prédéterminées.
Ici, on a représenté uniquement les fonctionne-
ments du détecteur d'erreurs 6b et du calculateur d'effa-
cement 7b, étant donné que toutes les autres fonctions opérationnelles de cette forme de réalisation sont les
mêmes que celles expliquées pour la forme de réalisation 1.
Un degré d'un polynôme d'emplacements d'erreurs calculé par le calculateur de degré 4, et le nombre d'erreurs K calculé par le circuit Chien-Search 5, sont envoyés au détecteur d'erreurs 6b. Le comparateur 20 compare le degré à la valeur K et délivre un signal de drapeau d'erreur ne pouvant pas être corrigées (S47), si les deux valeurs ne sont pas égales. Le comparateur 21 compare le degré au nombre maximum d'erreurs pouvant être corrigée Z1 et délivre un signal si les deux valeurs ne sont pas égales. Lorsque les deux valeurs concordent (S43), un signal d'un drapeau de correction du nombre maximum d'erreurs est envoyé par la porte NON-OU 22 (S48) à la place d'un signal d'un drapeau d'erreur ne pouvant pas être corrigée. Lorsqu'un signal d'un drapeau d'erreur ne pouvant pas être corrigée est envoyé au compteur 12, le nombre d'erreurs ne pouvant pas être corrigées des mots reçus lors du décodage Cl est intégré. Un signal d'un drapeau de correction maximum d'erreurs est introduit pour chaque ligne décodée et est intégré dans le compteur 23. Lorsque le décodage d'une ligne a été répété n2 fois, lorsque le décodage C1 est achevé, le nombre M de mots reçus pour lequel une correction maximum d'erreurs est exécutée, est
compté (S49) par le compteur 23.
Lorsque le décodage C1 est terminé, la valeur L délivrée par le compteur 12 est ajoutée à la valeur M
délivrée par le compteur 23, au moyen d'un additionneur 24.
Alors, le comparateur 25 délivre un signal si la valeur
délivrée par l'additionneur 24 est inférieure à Z2 (S53).
Lorsque le comparateur 15 indique que la valeur de sortie délivrée par le compteur 12 est inférieure à C1 (S50) ou si le comparateur 16 et la porte ET 17 établissent qu'elle est inférieure à Z4 (S51) et si un signal a été délivré par le comparateur 25 (S53), le risque d'une correction erronée est évalué comme étant faible. La valeur L délivrée par le compteur 12 est envoyée, par l'intermédiaire de la porte OU 18, au sélecteur 19 en tant que nombre de symboles d'effacement, et l'effacement et la correction d'erreurs
sont exécutés pour le décodage C2.
Dans d'autres cas, lorsque la possibilité d'une correction erronée est élevée, zéro est délivré en tant que nombre de symboles d'effacement, et une correction d'erreurs est seulement exécutée dans le décodage C2 en
supposant qu'il n'existe aucun effacement.
En outre, le nombre d'erreurs du mot reçu possédant le nombre maximum d'erreurs pouvant être corrigées est contrôlé et ensuite le nombre d'erreurs ne pouvant pas être corrigées des mots reçus est contrôlé. Si le nombre d'erreurs ne pouvant pas être corrigées des mots reçus détectées lors du décodage Ci est compris entre les seconde et troisième valeurs prédéterminées, le drapeau de correction du nombre d'erreurs maximum positionné dans chaque ligne ou la somme du drapeau de correction du nombre d'erreurs maximum positionné dans chaque ligne et le nombre d'erreurs ne pouvant pas être corrigées du mot reçu détecté lors du décodage C1 sont comparés à la quatrième valeur prédéterminée. Lorsque la valeur comparée est inférieure à la quatrième valeur prédéterminée, un effacement et une correction d'erreurs sont exécutés alors que seule une correction d'erreurs est exécutée si la valeur est
supérieure à la quatrième valeur prédéterminée.
Le degré d'effacement est estimé au moyen du contrôle du nombre de mots reçus dépassant la valeur du nombre d'erreurs maximum pouvant être corrigées. Si le nombre de mots reçus avec des erreurs dépassant la valeur du nombre maximum d'erreurs pouvant être corrigées est élevé, seule une correction d'erreurs est exécutée pour le décodage C2 afin d'empêcher que les mots reçus ne soient corrigés d'une manière erronée. Si le nombre de mots reçus comportant des erreurs dépassant le nombre maximum d'erreurs pouvant être corrigées est faible, un effacement
et une correction d'erreurs sont sélectionnés.
Forme de réalisation 4 Bien que la valeur délivrée par le compteur 12 soit ajoutée à la valeur de sortie délivrée par le compteur 23, par l'additionneur 24 avant d'être envoyés au comparateur 25 dans la forme de réalisation 3, il est également efficace d'envoyer la valeur délivrée par le compteur 23 au comparateur 25 par modification de la valeur
prédéterminée Z2.
En outre, le nombre d'erreurs ne pouvant pas être corrigées des mots reçus détectées dans les lignes est calculé, puis le nombre de mots reçus possédant le même nombre maximum d'erreurs pouvant être corrigées, déterminé par la distance théorique basée sur le résultat décodé est contrôlé. Si le nombre d'erreurs ne pouvant pas être corrigées des mots reçus est compris entre les seconde et troisième valeurs prédéterminées, alors le drapeau de correction du nombre de mots maximum positionné dans chaque ligne ou la somme du drapeau de correction du nombre maximum d'erreurs positionné dans chaque ligne et le nombre d'erreurs ne pouvant pas être corrigées des mots reçus dans les lignes est comparé à la quatrième valeur prédéterminée. Lorsque le nombre est inférieur à la quatrième valeur prédéterminée, un effacement et une correction d'erreurs sont exécutés. Si la valeur est supérieure à la quatrième valeur prédéterminée, une correction d'erreurs est exécutée en négligeant les effacements. Le nombre de mots reçus comportant des erreurs dépassant le nombre maximum d'erreurs pouvant être corrigées dans la direction Cl est déterminé. Lorsqu'un grand nombre de mots reçus comportant des erreurs dépassant le nombre maximum d'erreurs pouvant être corrigées sont détectés, seule une correction d'erreurs est exécutée pour empêcher que les mots reçus ne soient corrigés de façon erronée alors qu'un effacement et une correction d'erreurs sont exécutés lorsque le nombre de mots reçus comportant des erreurs dépassant le nombre maximum d'erreurs pouvant
être corrigées est négligeable.
Forme de réalisation 5 La forme de réalisation 5 décrit un exemple d'un procédé de décodage avec correction d'erreurs comportant un processeur à usage général et une mémoire représentés sur la figure 4, moyennant l'utilisation de l'organigramme de
fonctionnement illustré sur les figures 12 et 13.
Lors du pas 61, le décodage commence dans la ligne 1. Lors du pas 63, une détection d'erreurs est exécutée au moyen d'un algorithme euclidien: le coefficient du polynôme d'emplacements d'erreurs est introduit pour l'obtention de l'emplacement d'erreurs et de l'amplitude d'erreurs. Lors du pas 65, s'il s'avère que ces chiffres se situent dans une gamme telle que le décodage peut être exécuté, et que la correction d'erreurs commence lors du pas 66, puis un passage à la ligne suivante est
exécuté lors du pas 67.
La détection d'erreurs et la correction d'erreurs sont répétées à partir du pas 62 jusqu'à ce que la totalité des n2 lignes soient décodées. Des mots reçus, discriminés comme ne pouvant pas être corrigés, sont détectés lors des pas 64 et 65, et leurs emplacements sont enregistrés comme les éléments correspondant à i dans un espace de Galois
lors du pas 70.
Le nombre maximum d'erreurs pouvant être corrigées est compté sous la forme d'un drapeau de correction du nombre d'erreurs maximum lors du pas 69, et le nombre d'erreurs ne pouvant pas être corrigées des mots
reçus L est intégré lors du pas 71.
Lors du pas 67, le décodage passe à la ligne suivante. Lorsque le code Cl est décodé n2 fois dans la direction des lignes, le code C2 est décodé ni fois dans la
direction des colonnes, comme représenté sur la figure 13.
Lors du pas 72 de la figure 13, le décodage C2 commence au niveau de la colonne 1. Si le nombre d'erreurs ne pouvant pas être corrigées des mots reçus L est inférieur à Z3 (S74), une opération d'effacement et de correction d'erreurs est exécutée au moyen de l'opérateur
de l'algorithme euclidien (S81).
Si la valeur L lors du décodage Cl est supérieure à Z4 (S75), alors si la somme de L et M est inférieure ou égale à Z2 (S80), seul un calcul de correction d'erreurs est exécuté (S81), tout en ignorant les effacements lors du
pas 76.
Si la valeur L est comprise entre Z3 et Z4, alors l'ensemble de la valeur L et des drapeaux de correction du nombre d'erreurs maximum, ou les drapeaux de correction du nombre d'erreurs maximum est contrôlé pour déterminer s'il est inférieur à la valeur prédéterminée, sur la base de laquelle un calcul de correction d'erreurs est exécuté soit
lors du pas 76, soit lors du pas 81.
Lorsque le degré du polynôme d'emplacements d'erreurs (S77) concorde avec le nombre d'erreurs calculées par le circuit Chien-Search (S78), une correction d'erreurs
est faite lors du pas 82.
Le décodage passe à la colonne suivante lors du pas 79 et l'opération est répétée n1 fois dans la direction
des colonnes pour le code C2 (S73).
En outre, le nombre d'erreurs ne pouvant pas être
corrigées des mots reçus dans les lignes est vérifié.
Alors, lors du décodage C2, en supposant qu'il n'existe aucun effacement, un polynôme d'emplacements d'erreurs est produit. Si le degré du polynôme est inférieur à une première valeur prédéterminée, une correction d'erreurs est exécutée. Si le degré est supérieur à la première valeur prédéterminée, le nombre d'erreurs ne pouvant pas être corrigées des mots reçus dans les lignes est comparé à la seconde valeur prédéterminée. Si le nombre est inférieur à la seconde valeur prédéterminée, un nouveau calcul est effectué en utilisant les emplacements d'erreurs dans la mémoire d'emplacements pour l'exécution d'un effacement et d'une correction d'erreurs pour la direction C2. Si la valeur est supérieure à une seconde valeur prédéterminée, une correction d'erreurs est exécutée dans la direction C2,
tout en ignorant les effacements.
En outre, une correction d'erreurs est exécutée pour le décodage C2 en supposant qu'il n'existe aucun effacement. Sur la base de ce résultat, le degré du polynôme d'emplacements d'erreurs est supérieur à une certaine valeur, et une correction d'erreurs est à nouveau exécutée en utilisant les emplacements d'effacement. Des erreurs aléatoires sont corrigées, avec une réduction de la correction erronée éventuelle, alors qu'un effacement et une correction d'erreurs sont exécutés lorsque des erreurs
de salves sont apparues.
Forme de réalisation 6 La forme de réalisation 6 est basée sur la théorie suivante: lorsque des erreurs aléatoires sont apparues, la plupart des effacements détectés dans le décodage C1 ne sont pas des erreurs réelles. Si une correction erronée a été effectuée dans le décodage Cl et si une correction d'effacement est effectuée pour le décodage C2, le risque d'une correction erronée devient hautement probable. Au lieu de cela, des mots reçus peuvent être décodés au moyen d'une correction d'erreurs ignorant des effacements. D'autre part, lorsque des erreurs de salves sont apparues, des effacements dans le décodage Cl sont en réalité incorrects. C'est pourquoi il se produit un effacement et une correction d'erreurs et non seule une
correction d'erreurs, qui rend le décodage C2 impossible.
Sur la base de cette théorie, une correction d'erreurs est faite tout d'abord en ignorant des effacements indépendamment de salves ou d'une erreur aléatoire. Alors, le degré d'un polynôme d'emplacements d'erreurs,qui s'avère être supérieur à une valeur prédéterminée, est considéré comme apparition d'une erreur de salve. Par conséquent, un décodeur réalisant une correction d'erreurs conforme à cette forme de réalisation améliore d'une manière remarquable la capacité de correction d'erreurs en réalisant une correction d'erreurs moyennant l'utilisation
des emplacements d'effacement.
La configuration pour cette forme de réalisation est la même que pour la forme de réalisation 1 hormis pour
le détecteur d'erreurs et pour le calculateur d'effacement.
La figure 14 est un schéma-bloc montrant les détails d'un correcteur d'erreurs 6c et d'un calculateur d'effacement 7c. Sur la figure 14, la référence 6c désigne le détecteur d'erreurs, tandis que la référence 7c désigne le calculateur d'effacement. Un comparateur 26 compare le degré du polynôme d'emplacements d'erreurs à une valeur prédéterminée et délivre un signal de redémarrage de l'algorithme euclidien si le degré est supérieur à cette valeur. Les signaux de redémarrage euclidien sont mémorisés dans une mémoire 27, et le nombre d'effacements est commuté par un sélecteur 28 en fonction de la présence d'un signal de redémarrage de l'algorithme euclidien. Ce signal de redémarrage de l'algorithme euclidien est également envoyé
à l'opérateur 3 de l'algorithme euclidien.
Un organigramme représenté sur la figure 15 fournit un exemple d'un procédé de décodage avec correction d'erreurs conformément à la forme de réalisation 6. Sur la
figure 15, les valeurs Z1, Z2 et Z3 sont prédéterminées.
Comme dans le cas de la forme de réalisation 3, des opérations du détecteur d'erreurs 6c et de l'ordinateur d'effacement 7c sont expliquées, étant donné que toutes les autres fonctions opérationnelles de cette forme de réalisation sont identiques à celles expliquées dans la
forme de réalisation 1.
Le degré du polynôme d'emplacements d'erreurs calculé par le calculateur de degré 4 et le nombre d'erreurs calculé par le circuit Chien-Search 5 sont envoyés au détecteur d'erreurs 6c. Si la valeur K est supérieure à Z1 (S93), un signal du drapeau d'erreur, qui ne peut pas être corrigé, est délivré par le comparateur 20 (S94), précisément comme dans le cas o le nombre d'erreurs est supérieur à Z1. Si K < Z1 (S91), une correction d'erreurs normale est exécutée (S92). Lorsque le signal d'un drapeau d'erreur ne pouvant pas être corrigées est envoyé au compteur 12, le calculateur d'effacement 7c compte le nombre d'erreurs ne pouvant pas être corrigées des mots reçus lors du décodage C1. Lorsque cette opération est répétée n2 fois, le décodage C1 est terminé, et le total des erreurs ne pouvant pas être corrigées des mots reçus sont intégrées dans le compteur 12. Lorsque le décodage C1 est achevé, le nombre d'erreurs ne pouvant pas être corrigées des mots reçus L est mémorisé dans le compteur 12 du compteur d'effacement du calculateur d'effacement 7c. Si la valeur délivrée par le compteur 12 est inférieure à Z3, le comparateur 15 sélectionne le nombre de symboles d'effacement devant être
délivrés par le sélecteur 19.
Lorsque zéro est délivré par le sélecteur 28 (S95), une correction d'erreurs commence pour le décodage C2. En d'autres termes, une correction d'erreurs est exécutée tout en ignorant des effacements détectés lors du décodage Cl. Sur la base du polynôme d'emplacements d'erreurs calculé par l'opérateur de l'algorithme euclidien, un degré d'un polynôme d'emplacements d'erreurs est calculé (S96) dans le calculateur de degré 4. Lorsque le comparateur 26 établit que le degré est supérieur à Z2, un signal de redémarrage de l'algorithme euclidien est
délivré (S97).
Un signal de redémarrage de sortie de l'algorithme euclidien est mémorisé dans la mémoire 27. Le sélecteur 28 commute la valeur délivrée par le sélecteur 19 en tant que nombre d'effacements. Le syndrome calculé par le générateur de syndromes 2 est chargé à nouveau dans l'opérateur 3 de l'algorithme euclidien. Sur la base du nombre d'effacements (S97) délivré par le calculateur d'effacements 7c, l'opérateur 3 de l'algorithme euclidien lit des emplacements d'effacements à partir de la mémoire d'emplacements d'effacements 8 pour exécuter un effacement
et une correction d'erreurs.
De cette manière, une première correction d'erreurs est exécutée tout en ignorant les effacements. Si le degré d'un polynôme d'emplacements d'erreurs est accru en tant que résultat d'une correction d'erreurs, les emplacements d'erreurs sont utilisés pour effectuer à nouveau une correction d'erreurs. En outre, le nombre d'erreurs qui ne peuvent pas être corrigées des mots reçus détectées dans des lignes est contrôlé. En supposant qu'il n'existe aucun effacement pour le décodage C2, un polynôme d'emplacements d'erreurs est produit de manière à comparer le degré du polynôme d'emplacements d'erreurs à la première valeur prédéterminée. Si le degré est supérieur à la première valeur prédéterminée, alors le nombre d'erreurs ne pouvant pas être corrigées des mots reçus dans des lignes est comparé à la seconde valeur prédéterminée. Si le nombre est inférieur à la seconde valeur prédéterminée, un nouveau calcul est exécuté en utilisant les emplacements contenus dans la mémoire d'emplacements, et un effacement et une correction d'erreurs sont exécutés. Si la valeur est supérieure à la seconde valeur prédéterminée, une correction d'erreurs est exécutée tout en ignorant les effacements. En outre, une correction d'erreurs est exécutée pour le décodage C2 en supposant qu'il n'existe aucun effacement. Sur la base de ce résultat, si le degré du polynôme d'emplacements d'erreurs est supérieur à une certaine valeur, une correction est à nouveau exécutée en utilisant les emplacements d'effacement. Par conséquent, des erreurs aléatoires sont corrigées tout en minimisant une éventuelle correction erronée, alors qu'un effacement ou une correction d'erreurs sont exécutés lorsque des
erreurs de salves sont apparues.
Forme de réalisation 7 Dans la forme de réalisation précédente, le comparateur 15 détermine si le nombre d'erreurs ne pouvant pas être corrigées des mots reçus ou zéro est délivré par le sélecteur 19. Il est également tout à fait possible de réaliser le même effet de signalisation en choisissant le signal de sortie du sélecteur 19 à partir d'une gamme plus étendue de valeurs de sortie incluant le détecteur d'erreurs continues, des signaux des drapeaux de correction du nombre d'erreurs maximum, etc., comme cela a été
expliqué dans les formes de réalisation 1 et 3.
Sur la base du résultat du décodage C1, les mots reçus sont décodés dans la direction C2. Des erreurs restantes non corrigées dans le décodage C1 sont à nouveau calculées sur la base des mots reçus corrigés lors du
décodage C2.
Il est hautement probable que des mots reçus, qui ne peuvent pas être corrigés dans le décodage C2, sont les mots reçus qui n'ont pas pu être corrigés dans le décodage C1. Etant donné qu'une correction d'erreurs est faite à nouveau uniquement pour des mots reçus qui n'ont pas pu être corrigés dans le décodage C1 moyennant l'utilisation des mots reçus obtenus lors du décodage C2, un décodage avec correction d'erreurs peut être exécuté d'une manière efficace d'une manière réalisant une économie de temps,
avec un petit nombre de corrections erronées.
Forme de réalisation 8 La forme de réalisation 8 élargit un exemple d'un procédé de décodage avec correction d'erreurs mis en oeuvre dans la forme de réalisation 6, avec un processeur à usage général et une mémoire représentée sur la figure 4. Les
figures 16 et 17 représentent l'organigramme de fonctionne-
ment. Lors du pas 101, le décodage commence pour les mots reçus dans la ligne 1, dans la direction C1, et une détection d'erreur est exécutée sur la base de l'algorithme euclidien lors du pas 103. Si des erreurs détectées se situent dans une gamme qui peut être décodée, une correction d'erreurs est exécutée lors du pas 106, puis le
décodage passe à la ligne suivante (S107).
Une détection d'erreurs et une correction d'erreurs sont répétées jusqu'à ce que toutes les lignes, par exemple n2 lignes, aient été décodées. Les mots reçus et évalués comme ne pouvant pas être corrigés sont détectés lors du pas 104 et du pas 105, et leurs emplacements sont
enregistrés dans la mémoire d'emplacements lors du pas 108.
La valeur L est intégrée lors du pas 109.
Le décodage passe à la ligne suivante lors du pas 107. Lorsque des codes Cl ont été décodés n2 fois dans la direction de X, le code C2 est décodé ni fois dans la
direction de Y comme cela est représenté sur la figure 17.
* Lors du pas 110, le décodage commence pour les codes C2 dans la colonne 1. Un polynôme d'emplacements d'erreurs est calculé lors du pas 112 en supposant qu'aucun effacement n'est apparu lors du décodage Cl. L'opération lors du pas 113 est très importante. Si le degré du polynôme d'emplacements d'erreurs calculé en ignorant l'effacement est inférieur à Z2, ce degré est comparé au nombre d'erreurs lors du pas 116, et une correction
d'erreurs est effectuée lors du pas 119.
D'autre part, si le degré du polynôme d'emplace-
ments d'erreurs est supérieur à Z2, le nombre de drapeau d'emplacements de détection d'erreurs est comparé à Z3 lors du pas 114. Si le nombre de drapeau de détection d'erreurs est inférieur, la possibilité de corrections erronées est estimée comme étant faible. Alors, le nombre de détection d'erreurs est ramené à zéro et le polynôme d'emplacements
d'erreurs est à nouveau calculé lors du pas 115.
Si le degré est inférieur à Z3, seule une correction d'erreurs est faite lors du pas 119, en ignorant
les effacements.
Le décodage passe à la colonne suivante lors du pas 118, et l'opération mentionnée précédemment est répétée
ni fois pour des codes C2 dans la direction des colonnes.
Forme de réalisation 9 On peut imaginer que des erreurs restent non corrigées après que les décodages Cl et C2 ont été exécutés. Ces erreurs sont d'une manière très probables les mots reçus qui n'ont pas pu être corrigés lors du décodage C1. Sur la base de cette théorie, cette forme de réalisation contient un exemple d'un procédé de décodage qui sert à réaliser une correction d'erreurs efficace et qui permet une économie de temps, en permettant un décodage à nouveau uniquement pour les erreurs des mots reçus, qui
n'ont pas pu être corrigées lors du décodage Cl.
Une fois que le code de produit a été décodé, des adresses de mémoire, au niveau desquelles des informations Cl et C2 décodées ont été mémorisées, sont lues en fonction de l'information d'emplacements d'erreurs, pour une nouvelle exécution d'une correction d'erreurs pour les mots reçus qui ont été détectés, mais qui sont restés non
corrigés lors du décodage Cl.
L'organigramme de fonctionnement pour cette forme
de réalisation est représenté sur les figures 18, 19 et 20.
Le décodage commence tout d'abord pour des codes C1 dans la ligne 1 lors du pas 120. Lors du pas 122, une détection d'erreurs est effectuée au moyen d'un algorithme euclidien. Si les erreurs détectées se situent dans la gamme décodable, une correction d'erreurs est exécutée lors du pas 124 et le décodage passe à la ligne suivante lors du
pas 125.
La détection d'erreurs et la correction d'erreurs sont répétées jusqu'à ce que la totalité des n2 lignes soient décodées (pas 121). Des emplacements des mots reçus détectés comme ne pouvant pas être corrigés lors du pas 123 sont enregistrés dans la mémoire lors du pas 126, et le nombre d'erreurs ne pouvant pas être corrigées des mots
reçus L est intégré lors du pas 127.
Le décodage passe à la ligne suivante lors du pas 125. Une fois que le code Cl a été décodé n2 fois dans la direction X, le code C2 est décodé nl fois dans la
direction Y, comme représenté sur la figure 19.
Le décodage commence au niveau de la colonne 1 du code C2 lors du pas 128. Si le nombre d'erreurs ne pouvant pas être corrigées du mot reçu est supérieur à Z1, un polynôme d'emplacements d'erreurs et un polynôme d'amplitudes d'erreurs sont calculés lors du pas 131 en supposant qu'il n'existe aucun effacement. Lorsque le nombre est inférieur à Zl, les polynômes d'emplacements d'erreurs et d'amplitudes d'erreurs sont calculés sur la base du nombre d'erreurs ne pouvant pas être corrigées du mot reçu lors du pas 136. Ensuite, lors du pas 135, une correction d'erreurs est effectuée sur la base du calcul
indiqué précédemment.
Lors de l'achèvement du calcul par la totalité de nl colonnes, les mots reçus sont à nouveau vérifiés depuis
le début lors du pas 137. Alors, des polynômes d'emplace-
ments d'erreurs et d'amplitudes d'erreurs sont calculés pour les mots reçus, dont les erreurs n'ont pas pu être
corrigées lors du décodage C1.
De cette manière, sur la base de la valeur obtenue en tant que résultat du décodage C2, une correction d'erreurs est exécutée lors du pas 143 et l'on obtient des
codes qui sont supposés corrects.
Cette opération est répétée L fois, c'est-à-dire le nombre d'erreurs des mots reçus, qui n'ont pas pu être
corrigés lors du décodage Cl lors du pas 142.
Après avoir ainsi décrit plusieurs formes de réalisation particulières de l'invention, différents changements, modifications et améliorations apparaîtront
aisément aux spécialistes de la technique. De tels change-
ment, modifications et perfectionnements sont censés faire
partie de la présente description et sont censés entrer
dans le cadre de l'invention. C'est pourquoi la description
précédente est donnée uniquement à titre d'exemple, sans
aucun caractère limitatif.

Claims (41)

REVENDICATIONS
1. Décodeur exécutant une correction d'erreurs pour le décodage d'un signal de code constitué par n2 x nl colonnes de symboles incluant des codes de correction d'erreurs pour exécuter une correction d'erreurs ou un effacement et une correction d'erreurs, et pour corriger une erreur d'un mot reçu dans le signal de code sur la base des codes de correction d'erreurs en utilisant un circuit de recherche de type Chien- Search, caractérisé en ce qu'il comporte: (A) un premier décodeur (6b) servant à corriger une erreur de chaque ligne en tant que mot reçu, et pour détecter une erreur ne pouvant pas être corrigée du mot reçu n2 fois; (B) une mémoire de drapeau (14), raccordée au premier décodeur, pour positionner un drapeau d'erreur de salve, lorsqu'un nombre d'erreurs ne pouvant pas être corrigées, détectées de façon continue, du mot reçu dépasse une première valeur prédéterminée; (C) une mémoire d'emplacements (8), raccordée au premier décodeur (6b), pour mémoriser des emplacements de lignes contenant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; (D) un compteur (12), raccordé au premier décodeur (6b), pour compter un nombre de lignes comportant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; (E) un second décodeur (6c), raccordé au premier décodeur (6b), pour corriger une erreur de chaque colonne en tant que mot reçu ni fois, pour le décodage du mot reçu sur la base de l'effacement et correction d'erreurs moyennant l'utilisation des emplacements contenus dans la mémoire d'emplacements dans le cas o le drapeau d'erreur de salve est positionné, et o le nombre contenu dans le compteur (12) est compris entre des seconde et troisième valeurs prédéterminées, et pour décoder le mot reçu sur la base de la correction d'erreurs dans le cas o le nombre contenu dans le compteur est compris entre des seconde et troisième valeurs prédéterminées, le drapeau d'erreur de salve est supprimé.
2. Décodeur réalisant une correction d'erreurs pour le décodage d'un signal de code constitué par n2 x nl colonnes de symboles incluant des codes de correction d'erreurs pour exécuter une correction d'erreurs ou un effacement et une correction d'erreurs, et pour corriger une erreur d'un mot reçu dans le signal de code sur la base des codes de correction d'erreurs en utilisant un circuit de recherche de type Chien-Search, caractérisé en ce qu'il comporte: (A) un premier décodeur (6b) servant à corriger une erreur de chaque ligne en tant que mot reçu, et pour détecter une erreur ne pouvant pas être corrigée du mot reçu n2 fois; (B) une mémoire d'emplacements (8), raccordée au premier décodeur, pour mémoriser des emplacements de lignes contenant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; (C) un premier compteur (12), raccordé au premier décodeur (6b), pour compter un nombre de lignes comportant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; (D) un second compteur (23), raccordé au premier décodeur (6b), pour compter le nombre de drapeaux de correction d'erreurs maximum dans chaque ligne lorsqu'un nombre d'erreurs détecté des symboles dans chaque ligne est égal au nombre maximum d'erreurs pouvant être corrigées; et (E) un second décodeur (6c), connecté au premier décodeur (6b), pour corriger une erreur de chaque colonne en tant que mot reçu ni fois, pour le décodage du mot reçu sur la base de l'effacement et de la correction d'erreurs moyennant l'utilisation des emplacements présents dans la mémoire d'emplacements dans le cas o le nombre situé dans le premier compteur est compris entre des seconde et troisième valeurs prédéterminées, et o une somme du nombre situé dans le premier compteur et du nombre situé dans le second compteur est inférieure à une première valeur prédéterminée, pour décoder le mot reçu sur la base d'une correction d'erreurs dans le cas o le nombre dans le premier compteur est compris entre les seconde et troisième valeurs prédéterminées et o la somme du nombre du premier compteur et du nombre du second compteur est supérieure à
la première valeur prédéterminée.
3. Décodeur exécutant une correction d'erreurs selon la revendication 2, caractérisé en ce que le second décodeur (6c) décode le mot reçu de chaque colonne sur la base de l'effacement ou de la correction d'erreurs, moyennant l'utilisation des emplacements présents dans la mémoire d'emplacements, dans le cas o le nombre situé dans le premier compteur (12) est compris entre les seconde et troisième valeurs prédéterminées et o le nombre situé dans le second compteur (23) est inférieur à une quatrième valeur prédéterminée, et décode le mot reçu sur la base d'une correction d'erreurs dans le cas o le nombre situé dans le premier compteur (12) est compris entre les seconde et troisième valeurs prédéterminées, et o le nombre contenu dans le second compteur (23) est supérieur à la quatrième valeur prédéterminée, à la place d'une
comparaison à la première valeur prédéterminée.
4. Décodeur exécutant une correction d'erreurs
selon l'une des revendications 1 ou 2, caractérisé en outre
en ce qu'il comporte un calculateur de degré (4) pour calculer le degré d'un algorithme euclidien, le calculateur de degré (4) positionnant une ligne en tant que ligne d'erreur ne pouvant pas être corrigée lorsque le degré contenu dans le calculateur de degré (4) diffère d'un nombre d'emplacements d'erreurs détectés dans le circuit
Chien-Search (5) dans chaque ligne.
5. Décodeur exécutant une correction d'erreurs pour décoder un signal de code constitué de n2 lignes x nl colonnes de symboles contenant des codes de correction d'erreurs pour exécuter une correction d'erreurs ou un effacement et une correction d'erreurs, et pour corriger une erreur reçue dans le signal de code sur la base des codes de correction d'erreurs, caractérisé en ce qu'il comporte: (A) un premier décodeur (6b) servant à corriger une erreur de chaque ligne en tant que mot reçu, et pour détecter une erreur ne pouvant pas être corrigée du mot reçu n2 fois; (B) une mémoire d'emplacements (8), raccordée au premier décodeur, pour mémoriser des emplacements de lignes contenant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; (C) un compteur (12), connecté au premier décodeur (6b), pour compter un nombre de lignes possédant une erreur ne pouvant pas être corrigée, détectée par le premier décodeur; (D) un circuit de recherche de type Chien-Search (5) raccordé au premier décodeur (6b), pour le calcul d'emplacements d'erreurs et d'amplitudes d'erreurs d'un algorithme euclidien, et pour régler un nombre des emplacements d'erreurs, le nombre des lignes d'erreurs ne pouvant pas être corrigées étant initialement nul; et (E) un second décodeur (6c), raccordé au premier décodeur (6b), pour la correction d'une erreur de chaque colonne en tant que mot reçu nl fois, pour le décodage du mot reçu sur la base de l'effacement et de la correction d'erreurs moyennant l'utilisation des emplacements contenus dans la mémoire d'emplacements (8) dans le cas o le nombre contenu dans le compteur (12) est inférieur à une première valeur prédéterminée et o le nombre des emplacements d'erreurs dans le circuit Chien-Search (5) est, pour la première fois, inférieur à une seconde valeur prédéterminée, et pour le décodage du mot reçu sur la base de la correction d'erreurs dans le cas o le nombre présent dans le compteur est supérieur à une première valeur prédéterminée et o le
nombre des emplacements d'erreurs dans le circuit Chien-
Search (5) est initialement supérieur à la seconde valeur prédéterminée.
6. Décodeur exécutant une correction d'erreurs selon la revendication 5, caractérisé en ce qu'il comporte en outre un calculateur de degré (4) pour le calcul du degré d'un algorithme euclidien et pour la détection d'une erreur ne pouvant pas être corrigée dans le cas o le degré contenu dans le calculateur de degré (4) diffère du nombre
d'emplacements d'erreurs dans le circuit Chien-Search (5).
7. Décodeur exécutant une correction d'erreurs
selon l'une quelconque des revendications 1, 2 et 5,
caractérisé en ce que le premier décodeur (6b) corrige uniquement l'erreur ne pouvant pas être corrigée des mots reçus dans chaque ligne après que le second décodeur (6c) a
corrigé l'erreur des mots reçus dans chaque colonne.
8. Décodeur exécutant une correction d'erreurs selon la revendication 5, caractérisé en ce qu'il comporte en outre une mémoire de drapeaux (14), raccordée au premier décodeur (6b), pour positionner un drapeau d'erreur de salve dans le cas o un nombre d'erreurs ne pouvant pas être corrigées, détectées de façon continue, du mot reçu
dans chaque ligne dépasse une troisième valeur prédéter-
minée, et que le second décodeur (6c) décode le mot reçu dans chaque colonne sur la base de l'effacement et de la
correction d'erreurs moyennant l'utilisation des emplace-
ments dans la mémoire d'emplacements (8) dans le cas o le drapeau d'erreur de salve est supprimé, et o le nombre des emplacements d'erreurs dans le circuit Chien-Search (5) est initialement supérieur à une première valeur prédéterminée,
et décode le mot reçu sur la base de la correction d'er-
reurs dans le cas o le drapeau d'erreur de salve est posi-
tionné, et o le nombre des emplacements d'erreurs dans le circuit Chien-Search (5) est initialement supérieur à la
seconde valeur prédéterminée.
9. Décodeur exécutant une correction d'erreurs selon la revendication 5, caractérisé en ce qu'il comporte en outre un second compteur (23), raccordé au premier décodeur (6b), pour le comptage d'un nombre de drapeaux de correction d'erreurs maximum positionné dans chaque ligne
dans le cas o le nombre d'erreurs des symboles dé-
tectées dans chaque ligne est égal à la valeur maximale d'erreur pouvant être corrigée, et que le second décodeur (6c) décode le mot reçu, sur la base de l'effacement ou de
la correction d'erreurs moyennant l'utilisation des empla-
cements présents dans la mémoire d'emplacements dans le cas o le nombre présent dans le second compteur (23) est inférieur à une troisième valeur prédéterminée, et o le
nombre des emplacements d'erreurs dans le circuit Chien-
Search (5) est initialement supérieur à une seconde valeur prédéterminée, et décode le mot reçu sur la base de la correction d'erreurs dans le cas o le nombre présent dans le second compteur est supérieur à une troisième valeur prédéterminée, et que le nombre des emplacements d'erreurs dans le circuit Chien-Search (5) est initialement supérieur
à la seconde valeur prédéterminée.
10. Procédé pour décoder un signal de code constitué par n2 lignes x nl codes de symboles incluant des codes de correction d'erreurs, et pour corriger une erreur d'un mot reçu, caractérisé en ce qu'il comprend les étapes consistant à: (A) produire des polynômes d'emplacements sur la base de syndromes du mot reçu; (B) analyser des emplacements d'erreurs et des amplitudes d'erreur du mot reçu dans chaque ligne sur la base des polynômes d'emplacements; (C) corriger le mot reçu dans chaque ligne en utilisant les codes de correction d'erreurs dans le cas o une erreur est apparue et o le nombre d'emplacements d'erreurs est inférieur à une première valeur prédéterminée dans chaque ligne; (D) mémoriser un élément de la ligne dans un espace de Galois en tant qu'élément d'erreur ne pouvant pas être corrigé, lorsque le nombre d'emplacements d'erreurs est supérieur à la première valeur prédéterminée dans chaque ligne; (E) positionner un drapeau d'erreur de salve lorsqu'un nombre d'erreurs ne pouvant pas être corrigées, détectées de façon continue, du mot reçu dépasse une seconde valeur prédéterminée; (F) analyser des emplacements d'erreurs et des amplitudes d'erreurs des mots reçus dans chaque colonne sur la base des polynômes d'emplacements; (G) corriger le mot reçu dans chaque colonne sur la base d'un effacement et d'une correction d'erreurs lorsqu'une erreur est apparue dans chaque colonne, et que le nombre des éléments d'erreurs ne pouvant pas être corrigés est inférieur à une troisième valeur prédéterminée et que le drapeau d'erreur de salve est positionné; et (H) corriger le mot reçu dans chaque colonne sur la base d'une correction d'erreurs lorsqu'une erreur est apparue dans chaque colonne et que le nombre des éléments d'erreurs ne pouvant pas être corrigés est inférieur à une troisième valeur prédéterminée et que le drapeau d'erreur de salve
est supprimé.
11. Procédé de décodage pour décoder un signal de code constitué de nl lignes x n2 colonnes de symboles contenant des codes de correction d'erreurs et pour corriger l'erreur de mots reçus, caractérisé en ce qu'il comprend les étapes consistant à: (A) produire des polynômes d'emplacements sur la base de syndromes des mots reçus; (B) analyser des emplacements d'erreurs et des amplitudes d'erreurs des mots reçus dans chaque ligne sur la base des polynômes d'emplacements; (C) corriger n2 mots reçus dans chaque ligne sur la base de la correction d'erreurs lorsqu'une erreur est apparue et qu'un nombre des emplacements d'erreurs est inférieur à une première valeur prédéterminée dans chaque ligne; (D) mémoriser un élément d'une ligne dans un espace de Galois en tant qu'élément d'erreur ne pouvant pas être corrigé lorsque le nombre des emplacements d'erreurs est supérieur à la première valeur prédéterminée dans chaque ligne; (E) positionner un drapeau de correction d'erreurs maximum dans le cas o le nombre d'erreurs détecté des symboles dans chaque ligne est égal au nombre d'erreurs maximum pouvant être corrigées; (F) analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque colonne sur la base du polynôme d'emplacements; (G) corriger ni mots reçus dans chaque colonne sur la base d'un effacement et d'une correction d'erreurs, lorsqu'une erreur est apparue, lorsqu'un nombre d'éléments d'erreurs ne pouvant pas être corrigés est inférieur à une seconde valeur prédéterminée et lorsqu'un nombre de drapeaux de correction d'erreurs maximum est inférieur à une troisième valeur prédéterminée; et (H) corriger ni mots reçus dans chaque colonne sur la base d'une correction d'erreurs lorsqu'une erreur est apparue, un nombre d'erreurs ne pouvant pas être corrigé est inférieur à la seconde valeur prédéterminée et que le nombre de drapeaux de correction d'erreurs maximum est
supérieur à la troisième valeur prédéterminée.
12. Procédé de décodage selon l'une des
revendications 10 ou 11, caractérisé en ce qu'il comprend
en outre les étapes consistant à comparer une valeur du degré dans les polynômes d'emplacements au nombre des emplacements d'erreurs, et à positionner un élément en tant qu'élément d'erreur ne pouvant pas être corrigée, lorsque le degré des polynômes d'emplacements est différent
du nombre des emplacements d'erreurs.
13. Procédé de décodage selon l'une des revendi- cations 10 ou 11, caractérisé en ce qu'il comporte en outre
les étapes insérées entre les étapes (F) et (G) et consis-
tant à comparer la valeur du degré du polynôme d'emplace-
ments au nombre d'emplacements d'erreurs dans chaque colon-
ne et à laisser une erreur telle quelle lorsque le degré des polynômes d'emplacements dans la colonne est différent
du nombre des emplacements d'erreurs.
14. Procédé de décodage pour décoder un signal de code constitué de n2 colonnes x nl lignes de symboles incluant des codes de correction d'erreurs et pour corriger une erreur d'un mot reçu, comprenant les étapes consistant à: (A) produire des polynômes d'emplacements sur la base de syndromes des mots reçus; (B) analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque ligne sur la base des polynômes d'emplacements; (C) corriger le mot reçu dans chaque ligne sur la base des codes de correction d'erreurs lorsqu'une erreur est apparue
et lorsque le nombre des emplacements d'erreurs est infé-
rieur à une première valeur prédéterminée dans chaque ligne; (D) mémoriser un élément de la ligne dans un espace de Galois en tant qu'élément d'erreur ne pouvant pas être corrigé, lorsque le nombre des emplacements d'erreurs est supérieur à la première valeur prédéterminée dans chaque ligne; (E) analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque colonne sur la base des polynômes d'emplacements en supposant que chaque élément possède une erreur pouvant être corrigée; (F) analyser des emplacements d'erreurs et des amplitudes d'erreurs du mot reçu dans chaque colonne sur la base des polynômes d'emplacements lorsque le nombre des emplacements d'erreurs analysés lors de l'étape (E) est supérieur à une seconde valeur prédéterminée; (G) corriger le mot reçu dans chaque colonne sur la base d'un effacement et d'une correction d'erreurs lorsqu'un nombre des éléments d'erreurs ne pouvant pas être corrigés est inférieur à une troisième valeur prédéterminée; et (H) corriger le mot reçu dans chaque colonne sur la base d'une correction d'erreurs lorsque le nombre des éléments d'erreur ne pouvant pas être corrigés est supérieur à la
troisième valeur prédéterminée.
15. Procédé de décodage selon la revendication 14, caractérisé en ce qu'il comporte en outre des étapes consistant à comparer le degré des polynômes d'emplacements au nombre des emplacements d'erreurs et à positionner l'élément comme un élément d'erreur ne pouvant pas être corrigé lorsque le degré dans les polynômes d'emplacements
est différent du nombre d'emplacements d'erreurs.
16. Procédé selon la revendication 14, caractérisé en ce qu'il comporte les étapes inroe entre les étapes (F) et (G) et consistant à comparer la valeur du degré des polynômes d'emplacements au nombre des emplacements d'erreurs dans chaque colonne, et à laisser telle quelle l'erreur lorsque le degré dans les polynômes d'emplacements à l'intérieur de la colonne diffère du
nombre des emplacements d'erreurs.
17. Procédé selon l'une quelconque des
revendications 10, 11 et 14, caractérisé en ce qu'il
comporte en outre les étapes, insérées à la suite de la dernière étape et qui consistent à remplir un mot reçu dans les éléments d'erreurs ne pouvant pas être corrigés des lignes en utilisant une étape de correction de colonne et à corriger les mots reçus à nouveau sur la base d'une étape
de remplissage.
18. Récepteur, caractérisé en ce qu'il comprend: (A) une interface de réception pour recevoir un signal de code à partir d'une ligne de transmission; (B) un décodeur exécutant une correction d'erreurs possédant un premier décodeur (6b) pour corriger l'erreur d'un mot reçu dans chaque ligne du signal de code. une mémoire d'emplacements (8) pour mémoriser des emplacements de lignes contenant une erreur ne pouvant pas être corrigée, une mémoire de drapeau (14) pour positionner un drapeau d'erreur de salve lorsqu'un nombre d'erreurs ne pouvant pas être corrigées, détectées continûment, du mot reçu dépasse une première valeur prédéterminée, un compteur (12) servant à compter un nombre de lignes contenant une erreur ne pouvant pas être corrigée, un second décodeur (6c) pour corriger une erreur dans un mot reçu dans chaque
colonne, pour décoder le mot reçu sur la base d'un efface-
ment et d'une correction d'erreurs moyennant l'utilisation des emplacements dans la mémoire d'emplacements (8) lorsque le nombre présent dans le compteur (12) est compris entre des seconde et troisième valeurs prédéterminées et que le drapeau d'erreur de salve est positionné, et pour décoder les mots reçus sur la base d'une correction d'erreurs lorsque le nombre présent dans le compteur est compris entre les seconde et troisième valeurs prédéterminées et que le drapeau d'erreur de salve est supprimé; et
(C) un circuit de réception.
19. Lecteur, caractérisé en ce qu'il comporte (A) une interface de lecture pour recevoir un signal de code enregistré; (B) un décodeur (6b) exécutant une correction d'erreurs, comportant un premier décodeur pour corriger l'erreur d'un mot reçu dans chaque ligne du signal de code, une mémoire d'emplacements pour mémoriser des emplacements de lignes contenant une erreur ne pouvant pas être corrigée, une mémoire de drapeau (14) pour positionner un drapeau d'erreur de salve lorsqu'un nombre d'erreurs ne pouvant pas être corrigées, détectées continûment, du mot reçu dépasse une première valeur prédéterminée, un compteur (12) pour compter un nombre de lignes contenant une erreur ne pouvant pas être corrigée, et un second décodeur (6c) pour corriger une erreur dans un mot reçu dans chaque colonne, pour décoder le mot reçu sur la base d'un effacement et d'une correction d'erreurs moyennant l'utilisation des emplacements dans la mémoire d'emplacements lorsque le nombre présent dans le compteur est compris entre des seconde et troisième valeurs prédéterminées et que le drapeau d'erreur de salve est positionné, et pour décoder le mot reçu sur la base d'une correction d'erreurs lorsque le nombre présent dans le compteur est compris entre les seconde et troisième valeurs prédéterminées et que le drapeau d'erreur de salve est supprimé; et
(C) un circuit de lecture.
20. Procédé pour décoder un bloc de données qui comprend un codage de correction d'erreurs dans une première dimension et un codage de correction d'erreurs dans une seconde dimension, caractérisé en ce qu'il comprend les étapes consistant à - exécuter une correction d'erreurs pour des ensembles de données dans la première dimension, o une correction d'erreurs est possible à partir du codage de correction d'erreurs dans la première dimension; - déterminer le moment o une erreur de salve est apparu; - déterminer un nombre total d'erreurs ne pouvant pas être corrigées dans les ensembles de données dans la première dimension; exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à un effacement et une correction d'erreurs lorsqu'une erreur de salve est apparue et que le nombre se situe dans une gamme prédéterminée; et - exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à une correction d'erreurs lorsqu'une erreur de salve est apparue
et que le nombre est situé dans une gamme prédéterminée.
21. Procédé selon la revendication 20, caractérisé en ce que le procédé de détermination du moment o une erreur de salve est apparue comprend: - la détermination d'un second nombre représentant le nombre maximum d'ensembles de données consécutifs dans la première dimension, qui incluent des erreurs; et - la détermination du fait qu'une erreur de salve est apparue lorsque le second nombre dépasse une seconde
valeur.
22. Procédé selon la revendication 20, caractérisé en ce qu'il comporte en outre l'étape consistant à - après achèvement d'une correction d'erreurs pour des ensembles de données dans la seconde dimension, répétition de l'étape d'exécution d'une correction d'erreurs pour des ensembles de données dans la première dimension, o une correction d'erreurs n'a pas été possible antérieurement à partir du codage de correction d'erreurs dans la première
dimension.
23. Procédé selon la revendication 20, caractérisé en ce qu'il comporte en outre les étapes consistant à: calculer un polynôme d'erreurs après l'exécution de la correction d'erreurs pour des ensembles de données dans la première dimension, un polynôme d'erreurs représentant des
emplacements d'erreurs et des nombres d'erreurs.
24. Procédé selon la revendication 23, caractérisé en ce qu'un algorithme euclidien produit un polynôme d'emplacements et que le polynôme est résolu au moyen d'un circuitde recherche de type Chien- Search pour
l'obtention d'emplacements d'erreurs et d'amplitudes d'erreurs.
25. Procédé selon la revendication 24, selon lequel les emplacements d'erreurs sont mémorisés en un emplacement de mémoire par l'intermédiaire d'un emplacement
situé dans un espace de Galois.
26. Procédé pour décoder un bloc de données qui comporte un codage de correction d'erreurs dans une première dimension et un codage de correction d'erreurs dans une seconde dimension, caractérisé en ce qu'il comprend les étapes consistant à: - exécuter une correction d'erreurs pour des ensembles de données dans la première dimension, dans lesquels une correction d'erreurs est possible à partir du codage de correction d'erreurs dans la première dimension; - déterminer un premier nombre représentant un nombre d'ensembles de données dans la première dimension, o un nombre maximum d'erreurs pouvant être corrigées était présent; déterminer un second nombre d'erreurs total ne pouvant pas être corrigées dans les ensembles de données dans la première dimension; - exécuter une correction d'erreurs pour des ensembles de
données dans la seconde dimension conformément à un efface-
ment et une correction d'erreurs lorsque la somme du premier nombre et du second nombre est inférieure à une première valeur et que le second nombre se situe dans une gamme prédéterminée; et - exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à une correction d'erreurs lorsque la somme du premier nombre et du second nombre est supérieure ou égale à la première valeur et que le second nombre est située dans la gamme prédéterminée.
27. Procédé selon la revendication 26, caractérisé en ce qu'il comporte en outre l'étape consistant à: - après l'achèvement d'une correction d'erreurs pour des ensembles de données dans la seconde dimension, répéter l'étape d'exécution d'une correction d'erreurs pour des ensembles de données le long de la première dimension, dans lesquels une correction d'erreurs n'a pas été possible auparavant à partir du codage de correction d'erreurs dans
la première dimension.
28. Procédé selon la revendication 26, caractérisé en ce qu'il comporte en outre l'étape consistant à: - calculer un polynôme d'erreurs après exécution d'une correction d'erreurs pour des ensembles de données dans la première dimension, le polynôme d'erreurs représentant des
emplacements d'erreurs et un nombre d'erreurs.
29. Procédé selon la revendication 28, caractérisé en ce qu'un algorithme euclidien produit le polynômes d'emplacements et que le polynôme est résolu en utilisant un circuit 3e recherche de type Chien- Search (5) pour
l'obtention d'emplacements d'erreurs et d'amplitudes d'erreurs.
30. Procédé selon la revendication 29, caracté-
risé en ce que les emplacements d'erreurs sont mémorisés en un emplacement de mémoire par l'intermédiaire d'un
emplacement situé dans un espace de Galois.
31. Dispositif pour décoder un bloc de données, qui contient un codage (C1) de correction d'erreurs dans une première dimension et un codage (C2) de correction d'erreurs dans une seconde dimension, caractérisé en ce qu'il comprend: - des moyens pour exécuter une correction d'erreurs pour des ensembles de données dans la première dimension; o une correction d'erreurs est possible à partir du codage (C1) de
correction d'erreurs dans la première dimensions - - des moyens pour déterminer le moment o une erreur de salve est apparue;
- des moyens pour déterminer un nombre total d'erreurs ne pouvant pas être corrigées dans les ensembles de données dans la première dimension; - des moyens pour exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à un effacement et à une correction d'erreurs lorsqu'une erreur de salve est apparue et que le nombre est situé dans une gamme prédéterminée; et - des moyens pour exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à une correction d'erreurs lorsqu'aucune erreur de salve n'est apparue et que le nombre est situé
dans une gamme prédéterminée.
32. Dispositif selon la revendication 31, caractérisé en ce que les moyens (13) pour déterminer le moment o une erreur de salve est apparue comprennent: - des moyens pour déterminer un second nombre représentant le nombre maximum d'ensembles de données consécutifs dans la première dimension, qui possèdent des erreurs; et - des moyens pour déterminer qu'une erreur de salve est apparue lorsque le second nombre dépasse une seconde valeur.
33. Dispositif selon la revendication 31, caractérisé en ce qu'il comporte en outre: - des moyens pour exécuter une correction d'erreurs pour des ensembles de données dans la première dimension, dans lesquels des corrections d'erreurs n'ont pas été possibles antérieurement à partir du codage de correction d'erreurs dans la première dimension après achèvement de la correction d'erreurs pour des ensembles de données dans la
seconde dimension.
34. Dispositif selon la revendication 31, caractérisé en ce qu'il comporte en outre des moyens (3) pour calculer un polynôme d'erreurs après l'exécution d'une correction d'erreurs pour des ensembles de données dans la première dimension, le polynôme d'erreurs représentant des
emplacements d'erreurs et des nombres d'erreurs.
35. Dispositif selon la revendication 34,
caractérisé en ce que les moyens (3) de calcul d'un poly-
nôme d'erreurs incluent un algorithme euclidien, et les moyens (5) pour résoudre le polynôme d'erreurs incluent des moyens pour utiliser un circuitde recherche de type Chien-Search
pour obtenir des emplacements d'erreurs et des amplitudes d'erreurs.
36. Dispositif selon la revendication 35, caractérisé en ce que les emplacements d'erreurs sont mémorisés en un emplacement de mémoire par l'intermédiaire
d'un emplacement à l'intérieur d'un espace de Galois.
37. Dispositif pour décoder un bloc de données, qui comporte un codage de correction d'erreurs dans une première dimension et un codage de correction d'erreurs dans une seconde dimension, caractérisé en ce qu'il comprend: - des moyens (6b) pour exécuter une correction d'erreurs pour des ensembles de données dans la première dimension, dans lesquels une correction d'erreurs est possible à partir du codage de correction d'erreurs dans la première dimension; - des moyens (12) pour déterminer un premier nombre représentant un nombre d'ensembles de données dans la première dimension, dans lesquels un nombre maximum d'erreurs pouvant être corrigées était présent; - des moyens (23) pour déterminer un second nombre total d'erreurs ne pouvant pas être corrigées dans les ensembles de données dans la première dimension; - des moyens (6c) pour exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à un effacement et à une correction d'erreurs lorsque la somme du premier nombre et du second nombre est inférieure à une première valeur et que le second nombre est situé dans une gamme prédéterminée; et - des moyens pour exécuter une correction d'erreurs pour des ensembles de données dans la seconde dimension conformément à une correction d'erreurs lorsque la somme du premier nombre et du second nombre est supérieure ou égale à la première valeur et que le second nombre est situé dans la gamme prédéterminée.
38. Dispositif selon la revendication 37, caractérisé en ce qu'il comporte en outre: - des moyens pour exécuter une correction d'erreurs pour des ensembles de données dans la première dimension, dans lesquels une correction d'erreurs n'a pas été possible auparavant à partir du codage de correction d'erreurs dans la première dimension, après l'achèvement de la correction d'erreurs pour des ensembles de données dans la seconde dimension.
39. Dispositif selon la revendication 37, caractérisé en ce qu'il comporte en outre: - des moyens (3) pour calculer un polynôme d'erreurs après l'exécution d'une correction d'erreurs pour des ensembles de données dans la première dimension, le polynôme d'erreurs représentant des emplacements d'erreurs et un
nombre d'erreurs.
40. Dispositif selon la revendication 39,
caractérisé en ce que les moyens (3) pour calculer un poly-
nôme d'erreurs comprennent un algorithme euclidien, et que
les moyens (5) pour résoudre le polynôme d'erreurs compren-
nent des moyens pour utiliser un circuit de recherche de type ChienSearch pour obtenir les emplacements d'erreurs
et les amplitudes d'erreurs.
41. Dispositif selon la revendication 40, caractérisé en ce que les emplacements d'erreurs sont mémorisés en un emplacement de mémoire par l'intermédiaire
d'un emplacement à l'intérieur du espace de Galois.
FR9415714A 1993-12-28 1994-12-27 Décodeur exécutant une correction d'erreurs et procédé de décodage avec correction d'erreurs. Expired - Fee Related FR2714498B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33775193A JP3154607B2 (ja) 1993-12-28 1993-12-28 誤り訂正復号装置及び誤り訂正復号方法

Publications (2)

Publication Number Publication Date
FR2714498A1 true FR2714498A1 (fr) 1995-06-30
FR2714498B1 FR2714498B1 (fr) 1996-10-04

Family

ID=18311622

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9415714A Expired - Fee Related FR2714498B1 (fr) 1993-12-28 1994-12-27 Décodeur exécutant une correction d'erreurs et procédé de décodage avec correction d'erreurs.

Country Status (5)

Country Link
US (1) US5684810A (fr)
JP (1) JP3154607B2 (fr)
CN (1) CN1055586C (fr)
FR (1) FR2714498B1 (fr)
NL (1) NL9402204A (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0755055A2 (fr) * 1995-07-14 1997-01-22 Sony Corporation Transmission, enregistrement et reproduction de données
EP0854483A2 (fr) * 1997-01-20 1998-07-22 Hitachi, Ltd. Appareil de reproduction de signal numérique
EP1850342A1 (fr) * 2004-12-28 2007-10-31 International Business Machines Corporation Dispositif d'enregistrement de donnees, controleur de flux de donnees pour le dispositif et procede de controle du flux de donnees

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3234130B2 (ja) * 1995-05-30 2001-12-04 三菱電機株式会社 誤り訂正符号復号化方法およびこの方法を用いる回路
JP3305966B2 (ja) * 1995-12-25 2002-07-24 ソニー株式会社 データ復号装置及びその方法並びにデータ再生装置
US6308295B1 (en) * 1996-10-08 2001-10-23 Arizona Board Of Regents Parallel spectral reed-solomon encoder and decoder
JP3863252B2 (ja) * 1996-11-15 2006-12-27 富士通株式会社 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法
US5942003A (en) * 1996-12-23 1999-08-24 Lsi Logic Corporation Error burst detector for lowering receiver bit error rate
JPH10322226A (ja) * 1997-05-14 1998-12-04 Texas Instr Japan Ltd リードソロモン復号方法
JPH11112358A (ja) * 1997-09-30 1999-04-23 Fujitsu Ltd データの誤り訂正方法及び誤り訂正装置
US6073250A (en) * 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
EP1146515A1 (fr) * 1998-02-25 2001-10-17 Matsushita Electric Industrial Co., Ltd. Appareil de correction d'erreurs à grande vitesse pour transférer efficacement des données
JPH11339402A (ja) * 1998-05-28 1999-12-10 Sanyo Electric Co Ltd 符号誤り訂正検出装置
US6321357B1 (en) * 1998-05-31 2001-11-20 Innomedia Pte Ltd Method and apparatus for burst error correction
JP3530388B2 (ja) * 1998-07-22 2004-05-24 三洋電機株式会社 符号誤り訂正装置
JP3214478B2 (ja) * 1998-12-28 2001-10-02 日本電気株式会社 誤り訂正復号装置
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6961879B1 (en) * 2000-05-23 2005-11-01 Zoran Corporation Apparatus and method for counting error rates in an optical compact disc storage system
US6553536B1 (en) * 2000-07-07 2003-04-22 International Business Machines Corporation Soft error correction algebraic decoder
JP2002191048A (ja) * 2000-12-22 2002-07-05 Ando Electric Co Ltd 動画符号通信評価方法及び動画符号通信評価装置
JP2002230916A (ja) * 2001-01-29 2002-08-16 Mitsubishi Electric Corp 情報再生装置
US20030061558A1 (en) * 2001-09-25 2003-03-27 Fackenthal Richard E. Double error correcting code system
US20030079161A1 (en) * 2001-10-22 2003-04-24 Verboom Johannes J. Optimized data storage system and method for optical storage system
KR100856399B1 (ko) * 2002-01-23 2008-09-04 삼성전자주식회사 디코딩 방법 및 그 장치
JP2006517048A (ja) * 2003-01-21 2006-07-13 エルジー エレクトロニクス インコーポレーテッド エラー訂正ブロックをエンコーディング及びデコーディングする方法
JP3850433B2 (ja) * 2003-06-02 2006-11-29 松下電器産業株式会社 インタリーブデータに対する誤り訂正方法および装置
ATE490603T1 (de) * 2004-02-13 2010-12-15 Alcatel Lucent Iterative dekodierung zweidimensionaler blockkodes
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US7370258B2 (en) * 2005-04-28 2008-05-06 Sandbridge Technologies Inc. Iterative concatenated convolutional Reed-Solomon decoding method
US7587657B2 (en) * 2005-04-29 2009-09-08 Agere Systems Inc. Method and apparatus for iterative error-erasure decoding
KR100833600B1 (ko) * 2006-08-25 2008-05-30 삼성전자주식회사 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치
US8196004B1 (en) * 2007-03-27 2012-06-05 Marvell International Ltd. Fast erasure decoding for product code columns
US8315574B2 (en) * 2007-04-13 2012-11-20 Broadcom Corporation Management of variable-rate communication links
US8001445B2 (en) * 2007-08-13 2011-08-16 Provigent Ltd. Protected communication link with improved protection indication
US8040985B2 (en) 2007-10-09 2011-10-18 Provigent Ltd Decoding of forward error correction codes in the presence of phase noise
JP4672743B2 (ja) * 2008-03-01 2011-04-20 株式会社東芝 誤り訂正装置および誤り訂正方法
JP4856110B2 (ja) * 2008-03-01 2012-01-18 株式会社東芝 チェンサーチ装置およびチェンサーチ方法
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8484529B2 (en) 2010-06-24 2013-07-09 International Business Machines Corporation Error correction and detection in a redundant memory system
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
KR101678917B1 (ko) * 2010-09-16 2016-11-24 삼성전자주식회사 디코더, 이의 동작방법, 및 이를 포함하는 장치들
JP5674458B2 (ja) * 2010-12-28 2015-02-25 株式会社京三製作所 情報伝送装置及び列車制御装置
US8522122B2 (en) * 2011-01-29 2013-08-27 International Business Machines Corporation Correcting memory device and memory channel failures in the presence of known memory device failures
GB2506658B (en) * 2012-10-05 2015-01-21 Broadcom Corp Method and apparatus for signal detection and decoding
US9053748B2 (en) 2012-11-14 2015-06-09 International Business Machines Corporation Reconstructive error recovery procedure (ERP) using reserved buffer
US8793552B2 (en) 2012-11-14 2014-07-29 International Business Machines Corporation Reconstructive error recovery procedure (ERP) for multiple data sets using reserved buffer
US9337873B2 (en) * 2013-05-24 2016-05-10 SK Hynix Inc. Miscorrection detection for error correcting codes using bit reliabilities
US8810944B1 (en) 2013-07-16 2014-08-19 International Business Machines Corporation Dynamic buffer size switching for burst errors encountered while reading a magnetic tape
US9582360B2 (en) 2014-01-07 2017-02-28 International Business Machines Corporation Single and multi-cut and paste (C/P) reconstructive error recovery procedure (ERP) using history of error correction
US9141478B2 (en) 2014-01-07 2015-09-22 International Business Machines Corporation Reconstructive error recovery procedure (ERP) using reserved buffer
US9287900B2 (en) 2014-07-10 2016-03-15 International Business Machines Corporation Decoding of product codes
CN104270155B (zh) * 2014-10-28 2017-07-07 积成电子股份有限公司 一种曼彻斯特码流接收抗干扰比特解析方法
US9413392B1 (en) * 2015-12-14 2016-08-09 International Business Machines Corporation Post-decoding error check with diagnostics for product codes
KR20180003320A (ko) 2016-06-30 2018-01-09 삼성전자주식회사 데이터 복구 방법 및 이를 적용하는 메모리 시스템 및 레이드 스토리지 시스템
KR102333140B1 (ko) * 2017-08-18 2021-12-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102629457B1 (ko) * 2018-10-24 2024-01-26 삼성전자주식회사 반도체 메모리 장치, 제어 장치, 및 메모리 시스템
KR20210014034A (ko) * 2019-07-29 2021-02-08 에스케이하이닉스 주식회사 낮은 레이턴시를 갖는 에러정정코드 디코더
KR20210132784A (ko) * 2020-04-27 2021-11-05 삼성전자주식회사 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법
US20230223961A1 (en) * 2022-01-13 2023-07-13 Micron Technology, Inc. Iterative decoder for correcting dram device failures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3422461A1 (de) * 1983-06-22 1985-01-03 N.V. Philips' Gloeilampenfabrieken, Eindhoven Decoder zum decodieren von codewoertern, die blockweise mittels eines reed-solomon-codes gegen mehrere symbolfehler je block geschuetzt sind, und leseanordnung mit einem derartigen decoder fuer optisch lesbare speicherkoerper
EP0329789A1 (fr) * 1987-06-30 1989-08-30 Matsushita Electric Industrial Co., Ltd. Unite arithmetique a champ de galois
US4937829A (en) * 1987-04-24 1990-06-26 Ricoh Company, Ltd. Error correcting system and device
EP0426657A2 (fr) * 1983-12-20 1991-05-08 Sony Corporation MÀ©thode et appareil pour décoder un code de correction d'erreur

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5710559A (en) * 1980-06-20 1982-01-20 Sony Corp Error correcting method
JPS5829237A (ja) * 1981-08-14 1983-02-21 Sony Corp エラ−訂正方法
US4653051A (en) * 1983-09-14 1987-03-24 Matsushita Electric Industrial Co., Ltd. Apparatus for detecting and correcting errors on product codes
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
JPS6113715A (ja) * 1984-06-28 1986-01-22 Mitsubishi Electric Corp 2段符号化された符号の復号装置
JP2563389B2 (ja) * 1987-11-13 1996-12-11 松下電器産業株式会社 誤り検出訂正方法
US5247523A (en) * 1989-07-12 1993-09-21 Hitachi, Ltd. Code error correction apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3422461A1 (de) * 1983-06-22 1985-01-03 N.V. Philips' Gloeilampenfabrieken, Eindhoven Decoder zum decodieren von codewoertern, die blockweise mittels eines reed-solomon-codes gegen mehrere symbolfehler je block geschuetzt sind, und leseanordnung mit einem derartigen decoder fuer optisch lesbare speicherkoerper
EP0426657A2 (fr) * 1983-12-20 1991-05-08 Sony Corporation MÀ©thode et appareil pour décoder un code de correction d'erreur
US4937829A (en) * 1987-04-24 1990-06-26 Ricoh Company, Ltd. Error correcting system and device
EP0329789A1 (fr) * 1987-06-30 1989-08-30 Matsushita Electric Industrial Co., Ltd. Unite arithmetique a champ de galois

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0755055A2 (fr) * 1995-07-14 1997-01-22 Sony Corporation Transmission, enregistrement et reproduction de données
EP0755055A3 (fr) * 1995-07-14 1999-03-03 Sony Corporation Transmission, enregistrement et reproduction de données
US6463153B1 (en) 1995-07-14 2002-10-08 Sony Corporation Method for transmitting data apparatus for recording data medium for recording data and apparatus for reproducing data
EP0854483A2 (fr) * 1997-01-20 1998-07-22 Hitachi, Ltd. Appareil de reproduction de signal numérique
EP0854483A3 (fr) * 1997-01-20 1998-12-16 Hitachi, Ltd. Appareil de reproduction de signal numérique
US5920579A (en) * 1997-01-20 1999-07-06 Hitachi, Ltd. Digital signal reproduction apparatus
US6014766A (en) * 1997-01-20 2000-01-11 Hitachi, Ltd. Digital signal reproduction apparatus
EP1850342A1 (fr) * 2004-12-28 2007-10-31 International Business Machines Corporation Dispositif d'enregistrement de donnees, controleur de flux de donnees pour le dispositif et procede de controle du flux de donnees
EP1850342A4 (fr) * 2004-12-28 2009-04-08 Ibm Dispositif d'enregistrement de donnees, controleur de flux de donnees pour le dispositif et procede de controle du flux de donnees
US7987404B2 (en) 2004-12-28 2011-07-26 International Business Machines Corporation Information recording device, data-flow controller and data flow controlling method

Also Published As

Publication number Publication date
CN1055586C (zh) 2000-08-16
CN1122025A (zh) 1996-05-08
US5684810A (en) 1997-11-04
FR2714498B1 (fr) 1996-10-04
JP3154607B2 (ja) 2001-04-09
NL9402204A (nl) 1995-07-17
JPH07202717A (ja) 1995-08-04

Similar Documents

Publication Publication Date Title
FR2714498A1 (fr) Décodeur exécutant une correction d&#39;erreurs et procédé de décodage avec correction d&#39;erreurs.
US20120284588A1 (en) Architecture and control of reed-solomon error-correction decoding
FR2849514A1 (fr) Code de geometrie algebrique adapte aux erreurs en rafale
EP2806565A1 (fr) Procede de decodage d&#39;un code correcteur, par exemple un turbo-code, par analyse du spectre etendu des mots du code
US20030095056A1 (en) Enhanced coding for informed decoders
KR100734307B1 (ko) 포스트 비터비 에러 정정 방법 및 이에 적합한 장치
EP0204635B1 (fr) Procédé de transmission en blocs de mots d&#39;information numérique
US6823487B1 (en) Method and apparatus for enhancing correction power of reverse order error correction codes
US20040194003A1 (en) Method and apparatus for correcting C1/PI word errors using error locations detected by EFM/EFM+ decoding
FR2863794A1 (fr) Procedes et dispositifs de localisation d&#39;erreurs pour les codes de geometrie algebrique
EP1338092B1 (fr) Decodage souple de codes en bloc avec decodage d&#39;erreurs et d&#39;effacements
JP3703466B2 (ja) 積符号を復号するための低コストな方法及び装置
JP3734486B2 (ja) 誤り訂正装置および誤り訂正方法
US8181096B2 (en) Configurable Reed-Solomon decoder based on modified Forney syndromes
EP0982866B1 (fr) Procédé de codage convolutif et de transmission par paquets d&#39;un flux série de données numériques, procédé et dispositif de décodage correspondants
EP1459451A2 (fr) Procede et appareil de decodage simple
KR100301518B1 (ko) 리드 솔로몬 복호기에서의 정정 불가능 에러 검출 방법
FR2890804A1 (fr) Traitement de blocs dans un dispositif de decodage par blocs
FR2847398A1 (fr) Codes sesqui-rs doubles et leur decodage
FR2924288A1 (fr) Procede et dispositif de decodage iteratif par effacement, produit programme d&#39;ordinateur et moyen de stockage correspondants
JP2518827B2 (ja) 符号化復号化装置
EP2786498B1 (fr) Decodeur de faible complexite pour codage convolutif
FR2873875A1 (fr) Localisation d&#39;erreurs pour codes de geometrie algebrique
FR2871311A1 (fr) Correction d&#39;effacements de demodulation pour le decodage par agregats
KR19990019505A (ko) 오류정정 방법

Legal Events

Date Code Title Description
ST Notification of lapse