DE3432837A1 - Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten - Google Patents

Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten

Info

Publication number
DE3432837A1
DE3432837A1 DE19843432837 DE3432837A DE3432837A1 DE 3432837 A1 DE3432837 A1 DE 3432837A1 DE 19843432837 DE19843432837 DE 19843432837 DE 3432837 A DE3432837 A DE 3432837A DE 3432837 A1 DE3432837 A1 DE 3432837A1
Authority
DE
Germany
Prior art keywords
data
output
input
register
counter
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.)
Ceased
Application number
DE19843432837
Other languages
English (en)
Inventor
Peter Dr.phil. 4050 Mönchengladbach Scheffler
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.)
Knabe Gerald GmbH
Original Assignee
Knabe Gerald GmbH
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 Knabe Gerald GmbH filed Critical Knabe Gerald GmbH
Priority to DE19843432837 priority Critical patent/DE3432837A1/de
Priority to EP19850904249 priority patent/EP0193553A1/de
Priority to PCT/EP1985/000450 priority patent/WO1986001660A1/de
Priority to AU47747/85A priority patent/AU4774785A/en
Publication of DE3432837A1 publication Critical patent/DE3432837A1/de
Ceased 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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Datenkompressions- und Datenexpandiereinrichtung
  • zum Ubertragen bzw. Speichern von Daten BESCHREIBUNG Die Erfindung betrifft eine Datenkompressionseinrichtung zum Ubertragen von Daten mit einem Register zur Aufnahme von einer Informationseinheit von Eingangsdaten, einer Wandlereinrichtung zum Umformen der Daten und einem Ausgang für die umgeformten Daten, und einer Steuerung. Ferner betrifft die Erfindung eine zugehörige Datenexpandiereinrichtung zum Ubertragen von über einen Eingang eingegebener Daten mit einem Register zur Aufnahme von einer Informationseinheit von Daten, einer Wandlereinrichtung zum Umformen der Daten und einem Ausgang für die umgeformten Daten, und einer Steuerung. Schließlich bezieht sich die Anmeldung auf ein Datenübertragungssystem mit einem eingangsseitig angeordneten Datenwandler, einem empfangsseitigen Datenwandler und einer Ubertragungsstrecke dazwischen bzw.
  • ein Datenübertragungssystem mit einem einen Eingang und einen Ausgang aufweisenden Datenspeicher.
  • Aus der europäischen Offenlegungsschrift A 1-0012173 ist eine Datenkompressionseinrichtung der eingangs beschriebenen Art bekannt, bei der zum Reduzieren von Speicher- bzw.
  • Übertragungskosten die Auflösung eines zu übertragenden Bildes vermindert wird. Dadurch wird auch die dieses veränderte Bild beschreibende Informationsmenge verkleinert, so daß die Speicher- bzw. die Ubertragungskosten aufgrund der kleineren Datenmenge vermindert werden. Dabei ist es aber nicht möglich, empfangsseitig bzw. am Ausgang des Speichers das Bild mit seiner ursprünglichen Auflösung zu reproduzieren.
  • Aufgabe den Erfindung ist es, eine Datenkompressionseinrichtung bzw. eine zugehörige Datenexpandiereinrichtung sowie ein zugehöriges Datenübertragungssystem zu schaffen, mit denen es möglich wird, nicht nur die zu übertragende Datenmenge zum Einsparen von Speicher- bzw. Ubertragungskosten zu verkleinern, sondern diese so zu verändern, daß auch aus der verkleinerten Datenmenge am Ausgang die vollständige Datenmenge mit ihrem ursprünglichen Informationsgehalt wiederherstellbar ist.
  • Diese Aufgabe wird durch ein Datenkompressionsgerät der eingangs beschriebenen Art gelöst, welches gemäß der Erfindung dadurch gekennzeichnet ist, daß ein mit dem Ausgang des Registers verbundener Komparator und ein von diesem angesteuerter Zähler vorgesehen sind, daß der Komparator auf Gleichheit aller Daten der Informationseinheit prüft, und die Steuerung so ausgebildet ist, daß bei Nichtgleichheit der Inhalt des Registers dem Ausgang zugeführt und bei Gleichheit ein Kennbit erzeugt und der Zähler um Eins weitergeschaltet wird, und der Zählerstand zusammen mit dem Kennbit dem Ausgang zugeführt wird, wenn zwei aufeinanderfolgende Informationseinheiten nicht übereinstimmen.
  • Die Datenkomprimierung erfolgt dadurch, daß immer dann, wenn eine Informationseinheit bzw. eine Mehrzahl von Informationseinheiten mit gleichen Daten festgestellt wird, anstelle dieser Informationseinheit bzw. Informationseinheiten ein Zählwert ausgegeben wird, der die Anzahl der Informationseinheiten mit gleichen Daten angibt. Dadurch wird im Fall einer Abspeicherung der Daten der Speicherplatz wesentlich vermindert. Im Fall der Ubertragung der Ausgangsdaten der Datenkompressionseinrichtung wird es möglich, über sich dadurch ergebende Zwischenpausen zusätzliche Daten zu übertragen. Die abgehende Information kann zweckmäßig in einem Zeilenspeicher gesammelt werden, bevor sie als Paket mit Ersparnis verwendet oder versandt wird.
  • Die Datenexpandiereinrichtung ist gemäß der Erfindung dadurch gekennzeichnet, daß ein mit dem Eingang verbundener Zähler vorgesehen ist und die Steuerung so ausgebildet ist, daß eine über den Eingang eingegebene Informationseinheit die kein entsprechendes Kennbit aufweist, dem Ausgang zugeführt wird, und bei Auftreten eines entsprechenden Kennbits die Informationseinheit in den Zähler gegeben, und so oft dem Ausgang unter gleichzeitigem Weiterschalten des Zählers um jeweils Eins eine Informationseinheit, deren Daten untereinander alle gleich sind und einen vorbestimmten Wert haben, zugeführt wird, bis der Zählerstand einen vorbestimmten Zählwert aufweist. Dadurch wird erreicht, daß die komprimierten Daten wieder so umgewandelt werden, daß der ursprüngliche Informationsgehalt wiederhergestellt wird.
  • Ein Datenübertragungssystem mit einem eingangsseitig angeordneten Datenwandler, einem empfangsseitigen Datenwandler und einer Ubertragungsstrecke dazwischen ist dadurch gekennzeichnet, daß der eingangsseitige Wandler eine Datenkompressionseinrichtung der oben beschriebenen Art und der Datenwandler eine Datenexpandiereinrichtung der oben beschriebenen Art ist.
  • Das Datenübertragungssystem mit einem einen Eingang und einen Ausgang aufweisenden Datenspeicher ist dadurch gekennzeichnet, daß eingangsseitig eine Datenkompressionseinrichtung der oben beschriebenen Art und ausgangsseitig eine Datenexpandiereinrichtung der oben beschriebenen Art vorgesehen ist.
  • Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus der Beschreibung von Ausführungsbeispielen anhand der Figuren. Von den Figuren zeigen: Fig. 1 ein Blockschaltbild einer erfindungsgemäßen Datenkompressionseinrichtung; Fig. 2 ein Blockschaltbild einer erfindungsgemäßen Datenexpandiereinrichtung; Fig. 3 ein Ausführungsbeispiel einer Schaltung der erfindungsgemäßen Datenkompressionseinrichtung; Fig. 4 ein Ausführungsbeispiel einer Schaltung der erfindungsgemäßen DatenexpandiereinricJung; Fig. 5 eine schematische Darstellung des Datenkompressions-und Datenexpansionsvorganges anhand eines Beispieles; Fig. 6 eine schematische Darstellung eines Anfangszustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3; Fig. 7 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrlchtung nach Fig. 3 in der ersten Periode nach Fig. 5; Fig. 8 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der zweiten Periode nach Fig. 5; Fig. 9 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der dritten Periode nach Fig. 5; Fig.10 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der vierten Periode in Fig. 5; Fig.ll eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der fünften Periode nach Fig. 5; Fig.12 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der fünften Periode nach Fig. 5; Fig.13 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der (5 + 126)ten Periode nach Fig. 5; Fig.14 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der (5 + 126 + l)ten Periode nach Fig. 5; Fig.15 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der (5 + 126 + 2)ten Periode nach Fig. 5; und Fig.16 eine schematische Darstellung des Zustandes der erfindungsgemäßen Datenkomprimiereinrichtung nach Fig. 3 zu Beginn der (5 + 126 + 3)ten Periode des Beispieles nach Fig. 5.
  • In Fig. 1 ist ein Blockschaltbild des erfindungsgemäßen Datenkompressors 1 und in Fig. 2 ein Blockschaltbild des erfindungsgemäßen Datenexpanders 2 dargestellt. Der Datenkompressor 1 weist vier Schaltungsblöcke auf, nämlich einen Wandler 3, eine Ablaufsteuerung 4, ein Steuereingangsteil 5 und einen Speicher 6. Der Datenexpander 2 weist einen vergleichbaren Aufbau mit ebenfalls vier Schaltungsblöcken auf, nämlich einen Wandler 7, eine Ablaufsteuerung 8, ein Steuereingangsteil 9 und einen Speicher 10. Der Speicher 10 kann als ein vom Speicher 6 verschiedener Speicher oder auch als derselbe Speicher wie der Speicher 6 ausgebildet sein. Der Datenkompressor 1 besitzt einen ersten Eingang 11 für die zu komprimierenden Daten und einen zweiten Eingang 12 für das Einschaltsignal. Der Datenexpander 2 besitzt einen Eingang 13 für das Einschaltsignal und einen Ausgang 14 für die auszugebenden Daten. Die Verbindung der einzelnen Schaltungsblöcke 3, 4, 5, 6 und 7, 8, 9, 10 untereinander ist in den Fig. 1 und 2 schematisch dargestellt und soll in Verbindung mit der detaillierten Beschreibung des Aufbaues der einzelnen Blöcke im folgenden im Zusammenhang mit der Beschreibung der Fig. 3 und 4 dargestellt werden.
  • Fig. 3 zeigt die Schaltung eines erfindungsgemäßen Datenkompressors 1. Der Wandler 3 weist ein Schieberegister 15, einen Zähler 16 und einen Vergleicher 17 auf. Das Schieberegister 15 wird durch zwei Register 74LS 598 gebildet und besitzt acht Registerplätze mit acht parallelen Ausgängen 18, die hochohmig gemacht werden können. Zu diesem Zweck besitzt das Register einen ersten Eingang 19. Zusätzlich erhält das Schieberegister 15 eine Pullup- und Pull-down-Möglichkeit. Das Register 15 weist ferner einen zweiten Eingang 20 auf, der den seriellen Dateneingang des Schieberegisters 15 bildet und einen mit dem ersten EIngang 11 des Datenkompressors 1 verbundenen Eingang zum ersten Registerplatz 21 bildet. Das Schieberegister 15 weist ferner noch einen Takteingang 22 auf. Anstelle über den seriellen Dateneingang 20 können die Eingangsdaten selbstverständlich auch über einen parallelen Dateneingang des Registers 15 zugeführt werden.
  • Der Zähler 16 wird durch ein Bauteil 74 AS 869 gebildet und besitzt acht parallel ladbare Speicherplätze. Dazu besitzt der Zähler 16 acht parallele Eingänge 23, von denen die ersten sieben jeweils mit entsprechenden Registerplätzen des Schieberegisters 15 über die Ausgänge 18 derart verbunden sind, daß der erste Registerplatz 21 mit einem ersten Speicherplatz 24 des Zählers 16, der auf den ersten Registerplatz 21 folgende zweite Registerplatz mit dem auf den ersten Speicherplatz 24 folgenden nächsten Speicherplatz verbunden ist usw.. Der achte Speicherplatz wird auf Null gesetzt. Die ersten sieben Speicherplätze des Zählers 16 sind parallel nach außen geführt und bilden einen Datenausgang 25 des Wandlers 3. Der Zähler 16 weist ferner einen jeweils nach außen geführten Ladeeingang 26, Zähleingang 27 und Takteingang 28 sowie einen ebenfalls nach außen geführten Ausgang 29 zum Anzeigen des Zählminimums, in diesem Falle des Zählwertes Null, auf.
  • Der Vergleicher 17 wird durch ein Bauteil 74 AS 866 gebildet und besitzt neun Vergleichereingänge 30 sowie einen Ausgang 31 für das Vergleichsergebnis. Die ersten acht der Eingänge 30 sind jeweils mit einem entsprechenden Ausgang der acht parallelen Ausgänge 18 des Schieberegisters 15 verbunden. Der übrige Eingang der Vergleichereingänge 30 ist mit dem Ausgang eines EXNOR-Gliedes 32 verbunden, dessen einer Eingang mit dem Ausgang des auf den ersten Registerplatz 21 folgenden zweiten Registerplatzes des Schieberegisters 15 verbunden ist und dessen anderer Eingang in einer später beschriebenen Weise mit der Ablaufsteuerung 4 verbunden ist. Der Ausgang 31 ist ebenfalls nach außen geführt.
  • Der Ausgang des ersten Registerplatzes 21 ist ferner mit dem Ausgang eines open-collector-NAND-Gliedes 33 verbunden, dessen erster Eingang 34 mit dem ersten Eingang 19 des Schieberegisters 15 verbunden und nach außen geführt ist und dessen zweiter Eingang 35 in einer später zu beschreibenden Weise mit der Ablaufsteuerung 4 verbunden ist.
  • Der Speicher 6 besitzt acht parallele Dateneingänge 36, von denen die ersten sieben jeweils mit einem der sieben Datenausgänge 25 des Zählers 16 verbunden sind. Der achte Dateneingang ist mit der Ablaufsteuerung in später zu beschreibender Weise verbunden. Der Speicher 6 weist ferner einen Schreib-/Leseeingang 37 und einen Adresseneingang 38 für das Adressentriggersignal auf. Der Speicher besitzt eine Mehrzahl von Adressen, in denen jeweils eine Informationseinheit z.B. in Form eines Bytes abspeicherbar ist, das von den Daten an den Dateneingängen 36 gebildet ist.
  • Das Steuereingangsteil 5 weist einen Taktgeber 39 und ein Schieberegister 40 auf. Der Eingang 41 des Taktgebers 39 ist mit dem Ausgang eines OR-Gliedes 42 verbunden, dessen einer Eingang mit dem zweiten Eingang 12 des Datenkompressors 1 und dessen anderer Eingang mit der Ablaufsteuerung 4 in eier später zu beschreibenden Weise verbunden ist. Der Ausgang 43 des Taktgebers 39 ist mit dem Takteingang 22 des Schieberegisters 15, dem Takteingang 28 des Zählers 16 sowie einem Takteingang 44 des Schieberegisters 40 verbunden. Der Taktgeber 39 wird durch ein Bauteil 74 S 132 gebildet und ist so ausgebildet, daß er bei Anlegen eines Signales mit hohem Pegel am Eingang 12 Takte einer vorbestimmten regelbaren Frequenz, vorzugsweise zwischen 7 und 100 MHz und insbesondere etwa 20 MHz an seinem Ausgang 43 abgibt.
  • Das Schieberegister 40 wird durch zwei Register 74 95 gebildet und besitzt sieben aufeinanderfolgende Registerplätze mit jeweils einem Ausgang. Der Ausgang des siebten Registerplatzes ist über eine Rückleitung 45 mit einem Dateneingang 46 zum ersten Registerplatz verbunden, so daß das Schieberegister 40 als Ringzähler geschaltet ist. Der Ausgang 47 des ersten Registerplatzes, der Ausgang 48 des zweiten Registerplatzes und der Ausgang 49 des dritten Registerplatzes sind mit der Ablaufsteuerung 4 in später zu beschreibender Weise verbunden. Die Ausgänge des vierten bis siebten Registerplatzes sind jeweils mit Eingängen eines NOR-Gliedes 50 verbunden, dessen Ausgang über eine Leitung 51 mit dem Schreib-/Leseeingang 37 des Speichers 6 verbunden ist. Das NOR-Glied wird von einem Bauteil 7425 gebildet. Ferner sind die Ausgänge 48 und 49 jeweils mit Eingängen eines OR-Gliedes 52 verbunden, dessen Ausgang über eine Leitung 53 mit dem Eingang 19 des Schieberegisters 15 und dem ersten Eingang 34 des NAND-Gliedes 33 verbunden ist. Das Schieberegister 40 ist ferner mit einem Setzeingang 54 verbunden, durch den das Schieberegister 40 parallel oder seriell auf 1000000 gesetzt werden kann.
  • Die Ablaufsteuerung weist ein Start-Stop-Register 55, ein Nullwertregister 56 und ein Kennwertregister 57 auf. Das Start-Stop-Register 55 wird durch drei D-Flip-Flops E, E' und E" gebildet, die durch Verbinden des Q-Ausganges des Flip-Flops E mit dem D-Eingang des Flip-Flops E' sowie des Q-Ausganges des Flip-Flops E' mit dem D-Eingang des Flip-Flops E" zusammengeschaltet sind. In ähnlicher Weise wird das Kennwertregister 57 durch zwei D-Flip-Flops K' und K" gebildet, wobei der Q-Ausgang des K'-Flip-Flops mit dem D-Eingang des K"-Flip-Flops verbunden ist. Das Nullwertregister 56 wird durch ein einfaches D-Flip-Flop gebildet.
  • Die Register 55, 56, 57 weisen jeweils Rücksetzeingänge CP, Dateneingänge D, Preset-Eingänge pr und Ausgänge Q.und Q auf und sind folgendermaßen geschaltet: Der D-Eingang 58 des Start-Stop-Registers 55 ist mit dem zweiten Eingang 12 des Datenkompressors 1 und der CP-Eingang 59 der E-Flip-Flops sowie der CP-Eingang 60 des Nullwertregisters 56 mit dem Ausgang des fünften Registerplatzes des Schieberegisters 40 verbunden. Die CP-Eingänge 61, 62 des K'- und K"-Flip-Flops sind beide mit dem Ausgang des ersten Registerplatzes des Schieberegisters 40 verbunden. Der D-Eingang 63 des Nullwertregisters 56 ist mit dem Ausgang 29 des Zählers 16 und der D-Eingang 64 des K'-Flip-Flops des Kennwertregisters 57 zusammen mit dem pr-Eingang des Nullwertregisters 56 mit dem Ausgang eines NAND-Gliedes 66 verbunden. Das NAND-Glied 66 besitzt zwei Eingänge 67, 68, von denen der eine Eingang 67 mit dem Ausgang 31 des Vergleichers 17 verbunden ist. Der andere Eingang 68 ist über einen Inverter 69 mit dem Ausgang eines AND-Gliedes 70 mit zwei Eingängen verbunden, dessen einer Eingang mit dem Q-Ausgang 71 unter Zwischenschalten eines Inverters 72 und dessen anderer Eingang mit dem Q-Ausgang des E'-Flip-Flops verbunden ist. Der Ausgang des AND-Gliedes 70 ist ferner mit einem Eingang eines weiteren AND-Gliedes 73 verbunden, dessen anderer Eingang mit dem Ausgang 49 des dritten Registerplatzes des Schieberegisters 40 und dessen Ausgang mit einem ersten Eingang eines OR-Gliedes 74 mit drei Eingängen verbunden ist. Der zweite Eingang des OR-Gliedes 74 ist mit dem Ausgang eines AND-Gliedes 75 verbunden, dessen einer Eingang mit dem Ausgang 31 des Vergleichers 17 bzw. dem Eingang 67 des NAND-Gliedes 56 und dessen anderer Eingang mit dem Ausgang 47 des ersten Registerplatzes des Schieberegisters 40 verbunden ist. Der dritte Eingang des OR-Gliedes 74 ist mit dem Ausgang eines AND-Gliedes 76 mit drei Eingängen verbunden, dessen einer Eingang mit dem Ausgang 49 des dritten Registerplatzes des Schieberegisters 40, dessen zweiter Eingang mit dem Q-Ausgang des K'-Flip-Flops des Kennwertregisters 57 und dessen dritter Eingang unter Zwischenschaltung eines Inverters 77 mit dem Ausgang eines AND-Gliedes 78 mit zwei Eingängen verbunden ist, dessen erster Eingang mit dem Q-Ausgang des "-Flip-Flops des Kennwertregisters 57 und dessen zweiter Eingang mit dem Q-Ausgang des Nullwertregisters 56 verbunden ist. Der Ausgang 79 des OR-Gliedes 74 ist mit dem Ladeeingang 26 des Zählers 16 verbunden.
  • Ferner ist ein AND-Glied 80 mit vier Eingängen vorgesehen, dessen erster Eingang mit dem Q-Ausgang des K'-Flip-Flops des Kennwertregisters 57, dessen zweiter Eingang mit dem Ausgang des AND-Gliedes 78, dessen dritter Eingang mit dem Ausgang eines NAND-Gliedes 81 und dessen vierter Eingang mit dem Ausgang 49 des dritten Registerplatzes des Schieberegisters 40 verbunden ist. Der Ausgang 82 des AND-Gliedes 80 ist mit dem Zähleingang 27 des Schieberegisters 16 verbunden.
  • Das NAND-Glied 81 besitzt drei Eingänge, von denen der eine mit dem Q-Ausgang des E'-Flip-Flops, der zweite mit dem Ausgang des Inverters 71 und der dritte mit dem Q-Ausgang des K''-Flip-Flops des Kennwertregisters 57 unter Zwischenschalten eines Inverters 83 verbunden ist. Der Ausgang des NAND-Gliedes 81 ist mit einem von vier Eingängen eines NAND-Gliedes 84 verbunden, dessen weitere Eingänge mit dem Ausgang des AND-Gliedes 78 bzw. dem Q-Ausgang des K'-Flip-Flops und dem Ausgang eines NAND-Gliedes 85 mit zwei Eingängen verbunden sind, dessen einer Eingang mit dem Q-Ausgang des E"-Flip-Flops und dessen anderer Ausgang mit dem Q-Ausgang des E'-Flip-Flops unter Zwischenschalten eines Inverters 86 verbunden ist. Der Ausgang des NAND-Gliedes 84 ist mit einem Eingang eines AND-Gliedes 87 mit drei Eingängen verbunden, dessen weitere Eingänge mit dem Ausgang 48 des zweiten Registerplatzes des Schieberegisters 40 bzw.
  • mit dem Ausgang eines OR-Gliedes 88 mit zwei Eingängen verbunden ist, dessen einer Eingang mit dem Q-Ausgang des E"-Flip-Flops und dessen anderer Eingang mit dem Q-Ausgang des E'-Flip-Flops verbunden ist. Der Ausgang 89 des AND-Gliedes 87 ist mit dem Adresseneingang 38 des Speichers 6 verbunden.
  • Ferner ist eine Leitung 90 vorgesehen, die den zweiten Eingang des EXNOR-Gliedes 32 mit dem Ausgang des NAND-Gliedes 88 verbindet, sowie eine Leitung 91, die den zweiten Eingang des open-collector-NAND-Gliedes 33 mit dem Ausgang des NAND-Gliedes 81 verbindet. Eine weitere Leitung 92 verbindet den zweiten Eingang des OR-Gliedes 42 mit dem Q-Ausgang des E"-Flip-Flops.
  • Das Start-Stop-Register 55 sowie das Kennwertregister 57 besitzen ferner jeweils clear-Eingänge 93, 94, die jeweils mit dem Ausgang des OR-Gliedes 42 verbunden sind.
  • Schließlich ist eine Leitung 92' vorgesehen, die den Q-Ausgang des K'-Flip-Flops des Kennwertregisters 57 mit dem achten Eingang der Dateneingänge 36 des Speichers 6 verbindet.
  • Die OR-Glieder 42, 52 und 88 sind vorzugsweise jeweils durch ein Bauteil 74 S 32, die Inverter 69, 71, 77, 83 und 86 jeweils durch ein Bauteil 74 S 04 und die AND-Glieder 70, 73 und 78 durch jeweils ein Bauteil 74 S 08 realisiert. Für die beiden NAND-Glieder 66 und 85 findet vorzugsweise jeweils ein Bauteil 74 S 10, für das NAND-Glied 81 ein Bauteil 74 S 10, für das NAND-Glied 84 das Bauteil 74 S 20, für das AND-Glied 87 ein Bauteil 74 LS 21 und für das AND-Glied 80 ein Bauteil 74 ALS 21 Verwendung. Das OR-Giied 74 in Verbindung mit den AND-Gliedern 75 und 76 wird vorzugsweise durch ein Bauteil 74 S 64 realisiert.
  • Der Aufbau eines erfindungsgemäßen Datenexpanders 2 soll im folgenden anhand des in Fig. 4 gezeigten Ausführungsbeispieles im Detail erläutert werden. Dabei werden Teile, die mit entsprechenden Teilen des Datenkompressors 1 identisch sind, mit den identischen Bezugszeichen versehen und es wird zur Beschreibung dieser Teile auf die entsprechende Beschreibung beim Datenkompressor verwiesen.
  • Der Speicher 10, bei dem es sich um einen von mehreren Kompressoren und Expandern und anderen Systemen gemeinsam benutzten Speicher handeln kann, besitzt acht parallel geschaltete Datenausgänge 95. Die ersten sieben dieser acht Ausgänge 95 sind jeweils mit entsprechenden Registerplätzen 1 bis 7 des Schieberegisters 15 und mit entsprechenden Speicherplätzen 1 bis 7 des Zählers 16 verbunden. Der achte Ausgang ist in einer später zu beschreibenden Weise mit der Ablaufsteuerung 8 verbunden.
  • Der achte Speicherplatz des Zählers 16 wird auf den Wert i gesetzt. Der Zähler 16 wird als Aufwärts-Zähler verwendet und besitzt einen Ausgang 96 zur Anzeige des maximalen Zählerstandes. Der zweite Eingang 20 des Schieberegisters 15 ist auf Null gesetzt. Ferner besitzt das Schieberegister 15 zwei weitere Eingänge, nämlich einen Schiebeeingang 97 zum seriellen Schieben und einen Ladeeingang 98 zum parallelen Laden.
  • Schließlich besitzt das Schieberegister 15 einen Ausgang 99 zum Ausgeben der Daten in serieller Form.
  • Das Steuereingangsteil 9 unterscheidet sich vom Steuereingangsteil 5 des Datenkompressors 1 dadurch, daß der Ausgang 47 des ersten Registerplatzes des Schieberegisters 40 nicht benötigt wird. Die Ausgänge 48, 49 des zweiten und dritten Registerplatzes sind in später zu beschreibender Weise mit der Ablaufsteuerung 8 verbunden. Die Registerplätze 4 bis 7 sind wiederum über das NOR-Glied 50 und die Leitung 51 mit dem Leseeingang 37 des Speichers 10 verbunden. rerner ist das OR-Glied 52 nicht vorgesehen.
  • Die Ablaufsteuerung 8 weist vier Register auf, die jeweils durch ein einfaches D-Flip-Flop gebildet sind: ein Nachladeregister 100, ein Kennwertregister 101, ein Ladesperreregister 102 und ein Adressensteuerregister 103. Jedes dieser Register 100, 102 und 103 besitzt einen CP-Eingang, einen Preset-Eingang pr, einen D-Eingang sowie einen Q- und einen Q-Ausgang.
  • Das Register 101 besitzt einen clear-Eingang cl, einen CP-Eingang, einen D-Eingang sowie einen Q- und Q-Ausgang.
  • Der CP-Eingang des Nachladeregisters 100 ist mit dem Ausgang 48 des zweiten Registerplatzes des Schieberegisters 40 und der CP-Eingang des Ladesperreregisters 102 mit dem Ausgang 49 des dritten Registerplatzes des Schieberegisters 40 verbunden. Der CP-Eingang des Kennwertregisters 101 ist über einen Inverter 104 mit dem Ausgang eines AND-Gliedes 105 mit zwei Eingängen verbunden, dessen erster Eingang mit dem Q-Ausgang des Ladesperregisters 102 und dessen anderer Ausgang mit dem Ausgang des siebten Registerplatzes des Schieberegisters 40 verbunden ist.
  • Der pr-Eingang des Registers 100 und der cl-Eingang des Registers 101 ist jeweils mit dem Eingang 13 des Datenexpanders verbunden. Der pr-Eingang des Ladesperreregisters 102 ist mit dem Ausgang eines AND-Gliedes 106 mit zwei Eingängen verbunden, dessen einer Eingang mit dem Eingang 13 des Datenexpanders 2 und dessen anderer Eingang mit dem Ausgang eines NAND-Gliedes 107 mit zwei Eingängen verbunden ist. Ein Eingang des NAND-Gliedes 107 ist mit dem Ausgang des fünften Registerplatzes des Schieberegisters 15 und der andere Eingang über einen Inverter 108 mit dem Ausgang 96 des Zählers 16 verbunden Der D-Eingang des Nachladeregisters 100 ist ebenfalls mit dem Ausgang 96 des Zählers 16, der D-Eingang des Kennwertregisters 101 mit dem achten, freien Ausgang der Datenausgänge 95 des Speichers 10 und der D-Eingang des Ladesperreregisters 102 mit dem Q-Ausgang des Kennwertregisters 101 verbunden.
  • Der Ausgang des Kennwertregisters 101 ist mit einem ersten Eingang eines AND-Gliedes 109 mit zwei Eingängen verbunden, dessen anderer Eingang mit dem Q-Ausgang des Nachladeregisters 100 und dessen Ausgang mit dem Schiebeeingang 97 des Schieberegisters 15 verbunden ist. Ferner sind zwei AND-Glieder 110, 111 mit jeweils drei Eingängen vorgesehen, deren erster Eingang jeweils mit dem Ausgang des AND-Gliedes 105 und deren dritter Eingang jeweils mit dem Q-Ausgang des Nachladeregisters 100 verbunden ist. Der zweite Eingang des AND-Gliedes 110 ist über einen Inverter 112 und der zweite Eingang des AND-Gliedes 111 direkt mit dem achten Datenausgang der Datenausgänge 95 des Speichers 10 verbunden. Der Ausgang des AND-Gliedes 110 ist mit dem Ladeeingann 98 des Schieberegisters 15 und der Ausgang des AND-Gliedes 111 mit dem Ladeeingang 26 des Zählers 16 verbunden. Ein weiteres AND-Glied 113 mit zwei Eingängen ist an seinem ersten Eingang mit dem Q-Ausgang des Nachladeregisters 100, an seinem zweiten Eingang mit dem Ausgang 49 des dritten Registerplatzes des Schieberegisters 40 und an seinem Ausgang mit dem Zähleingang 27 des Zähleres 16 verbunden.
  • Das Adressensteuerregister 103 besitzt einen clear-Eingang, einen Preset-Eingang pr und einen Q-Ausgang. Der clear-Eingang des Registers 103 ist mit dem Ausgang eines NOR-Gliedes 114 mit zwei Eingängen verbunden, dessen einer Eingang mit dem Ausgang 48 des zweiten Registerplatzes des Schieberegisters 40 und dessen anderer Eingang mit dem Eingang 13 des Datenexpanders über einen Inverter 115 verbunden ist. Der pr-Eingang des Registers 103 ist mit dem Ausgang eines weiteren NOR-Gliedes 116 mit zwei Eingängen verbunden, dessen erster Eingang mit dem Ausgang des AND-Gliedes 110 und dessen zweiter Eingang mit dem Ausgang des AND-Gliedes 111 verbunden ist. Der Q-Ausgang des Registers 103 ist mit dem Adresseneingang 38 des Speichers 10 verbunden.
  • Für die einzelnen Schaltungsteile der Ablaufsteuerung 8 werden vorzugsweise folgende Bauteile verwendet: für die Register 100, 101, 102 und 103 jeweils das Bauteil 74 S 74, für die Inverter 104, 108, 112 und 115 das Bauteil 74 S 04, für die AND-Glieder 105 und 106 das Bauteil 74 S 08, für das NAND-Glied 107 das Bauteil 74 S 00 und für die NOR-Glieder 114 und 116 das Bauteil 74 S 02. Die NAND-Glieder 109 und 110 sowie 111 und 113 werden jeweils zusammen durch ein Bauteil 74 S 15 realisiert. Für die übrigen Schaltungsteile des Datenexpanders 2 werden die gleichen Bauteile wie für die entsprechenden Schaltungsteile des Datenkompressors 1 verwendet.
  • Der Betrieb des Datenkompressors 1 und des Datenexpanders 2 soll anhand eines Bit-Musters für die zu komprimierenden Daten gezeigt werden, wie es in Fig. 5 dargestellt ist. Dabei sind die aufeinanderfolgenden Daten als Streifen mit schwarzen und weißen Abschnitten dargestellt, von denen eine Einheitslänge des schwarzen Abschnittes eine binäre Null und eine Einheitslänge des weißen Abschnittes eine binäre Eins darstellen soll.
  • Die oberste Zeile I stellt den dem Eingang 11 des Datenkompressors 1 zugeführten zu komprimierenden Datenstrom, die mittlere Zeile II den im Speicher 6 bzw. 10 abgelegten bzw. zu übertragenden komprimierten Datensatz und die unterste Zeile III den nach der Expansion den Datenexpander 2 am Ausgang 14 verlassenden expandierten Datenstrom dar. Der zu komprimierende Datenstrom in Zeile I ist in Übereinstimmung mit der im folgenden erläuterten Funktion des Kompressors in Perioden 1, 2 ... mit jeweils sieben Dateneinheiten aufgeteilt, auf die im folgenden Bezug genommen werden soll. Der Datenstrom in Zeile I in Fig.
  • 5 wird dem Datenkompressor 1 derart zugeführt, daß die Dateneinheiten vom linken Rand der Zeile I aus nacheinander zum Eingang 11 des Datenkompressors 1 gelangen.
  • Die Zustände des Datenkompressors 1 in den in Fig. 5 gezeigten einzelnen Perioden sind in den Fig. 6 bis 17 dargestellt, wobei ein Registerinhalt Null in den Registern 15, 16, 55, 56 und 57 jeweils durch einen schwarzen Kreis gekennzeichnet ist.
  • Der Anfangszustand des Datenkompressors 1, in dem am Eingang 12 ein "Aus"-Signal anliegt, ist in Fig. 6 gezeigt. Durch das "Aus"-Signal wird in das Start-Stop-Register 55 und in das Kennwertregister 57 der Inhalt Null und über den Setzeingang 54 in den ersten Registerplatz des Schieberegisters 40 eine logische Eins und in die übrigen Registerplätze des Schieberegisters 40 jeweils eine logische Null gesetzt. Der Inhalt des Schieberegisters 15 und des Zählers 16 ist noch beliebig.
  • Trifft nun am Eingang 12 ein "Ein"-Signal ein, so wird der Taktgeber 39 über das OR-Glied 42 eingeschaltet und liefert über die Takteingänge 22, 28 und 44 jeweils synchrone Taktimpulse an das Schieberegister 15, den Zähler 16 und das Schieberegister 40. Im Schieberegister 15 bewirken diese Taktsignale, daß bei jedem Taktsignal ein weiteres Bit des am Eingang 11 anliegenden Datenstroms in das Schieberegister 15 übernommen bzw. im Schieberegister 15 in üblicher Weise jedes Bit um einen Registerplatz in Fig. 6 nach rechts verschoben wird. Im Schieberegister 40 bewirkt dieser Takt, daß die logische Eins bei jedem Taktsignal um eine Stelle zu den höheren Registerplätzen hin, d.h. also in Fig. 6 nach rechts, verschoben wird, wobei die übrigen Registerplätze logische Nullen aufweisen, da der Inhalt des Registerplatzes 7 im darauffolgenden Takt jeweils über die Leitung 45 den Inhalt des Registerplatzes 1 bestimmt.
  • Der Zustand nach fünf Taktsignalen des Taktgebers 39 ist in Fig. 7 gezeigt. Die logische Eins vom Registerplatz 1 ist auf den Registerplatz 5 des Schieberegisters 40 gewandert. Dadurch wird über die Verbindung des CP-Eingangs 59 des Start-Stop-Registers 55 mit dem Registerplatz 5 der Inhalt des E-Flip-Flops auf 1 gesetzt. Gleichzeitig ist der am Eingang 11 anliegende Datenstrom gemäß Zeile I in Fig. 5 um fünf Plätze in das Schieberegister 15 vorgedrungen. Über das OR-Glied 50 und die Leitung 51 erfolgt zwar ein Schreibbefehl an den Speicher 6 und es wird der momentane Inhalt des Zählers 16 in den Speicher 6 übernommen. Dieser Inhalt wird jedoch zu einem späteren Zeitpunkt überschrieben, da am Adresseneingang 38 noch kein Signal zum Ändern der Adresse anliegt.
  • In Fig. 8 ist der Zustand des Datenkompressors 1 nach der ersten Periode mit sieben Takten, also am Anfang der zweiten Periode nach Fig. 5 gezeigt. Die ersten sieben Bit des anliegenden Datenstromes li-egen im Schieberegister 15 vor. Unabhängig davon, ob es sich dabei um gleiche oder verschiedene Bit handelt, soll diese erste Datenfolge im Schieberegister 15 unverändert in den Speicher gelangen. Dies wird dadurch erreicht, daß dem neunten Eingang 30 des Vergleichers 17 das Ergebnis des EXNOR-Gliedes 32 zugeführt wird. Da sowohl im E'-als auch im E"-Flip-Flop des Start-Stop-Registers 55 eine Null vorliegt, ist der eine Eingang des EXNOR-Gliedes 32 über das OR-Glied 88 auf Null gesetzt. Das bedeutet, daß der Ausgang des EXNOR-Gliedes jeweils den entgegengesetzten Wert des Pegels am anderen Eingang, der mit dem zweiten Registerplatz des Schieberegisters 15 verbunden ist, annimmt. Damit wird also auf jeden Fall im Vergleicher 17 festgestellt, daß nicht alle neun Eingänge den gleichen Pegel aufweisen. Damit erzeugt der Vergleicher 17 am Ausgang 31 einen Wert K mit Pegel 1, der über das AND-Glied 75 und das OR-Glied 74 im Takt 1 ein Signal mit Pegel 1 dem Ladeeingang 26 des Zählers 16 zuführt, so daß der Inhalt der ersten sieben Registerplätze des Schieberegisters 15 den ersten sieben Speicherplätzen des Zählers 16 zugeführt wird. Dieser Inhalt erscheint auch an den Datenausgängen 25 des Zählers 16. Da der Inhalt der Speicherplätze E' und E" jeweils Null ist und damit auch der Ausgang des OR-Gliedes 88 auf Null liegt, erscheint im folgenden Takt 2 kein Signal am Ausgang 89, so daß die Adresse im Speicher nicht geändert wird.
  • Da der Wert K = 1 ebenfalls dem NAND-Glied 66 zugeführt wird und damit im Takt 1 der Inhalt des K'-Speichers auf Null gesetzt wurde, gelangt im Takt 3 kein Signal zum Ausgang 82, wodurch kein Zählvorgang begonnen wird. Im Takt 5 wandert der Inhalt des E-Speichers nach E', so daß nunmehr E E' = 1 1. In den Takten 4 bis 7 wird über das NOR-Glied 50 und der Leitung 51 ein Signal an den Schreibeingang 37 des Speichers 6 gegeben, so daß der an den Dateneingängen 36 anliegende Inhalt in die erste Speicheradresse geschrieben wird. Da K' = 0, wird über die Leitung 92' in den achten Speicherplatz dieser ersten Adresse ein Null-Bit als Kennbit eingeschrieben.
  • In Fig. 9 ist der Zustand des Datenkompressors 1 nach den zwei ersten in Fig. 5 dargestellten Perioden, also am Anfang der dritten Periode dargestellt. Während der Takte der vorangehenden zweiten Periode sind die nächsten sieben Bit des ankommenden Datenstroms, nämlich sieben Nullen, auf die Plätze 1 bis 7 des Schieberegisters 15 gelangt. Auf Platz 8 befindet sich noch die Null des letzten Bits aus der Sieben-Bit-Folge davor, das ebenfalls eine Null war. Da alle Bits im Schieberegister untereinander gleich sind, handelt es sich bei der neu eingelaufenen Sieben-Bit-Folge um "Grund". Damit befinden sich im Schieberegister 15 zum Takt 1 der dritten Periode nur Nullen. Damit liegen an den ersten acht Eingängen 30 des Vergleichers 17 jeweils gleiche Werte an. Da nunmehr wegen E' E" = 1 0 liegt am ersten Eingang des EXNOR-Gliedes 32 ein Signal mit Pegel 1 an, so daß am Ausgang des EXNOR-Gliedes stets ein Signal mit gleichem Pegel wie das am zweiten Eingang anliegende erzeugt wird. Damit liegt also der Ausgang des EXNOR-Gliedes 32 ebenfalls auf Null, so daß alle neun Eingänge des Vergleichers 17 gleiche Werte anzeigen und der Vergleicher am Ausgang K ein Signal mit Pegel Null abgibt. Damit bleibt der Ausgang 79 auf Null, so daß der Inhalt des Speichers 15 nicht in den Zähler 16 geladen wird. Ferner erscheint mit K = O am Ausgang des NAND-Gliedes 66 ein Signal mit Pegel 1, so daß Uber die Verbindung des CP-Eingangs 61 mit dem Ausgang 47 im Takt 1 der Inhalt des K'-Speichers und im Takt 5 über die Verbindung des CP-Eingangs 60 des Nullwertregisters 56 mit dem fünften Registerplatz des Schieberegisters 40 der Inhalt des Nullwertregisters 56 zu Eins gemacht wird. Da der Ausgang des NAND-Gliedes 84 wegen K' K" = 1 0 auf Pegel 1 und der Ausgang des OR-Gliedes 88 wegen E' E" = 1 0 auf Pegel 1 liegt, erscheint im Takt 2 ein Signal mit Pegel 1 am Ausgang 89, so daß die Speicheradresse zur Abspeicherung der an den Eingängen 36 anliegenden Daten geändert wird. Damit werden die bereits in der zweiten Periode gespeicherten Daten erhalten.
  • Im Takt 2 und 3 der dritten Periode werden über das OR-Glied 52 und die Leitung 53 die Ausgänge des Schieberegisters hochohmig gemacht. Gleichzeitig wird der Ausgang des ersten Registerplatzes 21 über das~open-collector-Glied 33 auf Null gesetzt. Damit wird im Takt 3 über das AND-Glied 76 und das OR-Glied 79 ein Ladebefehl an den Ladeeingang 26 des Zählers 16 gegeben, wodurch der Wert 0111111 in die ersten sieben Speicherplätze des Zählers 16 geladen wird. Der achte Speicherplatz enthält weiterhin den Wert Null. Diese Daten liegen damit ebenfalls an den Dateneingängen 36 des Speichers 6 zusammen mit dem Kennbit, das wegen K' = 1 den Wert 1 besitzt, an und werden gemeinsam in den Takten 4 bis 7 in die zweite Speicheradresse eingeschrieben. Im Takt 5 wird über den CP-Eingang 59 der Inhalt des Speichers E' nach E" geschoben, so daß nunmehr E E' E" = 1 1 1.
  • In Fig. 10 ist der Zustand des Datenkompressors 1 nach Beendigung der dritten Periode, also am Anfang der vierten Periode, dargestellt. Während der dritten Periode sind gemäß Fig. 5 weitere sieben Bit mit Wert Null, also wiederum "Grund", in das Schieberegister 15 eingelaufen. In gleicher Weise wie in der vorigen Periode erfolgt kein Laden in den Zähler 16 im Takt 1, dafür wird über die Verbindung der CP-Ausgänge 61 und 62 des Kennwertregisters 57 mit dem Ausgang 47 des Schieberegisters 40 K" = 1, so daß K' K" = 1 1. Dies zeigt an, daß in zwei aufeinanderfolgenden Perioden jeweils übereinstimmende Bit festgestellt wurden.
  • Damit liegt der Ausgang des NAND-Gliedes 84 auf Pegel Null, so daß im Takt 2 kein Signal am Ausgang 89 erscheint und damit die Adresse des Speichers nicht geändert wird. Da im Takt 3 alle Eingänge des AND-Gliedes 80 auf dem Pegel 1 liegen, erfolgt im Takt 3 ein Signal am Ausgang 82 und damit dem Zähleingang 27, so daß der in der vorigen Periode geladene Wert 01111110 um 1 auf 10111110 abwärts gezählt wird. Bei den Takten 4 bis 7 wird wiederum ein Schreibbefehl an den Schreibeingang 37 des Speichers 6 gegeben, so daß die ersten sieben Bit 1011111 des Zählers 16 zusammen mit dem dem im Speicher K' gespeicherten Wert entsprechenden Kennbit anstelle der vorher gespeicherten Werte in der zweiten Adresse des Speichers 6 gespeichert werden.
  • Fig. 11 zeigt den Zustand des Datenkompressors 1 nach Ablauf der in Fig. 5 dargestellten vierten Periode, also am Anfang der fünften Periode. Während der vierten Periode sind sieben Bit auf die Registerplätze 1 bis 7 des Schieberegisters 15 eingelaufen, die nicht alle untereinander gleich sind. Die neu eingelaufene Sieben-Bit-Folge wird damit als "Figur" bezeichnet. Damit stellt der Vergleicher 17 Ungleichheit fest und liefert ein Signal K = 1 am Ausgang 31. Damit wird im Takt 1 über das AND-Glied 75 und das OR-Glied 74 ein Ladesignal an den Ladeeingang 26 gegeben, so daß der Inhalt der ersten sieben Registerplätze des Schieberegisters 15 im Takt 1 auf die ersten sieben Speicherplätze des Zählers 16 geladen wird und daraufhin die nächsten ankommenden Daten in das Schieberegister 15 einlaufen können. Ferner wird über das NAND-Glied 66 der Inhalt des Speichers K' auf Null gesetzt, so daß K' K'! = 0 1. Damit wird der Ausgang des NAND-Gliedes 84 1 und im Takt 2 erscheint ein Signal mit Pegel 1 am Ausgang 89, so daß die Adresse des Speichers 6 geändert wird und der in der vierten Periode in der zweiten Adresse des Speichers gespeicherte Zählwert 10111111 nicht mehr überschrieben werden kann und damit gespeichert bleibt. Im Takt 3 erscheint weder ein Ladesignal am Ausgang 79 noch ein Zählsignal am Ausgang 82, so daß der im Takt 1 vom Schieberegister 15 in den Zähler 16 geladene Inhalt erhalten bleibt und in den Takten 4 bis 7 in die Adresse 3 des Speichers 6 geschrieben werden kann.
  • Fig. 12 zeigt den Zustand des Datenkompressors 1 nach Ablauf der in Fig. 5 dargestellten fünften Periode, also zu Beginn der sechsten Periode. Während der vorangehenden fünften Periode sind sieben Bits mit Wert Eins in die ersten sieben Registerplätze des Schieberegisters 15 eingelaufen. Das letzte Bit der vorangehenden Sieben-Bit-Folge, das ebenfalls eine Eins darstellte, befindet sich noch auf dem achten Registerplatz. Damit stellt der Vergleicher 17 Gleichheit aller Bits im Register 15 und damit "Grund" fest und erzeugt sofort, also innerhalb des ersten Taktes, K = O am Ausgang 31. Damit erscheint am Ausgang 79 ein Signal mit Pegel 0 und es kann im Takt 1 der Wert vom Register 15 nicht in den Zähler 16 geladen werden. Gleichzeitig wandert jedoch im Takt 1 wegen der Zusammenschaltung der Speicher K' und K " der Wert Null vom Speicher K' in den Speicher K'', so daß K' K" = 1 O. Damit erhält der Ausgang des NAND-Gliedes 84 einen hohen Pegel, so daß im Takt 2 am Ausgang 89 ein Signal zum Ändern der Adresse des Speichers 6 erscheint. Damit kann die in der vorigen Periode abgespeicherte Bit-Folge nicht mehr überschrieben werden und bleibt gespeichert. Im Takt 3 wird in gleicher Weise wie in der oben beschriebenen dritten Periode der Zähler 16 mit dem Wert 01111110 geladen und im Takt 4 bis 7 zusammen mit dem Kennbit als Wert 01111111 in die vierte Adresse des Speichers 6 geladen. Y Fig. 13 zeigt den Zustand des Datenkompressors 1 nach Ablauf von (4 + 126) Perioden, also am Anfang der (5 + 126)ten Periode.
  • Während der vorangehenden 7-2 = 126 Perioden liefen, wie in Fig. 5 dargestellt ist, jeweils Sieben-Bit-Folgen in das Schieberegister 15 ein, deren Bits alle gleich waren. Daher wurde in jeder Periode in der oben im Zusammenhang mit der dritten Periode beschriebenen Weise der Zählerstand des Zählers 16 um 1 reduziert, so daß der Zähler 16 nunmehr den Inhalt 00000000 besitzt. Der Zähler 16 hat daher am Ende der vorangehenden Periode am Ausgang 29 ein Signal abgegeben, das den Nullstand anliegt. Dieser Zählerstand wird nun zusammen mit dem Kennbit 1 in den Speicher 6 übernommen, um ein Weiterzählen zum Anfangswert 11111111 und damit eine Verfälschung des Zählerergebnisses zu verhindern. Zu diesem Zweck wird das Signal vom Ausgang 29 dem D-Eingang 63 des Nullwertregisters 56 zugeführt und setzt den Inhalt dieses Registers auf Null. Dadurch wird über das AND-Glied 78 der Wert K" = 0 simuliert und der Ausgang des NAND-Gliedes 84 erhält den Pegel 1, so daß im Takt 2 ein Signal mit Pegel 1 am Ausgang 89 erscheint und die Adresse des Speichers 6 geändert wird. Damit kann der in den Speicher geschriebene Zählwert 00000001 nicht mehr überschrieben werden. Da die in der vorangehenden Periode in das Schieberegister 15 eingelaufenen Bits ebenfalls untereinander und mit dem letzten Bit der vorhergehenden Sieben-Bit-Folge gleich sind, stellt der Vergleicher 17 weiterhin Gleichheit fest, so daß über das NAND-Glied 66 weiterhin K'K'' = 1 1 vorliegt.
  • Damit liegt der Ausgang des AND-Gliedes 78 auf niedrigem Pegel, der über den Inverter 77 auf Pegel 1 angehoben wird. Daher kann im Takt 3 in gleicher Weise wie in der oben beschriebenen dritten Periode ein neuer Anfangszählerstand 01111110 in den Zähler 16 geladen werden, der zusammen mit dem Inhalt des Speichers K' = 1 während der Takte 4 bis 7 in der nächsten Adresse des Speichers 6 abgespeichert wird.
  • Den Zustand des Datenkompressors 1 zu Beginn der folgenden, (5 + 126 + l)ten Periode zeigt Fig. 14. Zu Beginn dieser Periode wurde, wie aus Fig. 5 ersichtlich ist, am Eingang 12 das "Aus"-Signal erhalten. Damit laufen keine weiteren Bits mehr in das Schieberegister 15 ein und der Stand des Zählers 16 ist gegenüber der vorangehenden Periode unverändert. Der Taktgeber 39 läuft jedoch trotz des "Aus"-Signals weiter, da der zweite Eingang des OR-Gliedes 42 wegen E" = 1 noch auf Pegel 1 liegt.
  • Damit läuft auch der vom Schieberegister 40 gebildete Ringzähler weiter und setzt im Takt 5 den Inhalt des Speichers E des Start-Stop-Registers 55 auf Null.
  • Zur Anzeige des Endes des Datenstromes muß nun im Speicher eine Marke gesetzt werden. Diese Marke besteht aus einem Stopbyte mit der Bit-Folge 11111111. Diese Bit-Folge tritt sonst im Speicher nicht auf, da bei Abspeichern einer Sieben-Bit-Folge ungleicher Bits das Kenn-Bit 0 abgespeichert wird und bei Abspeichern von aufeinanderfolgenden Sieben-Bit-Folgen gleicher Bits ein Zählerstand abgespeichert wird, der mindestens eine Null aufweist. Daher ist das Stopbyte eindeutig als Stopmarke erkennbar.
  • Das Erzeugen des Stopbytes erfolgt in der folgenden Weise: Wie in Fig. 15 gezeigt, wird im Takt 1 der nächsten, (5 + 126 + 2)ten Periode wegen E E' = 0 1 der Ausgang des AND-Gliedes 70 zu Null und damit der Pegel am ersten Eingang 68 des NAND-Gliedes 66 wegen des Inverters 69 auf 1 gesetzt. Der zweite Eingang 67 des NAND-Gliedes 66 liegt wegen K = O am Ausgang 31 des Vergleichers 17 auf Null. Damit liegt der Ausgang des NAND-Gliedes 66 auf Pegel 1 und im Takt 1 wird im Speicher K' der Wert 1 gespeichert, so daß am Q-Ausgang des Speichers K' und an dem für das Kenn-Bit reservierten achten Dateneingang 36 des Speichers 6 ein Signal mit Pegel 1 anliegt. Gleichzeitig wird wegen E E' = 0 1 das open-collector-NAND-Glied 33 über das NAND-Glied 81 so gesteuert, daß der Ausgang des ersten Registerplatzes 21 und damit der Wert des ersten Speicherplatzes 24 des Speichers 16 während der Takte 2 und 3 auf Pegel 1 gesetzt wird.
  • Mit dem im Takt 3 erzeugten Ladesignal am Ladeeingang 26 wird damit in den Speicher 16 der Inhalt 11111110 geladen. Die ersten sieben Bit dieses Speicherinhalts werden während der Takte 4 bis 7 auf die ersten sieben Speicherplätze der vorliegenden Adresse des Speichers 6 zusammen mit dem Kenn-Bit 1 auf dem achten Speicherplatz eingeschrieben, so daß dort nunmehr das Stopbyte 11111111 gespeichert ist. Im Takt 5 wird ferner die Null vom Speicher E zum Speicher E' transportiert, so daß dann E E' = 0 0.
  • Das Ausschalten des Taktgebers 39 erfolgt in der nächsten Periode des Ringzählers 40. Der Zustand des Datenkompressors 1 zu Beginn dieser Periode ist in Fig. 16 dargestellt. Da im Takt 1 E' E" = 0 1 vorliegt, wird im Takt 2 am Ausgang 89 ein Signal mit hohem Pegel erzeugt und damit die Adresse des Speichers geändert, so daß die Dateneingänge 36 mit einer neuen Adresse verbunden werden und damit das Stopbyte nicht mehr überschrieben werden kann. Die mit Takt 3 in den Zähler 16 gelangende und während der Takte 4 bis 7 im Speicher 6 abgespeicherte Information wird durch neue Information, die nach dem nächsten "Ein"-Signal eintrifft, überschrieben werden. Im Takt 5 wird der Inhalt Null vom Speicher E' in den Speicher E" übertragen, so daß am Q-Ausgang des Speichers E" ein Signal mit Pegel O erscheint und auch der zweite Eingang des OR-Gliedes 42 auf Null gesetzt wird. Damit fällt der Ausgang des OR-Gliedes auf Null und der Taktgeber 39 wird ausgeschaltet.
  • Wie anhand des in Fig. 16 gezeigten Inhalts des Speichers 6 ersichtlich ist, ist die gesamte, innerhalb der (5 + 126)ten Perioden à 7 Bit einlaufenden Information in fünf Adressen à 8 Bit des Speichers 6 gespeichert. Damit sind 917 Bits des einlaufenden Datenstroms in 40 Speicherplätzen abgespeichert, was etwa eine Reduktionsrate von 23:1 ergibt. Dies wird dadurch erreicht, daß immer dann, wenn die einzelnen Bits eine Anzahl aufeinanderfolgender Sieben-Bit-Folgen alle untereinander und mit dem letzten Bit einer vorangehenden Bit-Folge gleich sind (sogenannter "Grund"), nicht die einzelnen Bits dieser Bit-Folgen, sondern der am Ende dieser Bit-Folgen erhaltene Zählerstand abgespeichert wird. Sind die Bits einer Bit-Folge untereinander verschieden (eine sogenannte "Figur"), so werden diese Bits in üblicher Weise abgespeichert. Zur Unterscheidung der "Grundbytes" von den "Figurbytes" im Speicher ist es lediglich erforderlich, zu jeder Sieben-Bit-Folge zusätzlich ein weiteres Bit (das sogenannte "Kenn-Bit") abzuspeichern, das angibt, ob es sich um "Grund" oder "Figur" handelt.
  • Der für dieses zusätzliche Bit benötigte Speicherplatz ist jedoch dann ohne Bedeutung, wenn eine größere Anzahl von "Grund" auftritt, so daß die Speicherplatzersparnis aufgrund dieses "Grunds" den wegen der "Kenn-Bits" zusätzlich benötigten Speicherplatz bei weitem übertrifft.
  • Die Funktionsweise des Datenexpanders 2 soll anhand des Schaltbildes in Fig. 4 und der schematischen Informationsdarstellung von Fig. 5 erläutert werden. Dabei liegt im Speicher die in Fig. 16 dargestellte Information vor.
  • Vor Anliegen des "Ein"-Signals am Eingang 13 ist im ersten Speicherplatz des Schieberegisters bzw. Ringzählers 40 der Wert 1 und in den ütrigen Speicherplätzen jeweils der Wert 0 gespeichert. Die Register 100 und 102 sind ebenfalls auf Wert 1. Das Register 101 und das Adressensteuerregister 103 befinden sich auf Wert 0.
  • Nach Anliegen des "Ein"-Signals am Eingang 13 wird der Taktgeber 39 eingeschaltet, der in gleicher Weise wie beim Datenkompressor das Schieberegister 15, den Zähler 16 und den Ringzähler 40 taktet. Im Takt 2 fällt der Ausgang des NOR-Gliedes 114 auf Null und damit bleibt das Signal am Adresseneingang 38 des Speichers 10 auf hohem Pegel, so daß die Adresse noch nicht geändert wird. In den Takten 4 bis 7 der ersten Periode wird der Inhalt von Adresse 1 des Speichers 10 aus dem Speicher 10 gelesen und an den Datenausgängen 95 zur Verfügung gestellt.
  • In der zweiten Periode ist zu Beginn von Takt 1 der am Ende von Takt 7 aus dem Speicher gelesene Inhalt wegen der Gatterlaufzeiten gerade noch verfügbar. Das Bit an der achten Stelle der Datenausgänge 95, das dem achten Bit der ersten Adresse entspricht, beträgt Null und setzt damit über den D-Eingang des Registers 101 dieses auf K' = O. Durch Kenn-Bit = 0 wird der Ladeeingang 98 des Schieberegisters 15 auf hohen Pegel gesetzt und die ersten sieben Bit an den ersten sieben Stellen der Datenausgänge 95 parallel in das Schieberegister 15 geladen.
  • Wegen K' = 0 werden ab dem nächsten Takt der clock (die bisher Nullen schob) diese sieben geladenen Bits seriell zum Ausgang 99 und über diesen zum Ausgang 14 des Expanders geschoben. Während des Ladevorgangs wird über das NOR-Glied 116 der Preset-Eingang des Adressensteuerregisters 103 auf Null gesetzt und damit die erste Adressenänderung von Adresse 1 auf Adresse 2 vorbereitet. Bei Takt 2 wird über das NOR-Glied 114 ein clear-Signal am Adressensteuerregister 103 angelegt und damit der Ausgang 5 von A wieder auf 1 gesetzt.
  • Durch die Flanke von Q = O zu Q = 1 am Q-Ausgang des Adressensteuerregisters 103 erfolgt die Adressenänderung im Speicher 10. Im Takt 4 bis 7 wird daraufhin der Inhalt von Adresse 2 gelesen und an den Datenausgängen 95 zur Verfügung gestellt.
  • Damit erscheint zu Beginn der dritten Periode am D-Eingang des Kennwertregisters 101 das Kenn-Bit 1 der zweiten Adresse. Damit folgt K' = 1. Damit bleibt das letzte Bit der aus dem Schieberegister 15 geschobenen ersten sieben Bit am siebten Registerplatz des Schieberegisters 15 stehen. Der Ausgang des AND-Gliedes 111 geht auf hohen Pegel und bewirkt das Laden der ersten sieben Bit der an den Datenausgängen 95 stehenden Daten der zweiten Adresse in den Zähler 16. Über das NOR-Glied 116 wird dadurch wiederum im Adressensteuerregister 103 die nächste Adressenänderung vorbereitet, die im Takt 2 in gleicher Weise wie in der zweiten Periode durchgeführt wird. Im Takt 3 geht der Ausgang des AND-Gliedes 113 auf hohen Pegel und bewirkt ein Aufwärtszählen des Zählers vom vorher geladenen Inhalt 10111111 zum Inhalt 01111111. Gleichzeitig wird über den Ausgang 49 zum CP-Eingang des Ladesperreregisters 102 ein Wert Null in das Ladesperreregister 102 geladen, wodurch der Ausgang Q des Ladesperreregisters 102 zu Null wird und damit über das AND-Glied 105 der Ausgang des AND-Gliedes 111 auf niedrigem Pegel gehalten wird und das weitere Laden verhindert wird, bis in einer späteren Periode bei Takt 3 der maximale Zählerstand des Zählers 16 erreicht wird. In den Takten 4 bis 7 wird wiederum der Inhalt der nächsten Adresse 3 an den Datenausgängen 95 zur Verfügung gestellt.
  • Zu Beginn der vierten Periode ist K' = 1 und der Ausgang Q des Ladesperreregisters 102 liegt auf Null. Damit wird bei Takt 1 weder parallel in das Schieberegister 15 noch in den Zähler 16 geladen. Ohne ein Signal mit Pegel 1 am Ausgang des AND- Gliedes 110 oder des AND-Gliedes 111 kann jedoch die Adressenänderung des Speichers 10 über das Adressensteuerregister 103 nicht vorbereitet und damit die Adresse des Speichers 10 auch nicht geändert werden. Im Takt 3 wird der Zähleingang des Zählers 16 auf hohen Pegel gesetzt und der Zähler 16 zählt damit um 1 aufwärts auf den neuen Zählerstand 11111111. Damit ist der maximale Zählerstand erreicht und am Ausgang 96 wird ein Signal ausgegeben, das im Takt 5 über das NAND-Glied 107 und das AND-Glied 106 das Ladesperreregister 102 rücksetzt und damit die Ladesperre aufhebt. In den Takten 4 bis 7 wird in gleicher Weise wie in den vorangehenden Takten der Inhalt der vorliegenden Adresse, also wiederum der Adresse 3, an den Datenausgängen 95 zur Verfügung gestellt.
  • Während der dritten und vierten Periode ist der Ausgang des AND-Gliedes 109 stets auf niedrigem Pegel, so daß die Daten im Schieberegister 15 nicht geschoben werden und bei jedem Taktsignal des Taktgebers 39 vom Schieberegister 15 ein Bit ausgegeben wird, das dem am siebten Registerplatz des Schieberegisters 15 stehenden Bit entspricht. Dieses Bit ist das letzte des in der zweiten Periode aus dem Register 15 geschobenen Figurbytes, nämlich ein Null-Bit.
  • Zu Beginn der fünften Periode wurde beim Übergang von Takt 7 der vierten Periode zum Takt 1 der fünften Periode der Inhalt der ersten sieben Bit der Adresse 3 parallel in das Schieberegister 15 geladen. Da das Bit an der achten Stelle der Adresse 3 (Kenn-Bit) Null ist, wird K' = 0 und die im Register 15 befindliche Bit-Folge wird seriell zum Datenausgang 99 geschoben, wobei auch das letzte Bit der vorhergehenden sieben Bit seinen Warteplatz an der letzten Stelle des Schieberegisters 15 verläßt. Mit dem Laden wird über das NOR-Glied 116 die Adressenänderung vorbereitet, die im Takt 2 wie oben durchgeführt wird. Im Takt 3 wird der Zähler 16 eingeschaltet und zählt um 1 aufwärts von 11111111 auf 00000000. Im Takt 5 erfolgt keine Setzung der Ladesperre 102, da das Zählerausgangssignal nicht mehr auf 11111111 bzw. 255 steht. In den Takten 4 bis 7 wird wie oben der Inhalt der neuen Adresse, d.h. nunmehr der Adresse 4, an den Datenausgängen 95 zur Verfügung gestellt.
  • Zu Beginn der sechsten Periode wird der Inhalt der ersten siebhen Bit der Adresse 4 in den Zähler 16 geladen, da das Kenn-Bit an der achten Stelle der Adresse 4 = 1 ist. Dadurch wird K' = 1 und damit das serielle Schieben des Schieberegisters 15 unterbrochen, so daß das letzte Bit des vorangehenden Figurbytes auf der siebten Stelle des Schieberegisters 15 stehen bleibt und jeweils bei den folgenden Taktsignalen des Taktgebers 39 ausgegeben wird. Über den Eingang 20 wurden Nullen nachgeschoben. Mit dem Laden wird wie oben die Adressenänderung vorbhereitet, die im Takt 2 in gleicher Weise wie. oben beschrieben durchgeführt wird. Im Takt 3 wird der Zähler .16 vom zu Beginn der sechsten Periode geladenen Zählerstand 00000001 aufwärts zum Zählerstand 10000001 erhöht. Im Takt 5 wird wegen K' = 1 das Ladesperreregister 102 eingeschaltet und in den Takten 4 bis 7 wird wie oben beschrieben der Inhalt der nachfolgenden fünften Adresse an den Datenausgängen 95 des Speichers 10 zur Verfügung gestellt.
  • In den nachfolgenden 125 Perioden wird vom Schieberegister 15 bei jedem Takt des Taktgebers 39 ein Bit ausgegeben, das dem auf dem siebten Registerplatz des Schieberegisters 15 stehenden letzten Figur-Bit des letzten vorangehenden Figurbytes entsprechen. Bei jeder Periode wird der Zählerstand des Zählers 16 um 1 erhöht. Da nicht mehr geladen wird, wird auch die Adresse im Takt 2 nicht geändert.
  • In der nachfolgenden (6 + 126)ten Periode wird im Takt 3 der Zählerstand 11111111 erreicht. Damit wird am Ausgang 96 des Zählers 16 ein Signal erzeugt und bei Takt 5 die Ladesperre 102 abgeschaltet. Da jedoch dieser Zählerstand erst im Takt 3 erreicht wird, war der Zählerstand beim Takt 2 noch ungleich 11111111 bzw. 255. In der darauffolgenden (6 + 127)ten Periode wird zu Beginn wegen des Kenn-Bits = 1 in Adresse 5 und der vorher aufgehobenen Ladesperre der Inhalt der Adresse 5, nämlich 11111111, in den Zähler geladen, wodurch erstmals bereits zum Takt 2 vom Zähler 16 das Zählermaximalsignal 255 am Ausgang 96 abgegeben wird. Dadurch wird das Nachladeregister 100 umgeschaltet und der Q-Ausgang (STOP) wird zu Null. Damit werden die Ausgänge der AND-Glieder 109, 110, 111 und 113 auf Null gesetzt und damit das serielle Schieben und parallele Laden des Schieberegisters 15 sowie das Laden und Zählen des Zählers 16 abgeschaltet. Als Folge davon kann auch die Adressenänderung nicht mehr durchgeführt werden. Der Taktgeber 39 und der Ringzähler 40 werden nicht abgeschaltet, falls sie für eine Mehrzahl von Datenexpandern 2 oder auch Datenkompressoren 1 gemeinsam verwendet werden.
  • Das Prinzip des Datenexpanders 2 besteht also darin, daß bei Erfassen eines Kenn-Bits mit dem Wert 0 auf dem achten Platz der Datenausgänge 95 des Speichers 10 die Information von den ersten sieben Plätzen der Ausgänge 95 parallel zu einem Register (Schieberegister 15) geladen werden, das diese Daten seriell zum Datenausgang 14 liefert, und daß bei Erfassen eines Kenn-Bits mit dem Wert 1 der Inhalt der ersten sieben Plätze der Datenausgänge 95 des Speichers 10 als Zählerstand interpretiert und in einen Zähler (Zähler 16) geladen wird, von dem die Daten nicht zum Datenausgang 14 geliefert werden. Vielmehr wird der Zähler für jede Periode um 1 weitergezählt und dabei vom Register (Schieberegister 15) sieben Bit ausgegeben, die jeweils gleich dem Bit sind, das beim letzten vorangehenden parallelen Laden der Daten vom Speicher 10 zum Register (Schieberegister 15) auf den ersten Registerplatz 21 gelangte.
  • Bei Erfassen eines "Stop"-Bits (= 11111111) wird der Datenexpander 2 abgeschaltet. Der Expander besitzt also eine "Weiche", die die Daten von den Datenausgängen 95 des Speichers 10 in Abhängigkeit vom Kenn-Bit entweder zum Register und davon zum Ausgang oder zum Zähler leitet. Die Kenn-Bits werden ab der Weiche nicht mehr benötigt und aus dem Informationsfluß entfernt. Ebenso enthält der Datenkompressor 1 im Prinzip eine Ausgangsweiche,die in Abhängigkeit vom Ausgangssignal des Vergleichers 17 entweder das "Figurbyte" mit Kenn-Bit oder den Zählerstand + Kenn-Bit weitergibt.
  • Die Länge der"Bytes"bzw. Bit-Folgen in einer Periode kann selbstverständlich jeden beliebigen Wert annehmen. In diesem Fall ist lediglich die Größe des Registers 15, des Zählers 16 und des Speichers 6 bzw. 10 der gewählten Länge der Bit-Folge anzupassen. Ebenfalls kann eine beliebige Zahl von Kenn-Bits gewählt werden. Mit mehr Kenn-Bits können beispielsweise auch "Farben" der durch die "Grundbytes" gebildeten Zwischenräume dargestellt werden, beispielsweise mit zwei Kenn-Bits vier "Farbtöne". In einem anderen Fall können zwei Kenn-Bits auch ein ergänzendes Byte kennzeichnen, das mit f-Bits eine von 2'verschiedenen Farben eines Bildteiles kennzeichnet.
  • Ferner kann das Verfahren grundsätzlich nicht nur eindimensional, sondern nach einer Drehung des im Speicher 6 bzw. 10 enthaltenen Datenfeldes um 90° ebenfalls auf die Spalten angewendet werden. Damit ist durch eine derartige n-dimensionale Anwendung eine weitere Datenverdichtung möglich.
  • Die so erzielte Verringerung der Datenmenge kann bei der Abspeicherung der Daten eine erhebliche Einsparung an Speicherplatz, beispielsweise beim Abspeichern von Matrizen mit unbesetzten Feldern auf Magnetplatten, erzielt werden, was auch die Zugriffsgeschwindigkeit entsprechend erhöht. Praktisch wird dabei eine Reduzierung der Daten bzw. Erhöhung der Zugriffsgeschwindigkeit um mindestens den Faktor 10 erreicht.
  • Bei der Übertragung der verdichteten Daten entsteht darüber hinaus eine Einsparung an Übertragungszeit. Dabei können in den eingesparten "Lücken" zwischen den zu übertragenden Daten beispielsweise Duplikate der Daten zur Erhöhung der Übertragungssicherheit, Teile anderer Sendungen im Multiplexverfahren zur besseren Kanal ausnützung oder in Ergänzung beispielsweise auch Farbinformation übertragen werden.

Claims (6)

  1. Datenkompressions- und Datenexpandiereinrichtung zum Übertragen bzw. Speichern von Daten PATENTANSPRÜCHE 1. Datenkompressionseinrichtung zum Übertragen von Daten mit einem Register zur Aufnahme von einer Informationseinheit von Eingangsdaten, einer Wandlereinrichtung zum Umformen der Daten und einem Ausgang für die umgeformten Daten, und einer Steuerung, dadurch gekennzeichnet, daß ein mit dem Ausgang des Registers verbundener Komparator und ein von diesem angesteuerter Zähler vorgesehen sind, daß der Komparator auf Gleichheit aller Daten der Informationseinheit prüft, und die Steuerung so ausgebildet ist, daß bei Nichtgleichheit der Inhalt des Registers dem Ausgang zugeführt und bei Gleichheit ein Kennbit erzeugt und der Zähler um Eins weitergeschaltet wird, und der Zählerstand zusammen mit dem Kennbit dem Ausgang zugeführt wird, wenn zwei aufeinanderfolgende Informationseinheiten nicht übereinstimmen.
  2. 2. Datenexpandiereinrichtung zum Übertragen von über einen Eingang eingegebener Daten mit einem Register zur Aufnahme von einer Informationseinheit von Daten, einer Wandlereinrichtung zum Umformen der Daten und einem Ausgang für die umgeformten Daten, und einer Steuerung, dadurch gekennzeichnet, daß ein mit dem Eingang verbundener Zähler vorgesehen ist und die Steuerung so ausgebildet ist, daß eine über den Eingang eingegebene Informationseinheit, die kein entsprechendes Kennbit aufweist, dem Ausgang zugeführt wird, und bei Auftreten eines entsprechenden Kennbits die Informationseinheit in den Zähler gegeben, und so oft dem Ausgang unter gleichzeitigem Weiterschalten des Zählers um jeweils Eins eine Informationseinheit, deren Daten untereinander alle gleich sind und einen yorbestimmten Wert haben, zugeführt wird, bis der Zählerstand einen vorbestimmten Zählwert annimmt.
  3. 3. Datenexpandiereinrichtung nach Anspruch 2, dadurch gekennzeichnet, daß als vorbestimmter Wert der Wert der letzten Dateneinheit der vorangehenden Informationseinheit gewählt ist.
  4. 4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Steuerung einen Taktgeber (39) aufweist, dessen Ausgang (43) mit einem Eingang (22) des Registers verbunden ist und eine Verschiebung der Daten im Register taktet.
  5. 5. Datenübertragungssystem mit einem eingangsseitig angeordneten Datenwandler, einem empfangsseitigen Datenwandler und einer Ubertragungsstrecke dazwischen, dadurch gekennzeichnet, daß der eingangsseitige Wandler eine Datenkompressionseinrichtung nach einem der Ansprüche 1, 3 oder 4 und der Datenwandler eine Datenexpandiereinrichtung nach einem der Ansprüche 2, 3 oder 4 ist.
  6. 6. Datenübertragungssystem mit einem einen Eingang und einen Ausgang aufweisenden Datenspeicher, dadurch gekennzeichnet, daß eingangsseitig eine Datenkompressionseinrichtung nach einem der Ansprüche 1, 3 oder 4 und ausgangsseitig eine Datenexpandiereinrichtung nach einem der Ansprüche 2, 3 oder 4 vorgesehen ist.
DE19843432837 1984-09-06 1984-09-06 Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten Ceased DE3432837A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE19843432837 DE3432837A1 (de) 1984-09-06 1984-09-06 Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten
EP19850904249 EP0193553A1 (de) 1984-09-06 1985-09-05 Datenkompressions- und datenexpandiereinrichtung zum übertragen bzw. speichern von daten
PCT/EP1985/000450 WO1986001660A1 (en) 1984-09-06 1985-09-05 Data compression and expansion system for the transfer or storage of data
AU47747/85A AU4774785A (en) 1984-09-06 1985-09-05 Datenkompressions- und datenexpandiereinrichtung zum ubertragen bzw. speichern von daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19843432837 DE3432837A1 (de) 1984-09-06 1984-09-06 Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten

Publications (1)

Publication Number Publication Date
DE3432837A1 true DE3432837A1 (de) 1986-03-06

Family

ID=6244819

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843432837 Ceased DE3432837A1 (de) 1984-09-06 1984-09-06 Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten

Country Status (4)

Country Link
EP (1) EP0193553A1 (de)
AU (1) AU4774785A (de)
DE (1) DE3432837A1 (de)
WO (1) WO1986001660A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4826157A (en) * 1986-12-10 1989-05-02 Fitzpatrick Patrick C Physical exercising apparatus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2826122B2 (ja) * 1988-09-22 1998-11-18 株式会社リコー データ端末装置およびその伝送制御方法
AU624205B2 (en) * 1989-01-23 1992-06-04 General Electric Capital Corporation Variable length string matcher
DE19921298A1 (de) 1999-05-07 2000-11-16 Bosch Gmbh Robert Verfahren zur Komprimierung und Dekomprimierung von Daten und Vorrichtung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2244163A1 (de) * 1971-09-08 1973-03-15 Honeywell Inf Systems Verfahren zur verdichtung bzw. dehnung von dateninformationszeichen in einem datenverarbeitungssystem
DE2723523A1 (de) * 1976-06-30 1978-01-05 Ibm Kompression und dekompression von gespeicherten digitaldaten

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2889671A (en) * 1971-05-14 1972-11-16 Encoding technique for digitised facsimile and data transmissions
GB1471419A (en) * 1973-04-12 1977-04-27 Kokusai Denshin Denwa Co Ltd Signal conversion system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2244163A1 (de) * 1971-09-08 1973-03-15 Honeywell Inf Systems Verfahren zur verdichtung bzw. dehnung von dateninformationszeichen in einem datenverarbeitungssystem
DE2723523A1 (de) * 1976-06-30 1978-01-05 Ibm Kompression und dekompression von gespeicherten digitaldaten

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4826157A (en) * 1986-12-10 1989-05-02 Fitzpatrick Patrick C Physical exercising apparatus

Also Published As

Publication number Publication date
WO1986001660A1 (en) 1986-03-13
AU4774785A (en) 1986-03-24
EP0193553A1 (de) 1986-09-10

Similar Documents

Publication Publication Date Title
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE3038639C2 (de) Anordnung zur Datenübertragung zwischen einer Zentraleinheit und n E/A-Einheiten
DE2723523A1 (de) Kompression und dekompression von gespeicherten digitaldaten
DE2139731A1 (de) Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher
DE2918223A1 (de) Schnittstelleneinrichtung zum einsatz zwischen einem digitalrechner und einem speicher
DE2519381B2 (de) Verfahren und Informationsverarbeitungseinrichtung zum Komprimieren von aus mehreren seriell angeordneten Aufzeichnungen bestehender Information
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE1524136A1 (de) Parallel-Serien- bzw. Serien-Parallelwandler
DE3148099C2 (de) Anordnung zum Erkennen einer Digitalfolge
DE2551239B2 (de) Datenverarbeitungsanlage
DE2210426C2 (de) Verfahren zur vorranggesteuerten Auswahl einer von mehreren Funktions einheiten zur Anschaltung an eine ihnen gemeinsam zugeordnete Einrichtung in Datenverarbeitungsanlagen und Schaltung zur Durchführung des Verfahrens
DE2703559A1 (de) Rechnersystem
DE3639609C2 (de)
DE2514388B2 (de) Schaltungsanordnung für einen Digital-Analog-Umsetzer
EP0333273A2 (de) Steuersignalgenerator für die Verarbeitung eines Videosignales
DE2321200A1 (de) Einrichtung zur durchfuehrung boolescher verknuepfungen
DE3432837A1 (de) Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten
DE2062164A1 (de) Verfahren zur Erzeugung eines mehr stufigen Index für gespeicherte Daten einheiten
DE2146108A1 (de) Synchrone Pufferanordnung
DE3806428C2 (de) Verfahren und Schaltungsanordnung zum Ermitteln einer in einem Serienbitstrom enthaltenen Bitkombination
DE2133729A1 (de) Anordnung mit einer Kaskadenschaltung einer Anzahl von Speicherelementen
DE19645057A1 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
DE19531635C1 (de) Ordnungsverfahren für Zugehörigkeitsfunktionswerte lingustischer Eingangswerte in einem Fuzzy-Logic-Prozessor und Anordnungen zu deren Durchführung
DE2318275A1 (de) Anordnung zur uebertragung von informationsbits zwischen einer gruppe von arhythmischen kanaelen und einem synchronen kanal
DE3417816A1 (de) Programmierbares schaltnetz

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection