DE3606869C2 - Vorrichtung zur Datenkompression - Google Patents

Vorrichtung zur Datenkompression

Info

Publication number
DE3606869C2
DE3606869C2 DE3606869A DE3606869A DE3606869C2 DE 3606869 C2 DE3606869 C2 DE 3606869C2 DE 3606869 A DE3606869 A DE 3606869A DE 3606869 A DE3606869 A DE 3606869A DE 3606869 C2 DE3606869 C2 DE 3606869C2
Authority
DE
Germany
Prior art keywords
bytes
data
memory
sequence
output
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 - Lifetime
Application number
DE3606869A
Other languages
English (en)
Other versions
DE3606869A1 (de
Inventor
John Rigby Waterworth
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.)
STAC ELECTRONICS, INC., CARLSBAD, CALIF., US
Original Assignee
Stac Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Stac Electronics Inc filed Critical Stac Electronics Inc
Publication of DE3606869A1 publication Critical patent/DE3606869A1/de
Application granted granted Critical
Publication of DE3606869C2 publication Critical patent/DE3606869C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

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

Description

Die Erfindung betrifft eine Vorrichtung zur Datenkompression, d. h. ein System zum Verdichten oder Komprimieren von Daten, die entweder gespeichert oder an eine andere Stelle übertragen werden zur späteren Expansion.
Daten werden normalerweise nicht so gehandhabt, daß jeweils ein Bit zu einem Zeitpunkt bearbeitet wird, sondern es wird ein binärer Code fixierter Länge benutzt, der als Byte bezeichnet wird. Gewöhnlich um­ faßt ein Byte acht Bits, dies muß aber nicht notwendigerweise so sein und in der nachfolgenden Beschreibung wird diese Bezeichnung allgemein so verwendet, daß sie eine Folge von Bits jeder geeigneten Länge be­ deuten soll.
Daten-Kompressionstechniken werden benutzt, um die Menge der zu speichernden oder zu übertragenden Daten zu reduzieren, entweder um die erforderliche Speicherkapazität oder die Übertragungszeit zu verringern. In jedem Fall ist es natürlich notwendig, die kompri­ mierten Daten wieder zu expandieren oder auseinanderzuziehen, um die ursprünglichen Daten wieder herzustellen.
Aus der DE-26 25 527 A1 ist ein Verfahren zur Kompression re­ dundanter digitaler Quellsignale bekannt, das insbesondere eine Datenkompression durch Ausnutzung von Signalpausen an­ strebt. Signalpausen sind durch gleichbleibende Datensignale gekennzeichnet, die zur Komprimierung von Daten in ihrer Wie­ derholhäufigkeit gekennzeichnet werden können.
Es sind Datenkompressions- und expansionsanordnungen bekannt, und bei einer bekannten Methode wird die nächstfolgende Sequenz von zu be­ handelnden Bytes geprüft, um festzustellen, ob diese Folge bereits verarbeitet worden ist (vgl. US-4,494,150). Einige Systeme haben einen Speicher mit einer Bibliothek oder Programmothek der meistverwendeten Sequenzen. Im Falle von Text-Dateien sind diese Sequenzen die üblicherweise benutzten Worte. Irgendein Wort in der Datei, das in der Bibliothek enthalten ist, kann dann durch die Adresse in der Bibliothek, wo das Wort gefunden werden kann, ersetzt werden, und es ist diese Adresse, die dann gespeichert oder übertragen wird. Um die ursprünglichen Daten wiederherzustellen, ist eine identische Bibliothek oder Programmothek erforderlich, um die Adresse wieder in das ursprüngliche Wort bzw. den ursprünglichen Befehl, der auszuführen ist, umzuformen bzw. zu expandieren. Einige Systeme arbeiten mit dieser Technik unter Verwendung einer festen Bibliothek und einer weiteren variablen Bibliothek, in welche Worte oder Befehle eingegeben werden, wie sie auftreten oder erscheinen, wenn sie nicht bereits in der festen Bibliothek enthalten sind. Wenn die variable Bibliothek voll ist, werden die am wenigsten benutzten Worte in ihr gelöscht, wenn neue Worte oder Befehle ankommen.
Solch ein System ermöglicht bereits eine Text-Kompression, der Begrenzungs­ faktor ist aber die Größe der Bibliothek. Ferner wird jedes Wort separat betrachtet, so daß, obwohl jedes Wort auf eine Bibliothek-Adresse komprimiert werden kann, die potentielle Kompression, die durch wiederholte Wortsequenzen gegeben ist, nicht realisiert wird.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenkompressionssystem zu schaffen, das die bisherige Kompression von Daten verbessert.
Nach der Erfindung ist hierzu eine Vorrichtung zum Komprimieren von Daten vorgesehen, die einen Eingangsspeicher hat zum Empfang und Speichern einer Mehrzahl von Bytes aus nicht-komprimierten Daten von einer äußeren Daten­ quelle, eine Datenverarbeitungseinrichtung zum Verarbeiten sukzessiver Bytes von Daten aus dem Eingangsspeicher, wobei die Datenverarbeitungs­ einrichtung eine Schaltung umfaßt zum Prüfen, ob eine Folge aufein­ anderfolgender Bytes, die zu bearbeiten sind, identisch ist mit einer Folge von Bytes, die bereits verarbeitet worden ist, einer Ausgangs­ schaltung, um an ein Übertragungsmedium eine Darstellung von jedem Daten- Byte zu übertragen, das nicht einen Teil einer solchen identischen Sequenz bildet, ferner mit einer Kodierschaltung, die auf die Identifizierung einer solchen Sequenz anspricht, um an das Übertragungsmedium ein Identifi­ zierungssignal zu geben, welches sowohl den Ort der vorherigen Erscheinung der Sequenz von Bytes im Eingangsspeicher als auch die Anzahl von Bytes identifiziert, die in der Sequenz enthalten sind.
Nach der Erfindung ist ferner ein Datenkompressionssystem vorgesehen, das eine Empfangseinrichtung aufweist zum Empfang von komprimierten Daten von dem Übertragungsmedium, eine Dekodierschaltung zur Bestimmung, ob die empfangenen komprimierten Daten ein Daten-Byte oder ein Identifizierungs­ signal darstellen, einen Ausgangsspeicher zum Speichern jedes Daten-Bytes von der Kodierschaltung, sowie eine Kopierschaltung zum Kopieren in den Ausgangsspeicher jede Sequenz von Bytes, die durch das Identifizierungs­ signal identifiziert worden ist, wobei die im Ausgangsspeicher enthaltenen Daten einen Wiederaufbau der Daten darstellen, die zu einem früheren Zeit­ punkt in den Eingangsspeicher gegeben worden sind.
Wie oben erwähnt, wird die Bezeichnung "Byte" benutzt, um eine Gruppe von einer erforderlichen Anzahl von Bits zu bezeichnen, die nicht notwendiger­ weise acht sein müssen.
Die Bezeichnung "Übertragungsmedium" wird hier benutzt, um entweder einen Verbindungskanal oder Übertragungskanal zu bezeichnen, über welchen komprimierte Daten von einer ersten Station zum Empfang auf eine zweite Station übertragen werden können, oder zur Bezeichnung eines Speicher­ mediums, an das die komprimierten Daten für eine spätere Wiedererlangung oder Wiederverwendung gelegt werden können. Die Art eines solchen Verbindungs­ kanals oder die Art des Speichermediums ist nicht relevant für die Erfindung.
Bei der Erfindung wird zunächst der verwendete Algorithmus vereinfacht, so daß die Hardware einfacher gestaltet werden kann oder die Software kann schneller gemacht werden. Ferner wird der Algorithmus daten-transparent gemacht, d. h. relativ unabhängig von der Form, welche die Daten haben. Die Erfindung hängt somit nicht davon ab, daß die Daten irgendeine besondere Form haben oder eine besondere Sprache, oder auch von der Verwendung eines besonderen Computers.
Eine beispielsweise Ausführungsform der Erfindung wird nachfolgend anhand der Zeichnung beschrieben, in der
Fig. 1 schematisch ein Blockdiagramm der Hauptelemente der erfindungs­ gemäßen Vorrichtung zeigt.
Fig. 2 zeigt ein Blockdiagramm einer Ausführungsform eines Teils der Vor­ richtung nach Fig. 1.
Fig. 3 und 4 zeigen Fließdiagramme mit der Darstellung der Arbeitsweise der Schaltung nach Fig. 2.
Fig. 5 zeigt in einem Blockdiagramm eine Ausführungsform eines anderen Teils der Vorrichtung nach Fig. 1 und
Fig. 6 zeigt ein Fließdiagramm mit der Darstellung der Arbeitsweise der Schaltung nach Fig. 5.
Fig. 1 zeigt ein vereinfachtes Blockdiagramm eines Daten-Kompressionssystems. Ein Eingangsspeicher 10 ist vorgesehen, an den Daten, die komprimiert werden sollen, gelegt werden können, und die Daten werden in dem Speicher gespeichert, bis die Komprimierung dieser Daten fertig ist. Vom Eingangsspeicher 10 werden die Daten an einen Kompressions-Prozessor 11 gelegt, wo sie verarbeitet und an ein Übertragungsmedium 12 gelegt werden. Von dem Übertragungsmedium 12 werden die komprimierten Daten an einen Expansions-Prozessor 13 gegeben, wo die Daten verarbeitet werden, derart, daß die wiederhergestellten Daten an den Ausgangsspeicher 14 zur weiteren Verwendung gelegt werden. Wenn das Übertragungsmedium 12 ein Verbindungskanal ist, so sind die Einrichtungen für die Kompression und die Expansion der Daten an verschiedenen Orten an­ geordnet. Wenn das Übertragungsmedium eine Art eines Speichers ist, so können die beiden Einrichtungen an derselben Stelle oder an verschiedenen Orten angeordnet sein. Die in Fig. 1 dargestellten Grundmerkmale lassen sich auf beinahe jedes Daten-Kompressionssystem anwenden, aber die Verwen­ dung bzw. Ausführung dieser Merkmale ist unterschiedlich, wie noch erläutert wird.
Fig. 2 zeigt ein Blockdiagramm eines Teils des Prozessors 11 nach Fig. 1. Die gesamte Steuerschaltung wurde aus Einfachheitsgründen weggelassen. Der Speicher 10 ist in Fig. 2 dargestellt, ebenso wie das Übertragungsmedium 12. Ein Hash-Generator 21 ist an einen Ausgang des Eingangs­ speichers 10 gelegt und er gibt Signale an einen temporären Speicher 22. Ein Prüfschaltkreis 23 ist an Ausgänge des Speichers 10 und des Speichers 22 gelegt. Der Ausgang vom Schaltkreis 23 ist an einen Byte-Zähler 24 gelegt, der einen Ausgang N abgibt, während der temporäre Speicher 22 einen Ausgang P abgibt. Ein Zeiger-Zähler 25 (pointer counter) ist vorgesehen, der einen Ein­ gang an den temporären Speicher 22 legt. Die Ausgänge P und N sind an einen Kodierer 26 geschaltet, der Signale an das Transfermedium 12 gibt. An eine Ausgangsschaltung 27 werden Bytes vom Eingangsspeicher 10 gelegt. Diese werden ebenfalls nach geeigneter Kodierung an das Übertragungsmedium 12 ge­ geben. Die Funktion des Zeiger-Zählers 25 besteht darin, das letzte Byte anzuzeigen, das aus dem Eingangsspeicher 10 gelesen wird, und diese Anzeige wird in dem temporären Speicher 22 in einer Adresse gespeichert, die durch den Generator 21 in Gruppen von drei bestimmt wird, wobei jeweils ein Byte zu einem Zeitpunkt ersetzt wird. Fig. 3 zeigt diese Arbeitsweise.
Um eine neue Phase im Arbeitszyklus zu beginnen, wird daher ein neues Byte an den Generator 21 gelegt und der Zähler 25 gibt die Position dieses Bytes im Eingangsspeicher an. Zusammen mit den beiden vorhergehenden Bytes wird das neue Byte kodiert unter Anwendung eines geeigneten Hash- Algorithmus. Der Ausgang des Generators 21 gibt eine Adresse im temporären Speicher 22 an, die der besonderen Kombination der drei Bytes entspricht, die an den Kodierer gelegt worden sind. Die Prüfschaltung 23 betrachtet den Inhalt des temporären Speichers 22 an der angezeigten Adresse und prüft, ob ein Speicherausgang an dieser Adresse vorliegt und sie speichert den Ausgang des Zählers 25 in dieser Adresse im temporären Speicher 22.
Das vorbeschriebene Verfahren tritt wiederholt auf während des Betriebs des Datenkompressors und es ist im Fließdiagramm von Fig. 4 durch das Kästchen 100 dargestellt.
Unter Bezugnahme auf Fig. 4 wird zunächst angenommen, daß der Eingangs­ speicher 10 von Fig. 2 Daten enthält, an denen eine Kompression ausgeführt werden soll. Wenn die Arbeitsweise beginnt, besteht die erste Operation darin, den temporären Speicher 22 zu löschen. Da die oben beschriebene Operation das Vorhandensein von drei Daten-Bytes vom Eingangsspeicher 10 bedingt, ist es notwendig, den Zeiger bzw. die Anzeige, die im Zeiger- Zähler 25 von Fig. 1 gespeichert ist, auf "2" einzustellen.
Wenn das nächste Daten-Byte vom Eingangsspeicher 10 ausgelesen wird, stehen die ersten drei Bytes zur Verfügung für den Generator 21. Die Zerhacker- Operation wird dann ausgeführt und die Inhalte des temporären Speichers 22 in der Adresse, die durch den Ausgang des Hash-Generators 21 definiert ist, wird gelesen. Wenn weitere Daten-Bytes im Eingangsspeicher 10 sind, d. h. wenn das Ende der zu verarbeitenden Daten noch nicht erreicht ist, so wird jede Anzeige (pointer), die im temporären Speicher gefunden wird, gehalten und der Wert des Zeiger-Zählers 25 wird in dieser Adresse gespeichert.
Wie in Fig. 4 gezeigt, wird das erste Daten-Byte im temporären Speicher übertragen, wenn die Speicherstelle in diesem Speicher tatsächlich leer war. Unter Übertragung wird hier das Verfahren der Weitergabe von Signalen an das Übertragungsmedium verstanden, in welcher Form auch immer. Das vierte Byte wird an den Hash-Generator gegeben, der dann den Hash-Vorgang mit den Bytes 2, 3 und 4 ausführt und das Verfahren wird wiederholt. Jedesmal wenn der temporäre Speicher adressiert wird, wird der Wert oder die Größe des Zeiger-Zählers 25, die sich auf das letzte Byte bezieht, das aus dem Eingangsspeicher gelesen wird, an dieser Adresse gespeichert.
Der vorbeschriebene Zyklus wird fortgesetzt, bis ein Hash-Vorgang zu einer Adresse im temporären Speicher führt, die eine Anzeige (pointer) enthält. Diese wird ausgelesen und eine neue Anzeige an ihrem Platz ge­ speichert. Das Erscheinen der gespeicherten Anzeige (pointer) zeigt an, daß die Gruppe von drei Bytes, welche die Adresse erzeugt hat, vermutlich identisch ist mit einer zuvor bearbeiteten Gruppe von drei Bytes, deren letztes durch die Anzeige (pointer) angezeigt wird, die aus dem temporären Speicher ausgelesen wird. Die Prüfschaltung 23 nach Fig. 2 vergleicht die beiden Gruppen von drei Bytes, um festzustellen, ob sie tatsächlich identisch sind. Dies wird durchgeführt, im Falle daß zwei Gruppen von drei verschiedenen Bytes dieselbe Adresse im temporären Speicher erzeugt haben, nach dem Hash-Vorgang.
Wie im Flußdiagramm von Fig. 4 gezeigt, werden, wenn tatsächlich die beiden Gruppen von Bytes nicht identisch sind, das erste der Bytes in der Gruppe, das eben verarbeitet worden ist, übertragen und das Verfahren fortgesetzt.
Wenn die beiden Gruppen von drei Bytes identisch sind, so wird der Byte- Zähler 24 nach Fig. 2 auf "3" eingestellt, um die Zahl identischer Bytes anzuzeigen, die bis jetzt gefunden worden sind. Die Prüfung geht dann weiter, um festzustellen, ob irgendwelche nachfolgenden Bytes ebenfalls identisch sind.
Die oben beschriebene Operation wird wiederholt mit dem nächsten Byte vom Eingangsspeicher, da es notwendig ist, eine Anzeige (pointer) für jede Gruppe von drei Bytes zu speichern im Falle diese erneut auftreten. Jedoch irgendwelche Inhalte, die im temporären Speicher gefunden werden, werden jetzt ignoriert. Statt dessen wird der nächste Byte vom Eingangs­ speicher gegenüber dem Byte geprüft, der der Gruppe der drei vorherigen gerade identifizierten Bytes nachfolgt. Wenn eine weitere Identität fest­ gestellt wird, wird der Byte-Zähler 24 um eins erhöht und die Prüfung fortgesetzt. Dies wird wiederholt, bis keine weitere Identität gefunden wird, bis zu einem vorgegebenen Limit oder bis der Bedarf an Daten er­ reicht ist.
Wenn keine weitere Identität festgestellt wird, wird der Inhalt des Zeiger-Zählers, der das erste der vorher übertragenen identischen Bytes anzeigt, sowie der des Byte-Zählers, der die Anzahl der sukzessiven identischen Bytes anzeigt, geeignet kodiert und übertragen. Die Kodierung ist erforderlich, damit das übertragene Signal nicht mit der Übertragung eines normalen Bytes verwechselt wird, das durch die Ausgangsschaltung 27 übertragen wird.
Die Operation wird dann wiederholt und wenn mehr Bytes im Eingangs­ speicher sind, wird mit der gesamten Operation erneut begonnen, wie im Fließdiagramm angezeigt. Wenn sich keine weiteren Bytes mehr im Ein­ gangsspeicher befinden, werden etwaige, noch nicht übertragene Bytes übertragen und die Daten-Kompression ist damit vollendet.
Die Expansionsmethode ist beträchtlich einfacher und ein Blockdiagramm in Fig. 5 zeigt dies, wobei wiederum das Übertragungsmedium 12 und der Aus­ gangsspeicher 14 gezeigt sind.
Der Expansions-Prozessor 13 nach Fig. 1 hat einen Dekodierer 51, der die Bytes, die von der Ausgangsschaltung 27 nach Fig. 2 übertragen werden, von den Identifizierungssignalen trennt, welche die Ausgänge P und N des Zeiger-Zählers 25 und des Byte-Zählers 24 entsprechend enthalten. Ferner trennt der Dekodierer 51 die beiden Ziffern P und N. Der Byte-Ausgang vom Dekodierer 51 wird direkt an den Ausgangsspeicher 14 gelegt, während die Ausgänge P und N an eine Kopier-Schaltung 52 gelegt werden, die an den Ausgangsspeicher 14 angeschlossen ist.
Die Arbeitsweise des Expansions-Prozessors ist im Fließdiagramm nach Fig. 6 dargestellt.
Der Dekodierer 51 empfängt Signale vom Übertragungsmedium 12. Jedes dieser Signale wird geprüft, um zu sehen, ob es ein Byte ist oder ein Identifi­ zierungssignal, das eine Folge von Bytes anzeigt, die schon früher empfangen worden sind. Wenn das Signal als ein Byte identifiziert worden ist, so wird dieses Byte in den Ausgangsspeicher 14 eingegeben. Dies wird wiederholt mit jedem sukzessive empfangenen Signal, bis ein Signal identi­ fiziert wird als kodierter Ausgang des Zeiger-Zählers und des Byte-Zählers des Kompressions-Prozessors. Das Signal wird dann dekodiert, um die zwei Zählerausgänge P und N zu erhalten. Die Ziffer P zeigt die Position der ersten einer Sequenz von zu wiederholenden Bytes im Ausgangsspeicher an und die Ziffer N zeigt die Anzahl identischer Bytes an. Diese Bytes werden dann im Ausgangsspeicher kopiert und das Verfahren der Expansion fortge­ setzt, bis die Daten im Ausgangsspeicher 14 vollständig wiederhergestellt sind.
Aus der obigen Beschreibung ergibt sich, daß der Eingangsspeicher 10 und der Ausgangsspeicher 14 nicht nur als ihre eigenen Bibliotheken wirken, sondern es wird auch eine Folge von wiederholten Bytes durch ein einziges Signal angezeigt. Frühere Systeme mußten jede kleine Gruppe separat berücksichtigen. Der temporäre Speicher 22 braucht nur Anzeigen (pointers) zu speichern, d. h. Ziffern oder Nummern, welche die Position eines Bytes im Eingangsspeicher 10 angeben, d. h. er muß nur einfache Zahlen speichern. Die Anzahl von solchen Ziffern oder Zahlen, die im temporären Speicher gespeichert werden kann, kann begrenzt werden, bis herab zu dem Punkt, wo die Leistungsfähig­ keit oder der Wirkungsgrad der Kompression beginnt unakzeptabel zu werden. In der Praxis tritt dieses Problem auf etwa zwischen der Hälfte und einem Viertel der Größe des Eingangsspeichers. Ebenso können praktische Gründe dafür sprechen, die Größe des Eingangs- und des Ausgangsspeichers zu be­ grenzen, wobei diese als Puffer bei der Verarbeitung großer Dateien ver­ wendet werden können. Wenn diese Puffer von vernünftiger Größe sind, ent­ steht nur ein geringer Verlust an Leistungsfähigkeit, da Wiederholungen, die einen Verlust darstellen könnten, nicht sehr häufig auftreten können.
Die Verwendung von Gruppen von drei Bytes zum Anlegen an den Generator 21 ist nicht wesentlich. Es wurde jedoch festgestellt, daß eine geringe oder keine Kompression auftritt, wenn kleine Gruppen benutzt werden, während die Verwendung großer Gruppen die Wahrscheinlichkeit sich wiederholender Gruppen reduziert. Eine Anzahl von drei erscheint somit die geeignetste Anzahl.
Die Form des Hash-Algorithmus wurde nicht diskutiert. Diese Techniken sind bekannt und stehen in unterschiedlicher Form zur Ver­ fügung. Ferner wurde nichts gesagt über die Form der Signale, die an das Übertragungsmedium gegeben oder von diesem empfangen werden. Es wurde je­ doch bereits erläutert, daß Signale, welche nicht komprimierte Bytes dar­ stellen, unterschieden werden müssen von Signalen, die die Identität einer Gruppe von Bytes mit einer zuvor verarbeiteten Gruppe angeben. Der einfachste Weg einer Anzeige dieser Unterscheidung besteht darin, das erste Bit des übertragenen Codes auf "1" zu setzen für eine Form eines Signals und auf "0" für die andere. Andere Unterscheidungsmöglich­ keiten können verwendet werden und verschiedene bekannte Mittel können eingesetzt werden, um die Ausgänge P und N in der wirksamsten Weise zu kodieren.
Die Erfindung hat sich als sehr leistungsfähig gezeigt beim Komprimieren von Dateien, wie sie typisch für Computerspeicher sind, nämlich einer Mischung aus Text-Dateien, Programm-Quellen-Dateien in verschiedenen Sprachen, Programm-Objekt-Dateien und Daten-Gruppen.
Außer der Komprimierung und Wiederausdehnung der Daten, wie oben beschrieben, ist es möglich, die komprimierten Daten aus Sicherheitsgründen zu ver­ schlüsseln. Ein Verschlüsselungsgerät jeder geeigneten Form kann einge­ setzt werden vor dem Eingang zu dem Übertragungsmedium und ein entsprechendes Entschlüsselungsgerät kann nach dem Ausgang aus dem Übertragungsmedium eingesetzt werden. Auf diese Weise können komprimierte Daten bei der Übertragung gesichert werden, wobei zweckmäßigerweise eine Verschlüsselung nach der Komprimierung der Daten erfolgen sollte.

Claims (9)

1. Vorrichtung zum Komprimieren von Daten mit einem Eingangsspeicher zum Empfang und zum Speichern einer Mehrzahl von Bytes aus unkomprimierten Daten einer äußeren Quelle, gekennzeichnet durch Datenverarbeitungs­ einrichtungen zum Verarbeiten sukzessiver Daten-Bytes vom Eingangs­ speicher, mit einem Schaltkreis zum Prüfen, ob eine Sequenz auf­ einanderfolgender Bytes, die zu verarbeiten ist, identisch ist mit einer Sequenz von Bytes, die bereits verarbeitet worden ist, Aus­ gangsschaltungen, um an ein Übertragungsmedium jedes Daten-Byte zu legen, das keinen Teil einer solchen identischen Sequenz bildet, einer Kodierschaltung, die auf die Identifizierung einer solchen Sequenz anspricht, um an die Übertragungseinrichtung ein Identifi­ zierungssignal zu legen, welches den Ort des vorherigen Auftretens der Sequenz von Bytes und die Anzahl der Bytes, die in der Sequenz enthalten ist, im Eingangsspeicher identifiziert.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Schaltung einen Hash-Generator aufweist, der auf das Anlegen einer vorgegebenen Anzahl von Bytes in Folge an­ spricht, um einen diesen Bytes entsprechenden Hash-Code abzuleiten, einen temporären Speicher, in welchem dieser Hash-Code die Adresse einer Speicherstelle darstellt, ferner durch einen Zeiger-Zähler, um in den temporären Speicher an dieser Adresse eine Zahl zu speichern, die die Position von einem der vorgegebenen Anzahl von Bytes im Eingangsspeicher anzeigt.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Schaltung einen Prüfkreis umfaßt, um eine Identität zwischen jedem dieser vorge­ gebenen Anzahl von Bytes in der Sequenz und jedem einer ähnlichen Sequenz von Bytes zu prüfen, die im Eingangsspeicher an einer Stelle enthalten sind, die durch eine Ziffer (pointer) definiert ist, die aus dem temporären Speicher an dieser Adresse ausgelesen wird, sowie um zu prüfen, ob eine Identität vorhanden ist zwischen aufeinanderfolgenden Bytes in jeder Sequenz von Bytes, und mit einem Byte-Zähler, um die An­ zahl von identischen Bytes in jeder Sequenz zu zählen.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß der Kodierer tätig wird, wenn eine solche Identität existiert, um die Ziffer, die aus dem temporären Speicher ausgelesen wird, und den Ausgang des Byte- Zählers zu kodieren.
5. Vorrichtung nach einem der Ansprüche 1-3, gekennzeichnet durch eine Mehrzahl von Eingangsspeichern, von denen jeder nur einen Teil der Daten der äußeren Datenquelle enthält.
6. Vorrichtung nach einem der Ansprüche 1-5, gekennzeichnet durch Daten­ empfangseinrichtungen zum Empfang komprimierter Daten von dem Über­ tragungsmedium, einem Ausgangsspeicher zum Speichern von nicht-kompri­ mierten Daten-Bytes, die von der Empfangseinrichtung empfangen worden sind, einer Kopierschaltung, die auf ein Identifizierungssignal an­ spricht und an den Ausgangsspeicher die Sequenz von Bytes legt, die bereits im Ausgangsspeicher enthalten ist und durch dieses Identi­ fizierungssignal identifiziert wird, wobei die Daten, die im Ausgangs­ speicher enthalten sind, ein exakter Wiederaufbau der Daten sind, die zu einem früheren Zeitpunkt an den Eingangsspeicher gelegt worden sind.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Daten­ empfangsschaltung einen Dekodierer umfaßt, um nicht-komprimierte Daten-Bytes von Identifizierungssignalen zu trennen.
8. Vorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekenn­ zeichnet, daß das Übertragungsmedium einen Verbindungskanal zwischen zwei im Abstand liegenden Orten umfaßt.
9. Vorrichtung nach einem der Ansprüche 1-7, dadurch gekennzeichnet, daß das Übertragungsmedium einen Datenspeicher umfaßt.
DE3606869A 1985-03-06 1986-03-03 Vorrichtung zur Datenkompression Expired - Lifetime DE3606869C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB08505790A GB2172127B (en) 1985-03-06 1985-03-06 Data compression system

Publications (2)

Publication Number Publication Date
DE3606869A1 DE3606869A1 (de) 1986-09-11
DE3606869C2 true DE3606869C2 (de) 1994-12-01

Family

ID=10575531

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3606869A Expired - Lifetime DE3606869C2 (de) 1985-03-06 1986-03-03 Vorrichtung zur Datenkompression

Country Status (4)

Country Link
US (1) US4701745A (de)
BE (1) BE904359A (de)
DE (1) DE3606869C2 (de)
GB (1) GB2172127B (de)

Families Citing this family (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE35861E (en) * 1986-03-12 1998-07-28 Advanced Software, Inc. Apparatus and method for comparing data groups
US4807182A (en) * 1986-03-12 1989-02-21 Advanced Software, Inc. Apparatus and method for comparing data groups
EP0326560A1 (de) * 1986-09-09 1989-08-09 Inventronic Data Systems Ab Datenkomprimierungsvorrichtung
JPH0815262B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元処理装置
JPH0815263B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元方法
JPS63170063A (ja) * 1987-01-07 1988-07-13 Brother Ind Ltd 印字装置
US7712669B2 (en) * 1988-01-14 2010-05-11 Broadcom Corporation Hand-held data capture system with interchangeable modules
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
US5126739A (en) * 1989-01-13 1992-06-30 Stac Electronics Data compression apparatus and method
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5016009A (en) * 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
EP0394976B1 (de) * 1989-04-27 1995-11-29 Matsushita Electric Industrial Co., Ltd. Daten-Kompandierungsverfahren und Daten-Kompressor/Dehner
US5179711A (en) * 1989-12-26 1993-01-12 International Business Machines Corporation Minimum identical consecutive run length data units compression method by searching consecutive data pair comparison results stored in a string
US5010344A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Method of decoding compressed data
US5010345A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Data compression method
US5184126A (en) * 1989-12-28 1993-02-02 International Business Machines Corporation Method of decompressing compressed data
US5001478A (en) * 1989-12-28 1991-03-19 International Business Machines Corporation Method of encoding compressed data
DE4190102B4 (de) * 1990-01-18 2005-04-14 E-MU Systems, Inc., Scotts Valley Datenverdichtung von Tondaten
US5049880A (en) * 1990-04-02 1991-09-17 Tektronix, Inc. Bit-wise run-length encoding for data compression
US5410671A (en) * 1990-05-01 1995-04-25 Cyrix Corporation Data compression/decompression processor
US5049881A (en) * 1990-06-18 1991-09-17 Intersecting Concepts, Inc. Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
EP0470798B1 (de) * 1990-08-06 1997-10-29 Fujitsu Limited Wörterbuch-Suchsystem
US5313604A (en) * 1990-11-13 1994-05-17 Hewlett-Packard Company Method for locating compressed data in a computed memory back up device including steps of refining estimater location
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
US5490260A (en) * 1990-12-14 1996-02-06 Ceram, Inc. Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5396228A (en) * 1992-01-16 1995-03-07 Mobile Telecommunications Technologies Methods and apparatus for compressing and decompressing paging data
EP0553731B1 (de) * 1992-01-23 1999-04-14 Mitsubishi Denki Kabushiki Kaisha Speicherprogrammierbare Steuerung
US5371499A (en) * 1992-02-28 1994-12-06 Intersecting Concepts, Inc. Data compression using hashing
US5406278A (en) * 1992-02-28 1995-04-11 Intersecting Concepts, Inc. Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
US5353024A (en) * 1992-05-01 1994-10-04 Intersecting Concepts, Inc. Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
US5406279A (en) * 1992-09-02 1995-04-11 Cirrus Logic, Inc. General purpose, hash-based technique for single-pass lossless data compression
US5323155A (en) * 1992-12-04 1994-06-21 International Business Machines Corporation Semi-static data compression/expansion method
US5455577A (en) * 1993-03-12 1995-10-03 Microsoft Corporation Method and system for data compression
US5894581A (en) * 1993-04-15 1999-04-13 Bull Hn Information Systems Inc. Method for reducing control store space in a VLSI central processor
US5960105A (en) * 1993-05-03 1999-09-28 Kansas State University Research Foundation Measurement of intramuscular fat in cattle
US5521597A (en) * 1993-08-02 1996-05-28 Mircosoft Corporation Data compression for network transport
US5442351A (en) * 1993-09-20 1995-08-15 Harley Street Software Ltd. Data compression method and apparatus for waveforms having recurring features
US5532122A (en) * 1993-10-12 1996-07-02 Biotraces, Inc. Quantitation of gamma and x-ray emitting isotopes
DE4342975A1 (de) * 1993-12-16 1995-06-22 Wuerth Adolf Gmbh & Co Kg Verfahren und Vorrichtung zur Übertragung von Diktaten
JP2715871B2 (ja) * 1993-12-20 1998-02-18 日本電気株式会社 可変長符号化方法
US5602764A (en) * 1993-12-22 1997-02-11 Storage Technology Corporation Comparing prioritizing memory for string searching in a data compression system
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
EP0739514B1 (de) * 1994-01-03 2001-08-08 Norton-Lambert Corp. Datenübertragungsverfahren und -vorrichtung, die hash-zahlen verwenden
US6076084A (en) * 1994-01-03 2000-06-13 Norton-Lambert Corp. File transfer method and apparatus utilizing delimiters
US5504816A (en) * 1994-02-02 1996-04-02 Gi Corporation Method and apparatus for controlling access to digital signals
US5889818A (en) * 1994-06-24 1999-03-30 Norand Corporation Adaptive display refresh and data compression in a radio frequency environment
US5572206A (en) * 1994-07-06 1996-11-05 Microsoft Corporation Data compression method and system
US5617517A (en) * 1994-09-20 1997-04-01 Seiko Epson Corporation Two-dimensional method and system for compressing bi-level images
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6460036B1 (en) 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5526363A (en) * 1995-05-16 1996-06-11 Telco Systems, Inc. Multicontext compression system with shared data structures
US5621403A (en) * 1995-06-20 1997-04-15 Programmed Logic Corporation Data compression system with expanding window
JP3273119B2 (ja) * 1995-09-29 2002-04-08 京セラ株式会社 データ圧縮・伸長装置
US6081623A (en) * 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
US5729223A (en) * 1996-03-20 1998-03-17 Motorola Inc. Method and apparatus for data compression and restoration
US5768597A (en) * 1996-05-02 1998-06-16 Starfish Software, Inc. System and methods for improved installation of compressed software programs
US6023558A (en) * 1996-06-27 2000-02-08 Apple Computer, Inc. Graphics compression for an emulation system
US5951623A (en) 1996-08-06 1999-09-14 Reynar; Jeffrey C. Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US5760716A (en) * 1996-08-21 1998-06-02 Autodesk, Inc. Vector data compression
US5850565A (en) * 1996-08-26 1998-12-15 Novell, Inc. Data compression method and apparatus
JP3540109B2 (ja) * 1996-12-24 2004-07-07 富士通株式会社 データ圧縮方法及び装置
US5798718A (en) * 1997-05-12 1998-08-25 Lexmark International, Inc. Sliding window data compression method and apparatus
US5999936A (en) * 1997-06-02 1999-12-07 Compaq Computer Corporation Method and apparatus for compressing and decompressing sequential records in a computer system
US6121903A (en) * 1998-01-27 2000-09-19 Infit Communications Ltd. On-the-fly data re-compression
US5945933A (en) * 1998-01-27 1999-08-31 Infit Ltd. Adaptive packet compression apparatus and method
US6070179A (en) * 1998-02-20 2000-05-30 International Business Machines Corporation Method and system for compressing unicode data within a data processing system
US6075470A (en) * 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
US6127953A (en) * 1998-03-23 2000-10-03 Siemens Information And Communication Networks, Inc. Apparatus and method for compressing data containing repetitive patterns
US6212301B1 (en) 1998-06-25 2001-04-03 Accusoft Corporation Systems and methods for digital image compression
US6275588B1 (en) 1998-11-12 2001-08-14 I-Data International A/S Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6522268B2 (en) 2000-01-05 2003-02-18 Realnetworks, Inc. Systems and methods for multiple-file data compression
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US6925428B1 (en) 2000-05-19 2005-08-02 The United States Of America As Represented By The Secretary Of The Navy Multifunctional, multi-input, missile signal measurement apparatus
US20020029285A1 (en) 2000-05-26 2002-03-07 Henry Collins Adapting graphical data, processing activity to changing network conditions
CN1446404A (zh) 2000-08-15 2003-10-01 西加特技术有限责任公司 操作码的双模数据压缩
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US7417568B2 (en) 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US6515598B2 (en) 2000-12-22 2003-02-04 Cilys 53, Inc. System and method for compressing and decompressing data in real time
US6834323B2 (en) 2000-12-26 2004-12-21 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US6732306B2 (en) 2000-12-26 2004-05-04 Intel Corporation Special programming mode with hashing
US7007131B2 (en) * 2000-12-27 2006-02-28 Intel Corporation Method and apparatus including special programming mode circuitry which disables internal program verification operations by a memory
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
GB2367986B (en) * 2001-03-16 2002-10-09 Ericsson Telefon Ab L M Address mechanisms in internet protocol
JP3913004B2 (ja) 2001-05-28 2007-05-09 キヤノン株式会社 データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
US8671213B2 (en) 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7376695B2 (en) 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US6501395B1 (en) 2002-04-10 2002-12-31 Hewlett-Packard Company System, method and computer readable medium for compressing a data sequence
US6624762B1 (en) 2002-04-11 2003-09-23 Unisys Corporation Hardware-based, LZW data compression co-processor
US7154848B2 (en) * 2002-05-29 2006-12-26 General Dynamics Corporation Methods and apparatus for generating a multiplexed communication signal
US7280496B2 (en) * 2002-08-02 2007-10-09 General Dynamics Corporation Methods and apparatus for coupling a satellite to an earth terminal
US7280497B2 (en) * 2002-08-02 2007-10-09 General Dynamics Corporation Methods and apparatus for coupling an earth terminal to a satellite
US6714145B1 (en) 2002-09-26 2004-03-30 Richard Marques Method and apparatus for integer-based encoding and decoding of bits
US7542471B2 (en) * 2002-10-30 2009-06-02 Citrix Systems, Inc. Method of determining path maximum transmission unit
US8270423B2 (en) 2003-07-29 2012-09-18 Citrix Systems, Inc. Systems and methods of using packet boundaries for reduction in timeout prevention
US8233392B2 (en) 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7630305B2 (en) * 2003-07-29 2009-12-08 Orbital Data Corporation TCP selective acknowledgements for communicating delivered and missed data packets
US7616638B2 (en) 2003-07-29 2009-11-10 Orbital Data Corporation Wavefront detection and disambiguation of acknowledgments
US6819272B2 (en) * 2002-11-06 2004-11-16 Hewlett-Packard Development Company, L.P. System, method and computer readable medium for compressing a data sequence for partial decompressing
US8437284B2 (en) 2003-07-29 2013-05-07 Citrix Systems, Inc. Systems and methods for additional retransmissions of dropped packets
US7698453B2 (en) * 2003-07-29 2010-04-13 Oribital Data Corporation Early generation of acknowledgements for flow control
US8432800B2 (en) 2003-07-29 2013-04-30 Citrix Systems, Inc. Systems and methods for stochastic-based quality of service
US8238241B2 (en) 2003-07-29 2012-08-07 Citrix Systems, Inc. Automatic detection and window virtualization for flow control
US7656799B2 (en) 2003-07-29 2010-02-02 Citrix Systems, Inc. Flow control system architecture
US6879270B1 (en) 2003-08-20 2005-04-12 Hewlett-Packard Development Company, L.P. Data compression in multiprocessor computers
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US7079051B2 (en) * 2004-03-18 2006-07-18 James Andrew Storer In-place differential compression
US8024483B1 (en) 2004-10-01 2011-09-20 F5 Networks, Inc. Selective compression for network connections
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
US7215259B2 (en) * 2005-06-03 2007-05-08 Quantum Corporation Data compression with selective encoding of short matches
US7783781B1 (en) 2005-08-05 2010-08-24 F5 Networks, Inc. Adaptive compression
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US8275909B1 (en) 2005-12-07 2012-09-25 F5 Networks, Inc. Adaptive compression
US7882084B1 (en) 2005-12-30 2011-02-01 F5 Networks, Inc. Compression of data transmitted over a network
US7873065B1 (en) 2006-02-01 2011-01-18 F5 Networks, Inc. Selectively enabling network packet concatenation based on metrics
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US20080001790A1 (en) * 2006-06-30 2008-01-03 Kyle Kirby Method and system for enhancing data compression
US20080123677A1 (en) * 2006-08-31 2008-05-29 Honeywell International Inc. System management bus port switch
US9356824B1 (en) 2006-09-29 2016-05-31 F5 Networks, Inc. Transparently cached network resources
US20080084886A1 (en) * 2006-10-09 2008-04-10 Honeywell International Inc. System management bus port router
US8417833B1 (en) 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US8103783B2 (en) 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US8037126B2 (en) 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8336762B1 (en) 2008-11-17 2012-12-25 Greenwise Bankcard LLC Payment transaction processing
US10943030B2 (en) 2008-12-15 2021-03-09 Ibailbonding.Com Securable independent electronic document
US8179291B2 (en) * 2009-05-04 2012-05-15 International Business Machines Corporation Method and system for compression of logical data objects for storage
US8355585B2 (en) * 2009-05-12 2013-01-15 Red Hat Israel, Ltd. Data compression of images using a shared dictionary
US8838544B2 (en) * 2009-09-23 2014-09-16 International Business Machines Corporation Fast history based compression in a pipelined architecture
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
US10708392B2 (en) 2013-12-07 2020-07-07 Appex Networks Holding Limited System and method for compression and decompression of data containing redundancies
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1071332A (en) * 1974-05-01 1980-02-05 Toshio Kashio Data processing system
NL7412053A (nl) * 1974-09-11 1976-03-15 Philips Nv Telecommunicatiecentrale met tijdverdeling.
US3976844A (en) * 1975-04-04 1976-08-24 Honeywell Information Systems, Inc. Data communication system for transmitting data in compressed form
DE2625527A1 (de) * 1976-06-05 1978-03-30 Licentia Gmbh Verfahren zur kompression redundanter digitaler quellsignale
US4054951A (en) * 1976-06-30 1977-10-18 International Business Machines Corporation Data expansion apparatus
DE3118676A1 (de) * 1981-05-12 1982-12-02 Heinz Karl Eckhart Dr Jur Verfahren zur kompression redundanter folgen serieller datenelemente
US4494150A (en) * 1982-07-13 1985-01-15 International Business Machines Corporation Word autocorrelation redundancy match facsimile compression for text processing systems

Also Published As

Publication number Publication date
DE3606869A1 (de) 1986-09-11
GB8505790D0 (en) 1985-04-11
BE904359A (fr) 1986-06-30
GB2172127A (en) 1986-09-10
US4701745A (en) 1987-10-20
GB2172127B (en) 1988-10-12

Similar Documents

Publication Publication Date Title
DE3606869C2 (de) Vorrichtung zur Datenkompression
DE69534292T2 (de) Verfahren und System zur Dateifernübertragung
DE2139731C2 (de) Anordnung zur Code-Umsetzung
DE2519381C3 (de)
DE2264090C3 (de) Datenverdichtung
EP0230437B1 (de) Verfahren zum komprimieren und dekomprimieren mehrerer strukturverwandter datenfolgen sowie einrichtungen zur durchführung des verfahrens
DE69829088T2 (de) Verfahren und Vorrichtung zur Übertragung von Datenrahmen
DE69834695T2 (de) Verfahren und Vorrichtung zur Datenkompression
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE2128835A1 (de) Schaltungsanordnung zur Steuerung des Zugriffs bei bewegten Oberflachen speichern
DE60009502T2 (de) Lzw datenkomprimierung/dekomprimierungsgerät und - verfahren mit eingebetteter lauflängenkodierung/dekodierung
DE1499225B2 (de) Schaltungsanordnung zur reduzierung von datenwortlaengen
DE2547597C2 (de) Verfahren und Vorrichtung zur Kompression und Expansion von Digitalcodewörtern
DE2807500A1 (de) Digitale logikschaltung zum vergleichen von geordneten zeichenfolgen variabler laenge
DE60302203T2 (de) Anordnung zur Komprimierung einer Datentabelle
DE19625157A1 (de) Datenkompressions- und -expansionsverfahren
DE2000340A1 (de) Verfahren und Vorrichtung zum Suchen verdichteter gespeicherter Informationen
DE2458285A1 (de) Ueberwachungseinrichtung
DE3742142C2 (de)
DE1964570B2 (de) Verfahren zum wiederauffinden gespeicherter informationen
DE3113189C2 (de) Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden
EP1186175B1 (de) Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten
DE60003418T2 (de) Vorrichtung zur kompression und dekompression von bitketten
DE2144113C3 (de) Verfahren zur Codeumsetzung und Assozjathr-Speichereinrlchtung zur Durchführung dieses Verfahrens
DE102018105847A1 (de) Datenwiederherstellung und Datenregeneration mittels Paritätscode

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: STAC ELECTRONICS, INC., CARLSBAD, CALIF., US

8128 New person/name/address of the agent

Representative=s name: GRAMM, W., PROF.DIPL.-ING. LINS, E., DIPL.-PHYS. D

D2 Grant after examination
8364 No opposition during term of opposition