-
Die
Erfindung betrifft ein Datenaufzeichnungs-/-wiedergabegerät für die zweckentsprechende Änderung
der Auswahl eines Fehlerkorrekturcode-Codierprozesses in Abhängigkeit
davon, ob ein Datenaufzeichnungsmedium vom beschreibbaren/reproduzierbaren
Typ oder vom Nurwiedergabetyp ist, ferner ein Verfahren hierfür sowie
ein Datenaufzeichnungsmedium.
-
Vom
Standpunkt großer
Speicherkapazität
und hoher Zugriffsgeschwindigkeit werden optische Plattenlaufwerke
als externe Speichereinheiten für
die Verwendung mit Computern Der Einsatz von CD-ROM-(oder CD-I(interaktive
CD))-Laufwerken und von MO-(magneto-optische Platten)-Laufwerken
hat sich schnell und weit verbreitet. Eine MO-Disc ist ein löschbarer
Plattentyp. Außerdem
wurde eine MD (Mini Disc) vorgeschlagen, die ein löschbarer
Typ ist. Darüber
hinaus wird nun die Entwicklung eines Bildaufzeichnungsmediums,
einer DVD (digital video disc) betrieben.
-
Die
DVD ist eine Nurlese-Disc, die den gleichen Durchmesser hat wie
die CD, oder eine beschreibbare/reproduzierbare optische Platte,
die eine MO-Disc oder eine Phasenänderungs-Disc ist, die nach dem MPEG-Standard
oder dgl. komprimierte Bildinformationen reproduziert oder aufzeichnet/reproduziert.
In dem Maße,
in dem die Wellenlänge
von Laserstrahlen kleiner wird und die NA von Objektiven größer wird
und die digitale Modulation und der Fehlerkorrekturcode-Codierprozeß verbessert
wurde, wurde die Aufzeichnungsdichte weiter verbessert. Für den Fall,
daß die
DVD eine Einzelschicht-Disc ist, beträgt die Datenspeicherkapazität etwa 3,7
GBytes. Ursprünglich
wurden CD und MD für
digitale Audio-Discs entwickelt. Später wurden diese Discs als
externe Speichermedien für
Computer benutzt. In gleicher Weise wird erwartet, daß die DVD, die
eine sehr viel größere Speicherkapazität hat als
die CD und die MD, als externe Speichermedien für Computer eingesetzt werden.
-
Datenaufzeichnungsmedien,
wie optische Platten, können
als Wiedergabe-Disc und als beschreibbare/reproduzierbare Disc kategorisiert
werden. Bei der beschreibbaren/reproduzierbaren Disc werden insbesondere
für Computer
durch einen Datensubstituierungsprozeß Gegenmaßnahmen gegen Fehler ergriffen.
Da bei der Nurlese-Disc jedoch kein Datensubstituierungsprozeß durchgeführt werden
kann, ist eine sehr leistungsfähige
Fehlerkorrektur erforderlich. Da die Daten bei der Nurlese-Disc
kontinuierlich ausgelesen werden, können eine relativ große Sektorgröße und ein
Codierprozeß vom
Faltungstyp benutzt werden. Bei der beschreibbaren/reproduzierbaren
Disc, auf der Daten in einer Zufallsfolge neu eingeschrieben werden,
werden Daten mit einer großen
Sektorgröße jedoch
nicht immer kontinuierlich auf der Disc aufgezeichnet. Darüber hinaus
sollten Daten unnötigerweise
reproduziert werden, um Fehler zu korrigieren. Auf diese Weise wird
der Durchsatz größer und
die Anpassung an die Computer verschlechtert sich.
-
In
Anbetracht der unterschiedlichen Eigenschaften der Nurlese-Disc
und der beschreibbaren/reproduzierbaren Disc werden für die Nurlese-Disc
und die beschreibbare/reproduzierbare Disc speziell angepaßte Fehlerkorrekturcode-Codierprozesse
durchgeführt.
Somit sollten für
diesen Fehlerkorrekturcode-Codierprozeß spezielle Algorithmen für die Codier-
und Decodierprozesse entwickelt werden. Außerdem sollten spezielle Codierer
und Decodierer für
die Fehlerkorrekturcode-Codierprozesse konstruiert werden. Darüber hinaus sollten
IC-Schaltungen für die Codierer
und Decodierer entwickelt werden.
-
Ein
Datenaufzeichnungsgerät
mit allen Merkmalen des Oberbegriffs von Anspruch 1 ist in EP-A-0
342 833 beschrieben.
-
Aus
EP-A-0 618 582 ist ferner ein Informationsverarbeitungsgerät bekannt,
das in der Lage ist, eine Modifiziererinformation auf einer Hybrid-Disc
zu speichern, die einen Nurlesebereich und einen Lese-/Schreibbereich
aufweist.
-
Es
ist somit ein Ziel der vorliegenden Erfindung, ein Datenaufzeichnungs-/-wiedergabegerät zur Verfügung zu
steilen für
die zweckentsprechende Durchführung
eines Fehlerkorrekturcode-Codierprozesses in Abhängigkeit davon, ob das Datenaufzeichnungsmedium
vom beschreibbaren/reproduzierbaren Typ oder vom Nurlese-Typ ist,
und für
die Vereinfachung des Fehlerkorrekturcode-Codierprozesses mit einer
gemeinsamen Struktur von Basisabschnitten für den Prozeß, ferner ein Verfahren hierfür sowie
ein Datenaufzeichnungsmedium.
-
Dieses
Ziel wird erreicht durch ein Datenaufzeichnungsgerät, ein Datenaufzeichnungsverfahren,
ein Datenwiedergabegerät,
ein Fehlerkorrekturverfahren, ein plattenförmiges Aufzeichnungsmedium
und ein Verfahren zum Codieren und Decodieren von Daten entsprechend
den anliegenden unabhängigen
Ansprüchen. Vorteilhafte
Merkmale der Erfindung sind in den entsprechenden Unteransprüchen definiert.
Diese und weitere Ziele, Merkmale und Vorteile der vorliegenden
Erfindung werden durch die folgende detaillierte Beschreibung eines
bevorzugten Ausführungsbeispiels
weiter verdeutlicht, das in den anliegenden Zeichnungen dargestellt ist.
-
1 zeigt
das Blockdiagramm einer Aufzeichnungs-/Wiedergabeschaltung nach
einem Ausführungsbeispiel
der Erfindung,
-
2A und 2B zeigen
schematische Diagramme eines Beispiels für eine Sektorstruktur gemäß der Erfindung,
-
3 zeigt
ein Blockdiagramm einer beispielhaften Fehlerkorrekturcode-Codierschaltung,
-
4 zeigt
ein schematisches Diagramm zur Erläuterung eines Fehlerkorrekturcode-Codierprozesses,
bei dem die vorliegende Erfindung auf einen Dualcode-Codierprozeß vom Faltungstyp
angewendet wird,
-
5 zeigt
ein funktionales Blockdiagramm eines beispielhaften Fehlerkorrekturcode-Codierprozesses in
einer Aufzeichnungs-Verarbeitungsschaltung,
-
6 zeigt
ein funktionales Blockdiagramm eines beispielhaften Fehlerkorrekturcode-Decodierprozesses
in einer Wiedergabe-Verarbeitungsschaltung,
-
7 zeigt
ein funktionales Blockdiagramm eines weiteren beispielhaften Fehlerkorrekturcode-Codierprozesses
in einer Aufzeichnungs-Verarbeitungsschaltung,
-
8 zeigt
ein funktionales Blockdiagramm eines weiteren beispielhaften Fehlerkorrekturcode-Codierprozesses
in einer Wiedergabe-Verarbeitungsschaltung,
-
9 zeigt
ein schematisches Diagramm zur Erläuterung eines weiteren beispielhaften
Fehlerkorrekturcode-Codierprozesses, bei dem die vorliegende Erfindung
auf den Dualcode-Codierprozeß vom
Faltungstyp angewendet wird,
-
10 zeigt
ein schematisches Diagramm zur Erläuterung eines beispielhaften
Fehlerkorrekturcodes vom Block-Ergänzungstyp für den Fall, daß der Dualcode-Codierprozeß vom Faltungstyp
und der Codierprozeß vom
Block-Ergänzungstyp
benutzt werden,
-
11A und 11B zeigen
schematische Diagramme zur Erläuterung
eines weiteren beispielhaften Fehlerkorrekturcodes vom Block-Ergänzungstyp
für den
Fall, daß der
Dualcode-Codierprozeß vom
Faltungstyp und der Codierprozeß vom
Block-Ergänzungstyp
benutzt werden,
-
12A und 12B zeigen
schematische Diagramme zur Erläuterung
eines Beispiels, bei dem die Einheit des Fehlerkorrekturcode-Codierprozesses
variiert.
-
Als
Nächstes
wird anhand der anliegenden Zeichnungen ein Ausführungsbeispiel der vorliegenden
Erfindung beschrieben. 1 zeigt ein Blockdiagramm, in
dem die Struktur eines optischen Platten-Aufzeichnungs-/Wiedergabesystems
gemäß der Erfindung
dargestellt ist. In diesem Ausführungsbeispiel
werden Daten, die aus einem Host-Computer 1 oder einem
optischen Plattenlaufwerk 2 empfangen werden, auf einer
optischen Platte 3 aufgezeichnet. Außerdem werden Daten von der
optischen Platte 3 reproduziert und zu dem Host-Computer 1 gesendet.
-
Die
vorliegende Erfindung kann in einem Mastering-System für eine optische
Nurlese-Disc und in einem Laufwerk für eine beschreibbare/reproduzierbare
optische Platte angewendet werden. So kann das in 1 dargestellte
Aufzeichnungs-/Wiedergabesystem in einem optischen Plattenlaufwerk
(z. B. einem DVD-Laufwerk) als externer Speichervorrichtung für einen
Computer und in einem Mastering-System für eine DVD-ROM-Disc angewendet
werden. In der folgenden Beschreibung wird das Laufwerksystem für beschreibbare/reproduzierbare
optische Platten als RAM-Typ bezeichnet, während das Mastering-System
als ROM-Typ bezeichnet wird. Über
eine Interfaceschaltung 4 kann eine Masterband-Wiedergabevorrichtung
angeschlossen werden.
-
Die
vorliegende Erfindung kann auch in einem Laufwerk angewendet werden,
das als optische Platte 3 wahlweise entweder eine beschreibbare/reproduzierbare
optische Disc oder eine optische Disc vom Nurlese-Typ benutzt. In
diesem Fall wird in dem Wiedergabeprozeß je nach Plattentyp ein geeigneter
Fehlerkorrekturcode-Codierprozeß für die Benutzung
ausgewählt.
-
Die
vorliegende Erfindung kann darüber
hinaus bei einer optischen Platte 3 angewendet werden,
die einen beschreibbaren/reproduzierbaren Bereich und einen Nurlese-Bereich
besitzt. In gleicher Weise wird auch hier in dem Wiedergabeprozeß je nach
Plattentyp ein geeigneter Fehlerkorrekturcode-Codierprozeß für die Benutzung
ausgewählt.
-
Anhand
von 1 wird eine Aufzeichnungs-/Wiedergabeschaltung
nach dem Ausführungsbeispiel der
vorliegenden Erfindung beschrieben. Über die Interfaceschaltung
(I/F) 4, z. B. ein SCSI-Interface, werden digitale Daten,
die aus dem Host-Computer 1 oder von dem optischen Plattenlaufwerk 2 empfangen
werden, Formatierungsschaltungen 5a und 5b zugeführt. Die
Formatierungsschaltungen 5a und 5b begrenzen die
digitalen Daten Sektor für
Sektor und fügen
zu jedem Sektor einen Sektor-Sync und einen Header hinzu, um einen
Fehlerkorrekturcode-Codierprozeß für jeden
Sektor und einen Fehlerkorrekturcode-Codierprozeß für die Daten durchzuführen, die
aufgezeichnet oder reproduziert werden. Jeder Header enthält eine
Identifizierungsinformation, die angibt, ob die vorliegende Platte
vom ROM-Typ oder vom RAM-Typ ist. Alternativ enthält ein Aufzeichnungsbefehl,
der von dem Host-Computer 1 dem I/F 4 zugeführt wird,
eine Information, die den ROM-Typ oder den RAM-Typ repräsentiert.
-
Die
Formatierschaltung 5a wandelt die empfangenen Daten in
Daten mit RAM-Sektorstruktur um und unterzieht die Daten mit Sektorstruktur
einem RAM-Fehlerkorrekturcode-Codierprozeß. Die Formatierschaltung 5b wandelt
die empfangenen Daten in ROM-Daten mit Sektorstruktur um und unterzieht
die Daten mit Sektorstruktur einem ROM-Fehlerkorrekturcode-Codierprozeß. Die Sektorstruktur
kann sowohl für
den RAM- als auch für
den ROM-Typ gemeinsam
sein. Als Beispiel für
die Sektorstruktur wird ein Sektorformat mit 2.072 Bytes benutzt,
die sich aus 2.048 Bytes Benutzerdaten, einem Sektor-Sync mit 4
Bytes, ei nem Header mit 16 Bytes und einer Fehlerdetektierungsparität mit 4
Bytes zusammensetzen, wie dies in 2A und 2B dargestellt
ist.
-
Wie 2B zeigt,
sind in dem Headerabschnitt eine Sektorinformation mit 4 Bytes und
eine Sektornummer mit 4 Bytes aufgezeichnet. Die Sektorinformation
enthält
einen Sektortyp (ST), eine Information über das Reflektionsvermögen (REF),
einen Bereichstyp (AT) und eine Schichtnummer (LN). Der Sektortyp
(ST) gibt an, ob der laufende Sektor vom ROM-Typ oder vom RAM-Typ
ist. Die Information über
das Reflektionsvermögen
(REF) gibt das Reflektionsvermögen
der Plattenaufzeichnungsfläche
an. Die Schichtnummer (LN) gibt für den Fall, daß die Platte
zwei Schichten hat, die laufende Schicht an. Diese Posten der Sektorinformation
sind folgendermaßen
definiert.
-
-
Die
Ausgangsdaten der Formatierungsschaltungen 5a und 5b werden
von einem Schalter 6 ausgewählt. Die ausgewählten Daten
werden einer digitalen Modulationsschaltung 7 zugeführt. Der
Schalter 6 wählt die
Ausgangsdaten nach Maßgabe
eines Steuersignals aus, das aus der Interfaceschaltung 4 empfangen wird.
Beim RAM-Typ wählt
der Schalter 6 die Ausgangsdaten der Formatierschaltung 5a aus.
Beim ROM-Typ wählt
der Schalter 6 die Ausgangsdaten der Formatierschaltung 5b aus.
Wenn die Interfaceschaltung 4 den Formatierschaltungen 5a und 5b ein
Steuersignal zuführt,
kann eine dieser Schaltungen betrieben werden.
-
Die
digitale Modulatorschaltung 7 bildet z. B. ein Datensymbol
von 1 Byte (8 Bits) nach einer vorbestimmten Tabelle in einem Codewort
mit 16 Bits ab und erzeugt modulierte Ausgangsdaten, deren Gleichstromkomponente
klein ist. Alternativ kann als digitales Modulationsver fahren das
für die
CD benutzte EFM-Verfahren, das 8-15-Modulationsverfahren, bei dem
ein Datensymbol mit 8 Bits in ein Codewort mit 15 Bits umgewandelt
wird, oder dgl. benutzt werden. Die Ausgangsdaten der digitalen
Modulatorschaltung 7 werden einer Sync-Addierschaltung 8 zugeführt. Die
Sync-Addierschaltung 8 fügt zu jedem Übertragungsrahmen (z.
B. jedem 32. Codewort) einen Sync hinzu. Die Ausgangsdaten der Sync-Addierschaltung 8 werden
einem Treiber 9 zugeführt.
Für den
Sync wird beispielsweise ein spezielles Bitmuster benutzt, das in
digital modulierten Daten nicht vorkommt.
-
Über den
Treiber 9 werden einem optischen Abtaster 10 Aufzeichnungsdaten
zugeführt
und dann auf der optischen Platte 3 aufgezeichnet. Die
Aufzeichnungsdaten werden nach dem magneto-optischen Aufzeichnungsverfahren
oder nach dem Phasenänderungsverfahren
aufgezeichnet. Die optische Platte 3 wird von einem Spindelmotor 11 mit
konstanter Lineargeschwindigkeit (CLV) oder mit konstanter Winkelgeschwindigkeit
(CAV) gedreht. Die kleinste Dateneinheit, die von dem optischen
Abtaster 10 aufgezeichnet/reproduziert wird, ist ein Block,
der eine vorbestimmte Zahl von Sektoren enthält. Daten, die aufgezeichnet
werden, werden unverzüglich
reproduziert, um (durch eine Lesen-nach-Schreiben-Operation) festzustellen,
ob in den reproduzierten Daten ein Fehler auftritt oder nicht. Wenn
ein Fehler detektiert wird, wird die Schreiboperation erneut versucht.
Wenn Daten ausgelesen werden und die Daten einen Fehler haben, wird
die Leseoperation wiederholt. Falls nach einer bestimmten Anzahl
von Wiederholungen der Leseoperation immer noch keine korrekten
Daten gewonnen werden können,
erhält
der Benutzer eine Fehlermeldung, und die Leseoperation wird gestoppt.
-
Die
von dem optischen Abtaster 10 ausgelesenen Wiedergabedaten
werden einer Detektorschaltung 21 zugeführt, die einen HF-Verstärker und
eine PLL-Schaltung enthält,
die einen Takt extrahiert. Die Ausgangsdaten der Detektorschaltung 21 werden
einer Servo-Steuerschaltung 22 und einer Sync-Trennschaltung 23 zugeführt. Die
Servo-Steuerschaltung 22 steuert ein Fokus-Servo, ein Spurführungs-Servo,
eine Suchoperation für
den optischen Abtaster 10, die Laserleistung für die Schreiboperation
usw. Die Sync-Trennschaltung 23 trennt aus den Wiedergabedaten
einen Rahmen-Sync heraus, der von der Sync-Addierschaltung 8 hinzugefügt wurde.
-
Der
abgetrennte Rahmen-Sync wird einer (nicht dargestellten) Zeitsteuersignal-Generatorschaltung zugeführt. Die
Zeitsteuersignal-Generatorschaltung erzeugt ein Zeitsteuersignal,
das sich mit den Wiedergabedaten synchronisiert. Die Sync-Trennschaltung 23 ist
mit einer digitalen Demodulatorschaltung 24 verbunden.
Die digitale Demodulatorschaltung 24 führt den umgekehrten Prozeß der digitalen
Modulatorschaltung 7 aus und erzeugt Daten, in denen ein
Symbol zu einem Byte rekonstruiert ist.
-
Die
digitale Demodulatorschaltung 24 ist mit Entformatierschaltungen 25a und 25b und
einer Header-Detektorschaltung 26 verbunden. Die Entformatierschaltung 25a führt den
umgekehrten Prozeß der
Formatierschaltung 5a auf der Aufzeichnungsseite durch.
Die Entformatierschaltung 25b führt den umgekehrten Prozeß der Formatierschaltung 5b durch.
Die Entformatierschaltung 25a führt einen Fehlerkorrekturcode-Decodierprozeß aus, gewinnt
aus den RAM-Sektoren die Benutzerdaten und detektiert einen Fehler
in diesen. Die Entformatierschaltung 25b führt einen
Fehlerkorrekturcode-Decodierprozeß durch, gewinnt aus den ROM-Sektoren
die Benutzerdaten und detektiert einen Fehler in diesen. Die Header-Detektorschaltung 26 detektiert
aus jedem Sektor einen Header (siehe 2B) und
prüft entsprechend
der Header-Information, ob die vorliegende Platte vom ROM-Typ oder
vom RAM-Typ ist
(d. h. den Sektortyp).
-
Ein
Schalter 27 wählt
eine der von den Entformatierschaltungen 25a und 25b gewonnenen
Benutzerdaten aus und führt
sie der Interfaceschaltung 4 zu. Der Schalter 27 wird
durch die aus der Header-Detektorschaltung 26 empfangene
Header-Information (ROM/RAM) gesteuert. Der Schalter 27 wählt je nach
Plattentyp die Ausgangsdaten der Schaltungen 25a oder 25b aus.
Die von dem Schalter 27 ausgewählten Wiedergabendaten werden
der Interfaceschaltung 4 zugeführt. Auf diese Weise können die
von der optischen Platte 3 reproduzierten Daten über die
Interfaceschaltung 4 dem Host-Computer 1 zugeführt werden.
Statt den Schalter 27 zu benutzen, kann alternativ eine
der Entformatierschaltungen 25a und 25b dadurch
betätigt
werden, daß diesen
Schaltungen die Header-Information (ROM/RAM) aus der Header-Detektorschaltung 26 zugeführt wird.
-
3 zeigt
ein Blockdiagramm, in dem ein Beispiel für die Struktur einer Fehlerkorrekturcode-Codierschaltung
dargestellt ist, die in einem Signalverarbeitungsblock 28 angeordnet
ist, der die Formatierschaltungen 5a und 5b enthält. In 3 bezeichnet
das Bezugszeichen 31 einen Datenbus. Der Datenbus 31 ist
mit einer Daten-Eingabe-/Ausgabeschaltung 32, einem Speicher
(RAM) 33, einer C1-Parität-Generatorschaltung 35 und
einer C2-Parität-Generatorschaltung 36 verbunden.
Eine Lese-/Schreiboperation, eine Adresse usw. des Speichers 33 werden
von einer Speichersteuerschaltung 34 gesteuert. Außerdem ist
eine Steuerung 37 vorgesehen, die die Operationen der Fehlerkorrekturcode-Codierschaltung
steuert. Die Steuerung 37 führt der Speichersteuerschaltung 34 ein
Schaltersteuersignal ROM/RAM zu. Die Fehlerkorrekturcode-Codierschaltung von 3 besteht
in der Praxis aus einem IC-Chip.
-
Für einen
Signalverarbeitungsblock 29, der die Entformatierschaltungen 25a und 25b enthält, ist
ein Fehlerkorrekturcode-Decodierer vorgesehen. Die Struktur des
Fehlerkorrekturcode-Decodierers ist die gleiche wie die in 3 dargestellte.
Die Hardware des Codierers kann teilweise mit der Hardware des Decodierers gemeinsam
genutzt werden.
-
Als
Beispiel für
den Fehlerkorrekturcode-Codierprozeß wird ein Dualcode-Codierprozeß vom Faltungstyp
vorgestellt. Die Verschachtelungslänge für den ROM-Typ unterscheidet
sich von der Verschachtelungslänge
für den
RAM-Typ. Wie 4 zeigt, werden Daten mit 148
Symbolen, die in vertikaler Richtung (Aufzeichnungs-/Wiedergaberichtung)
(1 Symbol = 1 Byte) und eine C2-Code-Parität (Parität Q) mit 14 Symbolen mit einem
[170, 162, 9]-Reed-Solomon-Code
codiert. Auf diese Weise wird eine C1-Code-Parität (Parität P) mit 8 Symbolen erzeugt.
Die Daten von 148 Symbolen (1 Symbol = 1 Byte) und die Parität P mit
8 Symbolen werden mit einem [170, 156, 15]-Reed-Solomon-Code codiert.
Auf diese Weise wird eine Parität
0 mit 14 Symbolen erzeugt.
-
Wie 4 zeigt,
gilt in dem Verschachtelungsprozeß für den C2-Code mit der Verschachtelungslänge a für den ROM-Typ
und der Verschachtelungslänge
b für den
RAM-Typ die Beziehung (a > b)
(z. B. a = 170 und b = 112). Im allgemeinen ist die Fehlerkorrekturleistung
(speziell gegen einen Burst-Fehler) der Verschachtelungslänge proportional.
Somit ist die Fehlerkorrekturleistung für den ROM-Typ größer als
diejenige für
den RAM-Typ. Mit anderen Worten, für den ROM-Typ kann, anders
als für
den RAM-Typ, der Datensubstituierungsprozeß nicht durchgeführt werden.
Wenn die Verschachtelungslänge
groß ist,
ist eine lange Zugriffszeit erforderlich, da alle ihre Daten aufgezeichnet
oder wiedergegeben werden sollten. Auf diese Weise wird der Umfang
des Verschachtelungsprozesses groß. Deshalb wird eine Struktur
benutzt, bei der Verschachtelungslänge für den RAM-Typ kürzer ist
als die Verschachtelungslänge
für den
ROM-Typ.
-
In 4 ist
die horizontale Verschachtelungslänge b = 112 gleich der Zahl
der Symbole, von denen acht Sektoren in horizontaler Richtung angeordnet
sind, wie dies in 2A dargestellt ist. Mit anderen
Worten, die Verschachtelungslänge
des RAM-Typs kann genau durch die Zahl der Sektoren geteilt werden.
Wenn Daten als Blöcke
mit 8 Sektoren auf einer Platte aufgezeichnet werden, wird die Verschachtelungslänge innerhalb der
Dateneinheit für
die Aufzeichnungs-/Wiedergabeoperation ergänzt. So kann der Fehlerkorrekturprozeß für die Aufzeichnungs-/Wiedergabeoperation
schnell durchgeführt
werden. Für
den ROM-Typ wird die horizontale Verschachtelungslänge innerhalb
eines Blocks nicht ergänzt.
Daten, die von der Platte reproduziert werden, sind jedoch nahezu
sequentielle Daten. Somit tritt in diesem Fall kein Problem auf.
-
Als
Nächstes
wird anhand von 3 ein Beispiel für einen
Codier-/Decodierprozeß zum
Korrigieren von Fehlern beschrieben.
-
Wenn
Daten mit einem Fehlerkorrekturcode codiert werden, werden Daten,
die größer sind
als ein Block, von dem Host-Computer 1 oder dem optischen
Plattenlaufwerk 2 der Daten- Eingabe-/Ausgabeschaltung (I/O) 32 über die
Interfaceschaltung (I/F) 4 der Formatierschaltung 5a oder 5b zugeführt und
dann über den
Datenbus 31 in dem Speicher 33 temporär gespeichert.
In diesem Zeitpunkt führt
die Interfaceschaltung 4 der Steuerung 37 die
Header-Information zu. Die Steuerung 37 prüft, ob die
Daten in dem Speicher 33 vom ROM-Typ oder RAM-Typ sind
und steuert die Speichersteuerschaltung 34 so, daß der Speicher 33 entsprechend
dem ermittelten Typ gesteuert wird. So bestimmt die Speichersteuerschaltung 34 eine
Adresse von Daten, die aus dem Speicher 34 in die C1-Parität-Generatorschaltung 35 und
die C2-Parität-Generatorschaltung 36 ausgelesen
werden, so daß die
Daten in der C2-ROM-Richtung für
den ROM-Typ verschachtelt werden und die Daten für den RAM-Typ in der C2-RAM-Richtung verschachtelt
werden, wie dies in 4 dargestellt ist. Der Codierprozeß wird für alle in
dem Speicher 33 gespeicherten Daten von der C1-Parität-Generatorschaltung 35,
der C2-Parität-Generatorschaltung 36 und
dem Speicher 33 durchgeführt. Anschließend werden
zu den codierten Daten P- und O-Paritäten hinzugefügt. Die
resultierenden Daten werden aus dem Speicher 33 über die
I/O 32 der digitalen Modulatorschaltung 7 zugeführt. Der
Schalter 6 ist in diesem Fall so ausgebildet, daß die in 3 dargestellte
Steuerung 37 die Ausgabe eines von zwei Datentypen durch
die I/O 32 steuert.
-
Als
Nächstes
wird ein Fehlerkorrekturcode-Decodierprozeß zum Decodieren der von einer
Disc reproduzierten Daten beschrieben. Daten, die nach einem Verfahren
wie dem 8-16-Modulationsverfahren
moduliert wurden, werden von der digitalen Demodulatorschaltung 24 demoduliert,
und einige Blöcke
der demodulierten Daten werden in dem Speicher 33 der Entformatierschaltung 25a oder 25b gespeichert.
Die Steuerung 37 detektiert den Sektortyp (ST) des Headerabschnitts
der Daten mit Sektorstruktur, die in dem Speicher 33 gespeichert
sind. Wie bei der Codieroperation steuert die Steuerung 37 die
Speichersteuerschaltung 34 dem detektierten Typ entsprechend.
Mit anderen Worten, Daten, die verschachtelt wurden, werden in die
ursprünglichen Daten
rekonstruiert (dieser Prozeß wird
als Entschachtelungsprozeß bezeichnet).
Die C1-Parität-Generatorschaltung 35 und
die C2-Parität-Generatorschaltung 36 multiplizieren
die entschachtelten Daten mit einem vorbestimmten Koeffizienten,
der in einem (nicht dargestellten) Speicher (ROM) gespeichert ist,
um Fehler der C1-Sequenz bzw. der C2-Sequenz zu korrigieren. Die
fehlerkorrigierten Daten werden in dem Speicher 33 gespeichert.
Aus dem Speicher 33 werden die fehlerkorrigierten Daten über die
I/O 32 der Interfaceschaltung 4 zugeführt. Der
Schalter 27 ist so ausgebildet, daß die Steuerung 37 die
Ausgangsdaten der I/O 32 als solche vom ROM-Typ oder vom
RAM-Typ ausgibt.
-
5 und 6 zeigen
funktionale Blockdiagramme, in denen ein Fehlerkorrekturcode-Codierprozeß und ein
Fehlerkorrekturcode-Decodierprozeß dargestellt ist. 5 zeigt
ein funktionales Blockdiagramm, in dem der oben beschriebene Dualcode-Codierprozeß vom Faltung styp
(für den
ROM-Typ) dargestellt ist. Der Fehlerkorrekturcode gleicht dem für die CD
benutzten Cross-Interleave-Reed-Solomon-Code (CIRC).
-
Eingangssymbole
mit 148 Bytes werden einem C1-Codierer 41 zugeführt. Die
Ausgangsdaten des C1-Codierers 41 (Datensymbole mit 148
Bytes und eine P-Parität
mit 8 Bytes) werden über
eine Verzögerungsschaltungsgruppe 42 einem
C2-Codierer 43 zugeführt.
Bei der in 3 dargestellten Struktur wird
der Verzögerungsprozeß der Verzögerungsschaltungsgruppe 42 von
dem Speicher 33 und der Speichersteuerschaltung 34 ausgeführt.
-
Der
C2-Codierer 43 führt
einen Codierprozeß mit
dem [170, 156, 15]-Reed-Solomon-Code durch und erzeugt eine O-Parität mit 14
Bytes. Der C1-Codierer 41 führt einen Codierprozeß nicht
nur für
Daten sondern auch für
die O-Parität
mit einem C1-Code durch. Auf diese Weise koppelt der C2-Codierer 43 die
Q-Parität
von dem C2-Codierer 43 über
die Verzögerungsschaltungsgruppe 42a zu
dem C1-Codierer 41 zurück.
Der C1-Codierer 41 führt
so einen Codierprozeß mit
dem [170, 162, 9]-Reed-Solomon-Code durch.
-
170
Bytes (Daten mit 148 Bytes, eine C1-Parität mit 8 Bytes und einer C2-Parität mit 14
Bytes), die von dem C1-Codierer 41 empfangen werden, werden
durch eine Array-Änderungsschaltung 44,
die eine Verzögerungsschaltung
enthält,
als Ausgangssymbole extrahiert. Die Array-Änderungsschaltung 44 besteht
in der Struktur von 3 aus dem Speicher 33 und
der Speichersteuerschaltung. Die Ausgangssymbole werden der digitalen
Modulatorschaltung 7 zugeführt. Die Verschachtelungslänge des
Dualcode-Codierprozesses vom Faltungstyp beträgt 170 Rahmen (dies repräsentiert
die Länge
der C1-Code-Sequenz). Die Verschachtelungslänge wird auch als Restriktionslänge der
Verschachtelung oder als Tiefe der Verschachtelung bezeichnet.
-
Als
Nächstes
wird anhand von 6 der Prozeß des Decodierers beschrieben,
der dem in 5 dargestellten Codierer entspricht.
Die Eingangssymbole (mit 170 Bytes) werden von der digitalen Demodulatorschaltung 24 über eine
Array-Änderungsschaltung 51 einem
C1-Decodierer 52 zugeführt. Die
Array-Änderungsschaltung 51 führt den
umgekehrten Prozeß der
Array-Änderungsschaltung 44 des
Codierers durch. Der C1-Decodierer 52 führt einen Decodierprozeß mit einem
[170, 162, 9]-Reed-Solomon-Code durch.
-
Die
Ausgangsdaten des C1-Decodierers 52 werden über eine
Verzögerungsschaltungsgruppe 53 einem
C2-Decodierer 54 zugeführt.
Der C2-Decodierer 54 führt
einen Decodierprozeß mit
einem [170, 156, 15)-Reed-Solomon-Code durch. Die decodierten Ausgangsdaten
des C2-Decodierers 54 werden über eine Entschachtelungs-Verzögerungsschaltung 55 einem
C1-Decodierer 56 zugeführt.
Auf diese Weise werden Ausgangssymbole mit 148 Bytes ex trahiert,
die durch den C1-Decodierprozeß,
den C2-Decodierprozeß und dem
C1-Decodierprozeß fehlerkorrigiert
wurden.
-
Durch Änderung
der Verzögerungsbeträge der Verzögerungsschaltungsgruppen 42, 53 und 55 kann die
Verschachtelungslänge
auf den Wert 112 des RAM-Typs geändert
werden. Bei der in 3 dargestellten Struktur wird
das Schaltersteuersignal ROM/RAM, wie oben beschrieben, der Speichersteuerschaltung
zugeführt,
um die Adressensteuerung der Speichersteuerschaltung 34 umzuschalten.
Auf diese Weise werden die Verzögerungsbeträge geändert. Da
im vorliegenden Beispiel die Beziehung (170 > 112) erfüllt ist, wird der Verzögerungsbetrag
0 hinzugefügt,
um so die Verschachtelungslänge
112 zu erreichen.
-
Da
z. B. in dem Codierprozeß die
Verzögerungsbeträge der Verzögerungsschaltungen 46 und 46a für zwei benachbarte
Signale gleich bemessen sind, wird ein Verzögerungsprozeß für 112 Symbole
durchgeführt. Bei
dem Decodierprozeß sind,
wie in 8 dargestellt, die Verzögerungsbeträge der Verzögerungsschaltungsgruppen 57 und 58 für zwei benachbarte
Schaltungen gleich. Auf diese Weise wird ein Eingangssymbol mit
170 Bytes, das eine Verschachtelungslänge hat 112 hat, entschachtelt
und ausgegeben.
-
9 zeigt
ein weiteres Beispiel des Faltungs-Dualcodes als Fehlerkorrekturcode.
Wenn die Zahl der Datensymbole gleich 116 (Bytes) ist, wird in der
Rückkopplungsstruktur
so wie bei den Strukturen von 5 und 6 eine
P-Parität
mit 10 Symbolen und eine Q-Parität
mit 12 Symbolen gebildet. Mit anderen Worten, bei dem in 9 dargestellten
Beispiel führt
der C1-Codierer einen Codierprozeß mit einem [138, 128, 11]-Reed-Solomon-Code
durch, während
der C2-Codierer einen Codierprozeß mit einem [138, 126, 13]-Reed-Solomon-Code
durchführt.
An diesem Punkt ist die Verschachtelungslänge für den ROM-Typ (a = 276), während die
Verschachtelungslänge
für den
RAM-Code (b = 138) ist. Da die Verschachtelungslänge der C1-Codesequenz 138
Symbole umfaßt,
kann durch den Verzögerungsprozeß, der die
Symbole jeweils um eins ändert,
in dem Fehlerkorrekturcode-Codierprozeß und in dem Fehlerkorrekturcode-Decodierprozeß eine Verschachtelung
b = 138 erreicht werden. Durch einen Verzögerungsprozeß, der die
Symbole jeweils um zwei ändert,
kann eine Verschachtelung a = 276 erreicht werden.
-
Wie
bei dem Ausführungsbeispiel
beschrieben wurde, wird die Verzögerungslänge in Abhängigkeit
davon geändert,
ob die aktuelle Disc vom ROM-Typ oder vom RAM-Typ ist. Der Dualcode-Codierprozeß vom Faltungstyp
(Verschachtelungslänge
a = 170) kann für
den ROM-Typ durchgeführt
werden. Der Dualcode-Codierprozeß mit Block-Ergänzung wird
für den
RAM-Typ durchgeführt.
Bei dem Prozeß mit
Block-Ergänzung
werden Daten eines zweidimensionalen Arrays mit einer vorbestimmten
Größe als ein
Block behandelt, und der Verschachtelungsprozeß wird in dem Block durchgeführt. 10 zeigt
ein schematisches Diagramm eines Dualcode-Codierprozesses mit Block-Ergänzung. 148
Symbole, die in der vertikalen Richtung (Lese-/Schreibrichtung)
von (148 × 224)
Symbolen eines Blocks angeordnet sind, werden mit einem C1-Code-Reed-Solomon-Code
codiert, um die P-Parität
zu erzeugen. Zusätzlich
werden Daten in diagonaler Richtung mit einem Reed-Solomon-Code
codiert, um eine C2-Code-Parität
Q zu erzeugen. Wie bei dem oben beschriebenen Ausführungsbeispiel
steuert die Speichersteuerschaltung 34 den Speicher 33 so,
daß dieser
den Verschachtelungsprozeß in
diagonaler Richtung ausführt.
-
Als
Dualcode-Codierprozeß mit
Block-Ergänzung
kann der Typ ohne Rückkopplung
oder der Rückkopplungstyp
benutzt werden. Der bei der CD benutzte Dualcode-Codierprozeß vom Faltungstyp
ist z. B. der Prozeß ohne
Rückkopplung.
Bei dem Typ ohne Rückkopplung
wird ein Codierprozeß mit
einem [162, 148, 15]-Reed-Solomon-Code durchgeführt, der der C2-Code ist. Auf diese
Weise wird die Q-Parität
mit 14 Bytes erzeugt. Zusätzlich
werden Daten und die Parität
Q mit einem [170, 162, 9]-Reed-Solomon-Code codiert, der den C1-Code
erzeugt. Auf diese Weise wird die Parität mit 8 Bytes erzeugt. Wenn
ein Fehlerkorrekturprozeß (d.
h. ein Decodierprozeß)
durchgeführt
wird, wird der C1-Code decodiert. Anschließend wird der C2-Code decodiert.
Bei dem Rückkopplungstyp
wird hingegen wie in der Struktur von 5 die Q-Parität mit einem
[170, 162, 9]-Reed-Solomon-Code codiert. Auf diese Weise wird die
P-Parität
erzeugt. Zusätzlich
werden die Daten und die P-Parität
mit einem [170, 156, 15]-Reed-Solomon-Code codiert.
-
11A und 11B zeigen
schematische Diagramme eines anderen Beispiels für den Fehlerkorrekturcode mit
Block-Ergänzung.
In 11A wird der Dualcode-Codierprozeß mit Block-Ergänzung für Datensymbole
116 (in vertikaler Richtung – Lese-/Schreibrichtung) × 114 (in
horizontaler Richtung) durchgeführt.
In 11B wird der Dualcode-Codierprozeß mit Blockergänzung für Datensymbole
von 116 (in vertikaler Richtung – Lese-/Schreibrichtung) × 288 (in
horizontaler Richtung) durchgeführt.
Mit anderen Worten, in 11B werden
die in 11A dargestellten Daten als
Daten eines Blocks behandelt, und es wird ihre Parität erzeugt. Für den RAM-Typ
wird der Codierprozeß mit
Blockergänzung
durchgeführt,
um die Zugriffseigenschaften zu verbessern. Im Fall des Blockergänzungstyps
beträgt
die Datenmenge jedes Blocks vorzugsweise 16 kBytes, 32 kBytes oder
dgl.
-
Gemäß vorliegender
Erfindung kann zusätzlich
die Blockgröße, die
die Einheit eines Fehlerkorrekturcodes bildet, variiert werden. 12A und 12B zeigen
schematische Diagramme eines weiteren Beispiels. Wie in 12A dargestellt, ist die Blockgröße des RAM-Typs
gleich (170 (= Daten von 148 Symbolen + eine Parität mit 22
Bytes) × 14).
Auf der anderen Seite ist die Blockgröße des ROM-Typs, wie in 12B dargestellt, gleich (170 (Daten von 148 Symbolen
+ eine Parität
von 22 Bytes) × 112).
Bei dem in 12A und 12B dargestellten
Beispiel ist die Aufzeichnungs-/Wiedergaberichtung die horizontale
Richtung jedes Blocks, während
die Codierrichtung die diagonale Richtung jedes Blocks ist. Als
Code kann ein (170, 148, 23]-Reed-Solomon-Code benutzt werden.
-
Es
wurde erwähnt,
daß die
Leistung des Fehlerkorrekturprozesses von der Größe des Datenblocks abhängt, wenn
die Zahl der Paritäten,
wie in 2A und 2B dargestellt,
für spezielle
Daten die gleiche ist wie für
andere Daten. In diesem Fall wird der diagonale Verschachtelungsprozeß wie in
dem oben beschriebenen Beispiel von dem Speicher 33 und
der Speichersteuerschaltung 34 durchgeführt.
-
Mit
der vorliegenden Erfindung lassen sich Fehlerkorrekturcode-Codierprozesse
durchführen,
die dem RAM-Typ und dem ROM-Typ entsprechen. Da die Verschachtelungslänge und
die Blockgröße variiert
werden, kann außerdem
Hardware für
den Fehlerkorrekturcode-Codierprozeß und den Fehlerkorrekturprozeß gemeinsam
genutzt werden. Auf diese Weise kann die Hardwarestruktur vereinfacht
werden. Darüber
hinaus ermöglicht
die vorliegende Erfindung die Herstellung einer hybriden Platte,
die sowohl einen ROM-Bereich als auch einen RAM-Bereich besitzt.
-
Obwohl
die vorliegende Erfindung anhand des am meisten bevorzugten Ausführungsbeispiels
dargestellt und beschrieben wurde, ist es für den einschlägigen Fachmann
ohne weiteres ersichtlich, daß die
vorangehenden und verschiedene andere Änderungen, Auslassungen und
Hinzufügungen
in Form und Detail des Ausführungsbeispiels
möglich
sind, ohne daß dadurch
der Rahmen der anliegenden Ansprüche
verlassen wird.