DE69835636T2 - Druckersteuerung und Drucker, der anpassbare Objektstreifenverarbeitung verwendet - Google Patents

Druckersteuerung und Drucker, der anpassbare Objektstreifenverarbeitung verwendet Download PDF

Info

Publication number
DE69835636T2
DE69835636T2 DE69835636T DE69835636T DE69835636T2 DE 69835636 T2 DE69835636 T2 DE 69835636T2 DE 69835636 T DE69835636 T DE 69835636T DE 69835636 T DE69835636 T DE 69835636T DE 69835636 T2 DE69835636 T2 DE 69835636T2
Authority
DE
Germany
Prior art keywords
printer
print
complexity
graphics
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69835636T
Other languages
English (en)
Other versions
DE69835636D1 (de
Inventor
Luca Chiarabini
Sergi Jame
Jordi Montserrat
Xavier Rigau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE69835636D1 publication Critical patent/DE69835636D1/de
Application granted granted Critical
Publication of DE69835636T2 publication Critical patent/DE69835636T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1297Printer code translation, conversion, emulation, compression; Configuration of printer parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)

Description

  • Die vorliegende Erfindung betrifft Druckinformationen innerhalb eines Rechensystems und bezieht sich insbesondere auf einen Drucker und einen Drucktreiber, die adaptive Objektbandbildung verwenden.
  • Obwohl dieselbe von allgemeinem Nutzen auf dem Druck- und Anzeigegebiet ist, ist die vorliegende Erfindung besonders nützlich auf dem Gebiet von computergetriebenen Druckern, die insbesondere zum Erzeugen von technischen oder anderen großen Zeichnungen auf Papier, Velin, Film oder einem anderen Druckmedium konzipiert sind, das von einer Rolle oder von einem manuellen oder automatischen Blattzuführmedienweg durch den Mechanismus gezogen wird. Normalerweise kann das Medium eine Breite von 8 ½ Zoll bis zu 3 oder 4 Fuß oder mehr aufweisen.
  • Unter Bezugnahme auf ein rechtwinkliges Koordinatensystem wird das Papier oder das andere Druckmedium in der X-Richtung durch den Drucker gezogen, und ein thermischer Tintenstrahldruckerwagen ist zur Querbewegung bezüglich des Papiers in einer Richtung, die als Y-Richtung bezeichnet werden soll, befestigt. Ein Blatt Papier oder ein anderes Druckmedium wird entweder manuell zugeführt, oder Papier wird von einer Vorratsrolle desselben um eine Walzenrolle gezogen, die motorisch betrieben sein kann oder nicht. Wenn die Druckervorrichtung einen thermischen Tintenstrahldruckkopf oder -köpfe verwendet, ist eine genaue Steuerung der Beabstandung zwischen den Druckköpfen und der Oberfläche des Druckmediums, auf dem ein Drucken stattfinden soll, wesentlich, ansonsten geht eine annehmbare Druckauflösung verloren.
  • Tintenstrahldrucker, wie z. B. diejenigen, die von Hewlett Packard Company vertrieben werden, die die Geschäftsadresse 3000 Hanover Street, Palo Alto, CA 94304 hat, liefern wesentliche Verbesserungen bei der Geschwindigkeit gegenüber dem herkömmlichen X-Y-Plotter. Tintenstrahldrucker umfassen normalerweise einen Stift, der ein Array von Düsen aufweist. Die Stifte sind an einem Wagen befestigt, der in aufeinander folgenden Bahnen über die Seite bewegt wird. Jeder Tintenstrahlstift weist Heizschaltungen auf, die, wenn dieselben aktiviert werden, bewirken, dass Tinte aus zugeordneten Düsen ausgestoßen wird. Wenn der Stift über einem gegebenen Ort positioniert ist, wird ein Strahl von Tinte aus der Düse ausgestoßen, um ein Tintenpixel an einem gewünschten Ort zu liefern. Das Pixelmosaik, das so erzeugt wird, liefert ein gewünschtes zusammengesetztes Bild.
  • Ein Verwenden von Druckern für große Druckmedien bringt spezielle Probleme mit sich. Wenn z. B. größere Rasterbilder gedruckt werden, kann es sein, dass eine erhebliche Menge an Druckerspeicher benötigt wird. Falls der Drucker nicht genug Speicher aufweist, um ein Bild zu drucken, wird irgendeine Art von Fehler auftreten.
  • Insbesondere werden Rasterbilder unter Verwendung von Rasterisierung gedruckt. Rasterisierung ist ein Prozess, bei dem Graphikgrundelemente (wie z. B. Linienzeichenbefehle) durch einen Drucker empfangen werden, und aus diesen erzeugt der Drucker eine Bitmap, die der graphischen Darstellung der Grundelemente entspricht.
  • High-End-Druckervorrichtungen verwenden Spezialsoftware und -hardware, um eine Rasterisierung durchzuführen. Die Spezialhardware umfasst normalerweise einen Prozessor und ein eingebettetes Echtzeitbetriebssystem. Die Rasterisierung von Objekten innerhalb des Druckers selbst (was als „Objektmodus"-Drucken bezeichnet wird) liefert im Allgemeinen eine hervorragende Druckleistung. Komplexe Zeichnungen umfassen jedoch oft große Rasterbilder. Bei großen Raster bildern kann es sein, dass die Rasterisierung eine erhebliche Menge an Speicher erfordert, was einem überlaufenden Druckerspeicher führen kann.
  • Um einen „Kein-Speicher-mehr"-Fehler zu vermeiden, verwenden einige Druckertreiber einen „glatten" Modus. Es sei z. B. auf die Drucker des Modells DesignJet verwiesen, die von Hewlett-Packard Company erhältlich sind. Im glatten Modus wird die Ausgabe durch das Rechensystem in einer Reihe von Bändern aufgestellt, bevor dieselbe an den Drucker gesendet wird. Somit wird die Rasterisierung nicht durch den Drucker durchgeführt, sondern durch ein Rechensystem, das mit dem Drucker verbunden ist. Dieses Rechensystem führt die gesamte Graphikverarbeitung durch, wobei normalerweise die ursprüngliche Zeichnung in Bänder zerlegt wird. Jedes Band wird rasterisiert, und die sich ergebende Bit-Map-Graphik für jedes Band wird an den Drucker zum Drucken gesendet. Während dies eine wirksame Lösung für Drucker mit nicht ausreichendem Speicher ist, wird die Hardwareverarbeitungsleistung des Druckers verschwendet. Außerdem steht die Leistung des Druckens beim glatten Modus in enger Beziehung zu der Verarbeitungsleistung und anderen Ressourcen des Rechensystems. Das Endergebnis ist im Allgemeinen ein erheblicher Verlust bei der Gesamtleistung, einschließlich einer Zunahme der Gesamtdruckzeit und einer längeren Verzögerung beim Zurückbringen des Benutzers zu der Anwendung, die den Drucktreiber aufruft.
  • Die EP 578256 offenbart eine Technik, die als Bandbildung bekannt ist, um die Speicheranforderungen eines Druckers zu verringern.
  • Gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Zeichnung für ein Drucken vorbereitet. Eine Analyse der Druckkomplexität der Zeichnung wird gemäß Anspruch 1 durchgeführt. Die Zeichnung wird basierend auf der Analyse der Druckkomplexität der Zeichnung in Druckbänder partitioniert. Die Druckbänder werden dann in sequen tieller Reihenfolge an eine Druckvorrichtung weitergeleitet.
  • Die Analyse der Druckkomplexität der Zeichnung wird bei dem bevorzugten Ausführungsbeispiel z. B. durch ein Schätzen der Zeichnungskomplexität innerhalb jeder Bahn der Zeichnung durchgeführt. Dies umfasst z. B. ein Erzeugen eines Grenzkastens für jedes Graphikgrundelement innerhalb der Zeichnung. Ein Bahnschnittbereich wird dann für jeden Grenzkasten berechnet. Der Bahnschnittbereich für jeden Grenzkasten wird beim Berechnen der Druckkomplexität für jede Bahn verwendet. Der Bahnschnittbereich wird verwendet, um anzuzeigen, welche Graphikgrundelemente in eine Bahn fallen. Eine Schätzung einer Menge an Druckerspeicher, die benötigt wird, um jedes Graphikgrundelement zu verarbeiten, das in eine Bahn fällt, wird dann verwendet, um die Komplexität der Bahn zu berechnen. Bei dem bevorzugten Ausführungsbeispiel wird ein Bahnhistogramm für die Zeichnung erzeugt.
  • Bei dem bevorzugten Ausführungsbeispiel wird Zusatzspeicher, der zum Abschneiden benötigt wird, berücksichtigt, wenn die Zeichnung in Druckbänder partitioniert wird.
  • Die vorliegende Erfindung liefert eine wirksame Möglichkeit, eine Druckerleistung zu steigern, wenn komplexe Zeichnungen gedruckt werden. Diese Leistungszunahme wird erreicht, während Fehler vermieden werden, die durch ein Überlaufen des Speichers eines Druckers verursacht werden. Da die tatsächlichen Graphikgrundelemente für jedes Band an den Drucker gesendet werden, führt die vorliegende Erfindung zu einer erheblichen Verbesserung gegenüber der Verwendung eines „glatten Modus", wobei die gleichen Vorteile gegeben sind, jedoch die Druckerhardware voll ausgenutzt wird. Die vorliegende Erfindung ist insbesondere bei Großmediendruckern nützlich, die verwendet werden, um komplexe Zeichnungen zu drucken.
  • Die vorliegende Erfindung wird nur beispielhaft unter Bezugnahme auf ein Ausführungsbeispiel derselben, wie es in den beiliegenden Zeichnungen veranschaulicht ist, näher beschrieben. Es zeigen:
  • 1 eine perspektivische Ansicht eines Drucker/Plottermechanismus, die die Abdeckung teilweise aufgebrochen zeigt, um eine Walzenrolle, Klemmrollen und einen Druckkopfwagen zu zeigen, der an Gleitstäben befestigt ist, die sich parallel zu der Achse der Walzenrolle erstrecken.
  • 2 einen rechtsseitigen Querschnittaufriss, der die Enden der Walzenrolle, die Klemmrollen und einen Mechanismus zum Bewegen des Klemmrollenträgerbauglieds in eine Betriebsposition für den Drucker/Plotter, der in 1 gezeigt ist, hinein und aus derselben hinaus zeigt.
  • 3 eine perspektivische Ansicht der Wagenanordnung, des Wagenpositioniermechanismus und des Papierpositioniermechanismus eines Druckers/Plotters, der demjenigen ähnlich ist, der in 1 gezeigt ist.
  • 4 eine perspektivische Ansicht einer vereinfachten Darstellung eines Medienpositioniersystems, das bei einem Drucker/Plotter verwendet wird, der demjenigen ähnlich ist, der in 1 gezeigt ist.
  • 5 ein vereinfachtes Blockdiagramm der Organisation eines Rechensystems, das Treiber für einen Drucker und eine Anzeige umfasst, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 6 ein Flussdiagramm, das eine Objektbandbildung veranschaulicht, wie dieselbe durch einen Druckertreiber gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung durchgeführt wird.
  • 7 eine Musterdruckerausgabe und ein zugeordnetes Histogramm gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 8 ein Flussdiagramm, das eine Heuristik veranschaulicht, die durch einen Druckertreiber verwendet wird, um einen Speicherverbrauch eines Graphikgrundelements zu schätzen, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 9 einen Betrieb eines kundenspezifischen Algorithmus, der Zusatzspeicher erfasst, der für abgeschnittene Objekte benötigt wird, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • 10 eine Musterdruckerausgabe, die basierend auf einem zugeordneten Histogramm in Bänder zerlegt ist, gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Anmeldung.
  • 1 ist eine perspektivische Ansicht eines Drucker/Plottermechanismus, der ein Chassis 2, das durch ein Paar von beabstandeten Beinen 4 getragen wird, und ein Gehäuse aufweist, das eine im Allgemeinen bogenförmige Abdeckung 6 zum Aufnehmen einer Rolle 7 eines Druckmediums, wie z. B. Papier, Velin oder Film, umfasst. Wie es in dem aufgebrochenen Abschnitt oben in der 1 zu sehen ist, erstreckt sich eine Walzenrolle 10 quer zu der Vorrichtung in der Y-Richtung, um einen Träger und einen Druckweg an ihrer oberen Oberfläche für das Medium zu liefern, auf dem ein Drucken stattfinden soll. Ein Paar von Gleitstäben trägt einen quer bewegbaren Druckkopfwagen 30, der sich in der y-Achsenrichtung bewegt, an dem ein thermischer Tintenstrahldruckkopf oder eine Mehrzahl von thermischen Tintenstrahldruckköpfen befestigt ist, die in einem genauen Abstand über der Walzenrolle 10 positioniert sind. Die oberen Abschnitte von vier Klemmrollen 20, von denen jeweils zwei an den oberen Enden von zwei unterschiedlichen Druckerrollenträgerbaugliedern befestigt sind, wie es ein Betätigungshebel 40 ist zum Bewegen der Druckrollenträgerbauglieder in ihre Betriebsposition und aus derselben heraus.
  • In 2 ist der Weg des Papiers oder des anderen Druckmediums durch die gestrichelte Linie gezeigt. Auch weist das Klemmrollenträgerbauglied 25 zumindest einen sich nach hinten erstreckenden oberen Stabilisierungsvorsprung 28 auf, der eine bogenförmige Oberfläche 29 darauf aufweist, die eine Aufwärtsbewegung des Klemmrollenträgerbauglieds 25 begrenzt, wenn dieselbe weg von der Walzenrolle 10 zurückgezogen wird, durch ein Anstoßen der Oberfläche 29 mit einem von zwei Druckerwagengleitstäben 12, die. an dem Chassis des Druckers/Plotters befestigt sind. Ein im Allgemeinen zylindrisches Trägerlager ist an dem hinteren Ende des Trägerarms 27 bereitgestellt, und es ist ersichtlich, dass dasselbe eine Bohrung 31 in dem Ende desselben aufweist, die ein Ende einer Druckfeder 32 aufnimmt.
  • Ein Trägerlager 35 ist an dem Drucker-/Plotterchassis befestigt und weist eine kreisförmige/zylindrische Innenoberfläche auf, die den Trägerarm 27 aufnimmt und trägt. Der Innendurchmesser der Oberfläche des Lagers 35 ist etwas größer hergestellt als der Außendurchmesser der Lageroberfläche an dem Trägerarm 27, um eine vertikale Bewegung des Arms 27 in dem Lager 35 innerhalb einer ausgewählten Winkeltoleranz zu gestatten. Die Entfernung von dem gefangenen Ende 28 des Trägerarms 27 zu der Mittellinie der Walzenrolle 10 beträgt bevorzugt etwa das Doppelte der Entfernung von der Mittellinie der Klemmrollen zu der Mitte der Krüm mung der bogenförmigen Medienführungsoberfläche 21, die im Allgemeinen auch mit der Mittellinie der Walzenrolle 10 zusammenfällt. Die Druckfeder 32 spannt somit das Klemmrollenträgerbauglied 25 und die Klemmrollen 20 während des Druckens zu der Walzenrolle hin vor. Falls somit das gefangene Ende 28 des Trägerarms vertikal in dem Lager 35 innerhalb der ausgewählten Winkeltoleranz verschiebbar ist, verschiebt sich die Klemmrollenposition winkelmäßig um die Walzenrolle 10 nur um etwa die Hälfte der ausgewählten Winkellagertoleranz, da die Anordnung gezwungen ist, sich um die Mitte der Walzenrolle 10 zu drehen.
  • Wenn es erwünscht ist, ein Blatt eines Druckmediums in den Drucker/Plotter oder ein Druckmedium entweder manuell oder von der Rolle 7 desselben zu laden, wird das Papier zugeführt, bis eine Bewegung des vorderen Endes desselben durch ein Anstoßen in der Noppe zwischen den unteren Klemmrollen 20 und der Walzenrolle 10 beendet wird. Die Walzenrolle wird dann in einer Richtung gegen den Uhrzeigersinn gedreht, um das Papier zwischen die Walzenrolle 10 und die bogenförmige Führungsoberfläche des Rollenträgerbauglieds 25 und nachfolgend an den oberen Klemmrollen 20 vorbei zu ziehen. Papier kann entfernt werden, wenn es erwünscht ist, indem das Klemmrollenträgerbauglied 25 und die Klemmrollen 20 weg von der Walzenrolle 10 zurückgezogen werden. Zu diesen Zweck weist der Träger- und Betätigungsarm 27 einen im Wesentlichen sich vertikal erstreckenden Vorsprung 33 darauf auf, der durch einen Haltearm 34 in Eingriff genommen sein kann, der fest an einer sich quer erstreckenden Welle 50 angebracht ist, die in dem Drucker-/Plotterchassis befestigt ist. Eine Drehung der Welle 50, um das Klemmrollenträgerbauglied 25 zu seiner offenen nicht klemmenden Position zurückzuziehen, wird durch eine Befestigung eines Winkelhebels 60 an der Welle 50 erreicht, so dass die Welle durch eine Bewegung des Winkelhebels 60 gedreht werden kann, der wiederum durch einen Verbindungsstab 64 an einem zweiten Winkelhebel 62 angebracht ist. Der zweite Winkelhebel 62 ist mit der Klemmarmfreigabehandhabungsvorrichtung 40 durch einen weiteren Verbindungsstab 66 verbunden, wobei die Winkelhebel und die Klemmarmfreigabehebel schwenkbar an dem Drucker-/Plotterchassis oder dem drehbaren Stab 50 auf eine Weise befestigt sind, die Fachleuten ersichtlich ist. Es ist ersichtlich, dass eine Anzahl von getrennten Klemmrollenträgerbaugliedern 25 entlang der Länge der Walzenrolle 10 befestigt sein kann, und dass alle gemeinsam zu ihrer Betriebsposition bewegt werden können oder von derselben zurückgezogen werden können, indem eine Anzahl von Haltearmen 34 an der drehbaren Welle 50 bereitgestellt wird, die, wenn es erwünscht ist, durch die Klemmarmfreigabehebelverbindung gedreht wird.
  • 3 ist eine perspektivische Ansicht einer Wagenanordnung 100, eines Wagenpositioniermechanismus 110 und eines Codiererstreifens 120 für einen Drucker, der demjenigen ähnlich ist, der in 1 gezeigt ist. Der Wagenpositioniermechanismus 110 umfasst einen Wagenpositionsmotor 112, der eine Welle 114 aufweist, die sich von demselben erstreckt, durch die der Motor einen kleinen Riemen 116 antreibt. Durch den kleinen Riemen 116 treibt der Wagenpositionsmotor 112 eine Leerlaufrolle 122 über die Welle 118 desselben. Die Leerlaufrolle 122 treibt wiederum einen Riemen 124, der durch eine zweite Leerlaufrolle 126 befestigt ist. Der Riemen 124 ist an dem Wagen 100 angebracht und angepasst, um durch denselben zu gleiten.
  • Die Position der Wagenanordnung in der y-Richtung entlang der Bewegungsachse wird durch die Verwendung des Codestreifens 120 genau bestimmt. Der Codestreifen 120 ist durch einen ersten Pfosten 128 an einem Ende und einen zweiten Pfosten 129 an dem anderen Ende befestigt. Eine optische Lesevorrichtung (nicht gezeigt) ist an der Wagenanordnung angeordnet und liefert Wagenpositionssignale, die durch die Erfindung verwendet werden, um eine optimale Bildausrichtung zu erreichen.
  • Die Medien- und Wagenpositionsinformationen werden an einen Prozessor an einer Schaltungsplatine 170 geliefert, die an der Wagenanordnung 100 angeordnet ist, zur Verwendung in Verbindung mit Stiftausrichtungstechniken der vorliegenden Erfindung. (Die Begriffe Stift und Kassette werden hier austauschbar verwendet, wie es in der Technik üblich ist.) Der Drucker weist vier Tintenstrahlstifte 102, 104, 106 und 108 auf, die Tinte unterschiedlicher Farben, z. B. schwarze, gelbe, magentafarbene bzw. cyanfarbene Tinte, speichern. Wenn die Wagenanordnung 100 sich relativ zu dem Medium entlang der x- und y-Achse verschiebt, werden ausgewählte Düsen bei den thermischen Tintenstrahlkassettenstiften aktiviert, und Tinte wird auf das Medium aufgebracht. Die Farben von den drei Farbtintenstrahlstiften werden gemischt, um jede beliebige andere bestimmte Farbe zu erhalten.
  • 4 ist eine perspektivische Ansicht einer vereinfachten Darstellung eines Medienpositioniersystems 150 zum Vorbewegen des Mediums in der Richtung der x-Achse. Das Medienpositioniersystem 150 umfasst einen Motor 152, der koaxial mit einer Medienrolle 154 ist. Die Position der Medienrolle 154 wird durch einen Medienpositionscodierer 156 bestimmt. Der Medienpositionscodierer umfasst eine Scheibe 158, die eine Mehrzahl von Öffnungen 159 darin aufweist. Eine optische Lesevorrichtung 160 liefert eine Mehrzahl von Ausgangspulsen, die die Bestimmung der Rolle 154 und deshalb auch der Position des Mediums 30 erleichtern.
  • 5 zeigt ein vereinfachtes Blockdiagramm der Organisation eines Rechensystems 207. Das Rechensystem 207 führt verschiedene Anwendungsprozesse aus, wie es in 5 durch einen Anwendungsprozess 202 veranschaulicht ist. Wenn die Anwendung 202 Informationen an einem Drucker 205 drucken oder Informationen an einem Monitor 206 anzeigen möchte, macht der Anwendungsprozess 202 Aufrufe an einen Druckertreiber 203. Obwohl bei dem hier beschriebenen bevorzugten Ausführungsbeispiel der Anwendungsprozess 202 Aufrufe direkt an den Druckertreiber 203 macht, kann die vorliegende Erfindung auf verschiedene Weisen implementiert sein. Zum Beispiel kann die vorliegende Erfindung mit einer Graphikvorrichtungsschnittstelle (GDI) verwendet werden, die zu einem Microsoft-Windows-Betriebssystem gehört. Es sei z. B. auf das Vorrichtungstreiberanpassungshandbuch für das Microsoft-Windows-Betriebssystem, Version 3.1, hingewiesen, das von Microsoft Corporation erhältlich ist.
  • Damit Informationen an dem Monitor 206 angezeigt werden, sendet der Anwendungsprozess 202 vorrichtungsunabhängige Graphikbefehle an einen Anzeigentreiber 204. Der Anzeigetreiber 204 übersetzt die unabhängigen Graphikbefehle von dem Anwendungsprozess 202 in Befehle, die eine Aktionsanzeige 206 verwenden kann, um die Informationen anzuzeigen. Der Treiber 204 kann auch Informationen über Farbauflösung, Bildschirmgröße und Auflösung, Graphikfähigkeiten und andere hochentwickelte Merkmale, die an der Anzeige 206 verfügbar sein können, an den Anwendungsprozess 202 übertragen.
  • Damit Informationen an einem Drucker 205 gedruckt werden, sendet der Anwendungsprozess 202 vorrichtungsunabhängige Graphikbefehle an einen Druckertreiber 203. Der Druckertreiber 203 übersetzt die unabhängigen Graphikbefehle von dem Anwendungsprozess 202 in Befehle, die ein Aktionsdrucker 205 verwenden kann, um die Informationen zu drucken. Der Druckertreiber 203 kann auch Informationen über Farbauflösung, Auflösung, Graphikfähigkeiten und andere hochentwickelte Merkmale, die an dem Drucker 205 verfügbar sein können, an die Anwendung 202 übertragen.
  • Bei dem bevorzugten Ausführungsbeispiel macht der Anwendungsprozess 202, der in 5 gezeigt ist, Aufrufe an den Druckertreiber 203 zum Drucken. Diese Aufrufe sind z. B. AUTOCAD-Treiberschnittstellen- (ADI-) Aufrufe, Raster-ADI-Aufrufe oder Vektor-ADI-Aufrufe. Die folgende Tabelle 1 zeigt typische Aufrufe, die an den Druckertreiber 203 gemacht werden.
  • Tabelle 1
    Figure 00120001
  • Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung kann der Druckertreiber 207 konfiguriert sein, um eine Objektbandbildung zu verwenden. Die Konfiguration umfasst zwei potentielle Eingaben, die durch einen Benutzer vorgenommen werden. Die erste Eingabe ist eine Auswahl, ob eine Objektbandbildung oder eine „optimierte Speicherverwendung" verwendet wird. Die zweite Eingabe von dem Benutzer besteht darin, die Menge an Speicher zu bestimmen, die bei dem Drucker 205 installiert ist. Bei alternativen Ausführungsbeispielen der vorliegenden Erfindung erhält der Druckertreiber 207 direkt von dem Drucker 205 Informationen, die sich auf die Menge an Speicher beziehen, die bei dem Drucker 205 installiert ist.
  • Bei den bevorzugten Ausführungsbeispielen der vorliegenden Erfindung wird eine adaptive Bandbildung durch eine Vorverarbeitung der Graphikgrundelemente innerhalb des Druckertreibers 203 innerhalb des Rechensystems 207 durchgeführt. Eine Rasterisierung wird jedoch innerhalb des Druckers 205 durchgeführt.
  • Eine Vorverarbeitung umfasst ein Partitionieren und Sortieren der ursprünglichen Zeichnung. Der Druckertreiber 203 führt die Vorverarbeitung durch. Die ursprünglichen Graphikgrundelemente, die durch den Druckertreiber 203 von dem Anwendungsprozess 202 empfangen werden, werden durch den Druckertreiber 203 in horizontale Bänder zerlegt. Der Druckertreiber 203 sendet dann die horizontalen Bänder in sequentieller Reihenfolge an den Drucker 205. Wenn jedes horizontale Band gesendet wird, sendet der Drucker 205 die Graphikgrundelemente für alle Objekte innerhalb des horizontalen Bandes.
  • Der Drucker 205 druckt die horizontalen Bänder auf eine durchgehende und übergangslose Weise. Zum Beispiel verwendet der Drucker 205 einen Superflussmodus oder eine andere ähnliche Funktionalität, um das durchgehende und übergangslose Drucken zu erreichen. Es sei hingewiesen auf HP-GL/2 und HP RTL Nachschlagehandbuch, Teilnr. 5959-9733, 1996, erhältlich von Hewlett-Packard Co. mit der Geschäftsadresse 3000 Hanover Street, Palo Alto, CA 94304. Die folgende Tabelle 2 stellt drei Druckmodi gegenüber: glatt, Objekt und adaptive Objektbandbildung. Der glatte Druckmodus und der Objektdruckmodus sind in dem Hintergrundabschnitt genauer beschrieben.
  • Tabelle 2
    Figure 00140001
  • 6 ist ein Flussdiagramm, das veranschaulicht, wie der Druckertreiber 203 eine Objektbandbildung durchführt. Bei einem Schritt 231 führt der Druckertreiber 203 eine Analyse der Druckkomplexität der Zeichnung durch. Das kann auf eine Anzahl von Weisen geschehen. Bei dem bevorzugten Ausführungsbeispiel erfolgt dies unter Verwendung eines Bahnhistogramms der Zeichnung.
  • Eine Bahn ist das minimale horizontale Bitmap-Stück, das der Drucker 205 auf Papier werfen kann. Die Breite der Bahn ist äquivalent zu der Breite des geladenen Papiers. Zum Beispiel beträgt bei einem Ausführungsbeispiel der vorliegenden Erfindung die Breite des geladenen Papiers 36 Zoll. Bei 300 Punkten pro Zoll (dpi) ist die Breite der Bahn somit äquivalent zu 10.800 Pixeln (36 Zoll, 300 dpi). Bei 600 dpi ist die Breite der Bahn somit äquivalent zu 21.600 Pixeln (36 Zoll, 600 dpi). Die Höhe der Bahn ist im Allgemeinen abhängig von den bestimmten Stiften (oder Tintendüsen), die bei dem Drucker 205 verwendet werden. Zum Beispiel beträgt eine typische Bahnhöhe bei einem 300-dpi-Drucker 96 Pixel, und eine typische Bahnhöhe bei einem 600-dpi-Drucker beträgt 192 Pixel.
  • Die volle Zeichnung wird analysiert, bevor irgendwelche Informationen an den Drucker 205 gesendet werden. Während der Erzeugung des Bahnhistogramms werden die Graphikgrundelemente, die durch den Druckertreiber 203 empfangen werden, intern durch den Druckertreiber 203 verarbeitet und werden in einer kundenspezifischen Anzeigelistendatei in einer Speichervorrichtung des Rechensystems 207 gespeichert.
  • Während der Erzeugung des Bahnhistogramms wird jedes Graphikgrundelement verarbeitet, wobei ein Speicherverbrauch emuliert wird, der durch den Drucker 205 benötigt wird. Unterschiedliche Graphikgrundelemente haben einen unterschiedlichen Speicherbedarf. Der Druckertreiber 203 verwendet einen spezifischen Satz von Heuristik, der den Speicherbedarf für jedes Graphikgrundelement schätzt.
  • Das Bahnhistogramm, das durch den Druckertreiber 203 erstellt wird, stellt die Dichte der Zeichnung für jede Bahn dar. Dies teilt dem Druckertreiber 203 im Wesentlichen die Menge an Speicher mit, die der Drucker 205 benötigt, um die Graphikgrundelemente für jede Bahn korrekt zu verarbeiten. Das Bahnhistogramm zeigt auch die Komplexität jeder Bahn an. Eine komplexere Bahn hat einen höheren Wert bei dem Histogramm. Zum Beispiel bestimmt der Druckertreiber 203, dass eine Bahn mit vielen Vektoren dichter (komplexer) ist als eine Bahn mit nur wenigen Vektoren.
  • Im Allgemeinen sind Rasterbilder viel dichter als Abschnitte einer Zeichnung, die unter Verwendung von Vektoren erzeugt werden. Dies ist durch die Art bedingt, wie die Firmware innerhalb des Druckers 205 (und praktisch aller Drucker) mit unterschiedlichen Graphikgrundelementen umgeht.
  • 7 zeigt eine Zeichnung 220. Die Zeichnung 220 umfasst Text 221, ein Vektorschema 222, eine schematische Tabelle 223 (die einen Textabschnitt und einen Vektorabschnitt umfasst) und ein Rasterbild 224. Ein Bahnhistogramm 225 ist aus Quadraten gebildet. Jede Reihe von Quadraten in der y-Richtung zeigt eine Bahnkomplexität für die Bahn an. Eine größere Anzahl von Quadraten in einer Reihe für eine Bahn bedeutet, dass die Bahn eine höhere Komplexität aufweist. Eine Reihe mit weniger Quadraten zeigt an, dass die Bahn eine geringere Komplexität aufweist.
  • Ein Pfeil 226 zeigt eine Medienvorbewegungsrichtung entlang der x-Achse an. Somit erstrecken sich in dem Fall der Zeichnung 220, wie dieselbe in 7 dargestellt ist, die Bahnen und Bänder in der y-Achsenrichtung über das Medium, so dass ihre Ausrichtung bezüglich des Druckers 205 horizontal ist.
  • 8 ist ein Flussdiagramm, das eine Heuristik veranschaulicht, die durch den Druckertreiber 203 verwendet wird, um einen Speicherverbrauch eines Graphikgrundelements gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung zu schätzen.
  • Bei dem bevorzugten Ausführungsbeispiel ist die Heuristik, die durch den Druckertreiber 203 verwendet wird, um einen Druckerspeicherverbrauch zu berechnen, eine Näherung an den echten Speicherbedarf. Außerdem ist die Heuristik konservativ, so dass dieselbe eine Speicherverwendung nicht unterschätzt und somit ein „Kein-Speicher-mehr" verhindert. Folglich kann die Heuristik den Speicherbedarf für spezifische komplexe Zeichnungen überschätzen. Dies hat jedoch nur eine geringfügige Auswirkung auf die Leistung.
  • Wie es in 8 gezeigt ist, berechnet der Druckertreiber 203 bei einem ersten Schritt 241 einen Begrenzungskasten eines Graphikgrundelements. Der Begrenzungskasten setzt Grenzen, innerhalb derer das Graphikgrundelement ein Graphikobjekt zeichnet. Der Begrenzungskasten für jedes Graphikgrundelement wird entsprechend der bestimmten Beschaf fenheit des Graphikgrundelements berechnet. Bei Vektorobjekten wird die Breite des Vektors berücksichtigt, wenn Begrenzungskastenausmaße berechnet werden.
  • Bei einem Schritt 242 berechnet der Druckertreiber 203 einen Bahnschnittbereich. Der Bahnschnittbereich für ein Graphikgrundelement legt dar, welche Bahnen zumindest einen Abschnitt des Begrenzungskastens für das Graphikobjekt enthalten, das durch das Graphikgrundelement gezeichnet wird. Bei dem bevorzugten Ausführungsbeispiel werden Ergebnisse von dem Bahnschnittbereich in einer Anzeigelistendatei zusammen mit den Graphikgrundelementdaten zur Verwendung, wenn eine Bandpartitionierung durchgeführt wird, gespeichert. Eine Bandpartitionierung ist im Folgenden näher beschrieben. Die Speicherung des Bahnschnittbereichs beschleunigt die Verarbeitung der Anzeigeliste.
  • Bei einem Schritt 243 berechnet der Druckertreiber für jedes Graphikgrundelement eine geschätzte Speicherverwendung unter Verwendung der Bahnschnittbereichsinformationen, die bei Schritt 242 berechnet wurden. Diese Schätzung wird in einem Bahnhistogramm zur späteren Verwendung bei der Bandpartitionierung akkumuliert. Der Speicherbedarf für ein Graphikgrundelement hängt von den bestimmten Charakteristika des Graphikgrundelements ab und wann dasselbe abschnitten wird oder nicht. Zum Beispiel zeigt die folgende Tabelle 3 den Speicherbedarf in Bytes für ein aktuelles Ausführungsbeispiel der vorliegenden Erfindung.
  • Tabelle 3
    Figure 00180001
  • In der obigen Tabelle 3 stellt „Speicher (X)" den Speicherverbrauch des Druckers 205 für ein Graphikelement des Typs X dar. „lSegmente" ist die geschätzte Anzahl von Liniensegmenten, die eine gestaltete Linie aufweist. „hLinien" ist die Anzahl von Linien, die benötigt wird, um ein Polygon mit einem Schraffierungs- (oder Kreuzschraffierungs-) Netz zu füllen.
  • Eine korrekte Erfassung von Zusatzspeicher, der für abgeschnittene Objekte benötigt wird, wird mit einem kundenspezifischen Algorithmus basierend auf einer Objektbahnkantenerfassung und einer Akkumulation durchgeführt. Dies ist in der Erörterung von 9 im Folgenden näher erörtert.
  • Bei einem Schritt 244 akkumuliert der Druckertreiber 203 das Ergebnis in einem Bahnhistogramm, wie es im Folgenden näher beschrieben ist.
  • 9 zeigt eine Zeichnung 263 innerhalb einer Bahnzeile 251, einer Bahnzeile 252, einer Bahnzeile 253, einer Bahnzeile 254, einer Bahnzeile 255, einer Bahnzeile 256, einer Bahnzeile 257, einer Bahnzeile 258, einer Bahnzeile 259, einer Bahnzeile 260, einer Bahnzeile 261 und einer Bahnzeile 262.
  • Der Grundgedanke des Algorithmus besteht darin, Eins (+1) zu einem Akkumulationswert für eine Bahnzeile zu addieren, in der ein Objekt startet, und Eins (–1) von einem Akkumulationswert für eine Bahnzeile zu subtrahieren, in der das Objekt endet. Die Berechnung des Akkumulationswert ist in einer Spalte 264 gezeigt. Wenn eine Bandpartitionierung der Zeichnung erfolgt, wie es im Folgenden beschrieben ist, werden die Akkumulationswerte für die Bahnen an dem Ende jeder Bahn summiert. Dies ist durch eine Spalte 265 dargestellt. Dieser Summenwert zeigt an, wie viele Objekte von jeder Bahn zu einer folgenden Bahn hinübergehen.
  • Zum Beispiel beginnt, wie es in 9 zu sehen ist, Segment 271 in der Bahnzeile 251 und endet in der Bahnzeile 256. Somit umfasst der Akkumulationswert für die Bahnzeile 251 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 256 umfasst eine „–1" für das Segment 271.
  • Segment 272 beginnt in der Bahnzeile 252 und endet in der Bahnzeile 258. Somit umfasst der Akkumulationswert für die Bahnzeile 252 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 258 umfasst eine „–1" für das Segment 272.
  • Segment 273 beginnt in der Bahnzeile 254 und endet in der Bahnzeile 254. Somit umfasst der Akkumulationswert für die Bahnzeile 254 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 254 umfasst eine „–1" für das Segment 273.
  • Segment 274 beginnt in der Bahnzeile 255 und endet in der Bahnzeile 257. Somit umfasst der Akkumulationswert für die Bahnzeile 255 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 257 umfasst eine „–1" für das Segment 274.
  • Segment 275 beginnt in der Bahnzeile 259 und endet in der Bahnzeile 259. Somit umfasst der Akkumulationswert für die Bahnzeile 259 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 259 umfasst eine „–1" für das Segment 275.
  • Segment 276 beginnt in der Bahnzeile 259 und endet in der Bahnzeile 259. Somit umfasst der Akkumulationswert für die Bahnzeile 259 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 259 umfasst eine „–1" für das Segment 276.
  • Segment 277 beginnt in der Bahnzeile 259 und endet in der Bahnzeile 260. Somit umfasst der Akkumulationswert für die Bahnzeile 259 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 260 umfasst eine „–1" für das Segment 277.
  • Segment 278 beginnt in der Bahnzeile 259 und endet in der Bahnzeile 260. Somit umfasst der Akkumulationswert für die Bahnzeile 259 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 260 umfasst eine „–1" für das Segment 278.
  • Segment 279 beginnt in der Bahnzeile 260 und endet in der Bahnzeile 260. Somit umfasst der Akkumulationswert für die Bahnzeile 260 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 260 umfasst eine „–1" für das Segment 279.
  • Segment 280 beginnt in der Bahnzeile 260 und endet in der Bahnzeile 262. Somit umfasst der Akkumulationswert für die Bahnzeile 260 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 262 umfasst eine „–1" für das Segment 280.
  • Segment 281 beginnt in der Bahnzeile 260 und endet in der Bahnzeile 262. Somit umfasst der Akkumulationswert für die Bahnzeile 260 in Spalte 264 eine „+1", und der Akkumulationswert für die Bahnzeile 262 umfasst eine „–1" für das Segment 281.
  • In 9 sind alle Objekte als Vektoren gezeigt, und somit ist die Komplexität der Objekte kein Faktor, und der Akkumulationswert in Spalte 264 wird entweder inkrementiert oder dekrementiert. Bei komplexeren Objekten führt die Komplexität des Objekts jedoch dazu, dass eine größere Zahl zu dem Akkumulationswert in Spalte 264 hinzuaddiert oder von demselben subtrahiert wird. Auf diese Weise kann der Zusatzspeicher, der zum Abschneiden der Objekte benötigt wird, mit angemessener Genauigkeit geschätzt werden.
  • Insbesondere ist der Akkumulationswert für jedes komplexe Objekt gleich dem Zusatzspeicher, der benötigt wird, wenn das komplexe Objekt abgeschnitten wird. Um den Zusatzspeicher zu berücksichtigen, der zum Abschneiden benötigt wird, kann der Akkumulationswert für jede Bahnzeile zu jeder Bahnzeile addiert werden (oder subtrahiert, je nachdem), wenn die Komplexität der Bahnzeile berechnet wird. Dies funktioniert, weil, wenn die Akkumulationswerte in dem Bahnhistogramm widergespiegelt werden, der Summenwert (in 9 als der Summenwert in Spalte 265 dargestellt) somit widergespiegelt wird, wenn eine Bandpartitionierung basierend auf dem Bahnhistogramm durchgeführt wird. Das heißt, wenn eine Bahnzeile die letzte Bahnzeile in einem bestimmten Band ist, stellt der Summenwert, der an dem Ende dieser Bahnzeile berechnet wird (mittels der Akkumulationswerte aller vorangegangener Bahnzeilen zu dem Bahnhistogramm akkumuliert), den Zusatzspeicher dar, der für alle Objekte benötigt wird, die am Ende der Bahnzeile abgeschnitten werden.
  • Bei einem Schritt 232, der in 6 gezeigt ist, führt der Druckertreiber 203 eine Bandpartitionierung der Zeichnung basierend auf der Analyse der Druckkomplexität durch. Bei einem Schritt 233 leitet der Druckertreiber 203 sequentiell die partitionierten Bänder an den Drucker 205 weiter. Während dieses Schrittes werden die Graphikgrundelemente, die in der Anzeigelistendatei gespeichert sind, an den Drucker 205 gesendet. Wenn dieselben an den Drucker 205 gesendet werden, werden die Graphikgrundelemente unter Verwendung des Bahnhistogramms, das vorher berechnet wurde, partitioniert. Der Partitionierungsalgorithmus verwendet die Informationen, die in dem Bahnhistogramm gespeichert sind, um die horizontalen Bänder zu definieren, in die die Zeichnung fragmentiert wird. Es wird darauf geachtet, dass jedes einzelne Band korrekt in den erwarteten Vorrichtungsspeicher passt.
  • Die Technik zum Partitionieren folgt einem adaptiven Lösungsansatz. Insbesondere werden kleinere Bänder für sehr dichte Bereiche erzeugt, während größere Bänder für Bereiche geringer Dichte oder leere Bereiche der Zeichnung erzeugt werden.
  • Das Bahnhistogramm wird verwendet, um zu bestimmen, wie viele benachbarte Bahnen in ein Band vereinigt werden können, ohne den Speicher des Druckers 205 zum Überlaufen zu bringen. Die Menge an Speicher, die zum Verarbeiten eines Bandes verfügbar ist, basiert bei dem bevorzugten Ausführungsbeispiel auf der Gesamtmenge an Speicher, die in dem Drucker 205 installiert ist.
  • Das sich ergebende Band wird dann verwendet, um die Graphikgrundelemente zu bestimmen, die an den Drucker 205 gesendet werden müssen. Für ein Band werden alle Graphikgrundelemente, die direkt oder indirekt in Bahnen fallen, die das Band bilden, gesendet. Die verbleibender. Graphikgrundelemente der Zeichnungen werden für dieses Band nicht gesendet.
  • Die Ergebnisse des Bahnschnittbereichtests, die in der Anzeigeliste gespeichert sind, wie es im Vorhergehenden beschrieben ist, machen es sehr einfach, zu bestimmen, welche Graphikgrundelemente gesendet werden müssen. Wenn Rasterbilder abgeschnitten werden, wird nur der Teil des Bildes, der in das Band fällt, gesendet. Der Rest des Rasterbildes wird nicht gesendet.
  • Bei dem bevorzugten Ausführungsbeispiel werden Vektorgraphikgrundelemente, die in mehrere Bänder fallen, mehrere Male gesendet. Falls z. B. eine Linie über zwei Bänder geht, muss das Graphikgrundelement, das die Linie definiert, mit beiden Bändern gesendet werden. Obwohl dies eine gewisse Redundanz für Vektorgraphikgrundelemente einführt, ist die Leistungsverschlechterung für die meisten Zeichnungen vernachlässigbar. Falls die Leistung ein Problem wird, ermöglicht ein Hinzufügen von mehr Speicher zu dem Drucker 205, dass größere Bänder und weniger Bänder pro Zeichnung verwendet werden.
  • 10 veranschaulicht die Ergebnisse einer Bandpartitionierung. Basierend auf der Verfügbarkeit von Speicher innerhalb des Druckers 205 verwendet der Druckertreiber das Bahnhistogramm 225, um die Bandgrenzen zu berechnen. Bei dem Beispiel, das in 10 gezeigt ist, wird bestimmt, dass der Speicher innerhalb des Druckers 205 groß genug ist, um innerhalb eines einzigen Bandes die Komplexität zu verarbeiten, die durch 24 Quadrate des Bahnhistogramms 225 dargestellt ist. Wenn somit die Zeichnung 220 partitioniert wird, zeichnet der Komplexitätsindex bei einer Bandbildung eine Grenze vor jeder Bahn, die, falls dieselbe zu dem aktuellen Band hinzugefügt würde, bewirken würde, dass das Band eine Komplexität aufweist, die größer ist als diejenige, die durch 24 Quadrate des Bahnhistogramms 225 dargestellt ist. Wie es ersichtlich ist, wird unter Verwendung dieses Algorithmus die Zeichnung 220 in ein Band 291, ein Band 292, ein Band 293, ein Band 294, ein Band 295, ein Band 296, ein Band 297, ein Band 298, ein Band 299, ein Band 300 und ein Band 301 partitioniert.
  • Die vorangegangene Erörterung offenbart und beschreibt nur exemplarische Verfahren und Ausführungsbeispiele der vorliegenden Erfindung.

Claims (10)

  1. Ein Verfahren zum Vorbereiten einer Zeichnung (220) zum Drucken, das folgende Schritte aufweist: (a) Durchführen einer Analyse einer Druckkomplexität der Zeichnung (231), die die Dichte darstellt; (b) Partitionieren der Zeichnung (232) in Druckbänder (291300) basierend auf der Analyse der Druckkomplexität der Zeichnung (220), die bei Schritt (a) durchgeführt wurde; und (c) Weiterleiten der Druckbänder (233) in sequentieller Reihenfolge an eine Druckvorrichtung (205).
  2. Ein Verfahren gemäß Anspruch 1, bei dem Schritt (a) den folgenden Teilschritt umfasst: Erzeugen eines Bahnhistogramms (225) für die Zeichnung (220).
  3. Ein Verfahren gemäß Anspruch 1, bei dem Schritt (a) die folgenden Teilschritte umfasst: (a.1) Schätzen der Komplexität der Zeichnung (220) innerhalb jeder Bahn der Zeichnung (220); und (a.2) Gruppieren benachbarter Bahnen (221262) zu Bändern, so dass ein Verarbeiten jedes Bandes keinen Speicherüberlauf bei der Druckvorrichtung (205) verursacht.
  4. Ein Verfahren gemäß Anspruch 3, bei dem der Teilschritt (a.1) für jede Bahn ein Schätzen einer Menge an Druckerspeicher umfasst, die benötigt wird, um jedes Graphikgrundelement zu verarbeiten, das verwendet wird, um ein Objekt zu drucken, das sich innerhalb der Bahn befindet.
  5. Ein Verfahren gemäß Anspruch 1, bei dem Schritt (a) die folgenden Teilschritte umfasst: (a.1) Erzeugen eines Grenzkastens für jedes Graphikgrundelement innerhalb der Zeichnung (241); (a.2) Berechnen eines Bahnschnittbereichs für jeden Grenzkasten (242); und (a.3) basierend auf dem Bahnschnittbereich für jeden Grenzkasten Bestimmen der Druckkomplexität innerhalb jeder Bahn.
  6. Ein Verfahren gemäß Anspruch 5, bei dem der Teilschritt (a.3) ein Erzeugen eines Bahnhistogramms (244) für die Zeichnung (220) basierend auf dem Bahnschnittbereich für jeden Grenzkasten umfasst.
  7. Ein Verfahren gemäß Anspruch 5, bei dem der Teilschritt (a.3) ein Schätzen einer Menge an Druckerspeicher umfasst, die benötigt wird, um jedes Graphikgrundelement zu verarbeiten, das verwendet wird, um ein Objekt zu drucken, das sich innerhalb der Bahn (243) befindet.
  8. Ein Verfahren gemäß Anspruch 1, bei dem Schritt (b) ein Berücksichtigen von Zusatzspeicher umfasst, der zum Abschneiden benötigt wird.
  9. Ein Verfahren gemäß Anspruch 1, bei dem die Druckvorrichtung (205) ein Großmediendrucker ist.
  10. Ein Verfahren gemäß Anspruch 1, bei dem Schritt (c) für jedes Band ein Weiterleiten von Graphikgrundelementen umfasst, die Objekte innerhalb des Bandes zeichnen.
DE69835636T 1997-05-15 1998-05-12 Druckersteuerung und Drucker, der anpassbare Objektstreifenverarbeitung verwendet Expired - Lifetime DE69835636T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/857,225 US5930469A (en) 1997-05-15 1997-05-15 Printing driver and printer which utilize adaptive object banding
US857225 1997-05-15

Publications (2)

Publication Number Publication Date
DE69835636D1 DE69835636D1 (de) 2006-10-05
DE69835636T2 true DE69835636T2 (de) 2007-04-26

Family

ID=25325502

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69835636T Expired - Lifetime DE69835636T2 (de) 1997-05-15 1998-05-12 Druckersteuerung und Drucker, der anpassbare Objektstreifenverarbeitung verwendet

Country Status (4)

Country Link
US (1) US5930469A (de)
EP (1) EP0884671B1 (de)
JP (1) JPH1165792A (de)
DE (1) DE69835636T2 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6462833B1 (en) * 1999-02-25 2002-10-08 Hewlett-Packard Company Image processor with conditional bit map store
US20030174141A1 (en) * 2002-03-14 2003-09-18 Letellier Nolan Wayne Sorting image primitives in generation of image page descriptions
US7260276B2 (en) * 2004-06-30 2007-08-21 Sharp Laboratories Of America, Inc. Methods and systems for complexity estimation and complexity-based selection
US7561303B2 (en) * 2004-12-14 2009-07-14 Canon Kabushiki Kaisha Caching and optimisation of compositing
US8130429B2 (en) * 2005-06-02 2012-03-06 Sharp Laboratories Of America, Inc. Adaptive driver for choosing hybrid raster and PDL format output
US7848592B2 (en) * 2006-07-31 2010-12-07 Carestream Health, Inc. Image fusion for radiation therapy
JP5744574B2 (ja) * 2011-03-07 2015-07-08 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
EP3124278B1 (de) * 2015-07-31 2018-08-08 MGI Digital Technology Vorrichtung und verfahren zur optimierung der digitalen transformation eines substrats
USD975177S1 (en) 2020-02-27 2023-01-10 Hewlett-Packard Development Company, L.P. Printer stand legs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558461A (en) * 1983-06-17 1985-12-10 Litton Systems, Inc. Text line bounding system
US5216754A (en) * 1991-08-27 1993-06-01 Xerox Corporation Determining the complexity of a page prior to a print attempt
US5577173A (en) * 1992-07-10 1996-11-19 Microsoft Corporation System and method of printer banding
US5500928A (en) * 1993-03-01 1996-03-19 Xionics Document Technologies, Inc. Digital printing system and process using adaptive compression

Also Published As

Publication number Publication date
EP0884671B1 (de) 2006-08-23
DE69835636D1 (de) 2006-10-05
EP0884671A3 (de) 2002-03-13
JPH1165792A (ja) 1999-03-09
US5930469A (en) 1999-07-27
EP0884671A2 (de) 1998-12-16

Similar Documents

Publication Publication Date Title
DE60101712T2 (de) Drucken mit vermindertem Verlaufen des Umrisses
DE60311565T2 (de) Tintenstrahldrucken
US5963216A (en) Providing print preview of a print job using printing calls from a print driver
DE69813991T2 (de) Zurückziehbare Wischerreinigungsvorrichtung für Tintenstrahldruckköpfe
DE69932378T2 (de) Automatisches Ausrichten von Druckköpfen
DE69332963T2 (de) Bildzufuhranlage, Bildausgabe-Anlage, Steuerungsanlage dafür, und diese umfassendes Bilderzeugungsgerät
DE60121687T2 (de) Drucker-Host und Speichermedium zum Speichern des Betriebsprogramms des Drucker-Hosts
EP0803840B1 (de) Vielseitige Massstabsveränderung von Zeichnungen
DE69829518T2 (de) Verfahren und Vorrichtung zur Schwadendatenverdichtung in Druckern
DE69920082T2 (de) Verfahren und Vorrichtung zur Bestimmung einer optimalen Druckdichte unter Benutzung von Druckkopfspeicherdaten in einem Tintenstrahldrucker
DE602004013253T2 (de) Verfahren zur Maskierung von ausgefallenen Druckelementen in einem Drucker
DE60224625T2 (de) Verfahren zur Einstellung/Änderung der Druckbedingungen und dazugehöriges Programm, Druckverfahren, Drucker und Steuervorrichtung
DE69835636T2 (de) Druckersteuerung und Drucker, der anpassbare Objektstreifenverarbeitung verwendet
DE60116002T2 (de) Druckanordnung die Maskenmuster verwendet mit Auflösungen, die nicht ganzzahlige Vielfache voneinander sind
DE60121079T2 (de) Minderung des Streifeneffektes in schrittweisem Druck
DE60033480T2 (de) Drucken mit tintenstrahl
DE69730190T2 (de) Tintenstrahldruckgerät und Verfahren zur Verminderung von Ungleichmässigkeiten in der Dichte eines gedruckten Bildes, verursacht durch die Abweichung in der Lage des Tintenauftrages
DE69731509T2 (de) Punktzuweisungsplanung in Tintenstrahldruckern
DE3725334A1 (de) Punktdrucker
DE60112835T2 (de) Drucken auf nichtuniforme überlappende Weise
DE69928634T2 (de) Vorrichtung zum Tintenstrahldrucken mit mehreren Zonen
DE69736880T2 (de) Bilderzeugungsgerät und -verfahren
US7537306B2 (en) Ink jet printing method and ink jet printing apparatus
DE112005000167T5 (de) Tintenstrahldrucker und Druckverfahren
EP0784901B1 (de) Verfahren und vorrichtung zum optischen einlesen einer dokumentvorlage mit einem scanner und zum bedrucken eines aufzeichnungsträgers mit einem drucker

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8328 Change in the person/name/address of the agent

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER & ZINKLER, 82049 PU

8364 No opposition during term of opposition