DE4437790A1 - Verfahren und Vorrichtung zur Verwendung von endlichen Automaten zur Durchführung einer Kanalmodulation und einer Fehlerkorrektur und einer Entropie-Kodierung - Google Patents
Verfahren und Vorrichtung zur Verwendung von endlichen Automaten zur Durchführung einer Kanalmodulation und einer Fehlerkorrektur und einer Entropie-KodierungInfo
- Publication number
- DE4437790A1 DE4437790A1 DE4437790A DE4437790A DE4437790A1 DE 4437790 A1 DE4437790 A1 DE 4437790A1 DE 4437790 A DE4437790 A DE 4437790A DE 4437790 A DE4437790 A DE 4437790A DE 4437790 A1 DE4437790 A1 DE 4437790A1
- Authority
- DE
- Germany
- Prior art keywords
- transition
- output
- input
- bits
- bit stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/31—Coding, 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 combining coding for error detection or correction and efficient use of the spectrum
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
Description
Die vorliegende Erfindung betrifft das Gebiet der Datenkompression; speziell
betrifft die vorliegende Erfindung das Gebiet binärer Entropiekodierer und deren
Verwendung in Verbindung mit der Kanalmodulation und einer vorwärts gerich
teten Fehlerkorrektur.
Die Datenkompression stellt ein extrem nützliches Werkzeug für die Speicherung
und Übertragung großer Mengen an Daten dar. Beispielsweise wird die Zeit, die
zum Übertragen eines Bildes erforderlich ist, wie die Faksimileübertragung einer
Vorlage, drastisch reduziert, wenn die Kompression verwendet wird, um die
Zahl der Bits zu vermindern, die zum Übertragen des Bildes erforderlich ist. Es
existieren beim Stand der Technik viele unterschiedliche Datenkompressions
techniken.
Jedes Kompressionssystem ist einem entsprechenden Dekompressionssystem
zugeordnet. Die Ausführung eines Dekompressionssystems kann normalerweise
von dem Kompressionssystem gestört werden. Der von dem Kompressionssystem
verwendete Algorithmus, um eine Kodierung zu bewirken, muß entweder als
Teil der komprimierten Vorlage gesendet werden oder muß durch das Dekom
pressionssystem ableitbar sein.
Spezieller gesagt, kann das Entropie-Kodierverfahren, eine Folge von "Ein
gangs"-Symbolen < t₁, t₂, t₃, . . ., tm <, die typische Datenproben oder quanti
sierte Fehlerwerte darstellen, deterministisch durch eine Folge von "Ausgangs"-
Kodeworten < s₁, s₂, s₃ . . . , sn < als eine Funktion der Zeit ersetzt werden:
f() = () = <s₁, s₂, . . . sn<
Eine solche deterministische inverse (Rekonstruktions-)Funktion existiert:
f-1 () = (), für alle {t}, {s} = f({t})
Dieser Typ eines Entropie-Kodes f kann aus einem Satz von momentanen Pro
duktionsregeln gebildet werden. Das Ergebnis der Anwendung jeder dieser
Regeln besteht aus der Generierung einer geordneten Sequenz von null oder
mehreren Ausgangsbelegungsbits (tokens). Jedoch beträgt die Zahl der Aus
gangsbelegungsbits gewöhnlich Eins oder mehr.
Bei einigen Kompressionssystemen wird eine Eingangsdatei oder Satz von Daten
in eine Sequenz von Entscheidungen übersetzt, und zwar unter der Leitung eines
Entscheidungsmodells. Jede Entscheidung hat eine zugeordnete Wahrscheinlich
keit und, basierend auf dieser Wahrscheinlichkeit, wird ein Ausgangskode
erzeugt und wird zu der komprimierten Datei hinzugefügt. Um diese Kodiersy
steme auszuführen, umfassen die Kompressionssysteme drei Teile: ein Entschei
dungsmodell, ein Wahrscheinlichkeitsschätzverfahren und einen Bit-Stromgene
rator. Das Entscheidungsmodell empfängt die Eingangsdaten und übersetzt die
Daten in einen Satz von Entscheidungen, die das Kompressionssystem dazu
verwendet, um die Daten zu kodieren. Das Wahrscheinlichkeitsschätzverfahren
stellt die Prozedur dar, um den Schätzwert für die Wahrscheinlichkeit jeder
Entscheidung zu entwickeln. Der Bitstromgenerator führt die endgültige Bit
stromkodierung durch, um einen Ausgangskode zu generieren, der dann den
komprimierten Datensatz oder die komprimierte Datei darstellt. Eine Kompres
sion kann effektiv entweder oder sowohl im Entscheidungsmodell oder bzw. als
auch in dem Wahrscheinlichkeitsschätzverfahren auftreten.
Eine weit verwendete Kompressionstechnik ist die arithmetische Kodierung. Bei
der arithmetischen Kodierung wird eine Kette von Daten (d. h. eine "Nachricht")
in eine Kodierkette aufgelistet, und zwar derart, daß die Originalnachricht aus
der Kodierkette wiedergewonnen werden kann, wobei die Kodier- und Dekodier
algorithmen arithmetische Operationen an der Kodierkette durchführen. Eine
Erläuterung hinsichtlich einer arithmetischen Kodierung kann ersehen werden aus
Glenn G. Langdon, Jr., "An Introduction to Arithmetic Coding", IBM Journal
of Research and Development, Vol. 28, Nr. 2 (März 1984).
Bei der arithmetischen Kodierung wird ein Kode, der eine Nachricht wiedergibt,
durch ein Intervall von Zahlen zwischen 0 und 1 wiedergegeben. Wenn die Zahl
der Symbole in der Nachricht zunimmt, wird das Intervall, das diese wiedergibt,
kleiner und die Zahl der Bits, die erforderlich ist, um dieses Intervall zu spezifi
zieren, nimmt zu. Zu Beginn liegt das Intervall für die Nachricht zwischen Null
und Eins [0, 1). Wenn jedes Symbol der Nachricht verarbeitet wird, verengt sich
das Intervall gemäß der Symbolwahrscheinlichkeit.
Beispielsweise werden gemäß Fig. 1a den Symbolen (in diesem Fall Text) z, y,
x, w, v, u die Wahrscheinlichkeiten 0,2, 0,3, 0,1, 0,2, 0,1, 0,1 zugeordnet. Die
Wahrscheinlichkeiten werden dann auf den Bereich von [0, 1,0) abgebildet,
woraus die Bereiche resultieren, die in Fig. 1a identifiziert sind. Gemäß Fig. 1a
wird das Symbol z dem Bereich [0, 0,2) zugeordnet, was der Wahrscheinlichkeit
von 0,2 entspricht und das Symbol u wird dem Bereich von [0,9, 1,0) zugeord
net, was das hohe Ende des Wahrscheinlichkeitsbereiches der Symbole wider
spiegelt und die Wahrscheinlichkeit für u von 0,1.
Damit eine Kompression möglich ist, wird den Symbolen, die häufiger auftreten,
ein größerer Wahrscheinlichkeitswert zugeordnet. Wenn einmal die Wahrschein
lichkeitsbereiche zugeordnet sind, können die Symbole für eine Kompression
kodiert werden. Der Anfangsbereich oder das Intervall wird auf [0, 1) gesetzt.
Nach dem Auftreten des ersten Symbols der zu komprimierenden Nachricht wird
der Bereich proportional zu dieser Symbolwahrscheinlichkeit enger gefaßt.
Gemäß Fig. 1a ist der Bereich [0, 1) zuerst veranschaulicht. Nach dem Auftreten
des Symbols y wird der Bereich auf ein neues Intervall der Größe vermindert,
proportional zur Wahrscheinlichkeit von y. Mit anderen Worten, anstatt daß der
Bereich oder das Intervall auf seine Anfangswerte gesetzt wird, wird der Bereich
gemäß der Wahrscheinlichkeit des eben aufgetretenen Symbols gesetzt. Da die
Wahrscheinlichkeit für y gleich 0,3 ist und einen Bereich von [0,2, 0,5) hat,
liegt der aufgewertete oder erneuerte Bereich, von dem aus das Kodieren statt
findet, bei [0,2, 0,5) in solcher Weise, daß die Wahrscheinlichkeit des Auf
tretens des nächsten Symbols den Einfluß der Wahrscheinlichkeiten der Symbole
enthält, die vor diesem (d. h. y) kommen. Somit umfassen alle die Wahrschein
lichkeiten für die Symbole einen Gesamtbereich von 0,2 bis 0,5 anstelle von 0
bis 1 bis zu dem Auftreten des Symbols y. In ähnlicher Weise wird nach dem
Auftreten des nächsten Symbols z, welches die Wahrscheinlichkeit von 0,2 und
den Bereich [0, 0,2) hat, das Intervall proportional zur z-Wahrscheinlichkeit auf
[0,2, 0,26) vermindert in solcher Weise, daß der Bereich der Wahrscheinlichkei
ten für das nächste Symbol von dem Intervall 0,2 bis 0,26 genommen wird,
wobei der Einfluß von sowohl den früheren y- und z-Symbolen berücksichtigt
ist.
Da die Größe des Intervalls, das beim Kodierungsprozeß verwendet wird, beim
Dekodieren kennzeichnend für den Wahrscheinlichkeitsbereich eines Symbols in
der Gruppe der Symbole ist, können die Symbole einfach extrahiert werden unter
Verwendung der Bereiche für jedes Symbol, die beim Kodierungsvorgang
verwendet worden sind. Wenn beispielsweise das letzte oder endgültige Intervall
[0,23, 0,236) betragen hat, kann man festlegen, daß das erste Symbol y ist, da
das letzte oder endgültige Intervall vollständig innerhalb des Bereiches von y
[0,2, 0,5) liegt. Unter Verwendung des gleichen Prozesses beim Kodieren wird,
nach Erkennen von y, der Anfangsintervall [0, 1) aufgewertet auf [0,2, 0,5) und
der aufgewertete Bereich von [0,2, 0,26) umschließt das End-Intervall [0,23,
0,236). Dieser Prozeß wird fortgesetzt, bis alle Symbole dekodiert sind.
Ein binärer arithmetischer Kodierer stellt einen Typ eines arithmetischen Kodier
systems dar. Bei einem binären arithmetischen Kodiersystem kann die Auswahl
eines Symbols aus einem Satz von Symbolen als eine Folge von binären Ent
scheidungen kodiert werden. Ein Beispiel eines binären arithmetischen Kodierers
ist der "Q-Kodierer", der von International Business Machines, Armonk, New
York, entwickelt wurde. Der Q-Kodierer verwendet eine festgelegte Präzisions-
Arithmetik und einen Renormalisierungsprozeß, wobei die Kodierkette und das
Intervall in der erforderlichen Weise renormalisiert werden, um die Werte
innerhalb der Grenzen zu halten, die durch die festgelegte Präzisionswiedergabe
zugelassen werden. Um darüber hinaus das Erfordernis der Durchführung einer
Multiplikationsoperation zu vermeiden, um das Intervall zu skalieren, um das
Kodieren eines Symbols wiederzugeben, wird eine Annäherung anstelle der
Multiplikation verwendet. Beim Stand der Technik ist ein komprimierter Bit
strom häufig dadurch gekennzeichnet, daß er über einen verlustlosen, in der
Bandbreite eingeschränkten oder begrenzten Kanal gesendet wird. Der kom
primierte Bitstrom wird dann empfangen und dekodiert. Jedoch sind die Kanäle
in der Realität gewöhnlich nicht verlustfrei. Es wird daher eine gewisse Form
einer Fehlerkorrekturkodierung und eine gewisse Art einer Kanalmodulation
durchgeführt. Beim Stand der Technik sind dies getrennte Operationen.
Ein weiterer allgemein verwendeter Satz von Kodes wird als Zwangskanalkode
bezeichnet. Ein Typ von Kanalkode sind die lauflängenbegrenzten (RLL; run
length limited) Kodes. Die RLL-Kodes werden häufig in der Disk-Treiber-
Industrie verwendet, speziell dort, wo Rohdaten auf eine magnetische Spur
geschrieben werden. Auch werden Kodes, die sehr ähnliche Eigenschaften wie
die RLL-Kodes haben, ebenso für digitale Magnetbänder, CD-ROMs, optische
Disks und selbst Faseroptikkabel verwendet. In diesen Fällen wird eine Gruppe
von willkürlichen binären Ziffern in eine lange Folge von binären Ziffern umge
setzt mit einigen Einschränkungen hinsichtlich des Musters von zulässigen Eins-
und Null-Bits. Für die grundlegenden RLL-Kodes besteht die Einschränkung
darin, daß ein "1"-Bit immer gefolgt wird von wenigstens d "0" -Bits und höch
stens k "0"-Bits. Die einem solchen Format folgenden Kodes werden allgemein
als RLL(d,k)-Kodes bezeichnet. Beispielsweise wird ein Kode, der eine 1 hat,
auf die wenigstens 1 "0"-Bit und höchstens 7 "0"-Bits folgen, als ein RLL(1,7)-
Kode bezeichnet. Ein derartiger Kode ist in dem US-Patent 4,413,251 beschrie
ben, welches den Titel trägt "Verfahren und Vorrichtung zum Erzeugen eines
störungsfreien gleitenden Blockkodes für einen (1,7)-Kanal mit einer Rate von
2/3′′, Adler et al. Bei Adler wird Bezug genommen auf (1,8)- und (2,7)-Kodes.
Ein häufig verwendeter RLL-Kode wird als modifizierte Frequenzmodulation
(MFM) bezeichnet. Die MFM ist ein RLL(1,3)-Kode und erzeugt daher eine
Folge, bei der auf jede "1" wenigstens eine Null folgt und höchstens drei Nullen
folgen. Die Verwendung dieser Zwangs-Kanalkodes ist universell und erlaubt
tatsächlich, mehr Informationen auf einer Scheibe bzw. Disk zu speichern.
Die bei der Kanalmodulation verwendeten Kanalkodes erzeugen Ausgangsgrößen
mit einer festen Rate. Mit anderen Worten empfängt ein Kodierer, der einen
solchen Kode verwendet, eine feste Zahl von willkürlichen Eingangsbits und
erzeugt eine feststehende große Zahl von Zwangsbits. Da der Stand der Technik
auf die Ausgabe von lediglich Festlängen-Ausgangsbit-Strömen beschränkt ist,
verwenden diese Kanalkodes nicht alle möglichen Zwangssequenzen. Es ist daher
vorteilhaft, Kodes zu schaffen, die mehr Gebrauch machen von Ausgangskode
strömen und die gleichzeitig technologisch ausführbar sind.
Die Funktionen der Datenkompression und der Kanalmodulation sind beide bei
der Ausführung einiger Anwendungen erforderlich. Jedoch werden diese Funk
tionen mit getrennten Einheiten beim Stand der Technik realisiert. Dies erfordert
eine zusätzliche Hardware und kann zusätzliche Ressourcen erforderlich machen.
Es ist daher vorteilhaft, die Funktionen der Datenkompression und der Kanalko
dierung in der gleichen funktionellen Einheit gleichzeitig zu implementieren, um
die erforderliche Hardware zu reduzieren.
Zusätzlich zum Komprimieren der Daten werden die Daten häufig kodiert, um
eine Fehlerkorrektur nach der Übertragung über einen geräuschbehafteten Kanal
zu erlauben. Störsignale treten in praktisch jedem digitalen Kanal auf, inklusive
Satellitenübertragungsstrecken und Diskantrieben. Bei der Fehlerkorrekturkodie
rung wird ein zuvor willkürlicher Bitstrom in einer Weise expandiert, die Zwän
ge berücksichtigt, welche es möglich machen, Fehler in dem Bitstrom zu detek
tieren und zu korrigieren. Dies ist ähnlich der Kodierung, die für lauflängenbe
grenzte Kanäle durchgeführt wird, obwohl die Einschränkung oder der Zwang
unterschiedlich ist. Die Funktionen einer Fehlerkorrektur und einer Datenkom
pression werden üblicherweise auch durch getrennte funktionale Einheiten
realisiert. Es ist somit vorteilhaft, eine Datenkompression und Fehlerkorrektur
zur Verfügung zu haben, die gleichzeitig durch die gleiche funktionale Einheit
durchgeführt werden, und zwar als ein Mittel, um die erforderliche Hardware zu
reduzieren.
Wie noch gezeigt werden wird, schafft die vorliegende Erfindung einen binären
Entropiekodierer, der ein Entscheidungsmodell verwendet, welches Entschei
dungen erzeugt, die immer zweiwertig (d. h. ja oder nein) sind. Die vorliegende
Erfindung verwendet auch Ausgangs-Belegungsbits (tokens), die Bitketten mit
nicht festgelegter Länge darstellen. Speziell werden nach der vorliegenden
Erfindung die meisten Entscheidungen mit weniger als einem Bit kodiert.
Die vorliegende Erfindung schafft auch einen endlichen Automaten, um eine
Kanalkodierung durchzuführen. Ein weiterer endlicher Automat der vorliegenden
Erfindung führt eine Fehlerkorrekturkodierung durch. Es ist auch möglich, eine
Kanalkodierung und Kompression mit einem endlichen Automaten durchzufüh
ren.
Es ist Aufgabe der vorliegenden Erfindung, einen binären Kodierer zu schaffen,
der effizient ist und sich einfach realisieren läßt.
Die vorliegende Erfindung schafft ein einfaches kostengünstiges Kodier- und
Dekodiergerät und -verfahren für das Komprimieren und Expandieren von
Daten, die durch Binärentscheidungen wiedergegeben sind. Die vorliegende
Erfindung umfaßt einen Automaten mit einer Vielzahl von Zuständen. Jeder
Zustand besitzt wenigstens ein Übergangspaar. Jedes Element des Übergangspaa
res bewirkt, daß eine Null oder mehr Bits, die repräsentativ für den Kode sind,
ausgegeben werden, und bewirkt die Identifizierung des nächsten Zustandes, zu
dem hin fortzufahren ist. Das Übergangspaar reflektiert eine Ausgangsgröße für
eine Ja- und Nein-Antwort, die der Wahrscheinlichkeit der zu komprimierenden
Daten zugeordnet ist, und ob die Daten innerhalb dieser Wahrscheinlichkeit
fallen.
Die vorliegende Erfindung umfaßt auch ein Gerät und Verfahren zum Suchen des
Übergangspaares in dem laufenden Zustand des endlichen Automaten gemäß dem
Wahrscheinlichkeitswert. Gemäß der Wahrscheinlichkeitsschätzung wird gemäß
der vorliegenden Erfindung eine Null oder werden mehr Bits und ein Übergang
zum nächsten Zustand ausgegeben.
Die vorliegende Erfindung umfaßt ein Gerät und ein Verfahren zum Durchführen
einer Kanalkodierung, Fehlerkorrektur oder beider Vorgänge unter Verwendung
eines endlichen Automaten. Der endliche Automat der vorliegenden Erfindung
kann so konstruiert sein, um eine Kanalmodulation und eine Datenkompression
gleichzeitig durchzuführen, ferner eine Fehlerkorrektur und Datenkompression
gleichzeitig durchzuführen, oder eine Fehlerkorrektur, Kanalmodulation und
Datenkompression gleichzeitig durchzuführen.
Die vorliegende Erfindung kann besser aus der folgenden detaillierten Beschrei
bung unter Hinweis auf die beigefügten Zeichnungen von bevorzugten Aus
führungsbeispielen der Erfindung verstanden werden, die jedoch nicht so zu
betrachten sind, daß sie die vorliegende Erfindung auf die spezifischen Aus
führungsbeispiele einschränken, sondern lediglich der Erläuterung und dem
Verständnis dienen.
Fig. 1a und 1b veranschaulichen ein herkömmliches Verfahren der arith
metischen Kodierung.
Fig. 2 ist ein beispielhaftes Blockschaltbild eines Entropiekodierers und
eines Dekodierers nach einer bevorzugten Ausführungsform der
vorliegenden Erfindung.
Fig. 3 ist ein Blockschaltbild, welches eine andere Ausführungsform der
vorliegenden Erfindung wiedergibt.
Fig. 4 veranschaulicht einen Kodierer zur Durchführung einer Kanalko
dierung nach der vorliegenden Erfindung.
Fig. 5 veranschaulicht eine Ausführungsform eines Kodierers zur Durch
führung einer Kanalkodierung nach der vorliegenden Erfindung.
Fig. 6 ist ein Blockschaltbild einer Ausführungsform eines Aufzeichnungs-
Systems der vorliegenden Erfindung.
Fig. 7 veranschaulicht eine Ausführungsform eines Kodierers zur Durch
führung einer Kanalkodierung gleichzeitig mit einer Datenkom
pression.
Fig. 8 ist ein Beispiel eines endlichen Zustands-Übergangsdiagramms.
Fig. 9 ist ein Flußdiagramm, welches den Tabellengenerierungsprozeß der
vorliegenden Erfindung veranschaulicht.
Fig. 10 ist ein Flußdiagramm, welches den Prozeß der Generierung eines
anfänglichen endlichen Zustands-Diagramms veranschaulicht.
Fig. 11 ist ein Flußdiagramm, welches eine Ausführungsform des Prozes
ses herausgreift, um das zu Beginn erzeugte endliche Zustands-
Diagramm nach der vorliegenden Erfindung zu verbessern.
Fig. 12 veranschaulicht ein Beispiel eines endlichen Zustands-Übergangs
diagramms für lauflängenbegrenzte Kanäle.
Fig. 13A veranschaulicht ein Endlichzustand-Diagramm, welches gemäß dem
Generierungsverfahren nach der vorliegenden Erfindung erzeugt
wurde.
Fig. 13B gibt ein Endlichzustands-Diagramm wieder, welches in Fig. 13A
gezeigt ist, wobei Übergänge für eine andere Wahrscheinlichkeit
hinzugefügt sind.
Fig. 14 veranschaulicht ein Endlichzustands-Übergangsdiagramm.
Fig. 15 veranschaulicht ein Endlichzustands-Übergangsdiagramm, welches
gemäß dem endlichen Automaten-Generierungsverfahren der vor
liegenden Erfindung erzeugt wurde.
Fig. 16A-16D sind Beispiele der Übergangsmatrizen, die unter Verwen
dung des Prozesses nach der vorliegenden Erfindung erzeugt
wurden.
Es wird ein Verfahren und ein Gerät zum Kodieren binärer Entscheidungen
beschrieben. Auch wird ein Verfahren und ein Gerät zur Durchführung einer
Kanalmodulation und für die Fehlerkorrektur beschrieben. In der folgenden
Beschreibung sind zahlreiche spezifische Details dargestellt, wie beispielsweise
spezifische Zahlen von Bits, Belegungsbits usw., um dadurch ein sorgfältiges
Verstehen der bevorzugten Ausführungsform der vorliegenden Erfindung zu
erreichen. Für den Fachmann ist offensichtlich, daß die vorliegende Erfindung
ohne diese spezifischen Details praktisch realisiert werden kann. Auch sind gut
bekannte Schaltungen in Blockschaltbildform anstatt in Details gezeigt, um eine
unnötige Verschleierung der vorliegenden Erfindung zu vermeiden.
Fig. 2 ist ein Blockschaltbild, welches ein System für die Kompression und
Dekompression von Daten veranschaulicht, das durch die vorliegende Erfindung
verwendet wird. Daten 100 werden in ein binäres Entscheidungsmodell (BDM)
110 eingegeben. Das BDM 110 übersetzt den Eingangs-Datenstrom (z. B. eine
Eingangsdatei) in einen Satz oder Folge von binären Entscheidungen. Es sei
darauf hingewiesen, daß das Datenmodell, welches durch die vorliegende Erfin
dung verwendet wird, alle Ereignisse als binäre Entscheidungen ausdrückt. Das
BDM 110 erzeugt auch einen Kontext für jede binäre Entscheidung.
Sowohl die Folge der binären Entscheidungen als auch deren zugeordneter
Kontext werden von dem BDM 110 an den Wahrscheinlichkeitsschätzmodul
(PEM) 115 ausgegeben. Das PEM 115 verwendet den Kontext, um eine Wahr
scheinlichkeitsschätzung für jede binäre Entscheidung zu generieren. Die aktuelle
Wahrscheinlichkeitsschätzung wird als eine Klasse wiedergegeben, die als P-
Klasse bezeichnet wird. Jede P-Klasse wird für einen Bereich von Wahrschein
lichkeiten verwendet. Bei der vorliegenden Erfindung wird jede P-Klasse für
einen Bereich von Wahrscheinlichkeiten verwendet, anstelle von der Verwendung
mehrerer Bits, um eine exakte Zahl-Wahrscheinlichkeit zu spezifizieren. Auf
diese Weise werden lediglich ein Paar Bits dazu benötigt, um zu spezifizieren,
in welchem Klassenbereich sich die Wahrscheinlichkeit befindet. Bei einer
Ausführungsform wird jede binäre Entscheidung als Phrase dargestellt, so daß
sie leicht wenigstens 50% der Zeit beträgt. Dies stellt sicher, daß alle Wahr
scheinlichkeitsklassen, die von dem Kodierer der vorliegenden Erfindung ver
wendet werden, Wahrscheinlichkeiten sind, die größer sind als oder gleich sind
50%. Das heißt, die Wahrscheinlichkeitsklassen gelten für Wahrscheinlichkeiten
größer als 50%. Das PEM 115 bestimmt auch, ob die Binärentscheidung (Ergeb
nis) sich in dem wahrscheinlicheren Zustand befindet oder nicht. Sowohl die
Wahrscheinlichkeitsschätzung (P-Klasse) als auch die Bestimmung, ob die
Binärentscheidung mit Wahrscheinlichkeit oder nicht durch das PEM 115 erzeugt
worden ist, werden an den Kodierer 120 ausgegeben. Nach dem Zuführen der P-
Klasse in den Kodierer 120 kann das PEM 115 seine Wahrscheinlichkeitsschät
zung für den gegebenen Kontext auf den neuesten Stand bringen.
Der Kodierer 120 ist so verbunden, um Eingänge der Wahrscheinlichkeitsklasse
zu empfangen, welche die Wahrscheinlichkeit des Auftretens der Eingangs-
Binärentscheidungen betrifft und ein Bit, welches anzeigt, ob das wahrscheinliche
Ereignis aufgetreten ist oder nicht. Als Antwort erzeugt der Kodierer 120 einen
komprimierten Datenstrom, der die Ursprungsdaten 100 wiedergibt. Der Kodie
rer 120 gibt null oder mehr Bits aus, und zwar mit jeder Eingangsgröße. Diese
komprimierten Daten können über ein Netzwerk oder ein anderes Datenver
bindungsmittel (z. B. Kommunikationsleitung) gesendet werden oder können
einfach in einem Speicher gespeichert werden. Beispielsweise können die kom
primierten Daten 125 dazu verwendet werden, Bilder zwischen Faksimilegeräten
zu übertragen.
Der umgekehrte Prozeß wird bei dem Dekomprimieren der Daten ausgeführt,
und zwar derart, daß die ursprünglichen Eingangsdaten 100 rekonstruiert werden
können (bis zu einem gewissen Ausmaß). Es sei erwähnt, daß das Ergebnis von
dem PEM 135 exakt das gleiche ist wie das Ergebnis, welches an das PEM 115
übergeben wurde. Die Originaldaten 100 können exakt rekonstruiert werden oder
annähernd rekonstruiert werden, was von dem BDM 110 und 140 abhängt. Der
Dekodierer (Codec) 130 ist so angeschlossen oder angekoppelt, um die kom
primierte Ausgangsgröße 125 zu empfangen. Der BDM 140 erzeugt einen
Kontext für den PEM 135. Der PEM 135 ist so angekoppelt, um den Kontext
von BDM 140 zu empfangen. Basierend auf dem Kontext erzeugt der PEM 135
eine Wahrscheinlichkeitsklasse für den Kodierer 130. Der Kodierer 130 ist so
angekoppelt, um die Wahrscheinlichkeitsklasse von dem PEM 135 zu empfan
gen. Als Antwort auf die Wahrscheinlichkeitsklasse und die komprimierten
Daten 125 gibt der Kodierer 130 ein Bit aus, welches angibt, ob die Binärent
scheidung sich in ihrem Wahrscheinlichkeitszustand befindet. Mit anderen
Worten gibt der Kodierer 130 eine Bitanzeige zurück für das Auftreten des
wahrscheinlichen Ereignisses. Das PEM 135 ist so angekoppelt, um das Bit von
dem Kodierer 130 zu empfangen und verwendet das Bit dazu, um die Wahr
scheinlichkeitsschätzungen basierend auf dem empfangenen Bit auf den neuesten
Stand zu bringen. Das PEM 135 gibt auch das Ergebnis an BDM 140 zurück.
Das BDM 140 ist so angekoppelt, um das zurückgeleitete Bit zu empfangen und
verwendet das zurückgeleitete Bit dazu, um die Originaldaten 100 zu generieren
und um den Kontext für die nächste Binärentscheidung auf den neuesten Stand
zu bringen.
In Fig. 2 schaffen BDM und PEM für sowohl den Kodierer 120 als auch den
Dekodierer 130 ein Gerät und ein Verfahren zum Verstehen der Daten und zum
Entwickeln von nützlichen Wahrscheinlichkeitsschätzungen. Es sei darauf hinge
wiesen, daß viele Annäherungen existieren, um eine Wahrscheinlichkeitsschät
zung zu erzeugen, und daß die vorliegende Erfindung nicht auf die Verwendung
irgendeines bestimmten Wahrscheinlichkeitsschätzungsmechanismus einge
schränkt ist. Beispielsweise kann bei der Bildkompression die Wahrscheinlichkeit
gemäß einem 5-pel-Voraussageverfahren bzw. 5-Pixel-Voraussageverfahren
bestimmt werden, bei dem fünf früher verarbeitete Bildpunktwerte ("X") dazu
verwendet werden, um einen anderen Bildpunktwert A zu schätzen, wie dies im
folgenden dargestellt ist:
XX
XXXA
Dies kann dadurch erreicht werden, indem man 32 Wahrscheinlichkeitsschät
zungen (d. h. 2⁵, wobei 5 die Zahl der früheren Bildpunkte ist) beibehält und
indem man die geeignete Schätzung auswählt, basierend auf dem aktuellen
"Kontext" (d. h. den fünf früher verarbeiteten Bildpunktwerten). Die einzelnen
Wahrscheinlichkeitsschätzungen können immer dann auf den neuesten Stand
gebracht werden, wenn deren individueller Kontext angetroffen wird. Bei einer
Ausführungsform werden die Schätzungen bei jeder Entscheidung auf den
neuesten Stand gebracht. Der Bitstromgenerator kann mit dem Wahrscheinlich
keitsschätzgerät in eine einzige Nachschlagtabelle kombiniert werden. Die
einzige Forderung der vorliegenden Erfindung besteht darin, daß die Eingangs
größe in den Bitgenerator eine Binärentscheidung und eine Wahrscheinlichkeit
ist. Mit anderen Worten besteht die Eingangsgröße in dem Kodierer lediglich aus
Entscheidungspaaren (z. B. Ja/Nein-Entscheidungen) oder irgendeiner anderen
geeigneten Zwei-Kode-Anordnung.
Bei der Ausführung dieser spezifischen Einschränkung, bei der alle möglichen
Entscheidungen in Paaren auftreten, haben beide Entscheidungen ihnen zugeord
nete Wahrscheinlichkeiten. Beispielsweise im Falle von Ja/Nein-Entscheidungen
hat "Ja" eine Wahrscheinlichkeit P, während ein "Nein" eine Wahrscheinlichkeit
(1-P) hat. Diese Wahrscheinlichkeiten werden gewöhnlich gespeichert und in
einer Tabelle zugegriffen. In der Praxis kann die Größe der Schätztabelle auf die
Hälfte zugeschnitten werden, indem man sich lediglich an den wahrscheinliche
ren Zustand jedes Kontextes erinnert. Mit anderen Worten kann das Paar (P, X),
wobei X ein "Ja" oder "Nein" ist und P eine Wahrscheinlichkeit zwischen 0 und
1 ist, durch ein Paar (P′, W) ersetzt werden, wobei W "wahrscheinlich" oder
"unwahrscheinlich" ist und P′ zwischen 0,5 und 1 liegt. Dies ist die Annähe
rung, die bei der momentant bevorzugten Ausführungsform des Kodierers nach
der vorliegenden Erfindung verwendet wird, wobei die Wahrscheinlichkeits
schätzungen, die von PEM 115 und von PEM 135 durch den Kodierer 120 und
den Dekodierer 130 empfangen werden, jeweils die Wahrscheinlichkeitsschätzun
gen für den am wahrscheinlichsten Zustand wiedergeben (d. h. Wahrscheinlich
keiten größer als 50%). Es sei darauf hingewiesen, daß zum Zwecke der folgen
den Erläuterung die Ausdrücke wahrscheinlich und unwahrscheinlich austausch
bar mit "Ja" (Y)- und "Nein"(N)-Bestimmungen verwendet werden und "MPS"
und "LPS" für das am wahrscheinlichste Symbol und das am wenigsten wahr
scheinliche Symbol verwendet werden.
Das binäre Entropiekodiersystem der vorliegenden Erfindung umfaßt ein Über
gangsgerät mit einer Vielzahl von Zuständen, wobei jeder der Zustände ein oder
mehrere Paare von legalen Übergängen besitzt. Jeder Übergang ist definiert, um
zu bewirken, daß eine Kette von null oder mehr Bits ausgegeben wird, wenn der
Übergang auftritt, und einen Bestimmungszustand zu bewirken, zu welchem das
Übergangsgerät während des Überganges überträgt. Gerade von diesem Bestim
mungszustand aus setzt das Übergangsgerät die Verarbeitung des nächsten
Symbols fort. Bei der vorliegenden Erfindung bestimmt PEM 115, welches
Übergangspaar in irgendeinem bestimmten Zustand genommen wird. Bei der
momentan bevorzugten Ausführungsform bestimmt PEM 115 (oder 135) die
Auswahl eines der Paare der legalen Übergänge vom laufenden Zustand durch
Ausgeben von Wahrscheinlichkeitsschätzungen an den Kodierer 120 (oder
Dekodierer 130). Die Y/N-Eingabe von BDM 110 bestimmt, welche der zwei
legalen Übergänge des ausgewählten Paares während dem Kodieren ausgeführt
werden. Letztendlich gibt der Kodierer 120 seinen Bitstrom aus, der die kompri
mierten Eingangsdaten wiedergibt, und zwar gemäß dem Y/N-Eingang von BDM
und den Wahrscheinlichkeitsschätzungen von PEM 115. Während des Dekodie
rens bestimmen die Bitwerte in dem Bitstrom des komprimierten Bitstromes,
welcher der zwei legalen Übergänge von dem ausgewählten Paar durchgeführt
wird.
Jeder der Zustände kann als ein Satz von legal emittierbaren Bitströmen be
schrieben werden. Mit sorgfältig vorbereiteten emittierten Bits kann jeder der
Übergänge des Gerätes ebenfalls als ein solcher Satz beschrieben werden. Für
jedes Übergangspaar, das in dem Kodierer und Dekodierer verwendet wird, sind
die Übergangspaare disjunkt und bilden eine Vereinigung gleich der dem Zustand
entsprechenden Menge. Bei der vorliegenden Erfindung besteht die Vereinigung
der Menge aus allen möglichen binären Ausgangsgrößen. Der Wahrscheinlich
keitsbereich, der jedem Übergangspaar zugeordnet ist, wird so gewählt, um eine
Kodierung mit niedriger Bitrate der Binärentscheidungen zu erzeugen.
Der Kodierer 120 empfängt die Wahrscheinlichkeit, die dem Symbol zugeordnet
ist, welches zu kodieren ist (d. h. die Wahrscheinlichkeitsschätzungen), und das
Y/N-Signal, welches anzeigt, ob die zu kodierenden Daten innerhalb des Wahr
scheinlichkeitsbereiches liegen oder nicht, der durch die Wahrscheinlichkeits
schätzungsausgangsgröße durch das Wahrscheinlichkeitsschätzungsmodell ange
zeigt wird (d. h. ob die Daten sich in ihrem wahrscheinlicheren Zustand befin
den). Mit dieser Information gibt der Kodierer 120 eine Kette von Bits aus, die
repräsentativ für das Symbol, welches zu kodieren ist, sind, wobei die Bitkette
eine komprimierte Form des Symbols ist.
Eine Ausführungsform der vorliegenden Erfindung ist in der unten aufgeführten
Tabelle 1 gezeigt.
Gemäß Tabelle 1 ist ein Zwei-Zustandskodierer gezeigt. Zu Beginn befindet sich
der Kodierer im Zustand SO. Der Kodierer (z. B. der Kodierer 120 in Fig. 2)
empfängt eine Zeile von Wahrscheinlichkeitsklassen (z. B. PC1, PC2, PC3, PC4,
. . . ) und wahrscheinlich (MPS, LPS, MPS, MPS) oder (Y, N, Y, Y) von dem
Wahrscheinlichkeitsschätzmodell (z. B. PEM 115 in Fig. 2), welches den Kodie
rer veranlaßt, eine Bitfolge von null oder mehr Bits auszugeben und mit einem
möglichen Übergang zu einem anderen Zustand. Die Wahrscheinlichkeitsklassen
zeigen dem Kodierer an, welche Spalte verwendet werden sollte. Bei diesem
Beispiel zeigt die Wahrscheinlichkeitsklasse an, ob der Kodierer die Spalte P1
oder P2 verwenden sollte. Wenn beispielsweise der Zwei-Zustandskodierer die
Folge der Wahrscheinlichkeitsschätzungen < P1, P2, P2, P2 < und die Folge
von Y/N-Entscheidungen (Y, Y, Y, N) (d. h. wahrscheinlich oder nicht) als
Eingangsgrößen empfängt, würde der Kodierer zu Beginn die erste Eingangs
größe (P1) empfangen und würde die erste Spalte ("0,50 < P < 0,64") der
ersten Zeile (SO) empfangen und würde auf die Antwort "O SO" stoßen. In
diesem Fall wird eine "O" ausgegeben und das Zustandsregister verbleibt im
Zustand SO. Der zweite Eingang zum Kodierer (P2) bewirkt, daß die zweite
Spalte ausgewählt wird ("0,64 P < 1") in der ersten Zeile (SO). Als Antwort
gibt der Kodierer keinerlei Bits aus (gezeigt als "-") und das Zustandsregister
wechselt auf den Zustand S1 (wie in der Spalte dargestellt ist). Auf ähnliche
Weise wählt der dritte Eingang (P2) die zweite Spalte der dritten Zeile (S2) aus
und bewirkt, daß eine "O" ausgegeben wird und veranlaßt das Zustandsregister,
einen Übergang in den Zustand SO durchzuführen. Letztlich bewirkt der vierte
Eingang (P2), daß die zweite Spalte in der zweiten Zeile SO ausgewählt wird,
wobei eine "11" ausgegeben wird und das Zustandsregister in dem Zustand SO
verbleibt. Demnach hat die Folge der vier Wahrscheinlichkeitsschätzungen (d. h.
der vier Entscheidungen) vier Bits von Ausgängen ("0011") erzeugt, obwohl die
Entsprechung nicht Eins-zu-Eins war. Obwohl bei diesem Beispiel keine Kom
pression in irgendeiner Zahl der kodierten Symbole erzeugt wurde, wenn der
Zwei-Zustandskodierer 20 aufeinanderfolgende Fälle von Wahrscheinlichkeit P
= 0,7 empfangen hat, und zwar mit 20 aufeinanderfolgenden Y-Entscheidungen,
würde die Ausgangsgröße dann zehn "0"s betragen, wodurch eine 2-zu-1-Kom
primierung geschaffen wird.
Wie in Fig. 2 veranschaulicht ist, besteht das Y/N-Ansprechen aus einem Ein
gang in das Wahrscheinlichkeitsschätzmodell (PEM), welches dann Binärent
scheidungen an das Datenmodell ausgibt, welches seinerseits die Daten ausgibt,
die die dekomprimierte Version der Eingangsdaten darstellen.
Fig. 3 veranschaulicht eine andere Ausführungsform eines Kodierers und eines
Dekodierers, die gemäß der vorliegenden Erfindung aufgebaut sind. Bei dieser
Ausführungsform sind zwei Speicher dazu verwendet, um zwei Nachschlagta
bellen zu speichern (z. B. Übergangszustandgerät, Übergangstabellen), die jeweils
beim Kodierungsprozeß und Dekodierungsprozeß verwendet werden (in Fig. 3
als ROM 300 und 310 jeweils bezeichnet). Diese Speicher werden dazu ver
wendet, um die Übergänge auszuwählen und um die Kompression und Dekom
pression der Daten zu steuern. Gemäß Fig. 3 wird die Y/N-Entscheidung 315,
die Wahrscheinlichkeit 320 aus dem statistischen Modell (Fig. 2) und der Zu
stand des Kodierers 325, wie durch das Zustandsregister 330 aufrechterhalten,
in den ROM 300 eingegeben, um einen richtigen Ausgang auszuwählen, der aus
dem komprimierten Datenbitstrom besteht und aus einer Identifizierung des
nächsten Zustandes. Für eine Dekompression werden die komprimierten Daten
aus dem Datenregister 370, die Wahrscheinlichkeit 320 und der Zustand des
Kodierers als Indizes in die Nachschlagtabelle in dem ROM 310 eingegeben, der
als Antwort hierauf die Y/N-Entscheidung 380 ausgibt und auch die Identifizie
rung des nächsten Zustandes.
Da diese Schaltung sowohl eine Kompression als auch Dekompression ausführt,
werden eine Kompressions-Freigabesignalleitung 335 und eine Dekompressions-
Freigabesignalleitung 340 dazu verwendet, um die Funktionalität der Schaltung
auszuwählen. Wenn somit die Schaltung eine Kompression durchführen soll,
wird die Kompressions-Freigabeleitung 335 betätigt, um den ROM 300 in
Bereitschaft zu setzen, und wenn eine Dekompression ausgeführt werden soll,
wird die Dekompressions-Freigabeleitung 340 aktiviert, um den ROM 310 in
Bereitschaft zu setzen.
Während der Kompressionssequenz empfängt der ROM 300 den Y/N-Wert 315,
die Wahrscheinlichkeit 320 und den Zustandsregisterzustand 325 und gibt den
neuen Zustand 350 aus, der dann in dem Zustandsregister 330 gespeichert wird,
gibt ferner den Zählwert der Zahl der Bits, die als komprimierte Daten 355
ausgegeben wurden, und die komprimierten Daten 360 aus. Die komprimierten
Daten 360 sind in dem Datenregister 370 gespeichert und der Zählwert der Bits
355, die von dem ROM ausgegeben werden, wird dazu verwendet, um die Bits
in das Datenregister einzuschieben, um die komprimierten Datenbits zu empfan
gen, die von ROM 300 ausgegeben wurden. Die komprimierten Daten können
dann zu einem Speicher ausgegeben werden oder auf ein Übertragungsmedium,
und zwar über das Datenregister 370, wenn dies gewünscht wird.
Wenn Daten zu dekomprimieren sind, werden die Daten in das Datenregister 370
gegeben und werden aus dem Datenregister gesteuert durch die Schiebezählwert
signalleitung 375 ausgelesen und in den ROM 320 eingegeben, und zwar zu
sammen mit der Wahrscheinlichkeit 320 und dem Zustand, wie dieser durch das
Zustandsregister 330 gehalten wird. Diese Eingabegrößen werden dazu ver
wendet, um einen Tabellennachschlag in der Tabelle durchzuführen, die in dem
ROM 310 gelegen ist, die dann den Y/N-Wert 380 ausgibt und für das statisti
sche Modell eine Identifizierung liefert, ob der Datenwert innerhalb des Mehr
wahrscheinlichkeitsbereiches fällt. Der ROM 310 gibt auch eine Anzahl von
komprimierten Datenbits aus, die auf die Schiebezählwert-Leitung 375 des
Datenregisters 370 eingegeben werden, um die in dem Datenregister 370 enthal
tenen Bits zu verschieben, und auch den nächsten Zustand 350 der Schaltung.
Wie an früherer Stelle beschrieben wurde, wird das erzeugte Y/N-Signal in die
verbleibenden Komponenten des Dekompressors eingegeben, speziell das statisti
sche Modell und die BDM-Vorrichtung, um die Eingangsdaten zu rekonstruie
ren.
Die vorliegende Erfindung schafft ein Verfahren und ein Gerät zur Durchführung
einer Kanalmodulation. Bei einer Ausführungsform führt die vorliegende Erfin
dung eine Kanalkodierung für lauflängenbegrenzte Kanäle durch. Das Kanalko
dieren wird unter Verwendung von endlichen Automaten (finite state machines)
durchgeführt. Bei der vorliegenden Erfindung werden die endlichen Automaten
dazu verwendet, um einen Spurnachlauf von Teilausgangsgrößen durchzuführen,
während jede Eingangsgröße eine zu einem Zeitpunkt verbraucht wird. Die
Ausgangsgrößen werden mit variablen Raten dahingehend erzeugt, daß die Länge
jeder Ausgangsgröße gemäß den kodierten Daten variieren kann.
Die vorliegende Erfindung umfaßt ein Verfahren und ein Gerät zur Durchfüh
rung einer Kanalkodierung und einer Datenkompression mit Hilfe der gleichen
funktionellen Einheit. Eine Anwendung des binären Entropiekodierers der
vorliegenden Erfindung besteht darin, die Bitgenerierungsstufe der vorliegenden
Erfindung mit der Kanalmodulation zu kombinieren, um sowohl eine Kom
pression als auch Kanalmodulation gleichzeitig zuzulassen. Mit anderen Worten
kann der binäre Entropiekodierer der vorliegenden Erfindung so modifiziert
werden, um einige Typen einer Kanalmodulation zur gleichen Zeit durchzufüh
ren, zu der die ursprüngliche Operation der Bitgenerierung für die Datenkom
pression ausgeführt wird. Ein endlicher Automat, der nach der vorliegenden
Erfindung konstruiert ist, kann dazu verwendet werden, um die Operationen
gleichzeitig auszuführen.
Die vorliegende Erfindung umfaßt auch die Verwendung der endlichen Automa
ten für die Fehlerkorrektur. Das bedeutet, ein endlicher Automat kann so ausge
legt werden, um eine Fehlerkorrekturkodierung durchzuführen. Bei einer anderen
Anwendung wird der binäre Entropiekodierer der vorliegenden Erfindung so
modifiziert, um eine Fehlerkorrektur gleichzeitig mit der Bitgenerierungsopera
tion der Datenkompression durchzuführen. Es können auch Modifikationen
hinsichtlich des binären Entropiekodierers vorgenommen werden (z. B. Modifika
tionen hinsichtlich des endlichen Automaten), um eine Fehlerkorrektur und eine
Kanalmodulation gleichzeitig durchführen zu können, und zwar zusammen mit
der Bitgenerierungsoperation der Datenkompression.
Wenn die Datenkompressionsoperation der Bitgenerierung mit den Operationen
der Kanalmodulation und/oder Fehlerkorrekturkodierung kombiniert wird, wird
die Hardware, die erforderlich ist, um ein System, welches diese Funktionen
besitzt, zu erstellen, reduziert, da ein einzelner funktionaler Hardware-Block
gleichzeitig mehrere Funktionen vorsieht. Bei Anwendungen, wie beispielsweise
einer Datenspeicherung, können die Kompressions-, Fehlerkorrektur- und Kanal
modulationsfunktionen alle durch die Datenspeichervorrichtung ausgeführt
werden, die durchlässig ist für die Software, die auf diesem System momentan
läuft und von dieser getrennt ist.
Die vorliegende Erfindung ermöglicht die Durchführung einer Kodierung für
Zwangskanäle (d. h. Kanalmodulation). Gemäß der vorliegenden Erfindung wird
eine feste Zahl von willkürlichen Eingangsbits empfangen und es wird eine
größere Zahl von Zwangsbits erzeugt. Bei einer Ausführungsform wird erfin
dungsgemäß ein Eingangsbit zu einem Zeitpunkt empfangen und es wird eine
variable Zahl von Zwangsbits (constrained bits) erzeugt.
Der Kanal kann erzwungen (constrained) sein, um einen lauflängenbegrenzten
Kode zu schaffen, wie beispielsweise (1, 3). Der Gegenstand der vorliegenden
Erfindung kann für andere lauflängenbegrenzte Kodes (1, 7) verwendet werden.
Die vorliegende Erfindung ist auch anwendbar auf andere Zwänge oder Ein
schränkungen neben den lauflängenbegrenzten Kodes. Beispielsweise haben
Faseroptikkanäle und andere Typen von Kanälen eine Ladungseinschränkung.
Anstelle eines binären Zwanges (d. h. eine "1" und "0") ist der Kanal darauf
eingeschränkt, definiert zu sein durch +1- und -1-Ladungen, wobei die Gesamt
ladung im Kanal zwischen einem gewissen vordefinierten Spannungsbereich (z. B.
[-2, +3]) bleiben muß. Kanäle, die kein Binärsymbol haben, wie beispielsweise
ein Morse-Kode (Punkte und Striche), können ebenfalls als Zwang oder Ein
schränkung gehandhabt werden.
Durch die vorliegende Erfindung wird eine Kanalkodierung oder eine Kanalmo
dulation unter Verwendung von endlichen Automaten durchgeführt. Die endli
chen Automaten der vorliegenden Erfindung enthalten vielfache Zustände. Jeder
dieser Zustände umfaßt einen Satz von Übergängen, der anzeigt, in welchen der
Zustände der Automat überzuwechseln hat. Die Entscheidung hinsichtlich der
Tatsache, zu welchen der Übergänge eines bestimmten Zustandes übergegangen
werden soll, wird gemäß der empfangenen Eingangsgröße getroffen. Bei einer
Ausführungsform enthält jeder der Zustände ein Paar von Übergängen, wobei
der bestimmte genommene Übergang gemäß jedem Eingang gewählt wird. Für
binäre Eingangsgrößen wählt eine "O" einen Übergang und ein "1"-Biteingang
wählt den zweiten Übergang. Die vorliegende Erfindung ist nicht auf binäre
Eingangsgrößen beschränkt, so daß die Übergänge in einem Übergangspaar oder
Satz gemäß jedem bestimmten empfangenen Eingang (z. B. Belegungsbit, Kode
wort usw.) ausgewählt werden können.
Jeder Übergang enthält auch einen Satz von 0 oder mehr Ausgangsbits, die nach
Auswahl des Überganges ausgegeben werden. Die Ausgangsbits sind die einge
schränkten oder Zwangskanalbits. Mit anderen Worten werden die Ausgangsbits
für den endlichen Automaten so ausgewählt, daß die Beschränkung des Kanals
getroffen oder berücksichtigt wird.
Ein beispielhaftes Blockschaltbild der Kanalkodierlogik ist in Fig. 4 gezeigt.
Gemäß Fig. 4 werden Eingangsbits 401 in die Kodierlogik 400 eingegeben, um
eine variable Zahl von Ausgangsbits 402 zu erzeugen. Bei der vorliegenden
Erfindung umfaßt die Kodierlogik 400 einen endlichen Automaten. Der endliche
Automat empfängt sowohl den laufenden Zustand 403 als auch ein Eingangsbit
401 und erzeugt 0 oder mehrere Ausgangsbits 402. Der endliche Automat
erzeugt auch eines oder mehrere Bits, um den nächsten Zustand anzuzeigen. Die
nächste Zustands-Ausgangsgröße wird zu dem laufenden Zustand 403 für den
nächsten Biteingang 401 rückgekoppelt. Ein Satz an Pufferstufen kann dazu
verwendet werden, um die Ausgangsbits 402, die Eingangsbits 401 und den
Zustand zu puffern. Diese Pufferstufen sind nicht gezeigt, um eine unnötige
Verschleierung der vorliegenden Erfindung zu vermeiden.
Eine Zustandstabelle, die den Betrieb einer Ausführungsform der Kodierlogik
400 herausgreift, ist in der Tabelle 2 gezeigt. Die Tabelle 2 greift die Zustand
stabelle für einen RLL(1,3)-Kode heraus. Der RLL(1,3)-Kanal wird häufig bei
Disk-Antrieben verwendet, wobei ein unterschiedlicher Kode als der modifizierte
Frequenzmodulationskode (MFM) bezeichnet wird. Der MFM gibt immer ein
Bit ein und gibt zwei Bits aus.
Wie in der Tabelle 2 gezeigt ist, gibt der Kodierer dann, wenn sich der Kodierer
im Zustand 0 befindet und ein Eingangsbit von "0" empfängt, das Bitmuster
"01" aus. Es sei erwähnt, daß in diesem Fall der nächste Zustand der Zustand 0
ist. Daher bleibt für diese Eingangsgrößen der Kodierer im Zustand 0. Wenn
sich der Kodierer in dem Zustand 0 befindet und eine Eingangsgröße einer "1"
empfängt, gibt der Kodierer keinerlei Bits aus, wie dies durch "--" angezeigt ist,
und geht in den Zustand 1 über. Wenn er sich in dem Zustand 1 befindet, gibt
der Kodierer entweder einen Bitstrom von "1000" oder "100" aus, was davon
abhängig ist, ob das Eingangsbits jeweils eine "0" oder "1" ist. In jedem Fall
gelangt der Kodierer, nachdem er die Ausgangsbits erzeugt hat, zurück in den
Zustand 0.
Nach Betrachtung der möglichen Ausgangsbitströme erfüllt der endliche Auto
mat, der durch die Tabelle 2 definiert ist, die Einschränkung oder den Zwang
eines RLL(1,3)-Kanalkodes. Alle die Ausgangsbitströme haben eine "1", die
gefolgt wird von wenigstens einer Null, und haben nicht mehr als drei Nullen.
Wenn man somit endliche Automaten verwendet, die gemäß der Zustandstabelle
in der Tabelle 2 arbeiten, und andere Automaten verwendet, die ähnlich kon
struiert sind, kann gemäß der vorliegenden Erfindung eine Kanalmodulation
durchgeführt werden (d. h. eine Kanalkodierung).
Wie ebenfalls in der Tabelle 2 veranschaulicht ist, besitzen die Ausgangsbits eine
variable Länge, und zwar entweder 0, 2, 3 oder 4 Bits. Da gemäß der vor
liegenden Erfindung eine Ausgangsgröße variabler Länge vorhanden ist, kann
nach der Erfindung auch die Zahl der legitimierten (d. h. verfügbaren) Sequen
zen, die über den Stand der Technik hinaus verwendet werden können, erhöht
werden, und zwar ohne zu große Komplexität. Beispielsweise zeigt die Informa
tionstheorie, daß der RLL(1,3)-Kanal ca. 1,81 Kanalbits pro willkürlichem
Datenbit erfordert. Es werden somit 0,19 Kanalbits für jedes Datenbit vergeudet,
wenn ein festes Ratenverfahren, wie das MFM-Verfahren verwendet wird. Wenn
die Kodierung durchgeführt wird unter Verwendung eines endlichen Automaten
der vorliegenden Erfindung, wie beispielsweise des einen, der in der Tabelle 2
beschrieben ist, ist es möglich, nur 1,833 Kanalbits pro Datenbit im Schnitt zu
verwenden. Beispielsweise kann ein 100-Megabyte-Disk-Antrieb, der die MFM-
Kodierung verwendet, grob 110 Megabyte unter Verwendung des endlichen
Automaten der vorliegenden Erfindung im Gegensatz zur herkömmlichen MFM-
Ausführung speichern. (Es sei darauf hingewiesen, daß es möglich ist, die
Grenze von 1,81 Kanalbits pro Datenbit anzunähern, und zwar mit momentan
verfügbaren Festratenverfahren, jedoch erfordert dieses Verfahren viel größere
Nachschlagtabellen, was dann zu höheren Hardware-Kosten führt.)
Der Zustandsautomat, der die Operation der Kodierlogik 400 definiert, ist so
ausgeführt, daß die Ausgangsgrößen der Übergänge automatisch den auferlegten
Zwang oder die Einschränkung erfüllen. Bei einer Ausführungsform ist der
endliche Automat als eine Nachschlagtabelle (LUT) ausgeführt. Der endliche
Zustand kann unter Verwendung einer kombinatorischen Logik realisiert werden.
Eine mögliche Ausführung des Zwangskanalkodierers nach der vorliegenden
Erfindung ist in Fig. 5 gezeigt. Gemäß Fig. 5 ist eine Nachschlagtabelle (look-up
table) (LUT) 502 gezeigt, die einen Zustand 507 von einem Zustandsregister 501
und einem Resultat 503 empfängt. Die LUT 502 kann in einem Speicher enthal
ten sein. Es ist auch möglich, anstelle des Speichers eine kombinatorische Logik
zu verwenden. Bei einer Ausführungsform besteht das Resultat 503 aus einem
binären Wert. Der binäre Wert kann entweder das wahrscheinlichste Symbol
(MPS; most probable symbol) oder das am wenigstens wahrscheinliche Symbol
(LPS; least probable symbol) wiedergeben. Die LUT 502 erzeugt einen Zwangs
bitstrom, der als Ausgang 505 angegeben ist, und zwar als Antwort auf Ein
gangsgrößen derart, daß der Ausgang 505 den Zwang erfüllt, der dem Kanal
auferlegt ist. Die LUT 502 erzeugt auch eine Ausgangsgröße 506. Die Aus
gangsgröße 506 gibt die Zahl der Bits in dem Ausgang 505 an. Diese Anzeige
kann lediglich eine Anzeige darüber sein, welche Bits in dem Ausgangsstrom
signifikant sind (d. h. welche der Bits aktuelle Ausgangsgrößen sein). Die LUT
502 ist auch verantwortlich für die Erzeugung des nächsten Zustandes 504. Der
nächste Zustand 504 wird von der LUT 502 ausgegeben und wird in das Zu
standsregister 501 eingegeben, und zwar als der Zustandseingang für das nächste
Bit. Wenn somit die LUT 502 den Zustand 507 und das Resultat 503 empfängt,
werden der Ausgang 505, die Ausgangsgröße 506 und der nächste Zustand 504
generiert. Der Ausgang 505 und der nächste Zustand 506 werden in typischer
Weise in der gleichen Weise erzeugt, wie der Ausgang und der nächste Zustand
in Verbindung mit der Tabelle 2 erzeugt werden.
Bei einer Ausführungsform kann das Zustandsregister 501 2-8 Bits puffern;
jedoch kann das Zustandsregister 501 ein Register irgendeiner Größe sein. Da
das Resultat 503 eine einzelne binäre Bit-Eingangsgröße ist, empfängt die LUT
502 einen Eingang von 3-9 Bits. Bei einer Ausführungsform kann der Ausgang
505 bis zu 14 Bits umfassen, und zwar für einige eingeschränkte Kanäle. Um
daher anzuzeigen, welche Bits signifikant sind, muß die Ausgangsgröße 506 2-4
Bits betragen.
Gemäß der vorliegenden Erfindung kann auch eine Kanalmodulation unter
Verwendung einer Anzahl frei wählbarer Zustände durchgeführt werden. Die
Zahl der Zustände, die ausgewählt werden, hängt von der Kanalbeschränkung
ab. Beispielsweise belegt für einen RLL(1,3)-kodierten Kanal die Verwendung
der zwei Zustände 99% der Kanalkapazität. Jedoch würden für einen RLL(1,7)-
kodierten Kanal 18 Zustände erforderlich sein, um einen äquivalenten oder
größeren Wirkungsgrad zu erhalten. Es können auch Zustandsautomaten unter
schiedlicher Größe verwendet werden. Diese Zustandsautomaten können lediglich
ein Eingangsbit zu einem Zeitpunkt empfangen. Es ist jedoch möglich, vor
auszuschauen und mehr als 1 Bit gleichzeitig aufzunehmen (z. B. 2 Bits) unter
Verwendung einer größeren LUT.
Die endlichen Automaten der vorliegenden Erfindung, die eine Kanalmodulation
durchführen können, können in dynamischen Aufzeichnungssystemen verwendet
werden, wie beispielsweise Disk-Treiber-Speichersysteme. Die vorliegende
Erfindung ist auch bei Systemen anwendbar, die ein digitales Magnetband, CD-
ROMs, optische Disks und Faseroptikkabel verwenden. Fig. 6 veranschaulicht
ein Beispiel eines digitalen Aufzeichnungssystems. Gemäß Fig. 6 umfaßt das
System 600 einen Komprimierungskodierer 601, einen Fehlerkorrekturkodierer
602, einen Modulationskodierer 603, einen Datenübertragungsmechanismus 604,
einen digitalen Datenaufzeichnungskanal 605, einen Datenempfangsmechanismus
606, einen Modulationsdekodierer 607, einen Fehlerkorrekturdekodierer 608 und
einen Kompressionsdekodierer 609.
Die Daten 610 werden von dem Kompressionskodierer 601 empfangen, der die
Daten komprimiert. Der Fehlerkorrekturkodierer 602 ist an den Kompressions
kodierer 601 gekoppelt und empfängt die komprimierten Daten. Der Fehler
korrekturkodierer 602 führt eine Fehlerkorrekturkodierung an den komprimierten
Daten durch. Der Modulationskodierer 603 ist an den Fehlerkorrekturkodierer
602 gekoppelt und empfängt die komprimierten, fehlerkorrigierten Daten von
dem Fehlerkorrekturkodierer 602. Als Antwort führt der Modulationskodierer
603 eine Kanalmodulation an den Daten durch. Bei der vorliegenden Erfindung
enthält der Modulationskodierer 603 einen endlichen Automaten. Der Ausgang
des Modulationskodierers 603 wird von dem Datenübertragungsmechanismus 604
empfangen, der die Daten auf den Kanal 605 überträgt. Bei einer Ausführungs
form enthält der Datenübertragungsmechanismus 604 einen Signalgenerator. Der
Datenübertragungsmechanismus 604 kann auch einen Schreibequalizer enthalten.
Bei einigen Ausführungsformen kann der Kanal 605 eine Disk-Speichervor
richtung oder ein Speichermedium umfassen oder einen Faseroptikkanal dar
stellen.
Der Datenempfangsmechanismus 606 ist an den Kanal 605 gekoppelt, um Daten
zu empfangen und um Daten dem Modulationsdekodierer 607 zuzuführen. Bei
einer Ausführungsform kann der Datenempfangsmechanismus 606 einen Lese
equalizer und/oder einen Datendetektor enthalten. Der Modulationsdekodierer
607 ist angekoppelt, um Daten zu empfangen und er demoduliert die Daten. Bei
einer Ausführungsform demoduliert der Modulationsdekodierer 607 die Daten
unter Verwendung eines endlichen Automaten. Der Ausgang des Modulations
dekodierers 607 ist so angekoppelt, daß ein Empfang durch den Fehlerkorrektur
dekodierer 608 möglich ist, der eine Fehlerkorrekturdekodierung an den Daten
durchführt, wodurch die komprimierten Daten aus den Daten extrahiert werden,
die von dem Modulationsdekodierer 607 empfangen werden. Die komprimierten
Daten werden von dem Kompressionsdekodierer 609 empfangen, der die Daten
dekomprimiert, um die Daten 610 zu reproduzieren.
Die vorliegende Erfindung ermöglicht auch die gleichzeitige Durchführung einer
Kanalmodulation und einer Datenkompression unter Verwendung von endlichen
Automaten. Nach der vorliegenden Erfindung kann das Datenkompressions
system, welches den binären Entropiekodierer der vorliegenden Erfindung für
eine Bitgenerierung verwendet, modifiziert werden, um Sequenzen zu kodieren
und zu dekodieren, die die Kanaleinschränkung erfüllen. Ein in Fig. 6 gezeigtes
System kann diesen Typ eines endlichen Automaten verwenden, und zwar für
den Kompressionskodierer 601 und den Modulationskodierer 603 (oder für den
Kompressionsdekodierer 609 und den Modulationsdekodierer 607). Somit kann
die gleiche Funktionalität, die dazu verwendet wird, um die Datenkompression
durchzuführen, dazu verwendet werden, um auch eine Kanalkodierung durch
zuführen.
Bei der vorliegenden Erfindung ist ein endlicher Automat dafür ausgelegt, um
eine Bitgenerierung der Datenkompression und der Kanalmodulation durch
zuführen und enthält vielfache Zustände. Jeder der Zustände enthält einen oder
mehrere Sätze von Übergängen. Bei einer Ausführungsform enthält jeder Satz
ein Paar von Übergängen. Die Wahrscheinlichkeitsschätzung, die der Datenkom
pression zugeordnet ist, wird dazu verwendet, um eine Wahl zu treffen, welcher
der Übergangssätze zu verwenden ist, während der ausgewählte bestimmte
Zustand herrscht. Die Eingabe in den komprimierten und kodierten Kanal wird
dazu verwendet, um einen bestimmten Übergang (und Ausgangs-Bitstrom) in
einem bestimmten Satz auszuwählen. Indem somit der Zustand, eine Eingangs
größe und eine wahrscheinliche Schätzung oder Schätzwert empfangen wird,
kann der endliche Automat der vorliegenden Erfindung den Bitstrom komprimie
ren, während eine Kanalmodulation an dem Bitstrom durchgeführt wird.
Ein Bitgenerierungsgerät, welches eine Kompressionskodierung und eine Kanal
kodierung für RLL (1, 3) durchführt, ist in der Tabelle 3 gezeigt. Gemäß der
Tabelle 3 enthält die Eingangsspalte einen binären Wert, der entweder dem
wahrscheinlichsten Symbol (MPS) oder dem am wenigsten wahrscheinlichen
Symbol (LPS) entspricht. Die Schräge (skew) stellt den Wahrscheinlichkeits
schätzwert dar und weist darauf hin, wie wahrscheinlich das MPS auftritt.
Wie in der Tabelle 3 veranschaulicht ist, greift die Ausgangsspalte die Tatsache
heraus, daß jedes "1"-Bit gefolgt wird von wenigstens einem "0"-Bit und nicht
mehr als drei "0"-Bits. Daher haftet der Ausgang an der RLL(1,3)-Kanalkodie
rungsdefinition.
Wenn der laufende Zustand der Zustand O ist, gibt es zwei mögliche Übergangs
paare. Jedes der Übergangspaare wird abhängig davon ausgewählt, ob die
Schräge hoch oder niedrig ist. Wenn eine niedrige Wahrscheinlichkeit existiert,
daß MPS auftreten wird, so daß die Schräge niedrig ist, wird das erste Über
gangspaar gewählt. Wenn dies der Fall ist, bewirkt ein Eingang von LPS, daß
ein Ausgangsstrom von "10" ausgegeben wird und der Automat in dem Zustand
0 verbleibt. Wenn andererseits MPS auftritt, werden keine Bits ausgegeben und
der Automat wechselt in den Zustand 1. Wenn die Schräge hoch ist, bewirkt ein
Eingang von LPS, daß ein Bitstrom "1000" ausgegeben wird und daß der Auto
mat in einem Zustand 0 verbleibt. Ein MPS-Eingang bewirkt jedoch, daß keine
Bits ausgegeben werden und daß der Automat in den Zustand 2 überwechselt.
Wenn sich der Automat in den Zuständen 1 oder 2 befindet, bewirkt ungeachtet
der Neigung oder Schräge ein Eingang, daß der nächste Zustand der Zustand 0
ist. Für jeden bestimmten Fall sind die Ausgänge so, wie gezeigt. Wenn somit
die Schräge niedrig ist und somit angezeigt wird, daß eine hohe Kompression
nicht erreicht werden kann, dann bleibt der Betrieb eines endlichen Automaten,
wie in Tabelle 3 definiert, in der gleichen Weise, wie in Tabelle 2, bestehen.
Wenn jedoch die Schräge hoch ist, werden die am häufigsten vorkommenden
zwei Eingangssituationen kodiert als die Bits "10". Es sei darauf hingewiesen,
daß dies die Kompression darstellt, da normalerweise zwei Datenbits wenigstens
3,62-Kanalbits erforderlich machen würden. Größere Automaten erlauben eine
größere Kompression.
Eine Ausführungsform des kombinierten Kanalkodierers und Binär-Entropieko
dierers der vorliegenden Erfindung ist in Fig. 7 gezeigt. Gemäß Fig. 7 ist eine
LUT 702 gezeigt, die einen Zustand 708 von einem Zustandsregister 701, ein
Ergebnis 703 und eine Wahrscheinlichkeitsschätzung oder Schätzwert 707
empfängt. Es sei erwähnt, daß das Ergebnis oder Resultat 703 den Bitstrom
eingang wiedergibt, der Kanal kodiert und gleichzeitig komprimiert werden muß.
Als Antwort darauf gibt die LUT 702 einen Ausgang 705 und eine Ausgangs
größe 706 (output size) aus. Die LUT 702 erzeugt auch den nächsten Zustand
704, der zu dem Zustandsregister 701 rückgekoppelt wird, und zwar für die
Verwendung als dem Zustand für das nächste Auftreten des Eingangs des Resul
tats 703. Der kombinierte Kanalkodierer/Binär-Entropiekodierer arbeitet in der
gleichen Weise wie der Kanalkodierer der Fig. 5, ausgenommen, daß der Wahr
scheinlichkeitsschätzwert 707 dazu verwendet wird, den Satz der Übergänge in
jedem der Zustände auszuwählen.
Bei einer Ausführungsform kann das Zustandsregister 701 2-8 Bits halten, der
Wahrscheinlichkeitsschätzwert kann 1-4 Bits betragen und das Resultat 703
betragt ein Bit. In diesem Fall kann die LUT 702 3-13 Bits des Eingangs emp
fangen. Es sei darauf hingewiesen, daß das Zustandsregister 701 aus einem
Register bestehen kann, welches irgendeine Zahl von Bits speichert. Auch der
Wahrscheinlichkeitsschätzwert kann größer sein als vier Bits, und zwar bei
anderen Ausführungsformen. Der Ausgang 705 von der LUT 702 beträgt 2-8
Bits für den Binär-Entropiekodierer der vorliegenden Erfindung. Es kann jedoch
der Ausgang 705 größer sein, wenn eine mehrdimensionale (joint) Datenkom
pression durchgeführt wird. In diesem Fall beträgt die Ausgangsgröße 706 2-4
Bits, um alle möglichen Größen des Ausgangs 705 anzuzeigen.
Es kann somit ein Übergangszustandsautomat nach der vorliegenden Erfindung
so ausgelegt werden, daß er einen Bitstrom erzeugt, der eine Einschränkung oder
einen Zwang erfüllt, der durch ein Endlich-Übergangsdiagramm spezifiziert ist,
und zwar in solcher Weise, daß es möglich wird, auf den ursprünglichen Daten
strom als Teil der Dekodieroperation zurückzukehren. Auf diese Weise schafft
die vorliegende Erfindung endliche Automaten, die eine Kanalmodulation durch
führen oder gleichzeitig eine Kompression und Kanalmodulation durchführen.
Die vorliegende Erfindung schafft einen Automaten, der Ausgänge erzeugt, die
eine variable Anzahl von Bits aufweisen. Da erfindungsgemäß die Möglichkeit
geschaffen wird, eine Ausgangsgröße mit einer variablen Rate während der
Kanalmodulation zu erzeugen, ist die exakte Speicherkapazität eines Diskantriebs
nicht unabhängig von den gespeicherten Daten. Da jedoch Diskantriebe häufig
schlechte Sektoren aufweisen und auch einige komprimierte Dateien, bildet die
exakte Speicherkapazität eines typischen Diskantriebs bereits eine gewisse
Unsicherheit. Kodes mit variabler Rate ermöglichen es auch, daß ein einzelner
Fehler mehrere Daten als Kodes mit fester Rate beeinflussen. Jedoch existiert die
gleiche Situation bei laufend komprimierten Dateien auf Aufzeichnungsmedien.
Kurz gesagt, bieten die Zwangskanalkodes mit variabler Rate der vorliegenden
Erfindung die gleichen Probleme, die bei komprimierten Dateien bei normalen
Diskantrieben existieren. Sie sind jedoch befähigt, bei der Kanalverwendung
wirksamer zu sein und erhöhen möglicherweise die Geschwindigkeit aufgrund
ihrer gemeinsamen Operation (bei der Datenkompression).
Die Fehlerkorrekturkodierung wird häufig bei Daten durchgeführt, wo der Kanal
nicht verlustlos ist. Die Fehlerkorrektur kann als eine andere Beschränkung oder
Zwang in Verbindung mit dem Kanal betrachtet werden. Das heißt, eine Folge
von willkürlichen Bits enthält einige Paritätsbits, die entsprechend diesen erzeugt
werden. Die vorliegende Erfindung schafft auch endliche Automaten, um eine
Fehlerkorrekturkodierung an einem Eingangsdatenstrom durchzuführen. Für
einige Typen der Fehlerkorrekturkodes ist es möglich, einen endlichen Automa
ten zu erstellen, der eine Kodierung durchführt. Einer dieser Typen der Fehler
steuerkodes wird häufig als Konvolutionalkode bezeichnet. Die Konvolutionalko
des haben bekanntermaßen eine Struktur, die es ihnen ermöglicht, durch ein
endliches Zustandsübergangsdiagramm wiedergegeben zu werden. Obwohl
Konvolutionalkodes verwendet werden können, können nach der vorliegenden
Erfindung auch andere Fehlerkorrekturkodes realisiert werden unter Verwendung
der endlichen Automaten. Beispielsweise können Trellis-Kodes ebenfalls durch
ein Endlichzustand-Übergangsdiagramm wiedergegeben werden. Andere Kodes
können solange verwendet werden, als sie mit Hilfe eines Endlichzustands-Über
gangsdiagramms wiedergegeben werden können.
Die endlichen Automaten der vorliegenden Erfindung können derart ausgelegt
werden, daß deren Ausgang Fehlerkorrekturbits enthält, die in die Bits aus dem
Eingangsbitstrom integriert sind. Ein Beispiel einer Zustandstabelle für einen
endlichen Automaten, der eine Fehlerkorrektur vorsieht, ist in der Tabelle 4
gezeigt.
Gemäß der Tabelle 4 arbeitet die Zustandstabelle in der gleichen Weise wie
diejenige der Tabelle 2. Unter Verwendung des laufenden Zustands und des
Eingangs wird erfindungsgemaß ein Bitstrom ausgegeben, der integrierte Fehler
korrekturbits und Übergänge zu dem nächsten bezeichneten Zustand für den
nächsten Eingang enthält. In ähnlicher Weise können die funktionellen Kom
ponenten, die verwendet wurden, um die Tabelle 2 zu erstellen, wie in Fig. 4
und 5 gezeigt ist, dazu verwendet werden, um die Zustandstabelle nach Tabelle
4 zu erstellen.
Wenn in einem System, welches einen Binär-Kodierer der vorliegenden Erfin
dung verwendet, Daten komprimiert werden, kann der binäre Kodierer modifi
ziert werden, um sowohl eine Datenkompressions- als auch Fehlerkorrekturko
dierung durchzuführen. Dies bedeutet, daß unter Verwendung des endlichen
Automaten die vorliegende Erfindung die Möglichkeit schafft, eine Datenkom
pression und eine Fehlerkorrekturkodierung an einem Eingangsbitstrom gleich
zeitig vorzunehmen. Der Automat der vorliegenden Erfindung arbeitet in der
gleichen Weise wie die Automaten, die oben beschrieben sind, die eine Daten
kompression und Kanalmodulation gleichzeitig durchführen. Mit anderen Worten
empfängt der Automat einen Eingangsbitstrom, eine Anzeige des laufenden
Zustands und einen Wahrscheinlichkeitsschätzwert und generiert einen Ausgangs
bitstrom, wobei der Wahrscheinlichkeitsschätzwert dazu verwendet wird, um
zwischen vielfältigen Sätzen der Übergänge auszuwählen und wobei der Bit
eingang den aktuellen Übergang in dem Satz der Übergänge auswählt, die durch
den Wahrscheinlichkeitsschätzwert ausgewählt worden sind. Ein Beispiel einer
Zustandstabelle für einen endlichen Automaten, der eine Fehlerkorrektur und
Datenkompression erzeugt, ist in der Tabelle 5 gezeigt.
Bei einer Ausführungsform kann dieser Typ eines endlichen Automaten in
Systemen verwendet werden, wie demjenigen, welches in Fig. 6 gezeigt ist,
wobei der Kompressionskodierer 601 und der Fehlerkorrekturkodierer 603 durch
deren Verwendung durch den endlichen Automaten kombiniert sind. Nach der
vorliegenden Erfindung wird die Dekodierung mit Hilfe einer getrennten Fehler
korrekturschaltungsanordnung und einem Dekompressionssystem erreicht. Mit
anderen Worten wird die Dekodierung nicht in Form einer einzelnen Stufe
durchgeführt.
Der endliche Automat der vorliegenden Erfindung kann so ausgelegt werden, um
gleichzeitig eine Fehlerkorrekturkodierung und eine Kanalmodulation zu erzeu
gen. Die vorliegende Erfindung ermöglicht es auch, die Datenkompression,
Fehlerkorrektur und Kanalkodierung in einem einzigen endlichen Automaten zu
kombinieren. Unter Verwendung der gleichen oben beschriebenen Techniken
führt ein endlicher Automat, der Eingangsdaten empfängt und die Daten kom
primiert, eine Fehlerkorrekturkodierung und gleichzeitig eine Kanalkodierung
durch. In diesem Fall werden der Kompressionskodierer (z. B. der Kompressions
kodierer 601), der Fehlerkorrekturkodierer (z. B. der Fehlerkorrekturkodierer
602) und der Kanalmodulationsmechanismus (z. B. der Modulationskodierer 603)
in einem System, wie demjenigen in Fig. 6, in einem einzigen endlichen Auto
maten kombiniert, der einen Ausgang erzeugt, der Daten wiedergibt, die drei
Funktionen unterworfen wurden. Es ist möglich, Systeme zu realisieren, welche
mehrere endliche Automaten verwenden, wobei jeder endliche Automat eine
Anschlußfunktionalität besitzt, wie dies oben beschrieben wurde.
Jede Kombination erlaubt eine erhöhte Geschwindigkeit, obwohl die Zustandsta
bellen, die für diese Kodierung erforderlich sind, groß werden können. Bei
herkömmlichen Aufzeichnungssystemen werden diese Funktionen durch getrennte
Einheiten durchgeführt. Nur eine der Einheiten ist befähigt, auf die Daten zu
irgendeinem Zeitpunkt einzuwirken. Darüber hinaus verkörpern nicht alle Auf
zeichnungssysteme alle die Funktionen. In diesem Fall muß häufig die System
software dazu verwendet werden, um die Funktion durchzuführen. Dies bewirkt,
daß andere Systemfunktionen aufgeschoben werden müssen. Die vorliegende
Erfindung erlaubt es, alle Funktionen durch eine Einheit ausführen zu können.
Im Falle der Aufzeichnungssysteme führt die Systemsoftware eine Kompression
aus. Eine getrennte Hardware führt die Fehlerkorrekturkodierung und die Kanal
modulation durch. Diese Hardware kann so ausgelegt werden, daß sie einen
endlichen Automaten der vorliegenden Erfindung enthält, der eine Datenkom
pression, Kanalmodulation und eine Fehlerkorrektur gleichzeitig ausführt.
Beispielsweise kann der Automat den Eingangsbitstrom empfangen, ebenso eine
Anzeige des laufenden Zustandes und einen Wahrscheinlichkeitsschätzwert, und
kann einen Ausgangsbitstrom erzeugen, wobei der Wahrscheinlichkeitsschätzwert
dazu verwendet ist, zwischen vielen Sätzen der Übergänge auszuwählen, und
wobei der Biteingang den aktuellen Übergang in dem Satz der Übergänge aus
wählt, der durch den Wahrscheinlichkeitsschätzwert ausgewählt worden ist. In
diesem Fall ist die Systemsoftware davon befreit, andere Aufgaben auszuführen,
und die Hardware benötigt lediglich einen Tabellennachschlag pro Eingang,
wodurch dann die Systemgeschwindigkeit erhöht wird.
Bei irgendeiner Kodierungsoperation (Datenkompression, Kanalkodierung oder
Fehler-Steuerkodierung) ist es wesentlich, daß die Ursprungsdaten aus den
kodierten Daten erhalten werden können. Mit anderen Worten muß bei einem
gegebenen komprimierten oder anderweitig kodierten Datenstrom eine einzig
artige Folge der Ursprungsdaten vorhanden sein, welche diese Folge erzeugt hat.
Wenn dies der Fall ist, so wird die komprimierte Folge oder der Kompressions
prozeß als einmalig oder eindeutig dekodierbar bezeichnet. Bei der vorliegenden
Erfindung sind die Kodes noch eindeutig dekodierbar. Darüber hinaus besitzen
die Kodes der vorliegenden Erfindung nicht die Präfix-Eigenschaft, sondern sie
sind noch einzigartig dekodierbar. Dies wird offensichtlich, indem man die
Kodierungsentscheidung betrachtet. Es wird die Eingangswahrscheinlichkeit
geschätzt und dazu verwendet, um ein Paar von möglichen Übergängen auszu
wählen. Für irgendein Paar der Übergänge ist ein Übergang in der Lage, einige
der Sequenzen in der ersten Menge zu generieren und der andere Übergang ist
in der Lage, eine vollständig andere Menge der Sequenzen zu generieren. Ein
Dekodierer kann die Bitsequenz, die tatsächlich aufgetreten ist, prüfen. Wenn die
Sequenz sich in der ersten Menge des ersten Übergangs befindet, dann muß der
Kodierer diesen Übergang verwendet haben und es muß der Eingang, der be
wirkt hat, daß dieser Übergang verwendet worden ist, aufgetreten sein. Im
anderen Fall muß die Sequenz in einer anderen Menge vorhanden sein und auch
ein unterschiedlicher Übergang und deswegen auch ein Eingang aufgetreten sein.
Das Dekodieren einer Sequenz kann mit Hilfe des endlichen Automaten erreicht
werden, der die komprimierte Bitsequenz mit einer variablen Rate aufnimmt. Bei
einer Ausführungsform hat der Dekodierer einen Zustand für jeden Zustand in
dem Kodierer und erlaubt die Übergänge, die der Kodierer ausführt. Bei einem
gegebenen Zustand empfängt der Dekodierer den gleichen Wahrscheinlichkeits
schätzwert, den der Kodierer empfangen hat, der Dekodierer prüft den Bitstrom,
der durch den Kodierer erzeugt worden ist, und bestimmt den Übergang, der
aufgetreten sein muß. Der Dekodierer führt den gleichen Übergang aus, welchen
der Kodierer ausgeführt hat, und beseitigt jegliche Bits aus dem Bitstrom, die der
Kodierer bei diesem Übergang hinzugefügt hat.
Die vorliegende Erfindung schafft ein Verfahren zum Generieren von Tabellen
für die Zwangskanalkodierung. Auch dieses Tabellengenerierungsverfahren kann
dazu verwendet werden, um den Automaten für den Bitgenerierungsabschnitt des
binären Entropiekodierers der vorliegenden Erfindung zu erzeugen. Es sei darauf
hingewiesen, daß das weiter unten erläuterte Verfahren nicht notwendigerweise
einen optimalen Automaten für die Bitgenerierung hervorbringt, jedoch einen
Übergangsautomaten schaffen und diesen durch Erhöhen der Zahl der Zustände
verbessert.
In der folgenden Beschreibung werden die folgenden Ausdrücke verwendet, die
unten definiert sind. Ein Endlichzustand-Übergangsdiagramm ist ein randbe
schrifteter Graph. Jeder Scheitelpunkt bildet einen möglichen laufenden Zustand
und die Beschriftungen an den Rändern geben die möglichen Bits in einer Se
quenz an, und zwar ausgehend von diesem Zustand. Wenn eine bestimmte
Sequenz von Bits auftritt, die zu einem der Ränder paßt, wird der Zustand auf
den Terminus bzw. Endpunkt des Randes auf den neuesten Stand gebracht. Der
Folgesatz eines Zustands in einem Endlichzustand-Übergangsdiagramm ist der
Satz aller möglichen Sequenzen, die generiert werden können, indem irgendein
Pfad verfolgt wird, wobei zu Beginn in diesem Zustand gestartet wird. Alle
Folgesätze bei der vorliegenden Erfindung umfassen unendlich viele Elemente
und sind als rekursiv definiert. Für die lauflängenbegrenzten Zwangsdiagramme
sind die Folgesätze dahingehend rekursiv, daß alle Sequenzen, die bei einem
bestimmten Zustand beginnen und zu diesem Zustand zurückkehren, durch
irgendeine der anderen Sequenzen, die sich in diesem Zustand befinden, verfolgt
werden können.
Das Übergangszustandsdiagramm, welches in Fig. 8 herausgegriffen ist, ver
anschaulicht diese rekursive Natur einiger Sequenzen. Gemäß Fig. 8 enthält das
Zustandsdiagramm 800 die Zustände 0-2 und die Übergangsbögen 801-805. Die
Symbole "a" werden als Teil einer Sequenz ausgegeben, wenn der Automat von
dem Zustand 0 in den Zustand 1 überwechselt (über den Übergangsbogen 801).
Die Symbole "b" oder "c" werden als Teil einer Sequenz ausgegeben, wenn der
Automat von dem Zustand 1 in den Zustand 0 überwechselt, was davon abhängig
ist, ob jeweils der Übergangsbogen 802 oder 803 gewählt wird. Das Symbol "c"
wird auch als Teil einer Sequenz ausgegeben, wenn der Automat von dem
Zustand 0 in den Zustand 2 überwechselt (über den Übergangsbogen 805). Das
Symbol "d" wird als Teil der Sequenz ausgegeben, wenn der Automat von dem
Zustand 2 in den Zustand 0 überwechselt (über den Übergangsbogen 804).
Bei der Bestimmung der Folgemenge F für den Zustand 0 muß beachtet werden,
daß die Folgemenge des Zustandes alle möglichen Sequenzen von diesem Zu
stand enthält. Für den Zustand 0 werden die Symbole "ab" ausgegeben, wenn
der Automat von dem Zustand 0 in den Zustand 1 überwechselt und über den
Übergangsbogen 802 zurückkehrt. Da der Automat zu dem Zustand 0 zurückge
kehrt ist, kann der verbleibende Abschnitt der Sequenz irgendeine Zahl des
gesamten Satzes der Sequenzen sein, der bei dem Zustand 0 verfügbar ist, und
zwar an erster Stelle. Das bedeutet, daß alle Sequenzen, die mit den Symbolen
"ab" begonnen haben, alle möglichen Übergänge enthalten, die existiert haben,
bevor der Automat zwischen den Zuständen 0 und 1 gewechselt hat. Da somit
alle die Sequenzen in dem Folgesatz F verfügbar sind, nachdem der Automat
zurück in den Zustand 0 gewechselt hat, können die Sequenzen, die mit den
Symbolen "ab" beginnen, neubenannt werden auf "abF", wobei "F" die Folge
menge wiedergibt. Wenn in ähnlicher Weise der Automat in den Zustand 1 über
wechselt und dann über den Übergangsbogen 803 zurück, werden die Symbole
"ac" ausgegeben und die gesamte Folgemenge verbleibt als mögliche Sequenzen.
Somit können alle Sequenzen, die mit den Symbolen "ac" beginnen, in der
Folgemenge "F" als "acF" charakterisiert werden. Das gleiche gilt für die
Sequenzen, die mit den Symbolen "cd" beginnen. Zusammenfassend enthält die
Folgemenge F für das Zustandsdiagramm in Fig. 8 die Sequenzen F = {abF, acF,
cdF}, wobei F "rekursiv" einen Hinweis auf sich selbst enthält.
Ein Flußdiagramm, welches das Tabellen-Generierungsverfahren der vorliegen
den Erfindung darstellt, ist in Fig. 9 gezeigt. Gemäß Fig. 9 beginnt das erfin
dungsgemäße Verfahren durch Erzeugen eines Anfangsautomaten (Verarbeitungs
block 901) und dann Verbessern des Anfangsautomaten (Verarbeitungsblock
902). Bei der vorliegenden Erfindung wird das Verfahren in Form einer Softwa
re unter Verwendung eines Computersystems realisiert.
Das Verfahren zur Erzeugung eines anfänglichen Automaten gemäß der vor
liegenden Erfindung ist in Fig. 10 gezeigt. Gemäß Fig. 10 beginnt das Verfahren
der Erzeugung eines Anfangszustands-Automaten mit einem Endlich-Zustands-
Übergangsdiagramm (FSTD; finite state transition diagram), welches die Ein
schränkung oder Zwang, die Fehlerkorrektur-Einschränkung oder Zwang oder
den Bitgenerierungsabschnitt des binären Entropiekodierers (Verarbeitungsblock
1001) wiedergibt.
Unter Verwendung von FSTD wird der Folgesatz für jeden Zustand in den
FSTD generiert (Verarbeitungsblock 1002). Die Folgemenge kann häufig eine
unendliche Menge sein. Wie jedoch oben dargelegt wurde, kann es dann, wenn
die Folgemenge unendlich ist, möglich sein, die Menge durch eine rekursive
Definition zu beschriften.
Nachdem die Folgemenge generiert worden ist, wird die Folgemenge in zwei
Teilmengen aufgeteilt, und zwar basierend auf dem ersten möglichen Symbol
(Verarbeitungsblock 1003). Mit anderen Worten, wo eine Menge alle Sequenzen
enthält, die mit dem gleichen Symbol beginnen, so kann dieses Symbol ein
Ausgang für den Übergang werden. Es sei erwähnt, daß dort, wo die Sequenzen
mit der gleichen Menge von Symbolen beginnen, diese Symbole die Ausgabe für
den Übergang werden können. Beispielsweise kann F = {abF, acF, cdF} aufge
spalten werden in {abF, acF} und {cdF}.
Es wird für jede Teilmenge ein Ü 21714 00070 552 001000280000000200012000285912160300040 0002004437790 00004 21595bergang erzeugt (Verarbeitungsblock 1004).
Wenn bei der vorliegenden Erfindung alle Teile der Teilmenge den gleichen
Anfang haben, so wird der gemeinsame Anfang einer Ausgabe zugeordnet und
die Folgemenge wird revidiert. Wenn die Folgemenge bereits als ein Zustand
existiert, dann wird dieser Zustand zu dem Endpunkt des Übergangs gemacht.
Beispielsweise kann mit {abF, acF} "a" dem Übergang hinzugefügt werden und
es wird dann {bF, cF} die neue Menge. Wenn die Folgemenge nicht als ein
Zustand existiert, wird ein neuer Zustand geschaffen, und zwar mit dieser
Menge als der Folgemenge.
Nachdem ein Übergang für jede Teilmenge erzeugt worden ist, bestimmt ein
Test, ob alle die Zustände einen Ausgangsübergang besitzen (Verarbeitungsblock
1005). Wenn alle die Zustände einen Ausgangsübergang aufweisen, ist die
anfängliche FSTD-Erzeugung vervollständigt. Wenn einer oder mehrere der
Zustände keinen Ausgangsübergang besitzen, wird die Verarbeitung bei den
Blöcken 1003 und 1004 für jeden Zustand fortgesetzt, der noch nicht einen
Ausgangsübergang besitzt. Die Erzeugungsstufe wird möglicherweise beendet,
da eine endliche Anzahl von Übergängen in der FSTD existieren.
Die vorliegende Erfindung schafft einen Automaten, der eine willkürliche Bitfol
ge in eine Folge übersetzt, welche die Kanalbeschränkung erfüllt, und zwar
einfach durch Verwenden eines der Übergänge für einen "0"-Eingang und des
anderen Übergangs für einen "1"-Eingang. Eine Kompression kann erzeugt
werden, wenn einer der Eingänge wahrscheinlicher ist als der andere und dieser
Eingang wird immer dem Übergang zugeordnet, der zu den kürzeren Sequenzen
(im Schnitt) führt.
Der endliche Automat, der aus den folgenden Schritten abgeleitet wird, ist in
Fig. 10 dargestellt und kann nicht gut Daten komprimieren oder expandiert sogar
Daten, wenn die Wahrscheinlichkeiten nicht die Erwartungen erfüllen. Die
Ausführung des endlichen Automaten kann in jedem Fall dadurch verbessert
werden, indem man mehrere Übergänge zu jedem Zustand hinzufügt. Dann,
unter Verwendung des Schätzwertes von dem Wahrscheinlichkeitsschätzwertauto
maten, wird ein Übergangspaar ausgewählt, welches eine Schräge oder Neigung
hat, die nicht bei der geschätzten Schräge oder Neigung liegt und das Resultat
wird dann dazu verwendet, zu bestimmen, welcher Übergang des Paares dazu
verwendet werden soll, um das Eingangssymbol zu kodieren.
Eine Ausführungsform des Verfahrens zum Verbessern des endlichen Automaten
ist in dem Flußdiagramm nach Fig. 11 gezeigt. Gemäß Fig. 11 wird erfindungs
gemäß zu Beginn der Teil des Automaten gefunden, welcher die schlechteste
Qualität gemäß einigen Kriterien besitzt (Verarbeitungsblock 1101). Die schlech
teste Ausführungsqualität kann gemäß dem größten Zwischenraum in den Wahr
scheinlichkeiten zwischen zwei Übergängen identifiziert werden.
Als nächstes wird die Wahrscheinlichkeit bestimmt, welche die Ausführungs
qualität verbessern würde, wenn ein Übergang bei dieser Wahrscheinlichkeit
vorhanden wäre (Verarbeitungsblock 1102). Die Identifizierung einer solchen
Wahrscheinlichkeit ist anwendungsabhängig. Beispielsweise kann bei einer
Anwendung die Auswahl der Wahrscheinlichkeit dadurch auftreten, indem eine
Wahrscheinlichkeit zwischen zwei Endpunkt-Wahrscheinlichkeiten gewählt wird.
Wenn beispielsweise ein Übergang zwischen 0,5 und 0,95 existiert, kann einer
am Mittelpunkt 0,725 hinzugefügt werden, der aus dem Mittelwert abgeleitet
wird. Es können andere Entscheidungsverfahren verwendet werden, um die
erwartete Ausgangslänge minimal zu gestalten.
Es wird dann die Folgemenge in zwei untergeordnete Sätze aufgeteilt, derart,
daß die relative Größe dicht bei der Wahrscheinlichkeit liegt, um die Ausfüh
rungsqualität zu verbessern (Verarbeitungsblock 1103). Mit anderen Worten wird
die Menge so aufgeteilt, daß die kumulativen Wahrscheinlichkeiten in einer der
Mengen gleich ist mit oder relativ dicht bei der gewünschten Wahrscheinlichkeit
ist bzw. liegt.
Es wird dann für jede Teilmenge ein Übergang erzeugt (Verarbeitungsblock
1104), und zwar in der gleichen Weise wie diejenige, bei dem anfänglichen
Erzeugungsverfahren (d. h. dem Verarbeitungsblock 1004). Wenn bei der vor
liegenden Erfindung alle Glieder der Teilmenge den gleichen Anfang haben,
wird der gemeinsame Anfang als ein Ausgang zugeordnet und die Folgemenge
wird revidiert. Wenn die Folgemenge bereits als ein Zustand existiert, wird
dieser Zustand als Endpunkt des Überganges gewählt. Wenn die Folgemenge
nicht als ein Zustand existiert, wird ein neuer Zustand mit dieser Menge als der
Folgemenge kreiert.
Ein Test bestimmt dann, ob ein Beendigungskriterium erfüllt worden ist (Ver
arbeitungsblock 1105). Wenn das Kriterium erfüllt worden ist, endet der Prozeß.
Die Prozeßblöcke 1101-1104 werden wiederholt, bis ein Beendigungskriterium
befriedigt wird. Bei einer Ausführungsform kann dieses Kriterium entweder
darin bestehen, daß eine maximale Zahl von Zuständen erreicht worden ist oder
ein gewünschter Ausführungsqualitätswert erreicht worden ist. Qualitätswerte
können dadurch bestimmt werden, indem man die Ausführung bzw. Qualität des
Automaten gegenüber der Shannon-Grenze mißt. Bei einer Ausführungsform
kann die mittlere Ausgangslänge von typischen Dateien berechnet werden und
wenn die Mittelwertlänge ein vorbestimmtes Minium erreicht, endet der Prozeß
der vorliegenden Erfindung.
Bei einigen Fällen kann das Automatengenerierungsverfahren der vorliegenden
Erfindung einen Automaten verbessern, ohne Hinzufügung irgendeines Zustan
des. Bei anderen Situationen können ein Paar Zustände zum Automaten hin
zugefügt werden. Dieses Verfahren kann wiederholt angewandt werden, bis ein
Automat der wünschten Größe und Qualität erreicht ist.
Die Fig. 12, 13A und 13B zeigen ein Beispiel des Verfahrens der vorliegenden
Erfindung. Fig. 12 veranschaulicht ein FSTD, welches lediglich Sequenzen
zuläßt, welche die RLL(1,3)-Kodebeschränkung erfüllt. Somit beschreibt Fig. 12
einen eingeschränkten oder Zwangskanal. Es sei erwähnt, daß Fig. 12 mit nur
einem Zustand dargestellt wurde, obwohl es möglich ist, ein äquivalentes Dia
gramm mit drei oder vier Zuständen zu zeichnen.
Das FSTD, welches in Fig. 12 gezeigt ist, repräsentiert das FSTD, welches bei
der ersten Stufe der Automaten-Generierung nach der vorliegenden Erfindung
erforderlich ist. Wenn einmal das anfängliche FSTD identifiziert ist, wird die
Folgemenge erzeugt. Die Folgemenge besitzt eine unendliche Größe, kann
jedoch wiedergegeben werden als F = {10F, 100F, 1000F}, wobei die Menge
aus 10, gefolgt von irgendetwas in der Menge, besteht oder aus "100", gefolgt
von irgendetwas in der Menge, besteht oder aus "1000", gefolgt von irgendetwas
in der Menge, besteht. Nachdem die Folgemenge F identifiziert worden ist, kann
die Menge F aufgeteilt werden in zwei untergeordnete Mengen Fa = {10F} und
Fb = {100F, 1000F}.
Da die Menge Fa immer mit "10" beginnt, kann dies dem Ausgang eines Über
gangs zugeordnet werden. Dies macht den Folgemenge unmittelbar zu F, was
bereits einen Zustand bedeutet, und somit kann die Bestimmung für diesen
Übergang der Zustand 0 sein. Die zweite Teilmenge Fb beginnt immer mit 100,
so daß dies dem Ausgang zugeordnet werden kann, wobei {F, 0F} als Folgemen
ge verbleibt. Die Menge existiert nicht und somit wird ein neuer Zustand kreiert.
Im Falle der Fig. 13A wurde nichts zu dem Übergang hinzugefügt, so daß die
Menge als {100F, 1000F} verbleibt.
Der neue Zustand besitzt keinerlei Ausgangsübergänge, so daß es erforderlich
ist, dessen Folgemenge zu splitten. Dies kann dadurch erreicht werden, indem
man Fc = {100F} und Fd = {1000F} erzeugt. Die Menge Fc ist äquivalent zu
100, gefolgt von F, so daß kein Ausgang 100 zu dem Übergang hinzugefügt
wird, und ein Übergang in den Zustand 1000 durchgeführt werden kann. Fd
beginnt immer mit 0. Daher kann dies dem Ausgang zugeordnet werden und der
Übergang kann in den Zustand 0 erfolgen. Nun gibt es keine Zustände mehr, die
keine Ausgangsübergänge besitzen, so daß also ein Anfangsautomat kreiert
worden ist. Dieser Automat ist in Fig. 13A gezeichnet. Gemäß Fig. 13A wurden
die Folgemengen entlang den Übergängen und bei den zwei Zuständen aufgeli
stet. Auch sind die Ausgänge bei jedem Übergang aufgelistet. Jeder Zustand
besitzt zwei Ausgangsübergänge, indem ein Null-Eingang für die Verwendung
des ersten Übergangs zugeordnet wird und ein Eins-Eingang für die Verwendung
des zweiten Übergangs zugeordnet wird, so daß also ein Automat äquivalent dem
einen in der Tabelle 4 kreiert worden ist. Im Falle der Fig. 13A wurde nichts zu
dem Übergang hinzuaddiert, so daß die Menge mit {100F, 1000F} verbleibt.
Dieser Automat kann dadurch verbessert werden, indem man das Verfahren,
welches in Fig. 11 beschrieben ist, verwendet. Zu Beginn wird der schlechteste
Zustand identifiziert. Es sei angenommen, daß der schlechteste Zustand der
Zustand 0 ist, so daß dann irgendein Übergang bei einer Wahrscheinlichkeit, die
verschieden von der laufenden Wahrscheinlichkeit ist, die Ausführungsqualität
verbessern wird. Es sei angenommen, daß es wünschenswert ist, einen Übergang
für die Wahrscheinlichkeiten dicht bei 0,70 hinzuzufügen. Es ist eine neue
Teilung der Menge F möglich. Wenn Fe = {100F} und Ff = {10F, 1000F} ist,
so wird dadurch die Menge in einer unterschiedlichen Weise aufgeteilt und es
befinden sich grob 70% der möglichen Sequenzen in der Menge Ff. Fig. 13B
veranschaulicht ein solches Endlichzustands-Übergangsdiagramm.
Die Übergänge werden dann erzeugt. Gemäß Fig. 13B kann die Menge Fe zu
einem Übergang gemacht werden, indem 100 zum Ausgang gemacht wird und
der Zustand 0 die Bestimmung ist. Die Menge Ff bewirkt, daß 10 ausgegeben
wird und ein Übergang in einen neuen Zustand erfolgt, wobei die Folgemenge
zu {F, 00F} gemacht wird. Zu diesem neuen Zustand kann ein Übergang da
durch hinzugefügt werden, indem die Menge gesplittet wird in {F} und {00F}.
Beide dieser Übergänge können auf den Zustand 0 zurückkehren, und zwar mit
einem geeigneten Ausgang. Dieser verbesserte Automat ist äquivalent demjeni
gen, der in der Tabelle 5 aufgelistet ist, und erlaubt eine gewisse Kompression
bei hohen Schrägen (skews).
In Verbindung mit dem Beendigungskriterium sei bei diesem Beispiel angenom
men, daß die maximal gewünschte Zahl von Zuständen gleich Drei ist. Daher hat
das automatische Automatgenerierungsverfahren der vorliegenden Erfindung sein
Beendigungskriterium erfüllt und endet.
Ein anderes Beispiel für die Verwendung des Automat-Generierungsverfahrens
ist in den Fig. 14 und 15 veranschaulicht. Fig. 14 veranschaulicht ein Endlichzu
stand-Übergangsdiagramm für einen Morse-Kode. Um die Verwendung des
Kanals zu maximieren, ist es wünschenswert, den "." (Punkt) mehr zu verwen
den als den "-"(Strich), da der Punkt weniger Raum beansprucht. Für den Rest
des Beispiels sind die Worte "Punkt" und "Strich" für deren Symbole in dem
Text und den Zeichnungen substituiert. Die maxentropischen Wahrscheinlichkei
ten (solche, die zu einer äußerst wirksamen Verwendung des Kanals führen) für
jeden der Übergänge liegen bei 68,23% (oder 0,6823) für den Punkt und
31,77% (oder 0,3177) für den Strich, wobei angenommen ist, daß der Strich und
der Leerraum danach die dreifache Dauer des Punktes und dessen Leerraum hat.
Somit repräsentiert dieses Zustandsübergangsdiagramm in angemessener Weise
den Fall gemäß ca. 70%. Dieses Zustandsübergangsdiagramm kann dazu ver
wendet werden, um eine Kanalmodulation durchzuführen, es würde jedoch nicht
angemessen für eine Datenkompression sein, und zwar bei Wahrscheinlichkeiten,
die weit von 0,70 abliegen. Beispielsweise ist es nicht wirksam für den 0,50
Fall.
Um ein Endlichzustand-Übergangsdiagramm zu erzeugen, welches dem 50%-Fall
besser entspricht, werden die Länge-Zwei-Sequenzen geprüft anstelle der Länge-
Eins-Sequenzen. Da zwei Symbole, Punkt und Strich, vorhanden sind, gibt es
vier Länge-Zwei-Sequenzen. Die vier Länge-Zwei-Sequenzen und deren zu
geordnete Wahrscheinlichkeiten des Auftretens (bestimmt durch Multiplizieren
der unabhängigen Wahrscheinlichkeiten des Auftretens miteinander) sind wie
folgt: Punkt-Punkt (0,466), Punkt-Strich (0,217), Strich-Punkt (0,217), Strich-
Strich (0,10). Dies veranschaulicht die Folgemenge bis zu einem Ausmaß, bei
dem alle Längen-Zwei-Sequenzen für jede mögliche Übergangsbahn von einem
ersten Zustand aus herausgegriffen sind.
Da ein Zustand nur erlaubt ist für zwei ausgehende Übergänge pro Wahrschein
lichkeitsklasse, wird diese Menge in zwei Mengen getrennt. Die Wahl der
Inhalte der Mengen basiert auf den gewünschten Wahrscheinlichkeiten. Wenn ein
50%-Fall gewünscht wird, können die zwei Sätze sein [Punkt-Punkt] und [Punkt-
Strich, Strich-Punkt, Strich-Strich], da die Wahrscheinlichkeit von [Punkt-Punkt]
ca. 0,50 (d. h. sie ist 0,466) beträgt. [Punkt-Punkt] repräsentiert dann den Wert,
welcher dem ersten Übergangsbogen 1501 zugeordnet ist, der den Zustand 0
verläßt. Da ferner auch die Wahrscheinlichkeit unter 50% liegt, wird die Se
quenz [Punkt-Punkt] als LPS bezeichnet. Der zweite Übergangsbogen 1502 wird
dann als MPS bezeichnet; dem Übergang ist kein Ausgang zugeordnet. Es sei
erwähnt, daß sich dies aufgrund der Tatsache ergibt, daß kein gemeinsames
Präfix in den Symbolen dieser Gruppe vorhanden ist.
Einmal beim Zustand 4 angelangt, müssen zwei ausgehende Übergänge identifi
ziert werden. Es muß daher der Satz [Punkt-Strich, Strich-Punkt, Strich-Strich]
getrennt werden. Um den 50%-Fall besser nachzubilden, wird die Auswahl der
Menge durchgeführt, um diese Menge so dicht wie möglich bei 50% zu trennen.
Eine Normalisierung der Möglichkeiten in der Menge führt zu Wahrscheinlich
keiten für [Punkt-Strich] bei 0,406, [Strich-Punkt] bei 0,406 und [Strich-Strich]
bei 0,188. Im Hinblick darauf wird entweder [Punkt-Strich] oder [Strich-Punkt]
als die LPS gewählt. Wie in Fig. 15 gezeigt ist, stellt der Übergangsbogen 1506
einen [Punkt-Strich]-Übergang zurück zum Zustand 0 dar. Der andere Über
gangsbogen 1503, der den Zustand 1 verläßt, ist als das MPS-Symbol bezeich
net, da die Wahrscheinlichkeiten in dem Satz größer sind als 0,5. Der Über
gangsbogen 1503 geht in den Zustand 2 ohne irgendeinen Ausgang über.
Bei dem Zustand 2 müssen die zwei Übergänge identifiziert werden. Da nur
zwei Symbole verbleiben, [Strich-Punkt, Strich-Strich], ist jedes einem der
Übergangsbögen 1504 und 1505 zugeordnet. Die Übergänge kehren alle zum
Zustand 0 zurück, da nach einer solchen Transaktion alle möglichen Längen-
Zwei-Sequenzen für ein Überwechseln verfügbar sein müssen.
Es sei erwähnt, daß die ursprüngliche Wahrscheinlichkeitsverteilung bei dem
Zustand 0 als Bögen 1510 und 1511 mit eingeschlossen wurde. Abhängig von
dem Wahrscheinlichkeitsschätzwert werden entweder die durchgehenden Linien
oder die strichlierten Linien ausgewählt. Es können alle Zustände so ausgelegt
werden, daß sie Vielfachbögen enthalten, ausgewählt auf der Grundlage der
Wahrscheinlichkeit. Auf diese Weise kann der Automat, der in Fig. 15 definiert
ist, für die Datenkompression und eine andere Aufgabe, wie für eine Kanalkodie
rung, verwendet werden.
Die Fig. 16A-16D zeigen Darstellungen von vier spezifischen Ausführungs
formen von Automat-Übergangsmatrizen, die unter Verwendung des Tabellen-
Generierungsverfahrens der vorliegenden Erfindung erzeugt wurden. Für jeden
veranschaulichten Automat (state machine) entspricht die erste Menge von drei
Spalten der "Y"-Entscheidung (wahrscheinlich) oder MPS, während die zweite
Menge der drei Spalten der "N"-Entscheidung entspricht. Die letzte Spalte gibt
die Wahrscheinlichkeiten an. Fig. 16D veranschaulicht eine Tabelle zum Durch
führen einer binären Kompression.
Gemäß Fig. 16a ist ein Zwei-Zustands-Automat-Übergangsdiagramm gezeigt.
Übergangspaare sind als Spalten (1) und (2) beschriftet. Wenn der Automat sich
in dem Zustand SO befindet und die Schwelle (Wahrscheinlichkeitsschätzwert)
größer ist als 0,644, bleiben die zwei legalen Übergänge im Zustand SO und es
wird eine Bitfolge "11" für eine N(Nein)-Entscheidung ausgegeben oder wech
seln in den Zustand S1 über und es wird überhaupt keine Bitfolge für eine Y(Ja)-
Entscheidung ausgegeben. Wenn die Schwelle (Wahrscheinlichkeitsschätzwert)
unter 0,644 im Zustand SO liegt, verbleiben die zwei legalen Übergänge im
Zustand SO und es wird eine Bitfolge "1" für eine N(Nein)-Entscheidung ausge
geben, oder verbleiben in dem Zustand SO und es wird eine Bitfolge "0" für
eine Y(Ja)-Entscheidung ausgegeben. Wenn der Automat sich in dem Zustand S1
befindet, müssen die zwei legalen Übergänge in den Zustand SO überwechseln
und es wird für eine N(Nein)-Entscheidung eine Bitfolge "10" ausgegeben oder
sie müssen in den Zustand SO überwechseln und es wird eine Bitfolge "0" für
eine Y(Ja)-Entscheidung ausgegeben.
Das Verfahren nach der vorliegenden Erfindung wird unter Verwendung einer
Computer-Software realisiert. Eine solche Software kann so ausgelegt werden,
daß Übergangszustand-Automaten gemäß einigen Kriterien generiert werden, wie
beispielsweise ein Wunsch 50% Übergänge zu haben, eine begrenzte oder
spezifische Zahl von Zuständen oder eine begrenzte oder spezifische Zahl von
Wahrscheinlichkeitsklassen zu haben.
Es wird somit das Automatgenerierungsverfahren der vorliegenden Erfindung
dazu verwendet, um endliche Automaten zu schaffen, um willkürliche Bitströme
in Bitströme umzusetzen, die verschiedene lauflängenbegrenzte Einschränkungen
oder Zwänge erfüllen als auch für andere beschränkte Kanäle. Es erlaubt auch,
größere Automaten für normalerweise nicht beschränkte binäre Kanäle zu er
stellen.
Der binäre Entropiekodierer der vorliegenden Erfindung kodiert gewöhnlich
binäre Eingangsgrößen. Es ist für den binären Entropiekodierer möglich, ein
geringfügig größeres Alphabet zu kodieren. Um beispielsweise ein Alphabet mit
drei Symbolen zu kodieren (a, b, c), ist es erforderlich, drei Übergänge her
auszugreifen, von jedem Zustand anstelle von nur zwei. Ein Übergang wird jeder
Zahl des Alphabets zugeordnet. Wie oben beschrieben wurde, wird bei dem
endlichen Automat-Generierungsverfahrensabschnitt die Folgemenge in drei nicht
aneinandergefügte Teilmengen anstelle in zwei gesplittet. Dies ist ziemlich
annehmbar für feste Wahrscheinlichkeitssymbole, wird jedoch sehr schwierig bei
Änderung der Wahrscheinlichkeitsverteilungen. Obwohl somit der binäre En
tropiekodierer der vorliegenden Erfindung ein geringfügig größeres Alphabet
kodieren kann, wird die Zustandstabellenerzeugung bei einer bestimmten Stelle
leitbar oder steuerbar.
Im Falle von drei Symbolen sind Schätzungen von zwei Wahrscheinlichkeiten
erforderlich, um jede Verteilung zu spezifizieren. Dies alleine verdoppelt die
Wahrscheinlichkeitsschätz-Eingangsgrößen, die für eine Nachschlagtabelle
erforderlich sind. Für jede Kombination von Schätzungen für diese zwei Sym
bole muß ein unterschiedliches Übergangstriple vorhanden sein. Bei zu vielen
Eingangssymbolen wird es erforderlich, daß das Kontextmodell eine Aufteilung
in binäre Entscheidungen erfährt.
Die vorliegende Erfindung schafft die Voraussetzungen für die Verwendung
endlicher Automaten für eingeschränkte oder begrenzte Kanäle. Obwohl diese
endlichen Automaten bei Diskantrieben verwendet werden können, können sie
auch bei eingeschränkten Kanälen angewandt werden, die bei CD-ROMs ver
wendet werden, ebenso bei löschbaren optischen Disks und selbst bei einem
Faseroptikkanal.
Die vorliegende Erfindung schafft auch die Voraussetzung dafür, um einen
gleichzeitigen Betrieb der Bitgenerierung und der Kanalkodierung oder Fehler
korrektur zu realisieren. Darüber hinaus wurde auch ein Verfahren zur automati
schen Generierung von endlichen Automaten zur Durchführung dieser Aufgaben
beschrieben. Das Verfahren nach der vorliegenden Erfindung, welches die
Erzeugung eines endlichen Zustandes erlaubt, ist erforderlich, um befähigt zu
sein, Automaten für die früheren Verbindungs-(Joint-)Operationen zu erzeugen.
Diese Technologie kann nützlich sein bei magnetischen Diskantrieben, CD-
ROMs, magneto-optischen Antrieben oder für irgendeine Situation, bei der
eingeschränkte oder mit einem Zwang belegte Kanäle und/oder eine Fehler
korrektur angewandt werden.
Obwohl die Erfindung in Verbindung mit bevorzugten Ausführungsformen
beschrieben worden ist, ist es offensichtlich, daß eine Reihe von Abwandlungen,
Modifikationen und Ausgestaltungen möglich sind, die für den Fachmann im
Rahmen der vorangegangenen Beschreibung offensichtlich sind.
Es wurde somit ein Verfahren und ein Gerät zum Generieren eines Bitstromes
beschrieben.
Claims (44)
1. Verfahren zur Durchführung einer Kanalmodulation bei einem Eingangs
bitstrom mit einer Vielzahl von Eingangsbits, wobei das Verfahren die folgenden
Schritte aufweist:
Vorsehen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und wobei jeder Übergang in dem wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, der ausgegeben wird, wenn jeder Übergang ausgewählt ist, und wobei ferner das wenigstens eine Übergangspaar gemäß einem Abschnitt der Vielzahl der Eingangsbits gewählt wird und wobei jeder der Ausgabebitströme eine kanalkodierte Wiedergabe des Abschnitts des Abschnitts der Vielzahl der Eingangsbits umfaßt,
Lokalisieren bzw. Festlegen eines Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist und Überwechseln in einen nächsten Zustand, wobei eine variable Zahl von Bits von dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird, und wobei eine Vielzahl der Ausgangsbits als Antwort auf den Eingangsbitstrom generiert werden und wobei die Vielzahl der Ausgangsbits repräsentativ sind für eine Vielzahl von Ausgangsbitströmen in solcher Weise, daß der Eingangsbitstrom kanalkodiert wird.
Vorsehen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und wobei jeder Übergang in dem wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, der ausgegeben wird, wenn jeder Übergang ausgewählt ist, und wobei ferner das wenigstens eine Übergangspaar gemäß einem Abschnitt der Vielzahl der Eingangsbits gewählt wird und wobei jeder der Ausgabebitströme eine kanalkodierte Wiedergabe des Abschnitts des Abschnitts der Vielzahl der Eingangsbits umfaßt,
Lokalisieren bzw. Festlegen eines Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist und Überwechseln in einen nächsten Zustand, wobei eine variable Zahl von Bits von dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird, und wobei eine Vielzahl der Ausgangsbits als Antwort auf den Eingangsbitstrom generiert werden und wobei die Vielzahl der Ausgangsbits repräsentativ sind für eine Vielzahl von Ausgangsbitströmen in solcher Weise, daß der Eingangsbitstrom kanalkodiert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt des
Vorsehens einen Auswahlschritt umfaßt zur Auswahl des Bitstroms für jeden der
Übergänge gemäß der Kanalbeschränkung.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Bitstrom
für jeden der Übergänge derart ausgewählt wird, daß die Bitstrom-Ausgabe eine
lauflängenbegrenzte Kodierung der Vielzahl der Eingangsbits wiedergibt.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder Abschnitt
der Vielzahl der Eingangsbits ein Bit umfaßt.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jeder der
Ausgangsbitströme eine komprimierte Wiedergabe des Abschnitts der Vielzahl
der Eingangsbits umfaßt, in solcher Weise, daß der Eingangsbitstrom kompri
miert und kanalkodiert wird.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Erzeu
gungsschritt einen Auswahlschritt umfaßt, bei dem der Bitstrom dafür ausgewählt
wird, kanalkodiert zu werden und komprimiert zu werden.
7. Verfahren zur Durchführung einer Kanalmodulation bei einem Eingabebit
strom mit einer Vielzahl von Eingangsbits, wobei das Verfahren die folgenden
Schritte aufweist:
Vorsehen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und wobei jeder Übergang in dem wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, wobei jeder Ausgabebitstrom eine komprimierte und kanalkodierte Wiedergabe von einem der Vielzahl der Eingangsbits umfaßt,
Festlegen eines Übergangs in dem wenigstens einen Übergangspaar in einem der Zustände gemäß dem einen der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist, wobei eine variable Zahl von Bits von dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird, und wobei eine Vielzahl der Ausgangsbits abhängig von dem Eingangsbitstrom generiert wird und wobei die Vielzahl der Ausgangsbits eine Vielzahl der Ausgabebitströme in solcher Weise wiedergibt, daß der Eingangsbitstrom komprimiert und kanalko diert wird.
Vorsehen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und wobei jeder Übergang in dem wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, wobei jeder Ausgabebitstrom eine komprimierte und kanalkodierte Wiedergabe von einem der Vielzahl der Eingangsbits umfaßt,
Festlegen eines Übergangs in dem wenigstens einen Übergangspaar in einem der Zustände gemäß dem einen der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist, wobei eine variable Zahl von Bits von dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird, und wobei eine Vielzahl der Ausgangsbits abhängig von dem Eingangsbitstrom generiert wird und wobei die Vielzahl der Ausgangsbits eine Vielzahl der Ausgabebitströme in solcher Weise wiedergibt, daß der Eingangsbitstrom komprimiert und kanalko diert wird.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Erzeu
gungsschritt einen Auswahlschritt umfaßt, um einen Bitstrom für jeden der
Übergänge gemäß einer Kanalbeschränkung oder -einschränkung auszuwählen.
9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß der Bitstrom
für jeden der Übergänge so ausgewählt wird, daß die Bitstrom-Ausgabe eine
lauflängenbegrenzte Kodierung der Vielzahl der Eingangsbits wiedergibt.
10. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß ein Übergangs
schritt in einen nächsten Zustand nach der Ausgabe des Bitstroms durchgeführt
wird, wobei der nächste Zustand durch den Übergang angezeigt wird.
11. Verfahren zur Durchführung einer Kanalmodulation an einem Eingabebit
strom mit einer Vielzahl von Eingangsbits, wobei das Verfahren die folgenden
Schritte umfaßt:
Empfangen eines ersten Schwellenwertes für einen der Vielzahl der Eingänge,
Empfangen einer ersten Anzeige für den einen der Vielzahl der Eingänge, wobei die erste Anzeige anzeigt, ob einer der Vielzahl der Eingänge innerhalb einem der Vielzahl der möglichen ersten Zustände gelegen ist,
Auswählen einer aus einer Vielzahl von Mengen von Übergängen in einem einer Vielzahl von Übergangszuständen gemäß dem ersten Schwellenwert, wobei jeder Übergang in der Vielzahl der Mengen der Übergänge einem Aus gang und einem nächsten Zustand innerhalb der Vielzahl der Übergangszustände zugeordnet ist und wobei ferner jeder Ausgang eine kanalmodulierte Wiedergabe eines Abschnitts der Vielzahl der Eingangsbits umfaßt,
Auswählen eines Übergangs aus dem einen einer Vielzahl von Mengen der Übergänge gemäß der ersten Anzeige, und
Ausgeben des dem Übergang zugeordneten Ausgangs, wobei eine variable Zahl von Bits von dem Übergangsautomaten für jedes der Vielzahl der Eingangs bits in solcher Weise ausgegeben wird, daß der Eingangsbitstrom kanalkodiert wird.
Empfangen eines ersten Schwellenwertes für einen der Vielzahl der Eingänge,
Empfangen einer ersten Anzeige für den einen der Vielzahl der Eingänge, wobei die erste Anzeige anzeigt, ob einer der Vielzahl der Eingänge innerhalb einem der Vielzahl der möglichen ersten Zustände gelegen ist,
Auswählen einer aus einer Vielzahl von Mengen von Übergängen in einem einer Vielzahl von Übergangszuständen gemäß dem ersten Schwellenwert, wobei jeder Übergang in der Vielzahl der Mengen der Übergänge einem Aus gang und einem nächsten Zustand innerhalb der Vielzahl der Übergangszustände zugeordnet ist und wobei ferner jeder Ausgang eine kanalmodulierte Wiedergabe eines Abschnitts der Vielzahl der Eingangsbits umfaßt,
Auswählen eines Übergangs aus dem einen einer Vielzahl von Mengen der Übergänge gemäß der ersten Anzeige, und
Ausgeben des dem Übergang zugeordneten Ausgangs, wobei eine variable Zahl von Bits von dem Übergangsautomaten für jedes der Vielzahl der Eingangs bits in solcher Weise ausgegeben wird, daß der Eingangsbitstrom kanalkodiert wird.
12. Verfahren nach Anspruch 11, gekennzeichnet durch einen Schritt des
Überwechselns in den nächsten Zustand, der dem Übergang zugeordnet ist, in
solcher Weise, daß ein Übergang innerhalb des nächsten Zustandes unter Ver
wendung eines zweiten Schwellenwertes und einer zweiten Anzeige, die einem
Eingang entspricht, der unmittelbar auf einen der Vielzahl der Eingänge folgt,
ausgewählt wird.
13. Verfahren zur Durchführung einer Fehlerkorrekturkodierung an einem
Eingabebitstrom mit einer Vielzahl von Eingangsbits, wobei das Verfahren die
folgenden Schritte aufweist:
Schaffen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und jeder Übergang in dem wenigstens einen Übergangspaar einem Ausgangsbit strom zugeordnet ist, und wobei das wenigstens eine Übergangspaar gemäß einem Abschnitt der Vielzahl der Eingangsbits ausgewählt wird und wobei ferner jeder Ausgabebitstrom eine kanalkodierte und komprimierte Wiedergabe des Ab schnitts der Vielzahl der Eingangsbits umfaßt,
Positionieren eines Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist und Überwechseln in den nächsten Zustand, wobei eine Vielzahl von Ausgangsbits in Abhängigkeit von dem Eingabebitstrom generiert werden, und wobei die Viel zahl der Ausgangsbits eine Vielzahl von Ausgabebitströmen umfassen, derart, daß der Eingabebitstrom fehlerkorrekturkodiert und kanalkodiert wird.
Schaffen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und jeder Übergang in dem wenigstens einen Übergangspaar einem Ausgangsbit strom zugeordnet ist, und wobei das wenigstens eine Übergangspaar gemäß einem Abschnitt der Vielzahl der Eingangsbits ausgewählt wird und wobei ferner jeder Ausgabebitstrom eine kanalkodierte und komprimierte Wiedergabe des Ab schnitts der Vielzahl der Eingangsbits umfaßt,
Positionieren eines Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist und Überwechseln in den nächsten Zustand, wobei eine Vielzahl von Ausgangsbits in Abhängigkeit von dem Eingabebitstrom generiert werden, und wobei die Viel zahl der Ausgangsbits eine Vielzahl von Ausgabebitströmen umfassen, derart, daß der Eingabebitstrom fehlerkorrekturkodiert und kanalkodiert wird.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß jeder Ab
schnitt der Vielzahl der Eingangsbits ein Bit umfaßt.
15. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die Fehler
korrekturkodierung aus einem Faltungskode besteht.
16. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die Fehler
korrekturkodierung aus einem Gitterkode (trellis code) besteht.
17. Verfahren nach Anspruch 13, gekennzeichnet durch einen Überwechsel
schritt in einen nächsten Zustand nach der Ausgabe des Bitstroms, wobei der
nächste Zustand durch den Übergang angezeigt wird.
18. Verfahren zur Durchführung einer Fehlerkorrektur an einem Eingabebit
strom mit einer Vielzahl von Eingangsbits, wobei das Verfahren die folgenden
Schritte aufweist:
Schaffen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und jeder der Übergänge in dem wenigstens einen Übergangspaar einem Aus gabebitstrom zugeordnet ist, und jeder Ausgabebitstrom eine komprimierte und fehlerkorrekturkodierte Wiedergabe von einem der Vielzahl der Eingangsbits ist,
Anordnen eines Übergangs in dem wenigstens einen Übergangspaar in einem der Zustände gemäß dem einen der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist, wobei eine variable Zahl von Bits aus dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird und eine Vielzahl der Ausgangsbits in Abhängigkeit von dem Eingabebitstrom generiert werden und wobei die Vielzahl der Ausgangsbits eine Vielzahl von Ausgabebitströmen wiedergibt, derart, daß der Eingabebitstrom komprimiert wird und fehlerkorrek turkodiert wird.
Schaffen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jede der Vielzahl der Zustände wenigstens ein Übergangspaar aufweist und jeder der Übergänge in dem wenigstens einen Übergangspaar einem Aus gabebitstrom zugeordnet ist, und jeder Ausgabebitstrom eine komprimierte und fehlerkorrekturkodierte Wiedergabe von einem der Vielzahl der Eingangsbits ist,
Anordnen eines Übergangs in dem wenigstens einen Übergangspaar in einem der Zustände gemäß dem einen der Vielzahl der Eingangsbits, und
Ausgeben des Ausgangsbitstroms, der dem Übergang zugeordnet ist, wobei eine variable Zahl von Bits aus dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird und eine Vielzahl der Ausgangsbits in Abhängigkeit von dem Eingabebitstrom generiert werden und wobei die Vielzahl der Ausgangsbits eine Vielzahl von Ausgabebitströmen wiedergibt, derart, daß der Eingabebitstrom komprimiert wird und fehlerkorrek turkodiert wird.
19. Verfahren nach Anspruch 18, dadurch gekennzeichnet, daß das Fehler
korrekturkodieren mit einem Faltungskode erfolgt.
20. Verfahren nach Anspruch 18, dadurch gekennzeichnet, daß die Fehler
korrekturkodierung ein Gitterkode ist.
21. Verfahren nach Anspruch 18, gekennzeichnet durch einen Schritt gemäß
einem Überwechseln zu einem nächsten Zustand nach der Ausgabe des Bit
stroms, wobei der nächste Zustand durch den Übergang angezeigt wird.
22. Verfahren zum Generieren eines Zustandsautomaten mit den folgenden
Schritten:
- (a) Erzeugen eines Satzes von allen möglichen Sequenzen für jeden einer Vielzahl von Zuständen, wobei die Menge aller möglichen Sequenzen solche Sequenzen enthält, welche die Fähigkeit haben, unter Verfolgung irgendeines Pfades von dem Zustand aus generiert zu werden, wobei jede der Sequenzen ein erstes Symbol enthält,
- (b) Aufteilen der Menge in zwei Teilmengen, basierend auf einem ersten möglichen Symbol,
- (c) Erzeugen eines Überganges für jede der Teilmengen,
- (d) Wiederholen der Schritte (b) und (c) für jeden Zustand, ohne einen Aus gangs-Übergang, derart, daß ein Zustandsautomat erzeugt wird.
23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß der Schritt
der Erzeugung das Zuordnen eines Anfangsabschnitts jeder der Sequenzen in der
Menge als eine Ausgangsgröße beinhaltet, wenn der Anfangsabschnitt für jede
der Sequenzen identisch ist.
24. Verfahren nach Anspruch 23, dadurch gekennzeichnet, daß die Menge
revidiert wird, wobei der Anfangsabschnitt aus jeder der Sequenzen entfernt
wird.
25. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß ein Zustand
der Endpunkt eines Übergangs ist, wenn die Menge bereits als ein Zustand exi
stiert.
26. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß ein neuer
Zustand in Verbindung mit der Menge erzeugt wird, wenn die Menge nicht als
ein Zustand existiert.
27. Verfahren nach Anspruch 22, gekennzeichnet durch die folgenden Schrit
te:
- (e) Identifizieren eines Abschnitts des Zustandsautomaten für eine Modifika tion,
- (f) Bestimmen einer Wahrscheinlichkeit, die zu einer Erhöhung der Leistung führt, wenn ein Übergang bei der Wahrscheinlichkeit existierte,
- (g) Unterteilen der Menge der Sequenzen in zwei Teilmengen, derart, daß die kumulative Wahrscheinlichkeit der Sequenzen in einer der zwei Teilmen gen im wesentlichen dicht bei der Wahrscheinlichkeit liegt,
- (h) Unterteilen der Menge in zwei Teilmengen, basierend auf einem ersten möglichen Symbol,
- (i) Erzeugen eines Übergangs für jede der zwei Teilmengen, wobei der Erzeugungsschritt einen Schritt der Erzeugung eines neuen Zustandes in Verbindung mit der Menge umfaßt, wenn die Menge nicht als ein Zustand existiert, und
- (j) Wiederholen der Schritte (e)-(i), bis ein Beendigungskriterium erreicht ist, derart, daß ein Zustandsautomat erzeugt wird.
28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß der Identifi
zierungsschritt einen Schritt der Identifizierung des Abschnitts des Zustands
automaten umfaßt, der den größten Unterschied in den Wahrscheinlichkeiten
zwischen zwei Übergängen besitzt.
29. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß das Beendi
gungskriterium eine vorbestimmte Zahl von Zuständen enthält, derart, daß die
Schritte (e)-(i) solange wiederholt werden, bis eine vorbestimmte Zahl von
Zuständen existiert.
30. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß das Beendi
gungskriterium einen Leistungswert enthält, derart, daß die Schritte (e)-(i)
solange wiederholt werden, bis ein Leistungswert oder Eignungswert existiert.
31. Verfahren zur Durchführung einer Kodierung an einem Eingangsstrom,
der eine Vielzahl von Symbolen auf einem Alphabet einer vorbestimmten Zahl
von Symbolen enthält, wobei das Verfahren die folgenden Schritte umfaßt:
Schaffen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jeder der Vielzahl der Zustände wenigstens einen Übergang für jede der vorbestimmten Zahl der Symbole in dem Alphabet besitzt und wobei jeder der Übergänge einem Ausgangsstrom zugeordnet wird,
Auswählen eines Übergangs in einer der Vielzahl der Zustände gemäß einem Symbol in dem Eingangsstrom,
Ausgeben des Ausgangsstroms, der dem Übergang zugeordnet ist, und Überwechseln in einen nächsten Zustand, wobei eine variable Zahl von Sym bolen von dem Übergangsautomaten für wenigstens zwei bestimmte Symbole in dem Eingangsstrom ausgegeben wird, derart, daß der Eingangsstrom kodiert wird.
Schaffen eines Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jeder der Vielzahl der Zustände wenigstens einen Übergang für jede der vorbestimmten Zahl der Symbole in dem Alphabet besitzt und wobei jeder der Übergänge einem Ausgangsstrom zugeordnet wird,
Auswählen eines Übergangs in einer der Vielzahl der Zustände gemäß einem Symbol in dem Eingangsstrom,
Ausgeben des Ausgangsstroms, der dem Übergang zugeordnet ist, und Überwechseln in einen nächsten Zustand, wobei eine variable Zahl von Sym bolen von dem Übergangsautomaten für wenigstens zwei bestimmte Symbole in dem Eingangsstrom ausgegeben wird, derart, daß der Eingangsstrom kodiert wird.
32. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß jeder Aus
gangsstrom derart ausgewählt wird, daß der Ausgangsstrom in solcher Weise
ausgegeben wird, daß der Eingangsstrom kanalmoduliert wird.
33. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß jeder Aus
gangsstrom derart ausgewählt wird, daß ein Ausgangsstrom in solcher Weise
ausgegeben wird, daß der Eingangsstrom fehlerkorrekturkodiert wird.
34. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß jeder Aus
gangsstrom derart ausgewählt wird, daß ein Ausgangsstrom in solcher Weise
ausgegeben wird, daß der Eingangsstrom kanalmoduliert wird und fehlerkorrek
turkodiert wird.
35. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß jeder Aus
gangsstrom derart ausgewählt wird, daß ein Ausgangsstrom in solcher Weise
ausgegeben wird, daß der Eingangsstrom kanalmoduliert wird und komprimiert
wird.
36. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß jeder Aus
gangsstrom derart ausgewählt wird, daß ein Ausgangsstrom in solcher Weise
ausgegeben wird, daß der Eingangsstrom komprimiert wird, kanalmoduliert wird
und fehlerkorrekturkodiert wird.
37. Verfahren nach Anspruch 31, dadurch gekennzeichnet, daß jeder Aus
gangsstrom derart ausgewählt wird, daß ein Ausgangsstrom in solcher Weise
ausgegeben wird, daß der Eingangsstrom fehlerkorrekturkodiert und komprimiert
wird.
38. Gerät zur Durchführung einer Kanalmodulation an einem Eingabebitstrom
mit einer Vielzahl von Eingangsbits, wobei das Gerät einen Übergangsautomaten
mit einer Vielzahl von Zuständen umfaßt, wobei jeder der Vielzahl der Zustände
wenigstens ein Übergangspaar aufweist und wobei jeder Übergang in dem
wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, der
ausgegeben wird, wenn jeder Übergang ausgewählt worden ist, und wobei ferner
das wenigstens eine Übergangspaar gemäß einem Abschnitt der Vielzahl der
Eingangsbits ausgewählt wird und jeder der Ausgabebitströme eine kanalkodierte
Wiedergabe des Abschnitts der Vielzahl der Eingangsbits enthält,
mit einer Einrichtung zum Auswählen eines Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
einer Einrichtung zum Ausgeben der Ausgabebitströme, die dem genann ten Übergang zugeordnet sind, und zum Überwechseln in den nächsten Zustand, wobei eine variable Zahl von Bits aus dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird und wobei eine Viel zahl der Eingangsbits in Abhängigkeit von den Eingabebitströmen generiert wird, wobei die Vielzahl der Ausgangsbits repräsentativ sind für eine Vielzahl der Ausgabebitströme in solcher Weise, daß die Eingabebitströme kanalkodiert werden.
mit einer Einrichtung zum Auswählen eines Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
einer Einrichtung zum Ausgeben der Ausgabebitströme, die dem genann ten Übergang zugeordnet sind, und zum Überwechseln in den nächsten Zustand, wobei eine variable Zahl von Bits aus dem Übergangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird und wobei eine Viel zahl der Eingangsbits in Abhängigkeit von den Eingabebitströmen generiert wird, wobei die Vielzahl der Ausgangsbits repräsentativ sind für eine Vielzahl der Ausgabebitströme in solcher Weise, daß die Eingabebitströme kanalkodiert werden.
39. Gerät nach Anspruch 38, dadurch gekennzeichnet, daß der Übergangs
automat einen ROM aufweist.
40. Gerät nach Anspruch 38, dadurch gekennzeichnet, daß jeder Abschnitt
einer Vielzahl von Eingangsbits ein Bit aufweist.
41. Gerät nach Anspruch 38, dadurch gekennzeichnet, daß jeder der Ein
gabebitströme eine komprimierte Wiedergabe des Abschnitts der Vielzahl der Ein
gangsbits in solcher Weise umfaßt, daß die Eingabebitströme komprimiert
werden und kanalkodiert werden.
42. Gerät nach Anspruch 38, dadurch gekennzeichnet, daß jeder der Aus
gabebitströme eine kanalfehlerkorrekturkodierte Wiedergabe des Abschnitts der
Vielzahl der Eingangsbits enthält, derart, daß der Eingabebitstrom fehlerkorrek
turkodiert wird und kanalkodiert wird.
43. Gerät nach Anspruch 38, dadurch gekennzeichnet, daß jeder der Aus
gabebitströme eine komprimierte und fehlerkorrekturkodierte Wiedergabe des
Abschnitts der Vielzahl der Eingangsbits umfaßt, derart, daß der Eingabebitstrom
komprimiert wird, fehlerkorrekturkodiert und kanalkodiert wird.
44. Gerät zur Durchführung einer Fehlerkorrektur an einem Eingabebitstrom
mit einer Vielzahl von Eingangsbits, wobei das Gerät aufweist:
einen Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jeder der Vielzahl der Zustände wenigstens ein Übergangspaar hat und jeder der Übergänge in dem wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, wobei jeder Ausgabebitstrom eine komprimierte und fehlerkor rekturkodierte Wiedergabe eines Abschnitts der Vielzahl der Eingangsbits ist,
eine Einrichtung zum Auswählen des Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
eine Einrichtung zum Ausgeben des Ausgabebitstroms, der dem genannten Übergang zugeordnet ist, wobei eine variable Zahl von Bits von dem Über gangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird und eine Vielzahl von Ausgangsbits in Abhängigkeit von dem Eingabebit strom generiert werden, wobei die Vielzahl der Ausgangsbits eine Vielzahl der Ausgabebitströme wiedergeben, derart, daß der Eingabebitstrom komprimiert wird und fehlerkorrekturkodiert wird.
einen Übergangsautomaten mit einer Vielzahl von Zuständen, wobei jeder der Vielzahl der Zustände wenigstens ein Übergangspaar hat und jeder der Übergänge in dem wenigstens einen Übergangspaar einem Ausgabebitstrom zugeordnet ist, wobei jeder Ausgabebitstrom eine komprimierte und fehlerkor rekturkodierte Wiedergabe eines Abschnitts der Vielzahl der Eingangsbits ist,
eine Einrichtung zum Auswählen des Übergangs in dem wenigstens einen Übergangspaar in dem einen der Zustände gemäß dem genannten Abschnitt der Vielzahl der Eingangsbits, und
eine Einrichtung zum Ausgeben des Ausgabebitstroms, der dem genannten Übergang zugeordnet ist, wobei eine variable Zahl von Bits von dem Über gangsautomaten für jeden Abschnitt der Vielzahl der Eingangsbits ausgegeben wird und eine Vielzahl von Ausgangsbits in Abhängigkeit von dem Eingabebit strom generiert werden, wobei die Vielzahl der Ausgangsbits eine Vielzahl der Ausgabebitströme wiedergeben, derart, daß der Eingabebitstrom komprimiert wird und fehlerkorrekturkodiert wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US142504 | 1988-01-11 | ||
US08/142,504 US5475388A (en) | 1992-08-17 | 1993-10-22 | Method and apparatus for using finite state machines to perform channel modulation and error correction and entropy coding |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4437790A1 true DE4437790A1 (de) | 1995-06-01 |
DE4437790B4 DE4437790B4 (de) | 2006-02-16 |
Family
ID=22500091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4437790A Expired - Fee Related DE4437790B4 (de) | 1993-10-22 | 1994-10-21 | Verfahren und Vorrichtung zur Verwendung von endlichen Automaten zur Durchführung einer Kanalmodulation und einer Fehlerkorrektur und einer Entropie-Kodierung |
Country Status (3)
Country | Link |
---|---|
US (1) | US5475388A (de) |
JP (1) | JPH07240720A (de) |
DE (1) | DE4437790B4 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19538852A1 (de) * | 1995-06-30 | 1997-01-02 | Deutsche Telekom Ag | Verfahren und Anordnung zur Klassifizierung von Sprachsignalen |
DE19622365A1 (de) * | 1996-06-04 | 1997-12-11 | Deutsche Telekom Ag | Umsetzer zur Übertragung von Quellencode |
US5781881A (en) * | 1995-10-19 | 1998-07-14 | Deutsche Telekom Ag | Variable-subframe-length speech-coding classes derived from wavelet-transform parameters |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149554A (ja) * | 1992-11-09 | 1994-05-27 | Matsushita Electric Ind Co Ltd | プログラム動作仕様自動合成装置及びその方法 |
US5617333A (en) * | 1993-11-29 | 1997-04-01 | Kokusai Electric Co., Ltd. | Method and apparatus for transmission of image data |
CA2156889C (en) * | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
GB2306281B (en) * | 1994-09-30 | 1997-10-22 | Ricoh Kk | nethod for decoding data |
US5675590A (en) * | 1994-11-23 | 1997-10-07 | At&T Wireless Services, Inc. | Cyclic trellis coded modulation |
US6889356B1 (en) * | 1994-11-23 | 2005-05-03 | Cingular Wireless Ii, Llc | Cyclic trellis coded modulation |
US5819026A (en) * | 1995-06-06 | 1998-10-06 | Apple Computer, Inc | System and method for arbitrating accelerator requests |
US5751859A (en) * | 1995-06-14 | 1998-05-12 | Lucent Technologies Inc. | Compression of text images by soft pattern matching |
US5793371A (en) * | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
US5818369A (en) * | 1996-03-07 | 1998-10-06 | Pegasus Imaging Corporation | Rapid entropy coding for data compression or decompression |
EP0853843B1 (de) * | 1996-07-03 | 2002-09-18 | Koninklijke Philips Electronics N.V. | Übertragung und empfang eines digitalen informationssignals |
US5912636A (en) * | 1996-09-26 | 1999-06-15 | Ricoh Company, Ltd. | Apparatus and method for performing m-ary finite state machine entropy coding |
DE19758853B4 (de) * | 1996-09-26 | 2006-09-07 | Ricoh Co., Ltd. | Dekoder und Verfahren zum Dekodieren sowie System mit Kodierer und Dekodierer |
US5859604A (en) * | 1997-01-14 | 1999-01-12 | International Business Machines Corporation | Merged VLSI implementation of hardware optimized Q-Coder and software optimized QM-Coder |
GB9718688D0 (en) * | 1997-09-03 | 1997-11-12 | Sgs Thomson Microelectronics | Post image techniques |
US6816821B1 (en) | 1997-09-03 | 2004-11-09 | Stmicroelectronics Limited | Post image techniques |
US6256764B1 (en) * | 1997-11-26 | 2001-07-03 | Nortel Networks Limited | Method and system for decoding tailbiting convolution codes |
US6094151A (en) * | 1998-01-05 | 2000-07-25 | Ricoh Company, Ltd. | Apparatus and method for finite state machine coding of information selecting most probable state subintervals |
CN1285986A (zh) * | 1998-01-07 | 2001-02-28 | 西门子公司 | 信息编码、解码和传输的方法,信号处理器和无线电装置 |
ES2298942T3 (es) * | 1998-03-19 | 2008-05-16 | Koninklijke Philips Electronics N.V. | Codificacion/descodificacion aritmetica de una señal de informacion digital. |
WO2000018015A1 (de) * | 1998-09-24 | 2000-03-30 | Siemens Aktiengesellschaft | Verfahren zur gemeinsamen quellen- und kanalcodierung |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6259385B1 (en) * | 1999-07-16 | 2001-07-10 | Texas Instruments Incorporated | System for data transceiving using run-length constrained convolutional codes |
GB2395823B (en) * | 2000-01-27 | 2004-08-25 | Automatic Parallel Designs Ltd | Method and apparatus for binary encoding logic circuits |
US20010047473A1 (en) | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
US8230482B2 (en) | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20050015608A1 (en) | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
US7844579B2 (en) | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US6473010B1 (en) * | 2000-04-04 | 2002-10-29 | Marvell International, Ltd. | Method and apparatus for determining error correction code failure rate for iterative decoding algorithms |
US6516035B1 (en) * | 2000-04-07 | 2003-02-04 | Actisys Corporation | Intelligent encoding method for wireless data communication and control |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
JP4214440B2 (ja) * | 2000-10-19 | 2009-01-28 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びに記録媒体 |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
US7185041B1 (en) | 2001-10-05 | 2007-02-27 | Unisys Corporation | Circuit and method for high-speed execution of modulo division |
US7095343B2 (en) * | 2001-10-09 | 2006-08-22 | Trustees Of Princeton University | code compression algorithms and architectures for embedded systems |
WO2003079557A1 (en) * | 2002-03-04 | 2003-09-25 | Seagate Technology Llc | Error correction coding utilizing numerical base conversion for modulation coding |
US6624762B1 (en) | 2002-04-11 | 2003-09-23 | Unisys Corporation | Hardware-based, LZW data compression co-processor |
US9577667B2 (en) * | 2002-04-23 | 2017-02-21 | Ntt Docomo, Inc. | System and method for arithmetic encoding and decoding |
ES2442190T3 (es) * | 2002-05-02 | 2014-02-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Procedimiento y dispositivo de codificación y descodificación aritméticas utilizando una pluralidad de tablas de consulta |
GB2396718B (en) * | 2002-12-23 | 2005-07-13 | Arithmatica Ltd | A logic circuit and method for carry and sum generation and method of designing such a logic circuit |
WO2004064254A2 (en) * | 2003-01-14 | 2004-07-29 | Arithmatica Limited | A logic circuit |
WO2004081761A2 (en) * | 2003-03-12 | 2004-09-23 | Sensory Networks Inc. | Apparatus and method for memory efficient, programmable, pattern matching finite state machine hardware |
US7308471B2 (en) | 2003-03-28 | 2007-12-11 | Arithmatica Limited | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding |
WO2004104820A2 (en) * | 2003-05-23 | 2004-12-02 | Arithmatica Limited | A sum bit generation circuit |
WO2004107404A2 (en) * | 2003-05-23 | 2004-12-09 | Sensory Networks, Inc. | Apparatus and method for large hardware finite state machine with embedded equivalence classes |
US7219319B2 (en) * | 2004-03-12 | 2007-05-15 | Sensory Networks, Inc. | Apparatus and method for generating state transition rules for memory efficient programmable pattern matching finite state machine hardware |
US7307453B1 (en) * | 2004-10-12 | 2007-12-11 | Nortel Networks Limited | Method and system for parallel state machine implementation |
US7673215B2 (en) * | 2004-12-17 | 2010-03-02 | Samsung Electronics Co., Ltd. | Apparatus and method for using an error correcting code to achieve data compression in a data communication network |
JP4618676B2 (ja) | 2005-04-28 | 2011-01-26 | 株式会社リコー | 構造化文書符号の転送方法、画像処理システム、サーバ装置、プログラム及び情報記録媒体 |
US20080022401A1 (en) * | 2006-07-21 | 2008-01-24 | Sensory Networks Inc. | Apparatus and Method for Multicore Network Security Processing |
US7405678B2 (en) * | 2006-09-25 | 2008-07-29 | International Business Machines Corporation | Method of retrieving data from a storage device using a recovered read-back parameter |
TWI330006B (en) * | 2007-07-27 | 2010-09-01 | Lite On It Corp | Encoding method and encoder for generating balanced code or constant weighted code |
US9736181B2 (en) * | 2013-07-26 | 2017-08-15 | Intel Corporation | Hardening data transmissions against power side channel analysis |
US9252808B1 (en) * | 2014-08-28 | 2016-02-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Ping-pong run length limit encoder |
US11115050B1 (en) * | 2020-08-24 | 2021-09-07 | Innogrit Technologies Co., Ltd. | Hardware friendly data decompression |
US11115049B1 (en) * | 2020-08-24 | 2021-09-07 | Innogrit Technologies Co., Ltd. | Hardware friendly data decompression |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4286256A (en) * | 1979-11-28 | 1981-08-25 | International Business Machines Corporation | Method and means for arithmetic coding utilizing a reduced number of operations |
US4413251A (en) * | 1981-07-16 | 1983-11-01 | International Business Machines Corporation | Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3 |
US4488143A (en) * | 1981-08-07 | 1984-12-11 | International Business Machines Corporation | Fixed rate run length limited (RLL) code string generation using length oriented arithmetic code data string expansion and data string recovery using arithmetic code compression of RLL code strings |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5265127A (en) * | 1991-09-03 | 1993-11-23 | At&T Bell Laboratories | Non-linear encoder and decoder for information transmission through non-linear channels |
-
1993
- 1993-10-22 US US08/142,504 patent/US5475388A/en not_active Expired - Lifetime
-
1994
- 1994-09-26 JP JP6229982A patent/JPH07240720A/ja active Pending
- 1994-10-21 DE DE4437790A patent/DE4437790B4/de not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4286256A (en) * | 1979-11-28 | 1981-08-25 | International Business Machines Corporation | Method and means for arithmetic coding utilizing a reduced number of operations |
US4413251A (en) * | 1981-07-16 | 1983-11-01 | International Business Machines Corporation | Method and apparatus for generating a noiseless sliding block code for a (1,7) channel with rate 2/3 |
US4488143A (en) * | 1981-08-07 | 1984-12-11 | International Business Machines Corporation | Fixed rate run length limited (RLL) code string generation using length oriented arithmetic code data string expansion and data string recovery using arithmetic code compression of RLL code strings |
Non-Patent Citations (2)
Title |
---|
HAYKIN, Simon: Communication Systems, 3. Aufl., New York u.a.: John Wiley and Sons, Inc., 1994, S. 701,702,706,715,716,718 * |
LANGDON, Glen G. Jr.: An Introduction to Arithmetic Coding. In: IBM Journal of Research and Development, 1984, Nr. 2,(März), S. 135 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19538852A1 (de) * | 1995-06-30 | 1997-01-02 | Deutsche Telekom Ag | Verfahren und Anordnung zur Klassifizierung von Sprachsignalen |
US5781881A (en) * | 1995-10-19 | 1998-07-14 | Deutsche Telekom Ag | Variable-subframe-length speech-coding classes derived from wavelet-transform parameters |
DE19622365A1 (de) * | 1996-06-04 | 1997-12-11 | Deutsche Telekom Ag | Umsetzer zur Übertragung von Quellencode |
DE19622365B4 (de) * | 1996-06-04 | 2008-08-28 | Deutsche Telekom Ag | Verfahren für einen Umsetzer zur Umsetzung von Quellcode |
Also Published As
Publication number | Publication date |
---|---|
DE4437790B4 (de) | 2006-02-16 |
JPH07240720A (ja) | 1995-09-12 |
US5475388A (en) | 1995-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4437790A1 (de) | Verfahren und Vorrichtung zur Verwendung von endlichen Automaten zur Durchführung einer Kanalmodulation und einer Fehlerkorrektur und einer Entropie-Kodierung | |
DE19742417B4 (de) | Vorrichtung und Verfahren zur Durchführung von M-fachem Maschinenendzustands-Entropiekodieren bzw. Entropiekodieren mit einer Maschine mit finitem Zustand | |
DE19606178C2 (de) | Verfahren zum Komprimieren einer Anordnung von Pixelwerten und zum Dekomprimieren einer Anordnung von Pixelwerten aus einem komprimierten Datensatz | |
DE69734645T2 (de) | Datenverarbeitung von einem bitstromsignal | |
DE2844216C2 (de) | Erzeugung von Synchronisier-Bitfolgemustern bei Code mit begrenzter Lauflänge | |
DE69535009T2 (de) | Optische Platte und Verfahren und Gerät zur Aufzeichnung und Wiedergabe von dieser Platte | |
DE19506164C2 (de) | Verfahren zum Komprimieren eingegebener Symbole in Codeworte | |
DE3219439C2 (de) | ||
DE69932962T2 (de) | Kodierungsverfahren und Speicheranordnung | |
EP0276753B1 (de) | Verfahren und Vorrichtung zur digitalen Nachrichtenübertragung und/oder -aufzeichnung und -wiedergabe | |
DE69932959T2 (de) | Verlustfreies Kodierungs- und Dekodierungsverfahren | |
DE69612955T4 (de) | Verfahren zur umwandlung von m-bit-informationsworten in ein moduliertes signal, verfahren zur herstellung eines aufzeichnungsträgers, codiervorrichtung, vorrichtung, aufzeichnungsvorrichtung, signal sowie aufzeichnungsträger | |
DD202084A5 (de) | Verfahren zum umkodieren einer folge von datenbits in eine folge von kanalbits, anordnung zum dekodieren der nach diesemverfahren kodierten kanalbits und aufzeichnungstraeger miteiner informationsstruktur | |
DE3039688A1 (de) | Verfahren und vorrichtung zum codieren eines digitalsignals mit minimaler gleichkomponente | |
DE102016012160B4 (de) | Restentropiekompression für cloudbasierte Videoanwendungen bzw. Apps | |
DE1964570A1 (de) | Verfahren zum Wiederauffinden gespeicherter Informationen | |
DE69733465T2 (de) | Umsetzung einer sequenz von m-bit-informationswörtern in ein moduliertes signal | |
EP1616274B1 (de) | Verfahren zur codierung eines strukturierten dokuments | |
DE69530046T2 (de) | Zusammenpassende Spektral-Nullkodes für unvollständige Antwortkanäle | |
DE69937761T2 (de) | Arithmetische Kodierung/Dekodierung eines digitalen Informationssignals | |
DE69433050T2 (de) | Verfahren zur Erzeugung eines Fehlerprüfkodes und Kodeverarbeitungsschaltkreis | |
DE19539343A1 (de) | Verfahren zur Fehlerbehandlung eines digitalen Bitdatenstroms, der von einem Sender zu einem Empfänger übertragen wird | |
DE19963687B4 (de) | Modulations-Codierer und -Decodierer | |
DE2336180A1 (de) | Videodatenkompression bei der abtastung von schriftstuecken | |
DE19534048A1 (de) | Verfahren und Schaltungsanordnung zur Erzeugung eines kanalcodierten Binärsignals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: H03M 7/30 |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |