DE3742142C2 - - Google Patents

Info

Publication number
DE3742142C2
DE3742142C2 DE3742142A DE3742142A DE3742142C2 DE 3742142 C2 DE3742142 C2 DE 3742142C2 DE 3742142 A DE3742142 A DE 3742142A DE 3742142 A DE3742142 A DE 3742142A DE 3742142 C2 DE3742142 C2 DE 3742142C2
Authority
DE
Germany
Prior art keywords
data
parts
bytes
byte
data sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE3742142A
Other languages
English (en)
Other versions
DE3742142A1 (de
Inventor
Tokuhiro Kanagawa Jp Tsukiyama
Yasunori Odawara Jp Sagara
Kazumi Kanagawa Jp Miyazawa
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3742142A1 publication Critical patent/DE3742142A1/de
Application granted granted Critical
Publication of DE3742142C2 publication Critical patent/DE3742142C2/de
Granted 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Kompression einer Datenfolge gemäß den Oberbegriffen der Patentansprüche 1 und 6 sowie ein Verfahren und eine Vorrichtung zur Rekonstruktion einer solchermaßen komprimierten Datenfolge gemäß den Oberbegriffen der Ansprüche 9 und 10.
Ein bekanntes Verfahren zur Kompression und Rekonstruktion von Daten in einem Magnetbandspeicher ist das sogenannte Lauflängenverfahren, bei dem aus einer Wiederholung identischer Bitmuster bestehende Teile in Byteeinheiten in aufzuzeichnenden Daten aufgesucht und dann diese aufeinanderfolgenden identischen Bitmuster komprimiert und auf einem Magnetband aufgezeichnet werden. Dieses bekannte Verfahren ist in der US-PS 45 86 027 offenbart.
Bei diesem im Stand der Technik bekannten Verfahren wird in Ein-Byte-Einheiten beurteilt, ob eine jeweilige Folge von Datenbits aus einer Wiederholung identischer Muster besteht oder nicht (nachstehend wird dies Folgeeigenschaft genannt). Deshalb besteht, auch wenn eine einzuschreibende Datenfolge sich bei der Beurteilung der Folgeeigenschaft nicht als Wiederholung identischer Muster herausstellt, die Wahrscheinlichtkeit, daß die Datenfolge, falls man die Folgeeigenschaft bei Gruppen, die aus den oberen vier Bits oder den unteren vier Bits der Datenfolgen bestehen, noch viele mittels des obigen Verfahrens komprimierbare Teile enthält. Somit ergibt sich, daß die Kompressionswirkung im Stand der Technik nicht in jedem Fall groß ist.
Die DE 26 25 527 A1 offenbart ein Verfahren zur Kompression redundanter digitaler Quellsignale einer Datenquelle, welches durch Ausnutzung von Signalpausen eine hohe Datenkompression durch Hintereinanderschaltung zweier gleichartiger Run-Length-Codierer offenbart.
Es ist deshalb Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zur Kompression einer Eingangsdatenfolge sowie ein Verfahren und eine Vorrichtung zur Rekonstruktion der auf diese Weise komprimierten Datenfolge so zu ermöglichen, daß bei der Kompression von Datenfolgen eine Erhöhung des Kompressionsverhältnisses ohne Modifikation des Datenkompressionsformats und der zur Kompression durchgeführten Prozedur erreicht werden kann.
Ein die obige Aufgabe lösendes Verfahren zur Kompression einer Datenfolge ist durch Anspruch 1 gekennzeichnet. Die Ansprüche 2 bis 5 kennzeichnen vorteilhafte Weiterbildungen davon.
Der Anspruch 6 kennzeichnet eine die obige Aufgabe lösende Vorrichtung zur Kompression einer Datenfolge, während die Ansprüche 7 und 8 jeweils vorteilhafte Weiterbildungen davon kennzeichnen.
Ein Verfahren zur Rekonstruktion der durch die Kompression gemäß Anspruch 1 erhaltenen Datenfolge, das die obige Aufgabe löst, ist durch Anspruch 9 gekennzeichnet. Schließlich kennzeichnet Anspruch 10 eine Vorrichtung zur Rekonstruktion von Datenfolgen, die sich durch Kompression gemäß Anspruch 1 ergeben.
Beispielsweise ergibt sich bei der Datenfolge von EBCDIC- Zahlen F 0, F 1, F 2, F 3, F 4, F 6, F 7, F 8, F 9 bei der Beurteilung der Folgeeigenschaft der Daten in Ein-Byte-Einheiten, daß sich identische Muster nicht wiederholen. Wenn man jedoch die Folge der höherwertigen vier Bits eines Byte betrachtet, erkennt man, daß "F" (hexadezimal) sich wiederholt, weshalb sich diese Gruppe von "F" komprimieren läßt.
Außerdem stellt sich auch für alphanumerische Zeichen, japanische Kanazeichen (Silbenzeichen) und spezielle Zei­ chen bei der Übertragung von Daten, bei der Beurteilung ihrer Auftrittsrate, der Wahrscheinlichkeit des Auftritts von Zeichenverbindungen beispielsweise aufgrund von gramma­ tikalischen Gesetzen und dergleichen heraus, daß aus den höheren vier Bits oder den niederwertigen vier Bits beste­ hende Information aufeinanderfolgender Bytes eine erhöhte Folgeeigenschaft besitzt.
Deshalb läßt sich durch das erfindungsgemäße Verfahren das Kompressionsverhältnis steigern.
Die Erfindung wird im folgenden anhand der Zeichnung näher beschrieben. Es zeigen:
Fig. 1 schematisch den Umsetzvorgang in das der Erfindung zugrundeliegende Datenformat;
Fig. 2 schematisch ein Beispiel einer gemäß einem Ausführungsbeispiel der Erfindung gestalte­ ten Datenumsetztabelle;
Fig. 3 ein Diagramm zur Erläuterung des Aufzeich­ nungsformats zur Aufzeichnung auf Magnetband nach der Datenkompression;
Fig. 4 eine Halb-Byte-Umspeicherschaltung gemäß einem Ausführungsbeispiel der Erfindung als Blockschaltbild; und
Fig. 5 eine gemäß einem Ausführungsbeispiel der Erfindung aufgebaute Datenrekonstruktions­ schaltung in Form eines Blockschaltbilds.
Nachstehend wird eine Ausführungsart des erfindungsgemäßen Datenkompressions- und -rekonstruktionsverfahrens erläutert.
Im allgemeinen enthalten auf einem Magnetbandspeicher und dergleichen gespeicherte Daten für Computer viele Zahlen und Spezialzeichen. Aufgrund dieser Erkenntnis werden er­ findungsgemäß die Daten durch das Lauflängenverfahren kom­ primiert und nach Umspeichern der Daten noch einmal kompri­ miert. Diese Umspeicherung oder Umsetzung wird mit einer Umsetztabelle so durchgeführt, daß sich eine erhöhte Fol­ geeigenschaft in den zuvor erwähnten Halb-Byte-Einheiten ergibt. Für die Realisierung der Umsetztabelle, mit der die Datenumsetzung durchgeführt wird, muß die Häufigkeitsver­ teilung der Auftrittshäufigkeit bestimmter Zeichen oder Ziffern berücksichtigt werden. Beispielsweise ist bei eng­ lischen Texten der Zwischenraum am häufigsten und der Buchstabe "E" am zweithäufigsten. Folglich ist die Wahr­ scheinlichkeit, daß ein Zwischenraum und ein "E" auftreten, hoch. Deshalb läßt sich die Folgeeigenschaft erhöhen, wenn die Daten solcher Texte so umgesetzt werden, daß sich für die oberen Halb-Bytes oder die unteren Halb-Bytes Folgen identischer Zeichen ergeben. Wenn man außerdem die Kombina­ tion zweier Buchstaben, wie z.B. "TH" oder "ED", die in der englischen Sprache häufig auftreten, betrachtet, läßt sich die Folgeeigenschaft der Halb-Bytes durch Umsetzen dieser Konfigurationen mit der geschilderten Datenumsetzung erhö­ hen. Wenn man japanische Kanazeichenfolgen betrachtet, die dem Alphabet ähneln, gibt es das Zeichen (′′) für den stimm­ haften Laut nur für KA, KI, KU, KE, KO, SA, SI, SU, SE, SO, TA, CHI, TSU, TE, TO sowie HA, HI, FU, HE, HO und das Halblaut-Zeichen (°) gibt es nur für HA, HI, FU, HE und HO. Deshalb läßt sich die Folgeeigenschaft von HA, HI, FU, HE oder HO erhöhen, indem die oberen Halb-Bytes oder die unteren Halb-Bytes der stimmhaften Lautzeichen und der Halblaut-Zeichen gleichgemacht werden.
Bei Zahlen kommen häufig die selben Zahlen aufeinanderfol­ gend vor und außerdem ist die Wahrscheinlichkeit, daß ein Zwischenraum und die Null-Ziffer zwischen den Zahlen vor­ kommt, erhöht. Deshalb läßt sich auch hier die Folgeeigen­ schaft in Halb-Byte-Einheiten durch eine gleichartige Da­ tenumsetzung erhöhen.
Das Kompressionsverhältnis läßt sich außerdem durch Bildung einer Umsetztabelle mittels des oben beschriebenen Umsetz­ verfahrens und Durchführung einer zweiten Kompression nach der oben beschriebenen Umsetzung der Halb-Byte-Daten stei­ gern.
Eine Halb-Byte-Daten-Umspeicherschaltung teilt die durch die erste Datenkompressionsschaltung gegangenen komprimier­ ten Datenbytes in zwei Halb-Bytes ein. Das höherwertige Halb-Byte eines Ein-Byte-Datenblocks wird unter Bildung einer Ein-Byte-Information mit dem höherwertigen Halb-Byte eines benachbarten Datenblocks verbunden und einer zweiten Datenkompressionsschaltung zugeführt. Die Kompression der zu neuen Ein-Byte-Daten umgespeicherten höherwertigen Halb- Bytes wird durch Wiederholung der selben Operationen be­ wirkt. Dann wird die Kompression für die niederwertigen Halb-Bytes in der selben Weise durch Verbindung des nieder­ wertigen Halb-Bytes eines Datenblocks mit dem des benach­ barten Datenblocks und durch Übertragung des so gebildeten neuen Datenbytes zur zweiten Kompressionsschaltung ausge­ führt.
Hier muß erwähnt werden, daß das Kompressionsverhältnis, falls die mittels der Erfindung durchgeführte Halb-Byte- Umsetzung mit den übertragenen Daten direkt, ohne zuvor die übliche Datenkompression auf Byte-Basis durchzuführen, ge­ ringer sein kann als mit alleiniger Datenkompression mit umgespeicherten Datenbytes. Der Grund dafür ist, daß es Fälle geben kann, wo eine Folgeeigenschaft von Daten vor der Halb-Byte-Umspeicherung vorhanden ist und diese folg­ lich zur Kompression in beispielsweise n Byte führen könn­ te, tatsächlich jedoch in 2n Byte mittels der aufgrund der Halb-Byte-Umspeicherung durchgeführten Datenkompression, ohne zuvor die übliche Kompression durchzuführen, kompri­ miert werden. Angesichts dieser Tatsache muß erfindungs­ gemäß die Kompression immer zweimal erfolgen.
Fig. 1 zeigt Veränderungen des Datenformats bei der Daten­ umsetzung und Kompression mittels eines erfindungsgemäß gestalteten Ausführungsbeispiels einer Datenkompressions- und -rekonstruktionsvorrichtung, und Fig. 2 zeigt schema­ tisch eine Datenumsetztabelle gemäß diesem Ausführungsbei­ spiel.
Infolge der Datenumsetzung mittels der in Fig. 2 darge­ stellten Datenumsetztabelle werden in Fig. 1 dargestellte Daten 1 nach dem ersten mit den vorhandenen Datenbytes durchgeführten Kompressionsvorgang durch die weiter unten beschriebene Datenkompressionsvorrichtung in die Daten 2 umgesetzt. Dann werden die Daten 2 jeweils in eine Gruppe 3 mit den höherwertigen Halb-Bytes und eine Gruppe 4 mit den niederwertigen Halb-Bytes eingeteilt. Die Gruppe 3 kann mittels der zweiten Datenkompression für identische Muster komprimiert werden.
Nach dem ersten Kompressionsschritt würden in den vorlie­ genden Daten 1 keine weiteren komprimierbaren Daten mehr vorhanden sein. Durch die Teilung in höherwertige und nie­ derwertige Halb-Byte-Gruppen 3 und 4 läßt sich die höher­ wertige Halb-Byte-Gruppe, da sie eine Folge identischer Muster aufweist, komprimieren und dadurch das Kompressions­ verhältnis insgesamt steigern.
Die eigentliche Datenkompression des ersten und zweiten Kompressionsschritts kann jeweils mit dem aus der genannten US-PS 45 86 027 bekannten Verfahren durchgeführt werden. Natürlich kann die Datenkompression auch mit anderen als der Lauflängenmethode erfolgen. Die oben beschriebene Halb- Byte-Umsetzung wird für eine gegebene gerade Zahl von Bytes durchgeführt.
Fig. 3 zeigt das Datenformat nach dieser Halb-Byte- Umsetzung. Eine Datengruppe 9, die eine umgesetzte Daten­ einheit darstellt, besteht aus einer geraden Bytezahl, nämlich aus 256 Bytes, welches eine zur Bildung einer Gruppe von Daten geeignete Zahl ist. Die Daten 9 enthalten auch eine Gruppe 5 höherwertiger Halb-Bytes sowie eine Gruppe 6 niederwertiger Halb-Bytes. Die letzte Gruppe 0 besteht aus Information 7 von 0 Bytes bis 255 Bytes (d.h. die Anzahl der Bytes einer Datengruppe -1) und aus Zählwer­ ten 8, 8′, die deren Bytezahl darstellt. Die Information 7 wird der Halb-Byte-Umsetzung nicht unterworfen und unverän­ dert aufgezeichnet. Auf diese Weise wird unabhängig davon, ob die Gesamtzahl der Daten gerade oder ungerade ist, die Halb-Byte-Umsetzung ohne Schwierigkeiten ermöglicht.
Die in Fig. 3 dargestellten Daten werden der zweiten (d.h. der letzten) Datenkompression unterworfen.
Nun wird die Rekonstruktion der Daten, die der Halb-Byte- Umsetzung in einer Gruppeneinheit und der zweiten Datenkom­ pression unterworfen wurden, erläutert.
Diese Daten werden zunächst mit einem ersten Rekonstruk­ tionsvorgang umgespeichert. Dies geschieht beispielsweise durch das in der zuvor erwähnten US-PS 45 86 027 beschrie­ bene Verfahren oder dergleichen, wodurch die Information in einen Zustand, nach dem die Halb-Byte-Umsetzung bewirkt worden war, rekonstruiert wird. Danach wird die Informa­ tion, für die die Halb-Byte-Umsetzung bewirkt wurde, in einem Puffer in Gruppeneinheiten 9 gespeichert, und danach fährt die Verarbeitung zur Umspeicherung in der zur Verän­ derung des Datenformats gemäß Fig. 1 entgegengesetzten Richtung weiter.
Es wird deutlich, daß sich die letzte Gruppe 0 von der gewöhnlichen Gruppe unterscheidet. Aus diesem Grund wird die Bytezahl 8, die in Fig. 3 gezeigt ist, erkannt und ermöglicht, daß die Daten 7, die der Halb-Byte-Umsetzung nicht unterworfen werden, in die zweite (letzte) Rekonstruktionsstufe gesendet werden. Das Normalformat der Gruppe 0 kann dadurch bestätigt werden, daß die letzte Information 8′, mit der Information 8, wie zuvor erwähnt, übereinstimmt. Wenn die Daten während der Bewegung des Magnetbands in Gegenrichtung umgespeichert werden, werden die notwendigen Daten 7 einschließlich der durch die Bytezahl 8′ angegebene Bytezahl unverändert übertragen und die Ausführung des Rekonstruktionsvorgangs beginnt mit der nachfolgenden Gruppe 9.
Fig. 4 zeigt ein Blockschaltbild einer Datenkompressionsvorrichtung, die die oben beschriebene Operation durchführt gemäß einem Ausführungsbeispiel der Erfindung. Von einer nicht gezeigten übergeordneten Vorrichtung kommende Daten werden von einem Datenkompressor 101, der den ersten Kompressionsvorgang ausführt, komprimiert. Dann werden die neu angeordneten Daten, die der Datenumsetzung und der Halb- Byte-Umsetzung unterworfen wurden, von einem Datenkompressor 102 im zweiten (letzten) Kompressionsvorgang komprimiert und auf Magnetband und dergleichen aufgezeichnet. Die Datenkompressoren 101 und 102 können übliche Kompressionsvorrichtungen sein, beispielsweise wie sie in der genannten US-PS 45 86 027 beschrieben sind. Deshalb werden ihre Einzelheiten hier nicht näher erläutert.
Nachstehend werden eine Umsetzschaltung 10 und eine Halb- Byte-Umsetzschaltung, die dem Datenkompressor 101 folgen, erläutert. Der Datenkompressor 101 komprimiert eine von der übergeordneten Einrichtung übertragene Datenfolge in eine Datenfolge mit dem Datenformat 1 gemäß Fig. 1.
In Fig. 4 sendet die Datenumsetzschaltung 10 Daten über die Signalbusleitung 33, nachdem sie die von dem Datenkompres­ sor 101 abgegebenen Daten nach Maßgabe der in Fig. 2 darge­ stellten Umsetztabelle umgesetzt hat, an die folgende Halb- Byte-Umsetzschaltung. Datenpuffer 15 und 16 dienen zum Zwischenspeichern der von der Datenumsetzschaltung 10 umge­ setzten und abgegebenen Daten. Die aus einer Bytefolge bestehenden Daten werden abwechselnd byteweise in die Da­ tenpuffer 15 und 16 eingespeichert. Die Datenpuffer 15 und 16 werden von einer Puffersteuerschaltung 11 aufgrund eines Übernahmesignals (nachstehend abgekürzt STRB-Signal) ge­ steuert, das von dem übergeordneten Gerät ausgegeben wird. Die Adressen in den Datenpuffern 15 und 16, unter denen die Daten gespeichert sind, werden von einem Zähler durch eine Busleitung 38 zugeteilt. Eine Datengruppe besteht aus 256 Bytes, und, wenn das Speichern von 256 Bytes abgeschlossen ist, wird ein Speicherendesignal einer Umsetzsteuerschal­ tung 19 und der Puffersteuerschaltung 11 über eine Signal­ leitung 37 zugeführt. Auf diese Weise bringt die Puffer­ steuerschaltung 11 die Pufferspeicher 15 und 16 in den Ausgabezustand und beendigt das Aussenden von Impulsen 32 an den Zähler 13, der die Datenspeicheradressen zuteilt.
Die Umsetzsteuerschaltung 19 sendet das STRB-Signal 45 an eine untergeordnete Einrichtung, beispielsweise an ein Magnetbandgerät und dergleichen, das in der Fig. 4 nicht dargestellt ist, und beginnt dadurch den Zähler 13 hochzu­ zählen. Gleichzeitig sendet die Umsetzsteuerschaltung 19 ein Datenwählsignal 46 einer Datenwählschaltung 21 zu. Der Eingang 0 der Datenwählschaltung 21 wird gewählt, indem das Datenwählsignal 46 eine 0 annimmt, und die Datenwählschal­ tung 21 verbindet die höherwertigen Halb-Bytes von den von den Datenpuffern 15 und 16 durch die Busleitungen 40 und 41 gesendeten Datenbytes und gibt alle höherwertigen Halb- Bytes der 256 Datenbytes aus. Dann verbindet die Datenwähl­ schaltung 21, sobald das Datenwählsignal 46 eine 1 annimmt, die niederwertigen Halb-Bytes der Datenbytes und gibt sämt­ liche niederwertigen Halb-Bytes der 256 Bytes aus. Die oben beschriebene Operation wird für jede Datengruppe in der selben Weise wiederholt.
Falls die von der Datenumsetzschaltung 10 ausgegebenen Daten weniger als 256 Bytes enthalten, wird ein STOP- Signal, nachdem das letzte Byte eingegeben ist, wirksam. Durch dieses STOP-Signal wird die oben beschriebene Halb- Byte-Umsetzoperation angehalten und eine andere aus einer Puffersteuerschaltung 12, einem Datenpuffer 17 und einem Zähler 14 bestehende Schaltung beginnt ihren Betrieb. Die Puffersteuerschaltung 12, der Puffer 17 und der Zähler 14 führen immer parallel zu den Schaltungen 11, 13, 15 und 16 die Datenspeicheroperation aus. Für Daten, die weniger als 256 Bytes enthalten, gibt es nur einen Puffer, da keine Umsetzoperation bewirkt und die Daten unverändert ausgege­ ben werden. Die Adresse der letzten Daten wird von einem Adressenzwischenspeicher 18 zwischengespeichert. Wenn die Umsetzung sämtlicher 256 Bytes der vorangehenden Gruppe beendet ist, wird der im Adressenzwischenspeicher 18 gehal­ tene Zählwert durch eine Busleitung 43 als Längeninforma­ tion ausgegeben, indem der Eingang 3 der Datenwählschaltung 21 gewählt wird.
Nachfolgend werden die im Datenpuffer 16 gespeicherten Daten durch eine Busleitung 42 durch die Wahl des Eingangs 2 der Datenwählschaltung 21 ausgegeben. Wenn mittels eines Adreßvergleichers 20 erfaßt ist, daß der vom Adressenzwi­ schenspeicher 18 gehaltene Zählwert und die vom Zähler 14 angegebene Adresse übereinstimmen, wird der Eingang 3 der Datenwählschaltung 21 erneut gewählt und die Längeninforma­ tion ausgegeben.
Auf diese Weise wird die Operation der Halb-Byte-Umsetz­ schaltung beendet. Die erzeugten umgesetzten Daten werden erneut durch den anderen Datenkompressor 102 komprimiert und von der in der Figur nicht dargestellten untergeordne­ ten Magnetbandspeichereinrichtung aufgezeichnet.
Komprimierte Daten werden in das ursprünglich vor der Kom­ pression vorliegende Datenformat durch eine zur Kompres­ sionsoperation inversen Operation rekonstruiert.
Dies geschieht durch eine Datenrekonstruktionsschaltung, die in Form eines erfindungsgemäßen Ausführungsbeispiels in Fig. 5 dargestellt ist. Die Rekonstruktionsschaltung erhält beispielsweise von einer in Fig. 5 nicht dargestellten Magnetbandspeichereinrichtung komprimierte Daten, die zu­ erst in das nach der Halb-Byte-Umsetzung vorhandene Daten­ format, wie es unten in Fig. 1 dargestellt ist, mittels einer Datenrekonstruktionsschaltung 103 rekonstruiert wer­ den. Eine weitere Datenrekonstruktionsschaltung 104 ist eine Schaltung, in der die komprimierten in das Datenformat vor der Datenumsetzung, die oben in Fig. 1 dargestellt ist, durch die in Fig. 5 dargestellte Schaltung rekonstruiert wurden, dem zweiten Rekonstruktionsschritt, um schließlich die komprimierten Daten vollständig zu rekonstruieren, unterworfen werden. Diese Datenrekonstruktionsschaltungen können beispielsweise die in der genannten US-PS 45 86 027 beschriebenen sein und werden deshalb nicht genauer be­ schrieben.
In Fig. 5 speichert ein Register 100 zeitweilig die Daten, die einmal der Datenrekonstruktion unterworfen wurden, d.h. die Daten in dem Zustand gleich dem gerade nach der Halb- Byte-Umsetzung. Ein Datenpuffer 56 speichert die Hälfte der 256 Byte-Daten, d.h. die ersten 128 Bytes der Daten nach der Halb-Byte-Umsetzung, und ein weiterer Datenpuffer 57 speichert die zweiten 128 Bytes. Die Steuerung der Spei­ chervorgänge wird durch von einer Puffersteuerschaltung 51 auf der Basis eines von einer Magnetbandspeichereinrichtung und dergleichen kommenden STRB-Signals mittels einer Si­ gnalschalteinrichtung 53 durchgeführt. Die Adressen, unter denen die Daten gespeichert sind, werden von einem Zähler 54 zugeteilt. Die erste Hälfte (128 Bytes) der Halb-Byte umgesetzten 256 Bytes wird in den Puffer 56 zeitlich ge­ steuert von einem Signal 81 eingespeichert, und die zweite Hälfte (128 Bytes) in den Puffer 57 zeitlich gesteuert von einem anderen Signal 82 eingespeichert. Wenn das Einspei­ chern der gesamten 256 Bytes beendet ist, wird ein Spei­ cherendesignal an eine Rekonstruktionssteuerschaltung 60 und an die Puffersteuerschaltung 51 durch eine Signallei­ tung 80 gesendet. Beim Empfang dieses Signals versetzt die Puffersteuerschaltung 51 die Datenpufferspeicher 56 und 57 in den Ausgabezustand und initialisiert den Zähler 54. Die Rekonstruktionssteuerschaltung 60 gibt ein REQ-Signal 91 aus, welches ein Datenübertragungssignal für eine überge­ ordnete Einrichtung ist, und startet damit das Hochzählen des Zählers 54. Gleichzeitig sendet die Rekonstruktions­ steuerschaltung 60 ein Signal, das die Datenausgabe be­ fiehlt, an eine Signalschalteinrichtung 64, worauf letztere ein Datenwählsignal an eine Datenwählschaltung 62 durch eine Signalleitung 95 sendet. Zuerst werden, indem das Datenwählsignal den Wert "0" annimmt, die höherwertigen Halb-Bytes der ersten Bytes jeweils in den Pufferspeichern 56 und 57 miteinander verbunden und in Zeitsteuerung durch das REQ-Signal 91 ausgegeben. Danach wird das Datenwähl­ signal in den Zustand "1" gesetzt, wodurch die niederwerti­ gen Halb-Bytes der ersten Bytes miteinander verbunden wer­ den und mit Zeitsteuerung durch das REQ-Signal 91 ausgege­ ben.
Dann wird das Datenwählsignal erneut auf "0" gesetzt und die höherwertigen Halb-Bytes der zweiten Bytes in den Puffern 56 und 57 miteinander verbunden und damit zeitlich gesteuert vom REQ-Signal 91 ausgegeben. Dann wird das Da­ tenwählsignal erneut auf "1" gesetzt, wodurch die nieder­ wertigen Halb-Bytes der zweiten Bytes miteinander verbunden ausgegeben werden. Diese Operation wird bis zum letzten (128.) Byte wiederholt, so daß die Daten der in Halb-Byte- Form umgeordneten 256 Bytes, die in den Datenpuffern 56 und 57 gespeichert sind, in Form der in der Mitte in Fig. 1 ge­ zeigten Daten rekonstruiert sind.
Wenn die vom Register 100 ausgegebenen Daten weniger als 256 Bytes enthalten, wird das STOP-Signal nach Eingabe des letzten Bytes wirksam. Sobald dies geschieht, wird die oben genannte Schaltungsoperation angehalten und die aus einer Puffersteuerschaltung 52, einem Datenpuffer 58 und einem Zähler 55 bestehende Schaltung beginnt zu arbeiten. Diese Schaltung führt immer die Datenspeicheroperation parallel zu den Speicheroperationen in die Datenpuffer 56 und 57 aus. Bei Daten, die weniger als 256 Bytes aufweisen, wird der Wert des Bytes 8, was in Fig. 3 gezeigt ist und die Länge der Daten angibt und am Kopf der Daten bei der Halb- Byte-Neuanordnung hinzugefügt ist, in einen Adressenpuffer­ speicher (Latch) 59 synchron mit dem STRB-Signal übernom­ men, und zwar in zeitlicher Übereinstimmung mit dem Aus­ gangssignal 79 der Puffersteuerschaltung 52. Das Hochzählen des Zählers 55 wird von einem Signal 78 gestartet, das mit dem STRB-Signal synchron ist, und gleichzeitig werden die Daten in dem Datenpuffer 58 ausgegeben. Daten, die weniger als 256 Bytes enthalten, werden, da keine Neuanordnungsope­ ration erfolgt, unverändert ausgegeben. Sobald ein Adreß­ vergleicher 61 bestätigt, daß der Zählwert des Zählers 55 und der Wert des Bytes 8, der die Länge der Daten angibt und der in den Adressenpuffer 59 gesetzt wurde, miteinander übereinstimmen, werden alle Daten vollständig ausgegeben, und die Operation ist beendet.
Beim Rückwärts-Betrieb, d.h. im Falle die Rekonstruktion erfolgt, während das Aufzeichnungsmedium eines untergeord­ neten Geräts, wie eines Magnetbandspeichergeräts, in umge­ kehrter Richtung angetrieben wird, besteht der Kopf der von der untergeordneten Einrichtung gesendeten Daten immer aus dem Byte, das die Länge der Daten angibt, falls diese weniger als 256 Bytes enthalten. Wenn Daten mit weniger als 256 Bytes nicht vorliegen, werden zwei Bytes 8 und 8′, die angeben, daß solche Daten nicht vorhanden sind, hinzuge­ fügt. Folglich wird zuerst das erste Byte, das die Länge der Daten angibt, in den Datenpuffer 58 gespeichert und gleichzeitig wird das erste Byte in den Adressenpuffer 59 gesetzt. Die Daten des zweiten Bytes und die folgenden, die nicht Halb-Byte-weise umgesetzt sind, werden im Puffer 58 abgespeichert. Sobald mittels des Adreßvergleichers 61 feststeht, daß das in den Adressenpufferspeicher 59 über­ nommene Byte, das die Länge der Daten angibt und der Zähl­ wert der Adressen miteinander übereinstimmen, wird das Speichern der Daten beendet. Zu diesem Zeitpunkt wird ein Signal, das den Datenpuffer 58 in den Ausgabezustand ver­ setzt, von der Puffersteuerschaltung 52 zum Puffer 58 durch eine Signalleitung 77 gesendet, und der Datenpuffer wird in den Ausgabezustand versetzt. Zu diesem Zeitpunkt wird ein Signal zur Ausgabe von Daten mit weniger als 256 Bytes von der Signalschalteinrichtung 64 durch eine Signalleitung 95 an die Datenwählschaltung 62 gesendet, und die Daten werden an eine Datenumsetzschaltung 50 ausgegeben. Wenn Daten mit weniger als 256 Bytes nicht vorliegen, wird zum Zeitpunkt, wo das die Länge der Daten angebende Byte hereingenommen wird, vom Adressenvergleicher 61 festgestellt, daß der Wert des Zählers 55 und der Wert des in den Adressenzwischenspeicher 59 gesetzten Bytes miteinander übereinstimmen, worauf keine Daten in den Datenpuffer 58 eingespeichert werden. Danach werden 256 Bytes Daten vom Register 100 ausgegeben, deren erste Hälfte aus den im Datenpuffer 57 gespeicherten 128 Bytes und deren zweite Hälfte aus den im Datenpuffer 56 gespeicherten Daten besteht. Sobald die Datenpuffer 56 und 57 im Ausgabezustand sind und das Datenwählsignal den "1"-Zustand annimmt, werden die unteren Halb-Bytes der ersten Bytes in den Datenpuffern 56 und 57 verbunden und ausgegeben. Wenn das Datenwählsignal den "0"- Zustand annimmt, werden die oberen Halb-Bytes der ersten Bytes verbunden und ausgegeben. Diese Operationen werden so lange wiederholt, bis die letzten (128.) Bytes in den Datenpuffern 56 und 57 verbunden und ausgegeben sind, so daß damit die Rekonstruktion der 256 Byte-Daten, die in den Datenpuffern 56 und 57 gespeichert waren, abgeschlossen ist. Diese Operation wird für jede aus 256 Bytes bestehende Gruppe durchgeführt. In dieser Weise erfolgt die Rekonstruktion der Daten. Außerdem setzt die Datenumsetzschaltung 50 die von der Datenwählschaltung 62 ausgegebenen Daten von dem in der Mitte von Fig. 3 dargestellten Format in das Datenformat um, das oben in Fig. 3 dargestellt ist.
Mittels des oben beschriebenen Schaltungsaufbaus kann das erfindungsgemäße Verfahren zur Kompression und Rekonstruktion von Datenfolgen das Kompressionsverhältnis durch zweimalige Ausführung des Kompressionsvorgangs erhöhen.

Claims (10)

1. Verfahren zum Komprimieren einer Folge von Eingangs­ daten, die aufeinanderfolgende identische Teile von Datenblöcken aufweisen, gekennzeichnet durch folgende Schritte:
  • 1) Komprimieren der aufeinanderfolgenden Teile und Erzeugen einer komprimierten Datenfolge;
  • 2) Umspeichern der komprimierten Datenfolge und dadurch Erzeugen neuer aufeinanderfolgender identi­ scher Datenteile; und
  • 3) Komprimieren der neuen aufeinanderfolgenden identi­ schen Datenteile der in Schritt 2) umgespeicherten Datenfolge.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß Schritt 2) enthält:
einen Schritt 2′ zur Umsetzung der Datenblöcke gemäß einem vorgegebenen Datenformat, so daß vorgegebene Teile der Datenblöcke, die die komprimierte Eingangsdatenfolge bilden, identische Datenblöcke haben, und
einen Schritt 2′′, der den Aufbau der Datenblöcke gemäß einem vorgegebenen Bildungsformat umbildet, so daß die vorgegebenen Teile der Datenblöcke in der Datenfolge, die sich aus Schritt 2′ ergibt, aufeinanderfolgend so angeordnet werden, daß sie die umgespeicherte Datenfolge darstellen.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß der Schritt 2′′ einen Extraktionsschritt aufweist, der die vorgegebenen Teile aus den Datenblöcken der im Schritt 2′ erhaltenen Datenfolge herausnimmt, sie in vorgegebener Reihenfolge ausgibt und danach andere Teile als die vorgegebenen Teile der Datenblöcke in einer zweiten vorgegebenen Reihenfolge ausgibt.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß jeder der Datenblöcke aus einem Byte besteht und die jeweils vorgegebenen Teile der Datenblöcke jeweils aus dem oberen Halb-Byte und dem unteren Halb-Byte der Da­ tenblöcke bestehen.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß die erste vorgegebene Reihenfolge die aufeinanderfol­ gende Ausgabe zunächst der oberen Halb-Bytes und dann der unteren Halb-Bytes jedes Datenblocks und die zweite vorgegebene Reihenfolge die aufeinanderfolgende Ausgabe zunächst der unteren Halb-Bytes und dann der oberen Halb-Bytes jedes Datenblocks darstellen.
6. Vorrichtung zum Komprimieren einer aufeinanderfolgende identische Teile von Datenblöcken enthaltenden Eingangs­ datenfolge, gekennzeichnet durch
  • - eine erste Datenkompressionseinrichtung (101) zur Kompression der aufeinanderfolgenden Teile und Er­ zeugung einer komprimierten Eingangsdatenfolge (1),
  • - eine Umspeicherschaltung (10-21), die die komprimierte Datenfolge (1) zur Erzeugung neuer aufeinanderfolgen­ der identischer Teile umspeichert, und
  • - eine zweite Datenkompressionseinrichtung (102), die die aufeinanderfolgenden Teile der auf diese Weise umgespeicherten Datenfolge komprimiert.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Umspeicherschaltung aufweist:
  • - eine Datenumsetzschaltung (10), die die Datenblöcke gemäß einem vorgegebenen Umsetzformat so umsetzt, daß vorgegebene Teile der die komprimierte Datenfolge (1) bildenden Datenblöcke identische Datenblöcke aufwei­ sen, und
  • - eine Schaltungsanordnung (11-21), die den Aufbau der Datenblöcke gemäß einem vorgegebenen Umbildungsformat so umbildet, daß vorgegebene Teile der Datenblöcke in den Datenfolgen aufeinanderfolgend umgespeichert wer­ den, um die umgespeicherte Datenfolge (2) zu erzeugen.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß jeder Datenblock aus einem Byte besteht und jeder der vorgegebenen Teile der Datenblöcke das höherwertige Halb-Byte oder das niederwertige Halb-Byte jedes Daten­ blocks enthält.
9. Verfahren zur Rekonstruktion der durch die Kompression gemäß Anspruch 1 erhaltenen Datenfolgen, gekennzeichnet durch folgende Schritte:
  • - Rekonstruktion der komprimierten Datenfolge, die sich gemäß Schritt 3) ergibt,
  • - Umordnung der so rekonstruierten Datenfolge zur Er­ zeugung der komprimierten Eingangsdatenfolge (1), die sich durch Schritt 1) ergibt, und
  • - Rekonstruktion der komprimierten Eingangsdatenfolge, wie sie sich aus dem Umordnungsschritt ergibt.
10. Vorrichtung zur Rekonstruktion von Datenfolgen, die sich durch Kompression gemäß Anspruch 1 ergeben, gekenn­ zeichnet durch:
  • - eine erste Rekonstruktionseinrichtung (103) zur Re­ konstruktion der sich durch Schritt 3) ergebenden komprimierten Datenfolge,
  • - eine Umordnungsschaltung (51-62, 100) zur Umordnung der durch die Rekonstruktionseinrichtung (103) rekon­ struierten Datenfolge und zur Erzeugung der kompri­ mierten Datenfolge (1), die sich aus Schritt 1) er­ gibt, und
  • - eine zweite Rekonstruktionsvorrichtung (104) zur Rekonstruktion der komprimierten Eingangsdatenfolge, die die genannte Umordnungsschaltung liefert.
DE19873742142 1986-12-12 1987-12-11 Verfahren und vorrichtung zur kompression und rekonstruktion von datenfolgen Granted DE3742142A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61294821A JPH0815262B2 (ja) 1986-12-12 1986-12-12 データ圧縮復元処理装置

Publications (2)

Publication Number Publication Date
DE3742142A1 DE3742142A1 (de) 1988-06-23
DE3742142C2 true DE3742142C2 (de) 1989-08-31

Family

ID=17812686

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873742142 Granted DE3742142A1 (de) 1986-12-12 1987-12-11 Verfahren und vorrichtung zur kompression und rekonstruktion von datenfolgen

Country Status (3)

Country Link
US (1) US4866440A (de)
JP (1) JPH0815262B2 (de)
DE (1) DE3742142A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0815262B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元処理装置
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. 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
US4971407A (en) * 1989-08-09 1990-11-20 Unisys Corp. Two stage run and string data compressor providing doubly compressed output
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
JPH0629861A (ja) * 1990-12-31 1994-02-04 Internatl Business Mach Corp <Ibm> データ圧縮方法
AU6911894A (en) * 1993-05-13 1994-12-12 Apple Computer, Inc. Method and apparatus for efficient compression of data having redundant characteristics
FR2709892B1 (fr) * 1993-09-09 1995-10-13 Alcatel Radiotelephone Procédé de compression et de décompression d'un flux de valeurs numériques hexadécimales codées en ASCII.
JPH09162748A (ja) * 1995-12-01 1997-06-20 Fujitsu Ltd データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム
JP4187345B2 (ja) * 1999-03-29 2008-11-26 株式会社アドバンテスト 圧縮データ復元装置、それを備えた半導体検査装置、及び、データ圧縮復元方法
RU2004113857A (ru) * 2004-07-19 2005-12-20 Николай Михайлович Алексеев (RU) Способ сжатия информации, представленной в электронной форме
US8077974B2 (en) 2006-07-28 2011-12-13 Hewlett-Packard Development Company, L.P. Compact stylus-based input technique for indic scripts

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2625527A1 (de) * 1976-06-05 1978-03-30 Licentia Gmbh Verfahren zur kompression redundanter digitaler quellsignale
US4814746A (en) * 1983-06-01 1989-03-21 International Business Machines Corporation Data compression method
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
JPH0828053B2 (ja) * 1983-08-08 1996-03-21 株式会社日立製作所 データ記録方法
US4542515A (en) * 1983-11-14 1985-09-17 The United States Of America As Represented By The Secretary Of The Army Multilevel mate pair code compressor for codes expanded by the process of butting
JPS60124126A (ja) * 1983-12-08 1985-07-03 Fujitsu Ltd コ−ド圧縮方式
GB2172127B (en) * 1985-03-06 1988-10-12 Ferranti Plc Data compression system
JPH0815262B2 (ja) 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元処理装置

Also Published As

Publication number Publication date
JPH0815262B2 (ja) 1996-02-14
DE3742142A1 (de) 1988-06-23
JPS63148717A (ja) 1988-06-21
US4866440A (en) 1989-09-12

Similar Documents

Publication Publication Date Title
DE3606869C2 (de) Vorrichtung zur Datenkompression
DE2139731C2 (de) Anordnung zur Code-Umsetzung
DE2210044C2 (de) Verfahren zum Umsetzen von Codewörtern
DE3525898C2 (de)
DE3742142C2 (de)
DE2547597C2 (de) Verfahren und Vorrichtung zur Kompression und Expansion von Digitalcodewörtern
DE1499225B2 (de) Schaltungsanordnung zur reduzierung von datenwortlaengen
DE19625157A1 (de) Datenkompressions- und -expansionsverfahren
DE2744321A1 (de) Bildschirmgeraet
EP1145113B1 (de) Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors
DE3100934A1 (de) Verfahren zur erzeugung einer seriellen tastenimpulsinformation mit einer ersten abtastwiederholfrequenz in abhaengigkeit von einer asynchron mit einer zweiten abtastwiederholfrequenz erzeugten seriellen multiplex-tasten-impulsformation sowie schnittstelleneinrichtung zur durchfuehrung des verfahrens
DE3843372A1 (de) Verfahren und schaltungsanordnung zur taktanpassung in der digitalen nachrichtentechnik
DE2826454B2 (de)
DE2127516C2 (de) Verfahren zur Übertragung binärcodierter Signale von Bildvorlagen oder Schriftvorlagen
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
DE2943148C2 (de) Digitaladdierer
DE2547052C3 (de) Datenverarbeitungseinrichtungen
DE19537905C2 (de) Speicherzugriffsvorrichtung und -verfahren
EP0840230A2 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
DE4432436C2 (de) Datenkompressionsverfahren und Vorrichtung zum Komprimieren von Daten
EP1186175B1 (de) Verfahren und vorrichtung zur komprimierung und dekomprimierung von daten
DE3432837A1 (de) Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten
EP0397144A1 (de) Schaltungsanordnung zur wortweisen Seriell-Parallel-Wandlung
DE2144113C3 (de) Verfahren zur Codeumsetzung und Assozjathr-Speichereinrlchtung zur Durchführung dieses Verfahrens
DE4436956C2 (de) Einrichtung und Verfahren zur Umformatierung oder Zwischenspeicherung von Datenströmen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition