DE2513862A1 - Vorrichtung zum dekodieren - Google Patents

Vorrichtung zum dekodieren

Info

Publication number
DE2513862A1
DE2513862A1 DE19752513862 DE2513862A DE2513862A1 DE 2513862 A1 DE2513862 A1 DE 2513862A1 DE 19752513862 DE19752513862 DE 19752513862 DE 2513862 A DE2513862 A DE 2513862A DE 2513862 A1 DE2513862 A1 DE 2513862A1
Authority
DE
Germany
Prior art keywords
length
register
input
code
code word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19752513862
Other languages
English (en)
Other versions
DE2513862C2 (de
Inventor
Amalie Julianna Frank
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
Western Electric Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE2513862A1 publication Critical patent/DE2513862A1/de
Application granted granted Critical
Publication of DE2513862C2 publication Critical patent/DE2513862C2/de
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only

Description

BLUMBACH . WESER · BERGEN · KRAMER
PATENTANWÄLTE :,\ MJNCHEii UN^WIESbADtN
Postadresse München: Patentccnsuit 8 München 60 Radedcestraße 43 Telefon (089)883603/883604 Telex 05-212313 Postadresse Wiesbaden: Patentconsult 62 Wiesbaden Sonnenberger Straße 43 Telefon (06121) 562943/561998 Telex 04-186237
Western Electric Company, Incorporated A. J. Frank New York, N. Y., USA
Vorrichtung zum Dekodieren
Die Erfindung betrifft eine Vorrichtung zum Dekodieren einer Eingangsfolge von Binärkodewörtern unterschiedlicher Länge, mit einem Eingangsregister zur Aufnahme und Speicherung der Eingangskodewörter und einer Speicheranordnung zur Speicherung dekodierter Symbole entsprechend jedem Eingangskodewort.
Mit zunehmender Verwendung von Di^italcomputern und anderen Digitalspeicher- und Verarbeitungsanlagen ist das Erfordernis, digitale Information visuell zu speichern ur.d/oder zu übertragen, von bedeutender Wichtigkeit geworden. Da Information im allgemeinen einer Zahl von Symbolen wie alphanumerischen Zeichen zugeordnet ist, und da einige Symbole in eine~i typischen Alphabet
509840/0842
häufiger auftreten als andere, hat es sich als vorteilhaft gezeigt, die mittlere Länge der Kodewörter zu reduzieren, um sog. statistische Kodierungsmethoden zu verwenden und Signale entsprechender Länge abzuleiten, um die einzelnen Symbole darzustellen. Eine solche statistische Kodierung ist natürlich nicht neu. In der Tat kann der wohlbekannte Morse-Kode für telegrafische Übertragung als einer dieser Kodearten betrachtet werden, bei welchem die relativ häufig auftretenden Symbole (wie E) durch kurze Signale dargestellt werden, wohingegen weniger häufig vorkommende Signale (wie Q) entsprechend längere Signaldarstellungen aufweisen. Andere Kodes variabler Länge sind in folgenden Artikeln beschrieben worden: D. A. Huffman, "A Method for the Construction of Miniumum-Redundancy Codes", Proc of the IRE, Vol. 40, Seiten IO98-IIOI, September 1952; E. N. Gilbert und E. P. Moore, "Variable-Length»Binary Encodings", Bell System Technical Journal, Vol. 38, Seiten 953-967, Juli 1959; und J. 3. Connell, "A Huffman-Shannon-Fano Code", Proc. IEEE, Juli 1973, Seiten 1046-1047.
Aus den oben genannten Artikeln und von Pano, Transmission of Information, John Wiley and Sons, Inc., New York, I96I, Seiten 75-81, ist es bekannt, daß das Huffman-Kodierungsverfahren verglichen werden kann mit einem Baumbildungsprozess, bei welchem Kodes entsprechend weniger häufig auftretenden Symbolen an den oberen Spitzen eines Baumes mit drei verschiedenen Etagen erscheinen, wohingegen jene Kodes, die mit relativ hoher Wahr-
B098A0/08A2
scheinlichkeit auftreten, an unteren Etagen in dem Baum erscheinen. Wenn es auch intuitiv als offensichtlich erscheint, daß ein Dekodierungsprozeß durch Anwendung des Huffman-Dekodiersehemas leicht ist, so entspricht dies nicht der allgemeinen Erfahrung. Viele Leute, die sich mit dem Gebiet des Kodierens beschäftigen, haben die Huffman-Dekodierung als recht unhandlich befunden. (S. beispielsweise Bradley, "Data Compression for Image Storage and Transmission", Digest of Papers, IDEA Symposium, Society for Information Display, 1970J und O'Neal, "The Use of Entropy Coding in Speech and Television Differential PCM Systems", AFOSR-TR-72-0795, verteilt durch den National Technical Information Service, Springfield, Va., 1971)· In jenen Fällen, in welchen eine Huffman-Dekodierung durchgeführt worden ist, konnte die Kompliziertheit deutlieh erkannt werden. (S. beispielsweise Ingels,%^nformation and Coding Theory, Intext Educational Publishers, Scranton, Pa., 1971, Seiten 127-132; und Gallager, Information Theory and Reliable Communication, Wiley, 1968).
Wenn eine solche Huffman-Dekodierung erforderlich ist, wurde sie gewöhnlich durch eine Baumsuchmethode entsprechend, einem seriell empfangenen Bitstrom durchgeführt. Wenn man an jedem Knoten in einem Baum einen von zwei Zweigen nimmt, und zwar in Abhängigkeit davon, welcher von zwei Werten für individuelle Digits in dem empfangenen Kode festgestellt worden ist, gelangt man schließlich zu einer Angabe des durch den seriellen Kode
509SA 0/0842
dargestellten Symbols. Dies kann man bei einer praktischen Geräteausführung als äquivalent ansehen zu einer Übertragung, die von einer gegebenen Startposition aus auf eine von zwei Stellen vorgenommen wird und zwar für jedes Bit eines binären Eingangsstroms; der Prozeß ist deshalb ein sequentieller.
Solche sequentiellen "binärenAbtastungen" sind beispielsweise beschrieben in Price "Table Lookup Techniques", Computing Surveys, Vol. 3, Nr. 2, Juni 1971, Seiten 49-65.
Ähnliche Baum-Suchmethoden sind beschrieben in US-PS 3 700 819; B. H. Sussenguth, Jr., "Use of Tree Structures for Processing Piles", Comm. ACM 6,5, Mai I963, Seiten 272-279; und H. A. Clampett Jr., "Randomized Binary Searching with Tree Structures", Comm. ACM 7,3, März 1964, Seiten 163-165.
Wie oben erwähnt, sind Baummethoden äquivalent zur sequentiellen Übertragung von Stelle zu Stelle in einem Speicher für jedes empfangene Bit, um zu einer endgültigen Stelle zu gelangen, welche (äie zur Dekodierung einer besonderen Bitfolge verwendete Information enthält. Solche sequentiellen Übertragungen von Position zu Position in einem Speicheraufbau sind zeitraubend und schließen in manchen Fällen effektiv die Verwendung von minimalredundanten Kodes aus. Außerdem treten beträchtliche Unterschiede in der Dekodierzeit auf, wenn Kodewörter mit sehr unterschiedlichen Längen verarbeitet werden. Eine solche Unterschiedlichkeit verringert die Wahrscheinlichkeit einer Ausnutzung für Anwendun-
5098 4 0/0842
gen wie Anzeigesystemen, bei welchen oft eine Darstellung der Ausgangssymbole mit konstanter Folgegeschwindigkeit erwünscht ist.
Die aufgezeigten Probleme werden erfindungsgemäß gelöst mit einer Vorrichtung der eingangs genannten Art, die gekennzeichnet ist durch ein an das Eingangsregister angekoppeltes erstes Register zur Auswahl eines in seiner Länge festgelegten Abtastmusters der mit dem ersten Digit eines gegenwärtigen Kodewortes beginnenden Eingangsdigitsignale, einen das erste Register und die Speicheranordnung verbindenden Adressengenerator zur Ableitung einer auf dem Abtastmuster der Eingangsdigitsignale beruhenden Adressenstelle in der Speicheranordnung, und ein Ausgangsregister zum Auslesen der Information aus der adressierten Stelle der Speicheranordnung . ^v
Ein erfindungsgemäßer Vorteil besteht darin, daß eine Dekodieranordnung für minimal-redundante Huffman-Kodes verfügbar gemacht ist, ohne daß sequentielle oder Bit-für-Bit-Dekodiervorgänge erforderlich sind.
Ein weiterer erfindungsgemäßer Vorteil besteht darin, daß eine parallele oder nahezu parallele Dekodierung minimal-redundanter Kodes variabler Länge verfügbar ist.
Ein weiterer erfindungsgemäßer Vorteil besteht darin, daß eine wirkungsvolle Tabelle zum Dekodieren minimal-redundanter Kodes
509840/0842
verfügbar ist, für welche eine reduzierte Speicherkapazität verwendet werden kann.
In der Zeichnung zeigen:
Fig. 1 eine gesamte Machrichtenanlage einschließlich einem erfindungsgemäß ausgebildeten Dekodierer;
Fig. 2 ein Blockdiagramm zur Darstellung einer erfindungsgemäßen Ein-Tabellen-Ausführungsform;
Fig. 3- ein Blockdiagramm zur Darstellung einer erfindungsgemäßen Ausführungsform mit einer Primär-Übersetzungstafel und mehreren Sekundär-Übersetzungstafeln.
Ein effindungsgernäßes Ausführungsbeispiel sorgt für den Zugriff . zu einem in seiner Länge festgelegten Abtastmuster eines Eingangs-Bitstroms, der zusammengefügte Kodewörter variabler Länge aufweist. Jedes dieser Abtastmuster wird zur Ableitung einer Adresse verwendet, die einen Platz in einem Speicher festlegt, in welchem eine Angabe des dekodierten Ausgangssymbols zusammen mit einer Angabe über die wirkliche Länge des dem Ausgangssymbol entsprechenden Kodewortes gespeichert ist. Da das in seiner Länge festgelegte Abtastmuster so gewählt ist, daß es gleich lang wie die maximale Kodewortlänge ist, wird die Information über die wirkliche Kodewortlänge dazu verwendet, den Anfangspunkt für das nächstfolgende Kodewort in der Eingangsfolge zu bestimmen.
Wenn die aufzuwendende Speicherkapazität möglichst klein ge-
6 09840/0842
macht v/erden soll, macht eine andere Ausführungsform einen Speicheraufbau verfügbar, der eine Primär-Tabelle und mehrere Sekundär-Tabellen umfaßt. Wieder wird ein Abtastmuster festgelegter Länge verwendet, aber die Länge K ist so gewählt, daß sie kleiner als die des maximalen Kodewortes ist. Wenn das Abtastmuster ein Xodewort mit einer Lange umfaßt, das kleiner oder gleich K ist, läuft ein Dekodierungsvorgang wie im ersten AusfUhrungsbeispiel (mit einer Tabelle) ab. D.h., es braucht lediglich die erste Tabelle benutzt zu werden. Wenn das Abtastmuster nicht genügend lang ist, um alle Bits in einem Kodewort aufzunehmen, wird jedoch eine Anzahl nachfolgender Bits im Eingangs-Bitstrom (eine solche Anzahl ist in der adressierten Stelle der Primär-Tabelle angegeben) verwendet, um in Zusammenwirkung mit anderen Daten, die in der adressierten Stelle in der Primär-Tabelle gespeichert sind, eine Adresse zu erzeugen, die geeignet ist, einen Platz in einer das dekodierte Symbol enthaltenden Sekundär-Tabelle zu identifizieren. Dieser letztere Platz enthält auch den Wert der um K reduzierten wirklichen Kodelänge, welche verwendet wird, um den Anfangspunkt für das nächste Kodewort festzulegen.
Aufgrund der gleichförmigen Natur der einbegriffenen Operationen bietet sich die vorliegende Erfindung für Anwendungen an, die sowohl eine speziell ausgelegte Vorrichtung als auch eine programmierte allgemeine Vorrichtung umfassen.
Fig. 1 zeigt die Gesamtanordnung einer typischen Nachrichten-
509840/0842
anlage derart, für welche die vorliegende Erfindung angewendet werden kann. Eine Informationsquelle 100 erzeugt Nachrichten, die auf eine Verbrauchervorrichtung 104 zu übertragen sind, nachdem sie durch einen Kodierer 101, einen Übertragungskanal 102 und einen Dekodierer IO3 verarbeitet worden sind. Die Informationsquelle 100 kann natürlich verschiedene Formen annehmen, einschließlich einer programmierten Datenverarbeitungsvorrichtung, eines einfachen Tastenfeldes oder anderer Information erzeugender Vorrichtungen. Auch der Kodierer 101 kann verschiedene Formen annehmen und braucht für vorliegende Zwecke lediglich als ein Kodierer betrachtet zu werden, der die Eingangsinformation, in welcher Form auch immer sie von der Quelle 100 geliefert wird, in Kodes im Huffman-Format zu übersetzen vermag. Gleichermaßen kann der Übertragungskanal 102 entweder ein einfacher Draht oder ein anderer Nachrichtenkanal in Standardausführung sein, oder er kann eine weitere Verarbeitung wie mit einem Machrichtenspeicher und Übertragungsvorrichtungen umfassen. Der Kanal 102 kann Signalgabe- und andere verwandte Vorrichtungen einschließen. Für vorliegende Zwecke braucht jedoch lediglich angenommen zu werden, daß der Übertragungskanal 102 dem Dekodierer 10/5 einen seriellen Bitstrom liefert, der zusammengefügte Kodewörter variabler Länge im Huffman-Minimalredundanzformat enthält. Die Funktion des Dekodierers 103 besteht dann darin, von diesem Eingangsbitstrom die von der Informationsquelle 100 gelieferte ursprüngliche Nachricht herzuleiten.
Die Verbrauchervorrichtung 104 kann eine Zahl von Standardformen
509640/0842
annehmen, wie eine Datenverarbeitungsanlage, eine Anzeigevorrichtung oder eine Lichtzusammensetzungsanlage.
Der dem Dekodierer IO3 zugeführte Kodesatz minimaler Redundanz enthält generell eine endliche Anzahl Kodewörter verschiedener Längen. Für vorliegende Zwecke sei angenommen, daß jedes Kodewort eine Folge von einem oder mehreren binären Digits aufweist, obwohl andere als binäre Signale in manchen Zusammenhängen verwendet werden können. Ein solcher Kodesatz kann gekennzeichnet werden durch einen Satz Dezimalzahlen I,, Ip, ..., I»», wobei I. die Zahl der j Bit langen Kodewörter und M die maximale Kodewortlänge ist. Diese Struktur wird durch einen Index I gekennzeichnet, welcher eine Verkettung der Dezimalzahlen I. ist, d. h. I = I1Ip ...Ι». Beispielsweise führt eine Quelle mit drei Nachrichtentypen mit Wahrscheinlichlceit%ft^0,6, 0,3 und 0,1 zu einem minimal-redundanten Kodesatz, der einen ein Bit langen Kode und zwei je zwei Bits lange Kodes enthält, was den Index I = 12 ergibt. Zahlreiche Verwirklichungen eines Kodes mit einem bestimmten Index sind möglich. Eine solche Verwirklichung für I = 12 einhält die Kodewörter 1 und 00 und 01; eine andere Verwirklichung ist 0 und 10 und Als weiteres Beispiel zeigt Tabelle I einen Kode mit einem Index I = IOII496, der auf einer Veröffentlichung von B. Rudner, "Construction of Minimum-Redundancy Codes With an Optimum Synchronizing Property", IEEE Transactions on Information Theory, Vol. IT-17> Nr. 4, Seiten 478-487, Juli 1971. In Tabelle I sind die Länge der Kodewörter und die zugeordneten dekodierten V/erte dargestellt, in diesem Fall alphabetische Schriftzeichen.
509840/0842
TABELLE I Kode mit I = 10114-96
Kodewort- Dekodierter Kodewort Länge Wert
0 1 A
100 3 B
1100 · 4 C
10100 5 D
11010 5 E
11100 5 P
11110 5 G
101010 6 H
101100 6 I
101110 6 J
101111 6 K
110110 6 L
110111 6 M
111010 6 N
111110 6 0
111111 6 P
1010110 7 Q
1010111 7 R
1011010 7 S
ionon 7 T
1110110 7 U
1110111 . _ 7 V
Der oben in Tabelle I angegebene Kode kann unter Anwendung von Verfahren zum direkten Tabellen-Lesen nur dann angewendet werden, wenn irgendeine Funktion für jeden der individuellen Kodes erzeugt werden kann, welche entsprechende Tabellenadressen spezifiziert. Die Identifikation einer solchen Punktion ist natürlich aufgrund der variablen Kodewortlängen kompliziert.
Eine Methode gemäß einem erfindungsgemäßen Aspekt wird nun beschrieben, die zum Aufbau und zur Verwendung einer besonders geeigneten Übersetzungstabelle für den Kode der Tabelle I dient.
Bei der Bildung einer solchen Übersetzungstabelle zeigt es sich
S09840/08U
günstig, zuerst eine Tabelle äquivalenter Kodewörter mit gleicher Länge aufzubauen. Insbesondere wird für jedes Kodewort mit einer Länge kleiner als M in Tabelle I ein neues Kodewort abgeleitet, dessen Länge gleich M ist. Diese neuen Kodewörter werden dadurch erzeugt, daß rechts Nullen angehängt werden, d. h. durch Zufügen von angehängten Nullen. Tabelle II zeigt die abgeleiteten Kodewörter in Binär- und in Dezimalform.
TABELLE II Ko devi ört er
Abgeleitete Dezimal
Binär 0
0000000 64
1000000 96
1100000 8o
1010000 104
1101000 112
1110000 120
1111000 84
IQlOlO(V* 88
1011000 92
1011100 94
1011110 108
1101100 110
1101110 116
1110100 124
1111100 126
1111110 86
1010110 37
1010111 90
1011010 91
ionon 118
1110110 119
1110111
Es soll nun gezeigt werden, daß die Kodewörter in Tabelle II zu einem direkten Zugriff zu Speicherplätzen, die eine Dekodiertabelle enthalten, verwendet werden können. Insbesondere wird jedes Kodewort als eine Adresse interpretiert, die, wenn sie um
809840/Q842
1 erhöht wird, die erforderliche Adresse in einer Übersetzen^stabelle vorsieht, welche 2 Eingänge oder Einträge enthält.
Jeder Eintrag in der Übersetzungstabelle enthält die zugeordnete ursprüngliche Kodewortlänge und den dekodierten Wert in zugehörigen Feldern. So enthält beispielsweise der erste Tabclleneintrag die Kodewortlänge 1 und den dekodierten Wert A, und der 65. Tabelleneintrag enthält die Kodewortlänge 5 und den dekodierten V/ert B.
Π
Es sind T] I,T solche Einträge vorhanden. Nachdem alle diese Ein-
N-I N
träge gemacht worden sind, ist in jeden leeren Eingang in der Tabelle derjenige Eintrag kopiert worden, der sich genau in dem davorliegenden Eingang befindet. Somit sind beispielsweise die Kodewortlänge 1 und der dekodierte Wert A der Reihe nach in Tabelleneingänge 2 bis 64 kopiert. Die vollständige Übersetzungstabelle ist in Tabelle III dargestellt.
840/0842
TABELLE III 64 in Tabelle I
Übers etzun^stabelle für den Kode 80
Adres se oder 84 Inhalte
Adressenbereich 86 1, A
1 - 87 3, B
65 - 88 5, D
81 - 90 6, H
85 - 91 7, Q
92 Ί, R
94 6, I
89 - 96 7, S
104 1, T
108 6, J
93 - 110 6, K
95 - 112 4, C
97 - 116 5, E
105 - 118 6, L
109 - 119 6, M
111 - 120 5, P
113 - 124 6, Ν
117 - 126 7, U
128 - 7, V
5, G
121 - 6, 0
125 - 6, P
127 -
Es wird nun die Dekodierung eines Eingangsstroms unter Verwendung der Tabellen II und III beschrieben. Eine Marke oder ein ^ZeI-ger" ist eingerichtet, der auf die laufende Position im Bitstrom zeigt und mit der ersten Position beginnt. Beginnend am Zeiger wird ein festgelegtes Segment von M Bits aus dem Eingangsbitstrom herausgenommen. Zu dieser Zeit wird der Zeiger nicht vorgerückt, d. h. er zeigt noch auf den Beginn des Segmentes. Die durch die herausgegriffenen M Bits dargestellte Zahl wird um 1 erhöht, was irgendeinen Wert W ergibt. V/ wird als Adresse verwendet und der W-te Eintrag wird aus der Übersetzungstabelle herausgegriffen, wodurch sich die
503840/0842
Kodewortlänge und der dekodierte Wert ergeben. Der dekodierte Wert wird auf die Verbrauchervorrichtung 104 übertragen, und. der Bitstromzeiger wird um einen Wert vorgerückt, der gleich der Länge des herausgegriffenen Kodewortes ist. Dieser Vorgang wird, dann für das nächste Segment von Π Bits wiederholt.
Das wesentliche liegt darin, daß das konstante Herausgreifen von M Bits aus dem Bitstrom den Kode variabler Länge für Verarbeitungszwecke in einen Kode fester Länge umwandelt. Jedes Segment enthält entweder das gesamte Kodewort selbst, wenn das Kodewort M Bits lang ist, oder es enthält das Kodewort plus einige Abschlußbits. Beim Dekodieren eines solchen Kodewortes haben die Abschlußbits keine Wirkung, da die Übersetzungstabelle Kopien der Kodewortlänge und des dekodierten Viertes für alle möglichen Vierte der Abschlußbits enthält. Die Abschlußbits gehören natürlich zu einem oder mehreren aufeinanderfolgenden Kodewörtern, welche in richtiger Reihenfolge verarbeitet werden, wenn der Bitstromzeiger vorgerückt wird. Obiges Verfahren zeigt sich somit als eine einfache Methode zur schnellen Dekodierung von Kodes variabler Länge und zwar bei gleichmäßiger Dekodierzeit pro Kode.
Als Beispiel wird nun die Dekodierung des Anfangs der Nachricht THEQUICKSLYFOX, und zwar in Darstellung durch die Kodes in Tabelle I, in Verbindung mit der Vorrichtung nach Pig. 2 beschrieben. Die Bitfolge für diese Nachricht ist, wenn die Zeit nach links zunimmt, und das höchstwertige Bit eines jeden Buchstaben zuerst (am weitesten rechts)dargestellt ist:
503840/0342
111101001100110101101110110101010110101011101101, ♦ KCI U QEH T
Zwischenräume sind natürlich weggelassen worden, um die Verwendung der Kodes in Tabelle I zu erlauben.
Die Schaltung nach Fig. 2 ist ein Beispiel einer Vorrichtung, die zur praktischen Durchführung des oben beschriebenen erfindungsgemäßen Aspektes verwendet werden kann. Somit wird der oben dargestellte Bitstrom in Serienform auf ein Eingangsregister 110 gegeben. Natürlich kann das Elngangsnuster in entsprechenden Fällen auch in Parallelform eingegeben werden. Wenn die Nachricht mehr Bits enthält, als im Register 110 speicherbar sind, können Standardpuffermethoden verwendet werden, um vorübergehend einige dieser Bits zu speichern, bis das Register 110 diese aufnehmen kann.
Wenn das Register 110 einmal gefüllt ist, d. h., wenn die ersten Bits auf der rechten Seite des Registers 110 erschienen sind, empfängt ein M-Bit-Register 111 vorteilhafterweise die höchstwertigen (am weitesten rechts befindlichen) M Bits durch Übertragung vom Register 110. Diese M-Bits werden dann auf einen Addierer 112 gegeben, welcher die Summe aus den M Bits (als eine Zahl betrachtet) und dem konstanten Wert 1 bildet. In vereinfachter Form kann der Addierer 112 ein einfacher M-Bit-Zähler sein, und das +1-Signal kann ein erhöhender Impuls sein. Das Ausgangssignal des Addierers 112 wird dann auf eine Adressierschaltung 113 gegeben, welche daraufhin ein V/ort aus einem Speicher 114
509840/0842
auswählt, das auf diesem Ausgangssignal beruht. Die Adressierschaltung II3 und der Speicher 114 können zusammengenommen die Form irgendeiner Standardspeicheranlage mit beliebigem Zugriff mit einer zugeordneten Adressierungsschaltung sein. Obwohl Einzelleitungsverbindungen in Fig. 2 dargestellt und beschrieben sind, ist es aus dem Zusammenhang natürlich klar, daß einige Signalwege Mehrfach-Bitwege sind. Beispielsweise ist der zum Addierer 112 führende Weg ein K-Bitweg, d.h. mit insgesamt K-Aderverbindungen.
Das adressierte Wort wird in ein Register II5 eingelesen, welches mit zwei Teilen dargestellt ist. Der rechte Teil des Registers empfängt das dekodierte Schriftzeichen und 1st in Fig. 2 mit 117 bezeichnet. Dieses dekodierte Schriftzeichen wird dann in Standardweise auf die Verbraucherschaltung 104 gegeben. Wenn das Schriftzeichen im Speicher 114 gespeichert ist, wird es in binär kodierte Dezimalform kodiert oder welche "expandierte" Form auch immer durch die Verbraucherschaltung 104 erforderlich ist. Besondere Kodes zum Treiben eines Druckers sind typisch, wenn die alphabetischen Symbole der Tabelle I zu verwenden sind. Die Dekodierung dieses Schriftzeichens ist vollständig.
Der linke Teil II6 des Registers II5 empfängt diejenigen Signale, welche die Zahl der im Eingangsbitstrom zur Darstellung des dekodierten Schriftzeichens verwendeten Bits angibt. Diese Zahl wird dann verwendet, um den Inhalt des Registers 110 um eine entsprechende Zahl von Bits nach rechts zu verschieben. Irgendeine ver-
S09840/0842
schiebesignalquelle, wie ein Binärratenmultiplizierer (ERM) 118 kann zur Durchführung der gewünschten Verschiebung verwendet werden. Somit v.'ird bei einer typischen Ausführung eine feste Folge von Taktsignalen von einem Taktgeber II9 vom BRM "herausgegeben", um die gewünschte Verschiebung zu erzielen. Ist die Verschiebung vollständig durchgeführt (was geeigneterweise durch einen.Impuls auf einer Leitung 120 angegeben wird, der das Ende der Taktimpulsfolge definiert), wird eine neue M-Bitfolge in das Register 111 übertragen. Dieser Übertragungsimpuls wird bequemerweise auch zum Löschen des Addierers 112 und des Registers II5 verwendet. Die obige Reihenfolge wird dann wiederholt.
Wenn ein spezielles Zeichen dekodiert wird, welches das Ende einer Nachricht (ΕΟΓΙ) festlegt, setzt ein EOM-Detektor 121 (ein einfaches UND-Gatter oder i&ine gleichwertige Vorrichtung) ein Flipflop 122. Dies hat die Wirkung, daß ein Sperrsignal an UND-Gatter 123 und 124 angelegt wird, wodurch der Zugriff zum Speicher 114 und die Verschiebung des Inhalts des Registers 110 verhindert wird. Wenn eine neue Nachricht im Ankommen ist, was unabhängig auf einer START-Leitung 125 signalisiert wird, wird das Flipflop 122 zurückgesetzt, der Addierer 112 mittels eines ODER-Gatters l40 gelöscht und die neue Nachricht wie oben verarbeitet. Kehrt man nun wieder zur oben angegebenen Musternachricht zurück, so sieht man, daß die erste M-Bit-Folge 1101101 (oder 1011011 = 91 (dezimal) in normaler Reihenfolge), die auf das Register 111 übertragen wird, zu einem Zugriff zum Speicherplatz 91 + 1 = 92 führt, wie in
50SU0/0842
Tabelle III gezeigt ist. Aus Tabelle III sieht man, daß die Stelle 92 die Information 7, T enthält, d.h. das dekodierte Zeichen ist ein T und seine Länge, mit welcher es in der Eingangsfolge dargestellt ist, beträgt 7 Bits. Somit v/ird ein T auf die Verbrauchers chaltung 104 geliefert und BRM II8 erzeugt 7 Schiebeimpulse. Das Übertragungssignal auf Ader 120 bewirkt dann, daß die nächsten 7 Bits 1010101 (oder 1010101 = (dezimal)) auf das Register 111 übertragen werden. Das Übertragungssignal löscht bequemerweise gleich den Addierer 112 und das Register 115j um zu verhindern, daß die vorhergehenden Inhalte ein fehlerhaftes Ergebnis erzeugen. Zwischen dem Register 111 und dem Addierer 112 kann eine kleine Verzögerung vorgesehen werden, v/enn ansonsten ein "Wettlaufzustand" entstehen würde. Der Zugriff zum Speicherplatz 86 = 85 + 1 bewirkt dann, daß das Register II5 die Information 6, H empfängt. BRM II8 rückt dann das Schieberegister 110 um 6 Bits vor. Die Tabelle IV vervollständigt die Verarbeitung der oben gegebenen Beispielsfolge.
' TABELLE IV
7~Bit-Folge Adresse, zu welcher Dekodiertes Verschiebungen ^_ Zugriff besteht Bit/Nr.
ionon 92 τ, 7
1010101 86 H, 6
1101010 IO7 E, 5
1010110 87 Q, 7
1110110 119 u, 7
1011001 90 ι, 6
1100101 102 C, 4
1011111 96 κ, 6
S0SS40/0842
Wenn der insgesamt erforderliche Tabellenspeicher reduziert werden soll, kann eine etwas andere Operationsfolge vorteilhaft verwendet v/erden, wie im folgenden beschrieben werden soll. Wie oben bemerkt, sind für irgendeinen gegebenen Index I = I1I2 ··· 1M viele Verwirklichungen eines minimal-redundanten Kodes möglich. Der oben angeführte Kode für I = 1011496 hat eine bestimmte Synchronisationseigenschaft, die in der oben erwähnten Schrift von Rudner beschrieben ist. Eine andere Verwirklichung ist ein monotoner Kode, in welchem die Kodewerte numerisch geordnet sind. Solch ein zunehmender monotoner Kode ist dadurch aufgebaut, daß das erste Kodewort so ausgewählt wird, daß es I1 Nullen enthält. Jedes weitere Kodewort wird dadurch gebildet, daß zum vorausgehenden Kodewort eine 1 addiert und dann eine Multi-
Li"Li-l
plikation mit 2 , wobei L1 und Lj, die Längen des zu bildenden bzw. des vorauseilende Kodeworts sind. Der monotone Kode mit demselben Index wie demjenigen für den Kode der Tabelle I, nämlich I = 1011496, ist in Tabelle V dargestellt.
509840/0842
TABELLE V
Monotoner Kode I lit I = 1011496
Kodewort- Dekodierter
Kodewort länge Wert
0 1 A
100 3 B
1010 4 C
10110 5 D
10111 5 E
11000 5 F
11001 5 G
110100 6 .H
110101 6 I
110110 6 J
110111 6 K
111000 6 L
111001 6 M
111010 6 N
111011 6 0
111100 6 P
1111010 7 0
1111011 7 R
1111100 7 S
1111101 7 T
1111110 .7 U
1111111 V
Kodes der in Tabelle V dargestellten Form sind für eine Bildcodierung verwendet worden, die es in dem Artikel von A. J. Frank, "High Fidelity Encoding of Two-Level, High Resolution Images", Proc. IEEE International Conference on Communications, Session 2.6, Seiten 5-10« Juni 19735 und- von anderen beschrieben ist, die beispielsweise im bereits angeführten Artikel von Connell angegeben sind. Zu Vereinfachungszwecken wird die unten folgende Diskussion auf das Verfahren zum möglichst Kleinmachen eines Übersetzungstabellenspeichers für monotone Kodes beschränkt. Es sei jedoch bemerkt, daß die Methode auf jeglichen minimal-redundanten Kode anwendbar ist, obwohl für irgendeinen gegebenen Index T ein monotone·
50S8AO /08 4 2
Kode generell den kleinsten minimalen Tabellenspeicher ergibt.
Die oben in Verbindung mit der Anordnung nach Fig. 2 beschriebene Methode macht die Dekodierzeit dadurch möglichst klein, daß lediglich ein einziger Speicherzugriff für jedes Kodewort erforderlich ist. Ein Segment oder Ausschnitt von M Bits wird jedesmal, wenn Zugriff zum Bitstrom besteht^ herausgegriffen. Die Wirkung des Herausgreifens eines Segmentes von K Bits, wobei K kleiner als M ist, soll nun diskutiert werden. Zur Erläuterung sei K = 4 betrachtet. Zunächst wird eine "Primär"-überseozungstabelle aus den Kodewörtern der Tabelle V in einer Weise aufgebaut, die der oben beschriebenen gleich ist, wobei jedoch hier die abgeleiteten Kodewörter alle exakt 1I Bits lang sind. Dies bedeutet generell, daß einige der Kodewörter der Tabelle I durch Hinzufügen von Nullen auf der rechten Seite ve^ängert und einige vorkürzt werden, wie aus der Tabelle VI zu ersehen ist.
509840/0842
TABELLE VI
idewörter für einen monotonen
Binär Dezimal
0000 0
1000 8
1010 10
1011 11
1011 11
1100 12
1100 12
1101 13
1101 1?
1101 13
1101 13
1110 14
1110 14
1110 14
1110 14
1111 15
1111 15
1111 15
1111 15
1111 15
1111 15
1111 15
Kodewörter in Tabelle V mit einer Länge, die größer als K ist, führen, zu identischen abgeleiteten Kodewörtern. Dies tritt immer auf, wenn die ersten K Bits einer Gruppe von Kodewörtern gleich sind. Beispielsweise sind diejenigen Kodewörter, welche D und E entsprechen, gleich, da die ersten 4 Bits der ursprünglichen Kodewörter in Tabelle V gleich sir.d. Jegliche solche Mehrdeutigkeit wird dadurch gelöst, daß zusätzliche Bits aus dem Bitstrom herausgenommen und dazu verwendet v/erden, einen Zugriff teilweise auf meistens eine zusätzliche "Sekundär"-Übersetzungstabelle zu richten. Der Primärtabelleneintrag für jeden der Kodes, dessen erste K = 4 Bits dieselben wie die eines anderes Kodes sind, enthält die Zahl der zusätzlichen Bits, die aus dem Bitstrom heraus-
509840/0842
-. 23 -
zugreifen sind, und eine Adresse der erforderlichen Sekundärtabelle, Vor dem Herausgreifen der zusätzlichen Bits wird der Bitstrorntnarkierer um K Positionen vorgerückt. Die Zahl der herauszugreifenden zusätzlichen Bits ist gleich A, wobei 2 die Größe der adressierten Sekundärtabelle ist. Die herausgegriffenen zusätzlichen Bits, die als Zahl betrachtet werden, bilden, wenn sie um 1 erhöht sind, einen Index, der auf die indizierte Sekundärtabelle hinweist. Das identifizierte Wort in der indizierten Sekundärtabelle enthält die Kodewortlänge ninus K und den dekodierten Wert. Wie im vorherigen Fall, wird der entsprechende dekodierte Wert zur Verbrauchervorrichtung reliefert, der Bitstrommarkierer wird vorgerückt (hier um einen Betrag, der gleich der Kodewortlänge minus K ist), und der Vorgang wird für das nächste Segment wiederholt. Tabelle VII zeigt die Primär- und Sekundär-Übersetzunfstabellen, die für den in Tabelle V für K = 4 angegebenen monotonen Kode erforderlich sind. Es sei darauf hingewiesen, daß eine Sekundärtabelle Kodewerter unterschiedlicher Länge umfassen kann, wie es durch die Sekundärtabelle 2.5 gezeigt ist.
509840/0842
Übers ο tztmg stäbe 11 en.
TABELLE VII
vr den Kode in Tr^bej-le V
Prinär-Tabe11e
Adresse oder Ad r e s s enb er el oh
- 8 9-10
11 12
1.3 14
15 16 Inhalt
1, A 3, B *, G
I3 Tabelle 2.1
I3 Tabelle 2.2
2, Tabelle 2.3
2, Tabelle ~2,«
3, Tabelle 2.5
Sekundär-Tabelle Sekundär-Tabel1e
Adresse Inhalt D H Adresse Inhalt F L
1 1, E I 1 1, G n/j
2 2.^5 J 2 2.4
Sekundär-T abelle TnhÄT K SekundVr-Tabelle Inhalt O
Adresse 2, Adresse 2,
1 2, 1 2,
2 2, 2 2,
3 2, 3 2,
4 4
Sekundär-TabelIe
Adresse
1 2
7 8
Inhalt
2, P
2, P
•χ J,
3, S
T
U
5* V
5 018 AO /OiU
Um Zahl und Kapazität der Sekundär-Tabelle zu bestimmen, geht man einfacherwe1.se folgendermaßen vor. Beginnend mit der niedrigsten Kapazität von zwei Eingängen oder Eingaben, ergibt sich die Anzahl solcher erforderlicher Tabellen als diejenige ganze Zahl, die sich ergibt, wenn 1^+-, durch zwei geteilt wird, oder in symbolischer Formeldarstellung, ΙΝΤ(ΐχ+,/2). Dabei bedeutet INT die Abkürzung von Integer, d.h. ganze Zahl. Läßt sich Iv , nicht ohne Rest durch 2 dividieren, wird das restliche Kodewort Tx-MOD 2 eingruppiert In irgendeine Tabelle größerer Kapazität.
Geht man zur nächsten Tabellenkapazität 2 über, so ist die Anzahl solcher Tarellen gleich der ganzen Zahl, die sich ergibt, wenn man die Summe aus Iir+p im^ ^em s--c!l nach der Bildung der
Tabellen niedrigerer Kapazität ergebenden Resft*£urch 2 dividiert, nämlich TNT(Ix+2+(Tx+1)MOD 2)/22). Die Anzahl der übrigbleibenden Kodewörter ist nun auf den Wert (Ικ+2+^ΙΚ+1^Γ''0Ε) 2)M0D 2?' aufgelaufen. Generell ist die Anzahl der Tabellen mit einer Kapazität von 2 Eingaben oder Eintragungen:
+(lK+2+(lK+1)M0D 2)MOD 22)...)M0D 2J"1)/2J)
Das Verfahren zur Bestimmung der Anzahl Tabellen nächstgrößerer Kapazität und der angefallenen übrigbleibenden Kodewörter wird
M-K fortgesetzt, bis die Tabellen mit der größten Kapazität 2 erreicht ist. Für die Tabellen größter Kapazität wird obiger Ausdruck modifiziert, um eine zusätzliche Tabelle einzurichten,
50S840/0842
- 2β -
wenn irgendwelche Kodewörter übrigbleiben. Um dies auszuführen,
M-K vjird zum Zähler des obigen Ausdrucks 2" - 1 addiert. Um zu bestimmen, welches K die minimale gesamte ^bersetzungstabellen-Speicherkapazität ergibt, wird die Gesantspeicherkapazität als Funktion von K bestimmt und dann das Minimuni dieser Punktion gebildet. Die gesamte Übersetzungstabellen-Speicberkapazität ist die Summe aus den Produkten einer jeden Tabellenkapazität und der Anzahl" Tabellen mit dieser Kapazität. Für das angeführte Beispiel, für welches K = 4 ist, erfordert die Primärtabelle 2"v oder 16 Eintragungen und von den Sekundär-Tabelleri benötigen
zwei Tabellen je zwei Eintragungen, zwei Tabellen je 2 Eintragungen, und eine Tabelle erfordert 2^ Eintragungen, was eine
Gesamtzahl von ;3β Eintragungen ergibt. Für K = 7 ist allein für
1 die Primär-Tabelle eine Anzahl von 21 oder 128 Eintragungen oder
Eingaben erforderlich. Allgemein ist die Gesamtspeicherkapazität N gleich
K
(2J)IHT(
+(IK+2+(lK+1)M0D 2)MOD
2M"K)INT
(lK+2+(lK+1)M0D 2)MOD
50S840/0842
was reduziert v/erden kann auf;
κ = 2K + 3M-K - α
i - J-
2?)...)M0D
Für irgendeinen gegebenen Index I kann nun die minimale Speicherkapazität durch Berechnung von N für alle T\rerte von K bestimmt werden. Man kann aber auch eine gute Schätzung für das riinirnum dadurch erhalten, daS man berücksichtigt, dB3 für ein genügend großes M der Wert N im wesentlichen durch die Summe der ersten beiden Terme in obiger Formel bestimmt wird. Die ersten beiden Terme 2 + ?} sind minimal für K = Γί/2.
Die erforderliche Speicherkapazität kann noch weiter reduziert werden dadurch, daß das maximale Kodeviort in mehr als zwei Teile aufgeteilt wird und Tertiär-Tabellen und Tabellen höherer Ordnung eingerichtet werden. Dies würde jedoch auch die durchschnittliche Anzahl von Tabellenzuzriffen pro Kodewort erhohen. Für eine
schnelle Verarbeitung zeigt sich eine Begrenzung der maximalen Zahl von Zugriffen auf zwei als geeignet.
BAD ORiGHMAL
509840/0 8 42
Tabelle VIII faßt die Ergebnisse für den monotonen Kode mit I ='1011496 zusammen. Für jeden der sieben möglichen Werte
Y M-K von K zeigt Tabelle VIII die Summe von 2 l + 2 , die für die Übersetzungstabellen erforderliche Speicherkapazität, die Anzahl derjenigen Kodewörter, welche einen Tabellenzugriff erforderlich machen, und die Anzahl derer, welche zwei Tabellenzugriffe erforderlich machen.
TABELLR VIII
Übersetzung 2K+2M-K tabellensOeicherkanazität und Anzahl der Tabellen-
Zugriffe für den Kode in Tabelle IV
K 65 Übersetzungstabellen-
sOeicherkaOazität
Zahl der Kodewörte:
35 I 2
1 23 66 = 2 + (1)(26) 1 21
2 36 = 22 + (1)(25) 1 21
3 36 = 23 + (1)(22)
23 36 = 24 + (2)(2 )
3 19
5 35 48 = 25 + (4)(2 )+(2)(22) 7 35
6 65 70 =2β + Γ3)(2) 16 6
7 128 128 = 27 22 0
Es ist sovjohl die Tabellenspeicherkapasität insgesamt gezeirt, als atich die für jede einzelne Tabelle erforderliche KaOazitvt. So weist für K=I der Gesamtspeicher ·-'-"'? mabelleneintr"ge a^.f, wobei er eine Primär-Tabelle mit einer I's^azitat 2 und eine Sekundär-Tabelle mit einer Kapazität 2 ' -::nfaQt.
5098A0/0842 bad orsgsnal
Man kann sehen, daß sogar für M = 7» was relativ klein ist,
K M-K
die Summe 2 ' + 2 " einen großen Teil der Gesantspeicher!:apazität ausmacht. Pur dieses Beispiel liegt das geschätzte Minimum bei K = M/2 - 3, ^. Pas exakte Minimum liegt in V/irklichkeit bei drei V/erten von K, nämlich bei 2, 3 und 4. In diesem Fall würde für die Ausführung das größte K gewählt, da es zur größten Anzahl von Kodewörtern führt, v.'elche lediglich einen Zugriff zu den Übersetzungstabellen erfordern.
In dem in Tabelle VTI dargestellten Beispiel bewirkt die Verwendung von sekundären Übersetzungstabellen eine "Kompression" von 36/128 = 0,28. Beträchtlich bessere Kompressionen werden erhalten, wenn M großer ist. Ein geeignetes praktisches Beispiel ist in Tabelle TX dargestellt, welches den "\ode mit dem Index I = 002847110^1 bildet; einen minimal-redundanten Kode für die Buchstaben des englischen Alphabetes und ein Zwi sch enraurnsymbol. V/endet man obige Formel an, erhält man ein geschätztes und wirkliches Minimum bei K = 5· Die minimale Speicherkapazität für die Übersetzungstabellen für den Kode der Tabelle IX ist JO. Eine solche Übersetzungstabelle umfaßt eine Primär-Tabelle mit 32 Eintragungen, drei Sekundär-Tabellen mit je zwei Eintragungen und eine .^elcundär-Tabelle mit 32 Eintragungen. Der Kompressionskoei'fizient 1st in diesem Fall 70/1024 = 0,07.
BAD ORIGWAL
509840/0842
TABELLE IX Huffman-Kodes für die Buchstaben des englischen Alphabets und
einen Zw ischenraum
Dekodierter
Wert Kodewort
Zwischenraum 000
E 001
A 0100
H 0101
I 0110
N Olli
0 1000
R looi
S 1010 ■
T 1011
C 11000
D 11001
L 11010
U 11011
B H]OOO
P 111001
G 111010
'M 111011
D-. HIT OO
W 111101
γ 111110
V 1111110
K 11111110
J 1111111100
0. 1111111101
X 1111111110
Z 1111111111
Fife. 3 zeigt eine typische Anordnung zur Durchführung der oben beschriebenen Schritte für einen Zugriff zu den Prinär- und den Sekundr'r-Übersetzungstabellen. Eingangsbits werden mit den höchstwertigen Bit zuerst in ein Schieberegister 210 eingegeben, und zwar entweder in Serien- oder in Parallelforn. Wieder gelten die Pufferbetrachtungen, die bereits in Verbindung mit der Schaltung der Pig. 2 erwähnt worden sind.
Wenn die Bits vollständig eingegeben sind (das höchstwertige Bit
509840/0842
-Sides ersten Kodeworts ganz rechts im Register 210 der Fig. 3 angekommen ist), werden die ersten K Bits in Parallel form zu einem K-Eitregister 211 übertragen. Wie bei der Schaltung der Fig. 2 wird diese übertragene Folge in einem Addierer 212 um 1 erhöht und von einer Adressierungsschaltung 21.3 als Adresse verwendet, um die in Speicher 214 gespeicherte Primär-Übersetzungstabelle zu adressieren. Zur Vereinfachung wird angenommen, da.? es sich bei den Eingangskodewörtern um die in mabelle V dargestellten handelt, mit der Folge, da·? man die Primär-Übersetzungstabelle in Tabelle VTI erhalt.
V.'enn eine K-Bitfolge der Form 0000 um 1 erhöht wird, was zu einer Adresse von 0001 = 1 führt, besteht Zugriff z\ir Speicherstelle 1. Der ausgelesene Inhalt (l,.O der Stelle 1 wird auf ein Register 215 geliefert, das einen linken Abschnitt 2Λ6 und einen rechten Abschnitt 217 aufweist. Die 1 von der Stelle 1, welche die Länge des laufenden Modewortes anzeigt, wird in den Registerteil 216 und das A in den Registerteil 217 eingegeben. Der Inhalt des Registers 217'wird dann mittels eines UND-Gatters 241 und eines ODER-Gatters 242 auf eine Ader 243 geliefert, und von dort auf die Verbrauchervorrichtung 104. VJenn das spezielle EOrT-Zeichen an der Ausgan^sader 243 erscheint, bewirk: ein EOM-retektor 221, daß ein Flipflop 222 gesetzt wird. Da die Dekodierung des laufenden J'odewortes durchgeführt ist, wird der Inhalt des Registers 216 dazu verwendet, die Daten im Register 210 um ein Bit vorzurücken, und zwar durch eine Betätigung von BR"! 218 über ein UND-Gatter 233 und ein ODER-Oatter 2^-''. BR." I 21 ο snricht auc': auf-einen StoR von
509840/08 42 BAD ORlGlMAL
K Takt impulsen von einer Taktschaltung 219 an* au.^er wenn durch das EC.'-'-^lipflop 222 ein Sperrsignal auf die Leitung 2;l0 gegeben wird.
Obige Reihenfolge, welche die Übertragung eines K~rit-Byts, die Erhöhung um 1, den Zugriff zum Speicher 214 unter der resultierenden Adresse, das Auslesen der dekodierten V.'erte und der Kodelänge umfaßt, läuft immer dann ohne eine"1 zusätzlichen Schritt ab, wenn eine der -teilen 1 bis 11.des Speichers .214■(des Prin"r-ÜbersetzimgstabellensOeichers1) adressiert ist. Venn jedoch Zugriff
Stellen
zu einer der/12 bis 16 des Speichers 2\H bestellt, ist ein weiterer Speicherzugriff zu einer der in Speicher 2^0 p:esneio/-:erten ?e'nmdär-Tabellen erforderlich. Das !"uster zur Identifizierung ner Sekundär-Tabelle, das in der Prinär-Tabelle .gespeichert ist, umfaßt typischerweise ein zusätzliches Nie'-t—Adressenbi t, welches, wenn es auf einer Leitung 239 festgestellt v.'ird, dJe 5>haltun~ BRM 218 veranlaßt, den Inhalt des Register.- 23 0 um X Bits nach rechts zu verschieben.
Wie oben und in Tabelle VIT angegeben, spezifizieren Stellen in der Prirnär-Tabelle, welche eine S9]<:und:'r-'npcellen-Identifizierungsinformation (einschließlich der Stellen 12 bis 16 in °neicher 214) enthalten, die entsprechende He'-rv^dur-Tabelle und die Zahl der aus dem Eingan^sbitstrom zu entnehmenden zusätzlichen Bits. Die Zahl der zu entnehmenden zusätzlichen Bits ist A, wobei 2 die Xapazit^t oder ZabJ der Einsahen oder Eintragungen in der adressierten Sekundär-Tabelle int. Bei snip.*: η we ^ r-e gibt für .:as
5 0 9 8 4 0 / 0 8 U 2 BAD
Kodewort von P in Tabelle V und für K - 4 die adressierte Stelle l6 in der Primär-Tabelle eine 3 als die Anzahl der zu entnehmenden zusätzlichen Bits, da die zugeordnete Sekundär-Tabelle 2.5 eine Kapazität von 2=8 hat. Um die richtige Stelle im identifizierten Sekundär-Speicrer festzustellen, interpretiert eine Sekundärspeicher-Zugriffsschaltunr 251 den Inhalt des Registers 217 und die oben erwähnten Λ Zusat?bits, die aus dem Eingangsbitstrom abgeleitet sind. Diese zusätzlichen A Bits v/erden wiederum mittels des Registers 21?, eines Dekodierers 2^0 und eines Addierers 261 abgeleitet. Der Dekodierer ?60 kann eine einfache Maskenschaltung sein, die auf den Inhalt des Registers 216 anspricht und irgendwelche unerwünschten Bits eliminiert. Tn Fall eines Eingangskodes für P aus Tabelle V und auf einen Zugriff zur Stelle lo, der auf den ersten K = 4 Bits (1111 - 15 Dezimal) beruht, die um 1 erhöht sind, werden zusätzliche 3 Bits für das Herausnehmen aus dem Eingangsbitstrom festgelegt.
Die Zugriffssc-ialtung 251 identifiziert dann die entsprechende Stelle im sakundären Tabellenspeicher 250. Der Inhalt dieser Stelle wird in ein Ausgangsregister 270 gegeben, wobei die um K reduzierte Kodewortlänge in den linken Teil 271 und das dekodierte Wort in den rechten Teil 272 gegeben wird. Noch einmal VdBt das ODER-Gatter 242 das dekodierte V.'ort zur Ausgangsleitung 243 und von dort zur Verbrauchervorrichtung 104 passieren.
Um ein unbeabsichtigtes Passieren einer im Register 217 gespeicherten Sekundärtabellen-Teiladresse zur Ausgangsleitung 243 zu ver-
509840/08Λ2
hindern, wird ein UND-Gatter 241 immer dann durch ein Signal auf einer Leitung 291 gesperrt, wenn ein Flipflop 285 gesetzt ist. Das Flipflop 285 wiederum spricht auf die Feststellung des Signals.auf der Leitung 239 an, welches anzeigt, daß ein Sekundärtabellenzugriff erforderlich ist. Dasselbe Signal auf Leitung wird zur Vorbereitung eines UND-Gatters 292 verwendet, um zu ermöglichen, daß der Inhalt des Registers 2?2 auf die Ausgangsleitung 243 geliefert wird.
Das Signal auf der Leitung 239 wird auch dazu verwendet, zu verhindern, daß der Inhalt des Registers 216 auf BRM 218 gelangt. Dies wird durch den Sperreingang am UND-Gatter 283 bewirkt. Es sei daran erinnert, daß auf das Herausgreifen der zusätzlichen Λ Bits, die zur Identifizierung einer Stelle in der entsprechenden Sekundär-Tabelle erforderlich sind, eine vollständig neue K-Bitfolge verarbeitet wird. So bereitet statt dessen das Signal auf der Leitung 239 selektiv den Längendekoder 260 vor, und zwar über das UND-Gatter 282, um die erforderliche Λ-Bitfolge abzuleiten. Während Zugriff zu den Sekundär-Tabellen besteht, ist ein weiterer Zugriff zum Speicher 214 verhindert, und zwar durch das Ausgangssignal des Flipflop 285, wenn dieses über das ODER-Gatter 234 auf den Sperreingang des UND-Gatters 28l gegeben wird.
Der längenanzeisende Inhalt des Registers 271.wird, wenn er auch primär die Inipulszahl anzeigt, die von BRM 213 zum Schieberegister 210 zu liefern ist, auch, und zwar in abgeleiteter Form und nach-
5098A0/0842
dem mittels einer Verzögerungseinheit 280 eine geeignete Verzögerung vorgenommen v/orden ist, zur Rücksetzung des Flipflop 285 verwendet. Ein einfaches "ODERN" der Ausrangsbits vom Register 271 ist für diesen Zweck ausreichend.
Wenn die obigen erfindungsgemäßen Ausfübrungsformen auch in Form von auf einen speziellen Zweck zugeschnittenen Dlgitalscha1. tungsanordnungen vorliegen, ist es natürlich klar, daß eine Dekodierung von Huffman-Kodes durch programmierte Digitalcontmter in manchen Fällen wünschenswert ist. Tatsächlich legt die im wesentlichen sequentielle Bit-für-Bit-Dekodierung, v:ie sie bei bekannten Anwendungen der Huffman-Kodierung verwendet worden ist, eine solche programmierte Comnuteranwendunr nahe. (s. beispielsweise F. M. Ingels, Information and Coding Theory, Tntext Educational Publisher, Scranton, Pa., 1971, Seiten 127-1.72, wo sich eine Beschreibung von Huffman-Kodes findet und ein FORTRAN-Programm zur Dekocferung solches Kodes enthalten ist.)
Während bei οΜτβη Beisoielen und Beschreibungen besondere erlaubte Kodei-Jörter angenommen v/erden, ist die vorliegende Erfindung nicht auf die Anwendung auf solche besonderen Kodes begrenzt. Irgendein Hatz von minimal-redundanten Huffman-Kodewörtern kann in Verbindung mit vorliegender Erfindung verwendet werden. In der Tat lassen sich viele Prinzipien ^leichgut auf andere !'!odes variabler L?.nge anwenden, welche die Eigenschaft haben, daß kein Kodewort der Berinn eines anderen Kodewortes ist.
509840/0842
Wie aus der obigen Diskussion der Fi?,. "? hervorgeht, bedeutet die Aufteilung der Sneichereinrichtim^en in Primer- und Sek^rdV.r-Tabellenspeicher weder das Erfordernis für einen einzjren Speicher noch für einen sweiästigen Speicher; jede Konfiguration reicht aus, vjenn sie anderen Systemanforderungen genügt.
509840/0842 bad original

Claims (6)

  1. BLUMBACH · WESER · BERGEN KRAMER ZWIRNER - HIRSCH
    PATENTANWÄLTE IN MÜNCHEN UND WIESBADEN
    Postadresse München: Palenlconsult 8 München 60 Radedcestraße 43 Telefon (089) 883603/883604 Telex 05-212313 Postadresse Wiesbaden: Patentconsult 62 Wiesbaden Sonnenberger Straße 43 Telefon (06121) 562943/561998 Telex 04-186237
    Patentansprüche
    Vorrichtung zum Dekodieren einer Singangsfolge von Binärkodewörtern unterschiedlicher Länge, mit einem Eingangsregister zur Aiifnahme und Speicherung der Eingangskodexvörter und einer Speicheranordnung zur Speicherung dekodierter Symbole entsprechend jedem Eingangskodewort,
    gekennzeichnet durch
    ein an das Eingangsregister (110; 210) angekoppeltes erstes Register (illj 211) zur Auswahl eines in seiner Länge festgelegten Abtastmusters der mit dem ersten Digit eines gegenwärtigen Kodewortes beginnenden Eingangssignale; einen das erste Register (111; 211) und die Speicheranordnung verbindenden Adressengenerator (112, 113; 212, 213, 261, 251) zur Ableitung einer auf dem Abtastmuster der Eingangsdlgitsignale beruhenden Adressenstelle in der Speicheranordnung (114; 214, 250);
    und ein Ausgangsregister (115; 215, 270) zum Auslesen der Information aus der adressierten Stelle der Speicheranordnung (114; 214, 250).
    509840/0842
  2. 2. Vorrichtung zum Dekodieren nach Anspruch 1, dadurch gekennzeichnet, daß jede adressierte Stelle der Speicheranordnung (ll4; 214, 250) gleichzeitig die Länge des gegenwartigen Xodewortes und dessen entsprechendes dekodiertes Ausgangssymbol identifiziert.
  3. 3. Vorrichtung zum Dekodieren nach Anspruch 2, dadurch gekenn? zeichnet, daß das Ausgangsregister (115; 215, 27O) einen Kodelängenabschnitt (116; 216, 271) aufweist zur Speicherung der auf die Länge eines Eingangskodewortes bezogenen Information, und daß eine Schaltungsanordnung (HS; 282, 283, 286, 2l8) vorgesehen ist, die an den Kodelängenabschnitt angekoppelt ist zur Identifizierung des ersten Bits im folgenden Kodewort der Eingangsfolge.
  4. 4. Vorrichtung zum Dekodieren nach Anspruch 3> dadiirch gekennzeichnet, daß die Speicheranordnung eine zwischengeschaltete Modulanordnung aufweist zur Speicherung von Wörtern, Vielehe ein dekodiertes Ausgangssymbol und die Länge von dessen zugeordnetem Eingangskodewort identifizieren.
  5. 5. Vorrichtung zum Dekodieren nach Anspruch 4, dadurch gekennzeichnet, daß die Speicheranordnung einen Primär-Tabellenspeicher (214) und eine Mehrzahl Sekundär-Tabellenspeicher (250) aufweist, daß jede Sekundär-Tabelle Wörter auf v/eist, die ein Äusgangssymbol explizit identifizieren, und daß in
    509840/0842
    - !59 -
    der Primär-Tabelle Information speicherbar ist zur Identifizierung einer aus der Vielzahl Sekundär-Tabellen.
  6. 6. Vorrichtung zum Dekodieren nach Anspruch 5> dadurch gekennzeichnet, daß der Sekundär-Tabellenspeicher (250) Information zur Identifizierung von L.-K speichert, wobei L. die Länge des Modewortes bedeutet, welches den i-ten Ausgangssymbol zugeordnet ist;
    1 — 1 P "3I M ·
    M die maximale Länge eines Eingangskodewortes; und K die Länge des in seiner Länge festgelegten Abtastrmsters der im ersten Register gespeicherten Eingangsdigits.
    503840/08 U2
DE2513862A 1974-03-28 1975-03-27 Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge Expired DE2513862C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US455668A US3883847A (en) 1974-03-28 1974-03-28 Uniform decoding of minimum-redundancy codes

Publications (2)

Publication Number Publication Date
DE2513862A1 true DE2513862A1 (de) 1975-10-02
DE2513862C2 DE2513862C2 (de) 1986-01-16

Family

ID=23809767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2513862A Expired DE2513862C2 (de) 1974-03-28 1975-03-27 Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge

Country Status (7)

Country Link
US (1) US3883847A (de)
JP (1) JPS50131726A (de)
BE (1) BE827319A (de)
CA (1) CA1055611A (de)
DE (1) DE2513862C2 (de)
FR (1) FR2266382B1 (de)
GB (1) GB1508653A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3137704A1 (de) * 1980-09-22 1982-04-15 Nippon Telegraph & Telephone Public Corp., Tokyo Vorrichtung zum decodieren eines baumfoermigen codes variabler laenge
DE3406624A1 (de) * 1983-02-25 1984-09-27 Canon K.K., Tokio/Tokyo Datendecodiereinrichtung

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US4075622A (en) * 1975-01-31 1978-02-21 The United States Of America As Represented By The Secretary Of The Navy Variable-to-block-with-prefix source coding technique
US4099257A (en) * 1976-09-02 1978-07-04 International Business Machines Corporation Markov processor for context encoding from given characters and for character decoding from given contexts
US4177456A (en) * 1977-02-10 1979-12-04 Hitachi, Ltd. Decoder for variable-length codes
JPS53145410A (en) * 1977-05-24 1978-12-18 Toshiba Corp Variable code length transmission system
JPS6110287Y2 (de) * 1978-06-08 1986-04-02
JPS55953A (en) * 1978-06-20 1980-01-07 Nippon Telegr & Teleph Corp <Ntt> Data decoding system
GB2060226A (en) * 1979-10-02 1981-04-29 Ibm Data compression-decompression
US4506325A (en) * 1980-03-24 1985-03-19 Sperry Corporation Reflexive utilization of descriptors to reconstitute computer instructions which are Huffman-like encoded
FR2480481A1 (fr) * 1980-04-09 1981-10-16 Cii Honeywell Bull Dispositif pour la memorisation d'etats logiques de processus
US4475174A (en) * 1981-09-08 1984-10-02 Nippon Telegraph & Telephone Public Corporation Decoding apparatus for codes represented by code tree
US4463386A (en) * 1982-05-03 1984-07-31 International Business Machines Corporation Facsimile data reduction
JPS5937773A (ja) * 1982-08-26 1984-03-01 Canon Inc ランレングス符号復号装置
US4694420A (en) * 1982-09-13 1987-09-15 Tektronix, Inc. Inverse assembly method and apparatus
JPS59148467A (ja) * 1983-02-14 1984-08-25 Canon Inc デ−タ圧縮装置
US4837634A (en) * 1984-06-05 1989-06-06 Canon Kabushik Kaisha Apparatus for decoding image codes obtained by compression process
JPH0656958B2 (ja) * 1986-07-03 1994-07-27 キヤノン株式会社 情報デ−タ復元装置
FR2601833B1 (fr) * 1986-07-17 1992-12-31 Brion Alain Procede de decodage d'un signal binaire code par un code de plages a longueur variable
US4745604A (en) * 1986-10-20 1988-05-17 International Business Machines Corporation Method and apparatus for transferring data between a host processor and a data storage device
US4764805A (en) * 1987-06-02 1988-08-16 Eastman Kodak Company Image transmission system with line averaging preview mode using two-pass block-edge interpolation
US4772956A (en) * 1987-06-02 1988-09-20 Eastman Kodak Company Dual block still video compander processor
US4774587A (en) * 1987-06-02 1988-09-27 Eastman Kodak Company Still video transceiver processor
US5045853A (en) * 1987-06-17 1991-09-03 Intel Corporation Method and apparatus for statistically encoding digital data
US4852173A (en) * 1987-10-29 1989-07-25 International Business Machines Corporation Design and construction of a binary-tree system for language modelling
US4967196A (en) * 1988-03-31 1990-10-30 Intel Corporation Apparatus for decoding variable-length encoded data
JP2766302B2 (ja) * 1989-04-06 1998-06-18 株式会社東芝 可変長符号並列解読方法および装置
JPH03145223A (ja) * 1989-10-30 1991-06-20 Toshiba Corp 可変長符号復調装置
DE4018133A1 (de) * 1990-06-06 1991-12-12 Siemens Ag Anordnung zur decodierung eines in parallelen datenwoertern der breite n vorliegenden datenstroms mit codewoertern unterschiedlicher breite
US5023610A (en) * 1990-06-13 1991-06-11 Cordell Manufacturing, Inc. Data compression method using textual substitution
US5136290A (en) * 1990-06-18 1992-08-04 Bond James W Message expansion decoder and decoding method for a communication channel
US5034742A (en) * 1990-06-19 1991-07-23 The United States Of America As Represented By The Secretary Of The Navy Message compression encoder and encoding method for a communication channel
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5216423A (en) * 1991-04-09 1993-06-01 University Of Central Florida Method and apparatus for multiple bit encoding and decoding of data through use of tree-based codes
US5208593A (en) * 1991-07-30 1993-05-04 Lsi Logic Corporation Method and structure for decoding Huffman codes using leading ones detection
US5254991A (en) * 1991-07-30 1993-10-19 Lsi Logic Corporation Method and apparatus for decoding Huffman codes
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class
US5227789A (en) * 1991-09-30 1993-07-13 Eastman Kodak Company Modified huffman encode/decode system with simplified decoding for imaging systems
US5857088A (en) * 1991-10-24 1999-01-05 Intel Corporation System for configuring memory space for storing single decoder table, reconfiguring same space for storing plurality of decoder tables, and selecting one configuration based on encoding scheme
WO1993013603A1 (en) * 1991-12-23 1993-07-08 Intel Corporation Circuitry for decoding huffman codes
US5233348A (en) * 1992-03-26 1993-08-03 General Instrument Corporation Variable length code word decoder for use in digital communication systems
US5325092A (en) * 1992-07-07 1994-06-28 Ricoh Company, Ltd. Huffman decoder architecture for high speed operation and reduced memory
JP3003894B2 (ja) * 1992-07-29 2000-01-31 三菱電機株式会社 可変長復号器
US5537551A (en) * 1992-11-18 1996-07-16 Denenberg; Jeffrey N. Data compression method for use in a computerized informational and transactional network
JP2741836B2 (ja) * 1993-02-22 1998-04-22 現代電子産業株式会社 適応型可変長符号器
US5615020A (en) * 1993-05-13 1997-03-25 Keith; Michael System and method for fast huffman decoding
US5509088A (en) * 1993-12-06 1996-04-16 Xerox Corporation Method for converting CCITT compressed data using a balanced tree
US5546080A (en) * 1994-01-03 1996-08-13 International Business Machines Corporation Order-preserving, fast-decoding arithmetic coding arithmetic coding and compression method and apparatus
US5572208A (en) * 1994-07-29 1996-11-05 Industrial Technology Research Institute Apparatus and method for multi-layered decoding of variable length codes
US5793896A (en) * 1995-03-23 1998-08-11 Intel Corporation Ordering corrector for variable length codes
US5748790A (en) * 1995-04-05 1998-05-05 Intel Corporation Table-driven statistical decoder
US5689255A (en) * 1995-08-22 1997-11-18 Hewlett-Packard Company Method and apparatus for compressing and decompressing image data
US5838963A (en) * 1995-10-25 1998-11-17 Microsoft Corporation Apparatus and method for compressing a data file based on a dictionary file which matches segment lengths
US5646618A (en) * 1995-11-13 1997-07-08 Intel Corporation Decoding one or more variable-length encoded signals using a single table lookup
US5848195A (en) * 1995-12-06 1998-12-08 Intel Corporation Selection of huffman tables for signal encoding
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6311258B1 (en) 1997-04-03 2001-10-30 Canon Kabushiki Kaisha Data buffer apparatus and method for storing graphical data using data encoders and decoders
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6349379B2 (en) 1997-04-30 2002-02-19 Canon Kabushiki Kaisha System for executing instructions having flag for indicating direct or indirect specification of a length of operand data
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6259456B1 (en) 1997-04-30 2001-07-10 Canon Kabushiki Kaisha Data normalization techniques
US6771196B2 (en) * 1999-12-14 2004-08-03 Broadcom Corporation Programmable variable-length decoder
US7283905B1 (en) 2001-12-11 2007-10-16 Garmin Ltd. System and method for estimating impedance time through a road network
US6574554B1 (en) * 2001-12-11 2003-06-03 Garmin Ltd. System and method for calculating a navigation route based on non-contiguous cartographic map databases
US6704645B1 (en) * 2001-12-11 2004-03-09 Garmin Ltd. System and method for estimating impedance time through a road network
US6650996B1 (en) 2001-12-20 2003-11-18 Garmin Ltd. System and method for compressing data
US6581003B1 (en) * 2001-12-20 2003-06-17 Garmin Ltd. Systems and methods for a navigational device with forced layer switching based on memory constraints
US6545637B1 (en) 2001-12-20 2003-04-08 Garmin, Ltd. Systems and methods for a navigational device with improved route calculation capabilities
US7184886B1 (en) 2001-12-21 2007-02-27 Garmin Ltd. Navigation system, method and device with detour algorithm
US6975940B1 (en) 2001-12-21 2005-12-13 Garmin Ltd. Systems, functional data, and methods for generating a route
US7277794B1 (en) 2001-12-21 2007-10-02 Garmin Ltd. Guidance with feature accounting for insignificant roads
US6847890B1 (en) 2001-12-21 2005-01-25 Garmin Ltd. Guidance with feature accounting for insignificant roads
US6892135B1 (en) 2001-12-21 2005-05-10 Garmin Ltd. Navigation system, method and device with automatic next turn page
US6999873B1 (en) 2001-12-21 2006-02-14 Garmin Ltd. Navigation system, method and device with detour algorithm
US6482830B1 (en) 2002-02-21 2002-11-19 Supergen, Inc. Compositions and formulations of 9-nitrocamptothecin polymorphs and methods of use therefor
US20060212185A1 (en) * 2003-02-27 2006-09-21 Philp Joseph W Method and apparatus for automatic selection of train activity locations
US8473693B1 (en) * 2003-07-29 2013-06-25 Netapp, Inc. Managing ownership of memory buffers (mbufs)
US7249227B1 (en) * 2003-12-29 2007-07-24 Network Appliance, Inc. System and method for zero copy block protocol write operations
US7925320B2 (en) 2006-03-06 2011-04-12 Garmin Switzerland Gmbh Electronic device mount
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3331056A (en) * 1964-07-15 1967-07-11 Honeywell Inc Variable width addressing arrangement
US3496550A (en) * 1967-02-27 1970-02-17 Burroughs Corp Digital processor with variable field length operands using a first and second memory stack
US3810154A (en) * 1972-10-10 1974-05-07 Us Navy Digital code translator apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
DE2205422C2 (de) * 1971-02-08 1981-09-17 International Business Machines Corp., 10504 Armonk, N.Y. Verfahren und Einrichtung zur Dekompression verdichteter Daten

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Bell Syst.Techn.J.Bd.38, Juli 1959, S.933-967 *
Proc.of the IEEE, Juli 1973, S.1046-1047 *
Proc.of the IRE, Bd.40 (1952) S.1098-1101 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3137704A1 (de) * 1980-09-22 1982-04-15 Nippon Telegraph & Telephone Public Corp., Tokyo Vorrichtung zum decodieren eines baumfoermigen codes variabler laenge
DE3406624A1 (de) * 1983-02-25 1984-09-27 Canon K.K., Tokio/Tokyo Datendecodiereinrichtung

Also Published As

Publication number Publication date
US3883847A (en) 1975-05-13
FR2266382B1 (de) 1978-02-03
DE2513862C2 (de) 1986-01-16
JPS50131726A (de) 1975-10-18
FR2266382A1 (de) 1975-10-24
GB1508653A (en) 1978-04-26
BE827319A (fr) 1975-07-16
CA1055611A (en) 1979-05-29

Similar Documents

Publication Publication Date Title
DE2513862A1 (de) Vorrichtung zum dekodieren
DE2227148C3 (de) Schaltungsanordnung zur Umsetzung digitaler Daten
DE2264090C3 (de) Datenverdichtung
DE2508706C2 (de) Schaltungsanordnung zur Codierung von Datenbitfolgen
DE10301362B4 (de) Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
DE2640414C2 (de) Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen
DE2153517A1 (de) Anordnung zur Codeumsetzung
EP2290612B1 (de) Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung von binären Zuständen sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE2652459C2 (de) Umsetzvorrichtung für Binärsignale variabler Länge
DE3111384A1 (de) Codier/decodiersystem mit null-disparitaet
DE1296182B (de) Verfahren zur UEbertragung binaerkodierter Informationssignale sowie Kodierer zur Abgabe solcher Signale und mit diesem betreibbarer Dekodierer
DE2821348A1 (de) Digitales dialogsystem
DE2736967C3 (de) Fernwirkanordnung
DE2340230A1 (de) Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes
DE2925663A1 (de) Vorrichtung zur kompression binaerer signale fuer ein system zur kodierten uebertragung von faksimiles
DE2500055C2 (de) Faksimile-uebertragungssystem
DE2826450C3 (de) Verfahren zum Steuern der Übertragung digitaler Signale und Anordnung zur Durchführung des Verfahrens bei einer digitalen Faksimileübertragungseinrichtung
DE69826971T2 (de) Übertragungssystem mit kodierer variabler länge
DE2340250A1 (de) Verfahren zum codieren eines eine bestimmte redundanz aufweisenden nachrichtenstromes
DE2758952B1 (de) Schaltungsanordnung zum Codieren oder Decodieren von Binaerinformationen
DE2651902C2 (de) Verfahren und Anordnung zum Codieren von Zahlen
DE1924484A1 (de) Informations-UEbertragungssystem
DE3904831C2 (de) Ein universelles homophones Codierverfahren
EP0525349B1 (de) Einrichtung zur redunanzvermindernden Codierung
DE978055C (de) Elektronische Einrichtung zur Ver- und Entschluesselung von binaer kodierten Signalen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: AT & T TECHNOLOGIES, INC., NEW YORK, N.Y., US

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

Free format text: BLUMBACH, P., DIPL.-ING., 6200 WIESBADEN WESER, W., DIPL.-PHYS. DR.RER.NAT., 8000 MUENCHEN ZWIRNER,G., DIPL.-ING. DIPL.-WIRTSCH.-ING., PAT.-ANW., 6200 WIESBADEN

8339 Ceased/non-payment of the annual fee