-
Diese
Erfindung betrifft ein Verfahren und einen Drucker, mit dem in Schwaden über ein
darunterliegendes Dokument gedruckt wird.
-
Computerdrucker
wurden üblicherweise
so konzipiert, daß sie
Daten akzeptieren, welche Formate und Protokolle verwenden, die
unabhängig
von den Besonderheiten des Druckers sind. Frühere Drucker haben z. B. Daten
in einem Zeichenorientierten Format, wie ASCII (American Standard
Code for Information Interchange), akzeptiert, bei dem alphanumerische
Symbole jeweils durch 7- oder 8-Bit Codes dargestellt wurden.
-
Mit
der Weiterentwicklung der Drucker wurde es wünschenswert, zusätzlich zu
den einfachen alphanumerischen Daten graphische Informationen zu übertragen.
Es wurden unterschiedliche Protokolle für die Übertragung dieser Information
entwickelt. Ein solches Protokoll wird als PCL (printer control
language; Druckersteuersprache) bezeichnet. PCL wurde von der Hewlett-Packard
Company zur Verwendung mit ihren Druckern entwickelt. Aufgrund der
Popularität
dieser Drucker, ist PCL de facto zur Norm geworden. PCL ermöglicht einem
Computer, rasterisierte Graphik oder Rastergraphik auf einem Drucker
zu drucken, ohne daß der
Computer Kenntnis über
die mechanischen Besonderheiten des Druckers haben muß.
-
1 zeigt die Architektur
eines üblichen Computersystems
mit einem Hostrechner
10 und einem Drucker
12,
wie er beispielsweise in der
EP 0 675 428 A1 offenbart wird. Eine ähnliche
Vorrichtung zum Drucken eines Dokuments über das Internet wird in der
WO/01449 A1 offenbart. Der Hostrechner hat ein Spulprogramm (spooler)
14,
welches Drucksteuerbefehle und Bilddaten von einem Anwendungsprogramm
in einem Format akzeptiert, welches abhängig von dem Betriebssystem
des Rechners ist. Das Spulprogramm ist im wesentlichen ein Datenpuffer,
welcher die Befehle und Daten in einem Speicher speichert, bis sie
ausführlicher
verarbeitet und zu einem Drucker gesendet werden können. Dieses „Spulen" befreit das Anwendungsprogramm
davon, zu warten, bis ein Drucker Befehle und Daten annimmt.
-
Von
dem Spulprogramm 14 werden die Steuerbefehle und Daten
zu einer Rasterbildungseinrichtung oder Rasterisiereinrichtung (rasterizer) 16 geschickt.
Die Rasterisiereinrichtung konvertiert die Bilddaten in ein gerastertes
Dokumenten- oder Belegbild (document image). Dieses Dokumentenbild ist üblicherweise
ein Bitabbildungs-Bild mit einer zweidimensionalen Matrix aus Punktintensitäten oder
Farbwerten.
-
Das
rasterisierte Dokumentenbild wird dann an einen PCL-Codierer 18 geschickt.
Der PCL-Codierer 18 konvertiert
das rasterisierte Bild in das PCL-Format und sendet es zu dem Drucker 12 über einen
I/O-Kanal (Eingangs-Ausgangs-Kanal). Das PCL-formatierte Bild umfaßt sowohl
Steuerbefehle als auch Bilddaten. In den meisten Fällen ist
der I/O-Kanal entweder eine serielle oder eine parallele Druckerschnittstelle.
-
In
dem Drucker konvertiert ein PCL-Dekoder 22 das PCL-formatierte
Bild zurück
in eine Form eines Rasterbildes. Der PCL-Dekoder kann auch andere
Funktionen durchführen,
wie die Trennung von Farbebenen und die Trennung von Steuerinformationen
von den tatsächlichen
Bilddaten. Die tatsächliche
Konversion hängt
von den Besonderheiten des Druckmechanismus oder Druckkopfes des
Druckers ab.
-
2 zeigt eine mögliche Konfiguration
eines Einfach-Druckkopfes 30 mit 12 Tintenstrahldüsen. Jeder
Kreis in 2 gibt die
mögliche
Position eines Tintenpunktes auf einem darunterliegenden Blatt Papier
im Verhältnis
zu dem Druckkopf wieder. Die schattierten Kreise geben die Positionen
der Düsen
in dem Druckkopf 30 an, während die gestrichelten, nicht
schattierten Kreise die auf dem darunterliegenden Papier auftreten
Punktpositionen zeigen.
-
Die
Düsen sind
in zwei mit Abstand angeordneten Säulen gruppiert, welche hier
als die linke und die rechte Düsensäule bezeichnet
werden. Bei dem gezeigten Beispiel haben die Düsensäulen einen Abstand von 11 Punkten.
-
Um
alle möglichen
Punktpositionen zu drucken, bewegt sich der Druckkopf in wiederholten Schwaden
seitlich über
das darunterliegende Papier. Jede Schwade überdeckt zwölf Punktreihen. Bei einer einzelnen
Druckkopfstellung längs
einer Schwade entspricht die linke Düsensäule der Säule x des gedruckten Dokuments,
während
die rechte Düsensäule der
Punktsäule
x + 11 entspricht. Die Düsen
der linken Düsensäule sind
vertikal über
den geradzahligen Punktreihen des gedruckten Dokuments positioniert,
während
die Düsen
der rechten Säule
vertikal über
den ungeraden Punktreihen positioniert sind. Um eine Schwade zu
drucken, be wegt sich der Druckkopf über ein darunterliegendes Blatt
Papier in Schritten von einem Punkt. Bei jeder inkrementellen Position
werden potentiell alle 12 Düsen
gleichzeitig gezündet
(aktiviert). Das tatsächliche
Zünden
jeder Düse
hängt selbstverständlich von
den rasterisierten Daten ab, welche von dem Hostrechner gesendet werden.
Während
einer Druckkopfschwade wird die linke Düsensäule dazu verwendet, die geradzahligen Punktreihen
zu drucken, während
die rechte Düsensäule dazu
verwendet wird, die ungeraden Punktreihen zu drucken.
-
Der
Druckkopf, oder der den Druckkopf ansteuernden Schaltkreis muß in einer
geeignet geordneten Reihenfolge mit den rasterisierten Daten versorgt
werden, und zwar entsprechend der Reihenfolge, in welcher der Druckkopf
bei den einzelnen Punktpositionen druckt. Daher müssen die
rasterisierten Daten in Datenschwaden aufgeteilt werden, welche
den Schwaden des Druckkopfes entsprechen. Die rasterisierten Daten
müssen
dann weiter geordnet werden, um dem Abstand der Druckkopfdüsen Rechnung
zu tragen. Die Daten für
die Säule
x und die Säule
x + 11 müssen
z. B. zusammengefaßt werden
und gleichzeitig oder beinahe gleichzeitig an die Steuereinrichtung
für den
Druckkopf gesendet werden.
-
Wie
man wieder in 1 sieht,
wird diese Aufgabe der Reorganisation der rasterisierten Daten von
einem Datenformatierer 24 in dem Drucker 12 durchgeführt. Der
Datenformatierer 24 organisiert die Bilddaten neu, bevor
sie für
das tatsächliche
Drucken zu einem Druckkopf gesendet werden, und sendet sie nach
Bedarf zu der Elektronik des Druckkopfes.
-
Während die
herkömmliche
Architektur der 1 viele
Vorteile hat, ist einer ihrer Nachteile, daß sie eine erhebliche Mikroprozessor-Bandbreite
und einen großen
Datenspeicher benötigt,
um die eingehenden Bilddaten sequentiell zu verändern. Jedes Byte der eingehenden
Daten muß gelesen,
gespeichert und mehrmals verarbeitet werden, wenn es für die Weiterleitung
an den Druckkopf zu den geeigneten Zeiten konvertiert und umorganisiert
wird. Es wäre
wünschenswert,
die Belastung des Mikroprozessors zu vermindern und dadurch die
Komplexität und
die Kosten des Mikroprozessors und der zugehörigen Hardware in einem Drucker
zu senken.
-
Es
ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren
zum Drucken eines Bildes und einen Drucker bereitzustellen, bei
dem der Datenverarbeitungsaufwand zum Drucken eines Bildes verringert
ist.
-
Diese
Aufgabe wird durch ein Verfahren mit Merkmalen von Anspruch 1 sowie
einen Drucker mit den Merkmalen von Anspruch 5 gelöst.
-
Die
Erfindung sieht ein Drucksystem vor, in dem die Verantwortung für die Formatierung
der Bilddaten für
den Druckkopf von dem Hostrechner übernommen wird. Insbesondere
erzeugt der Hostrechner Bilddaten, welche in Schwaden entsprechend den
Schwaden des Druckkopfes des Druckers aufgeteilt werden, und die
ferner auch in Punktsäulen
entsprechend den Druckkopf-Punktsäulen aufgeteilt werden. Die
Daten werden dann zu dem Drucker geschickt, wo sie ohne weitere
Umformatierung an den Druckkopf weitergegeben werden. Der Mikroprozessor
des Druckers muß die
Bilddaten nicht verarbeiten, wodurch sich die erforderliche Komplexität und die
Kosten des Mikroprozessorsystems in dem Drucker vermindern und sich
die Druckerleistung erhöht.
-
Die
Erfindung ist im folgenden anhand bevorzugter Ausführungsformen
mit Bezug auf die Zeichnungen näher
erläutert.
In den Figuren zeigen:
-
1 ein
Blockdiagramm eines Drucksystems nach dem Stand der Technik mit
einem Hostrechner und einem Drucker;
-
2 ein
Diagramm der Düsenpositionen
in einem Druckkopf nach dem Stand der Technik;
-
3 ein
Diagramm der Düsenpositionen
in einem Farbdruckkopf nach dem Stand der Technik, welcher bei der
bevorzugten Ausführungsform
der Erfindung verwendet wird;
-
4 ein
Blockdiagramm der wesentlichen Teile des Druckers einer bevorzugten
Ausführungsform
der Erfindung;
-
5 ein
Blockdiagramm der logischen Komponenten und Merkmale eines Drucksystems gemäß der bevorzugten
Ausführungsform
der Erfindung;
-
6 ein
Ablaufdiagramm der bevorzugten Schritte, welche in einem Hostrechner
für die
Formatierung von Bilddaten durchgeführt werden, bevor diese zu
einem Drucker gesendet werden; und
-
7 ein
Paar Pendelpuffer, welche bei der bevorzugten Ausführungsform
der Erfindung verwendet werden.
-
Die
Erfindung wird in einem Drucker eingesetzt, der einen oder mehrere
Druckköpfe
aufweist, wie oben mit Bezug auf 2 beschrieben
wurde. Jeder Druckkopf hat mehrere Düsen oder Nadelpositionen, welche üblicherweise
in zwei oder mehr Punkt- oder Düsensäulen mit
einem Abstand zwischen den Säulen
organisiert sind. Alle Düsen
oder Nadeln des Druckkop fes können
simultan oder beinahe simultan aktiviert werden, abhängig von
den Einzelheiten des Bildes, welches gedruckt wird.
-
Die
bevorzugte Ausführungsform
ist ein Farb-Tintenstrahldrucker. Sein Druckkopf hat Düsen zum
Drucken unterschiedlicher Farben, wie Magenta, Cyan und Gelb.
-
3 zeigt
ein beispielhaftes Layout eines herkömmlichen Farb-Druckkopfes 40.
Der Druckkopf 40 hat sechs Düsen- oder Punktsäulen, die
seitlich einen Abstand zueinander einhalten, zum Drucken von drei
Farben. Die Düsensäulen sind
in Paaren angeordnet, wobei die Düsensäulen jedes Paares wie die des
einzelnen Druckkopfes der 2 angeordnet sind – eine Säule ist
so positioniert, daß sie
die geradzeiligen Punktreihen druckt, und die andere Säule ist
so positioniert, daß sie
die ungeradzeiligen Punktreihen druckt. Ein erstes Paar 42 der
Düsensäulen wird
zum Drucken einer ersten Farbe verwendet; ein zweites Paar 44 der
Düsensäulen wird
zum Drucken der zweiten Farbe verwendet; und ein drittes Paar 46 der
Düsensäulen wird
zum Drucken einer dritten Farbe verwendet. Innerhalb jedes Paares
haben die Säulen
einen Abstand von 11 Punkten.
-
Die
Düsensäulenpaare
sind gemeinsam montiert, so daß sie
sich in wiederholten Schwaden als eine Einheit seitlich über ein
darunterliegendes Blatt Papier bewegen. Die drei Paare haben zueinander
einen Abstand von 23 Punkten. Die Düsen aller Säulen können gleichzeitig oder beinahe
gleichzeitig aktiviert werden. Jede Schwade druckt eine vorgegebene
Anzahl Punktreihen auf das Papier. Bei dem Beispiel des Druckkopfes
der 3 ist jede Schwade zwölf Punkte hoch.
-
4 zeigt
die wesentlichen Komponenten eines Druckers 50 gemäß der Erfindung.
Der Drucker 50 ist ein Farb-Tintenstrahldrucker mit einem
Druckkopf 52, der wie oben mit Bezug auf 3 beschrieben
konfiguriert ist. Der Drucker 50 könnte jedoch auch ein Einfarb-Tintenstrahldrucker,
ein Tintenstrahldrucker mit mehreren Druckköpfen oder ein Drucker sein,
welcher eine andere Art Punktmatrix-Drucktechnologie verwendet,
wie ein Punktmatrix-Anschlagdrucker.
Der Druckkopf 52 hat eine zugeordete Druckkopfelektronik 53,
welche eine Schnittstelle zwischen den Logikkomponenten des Druckers 50 und
den elektromechanischen Komponenten des Druckkopfes 52 bildet.
Die Druckkopfelektronik 53 umfaßt z. B. Schaltkreise zum Bewegen des
Druckkopfes und zum Aktivieren oder Zünden einzelner Düsen. Allgemein
realisiert die Druckkopfelektronik 52 selbst keine signifikanten
logischen Funktionen. Vielmehr empfängt sie Signale von anderen
Komponenten des Druckers und übersetzt
diese Signale in Signale zum Ansteuern der verschiedenen elektromechanischen
Komponenten des Druckkopfes.
-
Der
Drucker 50 weist einen Mikroprozessor 54 auf.
Der Mikroprozessor 54 ist insoweit programmierbar, als
er Programmbefehle von einem Speicher liest und seriell ausführt. In
dem Drucker 50 führen
diese Befehle verschiedene Steuerfunktionen des Druckers 50 aus.
Der Mikroprozessor ist betrieblich mit der Druckkopfelektronik 53 verbunden,
um bestimmte Druckkopffunktionen zu steuern.
-
Abgesehen
von dem Mikroprozessor 54 enthält der Drucker eine Festgatterlogik
oder Logikschaltkreise 56, welche viele der Steuerfunktionen
in dem Drucker ausführen.
Die Festgatterlogik 56 ist insofern nicht programmierbar,
als sie nicht Programmbefehle liest und ausführt. Bei der hier beschriebenen Ausführungsform
ist die Festgatterlogik 56 als eine anwendungsspezifische
integrierte Schaltung (ASIC; application-specific integrated circuit)
realisiert.
-
Sowohl
der Mikroprozessor 54 als auch die Festplatte 56 sind
so angeschlossen, daß sie
Zugriff auf die Druckkopfelektronik 53 und eine adressierbare
Speicheranordnung oder einen Puffer 58 haben. Der Speicher 58 ist
vorzugsweise ein dynamisches RAM.
-
Die
Festgatterlogik 56 ist so angeschlossen, daß sie Befehle
und Raster-formatierte Daten von einem Hostrechner über einen
oder mehrere I/O-Kanäle
oder Ports 60 unabhängig
von dem Mikroprozessor 54 empfängt. Der I/O-Kanal 60 ist
ein paralleler oder serieller Verbindungsanschluß, wie sie von vielen Druckern
verwendet werden. Im Gebrauch ist er so angeschlossen, daß er Raster-formatierte
Daten von einer externen Quelle, wie dem Hostrechner, empfängt, wobei
die Raster-formatierten Daten ein Dokumentenbild repräsentieren,
welches gedruckt werden soll. Die Festgatterlogik 56 ist
so konfiguriert, daß sie
die Raster-formatierten Daten ohne Verarbeitung durch den Mikroprozessor 54 an
den Druckkopf weitergibt. Dies ist aufgrund der Art der Formatierung der
Bilddaten möglich.
-
Der
Drucker ist so konfiguriert, daß er
Bilddaten empfängt,
welche bereits in der Reihenfolge formatiert wurden, in der sie
von dem Druckkopf benötigt
werden, wenn der Druckkopf ein darunterliegendes Dokument überquert.
Die Formatierung wird von dem Hostrechner durch geführt. Gemäß diesem
Konzept trennt ein Druckertreiber innerhalb des Hostrechners zuerst
die Bilddaten in Datenblöcke,
wobei jeder Datenblock den Punkten entspricht, die bei einer bestimmten
einzelnen Stellung des Druckkopfes gedruckt werden. Die Blöcke werden
dann in derselben Reihenfolge geordnet, in welcher der Druckkopf die
Punkte druckt, wenn er ein Dokument überquert, und zusammen mit
der Steuerinformation zu dem Drucker geschickt. Bei Empfang der
auf diese Weise formatierten Daten muß der Drucker keine weitere Formatierung
oder Umordnung durchführen.
Dies ist ein erheblicher Vorteil gegenüber dem Stand der Technik und
vermindert die Komplexität
und Kosten des Mikroprozessors und der zu dem Mikroprozessor gehörenden Komponenten
erheblich.
-
5 zeigt
ein Rechner- und Druckersystem 70 gemäß der Erfindung. Dieses System
umfaßt
einen Hostrechner 72, wie einen konventionellen Personalcomputer,
der vorzugsweise mit einem Betriebssystem arbeitet, welches Drucktreiber
vorsieht. Wenn ein solches Betriebssystem verwendet wird, sendet
ein Anwendungsprogramm Druckbefehle zu einem Druckertreiber, der
zu dem Betriebssystem gehört
oder an dieses gebunden ist. Die Druckbefehle liegen in einem Format
vor, das abhängig
ist von dem Betriebssystem und unabhängig von einem bestimmten Drucker.
Der Druckertreiber wird während der
Konfiguration des Betriebssystems gewählt, so daß er zu dem Drucker paßt, welcher
in Verbindung mit dem Rechner verwendet wird. Der Druckertreiber akzeptiert
Druckbefehle von einem Anwendungsprogramm und konvertiert diese
in Befehle, welche sich für
den speziellen Drucker eignen, der gerade verwendet wird.
-
Der
Hostrechner 72 hat einen Druckertreiber. Der Druckertreiber
ist als ein Softwaremodul realisiert und speziell für die Verwendung
in Verbindung mit dem Drucker 50 konfiguriert. Er akzeptiert
Druckbefehle von einem Anwendungsprogramm und konvertiert diese
Instruktionen in Daten und Befehle, welche von dem Drucker 50 verstanden
werden können.
Die Druckbefehle beziehen sich auf ein Beleg- oder Dokumentenbild,
welches das Anwendungsprogramm zu drucken versucht. Gemäß der Erfindung
formatiert der Druckertreiber die Bilddaten auf eine Weise, welche
speziell darauf zugeschnitten ist, den Aufwand für die Verarbeitung durch den
zugehörigen
Drucker zu minimieren. Dies umfaßt Schwaden-Zerlegungsschritte
und ferner Schritte, mit denen Punktsäulen innerhalb jeder Druckschwade
angeordnet werden. Diese Schritte sind unten vollständiger erläutert.
-
Der
Druckertreiber weist ein Spulprogramm (spooler) 78 auf,
um Druckbefehle, welche er von dem Anwendungsprogramm empfängt, zu
empfangen und zu puffern. Er umfaßt ferner eine Rasterisiereinrichtung
(rasterizer) 80. Die Rasterisiereinrichtung 80 nimmt
die Druckdaten an und führt
eine Rasterisierung des durch die Druckbefehle dargestellten Dokumentenbildes
durch. Dies führt
zu einem Pixelmuster oder einem Bit-Abbildungs- oder Punktbild:
Raster-formatierte Daten geben die Intensität oder Farben für eine zweidimensionale
Matrix aus Pixeln oder Punkten an. Dem Konzept nach umfassen die
Raster-formatierten Daten eine Bitmatrix mit drei Ebenen. Für jede Punktposition
auf einer potentiellen gedruckten Seite hat eine korrespondierende
Position in der Matrix drei Datenbits, welche anzeigen, ob die Cyan-,
Magenta- bzw. gelbe Düse
bei dieser Punktposition aktiviert werden soll. Die Funktion der
Rasterisierung des Dokumentenbildes kann für das Dokumentenbild als ganzes
oder für
inkrementelle Teile des Bildes durchgeführt werden, je nach dem was
die folgenden Funktionen erfordern.
-
Der
Druckertreiber umfaßt
ferner einen Datenformatierer 81. Der Datenformatierer 81 führt viele Schritte
aus, welche früher
innerhalb eines Druckers nach dem Stand der Technik ausgeführt wurden.
Insbesondere organisiert und ordnet der Datenformatierer 81 die
Bilddaten neu in ein Format, welches direkt an die Elektronik des
Druckkopfes weitergegeben werden kann.
-
6 zeigt
die Schritte, welche von dem Datenformatierer 81 ausgeführt werden.
Ein erster Schritt 82 umfaßt das Trennen der rasterisierten
Daten in Datenschwaden, welche den Schwaden eines Druckkopfes an
dem speziellen Drucker entsprechen, der zum Drucken des Dokumentenbildes
verwendet wird. Dieser Schritt, der als Schwadenzerlegung bezeichnet
wird, umfaßt
die Identifikation der Punktreihen, welche von dem Drucker 50 in
einer einzigen Schwade gedruckt werden. Bei einem Drucker, welcher
einen Druckkopf gemäß der Konfiguration der 3 verwendet,
besteht eine Datenschwade zum Beispiel aus rasterisierten Daten
für zwölf Punktreihen – Reihen
i bis i + 11 (wobei die Reihen von oben nach unten numeriert sind).
-
Ein
Schritt 83 umfaßt
die weitere Zerlegung oder Anordnung der Raster-formatierten Daten,
welche den einzelnen Druckkopf-Punktreihen entsprechen, innerhalb
jeder Datenschwade. Die Daten werden in Punktreihen-Datenblöcke zerlegt.
Jeder derartige Block enthält
die Daten, welche zum Steuern des Zündens einer einzelnen Säule der
Druckkopfdüsen bei
einer oder mehreren sequentiellen Positionen des Druckkopfes notwendig
sind. Ein Punktsäulen- Datenblock, welcher
der ersten Säule
x des Druckkopfes bei einer einzelnen Position entspricht, besteht
aus den Daten für
die Punkte (x, i), (x, i + 2), (x, i + 4), (x, i + 6), (x, i + 8),
und (x, i + 10); wobei der Punkt (a, b) in der Säule a und der Reihe b liegt.
Ein anderer Punktsäulen-Datenblock, welcher
der zweiten Säule
in dem Druckkopf entspricht, besteht aus den Daten für die Punkte
(x + 11, i + 1), (x + 11, i + 3), (x + 11, i + 5), (x + 11, i +
7), (x + 11, i + 9), und (x + 11, i + 11).
-
Ein
weiterer Schritt 86 umfaßt die Anordnung der Punktsäulen-Datenblöcke in der
speziellen Reihenfolge, in der sie von dem Drucker benötigt werden.
Wie unten genauer beschrieben ist, verarbeitet der Drucker die eingehenden
Daten ohne eine irgendwie erhebliche Umformatierung. Er enthält Elektronik-Hardware,
welche erwartet, rasterisierte Daten von dem Hostrechner in einem
bestimmten Format und einer bestimmten Reihenfolge zu empfangen – im allgemeinen
in derselben Reihenfolge, wie die Daten von dem Druckkopf des Druckers 50 während der Querbewegung
des Druckkopfes über
das Dokument/Bild benötigt
werden. Die Daten werden von dem Druckertreiber in dem Hostrechner
in diesem Format angeordnet, so daß die Druckerhardware die Daten
in der Reihenfolge empfängt,
in welcher die Daten am effizientesten verwendet werden können.
-
Zusätzlich zur
Erzeugung der rasterisierten Bilddaten, die so angeordnet sind,
daß sie
direkt zu einem Druckkopf oder der Steuerelektronik eines Druckkopfs
gesendet werden können,
erzeugt der Datenformatierer Drucker-Steuerinformation, welche die
Bilddaten begleitet. Diese Steuerinformation teilt dem Drucker mit,
wo und wie er die druckbaren Bilddaten auf die gedruckte Seite plazieren
soll.
-
Nachdem
die Bilddaten wie beschrieben formatiert und geordnet wurden, werden
sie in Datenpaketen zusammengefügt
(paketiert) und dann von einer Kompressionskomponente 84 (5)
komprimiert. Zahlreiche unterschiedliche Techniken, wie die Lauflängenkodierung,
können
für die
Kompression verwendet werden.
-
Der
Hostrechner 70 hat einen I/O-Kanal (nicht gezeigt), wie
einen seriellen oder einen parallelen Druckeranschluß, zum Senden
der komprimierten Raster-formatierten Bilddaten und der Steuerinformation
zu dem Drucker 50, wenn die obigen Funktionen einmal durchgeführt wurden.
In dem Drucker 50 werden Bilddaten und Befehle, wie im
unteren Teil von 5 gezeigt, verarbeitet. Die
Bilddaten und Befehle werden zuerst bei einem Depaketierer (zum Zerlegen
der Datenpakete) 88 empfangen. Der Depaketierer 88 trennt
die Raster-formatierten Daten von der Steuerinformation und verwendet
einen DMA (direkten Speicherzugriff; direct memory access) zum Speichern
der Bilddaten und Steuerinformation in Bild- und Steuerpuffern 90 bzw. 92.
Der Depaketierer wird durch Schaltkreise in der Festgatterlogik 56 (4)
realisiert. Die Puffer 90 und 92 liegen in dem DRAM 58.
-
Der
Mikroprozessor 54 ruft Befehle oder Steuerinformationen
aus dem Steuerpuffer 92 ab, und abhängig davon werden verschiedene
Bewegungen in dem Drucker eingestellt und ausgelöst, wie der Antriebsrollenvorschub
und Bewegungen des Druckkopfschlittens. Komponenten in der Festgatterlogik 56,
welche hier als die Druckkopf-Ladekomponenten 94 bezeichnet
sind, rufen Rasterdaten aus dem Bildpuffer 90 ab, dekomprimieren
sie und geben sie an die Elektronik des Druckkopfs ohne wesentliche
Neuformatierung weiter. Die Druckkopf-Ladekomponenten 94 berücksichtigen
die Druckkopfbewegung, um in geeigneten Intervallen Daten an den Druckkopf
zu geben. An diesem Punkt ist keine weitere Verschiebung der Daten
notwendig, weil die Bilddaten von dem Druckertreiber 76 geordnet
wurden, bevor die Daten den Hostrechner 70 verlassen.
-
In
der Praxis verwenden die Druckkopf-Ladekomponenten 94 weitere
Puffer, um die Daten für den
Druckkopf mit der richtigen Geschwindigkeit vorzusehen. Die Ladekomponenten 94 verwenden
insbesondere ein Paar Puffer, welche als Pendel-puffer (swing buffer)
bezeichnet sind, für
jede Düsensäule des
Druckkopfes 52. Diese Puffer werden als statische Hochgeschwindigkeitsspeicher
realisiert. Jeder Puffer entspricht einer Bitmatrix mit einer Tiefe,
welche gleich der Anzahl der Düsen
in einer Düsensäule ist,
und mit einer willkürlichen
Breite von 8 Bit.
-
7 zeigt
ein Paar Pendelpuffer 100 und 102 für eine einzelne
Düsensäule (die
linkeste Säule in 3).
Jeder Puffer hat 6 Zeilen oder Reihen und jede Zeile entspricht
einer Düse
in der Düsensäule. Jede
Zeile jedes Puffers ist acht Bit breit und enthält die Daten für eine bestimmte
Düse bei
acht aufeinander folgenden Druckkopfpositionen, entsprechend den
acht aufeinander folgenden Punktsäulen des gedruckten Bildes.
-
Die
Ladekomponenten 94 liefern Daten an den Druckkopf von einem
ersten Pendelpuffer 100, während der zweite Pendelpuffer 102 aus
dem Bildpuffer 90 geladen wird. Wenn alle acht Bit des
ersten Pendelpuffers verwendet wurden, werden die Rollen der Puffer
getauscht – der
erste Pendelpuffer wird als Quelle für die Druckdaten verwendet,
während
die Lade komponenten den zweiten Pendelpuffer aus dem dynamischen
Speicher nachladen. Diese Sequenz wiederholt sich, während Bilddaten
von dem Bildpuffer 90 an den Druckkopf übertragen werden. Derselbe
Ablauf wird parallel für
jede Düsensäule des
Druckkopfes realisiert. Der Druckertreiber formatiert die rasterisierten
Daten vorzugsweise in Punktsäulen-Datenblöcken, welche
der Größe der Pendelpuffer
entsprechen, so daß sie
von den Ladekomponenten 94 direkt in einen Pendelpuffer übertragen werden
können.
-
Ein
erheblicher Vorteil der hier beschriebenen Druckerarchitektur ist,
daß der
Mikroprozessor des Druckers die Bilddaten nicht verarbeiten muß. Dadurch
werden die Anforderungen an die Hardware des Druckers und somit
die Kosten gesenkt, wobei dennoch eine Funktionstüchtigkeit
entsprechend einem PCL-Drucker erreicht werden kann. In einem PCL-Drucker
belegt die Schwadenverwaltung einen erheblichen Teil der Prozessorbandbreite.
Hier wird diese Last jedoch von dem Mikroprozessor genommen, so
daß weniger
teure Mikroprozessoren verwendet werden können. Ein PCL-Drucker erfordert auch
ein zusätzliches
RAM zum Speichern der Zwischenformen der Daten, während der
Mikroprozessor die PCL-Daten dekodiert. Auch diese Anforderung entfällt durch
die oben beschriebene Architektur. Ähnlich benötigt ein Drucker gemäß der Erfindung
weniger ROM, weil die PCL-Dekodierbefehle nicht benötigt werden.
Ein weiterer Vorteil ist, daß dieses
Verfahren des Vorsehens von Daten für einen Druckkopf den Font-Speicher
(Schriftart-Speicher) in dem Datenpfad überflüssig macht. Diese Vorteile spiegeln
sich direkt in niedrigeren Kosten wieder.
-
Die
Erfindung wurde mehr oder weniger spezifisch in Bezug auf ihre Vorrichtungs-
und Verfahrensmerkmale beschrieben. Es versteht sich jedoch, daß die Erfindung
nicht auf die speziellen beschriebenen Merkmale beschränkt ist,
da die hier offenbarten Mittel bevorzugte Formen der Umsetzung der
Erfindung darstellen. Die Erfindung wird daher in all ihren Formen
oder Modifikationen mit ihrem angemessenen Schutzumfang durch die
folgenden Ansprüche beansprucht,
welche richtig und in Einklang mit der Äquivalenztheorie interpretiert
werden müssen.
-
Die
in der vorstehenden Beschreibung, den Figuren und den Ansprüchen offenbarten
Merkmale können
sowohl einzeln als auch in beliebiger Kombination für die Realisierung
der Erfindung in ihren verschiedenen Ausgestaltungen von Bedeutung
sein.