DE2513862C2 - Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge - Google Patents

Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge

Info

Publication number
DE2513862C2
DE2513862C2 DE2513862A DE2513862A DE2513862C2 DE 2513862 C2 DE2513862 C2 DE 2513862C2 DE 2513862 A DE2513862 A DE 2513862A DE 2513862 A DE2513862 A DE 2513862A DE 2513862 C2 DE2513862 C2 DE 2513862C2
Authority
DE
Germany
Prior art keywords
length
code
input
register
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.)
Expired
Application number
DE2513862A
Other languages
English (en)
Other versions
DE2513862A1 (de
Inventor
Amalie Julianna Chatham Township N.J. 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

Die Erfindung betrifft eine Vorrichtung zum Decodieren einer Eingangsfolge von Binärcodewörtern unterschiedlicher Länge, von denen kein Codewort der Anfang eines anderen Codewortes ist, mit einem Eingangsre- gister zur Aufnahme und Speicherung der Eingangscodewörter und einer Speicheranordnung zur Speicherung decodierter Symbole entsprechend jedem Eingangscodewort. Eine solche Vorrichtung ist aus der DE-PS 2205422 bekannt.
Mit zunehmender Verwendung von Digitalrechnern und anderen Digitalspeicher- und Verarbeitungsanlagen ist das Erfordernis, digitale Informationen zu speichern und/oder zu übertragen, wichtig geworden. Da Informa tionen im allgemeinen einer Anzahl von Symbolen, z. B. alphanumerischen Zeichen, zugeordnet sind und da einige Symbole in einem typischen Alphabet häufiger auftreten als andere, hat es sich als vorteilhaft gezeigt, um die mittlere Länge der Codewörter zu reduzieren, sogenannte statistische Codierungsmethoden zu verwenden und Signale entsprechender Länge abzuleiten, die die einzelnen Symbole darstellen. Eine solche statistische Codierung ist nicht neu. So kann der wohlbekannte Morsecode für telegraphische Übertragung als eine dieser Codearten betrachtet werden, bei welchem die relativ häufig auftretenden Symbole (wie E) durch kurze Signale dargestellt werden, woh.ngegen weniger häufig vorkommende Signale (wie Q) entsprechend längere Signaldarstellungen aufweisen. Andere Codes variabler Länge sind in folgenden Aufsätzen beschrieben worden: D. A. Huffman »A Method for the Construction of Minimum-Redundancy Codes«, Proc. of the IRE, Band 40, Seiten 1098-1101, September 1952; E. N. Gilbert und E. F. Moore »Variable-Length Binary Encodings«, Bell System Technical Journal, Band 38, Seiten 933-967, Juli 1959; und J. B. Connell »Α HufTmän-Shännon-Fanö Code«, Proc. IEEE, Juli 1973, Seiten 1046-1047.
Aus den obengenannten Aufsätzen und aus Fano, Transmission of Information, John Wiley and Sons, Inc., New York, 1961, Seiten 75-81. ist es bekannt, daß das Huffman-Codierungsverfahren verglichen werden kann mit einem Baumbildungsprozeß, bei welchem Codes entsprechend weniger häufig auftretenden Symbolen an den oberen Spitzen eines Baumes mit drei verschiedenen Etagen erscheinen, wohingegen jene Codes, die mit relativ hoher Wahrscheinlichkeit auftreten, an unteren Etagen im Baum erscheinen. Wenn es auch so scheint, daß ein Decodierungsprozeß durch Anwendung des HulTman-Dccodierschemas einfach ist, so entspricht dies nicht der allgemeinen Erfahrung. Viele Leute, die sich mit dem Gebiet des Codierens beschäftigen, haben die
Huffinan-Decodierung als recht unhandlich befunden, z. B. Bradley »Data Compression for Image Storage and Transmission«, Digest of Papers, IDFA Symposium, Society for Information Display, 1970; O'Neal »The Use of Entropy Coding in Speach and Television Differential PCM Systems«, AFOSR-TR-72-0795, verteilt durch den National Technical Information Service, Springfield, VA, 1971. Bei Durchführung einer Huffinan-Decodierung wurde die Kompliziertheit deutlich erkannt, vgl. z. B. Ingels, Information und Coding Theory, Intext Education Publishers, Scranton, Pa., 1971, Seiten 127-132; Gallager, Information Theory and Reliable Communication, Wiley, 1968.
Wenn eine solche Huffman-Decodierung erforderlich ist, wurde sie gewöhnlich durch eine Baumsuchmethode fvr einen seriell empfangenen Bitstrom durchgeführt. Wenn man an jedem Knoten in einem Baum einem von zwei Zweigen folgt, und zwar in Abhängigkeit davon, welcher von zwei Werten für individuelle Digits im empfangenen Code festgestellt worden ist, gelangt man schließlich zu einer Angabe des durch den seriellen Cede dargestellten Symbols. Dies kann man bei einer praktischen Geräteausfuhrung 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 eiues binären Eingangsstroms. Der Prozeß ist deshalb ein sequentieller.
Solche sequentiellen binären Suchvorgänge sind beispielsweise beschrieben in Price »Table Lookup Techniques«, Computing Surveys, Band 3, Nr. 2, Juni 1971, Seiten 49-65. Ähnliche Baumsuchmethoden sind beschrieben in der US-PS 3700819, in E. H. Sussenguth, Jr. »Use of Tree Structures for Processing Files«, Comm ACM 6,5, Mai 1963, Seiten 272-279, und in H. A. Clampett Jr. »Randomized Binary Searching with Tree Structures«, Comm ACM 7,3, März 1964, S. 163-165.
Wie oben erwähnt, sind Baumsuchmethoden äquivalent zum sequentiellen Übergang ve Stelle zu Stelle ein» Speichers für jedes empfangene Bit, um zu einer endgültigen Steüe zu gelangen, welche die zur Decodierung einer besonderen Bitfolge verwende s Information enthält. Solche sequentiellen Übergänge von Stelle zu Stelle in einem Speicher sind zeitraubend und schließen in manchen Fällen die Verwendung von minimalredundanten Codes aus. Außerdem treten beträchtliche Unterschiede in der Decodierzeit auf, wenn Codewörtei mit sehr unterschiedlichen Längen verarbeitet werden. Solche Unterschiede erschweren Anwendungen, wie z. B. bei Anzeigesystemen, bei welchen oft eine Darstellung der Ausgangssymbole mit konstanter Folgegeschwindigkeit erwünscht ist.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, eine Vorrichtung zum Decodieren von Codes minimaler Redundanz, von denen Huffman-Codes die bekanntesten sind, verfügbar zu machen, ohne daß sequentielle Bit-für-Bit-Decodiervorgänge erforderlich sind und daher eine parallele oder nahezu parallele Decodierung minimal-redundanter Codes variabler Länge möglich ist.
Zur Lösung dieser Aufgabe geht die Erfindung aus von einer Vorrichtung der eingangs genannten Art und ist dadurch gekennzeichnet, daß ein an das Eingangsregister angekoppeltes erstes Register zur Auswahl eines in seiner Länge festgelegten Abtastmusters der Eingangsziffernsignale beginnend mit der ersten Ziffer eines augenblicklichen Codewortes, wobei die Länge des Abtastmusters entweder gleich oder kleiner als die maximale Codewortlänge ist. einen das erste Register und die Speicheranordnung verbindenden Adressengenerator zur Ableitung einer auf dem Abtastmuster der Eingangsziffernsignale beruhenden Adressenstelle in der Speicheranordnung, und ein Ausgangsregister zum Auslesen der Information aus der addressierten Stelle der Speicheranordnung.
Weiterbildungen der Erfindung sind Gegensund der Unteransprüche.
Ein erfindungsgemäßes Ausführungsbeispiel sorgt für d:n Zugriff zu einem in seiner Länge festgelegten Abtastmuster eines Eingangsbitstroms, der zusammengefügte Codewö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 decodierten Ausgangssymbols zusammen mit einer Angabe über die wirkliche Länge des dem Ausgangssymbol entsprechenden Codewortes gespeichert ist. Da das in seiner Länge festgelegte Abtastmuster so gewählt ist, daB es gleich lang wie die maximale Codewortlänge ist, wird die Information über Jie wirkliche Codewortlänge dazu verwendet, den Anfangspunkt für das nächstfolgende Codewort in der Eingangsfolge zu bestimmen.
Wenn die aufzuwendende Speicherkapazität möglichst klein gemacht werden soll, macht ein anderes Ausführungsbeispiel eine Sirsicheraufbau verfügbar, der eine Primärtabelle und mehrere Sekundärtabellen umfaßt. Wieder wird ein Abtastmuster festgelegter Lange verwendet, aber die Länge K ist so gewählt, daß sie kleiner als die des maximalen Codewortes ist. Wenn das Abtastmuster ein Codewort mit einer Länge umfaßt, das kleiner oder gleich ftf ist, läuft ein Decodierungsvorgang wie im ersten Ausführungsbeispiel 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 Codewort aufzunehmen, wird jedoch eine Anzahl nachfolgender Bits im Eingangsbi'.strom verwendet (diese Anzahl ist in der adressierten Stelle der Primärtabelle angegeben), um in Zusammenwirkung mit anderen Daten, die in der adressierten Stelle in der Primärtabelle gespeichert sind, eine Adresse zu erzeugen, die eine Stelle in einer das decodierte Symbol enthaltenden Sekundärtabelle identifiziert. Diese Stelle enthält auch den Wert der um K reduzierten wirklichen Codelänge, welche verwendet /ird, urn den Anfangspunkt für das nächste Codewort festzulegen.
Aufgrund der gleichförmigen Art der einbegrifTenen Operationen läßt sich die vorliegende Erfindung mit Sonderzweck-Rechnern als auch mit entsprechend programmierten Allzweckrechnern verwirklichen
In den Zeichnungen zeigt.
Fig. 1 schematisch eine Nachrichtenanlage einschließlich einem erfindungsgemäß ausgebildeten Decodierer,
Fig. 2 ein Blockschaltbild für ein erfindungsgemäßes Ein-Tabellen-Ausfiihrungsbeispiel,
F i g. 3 ein BlockscLrJtbild für ein erfindungsgemäßes Ausführungsbeispiel mit einer Primärübersetzungstafel und mehreren Sekundärübcrsetzungstafeln.
Fig. 1 zeigt die Gesamtanordnung einer typischen Nachrichtenanlage, für welche die vorliegende Erfindung angewendet werden kann. Eine Informationsquelle 100 erzeugt Nachrichten, die zu einer Verbrauchervorrichtung 104 zu übertragen sind, nachdem sie durch einen Codierer 101, einen Übertragungskanal 102 und einen Decodierer 103 verarbeitet worden sind. Die Informationsquelle 100 kann verschiedene Formen annahmen, einschließlich einer programmierten Datenverarbeitungsvorrichtung, eines einfachen Tastenfeldes oder anderer. Informationen erzeugender Vorrichtungen. Auch der Codierer 101 kann verschiedene Formen annehmen und braucht für vorliegende Zwecke lediglich als ein Codierer betrachtet zu werden, der die Eingangsinformation, in welcher Form auch immer sie von der Quelle 100 geliefert wird, in Codes 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 beispielsweise durch einen Nachrichtenspeicher 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 Decodierer 103 einen seriellen Bitstrom liefert, der zusammengefügte Kodewörter variabler Länge im Huffman-Minimalredundanzformat enthält. Die Funktion des Decodierers 103 besteht dann darin, aus diesem Eingangsbitstrom die von der Informationsquelle 100 gelieferte ursprüngliche Nachricht herzuleiten.
Die Verbrauchervorrichtung 104 kann beispielsweise eine Datenverarbeitungsanlage oder eine Anzeigevorrichtung Sein.
Der dem Decodierer 103 zugeführte Codesatz minimaler Redundanz besteht aus einer endlichen Anzahl Codewörter verschiedener Länge. Für vorliegende Zwecke sei angenommen, daß jedes Codewort eine Folge von einer oder mehreren Binärziffern aufweist, obwohl auch andere als binäre Signale in gewissen Fällen verwendet werden können. Ein solcher Ccdesatz kann gekennzeichnet werden durch einen Satz Dezimalzahlen /,, h, ■ ■-,/«, wobei Ij die Zahl der./ Bit langen Codewörter und Mdie maximale Codewortlänge ist. Diese Struktur wird durch einen Index /gekennzeichnet, welcher eine Verkettung der Dezimalzahlen I1 ist, d. h. /= I\h ■ ■ ■ Im-Beispielsweise führt eine Quelle mit drei Nachrichtentypen mil Wahrscheinlichkeit 0,6, 0,3 und 0,1 zu einem minimal-redundanten Codesatz, der einen ein Bit langen Code und zwei je zwei Bits lange Codes enthält, was den Index /= 12 ergibt. Zahlreiche Verwirklichungen eines Code.1 mit einem bestimmten Index sind möglich. Eine solche Verwirklichung für/= 12 enthält die Codewörter 1 und 00 und 01; eine andere Verwirklichung istO und 10 und 11. Als weiteres Beispiel zeigt Tabelle I einen Code mit einem Index /= 1011496, der auf einer VeröfTentlichung 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 Codewörter und die zugeordneten decodierten Werte dargestellt, in diesem Fall alphabetische Schriftzeichen.
Tabelle I IUI l"»7O Decodierter Wert
Code mit / = Codewort-Länge A
Codewort 1 B
0 3 C
100 4 D
1100 5 E
10100 5 F
11010 5 G
11100 S H
11110 6 I
101010 6 J
101100 6 K
101110 6 L
101111 6 M
110110 6 N
110111 6 O
111010 6 P
111110 6 Q
111111 7 R
1010110 7 S
1010111 7 T
1011010 7 U
1011011 7 V
mono 7
1110111
Der oben in Tabelle 1 angegebene Code kann unter Anwendung von Verfahren zum direkten Tabellen-Lesen nur dann angewendet werden, wenn irgendeine Funktion für jeden der individuellen Codes erzeugt werden kann, welche entsprechende Tabellenadressen spezifiziert. Die Identifikation einer solchen Funktion ist natürlich aufgrund der variablen Codewortlängen kompliziert.
Eine Methode gemäß einem erfindungsgemäßen Ausfuhrungsbeispiel wird nun beschrieben, die zum Aufbau und zur Verwendung einer besonders geeigneten Übersetzungstabelle für den Code der Tabelle 1 dient.
Bei der Bildung einer solchen Übersetzungstabelle zeigt es sich günstig, zuerst eine Tabelle äquivalenter Cccewörter mit gleicher Länge aufzubauen. Insbesondere wird für jedes Codewort mit einer Länge kleiner als M in Tabelle I ein neues Codewort abgeleitet, dessen Länge gleich A/ist. Diese neuen Codewörter werden dadurch erzeugt, daß rechts Nullen angehängt werden, d. h. durch Zufügen von angehängten Nullen. Tabelle II zeigt die abgeleiteten Codewörter in Binär- unu Dezimalform.
Tabelle II Abgeleitete Codewörter Binär Dezimal
0000000 0
1000000 64
1100000 96
1010000 80
1101000 104 2S
1110000 112
1111000 120
1010100 84
1011000 88
1011100 92
1011110 94
1101100 108
1101110 110
1!10!CQ !!6
1111100 124
1111110 126
1010110 86
1010111 87
1011010 90
1011011 91
mono ns
1110111 119
Es soll nun gezeigt werden, daß die Codewörter in Tabelle II für einen direkten Zugriff zu Speicherplätzen, die eine Decodiertabelle enthalten, verwendet werden können, insbesondere wird jedes Codewort als eine Adresse interpretiert, die wenn sie um 1 erhöht wird, die erforderliche Adresse in einer Übersetzungstabelle vorsieht, welche 2M Eingänge oder Einträge enthält.
Jeder Eintrag in der Übersetzungstabelle enthält die zugeordnete ursprüngliche Codewortlänge und den decodierten Wert in zugehörigen Feldern. So enthält beispielsweise der erste Tabelleneintrag die Codewortlänge 1 und den decodierten Wert A, und der 65. Tabelleneintrag enthält die Codewortlänge 3 und den deco-
dierten Wert B. Es sind Σ In solcheEinträge vorhanden. Nachdem alle diese Einträge gemacht worden sind, ist
in jeden leeren Eintrag in der Tabelle derjenige Eintrag kopien worden, der sich genau in dem davorliegenden Eintrag befindet. Somit sind beispielsweise die Codewortlängen 1 und der decodiene Wen A der Reihe nach in Tabelleneinträgen 2 bis 64 kopien. Die vollständige Übersetzungstabelle ist in Tabelle HI dargestellt.
$ Tabelle III
j?' Übersetzungstabelle für den Code in Tabelle 1
'ifä Adresse oder Adressenbereich Inhalte
;V 5
1- 64 \,A
'(;, 65- 80 3, B
,o 81~84 5'D
85- 86 6, H
I'. 87 7, Q
': 88 7, R
P 15 89- 90 6, /
91 7,5
92 7- r
93- 94 6, y
95- 96 6, K
97-104 4, C
105-108 5. £
109-110 6, L
" 111-112 6, M
113-116 5, F
117-118 6, N
119 7.1/
120 7, K 121-124 5, G 125-126 6, O
'.27-128 6, P
Es wird nun die Decodierung eines Eingängsslrorns unter Verwendung der Tabellen !! und !!! beschrieben. Eine Marke oder ein »Zeiger« ist eingerichtet, der auf die laufende Position im Bitstrom zeigt und mit der ersten Position beginnt. Beginnend am Zeiger wird ein festgelegtes Segment von A/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 A/Bits dargestellte Zahl wird um 1 erhöht, was irgendeinen We:. Vergibt. W wird als Adresse verwendet und der W-\a Eintrag wird aus der Übersetzungstabelle herausgegriffen, wodurch sich die Codewortlänge und der decodierte Wert ergeben. Der decodierte Wert wird auf die Verbrauchervorrichtung 104 übertragen, und der Bitstromzeiger wird um einen Wert vorgerückt, der gleich der Länge des herausgegriffenen Codewortes ist. Dieser Vorgang wird dann für das nächste Segment von M Bits wiederholt.
Das Wesentliche liegt darin, daß das konstante Herausgreifen von A/Bits aus dem Bitstrom den Code variabler Länge für Verarbeitungszwecke in einen Code fester Länge umwandelt. Jedes Segment enthält entweder das gesamte Codewort selbst, wenn das Codewort MBits lang ist, oder es enthält das Codewert plus einige Abschlußbits. Beim Decodieren eines solchen Codewortes haben die Abschlußbits keine Wirkung, da die Übersetzungstabelle Kopien der Codewortlänge und des decodierten Wertes für alle möglichen Werte der Abschlußbits enthält. Die Abschlußbits gehören natürlich zu einem oder mehreren aufeinanderfolgenden Codewörtern, welche in richtiger Reihenfolge verarbeite, werden, wenn der Bitstromzeiger vorgerückt wird. Obiges Verfahren zeigt sich somit als eine einfache Methode zur schnellen Decodierung von Codes variabler Länge und zwar bei gleichmäßiger Decodierzeit pro Code.
Als Beispiel wird nun die Decodierung des Anfangs der Nachricht JTiEQUICKSLYFOX, und zwar in Darstellung durch die Codes in Tabelle 1, in Verbindung mit der Vorrichtung nach F i g. 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:
111101001100110101101110110101010110101011101101 .
~~K C I U Q £ ~H T
Zwischenräume sind natürlich weggelassen worden, um die Verwendung der Codes in Tabelle I zu erlauben.
Die Schaltung nach Fig. 2 ist ein Beispiel einer Vorrichtung, die zur praktischen Durchführung des oben beschriebenen Verfahrens verwendet werden kann. Semit wird der oben dargestellte Bitstrom in Serienform an ein Eingangsregister 110 gegeben. NatürKrh kann das Eingangsmuster 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 Λί-Bit-Register 111 vorteilhafterweise die höchstwertigen (am weitesten rechts befindlichen) Λ/Bits durch Übertragung vom Register 110. Diese Λ/Bits werden dann zu einem Addierer 112 gegeben, weicher die Summe aus den A/Bit» (als eine Zahl betrachtet) und dem konstanten Wert 1 biHet. In vereinfächter Form kann der Addierer 112 ein einfacher AZ-Bit-Zähler sein, und das +1 -Signal kann ein erhöhender Impuls sein. Das Ausgangssignal des Addierers 112 wird dann zu einer Adressierschaltung 113 gegeben, welche daraufhin ein Wort aus einem Speicher 114 auswählt, das auf diesem Ausgangssignal beruht. Die Adressierschaltung 113 und der Speicher 114 können zusammen irgendein Standardspeicher mit beliebigem ZugrifTund einer zugeordneten Adressierschaltung sein. Obwohl Einzelleitungen in Fig. 2 dargestellt und beschrieben sind, ist es aus dem Zusammenhang klar, daß einige Signalwege Mehrfach-Bitwege sind. Beispielsweise ist der zum Addierer 112 fuhrende Weg ein K-Bitweg. d.h. mit insgesamt K-Adern.
Das adressierte Wort wird in ein Register 115 eingelesen, welches mit zwei Teilen dargestellt ist. Der rechte Teil des Registers 115 empfängt das decodierte Schriftzeichen und ist in F i g. 2 mit 117 bezeichnet. Dieses decodierte Schriftzeichen wird dann auf übliche Weise zur Ve.'braucherschaltung 104 gegeben. Wenn das Schriftzeichen im Speicher 114 gespeichert ist, wird es in binär codierte Dezimalform codiert oder eine andere »expandierte« Form, die Tür die Verbraucherschaltung 104 erforderlich ist. Besondere Codes zum Treiben eines Druckers sind typisch, wenn die alphabetischen Symbole der Tabelle I zu verwenden sind. Die Decodierung dieses Schnfizcichcns ist voüsianuig.
Der linke Teil 116 des Registers US 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 Verschiebesignalquelle, wie ein Binärratenmultiplizierer (BRM) 118, kann zur Durchführung der gewünschten Verschiebung verwendet werden. Somit wird bei einer typischen Ausführung eine feste Folge von Taktsignalen eines Taktgebers 119 vom BRM 118 ausgegeben, 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 Taktimpulsfoge definiert), wird eine Λί-Bitfolge in das Register 111 übertragen. Dieser Übertragungsimpuls wird bequemerweise auch zum Löschen des Addieres 112 und des Registers 115 und des Registers 115 verwendet. Die obige Arbeitsfolge wird dann wiederholt.
Wenn ein spezielles Zeichen decodiert wird, welches das Ende einer Nachricht (EOM) festlegt, setzt ein EOM- 30 ■
Detektor 121 (ein einfaches UND-Gatter oder gleichwertige Vorrichtung) ein Flipflop 122. Dies hat die I
Wirkung, daß ein Sperrsignal an UND-Gatter 123 und 124 angelegt wird, wodurch der Zugriff zum Speicher 114 J
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 dieses Flipflop 122 zurückgesetzt, der Addierer 112 mittels eines ODER-Gatters 140 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 Ai-Bit-Folge 1101101 (oder 1011011 = 9i [dezimal] in normaler Reihenfolge), die auf das Register 111 übertragen wird, zu einem Zugriff zum Speicherplatz 91 + 1 = 92 führt, wie in Tabelle III gezeigt ist. Aus Tabelle III sieht man, daß die Stelle 92 die Information 7, Tenthält. d. h. das decodierte Zeichen ist ein 7~und seine '.änge, mit welcher es in der Eingangsfolge dargestellt ist, beträgt 7 Bitr "omit wird ein 7"an die Verbraucherschaltung 104 geliefert und die BRM-Schaltung 118 erzeugt 7 Schiebe' se. Das Überiragungssignal auf Ader 120 bewirkt dann, daß die nächsten 7 Bits 1010101 (oder 1010101 = 85 [dezimal]) an das Register 111 übertragen werden. Das Übertragungssignal löscht bequemerweise gleich den Addierer 112 und das Register 115, un zu verhindern, «faß die vorhergehenden Inhalte ein fehlerhaftes Ergebnis erzeugen. Zwischen dem Register 111 und dem Addierer 112 kann eine kleine Verzögerung vorgesehen werden, wenn ansonsten ein „Wettlaufzustand" entstehen würde. Der Zugriff zum Speicherplatz 86 = 85+ 1 bewirkt dann, daß das Register 115 die Information 6, //empfängt. Die BRM-Schaltung 118 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 Decodiertes Verschiebungen
Zugriff besteht Bit/Nr.
ionon 92
1010101 86
1101010 107
1010110 87
1110110 119
1011001 90
1100101 102
1011111 96
τ 7
H, 6
E, 5
a 7
U, 7
I, 6
C 4
K. 6
Wenn der insgesamt erforderliche Tabellenspeicher reduziert werden soll, kann eine etwas andere Operationsfolge vorteilhaft verwendet werden, die im folgenden beschrieben werden soll. Wie oben bemerkt, sind für irgend-
einen gegebenen Index I=IiI2 ... An vieie Verwirklichungen eines minimal-redundanten Code möglich. Der oben angeführte Code für /= 1011496 hat eine bestimmte Synchronisationseigenschaft, die in der oben erwähnten Schrift von Rudner beschrieben ist. Eine andere Verwirklichung ist tin monotoner Code, in welchem die Codewerte numerisch geordnet sind. Solch ein zunehmender monotoner Code ist dadurch aufgebaut, daß das erste Codewort 00 ausgewählt wird, daß es I1 Nullen enthält Jedes weitere Codewort wird dadurch gebildet, daß zum vorausgehenden Codewort eine 1 addiert und dann eine Multiplikation mit 2^--I, wobei Lt und LM die Längen des zu bildenden bzw. des vorausgehende Codeworts sind. Der monotone Code mit demselben Index wie demjenigen für den Code der Tabelle I, nämlich /= 1011496, ist in Tabelle V dargestellt
Tabelle V
Monotoner Code mit / = 1011496
Codewon Codewort-Länge Decodiener Wen
0 1 A
100 3 B
1010 4 C
10110 5 D
10111 Ϊ, E
11000 5 F
11001 5 G
110100 6 H
ΠΟΙΟΙ 6 1
UOUO 6 J
110111 6 K
11)000 6 L
111001 6 M
111010 6 N
!!!öl! e. O
111100 6 P
1111010 7 Q
1111011 7 R
1111100 7 S
1111101 7 T
1111110 7 U
1111111 7 V
Codes 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 26. Seiten 5-10. Juni 1973; 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 Codes beschränkt. Es sei jedoch bemerkt, daß die Methode auf jeglichen minimalredundanten Code anwendbar ist, obwohl für irgendeinen gegebenen Index /ein monotoner Code generell den kleinsten minimalen Tabellenspeicher ergibt.
Die oben in Verbindung mit der Anordnung nach Fig. 2 beschriebene Methode macht die Decodierzeit dadurch möglichst klein, daß lediglich ein einziger Speicherzugriff für jedes Codewort erforderlich ist. Ein Segment oder Ausschnitt von Λ/Bits wird jedesmal, wenn ZugrifTzum Bitstrom besteht, herausgegriffen. Die Wirkung des Herausigreifens eines Segmentes von K Bits, wobei K kleiner als Λ/ist, soll nun diskutiert werden. Zur Erläuterung sei K = 4 betrachtet. Zunächst wird eine »Primär«-Übersetzungstabelle aus den Codewörtern der Tabelle V in einer Weise aufgebaut, die der oben beschriebenen gleich ist, wobei jedoch hier die abgeleiteten Codewörter alle exakt 4 Bits lang sind. Dies bedeutet generell, daß einige der Codewörter der Tabelle I durch Hinzufügen von Nullen auf der rechten Seite verlängert und einige verkürzt werden, wie aus der Tabelle VI zu ersehen ist.
HMMMO'
25 13 862 5
Tabelle VI
Abgeleitete Codewörter für einen monotonen Code
Binär Dezimal in
0000 0 IU
1000 8
1010 10
1011 U IS
1011 11
1100 12
1100 12
1101 13 20
1101 13
1101 13
1101 13
1110 14 25
UlO 14
1110 14
1110 14
mi 15
lill 1111 1111 1111 1111 1111
15 15 15 15 15 15
Codewörter in Tabelle V mit einer Länge, die größer als /fist, führen zu identischen abgeleiteten Codewörtern. Dies tritt immer auf, wenn die ersten A--BiIs einer Gruppe von Codewörtern gleich sind. Beispielsweise sind diejenigen Codewörter, welche Bund fernsprechen, gleich, da die ersten 4 Bits der ursprünglichen Codewörter in Tabelle V gleich sind. Jegliche solche Mehrdeutigkeit wird dadurch gelöst, daß zusätzliche Bits aus dem Bitstrom herausgenommen und dazu verwendet werden, einen Zugriff teilweise auf meistens eine zusätzliche »Sekundärw-Übersetzungstabelle zu richten. Der Primärtabelleneintrag Tür jeden der Codes, dessen erste K= 4 Bits dieselben wie die eines anderen Codes sind, enthält die Zahl der zusätzlichen Bits, die aus dem Bitstrom herauszugreifen sind, und eine Adresse der erforderlichen Sekundärtabelle. Vordem Herausgreifen der zusätzlichen Bits wird der Bitstrommarkierer um K Positionen vorgerückt. Die Zahl der herausgreifenden 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 Codewortlänge minus ATund den decodierten Wert. Wie im vorherigen Fall, wird der entsprechende decodierte Wert zur Verbraucher-Vorrichtung geliefert, der Bitstrommarkierer wird vorgerückt (hier um einen Betrag, der gleich der Codewortlänge minus Af ist), und der Vorgang wird für das nächste Segment wiederholt Tabelle VlI zeigt die Primär- und Sekundär-Übersetzungstabellen, die für den in Tabelle V für K = 4 angegeben monotonen Code erforderlich sind. Es sei daraufhingewiesen, daß eine Sekundärtabelle Codewörter unterschiedlicher Länge umfassen kann, wie es durch die Sekundärtabelle 2.5 gezeigt ist.
Tabelle VII Übersetzungstabellen für den Code in Tabelle V
Primär-Tabelle Inhalt
Adresse oder
Adressenbereich 1. A
1 - 8 3.5
9-10 4, C
11 !,Tabelle 2.1
12
50
60
Si-Jt
Fortsetzung
15
25 30 35 40 45 50 55
Primär-Tabolle
Adresse oder
Adressenbereich
Inhalt Inhalt Inhalt
13
14
15
16
hD
UE
1, Tabelle 2.2
2, Tabelle 2.3
2, Tabelle 2.4
3, Tabelle 2.5
I, F
1.G
Sekundär-Tabelle 2.1
Adresse
Inhalt Sekundär-Tabelle 2.2
Adresse
Inhalt
1
2
2, H
2,1
2, J
2, Jf
1
2
2, L
2, M
2, N
2,0
Sekundär-Tabelle 2J
Adresse
Sekundär-Tabeile 2.5
Adresse
Sekundär-Tabelle 2.4
Adresse
1
2
3
4
1
2
3
4
Inhalt
2, P
2, P
3, Ö 3, Λ 3,5 3, T 3, U 3, V
Um Zahl und Kapazität der Sekundär-Tabelle zu bestimmen, geht man einfacherweise 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 Ik*1 durch zwei geteilt wird, oder in symbolischer Formeldarsteliung, INT[Ik* i/2). Dabei bedeutet ZTVTdie Abkürzung von Integer, d. h. ganze Zahl. Läßt sich Ik*\ nicht ohne Rest durch 2 dividieren, wird das restliche Codewort h*\M0D2 eingruppiert in irgendeine Tabelle größerer Kapazität. Geht man zur nächsten TabelLnkapazität V über, so ist die Anzahl solcher Tabellen gleich der ganzen Zahl, die sich ergibt, wenn man die Summe aus Ικund dem sich nach der Bildung der Tabellen niedrigerer Kapazität ergebenden Rest durch 22 dividiert, nämlich BVJ[K+2 + (Ik*\)MOD2)I21). Die Anzahl der übrigbleibenden Codewörter ist nun auf den Wert (IK*j + (k*\) M0D2) M0D21 aufgelaufen. Generell ist die Anzahl der Tabellen m:* einer Kapazität von 2 Eingaben oder Eintragungen:
60 65
j+ Uku-i + Uk + j-i + ... + Uk* j + Uk* 0MOD2)MOD2h ... )MOD2J~1]/2J)
Das Verfahren zur Bestimmung der Anzahl Tabellen nächstgrößerer Kapazität und der angefallenen übrigbleibenden Codewörter wird fortgesetzt, bis die Tabellen mit der größten Kapazität 2MK erreicht ist. Für die Tabellen größter Kapazität wird obiger Ausdruck modifiziert, um eine zusätzliche Tabelle einzurichten, wenn irgendwelche Codewörter übrigbleiben. Um dies auszuführen, wird zum Zähler des obigen Ausdrucks lMK-\ addiert. Um zu bestimmen, welches K die minimale gesamte Übersetzungstabellen-Speicherkapazität ergibt, wird die Gesamtspeicherkapazität als Funktion von Ä"bestimmt und dann das Minimum dieser Funktion gebildet. Die gesamte Übersetzungstabellen-Speicherkapazitä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, Tür welches K= 4 ist,
erfordert die Primärtabelle 2* oder 16 Eintragungen, und von den Sekundär-Tabelten benötigen zwei Tabellen je zwei Eintragungen, zwei Tabellen je 22 Eintragungen, und eine Tabelle erfordert 2} Eintragungen, was eine Gesamtzahl von 36 Eintragungen ergibt. Für K= 7 ist allein für die Primär-Tabelle eine Anzahl von T oder 128 Eintragungen oder Eingaben erforderlich. Allgemein ist die Gesamtspeicherkapazität Abgleich
M-K-X
N= 2K + Σ
J = 1
10 (2J)W[Uk+j+ (icw- ι + Uk+j-2 + ■■■ + lic + 2 + <-h* ,MOD2\M0D 2=1... )M0D2J~ "]/2Λ
+ (2w-*)/?vT{[/tf+ (/«-i + t/w-2 + ■ · · + Uk* 2 + <&■* i>MOD2\MOD22)... )AiOD2M'K- ■ + 21·-* -11/2«-*},
Was reduziert werden kann auf:
M-K r» /
J=I - Um+ [Uv- ι + Um- 2 + .. . + [&-- 2 + </* + ι>ΛΛΜ> 2ΙΛ/ΟΟ 22I... )M0D2" ~ *'- ']
Für irgendeinen gegebenen index /kann nun die minimale Speicherkapazität durch Berechnung von Mur alle Werte von K bestimmt werden. Man kann aber auch eine gute Schätzung für das Minimum dadurch erhalten, daß man berücksichtigt, daß für ein genügend großes Λ/der Wert JVim wesentlichen durch die Summe der ersten beiden Terme in obiger Formel bestimmt wird. Die ersten beiden Terme 2K+ 2iUK sind minimal für K= MIl.
Die erforderliche Speicherkapazität kann noch weiter reduziert werden dadurch, daß das maximale Codewort 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 TabellenzugrifTen pro Codewort erhöhen. Für eine schnelle Verarbeitung zeigt sich eine Begrenzung der maximalen Zahl von Zugriffen auf zwei als geeignet.
Tabelle VHI faßt die Ergebnisse für den monotonen Code mit /=1011496 zusammen. Für jeden der sieben möglichen Werte von Kzeigt Tabelle VIII die Summe von 2A + 2■**■*, die für die Übersetzungstabellen erforderliche Speicherkapazität, die Anzahl derjenigen Codewörter, welche einen Tabellenzugriff erforderlich machen, und die Anzahl derer, welche zwei Tabellenzugriffe erforderlich machen.
Tabelle VIII
Übersetzungstabellenspeicherkapazität und Anzahl der Tabellenzugriffe Tür den Code in Tabelle IV
K 2' + 2" * Übersetzungstabellen- Zahl der Codewörter Speicherkapazität mit Anzahl Zugriffen
1 2
Es ist sowohl die Tabellenspeicherkapazität insgesamt gezeigt, als auch die für jede einzelne Tabelle erforderliche Kapazität. So weist für K= 1 der Gesamtspeicher 66 Tabelleneinträge auf, wobei er eine Primä:-Tabelle mit einer Kapazität 2 und eine Sekundär-Tabelle mit einer Kapazität 26 umfaßt.
Man kann sehen, daß sogar fur M= 7, was relativ klein ist, die Summe 2A + 2 w-* einen großen Teil der Gesamtspeicherkapazität ausmacht. Für dieses Beispiel liegt das geschätzte Minimui-i bei A'= M/2 = 3,5. Das exakte Minimum liegt in Wirklichkeit bei drei Werten von K, nämlich bei 2,3, und 4. In diesem Fall würde für die Ausführung das größte /v ??wählt, da es zur größten Anzahl von Codewörtern führt, welche lediglich einen Zugriff zu den Übersetzungstabellen erfordern.
1 65 66 = 2 + (1)(26) • (1 ) (?.-') -' (!) (24) 1 21
2 35 36= 22 + (1)(2-<) (2) (22)+ (1)(2-Ί 1 21
3 23 36 = 2-' + (1)(22) 4 (2) (22) 2 20
4 23 36= 24 + (2) (2) + 3 19
5 35 48 = 2· + (4) (2) + 7 15
6 65 70 = 2* + (3) (2) 16 6
7 128 128 = T 22 0
In dem in Tabelle VlI dargestellten Beispiel bewirkt die Verwendung von sekundären Übersetzungstabellen eine »Kompression« von 36/128 = 0,28. Beträchtlich bessere Kompressionen werden erhalten, wenn A/größei ist. Ein geeignetes praktisches Beispiel ist in Tabelle IX dargestellt, welches den Code mit dem Index / = 0028471104 bildet; einen minimal-redundanten Code fur die Buchstaben des englischen Alphabetes und ein Zwischenraumsymbol. Wendet man obige Formel an, erhält man ein geschätztes und wirkliches Minimum bei K=S. Die minimale Speicherkapazität Tür die Übersetzungstabellen Für den Code der Tabelle IX ist 70. Eine solche Übersetzungstabelle umfaßt eine Primär-Tabelle mit 32 Eintragungen, drei Sekundär-Tabellen mit jt zwei Eintragungen und eine Sekundär-Tabelle mit 32 Eintragungen. Der Kompressionskoeffizient ist in diesem Fall 70/1024 = 0,07.
II)
Tabelle IX
HufTman-Codes für die Buchstaben des
englischen Alphabets und einen Zwischenraum
Decodierter Wert Kodewort
Zwischenraum 000
E 001
A 0100
H 0101
/ 0110
N Olli
O 1000
R 1001
5 1010
T 1011
C 11000
D 11001
L 11010
U 11011
B 11!000
F 111001
G 111010
40
M 111011
P 111100
W 111101
4S Y 111110
V 1111110
K 11111110
J 1111111100
Q 1111111101
X 1111111110
Z 1111111111
F i g. 3 zeigt eine typische Anordnung zur Durchführung der oben beschriebenen Schritte für einen Zugriff zu
den Primär- und den Sekundär-Übersetzungstabellen. Eingangsbits werden mit dem höchstwertigen Bit zuerst in ein Schieberegister 210 eingegeben, und zwar entweder in Serien- oder in Parallelform. Wieder gelten die Puf ferbetrachtungen, die bereits in Verbindung mit der Schaltung der Fig. 2 erwähnt worden sind. Wenn die Bits vollständig eingegeben sind (das höchstwertige Bit des ersten Codeworts ganz rechts im Regi· ster 210 der Fig. 3 angekommen ist), werden die ersten ΛΓ-Bits in Parallelform zu einem Af-Bitregister 211 über tragen. Wie bei der Schaltung der Fig. 2 wird diese übertragene Folge in einem Addierer 212 um 1 erhöht unc von einer Adressierungsschaltung 213 als Adresse verwendet, um die in Speicher 214 gespeicherte Primär-Über Setzungstabelle zu adressieren. Zur Vereinfachung wird angenommen, daß es sich bei den Eingangscodewörterr um die in Tabelle V dargestellten handelt, mit der Folge, daß man die Primär-Übersetzungstabelle in Tabelle VIl erhält.
Wenn eine Jf-Bitfolge der Form 0000 um 1 erhöht wird, was zu einer Adresse von 0001 = 1 führt, bestehl Zugriff zur Speicherstelle 1. Der ausgelesene Inhalt (1, A) der Stelle 1 wird ars ein Register215 geliefert, das einer linken Abschnitt 216 und einen rechten Abschnitt 217 aufweist. Die 1 von der Stelle 1, welche die Länge des lau
fenden Codewortes 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. Wenn das spezielle EOM-Zeichen an der Ausgangsader 243 erscheint, bewirkt ein EOM-Detektor 221, daß ein Flipflop 222 gesetzt wird. Da die Dekodierung des laufenden Codewortes durchgeführt ist, wird der Inhalt des Registers 216 dazu verwendet, die Daten im Register 5 210 um ein Bit vorzurücken, und zwar durch eine Betätigung von BRM 218 über ein UND-Gatter 283 und ein ODER-Gatter 286. BRM 218 spricht auch auf einen Stoß von KTaktimpulsen von einer Taktschaltung 219 an, auP.;r wenn durch das EOM-Flipfiop 222 ein Sperrsignal auf die Leitung 240 gegeben wird. £!
Dit-obige Arbeitsfolge, welche die Übertragung eines tf-Bit-Byts, die Erhöhung um 1, den Zugriff zum Spei- jM
eher 214 unter der resultierenden Adresse, das Auslesen der decodierten Werte und der Codelänge umfaßt, läuft ίο Μ
immer dann ohne einen zusätzlichen Schritt ab, wenn eine der Stellen 1 bis 11 des Speichers 214 (des Primär- ff
Übersetzungstabellenspeichers) adressiert ist. Wenn jedoch Zugriff zu einer der Stellen 12 bis 16 des Speichers }f
214 besteht, ist ein weiterer Speicherzugriffzu einer der in Speicher 250 gespeicherten Sekundär-Tabellen erfor- ',';'
derlich. Das Muster zur Identifizierung der Sekundär-Tabelle, das in der Primär-Tabelle gespeichert ist, umfaßt ,i
typischerweise ein zusätzliches Nicht-Adressenbit, welches, wenn es auf einer Leitung 239 festgestellt wird, die 15 Schaltung BRM1\% veranlaßt, den Inhalt des Registers 210 um /^ Bits nach rechts zu verschieben.
Wie oben und in Tabelle VII ang'geben, spezifizieren Stellen in der Primär-Tabelle, welche eine Sekundär- ;, Tabellen-Identifizierungsinformation (einschließlich der Stellen 12 bis 16 in Speicher 214) enthalten, die ent- j
sprechende Sekundär-Tabelle und die Zahl Heraus dem Eingangsbitstrom zu entnehmenden zusätzlichen Bits. .--;
Die Zahl der zu entnehmenden zusätzlichen Bits ist A, wobei 2^dJe Kapazität der Zahl oder Eingaben oder Ein- 20 tragungen in der adressierten Sekundär-Tabelle ist. Beispielsweise gibt für das Codewort von Pin Tabelle V und für K— 4 die adressierte Stelle 16 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 V = 8 hat. Um die richtige Stelle im identifizierten Sekundär-Speicher festzustellen, interpretiert eine Sekundärspeicher-Zugriffsschaltung 251 den Inhalt des Registers 217 und die oben erwähnten A Zusatzbits, die aus dem Eingangsbitstrom abgeleitet sind. Diese 25 zusätzlichen Λ-Bits werden wiederum mittels des Registers 211, eines Dekodierers 260 und eines Addierers 261 abgeleitet. Der Decodierer 260 kann eine einfache Maskenschaltung sein, die auf den Inhalt des Registers 216 anspricht und irgendwelche unerwünschten Bits eliminiert. Im Fall eines Eingangscodes für Paus Tabelle V und aufeinen Zugriff zur Stelle 16, derauf den ersten K= 4 BiIs(IlIl = 15 Dezimal) beruht, die um 1 erhöht sind, werden zusätzliche 3 Bits für das Herausnehmen aus dem Eingangsbitstrom festgelegt. 30 '.'
r»ie Zugriffsschaltung 251 identifiziert dann die entsprechende Stelle im sekundären Tabellenspeicher 250. Der Inhalt dieser Stelle wird in ein Ausgangsregister 270 gegeben, wobei die um Kreduzierte Codewortlänge ;■'
in den linken Teil 271 und das decodierte Wort in den rechten Teil 272 gegeben wird. Noch einmal läßt des ODER-Gatter 242 das decodierte Wort zur Ausgangsleitung 243 und von dort zur Verbrauchervorrichtung 104 passieren. 35 :■'.
Um ein unbeabsichtigtes Passieren einer im Register 217 gespeicherten Sekundärtabellen-Teiladresse zur 'i\ Ausgangsleitung 243 zu verhindern, 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 291 wird zur Vorbereitung eines UND-Gatters 292 verwendet, um zu ermöglichen, daß der Inhalt des 40 $ Registers 272 auf die Ausgangsleitung 243 geliefert wird. jsj Das Signal auf der Leitung 239 wird auch dazu verwendet, zu verhindern, daß der Inhalt des Registers 216 zur >ij Schaltung 218 gelangt. Dies wird durch den Sperreingang am UND-Gatter 283 bewirkt. Es sei daran erinnert, %
daß auf das Herausgreifen der zusätzlichen A 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 45 i
das Signal auf der Leitung 239 selektiv den Längendecoder 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 284 an den Sperreingang des UND-Gatters 281 gegeben wird. Der längenanzeigende Inhalt des Registers 271 wird, wenn er auch primär die Impulszahl anzeigt, die von der 50 i
Schaltung 218 zum Schieberegister 210 zu liefern ist, auch, und zwar in abgeleiteter Form und nachdem mittels einer Verzögerungseinheit 280 eine geeignete Verzögerung vorgenommen worden ist, zur Rücksetzung des Flip- ?',
flop 285 verwendet. Eine einfache ODER-Verknüpfung der Ausgangsbits vom Register 271 ist für diesen 'i-\
Zweck ausreichend. ^ Wenn die obigen erfindungsgemäßen Ausführungsformen auch in Form von auf einen speziellen Zweck züge- 55 §j
schnittenen Digitalschaltungsanordnungen vorliegen, ist es klar, daß eine Decodierung von Huffman-Codes S
durch programmierte Digitalcomputer in manchen Fällen wünschenswert ist. Tatsächlich legt die im wesentlichen sequentielle Bit-für-Bit-Decodierung, wie sie bei bekannten Anwendungen der Huflman-Codierung verwendet worden ist, eine solche programmierte Computeranwendung nahe. (s. beispielsweise F. M. Ingels, Information and Coding Theory, Intext Educational Publisher, Scranton, Pa., 1971, Seiten 127-132, wo sich eine 60 Beschreibung von Huffman-Codes findet und ein FORTRAN-Programm zur Decodierung solcher Codes enthalten ist)
Während bei obigen Beispielen und Beschreibungen besondere erlaubte Codewörter angenommen werden, ist die vorliegende Erfindung nicht auf die Anwendung auf solche besonderen Codes begrenzt. Irgendein Satz von minimal-redundanten Hufiman-Codewörtern kann in Verbindung mit der vorliegenden Erfindung verwen- 65 det werden. In der Tat lassen sich vieie Prinzipien gleichgut auf andere Codes variabler Länge anwenden, weiche die Eigenschaften haben, daß kein Codewort der Beginn eines anderen Codewortes ist.
13
Wie aus der obigen Diskussion der Fig. 3 hervorgeht, bedeutet die Aufteilung der Speichereinrichtungen in Primär- und Sekundär-Tabelienspeicher weder das Erfordernis nach einem einzigen Speicher noch nach einem zweiteiligen Speicher; jede Konfiguration reicht aus, wenn sie anderen Systemanforderungen genügt.
Hierzu 2 Blatt Zeichnungen
14

Claims (1)

  1. Patentansprüche:
    1. Vorrichtung zum Decodieren einer Eingangsfolge von Binärcode Wörtern unterschiedlicher Länge, von denen kein Codewort der Anfang eines anderen Codewortes ist, mit einem Eingangsregister (110; 210) zur Aufnahme und Speicherung der Eingangscodewörter und einer Speicheranordnung (114;214,215) zur Speicherung decodierter Symbole entsprechend jedem Eingangscodewort, gekennzeichnet durch ein an das Eingangsregister (110; 210) angekoppeltes erstes Register (111; 211) zur Auswahl eines in seiner Länge festgelegten Abtastmusters der Eingangsziffernsignale beginnend mit der eisten Ziffer eines augenblicklichen Codewortes, wobei die Länge des Abtastmusters entweder gleich oder kleiner als die maximale Code- >0 wortläiige ist, einen das erste Register (111; 211) und die Speicheranordnung verbindenden Adressengenerator (112, 113; 212, 213, 261, 251) zur Ableitung einer auf dem Abtastmuster der Eingangsziffernsignale 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).
    2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jede adressierte Stelle der Speicheranordnung (114; 214,250) gleichzeitig die Länge des augenblicklichen Codewortes und seines jeweiligen decodier ten Symbols identifiziert.
    3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß das Ausgangsregister (115; 215,27θ) einen Codelängenabschnitt (116; 216,271) zur Speicherung der auf die Länge eines Eingangscodewortes bezogenen Iiuarmation aufweist, und daß eine an den Codelängenabschnitt angekoppelte Schaltungsanordnung (118; 252,283,286,218) vorgesehen ist, die das erste Bit im folgenden Codewort der Eingangsfolge identifiziert.
    A. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Speicheranordnung eine miteinander verbundene Anordnung von Modulen zur Speicherung von Wörtern aufweist, welche ein decodiertes Ausgangssymbol und die Länge des zugeordneten Eingangscodewortes angeben.
    S. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Speicheranordnung einen Primär-
    Tabellenspeicher (214) und eine Vielzahl von Sekundär-Tabellenspeicheni (250) aufweist, daß jede Sekun-
    där-Tabelle Wörter aufweist, die ein Ausgangssymbol explizit identifizieren, und daß die Primärtabelle außerdem informationen speichert, die eine der Vielzahl von Sekundär-Tabellen identifizieren
    6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Sekundär-Tabellenspeicher (250)
    Informationen zur Identifizierung von L,-K speichert, wobei
    L1 die Länge des Codewortes bedeutet, welches dem /-ten Ausgangssymbol zugeordnet ist; /= 1.2,3...AJist, M die maximale Länge eines Eingangscodewones angibt und
    K die Länge des in seiner Länge festgelegten Abtastmusters der im ersten Register gespeicherten Eingangsziflcrn ist.
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 DE2513862A1 (de) 1975-10-02
DE2513862C2 true 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
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
DE4405639C2 (de) * 1993-02-22 2000-08-03 Hyundai Electronics Ind Gerät zum Codieren mit variabler Länge

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
JPS5755668A (en) * 1980-09-22 1982-04-02 Nippon Telegr & Teleph Corp <Ntt> Decoding method for run-length code
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 デ−タ圧縮装置
CA1228925A (en) * 1983-02-25 1987-11-03 Yoshikazu Yokomizo Data decoding apparatus
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 可変長符号復調装置
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
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
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
US6246396B1 (en) 1997-04-30 2001-06-12 Canon Kabushiki Kaisha Cached color conversion method and apparatus
AUPO647997A0 (en) * 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6771196B2 (en) * 1999-12-14 2004-08-03 Broadcom Corporation Programmable variable-length decoder
US6704645B1 (en) * 2001-12-11 2004-03-09 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
US7283905B1 (en) 2001-12-11 2007-10-16 Garmin Ltd. System and method for estimating impedance time through a road network
US6545637B1 (en) 2001-12-20 2003-04-08 Garmin, Ltd. Systems and methods for a navigational device with improved route calculation capabilities
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
US6892135B1 (en) 2001-12-21 2005-05-10 Garmin Ltd. Navigation system, method and device with automatic next turn page
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
US7184886B1 (en) 2001-12-21 2007-02-27 Garmin Ltd. Navigation system, method and device with detour algorithm
US6999873B1 (en) 2001-12-21 2006-02-14 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
US7071202B2 (en) 2002-02-21 2006-07-04 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

Family Cites Families (4)

* 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
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US3810154A (en) * 1972-10-10 1974-05-07 Us Navy Digital code translator apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE4405639C2 (de) * 1993-02-22 2000-08-03 Hyundai Electronics Ind Gerät zum Codieren mit variabler Länge

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2513862C2 (de) Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge
DE2227148C3 (de) Schaltungsanordnung zur Umsetzung digitaler Daten
DE2264090C3 (de) Datenverdichtung
DE10301362B4 (de) Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
DE2652459C2 (de) Umsetzvorrichtung für Binärsignale variabler Länge
DE2801988A1 (de) Arithmetische codierung von symbolfolgen
DE2457732A1 (de) Verfahren und anordnung zur codierung und decodierung von information
DE2153517A1 (de) Anordnung zur Codeumsetzung
DE2508706A1 (de) Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis
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
DE2735319A1 (de) Schaltungsanordnung zur zusammenhaengenden codierung von zeichen und zur zeichendecodierung der ursprungszeichen
DE3531584A1 (de) Verfahren zum codieren von daten fuer die uebertragung von einer ersten zu einer zweiten datenverarbeitungseinheit und schnittstelle zur durchfuehrung dieses verfahrens
DE2340230A1 (de) Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes
DE1537561B2 (de) Verfahren und schaltungsanordnung zur codierung von mit binaeren elektrischen signalen zu uebertragenden informati onen mit verringerter redundanz
DE2500055C2 (de) Faksimile-uebertragungssystem
DE2736967A1 (de) Asynchrone telemetrieschaltung
DE2826450C3 (de) Verfahren zum Steuern der Übertragung digitaler Signale und Anordnung zur Durchführung des Verfahrens bei einer digitalen Faksimileübertragungseinrichtung
DE2340250C2 (de) Verfahren und Vorrichtung zur redundanzreduzierenden Codierung eines aus Blöcken zu je N Bits bestehenden Nachrichtenstromes
DE1964570B2 (de) Verfahren zum wiederauffinden gespeicherter informationen
EP1286471B1 (de) Verfahren zur Kompression von Daten
DE2405534A1 (de) Nachrichtenuebertragungssystem, insbesondere zur uebertragung von videosignalen
EP1388230B1 (de) Verfahren und vorrichtung zum verschlüsseln eines diskreten signals sowie verfahren und vorrichtung zur entschlüsselung
DE2758952B1 (de) Schaltungsanordnung zum Codieren oder Decodieren von Binaerinformationen
DE2127516A1 (de) Verfahren zur Übertragung binärcodierter Signale von Bildvorlagen oder Schriftvorlagen

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