DE3416795A1 - Bilddaten-kompressionssystem - Google Patents
Bilddaten-kompressionssystemInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/419—Systems 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems 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
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
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
<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
35
12/13
Erste Ausführungsform
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.
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.
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.
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.
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
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
10
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.
, 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
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.
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.
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ß-
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.
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
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)
- Patentansprücher\. 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 Palentconsulteinrichtung 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. System nach Anspruch 1, dadurch gekennzeichnet, daß jeder Bildelementwert des Bildsignals binär ist.
- 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. 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. 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. 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. 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. System nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß di-e Zeilenpositions-Normiereinrichtung eine Einrichtung ist, die die Zeilenpositionm. teilt durch die Anzahl von Hauptabtastzeilen M des Bildes und das Divisionsergebnis mittels einer Binärzahl darstellt.
- 9. System nach Anspruch 8, dadurch g e k e η η -^*3 zeichnet, daß eine Einrichtung vorgesehen istzum 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. 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. 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. 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. System nach Anspruch 11, dadurch g e k e η η zeichnet, daß die Codiereinrichtung für dierelative normierte Runposition einen Code ausgibt, der ! den Bitwerten einer vorbestimmten Anzahl von Ziffern der die relative normierte Runposition darstellenden Binärzahl entspricht.
35 - 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. 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. 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. 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. 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.
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)
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)
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)
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)
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 |
-
1984
- 1984-05-01 GB GB08411157A patent/GB2139849B/en not_active Expired
- 1984-05-01 US US06/606,074 patent/US4602383A/en not_active Expired - Fee Related
- 1984-05-04 CA CA000453620A patent/CA1219057A/en not_active Expired
- 1984-05-07 FR FR8407032A patent/FR2545671B1/fr not_active Expired
- 1984-05-07 DE DE19843416795 patent/DE3416795A1/de active Granted
Patent Citations (2)
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)
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)
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 |