DE10012127B4 - Dekodiervorrichtung und Dekodierverfahren zum Entschachteln von Daten - Google Patents

Dekodiervorrichtung und Dekodierverfahren zum Entschachteln von Daten Download PDF

Info

Publication number
DE10012127B4
DE10012127B4 DE10012127A DE10012127A DE10012127B4 DE 10012127 B4 DE10012127 B4 DE 10012127B4 DE 10012127 A DE10012127 A DE 10012127A DE 10012127 A DE10012127 A DE 10012127A DE 10012127 B4 DE10012127 B4 DE 10012127B4
Authority
DE
Germany
Prior art keywords
parameter
input
byte
frame
data
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.)
Expired - Fee Related
Application number
DE10012127A
Other languages
English (en)
Other versions
DE10012127A1 (de
Inventor
Su Wei-Ming
Shin Yung Chen Banyan
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.)
TIAN HOLDINGS, LLC, WILMINGTON, DEL., US
Original Assignee
Via Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Publication of DE10012127A1 publication Critical patent/DE10012127A1/de
Application granted granted Critical
Publication of DE10012127B4 publication Critical patent/DE10012127B4/de
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/27Coding, 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 using interleaving techniques
    • H03M13/276Interleaving address generation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1866Error detection or correction; Testing, e.g. of drop-outs by interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Eine Dekodiervorrichtung zum Entschachteln von Daten umfasst einen Schreibadressgenerator, einen Leseadressgenerator und eine Speichervorrichtung. Gemäß einem Verfahren zum Entschachteln von Daten erzeugt der Schreibadressgenerator eine Schreibadresse gemäß Parametern entsprechend den Verschachtelungsmerkmalen eines Eingangssignals. Die Schreibadressen werden gemäß den Parametern versetzt, um die Eingangsdaten einer Entschachtelungsfunktion zu unterziehen. Der Leseadressgenerator erzeugt eine Leseadresse zum sequentiellen Lesen der gespeicherten Daten, um entschachtelte Ausgangsdaten zu liefern.

Description

  • Die Erfindung betrifft eine Dekodiervorrichtung und ein Dekodierverfahren zum Entschachteln von auf Platten gespeicherten Daten.
  • Es ist manchmal möglich, daß eine Kompaktdisc (CD) eine physische Beschädigung, beispielsweise Kratzer, während der Herstellung bzw. des Gebrauchs erfährt. Um einen Verlust logischer kontinuierlicher Daten infolge der physischen Beschädigung zu verhindern, wird typischerweise eine Datenverwürfelungstechnik während des Datenschreibvorgangs einer Herstellung eines CD-Nur-Lese-Speichers (CD-ROM) verwendet. Kurz ausgedrückt, wird jeder Strom logischer kontinuierlicher Daten zuerst in eine Vielzahl von Blöcken gemäß einem vorbestimmten Algorithmus geteilt. Anschließend wird ein weiterer Algorithmus verwendet, um Blöcke aus einem Strom logischer kontinuierlicher Daten mit Blöcken anderer Ströme logischer kontinuierlicher Daten zu verwürfeln. Die resultierenden verwürfelten Daten werden anschließend sequentiell und kontinuierlich in die physischen Räume der CD-ROM geschrieben. Wenn unglücklicherweise ein bestimmter Abschnitt der CD-ROM beschädigt ist, so kann der Abschnitt beschädigter Daten, welche zu einem Strom logischer kontinuierlicher Daten gehört, über den Algorithmus durch die assoziierten unbeschädigten Daten des jeweiligen Stroms jeweiliger logischer kontinuierlicher Daten wiedergewonnen werden. Daher werden zusätzlich zu den Rohdaten verschiedene Sonderdaten, welche einen Steuercode, einen Synch-Code und einen Schutzcode beinhalten, zu den Rohdaten hinzugefügt, um die vollständigen Daten in dem CD-ROM zu bilden.
  • Um eine Datenbeschädigung bzw. einen Datenverlust zu verhindern, werden bei einem Speichern von Ursprungsdaten auf Platten die folgenden Kodieroperationen sequentiell ausgeführt: C3-Codierung, C2-Codierung, Verschachtelung und C1-Codierung.
  • Die Verschachtelungsoperation unterteilt Rahmen von C2-codierten Daten in verschiedene Rahmen für eine C1-Codierung. Nach einer Verschachtelung werden, wenn Daten beschädigt werden, die beschädigten Daten unter verschiedenen Rahmen der codierten Daten verstreut, so daß eine Korrekturwahrscheinlichkeit erhöht wird.
  • Anschließend werden, wenn Daten auf einer Platte gelesen werden, die folgenden Dekodieroperationen sequentiell ausgeführt: C1-Dekodierung, Entschachtelung, C2-Dekodierung und C3-Dekodierung. Eine Verschachtelung ist die Umkehroperation einer Verschachtelung.
  • 1 zeigt eine herkömmliche Entschachtelungsoperation. Jeder Rahmen von C1-codierten Daten umfaßt 32 Bytes, in welchen 4 Bytes einer Paritätsprüfung vorhanden sind. Nach einer Paritätsprüfung C1-codierter Daten durch die 4 Paritätsbytes werden 28 Bytes paritätsgeprüfter C1-codierter Daten erhalten.
  • Wie in 1 dargestellt, wird ein erstes Byte (Byte 0) der paritätsgeprüften C1-codierten Daten um 27 × 4 = 108 Zyklen verzögert und anschließend einem C2-Dekodierer zugeführt. Ein Zyklus stellt eine Übertragungseinheit eines Rahmens dar. In ähnlicher Weise wird ein zweites Byte (Byte 1) der paritätsge prüften C1-codierten Daten um 26 × 4 = 104 Zyklen verzögert und anschließend dem C2-Dekodierer zugeführt. Ein Byte 2 der paritätsgeprüften C1-codierten wird um 25 × 4 = 100 Zyklen verzögert und anschließend dem C2-Dekodierer zugeführt. Die Beziehung läßt sich wie folgt zusammenfassen: ein Byte K wird um (27-k) × 4 Zyklen verzögert und anschließend dem C2-Dekodierer zugeführt. Daher wird ein Byte 27 der paritätsgeprüften C1-codierten Daten um 0 × 4 = 0 Zyklen verzögert und anschließend dem C2-Dekodierer zugeführt.
  • Jedes Byte der paritätsgeprüften C1-codierten Daten wird im Pipeline-Modus an den C2-Dekodierer übertragen. Zwischen jedem durch den C2-Dekodierer empfangenen Byte existiert eine 4-Rahmen-Übertragungszyklus-Verzögerung.
  • Das heißt, ein Byte 0 eines ersten C2-Rahmens, welcher durch den C2-Dekodierer empfangen wird, resultiert aus einem Byte 0 des ersten C1-Rahmens. Ein Byte 1 des ersten C2-Rahmens resultiert aus einem Byte 1 eines fünften C1-Rahmens. Ein Byte 2 des ersten C2-Rahmens resultiert aus einem Byte 2 eines neunten C1-Rahmens.
  • Ein Bezugszeichen "D" in 1 bezeichnet Verzögerungsregister. Jedes Verzögerungsregister wird dazu verwendet, Bytes des C1-Rahmens um einen Zyklus zu verzögern. Das heißt, in 1 existieren 108, 104, ...4, 0 Verzögerungsregister, welche zum Verzögern von Bytes 0, 1...27 der C1- und C2-Kodierer verwendet werden.
  • Jedoch besteht ein Nachteil dieses herkömmlichen Schemas darin, daß es eine große Anzahl von Verzögerungsregistern verwendet. Wie in 1 dargestellt, ist klar, daß ein derartiges herkömmliches System 108 + 104 + ... 4 + 0 = 1512 Verzögerungsregister erfordert, den Entschachtelungsvorgang zu realisieren. Die Anzahl logischer Gatter, welche zum Realisieren derartig vieler Register verwendet werden, beträgt insgesamt 44k.
  • Daher ist gemäß dem herkömmlichen System eine Entschachtelungsvorrichtung infolge der Verwendung von 44k logischen Gattern sehr kompliziert. Schaltungsentwickler müssen sich viel Zeit nehmen, um ein derartiges System zu entwickeln und auszutesten. Die Gesamtkosten eines Vorsehens dieser großen Anzahl von Gattern und Austestens der letztendlich resultierenden Schaltung sind hoch.
  • Die Druckschrift US 4,716,567 beschreibt eine Dekodiervorrichtung zum Entschachteln von Bytes von gerahmten Eingangsdaten, die eine Speichervorrichtung zum Speichern der Eingangs- und Ausgangsdaten und einen Schreib- sowie einen Lesegenerator aufweist. Hierbei geschieht die Speicherung in Abhängigkeit von einer Blocknummer.
  • Die Druckschrift US 5,796,755 offenbart ebenfalls eine Dekodiervorrichtung zum Entschachteln von Bytes von gerahmten Eingangsdaten. Diese Dekodiervorrichtung besitzt eine Speichervorrichtung zum Speichern der Eingangs- und Ausgangsdaten und einen Schreib- sowie einen Lesegenerator, wobei jedoch keine Generierung der Speicheradressen stattfindet.
  • Schließlich ist aus US 5,764,649 eine Dekodiervorrichtung zum Entschachteln von Bytes von gerahmten Eingangsdaten bekannt, bei der die Schreib- und Leseadresse in Abhängigkeit von mehreren Parametern berechnet wird.
  • Es ist eine Aufgabe der Erfindung, eine verbesserte und vereinfachte Vorrichtung und ein verbessertes und vereinfachtes Verfahren zum Entschachteln von Daten, beispielsweise während einer Signaldekodierung, zu schaffen. Durch Anwenden der vorliegenden Erfindung können die Hardwarekosten verringert werden, und die Schaltungsentwickler können die Schaltung leichter entwickeln und austesten.
  • Erfindungsgemäß wird die Aufgabe durch die Merkmalskombination des Anspruches 1 bzw. 8 gelöst, die Unteransprüche zeigen weitere vorteilhafte Ausgestaltungen der Erfindung.
  • Weitere Aufgaben, Merkmale und Vorteile der Erfindung gehen aus der nachfolgenden genauen Beschreibung den bevorzugten, jedoch nicht einschränkenden Ausführungsbeispielen deutlich hervor. Die Beschreibung erfolgt unter Bezugnahme auf die beiliegende Zeichnung. Es zeigt:
  • 1 ein Blockdiagramm einer herkömmlichen Vorrichtung zur Entschachtelung;
  • 2 ein Blockdiagramm einer Entschachtelungsvorrichtung gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 3 ein Adresszuordnungsdiagramm einer Speichervorrichtung gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung;
  • 4 ein Flußdiagramm eines Verfahrens zum Schreiben eines Eingangssignals in die Speichervorrichtung gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung; und
  • 5 ein Flußdiagramm zum Lesen eines Ausgangssignals aus der Speichervorrichtung gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 2 ist ein Blockdiagramm einer Entschachtelungsvorrichtung gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Wie in 2 dargestellt, umfaßt eine Entschachtelungsvorrichtung der vorliegenden Erfindung: einen Schreibadressgenerator 10, einen Leseadressgenerator 20 und eine Speichervorrichtung 30. Bei der vorliegenden Erfindung kann die Speichervorrichtung 30 beispielsweise als SRAM (statischer Schreib-Lese-Speicher) mit 4Kbyte realisiert werden. Der Schreibadressgenerator 10 erzeugt eine Schreibadresse zum Schreiben eines Eingangssignals in die Speichervorrichtung 30. Das Eingangssignal besteht bei diesem Beispiel aus paritätsgeprüften C1-codierten Daten. Der Leseadressgenerator 20 erzeugt eine Leseadresse zum Lesen eines Ausgangssignals aus der Speichervorrichtung 30. Das Ausgangssignal besteht bei diesem Beispiel aus C2-codierten Daten.
  • Die paritätsgeprüften C1-codierten Daten werden in die Speichervorrichtung 30 gemäß einer durch den Schreibadressgenerator 10 erzeugten Schreibadresse geschrieben. Die entschachtelten Daten werden aus der Speichervorrichtung 30 gemäß einer durch den Leseadressgenerator 20 erzeugten Leseadresse gelesen. Die Schritte eines Schreibens und Lesens sind jeweils in 4 und 5, welche später beschrieben werden, dargestellt. Durch ein Schreiben der paritätsgeprüften C1-codierten Daten in die Speichervorrichtung 30 und ein Lesen der entschachtelten Daten aus der Speichervorrichtung 30 wird die Entschachtelungsoperation abgeschlossen.
  • 3 zeigt die Adresszuordnung in der Speichervorrichtung 30 gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Paritätsgeprüfte C1-codierte Daten werden als C1-Rahmen bezeichnet. In 3 wird das Byte k eines C1-Rahmens m an einer durch f(m,k) bezeichneten Adresse gespeichert.
  • Sämtliche Bytes des ersten C1-Rahmens 0 werden sequentiell an eine Vielzahl von durch (f0,0), (f0,1), (f0,2), ..., (f0,27) bezeichneten Adressen der Speichervorrichtung 30 gemäß der Speicherfeldanordnung von 3 geschrieben. Wie in 3 dargestellt, ist die Schreibrichtung von unten links nach oben rechts über die Spalten der Speichervorrichtung. Wenn die paritätsgeprüften C1-codierten Daten von der Speichervorrichtung 30 empfangen werden, werden diese Byte-für-Byte für jeden Rahmen gespeichert. In ähnlicher Weise werden Bytes des C1-Rahmens 1 sequentiell an eine Vielzahl von durch (f1,0), (f1,1) (f1,2), ..., (f1,27) bezeichneten Adressen der Speichervorrichtung 30, erneut durch Bewegen über die Spalten von unten links nach oben rechts, geschrieben. Wie dargestellt, werden aufeinanderfolgende Bytes in Spaltenstellen, welche in Einserschritten zunehmen, geschrieben, wohingegen die Zeilenstellen für aufeinanderfolgende Bytes in Viererschritten zunehmen. Durch Wiederholen der oben erwähnten Schreibschritte werden alle C1-Rahmen in die Speichervorrichtung 30 geschrieben. Wie in 3 dargestellt, erreichen die Adressen der ersten Reihe von 0, 1, 2, ... bis 27, und dementsprechend erreichen die Adressen der zweiten Reihe von 28, 29, ..., bis 55.
  • In 3 wird beschrieben, wie Daten aus der Speichervorrichtung 30 ausgelesen werden. Es sei angenommen, daß eine Adressierung der Speichervorrichtung 30 aufeinanderfolgend über das Feld erfolgt. Wie oben beschrieben, werden Schreibvorgänge von unten links nach oben rechts ausgeführt. Aus 3 ist ersichtlich, daß die 108te Reihe (f0,0), (f4,1), .... (f108,27) umfaßt. Wie oben erwähnt, ist die Schreibrichtung von unten links nach oben rechts. Das heißt, daß, wenn die Adresse (f108,27) geschrieben wird, die andere Adresse in der 108ten Reihe schon geschrieben ist. Nachdem die Adresse (f108,27) geschrieben ist, werden alle Daten, welche in der 108ten Reihe gespeichert sind, als C2-Rahmen 0 ausgelesen. Daher wird, zur Einrichtung des C2-Rahmens 0, Byte 0 davon aus Reihe 108, Spalte 0 (f0,0) (Byte 0 des C1-Rahmens 0) gelesen; Byte 1 davon wird aus Reihe 108, Spalte 1 (f4,1) (Byte 1 des C1-Rahmens 4) gelesen; etc. Nachdem die am weitesten rechts befindliche Adresse der 109ten Reihe geschrieben ist, werden die in der 109ten Reihe gespeicherten Daten als C2-Rahmen 1 ausgelesen. Durch Wiederholen der oben genannten Leseschritte werden alle in der Speichervorrichtung 30 gespeicherten Daten als C2-Rahmen ausgelesen.
  • Nachfolgend werden die Schritte zum Schreiben der C1-Rahmen-Daten in die Speichervorrichtung 30 beschrieben.
  • 4 ist ein Flußdiagramm, welches den Vorgang eines Schreibens des C1-Rahmens in die beispielhafte Speichervorrichtung 30 zeigt. Zuerst werden, wie in Block 41 dargestellt, zur Vorbereitung des Schreibens des C1-Rahmens 0, Anfangswerte eines Datenrahmenparameters I, eines Zeilendifferenzparameters D und eines Byteparameters K auf 108, 0 bzw. 0 gesetzt. Der Datenrahmenparameter I entspricht dem C1-Rahmen, welcher geschrieben wird. Der Byteparameter K stellt ein Byte K des C1-Rahmens, welcher geschrieben wird, dar. Die Zeilendifferenz D stellt eine Zyklusdifferenz zwischen dem Byte K und dem Byte 0 dar. Da der Schreibvorgang bei Byte 0 beginnt, werden Anfangswerte von K und D beide auf 0 gesetzt.
  • Unter Verwendung der oben definierten Parameter wird eine Schreibadresse A1 eines Bytes K dargestellt als A1 = (I – D)·28 + K, wie in Block 42 dargestellt.
  • Wenn ein Byte 0 des C1-Rahmens 0 geschrieben werden soll, so ist I = 108, K = 0, D = 0. Daher ist eine Schreibadresse A1 davon A1 = (108 – 0)·28 + 0 = 3024, was der ersten Spaltenadresse in Zeile 108 eines 28-Spalten-Feldes entspricht. Die Schreibadresse A1 für (f0,0) gemäß dem Beispiel ist in 3 dargestellt.
  • Anschließend werden aufeinanderfolgende Bytes des C1-Rahmens 0 sequentiell geschrieben. Wie in Block 43 dargestellt, ist für das nächste Byte in Rahmen 0 K = K + 1 und D = D + 4. Das heißt, daß, aufgrund der Tatsache, daß ein nächstes Byte geschrieben werden soll, der Byteparameter K um 1 erhöht wird. Die Zeitverzögerung zwischen benachbarten Bytes beträgt 4 Zyklen, so daß D = D + 4 ist.
  • Anschließend wird in Block 44 bestimmt, ob der Byteparameter K kleiner als 28 ist. Wenn der Byteparameter kleiner als 28 ist, zeigt dies an, daß noch nicht alle Bytes des C1-Rahmens in die Speichervorrichtung 30 geschrieben sind. Daher werden die Blöcke 42 und 43 wiederholt, bis K = 28 ist, das heißt, bis Byte 27 geschrieben wird. Da in einem C1-Rahmen 28 Bytes existieren, sind 28 Schreibvorgänge erforderlich, um einen C1-Rahmen vollständig in die Speichervorrichtung 30 zu schreiben. Wenn K = 28 ist, so ist bekannt, daß der aktuelle C1-Rahmen vollständig in die Speichervorrichtung 30 geschrieben ist, und daß der nächste C1-Rahmen geschrieben werden soll.
  • Anschließend ist, wie in Block 45 dargestellt, I = I + 1 (der Datenrahmenparameter wird erhöht); K = 0 (der Byteparameter wird rückgesetzt); und D = 0 (der Zeilendifferenzparameter wird rückgesetzt). Das heißt, daß der nächste C1-Rahmen geschrieben werden soll, angefangen bei Byte 0 und ohne Zeitverzögerung.
  • Anschließend werden die Blöcke 4245 wiederholt, bis alle Bytes von allen C1-Rahmen vollständig in die Speichervorrichtung 30 geschrieben sind, wie in Block 46 dargestellt.
  • Bei diesem Ausführungsbeispiel wird der Adreßraum des Speicher 30 als kontinuierlich angesehen. Das heißt, wenn die Schreibadresse A1, welche durch A1 =(I – D)·28 + K bestimmt ist, größer als die obere Grenze (beispielsweise 3583 = 128·28 – 1) der Speichervorrichtung ist, ist die Schreibadresse A1 minus einer vorbestimmten Zahl (beispielsweise die obere Grenze +1 = 3584) die neue Schreibadresse A1'. Das entsprechende Byte wird anschließend gemäß der neuen Schreibadresse A1' geschrieben. Allgemein ausgedrückt ist, wenn A1 größer als ADDmax (die größte zulässige Adresse für den Speicherplatz) ist, die neue Schreibadresse A1' = A1 – (Addmax + 1).
  • 5 ist ein Flußdiagramm, welches den Lesevorgang von Daten von der Speichervorrichtung zeigt. Der Datenrahmenparameter I ist hier der gleiche wie in 4. Zuerst wird ein Anfangswert des Datenrahmenparameters I auf 109 gesetzt, wie in Block 51 dargestellt. Anschließend werden zwei Leseadressen A2 und A3 entsprechend dem Datenrahmenparameter I durch ein Berechnen von A2 = I·28 – 1 und A3 = I·27 erhalten, wie in Block 52 dargestellt. Wenn I = 109 ist, ist die Schreibadresse A2 gleich A2 = 109·28 – 1 = 3051 und A3 = 109·27 = 3024. Aus 3 ist ersichtlich, daß die beiden Leseadressen A2 und A3 die am weitesten rechts bzw, die am weitesten links befindliche Adresse in Zeile 108 ist, bestimmt als f108,27 und f0,0.
  • Anschließend werden in den Blöcken 53, nachdem die Adresse A2 überschrieben wurde, Daten, welche in den verbleibenden Adressen in Zeile 108 gespeichert sind, als C2-Datenrahmen ausgelesen. Wie oben erwähnt, war die Schreibrichtung von unten links nach oben rechts. Wenn die sich am weitesten rechts befindliche Adresse einer geschrieben wird, so ist bekannt, daß die anderen Adressen in dieser Zeile ebenfalls geschrieben wurden. Daher werden die Zeilendaten vorzugsweise von rechts nach links gelesen, das heißt, von Adressen mit höheren Nummern zu Adressen mit niedrigeren Nummern über die Zeile. Selbstverständlich können die Zeilendaten erfindungsgemäß von links nach rechts gelesen werden, jedoch wird ein Lesen von rechts nach links in diesem Beispiel beschrieben.
  • Wenn die Daten in einer Zeile des Speichers einmal gelesen sind, so soll die nächste Zeile (der nächste Rahmen) gelesen werden. Daher wird in Block 54 die Zeile erhöht (I = I + 1).
  • Anschließend werden die Blöcke 5254 wiederholt, bis alle C2-Rahmen ausgelesen sind. Da der Adreßraum der Speichervorrichtung 30 als kontinuierlich angesehen wird, kehrt, wenn Daten, welche in der letzten Zeile der Speichervorrichtung 30 gespeichert sind, ausgelesen werden, der Vorgang zu der ersten Zeile zurück, um Daten zu lesen. Das heißt, daß, nachdem die letzte Zeile gelesen ist, der Rahmenparameter rückgesetzt wird (I = 0).
  • Ein Lesen des ersten C2-Rahmens wird zur Beschreibung der Zeitverzögerung für jedes Byte beispielhaft beschrieben. Ein Byte 27 des ersten C2-Rahmens wird aus der Speicheradresse, welche durch (f108,27) bestimmt ist, gelesen; ein Byte 26 des ersten C2-Rahmens wird aus der Speicheradresse, welche durch (f104,26) bestimmt ist, gelesen; ... und ein Byte 0 des ersten C2-Rahmens wird aus der Speicheradresse, welche durch (f0,0) bestimmt ist, gelesen. Da der Differenzparameter um 4 erhöht wurde, wurden die Lesedaten bei Speicherung jedesmal dann, wenn ein Byte der C1-Rahmen-Daten geschrieben wurde, versetzt. Dieser Versatz stellt die Zeitverzögerung zwischen jedem Byte von 4 Zyklen dar. Die unter (f108,27) gespeicherten Daten wurden zuletzt geschriebenen, was bedeutet, daß keine Zeitverzögerung bei einem Auslesen eines Bytes 27 des ersten C1-Rahmens existiert. Die unter (f0,0) gespeicherten Daten sind die zuerst geschriebenen Daten, was bedeutet, daß 27 × 4 = 108 Verzögerungszyklen bei einem Auslesen eines Bytes 0 des ersten C1-Rahmens, wie beschrieben, existieren.
  • Eine Wirkung der vorliegenden Erfindung ist die Senkung der Hardwarekosten einer Entschachtelungsvorrichtung. Gemäß der vorliegenden Erfindung kann ein 4KB SRAM dazu verwendet werden, die Lesegeschwindigkeit an die Schreibgeschwindigkeit anzupassen, wenn die offenbarten Adreßgeneratoren zum Erzeugen der Leseadresse und der Schreibadresse verwendet werden. Das herkömmliche System, welches zuvor beschrieben wurde, verwendet 1512 Verzögerungsregister, das heißt, 44K logische Gatter. Daher senkt die vorliegende Erfindung die Hardwarekosten und die Entwicklungszeit bedeutend.
  • Zusammenfassend betrifft die vorliegende Erfindung eine Dekodiervorrichtung zum Entschachteln von Daten, welche einen Schreibadressgenerator, einen Leseadressgenerator und eine Speichervorrichtung umfaßt. Gemäß einem Verfahren zum Ent schachteln von Daten erzeugt der Schreibadressgenerator eine Schreibadresse gemäß Parametern entsprechend den Verschachtelungsmerkmalen eines Eingangssignals. Die Schreibadressen werden gemäß den Parametern versetzt, um die Eingangsdaten einer Entschachtelungsfunktion zu unterziehen. Der Leseadressgenerator erzeugt eine Leseadresse zum sequentiellen Lesen der gespeicherten Daten, um entschachtelte Ausgangsdaten zu liefern.
  • Während die Erfindung beispielhaft und in Form eines bevorzugten Ausführungsbeispiels beschrieben wurde, ist die Erfindung selbstverständlich nicht darauf beschränkt. Vielmehr ist beabsichtigt, verschiedene Abwandlungen und ähnliche Anordnungen und Verfahren abzudecken, und dem Umfang der beiliegenden Ansprüche sollte die breiteste Auslegung gewährt werden, so daß sämtliche derartige Abwandlungen und ähnliche Ausführungen und Verfahren eingeschlossen sind.
  • Beispielsweise weist das beispielhafte Ausführungsbeispiel eine Speichervorrichtung mit 28 Spalten zum Aufnehmen von 28-Byte breiten Datenrahmen auf. Die Vorrichtung und das Verfahren der Erfindung kann derart angepaßt werden, daß Daten mit beliebiger Länge aufgenommen werden können. Ferner wurde der Differenzparameter D in Schritten von 4 erhöht, um Verzögerungen von vier Taktperioden bei dem Verschachtelungsprozeß zu berücksichtigen. Dieser Parameter kann selbstverständlich um einen beliebigen Wert erhöht werden, welcher nötig ist, um für das jeweilige Verschachtelungssystem geeignet zu sein. Ferner wurde die Verzögerung berücksichtigt, indem ein Differenzparameter D verwendet wird, um einen Versatz während des Schreibvorgangs zu liefern. Alternativ können die Daten sequentiell über die Zeilen der Speichervorrichtung geschrieben werden, und der Differenzparameter D kann statt dessen während des Lesevorgangs verwendet werden, wobei dies innerhalb des Umfangs der Erfindung liegt.

Claims (25)

  1. Dekodiervorrichtung zum Entschachteln von Bytes von gerahmten Eingangsdaten, umfassend: eine Speichervorrichtung, welche die Eingangsdaten speichert und Ausgangsdaten liefert; einen Schreibadressgenerator, welcher eine Schreibadresse A1 zum Schreiben der Eingangsdaten in die Speichervorrichtung erzeugt, wobei die Schreibadresse A1 auf einem Eingangsrahmenparameter I1 beruht; und einen Leseadressgenerator, welcher eine Leseadresse A2 zum Lesen der Ausgangsdaten aus der Speichervorrichtung erzeugt, wobei die Leseadresse A2 auf einem Ausgangsrahmenparameter I2 beruht; wobei die Schreibadresse A1, welche durch den Schreibadressgenerator erzeugt wird, durch A1 = (I1 – D)·28 + K1 ausgedrückt ist, und D einen Anfangszeilendifferenzparameter sowie K1 einen Anfangs-Eingangsbyteparameter darstellt; und wobei die Leseadresse A2, welche durch den Leseadressgenerator erzeugt wird, durch A2 = I2·28 – 1 ausgedrückt ist.
  2. Dekodiervorrichtung nach Anspruch 1, wobei die in dem Speicher gespeicherten Eingangsdaten ein paritätsgeprüftes C1-codiertes Signal mit einem 28-Byte-Rahmen sind.
  3. Dekodiervorrichtung nach Anspruch 2, wobei die Ausgangsdaten, welche durch den Speicher geliefert werden, ein C2-codiertes Signal mit 28-Byte-Rahmen sind.
  4. Dekodiervorrichtung nach Anspruch 3, wobei die Speichervorrichtung ein 4Kbyte SRAM mit in einem Feld angeordneten Adressen ist.
  5. Dekodiervorrichtung nach Anspruch 1, wobei die Schreibadresse A1 ferner auf einem Eingangsbyteparameter K1 und einem Zeilendifferenzparameter D beruht.
  6. Dekodiervorrichtung nach Anspruch 5, wobei eine Anfangsschreibadresse auf einem Anfangs-Eingangsrahmenparameter I1 = 108, einem Anfangs-Eingangsbyteparameter K1 = 0, und einem Anfangszeilendifferenzparameter D = 0 beruht.
  7. Dekodiervorrichtung nach Anspruch 1, wobei eine Anfangsleseadresse auf einem Anfangs-Ausgansrahmenparameter I2 = 109 beruht.
  8. Verfahren zum Entschachteln von Bytes eines gerahmten Eingangssignals, welches ein entschachteltes gerahmtes Ausgangssignal liefert, umfassend: ein Erzeugen einer Schreibadresse A1; ein Speichern des Eingangssignals als Bytes von Schreibdaten, entsprechend der Schreibadresse A1; ein Erzeugen einer Leseadresse A2; und ein Liefern des Ausgangssignals als Bytes von Lesedaten, entsprechend der Leseadresse A2; wobei ein Erzeugen einer Schreibadresse A1 ein Setzen von Anfangswerten eines Eingangsrahmenparameters I1, eine Eingangsbyteparameters K1, und eines Zeilendifferenzparameter D, ein Erzeugen einer Anfangsschreibadresse auf der Grundlage der Anfangswerte des Eingangsrahmenparameters I1, des Eingangsbyteparameters K1 und des Zeilendifferenzparameters D, ein Ändern der Werte des Eingangsrahmenparameter I1, des Eingangsbyteparameters K1 bzw. des Zeilendifferenzparameters D nach Speichern jedes Bytes von Schreibdaten und ein wiederholtes Erzeugen der Schreibadresse A1 auf der Grundlage der geänderten Werte des Eingangsrahmenparameters I1, des Eingangsbyteparameters K1 und des Zeilendifferenzparameters D umfaßt, wobei das Erzeugen der Schreibadresse A1 derart erfolgt, daß A1 = (I1 – D)·28 + K1 ist, ein Ändern der Parameter derart erfolgt, daß K1 = K1 + 1 und D = D + 4 ist, und ein Erzeugen einer nächsten Schreibadresse A1 auf der Grundlage der geänderten Parametern erfolgt, wenn K1 < 28 ist; wobei ein Speichern des Eingangssignals als Bytes von Schreibdaten ein Schreiben von sequentiellen Bytes des Eingangssignals an einer Speicheradresse entsprechend der Schreibadresse A1 umfaßt; wobei ein Erzeugen einer Leseadresse A2 ein Setzen von Anfangswerten eines Ausgangsrahmenparameters I2, ein Erzeugen einer Anfangsleseadresse auf der Grundlage der Anfangswerte des Ausgangsrahmenparameters I2, ein Ändern des Wertes des Ausgangsrahmenparameters I2 nach Liefern jedes Bytes von Lesedaten und ein wiederholtes Erzeugen der Leseadresse A2 auf der Grundlage der geänderten Werte des Ausgangsrahmenparameters I2, sodaß A2 = 32·28 – 1 ist, umfaßt; und wobei ein Liefern des Ausgangssignals als Bytes von Lesedaten ein Lesen sequentieller Bytes von Lesedaten von einer Speicheradresse entsprechend der Leseadresse A2 umfaßt.
  9. Verfahren nach Anspruch 8, wobei das Eingangssignal ein paritätsgeprüftes C1-codiertes Signal mit einem 28-Byte-Rahmen ist.
  10. Verfahren nach Anspruch 9, wobei das Ausgangssignal ein C2-codiertes Signal mit einem 28-Byte-Rahmen ist.
  11. Verfahren nach Anspruch 8, wobei ein Schreiben sequentieller Bytes des Eingangssignals an die Speicheradresse ein Schreiben in einen Feldspeicher umfaßt.
  12. Verfahren nach Anspruch 11, wobei der Feldspeicher ein SRAM ist.
  13. Verfahren nach Anspruch 8, wobei die Anfangswerte des Eingangsrahmenparameters I1, des Zeilendifferenzparameters D und des Eingangsbyteparameters K1 108, 0 bzw. 0 sind.
  14. Verfahren nach einem der Ansprüche 8 bis 13, ferner umfassend ein Ändern der Parameter derart, daß I1 = I1 + 1, D = 0 und K1 = 0 ist, wenn K1 = 28 ist.
  15. Verfahren nach einem der Ansprüche 8 bis 14, wobei der Anfangswert des Ausgangsrahmenparameters I2 = 109 ist.
  16. Verfahren nach Anspruch 8, ferner umfassend ein Ändern des Parameters derart, daß I1 = I2 + 1 ist.
  17. Verfahren nach Anspruch 8, wobei der Ausgangsparameter I2 einer Rahmenkennung eines aktuellen Bytes von Lesedaten entspricht.
  18. Verfahren nach Anspruch 8, wobei ein Anfangswert des ersten Eingangsparameters I1 der Anzahl von Rahmen in dem Eingangssignal entspricht.
  19. Verfahren nach Anspruch 8, wobei ein Anfangswert des zweiten Eingangsparameters K1 dem ersten Byte des Eingangssignals entspricht.
  20. Verfahren nach Anspruch 8, wobei ein Anfangswert des dritten Eingangsparameters D einer Anfangsverschachtelungsverzögerung zwischen Bytes in einem Rahmen des Eingangssignals entspricht.
  21. Verfahren nach Anspruch 8, wobei ein Ändern der Werte von Eingangsparametern derart, daß eine Entsprechung mit einem nächsten empfangenen Byte vorliegt, und ein wiederholtes Erzeugen der Schreibadresse A1 auf der Grundlage der geänderten Werten der Eingangsparameter ein Erzeugen der Schreibadresse A1 derart, daß A1 = (I1 – D)·B + K1 ist, wobei B einer Anzahl von Bytes in einem Rahmen des Eingangssignals entspricht, ein Ändern der Parameter derart, daß K1 = K1 + 1 und D = D + N ist, wobei N einer Anzahl von Taktzyklus-Verschachtelungsverzögerungseinheiten zwischen Bytes des Eingangssignal entspricht, und ein Erzeugen einer nächsten Schreibadresse A1 auf der Grundlage der geänderten Parameter, wenn K1 < B ist, umfassen.
  22. Verfahren nach Anspruch 21, ferner umfassend ein Ändern der Parameter derart, daß der erste Eingangsparameter I1 erhöht, der zweite Eingangsparameter K1 auf einen anfänglichen ersten Eingangsparameterwert rückgesetzt und der dritte Eingangsparameter D auf einen anfänglichen zweiten Eingangsparameterwert rückgesetzt wird, wenn K1 = B ist.
  23. Verfahren nach Anspruch 17, wobei ein Anfangswert des ersten Ausgangsparameters I2 einer Anzahl entspricht, welche um 1 größer ist als die Anzahl von Rahmen in dem Ausgangssignal.
  24. Verfahren nach Anspruch 17, wobei ein Erzeugen der Leseadresse A2 ein Zugreifen auf eine Speicherstelle entsprechend A2 = I2·B – 1 umfaßt, wobei B einer Anzahl von Bytes in einem Rahmen des Ausgangssignals entspricht.
  25. Verfahren nach Anspruch 17, wobei ein Ändern des Wertes des Ausgangsparameters derart, daß eine Entsprechung mit einem nächsten Byte von Lesedaten vorliegt, und ein wiederholtes Erzeugen der Leseadresse A2 auf der Grundlage des geänderten Wertes des Ausgangsparameters ein Erzeugen der Leseadresse A2 derart, daß A2 = I2·B – 1 ist, wobei B einer Anzahl von Bytes in einem Rahmen des Ausgangssignals entspricht, ein Ändern der Parameter derart, daß I2 = K2 + 1 ist, und ein Erzeugen einer nächsten Leseadresse A2 auf der Grundlage des geänderten Parameters I2 umfassen.
DE10012127A 1999-04-08 2000-03-13 Dekodiervorrichtung und Dekodierverfahren zum Entschachteln von Daten Expired - Fee Related DE10012127B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW088105564A TW424227B (en) 1999-04-08 1999-04-08 Signal decoding device and method thereof
TW88-105564 1999-04-08

Publications (2)

Publication Number Publication Date
DE10012127A1 DE10012127A1 (de) 2001-01-11
DE10012127B4 true DE10012127B4 (de) 2004-12-30

Family

ID=21640223

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10012127A Expired - Fee Related DE10012127B4 (de) 1999-04-08 2000-03-13 Dekodiervorrichtung und Dekodierverfahren zum Entschachteln von Daten

Country Status (3)

Country Link
US (1) US6346896B1 (de)
DE (1) DE10012127B4 (de)
TW (1) TW424227B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2380598B (en) * 2000-10-04 2003-09-03 Global Silicon Ltd Deinterleaving data
TW550545B (en) * 2001-08-24 2003-09-01 Via Tech Inc Data access method for memory with non-interleave cells
US7512764B2 (en) * 2001-08-24 2009-03-31 Tian Holdings, Llc Method for allocating a memory of a de-interleaving unit
US7586993B2 (en) * 2001-12-06 2009-09-08 Texas Instruments Incorporated Interleaver memory selectably receiving PN or counter chain read address
US8252017B2 (en) * 2005-10-18 2012-08-28 Cook Medical Technologies Llc Invertible filter for embolic protection
US9407280B1 (en) * 2015-04-27 2016-08-02 Tektronix, Inc. Harmonic time domain interleave to extend arbitrary waveform generator bandwidth and sample rate

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716567A (en) * 1985-02-08 1987-12-29 Hitachi, Ltd. Method of transmitting digital data in which error detection codes are dispersed using alternate delay times
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
US5764649A (en) * 1996-03-29 1998-06-09 Amati Communications Corporation Efficient address generation for convolutional interleaving using a minimal amount of memory
US5796755A (en) * 1995-10-10 1998-08-18 Eastman Kodak Company Error minimization in interleaved error correcting codes

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4394642A (en) * 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
JPS63184987A (ja) * 1987-01-28 1988-07-30 Nec Corp 半導体記憶装置
FR2639781B1 (fr) * 1988-11-25 1991-01-04 Alcatel Thomson Faisceaux Procede d'entrelacement pour dispositif de transmission numerique
US5386249A (en) * 1992-01-22 1995-01-31 Samsung Electronics Co., Ltd. Video motion detector with full-band response except for diagonal spatial frequencies
KR0140674B1 (ko) * 1993-04-12 1998-06-15 모리시다 요이치 영상신호처리장치 및 처리방법
US5602780A (en) * 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
DK2302809T3 (da) * 1995-02-01 2013-07-22 Sony Corp Flerkanalstransmission med interleaving ved adressering på stedet af ram-hukommelse
US5940863A (en) * 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716567A (en) * 1985-02-08 1987-12-29 Hitachi, Ltd. Method of transmitting digital data in which error detection codes are dispersed using alternate delay times
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
US5796755A (en) * 1995-10-10 1998-08-18 Eastman Kodak Company Error minimization in interleaved error correcting codes
US5764649A (en) * 1996-03-29 1998-06-09 Amati Communications Corporation Efficient address generation for convolutional interleaving using a minimal amount of memory

Also Published As

Publication number Publication date
TW424227B (en) 2001-03-01
DE10012127A1 (de) 2001-01-11
US6346896B1 (en) 2002-02-12

Similar Documents

Publication Publication Date Title
DE3525898C2 (de)
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE2916710C2 (de)
DE2817946C2 (de) Datensichtgerät
DE2830925C2 (de)
DE3523809A1 (de) Verfahren zur zeitkompression von informationen in digitaler form
DE2814084A1 (de) Sichtanzeigeeinrichtung
DE2256135C3 (de) Verfahren zum Prüfen von monolithisch integrierten Halbleiterschaltungen
DE2744109C2 (de)
DE2521436B2 (de) Informationswiedergewinnungsanordnung
DE2430464A1 (de) Einrichtung zur fehlergesicherten datenuebertragung
DE2821305A1 (de) Verfahren und anlage zum uebertragen und empfang von kodierten datenwoertern
DE2357168A1 (de) Speichermodul fuer eine datenverarbeitungseinheit
DE10012127B4 (de) Dekodiervorrichtung und Dekodierverfahren zum Entschachteln von Daten
DE3729730C2 (de) Vorrichtung zum Verarbeiten digitaler Daten
DE2744321A1 (de) Bildschirmgeraet
DE4402870A1 (de) Bilddatenverarbeitungsvorrichtung für ein digitales Videobandgerät und Bilddatenverarbeitungsverfahren dafür
DE2826454C3 (de) Faksimilesignal-Codiersystem
DE102013016694B4 (de) Codieren und Decodieren redundanter Bits zum Vornehmen von Anpassungen für Speicherzellen mit Haftfehlern
DE60313333T2 (de) System und verfahren zur rahmensynchronisierung
DE3544819A1 (de) Verfahren und vorrichtung zur aufzeichnung und wiedergabe codierter digitaler signale
DE60004958T2 (de) Fehlerkorrektur mit einem cross interleave Reed-Solomon Code, insbesondere für CD-ROM
DE3443272C2 (de) Verfahren zum Ausbreiten eines Fehlers in Daten und Fehlererkennungssystem
DE3009317A1 (de) Hybrid-assoziativspeicher
DE2514211A1 (de) Pruefschaltung fuer einen l-aus-n- entschluesseler

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: TIAN HOLDINGS, LLC, WILMINGTON, DEL., US

8328 Change in the person/name/address of the agent

Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCHAFT

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20131001