(57)【要約】【課題】  カラーマッチング時に１次色・２次色補償を行うか否かを動的に切り替えることができるようにする。【解決手段】  入力デバイスに依存する色空間で示される入力データをデバイスに依存しない色空間で示されるデータに変換する入力変換手段と、前記入力データの属性を判定し、該判定の結果を色域圧縮手段および出力変換手段に伝達する判定手段と、前記判定の結果に基づき、前記デバイスに依存しない色空間で示されるデータを出力デバイスの色域情報に応じた色域圧縮を行う前記色域圧縮手段と、前記判定の結果に基づき、前記色域圧縮されたデータを、前記出力デバイスに依存する色空間で示される出力データへ変換する前記出力変換手段とを有し、前記属性は、１次色または２次色に応じた情報であるである。【選択図】  図１
2008294928.tif 000002
【特許請求の範囲】
【請求項１】
入力デバイスに依存する色空間で示される入力データをデバイスに依存しない色空間で示されるデータに変換する入力変換手段と、
前記入力データの属性を判定し、該判定の結果を色域圧縮手段および出力変換手段に伝達する判定手段と、
前記判定の結果に基づき、前記デバイスに依存しない色空間で示されるデータを出力デバイスの色域情報に応じた色域圧縮を行う前記色域圧縮手段と、
前記判定の結果に基づき、前記色域圧縮されたデータを、前記出力デバイスに依存する色空間で示される出力データへ変換する前記出力変換手段とを有し、
前記属性は、１次色または２次色に応じた情報であるであることを特徴とするの色処理装置。
【請求項２】
前記１次色または前記２次色は、イエローやシアン、マゼンタ、レッド、グリーン、ブルーの少なくとも１つであり、
前記属性は、前記入力データが、前記１次色または前記２次色のデータであるか否かを示すことを特徴とする請求項１記載の色処理装置。
【請求項３】
前記属性は、前記入力データが、前記１次色および前記２次色に基づき規定される色領域のデータであるか否かを示すことを特徴とする請求項１または２に記載の色処理装置。
【請求項４】
前記判定手段は、前記色域圧縮手段から前記判定すべき色の情報を入力することを特徴とする請求項１記載の色処理装置。
【請求項５】
前記出力デバイスの色域情報は、前記出力デバイスの色域の境界情報であり、
前記出力変換手段を用いて、前記出力デバイスの色域の境界情報を生成する生成手段を有することを特徴とする請求項１または２記載の色処理装置。
【請求項６】
前記色域圧縮手段は、前記判定の結果を更新し、前記出力変換手段に伝達することを特徴とする請求項１記載の色処理装置。
【請求項７】
請求項１乃至６のいずれかに記載の色処理装置をコンピュータを用いて実現するために、コンピュータが読み取り可能に記憶媒体に記憶されたプログラム。
【請求項８】
入力デバイスに依存する色空間で示される入力データをデバイスに依存しない色空間で示されるデータに変換する入力変換工程と、
前記入力データの属性を判定し、該判定の結果を色域圧縮工程および出力変換工程に伝達する判定工程と、
前記判定の結果に基づき、前記デバイスに依存しない色空間で示されるデータを出力デバイスの色域情報に応じた色域圧縮を行う前記色域圧縮工程と、
前記判定の結果に基づき、前記色域圧縮されたデータを、前記出力デバイスに依存する色空間で示される出力データへ変換する前記出力変換工程とを有し、
前記属性は、１次色または２次色に応じた情報であるであることを特徴とする色処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はカラーマッチングを行うものに関する。
【背景技術】
【０００２】
図２４は、一般的なカラーマッチングの概念図である。入力デバイスに依存する、例えばＲＧＢデータである入力データは、入力プロファイルによりデバイスに依存しない色空間のＸＹＺデータに変換される。出力デバイスの色再現範囲外の色は出力デバイスにより表現することができないため、そのすべての色が出力デバイスの色再現範囲内に収まるように、デバイスに依存しない色空間のデータに変換された入力データに色空間圧縮が施される。そして、色空間圧縮が施された後、入力データはデバイスに依存しない色空間から出力デバイスに依存する色空間の例えばＣＭＹＫデータへ変換される。
【０００３】
入力デバイスとしては、例えば、スキャナやデジタルカメラ、ディスプレイなどが用いられる。出力デバイスとしては、例えば、プリンタなどが用いられる。
【０００４】
図２４におけるカラーマッチングは、カラーマネジメントシステムと呼ばれるソフトウエアによって行われる。入出力プロファイルとしてＩｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｌｏｒ  Ｃｏｎｓｏｒｔｉｕｍ（ＩＣＣ）によって規定されるプロファイル（ＩＣＣプロファイル）が用いられるのが一般的である。ＩＣＣプロファイルには、デバイスに依存した色空間とデバイスに依存しない色空間（Ｐｒｏｆｉｌｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ｓｐａｃｅ（ＰＣＳ））との相互関係をマトリクスやＬＵＴ（Ｌｏｏｋｕｐ  Ｔａｂｌｅ）で定義したデータが格納されている。このＩＣＣプロファイルの普及により、異なる入出力デバイス間の容易なカラーマッチングが実現されることとなった。
【０００５】
このようにＩＣＣプロファイルを用いたカラーマッチングは利便性の高いものではあるが、場合によって好ましくない結果が得られることがある。例えば、入力デバイスであるモニタの色がイエローの純色のとき、カラーマッチングの結果、出力デバイスであるプリンタのイエローの純色とならず、他の色が微量に混じる場合がある。印刷データが写真画像である場合は問題になりにくいが、一般的に純色が好まれるテキストやグラフィックなどのベクトルデータであった場合、色が濁って好ましくない結果となる。
【０００６】
そこで、イエローやシアン、マゼンタ等の１種類の色材だけで表される色（１次色）の入力に対して、他の色材が混入する事による色の濁りを防ぐために出力も１次色で行う「１次色補償」と呼ばれる処理が行われる。また、レッド、グリーン、ブルー等の２種類の色材（１次色）を混合して表される色（２次色）に対しても、出力を２次色で行う「２次色補償」と呼ばれる処理が行われる。
【０００７】
１次色や２次色の補償処理に関しては、例えば下記の特許文献に記載の方法がある。
特許文献１に記載の方法では、入力データのいずれかの色信号値が０％の場合に、出力データの該当する色信号値が０％になるように変換している。
また、特許文献２に記載の方法では、事前に保持した対象のプリンタに対する色相補正情報を含む色空間特性のデータを利用することで、特定の入力プロファイル以外に対しても純色化処理を実現している。
【特許文献１】特開２００２−１７１４１８
【特許文献２】特開２００５−２９５４０５
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１の方法では、入力データのいずれかの色信号値が０％の色に対してのみ、出力データの該当する色信号値を０％に補正する処理を行うため、上記のデータとその近傍のデータの色変換結果に不連続性が生じてしまうという問題がある。
【０００９】
特許文献２の方法では、特定の入力プロファイル以外に対しても、純色化（１次色・２次色補償）する色とその近傍の色との連続性が保持できる。しかしながら、全ての入力に対して、ある固定の色相補正データを用いているため、任意の入力プロファイルに対して最適な色相補正処理を行う事はできない。また、色相補正情報を含む色空間特性データをプリンタごとに保持しておく必要があり、余計なメモリ領域を必要とする問題がある。
【００１０】
カラーマッチング時に１次色・２次色補償を行うかどうかを動的に切り替える場合には、以下の２つの方法のいずれかを選択する必要があった。特許文献１のように色の連続性を犠牲にしてメモリ効率を優先する。もしくは、特許文献２のように色の連続性を重視するために、１次色・２次色補償を行う場合とそうでない場合用のそれぞれデータ（プロファイル）を準備しておく。
【００１１】
本発明は１次色・２次色補償の有無を動的に切り替える場合に、一つのデバイスに複数のプロファイルを用意することなく、任意の入出力デバイスの組合せに対して色の連続性を考慮した適切な色変換処理を行う事ができるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明は上記目的を達成するために、入力デバイスに依存する色空間で示される入力データをデバイスに依存しない色空間で示されるデータに変換する入力変換手段と、前記入力データの属性を判定し、該判定の結果を色域圧縮手段および出力変換手段に伝達する判定手段と、前記判定の結果に基づき、前記デバイスに依存しない色空間で示されるデータを出力デバイスの色域情報に応じた色域圧縮を行う前記色域圧縮手段と、前記判定の結果に基づき、前記色域圧縮されたデータを、前記出力デバイスに依存する色空間で示される出力データへ変換する前記出力変換手段とを有し、前記属性は、１次色または２次色に応じた情報であるであることを特徴とする。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、１次色・２次色補償の有無を動的に切り替える場合に、一つのデバイスに複数のプロファイルを用意することなく、任意の入出力デバイスの組合せに対して色の連続性を考慮した適切な色変換処理を行う事が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明に関わる画像処理装置の実施形態について、図面を参照して説明する。
【００１５】
（第１の実施形態）
図１は、第１の実施形態に係る画像処理装置の構成例を示すブロック図である。
【００１６】
本実施形態は、入力色データの属性を判定し、判定結果に基づき色域圧縮および出力変換を制御することにより、動的に色域圧縮と出力変換を行うシステムにおいて、これらの処理を連携して制御できるようにするものである。本実施形態によれば、色域圧縮の設計思想と、出力変換の設計思想を合わせることができ、高精度な色再現を実現することができる。
【００１７】
なお、本実施形態では、属性として、１次色または２次色に応じた情報を使用する。
入力変換部（１０１）は、入力デバイス情報（１０７）を利用して、入力デバイスに依存する色空間のデータ（ＲＧＢやＣＭＹＫ）をデバイスに依存しない色空間のデータ（ＸＹＺ）へ変換する。入力デバイス情報（１０７）は、入力デバイスの色値（ＲＧＢやＣＭＹＫ）とデバイスに依存しない色空間の色値（ＸＹＺ）との対応関係を記述した測色値データや、各種パラメータ等が記述されたものである。また、１次色２次色フィルタに応じて、入力データに対応する１次色２次色識別フラグを設定する。
【００１８】
ＣＡＭ変換部１（１０２）では、ＣＩＥＣＡＭ０２のようなカラーアピアランスモデル（ＣＡＭ）を用いて、ＸＹＺのデータを知覚空間のデータ（例えばＪＣｈデータ）に順変換する。その際、観察条件１（１０８）に記載されたＣＡＭパラメータを利用する。ＣＡＭパラメータは、観察環境の白色点の三刺激値（ＸＹＺ）、順応視野の輝度、背景の相対輝度、周囲影響定数、順応度合い係数、色彩誘導係数、明度コントラスト係数等のＣＡＭの変換で必要となる視覚条件パラメータである。なお、ここで使われるＣＡＭは、ＣＩＥＣＡＭ０２に限定されるものではなく、ＲＬＡＢやＣＩＥＣＡＭ９７等、他の公知のモデルを利用しても良い。また、知覚空間のデータもＪＣｈに限らず、ＪａｂやＱＭｈなどの色空間を利用しても良い。
【００１９】
色域圧縮部（１０３）では、入力デバイスの色域情報及び出力デバイスの色域情報、色域圧縮情報（１０９）を利用して、入力されたＪＣｈデータを出力デバイスの色域内にマッピングする。色域圧縮情報（１０９）には、圧縮処理の際に用いる各種パラメータが記述されている。また、１次色２次色補償制御フラグがＯＮに設定されている場合、圧縮情報（１０９）に記載の１次色２次色フィルタを読み込んで処理を行う。
【００２０】
ＣＡＭ変換部２（１０４）では、ＣＩＥＣＡＭ０２のようなＣＡＭを用いて、色知覚空間（例えばＪＣｈ）のデータをＸＹＺのデータに逆変換する。その際、観察条件２（１１０）に記載されたＣＡＭパラメータを利用する。また、色域情報生成用データとして入力されるＸＹＺデータを色知覚空間のデータに順変換する。
【００２１】
出力変換部（１０５）は、出力デバイス情報（１１１）を利用して、ＸＹＺのデータを出力デバイスに依存する色空間のデータ（ＲＧＢやＣＭＹＫ）へ変換する。出力デバイス情報（１１１）は、出力デバイスの色値（ＲＧＢやＣＭＹＫ）とデバイスに依存しない色空間の色値（ＸＹＺ）との対応関係を記述した測色値データや各種パラメータが記述されたものである。また、色域情報生成用データとして入力される出力デバイスに依存する色空間のデータ（ＲＧＢやＣＭＹＫ）をＸＹＺデータに変換する。
【００２２】
色域情報生成管理部（１０６）は、色域情報生成用データ（ＲＧＢやＣＭＹＫ）と対応するＪＣｈデータから、色域情報を生成する。色域情報は、例えば、色域の境界情報（ＧＢＤ：Ｇａｍｕｔ  Ｂｏｕｎｄａｒｙ  Ｄｅｓｃｒｉｐｔｉｏｎ）のデータ、プライマリカラーのデータ、グレイラインの階調データ、プライマリランプ等を含む。プライマリカラーのデータは、１次色および２次色であるＲＧＢＣＭＹＷＫ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ、Ｃｙａｎ、Ｍａｇｅｎｔａ、Ｙｅｌｌｏｗ、Ｗｈｉｔｅ、Ｂｌａｃｋ）に関するデータである。プライマリランプはプライマリ間の階調データである。
【００２３】
図２は、図１に示される機能構成を実現する装置の構成例を示すブロック図である。
【００２４】
ＣＰＵ（２０１）は、記憶媒体であるＲＯＭ（２０２）およびハードディスク（ＨＤ）（２０７）などに格納されたプログラムに従い、ＲＡＭ（２０３）をワークメモリに利用して、装置全体の動作を司る。そして、ＣＰＵは、記憶媒体に記憶されたプログラムに従い、カラーマッチングに関連する処理をはじめとする各種の処理を実行する。入力インタフェース（２０４）は入力デバイス（２０５）を接続するためのインタフェースである。ハードディスクインタフェース（２０６）はＨＤ（２０７）を接続するためのインタフェースである。ビデオインタフェース（２０８）はビデオデバイス（２０９）を接続するためのインタフェースである。出力インタフェース（２１０）は出力デバイス（２１１）を接続するためのインタフェースである。
【００２５】
なお、本実施形態が対象とする入力デバイスには、デジタルスチルカメラおよびデジタルビデオカメラなどの撮影機器、並びに、イメージスキャナおよびフィルムスキャナなどイメージリーダをはじめとする各種の画像入力機器が含まれる。ビデオデバイスには、ＣＲＴやＬＣＤなどのカラーモニタなどの表示機器が含まれる。また、出力デバイスには、カラープリンタおよびフィルムレコーダなどの画像出力機器が含まれる。
【００２６】
また、インタフェースとして汎用のインタフェースが利用できる。その用途に応じて、例えば、ＲＳ２３２Ｃ、ＲＳ４２２、ＵＳＢおよびＩＥＥＥ１３９４などのシリアルインタフェース、並びに、ＳＣＳＩおよびセントロニクスなどのパラレルインタフェースが利用可能である。
【００２７】
図３は、デバイス色空間におけるデバイスの色域を表す模式図である。図のＲｅｄ（Ｒ：赤）、Ｇｒｅｅｎ（Ｇ：緑）、Ｂｌｕｅ（Ｂ：青）、Ｃｙａｎ（Ｃ：シアン）、Ｍａｇｅｎｔａ（Ｍ：マゼンタ）、Ｙｅｌｌｏｗ（Ｙ：イエロー）、Ｗｈｉｔｅ（Ｗ：白）、Ｂｌａｃｋ（Ｋ：黒）はデバイスのプライマリカラーを表す。本発明で定義する１次色とは、シアン、マゼンタ、イエローの１種類の色材により表される色であり、図３のＷｈｉｔｅからＣｙａｎの間（Ｗ−Ｃ）、ＷｈｉｔｅからＭａｇｅｎｔａの間（Ｗ−Ｍ）、ＷｈｉｔｅからＹｅｌｌｏｗの間（Ｗ−Ｙ）の色に相当する。また、２次色は、色材２種類で表される色である。図３のＷｈｉｔｅからＲｅｄの間（Ｗ−Ｒ）や、ＷｈｉｔｅからＧｒｅｅｎの間（Ｗ−Ｇ）、ＷｈｉｔｅからＢｌｕｅの間（Ｗ−Ｂ）や、Ｗｈｉｔｅ−Ｍａｇｅｎｔａ−Ｂｌｕｅで囲まれる平面（Ｗ−Ｂ−Ｍ）などの色が２次色に相当する。
【００２８】
図４は、本実施形態で利用する、１次色や２次色等の色を識別するための識別フラグ、すなわち属性情報の一例である。１次色２次色識別フラグ（４０１）における、Ｗ、Ｒ、Ｃなどの記号は、図３の模式図中の記号に対応している。１次色２次色識別フラグには、対応するデータ値（４０２）が存在する。例えば、イエローのベタ（１００％）はフラグが「Ｙ」で表され、データ値は「０ｘ０２」となる。イエローの中間調は、フラグが「Ｗ−Ｙ」で表され、データ値は「０ｘ８２（＝ＷとＹのデータ値のビット論理和）」となる。また、イエローとシアンの２色で表される中間調の色は、フラグが「Ｗ−Ｇ」または「Ｗ−Ｙ−Ｇ」または「Ｗ−Ｇ−Ｃ」である。「Ｗ−Ｇ」のデータ値はそれぞれ「０ｘ８４（＝ＷとＧのデータ値のビット論理和）」である。「Ｗ−Ｙ−Ｇ」のデータ値は「０ｘ８６（＝ＷとＹとＧのデータ値のビット論理和）」である。「Ｗ−Ｇ−Ｃ」のデータ値は「０ｘ８Ｃ（＝ＷとＧとＣのデータ値のビット論理和）」である。また、１次色や２次色に相当しない色や、識別する必要のない色に対しては「Ｎｏｎｅ」フラグが設定される（データ値＝「０ｘ００」）。これらの識別フラグは、入力データの値に応じて一意に決められる。このフラグとデータ値の対応関係は、例えばフラグを設定する入力変換部（１０１）やフラグを判別する色域圧縮部（１０３）及び出力変換部（１０５）のプログラムコード上に直接書かれる。または、カラーマッチングを制御する処理部に書かれたものを各変換部が参照するようにしても良い。
【００２９】
図６から図１３は、ＲＧＢのデータに対する１次色２次色識別フラグの判定木を示したものである。ＲＧＢのデータは、まず図６において、Ｒ＝Ｇ＝Ｂかどうかを判定し、Ｒ＝Ｇ＝Ｂの場合は（１）（図７）に進む。そうでない場合は、次にＲ＝２５５かどうかを判別し、Ｒ＝２５５の場合は（２）（図８）に進む。そうでない場合は、次にＲ＝０かどうかを判別し、Ｒ＝０の場合は（３）（図９）に進む。そうでない場合は、次にＧ＝２５５かどうかを判別し、Ｇ＝２５５の場合は（４）（図１０）に進む。そうでない場合は、次にＧ＝０かどうか判別し、Ｇ＝０の場合は（５）（図１１）に進む。そうでない場合は、次にＢ＝２５５かどうか判別し、Ｂ＝２５５の場合は（６）（図１２）に進む。そうでない場合は、次にＢ＝０かどうか判別し、Ｂ＝０の場合は（７）（図１３）に進む。そうでない場合はいずれにも該当せず、「Ｎｏｎｅ」のフラグが設定される。
【００３０】
一例として、Ｒ＝２５５、Ｇ＝２５５、Ｂ＝０（つまり、Ｙｅｌｌｏｗのプライマリ）を考える。図６で、まずＲ＝Ｇ＝Ｂかどうか判定する。Ｒ＝Ｇ＝Ｂでないため、次にＲ＝２５５かどうか判定する。Ｒ＝２５５であるため、（２）（図８）に進む。図８では、まずＧ＞Ｂかどうか判定する。Ｇ＞Ｂであるため、次にＧ＝２５５かどうか判定する。Ｇ＝２５５であるため、次に、Ｂ＝０であるかどうか判定し、Ｂ＝０であるため、「Ｙ」（つまりＹｅｌｌｏｗのプライマリ）の１次色２次色識別フラグと判定される。このようにして、任意のＲＧＢデータに対して識別フラグが一意に決定される。また、同様の判定木により、ＣＭＹＫのデータに対しても１次色２次色識別フラグを設定する事が可能である。
【００３１】
図５は、本実施形態で用いる１次色２次色フィルタの種類を示す一例である。１次色２次色フィルタ（５０１）は、Ｗｈｉｔｅプライマリと関係する１２種類のフィルタからなり、それぞれのフィルタに対して、対応する１次色２次色識別フラグが定められている。１次色２次色フィルタは、どの１次色もしくは２次色を補償するかを個別に指定するためのもので、色域圧縮情報（１０９）に記述されている。これにより、色域圧縮部（１０３）は、補償する１次色及び２次色をマッピング処理の前に知る事が出来るため、補償する色とそれ以外の色に対して、連続性を考慮した適切なマッピング処理を定義する事が可能となる。１次色２次色フィルタは、色域圧縮情報に記述して指定する以外にも、アプリケーション等で外部から色域圧縮部（１０３）に対して指定する事も可能である。
【００３２】
図１８は、本実施形態で利用するプライマリランプ情報を表す一例である。図１８は、Ｂｌｕｅ−Ｗｈｉｔｅにかけてのプライマリランプを示している。プライマリランプ情報は、ＷｈｉｔｅプライマリとＲＧＢＣＭＹ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ、Ｃｙａｎ、Ｍａｇｅｎｔａ、Ｙｅｌｌｏｗ）のプライマリの間の階調データを示している。プライマリランプ情報は、デバイス値（１８０１）と色知覚空間の値（Ｊａｂ）（１８０３）が対応づけられている。色域圧縮部では、デバイスの色域情報に含まれるプライマリランプ情報を利用して、入力デバイスの１次色や２次色を、出力デバイスの１次色や２次色の色相に適切にマッピングする事が可能となる。
【００３３】
図１４は、本実施形態に係る画像処理装置の流れを示すメインフローチャートである。ここでは、入力デバイスがモニタ（ＲＧＢ）、出力デバイスがプリンタ（ＣＭＹＫ）という例で説明する。
【００３４】
まず、ステップＳ１４０１において、入力変換部（１０１）の初期化処理を行う。ここでは、入力デバイス情報（１０７）を読み込んで、デバイス値（ＲＧＢ）からＸＹＺ値への変換定義を作成する。入力デバイス情報（１０７）にはデバイス値（ＲＧＢ）と、その信号をモニタに表示して測色機で測定することにより得られたＸＹＺ値の対応関係が記述されており、そこからマトリクス演算やγ補正等の公知の方法によってＲＧＢ→ＸＹＺの変換定義を作成する。
【００３５】
次に、ステップＳ１４０２において、出力変換部（１０５）の初期化処理を行う。ここでは、出力デバイス情報（１１１）、及び１次色２次色補償制御フラグを読み込んで、ＸＹＺ値からデバイス値への変換定義を作成する。１次色２次色補償制御フラグは、１次色・２次色の補償を行うか否かを制御するフラグであり、アプリケーション等により指定されたものである。また、出力デバイス情報（１１１）には、デバイス値（ＣＭＹＫ）とその信号をプリンタで出力して得られた印刷サンプルを測色機で測定する事により得られたＸＹＺ値の対応関係が記述されている。それに基づき、反復法等の方法によって、ＸＹＺ→ＣＭＹＫの変換定義を作成する。その際、１次色２次色補償制御フラグがＯＮ（＝１次色・２次色補償を行う）に設定されていた場合は、１次色・２次色として指定されるデータ（ＸＹＺ）を指定された１次色もしくは２次色のＣＭＹＫ値に変換する制約を設ける。また、出力色域情報を生成するために、四面体補間等の公知の方法により、ＣＭＹＫ→ＸＹＺの変換定義を生成する。
【００３６】
次に、ステップＳ１４０３において、ＣＡＭ変換部１（１０２）の初期化処理を行う。ここでは、入力観察条件（１０８）を読み込んで、ＣＩＥＣＡＭ０２の順変換によるＸＹＺ値からＪＣｈ値への変換定義を作成する。
【００３７】
次に、ステップＳ１４０４において、ＣＡＭ変換部２（１０４）の初期化処理を行う。ここでは、出力観察条件（１１０）を読み込んで、ＣＩＥＣＡＭ０２によるＪＣｈ値からＸＹＺ値への逆変換定義、及びＸＹＺ値からＪＣｈ値への順変換定義を作成する。
【００３８】
次に、ステップＳ１４０５において、入力デバイスの色域情報（入力色域情報）を生成する。ここでは、色域情報生成管理部（１０６）からの色域情報生成用データ（ＲＧＢ）と、それを入力変換部（１０１）及びＣＡＭ変換部１（１０２）で変換した色知覚空間（ＪＣｈ）のデータに基づいて、入力色域情報が生成される。
【００３９】
色域情報には、図１８に示したプライマリランプのデータが含まれる。また、色域情報には、色域の境界情報（ＧＢＤ：Ｇａｍｕｔ  Ｂｏｕｎｄａｒｙ  Ｄｅｓｃｒｉｐｔｉｏｎ）のデータ、ＲＧＢＣＭＹＷＫのプライマリカラーのデータ、グレイラインの階調データ等が含まれる。
【００４０】
入力デバイスのデバイス値が８ビットのＲＧＢである場合、色域情報は、例えば、以下の処理を用いて作成する。ＲＧＢ色空間において色域の境界は、Ｒ、Ｇ、Ｂのいずれかが０または２５５を有する。よって、ステップＳ１０４０で作成されたＲＧＢ→ＸＹＺの変換定義およびステップＳ１４０３で作成されたＸＹＺ値からＪＣｈ値への変換定義を用いて、Ｒ，Ｇ、Ｂのいずれかが０または２５５を有する代表値をＪＣｈに変換する。そして、収集されたＪＣｈ値群から、色域を示す多面体を作成する。
【００４１】
次に、ステップＳ１４０６において、出力デバイスの色域情報（出力色域情報）を生成する。ここでは、色域情報生成管理部（１０６）からの色域情報生成用データ（ＣＭＹＫ）と、それを出力変換部（１０５）及びＣＡＭ変換部２（１０４）で変換した色知覚空間（ＪＣｈ）のデータに基づいて、出力色域情報が生成される。
【００４２】
次に、ステップＳ１４０７において、色域圧縮部（１０３）の初期化処理を行う。ここでは、まず１次色２次色補償制御フラグを読み込み、１次色・２次色補償を行うか否かを判断する。次に、色域圧縮情報（１０９）及び色域情報生成管理部（１０６）から伝達される入力色域情報と出力色域情報を読み込む。
【００４３】
ここで、１次色２次色補償制御フラグがＯＦＦ（＝１次色・２次色補償を行わない）場合は、入力ＪＣｈ値を出力デバイスの色域内にマッピングする通常のマッピング定義を作成する。
【００４４】
１次色２次色補償制御フラグがＯＮの場合は、色域圧縮情報（１０９）に記述されている１次色２次色フィルタを読み込み、入力色域情報と出力色域情報に基づいて、入力ＪＣｈ値を出力デバイスの色域内にマッピングするマッピング定義を作成する。１次色２次色フィルタで指定された１次色または２次色の入力に対しては、入力および出力デバイスのプライマリランプに基づき、対応する出力の１次色または２次色にマッピングされる補償用のマッピング定義を作成する。また、それ以外の入力に対しては、通常のマッピング定義を作成する。ただし、この場合の通常のマッピング定義は、１次色や２次色のマッピング結果との連続性を考慮したマッピング定義となっている。また、ここで１次色２次色フィルタの値を入力変換部（１０１）に伝達しておく。このように、１次色２次色フィルタを色域圧縮情報（１０９）に記述する事によりマッピング処理の前に補償する１次色や２次色を知る事ができるため、色域圧縮部（１０３）で連続性を考慮した適切なマッピング定義を作る事が可能となる。ここで利用した１次色２次色フィルタは、色域圧縮情報（１０９）に指定するのではなく、例えばアプリケーションなどにより外部から指定するような方法でも良い。
【００４５】
次に、ステップＳ１４０８において、入力変換部（１０１）でカラーマッチング対象の入力データ（ＲＧＢ）をＸＹＺ値に変換する。
次に、ステップＳ１４０９において、ＣＡＭ変換部１（１０２）で入力された全てのＸＹＺ値をＪＣｈ値に変換する。
【００４６】
次に、ステップＳ１４１０において、色域圧縮部（１０３）でＪＣｈ値を出力デバイスの色再現範囲内に色域圧縮する。
次に、ステップＳ１４１１において、ＣＡＭ変換部２（１０４）で入力された全てのＪＣｈ値をＸＹＺ値に変換する。
次に、ステップＳ１４１２において、出力変換部（１０５）でＸＹＺ値を出力データ（ＣＭＹＫ）に変換して処理を終了する。
【００４７】
図１５は、ステップＳ１４０８の詳細処理のフローチャートを示している。
【００４８】
ステップＳ１５０１において、色域圧縮部（１０３）より伝達された１次色２次色フィルタを読み込む。
ステップＳ１５０２において、カラーマッチングを行う入力データを１色だけ読み込む。
【００４９】
ステップＳ１５０３において、ステップＳ１５０１で読み込まれた１次色２次色フィルタを参照する。そして、フィルタが色域圧縮部（１０３）より伝達されている場合は、１次色・２次色補償を行う設定（＝１次色２次色制御フラグがＯＮ）であるのでステップＳ１５０５に進む。フィルタが伝達されていない場合は、１次色・２次色補償は行わない設定（＝１次色２次色制御フラグがＯＦＦ）のため、ステップＳ１５０４に進む。
【００５０】
ステップＳ１５０４では、１次色２次色情報に０ｘ００（＝Ｎｏｎｅ）の識別フラグを設定し、ステップＳ１５０６に進む。
【００５１】
ステップＳ１５０５では、ステップＳ１５０２で読み込まれた入力データの値に応じて、図４に示される識別フラグのデータ値を１次色２次色情報に設定する。識別フラグの設定は、図６〜図１３に示した判定木を用いて行う。
【００５２】
ステップＳ１５０６において、ステップＳ１４０１で定義した変換に基づき、入力データ（ＲＧＢ）をＸＹＺ値に変換する。
【００５３】
ステップＳ１５０７で全ての入力データに対して変換を行ったかどうかを判定し、未変換の入力データがある場合は、ステップＳ１５０２の処理に戻る。全てのデータを変換した場合は、ステップＳ１５０８に進む。
【００５４】
ステップＳ１５０８では、設定された１次色２次色情報を色空間圧縮部（１０３）に伝達して、処理を終了する。
【００５５】
図１６は、ステップＳ１４１０の詳細処理のフローチャートを示している。
ステップＳ１６０１において、入力データ（ＪＣｈ）を１色だけ読み込む。
次に、ステップＳ１６０２において、ステップＳ１４０８で作成された、入力データに対応する１次色２次色情報を読み込む。
【００５６】
次に、ステップＳ１６０３において、ステップＳ１６０２で読み込んだ１次色２次色情報の値を参照し、値が０ｘ００（＝Ｎｏｎｅ）であれば、ステップＳ１６０４に進み、通常のマッピング定義によるマッピング処理を行う。値が０ｘ００以外であれば、１次色２次色補償の対象色となるため、ステップＳ１６０５に進み、１次色２次色情報の値に応じて補償用のマッピング定義によるマッピング処理を行う。
【００５７】
次に、ステップＳ１６０６で全ての入力データに対して変換を行ったかどうかを判定し、未変換の入力データがある場合は、ステップＳ１６０１の処理に戻る。全てのデータを変換した場合は、ステップＳ１６０７に進む。
【００５８】
ステップＳ１６０７では、設定された１次色２次色情報を出力変換部（１０５）に伝達して、処理を終了する。
【００５９】
図１７は、ステップＳ１４１２の詳細処理のフローチャートを示している。
まず、ステップＳ１７０１において、入力データ（ＸＹＺ）を１色だけ読み込む。
【００６０】
次に、ステップＳ１７０２において、入力データに対応する１次色２次色情報を読み込む。この１次色２次色情報は、ステップＳ１４０８で作成された情報である。
【００６１】
次に、ステップＳ１７０３において、ステップＳ１７０２で読み込んだ１次色２次色情報を参照し、値が０ｘ００（＝Ｎｏｎｅ）であれば、ステップＳ１７０４において、通常の変換定義を利用した色変換処理により、ＸＹＺ値をＣＭＹＫ値に変換する。値が０ｘ００でない場合は、ステップＳ１７０５において、１次色２次色情報の値に応じて補償用の変換定義を利用した色変換処理を行う。
【００６２】
次に、ステップＳ１７０６で全てのデータに対して変換を行ったかどうかを判定し、未変換のデータがある場合は、ステップＳ１７０１の処理に戻る。全てのデータを変換した場合は、処理を終了する。
【００６３】
以上記載のように、カラーマッチングする入力データに対して、値に応じた１次色・２次色の識別情報を付与し、色域圧縮部や出力変換部に伝達する機構と、識別情報に応じた動的な色域圧縮処理や出力変換処理を行った。１次色・２次色補償を行う場合は、入力デバイスと出力デバイスのプライマリランプを利用した色域圧縮処理を行った。これにより、１次色・２次色補償の動的な切り替えに対しても、一つのデバイスに複数のプロファイルを用意することなく、任意の入出力デバイスの組合せに対して色の連続性を考慮した適切な色変換処理を行う事が可能となる。
【００６４】
本実施形態では、入力デバイスをモニタ（ＲＧＢ）、出力デバイスをプリンタ（ＣＭＹＫ）として、ＲＧＢからＣＭＹＫへの色変換の例を示したが、入力と出力の色空間の組合せはこれに限らず、例えばＣＭＹＫからＲＧＢへの変換でも問題ない。
【００６５】
また、１次色２次色補償を行うか否かの制御は、本実施形態で示したようにアプリケーション等からの指定としても良いし、出力デバイス情報（１１１）に記述されたフラグで指定しても良い。その場合、図１の機能構成は図１９のように変更され、図１４のステップＳ１４０２において出力デバイス情報に記述された制御フラグを読み込み、それを色域圧縮部（１０３）に伝達することで実現可能となる。
【００６６】
また、本実施形態では１次色や２次色の補償処理に関しての説明に留めたが、図４に記載した識別フラグを利用すれば他の色に対しても補償処理を行うことができる。例えば、ＢｌａｃｋとＲＧＢＣＭＹ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ、Ｃｙａｎ、Ｍａｇｅｎｔａ、Ｙｅｌｌｏｗ）のプライマリを結ぶ階調色（例えば、Ｋ−ＹやＫ−Ｙ−Ｇなど）に関しても、補償処理することができる。その場合、例えば図５の１次色２次色フィルタや図１８のプライマリランプ情報の代わりに、図２０や図２１のようにＢｌａｃｋ側まで含まれた１次色２次色フィルタやプライマリランプ情報を利用すれば良い。図２０の１次色２次色フィルタは、図５に対してＢｌａｃｋ（Ｋ）に関係する１２種類のフィルタが追加されたものである。また、図２１のプライマリランプ情報は、図１８に対してＢｌａｃｋからＢｌｕｅまで（（Ｒ、Ｇ、Ｂ）＝（０、０、０）〜（０、０、２５５））のプライマリランプ情報が追加されたものである。
また、ＷｈｉｔｅとＢｌａｃｋを結ぶ色（Ｗ−Ｋ）はグレイラインであり、その場合はグレイ補償（もしくは墨版補償）となる。
【００６７】
（第２の実施形態）
第２の実施形態について説明する。第１の実施形態との違いは、１次色２次色識別フラグの種類と、色域圧縮部（１０３）及び出力変換部（１０５）における処理であるため、これらについてのみ説明を行い、その他の処理については説明を省略する。
【００６８】
第２の実施形態は、例えば次のような例で利用される。
２次色補償が指定された際に、２次色の範囲内で色相を自由に動かしたい場合がある。例えば、１次色２次色フィルタで２次色（Ｗ−Ｙ−Ｒ）が指定された場合を考える。周りの色との階調性やマッピング処理の色再現の意図を出来る限り保持するという観点から、２次色の範囲内で色相を動かした方が好ましい場合がある。この場合に、以下のように処理を行う。１次色であるイエロー（Ｗ−Ｙ）は、出力デバイスのイエローの色相にマッピングを行う。そして、２次色であるレッド（Ｗ−Ｒ）やＷ−Ｒ−Ｙに囲まれた色については、出力デバイスの対応する箇所にマッピングするのではなく、イエローとマゼンタで表される２次色の範囲内のどこかにマッピングする。
【００６９】
この場合、レッド（Ｗ−Ｒ）やＷ−Ｙ−Ｒとして指定された色は、マッピング後にはＷ−Ｙ−ＲやＷ−Ｒ、Ｗ−Ｒ−Ｍを含むイエロー色相とマゼンタ色相の間の領域のどこかにマッピングされる。したがって、１次色２次色情報による指定とマッピング結果が異なることになる。
【００７０】
本実施形態では、上記のようなケースに対応するために、色域圧縮部（１０３）において、マッピング結果に応じて１次色２次色情報の値を更新する処理を追加する。
【００７１】
図２２は、本実施形態で利用する、１次色や２次色等の色を識別するための識別フラグの一例である。１次色２次色識別フラグ（２２０１）における、Ｗ、Ｒ、Ｃなどの記号は、図３の模式図中の記号に対応している。１次色２次色識別フラグには、対応するデータ値（２２０２）が存在する。図４の第１の実施形態との違いは、フラグ「Ｗ−Ｍ−Ｒ−Ｙ」、「Ｋ−Ｍ−Ｒ−Ｙ」、「Ｗ−Ｙ−Ｇ−Ｃ」、「Ｊ−Ｙ−Ｇ−Ｃ」、「Ｗ−Ｃ−Ｂ−Ｍ」、「Ｋ−Ｃ−Ｂ−Ｍ」といった４つのプライマリで表されるフラグが追加されていることである。例えば、フラグ「Ｗ−Ｍ−Ｒ−Ｙ」は、イエローとマゼンタの２色で表現可能な色を表したものであり、データ値は「０ｘＡ３（＝ＷとＭとＲとＹのデータ値のビット論理輪）」となる。これらの識別フラグは、色域圧縮部（１０３）におけるマッピング処理において、伝達された１次色２次色情報を更新する際に用いられる。また、出力変換部（１０５）においては、これらの１次色２次色フラグを参照し、それぞれに合った適切な色変換処理が行われる。
【００７２】
図２３は、本実施形態におけるステップＳ１４１０の詳細処理のフローチャートを示している。
まず、ステップＳ２３０１において、入力データ（ＪＣｈ）を１色だけ読み込む。
次に、ステップＳ２３０２において、入力データに対応する１次色２次色情報を読み込む。
【００７３】
次に、ステップＳ２３０３において、ステップＳ２３０２で読み込んだ１次色２次色情報の値を参照し、値が０ｘ００（＝Ｎｏｎｅ）であれば、ステップＳ２３０４に進み、通常のマッピング定義によるマッピング処理を行う。値が０ｘ００以外であれば、１次色２次色補償の対象色となるため、ステップＳ２３０５に進み、１次色２次色情報の値に応じて補償用のマッピング定義によるマッピング処理を行う。
【００７４】
次に、ステップＳ２３０６で、マッピング結果が１次色２次色情報の値と一致しているかを判定し、一致していない場合はステップＳ２３０７において、１次色２次色情報の値をマッピング結果に基づく適切な値に更新する。
【００７５】
次に、ステップＳ２３０８で全ての入力データに対して変換を行ったかどうかを判定し、未変換の入力データがある場合は、ステップＳ２３０１の処理に戻る。全てのデータを変換した場合は、ステップＳ２３０９に進む。
【００７６】
ステップＳ２３０９では、設定された１次色２次色情報を出力変換部（１０５）に伝達して、処理を終了する。
【００７７】
以上説明した処理によって、色域圧縮部（１０３）におけるマッピング結果に応じて１次色２次色情報の値を更新することが可能となる。
【００７８】
これにより、色域圧縮部（１０３）でのマッピング意図を出来る限り残しつつ、１次色２次色補償を行う色と、その周りの色との階調性が良好な１次色２次色補償処理を行う事が可能となる。
【図面の簡単な説明】
【００７９】
【図１】第１の実施形態におけるシステムの機能構成例を示すブロック図である。
【図２】システム構成例を示すブロック図である。
【図３】デバイス色空間におけるデバイスの色域を表す模式図である。
【図４】第１の実施形態における１次色や２次色の識別フラグの例を示す図である。
【図５】１次色２次色フィルタの例を示す図である。
【図６】図４の１次色２次色識別フラグを判定するための判定木のフローを示す図である。
【図７】図６において、Ｒ＝Ｇ＝Ｂとなったときの判定木のフローを示す図である。
【図８】図６において、Ｒ＝２５５となったときの判定木のフローを示す図である。
【図９】図６において、Ｒ＝０となったときの判定木のフローを示す図である。
【図１０】図６において、Ｇ＝２５５となったときの判定木のフローを示す図である。
【図１１】図６において、Ｇ＝０となったときの判定木のフローを示す図である。
【図１２】図６において、Ｂ＝２５５となったときの判定木のフローを示す図である。
【図１３】図６において、Ｂ＝０となったときの判定木のフローを示す図である。
【図１４】第１の実施形態における画像処理の流れを示すメインフローチャートである。
【図１５】ステップＳ１４０８の詳細処理を示すフローチャートである。
【図１６】ステップＳ１４１０の詳細処理を示すフローチャートである。
【図１７】図１４のステップＳ１４１２の詳細処理を示すフローチャートである。
【図１８】デバイス色域情報に含まれるプライマリランプの情報の例を示す図である。
【図１９】第２の実施形態におけるシステムの機能構成の例を示すブロック図である。
【図２０】１次色２次色フィルタの変形例を示す図である。
【図２１】デバイス色域情報に含まれるプライマリランプの情報の変形例を示す図である。
【図２２】第２の実施形態における１次色や２次色の識別フラグの例を示す図である。
【図２３】第２の実施形態における図１４のステップＳ１４１０の詳細処理を示すフローチャートである。
【図２４】従来技術のカラーマッチング処理を示す模式図である。
【図１】
2008294928.tif 000003
【図２】
2008294928.tif 000004
【図３】
2008294928.tif 000005
【図４】
2008294928.tif 000006
【図５】
2008294928.tif 000007
【図６】
2008294928.tif 000008
【図７】
2008294928.tif 000009
【図８】
2008294928.tif 000010
【図９】
2008294928.tif 000011
【図１０】
2008294928.tif 000012
【図１１】
2008294928.tif 000013
【図１２】
2008294928.tif 000014
【図１３】
2008294928.tif 000015
【図１４】
2008294928.tif 000016
【図１５】
2008294928.tif 000017
【図１６】
2008294928.tif 000018
【図１７】
2008294928.tif 000019
【図１８】
2008294928.tif 000020
【図１９】
2008294928.tif 000021
【図２０】
2008294928.tif 000022
【図２１】
2008294928.tif 000023
【図２２】
2008294928.tif 000024
【図２３】
2008294928.tif 000025
【図２４】
2008294928.tif 000026