DE3416795A1 - Bilddaten-kompressionssystem - Google Patents

Bilddaten-kompressionssystem

Info

Publication number
DE3416795A1
DE3416795A1 DE19843416795 DE3416795A DE3416795A1 DE 3416795 A1 DE3416795 A1 DE 3416795A1 DE 19843416795 DE19843416795 DE 19843416795 DE 3416795 A DE3416795 A DE 3416795A DE 3416795 A1 DE3416795 A1 DE 3416795A1
Authority
DE
Germany
Prior art keywords
line
normalized
run
code
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.)
Granted
Application number
DE19843416795
Other languages
English (en)
Other versions
DE3416795C2 (de
Inventor
Shinju Yokosuka Kanagawa Horiguchi
Katsuhiko Yokohama Kanagawa Ogawa
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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
Priority claimed from JP7961983A external-priority patent/JPS59204383A/ja
Priority claimed from JP59014092A external-priority patent/JPS60173674A/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of DE3416795A1 publication Critical patent/DE3416795A1/de
Application granted granted Critical
Publication of DE3416795C2 publication Critical patent/DE3416795C2/de
Granted legal-status Critical Current

Links

Classifications

    • 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/419Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which encoding of the length of a succession of picture-elements of the same value along a scanning line is the only encoding step
    • 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
    • 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/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

84/873.5 7
Be Schreibung;
Die Erfindung betrifft ein Bilddaten-Kompressionssystem zur Verwendung in einer Faksimileanlage oder dergleichen. Das Kompressionssystem codiert ein binäres oder mehrstufiges (Graustufen-) Bildsignal, das man durch Haupt- und Nebenabtastungen eines Bildes erhält, in einen komprimierten Code.
•JO Zur übertragung und Speicherung eines binären Bildsignals wurden bisher eindimensionale Runlangencodxerungen (z.B. das modifizierte Huffman-Verfahren und das Wyle-Verfahren) eingesetzt, bei denen als Informationsquelle die Anzahl aufeinanderfolgender Bildelemente mit dem glei-
•J5 chen Wert in Hauptabtastrichtung des binären Bildsignals, d.h. die sogenannte Run- oder Lauflänge, verwendet wird. Außerdem wurde das Kantendifferenz-Codierverfahren (modifiziertes Read-Verfahren) eingesetzt, bei dem die Informationsquelle die Differenz zwischen den Laufänderungspunkten einer Codierzeile (einer Hauptabtastzeile) und einer unmittelbar vorausgehenden Zeile ist. Ferner • gibt es noch ein vorausschauendes Codierverfahren. Bei diesen Codierverfahren hängen die Runlänge bei der eindimensionalen Runlängencodierung, die Differenz zwischen den Laufänderungspunkten bei dem Kantendifferenz-Codierverfahren und die Position eines Bezugs-Bildelements bei dem vorausschauenden Codierverfahren sämtlich von den physikalischen Eigenschaften, z.B. der Abtastdichte, des verwendeten Geräts ab. Einige binäre Bild-Eingabe-/ Ausgabe-Geräte, wie z.B. ein Faksimilegerät oder eine Raster-Kathodenstrahlröhre, unterscheiden sich jedoch in der Anzahl von Bildelementen in der Hauptabtastrichtung sowie in der Zeilendichte in Nebenabtastrichtung. Wenn ein und dasselbe binäre Bild in nach herkömmlichen Codierverfahren codierter Form an solche Ge-
rate mit unterschiedlichen Zeilendichten gegeben wird, so werden Bilder mit unterschiedlichen horizontalen und vertikalen Abmessungen dargestellt, oder es fallen Teile der Bilder fort.
Zur Lösung dieses Problems wurde ein System zum Anpassen, Vergrößern oder Verkleinern der Größe des binären Bildes mit Hilfe eines Zeilendichte-Umwandlungssystems vorgeschlagen (siehe z.B. R. A. Ulichney u.a., "Scaling Binary Images with the Telescoping Template", IEEE Trans. Patterns Analysis and Machine Intelligence, Vol. PAM1-4, No. 3,· Mai 1982, Seiten 331-335). Für die gegenseitige Umsetzung von binären Bildsignalen zwischen Geräten mit bestimmten Zeilendichten ist es jedoch notwendig, die Zeilendichten dieser Geräte vorab zu wissen. Daher ist es für die gegenseitige Umsetzung binärer Bildsignale beim Senden und Empfangen mit Hilfe verschiedener Typen von Eingabe-/ Ausgabe-Geräten notwendig, vorab Informationen auszutauschen bezüglich der Zeilendichte der Geräte- und mehrere Umwandlungsalgorithmen bereitzustellen.
■ Es wurde außerdem ein Verfahren vorgeschlagen, nach dem die Anzahl der gesamten Bildelemente in einem Bild stets. auf einen normierten Wert eingestellt und codiert wird, z.B. für die Faksimileübertragung, allerdings hat dieses Verfahren den Nachteil, daß die Anpaßmöglichkeit für geometrische graphische Figuren und die Erweiterungsmöglichkeit für neue Funktionen schlecht ist. Außerdem wird, bei j dem bekannten Verfahren ein Programm für die Eingabe und die Ausgabe eines binären Musters in Form eines Programms realisiert, welches von den physikalischen Besonderheiten der Eingabe-/Ausgabe-Geräte abhängt, so daß der Einsatz eines solchen Programms nicht in beliebigen Geräten möglich ist.
; ■
• Herkömmliche Codierverfahren für ein Halbton-Faksimilesignal und ein Farbbildsignal haben ebenfalls Nachteile, die den oben im Zusammenhang mit dem binären Bildsignal
angesprochenen Nachteilen ähneln.
5
Der Erfindung liegt die Aufgabe zugrunde, ein Bilddaten-Kompressionssystem zu schaffen, das eine Codierung eines binären oder Graustufen-Bildsignals in ein codiertes Ausgangssignal unabhängig von den physikalischen Besonder-
'" heiten der jeweiligen Eingabe-/Ausgabe-Geräte ermöglicht. Das System soll eine einfache Vergrößerung oder Verkleinerung eines binären oder Graustufen-Bildes im Zeitpunkt der Bild-Decodierung ermöglichen. Das System soll die Standardisierung geometrischer graphischer Figuren er-
möglichen. Ferner soll ein Programm für die Eingabe und die Ausgabe eines binären oder Graustufen-Bildsignals maschinenunabhängig einsetzbar sein.
Die Lösung dieser Aufgabe ist im Anspruch 1 angegeben. 20
Erfindungsgemäß wird eine Position einer Hauptabtastzeile mit Hilfe einer Zeilenpositions-Detektoreinrichtung aus einem Bildsignal festgestellt, und die festgestellte Zeilenposition wird mit Hilfe einer Zeilennormiereinrich-
tung normiert. Von jeder zu codierenden Zeile wird eine relative normierte Zeilenposition durch eine Zeilenpositions-Berechnungseinrichtung in bezug auf die unmittelbar vorausgehend codierte Zeile berechnet, und die relative normierte Zeilenposition wird mit Hilfe einer Zeilenposi-
3." tions-Codiereinrichtung codiert. Weiterhin wird mit Hilfe einer Run-Detektoreinrichtung die Runposition in einer Zeile des Bildsignals, wo sich die Bildelementwerte ändern, festgestellt, und die festgestellten Runpositionen werden mit Hilfe einer Run-Normiereinrichtung normiert.
^ Die relativen normierten Runpositionen werden von einer
Runpositions-Berechnungseinrichtung in bezug auf die benachbarten normierten Positionen in dem Bildsignal berechnet, und die relativen normierten Runpositionen werden mit Hilfe einer Runpositions-Codiereinrichtung codiert. Die relativen normierten Runpositions-Codes und die relativen normierten Zeilenpositions-Codes werden synthetisiert und mit Hilfe einer Synthetisiereinrichtung für jede Zeile ausgegeben.
ist das Bildsignal ein Graustufensignal/ so werden die Bildelementwerte für jedes Bildelement mit Hilfe einer Bildelement-Normiereinrichtung normiert, und die normierten Bildelemente werden in Bildelementwert-Codes codiert, die von der Synthetisiereinrichtung mit den relativen normierten Zeilenpositions-Codes und den relativen normierten Runpositions-Codes Zeile für Zeile zusammengesetzt werden.
Eine Zeile mit Bildelementgleichheit, d.h. eine Zeile, in der überall derselbe Bildelementwert existiert, sowie eine Aufeinanderfolge derartiger Zeilen mit Bildelementgleichheit wird mit Hilfe einer Bildelementgleichheit-Detektoreinrichtung festgestellt. Für die festgestellten aufeinanderfolgenden Zeilen mit Bildelementgleichheit werden die Zeilen-Normierung, die Berechnung der relativen normierten Zeilenposition, die Codierung der relativen Zeilenposition, die Run-Normierung, die Berechnung der relativen normierten Runposition und die Codierung der relativen Runposition mit Hilfe einer Überspringeinrichtung fortgelassen. Bei dem Zusammensetzen der Codes für jede Zeile wird ein die Codelänge der zusammengesetzten Zeile kennzeichnender Vorsatz von der Synthetisiereinrichtung hinzugefügt, oder es wird an das Ende der zusammengesetzten Zeile ein Abschlußcode hinzugefügt.
3/4
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Diagramm eines Beispiels eines zweidimensionalen binären Bildes,
Fig. 2 ein Diagramm eines Beispiels der binären Bildcodierung nach Fig. 1 mit Hilfe des WyIe-Codierverfahrens,
Fig. 3A ein Diagramm, das als Beispiel Runpositionen und Zeilenpositionen in dem binären Bild nach Fig. veranschaulicht,
Fig. 3B ein Diagramm, das die Normierung der Runpositionen und Zeilenpositionen gemäß Fig. 3A veranschaulicht,
Fig.· 4 ein Diagramm eines Beispiels einer Codetabelle
für die Codierung der normierten Zeilenpositionen,
Fig. 5 ein Diagramm eines Beispiels einer Codetabelle
zur Codierung normierter Runpositionen,
Fig. 6 ein Diagramm eines Beispiels eines Codezug-Schemas,.
Fig. 7 ein Diagramm von Codezügen des Binärbilds nach Fig. 1, angeordnet .mit Hilfe des in Fig. 6 gezeigten Codezugs,
Fig. 8 ein Flußdiagramm, das ein Beispiel eines Arbeitsablaufs bei der Codierung eines binären Bildsignals verdeutlicht,
Fig. 9 ein Blockdiagramm eines Beispiels der Erfindung
4/5
in Anwendung auf die Codierung eines binären Bildsignals,
Fig. 10 ein Blockdiagramm eines Beispiels eines Hcrizontalcodegenerators (HCG) 309 in Fig. 9,
Fig. 11 ein Blockdiagramm eines Beispiels eines Vertikalcodegenerators (VTG) 908 in Fig. 9,
J Fig. 12 ein Blockdiagramm eines Beispiels einer Synthetisierschaltung (SC) 911 in Fig. 9,
Fig. 13 ein Blockdiagramm eines Beispiels einer Weißzeiie..-
Dauerzustand-Schaltung (WCS) 913 in Fig. 9, 5
Fig. 14 ein Blockdiagramm eines Beispiels für die in Fig. 9 gezeigte Ablaufsteuerung (SCC) 915,
Fig. 15flein Diagramm eines Graustufen-Bilds mit dessen Runpositonen, Zeilenpositionen und Bildelementwerten,
Fig. 15B ein Diagramm, das die Normierung der Runpositionen, Zeilenpositionen und Bildelementwerte nach Fig. 15A veranschaulicht,
Fig. 16 ein Diagramm eines Beispiels für eine Codiertabel
Ie von normierten Bildelementwerten, 30
Fig. 17 ein Diagramm eines Beispiels des Codezug-Schemas eines Graustufen-3ildsignals/
Fig. 18 ein Flußdiagramm, das die Arbeitsweise bei der ~>° Codierung des Gxaastufen-Bildsignals veranschaulicht,
5/6
Fig. 19 ein Blockdiagramm eines Beispiels der Erfindung in Anwendung auf die Codierung eines Graustufen-Bildsignals,
Fig. 20 ein Diagramm von Bildelementwerten von Farbbildelementen ,
Fig. 21 ein Diagramm eines Codezug-Schemas eines Farbbildsignals,
Fig. 22 ein Blockdiagramm eines Beispiels der Erfindung in Anwendung auf die Codierung eines Farb-Graustufen-Bildsignals,
Fig. 23 ein Diagramm einer Nachschlagtabelle von Farbbildelement-Codes ,
Fig. 24 ein Diagramm des Codierschemas bei Verwendung
der in Fig. 23 dargestellten Nachschlagtabelle,
Fig. 25 ein Blockdiagramm einer erfindungsgemäßen Anordnung zum Erzeugen des in Fig. 24 gezeigten Codezugs,
Fig. 26 ein Diagramm eines Beispiels eines einen Abschlußcode verwendenden Codezugs,
Fig. 27 ein Blockdiagramm eines Beispiels der Erfindung in Anwendung auf eine zweidimensionale Codierung,
Fig. 28 ein Diagramm, das die Beziehung zwischen einer Bezugszeile und einer Codierzeile bei der zweidimensionalen Codierung veranschaulicht, 35
6/7
• Fig. 29 ein Diagramm einer Codetabelle für die Codierung nach Fig. 27, und
Fig. 30 ein Blockdiagramm, das die funktioneile Anordnung der Erfindung bei Anwendung auf das binäre
Bildsignal verdeutlicht.
Zunächst soll zum besseren Verständnis ein herkömmliches Codiersystem erläutert werden. Fig. 1 zeigt ein
'0 Beispiel, bei dem jedes Bildelement eines zweidimensionalen Bildes in Form eines Binärcodes vorliegt. Ein Run oder Lauf ist ein solcher Abschnitt, in welchem nacheinander Bildelemente der gleichen Art auftreten. Es sei hier angenommen, daß ein erster Lauf eines binären Bildes in horizontaler Richtung (in Hauptabtastrichtung) mit dem weißen Lauf beginnen. Eine erste Zeile in vertikaler Richtung (Nebenabtastrichtung) besteht aus einem ersten (weißen) Lauf 111, dem nächsten (schwarzen) Lauf 112 und weiteren Läufen 113.und 114. Die zweite Zeile besteht aus nur dem Lauf 121 aus weißen Bildelementen (weißen Punkten). Diese Zeile wird auch als weiße Zeile oder als Weißzeile bezeichnet. Eine dritte r Zeile besteht aus Läufen 131 bis 133. Eine letzte Zeile ist die 204. Zeile.
25
Fig. 2 zeigt Codezüge, in die das in Fig. 1 gezeigte zweidimensional binäre Bild mit Hilfe des herkömmlichen Wyle-Codiierverfahrens umgesetzt ist (bezüglich der verwendeten Codier tabelle vergl. H. WyIe u.a.. "Reduced-
. Time Facsimile Transmission by Digital Coding", IRE Trans., Vol. CS-9, No. 3, 1961). Die Läufe 111 bis 114 werden in die Codes 211 bis 214 umgesetzt, der Lauf 121 in einen Code 221 und die Läufe 131 bis 133 werden in die Codes 231 bis 233 umgesetzt. Wie aus Fig. 2 hervor-
*5 geht, wird jede Lauf länge dargestellt durch eine Anz-ahl
7/8
von nacheinander auftretenden weißen oder schwarzen Bildelementen, und eine Codiertabelle wird unter Zugrundelegung der durch solche Bildelementzüge repräsentierten Lauflängen vorbereitet. Im Stand der Technik wird das binäre Bild dadurch gespeichert oder gesendet/ daß unter Zugrundelegung der Codiertabelle Codier- und Decodierprozesse durchgeführt werden.
Einige für binäre Bilder ausgelegte Eingabe-/Ausgabe-Geräte (z.B. Faksimilegeräte, Raster-Kathodenstrahlröhren und dergleichen) besitzen jedoch unterschiedliche Anzahlen von Bildelementen oder Abtastdichten in Haupt- und Nebenabtastrichtung (Horizontal- und Vertikalrichtung) , so daß dann, wenn ein nach dem obigen Codierverfahren codiertes binäres Bild zwischen derartigen Geräten unterschiedlicher Zeilendichten übertragen und empfangen wird, die Abmessungen des reproduzierten Bilds in der horizontalen und der vertikalen Richtung von den Abmessungen des ursprünglichen binären Bilds abweichen. Um dem zu begegnen, wurde ein System vorgeschlagen zum Anpassen, zum Vergrößern oder zum Reduzieren der Größe des binären Bilds unter Verwendung einer Zeilendichte-Umwandlungsmethode. Da die Umwandlung zwischen Geräten unterschiedlicher Abtastdichten erfolgt, ist es jedoch notwendig, die jeweiligen individuellen Abtastdichten vorab zu kennen. Für die gegenseitige Umwandlung eines binären Bilds, das zwischen unterschiedlichen Typen von Eingabe-/Ausgabe-Geräten übertragen und empfangen wird, ist es notwendig, daß die betreffenden Geräte vorab Informationen bezüglich ihrer Zeilendichten austauschen, und es sind mehrere Umwandlungsalgorithmen bereitzustellen.
8/9
Grundlegende Merkmale der Erfindung
Fig. 3A zeigt die vertikalen (Nebenabtastrichtungs-) Positionen (im folgenden als Zeilenpositionen bezeichnet) der horizontalen (Hauptabtastrichtungs-) Abtastzeilen des zweidimensionalen binären Bilds nach Fig. 1 sowie die Positionen von Läufen in jeder horizontalen Abtastzeile, d.h. diejenigen Positionen, in denen sich die Bildelementwerte ändern (im folgenden werden diese Positionen auch als Lauf- oder als Run-Positionen bezeichnet) . Die Zeilenpositionen der ersten, der zweiten, der dritten und der 204. Abtastzeilen in Fig. 3A sind mit iüq, m^, ir^ bzw. n^n bezeichnet. Die Laufpositionen der Läufe 111, 112, 113 und 114 in der ersten Zeile sind nn, n1, n- bzw. n^, und die LaufPositionen der Läufe 131,
2 2 2 132 und 133 in der dritten Zeile sind nQ, n1 bzw. n-·
Fig; 3B zeigt normierte Darstellungen der Zeilenpositionen m. und der Laufpositionen n? gemäß Fig. 3A. Der Vorgang der Normierung wird allgemein ausgedrückt durch die Beziehungen u. = m./M und p? = n?/N. M und N sind die Anzahl von Bildelementen in der vertikalen bzw. der horizontalen Richtung, und im Beispiel nach Fig. 1 ist M = 204 und N = 248. Weiterhin werden u. (im folgenden als normierte Zeilenposition bezeichnet) und p? (im folgenden als normierte Laufposition (oder Runposition) bezeichnet) dargestellt durch Binärzahlen, "die die Bedingung 0 S u. < 1 bzw. 0 ύ ρ? < 1 erfüllen. Allgemein handelt es sich bei u. und p:? um unendliche Dezimalzahlen, u. und p^ werden jeweils dargestellt durch eine Binärzahl mit k signifikanten Stellen nach dem Dezimalpunkt, Zähl-Bruchteile von 1 als Einheit und durch Fortlassen von 0 in der (k + 1)-ten Dezimalstelle. In diesem Fall wird k größer gewählt als flog-N] (wobei fx] eine Zahl bedeutet, die man durch Zählen der Bruchteile hinter dem
9/10
Dezimalpunkt erhält). Auf diese Weise läßt sich eine exakte Rekonstruktion der Laufposition erreichen. Das gleiche gilt für die Zeilenposition. Beispielsweise wird die normierte Zeilenposition der Zeilenposition m~ dargestellt als zehnstelliger Dualbruch 0,0000001010, wobei man Bruchteile von 1 als Einheit zählt und die 0 in der 11. Ziffernstelle fortläßt, weil U0 2/204 beträgt. Die normierte Lauf-
2 2
position n.j mit P1 = 30/248 wird als zehnstelliger Dualbruch 0,0001111100 dargestellt, wobei man Bruchteile von 1 als Einheit zählt und die 0 in der 11. Ziffernstelle fortläßt. Eine Differenz D. zwischen der normierten Zeilenposition einer zu codierenden Zeile und derjenigen einer der zu codierenden Zeile unmittelbar vorausgehenden Zeile (diese Differenz D. wird im folgenden als eine relative normierte Zeilenposition bezeichnet) ist definiert als eine zehn Ziffernstellen umfassende binäre Darstellung nach dem Binärkomma:
D0 = U0 - 0 = 0,0000000000 20
(nur eine erste normierte Zeilenposition wird mit uQ - 0 berechnet).
D1 = U1 - U0 = 0,0000000101 D2 = U2 - U1 = 0,0000001010
Eine Differenz B. zwischen der normierten Laufposition eines zu codierenden Laufs und derjenigen eines dem zu codierenden Lauf unmittelbar vorausgehenden codierten Laufs, d.h. die Differenz zwischen benachbarten normier ten LaufPositionen (im folgenden als relative normierte Laufposition bezeichnet) wird definiert durch eine zehn stellige binäre Darstellung nach dem Binärkomma:
10
b° = p° - p[5 = 0,0010010001
B° = p° - P° = 0,0111000110 B3 = P3 - P2 = 0,0001111100 B^ = P^ - Pg = 0,0001111100 B2 = P2 " P1 = 0,0101001010
Fig. 4 ist ein Beispiel einer Codetabelle, die die Ent-■0 sprechung zwischen der Binärzahl D. und einem Code <D.> der relativen normierten Zeilenposition zeigt. In Fig. 4 wird die Binärzahl D. dargestellt durch 0, b^b-jb-jb, ... b ^b . Im Fall des oben erwähnten Wertes D1 = 0,0000000101 für g = 10 (g bedeutet die Anzahl von Ziffernstellen der Binärzahl D. hinter dem Binärpunkt und wird im folgenden auch als Anzahl signifikanter Ziffernstellen bezeichnet) haben dann b.., b~, ··· i>7
jeweils den Wert null, b~2 = b8 = 1' ba-1 = b9 = ° und b = b10 = 1, so daß der Code <D^> den Wert 11001 hat. 20
Fig. 5 ist ein Beispiel einer Codetabelle, die die Entsprechung zwischen der Binärzahl Β} und:einem Code <B^> der relativen normierten Laufposition zeigt. Die Binärzahl B? wird dargestellt durch 0,b1b2b3b^ ... bf_2 kf-_-i bf,
Nimmt man z.B. bei f = 10 den obigen Wert B^ = 0,0001111100 (wobei f die Anzahl von Ziffernstellen der Binärzahl bI nach dem Binärpunkt bedeutet und im folgenden auch als Anzahl f signifikanter Zif-f ernste Ilen bezeichnet wird) ! gemäß Fig. 5, so gilt b1 = 0, b2 = 0, b3 = 0, b4 = bf_6 = und bf_c/ bf_4' kf-3' kf_2, £>f_-i un(ä bf gleich 1, 1, 1, 1, 0 bzw. 0, so daß der Code <B^> den Wert 1111110111100 erhält.
Fig. 6 zeigt ein Beispiel eines Codierschemas zum Codieren eines binären Bildsignals in einem komprimierten Code. In Fig. 6 ist <H.> (j = 0, 1, ... b) ein Vorsatz einer
10/11
Zeile.· Für eine durchgehend weiße Zeile beträgt H. = (00) in hexadezimaler Schreibweise, d.h. (00).^. Für andere Zeilen kennzeichnet der Wert die Anzahl von Bytes von
<D.> <B?> <B?> ... <B^>, d.h. die Anzahl-von Bytes
der codierten Zeile. <D.> repräsentiert einen Code der relativen normierten Zeilenposition D. gemäß Fig. 4. <Β·?> repräsentiert einen Code der relativen normierten Laufposition B-? gemäß Fig. 5. <D.> und <B-?> werden also für jede Zeile kombiniert, und ein die kombinierte Codelänge repräsentierender Vorsatz <H-?> wird an der Vorderseite der kombinierten Codes hinzugesetzt. Wenn eine Zeile nur aus weißen Bildelementen besteht, also eine Weißzeile vorliegt, wird <D.> dem Vorsatz <H.> =.<(00)1g> der Zeile hinzugesetzt. Gibt es zwei oder mehr aufeinanderfolgende Weißzeilen, so wird das Bildsignal der zweiten Weißzeile bis zu der letzten Weißzeile, die unmittelbar einer schwarze Bildelemente enthaltenden Zeile vorausgeht, nicht der Codierung unterworfen. Die Gesamtlänge eines eine Zeile bildenden Codezugs ist ein ganzzeiliges Vielfaches eines Bytes, und wenn das niedrigstwertige Bit des letzten Codes <lP .> einer Zeile nicht eine Bytegrenze ist, so werden 1en aufgefüllt, bis das niedrigstwertige Bit die Bytegrenze darstellt. Es wird angenommen, daß die Zeile mit einem weißen Bildelement beginnt, und falls sie mit einem schwarzen Bildelement beginnen sollte, so wird der Code <§·?> der relativen normierten Laufposition BrJ = 0 speziell eingefügt.
Die Codierung des in Fig. 1 gezeigten Binärbildes entsprechend dem in Fig. 6 dargestellten Codierschema ist in Fig. 7 gezeigt. Der Code <DQ> der relativen normierten Zeilenposition Dq der ersten Zeile ist bei 710-2 dargestellt. Die Bezugszeichen 711, 712 und 713 bezeichnen die Codes <§..>, <B_> und <B3> der aus den normierten Laufpositionen der ersten Zeile erhaltenen relativen
11/12
normierten Laufpositionen. Die Anzahl von Bits der Codes
-0 -0 -0
<Dn>, <B.>, <BO> und <B-j> beträgt insgesamt 47, und da dieser Wert um ein Bit kleiner ist als sechs Bytes, wird ein Füllbit "1" für die Bytegrenze vorgesehen, die durch das Bezugczeichen 714 angedeutet ist. Der Vorsatz ·<Η0>= 00000110, was (06) ..g entspricht, wird hinzugefügt, wie durch das Bezugszeichen 710-1 angedeutet ist. Ein Vorsatz <H1> der zweiten Zeile beim Bezugszeichen 720-1 hat den Wert (0O)16, da die zweite Zeile eine nur aus weißen Bildelementen bestehende Weißzeile ist. Der Code <D1> der relativen normierten Zeilenposition D1 der zweiten Zeile ist der gleiche wie der in Fig. 4 dargestellte Wert D1 und hat hier das Bezugszeichen 720-2. Da dieser Code <D..> eine Länge von fünf Bits hat, werden in drei Bitstellen 1en aufgefüllt, um die Bytegrenze zu erreichen (siehe Bezugszeichen 721) . Ein Vorsatz <H~> und der relative normierte Zeilenpositionscode <D~> der dritten Zeile tragen das Bezugszeichen 730-1 bzw. 730-2, und die Bezugszeichen 731 und 732 bezeichnen die relativen normierten Laufpositionscodes <B^> bzw. <B~> der
dritten Zeile. Füllbits für die Bytegrenze werden beim ■ Bezugszeichen 733 hinzugefügt.
Der Code der relativen normierten Zeilenposition der 204.
Zeile trägt das Bezugszeichen 740. Da angenommen wird, daß die 203. oder 202. Zeile schwarze Bildelemente enthalten, beträgt der Code <Ό*> 11001. Wenn eine 201. Zeile beispielsweise schwarze Bildelemente enthält und die 202. und die 203. Zeile Weißzeilen sind, erhält der Code der relativen normierten Zeilenposition D. der 204. Zeile den Wert 1110010.
Fig. 8 zeigt ein Beispiel eines Prozesses der Binärbildcodierung.
35
12/13
Erste Ausführungsform
Ge samtaufbau
Fig. 9 zeigt ein Beispiel der erfindungsgemäßen Anordnung zum Codieren eines Binärbilds in einen komprimierten Codezug. Ein Musterspeicher (PM) 901 dient zum Speichern des durch Haupt- und Nebenabtastung eines Bildes gewonnenen binären Bildsignals. Ein Zeilenpuffer (LB)
902 dient zum Speichern des binären Bildsignalmusters
einer Zeile, d.h. eines Zeilenmustersignals einer Hauptabtastzeile. Das binäre Bildsignal einer Zeile in dem Musterspeicher 901 wird über eine Transferschaltung (TC)
903 an den Zeilenpuffer 902 gegeben. Von einem Weißzeilen-Detektor (1JiOC) 904 wird festgestellt/ ob das in dem Zeilenpuffer 902 gespeicherte Zeilenmustersignal eine Weißzeile ist oder nicht. Die Anzahl N von Bildelementen (N ist eine ganze shl größer 0) des zweidimensionalen Bilds in horizontaler Richtung (Hauptabtastrichtung) wird in einem Horizontal-Bildelementzahl-Speicher (HPM) 905 gespeichert. Ein Horizontalcodegenerator (HCG) 906 erfaßt die Lauf position η·? in dem im Zeilenpuffer 902 gespeicherten Zeilenmustersignal und erzeugt die normierte Laufposition p·?, die relative normierte Laufposition B? und den Code <B?>. Die Anzahl von Bildelementen M (M ist eine ganze Zahl größer 0) des Bilds in vertikaler Richtung (in Nebenabtastrichtung) wird in einem Vertikal-Bildelementzahl-Speicher (VPM) 907 gespeichert. Ein Vertikalcodegenerator (VCG) 908 erfaßt die Zeilenposition m. des im Zeilenpuffer 902 gespeicherten Zeilenmustersignals und erzeugt die normierte Zeilenposition u., die relative normierte Zeilenposition D. und den Code <D.>. Ein Zug der Codes <B^>, der für eine Zeile von dem Horizontalcodegenerator 906 erzeugt wird, wird in einem Horizontalcodespeicher (HCM) 909 gespeichert, und der von dem Vertikal-
13/14
codegenerator 908 erzeugte Code <D.> wird in einem Vertikalcodespeicher (VCM) 910 gespeichert.
Die in den Codespeichern 909 und 910 gespeicherten Codes werden von einer Synthetisierschaltung (SC) 911 kombiniert und mit einem Zusatz versehen, um einen Codezug eines Zeilensignals zu erzeugen. Der Codezug, der ein Ausgangssignal der Synthetisierschaltung 911 ist, wird für jede Zeile in einem Codespeicher (CM) 912 gespeichert. Von einer Weißzeilen-Dauerzustands-Schaltung (WCS) 913 wird kontrolliert, ob zwei oder mehr Weißzeilen nacheinander auftreten. Eine Ablaufsteuerschaltung (SCC) 914 bewirkt eine Ablaufsteuerung der Transferschaltung 903, der Weißzeilen-Detektorschaltung 904, des Horizontalcodegenerators 906, des Vertikalcodegenerators 908, der Synthetisierschaltung 911 und der Weißzeilen-Dauerzustands-Schaltung 913. Ein ein Betriebsende der.Transferschaltung 913 kennzeichnendes Flag wird in einem Transferschaltungs-Zustandsregister (TSR) 915 gespeichert. Ein Flag, das der .Transferschaltung 903 befiehlt, den Betrieb aufzunehmen, wird in einem Transferschaltungs-Triggerflagregister (TGR) 916 gespeichert. Ein das Betriebsende des Weißzeilendetektors 904 kennzeichnendes Flag wird in einem Weißzeilen-Detektorzustandsregister (WSR) 917 gespeichert. Ein Flag, das den Beginn des Betriebs des Weißzeilendetektors befiehlt, wird in einem Weißzeilendetektor-Triggerflagregister (WGR) 918 gespeichert. Ein Flag, das dann, wenn das in dem Zeilenpuffer 902 befindliche Zeilenmustersignal eine Weißzeile ist, gesetzt ist, wird in einem Weißzeilen-Detektorergebnisregister (WRR) 919 gespeichert. Ein das Betriebsende des Horizontalcodegenerators 906 kennzeichnendes Flag wird in einem Horizontalschaltungs-Zustandsregister (HSR) 920 gespeichert, und ein den Betriebsbeginn des Horizontalcode-
14/15
ι generators 906 befehlendes Flag wird in einem Horizontalschaltungs-Triggerflagregister (HGR) 921 gespeichert. Ein das Betriebsende des Vertikalcodegenerators 908 kennzeichnendes Flag wird in einem Vertikalschaltungs-Zustandsregister (VSP) 922 gespeichert, und ein den Betriebsbeginn des Vertikalcodegenerators 908 befehlendes Flag wird in einem Vertikalschaltungs-Triggerflagregister (VGR) 923 gespeichert. Ein Flag, das dem Vertikalcodegenerator und der Synthetisierschaltung 911 befiehlt, eine Weißzeile zu verarbeiten, wird in einem Zeilenzustandsregister (LSR) 924 gespeichert. Ein das Betriebsende der Synthetisierschaltung 911 kennzeichnendes Flag wird in einem Synthetisierschaltungs-Zustandsregister (SSR) 925 gespeichert, und ein den Betriebsbeginn der Synthetisierschaltung 911 befehlendes Flag wird in einem Synthetisierschaltungs-Triggerflagregister (SGR) 926 gespeichert. Die Eingabeinformation der Weißzeilen-Dauerzustands-Schaltung 913 zum Steuern eines Weißzeilen-Dauerzustandsflags wird in einem Weißzeilen-Dauerzustandsregister (WCI) 927-1 und 927-2 gespeichert. Das Weißzeilen-Dauerzustandsflag wird in einem Weißzeilen-Dauerzustandsflagregister (WCR) 928 gespeichert. Ein Triggerimpulsgenerator (G) 929 erzeugt einen Triggerimpuls zum Zurücksetzen der Schaltungen 903, 904, 906, 908, 911 und 914, um den Codiervorgang für eine Zeile zu beginnen.
Horizontalcodegenerator (HCG) 906
Fig. 10 zeigt ein Beispiel der Ausgestaltung des Horizontalcodegenerators 906. Die Laufposition n^ des binären Bildsignals einer Zeile, d.h. das Zeilenmustersignal in dem Zeilenpuffer 902, wird von einem Laufpositionsdetektor (RPD) 1001 erfaßt, und die festgestellte Laufposition n^ wird in einem Laufpositionspuffer (RPB) 1002 ge-
15/16
speichert. In einer Laufposition-Normierschaltung (RPNC) 1003 wird auf der Grundlage der Anzahl N von Bildelementen in Hauptabtastrichtung, die in dem Horizontal-Bildelementzahl-Speicher 905 gespeichert ist, und der in dem Laufpositions-Detektor 1001 gespeicherten Laufposition
η-? eine Division n-?/N durchgeführt, um dadurch die normierte Laufposition p-? zu erhalten. Die normierte Laufposition p. - 1 (= n._1/N) und die normierte Lauf position p-?/N (= η-?/N) werden in einem Puffer für normierte Laufpositio-'0 nen (NRPB) 1004 bzw. in einem Puffer für normierte Laufpositionen (NRPB) 1005 gespeichert. Eine Differenz B-? =
P^ ~ P? ι zwischen den Inhalten der Puffer 1004 und 1005 ι χ— ι
wird mit Hilfe eines Subtrahierers (SUB) 1006 ermittelt, und dessen Ausgangssignal B-? wird in einem Puffer für relative normierte Laufpositionen (RNRPB) 1007 gespeichert. Der gespeicherte Inhalt B-? wird von einem Codierer (HEC) 1008 nach Maßgabe der in Fig. 5 gezeigten Codiertabelle codiert. Die Codiertabelle nach Fig. 5 ist vorab in einem Codiertabellenspeicher (HTM) 1009 gespeichert worden. Die Ablaufsteuerung der Schaltungen 1001, 1003, 1006 und 1008 erfolgt durch eine HCG-AblaufSteuerschaltung (HSCC) 1010.
Vertikalcodegenerator (VCG) 908
Fig. 11 zeigt ein Beispiel des Aufbaus des Vertikalcodegenerators 908. Die Zeilenposition m. jeder Zeile des binären Bildsignals wird in einem Zeilenpositionspuffer (LPB) 1101 gespeichert. Von einer*Zeilenpositions-Normierschaltung (LPNC) 1102 wird eine Division m./M auf der Grundlage der Zeilenposition m. und der Anzahl M von Bildelementen in der Nebenabtastrichtung, die in dem Vertikal-Bildelementanzahl-Speicher 907 gespeichert ist, durchgeführt, um die normierte Zeilenposition u. zu erhalten. Die normierte Zeilenposition u., (= m.,/M) wird in einem Puffer für normierte Zeilenpositionen (NLPB) 1103 gespeichert, und die
16/17
normierte Zeilenposition u. (= m./M) wird in einem Puffer für normierte Zeilenpositionen (NLPB) 1104 gespeichert. Eine Differenz D. = u. - u., zwischen den normier-
•J wJ mJ
ten Zeilenpositionen, die in diesen Puffern 1103 und 1104 gespeichert sind, wird von einem Subtrahierer (SUB) 1105 ermittelt, dessen Ausgangssignal D. in einem Puffer für relative normierte Zeilenpositionen (RNLPB) 1106 gespeichert wird. Der gespeicherte Inhalt D. wird entsprechend der in Fig. 4 dargestellten Codiertabelle von einem Codierer (VEC) 1107 codiert. Die in Fig. 4 gezeigte Codiertabelle ist in einem Codiertabellenspeicher (VTM) 1108 gespeichert. Die in dem Zeilenpositionspuffer 1101 gespeicherte Zeilenposition wird von einer Zeilenpositions-Inkrementierschaltung (LPINC) 1109 erhöht. Eine VCG-Ablaufsteuerschaltung (VSCC) 1110 steuert den Betriebsablauf der Schaltung 1102, 1105, 1107 und 1109.
Synthetisierschaltung (SC) 911
Fig. 12 zeigt ein Beispiel für den Aufbau der Synthetisierschaltung 911. Die Codes <§■?> für eine Zeile des Horizontalcodespeichers 909 und der Code <D.> in dem Vertikalcodespeicher 910 werden von einer Transferschaltung (STC) 1201 in einen Codezug <D.> <§■?>■ ... <eP.> kombiniert, und der Codezug der Zeile, der das Ausgangssignal der Transferschaltung 1201 bildet, wird in einem Codespeicher (SCM) 1202 gespeichert. Die Codelänge (dies ist die Länge in Bytes oder Bruchteilen davon, falls vorhanden, wobei die Bytes bzw. die Bruchteile des in dem Codespeicher 1202 befindlichen Codezugs gezählt werden) wird von einem Codelängenrechner (CLC) 1203 berechnet, und die berechnete Codelänge wird in einem Codelängenspeicher (SCLM) 1204 gespeichert. Die in dem Speicher 1204 gespeicherte Codelänge, die als Vorsatz verwendet wird, und der in dem Codespeicher 1202 gespeicherte Code-
17/18
ug werden von einem Vorsatzaddierer (SHA) 1205 kombiniert. Im vorliegenden Fall wird der Code2ug mit der erforderlichen Anzahl von "1" aufgefüllt, um bis zu einer Bytegrenze abzuschließen. Wenn die codierte Zeile des Binärbildsignals eine Weißzeile ist und es sich bei dieser Zeile um die erste von zwei oder mehr aufeinanderfolgenden Weißzeilen handelt, wird ein Weißzeilenvorsatz (der gemäß Fig. 6 den Wert (00) ..g besitzt) mit Hilfe eines Weißzeilen-Vorsatzaddierers (SWHA) 1206 dem Code <D.> in dem Vertikalcodespeicher 910 hinzugefügt,.und, falls nötig, wird der Code mit einem oder mehreren "1"-Bit aufgefüllt, so daß der Code an einer Bytegrenze aufhört. Der Weißzeilenvorsatz ist vorab in einem Weißzeilenvorsatz-Speicher (SWH) 1207 gespeichert. Eine SC-Ablaufsteuerschaltung (SSCC) 1208 steuert den Arbeitsablauf der Schaltungen 1201, 1203, 1205 und 1206.
Weißlauf-Dauerzustands-Schaltungs (WCS) 913
Fig. 13 zeigt ein Beispiel für den Aufbau der Weißlauf-Dauerzustands-Schaltung 913, die durch ein PLA.(programmierbares Logic Array) gebildet wird. Die Inhalte der Weißlauf-Dauerzustandsregister 927-1 und 927-2 werden auf ein UND-Verknüpfungsfeld (Array) 1301 gegeben, dessen Ausgangssignale über Produktthermleitungen 1303 (vertikale Leitungen) in ein ODER-Verknüpfungsfeld 1302 eingegeben werden. Die Leitungen 1303 sind gemeinsam für die Felder 1301 und 1302 vorgesehen. Die Eingangssignale werden an das UNDVerknüpfungsfeld 1301 jeweils direkt angelegt und darüberhinaus auch noch über Negatoren 1304. Der interne Zustand der Weißlauf-Dauerzustands-Schaltung 913 wird in einem Rückkopplungsspeicher 1305 gespeichert. Das Bezugszeichen 1306 bezeichnet Kreuzungspunkte zum Erzeugen der logischen Produkte oder Summen innerhalb des PLA.
Das heißt: Das UND-FeId 1301 gibt auf jeder vertikalen Leitung 1303 das logische Produkt sämtlicher Eingangs-
18/19
' Signale von den Kreuzungspunkten 1306 an der betreffenden Leitung ab, und das ODER-FeId 1302 liefert auf jeder horizontalen Leitung die logische Summe am Kreuzungspunkt 1306
der betreffenden horizontalen Leitung. 5
Ablaufsteuerschaltung (SCC) 914
Fig. 14 zeigt ein Beispiel der Ablaufsteuerschaltung 914, die als PLA (programmierbares Logic Array) ausgebildet
'^ ist. Die Inhalte der Schaltungszustandsregister, die das Ende des Betriebs der jeweiligen Schaltungsteile kennzeichnen, d.h. die Inhalte der Register TSR 915, WSR 917, HSR 920, VSR 922 und SSR 925 sowie der Register WCR 928, WRR 919 und die Inhalte der internen Zustands-Rückkopp-
lungsspeicher 1405-1, 1405-2 und 1405-3 des PLA werden auf ein ÜND-Verknüpfungsfeld 1401 gegeben. Die UND-verknüpften Ausgangssignale des UND-Felds 1401 werden auf ein· ODER-FeId 1402 gegeben, dessen Ausgangssignale an folgende Schaltungsteile gegeben werden: An die Schaltungs-
triggerregister TGR 916, WGR 918, HGR 921, VGR 923 und SGR 926, an die Register WCI 927-1, 927-2, LSR 924, und an die internen Zustands-Rückkopplungsspeicher 1405-1, 1405-2 und 1405-3 des PLA. Es gibt den Feldern 1401 und 1402 gemeinsame Produktthermleitungen (vertikale Leitun-
" gen) 1403. Die Eingangssignale werden sowohl direkt an das UND-FeId 1401 als auch über Negatoren 1404 an das Feld gelegt. Die internen Zustände des PLA werden in den Rückkopplungsspeichern 1405-1 bis 1405-3 gespeichert. Kreuzungspunkte zum Erzeugen der logischen Produkte oder
Summen in dem PLA sind durch Kreise 1406 gekennzeichnet. •Eine der Ausgangsleitungen des ODER-Felds 1402 ist an den Triggerimpulsgenerator 929 angeschlossen, dessen Ausgangssignal an das UND-FeId 1401 gelegt wird.
19/20
Arbeitsweise .
Als nächstes soll die Arbeitsweise der.in den Fig. 9 bis 14 dargestellten Schaltungsteile beschrieben werden. Zur Vereinfachung der Beschreibung soll angenommen werden, daß in dem Musterspeicher 901 das in Fig. 1 gezeigte Binärbildsignal gespeichert sei, daß der Horizontal- und der Vertikal-Bildelementzahl-Speicher 905 bzw. 907 den Speicherinhalt M = 248 bzw. N = 204 aufweisen, und daß die in Fig. 7 dargestellten Codes nach Maßgabe des in Fig. 8 gezeigten Flußdiagramms an den Codespeicher 912 gegeben werden. Um die Codierung des Binärbildsignals in Gang zu setzen, erzeugt der Triggerimpulsgenerator 929 ansprechend auf ein externes Signal einen Impuls "1",
Ί5 und das Weißzeilen-Dauerzustands-Flagregister 928 wird auf "0" voreingestellt. Durch den vom Triggerimpulsgenerator 929 erzeugten Impuls werden die Register 915 und 917 bis 926 durch hier nicht dargestellte Mittel auf "0" gesetzt, wodurch der Codierprozeß für eine Zeile des Binärbildsignals eingeleitet wird.
Ansprechend auf den vom Triggerimpulsgenerator 929 kommenden Impuls "1" wird das Transferschaltungs-Triggerregister 916 von der in Fig. 14 gezeigten Ablaufsteuerschaltung 914 auf "1" gesetzt, wodurch die Transferschaltung 903 aktiviert wird. Die Transferschaltung 903 gibt aus dem Musterspeicher 901 ein erstes Zeilenbildsignal zur Speicherung in dem Zeilenpuffer 902. Nach Abschluß des Betriebs der Transferschaltung 903 geht das Transferschaltungs-Zustandsregister 915 auf "1". Da nun das Aus- ; gangssignal des Triggerimpulsgenerators 929 auf "0" gegangen ist und die Rückkopplungsspeicher 1405 bis 1405-3 sowie die Register 917, 920, 922 und 925 im Zustand "0" sind, bewirkt der Inhalt "1" des Transferschaltungs-Zustandsregisters 915, daß über die Steuerschaltung 914 im nächsten Zeitabschnitt eine "1" an jeden Rückkopplungs-
20/21
' Speicher 1405-3 und das Weißzeilen-Detektor-Triggerflagregister 918 gegeben wird. Durch Setzen des Registers 918 wird der Weißzeilendetektor 904 veranlaßt, festzustellen, ob das Zeilenbildsignal im Zeilenpuffer 902 eine weiße Zeile ist oder nicht. Da die erste Zeile hier nicht eine weiße Zeile ist, setzt der Weißzeilendetektor 904 das Weißzeilendetektor-Ergebnisregister 919 auf "0" und setzt außerdem ein Betriebsendeflag in dem Weißzeilendetektor-Zustandsregister 917 auf "1". Demzufolge
IU wird das Weißzeilendetektor-Ergebnisregister 919 auf "0" gesetzt, das Weißzeilendetektor-Zustandsregister 917 ist im Zustand "1", die Rückkopplungsspeicher 1405-1 bis 1405-3 sind im Zustand "0", "0" bzw. "1", und die Register 920 und 922 sind sämtliche im Zustand "0". Da-
•5 her setzt die Ablaufsteuerschaltung 914 in der nächsten Zeitstufe die Rückkopplungsspeicher 1405-1 und 1405-3 sowie die Register (HGR) 921, (VGR) 923 und (WCI) 927-2 in den Zustand "1", und setzt die anderen Schaltungsteile in den Zustand "0". Dadurch, daß das Horizontalschal-
™ tungs-Triggerflagregister 921 in den Zustand "1" gesetzt wird, wird der Horizontalcodegenerator 906 aktiviert, und durch Setzen des Vertikalschaltungs-Triggerregisters 923 in den Zustand "1" wird der Vertikalcodegenerator 908 aktiviert.
Durch den Zustand "1" des Horizontalschaltungs-Triggerflagregisters 921 .veranlaßt die HCG-Ablaüfsteuerschaltung 1010 (Fig. 10) den Laufpositionsdetektor 1001, damit dieser den Laufpositionspuffer 902 ausliest. Da der
3" erste Lauf der ersten Zeile weiß ist, aktiviert die HCG-Ablaufsteuerschaltung 1010 die Laufpositions-Normierschaltung RPNC 1003, damit diese an den Puffer 1004 für normalisierte LaufPositionen den Wert 0 = pQ gibt. Gleichzeitig erfaßt der Laufpositionsdetektor 1001 aus dem
^ Zeilenpuffer 902 die nächste Laufposition 35 (= n1) und
21/22
-j legt die Weißpunkt-Zahl "35" an den Laufpositionspuffer 1002. Als nächstes führt der RPNC 1003 eine Division 35/248 durch, wobei 248 (= N) der Inhalt des Horizontal-Bildelementzahl-Speichers 905 und 35 (= n!j) der Inhalt des Laufpositionspuffers 1002 ist, und liefert das Divisionsergebnis 0,0010010000 (= p?) an den Puffer 1005 für normierte LaufPositionen. Als nächstes liefert der Subtrahierer 1006 an den Puffer 1007 für relative normierte
Laufpositionen eine Differenz 0,0010010001 (= B^ = pi? 0 Τι
Pn) zwischen den Inhalten der Puffer 1005 und 1004. Danach codiert der Codierer 1008 den Inhalt 0,0010010001 des Puffers 1007 für relative normierte LaufPositionen nach Maßgabe der in dem Codiertabellenspeicher 1009 gespeicherten Codiertabelle in einen Code 111111100010001 (=<§.>), der an den Horizontalcodespeicher 909 gegeben wird.
Als nächstes gibt der RPNC 1003 den Wert p0. an den Puffer 1004 für normierte LaufPositionen, und der Laufpositionsdetektor 1001 beginnt mit dem Feststellen der nächsten in dem Zeilenpuffer 902 gespeicherten Laufposition. Der Laufpositionsdetektor 1001 gibt die nächste Laufposition "145" (= n°) an den Laufpositionspuffer 1002. Danach berechnet der RPNC 1003 den Quotienten 145/248 und liefert das Ergebnis 0,1001010110 (= p9>) an den Puffer 1005 für normierte LaufPositionen. Danach gibt der Subtrahierer 1006 an den Puffer 1007 eine Differenz 0,0111000110 (= B2 = P° ~ P?) zwischen den Inhalten der Puffer 1005 und 1004. Danach codiert der Codierer 1008 die Inhalte des Puffers 1007 für relative normierte Laufpositionen nach Maßgabe der im Codiertabellenspeicher 1009 gespeicherten Codiertabelle und gibt den Ergebniscode <B°> = 11111111011000110 aus, der in dem Horizontalcodespeicher 909 als nächster Wert neben <B*> gespeichert wird. Dann gibt der RPNC 1003 den Wert p° an den Puffer
22/23
■ 1004, und der Laufpositionsdetektor 1001 beginnt, die nächste Laufposition in dem Zeilenpuffer 902 festzustellen, woraufhin der oben geschilderte Vorgang wiederholt wird, mit der Folge, daß ein Code <B°> 1111110111100 ausgegeben wird, der neben <B~> in dem Horizontalcodespeicher 909 gespeichert wird. Dann liefert der RPNC 1003 den Wert p~ an den Puffer 1004 für normierte Laufpositionen, und der Laufpositionsdetektor 1001 beginnt, die nächste Laufposition im Zeilenpuffer 902 festzustellen.
'" Da in dem verbleibenden Teil des im Horizontal-Bildelementzahl-Speicher 905 gespeicherten Zeilenbildsignals keine Laufposition mehr aufweist, liefert der Laufpositionsdetektor 1001 ein Betriebsendesignal an die HCG-Ablaufsteuerschaltung 1010, die das Horizontalschaltungs-Zustandsregister 920 setzt, in welchem ein Betriebsendeflag des Horizontalcodegenerators 906 im Zustand "1" gespeichert wird. Hierdurch wird der Betrieb des Horizontalcodegenerators 906 für die erste Zeile beendet.
Da andererseits das Vertikalschaltungs-Triggerflagregister 923 auf "1" gesetzt worden ist, aktiviert die VCG-Ablaufsteuerschaltung 1110 den Vertikalcodegenerator 908. Da das Zeilenzustandsregister 924 den Zustand "0" aufweist (wenn das Zeilenzustandsregister 924 im Zustand »ι" ist, treten Weißzeilen in zwei oder mehr Zeilen in dem Vertikalcodegenerator 908 auf, und die zweite und die nachfolgenden Weißzeilen werden in dem Zeilenpuffer 902 gespeichert, und es wird nur die Zeilenposition erhöht;, dies wird unten noch näher beschrieben), aktiviert die VCG-Ablaufsteuerschaltung 1110 die Zeilenpositions-Normierschaltung LPNC 1102. Diese teilt den gespeicherten Inhalt niQ = 0 (diese 0 wurde vor dem Beginn der Binärbildsignal-Codierung gespeichert) des Zeilenpositionspuffers 1101 durch den gespeicherten Inhalt 204 des Vertikal-Bildelementzahl-Speichers 907 und liefert
das Ergebnis uQ = 0,0000000000 an den Puffer 1104 für normierte Zeilenpositionen. Als nächstes aktiviert die VCG-AblaufSteuerschaltung 1110 den Subtrahierer 1105, um eine Differenz zu bilden zwischen dem gespeicherten Inhalt "0" (dieser wird allgemein mit u·. , bezeichnet, ist hier jedoch "0", da dieser Wert vor dem Beginn der Binärbildsignalcodierung gespeichert wurde) des Puffers 1103 und dem gespeicherten Inhalt U0 des Puffers 1104, d.h. DQ = uQ - 0 = 0,0000000000. '" Diese Differenz wird an den Puffer 1106 für relative normierte Zeilenpositionen gegeben. Danach leitet der Codierer 1107 aus dem gespeicherten Inhalt DQ des Puffers 1106 den Code <DQ> = 00 nach Maßgabe der in dem Codiertabellenspeicher 1108 gespeicherten Codier- ^ 5 tabelle ab und gibt den Code an den Vertikalcodespeicher 910. Dann aktiviert die VCG-Ablaufsteuerschaltung 1110 die Zeilenpositions-Inkrementierschaltung 1109, um den Inhalt des Zeilenpositionspuffers 1101 um "1" auf "1" (= m..) zu erhöhen (zu inkrementieren). Hierdurch wird der LPNC 1102 aktiviert, um an den Puffer 1103 für normierte Zeilenpositionen den Wert uQ zu geben, wodurch das Vertikalschaltungs-Zustandsregister 922, das ein Betriebsendeflag des Vertakalcodegenerators 908 beinhaltet, in den Zustand ^ "1" gesetzt wird und der Betrieb des Vertikalcodegenerators 908 beendet wird. Das Horizontalschaltungs-Zustandsregister■920 und das Vertikalschaltungs-Zustandsregister 922 gehen in den Zustand "1" über, die Rückkopplungsspeicher 1405-1 bis 1405-3 sind im Zustand "1", "0" bzw. "1", und die Register 925 und der Generator 929 sind beide im Zustand "0", so daß die Ablaufsteuerschaltung 914 in der nächsten Zeitstufe die Rückkopplungsspeicher 1405-1 bis 1405-3 sämtlich in den Zustand "1" einstellt, wobei das Synthetisierschaltungs-Triggerflagregister 926 in
24/25
• den Zustand "1" gebracht wird. Da andererseits die Weißzeilen-Dauerzustands-Register 927-1 und 927-2 im Zustand "O" bzw. "1" sind, bleiben die Inhalte "0" des Rückkopplungsspeichers 1305 der Weißzeilen-Dauerzustandsschaltung 913 und das Weißzeilen-Dauerzustands-Flagregister 928 in Fig. 13 unverändert.
Nun aktiviert nach dem Einstellen des Synthetisierschaltungs-Triggerflagregisters 926 auf den Zustand "1" die
SC-AblaufSteuerschaltung 1208 in Fig. 12 den Betrieb der Synthetisierschaltung 911. Da das Zeilenzustandsregister 924 im Zustand "0" ist (im Zustand "1" des Registers 924 veranlaßt die Synthetisierschaltung 911 den Weißzeilenvorsatz-Addierer 1206, den Weißzeilenvorsatz hinzuzufügen), aktiviert die SC-Ablaufsteuerschaltung 1208 die Transferschaltung 1201, wodurch <B?>, <b5> und <B3> in dem Horizontalcodespeicher 909 und DQ im Vertikalcodespeicher 910 in der Form DQ B.. B2 B3 in den Codespeicher 1202 übertragen werden. Als nächstes berechnet der Codelängenrechner 1203 die Codelänge (in Bytes.) des im Codespeicher 1202 gespeicherten Codes und gibt den Wert "6" (Bytes) im vorliegenden Beispiel an den Codelängenspeicher 1204. Als nächstes fügt der Vorsatzaddierer 1205 einen. Vorsatz 00000110 an den Kopf des im Codespeicher 1202 gespeicherten Codes unf füllt ein Bit "1" an der letzten Stelle des Codezugs auf, woraufhin der Codezug der ersten Zeile gemäß Fig. 7 an den Codespeicher 912 gegeben wird. Gleichzeitig setzt die SC-Ablaufsteuerschaltung 1208 das Synthetisierschaltungs-Zustandsregister 925, welches ein Arbeitsendeflag der Ablaufsteuerschaltung 911 beinhaltet, auf den Zustand "1
"1"
Nun ist das Synthetisierschaltungs-Zustandsregister 925 im Zustand "1", die Rückkopplungsspeicher 1405-1 bis 1405-3 sind sämtlich im Zustand "1", und das Ausgangs-
25/26
signal des Generators 929 ist "0", so daß die Ablaufsteuerschaltung 914 in der nächsten Zeitstufe eine "1" an den Triggerimpulsgenerator 929 (vergl. Fig. 14) gibt, um einen Impuls "1" zu erzeugen, durch den die Codierung der zweiten Zeile des BinärbiIdsignals begonnen wird. Der vom Triggerimpulsgenerator 929 kommende Impuls "1" setzt wiederum die Register 915 und 917 bis 926 in den Zustand "0". Im folgenden soll die Codierung der zweiten Zeile des in Fig. 1 gezeigten Binärbilds beschrieben werden.
Zunächst setzt ansprechend auf den vom Triggerimpulsgenerator 929 kommenden Impuls "1" die Ablaufsteuerschaltung 914 sämtliche Rückkopplungsspeicher 1405-1 bis 14 05-3 in den Zustand "0" und das Transferschaltungs-Tr'iggerflagregister 916 in den Zustand "1" und macht die anderen Ausgangssignale des ODER-Feldes 14 02 zu "0". Aufgrund des Zustands "1" des Transferschaltungs-Triggerflagregisters 916 überträgt die Transferschaltung 903 das Bildsignal der zweiten Zeile aus dem Musterspeicher 901 in den Zeilenpuffer 902, und nach Abschluß dieser übertragung wird das Transferschaltungs-Zustandsregister 915 auf "1" gesetzt. Hierdurch setzt die Ablaufsteuerschaltung 914 den Rückkopplungsspeicher 1405-3 und das Weißzeilendetektor-Triggerflagregister 918 in der nächsten Zeitstufe in den Zustand "1", wie es oben beschrieben wurde. Nachdem das Flagregister 918 auf "1" eingestellt i-st, beginnt der Weißzeilendetektor 904 mit dem Betrieb. Da die zweite Zeile eine Weißzeile ist, setzt der Weißzeilendetektor 904 das Weißzeilendetektor-Ergebnisregister 919 auf "1" und setzt das Weißzeilen-Detektor-Zustandsregister 917, das ein Betriebsendeflag des Weißzeilendetektors 904 beinhaltet,' in den Zustand "1". Somit haben die Rückkopp-
H η »
lungsspeicher 1405-1 bis 1405-3 die Inhalte "0", "0 . bzw. "1", das Weißzeilendetektor-Ergebnisregister 919
26/27
und das Weißzeilendetektor-Zustandsregister 917 haben beide den Inhalt "1", und das Weißzeilen-Dauerzustands-Flagregister 928 sowie die Register 920, 922, 925 und 927 sind sämtlich im Zustand "0", so daß in der nächsten Zeitstufe die Ablaufsteuerschaltung 914 die Rückkopplungsspeicher 1405-1 bis 1405-3 auf "1", "1" bzw. "0" einstellt, das Vertikalschaltungs-Triggerflagregister
923 auf "1" setzt und beide Weißzeilen-Dauerzustandsregister 927-1 und 927-2 auf "1" setzt.
Nachdem das Vertikalschaltungs-Triggerflagregister 923 auf "1" eingestellt ist, beginnt der Vertikalcodegenerator 908 seinen Betrieb. Da das Zeilenstatusregister
924 im Zustand "0" ist, aktiviert die VCG-Ablaufsteuerschaltung 1110 zuerst die Zeilenpositions-Normierschaltung -LPNC 1102, um die Berechnung 1/204 auf der Grundlage des gespeicherten Inhalts "204" des Vertikal-Bildelementzahl-Speichers 907 und des gespeicherten Inhalts m- = 1 des Zeilenpositionspuffers 1101 durchzuführen und das Divisionsergebnis u.. = 0,00000000101 an den Puff.er 1104 für normalisierte Zeilenpositionenv.zu geben. Als nächstes aktiviert die VCG-Ablaufsteuerschaltung 1110 den Subtrahierer 1105, um eine Differenz D-j. = U- - Uq zwischen dem Speicherinhalt uQ des Puffers 1103 und dem Speicherinhalt U1 des Puffers 1104 zu erhalten, und die sich ergebende Differenz D.. = 0,0000000101 wird an den Puffer 1106 für relative normierte Zeilenpositionen gegeben. Als nächstes ermittelt der Codierer 1107 einen Code <D1> = 11001 aus dem gespeicherten Inhalt D.. des Puffers 1106 nach Maßgabe der im Codiertabellenspeicher 1108 gespeicherten Codierτ tabelle, und er liefert den Code <D-.> an den Vertikalcodespeicher 910. Dann aktiviert die VCG-Ablaufsteuerschaltung 1110 die Zeilenpositions-Inkrementierschaltung 1109, um den Inhalt des Zeilenpositionspuffers 1101 um
27/28
"1" auf m2 = 2 zu erhöhen. Demzufolge wird der LPNC 1102 aktiviert, um den gespeicherten Inhalt U1 des Puffers 1104 an den Puffer 1103 zu geben, und das Vertikalschaltungs-Zustandsregister 922, welches ein Betriebsendeflag des Vertikalcodegenerators 908 beinhaltet, wird auf "1" gesetzt, wodurch der Betrieb des Vertikalcodegenerators 908 abgeschlossen ist.
Da nun die Weißzeilen-Dauerzustands-Register 927-1 und 927-2 beide den Inhalt "1" haben, setzt die Weißzeilen-Dauerzustands-Schaltung 913 den Rückkopplungsspeicher 1305 auf "1" und das Weißzeilen-Dauerzustands-Flagregister 928 auf "1". Durch Setzen des Registers 922.auf "1", der Rückkopplungsspeicher 1405-1 bis 1405-3 auf "1", "1""bzw. "0" und des Registers 925 auf "0" setzt die AblaufSteuerschaltung 914 bei der nächsten Zeitstufe die Rückkopplungsspeicher 1405-1 bis 1405-3, das Synthetisierschaltungs-Triggerflag 926 und das Zeilenzustandsregister 924 sämtlich auf "1".
Aufgrund des Zustands "1" des Registers 926 beginnt die Synthetisierschaltung 911 mit ihrem Betrieb. Da das Zeilenzustandsregister 924 im Zustand "1" ist, aktiviert die SC-Ablaufsteuerschaltung 1208 den Weißzeilenvorsatz-Addierer 1206, um den gespeicherten Inhalt <D^> des Vertikalcodespeichers 910 und den Weißzeilenvorsatz 00000000, der in dem Weißzeilenvorsatz-Speicher 1207 gespeichert ist, zu kombinieren. In diesem Fall wird der Codezug an seinem Ende mit drei 1 en aufgefüllt, um den Code an einer Bytegrenze abzuschließen. Dann wird der auf diese Weise ermittelte Codezug der zweiten Zeile an den Codespeicher 912 gegeben. Gleichzeitig setzt die SC-Ablaufsteuerschaltung 1208 das Synthetisierschaltungs-Zustandsregister 925, das ein Betriebsendeflag der Synthetisierschaltung 911 bein-
28/29
haltet, auf "1", um deren Betrieb zu beenden.
Da das Synthetisierschaltungs-Zustandsregister 925 und die Rückkopplungsspeicher 1405-1 bis 1405-3 sämtlieh im Zustand "1" sind, liefert die Ablaufsteuerschaltung 914 an den Triggerimpulsgenerator 929 eine "1"/ damit dieser in der nächsten Zeitstufe einen Impuls "1" erzeugt, durch den die Codierung der dritten Zeile des Binärbildsignals eingeleitet wird. Zu dieser · Zeit werden die Register 915 und 917 bis 926 durch die Erzeugung des Impulses seitens des Triggerimpulsgenerators 929 auf "0" gesetzt.
Als nächstes soll die Codierung der dritten in Fig. 1 gezeigten Zeile beschrieben werden. Zuerst wird nach der Erzeugung des Impulses durch den Triggerimpulsgenerator 929 das Transferschaltungs-Triggerflagregister 916 auf "1" gesetzt, um die Transferschaltung 903 zu aktivieren, die das Bildsignal der in dem. Musterspeieher 901 gespeicherten dritten Zeile in den Zeilenpuffer 902 überträgt. Dann wird der Weißzeilendetektor 904 aktiviert, indem das Weißzeilendetektor-Triggerflagregister 918 auf "1" gesetzt wird, um festzustellen, daß das Zeilensignal in dem Zeilenpuffer 902 keine Weißzeile ist, wodurch das Weißzeilendetektor-Ergebnisregister 919 auf "0" gesetzt wird. Nun, da das Register 919 im Zustand "0", das Weißzeilendetektor-Zustandsregister 917 im Zustand "1" und die Rückkopplungsspeicher 1405-1 bis 1405-3 im Zustand "0", "0" bzw. "1" sind, werden das Horizontalschaltungs-Triggerflagregister 921 und das Vertikalschaltungs-Triggerflagregister 923 in der nächsten Zeitstufe in den Zustand "1" gebracht, wodurch die Weißzeilen-Dauerzustands-Register 927-1 und 927-2 auf "0" bzw. auf "1" eingestellt werden. Durch Einstellen des Horizontalschal-
29/30
tüngs-Flagregisters 921 auf "1" wird der Horizontalcodegenerator 906 gestartet, der den oben im Zusammenhang mit der ersten Zeile bereits beschriebenen Vorgang wiederholt. Im vorliegenden Fall liefert der Horizontalcodegenerator 906 <B^> = 1111110111100 und <Β^> = 11111111001001010 an den Horizontalcodespeicher 909, wodurch das Horizontalschaltungs-Zustandsregister 920 auf "1" gesetzt wird, damit der Betrieb des Horizontalcodegenerators 906 beendet wird.
Andererseits wird durch Einstellen des Vertikalschaltungs-Triggerflagregisters 923 auf "1" der Vertikalcodegenerator 908 aktiviert, der den gleichen Betrieb wie bei der ersten und der zweiten Zeile wiederholt, wobei u- an den Puffer 1103 für normierte Zeilenpositionen gegeben wird und der gespeicherte Inhalt des Puffers 1101 auf "3" erhöht wird. Der Vertikalcodegenerator 908 gibt <D2> = 11001 an den Vertikalcodespeicher 910 und beendet damit den Betrieb des Vertikalcodegenerators 908.
Da die Weißzeilen-Dauerzustandsregister 927-1 und 927-2 im Zustand "0" bzw. "1" sind, wird der Inhalt des Rückkopplungsspeichers 1305 der Weißzeilen-Dauerzustands-Schaltung 913 auf "0" geändert, und das Weißzeilen- ■ Dauerzustands-Flagregister 928 wird ebenfalls auf "0" gesetzt. Nach Abschluß des Betriebs der Horizontal- und Vertikalcodegeneratoren 906 bzw. 908 wird das Synthetisierschaltungs-Triggerflagregister 926 auf "1" gesetzt, um die Synthetisierschaltung 911 zu aktivieren. Diese wiederholt den Betrieb wie bei der ersten Zeile und liefert einen Codezug der dritten Zeile gemäß Fig. 7 an den Codespeicher 912. Nach Ende des Betriebs der Synthetisierschaltung 911 erzeugt der Triggerimpulsgenerator 929 einen Impuls "1", und dann werden die vierten und nachfolgenden Zeilen in der oben beschriebenen Weise co-
30/31
• diert, so daß man schließlich den in Fig. 7 dargestellten Codezug im Speicher 912 vorliegen hat.
Als nächstes soll der Fall beschrieben werden, daß die *> der zweiten Zeile in Fig. 1 folgende, dritte Zeile ebenfalls eine Weißzeile ist. Wenn die Codierung der zweiten Zeile abgeschlossen ist, sind sowohl das Weißzeilen-Dauerzustands-Flagregister 928 als auch der Rückkopplungsspeicher 1305 im Zustand "1". Zunächst wird durch
IU die Erzeugung eines Impulses "1" durch den Triggerimpulsgenerator 929 die Transferschaltung 903 aktiviert, damit sie die dritte Zeile, die hier also eine Weißzeile sein soll, von dem Musterspeieher 901 in den Zeilenpuffer 902 überträgt. Als nächstes wird der Weißzeilendetektor 904 aktiviert, um festzustellen, daß es sich bei der dritten Zeile um eine Weißzeile handelt, wobei das Weißzeilendetektor-Ergebnisregister 919 auf "1" eingestellt und dadurch der Betrieb des Weißzeilendetektors 904 beendet wird. Da das Weißzeilen-Dauerzustands-Flagregister 928 und das Ergebnisregister 919 beide im Zustand "1" sind, ist dann das Weißzeilen-Detektor-Zustandsregister 917 im Zustand "1", die Rückkopplungsspeicher 1405-1 bis 1405-3 sind im Zustand "0", "0" bzw. "1", und die Register 920, 922, 925 und 926 sind im Zustand "0". Somit setzt die Ablaufsteuerschaltung 914 in der nächsten Zeitstufe die Rückkopplungsspeicher 1405-1 bis 1405-3 auf "1", "0" bzw. "0", das Vertika!schaltungs-Triggerflagregister 923 auf "1", die Weißzeilen-Dauerzustands-Register 927-1 und 927-2 beide auf V1" und
Il 1 Il
das Zeilenzustandsregister 924 auf "1
Da die Weißzeilen-Dauerzustands-Register 927-1 und 927-2 beide im Zustand "1" sind, bleiben der Rückkopplungsspeicher 1305 der Weißzeilen-Dauerzustands-
31/32
• Schaltung 913 und das Weißzeilen-Dauerzustands-Flagregister 928 im Zustand "1". Der Vertikalcodegenerator 908 wird durch Setzen des Vertikalschaltuns-Flagregisters 923 aktiviert. Da zu diesem Zeitpunkt das Zeilenzustandsregister 924 im Zustand "1" ist, beginnt die VCG-Ablaufsteuerschaltung 1110, die Zeilenpositions-Inkrementierschaltung 1109 zu veranlassen, die Zeilenposition im Zeilenpositionspuffer 1101 um "1" zu erhöhen, wodurch das Vertikalschaltungs-Zustandsregister 922 in den Zustand "1" gebracht und der Betrieb des Vertikalcodegenerators 908 beendet wird. Auf der Grundlage des Inhalts "1" des Vertikalschaltungs-Zustandsregisters 922, des Inhalts "0" des Registers 925 und des Generators 929 und der Zustände "1", "0" bzw. "0" der Rückkopplungsregister 1405-1 bis 1405-3 setzt die Ablaufsteuerschaltung 914 den Triggerimpulsgenerator 929, damit dieser in der nächsten Zeitstufe einen Impuls erzeugt, wodurch die Codierung der nächsten, vierten Zeile aufgenommen wird. Wenn also nacheinander Weißzeilen auftreten, so werden die zweite und die nachfolgenden Weißzeilen nicht codiert. Mit anderen Worten: Es erfolgt ein Überspringprozeß.
Als nächstes soll der Betrieb des Horizontalcodegenerators 906 für den Fall beschrieben werden, daß der am weitesten vorn liegende Lauf einer bestimmten Zeile ein Lauf von schwarzen Bildelementen ist. Der am weitesten vorn befindliche Lauf in dem Zeilenpuffer 902 beginnt mit einem schwarzen Bildelement, und wenn <3er Laufpositionsdetektor 1001 die Laufposition feststellt, aktiviert die HCG-Ablaufsteuerschaltung 1010 sofort den Codierer 1008, der einen Code "00" an den Horizontalcodespeicher 909 gibt. Als nächstes wird die Laufpositions-Normierschaltung RPNC 1003 aktiviert, damit sie eine "0" an den Puffer 1004 für normierte
32/33
Laufpositionen legt, und der Laufpositionsdetektor 1001 wird aktiviert, um die nächste Laufposition festzustellen. Hierdurch wird ein Code <B.> im Anschluß an den Code "0" an den Horizontalcodespeicher 909 gelegt. Wenn zum Beispiel eine bestimmte Zeile nur aus schwarzen Bildelementen besteht, liefert der Horizontalcodegenerator 906 nur den Code 00 an den Codespeicher 909, wodurch der Betrieb des Horizontalcodegenerators 906 abgeschlossen wird.
10
Zweites Ausführungsbeispiel
Oben wurde die Erfindung anhand einer Ausführungsform für ein Binärbildsignal beschrieben. Die folgende Be-Schreibung soll sich auf eine Ausführungsform beziehen, bei der ein mehrstufiges Bildsignal, das heißt ein Graustufen-Bildsignal verarbeitet wird. Ein Beispiel für ein mehrstufiges Bild ist in Fig. 15A gezeigt. In Fig. 15A kennzeichnen Symbole ο, Δ und χ Bildelemente mit unterschiedlichen Bildelementwerten, die jeweils ausgedrückt werden durch s·?.
Der Bildelementwert jedes Bildelements bezieht sich auf die optische Dichte des Bildelements. Wie im Fall des Binärbildsignals wird die Zeilenposition m. normiert, um eine normierte Zeilenposition u.=m./M zu erhalten, und es wird die Differenz, zwischen der normierten Zeilenposition u. einer codierten Zeile und einer normierten Zeilenposition u.t^m.i/M (0^j1^b) einer unmittelbar vorausgehenden codierten Zeile berechnet, um eine relative normierte Zeilenposition D.=u.-u., zu erhalten. Weiterhin wird eine Laufposition n-r, wo sich der BiIdelementwert innerhalb der gleichen Zeile ändert, normiert, um eine normierte Lauf position ρ·?=η·?/Ν zu erhalten. Weiterhin wird eine Differenz berechnet zwischen benachbarten
33/34
normierten LaufPositionen/ um eine relative normierte Laufposition B-?=p-?-p?_.. zu erhalten. In dem mehrstufigen Bildsignal wird der Bildelementwert si (0^s-?iS, wobei S eine Anzahl von Stufen, das heißt eine Anzahl unterschiedlicher Bildelementwerte, die ein Bildelement annehmen kann, ist) jedes Bildelements, das einen Lauf bildet, durch S dividiert, um einen normierten Bildelementwert w-?=s./S zu erhalten. Im Beispiel gemäß Fig. 15A ist der Wert von S beispielsweise "201". Fig. 15B zeigt normierte Zeilenpositionen, normierte Laufpositionen und normierte Bildelementwerte, die aus dem mehrstufigen Bild gemäß Fig. 15 erhalten werden. Diese normierten Zeilenpositionen und normierten Laufpositionen werden jeweils dargestellt durch eine zehn Ziffernstellen umfassende Dualzahl hinter dem binären Punkt, wobei man die Bruchteile von 1 als Einheit zählt und die 0 in der elften Dualstelle fortläßt. Der normierte Bildelementwert w·? wird dargestellt durch eine acht Ziffern umfassende Dualzahl hinter dem binären Punkt, wobei man die Bruchteile von 1 als eine Einheit zählt und die 0 in der neunten Dualstelle fortläßt. Dargestellt wird der Wert durch C-?.
Die relative normierte Zeilenposition D., die relative normierte Laufposition B. und der normierte Bildelementwert C-? werden jeweils codiert zu <D,>, <B?> bzw. <C-?>. Zum Codieren der relativen normierten Zeilenposition D und der relativen normierten Laufposition BV.werden beispielsweise die in den Fig. 4 und 5 dargestellten Codiertabellen verwendet. Fig. 16 zeigt ein Beispiel für die entsprechend zwischen dem normierten Bildelementwert C-? und dem zugehörigen Code <cl>. In Fig. 16 bedeutet 1 die Anzahl signifikanter Ziffernstellen, im obigen Beispiel gilt 1=8. Beispielsweise beträgt der Code <CO> des nor-
0
, mierten Bildelementwerts C"= 0,01001100 dann 01001100.
Die auf diese Weise erhaltenen Codes werden Zeile für
34/35
Zeile ausgegeben, und wie bei dem Binärbildsignal wird ein die Codelänge kennzeichnende Vorsatz <H.> für die betreffende Zeile an der Vorderseite des Codezugs eingesetzt/ woran sich der Code <D.> und dann die Sätze der Codes <C-?> und <Β·?> gemäß Fig. 17 anschließen. Wenn eine Zeile vollständig aus Bildelementen mit demselben Bildelementwert besteht, schließt sich an den Vorsatz <H.>=
<(00)1(-> die Codefolge <D.> und <CJ . > an. Wenn der Code-Iu ~2 ax
zug nicht an einer Bytegrenze abschließt, wird die notwendige Anzahl von Füllbits "1" hinzugefügt.
Fig. 18 zeigt ein Flußdiagramm, das ein Beispiel für den Ablauf der Codierung des mehrstufigen Bildsignals veranschaulicht.
Fig. 19 zeigt ein Beispiel des Aufbaus eines Codiersystems für ein Mehrstufenbildsignal. Zur Vereinfachung der Beschreibung sei angenommen, daß der Musterspeicher (PM) 901 das Mehrstufenbildsignal gemäß Fig. 15A speichere, daß der Horizontal-Bildelementzahl-Speicher (HPM) 905, ein Bildelementwertspeicher (PVM) 1510 und ein Vertikal-Bildelementwert-Speicher (VPM) 907 die Werte "248", "201" bzw. "204" speicherten, und daß die Codiertabellenspeicher (HTM) 1009, (CTM) 1512 und (DTM) 1108 die in den Fig. 5, 16 bzw. 4 dargestellten Codiertabellen speicherten.
Anhand von Fig. 18 soll nun der Vorgang des Codierens des in dem Musterspeicher (PM) 901 gespeicherten Mehr- . Stufenbildsignals zur Ausgabe an einen Codespeicher (CM) 912 erläutert werden.
Zunächst überträgt eine Zeilenmuster-Transferschaltung (PT) 903 das Zeilenmustersignal (ein Bildsignal für eine Zeile) einer ersten Zeile des Mehrstufenbildsignals im Musterspeicher (PM) 901 an einen Zeilenpuffer (LB) 902.,
35/36
und gibt gleichzeitig einen Zählsignalimpuls ab. Die Transferschaltung 903 erzeugt für jeden Zeilentransfer einen Zählsignalimpuls. Ein Laufpositionsdetektor (RPD) 1001 erfaßt die Laufposition des Mehrstufenbildsignals
im Zeilenpuffer (LB) 902 und gibt "23" (=n°) ab, und dieser Wert wird für die Verwendung in einem Bildelementwertgenerator (VG) 1509 zwischengespeichert. Ein B.Generator (ein Generator für relative normierte Laufpositionen, RNRPG) 1506 führt auf der Grundlage des Ausgangssignals "35" (=n.) des Laufpositionsdetektors 1001 und des gespeicherten Inhalts "248" (N) des Horizontal-Bildelementzahl-Speichers (NM) 905 die Division 35/248 durch, wobei Bruchteile von 1 als Einheit gezählt werden und die 0 in der elften Binärstelle fortgelassen wird. Hierdurch erhält man 0,0010010001 (P=P1). Dann wird eine Differenz. B^=P1-P0 mit pQ = 0,0000000000 erhalten, wobei P0 ein Anfangswert ist. Dies führt zu der Ausgabe des Wertes 0,0010010001 (jetzt wird p. zwischengespeichert). Dann empfängt ein B-?-Codierer (HEC) 1008 das Ausgangssignal B1=O,0010010001 von dem B^-Generator (RNRPG) 1506
—0 """ und gibt einen Code <B.j>=1111111 0001 0001 aus, weil b..=b2= 0 und b3=1 entsprechend der in dem Speicher (HTM) 1009 gespeicherten Codiertabelle. Gleichzeitig mit dem Feststellen der Laufposition n1 zur Ausgabe von <B1> stellt der Bildelementwertgenerator (PVG) 1509 den Bildelementiwert "200" (=sQ) eines nullten (=n?) Bildelementwerts in dem Zeilenpuffer (LB) 902 auf der Grundlage des Anfangswerts 0 (=n0) in dem Zeilenpositionsdetektor (RTD) 1001 fest und gibt den Wert aus. Ein C-?-Generator (CG) 1511 berechnet 200/201 auf der Grundlage des Ausgangssignals "200" (=Sq) des Bildelementwertgenerators (VG) 1509 und des gespeicherten Inhalts "201" (=S) des Bildelementwertspeichers (SM) 1510, wobei Bruchteile von 1 als Einheit gezählt werden und die 0 in der neunten Binärstelle fortgelassen wird. Hierdurch wird der Wert
36/37
0,11111111 (=Wq=Cq) ausgegeben. Ein cJ-Codierer (CE) 1513 gibt einen Code <Cg>=11111111 nach Maßgabe der im Speicher (CTM) 1512 gespeicherten Codiertabelle aus. Als nächstes kombiniert eine Codesynthetisierschaltung (BCS) 1514 das Ausgangssignal <B?>=11111110001001 des B?-
—0 x Codierers (HEC) 1008 mit dem Ausgangssignal <CQ>=
1111111111111111111111100010001 (=<Cq> <B°>) aus, der in dem Horizontalcodespeicher (HCM) 909 gespeichert wird.
Als nächstes stelle der Laufpositionsdetektor 1001 die nächste Laufposition im Zeilenpuffer 902 fest, und es schließt sich der oben beschriebene Vorgang an, wodurch
ein Code <B"?>=11111111 011000110 geliefert wird. Weiterhin
0 0
wird der Bildelementwert S1=ISO eines 35sten (=n.) BiIdelements im Zeilenpuffer 902 festgestellt, und es schließt sich die Rechnung 150/201 an, um C^=O,10111111 zu erhal-
—0
ten, wodurch ein Code <C1>=1Ö111111 ausgegeben wird. Als nächstes kombiniert die Codesynthetisierschaltung (BCS) diese Codes, so daß ein zusammengesetzter Code 1011111111111111011000110 (=<C°><B2>) geliefert wird, der in dem Horizontalcodespeicher (HCM) 909 gespeichert wird. In ähnlicher Weise wird eine Zeilenposition 175 (=n3) sowie ein Bildelementwert 60 (=s~) festgestellt, und deren zusammengesetzter Code 010011001111110111100 (=<C°> —0
<B3>) wird in dem Horizontalcodespeicher (HCM) 909 gespeichert. Dann beginnt der Laufpositionsdetektor (RPD) 1001 den Betrieb, um die nächste Laufposition in dem Zeilenpuffer (LB) 902 festzustellen, da jedoch hier keine weitere Laufposition vorliegt, gibt der Zeilenpuffer ein Abschlußsignal aus, wodurch der Laufpositionsdetektor (RPD) 1001 sowie der B^-Generator (RNRPG) 1506 initialisiert werden. Gleichzeitig stellt der Bildelementwertgenerator (PVG) 1509 den Bildelementwert S3=O eines 175sten Bildelements in dem Zeilenpuffer (LB) 902 auf der Grundlage von n3=175, was in dem Laufpositionsdetektor
37/38
(RPD) 101 gespeichert ist, fest, und es wird ein Code <C°>=00000000 von dem C-?-Generator (CG) 1511 und dem CV-Codierer (CE) 1513 erhalten. Die Codesynthetisierschaltung (BCS) 1514 spricht auf den das Abschlußsignal —0 bedeutenden Impuls an, um ein Ausgangssignal <C^>= 00000000 des C^-Codierers (CE) 1513 zu erhalten, das in dem Horizontalcodespeicher (HCM) 909 gespeichert wird.
Parallel zu dem Codieren des Bildsignals einer Zeile im Zeilenpuffer (LB) 1102 erhöht ein Zeilenzähler (LC) 1516 seinen Zählerstand um "1" durch den als Zählsignal dienenden Impuls von der Zeilenmuster-Transferschaltung (BT) 903, so daß das Ausgangssignal eine "0" wird (hierzu muß also der Anfangswert in dem Zähler auf "-1" eingestellt werden). Der ausgegebene Zählwert "0" entspricht rru. Als nächstes führt D.-Generator (ein Generator für eine relative normierte Zeitposition, RNLPG) 1518 eine Rechnung 0/204 auf der Grundlage des Ausgangssignals 0 (=ij des Zeilenzählers (LC) 1516 und des gespeicherten Inhalts 204 (=M) des Vertikal-Bildelementzahl-Speichers (VPM) durch, wobei Bruchteile von 1 als Einheit gezählt v/erden und die 0 der 11 ten Ziffernstelle hinter dem binären Punkt fortgelassen wird. Hierdurch erhält man uQ= 0,0000000000. Außerdem wird eine Differenz uQ-0 erhalten, wobei 0 ein Anfangswert ist, wodurch der Ausgangswert D0=O,0000000000 erhalten wird. Nun wird der Wert uQ zwischengespeichert.
Als nächstes empfängt ein D.-Codierer (VEC) 1107 das Ausgangssignal D =0,0000000000 des D.-Generators (RNLPG) 1518 und gibt einen Code <D-.>=00 ab wegen b- = . . . .b-« = 0 entsprechend der im Speicher (DTM) 1108 gespeicherten Codiertabelle, und dieser Code <Dn>=00 wird in einem Vertikalcodespeicher (VCM) 910 gespeichert. Nach Beendigung des Speichervorgangs eines Codezugs <C1><B1>...
38/39
<C2><B3><C2> im Horizontalcodespeicher (HCM) 909, das heißt nach Abschluß der Codierung einer Zeile und nach Speicherung des Codes <D~0> im Vertikalcodespeicher (VCM) 910 kombiniert die Synthetisierschaltung (SC) 911 den Codezug in dem horizontalen Codespeicher (HCM) 909 und den Code in dem Vertikalcodespeicher (VCM) 910. Da die Codelänger des zusammengesetzten Codezugs 79 Bits umfaßt, wird ein Vorsatz <Ho>=00001010 vor den zusammengesetzten Codezug gesetzt, welcher dann für einen Abschluß an einer Bytegrenze mit einem Bit "1" aufgefüllt wird.
Auf diese Weise wird der Codezug einer Zeile erzeugt und in dem Codespeicher 912 gespeichert.
Dann überträgt die Zeilenmuster-Transferschaltung (PT) 903 die zweite Zeile des Musters, wobei es sich um ein Zählsignal handelt. Der Laufpositionsdetektor (RPD) 1001 beginnt seinen Betrieb, da jedoch außer n», was ein Anfangswert ist, keine weitere Laufposition vorhanden ist, gibt der Detektor einen Impuls ab, der ein Abschlußsignal darstellt, sowie einen Impuls, der ein Zeilensignal bildet. Gleichzeitig erhält der Bildelementwertgenerator (PVG) 1509 den Bildelementwert sQ=200 eines nullten Bildelements im Zeilenpuffer (LB) 902 auf der Grundlage des vom Laufpositionsdetektors (RPD) 1001 kom-
1 ί
menden Werts nQ=0. Dann wird mit Hilfe des Ci-Generators
(CG) 1511 und des Codierers (CE) 1513 ein Code <c]>= 111111.11 erhalten, der über die Codesynthetisierschaltung (BCS) 1514 in. dem Horxzontalcodespeicher (HCM) 909 gespeichert wird. Andererseits wird der Zählerstand des Zeilenzählers (LC) 1516 von dem Zählsignalimpuls auf Jn1=I erhöht. Dieser Wert wird ausgegeben. Weiterhin wird yon dem D.-Generator (RNLPG) 1518 und dem Codierer (VEC) 1107 ein Code <D1>=11001 erzeugt und im Vertikalcodespeicher (VCM) 910 gespeichert. Nach Abschluß der Codierung fügt die Synthetisierschaltung 911 den Vorsatz
38/39
<Hi>=00000000 ansprechend auf das vom Laufpositionsdetek-
• _ _1
tor (RPD) 1001 kommende Zeilensignal dem Code <D1><CQ> hinzu, und füllt mit Einsen auf, so daß eine Bytegrenze erreicht wird. Dieser Codezug wird in dem Codespeicher (CM) 912 gespeichert. Weiterhin wird das Muster der dritten Zeile in den Zeilenpuffer (LB) 902 übertragen, und anschließend wird der oben beschriebene Vorgang bis zur 204ten Zeile wiederholt. Bei dem Ablauf gemäß Fig. 18 erfolgt die Codierung Zeile für Zeile unter den Annahme j'=j-1 (das heißt m.,=m._1), dies ist jedoch nicht unbedingt notwendig. Wenn beispielsweise m.,+1Sm.-1 gilt und m., bis m. Zeilen mit dem gleichen Bildelementwert sind, so ist es auch möglich, die Codierung der m.,+1 bis m.-1 Zeilen fortzulassen, um eine Differenz D.=u.-u.,
•J »J J .J
zwischen einer normierten Zeilenposition m./M (=u.) der m.-Zeile und einer normierten Zeilenposition m.,/M (=u.,), die unmittelbar vor der m.-Zeile codiert wurde, zu codieren und den sich ergebenden Code <D.> als Code der relativen normierten Zeilenposition der m.-Zeile in der vertikalen Richtung zu verwenden. In anderen Worten: Es kann auch hier ein tiberspringprozeß durchgeführt werden.
Als Bildelementwert kann auch ein Farbwert verwendet werden. Fig. 20 zeigt Beispiele für Bildelementwerte von Farbbildelementen. Die Farbbildelemente mit Rot-(R), Grün-(G) und Blau-(B)-Komponenten haben beispielsweise (maximal) unterschiedliche Bildelementwerte Sr, Sg bzw. Sb. Der Bildelementwert der jeweiligen Farbkomponenten wird normiert z.u sr^/Sr, sg-?/Sg und sb?/Sb, die in Codes
<Cr?>, <C<p.> bzw. <Cb?> codiert werden.
Fig. 21 zeigt ein Beispiel für einen Codezug, den man
für die in Fig. 20 dargestellten Farbbildelementwerte erhält.
'
40/41
Fig. 22 zeigt ein Beispiel für eine erfindungsgemäße Anordnung zum Codieren eines Mehrstufen-Farbbildsignals. Ein Farbbildelementwertgenerator 1503 dient zum Erfassen und Ausgeben von Farbbildelementwerten sr-?, sg? und sb-? für die rote, grüne bzw. blaue Komponente in einem Zeilenpuffer 902. Die Farbbildelementwerte sr?, sg? und sb. werden in Farbbildelementwert-Speichern 151Or, 1510g bzw. 1510b gespeichert. In Farb-C.-Generatoren 1511rf 1511g und 1511b werden diese Farbbildelementwerte dividiert durch die jeweils verfügbaren Anzahlen von Farbbildelementwerten Sr, Sg bzw. Sb (dies sind natürliche Zahlen größer 0) der jeweiligen Farbkomponenten, so daß die normierten Farbbildelementwerte Cr?=sr;?/Sr, Cg-? =
i Λ ι ■ lxx
sgV/Sg und Cb-r = sbY/Sb berechnet werden. In Codiertabellenspeichern 1512r, 1512g und 1512r werden Codiertabellen für Cr., Cg-? und Cb. vorab gespeichert'. Farbcodierer 1513r, 1513g und 1513b codieren die Ausgangssignale Cr;?, Cg. und Cb? der Farb-C?-Generatoren 1511r, 1511g und 1511b in Codes <Cr?>, <Cg-?> und <Cb-?> nach Maßgabe der in den Speichern 1512r, 1512g bzw. 1512b gespeicherten Codiertabellen. Diese Codes werden von einer Farbcodesynthetisierschaltung 1501 in einem Codezug <Cr?> <Cg?> <Cb-?> zusammengesetzt, der an eine Synthetisier schaltung 1514 gegeben wird. Die übrige Arbeitsweise entspricht der ν Arbeitsweise der Anordnung nach Fig. 19.
Als nächstes sollen andere Darstellungen des Mehrstufen-Farbbilds ignals erläutert werden.
Fig. 23 zeigt ein Beispiel einer Farb-Nachschlagtabelle, bei der es sich um eine Codier-Nachschlagtabelle (CLT) handelt, in der ein geeigneter Satz von Codes von roten, grünen und blauen Bildelementwerten (CrEK, C EK, ^_,κ) gegeben, ist für einen Eintragwert k (mit 2SkiT). In Fig.
23 ist <Cxy> mit χέ-fr, g, b} und ye{E, ,... ,Έ^,} ein Cpde
41/42
einer Binärzähl Cxy wie das Ergebnis einer Berechnung a/Sx ist, wobei α der Wert der Komponente χ mit O^a^Sx ist. Mit Hilfe dieser Tabelle werden Bildelemente mit T Farbarten eines Mehrstufenbildsignals dargestellt.
Fig. 24 zeigt ein Beispiel für den Codeaufbau unter Zugrundelegung der in Fig. 23 dargestellten Farbnachschlagtabelle. Wie man aus dem ersten Codezug ersieht, wird die Farbnachschlagtabelle in Form einer Reihe von Codes <CrE1>, <CgE.>, <CbE..>... im Anschluß an den Vorsatz. Code <T> gesendet, und anschließend werden die Eintragwert-Codes <Ε·?> anstelle der Kombinationen der drei Farbbildelementwert-Codes <Cr·?XCg-?XCb-?> gemäß Fig. 21 verwendet, wodurch eine weitere Datenkompression möglich wird. ' '
Fig. 25 zeigt ein Beispiel einer Anordnung gemäß der Erfindung bei Anwendung auf die Erzeugung des in Fig. 24 dargestellten Codezugs. In einem. Speicher 1801 wird die in Fig. 23 gezeigte Nachschlagetabelle CLT vorab gespeichert. Ein Eintragwertgenerator (EVG) 1802 ermittelt unter Bezugnahme auf den Speicher (CLTM) 1801 einen Eintragwert E? aus den Codes <Cr:?>, ^Cg-?> und <Cq?> des Bild-
JL X X · X
elementwerts der jeweiligen Farbkomponenten, die von -· dem Farbcodegenerator (CCS) 1501 geliefert werden. Der Eintragwert <Ε·?> wird von der Synthetisierschaltung 1514 kombiniert mit dem relativen normierten Laufpositionscode <Bi>f und anschließend in dem Horizontalcodespeicher gespeichert. Die Codes <Ε^><Β·?> . .. <E ._ 1XB 3 .XE■* .> einer Zeile in dem Horizontalcodespeicher 909 und der Code <D.> in dem Vertikalcodespeicher (VCM) 910 werden von der Synthetisierschaltung 911 in einen zusammengesetzten Code umgesetzt, dem die Füllbits hinzugefügt werden, und zu dem außerdem der Vorsatz H .=< (00) ., ,.> durch
Ji Id
den vom Laufpositionsdetektor (RPD) 1001 kommenden Zeilen-
42/43
Signalimpuls hinzugesetzt wird, bevor er in den Codespeicher 912 eingegeben wird. In diesem Fall überträgt die Synthetisierschaltung 911 die Inhalte des Speichers (CLTM) 1801 von dem Eintragwertgenerator (EVG) 1802 an den Codespeicher (CM) 912 während der Initialisierung. Die übrigen Verarbeitungsvorgänge sind die gleichen wie im Beispiel nach Fig. 22. Oben wurde eine Beschreibung eines Mehrstufen-Musterverarbeitungssystems für Farbbildelemente gegeben. Während nach den Fig. 22 und 25 rote, grüne und blaue Farbkomponenten als Farbbildwerte verwendet werden, so ist es statt dessen auch möglich, andere Farbelemente zugrundezulegen, beispielsweise Y-, I- und Q-Elemente in Form von binären Zahlen für die Codierung.
Decodierung
Damit der durch das erfindungsgemäße System codierte Codezug als Mehrstufenbildsignal einer Größe M1 (Anzahl von Bildelementen in vertikaler Richtung) χ Ν1 (Anzahl von Bildelementen in horizontaler Richtung).und mit einem Bildelementwert S1 decodiert werden kann, werden aus den Codes <B?>, <D.> und <C-?> die Werte B?, Ό. und C? unter Heranziehung der Codiertabellen ermittelt, dann werden die Werte ρ-?, u. und w·? (=C-?) nacheinander erhalten und mit N'/ M1 bzw. S1 multipliziert, um den Bildelementwert z-u ermitteln, wobei die Lauf position und die Zeilenposition jedes Laufs des Mehrstufenbildsignals mit M1 χ N' Bildelementen und der Bildelementwert-Anzahl S1 erhalten wird. Im vorliegenden Fall braucht nicht die Bedingung M1 = M, N1 = N und S1 = S erfüllt zu sein. Insbesondere für den Fall fS[ log2N 3, g^tlog-M] und 1 = [log2S] läßt sich das codierte Mehrstufenbildsignal exakt in das ursprüngliche Signal zurückverwandeln, in dem das .Mehrstufenbildsignal mit M'=M, N'=N und S'=S decodiert
43/44
wird. Weiterhin kann bei der Decodierung ein neuer Lauf einer neuen Zeile als ein geeigneter Bildelementwert erzeugt werden, indem man eine zwischenzeilige Interpolationszusammensetzung durchführt. Die Codes <B?> und.
<D.> in deir Codezug des erfindungsgemäß codierten Binärbildsignäls kann in ähnlicher Weise decodiert werden.
Beispiele für modifizierte Ausführungsformen
Gemäß der obigen Beschreibung können die Anzahlen der signifikanten Ziffernstellen f, g und 1, die Größe eines Bilds MxN und die Anzahl von Bildelementwerten S willkürlich ausgewählt werden. Beim Aufbau des Codezugs braucht der Vorsatz nicht immer auf ein Byte festgelegt zu sein, sondern der Vorsatz kann auch durch Bits und nicht durch Bytes die Codelänge festlegen. Außerdem ist es möglich, anstelle der Verwendung eines Vorsatzes am Ende einer Zeile einen Abschlußcode <T> für eine Zeile vorzusehen, das heißt einen Code, der den Abschluß einer Zeile kennzeichnet. Fig. 26 zeigt ein Beispiel für die Verwendung eines Abschlußcodes <1>. Hierbei soll die Anzahl f von Ziffernstellen 7 betragen, und es liegen die Werte B-J = O7IIOOOII, B^=O,0001111 und D.=0,0000001 vor, ' und es werden, die in Fig. 4 dargestellten Codiertabellen für beide Codes D. und B. verwendet. Im vorliegenden Beispiel liegen maximal 6 aufeinanderfolgende Einsen in den beiden Codes <D.> und <B^> vor, und es werden 7 aufeinanderfolgende Einsen für den Abschlußcode <T> verwendet, um eine Unterscheidung bezüglich der erwähnten Codes zu schaffen. Anstatt eines Vorsatzes oder eines Abschlußcodes zur Bestimmung des Endes jeder Zeile besteht außerdem die Möglichkeit, die relative normierte Position eines letzten Bildelements jeder Zeile, das heißt das Ende jeder Zeile, in bezug auf die normierte Laufposition zu codieren, welche dem Zeilenende unmittelbar'vorausgeht.
43/44
Da die Gesamtsumme der relativen normierten Laufpositionen jeder Zeile einschließlich der relativen normierten Position des letzten Bildelements 1 wird, läßt sich das Zeilenende dadurch erkennen, daß die Summe der decodierten'normierten LaufPositionen 1 wird.
Da bei der Ausführungsform nach Fig. 9 nacheinander Weißzeilen auftreten, werden das Normieren der zweiten bis letzten aufeinanderfolgenden Weißzeilen, die Berechnung von deren relativen normierten Positionen und deren Codierung fortgelassen, es besteht jedoch auch die Möglichkeit, die Normierung der ersten Zeile, die Berechnung von deren relativen normierten Positionen und deren Codierung fortzulassen oder aber auch eine Codierung für sämtliche Zeilen vorzunehmen.·
Ferner besteht die Möglichkeit, die Binär zahl B-? ( = 0 ,b1b2. . .hr;_*bf) vorzunehmen, nachdem man die Ziffernstellen (b- fb^/. . •t*f_1 /bf) in absteigender Reihenfolge der Wahrscheinlichkeit P (b ) (se1,2,...f) des Auftre-
° ·
tens neu anzuordnen, um B. = (b1.. ,b1 -/ · · .b'f *, b1-), das heißt Pro(bI 2) = -"--=p ro {bIf-1)^Pro(blf) zu erhalten· Das heißt: Man erhält die Wahrscheinlichkeit dafür, daß-
jedes Bit in den Ziffernstellen (b*...bf) der Binärzahl B-?=0,b.jb2.. .bf den Wert "0" annimmt, und es wird die Binär zahl (b^.-.b^) mit den entsprechend den Wahrscheinlichkeiten in absteigender Reihenfolge neu geordneten Bitpositionen nach Maßgabe einer Codiertabelle, wie sie zum Beispiel in Fig. 4 gezeigt ist, codiert. Diese Maßnähme ist natürlich nicht nur anwendbar auf die Binärzahl B-?, sondern auch auf die Binärzahlen C-? und D.. Man ■ kann außerdem das Huffman-Codierverfahren entsprechend den Werten der Binärzahlen verwenden, das heißt: Das Codierverfahren ist wahlfrei.
Obschon in der obigen Beschreibung die Differenz zwischen
44/45
Lauf positionell für jede Zeile berechnet wird, kann man außerdem die relative Differenz zwischen Laufpositionen einer gewissen Zeile und der unmittelbar vorausgehenden Zeile in Form einer Binärzahl darstellen und diese codieren. Die hierfür vorgesehene Anordnung ist in Fig. 27 skizziert.
Das Bildsignal einer Codierzahl wird aus dem Musterspeicher 901 in den Zeilenpuffer 902 übertragen, und das Bildsignal einer unmittelbar vorausgehenden Zeile, das heißt das Bildsignal einer Bezugszeile, befindet sich bereits durch vorher erfolgte Übertragung ih einem Bezugszeilenpuffer 1601. Die Laufposition in dem Bildsignal der Bezugszeile wird mit Hilfe eines Laufpositionsdetektors 1602 festgestellt. Die festgestellte Laufposition der Bezugszeile und die festgestellte Laufposition der in Codierung befindlichen Zeile, die durch den Laufpositionsdetektor 1001 festgestellt wird, werden in einen Typ-Detektor 1603 eingegeben, wo festgestellt wird, ob es sich bei dem Typ um einen Pass- einen Horizontaloder einen Vertikaltyp handelt. Die Grundlagen für diese Entscheidung und die nachfolgende Codierung sprechen dem modifizierten Read-Codiersystem, das für Facsimilesysteme standardisiert ist (vgl. CCITT Recommendation T. 4.
Standardization of Group 3 Facsimile Apparatus for Document Transmission. Vol. VII, Facsimile VII. 2, S. 222, 1980). Wie beispielsweise in Fig. 28 gezeigt ist, wird eine normierte Laufposition η?/N in der codierten
"i —1 Zeile verglichen mit einer normierten Laufposition ni /N in der Bezugszeile, welche am nächsten liegt. Wenn der Absolutwert |n-j/N-n:? /N | der Differenz zwischen diesen Werten kleiner ist als ein vorbestimmter Wert, zum Beispiel 0,00...011 (f signifikante Ziffernstellen nach dem binären Punkt), wird entschieden, daß es sich bei dem Codiertyp um den Vertikaltyp handelt, ϊη einem Subtra-
45/46
hierer 1604 wird eine Differenz zwischen diesen normier-
"ϊ "1 — 1
ten Laufpositionen n./N und n. /N berechnet/ und das Berechnungsergebnis wird von einem Vertikalcodierer 1605 unter Bezugnahme auf die Vertikaltyp-Codiertabelle 1606 codiert. Ein Beispiel für diese Codiertabelle ist in der Spalte des Vertikaltyps in Fig. 29 dargestellt.
Beim Vertikaltyp ist der Absolutwert |n-|~ /N | ein Dualbruch mit f signifikanten Ziffernstellen/ der kleiner ist als 0,00...0H.
Wenn die codierte normierte Laufposition n~/N, die für die Codierzeile m. zu codieren ist, größer ist als die normierte Laufposition n^ /N in der Bezugszeile m._1f das
Δ J — I
heißt, wenn die zuletzt genannte normierte Laufposition weiter links liegt als die codierte normierte Laufposition n-j/N (siehe Fig. 28) , die codiert werden soll, so wird als Codiertyp von dem Typ-Detektor 1603 entschieden , daß es sich um den Pass-Typ handelt, und ein-Passcodegenerator 1607 gibt einen vorbestimmten Code aus, der im Beispiel nach Fig. 29 den Wert 0001 hat.
Wenn der Absolutwert |n?/N-n5 /N| größer ist als der vorbestimmte Wert, so entscheidet der Codierdetektor 1603, daß es sich um den Horizontaltyp handelt, und von dem Laufpositionsgenerator 1506 werden die relativen normierten Lauf positionen b-pn-j/N-n^/N und B^n^/N-n^/N berechnet und in der oben geschilderten Weise codiert. Es sei hier angenommen, daß die nach der in Fig, 5 gezeigten Codiertabelle codierten Codes <B-?> und <B. .. > jeweils durch 011 ergänzt werden, wie in Fig. 29 dargestellt ist. Die Ausgangscodes des Pass-Typ-Codegenerators 1607, des Codierers 1008 und des. Vertikalcodierers 1605 werden in dem Horizontalcodespeicher 909 gespeichert. Die übrigen Arbeitsschritte entsprechen dem oben beschriebenen
46/47
Ablauf.
Gemäß der obigen Beschreibung sind die jeweiligen Teile als Hardware auf der Grundlage der in Fig. 9 dargestellten Anordnung ausgebildet, und die Ausgangssignale werden durch Pipeline-Verarbeitung erhalten. Die jeweilige Ablaufsteuerschaltung kann jedoch auch asynchron arbeiten. Ferner ist es möglich, die jeweiligen Teile durch Mikroprozessoren oder derart zu realisieren, daß mehrere Komponenten durch einen gemeinsamen Mikroprozessor gebildet werden. Als funktionelles Blockdiagramm für das Binärbildsignal ergibt sich beispielsweise das in Fig. 30 dargestellte Bild für das erfindungsgemäße Codiersystem. Das Bildsignal in dem Musterspeicher 901 wird Zeile für Zeile zu dem Zeilenpuffer 902 übertragen, und von einem Laufpositions-Detektorabschnitt 1701 wird für das im Zeilenpuffer 902 befindliche Bildsignal die Laufposition n. festgestellt. Die ermittelte Laufposition η. wird von einem Laufpositions-Normierabschnitt 1702 normiert, um den Wert p.=n./N zu erhalten, und es wird von einem Laufpositions-Berechnungsabschnitt 1703 die relative normierte Laufposition B.=p.-p._.. in bezug auf eine benachbarte normierte Laufposition berechnet. Die relative normierte Laufposition B-? wird von einem B-?-Codierab~ schnitt 1704 codiert, wodurch man den Code <iB-?> erhält. Wird von einem Weißzeilen-Detektorabschnitt 1705 eine weiße Zeile festgestellt, so wird der Code unmittelbar an den Synthetisierabschnitt 911 gegeben. Weiterhin wird die Zeilenposition m. der zu codierenden Zeile von einem Zeilenpositions-Detektor 1706 festgestellt, und die festgestellte Zeilenposition m. wird von einem Zeilenpositions-Normierabschnitt 1707 normiert. Die relative normierte Zeilenposition D1=U1-U1-1 wird von einem Zeilenpositions-Berechnungsabschnitt 1708 berechnet aus einer Differenz zwischen der normierten Zeilenposition u.=m'./M und der
47/48
dieser unmittelbar vorausgehenden codierten normierten Zeilenposition, und die relative normierte Zeilenposition D. wird von einem D.-Codierabschnitt 1709 in einen Code <D.> codiert. Die Ausgangs-Codes des B"?-Codierers 1704, des Weißzeilen-Detektorabschnitts 1705 und des D.-Codierabschnitts 1709 werden von einer Synthetisierschaltung 911 für die Ausgabe zusammengestellt.
In der obigen Beschreibung der Codierung des Mehrstufen-. bildsignals und des Farbbildsignals werden die Bildelementwerte in bezug auf die Anzahl von Stufen, die jedes Bildelement annehmen kann, normiert. Es ist jedoch auch möglich, solche Maßnahmen vorzusehen, daß der Bildelementwert in bezug auf den erfaßten maximalen Pegel eines Bildelementwerts in dem zu codierenden Bild oder in bezug auf einen maximalen Pegel eines Bildelementwerts, den ein Bilderfassungsgerät wie beispielsweise ein"Fotodetektorgerät, das in dem Bilddaten-Codiergerät verwendet wird, feststellen kann, normiert wird. 20
Auswirkungen
Wie oben beschrieben wurde, werden erfindungsgemäß die Zeilenposition eines zwei- oder mehrstufigen Bildsignals in dessen Nebenabtastrichtung jeweils normiert als Binärzahl u., und u. mit 0äu.,^u.<1, und es wird die relative normierte Zeilenposition D.=u.-u.,, was die Differenz zwischen den normierten Positionen ist, codiert. Die Lauf- oder Runpositionen in jeder Zeile der Hauptabtastrichtung des Bildsignals werden jeweils normiert und ausgedrückt als Binärzahl p·? mit 0£p·? <1,' und die relative normierte Lauf position B .=p-?-p-?_1, die die Differenz zwischen den normierten Laufpositionen ist, wird codiert. Im Fall des Mehrstufenbildsignals wird der Bildelementwert jedes Laufs in eine Binärzahl w·? mit oSw?<1 normiert,
48/49
und es wird diese Binärzahl codiert. In anderen Worten: Die Zeilen- und die Laufpositionen eines Bildes werden jeweils auf einen Einheitsraum abgebildet und normiert, und es wird deren relative Position codiert. Hierdurch erzielt man erfindungsgemäß folgende Wirkungen:
(1) Es kann ein binäres Bildmuster dargestellt werden, das unabhängig ist von den physikalischen Eigenschaften der Eingabe-/Ausgabe-Geräte (beispielsweise der Abtastdichte eines Scanners oder eines Facsimilegeräts, der Anzahl von Anzeige-Bildelementen eines Bildschirms einer Kathodenstrahlröhre), und gleichzeitig können die Daten komprimiert werden.
(2) Das Abbilden in einen Einheitsraum läßt sich durch einfache Schiebe- und Subtraktionsschritte der Binärzahl erreichen, und das Codierverfahren ist einfach, so daß eine Hochgeschwindigkeitsverarbeitung mit einem geringen Hardwareaufwand und sogar durch Software möglich ist.
(3) Da die Laufposition und die Zeilenposition in dem decodierten Einheitsraum zu Größen, welche den Ausgabegeräten entsprechen, vergrößert oder verkleinert werden können, und zwar mit Hilfe einfacher Verschiebungen und Subtraktionen der Binärzahlen, läßt sich mit geringem Harwareaufwand und sogar mit Hilfe von Software eine Hochgeschwindigkeitsverarbeitung erreichen.
(4) Es ist möglich, eine Anpassung zu erreichen zwischen einem geometrischen grafischen Standard-System, welches die Eingabe- oder Ausgabeebene eines Eingabe-/Ausgabe-Geräts als den Einheitsraum verwendet (GKS, CORE und dergleichen in Computergrafigen), und dem Darstellungsformat eines Binärmusters.
49/50
• (5) Bei einem neuen Gerät, welches hinsichtlich der Eingabegröße identisch ist, jedoch eine von der Teilendichte eines Geräts vor dessen Modifizierung abweichende Zeilendichte aufweist, läßt sich ein Binärmuster der Summengröße ausgeben, welches auf dem Gerät vor dessen Modifizierung codiert wurde.
(6) Ein Eingabe-/Ausgabe-Programm des binären Bildmusters braucht nicht die physikalischen Besonderheiten eines Eingabe-/Ausgabe-Geräts zu berücksichtigen, wodurch die vielseitige Verwendbarkeit, das heißt die Maschinenunabhängigkeit des Eingabe-/Ausgabe-Programms verbessert wird.
(7) Da die als Ergebnis einer Division erhaltene Binärzahl dadurch erhalten wird, daß Bruchteile von 1 als eine Einheit gezählt werden und eine 0 außer acht bleibt, erreicht man eine exakte Decodierung.

Claims (18)

  1. Patentansprüche
    r\. Bilddaten-Kompressionssystem, in dem aus einem durch Haupt- und Nebenabtastungen eines Bildes erhaltenen Bildsignal mit Hilfe einer Zeilenpositions-Detektoreinrichtung eine Hauptabtastzeilen-Position ermittelt wird, Runpositionen, an denen sich Bildelementaverte ändern, in einer Zeile mit Hilfe einer Run-Detektoreinrichtung aus dem Bildsignal ermittelt werden, mit Hilfe einer Zeilenpositions-Berechnungseinrichtung relative Zeilenpositionen ermittelt werden für die Zeilenposition einer zu codierenden Zeile des Bildsignals und der Zeilenposition der codierten, unmittelbar vorausgehenden Zeile, die von der Zeilenpositions-Berechnungseinrichtung berechneten relativen Zeilenpositionen durch eine Zeilenpositions-Codiereinrichtung codiert werden, relative Runpositionen von einer Runpositions-Berechnungseinrichtung ermittelt werden für benachbarte Runpositionen in dem Bildsignal, die von der Runpositions-Berechnungseinrichtung berechneten relativen Runpositionen von einer Runpositions-Codiereinrichtung codiert werden, und die von der Zeilenpositions-Codiereinrichtung und der Runpositions-Codiereinrichtung codierten Codes der relativen Zeilenpositionen zur Ausgabe mit einer Synthetisiereinrichtung zusammengesetzt werden, dadurch gekennzeichnet , daß eine Zeilenpositions-Normiereinrichtung die von der Zeilenpositions-Detektoreinrichtung ermittelte Zeilenposition normiert, daß eine Runpositions-Normiereinrichtung die von der Runpositions-Detektor-
    RadeckestraSe 43 8000 München 60 Telefon (0B9) 883603/883604 Telex 5212313 Telegramme Palentconsult
    einrichtung festgestellten Runpositionen normiert, daß die Zeilenpositions-Berechnungseinrichtung eine Einrichtung ist, die aus den normierten Zeilenpositionen jede relative normierte Zeilenposition ermittelt, daß die Zei-.5 lenpositions-Codiereinrichtung eine Einrichtung ist zum Codieren der relativen normierten Zeilenposition, daß die Runpositions-Berechnungseinrichtung eine Einrichtung ist zum Ermitteln der relativen normierten Runpositionen aus den normierten Runpositionen, daß die Runpositions-Codiereinrichtung eine Einrichtung ist zum Codieren der relativen normierten Runpositionen, und daß die Synthetisiereinrichtung eine Einrichtung ist zum Kombinieren der codierten relativen normierten Zeilenpositionen und der .codierten relativen normierten Runpositionen.
  2. 2. System nach Anspruch 1, dadurch gekennzeichnet, daß jeder Bildelementwert des Bildsignals binär ist.
  3. 3. System nach Anspruch 1, dadurch gekennzeichnet, daß jeder Bildelementwert des Bildsignals ein ι mehrstufiger Wert ist, und daß eine Bildelementwert-Normiereinrichtung vorgesehen ist, mit der der Bildelementwert jedes Bildelements normiert wird, und eine Bildelementwert-Codiereinrichtung vorgesehen ist zum Codieren des j normierten Bildelementwerts, wobei die Synthetisiereinrichtung zum Kombinieren der normierten Bildelementwert-Codes mit den entsprechenden relativen normierten Runpositions-Codes dient.
  4. 4. System nach Anspruch 2 oder 3, dadurch gekennzeichnet , daß eine Bildelementgleichheit-Detektoreinrichtung vorgesehen ist, die aus dem Bildsignal eine Aufeinanderfolge von Zeilen mit dem gleichen Bildelementwert feststellt, und daß eine Überspringeinrichtung vorge-
    • sehen ist zum Fortlassen der Zeilenpositions-Normierung, der Berechnung der relativen normierten Zeilenposition, der Codierung der relativen normierten Zeilenposition, der Berechnung der relativen normierten Runposition und der Codierung der relativen normierten Runposition für die festgestellten aufeinanderfolgenden· Zeilen mit dem gleichen Bildelementwert.
  5. 5. System nach· Anspruch 4, dadurch gekennzeich net, daß das Fortlassen durch die Überspringeinrichtung für eine zweite bis zur jeweils letzten von aufeinanderfolgenden Zeilen des gleichen Bildelementwerts er-• folgt.
  6. 6. System nach Anspruch 2 oder 3, dadurch gekennzeichnet , daß die Synthetisiereinrichtung eine Einrichtung aufweist zum Addieren der kombinierten Codes für jede Zeile an deren Vorderseite, wobei ein Vorsatz die Länge der kombinierten Codes darstellt.
  7. 7. System nach Anspruch 2 oder 3, dadurch gekennzeichnet , daß die Synthetisiereinrichtung eine Einrichtung enthält zum Addieren der kombinierten Codes jeder Zeile an deren Ende, wobei ein Abschlußcode das Ende der Zeile kennzeichnet.
  8. 8. System nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß di-e Zeilenpositions-Normiereinrichtung eine Einrichtung ist, die die Zeilenposition
    m. teilt durch die Anzahl von Hauptabtastzeilen M des Bildes und das Divisionsergebnis mittels einer Binärzahl darstellt.
  9. 9. System nach Anspruch 8, dadurch g e k e η η -
    ^*3 zeichnet, daß eine Einrichtung vorgesehen ist
    zum Ermitteln der durch die Binärzahl mit einer vorbestimmten Anzahl g von Ziffernstellen dargestellten normierten Zeilenposition durch Zählen der Bruchteile von 1 als Einheit und durch Fortlassen des Werts 0 in der (g + 1)-ten Dezimalstelle.
  10. 10. System nach Anspruch 8, dadurch gekennzeichnet, daß die Codiereinrichtung für die relative normierte Zeilenposition Codes ausgibt, die den Bitwerten einer vorbestimmten Anzahl von Ziffernstellen der die relative normierte Zeilenposition darstellenden Binärzahl entspricht.
  11. 11. System nach Anspruch 2 oder 3, dadurch g e k e η η zeichnet, daß die Runpositions-Normiereinrich-
    tung eine Einrichtung ist, die die Runposition n-? durch die Anzahl von Bildelementen N einer Hauptabtastzeile dividiert und das Divisionsergebnis in Form einer Binärzahl darstellt.
    20
  12. 12. System nach Anspruch 11, dadurch gekennzeichnet , daß eine Einrichtung vorgesehen ist zum Ermitteln der durch die Binärzahl mit einer vorbestimmten Anzahl f von Ziffernstellen dargestellten norj mierten Runposition durch Zählen von Bruchteilen von 1 als eine Einheit und durch Fortlassen von 0 in der (f + 1)-ten Dezimalstelle.
    j
  13. 13. System nach Anspruch 11, dadurch g e k e η η zeichnet, daß die Codiereinrichtung für die
    relative normierte Runposition einen Code ausgibt, der ! den Bitwerten einer vorbestimmten Anzahl von Ziffern der die relative normierte Runposition darstellenden Binärzahl entspricht.
    35
  14. 14. System nach Anspruch 3, dadurch gekennzeichnet , daß die BiIdelementwert-Normiereinrichtung eine Einrichtung ist, die den Bildelementwert s. des Bildsignals durch eine verfügbare Anzahl von Bildelementwerten dividiert und das Divisionsergebnis in Form einer Binärzahl darstellt.
  15. 15. System nach Anspruch 14, dadurch gekennzeichnet , daß die Codiereinrichtung für den normierten Bildelementwert einen Code ausgibt, der den Bitwerten einer vorbestimmten Anzahl von Ziffernstellen der den normierten Bildelementwert darstellenden Binärzahl entspricht.
  16. 16. System nach Anspruch 3, dadurch gekennzeichnet, daß das Bild ein Farbbild ist, und daß die Bildelementwert-Normiereinrichtung und die Codiereinrichtung für den normierten Bildelementwert jeweils eine Einrichtung ist zum Normieren des Bildelementwerts jedes Bildelements für jede Farbkomponente sowie eine Einrichtung zum Codieren des normierten BiIdelementwerts für jede Farbkomponente.
  17. 17. System nach Anspruch 16, dadurch g e k e η η zeichnet, daß eine zweite Codiereinrichtung vorgesehen ist zum-weiteren Codieren einer Kombination der Codes der Farbkomponenten, und daß; der Ausgangscode der zweiten Codiereinrichtung anstelle des Ausgangscodes der Codiereinrichtung für den normierten Bildelementwert an die Synthetisiereinrichtung gelegt wird.
  18. 18. System nach Anspruch 2 oder 3, dadurch g e k e η η zeichnet , daß eine Einrichtung vorgesehen ist zum Feststellen der normierten Runposition einer Zeile, welche unmittelbar der normierten Runposition der zu co-
    dierenden Zeile vorausgeht und davon einen Abstand aufweist, der kleiner ist als ein vorbe st iinmter Wert, sowie zum Berechnen des Abstands zwischen diesen normierten Runpositionen, und daß eine Einrichtung vorgesehen ist zum Codieren des berechneten Abstands und zum Codieren der relativen normierten Runposition der Runposition.
DE19843416795 1983-05-07 1984-05-07 Bilddaten-kompressionssystem Granted DE3416795A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP7961983A JPS59204383A (ja) 1983-05-07 1983-05-07 2値パタ−ン処理方式
JP59014092A JPS60173674A (ja) 1984-01-28 1984-01-28 多値パタ−ン処理方式

Publications (2)

Publication Number Publication Date
DE3416795A1 true DE3416795A1 (de) 1984-11-08
DE3416795C2 DE3416795C2 (de) 1987-01-02

Family

ID=26349989

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843416795 Granted DE3416795A1 (de) 1983-05-07 1984-05-07 Bilddaten-kompressionssystem

Country Status (5)

Country Link
US (1) US4602383A (de)
CA (1) CA1219057A (de)
DE (1) DE3416795A1 (de)
FR (1) FR2545671B1 (de)
GB (1) GB2139849B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3917887A1 (de) * 1988-06-02 1989-12-14 Ricoh Kk Verfahren zum verdichten von ein halbtonbild darstellenden daten

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885786A (en) * 1984-10-24 1989-12-05 International Business Machines Corporation Method for enlarging an image stored in run representation form
GB2186765A (en) * 1986-02-17 1987-08-19 Philips Electronic Associated Data display apparatus
US4843632A (en) * 1986-05-09 1989-06-27 Prodigy Systems Corporation Compressed image expansion system
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
US4939583A (en) * 1987-09-07 1990-07-03 Hitachi, Ltd. Entropy-coding system
FR2634035B1 (fr) * 1988-07-07 1994-06-10 Schlumberger Ind Sa Dispositif pour le codage et la mise en forme de donnees pour enregistreurs a tetes tournantes
US5095512A (en) * 1988-10-24 1992-03-10 Netexpress Systems, Inc. Method and apparatus for manipulating image data employing an intermediate format
US4965677A (en) * 1989-02-01 1990-10-23 International Business Machines Corporation Compression of binary halftones
US5883975A (en) * 1994-09-12 1999-03-16 Nippon Steel Corporation Compression and decompression methods on two-dimensional image data
US6009202A (en) * 1994-12-28 1999-12-28 Kabushiki Kaisha Toshiba Image information encoding/decoding system
US5721720A (en) * 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
FR2747795B1 (fr) * 1996-04-19 1998-08-14 Soc Et Rech Et Const Electroni Procede de compression de donnees d'acquisition sismique
US6718066B1 (en) * 2000-08-14 2004-04-06 The Hong Kong University Of Science And Technology Method and apparatus for coding an image object of arbitrary shape
JP4313051B2 (ja) * 2002-02-27 2009-08-12 株式会社リコー 画像形成装置、課金計数装置、画像形成方法、課金方法、画像形成プログラムおよび課金プログラム
US7684629B2 (en) * 2004-01-26 2010-03-23 Fujifilm Corporation Data compression apparatus, and data compression program storage medium
US7349123B2 (en) * 2004-03-24 2008-03-25 Lexmark International, Inc. Algorithms and methods for determining laser beam process direction position errors from data stored on a printhead
US7206012B2 (en) * 2004-03-24 2007-04-17 Lexmark International, Inc. Memory device on optical scanner and apparatus and method for storing characterizing information on the memory device
US7639407B2 (en) * 2004-03-24 2009-12-29 Lexmark International, Inc. Systems for performing laser beam linearity correction and algorithms and methods for generating linearity correction tables from data stored in an optical scanner
US7375738B2 (en) * 2004-03-24 2008-05-20 Lexmark International, Inc. Electronic systems and methods for reducing laser beam process direction position errors
JP2008035230A (ja) * 2006-07-28 2008-02-14 Fujifilm Corp データ圧縮装置およびデータ圧縮プログラム
TW201218773A (en) * 2010-10-29 2012-05-01 Altek Corp Image compression method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2836194C2 (de) * 1977-08-25 1982-05-27 Dainippon Screen Seizo K.K., Kyoto Verfahren zum Abbilden eines Originalbildes mit veränderlichem Abbildungsmaßstab
DE3109169A1 (de) * 1981-03-11 1982-09-23 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und anordnung zur erzeugung von bildpunktsignalen

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4135214A (en) * 1969-07-02 1979-01-16 Dacom, Inc. Method and apparatus for compressing facsimile transmission data
JPS5258406A (en) * 1975-11-10 1977-05-13 Kokusai Denshin Denwa Co Ltd Facsimile signal change point address coding system
US4319267A (en) * 1979-02-16 1982-03-09 Nippon Telegraph And Telephone Public Corporation Picture coding and/or decoding equipment
JPS56143767A (en) * 1980-04-10 1981-11-09 Mitsubishi Electric Corp Redundancy compressor
US4409623A (en) * 1981-01-31 1983-10-11 Nippon Telegraph & Telephone Public Corporation Method and equipment for processing gray scale facsimile signal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2836194C2 (de) * 1977-08-25 1982-05-27 Dainippon Screen Seizo K.K., Kyoto Verfahren zum Abbilden eines Originalbildes mit veränderlichem Abbildungsmaßstab
DE3109169A1 (de) * 1981-03-11 1982-09-23 Philips Patentverwaltung Gmbh, 2000 Hamburg Verfahren und anordnung zur erzeugung von bildpunktsignalen

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US IEEE Trans., Vol.PAM 1-4, Mai 1982, No.3, S.331-335 *
US IRE Trans., Vol.CS-9, 1961, No.3, S.215-222 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3917887A1 (de) * 1988-06-02 1989-12-14 Ricoh Kk Verfahren zum verdichten von ein halbtonbild darstellenden daten

Also Published As

Publication number Publication date
US4602383A (en) 1986-07-22
FR2545671A1 (fr) 1984-11-09
DE3416795C2 (de) 1987-01-02
CA1219057A (en) 1987-03-10
FR2545671B1 (fr) 1988-07-29
GB2139849A (en) 1984-11-14
GB8411157D0 (en) 1984-06-06
GB2139849B (en) 1986-11-19

Similar Documents

Publication Publication Date Title
DE3416795A1 (de) Bilddaten-kompressionssystem
DE69838630T2 (de) Prädiktive Digitalvideosignalkodierung- und Dekodierungsmethode unter Verwendung von Blockinterpolation
DE69814988T2 (de) Datenzusammenfügevorrichtung
DE69125549T2 (de) Komprimierten Bildspeicher für hoch-auflösenden Rechnergraphik
DE3814627C2 (de)
DE2640414C2 (de) Schaltungsanordnung ung Verfahren für die Kompressionscodierung unter Verwendung einer Korrelation zwischen zweidimensionalen, aus zweiwertigen digitalen Bildern abgeleiteten Matrizen
DE68918605T2 (de) Verfahren zur Speicherung und Übertragung von Bilddaten als Bilddatengruppe, passend zur Bildsuche.
DE3587107T2 (de) Drehungsverfahren und -geraet fuer binaere bilder.
DE68927477T2 (de) Leistungsfähige Kodierung/Dekodierung in der Zerlegung und im Wiederaufbau eines Hochauflösungsbildes unter Verwendung seiner Kopie geringerer Auflösung
DE3687211T2 (de) Verfahren und vorrichtung zur datenuebertragung.
DE2550928C2 (de) Einrichtung zur Komprimierung einer m·n-Matrix deltacodierter Punkte
DE68926386T2 (de) Bildkodiervorrichtung und Bildkodierverfahren
DE2640814A1 (de) Schaltung zur erzeugung eines zeichens durch in einem matrixmuster vorliegende bildelemente
DE3854360T2 (de) Bildinformationscodeverarbeitungssystem.
DE2144596A1 (de) Video-Anzeigevorrichtung
DE2558264C3 (de) Verfahren zur Verdichtung binärer Bilddaten
DE2233796B2 (de) Verfahren zur Video-Signal-Kompression und Expansion und Vorrichtungen zur Durchführung des Verfahrens
DE4011758C2 (de)
DE3711201C2 (de)
DE2728889B2 (de) Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals
DE19516979C2 (de) Bitmap-Datenkomprimierungsverfahren und Bitmap-Datenkomprimierungsvorrichtung zur Durchführung dieses Verfahrens
DE69121345T2 (de) Zeichenausgabegerät
DE3512070A1 (de) Bildverarbeitungsverfahren
DE3689893T2 (de) Gerät zum Dekodieren eines Bildkodes.
DE3038953C2 (de) Verfahren zur Bandkompression

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NIPPON TELEGRAPH AND TELEPHONE CORP., TOKIO/TOKYO,

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee