DE69322691T2 - Druckdatenverarbeitungsvorrichtung - Google Patents

Druckdatenverarbeitungsvorrichtung

Info

Publication number
DE69322691T2
DE69322691T2 DE69322691T DE69322691T DE69322691T2 DE 69322691 T2 DE69322691 T2 DE 69322691T2 DE 69322691 T DE69322691 T DE 69322691T DE 69322691 T DE69322691 T DE 69322691T DE 69322691 T2 DE69322691 T2 DE 69322691T2
Authority
DE
Germany
Prior art keywords
data
buffer
attribute
buffers
print data
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 - Fee Related
Application number
DE69322691T
Other languages
English (en)
Other versions
DE69322691D1 (de
Inventor
Masatoshi Matsuhira
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Application granted granted Critical
Publication of DE69322691D1 publication Critical patent/DE69322691D1/de
Publication of DE69322691T2 publication Critical patent/DE69322691T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes

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)

Description

  • Die vorliegende Erfindung betrifft eine Druckdatenverarbeitungsvorrichtung.
  • In bezug auf Seriendrucker, die auf einem Druckmedium drucken, indem sie einen Druckkopf veranlassen, eine Mehrzahl aufeinanderfolgender paralleler Abtastlinien abzutasten, sind bisher verschiedene Verfahren zum Drucken vergrößerter Zeichen, deren Höhe die doppelte Höhe normaler Zeichen beträgt und die Höhe des Druckkopfes überschreitet, bekannt.
  • Zu diesen zählt ein Verfahren zur vorübergehenden Speicherung einer einzigen Operationslinie von Daten in einem Eingabepuffer. Dieses Verfahren ist vorteilhaft, da es einfach ist und eine geringe RAM-Kapazität benötigt. Dieses Verfahren verursacht jedoch ein Problem, da der Hostcomputer nicht rasch freigegeben wird.
  • Genauer gesagt, wenn die maximale Höhe eines zu druckenden Zeichens so groß wie fünf Abtastlinien ist, muß die Druckdatenverarbeitungsvorrichtung fünfmal folgende Operationen ausführen: Berechnen einer Fläche, die auf der ersten Abtastlinie vorhanden ist, die das zu verarbeitende Objekt ist, in bezug auf die Daten des vergrößerten Zeichens, die im Eingabepuffer vorhanden sind, und Entwicklung eines Bitbildes davon in einem Arbeits-RAM; Entwickeln und Ausgeben des Bildes in einem Ausgabepuffer während der Verarbeitung eines solchen Bildes mit modifizierten Daten, und dasselbe für die zweite Abtastlinie unter Verwendung desselben vergrößerten Zeichens, das in dem Eingabepuffer vorhanden ist. Dadurch werden dieselben Daten fünfmal gehalten, wodurch der Empfang folgender Daten von dem Hostcomputer unterbrochen ist, in welcher Zeit der Computer nicht zur Durchführung anderer Aufgaben freigegeben werden kann.
  • Zur Lösung dieses Problems wurde, wie in der ungeprüften Japanischen Patentanmeldung Nr. 63-72556 beschrieben ist, eine Vorrichtung wie in Fig. 4(a) dargestellt vorgeschlagen, in welcher zwei Ausgabepuffer zur Verringerung der Verarbeitungsdauer vorgesehen sind. Das heißt, während einer der Ausgabepuffer an einen Druckmechanismus ausgibt, werden in dem anderen Ausgabepuffer Daten entwickelt. Bei diesem Verfahren sind verschiedene Programme, welche die Druckdatenverarbeitungsvorrichtung steuern, in einem Programm-ROM 40 gespeichert und werden von einer CPU gesteuert.
  • Die Druckdatenverarbeitungsvorrichtung empfängt Basisdaten, die von einem Hostcomputer gesendet werden, durch ein Interface 25 und speichert die Basisdaten in einem Eingabepuffer 26. Ein Datenanalyseabschnitt 16 empfängt die Basisdaten von dem Eingabepuffer 26 und klassifiziert die Daten in Zeichendaten, Druckstartbefehle und andere Befehlsarten. Die Verarbeitung wird für die anderen Arten von Befehlen durchgeführt. Für die Zeichendaten werden Punktrasterdaten, die den Zeichendaten entsprechen, aus einem Font- (Schriftzeichensatz-) ROM 41 ausgelesen und vorübergehend in einem Arbeits-RAM 42 entwickelt. Während der Verarbeitung solcher Bilddaten in dem Arbeits-RAM 42 mit den notwendigen Modifizierungen werden die derart verarbeiteten Daten in dem gegenwärtig gewählten Ausgabepuffer 37 durch einen Eingabekanal 28 entwickelt, wenn alle Modifizierungen verarbeitet sind.
  • Der Eingabekanal 28 wählt den Ausgabepuffer 37, wenn er durch einen Druckstartbefehl aktiviert wird. Wenn der Ausgabepuffer 37, der von dem Eingabekanal 28 gewählt wird, gleichzeitig von einem Ausgabekanal 35 gewählt wird, werden alle Ausgabepufferdaten an einen Druckmechanismus 39 ausgegeben, und die Operation des Schreibens von Daten in den Ausgabepuffer 37 wird unterbrochen, bis der Ausgabekanal 35 umgeschaltet wird. Der Ausgabekanal 35 sendet die Bilddaten von dem gegenwärtig gewählten Ausgabepuffer 37 durch ein Ausgabe-Interface 38 zu dem Druckmechanismus 39, wodurch der Druck ausgeführt wird. Der Ausgabekanal 35 wählt den Ausgabepuffer 37, der danach zu drucken ist, unter Verwendung der Beendigung des Drucks aller Bilder in dem Ausgabepuffer 37 als Auslöser. Wenn kein Druckbild in dem Ausgabepuffer 37 vorhanden ist, der von dem Ausgabekanal 35 gewählt wird, wird bis zum Empfang eines nächsten Druckstartbefehls kein Druckvorgang ausgeführt.
  • Die vorangehende Beschreibung betrifft eine Abfolge von Operationen im Falle von normalen Zeichen. Selbst wenn eine zu verarbeitende Linie ein vergrößertes Zeichen enthält, das sich über zwei Abtastlinien erstreckt, entwickelt ein Zeichenentwicklungsabschnitt 18 die obere Hälfte, und die untere Hälfte des vergrößerten Zeichens in beiden Ausgabepuffern 37 und die entwickelten Hälften werden sequentiell gedruckt.
  • Gemäß diesem Verfahren können die Basisdaten, die in dem Eingabepuffer gespeichert sind, effizient verarbeitet werden, wodurch der Durchsatz verbessert werden kann. Wenn eine Mehrzahl von Ausgabepuffern vorgesehen ist, kann ferner die Zeitperiode, in welcher der Eingabepuffer freigegeben wird, weiter verkürzt werden.
  • Andererseits muß der Ausgabepuffer 37, der einer Mehrzahl von Abtastlinien entspricht, durch einen RAM implementiert werden, was das Problem mit sich bringt, daß eine große Speicherkapazität reserviert werden muß.
  • Ferner wurde ein Verfahren vorgeschlagen, das dazu ausgerichtet ist, die Freigabe des Hostcomputers nicht zu behindern. Das heißt, eine Minimalkapazität des Eingabepuffers wird reserviert, während ein bestimmter Bereich im RAM für die Mehrzahl von Abtastlinien bereitgestellt ist. Dies ist ein Versuch, die RAM-Kapazität zu minimieren, während die Freigabe des Hostcomputers nicht verzögert wird, indem die Basisdaten, die von dem Hostcomputer gesendet werden und im Eingabepuffer gespeichert sind, zu Zwischencodes umgewandelt werden und die umgewandelten Daten als Zwischencodes im Zwischenpuffer gespeichert werden.
  • Dieses Verfahren wird ausführlicher mit Bezugnahme auf Fig. 4(b) beschrieben. Ähnlich wie bei dem in Fig. 4(a) dargestellten Beispiel sind verschiedene Programme zur Steuerung der Druckdatenverarbeitungsvorrichtung in dem Programm-ROM 40 gespeichert und werden von der CPU gesteuert.
  • Die Druckdatenverarbeitungsvorrichtung empfängt Basisdaten, die von einem Hostcomputer gesendet werden, durch ein Interface 25, und die empfangenen Basisdaten werden in dem Eingabepuffer 26 gespeichert. Ein Zwischencodeumwandlungsabschnitt 27 wandelt die Basisdaten, die in dem Eingabepuffer 26 gespeichert sind, zu Zwischencodes um, und die Zwischencodes werden vorübergehend in einem Zwischenpuffer 29 gespeichert. Der Zeichenentwicklungsabschnitt 18 liest die Zwischencodes aus dem Zwischenpuffer 29, sobald er durch einen Druckstartbefehl aktiviert wird. Der Zeichenentwicklungsabschnitt 18 analysiert die Zwischencodes und liest die entsprechenden Bilddaten aus dem Font-ROM 41.
  • Wenn das Zeichen ein Zeichen ist, dessen Höhe das Doppelte des normalen Zeichens beträgt, werden nur Bilder ausgelesen, die an der gegenwärtigen Kopfposition zu drucken sind, während wenn das Zeichen ein normales Zeichen ist, alle Bilder im Arbeits-RAM 42 entwickelt werden. Während den Bilddaten im Arbeits-RAM 42 notwendige Modifizierungen hinzugefügt werden, werden die modifizierten Daten im Ausgabepuffer 37 entwickelt. Wenn eine einzige Datenlinie entwickelt ist, werden die Bilddaten im Ausgabepuffer 37 über das Ausgabe-Interface 11 zu dem Druckmechanismus 39 gesendet, so daß mit dem Druck begonnen wird. Im Falle von normalen Zeichen wird der Zwischenpuffer 29 an diesem Punkt der Operation gelöscht und mit der Datenumwandlungsoperation für die nächste Linie begonnen. Wenn andererseits ein Zeichen doppelter Höhe in der Linie vorhanden ist, wird das Bild der unteren Hälfte entwickelt und ausgegeben, bevor der Zwischenpuffer 29 gelöscht wird.
  • Dieses Verfahren, bei welchem ein Zwischencode verwendet wird, kann ein großes Datenvolumen mit einer kleinen Speicherkapazität bearbeiten, und die Daten sind leicht zu entwickeln, so daß der Hostcomputer in einer kurzen Zeitperiode freigegeben werden kann, ohne eine große Speicherkapazität zu benötigen. Es kann auch der Durchsatz verbessert werden.
  • Ein ähnliches Verfahren unter Verwendung von Zwischencodes ist in dem Dokument JP-A-1 171 949 offenbart. Zur Verbesserung des Durchsatzes wird die Umwandlung von Eingabedaten zu Zwischencodes und die Umwandlung der Zwischencodes zu Bilddaten mit verschiedenen Datenverarbeitungsmitteln ausgeführt.
  • Insbesondere werden die Daten von einer Datenverarbeitungsvorrichtung in einem P-Puffer als Zwischencodes gespeichert, die leicht in einen BM-RAM entnommen werden können, in dem die Attribute der Schriftzeichensätze umgewandelt werden. Dadurch werden die empfangenen Daten in dem BM-RAM umgewandelt, während parallel gedruckt wird. Somit wird der Durchsatz verbessert.
  • Diese Verfahren, die auf Zwischencodes beruhen, beinhalten jedoch einen umgekehrten Blattvorschub, um ein vergrößertes Zeichen in der Abtastlinie C zu verarbeiten, wobei das vergrößerte Zeichen in die Abtastlinie B reicht, nachdem die Abtastlinien A und B verarbeitet wurden, wie in Fig. 6 dargestellt ist. Dieser umgekehrte Blattvorschub verringert den Durchsatz und vermehrt Blattvorschubfehler aufgrund eines mechanischen Spiels, wodurch die Druckqualität verschlechtert wird.
  • Die Erfindung wurde zur Lösung der obengenannten Probleme gemacht. Daher ist es eine Aufgabe der Erfindung, eine Druckdatenverarbeitungsvorrichtung zu schaffen, die Druckdaten unter Verwendung von Zwischencodes verarbeitet, wobei die Druckdatenverarbeitungsvorrichtung nicht nur imstande ist, die Druckdaten bei einer größtmöglichen Geschwindigkeit mit einer minimalen Speicherkapazität und einer kurzen Hostcomputerzeit zu verarbeiten, sondern auch eine Beeinträchtigung des Durchsatzes und der Druckqualität zu verhindern, während ein umgekehrter Blattvorschub vermieden wird. Diese Aufgabe wird durch eine Druckdatenverarbeitungsvorrichtung nach dem unabhängigen Anspruch 1 gelöst. Weitere vorteilhafte Merkmale, Aspekte und Einzelheiten der Erfindung gehen aus den abhängigen Ansprüchen, der Beschreibung und den Zeichnungen hervor. Die Ansprüche sind als ein erster, nicht einschränkender Weg zur Definition der Erfindung in allgemeinen Worten zu verstehen. Die Erfindung schafft eine Druckdatenverarbeitungsvorrichtung, die das Drucken von vergrößerten Zeichen, die sich über eine Mehrzahl von Linien erstrecken, mit einer minimalen Speicherkapazität und ohne umgekehrten Blattvorschub ermöglicht, wobei Basisdaten, die von einem Hostcomputer gesendet werden, durch eine zu verarbeitende Einheit geteilt werden, Zwischencodes durch die zu verarbeitende Einheit erstellt werden und schließlich Druckdaten an einen Druckkopf in einer Mehrzahl aufeinanderfolgender Abtastlinien ausgegeben werden.
  • Zur Lösung der obengenannten und anderer Aufgaben wird die Erfindung gemäß einem bevorzugten Aspekt bei einer Druckdatenverarbeitungsvorrichtung angewendet, in welcher Basisdaten, die von einem Hostcomputer gesendet werden, in Zwischencodes umgewandelt werden, und Druckdaten für eine Einzelabtastlinie eines Druckkopfes sequentiell unter Verwendung der Zwischencodes erzeugt werden.
  • Die Druckdatenverarbeitungsvorrichtung umfaßt zumindest ein Eingabedatenhaltemittel zum Halten der Basisdaten, die von dem Hostcomputer durch ein Interface erhalten werden, ein Zwischencodeumwandlungsmittel zur Bereitstellung von Zwischencodes unter Verwendung der Basisdaten, die aus dem Eingabedatenhaltemittel gelesen werden, ein Zwischencodespeichermittel zur jeweiligen sequentiellen Speicherung der von den Zwischencodeumwandlungsmitteln bereitgestellten Zwischencodes in Zwischenpuffern gemäß zu verarbeitenden Einheiten, die durch Positionsdaten in Blattvorschubrichtung definiert sind, ein Attributspeichermittel mit einer Mehrzahl an Attributpuffern, wobei jeder Attributpuffer Modifikationsdaten und Positionsdaten in Blattvorschubrichtung für jeden der Mehrzahl der Zwischenpuffer speichert, gespeichert durch die Zwischencodespeichermittel in solch einer Weise, daß jeder Attributpuffer eins zu eins einem Zwischenpuffer entspricht, ein Attributbeurteilungsmittel zur Auswahl von Zwischenpuffern in bezug auf eine Einzelabtastlinie, die derzeitig verarbeitet wird, von den Zwischencodespeichermitteln, basierend auf der Überprüfung der Attributdaten, welche Positionen der Blattvorschubrichtung betreffen, die in den Attributpuffern gespeichert sind, ein Druckdatenbereitstellungsmittel zur Bereitstellung von Druckdaten von den Zwischencodes in den Zwischenpuffern, ausgewählt durch die Attributbeurteilungsmittel und die Modifikationsdaten in den Attributspeichermitteln, ein Ausgabedatenhaltemittel zum Halten der durch das Druckdatenbereitstellungsmittel bereitgestellten Druckdaten, ein Druckdatenübertragungsmittel zur Ausgabe der in dem Ausgabedatenhaltemittel gehaltenen Druckdaten an einen Druckmechanismus, und ein Steuermittel zur Überwachung einer Gruppe solcher Mehrzahl von Mitteln.
  • Fig. 1 ist ein Blockdiagramm, das eine Anordnung eines Druckdatenprozessors der Erfindung zeigt, wenn ein System unveränderliche Länge als Zwischencodespeichermittel verwendet wird;
  • Fig. 2 ist ein Blockdiagramm, das eine Anordnung eines Druckdatenprozessors der Erfindung zeigt, wenn ein sukzessives Aufzeichnungssystem als das Zwischencodespeichermittel verwendet wird;
  • Fig. 3(a) bis 3(c) sind Diagramme, die das System, unveränderliche Länge und das sukzessive Aufzeichnungssystem bzw. eine Anordnung eines Attributspeichermittels zeigen.
  • Fig. 4 (a) und 4 (b) sind Blockdiagramme, welche die Anordnung eines Druckdatenprozessors nach dem Stand der Technik zeigen, wobei Fig. 4(a) einen Aufbau mit zwei Ausgabepuffern zeigt, während Fig. 4(b) einen Aufbau mit einem Zwischenpuffer zeigt;
  • Fig. 5 ist ein Blockdiagramm, das insbesondere eine Anordnung eines Druckdatenprozessors der Erfindung zeigt;
  • Fig. 6 ist ein Diagramm, das Beispiele zeigt, in welchen ein Druck auf einem einzigen Druckblatt durch einen Druckdatenprozessor der Erfindung ausgeführt wurde;
  • Fig. 7 ist ein Fließdiagramm, das die Operation zur Einstellung von Standardwerten des Zwischenpuffers und des Attributpuffers zeigt;
  • Fig. 8 ist ein Diagramm, das die Blattvorschub-Positionsdaten zeigt, entsprechend einem Fließdiagramm, das die Operation zur Verarbeitung von Daten im Zwischenpuffer und Attributpuffer zeigt;
  • Fig. 9 ist ein Fließdiagramm, das die Operation zur Entwicklung und Ausgabe des Zwischenpuffers und des Attributpuffers zeigt;
  • Fig. 10 ist ein Fließdiagramm, das den Prozeß zum Löschen des Zwischenpuffers zeigt; und
  • Fig. 11 ist ein Diagramm, das die Operation zum Löschen eines ungültigen Zwischenpuffers im Zwischencodespeichermittel zeigt.
  • Ein Bereich, der in einer Einzelabtastoperation mit einem Druckkopf gedruckt werden kann, wird in der Folge als "Einzelabtastlinie" bezeichnet, und eine einzige zu verarbeitende Einheit von Zeichendaten, die durch einen Rückkehrcode geteilt wird, als "Linie". Es können maximal n Linien zum Drucken eines vergrößerten Zeichens, das sich über eine Mehrzahl von Linien erstreckt, verarbeitet werden. Der Druck solch eines vergrößerten Zeichens erfordert nicht unbedingt ein Hin- und Herbewegen über n Abtastlinien. Der Grund dafür ist, daß der Druckkopf in einigen Fällen in bezug auf ein Standardzeichen mit einer Höhe von 24 Punkten 48 Punkte hoch ist.
  • Obwohl in den folgenden Ausführungsbeispielen Schriftzeichensätze in einem ROM in dem Drucker gespeichert sind, können sie auch in einem Hostcomputer gespeichert sein. Ferner enthalten Basisdaten, die von dem Hostcomputer gesendet werden, Zeichencodedaten (Zeichendaten) und Bitbilddaten.
  • Zumindest die folgenden zwei Verfahren zur Implementierung eines Zwischencodespeichermittels können in den Ausführungsbeispielen der Erfindung verwendet werden. Wie in Fig. 3(a) und 3(b) dargestellt, unterscheiden sich diese Verfahren voneinander durch die Art der Segmentierung einer Mehrzahl von Zwischenpuffern in dem Zwischencodespeichermittel.
  • (1) System unveränderlicher Länge: Jeder einer Mehrzahl von Zwischenpuffern in dem Zwischencodespeichermittel hat eine vorbestimmte Speicherkapazität, wie in Fig. 3(a) dargestellt ist. Eine einzige Zwischencodegruppe wird durch Hinzufügen eines Endcodes an dem Ende einer Zwischencodegruppe gebildet, die jeder Linie zugeordnet ist.
  • (2) Sukzessives Aufzeichnungssystem: Die Größe jedes einer Mehrzahl von Zwischenpuffern in dem Zwischencodespeichermittel ist nicht konstant, wie in Fig. 3(b) dargestellt ist. Ein Endzeichen ist an das Ende einer Zwischencodegruppe angehängt, die jeder Linie zugeordnet ist, und die derart definierte Einzellinien-Zwischencodegruppe wird als Einzelzwischenpuffer behandelt.
  • Jedes der beiden zuvor beschriebenen Verfahren wird in der Folge besprochen. Es wird angenommen, daß jeder Zwischenpuffer in Fig. 3(a) und 3(b) zumindest ein Ungültigkeitsflag hat, das anzeigt, ob der Zwischenpuffer selbst löschbar (ungültig) ist oder nicht, eine Datenlänge (Kapazität) ml des Zwischenpuffers selbst, sowie eine Nummer AD1', welche die Startadresse eines Bereichs anzeigt, der einen entsprechenden Attributpuffer speichert, und eine einzelne Zwischencodegruppe. Ebenso hat der Zwischenpuffer in einigen Fällen einen Endcode, der die letzte Adresse der Zwischencodegruppe anzeigt. Ferner ist die Länge von Aufzeichnungsdaten konstant, da jeder Attributpuffer in Fig. 3(c) nur numerische Daten oder Ein/Aus-Daten für ein vorbestimmtes Datenelement aufzeichnet. Ferner wird die Entsprechung zwischen einem Zwischenpuffer und einem Attributpuffer für eine Linie durch Adressenverwaltung hergestellt.
  • Die Verarbeitung in dem System unveränderliche Länge wird zunächst mit Bezugnahme auf Fig. 1, welche die grundlegende Anordnung zeigt, Fig. 3(a), die das Format des Zwischencodespeichermittels zeigt, und Fig. 3(c), die das Format des Attributpuffer zeigt, beschrieben.
  • Basisdaten, die sequentiell von einem Hostcomputer gesendet werden, werden durch ein Interface 1 empfangen und in einem Eingabedatenpuffermittel 2 gespeichert. Die Basisdaten werden durch ein Zwischenumwandlungsmittel 3 zu einem Zwischencode umgewandelt. Die umgewandelten Daten werden dann in einem leeren Zwischenpuffer in einem Zwischencodeaufzeichnungsmittel durch ein Zwischencodeschaltmittel 12 aufgezeichnet (Fig. 3(a)). Modifikationsdaten und die Positionsdaten in einer Blattvorschubrichtung, die eine Linie betreffen, werden in einem leeren Attributpuffer in einem Attributspeichermittel 5 aufgezeichnet. Obwohl die Anzahl von Zwischenpuffern, die Zwischencodes aufzeichnen, gleich der Anzahl von Attributpuffern ist, die Attributdaten aufzeichnen, wobei jede Art von Puffer eine vorbestimmte Länge hat, unterscheiden sich die Mengen aufgezeichneter Daten im allgemeinen unter den Zwischenpuffern, da sich die aufgezeichneten Daten von einer Linie zur anderen unterscheiden.
  • Die Operation des Schreibens von Daten in einen Zwischenpuffer und in einen Attributpuffer, entsprechend dem Zwischenpuffer, wird wiederholt, so daß alle Puffer in dem Zwischencodespeichermittel 4 und alle Attributpuffer in dem Attributspeichermittel 5 gefüllt sind. Wenn alle Zwischen- und Attributpuffer gefüllt sind, wird die Operation zur Bereitstellung von Druckdaten, die an einen Druckmechanismus ausgegeben werden (insbesondere werden die Druckdaten in Form eines Bitbildes ausgegeben), durchgeführt. In dieser Operation wird ein Zwischenpuffer, der Daten für einen Abtastlinienbereich hält, die derzeit zu verarbeiten sind, von den Positionsdaten in der Blattvorschubrichtung gewählt, die in all den Attributpuffern gespeichert sind, und Druckdaten werden in dem Ausgabedatenpuffermittel 9 auf der Basis der Zwischencodes in dem gewählten Zwischenpuffer entwickelt. Diese Entwicklung ist von einer Modifikation begleitet, wie einer Färbung oder einem Doppeldruck, die auf den Attributdaten in dem entsprechenden Attributpuffer basiert. Daher werden die Druckdaten in dem zu verarbeiten den Abtastlinienbereich, die in dem Ausgabedatenpuffermittel 9 erzeugt wurden, von einem Druckdatenübertragungsmittel 10 an den Druckmechanismus ausgegeben.
  • Ein Zwischenpuffer, dessen Zwischencodes einmal zur Entwicklung verwendet wurden, wird für ungültig erklärt (oder löschbar gemacht), indem ein Ungültigkeitsflag gesetzt wird, so daß eine Gruppe von Zwischencodes, die als neue Linie erzeugt werden, darin gespeichert werden können. Ebenso wird ein Attributpuffer, dessen Attributdaten bereits verwendet wurden, geleert, so daß Attributdaten für eine neue Linie darin aufgezeichnet werden können. Wenn alle Puffer in dem Speichermittel gleichermaßen gefüllt sind, wird die Operation zur Bereitstellung von Druckdaten, die an den Druckmechanismus auszugeben sind, durchgeführt.
  • In der Folge wird die Operation in dem sukzessiven Aufzeichnungssystem mit Bezugnahme auf Fig. 2, die eine grundlegende Anordnung zeigt, Fig. 3(b), die das Format eines Zwischencodeaufzeichnungsmittels zeigt, und Fig. 3(c), die das Format eines Attributspeichermittels zeigt, beschrieben.
  • Es wird dieselbe Operation bis zu den Schritten des Empfangs von Basisdaten, die sequentiell von dem Hostcomputer linienweise durch das Interface 1 gesendet werden, des Speicherns der gesendeten Daten in dem Eingabedatenpuffermittel und des Umwandelns der Daten in eine Gruppe von Zwischencodes durch das Zwischencodeumwandlungsmittel 3 durchgeführt. Die Zwischencodegruppe wird an der Adresse aufgezeichnet, die dem Endcode am Ende des letzten Zwischenpuffers in dem Zwischencodespeichermittel 4 am nächsten ist (siehe Fig. 3(b)). Der Endcode ist nicht besonders wesentlich, da das Ende des letzten Zwischenpuffers aus der Datenlänge berechnet werden kann. Das Attributspeichermittel 5 sucht einen leeren Attributpuffer, und Modifikationsdaten und die Positionsdaten in die Blattvorschubrichtung, die eine zu verarbeitende Linie betreffen, werden in dem leeren Attributpuffer aufgezeichnet. Der Zwischenpuffer und der Attributpuffer werden in Übereinstimmung gebracht, indem sie dieselben Startadressen der entsprechenden Puffer in einer Weise erhalten, die, ähnlich wie in dem System, unveränderlicher Länge ist. Eine Mehrzahl von Zwischenpuffern, von welchen jeder durch das Endzeichen segmentiert ist, wird in dem Zwischencodespeichermittel 4 vorbereitet, indem dieser Prozeß wiederholt wird, bis alle Attributpuffer in dem Attributspeichermittel 5 gefüllt sind, während die Attributpuffer, die den entsprechenden Zwischenpuffern eins zu eins entsprechen, vorbereitet werden.
  • Dann wird dieselbe Operation wie in dem System unveränderlicher Länge ausgeführt. Das heißt, ein Zwischenpuffer mit Daten für einen Abtastlinienbereich, der derzeitig zu verarbeiten ist, wird von den Positionsdaten in die Blattvorschubrichtung ausgewählt, die in all den Attributpuffern in dem Attributspeichermittel 5 gespeichert sind, Druckdaten werden in dem Ausgabedatenpuffermittel 9 auf der Basis der Zwischencodegruppe in dem ausgewählten Zwischenpuffer entwickelt, und die entwickelten Druckdaten werden durch das Druckdatenübertragungsmittel 10 an den Druckmechanimus ausgegeben. Andererseits wird der verwendete Zwischenpuffer, dessen Zwischencodes bereits verwendet wurden, aus dem Speicher gelöscht, d. h., dem Zwischencodespeichermittel 4, und eine Reihe von Zwischenpuffern, die einem solchen gelöschten Puffer folgen, werden durch ein Verfahren, das später beschrieben wird, nach oben "verschoben". Es ist ein Zwischencodeverschiebungsmittel 13, das eine solche Verschiebungsoperation ausführt.
  • Nachdem die Puffer verschoben sind, werden Zwischencodes, die eine neue Linie betreffen, unmittelbar nach dem Endcode am Ende des Zwischenpuffers, der sich am Ende der Adresse befindet, aufgezeichnet. In der Zwischenzeit werden die Da ten in dem geleerten Attributpuffer gelöscht und Attributdaten für die neue Linie darin aufgezeichnet.
  • Aus den zuvor beschriebenen zwei Verfahren geht hervor, daß die Erfindung gekennzeichnet ist durch die Beurteilung eines Zwischenpuffers, der Daten für eine zu verarbeitende Abtastlinie aufweist, aus den Positionsdaten in die Blattvorschubrichtung, die von einem Attributpuffer gehalten werden, in dem Entwicklungsprozeß in dem Ausgabedatenpuffermittel 9. Dadurch ist niemals die Operation des Druckens einer Abtastlinie mit dem Druckkopf und des Zurückführens des Kopfes zu einer Abtastlinie vor einer solchen Abtastlinie zur Ergänzung eines unzureichenden Teils des zuvor gedruckten Teils erforderlich. Das Konzept der Erfindung beruht auf der Tatsache, daß eine Mehrzahl von Zwischenpuffern vorgesehen ist, so daß eine Mehrzahl von Linien gleichzeitig verarbeitet werden kann und daß die Positionsdaten in der Blattvorschubrichtung einzeln in den Attributpuffern verwaltet werden, so daß die Zwischencodedaten in den Zwischenpuffern effizient verwaltet werden können.
  • Die Druckdatenverarbeitungsvorrichtung der Erfindung wird ausführlicher mit Bezugnahme auf das Blockdiagramm von Fig. 5 beschrieben. Das System unveränderlicher Länge wird zur Implementierung des Zwischencodespeichermittels 4 verwendet. Das Zwischencodespeichermittel 4 kann maximal drei Linien von Daten speichern. Da das Zwischencodespeichermittel 4 eigentlich durch einen RAM implementiert ist, wird das Zwischencodespeichermittel 4 in der Folge als "Zwischenpufferspeicher" bezeichnet.
  • Im Vergleich zu Fig. 1 entspricht das Eingabedatenpuffermittel 2 einem Eingabepuffer 26, das Zwischencodeumwandlungsmittel 3 einem Zwischencodeumwandlungsabschnitt 27, das Zwischencodespeichermittel 4 Zwischenpuffern 29, 31 und 33, das Attributspeichermittel 5 Attributpuffern 30, 32 und 34, das Attributidentifizierungsmittel 7 und das Druckda tenbereitstellungsmittel 8 einem Ausgabekanal 35 und einem Attributidentifizierungsabschnitt 36, das Ausgabedatenpuffermittel 9 und das Druckdatenübertragungsmittel 10 einem Ausgabepuffer 37, das Arbeitsdatenspeichermittel 6 einem Arbeits-RAM 42, und das Steuermittel einem Programm-RAM 40 zum Speichern verschiedener Steuerprogramme und einer CPU zum Steuern solcher Programme. Ein Font-ROM 41 speichert Zeichenschriftzeichensätze. Der Eingabekanal 28 sucht einen Zwischenpuffer, in den Zwischencodes für eine neue Linie eingegeben werden können, aus einer Mehrzahl von Zwischenpuffern aus und wählt einen solchen Puffer.
  • In der Folge wird der Ablauf einer Operation beschrieben. Basisdaten, die von einem Hostcomputer gesendet werden, werden über das Interface 25 empfangen und in dem Eingabepuffer 26 gespeichert. Der Zwischencodeumwandlungsabschnitt 27 wandelt die Basisdaten, die in dem Eingabepuffer 26 gespeichert sind, zu Zwischencodes um, die sequentiell in den Zwischenpuffern 29, 31 und 33 gespeichert werden, während ein leerer von diesen durch den Eingabekanal 28 gewählt wird. Das Umschalten zwischen den Zwischenpuffern erfolgt durch den Eingabekanal 28 mit einem Druckstartbefehl als Auslöser. Gleichzeitig wird ein leerer Attributpuffer aus den Attributpuffern 30, 32 und 34 gewählt, um Positionsdaten wie eine Referenzposition in der Blattvorschubrichtung, die oberste Position und die unterste Position wie auch Modifikationsdaten für eine zu verarbeitende Linie zu speichern. Diese Operationen werden wiederholt, bis keine weiteren Hinzufügungen durchgeführt werden können. Die Entwicklungs- und Ausgabeoperation wird dann in den Stufen ab dem Ausgabekanal 35 durchgeführt.
  • In der zuvor beschriebenen Entwicklungs- und Ausgabeoperation wird ein Zwischenpuffer mit Daten, die an der derzeitigen Druckkopfposition zu drucken sind, aus den Zwischenpuffern 29, 31, und 33 von den Positionsdaten in die Blattvorschubrichtung gewählt, die von allen Attributpuffern 30, 32 und 34 in dem Attributspeichermittel gehalten werden. Die Zwischencodes, die in dem ausgewählten Zwischenpuffer enthalten sind, werden im Arbeits-RAM 42 entwickelt, um Druckdaten bereitzustellen. Bei der Behandlung von Zeichen werden Schriftzeichensatzdaten vom Font-ROM 41 erhalten, und ein notwendiger Teil wird ausgelesen, wobei die erhaltenen Schriftzeichensatzdaten nach den Positionsdaten beurteilt werden, die in dem Attributpuffer gespeichert sind, der dem Zwischenpuffer entspricht, der gerade entwickelt wird. Nach der Modifizierung werden die erhaltenen Zeichendaten in dem Ausgabepuffer 37 entwickelt und schließlich durch das Ausgabe-Interface an den Druckmechanismus ausgegeben. Nach der Feststellung, daß der entsprechende Zwischenpuffer zu dem Zeitpunkt verwendet wurde, zu dem die unterste Position in dem Attributpuffer, welcher die Position nach dem Druckkopf hält, überschritten wurde, wird das Ungültigkeitsflag des Zwischenpuffers gesetzt. Dadurch ist der Zwischenpuffer zum Löschen bereit, so daß Zwischencodes für eine neue Linie geschrieben werden können. Andererseits wird der entsprechende Attributpuffer zum Löschen vorbereitet, so daß neue Liniendaten geschrieben werden können.
  • Der eigentliche Verarbeitungsablauf wird in zwei Schritten beschrieben: Pufferspeicherverarbeitung zur Verarbeitung von Basisdaten und zum Speichern der verarbeiteten Daten in Zwischenpuffern und Attributpuffern, und Entwicklungs- und Ausgabeverarbeitung zur Entwicklung der in den Zwischenpuffern und Attributpuffern gespeicherten Daten in einem Ausgabepuffer 37 in Bitbildform und Ausgabe der entwickelten Daten an den Druckmechanismus. In der obengenannten Verarbeitung wird angenommen, daß die Basisdaten von dem Hostcomputer derart gesendet werden, daß ein derartiger Druck, wie in Fig. 6 dargestellt, ausgeführt werden kann, und daß der Druckkopf in dem Druckmechanismus an der POS1 angeordnet ist, wenn er initialisiert wird. Ferner wird vorausgesetzt, daß die Höhe eines Rechtecks, das durch eine gestrichelte Linie dargestellt ist, gleich einer Einzelab tastlinle ist, die einer Einzelabtastoperation durch den Druckkopf entspricht. Das Zwischencodespeichermittel ist von der zuvor beschriebenen, sukzessiven Aufzeichnungsart.
  • Die Verarbeitung zum Speichern von Basisdaten in den Zwischenpuffern und den Attributpuffer wird zunächst mit Bezugnahme auf Fig. 7 und 8 beschrieben.
  • Das Fließdiagramm, das in Fig. 7 dargestellt ist, beschreibt die Standardwert-Einstelloperation (Initialisierung) zur Einstellung von Standardwerten (eines Ungültigkeitsflags, einer Datenlänge ml, einer Attributpufferstartadresse AD1', Zeichenmodifikationsdaten usw.) bei dem Zwischenpuffer und dem Attributpuffer, die einer neuen Linie zugeordnet sind.
  • Zunächst wird geprüft, ob ein freier Speicherbereich, der groß genug ist, daß die Standardwertdaten neu hinzugefügt werden können, in dem Zwischenpufferspeicher (einem Zwischencodespeichermittel) vorhanden ist oder nicht (Schritt 42). Wenn dieser Speicher nicht verfügbar ist, wird ein leerer Bereich zum erstmaligen Schreiben von Zwischencodes in dem RAM reserviert, indem die Entwicklungs- und Ausgabeoperation durchgeführt wird.
  • Wenn ein Bereich zum erstmaligen Schreiben der Zwischencodes indem RAM verfügbar ist, wird das Ungültigkeitsflag, das anzeigt, daß der Bereich nicht leer ist, zurückgestellt und Standardwertdaten, wie die Datenlänge ml, die entsprechende Attributpufferstartadresse AD1' und die Zeichenmodifikation zu dem Zeitpunkt, zu dem besondere Zwischencodes noch nicht aufgezeichnet sind, werden darin gespeichert (Schritte 43, 44 und 45).
  • Dann wird geprüft, ob ein leerer Attributpuffer, der die Speicherung neuer Attribute ermöglicht, verfügbar ist oder nicht (Schritt 46). Wenn dieser Attributpuffer nicht ver fügbar ist, wird ein neuer Attributpuffer durch Durchführen der Entwicklungs- und Ausgabeoperation reserviert.
  • Sobald der Attributpuffer zum Schreiben neuer Attribute reserviert ist, werden die entsprechende Zwischenpufferstartadresse AD1 (Schritt 47), ein Wert POS1, der die vertikale Referenzposition einer Linie (die oberste Position eines normalen Zeichens) angibt (Schritt 48), ein Wert, der die oberste Position angibt (POS1 beim Initialisieren, Schritt 49), ein Wert, der die unterste Position angibt ("POS1 + die Höhe eines Zeichens" beim Initialisieren, Schritt S0) und andere Attribute in dem leeren Attributpuffer gespeichert.
  • Die Operation zum Einstellen der Standardwerte in dem Zwischenpuffer und Attributpuffer ist durch die obengenannte Verarbeitung beendet.
  • Fig. 8 ist ein Fließdiagramm, das die Operation des Zwischenpuffers und Attributpuffers zeigt, wenn Zeichendaten A A...A von dem Hostcomputer eingegeben werden, nachdem die Standardwerte eingestellt wurden, die mit Bezugnahme auf Fig. 7 beschrieben wurden.
  • Nach der Eingabe von Zeichendaten werden die Zeichendaten zu Zwischencodes umgewandelt (Schritt 52). Dann wird geprüft, ob ein Bereich zum Hinzufügen eines neuen Zwischencodes zu dem RAM, der das Zwischencodespeichermittel ist, verfügbar ist oder nicht (Schritt 53). Wenn ein solcher Bereich nicht verfügbar ist, wird die Entwicklungs- und Ausgabeoperation ausgeführt.
  • Wenn der Bereich zum Hinzufügen neuer Zwischencodes im RAM verfügbar ist, werden die Zwischencodes, die bestimmte Adressen der Zeichendaten im ROM zusätzlich zu den Standardwerten angeben, die mit Bezugnahme auf Fig. 7 beschrieben wurden, hinzugefügt (Schritt 54). Eine Zwischen pufferlänge ml wird im RAM als letzter Schritt aktualisiert (Schritt 55).
  • Wenn die oberste Position des eingegebenen Zeichens sich als höher als die oberste Position der derzeitigen Linie erweist (Schritt 56), wird die oberste Position in dem Attributpuffer aktualisiert (Schritt 57). Wenn sich die unterste Position der eingegebenen Zeichens als tiefer als die unterste Position der derzeitigen Position erweist (Schritt 58), wird die unterste Position im Attributpuffer aktualisiert. Ebenso wird geprüft, ob die anderen Attribute aktualisiert werden müssen oder nicht (Schritt 60). Wenn diese Aktualisierung notwendig ist, werden die Attribute aktualisiert (Schritt 61).
  • Der zuvor beschriebene Ablauf wird danach wiederholt, bis die gesamte Zeichenbreite der derzeit verarbeiteten Linie den rechten Rand überschreitet oder bis ein Druckstartbefehl empfangen wird (wenn die Gesamtzeichenbreite den rechten Rand überschreitet, wird die LF-Befehlsoperation ausgeführt). In diesem Ausführungsbeispiel ist die Vorbereitung für eine erste Linie (in der Folge als "Linie A" bezeichnet) beendet, wenn der Druckstartbefehl empfangen wird. Dann wird mit der Vorbereitung für eine folgende Linie begonnen.
  • Eine zweite Linie (Linie B) wird nach dem in Fig. 7 dargestellten Fließdiagramm auf gleiche Weise wie Linie A verarbeitet. Ein Attributpuffer, Zwischencodes und ein Zwischenpuffer, der Standardwerte davon speichert, werden für die Linie B hinzugefügt. Das heißt, diese Datenelemente, d. h., eine Standarddatenlänge m², eine neue Attributpufferstartadresse AD2' und ein Standardwert, werden in dem Zwischenpufferbereich hinzugefügt, der dem Endcode des Zwischenpuffers für die Linie A folgt. Ferner werden die Zwischencodes für die eingegebenen Zeichendaten B B... B hinzugefügt.
  • Die Zwischenpufferlänge 2 m wird immer dann aktualisiert, wenn die Zwischencodes hinzugefügt werden.
  • Andererseits werden Linienattribute wie AD2, die eine Zwischenpufferstartadresse (eine Adresse zum Speichern von m²), eine vertikale Position POS2 der Linie, eine oberste Position, eine unterste Position usw. angeben, für die zweite Linie in dem Attributpuffer gespeichert. Der Wert POS2 wird so berechnet, daß POS2 - POS1 gleich der Blattlänge ist, die abhängig von einem Befehl vorgeschoben wird.
  • Ferner wird bei Empfang eines Druckstartbefehls eine dritte Linie auf gleiche Weise vorbereitet und derselbe Ablauf wiederholt.
  • Die zuvor beschriebene Operation wird wiederholt, bis der Zwischenpuffer oder der Attributpuffer vollständig gefüllt ist (in diesem Ausführungsbeispiel wird angenommen, daß die Puffer mit drei Linien gefüllt sind). Wenn keine Daten mehr hinzugefügt werden können, wird ein Entwicklungsoperationsbefehl ausgegeben, um die Operation zur Entwicklung und Ausgabe des Zwischenpuffers zu starten. Durch die Wiederholung dieser Operation werden die Basisdaten, die vom Hostcomputer eingegeben werden, sequentiell in dem Zwischenpufferspeicher gespeichert.
  • Die vorangehende Beschreibung ist die Pufferspeicheroperation.
  • Anschließend wird die Entwicklungs- und Ausgabeoperation, in welcher die Daten, die in dem Puffer gespeichert sind, zu einem Bitbild umgewandelt und als Druckdaten ausgegeben werden, mit Bezugnahme auf Fig. 9 beschrieben.
  • Diese Operation beinhaltet die Schritte des Beurteilens einer Linie, die an der derzeitigen Kopfposition druckbar ist, durch Überprüfen der Attribute aller Linien (Schritte 62 bis 70), Entwickeln der Druckdaten nur für die derzeitige Linie unter Verwendung eines Arbeits-RAMs 42, Hinzufügen einer Modifikation in Übereinstimmung mit den Attributdaten und Ausgeben der derart verarbeiteten Daten an den Druckmechanismus, während sie in den Ausgabepuffer 37 geschrieben werden. Diese Operation ist durch einen Vorschub eines Blattes im voraus über eine Strecke gekennzeichnet, die für den nächsten Druck erforderlich ist, während bei jeder Abtastung des Druckkopfes ständig die Attributpuffer für alle Linien geprüft werden (Schritt 72 bis 80). Dadurch ist niemals ein Druck der vorangehenden Linie durch umgekehrten Vorschub des Blattes erforderlich.
  • Die zuvor beschriebene Operation wird mit Bezugnahme auf das Fließdiagramm von Fig. 9 beschrieben. Es wird geprüft, ob die erste Linie, auf die zugegriffen wird, eine gelöschte Linie ist oder nicht (Schritt 63). Wenn dies zutrifft, wird zu Schritt 69 übergegangen. Die gelöschte Linie, die hier zu prüfen ist, wird mit Bezugnahme auf Schritt 68 beschrieben.
  • Wenn die erste Zugriffslinie keine gelöschte Linie ist, wird geprüft, ob die Linie eine druckbare Linie ist oder nicht (Schritt 64). Dies wird durch einen Vergleich der untetsten Punktposition des derzeitigen Kopfes und der obersten Position in dem Attributpuffer beurteilt. Wenn die unterste Punktposition des derzeitigen Kopfes tiefer als die oberste Position im Attributpuffer ist, befindet sich die fragliche Linie in einer druckbaren Position, und die Operation zur Entwicklung der Daten im Ausgabepuffer wird gestartet (Schritt 65). Das in Fig. 6 dargestellte Beispiel zeigt, daß die derzeitige Kopfposition bei POS1 liegt, was darauf hinweist, daß nur die Linie A druckbar ist. Somit wird nur auf die Zwischenpuffer für die Linie A zugegriffen, und die Druckdaten von diesen werden im Ausgabepuffer entwickelt.
  • Nach der Entwicklung der Daten in Bildform wird die oberste Position im Attributpuffer, die der entwickelten Linie entspricht, in eine Position geändert, die sich neben der untersten Punktposition des derzeitigen Kopfes befindet (Schritt 66).
  • Wenn die oberste Position durch diese Änderung tiefer als die unterste Position wird, stellt das System fest, daß alle Bilder für die Linie A gedruckt sind (Schritt 67), und die Linie A wird gelöscht (Schritt 68). In dem in Fig. 6 dargestellten Beispiel besteht die Linie A nur aus normalen Zeichen, so daß alle Bilder mit einer einzigen Abtastungsrunde durch den Druckkopf gedruckt werden können. Daher wird die Linie A anschließend gestrichen, und der Zwischenpuffer mit den Daten dafür wird löschbar. Um die gedruckte Linie löschbar zu machen, wird der Attributpuffer der Linie gelöscht und ein Ungültigkeitsflag des entsprechenden Zwischenpuffers gesetzt. Damit der Durchsatz nicht verringert wird, wird der verwendete Zwischenpuffer gelöscht, sobald der Zwischenpufferbereich überläuft.
  • Nach der derartigen Ausführung der Schritte 63 bis 70 für alle Linien, wird der Druckvorgang ausgeführt (Schritt 71).
  • Danach werden alle Linie auf eine Linie geprüft, bei welcher der Abstand zwischen der obersten Position der übrigen Linien und der derzeitigen Kopfposition POS1 ein Minimum wird (Schritte 73 bis 79), und das Blatt wird in einem Ausmaß, das dem erhaltenen Minimum entspricht, vorgeschoben (Schritt 80). In dem in Fig. 6 dargestellten Beispiel sind die Linien B und C die am engsten zueinanderliegenden Linien.
  • In bezug auf die Linie B, welche POS2 als Referenzposition hat und nur aus normalen Zeichen besteht, ist die oberste Position der Linie POS2. Während andererseits die Referenzposition der Linie C von POS2 um die Höhe eines normalen Zeichens entfernt ist, wird durch das gleichzeitige Vorhandensein eines vergrößerten Zeichens in der Linie die oberste Position der Linie die POS2. Daher wird die oberste Position der übrigen Linien POS2, und das Blatt wird um ein Ausmaß gleich POS2 - POS1 vorgeschoben, um das Blatt in die Position POS2 zu bewegen. Der Kopf wird danach bei POS2 angeordnet. Die vorangehende Operation beendet die Sequenz für den ersten Durchlauf.
  • Die Sequenz für den zweiten Durchlauf wird auf gleiche Weise durchgeführt. Es wird eine Linie gesucht, die an der Position POS2 zu drucken ist. In dem Beispiel sind die Linien B und C in druckbaren Positionen. Daher wird auf die Zwischenpuffer für die Linien B und C zugegriffen, um die Bilddaten im Ausgabepuffer zu entwickeln und die entwickelten Daten zu drucken. In bezug auf die Linie C wird nur der Teil der oberen Hälfte, der an POS2 zu drucken ist, im Ausgabepuffer entwickelt. Die Linie B besteht nur aus normalen Zeichen, so daß alle Bilder durch eine einzige Abtastrunde gedruckt werden können. Daher wird die Linie B nach der Ausführung des Drucks gestrichen und ist somit löschbar. Die Linie B wird durch Löschen des Attributpuffers und Setzen eines Ungültigkeitsflags in dem entsprechenden Zwischenpuffer gelöscht.
  • In bezug auf die Linie C wird das Attribut, insbesondere die oberste Position, im Attributpuffer aktualisiert, so daß nur der gedruckte Teil gelöscht werden kann. In dem Beispiel wird die oberste Position auf POS3 aktualisiert. Ebenso werden die übrigen Linien (an diesem Punkt ist nur Linie C übrig) geprüft und der Abstand POS3 - POS2 zwischen der obersten Position (POS3 an diesem Punkt) der übrigen Linie berechnet. Um dieses Maß wird das Blatt vorgeschoben. Der Kopf wird nach der Blattvorschuboperation in POS3 angeordnet.
  • Dann wird eine Linie gesucht, die an dieser Position zu drucken ist. In dem Beispiel befindet sich die Linie C an der druckbaren Position. Daher wird auf den Zwischenpuffer für die Linie C zugegriffen, die Bilddaten werden im Ausgabepuffer entwickelt, und die entwickelten Bilddaten werden gedruckt. An diesem Punkt der Abfolge wird nur der übrige Teil der unteren Hälfte der Linie C entwickelt. Da alle Bilder der Linie C durch diesen Druckvorgang gedruckt sind, werden die gedruckten Daten löschbar und gestrichen, wie im Falle der Linien A und B.
  • Zuvor wurde beschrieben, wie die Entwicklungs- und Ausgabeoperation, in welcher die in den Puffern gespeicherten Daten zu Druckdaten verarbeitet und die Druckdaten ausgegeben werden. In Zusammenfassung, Standardwerte werden nach dem in Fig. 7 dargestellten Fließdiagramm eingestellt, Zwischencodes werden in dem Attributpuffer nach dem in Fig. 8 dargestellten Fließdiagramm aufgezeichnet, und Daten werden nach dem in Fig. 9 dargestellten Fließdiagramm für jede Zeile entwickelt, ausgegeben und gedruckt.
  • Es wird die Operation gemäß dem sukzessiven Aufzeichnungssystem beschrieben, in welcher die gestrichenen Zwischencodes gelöscht werden, nachdem die Daten entwickelt und ausgegeben wurden, und die Zwischencodegruppen, die dem gelöschten Teil im Sinne der Adresse folgen, in einen Bereich verschoben werden, wo sich die gelöschten Teile befunden haben. Es wird angenommen, daß der Zwischenpufferspeicher bereits Zwischenpuffer für drei Linien empfangen hat und daß die Zwischenpuffer für die erste und zweite Linie zu löschen sind. Wie in Fig. 11(a) dargestellt, wird angenommen, daß der erste, der zweite und der dritte Puffer sukzessiv von der Startadresse des Zwischenpufferspeichers aufgezeichnet sind und daß die Operation zur Verschiebung des dritten Zwischenpuffers, der nach dem Löschen des ersten und zweiten Puffers verbleibt, zu der Startadresse des Zwischenpufferspeichers durchgeführt wird. In dem Zwischen pufferspeicher wird nach binären Daten, die als Ungültigkeitsflag im Zwischenpuffer gesetzt sind, beurteilt, ob der Zwischenpuffer löschbar ist oder nicht.
  • In Fig. 11(a) ist das Ungültigkeitsflag des ersten und zweiten Zwischenpuffers auf 1 gesetzt, wodurch angezeigt wird, daß der Puffer löschbar ist, während das Ungültigkeitsflag des dritten Zwischenpuffers auf 0 gesetzt ist, wodurch angezeigt wird, daß der Puffer nicht löschbar ist. Ferner gibt ein Code [IPT] eine Startadresse an, von welcher neue Zwischenpuffer eingegeben werden können, und ein Code [LNG] gibt die Zwischenpufferlängendaten (m1, m2 usw.) an, die in jedem Zwischenpuffer enthalten sind. Bei der Übertragung nichtlöschbarer Zwischenpuffer zu verschiedenen Adressen in dem Zwischenpufferspeicher ist die Ursprungsstartadresse des Zwischenpuffers [SAD], und die Bestimmungsortstartadresse ist [DAD]. [SAD] und [DAD] werden jedoch zunächst an der Startadresse des Zwischenpufferspeichers eingestellt.
  • Diese Operation wird mit Bezugnahme auf die Fig. 10 und 11 beschrieben.
  • In Schritt 101 von Fig. 10 werden [SAD], [DAD] und [IPT] initialisiert, wie in Fig. 11(a) dargestellt. In Schritt 102 wird [LNG] auf ml eingestellt, wodurch die Pufferlänge des ersten Zwischenpuffers angegeben wird. In Schritt 103 wird beurteilt, ob der Zwischenpuffer in Verarbeitung löschbar ist oder nicht. Da der Zwischenpuffer löschbar ist, wird Schritt 104 ausgeführt, in dem [SAD] zum Start des zweiten Zwischenpuffers verschoben wird, wie in Fig. 11(c) dargestellt ist. Insbesondere erfolgt dies durch Aktualisieren von [SAD], wobei ein Wert eingestellt wird, der durch Addition von [LNG] zu [SAD] erhalten wird. In Schritt 109 wird [SAD] mit [IPT] verglichen, um festzustellen, ob sie gleich sind. Wenn sie gleich sind, ist die Übertragung durch Verschiebung beendet. Da sie jedoch in diesem beson deren Fall nicht gleich sind, fährt die Operation mit Schritt 105 fort. In Schritt 105 wird [LNG] auf m2 eingestellt, einen Wert, der die Länge des zweiten Zwischenpuffers angibt, der ein nächster zu verarbeitender Posten ist (siehe Fig. 11(d)). In Schritt 106 wird wieder beurteilt, ob der Zwischenpuffer, der verarbeitet wird, löschbar ist. Da der zweite Zwischenpuffer auch löschbar ist, fährt die Operation mit Schritt 104 fort. In Schritt 104 wird [SAD] zu dem Start des dritten Zwischenpuffers verschoben, wie in Fig. 11(e) dargestellt ist. Da [SAD] in Schritt 109 die Adresse [IPT] nicht erreicht hat, was ein nächster Schritt ist, fährt die Operation mit Schritt 105 fort. In Schritt 105 wird [LNG] auf m3 gestellt, einen Wert, der die Länge des dritten Zwischenpuffers angibt, der ein nächster zu verarbeitender Posten ist (siehe Fig. 11(f)). Da jedoch der dritte Zwischenpuffer noch nicht entwickelt wurde, ist in Schritt 106 der Puffer nicht löschbar. Somit fährt die Operation mit Schritt 107 fort, in welchem der gesamte Inhalt des dritten Zwischenpuffers nach [SAD] gemeinsam zu einer Adresse verschoben wird, die mit [DAD] et seq. im Zwischenpufferspeicher beginnt. Fig. 11(g) zeigt einen solchen Zustand. Die Startadresse des dritten Zwischenpuffers, dessen Länge [LNG] auf m3 eingestellt ist, wird von [SAD] nach [DAD] verschoben. In Schritt 108, der ein nächster Schritt ist, werden [SAD] und [DAD] um [LNG] nach rechts verschoben, werden [LNG] [SAD] bzw. [DAD] hinzugefügt (stehe Fig. 11(h)). Da [SAD] schließlich an der Adresse [IPT] anlangt, wird in Schritt 109 befohlen, mit Schritt 110 fortzufahren. In Schritt 110 wird [IPT], das eine Adresse angibt, von welcher neue Zwischenpuffer aufgezeichnet werden, auf eine neue [DAD] gestellt, wie in Fig. 11(h) dargestellt ist.
  • Von dem Vorangegangenen werden die Zwischenpuffer für die erste und zweite Linie, die zu löschen sind, aus dem Zwischenpufferspeicher gelöscht, während der dritte Zwischenpuffer gemeinsam zu dem Start des Zwischenpufferspeichers verschoben wird. Dadurch wird eine Reihe von Operationen beendet.
  • Wie aus der vorangehenden Beschreibung hervorgeht, ist die Hauptaufgabe der Erfindung beim Drucken einen umgekehrten Blattvorschub zu vermeiden, und diese Aufgabe wird im Prinzip dadurch gelöst, daß der Zwischenpufferspeicher veranlaßt wird, gleichzeitig eine Mehrzahl von Zwischenpuffern zu haben, und die entsprechenden Attributpuffer veranlaßt werden, Positionsdaten in der Blattvorschubrichtung zu haben, so daß diese Mehrzahl von Zwischenpuffern effizient überwacht werden kann.

Claims (6)

1. Druckdatenverarbeitungsvorrichtung, bei der von einem Hostcomputer gesendete Basisdaten in Zwischencodes umgewandelt sind, und Druckdaten für eine Einzelabtastlinie eines Druckkopfs sequentiell unter Verwendung der Zwischencodes erzeugt werden, wobei die Druckdatenverarbeitungsvorrichtung folgendes umfaßt:
Eingabedatenhaltemittel (2; 26) zum Halten von Basisdaten, erhalten von dem Hostcomputer durch ein Interface (1; 25);
Zwischencodeumwandlungsmittel (3; 27) zur Bereitstellung eines Zwischencodes unter Verwendung von Basisdaten, welche aus dem Eingabedatenhaltemittel (2; 26) gelesen werden;
Zwischencodespeichermittel (4, 29, 31, 33) zur jeweiligen sequentiellen Speicherung der von den Zwischencodeumwandlungsmitteln (3, 27) bereitgestellten Zwischencodes in Zwischenpuffern gemäß zu verarbeitenden Einheiten, definiert durch Positionsdaten in Blattvorschubrichtung;
ein Attributspeichermittel (5; 30, 32, 34) mit einer Mehrzahl an Attributpuffern, wobei jeder Attributpuffer Positionsdaten in Blattvorschubrichtung speichert, und wahlweise Modifikationsdaten für jeden der Mehrzahl der Zwischenpuffer, gespeichert durch die Zwischencodespeichermittel in solch einer Weise, daß jeder Attributpuffer eins zu eins einem Zwischenpuffer entspricht;
ein Attributbeurteilungsmittel (7, 36) zur Auswahl von Zwischenpuffern in bezug auf eine Einzelabtastlinie, die derzeitig verarbeitet wird, von den Zwischencodespeichermitteln (4, 29, 31, 33), basierend auf der Überprüfung der Attributdaten, welche Positionen der Blattvorschubrichtung betreffen, die in den Attributpuffern gespeichert sind;
ein Druckdatenbereitstellungsmittel (8; 35) zur Bereitstellung von Druckdaten von den Zwischencodes in den Zwischenpuffern, ausgewählt durch die Attributbeurteilungsmittel und die Modifizierungsdaten in den Attributspeichermitteln;
ein Ausgabedatenhaltemittel (9; 37) zum Halten der durch das Druckdatenbereitstellungsmittel (8; 35) bereitgestellten Druckdaten;
ein Druckdatenübertragungsmittel (10; 37) zur Ausgabe der in dem Ausgabedatenhaltemittel gehaltenen Druckdaten an einen Druckmechanismus; und
ein Steuermittel (40) zur Steuerung von Operationen der Eingabedatenhaltemittel, der Zwischencodeumwandlungsmittel, der Zwischencodespeichermittel, des Attributspeichermittels und des Attributbeurteilungsmittels, des Druckdatenbereitstellungsmittels, des Ausgabedatenhaltemittels und des Druckdatenübertragungsmittels.
2. Druckdatenverarbeitungsvorrichtung gemäß Anspruch 1, bei der die Zwischencodespeichermittel (4, 29, 31, 33) so konfiguriert sind, um jederzeit einen freien Bereich an einer letzten Adresse hiervon zu reservieren, indem eine Mehrzahl der Zwischenpuffer kontinuierlich in einem Speicherraum gespeichert sind, so daß, wenn ein Zwischenpuffer an einer willkürlichen Adresse in dem Speicherraum gelöscht wird, die folgenden Zwischenpuffer kollektiv zu der willkürlichen Adresse in dem Speicherraum verschoben werden.
3. Druckdatenverarbeitungsvorrichtung gemäß Anspruch 2, bei dem die Zwischencodespeichermittel (4, 29, 31, 33) so konfiguriert sind, um den freien Bereich, der an der letzten Adresse des Speicherraums reserviert ist, als Arbeitsspeichermittel zum Halten und Entwickeln von Bitbilddaten zu benutzen.
4. Druckdatenverarbeitungsvorrichtung gemäß Anspruch 1, bei dem die Zwischencodespeichermittel (4, 29, 31, 33) so konfiguriert sind, um eine Mehrzahl an Zwischenpuffern mit einer vorbestimmten Kapazität im voraus zu reservieren; die zu speichernden Zwischenpuffer jede zu verarbeitende Einheit, definiert durch Positionsdaten in Blattvorschubrichtung, umgeschaltet werden; und wenn ein Zwischenpuffer gelöscht wird, die folgenden Zwischencodes in dem gelöschten Zwischenpuffer gespeichert werden.
5. Druckdatenverarbeitungsvorrichtung gemäß Anspruch 4, bei der die Attributspeichermittel (5, 30, 32, 34) so konfiguriert sind, um mindestens Modifikationsdaten für alle Zeichen in einer einzelnen zu verarbeitenden Einheit, definiert durch Positionsdaten in Blattvorschubrichtung, und drei Teile von Positionsdaten zu speichern.
6. Druckdatenverarbeitungsvorrichtung gemäß Anspruch 5, bei der die Positionsdaten eine oberste Position, eine unterste und eine Referenzposition in einer Blattvorschubrichtung beim Vergleich aller Zeichen in der einzelnen zu verarbeitenden Einheit umfassen.
DE69322691T 1992-06-11 1993-06-09 Druckdatenverarbeitungsvorrichtung Expired - Fee Related DE69322691T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4152389A JP2993276B2 (ja) 1992-06-11 1992-06-11 プリンタ

Publications (2)

Publication Number Publication Date
DE69322691D1 DE69322691D1 (de) 1999-02-04
DE69322691T2 true DE69322691T2 (de) 1999-09-09

Family

ID=15539450

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69322691T Expired - Fee Related DE69322691T2 (de) 1992-06-11 1993-06-09 Druckdatenverarbeitungsvorrichtung

Country Status (5)

Country Link
US (1) US5487137A (de)
EP (1) EP0574824B1 (de)
JP (1) JP2993276B2 (de)
DE (1) DE69322691T2 (de)
SG (1) SG46516A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3554034B2 (ja) * 1994-09-02 2004-08-11 キヤノン株式会社 カラー印刷装置及びその方法
US5805781A (en) * 1994-12-07 1998-09-08 Hewlett-Packard Company Printer method and apparatus for combining sub-images to eliminate image artifacts
JPH0948154A (ja) * 1995-08-08 1997-02-18 Brother Ind Ltd シリアル式印字装置
JP3159113B2 (ja) * 1996-06-19 2001-04-23 セイコーエプソン株式会社 画像形成方法及び画像形成装置
JP3858419B2 (ja) * 1997-02-17 2006-12-13 セイコーエプソン株式会社 印刷装置
JP3506130B2 (ja) * 2001-06-19 2004-03-15 日本電気株式会社 バッファリング装置及びバッファリング方法
US7164489B2 (en) * 2001-10-19 2007-01-16 Seiko Epson Corporation Rectangular partitioning in printing rotated images
CN101516037B (zh) * 2005-12-13 2012-07-25 松下电器产业株式会社 数据处理装置
US8390868B1 (en) * 2008-04-17 2013-03-05 Marvell International Ltd. Systems and methods for memory reduction for print head data buffering
US11327733B2 (en) 2020-05-27 2022-05-10 Blaize, Inc. Method of using multidimensional blockification to optimize computer program and device thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2048624B (en) * 1979-05-02 1982-12-15 Ibm Graphics display apparatus
US4418344A (en) * 1981-12-10 1983-11-29 Datamedia Corporation Video display terminal
DE3317842A1 (de) * 1983-05-17 1984-12-06 Mergenthaler Linotype Gmbh, 6236 Eschborn Graphisches reproduktions- und seztverfahren von schriftzeichen
JPS6311991A (ja) * 1986-07-03 1988-01-19 株式会社東芝 表示制御装置
JPS6372556A (ja) * 1986-09-17 1988-04-02 Fujitsu Ltd 拡大印字方式
JPS63205257A (ja) * 1987-02-23 1988-08-24 Oki Electric Ind Co Ltd 印刷制御装置
JPS63265648A (ja) * 1987-04-24 1988-11-02 Mitsubishi Electric Corp 印刷制御装置
JPH0755572B2 (ja) * 1987-06-01 1995-06-14 株式会社日立製作所 印字装置
US5251293A (en) * 1987-09-02 1993-10-05 Ascii Corporation Character display apparatus
JP2692098B2 (ja) * 1987-12-28 1997-12-17 ミノルタ株式会社 プリンタ制御装置
CA1335215C (en) * 1988-07-01 1995-04-11 Lavaughn F. Watts, Jr. Flat panel display attribute generator
JP3116354B2 (ja) * 1989-09-29 2000-12-11 ミノルタ株式会社 プリンタデータ管理方式
US5041994A (en) * 1990-02-23 1991-08-20 Hewlett-Packard Company Data storage system and method for a laser printer

Also Published As

Publication number Publication date
JP2993276B2 (ja) 1999-12-20
EP0574824A1 (de) 1993-12-22
US5487137A (en) 1996-01-23
SG46516A1 (en) 1998-02-20
DE69322691D1 (de) 1999-02-04
JPH05338277A (ja) 1993-12-21
EP0574824B1 (de) 1998-12-23

Similar Documents

Publication Publication Date Title
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE69025005T2 (de) Seitendruckerspeicherzuweisung
DE3346816C2 (de)
DE3587501T3 (de) Gerät, Verfahren und Struktur zur Umwandlung eines Dokumentes einer Struktur in ein Dokument einer anderen Struktur.
EP0096079B1 (de) Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen
DE69524381T2 (de) Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache
DE69328650T2 (de) Betriebsverfahren und betriebsmittelorientiertes Druckersystem
DE69321798T2 (de) Seitendrucker mit automatischer Schriftartkomprimierung
DE69026457T2 (de) Seitendrucker in dem Plottergraphiken in einen Text eingefügt werden
DE3587105T2 (de) Wechselwirkende bedienerauswahl von alternativen ausfuehrungen von druckerfunktionen.
DE3786871T2 (de) Drucksystem zur Steuerung der Bewegungsgeschwindigkeit des Druckkopfes.
DE1499182C3 (de) Datenspeichersystem
DE2264090A1 (de) Datenverdichtungssystem
DE2825321C3 (de) Rasterdrucker
DE69324385T2 (de) Serieller Rasterbilddrucker und Verfahren zu dessen Betrieb
DE69322691T2 (de) Druckdatenverarbeitungsvorrichtung
DE3802706A1 (de) Drucksteuervorrichtung zum steuern des benutzungszustandes von mehrfachen formatbloecken
DE3882063T2 (de) Verfahren zur Erzeugung von Buchstaben beim Punktdruck.
DE2548719A1 (de) Drucker mit pufferspeicher
DE3441640A1 (de) Streifenfeldspeichercontroller
DE69121345T2 (de) Zeichenausgabegerät
DE68927008T2 (de) Verfahren zum komprimieren und dekomprimieren von punktmatrixzeichen
DE69627266T2 (de) Vorrichtung und Verfahren zum Drucken von sich teilweise wiederholenden Daten
DE2906923C2 (de) Speichergesteuerte, kraftangetriebene Schreibmaschine
DE2422732A1 (de) Hierarchische speicheranordnung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee