-
Technisches
Gebiet der Erfindung
-
Diese Erfindung bezieht sich auf
die Verarbeitung von Daten und insbesondere auf eine Zusammenführungseinheit,
die verwendet wird, um Druckdaten in der Druckdatenverarbeitungspipeline eines
Druckers zusammenzuführen.
-
Hintergrund
der Erfindung
-
Die Druckdatenpipeline eines Druckers
führt eine
Anzahl von Operationen bezüglich
Druckdaten, die in die Pipeline gelangen, in Vorbereitung für ein Drucken
durch. Diese Operationen umfassen: Druckdatenkomprimierung, Druckdatendekomprimierung, Farbraumumwandlung
und Halbtongebung. Der Typ von durchgeführter Operation und die spezifische Reihenfolge,
in der die Operationen durchgeführt werden,
können
abhängig
von dem Typ von Druckdaten, die in die Pipeline gelangen, den Fähigkeiten
der Druckmaschine und dem in dem Drucker verfügbaren Speicher variieren.
Die Typen von Druckdaten, die in die Pipeline gelangen können, umfassen:
Text, Strichvorlagen, Bilder und Graphiken. Bei Pipelineimplementierungen
des Stands der Technik werden die verschiedenen Verarbeitungsoperationen
durch einen Prozessor unter der Steuerung einer Firmware durchgeführt. Abhängig von
dem Typ von Druckdaten, die in die Pipeline gelangen, wird eine
Anzahl möglicher
Firmwareroutinen wie benötigt
ausgeführt, um
die zuvor genannten Operationen fertigzustellen.
-
Die Besonderheiten der durchgeführten Druckdatenkomprimierungsoperation
hängen
von dem Typ von Druckdaten ab, die in die Pipeline gelangen. Bei
bestimmten Typen von Druckdaten z. B., wie z. B. Bilddruckdaten,
sind Druckdatenkomprimierungsroutinen, die zu einem bestimmten Informationsverlust führen, akzeptabel.
Bei diesen Typen von Druckdaten ist die Abnahme der Qualität der gedruckten
Ausgabe nicht wahrnehmbar. Komprimierungsroutinen, die zu einem
Verlust von Informationen führen,
die in der gedruckten Ausgabe nicht wahrnehmbar sind, werden als „visuell
verlustfreie" Systeme
bezeichnet. Für
andere Typen von Druckdaten jedoch, wie z. B. Text und Strichvorlagen,
ist es für
die Qualität
der gedruckten Ausgabe wichtig, daß die verwendeten Druckdatenkomprimierungsroutinen
zu keinem Verlust von Informationen führen.
-
Datenkomprimierungs-/Dekomprimierungssysteme,
die in der Technik bekannt sind, codieren einen Strom von Digitaldatensignalen
in komprimierte Digitalcodesignale und decodieren die komprimierten Digitalcodesignale
wieder in die ursprünglichen
Daten zurück.
Eine Datenkomprimierung bezieht sich auf jeden Prozeß, der versucht,
Daten in einem bestimmten Format in ein alternatives Format umzuwandeln,
das weniger Raum als das Original benötigt. Das Ziel von Datenkomprimierungssystemen
beseht darin, eine Einsparung bei der Menge an Speicher zu bewirken,
die erforderlich ist, um einen bestimmten Körper digitaler Informationen
zu halten. Wenn diese digitalen Informationen eine digitale Darstellung
eines Bildes oder von Text sind, sind Datenkomprimierungssysteme
in zwei allgemeine Typen unterteilt: verlustbehaftet und verlustfrei.
-
Die verlustfreien Systeme weisen
etwas auf, was als Reziprozität
bezeichnet wird. Damit das Datenkomprimierungssystem die Eigenschaft
einer Reziprozität
besitzt, muß es
möglich
sein, die komprimierten Daten wieder in ihre ursprüngliche
Form zurück
zu erweitern oder zu decodieren, und zwar ohne jegliche Veränderung
oder einen Verlust von Informationen. Die decodierten und die ursprünglichen
Daten müssen
identisch und bezüglich
einander nicht zu unterscheiden sein. So ist die Eigenschaft einer
Reziprozität
synonym zu der einer strengen Rauschfreiheit, die bei einer Informationstheorie
verwendet wird.
-
Einige Anwendungen erfordern jedoch
keine strenge Einhaltung der Eigenschaft einer Reziprozität. Wie oben
angemerkt wurde, ist eine derartige Anwendung insbesondere, wenn
Bilddaten gehandhabt werden. Da das menschliche Auge für ein Rauschen nicht
empfindlich ist, ist eine bestimmte Änderung oder ein Verlust von
Informationen während
des Komprimierungs- und Dekomprimierungsverfahrens akzeptabel. Dieser
Verlust von Informationen gibt den verlustbehafteten Datenkomprimierungssystemen
ihren Namen.
-
Ein wichtiges Kriterium bei dem Entwurf
von Datenkomprimierungssystemen ist die Komprimierungswirksamkeit,
die durch das Komprimierungsverhältnis
gekennzeichnet ist. Das Komprimierungsverhältnis ist das Verhältnis einer
Datengröße in unkomprimierter
Form geteilt durch die Größe in komprimierter
Form. Damit Daten komprimierbar sind, müssen dieselben eine Redundanz
enthalten. Eine Komprimierungswirksamkeit wird dadurch bestimmt, wie
effektiv die Komprimierungsprozedur die Redundanz in den Eingangsdaten
verwendet. Bei typischen computergespeicherten Daten tritt eine
Redundanz sowohl bei der nichteinheitlichen Verwendung einer einzelnen
Symbologie, z. B. Stellen, Bytes oder Zeichen, als auch bei einem
häufigen
erneuten Auftreten von Symbolsequenzen, wie z. B. häufigen Wörtern, Leerstellenaufzeichnungsfeldern
und dergleichen, auf.
-
Das Datenkomprimierungssystem sollte
eine ausreichende Leistung bezüglich
der Datenraten liefern, die durch den Drucker bereitgestellt und
durch denselben akzeptiert werden. Die Rate, mit der Daten komprimiert
werden können,
wird durch die Eingangsdatenverarbeitungsrate des Komprimierungssystems
bestimmt. Eine ausreichende Leistung ist nötig, um die erzielten Datenraten
beizubehalten und eine Unterbrechung eines Druckens, da keine verarbeiteten
Daten verfügbar
sind, zu vermeiden. So muß das
Datenkomprimierungs- und Dekomprimierungssystem eine ausreichende
Daten bandbreite aufweisen, um das Gesamtsystem nicht nachteilig
zu beeinflussen.
-
Üblicherweise
ist die Leistung von Datenkomprimierungs- und Dekomprimierungssystemen durch
die Berechnungen, die benötigt
werden, um zu komprimieren und zu dekomprimieren, sowie die Geschwindigkeit
der Systemkomponenten, wie z. B. Direktzugriffsspeicher und dergleichen,
die verwendet werden, um statistische Daten zu speichern und den Komprimierungsprozeß zu führen, eingeschränkt. Dies
gilt insbesondere, wenn die Komprimierungs- und Dekomprimierungssysteme
in Firmware implementiert sind, wobei eine Firmware eine Universaltyp-Zentralverarbeitungseinheit
führt,
um den Datenkomprimierungs- und Dekomprimierungsprozeß durchzuführen. Bei
einem derartigen System ist eine Leistung für eine Komprimierungsvorrichtung
durch die Anzahl von Prozessorzyklen, die während einer Komprimierung pro
Eingabezeichen benötigt
werden, gekennzeichnet. Je geringer die Anzahl von Zyklen ist, desto
höher ist
die Leistung. Die Firmwarelösungen
sind durch die Geschwindigkeit der Firmwarekomprimierung und -dekomprimierung
eingeschränkt,
da eine Firmware mehrere Zentralprozessoreinheitszyklen benötigt, um
jedes Byte zu dekomprimieren. So wurde der Firmwareprozeß allgemein zugeschnitten,
um Komprimierungsverhältnisse
zu senken, um eine Dekomprimierungsgeschwindigkeit zu erhöhen.
-
Universaldatenkomprimierungsprozeduren sind
in dem Stand der Technik bekannt; drei relevante Prozeduren sind
das Huffman-Verfahren, das Tunstall-Verfahren und das Lempel-Ziv-Verfahren. Eine der
ersten Universaldatenkomprimierungsprozeduren, die entwickelt wurde,
ist das Huffman-Verfahren. Kurz
beschrieben bildet das Huffman-Verfahren Vollängensegmente von Symbolen in
Wörter
mit variabler Länge
ab. Das Tunstall-Verfahren, das Symbole mit variabler Länge in Binärwörter mit
fester Länge
abbildet, ist komplementär
zu der Huffman-Prozedur. Wie die Huffman-Prozedur erfordert die
Tunstall-Prozedur eine vorherige Kenntnis der Quellendatenwahrscheinlichkeiten.
Wieder kann die Anforde rung einer vorherigen Kenntnis teilweise
durch ein Verwenden einer adaptiven Version erfüllt werden, die die Statistikstärkenverarbeitung
der Daten akkumuliert.
-
Die Lempel-Ziv-Prozedur bildet Segmente von
Symbolen mit variabler Länge
in Binärwörter mit variabler
Länge ab.
Sie ist asymptotisch optimal, wenn es keine Einschränkungen
bezüglich
der Eingangs- oder Ausgangssegmente gibt. Bei dieser Prozedur wird
die Eingangsdatenfolge in adaptiv gewachsene Segmente geparst bzw.
syntaktisch analysiert. Jedes der Segmente besteht aus einer genauen
Kopie eines früheren
Abschnitts der Eingangsdatenfolge, an die ein neues Symbol aus den
Eingangsdaten angehängt
wird. Die Kopie, die hergestellt werden soll, ist die längst mögliche und
nicht eingeschränkt,
um mit einem zuvor geparsten Segment zusammenzufallen. Das Codewort,
das das Segment in dem Ausgang darstellt, enthält Informationen, die aus einem
Zeiger darauf, wo frühere
Kopieabschnitte beginnen, der Länge
des Codes und dem neuen Symbol bestehen. Zusätzliche Lehren für die Lempel-Ziv-Datenkomprimierungstechnik
sind in dem U.S.-Patent Nr. 4,558,302 zu finden.
-
Während
die zuvor genannten Datenkomprimierungsprozeduren gute universale
verlustfreie Prozeduren sind, können
einige spezifische Typen einer Redundanz unter Verwendung anderer
Verfahren komprimiert werden. Ein derartiges verlustfreies Verfahren,
das üblicherweise
als Lauflängencodierung
(RLE) bekannt ist, ist für
graphische Daten geeignet. Bei einer RLE können Sequenzen einzelner Zeichen
als ein Zählwertfeld
plus einem Identifizierer des wiederholten Zeichens codiert werden. Üblicherweise
werden zwei Zeichen benötigt,
um jeden Zeichenlauf zu markieren, so daß diese Codierung nicht für Läufe von
zwei oder weniger Zeichen verwendet werden würde. Wenn jedoch ein graphisches
Bild gehandhabt würde,
das in einer Digitaldatenform dargestellt ist, kann es lange Läufe des
gleichen Zeichens in jeder bestimmten Linie geben, was die RLE zu
einer wirksamen Komprimierungsprozedur für derartige Informationen macht.
-
Alle der zuvor genannten Datenkomprimierungsprozeduren
sind stark von einer Redundanz in den Daten abhängig, um wesentliche Komprimierungsverhältnisse
zu erzielen. Ein wesentlicher Nachteil bei diesen Prozeduren besteht
darin, daß bei
bestimmten Typen von Daten die komprimierte Ausgabe tatsächlich größer als
die Eingabe sein kann, da den Eingangsdaten eine spezifische Redundanz
fehlt. In der Technik eines Druckens werden derartige „nichtkomprimierbare" Daten leicht erzeugt.
-
Bestimmte Typen von Bildern sind
als entweder „geordnetes
Zittern" oder „fehlerdiffundiert" klassifiziert. Ein
geordnetes Zitterbild (auch „Cluster" genannt) ist ein
Halbtonbild, das Halbtongraudarstellungen auf der gesamten Seite
umfaßt.
Derartige Bilder spiegeln im allgemeinen eine wesentliche Datenredundanz
wider und eignen sich für
verlustfreie Techniken einer Datencodierung, wie z. B. diejenigen,
die oben beschrieben sind. Fehlerdiffundierte Bilder (auch „dispergiert" genannt) jedoch
zeigen eine geringe Redundanz bei ihren Daten und erfordern unterschiedliche
Komprimierungsverfahren. Druckdaten, die photographische Bilder
darstellen, liefern ein weiteres Beispiel von Druckdaten mit geringer
Redundanz. Als ein Ergebnis ermöglicht
die Verwendung eines einzelnen Datenkomprimierungsschemas in einem
Seitendrucker nicht mehr, daß ein
derartiger Drucker Bilddaten handhabt. In dem U.S.-Patent 5,479,587
mit dem Titel „Page
Printer Having Adaptive Data Compression For Memory Minimization", ausgegeben an Cambell
u. a., das der gleichen Anmelderin wie die vorliegende anmelderin
zugewiesen ist, schreitet ein Seitendrucker wie herausgestellt in einem
Versuch durch verschiedene Komprimierungstechniken, eine eingeschränkte Speichergröße, die weniger
als diejenige ist, die für
eine vollständige
Seite gedruckter Daten erforderlich ist, unterzubringen. Bei dieser
Anwendung wird zuerst, wenn ein Bild aufgrund niedriger Speicherbedingungen
nicht druckbar ist, eine „Modus-M"-Komprimierungstechnik verwendet. Unter
Verwendung dieser Technik wird ein Versuch unternommen, den Block
unter Verwendung einer Lauflängencodierung
für jede
Zeile und durch ein Codieren von Deltaveränderungen, die von Zeile zu Zeile
innerhalb des Blocks auftauchen, zu komprimieren. Wenn die „Modus-M"-Komprimierungstechnik
nicht erfolgreich bei einer Bereitstellung eines ausreichenden Komprimierungsverhältnisses
ist, um ein Drucken der Seite zu erlauben, wird ein zweiter Versuch
unter Verwendung einer LZW-Typ-Komprimierung
unternommen. Schließlich
wird, wenn die LZW-basierte Komprimierungstechnik nicht erfolgreich
bei einem Erzielen einer ausreichend hohen Komprimierungsrate ist,
um ein Drucken der Seite zu ermöglichen,
eine verlustbehaftete Komprimierungsprozedur verwendet.
-
Bei der Verarbeitung von Rasterdruckdaten kann
eine Vielzahl von Operationen bezüglich der Rasterdruckdaten
vor einer Erzeugung der gedruckten Seite durchgeführt werden.
Derartige Operationen, wie eine Datenkomprimierung, eine Farbraumumwandlung
und eine Halbtongebung, sind in den Operationen enthalten, die vor
einem Erzeugen der gedruckten Seite durchgeführt werden können. Es
ist häufig
der Fall, daß bei
der Verarbeitung von Rasterdruckdaten verschiedene Abschnitte der
Seite optimal durch ein Verwenden unterschiedlicher Typen von Datenkomprimierungs-,
Farbraumumwandlungs- und Halbtongebungsoperationen verarbeitet würden. Ein
immer wieder auftretendes Problem, das bei einer optimalen Verarbeitung
von Rasterdruckdaten anzutreffen ist, war die Partitionierung der
Rasterdruckdaten, die die Seite Bilden, so daß die verschiedenen Rasterdruckdatenverarbeitungsoperationen optimal
bezüglich
der geeigneten Abschnitte der Seite durchgeführt werden können.
-
Es wird z. B. die Menge an Speicher
betrachtet, die benötigt
wird, um die Rasterdruckdaten, die einer Seite entsprechen, zu speichern.
Da Drucker in der Dichte einer Punktplazierung (Punkte pro Zoll) ansteigen,
eine Grauskalierungsfähigkeit
hinzufügen (unter
Verwendung einer Anzahl von Bits pro Pixel, um einen Grauskalierungspegel
zu defi nieren) und eine Farbdruckfähigkeit umfassen (was zusätzliche Bits
pro Pixel gegenüber
einem einfarbigen Drucken erfordert), kann der Speicher, der benötigt wird,
um die zum Drucken einer Seite verwendeten Daten zu speichern, 32
mal den Speicher erreichen, der für ein einfarbiges Drucken mit
der gleichen Auflösung
benötigt
wird. Um es zu ermöglichen,
daß die
Farbdrucker eine vernünftigere
Speichergröße verwenden, werden
allgemein Datenkomprimierungstechniken verwendet, um die Speicheranforderungen
zu reduzieren. Unterschiedliche Typen von Rasterdruckdaten werden
jedoch jeweils optimal unter Verwendung unterschiedlicher Komprimierungstechniken
komprimiert. Für
Rasterdruckdaten z. B., die Abschnitten der Seite entsprechen, die
Bilder enthalten, wird die optimale Kombination von Komprimierungsverhältnis und
Druckqualität
durch ein Verwenden verlustbehafteter Komprimierungstechniken erzielt.
Für Rasterdruckdaten
jedoch, die Abschnitten des Bildes entsprechen, die Text enthalten,
wird die optimale Kombination von Komprimierungsverhältnis und
Druckqualität
durch ein Verwenden verlustfreier Komprimierungstechniken erzielt.
-
Es besteht ein Bedarf nach einer
Datenverarbeitungspipeline, die eine Anwendung des optimalen Typs
einer Datenverarbeitungsoperation auf die Verarbeitung jedes Datenelements
ermöglicht.
-
Die US-A-5,541,594 bezieht sich auf
einen Quellencodierer mit fester Qualität, der eine feste Schwelle
aufweist. Ein Eingangsdatenstrom wird codiert und erzeugt ein codiertes
Informationssignal. Ein Fehlerkomponentensignal wird erzeugt und
ausgegeben, das dann weiter verarbeitet wird, wobei das codierte
Fehlerkomponentensignal und das codierte Informationssignal mittels
eines Multiplexers einem Multiplexen unterzogen werden.
-
Die
EP 0 662 772 A2 offenbart ein segmentierungsbasiertes
Bildkomprimierungssystem für
einen einzelnen Datenstrom, der eingegeben und unterteilt wird.
Die jeweiligen Ab schnitte des Signals werden entweder einem verlustfreien
Codierer oder einem verlustbehafteten Codierer zugeführt und dann
werden die Ausgangssignale dieser Codierer einem Paketbildner zugeführt, der
einen einzelnen Ausgangsstrom erzeugt.
-
Die WO 92/09142 offenbart eine Vorrichtung zur
Datenkomprimierung mit einer reduzierten Verzerrung.
-
Es ist die Aufgabe der vorliegenden
Erfindung, eine Vorrichtung zum Bilden von Ausgangsdaten bereitzustellen,
die einen ursprünglichen
Datensatz korrekt darstellen.
-
Diese Aufgabe wird durch eine Zusammenführungseinheit
gemäß Anspruch
1 gelöst.
-
Eine Datenverarbeitungspipeline zum
separaten Verarbeiten einer Mehrzahl von Datenströmen, wobei
jeder aus einer Mehrzahl von Datenelementen gebildet ist, wie z.
B. Bytes oder Wörtern
von Druckdaten, ermöglicht
eine Optimierung der Datenpipelineverarbeitungsoperationen für jedes
Datenelement. Die Datenverarbeitungspipeline verwendet einen Zusammenführungsdatenstrom,
der durch die Mehrzahl von Datenströmen definiert und aus Zusammenführungsdatenelementen
gebildet ist, die den Datenelementen entsprechen. Die Mehrzahl von Datenströmen kann
z. B. durch ein Partitionieren eines Quellendatenstroms, wie z.
B. eines Druckdatenstroms, Datenelement für Datenelement basierend auf
den Charakteristika jedes der Datenelemente gebildet sein. Abhängig von
den Charakteristika kann der Quellendatenstrom optimal in mehr als
zwei Datenströme
partitioniert sein. Für
den Fall, in dem die Datenverarbeitungspipeline verwendet ist, um
Rasterdruckdaten zu verarbeiten, kann der Strom von Rasterdruckdaten
auf der Pixelebene partitioniert sein. Die Pixel z. B., die den
verlustbehafteten Regionen der Seite zugeordnet sind, bilden den
verlustbehafteten Rasterdruckdatenstrom und die Pixel, die verlustfreien
Regionen der Seite zugeordnet sind, bilden den verlustfreien Raster druckdatenstrom. Datenverarbeitungspipelineoperationen,
wie z. B. eine Datenkomprimierung, können dann ausgewählt werden,
um die optimale Kombination von Komprimierungsverhältnis und
Druckqualität
für jedes
Pixel auf der Seite zu erzielen.
-
Der Strom von Rasterdruckdaten kann
auch basierend auf der Anzahl von Bits partitioniert sein, die verwendet
werden, um jedes der Pixel darzustellen. In dem extremen Fall können Pixel,
die Regionen der Seite entsprechen, die in Farbe gedruckt werden, 24
Bits benötigen,
um jedes der Pixel darzustellen, während Pixel, die Regionen der
Seite entsprechen, die in schwarz/weiß gedruckt werden, nur 1 Bit
erfordern können,
um jedes der Pixel darzustellen. Durch ein Partitionieren des Stroms
von Rasterdruckdaten basierend auf der Anzahl von Bits, die verwendet werden,
um jedes der Pixel darzustellen, können Komprimierungsoperationen,
die für
die Anzahl von Bits pro Pixel optimiert sind, verwendet werden.
Zusätzlich
kann der Strom von Rasterdruckdaten, die Pixel von Binär-Schwarz-und-Weiß-Daten enthalten, unter
Umständen
keine Farbraumumwandlungsoperation benötigen, wohingegen der Strom
von Rasterdruckdaten, die Pixel von Farbdaten umfassen, eine Farbraumumwandlungsoperation
erfordern kann.
-
Eine weitere mögliche Partition des Stroms von
Rasterdruckdaten kann basierend auf der erwünschten Druckauflösung der
Bereiche der Seite sein, die den Pixeln entsprechen. Die Kanten
von Vektorgraphikobjekten oder die Kanten von Objekten innerhalb
von Bildern im allgemeinen profitieren z. B., aus Druckqualitätsgründen, von
einer höheren
Auflösung,
während
Bereiche im Inneren der Vektorgraphikobjekte oder im Inneren der
Objekte innerhalb von Bildern mit einer geringeren Auflösung gedruckt werden
können,
ohne eine Druckqualität
zu opfern. Ein Partitionieren eines Rasterdruckdatenstroms auf der
Basis einer Auflösung
würde eine
Reduzierung der Menge von Daten ermöglichen, die eine Verarbeitung
durch die Datenverarbeitungspipeline erfor dern, wodurch die Zeit,
die zum Drucken von Seiten benötigt
wird, reduziert wird. Zusätzlich
können
Halbton- und Komprimierungsoperationen für jeden der partitionierten
Ströme
von Rasterdruckdaten basierend auf der Auflösung des bestimmten partitionierten
Rasterdruckdatenstroms optimiert werden.
-
Eine Zusammenführungseinheit ist konfiguriert,
um die Mehrzahl von Datenströmen
und den Zusammenführungsdatenstrom
zu empfangen. Die Zusammenführungseinheit
verwendet den Zusammenführungsdatenstrom,
um die Mehrzahl von Datenströmen
zu kombinieren und einen Ausgangsdatenstrom zu erzeugen. Für den Fall,
bei dem die Zusammenführungseinheit
verlustbehaftete und verlustfreie Druckdatenströme zusammenführt, ist
der Ausgangsdatenstrom eine rekonstruierte Darstellung des Bildes
von einer Partitionierung in verlustbehaftete und verlustfreie Druckdaten.
-
Die Zusammenführungseinheit umfaßt einen ersten
Multiplexer, der konfiguriert ist, um die Mehrzahl von Datenströmen und
den Zusammenführungsdatenstrom
zu empfangen. Jeder der Mehrzahl von Datenströmen umfaßt eine Serie von Datenelementen,
wie z. B. Bytes oder Wörter,
die jedem der Datenelemente der anderen Datenströme entsprechen. Der Zusammenführungsdatenstrom
umfaßt eine
Serie von Zusammenführungsdatenelementen, wie
z. B. Wörtern,
Bytes oder Bits, die den Datenelementen jedes der Mehrzahl von Datenströmen entsprechen.
Der erste Multiplexer wählt
ein Datenelement unter den entsprechenden Datenelementen in jedem
der Mehrzahl von Datenströmen
unter Verwendung der entsprechenden Zusammenführungsdatenelemente aus, um
die Auswahl zu steuern. Die Serie ausgewählter Datenelemente, die aus
dem ersten Multiplexer ausgegeben werden, bildet den Ausgangsdatenstrom.
-
Beschreibung der Zeichnungen
-
Ein gründlicheres Verständnis der
Erfindung kann aus der Betrachtung der folgenden detaillierten Beschreibung
in Verbindung mit den beigefügten Zeichnungen
erhalten werden.
-
1 ist
ein vereinfachtes konzeptionelles Blockdiagramm des Flusses von
Druckdaten durch das bevorzugte Ausführungsbeispiel einer Druckdatenverarbeitungspipeline
in einem Farbdrucker.
-
2 ist
ein vereinfachtes Hardwareblockdiagramm des bevorzugten Ausführungsbeispiels
der Druckdatenverarbeitungspipeline.
-
3 ist
eine konzeptionelle Darstellung der Zusammenführungsoperation.
-
4 ist
ein vereinfachtes Blockdiagramm der Zusammenführungseinheit auf hoher Ebene.
-
5 ist
ein vereinfachtes schematisches Diagramm der Eingangsseite des verlustbehafteten Eingangspuffers.
-
6 ist
ein vereinfachtes schematisches Diagramm der Ausgangsseite des verlustbehafteten Eingangspuffers.
-
7 ist
ein vereinfachtes schematisches Diagramm der Eingangsseite des verlustbehafteten und
des verlustfreien Ausgangspuffers.
-
8 ist
ein vereinfachtes schematisches Diagramm der Ausgangsseite des verlustbehafteten und
des verlustfreien Ausgangspuffers.
-
9 ist
ein vereinfachtes schematisches Diagramm der Schieberegister, die
für den
Halbton- und Zusammenführungsdatenstrom
verwendet werden.
-
Detaillierte
Beschreibung der bevorzugten Ausführungsbeispiele
-
Die vorliegende Erfindung ist nicht
auf die spezifischen exemplarischen hierin dargestellten Ausführungsbeispiele
eingeschränkt.
Zusätzlich
ist es für
Fachleute auf diesem Gebiet nach einem Verstehen dieser Offenbarung
erkennbar, daß,
obwohl das Ausführungsbeispiel
der Druckdatenverarbeitungspipeline in dem Zusammenhang eines Farblaserdruckers
erläutert
wird, die Druckdatenverarbeitungspipelinearchitektur, die offenbart
ist, auf andere Bilderzeugungssysteme anwendbar ist, für die ein Leistungsvorteil
erzielt wird, indem parallele Pfade verwendet werden, um Daten,
die selektiv unter Verwendung von entweder verlustfreien oder verlustbehafteten
Datenkomprimierungsverfahren komprimiert wurden, zu handhaben. Die
offenbarte Druckdatenverarbeitungspipeline z. B. kann nützlich in Scannern
und Digitalphotoverarbeitungslabors angewendet werden. Ferner könnte jedes
System zum Erzeugen eines Bildes, das einen Speicher für die Speicherung
von Bilddaten erfordert, eine optimierte Bildqualität erzielen,
während
Speicheranforderungen minimiert werden, indem die offenbarte Pipelinearchitektur
angewendet wird.
-
Bei einem Farbdrucken besteht ein
Bedarf nach einer Druckdatenverarbeitungspipeline, die den zum Speichern
von Druckdaten erforderlichen Speicher reduziert, während hohe
Pegel einer Druckqualität
beibehalten werden. Die Verwendung einer Druckdatenverarbeitungspipelinearchitektur,
die selektiv Druckdaten unter Verwendung von verlustbehafteten oder
verlustfreien Komprimierungsverfahren komprimiert, behält eine
hohe Druckqualität
bei, während
Druckdatenspeicherspeicherungsanforderungen minimiert werden. Zusätzlich liefert
eine korrekte Plazierung der Operationen in der Druckdatenverarbeitungspipeline
weitere Verbesserungen der Druckqualität und Reduzierungen der Speicherspeicherungsanforderungen.
-
In 1 gezeigt
ist ein vereinfachtes konzeptionelles Blockdiagramm des Flusses
von Druckdaten durch einen Farbdrucker, der das bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 für einen
Farblaserdrucker umfaßt.
Es wird hervorgehoben, daß 1 nur den Fluß von Druckdaten,
unter Verwendung paralleler verlustbehafteter und verlustfreier
Pfade, durch typische Operationen darstellen soll, die durch die
Druckdatenverarbeitungspipeline 15 durchgeführt werden. 1 ist kein Hardwareblockdiagramm
der Druckdatenverarbeitungspipeline 15. Wie aus der späteren Beschreibung
des Hardwareblockdiagramms ersichtlich wird, kann die Druckdatenverarbeitungspipeline 15 in
einer Vielzahl unterschiedlicher Weisen konfiguriert sein, um eine
Verarbeitung der Druckdaten zu optimieren.
-
Die in das System eingegebenen Druckdaten
könnten
in mehreren unterschiedlichen Formaten erscheinen. Die Eingangsdruckdaten
könnten
in der Form einer Anzeigeliste, von Rasterdruckdaten oder Rasterdruckdaten,
die bereits einer Komprimierung unterzogen wurden, sein. Die Anzeigelistendruckdaten
bestehen aus den Informationen, die zum Aufbauen der zu druckenden
Seiten notwendig sind. Die Anzeigelistendruckdaten können Rasterdruckdaten gemeinsam
mit Codes umfassen, die die Rasterdruckdaten als Text- oder Bilddruckdaten
identifizieren, sowie Druckersteuerungssprachencodes, die Textzeichen
darstellen, Graphiksprachcodes, die ein Graphikbild darstellen,
oder einer bestimmten Kombination jedes dieser Typen von Druckdaten.
Konzeptionell betrachtet betreten die Druckdaten die Druckdatenverarbeitungspipeline 15 an
dem geeigneten Ort abhängig
von der zur Umwandlung der Druckdaten in die Form, die zum Erzeugen
des gedruckten Ausgangs nötig
ist, erforderlichen Verarbeitung.
-
Eine Bildverarbeitung wird bezüglich Anzeigelistendruckdaten
in einer Bildverarbeitungsoperation 1 durch eine Aus führung von
Firmwareroutinen durchgeführt.
In dieser Bildverarbeitungsoperation 1 enthalten ist die
Partitionierung der Eingabe in Seitenstreifen. Die Anzeigelistendruckdaten
werden basierend auf der vertikalen Position auf der Seite, der dieselben
entsprechen, zur Partitionierung in Seitenstreifen sortiert. Die
Partitionierung der Seite in Seitenstreifen bei der Bildverarbeitungsoperation 1 beinhaltet
eine Betrachtung des Typs von Druckdaten, die den Abschnitt der
Seite bilden, der dem Seitenstreifen entspricht, der gebildet werden
wird. Jeder Seitenstreifen ist aus entweder einem oder zwei Seitenstreifenelementen
gebildet. Wenn der Abschnitt der Seite aus entweder vollständig verlustbehafteten oder
vollständig
verlustfreien Druckdaten gebildet ist, wird nur ein einzelnes Element
des Seitenstreifens in der Bildverarbeitungsoperation 1 für diesen
Abschnitt der Seite gebildet. Wenn jedoch die Anzeigelistendruckdaten
für diesen
Abschnitt sowohl verlustbehaftete als auch verlustfreie Druckdaten
umfassen, werden zwei separate Seitenstreifenelemente für diesen Abschnitt
der Seite gebildet. Eines dieser Seitenstreifenelemente umfaßt nur verlustbehaftete
Druckdaten und das andere dieser Seitenstreifenelemente umfaßt nur verlustfreie
Druckdaten.
-
Eine Bildung eines verlustbehafteten
und eines verlustfreien Seitenstreifenelements für den entsprechenden Abschnitt
der Seite tritt auf, wenn beide Typen von Daten in den Anzeigelistendruckdaten vorhanden
sind. In diesem Fall bildet die Bildverarbeitungsoperation 1 jedes
der beiden Seitenstreifenelemente durch ein Füllen von sowohl dem verlustbehafteten
als auch dem verlustfreien Seitenstreifenelement, Pixelort für Pixelort,
mit, wie dies geeignet ist, den verlustbehafteten oder verlustfreien
Druckdaten aus dem Seitenabschnitt. In dem verlustbehafteten und
verlustfreien Seitenstreifenelement enthalten sind die Druckdaten
für diesen
Abschnitt der Seite. Wenn z. B. die Anzeigelistendruckdaten verlustfreie Textdruckdaten
gemeinsam mit verlustbehafteten Bilddruckdaten umfassen, trennt
die Bildverarbeitungsoperation 1 die Anzeigelistendruckda ten
in die Textdruckdaten und die Bilddruckdaten. Dann wird jedes der
verlustfreien und verlustbehafteten Seitenstreifenelemente Pixelort
für Pixelort
mit den jeweiligen Textdruckdaten und Bilddruckdaten gefüllt. In diesem
Fall kann der Seitenstreifen, der den Anzeigelistendruckdaten entspricht,
als ein zusammengesetzter Seitenstreifen betrachtet werden, der
die Seitenstreifenelemente umfaßt,
die verlustbehaftete Bilddruckdaten enthalten, die über ein
Seitenstreifenelement gelegt sind, das die verlustfreien Textdruckdaten
enthält.
-
Für
den Fall, in dem ein verlustbehaftetes und ein verlustfreies Seitenstreifenelement
gebildet werden, erzeugt die Bildverarbeitungsoperation 1 eine
entsprechende Zusammenführungsebene.
Diese Zusammenführungsebene
besteht aus einem einzelnen Bit für jedes Paar entsprechender
Pixelorte in den beiden Seitenstreifenelementen zum Anzeigen, in
welchem des verlustbehafteten und des verlustfreien Seitenstreifenelements
die Druckdaten für
dieses Pixel enthalten sind. Die Bits, die die Zusammenführungsebene
bilden, sind in Bytes gebildet und werden durch die Druckdatenverarbeitungspipeline 15 als
ein Strom von Bytes übertragen.
Diese Zusammenführungsebene
wird zu einer späteren
Stufe in der Druckdatenverarbeitungspipeline 15 verwendet,
um die verlustbehafteten und die verlustfreien Seitenstreifenelemente
zu kombinieren, so daß der
ursprüngliche
Seitenstreifen rekonstruiert wird. Diese Zusammenführungsoperation
wird zu einem späteren
Zeitpunkt in dieser Spezifizierung detaillierter erläutert.
-
Für
den Fall, in dem ein Seitenstreifenelement gebildet wird, das nur
verlustbehaftete oder nur verlustfreie Daten aufweist, sind alle
Druckdaten für diesen
Seitenstreifen innerhalb dieses einzelnen Seitenstreifenelements
enthalten. Zusätzlich
wird die Zusammenführungsebene,
die diesem Seitenstreifenelement zugeordnet ist, nicht durch die
Bildverarbeitungsoperation 1 erzeugt. Da es nur ein einzelnes Seitenstreifenelement
für diesen
Abschnitt der Seite gibt, wäre
jedes Bit in der Zusammenführungsebene identisch.
Deshalb ist es nicht nötig,
eine Zusammenführungsebene,
die aus Bytes mit gleichem Wert besteht, durch die Druckdatenverarbeitungspipeline 15 zu
senden. Anstelle eines Erzeugens der Zusammenführungsebene in der Bildverarbeitungsoperation 1 wird
die Zusammenführungsebene
zu einer späteren
Stufe in der Druckdatenverarbeitungspipeline 15 erzeugt.
Dies wird zu einem späteren
Zeitpunkt in dieser Spezifizierung detaillierter erläutert.
-
Die Bildverarbeitungsoperation 1 erzeugt
außerdem
eine Halbtonebene, wobei ein Wert jedem Pixelort in dem Seitenstreifen
entspricht. Wie später in
dieser Spezifizierung erläutert
wird, wird jeder Halbtonwert durch zwei Bits dargestellt und bestimmt die
Halbtongebungsoperation, die auf die Druckdaten angewendet wird,
die dem Pixel entsprechen. Wenn die Halbtongeburigsoperationen,
die durchgeführt
werden sollen, für
jedes Pixel in dem Seitenstreifen gleich sind, wird die Halbtonebene
nicht in der Bildverarbeitungsoperation 1 erzeugt. Statt
dessen wird die Halbtonebene zu einer späteren Stufe in der Druckdatenverarbeitungspipeline 15 erzeugt. Dies
wird zu einem späteren
Zeitpunkt in dieser Spezifizierung detaillierter erläutert.
-
Aus den Anzeigelistendruckdaten,
die in Seitenstreifenelemente partitioniert wurden, werden Rasterdruckdaten
erzeugt, die den Anzeigelistendruckdaten entsprechen. Die resultierenden
Seitenstreifenelemente von Rasterdruckdaten werden durch die Operationen
der Druckdatenverarbeitungspipeline 15 geleitet, wie dieselben
erzeugt werden. Ein Rasterdruckdatenspeicher 2 wird verwendet,
um Rasterdruckdaten, die durch die Bildverarbeitungsoperation 1 erzeugt
wurden, zu speichern. Der Speicherraum, der dem Rasterdruckdatenspeicher 2 zugeteilt
ist, ist von ausreichender Speicherkapazität, um die Rasterdruckdaten
für zwei
Seitenstreifenelemente mit der maximal erlaubten Anzahl von Linien pro
Seitenstreifen, die Zusammenführungsebene
mit entsprechender Größe und die
Halbtonebene mit entsprechen der Größe zu enthalten. Jedes der
Seitenstreifenelemente wird in der Bildverarbeitungsoperation 1 rasterisiert,
in dem Speicherraum gespeichert, der dem Rasterdruckdatenspeicher 2 zugeteilt ist,
und dann an die nächste
Operation in der Druckdatenverarbeitungspipeline 15 gesandt,
um einen Raum in dem Rasterdruckdatenspeicher 2 für die nächsten Seitenstreifenelemente
zu erzeugen, die in der Bildverarbeitungsoperation 1 rasterisiert
werden. Es wird darauf verwiesen, daß bei dem bevorzugten Ausführungsbeispiel
der Rasterdruckdatenspeicher 2 nicht in der integrierten
Schaltung enthalten ist, in der die Druckdatenverarbeitungspipeline 15 implementiert
ist.
-
Üblicherweise
bestehen die erzeugten Rasterdruckdaten aus drei Acht-Bit-Bytes
für jedes
Pixel. Jedes der drei Bytes entspricht einer der Farbdimensionen
in dem Farbraum, in dem die Anzeigelistendruckdaten ausgedruckt
sind. Für
den Farbdrucker, bei dem das bevorzugte Ausführungsbeispiel der Druckdatenverarbeitungspipeline
wirkt, ist dies ein RGB-Farbraum.
Für Fachleute
auf diesem Gebiet ist jedoch erkennbar, daß der Farbraum der Eingangsdruckdaten
jeder Farbraum sein könnte,
wie z. B. Cyan, Magenta, Gelb, Schwarz (CMGK); Farbton, Sättigung,
Wert (HSV); Farbton, Helligkeit, Sättigung (HLS); Leuchtdichte,
Rot-Gelb-Skala, Grün-Blau-Skala
(La*b*); Leuchtdichte, Rot-Grün-Skala,
Gelb-Blau-Skala (Luv); Leuchtdichte, Rot-Blau-Skala, Grün-Gelb-Skala (YCrCb)
oder YIQ. Die erzeugten Rasterdruckdaten könnten Bildern, Text, Strichvorlagen,
Graphiken oder einer Kombination derselben entsprechen.
-
Wie zuvor erwähnt wurde, erzeugt die Bildverarbeitungsoperation 1 die
Zusammenführungsebene
für den
Fall, in dem die Anzeigelistendruckdaten derart sind, daß ein verlustbehaftetes
und ein verlustfreies Seitenstreifenelement gebildet werden. An einem
späteren
Ort in der Druckdatenverarbeitungspipeline werden die Zusammenführungsbits
verwendet, um Pixel aus dem Paar eines entsprechenden verlustbehafteten
und eines verlustfreien Seitenstreifenelements auszuwählen, um
das verlustbehaftete und das verlustfreie Seitenstreifenelement,
während die
korrekte Raumbeziehung zwischen den Pixeln beibehalten wird, in
das ursprüngliche
Bild zu kombinieren.
-
Eine Farbraumumwandlung wird in einer Farbraumumwandlungsoperation 3 durchgeführt. Der
Grad an Komprimierung, der bezüglich
der Rasterdruckdaten erzielt wird, wird durch den Farbraum beeinflußt, in dem
die Rasterdruckdaten ausgedrückt sind.
Ein höheres
verlustbehaftetes Komprimierungsverhältnis mit einer gleichen Bildqualität kann z.
B. allgemein durch ein Durchführen
einer Farbraumumwandlung von einem RGB-Farbraum in einem YCbCr-Farbraum
und ein Durchführen
der verlustbehafteten Komprimierungsoperation nach einer Umwandlung
in den YCbCR-Farbraum erzielt werden. Der YCbCr-Farbraum ist ein
Leuchtdichte/Farbton/Farbintensität-Typ-Farbraum, in dem die
Cr und Cb-Komponente des Farbraums jeweils sowohl Farbton- als auch
Farbintensitätsinformationen
umfassen. Das menschliche Auge ist sehr empfindlich gegenüber Veränderungen
an der Leuchtdichte und relativ weniger empfindlich gegenüber Veränderungen
an der Farbintensität.
Deshalb umfassen Druckdaten, die in diesem Farbraum ausgedrückt sind, eine
wesentliche Menge einer Redundanz bei der Cr- und Cb-Komponente.
Als ein Ergebnis kann eine verlustbehaftete Komprimierung bezüglich des
verlustbehafteten Seitenstreifenelements der Rasterdruckdaten mit
einem relativ großen
Komprimierungsverhältnis
durchgeführt
werden. Dieser farbraumabhängige
Komprimierungsverhältnisvorteil
existiert für eine
verlustfreie Komprimierung nicht. Aus diesem Grund werden verlustfreie
Seitenstreifenelemente keiner Farbraumumwandlung von dem RGB-Farbraum
in dem YCbCr-Farbraum unterzogen. Trotzdem könnte, wenn diese Farbraumumwandlung
aus anderen Gründen
benötigt
wäre, dieselbe
durchgeführt
werden. Zu einer späteren
Stufe in der Druckdatenverarbeitungspipeline werden sowohl die verlustfreien
Seitenstreifenelemente als auch die verlustbehafteten Seitenstreifenelemente
einer Farbraumumwandlung von dem RGB- oder YCbCr-Farbraum in die CMGK-Farbspezifizierung
unterzogen. Diese Farbraumumwandlung wird zu einem späteren Zeitpunkt
in der Spezifizierung detaillierter erläutert.
-
Ein Bilden eines verlustbehafteten
und eines verlustfreien Seitenstreifenelements aus einem Abschnitt
der Seite, die einem einzelnen Seitenstreifen entspricht, und zusätzlich ein
Erzeugen einer Zusammenführungsebene
und einer Halbtonebene erhöhen die
Menge von Daten, die durch die Druckdatenverarbeitungspipeline 15 gesandt
werden. Das Zusammenführungsbit
und die beiden Halbtonbits, die jedem Pixel zugeordnet sind, erhöhen die
Menge von Druckdaten. Da hohe Komprimierungsverhältnisse jedoch für das verlustbehaftete
und das verlustfreie Seitenstreifenelement erzielt werden können, und
da die Zusammenführungsebene
und die Halbtonebene ebenso einer verlustfreien Komprimierung unterzogen
werden, ist der Speicherraum, der benötigt wird, um die Druckdaten
zu enthalten, in dem schlimmsten Fall nur leicht erhöht. Die
resultierende Verbesserung der Druckqualität gegenüber Pipelines jedoch, die keine
unterschiedlichen Datenkomprimierungsalgorithmen für verlustbehaftete
und verlustfreie Daten anwenden, ist wesentlich. Für die meisten
Druckaufträge
sind die Druckdaten entweder alle verlustbehaftet oder alle verlustfrei.
Für diese
Fälle ist
der einzige Anstieg der Menge von Rasterdruckdaten, die durch die
Druckdatenverarbeitungspipeline 15 von der Bildverarbeitungsoperation 1 gesandt
werden, die Halbtonebene, wenn es unterschiedliche Halbtonalgorithmen
gibt, die auf die Pixel des Seitenstreifens angewendet werden. Wenn
die gleichen Halbtonalgorithmen auf alle Pixel des Seitenstreifens
angewendet werden, wird in der Bildverarbeitungsoperation 1 keine
Halbtonebene erzeugt.
-
Rasterdruckdaten können direkt
in die Druckdatenverarbeitungspipeline eingegeben werden. Die Rasterdruckdaten
können
von einem Scanner oder von dem Hostcomputer kommen. Die Vorrichtung,
die die Rasterdruckdaten liefert, liefert auch ein Anfangselement,
das durch die Bildverarbeitungs operation 1 verwendet wird,
um die Seitenstreifen zu bilden. In diesem Anfangselement enthalten sind
Informationen, die die Bildverarbeitungsoperation 1 verwenden
kann, um die Rasterdruckdaten als verlustbehaftet oder verlustfrei
für die
Bildverarbeitungsoperation 1 zu trennen.
-
Bevor die Seitenstreifenelemente
verlustbehafteter Rasterdruckdaten einer verlustbehafteten Komprimierung
unterzogen werden, werden die Cr- und die Cb-Komponente der farbraumumgewandelten
Seitenstreifenelemente von Rasterdruckdaten selektiv reduziert,
um die Menge von Druckdaten zu senken, die die Druckdatenverarbeitungspipeline 15 handhaben
muß, wodurch
der Datendurchsatz erhöht
und die Menge an Speicher reduziert wird, die nötig ist, um die Rasterdruckdaten
zu halten. Die zuvor erwähnte
Redundanz bei der Cr- und der Cb-Komponente ermöglicht es, daß diese
Rasterdruckdatenteilabtastung erzielt wird, während die visuell verlustfreie
Charakteristik der Rasterdruckdaten beibehalten wird. Die Teilabtastungsoperation
wird in der verlustbehafteten Komprimierungsoperation 5 durchgeführt. Die
verlustbehaftete Komprimierungsoperation 5 führt eine
Komprimierung bezüglich
Blöcken
von Rasterdruckdaten, die aus Abschnitten gebildet sind, die acht
Pixel entlang einer Abtastlinie breit sind und acht aufeinanderfolgenden
Abtastlinien hoch sind, durch. Durch ein Teilabtasten wird die Gesamtzahl
dieser Acht-Pixel-mal-Acht-Pixel-Blöcke reduziert.
-
Die Menge einer Teilabtastung, die
auftritt, hängt
von der Menge einer Datenreduzierung ab, die notwendig ist, um es
zu ermöglichen,
daß die
Rasterdruckdaten in den verfügbaren
Speicherraum passen. Wenn ein ausreichender Speicherraum verfügbar ist,
wird eine Teilabtastung durchgeführt,
um die Menge verlustbehafteter Rasterdruckdaten in dem Seitenstreifenelement
um ein Drittel zu reduzieren. Falls die Teilabtastung zum Einpassen
der verlustbehafteten Rasterdruckdaten in einen Speicher nötig ist,
wird dieselbe durchgeführt,
um die Menge verlustbehafteter Rasterdruckdaten in dem Seitenstreifenelement
um ein Halb zu reduzieren.
-
Die Teilabtastung zur Erzielung einer
Reduzierung von einem Drittel wird wie folgt erhalten. Es werden
z. B. drei Gruppen verlustbehafteter Rasterdruckdaten betrachtet,
wobei jede Gruppe vier Acht-mal-Acht-Blöcke von Pixeln aus einer Farbebene
darstellt. Eine erste Gruppe wird aus der Leuchtdichtekomponente
gebildet, eine zweite Gruppe wird aus der Cr-Komponente gebildet
und eine dritte Gruppe wird aus der Cb-Komponente gebildet. Es gibt
insgesamt 12 Blöcke
verlustbehafteter Rasterdruckdaten. In der zweiten Gruppe werden
für jede der
acht Abtastlinien in jedem der vier Blöcke nur die verlustbehafteten
Rasterdruckdaten, die abwechselnden Pixeln entlang jeder Abtastlinie
entsprechen, beginnend mit dem ersten Pixel jeder Abtastlinie in jedem
Block, behalten. Als ein Ergebnis wird für jede Abtastlinie jedes der
vier Blöcke
die Acht-Pixel-Breite auf vier Pixel reduziert. Auf diese Weise
werden die vier Blöcke
der Cr-Komponente
auf zwei Blöcke
herunter teilabgetastet. Die Teilabtastung der Cb-Komponente von
vier Blöcken
herunter auf zwei Blöcke wird
auf eine ähnliche
Weise erzielt. Nach dieser Teilabtastung der ursprünglichen
12 Blöcke
von Pixeln verbleiben acht, was eine Reduzierung von einem Drittel
ergibt.
-
Die Teilabtastung zur Erzielung einer
Reduzierung von ein Halb wird durch ein Anwenden der gleichen Teilabtastungsprozedur,
die verwendet wird, um eine Reduzierung von einem Drittel zu erzielen, auf
die verbleibenden zwei Blöcke
der Cr-Komponente und die beiden Blöcke der Cb-Komponente durchgeführt. Ein
Anwenden der gleichen Teilabtastungsprozedur auf die verbleibenden
Blöcke
der Cr- und der Cb-Komponente
resultiert in einem einzelnen Block für die Cr-Komponente und einem einzelnen Block
für die
Cb-Komponente. Nach diesem zweiten Durchlauf einer Teilabtastung
verbleiben von den ursprünglichen
12 Blöcken
von Pixeln sechs, was eine Reduzierung von ein Halb ergibt.
-
Nachdem die Teilabtastungsoperation
durchgeführt
ist, wird der verlustbehaftete Komprimierungsalgorithmus auf das
Seitenstreifenelement in der verlustbehafteten Komprimierungsoperation 5 angewendet.
Bei dem bevorzugten Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 ist das verwendete
verlustbehaftete Komprimierungsverfahren der bekannte JPEG-Algorithmus.
Das verlustbehaftete JPEG-Komprimierungsverfahren wurde ausgewählt, da
eine zuvor entwickelte Hardware zur Implementierung dieses Verfahrens
bereits verfügbar war.
Jedes verlustbehaftete Komprimierungsverfahren, wie z. B. eine Vektorquantisierung,
hätte jedoch verwendet
werden können.
Wenn es ein verlustfreies Seitenstreifenelement gibt, wird eine
Komprimierung dieses Seitenstreifenelements in einer verlustfreien Komprimierungsoperation 4 durchgeführt. Zusätzlich werden,
wenn es eine Zusammenführungs-
und eine Halbtonebene gibt, die den Seitenstreifenelementen entsprechen,
beide derselben in der verlustfreien Komprimierungsoperation 4 komprimiert.
Das bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 verwendet den Typ
von verlustfreiem Lempel-Ziv-Komprimierungs-/Dekomprimierungsverfahren,
der in dem U.S.-Patent
Nr. 5,455,576 offenbart ist. Jedes verlustfreie Komprimierungs-/Dekomprimierungsverfahren,
wie z. B. JBIG-, Lauflängen-
oder Deltazeilenkomprimierung, kann jedoch ebenso verwendet werden.
Weitere Informationen bezüglich
der zum Erzielen einer verlustfreien und verlustbehafteten Komprimierung
verwendeten Techniken sind in dem Buch „IN-TRODUCTION TO DATA COMPRESSION", Khalid Sayood, 1996,
Morgan Kaufmann Publishers zu finden.
-
Die verlustbehafteten und verlustfreien
komprimierten Rasterdruckdaten, die durch die verlustbehaftete Komprimierungsoperation 5 bzw.
die verlustfreie Komprimierungsoperation 4 erzeugt werden, sind
in einem komprimierten Rasterdruckdatenspeicher 6 gespeichert.
Der Raum, der dem komprimierten Rasterdruckdatenspeicher 6 zugeteilt
ist, ist von ausreichender Größe, um alle
drei Farbebenen der komprimierten verlustbehafteten und verlustfreien Rasterdruckda ten
für eine
gesamte Seite, die komprimierten Halbtondaten für eine gesamte Seite und die
komprimierten Zusammenführungsdaten
für eine gesamte
Seite zu halten. Es wird darauf verwiesen, daß bei dem bevorzugten Ausführungsbeispiel
der Komprimiertrasterdruckdatenspeicher 6 nicht in der integrierten
Schaltung enthalten ist, in der die Druckdatenverarbeitungspipeline 15 implementiert
ist. Ferner wird hervorgehoben, daß eine Bezeichnung des Rasterdruckdatenspeichers 2 und
des Komprimiertrasterdruckdatenspeichers 6 in einem konzeptionellen
Sinn nur zu Zwecken einer Erklärung
der Operation der Druckdatenverarbeitungspipeline 15 dient. Sowohl
der Rasterdruckdatenspeicher 2 als auch der Komprimiertrasterdruckdatenspeicher 6 sind
physisch in einem Systemspeicher angeordnet und speichern Druckdaten,
ob diese nun komprimierte Rasterdruckdaten oder Rasterdruckdaten
sind, bezüglich derer
keine Komprimierungs-/Dekomprimierungsoperationen durchgeführt wurden.
Da die Speicher nur durch den Typ von in denselben zu einem Zeitpunkt gespeicherten
Daten unterschieden werden, können Orte
in dem Systemspeicher verwendet werden, um beide Typen von Druckdaten
zu unterschiedlichen Zeitpunkten zu speichern.
-
Die Rasterdruckdaten für jedes
Pixel des verlustbehafteten oder des verlustfreien Seitenstreifenelements
werden durch drei Bytes dargestellt, nämlich ein Byte für jede Farbraumkomponente
der Rasterdruckdaten. Das verlustbehaftete und das verlustfreie
Seitenstreifenelement bewegen sich in zwei parallelen Kanälen durch
die Druckdatenverarbeitungspipeline 15. Abhängig von
dem Ort der Druckdaten in der Druckdatenverarbeitungspipeline 15 sind
der verlustbehaftete und der verlustfreie Rasterdruckdatenstrom
entweder ein Byte breit oder drei Bytes breit. Die verlustbehafteten
und die verlustfreien Rasterdruckdaten gelangen als ein drei Byte
breiter Strom in die Farbraumumwandlungsoperationen 3, 9 und
verlassen dieselben als ein ein einzelnes Byte breiter Strom, der
in einen drei Byte breiten Strom gepackt ist, wobei jedes Byte einer Drei-Byte-Gruppe
eine Abmessung des Ausgangsfarbraums darstellt. Die verlustbehafteten
und die verlustfreien Rasterdruckdaten gelangen als ein drei Byte
breiter Strom in die Farbraumumwandlungsoperation 12 und
verlassen dieselbe als ein ein einzelnes Byte breiter Strom. Jedes
Byte einer Drei-Byte-Gruppe, die in die Farbraumumwandlungsoperationen 3, 9, 12 eintritt,
stellt Rasterdruckdaten dar, die einer einzelnen Abmessung des Eingangsfarbraums
entsprechen. Das resultierende einzelne Byte, das die Farbraumumwandlungsoperation 12 verläßt, stellt Rasterdruckdaten
dar, die der einzelnen Abmessung des Ausgangsfarbraums entsprechen,
die einem Drucken unterzogen wird. Die verlustbehafteten und die
verlustfreien Druckdaten verlassen die Bildverarbeitungsoperation 1 als
ein drei Byte breiter Strom. Die verlustbehafteten und die verlustfreien
Druckdaten gelangen als ein drei Byte breiter Strom in die verlustbehafteten
Komprimierungsoperationen 5, 8 und 11 und
die verlustfreien Komprimierungsoperationen 4, 7, 10 und
verlassen dieselben als ein ein einzelnes Byte breiter Strom, der
dann zwischengespeichert wird, um ein drei Byte breiter Strom zu
werden. Die verlustbehafteten und die verlustfreien Druckdaten gelangen
als ein ein einzelnes Byte breiter Strom in die verlustbehafteten
Dekomprimierungsoperationen 5, 8, 11 und
die verlustfreien Dekomprimierungsoperationen 4, 7, 10 und
verlassen dieselben als ein einzelnes Byte breiter Strom. Die verlustbehafteten
und die verlustfreien Rasterdruckdaten gelangen als ein ein einzelnes
Byte breiter Strom in sowohl die Zusammenführungsoperation 13 als
auch die Halbtonoperation 14 und verlassen dieselben auch
so.
-
Die Ebene von Zusammenführungsdaten
ist in Bytes ausgerichtet. Da nur ein einzelnes Bit für jedes
Pixel für
die Zusammenführungsoperation
benötigt
wird, enthält
jedes Byte von Zusammenführungsdaten
Zusammenführungsinformationen
für acht
Pixel. Die Ebene von Halbtondaten ist in Acht-Bit-Bytes ausgerichtet.
Da zwei Bits für
jedes Pixel für
die Halbtonoperation benötigt
werden, enthält
jedes Byte von Halbtondaten Halbtoninformationen für vier Pixel. Sowohl
die Halbtonebene als auch die Zusammenführungsebene bewegen sich in
zwei Byte breiten parallelen Kanälen
durch die Druckdatenverarbeitungspipeline.
-
Durch ein Bilden verlustbehafteter
und verlustfreier Seitenstreifenelemente und ein darauffolgendes
Komprimieren der Rasterdruckdaten in diesen Seitenstreifenelementen
unter Verwendung von verlustbehafteten bzw. verlustfreien Komprimierungsverfahren
wird die optimale Kombination einer Speicherkomprimierung und Bildqualität für die Druckdaten
erzielt. Die verlustbehafteten Rasterdruckdaten können unter
Verwendung verlustbehafteter Komprimierungstechniken stark komprimiert werden,
während
ihre visuell verlustfreien Charakteristika beibehalten werden. Die
verlustfreien Rasterdruckdaten werden unter Verwendung verlustfreier Komprimierungstechniken
so komprimiert, daß keine Verschlechterung
der Bildqualität
auftritt, während hohe
Komprimierungsverhältnisse
erzielt werden. Die verlustbehafteten und die verlustfreien Komprimierungsverfahren,
die ausgewählt
sind, sind für
die verlustbehafteten Rasterdruckdaten (Bilder) und verlustfreien
Rasterdruckdaten (Text, Strichdarstellung und Graphiken) optimiert,
um hohe Komprimierungsverhältnisse
zu ergeben, ohne eine Bildqualität
zu verschlechtern. Dieses Merkmal ist ein wesentlicher Vorteil,
der aus einem Verwenden eines verlustbehafteten und eines verlustfreien
Seitenstreifenelements in der Druckdatenverarbeitungspipeline 15 resultiert.
Es wird darauf verwiesen, daß,
obwohl das bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 mehrere Kanäle verwendet, um
die Seitenstreifenelemente verlustbehafteter und verlustfreier Rasterdruckdaten
sowie die entsprechenden Halbton- und Zusammenzuführungsdaten durch
die Druckdatenverarbeitungspipeline 15 zu bewegen, es möglich wäre, einen
einzelnen Multiplexkanal zu verwenden, um nacheinander Seitenstreifenelemente
von Druckdaten zu übertragen.
Ein Verwenden eines einzelnen Multiplexkanals würde eine Leistung für eine Reduzierung
der Menge erforderlicher Hardware opfern.
-
Es ist möglich, komprimierte Rasterdruckdaten
in die Druckdatenverarbeitungspipeline 15 einzugeben. Dies
kann geschehen, wenn komprimierte Rasterdruckdaten in die Druckdatenverarbeitungspipeline 15 eingegeben
werden, die einem Befehl in der Anzeigeliste zugeordnet ist, oder
da Rasterdruckdaten oder komprimierte Rasterdruckdaten in die Druckdatenverarbeitungspipeline 15 eingegeben werden
können,
die bereit zur Dekomprimierung und zum Drucken einer gesamten Seite
ist. Diese komprimierten Rasterdruckdaten können durch den Hostcomputer
oder durch einen Scanner durch einen Hostcomputer bereitgestellt
werden. Enthalten in diesen komprimierten Rasterdruckdaten ist ein
Anfangselement, das durch den Hostcomputer angefügt wird, das Informationen
enthält,
die durch die Bildverarbeitungsoperation 1 verwendet werden.
-
Es wird der Fall betrachtet, in dem
es erwünscht
ist, ein verlustbehaftetes Bild, das zuvor als Anzeigelistendruckdaten
in die Druckdatenverarbeitungspipeline 15 eingegeben wurde,
mit einem verlustbehafteten Bild zu überlagern, das in die Druckdatenverarbeitungspipeline 15 als
komprimierte verlustbehaftete Rasterdruckdaten eingegeben wird. Für diesen
Fall wird ein Pfad in der Druckdatenverarbeitungspipeline 15 zum
Senden der komprimierten, verlustbehafteten Rasterdruckdaten von
dem Komprimiertrasterdruckdatenspeicher 6 in einer verlustbehafteten
Dekomprimierungsoperation 8, Durchführen einer Farbraumumwandlung
in einer Farbraumumwandlungsoperation 2 (für den Fall,
in dem die komprimierten, verlustbehafteten Rasterdruckdaten in
keinem RGB-Farbraum
ausgedrückt sind)
zurück
zu einem RGB-Farbraum, Speichern des Ergebnisses in dem Rasterdruckdatenspeicher 2 und
Liefern der dekomprimierten, verlustbehafteten Rasterdruckdaten
an die Bildverarbeitungsoperation 1 zum Durchführen der Überlagerung
mit dem zuvor eingegebenen verlustbehafteten Bild bereitgestellt. Die
Bildverarbeitungsoperation 1 führt dann die Partitionierung
in verlustbehaftete Seitenstreifenelemente durch. Es soll wieder
hervorgehoben werden, daß dieser
Pfad zum Kombinieren der komprimierten, verlustbehafteten Rasterdruckdaten
mit den verlustfreien Druckdaten in 1 in
einem konzeptionellen Sinn gezeigt ist. Die tatsächlichen Routen, denen Druckdaten
zu den Hardwarefunktionsblöcken
folgen, um die in 1 gezeigten
Operationen zu erzielen, werden zu einem späteren Zeitpunkt in dieser Spezifizierung
beschrieben.
-
Wie zuvor erwähnt wurde, ist die Druckdatenverarbeitungspipeline 15 in
der Lage, Raster- oder komprimierte Rasterdruckdaten von einer Vielzahl
von Vorrichtung zu empfangen, wie z. B. einem Hostcomputer oder
einem Scanner, die in der Lage sind, ein Drucken in dieser Form
zu liefern. Ein Empfangen von entweder Raster- oder komprimierten Rasterdruckdaten
beseitigt den Bedarf, daß die
Bildverarbeitungsoperation 1 die Rasterisierungsoperation
durchführt.
Zusätzlich
ist es, wenn die Druckdaten als komprimierte Rasterdruckdaten empfangen
werden, die bereit zum Drucken sind, nicht nötig, die verlustbehaftete 5 und/oder
verlustfreie 4 Komprimierungsoperation durchzuführen oder
die Farbraumumwandlungsoperation 3 durchzuführen.
-
Die Funktionsblöcke, die verwendet werden, um
die bei dem bevorzugten Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 gezeigten Operationen
zu erzielen, sind in einer einzelnen integrierten Schaltung implementiert.
Die Techniken, die zum Implementieren dieser Funktionen in einer
digitalen integrierten Schaltung verwendet werden, sind in der Technik
eines Entwurfs digitaler integrierter Schaltungen bekannt. Eine
Implementierung der Funktionen der Druckdatenverarbeitungspipeline 15 in
zweckgebundener Hardware liefert eine überlegene Verarbeitungsleistung
für die
Druckdaten, die in die Pipeline gelangen.
-
Obwohl es möglich wäre, jede der Operationen in
der Druckdatenverarbeitungspipeline 15 unter Verwendung
eines Mikroprozessors durchzuführen, wäre die Druckdatenverarbeitungsleistung
wesentlich reduziert. Der Mikroprozessor müßte abwechselnd das verlustbehaftete
und das verlustfreie Sei tenstreifenelement handhaben, um die notwendige Druckdatenkomprimierungs-,
Farbraumumwandlungs- und Druckdatendekomprimierungsoperation durchzuführen. Zusätzlich würde der
Mikroprozessor die verlustbehafteten und die verlustfreien Seitenstreifenkomponenten
zusammenführen
und die Halbtonoperation durchführen.
-
Das bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 wirkt mit einer Farblaserdruckmaschine 16,
die entworfen ist, um Druckdaten zu empfangen, die in einer CMGK-Farbspezifizierung
ausgedrückt
sind. Zusätzlich
wirkt die Druckmaschine 16 durch ein sequentielles Entwickeln
des Toners für
jede Ebene der CMGK-Farbspezifizierung vor einem Übertragen
von Toner auf das Papier. Das Vierdurchlaufsentwicklungsverfahren, das
durch die Druckmaschine 16 verwendet wird, gibt die Weise
vor, in der Rasterdruckdaten durch die Druckdatenverarbeitungspipeline 15 fließen. Aufgrund
dieser Funktionsweise der Laserdruckmaschine 16 werden
die Rasterdruckdaten für
eine Seite in vier aufeinanderfolgenden Durchläufen, und zwar einem Durchlauf
für jede
Dimension der CMGK-Farbspezifizierung, an die Druckmaschine 16 gesandt.
-
Wie zuvor erwähnt wurde, werden die komprimierten
Rasterdruckdaten für
die gesamte Seite in dem Speicherraum, der dem Komprimiertrasterdruckdatenspeicher 6 zugeordnet
ist, angehäuft, wenn
das verlustbehaftete und das verlustfreie Seitenstreifenelement
komprimiert werden. Die verlustbehafteten komprimierten Rasterdruckdaten
werden in einem YCbCr-Farbraum
ausgedrückt.
Die verlustfreien komprimierten Rasterdruckdaten werden in einem
RGB-Farbraum ausgedrückt.
Eine Umwandlung der komprimierten Rasterdruckdaten in jede der vier Farbebenen
der CMGK-Farbspezifizierung der Laserdruckmaschine erfordert ein
Senden der komprimierten Rasterdruckdaten für die Seite in vier aufeinanderfolgenden
Durchläufen
durch die Druckdatenverarbeitungspipeline 15. Bei jedem
dieser vier Durchläufe
werden die verlustfreien und die verlustbehafteten komprimierten
Rasterdruckdaten über zwei
ein einzelnes Byte breite Kanäle
an die jeweilige verlustfreie 10 und verlustbehaftete 11 Dekomprimierungsoperation
zur Dekomprimierung gesandt. Mit den Bytes verlustfreier komprimierter
Rasterdruckdaten verschachtelt sind die komprimierten Zusammenführungsebenen
und die Halbtonebenen. Die Zusammenführungsebenen und die Halbtonebenen
sind mit den verlustfreien Rasterdruckdaten so verschachtelt, daß sie einer
verlustfreien Komprimierung gemeinsam mit den verlustfreien Rasterdruckdaten
unterzogen werden können.
Nach einer Dekomprimierung werden die Zusammenführungsebene und die Halbtonebene
aus dem Strom dekomprimierter verlustfreier Druckdaten extrahiert.
Dies wird zu einem späteren
Punkt in dieser Spezifizierung detaillierter beschrieben. Die verlustbehafteten
komprimierten Druckdaten umfassen die verlustbehafteten Seitenstreifenelemente.
Nach einer Dekomprimierung der verlustbehafteten komprimierten Rasterdruckdaten wird
eine Interpolationsoperation durchgeführt, um Werte für die Cr-
und die Cb-Komponente
zu erweitern, die durch eine Teilabtastung vor einer Komprimierung
der verlustbehafteten Rasterdruckdaten eliminiert wurden. Die Interpolationsoperation
wird als Teil der verlustbehafteten Dekomprimierungsoperation 11 durchgeführt.
-
Nach der verlustbehafteten 11 und
der verlustfreien 10 Dekomprimierungsoperation werden sowohl
die verlustfreien Druckdaten als auch die verlustbehafteten Druckdaten
zur Farbraumumwandlung in der Farbraumumwandlungsoperation 12 gesandt.
Da die Druckmaschine 16 ein Vierdurchlaufentwicklungsverfahren
verwendet, werden die komprimierten Rasterdruckdaten für alle Farbebenen
der Seite vier aufeinanderfolgende Male durch die verlustbehaftete 11 und
die verlustfreie 10 Dekomprimierungsoperation gesandt.
Für jeden
der vier Durchläufe
komprimierter Rasterdruckdaten durch die verlustfreie 10 und
die verlustbehaftete 11 Dekomprimierungsoperation in die
Farbraumumwandlungsoperation 12 erzeugt die Farbraumumwandlungsoperation 12 eine
der vier Ebenen der CMGK-Farbspezifizierung. Die Farbraumumwand lungsoperation 12 wird
unter Verwendung der drei Acht-Bit-Bytes verlustbehafteter oder verlustfreier Rasterdruckdaten
durchgeführt,
die jedes der Pixel der Seite darstellen, die gedruckt werden soll.
Der Rasterdruckdatenstrom, der aus der Farbraumumwandlungsoperation 12 ausgegeben
wird, umfaßt zwei
Acht-Bit-Kanäle,
die aus den verlustbehafteten Rasterdruckdaten und den verlustfreien
Rasterdruckdaten gebildet sind. Die verlustfreien Rasterdruckdaten,
die in die Farbraumumwandlungsoperation 12 eingegeben werden,
sind in dem RGB-Farbraum ausgedrückt.
Die verlustbehafteten Rasterdruckdaten, die in die Farbraumumwandlungsoperation 12 eingegeben
werden, sind in dem YCrCb-Farbraum ausgedrückt.
-
1 legt
nahe, daß die
verlustbehaftete 5 und die verlustfreie 4 Komprimierungsoperation,
die verlustfreie 7 und die verlustbehaftete 8 Dekomprimierungsoperation
und die verlustfreie 10 und die verlustbehaftete 11 Dekomprimierungsoperation
in separaten Hardwareeinheiten erzielt werden. Bei dem bevorzugten
Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 jedoch gibt es eine
einzelne Hardwareeinheit, die eine verlustbehaftete Komprimierung
und Dekomprimierung durchführt, und
es gibt eine einzelne Hardwareeinheit, die eine verlustfreie Komprimierung
und Dekomprimierung durchführt.
Diese Einheiten führen
alle die Komprimierungs-/Dekomprimierungsoperationen für die Druckdatenverarbeitungspipeline 15 durch.
Obwohl zu Zwecken einer Beschreibung der Druckdatenverarbeitungspipeline 15 1 die Farbraumumwandlungsoperationen 3, 9 und 12 als
separate Hardwareeinheiten zeigt, wird bei dem bevorzugten Ausführungsbeispiel
ein einzelner Farbraumumwandler verwendet, um alle nötigen Farbraumumwandlungen durchzuführen.
-
Fachleute auf diesem Gebiet werden
nach einem Verstehen dieser Spezifizierung erkennen, daß jeder
Farbraumumwandler, der eine Umwandlung zwischen den Farbräumen, die
ausgewählt
sind, um die verlustbehafteten und die verlustfreien Druckdaten
auszudrücken,
und der Farbspezifizierung, die durch die Laserdruckmaschine verwendet
wird, durchfüh ren
kann, geeignet zur Verwendung bei einer Mehrpfad-Druckdatenverarbeitungspipeline ist.
-
Eine Zusammenführungsoperation 13 empfängt als
Eingänge
den verlustfreien Rasterdruckdatenstrom, den verlustbehafteten Rasterdruckdatenstrom,
den Halbtondatenstrom und den Zusammenführungsdatenstrom. Jeder dieser
Druckdatenströme ist
aus einem Strom von Bytes gebildet. Die Druckdaten, die eine einzelne
Farbebene der Druckmaschinenfarbspezifizierung für jedes der Pixel der gesamten
Seite darstellen, sind in dem verlustfreien und dem verlustbehafteten
Rasterdruckdatenstrom enthalten. Die Funktion der Zusammenführungsoperation 13 besteht
darin, Pixel für
Pixel diese beiden Rasterdruckdatenströme so zu kombinieren, daß das ursprüngliche
Bild, das zuvor in ein verlustfreies und ein verlustbehaftetes Seitenstreifenelement
aufgeteilt war, für
die gerade verarbeitete Farbebene rekonstruiert wird. Die Bits der
Zusammenführungsdaten,
die jedem Pixel zugeordnet sind, werden durch die Zusammenführungsoperation 13 verwendet,
um zu bestimmen, ob die Rasterdruckdaten für das Pixel, das gerade verarbeitet
wird, aus dem verlustfreien Rasterdruckdatenstrom oder aus dem verlustbehafteten
Rasterdruckdatenstrom ausgewählt
sind. Nachfolgende Durchläufe
verlustbehafteter und verlustfreier Rasterdruckdaten durch die Zusammenführungsoperation 13 rekonstruieren
das ursprüngliche Bild
für die
verbleibenden Farbebenen der Druckmaschinenfarbspezifizierung. Jedes
der Pixel entspricht einem Ort, an dem die gedruckte Seite sein
wird. Das Rekonstruktionsverfahren kann als eine Raumsynchronisierung
des verlustfreien und des verlustbehafteten Druckdatenstroms betrachtet
werden, um das ursprüngliche
Bild zu erzeugen. Ferner müssen,
um die Raumsynchronisierung zu erzielen, der verlustfreie und der
verlustbehaftete Rasterdruckdatenstrom und der Strom von Zusammenführungsdaten zeitlich
synchronisiert sein.
-
Die offenbarte Druckdatenverarbeitungspipeline 15 zieht
einen Vorteil aus der Ebene-für-Ebene-Entwicklungscharak teristik
der Druckmaschine 16, um den Gesamtspeicher, der zum Erzielen
der Druckoperation benötigt
wird, zu reduzieren. Durch ein Plazieren der Zusammenführungsoperation 13 in der
Druckdatenverarbeitungspipeline 15 nach der Farbraumumwandlungsoperation 12 ist
es nur nötig, daß die Zusammenführungsoperation 13 einen
Linienpuffer mit minimaler Größe für die Speicherung von
Rasterdruckdaten für
eine einzelne Farbebene der CMGK-Farbspezifizierung der Druckmaschine 16 verwendet.
Wäre die
Zusammenführungsoperation 13 vor
der Farbraumumwandlungsoperation 12 in der Druckdatenverarbeitungspipeline 15 angeordnet, wäre es nötig, daß die Zusammenführungsoperation 13 einen
Linienpuffer mit ausreichender Größe verwendet, um die Rasterdruckdaten
für jede
der drei Abmessungen des RGB- und des YCrCb-Farbraums zu speichern.
-
Es sollte zu erkennen sein, daß eine Druckdatenverarbeitungspipelinearchitektur,
die separate Pfade für
die verlustfreien und die verlustbehafteten Druckdaten verwendet,
mit einer Druckmaschine kompatibel ist, die durch ein Empfangen
der Rasterdruckdaten für
alle Farbebenen der Druckmaschinenfarbspezifizierung in einem einzelnen
Durchgang anstelle von mehreren Durchgängen wirkt. Für diesen
Fall wäre
es nötig,
daß die
Farbraumumwandlungsoperation 12 eine Farbraumumwandlung
bezüglich
der Rasterdruckdaten durchführt,
die jedes Pixel darstellen, um jeden der entsprechenden Werte für die C-,
M-, G- und K-Dimension gleichzeitig zu erzeugen. Dies würde es erforderlich
machen, daß die Farbraumumwandlungsoperation 12 die
Fähigkeit aufweist,
gleichzeitig die Interpolationen durchzuführen, die zur Erzeugung jeder
der C-, M-, G- und K-Abmessung erforderlich sind. Zusätzlich müßte die
Zusammenführungsoperation 13 einen
ausreichenden Speicherraum verwenden, um eine Seite von Rasterdruckdaten
für jede
der C-, M-, G- und K-Abmessung zu enthalten.
-
Bei dem bevorzugten Ausführungsbeispiel der
Druckdatenverarbeitungspipeline 15 werden die Rasterdruckdaten,
die in der Zusammenführungsoperation 13 kombiniert
sind, einer Halbtongebungsoperation 14 unterzogen. Die
Halbtonoperation 14 ist so angeordnet, daß eine Halbtongebung
die letzte Operation ist, die bezüglich der Rasterdruckdaten
vor einer Lieferung der Druckdaten an die Druckmaschine 16 durchgeführt wird.
Die Halbtonoperation 14 führt das Halbtongebungsverfahren
Ebene für
Ebene bezüglich
der zusammengeführten
Rasterdruckdaten durch, wie dies durch die Halbtondruckdaten, die jedem
Pixel zugeordnet sind, angewiesen wird. Ein Anordnen der Halbtonoperation 14 nach
der Zusammenführungsoperation 13 ermöglicht es,
daß die Halbtongebungsoperation 14 sequentiell
bezüglich jeder
Farbebene des Farbraums durchgeführt
wird, der durch die Druckmaschine 16 verwendet wird, wodurch
weniger Speicher zum Speichern der Rasterdruckdaten benötigt wird.
Zusätzlich
hätte,
wenn die Halbtongebungsoperation 14 vor der Zusammenführungsoperation
durchgeführt
worden wäre,
die Komplexität
der Halbtonoperation 14 aufgrund der Notwendigkeit eines
separaten Durchführens
der Halbtongebungsoperation 14 bezüglich des Stroms verlustfreier
Rasterdruckdaten und bezüglich
des Stroms verlustbehafteter Rasterdruckdaten wesentlich erhöht sein
müssen.
Ferner führt
eine Plazierung der Halbtonoperation 14 an letzter Stelle
in der Druckdatenverarbeitungspipeline 15 zu der optimalen
Druckqualität.
Ein Anordnen der Halbtonoperation 14 vor der Komprimierung
der verlustbehafteten Rasterdruckdaten hätte in einem Verlust einiger
der Verbesserungen geführt,
die durch das Halbtongebungsverfahren erzielt werden, und die Komprimierungsebene,
die bezüglich
der Halbton-Rasterdruckdaten erzielt wird, wäre reduziert. Zusätzlich wird
die höchste
Ebene einer Druckqualität
durch ein Durchführen
der Halbtongebungsoperation 14 bezüglich Rasterdruckdaten, die
in der Farbspezifizierung der Druckmaschine dargestellt sind, erzielt.
Deshalb ist bei dem bevorzugten Ausführungsbeispiel der Druckdatenverarbeitungspipeline 15 die
Halbtonoperation 14 nach der Farbraumumwandlungsoperation 12 angeordnet.
-
Die Zuteilung der Halbtonbits zu
jedem Pixel von Rasterdruckdaten wird in der Bildverarbeitungsoperation 1 durchgeführt, um
die Halbtonebene zu bilden. Wie bereits erwähnt wurde, können die
Druckdaten, die in die Druckdatenverarbeitungspipeline gelangen,
Text, Graphiken oder Bilddruckdaten in der Form von Rasterdruckdaten,
Rastersteuerungssprachdruckdaten oder Graphiksprachdruckdaten sein.
Eine Firmware, die in der Bildverarbeitungsblockoperation 1 wirkt,
erzeugt die Halbtonebene für das
entsprechende verlustbehaftete und verlustfreie Seitenstreifenelement
gemäß dem Typ
von Halbtonalgorithmus, der angewendet wird. Die Halbtonbits für die Textdruckdaten
z. B, können „11" zugeteilt sein,
Halbtonbits für
Graphikdruckdaten können „10" zugeordnet sein,
Halbtonbits für
Bilddruckdaten können „01" zugeordnet sein
und die Halbtonbits, die anzeigen, daß keine Halbtonoperation auf
die Druckdaten angewendet werden soll, die dem Pixel entsprechen,
können „00" zugeordnet sein.
Die Zuteilung der Halbtonbits ermöglicht die Anwendung einer
Halbtonoperation, die für
den Typ von Druckdaten optimiert ist, die den Halbtonbits zugeordnet
sind. Die Halbtonbits können
z. B. Halbtonalgorithmen spezifizieren, die Linienbildschirme mit
unterschiedlichen Anzahlen von Linien pro Zoll aufweisen. Halbtonoperationen sind
in der Technik des Druckens bekannt. Weitere Informationen bezüglich einer
Halbtongebung sind in R. Ulichney, Digital Halftoning, ISBN 0-262-21009-6 (vierter
Druck 1993) zu finden.
-
Die Zusammenführungsoperation 13 empfängt als
Eingänge
den verlustfreien Rasterdruckdatenstrom, den verlustbehafteten Rasterdruckdatenstrom,
den Halbtondruckdatenstram und den Zusammenführungsdruckdatenstrom. Jeder
dieser Druckdatenströme
ist auch Acht-Bit-Bytes gebildet. Die Druckdaten, die eine einzelne
Farbebene der Druckmaschinenfarbspezifizierung für jedes der Pixel der gesamten
Seite darstellen, sind in dem verlustfreien und dem verlustbehafteten
Rasterdruckdatenstrom enthalten. Die Funktion der Zusammenführungsoperation 13 besteht
darin, Pixel für
Pixel diese beiden Rasterdruckdatenströme so zu kombinieren, daß das ursprüngliche
Bild, das zuvor in ein verlustfreies und ein verlustbehaftetes Seitenstreifenelement
aufgeteilt wurde, für
die gerade verarbeitete Farbebene rekonstruiert wird. Nachfolgende
Durchläufe
verlustbehafteter und verlustfreier Rasterdruckdaten durch die Zusammenführungsoperation 13 rekonstruieren
das ursprüngliche
Bild für
die verbleibenden Ebenen der Druckmaschinenfarbspezifizierung. Jedes
der Pixel entspricht einem Ort, an dem die gedruckte Seite sein
wird. Das Rekonstruktionsverfahren kann als eine Raumsynchronisierung
des verlustbehafteten und des verlustfreien Rasterdruckdatenstroms
betrachtet werden, um das ursprüngliche
Bild zu erzeugen. Ferner müssen
der verlustfreie und der verlustbehaftete Rasterdruckdatenstrom
und der Druckdatenstrom von Halbtonbits zeitlich synchronisiert
werden, um die Raumsynchronisierung zu erzielen.
-
Eine Konfiguration der Druckdatenverarbeitungspipeline 15 wird
vor und während
des Durchlaufs von Druckdaten durch die Druckdatenverarbeitungspipeline 15 durchgeführt. Einige
Parameter der Pipeline können
für jede
Seite, einige für
jede Farbebene und einige für
jeden Seitenstreifen, konfiguriert sein. Die Anzahl von Linien pro
Seite und die Anzahl von Pixeln pro Linie sind auf einer Seitenbasis
konfigurierbar. Zusätzlich
ist die Anzahl von Farbebenen, die durch die Druckdatenverarbeitungspipeline 15 verarbeitet
werden (d. h. wird das Bild einfarbig oder vollfarbig gedruckt),
auf einer Seitenbasis konfigurierbar.
-
Eine Verarbeitung der Rasterdruckdaten
für jede
Farbebene erfordert eine Konfiguration der Farbraumumwandlungsoperationen 3, 9, 12.
Vor der Durchführung
von Farbraumumwandlungsoperationen 3, 9, 12 wird
die Farbraumumwandlungstabelle, die zur Umwandlung zu der beabsichtigten
Farbebene des Ausgangsfarbraums benötigt wird, geladen. Ferner
beinhaltet eine Verarbeitung jeder Farbebene durch eine Halbtonoperation 14 eine
Konfiguration der Halbtonoperation 14, so daß die korrekte
Halbtontabelle zur Halbtongebung der Farbebene verwendet wird. Wenn
z. B. aufeinanderfolgende Farbebenen eines Bildes verarbeitet werden,
kann jede Halbtontabelle einem Halbtongebungsalgorithmus unter Verwendung
des ausgewählten
Linienbildschirms bei einem unterschiedlichen relativen Winkel entsprechen.
Wie aus der Technik der Halbtongebung bekannt ist, reduziert die
Verwendung eines ausgewählten
Linienbildschirms bei unterschiedlichen relativen Winkeln für aufeinanderfolgende
gedruckte Farbebenen eine Wechselwirkung zwischen den Farbebenen,
was Druckartefakte erzeugt.
-
Die Druckdatenverarbeitungspipeline 15 weist
außerdem
Parameter auf, die auf einer Seitenstreifenbasis konfigurierbar
sind. Die Bildverarbeitungsoperation 1 kann die Druckdatenverarbeitungspipeline 15 konfigurieren,
um die verschiedenen verfügbaren
Pipelineverarbeitungsoperationen für jeden Seitenstreifen durchzuführen. Die
Bildverarbeitungsoperation 1 kann z. B. die Druckdatenverarbeitungsoperation 15 auf
einer Seitenstreifenbasis konfigurieren, um die Komprimierungsoperationen 4, 5,
die Dekomprimierungsoperationen 7, 8, 10, 11,
die Farbraumumwandlungsoperationen 3, 9, 12 oder
die Halbtonoperation 14 durchzuführen oder zu umgehen. Zusätzlich kann
die Anzahl von Bits pro Pixel für
die verlustfreien Seitenstreifenelemente auf einer Seitenstreifenbasis
als 1, 2, 4 oder 8 spezifiziert
sein. Für das
bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 erfordert der Komprimierungsalgorithmus,
der bei der verlustbehafteten Komprimierungsoperation 5 verwendet
wird, acht Bits pro Pixel für
das verlustbehaftete Seitenstreifenelement. Ferner kann die Bildverarbeitungsoperation 1 spezifizieren,
daß die
verlustbehaftete oder die verlustfreie Komponente eines Seitenstreifens
aus Null-Daten gebildet
ist, und daß jedes
Bit der entsprechenden Zusammenführungsebene
den gleichen Wert aufweist.
-
In 2 gezeigt
ist ein vereinfachtes Hardwareblockdiagramm des bevorzugten Ausführungsbeispiels
der Druckdatenverarbeitungspipeline 15. Es wird darauf
verwiesen, daß die Pfade,
die die Funktionsblöcke,
die in 2 gezeigt sind,
verbinden, Datenpfade darstellen. In 2 nicht
gezeigt sind die verschiedenen Steuerungsleitungen, die verwendet
werden, um den Fluß von
Daten zwischen den Funktionsblöcken
zu steuern. Bei dem bevorzugten Ausführungsbeispiel sind die Komprimierungs-/Dekomprimierungsoperationen 4, 5, 7, 8, 10, 11,
die Farbraumumwandlungsoperationen 3, 9, 12, die
Zusammenführungsoperation 13 und
die Halbtonoperation 14 in einer ASIC 120 implementiert.
Das bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 ist zur Verbindung
der ASIC 120 mit einem PCI-Bus konfiguriert. Fachleute
auf diesem Gebiet werden jedoch erkennen, daß die Druckdatenverarbeitungspipeline 15 zur
Verbindung mit anderen Typen von Bussen, wie z. B. einem VESA-Bus,
konfiguriert sein kann. Die PCI-Bus-Architektur ist in der Technik
eines Digitalsystementwurfs gut bekannt und wird nicht detailliert
erläutert.
Die Bildverarbeitungsoperation 1 wird durch einen Prozessor,
wie z. B. einen Mikroprozessor 132, durchgeführt, der
mit der Druckdatenverarbeitungspipeline 15 über den
PCI-Bus kommuniziert. Druckdaten werden von dem Rasterdruckdatenspeicher 2 und
den Komprimiertrasterdruckdatenspeicher 6 wiedergewonnen
und in denselben geladen, wie dieselben zu und von der ASIC 120 übertragen
werden.
-
Die ASIC 120 ist schnittstellenmäßig mit
dem PCI-Bus durch die PCI-Busschnittstelle 121 verbunden.
Die PCI-Busschnittstelle 121 umfaßt Register, die
zur Konfiguration der PCI-Busschnittstelle 121 nötig sind,
und Register, die zum Zwischenspeichern von Druckdaten verwendet
werden, wenn dieselben zwischen dem PCI-Bus und der ASIC 120 fließen. Eine
Direktspeicherzugriffssteuerung, wie z. B. ein Video-DMA 122,
steuert den Fluß von
Druckdaten in die Teile der ASIC 120 und aus denselben
heraus, die die verschiedenen Funktionen der Druckdatenverarbeitungspipeline 15 durchführen. Der
Video-DMA-Puffer 123 speichert zeitweilig Druckdaten, wenn
dieselben durch den Video-DMA 122 gelangen, um die Druckdatenraten
zwischen dem PCI-Bus und den verschie denen Funktionsblöcken der
ASIC 120 anzupassen, wenn sich Druckdaten in die ASIC 120 hinein
und aus derselben heraus bewegen. Die Verwendung des Video-DMA-Puffers
gleicht die Fehlanpassung der Rate eines Datenflusses zwischen der PCI-Busschnittstelle 121 und
den Funktionsblöcken in
dem Rest der ASIC 120 aus.
-
Mehrere wichtige Vorteile resultieren
aus der Implementierung der Druckdatenverarbeitungspipeline 15 in
der ASIC 120. Ein erster Vorteil ist die wirksame Weise,
auf die die Verarbeitungsoperationen für die Druckdatenverarbeitungspipeline 15 im
Inneren der ASIC 120 erzielt werden. Durch ein Anordnen aller
Operationen auf der ASIC 120 können Druckdaten zwischen aufeinanderfolgenden
Operationen übertragen
werden, ohne daß der
Verarbeitungsmehraufwand bewirkt wird, der resultieren würde, wenn Übertragungen
von Druckdaten über
den PCI-Bus zwischen separaten integrierten Schaltungen stattfinden
würden,
die einem Durchführen
einzelner Druckdatenpipelineverarbeitungsoperationen zugeordnet
sind. Ein zweiter Vorteil ist die Fähigkeit, die ASIC 120 zu
konfigurieren, um selektiv Druckdaten um Funktionsblöcke innerhalb
der ASIC 120 herumgehen zu lassen. Ein dritter Vorteil
ist die Fähigkeit,
selektiv die Ausgabe eines Funktionsblocks zu dem Video-DMA 122 zur
Leitung zu einem anderen Funktionsblock oder zur Speicherung in
einem Speicher zurückzukoppeln.
Diese Fähigkeiten
erzeugen eine extrem flexible und wirksame Druckdatenverarbeitungspipeline,
die konfiguriert sein kann, um die Druckdatenverarbeitungsoperationen
abhängig
von dem Typ von Druckdaten zu optimieren. Da die ASIC 120 konfiguriert
sein kann, um einen spezifischen Teilsatz, der möglichen Druckdatenverarbeitungsoperationen
durchzuführen,
können
die Operationen, die auf die Druckdaten angewendet werden, in einer breiten
Vielzahl von Weisen an die Charakteristika der Druckdaten angepaßt sein.
Dies ermöglicht
es, daß das
Drucksystem die Pipeline für
eine optimale Verarbeitung aller möglichen Typen von Druckdaten konfiguriert.
Die Rückkopplungsfähigkeit
ermöglicht es,
daß die
Druckdatenverarbeitungsopera tionen in einer Reihenfolge durchgeführt werden,
die am besten geeignet ist, um die Druckdaten zum Drucken einer
Seite vorzubereiten. Nach einer Fertigstellung einer Operation in
der Druckdatenverarbeitungspipeline 15 können die
Ergebnisse durch den Video-DMA 122 zu der nächsten Operation
gelenkt werden.
-
Abhängig von dem Typ von Operation,
den die Druckdatenverarbeitungspipeline 15 hinsichtlich der
Druckdaten durchführen
soll, die von dem PCI-Bus geladen sind, ist der Video-DMA 122 konfiguriert,
um die Druckdaten an den geeigneten Funktionsblock in der ASIC 120 zu
liefern. Wenn eine Farbraumumwandlung benötigt wird, werden die Druckdaten
durch den Video-DMA 122 an einen Seitenstreifenverwalter 124 gesandt.
Der Seitenstreifenverwalter 124 sendet die Druckdaten von
dem Video-DMA 122 in den geeigneten verlustbehafteten oder
verlustfreien Eingang eines Farbraumumwandlers 125. Zusätzlich extrahiert
der Seitenstreifenverwalter 124 die Zusammenführungsdaten
und die Halbtondaten extrahiert, die mit den verlustfreien Rasterdruckdaten
verschachtelt sind, und sendet alle derselben über separate Byte-breite Kanäle an die Zusammenführungseinheit 128.
Wenn eine Komprimierung oder Dekomprimierung der Druckdaten erforderlich
ist, werden die Druckdaten durch die Video-DMA 122 zu dem
geeigneten Komprimierungs- oder Dekomprimierungseingang auf dem
verlustbehafteten Kompressor/Dekompressor 126 oder verlustfreien
Kompressor/Dekompressor 127 geleitet. Die Zusammenführungseinheit 128 führt die
Zusammenführungsoperation 13 bezüglich des
verlustbehafteten und des verlustfreien Rasterdruckdatenstroms durch,
die aus dem Farbraumumwandler 125 hervorgehen. Ein Linienpuffer 129 umfaßt einen SRAM
zum Zwischenspeichern der verlustbehafteten und der verlustfreien
Rasterdruckdaten und der Zusammenführungs- und Halbtondaten, die
bei der Zusammenführungsoperation 13 verwendet
werden. Eine Halbtoneinheit 130 führt die Halbtonoperation 14 bezüglich des
zusammengeführten
Rasterdruckdatenstroms entsprechend jedem der Pixel gemäß den Bits
durch, die in der Halbtonebene spezifiziert sind.
-
Obwohl dies nicht explizit in 2 gezeigt ist, können sowohl
der Farbraumumwandler 125 als auch die Halbtoneinheit 130 konfiguriert
sein, um Druckdaten um diese Funktionsblöcke herum zu umgehen, wenn
die Operationen, die bezüglich
der Druckdaten durchgeführt
werden sollen, keine Farbraumumwandlung und/oder Halbtongebung umfassen.
-
Wenn Operationen daraufhin, daß Druckdaten
durch die Druckdatenverarbeitungspipeline 15 aus 1 fließen, abgeschlossen sind, können die Druckdaten
von der ASIC 120 in einen Speicher und zu einem späteren Zeitpunkt
wieder zurück
in die ASIC 120 zur weiteren Verarbeitung übertragen
werden. Nachdem z. B. die verlustbehaftete 5 und die verlustfreie 4 Komprimierungsoperation
in dem verlustbehafteten 126 bzw. verlustfreien 127 Kompressor/Dekompressor
durchgeführt
sind, können
die resultierenden komprimierten Rasterdruckdaten zu dem Video-DMA 122,
durch die PCI-Busschnittstelle 121 und
dann über
den PCI-Bus zu dem Komprimiertrasterdruckdatenspeicher 6 geleitet
werden. Wenn die komprimierten Rasterdruckdaten dekomprimiert werden
sollen, werden dieselben über
den PCI-Bus von dem Komprimiertrasterdruckdatenspeicher 6, durch
die PCI-Busschnittstelle 121 an die ASIC 120 übertragen
und dann durch den Video-DMA 122 in den Dekomprimierungseingang
von einem oder beiden des verlustbehafteten 126 und verlustfreien 127 Kompressors/Dekompressors
geleitet. Nachdem die Farbraumumwandlungsoperation 3 bezüglich der verlustbehafteten
und/oder der verlustfreien Rasterdruckdaten durchgeführt ist,
könnten
die resultierenden Rasterdruckdaten an den verlustbehafteten 126 Kompressor/Dekompressor
und/oder den verlustfreien 127 Kompressor/Dekompressor
durch den Video-DMA 122 zurückgeführt werden
oder sie könnten
zu dem Rasterdruckdatenspeicher 2 durch den Video-DMA 122 und
die PCI-Busschnittstelle 121 zurückgeführt werden oder sie könnten zum
Durchführen
der Zusammenführungsoperation 13 an
die Zusammenführungseinheit 128 gesandt
werden. In dem Farbraumumwandler 125 enthalten ist ein
Selektor, der die verlustbehafteten oder verlustfreien farbraumumgewandelten Rasterdruckdaten
an den verlustbehafteten oder verlustfreien Ausgang des Farbraumumwandlers 125 leitet,
die mit dem verlustbehafteten und verlustfreien Druckdateneingang
an der Zusammenführungseinheit 130 gekoppelt
sind.
-
Der Seitenstreifenverwalter 124 verwaltet
die Rasterdruckdaten so, daß die
Farbraumumwandlungsoperationen 3, 9, 12,
die Zusammenführungsoperation 13 und
die Halbtonoperation 14 der Druckdatenverarbeitungspipeline 15 einen
Strom von Rasterdruckdaten empfangen, der ein einheitliches Format
aufweist. In Situationen z. B., in denen nur ein einzelnes verlustbehaftetes
oder verlustfreies Seitenstreifenelement in der Bildverarbeitungsoperation 1 erzeugt
wird, erzeugt der Seitenstreifenverwalter 124 ein entsprechendes
verlustbehaftetes oder verlustfreies Seitenstreifenelement, wie
dies geeignet ist, leerer Druckdaten, so daß das entsprechende verlustbehaftete
und verlustfreie Seitenstreifenelement auf dem verlustbehafteten
und verlustfreien Pfad an den Farbraumumwandler 125 gesandt
wird. Zusätzlich
erzeugt der Seitenstreifenverwalter 124 für den Fall,
bei dem nur ein einzelnes verlustbehaftetes oder verlustfreies Seitenstreifenelement
durch die Bildverarbeitungsoperation 1 erzeugt wird, die
entsprechende Zusammenführungsebene,
die aus dem gleichen Bit gebildet ist, das jedem Pixel des Seitenstreifenelements
entspricht. Ferner erzeugt der Seitenstreifenverwalter 124 für den Fall,
bei dem die gleichen Halbtonprozesse auf jedes Pixel des Seitenstreifens angewendet
werden, die Halbtonebene entsprechend dem Seitenstreifen. Der Seitenstreifenverwalter 124 sendet
die Zusammenführungsdaten
und die Halbtondaten über
separate Byte-breite Pfade an die Zusammenführungseinheit 128.
-
Der Seitenstreifenverwalter 124 empfängt die
dekomprimierten verlustbehafteten und verlustfreien Rasterdruckdaten über separate,
Byte-breite Kanäle.
Wenn komprimierte verlustbehaftete Rasterdruckdaten durch den verlustbehafteten
Kompressor/Dekompressor 126 dekomprimiert werden, werden
die resultierenden Acht-Pixel-mal-Acht-Pixel-Blöcke für jede Dimension des Farbraums
in drei 64-Byte-Ausgangspuffern gespeichert, die in dem verlustbehafteten
Kompressor/Dekompressor 126 enthalten sind. Der Seitenstreifenverwalter 124 empfängt einen
Byte-breiten Strom der verlustbehafteten Rasterdruckdaten, die von
den drei Ausgangspuffern gesandt werden. Die Bytes der dekomprimierten, verlustbehafteten
Rasterdruckdaten, die jedem Pixel entsprechen, werden von den Ausgangspuffern
des verlustbehafteten Kompressors/Dekompressors 126 als
drei aufeinanderfolgende Bytes gesandt, wobei ein Byte jeder Abmessung
des Farbraums entspricht. Das erste der drei aufeinanderfolgenden
Bytes kann z. B. der „Y"-Komponente entsprechen,
das zweite der „Cb"-Komponente und das
dritte der „Cr"-Komponente. Der
Seitenstreifenverwalter 124 setzt die drei entsprechenden
Bytes verlustbehafteter Rasterdruckdaten für ein Pixel zusammen und sendet
dieselben als einen 24 Bit breiten Strom verlustbehafteter Rasterdruckdaten
an den Farbraumumwandler 125.
-
Der Seitenstreifenverwalter 124 empfängt die
dekomprimierten verlustfreien Rasterdruckdaten als einen Byte-breiten
Strom drei aufeinanderfolgender Bytes für jedes verlustfreie Pixel.
Das erste der drei aufeinanderfolgenden Bytes kann z. B. der „R"-Komponente entsprechen,
das zweite der „G"-Komponente und das
dritte der „B"-Komponente. Mit
den verlustfreien Rasterdruckdaten, die von dem verlustfreien Kompressor/Dekompressor 127 gesandt
werden, verschachtelt sind die Zusammenführungsdaten und die Halbtondaten.
Die Verschachtelung wird so durchgeführt, daß Bytes verlustfreier Rasterdruckdaten,
die einer einzelnen Linie auf der gedruckten Seite entsprechen,
gesandt werden, gefolgt durch die notwendige Anzahl von Bytes von
Zusammenführungsdaten
und Halbtondaten, um der Linie verlustfreier Rasterdruckdaten zu
entsprechen. Der Seitenstreifenverwalter 124 extrahiert
die Zusammenführungsdaten
und die Halbtondaten und sendet dieselben über separate Kanäle an die
Zusammenführungseinheit 128.
Der Seitenstreifenverwalter 124 setzt die drei entsprechenden
Bytes verlustfreier Rasterdruckdaten für ein Pixel zusammen und sendet
dieselben als einen 24 Bit breiten Strom verlustfreier Rasterdruckdaten
an den Farbraumumwandler 125.
-
In einigen Fällen umgeht der Video-DMA 122 den
Komprimierungsschritt und sendet Rasterdruckdaten direkt an den
Seitenstreifenverwalter 124. Dies kann durchgeführt werden,
wenn eine Seite von Rasterdruckdaten ohne eine Komprimierung und
Speicherung in dem Komprimiertrasterdruckdatenspeicher 6 an
die Druckmaschine 16 gesandt wird. In diesem Fall fließen die
Rasterdruckdaten in einer linearen Weise ohne ein Einschlagen eines
der verschiedenen Rückkopplungspfade
durch die Druckdatenverarbeitungspipeline 15. Es ist auch
möglich,
daß die
Rasterdruckdaten direkt von dem Video-DMA 122 an den Seitenstreifenverwalter 124 durch
die nachfolgenden Verarbeitungsoperationen der Druckdatenverarbeitungspipeline 15,
wie z. B. einer Farbraumumwandlung und Halbtongebung, gesandt werden, auf
einem Rückkopplungspfad
durch den Video-DMA 122 zum Senden an den geeigneten Kompressor
zurückkehren
und dann die komprimierten Rasterdruckdaten an den Video-DMA 122 zur
Speicherung in einem Speicher zurückgegeben werden.
-
Die verlustfreien Rasterdruckdaten
können durch
ein Bit, zwei Bits, vier Bits oder acht Bits pro Dimension des Farbraums
für jedes
Pixel spezifiziert werden. Vor einem Senden der verlustfreien Rasterdruckdaten
an den Farbraumumwandler 125 wandelt der Seitenstreifenverwalter 124 Ein-Bit-, Zwei-Bit- und
Vier-Bit-Darstellungen zu vollständigen
acht Bits pro Dimension jeder Pixeldarstellung um. Die Parameter
der Rasterdruckdaten können
sich zwischen Seitenstreifenelementen verändern sowie unterschiedliche
Typen von Druckdatenverarbeitungspipelineoperationen aufweisen,
die auf jedes der Seitenstreifenelemente angewendet werden. Der
Seitenstreifenverwalter 124 führt die nötigen Operationen durch, so
daß ein
nahtloser Strom (nahtlos in dem Sinn, daß Rasterdruckdatenformatunterschiede zwischen
Seitenstreifenelementen beseitigt werden, und in dem Sinn, daß es nur
eine geringe Variation der Flußrate
von Rasterdruckdaten durch die Druckdatenverarbeitungspipeline 15 gibt)
einheitlicher Formatrasterdruckdaten an in Verarbeitungsrichtung
unterhalb gelegene Druckdatenverarbeitungspipelineoperationen geliefert
werden.
-
Ein Bereitstellen einer Anzahl spezifischer Beispiele
des Typs von Druckdatenverarbeitungsoperationen, die wahrscheinlich
durchgeführt
werden, stellt die beträchtliche
Vielseitigkeit der Druckdatenverarbeitungspipeline 15,
die in der ASIC 120 implementiert ist, besser dar. Es wird
ein erster Fall betrachtet, in dem eine Seite unter Verwendung von Rasterdruckdaten
gedruckt werden soll, die in der CGMK-Maschinenfarbspezifizierung ausgedrückt sind,
bezüglich
derer keine Komprimierungs-/Dekomprimierungsoperationen durchgeführt wurden, und
für die
eine Halbtongebung auf die Rasterdruckdaten angewendet wird. Die
verlustbehafteten und verlustfreien Rasterdruckdaten werden jeweils
eine Farbebene zu einem Zeitpunkt von dem Systemspeicher durch die
PCI-Busschnittstelle 121 übertragen. Der
Video-DMA 122 sendet die verlustbehafteten und verlustfreien
Rasterdruckdaten durch den Seitenstreifenverwalter 124 an
den Farbraumumwandler 125, der konfiguriert wurde, um die
Druckdaten zu umgehen. Die Zusammenführungseinheit 128 führt die
Zusammenführungsoperation 13 bezüglich der verlustbehafteten
und der verlustfreien Rasterdruckdaten durch und sendet die zusammengeführten Druckdaten
an die Halbtongebungseinheit 130 für die Halbtonoperation 14.
Die halbgetönten
Rasterdruckdaten werden durch die Druckmaschinenschnittstelle 131 an
die Druckmaschine 16 gesandt. In diesem ersten Fall war
die Druckdatenverarbeitungspipeline 15 konfiguriert, um
nur die Zusammenführungsoperation 13 und
die Halbtonoperation 14 durchzuführen.
-
In einem zweiten Fall ist die Druckdatenverarbeitungspipeline 15 konfiguriert,
um eine Dekomprimierungsoperation 10, 11 bezüglich der
verlustbehafteten und verlustfreien komprimierten Rasterdruckdaten
durchzuführen,
die Farbraumum wandlungsoperation 12, die Zusammenführungsoperation 13 durchzuführen und
auch die Halbtonoperation 14 durchzuführen. Die verlustbehafteten
und die verlustfreien komprimierten Rasterdruckdaten werden von dem
Systemspeicher durch die PCI-Busschnittstelle 121 übertragen.
Der Video-DMA 122 leitet
die verlustbehafteten und die verlustfreien komprimierten Rasterdruckdaten
zur Dekomprimierung in den verlustbehafteten 126 und verlustfreien 127 Kompressor/Dekompressor.
Die dekomprimierten verlustfreien und verlustbehafteten Rasterdruckdaten
werden an den Farbraumumwandler 125 zur Umwandlung in eine
der Farbebenen für
jeden der vier Durchläufe der
Druckmaschine 16 gesandt. Die verlustbehafteten und die
verlustfreien, farbraumumgewandelten Rasterdruckdaten, die von dem
Farbraumumwandler 125 ausgegeben werden, werden zur Durchführung der
Zusammenführungsoperation 13 an
die Zusammenführungseinheit 128 gesandt.
Die Halbtonoperation 14 wird bezüglich der zusammengeführten Druckdaten
durchgeführt,
die von der Zusammenführungseinheit 128 ausgegeben
werden. Die Ergebnisse der Halbtonoperation werden wieder zum Senden durch
die PCI-Busschnittstelle 121 an
den Systemspeicher an den Video-DMA 122 zurückgesandt.
Diese Sequenz tritt viermal nacheinander auf, um die Druckdaten
für jede
Farbebene der Druckmaschine 16 zu erzeugen. In diesem zweiten
Fall war die Druckdatenverarbeitungspipeline 15 konfiguriert,
um die verarbeiteten Druckdaten zum Drucken zu einem späteren Zeitpunkt
an den Systemspeicher zurückzugeben.
Obwohl der Video-DMA 122 alle Druckdaten zweimal handhaben
mußte,
nämlich
einmal während
des Ladens und einmal während
des Speicherns, wurden mehrere Operationen bezüglich der Druckdaten in der
ASIC 120 ohne die Verwendung des PCI-Busses oder eine Intervention
durch den Mikroprozessor 132 durchgeführt.
-
In einem dritten Fall ist die Druckdatenverarbeitungspipeline 15 konfiguriert,
um eine Farbraumumwandlungsoperation, eine Halbtonoperation und dann
eine verlustfreie Komprimierungsoperation durchzuführen. Die
verlustfreien Rasterdruckdaten werden von dem Systemspeicher durch
die PCI- Busschnittstelle 121 übertragen.
Der Video-DMA 122 leitet die verlustfreien Rasterdruckdaten
an den Farbraumumwandler 125 durch den Seitenstreifenverwalter 130,
um einer Umwandlung in eine Ebene des Farbraums der Druckmaschine 16 unterzogen
zu werden. Der Seitenstreifenverwalter 134 erzeugt die entsprechenden
leeren verlustbehafteten Rasterdruckdaten und Zusammenführungsdruckdaten.
Die leeren verlustbehafteten Rasterdruckdaten umgehen den Farbraumumwandler 125.
Die Zusammenführungseinheit 130 führt eine
Zusammenführungsoperation
bezüglich
der verlustfreien und der verlustbehafteten Rasterdruckdaten unter
Verwendung der Zusammenführungsdruckdaten
durch, die durch den Seitenstreifenverwalter 124 erzeugt
werden. Die Halbtoneinheit 130 führt eine Halbtonoperation 14 bezüglich der
zusammengeführten
Rasterdruckdaten durch. Die Rasterdruckdaten, die von der Halbtoneinheit 130 ausgegeben
werden, werden an den Video-DMA 122 gesandt. Der Video-DMA 122 leitet dann
die Rasterdruckdaten zur verlustfreien Komprimierung an den verlustfreien
Kompressor/Dekompressor 127. Die komprimierten Rasterdruckdaten werden
an den Video-DMA zurückgegeben,
der wiederum die komprimierten Rasterdruckdaten durch die PCI-Busschnittstelle 121 zur
Speicherung an den Systemspeicher sendet. Diese Sequenz tritt viermal hintereinander
auf, um die Druckdaten für
jede Farbebene der Druckmaschine 16 zu erzeugen. Im Gegensatz
zu dem zweiten Fall wurde die Reihenfolge, in der die Druckdatenverarbeitungsoperationen durchgeführt wurden,
verändert.
Dies stellt die Fähigkeit
der Druckdatenverarbeitungspipeline 15 dar, konfiguriert
zu sein, um eine Verarbeitung der Druckdaten zu optimieren.
-
Einige Druckdatenverarbeitungspipelines des
Stands der Technik wurden unter Verwendung eines Universalmikroprozessors
implementiert, um die verschiedenen Farbraumumwandlungs-, Komprimierungs-/Dekomprimierungs-,
Zusammenführungs- und
Halbtongebungsoperationen zu erzielen. Die Geschwindigkeit, mit
der ein Mikroprozessor eine Firmware ausführen kann, um diese Operationen
zu erzielen, ist kleiner als die, die unter Verwendung einer zweckgebundenen Hardware
erzielt werden kann. Ferner führt
ein Verwenden eines Universalmikroprozessors zur Erzielung dieser
Operationen aufgrund der Zwischendruckdatenübertragungen zwischen dem Mikroprozessor
und dem Speicher über den
Systembus zu einem wesentlichen Datenübertragungsmehraufwand. Die
große
Anzahl von Übertragungen über den
Systembus verschlechtert die Verarbeitungsfähigkeit einer Druckdatenverarbeitungspipeline,
die unter Verwendung eines Universalmikroprozessors implementiert
ist, wesentlich.
-
Die Druckdatenverarbeitungspipelines
wurden unter Verwendung zweckgebundener integrierter Schaltungen
implementiert, um spezifische Funktionen der Druckdatenverarbeitungspipeline
zu erzielen. Operationen, wie z. B. eine Farbraumumwandlung und
eine Komprimierung/Dekomprimierung, wurden in einzelnen integrierten
Schaltungen implementiert. Ein Universalmikroprozessor ist jedoch dennoch
zum Bewegen von Druckdaten zwischen den verschiedenen integrierten
Schaltungen und dem Speicher erforderlich, wenn die Operationen
der Druckdatenverarbeitungspipeline durchgeführt werden. Obwohl dies eine
bestimmte Verbesserung bei der Verarbeitungszeit aufgrund der Verwendung zweckgebundener
Hardware ergibt, ist der Datenübertragungsmehraufwand
dennoch ein die Leistung einschränkender
Faktor. Die Implementierung der Druckdatenverarbeitungspipeline 15 in
der ASIC 120 vermeidet diesen Datenübertragungsmehraufwand durch
ein Durchführen
mehrerer Pipelineoperationen innerhalb der ASIC 120.
-
Das bevorzugte Ausführungsbeispiel
der Zusammenführungseinheit 130 wählt aus
dem verlustbehafteten und dem verlustfreien Rasterdruckdatenstrom
aus, um einen einzelnen Datenstrom unter Verwendung der Zusammenführungsbits
zu bilden, um das ursprüngliche
Bild zu rekonstruieren. Es sollte jedoch zu erkennen sein, daß die in
der Zusammenführungseinheit 130 verwendeten
Techniken nützlich sind,
um auf eine ähnliche
Weise mehr als zwei Datenströme
unter Verwendung mehrerer Zusammenführungsbits für jede Einheit
zusam mengeführter
Daten zu kombinieren. Zusätzlich
können
die zusammengeführten
Datenströme
andere Typen von Daten als Rasterdruckdaten oder andere Partitionen
von Rasterdruckdaten als in einen verlustbehafteten und einen verlustfreien
Rasterdruckdatenstrom umfassen. Der Rasterdruckdatenstrom kann z.
B. abhängig von
der Anwendung einer Halbtonoperation auf die Pixel von Rasterdruckdaten
in mehrere Ströme
unterteilt sein. Die Pixel von Rasterdruckdaten, die einer Halbtonoperation
unterzogen werden, würden unter
Verwendung einer Komprimierungsoperation komprimiert werden, die
für halbgetönte Rasterdruckdaten
optimiert ist. Die Pixel der Rasterdruckdaten, die nicht halbgetönt wurden,
würden
einer unterschiedlichen Komprimierungsoperation unterzogen werden.
Eine weitere mögliche
Partition des Rasterdruckdatenstroms wäre basierend auf der Anzahl
von Bits, die verwendet werden, um jede Farbraumdimension des Pixels
darzustellen. Bereiche einer Seite z. B., die Schwarz- und Weißinformationen
enthalten, könnten
z. B. durch weniger Bits pro Pixel dargestellt werden als Bereiche
von Seiten, die Farbbilder enthalten. In dem extremsten Fall könnten einige
Bereiche der Seite eine Vollfarb-24-Bit-pro-Pixel-Darstellung aufweisen
und andere Bereiche der Seite könnten
eine Binär-Schwarz-und-Weiß-1-Bit-pro-Pixel-Darstellung aufweisen.
Eine separate Verarbeitung eines 24-Bit-pro-Pixel-Stroms von Rasterdruckdaten und eines
1-Bit-pro-Pixel-Stroms
von Rasterdruckdaten ermöglicht
eine Optimierung der Komprimierungs- und Halbtongebungsoperation
für jeden
der Ströme. Eine
weitere mögliche
Partition des Rasterdruckdatenstroms wäre basierend auf der zur Darstellung
der Seite verwendeten Auflösung.
Bereiche eines Bildes, die keine hochdetaillierten Merkmale enthielten, könnten mit
einer niedrigeren Auflösung,
wie z. B. 600 dpi, gedruckt werden. Bereiche eines Bildes, die hochdetaillierte
Merkmale enthielten, könnten
mit einer höheren
Auflösung,
wie z. B. 1.200 dpi, gedruckt werden. Dieser Fall kann auftreten,
wenn es eine konstante Grauskalierungsregion mit einer scharfen Grenze
gibt. Eine separate Verarbeitung eines Rasterdruckdatenstroms mit
höherer
Auflösung
und eines Rasterdruckdatenstroms mit niedrigerer Auflösung würde eine
Optimierung von Halbton- und Komprimierungsoperation für jeden
der Rasterdruckdatenströme
ermöglichen.
-
Es wird angemerkt, daß, obwohl
das bevorzugte Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 eine Zusammenführungseinheit 130 verwendet,
die die Zusammenführungsoperation 13 bezüglich digitaler
Daten durchführt,
es möglich
wäre, eine
Zusammenführungsoperation
auf der Oberfläche
der Photoleitertrommel in der Druckmaschine 16 durch eine
Entwicklung der verlustbehafteten und der verlustfreien Rasterdruckdaten
bei aufeinanderfolgenden Durchläufen
auf die Oberfläche
der Photoleitertrommel zu implementieren. Diese Zusammenführungsoperation
wäre wirksam
eine ODER-Operation zwischen den verlustbehafteten und den verlustfreien
Rasterdruckdaten, wie dieselben auf der Photoleitertrommel entwickelt
werden. Ferner wäre
es außerdem
möglich,
die Zusammenführungsoperation 13 bezüglich digitaler
Daten zu implementieren, so daß eine
ODER-Operation zwischen
den verlustbehafteten und den verlustfreien Rasterdruckdaten durchgeführt wird,
anstatt eine Zusammenführungsebene
zu verwenden, um zu spezifizieren, aus welchen dieser Ströme die Rasterdruckdaten
ausgewählt
werden sollen.
-
In 3 gezeigt
ist eine Diagrammdarstellung der durch die Zusammenführungseinheit 128 durchgeführten Operation.
Jeder der Abschnitte 20–23 ist Teil des SRAM-Linienpuffers 129 und
jeder Abschnitt entspricht zwei Puffern, die einen der vier Typen
von Druckdatenströmen
halten, die in die Zusammenführungseinheit 128 gelangen.
Eine Zwischenspeicherung wird benötigt, so daß wie benötigt ausreichend Druckdaten
von jedem der Druckdatenströme
verfügbar
sind, um die Zusammenführungsoperation 13 ohne
ein Senken des Rasterdruckdatendurchsatzes der Zusammenführungseinheit 128 durchzuführen. Wenn
die Zusammenführungseinheit 128 jedes
Zusammenführungsbit
verarbeitet, müssen
Bytes von Rasterdruckdaten von sowohl dem verlustfreien als auch
dem ver lustbehafteten Druckdatenstrom verfügbar sein, um dem gerade verarbeiteten
Pixel zugeordnet zu sein. Zusätzlich
müssen die
Halbtonbits verfügbar
sein, um die Raumbeziehung mit dem gerade verarbeiteten Pixel beizubehalten.
Für den
verlustfreien Druckdatenstrom wird eine ausreichende Anzahl von
Bytes in dem verlustfreien Linienpuffer 21 gespeichert,
um zwei gesamte Abtastlinien in der Druckmaschine zu bedekken, wenn die
Pixel kontinuierlich auf der gedruckten Seite plaziert werden. Durch
ein Speichern von zwei Linien verlustfreier Rasterdruckdaten in
den beiden Puffern, die den verlustfreien Linienpuffer 21 bilden,
können sich
die verlustfreien Rasterdruckdaten auf eine „Ping-Pong"-Weise durch den verlustfreien Linienpuffer 21 bewegen,
um einen hohen Durchsatz beizubehalten.
-
Der Datenkomprimierungsalgorithmus,
der bei dem bevorzugten Ausführungsbeispiel
der Druckdatenverarbeitungspipeline 15 auf die verlustbehafteten
Rasterdruckdaten wirkt, wirkt durch ein Partitionieren der Pixel
des verlustbehafteten Seitenstreifenelements, um Zellen zu bilden,
die bei der Komprimierungsoperation verwendet werden. Die bei dem bevorzugten
Ausführungsbeispiel
der Druckdatenverarbeitungspipeline ausgewählte Zellgröße weist eine Breite von acht
Pixeln und eine Höhe
von acht Pixeln auf. Wenn eine Dekomprimierung bezüglich der
komprimierten, verlustbehafteten rasterisierten Druckdaten durchgeführt wird,
werden ausreichend viele Bytes von Rasterdruckdaten, um einem Block mit
einer Breite von acht Pixeln und einer Höhe von acht Pixeln zu entsprechen,
als die Ausgabe der verlustbehafteten Dekomprimierungsoperation 11 erzeugt.
Da eine Dekomprimierung der komprimierten verlustbehafteten Rasterdruckdaten
Block für
Block durchgeführt
wird, und um eine ausreichende Zwischenspeicherung der verlustbehafteten
Rasterdruckdaten sicherzustellen, die von dem Farbraumumwandler 125 ausgegeben
werden, weist der verlustbehaftete Linienpuffer 20 die
Fähigkeit
auf, zwei Zeilen von Blöcken
zu speichern. Zwei Zeilen von Blöcken
gleichen einer ausreichenden Anzahl von Pixeln, um 16 Druckmaschinenabtastli nien
vollständig zu
bedecken. Durch ein Speichern von zwei Zeilen von Blöcken verlustbehafteter
Rasterdruckdaten in den beiden Puffern, die den verlustbehafteten
Linienpuffer 20 bilden, können sich die verlustbehafteten Rasterdruckdaten
auf eine „Ping-Pong"-Weise durch den
verlustbehafteten Linienpuffer 20 bewegen, um einen hohen
Durchsatz beizubehalten. Der Zusammenführungslinienpuffer 22 und
der Halbtonlinienpuffer 23 enthalten ausreichend viele
Zusammenführungsbits
bzw. Halbtonbits, um zwei Abtastlinien von Pixeln zu verarbeiten.
Deshalb wäre
die Speicherkapazität
des Zusammenführungslinienpuffers 22 ein Achtel
von der des verlustfreien Linienpuffers 21 und die Speicherkapazität des Halbtonlinienpuffers 23 wäre ein Viertel
von der des verlustfreien Linienpuffers 21.
-
Die Eingänge des Druckdatenmultiplexers 24 sind
mit den Ausgängen
des verlustbehafteten Linienpuffers 20 und des verlustfreien
Linienpuffers 21 verbunden. Der Ausgang des Zusammenführungslinienpuffers 22 steuert
die Auswahl des Eingangsrasterdruckdatenstroms für die Ausgabe des Druckdatenmultiplexers 24.
Basierend auf dem Zustand des Zusammenführungsbits für jedes
Pixel, das einer Verarbeitung unterzogen wird, wählt der Druckdatenmultiplexer 24 die
Rasterdruckdaten für
das Pixel, das gerade verarbeitet wird, aus entweder dem verlustbehafteten
Rasterdruckdatenstrom oder dem verlustfreien Rasterdruckdaten aus.
Der zusammengeführte
Rasterdruckdatenstrom aus dem Ausgang des Druckdatenmultiplexers 24 ist
eine Kombination der beiden Eingangsrasterdruckdatenströme, so daß die Raumsynchronisierung
zwischen den Pixeln in dem ursprünglichen
Bild in dem rekonstruierten Bild beibehalten wird. Die Halbtonbits,
die zuvor entsprechenden Pixeln von sowohl dem verlustfreien als auch
dem verlustbehafteten Rasterdruckdatenstrom zugeordnet wurden, behalten
die Pixel-für-Pixel-Raumsynchronisierung
mit den Rasterdruckdaten bei, die vorhanden waren, als die Halbtonbits
in die Zusammenführungseinheit 128 gelangt
sind.
-
In 4 gezeigt
ist ein Blockdiagramm der Zusammenführungseinheit 128 auf
hoher Ebene. Der verlustbehaftete Rasterdruckdatenstrom 30 und der
verlustfreie Rasterdruckdatenstrom 31, die jeweils aus
einem Strom aus Acht-Bit-Bytes
bestehen, sind in dem verlustbehafteten Eingangspuffer 32 bzw.
dem verlustfreien Eingangspuffer 33 gespeichert. Der Strom
von Zusammenführungsbits 34 und Halbtonbits 35,
die jeweils in einen Strom gebildet sind, der aus Acht-Bit-Bytes
besteht, sind in dem Zusammenführungseingangspuffer 36 bzw.
dem Halbtoneingangspuffer 37 gespeichert. Die Eingangspuffer 32, 33, 36, 37 sind
so entworfen, daß jeder
dieser Druckdatenströme
von einer Breite von acht Bits in eine Breite von 32 Bits umgewandelt
wird, wenn die Druckdatenströme
von den Eingangspuffern 32, 33, 36, 37 gesandt
werden.
-
Eine Farbraumumwandlerschnittstellensteuerung 38 umfaßt die Eingangspuffersteuerungsfähigkeit,
die die Übertragung
der vier Druckdatenströme durch
die Eingangspuffer 32, 33, 36, 37 verwaltet. Diese
Steuerungsfähigkeit
sendet und empfängt Handschlag-
bzw. Handshakingsignale zu und von dem Farbraumumwandler 125.
Diese Handschlagsignale steuern den Fluß von Druckdaten von dem Farbraumumwandler 125 zu
den Eingangspuffern 32, 33, 36, 37.
Aus diesen Handschlagsignalen erzeugt die Farbraumumwandlerschnittstellensteuerung 38 die
Freigabesignale, die es ermöglichen,
daß die
Eingangspuffer 32, 33, 36, 37 den
geeigneten Typ von Druckdaten (verlustbehaftet, verlustfrei, Halbton
oder Zusammenführung)
in den entsprechenden der Eingangspuffer 32, 33, 36, 37 laden.
Die von dem Farbraumumwandler 125 empfangenen Handschlagsignale
umfassen Signale, die anzeigen, wann verlustbehaftete und verlustfreie
Rasterdruckdaten zur Übertragung
zu dem verlustbehafteten 32 und verlustfreien 33 Eingangspuffer
verfügbar
sind. Die Farbraumumwandlerschnittstellensteuerung 38 empfängt außerdem Handschlagsignale,
die anzeigen, wann die Zusammenführungs-
und die Halbtondruckdaten zur Übertragung
zu dem Zusammenführungs-36-
und Halbton-37-Eingangspuffer
verfügbar sind.
Die Handschlagsignale, die von der Farbraumumwandlerschnittstellensteuerung 38 an den
Farbraumumwandler 125 und den Seitenstreifenverwalter 134 gesandt
werden, umfassen außerdem
Signale, die anzeigen, wann jeder der Eingangspuffer 32, 33, 36, 37 bereit
ist, um Eingangsdruckdaten zu empfangen. Die 32 Bits breiten Datenströme 40, 41, 42, 43,
die von jedem der Eingangspuffer 32, 33, 36, 37 ausgegeben
werden, werden an den Eingangspuffermultiplexer 39 gesandt.
Die Farbraumumwandlerschnittstellensteuerung 38 steuert
den Fluß der
Druckdatenströme
von den Eingangspuffern 32, 33, 36, 37 durch
den Eingangspuffermultiplexer 39. Steuerungssignale 47,
die durch die Farbraumumwandlerschnittstellensteuerung 38 erzeugt
werden, wählen
einen der 32 Bits breiten Datenströme 40, 41, 42, 43 zur Übertragung
an die SRAM-Schnittstellensteuerung 44 aus. Eine Zustandsmaschine
(nicht separat gezeigt), die in der Farbraumumwandlerschnittstellensteuerung 38 enthalten
ist, erzeugt die Steuerungssignale 47, die bestimmen, welcher
der Druckdatenströme
von den Eingangspuffern 32, 33, 36, 37 durch
den Eingangspuffermultiplexer 39 zur Übertragung zu der SRAM-Schnittstellensteuerung 44 ausgewählt wird.
-
Die SRAM-Schnittstellensteuerung 44 und die
Farbraumumwandlerschnittstellensteuerung 38 erzeugen jeweils
die notwendigen Handschlagsignale 45, um Druckdaten durch
den Eingangspuffermultiplexer 39 an die SRAM-Schnittstellensteuerung 44 zu übertragen.
Die SRAM-Schnittstellensteuerung 44 erzeugt ein Handschlagsignal,
das der Farbraumumwandlerschnittstellensteuerung 38 anzeigt,
daß die SRAM-Schnittstellensteuerung 44 bereit
ist, um Druckdaten zu empfangen. Die Farbraumumwandlerschnittstellensteuerung 38 liefert
Steuerungssignale, um den Typ von Druckdaten (verlustbehaftet, verlustfrei,
Halbton oder Zusammenführung)
zu identifizieren, die von dem Eingangspuffermultiplexer 39 gesandt
werden. Die Druckdaten, die durch die SRAM-Schnittstellensteuerung 44 empfangen
werden, sind in dem SRAM-Linienpuffer 129 gespeichert.
Der SRAM-Linienpuffer 129 ist in Abschnitte partitioniert,
die jedem der Druckdatentypen (verlustbehaftet, verlustfrei, Halbton
und Zusammenführung) entsprechen.
Die Linienpuffer 20–23 in
dem SRAM-Linienpuffer 129 entsprechen denjenigen, die in 3 dargestellt sind. Eine
Speicherung der Druckdaten in dem SRAM-Linienpuffer 129 stellt
sicher, daß ausreichend
viele Druckdaten verfügbar sind,
um die Zusammenführungsoperation
ununterbrochen durchzuführen.
Die durch die SRAM-Schnittstellensteuerung 44 empfangenen Druckdaten
werden in dem geeigneten Abschnitt des SRAM-Linienpuffers 129 gespeichert,
wie dies durch die Steuerungssignale 45 aus der Farbraumumwandlerschnittstellensteuerung 38 bestimmt
wird. Die in dem SRAM-Linienpuffer 129 gespeicherten Druckdaten
werden in die SRAM-Schnittstellensteuerung 44 geladen,
so daß die
Druckdaten zur Durchführung
der Zusammenführungsoperation 13 verfügbar sind.
Druckdaten werden in den SRAM-Linienpuffer 129 über einen
einzelnen bidirektionalen 32 Bit breiten Bus 49 gespeichert
und über
denselben von demselben geladen. Obwohl dieser Bus 49 in 3 als zwei unidirektionale
Busse dargestellt ist, verwendet das bevorzugte Ausführungsbeispiel
der Zusammenführungseinheit 128 einen
einzelnen bidirektionalen Bus. Die SRAM-Schnittstellensteuerung 44 erzeugt
die Adressen zum Zugreifen auf Speicherorte in dem SRAM-Linienpuffer 129 über den
Adreßbus 50.
-
Druckdaten, die von dem SRAM-Linienpuffer 129 in
die SRAM-Schnittstellensteuerung 44 geladen werden,
werden in Vorbereitung für
eine Durchführung
der Zusammenführungsoperation
zu den Ausgangspuffern 51, 52, 53, 54 übertragen.
Die Ausgangspuffer 51, 52, 53, 54 umfassen
den verlustbehafteten Ausgangspuffer 51, den verlustfreien
Ausgangspuffer 52, den Zusammenführungsausgangspuffer 53 und
den Halbtonausgangspuffer 54. Der Halbtonausgangspuffer 54 und
der Zusammenführungsausgangspuffer 53 sind
jeweils aus Schieberegistern gebildet. Die Verwendung von Schieberegistern
ermöglicht
es, daß 32-Bit-Wörter der
Halbtondruckdaten und der Zusammenführungsdruckdaten in die Paare
von Bits (Halbtondruckdaten) oder einzelne Bits (Zusammenführungsdruckdaten)
partitioniert werden, die mit Rasterdruckdaten übereinge stimmt werden, die
dem gemeinsam zugeordneten Pixel entsprechen. Eine Übertragung
der Druckdaten von der SRAM-Schnittstellensteuerung
zu den Ausgangspuffern 51, 52, 53, 54 wird
durch Steuerungssignale 56 zwischen der Halbtonschnittstellensteuerung 55 und
der SRAM-Schnittstellensteuerung 44 verwaltet. Die Steuerungssignale 56 umfassen
Signale, die anzeigen, wann jeder der Ausgangspuffer 51, 52, 53, 54 bereit
ist, um den entsprechenden Typ von Druckdaten (verlustbehaftet,
verlustfrei, Halbton, Zusammenführung)
zu empfangen, und umfassen Signale, die anzeigen, wann die SRAM-Schnittstellensteuerung 44 Druckdaten
aufweist, die zur Übertragung
an die Ausgangspuffer 51, 52, 53, 54 verfügbar sind.
-
Eine Halbtonschnittstellensteuerung 55 erzeugt
Steuerungssignale 57, die die Übertragung von Druckdaten durch
die Ausgangspuffer 51, 52, 53, 54 steuern.
Der Eingangsdruckdatenstrom in jeden der Ausgangspuffer 51, 52, 53, 54 ist 32 Bits
breit. Der verlustbehaftete und der verlustfreie Rasterdruckdatenstrom,
die aus dem verlustbehafteten Rasterdruckdatenausgangspuffer 51 und
dem verlustfreien Rasterdruckdatenausgangspuffer 52 ausgegeben werden,
sind jeweils acht Bits breit. Die Steuerungssignale 57 umfassen
die Freigabesignale, die es ermöglichen,
daß der
geeignete Druckdatentyp in die entsprechenden Ausgangspuffer 51, 52, 53, 54 geladen
wird. In jedem des verlustbehafteten 51 und verlustfreien 52 Rasterdruckdatenausgangspuffer
enthalten ist ein Multiplexer (in 4 nicht
gezeigt), der eines der vier Acht-Bit-Bytes, die in dem 32 Bit breiten
verlust behafteten und verlustfreien Rasterdruckdatenstrom enthalten
sind, zur Übertragung
an den Druckdatenmultiplexer 24 auswählt. Die Steuerungssignale 57 umfassen
die Signale, die notwendig sind, um die Multiplexer zu steuern,
die ein Teil des verlustbehafteten Ausgangspuffers 51 und
des verlustfreien Ausgangspuffers 52 sind. Die Steuerungssignale 57, die
durch die Halbtonschnittstellensteuerung 55 erzeugt werden,
umfassen die Signale, die notwendig sind, um den 32 Bit breiten
Halbton- und den Zusammenführungsda tenstrom
in den entsprechenden Halbtondatenausgangspuffer 54 und
den Zusammenführungsdatenausgangspuffer 53 zu
laden. Wie bereits erwähnt
wurde, umfassen der Halbtondatenausgangspuffer 54 und der
Zusammenführungsdatenausgangspuffer 53 jeweils
Schieberegister. Zusätzlich
umfassen der Halbtondatenausgangspuffer 54 und der Zusammenführungsdatenausgangspuffer 53 jeweils
einen Multiplexer (in 4 nicht
gezeigt), der aus entweder dem Rechtsverschiebeausgang oder dem
Linksverschiebeausgang auswählt,
wie durch ein Signal bestimmt wird, das in den Steuerungssignalen 57 enthalten
ist. Dieses Signal steuert außerdem
die Richtung, in der das Schieberegister die Zusammenführungsdaten
und die Halbtondaten bewegt. Es ist nötig, die Richtung, in der das
Schieberegister die Zusammenführungsdaten
und die Halbtondaten bewegt, für
ein Drucken in einem doppelseitigen Modus zu steuern. Bei einem
doppelseitigen Druckmodus ist die Reihenfolge, in der die Rasterdruckdaten
an die Druckmaschine 16 geliefert werden, bezüglich der
Oberseite und der Unterseite der Seite zwischen einem Drucken der
Vorderseite und der Hinterseite der Seite umgekehrt.
-
Der Druckdatenmultiplexer 24 empfängt als Eingänge den
Byte-breiten verlustbehafteten und den verlustfreien Rasterdruckdatenstrom.
Der ein einzelnes Bit breite Zusammenführungsdatenstrom, der von dem
Zusammenführungsausgangspuffer 53 ausgegeben
wird, steuert die Auswahl eines der Eingangsrasterdruckdatenströme zur Ausgabe
von der Zusammenführungseinheit 128.
Durch ein Beibehalten der relativen Reihenfolge der Zusammenführungsbits
in dem Zusammenführungsdatenstrom
und der relativen Reihenfolge der verlustbehafteten und verlustfreien
Rasterdruckdaten in ihren jeweiligen Rasterdruckdatenströmen, wie
dieselben durch die verschiedenen Puffer in die Zusammenführungseinheit 128 bewegt
wurden, konstruiert die Zusammenführungsoperation 13,
die durch den Druckdatenmultiplexer 24 durchgeführt wird,
die ursprüngliche
Seite korrekt auf einer Pixel-für-Pixel-Basis. Fachleute
auf dem Gebiet eines Digitalentwurfs würden nach einem Verstehen dieser
Spezifizierung das Wissen besitzen, um die Logikschaltungen, die
zur Durchführung
der Funktionen des Druckdatenmultiplexers 24 benötigt werden,
zu entwerfen.
-
Der SRAM-Linienpuffer 129 ermöglicht eine Festlegung
einer zeitlichen und räumlichen
Synchronisierung zwischen den verlustbehafteten und den verlustfreien
Rasterdruckdaten, den Zusammenführungsdaten
und den Halbtondaten. Da die dekomprimierten, verlustbehafteten
Rasterdruckdaten in acht Pixel breite und acht Pixel hohe Blöcke dekomprimiert
werden, werden die dekomprimierten verlustbehafteten Rasterdruckdaten
an die Zusammenführungseinheit 128 geliefert
und in dem SRAM-Linienpuffer 129 außerhalb einer Synchronisierung
mit den anderen Druckdaten gespeichert. Die Weise, auf die die Druckdaten
aus dem SRAM-Linienpuffer 129 entfernt werden, legt die
zeitliche und die räumliche
Synchronisierung fest. Es wird darauf verwiesen, daß Zusammenführungseinheitsimplementierungen,
die die Verwendung des SRAM-Linienpuffers 129 nicht benötigen, möglich sind.
Wenn der verlustbehaftete und der verlustfreie Rasterdruckdatenstrom
und die Zusammenführungsdaten
auf eine zeitlich und räumlich synchronisierte
Weise der Zusammenführungseinheit
zugeführt
werden, wird der Bedarf nach einem Zwischenspeichern der Druckdatenströme im Inneren
der Zusammenführungseinheit 128 beseitigt.
Für die
Zusammenführungseinheitsimplementierung,
für die
es notwendig ist, zeitlich und räumlich
synchronisierte Druckdatenströme
zu empfangen, könnte
die Zwischenspeicherung der Druckdatenströme, falls nötig, außerhalb der Zusammenführungseinheit durchgeführt werden.
Ferner könnte
mit einer zeitlichen und räumlichen
Synchronisierung zwischen dem verlustbehafteten und dem verlustfreien
Rasterdruckdatenstrom und dem Zusammenführungsdatenstrom die Zusammenführungseinheit
wesentlich vereinfacht werden, um unter Verwendung des Druckdatenmultiplexers 24 zu
funktionieren.
-
Der Zusammenführungsdatenausgangspuffer 53 wirkt,
um den Byte-breiten Strom von Zusammenführungsdaten in einen ein einzelnes
Bit breiten Strom umzuwandeln, der mit den verlustbehafteten oder
verlustfreien Rasterdruckdaten synchronisiert ist, die das entsprechende
Pixel darstellen. Obwohl das bevorzugte Ausführungsbeispiel der Zusammenführungseinheit 128 ein
einzelnes Bit verwendet, um aus den Bytes verlustbehafteter und
verlustfreier Rasterdruckdaten auszuwählen, wird darauf verwiesen,
daß ein
mehrere Bits breiter Strom verwendet werden kann, um aus mehr als
zwei Rasterdruckdatenströmen
auszuwählen,
und die Rasterdruckdatenströme
mehr als acht Bits verwenden können,
um jede Dimension des Farbraums darzustellen.
-
In 5 gezeigt
ist eine vereinfachte Schematik der Anordnung auf der Eingangsseite
des verlustbehafteten Eingangspuffers 32, die darstellend für die Operation
jedes der Eingangspuffer 32, 33, 36, 37 ist.
Der exemplarische verlustbehaftete Eingangspuffer 32 ist
aus acht Acht-Bit-Daten-Latchspeichern 60–67 gebildet.
Der verlustbehaftete Acht-Bit-Eingangsrasterdruckdatenstrom 68 wird
den „DATA"-Eingängen
jedes der acht Daten-Latchspeicher 60–67 vorgelegt. Die
acht Drei-Eingangs-UND-Gatter 69–76, die mit den „EN"-Eingängen der
acht Daten-Latchspeicher 60–67 verbunden sind,
decodieren Steuerungssignale, die durch die Farbraumumwandlerschnittstellensteuerung 38 erzeugt
werden, um einen der acht Daten-Latchspeicher 60–67 zum
Laden eines Bytes des Eingangsdruckdatenstroms auszuwählen. Die
Decodierungslogik ist Teil der Farbraumumwandlerschnittstellensteuerung 38.
Wie in 5 gezeigt ist,
sind die acht Daten-Latchspeicher 60–67 in zwei Bänke partitioniert,
die jeweils vier Daten-Latchspeicher aufweisen. Die Decodierung
der Steuerungssignale wird so durchgeführt, daß vier aufeinanderfolgend übertragene
Bytes des Druckdatenstroms in eine der zwei Bänke geladen werden und die
nächsten
vier nacheinander übertragenen
Bytes des Druckdatenstroms in die andere der beiden Bänke geladen
werden. Ein Laden der Eingangspuffer 32, 33, 36, 37 so,
daß aufeinanderfolgend übertragene
Gruppen von vier Bytes des Druckdatenstroms abwechselnd in eine
der beiden Bänke
von Daten- Latchspeichern
geladen werden, behält
den Fluß von
Druckdaten durch die Eingangspuffer 32, 33, 36, 37 bei.
Während
eine der beiden Bänke
mit Eingangsdruckdaten geladen wird, kann eine Übertragung von Druckdaten aus
der anderen der beiden Bänke
auftreten.
-
In 6 gezeigt
ist eine vereinfachte Schematik der Anordnung der Ausgangsseite
des verlustbehafteten Eingangspuffers 32, die darstellend
für die
Operation jedes der Eingangspuffer 32, 33, 36, 37 ist.
Die „OE"-Eingänge der
acht Daten-Latchspeicher 60–67 sind mit einem
festen Logikpegel verbunden, so daß die verlustbehafteten Rasterdruckdaten,
die in dem verlustbehafteten Eingangspuffer 32 gespeichert
sind, aus den Daten-Latchspeichern 60–67 bei der ansteigenden
Flanke jedes Taktzyklus ausgegeben werden. Die vier Acht-Bit-Ausgänge jeder
der beiden Bänke
des verlustbehafteten Eingangspuffers 32 bilden zwei 32
Bit breite Druckdatenströme.
Diese beiden 32 Bits breiten Druckdatenströme sind mit den Eingängen des
Multiplexers 70 verbunden. Einer dieser beiden 32 Bit breiten
Druckdatenströme
ist zur Eingabe in den Eingangspuffermultiplexer 39 ausgewählt. Diese
Auswahl wird durch den Multiplexer 70 unter Verwendung
eines Steuerungssignals durchgeführt,
das durch die Farbraumumwandlerschnittstellensteuerung 38 erzeugt
wird. Dieses Steuerungssignal erfaßt, welche der beiden Bänke von
Eingangspuffern 32, 33, 36, 37 voll
und bereit ist, daß die Druckdaten,
die in denselben enthalten sind, an den Eingangspuffermultiplexer 39 gesandt
werden. Ein Übertragen
von Druckdaten aus den Eingangspuffern 32, 33, 36, 37 heraus,
so daß eine
der Gruppen von vier Bytes, die in jeder der beiden Bänke gespeichert
sind, abwechselnd ausgewählt
wird, behält
den Fluß von
Druckdaten durch die Eingangspuffer 32, 33, 36, 37 bei
und behält
den Fluß von
Druckdaten in den Eingangspuffermultiplexer 39 bei. Während vier Bytes
von Druckdaten aus einer der beiden Bänke heraus übertragen werden, kann ein
Laden von vier Bytes Druckdaten in die andere der beiden Bänke auftreten.
-
In 7 gezeigt
ist eine vereinfachte Schematik der Anordnung der Eingangsseite
des verlustbehafteten Ausgangspuffers 51 und des verlustfreien Ausgangspuffers 52.
Jeder des verlustbehafteten 51 und des verlustfreien 52 Ausgangspuffers
umfaßt zwei
Bänke mit
vier Acht-Bit-Daten-Latchspeichern 80–95.
Der 32 Bit breite verlustbehaftete Rasterdruckdatenstrom und der
verlustfreie Rasterdruckdatenstrom im Inneren der Zusammenführungseinheit 128 sind
jeweils in vier acht Bit breite verlustbehaftete und verlustfreie
Rasterdruckdatenströme
partitioniert, die den „DATA"-Eingängen jedes
der jeweiligen Daten-Latchspeicher 80–95 vorlegt werden.
Die „EN"-Eingänge jedes
der Daten-Latchspeicher 80–95 steuern
das Laden der verlustbehafteten und der verlustfreien Rasterdruckdaten
in die Daten-Latchspeicher 80–95.
Die vier UND-Gatter 96–99 sind
Teil der Halbtonschnittstellensteuerung 55 und werden verwendet,
um Steuerungssignale zu decodieren, die durch die Halbtonschnittstellensteuerung 55 erzeugt werden,
die ein Laden der Daten-Latchspeicher 80–95 steuern.
Während
verlustbehaftete und verlustfreie Rasterdruckdaten in ein Paar von
Bänken von
Daten-Latchspeichern 80–95 geladen werden, können verlustbehaftete
oder verlustfreie Rasterdruckdaten aus dem anderen Paar der Bänke von Daten-Latchspeichern 80–95 heraus übertragen
werden. Die Verwendung dieses Zwischenspeicherverfahrens behält den Fluß von Druckdaten
durch den verlustbehafteten und den verlustfreien Ausgangspuffer 51, 52 bei.
-
In 8 gezeigt
ist eine vereinfachte Schematik der Anordnung der Ausgangsseite
für ein
Paar einer verlustbehafteten und einer verlustfreien Bank von Daten-Latchspeichern 80–83, 88–91 für den verlustbehafteten 51 und
verlustfreien 52 Ausgangspuffer. Die Ausgangsseite für die anderen
beiden Bänke der
Daten-Latchspeicher 84– 87, 92–95 für den verlustbehafteten 51 und
den verlustfreien 52 Ausgangspuffer ist ähnlich implementiert.
Der verlustbehaftete 51 und der verlustfreie 52 Ausgangspuffer wandeln
den 32 Bit breiten verlustbehafteten und verlust freien Eingangsrasterdruckdatenstrom
in einen acht Bit breiten verlustbehafteten und verlustfreien Rasterdruckdatenstrom
um. Die „OE"-Eingänge der acht
Daten-Latchspeicher 80–83, 88–91 sind
mit einem festen Logikpegel verbunden, so daß die verlustbehafteten und
verlustfreien Rasterdruckdaten, die in diesen Daten-Latchspeichern 80–83, 88 –91 gespeichert
sind, bei der ansteigenden Flanke jedes Taktzyklus ausgegeben werden.
Die Multiplexer 100, 101 werden verwendet, um
einen der Acht-Bit-Ausgänge
aus den jeweiligen Daten-Latchspeichern 80–83, 88–91 zur
Eingabe in den Druckdatenmultiplexer 24 auszuwählen. Die
Acht-Bit-Ausgänge von den
jeweiligen Daten-Latchspeichern 80– 83, 88–91 werden
durch die jeweiligen Multiplexer 100, 101 ausgewählt, so
daß die
relative Reihenfolge der Acht-Bit-Bytes
in dem jeweiligen verlustbehafteten und verlustfreien Rasterdruckdatenstrom
beibehalten wird. Dies ist nötig,
so daß die
Zusammenführungsoperation 13,
die durch den Druckdatenmultiplexer 24 durchgeführt wird,
die ursprüngliche
Seite korrekt rekonstruiert. Die zur Steuerung der Multiplexer 100, 101 verwendeten
Signale werden durch die Halbtonschnittstellensteuerung 55 erzeugt.
Der Strom von Zusammenführungsbits,
die durch den Zusammenführungsausgangspuffer 53 ausgegeben werden,
steuert die Auswahl von Acht-Bit-Bytes durch den Druckdatenmultiplexer 24 aus
dem verlustbehafteten und dem verlustfreien Rasterdruckdatenstrom.
Der Rasterdruckdatenstrom, der aus dem Druckdatenmultiplexer 24 hervorgeht,
ist acht Bits breit und besteht aus dem zusammengeführten verlustbehafteten
und verlustfreien Rasterdruckdatenstrom.
-
In 9 gezeigt
sind vereinfachte Schematiken des Halbtonausgangsschieberegisters 110 und des
Zusammenführungsausgangsschieberegisters 111.
Der 32 Bit breite Halbtondruckdatenstrom 112 und der 32
Bit breite Zusammenführungsdruckdatenstrom 113 sind
in die jeweiligen Ausgangsschieberegister 110, 111 geladen.
Signale von der Halbtonschnittstellensteuerung 55 an die „LD"-Eingänge auf jedem
der Ausgangsschieberegister 110, 111 steuern ein
Laden der Halbton- und der Zusammenführungsdruckdaten. Die Verwendung
von Schieberegistern 110, 111 ermöglicht es,
daß die
Byteausgerichteten Halbtondruckdaten und Zusammenführungsdruckdaten
in einen zwei Bit breiten bzw. einen ein Bit breiten Strom von Druckdaten
partitioniert werden, so daß die
relative Reihenfolge dieser beiden Datenströme bezüglich des verlustbehafteten
und des verlustfreien Rasterdruckdatenstroms beibehalten wird.
-
Die UND-Gatter 114, 115,
die in der Halbtonschnittstellensteuerung 55 enthalten
sind, steuern das Verschieben der Zusammenführungsdaten und der Halbtondruckdaten
aus ihren jeweiligen Schieberegistern 110, 111 heraus.
Wenn die „EN"-Eingänge der
Schieberegister 110, 111 aktiviert sind, schieben die
jeweiligen Register Zusammenführungsdruckdaten
und Halbtondruckdaten heraus. Abhängig von dem Pegel des „DIR"-Eingangs in die
Schieberegister 110, 111 werden die Zusammenführungs-
und Halbtondruckdaten bei der ansteigenden Flanke des Taktes aus
dem „SLD"- oder „SRD"-Ausgang heraus verschoben.
Der „DIR"-Eingang steuert
die Richtung der Verschiebung der Zusammenführungs- und Halbtondruckdaten
in den Registern 110, 111, so daß die relative
Reihenfolge des Zusammenführungs- und
Halbtondruckdatenstroms bezüglich
des verlustbehafteten und verlustfreien Rasterdruckdatenstroms beibehalten
wird. Abhängig
davon, wie die Zusammenführungs-
und Halbtonbits bezüglich
des niederstwertigen und höchstwertigen
Bits der 32 Bits geordnet sind, wenn dieselben in ihre jeweiligen
32 Bit breiten Druckdatenströme
im Inneren der Zusammenführungseinheit 128 gebildet
werden, werden die „DIR"-Eingänge gesteuert,
um eine räumliche
Synchronisierung mit dem verlustbehafteten und dem verlustfreien
Druckdatenstrom beizubehalten.
-
Der Halbtondruckdatenstrom, der aus
dem Schieberegister 110 heraus verschoben wird, ist zwei Bits
breit und der Zusammenführungsdruckdatenstrom,
der aus dem Schieberegister 111 heraus verschoben wird,
ist ein einzelnes Bit breit. Multiplexer 116, 117 werden
durch das gleiche Signal gesteuert, das mit den „DIR"-Eingängen der Schieberegister 110, 111 verbunden
ist, um den „SRD"- oder „SLD"-Ausgang der Schieberegister 110, 111 auszuwählen, der
aus den Multiplexern 116, 117 ausgegeben werden
soll. Der ein einzelnes Bit breite Strom von Zusammenführungsdruckdaten,
die von dem Multiplexer 117 ausgegeben werden, ist mit
dem Steuerungseingang des Druckdatenmultiplexers 24 verbunden,
um Pixel für
Pixel aus dem verlustbehafteten oder verlustfreien Rasterdruckdatenstrom
auszuwählen.
Die Ausgangsdruckdaten aus der Zusammenführungseinheit 128 umfassen
den acht Bit breiten zusammengeführten
Rasterdruckdatenstrom, der aus dem Puffermultiplexer 24 ausgegeben
wird, und den zwei Bit breiten Halbtondruckdatenstrom, der aus dem
Multiplexer 116 ausgegeben wird.