-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf das Gebiet eines Druckens
und insbesondere, obwohl nicht ausschließlich, auf ein Verfahren zum
Erzeugen einer tonkorrigierten Halbtonmatrix.
-
Hintergrund
der Erfindung
-
Herkömmliche
Drucker, z. B. kommerzielle Computerdrucker zu einer Verwendung
im Büro
oder zu Hause zu einem Ausdrucken von Bildern, die im allgemeinen
Photographien, Zeichnungen, einen Text, Web-Seiten und dergleichen
umfassen, und kommerzielle Drucker für ein Drucken von Zeichnungen
mit hoher Qualität,
verwenden einen Prozeß einer
digitalen Halbtongebung, um elektronische Bilddaten in Druckbefehle
umzuwandeln, die zu einem Druckerkopf gesendet werden, um eine Mehrzahl von
kleinen Punkten auf ein Druckmedium zu drucken, z. B. Papier, um
ein Bild auf dem Druckmedium zu erzeugen. Für einen Text oder Linienzeichnungen ist
typischerweise eine Halbtongebung nicht erforderlich, weil Linien
durchgehend gedruckt werden, jedoch wird eine Halbtongebung für ein Drucken
von Bildern verwendet, die variierende Schattierungen einer Farbe
oder von Grau aufweisen, wie beispielsweise Photographien. Herkömmliche
digitale Halbtongebungsverfahren sind im Stand der Technik gut bekannt.
Siehe z. B.
EP-A-0859506 .
-
Mit
Bezug auf 1 hierin ist
schematisch eine Signalverarbeitung dargestellt, die bei einem herkömmlichen
Halbtongebungsprozeß betroffen
ist. Bilddaten sind als elektronische Signale in einem elektronischen
Puffer gespeichert. Die Bilddaten sind in einer Mehrzahl von Bildebenen
angeordnet, wobei jede Bildebene einer Farbe entspricht, die gedruckt werden
soll. Bei dem Beispiel von 1 gibt
es vier Bildebenen 100–103,
die Cyan, Magenta, Gelb bzw. Schwarz entsprechen. Jede Bildebene
weist ein zweidimensionales Array von Pixeln auf, wobei jedes Pixel
eine Intensität
gemäß einer
Grauskalierung aufweist, die beispielsweise 256 Pegel aufweist,
die als ein Byte von Grauskalierungsinformationen pro Pixel gespeichert
sind.
-
Mit
Bezug auf 2 hierin ist
eine Signalverarbeitungsstufe zu einem Anwenden eines Halbtonmatrixdatenelements
auf eine der in 1 gezeigten Bildebenen
dargestellt. Das Matrixdatenelement weist vier Matrixebenen auf,
die den vier Farbebenen der Bilddaten entsprechen. Die Halbtonmatrixebene weist
ein zweidimensionales Array einer Mehrzahl von Datenelementen auf,
wobei jedes Datenelement einen Halbtonschwellenwert aufweist. Jedes
Pixel der Bildebene 100 ist mit einem entsprechenden jeweiligen
Halbtonwert in einer zweidimensionalen Halbtonmatrixebene 200 gerichtet,
so daß es
einen Halbtonschwellenwert für
jedes Pixel gibt. Eine N×N-Element-Halbtonmatrix
ist über
das Bild gekachelt, das typischerweise größer als N×N-Elemente ist, so daß jeder
Schwellenwert mit einem Pixelwert ausgerichtet ist. Ein Kacheln
der Halbtonmatrix ermöglicht
eine Verwendung einer Halbtonmatrix, die kleiner als eine Bildgröße ist.
Typischerweise weist eine Halbtonmatrix eine Mehrzahl von Schwellenwerten
von einem unterschiedlichen Wert auf, die in einer halbzufälligen Reihenfolge
in zwei Dimensionen angeordnet sind. Jede Bildebene weist eine eigene entsprechende
jeweilige Halbtonmatrixebene auf und eine derartige Beziehung zwischen
einer Bildebene 100 und einer Halbtonmatrixebene 200 ist
in 2 gezeigt. Jedes
Element in der Halbtonmatrixebene 200 weist einen Halbtonschwellenwert
auf, der gemäß einem
8-Bit-Wert abgestuft ist, d. h. 256 Pegel einer Halbtonschwelle.
Ein vollständiges
Bild in vier Farben würde
eine 32-Bit-Auflösung
aufweisen, d. h. 8 Bit pro Pixel pro Ebene.
-
Die
Halbtonschwellenmatrix bestimmt für das entsprechende jeweilige
Pixel der Bildebene, ob ein Punkt gedruckt wird oder nicht gedruckt
wird. Das Datenelement von der Bildebene wird mit dem Datenelement
in der entsprechenden Halbtonschwellenmatrixebene kombiniert, um
in einem planaren Druckdatenelement 201 zu resultieren,
das eine Matrix von Signalen aufweist, um einen Punkt bei einer entsprechenden
X-, Y-Koordinate der Ebene entweder zu drucken oder nicht zu drucken.
Wo z. B. ein Bilddatenelement in der Bildebene einen Graupegel von
50 % aufweist, das heißt,
daß die
Pixel des Bilds jeweils einen Wert von 127 aufweisen, wobei es 256 mögliche Graupegel
gibt, wird das resultierende Druckdatenelement in der Druckebene 201 Punkte aufweisen,
die für
näherungsweise
50 % der Pixel in der Bildebene gedruckt sind, und die anderen 50
% der Pixel in der Bildebene werden keine entsprechenden gedruckten
Punkte in der Druckebene 201 aufweisen. Die Halbtonmatrix
als solches ist nicht auf einen Wert oder einen anderen festgelegt.
Jeder einzelne Schwellenwert, zusammen mit dem Bildwert, bestimmt,
welche Pixel gedruckt werden.
-
Mit
Bezug auf 3 hierin sind
Bildverarbeitungsschritte des Stands der Technik dargestellt, die durch
einen Prozessor in einem Druckersystem zum dynamischen Erzeugen
einer Druckebene 201 zum Drucken eines Bilds ausgeführt werden.
Jeder Pixelintensitätswert
der Bildebene 100 wird mit dem entsprechenden jeweiligen
Halbtonschwellenwert der Halbtonmatrixebene 200 verglichen.
Bei einem Schritt 300 werden die Bildebene und die Halbtonschwellenebene
miteinander ausgerichtet. Die Pixel der Bildebene werden mit den
entsprechenden jeweiligen Elementen der Halbtonschwellenmatrixebene durch
ein Abtasten über
die Bildebene von links nach rechts und von oben nach unten bei
einem Schritt 301 verglichen, um eine 1:1-Entsprechung
zwischen jedem Pixel und einem jeweiligen Element der Halbtonschwellenmatrix
bei einem Schritt 302 zu erhalten. Der Wert jedes Pixels
wird mit einem entsprechenden Elementwert in der Halbtonschwellenebene 200 bei
einem Schritt 303 verglichen. Falls der Pixelwert bei einem
Schritt 304 mehr als der entsprechende jeweilige Halbtonmatrixschwellenwert
ist, dann wird ein Druckdatenelement in der Druckebene 201 gespeichert,
was angibt, daß das
Pixel gedruckt werden soll, und ein entsprechender Punkt wird gedruckt.
Falls jedoch der Pixelwert geringer als der entsprechende jeweilige
Halbtonschwellenwert ist, dann wird bei einem Schritt 305 ein
Datenelement in der Druckebene 201 gespeichert, was angibt,
daß das
Pixel nicht gedruckt werden soll, und ein Punkt wird nicht gesendet,
um zu drucken.
-
Jeder
Schwellenwert in der Matrix weist 8 Bits auf, so daß jedes
8-Bit-Pixel in jeder Farbbildebene mit einem entsprechenden jeweiligen 8-Bit-Schwellenwert
in der entsprechenden Halbtonschwellenmatrixebene für diese
Farbe verglichen wird. Herkömmlicherweise
werden Halbtonschwellenmatrizen mit 8 Bit pro Pixel des Stands der
Technik prozeßentkoppelt
(offline) erzeugt, um für
das Verhalten und andere Charakteristika eines Drucksystems geeignet
zu sein, und werden in einem Nur-Lese-Speicher (ROM = Read Only
Memory) oder auf einer Platte gespeichert und sind über eine Zeit
invariant. Das heißt,
wenn dieselben einmal erzeugt sind, werden die gespeicherten Halbtonschwellenmatrizen
in der Druckervorrichtung nicht verändert. Wenn die Halbtonmatrix
einmal erzeugt ist, wird dieselbe wiederholt verwendet und wird
nicht verändert.
-
Von
Leistungs- und Bildqualitätsstandpunkten
aus ist es erwünscht,
eine Halbtonmatrix aufzuweisen, die linear ist. Linear bedeutet,
daß eine
Systemantwort in Bezug auf digitale Zählwerte linear ist, die zu
einem Halbtongebungsmodul eingegeben werden. Da eine Systemantwort
mit einer Umgebung, einer Druckkassetteneinstellung, einem Medium
und dergleichen variiert, ist es erwünscht, die Fähigkeit
aufzuweisen, um die Linearisierung abhängig von dem Zustand des Druckersystems
dynamisch zu variieren.
-
Mit
Bezug auf 4 hierin ist
schematisch ein Signalverarbeiten des Stands der Technik zum Erzeugen
eines tonkorrigierten Bilds dargestellt. Eine Soll-Antwort 400,
die einer idealen Druckkopfantwort entspricht, ist entweder innerhalb
der Druckervorrichtung gespeichert oder wird analytisch definiert.
Eine Ist-Antwortkurve 401 wird durch ein Durchführen eines
Kalibrierungstests gemessen. Eine Kalibrierungsfunktion (im übrigen eine
Linearisierungsfunktion genannt) wird mit einer Kenntnis der Soll-Antwort 400 und
der Ist-Antwort 401 angewendet. Die Kalibrierungsfunktion
(Linearisierungsfunktion) wird bei einem Schritt 404 auf
ein Bilddatenelement 403 angewendet, was in einem modifizierten
Bilddatenelement 405 resultiert. Das modifizierte Bilddatenelement wird
bei einem Schritt 406 einer Halbtongebung unterzogen, was
dann als ein Signal zu einem Druckerkopf gesendet wird, um bei einem
Schritt 407 zu drucken.
-
Herkömmlicherweise
wird die Linearisierung vor einer Halbtongebung auf das Bilddatenelement angewendet,
wie es in 4 gezeigt
ist. Wann immer z. B. ein Bilddateneingang von z. B. 80 % Intensität empfangen
wird, wird, um die ideale Antwort zu erhalten, der 80%ige Bilddateneingang
gemäß der Kalibrierungsfunktion
durch z. B. 60 % der Bilddaten ersetzt. In dem Stand der Technik
wird das modifizierte Bilddatenelement dann vor einem Drucken einer Halbtongebung
unterzogen.
-
Eine
bekannte Technik betrifft ein Verwenden eines Nachschlagvektors,
um die Eingangsdaten vor einer Halbtongebung zu verändern. Der
Vektor wird abhängig
von der erforderlichen Linearisierung verändert. Diese Technik bringt
jedoch oft ein unerwünschtes
Konturieren bei einer Ausgangsdarstellung ein. Falls die Korrektur
stark ist, werden eindeutige Zustände der Eingangsdaten verloren.
-
Ein
anderer bekannter Ansatz besteht darin, eine Halbtonmatrix zu erzeugen,
die mit Bezug auf einen gegebenen Satz von Bedingungen durch ein
Modifizieren der Anzahl von Punkten inhärent linearisiert wird, die
für jeden
Eingangsbild-Graupegel gedruckt werden. Da Bedingungen variieren,
sollte die Matrix im Prinzip von Zeit zu Zeit regeneriert werden,
nachdem das Produkt die Fabrik verläßt. Einige Formen von Halbtonmatrizen
sind jedoch im Hinblick auf eine Zeit und/oder einen Speicher aufwendig
zu erzeugen, was dieselben zu einer dynamischen Erzeugung bei einem
Druckerprodukt schlecht geeignet macht.
-
Ein
Verwenden von vordefinierten Matrizen für jede mögliche Linearisierung ist nicht
vernünftig, da
es untragbar wäre,
die erforderliche Anzahl von Matrizen in einem Druckerprodukt zu
speichern. Eine Korrektur von Halbtonschwellendaten ist aus der
EP-A-0828378 und
der
EP-A-0673151 bekannt.
-
Zusammenfassung
der Erfindung
-
Die
Erfindung betrifft einen Prozeß,
der auf einen jeglichen Typ eines bekannten Schwellenmatrix-basierten
Halbtongebungssystems zum schnellen Erzeugen einer Matrix mit einer
gegebenen Tonantwort im Hinblick auf eine Anzahl von Punkten als
eine Funktion eines Eingangs in Digitalzählwerten anwendbar ist.
-
Bei
spezifischen Implementierungen wird eine 16-Bit-Schwellenmatrix erhalten und in einer Druckervorrichtung
in einem modifizierten Format gespeichert. Das modifizierte Format
wird hierin als ein Pegelvektor bezeichnet. Wenn es erforderlich
ist, wird eine 8-Bit-Schwellenmatrix schnell mit einer jeglichen
gegebenen Linearisierung aus den in dem Pegelvektor enthaltenen
Daten und einem zweiten Vektor erzeugt, der die erwünschte Linearisierung
spezifiziert (hierin ein Linearisierungsvektor genannt).
-
Gemäß dem ersten
Aspekt der vorliegenden Erfindung ist ein Verfahren zum Erzeugen
von Halbtonschwellenmatrixdaten für einen Bilddrucker bereitgestellt,
wobei das Verfahren folgende Schritte aufweist:
Nehmen eines
gespeicherten Halbtonmatrixdatenelements mit hohem Bitgehalt;
Reduzieren
des Halbtonmatrixdatenelements mit einem hohen Bitgehalt zu einem
Halbtonmatrixdatenelement mit einem relativ niedrigeren Bitgehalt,
innerhalb des Bilddruckers, wobei der Schritt der Reduktion ein
Eingliedern einer Druckerantwortkorrekturfunktion in das Halbtonmatrixdatenelement
mit einem relativ niedrigen Bitgehalt aufweist.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Erzeugen eines Halbtonmatrixdatenelements mit einer vorbestimmten
Antwort einer Anzahl von Punkten, die als Funktion eines digitalen
Eingabewertes gedruckt werden, bereitgestellt, wobei das Verfahren
dadurch gekennzeichnet ist, daß es
folgende Schritte aufweist:
Speichern von Daten, die eine Mehrzahl
von Datenelementen beschreiben, als eine Mehrzahl von Vektoreinträgen, wobei
jeder Vektoreintrag eine Indexzahl, die einem Halbtonschwellenpegel
mit einem höheren Bitgehalt
pro Element entspricht, ein X-Koordinaten-Datenelement, das einer
Position in einer ersten Dimension entspricht, und ein Y-Koordinaten-Datenelement,
das einer Position des Eintrags in einer zweiten Dimension entspricht,
aufweist, wobei das X- und das Y-Koordinaten-Datenelement die Indexzahl in
einer zweidimensionalen Ebene positionieren;
Speichern eines
Tonkorrekturdatenelements als eine Liste von Zahlen 401;
sequentielles
Durchgehen der Liste von Zahlen 1001 für jede Zahl der Liste, Zuordnen
eines Halbtonschwellenpegels zu einer entsprechenden Zahl der Vektoreinträge, wobei
für jede
der Zahlen der Liste ein unterschiedlicher Halbtonschwellenwert
zugeordnet wird; und
Erzeugen 504 einer zweidimensionalen
Halbtonschwellenpegelmatrix mit einem niedrigeren Bitgehalt pro
Element 402 aus der Mehrzahl von Vektoreinträgen und
ihren entsprechenden jeweiligen zugeordneten Halbtonschwellenpegeln.
-
Vorzugsweise
weist der Schritt des Erzeugens einer zweidimensionalen Halbtonschwellenpegelmatrix
folgenden Schritt auf für
jeden Vektordateneintrag, Speichern eines dem Indexwert zugeordneten
Schwellenpegeldatenelements in einer Position innerhalb der zweidimensionalen
Halbtonschwellenpegelmatrix, die den X- und Y-Koordinaten des Vektordateneintrags
entspricht.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Erzeugen von Halbtonschwellendaten für ein Bilddrucksystem bereitgestellt,
wobei das Verfahren dadurch gekennzeichnet ist, daß es folgende
Schritte aufweist:
Speichern eines Schwellenpegeldatenelements
mit einem höheren
Bitgehalt 600, das eine Mehrzahl von einzelnen Schwellenpegelelementen
aufweist;
Umwandeln 500 des Schwellenpegeldatenelements mit
einem höheren
Bitgehalt in zumindest einen Pegelvektor, wobei der Pegelvektor 400 eine
Mehrzahl von Vektordateneinträgen,
jeweils aus einer Indexwertzahl, die einen Hohen-Bit-Gehalt-Pegelwert
eines Halbtonschwellenpegelwerts darstellt, und eine entsprechende
Koordinate des Schwellenpegelwerts aufweist;
Anwenden 502 einer
Tonkorrekturfunktion durch Spezifizieren einer Anzahl der auszuwählenden
Vektordateneinträge;
Auswählen der
Anzahl von Vektordateneinträgen
aus der Mehrzahl von Vektordateneinträgen in dem Pegelvektor, wobei
die ausgewählte
Mehrzahl von Vektordateneinträgen
höchste
Indexzahlen aufweist, die höchsten
Schwellenpegelzahlen der Mehrzahl von Vektordateneinträgen entsprechen;
und
Transformieren 504 der Mehrzahl von ausgewählten Vektordateneinträgen in eine
zweidimensionale Schwellenmatrix mit einem niedrigeren Bitgehalt.
-
Gemäß einem
vierten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Anwenden einer Korrektur auf Bilddaten bereitgestellt, um eine Druckerantwortcharakteristik
zu korrigieren, wobei das Verfahren folgende Schritte aufweist:
Erzeugen
einer Korrekturcharakteristik, um eine Antwort der Druckervorrichtung
zu korrigieren;
Anwenden der Korrekturcharakteristik auf ein
Halbtonmatrixdatenelement mit einem relativ hohen Bitgehalt, um
ein Halbtonmatrixdatenelement mit einem relativ niedrigeren Bitgehalt
zu erhalten, das im Hinblick auf die Druckerantwort korrigiert ist;
und
Verarbeiten der Bilddaten unter Verwendung des Halbtonmatrixdatenelements
mit einem relativ niedrigen Bitgehalt.
-
Die
Schwellenpegelmatrix mit hohem Bitgehalt 600 kann eine
Matrix aufweisen, die 16 Bit pro Element aufweist. Die Schwellenpegelmatrix
mit einem relativ hohen Bitgehalt von 16 Bit pro Element wird in
eine Schwellenmatrix mit einem relativ niedrigen Bitgehalt umgewandelt,
die eine Mehrzahl von Elementen aufweist, wobei jedes z. B. 8 Bit
pro Element aufweist. Eine Umwandlung wird dynamisch gemäß einem
Zahleneingang von einem Linearisierungsvektor vorgenommen, der in
einer Druckervorrichtung gespeichert ist.
-
Das
Verfahren wird ohne weiteres auf ein Mehr-Ebene-, z. B. Vier-Ebene-Bild
unter Verwendung von vier unabhängigen
Matrizen angewendet.
-
Spezifische
Implementierungen gemäß der Erfindung
können
die folgenden Vorteile aufweisen:
- • Ein Pegelvektor
wird ohne weiteres durch ein Übersetzen
aus einer zweidimensionalen 16-Bit-Schwellenmatrix berechnet. Der
Pegelvektor nimmt dieselbe Größe eines
Speichers wie die zweidimensionale 16-Bit-Schwellenmatrix ein.
- • Die
Verfahren sind auf einen jeglichen Stil einer Halbtongebung anwendbar,
die in einer herkömmlichen
zweidimensionalen Schwellenmatrix dargestellt werden kann, einschließlich Schwellenmatrizen,
die von Dritten gekauft sind.
- • Eine
Bildqualität
kann durch ein Eliminieren eines Konturierens verbessert werden,
das durch eine Linearisierung mit einer niedrigen Auflösung bewirkt
wird, die vor einer Halbtongebung angewendet wird.
- • Eine
Ausführungszeit
und eine Halbtongebungszeit sind verglichen mit einer Linearisierung
mit einer niedrigen Auflösung
des Stands der Technik, die vor einer Halbtongebung angewendet wird,
reduziert.
- • Eine
Erzeugung einer 8-Bit-Schwellenmatrix ist relativ schnell und tritt
in einer deterministischen Zeitdauer auf, die weitgehend unabhängig von den
Daten ist, die in der Linearisierungsmatrix und dem Pegelvektor
gespeichert sind.
-
Die
Verfahren sind zu dynamischen Kompensationssystemen des Stands der
Technik kompatibel, wie beispielsweise Hewlett Packard Design Jet 2500
CP.
-
Kurze Beschreibung
der Zeichnungen
-
Zu
einem besseren Verständnis
der Erfindung und um zu zeigen, wie dieselbe ausgeführt werden
kann, werden nun lediglich durch ein Beispiel spezifische Ausführungsbeispiele,
Verfahren und Prozesse gemäß der vorliegenden
Erfindung mit Bezug auf die beiliegenden Zeichnungen beschrieben, in
denen:
-
1 hierin schematisch eine
elektronische Speicherung des Stands der Technik eines Bilddatenelements
in einer Mehrzahl von Bildebenen darstellt, die je einer unterschiedlichen
Farbe des Bilds entsprechen;
-
2 schematisch eine Signalverarbeitungsstufe
darstellt, die an einer Bildebene ausgeführt wird, zum Anwenden einer
Halbtonschwellenmatrix auf eine Bildebene des Bilds, um eine einer Halbtongebung
unterzogene Bildmatrix zu erzeugen;
-
3 schematisch Signalverarbeitungsschritte
des Stands der Technik zum Erzeugen einer Farbhalbtonbildmatrix
aus einer Mehrzahl von Bildfarbebenen und einer Mehrzahl von Halbtonschwellenmatrizen
darstellt;
-
4 schematisch ein Verfahren
des Stands der Technik zum Anwenden einer Korrekturfunktion auf
ein Bilddatenelement in einer bekannten Druckervorrichtung vor einem
Anwenden eines Halbtongebungsprozesses darstellt;
-
5 schematisch ein Kalibrierungsziel
darstellt, das durch eine Druckervorrichtung zum Kalibrieren einer
Operation der Druckervorrichtung gedruckt wird;
-
6 schematisch eine Charakterisierungskurve
für einen
Drucker zusammen mit einer passenden Korrekturkurve zum Kompensieren
der Charakterisierungskurve darstellt;
-
7 schematisch ein Signalverarbeitungsverfahren
zum Anwenden einer dynamisch erzeugten korrigierten Halbtonmatrix
auf einen Strom von Bilddaten darstellt;
-
8 schematisch Signalverarbeitungsschritte
zum Anwenden einer Tonkorrekturfunktion auf eine Schwellenpegelmatrix
mit einem hohen Bitgehalt, um eine Halbtonschwellenpegelmatrix mit
einem niedrigeren Bitgehalt zu erhalten, gemäß einem spezifischen Verfahren
der vorliegenden Erfindung darstellt;
-
9 schematisch Prozeßschritte
darstellt, die durch eine Prozessorvorrichtung an einem Halbtonmatrixdatenelement
mit einem hohen Bitgehalt zum Erzeugen einer Halbtondatenelementmatrix
mit niedrigerem Bitgehalt ausgeführt
werden;
-
10 schematisch eine zweidimensionale Darstellung
eines Halbtonmatrixdatenelements des Stands der Technik darstellt;
-
11 schematisch eine zweidimensionale Darstellung
eines Pegelvektorformats eines Schwellenpegeldatenelements von 10 gemäß einem spezifischen Verfahren
der vorliegenden Erfindung darstellt;
-
12 schematisch in einem
graphischen Format ein Beispiel einer Linearisierungsfunktion darstellt,
die einen Eingangspegelwert gegen die Anzahl von Pixeln, die gedruckt
werden sollen, aufträgt;
-
13 schematisch einen Linearisierungsvektor
darstellt, der die Linearisierungsfunktion von 12 implementiert;
-
14 schematisch Prozeßschritte
zu einem Umwandeln einer zweidimensionalen Halbtonschwellenpegelmatrix
in ein Pegelvektorformat, Anwenden einer Korrekturfunktion auf diesen
Pegelvektor und Umwandeln des tonkorrigierten Pegelvektors in ein
zweidimensionales Halbtonmatrixdatenelement mit einem niedrigen
Bitgehalt darstellt; und
-
15 schematisch einen Algorithmus
zum Zuweisen von Schwellenwerten für Dateneinträge in einem
Pegelvektor auf eine dynamische Weise, um eine zweidimensionale
Halbtonschwellenmatrix mit einem niedrigeren Bitgehalt von 8 Bit
pro Element in einer Druckervorrichtung zu erzeugen, darstellt.
-
Detaillierte
Beschreibung des besten Modus zum Ausführen der Erfindung
-
Es
wird nun durch ein Beispiel der beste Modus, der durch die Erfinder
betrachtet wird, zum Ausführen
der Erfindung beschrieben. In der folgenden Beschreibung sind zahlreiche
spezifische Details dargelegt, um ein genaues Verständnis der
vorliegenden Erfindung zu liefern. Einem Fachmann auf dem Gebiet
ist jedoch ersichtlich, daß die
vorliegende Erfindung ohne eine Begrenzung auf diese spezifischen
Details praktiziert werden kann. Bei anderen Instanzen wurden gut
bekannte Verfahren und Strukturen nicht detailliert beschrieben,
um die vorliegende Erfindung nicht unnötig undeutlich zu machen.
-
Spezifische
Implementierungen gemäß der Erfindung
befassen sich mit einem Erzeugen von tonkorrigierten Matrizen mit
einer relativ niedrigen Auflösung,
M pro Pixel, z. B. 8 Bit pro Pixel, direkt prozeßgekoppelt (online) bei einem
DruCkersystem, die tonkorrigiert sind, um Variationen einer Druckersystemantwort
zu kompensieren, wobei als ein Startpunkt eine Halbtonschwellenmatrix
mit einem relativ höheren
N-Bit pro Pixel verwendet wird. Konzeptionell ist eine Bittiefe
einer Halbtonmatrix mit einem hohen Bitgehalt reduziert und eine
Korrekturfunktion, z. B. eine Linearisierungsfunktion, ist eingegliedert,
um in einer Halbtonmatrix mit einem niedrigeren Bitgehalt zu resultieren,
die dynamisch erzeugt werden kann.
-
Bei
den spezifischen hierin beschriebenen Implementierungen werden prozeßentkoppelt
berechnete Halbtonschwellendaten mit einer hohen Auflösung von
N Bit pro Pixel für
jede einer Mehrzahl von Bildfarbebenen bereitgestellt. Prozeßentkoppelt berechnet
bedeutet, daß das
Halbtonschwellendatenelement mit einem hohen Bitgehalt außerhalb
des Druckersystems berechnet wird, wo dasselbe angewendet wird.
Bei dem Halbtonschwellendatenelement mit einem hohen Bitgehalt ist
ein N-Bit-Schwellenwert bereitgestellt, wobei N eine jegliche Anzahl von
Bits ist, die einen relativ hohen Bitgehalt ergibt, z. B. einen
10-, 12- oder 16-Bit-Schwellenwert,
der jedem Pixel in den Bildfarbebenen entspricht. Dies ermöglicht einen
großen
Bereich von unterschiedlichen Schwellenwerten in der Schwellenmatrix.
Bei einem Eingliedern einer Druckerkorrekturfunktion in die Schwellenmatrix
mit einem höheren
Bitgehalt resultiert eine Schwellenmatrix mit einem niedrigeren
Bitgehalt, aber weil eine Halbtonmatrix mit einem hohen Bitgehalt
der Startpunkt ist, wird eine Granularität von Halbtonpegeln bei der
resultierenden korrigierten Matrix mit einem niedrigen Bitgehalt
beibehalten. Während
ein 8-Bit-Schwellenwert 256 unterschiedliche Pegel eines Schwellenwerts
ermöglichen
würde, ermöglicht ein
10-Bit-Schwellenwert 1024 unterschiedliche Pegel, ermöglicht ein
12-Bit-Schwellenwert 4096 unterschiedliche Pegel eines Schwellenwerts
pro Bildpixel für
jede Farbe oder ein 16-Bit-Schwellenwert ermöglicht 64 k (65536) von unterschiedlichen
Pegeln für
jedes Pixel.
-
Die
tonkorrigierten Matrizen mit einem niedrigeren Bitgehalt weisen
eine Anzahl von M Bits pro Pixel auf, wobei M geringer als N ist.
-
Mit
Bezug auf 5 hierin ist
schematisch ein Drucktest dargestellt, der durch einen Drucker zu Kalibrierungszwecken
ausgeführt
wird. Der Drucker wird in einem Kalibrierungsmodus aktiviert, um
unterschiedliche Bereiche einer Farbe in einer Mehrzahl von Flecken
(Patches) zu drucken, von denen jeder eine unterschiedliche Intensität aufweist.
Der Drucker druckt eine Mehrzahl von Rampen von abgestuften Flecken
einer Farbe als einen Kalibrierungstest von sich aus z. B. bei einer
Inbetriebnahme. Null-Intensität-Flecken
werden nicht gedruckt, da diese bloß die Hintergrundblattmaterialmedien
sind, z. B. weißes
Papier. Die gedruckten Farben sind z. B. schwarz, cyanfarben, magentafarben
und gelb. Für jede
Farbe werden Flecken in einer sich erhöhenden Intensität gedruckt,
z. B. bei 10 %, 20 %, 40 %, 50 %, 60 %, 80 %, 90 % und 100 % der
Farbintensität.
Die abgestufte Rampe von Farben wird dann durch einen optischen
Sensor gelesen, der ein Druckmedium überquert, auf das die Rampe
von abgestuften Farbflecken gedruckt ist, was eine Antwortkurve
für jede Farbe
ergibt, die aus dem Kalibrierungsdruck resultiert.
-
Die
Dichten der Flecken werden durch den optischen Sensor gemessen.
Die Dichte kann in absoluten Ausdrücken, z. B. relativ zu einem
reinen Weiß,
wie beispielsweise einem Halon, oder in relativen Ausdrücken gemessen
werden, d. h. relativ zu dem weißen Medienblatthintergrund
(weißes
Papier) und dem 100 % schwarzen Fleck oder einer schwarzen Falle
oder einem dunklen Bereich, der innerhalb der Druckervorrichtung
vorgesehen ist.
-
Mit
Bezug auf 6 hierin ist
schematisch eine Charakterisierungskurve 600 dargestellt,
die aus der Fleck-Kalibrierung
von 5 bestimmt ist und
eine Antwort eines speziellen Druckers auf verschiedene Pegel eines
Graupegel signaleingangs kennzeichnet. Die Charakterisierungskurve 600 trägt einen
Prozentsatz einer Grauskalierung, die gedruckt werden soll, d. h.
einen Prozentsatz einer Grauskalierung, der einem Druckkopf des
Druckers befohlen wird, gegen eine gemessene Intensität oder Dichte einer
Tinte, wie dieselbe gedruckt ist, auf. Zum Beispiel kann dem Druckkopf
befohlen werden, bei Intervallen von 10 %, 20 %, 30 %, 40 % und
50 % einer Grauskalierung zu drucken. Ein idealer Drucker druckt
50 % Tintendichte ansprechend auf einen 50%-Grauskalierung-Signaleingang.
Druckerköpfe können jedoch
nicht-lineare Antworten aufweisen, wie es durch die Druckkopf-Ist-Kennlinie 600 dargestellt
ist. In diesem Fall verhält
sich der Druckkopf bei einem gegebenen Prozentsatz einer Grauskalierung, um
eine höhere
Dichte einer gedruckten Tinte zu ergeben, als es erforderlich ist.
Zum Beispiel kann der Druckkopf bei einem 50%-Grauskalierung-Signal
tatsächlich
Tinte mit einer höheren
Dichte als 50 % drucken, wie es durch einen Punkt 601 in 6 gezeigt ist. Auf eine ähnliche
Weise kann bei Grauskalierungen eines anderen Prozentsatzes der
Druckkopf eine Tinte dichter drucken. Um die Gesamtantwort des Druckers
auf Bilddaten zu linearisieren, muß der Drucker eine Linearisierungscharakteristik
anwenden, die durch eine Linie 602 dargestellt ist und
die Dichte einer Tinte, die tatsächlich
gedruckt wird, berichtigt, um die gleiche zu sein, wie dieselbe,
die durch das Grauskalierungssignal befohlen wird, und um eine Gesamtantwort
zu erhalten, die einer Ideal-Antwort-Kurve 603 entspricht.
Um somit eine 50%ige Tintendichte zu drucken, wäre ein 50%-Grauskalierung-Signal
modifiziert, um ein Signal zu ergeben, das äquivalent zu einem Grauskalierungssignal
niedriger als 50 % ist, so daß,
wenn die nichtlineare Antwort des Druckkopfs berücksichtigt wird, die Ist-Dichte
einer gedruckten Tinte 50 % beträgt.
In 6 ist x der Korrekturwert
von Grauskalierung-%, um eine 50%-Intensität-Antwort zu ergeben. Auf eine ähnliche
Weise für
alle anderen Prozentsätze
einer Grauskalierung. Die Linearisierungsfunktion 602 gilt für einen
speziellen Satz von Druckköpfen
und einen speziellen Satz von Medien für eine spezielle Druckervorrichtung.
Die Linearisierungsfunktion kann nicht vorberechnet werden, sondern
hängt von
den Bedingungen des Druckers zu der Zeit ab, einschließlich Temperatur,
Feuchtigkeit, Typ eines Medienladers, d. h. Tinte plus Blattmaterial,
und der Bedingung der Druckköpfe.
Die ideale Antwort, in diesem Fall die gerade Linie 603,
muß nicht
notwendiger Weise linear sein, obwohl es dieselbe in vielen Fällen ist.
Das Kalibrierungsmuster wird für
jede der unterschiedlichen Tinten gedruckt, die in die Druckervorrichtung
geladen sind. Die ideale Antwort 603 kann innerhalb des
Druckers gespeichert werden oder kann als eine analytische lineare
Funktion zwischen einer minimalen und einer maximalen Intensität gespeichert
werden.
-
Die
Korrekturfunktion 602 bildet einen Linearisierungsvektor.
Um die nicht-lineare Druckerantwort zu korrigieren, muß für jeden
Punkt an der Ist-Druckercharakteristik 600 ein entsprechender
Punkt an der Linearisierungsfunktion 602 gefunden werden, was,
wenn dasselbe auf ein Bilddatenelement angewendet wird, das Druckergebnis
für eine
befohlene Prozentsatz-Grauskalierung zu einer idealen Antwort korrigiert.
-
Mit
Bezug auf 7 hierin ist
schematisch ein Signalverarbeiten dargestellt, das bei einer Druckervorrichtung
gemäß der spezifischen
Implementierung der vorliegenden Erfindung auftritt, zum Anwenden
einer dynamisch erzeugten linearisierten Halbtonmatrix auf ein Bilddatenelement.
Eine Soll-Antwort 700 ist vorgespeichert oder wird während dem
Betrieb erzeugt. Eine Ist-Antwort-Charakteristik 701, die
durch ein Drucken von Kalibrierungsflecken erhalten wird, wie es
mit Bezug auf 5 hierin
beschrieben ist, wird erhalten. Bei einem Prozeß 702 wird eine Kalibrierungsfunktion
(Linearisierungsfunktion) erhalten, wie es schematisch mit Bezug
auf 6 dargestellt ist.
Die Linearisierungsfunktion wird in eine 8-Bit-Halbtongebungsmatrix
eingebaut und mit einem Bilddatenelement 703 bei einem
Prozeß 704 kombiniert.
Das einer Halbtongebung unterzogene und line arisierte Bilddatenelement wird
gesendet, um bei einem Druckprozeß 705 zu drucken.
Bevor dieselbe auf das Bilddatenelement angewendet wird, wird die
Linearisierungsfunktion bei einem Schritt 706 mit einer
16-Bit-Halbtonmatrix 707 kompiliert. Die 16-Bit-Halbtonmatrix 707 wird durch
ein Kompilieren der Linearisierungsfunktion 702 mit der
16-Bit-Halbtonmatrix 707 bei
einem Schritt 706 in eine 8-Bit-Halbtonmatrix 704 umgewandelt.
Die Linearisierungsfunktion wird während einer Halbtongebung bei
dem Prozeß 704 und
nicht als ein getrennter Schritt vor einer Halbtongebung angewendet.
Da die Linearisierungsfunktion in die Halbtongebungsmatrix bei dem
Prozeß 706 eingebaut
wird, können
Berechnungsschritte des Stands der Technik eines Anwendens einer
Linearisierungsfunktion auf ein Bilddatenelement vor einer Halbtongebung
vermieden werden.
-
Die
Kompilierung bei dem Schritt 706 wird lediglich einmal
vorgenommen und das Bilddatenelement 703 wird über die
linearisierte Halbtonmatrix 704 kontinuierlich verarbeitet,
um Druckbilder 705 zu erzeugen. Die 16-Bit-Halbtonmatrix
verändert
sich nicht, während
sich die Linearisierungsfunktion jedes Mal verändern kann, wenn der Drucker
neu gestartet wird. Die linearisierte 8-Bit-Halbtonmatrix 704 ist
die Matrix, die tatsächlich
zu einem Verarbeiten des Bilddatenelements 703 verwendet
wird. Die 16-Bit-Halbtonmatrix 707 ist als ein 16-Bit-Datenelement
vorgesehen, da, falls anstelle dessen eine 8-Bit-Halbtonmatrix verwendet
würde,
dann bei dem Prozeß des Anwendens
der Linearisierungsfunktion Graupegel verloren würden. Durch ein Verwenden einer 16-Bit-Halbtonmatrix 707 kann
eine linearisierte 8-Bit-Halbtonmatrix
ohne einen Verlust eines Graupegels erreicht werden.
-
Mit
Bezug auf 8 hierin ist
ein Signalverarbeitungsverfahren gemäß einer spezifischen Implementierung
der vorliegenden Erfindung zum Anwenden einer Tonkorrekturfunktion
dargestellt, die in einem Schwellenpegeldatenelement mit einem hohen
N-Bit-pro-Element-Gehalt (z. B. 10, 12 oder 16 Bit pro Element)
enthalten ist, um in einer Schwellenpegelmatrix mit einem niedrigen
M-Bit-pro-Element-Gehalt, z. B. mit 8 Bit pro Element, in einer
Druckervorrichtung zu resultieren. Bei diesem Beispiel ist ein 16-Bit-Schwellenpegel bei
jedem Element des Schwellenpegeldatenelements 800 vorgesehen.
-
Die
Schwellenmatrix mit einem niedrigen Bitgehalt 802, die
eine Mehrzahl von 256×256-Datenelementen
aufweist, die jeweils einen Schwellenpegel von M Bits speichern,
wobei jeder Schwellenpegel einem jeweiligen Pixel in einer Bildebene
entspricht, wird aus dem Datenelement mit einem hohen Bitgehalt 800 dynamisch
gemäß einer
digitalen Zahleneingabe erzeugt, die als ein Linearisierungsvektor-Datenelement 801 gespeichert
ist, was eine Anzahl von Punkten spezifiziert, die gedruckt werden
sollen.
-
Bei
der spezifischen Implementierung wird für jede Farbebene eines Bilds
ein Datenelement mit 16 Bit pro Element von Schwellenwerten 800 in
einem elektronischen Puffer in einem Vektorformat gespeichert. Dieses
Datenelement wird hierin ein Pegelvektor 800 genannt und
ist in der Form einer Liste von X-, Y-Koordinaten, wobei jede X-,
Y-Koordinate eine entsprechende jeweilige Indexzahl aufweist, von denen
es z. B. 65536 gibt, eine für
jedes Element eines 256×256-Element-Arrays. Der
Pegelvektor weist einen indexierten Datenelementeintrag für jede der Positionen
eines zweidimensionalen Arrays auf. Der Pegelvektor speichert unterschiedliche
Schwellenpegel in einem Vektorformat, die aus einer prozeßentkoppelt
erzeugten Schwellenpegelmatrix mit einem hohen Bitgehalt, z. B.
einer 256×256-Element-Schwellenpegelmatrix
abgeleitet sind.
-
Eine
Tonkorrekturfunktion, die in 8 als ein
Linearisierungsvektor 801 dargestellt ist, wird auf das
Pegelvektordatenelement angewendet. Die Tonkorrekturfunktion berechnet
eine Korrektur eines speziellen Zustands des Druckersystems. Der
Zustand der Vorrichtung umfaßt
Dinge, wie beispielsweise ein spezielles Papier, auf dem gedruckt
wird, einen speziellen verwendeten Druckkopf oder dergleichen. Linearisierungen
des Bilddatenelements werden dynamisch berechnet. Die Tonkorrekturfunktion,
die auf das Matrixdatenelement mit einem hohen Bitgehalt in dem
Pegelvektor angewendet wird, gruppiert die Schwellenwerte mit einer
hohen Auflösung
in 256 Pegel um, um eine Tonkorrektur zu erreichen, und resultiert
in einer tonkorrigierten Halbtonschwellenmatrix mit 8 Bit pro Pixel 802,
die in einem Nur-Lese-Speicher oder einer Platte in einer Druckervorrichtung
gespeichert wird und die zu einem Anwenden eines Halbtons auf eine
Bildfarbebene 100 verwendet wird, wie es mit Bezug auf 1 bis 3 hierin beschrieben ist.
-
Linearisierungsfunktionen
können
basierend auf einem Testziel berechnet werden, das zu einem Druckmedium
gedruckt und dann durch einen optischen Sensor gemessen wird, der
in einer Druckervorrichtung vorgesehen ist. Basierend auf den Ablesungen
von dem Sensor, was von dem Drucken auf dem Druckmedium abhängt, berechnet
der Drucker eine Korrekturfunktion und die Funktion kann entweder
als eine Funktion oder bei dem besten Modus als ein Vektor gespeichert
werden. Wenn der Vektor einmal erhalten ist, wird derselbe auf die
Halbtonmatrix mit einem hohen Bitgehalt angewendet, um eine tonkorrigierte
Halbtonmatrix mit einem niedrigeren Bitgehalt zu erhalten. Die Linearisierungsfunktion
ist vorher nicht bekannt, sondern hängt von dem Zustand des Druckers
ab und wird dynamisch in dem Drucker berechnet. Der Drucker ist
zu einem Berechnen seiner eigenen Linearisierungsfunktionen und
einem Speichern derselben als Vektoren abhängig von dem Zustand des Druckers
und davon, welche Verbrauchsgüter
derselbe verwendet, in der Lage.
-
Der
Linearisierungsvektor ist eine Darstellung einer Tonantwort, die
erwünschtermaßen in eine resultierende
Schwellenpegelmatrix mit einer niedrigen Auflösung von 8 Bit pro Element
in der Druckervorrichtung eingebaut werden soll. Die Tonkorrekturfunktion,
die auf das Schwellendatenelement in dem Pegelvektor angewendet
wird, weist die Wirkung eines Modifizierens des Prozentsatzes von
Punkten auf, die in dem endgültigen
Druckbild für
jeden Graupegel (Pixelwert) gedruckt werden, verglichen mit einer
herkömmlichen
,punktlinearen' Halbtonmatrix, die
die gleiche Anzahl von Punkten für
jeden aufeinanderfolgenden Graupegel hinzufügt. Falls z. B. bei einer herkömmlichen
Halbtonmatrix für
ein Bild, das einen Graupegel von 127 aufweist (unter Annahme von
256 unterschiedlichen Pegeln von Grau), wird durchschnittlich eine
Hälfte
dieser Pixel gedruckt und eine Hälfte
wird in dem endgültigen
Druckbild nicht gedruckt. Durch ein Anwenden einer Tonkorrekturfunktion
kann der Prozentsatz von gedruckten Punkten variiert werden. Zum
Beispiel sind bei einem Bild, das einen Graugehalt bei einem Pegel
von 127 aufweist, (auf halbem Weg nach oben auf der Grauskalierung),
nach einem Durchlaufen durch die korrigierte Halbtonschwellenpegelmatrix
lediglich 40 % dieser Pixel in der endgültigen Druckbildmatrix vorhanden. 60
% dieser Pixel werden aufgrund der Halbtonmatrix an einem Drucken
gehindert.
-
Aufgrund
eines Punktgewinns und einer Anzahl von anderen physikalischen Faktoren
ist es im allgemeinen bevorzugt, weniger als 50 % der Punkte bei
einem Bild zu drucken, das einen 50%igen Graupegel (d. h. einem
Pegel von 127) aufweist, so daß z. B.
bei einem 50%igen Graupegel ein optimaler Prozentsatz von gedruckten
Punkten bei einem tonkorrigierten Druckbild z. B. 40 % sein kann.
-
Mit
Bezug auf 9 hierin sind
schematisch Signalverarbeitungsschritte zum Erzeugen der tonkorrigierten
Halbtonschwellenmatrix mit 8 Bit pro Element 802 dargestellt.
Es wird anfänglich
mit einer 256×256-Element-Halbtonschwellenmatrix
mit 16 Bit pro Element 800 gestartet und bei einem Schritt 900 wird
ein Pegelvektor erzeugt, der eine Mehrzahl von X-, Y-indexierten
Koordinateneinträgen
von 16 Bit aufweist. Der Pegelvektor wird prozeßentkoppelt außerhalb
eines Druckersystems aus einer ursprünglichen Halbtonschwellenpegelmatrix
mit 16 Bit pro Element erzeugt, aber der Pegelvektor selbst wird
in dem Druckersystem gespeichert. Bei einem Schritt 901 wird
direkt prozeßgekoppelt
eine Tonkorrekturfunktion erzeugt, wie es in 5 beschrieben ist, die als ein Linearisierungsvektor 801 in
dem Drucker gespeichert wird. Bei einem Schritt 902 wird
die vorbestimmte Tonkorrekturfunktion, die in der Linearisierungsfunktion
dargestellt ist, auf den Pegelvektor angewendet. Bei einem Schritt 903 resultiert
die Anwendung des Linearisierungsvektors auf den Pegelvektor in
einem Umgruppieren der Schwellenpegel in 256 Pegel, um eine tonkorrigierte
Halbtonschwellenmatrix mit 8 Bit pro Element 802 zu erreichen.
-
Mit
Bezug auf 10 und 11 hierin wird nun eine Erzeugung
eines Pegelvektors, der Schwellenpegeldaten enthält, aus einer 256×256-Schwellenpegelmatrix
mit 16 Bit pro Element beschrieben.
-
In 10 hierin ist schematisch
eine Schwellenmatrix 1000 gezeigt. Zu einer Einfachheit ist
in 10 eine 4×4-Element-Matrix gezeigt.
Die Zahlen innerhalb der Zellen in 10 stellen
Schwellenwerte dar und die Zahlen außerhalb der Zellen geben die
Koordinaten jedes Pixels innerhalb einer Bildebene an. Die in 10 gezeigte Matrix würde auf eine
einzige Farbebene eines Bilds angewendet.
-
Gemäß dem hierin
offenbarten besten Modus, wie derselbe schematisch in 11 dargestellt ist, ist
ein 16-Bit-Schwellendatenelement
in einem Nur-Lese-Speicher oder auf einer Platte in einem Drucker
in einem linearen Vektorformat 1100 gespeichert. Das in 11 hierin dargestellte Format
stellt ein Segment eines viel größeren Arrays
dar und ist zu Darstellungszwecken hierin lediglich als die gleichen Daten
wie dieselben, die in 10 hierin
gezeigt sind, enthaltend gezeigt. In 11 ist
das Datenelement in einem Format gespeichert, das hierin als ein „Pegelvektor" bezeichnet wird.
Schwellenwertpegel sind als Indexwer te dargestellt, wobei die ersten
16 unterschiedlichen Pegel eines Schwellenwerts bei diesem Beispiel
gezeigt sind. Bei der Implementierung des besten Modus gibt es 65536
mögliche
unterschiedliche Indexwerte, wobei jeder einen von 216 Schwellenpegeln
für ein
16-Bit-Schwellendatenelement darstellt. Es gibt ferner 256×256 = 65536
mögliche
unterschiedliche X-, Y-Werte, entsprechend der Anzahl von Elementen
in einem 256×256-Element-Array.
Für jeden
Schwellenwertpegelindex sind die (X- und Y-) Koordinaten in einer
Ebene durch ein 8-Bit-Horizontalachse-Koordinatendatenelement (X) und
ein 8-Bit-Vertikalachse-Koordinatendatenelement (Y) dargestellt.
In 11 entspricht der
fettgedruckte Bereich 1001 dem gleichen Dateneintrag, wie
der fettgedruckte umrissene Bereich in 10 hierin. Der Pegelvektor kann prozeßentkoppelt,
d. h. außerhalb
des Druckers, aus einer 256×256-Element-Schwellenpegelmatrix
mit 16 Bit pro Element erzeugt werden.
-
Beginnend
mit einer zweidimensionalen 256×256-Element-Halbtonschwellenmatrix,
wobei jedes Element einen 16-Bit-Schwellenwert
von 65536 möglichen
Werten aufweist, wird die zweidimensionale Matrix in ein Pegelvektorformat
umgewandelt, wie es schematisch in 11 hierin
dargestellt ist. Die ursprüngliche
zweidimensionale Halbtonmatrix weist 216 Elemente
auf und kann daher 216 + 1 eindeutige Anzahlen
von Punkten darstellen. Jede Anzahl von Punkten ist durch einen
Punktpegel dargestellt. Jeder der Halbtonschwellenwerte der ursprünglichen
16-Bit-Pegelmatrix wird in einen entsprechenden Vektoreintrag umgewandelt,
der eine X-Position und eine Y-Position bei einem Indexwert aufweist.
Es sind 65536 Indexwerte entsprechend 65536 unterschiedlichen Halbtonschwellenpegeln verfügbar.
-
In
dem Fall einer 256×256×16-Bit-Linearisierungsmatrix
weist dies vor einer Umwandlung 216 16-Bit-Einträge auf und
nimmt daher 217 Bytes Speicher ein. Das
gleiche Datenelement, das in ein Pegelvektorformat umkonfiguriert
ist, wie es schematisch in 11 gezeigt
ist, erfordert 216 Ein träge, die jeweils aus zwei 8-Bit-Werten
gebildet sind und 217 Bytes eines Speichers
einnehmen, d. h. die gleiche Größe eines
Speichers wie die ursprüngliche
Linearisierungsmatrix.
-
Mit
Bezug auf 12 hierin
ist schematisch ein Beispiel einer Linearisierungsfunktion in einem zweidimensionalen
graphischen Format gezeigt. Für jegliche
Eingangspixelwerte auf der horizontalen Achse gibt es eine entsprechende
Anzahl von gedruckten Ausgangspixeln, die auf der vertikalen Achse
gegeben ist. Für
einen Eingangspixelwert von 12 werden z. B. 10 Pixel gedruckt.
-
Mit
Bezug auf 13 hierin
ist schematisch ein Linearisierungsvektor entsprechend der schematisch
in 12 dargestellten
Linearisierungsfunktion dargestellt. In 13 gibt es für jeden Eingangspixelwert 0–65535 eine
entsprechende jeweilige Anzahl von Ausgangspixeln, die gedruckt
werden sollen, wie es dargestellt ist. Der Linearisierungsvektor
wird dynamisch berechnet. Dies wird dann auf Bilddaten angewendet,
die gedruckt werden sollen.
-
Mit
Bezug auf 14 hierin
sind schematisch Datenverarbeitungsschritte dargestellt, die ausgeführt werden,
um eine Tonkorrekturfunktion, die in einem Linearisierungsvektor
gespeichert ist, auf Schwellenpegeldaten anzuwenden, die in einem
Pegelvektorformat gespeichert sind, um in einer tonkorrigierten
Halbtonschwellenmatrix mit 8 Bit pro Element 802 zu resultieren,
wie es in 8 hierin dargestellt
ist.
-
Eine
allgemeine Form des Linearisierungsvektors wäre ein Vektor von 256 16-Bit-Elementen. Jedes
Element definiert die Anzahl von Punkten, die entsprechend dem Index
bei dem Halbtonpegel „eingeschaltet" werden sollen. Falls
z. B. der Eintrag bei einem Index 13 873 war, dann wäre 873 in
der 8-Bit-Schwellenmatrix
bei oder unter dem Schwellenwert von 13.
-
Bei
einem Schritt 1400 werden abhängig von den physikalischen
Druckerparametern und anderen Variablen, die die Korrektur bewirken,
eine Anzahl von Punkten pro Bildebene ausgewählt, die gedruckt werden sollen.
Um normalerweise 50 % Grau zu drucken, wäre dies die Hälfte der
Anzahl von Pixeln, d. h. 32768 Punkte. Bei einer Halbtonmatrix jedoch,
bei der z. B. 40 % der Punkte gedruckt werden sollen, würden dann
40 % × 256 × 256 gleich
26214 Punkte gedruckt, so daß die
korrigierte Halbtonmatrix 801 26214 Punkte drucken würde.
-
Um
die linearisierungskorrigierte Halbtonmatrix mit einer Auflösung von
256×256×8-Bit zu
erzeugen, geht bei einem Schritt 1401 ein Algorithmus sequentiell
durch den Pegelvektor und weist jedem der X-, Y-Koordinaten-Einträge in dem
Pegelvektor Schwellenwerte zu. Falls das erste Element des Linearisierungsvektors
z. B. die Zahl 12 enthält,
dann wird den ersten 12 Positionen, die durch den Pegelvektor spezifiziert
sind, ein Schwellenwert 1 zugewiesen. Für das zweite Element in dem
Linearisierungsvektor, angenommen dies ist ein Wert von 47, wird
den nächsten
35 (d. h. 47–12)
Positionen, die durch den Pegelvektor spezifiziert sind, ein Schwellenwert
2 zugewiesen. Dies wird wiederholt, bis alle Werte in dem Linearisierungsvektor
verarbeitet wurden, wodurch allen Zellen in der 256×256×8-Bit-Matrix
mit niedrigem Bitgehalt ein Schwellenwert zugewiesen wird.
-
Mit
Bezug auf 15 ist ein
möglicher
Algorithmus zum sequentiellen Durchgehen durch den Pegelvektor bei
einem Schritt 1401 dargestellt, um die 8-Bit-Halbtonschwellenpegelmatrix
mit niedrigerem Bitgehalt 704 dynamisch zu erzeugen. Bei
einem Schritt 1500 wird eine Variable N auf 0 gesetzt,
wobei N die Position einer Zahl in der Liste von Zahlen ist, die
den Linearisierungsvektor aufweist. Bei einem Schritt 1501 wird
der Dateneintrag des Linearisierungsvektors gelesen, was einen Wert
Vn ergibt. Bei einem Schritt 1502 wird
eine Variable W als W = Vn – Vn – 1
gesetzt. Bei einem Schritt 1503 wird ein Schwellenwert, beginnend
bei 0 für
eine 256-Pegelskalierung, die zu 255 ansteigt, den nächsten W-Dateneinträgen des
Pegelvektors zugewiesen. Falls z. B. der Wert in dem ersten Eintrag
N = 0 12 ist, dann wird der ursprüngliche Schwellenwert 0 den
ersten 12 Dateneinträgen
des Pegelvektors zugewiesen. Bei einem Schritt 1504 wird
die Zahl eines Linearisierungsvektoreintrags zu N = N + 1 inkrementiert.
Falls N bei einem Schritt 1505 geringer als 255 ist, dann wiederholt
sich das sequentielle Durchgehen durch den Linearisierungsvektor
bei den Schritten 1501–1505.
Falls bei der zweiten Sequenz bei einem Betrachten des zweiten Werts
N = 1 in dem Linearisierungsvektor der Wert 47 ist, dann wird bei
dem Schritt 1502 die Variable W auf 47 – 12 = 35 gesetzt und den nächsten 35
Positionen, d. h. Positionen 12–46,
wird der nächste
Schwellenpegelwert zugewiesen, d. h. der Schwellenwert 1.
-
Auf
eine ähnliche
Weise geht der Algorithmus den Linearisierungsvektor sequentiell
abwärts durch,
wobei nachfolgend höhere
Schwellenwerte in dem Bereich 0–255
den verbleibenden Dateneinträgen
in dem Pegelvektor zugewiesen werden. Wenn der letzte Dateneintrag
in dem Linearisierungsvektor, d. h. N = 255 bei einem Schritt 1505 erreicht
ist, hält der
Algorithmus an, da jedem X-, Y-Koordinaten-Dateneintrag in dem Pegelvektor
ein entsprechender Schwellenpegelwert zugewiesen wurde. Da der Algorithmus
einem Bereich von Dateneinträgen
in dem Pegelvektor einen Schwellenpegel zuweist, werden die Halbtonwerte
mit einem höheren
Bitgehalt, die durch die Indexzahl des Pegelvektors dargestellt sind,
zu dem nächsten äquivalenten
Schwellenpegel mit einem niedrigen Bitgehalt derselben in dem Bereich
0–255
quantisiert.