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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (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.
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.
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)
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)
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 | 株式会社日立製作所 | データ圧縮復元処理装置 |
-
1986
- 1986-12-12 JP JP61294821A patent/JPH0815262B2/ja not_active Expired - Lifetime
-
1987
- 1987-12-07 US US07/129,185 patent/US4866440A/en not_active Expired - Lifetime
- 1987-12-11 DE DE19873742142 patent/DE3742142A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
US4866440A (en) | 1989-09-12 |
JPH0815262B2 (ja) | 1996-02-14 |
DE3742142A1 (de) | 1988-06-23 |
JPS63148717A (ja) | 1988-06-21 |
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 | |
DE69020652T2 (de) | Anordnung zur Synchronisierung von Datenrahmengruppen in einem seriellen Bitstrom. | |
DE3525898C2 (de) | ||
DE3742142C2 (de) | ||
DE69712663T2 (de) | Komprimier- und Pufferungssystem für Datenstrom | |
DE2547597C2 (de) | Verfahren und Vorrichtung zur Kompression und Expansion von Digitalcodewörtern | |
DE69020439T2 (de) | Anordnung zur Synchronisierung von Datenrahmengruppen in einem seriellen Bitstrom. | |
DE1499225B2 (de) | Schaltungsanordnung zur reduzierung von datenwortlaengen | |
DE69126198T2 (de) | Datendekodierungsvorrichtung | |
DE69030267T2 (de) | Mehrkanaliger datenkompressor | |
DE2744321A1 (de) | Bildschirmgeraet | |
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 | |
DE2127516C2 (de) | Verfahren zur Übertragung binärcodierter Signale von Bildvorlagen oder Schriftvorlagen | |
EP0427884B1 (de) | Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten | |
EP1145113A1 (de) | Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors | |
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 |
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 |