(57)【要約】【課題】従来の色域マッピングによれば、入力色空間や出力色空間の色域形状によっては、知覚色空間値で表現した場合に色相が反転してしまうことがある。【解決手段】入力色域および出力色域を取得する。入力色域および出力色域の少なくともいずれか一方において、色域を色域より色域が小さい部分格子に分割する。部分格子において、色相が反転する反転領域を検出する。検出された反転領域を補正する。補正の後に、入力色域および出力色域を用いて、入力色域内の入力色値を出力色域内にマッピングする。【選択図】  図２
2011205716.tif 000002
【特許請求の範囲】
【請求項１】
入力色域および出力色域を取得する色域取得手段と、
前記入力色域および前記出力色域の少なくともいずれか一方において、当該色域を当該色域より色域が小さい部分格子に分割する分割手段と、
前記部分格子において、色相が反転する反転領域を検出する反転検出手段と、
前記反転検出手段で検出された反転領域を補正する領域補正手段と、
前記領域補正手段による補正の後に、前記入力色域および前記出力色域を用いて、該入力色域内の入力色値を前記出力色域内にマッピングする色域マッピング手段と
を有することを特徴とする色処理装置。
【請求項２】
前記反転検出手段は、色空間を構成する複数の格子点を色相−彩度平面上にプロットし、各格子点を結ぶ線分と、各格子点を通る垂線との交点数によって、色相反転を検出することを特徴とする請求項１記載の色処理装置。
【請求項３】
前記反転検出手段は、前記部分格子の色域表面と、該色域表面の格子点と前記出力色域内に設定した収束点とを結んだ線分と、の交点数によって色相反転を検出することを特徴とする請求項１記載の色処理装置。
【請求項４】
前記領域補正手段は、前記反転領域内の格子点を、該反転領域をはさむ格子点の間に移動することを特徴とする請求項１乃至３の何れか１項に記載の色処理装置。
【請求項５】
前記領域補正手段は、前記反転領域内の格子点を、該反転領域をはさむ２つの格子点を結ぶ線上に、該反転領域内における格子点間距離の比を保持して割り付けることを特徴とする請求項４記載の色処理装置。
【請求項６】
前記反転検出手段で検出された反転領域をユーザに報知する報知手段と、
前記領域補正手段による補正の可否を示すユーザ指示を入力する操作手段とをさらに有し、
前記領域補正手段は、前記操作手段によって補正可を示すユーザ指示が入力された場合に、前記反転領域を補正することを特徴とする請求項１乃至５の何れか１項記載の色処理装置。
【請求項７】
色処理装置が行う色処理方法であって、
入力色域および出力色域を取得する色域取得ステップと、
前記入力色域および前記出力色域の少なくともいずれか一方において、当該色域を当該色域より色域が小さい部分格子に分割する分割ステップと、
前記部分格子において、色相が反転する反転領域を検出する反転検出ステップと、
前記反転検出ステップで検出された反転領域を補正する領域補正ステップと、
前記領域補正ステップにおける補正の後に、前記入力色域および前記出力色域を用いて、該入力色域内の入力色値を前記出力色域内にマッピングする色域マッピングステップとを有することを特徴とする色処理方法。
【請求項８】
コンピュータ上で実行されることによって、該コンピュータを請求項１乃至６のいずれか１項に記載の色処理装置が有する各手段として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色処理装置および色処理方法に関し、特に、色域間におけるマッピングを行って色変換テーブルを作成する色処理装置及び色処理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラやスキャナ等で取得した画像をプリンタで出力する機会が増えている。これらデジタルカメラやスキャナ等で取得された画像は、一旦、入力機器のＲＧＢ色空間のデータとして格納される。しかしながら、このＲＧＢ色空間はデバイスに依存するため、標準的な色空間であるｓＲＧＢ色空間、あるいは、ＡｄｏｂｅＲＧＢ色空間等の色空間データに変換され保存される。図２２のｘｙ色度図上に、ｓＲＧＢ色空間の色再現範囲（色域）を示す。図２２において、点線で示した三角形領域ＲｓはｓＲＧＢの色域を表す。また、実線で示した馬蹄形領域Ｒｖは人間の可視範囲を表し、破線で示した曲線領域Ｒｐは一般的なプリンタの色域を示す。図２２に示すように、ｓＲＧＢ色域Ｒｓとプリンタ色域Ｒｐとは色域が異なっているため、例えば、ｓＲＧＢ画像をプリンタで出力する場合には、色域の違いを補正するためにｓＲＧＢの色信号値をプリンタの色信号値に対応付ける処理を行う必要がある。この対応付け処理を色域マッピングという。
【０００３】
以下、図２３を参照しながら、ＲＧＢ画像の色変換処理を例として色域マッピングを説明する。以降の説明では、入力色空間としてｓＲＧＢを例として説明する。まず、ステップＳ１Ｍにおいて、ｓＲＧＢ画像の画素値ＲＧＢの知覚色空間値を算出する。知覚色空間値としては、例えば、ＣＩＥＬＡＢやＣＩＥＬＵＶ、ＣＩＥＣＡＭ０２などがある。以下の説明では、知覚色空間値としてＣＩＥＣＡＭ０２色空間における色値Ｊａｂを用いる。次に、ステップＳ２Ｍにおいて、該知覚色空間上で該色値Ｊａｂが出力デバイスの色域の中におさまるような変換を、該色値Ｊａｂに対して実行する。このステップＳ２Ｍにおける入力色値と出力色値の対応付けの処理を、一般に、色域マッピングと呼ぶ。そして、最後にステップＳ３Ｍにおいて、マッピング後の色値を出力デバイスのデバイス値Ｒ’Ｇ’Ｂ’に変換する。
【０００４】
ステップＳ２Ｍでなされる色域マッピングの手法としては、例えば収束点マッピングや色差最小マッピング等、現在までに様々な方法が提案されている。
【０００５】
例えば収束点マッピングの手法によれば、出力色域内の入力色値については、該入力色値を維持する。一方、出力色域外の入力色値については、図２４に示すように出力色域内にある収束点ＰＦを設定し、該収束点と該入力色値とを結んだ線分を想定し、該収束点と該交点との間に入力色値を移動する。具体的な例として、入力色域の任意の色相における最大彩度点を出力色域の該色相の所定の点に等色相に沿って移動し、該色相の入力色域内部の色値を出力色域内部の色値へ非線形に圧縮する方法が開示されている（例えば、特許文献１参照）。このような方法によれば、入力色域の色値の色相を保存して出力色域の色値で再現することができる。
【０００６】
また、色差最小マッピングの手法によれば、出力色域内の入力色値についてはやはりこれを維持する。一方、出力色域外の入力色値については、図２５に示すように、該入力色値と出力色域表面との３次元距離が最小になるような点Ｐｉｎ’、すなわち、マッピング前後の色差が最小になるような点に、該入力色値を貼り付ける。具体的な例として、出力色域外の入力色値をマッピングする際に、該入力色値から出力色域表面に垂直に下ろした点に該入力色値を貼り付ける方法が開示されている（例えば、特許文献２参照）。このような方法によれば、入力色値を出力する際に、該入力色値と知覚的に最も近い色値で再現することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−０３６７５７号公報
【特許文献２】特開２００５−１１７０９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記従来の色域マッピングは、入力デバイスの色域より出力デバイスの色域が小さい場合に、良好な色再現を実現するのに有効である。しかしながら、入力色空間や出力色空間の色域形状によっては、知覚色空間値で表現した場合、色相（階調）が反転して表現されてしまうことがある。
【０００９】
図２６に、色相反転の例を示す。図２６において、実線で示した曲線は、入力デバイスのＣｙａｎ−Ｂｌｕｅ−Ｍａｇｅｎｔａ間の最大彩度点を結んだ入力色域境界を表し、点Ｐ１，Ｐ２，Ｐ３，Ｐ４は該入力色域境界上の格子点を表す。図２６に示すように、この入力色域では、点Ｐ１からＰ４の区間において明らかに色相が反転している。そのため、このような形状の領域に対して、例えば、収束点マッピングを用いて出力色域外色を出力色域表面へ貼り付けた場合、Ｐ１−Ｐ２，Ｐ２−Ｐ３，Ｐ３−Ｐ４の各領域が出力色域の同一表面上にマッピングされてしまう。したがって、マッピング後の階調が破綻し、出力画像において擬似輪郭が発生し、著しい画質劣化を引き起こしてしまうことがある。
【００１０】
本発明は上記の課題を解決するためになされたものであり、色域マッピングによる色相反転の発生を防止する色処理装置および色処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための一手段として、本発明の色処理装置は以下の構成を備える。
すなわち、入力色域および出力色域を取得する色域取得手段と、
前記入力色域および前記出力色域の少なくともいずれか一方において、当該色域を当該色域より色域が小さい部分格子に分割する分割手段と、
前記部分格子において、色相が反転する反転領域を検出する反転検出手段と、
前記反転検出手段で検出された反転領域を補正する領域補正手段と、
前記領域補正手段による補正の後に、前記入力色域および前記出力色域を用いて、該入力色域内の入力色値を前記出力色域内にマッピングする色域マッピング手段と
を有することを特徴とする。
【発明の効果】
【００１２】
上記構成からなる本発明によれば、色域マッピングによる色相反転の発生を防止することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係る一実施形態における色処理装置の構成を示すブロック図である。
【図２】本実施形態の色処理装置における処理概要を示すフローチャートである。
【図３】本実施形態における色域データ例を示す図である。
【図４】本実施形態におけるデータ取得処理を示すフローチャートである。
【図５】本実施形態における反転検出処理を示すフローチャートである。
【図６】本実施形態における部分格子例を示す図である。
【図７】本実施形態における検索ライン例を示す図である。
【図８】本実施形態における色相−彩度平面における検索格子点例を示す図である。
【図９】本実施形態における格子点番号と交点数との対応表の例を示す図である。
【図１０】本実施形態における領域補正処理を示すフローチャートである。
【図１１】本実施形態における色相反転格子点の移動例を示す図である。
【図１２】本実施形態における色域マッピング処理を示すフローチャートである。
【図１３】本実施形態における色域内外の判定例を示す図である。
【図１４】第２実施形態における色処理装置の構成を示すブロック図である。
【図１５】第２実施形態の色処理装置における処理概要を示すフローチャートである。
【図１６】第２実施形態におけるＵＩ画面例を示す図である。
【図１７】第２実施形態におけるデータ取得処理を示すフローチャートである。
【図１８】第２実施形態における反転検出処理を示すフローチャートである。
【図１９】第２実施形態における検索格子点、収束点、および、交点の例を示す図である。
【図２０】第２実施形態における表示処理を示すフローチャートである。
【図２１】第２実施形態における警告表示例を示す図である。
【図２２】一般的な色域の関係を示す図である。
【図２３】一般的なＲＧＢ画像の色域マッピングの流れを示す図である。
【図２４】一般的な収束点マッピングの例を示す図である。
【図２５】一般的な色差最小マッピングの例を示す図である。
【図２６】一般的な色相反転領域における階調悪化の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１５】
＜第１実施形態＞
図１は、本実施形態の色処理装置を実現するハードウエア構成を示すブロック図である。同図に示す色処理装置１において、１０１は色域データを取得するデータ取得部、１０２はデータ取得部１０１で取得した色域の色相反転領域を検出する反転検出部、１０３は反転検出部１０２で検出された反転領域を補正する領域補正部である。また、１０４は領域補正部１０３で補正された色域をマッピングする色域マッピング部、１０５は色域マッピング部１０４でマッピングされた色域を出力デバイスの色空間値に変換する色空間値変換部である。また、１０６は色空間値変換部１０５で変換された色空間値を出力する出力部、１０７はデータ取得部１０１で読み込む色域データを保持する色域データ保持部、１０８は演算途中の各データを一時的に保持するためのバッファメモリである。
【００１６】
＜＜処理概要＞＞
本実施形態の色処理装置１においては、入力色空間値（ＲＧＢ）を出力色空間値（Ｊａｂ）に変換するための色変換テーブルを作成する。以下、色処理装置１における処理について、図２を用いて説明する。図２は、色処理装置１における色変換テーブル作成処理を示すフローチャートである。
【００１７】
まずステップＳ１において、データ取得部１０１は、色域データ保持部１０７に保持されている入力色域および出力色域を取得し、バッファメモリ１０８に保存する。
【００１８】
ここで色域データは、例えば図３に示すような、デバイスの各色信号値に対応する知覚色空間値の対を記述した対応表として示される。例えば、プリンタの色域データは以下のように作成される。まず、プリンタの色信号値Ｒ，Ｇ，Ｂをそれぞれ、５スライスあるいは９スライス等の複数スライスに分割し、各スライスの格子点におけるＲＧＢ値をプリンタに入力し、所定の用紙に色票を印刷する。次に、印刷された色票を測色器で測色してＸＹＺ値を得、該ＸＹＺ値からＣＩＥＣＡＭ０２の変換式によって知覚色空間値Ｊａｂを算出する。本実施形態では、このようにして算出されたＪａｂ値とデバイスＲＧＢ値とを対にして保存することで、色域データを作成する。なお、データ取得部１０１における詳細な処理内容については、後述する。
【００１９】
次にステップＳ２において、反転検出部１０２は、ステップＳ１で取得した入力色域および出力色域の色相反転領域を検出する。なお、反転検出部１０２における詳細な処理内容については、後述する。
【００２０】
次にステップＳ３において、領域補正部１０３は、ステップＳ２で検出した色相反転領域を補正する。なお、領域補正部１０３における詳細な処理内容については、後述する。
【００２１】
次にステップＳ４において、色域マッピング部１０４は、ステップＳ３における補正後の入力色域を、補正後の出力色域にマッピングする。なお、色域マッピング部１０４における詳細な処理内容については、後述する。
【００２２】
次にステップＳ５において、色空間値変換部１０５は、ステップＳ４におけるマッピング後の色値を、出力デバイスの色空間値、例えばＲＧＢ値に変換する。知覚色空間値の変換は、例えば、デバイス色空間値とＣＩＥＣＡＭ０２値との関係を表すＬＵＴや変換マトリクス等を用いて行う。ＬＵＴを用いる場合は、四面体補間、立方体補間等の既知の技術を用いて変換する。
【００２３】
そしてステップＳ６において、出力部１０６は、ステップＳ１で取得した入力色域データのＲＧＢ値と、ステップＳ５で変換された変換後色空間値と、を組にした色変換テーブル出力する。
【００２４】
＜＜データ取得部１０１における動作＞＞
以下、ステップＳ１におけるデータ取得部１０１の動作について、図４を用いて詳細に説明する。図４は、データ取得部１０１におけるデータ取得処理を示すフローチャートである。
【００２５】
データ取得部１０１は、まずステップＳ１０１において、入力色域データまたは出力色域データのいずれかを示すカウンタｉに初期値１を代入し、初期化する。そしてステップＳ１０２において、色域データ保持部１０７に保持されているｉ番目の色域データの最下行の格子点番号を読み込み、これをｉ番目の色域の格子点数Ｎに設定する。そしてステップＳ１０３において、格子点を示すカウンタｊに初期値１を代入し、初期化する。そしてステップＳ１０４において、色域データ保持部１０７に保持されている色域データのｊ番目の格子点の格子点番号、ＲＧＢ値、およびＪａｂ値を順に読み込み、バッファメモリ１０８に書き込む。そしてステップＳ１０５において、カウンタｊに１を加算する。そしてステップＳ１０６において、全ての格子点番号、ＲＧＢ値、およびＪａｂ値を取得したか否かを判定する。この判定には格子点数Ｎを用い、カウンタｊがＮ以下の場合、すなわち色域データを全て取得し終えていない場合にはステップＳ１０４に戻り、カウンタｊがＮを超えている場合、すなわち色域データを全て取得している場合にはステップＳ１０７へ進む。
【００２６】
そしてステップＳ１０７において、カウンタｉに１を加算し、ステップＳ１０８において、入力色域および出力色域の色域データを取得したか否かを判定する。カウンタｉが２以下の場合、すなわち、色域データを取得し終えていない場合には、ステップＳ１０２に戻って次の色域データを取得する。一方、カウンタｉが２を超えている場合、すなわち、入力色域、出力色域ともに色域データを取得している場合には、データ取得部１０１における処理を終了する。
【００２７】
以上の処理によって、データ取得部１０１において入力色域データおよび出力色域データが取得される。
【００２８】
＜＜反転検出部１０２における動作＞＞
以下、ステップＳ２における反転検出部１０２の動作について、図５を用いて詳細に説明する。図５は反転検出部１０２における反転検出処理を示すフローチャートである。
【００２９】
反転検出部１０２は、まずステップＳ２０１において、カウンタｉに初期値１を代入し、初期化する。そしてステップＳ２０２において、バッファメモリ１０８からｉ番目の色域の色域データ（全ての格子点の格子点番号、ＲＧＢ値、およびＪａｂ値）を取得する。そしてステップＳ２０３において、ステップＳ２０２で取得した色域データの格子点数から部分格子数（詳細は後述する）を算出し、Ｎに設定する。
【００３０】
本実施形態では、反転領域を検出する際、および該領域を補正する際に、ＲＧＢ格子を入れ子状に分割し、それぞれの格子ごとに処理を行う。一般に入れ子とは、箱状の容器の中に、その容器よりも小さな容器が順々に入っている状態を指す。したがって、それぞれの箱の内側は空洞でなければならないが、本実施形態においては、それぞれの格子の内側には格子点が存在するものとする。以下、それぞれの格子を部分格子と呼ぶ。
【００３１】
図６に、本実施形態における部分格子の例を示す。図６において●印が格子点を示し、第１部分格子は、格子点Ｐ1，Ｐ2，Ｐ3，Ｐ4，Ｐ5，Ｐ6，Ｐ7，Ｐ8を頂点とする六面体に含まれる全ての格子点によって構成される。また、第２部分格子は、格子点Ｐ9，Ｐ10，Ｐ11，Ｐ12，Ｐ13，Ｐ14，Ｐ15，Ｐ16を頂点とする六面体に含まれる全ての格子点によって構成される。図６に示すような５スライス格子の場合、第１部分格子は１２５点全ての格子点からなり、第２部分格子はその内側の入れ子となる２７点の格子点からなる。一般に、Ｎスライス格子の場合、各スライスの刻み幅をＮステップ（step）とすると、第ｊ部分格子の格子点のＲ，Ｇ，Ｂ値が取り得る値Ｖは、以下の式（１）によって表すことができる。
【００３２】
Ｖ＝min(Ｎstep×(ｘ−１)，２５５)      ・・・(1)
なお、式（１）におけるmin(ａ，ｂ)は、ａとｂとを比較し、小さい方の値を返す関数である。また、ｊ，ｘはそれぞれ以下の式（２）、式（３）を満たすものとする。
【００３３】
ｊ≦ｘ≦Ｎ−(ｊ−１)      ・・・(2)
１≦ｊ≦（Ｎ−１）／２      ・・・(3)
また、デバイスＲＧＢ値のビット数をｎとすると、ステップ幅Ｎstepは、スライス数Ｎを用いて、以下の式（４）のように表すことができる。
【００３４】
Ｎstep＝２n／(Ｎ−１)      ・・・(4)
また、一般にＮスライス格子の場合には、部分格子が(Ｎ−１)／２個存在し、第ｊ部分格子の格子点数は(Ｎ−ｊ＋１)3と表すことができる。
【００３５】
図５に戻り、反転検出部１０２はステップＳ２０４において、カウンタｊに初期値１を代入し、初期化する。そしてステップＳ２０５において、ステップＳ２０２で取得した色域データから第ｊ部分格子を取り出す。そしてステップＳ２０６において、ステップＳ２０５で取り出した部分格子に含まれる検索ライン数（詳細は後述する）を算出し、ＮLに設定する。
【００３６】
本実施形態では、部分格子の色相反転領域を検出する際に、いくつかの格子点によって組を作り、この組に含まれる各格子点を検索しながら、各格子点における色相反転の有無を記録していく。この組に含まれる格子点を、以下、検索格子点と呼ぶ。そして、該検索格子点を検索順に結んだラインを、以下、検索ラインと呼ぶ。図７に、検索ラインの例を示す。図７において、７ａ〜７ｇの各格子は、そのＲ，Ｇ，Ｂ値が以下の式（５）、式（６）、式（７）を満たす格子点で構成される。
【００３７】
Ｖi＝Ｎstep×ｊ      ・・・(5)
１≦ｉ≦Ｎ−１のとき、    １≦ｊ≦ｉ＋１          ・・・(6)
Ｎ≦ｉ≦２Ｎ−３のとき、  ｉ−Ｎ＋２≦ｊ≦Ｎ      ・・・(7)
ここで、Ｎstepは、Ｒ，Ｇ，Ｂ値のビット数をｎとし、以下の式（８）で表される格子の刻み幅である。
【００３８】
Ｎstep＝２n／(Ｎ−１)      ・・・(8)
各格子に含まれる格子点のＲＧＢ値が取り得る最小の値をＶmin、最大の値をＶmaxとすると、図７の太線で示した検索ラインは、以下の６点を順に結ぶ線分によって構成される。ただし、点６の次は点１に戻るものとする。
【００３９】
点１：(Ｖmax，Ｖmin，Ｖmin)
点２：(Ｖmax，Ｖmax，Ｖmin)
点３：(Ｖmin，Ｖmax，Ｖmin)
点４：(Ｖmin，Ｖmax，Ｖmax)
点５：(Ｖmin，Ｖmin，Ｖmax)
点６：(Ｖmax，Ｖmin，Ｖmax)
以上で説明した検索ラインは、一般にＮスライスの部分格子の場合、２Ｎ−３本存在する。
【００４０】
図５に戻り、反転検出部１０２はステップＳ２０７において、カウンタｋに初期値１を代入し、初期化する。そしてステップＳ２０８において、ステップＳ２０５で取得した部分格子からｋ番目の検索ライン上の検索格子点を検索順に取り出し、バッファメモリ１０８に書き込む。この検索格子点のバッファメモリ１０８への書き込みは、取り出した順に行われる。そしてステップＳ２０９において、ステップＳ２０８で取り出した検索格子点の色相角ｈおよび彩度Ｃを算出し、バッファメモリ１０８に書き込む。色相角ｈは、その格子点のａ，ｂ値を用いて式（９）によって算出され、彩度Ｃは、式（１０）によって算出される。
【００４１】
【数１】
2011205716.tif 000003
【００４２】
【数２】
2011205716.tif 000004
【００４３】
そしてステップＳ２１０において、ステップＳ２０８で取り出した検索格子点のうち、ステップＳ２０９で算出した色相角ｈが最も小さい格子点の格子点番号を、ｋminに設定する。そしてステップＳ２１１において、ステップＳ２１０で検索したｋmin番目の検索格子点から順に、色相−彩度平面上に検索格子点をプロットし、隣り合う検索格子点を線分で結ぶ。そしてステップＳ２１２において、ステップＳ２１１で作成したグラフをもとに、各検索格子点の色相が反転しているか否かを検出する。
【００４４】
ここで、図８に示す色相−彩度平面を用いて、本実施形態における色相反転の検出方法について説明する。図８において、横軸は色相を表し、縦軸は彩度を表す。また、点Ｐ1〜Ｐ7は、検索ライン上の一部の検索格子点を表す。まず、各検索格子点を通って色相軸に垂直な直線を定義し、検索格子点を結ぶグラフとの交点を求めて交点数を算出する。ここで、求めた各交点を図８の点Ｑ1〜Ｑ4に示す。例えば、点Ｑ1およびＱ2は、点Ｐ3を通る垂線ｌ3と該グラフとの交点を表す。したがって、垂線ｌ3と該グラフとの交点数は、点Ｑ1およびＱ2に加えて、該検索格子点Ｐ3を含めた計３点となる。このように、各検索格子点を通る垂線と該グラフとの交点数を求め、該交点数を各検索格子点番号と対応付けて、バッファメモリ１０８に書き込む。格子点番号と交点数の対応を表す交点数対応表の例を図９に示す。図９に示すように、１列目には格子点番号を書き込み、２列目には対応する交点数を書き込む。この交点数が２以上であった場合には、該検索格子点とそれ以外の検索格子点との色相が逆転していることを表しているので、該交点数対応表によって格子点における色相反転を検出することができる。
【００４５】
図５に戻り、反転検出部102は、ステップＳ２１３においてカウンタｋに１を加算する。そしてステップＳ２１４において、部分格子内の全ての検索ラインについて処理が終了したか否かを判定する。この判定には、ステップＳ２０６で設定したＮLを用いる。カウンタｋがＮL未満であった場合、すなわち、全ての検索ラインについて処理が終了していない場合には、ステップＳ２０８へ戻る。一方、カウンタｋがＮLを超える場合、すなわち、全ての検索ラインについて処理が終了している場合には、ステップＳ２１５へ進む。
【００４６】
ステップＳ２１５においては、カウンタｊに１を加算し、ステップＳ２１６において、全ての部分格子について処理が終了したか否かを判定する。この判定には、ステップＳ２０３で設定したＮを用いる。カウンタｊがＮ未満であった場合、すなわち、全ての部分格子について処理が終了していない場合には、ステップＳ２０５へ戻る。一方、カウンタｊがＮを超える場合、すなわち、全ての部分格子について処理が終了している場合には、ステップＳ２１７へ進む。
【００４７】
ステップＳ２１７においては、カウンタｉに１を加算し、ステップＳ２１８において、全ての色域について処理が終了したか否かを判定する。本実施形態における色域は、入力色域と出力色域の２つであるため、この判定はカウンタｉと色域数２を比較することによって行う。カウンタｉが２未満であった場合、すなわち、入力色域と出力色域の両方についての処理が終了していない場合には、ステップＳ２０２へ戻る。一方、カウンタｉが２を超える場合、すなわち、入力色域と出力色域の両方について処理が終了している場合には、ステップＳ２における処理を終了する。
【００４８】
以上のように反転検出部１０２では、色相−彩度平面における検索格子点を結ぶ線分と検索格子点を通る垂線との交点数によって、格子点における色相反転を検出する。これは、格子点の位置関係が逆転している場合、該格子点における交点が２点以上出現することを利用した検出方法である。
【００４９】
また、色相反転の検出処理は、色域表面だけではなく、色域内部の格子点に対しても行うため、色域内部の格子点の色相反転も検出することができる。
【００５０】
また、色相反転の検出処理を格子点に対して行っているため、色域のわずかな色相反転をも検出することができる。これは、色域が格子点から構成されており、同時に格子点が色域の特異点になっているので、この格子点に対して色相反転の有無を検査することにより、色域の全ての色相反転を検出することができることを利用した検出方法である。
【００５１】
また、格子点のみを対象として検出処理を行うので、最小限の探索コストで色相反転を検出することができる。よって、例えば色相を１度刻みで検索する方法に比べ、より高速に色相反転を検出することができる。
【００５２】
＜＜領域補正部１０３における動作＞＞
以下、ステップＳ３における領域補正部１０３の動作について、図１０を用いて詳細に説明する。図１０は、領域補正部１０３における領域補正処理を示すフローチャートである。
【００５３】
領域補正部１０３は、ステップＳ３０１〜Ｓ３０８の処理において、バッファメモリ１０８から色域データを読み込み、該色域データから部分格子を取り出した後に、該部分格子に含まれる検索ライン上の格子点を取得する。以上の処理は、上述した反転検出部１０２における、図５に示すステップＳ２０１〜Ｓ２０８と同様の処理であるため、ここでは詳細な説明を省略する。
【００５４】
また、ステップＳ３１３〜Ｓ３１８では、部分格子内の検索ラインに対する処理の終了判定、部分格子に対する処理の終了判定、および色域に対する処理の終了判定を行う。これらの処理についても、上述した反転検出部１０２における、図５に示すステップＳ２１３〜Ｓ２１８と同様であるため、詳細な説明を省略する。以下、反転検出部１０２の処理とは異なる、ステップＳ３０９〜Ｓ３１２までの処理について説明する。
【００５５】
領域補正部１０３は、ステップＳ３０９において、上述した図５のステップＳ２１２でバッファメモリ１０８に書き込んだ交点数対応表（図９）を取得する。そしてステップＳ３１０において、該交点数対応表に基づき、色相反転領域の境界に位置する検索格子点の格子点番号を取得する。図９に示した交点数対応表によれば、交点数が２つ以上の検索格子点は、格子点番号３〜５の検索格子点であるので、該検索格子点が色相反転領域であることが分かる。以下、色相反転領域と隣り合う検索格子点を境界格子点と呼ぶ。図９の場合であれば、格子点番号２および６の検索格子点が境界格子点となる。この２つの検索格子点を１組にして、組ごとにバッファメモリ１０８に保存しておく。
【００５６】
そしてステップＳ３１１において、ステップＳ３１０で取得した境界格子点に挟まれる色相反転領域の検索格子点について、格子点間距離を算出してバッファメモリ１０８に書き込む。ここで、ｉを自然数とすると、ｉ番目の検索格子点とｉ＋１番目の検索格子点との格子点間距離ｄiは、以下の式（１１）によって算出される。式（１１）において、Ｊi，ａi，ｂiは、ｉ番目の検索格子点のＪ，ａ，ｂ値を表す。
【００５７】
【数３】
2011205716.tif 000005
【００５８】
次にステップＳ３１２において、ステップＳ３１１で算出した格子点間距離の比に応じて、色相反転領域の検索格子点を移動する。本実施形態では、１組の境界格子点間を、色相反転格子点の格子点間距離の比で内分する点に該色相反転格子点を移動する。色相反転格子点の移動の例を図１１に示す。図１１はａｂ平面上に検索格子点および移動後の点を示す図である。検索格子点をそれぞれＰ1〜Ｐ7とし、検索格子点の移動後の点をＰ'3〜Ｐ'5とすると、移動後の各点は、境界格子点の一方の格子点番号をｓ、他方の格子点番号をｅとすると、式（１２）によって表すことができる。このとき、ｍi，ｎiは、それぞれ式（１３）、式（１４）のように表すことができる。なお、Ｏはａｂ平面の原点を表す。
【００５９】
【数４】
2011205716.tif 000006
【００６０】
【数５】
2011205716.tif 000007
【００６１】
【数６】
2011205716.tif 000008
【００６２】
上記式（１２）を用いて求めた該移動後のＪａｂ値によって、色域データの該色相反転格子点のＪａｂ値を書き換える。以上の処理によって、色域の色相反転領域を補正することができる。
【００６３】
以上のように、領域補正部１０３では、色相反転領域の格子点間距離の比を保持して、該色相反転領域をはさむ両端の境界格子点の間に、色相反転格子点を移動することによって、色域の色相反転を補正する。
【００６４】
＜＜色域マッピング部１０４における動作＞＞
以下、ステップＳ４における色域マッピング部１０４の動作について、図１２を用いて詳細に説明する。図１２は、本実施形態の色域マッピング部１０４における色域マッピング処理を示すフローチャートである。
【００６５】
色域マッピング部１０４は、まずステップＳ４０１およびステップＳ４０２において、上述した図１０のステップＳ３１２によって補正された入力色域データおよび出力色域データを、バッファメモリ１０８から取得する。そしてステップＳ４０３において、ステップＳ４０１で取得した入力色域データから格子点数を取得し、Ｎに設定する。そしてステップＳ４０４において、色変換テーブルのデータ領域をバッファメモリ１０８に確保する。この色変換テーブルは、入力デバイスの色空間値Ｒ，Ｇ，Ｂと、該色空間値に対応するＪ，ａ，ｂ値を出力色域にマッピングした後のＪ，ａ，ｂ値との対応付けを保存しておくためのものである。
【００６６】
次にステップＳ４０５において、出力色域内の点、例えば（５０，０，０）を収束点に設定する。そしてステップＳ４０６において、カウンタｉに初期値１を代入し、初期化する。そしてステップＳ４０７において、入力色域のi番目の格子点を取得し、ステップＳ４０８において、該入力格子点のＲＧＢ値をステップＳ４０４で確保した色変換テーブルに書き込む。そしてステップＳ４０９において、該入力格子点が出力色域の外側に存在しているか否かを判定する。この色域内外判定は、出力色域表面を構成する三角形と、該入力格子点と収束点とを結ぶ直線との交点の位置関係に基づいて行う。ここで図１３に、本実施形態における色域内外判定の例を示す。図１３に示すように、出力色域表面の格子点によって構成される三角形の各頂点をそれぞれＢ，Ｃ，Ｄとし、ステップＳ４０５で設定した収束点をＡ、入力格子点をＰとすると、直線ＡＰ上の点は以下の式（１５）によって表される。
【００６７】
【数７】
2011205716.tif 000009
【００６８】
ここで、点ＸのＪ，ａ，ｂ値を（Ｊx，ａx，ｂx）で表すと、ｓ，ｔ，ｕは、式（１６）によって算出される。
【００６９】
【数８】
2011205716.tif 000010
【００７０】
このとき、点Ｐが四面体ＡＢＣＤ内部に存在すれば、以下の式（１７），式（１８）が成り立つ。
【００７１】
ｓ＋ｔ＋ｕ≦１      ・・・(17)
０≦ｓ，０≦ｔ，０≦ｕ      ・・・(18)
式（１７），式（１８）が成り立てば、該入力格子点が出力色域内に存在すると判定し、ステップＳ４１２へ進む。一方、式（１７），式（１８）が成り立たなければ、該入力格子点が出力色域外に存在すると判定し、ステップＳ４１０へ進む。
【００７２】
ステップＳ４１０においては、該入力格子点と該収束点とを通る直線と出力色域表面との交点を算出し、ステップＳ４１１において、ステップＳ４１０で算出した交点のＪａｂ値を、ステップＳ４０４で確保した色変換テーブルのｉ行目に書き込む。
【００７３】
またステップＳ４１２においては、ステップＳ４０７で取得した入力格子点のＪａｂ値を、ステップＳ４０４で確保した色変換テーブルのｉ行目に書き込む。
【００７４】
そしてステップＳ４１３において、カウンタｉに１を加算し、ステップＳ４１４において、入力色域の全ての格子点について処理が終了したか否かを判定する。この判定には、ステップＳ４０３で設定したＮを用いる。カウンタｉがＮ未満であった場合、すなわち、全ての格子点について処理が終了していない場合には、ステップＳ４０７へ戻る。一方、カウンタｉがＮを超える場合、すなわち、全ての格子点について処理が終了している場合には、ステップＳ４における処理を終了する。
【００７５】
以上のように、色域マッピング部１０４では、出力色域内の入力格子点についてはその色値を保存する。一方、出力色域外の入力格子点については、該入力格子点と収束点とを結ぶ線分と、出力色域表面との交点に貼り付けることによって、入力色域を出力色域へマッピングする。
【００７６】
＜＜本実施形態による効果＞＞
以上説明したように本実施形態によれば、入力色空間値を出力色空間値へ変換する色変換テーブルを作成する際に、入力デバイスの色域を出力デバイスの色域に自動的にマッピングすることができる。さらに、色域を構成する格子を部分格子に分割し、各部分格子の検索ラインごとに、色相−彩度平面にて隣り合った格子点を線分で結び、各格子点を通り色相軸に垂直な直線と該線分との交点数によって、色相が反転している格子点を検出することができる。そして、色相が反転していた場合には、色相反転格子点をはさむ境界格子点を結んだ直線上に、該色相反転格子点の格子点間距離の比を維持して該色相反転格子点を移動することによって、色相反転を防止したマッピングを行うことができる。
【００７７】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。。第２実施形態においても、入力色空間値を出力色空間値に変換するための色変換テーブルを作成するが、この際にユーザによる確認操作が介入することを特徴とする。また第２実施形態においても色域における色相反転を検出するが、この検出方法として上述した第１実施形態とは異なる手法を用いる。
【００７８】
図１４は、第２実施形態における色処理装置を実現するハードウエア構成を示すブロック図である。同図に示す色処理装置２において、２０１はユーザからの入力を受けるＵＩ（ユーザインターフェース）部、２０２は色域データを取得するデータ取得部、２０３はデータ取得部２０２で取得した色域の色相反転領域を検出する反転検出部である。また、２０４は反転検出部２０３で検出された反転領域を補正するか否かをユーザに選択させるメッセージを表示する表示部、２０５は反転検出部２０３で検出された反転領域を補正する領域補正部である。また、２０６は領域補正部２０５で補正された色域をマッピングする色域マッピング部、２０７は色域マッピング部２０６でマッピングされた色域を出力デバイスの色空間値に変換する色空間値変換部である。また、２０８は色空間値変換部２０７で変換された色空間値を出力する出力部、２０９はデータ取得部２０２で読み込む色域データを保持する色域データ保持部、２１０は演算途中の各データを一時的に保持するためのバッファメモリである。
【００７９】
＜＜処理概要＞＞
以下、第２実施形態の色処理装置２における処理について、図１５および図１６を用いて説明する。図１５は、色処理装置２における変換テーブル作成処理を示すフローチャートであり、図１６は、色変換テーブル作成条件の設定を実現するＵＩ部２０１の表示例を示す図である。
【００８０】
第２実施形態における色変換テーブルは、図１６に示す表示画面で設定される色変換テーブル作成条件に基づいて作成される。図１６において、１Ｐは設定画面として機能するＵＩである。また、２Ｐは入力色域データを取得する入力色域取得部、３Ｐは出力色域データを取得する出力色域取得部である。ここでは、例えば、処理対象の入力色域データおよび出力色域データが記憶されているメモリ（例えば外部記憶装置）に対するファイルパスを指定することで、入力色域データおよび出力色域データを取得するとする。また、４Ｐは色域表示部であり、色域および色相反転格子点を表示する。５ＰはＯＫボタンであり、各種入力が完了して、指定された各種データを処理に用いるデータとして確定するためのボタンである。
【００８１】
色変換テーブルの作成時には、まず図１５に示すステップＳ２１において、データ取得部２０２は、ＵＩ部２０１におけるＯＫボタン５Ｐが押下されたか否かを判定する。これが押下されていない場合は、そのままユーザの入力を待機するが、ＯＫボタン５Ｐが押下された場合には、ステップＳ２２へ進む。
【００８２】
そしてステップＳ２２において、データ取得部２０２は、図１６の画面で設定された入力色域および出力色域の条件に基づいて、色域データ保持部２０９に保持されている入力色域および出力色域を取得し、バッファメモリ１０８に保存する。なお、データ取得部２０２における詳細な処理内容については、後述する。
【００８３】
次にステップＳ２３において、反転検出部２０３は、ステップＳ２２で取得した入力色域および出力色域の色相反転格子点を検出する。なお、反転検出部２０３における詳細な処理内容については、後述する。
【００８４】
次にステップＳ２４において、表示部２０４は、ステップＳ２３で色相反転格子点が検出されたか否かを判定する。この色相反転の有無の判定方法については、表示部２０４の具体的な処理内容とあわせて後述する。位相反転格子点が検出された場合はステップＳ２５に進むが、検出されない場合はステップＳ２８へ進む。
【００８５】
ステップＳ２５では表示部２０４において、色相反転に起因する画質劣化が生じる旨のメッセージを表示し、反転領域を補正するか否かを、後述するようにユーザに選択させる。
【００８６】
そしてステップＳ２６において、ステップＳ２５における選択結果を後述するように判定し、反転領域の補正が選択された場合にはステップＳ２７へ進み、補正しないことが選択された場合にはステップＳ２８へ進む。
【００８７】
ステップＳ２７において、領域補正部２０５は、ステップＳ２３で検出した色相反転領域を補正する。なお、この補正方法は、上述した第１実施形態におけるステップＳ３と同様であるため、説明を省略する。
【００８８】
次にステップＳ２８において、色域マッピング部２０６は、入力色域の入力色値を出力色域にマッピングする。すなわち、マッピング対象となる入力色値としては、ステップＳ２７で補正されている場合と補正されていない場合が考えられる。なお、このマッピング方法は、上述した第１実施形態におけるステップＳ４と同様であるため、説明を省略する。
【００８９】
そしてステップＳ２９において、色空間値変換部２０７は、ステップＳ２８におけるマッピング後の色値を、出力デバイスの色空間値、例えばＲＧＢ値に変換する。この変換方法は、上述した第１実施形態におけるステップＳ５と同様であるため、説明を省略する。  そしてステップＳ３０において、出力部２０８は、ステップＳ２９で変換された変換後色空間値に基づいて色変換テーブル出力する。この出力方法は、上述した第１実施形態におけるステップＳ６と同様であるため、説明を省略する。
【００９０】
＜＜データ取得部２０２における動作＞＞。
【００９１】
以下、ステップＳ２２におけるデータ取得部２０２の動作について、図１７を用いて詳細に説明する。図１７は、データ取得部２０２におけるデータ取得処理を示すフローチャートである。
【００９２】
データ取得部２０２は、まずステップＳ５０１において、図１６に示す入力色域取得部２Ｐに設定された、入力色域データのファイルパスを取得する。そしてステップＳ５０２において、ステップＳ５０１で取得したファイルパスに保持されている入力色域データを色域データ保持部２０９から読み込み、バッファメモリ２１０に書き込む。そしてステップＳ５０３において、出力色域取得部３Ｐに設定された出力色域データのファイルパスを取得する。そしてステップＳ５０４において、ステップＳ５０３で取得したファイルパスに保持されている出力色域データを色域データ保持部２０９から読み込み、バッファメモリ２１０に書き込む。
【００９３】
＜＜反転検出部２０３における動作＞＞
以下、ステップＳ２３における反転検出部２０３の動作について、図１８を用いて詳細に説明する。図１８は反転検出部２０３における反転検出処理を示すフローチャートである。なお、図１８に示すステップＳ６０１〜Ｓ６０３の処理は、上述した第１実施形態における反転検出処理を示す図５のステップＳ２０１〜Ｓ２０３と同様であるため、説明を省略する。
【００９４】
反転検出部２０３は、ステップＳ６０１〜Ｓ６０３におけるカウンタｉの初期化、ｉ番目の色域の色域データの取得、部分格子数Ｎの設定、を終えると、次にステップＳ６０４において、出力色域内の点、例えば（５０，０，０）を収束点に設定する。そしてステップＳ６０５においてカウンタｊに初期値１を代入し、初期化する。そしてステップＳ６０６において、ステップＳ６０２で取得した色域データから第ｊ部分格子を取り出す。そしてステップＳ６０７において、ステップＳ６０６で取り出した部分格子の色域表面における格子点数を算出し、Ｎsに設定する。
【００９５】
ここで、色域の格子点数をＮとし、ｉを自然数とすると、第ｉ部分格子の格子点数は、以下の式（１９）によって表される。したがって、第ｉ部分格子の色域表面の格子点数Ｎsは、以下の式（２０）によって表される。
【００９６】
【数９】
2011205716.tif 000011
【００９７】
【数１０】
2011205716.tif 000012
【００９８】
次にステップＳ６０８において、カウンタｋに初期値１を代入し、初期化する。そしてステップＳ６０９において、ステップＳ６０６で取り出した部分格子から、色域表面のｋ番目の格子点についてのＪ，ａ，ｂ値を取得し、ステップＳ６１０において該格子点とステップＳ６０４で設定した収束点とを結ぶ直線の方程式を算出する。そしてステップＳ６１１において、部分格子の色域表面と該直線との交点を算出し、得られた交点数をバッファメモリ２１０に書き込む。
【００９９】
ここで図１９に、格子点と収束点を結ぶ直線と、部分格子の色域表面およびその交点の例を示す。図１９において、部分格子の色域表面の格子点をＰi（ただし、ｉ＝１，．．．，８）、収束点をＰF、格子点と収束点とを結ぶ直線（図１９において、ＰFから放射状に伸びる破線）と色域表面との交点をＱj（ただし、ｊ＝１，．．．，４）とする。このとき、色相反転領域内の直線上には格子点自身を含む交点が２点以上存在し、色相が反転していない領域内の直線上には格子点自身しか存在しない。したがって、交点数によって各格子点が色相反転しているか否かを判定することができる。
【０１００】
図１８に戻り、反転検出部２０３は、ステップＳ６１２において、カウンタｋに１を加算する。そしてステップＳ６１３において、部分格子内の全ての格子点について処理が終了したか否かを判定する。この判定には、ステップＳ６０７で設定したＮsを用いる。カウンタｋがＮs未満であった場合、すなわち、全ての格子点について処理が終了していない場合にはステップＳ６０９へ戻る。一方、カウンタｋがＮsを超える場合、すなわち、全ての検索ラインについて処理が終了している場合には、ステップＳ６１４へ進む。
【０１０１】
なお、ステップＳ６１４〜Ｓ６１７の処理は、上述した第１実施形態で図５に示したステップＳ２１５〜Ｓ２１８と同様であるため、説明を省略する。
【０１０２】
以上のように、第２実施形態の反転検出部２０３では、色域を部分格子に分割し、該部分格子の表面を構成する格子点と収束点を結ぶ直線を求め、該直線と該部分格子の色域表面との交点を算出し、その交点数によって各格子点の色相反転を検出する。これは、部分格子の色域表面を構成する格子点が逆転している場合、該格子点と収束点とを結ぶ直線と該色域表面との交点が２点以上出現することを利用した検出方法である。
【０１０３】
また、色相反転の検出処理を、色域表面だけではなく、色域内部の格子点に対しても行うことによって、色域内部の格子点の色相反転も検出することができる。
【０１０４】
また、色相反転の検出処理を格子点に対して行っているため、色域のわずかな色相反転をも検出することが可能である。これは、色域が格子点から構成されており、同時に格子点が色域の特異点になっているので、この格子点に対して色相反転の有無を検査することにより、色域の全ての色相反転を検出することができることを利用している。
【０１０５】
また、格子点のみを対象として検出処理を行うため、最小限の探索コストで色相反転を検出することができ、高速に色相反転を検出することができる。
【０１０６】
＜＜表示部２０４における動作＞＞
以下、ステップＳ２５における表示部２０４の動作について、図２０を用いて詳細に説明する。図２０は、第２実施形態の表示部２０４における表示処理を示すフローチャートである。
【０１０７】
表示部２０４は、まずステップＳ７０１において、反転フラグＦに初期値０を代入し、初期化する。この反転フラグＦは、色域の格子点において色相反転が発生しているか否かを判定するためのフラグであり、後述するステップＳ７０８において色相反転の可能性をユーザに警告する際に用いられる。第２実施形態では、反転フラグＦが０のときは反転がないことを表し、Ｆが１以上のときは反転があることを表すものとする。
【０１０８】
そしてステップＳ７０２において、各格子点における交点数をバッファメモリ２１０から取得し、ステップＳ７０３において、該交点数をもとに、各格子点における色相反転の有無を判定する。交点数が１を超えていた場合、すなわち、該格子点において色相反転が発生していた場合には、ステップＳ７０４へ進む。一方、交点数が１以下であった場合、すなわち、該格子点において色相反転が発生していなかった場合には、ステップS706へ進む。
【０１０９】
ステップS704においては、反転フラグＦに１を加算し、次にステップＳ７０５において、ＵＩ部２０１の色域表示部４Ｐのａ−ｂ平面上に、該格子点をプロットする。
【０１１０】
ステップＳ７０６では、全格子点について処理が終了したか否かを判定する。終了していた場合にはステップＳ７０７へ進むが、終了していなかった場合にはステップＳ７０２へ戻る。
【０１１１】
ステップＳ７０７においては、補正フラグＦcに初期値０を代入し、初期化する。この補正フラグＦcは、色相反転領域を補正するか否かを判定するためのフラグであり、後述するステップＳ７０９におけるユーザの判断によって設定される。
【０１１２】
そしてステップＳ７０８において、反転フラグＦに基づいて反転領域の有無を判定する。反転フラグＦが０を超えていた場合、すなわち、反転領域が存在していた場合には、ステップＳ７０９へ進む。一方、反転フラグＦが０以下だった場合、すなわち、反転領域が存在していなかった場合には、ステップＳ２５の処理を終了する。
【０１１３】
ステップＳ７０９においては、警告メッセージをユーザに表示し、反転領域を補正するか否かを選択させる。ユーザへの警告は、例えば、図２１に示すように、色域に色相反転領域が存在するため、該反転領域に起因する画質劣化が生じる可能性があることを報知し、色域の補正を行うか否かの選択を促すような内容で、メッセージボックスを表示する。このメッセージボックスは、ユーザの判断を取得するための「はい」ボタン１Ｑ、および「いいえ」ボタン２Ｑを備える。
【０１１４】
ステップＳ７１０においては、ステップＳ７０９で表示したメッセージボックス上で、「はい」ボタン１Ｑ、または「いいえ」ボタン２Ｑのどちらが押下されたかを判定する。「はい」ボタン１Ｑが押下された場合、ステップＳ７１１へ進んで補正フラグＦcに１を設定した後、ステップＳ２５の処理を終了するが、「いいえ」ボタン２Ｑが押下された場合には、そのままステップＳ２５の処理を終了する。
【０１１５】
以上のように、表示部２０４では、ステップＳ２３で設定した各格子点の交点数によって色相反転の有無を判定する。そして、該格子点において色相反転が発生していた場合には、ＵＩ部２０１の色域表示部４Ｐに該格子点をプロットすることによって、ユーザに色相反転領域を視覚的に知らしめる。そしてさらに、色相反転に起因する画質劣化の可能性をユーザに警告するとともに、該色相反転領域を補正するか否かをユーザが選択することができる。
【０１１６】
以上説明したように第２実施形態によれば、入力色空間値を出力色空間値へ変換する色変換テーブルを作成する際に、入力デバイスの色域を出力デバイスの色域に自動的にマッピングすることを、ユーザによって設定された条件に基づいて行うことができる。さらに、マッピングの際に色域の色相反転を検出し、該色相反転に起因する画質劣化の可能性をユーザに告知することができる。
【０１１７】
また、該告知とともに、該反転領域を補正するか否かをユーザが選択できる選択ボタンを備えることにより、ユーザが補正処理の実行の可否を選択することができる。さらに、該色相反転領域をａ−ｂ平面に表示する表示部も備えているため、ユーザは視覚的にどの領域で色相反転が発生しているかを把握することができる。
【０１１８】
＜変形例＞
上述した各実施形態においては、ＣＩＥＣＡＭ０２色空間を用いて説明を行ったが、ＣＩＥＬＡＢ、ＣＩＥＬＵＶ、ＣＩＥＣＡＭ９７ｓなどの知覚色空間であれば、どのような色空間を用いてもよい。
【０１１９】
また、反転検出部１０２，２０３、および領域補正部１０３，２０５においては、図５のステップＳ２０６で説明したように検索格子点を点１から点６の順で検索したが、検索順はこれに限定されるものではない。例えば、点２から検索を開始し、点３，４，５，６，１の順で検索し、最後に点２へと戻るような順序でも良い。
【０１２０】
また、領域補正部１０３，２０５においては、色相反転領域を補正する際に、色相反転格子点をはさむ両端の境界格子点を結ぶ直線上に該色相反転格子点を移動する例を示した。しかしながら本発明はこの例に限らず、例えば、色相反転格子点および境界格子点をはさむ２つの格子点の間に該色相反転格子点および該境界格子点を移動するようにしても良い。また、色相反転格子点の移動先は直線上に限る必要はなく、例えば、境界格子点および、該境界格子点をはさむ２つの格子点とを通る４次関数を定義し、該４次関数の曲線上を移動先としても良い。このように曲線上に移動させることによって、補正領域と非補正領域との境界の階調を滑らかに接続することができる。
【０１２１】
また、反転検出部１０２，２０３、および色域マッピング部１０４，２０６においては、収束点のＪ，ａ，ｂ値を（５０，０，０）に設定する例を示したが、これは、出力色域内であれば、どのような座標でも良い。好ましくは、出力色域の白点、すなわち（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）なる点と、黒点、すなわち（Ｒ，Ｇ，Ｂ）＝（０，０，０）なる点との中点に、収束点を設定する。また、入力色域あるいは出力色域のグレイ、すなわち（Ｒ，Ｇ，Ｂ）＝（１２８，１２８，１２８）なる点、あるいは、入力色域の重心や出力色域の重心等、出力色域の中心近辺の点を、収束点としても良い。
【０１２２】
また、色域マッピング部１０４，２０６においては、出力色域内の入力格子点についてはその色値を保存し、出力色域外の入力格子点については、該入力格子点と所定の収束点とを結ぶ線分と、出力色域表面との交点に貼り付ける手法を説明した。しかしながら本発明はこの例に限定されず、例えば、入力格子点の明度を保って出力色域表面に貼り付けても良いし、入力格子点のマッピング前後におけるＣＩＥＣＡＭ０２色空間の３次元距離が最小になるように出力色域表面に貼り付けても良い。また、出力色域内の色を完全に保存する必要もなく、出力色域内、色域外ともに好ましい色にマッピングするようにマッピングしても良い。また、第１の色空間の色値と第２の色空間の色値とを対応付ける変換マトリックスを用いたマスキング手法を用いても良い。
【０１２３】
また、上述した各実施形態で示した各構成は、本発明の趣旨を逸脱しない限り、互いに組み合わせることが可能である。
【０１２４】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２５】
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。
【０１２６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【０１２８】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【０１２９】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【０１３０】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【０１３１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図１】
2011205716.tif 000013
【図２】
2011205716.tif 000014
【図３】
2011205716.tif 000015
【図４】
2011205716.tif 000016
【図５】
2011205716.tif 000017
【図６】
2011205716.tif 000018
【図７】
2011205716.tif 000019
【図８】
2011205716.tif 000020
【図９】
2011205716.tif 000021
【図１０】
2011205716.tif 000022
【図１１】
2011205716.tif 000023
【図１２】
2011205716.tif 000024
【図１３】
2011205716.tif 000025
【図１４】
2011205716.tif 000026
【図１５】
2011205716.tif 000027
【図１６】
2011205716.tif 000028
【図１７】
2011205716.tif 000029
【図１８】
2011205716.tif 000030
【図１９】
2011205716.tif 000031
【図２０】
2011205716.tif 000032
【図２１】
2011205716.tif 000033
【図２２】
2011205716.tif 000034
【図２３】
2011205716.tif 000035
【図２４】
2011205716.tif 000036
【図２５】
2011205716.tif 000037
【図２６】
2011205716.tif 000038