PatentDe  


Dokumentenidentifikation DE69630907T2 02.09.2004
EP-Veröffentlichungsnummer 0001093080
Titel Drucker mit komprimierter Architektur bei grosser Bandbreite
Anmelder Lexmark International, Inc., Lexington, Ky., US
Erfinder Ethington, Bryan Leslie, Lexington, Kentucky 40514, US;
Minnick, Jeffrey Alan, Lexington, Kentucky 40509, US;
Gostomski, John Francis, Winchester, Kentucky 40391, US;
Songer, Christopher Mark, Lexington, Kentucky 40514, US
Vertreter Abitz & Partner, 81679 München
DE-Aktenzeichen 69630907
Vertragsstaaten DE, FR, GB
Sprache des Dokument EN
EP-Anmeldetag 23.09.1996
EP-Aktenzeichen 011003688
EP-Offenlegungsdatum 18.04.2001
EP date of grant 26.11.2003
Veröffentlichungstag im Patentblatt 02.09.2004
IPC-Hauptklasse G06K 15/00

Beschreibung[de]

Diese Erfindung betrifft Drucken von datenintensiven Bitmaps bei mäßiger Speicherverfügbarkeit.

Die US 5,150,454 offenbart ein Drucksytem einschließlich eines Druckers mit einem Steuersystem, das einen Speicher und eine Datenverarbeitungseinrichtung umfasst.

Die Erfindung stellt einen Drucker bereit, umfassend ein Steuersystem, wobei das Steuersystem umfasst: einen Bildaufbereiter zum Bestimmen von Bildpunktinformation von Druckersteuerinformation in Blöcken, wobei jeder Block einen Teil einer Seite beschreibt, einen ersten Speicher zum Speichern von sämtlichen besagten Blöcken, die eine Seite definieren, eine Datenverarbeitungseinrichtung zum Definieren der Stelle der Blöcke in dem ersten Speicher in der Reihenfolge der Position der Information in den Blöcken in Bezug zur Seite, die die Blöcke definieren, einen zweiten Speicher, der einen Eingang zum Direktzugriff und einen Anschluss für einen seriellen Ausgang zum Übertragen von Daten zum Drucken aufweist, und einen Spezial-IC, der auf die definierte Stelle der Blöcke anspricht, um Daten zum Drucken zu dem Eingang des zweiten Speichers in der richtigen Reihenfolge zum Drucken zu übertragen.

Es werden drei Probleme durch diese Erfindung gelöst.

  • 1: Erfüllen der hohen Bandbreiteanforderungen des Druckverfahrens.
  • 2: Speichern einer komprimierten Beschreibung einer Seite, die 128 MByte Daten erfordert, in 8 MByte oder weniger.
  • 3: Beenden der beiden vorstehenden Punkte auf eine rechtzeitige und Leistungsvermögen-kritische Weise.

Diese Druckerarchitektur ermöglicht die Speicherung und das Abbilden von Seiten, die große Mengen an Speicher erfordern. Diese Seitentypen überfordern einen Drucker auf zwei verschiedene Weisen. Zuerst erfordert eine tatsächliche Speicherung der Seite hohe Datenkomprimierungsverhältnisse oder große kostspielige Speicherkonfigurationen, und das Drucken der Seite erfordert hohe Speicherbandbreiten. Deshalb gilt diese Erfindung für sowohl Farb- als auch Monochromdrucker, ist aber für Farbdrucker geeigneter, die viel höhere Speicheranforderungen aufweisen als ihre monochromen Gegenstücke.

Begriffsverzeichnis

Binärdaten: Daten, bei denen ein einziges Bit einen Bildpunkt der Seite darstellt. Dies impliziert, dass jeder Bildpunkt entweder 'ein' oder 'aus' sein kann und dass es keine Zwischenwerte gibt.

Band: Begriff, der verwendet wird, um die Menge an Daten zu beschreiben, die für 1 oder mehrere Abtastlinien der vollen Breite notwendig sind, die der Druckkopflaser überquert. Für diesen Drucker besteht ein Band aus 64 Abtastlinien mit je 5120 Byte pro Abtastlinie. Jede Abtastlinie weist 5120 Bildpunkte auf.

Block: Ein Stück Speicher variabler Größe (in Breite und Höhe), das im DRAM zugewiesen ist, das zwecks Konstruieren von Bändern verwendet wird. Die Blöcke können im DRAM-Speicher zusammenhängend sein oder auch nicht.

Halbtondaten: Daten, bei denen mehrere Bit einen einzelnen Bildpunkt der Seite darstellen. Dies impliziert, dass jeder Bildpunkt eine Vielzahl von Werten außer einfach 'ein' und 'aus' annehmen kann.

LZW: Urheberrechtlich geschützte UNISYS-Datenkomprimierungstechnik, die ideal zur Hardwareimplementierung geeignet ist.

Ebene: Die Daten für alle von einem speziellen Farbmittel für eine Seite. Dieser Drucker enthält zwei Modi, 4-Ebenen-Farbe und ein 1-Ebenen-Schwarz. Es gibt 127 Bänder pro Ebene.

Bildaufbereiter: Softwareteil, der die Seitendarstellung nimmt und Bänder von ihr erzeugt.

VRAM: Speicherbauelement mit zwei Ports. Ein VRAM ist identisch mit einem DRAM, außer dass eine ganze Reihe von Daten (typischerweise 1K) aus einem zweiten Port seriell ausgelesen werden kann, und zwar 32 Bit auf einmal, während auf der regulären Schnittstelle ein normaler Speicherzugriff erfolgt.

Es gibt drei Aspekte dieser Erfindung: ein Verfahren zur Seitendarstellungserzeugung, das dynamisch zwischen Ein- und Acht-Bit-Blockformen entscheidet; ein Verfahren zum Blockwarteschlangeneinreihen, das auf Interrupt-Stufe eine auf der Bildaufbereitungsstufe zusammengestellte Tabelle verwendet, wobei diese Tabelle aus Blockmerkmalen besteht; und eine Hardware, die konstruiert ist, um ein Band aus Blöcken zusammenzustellen, die entweder komprimiert oder unkomprimiert sein können, sowie von einer Bit-Tiefe, die von der endgültigen Form verschieden ist, die durch die Druckmaschine erfordert wird.

Eine Ausführungsform der Erfindung wird nun anhand eines Beispiels und mit Bezug auf die beigefügten Zeichnungen beschrieben, bei denen 1 eine verallgemeinerte Veranschaulichung eines Hauptrechners mit einem Drucker gemäß der Erfindung ist; 2 eine konzeptionelle Darstellung des Kontrollers des Druckers ist; 3 eine Datenkomprimierung und Datendekomprimierung in weiterer Einzelheit veranschaulicht; 4 ein Flussdiagramm einer Seitenerzeugung ist; 5 ein Flussdiagramm einer Blockzuweisung ist; 6 ein Flussdiagramm einer Blockeinreichung ist; 7 ein Flussdiagramm eines Blocktrap ist; und 8 die ASIC-Übertragung von Druckdaten zum VRAM veranschaulicht.

Das System beinhaltet auf einem hohen Niveau einen Drucker und einen Hauptrechner. Der Drucker kann allgemein von der Art sein, die im US-Patent 5,023,813 von Brown III beschrieben ist. Auf einem etwas tieferen Niveau beinhaltet das System einen Hauptrechner, eine Hauptrechnerdatenübertragungsverbindung, einen Druckerkontroller, der aus einer Mehrzweckrechenmaschine besteht, einen dedizierten Hardwarehilfsprozessor, eine Druckmaschinendatenübertragungsverbindung und eine Druckmaschine. Konzeptionell ist das System in 1 aufgegliedert dargestellt, wobei ein Hauptrechner 1 auf einer Datenübertragungsverbindung 3 an einen Drucker 5 angeschlossen ist; ein Drucker 5 einen Kontrollen 7, eine Maschinenschnittstelle 9 und eine Maschine 11 aufweist.

Diese Erfindung betrifft die den Kontrollen umfassende Hardware und Software – mit der einzigen Ausnahme, dass der Zweck der Erfindung darin besteht, den über die Maschinenschnittstelle angeforderten Daten zu entsprechen. In diesem speziellen Fall ist eine ununterbrochene Datenrate von 13 MByte pro Sekunde erforderlich.

Eine genauere Untersuchung des Kontrollers 7 ergibt das Layout von 2, wobei ein Mikroprozessor 20, ein Festwertspeicher (ROM) 22, ein Flash-Speicher 24, der fakultativ ist, auf einem 32-Bit-Bus 26 angeschlossen sind. Der Bus 26 ist durch ein Schnittstellen-Sende-/Empfangsgerät 29 mit einem dynamischen 8-Megabyte-Direktzugriffsspeicher 28 verbunden. Ein Bus 38 ist mit einem Speicherverwaltungs-IC 30 und mit einem Video-RAM-Steuer-IC 32 verbunden, der mit dem DRAM 28 und einem auf der Leiterplatte befindlichen Komprimierer/Dekomprimierer 34 und einem außerhalb der Leiterplatte befindlichen Dekomprimierer 36 durch den 32-Bit-Bus 38 verbunden ist. Der Video-RAM (VRAM) 40 empfängt Steuersignale vom ASIC 32 und Daten vom auf der Leiterplatte befindlichen Komprimierer/Dekomprimierer 34 und dem außerhalb der Leiterplatte befindlichen Dekomprimierer 36. Das auf der Leiterplatte befindliche Element 34 und das außerhalb der Leiterplatte befindliche Element 36 sind in größerer Einzelheit in 3 dargestellt. Jedes weist einen Zwischenspeicher für ankommende Daten, FIFO-Steuerung und LZW-Komprimierer/Dekomprimierer (nur 34) oder einen LZW-Dekomprimierer (nur 36) und eine Ausgangs-FIFO-Steuerung, einen Ausgangs-Zwischenspeicher (nur 34) und Steuerlogik auf.

Softwaredruckarchitekturüberblick

Bevor man sich mit genauen Einzelheiten des Druckverfahrens in diesem Drucker befasst, ist es das Beste, die Handhabung einer Seitenerzeugung der Software und das Druckverfahren zu untersuchen, weil dies zu einem allgemeinen Verstehen des Architekturgerüsts des Druckerbetriebs führt. Die Übergabe des Datenstroms an den Drucker wird vorausgesetzt.

Im Drucker liegen mehrere Softwarekomponenten, die für das Verfahren grundlegend sind. Der Bitmaptreiber stellt eine Einrichtung bereit, um Tiefpegelzeichenelemente in eine Seite zu zeichnen. Die Formen dieser Zeichenelemente sind auf Randlistenfüllungen, Rechtecke, 8-Bit-Bilddaten, orthogonale Ein-Bit-Bilddaten und maskenprogrammierte Ein-Bit-Bild-Programmschritte begrenzt. Die Stelle dieser Zeichenelemente muss zum Bitmaptreiber in Gerätebildpunkten spezifiziert werden – d. h. in Einheiten, die keine Skalierungs- oder Rotationstransformationen erfordern, um sie in Einheiten auf der endgültigen Seite abzubilden. Eine begrenzte Form einer Translation ist zugelassen, vorausgesetzt dass dieselbe Translation für alle Bildpunkte in der Seitendarstellung gilt. Die Form eines gegebenen Zeichenelements kann mit einem beliebigen Bitmap von einer festen Größe gefüllt werden, einschließlich Vollschwarz, Vollweiß und Graustufen.

Weil die Schnittstelle zum Bitmaptreiber nicht genau denjenigen entspricht, die durch die Seitenbeschreibungssprachen, die der Drucker akzeptiert, beschrieben werden können, wird eine andere Softwarekomponente benötigt. Diese Komponente, die Grafikmaschine, stellt eine fortgeschrittenere Objektbeschreibung zur Verfügung als die einfachen Tiefpegelzeichenelemente, die der Bitmaptreiber bereitstellt. Grafische Objekte können in einer beliebigen Art von transformiertem Raum beschrieben werden, statt bloß Gerätebildpunkte. Diese Objekte können aus Linien, Bögen, Fontumrissen konstruiert sein sowie den verschiedensten anderen Mechanismen und können auf die verschiedensten unterschiedlichen Weisen gefüllt sein.

Schließlich muss es eine Softwarekomponente geben, die als Eingang den Datenstrom akzeptiert, der die Seite beschreibt, und als "Ausgang" Aufrufe in der Grafikmaschine erzeugt, um diesen Datenstrom in die Druckseite umzusetzen. Diese Komponente wird der Interpreter oder bei Lexmark üblicher der Emulator genannt.

Als kurzer Überblick ist es genau genug, um zu sagen, dass der Drucker die Seite auf die folgende Weise erzeugt. Der Emulator nimmt den Datenstrom entgegen, und auf Grundlage dieses Datenstroms macht er Aufrufe in der Grafikmaschine. Die Grafikmaschine transformiert diese Aufrufe vom Emulator in Aufrufe zum Bitmaptreiber, indem komplizierte Räume und Formen entgegengenommen werden und sie in Geräteraum-Tiefpegelzeichenelemente umgesetzt werden.

Es ist aus dieser Beschreibung deutlich, dass der Bitmaptreiber die Komponente ist, die für die Erzeugung und Aufrechterhaltung der Seitendarstellung, die im DRAM gespeichert ist, verantwortlich ist. Diese Darstellung der fertiggestellten Seite muss beendet sein, bevor das Drucken der Seite beginnen kann. Für ein Vier-Ebenen-Bild kann die Seite bis zu 166,461,440 Byte DRAM erfordern. Infolgedessen erfordert das Verfahren zur Seitenerzeugung im Bitmaptreiber einige ungewöhnliche Anstrengungen, um dafür zu sorgen, dass die Seite sowohl in den DRAM passt (der so viel wie 20-mal kleiner sein kann als die Daten, die für die Seite erforderlich sind) als auch auf eine rechtzeitige Weise erzeugt wird. Diese Seitenerzeugung wird wie in 4 dargestellt vorgenommen.

Wenn der Benutzer keinen Halbtonmodus ausgewählt hat (bei dem die Farbtonstufe durch 8 Bit für jeden Bildpunkt definiert ist), rückt der Datenprozessor direkt zur Blockzuweisung für 1 Bit pro Bildpunkt vor. Wenn die 8-Bit-Stufe keine Einwert-Angabe ist, rückt der Datenprozessor direkt zur Blockzuweisung für 8 Bit pro Block vor. Wenn die Daten im Block eine Einwert-Angabe ist und der Block keine vorherige Zuweisung eines unterschiedlichen Werts aufweist, ist die Blockzuweisung für ein Bit pro Bildpunkt, sonst ist sie für 8 Bit pro Bildpunkt.

Die Blockzuweisung ist in größerer Einzelheit in 5 veranschaulicht. Wenn der Block nicht zugewiesen worden ist, wird er nach Bedarf zugewiesen. Wenn der Block schon zugewiesen worden ist und er noch nicht komprimiert ist, wird die Bitzuweisung von 1 auf 8 oder von 8 auf 1 geändert, wie durch das Ergebnis einer Seitenerzeugung aufgerufen (4). Wenn der Block komprimiert ist, wird er dekomprimiert, wobei die Bitzuweisungsänderung nach Bedarf erfolgt.

Man beachte, dass eine Speicherzuweisung ein sehr kompliziertes Verfahren ist, das unter anderem beinhaltet: das Freimachen von Speicher, der von Druckseiten benutzt wird, Darauf-Warten, dass Seiten gedruckt werden, Freimachen von Dateneintrittsstellen vom Fontcachespeicher usw.. Eine vollständige Beschreibung dieses Verfahrens ist weder notwendig noch praktisch. Was es wert ist, bemerkt zu werden, ist, dass Blöcke, die Seitenbeschreibungen umfassen, in einem Versuch, um mehr Speicher verfügbar zu machen, komprimiert werden können.

Das tatsächliche Druckverfahren ist aus der Softwareperspektive verhältnismäßig einfach. Ein Band ist aus 64 Abtastlinien mit 5120 Bildpunkten pro Abtastung zusammengesetzt. Jeder Bildpunkt wird durch ein 8-Bit-Byte von Daten beschrieben. Ein Block ist ein Stück Speicher von variabler Größe (in Breite und Höhe), der zwecks Konstruieren von Bändern zugewiesen wird. Die Blöcke können im DRAM-Speicher zusammenhängend sein oder auch nicht. Normalerweise kümmert sich Software um die Erzeugung eines Bandes von Daten – wobei impliziert wird, dass der zur Datenspeicherung verwendete Speicher zusammenhängend ist – aus den Blockdaten. Jedoch handhabt die Hardwarehilfseinrichtung auf dem Druckerkontroller diese Banderzeugung, indem sie den VRAM als Ankergrund für die Bänder verwendet. Der VRAM ist 1 MByte groß, und er ist in drei linear adressierte Bänder aufgebrochen.

Man beachte, dass in anderen Druckern die Blockdaten in die CPU bewegt werden, dann in das Band und dann schließlich hinaus zur Maschine. Dieses Verfahren erfordert, dass der Speicherbusverkehr eine zwei- bis dreimal so große Datenrate aufweist, wie die, die von der Maschine erfordert wird. Auf diesem Drucker erzeugt die Hardwarehilfseinrichtung tatsächlich das Band aus den Blöcken. Software beschreibt die Blöcke zum Hardwarehilfs-ASIC, wie in 6 veranschaulicht.

Der Sender übergibt eine Seite an das Betriebssystem des Druckerdatenprozessors 20 als Blöcke für jedes Band. Diese Blöcke werden im DRAM 28 als Tabelle geladen. Der VRAM-Steuer-ASIC 32 nimmt seine Information von dieser Tabelle.

Der Hardwarehilfs-ASIC bildet mit dem VRAM eine Schnittstelle, um die Blockdaten in das Band zu platzieren. Es ist wichtig anzumerken, dass der VRAM "stumm" in dem Sinn ist, dass seine Schnittstelle keinen einfachen Zugriff auf die Blockadresse in einem Band zulässt. Die Steuerung für diesen Adressiermodus liegt im Hardwarehilfs-ASIC. Für jede Blockeinreichung zum Hardware-ASIC ist die folgende Information notwendig: die Stelle der oberen linken Ecke des Blocks im Band, die Stelle der im DRAM gespeicherten Daten, die Breite und Höhe des Blocks, das Palettenzeichen (Wert, um 1-Bit-Daten in eine 8-Bit-Darstellung zu expandieren) für den Block, der Komprimierungszustand des Blocks und die Form der Blockdarstellung (1 Bit oder 8 Bit). Der Block wird vom DRRM mit der Hilfe des Hardwarehilfs-ASIC in den VRAM bewegt, wo er über einen Privatbus seriell zur Maschine ausgelesen wird, der nur vom VRAM und der Druckmaschine gemeinsam verwendet wird. Software speist einfach die Hardwarehilfs-ASIC-Blockinformation für einen neuen Block in die Seite ein, jedesmal wenn es Daten einzuspeisen gibt und sich der Hardwarehilfs-ASIC im Leerlauf befindet. Dies wird im Block-Trap- und Blockeinreichung-Verfahren gehandhabt, die in 7 dargestellt sind. Wenn der ASIC 32 einen momentanen Block beendet, fährt er fort, bis es keine Blöcke mehr in der Tabelle gibt.

Das Block-Trap ist ein Hochpegelinterrupt-Handler, der weitere Blöcke zum Hardwarehilfs-ASIC übergibt.

Der Bedarf an einer geringen Interrupt-Wartezeit wird durch die Erfordernisse der Maschine angetrieben. Die Druckmaschine verarbeitet alle 26 Millisekunden ein Band von Daten. Als Beispiel, wenn eine Blockgröße als 64 Abtastungen mit je 512 Byte pro Abtastung definiert ist, enthält der VRAM so viel wie 10 Blöcke pro Band, in welchem Fall wir einen Block in höchstens 2,6 Millisekunden verarbeiten müssen. Der Trap-Handler ist die Softwareschnittstelle zum Hardwarehilfs-ASIC für eine Blockeinreichung. Wieder, dies ermöglicht es uns, Bänder im DRAM mit nicht zusammenhängenden Blöcken zu konstruieren.

Das Verarbeiten im Hardwarehilfs-ASIC ist ein wenig komplizierter. Der allgemeine Datenstrom ist wie in 8 dargestellt, die den mit den Puffern wechselwirkenden Bus 38, FIFOs und den Dekomprimierer von 3 sowie den VRAM-Steuer-ASIC mit einem Positionsschieber, der Informationen an einen Bitexpander übergibt, darstellt.

Statt zu versuchen, die Arbeitsweise des Hardwarehilfs-ASIC und seiner zugehörigen Komponenten anhand eines Flussdiagramms darzustellen, scheint eine Beschreibung seiner Arbeitsweise für die verschiedenen Typen von Blockdaten am geeignetsten zu sein.

Unkomprimierte Acht Bit pro Bildpunkt

In diesem Modus werden Daten vom DRAM in die Puffer und durch die den Dekomprimierer umgebenden FIFOs eingelesen. Jedoch werden die Daten nicht tatsächlich durch den Dekomprimierer bewegt, sondern werden stattdessen um ihn herum geleitet. Sie werden durch die Ausgangs-FIFOs und um den Positionsschieber und Bitexpander bewegt, wo sie schließlich auf den VRAM-Datenbus platziert werden. Der VRAM-Adressbus (nicht dargestellt) wird durch die VRAM-Steuerlogik gesteuert, die die oberen linken und unteren rechten Blockparameter verwendet, um die Blockdaten an die geeignete Adresse im VRAM zu platzieren.

Komprimierte Acht Bit pro Bildpunkt

Wie zuvor werden die Daten vom Speicherbus durch die Puffer und die den Dekomprimierer umgebenden FIFOs hereingebracht. Es ist jedoch bekannt, dass die Daten in diesem Fall komprimiert sind, und so dass die Daten durch den Dekomprimierer bewegt werden und der Ausgang des Dekomprimierers durch die Ausgangs-FIFOs geschleust wird. Von den Ausgangspuffern bewegen sich die Daten wieder um den Bitexpander und den Positionsschieber herum, da sie bereits acht Bit pro Bildpunkt sind. Sie werden schließlich auf den Datenbus platziert, um an der Adresse in den VRAM geschrieben zu werden, die durch die VRAM-Adresssteuerlogik spezifiziert ist.

Unkomprimiertes Ein Bit pro Bildpunkt

In diesem Modus werden die Daten vom Speicherbus eingelesen, in die Puffer und durch die den Dekomprimierer umgebenden FIFOs gebracht. Da die Daten unkomprimiert sind, werden sie nicht tatsächlich durch den Dekomprimierer bewegt, sondern werden stattdessen um ihn herum geleitet. Sie werden durch die Ausgangs-FIFOs und Puffer und in den Positionsschieber bewegt. Im Positionsschieber werden jegliche kleine Änderungen in der endgültigen Bildpunktposition (bis zu Änderungen von 3 Bildpunkten) vorgenommen. Die Daten bewegen sich von dort zum Bitexpander. Der Bitexpander platziert das Palettenzeichen auf allen acht Bit des 32-Bit-VRAM-Datenbus und verwendet dann die Daten vom Positionsschieber als Schreibfreigabesignal für jedes Byte. Der VRAM-Adressbus (nicht dargestellt) wird noch durch die VRAM-Steuerlogik gesteuert, die die oberen linken und unteren rechten Blockparameter verwendet, um die Blockdaten an die geeignete Adresse im VRAM zu platzieren.

Komprimiertes Ein Bit pro Bildpunkt

In diesem Modus werden die Daten vom Speicherbus eingelesen, in die Puffer und durch die den Dekomprimierer umgebenden FIFOs gebracht. Da die Daten komprimiert sind, werden sie durch den Dekomprimierer bewegt und dekomprimiert. Sie werden durch die Ausgangs-FIFOs und Puffer und in den Positionsschieber bewegt, wo jegliche kleine Änderungen in der Bildpunktposition vorgenommen werden. Die Daten bewegen sich von dort zum Bitexpander. Der Bitexpander platziert das Palettenzeichen auf allen acht Bit des 32-Bit-VRAM-Datenbus und verwendet dann die Daten vom Positionsschieber als Schreibfreigabesignal für jedes Byte. Der VRAM-Adressbus (nicht dargestellt) wird noch durch die VRAM-Steuerlogik gesteuert, die die oberen linken und unteren rechten Blockparameter verwendet, um die Blockdaten an die geeignete Adresse im VRAM zu platzieren.

Die Steuerung des VRAM-Adressbus ist das, was für die Umwandlung von Blöcken in Bänder im Druckverfahren sorgt. Die Steuerung wird in den Hardwarehilfs-ASIC wie folgt implementiert. Die VRAM-Bauelemente enthalten das, was ein SAM- oder Seriellzugriffsspeicher-Port genannt wird. Der SAM-Port ermöglicht die Wiedergewinnung von Daten aus dem Speicherport. Der SAM-Port ermöglicht die Wiedergewinnung von Daten aus dem Speicherteil, aber diese Wiedergewinnung erfolgt nicht auf die Direktzugriffsweise, die der RAM- oder Direktzugriffsspeicher-Port des VRAM bereitstellt. Die Daten werden im VRAM in Reihen gespeichert. Jede Reihe ist signifikant weiter als der Systemspeicherbus und tendiert im Allgemeinen dazu, die Quadratwurzel der Speicherteilgröße zu sein. Diese weist die Tendenz auf, in der Größenordnung von 1K zu sein, obwohl dies je nach Bauelement variiert. Durch den RAM-Port kann der VRAM Daten von jeglicher Stelle in der Reihe übergeben, gefolgt von einer beliebigen anderen Stelle in der Reihe. Durch den SAM-Port kann jedoch der VRAM nur Daten für die Adresse übergeben, die der vorherigen Zugriffsadresse folgt. Wenn der Benutzer das erste Wort der ersten Reihe von Daten durch den SAM-Port verlangte, dann könnte z. B. der SAM als Nächstes die zweite Adresse in der ersten Reihe auf eine rechtzeitige Weise übergeben. Zugriff auf jegliche andere Speicherstelle als die Daten, die dem vorherigen Zugriff folgen, ist durch den SAM-Port viel langsamer.

So weiß der SAM-Port des VRAM nur, wie er Reihendaten auf eine sequenzielle Weise wiedergewinnt und übergibt. Dies ist der Port, der verwendet wird, um Banddaten zur Druckmaschine zu übergeben. Die Daten, die der Kontroller dem Hardwarehilfs-ASIC übergibt, sind jedoch nicht sequenziell, wenn man sie aus der Perspektive einer Bandherstellung betrachtet. Deshalb ist es die Aufgabe des Hardwarehilfs-ASIC, diese nicht sequenziellen Blockdaten in den VRAM auf eine solche Weise zu platzieren, dass ein sequenzieller Zugriff durch den SAM-Port geeignete Daten für das Band übergibt. Diese Logik liegt im Hardwarehilfs-ASIC und ist keine Funktion des VRAM.

Das Vorhergehende hat eine spezielle Ausführungsform hervorgehoben. Variationen sind augenscheinlich und können vorhergesehen werden.


Anspruch[de]
  1. Drucker, umfassend ein Steuersystem (7), wobei das Steuersystem umfasst: einen Bildaufbereiter zum Bestimmen von Bildpunktinformation von Druckersteuerinformation in Blöcken, wobei jeder Block einen Teil einer Seite beschreibt, einen ersten Speicher (28) zum Speichern von sämtlichen besagten Blöcken, die eine Seite definieren, und eine Datenverarbeitungseinrichtung (20) zum Definieren der Stelle der Blöcke in dem ersten Speicher in der Reihenfolge der Position der Information in den Blöcken in Bezug zur Seite, die die Blöcke definieren; gekennzeichnet durch

    einen zweiten Speicher (40), der einen Eingang zum Direktzugriff und einen Anschluss für einen seriellen Ausgang zum Übertragen von Daten zum Drucken aufweist, und einen Spezial-IC (32), der auf die definierte Stelle der Blöcke anspricht, um Daten zum Drucken zu dem Eingang des zweiten Speichers in der richtigen Reihenfolge zum Drucken zu übertragen.
  2. Drucker nach Anspruch 1, bei dem der Drucker für jeden Bildpunkt mindestens 8-Bit-Stufeninformation erfordert und der Bildaufbereiter Bildpunktinformation, die die Stufeninformation enthält, bestimmt und das Steuersystem (7) auch umfasst: eine Datenverarbeitungseinrichtung, um zu bestimmen, wenn sich die Stufeninformation für jeden Block bei einer Stufe befindet, eine Datenverarbeitungseinrichtung, die auf die Bestimmung von einer Stufe anspricht, um die Blöcke von einer Stufe in Ein-Bit-für-jeden-Bildpunkt-Form in dem ersten Speicher (28) zu speichern, und eine Einrichtung, um die Stufeninformation für jeden besagten Block, die in Ein-Bit-für-jeden-Bildpunkt-Form gespeichert ist, zu speichern, und bei dem der Spezial-IC (32) die Blöcke zum Drucken mit der Stufeninformation, die für jedes Bit als die mindestens 8 Bits für jeden Bildpunkt wiederhergestellt ist, überträgt, wobei die wiederhergestellte Stufeninformation von der Stufeninformation erhalten wird, die für jeden Block gespeichert wurde, als der entsprechende Block in Ein-Bit-für-jeden-Bildpunkt-Form vorlag.
  3. Drucker nach Anspruch 1 oder 2, auch umfassend eine Einrichtung, um die in dem ersten Speicher (28) gespeicherten Blöcke zu komprimieren, und eine Einrichtung, um gespeicherte Blockinformation vor besagter Speicherung von Daten in dem zweiten Speicher (40) zu dekomprimieren.
  4. Drucker nach Anspruch 1, 2 oder 3, bei dem der zweite Speicher (40) ein VRAM ist.
Es folgen 5 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com