DE3855306T2 - Vorrichtung zur zweidimensionalen Codierung von Bilddaten in faksimilecodierten Daten - Google Patents

Vorrichtung zur zweidimensionalen Codierung von Bilddaten in faksimilecodierten Daten

Info

Publication number
DE3855306T2
DE3855306T2 DE3855306T DE3855306T DE3855306T2 DE 3855306 T2 DE3855306 T2 DE 3855306T2 DE 3855306 T DE3855306 T DE 3855306T DE 3855306 T DE3855306 T DE 3855306T DE 3855306 T2 DE3855306 T2 DE 3855306T2
Authority
DE
Germany
Prior art keywords
line
window
code
coding
data
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 - Fee Related
Application number
DE3855306T
Other languages
English (en)
Other versions
DE3855306D1 (de
Inventor
Shinkyo Kaku
Chung-Li Yu
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE3855306D1 publication Critical patent/DE3855306D1/de
Publication of DE3855306T2 publication Critical patent/DE3855306T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/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

Landscapes

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

Description

  • Die Erfindung betrifft eine Kodiervorrichtung zum Verdichten digitaler Faksimiles graphischer Bilder zwecks digitaler Kommunikation oder Speicherung.
  • Bei zahlreichen Typen von Systemen zur Verarbeitung graphischer Bilder ergibt sich die Notwendigkeit einer Datenverdichtung. Zu derartigen Systemen gehören digitale Faksimilegeräte, Electronic-Mail-Systeme, Digital-Kopierer, graphische Arbeitsstationen sowie Speicher- und Wiederauffindungsssysteme. Somit tritt in zahlreichen Umgebungen das Problem auf, daß Daten, die ein graphisches Bild repräsentieren, kodiert werden müssen, um sie zu verdichten.
  • Bei dem digitalen Faksimilesystem, in dem die bevorzugte Ausführungsform der Erfindung implementiert wird, handelt es sich um ein Informationskommunikationsgerät, mittels dessen Bildinformation über eine Kommunikationsverbindung wie z.B. eine Telefonleitung von einer Stelle zu einer anderen Stelle übermittelt wird. Typischerweise erzeugt bei Faksimilesystemen ein Scanner ein Faksimile eines graphischen Bildes, indem er das Originalbild, z.B. ein Dokument, auf zeilenweiser Basis abtastet, wobei jede Zeile eine große Anzahl von Bildelementen enthält. Anschließend wird das erzeugte Faksimile entweder durch ein eindimensionales oder durch ein zweidimensionales Kodierschema kodiert, um die Bilddaten zu verdichten und somit die Bandbreite oder Transmissionszeit zum Übertragen des Faksimiles zu reduzieren. Dann werden die verdichteten Daten über Kommunikationsverbindungen zu entfernt angeordneten Faksimilegeräten übermittelt. Das entfernt angeordneten Faksimilegerät dekodiert die verdichteten Daten, um das Faksimile zu erzeugen, und gibt das Original-Graphikbild wieder.
  • Eindimensionale Kodierschemata basieren auf der Korrelation von Bildelementen entlang einer gegebenen Abtastlinie in der horizontalen Richtung, während zweidimensionale Kodierschemata zusätzlich zu der horizontalen Korrelation auf einer vertikalen Korrelation zwischen aufeinanderfolgenden Abtastlinien basieren. Sowohl die eindimensionalen als auch die zweidimensionalen Schemata sind durch das International Telegraph and Telephone Consultative Committee (CCITT) standardisiert worden. Die in den Empfehlungen T.4 und T.6 aufgeführten Standards definieren ein Standard-Kodierschema für Faksimilegeräte der Gruppe 3 und der Gruppe 4. Durch die Empfehlungen des CCITT ist es ermöglicht worden, die zur Kommunikation kodierter Faksimiledaten vorgesehenen Geräte verschiedener Hersteller miteinander kompatibel zu machen.
  • Bei den Geräten der CCITT-Gruppe 3 wird ein modifiziertes Huffman(MH)-Kodierschema zur eindimensionalen Kodierung und ein modifiziertes Relativ-Element-Adress-Bezeichnungs(MR)- Kodierschema zur zweidimensionalen Kodierung verwendet. Bei den Geräten der CCITT-Gruppe 4 wird ein modifiziertes MR(MMR)- Kodierschema zur zweidimensionalen Kodierung verwendet. Bei dem zur eindimensionalen MH-Kodierung vorgesehenen Verfahren werden Huffman-Codes für die Lauf-Länge der schwarzen oder weißen Bildelemente (PELs) verwendet.
  • Mit dem zur zweidimensionalen Kodierung vorgesehenen Verfahren wird das Bild kodiert, indem nicht nur die Information zu der aktuellen Zeile, sondern auch die Information zur der vorherigen Zeile verwendet wird. Dieses Verfahren ist ein Verfahren zur zeilenweisen Kodierung, bei dem die Position jedes sich verändernden PEL auf der Kodierzeile in bezug auf die Position eines entsprechenden Referenz-PEL kodiert wird, das entweder auf der Kodierzeile oder einer Referenzzeile liegt. Auf der Basis der relativen Position der sich verändernden PELs sind in den CCITT-Standards drei Kodierungsmodi definiert: Passier- Modus, Vertikal-Modus und Horizontal-Modus.
  • Für die zweidimensionale Kodierung gibt der CCITT-Standard fünf Farbveränderungslemente an, und zwar a0, a1, a2, b1 und b2, bei denen es sich um Elemente handelt, deren "Farbe" sich von derjenigen des vorherigen angrenzenden Elementes entlang derselben Abtastlinie unterscheidet. Das Element a0 ist das Referenz- oder Startelement auf der Kodierzeile. Beim Start der Kodierzeile wird a0 auf ein imaginäres weißes Veränderungselement gesetzt, daß unmittelbar vor dem ersten Element auf der Zeile angeordnet ist. Während des Kodierens der Kodierzeile wird die Position von a0 durch den vorherigen Kodierungsmodus definiert. Das Element a1 ist das nächste Veränderungselement rechts von a0 auf der Kodierzeile. Das Element a2 ist das nächste Veränderungselement rechts von a1 auf der Kodierzeile. Das Element b1 ist das erste Veränderungselement auf der Referenzzeile rechts von a0 und weist die dem Element a0 entgegengesetzte Farbe auf. Das Element b2 ist das nächste Veränderungselement rechts von b1 auf der Referenzzeile.
  • Der Passier-Modus wird identifiziert, wenn die Position von b2 links von a1 liegt. Wenn dieser Modus kodiert worden ist, wird das direkt unter b2 angeordnete Bildelement als das neue Start-Bildelement a0 für die nächste Kodierung betrachtet. Der Zustand, in dem b2 unmittelbar über a1 auftritt, wird jedoch nicht als Passier-Modus angesehen. Falls es sich nicht um einen Passier-Modus handelt und der relative Abstand von albl kleiner als oder gleich drei ist, dann wird ein Vertikallauf- Modus identifiziert. Der relative Abstand albl kann einen von sieben Werten V(0), VR(1), VR(2), VR(3), VL(1), VL(2) und VL(3), von denen jeder durch ein separates Code-Wort repräsentiert wird. Nachdem der Vertikal-Modus kodiert worden ist, wird die Position a1 als neues Start-Bildelement a0 für die nächste Kodierung betrachtet. Auch wenn es sich nicht um einen Passier-Modus handelt und der relative Abstand von a1b1 größer als drei ist, wird ein Horizontal-Modus identifiziert. Wenn dieser Modus identifiziert ist, werden beiden Lauf-Längen a0a1 und a1a2 mittels der Code-Wörter H + M(a0a1) + M(ala2) kodiert, wobei M(X) ein Standard-Lauflängen-Code ist. Nachdem der Horizontal-Modus kodiert worden ist, wird die Position a2 als neues Start-Bildelement a0 für die nächste Kodierung betrachtet.
  • Beim Stand der Technik werden Bilddaten in kodierte Daten umgesetzt, in dem jedes Mal ein logisches Eins-Bit oder PEL kodiert wird. Diese Verarbeitung von Daten, bei der jedes Mal nur ein Bit umgesetzt wird, stellt ein Hindernis für eine Hochgeschwindigkeitsoperation dar. Beispielsweise ist gemäß dem US-Pat. US-A-4,509,194, erteilt am 2. Apr. 1985 an John A. Harrington, eine Zustandsmaschine derart konzipiert, daß sie serielle binäre Information mit einer Rate von einem Bit pro Zeitpunkt empfängt. Die Farbveränderung in der binären Bildinformation wird von der Zustandsmaschine detektiert. Da die Eingangsdaten die binäre Bildinformation sind, ist die Information, die in jedem Zustand der Zustandsmaschine aufgenommen werden kann, sehr beschränkt; z.B. wird in jedem Zustand dieser Zustandsmaschine nur die Information dreier vorheriger Bildelemente aufgenommen. Zudem basiert der Zustandsübergang der Zustandsmaschine auf den Zeilen-Bilddaten mit einer Kodierung von einem Bit pro Zyklus.
  • Die meisten der Kodierungsschemata gemäß dem Stand der Technik, bei denen der Standard der CCITT-Gruppe 3 implementiert wird, verlangen die Detektion der Farbveränderungselemente a1, a2, b1 und b2, die Berechnung der Distanz zwischen a1-b1, a0- a1 und a1-a2, und den Vergleich von a1 mit b2 für den Passier- Modus und a1 mit b0 zum Bestimmen des nächsten b1 in dem VL- Modus. Beispielsweise sind in dem US-Pat. US-A-4,245,257, erteilt am 13. Jan. 1981 an Y. Yamazaki et a1. die Berechnung des Abstandes a0-a1, a1-b1, b2-a2 und die Detektion von a1, a2, b1 und b2 erforderlich. Diese Erfordernisse führen zu einem extrem komplizierten Logik-Design. Um eine Hochgeschwindigkeits-Kodierung zu erzielen, werden Mehrfach-ALUs benötigt, um diese Operationen pipeline-artig oder parallel durchzuführen. Falls das Kodierungsschema eine einzige ALU aufweist und durch einen Mikrocode oder eine Zustandsmaschine gesteuert wird, müssen diese Akkumulations-, Vergleichs- und Berechnungsoperationen seriell durchgeführt werden, so daß die Gesamtleistung beträchtlich begrenzt ist.
  • Beim Stand der Technik werden sämtliche Farbveränderungselemente a0, a1, a2, b1 und b2 am Beginn jeder Abtastzeile auf einen Referenzpunkt bezogen. Aus diesem Grund ist beim Stand der Technik mindestens eine ALU zum Akkumulieren der Farbveränderungs-Lauflängen erforderlich, um das nächste Farbveränderungselement zu erhalten. Ein Beispiel für ein System, das auf der Akkumulation von Lauf-Längen von Farbelementen vor den Farbveränderungs-Bildelementen basiert, ist beschrieben in dem US-Patent US-A-4,558,371 mit dem Titel METHOD AND DEVICE FOR TWO-DIMENSIONAL FACSIMILE CODING der Erfinder Krishna Rallapalli und Shinkyo Kaku, erteilt am 10. Dez. 1985.
  • Gemäß der Erfindung ist eine Vorrichtung zum Kodieren eines Faksimiles eines graphischen Bildes vorgesehen, bei der das Faksimile durch mehrere Abtastzeilen repräsentiert ist, jede Abtastzeile durch eine Anzahl n von Bildelementen repräsentiert ist und jedes Bildelement durch Pixel-Daten gekennzeichnet ist, die eine Farbe des Bildelementes angeben, und die versehen ist mit:
  • einer Fenstereinrichtung, die derart geschaltet ist, daß sie Bildelemente kennzeichnende Pixel-Daten aus einer Kodierzeile und aus einer Referenzzeile des Faksimiles empfängt und auf Fenstersteuersignale reagiert, um aus der betreffenden Kodierzeile und der Referenzzeile ein Fenster mit N Bildelementdaten zu wählen, wobei N< n gilt;
  • einer Einrichtung zum Erzeugen kodierter Signale, die die Position eines ersten Farbveränderungs-Bildelementes in jedem der betreffenden Fenster angeben;
  • einer Einrichtung, die auf die kodierten Signale reagiert, um ein Signal zu erzeugen, das die Relativposition des ersten Farbveränderungs-Bildelementes in der Kodierzeile im Vergleich zu dem ersten Farbänderungs-Bildelement in der Referenzzeile angibt, und
  • einer Einrichtung, die auf das Signal reagiert, das die Differenz zwischen der Position des ersten Farbänderungs-Bildelementes in der Kodierzeile und dem ersten Farbänderungs-Bildelement in der Referenzzeile angibt, und zwar in Bezug auf den Beginn der betreffenden Fenster, um:
  • (a) die Fensterverschiebungssteuersignale zum Verschieben des Beginns des Fensters von Daten derart zu erzeugen, daß der Beginn des nächsten Fensters auf der Kodierungszeile und der Referenzzeile relativ zu der Position eines der ersten Farbveränderungs-Bildelemente positioniert wird; und
  • (b) ein die abgetasteten Daten repräsentierendes Zwischen- Code-Ausgangssignal zu erzeugen, wobei das Zwischen-Code- Signal an die Kodiereinrichtung zum Kodieren des Faksimiles übermittelt wird.
  • Die zum Kodieren des Faksimile vorgesehene Kodiereinrichtung ist vorzugsweise als Tabellen-Nachschlagemechanismus implementiert, der durch die Zwischen-Codes adressierbar ist, um den geeigneten internationalen Standard-Code verfügbar zu machen.
  • Die Figuren sind lediglich als Beispiele zu verstehen.
  • Fig. 1 zeigt ein Blockschaltbild einer Kodiervorrichtung gemäß der Erfindung.
  • Fign. 2A bis 2C
  • zeigen ein detailliertes Blockschaltbild der Verdichtungseinheit der in Fig. 1 gezeigten Kodiervorrichtung.
  • Fig. 3 zeigt ein detailliertes Blockschaltbild des Farbveränderungsdetektors (CUCCD oder RUCCD) in der in Fig. 2 gezeigten Verdichtungseinheit.
  • Fig. 4 zeigt ein Logik-Diagramm der Kodier-Logik in dem in Fig. 3 gezeigten Farbveränderungsdetektor.
  • Fig. 5 zeigt ein detailliertes Blockschaltbild des Ausgangsdatengenerators der in Fig. 1 gezeigten Verdichtungseinheit.
  • Fign. 6A bis 6H zeigen Diagramme von Fenstern von Pixel-Daten zur Erläuterung der Arbeitsweise der in Fig. 2 gezeigten Zustandsmaschine (PLA) im Zusammenhang mit Tabelle 2 in der Beschreibung.
  • Fign. 7A bis 7G zeigen Diagramme von Fenstern von Pixel-Daten zur Erläuterung der Arbeitsweise der in Fig. 2 gezeigten Zustandsmaschine (PLA) im Zusammenhang mit Tabelle 2 in der Beschreibung.
  • Fign. 8A bis 8E zeigen Diagramme von Fenstern von Pixel-Daten zur Erläuterung der Arbeitsweise der in Fig. 2 gezeigten Zustandsmaschine (PLA) im Zusammenhang mit Tabelle 2 in der Beschreibung.
  • Fign. 9A bis 9E zeigen Diagramme von Fenstern von Pixel-Daten zur Erläuterung der Arbeitsweise der in Fig. 2 gezeigten Zustandsmaschine (PLA) im Zusammenhang mit Tabelle 2 in der Beschreibung.
  • Fign. 10A bis 10E zeigen Diagramme von Fenstern von Pixel-Daten zur Erläuterung der Arbeitsweise der in Fig. 2 gezeigten Zustandsmaschine (PLA) im Zusammenhang mit Tabelle 2 in der Beschreibung.
  • Fign. 11a, 11b und 11c zeigen Flußdiagramme zur Veranschaulichung des normalen Betriebes der Verdichtungseinheit gemäß der Erfindung.
  • Fig. 12 zeigt ein Flußdiagramm zur Veranschaulichung der Kodierung eines letzten Wortes von Pixel-Daten in einer Abtastzeile.
  • Eine detaillierte Beschreibung der bevorzugten Implementierung der Erfindung erfolgt anhand Fign. 1-5. Die Arbeitsweise der bevorzugten Implementierung wird anhand Fign. 6-12 und der in der Beschreibung enthaltenen Logik-Tabellen erläutert.
  • I. Überblick über das Kodiersystem
  • Fig. 1 zeigt ein Blockschaltbild einer Kodiervorrichtung 10 gemäß der Erfindung. Die Vorrichtung 10 enthält einen Source- Bus 11, auf dem Zeilen von Pixel-Daten, die ein Faksimile eines graphischen Bildes charakterisieren, zugeführt werden. Die Pixel-Daten werden von dem Source-Bus 11 zu einem Source- First-in-first-out(FIFO)-Puffer 12 ausgegeben. Von dem Source- FIFO-Puffer 12 werden die Pixel-Daten über die Leitung 13 an eine Verdichtungs-/Expansions-Einheit 14 übermittelt. Die verdichtungs-/Expansions-Einheit 14 kommuniziert über die Leitungen 15 und 16 mit einem Expansions-Dekodier-ROM 17 in Verbindung. Die Expansions-Einheit und das Expansions-Dekodier-ROM sind für die Erfindung nicht wichtig und werden hier nicht eingehender erläutert. Wie auf dem Gebiet bekannt ist, würde ein komplettes System für die Faksimile-Kodierung und - Dekodierung die Expansions-Einheit und das Expansions-Dekodier-ROM enthalten.
  • An der Leitung 18, die zu einem Zwischen-FIFO-Puffer 19 führt, ist ein Zwischen-Code-Ausgang der Verdichtungs-/Expansions- Einheit 14 vorgesehen. Ferner übermittelt die Verdichtungs- /Expansions-Einheit über die Leitung 20 ein Referenz-Ausgangssignal an einen Referenz-Ausgangs-FIFO-Puffer 21. Der Referenz-Ausgangs-FIFO-Puffer übermittelt Referenzzeilen über die Leitung 22 einem Zeilen-Puffer 23 zu. Der Zeilen-Puffer ist über die Leitung 25 mit einem Referenz-Eingangs-FIFO-Puffer 24 verbunden. Der Referenz-Eingangs-FIFO-Puffer 24 übermittelt der Verdichtungs-/Expansions-Einheit 14 über die Leitung 26 Referenzzeilen-Pixeldaten, die bei der Erzeugung des Zwischen- Code-Ausgangssignals auf der Leitung 18 verwendet werden.
  • Das auf der Leitung 18 geführte Ausgangssignal, das über den Zwischen-FIFO-Puffer 19 geführt wird, wird auf der Leitung 27 an einen Datenausgangssignal-Generator 28 übermittelt. Der Datenausgangssignal-Generator 28 erhält als Reaktion auf die Zwischen-Codes über die Leitungen 29 und 30 Codes von einem Verdichtungs-Code-ROM 31. Ferner verkettet der Datenausgangssignal-Generator 28 die Codes und die andere Information, die zum Kodieren des Faksimiles benotigt wird, und übermittelt das Ausgangssignal auf der Leitung 32 an einen Ziel-Bus 33.
  • Der Ziel-Bus 33 liefert das kodierte Faksimile an ein System zur Übermittlung der Codes an einen Zielort, an dem die Codes gespeichert werden können oder expandiert werden, um das Faksimile zu regenerieren.
  • II. Implementierung der Verdichtungseinheit
  • Wie bereits erwähnt, betrifft die Erfindung das Kodieren oder das Verdichten von Faksimile-Daten. Deshalb ist in Fign. 2A-2C eine detaillierte Implementierung einer Verdichtungseinheit zur Verwendung mit der Vorrichtung 10 gemäß Fig. 1 gezeigt. Die in Fign. 2A-2C gezeigte Verdichtungseinheit empfängt über die Leitung 13 (vgl. Fig. 2A) Pixel-Daten von dem Source-FIFO- Puffer 12 gemäß Fig. 1. Ferner empfängt die Verdichtungseinheit über die Leitung 26 (vgl. Fig. 2B) Referenzzeilen-Pixel- Daten von dem Referenz-Eingangs-FIFO-Puffer 24 gemäß Fig. 1. Das Ausgangssignal der Verdichtungseinheit wird auf der Leitung 18 (vgl. Fig. 2C) an den Zwischen-FIFO-Puffer 19 gemäß Fig. 1 übermittelt.
  • Wie in dem Überblick über die Erfindung erwähnt wurde, weist die gemäß der Erfindung vorgesehene Kodiervorrichtung eine Fenstereinrichtung auf, die generell mit 201 gekennzeichnet ist. Die Fenstereinrichtung 201 weist ein erstes Kodierungsdateneingaberegister CDIR1 202, ein zweites Kodierungsdateneingaberegister CDIR2 203 und eine Kodierungszeilenwalzenverschiebeeinrichtung CBS 204 auf. Die Fenstereinrichtung 201 weist ferner ein erstes Referenzdateneingaberegister RDIR1 205, ein zweites Referenzdateneingaberegister RDIR2 206 und eine Referenzzeilenwalzenverschiebeeinrichtung RBS 207 auf. Die Walzenverschiebeeinrichtungen 204 und 207 werden durch jeweilige Fenstersteuersignale gesteuert, die bei dieser Ausführungsform äquivalent sind und auf den Leitungen 208 und 294 zugeführt werden.
  • Die Balance gemäß Fig. 2 bildet eine Einrichtung zum Erzeugen von Zwischen-Codes und Fenstersteuersignalen, wie im Überblick über die Erfindung erwähnt wurde.
  • Wie in dem funktionalen Blockschaltbild gemäß Fign. 2A-2C gezeigt, werden die Kodierungszeilendaten auf der Leitung 13 dem CDIR1 202 zugeführt. Das Ausgangssignal des CDIR1 202 wird auf der Leitung 209 als Eingangssignal an das CDIR2 203 und als ein Eingangssignal an das CBS 204 übermittelt. Das Ausgangssignal des CDIR2 203 wird auf der Leitung 210 als das zweite Eingangssignal an das CBS 204 liefert. Bei der bevorzugten Ausführungsform ist der Source-Bus ein 16-Bit-Bus, der Eingangswörter mit 16-Bit-Kodierdaten zuführt. Dementsprechend sind sowohl das CDIR1 202 als auch das CDIR2 203 16-Bit-Register. Die Walzenverschiebeeinrichtung CBS 204 empfängt 32 Eingangsbits und liefert auf der Leitung 213 ein gewähltes 16- Bit-Ausgangssignal unter Steuerung eines Kodierfenstersteuersignais 208, das das Start-Bit des gewählten Fensters repräsentiert.
  • Die Referenzzeilendaten werden auf der Leitung 26 ebenfalls in 16-Bit-Wörtern an das RDIR1 205 übermittelt. Das Ausgangssignal des RDIR1 205 wird auf der Leitung 211 als ein Eingangssignal an die Referenzzeilenwalzenverschiebeeinrichtung RBS 207 und als ein Eingangssignal an das RDIR2 206 übermittelt. Das Ausgangssignal des zweiten Referenzdateneingaberegisters RDIR2 206 wird auf der Leitung 212 als ein zweites Eingangssignal an die Referenzzeilenwalzenverschiebeeinrichtung RBS 207 übermittelt. Ein 16-Bit-Ausgangssignal, das als Reaktion auf ein auf der Leitung 294 geführtes Referenzfenstersteuersignal aus der RBS 207 erzeugt wird, wird auf der Leitung 214 geliefert. Die Daten auf den Leitungen 213 und 214 erzeugen ein Fenster von Pixeldaten aus der Kodierzeile und der Referenzzeile, das zur Generierung der Zwischen-Codes gemäß der Erfindung verwendet wird.
  • Die Daten auf der Leitung 213 werden an einen unidirektionalen Kodierzeilen-Farbveränderungsdetektor CUCCD 215 übermittelt. In ähnlicher Weise werden die Daten auf der Leitung 214 an einen unidirektionalen Referenzzeilen-Farbveränderungsdetektor RUCCD 216 übermittelt. Die unidirektionalen Farbveränderungsdetektoren 215 und 216 sind in Fign. 3 und 4 detailliert gezeigt. Das Ausgangssignal jedes der unidirektionalen Farbveränderungsdetektoren 215 und 216 ist ein 5-Bit-Code, der die innerhalb des Fensters befindliche Position eines ersten gewünschten Farbveränderungselementes anzeigt, entweder des ersten Farbveränderungselementes bei einer Veränderung von weiß zu schwarz oder des ersten Farbveränderungselementes bei einer Veränderung von schwarz zu weiß, und zwar in Abhängigkeit von den jeweiligen Farbveränderungs-Flags CCF und RCF. Der CUCCD 215 liefert auf der Leitung 217 ein Signal, das das erste gewünschte Farbveränderungs-Bildelement in dem Kodierzeilenabschnitt des Fensters angibt, und der RUCCD 216 übermittelt auf der Leitung 218 das 5-Bit-Signal, das das erste gewünschte Farbveränderungs-Bildelement in dem Referenzzeilenabschnitt des Fensters angibt.
  • Das von dem CUCCD 215 ausgegebene Signal auf der Leitung 217 wird als Eingangssignal in einen Multiplexer 290 eingegeben, dessen Ausgang über die Leitung 291 mit einem ersten Kodierfenster-Lauflängen-Register CLRR1 219 verbunden ist. Das Ausgangssignal des CUCCD 215 wird ferner auf der Leitung 217 einem zweiten Kodierfenster-Lauflängen-Register CLRR2 220 zugeführt.
  • Das auf der Leitung 218 geführte Ausgangssignal des RUCCD 216 wird einem Multiplexer 292 zugeführt, dessen Ausgang über die Leitung 293 mit einem ersten Referenzfenster-Lauflängen-Register RRLR1 221 und einem zweiten Referenzfenster-Lauflängen- Register RRLR2 222 verbunden ist.
  • Das auf der Leitung 208 geführte Kodierfenstersteuersignal wird von einem ersten Kodierwalzenverschiebeeinrichtungs-Steuerregister CRSCR1 295 geliefert, das von dem Multiplexer als Reaktion auf das Fensterverschiebesignal A/B auf der Leitung 238 geladen wird. Die Eingangssignale des Multiplexers 296 enthalten ein auf der Leitung 251 geführtes Signal von einem Kodier-Kurzzeitregister CTMP 250 und ein auf der Leitung 253 geführtes Signal von einem Referenz-Kurzzeitregister RTMP 259. In ähnlicher Weise wird das auf der Leitung 294 geführte Referenzfenstersteuersignal von einem ersten Referenzzeilenwalzenverschiebeeinrichtungs-Steuerregister RBSCR1 299 geliefert, das von dem Multiplexer 252 unter Steuerung durch das Signal A/B auf der Leitung 238 geladen wird. Die Eingangssignale in den Multiplexer 252 enthalten das auf der Leitung 251 geführte Signal von dem CTMP 250 und das auf der Leitung 253 geführte Signal von dem RTMP 259. Das Ausgangssignal des CBSCR1 wird über die Leitung 218 als Eingangssignal an die Multiplexer 290 und 298 übermittelt. In ähnlicher Weise werden die auf der Leitung 294 geführten Ausgangssignale als Eingangssignale an die Multiplexer 292 und 280 übermittelt.
  • Die Signale in dem CTMP 250 und dem RTMP 252 werden in der folgenden Weise erzeugt: Das CTMP 250 übermittelt auf der Leitung 246 den 5-Bit-Code als ein Eingangssignal an die 5- Bit-ALU 245. Bei dem zweiten, auf der Leitung 247 geführte Eingang ssignal an die 5-Bit-ALU 245 handelt es sich um ein 5- Bit-Signal von einem zweiten Kodierfensterwalzenverschiebeeinrichtungs-Steuerregister CBSCR2 248, das durch einen Multiplexer 298 geladen wird, der sein Ausgangssignal aus dem CBSCR1 295 oder einer Konstante, die gleich 16 ist, wählt. Das Ausgangssignal der ALU 245 wird auf der Leitung 249 an das CTMP 250 übermittelt. Das Ausgangssignal des CTMP 250 über die Leitung 251 an den Multiplexer 296 zurückgeführt. Das zweite Eingangssignal des Multiplexers 296 wird über die Leitung 253 aus einem Referenzfensterpositions-Akkumulator zugeführt, der den Referenzfenster-Lauflängenwert über die Leitung 254 von dem RRLR2 222 erhält. Das auf der Leitung 254 geführte Signal liefert ein Eingangssignal an die ALU 255. Das zweite Eingangssignal der ALU 255 wird auf der Leitung 256 von einem zweiten Referenzfensterwalzenverschiebeeinrichtungs-Steuerregister RBSCR2 257 geliefert, das durch den Multiplexer 280 geladen wird, der sein Ausgangssignal aus dem RBSCR1 oder einer Konstante "16" wählt. Das Ausgangssignal der ALU 255 wird über die Leitung 258 an das RTMP 259 übermittelt. Das Ausgangssignal des RTMP 259 wird über die Leitung 253 den Multiplexern 252 und 296 zugeführt. Die Multiplexer 252 und 296 werden durch das auf der Leitung 238 anstehende Fensterverschiebesignal AlB derart gesteuert, daß entweder das Signal auf der Leitung 251 oder das Signal auf der Leitung 253 als Fenstersteuersignal auf den Leitungen 208 und 294 gewählt werden.
  • Das in Fign. 2A und 2C gezeigte CRLR1 219 liefert sein Ausgangssignal in der folgenden Weise auf der Leitung 223: Die am wenigsten signifikanten 4 Bits werden als erstes Eingangssignal einem Subtraktor 224 zugeführt; die Bits mit zweit- und dritthöchster Signifikanz werden als Eingangssignale einem ODER-Gatter 225 zugeführt; und das Bit mit höchster Signifikanz wird als ein Eingangssignal einem programmierbaren Logik- Array 226 zugeführt; und sämtliche fünf Bits werden als ein Eingangssignal dem Multiplexer 227 zugeführt.
  • Das Ausgangssignal des RRLR1 221 gemäß Fign. 2B und 2C wird in der folgenden Weise auf der Leitung 228 geliefert: Die vier am wenigsten signifikanten Bits werden als zweites Eingangssignal an den Subtraktor 224 übermittelt; die Bits mit zweit- und dritthöchster Signifikanz werden als Eingangssignale einem ODER-Gatter 229 zugeführt; das Bit mit höchster Signifikanz wird als ein Eingangssignal dem programmierbaren Logik-Array 226 zugeführt; und sämtliche fünf Bits werden als zweites Eingangssignal dem Multiplexer 227 zugeführt.
  • Das Ausgangssignal des Subtraktors 224 ist ein Signal, X, das die Differenz zwischen der Stelle des ersten gewünschten Farbveränderungselementes in dem Kodierzeilenabschnitt des Fensters und des ersten gewünschten Farbveränderungselementes in dem Referenzzeilenabschnitt des Fensters anzeigt. Dieses Signal wird auf der Leitung 230 an das X-Lauflängen-Register XRLR 231 übermittelt. Das Ausgangssignal des XRLR 231 wird über die Leitung 232 einem Komparator 233 zugeführt. Das Ausgangsignal des Komparators enthält vier Signale auf der Leitung 2234, die dem programmierbaren Logik-Array 226 zugeführt werden. Die vier Signale auf der Leitung 234 enthalten das erste Signal, das wahr ist, wenn das Ausgangssignal, X, des Subtraktors 224 gleich 0 ist; ein zweites Signal, das wahr ist, wenn X größer als 0 ist; ein drittes Signal, das wahr ist, wenn X gleich 1 ist; und ein viertes Signal, das wahr ist, wenn X kleiner als 0, jedoch größer als oder gleich negativ 3 ist.
  • In ähnlicher Weise werden die Ausgangssignale der ODER-Gatter 225 und 229 auf den Leitungen 235 bzw. 236 als Eingangssignale dem programmierbaren Logik-Array 226 zugeführt. Die Signale zeigen an, daß das erste Farbveränderungselement in dem Kodierzeilenabschnitt des Fensters und dem Referenzzeilenabschnitt des Fensters jeweils mehr als 3 Positionen rechts von dem ersten Bildelement in dem Fenster auftreten.
  • Das signifikanteste Bit des Kodierfensterlauflängensignals auf der Leitung 223 und des Referenzfensterlauflängensignals auf der Leitung 228 ist wahr, wenn innerhalb der Kodier- oder Referenzabschnitte des Fensters keine Farbveränderung detektiert wird.
  • Das als Zustandsmaschine verwendete programmierbare Logik- Array 226 weist die in der nachstehenden Tabelle 1 aufgelisteten Zustände auf. TABELLE 1
  • Wobei: (1) BOW = Beginn des Fensters
  • (2) A = Farbveränderungscode von CUCCD
  • (3) B = Farbveränderungscode von RUCCD
  • (4) a0,a1,a2,b1 und b2: CCITT-definierte Veränderungselemente TABELLE 2 TABELLE 2 (Fortsetzung)
  • Die Logik zum Steuern der Zustandsübergänge ist gemäß Tabelle 2 in der folgenden Weise vorgesehen:
  • Die auf der Leitung 239 geführten Ausgangssignale des programmierbaren Logik-Array 226 werden einem ersten Zustandsregister STR1 240 zugeführt. Die auf der Leitung 241 geführten Ausgangssignale des STR1 240 enthalten einen Vier-Bit-Zustandscode, das Lauflängenakkumulations-Steuersignal RLA auf der Leitung 237, das Fensterverschiebesteuersignal A/B auf der Leitung 238, die Kodierbits ENC auf der Leitung 289, das aoal/ala2-Wähl-Signal auf der Leitung 282, ein Codewählsignal auf der Leitung 454 und das Ausgangswählsignal OS auf der Leitung 283. Der Zustandscode wird auf der Leitung 241 einem zweiten Zustandsregister STR2 242 zugeführt. Das Ausgangssignal des STR2 242 wird auf der Leitung 244 an das programmierbare Logik-Array 226 zurückgeführt.
  • Ferner werden drei Bits des Zustandscode als erstes Eingangssignal einem Multiplexer 452 zugeführt. Das vierte Bit des Zustandscode wird in der nachstehend beschriebenen Weise auf der Leitung 455 geliefert. Für den Multiplexer 452 sind drei weitere Eingangssignale vorgesehen. Das erste Eingangssignal ist der Wert X, der auf der Leitung 232 von dem XRLR 231 zugeführt wird. Der nächste Eingangswert ist der Wert A, der über die Leitung 223 von dem CRLR1 219 zugeführt wird. Der letzte Eingangswert des Multiplexers 452 ist das 2er-Komplement des Wertes B, das von dem Ausgang von RRLR 221 über die Leitung 228 durch einen Komplementor 450 zugeführt wird. Das Ausgangssignal des Komplementors ist das 2er Komplement des Wertes B und wird auf der Leitung 451 zugeführt.
  • Der Multiplexer 452 wird durch das von dem PLA 226 ausgegebene Code-Wähl-Signal auf der Leitung 454 gesteuert. Bei jedem der Eingangssignale des Multiplexers 452 handelt es sich um die am weitesten rechts angeordneten 3 Bits ihrer jeweiligen Signale, und das Ausgangssignal des Multiplexers 452 ist ein 3-Bit- Code, der bei der Erzeugung des Zwischen-Code gemäß der nachstehenden Tabelle 4 verwendet wird.
  • Das 3-Bit-Ausgangsignal des Multiplexers 452 wird mit dem vierten Bit des Zustands-Code auf der Leitung 455 verkettet und dann wiederum mit neun Nullen verkettet, um auf der Leitung 281 einen 13-Bit-Code zur Zuführung zu dem Multiplexer 253 zu bilden.
  • Die CCITT-Kodierungs-Standards verlangen die Akkumulation der Lauf-Längen von a0 bis a1 (a0a1) und von a1 bis a2 (a1a2) bei der Erzeugung des Horizontal-Modus-Code. In der Verdichtungseinheit gemäß Fig. 2 wird die Akkumulation dieser Werte durch das auf der Leitung 237 zugeführte RLA-Signal und eine 13-Bit- ALU 260 gesteuert. Die Eingangssignale der ALU 260 enthalten die auf der Leitung 262 geführten Ausgangssignale des Multiplexers 227 und die auf der Leitung 263 geführten Ausgangssignale des Multiplexers 264. Das Ausgangssignal des Multiplexers 227 wird aus den Eingangssignalen auf den Leitungen 223 und 228 gewählt. Das Eingangssignal auf der Leitung 223 ist das Signal von dem CUCCD 215. Das Eingangssignal auf der Leitung 228 ist das Lauflängen-Signal von dem RUCCD 216. Wenn das Lauflängenakkurnulationssignal RLA wahr ist, wird die Wahl zwischen dem Signal auf der Leitung 223 und dem Signal auf der Leitung 228 von dem Fensterverschiebesignal A/B auf der Leitung 238 gesteuert, um die geeignete Lauf-Länge für die Akkumulation zu wählen. Das Ausgangssignal des Multiplexers 227 wird auf der Leitung 262 als ein Eingangssignal an den Addierer 260 übermittelt. Ein zweites Eingangssignal der ALU 260 wird auf der Leitung 263 von dem Multiplexer 264 übermittelt. Der Multiplexer 264 arbeitet unter der Steuerung des auf der Leitung 282 geführten a0a1/a1a2-Signals derart, daß er das Eingangssignal auf der Leitung 265 oder das Eingangssignal auf der Leitung 266 zur Zuführung an die ALU 260 wählt. Die Leitung 265 ist derart geschaltet, daß sie das Ausgangssignal eines a1a2-Akkumulationsregisters 267 empfängt, und die Leitung 266 ist derart geschaltet, daß sie das Ausgangssignal des Akkumulationsregisters 26 liefert. Die ALU 260 gibt ihr Ausgangssignal über die Leitung 269 unter Steuerung des auf der Leitung 282 geführten a0a1/a1a2-Signals an das korrekte Akkurnulationsregister 268 oder 267 aus.
  • Ferner sind die Leitungen 265 und 266 als zweite und dritte Eingänge mit dem Multiplexer 243 verbunden. Das Ausgangssignal des Multiplexers 243 wird unter Steuerung des auf der Leitung 283 geführten Ausgangswählsignals OS über die Leitung 270 einem Kurzzeit-Ausgangsregister (OTMP) 271 zugeführt, das über die Leitung 18 mit dem Zwischen-Code-FIFO-Puffer gemäß Fig. 1 verbunden ist.
  • Das OTMP 271 ist ein 16-Bit-Register, das die 13 am weitesten rechts angeordneten Bits von dem Ausgangssignal auf der Leitung 270 des Multiplexers 253 und die 3 am weitesten links angeordneten Bits von den durch die PLA 226 erzeugten Kodierbits ENC über die Leitung 289 empfängt.
  • III. Implementierung der unidirektionalen Farbveränderungsdetektoren
  • Die Implementierung der in Fig. 2 gezeigten unidirektionalen Farbveränderungsdetektoren 215 und 216 wird im folgenden anhand Fign. 3 und 4 detailliert erläutert. Fig. 3 zeigt ein Blockschaltbild eines unidirektionalen Farbveränderungsdetektors 300. Der unidirektionale Farbveränderungsdetektor 300 weist einen unidirektionalen Farbübergangsdetektor 301 und eine Kodier-Logik 302 auf. Die Eingangsssignale des unidirektionalen Farbübergangsdetektors 301 enthalten ein Farbveränderungs-Flag CF auf der Leitung 303, ein Zeilenbeginn-Signal BOL auf der Leitung 304, ein Signal zur Angabe, daß keine Farbveränderung in dem Kodierzeilenabschnitt des vorherigen Kodierfensters NA auf der Leitung 305 aufgetreten ist, und ein Signal zur Angabe, daß kein Signal in dem Referenzzeilenabschnitt des Kodierfensters NB auf der Leitung 306 auf der Leitung 306 für das vorherige Kodierfenster aufgetreten ist. Ferner wird das Ausgangssignal der Walzenverschiebeeinrichtung CBS 204 für den Kodierzeilenabschnitt (beispielsweise) des Fensters I0 - I15 auf der Leitung 213 übermittelt. Das Ausgangssignal des unidirektionalen Farbveränderungsdetektors ist ein 16-Bit-Code A0 - A15 auf der Leitung 307. Der Code auf der Leitung 307 wird einer Kodier-Logik 302 zugeführt, die auf der Leitung 217 ein 5-Bit-Ausgangssignal für den Kodierzeilenabschnitt des Referenzfensters erzeugt.
  • Bei dem unidirektionalen Farbübergangsdetektor handelt es sich um eine Logik-Schaltung, die gemäß Fig. 4 derart implementiert ist, daß das Ausgangssignal An für n = 1 bis 15 gemäß Gleichung 1 wie folgt definiert ist: Gleichung (1)
  • Das erste Bit des Ausgangssignals A0 ist gemäß Gleichung 2 wie folgt definiert: Gleichung (2)
  • Die Kodier-Logik 302 wird implementiert, um die Ausgangssignale O0 - O4 gemäß der nachstehenden Tabelle 3 zu erzeugen. TABELLE 3
  • Fig. 4 zeigt eine Logik-Implementierung des unidirektionalen Farbveränderungsdetektors 400 entsprechend dem unidirektionalen Farbübergangsdetektor 301 gemäß Fig. 3. Die Eingangssignale enthalten das BOL-Signal auf der Leitung 304, das NA- Signal auf der Leitung 305, das NB-Signal auf der Leitung 306 und das Farbveränderungs-Flag auf der Leitung 303. Ferner sind Eingangssignale I0 - I15 auf der Leitung 213 vorgesehen. Die Ausgangssignale von der Logik-Schaltung 400 enthalten die Signale A0 - A 15 auf der Leitung 307.
  • Wie vorstehend erwähnt, unterscheidet sich die Logik für die Erzeugung von A0 von der Logik für jedes der anderen Ausgangssignale A1 - A15. Die Logik-Schaltung für die Erzeugung von A0 enthält das UND-Gatter 401, das derart geschaltet ist, daß es die Signale I0, CF, NA und NB über die Leitungen 213-0, 303, 305 und 306 empfängt. Ferner enthält die Logik das UND-Gatter 402, das als Eingangssignale die Signale I0, CF, NA und NB über die Leitungen 213-0, 303, 305 bzw. 306 empfängt. Auch das UND-Gatter 403 ist einbezogen, das als Eingangssignale die Signale BOL und I0 über die Leitungen 304 bzw. 213-0 empfängt. Das Eingangssignal des UND-Gatters 401, das das Signal I0 empfängt, enthält einen Inverter, wie durch den kleinen Kreis an dem Eingang angedeutet ist. In ähnlicher Weise enthält das UND-Gatter 402, das das Signal CF empfängt, einen Inverter. Die Ausgangssignale der Gates 401, 402 und 403 werden als Eingangssignale an ein ODER-Gatter 404 zugeführt. Der Ausgang des ODER-Gatters 404 liefert das Signal A0 auf der Leitung 307-0. Es ist somit ersichtlich, daß die Gates 401, 402, 403 und 404 die Logik der Gleichung 1 erfüllen.
  • Die Balance der Ausgangssignale A1 - A15 wird durch identische Logik-Einheiten erzeugt. Die Logik-Einheit für die Erzeugung von A1 ist repräsentativ unter Einbeziehung der UND-Gatter 405 und 406 und des ODER-Gatters 407. Die Eingangssignale des UND- Gatters 405 enthalten das Farbveränderungs-Flag CF, das Signal I0 und das Signal I1 auf den Leitungen 303, 213-0 bzw. 213-1. In ähnlicher Weise enthalten die Eingangssignale des UND-Gatters 406 das Farbveränderungs-Flag CF, das Signal I0 und das Signal I1. Die Eingangssignale des UND-Gatters 405, das das Signal CF und das Signal I0 empfängt, weist ein Invertersignal auf, und die Eingangssignale des UND-Gatters 406, das das Signal I1 empfängt, weist ein Invertersignal auf. Die Ausgangssignale der Gates 405 und 406 werden als Eingangssignale an das ODER-Gatter 407 übermittelt. Der Ausgang des ODER-Gatters 407 liefert ein Signal A1 auf der Leitung 307-1. Es ist somit ersichtlich, daß die in den Gates 405, 406 und 407 enthaltene Logik-Einheit die Logik der Gleichung 1 implementiert.
  • In Anbetracht der vorstehenden Beschreibung der Logik-Gates erklärt sich die Balance von Fig. 1 von selbst.
  • IV. Implementierung des Datenausgangssignalgenerators
  • Die Implementierung des in Fig. 1 gezeigten Datenausgangssignalgenerators 28 wird anhand Fig. 5 detailliert erläutert. Wie vorstehend erwähnt, empfängt der Datenausgangssignalgenerator 28 über die Leitung 27 Daten von dem Zwischen-FIFO-puffer 19. Die Daten des Zwischen-FIFO-Puffers 19 enthalten 16- Bit-Datenwörter, die durch das in Fig. 2 gezeigte Kurzzeit- Register (OTMP) 271 an dem Ausgang der Verdichtungs-/Expansions-Einheit 14 erzeugt werden.
  • Die über die Leitung 27 an das Eingangsregister 503 übermittelten 16 Bits enthalten die 3 am weitesten links angeordneten Positionen, die Bits 15 bis 13, das ENC-Signal, das einen Zeilen-End-Code enthält, einen Code zur Anzeige, ob eine eindimensionale oder zweidimensionale Kodierung auftritt, und einen Farbindikator. In den 13 am weitesten rechts angeordneten Positionen werden Lauflängen-Daten von der in Fig 2 gezeigten Akkumulationsschaltung übermittelt, oder die Zwischen-Codes werden in der Bit-Position 3 bis 0 mit den 9 Nullen in den Bit-Positionen 12 bis 4 verkettet. Die Zwischen- Codes sind in der nachstehenden Tabelle 4 aufgeführt. Selbstverständlich können die Zwischen-Codes derart gewählt werden, daß sie zu einer bestimmten Implementierung passen. TABELLE 4
  • Die Bits 12 - 4 werden nur dann verwendet, wenn Lauf-Längen kodiert werden, etwa während einer im Horizontal-Modus erfolgenden oder 1D-Kodierung. Zum Kodieren von Lauf-Längen sieht der internationale Standard einen "Make-up"-Code und einen "Terminations"-Code vor. Make-up-Codes sind spezielle Codes, die bei der beschriebenen Ausführungsform einen maximalen Wert von 2560 aufweisen.
  • Bei der bevorzugten Ausführungsform beträgt die Länge der Lauflängen-Daten 13 Bits zur Unterstützung eines Faksimile mit 8K Pixeln pro Zeile. Die Länge des Lauflängen-Codes kann für Faksirniles mit mehr als 8K Pixeln pro Zeile vergrößert werden.
  • Fig. 5 zeigt die auf der Leitung 27 eintreffenden 16-Bit-Datenwörter. Das Ausgangssignal des Datenausgangssignal-Generators 28 wird auf der Leitung 32 in Form von 16-Bit-Wörtern ausgegeben, die gemäß dem internationalen CCITT-Standard kodiert sind.
  • Der Datenausgangssignal-Generator 28 gemäß Fig. 5 enthält eine Daten-Kodier-Logik 501 und eine Daten-Pack-Logik 502. Die Daten-Kodier-Logik 501 empfängt das Eingangssignal auf der Leitung 27 an dem Eingangsregister 503 und liefert die die Bits 15- 0 aufweisenden Eingangsdatenwörter wie folgt:
  • (1) die Bits 15 - 13, die auf der Leitung 504 zugeführt werden, als am weitesten links angeordnete Eingangssignale des Adress-Registers 505;
  • (2) die Bits 12 - 6, die auf der Leitung 506 zugeführt werden, als erstes Eingangssignal des Multiplexers 507; und
  • (3) die Bits 5 - 0, die auf der Leitung 508 zugeführt werden, als erstes Eingangssignal des Multiplexers 509.
  • Der Multiplexer 507 empfängt als zweites Eingangssignal das Ausgangssignal eines Kurzzeit-Lauflängenregisters 511 über die Leitung 510. Der Ausgang des Multiplexers 507 liefert 7 Bits über die Leitung 513 als positives Eingangssignal an den Subtraktor 512 und 6 Bits über die Leitung 514 als zweites Eingangssignal an den Multiplexer 509. Das negative Eingangssignal des Subtraktors 512 wird auf der Leitung 515 von einem Konstantregister 516 zugeführt, das eine Konstante (0101-00) hält, die den 7 am weitesten links angeordneten Bits von 13 Bits des binären Ausdrucks 2560 äquivalent ist. Die 6 am weitesten rechts angeordneten Bits des Konstantregisters 516 werden auf der Leitung 517 als drittes Eingangssignal an den Multiplexer 509 übermittelt. Das Ausgangssignal des Subtraktors 512 wird über die Leitung 519 einem ersten Kurzzeit-Lauflängenregister 518 zugeführt. Das Ausgangssignal des Kurzzeit- Registers 518 wird über die Leitung 520 einem zweiten Kurzzeit-Lauflängenregister 511 zugeführt. Diese den Subtraktor 512 einbeziehende Schaltung dient zur Erzeugung von Lauflängen-Codes, die in dem Horizontal-Modus für die 2D-Kodierung und während der 1D-Kodierung verwendet werden.
  • Das Ausgangssignal des Multiplexers 509 wird auf der Leitung 521 als die am weitesten rechts angeordneten Bits an das Adress-Register 505 übermittelt. Wie bereits erwähnt, werden die 3 am weitesten links angeordneten Bits über die Leitung 504 aus dem Eingangsregister 503 zugeführt. Die vierte Bit- Position von links wird mit einem Signal geladen, das entweder einen Make-up- oder einen Terminations-Code auf der Leitung 522 angibt, der zur Lauflängen- und Horizontalrnodus-Kodierung verwendet wird. Bei dem Ausgangssignal des Adress-Registers 505 handelt es sich um eine 10-Bit-Adresse, die auf der Leitung 523 dem Verdichtungs-Code-ROM 524 zugeführt wird (das in Fig. 1 mit 31 bezeichnet ist).
  • Die Daten in dem Eingangsregister 503 können Lauflängen-Daten für den Horizontal-Modus oder die eindimensionale Kodierung enthalten. Falls dies der Fall ist, werden die 7 signifikanteren Bits der Lauflängen-Daten über den Multiplexer 507 an den Subtraktor 512 übermittelt. Diese 7 signifikanteren Bits werden verwendet, um 2560 von dem Wert in dem Eingangsregister 503 zu subtrahieren.
  • Falls das Ergebnis positiv oder null ist, werden die am weitesten rechts angeordneten Bits aus dem Konstantregister 516 durch den Multiplexer 509 als die 6 am weitesten rechts angeordneten Bits des Adress-Registers übermittelt, um einen 2560-Make-up-Code zu kodieren.
  • Wenn das Ergebnis positiv ist, wird das Ergebnis der Subtraktion aus dem Kurzzeit-Lauflängenregister-Master 518 an den Kurz zeit-Lauflängenregister-Slave 511 übermittelt. Anschließend werden die 6 am wenigsten signifikanten Bits des RLTRS 511 durch den Multiplexer 507 als Eingangssignal an den Subtraktor 512 übermittelt, wo erneut 2560 von ihnen subtrahiert wird, und der Vorgang wird wiederholt, bis ein negatives Resultat erzielt wird. Falls das Resultat negativ ist, werden die 6 am wenigsten signifikanten Bits des RLTRS 511 auf der Leitung 514 über den Multiplexer 509 als die am weitesten rechts angeordneten Bits des Adress-Registers AR 505 übermittelt, um einen abschließenden Make-up-Code zu kodieren. Nach dem abschließenden Make-up-Code werden die 6 am weitesten rechts angeordneten Bits des Eingangsregisters 503 über den Multiplexer 509 als die am weitesten rechts angeordneten Bits des Adress-Registers AR 505 übermittelt, um bei der Kodierung des Terminations-Codes gemäß dem internationalen Standard verwendet zu werden.
  • Falls beispielsweise das Eingangsregister 503
  • 0010110101010010
  • enthält und das am weitesten links angeordnete Bit angibt, daß es sich nicht um das Ende einer Zeile handelt, zeigt das nächste Bit an, daß eine eindimensionale Kodierung durchgeführt werden soll, und das dritte Bit zeigt die Farbe Schwarz an. Die Bits 6 bis 12 bewirken die Erzeugung eines Make-up-Codes von "2560" (0101000) und eines Make-up-Codes von "832" (0000101). Die 6 am weitesten rechts angeordneten Bits bewirken einen Terminations-Code von "18" (010010).
  • Das Make-up- und Terminations-Code-Signal auf der Leitung 522 wird von der Steuereinrichtung 550 als Ergebnis der Subtraktion in dem Subtraktor 512 erzeugt.
  • Falls die Daten in dem Eingangsregister 503 einen Zwischen- Code enthalten, wird er unmittelbar durch den Multiplexer 509 zur Übermittlung an das Adress-Register 505 gewählt, um auf das Verdichtungs-Code-ROM 524 zuzugreifen und den internationalen Code zu erzeugen.
  • Bei dem Verdichtungs-Code-ROM 524 handelt es sich um einen Standard-Nurlesespeicher, der bei der bevorzugten Ausführungsform in der Lage ist, als Reaktion auf den Zwischen-Code gemäß Tabelle 4 und die Lauflängen-Werte für die Horizontal-Modus- Codes und die eindimensionale Kodierung den CCITT-Standard- Code zu liefern.
  • Das Ausgangssignal des Verdichtungs-Code-ROM 524 wird auf der Leitung 525 an die Daten-Pack-Logik 502 übermittelt. Die Daten-Pack-Logik empfängt das Ausgangssignal des Verdichtungs- Code-ROM 524 in einem Ausgangs-Register 526. Bei dem Format der Daten, die aus dem Verdichtungs-Code-ROM empfangen werden, handelt es sich um einen 17-Bit-Code, bei dem die 4 am weitesten links angeordneten Bits ein Code sind, der die Länge des CCITT-Standard-Code angibt, welcher in dem am weitesten rechts angeordneten Abschnitt des Wortes geliefert wird. Die am weitesten rechts angeordneten 13 Bits enthalten den Standard- CCITT-Code, der links ausgerichtet ist, wobei sich in sämtlichen verbleibenden Positionen nach rechts hin Nullen befinden.
  • Die 4 am weitesten links angeordneten Bits in dem Ausgangs- Register werden auf der Leitung 527 als erstes Eingangssignal an den Addierer 528 übermittelt. Die 13 am weitesten rechts angeordneten Bits werden auf der Leitung 529 als die 13 am weitesten links angeordneten Bits an die Walzen-Rotationseinrichtung 530 übermittelt. Die 3 am weitesten rechts angeordneten Eingangssignale der Walzen-Rotationseinrichtung 530 enthalten 3 Nullen auf der Leitung 531.
  • Das Ausgangssignal der Walzen-Rotationseinrichtung 530 wird auf der Leitung 531 an ein Maskierungsregister 532 übermittelt. Das Ausgangssignal des Maskierungsregisters wird auf der Leitung 533 an ein Ausgangsregister 534 übermittelt. Das Ausgangssignal des Ausgangsregisters 534 wird auf der Leitung 32 dem in Fig. 1 gezeigten Ziel-Bus 33 zugeführt.
  • Die Steuerung der Walzen-Rotationseinrichtung 530 erfolgt durch den 4-zu-16-Dekodierer 535 über die Leitung 536.
  • Die Steuerung des Maskierungsregisters 532 erfolgt mittels der Maskensteuerungsschaltung 537 über die Leitung 538.
  • Das Ausgangssignal des Addierers 528 wird über die Leitung 539 an einen Datenausgangssignalgeneratorwalzen-Schieberegister- Master 540 und von diesem über die Leitung 541 an einen Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 übermittelt. Das Ausgangssignal des Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 ist ein 4-Bit-Code, der über die Leitung 533 als Eingangssignale an den 4-zu-16-Dekodierer 535 und die Maskensteuerungsschaltung 537 übermittelt wird.
  • Ferner steuert eine Steuereinrichtung 550, die bei der bevorzugten Ausführungsform als Zustandsmaschine implementiert wird, die Operation des Datenausgangsgenerators über die Leitungen 551, bei denen es sich generell um die Verbindung der Zustandsmaschinen-Steuereinrichtung 550 mit den in Fig. 5 gezeigten operativen Komponenten handelt.
  • Um die Walzen-Rotationseinrichtung 530 für einen ersten Code in einer Sequenz zu steuern, enthält der Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 den Wert 0. Die Code-Länge des ersten Code wird über die Leitung 527 an die Adresse mit dem Wert null aus dem Slave-Register zugeführt. Somit wird das Ausgangssignal des Addierers 528 an den Datenausgangssignalgeneratorwalzen-Schieberegister-Master 540 mit dem Wert der ersten Code-Länge zugeführt. Der Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 übermittelt eine Null an den 4-zu-16-Dekodierer 535, so daß das Eingangssignal in die Walzen-Rotationseinrichtung nicht verschoben wird. Die resultiert darin, daß der erste Code an der Bit-Position 15 links ausgerichtet wird. Falls beispielsweise der erste Code, der zugeführt werden soll, V(0) ist, ist sein internationaler Code "1", und seine Code-Länge beträgt 1. Dies bewirkt, daß der Code "1" in die Bit-Position 15 geladen wird, wobei die Bit-Positionen 14 bis 3 irrelevante Werte enthalten und die Positionen 2 bis 0 in der folgenden Weise 0 enthalten:
  • 1XXXXXXXXXXXX000.
  • Die Maskensteuereinrichtung 537 empfängt ferner einen Wert 0 von dem Datenausgangssignalgeneratorwalzen-Schieberegister- Slave 542, wodurch eine Maske erstellt wird, mittels derer jedes Bit an dem Ausgang der Walzen-Rotationseinrichtung 530 in einem Halteregister in dem Maskierungsregister 532 plaziert werden kann.
  • Es sei angenommen, daß der zweite Code ein VR(1)-Standard-Code ist, so daß das Code-Wort "011" lautet und eine Code-Länge 3 aufweist. Für den nächsten Code enthält das Datenausgangssignalgenerator-Slave-Register 542 einen Wert 1, der der Code- Länge des vorhergehenden Code entspricht. Dieser Wert wird in dem Addierer 528 der Code-Länge des nächsten Code, 3, hinzuaddiert, so daß der Datenausgangssignalgeneratorwalzen-Schieberegister-Master 540 den Wert 4 speichert.
  • Der 4-zu-16-Dekodierer 535 empfängt das Eingangssignal von dem Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 und übermittelt einen Wert 1 an die Walzen-Rotationseinrichtung 530. Dies bewirkt einen links ausgerichteten Code "01-1", der um 1 Bit-Position nach rechts verschoben wird, so daß sich das folgende Code-Wort ergibt, das in der Walzen-Rotationseinrichtung gespeichert wird:
  • 0011XXXXXXXXXX00.
  • Ferner empfängt die Maskensteuerungsschaltung 537 den Wert 1, wodurch das Maskierungsregister dazu veranlaßt wird, nur das erste Bit von dem Ausgangssignal der Walzen-Rotationseinrichtung 530 derart zu maskieren, daß das erste Bit in dem Masken- Halteregister unverändert bleibt und die folgenden 15 Bits das Ausgangssignal der Walzen-Rotationseinrichtung empfangen, wodurch der erste Code von "1" mit dem zweiten Code von "01-1" in den 4 am weitesten links angeordneten Bit-Positionen in dem Masken-Halteregister des Maskierungsregisters 532 verkettet werden.
  • Es sei angenommen, daß der folgende Code ein Zeilen-End-Code ost, der entsprechend dem internationalen Standard in der Form "0000000000011" kodiert wird und eine Code-Länge 13 aufweist. Für den folgenden Code weist der Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 den Inhalt 4 auf. Der Code-Länge 13 des Zeilen-End-Code wird 4 hinzuaddiert, mit der Folge, daß ein Ausgangssignal 1 an den Datenausgangssignalgeneratorwalzen-Schieberegister-Master 540 ausgegeben wird und ein Carry-Signal auf der Leitung 560 erzeugt wird. Der 4-zu-16-Dekodierer empfängt einen Wert 4, wodurch die Walzen-Rotationseinrichtung 530 eine Verschiebung um 4 Positionen durchführt, was das folgende dritte Code-Wort am Ausgang der Walzen-Rotationseinrichtung 530 ergibt:
  • 1000000000000001.
  • Die Maskensteuerungsschaltung 537 empfängt in ähnlicher Weise einen Wert 4 von dem Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542, wodurch das Maskierungsregister 532 sämtliche Bits des drittes Code mit Ausnahme der 4 am weitesten links angeordneten Bits empfängt. Dies bewirkt, daß der folgende Code in dem Halteregister des Maskierungsregisters 532 gehalten wird:
  • 1011000000000001.
  • Dabei handelt es sich um einen 16-Bit-Code im Halteregister des Maskierungsregisters 532, der als Reaktion auf das Carry- Signal in dem Datenausgangssignalgenerator-Ausgangsregister 534 plaziert wird und auf der Leitung 32 an den Ziel-Bus übermittelt wird.
  • An diesem Punkt enthält der Datenausgangssignalgeneratorwalzen-Schieberegister-Slave 542 einen Wert 1. Die Drehung des Code ist jedoch bereits während der vorherigen Iteration erfolgt. Das Carry-Signal 560 wird dem 4-zu-16-Dekodierer zugeführt, um jegliche Verschiebung zu verhindern, so daß eine auf der Leitung 536 an die Walzen-Rotationseinrichtung 530 ausgegeben wird. Dies hat zur Folge, daß der folgende Code an den Walzen-Rotationseinrichtungs-Ausgang mit dem Zeilen-End- Code geladen wird:
  • 1000000000000001.
  • Die Maskensteuereinrichtung ist ferner dem Carry-Signal auf der Leitung 560 untergeordnet, und zwar derart, daß sämtliche Bits an das Masken-Halteregister in dem Maskierungsregister 532 übermittelt werden und somit die von dem vorherigen Code- Wort übriggebliebenen Bits für die Verkettung mit den folgenden Code-Wörtern gerettet werden. Nach dem Halten der übriggebliebenen Bits des Masken-Halteregisters erhält das Ausgangs- Register den nachfolgenden Code von der Daten-Kodier-Logik 501. Der Datenausgangssignalgeneratorwalzen-Schieberegister Slave 542 enthält den Wert 1, der zur Steuerung des Ladens des folgenden Codes verwendet werden kann, wodurch der Rest des vorherigen Codes, bei dem es sich im vorliegenden Beispiel um ein einzelnes Bit handelt, gerettet wird.
  • Es ist ersichtlich, daß bei der Erfindung auf der Basis der Erzeugung der Zwischen-Codes 16-Bit-Code-Wörter zum Kodieren eines Faksimiles gemäß dem CCITT-Standard in einer Hochleistungs-Fenster-Zustandsmaschinenarchitektur erzeugt werden. Im folgenden wird die Arbeitsweise der Zustandsmaschine beschrieben, die die Datenverdichtungseinheit steuert.
  • V. Arbeitsweise der Zustandsmaschine
  • Wie bereits erläutert, arbeitet die Zustandsmschine derart, daß Zwischen-Codes erzeugt werden, die beim Kodieren der Faksirnile-Daten gemäß den Codes des internationalen Standards verwendet werden. Die Zustandsmaschine empfängt Eingangsdaten zur Position des ersten Farbveränderungselementes in dem Referenzzeilen-Abschnitt und dem Kodierzeilenabschnitt des Kodierfensters. Während eines Zustandsübergangs wird der Zwischen- Code erzeugt, und es wird ein Fenstersteuersignal erzeugt. Fign. 6A-10B zeigen Beispiele von Kodierfenstern, auf denen die Erläuterung der Erzeugung des Zwischen-Codes und des Fenstersteuersignals basiert. Fign. 11 und 12 sind Flußdiagramme zur Veranschaulichung der Arbeitsweise der Verdichtungseinheit gemäß Fign. 2A-2C bei der Erzeugung von Standard-Codes.
  • Fign. 6A-6H zeigen Beispiele von Kodierfenstern, die den 8 Übergangsmöglichkeiten von dem in Tabelle 2 gezeigten Zustand SA0 entsprechen. Fig. 6A zeigt das Kodierfenster für SA0, bei dem NA = 0, NB = 0, X = 0 und a0C = 0 sind. Wie ersichtlich ist, ist b1 an dem Bildelement 3 positioniert. Auch das Element a1 ist an dem Bildelement 3 positioniert, so daß a1 = b1. In diesem Zustand sollte ein internationaler Code V(0) erzeugt werden und der nächste Zustand immer noch SA0 sein. Das Fenstersteuersignal bewirkt, daß der nächste Beginn eines Fensters (BOW) an dem Bildelement 3 positioniert wird. Dies wird erzielt, indem veranlaßt wird, daß die Multiplexer 296 und 252 das Signal auf der Leitung 251 als Fenstersteuersignal wählen, so daß das Bildelement a1 mit dem Beginn des Fensters ausgerichtet wird. Die Farbe des Veränderungselementes a0 wird in diesem Fall getoggelt.
  • Fig. 6B zeigt die Situation in dem Zustand SA0, in dem NA = 0, NB = 0, a0C = 0 und X = -3 sind. In dem Beispiel gemäß Fig. 6B tritt a1 an dem Bildelement 5 und b1 an dem Bildelement 8 auf, so daß b1 - a1 = 3 ist. Dies zeigt an, daß ein internationaler Code VL(3) erzeugt werden soll und die Zustandsmaschine auf den Zustand SA0 übergehen soll. Der nächste Beginn eines Fensters muß mit dem Element a1 an dem Bildelement 5 ausgerichtet werden. Dieser nächste Beginn eines Fensters wird bewirkt, indem das A/B-Signal zwecks Wahl des Signals auf der Leitung 251 ausgegeben wird. In diesem Fall wird die Farbe des Veränderungselementes a0 getoggelt.
  • Fig. 6C zeigt ein Fenster in dem Zustand SA0, in dem NA = 0, NB = 0, a0C = 0 und X = 1. Wie in diesem Beispiel ersichtlich ist, befindet sich a1 an dem Bildelement 5 und b1 an dem Bildelement 4, so daß a1 - b1 = 1 ist. Dies zeigt an, daß ein internationaler Code VR(1) erzeugt werden soll und der nächste Zustand SA0 ist. Der nächste Beginn eines Fensters wird derart gewählt, daß er Bildelement a1 ausgerichtet wird. Die Farbe des Veränderungselementes a0 wird getoggelt.
  • Fig. 6D zeigt einen Fenster-Zustand SA0, in dem NA = 0, NB = 0, a0C = 0 und X = 2. In diesem Beispiel befindet sich a1 an dem Bildelement 6 und b1 an dem Bildelement 4, so daß a1 - b1 größer als 1 ist. In dieser Situation lautet der nächste Zustand SB1, und der nächste Beginn eines Fensters wird mit dem Element b1 ausgerichtet. Diese Ausrichtung mit dem Element b1 wird erzielt, indem die Multiplexer 296 und 252 veranlaßt werden, das Signal auf der Leitung 253 als Fenstersteuersignal zu wählen. Die Farbe von a0 bleibt gleich.
  • Fig. 6E zeigt ein Fenster in dem Zustand SA0, in dem NA = 0, NB = 0 und X größer als -3 ist. Wie ersichtlich ist, sind in diesem Beispiel a1 = 7 und b1 = 15. Somit ist b1 - a1 größer als 3. In dieser Situation lautet der nächste Zustand CA1, und der nächste zu erzeugende internationale Code ist der Horizontal-Modus-Code H. Der nächste Beginn eines Fensters wird derart gesteuert, daß er mit dem Element a1 ausgerichtet ist. Die Farbe a0 bleibt gleich.
  • Fig. 6F zeigt ein Fenster in dem Zustand SA0, in dem NA = 0, NB = 1 und a0C = 1 ist. In diesem Beispiel ist a1 an dem Bildelement 6 angeordnet, und es existiert kein b1. Der nächste Zustand lautet SA1, und der nächste Beginn eines Fensters wird mit a1 ausgerichtet, und a0C bleibt unverändert.
  • Fig. 6G zeigt ein Fenster in dem Zustand SA0, in dem NA = 1, NB = 0 ist. In diesem Beispiel tritt b1 an dem Bildelement 6 auf, und es existiert kein a1. Der nächste Zustand lautet SB1, und der nächste Beginn eines Fensters wird mit b1 ausgerichtet.
  • Fig. 6H zeigt ein Fenster in dem Zustand SA0, in dem NA = 1, NB = 1 ist. In diesem Beispiel existiert kein a1 und kein b1. In diesem Fall lautet der nächste Zustand SB0, und der nächste Beginn eines Fensters wird mit dem Bildelement ausgerichtet, das auf das Ende des Fensters folgt. Dies erfolgt deshalb, weil der Ausgabewert der unidirektionalen Farbveränderungsdetektoren 215 und 216, wenn keine Farbveränderung detektiert wird, 16 ist. Somit wird der Wert 16 auf der Leitung 251 übermittelt, wenn kein a1 detektiert wird. Die in den Multiplexern erfolgende Wahl des Signals auf der Leitung 251 bewirkt eine 16-Bit-Verschiebung in der Walzen-Verschiebeeinrichtung 204 und 205.
  • Fign. 7A - 7G zeigen Beispiele der Zustandsübergänge von dem Zustand SB1 gemäß der Tabelle 2. In Fig. 7A ist das Kodierfenster des Zustandes SB1, wenn NA 0 und NB = 0, für X größer als 0 gezeigt. In dem gezeigten Beispiel ist b1 an dem Bildelement 0, b2 an dem Bildelement 5 und a1 an dem Bildelement 6 angeordnet. In diesem Fall ist a1 - b2 größer als 0. Der internationale Code ist ein Passier-Modus-Signal P, und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird zwangsweise mit dem Bildelement b2 ausgerichtet.
  • Fig. 7B zeigt ein Kodierfenster in dem Zustand SB1, in dem NA = 0, NB = 0 und X kleiner als oder gleich 0 ist, und a1 an einem Bildelement auftritt, das größer als oder gleich 3 ist. Wie in der Figur gezeigt, ist b1 an dem Bildelement 0, b2 an dem Bildelement 3 und a1 an dem Bildelement 3 angeordnet. Somit ist a1 - b2 kleiner als oder gleich 0, und a1 - b1 ist kleiner als oder gleich 3. In diesem Fall ist der zu erzeugende Code der Vertikal-Modus-Code VR(a1), und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird mit dem Bildelement a1 ausgerichtet.
  • Fig. 7C zeigt ein Kodierfenster in dem Zustand SB1, in dem NA = 0, NB = 0 und X kleiner als oder gleich 0 ist und die Position von a1 größer als 3 ist. Wie in dem Beispiel ersichtlich ist, ist b1 an dem Bildelement 0 und b2 an dem Bildelement 15 angeordnet. Das Element a1 tritt an dem Bildelement 8 auf. Somit ist a1 - b2 kleiner als oder gleich 0, und a1 - b1 ist größer als 3. Der nächste Zustand ist CA1, und der zu erzeugende internationale Code ist der Horizontal-Modus-Code H. Der nächste Beginn eines Fensters wird mit a1 ausgerichtet.
  • Fig. 7D zeigt ein Kodierfenster in dem Zustand SB1, in dem NA = 0 und NB = 1 ist und das Element a1 an dem Bildelement 3 angeordnet ist. In diesem Beispiel ist b1 an dem Bildelement 0, b2 an dem Bildelement 16 oder jenseits davon, und a1 an dem Element 3 angeordnet. Es existiert kein b2, und somit ist a1 kleiner als b2; und a1 - b1 ist kleiner als oder gleich 3. Der zu erzeugende internationale Code ist VR(3), und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird ausgerichtet mit a1, Bildelement 3.
  • Fig. 7E zeigt ein Kodierfenster in dem Zustand SB1, in dem NA = 0 und NB = 1 ist und das Bildelement a1 an dem Bildelement angeordnet ist, das größer als 3 ist. In diesem Beispiel ist b1 an dem Bildelement 0 angeordnet, und es existiert kein b2. a1 tritt an dem Bildelement 6 auf. Da kein b2 existiert, ist a1 kleiner als b2. a1 - b1 ist größer als 3. Somit lautet der nächste Zustand CA1, und der zu erzeugende Code ist der Horizontal-Modus H. Der nächste Beginn eines Fensters wird auf a1 gesetzt.
  • Fig. 7F zeigt ein Kodierfenster in dem Zustand SB1, in dem NA = 1 und NB = 0 ist. In diesem Beispiel ist b1 an dem Element 0 angeordnet, b2 ist an dem Element 8 angeordnet, und es existiert kein a1. Da kein a1 existiert, ist a1 größer als b2. Somit handelt es sich bei dem erzeugten internationalen Code um den Passier-Modus-Code P, und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird mit dem Bildelement b2 ausgerichtet.
  • Fig. 7G zeigt ein Kodierfenster in dem Zustand SB1, in dem NA = 1 und NB = 1 ist. In diesem Beispiel ist b1 an dem Element 0 angeordnet, und es existiert kein b2. Ferner existiert kein a1. Da kein b2 und kein a1 existieren (d.h. (a1 - b1) > 3), ist der nächste Zustand der Zustand CB1. Der zu erzeugende internationale Code ist unbestimmt. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Bildelement ausgerichtet ist, das dem Ende des Fensters folgt, wie im Zusammenhang mit Fig. 6H beschrieben wurde.
  • Fign. 8A - 8E zeigen Kodierfenster aus dem Zustand SA1 in verschiedenen Zustandsübergängen, wie in Tabelle 2 aufgelistet ist. Fig. 8A zeigt ein Kodierfenster in dem Zustand SA1, bei dem NA = 0, NB = 0 und b1 größer als 3 ist. In diesem Beispiel ist b1 an dem Bildelement 6 und a2 an dem Bildelement 10 angeordnet. Somit ist b1 - a1 größer als 3. Der zu erzeugende internationale Code ist ein Horizontal-Modus-Code H, und der nächste Zustand ist HA0A1. Der nächste Beginn eines Fensters wird mit dem Element a2 ausgerichtet.
  • Fig. 8B zeigt ein Kodierfenster in dem Zustand SA1, bei dem NA = 0, NB = 0 und b1 kleiner als oder gleich 3 ist. In diesem Beispiel ist b1 an dem Bildelement 2, a1 an dem Bildelement und a2 an dem Bildelement 15 angeordnet. In diesem Fall ist b1 - a1 kleiner als oder gleich 3, der zu erzeugende Code ist ein Vertikal-Code VL(2), und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Element a1 ausgerichtet ist, und somit gibt es keine Verschiebung.
  • Fig. 8C zeigt ein Kodierfenster in dem Zustand SA1, bei dem NA = 0 und NB = 1 ist. In diesem Beispiel ist a1 an dem Bildelement 0 und a2 an dem Bildelement 5 angeordnet. Da kein b1 existiert, ist b1 - a1 größer als 3. Der zu erzeugende internationale Code ist der Horizontal-Modus-Code H, und der nächste Zustand ist HA0A1. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Element a2 ausgerichtet ist.
  • Fig. 8D zeigt ein Kodierfenster in dem Zustand SA1, bei dem NA = 1, NB = 0 und b1 größer als 3 ist. In diesem Beispiel ist b1 an dem Bildelement 6 und a1 an dem Bildelement 0 angeordnet. Somit ist b1 - a1 größer als 3. Der nächste Zustand lautet CA1, und der internationale Code ist der Horizontal-Modus-Code H. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Element a2 an dem Ende des Fensters ausgerichtet ist, wie anhand Fig. 6H beschrieben wurde.
  • Fig. 8E zeigt ein Kodierfenster in dem Zustand SA1, bei dem NA = 1 und NB = 1 ist. In diesem Beispiel existiert kein b1, a1 ist an dem Element 0 angeordnet, und es existiert kein a2. In diesem Fall ist b1 - a1 größer als 3, so daß der nächste Zustand CA1 lautet, und der zu erzeugende Code ist H. Der nächste Beginn eines Fensters wird auf das Ende des Fensters eingestellt, wie anhand Fig. 6H beschrieben wurde.
  • Fign. 9A - 9E zeigen Kodierfenster in dem Zustand CB1, um einen Zustandsübergang zu beschreiben, wie in Tabelle 2 aufgelistet ist. Fig. 9A zeigt ein Kodierfenster in dem Zustand SA1, bei dem NA = 0, NB = 0 und X kleiner als oder gleich ist. In diesem Beispiel ist b2 an dem Element 8 und a1 an dem Element 3 angeordnet. Somit ist a1 - b2 kleiner als oder gleich 0. Der nächste Zustand lautet CA1, und der zu erzeugende internationale Code ist ein Horizontal-Modus-Code H. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Element a1 ausgerichtet ist.
  • Fig. 9B zeigt ein Kodierfenster in dem Zustand CB1, bei dem NA = 0, NB = 0 und X größer als 0 ist. In diesem Beispiel ist a1 an dem Bildelement 8 und b2 an dem Bildelement 6 angeordnet. Somit ist b1 - b2 größer als 0, der identifizierte Modus ist der Passier-Modus P, und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Element b2 ausgerichtet ist.
  • Fig. 9C zeigt ein Kodierfenster in dem Zustand CB1, bei dem NA = 0 und NB = 1 ist. In diesem Beispiel existiert kein b2, und a1 = 7. Da kein b2 existiert, ist b2 größer als a1. Somit lautet der nächste Zustand CA1, und der identifizierte Code ist der Horizontal-Modus-Code H. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Bildelement a1 ausgerichtet ist.
  • Fig. 9D zeigt ein Kodierfenster in dem Zustand CB1, bei dem NA = 1 und NB = 0 ist. In diesem Beispiel ist b2 an dem Element 9 angeordnet, und es existiert kein a1. In diesem Fall ist der identifizierte Modus der Passier-Modus P, und der nächste Zustand ist SA0. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Bildelement a2 ausgerichtet ist.
  • Fig. 9E zeigt ein Kodierfenster in dem Zustand CB1, bei dem NA = 1 und NB = 1 ist. In diesem Beispiel existiert kein b1 und kein a1. In diesem Fall lautet der nächste Zustand CB1, und der Code ist unbestimmt.
  • Fign. 10A und 10B zeigen Kodierfenster in dem Zustand CA1, um die Zustandsübergänge gemäß Tabelle 2 zu beschreiben. Fig. 10A zeigt ein Kodierfenster in dem Zustand CA1, bei dem NA = 0 ist. In diesem Beispiel erscheint a2 an dem Element 6. Da a2 ermittelt worden ist, ist der identifizierte Code der Lauflängen-Code aoal, und der nächste Zustand lautet HA1A2. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem Element a2 ausgerichtet ist.
  • Fig. 10B zeigt ein Kodierfenster in dem Zustand CA1, bei dem NA = 1 ist. In diesem Beispiel existiert kein a2. In diesem Fall lautet der nächste Zustand CA1, und der internationale Code ist unbestimmt. Der nächste Beginn eines Fensters wird derart eingestellt, daß er mit dem dem Fenster unmittelbar folgenden Element ausgerichtet ist, wie anhand Fig. 6H beschrieben wurde.
  • Es ist somit ersichtlich, daß während der Zustandsübergänge die zu erzeugenden internationalen Codes durch einen Code identifiziert werden können, der anzeigt, welcher Zustandsübergang aufgetreten ist.
  • Fign. 11A bis 11C und 12 zeigen Flußdiagramme zur Veranschaulichung des Arbeitssequenz der in Fign. 2A bis 2C gezeigten Verdichtungseinheit. Fign. 11A bis 11C zeigen den normalen Betrieb der Verdichtungseinheit beim Kodieren einer Zeile von Daten von einem Faksimile. Fig. 12 zeigt eine Routine, die zum Kodieren des letzten Wortes einer Zeile von Daten implementiert wird.
  • Fig. 11 zeigt den normalen Betrieb der Verdichtungseinheit. In der normalen Routine befinden sich 32 Bits von Bildelementdaten in der Walzenverschiebeeinrichtung 204. Die Information in dem CBSCR1 und dem RBSCR1 bestimmt das Fenster von Bildelementdaten, die bei der Erzeugung des Zwischen-Codes verwendet werden sollen. Die unidirektionalen Farbveränderungsdetektoren CUCCD 215 und RUCCD 216 detektieren die Position des ersten gewünschten Farbveränderungselementes für den Kodierabschnitt des Fensters und den Referenzabschnitt des Fensters, wie bereits erläutert wurde. Der erste Schritt der normalen Routine beginnt mit dem Laden des Wertes von CBSCR1 durch den Multiplexer 298 in das CBSCR2 (Block 1101) Als nächstes wird das Ausgangssignal des unidirektionalen Kodierfenster-Farbveränderungsdetektor CUCCD 215 in das CRLR1 219 und das CRLR2 220 geladen (Block 1102). In ähnlicher Weise wird RBSCR1 durch den Multiplexer 280 an das RBSCR2 übermittelt (Block 1103). In dem nächsten Schritt wird das Ausgangssignal des unidirektionalen Referenzzeilen-Farbveränderungsdetektors RUCCD 216 in das RRLR1 221 und das RRLR2 222 geladen (Block 1104). Die ALU 245 subtrahiert den Inhalt des CS4RLR2 von CBSCR2 und lädt das Ergebnis in CTMP (Block 1105). In ähnlicher Weise subtrahiert die ALU 255 des Wert des RRLR2 von RBSCR2 und lädt das Ergebnis in RTMP (Block 1106). Anschließend subtrahiert die ALU 224 des Wert des RRLR1 von CRLR1 und lädt das Ergebnis in das XRLR-Register (Block 1107). Anschließend führt das programmierbare Logik-Array einen Vorgang zur Erzeugung eines Zwischen-Code aus, wie bereits erläutert wurde (Block 1108). In Abhängigkeit von dem Wert des A/B-Signals auf der Leitung 238 wird eine von zwei Abzweigungen genommen (Block 1109).
  • Falls das A/B-Signal die Wahl des A-Wertes - des Inhaltes von CTMP - für die Steuersignale des nächsten Fenster anzeigt, dann testet der nächste Block, ob der Wert von CTMP kleiner als 16 ist (Block 1110 in Fig. 11b). Falls der Wert nicht kleiner als 16 ist, dann wird die Abzweigung zu Block 1119 genommen. Andernfalls ist der nächste Schritt der Block 1111, in dem ein Steuersignal mit der Bezeichnung viletztes W" geprüft wird. Der Eingangsdatenstrom signalisiert der Verdichtungseinheit, wann das letzte Wort in einer Zeile übermittelt wird, indem das Bit "letztes W" ausgegeben wird, das in Block 1111 getestet wird. Falls das Bit "letztes W" wahr ist, wird der Inhalt des CDIR1 auf CDIR2 verschoben, und der Inhalt des RDIR1 wird auf RDIR2 verschoben, um die Zeilen-End-Routine vorzubereiten (Block 1112). In dem nächsten Schritt werden sowohl das vierte Bit von CDSCR1 als auch das vierte Bit von RBSCR1 auf 1 gesetzt (Block 1140). Als nächstes werden die 4 am weitesten rechts angeordneten Bits des CTMP auf die 4 am weitesten rechts angeordneten Positionen in CBSCR1 und in das RBSCR1 verschoben (Block 1141). Anschließend wird die Zeilen- End-Routine eingegeben (Block 1142). Die Zeilen-End-Routine wird im Zusammenhang mit Fig. 12 beschrieben.
  • Falls das letzte W-Signal in Block 1111 nicht ausgegeben worden ist, wird in dem nächsten Schritt der Inhalt des CDIR1 in das CDIR2 verschoben (Block 1114). Anschließend wird der Inhalt des CDIR1 mit einem folgenden Wort geladen (Block 1115). In ähnlicher Weise wird der Inhalt von RDIR1 in das RDIR2 verschoben (Block 1116), und ein neues Wort wird in das RDIR1 geladen (Block 1117). Diese Aktion gewährleistet, daß stets 32 Bits von Daten für die Walzenverschiebeeinrichtung existieren, damit 16 Bits aus ihnen gewählt werden können. In dem nächsten Block werden die signifikantesten Bits in CBSCR1 und RBSCR1 auf 1 gesetzt. Diese Aktion wird unternommen, um zu gewährleisten, daß der von der Walzenverschiebeeinrichtung gewählte Beginn des Fensters für die 32 Bits von Daten in dem CDIR1 und dem CDIR2 (oder RDIR1 und dem RDIR2) stets zwischen Bit 31 und Bit 16 angeordnet ist.
  • In dem nächsten Block werden die 4 am weitesten rechts angeordneten Bits in dem CTMP in die 4 am weitesten rechts angeordneten Positionen in dem CBSCRL geladen (Block 1119). Ferner werden die 4 am weitesten rechts angeordneten Bits in dem CTMP in das RBSCR1 geladen (Block 1120). Schließlich kehrt die Schleife zum Beginn des normalen Ablaufs zurück (Block 1121).
  • Falls in Block 1109 das Fenstersteuersignal ausgegeben wird, um den B-Wert RTMP zu wählen, dann ist der nächste Block 1122 (Fig. 11C). In dem Block 1122 wird RTMP getestet, um zu bestimmen, ob es kleiner als 16 ist. Falls RTMP nicht kleiner als 16 ist, wird eine Abzweigung zu dem Block 1129 genommen. Falls RTMP kleiner als 16 ist, wird das letzte W-Flag getestet. Falls das Letztes-Wort-Flag aktiviert worden ist, wird eine Abzweigung zu Block 1143 genommen, in dem CDIR1 auf CDIR2 verschoben wird und RDIR1 auf RDIR2 verschoben wird. Als nächstes wird die vierte Bit-Position sowohl von RBSCR1 als auch von CBSCR1 auf 1 gesetzt (Block 1144). Als nächstes werden die 4 am weitesten rechts angeordneten Bits in dem RTMP auf die 4 am weitesten rechts angeordneten Bits in dem CBSCR1 und dem RBSCR1 verschoben (Block 1145). Schließlich tritt der Vorgang in dem Block 1146 in die Zeilen-End-Routine ein.
  • Falls das letzte W-Flag nicht aktiviert war, wird der Wert von CDRI1 in das CDIR2 geladen (Block 1124). Als nächstes wird ein neues Wort in das CDIR1 geladen (Block 1125). In ähnlicher Weise wird der Wert von RDRI1 in das RDIR2 geladen (Block 1126), und ein neues Wort wird in das RDIR1 geladen (Block 1127). Diese Aktion gewährleistet, daß stets 32 Bits von Daten für die Walzenverschiebeeinrichtung vorhanden sind, um ein 16- Bit-Fenster-Segment zu wählen.
  • Ferner werden die am meisten signifikanten Bits in dem CBSCR1 und dem RBSCR1 auf 1 gesetzt, um zu gewährleisten, daß der von den Walzenverschiebeeinrichtungen gewählten Beginn des Fensters für die 32 Bits von Daten in dem CDIR1 und CDIR2 (oder RDIR1 und RDIR2) stets zwischen dem Bit 31 und dem Bit 16 angeordnet ist (Block 1128). Als nächstes werden die 4 am weitesten rechts angeordneten Bits in dem RTMP in die 4 am weitesten rechts angeordneten Positionen in dem CBSCR1 (Block 1129) und in dem RBSCR1 (Block 1130) geladen. Nach dem Laden von CBSCR1 und RBSCR1 in den Blöcken 1129 und 1130 kehrt die Schleife zum Beginn des normalen Vorgangs zurück, Block 1121.
  • Fig. 12 zeigt die Zeilen-End-Routine EOLRT. Wie bereits erwähnt, wird die Zeilen-End-Routine von den Blöcken 1142 oder 1146 in Fig. 11 eingegeben. In dem ersten Schritt der Zeilen- End-Routine erfolgt eine Verschiebung von CBSCR1 zu CBSCR2, RBSCR1 zu RBSCR2, CUCCD zu CLRL2, und RUCCD zu RLRL2 (Block 1201). Als nächstes wird die Differenz zwischen CBSCR2 und CRLR2 in das CTMP geladen, und die Differenz zwischen RBSCR2 und RRLR2 in das RTMP geladen (Block 1202). Als nächstes prüft die Routine, ob der Wert in dem CTMP kleiner als 16 ist (Block 1203). Falls CTMP kleiner als 16 ist, wird der Wert in CDSCR1 zu CRLR1 verschoben (Block 1204), und ein Kodier-Zeilen-End- Flag CEOL wird auf 1 gesetzt (Block 1205). Falls in dem Block 1203 der Wert in dem CTMP nicht kleiner als 16 war, dann wird der Wert von CUCCD auf CRLR1 verschoben (Block 1206).
  • Nach dem Block 1205 oder dem Block 1206 wird in dem Block 1207 der Wert in dem RTMP getestet, um festzustellen, ob er kleiner als 16 ist. Falls das RTMP kleiner als 16 ist, dann wird der Wert in RBSCR1 zu RRLR1 verschoben (Block 1208), und ein Referenz-Zeilen-End-Flag REOL wird auf 1 gesetzt (Block 1209). Falls in Block 1207 der Wert in dem RTMP nicht kleiner als 16 war, dann wird der Inhalt des RUCCD zu RRLR1 verschoben (Block 1210).
  • Nach den Blöcken 1209 oder 1210 wird der Wert X berechnet, indem die Differenz zwischen CRLR1 und RRLR1 in das Register XRLR geladen wird (Block 1211). Als nächstes führt das programmierbare Logik-Array eine Zustands-Funktion aus (Block 1212). In der Zustands-Funktion wird das A/B-Signal ausgegeben (Block 1213). Falls das A/B-Signal den Wert A aufweist, dann wird das CEOL-Flag getestet (Block 1214). Falls das CEOL-Flag eine 1 anzeigt, dann wird der Zeilen-End-Code geltend gemacht (Block 1215). Falls das CEOL-Flag keine 1 anzeigt, dann werden die 4 am weitesten rechts angeordneten Bits in dem CTMP auf die 4 am weitesten rechts angeordneten Positionen in dem CBSCR1 und dem RBSCR1 verschoben (Block 1216). Dann wird ausgehend von dem Block 1217 wieder die Zeilen-End-Routine eingegeben.
  • Falls in dem Block 1213 das A/B-Signal den Wert B aufwies, dann wird in Block 1218 das REOL getestet. Falls das REOL-Flag gleich 1 ist, dann wird in Block 1219 der Zeilen-End-Code getestet. Falls das REOL-Flag nicht gleich 1 ist, dann werden die 4 am weitesten rechts angeordneten Bits in dem RTMP auf die 4 am weitesten rechts angeordneten Positionen in dem CBSCR1 und in dem RBSCR1 verschoben (Block 1220). Als nächstes wird ausgehend von dem Block 1217 die Zeilen-End-Routine wieder eingegeben.
  • SCHLUSSBEMERKUNGEN
  • Die Erfindung führt eine zweidimensionale Faksimile-Kodierung durch, die generell auf den internationalen Standards basiert. Die Erfindung bietet jedoch hinsichtlich der Geschwindigkeit eine große Verbesserung gegenüber dem Stand der Technik. Die Erfindung schafft ferner eine sehr kompakte Architektur, mittels derer die Kodiereinrichtung unter Verwendung der aktuellen VLSI-Technologie in einer IC-Schaltung realisiert werden kann.
  • Bei der Erfindung werden anstelle binärer Bilder Kodierfenster und Farbveränderungs-Codes für die Zustandsmaschine verwendet. Es wird ein neuartiger unidirektionaler Farbveränderungsdetektor verwendet, um die Stelle des Farbübergangs entweder von Weiß zu Schwarz oder von Schwarz zu Weiß entsprechend einem wählbaren Farb-Flag zu detektieren, und die detektierte Farbübergangs-Stelle wird in einen Farbveränderungs-Code konvertiert. Beispielsweise können 16-Bildelement-Daten in einen 4- Bit-Farbveränderungs-Code konvertiert werden. Somit können mehr Daten auf einmal konvertiert werden. Ferner enthalten gemäß der Erfindung die Zustände der Zustandsmaschine anstelle von Information zu früheren Bildelement-Daten Information zur Farbveränderungs-Stelle. Ferner übermittelt die Zustandsmaschine die Fensterbewegungsinformation zwecks Durchführung einer derartigen Steuerung der Walzenverschiebeeinrichtung, daß das Kodierfenster zu der nächsten Farbveränderungs-Stelle verschoben wird, statt daß eine Bit für Bit erfolgende Verschiebung durchgeführt wird.
  • Im Stand der Technik werden sämtliche Farbveränderungselemente a0, a1, a2, b1 und b2 auf einen Referenzpunkt am Beginn jeder Abtastzeile bezogen. Aus diesem Grund ist beim Stand der Technik mindestens eine ALU zum Akkumulieren von Farbveränderungs- Lauflängen erforderlich, um das nächste Farbveränderungselement zu erhalten. Bei der Erfindung werden zwei gleiche Lauflängenregister verwendet, die gewählte Abschnitte der Kodierzeile und der Referenzzeile halten. Die gewählten Abschnitte der Referenz- und der Kodierzeile in dem Fenster werden stets gleichzeitig an dieselbe Stelle verschoben, und es werden sämtliche Farbelemente auf den Beginn des Fensters statt auf den Beginn der Zeile bezogen. Somit ist bei der Erfindung keine ALU erforderlich, um a1, a2, b1 und b2 zu detektieren. Ferner werden sämtliche Vergleiche und Berechnungen der relativen Abstände zwischen diesen Farbveränderungselementen durch die Zustandsmaschine ersetzt. Mit der Erfindung kann somit eine mit sehr hoher Geschwindigkeit erfolgende Kodierung bei kompakter Architektur durchgeführt werden.
  • Die vorstehende Beschreibung der bevorzugten Ausführungsform der Erfindung diente der Veranschaulichung und Erläuterung. Die Beschreibung ist nicht als erschöpfende Beschreibung oder im Sinne einer Beschränkung der Erfindung auf genau diese beschriebene Ausführungsform zu verstehen. Dem versierten Praktiker auf dem Gebiet werden zahlreiche Modifikationen und Variationen ersichtlich sein. Die Ausführungsform wurde gewählt und beschrieben, um eine bestmögliche Erläuterung der Prinzipien der Erfindung und ihrer praktischen Anwendung zu ermöglichen, um andere Fachleute auf dem Gebiet zu befähigen, die Erfindung in Hinblick auf verschiedene Ausführungsformen und verschiedene Modifikationen zu verstehen, wie sie sich je nach dem betreffenden Verwendungszweck ergeben. Der Umfang der Erfindung ist durch die folgenden Ansprüche und deren Äquivalente definiert.

Claims (6)

1. Vorrichtung zum Kodieren eines Faksimiles eines graphischen Bildes, wobei das Faksimile durch mehrere Abtastzeilen repräsentiert ist, jede Abtastzeile durch eine Anzahl n von Bildelementen repräsentiert ist und jedes Bildelement durch Pixel-Daten gekennzeichnet ist, die eine Farbe des Bildelementes angeben, mit:
einer Fenstereinrichtung (204,207), die derart geschaltet ist, daß sie Bildelemente kennzeichnende Pixel-Daten aus einer Kodierzeile und aus einer Referenzzeile des Faksimiles empfängt und auf Fenstersteuersignale reagiert, um aus der betreffenden Kodierzeile und der Referenzzeile ein Fenster mit N Bildelementdaten zu wählen, wobei N< n gilt;
einer Einrichtung (215,216) zum Erzeugen kodierter Signale, die die Position eines ersten Farbänderungs-Bildelementes in jedem der betreffenden Fenster angeben;
einer Einrichtung (290,292,219,221,224,225,229), die auf die kodierten Signale reagiert, um ein Signal zu erzeugen, das die Relativposition des ersten Farbänderungs-Bildelementes in der Kodierzeile im Vergleich zu dem ersten Farbänderungs-Bildelement in der Referenzzeile angibt, und
einer Einrichtung (226,240), die auf das Signal reagiert, das die Differenz zwischen der Position des ersten Farbänderungs-Bildelementes in der Kodierzeile und dem ersten Farbänderungs-Bildelement in der Referenzzeile angibt, und zwar in Bezug auf den Beginn der betreffenden Fenster, um:
(a) die Fensterverschiebungssteuersignale zum Verschieben des Beginns des Fensters von Daten derart zu erzeugen, daß der Beginn des nächsten Fensters auf der Kodierungszeile und der Referenzzeile relativ zu der Position eines der ersten Farbänderungs-Bildelemente positioniert wird; und
(b) ein die abgetasteten Daten repräsentierendes Zwischen- Code-Ausgangssignal zu erzeugen, wobei das Zwischen- Code-Signal an die Kodiereinrichtung (501,502) zum Kodieren des Faksimiles übermittelt wird.
2. Vorrichtung nach Anspruch 1, ferner gekennzeichnet durch:
eine mit der Einrichtung zum Erzeugen kodierter Signale und der Einrichtung zum Erzeugen eines Zwischen-Code-Ausgangssignals kommunizierende Einrichtung (267,268) zum Akkumulieren und Speichern von in der Kodierzeile auftretenden Lauflängen von Bildelementen ohne Farbänderung auf die Zwischen-Codes und die kodierten Signale hin; und
einer Einrichtung (248,271) zum Zuführen der gespeicherten Lauflängen an die Kodiereinrichtung.
3. Vorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß die Einrichtung zum Erzeugen kodierter Signale ferner eine Einrichtung umfaßt, die im wesentlichen gleichzeitig jedes innerhalb des Fensters befindliche Bildelement mit dem ihm vorhergehenden Bildelement vergleicht.
4. Vorrichtung nach einem der vorhergehenden Ansprüche, ferner dadurch gekennzeichnet, daß die Kodiereinrichtung einen Code gemäß einer Industrienorm zur Faksimilekodierung liefert.
5. Vorrichtung nach einem der vorhergehenden Ansprüche, ferner dadurch gekennzeichnet, daß die Kodiereinrichtung einen nichtflüchtigen Speicher (524) aufweist.
6. Vorrichtung nach einem der Ansprüche 1-4, ferner dadurch gekennzeichnet, daß die Kodiereinrichtung einen Nurlesespeicher (524) aufweist, und daß die an der Adresse in dem Nurlesespeicher vorliegenden Daten, die einem Zwischen- Code entsprechen, ein Code gemäß einer Industrienorm zur Faksimilekodierung sind.
DE3855306T 1987-03-24 1988-03-16 Vorrichtung zur zweidimensionalen Codierung von Bilddaten in faksimilecodierten Daten Expired - Fee Related DE3855306T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/029,832 US4807043A (en) 1987-03-24 1987-03-24 Two-dimensional facsimile encoding apparatus with coding and reference line windowing means and color change detectors

Publications (2)

Publication Number Publication Date
DE3855306D1 DE3855306D1 (de) 1996-06-27
DE3855306T2 true DE3855306T2 (de) 1997-01-23

Family

ID=21851133

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3855306T Expired - Fee Related DE3855306T2 (de) 1987-03-24 1988-03-16 Vorrichtung zur zweidimensionalen Codierung von Bilddaten in faksimilecodierten Daten

Country Status (5)

Country Link
US (1) US4807043A (de)
EP (1) EP0284281B1 (de)
JP (1) JPS63256057A (de)
AT (1) ATE138518T1 (de)
DE (1) DE3855306T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0395394B1 (de) * 1989-04-26 1995-06-28 Canon Kabushiki Kaisha Bildkodierverfahren
EP0469716B1 (de) * 1990-07-03 1997-04-23 Canon Kabushiki Kaisha Bildverarbeitungsgerät
JP2794951B2 (ja) * 1990-12-17 1998-09-10 村田機械株式会社 Mr符号の復号化方法
KR100262438B1 (ko) * 1991-05-08 2000-08-01 가나이 쓰도무 연산장치 및 이것을 사용한 비트필드조작 연산방법
CA2063495C (en) * 1991-10-03 1999-03-30 John O. G. Vieth Method and system for compressing data in a multi-channel image processing system
US5245441A (en) * 1991-12-12 1993-09-14 Ruben Murray A Document imaging processing method and apparatus
US6181825B1 (en) * 1994-12-02 2001-01-30 Comsat Corporation Methods for performing 2-dimensional maximum differences coding and decoding during real-time facsimile image compression and apparatus therefor
US5757966A (en) * 1995-07-11 1998-05-26 Xerox Corporation High-speed encoder
US6807309B1 (en) * 2000-12-27 2004-10-19 Canon Kabushiki Kaisha Linear list compression
CN101060577B (zh) * 2007-04-11 2012-03-21 华为技术有限公司 传真方法、系统和传真计算机

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1128645A (en) * 1978-07-31 1982-07-27 Yasuhiro Yamazaki Transmission method and system for facsimile signal
US4509194A (en) * 1982-09-09 1985-04-02 Minnesota Mining And Manufacturing Company Apparatus for producing a code word
US4486784A (en) * 1982-12-27 1984-12-04 International Business Machines Corporation Image compression systems
US4590521A (en) * 1983-08-19 1986-05-20 Advanced Micro Devices, Inc. Picture element generator for facsimile receiver
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
US4558371A (en) * 1983-08-19 1985-12-10 Advanced Micro Devices, Inc. Method and device for two-dimensional facsimile coding
JPS60194672A (ja) * 1984-03-14 1985-10-03 Mitsubishi Electric Corp ランレングス符号化装置
JPS60194671A (ja) * 1984-03-14 1985-10-03 Mitsubishi Electric Corp ランレングス符号化装置
JPH0783427B2 (ja) * 1984-04-03 1995-09-06 キヤノン株式会社 画像伝送方法
JPS63227177A (ja) * 1987-03-17 1988-09-21 Toshiba Corp 2値デ−タ圧縮伸長処理装置

Also Published As

Publication number Publication date
EP0284281A3 (de) 1991-01-09
EP0284281A2 (de) 1988-09-28
ATE138518T1 (de) 1996-06-15
EP0284281B1 (de) 1996-05-22
DE3855306D1 (de) 1996-06-27
JPS63256057A (ja) 1988-10-24
US4807043A (en) 1989-02-21

Similar Documents

Publication Publication Date Title
DE68927477T2 (de) Leistungsfähige Kodierung/Dekodierung in der Zerlegung und im Wiederaufbau eines Hochauflösungsbildes unter Verwendung seiner Kopie geringerer Auflösung
DE69316062T2 (de) Gerät und Verfahren zur Bildkodierung
DE2362111C2 (de) Computergesteuerte Kommunikationsanordnung
DE69422214T2 (de) Doppelpufferschema für die Aufbereitung von mehreren Datenströmen aus gespeicherten Daten
DE69016101T2 (de) Kodierung/Dekodierung bei der Zerlegung und Wiederzusammensetzung eines hochauflösenden Bildes.
DE3587107T2 (de) Drehungsverfahren und -geraet fuer binaere bilder.
DE69329092T2 (de) Huffman-Kode-Decodierungsschaltung
DE2728889C3 (de) Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals
DE2731955A1 (de) Zeichengenerator mit hoher aufloesung
DE3214521A1 (de) Verfahren und einrichtung zur bildverarbeitung
DE3855306T2 (de) Vorrichtung zur zweidimensionalen Codierung von Bilddaten in faksimilecodierten Daten
DE2725193A1 (de) Verfahren und vorrichtung zur statistischen aufloesungsumsetzung
DE3512070C2 (de) Bildverarbeitungsverfahren
DE1512654C3 (de) Verfahren und Codiereinrichtung zur Codierung grafischer Informationen mit verringerter Redundanz
DE3711201C2 (de)
DE3689277T2 (de) Verfahren und vorrichtung zum adaptieren der auflösung von vorlagen.
DE3850029T2 (de) Verfahren und Vorrichtung zur Verarbeitung von Bildelementsignalen.
DE3406624C2 (de)
DE69319539T2 (de) Bildunterabtastungsgerät und Verfahren
DE2826450C3 (de) Verfahren zum Steuern der Übertragung digitaler Signale und Anordnung zur Durchführung des Verfahrens bei einer digitalen Faksimileübertragungseinrichtung
DE2458119C3 (de) Verfahren und Anordnung zur Faksimilecodierung
DE3706470C2 (de)
DE3789948T2 (de) Verfahren und System zur Bildkodierung und -anzeige.
DE69607063T2 (de) Verfahren und System zur Kompression und Dekompression von digitalen Bildsignalen
DE2414239C3 (de) Verfahren und Vorrichtung zum Komprimieren einer binären Informationsfolge

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee