(57)【要約】【課題】  異なる補間アルゴリズムの色変換結果の混合割合を決定する際に、デバイスの性質、特に隣接するまたは近傍の標本点同士の幾何学的な関係に着目することで、線形性が強いエリアでも非線形性が強いエリアでもデバイスによらないで自動的に色再現性を向上させることにある。【解決手段】  異なる補間アルゴリズムを用いて、変換テーブルを用いた色変換を行う複数の色変換手段と、前記色変換手段の重み付けを設定する重み付け手段と、前記色変換手段の重み付けを最適化する重み付け最適化手段と、前記重み付け手段により算出された重み付けを用いて、前記複数の色変換手段によって得られた複数の色変換結果を混合する混合手段とを有することを特徴とする。【選択図】  図５
2008271103.tif 000002
【特許請求の範囲】
【請求項１】
異なる補間アルゴリズムを用いて、変換テーブルを用いた色変換を行う複数の色変換手段と、
前記色変換手段の重み付けを設定する重み付け手段と、
前記色変換手段の重み付けを最適化する重み付け最適化手段と、
前記重み付け手段により算出された重み付けを用いて、前記複数の色変換手段によって得られた複数の色変換結果を混合する混合手段とを有することを特徴とする色変換装置。
【請求項２】
前記複数の色変換手段における補間アルゴリズムは線形補間および非線形補間であることを特徴とする請求項１記載の色変換装置。
【請求項３】
さらに、複数の色変換手段を初期化する初期化手段を有し、
前記初期化手段は、前記複数の色変換手段を初期化する際に、前記色変換手段毎に同じ初期化データを用いて初期化することを特徴とする請求項１記載の色変換装置。
【請求項４】
さらに、複数の色変換手段を初期化する初期化手段を有し、
前記初期化手段は、前記色変換手段毎に異なる初期化データによって初期化することを特徴とする請求項１記載の色変換装置。
【請求項５】
前記色変換手段と、前記重み付け手段は、同一のアルゴリズムであることを特徴とする請求項１記載の色変換装置。
【請求項６】
さらに、前記重み付け手段を初期化する重み付け初期化手段を有し、
前記重み付け初期化手段は、前記重み付け手段に対し、任意の格子点間隔の格子点上に重み付けを定義することを特徴とする請求項１記載の色変換装置。
【請求項７】
前記複数の色変換手段における補間アルゴリズムは線形補間および非線形補間であり、
前記重み付け手段は、グレー部分は線形補間を補間アルゴリズムとする前記色変換手段の重み付けを高くし、グレー以外の部分は非線形補間を補間アルゴリズムとする前記色変換手段の重み付けを高くすることを特徴とする請求項１記載の色変換装置。
【請求項８】
前記重み付け最適化手段は、格子点の幾何学的な関係を算出することを特徴とする請求項１から請求項７記載の色変換装置。
【請求項９】
前記重み付け最適化手段は、格子点の幾何学的な関係のうち、角度を算出することを特徴とする請求項８記載の色変換装置。
【請求項１０】
前記重み付け最適化手段は、格子点の幾何学的な関係のうち、距離を算出することを特徴とする請求項８記載の色変換装置。
【請求項１１】
前記重み付け最適化手段は、格子点の幾何学的な関係のうち、体積を算出することを特徴とする請求項８記載の色変換装置。
【請求項１２】
前記重み付け最適化手段は、格子点の幾何学的な関係を算出して、算出した結果に基づいて重み付けを最適化することを特徴とする請求項８から請求項１１記載の色変換装置。
【請求項１３】
異なる補間アルゴリズムを用いて、変換テーブルを用いた色変換を行う複数の色変換工程と、
前記色変換工程の重み付けを設定する重み付け工程と、
前記色変換手段の重み付けを最適化する重み付け最適化工程と、
前記重み付け工程により算出された重み付けを用いて、前記色変換工程によって得られた複数の色変換結果を混合するする混合工程とを有することを特徴とする色変換方法。
【請求項１４】
請求項１３記載の色変換方法をコンピュータを用いて実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テーブルを用いた色変換に関する。
【背景技術】
【０００２】
今日、コンピュータの発達と共にデジタル画像データがごく一般的に流通している。デバイス間のカラー表現の差異を配慮して、入力画像データを使用デバイスに適切な色信号に変換するカラーマッチングが、知られている。
【０００３】
図２１の概念図を用いて従来のカラーマッチングについて説明する。入力データ（ＲＧＢデータ）は、入力プロファイル１０１によりデバイスに依存しない色空間のＸＹＺデータに変換される。出力デバイスの色再現範囲外の色は出力デバイスにより再現することができない。よって、変換されたＸＹＺデータを出力デバイスの色再現範囲内にマッピングする色空間圧縮を行う。そして、色空間圧縮が施されたデータはデバイスに依存しない色空間から出力デバイスに依存する色空間のＣＭＹＫデータへ変換される。
【０００４】
カラーマッチングにおいて基準白色点および環境光は固定されている。例えば、Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｌｏｒ  Ｃｏｎｓｏｒｔｉｕｍ（ＩＣＣ）によって規定されるプロファイルでは、Ｐｒｏｆｉｌｅ  ＣｏｎｎｅｃｔｉｏｎＳｐａｃｅ（ＰＣＳ）がＤ５０基準のＸＹＺ値およびＬａｂ値である。このため、入力原稿やプリント出力はＤ５０の光源下で観察する場合に正しい色再現が保証されるが、その他の光源下では正しい色再現が保証されない。
【０００５】
このような従来のカラーマッチング処理の問題点を解決するために、環境光などの観察条件に関わらず良好なカラーマッチングを行うことを可能とするものがある（特許文献１）。
【０００６】
特許文献１に記載されている方法は、図２１を用いて説明した従来のカラーマッチング方法と比して、変換段階が明示的に分離されている。
【０００７】
このカラーマネージメントシステムによれば、スキャナ−プリンタシステムあるいはモニタ−プリンタシステムなど幅広く柔軟に対応できる。例えばデスクトップ・パブリッシング（ＤＴＰ）システムでは、ソース側プロファイルにモニタプロファイルを指定し、ディスティネーション側プロファイルにプリンタプロファイルを指定すれば、モニタ上のカラー画像とプリンタ出力画像との知覚的一致がはかられる。
【０００８】
ここで、知覚的一致の良否はプロファイルに左右されるため、デバイスディペンデントカラーとＰＣＳ空間での色とが正確に対応付けられたプロファイルを作成することが重要である。そのためには、デバイスディペンデントカラーを実際に印字／表示した際の物理刺激値を推定する、色推定を正確に行わねばならない。
【０００９】
例えば従来の色推定技術として、パッチ測色値と補間とを用いるテーブル型の色推定技術が存在する。線形補間として、四面体補間や立方体補間、三角柱補間など様々な補間方法が提案されている。また、非線形補間として、スプライン補間など様々な補間方法が提案されている。
【００１０】
また、色推定を行う際に、入力色データが特定単位立体に含まれる場合とそうでない場合で、補間方法や格子点の間隔をかえる方法が提案されている（特許文献２）。
【００１１】
特許文献２に記載の方法では、例えば肌色や空色等の重要色を含む一つ以上の特定単位立体を設定することができ、重要色の色変換精度を向上することが可能となっている。また、無彩色を含む複数の特定単位立体を設定することで、グレーの色再現性の向上が可能となっている。
【００１２】
また、入力色成分がＹＭＣＫで出力色成分がＹ’Ｍ’Ｃ’Ｋ’であるような色推定を行う際に、色成分Ｙ’を算出する際は非線形補間を行い、その他の成分に対しては線形補間を行う方法も提案されている。（特許文献３）。
【００１３】
しかしながら、特許文献２の方法では、特定単位立体と特定単位立体外の境界面で不連続性が生じ、階調性に悪い影響を与える恐れがある。入力値のＲＧＢ値が２５６段階のデジタル信号（例えば、０〜２５５の整数値）である場合は、入力値が整数値という離散値をとるため、境界面での不連続性が問題となる可能性は少ない。しかし、入力値が浮動小数点をとる場合は、境界面での不連続性が影響をおよぼし、階調性が悪くなる可能性が高い。
【００１４】
特定単位立体と特定単位立体外の補間方法が異なる場合、特に線形補間と非線形補間のように大きく性質が異なる場合、２つの補間方法の補間結果は入力値に対して異なる。つまり、入力値が境界面であっても補間結果は異なり、そこで不連続性が生じることは明らかである。同様に格子点間隔を変えた場合、両者の補間方法が同じでも、片方の格子点上の実測値ともう片方の補間結果が異なる場合は当然不連続性が生じる。
【００１５】
また、特許文献３に記載された方法は、入力色空間と出力色空間が同じ種類の場合には有効である。しかし、デバイスディペンデントカラーとＰＣＳ空間での色推定の場合、例えばＲＧＢ空間からＬａｂ空間での色推定の場合は、入力色空間と出力色空間が異なる。よって、うまく適用できないという問題がある。
【００１６】
これらの問題を解決するための、本出願人は、特願２００６−２１４５２８号において、図２７にあるような構成の色変換装置を提案している。図２７にある色変換装置によれば、色推定アルゴリズムとして、デバイスの特性を良く近似できる非線形補間を使用し、かつグレー付近などの線形性が高い部分のみに線形補間を使用する。よって、非線形補間だけを使用した場合における補間結果のグレー軸のゆがみの問題を解消することができる。さらに、非線形補間により色空間全域にわたる色再現性の向上、および線形補間によりグレー軸の色再現性を向上させることを、階調性を保ちながら実現することができる。また、色空間上で部分的に格子点間隔を細かく設定したり、補間方法をかえたりすることで、全体的なパフォーマンスと階調性は保ちつつ、肌色や空色など色空間上で任意に指定する領域の色再現性を向上させることができる。
【特許文献１】特開２００２−２８１３３８号公報
【特許文献２】特開平１０−１３６２１６号公報
【特許文献３】特開平１０−２６１６８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
図２９は、あるデバイスのＬ＊ａ＊ｂ＊色空間上での等色相ラインをａ−ｂ平面にプロットした図であり、ある明度における色相ラインを示す。イエロープライマリーカラー２９０１は、ある明度におけるイエローのプライマリカラーを表す。マゼンタプライマリーカラー２９０２は、ある明度におけるマゼンタのプライマリカラーを表す。シアンプライマリーカラー２９０３は、ある明度におけるシアンのプライマリカラーを表す。無彩色（グレー）２９０４は、ある明度における無彩色（グレー）を表す。無彩色（グレー）２９０４から各プライマリーカラーへの実線が等色相ラインである。イエローの等色相ラインは他のラインに比べて線形性が強く、マゼンタの等色相ラインは他と比べて中位の線形性で、シアンの等色相ラインが最も非線形性が強い。また、色相によっては彩度が上がるにつれて非線形性が高くなる特徴がある。また、図示していないが非線形性の度合いや非線形性が強く表れる色域上でのエリアはデバイスにより異なる。
【００１８】
しかし、特願２００６−２１４５２８号の方法では、グレー軸付近以外の色空間全域においては、線形性が強いエリアも非線形性が強いエリアも区別していなかった。
【００１９】
非線形性が強いエリアで線形補間を行うとデバイスの性質を忠実に推定できなために色再現性が低下する。また、線形性が強いエリアで非線形補間を行うと補間結果がＬ＊ａ＊ｂ＊色空間上でゆがむリスクが高くなりその結果色再現性が低下する。
【００２０】
よって、特願２００６−２１４５２８号の方法では、グレー軸付近以外の色空間全域において、単純に非線形補間の割合を強くすると、線形性が強いエリアの色再現性が悪くなってしまう。一方、単純に線形補間の割合を強くすると、非線形性が強いエリアの色再現性が悪くなってしまう。
【００２１】
本発明の目的は、異なる補間アルゴリズムの色変換結果の混合割合を決定する際に、デバイスの性質、特に隣接するまたは近傍の標本点同士の幾何学的な関係に着目することで、線形性が強いエリアでも非線形性が強いエリアでもデバイスによらないで自動的に色再現性を向上させることにある。
【課題を解決するための手段】
【００２２】
上述の目的を達成するために、本発明は、異なる補間アルゴリズムを用いて、変換テーブルを用いた色変換を行う複数の色変換手段と、前記色変換手段の重み付けを設定する重み付け手段と、前記色変換手段の重み付けまたは重み付けの代表値を最適化する重み付け最適化手段と、前記重み付け手段により算出された重み付けを用いて、前記複数の色変換手段によって得られた複数の色変換結果を混合する混合手段とを有することを特徴とする。
【発明の効果】
【００２３】
本発明によれば、標本点データを元に標本点同士の幾何学的な関係を算出することにより、色空間上のエリア毎に異なるデバイスの性質を判定して該当するエリアに最適な各補間方法の割合を算出することが可能となる。
【００２４】
その結果、異なる性質をもつデバイスに対しても、該当するデバイスに最適な各補間方法の割合を算出することが可能となり、デバイスの性質によらず自動的に色域全域にわたり色再現性が向上するという効果がえられる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図面に基づき説明する。
【００２６】
＜色知覚モデルを用いたカラーマッチングの処理＞
図１は、本実施例における、色知覚モデルを用いたカラーマッチングの処理の概念を説明する概念図である。図１において、１０１は入力デバイスに依存する色信号を、入力側の環境光の白色点基準に基づくデバイスに依存しない色空間データへ変換するための変換マトリクスまたは変換ルックアップテーブル（ＬＵＴ）である。１０４および１０５は入力観察条件（Ｄ５０光源の白色点、照度レベル、周囲光の状態など）に基づいて人間の知覚信号ＪＣＨまたはＱＭＨへ変換を行う色知覚モデル順変換部である。１０６および１０７は出力観察条件（Ｄ６５光源の白色点、照度レベル、周囲光の状態など）に基づいて人間の知覚信号ＪＣＨまたはＱＭＨよりデバイスに依存しない色信号であるＸＹＺ信号へ変換する色知覚モデル逆変換部である。１０８は、出力側の環境光の白色点基準に基づくデバイスに依存しない色空間データより出力デバイスに依存する色信号へ変換するための変換マトリクスまたは変換ルックアップテーブル（ＬＵＴ）である。１０２、１０３は入力色空間値を出力デバイスの色再現範囲に応じて色空間値に変換を行う色空間変換部である。
【００２７】
ＲＧＢまたはＣＭＹＫの入力色信号は、変換ＬＵＴ１０１により入力デバイスの色信号から入力観察条件におけるデバイスに依存しない色信号であるＸＹＺ信号へ変換される。次に、ＸＹＺ信号は、色知覚モデル順変換部１０４および１０５により観察条件１（Ｄ５０光源の白色点、照度レベル、周囲光の状態など）に基づいて人間の知覚信号ＪＣＨまたはＱＭＨへ変換される。相対的カラーマッチングの場合はＪＣＨ空間が、絶対的カラーマッチングの場合はＱＭＨ空間がそれぞれ選択される。
【００２８】
色知覚信号ＪＣＨおよびＱＭＨは色空間変換部１０２または１０３により出力デバイスの色再現範囲内へ圧縮される。色空間圧縮された色知覚信号ＪＣＨおよびＱＭＨは、色知覚モデル逆変換部１０６および１０７により、出力観察条件（Ｄ６５光源の白色点、照度レベル、周囲光の状態など）に基づいて出力観察条件におけるデバイスに依存しない色信号であるＸＹＺ信号へ変換される。そして、ＸＹＺ信号は変換ＬＵＴ１０６により出力デバイスに依存する色信号へ変換される。
【００２９】
以上の処理によって得られたＲＧＢまたはＣＭＹＫ信号は出力デバイスへ送られて、その色信号によって示される画像が出力される。出力結果であるプリント物あるいは画面表示は出力観察条件下で観察すれば、入力観察条件下で観察されるオリジナル原稿と、同じ色味に見える。
【００３０】
なお、一般に観察条件における環境光の白色点は、カラーターゲットやカラーパッチなどの色票を測色した際の標準光源の白色点とは異なる。例えば、測色の際に使用される標準光源はＤ５０やＤ６５であるが、実際に画像を観察する場合の環境光はライトブースのＤ５０やＤ６５とは限らず、白熱電球や蛍光灯などの照明光や、照明光と太陽光とが混合した光になる場合が多い。以下の説明では、簡単化のために、観察条件における環境光の光源特性をＤ５０、Ｄ６５およびＤ９３とするが、実際にはメディア上の白色点のＸＹＺ値を白色点として設定する。
【００３１】
＜機能構成＞
図２は本発明の実施形態の一例であるカラーマッチングモジュールの機能構成を示すブロック図である。本図においては、図１と等価な構成は同一符号を用いている。
【００３２】
２０１は、変換ＬＵＴ１０１を用いて、入力デバイスに依存する色信号（ＲＧＢやＣＭＹＫ）をデバイスに依存しない色空間データ（ＸＹＺ）へ変換を行う入力変換部である。入力変換部２０１は、デバイス情報より測色値を取得し変換ＬＵＴを生成する機能、ならびに前記入力観察条件を色知覚モデル順変換部１０４（１０５）へ提供する機能を有する。デバイス情報は、デバイス色信号とデバイスに依存しない色空間データ（ＸＹＺ）の対応関係を示す情報である。
【００３３】
２０２は、変換ＬＵＴ１０８を用いて、デバイスに依存しない色空間データ（ＸＹＺ）を出力デバイスに依存する色信号（ＲＧＢやＣＭＹＫ）へ変換する出力変換部である。出力変換部２０２は、デバイス情報から変換ＬＵＴを生成する機能、出力観察条件を色知覚モデル逆変換部順変換部１０６（１０７）へ提供する機能、および出力デバイス色再現領域を色空間変換部１０２（１０３）へ提供する機能を有する。
【００３４】
なお、本実施例において、デバイスに応じた処理の切り替えや上記説明した機能以外の拡張機能などを提供することが可能となるように、入力変換部２０１、出力変換部２０２はプラグイン（デバイスプラグイン）で提供される。
【００３５】
また、色空間の圧縮方法（ＩＣＣのレンダリングインテントに相当）に応じた切り替え等に応ずる事が可能となるように、色空間変換部１０２（１０３）も色空間変換プラグインで提供される。
【００３６】
デバイス情報２０３は、前記入力変換部２０１および出力変換部２０２に対して事前に測定したデバイス色信号とデバイスに依存しない色空間データ（ＸＹＺ）の対応関係ならびに観察条件を示す。
【００３７】
デバイス情報管理部２０４は、デバイス情報の格納場所の管理を行う。
【００３８】
入出力・色空間変換管理部（プラグイン管理部）２０５は、デバイスプラグイン、色空間変換プラグインのバージョン、格納場所の管理を行う。
【００３９】
デバイス・ＣＡＭキャッシュ管理部２０６は、「入力変換部２０１あるいは出力変換部２０２において生成された変換ＬＵＴ１０１、１０８」、「色知覚モデル順変換部１０４（１０５）あるいは色知覚モデル逆変換部１０６（１０７）で生成されたＣＡＭテーブル、ＣＡＭ−１テーブルを管理する。さらに、デバイス・ＣＡＭキャッシュ管理部２０６は、変換ＬＵＴ１０１、１０８の生成条件ならびＣＡＭテーブル、ＣＡＭ−１テーブルの生成条件を管理する。デバイス・ＣＡＭキャッシュ管理部で管理されているデータを使用することにより、各変換処理の作成処理を省略することができ、カラーマッチングの高速化を行うことが可能となる。
【００４０】
なお、本実施例においては、ＣＡＭテーブル、ＣＡＭ−１テーブルをデバイスプラグインならびにデバイス情報と関連付けている。ＣＡＭテーブル、ＣＡＭ−１テーブルは、ＸＹＺとＪＣｈ空間の対応は観察条件（光源の白色点、照度レベル、周囲光の状態など）と対応していれば良いので、ＣＡＭテーブル、ＣＡＭ−１テーブルを観察条件と関連付けて管理することも可能である。
【００４１】
また、入力・出力デバイスプラグイン、入力・出力デバイス情報ならびに色空間変換プラグインの組み合わせに対応させてＬＵＴ（システムキャッシュ）を生成し格納する。
【００４２】
システムキャッシュ作成部２０７は、システムキャッシュの作成を行うである。
【００４３】
システムキャッシュ管理部２０８は、システムキャッシュ作成部において作成されたシステムキャッシュの管理を行う。
【００４４】
サンプル画２０９はシステムキャッシュの生成やプレビューに用いるために使用される。
【００４５】
入力結合処理部２１０は、システムキャッシュを用いてカラーマッチング処理を行う。
【００４６】
履歴管理部２１１は、使用した入力デバイスプラグイン、出力デバイスプラグイン、入出力デバイス情報ならびに色空間変換プラグインの組み合わせをカラーマッチング履歴として管理する。
【００４７】
制御部２１２は、上記各構成の管理し、外部からのカラーマッチング指示を受け付け、カラーマッチング処理の実行を制御する。
【００４８】
インストール制御部２１３は、デバイス情報、デバイスプラグイン、色空間変換プラグインのインストールの制御を行う。
【００４９】
＜装置の構成＞
図３は図２に示される機能構成を実現する装置の構成例を示すブロック図である。図３に示すような装置は、例えばパーソナルコンピュータのような汎用のコンピュータ装置に、図２に示す機能を実現するソフトウェアを供給することによって実現することができる。その場合、本実施形態の機能を実現するソフトウェアは、コンピュータ装置のＯＳ（基本システム）に含まれていても構わないし、ＯＳとは別に例えば入出力デバイスのドライバソフトウェアに含まれていても構わない。
【００５０】
ＣＰＵ３０１は、ＲＯＭ３０２およびハードディスク（ＨＤ）３０７などに格納されたプログラムに従い、ＲＡＭ３０３をワークメモリに利用して、装置全体の動作を制御する。さらにＣＰＵ３０１は、上述したカラーマッチングに関連する処理をはじめとする各種の処理を実行する。入力インタフェイス３０４は入力デバイス３０５を接続するためのインターフェースである。ハードディスクインタフェイス３０６はＨＤ３０７を接続するためのインターフェースである。ビデオインタフェイス３０８はモニタ３０９を接続する。出力インタフェイス３１０は出力デバイス３１１を接続するためのインターフェースである。
【００５１】
なお、入力デバイスには、ディジタルスチルカメラおよびディジタルビデオカメラなどの撮影機器、並びに、イメージスキャナおよびフィルムスキャナなどイメージリーダをはじめとする各種の画像入力機器が含まれる。また、出力デバイスには、ＣＲＴやＬＣＤなどのカラーモニタ、カラープリンタおよびフィルムレコーダなどの画像出力機器が含まれる。
【００５２】
また、インターフェースとして汎用のインターフェースが利用できる。その用途に応じて、例えば、ＲＳ２３２Ｃ、ＲＳ４２２、ＵＳＢおよびＩＥＥＥ１３９４などのシリアルインターフェース、並びに、ＳＣＳＩおよびセントロニクスなどのパラレルインターフェースが利用可能である。
【００５３】
本実施例では、カラーマッチングを行うためのデバイス情報やプラグイン他のプログラムはＨＤ３０７に格納されるが、ハードディスクに限らず、他の記憶媒体を用いても構わない。
【００５４】
＜データ構成＞
次に、図２に示されるカラーマッチング機能に関わる主要なデータ構成を、図４を用いて説明する。
【００５５】
なお、図４で説明する以外の項目も各データに含まれていても構わない。
【００５６】
図４は、デバイス情報ならびにデバイスプラグイン、色空間変換プラグインの模式図である。
【００５７】
４０１は、デバイス情報の模式図である。デバイス情報４０１は、変換ＬＵＴ１０１、１０８を生成するためのデバイス信号とデバイスに依存しない色空間の対応データ、ＣＡＭ変換テーブル、ＣＡＭ−１テーブルを生成するための観察条件、適用可能なデバイスプラグインを特定するためのプラグインを一意に特定するプラグインＩＤ、プラグインを制御するためのパラメタなどを格納するプライベートデータ等により構成される。デバイスプラグインＩＤを構成項目格納とされる理由としては、デバイスプラグインは入出力デバイスに応じてプラグインが提供されるため、測定デバイスに応じたデバイスプラグインを選定する必要があるためである。
【００５８】
４０２は、デバイスプラグインの模式図である。デバイスプラグイン４０２は、本実施例に用いるプラグインを一意に特定するためのプラグインＩＤ、プラグイン名称、改定履歴を管理するためのバージョン情報、適用可能なデバイスを特定するための適用可能デバイス情報、変換処理等の入力変換部２０１、出力変換部２０２における機能を実行するプログラムから構成される。プラグインＩＤは例えばＵＵＩＤなどを用いる。またデバイス情報は、ディジタルカメラ、プリンタといった一般的なデバイス分類や特定の機種など適用範囲を指定することが可能である。
【００５９】
４０３は、色空間変換プラグインの模式図である。色空間変換プラグイン４０３は、本実施例に用いるプラグインを一意に特定するためのプラグインＩＤ、プラグイン名称、改定履歴を管理するためのバージョン情報、レンダリングインテントに相当する色空間変換方法ならびに色空間変換部１０２（１０３）における機能を実行するプログラムより構成される。プラグインＩＤは、デバイスプラグインと同様に、例えばＵＵＩＤなどを用いる。
【００６０】
＜デバイス情報＞
図８、図９及び図２８は、図２に示したデバイス情報２０４（デバイス情報４０１）の一例である。デバイス情報には重み付け設定データおよび標本点データが含まれる。
【００６１】
図８における、「ＲＡＴＥ＝“ＧＲＡＹ”」は、後述する重み付け設定データ１１１１の一例である。
【００６２】
図９における、「ＲＡＴＥ＿０＿０＿０＝１」と「ＲＡＴＥ＿０＿０＿３２＝０」は、後述する重み付け設定データ１１１１の一例である。
【００６３】
図２８における、「ＲＡＴＥ＝”ＤＹＮＡＭＩＣ”」と「ＲＡＴＥ＿ＯＰＴＩＯＮ＝”ＩＮＣ＿ＪＥＴ＿ＰＲＩＮＴＥＲ”」と「ＲＡＴＥ＝“ＧＲＡＹ”」は、後述する重み付け設定データ１１１１の一例である。
【００６４】
図８、図９及び図２８における「ＤＡＴＡ＿ＳＴＡＲＴ」と「ＤＡＴＡ＿ＥＮＤ」で挟まれる部分は、デバイス色信号とデバイスに依存しない色空間データ（ＸＹＺ値）の対応値を示す標本点データ１１１０である。図８及び図９では、デバイス色信号としてＲＧＢ、デバイス依存しない色空間データとしてＸＹＺを用いている。
【００６５】
なお、重み付け設定データ１１１１は、図８、９、２８に示されるように標本点データと独立に管理されるのではなく、標本点データ列内で管理されても構わない。例えば、標本点データ列の最後に重み付け設定データを記述するようにしても構わない。
【００６６】
本実施例では、デバイス情報はテキスト形式で示されるが、ＸＭＬ形式など他の形式で示しても構わない。
【００６７】
＜入力変換部２０１の構成＞
図５は、図２に示した入力変換部２０１の構成例を示すブロック図である。図２７と図５の違いは、図５には重み付け最適化部１１０５があり図２７にはないことであり、図５における色変換装置の説明を後述しているため、ここでは図２７の説明は省略する。
【００６８】
本実施例では、変換部として、四面体補間を行う変換部（以下、変換部（四面体補間）と呼ぶ）およびスプライン補間を行う変換部（以下、変換部（スプライン補間））を有する例を用いて説明する。
【００６９】
まず、変換部で行われる四面体補間およびスプライン補間の処理について説明する。
【００７０】
（四面体補間）
変換部（四面体補間）１１０２で使用する四面体補間は、初期化部１１０１によって標本点データ１１１０から作成されたルックアップテーブル（図１０）を用いて、入力データ（ＲＧＢ）を出力データ（Ｌ＊ａ＊ｂ＊）に変換する。
【００７１】
ルックアップテーブル（ＬＵＴ）は、標本点データ（図１４、図１５）における「ＤＡＴＡ＿ＳＴＡＲＴ」と「ＤＡＴＡ＿ＥＮＤ」で挟まれた部分に記述されているデバイス色信号（ＲＧＢ）とデバイスに依存しない色空間データ（ＸＹＺ）の対応値から作成される。具体的には、標本点データのＸＹＺ値を所定式に基づきＬ＊ａ＊ｂ＊値に変換する。次に、ＬＵＴの格子点のＲＧＢ値に対応する標本点データから選択し、選択された標本点データのＬ＊ａ＊ｂ＊値を格納することにより、ＬＵＴは作成される。
【００７２】
例えば、Ｌ＊ａ＊ｂ＊変換後の標本点データが図７に示されるような場合は、図１０に示されるような５＊５＊５の格子点を有するＲＧＢ→Ｌ＊ａ＊ｂ＊＿ＬＵＴが作成される。
【００７３】
変換部（四面体補間）１１０２は、入力データが含まれる四面体領域を構成する四頂点に対応する格子点データを用いて線形補間処理を行う。四面体領域は、図１１に示されるように、隣接する八つの色で囲まれる六面体領域を、六つに分割したものである。本実施例では、Ｒ＝Ｇ＝Ｂの軸を基準に六面体領域を六つの四面体領域に分割している。したがって、本実施例の変換部（四面体補間）１１０２では、グレイを高精度に再現することができる。
【００７４】
（スプライン補間）
変換部（スプライン補間）１１０２で使用するスプライン補間について説明する。
【００７５】
本実施例のＢ−スプライン体は、次の区分的多項式を基底関数とする多重総和演算式で定義される。
λ＝ΣｉΣｊΣｋｃλｉｊｋＮｒｉ（ｒｒ）Ｎｇｊ（ｇｇ）Ｎｂｋ（ｂｂ）
ａ＝ΣｉΣｊΣｋｃａｉｊｋＮｒｉ（ｒｒ）Ｎｇｊ（ｇｇ）Ｎｂｋ（ｂｂ）
ｂ＝ΣｉΣｊΣｋｃｂｉｊｋＮｒｉ（ｒｒ）Ｎｇｊ（ｇｇ）Ｎｂｋ（ｂｂ）
ここで、ｒｒ、ｇｇ、ｂｂはＲＧＢ値
λ、ａ、ｂはＬ＊ａ＊ｂ＊値
ＮｒはＲ軸方向での基底関数
ＮｇはＧ軸方向での基底関数
ＮｂはＢ軸方向での基底関数
ｃλｉｊｋ、ｃａｉｊｋ、ｃｂｉｊｋは係数
Ｎｒ、Ｎｇ、Ｎｂに付属するサフィクスｉ、ｊ、ｋはそれぞれの軸に対する
基底における基底関数番号
変換部（スプライン補間）は、多重総和演算式を用いて、入力データ（ＲＧＢ）を出力データ（Ｌ＊ａ＊ｂ＊）に変換する。
【００７６】
本実施例のスプライン補間によれば、図１５の模式図に示すように、ＲＧＢ値に対するＬ＊ａ＊ｂ＊値の変化を滑らかに表現することができる。なお、図１５はスプライン補間の算出結果をＬ＊ａ＊ｂ＊空間における分布として表現したものである。図１５に示す軸以外の線は、ＲＧＢ値の何れか一つが変化した際のＬ＊ａ＊ｂ＊値の変化の軌跡を表す。
【００７７】
図１３に、初期化部１１０１で行われるＢ−スプライン体の係数および基底関数の算出処理を説明するフローチャートを示す。標本データとして図７を用いた場合を説明する。
【００７８】
まず、標本点データからＲＧＢ値とＬ＊ａ＊ｂ＊値との対応関係を取得する（Ｓ１８０１）。以後、ＲＧＢ値とＬ＊ａ＊ｂ＊値の対応データを、ｉ番目の編集色のＲＧＢ値をｒｒｉ、ｇｇｉ、ｂｂｉ、Ｌ＊ａ＊ｂ＊値をλｉ、ａｉ、ｂｉと説明する。
【００７９】
標本点データにおいて、Ｒ値とＧ値が０のときのＢ値の並びをＢ値のステップと呼ぶ。図７におけるＢ値のステップは（０、６４、１２８、１９２、２５５）であり、Ｂ値はステップ値以外はとらない。同様に、Ｒ値、Ｇ値のステップも同じステップ（０、６４、１２８、１９２、２５５）である。
【００８０】
次に、図７に示される標本点データから、Ｒ／Ｇ／Ｂ値のステップに基づいて基底関数を算出し、記憶する（Ｓ１８０２）。基底関数の算出には、一般的なＤｅＢｏｏｒ−Ｃｏｘのアルゴリズムを用いる。Ｒ／Ｇ／Ｂ値のステップが同一であり、基底関数Ｎｒ、Ｎｇ、Ｎｂが何れも三位のＢ−スプライン基底である場合は、何れの基底関数も図１４に示すようなξ０〜ξ３の四節点の基底関数になる。なお、図１４はＲ軸の基底関数Ｎｒを示している。以下、基底関数は何れも三位のＢ−スプライン基底であるとして説明する。
【００８１】
次に、算出した基底関数と、ＲＧＢ値とＬ＊ａ＊ｂ＊値との対応関係とを用いて、ＬＵ分解によって、行列方程式ｆ＝ＭＣをλ＊成分、ａ＊成分、ｂ＊成分それぞれについて解くことにより、各係数を算出する。
【００８２】
以下、上記方程式による係数算出について詳しく説明する。
【００８３】
まず、行列Ｍのｓ行ｔ列成分ｍｓｔを次のように算出する。
ｍｓｔ＝Ｎｒｉ（ｒｒｓ）Ｎｇｊ（ｇｇｓ）Ｎｂｋ（ｂｂｓ）
ここで、ｔ＝２５（ｉ−１）＋５（ｊ−１）＋ｋ
ｉ、ｊ、ｋは１から５までの整数
なお、ｔとｉ、ｊ、ｋの関係は、節点数と基底関数の位数によって変化する。例えば三位Ｂ−スプライン基底であり、六節点である場合はｔ＝４９（ｉ−１）＋７（ｊ−１）＋ｋという関係になる。
【００８４】
次に、係数ｃλｉｊｋ、ｃａｉｊｋ、ｃｂｉｊｋそれぞれの算出について説明する。
【００８５】
まず、係数ｃλｉｊｋを算出するために、次の行列方程式をＬＵ分解を用いて解く。
ｆλ＝［λ１，λ２，…，λ１２５］
ｃλ＝［ｃλ１１１，ｃλ１１２，…，ｃλ１１５，ｃλ１２１，…，ｃλ１５５，ｃλ２１１，…，ｃλ５５４，ｃλ５５５］
ｆλ＝Ｍ・ｃλ
【００８６】
次に、係数ｃａｉｊｋを算出するために、次の行列方程式をＬＵ分解を用いて解く。
ｆａ＝［ａ１，ａ２，…，ａ１２５］
ｃａ＝［ｃａ１１１，ｃａ１１２，…，ｃａ１１５，ｃａ１２１，…，ｃａ１５５，ｃａ２１１，…，ｃａ５５４，ｃａ５５５］
ｆａ＝Ｍ・ｃａ            …（４）
【００８７】
次に、係数ｃｂｉｊｋを算出するために、次の行列方程式をＬＵ分解を用いて解く。
ｆｂ＝［ｂ１，ｂ２，…，ｂ１２５］
ｃｂ＝［ｃｂ１１１，ｃｂ１１２，…，ｃｂ１１５，ｃｂ１２１，…，ｃｂ１５５，ｃｂ２１１，…，ｃｂ５５４，ｃｂ５５５］
ｆｂ＝Ｍ・ｃｂ            …（５）
そして、算出した係数を記憶する（Ｓ１８０４）。
【００８８】
以上で算出されたＢ−スプライン体を用いることで、図１５に示すように、ＲＧＢ値に対するＬ＊ａ＊ｂ値の変化を滑らかに表現することができる。なお、図１５はＢ−スプライン体の算出結果をＬ＊ａ＊ｂ＊空間における分布として表現したもので、図１５に示す軸以外の線は、ＲＧＢ値の何れか一つが変化した際のＬ＊ａ＊ｂ＊値の軌跡を表す。
【００８９】
上記実施例では、Ｒ／Ｇ／Ｂ値のステップが同一の（０、６４、１２８、１９２、２５５）の場合を説明したが、異なっていてもかまわない。例えば、Ｒ値とＧ値のステップの数は５でステップが（０、６４、１２８、１９２、２５５）の場合に、Ｂ値のステップの数は９でステップが（０、３２、６４、９６、１２８、１４４、１９２、２２４、２５５）であってもかまわない。
【００９０】
＜Ｓｏｌｉｄ表現における、Ｂ−Ｓｐｌｉｎｅ基底関数の他の区分多項式での置き換え＞
上記実施例では、Ｓｏｌｉｄ表現における基底関数としてＢ−Ｓｐｌｉｎｅ  を用いて説明した。しかしながら、基底関数としてはＲａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ、Ｎｏｎ  Ｕｎｉｆｏｒｍ  Ｒａｔｉｏｎａｌ  Ｂ−Ｓｐｌｉｎｅ、Ｂｅｚｉｅｒ、Ｒａｔｉｏｎａｌ  Ｂｅｚｉｅｒ等、あらゆる区分的関数を用いることが出来る。
【００９１】
＜Ｓｏｌｉｄ表現における各基底の節点数＞
上記実施例では、各基底の節点数が同一であるとして説明した。しかしながら容易に推測できるように、基底毎に節点数を変更することも可能である。
【００９２】
＜推定する色の次元数＞
前記実施例では、いずれもＲＧＢ三次元よりＬ＊ａ＊ｂ＊三次元を算出していた。しかしながら、推定する色の次元数になんら拘束は無い。
【００９３】
＜Ｓｏｌｉｄ表現の拡張＞
前記実施例では、推定元の色空間としてＲＧＢ三次元によるＳｏｌｉｄ表現を用いてきた。しかしながら、この推定元の色空間の次元数になんら拘束は無い。
【００９４】
以下、図５および図６を用いて、入力変換部２０１の構成および処理手順を説明する。
【００９５】
ステップＳ２００１では、初期化部１１０１が変換部初期化データ１１１６と重み付け部初期化データ１１１７を作成し、変換部１１０２および重み付け部１１０３を初期化する。
【００９６】
初期化部１１０１は、デバイス情報から標本点データ１１１０および重み付け設定データ１１１１を取得する。そして、初期化部１０１は、変換部（四面体補間）のための変換部初期化データ１１１６と、変換部（スプライン補間）のための変換部初期化データ１１１６を作成する。
【００９７】
変換部（四面体補間）のための変換部初期化データ（四面体補間）は、図１０に示されるルックアップテーブルである。変換部（スプライン補間）のための変換部初期化データ（スプライン補間）は、図１３の処理によって求められるＢ−スプライン体の計数値である。
【００９８】
さらに、初期化部１１０１は、重み付け部初期化データ１１１７を作成する。
【００９９】
重み付け部初期化データ１１１７の１例を、図１２に示す。図１２における、ＲＧＢ＿Ｒ、ＲＧＢ＿Ｇ、ＲＧＢ＿Ｂは、デバイス色信号であるＲＧＢ値のＲ値、Ｇ値、Ｂ値のそれぞれに相当する。ＲＡＴＥ１は変換部（四面体補間）の重みデータである。ＲＡＴＥ２は変換部（スプライン補間）の重みデータである。ＲＡＴＥは０以上、１以下の数が設定され、ＲＡＴＥ１とＲＡＴＥ２の合計が１になるように設定されている。
【０１００】
ここで、重み付け部初期化データ１１１７におけるＲＡＴＥの値は以下のように算出される。
【０１０１】
デバイス情報において、重み付け設定データ１１１１が、図８のように「ＲＡＴＥ＝“ＧＲＡＹ”」として記述されている場合は、以下のように重み付け部初期化データを作成する。Ｒ，Ｇ，Ｂの各値が同じ値つまりグレーの標本点に対しては、「ＲＡＴＥ１＝１、ＲＡＴＥ２＝０」を設定する。そして、Ｒ，Ｇ，Ｂの各値が同じ値でない標本点に対しては、「ＲＡＴＥ１＝０、ＲＡＴＥ２＝１」を設定する。図８の例によれば、グレイという特定の条件を満たす標本点に対して、簡単に重み付けデータを設定することができる。
【０１０２】
一方、重み付け設定データ１１１１が、デバイス情報において、図９のように指定されたＲＧＢ値に対して記述されている場合は、以下のように重み付け部初期化データを作成する。図９のように、指定されたＲＧＢに対して重み付け設定データが記載されている場合は、デバイス情報にて指定されていないＲＧＢに対する重み付けデータとして「ＲＡＴＥ１＝０．５、ＲＡＴＥ２＝０．５」を設定する。
【０１０３】
デバイス情報に記述されているＲＡＴＥ情報を抽出する。そして、ＲＡＴＥ情報にて指定されたＲＧＢ値のＲＡＴＥ１の値を、ＲＡＴＥ情報にて指定された値に設定する。例えば、「ＲＡＴＥ＿０＿０＿０＝１」を抽出した場合は、Ｒ＝０、Ｇ＝０、Ｂ＝０の標本点に対して、「ＲＡＴＥ１＝１、ＲＡＴＥ２＝０」を設定する。「ＲＡＴＥ＿０＿０＿３２＝０」を抽出した場合、Ｒ＝０、Ｇ＝０、Ｂ＝３２の標本点に対して、「ＲＡＴＥ１＝０、ＲＡＴＥ２＝１」を設定する。図９の例によれば、各標本点に対して個別に重み付けデータを設定することができる。この場合、特にグレーだけではなくて、任意の標本点に対して四面体補間の割合を設定することが可能となり柔軟性が向上する。例えば、図１２に示されるように各標本点における重み付けデータを設定することができる。
【０１０４】
さらに、重み付け設定データ１１１１が、デバイス情報において、図２８のように「ＲＡＴＥ＝”ＤＹＮＡＭＩＣ”」として記述されている場合は、次のように設定する。ＲＧＢ色空間上で隣接しているまたはその近傍にある標本点同士のＬ＊ａ＊ｂ＊色空間上での幾何学的な関係を用いて、重み付け部初期化データ１１１７を作成する。
【０１０５】
以下、図２２、２３、２４、２５、２６を用いて、図２８のように「ＲＡＴＥ＝”ＤＹＮＡＭＩＣ”」として記述されている場合における、重み付け最適化部１１０５での処理手順を説明する。
【０１０６】
ステップＳ２２０１では、重み付け最適化部１１０５が、標本点データ１１１０を元に幾何学的な関係（図２３、２４、２５）を算出する。図２３、２４、２５の「○印」は標本点であり、Ｌ＊ａ＊ｂ＊色空間上に標本点をプロットした図である。点線、二重線、実線はＲＧＢ色空間上で隣接する標本点を結ぶ線であり、隣接している関係を表す。点線は、ＲＧＢ色空間上で、Ｒ軸方向に隣接する関係であることを表す。二重線は、ＲＧＢ色空間上で、Ｇ軸方向に隣接する関係であることを表す。実線は、ＲＧＢ色空間上で、Ｂ軸方向に隣接する関係であることを表す。標本点同士のＬ＊ａ＊ｂ＊色空間上での幾何学的な関係の１つとして、図２４の角度θｂがあげられる。点線は標本点Ｃ、Ｂ２を通る直線であり、角度θｂはその点線と標本点Ｃ、Ｂ１を結ぶ直線との角度である。その他の幾何学的な関係としては、例えば、図２５の標本点Ｃ、Ｒ２、Ｂ２、ＢＲ２、Ｇ２、ＲＧ２、ＧＢ２、ＲＧＢ２の８点を結ぶ六面体の体積や、六面体を対角線で結ぶ標本点同士の距離や隣接する標本点同士の距離などがある。また、この六面体は、図１１と同様に六つの四面体領域に分割できるが、その四面体領域の体積なども幾何学的な関係である。これらの幾何学的な関係はデバイスの性質を表す指標となり、この指標に基づいてデバイスの性質を判断し最適な補間方法の重み設定することで、エリア毎に異なる最適な補間の割合を設定することが可能となる。例えば、図２４の角度θｂが大きい場合は非線形性が強く、０に近ければ線形性が強い。また、四面体領域や六面体領域の体積が小さい場合や、隣接する標本点の距離が０に近い場合などは、デバイスの性質を高精度に近似する非線形補間の効果は小さいと判断できる。逆に大きいと、非線形補間の効果が大きいと判断することも可能となる。
【０１０７】
ステップＳ２２０２では、重み付け最適化部１１０５が、ステップＳ２２０１において算出した幾何学的な関係を元に重み付け部初期化データ１１１７を算出する。図２４の角度θｂはＢ軸方向の標本点同士のなす角度であり、標本点Ｃに属する幾何学的な関係の１つである。同様にＲ軸方向、Ｇ軸方向の標本点同士の角度θｒ、θｇも、標本点Ｃに属する幾何学的な関係である。この時、標本点Ｃにおける重み付け部初期化データ１１１７を算出方法の一例を、図２６を用いて説明する。ステップＳ２６０１では、標本点Ｃに属する幾何学的な関係である角度θｒ、θｇ、θｂの最大値θｍａｘを算出する。ステップＳ２６０２では、最大値θｍａｘ＜１０度であるかを判定し、真であるならば、ステップＳ２６０３に進み、偽であるならば、ステップＳ２６０４に進む。ＲＡＴＥ１は変換部（四面体補間）の重みデータであり、ＲＡＴＥ２は変換部（スプライン補間）の重みデータである。ステップＳ２６０３では、標本点Ｃにおける重み付け部初期化データ１１１７の値を「ＲＡＴＥ１＝０．９、ＲＡＴＥ２＝０．１」に設定する。ステップＳ２６０４では、最大値θｍａｘ＜５０度であるかを判定し、真であるならば、ステップＳ２６０５に進み、偽であるならば、ステップＳ２６０６に進む。ステップＳ２６０５では、標本点Ｃにおける重み付け部初期化データ１１１７の値を「ＲＡＴＥ１＝０．５、ＲＡＴＥ２＝０．５」に設定する。ステップＳ２６０６では、標本点Ｃにおける重み付け部初期化データ１１１７の値を「ＲＡＴＥ１＝０．１、ＲＡＴＥ２＝０．９」に設定する。
【０１０８】
つまり、最大値θｍａｘが大きいときはデバイスの性質として非線形性が強いと判断し、変換部（スプライン補間）の重みＲＡＴＥ２を高くする。逆に、最大値θｍａｘが小さいときはデバイスの性質として線形性が強いと判断し、変換部（四面体補間）の重みＲＡＴＥ１を高くする。標本点Ｃが色域境界の場合は、色域の内側に隣接する標本点の重みや近傍の標本点に設定した重みを元に設定してもよいし、その他の方法を用いて設定してもよい。
【０１０９】
標本点Ｃに属する幾何学的な関係の１つである、標本点Ｃの近傍の四面体領域の体積に着目した場合の標本点Ｃにおける重み付け部初期化データ１１１７を算出方法の一例を、図３０を用いて説明する。ステップＳ２９０１では、標本点Ｃに隣接する最大２４個の四面体領域で最も体積が大きい四面体領域の体積である最大値Ｖｍａｘを算出する。ステップＳ２９０２では、最大値Ｖｍａｘ＜１００（Ｌ＊ａ＊ｂ＊色空間上での体積）であるかを判定し、真であるならば、ステップＳ２９０３に進み、偽であるならば、ステップＳ２９０４に進む。ステップＳ２９０３では、標本点Ｃにおける重み付け部初期化データ１１１７の値を「ＲＡＴＥ１＝０．９、ＲＡＴＥ２＝０．１」に設定する。ステップＳ２６０４では、最大値Ｖｍａｘ＜５００であるかを判定し、真であるならば、ステップＳ２９０５に進み、偽であるならば、ステップＳ２９０６に進む。ステップＳ２９０５では、標本点Ｃにおける重み付け部初期化データ１１１７の値を「ＲＡＴＥ１＝０．５、ＲＡＴＥ２＝０．５」に設定する。ステップＳ２９０６では、標本点Ｃにおける重み付け部初期化データ１１１７の値を「ＲＡＴＥ１＝０．１、ＲＡＴＥ２＝０．９」に設定する。
【０１１０】
つまり、最大値Ｖｍａｘが大きいときはデバイスの性質として非線形性が強い可能性が高いと判断し、変換部（スプライン補間）の重みＲＡＴＥ２を高くする。逆に、最大値Ｖｍａｘが小さいときはデバイスの性質として線形性が強い可能性が高いと判断し、変換部（四面体補間）の重みＲＡＴＥ１を高くする。
【０１１１】
他の実施の形態として、ステップＳ２６０２、ステップＳ２６０４、またはステップＳ２９０２、ステップＳ２９０４の条件を他の幾何学的な関係をパラメタに使用してもよい。また、条件分岐もステップＳ２６０２、ステップＳ２６０４、またはステップＳ２９０２、ステップＳ２９０４の２つ以外にあってもよいし、１つに減らしてもよい。ステップＳ２６０３、ステップＳ２６０５、ステップＳ２６０６、またはステップＳ２９０３、ステップＳ２９０５、ステップＳ２９０６で設定する割合は別の値でもかまわない。なお、標本点、角度、距離、体積などを引数にとり重み付け初期化データ１１１７を計算するような計算式になっていてもよい。
【０１１２】
また、ステップＳ２６０１、ステップＳ２９０１では、最大値を算出したが、平均値でも合計でも、その他の値でも、それらを組み合わせてもかまわない。
【０１１３】
例えば、図２６と図３０を組み合わせてもよい。また、標本点Ｃの近傍にある六面体領域の体積や、標本点Ｃと隣接する標本点との距離などの他の幾何学的な関係をパラメタしてもよいし、それら複数の幾何学的な関係を組み合わせてもよい。
【０１１４】
また、他の実施の形態では、色域のエリア毎にパラメタを独自に設定することで、エリアに固有の性質を反映することが可能となる。例えば、色相境界近傍のエリアでは、変換部（四面体補間）の重みが高めに算出されるようにパラメタを設定する。
【０１１５】
図２８のように、「ＲＡＴＥ＿ＯＰＴＩＯＮ＝”ＩＮＣ＿ＪＥＴ＿ＰＲＩＮＴＥＲ”」が「ＲＡＴＥ＝”ＧＲＡＹ”」と同時に記述されて場合には、次のように設定する。図２６のフローチャートに沿って求める重み付け部初期化データ１１１７によらずに、Ｒ，Ｇ，Ｂの各値が同じ値つまりグレーの標本点に対しては、「ＲＡＴＥ１＝１、ＲＡＴＥ２＝０」を設定する。そして、Ｒ，Ｇ，Ｂの各値が同じ値でない標本点に対しては、「ＲＡＴＥ１＝０、ＲＡＴＥ２＝１」を設定する。
【０１１６】
図２８のように「ＲＡＴＥ＿ＯＰＴＩＯＮ＝”ＩＮＣ＿ＪＥＴ＿ＰＲＩＮＴＥＲ”」が記述されている場合には、デバイスの基本特性がインクジェットプリンターであることを示している。よって、インクジェットプリンターの性質にあうような特別に設定するパラメタを使い、重み付け部初期化データ１１１７を算出する。このとき、図２８のように「ＲＡＴＥ＝”ＤＹＮＡＭＩＣ”」と同時に記述されている場合には、ステップＳ２６０２、ステップＳ２６０４に記載の１０度や５０度といった値をインクジェットプリンターのデバイスの性質に適切な値に変えるといったことが可能になる。
【０１１７】
ここまでは、重み付け最適化部１１０５が初期化部１１０１内にある場合を説明してきたが、別の実施の形態では、図５にあるように初期下部１１０１とは独立に構成される。この場合は、ステップＳ２２０２では、重み付け最適化部１１０５が、ステップＳ２２０１において算出した幾何学的な関係を元に重み付け部初期化データ１１１７を算出するかわりに次のように重み付けデータを作成する。図９のような、指定されたＲＧＢに対して重み付け設定データを記載している重み付け設定データ１１１１を作成する。
【０１１８】
ステップＳ２００２では、各変換部１１０２が入力データを変換するとともに、重み付け部１１０３が入力データに対応する重み付けデータを計算する。
【０１１９】
変換部（四面体補間）１１０２および変換部（スプライン補間）１１０２のそれぞれが、入力データ１１１２を変換する。そして、Ｌ＊ａ＊ｂ＊で示される変換データ（四面体補間）１１１３およびＬ＊ａ＊ｂ＊で示される変換データ（スプライン補間）を生成する。
【０１２０】
重み付け部１１０３は、入力データ１１１２に対応する重み付けデータ１１１４を算出する。
【０１２１】
重み付け部１１０３は、重み付け部初期化データ１１１７のデータを使用して内部にルックアップテーブル（ＬＵＴ）を作成する。例えば図１２に示す重み付け部初期化データ１１１７を用いた場合、ＲＧＢ値に対してＲＡＴＥ＿１およびＲＡＴＥ＿２を対応付けるＬＵＴを作成する。そして、この作成されたＬＵＴを用いた線形補間（例えば、四面体補間）により、入力データに対する重み付けデータ１１１４（ＲＡＴＥ１およびＲＡＴＥ２）を作成する。
【０１２２】
ステップＳ２００３では、変換データ（四面体補間）および変換データ（スプライン補間）を混合し、出力データを算出する。  混合部１１０４は、変換データ（四面体補間）および変換データ（スプライン補間）を、重み付けデータ（ＲＡＴＥ１、ＲＡＴＥ２）を用いて、以下のように、混合することにより出力データ１１１５を算出する。
出力データ＝ＲＡＴＥ１＊変換データ（四面体補間）＋ＲＡＴＥ２＊変換データ（スプライン補間）
そして、出力データ（Ｌ＊ａ＊ｂ＊）を所定の演算式を用いてＸＹＺに変換し、出力する。
【０１２３】
各変換部は異なる特徴を有している。本実施例によれば、入力データの色領域に適した特徴を有する変換部の重みを大きくすることができる。つまり、特定の色領域に適した色再現を実現することができる。そして、重みデータも重み付け部１１０３において補間処理されるので、重みデータも隣接の重みデータに基づき徐々に変化する。したがって、色領域全体において色の連続性を保つことができる。
【０１２４】
例えば、本実施例では、変換部において四面体補間を用いる変換部と、スプライン補間を用いる変換部とを有している。本実施例の四面体補間は、線形補間を用いるとともにグレー軸を基準として六つの四面体領域に分割しているので、グレーの再現性およびグレーの階調性にすぐれている。これに対して、スプライン補間は非線形補間であり、図１５に示されるように入力値に対する出力値の変化を滑らかに表現することができ、デバイスの性質を高精度に近似することができる。しかし、グレー軸に関しては、非線形補間を使用すると、軸をゆがんで補間してしまうことがありグレーの再現を低下させてしまう場合がある。
【０１２５】
よって、重み付け設定データを図８のように設定することにより、グレー軸付近は変換データ（四面体補間）の割合が１になり、グレー軸からはなれると変換データ（スプライン補間）の割合を大きくすることが実現できる。これにより、グレー軸付近での出力データ１１１５は、変換データ（四面体補間）の値に近くなり、グレー軸から離れるにつれて出力データは変換データ（スプライン補間）の値に近くすることができる。
【０１２６】
スプライン補間は非線形補間であり、一般的なデバイスの性質をよく近似して補間することが可能である。グレー軸に関しては、非線形補間を使用すると、軸をゆがんで補間してしまうことがある。図８によれば、グレー近辺を四面体補間とすることにより、グレーの色再現性を向上することが可能になる。なお、重み付けデータは補間により求めているので、色空間の中で重み付けは連続的に変わるため、出力データも連続的に変化し、階調性を保つことが可能となっている。
【０１２７】
よって、線形補間によりグレー軸の色再現性を向上させ、非線形補間により色空間全域にわたる色再現性の向上させることを、階調性を保ちながら実現することができる。
【０１２８】
また、標本点同士の幾何学的な関係を元にデバイスの性質を判断することにより、次のことを実現することができる。デバイスの非線形性が強いと判断したときには、その性質をよく近似して補間することが可能な非線形補間の重みを高くすることができ。そして、デバイスの線形性が強いときには、非線形補間によりゆがんで補間するリスクを減少させるために線形補間の重みを高くすることができる。
【０１２９】
それにより、デバイス毎に最適な重みデータを算出することが可能となり、線形性が強いエリアでも非線形性が強いエリアでもデバイスによらずに色再現性を向上させることが可能になる。
【０１３０】
＜出力変換部２０２の構成＞
出力変換部２０２は、入力変換部２０１と同様な処理を行う。出力変換部２０２において、入力変換部２０１と異なる点は、出力変換部２０２ではデバイス情報２０３を用いて、デバイスに依存しない色空間データをデバイス色信号に変換することである。これに基づき、初期化部１１０１において変換部初期化データを作成する処理が異なる。
【０１３１】
本実施例における特徴の１つである、重み付け部初期化データ１１１７の作成方法、変換部１１０２、重み付け部１１０３、混合部１１０４における処理は、入力変換部２０２と同様である。
【０１３２】
（変形例）
上記実施例では、デバイスに依存しない色空間データとして、Ｌ＊ａ＊ｂを使用したが、Ｌ＊ｕ＊ｖや、ＸＹＺ、Ｊａｂなど他の色空間を使用しても構わない。
【０１３３】
上記実施例では、重み付け部初期化データとして図１２のようなデータを作成した。しかしながら、重み付け部初期化データとして、図１６のような他のようなデータ形式を使用してもかまわない。図１６の重み付け部初期化データにおけるＲＡＴＥは変換部（四面体補間）に対するＲＡＴＥのみを記載している。上記実施例では、ＲＡＴＥ１とＲＡＴＥ２の合計を１としているので、ＲＡＴＥ１からＲＡＴＥ２を簡単に算出することができる。
【０１３４】
さらに、図１６の例では、格子点に対応するＲＧＢに対応するＬ＊ａ＊ｂ＊も格納されているので、図１６のデータは、変換部初期化データ（四面体補間）と重み付け部初期化データを兼ねることができる。
【０１３５】
また、上記実施例では、２つの変換部を用いた場合の実施例を説明した。しかしながら、Ｎ個（Ｎ＞２）の変換部を使用しても構わない。この場合の重み付け部初期化データの１例を、図１７に示す。ＲＡＴＥ＿１、ＲＡＴＥ＿２、ＲＡＴＥ＿３はＲＡＴＥと同じ意味であり、以下ＲＡＴＥ＿＊と記す。ＲＡＴＥ＿＊は変換部１１０２が２種類以上の場合に使用する。図ではＲＡＴＥ＿３までであるが、変換部１１０２の数に応じて増やすことが可能である。また、該当するデバイス色信号における各ＲＡＴＥ＿＊に設定する値の合計を１になるように設定する。例えば、変換部１１０２が３種類の場合は、該当するデバイス色信号におけるＲＡＴＥ＿１からＲＡＴＥ＿３の合計が１になるように設定する。このとき、ＲＡＴＥ＿３の項目を作成せずにＲＡＴＥ＿１とＲＡＴＥ＿２の項目だけ作成し、ＲＡＴＥ＿３に相当する値は、１からＲＡＴＥ＿１とＲＡＴＥ＿２に設定する値を引いた値を使用することも可能である。
【０１３６】
また、重み付け部初期化データのデバイス色信号であるＲＧＢ値の間隔と、変換部初期化データのデバイス色信号であるＲＧＢ値の間隔とを異ならせることも可能である。このように重み付け部初期化データの標本点と変換部初期化データの標本点を独立に定義することで、より柔軟な設定が可能である。
【０１３７】
また、重み付け部初期化データとして、図１８に示すデータを使用しても構わない。図１８に示す変換部初期化データは、２種類の変換部を使用する場合の例である。そして、図１８に示す変換部初期化データは、ＲＡＴＥ＿１＿Ｌ，ＲＡＴＥ＿１＿Ａ，ＲＡＴＥ＿１＿Ｂを用いて、Ｌ，ａ，ｂ独立に重み付けを設定することができる。これにより、例えば、グレー部分のａ値、ｂ値を四面体補間で行い、Ｌ値をスプライン補間にすることができる。これによれば、色相をぶれずにかつなめらかにＬ値を変化させることができ、よりグレーの再現性を向上させることが可能となる。
【０１３８】
また、変換部（四面体補間）と変換部（スプライン補間）とにおいて、標本点データを異ならせても良い。
【０１３９】
ステップＳ２００１において、図１９に示すような標本点データ１１１６を使用して、変換部（四面体補間）１１０２を初期化する。また、図２０に示すような標本点データ１１１６を使用して、変換部（スプライン補間）１１０２を初期化する。そして、図１２に示される重み付け部初期化データを使用して、重み付け部を初期化する。
【０１４０】
図１９に示す標本点データはデバイス色信号であるＲ値が０から６４、Ｇ値が０から６４、Ｂ値が０から２５５の範囲のみ定義している。図１２における重み付け部初期化データ１１１７のＲＡＴＥ＿１は、変換部（スプライン補間）１１０２の割り合いであり、ＲＡＴＥ＿２は、変換部（四面体補間）１１０２の割り合いである。Ｒ値が０から６４、Ｇ値が０から６４、Ｂ値が０から２５５の範囲以外および境界部分はＲＡＴＥ＿１には０が設定されており、それ以外はＲＡＴＥ＿１に０より大きい値が設定されている。つまり上記範囲内では、変換部（スプライン補間）１１０２の割合が高い。しかも上記範囲外の標本点の間隔はＲＧＢ値で３２であるが、上記範囲内の標本点の間隔はＲＧＢ値で１６であり、細かく設定されている。
【０１４１】
例えば、上記範囲内の線形性が特に低い場合に、本実施の形態のように、その部分だけ非線形補間を行い、その他は線形補間で高速に処理することで、変換精度を向上することができる。
【０１４２】
また、例えば、上記範囲を四面体補間で行う場合でも、上記範囲内の標本点が細かいため変換精度を向上することが可能である。このとき、全体的に標本点を細かくするより、精度がよくない範囲を限定して標本点を細かくすることにより、色変換精度の向上、および色変換速度の低下を最小限に抑えることが、階調性を保ちつつも可能となっている。
【０１４３】
また、変換部で使用する補間のアルゴリズムは、他の８点補間や体心立方格子を用いた補間、プリズム補間など他の方法を使用しても構わない。
【０１４４】
カラーマネージメントを実現する技術の一例として、ＩＣＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｌｏｒ  Ｃｏｎｓｏｒｔｉｕｍ）により定められた、ＩＣＣカラープロファイルに基づきカラーマネージメントを行うシステム（Ｃｏｌｏｒ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ：ＣＭＳ）が存在する。このシステムでは、カラーマッチングを行う為のデバイスインディペンデントなハブ色空間あるいはＰＣＳ（Ｐｒｏｆｉｌｅ  Ｃｏｎｎｅｃｔｉｏｎ  Ｓｐａｃｅ）を定義する。そして、デバイス色空間からハブ色空間／ＰＣＳへの色変換を規定するソース側プロファイル、ならびにハブ色空間／ＰＣＳからデバイス色空間への色変換を規定するディスティネーション側プロファイルを用いてカラーマネージメントを実現する。処理系は、ソース側プロファイルにより入力された画像の入力側デバイスに適合したデバイス色空間での色信号値をハブ色空間／ＰＣＳでの色信号値に変換した後、さらにディスティネーション側プロファイルにより、出力側デバイスに適合したデバイス色空間での色信号に変換する、という２つの大きな変換処理より構成される。上記変換処理にも本発明が適用可能なのはいうまでもない。
【０１４５】
また、ＰＣＳを介さないような、例えば、モニタ−プリンタの色空間での直接の色変換にも本発明は適用可能である。
【０１４６】
以上、説明したように本実施例によれば、標本点データを元に標本点同士の幾何学的な関係を算出することにより、色空間上のエリア毎に異なるデバイスの性質を判定して該当するエリアに最適な各補間方法の割合を算出することが可能となる。その結果、異なる性質をもつデバイスに対しても、該当するデバイスに最適な各補間方法の割合を算出することが可能となり、デバイスの性質によらず自動的に色域全域にわたり色再現性が向上するという効果がえられ、本発明を達することとなる。
【０１４７】
なお、本発明を適用する計算機は、パーソナルコンピュータ、携帯電話を含む携帯端末、画像形成装置など、その形態を問わないのは言うまでもない。
【０１４８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１４９】
【図１】色知覚モデルを用いたカラーマッチングの処理概念図である。
【図２】実施例におけるカラーマッチングモジュールの機能構成を示すブロック図である。
【図３】図２に示される機能構成を実現する装置の構成例を示すブロック図である。
【図４】デバイス情報ならびにデバイスプラグイン、色空間変換プラグインの模式図である。
【図５】入力変換部２０１の構成例を示すブロック図である。
【図６】入力変換部２０１における処理の一例を説明するフローチャートである。
【図７】標本点データ１１１０の一例である。
【図８】デバイス情報の一例である。
【図９】デバイス情報の一例である。
【図１０】変換部初期化データ（四面体補間）の一例である。
【図１１】四面体補間を説明する図である。
【図１２】重み付け部初期化データ１１１７の一例である。
【図１３】変換部初期化データ（スプライン補間）を算出する処理を説明するフローチャートである。
【図１４】基底関数の一例である。
【図１５】変換部（スプライン補間）の処理結果を説明する図である。
【図１６】重み付け部初期化データの一例である。
【図１７】重み付け部初期化データの一例である。
【図１８】重み付けデータ１１１１の一例である。
【図１９】標本点データの一例である。
【図２０】標本点データの一例である。
【図２１】従来の一般的なカラーマッチングの概念図である。
【図２２】重み付け最適化部１１０５における処理の一例を説明するフローチャートである。
【図２３】標本点同士の幾何学的な関係を説明する図である。
【図２４】標本点同士の幾何学的な関係を説明する図である。
【図２５】標本点同士の幾何学的な関係を説明する図である。
【図２６】ステップＳ２２０２の処理の一例を説明するフローチャートである。
【図２７】入力変換部２０１の構成例を示すブロック図である。
【図２８】デバイス情報の一例である。
【図２９】等色相ラインの一例である。
【図３０】ステップＳ２２０２の処理の一例を説明するフローチャートである。
【図１】
2008271103.tif 000003
【図２】
2008271103.tif 000004
【図３】
2008271103.tif 000005
【図４】
2008271103.tif 000006
【図５】
2008271103.tif 000007
【図６】
2008271103.tif 000008
【図７】
2008271103.tif 000009
【図８】
2008271103.tif 000010
【図９】
2008271103.tif 000011
【図１０】
2008271103.tif 000012
【図１１】
2008271103.tif 000013
【図１２】
2008271103.tif 000014
【図１３】
2008271103.tif 000015
【図１４】
2008271103.tif 000016
【図１５】
2008271103.tif 000017
【図１６】
2008271103.tif 000018
【図１７】
2008271103.tif 000019
【図１８】
2008271103.tif 000020
【図１９】
2008271103.tif 000021
【図２０】
2008271103.tif 000022
【図２１】
2008271103.tif 000023
【図２２】
2008271103.tif 000024
【図２３】
2008271103.tif 000025
【図２４】
2008271103.tif 000026
【図２５】
2008271103.tif 000027
【図２６】
2008271103.tif 000028
【図２７】
2008271103.tif 000029
【図２８】
2008271103.tif 000030
【図２９】
2008271103.tif 000031
【図３０】
2008271103.tif 000032