-
Die vorliegende Erfindung betrifft
ein System zum Modifizieren eines Profilformats, wie eines Profilformats
gemäß International
Color Consortium (ICC-Profilformat) durch Speichern einer privaten
Kennzeichnung, um Farbtransformationsoperationen und Zeiger für Farbtransformationsoperationen
im Profilformat zu speichern, die beide eine Priorität gegenüber anderen
im Profilformat festgelegten Farbtransformationsoperationen einnehmen.
-
Profilformate werden verwendet zum
Umsetzen von formatierten Farbbilddaten für einen Einrichtungsfarbraum
in Farbbilddaten, die für
einen anderen Einrichtungsfarbraum oder einen einrichtungsunabhängigen Farbraum
formatiert sind. Ein ICC-Profilformat
legt beispielsweise eine Serie von Standardfarbtransformationsoperationen
fest, um Farbbilddaten umzusetzen, die formatiert sind für einen
RGB- Farbraum (Rot- Grün- und Blaufarbraum)
in einem Farbmonitor in einen einrichtungsunabhängigen Farbraum, einen sogenannten "Profilverbindungsraum", und dann in formatierte
Farbbilddaten für
einen CMY-Farbraum (Cyan-, Magenta- und Gelbfarbraum) im Farbdrucker.
-
Während
genormte ICC-Profile eine Farbkompatibilität zwischen unterschiedlichen
Einrichtungen in denselben Fällen
erreichen, sind genormte ICC-Profile unflexibel in Hinsicht auf
die Anzahl von Arten von Farbtransformationsoperationen, die sie
ausführen,
und in Hinsicht auf die Reihenfolge, in der die Farbtransformationen
ausgeführt
werden.
-
Genauer gesagt, ICC-Profile legen
Farbtransformationsoperationen in öffentlichen Kennzeichnungen fest.
Im allgemeinen ist eine Kennzeichnung ein Bereich eines Speichers,
der formatierte Daten speichert, die zum Ausführen von formatierten Farbdaten
unter Verwendung zur Ausführung
von Farbtransformationsoperationen und/oder Zeiger für andere
Kennzeichnungen verwendet werden. Öffentliche Kennzeichnungen,
wie sie durch ICC festgelegt sind, enthalten solche, die genormte
Farbtransformationen enthalten, die einen vorbestimmten Satz von
Farbtransformationen in einer vorbestimmten Reihenfolge ausführen. Öffentliche
ICC- Kennzeichnungen können
nicht verändert
werden.
-
Da die öffentlichen Kennzeichnungen
in dieser Hinsicht durch von ICC festgelegten Farbtransformationsoperationen
beschränkt
sind, sind sie nicht in der Lage, gewisse Farbtransformationsoperationen
auszuführen,
insbesondere jene Farbtransformationsoperationen nicht, die erforderlich
sind, um zwischen Farbräumen
umzusetzen, die nicht von ICC abgedeckt sind.
-
Da darüber hinaus öffentliche ICC- Kennzeichnungen
nicht verändert
werden können,
wird einmal auf ein öffentliches
Kennzeichnungen zugegriffen, um eine Farbtransformation auszuführen; alle
der voreingestellten Farbtransformationsoperationen, die in öffentlichen
Kennzeichnungen gespeichert sind, müssen in der vorgeschriebenen
Reihenfolge ausgeführt
werden. In einigen Fällen
kann dies zu Fehlern bei der Farbtransformation führen. In
anderen Fällen
ist dies lediglich ein ineffizientes Verfahren. Unnötige Farbtransformationsoperationen
können
beispielsweise bezüglich
eingegebener Bilddaten aufgeführt
werden, ohne zu berücksichtigen,
ob die Farbtransformationsoperationen wirklich erforderlich sind.
-
Es gibt den Bedarf nach einem System
des Modifizierens von ICC-Profilformaten, die einem Softwareentwickler
zulassen, die Art zu modifizieren, die Anzahl und die Reihenfolge
der im ICC-Profilformat
gespeicherten Transformationsoperationen.
-
Das Dokument US-A-4 941 039 beschreibt
ein Farbbildwiedergabegerät
zur Wiedergabe eines Farbbildes von einem eingegebenen Film. Farbbilddaten
werden zwischen unterschiedlichen Farbräumen der eingegebenen und ausgegebenen
Farbbilder unter Verwendung unterschiedlicher Farbtransformationen
transformiert.
-
Die vorliegende Erfindung ist in
den Patentansprüchen
1, 11 und 20 angegeben.
-
Die vorliegende Erfindung richtet
sich an den zuvor genannten Bedarf zum Bereitstellen eines Systems
zum Abwandeln genormter Farbtransformationsoperationen in einem
ICC-Profilformat
unter Verwendung privater Kennzeichnungen. Gemäß der vorliegenden Erfindung
werden Farbtransformationsoperationen zusätzlich zu genormten Farbtransformationsoperationen
gespeichert, und auf diese wird über
ein ICC-Profilformat zugegriffen. Vorteilhafterweise gestattet die
vorliegende Erfindung auch den wahlweisen Zugriff auf Farbtransformationsoperationen,
die in öffentlichen
Kennzeichnungen im ICC-Profilformat gespeichert sind, unter Verwendung
von Zeigern in den privaten Kennzeichnungen zum Zugriff auf die
Farbtransformationsoperationen.
-
Nach einem Aspekt der vorliegenden
Erfindung betrifft diese ein System (das heißt, ein Verfahren, ein Gerät und computerausführbare Prozeßschritte)
des Ausführens
einer Farbtransformationsoperation bezüglich eingegebener Bilddaten,
wobei das System eine erste Kennzeichnung und eine zweite Kennzeichnung verwendet,
um die Farbtransformationsoperation anstelle einer vorbestimmten
Serie von Farbtransformationsoperationen auszuführen, die in einer öffentlichen
Kennzeichnung im Profilformat gespeichert sind. Das System enthält einen
Eingabeschritt zur Eingabe von Farbbilddaten, einen Speicherschritt
zum Speichern einer ersten Kennzeichnung und einer zweiten Kennzeichnung,
wobei die erste dem Speichern von Außerkraftsetzinformationen zum
Außerkraftsetzen
der zuvor bestimmten Serie von Farbtransformationen dient, und die zweite
Kennzeichnung dient dem Speichern von Farbtransformationsoperationsdaten,
auf die über
eine hierarchische Speicherstruktur Zugriff besteht, und ein Bestimmungsschritt
zum Bestimmen auf der Grundlage der Außerkraftsetzinformation in
der ersten Kennzeichnung, ob auf die zweite Kennzeichnung zuzugreifen
ist. Ebenfalls im System enthalten sind ein Leseschritt zum Lesen
der Farbtransformationsoperationsdaten in der zweiten Kennzeichnung
in einem Falle, daß der
Bestimmungsschritt den Zugriff auf die zweite Kennzeichnung bestimmt,
wobei der Leseschritt Zeigern innerhalb der hierarchischen Speicherstruktur
folgt zum Zugriff auf die Farbtransformationsoperationsdaten in
der zweiten Kennzeichnung, und ein Verarbeitungsschritt zum Ausführen einer
Farbtransformationsoperation bezüglich
der eingegebenen Bilddaten gemäß den im
Leseschritt gelesenen Farbtransformationsoperationsdaten.
-
Dank der vorstehenden Konfiguration
ist es möglich,
Farbbilddaten von einem ersten einrichtungsabhängigen Farbraum so umzusetzen,
daß RGB-Farbbilddaten überwacht
werden, in einem einrichtungsunabhängigen Farbraum unter Verwendung
eines Anwender erstellten Farbtransformationsprozesses, während noch
der Vorteil der Merkmale besteht, die im Standardprofilformat vorgesehen
sind. Unter Verwendung des vorstehenden Systems in zwei unterschiedlichen
Einrichtungen ist es möglich,
Daten von einem ersten Farbraum einer ersten Einrichtung in einen
einrichtungsunabhängigen
Farbraum umzusetzen und dann vom einrichtungsunabhängigen Farbraum
in einen zweiten Farbraum einer zweiten Einrichtung.
-
Da das vorstehende System Farbtransformationsoperationen
zusätzlich
speichert und dazu hierarchisch aufruft, stellt das obige System
Farbanpaßsoftware
bereit, mit der leicht auf die Anwender erstellten Farbtransformationsoperationen
zugegriffen werden kann.
-
Nach einem anderen Aspekt der vorliegenden
Erfindung ist ein System vorgesehen zur Verwendung von Kennzeichnungen,
um eine genormte Transformation in ein Profilformat abzuwandeln,
in dem numerische Informationen gespeichert sind zur Verwendung
durch die genormte Transformation, und in der die Kennzeichnungen
hierarchisch gespeichert sind. Das System enthält einen Eingabeschritt zur
Eingabe von Farbbilddaten und einen ersten Speicherschritt zum Speichern
von Zeigerdaten zu vorbestimmten Stellen in einer ersten Kennzeichnung,
welches den höchsten
Grad in der Hierarchie der Kennzeichnungen besitzt, wobei die ersten Zeigerdaten
auf eine Farbtransformationssequenz in einer zweiten Kennzeichnung
zeigen, wobei die zweite Kennzeichnung einen zweithöchsten Grad
in der Hierarchie der Kennzeichnungen hat. Auch enthalten im System
sind ein zweiter Speicherschritt zum Speichern der Farbtransformationssequenz
in der zweiten Kennzeichnung, der Farbtransformationssequenz einschließlich eines
zweiten Zeigers zum Zeigen auf eine Farbtransformationsoperation,
die in einer dritten Kennzeichnung gespeichert ist, wobei die dritte
Kennzeichnung den dritthöchsten
Grad in der Hierarchie der Kennzeichnungen besitzt, und einen dritten
Speicherschritt zum Speichern von Daten zum Ausführen der Farbtransformationsoperation
in der dritten Kennzeichnung. Ein Bestimmungsschritt bestimmt, ob
der Zugriff auf die erste Kennzeichnung auf der Grundlage der im
Profilformat gespeicherten Information möglich ist, und ein erster Leseschritt
liest im Falle, daß auf
die erste Kennzeichnung Zugriff möglich ist, die erste Zeigerinformation
in der ersten Kennzeichnung und bestimmt, ob Zugriff auf die Farbtransformationssequenz
besteht. Ein zweiter Leseschritt liest im Falle, daß auf die
Farbtransformationssequenz zugegriffen werden kann, daß der zweite
Zeiger in der Farbtransformationssequenz zum Bestimmen, ob Zugriff
auf die Farbtransformationsoperation besteht, und ein dritter Leseschritt
liest im Falle, daß auf die
Farbtransformationsoperation zugegriffen werden kann, daß die Daten
zum Ausführen
der Daten zum Ausführen
der Farbtransformationsoperation von der dritten Kennzeichnung.
Ein Ausführschritt
führt die
Farbtransformationsoperation gemäß den Daten
aus, die der dritte Leseschritt gelesen hat, zum Transformieren
der eingegebenen Bilddaten von einem Farbraum in einen anderen Farbraum
anstelle der genormten Transformation.
-
Vorteilhafterweise gestattet der
vorstehende Aspekt der vorliegenden Erfindung einem Anwender, in selektiver
Weise eine private Kennzeichnung zu erstellen und zu modifizieren,
was verwendet werden kann zum Modifizieren aller Farbtransformationsoperationen,
die durch ein Profilformat zur Ausführung kommen, und danach das
Ausführen
der modifizierten Farbtransformationsoperation bezüglich Farbbilddaten.
Die vorstehende hierarchische Speicherstruktur erleichtert darüber hinaus
den Zugriff auf die Farbtransformationsoperationsdaten, die beim
Erstellen und Modifizieren der privaten Kennzeichnung Verwendung
finden.
-
Nach noch einem anderen Aspekt ist
die vorliegende Erfindung ein System zum Modifizieren eines vorbestimmten
Profilformats mit änderbaren
Kennzeichnungen und einer Vielzahl vorfestgelegter Farbtransformationssequenzen,
und des Ausführens
von Farbtransformationsoperationen bezüglich Farbbilddaten gemäß einem
modifizierten Profilformats. Das System enthält einen Eingabeschritt zur
Eingabe der Farbbilddaten, der Außerkraftsetzinformationen und
Kennzeichnungsdaten, wobei die Kennzeichnungsdaten Farbtransformationssequenzen
und Farbtransformationsoperationen enthalten, wobei die Farbtransformationssequenzen
eine Vielzahl von Farbtransformationsoperationen enthalten. Ein
Speicherschritt speichert die Kennzeichnungsdaten in eine änderbare
Kennzeichnung im Profilformat gemäß einer hierarchischen Speicherstruktur, so
daß die
Farbtransformationssequenzen bei einem höheren Grad in der hierarchischen
Speicherstruktur als die Farbtransformationsoperationen, wobei Farbtransformationssequenzen
wenigstens einen Zeiger für
eine Farbtransformationsoperation enthalten. Ein Verarbeitungsschritt
verarbeitet die eingegebenen Farbbilddaten gemäß den Kennzeichnungsdaten,
die in der änderbaren
Kennzeichnung im Falle gespeichert sind, daß die Außerkraftsetzinformation einen
vorbestimmten Wert hat. Der Verarbeitungsschritt enthält
- (1) das Zugreifen auf eine Farbtransformationssequenz
in der änderbaren
Kennzeichnung, festgelegt durch die Außerkraftsetzinformation,
- (2) Zugreifen auf eine Farbtransformationsoperation, die festgelegt
ist durch einen Zeiger in der zugegriffenen Farbtransformationssequenz,
und
- (3) Verarbeiten der Farbbilddaten gemäß der zugegriffenen Farbbildtransformationsoperation.
-
Diese kurze Zusammenfassung ist so
bereit gestellt, daß die
Natur der Erfindung schnell verstanden werden kann. Ein vollständiges Verstehen
der Erfindung läßt sich
erreichen unter Bezug auf die nachstehende detaillierte Beschreibung
des bevorzugten Ausführungsbeispiels
in Verbindung mit der beiliegenden Zeichnung.
-
KURZE BESCHREIBUNG
DER ZEICHNUNG
-
1 zeigt
eine perspektivische Ansicht von Computerhardware, die in einer
Operation der vorliegenden Erfindung verwendet wird;
-
2 zeigt
ein Blockdiagramm der vorliegenden Erfindung;
-
3 zeigt
die Beziehung zwischen einrichtungsabhängigen Farbräumen und
dem Profilverbindungsraum;
-
4 zeigt
ein ICC-Profil;
-
5 zeigt
ein Ablaufdiagramm zum Erstellen modifizierter privater Kennzeichnungen;
-
6 zeigt
einen Bildschirm, der private Kennzeichnungsinformationen darstellt;
-
7 zeigt
einen Bildschirm, der private Kennzeichnungsinformationen darstellt;
-
8 zeigt
die private ucmI-Kennzeichnung;
-
9 zeigt
die hierarchische Beziehung zwischen den nach der vorliegenden Erfindung
erstellten privaten Kennzeichnungen;
-
10,
die sich aus den 10A und 10B zusammensetzt, zeigt
ein Ablaufdiagramm zum Einstellen eines Farbtransformationsprozesses
nach der vorliegenden Erfindung;
-
11 zeigt
die private ucmP-Kennzeichnung;
-
12 zeigt
eine Sequenzstruktur;
-
13 zeigt
eine Farbtransformationsoperationsstruktur;
-
14 zeigt
ein privates N × M-Matrixkennzeichen;
-
15,
die sich zusammensetzt aus den 15A und 15B, zeigt Beispiele von
drei eindimensionalen privaten Nachschlagetabellenkennzeichnungen;
-
16 zeigt
eine dreidimensionale private Nachschlagetabellenkennzeichnung;
-
17 zeigt
eine private Farbraumkennzeichnung;
-
18 zeigt
eine private Verwerfungskennzeichnung;
-
19,
die sich zusammensetzt aus den 19A und 19B, zeigt Beispiele grafischer
Geschäftsnachschlagetabellenkennzeichnungen;
-
20 zeigt
ein erstes Ausführungsbeispiel
einer privaten pyramidischen Interpolationskennzeichnung;
-
21 zeigt
ein zweites Ausführungsbeispiel
einer trilinearen Interpolation oder einer privaten pyramidischen
Interkpolationskennzeichnung;
-
22 zeigt
eine private ucmT-Kennzeichnung;
-
23 zeigt
eine Tabellenstruktur;
-
24 zeigt
eine private Tabellenkennzeichnung;
-
25 ist
ein Ablaufdiagramm, das Prozeßschritte
zum Umsetzen eingegebener Bilddaten von einem Farbraum in einen
anderen Farbraum unter Verwendung der vorliegenden Erfindung zeigt.
-
DETAILLIERTE
BESCHREIBUNG DES AUSFÜHRUNGSBEISPIELS
-
1 ist
eine Ansicht, die die äußere Erscheinung
eines repräsentativen
Ausführungsbeispiels
nach der vorliegenden Erfindung zeigt. In 1 gezeigt ist eine Rechenausrüstung 1,
wie ein MacIntosh® oder ein IBM®-PC-kompatibler
Computer mit Window Umgebung, wie beispielsweise Microsoft® Windows.
Vorgesehen mit der Recheneinrichtung 1 ist ein Anzeigebildschirm 2,
wie ein Farbmonitor, eine Tastatur 4 zur Eingabe von Textdaten
und Programmierbefehlen, eine Zeigereinrichtung 6, wie
eine Maus zum Zeigen und zum Manipulieren von auf dem Bildschirm 2 angezeigten
Objekten, und ein Drucker 16 zur Ausgabe von Farbbildern,
die die Recheneinrichtung 1 erzeugt.
-
Die Recheneinrichtung 1 enthält eine
Massenspeichereinrichtung, wie eine Computerplatte 7, die
auch in 2 gezeigt ist,
zum Speichern von Profilformaten, wie beispielsweise ICC-Profil 8,
das öffentliche
Kennzeichnungen und private Kennzeichnungen enthält, ein DOS®-Betriebssystem
und ein Windows-Betriebssystem, wie Microsoft Windows®. Auch
in der Computerplatte 7 gespeichert sind Farbanpassung
von Canon®, nachstehend
als "CMM" bezeichnet) 9,
erstellte private Kennzeichnungen und modifizierte Anwenderprogramme 10 und
eine Profilverwaltungsroutine 12, die alle enthalten sind
in Speicherprogrammbefehlen, durch welche die Recheneinrichtung 1 Datendateien
auf Platte 7 manipuliert und speichert und Daten in jenen
Dateien einem Anwender über
den Anzeigebildschirm 2 darstellt. Diese Programme sind
nachstehend in mehr Einzelheiten beschrieben.
-
Die Recheneinrichtung 1 enthält auch
eine Diskettenlaufwerksschnittstelle 14, in die Disketten
eingefügt
werden können.
Informationen aus Disketten können
auf die Computerplatte 7 heruntergeladen werden. Derartige
Informationen können
Datendateien und Anwenderprogramme enthalten, wie beispielsweise
CMM 9, private Kennzeichnungserstellung und Modifizierungsanwenderprogramm 10,
und Profilverwaltungsroutine 12. Die Recheneinrichtung 1 kann
auch eine CD-ROM-Schnittstelle enthalten, die nicht dargestellt
ist, aus der ebenfalls Informationen auf die Platte 7 heruntergeladen
werden können.
-
Farbbilddaten werden über einen
Scanner 15 eingegeben, der Dokumente abtastet oder andere
Bilder und stellt Punktrasterbilder jener Dokumente für die Recheneinrichtung 1 bereit.
Farbbilddaten können
auch in die Recheneinrichtung 1 über eine Vielzahl anderer Quellen
eingegeben werden, wie über
die Netzwerkschnittstelle 17, oder aus anderen externen
Einrichtungen über
eine Fax/Modem-Schnittstelle 18.
-
Andererseits sei angemerkt, daß auf das
ICC-Profil 8 Zugriff besteht von der Recheneinrichtung 1 aus einer
Vielzahl anderer Quellen, wie beispielsweise eine Netzwerkschnittstelle 17 oder
aus anderen externen Einrichtungen über Fax-/Modemschnittstelle 18.
-
Obwohl eine programmierbare Vielzweckcomputereinrichtung
in 1 gezeigt ist, versteht
es sich, daß auch
ein speziell eingerichteter oder alleinstehender Computer oder eine
andere Art von Datenverarbeitungseinrichtung in der Praxis der vorliegenden
Erfindung verwendbar ist.
-
2 ist
ein detailliertes Blockschaltbild, das den Innenaufbau der Recheneinrichtung 1 zeigt.
Wie in 2 gezeigt, enthält die Recheneinrichtung 1 eine
Zentraleinheit, die nachstehend mit "CPU" bezeichnet
ist 20, die verbunden ist über einen Computerbus 21.
Auch verbunden mit dem Computerbus 21 ist eine Scannerschnittstelle 22,
eine Netzwerkschnittstelle 17, eine Fax-/Modemschnittstelle 18,
eine Anzeigeschnittstelle 23, eine Tastaturschnittstelle 25,
eine Mausschnittstelle 29, ein Hauptspeicher 30,
eine Platte 7, eine Diskettenlaufwerksschnittstelle 14 und
eine Druckerschnittstelle 24.
-
Der Hauptspeicher 30 ist
verbunden mit dem Computerbus 21, um so wahlweisen Speicherzugriff
für die
Verwendung durch die CPU 20 bereitzustellen, wenn gespeicherte
Programmbefehle, wie Microsoft Windows, CMM 9, private
Kennzeichenerstellung oder Modifizierungsanwenderprogramm 10,
Profilverwaltungsroutine 12 und andere Anwenderprogramme
(nicht dargestellt) zur Ausführung
kommen. Genauer gesagt, die CPU 20 lädt jene Programme aus der Platte 7 oder
alternativ aus einer Diskette in der Diskettenlaufwerksschnittstelle 14 in
den Hauptspeicher 30 und führt jene gespeicherten Programme
vom Hauptspeicher 30 aus.
-
Die vorliegende Erfindung ist nachstehend
in Hinsicht auf ein Farbbildverarbeitungssystem beschrieben, das
CCM 9 enthält.
Kurz gesagt, CCM 9 gibt Farbbilddaten in einem ersten Farbformat
ein, wie beispielsweise RGB, und setzt die Farbbilddaten um in ein
zweites Format, wie beispielsweise CMY. Zum Ausführen der vorstehenden Farbtransformationsoperationen
verwendet CMM 9 Daten, die in ICC-Profilen gespeichert sind,
wie beispielsweise beschrieben in "International Color Consortium Profile
Format", Version
3.01, revidiert am 08. Mai 1995.
-
Kurz gesagt, ICC-Profile sind Einrichtungsprofile,
die sich in Paaren zum Umsetzen von Farbbilddaten verwenden lassen,
die erstellt sind auf einer Einrichtung in einen ursprünglichen
Farbraum einer anderen Einrichtung. Beispielsweise können, wie
zuvor beschrieben, RGB-Farbbilddaten für einen Monitor umgesetzt werden
in CMY-Bilddaten für
einen Drucker unter Verwendung von ICC-Profilen.
-
Ein ICC-Profil stellt CMM 9 bereit
mit Farbtransformationsinformationen für eine spezielle Einrichtung. Genauer
gesagt, ein ICC-Profil ist bereitgestellt für solche Einrichtungen und
wird verwendet durch CMM 9 zum Transformieren von Farbbilddaten
aus einem einrichtungsabhängigen
Farbraum in den Profilverbindungsfarbraum und zum Transformieren
von Farbbilddaten aus dem Profilverbindungsraum in einen anderen einrichtungsabhängigen Farbraum.
Diese Beziehung ist in 3 dargestellt.
-
Genauer gesagt, 3 zeigt Monitor 31 mit einem
ICC-Profil 32, das verwendet wird zum Transformieren von
RGB-Bilddaten im Monitor 31 in einrichtungsunabhängige Bilddaten
im Profilverbindungsraum 34. Der Drucker 35 enthält ICC-Profil 37, das
die Farbbilddaten umsetzt vom einrichtungsunabhängigen Profilverbindungsraum
in CMY-Bilddaten, die der Drucker 35 verwenden kann. Auf
diese Weise verwendet CMM 9 die ICC-Profile zum Umsetzen
zwischen zwei einrichtungsabhängigen
Farbräumen.
Angemerkt sei, daß während 3 ICC-Profile 32 und 37 in
Hinsicht auf den Monitor 31 beziehungsweise den Drucker 35 zeigt,
sind diese ICC-Profile vorherrschend auf ihren jeweiligen Einrichtungen.
Diese ICC-Profile können
eingebettet werden in Daten, um gemäß den ICC-Profilen umgesetzt
zu werden oder gespeichert zu werden in einem Speicher eines angeschlossenen
Personal Computers. Beispielsweise könnten die ICC-Profile in einem
einzigen Speicher gespeichert sein, auf den von einer einzigen CPU
Zugriff besteht.
-
Zusätzlich wird angemerkt, daß ICC-Profile
mit Einrichtungen verwendet werden, zusätzlich zu einem Drucker und
einem Monitor, beispielsweise Scannern, Faxgeräten und andere.
-
Der Profilverbindungsraum ist festgelegt
durch eine Normlichtart von D50, 1931 CIE standard observer und
durch 0/45- oder
45/0-Reflexionsmeßgeometrie.
Die Bezugsbetrachtungsart ist ANSI PH2.30-1989, welches die D50-Techniken
der Umgebungsbetrachtung sind.
-
Ein ICC-Profil, ein Beispiel davon
ist in 4 gezeigt, enthält zwei
grundlegende Elemente: Kopf 39 und Kennzeichentabelle 40.
Der Kopf 39 enthält
Informationen, die durch CMM 9 verwendet werden zur Verarbeitung
von eingegebenen Bilddaten gemäß dem ICC-Profil.
Der Kopf muß eine
in big-endian notation sein. Kennzeichentabelle 40, die
in mehr Einzelheiten nachstehend anhand 4 beschrieben ist, wird von CMM 9 verwendet
zum Zugriff auf Farbtransformationsoperationen und andere Informationen über öffentliche
und private Kennzeichnungen.
-
Enthalten im ICC-Profil sind erforderliche öffentliche
Kennzeichnungen, die einen vollständigen Satz von Informationen
bereitstellen, die erforderlich sind für CCM zur Transformation von
Farbinformationen zwischen dem Profilverbindungsraum und den einrichtungsabhängigen Farbräumen. Darüber hinaus
kann ein ICC-Profil
optionale öffentliche
Kennzeichnungen enthalten, die sich verwenden lassen zum Ausführen zusätzlicher
Transformationen, und private Kennzeichnungen, die individuelle
Entwickler zum Hinzufügen
von Eigenschaftswerten in ihr ICC-Profil verwenden können.
-
Für
eine Eingabeeinrichtung, wie ein Scanner, benötigt CMM 9 ein Profil
mit den folgenden Kennzeichnungen, um eine Farbtransformation ausführen zu
können:
eine Profilbeschreibungskennzeichnung, eine Einrichtungsherstellerkennzeichnung,
eine Einrichtungsmodellnamenkennzeichnung, eine Media-XYZ-Weißpunktkennzeichnung,
eine UCCMS-Informationskennzeichnung, eine Copyrightkennzeichnung,
eine Rotfarbkennzeichnung, die relative XYZ-Tristimulus eines Rotkanals
enthält,
eine blaufarbige Kennzeichnung, die relative XYZ-Tristiumuluswerte
eines Blaukanals enthält,
eine grünfarbige
Kennzeichnung, die relative XYZ-Tristimuluswerte eines Grünkanals
enthält,
eine Rotkanaltonwiedergabekurvekennzeichnung, eine Grünkanaltonwiedergabekurvenkennzeichnung
und eine Blaukanaltonwiedergabekurvenkennzeichnung. Optional kann
das Profil eine AtoBn-Kennzeichnung enthalten, die eine 8-Bit- oder
eine 16-Bit-LUT festlegt.
-
Für
eine Anzeigeeinrichtung, wie einen Monitor, erfordert CMM 9,
daß ein
Profil folgende Kennzeichnungen besitzt, um eine Farbtransformation
ausführen
zu können:
eine Profilbeschreibungskennzeichnung, eine Einrichtungsherstellerkennzeichnung,
eine Einrichtungsmodellnamenkennzeichnung, ein Media-XYZ-Weißpunktkennzeichnung,
eine Copyrightkennzeichnung, eine rotfarbige Kennzeichnung, die
relative Werte von rotem Farbstoff enthält, eine blaufarbige Kennzeichnung,
die relative Werte von Blaufarbstoff enthält, eine grünfarbige Kennzeichnung, die
relative Werte grünen
Farbstoffs enthält,
eine Rotkanaltonwiedergabekurvenkennzeichnung, eine Grünkanaltonwiedergabekurvenkennzeichnung
und eine Blaukanaltonwiedergabekurvenkennzeichnung. Optional kann
das Profil eine private UCCMS-Informationskennzeichnung enthalten.
-
Für
eine Ausgabeeinrichtung, wie für
einen Drucker, erfordert CMM 9, daß ein Profil folgende Kennzeichnungen
hat, um eine Farbtransformation ausführen zu können: eine Profilbeschreibungskennzeichnung, eine
Einrichtungsherstellerkennzeichnung, eine Einrichtungsmodellnamenkennzeichnung,
eine AtoB0-Kennzeichnung, eine BtoA0-Kennzeichnung, eine Gamut-Kennzeichnung,
eine AtoB1-Kennzeichnung,
eine BtoA1-Kennzeichnung, eine AtoB2-Kennzeichnung, eine BtoA2-Kennzeichnung,
eine private UCCMS-Informationskennzeichnung,
eine XYZ-Mediaweißpunktkennzeichnung,
eine Meßkennzeichnung
und eine Copyrightkennzeichnung.
-
Die vorstehenden AtoBn-Kennzeichnungen
haben entweder Strukturen des Typs ICC-lut8 oder lut16. Das allgemeine
Modell für
den ICC-lut8-Typ oder lut16-Typ ist:
Matrix → eindimensionale
LUT → mehrdimensionale
LUT → eindimensionale
LUT
-
In einer lut8type-Kennzeichnung sind
Eingangssignal, Ausgangssignal und Farb-LUT-Anordnungen von unsignierten
8-Bit-Werten. Jede
Eingabetabelle besteht aus Ein-Byte-Ganzzahlen. Auch jede eingegebene
Tabelleneingabe ist in passender Weise normiert auf einen Bereich
von 0 bis 255. Wenn in einer Kennzeichnung gespeichert, wird eine
eindimensionale LUT angenommen nacheinander in aufsteigender Reihenfolge gemäß ICC-Spezifikation geordnet
zu sein.
-
Die AtoB0-Kennzeichnung wird für photographische
Zwecke verwendet. Die AtoB0-Kennzeichnung legt eine drei-mal-drei-Matrix, in der Matrixelemente
in Bytes 12 bis 45 von der AtoB0-Kennzeichnung
gespeichert sind, ein Eingangskanal für C-, M-, Y-Eingangssignalen, die in Byte 8 gespeichert
sind, ein Ausgangskanal für
L, a, b-Ausgangssignale gespeichert in Byte 9, LUT-Gitterpunkte
(beispielsweise 33 × 33 × 33), die
in Byte 10 gespeichert sind, Auffüllen von Leerstellen ist in
Byte 11 gespeichert, eingegebene Tabellen (Identität) sind
in den Bytes 46 und folgenden gespeichert, wobei Farb-LUT und andere
Tabellen ebenfalls für
photographische Zwecke gespeichert sind. Die Bytes 0 bis 3 legen
die Kennzeichnung fest.
-
Die BtoA0-Kennzeichnung hat dasselbe
Format wie die AtoB0-Kennzeichnung,
mit der Ausnahme, daß die
Eingangstabellen und die Ausgangstabellen umgeschaltet werden, und
die Farb-LUT hat die Inverse der AtoB0-Kennzeichnung.
-
Die Gamut-Kennzeichnung hat dasselbe
Format wie die AtoB0-Kennzeichnung,
mit der Ausnahme, daß die
Gamut-Kennzeichnung L-, a-, b-Werte für die Eingangskanäle verwendet
und ein Punktrasterausgangssignal für die Ausgangskanäle.
-
Die AtoB1-Kennzeichnung wird verwendet
für relative
farbcolormetrische Zwecke und hat ein Format, das der AtoB0-Kennzeichnung entspricht,
während
die BtOA1-Kennzeichnung verwendet wird für Farbmeßzwecke und ein Format hat,
das der BtoA0-Kennzeichnung entspricht. Beide sind entweder vom
lut16-Typ oder vom
lut8-Typ.
-
Die AtoB2-Kennzeichnung wird verwendet
zur Sättigungstechnik
und hat ein Format, das der AtoB0-Kennzeichnung entspricht, während BtoA2-Kennzeichnung
verwendet wird zur Sättigungstechnik
und ein Format hat, das der BtoA0-Kennzeichnung entspricht. Beide
sind entweder vom lut16-Typ oder vom lut8-Typ.
-
CMM 9 unterstützt auch
eine optionale öffentliche
Vorschauprofilkennzeichnung. Die Kennzeichnung hat ein Format, das
identisch ist mit AtoB0, mit der Ausnahme, daß L-, a- und b-Daten in den Eingangskanal gegeben
werden.
-
Die vorliegende Erfindung, wie sie
nachstehend in mehr Einzelheiten beschrieben ist, verwendet speziell
eingerichtete private Kennzeichnungen, um Farbtransformationsoperationen
zu manipulieren oder zu modifizieren, die innerhalb eines vorbestimmten
ICC-Profils ausgeführt
werden.
-
In der vorliegenden Erfindung enthält CMM 9 eine
Profilverwaltungsroutine 12 (beispielsweise ColorGear,
das Canon Informations Systems, Inc. herstellt), womit Zugriff auf
das ICC-Profil 8 besteht und/oder verschiedene öffentliche
und private Kennzeichnungen, die darin gespeichert sind, um die
privaten Kennzeichnungen (und/oder das Einrichtungsprofil) erstellen
oder modifizieren zu können.
-
Das Erstellen oder Modifizieren einer
privaten Kennzeichnung wird ausgeführt gemäß dem in 5 gezeigten Ablaufdiagramm, das die Arbeitsweise
der privaten Kennzeichnungserstellung und ein Modifizierungsanwenderprogramm 10 darstellt
zur Eingabe von Informationen in private Kennzeichnungen. Genauer gesagt,
nach Ausführen
des Anwenderprogramms 10 in Schritt s501 wird bestimmt,
ob eine private Kennzeichnung erstellt oder modifiziert ist. Wenn
eine private Kennzeichnung erstellt wird, schreitet die Verarbeitung
zu Schritt s502, bei dem ein Anwender aufgefordert wird, auf dem
Anzeigebildschirm 2 erforderliche Informationen zur Erstellung
einer privaten Kennzeichnung zu liefern. Wenn der Anwender das Eingeben
aller erforderlichen Informationen verfehlt, kann eine private Kennzeichnung
nicht erstellt werden. Beispiele von Bildschirmen, bei denen der
Anwender aufgefordert wird, sind in den 6 und 7 gezeigt.
Angemerkt sei, daß die
in den 6 beziehungsweise 7 gezeigten Bildschirme 43 beziehungsweise 44 der
privaten Kennzeichnung entsprechen, die in 8 dargestellt ist, die nachstehend in
mehr Einzelheiten abgehandelt wird.
-
Wenn jedoch in Schritt s501 eine
private Kennzeichnung modifiziert wird, schreitet die Verarbeitung
zu Schritt s506, bei der auf einen "Get"-Knopf 42 auf
dem Eingabebildschirm (oder auf den Eingabebildschirm 44) gedrückt wird.
Als Reaktion darauf fordert das Anwenderprogramm 10 private
Kennzeichnungsinformation aus der Profilverwaltungsroutine 12 auf
der Grundlage von Informationen auf dem Bildschirm an. Die Profilverwaltungsroutine 12 greift
dann zu auf die angeforderten Bereiche des Speichers für die privaten
Kennzeichnungsdaten und stellt die angeforderten Daten dem Anwenderprogramm 10 bereit.
-
Nach Empfang der privaten Kennzeichnungsdaten
in Schritt s502 zeigt das Anwenderprogramm 10 die Information
dem Anwender auf den Bildschirmen 43 und 44 an.
Der Anwender kann dann Informationen in die private Kennzeichnung
in gewünschter
Weise einsetzen durch Eingeben der Information auf den Bildschirmen 43 und/oder 44 durch
Anklicken des "Set"-Knopfes 46.
Der Anwender kann durch die privaten Kennzeichnungsdaten blättern unter
Verwendung des Knopfes 47 "Next" und
des Knopfes 48 "Previous", wie in den 6 und 7 gezeigt.
-
Nach Eingabe von Informationen auf
den Bildschirm in Schritt s503 schreitet die Verarbeitung fort zu Schritt
s504, in dem der Anwender die privaten Kennzeichnungsdaten durch
Anklicken des "Set"-Knopfes 46 einsetzt.
Setzt einmal der Anwender die privaten Kennzeichnungsdaten ein,
werden die privaten Kennzeichnungsdaten von der Anwendung 10 zur
Profilverwaltungsroutine 12 gesandt. Nach Empfang der privaten Kennzeichnungsdaten
in Schritt s505 speichert die Profilverwaltungsroutine 12 die
privaten Kennzeichnungsdaten gemäß der Bytezuordnung,
wie sie in der privaten Kennzeichnung angegeben ist. In der privaten
ucmI-Kennzeichnung, die als Beispiel in 8 gezeigt ist und nachstehend in mehr
Einzelheiten beschrieben ist, wird "Canon Signature" in den Bytes 4 bis 7 gespeichert, während "Creator Division" in den Bytes 112
bis 175 gespeichert wird. Auf diese Weise kann ein Anwender Informationen,
die in einer privaten Kennzeichnung gespeichert sind, ändern.
-
Wie zuvor beschrieben, zeigt 4 einen Bildschirmausdruck
eines Beispiels vom ICC-Profil 8, das einen Kopf 39 und
eine Kennzeichnungstabelle 40 enthält.
-
Der Kopf stellt einen Satz von Parametern
bereit, die spezifisch sind für
das ICC-Profil 8 und die vorzugsweise in den ersten 128
Bytes gespeichert werden. Parameter, die im Kopf 39 enthalten
sind, sind nachstehend angegeben.
-
1. "Size",
gespeichert in Bytes 0 bis 3 vom Kopf 39, legt die Größe des Profils
fest.
-
2. "CMMType", gespeichert in den Bytes 4 bis 7,
legt CMM fest, zu welchem Profil es gehört. Für Canon-Einrichtungen, ist
dieser Wert gleich "UCCM".
-
3. "Version", gespeichert in den Bytes 8 bis 11,
legt die Versionsnummer vom Profil fest. Diese ist festgelegt von
ICC als 2000000H.
-
4. "ProfileClass", gespeichert in den Bytes 12 bis 15,
legt die Profilklasse fest und kann eine beliebige sein unter "prtr" (Drucker), "mntr" (Monitor), "scnr" (Scanner), "link" (Verbindungseinrichtung), "spac" (Farbraumumsetzung)
und "abst" (Zusammenfassungsprofile).
-
5. "DataColorSpace", gespeichert in den Bytes 16 bis 19,
legt das Farbformat fest, in das das Profil Farbbilddaten umsetzt,
und kann eines der folgenden sein "RGB", "XYZ", "GRAY", "CMY", "Luv", "HSV", "CMYK", "Ycbr", "HLS", "Lab" und "Yxy".
-
6. "InterchangeSpace", gespeichert in den Bytes 20 bis 23,
legt den Profilverbindungsraum fest und kann entweder "LAB" oder "XYZ" sein.
-
7. "CreationDate", gespeichert in den Bytes 24 bis 35,
legt Daten und Zeit fest, zur Zeit der Erstellung.
-
8. "CS2Signature", gespeichert in den Bytes 36 bis 39,
legt die Dateisignatur vom Profil fest, das verwendet wird im Betriebssystem
der Einrichtung unter Verwendung des Profils zur Erstellung eines
Piktogramms. Dieser Wert wird eingesetzt als "acsp" für alle ICC-Profile.
-
9. "Prim.platform", gespeichert in den Bytes 40 bis 43,
legt die Primärplattform
eines Betriebssystems fest, für
das das Profil erstellt ist, und kann einen beliebigen der Werte
haben: "Appl" (Apple-Betriebssystem), "MSFT" (Microsoft Betriebssystem), "SGI" (Silicon Graphics), "SUNW" (Sun) und "TGNT" (Taligent).
-
10. "Flags", gespeichert in den Bytes 44 bis 47,
legt verschiedene Hinweise für
CMM fest, beispielsweise die Verteilungsverarbeitungs- und die Cache-Optionen.
Dieser Parameter wird bei Canon-Einrichtungen nicht verwendet und
folglich auf 0H gesetzt.
-
11. "DeviceManufacturer", gespeichert in den Bytes 48 bis 51,
ist die Signatur für
den Hersteller der Einrichtung, mit welcher das Profil zu verwenden
ist. Dieser Parameter hat den Wert von "CANO" für Canon-Einrichtungen.
-
12. "DeviceModel", gespeichert in den Bytes 52 bis 55,
legt die Modellnummer oder den Namen der Einrichtung fest, mit der
das Profil zu verwenden ist. Der Wert von "DeviceModel" muß in Übereinstimmung sein
mit der Norm, die auferlegt ist durch ICC, Apple ColorSync und Microsoft-ICM.
Die Modellnummer oder der Name muß speziell 4 Byte in ASCII-Kette
sein unter Verwendung der Zeichen "A" bis "Z" (nur Großbuchstaben und Zeichen "0" bis "9").
Das Format von "DeviceModel" sollte sein:
<erstes Byte: Division
ID>
<zweites – viertes
Byte: Modellnummer und Erweiterung>,
wobei "Division ID" die Firma oder Abteilung
kennzeichnet, die das Produkt hergestellt hat. In idealer Weise sollte
jede Firma oder Abteilung eine einzigartige "Division ID" haben. Bei Canon sind Teilungen folgendermaßen definiert: "B" steht für Digitalkamera, "F" steht für Fax, "L" steht
für Laserstrahldrucker, "M" steht für Canon-Monitor, "S" steht für Scanner, "V" steht
für Videokamera, "Z" steht für Dritter, das heißt, ein
Nicht-Canon-Produkt. Diese Werte sind zufällig bestimmt und können wie
gewünscht
eingesetzt werden. In bevorzugten Ausführungsbeispielen werden Bytes
2–4 von "deviceModel" gemäß einer
der folgenden Formate codiert.
-
a. Format 1:
-
- <1 Byte:
Teilbyte>
- <2 Bytes: Modellbezeichnung>
- <1 Byte: Erweiterung>
-
Wie zuvor beschrieben, speichert
das Teilbyte die Teilung der Einrichtung, die das Profil verwendet. Die
Modellbezeichnungsbytes speichern das Einrichtungsmodell. Das Erweiterungsbyte
speichert die Erweiterung der Einrichtung, beispielsweise BJ-600e
wäre die
Erweiterung von einer Einrichtung BJ-600. Um zwei Einrichtungsnamen
zu vermeiden "deviceModel", ist die folgende Übereinkunft
getroffen. A–I
werden verwendet als Erweiterungszeiger für neun Erweiterungen; J–R werden
verwendet für
die nächsten
neun Erweiterungsindikatoren, wenn es eine Kollision mit den ersten
drei Bytes gibt; S–Z
werden verwendet als Erweiterungsindikatoren für die nächsten acht Erweiterungen;
und 0–9
werden verwendet als Erweiterungsindikatoren für die nächsten 10 Erweiterungen. Ein
Beispiel dieses Systems ist nachstehend gezeigt:
BJC-4000 → B40A (erste
Erweiterung von BJC 4000),
BJC-4000E → B40B (zweite Erweiterung von
BJC- 4000),
BJC-400 → B40J
(erste Erweiterung von BJC-400), und
BJC-400X → B40K (zweite
Erweiterung von BJC-400).
-
b. Format 2:
-
- <1 Byte:
Teilbyte >
- <3 Bytes: Modell-ID
+ Erweiterung>
-
In diesem Format ist das Teilbyte
dasselbe wie das zuvor beschriebene Teilbyte, und die Modell-ID
und die Erweiterungsnummer sind so bestimmt, daß sichergestellt ist, daß zwei unterschiedliche
Einrichtungen nicht dasselbe "deviceModel" haben. Im zweiten
Format wird ein mathematischer Algorithmus verwendet, um eine einzigartige
Modell-ID + Erweiterung aus der aktuellen Modellnummer zu errechnen,
das heißt,
aus der "600" in BJC-600. Jedoch
kann ein beliebiges anderes Verfahren verwendet werden, sofern es
einzigartige "deviceModel"-Werte für jede Einrichtung
schafft.
-
13. "DeviceAttributes", gespeichert in den Bytes 56 bis 63,
sind Eigenschaften, die der speziellen Einrichtung einzigartig sind.
Mitteltyp, Auflösung,
Halbtontintenart und Ersteller müssen
nach der vorliegenden Erfindung spezifiziert werden. Ein bevorzugtes
Format für "deviceAttributes" ist folgendes: Bytes
56 bis 57 sind reserviert für
ICC, Byte 58 für
Mitteltyp, Byte 59 für
Auflösung,
Byte 60 für
Siebdruck, Byte 61 für
Tintenart und Bytes 62 bis 63 sind für zukünftige Verwendung reserviert.
-
In einem bevorzugten Ausführungsbeispiel
sind Mediatyp, Auflösung,
Siebdruck und Tintenart folgendermaßen festgelegt:
-
a. Mediatyp
-
- 0: nicht anwendbar/nicht beachten
- 1: glattes Papier
- 2: beschichtetes Papier
- 3: Glanzpapier
- 4: OHP-Papier
- 5: Hochglanzpapier
- 6: fein beschichtetes Papier
- 7: BPF-Papier
- 8: Textilpapier
-
b. Auflösung
-
- 0: nicht anwendbar/unbeachtlich
- 1: 180 × 180
dpi
- 2: 200 × 200
dpi
- 3: 300 × 300
dpi
- 4: 360 × 360
dpi
- 5: 400 × 400
dpi
- 6: 600 × 300
dpi
- 7: 600 × 600
dpi
- 8: 720 × 360
dpi
- 9: 720 × 720
dpi
- 10: 1200 × 600
dpi
- 11: 1200 × 1200
dpi
-
c. Trennung
-
- 0: nicht anwendbar/unbeachtlich
- 1: Muster 1
- 2: Muster 2
- 3: Muster 3
- 4: fehlerhafte Verteilung
- 5: fortgesetztes Tonmuster 1
- 6: fortgesetztes Tonmuster 2
- 7: fortgesetztes Tonmuster 3
-
d. Tintenart
-
- 0: nicht anwendbar/unbeachtlich
- 1: Normaltinte
- 2: Tintenart 1
-
Modifizierung für vorstehende Werte können erforderlichenfalls
erfolgen.
-
14. "Renderinglntent", gespeichert in den Bytes 64 bis 67,
legt eine Absicht dar (das heißt,
wahrnehmungsbezogen, relativ colorimetrisch, Sättigung und absolut), wofür das Profil
ausgelegt ist. Dieser Wert ist in der vorliegenden Erfindung gleich
0.
-
15. "WhiteXYZ", gespeichert in den Bytes 68 bis 79,
legt Helligkeitswerte des Profilverbindungsraums fest. In dieser
Erfindung ist dieser Wert auf D50 gesetzt.
-
16. Bytes 80 bis 127 sind durch ICC
für zukünftige Verwendung
reserviert.
-
Kopf 39 ist nicht beabsichtigt,
eine erschöpfende
Liste aller Informationen zu bieten, die als Profilkopf gespeichert
werden können.
Es zeigt besser nur Beispiele von Informationen, die im Profilkopf
gespeichert werden können.
-
Andere Informationen zusätzlich zu
dem zuvor Beschriebenen können
dem Kopf erforderlichenfalls, oder wenn dies gewünscht ist, hinzukommen. Bis
dahin hat ICC 48 Bytes reserviert, wie zuvor aufgezeigt,
für zukünftige Verwendung.
Um jedoch die vorliegende Erfindung zu realisieren, muß die gesamte
im Kopf 39 gezeigte Information präsent sein.
-
Die Kennzeichnungstabelle 40 enthält eine
Liste von Kennzeichnungen, sowohl öffentliche als auch private,
und Informationen bezüglich
der Kennzeichnungen. Im Profil beginnt die Kennzeichnungstabelle 40 mit
Byte 128 (das heißt,
nach Kopf 39). Genauer gesagt, wie in der Kennzeichnungstabelle 40 gezeigt,
zeigt "Ind" die Anzahl von Kennzeichnungen
in der Kennzeichnungstabelle 40 auf, "Signat" ist eine Kennzeichnungssignatur und
wird verwendet von CMM 9, um eine spezielle Kennzeichnung
zu orten; "elementOffset" ist der Ort im Speicher,
sowohl in Dezimal- als auch in Hexadezimalbezeichnung, bei dem die
Kennzeichnung beginnt; und "size" legt die Größe der Kennzeichnung
in Bytes fest.
-
Jede individuelle Kennzeichnung in
der Kennzeichnungstabelle 40 ist in der Weise aufgebaut,
daß die Bytes
0 bis 3 die Kennzeichnungssignatur festlegen, Bytes 4 bis 7 legen
einen Offsetwert fest, der auf den Anfang der Kennzeichnungsdaten
zeigt, und die Bytes 8 bis 11 legen die Anzahl von Bytes in der
Kennzeichnung fest.
-
Wie schon zuvor erläutert, legen öffentliche
Kennzeichnungen Vorratsfarbtransformationsoperationen fest, die
verfügbar
sind für
alle ICC-Profile. Ein Beispiel einer öffentlichen Kennzeichnung,
die in der Tabelle 40 bereitsteht, ist A2B2, die einen
3 × 3-Farbtransformationsmatrixprozeß enthält, eine
dreidimensionale LUT und zwei Sätze
von drei eindimensionalen LUT. Andere Beispiele öffentlicher Kennzeichnungen
sind in mehr Einzelheiten beschrieben im International Color Consortium
Profile Format document.
-
In der Kennzeichnungstabelle 40 enthalten
Kennzeichnungen mit "Ind"-Werten von 0 bis
16 öffentliche Kennzeichnungen,
während
Kennzeichnungen mit "Ind"-Werten von 17 und
18 private Kennzeichnungen enthalten. In diesem Falle sind private
Kennzeichnungen für
Canon registrierte private Kennzeichnungen.
-
Die vorliegende Erfindung wird in
Hinsicht auf die zuvor genannten beiden Kennzeichnungen in Verbindung
mit öffentlichen
Kennzeichnungen beschrieben, die in der Kennzeichnungstabelle 40 aufgeführt sind. Angemerkt
sei, daß die
vorliegende Erfindung jedoch mit beliebigen öffentlichen Kennzeichnungen
verwendet werden kann, die im International Color Consortium Profile
Format document aufgeführt
sind, oder mit beliebigen Kennzeichnungen, die damit kompatibel
sind.
-
Kurz gesagt, die vorliegende Erfindung
ist ein System des Ausführens
einer Farbtransformationsoperation bezüglich eingegebener Bilddaten,
wobei das System eine erste Kennzeichnung und eine zweite Kennzeichnung
verwendet, um die Farbtransformationsoperation anstelle einer vorbestimmten
Serie von Farbtransformationsoperationen auszuführen, die in einer öffentlichen
Kennzeichnung in einem Profilformat gespeichert sind. Das System
enthält
einen Eingabeschritt zur Eingabe von Farbbilddaten, ein Speicherschritt
zum Speichern einer ersten Kennzeichnung und einer zweiten Kennzeichnung,
wobei die erste Kennzeichnung zum Speichern einer Außerkraftsetzungsinformation
zum Außerkraftsetzen
einer vorbestimmten Serie von Farbtransformationen ist, und die
zweite Kennzeichnung dient dem Speichern von Farbtransformationsoperationsdaten,
auf die über
eine hierarchische Speicherstruktur zugegriffen werden kann, und
einen Bestimmungsschritt zum Bestimmen auf der Grundlage der Außerkraftsetzungsinformation
in der ersten Kennzeichnung, ob Zugriff auf die zweite Kennzeichnung
besteht. Ebenfalls im System enthalten sind ein Leseschritt zum
Lesen der Farbtransformationsoperationsdaten in der zweiten Kennzeichnung
in einem Falle, daß der
Bestimmungsschritt den Zugriff auf die zweite Kennzeichnung bestimmt,
den Leseschritt, der den Zeigern innerhalb der hierarchischen Speicherstruktur
folgt zum Zugriff auf die Farbtransformationsoperationsdaten in
der zweiten Kennzeichnung, und ein Verarbeitungsschritt zum Ausführen einer
Farbtransformationsoperation bezüglich der
eingegebenen Bilddaten gemäß der Farbtransformationsoperationsdaten,
die der Leseschritt gelesen hat.
-
Die vorliegende Erfindung speichert
Farbtransformationsoperationen und ruft die anderen öffentlichen und
privaten Kennzeichnungen in einer hierarchischen Struktur auf. Diese
hierarchische Struktur ist in 9 gezeigt,
die nachstehend in Einzelheiten in Verbindung mit einer detaillierten
Diskussion eines jeden der dort gezeigten Elemente beschrieben ist.
-
Die private Kennzeichnung, die einen "Ind"-Wert 17 hat, ist
nachstehend als Signatur "ucmI" bezeichnet, und
Bezugszeichen 52 enthält
Informationen bezüglich
der Interaktion privater Kennzeichnungen im ICC-Profil 8 mit öffentlichen
Kennzeichnungen im ICC-Profil 8. Darüber hinaus enthält ucmI 52 Informationen, die
von CMM 9 erforderlich sind zum Ausführen der Farbanpassung unter
Verwendung privater Kennzeichnungen. Fehlt ucmI 52, so
verwendet CMM 9 Normeinstellungen zum Interpretieren des
Profils. Wie in 8 gezeigt,
ist diese Information bytesequentiell in ucmI 52 gespeichert.
-
Genauer gesagt, Spalte 53 von
ucmI 52 legt Bytes von ucmI 52 fest, wobei Daten
in Spalte 56 gespeichert sind. Spalte 54 beschreibt
die in den Bytes von Spalte 53 gespeicherten Daten, und
Spalte 57 legt das Format der Daten fest, die in den Bytes
von Spalte 53 gespeichert sind. An dieser Stelle sei angemerkt,
daß "uInt32" für eine nicht
signierte 32-Bit-Ganzzahl steht, während die Notation "Ox", gefolgt von einer
Zahl, aufzeigt, daß die
Zahl ein Hexadezimalformat hat.
-
Die in ucmI 52 gespeicherten
Daten enthalten "uccmsPrivateInformationTag
Signatur", welches
ein kennzeichnungsspezifischer Identifizierer ist, durch den CMM 9 auf
ucmI 52 zugreifen kann; "Canon Signature", welches ein Sekundäridentifizierer ist zum Identifizieren
des privaten Kennzeichens, wie die Canon-Privatkennzeichnung, "Size of parameters
in bytes", welches
Parameterdatengrößen für Parameter
festlegt (ist später
in mehr Einzelheiten zu beschreiben), die verwendet werden bei Farbtransformationsoperationen, "Engine version", welches die Minimal-CMM-Version
festlegt, die erforderlich ist zum Lesen des Profils; "Profile Format Document
version", welches
die Version des Profils festlegt; "Profile version", die die Profilversion festlegt, die
durch ihren Ersteller festgelegt ist; "Profile Build number", womit die Baunummer des Gegenstandsprofils
festgelegt wird; "Interpolation flag", die die Art der
linearen Interpolation festlegt, die zu verwenden ist mit dem Profil;
Außerkraftsetzelemente,
die in den Bytes 32 bis 71 gespeichert sind (werden später in mehr
Einzelheiten beschrieben), womit die Sequence Canon ID number gespeichert
ist, die erforderlich ist zum Außerkraftsetzen einer speziellen öffentlichen
Kennzeichnung, wie beispielsweise A2B2; Optimierungskennzeichnungswerte,
die in den Bytes 72 bis 111 gespeichert sind, die Optimierungskennzeichen
für CMM 9 speichern,
womit der Druckmodus aufgezeigt wird, das heißt, der Entwurfsmodus; "Creator Division", womit die Canon-Einteilung
festgelegt ist, wodurch das Profil erstellt wurde; "Support Division", womit die Canon-Teilung festgelegt
ist, die das Profil unterstützt;
von Kries Kennzeichnung, die festlegt, ob eine Von-Kries-Farbtransformation
zu verwenden ist; und reservierte Bytes.
-
10 ist
ein Ablaufdiagramm, das die Verarbeitung zeigt, durch die CMM 9 durch
die ICC-Profile 8 gelangt und die öffentlichen und privaten Kennzeichnungen,
die dazu gehören.
Genauer gesagt, in Schritt s1001 liest CMM 9 die CMM-Art
des Profils 8, das im Kopf 39 gefunden wird. Die
CMM-Art entspricht einem Zeiger zu einem Bereich des Speichers,
der den dort gespeicherten Wert enthält.
-
Wenn als nächstes in Schritt S1002 von 10 CMM 9 auf der
Grundlage der CMM-Art im Kopf 39 bestimmt, daß das Profil 8 ein "UCCM-Profil ist,
wie im Falle bei Profil 8, schreitet die Verarbeitung fort
zu Schritt s1003, in dem CMM 9 die Farbtransformationsoperationen
gemäß ucmI 52 ausführt, und
nicht gemäß öffentlicher
Kennzeichnungen. Wie in 9 gezeigt,
ist somit ucmI 52 ganz oben in der Speicherhierarchie.
-
Genauer gesagt, CMM 9 liest
ucmI 52's
Signatur, gefunden in den Bytes 0 bis 3 von ucmI 52, und
greift zu auf den "elementOffset"-Bereich im Speicher,
der ucmI 52 entspricht, das ist in diesem Falle Byte 25667810 (siehe 4).
-
In Schritt s1003 in 10 liest CMM 9 danach die Daten
in den Bytes 32 bis 71 von ucmI 52, und basierend darauf
wird bestimmt, ob irgendeine der Operationen, festgelegt durch die öffentlichen
Kennzeichnungen im Profil 8, außer Kraft gesetzt sind. Wenn
in dieser Hinsicht 0H im Außerkraftsetzungsbereich
von ucmI 52 es gibt, dann führt CMM 9 eine Farbtransformation
gemäß einem
Prozeß aus,
der in der zugehörigen öffentlichen
Kennzeichnung gespeichert ist. Wenn es einen Nicht-Null-Wert in
einem Außerkraftsetzungsbereich von
ucmI 52 gibt, dann führt
CMM 9 eine Farbtransformation gemäß dem Prozeß aus, der in ucmI 52 gespeichert
und festgelegt ist durch den Nicht-Null-Wert. Wie beispielsweise
in 8 gezeigt, hat AtoB0Tag
eine Außerkraftsetzung 59 mit
einem Wert von "0 × 0" oder 0H.
Basierend auf dieser Information wird CMM 9 irgendeinen
Farbtransformationsprozeß AtoB0Tag
gemäß der öffentlichen
Kennzeichnung AtoB0Tag gespeicherten Farbtransformationsprozefl
ausführen.
In Hinsicht auf den Farbtransformationsprozeß AtoB0Tag schreitet der Ablauf
zum Ende in 10.
-
Wie in 8 gezeigt,
hat jedoch die Außerkraftsetzung 60 BtoA2Tag
einen Wert von "0 × 33" oder 33H, was
als Zeiger für
einen Bereich im Speicher dient. In Hinsicht auf die Farbtransformationsoperationen
für BtoA2Tag
schreitet die Verarbeitung folglich gemäß der Information fort, die
in ucmI 52 gespeichert ist, und nicht der mit der öffentlichen
Kennzeichnung BtoA2Tag.
-
Genauer gesagt, wie in 10 gezeigt, schreitet die
Verarbeitung fort zu Schritt S1005, in dem die private Kennzeichnung
mit dem Wert "Ind" von 18, der nachstehend
als Signatur "ucmP" genannt wird, und Bezugszeichen 62 wird
automatisch von CMM gelesen.
-
11 zeigt
ein Beispiel von ucmP 62. Wie in 11 gezeigt, speichert ucmP 62 Information
in bytesequentieller Weise im selben Format wie ucmI 52.
Zur Verkürzung
der Sache wird eine detaillierte Beschreibung des Speicherformats
hier fortgelassen.
-
Die in ucmP 62 gespeicherte
Information enthält "uccmsPrivateSequencesTagTable
Signature", wobei es
sich um einen kennzeichnungsspezifischen Identifizierer handelt,
durch den CMM 9 auf ucmP 62 zugreift; "Canon Signature", welches identisch
ist mit "Canon Signature", was zuvor in Hinsicht
auf ucmI 52 beschrieben wurde; "Number of Sequences", womit die Anzahl von Farbtransformationssequenzen
festgelegt ist, die über ucmP 62 auszuführen sind;
und "Sequences structures", womit eine Serie
von Farbtransformationsoperationen festgelegt ist, die auszuführen sind
speziell für
die Farbtransformationssequenz, mit der relevante Informationen,
die erforderlich sind für
CMM 9 zum Ausführen
der Farbsequenz. Angemerkt sei, daß während
-
11 lediglich
vier Sequenzstrukturen zeigt, eine beliebige Zahl von Sequenzstrukturen
zu ucmP 62 hinzukommen kann, wobei die Anzahl von Sequenzstrukturen
lediglich durch die Hardware beschränkt ist, auf der die vorliegende
Erfindung läuft.
-
Die Sequenzstruktur für eine Transformationssequenz
ist in 12 gezeigt. Angemerkt
sei, daß während spezielle
Operationen in der Farbsequenz variiert werden können, gemeinsam mit anderen
Parametern darin, ist die Struktur der Sequenzen jedoch feststehend.
-
Genauer gesagt, alle Farbtransformationssequenzen
enthalten "CanonID", welches die Sequenz
ist, über
die CMM 9 auf die speziellen Sequenzen zugreift. In diesem
Falle ist "CanonID" 33H,
welches BtoA2Tag-Außerkraftsetzung 60 entspricht
aus ucmI 52 in 8.
Durch diese Entsprechung ist CMM 9 in der Lage, auf der
Grundlage von ucmI 52 zu bestimmen, welche Farbanpassungssequenz
zum Zugriff in ucmP 62 gehört.
-
Die Farbtransformationssequenzstrukturen
enthalten auch "reservierte
Bytes", die für die Zeit
gültig sind
durch Beibehalten eines Wertes von 00H; "numOpers", womit die Anzahl
von Operationen in der Farbtransformationssequenz festgelegt wird
und die nachstehend in mehr Einzelheiten zu beschreiben ist; "segPCS" legt den Profilverbindungsraum
fest, in dem das Gegenstandsprofil Daten umsetzt; "Länge", die die Länge von Bytes festlegt von
Parametern, die in Operationen verwendet werden, die von der Farbtransformationssequenz
auszuführen
sind; und "offset", was den Anfangspunkt
im Speicher der Farbtransformationsoperationen festlegt, die auszuführen sind
von der Farbtransformation durch die Farbtransformationssequenz.
-
Wie in 12 gezeigt,
legt die Sequenzstruktur auch das Format der Daten fest, die dort
gespeichert sind. Wie in diesem Falle gezeigt, ist das Format "uInt32", was, wie oben gezeigt,
der unsignierten Ganzzahl zu 32 Bit entspricht.
-
Die Sequenzstruktur enthält eine
Bytekette, die in Spalte 65 von ucmP 62 in den
Bytes 16 bis 39 gespeichert ist, wie in 11 gezeigt. Für das in den 11 und 12 gezeigte "numBeispiel ist somit "CanonID" 33, "reserved" ist 00, Opers" ist 04, "segPCS" ist LAB, "length" ist 40 und "offset" ist 5163. Diese
Werte sind als Daten in den Bytes 16 bis 39 der Sequenzstruktur
1 gespeichert. Gleiche identifizierbare Sequenzstrukturen können auch
in Sequenzstrukturen 2 bis 4 gespeichert sein. Um die Sache abzukürzen, wird
die vorliegende Erfindung nur in Hinsicht auf die vorstehende Sequenzstruktur
beschrieben. Wie in 9 gezeigt,
ist folglich ucmP 62 die nächste in der Hierarchischen
Speicherstruktur nach ucmI 52, gefolgt von verschiedenen
verfügbaren
Sequenzstrukturen 66 bis 68.
-
Um eine Zusammenfassung bis zu diesem
Punkt zu geben, liest CMM 9 die Sequenzstruktur 1, da ein 33H in BtoA2Tag-Außerkraftsetzung 60 in
ucmI 52 vorhanden war, und da die Sequenzstruktur 1 eine
CanonID von 33H hat.
-
Jede Sequenz enthält, wie oben beschrieben, einen "numerOpers" Wert, ein "length" Wert kund einen "offset"-Wert. CMM 9 verwendet
diese Werte zum Zugriff auf Farbtransformationsoperationen, die
innerhalb der Sequenzstrukturen gespeichert sind. Genauer gesagt,
da (1) einer jeden Farbtransformationsoperation eine feststehende
Länge hat,
die festgelegt ist durch "length", (2) die Anzahl
von Farbtransformationsoperationen festgelegt ist durch "numerOpers", bekannt ist, und
(3) der Bereich im Speicher, bei dem die Farbtransformationsoperationen
sequentiell gespeichert sind, bekannt ist, kann CMM 9 per
se jede Farbtransformationsoperation und die Operation ausführen, die
auf der Information basiert, die in den Sequenzstrukturen gespeichert
ist. Dieser Prozeß ist
nachstehend detailliert beschrieben.
-
13 zeigt
die Struktur einer Farbtransformationsoperation. Genauer gesagt,
die Struktur von Farbtransformationsoperationen ist folgendermaßen festgelegt: "oper" legt die Art der
Farbtransformationsoperation fest, die auszuführen ist; "subid" legt die Unteridentifikationsnummer
für eine
spezielle Farbtransformationsoperation fest, die in mehr Einzelheiten
nachstehend beschrieben ist; "length" legt die Länge einer
Parameterliste in der Farbtransformationsoperation fest; "tagFlag" legt einen Ruf fest
nach einer anderen öffentlichen oder
privaten Kennzeichnung im Falle, daß "tagFlag" einen Nicht-Null-Wert hat, oder einen
Ruf nach Farbtransformationsoperationen, die in der Parameterliste
in dem Falle gespeichert sind, daß "tagFlag" einen Nullwert hat; und "parm" legt die Parameterliste
fest, die in der Farbtransformationsoperation verwendet wird.
-
Es gibt 7 Farbtransformationsoperationen,
die aktuell ausgeführt
werden unter Verwendung der vorliegenden Erfindung. Diese sieben
Farbtransformationsoperationen, von denen jede festgelegt ist durch
eine UCCMS-Operationsnummer enthält
(1), N × M-Matrix,
(2) drei ein-dimensionale LUTs, (3) eine dreidimensionale LUT, (4)
eine ColorSpace Transformation, (5) Shift Hues (Farbverwerfung),
(6) Business Graphics Transformation, und (7) eine drei dimensionale
tri-lineare oder pyramidische LUT. Farbtransformationsoperationen können hinzugefügt oder
aus der Liste gelöscht
werden, wie gewünscht.
-
Jede der vorstehenden Farbtransformationsoperationen
führt unterschiedliche
Operationen in eingegebenen Farbbilddaten aus. Beispielsweise könnte die
N × M
Matrix eine 3 × 3-Matrix
sein, die verwendet wird zum Transformieren von Farbbilddaten aus
einem XYZ Farbraum in einen RGB Farbraum. Gleiche Farbtransformationen
könnten
gemäß anderen
Operationen ausgeführt
werden, auf die aus Sequenzstrukturen Zugriff besteht.
-
CMM 9 speichert eine Liste
der vorstehenden 7 Operationen. Wenn CMM 9 bestimmt, auf
der Grundlage des "opers" value in einer Sequenzstruktur,
dann wird die eine der Operationen, die bezüglich der Farbbilddaten auszuführen ist,
von CMM 9 gelesen für
die Daten der auszuführenden
Operation von der privaten Kennzeichnung, die die Farbtransformationsoperation
spezifiziert, und führt
die Farbtransformationsoperation bezüglich des Farbbildes unter
Verwendung der Daten aus. Nachstehendes beschreibt Zugriffsdaten
für die Operation,
die von einer spezifizierten privaten Kennzeichnung auszuführen ist.
-
Genauer gesagt, gemäß 10 wird jede Farbtransformationsoperationsstruktur
aus der Sequenzstruktur gelesen und basiert auf dieser, und so ist
bestimmt, welche Art von Farbtransformationsoperationen auszuführen ist.
Wenn beispielsweise CMM 9 eine "1" liest
als "oper"-Wert, der als Zeiger
auf einen Bereich im Speicher arbeitet, für eine spezielle Farbtransformationsoperation,
dann greift CMM 9 auf die Farbtransformationsoperation
zu, die der "1" entspricht, welches
in diesem Fall die N × M-Matrix
ist. 9 zeigt des weiteren
die Beziehung von Farbtransformationsoperationen zu Sequenzstrukturen 66,
das heißt,
diese sind in der Hierarchie unter der Sequenzstruktur 66.
-
17 zeigt
ein Beispiel einer N × M-Kennzeichnung 80,
die Daten enthält,
die der Ausführung
von UCCMS-Operation 1 dienen, der N × M-Matrix. Wie in 14 gezeigt, ist das Formation
der privaten Kennzeichnung, die zum Implementieren der N × M-Matrix
dient, derjenigen gleich, die zum Implementieren von ucmP 62 dient.
Eine detaillierte Beschreibung des Formats ist hier zur Abkürzung fortgelassen.
Angemerkt sei, daß das
Format und die Struktur einer jeden der privaten Kennzeichnungen,
die für
Farbtransformationsoperationen verwendet werden, dieselben sind
wie die von der N × M-Kennzeichnung 80.
-
Die in 14 gezeigte
N × M-Kennzeichnung 80 enthält "Operation ID", wie zuvor beschrieben,
und legt die Art der Farbtransformationsoperation fest, die von
der privaten Kennzeichnung ausgeführt wird; "Sub ID" ist nachstehend in mehr Einzelheiten
beschrieben und wird nicht in diesem Falle verwendet; "Length of Parameter
List in bytes",
legt die Länge
der Parameterliste fest, die nachstehend beschrieben ist, und die
verwendet wird zum Zugriff auf die Parameterliste; "Tag Flag", welches nicht in
diesem Falle verwendet wird und welches nachstehend in mehr Einzelheiten
beschrieben ist; und "Parameter
Data", welches die
Parameter festlegt, die in der Farbtransformationsoperation zu verwenden
sind. Wie in 14 gezeigt,
sind die in der N × M -matrix
verwendeten Parameter in diesem Falle 3 und sind die N-Dimension
der Matrix, die M-Dimension der Matrix und ist jedes der Matrixelemente.
-
Wenn CMM 9 somit gemäß Schritt
s1006 vom Ablaufdiagramm, das in 10 gezeigt
ist, bestimmt, daß eine
N × M-Farbtransformationsoperation
auszuführen
ist, liest CMM 9 die Parameterdaten, die in der N × M-Kennzeichnung 80 gespeichert
sind, und führt
die Farbtransformationsoperation aus, die festgelegt ist durch "Operation ID" gemäß den in
Schritt s1007 gelesenen Parametern.
-
In dem Falle, daß ein "oper"-Wert
für eine
Farbtransformationsoperation in Sequenzstrukturen 1 und 2 festgelegt
ist, schreitet die Verarbeitung zu Schritt s1008, und danach zu
Schritt s1009. Die Schritte s1008 und s1009 legen eine Farbtransformationsoperation
fest, die eine eindimensionale LUT beinhaltet. 15, die sich zusammensetzt aus den 15A und 15B, zeigt Beispiele privater Kennzeichnungen,
die verwendet werden können
zum Erstellen der LUT zur Farbtransformationsoperation 2.
-
15A zeigt
eine 1DLUT-Kennzeichnung 81, die eine LUT zur Farbtransformationsoperation
2 festlegt, in der ein Ruf ergeht an eine öffentliche Kennzeichnung oder
eine andere private Kennzeichnung aus 1DLUT 81. Genauer
gesagt, in 15A ist der "Tag Flag"-Wert "A2B2". "Tag Flag" legt einen Ruf zu
einer anderen Kennzeichnung fest, in diesem Falle die öffentliche
Kennzeichnung "AtoB2". Wenn somit CMM 9 1DLUT 81 liest
und "A2B2" als Wert für "Tag Flag" annimmt, greift
CMM 9 auf die öffentliche
Kennzeichnung "AtoB2" zu und führt Farbtransformationsoperationen
damit aus. In diesem Falle sind folglich keine "Parameter Data" erforderlich, da die Farbtransformationsoperationen
gemäß Daten
ausgeführt
wird, die in einer öffentlichen Kennzeichnung
gespeichert sind. Die "Length
of Parameter List" hat
also folglich den Wert von Null.
-
Die vorliegende Erfindung gestattet
in vorteilhafter Weise einem Anwender durch Einstellen eines Wertes "Sub ID" die Auswahl einer
speziellen Farbtransformationsoperation innerhalb der öffentlichen
Kennzeichnung, die spezifiziert ist in "Tag Flag". Das heißt, jede öffentliche Kennzeichnung, wie
beispielsweise "AtoB2" kann mehr als eine
Farbtransformationsoperation enthalten. Die vorliegende Erfindung
stellt eine Auswahl einer der Farbtransformationsoperationen bereit
innerhalb der öffentlichen
Kennzeichnung. Beispielsweise enthält die öffentliche Kennzeichnung "AtoB2" eine 3 × 3-Matrix
und 3 LUT: eine Eingabe-LUT
vom Typ lut8/lut16, eine Ausgangs-LUT vom Typ lut8/lut16 und eine
LUT vom Kurventyp. Durch Einstellen des Wertes "Sub ID" auf 0, 1 oder 2 in der 1DLUT-Kennzeichnung 81 wird
CMM 9 nur eine der Farbanpaßoperationen ausführen, die
in der öffentlichen
Kennzeichnung "AtoB2" bereit steht. Da
darüber
hinaus CMM 9 auf der Grundlage von "Operation ID" in der 1DLUT-Kennzeichnung 31 weiß, daß LUT-Operationen
auszuführen
sind, wird CMM 9 nur eine LUT auswählen, die in der öffentlichen
Kennzeichnung "AtoB2" gespeichert ist,
und wird nicht beispielsweise die 3 × 3-Matrix auswählen.
-
In einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung dirigiert ein Wert von "0" in "Sub
ID" CMM zur Verwendung
der Eingeings-LUT aus lut8type/lut16type; einen Wert von "1" in der "Sub ID" dirigiert CMM9 zur Verwendung der Ausgangs-LUT
lut8type/lut16type; und ein Wert von "2" in
der "Sub ID" dirigiert CMM 9 zur
Verwendung der LUT vom Kurventyp, von denen alle, wie zuvor aufgezeigt,
in der öffentlichen
Kennzeichnung "AtoB2" gespeichert sind.
Gleiche Spezifikationen lassen sich für jede in 4 gezeigte öffentliche Kennzeichnung machen
und für
jede andere öffentliche
Kennzeichnung, die eine Vielzahl von Farbtransformationsoperationen
enthält.
-
15B zeigt
ein Beispiel der 1DLUT-Kennzeichnung 82 für die Farbtransformationsoperation
2, in der "Tag Flag" gleich Null ist,
das heißt
in der die Farbtransformationsoperationen gemäß der Information in der privaten
Kennzeichnung auszuführen
sind, und nicht gemäß der Information
in einer öffentlichen
Kennzeichnung. Somit zeigt in der 1DLUT-Kennzeichnung 82 "Length of Parameter
List", die 77110 ist, wie zuvor beschrieben ist, die Länge in Bytes
der "Parameter Data" auf, gespeichert
in den Bytes 16 kund in den folgenden der 1DLUT-Kennzeichnung 82.
Die "Parameter Data", festgelegt in der
1DLUT-Kennzeichnung 82, enthalten Parameterdaten, die erforderlich
sind zum Ausführen
einer Farbtransformationsoperation, wie beispielsweise einer Gamma
Korrektur, unter Verwendung einer LUT. Wie in 15B gezeigt, enthalten somit die "Parameter Data" die Dimensionen
der LUT die Anzahl von Eingangs- und Ausgangsbits zur Ein- und Ausgabe von
Daten beziehungsweise von Werten für die LUT. Wie zuvor angemerkt,
sind die Anzahl von Parametern und somit die Größe der LUT nicht beschränkt auf
die private Kennzeichnung. Besser sind diese Werte lediglich beschränkt durch
die Kapazität
der Recheneinrichtung, auf der die vorliegende Erfindung realisiert
wird.
-
Kehren wir zurück zu 10, im Falle, daß ein "oper"-Wert
für eine
Farbtransformationsoperation festgelegt ist in der Sequenzstruktur
1 und gleich 3 ist, schreitet die Verarbeitung fort zu Schritt s1010
und danach zu Schritt s1011. Die Schritte s1010 und s1011 legen
eine dreidimensionale LUT-Farbtransformationsoperation
fest. 16 zeigt ein Beispiel
einer privaten Kennzeichnung, die die Farbtransformationsoperation
3 realisiert. Eine Beschreibung von
16 gleicht
derjenigen, die zuvor bereit gestellt wurde in Hinsicht auf 15, und folglich wird eine
detaillierte Beschreibung von 16 zur
Verkürzung
fortgelassen.
-
Kehren wir zurück zu 10, im Falle, daß ein "oper"-Wert
für eine
Farbtransformationsoperation definiert ist in der Sequenzstruktur
1 und gleich 4 ist, schreitet die Verarbeitung fort zu Schritt s1012
und danach zu Schritt s1013. Die Schritte s1012 und s1013 definieren
eine Farbraumtransformationsoperation.
-
17 zeigt
ein Beispiel einer privaten Kennzeichnung (Farbraumkennzeichnung 84),
die die Farbtransformationsoperation 4 realisiert. In 17 ist "Operation ID" gleich 4, "Length of Parameter List" ist 0, und "Tag Flag" ist 0H.
Diese Werte ändern
sich in diesem Falle nicht. In diesem Falle legt "Sub ID" die Art der Farbraumtransformationsoperation
fest, die über
die Farbraumkennzeichnung 84 auszuführen ist. Die folgenden Farbraumtransformationen,
festgelegt durch "Sub
ID"-Werte 1 bis
9, können
ausgeführt
werden über
die Farbraumkennzeichnung 84:
- 0: RGB
(Rot, Grün,
Blau) → HLS
(Tonwert, Helligkeit, Sättigung),
- 1: HLS → RGB,
- 2: CMY(Cyan, Magenta, Gelb) → HLS,
- 3: HLS → CMY,
- 4: CIEXYZ → CIELAB,
- 5: CIELAB → CIEXYZ,
- 6: CIEXYy → CIEXYZ,
- 7: CIEXYZ → CIExy
CIExyY,
- 8: CIEXYZ → CRGB
(Canon RGB), und
- 9: CRGB → CIEXYZ.
-
Angemerkt sei, daß die vorstehende Liste von
Farbraumtransformationen nicht erschöpfend ist, und zusätzlich Farbraumtransformationsoperationen
könnten
hinzukommen, wenn dies gewünscht
ist.
-
Im Falle, daß der "oper"-Wert
für eine
Farbtransformationsoperation, die festgelegt ist in Sequenzstruktur
1, gleich 5 ist, schreitet die Verarbeitung in 3 fort zu Schritt s1014 und danach zu
Schritt s1015. Die Schritte s1014 und s1015 definieren eine Farbverwerfungstransformationsoperation.
Kurz gesagt, eine Farbverwerfungstransformationsoperation verwendet
eingegebene RGB-Tonwertwinkel zum Korrigieren von CMYK-Fehlern in
Ausgangsfarbbilddaten.
-
18 zeigt
ein Beispiel einer Verwerfungskennzeichnung 88, die eine
Farbtransformationsoperation 5 realisiert. In 18 ist "Operation ID" gleich 5, "Sub ID" ist gleich 0 und "Tag Flag" ist gleich 0H.
Diese Werte ändern
sich nicht. In diesem Falle enthalten "Parameter Data" Werte, die erforderlich sind zum Ausführen der Farbverwerfungstransformationsfunktion,
das heißt,
die RGB-Tonwertwinkel.
-
Im Falle, daß ein "oper"-Wert
für eine
Farbtransformationsoperation, die festgelegt ist in Sequenzstruktur
1, gleich 6 ist, schreitet die Verarbeitung in 10 fort zu Schritt s1016 und danach zu
Schritt S1017. Die Schritte s1016 und s1017 definieren eine Geschäftsgraphik-LUT,
die beispielsweise nützlich
ist zum Ausführen von
Farbtransformationsoperationen.
-
Geschäftskennzeichnungen 89 und 90,
die in den 19A beziehungsweise 19B gezeigt sind, entsprechen
den 1DLUT-Kennzeichnungen 81 und 82,
die in den 15A beziehungsweise 15B gezeigt sind.
-
Wie im obigen Falle in Hinsicht auf
die privaten Kennzeichnungen, die in 15 gezeigt
sind, wird auf die privaten Kennzeichnungen, die in 19 gezeigt sind, über CMM 9 durch Sequenzstrukturen
1 in ucmP 62 zugegriffen. Im Falle, daß die eingegebenen Daten, die
zu verarbeiten sind gemäß den in 11 gezeigten privaten Kennzeichnungen,
dieselben Werte haben, führt
CMM 9 keine Farbtransformationsoperation mit keinem der
in 19 gezeigten privaten
Kennzeichnungen aus. Statt dessen wird keine Farbtransformationsoperation
ausgeführt.
Da dies der einzige Unterschied zwischen der Transformation ist,
die gemäß den in 19 gezeigten privaten Kennzeichnungen
ausgeführt
wird, und jenen, die in 15 gezeigt
sind, ist eine detaillierte Beschreibung der Farbtransformationsoperationen,
die festgelegt sind durch private, in 19 gezeigte
Kennzeichnungen, zur Abkürzung
fortgelassen.
-
Im Falle, daß ein "oper"-Wert
für eine
Farbtransformationsoperation, die in Sequenzstruktur 1 festgelegt
ist, gleich 7 ist, schreitet die Verarbeitung in 3 fort zu Schritt s1018 und danach zu
Schritt s1019. Die Schritte s1018 und s1019 definieren einen trilinearen
oder pyramidischen Interpolationsprozeß zum Ausführen einer dreidimensionalen
linearen Interpolation.
-
In einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung wird die private Kennzeichnung, die die
trilineare oder pyramidische Interpolation ausführt, in derselben Weise konfiguriert
wie die zuvor beschriebenen anderen privaten Kennzeichnungen. 20 zeigt ein bevorzugtes
Ausführungsbeispiel
einer privaten Kennzeichnung 92, die verwendet wird zum
Ausführen
einer Farbtransformationsoperation 7. Wie in 12 gezeigt, ist in der privaten Kennzeichnung 92 die "Operation ID" gleich 7, die "Sub ID" ist gleich 0, und die "Tag Flag" ist gleich 0. Diese
Werte ändern
sich nicht. Auch enthalten ist die "Length of Parameter List", die den Wert hat,
der der Anzahl von Bytes entspricht, die die Parameter enthalten,
und die "Parameter
Data", die die Daten
zum Ausführen
der trilinearen oder pyramidischen Interpolation festlegen.
-
Ein anderes Ausführungsbeispiel privater Kennzeichnung,
die verwendet wird zum Ausführen
einer trilinearen oder pyramidischen Interpolation gemäß der vorliegenden
Erfindung, ist in 21 gezeigt.
Genauer gesagt, anstelle der enthaltenen Parameterdaten, die eine
erforderliche Farbtransformationsoperation ausführen, enthält die in 23 gezeigte private Kennzeichnung 93 "Table ID". Der Wert von "Table ID" bezieht sich auf
eine andere private Kennzeichnung, die zur Bestimmung verwendet
wird, ob eine trilineare Interpolation oder eine pyramidische Interpolation
auszuführen
ist. Ein Beispiel dieser anderen privaten Kennzeichnung ist in 22 gezeigt.
-
Genauer gesagt, 22 zeigt ein Beispiel einer privaten
Kennzeichnung 94, die von einer privaten Kennzeichnung 93 aufgerufen
wird, die in 21 gezeigt,
die Tabellen festgelegt, die verwendet werden zum Ausführen der
trilinearen oder pyramidischen Interpolation.
-
Wie in 22 gezeigt,
enthält
somit die private Kennzeichnung 94, die nachstehend als
ucmT 94 bezeichnet ist, die in derselben Weise wie andere private
Kennzeichnungen der vorliegenden Erfindung strukturiert ist, die
folgenden Elemente: "uccmsPrivatelnterpolation
TableTag Signature",
die ein kennzeichnungsspezifischer Identifizierer ist, durch den
CMM 9 auf diese private Kennzeichnung zugreifen kann; "Canon Signature", die oben beschrieben
wurde in Hinsicht auf 8; "Number of Tables", die die Anzahl
von LUT in ucmT 94 festlegt; und "Table" N, wobei N = 1, 2, ... ist, die LUT
sind, gemäß denen
CMM 9 die trilineare oder pyramidische Interpolation ausführt.
-
Die "Table"-Werte beinhalten eine Tabellenkopfstruktur,
von der ein Beispiel in 23 gezeigt
ist. Wie in 23 gezeigt,
enthält
die Tabellenkopfstruktur "tableID", welches ein tabellenspezifischer
Identifizierer ist; "length", das die Länge der
spezifizierten Tabelle festgelegt; und "offset", das den Punkt im Speicher festlegt, bei
dem die spezifizierte Tabelle anfängt. Die Information kann verwendet
werden zum Zugriff auf eine andere Tabelle im Speicher. Wie in 9 gezeigt, wird auf diese
Tabellen nur von der Farbtransformationsoperation 7 zugegriffen.
-
Ein Beispiel einer privaten Kennzeichnung,
die eine LUT festlegt, auf die durch ucmT 94 zugegriffen werden
kann, ist in
24 gezeigt.
Die private Kennzeichnung LUT 96, die in 24 gezeigt ist, hat eine Form, die identisch
ist mit anderen privaten Kennzeichnungen, die in der vorliegenden
Erfindung verwendet werden. Die private Kennzeichnung LUT 96 enthält folgende
Elemente: "tableKind", die die Art der
Operation festlegt, die die LUT ausführt, das heißt, entweder
trilineare Interpolation, in deren Falle "tableKind" einen Wert von 1 hat, oder pyramidische
Interpolation, bei der "tableKind" einen Wert von 0
hat; "parentTag", die die Mutterkennzeichnung
für die
LUT definiert; "inChannels", womit die Anzahl
eingegebener Kanäle
festlegt wird; "inBits", womit die Anzahl
eingegebener Bits festgelegt wird, die zum Adressieren der LUT verwendet
werden; "outChannels", womit die Anzahl
von Ausgangskanälen
festgelegt ist; "outBits", womit die Anzahl
von Bits festgelegt wird, die verwendet werden zur Ausgabe, wobei üblicherweise
sowohl diese Zahlen als auch "inBits" gleich 8; "gridPoints3DTable", womit die Anzahl
von Gitterpunkten in der LUT festgelegt wird; und "gridPoints4DTable", womit die Anzahl
von Gitterpunkten für
einen vierten Kanal festgelegt werden, die lediglich in einer pyramidischen
Interpolation verwendet wird. Wie zuvor beschrieben, wird die vorstehende
Information verwendet durch das Farbanpassungsverfahren zum Ausführen trilineare
oder pyramidischer Interpolationen.
-
Wenn parentTag gleich 0X00000000
und tableKind trilinear ist, dann wird die gesamte Interpolationsfarb-LUT
auf ucmT 94 zeigen. Wenn ein parentTag gleich 0X00000000
und tableKind pyramidisch ist, dann wird ein erster Datensatz in
der Farb-LUT als Hauptgitterdaten festgelegt, denen Untergitterdaten
folgen. Wenn parentTag die Signatur der dreidimensionalen LUT im
Profil 8 und tableKind trilinear ist, wird die dreidimensionale
LUT als Gitterpunkte verwendet und der Rest der Felder wird wie
inChannels ignoriert. Wenn parentTag die Signatur einer dreidimensionalen
LUT im Profil 8 und tableKind pyramidisch ist, dann wird
die dreidimensionale LUT als Hauptgitterpunkte verwendet, und die
Farb-LUT enthält
nur Untergitterpunkte.
-
Unter Rückbezug auf 10 wird im Falle, daß keine Operationen in den
Schritten s1006 bis s1018 ausgeführt
werden, die Verarbeitung beendet.
-
Darüber hinaus sei angemerkt, daß eine private
Datenkennzeichnung, die "PrivateDataTableTag" genannt wird, vom
Anwender modifiziert werden kann, um die privaten Daten des Anwenders
zu erhalten, und gespeichert werden kann unter einem Punkt innerhalb
der hierarchischen Speicherstruktur.
-
Nachstehend bereitgestellt ist eine
kurze Erläuterung
anhand 25 des Transformierens
von Farbbilddaten aus Farbmonitor 2 (AGB)-Farbraum in den
Farbdrucker 16 (CMY)-Farbraum gemäß der vorliegenden Erfindung.
Angemerkt sei, daß,
während
ein Farbtransformationsprozeß möglicherweise
ausgeführt
werden könnte
unter Verwendung aktuell verfügbarer öffentlicher
Kennzeichnungen, das nachstehende Beispiel in Hinsicht auf vom Anwender
erstellte private Kennzeichnungen beschrieben ist, um so die Erfindung
zu veranschaulichen.
-
Wenn angenommen wird, daß es vordefinierte
ICC-Profile für
sowohl den Farbmonitor 2 als auch für den Farbdrucker 16 gibt,
dann führt
ein Anwender in Schritt s2501 das zuvor beschriebene Anwenderprogramm 10 aus
zum Erstellen und Modifizieren privater Kennzeichnungen. Dem entsprechend
gibt der Nutzer die private Kennzeichnungsinformation zum Transformieren
von Farbbilddaten aus einem AGB-Farbraum in einen Profilverbindungsfarbraum
für den
Farbmonitor 2 und private Kennzeichnungsinformationen zum
Transformieren von Farbbilddaten aus dem Profilverbindungsraum in
einen CMY-Farbraum für
den Farbdrucker 16 ein.
-
Sind die privaten Kennzeichnungen
sowohl für
den Farbmonitor 2 als auch für den Farbdrucker 16 in Schritt
s2501 erstellt, schreitet die Verarbeitung fort zu Schritt s2502.
In Schritt s2502 gibt CMM 9 AGB-Farbbilddaten vom Farbmonitor 2 ein.
Danach greift CMM 9 in Schritt s2503 zu auf das ICC-Profil
zum Transformieren der Farbbilddaten aus dem AGB-Farbraum in den
Profilverbindungsraum.
-
Greift CMM 9 auf das Farbprofil
für den
Farbmonitor 2 zu, dann liest CMM 9 das Profil
zum Bestimmen, welche Kennzeichnungen dort zum Zugriff aufgelistet
sind. In diesem Falle würde
CMM 9 "UCCM" unter CMMType lesen,
womit aufgezeigt ist, daß die
Verarbeitung gemäß der privaten
Kennzeichnung ucmI und nicht gemäß Standard-ICC-Prozessen
fortschreiten wird.
-
Es muß angemerkt werden, daß die ICC-Profile,
die im vorliegenden Beispiel verwendet werden, eine Struktur haben,
die der zuvor beschriebenen identisch ist. In Schritt s2504 liest
CMM 9 folglich die ucmI aus zum Bestimmen, welche öffentlichen
und/oder privaten Kennzeichnungen bezüglich der RGB-Daten zu verarbeiten
sind. Im vorliegenden Falle wird angenommen, daß es einen Nicht-Null-Wert
in einem Außerkraftsetzungsbereich
von ucmI gibt, und CMM 9 lokalisiert denselben Nicht-Null-Wert
in einem der Sequenzstrukturbereiche von ucmP.
-
Dank der vorstehenden Schritte hat
somit CMM 9 bestimmt, welche Sequenzen von Farbtransformationsoperationen
bezüglich
der RGB-Farbbilddaten auszuführen
sind, das heißt,
die Farbtransformationsoperationen, auf die über die Sequenzstruktur zugegriffen
wird, die dem Nicht-Null-Wert im Außerkraftsetzungsbereich von
ucmI entspricht.
-
Hat CMM 9 die Sequenzen
der Farbtransformationsoperationen bestimmt, die bezüglich der RGB-Farbbilddaten
auszuführen
sind, greift CMM 9 zu auf die Daten für jede der Farbtransformationsoperationen
aufgrund eines "oper"-Wertes und aufgrund
von Speicherortdaten für
jede Farbtransformationsoperation in der Sequenzstruktur. Auf diese
Weise greift CMM 9 zu auf die privaten Kennzeichnungen,
die Farbtransformationsoperationsdaten speichern, wie Elemente in
einer N × M-Matrix.
-
Als nächstes führt CMM 9 in Schritt
s2505 die Farbtransformationsoperation aus, die aufgezeigt ist durch
den "oper"-Wert in der Sequenzstruktur
bezüglich
der RGB-Farbbilddaten
unter Verwendung der Parameter aus der privaten Kennzeichnung unter
Bezug auf die Sequenzstruktur. Im vorliegenden Falle werden die Parameter
und die Farbtransformationsoperation so eingestellt, daß die Transformationsfarbbilddaten
aus dem RGB-Farbbildraum in den Profilverbindungsraum gesetzt werden.
-
Der Umsetzung in den Profilverbindungsraum
folgend schreitet die Verarbeitung fort zu Schritt s2506. In Schritt
S2506 greift CMM 9 zu auf das ICC-Profil für den Farbdrucker 16.
Angemerkt sei, daß,
während
ICC für
den Farbdrucker 16 und ICC für den Farbmonitor 2 in
einem einzigen Speicher, wie beispielsweise einer Platte 7,
oder in separaten Speichern gespeichert werden kann, das Speichern
in einem einzelnen Speicher den Zugriff durch CMM 9 erleichtert.
-
Greift CMM 9 auf das Farbprofil
für den
Farbdrucker zu, wie im obigen Falle in Hinsicht auf das ICC-Profil
für den
Farbmonitor 2, dann liest CMM 9 das Profil zum
Bestimmen, welche Kennzeichnungen darin zum Zugriff aufgelistet
sind. In diesem Falle wird CMM unter CMMType "UCCM" lesen,
was aufzeigen wird, daß die
Verarbeitung gemäß der privaten
Kennzeichnung ucmI fortschreiten würde und nicht gemäß der ICC-Normprozeduren.
-
Wie zuvor beschrieben, wird somit
in den Schritten s2506 bis s2508 CMM 9 auf ucmI und auf
die privaten Kennzeichnungen ucmP des ICC-Profils für den Farbdrucker 16 zugreifen,
um die Farbbilddaten aus dem Profilverbindungsraum in den CMY-Farbraum
des Farbdruckers 16 umzusetzen. Da eine Übersicht
dieser Verarbeitung identisch ist mit derjenigen, die zuvor in Hinsicht
auf das ICC-Profil für
den Farbmonitor 2 beschrieben wurde, ist hier eine detaillierte
Beschreibung fortgelassen, um die Beschreibung zu abzukürzen.
-
Die Verarbeitung schreitet, dem Schritt
s2508 folgend, fort zu Schritt s2509, in dem die farbtransformierten
CMY-Farbbilddaten
an den Drucker 16 abgegeben werden.
-
Angemerkt sei, daß, während die vorstehende Erfindung
in Hinsicht auf ein ICC-Profilformat beschrieben worden ist, die
vorliegende Erfindung auch mit einer beliebigen Art eines Kreuzplattform-Einrichtungsformats
verwendet werden kann, in dem die Farbtransformationsoperationen
gespeichert werden können
und auf diese zugegriffen werden kann.
-
Gleichermaßen wird angemerkt, daß, während die
vorliegende Erfindung in Hinsicht auf einen Farbmonitor und einen
Farbdrucker beschrieben wurde, die vorliegend Erfindung auch mit
anderen Farbverarbeitungseinrichtungen verwendet werden kann, beispielsweise
bei einem Farbscanner oder bei einer Farbfaxgerät.