-
Diese
Offenbarung bezieht sich allgemein auf prozessorlesbare Medien,
ein System, einen Drucker und ein Verfahren für eine Bestimmung des Inhalts
einer Datei oder eines Datenstroms. Insbesondere bestimmt die Analyse
von rasterisierten Daten, wie z. B. Vorrichtung-Bereit-Bits, ob
die Abbildung Text oder eine Photographie ist.
-
Ein
Drucker oder eine andere Ausgabevorrichtung empfängt häufig eine Datei in einer PDL-Sprache (PDL
= Page Description Language = Seitenbeschreibungssprache), wie z.
B. PCL® (Printer
Control Language = Druckersteuerungssprache) oder PostScripts®.
Ein PDL-Interpretierer innerhalb des Druckers interpretiert die
PDL-Befehle, wodurch Vorrichtung-Bereit-Bits (Device-Ready-Bits) erzeugt werden,
die für
eine Speicherung komprimiert werden, und dann für eine Übertragung zu einer Druckmaschine
dekomprimiert werden. Während
die Komprimierung Speicherungsanforderungen und Kosten senkt, sind
eine Vielzahl von Schwierigkeiten bei den Komprimierungs- und Dekomprimierungs-Verfahren
vorhanden.
-
Auf ähnliche
Weise kann ein Druckertreiber an einer Arbeitsstation eine rasterisierte
Abbildung in der Form von Vorrichtung-Bereit-Bits ausgeben und nicht
als ein PDL-Dokument.
In diesem Fall können
die Vorrichtung-Bereit-Bits für
eine Übertragung über ein
Netzwerk zu einem Drucker komprimiert werden. Bei dieser Anwendung
liefert die Komprimierung der Vorrichtung-Bereit-Bits einen Vorteil
für die
I/O-Kanäle
sowohl in der Arbeitsstation als auch dem Drucker, reduziert den
Netzwerkbandbreitenverbrauch und reduziert die Speicheranforderungen
des Druckers. Bei den Komprimierungs- und Dekomprimierungs-Prozessen
liegt jedoch eine Vielzahl von Schwierigkeiten vor.
-
Leider
leiden der Datenkomprimierungs- und Dekomprimierungs-Prozeß unter
einer Ineffizienz. Bei einem Versuch, die Effizienz zu erhöhen, wurden
unterschiedliche Komprimierungsstrategien entwickelt, die spezialisiert
sind, um sich bei unterschiedlichen Typen von Daten besser zu verhalten.
Verlustlose Komprimierungsstrategien werden z. B. bevorzugt, wenn
dieselben bei Vorrichtung-Bereit-Bits verwendet werden, die Textdaten
darstellen. Verlustbehaftete Komprimierungsstrategien sind jedoch
effizienter, wenn dieselben an Daten verwendet werden, die Photographien
darstellen. Folglich war eine Komprimierungs- und Dekomprimierungs-Strategie,
die die Vorteile unterschiedlicher Komprimierungsstrategien kombiniert,
bislang nicht bekannt.
-
Aus
der
DE 695 02 548 T2 ist
ein System zur Wiedergabe eines in Rasterform umgewandelten Bildes auf
Rekorderelementen eines Ausgabegeräts bekannt, wobei das Bild
durch digitale Eingangsbefehle beschrieben wird. Erste Befehle zum
Ausfüllen
eines ersten Bereichs von Rekorderelementen mit einem Vollmuster
werden unter Verwendung eines verlustlosen Komprimierungsverfahrens
komprimiert und entsprechend dekomprimiert. Zweite Befehle entsprechen
Halbtonbild- oder Zwischenton-Graphikinformationen und werden unter
Verwendung eines verlustbehafteten Komprimierungsverfahrens komprimiert
und entsprechend dekomprimiert.
-
Die
US 6049390 A befasst
sich mit dem digitalen Drucken von Seiten, die durch ein Kombinieren
von einem oder mehreren Seitenelementen erhalten werden. Seitenelemente,
die in einem komprimierten Format gespeichert sind, werden kombiniert,
wobei das Kombinieren im Wesentlichen im komprimierten Bereich stattfindet,
um mit einem schnellen Druckgerät
mitzuhalten. Das Kombinieren findet gemäß einem Seitenlayoutskript
statt, das die Positionen und die Druckreihenfolge ausgewählter Seitenelemente
auf jeder Seite spezifiziert.
-
Die
US 6275303 B1 befasst
sich mit einem System zum Verarbeiten von Mehrtonwertbildern unter
Verwendung einer Halbtontechnik. Zum Binarisieren eines ersten Mehrtonwertbildes
und eines zweiten Mehrtonwertbildes wird das erste Mehrtonwertbild
in ein erstes Bittabellenbild, das binäre Werte aufweist, umgewandelt.
Jeder binäre
Wert des ersten Bittabellenbildes, der einen Ein-Zustand darstellt,
wird durch einen maximalen Wert in einem Tonwertbereich des zweiten
Mehrtonwertbildes ersetzt, und jeder binäre Wert des ersten Bittabellenbilds,
der einen Aus-Zustand darstellt, wird durch einen minimalen Wert
in dem Tonwertbereich des zweiten Mehrtonwertbilds ersetzt. Das
erste Bittabellenbild mit ersetzen Binärwerten und das zweite Mehrtonwertbild
werden als einzelnes Zwischenbild behandelt, wobei das Zwischenbild
in ein zweites Bittabellenbild umgewandelt wird, das aus Binärwerten
besteht, indem eine Schwellendatenmatrix verwendet wird. Es ist
die Aufgabe der vorliegenden Erfindung, ein prozessorlesbares Medium,
ein System, einen Drucker und ein Verfahren mit verbesserten Charakteristika
zu schaffen.
-
Diese
Aufgabe wird durch ein prozessorlesbares Medium gemäß Anspruch
1 oder 31, ein System gemäß Anspruch
7, einen Drucker gemäß Anspruch
18, und ein Verfahren gemäß Anspruch
24 gelöst.
-
Ein
Datenerkennungsmodul erkennt den Typ des Inhalts (z. B. Text- oder
Photographie-Daten), der innerhalb einer Datendatei oder eines Datenstroms
enthalten ist, wie z. B. eine rasterisierte Abbildung, die aus mit
einem Zitter beaufschlagten Vorrichtung-Bereit-Bits gebildet ist.
Die Erkennung resultiert aus der Beobachtung von Datenmustern, die
innerhalb der Daten gefunden werden, was die Bestimmung des Inhaltstyps
der rasterisierten Abbildung ermöglicht.
Die Kenntnis des Inhaltstyps liefert einen Einblick in die Auswahl
eines bevorzugten Komprimierungsalgorithmus. Bei einer Implementierung,
bei der ein Druckertreiber auf einer Arbeitsstation Vorrichtung-Bereit-Bits
ausgibt, die einer rasterisierten Abbildung eines Textes, einer
Photographie oder eines anderen Inhalts entsprechen, kann das Datenerkennungsmodul
auf der Arbeitsstation vorliegen, wo dasselbe den Typ des Inhalts
erkennt, der innerhalb der Vorrichtung-Bereit-Bits enthalten ist. Diese Informationen
werden dann verwendet, um einen bevorzugten Typ von Komprimierung
zu bestimmen.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die
beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein Blockdiagramm, das
einen Drucker darstellt, der eine erste Implementierung einer Vorrichtung
aufweist, um den Inhalt von Vorrichtung-Bereit-Bits zu entdecken.
-
2 ein Blockdiagramm, das
zusätzliche
Details eines Datenerkennungsmoduls darstellt, das in dem Drucker
aus 1 vorliegt.
-
3 ein Blockdiagramm, das
eine Arbeitsstation und einen Drucker darstellt, die eine zweite
Implementierung einer Vorrichtung aufweisen, um den Inhalt von Vorrichtung-Bereit-Bits
zu bestimmen.
-
4 ein Flußdiagramm,
das ein Verfahren beschreibt, um ein Datenerkennungsmodul zu betreiben, um
den Typ des Inhalts zu bestimmen, der innerhalb der Daten enthalten
ist.
-
Ein
Datenerkennungsmodul erkennt den Typ des Inhalts (Text- oder Photographie-Daten),
die innerhalb einer Rasterabbildung enthalten sind, die aus mit
einem Zitter beaufschlagten Vorrichtung-Bereit-Bits gebildet sind.
Die Erkennung wird durch Zuordnung von Datenmustern durchgeführt, die
innerhalb der Daten gefunden werden, zu vorangehend erlernten Datenmustern,
wodurch der Inhaltstyp der rasterisierten Abbildung bestimmt wird.
Die Kenntnis des Inhaltstyps liefert eine Einsicht in die Auswahl
eines bevorzugten Komprimierungsalgorithmus oder eines anderen Prozesses.
Bei einer Implementierung, bei der ein Druckertreiber auf einer
Arbeitsstation Vorrichtung-Bereit-Bits ausgibt, die einer rasterisierten
Abbildung eines Textes, einer Photographie oder eines anderen Inhalts
entsprechen, kann das Datenerkennungsmodul auf der Arbeitsstation
vorliegen. Bei einer weiteren Implementierung, bei der der Druckertreiber
eine PDL-Datei (PDL = Page Description Language) ausgibt, werden
die PDL-Befehle auf dem Drucker interpretiert, wodurch Vorrichtung-Bereit-Bits
erzeugt werden. In diesem Fall kann das Datenerkennungsmodul auf
dem Drucker vorliegen. In beiden Fällen erkennt das Datenerkennungsmodul
den Typ des Inhalts, der innerhalb der Vorrichtung-Bereit-Bits enthalten
ist. Diese Informationen werden dann verwendet, um einen bevorzugten
Komprimierungstyp zu bestimmen. Die komprimierten Vorrichtung-Bereit-Bits
werden dann gespeichert, bis dieselben benötigt werden, und vor ihrer
endgültigen
Verwendung dekomprimiert.
-
1 zeigt ein Blockdiagramm,
das verschiedene Komponenten eines ersten exemplarischen Systems
für eine
Dateninhalts-Erkennung, -Komprimierung und -Dekomprimierung darstellt.
Module, die in den Figuren gezeigt sind, die das System aufweisen,
sind üblicherweise
aus prozessorausführbaren
Schritten gebildet und in der Software implementiert, können jedoch
alternativ in Firmware oder Hardware implementiert sein, wie z.
B. durch eine anwendungsspezifische, integrierte Schaltung. Das
System ist insbesondere für
eine Verwendung angepaßt,
bei der die Daten Vorrichtung-Bereit-Bits umfassen, die bei einem Druckprozeß erzeugt wurden,
um eine Druckmaschine zu treiben (z. B. die Lasermaschine eines
Druckers), kann jedoch alternativ mit Daten eines beliebigen Typs
verwendet werden. Ein Drucker 100 umfaßt einen PDL-Interpretierer 102,
um die Befehle einer PDL-Datei
zu interpretieren, die zum Drucken gesendet wird. Der PDL-Interpretierer
ist konfiguriert, um Vorrichtung-Bereit-Bits auszugeben, und um diese Daten
zu einem Datenerkennungsmodul 104 weiterzuleiten.
-
Das
Datenerkennungsmodul 104 kann in Software, Firmware oder
Hardware implementiert sein. Dasselbe ist konfiguriert, um die Vorrichtung-Bereit-Bits
zu betrachten, die aus dem PDL-Interpretierer ausgegeben werden,
und um den Typ der Daten zu bestimmen, die durch die Vorrichtung-Bereit-Bits dargestellt
werden. Die Vorrichtung-Bereit-Bits stellen ein „Raster" dar, d. h. ein Bitabbildungsbild oder
Bit -gemapptes Bild, das für
eine Übertragung
zu einer Druckmaschine geeignet ist. Die Entdeckung der Abbildung,
die durch das Raster gebildet wird, kann jedoch zu einer übergeordneten
Auswahl eines Verfahrens der Komprimierung der Rasterdaten führen. Das
Datenerkennungsmodul kann z. B. erkennen, daß die Vorrichtung-Bereit-Bits
entweder eine mit einem Zitter beaufschlagte Abbildung oder Textdaten
darstellen. Entsprechend kann eine verlustbehaftete bzw. eine verlustlose
Komprimierung ratsam sein.
-
Die
Komprimierereinheit 106 umfaßt eines oder mehrere Datenkomprimierermodul
e oder Komprimierer, die in Software, Firmware oder Hardware implementiert
sind. Bei der Implementierung aus 1 sind
ein verlustbehaftetes Komprimierermodul 108 und ein verlustloses
Komprimierungsmodul 110 dargestellt. Zusätzliche
Komprimierungsmodule können
bereitgestellt sein, wie z. B. eine Mehrzahl von verlustbehafteten
Modulen und eine Mehrzahl von verlustlosen Modulen, die auf unterschiedlichen
Komprimierungsstrategien basieren.
-
Die
Komprimierereinheit 106 ist konfiguriert, um ein bestimmtes
Komprimierermodul auf zurufen, das durch das Datenerkennungsmodul
angezeigt wird. Bei einem ersten Beispiel kann das Datenerkennungsmodul
anzeigen, daß die
Vorrichtung-Bereit-Bits einer photographischen Abbildung zugeordnet
sind. Entsprechend kann das Datenerkennungsmodul die Komprimierereinheit 106 anleiten,
ein verlustbehaftetes Komprimierermodul auf zurufen. Das bestimmte
ausgewählte
verlustbehaftete Komprimierermodul – zu dem benötigte Parameter
weitergeleitet werden – kann
aus jenen ausgewählt werden,
die innerhalb der Komprimierereinheit verfügbar sind, gemäß den Befehlen,
die von dem Datenerkennungsmodul erhalten werden. Bei einem zweiten
Beispiel kann das Datenerkennungsmodul anzeigen, daß die Vorrichtung-Bereit-Bits
einer textbasierten Abbildung zugeordnet sind. Entsprechend kann
das Datenerkennungsmodul die Komprimierereinheit 106 anleiten,
ein verlustloses Komprimierermodul aufzurufen. Das bestimmte ausgewählte verlustlose
Komprimierermodul – zu
dem benötigte
Parameter weitergeleitet werden – kann aus jenen ausgewählt werden,
die innerhalb der Komprimierereinheit verfügbar sind, gemäß den Befehlen,
die von dem Datenerkennungsmodul erhalten werden.
-
Ein
Puffer 112 ist konfiguriert, um die Ausgabe des Komprimierermoduls 106 zu
enthalten. Bei der Implementierung aus 1 ist der Puffer basierend auf einer
Zuerst-Hinein-/Zuerst-Heraus-Konfiguration (FIFO-Konfiguration)
konfiguriert.
-
Eine
Dekomprimierereinheit 114 umfaßt eine Mehrzahl von spezifischen
Dekomprimierermodulen, oder Dekomprimierern, um die spezifischen
Komprimierermodule zu ergänzen,
die in der Komprimierereinheit 106 angetroffen werden.
Das Dekompimierungsmodul kann in Software, Firmware oder Hardware
implementiert sein. Bei der Implementierung aus 1 ergänzen
ein verlustbehaftetes Dekomprimierungsmodul 116 und ein
verlustloses Dekomprimierungsmodul 118 die entsprechenden
verlustbehafteten und verlustlosen Komprimierungsmodule, die in
der Komprimierungseinheit 106 angetroffen werden. Somit
liefert die Dekomprimierereinheit Dekompilierungsmodule, die Daten
gemäß der Komprimierung
dekomprimieren, die vorangehend an die Daten angewendet wurde.
-
Die
Dekomprimierungseinheit ist konfiguriert, um das geeignete Dekomprimierungsmodul
gemäß der verwendeten
Komprimierung auszuwählen.
Das ausgewählte
Dekomprimierungsmodul ist konfiguriert, um Daten aus dem Puffer 112 zu
dekomprimieren, und um die dekomprimierten Daten an die Druckmaschine 120 zum
Augeben weiterzuleiten. Die Druckmaschine kann auf der Technik basieren,
die bei Lasermaschinen angetroffen wird, oder auf einer gewünschten
Alternative.
-
2 zeigt eine detaillierte
Ansicht des Datenerkennungsmoduls 104. Ein Lernmodul 200 ist
konfiguriert, um Datenmuster, die in Vorrichtung-Bereit-Bits angetroffen
werden, zu dem Dateityp zuzuordnen, aus dem die Vorrichtung-Bereit-Bits hergeleitet
werden. Um eine derartige Zuordnung durchzuführen, überwacht und zählt das
Lernmodul die Instanzen der Muster, die häufig in Vorrichtung-Bereit-Bits
oder Rasterdaten in einem bestimmten Typ eines Dokuments angetroffen
werden. Insbesondere bestimmt das Lernmodul jene Muster, die eindeutig
vorherrschend in dem Vorrichtung-Bereit-Bit
oder den Rasterdaten sind, die einen ersten Typ einer Abbildung
zugeordnet sind (z. B. einer Abbildung eines Textes), die jedoch
nur selten in den Vorrichtung-Bereit-Bits
angetroffen werden, die anderen Dateitypen zugeordnet sind (z. B.
photographischen Abbildungen) . Daher bestimmt das Lernmodul jene
Muster, die mit sehr großer
Häufigkeit
in den Vorrichtung-Bereit-Bits von Dateien eines bestimmten Inhaltstyps
(z. B. Text) angetroffen werden, die jedoch nur selten in den Vorrichtung-Bereit-Bits
angetroffen werden, die Dateien eines anderen Inhaltstyps (z. B.
Photographien) zugeordnet sind. Entsprechend können diese Informationen verwendet
werden, um den Dateityp (z. B. Text oder Photo) durch Betrachten
der Vorrichtung-Bereit-Bits zu bestimmen, die aus einer Datei oder
einem Datenstrom hergeleitet werden.
-
Die
Muster, nach denen das Lernmodul sucht, können bestimmte Werte für Bytes
(d. h. 8 Bit) oder Halbbytes (d. h. 4 Bit) von Daten sein. Beispielsweise,
wenn das Lernmodul durch Tastaturbefehl oder eine andere Einrichtung
angewiesen wird, daß die
empfangenen Vorrichtung-Bereit-Bits ein Ergebnis einer photographischen
Abbildung sind, weist das Lernmodul die Häufigkeit bestimmter Muster
zu photographischen Abbildungen zu. Auf ähnliche Weise, wenn das Lernmodul
angewiesen wird, daß die
Vorrichtung-Bereit-Bits, die empfangen wurden, ein Ergebnis einer
Textabbildung sind (Rasterdaten, die zu der Ausgabe von gedrucktem Text
führen),
dann ordnet das Lernmodul die Häufigkeit
bestimmter Muster den Textabbildungen zu.
-
Eine
Musterbibliothek 202 ist konfiguriert, um die Zuordnungen
zwischen Mustern (z. B. 4-Bit-Halbbytes von Daten) innerhalb der
Vorrichtung-Bereit-Bits und Typen von Dokumenten zu speichern, aus
denen die Vorrichtung-Bereit-Bits hergeleitet wurden. Das Lernmodul 200 kann
z. B. die Informationen entdecken, die in Tabelle 1 gezeigt sind,
die in der Musterbibliothek 202 aufgezeichnet sind.
-
-
Tabelle
1 stellt exemplarische Daten dar, die unter Verwendung einer Monochromzittermatrix
erhalten werden, die üblicherweise
in Monochrom-LaserJet®-Druckern von Hewlett-Packard verwendet
werden. Wenn andere Zittermatrixen verwendet werden würden, oder
wenn Farbzittermatrixen verwendet werden würden, könnten sich die Muster (Hex-Werte)
und die Rate des Auftretens verändern.
Tabelle 1 stellt jedoch dar, daß wenn
ein bestimmter Satz von Zittermatrixdaten gegeben ist, Muster existieren,
die mit sehr unterschiedlichen Raten in Photographie- und Text-Inhaltsdatentypen
angetroffen werden. Tabelle 1 ist ausschließlich darstellend, insofern,
daß zusätzliche
Spalten von Daten nach Wunsch hinzugefügt werden könnten, um Inhaltstypen zusätzlich zu
Photographien und Text darzustellen.
-
Spalte
1 aus Tabelle 1 stellt eine Mehrzahl von Datenmustern dar, die durch
Halbbytes von Daten dargestellt werden, die sieben unterschiedlichen
Hex-Werten zwischen drei (0×03)
und zwölf
(0×0C)
entsprechen. Die Spalten 2 und 3 zeichnen die Anzahl von Malen auf,
die jedes Muster in der Rasterabbildung oder den Vorrichtung-Bereit-Bits
von einer Seite von Daten angetroffen wird. Insbesondere ist ersichtlich,
daß die
Datenmuster 0×03,
0×07,
0×08 und
0×0C sehr
eng zu den Vorrichtung-Bereit-Bits zugeordnet sind, die verwendet werden,
um Text aus zugeben, und sehr schwach zu den Vorrichtung-Bereit-Bits
zugeordnet sind, die verwendet werden, um Photographien aus zugeben.
Auf ähnliche
Weise sind die Datenmuster 0×04,
0×06 und
0×09 sehr
eng zu den Vorrichtung-Bereit-Bits zugeordnet, die in Zuordnung
mit photographischen Abbildungen verwendet werden, und sehr schwach
zu den Vorrichtung-Bereit-Bits zugeordnet, die verwendet werden,
um Text aus zugeben.
-
Ein
Erkennungsmodul 204 ist konfiguriert, um Datenmuster und
Inhaltstypen zuzuordnen, wodurch Inhaltstypen aus den Rasterdaten
erkannt werden. Das Erkennungsmodul verwendet Daten ähnlich zu
jenen, die in Tabelle 1 gezeigt sind, die in der Musterbibliothek 202 gespeichert
sind, um den Inhaltstyp der Abbildung (Text, Photo, etc.) zu bestimmen,
der durch einen Datenstrom oder eine Datendatei von Vorrichtung-Bereit-Bits dargestellt
ist. Die Rasterdaten werden kurz untersucht, bis die Mustererkennung
anzeigt, daß die
Wahrscheinlichkeit eines korrekten Inhaltstyps ausreichend sicher
ist. Zu dieser Zeit kann das Datenerkennungsmodul 104 dem
Komprimierer 106 die Eigenschaft des Inhalts der Abbildung
anzeigen, die in den Vorrichtung-Bereit-Bits enthalten
ist, wodurch es dem Komprimierer ermöglicht wird, das korrekte Komprimierungsmodul
auszuwählen.
-
3 zeigt ein Blockdiagramm,
das verschiedene Komponenten eines zweiten exemplarischen Systems
für eine
Dateninhalts-Erkennung, -Komprimierung und -Dekomprimierung darstellt.
Module, die in den Figuren gezeigt sind, die das System aufweisen,
sind üblicherweise
aus prozessorausführbaren
Schritten gebildet, die in der Software implementiert sind, können jedoch
alternativ in Firmware oder Hardware implementiert sein, wie z.
B. durch eine anwendungsspezifische integrierte Schaltung. Das System
ist insbesondere für
eine Verwendung angepaßt,
bei der die Daten Vorrichtung-Bereit-Bits
umfassen, die bei einem Druckprozeß erzeugt werden, um eine Druckmaschine
zu treiben, kann jedoch alternativ mit Daten eines beliebigen Typs
verwendet werden. Auf eine Weise ähnlich zu der Implementierung
von 1 wird der Inhalt
der Vorrichtung-Bereit-Bits erkannt, um eine Implementierung einer
effektiven Komprimierungsstrategie zu ermöglichen. Bei dieser Implementierung
werden die Vorrichtung-Bereit-Bits durch den Druckertreiber komprimiert,
der auf der Arbeitsstation vorliegt, und werden dann innerhalb des
Druckers vor der tatsächlichen
Abbildungsdruckzeit dekomprimiert.
-
Eine
Arbeitsstation 300 umfaßt einen Druckertreiber 302,
der eine Rasterabbildung erzeugt, die Vorrichtung-Bereit-Bits aufweist, ansprechend
auf einen Druckbefehl, der einer Anwendung gegeben wird. Die Vorrichtung-Bereit-Bits
werden von dem Druckertreiber in ein arbeitsstationsbasiertes Datenerkennungsmodul 304 weitergeleitet,
das auf eine Weise ähnlich
zu dem druckerbasierten Datenerkennungsmodul 104 konfiguriert
ist. Entsprechend untersucht das Datenerkennungsmodul die Vorrichtung-Bereit-Bits,
die die Rasterabbildung aufweisen, die von dem Druckertreiber ausgegeben
wird, und bestimmt den Inhaltstyp der Abbildung, d. h., ob die Abbildung
aus Text, einer Photographie, Linientechnik etc. besteht.
-
Die
Komprimierereinheit 306 empfängt eine Anzeige von dem Inhaltstyp
der Abbildung aus dem Datenerkennungsmodul.
-
Ansprechend
darauf wählt
die Komprimierereinheit die richtige Komprimierungsstrategie unter
den verfügbaren
aus. Wenn z. B. der Inhaltstyp in seiner Eigenschaft photographisch
ist, wählt
das Komprimierermodul ein verlustbehaftetes Komprimierungsmodul 308 aus.
Auf ähnliche
Weise, wenn der Inhaltstyp textbasiert ist, wählt das Komprimierermodul ein
verlustloses Komprimierungsmodul 310 aus. Unter Verwendung
des geeigneten Komprimierungsmoduls komprimiert der Komprimierer
die Vorrichtung-Bereit-Bits, die durch den Druckertreiber erzeugt
wurden.
-
Die
komprimierten Vorrichtung-Bereit-Bits können kurz in einem Puffer 312 gespeichert
werden, bevor dieselben von einem I/O-Modul 314 über das
Netzwerk 316 und in den Drucker 318 weitergeleitet
werden.
-
Der
Drucker 318 umfaßt
ein I/O-Modul 320, das Daten empfängt, die gedruckt werden sollen,
die in der Form von komprimierten Vorrichtung-Bereit-Bits vorliegen
können,
die die Rasterdaten der Abbildung aufweisen, die gedruckt werden
soll. Diese Daten können
in einem Puffer 322 gespeichert werden, bis dieselben dekomprimiert
werden müssen.
Eine Dekomprimierungseinheit 324 wählt ein geeignetes Dekomprimierungsmodul
aus, wie z. B. ein verlustbehaftetes Dekomprimierungsmodul 326 oder
ein verlustloses Dekomprimierungsmodul 328, um die komprimierten
Vorrichtung-Bereit-Bits
zu dekomprimieren, die durch den Druckertreiber erzeugt werden.
Die dekomprimierten Vorrichtung-Bereit-Bits können temporär in einem Puffer 330 gespeichert
werden, vor der Übertragung
zu der Druckmaschine 332.
-
4 zeigt ein Verfahren 400 zum
Erkennen des Inhaltstyps (z. B. Text oder Photographie) eines Datentyps,
wie z. B. Vorrichtung-Bereit-Bits (z. B. Rasterabbildungsdaten,
die aus der Interpretation von PDL-Befehlen hergeleitet werden oder
aus einem Druckertreiber hergeleitet werden und verwendet werden,
um die Druckmaschine eines Druckers zu treiben). Nachdem der Inhaltstyp
erkannt wurde, gibt das Verfahren auf intelligente Weise die Eigenschaft
und den Typ der verwendeten Komprimierung und Dekomprimierung an,
die verwendet werden, um die Daten zu verwalten. Das Verfahren erkennt
und verwendet den Inhaltstyp durch: Lernen und Aufzeichnen von Datenmustern,
die in den Vorrichtung-Bereit-Bits
angetroffen werden, die insbesondere unterschiedlichen Typen von
bekannten Abbildungen zugeordnet sind; Untersuchen der Vorrichtung-Bereit-Bits,
die Rasterabbildungen von unbekanntem Inhaltstyp darstellen und
Finden der erlernten und aufgezeichneten Datenmustern und dadurch
Entdecken des Inhaltstyps, dem die Vorrichtung-Bereit-Bits zugeordnet sind; und, Anweisen
eines Komprimierermoduls, ein Komprimierungsmodul zu verwenden,
das für den
entdeckten Inhaltstyp geeignet ist.
-
Bei
Block 402 wird ein Vorrat von Vorrichtung-Bereit-Bits,
der einer Abbildung eines bekannten Inhaltstyps entspricht, untersucht.
Die Vorrichtung-Bereit-Bits können
von einem Druckertreiber oder durch Interpretation von Befehlen
innerhalb einer PDL-Datei empfangen werden. Eine PDL-Datei einer
Abbildung eines bekannten Inhaltstyps (z. B. Text oder Photographie)
kann z. B. zu einem PDL-Interpretierer gesendet werden. Die PDL,
die verwendet wurde, kann PCL® (Printer Control Language),
PostScript® oder
eine andere Seitenbeschreibungssprache sein. Wenn die Befehle der
PDL-Datei interpretiert
werden, werden Vorrichtung-Bereit-Bits erzeugt. Alternativ dazu
können
die Vorrichtung-Bereit-Bits direkt aus einem Druckertreiber erzeugt werden.
-
Bei
Block 404 werden Musterwiederholungsraten von Vorrichtung-Bereit-Bits,
die Rasterabbildungen eines bekannten Typs zugeordnet sind, eingerichtet
und aufgezeichnet. Die Vorrichtung-Bereit-Bits werden durch ein
Lernmodul oder eine ähnliches
Modul oder eine Struktur untersucht. Die Muster können Datensegmente
einer beliebigen Länge
sein, wie z. B. die 4-Bit-Segmente, die in der ersten Spalte von
Tabelle 1 gezeigt sind. Die Rasterabbildungen von einem bekannten
Inhaltstyp können
Rasterabbildungen von Text, von Photographien oder Linientechnik
oder eines anderen Mediums sein. Durch Einrichten einer Rate, mit
der unterschiedliche Muster wiederholt werden, werden Daten, wie
z. B. die, die in den Spalten 2 und 3 von Tabelle 1 gezeigt sind,
erzeugt.
-
Die
Blöcke 402 und 404 können für Vorrichtung-Bereit-Bits
wiederholt werden, die unterschiedliche Inhaltstypen aufweisen,
wie z. B. Photographien, Text, Linientechnik etc. Entsprechend kann
eine Tabelle ähnlich zu
Tabelle 1 erzeugt und gespeichert werden, wodurch eine Musterbibliothek
aufgebaut wird. Die erzeugte Tabelle kann eine Anzahl von Spalten
aufweisen, wobei jede derselben Vorrichtung-Bereit-Bits entspricht,
die Rasterabbildungen zugeordnet sind, die unterschiedliche Inhaltstypen
aufweisen.
-
Bei
Block 406 werden die Vorrichtung-Bereit-Bits untersucht,
um die Rate zu bestimmen, mit der sich unterschiedliche Muster wiederholen.
Die Vorrichtung-Bereit-Bits können
durch Interpretation einer PDL-Datei erzeugt werden, die an einen
Drucker gesendet wird, oder dieselben können direkt durch einen Druckertreiber erzeugt
werden. Bei einer Implementierung werden die Vorrichtung-Bereit-Bits
durch ein Erkennungsmodul oder ein ähnliches Modul empfangen. Die
Vorrichtung-Bits werden nach dem Auftreten unterschiedlicher Muster
untersucht, und die Wiederholungsrate für die unterschiedlichen Muster
wird berechnet. Die Quantität
der Vorrichtung-Bereit-Bits, die untersucht werden, bevor die Rate
berechnet wird, sollte so ausgewählt
werden, daß dieselbe
ausreichend ist, um den Inhaltstyp zu einem hohen Grad an Zuverlässigkeit
zu bestimmen, jedoch nicht so hoch, daß er erfordert, daß eine übermäßige Quantität von Vorrichtung-Bereit-Bits
gepuffert wird.
-
Bei
Block 408 wird die Musterwiederholungsrate mit der Tabelle
der Musterwiederholung verglichen, die in der Musterbibliothek gespeichert
ist. Der Inhaltstyp der den Vorrichtung-Bereit-Bits zugeordnet ist,
wird dann bestimmt. Ein Schlüsselfaktor
ist, daß bestimmte
Datenmuster überwie gend
Rasterabbildungen zugeordnet sind, die bestimmte Inhaltstypen aufweisen
(z. B. Text, Photo etc.). Entsprechend diesem Faktor ist das Auftreten
oder Nichtauftreten dieser Datenmuster in den Vorrichtung-Bereit-Bits
eine sehr starke Anzeige für den
Inhalt, der der Rasterabbildung zugeordnet ist, die durch die Vorrichtung-Bereit-Bits
gebildet wird. Entsprechend wird der Inhaltstyp, der den Vorrichtung-Bereit-Bits
zugeordnet ist, bestimmt.
-
Bei
Block 410 werden die Vorrichtung-Bereit-Bits auf eine Weise
komprimiert und dekomprimiert, die durch den Inhaltstyp der Rasterabbildung
angezeigt wird, die durch die Vorrichtung-Bereit-Bits gebildet wird. Das
Datenerkennungsmodul – oder
ein ähnliches
Modul, das die Vorrichtung-Bereit-Bits untersucht, um den Typ den
Inhalts zu bestimmen, den die Vorrichtung-Bereit-Bits darstellen – zeigt
dem Komprimierermodul die Eigenschaft des Inhalts an. Die Komprimierereinheit
wählt dann
basierend auf dem Inhaltstyp ein geeignetes Komprimierungsmodul
aus. Wenn der Inhalt z. B. Text ist, verhindert ein verlustloser
Komprimierungsalgorithmus die Bildung von Artefakten wenn die Vorrichtung-Bereit-Bits
nicht komprimiert sind und zu der Druckmaschine gesendet werden.
Alternativ, wenn der Inhalt eine photographische Abbildung ist,
ist ein verlustbehafteter Komprimierungsalgorithmus üblicherweise
effizienter.
-
Bei
Block 412 kann eine Änderung
der Wiederholungsrate von einem oder mehreren Mustern anzeigen,
daß der
Inhaltstyp geändert
wurde. Wenn z. B. eine Inhaltsseite sowohl photographischen als
auch textbasierten Inhalt umfaßt,
kann sich die Rasterabbildung, die durch die Vorrichtung-Bereit-Bits
gebildet wird, von einem ersten Inhaltstyp zu einem zweiten Inhaltstyp
verschieben. Folglich kann sich die Musterwiederholungsrate innerhalb
der Vorrichtung-Bereit-Bits ebenfalls ändern, wodurch die Verschiebung
angezeigt wird. Entsprechend kann das Verfahren der Komprimierung
nach einer Änderung
der Musterwiederholungsrate an dem Punkt verändert werden, der durch die
Verschiebung der Musterwie derholungsraten angezeigt wird. Somit kann
der photographische und textbasierte Inhalt auf einer einzelnen
Seite einer Druckausgabe nach Wunsch unter Verwendung unterschiedlicher
Einrichtungen komprimiert werden.
-
Zusammenfassend
bestimmt ein Verfahren und eine Vorrichtung den Typ der Datenkomprimierung, der
verwendet werden soll, um Vorrichtung-Bereit-Bits zu komprimieren.
Ein Druckertreiber auf einer Arbeitsstation kann Vorrichtung-Bereit-Bits ausgeben. Alternativ
kann ein PDL-Interpretierer auf einem Drucker Vorrichtung-Bereit-Bits
ausgeben, wenn ein PDL-Dokument, das von einer Arbeitsstation gesendet
wird, interpretiert wird. Ein Datenerkennungsmodul untersucht Datenmuster
innerhalb der Vorrichtung-Bereit-Bits und erkennt dadurch den Inhaltstyp,
der innerhalb der Rasterabbildung enthalten ist, die aus der Ausgabe
der Vorrichtung-Bereit-Bits
resultiert. Diese Informationen werden dann verwendet, um den Komprimierungstyp
zu bestimmen, der verwendet werden soll. Die komprimierten Vorrichtung-Bereit-Bits werden
dann gespeichert, bis dieselben benötigt werden, und durch ein
geeignetes Modul vor ihrer Übertragung
zu der Druckmaschine dekomprimiert.
-
Obwohl
die Offenbarung in einer Sprache beschrieben wurde, die für strukturelle
Merkmale und/oder Verfahrenschritte spezifisch ist, wird darauf
hingewiesen, daß die
beiliegenden Ansprüche
nicht auf die spezifischen beschriebenen Merkmale oder Schritte
beschränkt
sind. Statt dessen sind die spezifischen Merkmale und Schritte exemplarische
Formen zum Implementieren dieser Offenbarung. Während z. B. exemplarische Datenmuster
offenbart wurden, hängen
diese Datenmuster von vielen Faktoren ab, wie z. B. der Eigenschaft des
verwendeten Druckertreibers und des PDL-Interpretierer. Entsprechend
können
Datenmuster und ihre Frequenz des Auftretens für eine bestimmte Anwendung
variieren.
-
Zusätzlich dazu,
während
eine oder mehrere Implementierungen und Verfahren mittels Flußdiagrammen
und Text offenbart wurden, die den Blöcken zugeordnet sind, wird
darauf hingewiesen, daß die
Blöcke nicht
notwendigerweise in der Reihenfolge ausgeführt werden müssen, in
der dieselben vorlegt wurden, und daß eine alternative Reihenfolge
zu ähnlichen
Vorteilen führen
kann.