-
Die Erfindung bezieht sich auf ein Verfahren zum
Erkennen und zum Korrigieren von Fehlern in Fehlererkennungs-
und Korrekturkodes, die bei PCM-Aufnahme und Wiedergabe von
Analogsignalinformationen, wie Musiksignalen, verwendet
werden.
-
Gewöhnlich wurden Fehlererkennungs- und Korrekturkodes
verwendet, um bei der Aufnahme und Wiedergabe
Puls-Kode-modulierter Information entstandene Fehler zu erfassen und zu
korrigieren. Im besonderen im Fall eines
Aufnahme-/Übertragungsmediums, das zu vielen Fehlern führen kann, sind eine
Vielzahl von Fehlererkennungs- und Korrekturkodes auf vielfach
verknüpfte Weise verwendet worden, indem Korrektur und
Erkennung der Fehler unter Verwendung der entsprechenden Kodes
ausgeführt wurden, wodurch die Gesamtleistungsfähigkeit zur
Fehlererkennung und Korrektur erhöht worden ist.
-
Ein solches Fehlererkennungs- und Korrekturverfahren
nach dem Stand der Technik wird in "Digital Audio Taperecorder
System (R-DAT) Recommended Design Standard", herausgegeben am
16. April 1986 von der DAT-Konferenz, gezeigt und wird im
folgenden erklärt.
-
R-DAT (Rotationskopf-Digitalaudiokassettenrekorder)
ist ein Kassettenrekorder zur Aufnahme und Wiedergabe eines
PCM-Audiosignals auf einem magnetischen Band unter Verwendung
eines Rotationskopfes. In seiner bestimmungsgemäßen
Betriebsart werden die Zweikanalaudiosignale mit der
Digitalisierungsbitzahl von 16 Bits und der Abtastfrequenz von 48 kHz
aufgenommen und wiedergegeben.
-
Magnetische Aufnahmesysteme erfordern im allgemeinen
einen stabilen Kontakt zwischen Kopf und Band, eine
allmähliche Verschlechterung des Kontaktzustandes wegen Fehlern oder
Staub auf dem Band ist aber unvermeidlich. Folglich wird dem
PCM-Audiosignal ein Fehlerkorrekturkode hinzugefügt, um die
fehlerfreie Reproduktion des PCM-Audiosignals zu ermöglichen,
selbst wenn der Aufnahme-/Wiedergabezustand des PCM-Signals
verschlechtert ist. R-DAT benutzt als solchen
Fehlerkorrekturkode den doppelt kodierten Reed-Solomon-Kode.
-
Bei R-DAT wird ein in 16 Bits digitalisiertes
Audiosignal in 8 Bit-Datenabschnitte, sogenannte "Symbole", zerlegt,
die obere 8 Bits und untere 8 Bits einschließen, und danach
werden die 8 Bit-Daten mit dem doppelt kodierten Reed-Solomon-
Kode kodiert.
-
Fig. 1 zeigt einen Aufbau des doppelt kodierten Reed-
Solomon-Kodes. Wie aus Fig. 1 ersichtlich, wird eine Seite
eines Fehlererkennungs- und Korrekturkodes in der Länge von 32
ein erstes Kodewort namens "C&sub1;-Kode" bildende Symbole und in
der Breite von 32 ein zweites Kodewort namens "C&sub2;-Kode"
bildende Symbole gebildet. Eine Seite besteht aus 32 Kodewörtern
des C&sub1;-Kodes und 32 Kodewörtern des C&sub2;-Kodes.
-
Der C&sub1;-Kode ist ein Reed-Solomon-Kode aus (32, 28, 5)
auf einem aus 28 Datensymbolen und 4 Paritätssymbolen
bestehenden Galoisfeld GF (28) (die Parität im C&sub1;-Kode wird als P-
Parität bezeichnet). Der C&sub2;-Kode ist ein Reed-Solomon-Kode aus
(32, 26, 7) auf einem aus 26 Datensymbolen und 6
Paritätssymbolen bestehenden Galoisfeld GF (28) (die Parität im C&sub2;-Kode
wird Q-Parität bezeichnet). Der kleinste Abstand des C&sub1;-Kodes
stellt einen Minimalwert der Hamming-Distanz zwischen allen
verschiedenen Kodewörtern im C&sub1;-Kode dar; und dieser kleinste
Abstand zwischen den Kodes hat den Wert 5. Somit können Fehler
bis zu 4 Symbolen korrigiert werden, wenn die Fehlerstellen
bekannt sind, und bis zu 2 Symbolen, wenn sie nicht bekannt
sind. Der kleinste Abstand des C&sub2;-Kodes ist 7. Auf diese Weise
können Fehler bis zu 6 Symbolen korrigiert werden, wenn die
Fehlerstellen bekannt sind, und bis zu 3 Symbolen, wenn sie
nicht bekannt sind.
-
Die Muster des Auftretens von Fehlern können grob in
statistische Fehler und Fehlerhäufungen klassifiziert werden.
Die Gegenmaßnahme gegen Fehlerhäufung ist kritisch für R-DAT.
Fehlerhäufung heißt, daß Fehler aufeinanderfolgend wegen
Fehlern oder Defekten auf dem Band auftreten. Beim Auftreten
einer Fehlerhäufung werden Daten in einem konzentrierten Bereich
verloren, so daß die Fehler schwer zu korrigieren oder zu
verdecken (Interpolation unter Verwendung der Daten vor und
hinter den fehlerhaften Daten) sind. Um die Fehlerhäufung auf
verschiedene Kodewörter zu verteilen, so daß die Fehlerhäufung
in kürzere Fehlerhäufungen oder statistische Fehler gewandelt
werden, wird dann eine Verschachtelungstechnik bei der
Aufnahme der Kodewörter auf geordnete (systematische) Weise
verwendet.
-
Fig. 2 ist eine Ansicht, die ein Format der
Verschachtelung der Fehlererkennungs- und Korrekturkodes bei
R-DAT und im Ganzen eine durch wendelförmiges Rastern des
Rotationskopfes gebildete Spur zeigt.
-
Auf einem konkreten magnetischen Aufnahmeband wird
eine Spur durch aufeinanderfolgende Aufnahme von insgesamt 128
Spalten gebildet, indem eine erste äußere linke Spalte der
Fehlererkennungs- und Korrekturkodes aus Fig. 2 in vertikaler
Abfolge von oben nach unten auf genommen wird und dann eine
zweite an die erste anschließende Spalte aufgenommen wird
usw . . Eine Spur besteht aus vier Seiten, von denen jede
einzelne durch einen schraffierten Teil in Fig. 2 dargestellt
wird und dem gesamten Aufbau des Fehlererkennungs- und
Korrekturkodes aus Fig. 1 entspricht. Deswegen besteht eine Spur aus
128 * 32 = 4096 Symbolen. Der C&sub1;-Kode ist in vertikaler
Richtung in der Reihenfolge 31 → 30 → 29 → . . . → 0 mit allen
anderen aneinander anschließenden Symbolen verschachtelt.
-
Der C&sub2;-Kode ist in horizontaler Richtung in der
Reihenfolge 31 → 30 → 29 → . . . → 0 mit allen vier sich über eine
ganze Spur erstreckenden Symbolen verschachtelt.
-
Fig. 3 zeigt den Vorgang des Dekodierens beim
konventionellen Fehlererkennungs- und Korrekturverfahren für die wie
oben erwähnt aufgebauten Fehlererkennungs- und Korrekturkodes.
-
Das Dekodieren der doppelt kodierten Kodes wird in
zwei Schritten durchgeführt, indem die ersten Kodewörter zu
Anfang dekodiert werden, um die Dekodierzustände darstellende
Kennzeichen auszugeben, und danach die zweiten Kodewörter auf
der Basis der die ersten Kodewörter darstellenden Kennzeichen
dekodiert werden, um die Dekodierzustände der zweiten
Kodewörter auszugeben.
-
Allerdings hat dieses konventionelle Fehlererkennungs-
und Korrekturverfahren den Nachteil, daß die Qualität des
wiedergegebenen Signals beim Auftreten einer Fehlerhäufung
verschlechtert wird und besonders dann sehr verschlechtert wird,
wenn aufgrund einer Fehlerkennung eines Fehlers ein
Pulsgeräusch (fremder Klang) erzeugt wird. Zum Beispiel in dem Fall,
daß beim Dekodieren der zweiten Kodewörter Löschkorrekturen
auf der Basis der die Dekodierzustände der ersten Kodewörter
darstellenden Kennzeichen ausgeführt werden sollen, werden,
wenn eine Bedingung für 6 Löschungen erfüllt ist, 6
Löschkorrekturen ohne weiteres ausgeführt. Wenn an einer anderen
Stelle, als an denen, wo 6 Kennzeichen stehen, ein Fehler ist,
tritt daher notwendigerweise eine Fehlerkennung des Fehlers
auf, wodurch ein fremder Klang erzeugt wird. Ein anderes
Beispiel des Verfahrens nach dem Stand der Technik wird in der
EP-A-0 140 381 beschrieben, von der Anspruch 1 abgegrenzt ist.
-
Es ist ein Ziel der Erfindung, ein Fehlererkennungs-
und Korrekturverfahren mit erhöhter Fehlererkennungsfähigkeit
beim Auftreten von Fehlerhäufungen anzugeben.
-
Nach einem Gesichtspunkt der Erfindung wird ein
Fehlererkennungs- und Korrekturverfahren zum Dekodieren von L
zweidimensionalen Seiten Informationskodes angegeben, die
doppelt mit Fehlererkennungs- und Korrekturkodes kodiert worden
sind, mit L größer als oder gleich 2, wobei das Verfahren
beinhaltet:
-
einen ersten Dekodierschritt, in dem erste Kodewörter
in einer Richtung der L Seiten Informationskodes dekodiert
werden und dann deren Dekodierzustände ausgegeben werden; und
-
einen zweiten Dekodierschritt, in dem zweite
Kodewörter in der anderen Richtung der L Seiten Informationskodes
entsprechend der Dekodierzustände der ersten Kodewörter der L
Seiten Informationskodes dekodiert werden, dadurch
gekennzeichnet, daß
-
in dem zweiten Dekodierschritt die zweiten Kodewörter
der L Seiten Informationskodes in K Gruppen entsprechend dem
Dekodierzustand der ersten Kodewörter der L Seiten
Informationskodes klassifiziert werden, wobei L größer als oder gleich
K ist und K größer als oder gleich 2 ist, die in der ersten
Gruppe Informationskodes enthaltenen zweiten Kodewörter auf
der Basis des Dekodierzustands der ersten Kodewörter dekodiert
werden und dann deren Dekodierzustände ausgegeben werden, und
die in der i-ten Gruppe Informationskodes enthaltenen zweiten
Kodewörter auf der Basis des Dekodierzustands der ersten
Kodewörter und der Dekodierzustände der in der ersten bis
(i-1)-ten Gruppe Informationskodes enthaltenen zweiten
Kodewörter dekodiert werden und dann deren Dekodierzustände
ausgegeben werden, wobei i kleiner als oder gleich K und größer als
oder gleich 2 ist.
-
Mittels des oben erwähnten Verfahrens dekodiert die
Erfindung die zweiten Kodewörter so, daß die zweiten
Kodewörter, bei denen eine Korrelation zum Auftreten von
Fehlerhäufungen angenommen wird, entsprechend den Dekodierzuständen der
ersten Kodewörter in mehrere Gruppen klassifiziert werden, die
zweiten Kodewörter von einer ersten Gruppe mit geringerer
Wahrscheinlichkeit einer Fehlerkennung sequentiell dekodiert
werden und die in der i-ten Gruppe enthaltenen zweiten
Kodewörter auf der Basis der Dekodierzustände dekodiert werden,
das heißt der Zustände bezüglich des Auftretens von Fehlern,
der in der ersten bis (i-1)-ten Gruppe enthaltenen zweiten
Kodewörter, wodurch die fehlerhafte Fehlererkennung vermindert
und das Auftreten fremder Klänge verhindert werden, die die
Qualität des wiedergegebenen Signals verschlechtern.
-
Die Erfindung wird im folgenden nur beispielhaft und
zwar im besonderen anhand der Zeichnung beschrieben. Es
zeigen:
-
Fig. 1 den Aufbau eines Informationskodes, der unter
Verwendung des Fehlererkennungs- und
Korrekturkodes doppelt kodiert worden ist;
-
Fig. 2 eine Darstellung des verschachtelten Formats des
obigen Informationskodes;
-
Fig. 3 ein Flußdiagramm mit einem Dekodierprozeß eines
konventionellen Fehlererkennungs- und
Korrekturverfahrens;
-
Fig. 4 ein Flußdiagramm mit dem Dekodierprozeß des
Fehlererkennungs- und Korrekturverfahrens nach
einem Ausführungsbeispiel der Erfindung;
-
Fig. 5 ein Flußdiagramm mit dem Dekodierprozeß eines
ersten Kodeworts aus Fig. 4;
-
Fig. 6 ein Flußdiagramm, das detailliert den
Dekodierprozeß eines zweiten Kodeworts aus Fig. 4
-
zeigt;
-
Fig. 7 ein Flußdiagramm mit dem Dekodierprozeß eines
zweiten Kodeworts aus Fig. 6;
-
Fig. 8 ein Flußdiagramm, das detailliert den
Löschkorrektur- und Fehlerkorrekturprozeß unter
Verwendung der ersten Kennzeichen aus Fig. 7 zeigt;
-
Fig. 9 ein Blockdiagramm mit einem Ausführungsbeispiel
des Fehlererkennungs- und Korrekturapparates zur
Ausführung des Verfahrens nach der Erfindung.
Beschreibung bevorzugter Ausführungsbeispiele
-
Fig. 4 zeigt als Flußdiagramm den Dekodierprozeß bei
der Fehlererkennung und Korrektur nach einem
Ausführungsbeispiel der Erfindung. Dieses Ausführungsbeispiel verwendet
doppelt kodierte Reed-Solomon-Kodes als doppelt kodierte
Fehlererkennungs- und Korrekturkodes wie beim Stand der
Technik.
-
Beim Dekodieren der doppelt kodierten
Fehlererkennungs- und Korrekturkodes werden in einem ersten
Dekodierschritt erste Kodewörter dekodiert und dann die
Dekodierzustände darstellende Kennzeichen ausgegeben. Fig. 5 zeigt als
Flußdiagramm den Dekodierprozeß des ersten Kodewortes.
-
In Fig. 5 steht NE für die mit den ersten Kodewörtern
nachgewiesenen Fehler, und F0, F1 und F2 sind die
Dekodierzustände der ersten Kodewörter anzeigende Kennzeichen,
die als erste Kennzeichen bezeichnet werden.
-
Beim Dekodieren der ersten Kodewörter wird zunächst
die Zahl der Fehler ermittelt. Wenn die Zahl der Fehler 0 ist,
wird keine Korrektur ausgeführt, sondern es werden nur die
ersten Kennzeichen (F0 = F1 = F2 = 0) ausgegeben. Wenn die Zahl
der Fehler 1 oder 2 ist, wird die der Zahl der Fehler
entsprechende Korrektur durchgeführt und es werden jeweils die ersten
Kennzeichen (F0 = 1, F1 = F2 = 0; F0 = F1 = 1, F2 = 0)
ausgegeben. Wenn die Zahl der Fehler 3 oder größer ist, wird
keine Korrektur ausgeführt, sondern es werden nur die ersten
Kennzeichen (F0 = F1 = F2 = 1) ausgegeben.
-
Wieder unter Bezug auf Fig. 4 werden in einem zweiten
Dekodierschritt zweite Kodewörter in K (K ≥ 2) Gruppen
eingeteilt, die der Zahl der die Dekodierzustände der ersten
Kodewörter darstellenden ersten Kennzeichen entsprechen. Als
nächstes werden die zu der ersten Gruppe gehörenden zweiten
Kodewörter auf der Basis der Dekodierzustände der ersten
Kodewörter dekodiert, und es werden auch die Dekodierzustände
darstellende Interpolationskennzeichen ausgegeben. Die zu der
i-ten Gruppe (2 ≤ i ≤ K, wobei K = Zahl der Gruppen)
gehörenden zweiten Kodewörter werden auf der Basis der
Dekodierzustände der ersten Kodewörter und der zu der ersten bis
(i-1)-ten Gruppe gehörenden der zweiten Kodewörter
dekodiert, und die Dekodierzustände werden ausgegeben. Im übrigen
werden die zweiten Kodewörter in der Reihenfolge geringerer
Wahrscheinlichkeit der Fehlerfehlerkennung klassifiziert.
-
Der zweite Dekodierschritt wird als Teil der Erfindung
in weiteren Einzelheiten anhand Fig. 6 erklärt.
-
In Fig. 6 wird der zweite Dekodierschritt für jede
Spur ausgeführt, die ein Element beim Vervollständigen der
Verschachtelung der Fehlererkennungs- und Korrekturkodes ist
(wie oben erwähnt bilden 4 Seiten der Fehlererkennungs- und
Korrekturkodes eine Spur). L (1 ≤ L ≤ 4) bezeichnet eine Seite
des Fehlererkennungs- und Korrekturkodes. Die Zahl der Gruppen
(K) ist 2. G(L) bezeichnet die Gruppennummer auf der Seite L
und nimmt die Werte 1 oder 2 an. IF ist eine logische Summe
aller Interpolationskennzeichen F in der Gruppennummer 1. Die
Bedingung für die Klassifizierung der zweiten Kodewörter ist
eine Sechserlöschbedingung mit NF1 = NF2 = 6, die eine höhere
Wahrscheinlichkeit der Fehlerfehlerkennung angibt (NF1 und NF2
bezeichnen die Zahl von F1-Kennzeichen und F2-Kennzeichen,
jeweils für die zweiten Kodewörter gezählt). Wenn diese
Bedingung nicht erfüllt ist, ist die Nummer G(L) der Gruppe 1, und
wenn diese Bedingung erfüllt ist, ist die Nummer G(L) der
Gruppe 2.
-
Zuerst werden L = 1 und IF = 0 initialisiert. Abhängig
davon, ob die Bedingung NF1 = NF2 = 6 erfüllt ist oder nicht,
werden die zweiten Kodewörter in zwei Gruppen eingeteilt. Wenn
diese Bedingung erfüllt ist, wird die Gruppennummer G(L) auf 2
gesetzt. Wenn diese Bedingung nicht erfüllt ist, wird die
Gruppennummer G(L) auf 1 gesetzt, und die zweiten Kodewörter
werden dekodiert. Die zweiten Kodewörter werden nämlich auf
der Basis der Dekodierzustände der ersten Kodewörter
dekodiert, und dann werden deren Dekodierzustände darstellende
Interpolationskennzeichen F ausgegeben.
-
Fig. 7 zeigt als Flußdiagramm den Dekodierprozeß der
zweiten Kodewörter. In Fig. 7 bezeichnet NE die Zahl der mit
den zweiten Kodewörtern erkannten Fehler. F bezeichnet ein
Interpolationskennzeichen. F = 0 steht für nicht durchgeführte
Interpolation, während F = 1 für durchgeführte Interpolation
steht. Beim Dekodieren der zweiten Kodewörter wird zunächst
die Zahl der Fehler erfaßt. Wenn die Zahl der Fehler kleiner
als oder gleich 2 ist, wird sodann die Fehlerkorrektur
durchgeführt und das Interpolationskennzeichen F = 0 gesetzt.
Wenn die Zahl der Fehler größer als oder gleich 3 ist, werden
die Löschkorrektur und Fehlerkorrektur unter Verwendung der
ersten Kennzeichen durchgeführt.
-
Der Prozeß der Löschkorrektur und Fehlerkorrektur
unter Verwendung der ersten Kennzeichen wird im folgenden anhand
Fig. 8 erklärt.
-
In Fig. 8 bezeichnen NF&sub1; und NF&sub2; die Zahl von F1
Kennzeichen und die von F2 Kennzeichen, jeweils für die zweiten
Kodewörter gezählt. NEF1 und NEF2 stehen für die Zahl von
Fehlern bei F1 = 0 beziehungsweise die bei F2 = 0. Auf die aus 32
Symbolen bestehenden zweiten Kodewörter wird ein
Interpolationskennzeichen F angewendet. Wenn F = 0 ist, wird auf keines
der Symbole eine Interpolation angewendet. Wenn F = F0 ist,
wird über die Ausführung oder Nicht-Ausführung einer
Interpolation entsprechend dem auf jedes Symbol angewendeten
Wert von F0 entschieden.
-
Unter der Annahme, daß der kleinste Abstand des Kodes
mit d und die Zahl der Löschkorrekturen mit p bezeichnet
werden, muß die Zahl q (q ist 0 oder eine positive ganze Zahl)
der Fehlerkorrekturen dann die Bedingung
-
q ≤ [d-p-1/2]
-
erfüllen, wobei das Zeichen [ ] bedeutet, daß
Dezimalbruchstellen weggelassen werden, um ganze Zahlen zu erhalten.
-
Da in diesem Ausführungsbeispiel die kleinste Distanz
(d) des zweiten Kodewortes (C&sub2;) 7 ist, kann die Zahl der
Löschkorrekturen (p) bei den ersten Kennzeichen einen Wert bis
zu 6 annehmen. Wenn NF1 kleiner als oder gleich 5 ist, werden
in diesem Ausführungsbeispiel, wie aus Fig. 8 ersichtlich, die
Löschkorrektur und Fehlerkorrektur unter Verwendung der F1-
Kennzeichen ausgeführt. Wenn NF1 5 übersteigt und NF2 5 oder
kleiner ist, werden die Löschkorrektur und Fehlerkorrektur
unter Verwendung der F2-Kennzeichen ausgeführt. Auf diese Weise
wird die Fehlerkorrekturfähigkeit erhöht, weil die
Löschkorrektur und Fehlerkorrektur gleichzeitig ausgeführt werden.
-
Wiederum gemäß Fig. 6 wird eine logische Summe von IF
und F (in Fig. 6 durch IF oder F dargestellt) als neues IF
verwendet, wodurch die logische Summe aller
Interpolationskennzeichen
mit Gruppennummer 1 erhalten wird. Die oben
erwähnte Schleife wird viermal wiederholt, wobei der Wert von
L jeweils um 1 erhöht wird. Als nächstes werden die zu der
zweiten Gruppe gehörenden zweiten Kodewörter dekodiert, wobei
wieder L = 1 gesetzt wird. Die Art des Dekodierens der zweiten
Gruppe hängt von dem Wert von IF ab, der anzeigt, ob
Interpolationskennzeichen in der ersten Gruppe stehen oder nicht.
Genauer gesagt, ist die Wahrscheinlichkeit des Auftretens einer
Fehlerhäufung gering, wenn IF = 0, so daß 6 Löschkorrekturen
unter Verwendung der F2-Kennzeichen ausgeführt werden, um ein
Interpolationskennzeichen F = 0 auszugeben. Wenn andererseits
IF ≠ 0, ist die obige Wahrscheinlichkeit hoch, so daß die
Korrektur der zweiten Kodewörter nicht ausgeführt wird, sondern
ein Interpolationskennzeichen F = F0 ausgegeben wird. Auch die
obige Schleife des Dekodierens der zweiten Gruppe wird viermal
wiederholt, wobei der Wert von L jeweils um 1 erhöht wird.
-
Nach diesem Ausführungsbeispiel werden die zweiten
Kodewörter, wie oben beschrieben, in zwei Gruppen eingeteilt,
die bei jedem Abschluß der Verschachtelung des
Fehlerkorrekturkodes eine hohe Korrelation mit dem Auftreten von
Fehlerhäufungen haben, je nachdem, ob die Bedingung NF1 = NF2 = 6
erfüllt ist oder nicht. Beim Dekodieren der zweiten Kodewörter
unter der Bedingung NF1 = NF2 = 6 mit hoher Wahrscheinlichkeit
der Fehlerkennung von Fehlerhäufungen wird der Ablauf des
Dekodierens abhängig davon geändert, ob auch nur ein einziges
Interpolationskennzeichen beim Dekodieren unter irgendeiner
anderen Bedingung als dieser aufgetreten ist oder nicht,
wodurch die Verminderung der Fehlerfehlerkennung und die
Vermeidung der Erzeugung eines fremden Klanges möglich wird, der die
Qualität des wiedergegebenen Signals verschlechtert.
-
Die maximale Häufungskorrekturfähigkeit in diesem
Ausführungsbeispiel entspricht derjenigen des in der oben
zitierten Literatur der DAT-Konferenz beschriebenen Standes der
Technik. Dieses Ausführungsbeispiel der Erfindung kann nämlich
die Fehlerhäufungserkennungfähigkeit ohne Verschlechterung der
maximalen Fehlerhäufungskorrekturfähigkeit verbessern.
-
Fig. 9 zeigt ein Ausführungsbeispiel der
Fehlererkennungs- und Korrekturvorrichtung zur Ausführung des
Verfahrens der Erfindung. In dieser Figur schließt der Apparat ein
Aufnahmemedium 1, wie ein magnetisches Band; einen Daten-RAM 2
zur Speicherung der aus dem Aufnahmemedium 1 ausgelesenen
Daten und ihres Dekodierzustandes; eine
Adressenkontrolleinrichtung 3 zur Kontrolle der Adressen im Daten-RAM 2; eine
Mikroprogrammkontrolleinrichtung 4 zum Auslesen und Dekodieren
einer Mikroprogrammanweisung zur Kontrolle der Arbeitsablaufs
des Fehlererkennungs- und Korrekturvorrichtung; einen
Syndromgenerator 5 zum Berechnen der Syndrome von ersten
Kodewörtern und zweiten Kodewörtern; einen Kennzeichenprozessor 6,
der den Dekodierzustand darstellende Interpolationskennzeichen
und erste Kennzeichen ausgibt und, wenn die zweiten Kodewörter
dekodiert werden, gleichzeitig die Zahl der ersten Kennzeichen
einschließlich der drei Arten von Kennzeichen F0, F1 und F2,
wenn sie den Wert 1 annehmen, und auch ihre Plätze zu dieser
Zeit liefert; einen arithmetischen Logikoperator 7 zur
Ausführung der 4 grundlegenden arithmetischen Operationen (Addition,
Subtraktion, Multiplikation und Division) in dem Galoisfeld
zum Berechnen der Fehlerstellen und der Fehlermuster aus den
Syndromen; einen RAM-Arbeitsspeicher 8 zur Speicherung der
beim Dekodieren benötigten Variablen; und eine
Fehlerkorrektureinrichtung 9 zur Korrektur der aus dem Daten-
RAM 2 auf der Basis der Fehlerstellen ausgelesenen Fehlerdaten
und der von dem arithmetischen Logikoperator 7 erhaltenen
Fehlermuster und zum Zurückführen der Ergebnisse an den Daten-RAM
2.
-
Die in Fig. 9 gezeigte Fehlererkennungs- und
Korrekturvorrichtung kontrolliert die Arbeitsweise des
arithmetischen
Logikoperators 7, beurteilt den Zustand des
Arbeitsergebnisses und ist dazu ausgelegt, diejenigen Vorgänge
auszuführen, die die Zustandsbeurteilung und die Verästelung
begleiten, wie die Einteilung der zweiten Kodewörter in Gruppen
entsprechend den Dekodierzuständen der ersten Kodewörter, die
Dekodierung der zweiten Kodewörter entsprechend der
Reihenfolge der eingeteilten Gruppen, die Veränderung der
Fehlerkorrekturbearbeitung entsprechend den Dekodierzuständen
der zu diesem Zeitpunkt dekodierten zweiten Kodewörter usw.
-
Bei dem Schritt der Dekodierung der ersten Kodewörter
werden die ersten Kodewörter zunächst aus dem Daten-RAM 2
mittels der Adressenkontrolleinrichtung 3 zum Berechnen ihres
Syndroms unter Verwendung des Syndromgenerators 5 ausgelesen.
Danach wird die Zahl der Fehler aus dem Syndrom unter
Verwendung des arithmetischen Logikoperators 7 und dem Arbeits-RAM 8
zum Ermitteln der Stellen der Fehler und der Fehlermuster
erfaßt. Der Ablauf der Ermittlung der Fehlerstellen und
Fehlermuster ist zum Beispiel in Peterson und Weldon,
"Error-Correcting Codes", MIT Press, 1972, gezeigt. Danach werden die
wegen Fehlern zu korrigierenden Daten aus dem Daten-RAM 2
unter Verwendung der Fehlerkorrektureinrichtung 9 ausgelesen und
die korrigierten Daten werden an den Daten-RAM 2
zurückgegeben. Die die Dekodierzustände der ersten Kodewörter
darstellenden erste Kennzeichen werden unter Verwendung des
Kennzeichenprozessors 6 ausgegeben und im Kennzeichenbereich des
Daten-RAM 2 gespeichert. Der obige Dekodierschritt der ersten
Kodewörter wird 32 * 4 = 128-mal wiederholt.
-
Als nächstes wird der Schritt des Dekodierens der
zweiten Kodewörter durchgeführt. Zuerst werden die Zahl der
ersten Kennzeichen und ihre Plätze in jeder der vier Seiten
unter Verwendung des Kennzeichenprozessors 6 bestimmt. Die
vier Seiten werden in zwei Gruppen eingeteilt, abhängig davon,
ob die Zahl der ersten Kennzeichen die Bedingung NF1 = NF2 = 6
erfüllt oder nicht. Die zweiten Kodewörter werden nacheinander
von der ersten Gruppe an dekodiert, die die obige Bedingung
nicht erfüllt. Beim Dekodieren der zweiten Kodewörter erfolgt
zu Anfang die entsprechende Auslesung aus dem Daten-RAM
mittels der Adressenkontrolleinrichtung 3, um das zugehörige
Syndrom unter Verwendung des Syndromgenerators 5 zu berechnen.
Als nächstes wird die Zahl der Fehler aus dem Syndrom unter
Verwendung des arithmetischen Logikoperators 7 und des
Arbeits-RAM bestimmt, um die Fehlerstellen und die Fehlermuster
anzugeben. So weit sind die Abläufe die gleichen wie beim
Dekodierschritt der ersten Kodewörter. Das Dekodieren der
zweiten Kodewörter ist von demjenigen der ersten Kodewörter
darin verschieden, daß die Löschkorrektur und Fehlerkorrektur
unter Verwendung der ersten Kennzeichen durchgeführt werden.
Der Ablauf der Ausführung der Löschkorrektur mit dem Syndrom
ist in einem Artikel mit dem Titel "Implementation of
Reed-Solomon Erasure-Correcting Decoder for Hybrid Coding Scheme" von
Fox und Huband in IEEE Trans. Commun. Tech. Vol. COM-19, Nr.
4, Seiten 543-6 (August 1971) und in einem Artikel mit dem
Titel " On Decoding BCH Codes" von Forney in IEEE Trans. Inf.
Theory Vol. IT-11, Nr. 4, Seiten 549-57 (Oktober 1965)
beschrieben. Danach werden die wegen Fehlern zu korrigierenden
Daten aus dem Daten-RAM 2 unter Verwendung der
Fehlerkorrektureinrichtung 9 ausgelesen und die bezüglich Fehler
korrigierten Daten werden an den Daten-RAM zurückgegeben. Die die
Dekodierzustände der zweiten Kodewörter darstellenden
Interpolationskennzeichen werden unter Verwendung des
Kennzeichenprozessors 6 ausgegeben und im Kennzeichenbereich
des Daten-RAM gespeichert. Eine logische Summe von IF, die für
das Auftreten oder Nicht-Auftreten von Interpolationen in der
ersten Gruppe steht, und ein Interpolationskennzeichen F
werden als neuer Wert von IF genommen. Dieses Dekodieren der
zweiten Kodewörter wird 32-mal für jede Seite ausgeführt und
entsprechend der Zahl der zu der ersten Gruppe gehörenden
Seiten wiederholt. Als nächstes wird die die Bedingung NF1 = NF2
= 6 erfüllende zweite Gruppe dekodiert. Zuerst wird
entschieden, ob IF = 0 ist oder nicht. Wenn IF = 0 ist, werden
die 6 Löschkorrekturen mit den F2 Kennzeichen durchgeführt.
Wenn IF ≠ 0, wird die Korrektur nicht durchgeführt, sondern es
wird ein Interpolationskennzeichen F = F1 an den Daten-RAM 2
ausgegeben. Das Dekodieren der zweiten Gruppe wird
entsprechend der Zahl der zu der zweiten Gruppe gehörenden Seiten
wiederholt. Auf diese Weise werden die Fehlererkennung
und -korrektur der Information in der in Fig. 2 gezeigten
Anordnung durchgeführt.
-
Übrigens wird in diesem Ausführungsbeispiel die
Prozessoreinheit, in der die Verschachtelung des
Fehlererkennungs- und Korrekturkodes abgeschlossen wird, als Einheit zur
Einteilung der zweiten Kodewörter in Gruppen verwendet, es
kann aber auch jede andere Einheit verwendet werden, wenn sie
eine Korrelation mit dem Auftreten von Fehlerhäufungen hat.