DE3744791C2 - - Google Patents

Info

Publication number
DE3744791C2
DE3744791C2 DE3744791A DE3744791A DE3744791C2 DE 3744791 C2 DE3744791 C2 DE 3744791C2 DE 3744791 A DE3744791 A DE 3744791A DE 3744791 A DE3744791 A DE 3744791A DE 3744791 C2 DE3744791 C2 DE 3744791C2
Authority
DE
Germany
Prior art keywords
data
processing
output
selector
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3744791A
Other languages
English (en)
Inventor
Fumitaka Oome Tokio/Tokyo Jp Sato
Shigekazu Akishima Tokio/Tokyo Jp Sumita
Masayoshi Oome Tokio/Tokyo Jp Murayama
Hiromichi Tokio/Tokyo Jp Tome
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Computer Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Computer Engineering Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Computer Engineering Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE3744791C2 publication Critical patent/DE3744791C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/417Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
    • H04N1/4175Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding involving the encoding of tone transitions with respect to tone transitions in a reference line
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Description

Die Erfindung betrifft einen Farbänderungsbit-Detektor für eine Binärdatenverdichtungs-Vorrichtung nach dem Oberbegriff des Patentanspruches 1. Ein solcher Detektor vermag eine Verdichtung von Binärdaten und insbesondere eine sog. parallele Pipeline-Verarbeitung der Binärdaten nach einer zweidimensionalen Codiermethode mit hoher Geschwindigkeit durchzuführen.
Für das Verdichten bzw. Dehnen von Binärdaten sind von der CCITT empfohlene Codierverfahren, wie die MH-, die MR- und die M²R-Methode, international standisiert und verbreitet im Gebrauch. Von den drei genannten Codiermethoden bietet die M²R-Methode die höchste Bildverdichtungsleistung.
Die M²R-Methode ist als Codiermethode für Gruppe-IV-Faksimilesysteme bekannt. Nach dieser Methode werden
  • a) ein Zeilenendecode (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 (Bildelemente) darstellen.
Unter diesen Voraussetzungen kann die Datenverdichtung gegenüber der MR-Methode verbessert werden.
Eine bisherige Binärdatenverdichtungs-Vorrichtung wurde in Software mit einem Mehrzweck-Mikrorechner für die Verdichtung bzw. Dehnung codierter Daten nach diesen Methoden ausgeführt. Bei dieser Verarbeitung ergibt sich kein Problem, wenn eine solche Vorrichtung auf ein Faksimilesystem angewandt wird, dessen Datenübermittlungsgeschwindigkeit auf 9600 bps (Bits/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 1/2 s oder weniger, nicht erzielt werden. Wenn daher die sequentielle Verdichtung bzw. Dehnung 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 Verarbeitungsprozeß der gesamten Vorrichtung. Insbesondere erfolgt in einer herkömmlichen Vorrichtung die Decodierung bitseriell. Zur Lösung des genannten Problems werden verbreitet Parallelverarbeitung, Vorausverarbeitung und Pipeline-Verarbeitung ausgeführt. Die Binärdatenverdichtung bzw. -dehnung läßt sich ersichtlicherweise wie folgt aufteilen:
  • a) Decodierung von Code(s)
  • b) Erzeugung von Bilddaten für den decodierten Code.
Die Decodierung von Codes und die Erzeugung von Bilddaten kann mithin mittels getrennter Hardware parallel durchgeführt werden. Bei solcher Hardware wird, während ein Code verdichtet bzw. 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 verdichtet bzw. 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-Methoden wird ein EOL-Code benutzt. Demzufolge kann ein Decodierungsteil, der die Vorausverarbeitung ausführt, den Anfang der nächsten Zeile aufgrund des Vorhandenseins einer EOL-Codes unabhängig vom Verlauf der Erzeugung von Bilddaten durch einen Erzeugungsteil 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 Erzeugungsteil 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-Decodierung unter Verwendung getrennter Codetabellen für einen weißen Lauf und einen schwarzen Lauf nicht in Vorauslaufweise eingeleitet werden. Genauer gesagt: bei der Verdichtung bzw. Dehnung nach der M²R-Methode bei einem herkömmlichen Gerät kann die Vorausverarbeitung nicht effektiv durchgeführt werden.
Wenn weiterhin eine Abweichung δ eines Punkts a1 bei der Vorausdecodierung erfaßt wird, wird die Erzeugung von Bilddaten 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 b1 abgetastet;
  • b) b1+δ=a1; und
  • c) eine Lauflänge wird durch (a1-a0=Lauflänge) berechnet, und Bilddaten werden in Übereinstimmung mit der berechneten Lauflänge erzeugt. Die Erzeugung der Bilddaten mittels der Operationen (a) bis (c) muß daher sequentiell in dieser Reihenfolge durchgeführt werden, was eine niedrige Verarbeitungsgeschwindigkeit bedingt. Zur Vermeidung dieses Problems ist es notwendig, die Operationen (a) bis (c) praktisch gleichzeitig auszuführen.
Aus der US-PS 45 58 371 sind ein Verfahren und eine Vorrichtung zum zweidimensionalen Faksimile-Codieren bekannt, wobei insbesondere die bereits erwähnte CCITT-Methode angewandt wird. Dabei muß ein Ausgangssignal entsprechend einem vorhergehenden Bilddatenbit bestimmt werden, um eine Ausgangssignal entsprechend einem vorliegenden Bilddatenbit festzulegen.
Mit anderen Worten, ein logischer Pegel des Ausgangssignales entsprechend dem vorliegenden Bilddatenbit wird gemäß logischen Pegeln von Ausgangssignalen bestimmt, die allen Bilddatenbits entsprechen, welche dem vorliegenden Bilddatenbit vorangehen.
Es ist Aufgabe der vorliegenden Erfindung, einen Farbänderungsbit-Detektor für eine Binärdatenverdichtungsvorrichtung zu schaffen, so daß zur Erhöhung der Verarbeitungsgeschwindigkeit eine Erzeugung von Bilddaten einer erfaßten Lauflänge nicht sequentiell sondern parallel durchführbar ist.
Diese Aufgabe wird bei einem Farbänderungsbit-Detektor 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 4.
Es wird die Position des Punkts b1 in Bilddaten auf einer Bezugszeile erfaßt, und die zu erzeugenden Bilddaten werden parallel damit verarbeitet, wodurch die Verarbeitungsgeschwindigkeit erhöht wird.
Im folgenden ist eine bevorzugte Ausführungsform der Erfindung anhand der Zeichnung näher erläutert. Es zeigt
Fig. 1 ein Blockschaltbild einer Binärdatenverdichtungsvorrichtung,
Fig. 2 ein Blockschaltbild eines Decodierteils und eines Codierendeverarbeitungsteils eines Decodierverarbeitungsteils gemäß Fig. 1,
Fig. 3 ein Blockschaltbild eines Zählerteils und eines Erzeugungsteils eines Erzeugungsverarbeitungsteils gemäß Fig. 1,
Fig. 4 ein Blockschaltbild eines Bezugszeilenadreßgenerators und eines EOL-Detektors im Decodierverarbeitungsteil nach Fig. 1,
Fig. 5 ein Blockschaltbild eines a1b1-Detektors des Erzeugungsverarbeitungsteils nach Fig. 1,
Fig. 6 ein detailliertes Schaltbild eines b1-Detektors gemäß Fig. 5 und
Fig. 7A bis 7D graphische Darstellungen der Zustände von Bilddaten einer Bezugszeile und einer Erzeugungsverarbeitungszeile bei der Verdichtungs- bzw. Dehnungsverarbeitung.
Im folgenden ist zunächst eine Binärdatenverdichtungsvorrichtung anhand von 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 eine 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 Decodierverarbeitungsteil 7 zum Erzeugen von Lauflängendaten, wenn die eingegebenen Binärdaten ein Code sind, und einen Erzeugungsverarbeitungsteil 8 zum Erzeugen von Binärbildmusterdaten, die nach Maßgabe der Lauflängedaten verarbeitet werden.
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 nach Maßgabe von Daten vom Zählerteil 14 verarbeiteten Binärdaten sowie einen a1b1-Detektor 16 zum Erfassen von Punkten a1 und b1.
Die Steuereinheit 1 ist mit einem Taktgenerator 5 zum Erzeugen von Steuer-Taktsignalen verbunden, und sie steuert die Operationstakte des Decodierverarbeitungsteils 7, des Erzeugungsverarbeitungsteils 8 und des Bezugszeilenadreßgenerators 3 nach Maßgabe von Taktsignalen vom Generator 5, und sie gibt ferner die nötigen 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 Steuersignale in den Figuren nicht dargestellt sind.
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 Veriegelungsglied 22 eingegeben und durch diese 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 (niedrigstwertiges Bit) eines zu decodierenden Codes oder einen Teil des Codes an, der als nächster aus den der Trichterschiebestufe 30 eingegebenen Registerdaten RDTI15-00 ausgesiebt 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 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änderung- 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 a1b1-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 8 sind nachstehend anhand von Fig. 3 im einzelnen beschrieben. Der Zählerteil 14 umfaßt 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-Bitschnitt 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 nach Maßgabe eines Steuersignals von der Steuereinheit 1. Unter Heranziehen 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 bzw. den Zählstand als Daten B zum Wähler 44 und zum a1b1-Detektor 16 aus.
Das Ausgangssignal vom RL-Zähler 40 wird auch als Daten M zur Steuereinheit 1 ausgegeben, um zu bestätigen, ob die Zahl der durch den decodierten Code bestimmten Verarbeitungsoperation 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 a1b1-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 einer Dehnungs- oder Verdichtungverarbeitung, 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 zum Wähler 48 aus.
Von den Daten EROM07-00 werden die Daten DROM07-05 zu einer Addierstufe geliefert. Eine durch die Addierstufe 52, den 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 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" ist, wird dies der Steuereinheit 1 mittels der Daten 0 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 zum 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 den 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 Daten 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 auf eine Ausgabedatenschiene ausgegeben.
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 Einzelverarbeitung 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 die 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 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-Puffer-RAM 94 abzuspeichern.
Wie aus der vorstehenden Beschreibung hervorgeht, wählt der Wähler 86 beim Auslesen von Bezugszeilendaten die Ausgabedaten von der Addierstufe 84, während er bei Speicherung der Bezugszeilendaten die Ausgabedaten vom Adreßzähler 84 wählt, um sie auszugeben.
Wenn zu Beginn der Verarbeitung für eine neue Zeile Bezugszeilendaten ausgelsen 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 b1-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 a1b1-Detektors 16 des Erzeugungsverarbeitungsteils 8 ist nachstehend anhand von Fig. 5 erläutert. Der a1b1-Detektor 16 wird häufig in einem Vertikalmodus und einem Durchlaßmodus in einem zweidimensionalen Modus benutzt.
Die aus dem Bezugszeilen-Puffer RAM 94 ausgelsenen 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 b1-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 b1-Punkts zur Steuereinheit 1 mittels Daten A2. Der a1-Detektor 104 nimmt Daten F vom Codierendeverarbeitungsteil 28 ab. Die b1- und a1-Detektoren 102 bzw. 104 nehmen eine Anzeigegröße vom a0-Zeiger RBPA 100 ab und erfassen jeweils Positionen a1 bzw. b1 von Pixels mit Änderungen auf einer Codierzeile und einer Bezugszeile an der rechten Seite des Punkts a0, d. h. vor dem Punkt a0 in Verarbeitungsrichtung, am Register 96. Die durch den b1-Detektor 102 erfaßte Position b1 wird zur Subtrahierstufe 120 und zum Wähler 108 geliefert. Im Zusammenhang mit dem Register 96 wird "+4" zur Position b1 addiert.
Die durch den a1-Detektor 104 erfaßte Position a1 wird den Wählern 116 und 114 zugeführt. Der Wähler 116 wählt die Ausgabedaten aus den Daten vom a1-Detektor 104 oder den Daten "+4" von der Steuereinheit 1 und gibt die gewählten Daten zur Subtrahierstufe 120 aus. Letztere gibt ihr Rechenergebnis als Daten A zum Erzeugungsverarbeitungsteil 8 aus.
Der Wähler 108 empfängt die Anzeigegröße vom a0-Zeiger 100 und das Ausgangssignal b1 vom b1-Detektor 102. Der Wähler 110 empfängt Daten "-4" von der Steuereinheit 1 und Daten B, als Ausgabe RLCNT von 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 112 aus, welche ihrerseits die Summe zum Wähler 112 ausgibt.
Der Wähler 114 nimmt auch das Erfassungsergebnis a1 vom a1-Detektor 104, die Anzeigegröße vom a0-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 Daten C und dem Decodierverarbeitungsteil 7 als Daten D zugeliefert. Das Ausgangssignal vom Wähler 114 wird auch durch den a0-Zeiger RBPA 100 als Anzeigegröße verriegelt. Die Anzeigegröße vom a0-Zeiger 100 wird durch dem 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 Datenverarbeitungsformats 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 b1-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 a0 in Verarbeitungsrichtung wird "1" als Maskenmuster geliefert. Die dem b1-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 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 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 b1 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 b1 erfaßt werden.
Im folgenden ist die Arbeitsweise der Binärdatenverdichtungsvorrichtung 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 ausgelsen, um sie 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 Größe im a0-Zeiger 100 gesetzt wird. Die Farbe wird daher zwangsweise aus "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 bzw. 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 auszusiebenden Codes 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 zum 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 abgeschlossen 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 abgewertet 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 beim bisherigen Gerät 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ßmodi 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 a1b1-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 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 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 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änzungscodes beträgt 8 Bytes oder mehr, und er wird in Einheiten von Bytes verarbeitet. Da mit der obigen Operation eine Einbyte-Datenverarbeitung vollständig durchgeführt 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 das 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 a0 des a0-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, wird 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, verarbeiten. 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 a1b1-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 a0 vom a0-Zeiger (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 oder gesetzt. Gleichzeitig werden in der das Register 62 enthaltenden Datenhalteschleife Einbyte-Bilddaten, die den Punkt a0 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 a0 in den Bytedaten wird in den a1-Zeiger 100 und den Bildzeiger 56 geladen. Das dritte Bit des a0-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 bzw. welchen die Bitposition des Punkts a0 enthalten ist. Nachstehend ist die Dehnungsverarbeitung eines VL(2)-Codes beschrieben, wobei der Punkt a0 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 b1, durch den in Fig. 6 dargestellten b1-Detektor 102 gewonnen oder abgeleitet. In dem in Fig. 7A gezeigten Fall für die Bezugszeile entspricht der Punkt b1 dem achten Bit. Infolgedessen gibt der b1-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 b1-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. Diese Ausgangssignal wird durch den Wähler 114 gewählt und im a0-Zeiger 100 gesetzt.
Dies bedeutet insbesondere, daß ein Farbänderungspunkt auf der augenblicklich oder aktueller Verarbeitungszeile, d. h. der Punkt a1, dem sechsten Bit des betreffenden Bytes entspricht. Während der Punkt b1 erfaßt und der Punkt a1 berechnet werden, erzeugt 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 a0-Zeiger 100 angezeigten Bitposition, und er wählt Daten von der Trommelschiebestufe 50 als Daten von der durch den a0-Zeiger angezeigten Bit-Position bis zum siebten Bit. Hierbei werden die Daten vom a0-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 rückgekoppelt und in einen Datenabschnitt an der linken Seite des Punkts a0 geladen, während neue Bilddaten als Datenabschnitt vom Punkt a0 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 a1 als Punkt a0 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 aufgeschaltete, 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 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 a0-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 a0, a1 und b1 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 a1 gemäß Fig. 7A als Punkt a0, während der Punkt b1 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 a0-Zeigers (RBPA) 100 und des Bildzeigers (RBPQ) 54 jeweils "6". Dies bedeutet, daß das sechste Bit der Daten RODT07-00 des Registers 62 dem Punkt a0 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 b1 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 b1 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 a1 bezeichneten Punkt aus nach rechts erzeugt. Der Inhalt an der linken Seite eines durch den a0-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 Bezugszeilenpufer 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 REF4--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 a0-Zeigers 100 substrahiert. Dies bedeutet, daß der Punkt a0 in bezug auf die Daten REF um ein Byte nach links verschoben wird. Das Bit an der linken Seite des Bits -4 ist im b1-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 a0-Daten im Abschnitt REF11--4 (bzw. -4) ist, kann der Punkt b1 erfaßt werden.
Der Wähler 114 empfängt den Inhalt des a0-Zeiger (RBPA) 100 und berechnet "a0-8". Der Wähler 114 liefert selektiv das Rechenergebnis zum a0-Zeiger 100. Da der Inhalt der a0-Zeiger 100 gleich 6 ist, ergibt sich -2, und -2 wird in den a0-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 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 b1 nicht erfaßt wird und die Bilderzeugung für ein weiteres Byte andauert. Am Ende dieses Verarbeitungsschritts wird der 6-Bit-"1"-Datenschnitt, 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 a0-Zeiger 100 eingegeben, und zwar auf dieselbe Weise, wie oben beschrieben. Das Ergebnis ist in Fig. 7D dargestellt. Im nächsten Verarbeitungsschritt wird der Punkt b1 am 6. Bit erfaßt. Aus dem b1-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 a0-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 oder Feststellung des Punkts b1 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 Bilddaten vom Punkt a0 zum Punkt b1 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 b1-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 b1 gemäß Fig. 7A zum Punkt b1 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 a1-Detektor 104 ausgegeben, und es werden Daten 320 (2560 ÷ 8) im RL-Zähler 42 vorgegeben. Der durch den a1-Detektor 104 erfaßte a1-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 oder Durchlauf 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 dieselben 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 und ein Byte nach links verschoben. Neue Bezugszeilendaten werden aus dem Speicherteil 4 ausgelesen, zum Register 96 ausgegeben und als Daten 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 a1-Detektor 104 ein Farbänderungspunkt a1 festgestellt wird, d. h. wenn der Inhalt der Daten LSHT08-00 nicht "00000000" oder "11111111" beträgt, wird das Zählergebnis bzw. 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 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-05 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 dies vorstehend beschrieben ist, 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änzungscode 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 der 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 a1 nicht festgestellt wird und auch b1 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 a1 als auch b1 erfaßt werden, wird die Verdichtungsverarbeitung von zweidimensionalen Codes eingeleitet.
Die erfaßten Größen a1 und b1 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 b1 gewählt und dem a0-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.

Claims (4)

1. Farbänderungsbit-Detektor für eine Binärdatenverdichtungsvorrichtung, der Farbänderungsbits parallel mit hoher Geschwindigkeit zu erfassen vermag und aus Gatterschaltungen aufgebaut ist, dadurch gekennzeichnet, daß
  • - n Inverter (210) untere n Bits von (n+1) Bits eingangsseitiger Bilddaten invertieren, und
  • - n NAND-Gatter (211) jeweils NAND-Verknüpfungen an den invertierten Bits und den oberen n Bits der eingangsseitigen Bilddaten zur Gewinnung der Farbänderungsbits vornehmen.
2. Detektor nach Anspruch 1, dadurch gekennzeichnet, daß die n NAND-Gatter die NAND-Verknüpfungen der invertierten Bits, der oberen n Bits der eingangsseitigen Bilddaten und von Eingangsmaskendaten vornehmen.
3. Detektor nach Anspruch 1 oder 2, gekennzeichnet durch eine Farbmodulationseinrichtung (208) zum Modulieren von Bits der eingangsseitigen Bilddaten gemäß eingespeisten Farbsteuerdaten.
4. Detektor nach Anspruch 3, dadurch gekennzeichnet, daß die Farbmodulationseinrichtung (208) n exklusive ODER-Gatter hat, die jeweils eine exklusive ODER-Operation eines entsprechenden Bits und der Farbsteuerdaten durchführen.
DE3744791A 1986-07-30 1987-02-27 Expired - Lifetime DE3744791C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17771286 1986-07-30

Publications (1)

Publication Number Publication Date
DE3744791C2 true DE3744791C2 (de) 1992-01-09

Family

ID=16035789

Family Applications (2)

Application Number Title Priority Date Filing Date
DE3744791A Expired - Lifetime DE3744791C2 (de) 1986-07-30 1987-02-27
DE19873706470 Granted DE3706470A1 (de) 1986-07-30 1987-02-27 Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE19873706470 Granted DE3706470A1 (de) 1986-07-30 1987-02-27 Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet

Country Status (3)

Country Link
US (1) US4760459A (de)
KR (1) KR910001072B1 (de)
DE (2) DE3744791C2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3650764T2 (de) * 1985-12-13 2002-07-11 Canon Kk Bildverarbeitungsgerät
US4800441A (en) * 1986-02-28 1989-01-24 Kabushiki Kaisha Toshiba Binary data compression and expansion processing apparatus
JPS63138881A (ja) * 1986-11-29 1988-06-10 Hitachi Ltd Mr符号伸長装置
US4839738A (en) * 1987-04-22 1989-06-13 Advanced Micro Devices, Inc. Apparatus for decoding facsimile coded data to image data with coding and reference line windowing and color change detection
JPS6423372A (en) * 1987-07-20 1989-01-26 Dainippon Screen Mfg Picture signal processor
JP2766302B2 (ja) * 1989-04-06 1998-06-18 株式会社東芝 可変長符号並列解読方法および装置
CZ289508B6 (cs) * 1995-02-03 2002-02-13 Koninklijke Philips Electronics N. V. Způsob a zařízení pro vytváření kódovaného obrazového signálu a zařízení pro zobrazování obrazového signálu
JP3100304B2 (ja) * 1995-03-08 2000-10-16 キヤノン株式会社 ドットパターン発生装置およびドットパターン発生方法
US6097429A (en) * 1997-08-01 2000-08-01 Esco Electronics Corporation Site control unit for video security system
GB9806767D0 (en) 1998-03-31 1998-05-27 Philips Electronics Nv Pixel colour valve encoding and decoding
JP2004334295A (ja) * 2003-04-30 2004-11-25 Yamaha Corp 記憶装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558371A (en) * 1983-08-19 1985-12-10 Advanced Micro Devices, Inc. Method and device for two-dimensional facsimile coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4052699A (en) * 1976-06-30 1977-10-04 International Business Machines Corporation High speed real time image transformation
FR2430139A1 (fr) * 1978-06-28 1980-01-25 Labo Electronique Physique Dispositif de compression de signaux binaires et systeme de transmission codee de fac-similes equipe de ce dispositif
US4562484A (en) * 1983-08-19 1985-12-31 Advanced Micro Devices, Inc. Method and device for decoding two-dimensional facsimile signals
US4542413A (en) * 1983-08-19 1985-09-17 Advanced Micro Devices, Inc. Facsimile device for run length coding
JPS60114088A (ja) * 1983-11-22 1985-06-20 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション G2モードの伝送方法
EP0149124B1 (de) * 1984-01-16 1990-10-31 International Business Machines Corporation Verfahren zum Kodieren und Dekodieren eines digitalen Bildes
JPS61102872A (ja) * 1984-10-24 1986-05-21 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 2レベル・イメ−ジ・デ−タの処理方法
DE3545467A1 (de) * 1984-12-20 1986-07-10 Ricoh Co., Ltd., Tokio/Tokyo Digitalkopierer
US4719514A (en) * 1985-03-01 1988-01-12 Canon Kabushiki Kaisha Method and apparatus for image transmission

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558371A (en) * 1983-08-19 1985-12-10 Advanced Micro Devices, Inc. Method and device for two-dimensional facsimile coding

Also Published As

Publication number Publication date
KR880002075A (ko) 1988-04-29
US4760459A (en) 1988-07-26
DE3706470A1 (de) 1988-02-11
DE3706470C2 (de) 1990-06-21
KR910001072B1 (ko) 1991-02-23

Similar Documents

Publication Publication Date Title
DE3711200C2 (de)
DE3711201C2 (de)
DE3744791C2 (de)
DE3036769C1 (de) Vorrichtung und Verfahren zum Codieren eines Videosignals
DE3636675A1 (de) Kodierverfahren und -einrichtung
DE2508706A1 (de) Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis
DE3038195C2 (de) Vorrichtung zur Verarbeitung von visueller Information
DE2728889C3 (de) Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals
DE2558264C3 (de) Verfahren zur Verdichtung binärer Bilddaten
DE3246432C2 (de)
DE60009502T2 (de) Lzw datenkomprimierung/dekomprimierungsgerät und - verfahren mit eingebetteter lauflängenkodierung/dekodierung
DE3416795A1 (de) Bilddaten-kompressionssystem
DE2227975A1 (de) Vorrichtung und verfahren zum verschluesseln von binaersignalen
DE3811396C2 (de)
DE3406624C2 (de)
DE60002218T2 (de) Lzw datenkomprimierungsgerät und -verfahren, mit anwendung von mathematischer vorhersage von lauflängenverarbeitung
DE2414239C3 (de) Verfahren und Vorrichtung zum Komprimieren einer binären Informationsfolge
DE2826454C3 (de) Faksimilesignal-Codiersystem
DE3305709A1 (de) Verfahren zur steuerung der lichtemissionsintensitaet in einer kurvenschreibervorrichtung und vorrichtung zur durchfuehrung des verfahrens
DE3502317A1 (de) Verfahren zur bildfehlerkorrektur
DE3417262C2 (de)
DE60008871T2 (de) Datenkomprimierungsverfahren und vorrichtung mit eingebetteter lauflängenkodierung unter benutzung von mathematischer laufverarbeitung
DE19615490A1 (de) Verfahren zur fraktalen Bildkodierung sowie Anordnung zur Durchführung des Verfahrens
EP0427884B1 (de) Verfahren und Anordnung zum Komprimieren und Dekomprimieren von Daten
DE1599080C3 (de) Zahlendarstellungseinnchtung zur Anzeige einer mehrstelligen Zahl

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 3706470

8110 Request for examination paragraph 44
AC Divided out of

Ref country code: DE

Ref document number: 3706470

Format of ref document f/p: P

AC Divided out of

Ref country code: DE

Ref document number: 3706470

Format of ref document f/p: P

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