DE3711201A1 - Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet - Google Patents
Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraetInfo
- Publication number
- DE3711201A1 DE3711201A1 DE19873711201 DE3711201A DE3711201A1 DE 3711201 A1 DE3711201 A1 DE 3711201A1 DE 19873711201 DE19873711201 DE 19873711201 DE 3711201 A DE3711201 A DE 3711201A DE 3711201 A1 DE3711201 A1 DE 3711201A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- processing
- code
- unit
- reference line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 362
- 238000013144 data compression Methods 0.000 title claims description 14
- 238000007906 compression Methods 0.000 claims description 63
- 230000006835 compression Effects 0.000 claims description 62
- 238000013500 data storage Methods 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 19
- 230000003068 static effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000000717 retained effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 66
- 238000007781 pre-processing Methods 0.000 description 17
- 230000000153 supplemental effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000013589 supplement Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005056 compaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 230000001877 deodorizing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
- H04N1/411—Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
- H04N1/413—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
- H04N1/417—Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information using predictive or differential encoding
- H04N1/4175—Systems 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Description
Die Erfindung betrifft ein Binärdatenverdichtungs- und
-dehnungs-Verarbeitungsgerät, das Binärdaten mit hoher Geschwindigkeit
zu verdichten und zu dehnen und insbesondere
eine parallele Pipeline-Verarbeitung von nach einer Modifiziert-
Modifiziert-Lese- oder M2R-Methode verdichteten
Binärdaten durchzuführen und damit die Universal- oder
Mehrzweckeinsatzfähigkeit zu verbessern vermag und bei
dem zugeordnete Schaltungen unter Gewährleistung einer
Kostensenkung auf einem (gemeinsamen) Chip angeordnet sind.
Für das Verdichten und Dehnen von Binärdaten sind von der
CCITT empfohlene Codierverfahren, wie die MH-, die MR-
und die M2R-Methode international standardisiert und verbreitet
im Gebrauch. Von den drei genannten Codiermethoden
bietet die M2-R-Methode die höchste Bildverdichtungsleistung.
Die M2-R-Methode ist als Codiermethode für Gruppe-IV-
Faksimilesysteme bekannt. Nach dieser Methode werden
- a) ein Zeilendecode (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 ein Datenverdichtungsverhältnis
gegenüber der MR-Methode verbessert werden. Falls
etwaige Übertragungs- bzw. Übermittlungsfehler auftreten,
wird der Fehler sequentiell zu anschließenden Abtastzeilen
übertragen, was ein grundsätzliches Problem darstellt. Zur
Vermeidung dieses Problems werden in die Verdichtungsverarbeitung
eindimensionale Codierabtastzeilen eingesetzt.
Der Parameter k stellt die Zahl der zweidimensionalen Codierabtastzeilen
zwischen diesen eindimensionalen Codierabtastzeilen
dar.
Ein bisheriges Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgerät
wurde in Software realisiert unter Verwendung
eines Mehrzweck-Mikrorechners für die Durchführung der
Dehnungsverarbeitung codierter Daten nach diesen Methoden.
Bei dieser Verarbeitung ergibt sich kein Problem, wenn ein
solches Gerät auf ein Faksimilesystem angewandt wird, dessen
Datenübermittlungsrate oder -geschwindigkeit auf 9600 bps
(Bits/s) begrenzt ist. Wenn jedoch das bisherige Gerät 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
Dehnungsverarbeitung nach der M2-Methode ausgeführt
wird, ist die Arbeitsgeschwindigkeit im Vergleich zur
MH-Methode erheblich herabgesetzt.
Eine Ursache für das obige Problem liegt im Verarbeitungsverfahren
des gesamten Systems. Insbesondere erfolgt in
einem herkömmlichen System die Decodierung bitseriell. Zur
Lösung des genannten Problems werden verbreitet eine
Parallelverarbeitung, eine Vorausverarbeitung (advanced
processing) und eine Pipeline-Verarbeitung ausgeführt. Die
Binärdatendehnungsverarbeitung läßt sich ersichtlicherweise
in folgendes aufteilen:
- a) Decodierverarbeitung von Code(s)
- b) Erzeugungsverarbeitung von Bilddaten für den decodierten Bode.
Die Decodier- und Erzeugungsverarbeitung kann mithin mittels
getrennter Hardware-Anordnungen parallel durchgeführt werden.
Bei solchen Anordnungen wird, während eim Code gedehnt
wird, der nächste Code decodiert, und die gesamte Verarbeitung
kann dann als Pipeline-Verarbeitung ausgeführt (pipelined)
werden. Wenn nach den MH- und MR-Methoden codierte
Binärdaten gedehnt werden, ergibt sich bei der Vorausverarbeitung
kein Problem. Die M2-Methode ist dagegen mit den
folgenden Problemen behaftet:
Bei allen MH-, MR- und M2R-Methoden ist das (der) Anfangsstück
oder -lauf (starting run) einer jeden Zeile jeweils
ein weißer Lauf (run), der zu weißen Pixels decodiert werden
muß. Im Fall der MH- und MR-Methoden wird ein EOL-Code benutzt.
Demzufolge kann ein Decodierverarbeitungsteil, der
die Vorausverarbeitung ausführt, den Anfang der nächsten
Zeile aufgrund des Vorhandenseins eines EOL-Codes unabhängig
vom Verlauf der Erzeugungsverarbeitung durch einen Erzeugungsverarbeitungsteil
erfassen.
Da jedoch bei der M2R-Methode kein EOL-Code vorhanden ist,
kann der Anfang der nächsten Zeile nur dann erfaßt oder
festgestellt werden, wenn der Erzeugungsverarbeitungsteil
jeden Code entwickelt und ein Ende der Zeile erreicht. Wenn
mithin der Anfang der nächsten Zeile unbestimmt ist, kann
nicht bestimmt werden, ob die Farbe dieses Abschnitts
zwangsweise zu Weiß bestimmt wird.
Infolgedessen kann eine Horizontalmodus-Decodieroperation
unter Verwendung getrennter Codetabellen für einen weißen
Lauf (run) und einen schwarzen Lauf nicht in Vorauslaufweise
eingeleitet werden. Genauer gesagt: bei der Dehnungsverarbeitung
nach der M2R-Methode bei einem herkömmlichen Gerät
kann die Vorausverarbeitung nicht effektiv durchgeführt
werden.
Eine andere Ursache für das Problem der Arbeitsgeschwindigkeit
ist ein Problem des Systemaufbaus.
Wenn das Gerät nach der MH-Codiermethode betrieben wird,
brauchen Bilddaten auf einer unmittelbar vorhergehenden
Zeile nicht eingegeben zu werden. In den MR- und M2R-
Methoden wird dagegen während der Verdichtungs- und
Dehnungsverarbeitung auf Bildmusterdaten auf einer Zeile
oder einer einer entsprechenden Verarbeitungszeile unmittelbar
vorhergehenden Bezugszeile Bezug genommen.
Dies ist im folgenden in Verbindung mit der Dehnungsverarbeitung
in einem herkömmlichen Verdichtungs/Dehnungsverarbeitungsgerät
beschrieben. Dieses Gerät tauscht Bilddaten
mit einem externen Bildspeicher über eine Bilddatenschiene
(oder -bus) aus und bezeichnet eine Adresse des
externen Bildspeichers über eine Bilddatenadreßschiene.
Das Gerät tauscht verdichtete codierte Daten über eine
Codedatenschiene aus. Das Gerät ist damit mit einer
System(sammel)schiene eines Mikrorechners zum Steuern dieses
Geräts für den Empfang von Befehlen oder Anweisungen und
(zumindest eines Teils) einer Adresse auf der Systemschiene
verbunden. Durch Dehnung (expanding) eines über die Codedatenschiene
gelieferten Codes gewonnene Bilddaten werden
auf der Bilddatenschiene ausgegeben, und Bildmusterdaten
auf der Bezugszeile, die für die Dehnungsverarbeitung der
augenblicklichen oder aktuellen Verarbeitungszeile nötig
sind, werden ebenfalls über die Bilddatenschiene aus dem
externen Bildspeicher ausgelesen.
Aus diesem Grund erweist sich bei der MR- und M2R-Methode
eine Datenübertragungsrate oder -geschwindigkeit auf der
Bilddatenschiene, die normalerweise eine große Datenmenge
handhaben muß, häufig als Engpaß für die Gesamtleistung.
Bei der MR- und M2R-Methode ist daher ein(e) Dehnungsrate
oder -grad im Vergleich zur MH-Methode erheblich eingeschränkt.
Da der Bildspeicher logischerweise zweidimensionale Adressen
aufweist, wird eine komplexe Schaltung zur Umwandlung dieser
Adressen in eindimensionale physikalische Adressen benötigt.
Beim genannten Gerät ist normalerweise ein Bilddaten-
Adreßgenerator wichtig. Selbst wenn letzterer jedoch aus
hochqualitativen Bauelementen hergestellt wird, kann er
normalerweise nicht effektiv in dem dieses bisherige Verdichtungs/
Dehnungsverarbeitungsgerät verwendenden System
eingesetzt werden.
Zur Gewährleistung einer Hochgeschwindigkeitsverarbeitung
für andere Bildverarbeitungsfunktionen, z. B. Flächen- oder
Bereichsauszug, Vergrößerung, Verkleinerung, Drehung und
dgl., muß häufig ein ähnlicher Adreßgenerator wie beim genannten
Gerät für eine externe Schaltung vorgesehen sein.
Für die Realisierung eines kompakt gebauten, leichten und
kostengünstigen System ist im Handel eine Vorrichtung erhältlich,
bei der das Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgerät
auf einem Halbleiter-Chip montiert ist. Bei
dieser Vorrichtung muß jedoch die Bilddatenschiene eine
Ausgabeoperation bei der Dehnung und eine Eingabeoperation
bei der Verdichtung ausführen.
Aus diesem Grund müssen den betreffenden Stiften der Bilddatenschiene
Treiber- und Empfänger-Ein/Ausgangsstifte zugewiesen
sein. Da auch die Codedatenschiene eine Eingabeoperation
bei Dehnung und eine Ausgabeoperation bei Verdichtung
ausführen muß, benötigt sie ebenfalls sowohl die
Treiber- als auch die Empfänger-Ein/Ausgangsstifte.
Wenn weiterhin das dieses Gerät verwendende System eine
sog. Pipeline-Verarbeitung durchführt, muß die Datenflußrichtung
bestimmt oder festgelegt werden. Für diesen Zweck
müssen Bilddaten- und Codedatenschiene mittels eines
Wähl(er)kreises umgeschaltet werden, wobei doppelte Bus-
oder Schienenumschaltvorgänge innerhalb und außerhalb
des Geräts nötig sind.
Wenn mithin das Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgerät
als ein (bzw. auf einem) Halbleiter-Chip ausgelegt
wird, nimmt es eine große Chipfläche ein. Da hierbei
verschiedene System-Anwendungsfälle berücksichtigt werden
müssen, kann der in das Gerät integrierte Adreßgenerator
oftmals den Anforderungen des jeweiligen Anwendungsfalls
nicht Rechnung tragen.
Wie erwähnt, ist das bisherige Gerät mithin mit Problemen
bezüglich der Verarbeitungsgeschwindigkeit sowie der Einsatzfähigkeit
für Universal- oder Mehrzweckanwendung behaftet.
Im Hinblick auf die oben geschilderten Gegebenheiten liegt
damit der Erfindung die Aufgabe zugrunde, ein Binärdatenverdichtungs-
und -dehnungs-Verarbeitungsgerät zu schaffen,
das Binärdaten mit hoher Geschwindigkeit zu verdichten
und zu dehnen vermag, insbesondere bei der Dehnungsverarbeitung
von Binärbilddaten, die nach der M2R-Methode
codiert sind, welches zudem einen Eingabecode nach einer
Pipeline-Methode parallel zu decodieren und einen Faksimileendeblock-
oder EOFB-Code (mit demselben Muster wie zwei
aufeinanderfolge EOL-Codes bei der MH- und MR-Methode
auch dann zu erfassen vermag, wenn eine Erweiterungsfunktion,
z. B. ein Nichtverdichtungsmodus, vorgesehen
ist, welches eine Vorausverarbeitung (advanced processing)
zur Ermöglichung einer Dehnungsverarbeitung mit hoher Geschwindigkeit
und damit unter Verkürzung der Verarbeitungszeit
ermöglicht, welches einen weiten Anwendungsbereich
besitzt (z. B. eine Pipeline-Verarbeitung durchzuführen
vermag), welches als ein einziges Halbleiterelement
integriert werden kann und das demzufolge eine entsprechende
Kostensenkung gewährleistet.
Diese Aufgabe wird bei einem Binärdatenverdichtungs- und
-dehnungs-Verarbeitungsgerät, das auf eine für die Hochgeschwindigkeits-
Verdichtung und -Dehnung von Binärdaten
befähigte Verdichtungs/Dehnungs-Verarbeitungssystemausgestaltung
anwendbar ist, umfassend eine Verarbeitungseinheit
zum Eingeben der Binärdaten mit einer vorbestimmten
Datenlänge, zum Ausgeben der eingegebenen Binärdaten als
Bezugszeilendaten in einem Verdichtungsmodus, zum Auslesen
der Bezugszeilendaten entsprechend den eingegebenen Binärdaten,
zum Durchführen einer Dehnungsverarbeitung an den
Binärdaten in einem Dehnungsmodus und einer Verdichtungsverarbeitung
an den Binärdaten im Verdichtungsmodus nach
Maßgabe der ausgelesenen Bezugszeilendaten, zum Ausgeben
von im Dehnungsmodus erzeugten, die vorbestimmte Datenlänge
aufweisenden Bilddaten als die Bezugszeilendaten und zum
Ausgeben der verarbeiteten Binärdaten zu einer externen
Vorrichtung, erfindungsgemäß gelöst durch eine Bezugszeilendaten-
Speichereinheit zum Speichern der eingegebenen
Bezugszeilendaten von der Verarbeitungseinheit in Einheiten
der vorbestimmten Datenlängen für eine augenblickliche
oder aktuelle Verarbeitungszeile und eine nächste Verarbeitungszeile
und zum Ausgeben der ausgelesenen Bezugszeilendaten
zur Verarbeitungseinheit.
Erfindungsgemäß werden die folgenden Wirkungen erzielt:
- 1. Da beim Decodieren eines M2R-Codes eine Vorausverarbeitung zusammen mit Parallelverarbeitung nach Pipeline-Methode möglich ist, kann insbesondere die Dehnungsverarbeitung mit hoher Geschwindigkeit durchgeführt werden. MH- und MR-Codes können derselben Verarbeitung unterworfen werden, so daß ihre Verarbeitungsgeschwindigkeit im Vergleich zum bisherigen Gerät verbessert (erhöht) werden kann.
- 2. Obgleich eine Vorausverarbeitung durchgeführt wird, kann eine Wiederdecodierverarbeitung, wenn eine zu verarbeitende Zeile aktualisiert wird, leicht durchgeführt werden.
- 3. Eine Steuereinheit (controller) kann am Ende einer Zeile (zwei Takte später) augenblicklich feststellen, daß der Decodierverarbeitungsteil 1/2 eines EOFB- Codes erfaßt, auch wenn eine spezielle Verarbeitung an der Grenze von Zeilen zum Diskriminieren des EOFB-Codes nicht ausgeführt wird.
- 4. Da ein Bezugszeilenpuffer vorgesehen ist, braucht kein Bildspeicher für das Auslesen von Bezugszeilenbilddaten benutzt zu werden, was zu einer Hochgeschwindigkeitsverarbeitung führt.
- 5. Da der Bezugszeilenpuffer vorgesehen ist, kann auf eine komplexe Schaltung zum Erzeugen einer Bezugszeilendatenadresse für den Bildspeicher verzichtet werden.
- 6. Da die komplexe Bildspeicheradreßschaltung entfallen kann, kann die Dehnungsverarbeitung zur Ausführung einer Parallelverarbeitung von Binärdaten auf eine unbenutzte oder unbelegte Chipfläche gelegt werden, wodurch eine höhere Verarbeitungsgeschwindigkeit erreicht wird.
- 7. Da keine Adreßschaltung für einen Bildspeicher vorhanden ist, läßt sich das erfindungsgemäße Gerät auf ein System mit einer beliebigen Adreßanordnung anwenden.
- 8. Da eine Übertragungsrichtung einer Daten(sammel)- schiene oder -bus vorherbestimmt ist, läßt sich das Gerät ohne weiteres für ein Pipeline-System (pipelined system) auslegen.
- 9. Da die Übertragungsrichtung der Datenschiene vorherbestimmt ist, kann auch die Chipfläche verkleinert werden.
Im folgenden sind bevorzugte Ausführungsformen der Erfindung
anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild eines Binärdatenverdichtungs-
und -dehnungs-Verarbeitungsgeräts gemäß einer
Ausführungsform der Erfindung,
Fig. 2 ein Blockschaltbild der Anordnung eines Decodier-
und eines Codierendeverarbeitungsteils eines
Decodierverarbeitungsteils gemäß Fig. 1,
Fig. 3 ein Blockschaltbild der Anordnung eines Zählerteils
und eines Erzeugungsteils (generation
section) eines Erzeugungsverarbeitungsteils
gemäß Fig. 1,
Fig. 4 ein Blockschaltbild der Anordnung eines Bezugszeilenadreßgenerators
und eines EOL-Detektors
des Decodierverarbeitungsteils nach Fig. 1,
Fig. 5 ein Blockschaltbild der Anordnung eines a1b1-
Detektors des Erzeugungsverarbeitungsteils
nach Fig. 1,
Fig. 6 eine schaubildliche Darstellung einer Decodiersequenz
des Decodierverarbeitungsteils gemäß
Fig. 2,
Fig. 7 eine schaubildliche Darstellung einer Erzeugungssequenz
des Decodierverarbeitungsteils
gemäß Fig. 2,
Fig. 8 ein Adressenformat eines Decodier-Festwertspeichers
oder -ROMs gemäß Fig. 2,
Fig. 9A ein Ausgabeformat des Decodier-ROMs nach
Fig. 2,
Fig. 9B ein Ausgabeformat eines Lauflängendatenabschnitts
des Ausgabeformats des Decodierer-ROMs
gemäß Fig. 9A,
Fig. 10A bis 10F Zeitsteuerdiagramme zur Verdeutlichung
der Arbeitsweise des Binärdatenverdichtungs-
und -dehnungs-Verarbeitungsgeräts gemäß der
Erfindung,
Fig. 11 eine schematische Darstellung einer Systemkonfiguration
des Binärdatenverdichtungs- und
-dehnungs-Verarbeitungsgeräts gemäß der Erfindung,
Fig. 12 eine schematische Darstellung einer anderen
Ausführungsform des Systems nach Fig. 11 und
Fig. 13 eine schematische Darstellung noch einer anderen
Ausführungsform des Systems nach Fig. 11.
Im folgenden ist zunächst die Anordnung oder der Aufbau
eines Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgeräts
gemäß einer Ausführungsform der Erfindung anhand
von Fig. 1 beschrieben.
Das Gerät gemäß Fig. 1 umfaßt eine Binärdatenverarbeitungs-
Steuereinheit 1 zur Steuerung des Betriebs
des gesamten Geräts, 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.
Der Verdichtungs- und Dehnungs-Verarbeitungsteil 2 umfaßt
einen Decodier(verarbeitungs)teil 7 zum Erzeugen von Lauflängendaten
(run length data), wenn die eingegebenen Binärdaten
ein Code sind, und einen Erzeugungs(verarbeitungs)-
teil 8 zum Erzeugen von Binärbildmusterdaten, die nach
Maßgabe der Lauflängedaten verarbeitet sind oder 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 oder Detektieren
eines EOL-Codes unter einer vorgegebenen Bedingung
einen zur Erzeugung eines EOL-Codes während der
Verdichtungsverarbeitung dienenden Codierende-Verarbeitungsteil
12 und einen Deodierteil 13.
Der Erzeugungsverarbeitungsteil 8 umfaßt einen Zählerteil 14
zum Verriegeln eines Ausgangssignals vom Decodierteil 13
und zum Zählen der Zahl der verarbeiteten Bytes, einen Erzeugungsteil
15 zum Erzeugen von auf der Grundlage von
Daten vom Zählerteil 14 verarbeiteten Binärdaten sowie
einen a1b1-Detektor 16 zum Erfassen von a1 und b1.
Die Steuereinheit 1 ist mit einem Taktgenerator 5 zum Erzeugen
von Steuer-Taktsignalen verbunden, und sie steuert
die Operationszeitpunkte oder -takte (timings) des Decodierverarbeitungsteils
7, des Erzeugungsverarbeitungsteils 8 und
des Bezugszeilenadreßgenerators 3 auf der Grundlage von
Takten bzw. Taktsignalen vom Generator 5, und sie gibt
ferner die nötigen Anweisungen oder Befehle im Verlauf der
Verarbeitung aus.
Die Anordnung der einzelnen Teile ist nachstehend anhand
der Fig. 2 bis 5 näher beschrieben. Es ist darauf hinzuweisen,
daß aus Vereinfachungsgründen ein Steuersignal in
den Figuren nicht dargestellt ist.
Zunächst ist der Decodierverarbeitungsteil 7 im einzelnen
erläutert, dessen Codierende-Verarbeitungsteil 12 und
Decodierteil 13 in Fig. 2 veranschaulicht sind. Der EOL-
Detektor 11 wird später zusammen mit dem Bezugszeilenadreßgenerator
3 anhand von Fig. 4 näher erläutert werden.
Der Decodierteil 13 ist durch eine in Fig. 2 gezeigte
Schaltung, mit Ausnahme des Codierende-Verarbeitungsteils 12,
gebildet. Ein-Byte-Daten werden von einer Eingabedatenschiene
(oder -bus) einem Verreigelungsglied 22 eingegeben
und durch dieses verriegelt. Die durch das Verriegelungsglied
22 verriegelten Binärdaten werden durch einen
Inverter 24 invertiert und dann als Daten K einem Register
26 und dem EOL-Detektor 11 eingegeben. Das Register 26 verschiebt
vorher eingegebene Byte-Daten RDTI15-08 zu Daten
RDTI07-00 nach Maßgabe eines Steuersignals von der Steuereinheit
1, es verriegelt die neuen Eingabedaten als Daten
RDTI15-08 und hält diese als 16-Bit-Daten zusammen mit den
Daten RDTI07-00.
Die 16-Bit-Registerdaten RDTI15-00 werden über den Codierende-
Verarbeitungsteil 12 zu einer Trichterschiebestufe
(funnel shifter) 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
ausgezogen 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 DatenRDTI15-00
durch die Anzeigegröße vom Decodierzeiger 36 erhalten wurde,
und gibt dieses Ausgangssignal zu einem Wähler 31 aus. Im
Fall der Verarbeitung im Nichtverdichtungsmodus werden
Daten LSHT04-00 der Ausgabedaten LSHT08-00 als Daten G
zum Erzeugungsverarbeitungsteil 8 ausgegeben. Die Daten
LSHT08-00 werden zu den Daten LSHT10-09 entsprechend den
Daten X von der Steuereinheit 1 hinzuaddiert und als
11-Bit-Daten zum Wähler 31 ausgegeben. Der Wähler 31
empfängt die den Daten LSHT08-06 oder LSHT08-07 entsprechenden
Daten Y von der Steuereinheit 1. Diese Eingangs-
oder Eingabedaten werden in Abhänigkgiet 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. Lauflängendaten I werden zum Erzeugungsverarbeitungsteil
8 übermittelt. Als Daten DROM11-08 wird
eine decodierte Datenlänge der Eingabedaten ausgegeben.
Als Daten DROM15-12 werden Steuerdaten H zum Bezeichnen
des nächsten Zustands (state) 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 23-Bitdaten als Ergebnis der Addition durch die Addierstufe
34 zu Daten "1" werden, wird dies der Steuereinheit 1
mittels der Daten J gemeldelt. Dies bedeutet, daß die Verarbeitung
für ein Byte abgeschlossen ist. Die Steuereinheit
1 gibt nach Maßgabe der Daten J von der Addierstufe 34 ein
Steuersignal zum Register 26 aus. Das Register 26 bewirkt
eine Linksverschiebung der Daten RDTI15-08 in Einheiten von
Bytes zu Daten RDTI07-00 nach Maßgabe des Steuersignals von
der Steuereinheit 1. Durch das Verriegelungsglied 22 verriegelte
neue Byte-Daten werden im Daten-RDTI15-08-Abschnitt
des Registers 26 nach Maßgabe des Steuersignals von der
Steuereinheit 1 verriegelt. Die unteren drei Bits der
summierten Daten von der Addierstufe 34 werden zum Zeiger
36 ausgegeben, so daß die LSB-Position eines zu decodierenden
Codes stets in den Daten RDTI07-00 des Registers 26
vorhanden ist.
Der Zählerteil 14 und der Erzeugungsteil 15 des Erzeugungsverarbeitungsteils
13 sind nachstehend anhand 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 dargestellt Schaltung gebildet.
Das Decodierergebnis I vom Decodierer-ROM 32 wird dem
Wähler 40 eingegeben, der auch Daten L von der Steuereinheit
1 abnimmt. Diese Daten werden nach Maßgabe eines
Steuersignals von der Steuereinheit 1 gewählt und zum RL-
Zähler 42 ausgegeben. Von den Ausgabedaten vom Zähler 40
wird ein 02-00-Bitabschnitt auch zum Wähler 44 ausgegeben.
Der RL-Zähler 42 ist ein Zähler mit einer 12-Bit-Länge,
und er verriegelt Daten vom Wähler 40 in einer vorbestimmten
Position oder Stelle nach Maßgabe eines Steuersignals
von der Steuereinheit 1. Unter Heranziehung der Ausgabedaten
vom Wähler 40 als Vorgabegröße zählt der RL-Zähler 42
in Übereinstimmung mit den Zählimpulsen von der Steuereinheit
1 herab, und er gibt die Zählung oder den Zählstand
als Daten B zum Wähler 44 und zum 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 Verarbeitungsoperationen
vollständig ist. Der Wähler 44 empfängt das
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 für Farbbezeichnung und Daten für die Anzeige oder
Angabe einer Dehnungs- oder Verdichtungsverarbeitung, von
der Steuereinheit 1 ab. Der Codierer-ROM 46 empfängt Daten
vom Wähler 44 und Daten N von der Steuereinheit 1 als
Adreßdaten und gibt 8-Bit-Daten EROM07-00 zum Wähler 48
aus.
Von den Daten EROM07-00 werden die Daten DROM07-05 zu einer
Addierstufe 52 ausgegeben. Eine durch die Addierstufe 52,
den Wähler 54 und einen Bildzeiger 56 gebildete Schaltung
arbeitet auf dieselbe Weise wie die Schaltungen des Decodierteils
8. Insbesondere erzeugt dabei der Bildzeiger 56
eine Angabe- oder Anzeigegröße. Nach Abschluß der Erzeugungsverarbeitung
für den decodierten Code wird die Anzeigegröße
vom Bildzeiger 56 durch die Addierstufe 52 zu den Daten
EROM07-05 addiert, und die summierten Daten werden zum
Wähler 54 ausgegeben.
Die Daten C werden vom a1b1-Detektor 16 dem Wähler 54 eingegeben
und in Abhängigkeit von einem Steuersignal von
der Steuereinheit 1 gewählt, um als Anzeigegröße des
Bildzeigers 56 zu dienen. Wenn aufgrund der Addition durch
die Addierstufe 52 die 23-Bit-Daten gleich "1" sind, wird
dies durch Daten O der Steuereinheit 1 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, um die gewählten
Daten zu einer Trommelschiebestufe (barrel shifter) 50
auszugeben. 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.
Die Daten RODT07-00 und die Daten RODT15-08 werden durch
den Wähler 64 in Übereinstimmung mit einem Steuersignal
von der Steuereinheit 1 gewählt, und das Wählergebnis wird
dem Wähler 60 eingegeben. Ein Ausgangssignal vom Wähler 60
wird als Daten RODT07-00 einem Register 62 zugeführt,
welches die Daten RODT15-08 nach Maßgabe eines Steuersignals
von der Steuereinheit 1 zu Daten RODT07-00 verschiebt.
Die Daten RODT07-00 und die Daten RODT15-08 werden
zum Wähler 64 ausgegeben.
Weiterhin werden die Daten RODT07-00 als Daten P zum Bezugszeilendaten-
Speicherteil 4 ausgegeben, wenn Bilddaten
für ein Byte erzeugt werden, und sie werden außerdem zu
einem dem Inverter 24 ähnlichen Inverter 66 ausgegeben, um
letztlich auf einer Ausgabedatenschiene ausgegeben zu
werden.
Die Anordnung des Bezugszeilen-Adreßgenerators 3, des
EOL-Detektors 11 des Decodierverarbeitungsteils 7 und
des Bezugszeilendaten-Speicherteils 4 ist nachstehend
anhand von Fig. 4 erläutert.
Der EOL-Detektor 11 des Decodierverarbeitungsteils 7 umfaßt
ein Stopadreßregister 80, einen Komparator 90 und
einen EOL-Detektor 81. Der Bezugszeilen-Adreßgenerator 3
umfaßt einen Adreßzähler 82, eine Addierstufe 84, einen
Wähler 86 und ein Adreßregister 88. Der Bezugszeilendaten-
Speicherteil 4 umfaßt seinerseits einen Wähler 92 und
einen Bezugszeilen-Puffer-Randomspeicher bzw. -RAM 94.
Das Stopadreßregister 80 verriegelt im voraus Einzeilen-
Lauflängendaten und gibt die oberen 10-Bit-Daten zu einem
Komparator 90 aus. Der Adreßzähler 82 nimmt Daten Q von
der Steuereinheit 1 ab. Die Daten Q werden dem Zähler 82
jedesmal dann eingegeben, wenn eine Einbyte-Binärdatenverarbeitung
abgeschlossen ist, und der Zähler 82 speichert
die Daten Q auf, bis die Einzeilenverarbeitung beendet
ist. Ein Ausgangssignal vom Adreßzähler 82 zeigt mithin
die Byte-Position an, bis zu welcher die Binärdatenverarbeitung
auf der entsprechenden Verarbeitungszeile fortgeschritten
ist.
Nach Beendigung der Einzeilenverarbeitung wird der Adreßzähler
82 entsprechend einem Steuersignal von der Steuereinheit
1 rückgesetzt, und er beginnt wieder zu zählen,
wenn die Verarbeitung einer neuen Zeile eingeleitet wird.
Eine Zählgröße oder 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
(run length data) für eine Zeile vom Stopadreßregister 80
in Einheiten von Bytes ab und vergleicht sie mit dem Zählstand
des Adreßregisters 82. Wenn dazwischen eine Koinzidenz
festgestellt wird, bedeutet dies, daß die Bilderzeugung
eine Byte-Position vor dem Ende der entsprechenden Verarbeitungszeile
erreicht hat. Zu diesem Zeitpunkt werden
Daten T zur Steuereinheit 1 ausgegeben.
Die Addierstufe 84 nimmt Daten R von der Steuereinheit 1 ab
und addiert sie zum Zählstand (bzw. zur Zählgröße) des
Adreßzählers 82, um die Summe zum Wähler 86 auszugeben.
Der Wähler 86 wählt Adreßdaten vom Adreßzähler 82 sowie
Adreßdaten von der Addierstufe 84 nach Maßgabe eines
Steuersignals von der Steuereinheit 1, um das Wählergebnis
zum Adreßregister 88 auszugeben.
Das Adreßregister 88 empfängt auch Daten S von der Steuereinheit
1 und gibt diese Daten zusammen mit dem Ausgangssignal
vom Wähler 86 zum Bezugszeilen-Puffer-RAM 94 aus.
Der Puffer-RAM 94 speichert Bilddaten auf einer bzw. für
eine Bezugszeile und Bilddaten für die entsprechende Verarbeitungszeile
zum Verarbeiten der nächsten Zeile. Bilddaten
für zwei Zeilen werden somit im Randomspeicher bzw.
RAM 94 abgespeichert, und Daten S werden von der Steuereinheit
1 zum Adreßregister 88 geliefert, um die Bezeichnungsspeicherbereiche
umzuschalten, d. h. zu bestimmen,
welcher Bereich (bzw. Speicherplatz) gewählt werden soll.
Der Wähler 92 empfängt die eingegebenen Byte-Bilddaten F,
d. h. die Daten RIDT07-00, über den Codierende-Verarbeitungsteil
28, sowie Byte-Daten P, d. h. verarbeitete Bilddaten
RODT07-00, und wählt eine dieser Dateneinheiten nach Maßgabe
eines Steuersignals von der Steuereinheit 1, um dabei
das Wählergebnis im Bezugszeilen-Puffer-RAM 94 abzuspeichern.
Wie aus der Beschreibung des Registers 96 hervorgeht, wählt der
Wähler 86 beim Auslesen von Bezugszeilendaten die Ausgangs-
oder Ausgabedaten von der Addierstufe 84, während er bei
Speicherung der Bezugszeilendaten die Ausgabedaten vom
Adreßzähler 82 wählt, um sie auszugeben.
Wenn zu Beginn der Verarbeitung für eine neue Zeile Bezugszeilendaten
ausgelesen werden, werden (Daten) "2" und "1"
als Daten R von der Steuereinheit 1 der Addierstufe 84
eingegeben, um für das Register 96 nötige Bezugsdaten
auszugeben. Das Register 96 kann sodann die nötigen Bezugszeilendaten
halten. Die Daten REF-3-10 vom Register 96
werden als Daten U zu einem b1-Detektor 102 ausgegeben.
Der EOL-Detektor 81 erfaßt einen EOL-Code, wenn ein Fehler
z. B. im Decodierverarbeitungsteils 7 oder im Erzeugungsverarbeitungsteil
8 auftritt. Der Detektor 81 empfängt Daten H
vom Decodierverarbeitungsteil 7 und meldet die Erfassung
oder Detektierung 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 (pass mode) in einem zweidimensionalen
Modus benutzt.
Aus dem Randomspeicher bzw. RAM 94 ausgelesene Daten werden
durch das Register 96 als Daten REF15-08 verriegelt. Das
Register 96 verschiebt in Einheiten von Bytes Daten 07-04
zu Daten REF-4-1 und Daten REF15-08 zu Daten REF07-00 nach
Maßgabe eines Steuersignals von der Steuereinheit 1, und
es verriegelt Daten vom Randomspeicher 94 als Daten
REF15-08. Einer Bezugszeile zugeordnete Daten U werden
vom Register 96 zum b1-Detektor 102 geliefert. Daten F
werden vom Codierende-Verarbeitungsteil 28 zu einem a1-
Detektor 104 geliefert. Die b1- und a1-Detektoren 102 bzw.
104 nehmen eine Anzeigegröße a0 von einem a0-Zeiger 100
ab und erfassen jeweils Positionen a1 bzw. b1 von Pixels
mit Farbänderungen auf einer Codierzeile und einer Bezugszeile
an der rechten Seite der Position a0 an bzw. im
Register 96.
Die durch den b1-Detektor 102 erfaßte Position b1 wird
zu einer Subtrahierstufe 120 und einem Wähler 108 ausgegeben.
Wenn der Punkt b1 nicht erfaßt wird, wird dies der
Steuereinheit 1 mittels Daten A 2 gemeldet. In Verbindung
mit dem Register 96 wird "+4" zur Position b1 hinzuaddiert.
Die durch den a1-Detektor 104 erfaßte Position a1 wird zu
den Wählern 116 und 114 ausgegeben. Der Wähler 116 wählt
Daten vom a1-Detektor 104 und Daten +4 von der Steuereinheit
1 nach Maßgabe eines Steuersignals von der Steuereinheit
1, und er gibt das Wählergebnis zur Substrahierstufe
120 aus.
Die Subtrahierstufe 120 gibt das Rechenergebnis als Daten
A zum Erzeugungsteil 15 aus. Der Wähler 108 empfängt die
Anzeigegröße vom a0-Zeiger 100 und ein Ausgangssignal (bzw.
eine Ausgabegröße) b1 vom b1-Detektor 102, während der
Wähler 110 eine Größe -4 von der Steuereinheit 1 sowie
Daten B vom Erzeugungsteil 15 abnimmt. Die Wähler 108 und
110 wählen die jeweiligen Ausgänge oder Ausgaben nach Maßgabe
von Steuersignalen von der Steuereinheit 1 und geben
diese zur Addierstufe 112 aus.
Die Addierstufe 112 liefert die Summe zum Wähler 114, der
außerdem das Ausgangssignal a1 vom a1-Detektor 104, die
Anzeigegröße vom a0-Zeiger 100 sowie Daten W von der
Steuereinheit 1 empfängt und ein Ausgangssignal (oder eine
Ausgabe) nach Maßgabe eines Steuersignals von der Steuereinheit
1 wählt. Das gewählte Ausgangssignal wird als
Daten C dem Erzeugungsteil 15 und außerdem als Daten D
dem Decodierteil 13 zugeliefert. Das Ausgangssignal vom
Wähler 114 wird weiterhin durch den a0-Zeiger 100 als Anzeigegröße
verriegelt. Die Anzeigegröße des a0-Zeigers 100
und Daten vom Stopadreßregister 80 werden durch den Komparator
106 verglichen, um damit festzustellen, daß (ob)
die Verarbeitung der letzten Daten, die kleiner sind als
ein Byte, abgeschlossen ist; das Vergleichsergebnis wird
als Daten V zur Steuereinheit 1 ausgegeben.
Im folgenden ist die Arbeitsweise des erfindungsgemäßen
Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgeräts
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 M2R-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 M2R-Methode sind alle Bits
der Bilddaten auf der Bezugszeile am Anfang einer Seite
weiß oder gleich "0". In diesem Zustand wird zunächst durch
den EOL-Detektor 81 ein EOL-Code erfaßt, um die Dehnungsverarbeitung
einzuleiten.
Bei Einleitung einer Dehnungsverarbeitung für eine neue Zeile
wird ein erforderlicher
Zustand initialisiert. Beispielsweise wird die folgende
Initialisierung ausgeführt: Der Adreßzähler 82 wird rückgesetzt,
und von der Steuereinheit 1 werden Daten S zum
Bit "10" des Adreßregisters 88 geliefert, um Adressen umzuschalten.
Danach wird von der Steuereinheit 1 eine Dateneinheit
"1" als Daten R der Addierstufe 84 eingegeben, und
erste Byte-Daten auf der Bezugszeile werden aus dem Bezugszeilen-
Puffer-RAM 94 ausgelesen, um als Daten REF15-08
im Register 96 abgespeichert zu werden. Nach dem Verschieben
der im Register 96 gespeicherten Daten zu Daten REF07-00
wird (die Einheit) "2" als Daten R von der Steuereinheit 1
geliefert, und die aus dem RAM 94 ausgelesenen Byte-Daten
werden auf dieselbe Weise, wie oben beschrieben, als Daten
REF15-08 im Register 96 gespeichert. Die Zeiger 36, 56 und
100 werden rückgesetzt. Daten W werden von der Steuereinheit
1 dem Wähler 114 eingegeben und entsprechend einem
Steuersignal von der Steuereinheit 1 gewählt, so daß ein
neuer Wert bzw. eine neue Größe im a0-Zeiger 100 gesetzt
wird. Die Farbe wird dabei zwangsweise auf "Weiß" gesetzt.
Beispielsweise sei angenommen, daß ein nach der M2R-Methode
codierter Code über eine Eingabedatenschiene dem Decodierverarbeitungsteil
7 in Einheiten von 8 Bits, d. h. 1 Byte,
nach Vornahme der erwähnten Initialisierung eingegeben und
durch das Verriegelungsglied 22 nach Maßgabe eines Steuersignals
von der Steuereinheit verriegelt wird.
In einem Register, das hauptsächlich zum Halten (oder
Speichern) von Bilddaten und eines verdichteten Codes
dient, entspricht das am weitesten links befindliche Bit
dem Bit "0". In einem Register, das hauptsächlich zum
Halten von binären Steuerdaten dient, entspricht das am
weitesten rechts stehende Bit dem Bit "0". Infolgedessen
müssen die eingegebenen Binärdaten invertiert werden. Dies
erfolgt durch den Inverter 24, der die Binärdaten sodann zum
Register 26 und zum EOL-Detektor 11 ausgibt. Im Register 26
werden vorher eingegebene Byte-Daten RDTI15-08 nach Maßgabe
eines Steuersignals von der Steuereinheit 1 zu Daten
RDTI07-00 verschoben, und neue Eingabedaten werden als
Daten RDTI15-08 verriegelt und zusammen mit Daten RDTI07-00
als 16-Bit-Daten gehalten. Auf diese Weise werden am Anfang
einer Seite 2-Byte-Binärdaten eingegeben.
16-Bit-Registerdaten RDTI15-00 werden zum Codierende-Verarbeitungsteil
28 ausgegeben. Diese Schaltung wird nur bei
der Verdichtungsverarbeitung betätigt, während sie bei der
Dehnungsverarbeitung einfach Daten passieren läßt. Die
16-Bit-Registerdaten RDTI15-00 werden daher über den Verarbeitungsteil
28 zur Trichterschiebestufe 30 ausgegeben.
Der Decodierzeiger 36 zeigt die LSB-Position eines als
nächstes auszuziehenden Codes vom oder aus den Registerdaten
RDTI15-00 an, die der Trichterschiebestufe 30 eingegeben
wurden. Letztere erzeugt eine 9-Bit-Ausgabe LSHT08-00,
die durch Linksverschieben der Daten RDTI15-00 um die Zahl
der durch eine Anzeigegröße vom Zeiger 36 angegebenen Bits
erhalten wurde. Wenn beispielsweise die Größe des Zeigers
36 gleich "3" ist, wählt die Trichterschiebestufe 30 Daten
RDTI11-03 aus den Eingabedaten RDTI15-00 und gibt diese als
Daten LSHT08-00 aus.
Die Daten LSHT08-00 werden zu den den Daten LSHT10-09 von
der Steuereinheit 1 entsprechenden Daten hinzuaddiert, und
das Ergebnis wird 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 M2R-Methode die Erzeugungsverarbeitung
eines unmittelbar vorhergehenden decodierten
Codes nicht beendet oder 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 (white run) für einen Anfangscode
der nächsten Zeile, nachdem die Verarbeitung bis zum Ende
der augenblicklichen Verarbeitungszeile fortschreitet,
nicht zwangsweise 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 (advanced
processing) 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 erfindungsgemäß die Decodierung durch Vorausverarbeitung.
Da die MH- und MR-Methoden im Gegensatz zur M2R-Methode
einen EOL-Code verwenden, kann eine Codedateneinheit durch
Vorausverarbeitung decodiert werden, ohne daß der Abschluß
der augenblicklichen Erzeugungsverarbeitung abgewartet zu
werden braucht. Mit der Decodierverarbeitung nach der M2R-
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.
Ein Adressenformat des Decodierer-ROMs 32 (noch zu beschreiben)
zeigt an, wann und welche Daten zu wählen sind.
Der Decodierer-ROM 32 gibt 16-Bit-Daten DROM15-00 des in
Fig. 9A gezeigten Formats nach Maßgabe eines Adressenformats
gemäß Fig. 8 aus. Insbesondere werden dabei Lauflängendaten
als Daten DROM07-00, Codelängendaten als Daten
DROM11-08 und Daten für die Bezeichnung des nächsten Zustands
als Daten DROM15-12 ausgegeben. Die Adressen- und
Ausgangsformate werden später noch näher erläutert werden.
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. Der Zeiger 36 zeigt
auf diese Weise die LSB-Position eines einem decodierten
Code am nächsten gelegenen Codes an.
Wenn die 23-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.
Die Adressen- und Ausgangs- oder Ausgabeformate des Decodierer-
ROMs 32 sind im folgenden anhand der Fig. 8, 9A und 9B
beschrieben. Hierbei ist eine zu decodierende Codeeinheit
ein Identifizier- oder Kenncode eines Horizontalmodus, ein
Ergänzungscode (make-up code), ein Beendigungscode, ein
Vertikalmoduscode, ein Durchlaßmoduscode, ein Erweiterungscode
oder dergleichen. Wenn der Ergänzungscode oder ein
Beendigungscode neun Bits übersteigen, werden zwei Decodierverarbeitungen
ausgeführt.
Eine Adresse des Decodierer-ROMs 32 besitzt eine 11-Bit-
Konfiguration. Der ROM 32 enthält eine eindimensionale
Weißlauf-Codetabelle 1, eine eindimensionale Schwarzlauf-
Codetabelle 2, eine eindimensionale Schwarzlauf-Codetabelle 1,
eine zweidimensionale Codetabelle, Spezialcode-Erfassungstabelle,
Nichtverdichtungscodetabelle 1, Nichtverdichtungscodetabelle 2,
Tabelle für Verarbeitung in anderen Biteinheiten,
die für die Dehnungsverarbeitung vorbereitet
werden, und eine Tabelle für Verdichtungsverarbeitung.
Nahezu alle eindimensionalen Weißlaufcodes (white run one-
dimensional codes) bestehen aus 9 Bits oder weniger. Wenn
eine Lauflänge 1792 Bits oder mehr übersteigt, besteht nur
ein Ergänzungscode aus 10 Bits oder mehr, wobei dieser Ergänzungscode
demjenigen für einen Schwarzlauf (black run)
mit derselben Lauflänge identisch ist. Aus diesem Grund
wird durch die eindimensionale Weißlauf-Codetabelle 1 ein
eindimensionaler Weißlaufcode von 9 Bits oder weniger
verarbeitet. Wenn ein Code aus 10 Bits oder mehr besteht,
wird eine eindimensionale Schwarzlauf-Codetabelle 2 im
Anschluß an die eindimensionale Weißlauf-Codetabelle 1
benutzt.
Ein Code "00" wird von der Steuereinheit 1 als Daten
LSHT10-09 der eindimensionalen Weißlauf-Codetabelle 1
geliefert. Nahezu alle eindimensionalen Schwarzlaufcodes
bestehen aus 10 Bits oder mehr, wobei die maximale Länge
13 Bits beträgt. Ein Schwarzlauf-Ergänzungscode mit einer
Lauflänge von von 1792 Bits oder mehr ist auch einem
Weißlauf gemeinsam. Wenn somit ein Schwarzlaufcode aus
7 Bits oder weniger besteht, wird er mittels der eindimensionalen
Schwarzlauf-Codetabelle 1 verarbeitet; wenn
er aus 8 Bits oder mehr besteht, wird eine Zweischritt-
Decodierverarbeitung unter Heranziehung der eindimensionalen
Schwarzlauf-Codetabelle 2 im Anschluß an die eindimensionale
Schwarzlauf-Codetabelle 1 durchgeführt.
Ein Code "10" wird von der Steuereinheit 1 als Daten
LSHT10-09 der eindimensionalen Schwarzlauf-Codetabelle 1
geliefert, während ein Code "00" als Daten LSHT08-07 geliefert
wird. Der Code "01" wird von der Steuereinheit 1
als Daten LSHT10-09 der eindimensionalen Schwarzlauf-
Codetabelle 2 geliefert. Ein MH-Codeabschnitt eines Codes
im Horizontalmodus, nach der MR- oder M2R-Methode codiert,
wird mittels der eindimensionalen Codetabellen verarbeitet.
Infolgedessen werden Codes eines Durchlaßmodus und eines
Vertikalmodus sowie ein Identifiziercode in einem Horizontalmodus
mittels der zweidimensionalen Codetabelle verarbeitet.
Ein Code "1001" wird von der Steuereinheit 1 als
Daten LSHT10-07 geliefert.
Die Spezialcode-Erfassungstabelle dient zum Erfassen oder
Detektieren eines EOL- oder EOFB-Codes sowie eines Erweiterungscodes
für den Eintritt in den Nichtverdichtungsmodus.
Für diesen Zweck wird ein 6-Bit-Code abgerufen. Ein Code
"10110" wird von der Steuereinheit 1 als Daten LSHT10-06
geliefert. Für den Nichtverdichtungsmodus (uncompressed
mode) sind Nichtverdichtungs-Codetabellen 1 und 2 vorgesehen.
Codes "10100" und "10101" werden von der Steuereinheit
1 jeweils als Daten LSHT10-06 dieser Tabellen geliefert.
Ein Steuercode "10111" wird von der Steuereinheit 1
als Daten LSHT10-06 für die andere Tabelle geliefert.
Das Ausgabeformat des Decodierer-ROMs 32 ist in Fig. 9A
gezeigt. Der 07-00-Bitabschnitt der Daten DROM15-00 repräsentiert
die Lauflängendaten eines decodierten Codes.
Der 11-08-Bitabschnitt der Daten DROM15-00 repräsentiert
die Codelängendaten eines decodierten Codes in Einheiten
von Bits. Der 15-12-Bitabschnitt der Daten DROM15-00 repräsentiert
die nächsten Zustandsdaten, die für Steuerung
benutzt werden, einschließlich der Daten zur Bezeichnung
der als nächstes heranzuziehenden Tabelle, wodurch eine
Farbe für den nächsten Code bezeichnet wird. Diese Daten
signalisieren oder melden der Steuereinheit 1 die Klassifizierung
des Decodierergebnisses, z. B. daß ein decodierter
Code ein Beendigungscode im Horizontalmodus, ein Ergänzungscode
im Horizontalmodus, der (im) Vertikalmodus, der Nichtverdichtungsmodus,
der Erweiterungscode o. dgl. ist.
Das Ausgabeformat der Daten DROM07-00 ist in Fig. 9B dargestellt.
Insbesondere zeigen dabei bei einer eindimensionalen
Codierung des Ergänzungscodes 6 Bits der Daten DROM05-00
eine 64X-Größe an, die durch Dekrementieren einer praktischen
Lauflänge um "1" erhalten wurde. Bei einem Beendigungscode
für eindimensionale Codierung zeigen 6 Bits der Daten
DROM05-00 eine Bitgröße an, die durch Dekrementieren einer
praktischen Lauflänge um "1" erhalten wurde. In einem zweidimensionalen
Codier-Vertikalmodus geben 4 Bits der Daten
DROM03-00 den Zustand (state) der Lauflänge an, d. h. eine
durch Subtrahieren von "4" von einer Differenz zwischen
a1 und b1 erhaltene Größe. In einem zweidimensionalen
Codier-Durchlaßmodus zeigen 4 Bits der Daten DROM03-00
"1100" an.
Im Nichtverdichtungsmodus geben weiterhin Daten DROM02-00
eine Musterlänge an. Wenn daher ein Beendigungscode (000111)
an der rechten Seite von einem durch den Zeiger 36 bezeichneten
Punkt in vom Register 26 erhaltenen Daten eingegeben
wird, werden Daten, die diesen Code als "Beendigungscode
mit einer Weißlauflänge von 1" bezeichnen, in einen
07-00-Bitabschnitt ausgegeben, während Daten, welche den
Code als eine Länge von 6 Bits besitzend angeben, in einem
11-08-Bitabschnitt vom Decodierer-ROM 32 ausgegeben werden,
dem ein Zugriff mit 9 Bits hergestellt wird, beginnend mit
diesem Bit-Muster, d. h. "000111xxx" (x = "0" oder "1").
Insbesondere werden die Lauflängendaten "01000000" als
Daten DROM07-00 und die Codelängendaten "0110" als Daten
DROM11-08 ausgegeben.
Im folgenden ist anhand von Fig. 6 eine Zustandsübergangssequenz
beschrieben, die aufzeigt, auf welche Weise der
Decodierteil 13 bei der Dehnungsverarbeitung auf die
Tabellen Bezug nimmt.
Bei dieser Ausführungsform decodiert der Decodierteil 13
Codes für eine Zeile unter der Steuerung der Steuereinheit
1. Gemäß Fig. 6 zeigt ein Steuersignal 1 D an, ob eine zu
decodierende Zeile eine nach der MH-Methode codierte Zeile
ist. Das Steuersignal 1 D wird von der Steuereinheit 1 für
jede Zeile geliefert. Wenn das Gerät beispielsweise im
MH-Modus betrieben wird, wird das Steuersignal 1 D für alle
Zeilen zu "1" und in anderen Betriebsarten als dem MH-Modus
zu "0". Andere Übergangsbedingungen werden je nach dem
Ausgangssignal vom Decodierer-ROM 32, d. h. den nächsten
Zustandsdaten, bestimmt.
In Fig. 6 geben die verschiedene Zustände anzeigenden
Ellipsen an, auf welche Tabelle unter den verschiedenen,
im Decodierer-ROM 32 gespeicherten Tabellen Bezug genommen
wird. Da die eindimensionale Codierung in weiße und
schwarze Läufe (oder auch Strecken) unterteilt ist, wird
auf verschiedene eindimensionale Codetabellen A und B in
Abhängigkeit von weißen und schwarzen Läufen Bezug genommen.
Bei der beschriebenen Ausführungsform kann der Decodierteil
13 in einem Zyklus einen Code bis zu 9 Bits verarbeiten.
Da in den eindimensionalen Codes solche von 10 Bits oder
mehr vorhanden sind, werden diese in zwei Zyklen verarbeitet.
Zu diesem Zweck werden eindimensionale Codetabellen 1
und 2 aufgestellt oder vorbereitet, wobei die Tabelle 2 in
der eindimensionalen Schwarzlauf-Codetabelle 2 als Codetabellen
der zweiten Stufe der eindimensionalen Codes enthalten
ist. Die eindimensionalen Codetabellen A und B
werden für jede der Stufen 1 und 2 zur Unterscheidung
zweier Läufe, d. h. weißer und schwarzer Läufe, in Horizontalmoduscodes
benutzt.
Die eindimensionalen Codetabellen A und B können für jede
Farbe der Läufe benutzt werden. Wenn die Codetabelle A für
weiße Läufe benutzt wird, wird die Codetabelle B für
schwarze Läufe eingesetzt. Die folgende Beschreibung setzt
voraus, daß die Codetabelle A für weiße Läufe benutzt wird.
Daher entsprechen Tabelle 1A der eindimensionalen Weißlauf-
Codetabelle 1, Tabelle 1B der eindimensionalen Schwarzlauf-
Codetabelle 1 und Tabellen 2A und 2B der eindimensionalen
Schwarzlauf-Codetabelle 2.
Die Spezialcode-Erfassungstabelle ist getrennt für das
Decodieren eines EOL-Codes und von Erweiterungscodes vorgesehen
(von letzteren sind die durch die CCITT-Empfehlung
bezeichneten Codes ein Identifizier- oder Kenncode für
einen Nichtverdichtungsmodus). In den EOL- und Erweiterungscodes
folgen "Nullen" für oder auf 6 Bits oder mehr.
Im folgenden ist ein Fall beschrieben, in welchem eine
nach der MH-Methode codierte eindimensionale Codiermoduszeile
decodiert wird. Da beim Decodieren einer eindimensionalen
Codiermoduszeile das Steuersignal 1 D gleich "1" ist,
wird zunächst eine eindimensionale Codetabelle 1A zum Decodieren
eines Codes benutzt. Wenn der Code aus 9 Bits
oder weniger besteht, kann das Decodieren nur mittels der
eindimensionalen Codetabelle 1A abgeschlossen werden. Wenn
dagegen der Code aus 10 Bits oder mehr besteht, wird anschließend
die eindimensionale Codetabelle 2A benutzt. Ein
eindimensionaler Weißlauf-Code, auch ein Ergänzungscode
oder ein Beendigungscode, bestehen aus 9 Bits oder weniger,
sofern es sich nicht um einen Ergänzungscode mit einer Lauflänge
von 1792 Bits oder mehr handelt. Wenn daher für einen
weißen Lauf Codes mit maximal 9 Bits, wie bei der beschriebenen
Ausführungsform, in einem Zyklus decodiert
werden, wird nur die eindimensionale Codetabelle 1A benutzt.
Für einen Ergänzungscode mit einer Lauflänge von
1792 Bits oder mehr wird nach einer Bezugnahme auf die
eindimensionale Codetabelle 1A der Decodierer-RAM 32
durch Daten X und Y von der Steuereinheit 1 auf der Grundlage
der Daten DROM 15-12 in einen erstem Zyklus angesteuert,
um auf die eindimensionale Codetabelle 2A Bezug zu nehmen
(to refer to).
In einen eindimensionalen Code folgt stets ein schwarzer
Lauf auf einen weißen Lauf und umgekehrt, sofern es sich
nicht um das Ende einer Zeile handelt. Nach dem Ende der
Zeile wird der weiße Lauf zwangsweise gesetzt. Wenn daher
die Decodierung eines Beendigungscodes unter Verwendung
der eindimensionalen Codetabelle 1A oder 2A abgeschlossen
ist, wird der nächste eindimensionale Code mittels der
eindimensionalen
Codetabelle 1B decodiert.
Nahezu alle Schwarzlaufcodes, auch Ergänzungs- und Beendigungscodes,
bestehen aus 9 Bits oder mehr. Wenn daher
in der Praxis ein Schwarzlaufcode decodiert wird, wird auf
die eindimensionale Codetabelle 1B Bezug genommen, worauf
auf die eindimensionale Codetabelle 2B in Abhängigkeit von
Daten X und Y von der Steuereinheit 1 entsprechend der Ausgabe
des Decodierergebnisses Bezug genommen wird. Wenn die
Decodierung eines Beendigungscodes mittels der eindimensionalen
Codetabelle 1B oder 2B abgeschlossen ist, wird die
Farbbezeichnung eines Laufs zur Änderung der Daten X
aktualisiert, worauf die eindimensionale Codetabelle 1A
benutzt wird.
Auf diese Weise werden die eindimensionalen Codetabellen
A und B zur Durchführung der Decodierung für eine Zeile
abwechselnd benutzt. Wenn die Decodierung zum Ende der
Zeile fortschreitet und dabei "Nullen" auf 8 Bits oder mehr
vom Beginn eines Codes in den eindimensionalen Codetabellen
1 und 2 folgen (succeed for), wird die Spezialcode-Erfassungstabelle
benutzt, um einen EOL-Code zu erfassen.
und damit die EOL-Erfassungsverarbeitung auszuführen.
Im folgenden ist die Decodierung von nach der MR- oder M2R-
Methode codierten Codes beschrieben. In diesem Fall entsprechen
das Steuersignal 1 D einer "0" und das Signal 1 D
einer "1". Der Decodierteil 13 bezieht sich daher zunächst
auf die zweidimensionale Codetabelle. Da unter den zweidimensionalen
Codes die Codes im Vertikal- und im Durchlaßmodus
sowie ein Identifiziercode eines Horizontalmodus
aus 6 Bits oder weniger bestehen, wird dieser in Übereinstimmung
mit der zweidimensionalen Codetabelle verarbeitet,
während der nächste Code ebenfalls in Übereinstimmung mit
der zweidimensionalen Codetabelle nach Maßgabe der Daten
X und Y von der Steuereinheit 1 verarbeitet wird.
Wenn die Identifizierung des Horizontalmoduscodes nach der
zweidimensionalen Codetabelle decodiert wird, wird für den
folgenden Code auf die eindimensionale Codetabelle 1A Bezug
genommen, und zwar auf dieselbe Weise, wie bei dem nach
der MH-Methode codierten Code. Derselbe Tabellenübergang
trifft auch hierfür zu. Zu diesem Zeitpunkt wird auf die
eindimensionale Codetabelle A für die erste Farbe, z. B. für
den weißen Lauf, Bezug genommen. Wenn das Decodieren eines
Beendigungscodes abgeschlossen ist, wird auf die eindimensionale
Codetabelle B Bezug genommen, um einen Schwarzlaufcode
zu decodieren.
Wenn die Decodierung des Beendigungscodes unter Heranziehung
der eindimensionalen Codetabelle 1A oder 2B beendet ist,
wird in Abhängigkeit von den Daten X und Y der Steuereinheit
1 nach Maßgabe der Ausgabe des Decodierergebnisses
wiederum auf die zweidimensionale Codetabelle Bezug genommen.
Wenn "Nullen" für oder auf 6 Bits oder mehr vom Beginn eines
decodierten Codes in einer zweidimensionalen Tabelle und "Nullen"
für oder auf 8 Bits oder mehr in eindimensionalen
Codetabellen folgen, wird die Spezialcode-Erfassungstabelle
benutzt, um einen EOL-Code zu erfassen oder festzustellen
und damit die EOL- oder EOFB-Erfassungsverarbeitung auszuführen.
Im folgenden ist der Nichtverdichtungsmodus (uncompressed
mode) beschrieben. Wenn bei der Bezugnahme auf die
Spezialcode-Erfassungstabelle festgestellt wird, daß ein
Code nicht ein EOL-Code ist, d. h. daß es sich um einen
Identifiziercode eines Nichtverdichtungsmodus handelt,
überführt die Steuereinheit 1 den Zustand auf die Nichtverdichtungscodetabelle
1. Mittels letzterer wird dann
dieser Code decodiert. Wenn im Nichtverdichtungsmodus
fünf "Nullen" folgen, wird eine "1" eingesetzt. Infolgedessen
folgen nicht sechs "Nullen", außer für einen Identifiziercode
für die Rückführung auf einen Normalcode.
Wenn "Nullen" für oder auf 6 Bits oder mehr folgen, wird auf
die Nichtverdichtungscodetabelle 2 Bezug genommen, um zu
prüfen, ob es sich um einen Endcode des Nichtverdichtungsmodus
handelt. Wenn der Endcode festgestellt wird, kehrt
die Decodierverarbeitung zu einem Normalcodiermodus zurück,
d. h. zur zweidimensionalen Codetabelle oder zur eindimensionalen
Codetabelle 1A oder 1B.
Wenn der EOL-Code festgestellt wird, wird eine Nachverarbeitung
auf die vorher beschriebene Weise ausgeführt.
Im folgenden ist das Decodieren eines EOL-Codes beschrieben.
Bei der MH- oder MR-Methode wird ein EOL-Code benutzt. Wie
erwähnt, wird dageben bei der M2R-Methode kein EOL-Code benutzt.
Stattdessen wird ein Code EOFB (Ende des Faksimileblocks)
mit zwei aufeinanderfolgenden EOL-Codes benutzt.
Wenn auf die eindimensionale Codetabelle Bezug genommen
wird, folgen, außer für den EOL-Code und einen Erweiterungscode,
keine "Nullen" für bzw. auf 8 Bits oder mehr, sofern
nicht ein Codierungsfehler auftritt. Zu diesem Zeitpunkt
wird der EOL-Code durch Bezugnahme auf die Spezialcode-
Erfassungstabelle nach Maßgabe der Daten X und Y von der
Steuereinheit 1 erfaßt oder festgestellt.
Bei der MR- oder M2R-Methode folgen keine "Nullen" für oder
auf 6 Bits oder mehr in der zweidimensionalen Codetabelle.
Wenn "Nullen" für bzw. auf 6 Bits oder mehr vom Beginn eines
in der zweidimensionalen Codetabelle decodierten Codes
folgen, wird zur Erfassung des EOL-Codes auf die Spezialcode-
Erfassungstabelle Bezug genommen.
Da bei der M2R-Methode Empfangsdaten zusammen mit Prüfdaten
übermittelt werden, kann kein Übermittlungsfehler auftreten.
Ein solcher Fehler kann dagegen bei der MH- und MR-
Methode auftreten. Wenn festgestellt wird, daß ein decodierter
Code einen Fehler enthält, wird ein Steuersignal 1 S
ausgeführt, und die entsprechende Verarbeitungszeile wird
bis zu ihrem Ende übersprungen. Sodann wird der EOL-Code
durch den EOL-Detektor 81 erfaßt, und wenn er als EOL-Code
bestätigt worden ist, wird die EOL-Erfassungsverarbeitung
ausgeführt.
Genauer gesagt: Beim Auftreten eines Fehlers wird die Decodierung
der betreffenden Verarbeitungszeile bis zur Fehlererfassung
oder -feststellung abgeschlossen, und es
wird die Decodierung der nächsten Verarbeitungszeile eingeleitet.
Dieser EOL-Detektorteil wird auch für die Erfassung
eines ersten, am Anfang einer Seite übermittelten
EOL-Codes benutzt.
Bei der M2R-Methode wird, wie erwähnt, eine Fehlerprüfung
bei der Übertragung von Daten durchgeführt. Wenn ein Fehlercode
festgestellt wird, wird eine Wiederübertragungsanforderung
erzeugt, worauf die richtigen Daten übermittelt
werden. Eine Fehlererfassung kann daher entfallen. Wie erwähnt,
wird bei der M2R-Methode kein EOL-Code benutzt,
vielmehr ist stattdessen ein EOFB-Code am Ende der Codes
für eine Seite vorgesehen.
Wenn der Zustand (state) des Decodierteils 13 für die Vorausverarbeitung
nicht einfach geändert wird, kann dann, wenn
die Verarbeitung bis zum Ende der letzten Zeile fortschreitet,
das Vorhandensein (der ersten Hälfte) des EOFB-
Codes nicht geprüft werden. Dieses Problem kann wie folgt
gelöst werden: Wenn in einem schraffierten Abschnitt von
Fig. 6, d. h. während der Decodierung eines aus lauter Bits
"0" bestehenden Codes (ein solcher Zustand) festgestellt
wird und auf die Spezialcode-Erfassungstabelle Bezug genommen
werden muß, kann der Zustand des Decodierteils 13
für die Vorausverarbeitung unabhängig von der vorher genannten
Operation im EOL-Erfassungszustand geändert werden.
Wenn somit die Verarbeitung zum Ende der letzten Zeile
fortschreitet, kann der Decodierteil 13 die erste Hälfte
des EOFB-Codes decodieren und damit anschließend die
zweite Hälfte decodieren.
Wenn ein nach einer anderen Methode als der M2R-Methode,
z. B. nach der MR- oder MH-Methode, codierter Code decodiert
wird, kann erfindungsgemäß die Vorausverarbeitung innerhalb
des Bereichs der Verarbeitung für einen Lauf fortschreiten.
Wenn insbesondere festgestellt wird, daß nach der Bezugnahme
auf die eindimensionale Codetabelle 1 auf die eindimensionale
Codetabelle 2 oder die Spezialcode-Erfassungstabelle Bezug
genommen wird, kann die Verarbeitung für die Bezugnahme auf
die eindimensionale Codetabelle 2 oder die Spezialcode-
Erfassungstabelle beendet werden, bevor die Erzeugungsverarbeitung
für einen unmittelbar vorhergehenden decodierten
Code abgeschlossen ist. Da nämlich diese Methoden EOL-Codes
verwenden, wird auch dann, wenn der Zustand des Decodierverarbeitungsteils
7 für die Vorausverarbeitung geändert
wird, kein Problem aufgeworfen, d. h. die Farbe des Anfangs
der nächsten Zeile wird bestimmt. Das so decodierte Ergebnis
wird zum Erzeugungsverarbeitungsteil 8 ausgegeben.
Im folgenden ist die Arbeitsweise des Erzeugungsverarbeitungsteils
8 für die Verarbeitung von Binärdaten auf der
Grundlage des Decodierergebnisses vom Decodierverarbeitungsteil
7 beschrieben. Das Decodierergebnis, d. h. die Lauflängendaten,
wird dem Erzeugungsverarbeitungsteil 8 eingegeben.
Im folgenden ist ein Fall beschrieben, in welchem
die Lauflängendaten eines eindimensionalen Moduscode zuerst
eingegeben werden.
Es sei angenommen, daß das Decodierergebnis eines Ergänzungscodes
vom Decodierer-ROM 32 dem Wähler 40 eingegeben
wird. In diesem Fall empfängt der Wähler 40 Daten L als
Lauflängendaten von der Steuereinheit 1. Wenn die Ausgabe
bzw. das Ausgangssignal vom Decodierer-ROM 32 entsprechend
einem Steuersignal von der Steuereinheit 1 gewählt wird,
wird das Ausgangssignal dem RL-Zähler 42 eingegeben. Der
RL-Zähler 42 ist ein solcher mit einer 12-Bit-Länge, und
er speichert das Decodierergebnis des Ergänzungscodes vom
Decodierer-ROM 32 in einem 08-03-Bitabschnitt von 6 Bits.
Da die vom Decodierer-ROM 32 ausgegebenen Lauflängendaten
des Ergänzungscodes eine Größe darstellen, die durch Dekrementieren
einer praktischen Lauflänge um "1" erhalten
wurde, wird dem 02-00-Bitabschnitt des RL-Zählers 42
"1" eingegeben, so daß sich "111" ergibt.
Diese Daten werden über den Wähler 44 als Adreßdaten zum
Codierer-ROM 46 ausgegeben, welcher auch Daten mit Daten
für Farbbezeichnung und Daten zur Anzeige der Verdichtungs-
bzw. Dehnungsverarbeitung als Daten N von der Steuereinheit
1 abnimmt. In Abhängigkeit von den dem Codierer-ROM 46
eingegebenen Adreßdaten werden durch diesen ROM 46 8-Bit-
Daten "00000000" oder "11111111" ausgegeben. Die ausgegebenen
Daten werden der Trommelschiebestufe 50 über den
Wähler 48 zugeliefert.
Der Erzeugungsverarbeitungsteil 8 weist eine dem decodierten
Zeiger 36 ähnliche Schaltung auf. Die Trommelschiebestufe 50
nimmt Anzeigedaten vom Bildzeiger 56 ab und dreht die eingegebenen
Daten für die Ausgabe der gedrehten Daten. Da jedoch
alle Bits "0" oder "1" sind, macht es keinen Unterschied,
ob die Daten gedreht werden oder nicht. Da zu diesem
Zeitpunkt die Daten in Einheiten
von Bytes ausgegeben werden, gibt der ROM 46 keine Daten
zur Addierstufe 52 aus. Dies ist deshalb der Fall, weil
die Anzeigegröße des Bildzeigers 56 nicht geändert zu
werden braucht, da die Erzeugungsverarbeitung in Einheiten
von Bytes erfolgt.
Das Ausgangssignal von der Trommelschiebestufe 50 wird dem
Wähler 60 und dem 15-08-Bitabschnitt des Registers 62
zugeführt. Der Wähler 60 empfängt über den Wähler 64 Daten
RODT07-00 oder RODT15-08. In diesem Fall entsprechen die
zu erzeugenden Lauflängendaten einem Ergänzungscode, und
die Daten RODT15-08 werden im Wähler 64 während der Verarbeitung
des Codes gewählt. Außerdem nimmt der Wähler 60
vom Bildzeiger 56 dieselben Anzeigedaten wie die Trommelschiebestufe
50 ab.
Der Wähler 60 wählt Daten vom Wähler 64 ab der LSB-Position
zu einer um "1" kleineren Bitposition aus den Anzeigedaten
vom Bildzeiger 56 und wählt das Ausgangssignal von der
Trommelschiebestufe 50 von bzw. aus den Anzeigedaten zur
MSB-Position, um damit die gewählten Daten als Daten
RODT07-00 des Registers 62 auszugeben.
Wenn beispielsweise die Anzeigedaten des Zeigers gleich "3"
sind, werden die Daten vom Wähler 64 als Daten RODT02-00
und die Daten von der Trommelschiebestufe 50 als Daten
RODT07-03 gewählt. Da bei der obigen Operation ein Bilddatenmuster
für ein Byte erzeugt wird, werden die Daten
RODT07-00 des Registers 62 auf einer Ausgabedatenschiene
über einen dem Inverter 24 ähnlichen Inverter 66 ausgegeben
und als Daten P zum Bezugszeilendaten-Speicherteil 4
geliefert, um in diesem an einer Adresse entsprechend der
augenblicklichen Größe (dem Zählstand) des Adreßzählers 88
gespeichert zu werden. Daraufhin ist ein erster Schritt
der Erzeugungsverarbeitung abgeschlossen, wobei dieser
Zustand durch die Steuereinheit 1 festgestellt wird.
Nach Abschluß der Verarbeitung für ein Byte wird ein Takt
als Dateneinheit Q an den Adreßzähler 82 angelegt, um
diesen um "1" zu inkrementieren bzw. hochzählen zu lassen.
Zu diesem Zeitpunkt wird im Fall eines nach der M2R-
Methode codierten Codes die Größe bzw. der Zählstand des
Zählers 82 mit der Größe bzw. dem Inhalt des Stopadreßregisters
80 verglichen und damit geprüft, ob die Verarbeitung
bis zum Ende der Zeile fortgeschritten ist. Im
Fall eines nach der MR- oder MH-Methode codierten Codes
ergibt sich dabei kein Problem, weil der EOL-Code benutzt
wird.
Die im Register 96 enthaltenen Daten werden um ein Byte
in LSB-Richtung verschoben. Neue Bezugszeilendaten werden
unter Heranziehung der Summe aus dem Zählstand des Adreßzählers
82 und den Daten R als Adresse aus dem Speicherteil
4 ausgelesen und als Daten REF15-08 im Register 96
verriegelt. Zu diesem Zeitpunkt ist oder wird ein Inhalt
des a0-Zeigers nicht verändert. Daten M vom RL-Zähler 42
werden zur Steuereinheit 1 ausgegeben. Letztere prüft auf
der Grundlage der Daten M vom RL-Zähler 42, ob die Erzeugungsverarbeitung
des eingegebenen Ergänzungscodes abgeschlossen
ist.
Ist dies nicht der Fall, so wird der Inhalt des RL-Zählers
42 um "1" dekrementiert bzw. herabgezählt und dann über
den Wähler 44 zum Codierer-ROM 46 geliefert. Die Erzeugungsverarbeitung
wird auf die vorstehend beschriebene
Weise wiederholt, bis die Daten M vom RL-Zähler 42 den
Daten "0" gleich sind. Wenn die Daten M den Daten "0"
gleich sind, stellt die Erzeugungsverarbeitung für den
entsprechenden Ergänzungscode einen letzten Schritt dar,
woraufhin der Beendigungscode verarbeitet wird.
Wenn der Wähler 40 die Daten L wählt, wird ebenfalls dieselbe
Verarbeitung wie für den Ergänzungscode durchgeführt.
Wenn ein Lauf oder Durchlauf derselben Farbe für eine
Länge von 2561 oder mehr andauert, wird ein die Lauflänge
2560 repräsentierender Code entsprechend der Lauflänge wiederholt.
Die Wiederholungszahl und die die Lauflänge (2560-64)
anzeigenden Daten werden als Daten L im RL-Zähler 42 gesetzt.
Wenn die Erzeugungsverarbeitung für die Lauflänge
2560 abgeschlossen ist, wird die Wiederholungszahl um "1"
dekrementiert, worauf die Erzeugungsverarbeitung wieder
ausgeführt wird. Dabei wird die gesamte Erzeugungsverarbeitung
wiederholt, bis die Daten M gleich "0" sind.
Nachstehend ist ein Fall beschrieben, in welchem das Decodierergebnis
eines Beendigungscodes verarbeitet wird.
Das Decodierergebnis oder die Lauflängendaten wird bzw.
werden als Daten I über den Wähler 40 dem 05-00-Abschnitt
des RL-Zählers 42 eingegeben. Der 05-03-Abschnitt des RL-
Zählers 42 wird in Einheiten von Bytes auf dieselbe Weise
wie der Ergänzungscode verarbeitet.
Der Inhalt des 05-03-Bitabschnitts wird jedesmal dann um "1"
dekrementiert, wenn die Erzeugungsverarbeitung eines Bytes
der Bilddaten abgeschlossen ist. Nach Beendigung der Verarbeitung
der Bytedaten wird eine Dateneinheit 02-00, die
kleiner ist als ein Byte, verarbeitet.
Die Dateneinheit 02-00 wird dem Wähler 44 eingegeben und
durch diesen für die Eingabe in den Codierer-ROM 46 auf
dieselbe Weise wie beim Ergänzungscode gewählt. Das durch
den ROM 46 erzeugte Bilddatenmuster wird durch die Trommelschiebestufe
50 verschoben und dann zu einem Datenabschnitt
RODT15-08 des Registers 62 und zum Wähler 60 ausgegeben.
Anschließend wird das Bilddatenmuster durch den Wähler 60
mit den vorher verarbeiteten Daten RODT15-08 nach Maßgabe
der Anzeigedaten vom Bildzeiger 56 zusammengesetzt, und
die zusammengesetzten Daten werden dem Datenabschnitt
RODT07-00 des Registers 62 eingegeben. Dabei werden Daten
entsprechend der Länge der Ausgabebildmusterdaten vom
Codierer-ROM 46 zur Addierstufe 52 als Daten EROM07-05 ausgegeben.
Als Ergebnis wird die Größe des Bildzeigers 56
aktualisiert. Wenn dabei 23 Bits im Ausgangssignal der
Addierstufe 52 zu "1" werden, wird dies der Steuereinheit 1
in Form von Daten O gemeldet, um sie zu informieren, daß
die Verarbeitung für ein Byte abgeschlossen ist. Wenn die
Dateneinheit O ausgegeben wird, gibt das Register 62 Daten
RODT07-00 auf einer Datenschiene über den Inverter 66 in
Abhängigkeit von einem Steuersignal von der Steuereinheit 1
aus, und es speichert diese Daten im Speicherteil 4 als
Daten P. Wenn 23 Bits nicht gleich "1" sind, werden die
Daten RODT07-00 bis zur Erzeugung des nächsten Bilddatenmusters
gehalten bzw. gespeichert.
Wenn das nächste Bilddatenmuster dem Wähler 60 eingegeben
wird, werden die Daten RODT07-00 des Registers 62 über den
Wähler 64 dem Wähler 60 zugeführt. Auf diese Weise wird
dieselbe Operation wiederholt.
Wenn ein Beendigungscode von weniger als einem Byte verarbeitet
werden soll, wird im wesentlichen dieselbe Verarbeitung
wie für die Daten von weniger als ein Byte durchgeführt,
mit dem Unterschied, daß das Decodierergebnis unmittelbar
dem Wähler 44 zugeführt und nicht durch den
RL-Zähler 42 übertragen wird. Die oben beschriebene
Operation kann für einen MH-Codeabschnitt oder -teil eines
nach der MH-Methode codierten Horizontalmoduscodes oder
die nach den MR- und M2R-Methoden codierten Codes durchgeführt
werden.
Nachstehend ist die Erzeugungsverarbeitung für einen Code
im Durchlaßmodus (pass mode) und Vertikalmodus als zweidimensionaler
Codiermodus beschrieben. Wenn auf den Bezugszeilendaten
im Register 96 eine Farbänderungsbitposition
b1 nicht festgestellt wird, wird diese Information
zur Steuereinheit 1 als Dateneinheit A 2 übertragen,
wobei ein Byte des Bilddatenmusters vom Codierer-ROM 46
nach Maßgabe der Daten N von der Steuereinheit 1 erzeugt
wird. Dies Erzeugungsverarbeitung des Bilddatenmusters
erfolgt auf dieselbe Weise wie beim Ergänzungscode eines
Horizontalmodus. Die Anzeigedaten des Bildzeigers 54
bleiben unverändert.
Wenn b1 durch den b1-Detektor 102 des a1b1-Detektors 16
festgestellt oder erfaßt wird, wird b1 zum Wähler 108 geliefert.
Da die Größe b1, wie aus dem Register 96 ersichtlich
ist, ab einer -4-Bitposition gezählt wird, wird zu
ihr "+4" hinzuaddiert. Die Lauflängendateneinheit im
Durchlaßmodus oder Vertikalmodus wird im RL-Zähler 42
verriegelt, und die Bilddaten werden auf die vorher beschriebene
Weise erzeugt. Die Lauflängendaten werden als
Dateneinheit B zum Wähler 110 ausgegeben. Diese, den Wählern
108 und 110 eingegebenen Daten werden in die Addierstufe 112
eingegeben und darin addiert. Wenn die addierten Daten 8
oder mehr betragen, werden die unteren 3-Bitdaten gewählt.
Die unteren 3-Bitdaten der addierten Daten werden zum
Wähler 54 als Dateneinheit C ausgegeben, nachdem die Erzeugungsverarbeitung
des entsprechenden Bilddatenmusters
abgeschlossen ist. Die unteren 3-Bitdaten werden auch zum
a0-Zeiger 100 ausgegeben.
Nachstehend ist ein Fall beschrieben, in welchem ein Nichtverdichtungsmoduscode
eingegeben wird. DieserCode wird
als Dateneinheit G über das Register 58 dem Wähler 48 eingegeben
oder eingespeist. Die folgende Verarbeitung erfolgt
auf dieselbe Weise, wie oben beschrieben. Die Lauflängendaten
dieses Codes werden zum RL-Zähler 42 ausgegeben
und auf dieselbe Weise wie die Vertikal- und Durchlaßmoduscodes
verarbeitet.
Im folgenden ist anhand von Fig. 7 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 Bezugszeildendaten 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 um 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, wie bei
in Fig. 7 gezeigt, herabzuzählen. Wenn durch den a1-Detektor
104 ein Farbänderungspunkt a1 festgestellt w 22207 00070 552 001000280000000200012000285912209600040 0002003711201 00004 22088ird, d. h. wenn
der Inhalt der Daten LSHT08-00 nicht "00000000x" oder
"11111111x" 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 (make-
up code) zu erzeugen.
Der erzeugte Ergänzungscode wird über den Wähler 48 zur
Trommelschiebestufe 50 geliefert und in letzterer nach
Maßgabe der Anzeigedaten vom Bildzeiger 56 gedreht. Der
gedrehte Code wird dem Datenabschnitt RODT15-08 des
Registers 62 und auch dem Wähler 60 zugeführt. Im Wähler 60
wird der gedrehte Code auf dieselbe Weise wie bei der
Dehnungsverarbeitung mit einem Ausgangssignal oder einer
Ausgabe des Wählers 64 kombiniert, und zwar in Abhängigkeit
von den Anzeigedaten des Bildzeigers 56. Gleichzeitig
wird die Länge des erzeugten Ergänzungscodes vom Codierer-
ROM 46 zur Addierstufe 52 als Daten EROM07-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
vorstehend beschrieben, verarbeitet. Dabei werden Daten
RODT15-08 im Wähler 64 gewählt. Nach Beendigung der Erzeugungsverarbeitung
des Ergänzungscodes wird der 11-03-
Bitabschnitt des RL-Zählers 42 freigemacht, und der 02-00-
Bitabschnitt wird zum 05-03-Bitabschnitt verschoben,
während die restlichen Daten, die kleiner sind als ein
Byte, dem 02-00-Bitabschnitt des RL-Zählers 42 eingegeben
werden. Das Ergebnis wird ebenfalls zum Codierer-ROM 46
ausgegeben und auf dieselbe Weise wie im Fall des Ergänzungscodes
verarbeitet, um einen verdichteten Beendigungscode
(terminating code) 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 M2R-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 festgestellt oder erfaßt
werden, wird die Verdichtungsverarbeitung von zweidimensionalen
Codes eingeleitet.
Die erfaßten Größen oder Einheiten 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.
Die Betriebszeitsteuerung oder der Betriebstakt des
Decodierverarbeitungsteils 7 beim Decodieren eines nach
der M2R-Methode codierten Codes ist im folgenden im Zusammenhang
mit der Arbeitsweise des Erzeugungsverarbeitungsteils
8 anhand der Fig. 10A bis 10F beschrieben.
Im i-ten Schritt beginnt der Decodierverarbeitungsteil 7
eine Decodieroperation eines n-ten Laufs, doch wartet
er ab, während er die Operation unvollendet läßt.
Obgleich die Bildmusterzeugung herkömmlicherweise in Einheiten
von Bytes parallel durchgeführt werden kann, wird
die Decodierung von Codes bitseriell ausgeführt.
Da im Gegensatz dazu erfindungsgemäß die Code-Decodierung,
wie oben beschrieben, parallel ausgeführt wird, können die
meisten Codes mit einer hohen Erscheinungsfrequenz in
einem Zyklus decodiert werden.
Da bei der Decodierung nach der M2R-Methode nach dem Ergebnis
vom Erzeugungsverarbeitungsteil 8 diskriminiert oder
entschieden wird, ob die Decodierung bis zum Ende einer
Zeile vollständig ausgeführt ist, führt der Decodierverarbeitungsteil
7 die Vorausverarbeitung für den nächsten
Code nicht vollständig durch, sondern unterbricht die Verarbeitung
unmittelbar vor der Änderung des Zustands. Wenn
der Zustand des Decodierverarbeitungsteils 7 für die Vorausverarbeitung
geändert wird, um z. B. einen Bit-Zeiger weiterzuschalten,
kann eine Einrichtung zum Zurückstellen oder
Zurückführen desselben erforderlich sein.
Wenn die Verarbeitung im Erzeugungsverarbeitungsteil 8
abgeschlossen ist und eine Position auf der entsprechenden
Verarbeitungszeile des Laufs festgestellt wird, wird geprüft,
ob diese Position mit der äußersten rechten Position
einer Zeile koinzidiert. Wenn keine Koinzidenz festgestellt
wird, führt der Decodierverarbeitungsteil 7, weil die normale
Decodierung ausgeführt werden kann, die Decodierverarbeitung
vollständig durch, und er sendet das Decodierergebnis
zum Erzeugungsverarbeitungsteil 8 und startet die Verarbeitung
des nächsten Laufs oder Durchlaufs.
Der Erzeugungsverarbeitungsteil 8 beginnt die Bildmustererzeugung
auf der Grundlage der vom Decodierverarbeitungsteil
7 übermittelten Lauflängendaten. Wenn eine Position
auf der entsprechenden Verarbeitungszeile des Laufs mit
dem Ende der Zeile koinzidiert, nachdem der Erzeugungsverarbeitungsteil
8 die Verarbeitung für die Fertigstellung
der augenblicklichen Verarbeitungszeile ausführt, erfolgt
durch die Steuereinheit 1 eine Vorbereitung für die nächste
Verarbeitungszeile, z. B. ein Umschalten der Speicherbereiche
des Speicherteils 4 zum Halten oder Aufnehmen von Bezugszeilenbilddaten.
In diesem Fall meldet der Erzeugungsverarbeitungsteil
8 das Ende der Zeile zum Decodierverarbeitungsteil
7 über die Steuereinheit 1.
Da der Anfang der Zeile, wie oben beschrieben, als weißes
Lauf- bzw. Vorsatzstück festgestellt wird, bewirkt der
Decodierverarbeitungsteil 7 unter Verwendung der Information
vom Erzeugungsverarbeitungsteil 8 die Wiederdecodierung
des betreffenden Codes zu "Weiß". Da zu diesem Zeitpunkt
der Decodierverarbeitungsteil 7 die Vorausverarbeitung unter
Zustandsänderung noch nicht beendet hat, kann er ein neues
Decodierergebnis nur durch Änderung der Farbbezeichnung
ableiten. Wenn ein Objekt der Vorausverarbeitung ein Code
von 10 Bits oder mehr ist, der eine Zweischrittverarbeitung
erfordert, wartet der Decodierverarbeitungsteil 7 die Information
oder Anweisung vom Erzeugungsverarbeitungsteil 8
ab, ohne den ersten Schritt vollständig auszuführen.
Der Decodierverarbeitungsteil 7 vermag einen Code aus 9 Bits
oder weniger in einem Schritt zu decodieren, und nahezu
alle eingegebenen Codes bestehen normalerweise aus 9 Bits
oder weniger. Selbst wenn daher die Vorausverarbeitung
unterbrochen wird, ohne daß der Decodierverarbeitungsteil 7
veranlaßt wird, seinen Zustand zu ändern, kann der Decodierverarbeitungsteil
7 unmittelbar das Decodierergebnis des
nächsten Laufs (oder Zeilendurchlaufs) ableiten, nachdem
der Erzeugungsverarbeitungsteil 8 die Erzeugungsverarbeitung
für den augenblicklichen Lauf abgeschlossen hat. Außerdem
kann der Erzeugungsverarbeitungsteil 8 die Verarbeitung
des betreffenden Laufs ohne Wartezeit einleiten.
Die Beziehung zwischen den Operationen des Decodierverarbeitungsteils
7 und des Erzeugungsverarbeitungsteils 8 ist
im folgenden anhand der Fig. 10A bis 10C im einzelnen erläutert.
Im i-ten Schritt beginnt der Decodierverarbeitungsteil
7 mit der Decodieroperation eines n-ten Laufs oder
Zeilendurchlaufs, doch hält er vor vollständiger Ausführung
dieser Operation an. Es sei angenommen, daß der Erzeugungsverarbeitungsteil
8 die Erzeugungsverarbeitung eines (n-1)ten
Laufs durchführt und diese Verarbeitung in einem Schritt
vollständig ausführt. Dabei führt der Decodierverarbeitungsteil
7 die Decodierung des n-ten Laufs vollständig durch
und liefert damit das Decodierergebnis für den n-ten Lauf.
Genauer gesagt: Nach vollständiger Beendigung der Erzeugungsverarbeitung
eines Bilddatenmusters im Erzeugungsverarbeitungsteil
8 ist in diesem Schritt auch die Verarbeitung
durch den Decodierverarbeitungsteil 7 vollständig abgeschlossen.
Danach beginnt in einem (+1)ten Schritt der
Decodierverarbeitungsteil 7 die Decodierung eines Codes in
einem (n + 1)ten Lauf, und er hält in einem Zustand unmittelbar
vor vollständiger Durchführung der Decodierung an. Wenn
der durch den Decodierverarbeitungsteil 7 decodierte n-te
Lauf aus einem 3-Byte-Bilddatenmuster besteht, kann der
Erzeugungsverarbeitungsteil 8 den n-ten Lauf nicht in
einem Schritt verarbeiten. Der Decodierverarbeitungsteil 7
behält dabei den augenblicklichen Zustand auch nach dem
(i + 2)ten Schritt bei.
Wenn der Erzeugungsverarbeitungsteil 8 die Verarbeitung
für den n-ten Lauf in (i + 3)ten Schritt vollständig durchführt
und dabei der Code im (n + 1)ten Lauf aus 9 Bits oder
weniger besteht, führt der Decodierverarbeitungsteil 7
die Decodierverarbeitung des (n + 1)ten Laufs vollständig
durch, und er leitet die Decodierung des nächsten, (n + 2)ten
Laufs im (i + 4)ten Schritt ein. Der Erzeugungsverarbeitungsteil
8 beginnt ein Bilddatenmuster des (n + 1)ten Laufs nach
Maßgabe des Decodierergebnisses vom Decodierverarbeitungsteil
7 zu erzeugen. Auf diese Weise kann der Erzeugungsverarbeitungsteil
8 normalerweise die Verarbeitung ohne
jede Wartezeit beginnen.
Die Fig. 10D bis 10F veranschaulichen ein ähnliches Beispiel
für die Operation in dem Fall, in welchem ein Code
in einem (n + 1)ten Lauf aus 10 Bits oder mehr besteht. Der
Decodierverarbeitungsteil 7 beginnt die Decodierung des
(n + 1)ten Laufs im (i + 1)ten Schritt, doch unterbricht er
die Verarbeitung, ohne sie vollständig auszuführen. Sobald
der Erzeugungsverarbeitungsteil 8 die Verarbeitung des
n-ten Laufs im (i + 3)ten Schritt vollständig ausgeführt hat,
schließt der Decodierverarbeitungsteil 7 die erste Stufe
der Decodieroperation des (n + 1)ten Laufcodes ab. Anschließend
decodiert der Decodierverarbeitungsteil 7 die zweite Stufe
des (n + 1)ten Laufcodes.
Der Erzeugungsverarbeitungsteil 8 hat im (i + 4)ten Schritt
noch kein neues Decodierergebnis vom Decodierverarbeitungsteil
7 erhalten und legt somit eine Pause zum Empfangen
dieses Ergebnisses ein. Wenn der Decodierverarbeitungsteil 7
die Decodierung des (n + 1)ten Laufcodes im (i + 4)ten Schritt
abschließt, führt der Erzeugungsverarbeitungsteil 8 eine
Bilddatenmuster-Erzeugungsverarbeitung des (n + 1)ten Laufs
im (i + 5)ten Schritt durch.
Auf diese Weise arbeitet der Erzeugungsverarbeitungsteil 8
im Fall eines Codes mit 10 Bits oder mehr mit einer Wartezeit.
Da jedoch die Erzeugungsfrequenz von Codes mit 10
Bits oder mehr niedrig ist, hat diese Wartezeit nahezu
keinerlei Einfluß auf die Gesamtleistung des Geräts.
Die Konfiguration bzw. der Aufbau des Systems, auf welche
das oben beschriebene Binärdatenverdichtungs- und -dehnungs-
Verarbeitungsgerät angewandt ist, ist nachstehend näher erläutert.
Fig. 11 veranschaulicht eine andere Ausführungsform der Erfindung.
Das System gemäß dieser Ausführungsform umfaßt einen
Verdichtungs/Dehnungs-Verarbeitungsteil 327, einen Bezugszeilen-
Adreßgenerator 328 und einen Speicher 326 zum Speichern
von Bezugszeilendaten. Der Verarbeitungsteil 327 ist derselbe
wie der Verdichtungs- und Dehnungs-Verarbeitungsteil 2 bei der
vorher beschriebenen Ausführungsform, während der Generator
328 dem Generator 3 entspricht. Der Speicher 326 entspricht
dem Bezugszeilen-Speicherteil 4 und umfaßt einen statischen
Hochgeschwindigkeits-RAM. Der Verarbeitungsteil 327 und der
Generator 328 sind in einem großintegrierten Schaltkreis (LSI)
320 integriert.
Der LSI-Schaltkreis 320 weist eine Eingabedatenschiene
oder -bus 321 und eine Ausgabedatenschiene oder -bus 322
mit einer 1-Byte-Breite oder -Weite auf. Bei der Dehnungsverarbeitung
empfängt der LSI-Schaltkreis 320 Codedaten
von der Eingabedatenschiene 321, und er gibt Bilddaten
als Ergebnis der Dehnungsverarbeitung auf der Ausgabedatenschiene
322 aus. Bei der Verdichtungsverarbeitung
empfängt der LSI-Schaltkreis 320 Bilddaten über die Eingabedatenschiene
321, während er einen Code als Ergebnis
der Verdichtungsverarbeitung auf der Ausgabedatenschiene
322 ausgibt.
Der LSI-Schaltkreis 320 liefert auf einer Adreßleitung 323
eine Adresse zum statischen Randomspeicher oder RAM 326.
Der Schaltkreis 320 gibt Anweisungen für Lese/Einschreibmodus,
Ausgabefreigabemodus und dgl. über eine Anzahl
von Steuerleitungen 324 aus und stellt einen Zugriff zu
Bilddaten auf einer Bezugsleitung oder -zeile über eine
Daten(sammel)schiene 325 her. Im Gegensatz zum erwähnten
herkömmlichen Verarbeitungsgerät benötigt der Schaltkreis
320 keine Bildspeicher-Adressierschaltung, und er braucht
lediglich mit einem kleinen Bezugszeilen-Adreßgenerator
328 versehen zu sein, der hauptsächlich durch einen Zähler
gebildet wird. Durch Ausnützung einer restlichen Chipfläche
kann ein mit hoher Geschwindigkeit arbeitender
Verdichtungs/Dehnungs-Parallelverarbeitungsteil 327 angeordnet
werden.
Im folgenden ist der Unterschied der Grundoperationen zwischen
dem in Fig. 11 gezeigten System und einem herkömmlichen
System bei der Dehnungsverarbeitung beschrieben.
Im grundsätzlichen Betrieb der Dehnungsverarbeitung werden
codierte Daten beim herkömmlichen System über eine Systemsammelschiene
und bei der dargestellten Ausführungsform
über die Eingabeschiene 321 empfangen oder abgenommen,
wobei Bilddaten in Übereinstimmung mit einem decodierten
M2R-Code erzeugt werden. In diesem Fall ist eine Operation,
die stets für jedes Byte der Bilddaten ausgeführt wird,
von besonderer Wichtigkeit, wobei die Ausführgeschwindigkeit
bei dieser Operation die Gesamtleistung bestimmt.
Dies wird später noch näher erläutert werden.
Um beim herkömmlichen System Bilddaten auf einer Bezugszeile
auszulesen, werden deren Adresse berechnet und auf
eine Bilddaten-Adreßschiene ausgegeben, während ein Leseanforderungssignal
zu einem Bildspeicher geliefert wird.
In einer Steuerschaltung für den Bildspeicher ist ein
Funktions- oder Folgegenerator (arbiter) nötig, um eine
Anzahl von Zugriffsanforderungen zu verarbeiten und sie
von denen höherer Prioritäten aus auszuführen. Über eine
Bilddatenschiene werden ausgelesene Bilddaten eingegeben
und von einem Verdichtungs/Dehnungsverarbeitungsteil
empfangen. Die Dehnungsverarbeitung erfolgt auf der
Grundlage eines dem Verarbeitungsteil auf einer Codedatenschiene
eingegebenen M2R-Codes und der vom Bildspeicher
über die Bilddatenschiene eingegebenen Bilddaten, wobei
die resultierenden Bilddaten auf der Bilddatenschiene
übermittelt werden. Gleichzeitig wird eine Adresse des
Bildspeichers, in welche die Bilddaten eingeschrieben
werden sollen, durch einen Bilddaten-Adreßgenerator berechnet
und auf der Adreßleitung ausgegeben. Da die Bilddatenschiene
nicht nur für die Ausgabe des Dehnungsverarbeitungsergebnisses,
sondern auch für das Auslesen von
Bilddaten auf einer Bezugszeile benutzt wird, ist in
diesem Fall die Dehnungsverarbeitungsgeschwindigkeit des
herkömmlichen Systems beschränkt. Bei diesem herkömmlichen
System ist daher ein Randomspeicher mit einer Kapazität
entsprechend derjenigen des Bildspeichers und des Funktions-
oder Folgegenerators (arbiter) in der Steuerschaltung
erforderlich; der Randomspeicher besitzt dabei eine niedrige
Zugriffgeschwindigkeit.
Da das erfindungsgemäße System gemäß Fig. 11 den Spezialzweck-
Bezugszeilen-Pufferspeicher 326 aufweist, braucht
die Ausgabedatenschiene 322 nur für die Ausgabe des resultierenden
Bilds von der Dehnungsverarbeitung benutzt
zu werden. Die Adreßberechnung für einen nicht dargestellten
Bildspeicher erfolgt nicht im LSI-Schaltkreis 320.
Normalerweise muß das Bildverarbeitungssystem verschiedene
Verarbeitungsarten ausführen, z. B. Bildvergrößerung,
-verkleinerung u. dgl., und eine für die jeweiligen Systeme
geeignete Hochgeschwindigkeits-Adreßrechenschaltung (nicht
dargestellt) aufweisen. Bei Verwendung einer solchen
Schaltung werden die von der Datenschiene 322 abgenommenen
Bilddaten in den Bildspeicher eingeschrieben.
Während die 1-Byte-Bilddaten auf der Ausgabedatenschiene
322 übermittelt werden, können die Sammelschiene 325,
die Adreßleitung 323 und die Steuerleitung 324 für das
Auslesen von Bezugszeilendaten und für den Einschreibzugriff
des Dehnungsverarbeitungsergebnisses doppelt bzw.
zweifach genutzt werden. Im Gegensatz zum Bildspeicher
beim bisherigen System ist der Bezugszeilen-Pufferspeicher
326 jedoch speziell für diesen Zweck vorgesehen. Da somit
der Pufferspeicher 326 keinen Funktionsgenerator für beliebige
Funktionen (arbitration) erfordert und nur eine
sehr kleine Kapazität (etwa 1 kB) zu besitzen braucht,
ist es dabei einfach, den Lese/Einschreibzugriff mit der
doppelten Geschwindigkeit wie beim bisherigen Bildspeicher
durchzuführen.
Wie erwähnt, dient die Eingabeschiene 321 gemäß Fig. 11
für die Abnahme von Codedaten und Bilddaten, doch wird
sie auch für die Abnahme oder den Empfang von Steuerdaten
für z. B. die Bezeichnung einer Verdichtungs/Dehnungsmethode
(MH-, MR- oder M2R-Methode), der Zahl der Bits pro Zeile
u. dgl. benutzt. Die Ausgabeschiene 322 dient zum Ausgeben
von Bilddaten und Codedaten und wird auch für das Aussenden
von Statusdaten (Bereit, Belegt, Vorhandensein/Fehlen
von Fehlern u. dgl.) benutzt. Die Austauschsteuerung von
Steuerdaten und Statusdaten kann durch Lese/Einschreibzugriff
eines normalen Ein/Ausgabe-Registers realisiert
werden.
Fig. 12 veranschaulicht eine Ausführungsform, bei welcher
das erfindungsgemäße System in einem Einchip -LSI-
Schaltkreis 330 mit dem Bezugszeilen-Pufferspeicher 326
gemäß Fig. 11 angeordnet bzw. integriert ist. Dies läßt
sich durch Verwendung eines in letzter Zeit entwickelten,
teilweise speziell angefertigten großintegrierten Schaltkreises
(LSI) eines Standardzellentyps erzielen.
Fig. 13 veranschaulicht eine Ausführungsform, bei welcher
ein eine große Kapazität besitzender Hochgeschwindigkeits-
Chronologiespeicher bzw. FIFO-Speicher (z. B. PD41101C der
Fa. NEC) als Bezugszeilen-Pufferspeicher 344 vorgesehen
ist. Da bei dieser Ausführungsform der Adreßgenerator 328
weggelassen werden kann, können einseitig gerichtete
Sammelschienen oder -busse angewandt werden. Da Eingangsschiene
341 und Ausgangsschiene 343 voneinander getrennt
sind, braucht keine Operation mit doppelter Geschwindigkeit
durchgeführt zu werden.
Claims (19)
1. Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgerät
zum Verdichten und Dehnen von Binärdaten mit hoher Geschwindigkeit,
umfassend
eine Verarbeitungseinheit zum Eingeben der Binärdaten mit einer vorbestimmten Datenlänge, zum Ausgeben der eingegebenen Binärdaten als Bezugszeilendaten in einem Verdichtungsmodus, zum Auslesen der Bezugszeilendaten entsprechend den eingegebenen Binärdaten, zum Durchführen einer Dehnungsverarbeitung an den Binärdaten in einem Dehnungsmodus und einer Verdichtungsverarbeitung an den Binärdaten im Verdichtungsmodus nach Maßgabe der ausgelesenen Bezugszeilendaten, zum Ausgeben von im Dehnungsmodus erzeugten, die vorbestimmte Datenlänge aufweisenden Bilddaten als die Bezugszeilendaten und zum Ausgeben der verarbeiteten Binärdaten zu einer externen Vorrichtung, gekennzeichnet durch eine Bezugszeilendaten-Speichereinheit (4) zum Speichern der eingegebenen Bezugszeilendaten von der Verarbeitungseinheit in Einheiten der vorbestimmten Datenlängen für eine augenblickliche oder aktuelle Verarbeitungszeile und eine nächste Verarbeitungszeile und zum Ausgeben der ausgelesenen Bezugszeilendaten zur Verarbeitungseinheit.
eine Verarbeitungseinheit zum Eingeben der Binärdaten mit einer vorbestimmten Datenlänge, zum Ausgeben der eingegebenen Binärdaten als Bezugszeilendaten in einem Verdichtungsmodus, zum Auslesen der Bezugszeilendaten entsprechend den eingegebenen Binärdaten, zum Durchführen einer Dehnungsverarbeitung an den Binärdaten in einem Dehnungsmodus und einer Verdichtungsverarbeitung an den Binärdaten im Verdichtungsmodus nach Maßgabe der ausgelesenen Bezugszeilendaten, zum Ausgeben von im Dehnungsmodus erzeugten, die vorbestimmte Datenlänge aufweisenden Bilddaten als die Bezugszeilendaten und zum Ausgeben der verarbeiteten Binärdaten zu einer externen Vorrichtung, gekennzeichnet durch eine Bezugszeilendaten-Speichereinheit (4) zum Speichern der eingegebenen Bezugszeilendaten von der Verarbeitungseinheit in Einheiten der vorbestimmten Datenlängen für eine augenblickliche oder aktuelle Verarbeitungszeile und eine nächste Verarbeitungszeile und zum Ausgeben der ausgelesenen Bezugszeilendaten zur Verarbeitungseinheit.
2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die
Bezugszeilendaten-Speichereinheit (4) ein Chronologiespeicher
bzw. FIFO-Speicher ist.
3. Gerät nach Anspruch 1, mit einer Bezugszeilenadreß-
Generatoreinheit (3) zum Erzeugen einer Adresse, wenn
die Verarbeitungseinheit einen Zugriff zur Bezugszeilendaten-
Speichereinheit (4) herstellt, dadurch gekennzeichnet,
daß die Bezugszeilendaten-Speichereinheit (4)
ein statischer Hochgeschwindigkeits-Randomspeicher bzw.
-RAM ist.
4. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß die
Verarbeitungseinheit und die Bezugszeilenadreß-Generatoreinheit
(3) in einem einzigen integrierten Schaltkreis
zusammengefaßt sind.
5. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß die
Verarbeitungseinheit, die Bezugszeilenadreß-Generatoreinheit
(3) und die Bezugszeilendaten-Speichereinheit (4)
in einem einzigen integrierten Schaltkreis zusammengefaßt
sind.
6. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß die
Bezugszeilenadreß-Generatoreinheit (3) folgendes umfaßt:
eine Zählereinheit (82) zum Zählen der Zahl der Verarbeitungshäufigkeiten
an den eingegebenen Binärdaten in
der Verarbeitungseinheit und zum Ausgeben der gezählten
Daten oder Zähldaten als ein erster Teil der Adresse
für einen Zugriff zur Bezugszeilendaten-Speichereinheit
(4),
eine Addiereinheit (86) zum Addieren einer Versatzdateneinheit (offset data) zu den Zähldaten von der Zählereinheit (82) und zum Ausgeben der Summe als zweiter Teil der Adresse,
eine Wählereinheit (86) zum selektiven Ausgeben des ersten Teils der Adresse von der Zählereinheit (82) bzw. des zweiten Teils der Adresse von der Addiereinheit (84) als ein dritter Teil der Adresse und
eine Adreßregistereinheit (88) zum Ausgeben des dritten Teils der Adresse von der Wählereinheit (86) als die Adresse und zum Ausgeben der eingegebenen Adresse zur Bezugszeilendaten-Speichereinheit (4) zusammen mit einer eingegebenen Anzeigedateneinheit, welche einen Speicherbereich für die Bezugszeilendaten für die augenblickliche Verarbeitungszeile bei einer Leseoperation und für die nächste Verarbeitungszeile bei einer Einschreiboperation angibt.
eine Addiereinheit (86) zum Addieren einer Versatzdateneinheit (offset data) zu den Zähldaten von der Zählereinheit (82) und zum Ausgeben der Summe als zweiter Teil der Adresse,
eine Wählereinheit (86) zum selektiven Ausgeben des ersten Teils der Adresse von der Zählereinheit (82) bzw. des zweiten Teils der Adresse von der Addiereinheit (84) als ein dritter Teil der Adresse und
eine Adreßregistereinheit (88) zum Ausgeben des dritten Teils der Adresse von der Wählereinheit (86) als die Adresse und zum Ausgeben der eingegebenen Adresse zur Bezugszeilendaten-Speichereinheit (4) zusammen mit einer eingegebenen Anzeigedateneinheit, welche einen Speicherbereich für die Bezugszeilendaten für die augenblickliche Verarbeitungszeile bei einer Leseoperation und für die nächste Verarbeitungszeile bei einer Einschreiboperation angibt.
7. Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgerät
zum Verdichten und Dehnen von Binärdaten mit hoher Geschwindigkeit,
gekennzeichnet durch
einen Bezugszeilendaten-Speicher (4) zum Speichern von Bezugszeilendaten und
eine Verdichtungs/Dehnungsverarbeitungseinheit (2) zum Eingeben der Binärdaten über eine Eingabedatenschiene, zum Ausgeben der eingegebenen Binärdaten als Bezugszeilendaten zum Bezugszeilendaten-Speicher (4) in einem Verdichtungsmodus, zum Auslesen der Bezugszeilendaten entsprechend den eingegebenen Binärdaten aus dem Bezugszeilendaten- Speicher (4), zum Durchführen einer Dehnungsverarbeitung an den eingegebenen Binärdaten in einem Dehnungsmodus und einer Verdichtungsverarbeitung an den eingegebenen Binärdaten in einem Verdichtungsmodus nach Maßgabe der ausgelesenen Bezugszeilendaten, zum Ausgeben der verarbeiteten Binärdaten im Dehnungsmodus als Bezugszeilendaten zum Bezugszeilendaten-Speicher (4) und zum Ausgeben der verarbeiteten Binärdaten zu einer externen Vorrichtung über eine Ausgabedatenschiene,
und weiterhin dadurch gekennzeichnet, daß die Verdichtungs/ Dehnungsverarbeitungseinheit (2) die Binärdaten über die Eingabedatenschiene eingibt, eine Pipeline-Verarbeitung an den eingegebenen Binärdaten in einer vorbestimmten Richtung ausführt und die verarbeiteten Binärdaten über die Ausgabedatenschiene ausgbit.
einen Bezugszeilendaten-Speicher (4) zum Speichern von Bezugszeilendaten und
eine Verdichtungs/Dehnungsverarbeitungseinheit (2) zum Eingeben der Binärdaten über eine Eingabedatenschiene, zum Ausgeben der eingegebenen Binärdaten als Bezugszeilendaten zum Bezugszeilendaten-Speicher (4) in einem Verdichtungsmodus, zum Auslesen der Bezugszeilendaten entsprechend den eingegebenen Binärdaten aus dem Bezugszeilendaten- Speicher (4), zum Durchführen einer Dehnungsverarbeitung an den eingegebenen Binärdaten in einem Dehnungsmodus und einer Verdichtungsverarbeitung an den eingegebenen Binärdaten in einem Verdichtungsmodus nach Maßgabe der ausgelesenen Bezugszeilendaten, zum Ausgeben der verarbeiteten Binärdaten im Dehnungsmodus als Bezugszeilendaten zum Bezugszeilendaten-Speicher (4) und zum Ausgeben der verarbeiteten Binärdaten zu einer externen Vorrichtung über eine Ausgabedatenschiene,
und weiterhin dadurch gekennzeichnet, daß die Verdichtungs/ Dehnungsverarbeitungseinheit (2) die Binärdaten über die Eingabedatenschiene eingibt, eine Pipeline-Verarbeitung an den eingegebenen Binärdaten in einer vorbestimmten Richtung ausführt und die verarbeiteten Binärdaten über die Ausgabedatenschiene ausgbit.
8. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß die
Bezugszeilendaten-Speichereinheit (4) die Bezugszeilendaten
für eine augenblickliche oder aktuelle Verarbeitungszeile
und eine nächste Verarbeitungszeile speichert.
9. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß die
Bezugszeilendaten-Speichereinheit (4) ein Chronologiespeicher
bzw. FIFO-Speicher ist.
10. Gerät nach Anspruch 7, mit einer Bezugszeilenadreß-
Generatoreinheit (3) zum Erzeugen einer Adresse, wenn
die Verarbeitungseinheit einen Zugriff zur Bezugszeilendaten-
Speichereinheit (4) herstellt, dadurch gekennzeichnet,
daß die Bezugszeilendaten-Speichereinheit (4)
ein statischer Hochgeschwindigkeits-Randomspeicher bzw.
-RAM ist.
11. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß die
Verdichtungs/Dehnungsverarbeitungseinheit (2) und die
Bezugszeilenadreß-Generatoreinheit (3) in einem einzigen
integrierten Schaltkreis zusammengefaßt sind.
12. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß die
Verdichtungs/Dehnungsverarbeitungseinheit (2), die
Bezugszeilenadreß-Generatoreinheit (3) und die Bezugszeilendaten-
Speichereinheit (4) in einem einzigen
integrierten Schaltkreis zusammengefaßt sind.
13. Gerät nach Anspruch 10, dadurch gekennzeichnet, daß die
Bezugszeilenadreß-Generator- oder -Erzeugungseinheit
(3) folgendes umfaßt:
eine Zählereinheit (82) zum Zählen der Zahl der Verarbeitungshäufigkeiten an den eingegebenen Binärdaten in der Verarbeitungseinheit und zum Ausgeben der gezählten Daten bzw. Zähldaten als Teil der Adresse für einen Zugriff zur Bezugszeilendaten-Speichereinheit (4),
eine Addiereinheit (86) zum Addieren einer Versatzdateneinheit zu den Zähldaten von der Zählereinheit (82) und zum Ausgeben der Summe als Teil der Adresse,
eine Wählereinheit (86) zum selektiven Ausgeben eines Teils der Adresse von der Zählereinheit (82) und desjenigen von der Addiereinheit (84) und
eine Adreßregistereinheit (88) zum Eingeben des von der Wählereinheit (86) ausgegebenen Teils der Adresse und zum Ausgeben des eingegebenen Teils der Adresse zur Bezugszeilendaten-Speichereinheit (4) zusammen mit eingegebenen oder Eingabe-Anzeigedaten, die einen Speicherbereich für die Bezugszeilendaten für die augenblickliche Verarbeitungszeile in einer Leseoperation und für die nächste Verarbeitungszeile in einer Einschreiboperation anzeigen.
eine Zählereinheit (82) zum Zählen der Zahl der Verarbeitungshäufigkeiten an den eingegebenen Binärdaten in der Verarbeitungseinheit und zum Ausgeben der gezählten Daten bzw. Zähldaten als Teil der Adresse für einen Zugriff zur Bezugszeilendaten-Speichereinheit (4),
eine Addiereinheit (86) zum Addieren einer Versatzdateneinheit zu den Zähldaten von der Zählereinheit (82) und zum Ausgeben der Summe als Teil der Adresse,
eine Wählereinheit (86) zum selektiven Ausgeben eines Teils der Adresse von der Zählereinheit (82) und desjenigen von der Addiereinheit (84) und
eine Adreßregistereinheit (88) zum Eingeben des von der Wählereinheit (86) ausgegebenen Teils der Adresse und zum Ausgeben des eingegebenen Teils der Adresse zur Bezugszeilendaten-Speichereinheit (4) zusammen mit eingegebenen oder Eingabe-Anzeigedaten, die einen Speicherbereich für die Bezugszeilendaten für die augenblickliche Verarbeitungszeile in einer Leseoperation und für die nächste Verarbeitungszeile in einer Einschreiboperation anzeigen.
14. Gerät nach Anspruch 7, dadurch gekennzeichnet, daß die
Verdichtungs/Dehnungsverarbeitungseinheit folgendes
umfaßt:
eine Decodierverarbeitungseinheit (7) zum Eingeben von Binärcodedaten über die Eingabedatenschiene, zum Decodieren der eingegebenen Binärcodedaten zwecks Erzeugung einer Lauflängendateneinheit entsprechend den eingegebenen Binärcodedaten im Dehnungsmodus und zum Eingeben von Binärbilddaten über die Eingabedatenschiene zur Bestimmung, daß alle Bits der eingegebenen Binärbilddaten von derselben Farbe sind, wenn die eingegebenen Binärbilddaten mittels eindimensionaler Codierung codiert werden, sowie zum Erzeugen einer Bitlänge von Bits derselben Farbe bei Feststellung, daß nicht alle Bits von derselben Farbe sind, im Verdichtungsmodus, und
eine Erzeugungsverarbeitungseinheit (8) zum Auslesen der Bezugszeilendaten für die augenblickliche Verarbeitungszeile aus der Bezugszeilendaten-Speichereinheit (4), zum Erzeugen der Binärbilddaten entsprechend den eingegebenen Binärcodedaten nach Maßgabe der erzeugten Lauflängendaten unter Bezugnahme auf die ausgelesenen Bilddaten und zum Ausgeben der erzeugten Bilddaten zur Bezugszeilendaten- Speichereinheit (4) als Bezugszeilendaten für die nächste Verarbeitungszeile und zu einer externen Vorrichtung über die Ausgabedatenschiene in einem Dehnungsmodus, sowie zum Auslesen der Bezugszeilendaten für die augenblickliche Verarbeitungszeile aus der Bezugszeilendaten-Speichereinheit (4), zum Erzeugen von Binärcodedaten entsprechend den der Decodierverarbeitungseinheit (7) eingegebenen Bilddaten nach Maßgabe des Erfassungsergebnisses unter Bezugnahme auf die ausgelesenen Bilddaten und zum Ausgeben der erzeugten Binärcodedaten zu einer externen Vorrichtung über die Ausgabedatenschiene im Verdichtungsmodus.
eine Decodierverarbeitungseinheit (7) zum Eingeben von Binärcodedaten über die Eingabedatenschiene, zum Decodieren der eingegebenen Binärcodedaten zwecks Erzeugung einer Lauflängendateneinheit entsprechend den eingegebenen Binärcodedaten im Dehnungsmodus und zum Eingeben von Binärbilddaten über die Eingabedatenschiene zur Bestimmung, daß alle Bits der eingegebenen Binärbilddaten von derselben Farbe sind, wenn die eingegebenen Binärbilddaten mittels eindimensionaler Codierung codiert werden, sowie zum Erzeugen einer Bitlänge von Bits derselben Farbe bei Feststellung, daß nicht alle Bits von derselben Farbe sind, im Verdichtungsmodus, und
eine Erzeugungsverarbeitungseinheit (8) zum Auslesen der Bezugszeilendaten für die augenblickliche Verarbeitungszeile aus der Bezugszeilendaten-Speichereinheit (4), zum Erzeugen der Binärbilddaten entsprechend den eingegebenen Binärcodedaten nach Maßgabe der erzeugten Lauflängendaten unter Bezugnahme auf die ausgelesenen Bilddaten und zum Ausgeben der erzeugten Bilddaten zur Bezugszeilendaten- Speichereinheit (4) als Bezugszeilendaten für die nächste Verarbeitungszeile und zu einer externen Vorrichtung über die Ausgabedatenschiene in einem Dehnungsmodus, sowie zum Auslesen der Bezugszeilendaten für die augenblickliche Verarbeitungszeile aus der Bezugszeilendaten-Speichereinheit (4), zum Erzeugen von Binärcodedaten entsprechend den der Decodierverarbeitungseinheit (7) eingegebenen Bilddaten nach Maßgabe des Erfassungsergebnisses unter Bezugnahme auf die ausgelesenen Bilddaten und zum Ausgeben der erzeugten Binärcodedaten zu einer externen Vorrichtung über die Ausgabedatenschiene im Verdichtungsmodus.
15. Binärdatenverdichtungs- und -dehnungs-Verarbeitungsgerät
zum Verdichten und Dehnen von Binärdaten mit hoher Geschwindigkeit,
gekennzeichnet durch
eine Decodierverarbeitungseinheit (7) zum sequentiellen Empfangen oder Abnehmen der einen (n + 1)ten Codeblock enthaltenden Codedaten in Einheiten von ersten vorbestimmten Datenlängen aus einer Reihe oder Kette von Codedaten, die durch einen Identifiziercode, einen Ergänzungscode, einen Beendigungscode, einen Durchlaßmoduscode und einen Vertikalmoduscode als Decodiereinheit des Codeblocks gebildet sind, zum Decodieren des (n + 1)ten Codeblocks der empfangenen Codedaten und zum Erzeugen einer Lauflängendateneinheit entsprechend dem decodierten Codeblock, wobei die Decodierung in einem Verarbeitungsschritt abgeschlossen ist, wenn der (n + 1)te Codeblock kleiner oder kürzer ist als eine zweite vorbestimmte Datenlänge, während die Decodierung in mehreren Verarbeitungsschritten vollständig durchgeführt wird, wenn der (n + 1)te Codeblock mehr als die zweite vorbestimmte Datenlänge beträgt, und die Lauflängendateneinheit erzeugt wird, wenn die Erzeugung von Bilddaten entsprechend dem n-ten Codeblock abgeschlossen ist, und
eine Erzeugungsverarbeitungseinheit (8) zum Erzeugen von Bilddaten für die Lauflängendateneinheit entsprechend dem n-ten Codeblock, während der (n + 1)te Codeblock in der Decodierverarbeitungseinheit (7) decodiert wird, zum Kombinieren der erzeugten Bilddaten mit einer restlichen Bilddateneinheit in jedem Verarbeitungsschritt und zum Ausgeben der Bilddaten für die erste vorbestimmte Datenlänge aus den kombinierten Bilddaten, wenn eine Länge der kombinierten Bilddaten der ersten vorbestimmten Datenlänge entspricht oder größer ist als diese, wobei die Bilddaten, ausschließlich der ausgegebenen oder Ausgabebilddaten aus den kombinierten Bilddaten erhalten bleiben und die Erzeugung der Bilddaten mittels mindestens eines Verarbeitungsschritts in Übereinstimmung mit der Lauflängendateneinheit erfolgt.
eine Decodierverarbeitungseinheit (7) zum sequentiellen Empfangen oder Abnehmen der einen (n + 1)ten Codeblock enthaltenden Codedaten in Einheiten von ersten vorbestimmten Datenlängen aus einer Reihe oder Kette von Codedaten, die durch einen Identifiziercode, einen Ergänzungscode, einen Beendigungscode, einen Durchlaßmoduscode und einen Vertikalmoduscode als Decodiereinheit des Codeblocks gebildet sind, zum Decodieren des (n + 1)ten Codeblocks der empfangenen Codedaten und zum Erzeugen einer Lauflängendateneinheit entsprechend dem decodierten Codeblock, wobei die Decodierung in einem Verarbeitungsschritt abgeschlossen ist, wenn der (n + 1)te Codeblock kleiner oder kürzer ist als eine zweite vorbestimmte Datenlänge, während die Decodierung in mehreren Verarbeitungsschritten vollständig durchgeführt wird, wenn der (n + 1)te Codeblock mehr als die zweite vorbestimmte Datenlänge beträgt, und die Lauflängendateneinheit erzeugt wird, wenn die Erzeugung von Bilddaten entsprechend dem n-ten Codeblock abgeschlossen ist, und
eine Erzeugungsverarbeitungseinheit (8) zum Erzeugen von Bilddaten für die Lauflängendateneinheit entsprechend dem n-ten Codeblock, während der (n + 1)te Codeblock in der Decodierverarbeitungseinheit (7) decodiert wird, zum Kombinieren der erzeugten Bilddaten mit einer restlichen Bilddateneinheit in jedem Verarbeitungsschritt und zum Ausgeben der Bilddaten für die erste vorbestimmte Datenlänge aus den kombinierten Bilddaten, wenn eine Länge der kombinierten Bilddaten der ersten vorbestimmten Datenlänge entspricht oder größer ist als diese, wobei die Bilddaten, ausschließlich der ausgegebenen oder Ausgabebilddaten aus den kombinierten Bilddaten erhalten bleiben und die Erzeugung der Bilddaten mittels mindestens eines Verarbeitungsschritts in Übereinstimmung mit der Lauflängendateneinheit erfolgt.
16. Gerät nach Anspruch 15, dadurch gekennzeichnet, daß
die Decodierverarbeitungseinheit (7) eine Einheit (7)
zum Einleiten der Decodierung des (n + 1)ten Codeblocks
während der Erzeugung der Bilddaten entsprechend dem
n-ten Codeblock, zum Anhalten der Decodierung bis zum
Abschluß der Erzeugung der Bilddaten entsprechend dem
n-ten Codeblock und zum vollständigen Durchführen der
Decodierung des (n + 1)ten Codeblocks nach vollständig erfolgter
Erzeugung der Bilddaten entsprechend dem (n + 1)ten
Codeblock, wenn letzterer in einem einzigen Verarbeitungsschritt
decodiert werden kann, umfaßt.
17. Gerät nach Anspruch 15, dadurch gekennzeichnet, daß die
Decodierverarbeitungseinheit (7) eine Einheit (7) zum
Einleiten eines ersten Verarbeitungsschritts der Decodierung
während der Erzeugung der Bilddaten entsprechend
dem n-ten Codeblock, zum Anhalten der Decodierung bis
zum vollständigen Abschluß der Erzeugung der Bilddaten
entsprechend dem n-ten Codeblock, zum vollständigen
Durchführen des ersten Verarbeitungsschritts der
Decodierung nach vollständiger Erzeugung der Bilddaten
entsprechend dem n-ten Codeblock und zum anschließenden
Ausführen eines zweiten Verarbeitungsschritts der
Decodierung und sodann, wenn mehrere Verarbeitungsschritte
erforderlich sind, zum Decodieren des (n + 1)ten
Codeblocks umfaßt und
die Erzeugungsverarbeitungseinheit (8) eine Einheit (8) umfaßt, die während des zweiten Verarbeitungsschritts der Decodierung des (n + 1)ten Codeblocks und der anschließenden Ausführung abwartet (in einem Wartezustand verbleibt) und die Erzeugung der Bilddaten entsprechend dem (n + 1)ten Codeblock nach vollständiger Decodierung des (n + 1)ten Codeblocks ausführt.
die Erzeugungsverarbeitungseinheit (8) eine Einheit (8) umfaßt, die während des zweiten Verarbeitungsschritts der Decodierung des (n + 1)ten Codeblocks und der anschließenden Ausführung abwartet (in einem Wartezustand verbleibt) und die Erzeugung der Bilddaten entsprechend dem (n + 1)ten Codeblock nach vollständiger Decodierung des (n + 1)ten Codeblocks ausführt.
18. Gerät nach Anspruch 15, dadurch gekennzeichnet, daß
die Decodierverarbeitungseinheit (7) weiterhin eine
Einheit (7) aufweist, um den ersten Verarbeitungsschritt
der Decodierung eines nächsten Codeblocks als weiße
Farbe wieder einzuleiten, wenn mittels der Erzeugung
der Bilddaten festgestellt wird, daß die Verarbeitung
zum Ende der betreffenden Verarbeitungszeile fortgeschritten
ist.
19. Gerät nach Anspruch 15, dadurch gekennzeichnet, daß
die Decodierverarbeitungseinheit (7) weiterhin eine
Einheit (7) umfaßt, um den zweiten Verarbeitungsschritt
der Decodierung und den anschließenden Schritt
(and thereafter) auszuführen, ohne den vollständigen
Abschluß der Erzeugung der Bilddaten abzuwarten, wenn
in den Codedaten enthaltene "Nullen" für oder auf eine
vorbestimmte Zahl von Bits folgen, nachdem der erste
Verarbeitungsschritt der Decodierung vollständig abgeschlossen
ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4369486 | 1986-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3711201A1 true DE3711201A1 (de) | 1987-11-12 |
DE3711201C2 DE3711201C2 (de) | 1989-11-09 |
Family
ID=12670937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873711201 Granted DE3711201A1 (de) | 1986-02-28 | 1987-02-27 | Binaerdatenverdichtungs- und -dehnungs-verarbeitungsgeraet |
Country Status (4)
Country | Link |
---|---|
US (1) | US4760461A (de) |
JP (1) | JPS62283720A (de) |
KR (1) | KR910000742B1 (de) |
DE (1) | DE3711201A1 (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4800441A (en) * | 1986-02-28 | 1989-01-24 | Kabushiki Kaisha Toshiba | Binary data compression and expansion processing apparatus |
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 |
JPH0746310B2 (ja) * | 1987-06-30 | 1995-05-17 | 三菱電機株式会社 | 半導体論理回路 |
US5187755A (en) * | 1988-06-30 | 1993-02-16 | Dainippon Screen Mfg. Co., Ltd. | Method of and apparatus for compressing image data |
JP2766302B2 (ja) * | 1989-04-06 | 1998-06-18 | 株式会社東芝 | 可変長符号並列解読方法および装置 |
US5623556A (en) * | 1990-07-31 | 1997-04-22 | Kabushiki Kaisha Toshiba | System and method of extracting binary image data |
JP3134424B2 (ja) * | 1991-10-31 | 2001-02-13 | ソニー株式会社 | 可変長符号化方法及び装置 |
US5245441A (en) * | 1991-12-12 | 1993-09-14 | Ruben Murray A | Document imaging processing method and apparatus |
KR940008389A (ko) | 1992-09-30 | 1994-04-29 | 가나이 쯔또무 | 화상신호처리장치 및 이것을 사용한 정보송수신장치 |
DE4447552C2 (de) * | 1993-03-19 | 1999-03-11 | Mitsubishi Electric Corp | Vorrichtung zur Bilddatenverarbeitung |
JP3310525B2 (ja) * | 1995-06-01 | 2002-08-05 | ビー・イー・テクノロジー株式会社 | デジタルデータ処理装置 |
KR19990082885A (ko) * | 1998-04-09 | 1999-11-25 | 다니엘 태그리아페리, 라이조 캐르키, 모링 헬레나 | 대기 인터페이스를 통해 이차원의 데이터 압축을 사용하기 위한 장치 및 방법 |
JP2000228632A (ja) * | 1999-02-05 | 2000-08-15 | Sony Corp | 符号化回路および信号処理装置 |
US6775413B1 (en) * | 2000-09-18 | 2004-08-10 | Intel Corporation | Techniques to implement one-dimensional compression |
US20020106132A1 (en) * | 2001-02-02 | 2002-08-08 | Toshiba Tec Kabushiki Kaisha | Apparatus and method for encoding image data |
WO2003053066A1 (en) | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
US7801383B2 (en) * | 2004-05-15 | 2010-09-21 | Microsoft Corporation | Embedded scalar quantizers with arbitrary dead-zone ratios |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0180871A2 (de) * | 1984-10-29 | 1986-05-14 | Siemens Aktiengesellschaft | Fernkopiergerät |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4152697A (en) * | 1976-08-11 | 1979-05-01 | Xerox Corporation | Parallel run-length decoder |
US4494151A (en) * | 1979-07-02 | 1985-01-15 | Xerox Corporation | 4-Pixel run-length code for data compression |
US4410916A (en) * | 1979-08-24 | 1983-10-18 | Compression Labs, Inc. | Dual mode facsimile coding system and method |
US4327379A (en) * | 1980-04-11 | 1982-04-27 | Xerox Corporation | Hardware implementation of 4-pixel code encoder |
US4360840A (en) * | 1980-05-13 | 1982-11-23 | Am International, Inc. | Real time data compression/decompression scheme for facsimile transmission system |
US4334246A (en) * | 1980-05-16 | 1982-06-08 | Xerox Corporation | Data decompressor circuit |
JPS5980063A (ja) * | 1982-10-30 | 1984-05-09 | Nec Corp | フアクシミリの符号化回路 |
US4486784A (en) * | 1982-12-27 | 1984-12-04 | International Business Machines Corporation | Image compression systems |
JPS6019360A (ja) * | 1983-07-12 | 1985-01-31 | Nec Corp | フアクシミリの復号化回路 |
US4558371A (en) * | 1983-08-19 | 1985-12-10 | Advanced Micro Devices, Inc. | Method and device for two-dimensional facsimile coding |
US4598411A (en) * | 1984-07-17 | 1986-07-01 | Allied Corporation | On-the-fly data compression system |
US4686512A (en) * | 1985-03-01 | 1987-08-11 | Kabushiki Kaisha Toshiba | Integrated digital circuit for processing speech signal |
-
1987
- 1987-02-24 US US07/018,283 patent/US4760461A/en not_active Expired - Fee Related
- 1987-02-27 DE DE19873711201 patent/DE3711201A1/de active Granted
- 1987-02-27 JP JP62044545A patent/JPS62283720A/ja active Pending
- 1987-02-28 KR KR1019870001793A patent/KR910000742B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0180871A2 (de) * | 1984-10-29 | 1986-05-14 | Siemens Aktiengesellschaft | Fernkopiergerät |
Non-Patent Citations (1)
Title |
---|
US-Z.: IEEE Communications Magazine, Febr. 1985, Vol. 23, Nr. 2, S. 27-35 * |
Also Published As
Publication number | Publication date |
---|---|
DE3711201C2 (de) | 1989-11-09 |
US4760461A (en) | 1988-07-26 |
KR910000742B1 (ko) | 1991-02-06 |
JPS62283720A (ja) | 1987-12-09 |
KR870008446A (ko) | 1987-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3711200C2 (de) | ||
DE3711201C2 (de) | ||
DE3587107T2 (de) | Drehungsverfahren und -geraet fuer binaere bilder. | |
DE3050848C2 (de) | ||
DE60100416T2 (de) | Dekoder für Kode variabler Länge | |
DE3882772T2 (de) | Vektorprozessor angepasst zum Sortieren von Vektordaten. | |
DE3038639C2 (de) | Anordnung zur Datenübertragung zwischen einer Zentraleinheit und n E/A-Einheiten | |
DE2825930A1 (de) | Sichtanzeigegeraet mit komprimierter bildwiederholung | |
DE2725395B2 (de) | Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordnete Wörter der Bitlänge n | |
DE68925307T2 (de) | Zeilenspeicher für Geschwindigkeitsumwandlung | |
DE2233796C3 (de) | Verfahren zur Video-Signal-Kompression und Expansion und Vorrichtungen zur Durchführung des Verfahrens | |
DE4314741A1 (de) | Dekodierer-Architektur nach Huffman für eine höhere Betriebsgeschwindigkeit und reduzierten Speicherbedarf | |
DE69329092T2 (de) | Huffman-Kode-Decodierungsschaltung | |
DE69534298T2 (de) | Verfahren und Vorrichtung zur Ermittlung einer Phasendifferenz und Filterschaltung | |
DE3330845C2 (de) | ||
DE1499225B2 (de) | Schaltungsanordnung zur reduzierung von datenwortlaengen | |
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE69327021T2 (de) | Dekodierschaltung für einen Kode variabler Länge | |
DE2728889B2 (de) | Verfahren und Vorrichtung zum Übertragen eines Zweipegel-Faksimilesignals | |
DE2053341A1 (de) | Verfahren zur Kompression und Dekompression digital kodierter Daten für graphische Zeichen | |
DE3406624C2 (de) | ||
DE3706470C2 (de) | ||
DE69428662T2 (de) | System mit geringem Speicherbedarf zur Kodierung und Dekodierung von Zweipegelsymbolen und zugehöriges Verfahren | |
DE2351890A1 (de) | Multiplexereinrichtung | |
DE1805992B2 (de) | Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |