DE2640414C2 - Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen - Google Patents
Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten MatrizenInfo
- Publication number
- DE2640414C2 DE2640414C2 DE2640414A DE2640414A DE2640414C2 DE 2640414 C2 DE2640414 C2 DE 2640414C2 DE 2640414 A DE2640414 A DE 2640414A DE 2640414 A DE2640414 A DE 2640414A DE 2640414 C2 DE2640414 C2 DE 2640414C2
- Authority
- DE
- Germany
- Prior art keywords
- matrix
- error
- prediction
- line
- coding
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/417—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
Die Erfindung betrifft die Kompression von zweidimensionalen Schwarz/Weißbildern, die normalei weise
als eine ρ · «^-Anordnung zweiwertige Abtastpunkte
codiert werden und insbesondere eine weitere Verbei
serung der Kompression derartiger Bilder unter Verwendung eines Codierverfahrens mit Voraussage und variabler Länge des Codes.
serung der Kompression derartiger Bilder unter Verwendung eines Codierverfahrens mit Voraussage und variabler Länge des Codes.
Es ist allgemein bekannt, daß die Codierung von Schwarz/Weiß-Folgen entsprechend der Anzahl aufeinanderfolgender
gleichartiger Bildelemente d. h. der Längswerte gleichartiger heller oder dunkler Bildpunktelemente
direkt unter Benutzung der Binärwerte der Abtastpunkte oder Bildelemente durchgeführt werden
kann, die eine zweidimensionale Anordnung bilden, die das zeilenweise abgetastete Bild darstellt. Ganz
allgemein kann die Codierung von Längswerten gleichartiger Bildpunktelemente durch Verwendung
eines Indexpunktes und eines relativen Zählwertes als eine Form relativer Adressierung angesehen werden.
Man überführt das Bild in einzelne Längswerte gleichartiger Bildpunktelemente dadurch, daß man für
jeden Längswert eine Codierung variabler Länge mit einem unabhängigen Codewort durchführt. Die komprimierte
Größe eines Bildes ist dann das Produkt aus der Anzahl der Codeworte (Längswerte) und der durch-
schnittlichen Länge der Codeworte.
Es erhebt sich nun die Frage, was es für einen Einfluß auf die Codierung der Längswerte haben könnte, wenn
die Verteilung der Längswerte für Schwarz oder Weiß in zweidimensionalen codierten Anordnungen, die das
ursprüngliche Bild darstellen, geändert werden könnte. Unter der Annahme von schwarzen Daten auf einem
weißen Hintergrund besteht beispielsweise eine Seite mit alphanumerischem Text aus ungefähr 90% weißen
Bildelementen und 10% schwarzen Bildelementen. Wenn eine solche Textseite längs aufeinanderfolgender
Rasterabtastzeilen abgetastet wird, so zählt man eine große Anzahl weißer Bildelemente und sehr wenige
schwarze Bildelemente. Die Verteilung der Längswerte für Schwarz ergibt dabei typischerweise einen Spitzenwert
um den Längswert 2, während die Verteilung weißer Längswerte typischerweise eine Konzentration
um den Längswert 15 aufweist. Im Gegensatz dazu hat das komplementäre oder Negativbild der gleichen Seite
mit alphanumerischem Text ungefähr 90% schwarze Bildelemente und 10% weiße Bildelemente. Außerdem
ist die Verteilung der Längswerte derart, daß nunmehr für weiße Bildelemente der Spitzenwert bei etwa 2 liegt,
während er für schwarze Bildelemente bei etwa 15 liegt. In gleicher Weise beeinflussen Veränderungen in der
Abtastauflösung bei einem vorgegebenen graphischen Bild die Verteilung der Längswerte beträchtlich. Für
einen schwarzen Text auf weißem Hintergrund stellt der Spitzenwert der schwarzen Längswertverteilung die
durchschnittliche Strichbreite eines Buchstabens auf der Seite dar. Dieser Spitzenwert verlagert sich, wenn das
Abtastintervall verändert wird. Eine optimale Codierung dieser Art von Daten verlangt eine Zählung der
verschiedenen Längswerte und eine getrennte Codierung der schwarzen und weißen Folgen von Bildpunkten
und möglicherweise sogar eine adaptive Codierung.
Es würde die Codierung von Längswerten wesentlich vereinfachen, wenn man einen Teil der Schwärze
ausbleiben könnte, so daß alle transformierten Bildanordnungen nur einige wenige schwarze Bildelemente
mit benachbarten Bildelementpaaren als eine sehr seltene Möglichkeit enthalten wurden. Dann müßte man
nämlich nur noch Folgen von weißen Bildelementen als Längswerte codieren, indem man implizit die Existenz
eines schwarzen Bildelements am Ende eines jeden Zählwertes annimmt Aufeinanderfolgende schwarze
Bildelemente können dann als Folgen von weißen Bildelementen mit der Länge 0 dargestellt werden.
Durch dieses Verfahren werden getrennte Codierer unterschiedlicher Länge für schwarze und weiße
Längswerte nicht mehr erforderlich. Ferner wird die Anzahl der zu cxKiiercnueii LängSwerte im wesentlichen
dadurch halbiert daß das Codieren von schwarzen Längswerten entfällt Wenn die Reduzierung der
Schwärzung erreicht wird, ohne gleichzeitig die Anzahl der Weiß/Schwarz-Bildelementpaare zu verdoppeln,
dann würde die oben genannte Codierung insgesamt eine Verringerung in der Anzahl der je Bild erforderlichen
Codeworte bedeuten und auch eine Kompression der Bildgröße erreichen. Ein solches Verfahren des
»Ausbleichens« in einem Bild kann durch das Verfahren eines vorausschauenden Codierens erzielt werden.
Vorausschauendes Codieren erfordert gemäß dem Aufsatz von J. S. Wholey, »The Coding of Pictorial
Data«, IRE Transactions on Information Theory, April 1961, Seiten 99 bis 102, ein Verfahren mit mehreren
Verfahrensschritten. Es baut dabei auf der Möglichkeit
auf, den Schwarz- oder Weißwert des nächsten Bildelementes in jeder Abtastzeile auf der Grundlage
einer Gruppe von schwarzen oder weißen Bildelementen in Nachbarpositionen und gewöhnlich in der
gleichen oder in unmittelbar zuvor abgetasteten Zeilen vorauszusagen. Was dann tatsächlich nur noch codiert
wird, ist die Nichtübereinstimmung zwischen dem vorausgesagten und dem tatsächlichen Wert des
Bildelementes. Wenn nun eine Voraussageschaltung die »Vergangenheit« geschlossen mit berücksichtigt, dann
sollte sich die Genauigkeit der Voraussage verbessern (obgleich sich dabei schrittweise der Wirkungsgrad
verringert). Das heißt, daß eine Anzahl benachbarter Bildelemente in der gleichen und in vorhergehenden
Zeilen zur Voraussage von Bildelementen verwendet würden. Eine Voraussageschaltung, die nur den Wert
des j— 1-ten Bildelementes für eine Voraussage des
Wertes des y-ten Bildelementes verwendet, wäre eine Voraussageschaltung erster Ordnung. Eine Voraussageschaltung
dritter Ordnung könnte das j — 1 -te Bildelement für die /-te Abtastzeile und das j— 1-te und y-te
Bildelement für die / — 1-te Abtastzeile benutzen. Eine Voraussageschaltung dritter Ordnung verwendet daher
eine eng zusammenliegende Gruppe dreier benachbarter Bildelemente mit 23 oder acht unterschiedlichen
Möglichkeiten zur Erzielung einer Voraussagefunktion, d. h. eine Tabelle, in der jeder der möglichen drei
Bildelementzustände den Bildpunktwert (Schwarz/ Weiß) voraussagt der mit größter Wahrscheinlichkeit
folgt. Im Gegensatz dazu kann eine Voraussageschaltung erster Ordnung eine Voraussage nur aufgrund von
zwei möglichen Zuständen liefern. Die Wirkung einer serialen Anwendung von pq Binärwerten auf eine
ρ · ^-Anordnung von zweiwertigen Abtastpunkten bei einer zeilenweisen Abtastung auf eine Voraussageschaltung
besteht darin, daß diese Matrix in eine andere ρ · <j-Matrix umgesetzt wird, in der jeder Punkt anzeigt
ob die vorausgesagten Werte den tatsächlich vorhandenen Werten entsprechen oder nicht Entspricht ein
vorausgesagter Wert einem tatsächlichen Wert nicht, so wird eine »1« in die Matrix eingegeben und dies stellt
einen Fehler zwischen den Werten dar, während eine »0« eine Übereinstimmung anzeigt also keinen Fehler.
Die durch eine Voraussageschaltung höherer Ordnung erzeugte Anordnung hätte daher einen kleineren
Prozentsatz von Einsen (schwarz) als eine Voraussageschaltung niedriger Ordnung. Es sei hier darauf
verwiesen, daß diese Transformation eine 1 :1 Darstellung
liefert und für sich gesehen, noch keine Datenkompression erzeugt Es wird jedoch dadurch die
Anzahl der Schwarz/Weiß-Längswertpaare nicht ganz verdoppelt und die Gesamtschwärzung wird herabgesetzt
so daß das zuvor erwähnte »Ausbleichen« erreicht
wird. Die Längswertcodierung von Folgen von Weiß oder Null zwischen dem Auftreten von Einswerten in
einer Fehlermatrix wird von Wholey in seinem Aufsatz sowie in der US-Patentschrift 38 13 485 vom 28. Mai
1974 beschrieben. Dies wird als voraussagendes Längswertcodieren bezeichnet Wie in der US-Patentschrift
38 13 485 beschrieben, sieht eine vollständige, nicht kausale voraussagende Codierung benachbarte
Punkte in vorhergehenden Zeilen und vorhergehende Punkte in der derzeitigen Zeile an, am damit aOe
möglichen Zustände der beiden Werte des nächsten Büdelementes vorauszusagen. Ist diese Voraussage
fehlerhaft, wird eine 1 übertragen. Ist andererseits die
Voraussage richtig, wird eine binäre 0 übertragen. Dabei wird die Längswertcodienmg für die Bezeichnung von
Längswerten binärer Nullen ohne Fehler benutzt, so
daß dadurch implizit die benachbarten binären Einsen, die Fehler anzeigen, ortsmäßig festgelegt werden. Oder
mit anderen Worten beschreibt dieses Codierverfahren, wo binäre Einsen als Fehler auftreten und man leitet
eine Zählung der Längswerte, auf der Grundlage der Auftretens einer Fehleranzeige von dem Voraussagecodierer
ein und setzt die Zählung der nicht fehlerhaften Werte so lange fort, bis das nächste Fehlerausgangssignal
auftritt.
Der am nächsten kommende Stand der Technik ist in einem Aufsatz von H. E. White u. a. mit dem Titel
»Dictionary Lookup Encoding of Graphics Data« beschrieben, der in der von T. S. Huang und O. J. Tretiak
herausgegebenen Anthologie mit dem Titel »Picture Bandwidth Compression« auf Seiten 267 bis 281
enthalten ist, weiche bei Gordon Breach Science Publishers, New York, 1972 erschienen ist. In diesem
Aufsatz wird eine Erhöhung der Kompression dadurch vorgeschlagen, daß man die Längswertcodierung eines
zweiwertigen Bildes mit einer Voraussageschaltung erster Ordnung dadurch erreicht, daß man ein
zusätzliches Alternativcodierverfahren, die sogenannte Referenzcodierung einführt. Bei diesem Verfahren
werden Ein-Bildelement-Voraussagefehler wenn möglich
dadurch codiert, daß man ihren Ort in bezug auf in der Nähe liegende Ein-Bildelement-Voraussagefehler in
der unmittelbar vorhergehenden Zeilen ermittelt, statt wie bisher, diese Ortsbestimmung in bezug auf den
unmittelbar vorhergehenden Fehler in der derzeitigen Zeile wie bei der Längswertcodierung vorzunehmen.
Drei Bezugscodewörter werden definiert, die Fehlerorte unterhalb eines Voraussagefehlers in einer vorhergehenden
Zeile unmittelbar unterhalb, ein Bildelement links oder rechts von dem unmittelbar darunterliegenden
Bildelement angibt. Es sei hier angemerkt, daß eine
Referenzcodierung nicht immer möglich ist und daß man immer noch die Längswertcodierung verwenden
muß für solche Kombinationen, die durch die Referenzcodierung nicht erfaßt werden können, beispielsweise
Voraussagefehler, bei denen in der vorausgehenden Zeile keine in der Nähe liegenden Fehler vorhanden
sind.
Aufgabe der Erfindung ist es also, die Kompression von zweidimensionalen zweiwertigen Bildern, die
normalerweise als eine ρ ■ ^-Anordnung von zweiwertigen
Abtastpunkten codiert sind, zu verbessern und insbesondere die Kompression solcher Bilder dadurch
zu verbessern, daß jeweils für sich oder in Kombination
eine Voraussagecodierung, eine Referenzcodierung oder eine Längswertcodierung angewendet wird. Dazu
soll eine Schaltungsanordnung dienen, deren Kompres-
den zwischen den verschiedenen schwarz/weißen graphischen Bildern und ihren Komplementen invariant
ist, während trotzdem eine höhere Kompression erreicht wird, als mit den oben beschriebenen
Verfahren. Es bestehen beispielsweise statistische Differenzen zwischen Seiten mit alphanumerischem
Text mit 90% weißen Bildelementen und 10% schwarzen Bildelementen meistens langen Folgen von eo
Weiß und kurzen Folgen von Schwarz und den negativen Bildern eines solchen Textes mit ungefähr
10% weißen und 90% schwarzen Bfldelementen mit einer hohen Frequenz von kurzen Folgen von weißen
Bildelementen und langen Folgen von schwarzen Bildelementen. Ferner ergeben sich statistische Unterschiede bei einer Änderung der Abtastauflösung für ein
vorgegebenes schwarzes oder weißes Bud.
Diese Aufgabe wird durch eine Schaltungsanordnung gelöst, in der eine kreuzweise Codierung benutzt wird.
Die die ursprüngliche Bildanordnung darstellenden Punkte werden der Schaltung als aufeinanderfolgende
Abtastzeilen zugeführt. Die Schaltung bildet dann eine ρ ■ ς-Anordnung zur Darstellung von Voraussagefehlern
höherer Ordnung. Gleichzeitig wird hilfsweise eine ρ ■ q-Anordnung von festgestellten Merkmalen oder
Ereignissen gebildet, wie z. B. Rastervorderkanten aller
ίο in dem ursprünglichen Bild enthaltenen Objekte. In
dieser Schaltung werden fehlerfreie Längswerte zwischen aufeinanderfolgenden Fehler in jeder Abtastzeile
einer Voraussagefehlermatrix längswertcodiert. Gleichzeitig wird durch das Referenzcodierverfahren der Ort
dieser Fehler in bezug auf die den Ort von besonderen Ereignissen angegebende Matrix ermitteil.
Man sieht, daß die komprimierte Größe eines Bildes das Produkt aus der Anzahl der Codeworte mit der
durchschnittlichen Länge der Codeworte ist. Im Stand der Technik ist die vorausschauende Codierung primär
auf die Reduktion der Anzahl der Codeworte gerichtet, während die Referenzcodierung im wesentlichen auf
eine Reduktion der durchschnittlichen Codewortlänge ausgerichtet ist. In dem vorgenannten Aufsatz von
White u. a. wird der Versuch unternommen, diese beiden Reduzierungen gleichzeitig ohne kreuzweise Codierung
vorzunehmen, woraus sich eine Beschränkung auf eine Voraussage für ein Bildelement ergab. Führt man
dagegen eine gesonderte Matrix für den Ort besonderer Ereignisse ein, dann läßt sich zur gleichen Zeit die
Anzahl der Codeworte und ihre durchschnittliche Länge zu einem Minimum machen. Die Referenzcodierung
wird in bezug auf diese Hilfsmatrix durchgeführt, statt die Voraussagefehler in bezug auf frühere Fehler
innerhalb der gleichen Matrix festzustellen. Die Ortsmatrix und die Referenzcodierung werden dann
unabhängig einem Optimum zugeführt und dadurch wird die durchschnittliche Länge der Codeworte
verringert. Dadurch kann man aber die Voraussage auf höhere Ordnungen in der Fehlermatrix ausdehnen und
damit gleichzeitig die Gesamtzahl aller Codeworte in jedem Bild verringern.
Für den Algorithmus dieser Erfindung wird eine Anzahl von Entscheidungsregeln benutzt, ob Längswertcodierung
oder Referenzcodierung benutzt werden sollen. Für kleine Längswerte bis zu einem bestimmten
Schwellwert T, wird bevorzugt Längswertcodierung eingesetzt Darüber hinaus wird Längswertcodierung
nur dann benutzt, wenn die Referenzcodierung nicht möglich ist Genauer gesagt wird ein Längswertkompressionscodewort
aus dem Längswertfehlerwert C von
genden Fehlern (in Abhängigkeit vom Auftreten eines jeden Fehlers in der_/-ten Position der /-ten Abtastzeile
einer Voraussagefehlermatrix) dann gebildet wenn entweder C < T mit T als einem Schwellwert oder
C> T und dann, wenn eine Zeilendifferenzcodierung
für einen Fehler nicht auftritt (wobei i, j, C und T
positive, ganzzahlige Werte sind). Ein Zeflendifferenzoodwort
mit dem Differenzwert ν wird dann erzeugt wenn gleichzeitig C>
T und entweder einfaches oder mehrfaches Auftretens eines örtlichen Ereignisses in der
/— 1-ten Abtastzeile der Ortsmatrix innerhalb des Bitpositionsbereiches B <, r
< (j+n) auftritt wobei die positive ganze Zahl B die größere der beiden
Funktionen D(T, v) und (j — n) ist und die Anzahl der
dazwischen liegenden Ortsereignisse s innerhalb des Bitpositionsbereiches D(T, v) <
q < (j—n) ist und m
nicht überschreitet (wobei m, n, q, rund s alles positive
ganze Zahlen sind). Addiert man die Referenzcodeworte zu einer üblichen Gruppe von Längswertecodeworten,
dann wird die relative Frequenzverteilung des Kompressionscodewortes bei einer nur kleinen Zunahme
der Größe des Alphabets verbessert. Dies bewirkt ein stärkeres Ansteigen der Relativfrequenz gegenüber
der Größe der Verteilung der Größe des Codewortes mit einer sich daraus ergebenden kleineren Entropie je
Codewort.
Die erfindungsgemäß aufgebaute Schaltung kann ohne Verwendung vom Ausdrucken des Algorithmus
durch Betrachtung des Kompressionsverfahrens zusammengefaßt werden, was aus einer Voraussagecodierung,
Längswertcodierung, Referenzcodierung unter Anwendung einer Ortsmatrix und Codeselektion besteht. Zum
Beginn des Kompressionsverfahrens wird der Bildelementwert jedes einlaufenden Bildelementes aufgrund
der Bildelementwerte benachbarter, zuvor bearbeiteter Bildelemente vorausgesagt. In der bevorzugten Ausführungsform
der Erfindung wird das vorhergehende Bildelement in der derzeitigen Abtastzeile und die
beiden benachbarten Bildelemente in der vorhergehenden Abtastzeile zur Bildung einer Voraussageschaltung
dritter Ordnung für drei Bildelemente benutzt. Der Ausgangswert der Voraussageschaltung wird in einer
Exclusive-ODER-Verknüpfung mit dem Wert des gerade einlaufenden Bildelementes verglichen. Sind sie
gleich, dann wird eine binäre 0 für weitere Codierung weitergeleitet. Sind sie verschieden, dann ist dies ein
Voraussagefehler, so daß eine binäre Eins für weitere Verarbeitung weitergeleitet wird. Dieses Voraussagefehlerbild
ist eine 1 :1-Transformation des ursprünglichen Bildes in eine Form, in der die Codierung
wirkungsvoller ist. Eines der wesentlichen Ergebnisse dieses Voraussage-Verfahrens besteht darin, daß die
Fehlerbilder weniger Schwarzwerte aufweisen als das Original und daß sich die Fehlerbilder gleichförmiger
codieren lassen, da sie durch Änderungen, die durch die Abtastauflösung, die Abtastung von Negativbildern
oder die Abtastung von vollen schwarzen Bereichen hervorgerufen werden, weniger beeinflußbar sind.
Die Matrix der am Ausgang des Exclusive-ODER-Gliedes
abgenommenen Voraussagefehler wird zunächst dadurch codiert, daß man die Anzahl der binären
Nullen zwischen aufeinanderfolgenden Paaren von Einsen zählt. Die Überlaufzählung mit variabler Länge,
die hier verwendet wird, ergibt einen komprimierten Längswertcode für den Ort des laufenden Voraussagefehlers
in bezug auf den unmittelbar vorherliegenden Fehler.
Gemäß der vorliegenden Erfindung lassen sich Voraussageiehler auch dadurch codieren, daß man ein
Bildelement in bezug auf eine Ortsmatrix von Orten allgemeiner Ereignisse einordnet, welche ebenfalls aus
der ursprünglichen Matrix abgeleitet ist, wie z. B. aus
einer Matrix von Voraussagefehlern erster Ordnung oder aus der bevorzugten Ausführungsform einer
Matrix von Vorderkanten des Rasters. Die Schaltung für die Referenzcodierung wird vorzugsweise gleichzeitig
mit der Längswertcodierung betrieben. Jeder Voraussagefehler kann im allgemeinen durch seine Position in
bezug auf den Ort eines Ereignisses in einer vorhergehenden Zeile lokalisiert werden. Dieser Referenzcodierer
schaut jedoch zuvor nach einem in der Nähe liegenden Ort eines Ereignisses, wenn ein zu
codierender Voraussagefehler aufgenommen wurde. Tatsächlich sind nur diejenigen Voraussagefehler, die
unmittelbar darunter oder ein Bildelement links oder rechts unmittelbar unter einem solchen Ereignis liegen,
in der bevorzugten Ausführungsform mit η = 1 verwendbar. Bei der Dekompression erhält man jedoch
eine gewisse Zweideutigkeit dann, wenn eines oder mehrere solcher Ereignisse nach dem vorhergehenden
Voraussagefehler und dem zur Codierung des derzeitigen Voraussagefehlers benutzten Ereignis eintritt. Das
liegt daran, daß die Schaltung versucht, die Position
ίο eines referenzcodierten Fehlers in bezug auf den Ort
eines Ereignisses nach der letzten decodierten Fehlerposition zu rekonstruieren, weiß natürlich nicht, welches
Fehlerereignis in der Kompressorschaltung tatsächlich benutzt worden ist. Es muß also ein Schema gefunden
werden, um vergangene, dazwischenliegende Ereignisse bis zu den tatsächlich durch die Kompressionsschaltung
benutzten Ereignis zu überspringen. Werden solche Ereignisse durch ein besonderes Sprungcodewort
übersprungen, dann läßt sich eine Referenzcodierung immer noch nicht verwenden, wenn die Anzahl der
dazwischenliegenden Sprungcodeworte den Wert m überschreitet. 1st der Voraussagefehler nicht mit einem
Ereignis refererenzcodierbar, dann muß er nach dem Längswertcodierverfahren codiert werden. Für die
bevorzugte Ausführungsform arbeitet eine Ortsmatrix mit Rastervorderkanten am besten mit η = 0 ohne
Sprungcodeworte. In diesem Falle, wenn ausschließlich eine Referenz mit keinen dazwischenliegenden Ereignissen
festgestellt werden kann, wird ein eindeutiges Referenzcodewort erzeugt, das die Position des Fehlers
zu einem Ereignis festlegt.
Wenn ein Voraussagefehler auftritt, dann muß die erfindungsgemäß aufgebaute Schaltung im allgemeinen
eines von zwei Kompressionscodeworten auswählen. In diesem Fall wird die wirksamste Auswahl aus den zur
Verfügung stehenden Codeworten benutzt. Unter kompressionseffizienter Codierung soll dabei die
Auswahl von Codeworten verstanden werden, die die kleinste Anzahl komprimierter Bits enthalten, wenn
man ihre Länge und alle anderen Codeworte betrachtet, deren Länge sie beeinflussen. In dem hier benutzten
Algorithmus ergibt diese Einwirkung auf andere Codeworte eine Definition des Längswertschwellwertes
T unterhalb dessen Codeworte für Längswerte Priorität genießen. Wenn man immer einen solchen Sch well wert
benutzt, dann wird man Referenzcodierung (und damit die Verwendung von Ereignissen) bis zu einer
bestimmten Position D(T, v) in der vorhergehenden Zeile vollständig beseitigen. Das heißt aber, daß dann,
wenn Referenzcodierung benutzt wird, die Suche nach Ereignissen nach D(T, v) beginnen kann, so daß die
Kosten für dazwischenliegende Ereignisse entfallen können (die Sprungcodeworte iiefern wurden oder eine
Längswertcodierung erzwingen würden, wenn S > m).
ss Die Kosten, die nicht anfallen, weil alle dazwischenliegenden
Ereignisse bis zu einem vorbestimmten Schwellwert nicht benutzt oder beachtet werden, überkompensieren
tatsächlich die zusätzlichen Bits, die sich aus der zwingend vorgeschriebenen Verwendung der Längswertcodierung
bis zu diesem Schwellwert ergibt Die sich dabei ergebenden kurzen Folgen sind typischerweise
häufig genug, so daß sie auch Codeworte aufweisen, die fast so kurz sind wie die Referenzcodeworte, die sie
ersetzen. Diese Gruppe von Entscheidungsregeln, die auf T und D(T, v) basieren, ergeben eine Schaltung,
durch die die in diesem Algorithmus verwendeten Codeworte eine maximale Kompressionseffizienz aufweisen.
In einer bevorzugten Ausführungsform wurde
die Beziehung D(T. ν) gewählt, die der Einfachheit halber von T, nicht aber von ν abhängt. Am Ende jeder
Abtastzeile wird implizit eine Zeilendecodierung benutzt, die die Kreuzkorrelationscodierung mit Vorteil
anwendet. Um dies zu erzielen, wird eine zusätzliche r>
Spalte mit lauter Einsen sowohl bei der Fehlermatrix als auch bei der Orts- oder Ereignismatrix beim Kompressor
und beim Dekompressor benutzt. Diese Blindspalten folgen auf diejenige Spalte einer Matrix, die der letzten
Bildelementposition in jeder ρ · ^-Matrix entspricht, ι ο
Dadurch wird jede Abtastzeile etwas verlängert und es wird eine Spalte künstlicher Referenzcodierungsworte
erzeugt, die jenseits der eingangsseitig zugeführten Bilddaten liegen. In der bevorzugten Ausführungsform
werden diese Blindspalten bei der Orts- oder Ereignismatrix und bei der Fehlermatrix in gleichen Spaltenpositionen
untergebracht und liefern potentielle Referenzcodeworte für Zwischenzeilenkorrekturen von 0.
Die Entscheidungsregeln für Referenzcodierung oder Längswertcodierung sind wie zuvor anwendbar, gelten
jedoch jetzt für diese um eine Spalte vergrößerten Matrizen. Das Ergebnis ist, daß die meisten Abtastzeilen,
die sonst mit einem langen Längswertcodewort geendigt hätten, nunmehr am Ende einer Zeile mit
einem kurzen Referenzcodewort codiert werden können. Diese Verfahren werden für jede Zeile des
ursprünglichen Bildes bis zur vollständigen Codierung des Bildes durchgeführt.
Das Dekompressionsverfahren für die Rekonstruierung der ursprünglichen Matrix aus dem komprimierten
Bild kann als eine Kombination von Längswertdecodierung, Referenzdecodierung mit einer Orts- oder
Ereignismatrix und vorausschauender Decodierung aufgefaßt werden. Es sei darauf verwiesen, daß das
Voraussageverfahren und das Verfahren zur Erzeugung eines Ereignisses für die Dekompression mit denen der
Kompression identisch sind.
Die Erfindung wird nunmehr anhand eines Ausführungsbeispiels in Verbindung mit den beigefügten
Zeichnungen im einzelnen beschrieben. Die unter Schutz zu stellenden Verfahrens- und Vorrichtungsmerkmale sind den Patentansprüchen im einzelnen zu
entnehmen. Im einzelnen zeigen
F i g. 1A und 1B die Logik und den Datenfluß Für eine
über Kreuz durchgeführte Kompression einer zweidimensionalen Matrix zweiwertiger Abtastpunkte für vier
funktionelle Gruppierungen, bestehend aus Bildspeicher, Fehlermatrixerzeugung, Ortsmatrixerzeugung,
Kreuzmatrixvergleich und Kompressionscodierung,
F i g. 2A und 2B Systemlogik und Datenfluß für die so Dekompression von komprimierten Daten in eine
vollständige zweidimensionale Matrix zweiwertiger Biideiemente,
F i g. 3 ein funktionales Flußdiagramm für eine Fehlermatrix-K.ompressionscodierung gemäß der in
Fig. 1 gezeigten Ausführungsform,
Fig.4 ein funktionales Flußdiagramm für die
Fehlermatrix-Dekompression für komprimierte Daten entsprechend der Ausführungsform in F i g. 2,
F i g. 5A bis E im einzelnen logische Schaltungen für den Fehlermatrixgenerator 12, den Ortsmatrixgenerator
16, die Codierauswahllogik 69, den Rastermatrixgenerator 12* und die Fehlerpositionslogik 69',
Fig.6 eine graphische Darstellung verschiedener
Abtastzeilen zweiwertiger Bildelemente in einer rasterartigen Bildmatrix, mit den davon abgeleiteten Abtastzeilen
die jeweiligen Fehler- und Ortsmatrizen bildet.
Mit Ausnahme der F i g. 3 und 4 sind alle Figuren auf
die Beschreibung einer bevorzugten Ausführungsform beschränkt, mit den Parameterwerte D(T, v) = (j —
c + T + 1), T= 2, m = 0, η = 1, Bildelementvoraussage
dritter Ordnung und die Verwendung der Vorderkanten des Rasters als Ort für Ereignisse.
Beschreibung der bevorzugten Ausführungsform
In F i g. 1 ist die Systemlogik und ein Datenflußdiagramm
einer kreuzweisen Kompression einer zweidimensionalen Matrix zweiwertig codierter Bildelemente
dargestellt. Ein rohes Abbild einer ρ · ^-Matrix zweiwertig codierter Bildelemente wird der Schaltung
in aufeinanderfolgenden Abtastzeilen über die Eingangsleitung 2 durchgeführt. Jeder Wert eines Bildelements
auf der Leitung 2 dient als augenblickliches Eingangssignal für den Fehlermatrixgenerator 12 und
den Bildspeicher 10. Der Bildspeicher 10 speichert dabei die derzeit abgetastete und eine vorbestimmte Anzahl
vorher abgetasteter Abtastzeilen, die mindestens einen Teilabschnitt der ursprünglichen ρ · ^-Matrix darstellen.
Fehlermatrixgenerator 12 und Ortsmatrixgenerator 16 erzeugen ebenfalls von der ursprünglichen ρ ■ </-Matrix
abgeleitete ρ ■ g-Matrizen. Fehlergenerator 12 liefert eine ρ ■ <7-Matrix aus Einsen und Nullen, die an
jedem gegebenen Matrixpunkt i, j, die Nichtübereinstimmung zwischen einem vom Voraussagegenerator 7
gelieferten, vorausgesagten Wert und den auf Leitung 2 auftretenden Augenblickswert eines Bildelements enthält,
wobei dieser Fehlerwert durch den Fehlergenerator 71 bestimmt wird. Der Ortsgenerator 9 spricht auf
vom Bildspeicher 16 über die Leitungen 77 bzw. 7 ankommende Signale, die die derzeitige Zeile und die
benachbarten vorherigen Zeilen betreffen an und liefert eine ρ ■ q-Matrix von Werten 1 und 0, die die
Anwesenheit bzw. Abwesenheit örtlicher Ereignisse darstellen. Ein Register 13 für ein in der Nähe liegendes
Ereignis transformiert dies in gesonderte ρ · ^-Matrizen für verschiedene Zwischenzeilenkorrekturwerte
(—1,0, +1) über Leitungen 15,17 bzw. 19,die außerdem
die Ausgangsleitung des Ortsmatrixgenerators 16 sind.
Die Schaltung für einen Vergleich zwischen den einzelnen Matrizen und für die Vergleichs- und
Codierstufe 14 enthält eine Codierauswahllogik 69, die auf die vom Fehlergenerator 12 kommenden Fehlerdaten,
auf die Ortsreferenzcodierung vom Ortsmatrixgenerator 16 und die Längswertzählung vom Zähler
über Leitungen 21, 23 und 25 anspricht Der Längswertcodierer wird dabei durch die Systemsteuerung 61 über
Leitung 65 für den Bildelementtakt und Leitung 63 für Wortrückstellen betätigt und gesteuert
Die Vergleichs- und Codierstufe 14 muß dabei durch Vergleich zwischen den beiden abgeleiteten Matrizen,
eine Entscheidung treffen, ob die Folgen variabler Länge von Fehlerdatennullen zwischen Fehlerdateneinsen
codiert werden sollen, oder ob die Fehlerdateneinsen durch Referenzcodierung in bezug auf Ereignisorte
codiert werden soll je nachdem, welcher der beiden Codes den größeren Kompressionswirkungsgrad aufweist.
Es sei darauf verwiesen, daß die Codierauswahllogik 69 unmittelbar den Codierer 47 für Codesignale
variabler Länge ansteuert, so daß die Logik 69 unmittelbar ein Kompressionscodewort vom Codierer
47 liefert, das über Ausgangsleitungen 41 im Ausgangsschieberegister
39 zusammengestellt wird. Es sei ferner ganz allgemein darauf verwiesen, daß die Codierung
interessanter Ereignisse durch em Fehlersignal vom Fehlermatrixgenerator eingeleitet wird, wobei die
Langswertzählung und die Referenzcodierung in dieser
Entscheidung dadurch eine Rolle spielen, daß sie beide mit der Auswahllogik 69 gekoppelt sind. Falls eine
große Langswertzählung codiert werden muß, leitet die Auswahllogik 69 die Übertragung des Zählers 8 für den
Längswert über die Übertragungslogik 31 und Leitungen 29 und 35 nach dem Schieberegister 39 ein.
In der bevorzugten Ausführungsform werden die komprimierten Daten auf Bitpaar Grenzen organisiert,
die aus zwei aufeinanderfolgenden Elits bestehen. Die
Wortlänge ist variabel und beträgt mindestens ein Wortpaar, d. h. ein Teilwort und höchstens neun
Wortpaare je Codewort Die Worte werden nach Empfang einer unverwechselbar codierten Teilwortkombination
variabler Länge voneinander getrennt.
Zusätzlich zur Erhaltung der Grenzen komprimierter Worte sind weitere besondere Steuerworte notwendig,
um die Übertragung, Speicherung und Dekompression der komprimierten Information durchführen zu können.
Da auch hier, wie bei der oben genannten US-Patentschrift 38 13 485 eine Langswertzählung mit Überlauf
benutzt wird, stehen auch hier einige extra Zustände zur Codierung von besonderen Worten zur Verfugung. Ein
Beispiel eines solchen Steuerwortes in der bevorzugten Ausführungsform ist das Steuerwort für eine nicht
codierte Linie (UL). Dieses Steuerwort zeigt die Tatsache an, daß die nächstfolgende Datenzeile nicht
komprimiert ist und von der Folge komprimierter Daten dadurch getrennt ist, daß dieses Wort eine
vorbestimmte Länge aufweist.
Die Speicherung und Übertragung unkomprimierter Daten aus einer iCompressionsschaltung ist in dem Fall
erforderlich, wo durch Kompression und Codierung tatsächlich eine Expansion statt einer Kompression des
Datenstroms eintreten würde. Aus diesem Grund komprimiert das System durch Senden uncodierter
Rasterdaten nach dem L/L-Steuerwort in einem
Verhältnis von nur wenig unter 1:1. Ein anderes Steuerwort, das als Füllwort (FW) bezeichnet wird, wird
dann benutzt, wenn es erforderlich wird, einen gleichförmigen Fluß aufrechtzuerhalten und die Kompression
so stark ist, daß aus den codierten Daten nicht genügend Codeworte erzeugt werden. Letztlich wird
noch ein Steuerwort »Ende der Seite« (EP) benutzt, das die letzte Zeile der komprimierten Daten in einem Bild
anzeigt.
Es sei hier erwähnt, daß in dem Bericht von Laemmel,
»Coding Processes for Bandwitdh Reduction in Picture Transmission«, Bericht R248-51, PIB-187 auf Seiten 21
bis 33, herausgegeben vom Polytechnic Institute of Brooklyn, New York, am 30. August 1951 zum ersten
Male die Korrelation zwischen den Zeilen für eine Kompression rasterartig abgetasteter Schwarz/Weißbilder
beschrieben wurde. Dort wird beschrieben, daß die einzelnen Striche für die Bildzeilen, die Zeichen oder
graphische Daten darstellen, in der Weise umgeformt wurden, daß nur die äußeren Begrenzungen oder
Grenzelemente dargestellt werden. Anschließend wird dabei angenommen, daß diese Grenzen senkrecht
verlaufen oder mindestens gerade, und so kann man aufgrund ihrer Position in den unmittelbar vorangegangenen
Zeilen zu einer Voraussage einer Position in der derzeitigen Abtastzeilen kommen. Nur die Fehler in den
Positionsvoraussagen wurden in der Weise übertragen, daß Korrekturwerte von Bildelementen angegeben
wurden, die für das Erreichen der tatsächlichen Position erforderlich sind. Der Abschluß einer existierenden
Grenze wurde da angezeigt, wo er durch Einbetten in einem besonderen Codewort innerhalb einer Folge von
Positionkorrekturen auftrat Die Startpositionen neuer Grenzen wurden erst dann übertragen, nachdem alle
Korrekturen und Abschlüsse übertragen waren unter Verwendung einer Absolutposition vom Beginn der
Abtastung an.
Gorog und andere, haben in einem Aufsatz »An Experimental Low-Cost Graphic Information Distribution
Terminal«, 1971 in SlD Internation Symposium
ίο Digest, Mai 1971, Seiten 14 und 15, die Voraussage von
Grenzpunktpositionen auf die Annahme von ausschließlich senkrecht verlaufenden Grenzen beschränkt und
die möglichen Korrekturen auf —1, 0 oder +1 Bildelemente eingeschränkt Korrekturen außerhalb
dieses Bereiches wurden in diesem Aufsatz durch übliche Längswertcodierung dargestellt unter Verwendung
der Rclativposition eines Grenzpunktes aus dem zuletzt codierten Grenzpunkt in der gleichen Abtastzeile.
Die Beendigung einer existierenden Grenze (um eine Zweideutigkeit während der Dekompression zu vermeiden)
wurde nicht explizit angezeigt, sondern ergab sich vielmehr aus einer Längswertcodierung des nächsten
Grenzpunktes wie auch aus dem Beginn einer neuen senkrecht verlaufenden Begrenzung. Dieses Verfahren
wurde dabei als Referenzcodierung bezeichnet Dabei wurde vorteilhafterweise von der Tatsache Gebrauch
gemacht, daß fast alle Grenzpunkte durch eine Bezugnahme auf die vorhergehende Zeile mit nur drei
Korrekturcodes codier; werden können. Diese Vereinfachung des Laemmel'schen Algorithmus ergab immer
noch eine niedrige Entropie je Grenzpunkt und eine niedrige Entropie je Seite.
Die Anzahl der Grenzpunkte und ihre Entropie bestimmen zusammen die Entropie der Seite. Die
Reduzierung einer dieser beiden Komponenten verbessert das Kompressionsverhältnis der Seite. Die durch
Laemmel und Gorog benutzten Grenzpunkte wurden als Fehler ersten Grades vorhergehender Voraussagen
über die Art des Bildelementes aufgefaßt, d. h., daß die
4U Voraussage gemacht wurde, daß das derzeitige
Bildelement das gleiche sei, wie das unmittelbar vorhergehende Bildelement und daß Fehler die
Strichkanten an Grenzpunkten darstellen.
In der erfindungsgemäß aufgebauten Schaltung wird die Anzahl der Voraussagefehler dadurch verringert,
daß man verallgemeinert und Voraussageschaltungen höherer Ordnung verwendet. Diese Fehler werden
unter Benutzung einer begrenzten Anzahl von 2n + 1 möglichen Korrekturen zwischen den Zeilen, unterstützt
durch Längswertcodierung codiert. In der bevorzugten Ausführungsform der Erfindung mit η = 1
und Referenzcodierung wird die Codierung aufgrund einer Bildelementkorrektur gegenüber der Position von
der vorhergehenden Zeile mit — 1, 0 oder +1 durchgeführt
Es leuchtet ohne weiteres ein, wenn beispielsweise in der Mitte eines weißen Hintergrundes ein voll
ausgezogener schwarzer Kreis angeordnet ist, daß die ρ ■ q-Matrix für Voraussagefehler erster Ordnung
überall in dem Matrixfeld aus Nullen bestehen würde, mit der Ausnahme der Grenzen der Figur. Bei einem
Kreisring in dem Feld würden die in den entsprechenden Positionen durch Einsen dargestellten äußeren und
inneren Begrenzungslinien in der Voraussagefehlermatrix erster Ordnung erhalten bleiben.
Es wurde unerwarteterweise beobachtet, daß die Vorausssgefehler höherer Ordnung sich unweigerlich in
der Nähe kontinuierlich verlaufender Grenzen dadurch
häuften, daß gleichzeitig Voraussagefehler erster Ordnung erzeugt wurden. Somit könnten die Orte der
Fehler in einer Voraussage höherer Ordnung für die derzeitige Abtastzeile immer noch durch Referenzcodierung
aus der Kenntnis des Ortes der Fehler erster Ordnung oder anderer Ortsereignisse in einer Voraussage
höherer Ordnung für die derzeitige Abtastzeile immer noch durch Referenzcodierung aus der Kenntnis
des Ortes der Fehler erster Ordnung oder anderer Ortsereignisse in der vorangegangenen Abtastzeile
zusammen mit den entsprechenden Korrekturwerten — 1,0, +1 abgeleitet werden. Hat man die Anzahl der zu
codierenden Fehler dadurch verringert daß man eine Voraussage höherer Ordnung benutzt dann ist es bei
der Erfindung erwünscht ein besonderes Sprungcodewort einzuführen, das ein Überspringen einer größeren
Anzahl von in einer vorhergehenden Zeile auftretenden Ereignisses anzeigt, um damit das nächste Ereignis neu
zu definieren.
In dem Aufsatz von Gorog ist eine solche Bezugnahme nur in bezug auf das nächste Ereignis in
der vorherigen Zeile zulässig. Wenn durch die dazwischenliegende Beendigung einer senkrecht verlaufenden
Begrenzung ein weiteres dazwischenliegendes Ereignis in der vorhergehenden Zeile auftritt, dann
muß die Referenzcodierung durch Längswertcodierung ersetzt werden. Da unter Bezugnahme auf ein Ereignis
einer vorhergehenden Zeile codierbare Fehler in jedem Fall auch durch Längswertcodierung in der derzeitigen
Zeile codierbar sind, ergibt sich ein weiterer Gewinn. Wenn die Folgen gleichartiger Bits kurz sind und das
hier verwendbare Codewort für die Längswertcodierung im Vergleich mit einem Referenzcodewort klein
wäre, dann wäre es erwünscht, eine Regel zu haben, die vorzugsweise eine Längswertcodierung durchführt und
für einen beliebigen Abstand, beispielsweise Γ Bit in der
vorhergehenden Teile alle folgenden Ereignisse unbeachtet läßt. Mit einer solchen Regel läßt sich der
Ausgangspunkt für den Beginn einer Suche nach dem nächsten Ereignis um T Bits weiterbewegen. Ais Folge
davon können manche Fehler mit weniger Sprungcodeworten codiert werden. In der bevorzugten Ausführungsform
wurde die größtmögliche Anzahl aufeinanderfolgenden Sprungcodeworte m: 0 gewählt, so daß
kein Sprung benutzt wird. Verwendet man T, so können manche Fehler immer noch durch Referenzcodierung
codiert werden, die sonst durch Längswertcodierung hätten codiert werden müssen. Ein Beispiel soll dies
erläutern. Wo ein innerhalb von T Bildelementen nach dem letzten Fehler auf der vorhergehenden Zeile
auftretendes Ereignis, das tatsächliche nächste Ereignis gewesen wäre, liegt nun der zu codierende Fehler
unterhalb des ersten Ereignisses jeseits von Tund kann immer noch referenzcediert werden. Durch eine solche
Regel erhält man zusätzliche Referenzcodierungen und insgesamt werden mehr kürzere Codeworte benutzt.
Der Ausgangspunkt D(T, v) zum Festlegen des nächsten Ereignisses für die vorhergehende Zeile kann
im allgemeinen für alle verschiedenen Zwischenzeilenkorrekturwerte ν verschieden sein. In der bevorzugten
Ausführungsform der Erfindung wurde der Einfachheit halber dieser Ausgangspunkt für alle Fälle um T
weiterverlegt. Es ist außerdem notwendig, Prioritäten zu setzen, für welche Referenzcodierung benutzt
werden soll, wenn mehr als eine Möglichkeit besteht. In allen Fällen wird man, um möglichst wenige Sprungcodeworte
zu benutzen, derjenigen Referenz mit dem am höchsten positiven ganzzahligen Wert den Vorzug
geben.
Im allgemeinen sind die Grenzen bei Vorderkanten von Strichen ein brauchbarer Ort für Ereignisse oder
Bezugsereignisse (bei rasterartiger Abtastung von links nach rechts sind diese Vorderkanten die linken Kanten).
Die Grenzen der Vorderkanten stellen dabei die eine Hälfte der verfügbaren Fehler erster Ordnung dar und
liegen im allgemeinen innerhalb einer Strichbreite beliebiger Fehler höherer Ordnung. Ist die Strichbreite
ι ο kleiner als TBildelemente, dann werden die in der Nähe
der Grenze der Hinterkante codierodierten Fehler immer mit einem kurzen Codewort längswertcoriiert
Das nächste, jenseits von Tliegende Ereignis wird dann die nächstfolgende Vorderkante ohne dazwischenliegende
Ereignisse sein und liefert wiederum ein kurzes Referenzcodewort für Fehler in der Nähe dieser Grenze
der Vorderkante.
Betrachtet man nunmehr F i g. 1 in Verbindung mit Fig.3, so sieht man ein Flußdiagramm für die
2f> Kompressionscodierung interessanter Ereignisse oder
Elemente. Ausgangspunkt für diese Operation ist das Ausgangssignal des Fehlermatrixgenerators 12. Angenommen,
das System läuft an und beginnt bei einer neuen Abtastzeile, dann ist es klar, daß der Längswertzähler
durch den Taktgenerator 65 für die Bildelemente durch Anlegen eines jeden synchronisierten Bildelementes
oder Bel-Bit auf der Dateneingangsleitung 2 weitergeschaltet wird. Dies wird so lange fortgesetzt, bis
ein auf der Leitung 67 auftretender Voraussagefehler
in dritter Ordnung durch die Systemsteuerung 61 und die
Codierauswahllogik 69 festgestellt wird. Wird ein Fehler dritter Ordnung festgestellt, wenn der Zählerstand des
Längswertzählers 8 kleiner oder gleich einem Schwellwert T(C < T) ist, dann wird dieser kleine Längswert
i'i vom Zähler 8 abgefühit und durch die Codierauswahllogik
69 in einen Codierbefehl umgesetzt, der nunmehr an den Codierer 47 für kurze Codeworte variabler Länge
und von dort nach dem Schieberegister 39 übertragen wird. Ist jedoch C> T, dann ist die Frage, ob es,
11) ausgehend vom Ortsgenerator 11 für die vorhergehende
Abtastzeile innerhalb eines Bildelementes des Voraussagefehlers dritter Ordnung in der derzeitigen Abtastzeile
eines oder mehrere Ereignisse gibt. Dies wird in der Codierauswahllogik dadurch sichergestellt, daß die
■n Ausgangsleitungen 15, 17 und 19 des Registers 13
überwacht werden, indem in der Nähe liegende Ereignisse abgespeichert sind. Ist die Antwort negativ,
dann wird der Zählerstand des Zählers 8 im Codierer 31 für große Längswerte variabler Länge codiert und an
">" das Schieberegister 39 übertragen. Wenn tatsächlich ein
oder mehrere dieser Ereignisse und außerdem dazwischenliegende Ereignisse in der vorhergehenden Abtastzeile
zwischen dem Schwellwert T und einem Bildelement vor der Position unmittelbar oberhalb des
>"' codierten Bildelementfehlers auftreten, dann wird die im
Zähler 8 liegende Zählung eines großen Längswertes wiederum an das Schieberegister 39 übertragen. Gibt es
mehrere Ereignisse, dann wird ein Codewort für ein Bezugsereignis benutzt, das auf einer Prioritätsregel
b" beruht, die bestimmt, daß dieser Bezugswert mit dem
am meisten positiven Korrekturwert zwischen den Zeilen codiert wird.
Der Bildspeicher 10 besteht aus einem vielstelligen Pufferregister, in dem die Bildelementwerte einer
11' derzeitigen Abtastzeile im Register.6 für die derzeitige
Zeile abgespeichert sind, während die Bildelementwerte vorheriger Abtastzeilen in dem Speicher 1 abgespeichert
sind. Da die Erzeugung von Voraussagefehlern
höherer Ordnung oder von Ereignissen, wie ζ. B. Vorderkanten, je nach Schaltungsentwurf die Werte
von Bildelementen vieler aufeinanderfolgender früherer Abtastzeilen umfassen können, ist die Organisation des
Bildspeichers in der Erfindung lediglich der Erläuterung halber gegeben und nicht auf dieses Beispiel beschränkt
Der einzige Unterschied zwischen den Matrixgeneratoren 12 und 16 liegt in der durch diese Generatoren aus
dem ursprünglichen Bild abgeleiteten Information.
In F i g. 2 ist die Systemlogik und das Datenflußdiagramm
für die Dekompressionsschaltung gemäß der Erfindung dargestellt Während die Kompression sich
auf die Funktionen der Voraussage, der Längswertcodierung, der Referenzcodierung und der Kompressionscodeauswahl
bezieht, betrifft die Dekompression die Längswertdecodierung, die Referenzdecodierung und
die Voraussage. Die komprimierten Datenelemente 0 und ) werden einem Schieberegister 39' in F i g. 2 und
einem Decodierer 47 für Codeworte variabler Länge über Leitungen 43 bzw. 45 zugeleitet Das Ausgangssignal
des Decodierers 47 besteht aus Signalen, die den Beginn eines einen großen Längswert ansteigenden
Codeworts, den decodierten Wert eines kurzen Längswertcodeworts und die decodierten Referenzcodierungen
— 1, 0 oder +1 darsteilen. Diese Signale werden einer Fehlerpositionslogik 69' und der Systemsteuerung
61' zugeleitet Der Voraussagegenerator 75' und Fehlerpositionslogik 69' liefern beide Einsen und
Nullen an den Rastergenerator 7Γ, dessen Ausgangssignal, nämlich das ursprüngliche Bild über Leitung 2'
abgenommen werden kann. Die Systemsteuerung erzeugt dabei auf der Leitung 65' das Taktsignal für die
Bildelemente und erzeugt nach Aufnahme eines decodierten Fehlers auf der Fehlerdatenleitung 67' auf
der Leitung 63' ein Signal für die Wortrückstellung. Wie im Falle der Kompressionsschaltung steuern das
Taktsignal und die Wortrückstellung den Zähler 8 für den Längswertfehler. Ein erkennbarer Unterschied in
der Organisation der Dekompressionsschaltung gegenüber der Kompressionsschaltung besteht darin, daß der
Voraussagegenerator 75 und der Ortsmatrixgenerator 16 den Rastergenerator 71 bzw. die Fehlerpositionslogik
69' ansteuern. Ein weiterer Unterschied besteht darin, daß das Rasterdatenausgangssignal über Leitung
2' dem Speicher 10' zugeleitet wird, so daß der Voraussagegenerator und der Ortsmatrixgenerator ihre
entsprechenden Matrizen davon ableiten können.
Das auf Leitung 73' auftretende, eine Voraussage darstellende Ausgangssignal, wird am Ausgang des
Bildspeichers 10' in der Weise abgeleitet, wie sie für die Voraussage höherer Ordnung beschrieben wurde. Man
sieht, daß das auf der Ausgangsleitung 73' auftretende Voraussagesignal durch von der Fehlerpositionslogik
69' über Leitung 67' zugeführte Fehlerdaten modifiziert wird. Es ist dies der Fall, bei dem die Rasterausgangsdaten
2' denselben Wert haben wie das Ausgangssignal des Voraussagegenerators 75', solange nicht auf der
Leitung 67' Fehlerdaten auftreten. Es kann daher gesagt werden, daß die Fehlerpositionslogik 69 den Zustand
des vorausgesagten ausgangsseitigen Bildelementes dadurch korrigiert, daß ein Ausgangssignal erzeugt
wird, das den Kehrwert des Ausgangssignals der Voraussageschaltung darstellt.
Die auf der Leitung 67' auftretenden, den Rastergenerator 7Γ ansteuernden Fehlerdaten werden durch die
Fehlerpositionslogik 69' als eine Funktion der Ausgangssignale des Decodierers 47', des Zählers 8' und der
Zählervergleichslogik 28 bestimmt.
Grundsätzlich wird eine synchrone Folge von Fehlerdaten mit einer binären Null so lange erzeugt bis
die Position eines Fehlerbits 1 durch die Decodierung eines komprimierten Codewortes festgestellt ist Wenn
der in der Dekompressionsschaltung einlaufende Code längswertcodiert ist, dann erkennt dies der Decodierer
47 als Längswertdaten. Der Vorgang ist dabei dem bei der Kompression ähnlich und verläuft umgekehrt wie
das zuvor beschriebene Codierverfahren. Der einlaufende Längswertcode wird gleichzeitig dem Schieberegister
39' zugeleitet und dadurch decodiert, daß er in der Zählvergleichslogik 28 in bezug auf den Längswertzähler
8' verglichen wird, während das von der Systemsteuerung 61 ausgehende Taktsignal für die Bildelemente
den Zähler 8' fortschaltet Wird der eingespeicherte Zählerstand erreicht, dann zeigt die Vergleichslogik
Identität an und die Position eines Fehlers wird festgestellt da das Schieberegister 39' beim unmittelbar
vorhergehenden Voraussagefehler geladen worden war und die Codewortzählung den relativen Abstand zum
nächsten Fehler darstellt
Ist das einlaufende Codesignal referenzcodiert, dann
wird dies ebenfalls erkannt und es wird im Decodierer 47 decodiert Beim Feststellen eines Referenzcodeworts
muß man den Voraussagefehler unmittelbar darunter, ein Bildelement nach links oder ein Bildelement nach
rechts von dem Ereignis auffinden. Dei decodierte Referenzwert 55, 57, 59 wird der Fehlerpositionslogik
69' zugeleitet und wartet dort auf eine Koinzidenz mit einem entsprechenden Bezug auf ein Ereignis aus dem
Register 13', der auf Eingangssignale vom Bildspeicher 10' über Leitungen 77' und T ansprechende Ortsmatrixgenerator
9' und die kontinuierliche Erzeugung vom ausgangsseitigen Bit durch den Zähler 8', die anzeigen,
ob die Zeile unmittelbar oberhalb des Fehlerdatenbildelementes,
das gerade erzeugt wird, beispielsweise eine linke Kante oder einen Voraussagefehler erster
Ordnung enthält. Das Register 13' verzögert diese Daten, damit die Ereignisse, die unmittelbar oberhalb
und ein Bildelement links oder rechts des gerade erzeugten Fehlerdaten-Bildelements liegenden Ereignisse
gleichzeitig angeboten werden können. Bei Koinzidenz und Einstellen des Voraussagefehlers
höherer Ordnung muß das durch das nächste Codewort dargestellte Voraussagefehlersignal höherer Ordnung
dargeboten werden und die Codewortdekompression muß wiederholt werden.
In Fig.4 erkennt man ein Flußdiagramm für die Dekompressionsdecodierung. Wie bereits durch die
Decodierer 47 für kurze variable Längswertcodeworte in F i g. 2 angedeutet, wird bei Aufnahme jedes
Codeworts die weitere Verarbeitung dadurch bestimmt, ob ein Referenzcodewort oder ein Sprungcode (falls
verwendet) aufgenommen worden ist. Ist dies nicht der Fall, dann wird das Codewort als Längswertcodierung
verarbeitet. Längswertcodierung besteht darin, daß ein Längswertzähler durch fortschreitende Iteration betätigt
wird, bis sein Wert C dem Codewert N entspricht und ein Fehlerbit erzeugt werden kann. Bis zum
Auftreten einer solchen Übereinstimmung liefern diese Iterationen auf der Ausgangsleitung 67' eine Anzahl von
Nichtfehlerbits, die mit dem Voraussagegenerator 75' zur Regenerierung der Rasterdaten auf der Leitung 2'
benutzt werden. Eine von außen zugeleitete, das Ende einer Zeile anzeigende Bedingung, kann dieses Verfahren
jederzeit unterbrechen (zur Überprüfung sollte die Übereinstimmung N=C richtig sein, wenn diese
Unterbrechung eintritt).
Ein Bezugs- oder Sprungcodewort wird in gleicher Weise decodiert, wobei keinen Fehler anzeigende Bits
während aufeinanderfolgender Iterationen so lange erzeugt werden, bis das richtige Ereignis und die
Referenzposition ν gefunden sind. Ein Fehlerbit wird nur dann erzeugt, -.venn der Zählerstand C jenseits von
T liegt, wenn gegebenenfalls auftretende Sprungcodeworte berücksichtigt sind (durch Auffinden des entsprechenden
Ereignisses) und wenn dieses Bit eine decodierte Referenzposition in bezug auf das nächste ι ο
Ereignis aufweist Die Positionierung dieses Fehlerbildelements beendet die Decodierung eines Wortes und
bewirkt, daß das Verfahren mit dem Abrufen des nächsten Codewortos fortgesetzt wird.
In Fig.5A—E sind im einzelnen die logischen π
Schaltungen des Fehlermatrixgenerators 12, des Ortsmatrixgenerators 16, des Rastermatrixgenerators 12'
und der Fehlerpositionslogik 69' dargestellt.
In jeder der Figuren sind die in den entsprechenden F i g. 1 und 2 genannten Funktionen bis zu den
entsprechenden Torschaltungen herunter ausgeführt in diesem Zusammenhang sind die in Standardwerken
verwendeten logischen Funktionen benutzt, wie sie z. B. in den Büchern von M. Phister, »Logical Design of
Digital Computers«, bei John Wiley & Sons, New York 1958 und von McCluskey and Bartee, »A Survey of
Switching Circuit Theory«, McGraw Hill Book Company, New York 1962 beschrieben sind.
In Fig.5A werden auf einer Seite Bits oder Bildelementmuster zugeführt, die sich auf die Position
benachbarter Bildelemente in einer derzeitigen und vorhergehenden Rasterabtastzeile in bezug auf den Ort
eines derzeitigen Bildelements beziehen. Zu beachten ist, daß das Bildelement A der Bildelementwert
unmittelbar vor dem derzeitigen Bildelement X in der J5
gleichen Abtastzeile ist, während die Bildelemente B, C, D und E in der vorhergehenden Abtastzeile liegen,
wobei dann das Bildelement C in der Mitte über dem derzeitigen Bildelement X liegt. In dieser Beschreibung
sind die Ausdrücke »Bit« und »Bildelement« miteinander vertauschbar.
Die F i g. 5A zeigt dabei die Schaltung zum Erzeugen einer ρ ■ «/-Matrix für einen Vorausoagefehler höherer
Ordnung. Der Fehlermatrixgenerator 12 liefert auf der Ausgangsleitung 67 ein Fehlerdatensignal, das sich aus
einem Bit für Bit-Vergleich mit Übereinstimmung durch den Fehlergenerator 71 zwischen dem Voraussageausgangssignal
auf Leitung 73 vom Voraussagegenerator 75 und einem entsprechenden, über die Datenleitung 2
zugeführten Bit ergibt. In diesem Fall arbeitet Fehlergenerator 71 als ein Exclusive-ODER-Glied in
der Weise, daß eine fehlende Übereinstimmung zwischen den auf den Leitungen 73 und 2 auftretenden
Bildelementen auf Leitung 67 eine 1, während eine Übereinstimmung auf Leitung 67 eine 0 ergib t.
Der Voraussagegenerator 75 ist logisch als Voraussageschaltung dritter Ordnung für Bildelemente dargestellt,
wobei das benachbarte Bildelement A der Leitung 77 und die benachbarten Bildelemente B und C der
vorhergehenden Zeile parallel über eine Mehrfachleitung 7 zugeführt werden. In diesem Zusammenhang
fordert die Logik des Voraussagegenerators 75 dann auf der Leitung 73 eine binäre Eins als Ausgangssignal,
wenn eines der Bildelemente A und C, A und ,+ B oder
+ Buna Cden logischen Wert 1 hat. Für alle anderen <"
Kombinationen von Eingangssignalen erzeugt der Voraussagegenerator 75 auf der Leitung 73 eine Null.
In Fig.5B besteht der Ortsmatrixgenerator 16 aus
einem Ereignisgenerator 9 und einem Schieberegister 13 für ein in der Nähe liegendes Ereignis. Die
Eingangssignale zu diesem Generator bilden die Nachbarbits D und E der vorhergehenden Zeile, die
über Leitungen 7 dem Ereignisgenerator 9 zugeführt werden. In dieser Ausführungsform ist das festgestellte
Merkmal oder das interessierende Ereignis eine links liegende Kante. Dies tritt nur dann auf, wenn das
Bildelement E eine 1 und das Bildelement D eine 0 ist
Das Ausgangssignal des Generators 9 wird über Leitung 11 dem Schieberegister 13 zugeführt Man sieht ferner,
daß die Referenzcode werte —1, 0 und +1 auf den entsprechenden Leitungen 15,17 und 19 auftreten. Die
ein Ereignis darstellenden Bits werden in der obersten Schieberegisterstufe eingespeist und fortschreitend
nach unten weitergeschoben. Dadurch entsteht eine Art Fenster, durch die ein Ereignis, beispielsweise von
rechts nach links, hindurchtritt
In F i g. C ist die Codeauswahllogik 69 gezeigt. Diese logische Schaltung spricht auf Bildelementfehler, die
vom Fehlermatrixgenerator 12 über Leitung 67 ankommen, vom Ortsmatrixgenerator 16 über die
Leitungen 15, 17 und 19 ankommende Referenzwerte oder Bezugswerte und das Ausgangssignal des Längswertzählers
8 an, das über die entsprechenden Leitungen 21, 23 und 25 ankommt. Die logische Schaltung 69 hat dabei die Aufgabe, die Codierung einer
Rasterfolge entweder als kurzes Codewort variabler Länge oder als Referenzcodeworte im Codierer 47 oder
als lange Codeworte variabler Länge im Codierer 31 zu codieren. Dabei ist es notwendig, daß auf der Leitung 67
eine Eins auftritt, damit die ausgangsseitig angeordneten UND-Glieder die entsprechende richtige Kompressionscodebedingung
ansteuern. Die andere Logik unterdrückt Referenzcodierungen, solange keine Zählwerte
0, 1 oder 2 vorhanden sind (T= 2), führt die Codierpriorität ein, durch die REF = +1 REF = 0
ersetzt, während REF = 0 wiederum REF = — 1 ersetzt und alie REF-Codierungen von einer bistabilen
Kippschaltung sperrt, die abspeichert, wenn ein REF = +1 durchläuft, ohne benutzt zu werden (m = 0).
In Fig.5D ist der Rastermatrixgenerator 12' der Dekompressionsschaltung der F i g. 2 gezeigt. Der
Rastermatrixgenerator 12' besteht aus einem Voraussagegeneratcr 75' und einem Rastergenerator 7Γ. Der
Rastergenerator 71' wird durch den Voraussagegenerator 75' über eine Leitung 73' und die Fehlerdaten vo..
der Fehlerpositionslogik 79' über Leitung 67' angesteuert. Das Ausgangssignal des Voraussagegenerators
75' wird durch Fehlerdaten unter Verwendung der Exclusive-ODER-Verknüpfung 71 korrigiert. Mit anderen
Worten, die auf Leitung 2' vom Rastergenerator 71' ankommenden Rasterdaten sind eine logische 1, wenn
die entsprechenden auf den Leitungen 73' und 67' auftretenden Bits nicht übereinstimmen, während bei
Übereinstimmung eine logische Null erzeugt wird. Der Voraussagegenerator 75' ist hier ein durch den
Bildspeicher 10' angesteuerter Voraussagegenerator dritter Ordnung. Insbesondere wird dabei der Bildspeicher
durch das Ausgangssignal des Rastermatrixgenerators geladen. Die Funktion des Voraussagegenerators
75' ist die gleiche, wie die des Voraussagegenerators 75, nämlich die Synthese einer ρ · g-Matrixanordnung
binär-codierter Punkte.
In Fig.5E ist die Fehlerpositionslogik 69' der Dekompressionsschaltung der F i g. 2 gezeigt. Dabei ist
die Fehlerpositionslogik 69' die zur Codierauswahllogik 69 der Kompressorschaltung duale Schaltung. Diese
Fehlerpositionslogik 69' spricht auf die Kompressionscodeworte nach ihrer Decodierung durch den Decodierer
47, Längswertzähler 8', Schieberegister 39' und Zählvergleichslogik 28 sowie auf Matrixgenerator 16'
an und erzeugt eine ρ ■ q-Matrix höherer Ordnung für
einen Voraussagefehler, die dann als Fehlerdaten auf Leitung 67' auftreten. Die Fehlerpositionslogik 69' in
der Dekompressionsschaltung ist im Gegensatz zu ihrer in der Kompressionsschaltung verwendeten dualen
Schaltung 69 ein Auswahlnetzwerk, bei dem die jeweiligen decodierten Kompressionscodeworte ein
Fehlerbit logisch nach der Leitung 67' durchschalten (statt einem Netzwerk, in dem ein Fehlerbit über
codierte Kompressionscodeworte nach den Leitungen 49, 51, 53, 55, 57 und 59 durchgeschaltet wird). In den
Schaltungen 69 und 69' ist die Durchschaltzeit kritisch und hängt von der Fehlerposition bei der kompressionsschaltung
ab und bestimmt die Fehlerposition bei der Dekompressionsschaltung.
Betrachtet man erneut F i g. 2, so erkennt man, daß die dort dargestellte Schaltung die über Leitungen 43
und 45 zugeführten Kompressionscodeworte decodiert und damit eine ρ ■ q-Matrix binärcodierter Punkte in
aufeinanderfolgenden Abtastzeilen auf einer Ausgangsleitung 2' wiederherstellt. Die Schaltung enthält einen
Speicher 10', in dem ein ausgewählter Abschnitt der rekostruierten ρ ■ g-Bildmatrix eingespeichert wird.
Dieser Speicher wird durch den Rastergenerator 71' mit fortschreitender Dekompression auf den neuesten
Stand gebracht. Voraussagegenerator 75' erzeugt aus den im Speicher liegenden Daten eine ρ · q-Voraussagematrix
höherer Ordnung. Der Decodierer 14 spricht auf die über Leitungen 43 und 45 ankommenden
Kompressionscodeworte und auf die Erzeugung einer
ρ ■ q-Matrix für Ereignisse auf die auf den Leitungen 15,
17 und 19' liegenden, aus den eingespeicherten Daten abgeleiteten Signale an und erzeugt aus einer
Korrelation zwischen diesen beiden Matrizen auf der Leitung 67' eine ρ ■ «7-Fehlermatrix. Der Rastergenerator
71' koppelt die Voraussageschaltung höherer Ordnung und den Fehlermatrixgenerator und stellt
daraus eine ρ ■ ^-Matrix der ursprünglichen Anordnung
von Bildelementen lediglich dadurch wieder her, daß deren Werte, wie bereits beschrieben, einer Exclusive-ODER-Verknüpfung
zugeführt werden. Es sei damit klargestellt, daß die synthetische Darstellung der
Fehlermatrix durch ihre Beteiligung bei den längswertcodierten und referenzcodierten Daten aus der Fehlermatrix
im Kompressor in Fig. 1 exakt dual ist. Da die Kompression unverwechselbar und augenblicklich decodierbar
ist, wie dies beispielsweise in dem Buch von N. Abramsons »Information Theory and Coding«,
McCraw Hill Book Company, New York 1963, definiert
ist, treten bei der Dekompressionsschaltung der F i g. 2 keine Schwierigkeiten bei der Bestimmung der Grenzen
der Codeworte auf.
in Fig.6 sind die ersten vier Zeiien einer beispieisweisen
Rasterbildmatrix und die daraus abgeleiteten entsprechenden vier Zeilen der Fehlermatrix und der
Ereignismatrix gezeigt. Die hier verwendeten Bilddaten sind ein zur Demonstration der Art der hier
verwendeten Codeworte benutztes Muster. Die Voraussagefehlermatrix stellt die Voraussagefehler dritter
Ordnung der ursprünglichen Bildmatrix dar, während die Ereignismatrix die für die Gegenstände der
Bildmatrix ermittelten Vorderkanten des Rasters bei einer angenommenen Rasterabtastung von links nach
rechts darstellt.
In der Rasterbildmatrix sind die ersten drei Spalten des Musters durch schwarze Bildelemente in Spaltenpositionen
1, 2 auf der zweiten und dritten Zeile und ein schwarzes Bildelement in Position 3 auf Zeile 4 definiert.
Die daraus abgeleitete Fehlermatrix besteht aus schwarzen Bildelementen in Position 3 auf Zeilen 2 und
4 und einem schwarzen Bildelement in Position 1 auf Zeile 2. In Beziehung dazu sind die linken Kanten für
dieses Teil des Musters durch schwarze Bildelemente in Position 1, Zeilen 2 und 3 und Position 3 in Zeile 4 der
Ereignismatrix definiert. Die entsprechenden, durch die Kompressionsschaltung von F i g. 1 übertragenen Codeworte
sind in der zweiten Zeile CO, C1 in Position 1 und
3 und in der vierten Teile C 2 in Position 3.
Hierzu 9 Blatt Zeichnungen
Claims (17)
1. Schaltungsanordnung für die Kompressionscodierung einer ρ - ^-Matrix binärcodierter, in aufeinanderfolgenden
Abtastzeilen zugeführter Punkte, dadurch gekennzeichnet, daß zur Bildung einer ρ ■ q-Voraussagefehlermatrix und hilfsweise
einer ρ - g-Ortsmatrix aus aufeinanderfolgenden Abtastzeilen ein Bildpunktspeicher vorgesehen ist,
an dem ein Fehlermatrixgenerator (12, 71, 75, F i g. 3) und ein Ortsmatrixgenerator (9) angeschlossen
sind, daß ferner ein Zähler (8) zum Zählen von Bitfolgen (C) zwischen aufeinanderfolgenden Paaren
von Fehlern in einer Voraussagefehlermatrix vorgesehen ist, und daß ein Kxeuzkorrelationscodierer
(14) vorgesehen ist, der dann, wenn gleichzeitig mit
einer Bitfolge C > Schwellwert T(C > T) ein F.reignis in der i — 1 -ten Abtastzeile der Ortsmatrix
innerhalb des Bitpositionsbereiches B < r < (j + n) oder mehrfach auftritt ein Zeilen-Differenzcode- M
wort mit dem Wert ν bildet, wobei die positive ganze
Zahl B die größere der Funktionen D(T, V) und (J — n) ist und, ausgehend von der Startposition
D(T, V) < q < (j-n) innerhalb des Bitpositionsbereichs,
die Anzahl S der dazwischenliegenden Ereignisse einen Grenzwert m nicht überschreitet
und m, n, q, r und s positive ganze Zahlen sind, und daß ein Kompressionscodewort aus der Längswertzählung
C zwischen aufeinanderfolgenden Fehlern in Abhängigkeit vom Auftreten jedes Fehlers in der
/ten Bitposition der /-ten Abtastzeile der Voraussagefehlermatrix dann ableitbar ist, wenn entweder
C < T oder C > Γ und dabei keine Zeilen-Differenzcodierung
für den Fehler auftritt, wobei i, j, C und ^positive ganzzahlige Werte sind.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zur Bildung einer ρ ■ q-Voraussagefehlermatrix
höherer Ordnung und einer ρ ■ q-Ortsmatrix von Ereignissen, wie die Rastervorderkanten
aller Bildgegenstände in FeMermatrixgenerator (12), ein Voraussagegenerator (75) höherer
Ordnung und außerdem der Zähler (8) zum Zählen der Längswerte C zwischen aufeinanderfolgenden
Fehlerpaaren in der Voraussagefehlermatrix (12) nicht vorgesehen sind, daß ferner durch den Zähler
steuerbare, auf jede Fehlervoraussage höherer Ordnung ansprechende Codierschaltung (47,31, 69)
für eine Codierung variabler Länge des kompressionswirksamsten eines ersten oder eines zweiten
Codewortes vorgesehen ist, welche beim Fehlen eines ersten Codewortes die Codierung mit dem
zweiten Codewort durchführt, und daß in der Codierschaltung aus einer eindeutigen Beziehung
zwischen einer Fehlervoraussage in der /-ten Abtastzeile der Voraussagefehiermatrix und einem
Ereignis in der /-ten oder /— 1-ten Abtastzeile der Ortsmatrix innerhalb einer vorgegebenen Anzahl
von Bildelementen von dem Voraussagefehler ein erstes Codewort ableitbar ist, während aus einem
zwischen einem Voraussagefehler und einem vor- M hergehenden Voraussagefehler in der gleichen
Abtastzeile liegenden Längswert C ein zweites Codewort ableitbar ist.
3. Schaltungsanordnung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß in dem Bildspeicher
(10) aufeinanderfolgende Abtastzeilen der ursprünglichen ρ · q- Bildanordnung als Bildelemente abspeicherbar
sind, daß durch den Voraussagegenerator
(75) durch Erfassen benachbarter Bildelemente der derzeitigen und der vorhergehenden Abtastzeilen
des Bildspeichers (10) der Wert des /ten Bildelementes in der /-ten Abtastzeile voraussagbar ist und
daß in einem Fehlergenerator (71) immer dann eine binäre Eins ableitbar ist, wenn der tatsächliche Wert
des Bildelementes in der /ten Position der /-ten Abtastzeile der ursprünglichen Anordnung nicht
dem vorausgesagten Wert entspricht, und daß im umgekehrten Fall eine binäre Null ableitbar ist
4. Schaltungsanordnung nach Anspruch 3, dadurch gekennzeichnet daß der Voraussagegenerator höherer
Ordnung (75) ein Voraussagegenerator dritter Ordnung ist
5. Schaltungsanordnung nach Anspruch 1 bis 4, dadurch gekennzeichnet daß aus den im Bildspeicher
(10) zeilenweise abgespeicherten Bildpunkten durch den Voraussagegenerator (75) und den
Fehlergenerator eine ρ - g-Voraussagefehlermatrix
höherer Ordnung und eine niedrigerer Ordnung ableitbar sind, die in der Kreuz-Korrelations-Codierschaltung
(14) zu Zeilen-Differenzcodeworten bzw. Kompressionscodeworten verarbeitbar sind.
6. Schaltungsanordnung zum Decodieren von Kompressionscodeworten zur Wiedergewinnung
einer ρ ■ g-Anordnung von binär-codierten Bildpunkten in aufeinanderfolgenden Abtastzeilen, gekennzeichnet
durch einen Bildspeicher (10') für die Abspeicherung einer ρ · q-Anordnung binär-codierter
Bildelemente, durch einen über Register (6', 5') für benachbarte Bildelemente in der derzeitigen
Zeile und in vorhergehenden Teilen ansteuerbaren (77, 7) Voraussagegenerator (75') bzw. Ortsgenerator
(9') und durch eine auf aufeinanderfolgende Kompressionscodeworte ansprechende Decodierschaltung
(14') zur Erzeugung einer ρ ■ q-Voraussagefehiermatrix,
sowie durch einen Rastergenerator (71') durch den die Voraussagematrix (75) und die
Voraussagefehiermatrix zur Erzeugung einer ρ · q-Matrix
binär-codierter Bildelemente miteinander gekoppelt sind, wobei jeder bei den Koordinaten i,j
liegender binär-codierte Wert dann einen Wert erster Art darstellt, wenn die an den Koordinaten i,j
liegenden Werte der Voraussagematrix und der Voraussagefehiermatrix nicht übereinstimmen, während
ein zweiter Wert dann angezeigt ist, wenn die Werte übereinstimmen, sowie durch eine Rückkopplungsverbindung
(2') die den Rastergenerator (7Γ) mit dem Bildspeicher (10') verbindet.
7. Schaltungsanordnung nach Anspruch 6, dadurch gekennzeichnet, daß ein Ortsgenerator (9') vorgesehen
ist durch den die Vorderkante eines im Bildspeicher (10') abgespeicherten Bildes feststellbar
ist.
8. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zur Erzeugung eines Zeilen-Differenzcodes
mit den Werten *(—1, 0, +1) in Abhängigkeit von der Korrelation zwischen der
Bildelementposition zwischen einem innerhalb einer vorbestimmten Anzahl von Bildpositionen liegenden
Ereignis in der / — 1-ten Abtastzeile der Ortsmatrix und einem Fehler in der /-ten Abtastzeile der
Fehlermatrix, ein Ereignisgenerator (9) und ein ein nächstliegendes Ereignis abspeicherndes Register
(13) in einem Ortsmatrixgenerator (16) vorgesehen sind.
9. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß in Abhängigkeit von einem
Voraussagefehler höherer Ordnung bei der Codierung mit variabler Länge für das kompressionswirksamste
erste bzw. zweite Codewort das kürzere der beiden Codeworte durch eine Codeauswahllogik
(69) auswählbar ist
10. Schaltungsanordnung nach Anspruch 1, dadurch
gekennzeichnet, daß D(T, V) = (j — C+ T- l)ist
11. Schaltungsanordnung nach Anspruch 2, dadurch
gekennzeichnet, daß jede Anordnung oder Matrix aus ρ Zeilen und q + π + 1 Spalten besteht,
wobei die (n + 1) Spalten/Scheinfehler bzw. Scheinereignisse enthalten und daß bei der Ableitung
der ersten Codeworte bei Vorhandensein von Scheinfehlerr. oder Scheinereignissen in den η + \
zusätzlichen Bildelementpositionen der /-ten bzw. /— 1-ten Abtastzeilen der Fehlermatrix bzw. der
Ortsmatrix die relative Häufigkeit der Codierung erster Codeworte in denjenigen Abtastzeilen der
Fehlermatrix erhöht wird, die sonst am Ende der Zeile als ein zweites Codewort codiert worden
wären.
12. Verfahren zur Kompressionscodierung einer ρ · q Anordnung binär codierter Punkte mit einer
Schaltungsanordnung gemäß einem oder mehreren der Ansprüche 1 bis 11, gekennzeichnet durch
folgende Verfahrensschritte. Ableiten einer ρ · q-Matrix eines Voraussagefehlers y-ler Ordnung und
einer ρ ■ q Matrix festgestellter Ereignisse z-ter Ordnung aus der ursprünglichen Anordnung, Ableiten
eines ersten Codewortes zur Darstellung einer eindeutigen Korrelation zwischen einem in der /-ten
Zeile der Voraussagefehlermatrix j'-ter Ordnung liegenden Fehler und einem in der /— 1-ten Zeile
der Ortsmatrix z-ter Ordnung liegenden Ereignis innerhalb einer vorbestimmten Anzahl von Spaltenpositionen
vom Ort des Voraussagefehlers y-ter Ordnung entfernt, Ableiten eines zweiten Codewortes
aus dem Längswert zwischen jedem Fehler und einem vorhergehenden Fehler in der gleichen
Abtastzeile in der Voraussagefehlermatrix y-ter Ordnung und zeilenweise Codierung mit unterschiedlicher
Länge des kompressionswirksamsten der ersten und zweiten Codeworte und bei fehlendem ersten Codewort des zweiten Codewortes.
13. Verfahren nach Anspruch 12, bei dem beim Auftreten von durch das Vorhandensein eines
festgestellten Ereignisses an mehrere Positionen in der 1— 1-ten Abtastzeile der Ortsmatrix z-ter
Ordnung innerhalb einer vorgegebenen Anzahl von Spaltenpositionen von einem Fehler in der /-ten
Abtastzeile der Voraussagefehlermatrix y-ter Ordnung entfernt verursachtem mehrdeutigen Korrelationen,
dadurch gekennzeichnet, daß ein drittes Codewort oder mehrere dritte Codeworte gebildet
werden, die anzeigen, welche an mehreren Positionen der Ortsmatrix festgestellten Ereignisse nicht
mit dem in der Voraussagefehlermatrix liegenden Fehler korrigiert werden sollen.
14. Verfahren nach Anspruch 12, bei dem die
Voraussagematrix y-ter Ordnung eine Voraussagematrix dritter Ordnung ist, dadurch gekennzeichnet,
daß die Ortsmatrix festgestellter Ereignisse z-ter Ordnung aus den Vorderkanten von Gegenständen
der ursprünglichen ρ ■ ^-Anordnung binär-codierter
Punkte abgeleitet wird.
15. Verfahren nach Anspruch 12, dadurch gekennzeichnet,
daß die Ortsmatrix festgestellter Ereignisse z-ter Ordnung aus Veraussagefehlern erster Ordnung
abgeleitet wird.
16. Verfahren nach Anspruch 12, gekennzeichnet
durch folgende Verfahrensschritte:
Ableiten von ρ ■ q-Voraussagefehler-Matrizen höherer
Ordnung und niedriger Ordnung aus der ursprünglichen ρ ■ ^-Anordnung binär-codierter
Punkte,
Bilden eines ersten Codewortes, das jeweils die eindeutige Korrelation zwischen einem Fehler in der
Aten Abtastzeile der Fehlermatrix höherer Ordnung und einem Fehler in der /— 1-ten Abtastzeile der
Fehlermatrix niedriger Ordnung innerhalb einer vorgegebenen Anzahl von Spaltenpositionen vom
Ort des Fehlers in der Fehlermatrix höherer Ordnung entfernt darstellt,
Bilden eines zweiten Codewortes aus dem Längswert zwischen jedem Fehler und dem vorhergehenden
Fehler in der gleichen Abtastzeile der Fehlermatrix höherer Ordnung und zeilenweises
Codierung mit variabler Länge des kompressionswirksamsten ersten oder zweiten Codewortes bzw.
beim Fehlen eines ersten Codewortes allein des zweiten Codewortes.
17. Verfahren nach Anspruch 16, beim Auftreten einer mehrdeutigen Korrelation, die sich durch die
Existenz mehrfacher Fehler in der /— 1-ten Abtastzeile in der Fehlermatrix niedriger Ordnung
innerhalb einer vorbestimmten Anzahl von Spaltenpositionen von dem Bezugsfehler in der /-ten
Abtastzeile der Fehlermatrix höherer Ordnung entfernt ergibt, dadurch gekennzeichnet, daß ein
drittes Codewort oder mehrere dritte Codeworte gebildet werden, die anzeigen, welche mehrfach
auftretenden Fehler in der Fehlermatrix niedriger Ordnung nicht mit dem Bezugsfehler in der
Fehlermatrix höherer Ordnung korreliert werden sollen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/617,906 US4028731A (en) | 1975-09-29 | 1975-09-29 | Apparatus for compression coding using cross-array correlation between two-dimensional matrices derived from two-valued digital images |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2640414A1 DE2640414A1 (de) | 1977-04-07 |
DE2640414C2 true DE2640414C2 (de) | 1982-06-09 |
Family
ID=24475537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2640414A Expired DE2640414C2 (de) | 1975-09-29 | 1976-09-08 | Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen |
Country Status (7)
Country | Link |
---|---|
US (1) | US4028731A (de) |
JP (1) | JPS5949737B2 (de) |
CA (1) | CA1059637A (de) |
DE (1) | DE2640414C2 (de) |
FR (1) | FR2326081A1 (de) |
GB (1) | GB1507234A (de) |
IT (1) | IT1070003B (de) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5831791B2 (ja) * | 1974-12-24 | 1983-07-08 | オリンパス光学工業株式会社 | 画像情報帯域圧縮伝送装置 |
US4150401A (en) * | 1975-10-03 | 1979-04-17 | Kokusai Denshin Denwa Kabushiki Kaisha | Facsimile signal converter |
US4163260A (en) * | 1976-01-24 | 1979-07-31 | Mita Industrial Company | System for reducing band width of image signal |
FR2379956A1 (fr) * | 1977-02-08 | 1978-09-01 | Mitsubishi Electric Corp | Systeme de communications a codage de signaux fac-similes |
US4193096A (en) * | 1977-04-04 | 1980-03-11 | Xerox Corporation | Half tone encoder/decoder |
JPS53134340A (en) * | 1977-04-28 | 1978-11-22 | Ricoh Co Ltd | Run length coding system |
US4204232A (en) * | 1977-07-08 | 1980-05-20 | Nippon Electric Co., Ltd. | Pattern transmission system comprising an encoder for encoding partial thinned patterns in two scanning lines along only one boundary line |
US4200369A (en) * | 1978-05-23 | 1980-04-29 | Information National, Inc. | Method and apparatus for compacting and decompacting character data in accordance with a variety of methods |
GB2030823B (en) * | 1978-10-02 | 1982-11-03 | Ibm | Image data manipulation apparatus |
US4369463A (en) * | 1981-06-04 | 1983-01-18 | International Business Machines Corporation | Gray scale image data compression with code words a function of image history |
US4458333A (en) * | 1981-12-21 | 1984-07-03 | International Business Machines Corporation | Dot matrix character printing using constrained memory |
JPS60148279A (ja) * | 1983-12-28 | 1985-08-05 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 画像処理システム |
JPH0783427B2 (ja) * | 1984-04-03 | 1995-09-06 | キヤノン株式会社 | 画像伝送方法 |
GB2172464B (en) * | 1985-01-31 | 1989-02-01 | Canon Kk | Image transmission apparatus |
US4935882A (en) * | 1986-09-15 | 1990-06-19 | International Business Machines Corporation | Probability adaptation for arithmetic coders |
US4891643A (en) * | 1986-09-15 | 1990-01-02 | International Business Machines Corporation | Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders |
US4905297A (en) * | 1986-09-15 | 1990-02-27 | International Business Machines Corporation | Arithmetic coding encoder and decoder system |
JPS63236472A (ja) * | 1987-03-25 | 1988-10-03 | Fujitsu Ltd | 画像情報符号化処理装置 |
US4785356A (en) * | 1987-04-24 | 1988-11-15 | International Business Machines Corporation | Apparatus and method of attenuating distortion introduced by a predictive coding image compressor |
JPH0834432B2 (ja) * | 1989-01-31 | 1996-03-29 | 三菱電機株式会社 | 符号化装置及び符号化方法 |
USRE35781E (en) * | 1989-01-31 | 1998-05-05 | Mitsubishi Denki Kabushiki Kaisha | Coding method of image information |
US5095374A (en) * | 1989-10-10 | 1992-03-10 | Unisys Corporation | Method and apparatus for lossless compression and decompression of image data |
US5602976A (en) * | 1993-02-23 | 1997-02-11 | Adobe Systems Incorporated | Method and apparatus for saving printer memory |
JPH09162748A (ja) * | 1995-12-01 | 1997-06-20 | Fujitsu Ltd | データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム |
WO1997035422A1 (en) * | 1996-03-19 | 1997-09-25 | Mitsubishi Denki Kabushiki Kaisha | Encoder, decoder and methods used therefor |
US6744925B2 (en) | 1996-03-19 | 2004-06-01 | Mitsubishi Denki Kabushiki Kaisha | Encoding apparatus, decoding apparatus, encoding method, and decoding method |
US6636641B1 (en) | 1996-03-19 | 2003-10-21 | Mitsubishi Denki Kabushiki Kaisha | Encoding apparatus, decoding apparatus, encoding method and decoding method |
KR100186582B1 (ko) * | 1996-06-29 | 1999-05-01 | 김광호 | 해상도 자동 제어방법 |
DE19637522A1 (de) * | 1996-09-13 | 1998-03-19 | Bosch Gmbh Robert | Verfahren zur Reduzierung von Daten in Videosignalen |
US5995724A (en) * | 1996-11-01 | 1999-11-30 | Mikkelsen; Carl | Image process system and process using personalization techniques |
US6269190B1 (en) * | 1996-09-24 | 2001-07-31 | Electronics For Imaging, Inc. | Computer system for processing images using a virtual frame buffer |
EP0868085B2 (de) * | 1997-03-26 | 2006-09-27 | Matsushita Electric Industrial Co., Ltd. | Bilddekodiergerät |
JPH11234683A (ja) * | 1998-02-12 | 1999-08-27 | Fuji Xerox Co Ltd | 画像符号化方法および装置 |
US6212301B1 (en) | 1998-06-25 | 2001-04-03 | Accusoft Corporation | Systems and methods for digital image compression |
US6100825A (en) * | 1998-12-31 | 2000-08-08 | Microsoft Corporation | Cluster-based data compression system and method |
TWI257085B (en) * | 2002-01-21 | 2006-06-21 | Koninkl Philips Electronics Nv | Method of encoding and decoding |
US7076109B2 (en) * | 2002-03-28 | 2006-07-11 | International Business Machines Corporation | System and method of automatically determining the dominant periodicity in sequential binary data |
US8467449B2 (en) * | 2007-01-08 | 2013-06-18 | Qualcomm Incorporated | CAVLC enhancements for SVC CGS enhancement layer coding |
RU2519445C2 (ru) * | 2012-08-30 | 2014-06-10 | Общество с ограниченной ответственностью "Н-Система" | Способ алфавитного представления изображения |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1162399B (de) * | 1961-10-24 | 1964-02-06 | Ibm | Verdichter fuer Daten, deren statistische Verteilung sehr stark schwankt |
US3185824A (en) * | 1961-10-24 | 1965-05-25 | Ibm | Adaptive data compactor |
US3813485A (en) * | 1972-01-05 | 1974-05-28 | Ibm | System for compression of digital data |
JPS5336730B2 (de) * | 1973-04-13 | 1978-10-04 | ||
DE2351309C3 (de) * | 1973-10-12 | 1979-09-20 | Fa. August Bilstein, 5828 Ennepetal | Abschlußdeckel für Zylinder, insbesondere an hydropneumatischen Stoßdämpfern |
-
1975
- 1975-09-29 US US05/617,906 patent/US4028731A/en not_active Expired - Lifetime
-
1976
- 1976-08-25 FR FR7626313A patent/FR2326081A1/fr active Granted
- 1976-08-27 JP JP51101757A patent/JPS5949737B2/ja not_active Expired
- 1976-08-31 GB GB36048/76A patent/GB1507234A/en not_active Expired
- 1976-09-08 DE DE2640414A patent/DE2640414C2/de not_active Expired
- 1976-09-10 IT IT27050/76A patent/IT1070003B/it active
- 1976-09-27 CA CA262,158A patent/CA1059637A/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
US4028731A (en) | 1977-06-07 |
DE2640414A1 (de) | 1977-04-07 |
JPS5949737B2 (ja) | 1984-12-04 |
GB1507234A (en) | 1978-04-12 |
FR2326081A1 (fr) | 1977-04-22 |
JPS52147913A (en) | 1977-12-08 |
IT1070003B (it) | 1985-03-25 |
CA1059637A (en) | 1979-07-31 |
FR2326081B1 (de) | 1978-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2640414C2 (de) | Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen | |
DE3875334T2 (de) | Verfahren zur synchronisierung fuer die uebertragung ueber einen asynchronen kanal einer folge von kodierten bildern, die mittels eines kodes mit variabler laenge kodiert sind und einrichtung zur durchfuehrung dieses verfahrens. | |
DE69022705T2 (de) | System zur Kodierung/Dekodierung von digitalen Signalen zur Übertragung und/oder Speicherung. | |
DE69735679T2 (de) | Verfahren zur Bilddecodierung | |
DE2814084C2 (de) | Sichtanzeigeeinrichtung | |
DE69531080T2 (de) | System und Verfahren zur Bildkompression | |
DE69425400T2 (de) | Verfahren und Vorrichtung zur Verschachtelung einer Folge von Datenelementen | |
DE4005492C2 (de) | Bildcodierverfahren | |
DE2031646C2 (de) | Verfahren zur Kompression von Bildübertragungsdaten | |
DE2558264C3 (de) | Verfahren zur Verdichtung binärer Bilddaten | |
DE2946982C2 (de) | Verfahren zum Übertragen eines Faksimile-Signals | |
DE2835689A1 (de) | Anordnung zur veraenderung der aufloesung bei der bild-datenerfassung und -uebertragung | |
DE19623318C2 (de) | Teilpixelcodierungs- und Decodierungsverfahren | |
DE2930903A1 (de) | Verfahren und vorrichtung zum uebertragen von faksimilesignalen | |
DE2631527A1 (de) | Signalverarbeitungsvorrichtung | |
DE69024130T2 (de) | Datenkompressionssystem | |
DE3416795A1 (de) | Bilddaten-kompressionssystem | |
DE2340230A1 (de) | Verfahren und vorrichtung zur vorhersage des signalpegelwertes eines nachrichtenelementes | |
DE2728889B2 (de) | Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals | |
DE1512654B2 (de) | Verfahren und codiereinrichtung zur codierung grafischer informationen mit verringerter redundanz | |
DE2925663A1 (de) | Vorrichtung zur kompression binaerer signale fuer ein system zur kodierten uebertragung von faksimiles | |
DE2500055C2 (de) | Faksimile-uebertragungssystem | |
DE2423817A1 (de) | Verfahren und schaltungsanordnungen zur codierung zweidimensionaler bildinformationen | |
DE69128935T2 (de) | Fehlerschutz für daten variabler länge | |
DE69124529T2 (de) | Verfahren zur transformierung eines ditherbildes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |