DE4039947A1 - Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens - Google Patents

Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens

Info

Publication number
DE4039947A1
DE4039947A1 DE4039947A DE4039947A DE4039947A1 DE 4039947 A1 DE4039947 A1 DE 4039947A1 DE 4039947 A DE4039947 A DE 4039947A DE 4039947 A DE4039947 A DE 4039947A DE 4039947 A1 DE4039947 A1 DE 4039947A1
Authority
DE
Germany
Prior art keywords
register
memory
input
output
unit
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.)
Withdrawn
Application number
DE4039947A
Other languages
English (en)
Inventor
Manfred Dr Zweynert
Bernd Dr Haendler
Eckard Dr Koch
Kerstin Hamann
Thomas Athenstaedt
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.)
Transformatoren und Roentgenwerk GmbH
Original Assignee
Transformatoren und Roentgenwerk GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Transformatoren und Roentgenwerk GmbH filed Critical Transformatoren und Roentgenwerk GmbH
Priority to DE4039947A priority Critical patent/DE4039947A1/de
Publication of DE4039947A1 publication Critical patent/DE4039947A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

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

Description

Die Erfindung betrifft ein Verfahren zur Kompression und Dekompression von digitalen Daten, insbesondere von in digitaler Form vorliegenden Grauwertbildern, durch Kodierung bzw. Dekodierung, wobei für die Betriebsweise Kompression die digitalen Daten zunächst vorverarbeitet werden, indem einerseits ein Vergleich der Bildpunktdaten aufeinanderfolgender Bildpunkte durchgeführt und in Abhängigkeit vom Vergleichsergebnis ein Steuersignal erzeugt wird und andererseits in Abhängigkeit vom Steuersignal und/oder einem an einer Steuer- und Regeleinheit vorgebbaren Steueralgorithmus eine Zuordnung der Operanden für eine Differenzbildung festgelegt wird, derart, daß die Differenzbildung zwischen den Bildpunktdaten eines Bildpunktes und den Bildpunktdaten seines jeweiligen unmittelbaren Vorgängers oder den Bildpunktdaten eines zweckentsprechend gewählten Vorgängers zur Glättung oder dem Bildpunktdatum Null zur Direktübertragung eines Bildpunktes vorgenommen wird. Die Erfindung bezieht sich des weiteren auf eine Einrichtung zur Durchführung des Verfahrens.
Es sind eine Reihe von Verfahren zur Kompression und Dekompression von digitalen Daten bekannt, die mittels Kodierung bzw. Dekodierung arbeiten. So ist ein Verfahren bekannt, bei dem bei der Datenverdichtung Vorverarbeitungsschritte integriert sind, indem nach einer Vorkodierung der Differenzen aufeinanderfolgender Bildpunktdaten durch Analyse der Größe dieser Differenzen eine Merkmalsbildung vorgenommen und ein zweckmäßiges Format gefunden und schließlich entsprechend dem Datenformat mit Hilfe von Zähl- oder Lageinformationen und der entsprechend verzögert bereitgestellten vorkodierten Bildpunktdaten-Differenzen der Kode gebildet wird (DE 39 08 086 C1). Die zur Durchführung dieses Verfahrens bekannte und gleichermaßen zur Dekompression nutzbare Einrichtung besteht dabei neben einer Steuer- und Regeleinheit aus einer Vorverarbeitungs-/Vorkodierungseinheit, einer Analyseeinheit, einer Formatierungseinheit, einer Verzögerungseinheit sowie einer Kodiereinheit.
Der Aufwand an Bauelementen einer solchen Einrichtung ist jedoch verhältnismäßig groß. Außerdem ist die Programmierung der Hardware schwierig, so daß sie nicht von einem Laien ausgeführt werden kann, was sich insbesondere bei der Anpassung an neue Bedingungen nachteilig auswirkt.
Des weiteren ist ein Verfahren zur Übertragung von DPCM-Werten bekannt, bei dem mehrere aufeinanderfolgende DPCM-Werte in Datenwörter gleicher Länge umgesetzt und die Datenwörter mit einer ihre Länge kennzeichnenden Präambel zu einem Daten- bzw. Kodeblock konstanter Länge zusammengefaßt werden (EP 02 44 729 A1).
Dieses Verfahren hat den Nachteil, daß es keine Software-Algorithmen gibt, die mit diesem Verfahren unmittelbar korrespondieren. Darüber hinaus ist es ungünstig, daß die in den Kodewortblöcken transportierbare Information zum Teil auch durch Steuerinformationen genutzt werden muß. Außerdem bedarf die Einrichtung zur Realisierung eines solchen Verfahrens, beispielsweise die angegebene Kodierschaltung, eines beachtlichen Aufwandes. Auch die Verwendung relativ großer Blocklängen, wie sie mit 11 bzw. sogar 14 bit vorgeschlagen werden, ist nicht unproblematisch, vor allem dann, wenn eine programmtechnische Nachbildung angestrebt wird.
Der Erfindung liegt die Aufgabe zugrunde, für die Kompression und Dekompression von digitalen Daten, insbesondere von in digitaler Form vorliegenden Grauwertbildern, ein Verfahren anzugeben sowie eine Einrichtung zur Durchführung des Verfahrens zu schaffen, die sich gegenüber bekannten Lösungen einerseits durch eine große Geschwindigkeit bei der Verdichtung und Rückgewinnung der Daten und andererseits durch einen erheblich geringeren Realisierungsaufwand auszeichnet.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den im Anspruch 1 und eine Einrichtung mit den im Anspruch 4 angegebenen Merkmalen gelöst.
Vorteilhafte Ausbildungen der Erfindung sind Gegenstand der Unteransprüche.
Erfindungswesentlich ist, daß Datenverdichtung und Rückaufweitung rekursiv erfolgen. Die rekursive Arbeitsweise gestattet eine Kodierung durch Zuordnung, die mit Speichern sowohl vom RAM- als auch vom ROM-Typ sehr schnell und in Hard- und Software mit den gleichen Zuordnungstabellen durchgeführt werden kann. Soll der mögliche Geschwindigkeitsvorteil ausgenutzt werden, ist dabei darauf zu achten, daß Kompressions- bzw. Dekompressionsprogramme einen kurzen Assemblerteil enthalten. Für harmonische Korrespondenzen zwischen Hard- und Software ist eine Festlegung der komprimierten Kodewortlängen günstig, die möglichst ein Vielfaches von 8 bit betragen soll. Dabei wird vorausgesetzt, daß in einem Kodewort in der Regel wenigstens eine Dateninformation untergebracht werden kann. Hinsichtlich der Anwendung von Kodierungsmethoden bieten sich Klassen von Präfix-, Huffman- und Schichtkodierungen an. Bei Nutzung des erfindungsgemäßen Verfahrens bzw. der erfindungsgemäßen Einrichtung ist es verhältnismäßig leicht möglich, nutzerspezifische Kodes zu generieren, wobei für die oben erwähnten, in der Assemblersprache verfaßten Programmteile keine Änderungen erforderlich sind. Diese können vielmehr in einer höheren Programmiersprache eingegeben werden. Somit weisen das erfindungsgemäße Verfahren und die Einrichtung zu dessen Durchführung folgende Vorteile auf:
  • 1. eine höchstmögliche Geschwindigkeit bei serieller Verarbeitung der digitalen Daten,
  • 2. eine große Nutzerfreundlichkeit bei eventuell vorzunehmenden Anpassungen an spezielle Bedingungen,
  • 3. eine einfache Kodecharakterisierung und -standardisierung und
  • 4. einen geringen Aufwand für eine Systementwicklung sowie niedrige Hard- und Softwarekosten.
Die Erfindung soll nachstehend anhand eines Beispieles und einer zugehörigen Zeichnung näher erläutert werden, wobei das erfindungsgemäße Verfahren anhand der Funktionsweise dreier erfindungsgemäßer Einrichtungen beschrieben wird. In der Zeichnung zeigt
Fig. 1 das Schema einer ersten erfindungsgemäßen Einrichtung zur Kompression und Dekompression von digitalen Daten und
Fig. 2 die Einrichtung gemäß Fig. 1 im einzelnen sowie
Fig. 3 das Schema einer zweiten erfindungsgemäßen Einrichtung und schließlich
Fig. 4 eine dritte erfindungsgemäße Einrichtung zur Kompression und Dekompression digitaler Daten.
Die in der Fig. 1 dargestellten Einrichtung zur Kompression und Dekompression digitaler Bilddaten besteht aus drei in Reihe geschalteten Automaten A₁, A₂ und A₃. Die Automaten A₁, A₂ und A₃ sind mit einer Steuereinheit ST verbunden, die ihrerseits mit dem Anwendersystem in Verbindung steht, was in Fig. 1 aus Gründen der Übersichtlichkeit nur durch die allgemeingültigen Betriebssignale Pixeltakt CP, Betriebsartsignal MODE, Zeilenanfang START, Erlaubnis zum Datenlesen DATIN.EN und Erlaubnis zum Datenschreiben DAT Out.EN angedeutet ist. Eingangsseitig ist die Einrichtung zur Kompression und Dekompression über den Dateneingang des Automaten A₁ und ausgangsseitig über den Datenausgang des Automaten A₃ mit dem Datenbus des Anwendersystems verknüpft. In den Fig. 1, 2, 3 und 4 bezeichnen s jeweils einen Steuereingang bzw. einen Steuerausgang.
Gemäß Fig. 2 enthält der Automat A₁ eine Verzögerungseinheit V₁, die sich aus Registern 1, 2 und 3 sowie einem Negator 4 zusammensetzt, und eine Einheit zur arithmetischen und logischen Transformation U₁ , bestehend aus einer arithmetischen Einheit (ALU) 5, einem Speicher (PROM) 6, einem ODER-Gatter 7, einem Register 8 und einem Komparator 9. Sowohl das Register 1 als auch das Register 2 ist mit dem Dateneingang des Automaten A₁ und somit mit der Datenquelle verbunden, die bei der Betriebsweise Kompression die digitalen Bilddaten K.IN und bei der Betriebsweise Dekompression den komprimierten Kode DK.IN liefert. Dem Register 1 ist das Register 3 nachgeschaltet. Die Ausgänge der Register 2 und 3 sind mit dem einen Eingang A der ALU 5 und der Ausgang des Registers 1 ist mit dem anderen Eingang B der ALU 5 verknüpft. Der Ausgang der ALU 5 führt zum Adreßeingang des PROM 6, zum Eingang des Komparators 9 und zur Steuer- und Regeleinheit ST. Die Ausgangsinformation des Komparators 9 und eine Steuerinformation s werden im ODER-Gatter 7 logisch verknüpft und das Ergebnis an das nachgeschaltete Register 8 übertragen, dessen Ausgang den Rücksetzeingang für einen Dateneingang der ALU 5 bedient. Mit der Steuerinformation s wird darüber hinaus der Takteingang des Registers 3 und über den Negator 4 der Takteingang des Registers 2 beaufschlagt.
Der Automat A₂ beinhaltet eine Verzögerungseinheit V₂, bestehend aus einem Register 10, und eine Speichereinheit M, die aus dem Speicher (PROM) 11 und Registern 12, 13 aufgebaut ist. Das Register 10 ist dabei eingangsseitig mit dem Ausgang des PROM 6 und ausgangsseitig wie die Register 12, 13 mit dem Adreßeingang des PROM 11 verbunden. Die Eingänge der Register 12, 13 stehen mit rückgeführten Ausgängen des PROM 11 in Verbindung. Der Eingang des Registers 13 ist zusätzlich mit einer Steuerinformation s beschaltet. Ein Ausgang des PROM 11 arbeitet als Steuerausgang s auf die Steuereinheit ST.
Der Automat A₃ ist aus einer Verzögerungseinheit V₃ und einer Einheit zur arithmetischen und logischen Transformation U₃ aufgebaut. Die Verzögerungseinheit V₃ setzt sich aus Registern 14, 15, 16, 17 und 18 sowie einem Negator 19 zusammen. Die Einheit zur arithmetischen und logischen Transformation U₃ besteht im einzelnen aus einem Register 20, einer arithmetischen Einheit (ALU) 21 und einem Dividierer 22. Dabei sind die Register 14, 15 und 16 eingangsseitig mit dem Ausgang des PROM 11 verbunden. An den Eingang des Registers 15 ist zusätzlich ein Steuersignal s geführt. Ausgangsseitig ist das Register 14 mit dem Eingang des Registers 17 verbunden. Dem Register 15 ist das Register 18 nachgeschaltet, wobei ein Ausgang des Registers 15 außerdem zum Negator 19 und dem Enable-Eingang des Registers 17 führt. Der Ausgang des Negators 19 bedient hingegen den Enable-Eingang des Registers 16, wodurch erreicht wird, daß die Ausgänge der Register 16 und 17 nur alternativ auf den einen Eingang A der ALU 21 wirksam werden. Der andere Eingang B der ALU 21 ist mit dem Ausgang des Registers 20 verbunden, auf dessen Eingang der Ausgang der ALU 21 rückgeführt ist. Darüber hinaus ist der Ausgang der ALU 21 an den Eingang des Dividierers 22 geschaltet. Der Rücksetzeingang des Registers 20 und der Enable-Eingang des Dividierers 22 werden vom Ausgang des Registers 18 gesteuert. Der Ausgang des Dividierers 22, der aus zwei in Reihe geschalteten Schieberegistern bestehen oder auch ein PROM sein kann, liefert schließlich im Falle der Kompression den komprimierten Kode K.OUT und bei der Dekompression die dekomprimierten Daten DK.OUT.
Die vorstehend statisch beschriebene Einrichtung funktioniert wie folgt:
Mit Hilfe der Steuereinheit ST wird die Betriebsweise Kompression bzw. Dekompression eingestellt.
Bei der Kompression dient der Automat A₁ der Vorverarbeitung der digitalen Bilddaten, der Automat A₂ der Kompression und der Automat A₃ der einfachen Übertragung des komprimierten Kodes an den Ausgang der Einrichtung.
Die digitalen Bilddaten werden zunächst im Automaten A₁ in Bildpunktdaten-Differenzen normierter Form übertragen. Dazu werden die Bilddaten bildpunktweise über das Register 1 an den Eingang B der ALU 5 geführt. Mit Hilfe der Steuereinheit ST wird bestimmt, welche Funktion und zwar S:=A-B für die Differenzbildung oder S:=A für die Übernahme des Datums des ersten Bildpunktes eines Datensatzes oder für die Übernahme des Datums des Bildpunktes, dessen Vorgänger mit Sonderkode kodiert wurde, gültig ist. Die Steuereinheit ST aktiviert das Argument, welches auf den Eingang A der ALU 5 geschaltet wird und zwar:
  • a) über Register 3 der Vorgänger des am anderen Eingang der ALU 5 anliegenden Bildpunktdatums oder
  • b) über Register 2 das erste Bildpunktdatum eines Datensatzes.
Die in der ALU 5 gebildete Bildpunktdaten-Differenz wird einerseits im Komparator 9 mit einem konstanten Wert, welcher der maximalen Differenz entspricht, verglichen und andererseits mit Hilfe des PROM 6 in eine normierte Form übersetzt. Das Vergleichsergebnis wird der Steuereinheit ST mitgeteilt und bestimmt die Funktion der ALU 5 im nächsten Verarbeitungstakt. Der PROM 6 ordnet Differenzen, deren Wert über dem vereinbarten Wert für die maximale Differenz liegen, einen Sonderkode zu, und das nachfolgende Bildpunktdatum wird in diesem Falle unnormiert an den Ausgang des Automaten A₁ übertragen.
Der Automat A₂ führt die Kompression der in der Vorverarbeitung gebildeten Bildpunktdaten-Differenz aus. Dabei kodiert der PROM 11 die Differenz zweier aufeinanderfolgender Bildpunktdaten anhand einer Kodetabelle aus den Eingangsinformationen und zwar aus der Bildpunktdaten-Differenz in Register 10, dem Kode des letzten Zuordnungsprozesses in Register 12 und einer Rückinformation in Register 13. Die Steuereinheit ST stellt über das Register 13 außerdem eine Information s bereit, welche die in der Betriebsweise Kompression gültige Kodetabelle im PROM 11 auswählt. Der PROM 11 erzeugt seinerseits ein Gültigkeitssignal s für die Steuereinheit ST, wenn der bis dahin ermittelte komprimierte Kode über den nachgeschalteten Automaten A₃ ausgegeben werden kann. Von der Steuereinheit ST wird bei Neubeginn eines Datensatzes und bei Sonderkode ein Signal abgegeben, welches bewirkt, daß
  • a) der bisher ermittelte Kode am Ausgang des PROM 11 an den Automaten A₃ übertragen wird und
  • b) die Eingangsinformation des PROM 11 in der Form kodiert wird, daß der neue Kode dem Grauwert des anliegenden Bildpunktes entspricht.
Der komprimierte Kode wird schließlich vom Automaten A₃ an den Ausgang der Einrichtung übertragen. Dabei gelangt der Kode über die Register 14 und 17 an den Eingang A der ALU 21. Da sich bei der Betriebsweise Kompression das Register 20, welches auf den Eingang B der ALU 21 arbeitet, ständig im rückgesetzten Zustand befindet, wird der komprimierte Kode unverändert an den Eingang des Dividierers 22 geführt, der bei dieser Betriebsweise als einfaches Register arbeitet. Am Ausgang des Dividierers 22 steht somit das Ergebnis der Kompression K.OUT zur Verfügung.
Im Falle der Dekompression dient der Automat A₁ der Übertragung des komprimierten Kodes, der Automat A₂ der Dekompression und der Automat A₃ der Nachverarbeitung.
Da sich bei dieser Betriebsweise bedingt durch ein Steuersignal s am Eingang des ODER-Gatters 7 der Eingang B der ALU 5 ständig im rückgesetzten Zustand befindet, wird der über das Register 2 an den Eingang A der ALU 5 geführte komprimierte Kode unverändert an den Adreßeingang des PROM 6 übertragen. Das Steuersignal s selektiert im PROM 6 eine Tabelle, welche die Eingangsinformationen unverändert an den Ausgang des Automaten A₁ übergibt. Der Automat A₂ ordnet dem komprimierten Kode eine Bildpunktdaten-Differenz zu. Dabei bilden der komprimierten Kode im Register 10, der im letzten Zuordnungsschritt gebildete Zwischenkode im Register 12 und eine Rückinformation im Register 13 die Adresse, der anhand einer gespeicherten Kodetabelle im PROM 11 ein neuer Zwischenkode und ein dekomprimiertes Datum zugeordnet wird. Die Auswahl der für die Dekompression gültigen Kodetabelle erfolgt durch ein von der Steuereinheit ST über das Register 13 bereitgestelltes Steuersignal s. Der PROM 11 erzeugt seinerseits ein Steuersignal s, welches die Bereitstellung des nächsten komprimierten Kodes über den Automaten A₁ veranlaßt und zwar nur dann, wenn das in Register 10 anliegende komprimierte Datum
  • a) einen Sonderkode bzw. den Grauwert des ersten Bildpunktes eines neuen Datensatzes enthält oder
  • b) die Dekompression dieses Datums beendet ist.
Der PROM 11 überträgt bei Neubeginn eines Datensatzes bzw. nach Sonderkode den Grauwert des Bildpunktes und in allen anderen Fällen die Differenz der Bildpunktdaten zweier benachbarter Bildpunkte an den Automaten A₃.
Für die nun folgende Nachverarbeitung wird das dekomprimierte Datum zunächst über die Register 14 und 17 an den Eingang A der ALU 21 geführt. Die Steuerinformationen in den Registern 15 und 18 bestimmen die Funktion mit der das Argument am Eingang A der ALU 21 an den Ausgang des Automaten A₃ übertragen wird und zwar:
  • a) S:=A für die direkte Übermittlung des unkomprimierten Bildpunktdatums eines Datensatzanfanges oder
  • b) S:=A+B für die Berechnung des Bildpunktdatums aus dem Grauwert des Vorgängers und der Differenz zum Vorgänger oder
  • c) S:(A+B)/2 für die Mittelwertbildung bei Auftreten eines Sonderkodes.
Zur Rekonstruktion einer mit Sonderkode kodierten Bildpunktdaten-Differenz wird das unkomprimierte Bildpunktdatum des folgenden Bildpunktes und das in Register 20 auf den Eingang B der ALU 21 rückgeführten Ergebnis der letzten Dekompression addiert und danach im Dividierer 22 durch zwei geteilt, was einer Mittelwertbildung entspricht. Die ursprünglichen Bildpunktdaten gelangen über den Dividierer 22 an den Ausgang des Automaten A₃.
Ein Vergleich des Aufbaus der Automaten A₁ und A₃ läßt erkennen, daß diese eine Struktur aufweisen, die sehr ähnlich ist. Insbesondere kann der Dividierer 22 ohne weiteres durch einen Speicher, wie er durch den PROM 6 im Automaten A₁ repräsentiert ist, ersetzt werden. Aus diesem Grunde und da einerseits in der Betriebsweise Kompression der Automat A₃ nur als einfaches Register arbeitet und andererseits in der Betriebsweise Dekompression der Automat A₁ lediglich der Übertragung des komprimierten Kodes dient, kann das erfindungsgemäße Verfahren auch mit zwei Automaten des Typs A₁ und A₂ bewerkstelligt werden. Hierzu sind die Rückführungen in der arithmetischen Einheit 5 des Automaten A₁ so zu ergänzen, daß dieser entsprechend gesteuert die Aufgaben des Automaten A₃ übernehmen kann. Um in der Betriebsweise Dekompression arbeiten zu können, muß dann allerdings eine Zwischeninformation DK.RET vom Ausgang des Automaten A₂ an die Eingänge des hierbei mit A1/3 bezeichneten Automaten rückgeführt werden (Fig. 3). Die dekomprimierten Daten DK.OUT erscheinen dann am Ausgang des Automaten A1/3.
Das erfindungsgemäße Verfahren läßt sich aber auch mit nur einem einzigen, dem Automaten A₂ sehr ähnlich aufgebauten Automaten A durchführen, wie nachfolgend erläutert werden soll. Hierzu ist der Speicher 11 durch einen Speicher (PROM) 23 hinreichender Kapazität zu ersetzen und anstelle eines Registers 12 sind zwei Register 12a und 12b vorzusehen, wobei Ausgänge des Speichers 23 einerseits über das Register 12a und andererseits über das Register 12b auf Eingänge desselben Speichers 23 rückgeführt sind (Fig. 4). Die Datenquelle ist hierbei direkt mit dem Eingang des Registers 10 verbunden. Die Vorverarbeitung der digitalen Daten bei der Betriebsweise Kompression und die Nachverarbeitung bei der Betriebsweise Dekompression erfolgen also mit Hilfe des PROM 23 und eines entsprechenden Programmes. Am Beginn der Kompression ist das Register 12a mit Null, das Register 12b mit dem ersten Bildpunktdatum a und das Register 10 mit dem zweiten Bildpunktdatum b geladen. Nach dem ersten Takt wird das Datum a unverändert ausgegeben und in den Registern 12a, 12b und 10 stehen in der Reihenfolge die Daten b-a, b und das dritte Bildpunktdatum c, wobei das Register 13 den Zustand z=0 anzeigt. Danach kann entsprechend den vorliegenden Werten auf fünf verschiedene Weisen ausgegeben werden, wobei die ausgegebenen Daten entsprechend der vorgegebenen Kodierungsart verschlüsselt sind. Im Fall 1 stehen im Register 12a die Daten b-a und c-b, im Register 12b des Datum c, im Register 10 das vierte Bildpunktdatum d, wobei das Register 13 in den Zustand z=1 versetzt ist. Im Fall 2, bei dem b-a ausgegeben worden ist, weil für ein weiteres Datum kein Platz ist, stehen im Register 12a das Datum c-b, im Register 12b das Datum c und im Register 10 das Datum d. Dieser Fall wird mit dem Zustand z=0 im Register 13 charakterisiert, ebenso wie bei Vergabe eines Sonderkodes im Fall 3, bei dem dann im Register 12 das Datum Null, im Register 12b das Datum c und im Register 10 das Datum d eingetragen ist. Die Fälle 4 und 5 sind einer beabsichtigten Glättung vorbehalten. So stehen im Fall 4 im Register 12a die Daten [(a+c)/2]-a und [(a+c)/2]-c, im Register 12b das Datum c und im Register 10 das Datum d, was mit z=1 im Register 13 angezeigt ist. Im Fall 5, der mit Fall 2 vergleichbar ist, ist das Register 12a lediglich mit dem Datum [(a+c)/2]-a geladen während im Register 12b gleichfalls das Datum c und im Register 10 das Datum d steht. Dieser Fall wird selbstverständlich im Register 13 wieder mit dem Zustand z=0 charakterisiert. Die weiteren Schritte bzw. Takte verlaufen dann analog. Anstelle der Mittelwertbildung können auch andere Zwischenwerte, zum Beispiel Medianwerte, zur Glättung gebildet werden. Bei der Glättung muß allerdings beachtet werden, daß zwei Glättungsschritte nicht unmittelbar aufeinanderfolgen dürfen, wie auch Sonderkode nicht unmittelbar hintereinander gegeben werden kann.
Die Entschlüsselung des komprimierten Kodes erfolgt in folgender Weise: In zwei Vorbereitungstakten wird das erste Kodewort, das nach Konvention das erste Datum unverschlüsselt enthält, zunächst in das Register 10 und dann in das Register 12b transferiert. Dann ist allgemein vor Ausführung eines beliebigen Dekompressionstaktes folgende Situation gegeben: Register 12b enthält das aktuelle zu entschlüsselnde Kodewort, Register 10 das diesem Kodewort folgende. Das Zustandsregister 13 zeigt dabei an, ob das in Register 12b befindliche Kodewort als unverschlüsseltes Direktwort (bei Beginn der Dekompression oder nach Sonderkode) oder gültiges Kodewort interpretiert werden muß. Im weiteren Verlauf der Entschlüsselung sind nun zwei Fälle zu unterscheiden.
Fall A: Das Kodewort im Register 12b enthält nur ein Datum. In diesem Fall wird das entschlüsselte Datum ausgegeben, wobei beim Start und nach Sonderkode ein bloßer Transport des Datums erfolgt, und gleichzeitig im Register 12a, das als Grauwertregister arbeitet, gespeichert. In der Fole wird das im Register 10 stehende Kodewort nach Register 12b über- und in Register 10 das nachfolgende Kodewort eingetragen.
Fall B: Das Kodewort im Register 12b enthält wenigstens zwei Daten. In diesem Fall wird das erste Datum aus dem Kodewort extrahiert und ausgegeben, ein gültiges Kodewort generiert, das die noch nicht entschlüsselten Daten enthält, und dies in Register 12b gespeichert sowie ein Signal s an die Steuer- und Regeleinheit ST abgegeben damit das Laden des Registers 10 mit dem nächsten Kodewort solange unterbunden ist bis das zweite bzw. die weiteren Daten aus Register 12b entschlüsselt und ausgegeben sind.
Liegt im Register 12b ein Sonderkode vor, das heißt das Datum ist wegen zu großer Differenz zum vorausgehenden Bildpunkt nicht darstellbar, so steht stets im Register 12a der dem nicht darstellbaren Datum vorausgehende Grauwert und im Register 10 - nach der Sonderkodekonvention - der nachfolgende unverschlüsselte Grauwert. Aus vorausgehendem und nachfolgendem Grauwert kann nach einer im PROM 23 enthaltenen Vorschrift ein Zwischenwert gebildet und ausgegeben werden.
Zur Kodierung bieten sich beim erfindungsgemäßen Verfahren Klassen von Präfix-, Huffman- und Schichtkodierungen an. Dies soll am Beispiel einer Präfixkodierung erläutert werden. So können für einen Präfixkode mit 8 Bit Wortlänge, bei dem die ersten beiden Bit-Stellen für den Präfix reserviert sind, folgende sechs Kodeworthülsen definiert werden:
H 1: 00 xxxxxx
In der Hülse H 1, die mit dem Präfix 00 charakterisiert ist, kann genau ein Datum mit 6 Bit-Stellen untergebracht werden.
H 2: 01 xxxyyy
In der Hülse H 2, die mit dem Präfix 01 gekennzeichnet ist, können genau zwei Daten mit jeweils drei Bit-Stellen eingetragen werden. Das erste Datum steht dabei unmittelbar nach dem Präfix.
H 3: 10 xxyyzz
In der Hülse H 3, deren Präfix 10 lautet, können drei Daten zu je zwei Bit-Stellen aufgenommen werden.
H 4: 11 ffffff
Die durch den Präfix 11 bezeichnete Hülse H 4 kann bis zu 64 Daten identischer Art aufnehmen. Die in den sechs Bit-Stellen dargestellte Binärzahl charakterisiert dabei eine Zahl der Wiederholung eines Datums.
Um den Kode weiter zu charakterisieren, muß nun noch eine Aussage über die Datendarstellung in den Kodeworthülsen gemacht werden. Da man im Bestreben einen kurzen Kode zu haben, hauptsächlich Differenzen übertragen will, bieten sich bei jeder Bit-Stellenzahl immer eine ungerade Anzahl von Möglichkeiten, das sind bei zwei Bit die Differenzen -1, +1 und 0. Da mit einer bestimmten Bitzahl immer eine gerade Anzahl von Daten definierbar ist, bleibt in jedem Falle zunächst eine Kombination unbenutzt. Als unbenutzte Kombination kann man die binäre Zahl Null wählen. Auf die Worthülse H 1 angewendet, bedeutet dies, daß die nachfolgend mit H 0 bezeichnete Kombination
H 0: 00 000000
nicht genutzt wird. Dieses Datum kann dann zur Steuerung und zu Prüfzwecken verwendet werden. In analoger Weise entsteht bei den Worthülsen H 2, und H 4 eine Reihe zunächst ungenutzter Bit-Kombinationen, die dann für weitere Kodierungen zur Verfügung stehen. Als Beispiel diene die nicht genutzte, im folgenden mit H 5 bezeichnete Kombination der Hülse H 2
H 5: 01 000000
die zur Kennzeichnung des Sonderkodes verwendet werden soll. Das Datum 01 000000 steht dann stellvertretend für eine nicht darzustellende Differenz und schließt die Konvention ein, daß das diesem Kodewort folgende als Direktwort (Grauwert) zu deuten ist.
Die bisher genannten Kodeworthülsen kann man zu folgender Kodematrix KM zusammenfasen:
wodurch in Verbindung mit den genannten Konventionen eine wenig aufwendige Kodecharakterisierung und -standardisierung erreicht wird.
Aufstellung der verwendeten Bezugszeichen
A₁, A₂, A₃, A1/3, A
Automaten
ST Steuereinheit
CP Pixeltakt
MODE Betriebsartsignal
START Zeilenanfang
DATIN.EN Erlaubnis zum Datenlesen
DATOUT.EN Erlaubnis zum Datenschreiben
K.IN Eingang für digitale Bilddaten
DK.IN Eingang für komprimierten Kode
K.OUT Ausgang für komprimierten Kode
DK.OUT Ausgang für dekomprimierte Daten
s Steuerein- bzw. Steuerausgänge
V₁; V₂, V₃ Verzögerungseinheit
U₁, U₃ Einheit zur arithmetischen und logischen Transformation
M Speichereinheit
1, 2, 3 Register
4 Negator
5 ALU
6 Speicher (PROM)
7 ODER-Gatter
8 Register
9 Komparator
10 Register
11 Speicher (PROM)
12, 13, 14, 15, 16, 17, 18 Register
19 Negator
20 Register
21 ALU
22 Dividierer
23 Speicher (PROM)

Claims (9)

1. Verfahren zur Kompression und Dekompression von digitalen Daten, insbesondere von in digitaler Form vorliegenden Grauwertbildern, durch Kodierung bzw. Dekodierung, wobei für die Betriebsweise Kompression die digitalen Daten zunächst vorverarbeitet werden, indem einerseits ein Vergleich der Bildpunktdaten aufeinanderfolgender Bildpunkte durchgeführt und in Abhängigkeit vom Vergleichsergebnis ein Steuersignal erzeugt wird und andererseits in Abhängigkeit vom Steuersignal und/oder einem an einer Steuer- und Regeleinheit vorgebbaren Steueralgorithmus eine Zuordnung der Operanden für eine Differenzbildung festgelegt wird, derart, daß die Differenzbildung zwischen den Bildpunkten eines Bildpunktes und den Bildpunktdaten seines jeweiligen unmittelbaren Vorgängers oder den Bildpunktdaten eines zweckentsprechend gewählten Vorgängers zur Glättung oder dem Bildpunktdatum Null zur Direktübertragung eines Bildpunktes vorgenommen wird, dadurch gekennzeichnet, daß
  • a) während der Vorverarbeitung einerseits die Bildpunktdaten-Differenz mittels ersten Speichers in eine normierte Form übersetzt wird und andererseits der Vergleich der Bildpunktdaten-Differenz mit einem vorgebbaren maximalen Wert erfolgt und für den Fall der Überschreitung dieses Wertes ein Steuersignal erzeugt wird, mit dessen Hilfe der zugehörigen Bildpunktdaten-Differenz im ersten Speicher ein Sonderkode zugeordnet und in diesem Fall das nachfolgende Bildpunktdatum unnormiert zur Kompression übertragen wird und daß
  • b) die der Vorverarbeitung folgende Kompression der Bildpunktdaten-Differenzen rekursiv erfolgt, indem anhand einer mittels zweiten Speichers gespeicherten Kodetabelle jeweils aus der anliegenden normierten Bildpunktdaten-Differenz und dem Kode des vorausgegangenen Zuordnungsprozesses sowie einer Rückinformation ein neuer Kode gebildet wird, wobei das von der Steuereinheit bei Neubeginn eines Datensatzes oder bei Sonderkode abgegebene Signal bewirkt, daß in diesem Falle der neue Kode dem Grauwert des anliegenden Bildpunktes entspricht und daß
  • c) der zweite Speicher ein Gültigkeitssignal für die Steuereinheit erzeugt, wenn der bis dahin ermittelte komprimierte Kode ausgegeben werden kann und daß
    für die Betriebsweise Dekompression
  • d) der komprimierte Kode zunächst an den Adreßeingang des ersten Speichers geführt wird, in dem mittels Steuersignals eine Tabelle selektiert wird, welche die Eingangsinformationen unverändert zur Dekompression übergibt, und daß
  • e) aus dem komprimierten Kode und dem im vorausgegangenen Zuordnungsschritt gebildeten Zwischenkode sowie einer Rückinformation eine Adresse gebildet und diese dem zweiten Speicher zugeführt wird, in dem anhand einer gespeicherten Kodetabelle ein neuer Zwischenkode und ein dekomprimiertes Datum zugeordnet wird und daß
  • f) der zweite Speicher ein Steuersignal erzeugt, welches die Bereitstellung des nächsten komprimierten Kodes veranlaßt, wenn das anliegende komprimierte Datum einen Sonderkode bzw. den Grauwert des ersten Bildpunktes eines neuen Datensatzes enthält oder die Dekompression dieses Datums beendet ist und daß
  • g) der Dekompression eine Nachverarbeitung folgt, indem mit Hilfe der Steuerinformation entweder für die direkte Übertragung des unkomprimierten Bildpunktdatums eines Datensatzanfanges gesorgt wird oder die Berechnung des Bildpunktdatums durch Addition aus dem Grauwert des Vorgängers und der Differenz zum Vorgänger erfolgt oder bei Auftreten eines Sonderkodes der Mittelwert aus dem unkomprimierten Bildpunktdatum des folgenden Bildpunktes und dem Ergebnis der letzten Dekompression gebildet wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß anstatt mit zwei Speichern mit einem einzigen Speicher hinreichender Speicherkapazität gearbeitet wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Länge der Kodewörter 8 bit oder ein Vielfaches davon beträgt.
4. Einrichtung zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß drei jeweils mit der Steuer- und Regeleinheit (ST) in Verbindung stehende hintereinandergeschaltete Automaten (A₁, A₂, A₃) vorgesehen sind, wovon für die Betriebsweise Kompression der erste Automat (A₁) der Vorverarbeitung, der zweite Automat (A₂) der eigentlichen Kompression und der dritte Automat (A₃) der Übertragung des komprimierten Kodes und für die Betriebsweise Dekompression der erste Automat (A₁) der Übertragung des komprimierten Kodes in unveränderter Form, der zweite Automat (A₂) der eigentlichen Dekompression und der dritte Automat (A₃) der Nachverarbeitung dient, und daß der erste Automat (A₁) aus einer ersten eingangsseitig mit der Datenquelle verbundenen Verzögerungseinheit (V₁) und einer nachgeschalteten, den ersten Speicher (6) enthaltenden Einheit (U₁) zur arithmetischen und logischen Transformation und der zweite Automat (A₂) aus einer eingangsseitig mit den Ausgängen des ersten Speichers (6) verbundenen zweiten Verzögerungseinheit (V₂) und einer nachgeschalteten, den zweiten Speicher (11) enthaltenden Speichereinheit (M) und der dritte Automat (A₃) aus einer dritten, eingangsseitig mit den Ausgängen des zweiten Speichers (11) verbundenen Verzögerungseinheit (V₃) und einer nachgeschalteten, mit dem Ausgang für den komprimierten Kode bzw. die dekomprimierten Daten versehenen Einheit (U₃) zur arithmetischen und logischen Transformation besteht.
5. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die erste Verzögerungseinheit (V₁) aus drei Registern (1, 2, 3) und einem Negator (4) besteht und die Einheit (U₁) zur arithmetischen und logischen Transformation neben dem ersten Speicher (6) eine arithmetische Einheit (5), einen Komparator (9), ein ODER-Gatter (7) und ein Register (8) aufweist und daß die arithmetische Einheit (5) mit ihrem ersten Eingang (A) einerseits über das zweite Register (2) und andererseits über die Reihenschaltung von ersten und dritten Register (1, 3) und mit ihrem zweiten Eingang (B) über das erste Register (1) mit der Datenquelle verbunden ist und ausgangsseitig auf die Adreßeingänge des ersten Speichers (6), auf den Komparator (9) und die Steuer- und Regeleinheit (ST) arbeitet und daß der Ausgang des Komparators (9) mit einem Eingang des ODER-Gatters (7) verknüpft ist, dessen anderer Eingang ebenso wie der Takteingang des dritten Registers (3) und unter Zwischenschaltung des Negators (4) der des zweiten Registers (2) mit der Steuer- und Regeleinheit (ST) in Verbindung steht und daß das ODER-Gatter (7) ausgangsseitig unter Zwischenschaltung des vierten Registers (8) auf einen Rücksetzeingang der arithmetischen Einheit (5) arbeitet.
6. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Verzögerungseinheit (V₂) aus einem Register (10) besteht und die Speichereinheit (M) neben dem zweiten Speicher (11) zwei Register (12, 13) aufweist, und beide Register (12, 13) eingangsseitig mit Ausgängen und ausgangsseitig wie das Register (10) der zweiten Verzögerungseinheit (V₂) mit dem Adreßeingang des zweiten Speichers (11) verbunden sind und ein Eingang eines der beiden Register (13) ebenso wie ein Ausgang des zweiten Speichers (11) mit der Steuer- und Regeleinheit (ST) in Verbindung steht.
7. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die dritte Verzögerungseinheit (V₃) aus fünf Registern (14 bis 18) und einem Negator (19) besteht und die nachgeschaltete Einheit (U₃) zur arithmetischen und logischen Transformation ein Register (20), eine arithmetische Einheit (21) und einen Dividierer (22) aufweist und daß die ersten drei dieser Register (14, 15, 16) eingangsseitig mit dem Ausgang des zweiten Speichers (11) verbunden sind und das vierte dieser Register (17) dem ersten und das fünfte dieser Register (18) dem zweiten dieser Register (14 bzw. 15) nachgeschaltet ist, wobei das zusätzlich mit einem Steuereingang versehene zweite dieser Register (15) ausgangsseitig auch auf den Enable-Eingang dieses vierten und über den Negator (19) auf den Enable-Eingang dieses dritten Registers (17 bzw. 16) arbeitet, und daß der eine Eingang (A) der arithmetischen Einheit (21) sowohl mit dem Ausgang dieses dritten als auch mit dem Ausgang dieses vierten Registers (16 bzw. 17) verbunden ist und der andere Eingang (B) der arithmetischen Einheit (21) an den Ausgang des Registers (20) geschaltet ist, an dessen Eingang der Ausgang der arithmetischen Einheit (21) rückgeführt ist, und daß der Rücksetzeingang des Registers (20) ebenso wie der Enable-Eingang des der arithmetischen Einheit (21) nachgeschalteten Dividierers (22) mit dem Ausgang des fünften Registers (18) verbunden ist, wobei am Ausgang des Dividierers (22) der komprimierte Kode bzw. die dekomprimierten Daten bereitgestellt sind.
8. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die Einheit (U₁) zur arithmetischen und logischen Transformation des ersten Automaten (A₁) derart ergänzt, mit Rückführungen versehen und mit der Steuereinheit (ST) verbunden ist, daß sowohl die Vorverarbeitung als auch die Nachverarbeitung der digitalen Daten von ein und demselben Automaten (A1/3) durchführbar und somit der dritte Automat (A₃) entbehrlich ist, wobei in der Betriebsweise Dekompression Zwischeninformationen vom Ausgang des zweiten Automaten (A₂) an die Eingänge vom vorgeschalteten Automaten (A1/3) rückgeführt sind und dieser mit einem Ausgang für die dekomprimierten Daten versehen ist.
9. Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß anstelle der drei hintereinandergeschalteten Automaten (A₁, A₂ und A₃) ein einziger mit der Steuer- und Regeleinheit (ST) in Verbindung stehender Automat (A) vorgesehen ist, der aus einem einzigen, den ersten und zweiten Speicher (6 und 11) ersetzenden Speicher (23) hinreichender Speicherkapazität und vier zugeordneten Registern (10, 12a, 12b, 13) besteht, wobei das erste als Verzögerungseinheit arbeitende Register (10) eingangsseitig mit der Datenquelle und ausgangsseitig mit Eingängen des Speichers (23) verbunden ist und Ausgänge des Speichers (23) sowohl über das zweite als auch über das dritte Register (12a bzw. 12b) sowie über das vierte Register (13) auf Eingänge dieses Speichers (23) rückgeführt sind und ein Eingang des vierten Registers (13) ebenso wie ein Ausgang des Speichers (23) mit der Steuer- und Regeleinheit (ST) verknüpft ist.
DE4039947A 1990-12-14 1990-12-14 Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens Withdrawn DE4039947A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE4039947A DE4039947A1 (de) 1990-12-14 1990-12-14 Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE4039947A DE4039947A1 (de) 1990-12-14 1990-12-14 Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens

Publications (1)

Publication Number Publication Date
DE4039947A1 true DE4039947A1 (de) 1992-06-17

Family

ID=6420318

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4039947A Withdrawn DE4039947A1 (de) 1990-12-14 1990-12-14 Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens

Country Status (1)

Country Link
DE (1) DE4039947A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19530558A1 (de) * 1995-08-19 1997-02-20 Guenter Dr Uhlrich Verfahren und Anordnung zur Speicherung von Bildsequenzen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19530558A1 (de) * 1995-08-19 1997-02-20 Guenter Dr Uhlrich Verfahren und Anordnung zur Speicherung von Bildsequenzen

Similar Documents

Publication Publication Date Title
DE2264090C3 (de) Datenverdichtung
DE19535306A1 (de) Verfahren zum Konvertieren sich unterscheidender Datenformate
DE2139731A1 (de) Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE2626432C2 (de) Arithmetische Einheit für automatische Rechengeräte
DE3330845C2 (de)
EP1347599B1 (de) Verfahren und Protokolltester zum Dekodieren gemäss einer Protokollbeschreibung kodierter Daten
DE1189294B (de) Datenverarbeitungsanlage
DE19625157A1 (de) Datenkompressions- und -expansionsverfahren
DE3706470C2 (de)
DE2952163C2 (de) Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor
EP0144066B1 (de) Schaltungsanordnung zur schnellen Ermittlung der betragsmässig grössten Differenz von drei binär dargestellten Zahlenwerten
DE2440390C3 (de)
DE4039947A1 (de) Verfahren zur kompression und dekompression von digitalen daten und einrichtung zur durchfuehrung des verfahrens
EP1145113A1 (de) Verfahren und anordnung zur erzeugung und ausführung von komprimierten programmen eines vliw-prozessors
DE3417262C2 (de)
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
DE3908086C1 (en) Method for compressing and decompressing digital data and device for carrying out the method
EP0840230A2 (de) Vorrichtung zur Selektion von Adressenwörtern mittels Demultiplex-Decodierung
DE3113189A1 (de) "verfahren und vorrichtung zur umwandlung von digitalen zeichencodes, die von einem datenverarbeitungssystem empfangen oder geliefert werden"
DE2028931A1 (de) Digitale Rechenmaschine mit mehreren Akkumulatorregistern
DE3511713A1 (de) Adaptiv gesteuerter dpcm-coder/decoder
DE2708637C3 (de) Schaltungsanordnung zur Bildung einer BCD-Summe oder einer reinen Binär-Summe aus einem ersten und einem zweiten Operanden
DE4219726C2 (de) Verfahren und Vorrichtung zum bidirektionalen Datenaustausch zwischen einer Befehls-/Überwachungsstation und wenigstens einer zu steuernden Einheit
DE2419836B2 (de) Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee