Die Erfindung betrifft eine Binärdatenverdichtungs- und
-dehnungs-Verarbeitungsvorrichtung nach dem Oberbegriff
des Patentanspruches 1. Eine solche Vorrichtung
vermag eine sogenannte parallele Pipeline-Verarbeitung
von Binärdaten nach einer zweidimensionalen Codiermethode
durchzuführen.
Für das Verdichten und Dehnen von Binärdaten sind von
CCITT empfohlene Codiermethoden, wie die MH-, die MR-
und die M²-R-Methode, international standardisiert und
verbreitet im Gebrauch. Von den drei genannten Codiermethoden
bietet die M²R-Methode die höchste Bildverdichtung.
Die M²R-Methode ist als Codiermethode für Gruppe-IV-
Faksimilegeräte bekannt. Nach dieser Methode werden
- a) ein Zeilenendcode (EOL-Code) ausgelassen und
- b) ein Parameter k auf Unendlich gesetzt, wobei
- c) alle Bits einer Bezugszeile am Anfang einer Seite
jeweils weiße Pixels (Bildelement) darstellen.
Unter diesen Voraussetzungen kann das Datenverdichtungsverhältnis
gegenüber der MR-Methode verbessert werden.
Eine bisherige Bindärdatenverdichtungs- und -dehnungs-
Verarbeitungsvorrichtung wurde in Software unter
Verwendung eines Mehrzweck-Mikrorechners für die Durchführung
der Dehnungsverarbeitung codierter Daten nach
diesen Methoden realisiert. Bei dieser Verarbeitung ergibt sich kein
Problem, wenn eine solche Vorrichtung auf ein Faksimilesystem
angewandt wird, dessen Datenübermittlungs-
geschwindigkeit auf 9600 bps (Bit/s) begrenzt ist. Wenn
jedoch die bisherige Vorrichtung für die Wiedergabe von Bilddaten
an Arbeitsstationen eines Rechnersystems eingesetzt wird,
kann eine gute Mensch/Maschine-Schnittstelle, z. B. eine
Seitenansprechzeit von ½ s oder weniger, nicht erzielt
werden. Wenn daher die sequentielle Dehnungsverarbeitung
nach der M²R-Methode ausgeführt wird, ist die Arbeitsgeschwindigkeit
im Vergleich zur MH-Methode erheblich
herabgesetzt.
Eine Ursache für das obige Problem liegt im Verarbeitungsverfahren
des gesamten Systems. Insbesondere erfolgt in
einem herkömmlichen System die Decodierung bitseriell.
Zur Lösung des genannten Problems werden verbreitet eine
Parallelverarbeitung, eine Vorausverarbeitung
und eine Pipeline-Verarbeitung ausgeführt.
Die Binärdatendehnungsverarbeitung läßt sich ersichtlicherweise
in folgendes aufteilen:
- a) Decodierverarbeitung von Code(s)
- b) Erzeugungsverarbeitung von Bilddaten für den decodierten
Code.
Die Decodier- und Erzeugungsverarbeitung kann mithin
mittels getrennter Hardware-Anordnungen parallel durchgeführt
werden. Bei solchen Anordnungen wird, während
ein Code gedehnt wird, der nächste Code decodiert, und
die gesamte Verarbeitung kann dann als Pipeline-Verarbeitung
ausgeführt werden. Wenn nach den MH-
und MR-Methoden codierte Binärdaten gedehnt werden,
ergibt sich bei der Vorausverarbeitung kein Problem.
Die M²R-Methode ist dagegen mit den folgenden Problemen
behaftet:
Bei allen MH-, MR- und M²R-Methoden ist der Anfangslauf
einer jeden Zeile jeweils
ein weißer Lauf, der zu weißen Pixels decodiert
werden muß. Im Fall der MH- und MR-Methode wird ein EOL-
Code benutzt. Demzufolge kann ein Decodierverarbeitungsteil,
der die Vorausverarbeitung ausführt, den Anfang
der nächsten Zeile aufgrund des Vorhandenseins eines EOL-
Codes unabhängig vom Verlauf der Erzeugungsverarbeitung
durch einen Erzeugungsverarbeitungsteil erfassen.
Da jedoch bei der M²R-Methode kein EOL-Code vorhanden
ist, kann der Anfang der nächsten Zeile nur dann erfaßt
werden, wenn der Erzeugungsverarbeitungsteil
jeden Code entwickelt und ein Ende der Zeile
erreicht. Wenn mithin der Anfang der nächsten Zeile unbestimmt
ist, kann nicht bestimmt werden, ob die Farbe dieses
Abschnitts zwangsweise zu Weiß bestimmt wird.
Infolgedessen kann eine Horizontalmodus-Decodieroperation
unter Verwendung getrennter Codetabellen für einen weißen
Lauf und einen schwarzen Lauf nicht in Vorauslaufweise
eingeleitet werden. Genauer gesagt: bei der Dehnungsverarbeitung
nach der M²R-Methode bei einer herkömmlichen
Vorrichtung kann die Vorausverarbeitung nicht effektiv
durchgeführt werden.
Wenn weiterhin eine Abweichung δ eines Punkts a 1 bei der
Vorausdecodierverarbeitung festgestellt wird,
wird die Erzeugungsverarbeitung von nach der MR- oder
M²R-Methode codierten zweidimensionalen Codedaten herkömmlicherweise
wie folgt realisiert:
- a) Bilddaten auf einer Bezugszeile
werden zur Erfassung der Position eines Punkts b 1
abgetastet;
- b) b 1+δ=a 1; und
- c) eine Lauflänge wird durch (a 1-a 0=
Lauflänge) berechnet, und Bilddaten
werden in Übereinstimmung mit der berechneten
Lauflänge erzeugt. Die Erzeugungsverarbeitung mittels
der Operationen (a) bis (c) muß daher sequentiell in
dieser Reihenfolge durchgeführt werden, was eine
niedrige Dehnungsverarbeitungsgeschwindigkeit bedingt.
Zur Vermeidung dieses Problems ist es notwendig,
die Operationen (a) bis (c) praktisch gleichzeitig
auszuführen.
In der DE 27 25 395 A1 ist eine Vorrichtung zur Echtzeittransformation
einer nxn-Bitkonfiguration beschrieben.
Bei dieser Vorrichtung werden zweidimensionale
Bilddaten, die als horizontal abgetastete Serienbitfolgen
ausgedrückt sind, so umgesetzt, daß sie als vertikal
abgetastete Serienbitfolgen ausdrückbar sind, was
dazu führt, daß ein durch Drehen der Abtastrichtung um
90° erhaltenes Bild geliefert wird. Diese Datenumsetzung
kann nun als "Drehung" bezeichnet werden.
Daraus folgt, daß bei der bekannten Vorrichtung eine
Vorverarbeitung von Videodaten vorgenommen wird: Ein
Drehschieber empfängt ein Bild und liefert ein vorverarbeitetes
Bild.
Weiterhin beschreibt die EP 01 49 124 A2 eine Vorrichtung,
bei der Codierprozesse auf dem durch CCITT empfohlenen
MH-MR-Codiersystem beruhen, wozu Computer-
Software eingesetzt wird. Zum Decodieren von Daten müssen
dabei einzelne Schritte nacheinander ausgeführt
werden. Da nun eine große Anzahl von Maschinenzyklen
benötigt wird, können andere Daten in der Zwischenzeit
nicht decodiert werden.
Die EP 01 79 291 A2 beschreibt eine Vorrichtung, bei
der Vorarbeitungen durchgeführt werden, um die Verdichtungsrate
von Bilddaten zu verbessern. Dabei wird
ein Ausgangssignal zu einer üblichen zweidimensionalen
Datencodiereinrichtung gespeist. Das heißt, bei dieser
bekannten Vorrichtung wird so letztlich ein Bild empfangen
und ein verarbeitetes Bild abgegeben.
In der DE 35 45 467 A1 ist ein Digitalkopierer beschrieben,
bei dem ein Seriell-Parallel-Umsetzer benutzt
wird, um gleichzeitig und parallel Signale abzugeben,
welche einer Anzahl Bildelementen zugeordnet sind, die
an der Haupt- und der Unterabtastrichtung einander benachbart
sind.
Weiterhin beschreibt die EP 01 49 050 A2 ein Facsimile-
System, bei dem eine Seriell-/Parallel-Umsetzung benutzt
wird, damit eine GII-Facsimile-Übertragungseinheit
ein Bild mit einer Auflösung entsprechend einer
GIII-Facsimile-Übertragungseinheit übertragen kann.
Schließlich ist aus der US 45 62 484 eine Binärdatendehnungsverarbeitungsvorrichtung
zum schnellen Decodieren
von zweidimensionalen Standard- Faksimile-Codes
bekannt. Diese Vorrichtung weist unter anderem eine
Steuereinheit, Halteeinheiten, Wähleinheiten und Kombiniereinheiten
auf.
Es ist Aufgabe der vorliegenden Erfindung, eine Vorrichtung
der aus der US 45 62 484 bekannten Art derart
zu verbessern, daß sowohl eine Verdichtungs- wie auch
eine Dehnungsverarbeitung durchgeführt werden kann und
beides jeweils mit hoher Geschwindigkeit möglich ist.
Diese Aufgabe wird bei einer Binärdatenverdichtungs-
und -dehnungs-Verarbeitungsvorrichtung nach dem Oberbegriff
des Patentanspruches 1 erfindungsgemäß durch
die in dessen kennzeichnendem Teil enthaltenen Merkmale
gelöst.
Vorteilhafte Weiterbildungen der Erfindung ergeben sich
aus den Patentansprüchen 2 bis 11.
Die Erfindung schafft eine Binärdatenverdichtungs- und
-dehnungs-Verarbeitungsvorrichtung, die eine Erfassungs-
oder Detektionsverarbeitung eines Punkts b 1 und
eine Erzeugungsverarbeitung von Bilddaten einer erfaßten
Lauflänge nicht sequentiell, sondern mit paralleler
Verarbeitung durchführt, um damit die Verarbeitungsgeschwindigkeit
zu erhöhen.
Es wird die Position eines Punkts b 1 in Bilddaten
auf einer Bezugszeile erfaßt, und
zu erzeugende Bilddaten werden parallel damit verarbeitet,
wodurch die Dehnungsverarbeitungsgeschwindigkeit
verbessert bzw. erhöht wird.
Im folgenden ist eine bevorzugte Ausführungsform der
Erfindung anhand der Zeichnung näher erläutert. Es
zeigen:
Fig. 1 ein Blockschaltbild einer Binärdatenverdichtungs-
und -dehnungs-Verarbeitungsvorrichtung.
Fig. 2 ein Blockschaltbild der Anordnung eines Decodierteils
und eines Codierendeverarbeitungsteils
eines Decodierverarbeitungsteils gemäß Fig. 1,
Fig. 3 ein Blockschaltbild der Anordnung eines Zählerteils
und eines Erzeugungsteils
eines Erzeugungsverarbeitungsteils gemäß
Fig. 1,
Fig. 4 ein Blockschaltbild der Anordnung eines Bezugszeilenadreßgenerators
und eines EOL-Detektors
beim Decodierverarbeitungsteil nach Fig. 1,
Fig. 5 ein Blockschaltbild eines a 1b 1-Detektors des
Erzeugungsverarbeitungsteils nach Fig. 1,
Fig. 6 ein detailliertes Schaltbild eines b 1-Detektors
gemäß Fig. 5 und
Fig. 7A bis 7D graphische Darstellungen der Zustände
von Bilddaten einer Bezugszeile und einer
Erzeugungsverarbeitungszeile bei der Dehnungsverarbeitung.
Im folgenden ist zunächst der Aufbau
einer Binärdatenverdichtungs- und -dehnungs-Verarbeitungsvorrichtung
anhand der Fig. 1 beschrieben.
Die Vorrichtung gemäß Fig. 1 umfaßt eine Binärdatenverarbeitungs-
Steuereinheit 1 zur Steuerung des Betriebs der gesamten
Vorrichtung, einen Verdichtungs- und Dehnungs-Verarbeitungsteil 2
zum Erzeugen von Binärbildmusterdaten, wenn die eingegebenen
Binärdaten ein Code sind, und zum Erzeugen eines Codes, wenn
die eingegebenen Binärdaten Bildmusterdaten sind, einen
Bezugszeilendaten-Speicherteil 4 zum Speichern von Bezugszeilendaten,
einen Bezugszeilen-Adreßgenerator 3 zum Erzeugen
von Adreßdaten für den Speicherteil 4 sowie einen
Taktgenerator zum Erzeugen von Steuer-Taktsignalen.
Die Steuereinheit 1 enthält ein nicht dargestelltes
Flip-Flop FBLKP zum Bezeichnen einer Farbe von zu erzeugenden
Bilddaten und ein nicht dargestelltes Flip-Flop
FORDRY, um ein Register RODT zu veranlassen, erzeugte
Bilddaten auszugeben. Das Flip-Flop FBLKP bezeichnet ein
schwarzes Muster, wenn es auf "1" gesetzt ist, und ein
weißes Muster, wenn es auf "0" gesetzt ist.
Der Verdichtungs- und Dehnungs-Verarbeitungsteil 2 umfaßt
einen Decodier(verarbeitungs)teil 7 zum Erzeugen von Lauflängendaten,
wenn die eingegebenen Binärdaten
ein Code sind, und einen Erzeugungs(verarbeitungs)-
teil 8 zum Erzeugen von Binärbildmusterdaten, die nach
Maßgabe der Lauflängedaten verarbeitet sind.
Der Decodierverarbeitungsteil 7 umfaßt einen EOL-Detektor
11 zur Prüfung, ob eine Erzeugungsverarbeitung bis zum Ende
einer Zeile abgeschlossen ist, und zum Erfassen
eines EOL-Codes unter einer vorgegebenen Bedingung,
einen zur Erzeugung eines EOL-Codes während der
Verdichtungsverarbeitung dienenden Codierende-Verarbeitungsteil
12 und einen Decodierteil 13.
Der Erzeugungsverarbeitungsteil 8 umfaßt einen Zählerteil 14
zum Verriegeln eines Ausgangssignals vom Decodierteil 13
und zum Zählen der Zahl der verarbeiteten Bytes, einen Erzeugungsteil
15 zum Erzeugen von Daten abhängig von
vom Zählerteil 14 verarbeiteten Binärdaten sowie
einen a 1b 1-Detektor 16 zum Erfassen von Punkten a 1 und b 1.
Die Steuereinheit 1 ist mit einem Taktgenerator 5 zum Erzeugen
von Steuer-Taktsignalen verbunden, und sie steuert
die Operationszeitpunkte oder -takte des Decodierverarbeitungsteils
7, des Erzeugungsverarbeitungsteils 8 und
des Bezugszeilenadreßgenerators 3 nach Maßgabe von
Takten bzw. Taktsignalen vom Generator 5, und sie gibt
ferner die nötigen Anweisungen oder Befehle im Verlauf der
Verarbeitung aus.
Die Anordnung der einzelnen Teile ist nachstehend anhand
der Fig. 2 bis 5 näher beschrieben. Es ist darauf hinzuweisen,
daß aus Vereinfachungsgründen ein Steuersignal in
den Figuren nicht dargestellt ist.
Zunächst ist der Decodierverarbeitungsteil 7 im einzelnen
erläutert, dessen Codierende-Verarbeitungsteil 12 und
Decodierteil 13 in Fig. 2 veranschaulicht sind. Der EOL-
Detektor 11 wird später zusammen mit dem Bezugszeilenadreßgenerator
3 anhand von Fig. 4 näher erläutert werden.
Der Decodierteil 13 ist durch eine in Fig. 2 gezeigte
Schaltung, mit Ausnahme des Codierende-Verarbeitungsteils 12,
gebildet. Ein-Byte-Daten werden von einer Eingabedatenschiene
(oder -bus) einem Verriegelungsglied 22 eingegeben
und durch dieses verriegelt. Die durch das Verriegelungsglied
22 verriegelten Binärdaten werden durch einen
Inverter 24 invertiert und dann als Daten K einem Register
26 und dem EOL-Detektor 11 eingegeben. Das Register 26 verschiebt
vorher eingegebene Byte-Daten RDTI15-08 zu Daten
RDTI07-00 nach Maßgabe eines Steuersignals von der Steuereinheit
1, es verriegelt die neuen Eingabedaten als Daten
RDTI15-08 und hält diese als 16-Bit-Daten zusammen mit den
Daten RDTI07-00.
Die 16-Bit-Registerdaten RDTI15-00 werden über den Codierende-
Verarbeitungsteil 12 zu einer Trichterschiebestufe
30 ausgegeben. Die Daten RDTI07-00 werden
als Byte-Daten F zum Bezugszeichendaten-Speicherteil 4
ausgegeben. Ein Decodierzeiger 36 zeigt eine Position LSB
(niedristwertiges Bit) eines zu decodierenden Codes oder
einen Teil des Codes an, der als nächster aus den der
Trichterschiebestufe 30 eingegebenen Registerdaten RDTI15-00
gedehnt werden soll. Eine Anzeigegröße vom Decodierzeiger
36 wird der Trichterschiebestufe 30 nach Maßgabe
eines Steuersignals von der Steuereinheit 1 zugeführt.
Die Trichterschiebestufe 30 erzeugt ein 9-Bit-Ausgangssignal
LSHT08-00, das durch Linksverschiebung der Daten RDTI15-00
durch die Anzeigegröße vom Decodierzeiger 36 erhalten wurde,
und gibt dieses Ausgangssignal zu einem Wähler 31 aus. Im
Fall der Verarbeitung im Nichtverdichtungsmodus werden
Daten LSHT04-00 der Ausgabedaten LSHT08-00 als Daten G
zum Erzeugungsverarbeitungsteil 8 ausgegeben. Die Daten
LSHT08-00 werden zu den Daten LSHT10-09 entsprechend den
Daten X von der Steuereinheit 1 hinzuaddiert und als
11-Bit-Daten zum Wähler 31 ausgegeben. Der Wähler 31
empfängt die den Daten LSHT08-06 oder LSHT08-07 entsprechenden
Daten Y von der Steuereinheit 1. Diese Eingangs-
oder Eingabedaten werden in Abhängigkeit von einem Steuersignal
von der Steuereinheit 1 gewählt und als 11-Bit-Adreßdaten
zu einem Decodierer-Festwertspeicher oder -ROM 32 ausgegeben.
Die Daten X werden ebenfalls dem Decodierer-ROM 32
zugeführt.
Der Decodierer-ROM 32 gibt 16-Bit-Daten DROM15-00 aus. Insbesondere
werden dabei als Daten DROM07-00 Eingabebinärdaten
im Fall der Verdichtungsverarbeitung ausgegeben, während im
Fall der Dehnungsverarbeitung Lauflängendaten ausgegeben werden.
Wenn Daten, die eine tatsächliche Lauflänge, d. h. einen
Farbänderungs- oder -wechselpunkt bezeichnen, durch δ
im zweidimensionalen Code ausgedrückt werden, bestimmen
sich die vom Decodierer-ROM 32 ausgegebenen Lauflängendaten
zu (δ-4). Die Daten I werden dem Verarbeitungsteil
8 zugeführt. Als Daten DROM11-08 werden Daten zur
Anzeige der signifikanten Datenlänge, d. h. der Länge von
verarbeiteten Daten der eingegebenen Binärdaten,
ausgegeben. Als Daten DROM15-12 werden Steuerdaten
H zum Bezeichnen des nächsten Zustands, d. h.
Daten, welche codierten, als nächste in einer Dehnungsverarbeitung
zu decodierenden Daten zugeordnet sind, ausgegeben.
Die Daten DROM11-08 werden zu einer Addierstufe 34 ausgegeben,
die gleichzeitig Daten vom Decodierzeiger 36 abnimmt.
Dabei werden die Daten DROM11-08 zu den Daten vom Decodierzeiger
36 addiert, und die summierten Daten werden zum
Wähler 38 ausgegeben. Der Wähler 38 nimmt außerdem vom a 1b 1-
Detektor 16 Daten D ab, die bei der Verdichtungsverarbeitung,
nicht aber bei der Dehnungsverarbeitung benutzt werden. Wenn
daher die Dehnungsverarbeitung nach Maßgabe eines Steuersignals
von der Steuereinheit 1 ausgeführt wird, werden die
summierten Daten wiederum zum Inhalt des Decodierzeigers 36.
Letzterer zeigt auf diese Weise eine LSB-Position eines dem
decodierten Code am nächsten liegenden Codes an.
Wenn 2³-Bitdaten als Ergebnis der Addition durch die Addierstufe
34 zu Daten "1" werden, wird dies der Steuereinheit 1
mittels der Daten J gemeldet. Dies bedeutet, daß die Verarbeitung
für ein Byte abgeschlossen ist. Die Steuereinheit
1 gibt nach Maßgabe der Daten J von der Addierstufe 34 ein
Steuersignal zum Register 26 aus. Das Register 26 bewirkt
eine Linksverschiebung der Daten RDTI15-08 in Einheiten von
Bytes zu Daten RDTI07-00 nach Maßgabe des Steuersignals von
der Steuereinheit 1. Durch das Verriegelungsglied 22 verriegelte
neue Byte-Daten werden im Daten-RDTI15-08-Abschnitt
des Registers 26 nach Maßgabe des Steuersignals von der
Steuereinheit 1 verriegelt. Die unteren drei Bits der
summierten Daten von der Addierstufe 34 werden zum Zeiger
36 ausgegeben, so daß die LSB-Position eines zu decodierenden
Codes stets in den Daten RDTI07-00 des Registers 26
vorhanden ist.
Der Zählerteil 14 und der Erzeugungsteil 15 des Erzeugungsverarbeitungsteils
13 sind nachstehend anhand der Fig. 3
im einzelnen beschrieben. Der Zählerteil 14 umfaßt Wähleinheiten bzw. Wähler
40 und 44 sowie einen RL-Zähler 42. Der Erzeugungsteil 15
ist - unter Ausschluß des Zählerteils 14 - durch eine in
Fig. 3 dargestellte Schaltung gebildet.
Das Decodierergebnis I vom Decodierer-ROM 32 wird dem
Wähler 40 eingegeben, der auch Daten L von der Steuereinheit
1 abnimmt. Diese Daten werden nach Maßgabe eines
Steuersignals von der Steuereinheit 1 gewählt und zum RL-
Zähler 42 ausgegeben. Von den Ausgabedaten vom Zähler 40
wird ein 02-00-Bitabschnitt auch zum Wähler 44 ausgegeben.
Der RL-Zähler 42 ist ein Zähler mit einer 12-Bit-Länge,
und er verriegelt Daten vom Wähler 40 in einer vorbestimmten
Position oder Stelle nach Maßgabe eines Steuersignals
von der Steuereinheit 1. Unter Heranziehung der Ausgabedaten
vom Wähler 40 als Vorgabegröße zählt der RL-Zähler 42
in Übereinstimmung mit den Zählimpulsen von der Steuereinheit
1 herab, und er gibt die Zählung oder den Zählstand
als Daten B zum Wähler 44 und zum a 1b 1-Detektor 16 aus.
Das Ausgangssignal vom RL-Zähler 42 wird auch als Daten M
zur Steuereinheit 1 ausgegeben, um zu bestätigen, ob die
Zahl der durch den decodierten Code bestimmten Verarbeitungsoperationen
vollständig ist. Der Wähler 44 empfängt ein
Ausgangssignal vom Zähler 42, das Ausgangssignal vom
Wähler 40 sowie Daten A vom a 1b 1-Detektor 16, und er wählt
eine dieser Einheiten nach Maßgabe eines Steuersignals
von der Steuereinheit 1, um die gewählten Daten zu einem
Codierer-ROM 46 auszugeben.
Der Codierer-ROM 46 nimmt die Daten N, einschließlich der
Daten vom Flip-Flop FBLKP für Farbbezeichnung und Daten für
die Anzeige oder Angabe einer Dehnungs- oder Verdichtungsverarbeitung,
von der Steuereinheit 1 ab. Der Codierer-ROM
46 empfängt Daten vom Wähler 44 und Daten N von der Steuereinheit
1 als Adreßdaten und gibt 8-Bit-Daten EROM07-00 zu einem
Wähler 48 aus.
Von den Daten EROM07-00 werden die Daten EROM07-05 zu einer
Addierstufe 52 geliefert. Eine durch die Addierstufe 52, einen
Wähler 54 und einen Bildzeiger RBPQ 56 gebildete Schaltung
arbeitet auf dieselbe Weise wie die betreffenden Schaltungen
des Decodierverarbeitungsteils 8. Insbesondere erzeugt
dabei der Bildzeiger 56 eine Angabe- oder Anzeigegröße.
Nach Abschluß der Erzeugungsverarbeitung für den decodierten
Code wird die Anzeigegröße vom Bildzeiger 56 durch die
Addierstufe 52 zu den Daten EROM07-05 addiert. Die Summe
wird dann zum Wähler 54 ausgegeben.
Der Wähler 54 nimmt Daten C vom Detektor 16 ab und wählt
diese nach Maßgabe eines Steuersignals von der Steuereinheit
1, um als Anzeigegröße des Bildzeigers RBPQ 56 zu
dienen. Wenn als Ergebnis der Addition durch die Addierstufe
52 2³ Bits gleich "1" sind, wird dies der Steuereinheit
1 mittels der Daten O gemeldet.
Der Wähler 48 empfängt Daten EROM07-00 und Daten G vom
Decodierverarbeitungsteil 7 über ein Verriegelungsglied 58
und wählt eine dieser Dateneinheiten in Abhängigkeit vom
Steuersignal von der Steuereinheit 1. Die gewählten Daten
werden zu einer Trommelschiebestufe 50
ausgegeben. Letztere dreht die Eingabedaten nach Maßgabe
der Anzeigegröße vom Bildzeiger 56 und gibt die gedrehten
Daten zu einem Wähler 60 aus. Gleichzeitig gibt die Schiebestufe
50 die gedrehten Daten als Daten RODT15-08 zum Register 62
aus.
Eine der Dateneinheiten RODT07-00 und RODT15-08 wird
durch einen Wähler RRSEL 64 nach Maßgabe eines Steuersignals
von der Steuereinheit 1 gewählt; die gewählte Dateneinheit
wird dem Wähler 60 eingegeben. Letzterer erzeugt ein
Ausgangssignal in Übereinstimmung mit der Anzeigegröße
vom Bildzeiger RBPQ 68 als Dateneinheit RODT07-00. Das
Register 62 verschiebt die Daten RODT15-08 zu Daten
RODT07-00 nach Maßgabe eines Steuersignals von der Steuereinheit
1. Die Daten RODT07-00 und die Daten RODT15-08
werden zum Wähler RRSEL 64 ausgegeben. Die Daten RODT07-00
werden als Daten P zum Bezugszeilendaten-Speicherteil 4
und gleichzeitig zu einem dem Inverter 24 ähnlichen
Inverter 66 ausgegeben und schließlich zu einem Ausgabedatenbus
gespeist.
Die Anordnung des Bezugszeilen-Adreßgenerators 3, des
EOL-Detektors 11 des Decodierverarbeitungsteils 7 und
des Bezugszeilendaten-Speicherteils 4 ist nachstehend
anhand von Fig. 4 erläutert.
Der EOL-Detektor 11 des Decodierverarbeitungsteils 7 umfaßt
ein Stopadreßregister 80, einen Komparator 90 und
einen EOL-Detektor 81. Der Bezugszeilen-Adreßgenerator 3
umfaßt einen Adreßzähler 82, eine Addierstufe 84, einen
Wähler 86 und ein Adreßregister 88. Der Bezugszeilendaten-
Speicherteil 4 umfaßt seinerseits einen Wähler 92 und
einen Bezugszeilen-Puffer-Randomspeicher bzw. -RAM 94.
Das Stopadreßregister 80 verriegelt im voraus Einzeilen-
Lauflängendaten und gibt die oberen 10-Bit-Daten zu einem
Komparator 90 aus. Der Adreßzähler 82 nimmt Daten Q von
der Steuereinheit 1 ab. Die Daten Q werden dem Zähler 82
jedesmal dann eingegeben, wenn eine Einbyte-Binärdatenverarbeitung
abgeschlossen ist, und der Zähler 82 speichert
die Daten Q auf, bis die Einzeilenverarbeitung beendet
ist. Ein Ausgangssignal vom Adreßzähler 82 zeigt mithin
die Byte-Position an, bis zu welcher die Binärdatenverarbeitung
auf der entsprechenden Verarbeitungszeile fortgeschritten
ist.
Nach Beendigung der Einzeilenverarbeitung wird der Adreßzähler
82 entsprechend einem Steuersignal von der Steuereinheit
1 rückgesetzt, und er beginnt wieder zu zählen,
wenn die Verarbeitung einer neuen Zeile eingeleitet wird.
Ein Zählstand des Adreßzählers 82 wird
zum Komparator 90, zum Wähler 86 und zur Addierstufe 84 ausgegeben.
Der Komparator 90 nimmt auch Lauflängendaten
für eine Zeile vom Stopadreßregister 80
in Einheiten von Bytes ab und vergleicht sie mit dem Zählstand
des Adreßregisters 82. Wenn dazwischen eine Koinzidenz
festgestellt wird, bedeutet dies, daß die Bilderzeugung
eine Byte-Position vor dem Ende der entsprechenden Verarbeitungszeile
erreicht hat. Zu diesem Zeitpunkt werden
Daten T zur Steuereinheit 1 ausgegeben.
Die Addierstufe 84 nimmt Daten R von der Steuereinheit 1 ab
und addiert sie zum Zählstand des
Adreßzählers 82, um die Summe zum Wähler 86 auszugeben.
Der Wähler 86 wählt Adreßdaten vom Adreßzähler 82 sowie
Adreßdaten von der Addierstufe 84 nach Maßgabe eines
Steuersignals von der Steuereinheit 1, um das Wählergebnis
zum Adreßregister 88 auszugeben.
Das Adreßregister 88 empfängt auch Daten S von der Steuereinheit
1 und gibt diese Daten zusammen mit dem Ausgangssignal
vom Wähler 86 zum Bezugszeilen-Puffer-RAM 94 aus.
Der Puffer-RAM 94 speichert Bilddaten auf einer bzw. für
eine Bezugszeile und Bilddaten für die entsprechende Verarbeitungszeile
zum Verarbeiten der nächsten Zeile. Bilddaten
für zwei Zeilen werden somit im Randomspeicher bzw.
RAM 94 abgespeichert, und Daten S werden von der Steuereinheit
1 zum Adreßregister 88 geliefert, um die Bezeichnungsspeicherbereiche
umzuschalten, d. h. zu bestimmen,
welcher Bereich bzw. Speicherplatz gewählt werden soll.
Der Wähler 92 empfängt die eingegebenen Byte-Bilddaten F,
d. h. die Daten RIDT07-00, über den Codierende-Verarbeitungsteil
28, sowie Byte-Daten P, d. h. verarbeitete Bilddaten
RODT07-00, und wählt eine dieser Dateneinheiten nach Maßgabe
eines Steuersignals von der Steuereinheit 1, um dabei
das Wählergebnis im Bezugszeilen-Pffer-RAM 94 abzuspeichern.
Wie aus der vorstehenden Beschreibung hervorgeht, wählt der
Wähler 86 beim Auslesen von Bezugszeilendaten die Ausgangs-
oder Ausgabedaten von der Addierstufe 84, während er bei
Speicherung der Bezugszeilendaten die Ausgabedaten vom
Adreßzähler 82 wählt, um sie auszugeben.
Wenn zu Beginn der Verarbeitung für eine neue Zeile Bezugszeilendaten
ausgelesen werden, werden Daten "2" und "1"
als Daten R von der Steuereinheit 1 der Addierstufe 84
eingegeben, um für das Register 96 nötige Bezugsdaten
auszugeben. Das Register 96 kann sodann die nötigen Bezugszeilendaten
halten. Die Daten REF-3-10 vom Register 96
werden als Daten U zu einem b 1-Detektor 102 ausgegeben.
Der EOL-Detektor 81 erfaßt einen EOL-Code, wenn ein Fehler
z. B. im Decodierverarbeitungsteil 7 oder im Erzeugungsverarbeitungsteil
8 auftritt. Der Detektor 81 empfängt Daten H
vom Decodierverarbeitungsteil 7 und meldet die Erfassung
eines EOL-Codes zur Steuereinheit 1 mittels
Daten Z.
Die Anordnung des a 1b 1-Detektors 16 des Erzeugungsverarbeitungsteils
8 ist nachstehend anhand von Fig. 5 erläutert.
Der a 1b 1-Detektor 16 wird häufig in einem Vertikalmodus
und einem Durchlaßmodus in einem zweidimensionalen
Modus benutzt.
Die aus dem Bezugszeilen-Puffer RAM 94 ausgelesenen Daten
werden im Register 96 als Daten REF15-08 verriegelt.
Das Register 96 verschiebt die Daten REF07-04 in den Daten
REF07-00 zu Daten REF-4-1 und die Daten REF15-08 zu Daten
REF07-00 in Einheiten von Bytes, um damit Daten vom
Bezugszeilen-Puffer RAM 94 als Daten REF15-08 zu verriegeln.
Der b 1-Detektor 102 nimmt Daten U für die Bezugszeile
vom Register 96 ab; außerdem nimmt er Daten A1 von
der Steuereinheit 1 zur Erfassung eines Farbänderungs-
oder -wechselpunkts ab. Der Detektor 102 meldet das Fehlen
des b 1-Punkts zur Steuereinheit 1 mittels Daten A2. Der
a 1-Detektor 104 nimmt Daten F vom Codierendeverarbeitungsteil
28 ab. Die b 1- und a 1-Detektoren 102 bzw. 104 nehmen
eine Anzeigegröße vom a 0-Zeiger RBPA 100 ab und erfassen
jeweils Positionen a 1 bzw. b 1 von Pixels mit Änderungen
auf einer Codierzeile und einer Bezugszeile an der rechten
Seite des Punkts a 0, d. h. vor dem Punkt a 0 in Verarbeitungsrichtung,
am Register 96. Die durch den b 1-
Detektor 102 erfaßte Position b 1 wird zur Subtrahierstufe
120 und zum Wähler 108 geliefert. Im Zusammenhang mit dem
Register 96 wird "+4" zur Position b 1 addiert.
Die durch den a 1-Detektor 104 erfaßte Position a 1 wird
den Wählern 116 und 114 zugeführt. Der Wähler 116 wählt
die Ausgabedaten aus den Daten vom a 1-Detektor 104 oder
den Daten "+4" von der Steuereinheit 1 und gibt die
gewählten Daten zur Substrahierstufe 120 aus. Letztere
gibt ihr Rechenergebnis als Daten A zum Erzeugungsverarbeitungsteil
8 aus.
Der Wähler 108 empfängt die Anzeigegröße vom a 0-Zeiger
100 und das Ausgangssignal b 1
vom b 1-Detektor 102. Der Wähler 110 empfängt Daten "-4"
von der Steuereinheit 1 und Daten B, als Ausgabe RLCNT
vom RL-Zähler 42, vom Erzeugungsverarbeitungsteil 8. Die
Wähler 108 und 110 wählen jeweils ihre Ausgangssignale
nach Maßgabe eines Steuersignals von der
Steuereinheit 1 und geben sie zur Addierstufe A01BP 114
aus, welche ihrerseits die Summe zum Wähler 112 ausgibt.
Der Wähler 114 nimmt auch das Erfassungsergebnis a 1 vom
a 1-Detektor 104, die Anzeigegröße vom a 0-Zeiger 100 und
die Daten W von der Steuereinheit 1 ab, und er wählt
sein Ausgangssignal entsprechend einem
Steuersignal von der Steuereinheit 1. Das Ausgangssignal
vom Wähler 114 wird dem Erzeugungsverarbeitungsteil 8 als
Dateneinheit C und dem Decodierverarbeitungsteil 7 als
Dateneinheit D zugeliefert. Die Ausgabe vom Wähler 114
wird auch durch den a 0-Zeiger RBPA 100 als Anzeigegröße
verriegelt. Die Anzeigegröße vom a 0-Zeiger 100 wird durch
den Komparator 106 mit den Daten E vom Adreßregister 80
verglichen, und das Vergleichsergebnis wird als Daten V
zur Steuereinheit 1 ausgegeben.
Das Ausgangssignal von der Addierstufe
(A01BP) 112 wird zum Komparator 122 ausgegeben, der auch
eine Größe "8" zur Angabe eines Datenverarbeitungformats
von der Steuereinheit 1 abnimmt
und einen Vergleich zwischen den beiden
Eingangssignalen anstellt. Das Vergleichsergebnis wird
der Steuereinheit 1 als Signal SNAGR8 zugeführt, wenn die
Ausgabe von der Addierstufe 112 gleich 8 oder größer ist.
Der b 1-Detektor 102 besitzt den in Fig. 6 gezeigten
Aufbau. Diese Schaltung prüft einen Farbänderungs- oder
-wechselpunkt; ein weißer Lauf wird als "0",
ein schwarzer Lauf als "1" verarbeitet. Für
entsprechende Bits vor dem interessierenden Punkt a 0
in Verarbeitungsrichtung wird "1" als Maskenmuster geliefert.
Die dem b 1-Detektor 102 eingegebenen Bezugszeilendaten
-4-11 werden jeweils an eine Klemme von
exklusiven ODER-Gliedern 208 angelegt, an deren andere
Klemme jeweils ein Farbsteuersignal angelegt wird.
Genauer gesagt: das Farbsteuersignal ist "0", wenn ein
Farbänderungspunkt von einem weißen Lauf zu einem schwarzen
Lauf geprüft wird, und es ist "1", wenn ein Farbänderungspunkt
von einem schwarzen Lauf zu einem weißen
Lauf geprüft wird. Die Daten -4-11 von den exklusiven
ODER-Gliedern 208 werden Bit für Bit entsprechenden
NAND-Gliedern 211 eingespeist, die jeweils auch ein
Maskenmuster und die Daten von einem vorherigen Bit
abnehmen. Mit anderen Worten: bezüglich des NAND-Glieds
für ein 3. Bit werden diesem durch
den betreffenden Inverter 210 invertierte 2. Bit-Daten
eingegeben. Jedes NAND-Glied 211 berechnet ein logisches
Produkt aus diesen Eingaben oder Eingangssignalen zur
Feststellung einer Farbänderung in Pixelkomponenten an
der betreffenden Bitposition. Wenn daher alle zugeordneten
Bits der gleichen Verarbeitung unterworfen werden,
kann ein Farbänderungspunkt von Pixelkomponenten einfach
und augenblicklich erfaßt oder festgestellt werden.
Der Grund dafür, weshalb die invertierten vorherigen
Bit-Daten den jeweiligen NAND-Gliedern 211 eingespeist
werden, liegt darin, daß Punkte 201 und 202 im Fall einer
Bezugszeile und einer Verarbeitungszeile gemäß Fig. 7A
nicht als Farbänderungspunkt b 1 einer Bezugszeile erfaßt
werden sollen. Dies stellt einen Zustand
dar, in welchem die Farbe des Punkts an der linken Seite
des betreffenden Bits als entgegengesetzte Farbe hinzugefügt
wird. Auf diese Weise kann verhindert werden, daß
schwarze Punkte 201 und 202 als Punkt b 1 erfaßt werden.
Im folgenden ist die Arbeitsweise der erfindungsgemäßen
Binärdatenverdichtungs- und -dehnungs-Verarbeitungsvorrichtung
beschrieben.
Nachstehend ist zunächst die Dehnungsverarbeitung im einzelnen
erläutert.
Wenn eine Dehnungsverarbeitung für eine neue Seite eingeleitet
wird, werden Steuerdaten, einschließlich von Daten
zur Bestimmung der MH-, MR- oder M²R-Methode, im Fall eines
Faksimilesystems geliefert. Die Steuerdaten enthalten Daten
zur Anzeige einer Lauflänge für eine Zeile. Das Stopadreßregister
80 speichert die Lauflängendaten für eine Zeile.
Bei der Verarbeitung nach der M²R-Methode sind alle Bits
der Bilddaten auf der Bezugszeile am Anfang einer Seite
weiß oder gleich "0". In diesem Zustand wird zunächst durch
den EOL-Detektor 81 ein EOL-Code erfaßt, um die Dehnungsverarbeitung
einzuleiten.
Bei Einleitung einer Dehnungsverarbeitung für eine neue
Zeile wird ein erforderlicher
Zustand initialisiert. Beispielsweise wird die folgende
Initialisierung ausgeführt: Der Adreßzähler 82 wird rückgesetzt,
und von der Steuereinheit 1 werden Daten S zum
Bit "10" des Adreßregisters 88 geliefert, um Adressen umzuschalten.
Danach wird von der Steuereinheit 1 eine Dateneinheit
"1" als Daten R der Addierstufe 84 eingegeben, und
erste Byte-Daten auf der Bezugszeile werden aus dem Bezugszeilen
Puffer-RAM 94 ausgelesen, um als Daten REF15-08
im Register 96 abgespeichert zu werden. Nach dem Verschieben
der Daten zu Daten REF07-00
wird die Einheit "2" als Daten R von der Steuereinheit 1
geliefert, und die aus dem RAM 94 ausgelesenen Byte-Daten
werden auf dieselbe Weise, wie oben beschrieben, als Daten
REF15-08 im Register 96 gespeichert. Die Zeiger 36, 56 und
100 werden rückgesetzt. Daten W werden von der Steuereinheit
1 dem Wähler 114 eingegeben und entsprechend einem
Steuersignal von der Steuereinheit 1 gewählt, so daß ein
neuer Wert bzw. eine neue Größe im a 0-Zeiger 100 gesetzt
wird. Die Farbe wird daher zwangsweise auf "Weiß" gesetzt.
Beispielsweise sei angenommen, daß ein nach der M²R-Methode
codierter Code über eine Eingabedatenschiene dem Decodierverarbeitungsteil
7 in Einheiten von 8 Bits, d. h. 1 Byte,
nach Vornahme der erwähnten Initialisierung eingegeben und
durch das Verriegelungsglied 22 nach Maßgabe eines Steuersignals
von der Steuereinheit verriegelt wird.
In einem Register, das hauptsächlich zum Halten (oder
Speichern) von Bilddaten und eines verdichteten Codes
dient, entspricht das am weitesten links befindliche Bit
dem Bit "0". In einem Register, das hauptsächlich zum
Halten von binären Steuerdaten dient, entspricht das am
weitesten rechts stehende Bit dem Bit "0". Infolgedessen
müssen die eingegebenen Binärdaten invertiert werden. Dies
erfolgt durch den Inverter 24, der die Binärdaten sodann zum
Register 26 und zum EOL-Detektor 11 ausgibt. Im Register 26
werden vorher eingegebene Byte-Daten RDTI15-08 nach Maßgabe
eines Steuersignals von der Steuereinheit 1 zu Daten
RDTI07-00 verschoben, und neue Eingabedaten werden als
Daten RDTI15-08 verriegelt und zusammen mit Daten RDTI07-00
als 16-Bit-Daten gehalten. Auf diese Weise werden am Anfang
einer Seite 2-Byte-Binärdaten eingegeben.
16-Bit-Registerdaten RDTI15-00 werden zum Codierende-Verarbeitungsteil
28 ausgegeben. Diese Schaltung wird nur bei
der Verdichtungsverarbeitung betätigt, während sie bei der
Dehnungsverarbeitung einfach Daten passieren läßt. Die
16-Bit-Registerdaten RDTI15-00 werden daher über den Verarbeitungsteil
28 zur Trichterschiebestufe 30 ausgegeben.
Der Decodierzeiger 36 zeigt die LSB-Position eines als
nächstes auszuziehenden Codes vom oder aus den Registerdaten
RDTI15-00 an, die der Trichterschiebestufe 30 eingegeben
wurden. Letztere erzeugt eine 9-Bit-Ausgabe LSHT08-00,
die durch Linksverschieben der Daten RDTI15-00 um die Zahl
der durch eine Anzeigegröße vom Zeiger 36 angegebenen Bits
erhalten wurde. Wenn beispielsweise die Größe des Zeigers
36 gleich "3" ist, wählt die Trichterschiebestufe 30 Daten
RDTI11-03 aus den Eingabedaten RDTI15-00 und gibt diese als
Daten LSHT08-00 aus.
Die Daten LSHT08-00 werden zu den den Daten LSHT10-09 von
der Steuereinheit 1 entsprechenden Daten hinzuaddiert, und
das Ergebnis wird vom Wähler 31 ausgegeben, der außerdem
Daten entsprechend den Daten LSHT06-08 oder LSHT07-08 von
der Steuereinheit 1 abnimmt. Diese Eingabedaten werden nach
Maßgabe eines Steuersignals von der Steuereinheit 1 gewählt,
und die gewählten Daten werden als 11-Bit-Adreßdaten zum
Decodierer-ROM 32 ausgegeben.
Wenn in diesem Fall bei der M²R-Methode die Erzeugungsverarbeitung
eines unmittelbar vorhergehenden decodierten
Codes nicht beendet ist, wird das dem
Wähler 31 zugeordnete Steuersignal nicht erzeugt. Der
Wähler 31 wartet daher den Abschluß der Erzeugungsverarbeitung
in einem Zustand ab, in welchem die Daten LSHT08-00
geliefert werden.
Falls der Wähler 31 den Abschluß nicht abwartet, kann ein
weißer Vorsatz oder Lauf für einen Anfangscode
der nächsten Zeile, nachdem die Verarbeitung bis zum Ende
der augenblicklichen Verarbeitungszeile fortschreitet,
nicht gesetzt werden. Wenn in diesem Fall die
Decodierung für den Anfangscode durchgeführt wird, muß
die Anzeigegröße des Decodierzeigers 36 rückgesetzt werden,
und die Decodierung muß wieder aufgenommen werden, was
Schwierigkeiten bedingt.
Falls jedoch eine solche Vorausverarbeitung
nicht durchgeführt wird, kann ein EOFB-Code
(=Ende des Faksimileblocks: der EOFB-Code enthält doppelte
EOL-Codes) am Ende einer Seite nicht decodiert werden, und
die Verarbeitung wird am EOFB-Code angehalten. Wenn daher
ein EOL-Code im EOFB-Code durch den EOL-Detektor 81 erfaßt
wird, erfolgt die Decodierung durch Vorausverarbeitung.
Da die MH- und MR-Methoden im Gegensatz zur M²R-Methode
einen EOL-Code verwenden, kann eine Codedateneinheit durch
Vorausverarbeitung decodiert werden, ohne daß der Abschluß
der augenblicklichen Erzeugungsverarbeitung abgewartet zu
werden braucht. Mit der Decodierverarbeitung nach der M²R-
Methode kann somit auch die nach der MH- oder MR-Methode
mit höherer Geschwindigkeit als bei bisherigen Vorrichtungen
durchgeführt werden.
Die Daten LSHT10-00 werden nach Maßgabe eines Steuersignals
von der Steuereinheit 1 zum Decodierer-ROM 32 ausgegeben.
Wenn Daten Y08-06 gewählt sind, wird der 08-06-Bitabschnitt
oder der 08-07-Bitabschnitt der Daten LSHT10-00 als der
entsprechende Abschnitt oder Teil der Daten LSHT gewählt,
und der Datenabschnitt LSHT08-00 wird durch entsprechende,
zum Decodierer-ROM 32 auszugebende Bits zur MSB-Richtung
verschoben.
Der Dekodierer-ROM 32 gibt einer Lauflänge zugeordnete
Daten als Daten DROM07-00, eine decodierte Codelänge
angebende Daten als Daten DROM11-08 und den nächsten
Zustand anzeigende Daten als Daten DROM15-12 aus. Zu
diesem Zeitpunkt werden Daten in den zweidimensionalen
Vertikal- und Durchlaßmoden in Form von Lauflängendaten
(δ-4) ausgegeben.
Die Daten DROM11-08 werden zur Addierstufe 34 ausgegeben,
welche gleichzeitig Daten vom Zeiger 36 abnimmt. Die Daten
DROM11-08 werden somit zum Inhalt des Zeigers 36 addiert,
und die summierten Daten werden zum Wähler 38 ausgegeben.
Der Wähler 38 empfängt ein Signal D, das bei der Verdichtungsverarbeitung,
nicht aber bei der Dehnungsverarbeitung
benutzt wird, vom a 1b 1-Detektor 16. Da jedoch im
vorliegenden Fall die Dehnungsverarbeitung durchgeführt
wird, wird das Ausgangssignal von der Addierstufe 34 nach
Maßgabe eines Steuersignals von der Steuereinheit 1 gewählt.
Aus diesem Grund werden die summierten Daten
wiederum zum Inhalt des Zeigers 36. Der Zeiger 36 zeigt
auf diese Weise die LSB-Position eines einem decodierten
Code am nächsten gelegenen Codes an.
Wenn die 2³-Bit-Daten als Ergebnis der Addition durch die
Addierstufe 34 zu "1" werden, wird dies der Steuereinheit 1
mittels der Daten J gemeldet. Dies bedeutet, daß die Decodierverarbeitung
für ein Byte abgeschlossen ist. Die Steuereinheit
1 gibt daraufhin ein Steuersignal zum Register 26
aus, um die Daten RDTI15-08 in Einheiten von Bytes nach
links zu Daten RDTI07-00 zu verschieben. Durch das Verriegelungsglied
22 verriegelte neue Byte-Daten werden als
Daten RDTI15-08 nach Maßgabe eines Steuersignals von der
Steuereinheit 1 im Register 26 verriegelt. Der Zeiger 36
nimmt die unteren drei Bits der summierten Daten von der
Addierstufe 34 ab, so daß in den Daten RDTI07-00 des
Registers 26 stets die LSB-Position eines zu decodierenden
Codes vorhanden ist.
Im folgenden ist die Arbeitsweise des Erzeugungsverarbeitungsteils
8 beim Dehnen von Binärdaten nach Maßgabe
des Decodierergebnisses vom Decodierteil 13 beschrieben.
Wie erwähnt, empfängt der Erzeugungsverarbeitungsteil 8
das Decodierergebnis, d. h. die Lauflängendaten. Zunächst
ist ein Fall beschrieben, in welchem ein eindimensionaler
Moduscode dem Teil 7 eingegeben wird. Es sei angenommen,
daß das Decodierergebnis eines Ergänzungscodes dem Wähler
40 eingespeist wird. Obgleich der Wähler 40 Daten L von
der Steuereinheit 1 abnimmt, wird dieser Vorgang später
näher erläutert werden. Wenn ein Ausgangssignal vom
Decodierer-ROM 32 entsprechend einem Steuersignal von der
Steuereinheit 1 gewählt wird, werden die Ausgabedaten dem
RL-Zähler 42 eingegeben. Der RL-Zähler 42 ist ein Zähler
mit einer 12-Bit-Länge; er speichert das Decodierergebnis
des Ergänzungscodes im 6-Bit-Datenabschnitt 08-03.
Da die Lauflänge des vom Decodierer-ROM 32 ausgegebenen
Ergänzungscodes eine Größe ist, die durch Dekrementieren
einer tatsächlichen oder Ist-Lauflänge um acht Bytes
erhalten wurde, wird dem 02-00-Bitabschnitt des RL-Zählers
42 "1" eingegeben, um damit "111" zu erhalten. Dies
ist deshalb der Fall, weil die Erzeugungsverarbeitung in
Einheiten von Bytes erfolgt. Die Daten RLCNT vom RL-Zähler
42 werden dem Codierer-ROM 46 als Teil der Adreßdaten
über den Wähler 44 eingegeben. Der Codierer-ROM 46
empfängt auch Bitdaten für Farbbezeichnung und Bitdaten
zur Angabe der Dehnungs- oder Verdichtungsverarbeitung
von der Steuereinheit 1 als Teil der Adreßdaten.
In Abhängigkeit von den dem Codierer-ROM 46 eingegebenen
Adreßdaten gibt dieser ROM 46 8-Bitdaten "00000000" oder
"11111111" aus. Die Ausgabedaten werden über den Wähler
48 der Trommelschiebestufe 50 zugeführt. Der Erzeugungsverarbeitungsteil
8 weist einen ähnlichen Schaltungsaufbau
auf wie der Decodierzeiger 36 des Decodierteils
13. Die Trommelschiebestufe 50 nimmt Daten vom Zeiger 56
ab, so daß die Eingabedaten gedreht oder rotiert und
gemäß den Daten vom Zeiger 56 ausgegeben werden. Da
jedoch alle Bits entweder "0" oder "1" sind, macht es
keinen Unterschied, ob die Daten gedreht werden oder
nicht. Die Größe des Bildzeigers RBPQ 56 bleibt
mithin unverändert.
Da zu diesem Zeitpunkt Daten in Einheiten von Bytes
ausgegeben werden, werden keine Daten vom Decodierer-ROM
46 zur Addierstufe 52 ausgegeben. Da nämlich die Verarbeitung,
wie erwähnt, in Einheiten von Bytes erfolgt,
braucht die Größe des Bildzeigers RBPQ 56 nicht geändert
zu werden. Das Ausgangssignal von der Trommelschiebestufe
50 wird dem Wähler 60 und auch dem 15-08-Abschnitt des
Registers 62 zugeführt. Der Wähler 60 nimmt Daten RODT15-08
über den Wähler RRSEL 64 bei der Erzeugungsverarbeitung
des Ergänzungscodes ab. Außerdem empfängt der Wähler 60
Daten vom Bildzeiger RBPQ 56, wie in der Trommelschiebestufe
50.
Der Wähler 60 wählt Daten vom Wähler (RRSEL) 64 als Daten
von der LSB-Position (Position des niedrigstwertigen
Bits) der zu erzeugenden Bilddaten bis zu einer um "1"
kleineren Bitposition aus der Anzeigegröße des Bildzeigers
RBPQ 56, und er wählt das Ausgangssignal von der
Trommelschiebestufe 50 als Daten von der Anzeigegröße des
Bildzeigers (RBPQ) 56 bis zur MSB-Position (Position des
höchstwertigen Bits) der Bilddaten, um damit die gewählten
Daten als Daten RODT07-00 des Registers 62 auszugeben.
Wenn die Anzeigegröße vom Zeiger 56 z. B. "3" ist,
werden Daten vom Wähler 64 als Daten RODT02-00 und Daten
von der Trommelschiebestufe 50 als Daten RODT07-03 gewählt.
Die durch den Wähler 60 gewählten Daten werden
als Daten RODT07-00 des Registers 62 gespeichert. Die
Lauflänge des Ergänzungscode beträgt 8 Bytes oder mehr,
und er wird in Einheiten von Bytes verarbeitet. Da mit
der obigen Operation eine Einbyte-Datenverarbeitung vollständig
abgeschlossen wird, werden
Daten RODT07-00 des Registers 62 über den dem Inverter 24
ähnlichen Inverter 66 auf der Ausgabedatenschiene nach
Maßgabe eines Steuersignals von der Steuereinheit 1
ausgegeben. Daten RODT07-00 werden auch als Daten P zum
Bezugszeilen-Speicherteil 4 ausgegeben, um in diesem an
einer Adresse entsprechend dem augenblicklichen
Zählstand des Adreßzählers 88 gespeichert zu
werden.
Nach Abschluß der Erzeugungsverarbeitung der Einbyte-
Bilddaten wird an den Adreßzähler 82 als Dateneinheit Q
ein Taktsignal angelegt, um ihn um "1" zu inkrementieren
bzw. hochzählen zu lassen. Dabei wird im Fall
eines nach der M²R-Methode codierten Codes der Zählstand
des Zählers 82 durch den Komparator 90 mit dem des
Stopadreßregisters 80 verglichen, um zu prüfen, ob die
Verarbeitung bis zum Ende der Zeile fortgeschritten ist.
Im Fall eines nach der MR- oder MH-Methode codierten
Codes ergibt sich keinerlei Schwierigkeit, weil dabei
EOL-Codes verwendet werden.
Die Daten im Register 96 werden in Einheiten von Bytes in
Richtung auf die LSB-Position verschoben. Neue Bezugszeilendaten
werden unter Verwendung der Summe aus dem
Zählstand des Adreßzählers 82 und den Daten R als Adresse
aus dem Speicherteil 4 ausgelesen und im Register 96 als
Daten REF15-08 verriegelt. In diesem Fall werden Daten a 0
des a 0-Zeigers (RBPA) 100 nicht geändert. Es wird geprüft,
ob Daten RLCNT des RL-Zählers 42 gleich "0" sind.
Ist dies nicht der Fall, so werden die Daten RLCNT um "1"
dekrementiert. Wenn die Daten RLCNT gleich "0" sind,
werden Daten M zur Steuereinheit 1 ausgegeben, um damit
anzuzeigen, daß die Erzeugungsverarbeitung des eingegebenen
Ergänzungscodes abgeschlossen ist. Ist ein solcher
Abschluß nicht erreicht, so werden die Daten RLCNT vom
RL-Zähler 52 über den Wähler 44 wiederum dem Codierer-ROM
46 zugeführt. Die Verarbeitung wird auf die beschriebene
Weise wiederholt, bis das Ausgangssignal RLCNT vom RL-
Zähler 42 gleich "0" wird.
Wenn ein Lauf der gleichen Farbe für
eine Länge von 2561 oder mehr andauert, wird ein Code
einer Lauflänge von 2560 wiederholt. In diesem Fall
liefert die Steuereinheit 1 zum Wähler 40 den Code einer
Lauflänge von 2560 und die Zahl des wiederholten Codes.
Wenn der Wähler 40 die Daten L wählt, wird dieselbe
Verarbeitung wie für den Ergänzungscode durchgeführt.
Wenn die Erzeugungsverarbeitung für die Lauflänge von
2560 einmal abgeschlossen ist, wir die Zahl
des wiederholten Codes um "1" dekrementiert, und dieselbe
Verarbeitung wird wiederholt, bis der Inhalt des RL-Zählers
42 gleich "0" ist.
Im folgenden ist ein Fall beschrieben, in welchem das
Decodierungsergebnis eines Beendigungscodes verarbeitet
wird. Das Decodierungsergebnis wird über den Wähler 40 in
den 05-00-Abschnitt des RL-Zählers 42 eingegeben, dessen
05-03-Abschnitt auf dieselbe Weise verarbeitet wird wie
die Byte-Daten in der Erzeugungsverarbeitung des Ergänzungscodes.
Nach Abschluß der Verarbeitung der Byte-Daten
werden restliche Daten 02-00, die weniger als
ein Byte betragen, verarbeitet. Die weniger als ein Byte
betragenden Daten 02-00 werden zum Wähler 44 ausgegeben
und durch diesen für die Eingabe in den Codierer-ROM 46
gewählt. Die Daten 02-00 werden auch als Daten B zum
a 1b 1-Detektor 16 ausgegeben. Die Bilddatenerzeugung
erfolgt auf dieselbe Weise wie die Erzeugungsverarbeitung
für eine Einbyte-Lauflänge.
Wenn ein Lauflängencode, der kürzer ist als ein Byte,
verarbeitet worden ist, werden Daten B vom RL-Zähler 42
zum Wähler 110 geliefert, durch letzteren gewählt und der
Addierstufe 112 zugeführt. Der Wähler 108 wählt Daten a 0
vom a 0-Zähler (RBPA) 100 und liefert sie zur Addierstufe
112. Die Summe von der Addierstufe 112 wird über die
Wähler 114 und 54 zum Komparator 122 und zum Bildzeiger
(RBPQ) 56 geliefert. Als Ergebnis wird die Größe des
Bildzeigers 56 aktualisiert. Wenn der Komparator 122
bestimmt, daß das Ausgangssignal von der Addierstufe 112
"8" oder mehr beträgt, wird durch das Signal SNAGR8 der
Steuereinheit 1 gemeldet, daß eine Einbyte-Datenverarbeitung
abgeschlossen ist. Wenn das Signal SNAGR8 ausgegeben
wird, gibt das Register 62 nach Maßgabe eines
Steuerausgangssignals von der Steuereinheit 1 die Daten
RODT07-00 auf der Datenschiene aus und liefert sie auch
als Daten P zum Speicherteil 4.
Wenn kein Signal SNAGR8 ausgegeben wird, werden die
nächsten Bilddaten abgewartet. Wenn die nächsten Bilddaten
dem Wähler 60 eingegeben werden, werden Daten
RODT07-00 vom Register 62 über den Wähler (RRSEL) 64 dem
Register 62 zugeliefert.
Die obige Operation läßt sich für einen MH-Codeabschnitt
eines Horizontalmoduscodes unter den nach der MH-Methode
codierten Codes und den nach MR- und M²R-Methode codierten
Codes ausführen.
Als nächstes ist die Erzeugungsverarbeitung für einen
Code im Durchlaßmodus und im Vertikalmodus als zweidimensionaler
Codiermodus beschrieben.
Die Lauflängendaten vom Dekodierteil 13 werden in den
RL-Zähler 42 geladen. Da hierbei die Lauflängendaten im
DROM in Form von (δ-4) gespeichert sind,
wird der Inhalt des RL-Zählers 42 ebenfalls auf (δ-4)
aktualisiert. Außerdem wird ein in der Steuereinheit
enthaltenes, nicht dargestelltes Flip-Flop FBLKP zum
Bezeichnen der Farbe entsprechend der Farbe eines den
Lauflängendaten zugeordneten Laufs
rückgesetzt. Gleichzeitig werden in der das
Register 62 enthaltenden Datenhalteschleife Einbyte-Bilddaten,
die den Punkt a 0 einer augenblicklichen Verarbeitungszeile
enthalten, zum 07-00-Datenabschnitt des
Registers 62 über den Wähler 64 und den Wähler 60 zurückgeführt.
Die Bitposition des Punkts a 0 in den Bytedaten
wird in den a 1-Zeiger 100 und den Bildzeiger 56 geladen.
Das dritte Bit des a 0-Zeigers 100 entspricht "0". Bilddaten
auf einer Bezugszeile sind in das Register 96
geladen worden. Daten REF00-07 des Registers 96 entsprechen
Daten RODT07-00 des Registers 62, in welchem
die Bitposition des Punkts a 0 enthalten ist.
Nachstehend ist die Dehnungsverarbeitung eines VL(2)-
Codes beschrieben, wobei der Punkt a 0 dem zweiten Bit der
Daten RODT07-00 entspricht und eine Bezugszeile in
Fig. 7A dargestellte Bildmusterdaten aufweist.
Dabei wird ein Farbänderungspunkt auf einer Bezugszeile,
d. h. der Punkt b 1, durch den in Fig. 6 dargestellten
b 1-Detektor 102 gewonnen oder abgeleitet. In dem in
Fig. 7A gezeigten Fall für die Bezugszeile entspricht der
Punkt b 1 dem achten Bit. Infolgedessen gibt der b 1-Detektor
102 12=(8+4) aus.
Da VL(2) der Größe δ=-2 entspricht, empfängt der
RL-Zähler 42 -6=(-2-4). Der Addierer (A01BP) 112
empfängt das Ausgangssignal "12" vom b 1-Detektor 102 über
den Wähler 108 und das Ausgangssignal (RLCNT) "6" vom
RL-Zähler 42 über den Wähler 110, und er berechnet
12+(-6), um das Ergebnis "6" auszugeben. Dieses Ausgangssignal
wird durch den Wähler
114 gewählt und im a 0-Zeiger 100 gesetzt.
Dies bedeutet insbesondere, daß ein Farbänderungspunkt
auf der augenblicklichen oder aktuellen Verarbeitungszeile,
d. h. der Punkt a 1, dem sechsten Bit des betreffenden
Bytes entspricht. Während der Punkt b 1 erfaßt und
der Punkt a 1 berechnet werden, liefert der
Erzeugungsteil 15 Bilddaten. Da eine Farbe eines zu
erzeugenden Laufs durch das nicht dargestellte Flip-Flop
FBLKP bestimmt wird, wird ein nur aus "0"-Bits (weiß;
d. h. FBLKP=0) oder nur aus "1"-Bits (schwarz; d. h.
FBLKP=1) bestehendes Muster vom Codierer-ROM 46 ausgegeben
und der Trommelschiebestufe 50 über den Wähler 48
eingegeben. Der Wähler 60 empfängt Bilddaten vom Register
62. Die Trommelschiebestufe 50 gibt die eingegebenen
Bilddaten zum 15-08-Datenabschnitt des Registers 62 und
zum Wähler 60 aus.
Der Wähler 60 wählt die Daten vom Register 62 als Daten
von der LSB-Position der zu erzeugenden Bilddaten zu
einer Bit-Position an der linken Seite einer durch den
a 0-Zeiger 100 angezeigten Bitposition, und er wählt Daten
von der Trommelschiebestufe 50 als Daten von der durch
den a 0-Zeiger angezeigten Bit-Position bis zum siebten
Bit. Hierbei werden die Daten vom a 0-Zeiger 100 im Zeiger
56 auf diese Weise verriegelt; ein im vorherigen Schritt
von der durch den Wähler 64 gebildeten Halteschleife
fertiggestelltes Bildmuster wird zurückgeführt
und in einen Datenabschnitt an der linken
Seite des Punkts a 0 geladen, während neue Bilddaten als
Datenabschnitt vom Punkt a 0 bis zur MSB-Position (dem
15. Bit) der Daten RODT unabhängig von der Position des
Punkts a geladen werden, wie dies in Fig. 7B dargestellt
ist. Da - wie noch näher beschrieben werden wird - der
Punkt a 1 als Punkt a 0 im nächsten Verarbeitungsschritt
dient und Bilddaten entsprechend dem nächsten Lauf an
seiner rechten Seite erzeugt werden, besitzt ein augenblicklich
erzeugter Lauf eine Länge entsprechend dem zu
diesem Zeitpunkt vorliegenden decodierten Ergebnis.
Das Ausgangssignal der Addierstufe (A01BP) 112 wird dem
Komparator 122 aufgeschaltet, um zu prüfen, ob das Ausgangssignal
von der Addierstufe 112 gleich 8 oder größer
ist. Wenn das Ausgangssignal der Addierstufe 112 gleich 8
oder größer ist, liefert der Komparator 122 das Signal
SNAGR8. Wenn dieses Signal nicht erzeugt oder geliefert
wird, bedeutet dies, daß die Bilddaten für die augenblicklich
zu verarbeitenden Lauflängendaten nur in Daten RODT00-07
des Registers 62 erzeugt werden. Die Steuereinheit 1
führt somit in diesem Schritt die vollständige Erzeugungsverarbeitung
für diese Lauflängendaten aus.
Da bei diesem Ausführungsbeispiel das Ausgangssignal
von der Addierstufe 112 gleich 6 ist,
wird kein Signal SNAGR8 erzeugt, und die Erzeugungsverarbeitung
für diese Lauflängendaten wird in diesem Schritt
abgeschlossen. Nach Abschluß der Lauferzeugungsverarbeitung
wird das Ausgangssignal von der Addierstufe 112
über den Wähler 114 in den a 0-Zeiger 100 und über die
Wähler 114 und 54 in den Bildzeiger 56 geladen. Die
Inhalte der Zeiger 100 und 56 werden somit zu "6" aktualisiert.
Die beschriebene Erzeugungsverarbeitung wird in
einem Maschinenzyklus parallel ausgeführt.
Fig. 7A veranschaulicht den Zustand, in welchem dieser
Maschinenzyklus abgeschlossen ist. In Fig. 7A sind die
Punkte a 0, a 1 und b 1 im Hinblick auf den erzeugten Lauf
angegeben. Dieser Zustand entspricht dem
Anfangszustand der Erzeugungsverarbeitung für den nächsten
Schwarzlauf. Für die Erzeugungsverarbeitung des
Schwarzlaufs, d. h. im nächsten Maschinenzyklus, dient der
Punkt a 1 gemäß Fig. 7A als Punkt a 0, während der Punkt b 1
außerhalb des Bereichs von Fig. 7A liegt. Die Erzeugung
eines Schwarzlaufs im nächsten Maschinenzyklus
und anschließend ist nachstehend beschrieben.
Wie vorstehend beschrieben, betragen die Inhalte des
a 0-Zeigers (RBPA) 100 und des Bildzeigers (RBPQ) 54
jeweils "6". Dies bedeutet, daß das rechte Bit der Daten
RODT01-00 des Registers 62 dem Punkt a 0 entspricht.
Wenn der Dekodierteil 13 einen (V(0))-Code in einem vorhergehenden
Maschinenzyklus decodiert hat, d. h. in einem
Maschinenzyklus, in welchem die Bilddaten-Erzeugungsverarbeitung
auf der Grundlage des VL(2)-Codes ausgeführt
wird, wird "-4" in den RL-Zähler 42 eingegeben, weil die
Lauflänge δ=0 entspricht. Da ein Schwarzlauf erzeugt
werden soll, ist das Flip-Flop FBLKP auf "1" gesetzt.
In diesem Zustand wird der Punkt b 1 nicht erfaßt oder
festgestellt. Dies wird der Steuereinheit 1 mittels der
Daten A2 gemeldet. Die Bilderzeugung wird jedoch unabhängig
von der Durchführung oder Nichtdurchführung der
Erfassung des Punkts b 1 auf dieselbe Weise wie im vorherigen
Zyklus durchgeführt, so daß alle Bits vom
6. Bit bis zum 15. Bit der Daten RODT15-00 des Registers
62 auf "1" gesetzt sind. Gemäß Fig. 7B wird ein vollständig
aus "1"-Bits bestehender Datenabschnitt von
einem durch a 1 bezeichneten Punkt aus nach rechts erzeugt.
Der Inhalt an der linken Seite eines durch den
a 0-Zeiger 100 angegebenen oder angezeigten Punkt, d. h.
der Datenabschnitt RODT06-00 der Daten RODT15-00, bleibt
bei der Operation der Halteschleife unverändert. Auf
diese Weise werden Einbyte-Bilddaten aus Schwarzdaten
RODT01-00, Weißdaten RODT05-02 und Schwarzdaten RODT-07-06
vervollständigt. Aus diesem Grund wird das nicht dargestellte
Flip-Flop FODRDY der Steuereinheit 1 zum Ausgeben
des Inhalts der Daten RODT00-07 gesetzt.
Da ein Einbyte-Bilddaten der Daten RODT07-00 vervollständigt
sind, werden im nächsten Verarbeitungsschritt an
deren rechter Seite Einbyte-Bilddaten erzeugt. Die Vorbereitung
dafür erfolgt in diesem Verarbeitungsschritt.
Genauer gesagt: der Inhalt des Registers 96 wird um ein
Byte nach links verschoben, so daß die aus dem Bezugszeilenpuffer
94 ausgelesenen nächsten Bilddaten der
Bezugszeile zu den Daten REF08-15 geladen werden. Dies
bedeutet, in anderen Worten, daß der Inhalt der Daten
REF04-07 zu den Daten REF-4--1 und der Inhalt der Daten
REF08-15 zu den Daten REF00-07 geladen werden, um damit
die Einbyte-Schiebeoperation zu realisieren.
Synchron damit wird "8" vom Inhalt des a 0-Zeigers
100 subtrahiert. Dies bedeutet, daß der Punkt a 0 in bezug
auf die Daten REF um ein Byte nach links verschoben wird.
Das Bit an der linken Seite des Bits -4 ist im b 1-Detektor
102 nicht vorhanden. Wenn der Inhalt des Zeigers 100
kleiner ist als -4, wird er auf -4 gesetzt. Dies kann
durch eine einfache Schaltung (nicht dargestellt) geschehen.
Auch wenn der Inhalt der a 0-Daten im Abschnitt
REF11--4 (bzw. -4) ist, kann der Punkt b 1 erfaßt werden.
Der Wähler 114 empfängt den Inhalt des a 0-Zeiger (RBPA)
100 und berechnet "a 0-8". Der Wähler 114 liefert selektiv
das Rechenergebnis zum a 0-Zeiger 100. Da der Inhalt der
a 0-Zeiger 100
gleich 6 ist, ergibt sich -2, und -2 wird in
den a 0-Zeiger 100 geladen. Der Inhalt des Bildzeigers
(RBPQ) 56 bleibt unverändert, bis die Erzeugungsverarbeitung
für den betreffenden Lauf abgeschlossen ist.
Fig. 7C veranschaulicht einen Zustand für den Fall, daß
dieser Verarbeitungsschritt abgeschlossen oder beendet
ist und die Steuerung in den nächsten Verarbeitungsschritt
eintritt. Da die Daten REF in diesen Figuren in derselben
Position dargestellt sind, läßt sich erkennen, daß die
Bildmusterdaten im Vergleich zur Fig. 7B um ein Byte
verschoben sind. Dies ist deshalb der Fall, weil das
Register 62 ein bereits verarbeitetes Bild-Byte in den
Daten RODT07-00 hält. Der Wähler (RRSEL) 64 wird durch
das erwähnte Steuer-Flip-Flop FODRDY so angesteuert, daß
die Daten DODT15-08 gewählt und zur Halteschleife aus den
Wählern 64 und 60 geliefert werden, um damit eine Abweichung
zwischen den Daten REF und RODT zu kompensieren.
Insbesondere werden die Bytedaten RODT08-15 im Register
62 gemäß Fig. 7C für diesen Erzeugungsverarbeitungsschritt
benutzt. Die Daten RODT15-08 werden über den Wähler 64
dem Wähler 60 eingegeben. In diesem Verarbeitungsschritt
werden die Byte-Bilddaten auf dieselbe Weise, wie oben
beschrieben, erzeugt. Dies bedeutet, daß in dem vom
Zustand gemäß Fig. 7C ausgehenden Verarbeitungsschritt
der Punkt b 1 nicht erfaßt wird und die Bilderzeugung für
ein weiteres Byte andauert. Am Ende diese Verarbeitungsschritts
wird der 6-Bit-"1"-Datenabschnitt, d. h. die
Daten RODT13-08 des linken Abschnitts von 8 Bits, wie
durch Daten RODT15-08 in Fig. 7C angedeutet, zum Datenabschnitt
RODT05-00 des Registers 62 über die Halteschleife
eingegeben (weil der Inhalt des Bildzeigers (RBPQ) 56 zu
6 belassen wird), wobei Einheiten "1" entsprechend dem
neu erzeugten Schwarzdurchlauf von der Trommelschiebestufe
50 zu den Daten RODT15-06 eingegeben werden. Infolgedessen
werden alle Bits der Daten RODT00-15 zu "1".
Die Daten REF15-00 des Registers 96 werden um ein Byte
nach links verschoben, und -4 wird in den a 0-Zeiger 100
eingegeben, und zwar auf dieselbe Weise, wie oben beschrieben
ist. Das Ergebnis ist in Fig. 7D dargestellt. Im
nächsten Verarbeitungsschritt wird der Punkt b 1 am
6. Bit erfaßt. Aus dem b 1-Detektor 102 wird 10 (=6+4)
ausgegeben, während -4 in den RL-Zähler 42 in Entsprechung
zur Lauflänge δ=0 von VL(0) eingegeben wird.
Infolgedessen gibt die Addierstufe (A01BP) 112
6 (=10+(-4)) aus. Da dieses Ausgangssignal
7 oder weniger beträgt, wird kein Signal
SNAGR8 erzeugt. Hierdurch wird das Ende der Laufverarbeitung
angezeigt. Das Ausgangssignal von der Addierstufe
112, d. h. 6, wird im a 0-Zeiger 100 und im Bildzeiger 56
gesetzt. Obgleich alle Bits der Daten RODT15-00 jeweils
"1" sind, wird deshalb, weil das Ausgangssignal von der
Addierstufe 112 gleich 7 oder weniger ist, das genannte
Steuer-Flip-Flop FODRDY rückgesetzt, wobei dieses Bild-
Byte zu diesem Zeitpunkt nicht ausgegeben, sondern für
die Erzeugungsverarbeitung an den Bilddaten für den
nächsten Lauf (Weißlauf) benutzt wird.
Auf die beschriebene Weise wird die Erzeugungsverarbeitung
für die nach dem vertikalen Modus codierten Codedaten
parallel zur Erfassung des Punkts
b 1 auf der Bezugszeile durchgeführt, so daß damit die
Erzeugungsverarbeitungsgeschwindigkeit beträchtlich
erhöht werden kann. Im Fall eines Durchlaßmoduscodes
wird die Erzeugungsverarbeitung für die bzw. an den
Bilddaten vom Punkt a 0 zum Punkt b 1 gemäß Fig. 7A auf
dieselbe Weise wie im Fall des V(0)-Codes durchgeführt.
Sodann wird eine Bezugsfarbe zur Erfassung einer
Weiß/Schwarz-Invertierung des b 1-Detektors 102 invertiert,
und es wird dieselbe Operation wie für den V(0)-Code
ausgeführt, während die Farbe des zu erzeugenden Bildmusters
unverändert bleibt; auf diese Weise werden Bilddaten
vom Punkt b 1 gemäß Fig. 7A zum Punkt b 1 gemäß
Fig. 7D erzeugt.
Im folgenden ist die Verdichtungsverarbeitung beschrieben.
Zunächst ist die Verdichtungsverarbeitung für einen MH-Code
erläutert. Bildmusterdaten werden von einer Eingabedatenschiene
dem Verriegelungsglied 22 eingegeben und darin
verriegelt. Die eingegebenen Bilddaten werden dem Register
26 über den Inverter 24 eingespeist. Zu diesem Zeitpunkt
werden Registerdaten RDTI07-00 zum Bezugszeilen-Speicherteil
4 als Bezugszeilendaten für die nächste Verarbeitungszeile
ausgegeben und in diesem Speicherteil entsprechend
den Daten vom Adreßregister 88 gespeichert. Ebenso werden
im Datenteil oder -abschnitt RDTI07-00 gehaltene Bilddaten
zum a 1-Detektor 104 ausgegeben, und es werden Daten
320 (2560÷8) im RL-Zähler 42 vorgegeben. Der durch den
a 1-Detektor 104 erfaßte a 1-Punkt wird als Dateneinheit D
über den Wähler 114 zum Wähler 38 ausgegeben.
Danach werden durch die Trichterschiebestufe 30 9 Bits nach
Maßgabe der Anzeigedaten des Decodierzeigers 36 auf dieselbe
Weise wie bei der Dehnungsverarbeitung gewählt und
zum Wähler 31 ausgegeben. Der Ausgang von der Trichterschiebestufe
30 wird durch den Wähler 31 gewählt und zum
Decodierer-ROM 32 ausgegeben. Wenn ein Lauf
mit derselben Farbe für mehr als eine Byte-Länge andauert,
wird "1000", d. h. eine eine Länge eines Bytes anzeigende
Dateneinheit, vom Decodierer-ROM 32 als Daten DROM11-08
zur Addierstufe 34 ausgegeben, worauf als Ergebnis eine
Dateneinheit J zur Steuereinheit 1 ausgegeben wird.
Die Größe des Decodierzeigers 36 wird nicht aktualisiert.
Die Steuereinheit 1 gibt eine Dateneinheit Q zum Adreßzähler
82 auf dieselbe Weise wie bei der Dehnungsverarbeitung
aus, um Adreßdaten zu aktualisieren. Außerdem wird
der Inhalt des RL-Zählers 42 herabgezählt. Gleichzeitig
wird auf dieselbe Weise wie bei der Dehnungsverarbeitung
der Inhalt des Registers 96 um ein Byte nach links verschoben.
Neue Bezugszeilendaten werden aus dem Speicherteil
4 ausgelesen, zum Register 96 ausgegeben und als
REF15-08 verriegelt. Die Größe des Zeigers 100 wird nicht
verändert.
Im eindimensionalen Modus, in welchem dieselbe Farbe vom
Anfang eines Laufs fortlaufend vorliegt, wird von der
Steuereinheit 1 nach Maßgabe von Daten DROM15-12 vom Decodierer-
ROM 32 ein Zählimpuls dem RL-Zähler 42 eingegeben,
sobald eine Verarbeitung für eine Einheit abgeschlossen
ist, um damit den RL-Zähler 42
herabzuzählen. Wenn durch den a 1-Detektor
104 ein Farbänderungspunkt a 1 festgestellt wird, d. h. wenn
der Inhalt der Daten LSHT08-00 nicht "00000000" oder
"11111111" beträgt, wird der Zählstand
des RL-Zählers 42 über den Wähler 42 dem Codierer-ROM
46 zugeführt. Die Dateneinheit N wird ebenfalls dem Decodierer-
ROM 46 zugeliefert, um damit einen Ergänzungscode
zu erzeugen.
Der erzeugte Ergänzungscode wird über den Wähler 48 zur
Trommelschiebestufe 50 geliefert und in letzterer nach
Maßgabe der Anzeigedaten vom Bildzeiger 56 gedreht. Der
gedrehte Code wird dem Datenabschnitt RODT15-08 des
Registers 62 und auch dem Wähler 60 zugeführt. Im Wähler 60
wird der gedrehte Code auf dieselbe Weise wie bei der
Dehnungsverarbeitung mit einem Ausgangssignal oder einer
Ausgabe des Wählers 64 kombiniert, und zwar in Abhängigkeit
von den Anzeigedaten des Bildzeigers 56. Gleichzeitig
wird die Länge des erzeugten Ergänzungscodes vom Codierer-
ROM 46 zur Addierstufe 52 als Daten EROM07-15 ausgegeben,
um diese zu den Anzeigedaten zu addieren. Die Summe stellt
wiederum die Anzeigedaten des Zeigers 56 dar. Wenn die
Dateneinheit O zur Steuereinheit 1 ausgegeben wird, werden
Daten RODT07-00 auf eine Ausgabedatenschiene ausgegeben.
Wenn die Länge des zu erzeugenden Ergänzungscodes 6 bis 10
Bits beträgt, wird ein restlicher Teil des Ergänzungscodes
vom Codierer-ROM 46 geliefert und auf dieselbe Weise, wie
vorstehend beschrieben, verarbeitet. Dabei werden Daten
RODT15-08 im Wähler 64 gewählt. Nach Beendigung der Erzeugungsverarbeitung
des Ergänzungscodes wird der 11-03-
Bitabschnitt im RL-Zähler 42 freigemacht, und der 02-00-
Bitabschnitt wird zum 05-03-Bitabschnitt verschoben,
während die restlichen Daten, die kleiner sind als ein
Byte, dem 02-00-Bitabschnitt des RL-Zählers 42 eingegeben
werden. Das Ergebnis wird ebenfalls zum Codierer-ROM 46
ausgegeben und auf dieselbe Weise wie im Fall des Ergänzungscodes
verarbeitet, um einen verdichteten Beendigungscode
auszugeben. Die Verarbeitung für
die Länge eines Codes ist dieselbe wie für den Ergänzungscode.
Auf diese Weise werden die Ergänzungs- und der Beendigungscode
wie im Fall der Verdichtungsverarbeitung im
Horizontalmodus erzeugt.
Die nach der MR- und M²R-Methode codierten Horizontalmoduscodes
werden auf dieselbe Weise wie bei der Verdichtungsverarbeitung
des MH-Codes verarbeitet, nur mit dem Unterschied,
daß der Identifiziercode des Horizontalmodus vor
dem ersten Ergänzungscode nach Maßgabe der Dateneinheit N
von der Steuereinheit 1 hinzuaddiert wird.
Die Verdichtungsverarbeitung von zweidimensionalen Codes
im Vertikal- und Durchlaßmodus ist nachstehend beschrieben.
Wenn in den Daten RDTI07-00 als Dateneinheit F a 1 nicht
festgestellt wird und auch b 1 in den Daten REF-3-10 vom
Register 96 nicht festgestellt wird, wird eine Sprungverarbeitung
ausgeführt. Dabei werden beispielsweise ein Byte
eines neuen Bilddatenmusters über die Eingabedatenschiene
eingegeben und die Bezugszeilendaten im Register 96 aktualisiert.
Wenn sowohl a 1 als auch b 1 festgestellt oder erfaßt
werden, wird die Verdichtungsverarbeitung von zweidimensionalen
Codes eingeleitet.
Die erfaßten Größen oder Einheiten a 1 und b 1 werden der
Subtrahierstufe 120 zugeführt, deren Ausgangssignal als
Dateneinheit A über den Wähler 44 zum Codierer-ROM 46
ausgegeben wird. Im Codierer-ROM 46 wird der Durchlaßmoduscode
oder der Vertikalmoduscode erzeugt, der dann
in der Trommelschiebestufe 50, im Wähler 60, im Bildzeiger
56 usw. auf dieselbe Weise wie der Horizontalmoduscode
verarbeitet wird. Zu diesem Zeitpunkt wird im Wähler 114
b 1 gewählt und dem a 0-Zeiger 100 sowie dem Decodierzeiger
36 über den Wähler 38 als Dateneinheit D zugeliefert. Die folgende
Verarbeitung entspricht derjenigen bei der Dehnungsverarbeitung.
Im Nichtverdichtungsmodus werden Daten vom Register 58
unmittelbar zum Wähler 48 geliefert und sodann durch diesen
ausgegeben. Die folgende Verarbeitung ist dieselbe wie bei
der Dehnungsverarbeitung. Die Codelänge wird dem Wähler 110
als Dateneinheit B zugeführt, und die Daten des Bildzeigers
56 werden durch die Dateneinheit B über die Addierstufe 112
und den Wähler 54 aktualisiert.