DE10000586A1 - Verfahren und Vorrichtung zum Verhindern von Drucküberläufen durch das Rasterisieren komplexer Seitenstreifen unter Verwendung eines Hilfsprozessors - Google Patents

Verfahren und Vorrichtung zum Verhindern von Drucküberläufen durch das Rasterisieren komplexer Seitenstreifen unter Verwendung eines Hilfsprozessors

Info

Publication number
DE10000586A1
DE10000586A1 DE10000586A DE10000586A DE10000586A1 DE 10000586 A1 DE10000586 A1 DE 10000586A1 DE 10000586 A DE10000586 A DE 10000586A DE 10000586 A DE10000586 A DE 10000586A DE 10000586 A1 DE10000586 A1 DE 10000586A1
Authority
DE
Germany
Prior art keywords
page
time
strip
printing
printer
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.)
Withdrawn
Application number
DE10000586A
Other languages
English (en)
Inventor
Randall D Briggs
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Co filed Critical Hewlett Packard Co
Publication of DE10000586A1 publication Critical patent/DE10000586A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data

Landscapes

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

Abstract

Ein Seitendrucker speichert eine Seitenverarbeitungsprozedur, die einen Code zum Umwandeln von Anzeigebefehlen in ein rasterisiertes Bild aufweist, und speichert ferner Anzeigebefehle, die mehreren Seitenstreifen einer Seite zugeordnet sind. Die Seite umfaßt N Seitenstreifen. Der Drucker umfaßt eine Druckmaschine, die angepaßt ist, um eine Seite pro X Zeiteinheiten zu drucken, einen Hilfsprozessor, der angepaßt ist, um in Verbindung mit der Seitenverarbeitungsprozedur wirksam zu sein, und einen Hauptprozessor. Der Hauptprozessor ist in Verbindung mit der Seitenverarbeitungsprozedur wirksam und (i) bestimmt einen Verarbeitungszeitbetrag, der erforderlich ist, um jeden Seitenstreifen einer Seite in rasterisierte Bilddaten zu verarbeiten; und (ii) bestimmt für einen Seitenstreifen, dessen Verarbeitungszeit X/N Zeiteinheiten überschreitet, ob, nachdem die Druckmaschine das Drucken der Seite begonnen hat, ausreichend Zeit verfügbar ist, um den Seitenstreifen von Anzeigebefehlen in ein rasterisiertes Bild umzuwandeln, bevor das rasterisierte Bild durch die Druckmaschine aufbereitet werden soll. Wenn dies der Fall ist, teilt der Hauptprozessor den Seitenstreifen zu, um durch den Hilfsprozessor verarbeitet zu werden. Andernfalls verarbeitet der Hauptprozessor den Seitenstreifen, wenn die Seitenstreifen-Verarbeitungszeit X/N Zeiteinheiten nicht überschreitet.

Description

Diese Erfindung bezieht sich auf Drucker und spezieller auf ein Verfahren und eine Vorrichtung zum Sicherstellen, daß ein Druckmechanismus mit konstanter Geschwindigkeit rasteri­ sierte Daten besitzt, die auf ein Drucken warten.
Bekannte Seitendrucker nehmen ein gesamtes Seitenbild auf, bevor irgendwelche Bilder auf einem Papier plaziert werden. Bei Druckern, die Lasermaschinen als den "Druckmechanismus" verwenden, müssen Daten mit einer Geschwindigkeit geliefert werden, die schnell genug ist, um mit der Druckaktion mitzu­ halten. Bei derartigen Druckern wird das Formatieren ent­ weder auf dem Host-Computer durchgeführt werden, wobei große Volumina rasterisierter Bilddaten mit hoher Geschwindigkeit zu dem Drucker verfrachtet werden, oder wird auf einem For­ matierer in dem Drucker selbst durchgeführt. Da eine Laser­ druckermaschine mit einer konstanten Geschwindigkeit arbei­ tet, tritt ein "Drucküberlauf" auf und die Seite ist nicht druckbar, wenn rasterisierte Bilddaten nicht verfügbar sind, nachdem ein vorheriges Segment von Bilddaten aufgedruckt wurde.
Verschiedene Verfahren wurden gemäß dem Stand der Technik verwendet, um Drucküberläufe zu vermeiden. Beispielsweise wurde eine vollständige Raster-Bittabelle einer gesamten Seite in dem Drucker gespeichert, derart, daß der Druckme­ chanismus stets rasterisierte Daten besitzt, die auf ein Drucken warten. Diese Lösung erfordert große Mengen eines Direktzugriffsspeichers für jede Seite. Ein Hauptverfahren, um die Verfügbarkeit von Druckdaten für einen Laserdrucker sicherzustellen, erzeugt eine Anzeigeliste und baut eine Seitenbeschreibung in zwei Schritten auf. Während einer For­ matierung wird eine Seitenbeschreibung, die von einem Host empfangen wird, in eine Reihe von einfachen Befehlen umge­ wandelt, die als Anzeigebefehle bezeichnet werden und die beschreiben, was gedruckt werden muß. Die Anzeigebefehle werden analysiert, woraufhin die beschriebenen Objekte in eine Raster-Bittabelle aufbereitet werden.
Gemäß dem Stand der Technik wurde das Hauptverfahren verbes­ sert, indem Anzeigebefehle entsprechend ihrer vertikalen Po­ sition auf einer Seite sortiert werden. Die Seite wird dann in Abschnitte unterteilt, die als Seitenstreifen bezeichnet werden, wobei die Seitenstreifen dann einzeln rasterisiert und zum Drucken zu der Druckmaschine geleitet werden. Wenn die Anzeigebefehle schnell genug rasterisiert werden, kann der gleiche Speicher, der verwendet wird, um einen ersten Seitenstreifen zu speichern, für einen nachfolgenden Seiten­ streifen weiter unten auf der Seite wieder verwendet werden. Jedoch werden unter bestimmten Umständen bestimmte Seiten­ streifen viele Anzeigebefehle umfassen und folglich eine größere Zeit als normal für die Rasterisierung benötigen.
Bei den früher verkauften Laserdruckern wurden drei Raster­ puffer verwendet, wobei der erste Puffer für einen vierten Streifen auf einer Seite wiederverwendet wird, der nächste für einen fünften Streifen wiederverwendet wird, usw. Im Fall eines komplexen Streifens könnte sich die Rasterisie­ rungszeit in einem solchen Ausmaß erhöhen, daß ein nachfol­ gender Seitenstreifen nicht rechtzeitig geliefert werden könnte, und daß ein Drucküberlauf auftreten würde.
In dem U.S.-Patent 5,129,049 ist ein Seitendrucker beschrie­ ben, der dem Problem begegnet, das durch komplexe Seiten­ streifen verursacht wird. Gemäß dem U.S.-Patent 5,129,049 wird jede Textseite in laterale Seitenstreifen unterteilt, wobei jedem Seitenstreifen eine Seitenstreifen-Rasterisie­ rungszeit basierend auf der Seitendruckzeit des Druckers zugeordnet wird. Eine Rasterisierungszeit für jeden Seiten­ streifen wird dann basierend auf der Komplexität der Anzei­ gebefehle, die in dem Seitenstreifen enthalten sind, berech­ net. Wenn die Rasterisierungszeit für einen Seitenstreifen die zugeordnete Seitenstreifen-Rasterisierungszeit über­ schreitet, was einen "komplexen" Seitenstreifen anzeigt, wird der Seitenstreifen rasterisiert, bevor die Druckmaschi­ ne hochgefahren wird. Andernfalls werden die Anzeigebefehle für den Seitenstreifen in eine Warteschlange eingebracht und in der Reihenfolge, wie sie erreicht werden, rasterisiert, nachdem die Druckmaschine das Drucken begonnen hat. Immer wenn ein komplexer Seitenstreifen für eine Verarbeitung er­ reicht wird, wird unmittelbar auf seine vor-rasterisierte Version zugegriffen und dieselbe wird verwendet, wodurch ein Drucküberlauf verhindert wird.
Ein Nachteil des in dem U.S.-Patent 5,129,049 beschriebenen Verfahrens besteht darin, daß der Seitendurchsatz für den Drucker durch die Vorrasterisierungsaktionen etwas beein­ trächtigt wird, da Zeit verwendet werden muß, um die Vorra­ sterisierung zu erreichen, bevor das Papier beginnt, sich durch den Drucker zu bewegen. Diese Verzögerung, die sich zu anderen Seitenverarbeitungszeiten hinzufügt, bewirkt eine Begrenzung der Seitendruckfähigkeit des Druckers.
In dem U.S.-Patent 5,444,827 ist ein Seitendrucker offen­ bart, der einen variablen Frequenztakt zum Erzeugen von zu­ mindest zwei Taktfrequenzen aufweist, von denen eine höher ist als die andere. Der Seitendrucker speichert eine Seiten­ verarbeitungsprozedur und Daten, die vollständige Seiten­ streifen aufweisen. Ein Prozessor arbeitet bei der ersten Taktfrequenz in Verbindung mit der Seitenverarbeitungsproze­ dur und leitet eine Rasterisierungs-Ausführungszeit (RET; RET = rasterization execution time) für Anzeigebefehle, die in jedem Seitenstreifen einer Seite gedruckt werden sollen, ab. Der Prozessor vergleicht die RET für jeden Seitenstrei­ fen mit einem Schwellenwert und rasterisiert auf eine her­ kömmliche Art und Weise jeden Seitenstreifen, dessen RET gleich oder kleiner als ein Schwellenwert ist (während der­ selbe unter dem Einfluß der ersten Taktfrequenz arbeitet).
Wenn ein komplexer Seitenstreifen gefunden wird (dessen RET die Schwelle überschreitet), wird der variable Frequenztakt gesteuert, um das Taktsignal mit der höheren Hauptfrequenz zu erzeugen, was bewirkt, daß der Prozessor bei einer Rate arbeitet, die durch die höhere Taktfrequenz bestimmt ist, so daß Anzeigebefehle in dem komplexen Seitenstreifen mit einer höheren Geschwindigkeit rasterisiert werden. Obwohl das Ver­ fahren, das in dem U.S.-Patent 5,444,827 offenbart ist, eine Rasterisierung komplexer Seitenstreifen während eines Durch­ laufs (on-the-fly) ermöglicht, könnte ein verlängerter Be­ trieb des Prozessors bei der höheren Taktfrequenz zu Über­ hitzungsproblemen führen.
Die Aufgabe der vorliegenden Erfindung besteht darin, einen Seitendrucker und ein Verfahren zu schaffen, bei denen die Möglichkeit von Seitenüberläufen bei einem Druckmechanismus konstanter Geschwindigkeit reduziert ist und die eine gerin­ ge Druckzeit ermöglichen.
Diese Aufgabe wird durch einen Seitendrucker gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 4 gelöst.
Es ist ein Ziel der vorliegenden Erfindung, eine verbesserte Vorrichtung und ein verbessertes Verfahren zu schaffen, bei denen Drucküberläufe verhindert sind, und die eine Rasteri­ sierung zumindest bestimmter komplexer Seitenstreifen wäh­ rend eines Druckdurchlaufs ermöglichen, ohne zu Überhit­ zungsproblemen zu führen.
Ein Seitendrucker speichert eine Seitenverarbeitungsproze­ dur, die einen Code zum Umwandeln von Anzeigebefehlen in ein rasterisiertes Bild enthält, und speichert ferner Anzeige­ befehle, die mehreren Seitenstreifen einer Seite zugeordnet sind. Die Seite umfaßt N Seitenstreifen. Der Drucker umfaßt eine Druckmaschine, die angepaßt ist, um eine Seite pro X Zeiteinheiten zu drucken, einen Hilfsprozessor, der angepaßt ist, um in Verbindung mit der Seitenverarbeitungsprozedur zu arbeiten, und einen Hauptprozessor. Der Hauptprozessor ist in Verbindung mit der Seitenverarbeitungsprozedur wirksam und (i) bestimmt einen Verarbeitungszeitbetrag, der erfor­ derlich ist, um jeden Streifen einer Seite in rasterisierte Bilddaten zu verarbeiten; und (ii) bestimmt für jeden Sei­ tenstreifen, dessen Verarbeitungszeit X/N Zeiteinheiten überschreitet, ob ausreichend Zeit verfügbar ist, sobald die Druckmaschine das Drucken der Seite begonnen hat, um den Seitenstreifen aus Anzeigebefehlen in ein rasterisiertes Bild umzuwandeln, bevor das rasterisierte Bild durch die Druckmaschine aufbereitet werden soll. Wenn dies der Fall ist, weist der Hauptprozessor den Seitenstreifen zu, um durch den Hilfsprozessor verarbeitet zu werden. Andernfalls verarbeitet der Hauptprozessor den Seitenstreifen, wenn die Seitenstreifen-Verarbeitungszeit X/N Zeiteinheiten nicht überschreitet.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich­ nungen näher erläutert. Es zeigen:
Fig. 1 einen Umriß einer Seite und ferner, wie die Seite in zehn benachbarte Seitenstreifen unterteilt ist;
Fig. 2 ein grobes Blockdiagramm eines Druckers, der die Erfindung verkörpert; und
Fig. 3 und 4 ein grobes Flußdiagramm, das das Verfahren der Erfindung beschreibt.
Bezugnehmend auf Fig. 1 behandelt ein Seitendrucker, der die Erfindung verkörpert, eine Seite 20 als eine Reihe von Streifen. Beispielsweise sind zehn Streifen gezeigt, von denen jeder einen horizontalen Abschnitt der Seite 20 be­ deckt. Die Wahl von zehn Streifen ist lediglich exempla­ risch, wobei andere Seitenstreifenzuordnungen betrachtet werden können. Text, Graphiken und dergleichen, die in einem beliebigen der Streifen erscheinen, werden während der Ver­ arbeitung einer Seite getrennt behandelt. Wenn angenommen wird, daß der Seitendrucker die Fähigkeit besitzt, acht Sei­ ten pro Minute zu erzeugen, wird jede Seite in 7,5 Sekunden erzeugt. Da zehn Streifen existieren, wird jedem Streifen willkürlich eine Seitenstreifen-Rasterisierungszeit (PSRT; PSRT = page strip rasterization time) von 0,75 Sekunden zu­ geordnet. Im groben zeigt PSRT die verfügbare Zeit für die Verarbeitung (d. h. die Rasterisierung) einer Reihe von An­ zeigebefehlen in einem Seitenstreifen an. Wenn die Rasteri­ sierung innerhalb einer PSRT stattfinden kann, ist der Sei­ tendrucker in der Lage, seine spezifizierte Seitendruckrate beizubehalten.
In Fig. 2 ist ein grobes Blockdiagramm eines Seitendruckers 28, der die Erfindung verkörpert, gezeigt. Der Seitendrucker umfaßt mehrere Mikroprozessoren, beispielsweise einen Hilfs­ mikroprozessor 29 und einen Hauptmikroprozessor 30. Das Vor­ sehen von zwei Mikroprozessoren dient zu beispielhaften Zwecken, wobei zu realisieren ist, daß weitere Mikroprozes­ soren vorgesehen werden können, um noch größere Verhaltens­ verbesserungen zu ermöglichen. Es sei angenommen, daß der Hauptmikroprozessor 30 eine primäre Steuerung des Druckers 28 liefert und zusätzlich mit anderen Elementen des Druckers 28 über einen Bus 32 kommuniziert. Eine Druckmaschinensteue­ rung 34 und eine zugeordnet Druckmaschine 36 sind mit dem Bus 32 verbunden und liefern die Druckausgabefähigkeit für den Drucker 28. Die Druckmaschine 36 ist vorzugsweise ein Laserdrucker, der ein Bilderzeugungssystem mit einer elek­ trophotographischen Trommel verwendet, wie es in der Technik gut bekannt ist.
Ein I/O-Tor 38 liefert Kommunikationen zwischen dem Drucker 28 und einem Host-Computer (nicht gezeigt), wobei dasselbe Seitenbeschreibungen für eine Verarbeitung von dem Host emp­ fängt. Ein dynamischer Direktzugriffsspeicher (DRAM; DRAM = dynamic random access memory) 40 liefert einen Direktzu­ griffsspeicher für den Drucker 28. Ein Abschnitt des DRAM 40 (der getrennt gezeigt ist), umfaßt drei im voraus zugeordne­ te Puffer 42, 44 und 46, die während einer Seitenstreifen­ verarbeitung verwendet werden. Die Seitenstreifenpuffer 42, 44 und 46 werden im voraus zugeordnet. Während des Druckver­ fahrens empfängt jeder einen Seitenstreifen, der Anzeigebe­ fehle enthält, wobei dieser Seitenstreifen dann in ein ra­ sterisiertes Bild umgewandelt und zu der Druckmaschinen­ steuerung 34 und der Druckmaschine 36 geleitet wird. Erst nachdem einer der Puffer 42, 44 oder 46 verfügbar geworden ist, kann ein neuer Seitenstreifen eingebracht werden.
Ein Nur-Lese-Speicher 48 (ROM; ROM = read only memory) hält Firmware, die den Betrieb des Seitendruckers steuert. Unter den Code-Prozeduren, die in dem ROM 48 gespeichert sind, sind die folgenden: ein Seitenumwandler, ein Rasterisierer, ein Seitendruck-Zeitablaufgeber (der ein Seitenschutzmerkmal einschließt) und ein Druckmaschinenverwalter. Die Seitenum­ wandler-Firmware wandelt eine Seitenbeschreibung, die von dem Host empfangen wird, in eine Anzeigebefehlsliste um. Je­ der Anzeigebefehl definiert ein Objekt, das auf der Seite gedruckt werden soll. Die Rasterisierer-Firmware wandelt je­ den Anzeigebefehl in eine geeignete Bittabelle um, die durch die Druckmaschinensteuerung 34 zu der Druckmaschine 36 ge­ leitet wird, und ermöglicht die Erzeugung von Text/Graphiken und dergleichen. Der Seitendruck-Zeitablaufgeber steuert den Zeitablauf und die Übertragung von den Seitenstreifenpuffern zu der Druckmaschinensteuerung 34. Der Druckmaschinenverwal­ ter steuert den Betrieb der Druckmaschinensteuerung 34 und wiederum der Druckmaschine 36.
In dem Seitendruck-Ablaufgeber befindet sich eine Seiten­ schutzprozedur 49, die sicherstellt, daß während der Verar­ beitung einer Seite kein Drucküberlauf stattfindet, und die das Verfahren der Erfindung zusammen mit den Mikroprozesso­ ren 29 und 30 durchführt.
Der Betrieb des Seitendruckers, der in Fig. 2 gezeigt ist, beginnt, wenn derselbe eine Seitenbeschreibung von einem Host-Computer über das I/O-Tor 38 empfängt. Die Seitenbe­ schreibung wird in dem DRAM 40 plaziert, woraufhin der Mi­ kroprozessor 30 auf die Seitenbeschreibung Linie um Linie zugreift und eine Anzeigebefehlsliste unter Verwendung der Seitenumwandler-Firmware in dem ROM 48 aufbaut. Die Anzei­ gebefehlsliste ist ein Satz von Befehlen, die beschreiben, was gedruckt werden muß, und bildet eine Zwischenbeschrei­ bung der Seite, die nachfolgend in eine rasterisierte Bit­ tabelle, die von der Druckmaschine 36 verwendet wird, umge­ wandelt wird. Während die Anzeigebefehlsliste erzeugt wird, werden die Anzeigebefehle nach ihrem Ort auf der Seite sor­ tiert und Seitenstreifen zugeordnet.
Während der Zeit, zu der die Seitenbeschreibung in Anzeige­ befehle umgewandelt wird, wird jeder Befehl untersucht, wo­ bei seine Rasterisierungsausführungszeit (RET) herausgefun­ den wird. Die Anzeigebefehle werden dann positionsmäßig sor­ tiert und den verschiedenen Seitenstreifen zugewiesen, wobei die RETs für alle Anzeigebefehle, die jedem Streifen zuge­ wiesen sind, summiert werden, um eine Gesamt-RET für jeden Streifen abzuleiten.
RET ist die Zeit, die benötigt wird, um ein Objekt aus sei­ ner Anzeigebefehlsform in eine rasterisierte Form aufzube­ reiten. Es ist bekannt, daß die Rasterisierungszeit auf die Größe eines Objekts bezogen ist, wobei ferner herausgefunden wurde, daß die Rasterisierungszeit herausgefunden werden kann, indem drei getrennte Koeffizienten summiert werden. Der erste Koeffizient wird als "Allgemeinaufwand" bezeichnet und ist der festgelegte Zeitbetrag, den ein Mikroprozessor für ein Objekt unabhängig von seiner Größe verwendet. Der Hauptkoeffizient ist der "Höhenaufwand", der proportional zu der Objekthöhe ist, unabhängig von der Breite desselben. Der dritte Koeffizient dieser Summe wird als "Wortaufwand" be­ zeichnet und ist proportional zu der Anzahl von Worten, die in den Bestimmungsbittabellenstreifen geschrieben sind, un­ abhängig von der Objekthöhe. Die Beziehung zwischen der tat­ sächlichen RET eines Objekts und dem Verfahren des Vorhersa­ gens der RET ist unabhängig von dem verwendeten Rasterisie­ rungsalgorithmus und der Ausführungsgeschwindigkeit des Mi­ kroprozessors. Folglich können zusätzliche Koeffizienten als brauchbar betrachtet werden, abhängig von dem speziell ver­ wendeten Rasterisierungsalgorithmus.
Die RET für alle Objekte (beispielsweise Vektoren, Trapezoi­ de, Bittabellen) können folglich im voraus bestimmt werden, jede mit einem unterschiedlichen Satz von Koeffizienten. So­ bald die Koeffizienten für verschiedene erwartete Objekte bestimmt sind, werden dieselben in einer Tabelle gespei­ chert, wobei nachfolgend darauf zugegriffen wird, wenn der Typ und die Abmessungen eines Objekts, das gedruckt werden soll, bekannt werden. Folglich kann die RET für jeglichen Anzeigebefehl ohne weiteres mittels einer Nachschlagtabelle von vor-berechneten Koeffizienten, gefolgt von einer Berech­ nung der Summe der Koeffizienten, oder modifiziert durch die Objektgröße, bestimmt werden.
Wie nun zu sehen sein wird, berechnet der Seitendrucker wäh­ rend einer Seitenzusammensetzung die Größe eines Objekts, wenn der Anzeigebefehl desselben in der Anzeigebefehlsliste plaziert wird. Bei einer gegebenen Größe des Objekts und seinen Komplexitätskoeffizienten wird die Gesamtzeit, die benötigt wird, um das Objekt in eine rasterisierte Form auf­ zubereiten, zu der RET der Objekte hinzugefügt, die bereits in der Liste enthalten sind. Sobald die Seitenzusammenset­ zung vollständig ist, ist eine Gesamt-RET, die benötigt wird, um die gesamte Anzeigeliste aufzubereiten, bekannt, ebenso wie die Zeit, die erforderlich ist, um jeden einzel­ nen Seitenstreifen aufzubereiten.
An diesem Punkt wird die zusammengesetzte Seite für ein Drucken zu einer Seitendruckzeitablaufsteuerung, die in dem ROM 48 enthalten ist, übergeben. Die Seitendruckzeitablauf­ steuerungs-Firmware enthält eine Seitenschutzprozedur 49, die Drucküberläufe als ein Ergebnis davon, daß ein beliebi­ ger Streifen eine längere Rasterisierungszeit als PSRT benö­ tigt, verhindert.
Das Verfahren der Erfindung wird unter der Steuerung der Seitenschutzprozedur 49 durchgeführt und wird in Verbindung mit dem Flußdiagramm, das in den Fig. 3 und 4 gezeigt ist, beschrieben. Anfänglich empfängt und speichert der Seiten­ drucker eine Seitenbeschreibung von dem Host-Computer (Schritt 100). Der Hauptmikroprozessor 30 ruft dann den Sei­ tenumwandlercode von dem ROM 48 auf, der wiederum die Sei­ tenbeschreibung analysiert und eine Anzeigebefehlsliste er­ zeugt (Schritt 102). Jeder Anzeigebefehl wird untersucht, wobei seine Rasterisierungsausführungszeit (RET) herausge­ funden wird (Schritt 104). Die Anzeigebefehle werden dann gemäß ihrer vertikalen Position auf der Seite sortiert (Schritt 106) und entsprechend der vertikalen Abmessung je­ des Seitenstreifens Seitenstreifen zugewiesen (Schritt 108).
Die Seitenschutzprozedur beginnt damit, eine Gesamt-RET für alle Anzeigebefehle für jeden Streifen zu berechnen (Schritt 109). Nachfolgend wird auf die Seitenstreifen-Rasterisie­ rungszeit-Konstante (PSRT-Konstante) zugegriffen (Schritt 110). PSRT kann entweder vorher berechnet und gespeichert sein, oder berechnet werden, indem die Seitendruckzeit durch die Anzahl von Seitenstreifen geteilt wird.
Nun wird auf einen ersten Seitenstreifen von N Seitenstrei­ fen (d. h. N = 1) zugegriffen, ebenso wie auf den Gesamt- RET-Wert desselben. Ein Hilfsverarbeitungszeitwert (AUX_PROC_TIME) wird auf 0 eingestellt (Schritt 112). Der Hilfsverarbeitungszeitwert ist die Zeit, um eine Rasterisie­ rungsaufgabe für einen komplexen Seitenstreifen abzu­ schließen, wobei diese Aufgabe dem Hilfsmikroprozessor zuge­ wiesen wurde. Wenn auf den ersten Seitenstreifen zugegriffen wird, wurde dem Hilfsmikroprozessor 29 noch keine Aufgabe zugewiesen, so daß der Wert auf 0 eingestellt wird.
Die Gesamt-Streifen-RET wird dann mit PSRT verglichen, um zu bestimmen, ob die Rasterisierungszeit desselben geringer ist als PSRT (Entscheidungsschritt 114). Wenn dies der Fall ist, wird der Seitenstreifen einer "einfachen" Rasterisierungs­ warteschlange für eine Rasterisierung während eines Druck­ durchlaufs durch den Hauptmikroprozessor 30 (Schritt 116) zugewiesen. Wenn dies nicht der Fall ist, springt die Proze­ dur zu einem Entscheidungsschritt 118, in dem bestimmt wird, ob die Summe des momentanen Hilfsverarbeitungszeitwerts und von RET für den Streifen, der momentan verarbeitet wird, ge­ ringer oder gleich der Nummer des momentanen Seitenstrei­ fens, der rasterisiert werden soll, multipliziert mit PSRT ist. Spezieller heißt das, daß diese Berechnung bestimmt, ob die Summe der Zeit, die für Streifenrasterisierungsaufgaben, die bereits dem Hilfsmikroprozessor 29 zugewiesen sind, er­ forderlich ist, zuzüglich des Zeitbetrags, der erforderlich ist, um den momentanen Seitenstreifen zu rasterisieren, ge­ ringer oder gleich der verfügbaren Zeit ist, bevor der näch­ ste Seitenstreifen eine Rasterisierung erfordert. Wenn für den momentanen Seitenstreifen beispielsweise N = 4 gilt, zeigt die Berechnung, daß eine maximale Zeit von 4 . PSRT verfügbar ist, um die Rasterisierung des momentanen Strei­ fens zu erreichen, bevor der Streifen für eine Aufbereitung für die Seite zu der Druckmaschine geliefert werden muß.
Wenn der Entscheidungsschritt folglich ja bestimmt (d. h., daß der Hilfsprozessor 29 ausreichend Zeit besitzt, um den Seitenstreifen zu rasterisieren, bevor derselbe für die Druckmaschine erforderlich ist), wird der Seitenstreifen ei­ ner "komplexen" Warteschlange für eine Rasterisierung "wäh­ rend eines Druckdurchlaufs" (on-the-fly) durch den Hilfsmi­ kroprozessor 29 zugewiesen (Schritt 120). Ferner wird der Hilfsverarbeitungszeitwert um den RET-Wert für den momenta­ nen Seitenstreifen erhöht.
Wenn der Entscheidungsschritt "nein" bestimmt, wird der Sei­ tenstreifen durch einen der Mikroprozessoren, abhängig von der Verfügbarkeit, vor-rasterisiert, wobei der Seitenstrei­ fen einer Vorrasterisierungswarteschlange (Schritt 122) zu­ gewiesen wird. Dies trägt an dem Punkt, an dem der momentane Seitenstreifen für die Druckmaschine erforderlich ist, um eine Rasterisierungsaktion während des Druckdurchlaufs un­ terzubringen, dem Zustand Rechnung, bei dem nicht ausrei­ chend Zeit verfügbar ist.
Als nächstes wird der Wert von N um 1 inkrementiert (Schritt 124), wobei ein Entscheidungsschritt 126 bestimmt, ob alle Streifen verarbeitet wurden. Wenn dies nicht der Fall ist, springt die Prozedur zu dem Entscheidungsschritt 114 zurück und fährt fort. Wenn dies der Fall ist, ist die Seitenraste­ risierungseinstellung vollständig (Schritt 128). In einem solchen Fall beginnen die Prozessoren 29 und 30, die Seiten­ streifen zu rasterisieren, während die Druckmaschine eben­ falls in Gang gesetzt wird (beispielsweise beginnt das Pa­ pier, sich durch den Druckweg zu bewegen). Der Druckmaschi­ nenverwalter greift der Reihe nach und entsprechend der re­ lativen Positionen derselben auf der Seite auf die Seiten­ streifen aus den Seitenstreifenwarteschlangen zu.
Es ist folglich zu erkennen, daß die Prozedur der Erfindung einen Hilfsmikroprozessor verwendet, um eine Rasterisierung komplexer Seitenstreifen während eines Druckdurchlaufs (on- the-fly) zu erreichen, solange ausreichend Zeit verfügbar ist, um die Rasterisierung zu erreichen, wobei der Seiten­ streifen für eine Übertragung zu der Druckmaschine bereit ist, wenn der Seitenstreifen aufbereitet werden soll.
Es ist klar, daß die vorhergehende Beschreibung lediglich veranschaulichend für die Erfindung ist. Verschiedene Alter­ nativen und Modifikationen können durch Fachleute entwickelt werden, ohne von der Erfindung abzuweichen. Obwohl die Er­ findung in einer Laserdruckerumgebung beschrieben wurde, ist dieselbe gleichermaßen auf andere Druckertypen anwendbar, die Problemen vom Drucküberlauftyp ausgesetzt sind (bei­ spielsweise Tintenstrahldrucker). Folglich ist die vorlie­ gende Erfindung derart zu betrachten, daß dieselbe alle der­ artigen Alternativen, Modifikationen und Abweichungen bein­ haltet, die in den Schutzbereich der beigefügten Ansprüche fallen.

Claims (6)

1. Seitendrucker (28) zum Speichern einer Seitenverarbei­ tungsprozedur, die einen Code zum Umwandeln von Anzei­ gebefehlen in ein rasterisiertes Bild und ferner zum Speichern von Anzeigebefehlen, die mehreren Seiten­ streifen einer Seite zugeordnet sind, umfaßt, wobei die Seite N Seitenstreifen aufweist, wobei der Seiten­ drucker (28) eine Druckmaschine (36) enthält, die an­ gepaßt ist, um eine Seite pro X Zeiteinheiten zu drucken, wobei der Seitendrucker ferner folgende Merk­ male aufweist:
einen Hilfsprozessor (29), der angepaßt ist, um in Verbindung mit der Seitenverarbeitungsprozedur wirksam zu sein; und
einen Hauptprozessor (30), der in Verbindung mit der Seitenverarbeitungsprozedur wirksam ist, um (i) einen Verarbeitungszeitbetrag zu bestimmen, der erforderlich ist, um jeden Seitenstreifen einer Seite in rasteri­ sierte Bilddaten zu verarbeiten; (ii) für einen Sei­ tenstreifen, dessen Verarbeitungszeit X/N Zeiteinhei­ ten überschreitet, zu bestimmen, ob, sobald die Druck­ maschine (36) das Drucken der Seite begonnen hat, aus­ reichend Zeit verfügbar ist, um den Seitenstreifen aus Anzeigebefehlen in ein rasterisiertes Bild umzuwan­ deln, bevor das rasterisierte Bild durch die Druckma­ schine (36) in die Seite aufbereitet werden soll, und, wenn dies der Fall ist, Zuteilen des Seitenstreifens, um durch den Hilfsprozessor (29) verarbeitet zu wer­ den; und (iii) für einen Seitenstreifen, dessen Verar­ beitungszeit X/N Zeiteinheiten nicht überschreitet, Zuteilen des Seitenstreifens, um durch den Hauptpro­ zessor (30) verarbeitet zu werden.
2. Seitendrucker (28) gemäß Anspruch 1, bei dem, wenn der Hauptprozessor (30) für einen Seitenstreifen, dessen Verarbeitungszeit X/N Zeiteinheiten überschreitet, be­ stimmt, daß, sobald die Druckmaschine (36) das Drucken der Seite begonnen hat, nicht ausreichend Zeit exi­ stiert, um den Seitenstreifen von Anzeigebefehlen in ein rasterisiertes Bild umzuwandeln, bevor das raste­ risierte Bild durch die Druckmaschine (36) in die Sei­ te aufbereitet werden soll, der Hauptprozessor (30) bewirkt, daß der Seitenstreifen vor dem Beginn des Druckens durch die Druckmaschine (36) verarbeitet wird.
3. Seitendrucker (28) gemäß Anspruch 2, bei dem der Hauptprozessor (30) für jeden Seitenstreifen, dessen Verarbeitungszeit X/N Zeiteinheiten überschreitet, be­ stimmt, ob ein ausreichender Zeitbetrag verfügbar ist, um den Seitenstreifen zu verarbeiten, indem ein Zeit­ betrag herausgefunden wird, der verfügbar ist, bevor das Drucken des Seitenstreifens beginnen soll, und be­ stimmt, ob der Zeitbetrag geringer oder größer ist als die Zeit, die erforderlich ist, um den Seitenstreifen und jeden weiteren Seitenstreifen, dessen Verarbei­ tungszeit X/N Zeiteinheiten überschreitet, der zuerst verarbeitet werden muß, zu verarbeiten.
4. Verfahren zum Steuern eines Seitendruckers (28), der Anzeigebefehle in mehreren Seitenstreifen in rasteri­ sierte Bilder umwandelt, wobei jede Seite N Seiten­ streifen umfaßt, wobei der Seitendrucker (28) eine Druckmaschine (36), die angepaßt ist, um eine Seite pro X Zeiteinheiten zu drucken, und zumindest einen Hilfsprozessor (29) und einen Hauptprozessor (30) auf­ weist, wobei das Verfahren folgende Schritte aufweist:
  • a) Bestimmen eines Verarbeitungszeitbetrags, der erforderlich ist, um jeden Seitenstreifen einer Seite in rasterisierte Bilddaten zu verarbei­ ten;
  • b) für einen Seitenstreifen, dessen Verarbeitungs­ zeit X/N Zeiteinheiten überschreitet, Bestim­ men, ob, sobald die Druckmaschine (36) das Drucken der Seite begonnen hat, ausreichend Zeit verfügbar ist, um den Seitenstreifen von Anzeigebefehlen in ein rasterisiertes Bild um­ zuwandeln, bevor das rasterisierte Bild durch die Druckmaschine (36) in die Seite aufbereitet werden soll;
  • c) wenn ja, Zuteilen des Seitenstreifens, um durch den Hilfsprozessor (29) verarbeitet zu werden; und
  • d) für einen Seitenstreifen, dessen Verarbeitungs­ zeit X/N Zeiteinheiten nicht überschreitet, Zu­ teilen des Seitenstreifens, um durch den Haupt­ prozessor (30) verarbeitet zu werden.
5. Verfahren gemäß Anspruch 4, das für einen Seitenstrei­ fen, dessen Verarbeitungszeit X/N Zeiteinheiten über­ schreitet, und für den, sobald die Druckmaschine (36) das Drucken der Seite begonnen hat, nicht ausreichend Zeit existiert, um den Seitenstreifen aus Anzeigebe­ fehlen in ein rasterisiertes Bild umzuwandeln, bevor das rasterisierte Bild durch die Druckmaschine (36) in die Seite aufbereitet werden soll, ferner folgenden Schritt aufweist: Verarbeiten des Seitenstreifens vor dem Beginnen des Druckens durch die Druckmaschine (36).
6. Verfahren gemäß Anspruch 5, bei dem für jeden Seiten­ streifen, dessen Verarbeitungszeit X/N Zeiteinheiten überschreitet, der Schritt (ii) bestimmt, ob ein aus­ reichender Zeitbetrag verfügbar ist, um den Seiten­ streifen zu verarbeiten, indem ein Zeitbetrag heraus­ gefunden wird, der verfügbar ist, bevor das Drucken des Seitenstreifens beginnen soll, und bestimmt, ob der Zeitbetrag kleiner oder größer ist als die Zeit, die erforderlich ist, um den Seitenstreifen und jegli­ chen anderen Seitenstreifen, dessen Verarbeitungszeit X/N Zeiteinheiten überschreitet und der zuerst verar­ beitet werden muß, zu verarbeiten.
DE10000586A 1999-04-26 2000-01-10 Verfahren und Vorrichtung zum Verhindern von Drucküberläufen durch das Rasterisieren komplexer Seitenstreifen unter Verwendung eines Hilfsprozessors Withdrawn DE10000586A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/299,833 US6359700B1 (en) 1999-04-26 1999-04-26 Method and apparatus for preventing print overruns by rasterizing complex page strips using an auxiliary processor

Publications (1)

Publication Number Publication Date
DE10000586A1 true DE10000586A1 (de) 2000-11-02

Family

ID=23156498

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10000586A Withdrawn DE10000586A1 (de) 1999-04-26 2000-01-10 Verfahren und Vorrichtung zum Verhindern von Drucküberläufen durch das Rasterisieren komplexer Seitenstreifen unter Verwendung eines Hilfsprozessors

Country Status (2)

Country Link
US (1) US6359700B1 (de)
DE (1) DE10000586A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7691824B2 (en) 2006-04-28 2010-04-06 Alnylam Pharmaceuticals, Inc. Compositions and methods for inhibiting expression of a gene from the JC virus
US7888498B2 (en) 2006-05-22 2011-02-15 Alnylam Pharmaceuticals, Inc. Compositions and methods for inhibiting expression of IKK-B gene

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL134882A0 (en) * 1998-07-06 2001-05-20 Creoscitex Corp Ltd A system and method for efficient printing of variable information documents
US6952275B2 (en) * 1998-07-06 2005-10-04 Creo Il. Ltd. System and method for efficient printing of variable information documents
KR100396548B1 (ko) * 2001-01-10 2003-09-03 삼성전자주식회사 프린팅 속도를 향상시키는 프린터 제어 장치 및 그 방법
US6621586B1 (en) * 2002-04-10 2003-09-16 Texas Instruments Incorporated Accurately scheduling rendering of bands in a printer
CN100351857C (zh) * 2005-01-07 2007-11-28 北京北大方正电子有限公司 一种能够减少打印内存需求的打印控制方法
JP4396670B2 (ja) * 2006-07-24 2010-01-13 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、画像形成方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129049A (en) 1991-05-16 1992-07-07 Hewlett-Packard Company Method and apparatus for preventing print overruns
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
US5444827A (en) 1994-05-23 1995-08-22 Hewlett-Packard Company Method and apparatus for preventing print overruns by rasterizing complex page strips using an increased clock frequency
US6115135A (en) * 1998-04-22 2000-09-05 Hewlett-Packard Company Freeing memory in a page printer during duplex processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7691824B2 (en) 2006-04-28 2010-04-06 Alnylam Pharmaceuticals, Inc. Compositions and methods for inhibiting expression of a gene from the JC virus
US7888498B2 (en) 2006-05-22 2011-02-15 Alnylam Pharmaceuticals, Inc. Compositions and methods for inhibiting expression of IKK-B gene

Also Published As

Publication number Publication date
US6359700B1 (en) 2002-03-19

Similar Documents

Publication Publication Date Title
DE4106458C2 (de) Graphische Datenverarbeitungseinrichtung zum Erzeugen eines Tones eines Randbildelements aus Vektordaten
DE10317917B4 (de) System und Verfahren zum Umgrenzen und Klassifizieren von Regionen innerhalb einer graphischen Abbildung
US8412066B2 (en) Test image print variations for print quality analysis
EP0654778A1 (de) Verfahren zur Textdarstellung auf Bildschirmgeräten
DE19514799A1 (de) Druckvorrichtung, Drucksteuerverfahren und Zeichenfontmustersteuerverfahren in einer Druckvorrichtung
DE102006056858A1 (de) Druckqualität prüfendes System und Druckqualität prüfendes Verfahren
DE69730268T2 (de) Verfahren und System zur Bestimmung von Farbmittelmengen
DE10000586A1 (de) Verfahren und Vorrichtung zum Verhindern von Drucküberläufen durch das Rasterisieren komplexer Seitenstreifen unter Verwendung eines Hilfsprozessors
US5444827A (en) Method and apparatus for preventing print overruns by rasterizing complex page strips using an increased clock frequency
DE3914905C2 (de)
DE69825680T2 (de) Drucker mit prozedur zur muster-feldeinteilung und -skalierung
DE10352395B4 (de) Speicherverwaltungsverfahren, Verfahren zum Speichern von Druckauftragsdaten sowie entsprechendes maschinenlesbares Medium und System
EP2092465B1 (de) Verfahren und system zum automatischen aufbereiten von druckdaten für einen druckvorgang
DE102004016230A1 (de) Bildverbesserung unter Verwendung einer Teilschablonenübereinstimmungsüberprüfung
EP3282354B1 (de) Verfahren zur verbesserung der druckqualität von grafikelementen
DE69931435T2 (de) Bandweise Rasterung von Druckdaten
DE69634073T2 (de) Verfahren zum Drucken mit Überlagerungsmustern
DE10311045A1 (de) System und Verfahren zum Drucken kopiergeschützter Dokumente
DE69333212T2 (de) Datenverarbeitungs- und Ausgabegerät
DE10211896A1 (de) Vorrichtung und Verfahren zum Bilden verarbeiteter Daten
DE69333652T2 (de) Ausgabevorrichtung und Verfahren
DE10045180B4 (de) Vorrichtung und Verfahren zum Erzeugen einer sichtbaren Ausgabe eines Dokuments aus einem Druckauftrag
DE10321952B4 (de) Verfahren und Vorrichtung sowie Computer-lesbares Medium zur Durchführung eines Verfahrens zum Weiterleiten eines auf eine Bilderzeugung bezogenen Auftrags
DE19854702C1 (de) Freimachen von Speicher in einem Seitendrucker während der Duplexverarbeitung
DE69630566T2 (de) Ununterbrochenes Drucken durch Auflösungsverringerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal