DE2513862C2 - Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler Länge - Google Patents
Vorrichtung zum Decodieren von Codes minimaler Redundanz und variabler LängeInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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/425—Conversion 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.
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
Fig. 1 schematisch eine Nachrichtenanlage einschließlich einem erfindungsgemäß ausgebildeten Decodierer,
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.
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.
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
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.
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
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
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.
Übersetzungstabellenspeicherkapazität und Anzahl der Tabellenzugriffe
Tür den Code in Tabelle IV
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)
HufTman-Codes für die Buchstaben des
englischen Alphabets und einen Zwischenraum
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. £!
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
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.
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 :■'.
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 «;
daß auf das Herausgreifen der zusätzlichen A Bits, die zur Identifizierung einer Stelle in der entsprechenden ·;
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- '
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-\
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)
- 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 identifizieren6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der Sekundär-Tabellenspeicher (250)Informationen zur Identifizierung von L,-K speichert, wobeiL1 die Länge des Codewortes bedeutet, welches dem /-ten Ausgangssymbol zugeordnet ist; /= 1.2,3...AJist, M die maximale Länge eines Eingangscodewones angibt undK die Länge des in seiner Länge festgelegten Abtastmusters der im ersten Register gespeicherten Eingangsziflcrn ist.
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)
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)
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)
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 |
-
1974
- 1974-03-28 US US455668A patent/US3883847A/en not_active Expired - Lifetime
-
1975
- 1975-03-20 CA CA222,652A patent/CA1055611A/en not_active Expired
- 1975-03-27 DE DE2513862A patent/DE2513862C2/de not_active Expired
- 1975-03-27 GB GB13115/75A patent/GB1508653A/en not_active Expired
- 1975-03-27 FR FR7509682A patent/FR2266382B1/fr not_active Expired
- 1975-03-28 JP JP50037057A patent/JPS50131726A/ja active Pending
- 1975-03-28 BE BE154885A patent/BE827319A/xx not_active IP Right Cessation
Cited By (2)
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 |