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 Matrizen

Info

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
Application number
DE2640414A
Other languages
English (en)
Other versions
DE2640414A1 (de
Inventor
Ronald Barthold Stanford Calif. Arps
Lalit Rai Amawalk N.Y. Bahl
Arnold Poughkeepsie N.Y. Weinberger
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2640414A1 publication Critical patent/DE2640414A1/de
Application granted granted Critical
Publication of DE2640414C2 publication Critical patent/DE2640414C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems 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)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Compression Or Coding Systems Of Tv 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.
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)

Patentansprüche:
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.
DE2640414A 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 Expired DE2640414C2 (de)

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)

* Cited by examiner, † Cited by third party
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
US4905297A (en) * 1986-09-15 1990-02-27 International Business Machines Corporation Arithmetic coding encoder and decoder system
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
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
USRE35781E (en) * 1989-01-31 1998-05-05 Mitsubishi Denki Kabushiki Kaisha Coding method of image information
JPH0834432B2 (ja) * 1989-01-31 1996-03-29 三菱電機株式会社 符号化装置及び符号化方法
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
US6636641B1 (en) 1996-03-19 2003-10-21 Mitsubishi Denki Kabushiki Kaisha Encoding apparatus, decoding apparatus, encoding method and decoding method
US6744925B2 (en) 1996-03-19 2004-06-01 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
CN1110963C (zh) * 1997-03-26 2003-06-04 松下电器产业株式会社 图象解码装置
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1162398B (de) * 1961-10-24 1964-02-06 Ibm Verdichter fuer Daten, die aus Bits verschiedener Wertigkeit bestehen
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

Also Published As

Publication number Publication date
US4028731A (en) 1977-06-07
GB1507234A (en) 1978-04-12
FR2326081A1 (fr) 1977-04-22
CA1059637A (en) 1979-07-31
FR2326081B1 (de) 1978-12-22
DE2640414A1 (de) 1977-04-07
JPS5949737B2 (ja) 1984-12-04
IT1070003B (it) 1985-03-25
JPS52147913A (en) 1977-12-08

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
DE3546136C2 (de)
DE3587107T2 (de) Drehungsverfahren und -geraet fuer binaere bilder.
DE69635073T2 (de) Bildcodierverfahren und -system zum Erzeugung arithmetischen Codes mit reduzierter Bitrate
DE4005492C2 (de) Bildcodierverfahren
DE10120644B4 (de) Bilddatenverdichtungsverfahren und -vorrichtung, welche Bilddaten separat durch Modifizieren der Farbe verdichten
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
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
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