(57)【要約】【課題】デバイスに依存しないRGB空間の利用においてオーバーフローやアンダーフローの発生やグレー色における色ずれの発生を防ぐ。【解決手段】画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換方法は、画像データをデバイス非依存の色空間の画像データに変換し、該デバイス非依存の色空間において画像データが有する色再現範囲の色域を包含するＲＧＢ色空間を設定し、設定されたＲＧＢ色空間とデバイス非依存の色空間との間の変換パラメータを、画像データの環境光に依存する白色点が設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定し、決定された変換パラメータを用いて画像データを非デバイス依存のＲＧＢ色空間における画像データへ変換する。【選択図】  図２１
2007174126.tif 000002
【特許請求の範囲】
【請求項１】
画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換方法であって、
デバイス非依存の色空間において前記画像データが有する色再現範囲を包含する色域を有するＲＧＢ色空間を設定する設定工程と、
前記設定工程で設定されたＲＧＢ色空間と前記デバイス非依存の色空間との間の値の変換パラメータを、前記画像データの環境光に依存する白色点が前記設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定する決定工程と、
前記決定工程で決定された変換パラメータを用いて前記画像データを前記設定されたＲＧＢ色空間における画像データへ変換する変換工程とを備えることを特徴とする画像処理方法。
【請求項２】
前記決定工程は、前記設定されたＲＧＢ色空間の三原色の色度点と、前記白色点の色度点とに基づいて、前記変換パラメータを決定することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記設定工程で設定されるＲＧＢ色空間は、人間の可視領域を包含することを特徴とする請求項１に記載の画像処理方法。
【請求項４】
前記設定工程は、前記色再現範囲の大きさに応じて前記ＲＧＢ色空間の大きさを変更することを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記設定工程で設定されるＲＧＢ色空間は、既存のＲＧＢ色空間と相似形であることを特徴する請求項４に記載の画像処理方法。
【請求項６】
前記設定工程は、
前記既存のＲＧＢ色空間の三原色の各色度点と前記白色点の色度点とを結ぶ直線上において、前記既存のＲＧＢ色空間の三原色のそれぞれの色度点を移動することにより、前記色再現範囲の色域を包含するＲＧＢ色空間を設定することを特徴とする請求項５に記載の画像処理方法。
【請求項７】
前記設定工程で設定されたＲＧＢ色空間の大きさに基づいて、該設定されたＲＧＢ色空間における色値を表現するためのビット数を変更する変更工程を更に備えることを特徴とする請求項１乃至４のいずれかに記載の画像処理方法。
【請求項８】
画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換方法であって、
デバイス非依存の色空間において前記画像データが有する色再現範囲を包含する色域を有するＲＧＢ色空間を設定する設定工程と、
前記設定工程で設定されたＲＧＢ色空間と前記デバイス非依存の色空間との間の値の変換パラメータを、前記画像データの環境光に依存する白色点が前記設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定する決定工程と、
前記決定工程で決定された変換パラメータを用いてプロファイル情報を生成する生成工程とを備えることを特徴とする画像処理方法。
【請求項９】
前記生成工程で生成されたプロファイル情報を前記画像データに付加する工程を更に備えることを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換装置であって、
デバイス非依存の色空間において前記画像データが有する色再現範囲を包含する色域を有するＲＧＢ色空間を設定する設定手段と、
前記設定手段で設定されたＲＧＢ色空間と前記デバイス非依存の色空間との間の値の変換パラメータを、前記画像データの環境光に依存する白色点が前記設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定する決定手段と、
前記決定手段で決定された変換パラメータを用いて前記画像データを前記設定されたＲＧＢ色空間における画像データへ変換する変換手段とを備えることを特徴とする画像処理装置。
【請求項１１】
画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換装置であって、
デバイス非依存の色空間において前記画像データが有する色再現範囲を包含する色域を有するＲＧＢ色空間を設定する設定手段と、
前記設定手段で設定されたＲＧＢ色空間と前記デバイス非依存の色空間との間の値の変換パラメータを、前記画像データの環境光に依存する白色点が前記設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定する決定手段と、
前記決定手段で決定された変換パラメータを用いてプロファイル情報を生成する生成手段とを備えることを特徴とする画像処理装置。
【請求項１２】
請求項１乃至９のいずれかに記載の画像処理方法をコンピュータに実行させるための制御プログラム。
【請求項１３】
請求項１２に記載された制御プログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその方法に関し、例えば、環境光に応じたカラーマッチングを行うための画像処理装置およびその方法に関する。
【背景技術】
【０００２】
図１は一般的なカラーマッチングの概念図である。
【０００３】
RGBデータである入力データは、入力プロファイルによりデバイスに依存しない色空間のXYZデータに変換される。出力デバイスの色再現範囲外の色は出力デバイスにより表現することができないため、そのすべて色が出力デバイスの色再現範囲内に収まるように、デバイスに依存しない色空間のデータに変換された入力データに色空間圧縮が施される。そして、色空間圧縮が施された後、入力データはデバイスに依存しない色空間から出力デバイスに依存する色空間、例えばCMYKデータへ変換される。
【０００４】
カラーマッチングにおいて基準白色点および環境光は固定されている。例えば、International Color Consortium(ICC)によって規定されるプロファイルでは、プロファイルを結び付けるProfile Connection Space(PCS)がD50基準のXYZ値およびLab値である。このため、入力原稿やプリント出力はD50特性の光源下で観察する場合には正しい色再現が保証されるが、その他の特性の光源下では正しい色再現が保証されない。
【０００５】
異なる光源下で同一サンプル（例えば画像）を観察した場合、観察されるサンプルに対するXYZ値は当然異なる。異なる光源下におけるXYZ値を予測するために、(1)比率変換、(2)Von Kries変換、(3)色知覚モデルによる予測式などの変換方式がある。
【０００６】
比率変換は、基準白色点W1下でのXYZ値を基準白色点W2下のXYZ値に変換するために、W2/W1の比率変換を施す方法である。この方法を、Lab均等色空間に対して適用すると、W1下でのLab値とW2下でのLab値は一致する。例えば、W1(Xw1,Yw1,Zw1)下でのサンプルのXYZ値を(X1,Y1,Z1)、W2(Xw2,Yw2,Zw2)下でのサンプルのXYZ値を(X2,Y2,Z2)とするとき、比率変換によれば次の関係が得られる。
【０００７】
【数１】
2007174126.tif 000003
【０００８】
Von Kries変換は、W1下でのXYZ値をW2下のXYZ値に変換するために、人間の色知覚空間PQR上でW2'/W1'の比率変換を施す方法である。この方法をLabの均等色空間に対して適用すると、W1下でのLab値とW2下でのLab値は一致しない。例えば、W1(Xw1,Yw1,Zw1)下でのサンプルのXYZ値を(X1,Y1,Z1)、W2(Xw2,Yw2,Zw2)下でのサンプルのXYZ値を(X2,Y2,Z2)とするとき、Von Kries変換によれば次の関係が得られる。
【０００９】
【数２】
2007174126.tif 000004
【００１０】
色知覚モデルによる予測式は、観察条件VC1（W1を含む）下でのXYZ値を観察条件VC2（W2を含む）下のXYZ値に変換するために、例えばCIE CAM97sのような人間の色知覚空間QMH（またはJCH）を利用して変換する方法である。ここで、QMHのQはbrightness、Mはcolourfulness、Hはhuequadratureまたはhueangleを表す。また、JCHのJはlightness、Cはchroma、Hはhuequadratureまたはhueangleを表す。この変換方法をLabの均等色空間へ適用すると、Von Kries変換と同様に、W1下でのLab値とW2下でのLab値は一致しない。例えば、W1(Xw1,Yw1,Zw1)下でのサンプルのXYZ値を(X1,Y1,Z1)、W2(Xw2,Yw2,Zw2)下でのサンプルのXYZ値を(X2,Y2,Z2)とする。このとき、色知覚モデルによる予測式によれば次の変換が行われる。
【００１１】
(X1,Y1,Z1)→[CIE CAM97s順変換]→(Q,M,H)または(J,C,H)
→[CIE CAM97s逆変換]→(X2,Y2,Z2)
つまり、比率変換によって異なる基準白色点下のXYZ値が変換できると仮定するならば、異なる基準白色点下のLab色空間における等色相線は常に一定である。ところが、Von Kries変換や色知覚モデルによる予測式のように人間の色知覚を考慮した場合には、異なる基準白色点下のLab色空間における等色相線は基準白色点によって変化することになる。
【００１２】
上記の理由から、異なる基準白色点下のカラーマッチングにおいて、同一のLab色空間で定義された色空間圧縮（色相保存）を適用した場合、人の視覚では色相が一定ではないと感じられる場合がある。
また、現在のICCプロファイルでは、PCSがD50基準のXYZ値やLab値に限定されているため、環境光に対応したカラーマッチングを行うことができない。
【００１３】
以上のような状況において、観察条件に関わらず良好なカラーマッチングを実現するための色処理方法が特許文献１により提案されている。特許文献１によれば、入力デバイスの色空間に依存する入力データを入力側の観察条件に基づくデバイスに依存しない色空間のデータへ変換し、そのデータを人間の色知覚色空間のデータへ変換して色空間圧縮する。その後、色空間圧縮されたデータを出力側の観察条件に基づくデバイスに依存しない色空間のデータへ変換し、出力デバイスに依存する色空間の出力データヘ変換する。
【特許文献１】特開２００２−２８１３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記特許文献１に記載された色処理においては、デバイスに依存しない色空間としてXYZ空間が用いられている。一方、sRGB, scRGB, AdobeRGB, RIMM/ROMM RGB等のように、XYZ空間から3x3マトリクス（変換マトリクス）による線型変換可能なRGB色空間によってPCSやデバイスに依存しない色を表現する方法がある。従って、デバイスに依存しない色空間としてXYZ色空間に代わってRGB色空間を利用することも考えられる。しかしながら、ある基準白色点に応じた変換マトリクスに固定されている場合には、以下のような問題があった。
【００１５】
・ 異なる基準白色点下の色を基準白色点が固定された変換マトリクスにより変換すると、デバイスに依存しないRGB空間においてオーバーフローやアンダーフローが発生し、色を表現できなくなる場合がある（特に白色点付近）。
・ デバイスに依存しないRGB空間を入力色空間とする3D LUTにおいて、異なる基準白色点下のグレー色を入力すると、グレー色が3D LUTの対角軸上とならない。そのため、四面体補間において3点以上の格子点を用いた線形補間を行うこととなり、色ずれを発生する場合がある。
【００１６】
また、sRGBは標準的なCRT特性に基づいているため色再現範囲が狭く、この課題を解決するために拡張RGB色空間が定義されている。しかしながら、この拡張RGB空間の色再現範囲が不必要に広い場合、各色8ビットを超えるビット数を使用しないとsRGB相当の階調性を得ることができないという課題があった。また、逆に、小さい色範囲を有するRGB空間に必要以上に多くのビットを割り当てると、画像データが必要以上に大きくなってしまい、効率的ではない。
【００１７】
本発明は、上記の課題に鑑みてなされたものであり、カラーマッチング等の処理において、RGB色空間をデバイスに依存しない色空間として利用した場合に生じる上述の不具合を解消することを目的とする。
例えば、デバイスに依存しないRGB空間の利用においてオーバーフローやアンダーフローの発生やグレー色における色ずれの発生を防ぐことを目的とする。
また、本発明は、デバイスに依存しないRGB空間における色値の表現に適切な量子化ビット数を割り当てることを可能にすることを目的とする。
【課題を解決するための手段】
【００１８】
上記の課題を解決するための本発明による画像処理方法は、
画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換方法であって、
デバイス非依存の色空間において前記画像データが有する色再現範囲を包含する色域を有するＲＧＢ色空間を設定する設定工程と、
前記設定工程で設定されたＲＧＢ色空間と前記デバイス非依存の色空間との間の値の変換パラメータを、前記画像データの環境光に依存する白色点が前記設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定する決定工程と、
前記決定工程で決定された変換パラメータを用いて前記画像データを前記設定されたＲＧＢ色空間における画像データへ変換する変換工程とを備える。
【００１９】
また、上記の目的を達成するための本発明の他の態様による画像処理方法は、
画像データをデバイス非依存のＲＧＢ色空間における画像データへ変換する色空間変換方法であって、
デバイス非依存の色空間において前記画像データが有する色再現範囲を包含する色域を有するＲＧＢ色空間を設定する設定工程と、
前記設定工程で設定されたＲＧＢ色空間と前記デバイス非依存の色空間との間の値の変換パラメータを、前記画像データの環境光に依存する白色点が前記設定されたＲＧＢ色空間の三原色の各々の最大値になるように決定する決定工程と、
前記決定工程で決定された変換パラメータを用いてプロファイル情報を生成する生成工程とを備える。
【発明の効果】
【００２０】
本発明によれば、カラーマッチング等の処理において、RGB色空間をデバイスに依存しない色空間として利用する場合の不具合を解消することができる。
例えば、デバイスに依存しないRGB空間の利用においてオーバーフローやアンダーフローの発生やグレー色における色ずれの発生を防ぐことができる。
また、本発明によれば、デバイスに依存しないRGB空間における色値の表現に適切な量子化ビット数を割り当てることが可能になる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明にかかる実施形態の画像処理装置を図面を参照して詳細に説明する。
【００２２】
＜第１実施形態＞
以下では、まず、デバイスに依存しない色空間としてXYZ色空間を用いて、異なる観察条件において良好な色再現を可能とする構成を説明する。そして、その後に、XYZ色空間の代わりにデバイスに依存しないRGB色空間を利用する構成を説明する。
【００２３】
［CAM（順変換）の説明］
人間の視覚系によって、知覚される色は、照明光の違い、刺激がおかれている背景などの条件によって、目に入ってくる光が同じであっても異なって見えることが知られている。
【００２４】
例えば、白熱電球で照明された白色は、目に入ってくる光の特性ほどには赤く感じられなくて、白として知覚される。また、黒い背景におかれた白と、明るい背景に置かれた白とでは黒い背景に置かれた白の方が明るく感じられる。前者の現象は色順応、後者は対比として知られている。このような知覚に対応するためには、XYZではなく網膜状に分布している視細胞の生理的な活性度に対応する量で色を表示する必要があり、このような目的のために色知覚モデルが開発されている。CIEでは、CIE CAM97sの使用を推奨している。この色知覚モデルは色覚の生理的な三原色を用いている。例えばCIE CAM97sで計算される色知覚の相関量であるJ（明度）、C（クロマ）およびH（色相）、あるいは、Q（ブライトネス）、M（カラフルネス）およびH（色相）の値が、観察条件に依存しない色の表示方法と考えられる。J、C、ＨまたはQ、M、Ｈの値がデバイス間で一致するように色再現することによって、入出力画像の観察条件の違いを解決することができる。
【００２５】
入力画像を観察する際の観察条件に応じた補正処理（XYZをJCHまたはQMHに変換する処理）を行う色知覚モデルCIE CAM97sの順変換における処理内容を、図２を用いて説明する。
まず、入力画像の観察条件情報としてステップS160で、順応視野の輝度であるLA、光源条件における試料の相対三刺激値であるXYZ、光源条件における白色光の相対三刺激値であるXwYwZw、および、光源条件における背景の相対輝度であるYbが設定される。なお、順応視野の輝度LAの単位はcd/m2であり通常、順応視野における白の輝度の20%が選ばれる。また、ステップS180で指定される観察条件のタイプに基づき、入力画像の観察条件情報として、ステップS170で周囲の影響の定数c、色誘導係数Nc、明度コントラスト係数FLLおよび順応度の係数Fが設定される。
【００２６】
ステップS160およびS170で設定された入力画像観察条件情報に基づき、入力画像を示すXYZに対して以下のような処理が行われる。
【００２７】
まず、人間の生理的な三原色として考えられているBradfordの三原色に基づき、XYZを変換してBradford錐体応答RGBが求められる(S100)。人間の視覚は常に観察光源に完全順応するわけではない。そのため、輝度レベルと周囲条件（LAおよびF）に基づき順応度を示す変数Dを求め、この変数DおよびXwYwZwに基づき、S100で求めたRGBに対して不完全順応処理を行いRcGcBcに変換される(S110)。
【００２８】
次に、人間の生理的な三原色として考えられているHunt-Pointer-Estevezの三原色に基づき、RcGcBcを変換してHunt-Pointer-Estevez錐体応答R'G'B'が求められる(S120)。このR'G'B'に対して刺激強度レベルによる順応度合いの推定が行われ、試料と白の両方に応じた順応後錐体応答R'aG'aB'aが求められる(S130)。なお、ステップS130では、順応視野の輝度LAに基づき求められる変数FLを用いて非線型応答圧縮が行われる。
【００２９】
続いて、見えとの相関関係を求めるために、以下の処理が行われる。
【００３０】
赤-緑および黄-青の反対色応答abがR'aG'aB'aから求められ(S140)、反対色応答abおよび偏心係数から色相Hが求められる(S150)。
【００３１】
また、Ywおよび背景の相対輝度Ybから背景誘導係数nが求められ、この背景誘導係数nを用いて試料および白の両方に関する無彩色応答AおよびAwが求められる(S190)。そして、背景誘導係数nおよび明度コントラスト係数FLLから求められる係数z、並びに、A、Awおよびcに基づき明度Jが求められる(S151)。更に、色誘導係数Ncから飽和度Sが求められ(S153)、飽和度Sおよび明度JからクロマCが求められ(S152)、明度Jおよび白の無彩色応答Awから輝度Qが求められる(S154)。
【００３２】
また、変数FLおよび周囲の影響の定数cからカラフルネスMが求められる(S155)。
【００３３】
次に、上述した観察条件に応じた補正処理を用いて観察条件に応じて動的にプロファイルを変更する実施形態を説明する。
【００３４】
［動的なプロファイル変更処理］
図３において、11は変換マトリクスまたは変換ルックアップテーブル(LUT)であり、入力デバイスに依存するデータを入力側の環境光の白色点基準に基づくデバイスに依存しない色空間データへ変換する。12は色知覚モデルの順変換部(CAM)であり、変換LUT11から得られるデータを人間の色知覚色空間JChまたはQMhへ変換する。13は環境光の基準白色に相対的な色知覚空間であるJCh（またはJCH）、14は照度レベルによって大きさの変化する絶対的な色知覚空間であるQMh（またはQMH）である。15は人間の色知覚空間JChまたはQMhから出力側の環境光の白色点基準に基づくデバイスに依存しない色空間データへ変換するための色知覚モデルの逆変換部である。16は逆変換部15から得られるデータを出力デバイスに依存する色空間データヘ変換するための変換LUTである。なお、順変換部12は図２で説明したとおりである。また、その逆変換を行う逆変換部15の処理については、順変換の説明から明らかである。
【００３５】
一般に、観察条件における環境光の白色点は、カラーターゲットやカラーパッチなどの色票を測色した際の標準光源の白色点とは異なる。例えば、測色の際に使用される標準光源はD50やD65であるが、実際に画像を観察する場合の環境光はライトブースのD50やD65とは限らず、白熱電球や蛍光灯などの照明光であったり、照明光と太陽光とが混合した光になる場合が多い。以下の説明では、簡単化のために、観察条件における環境光の光源特性をD50およびD65とするが、実際にはメディア上の白色点のXYZ値を白色点として設定する。
【００３６】
図４は本実施形態の機能構成例を示すブロック図である。図４において、41はデータ作成部であり、入力プロファイル42と入力側の観察条件1とから入力側の観察条件1に依存するデータを作成する。43は色空間圧縮モード選択部であり、ユーザによる指定またはプロファイルによる指定に基づき色空間圧縮をJCH色空間上で行うかQMH色空間上で行うかを選択する。44および45は色空間圧縮部であり、それぞれ出力プロファイル46に基づきJCHまたはQMH色知覚空間上でデータに色空間圧縮を施す。47はデータ作成部であり、出力プロファイル46と出力側の観察条件2とから出力側の観察条件2に依存するデータを作成する。48はカラーマッチング部であり、観察条件1に依存するデータ、色空間圧縮データ、観察条件2に依存するデータおよび色知覚モデルを利用してカラーマッチングを行うカラーマッチング部である。
【００３７】
図５は図４に示される機能構成を実現する装置の構成例を示すブロック図である。なお、図５に示すような装置は、例えばパーソナルコンピュータのような汎用のコンピュータ装置に、図４に示す機能を実現するソフトウェアを供給することによって実現されることは言うまでもない。なお、その場合、本実施形態の機能を実現するソフトウェアは、コンピュータ装置のOS（基本システム）に含まれていても構わないし、OSとは別に例えば入出力デバイスのドライバソフトウェアに含まれていても構わない。
【００３８】
同図において、CPU 100は、ROM 101およびハードディスク(HD)106などに格納されたプログラムに従い、RAM 102をワークメモリに利用して、装置全体の動作を司るとともに、上述したカラーマッチングに関連する処理をはじめとする各種の処理を実行する。入力インタフェイス103は入力デバイス104を接続するためのインタフェイスである。また、ハードディスクインタフェイス105はHD 106を接続するためのインタフェイスである。ビデオインタフェイス107はモニタ108を接続するためのインタフェイスである。更に、出力インタフェイス109は出力デバイス110を接続するためのインタフェイスである。
【００３９】
なお、本実施形態が対象とする入力デバイスには、ディジタルスチルカメラおよびディジタルビデオカメラなどの撮影機器、並びに、イメージスキャナおよびフィルムスキャナなどイメージリーダをはじめとする各種の画像入力機器が含まれる。また、出力デバイスには、CRTやLCDなどのカラーモニタ、カラープリンタおよびフィルムレコーダなどの画像出力機器が含まれる。
【００４０】
また、インタフェイスとして汎用のインタフェイスが利用できる。その用途に応じて、例えば、RS232C、RS422およびIEEE1394などのシリアルインタフェイス、並びに、SCSI、GPIBおよびセントロニクスなどのパラレルインタフェイスが利用可能である。
【００４１】
また、カラーマッチングを行うための入出力プロファイルはHD 106に格納されるが、ハードディスクに限らず、MOなどの光ディスクを用いることもできる。
【００４２】
以下では、入出力プロファイルを利用してカラーマッチングを行う例を説明する。
【００４３】
［観察条件1に依存するデータの作成］
データ作成部41を用いて変換LUT 11を作成するが、変換LUT 11を作成する方法には複数とおりがある。例えば、図６に一例が示されている方法では、カラーターゲットのXYZ値（またはLab値）および入力デバイスのRGB値の関係から、環境光に対応する変換LUT 11を再構築する。また、図７に一例が示されている方法では、入力プロファイル42内のデバイスRGB空間からXYZ空間へ変換するための変換LUTを環境光に対応する変換LUT 11へ更新する。
【００４４】
図６は環境光に対応する変換LUT 11を再構築する処理例を示すフローチャートである。環境光に対応する変換LUT 11を再構築するために、ステップS51で入力プロファイル42からユーザにより指定されたプロファイルを読込む。入力プロファイル内には予めカラーターゲットのXYZ値（またはLab値）と、そのカラーターゲットをある入力デバイスで読んだときのデバイスRGB値を関連付けたXYZ→RGB関係データが格納されている。このXYZ→RGB関係データを、ステップS52でプロファイルから取り出す。プロファイル内には観察条件1も格納されているので、ステップS53で、観察条件1をプロファイルから取り出す。
【００４５】
ステップS52で取り出されたXYZ→RGB関係データのXYZ値は、カラーターゲットを測色したときの基準光であるD50またはD65を基準とするデータであるから、測色光源基準のXYZ値を環境光基準のXYZ値に修正する必要がある。ステップS54では、測色光源基準のXYZ値を、測色条件であるD50光源の白色点（D50基準の場合）、照度レベルおよび周囲光の状態等に基づき色知覚モデルにより人間の色知覚空間JCHへ変換する。そして、測色条件とは異なる観察条件1である例えばD65光源の白色点、照度レベルおよび周囲光の状態などに基づき色知覚モデルを用いて再びXYZ値へ逆変換することにより、環境光基準のXYZ値を得る。これにより、環境光基準のXYZ値とデバイスRGB値との関係が得られたので、ステップS55でRGB→XYZ関係データに基づくRGB→XYZ変換マトリクスを作成し、反復法などで最適化すれば、環境条件1に対応する変換LUT 11を得ることができる。
【００４６】
図７は環境光に対応する変換LUT 11へ更新する処理例を示すフローチャートである。なお、図６と同様の処理が実行されるステップには同一符号を付して、その詳細説明を省略する。
【００４７】
一般的に、入力デバイス用のICCプロファイルにはRGB→XYZ変換を行うための変換マトリクス(colorant Tag)または変換LUT(AtoB0 Tag)が格納されている。ステップS62では、プロファイルからRGB→XYZ関係データを取り出す。
【００４８】
ステップS54で環境光基準のXYZ値とデバイスRGB値との関係を得る。ステップS66でプロファイル内の変換マトリクス(colorant Tag)または変換LUT(AtoB0 Tag)を更新することにより、環境条件1に対応する変換LUT 11を得る。
【００４９】
なお、一般に、入力デバイス用のICCプロファイルには、RGB→XYZ変換を行うための変換マトリクス(colorant Tag)または変換LUT(AtoB0 Tag)が格納されている。また、図６および図７においてはRGB→XYZ関係データを利用する例を説明したが、これに限らず、RGB→Lab関係データなどの他のデバイス非依存色のデータを利用しても構わない。
【００５０】
［色空間圧縮モードの選択および色空間圧縮］
色空間圧縮モードは、ユーザによりユーザインタフェイス経由で選択されるか、ソース側プロファイルのヘッダ内のRendering Intentによって自動的に選択される。プロファイルに基づき自動選択される場合は以下のようになる。
【００５１】
Perceptual               JCH色空間上の色空間圧縮モード
Relative Colorimetric    JCH色空間上の色空間圧縮モード
Saturation               JCH色空間上の色空間圧縮モード
Absolute Colorimetric    QMH色空間上の色空間圧縮モード
つまり、相対的なカラーマッチングの場合はJCH空間13が選択され、絶対的なカラーマッチングの場合はQMH空間14が選択される。
【００５２】
図８はJCH 13またはQMH 14上で色空間圧縮を行う処理例（色空間圧縮部４４，４５の処理例）を示すフローチャートである。色知覚空間上で色空間圧縮を行うために、ステップS81で、出力プロファイル46からユーザに指定されたプロファイルを読込む。
【００５３】
一般に、出力デバイス用ICCプロファイルには、色再現領域の内か外かを判定（以下「色再現領域の内外判定」と呼ぶ）するために、XYZ値またはLab値を入力する判定LUT(gamut Tag)が格納されている。しかし、そのXYZ値は測色光源の特性であるD50またはD65を基準にしているため、環境光に応じた色再現領域の内外判定に直接利用することはできない。従って、色再現領域の内外判定を行うLUT(gamut Tag)を利用する代わりに、プロファイルに格納されているCMYK→XYZ変換を行うための変換LUT（AtoB0 Tagなど）からCMYK→XYZ関係データを、ステップS82で取り出して利用する。出力プロファイルには観察条件2も格納されているので、ステップS83で観察条件2を出力プロファイルから取り出す。
【００５４】
ステップS82で取り出されたCMYK→XYZ関係データのXYZ値は、測色光であるD50またはD65を基準とするデータであるから、環境光基準のXYZ値に修正する必要がある。ステップS84では、測色光基準のXYZ値を、測色条件であるD50光源の白色点（D50基準の場合）、照度レベルおよび周囲光の状態などに基づき色知覚モデルを用いて、人間の色知覚空間JCHへ変換する。そして、測色条件とは異なる観察条件2である例えばD65光源の白色点、照度レベルおよび周囲光の状態などに基づいて、再びXYZ値へ逆変換することにより、環境光基準のXYZ値を得る。このようにステップS84では、デバイスのCMYK値から環境光基準のXYZ値への関係を求める。ステップS85では、ステップS84で得られたCMYK→環境光XYZ関係データに基づきJCHまたはQMH色空間上における出力デバイスの色再現領域を求める。
【００５５】
JCHまたはQMH色空間上における出力デバイスの色再現領域は、例えば、
Red    (C:0%,   M:100%, Y:100%, K:0%)
Yellow (C:0%,   M:0%,   Y:100%, K:0%)
Green  (C:100%, M:0%,   Y:100%, K:0%)
Cyan   (C:100%, M:0%,   Y:0%,   K:0%)
Blue   (C:100%, M:100%, Y:0%,   K:0%)
Magenta(C:0%,   M:100%, Y:0%,   K:0%)
White  (C:0%,   M:0%,   Y:0%,   K:0%)
Black  (C:0%,   M:0%,   Y:0%,   K:100%)
の八点に対する環境光基準のXYZ値を、ステップS84で求められたCMYK→環境光XYZ関係データを用いて求める。そして、さらに色知覚モデルによって観察条件2に基づいて人間の色知覚空間JCHまたはQMHの座標値へ変換することで、図９に示されるような12面体によって近似することができる。
【００５６】
12面体で近似される色再現領域において、色再現領域の内部の点、例えば無彩色軸上におけるWhiteとBlackの中間点と、内外判定対象の入力色信号の点（JCH値またはQMH値）とが、同じ側にあれば色再現範囲内にあると判断する。一方、中間点と内外判定対象の入力色信号の点が反対側にあれば色再現範囲外にあると判断する。
【００５７】
ステップS85により得られる色再現領域に基づく内外判定の結果に基づき、ステップS86で色空間圧縮が行われる。図１０はJCH色知覚空間における色空間圧縮の概念を、図１１はQMH色知覚空間における色空間圧縮の概念をそれぞれ示す図である。上記の内外判定により出力デバイスの色再現範囲外であると判定された入力色信号は、JCH色知覚空間やQMH色知覚空間において、色相角h（またはH）が保存されるように、色再現範囲内へマッピングされる。そして、このマッピング結果は、相対的カラーマッチングの場合にはJCH色知覚空間を入出力色空間とするLUTへ、絶対的カラーマッチングの場合にはQMH色知覚空間を入出力色空間とするLUTへ格納される。こうして、図１４で後述するルックアップテーブル（LUT)132,133が生成される。
【００５８】
図１２は異なるデバイス間における色空間圧縮の概念を示す図で、破線は入力デバイスの色再現領域を、実線は出力デバイスの色再現領域をそれぞれ示している。JCH色知覚空間においては、J(lightness)の大きさが観察条件1および2の光源白色点（以下では「白色点1」「白色点2」と略す場合がある）によってそれぞれ正規化される。そのため、Jは環境条件1および2の照度レベル（以下では「照度レベル1」「照度レベル2」と略す場合がある）に依存しない。一方、QMH色知覚空間においては、Q(brightness)の大きさが照度レベル1および2によって変化する。従って、相対的カラーマッチングでは白色点1がそのまま白色点2になる。一方、絶対的カラーマッチングでは、照度レベル1＞照度レベル2の場合には白色点1が白色点2ヘマッピングされる。また、照度レベル1＜照度レベル2の場合には白色点1が白色点2より低いのでグレーとして出力される。
【００５９】
［観察条件2に依存するデータの作成］
次に、データ作成部47を用いて変換LUT 16を作成する。
【００６０】
図13は環境光に対応する変換LUT 16を再構築する処理例を示すフローチャートである。一般に、出力デバイス用のICCプロファイルには、XYZまたはLab値からデバイスのCMYKまたはRGB値への変換を行うためのLUT（BtoA0 Tagなど）が色空間圧縮も含めた形式で格納されている。しかし、LUTへ入力すべきXYZ値はD50またはD65を基準とするデータであるから、環境光に応じた変換LUTとして直接利用することはできない。
【００６１】
そこで、色空間圧縮処理と同様に、ステップS71で、出力プロファイル46に格納されているCMYK→XYZ変換を行うための変換LUT（AtoB0 Tagなど）を読み込み、ステップS72で、変換LUTからCMYK→XYZ関係データを取り出す。なお、CMYK→XYZ関係データのCMYK値はRGB値など他のデバイス依存色であっても構わないし、XYZ値はLab値など他のデバイスに依存しない色であっても構わない。次に、ステップS73で、出力プロファイル46内に予め格納された観察条件2を取り出す。
【００６２】
取り出されたCMYK→XYZ関係データのXYZ値はD50またはD65を基準とするデータであるから、ステップS74で測色光源基準のXYZ値を環境光基準のXYZ値に修正する。つまり、色知覚モデルによって測色光源基準のXYZ値を、その測色条件（例えば、D50光源の白色点（D50基準の場合）、照度レベル、周囲光の状態など）に基づいて、人間の色知覚空間JCHへ変換する。そして、測色条件とは異なる観察条件2（例えば、D65光源の白色点、照度レベル、周囲光の状態など）に基づいて、再びXYZ値へ逆変換することにより、測色光源基準のXYZ値を環境光基準のXYZ値に変換することができる。
【００６３】
これにより、デバイスCMYK値から環境光基準のXYZ値への関係が得ることができる。ステップS75では、CMYK→環境光XYZ関係データを用いて、環境光XYZ→CMYK関係データを反復法などを用いて最適化すれば、所望の環境光に対応する変換LUT 16を得る。
【００６４】
［カラーマッチングの実行］
図１４はカラーマッチング処理の概念を示す図であり、カラーマッチング部48による処理を説明している。11はデータ作成部41により観察条件1に基づき作成された変換LUT、132は色空間圧縮部44によりJCH色空間上で作成されたLUT、133は色空間圧縮部45によりQMH色空間上で作成されたLUT、16はデータ作成部47により観察条件2に基づき作成された変換LUTである。
【００６５】
RGBまたはCMYKの入力色信号は、変換LUT 11により入力デバイスの色信号から観察条件1におけるデバイスに依存しない色信号であるXYZ信号へ変換される。次に、XYZ信号は、色知覚モデル順変換部134および135により観察条件1（D50光源の白色点、照度レベル、周囲光の状態など）に基づいて人間の知覚信号JCHまたはQMHへ変換される。相対的カラーマッチングの場合はJCH空間が、絶対的カラーマッチングの場合はQMH空間がそれぞれ選択される。
【００６６】
色知覚信号JCHおよびQMHはLUT 132および133により出力デバイスの色再現範囲内へ圧縮される。色空間圧縮された色知覚信号JCHおよびQMHは、色知覚モデル逆変換部136および137により観察条件2（D65光源の白色点、照度レベル、周囲光の状態など）に基づいて観察条件2におけるデバイスに依存しない色信号であるXYZ信号へ変換される。そして、XYZ信号は変換LUT 16により観察条件2における出力デバイスに依存する色信号へと変換される。
【００６７】
以上の処理によって得られたRGBまたはCMYK信号は出力デバイスへ送られて、その色信号によって示される画像がプリント出力される。そのプリントアウトを観察条件2の下で観察すれば、観察条件1の下で観察されるオリジナル原稿と、同じ色味に見える。
【００６８】
［任意の基準白色点に応じたCRGB空間］
上記の例ではデバイスに依存しない色空間としてXYZ信号を例に説明を行っているが、XYZ信号の代わりにデバイスに依存しないRGB信号を利用することも少なくない。RGB色空間はXYZ色空間から3x3マトリクスによる1対1対応の線型変換が可能であり、三原色点の色度及び基準白色点により色再現範囲を決定することができる。又、入力色空間としてRGB色空間を利用すれば、3D LUTにおけるグレー軸の配置を対角軸上に行うことが可能となり、格子点数に関係なく四面体補間におけるグレー色の色ずれを防ぐことができる効果がある。これに対して、入力色空間としてLab色空間等を利用した場合には、グレー色の色ずれが生じる場合がある。3D LUTのa軸/b軸方向の格子点数が奇数個の場合にはグレー軸が格子点上に配置されるため線形補間におけるグレー色の色ずれが生じないが、格子点数が偶数個の場合には線形補間による色ずれが生じてしまうためである。以下、デバイスに依存しないRGB信号を利用した色処理を説明する。なお、その機能構成は、図４と同様であるので、図示は省略する。また、図２１は、非デバイス依存のRGB空間を設定するための処理を説明するフローチャートであり、例えば、データ作成部41,47により実行される。
【００６９】
RGB三原色の色度R(xr, yr), G(xg, yg), B(xb, yb)及び基準白色点の三刺激値(Xw, Yw, Zw)より、RGB色空間とXYZ色空間の変換式は以下の方法によって求めることができる。
【００７０】
【数３】
2007174126.tif 000005
【００７１】
まず、ステップS201において、XY色度上において画像データの色再現範囲を包含するRGB空間を設定する。例えば、図１５に示されるような人間の全可視領域を包含する三原色の色度(x, y)は、以下のように表される。
【００７２】
【数４】
2007174126.tif 000006
【００７３】
次に、ステップS202において、環境光の基準白色の色度を取得する。そして、ステップS203において、ステップS201で設定したRGB色空間の三原色の色度と、ステップS202で取得した基準白色の色度に基づいて、XYZ空間と上記RGB空間との間の変換マトリクスを算出する。例えば、上記三原色の色度と基準白色点D65によって決定される変換マトリクスは、(7)〜(12)式を利用すれば以下のようになる。
【００７４】
【数５】
2007174126.tif 000007
【００７５】
以下、デバイスRGBとデバイスに依存しないRGBを区別するために、基準白色点及び(13)〜(15)式の三原色によって定義されるRGB色空間をCRGB色空間と呼ぶ。尚、デバイスに依存しないRGBの三原色は(13)〜(15)式に限定されるものではない。基準白色点D65(X, Y, Z) = (0.9505, 1.0000, 1.0891)に対するCRGB値を例えば8ビットの量子化によって表現すれば(11)式を用いて(R, G, B) = (255, 255, 255)となる。しかし、同変換式において他の基準白色点A(X, Y, Z) = (1.098675, 1.000000, 0.355916)に対するCRGB値は8ビットの量子化において(R, G, B) = (562, 106, 83)となり、オーバーフローが発生する。また、仮に表現できたとしても、CRGB色空間を入力とする3D LUTでは図１６に示されるようにグレー軸が対角軸上に配置されないため四面体補間によるグレー色の色ずれが発生する可能性がある。
【００７６】
従って、本実施形態では、観察条件下の基準白色点に応じて動的にXYZ色空間とCRGB色空間の変換式を作成する。これにより、CRGB色空間におけるオーバーフローやアンダーフローを防ぐとともに、3D LUTにおいてグレー軸が対角軸からずれることによるグレー色の色ずれを防ぐ。
【００７７】
図１７に観察条件下の基準白色点に応じて動的にXYZ色空間とCRGB色空間の変換式を作成し、異なる観察条件下のカラーマッチングを行った例を示す。
【００７８】
同図において、161はRGBやCMYK等のデバイスに依存した信号を観察条件下の白色点基準のCRGB信号へ変換するためのプロファイルである。このプロファイルはデータ作成部41（図４）によって生成される。具体的には、図６または図７のフローチャートにより説明した方法でRGB→XYZ関係データを作成した後、ステップS55で更にXYZ→CRGBの変換マトリクス(ステップS203で得られた変換マトリクス)を適用することによってRGB→CRGB関係データを得る。もちろん、RGB→XYZ変換によってXYZ空間の信号を得て、これをステップS203で得られたXYZ→CRGB変換することによりCRGB空間の信号を得るようにしてもよい。ここで、例えば、入力側の観察条件1をD50とした場合、XYZ→CRGBの変換マトリクスは、CRGB三原色の色度を示す(13)〜(15)式及び入力側の基準白色点D50 (X, Y, Z) = (0.9642, 1.0000, 0.8249)より、以下の(19)式によって与えられる。
【００７９】
【数６】
2007174126.tif 000008
【００８０】
得られたRGB→CRGB関係データはLUT形式等へ変換され、入力側の基準白色点D50と共にプロファイルへ格納される。なお、格納されるCRGB値は8ビットの量子化値に限定される必要はなく、16ビット等の量子化精度であってもかまわない。また、データ作成部41（図４）では色知覚モデルを用いて測色光基準のXYZ値を観察光基準のXYZ値に修正しているが、カラーターゲットの分光反射率及び観察光の分光分布が得られる場合には観察光基準のXYZ値を直接求めてもよい。
【００８１】
同様に、166は観察条件下の白色点基準のCRGB信号をRGBやCMYK等のデバイスに依存した信号へ変換するためのプロファイルである。データ作成部47（図４）は、図１３に示される処理によってXYZ→CMYK関係データを作成する。そして、ステップS75で、更に、XYZ→CRGBの変換マトリクスを適用することによってCRGB→CMYK関係データを得る。ここで、XYZ→CRGBの変換マトリクスは、例えば、出力側の基準白色点Aが (X, Y, Z) = (1.098675, 1.0000, 0.355916)の場合、CRGB三原色(13)〜(15)により、以下の(21)式のように与えられる。
【００８２】
【数７】
2007174126.tif 000009
【００８３】
なお、データ作成部47では色知覚モデルを用いて測色光基準のXYZ値を観察光基準のXYZ値に修正しているが、カラーパッチの分光反射率及び観察光の分光分布が得られる場合には観察光基準のXYZ値を直接求めてもよい。得られたCRGB→CMYK関係データは、出力側の基準白色点Aと共にプロファイルへ格納される。また、データ作成部47の図１３に示した方法によって得られたXYZ→CMYK関係データからCRGB→CMYK関係データを作成する他の方法として例えば次のような方法を用いることもできる。ステップS74の処理によりCMYK→XYZ関係データを作成した後、RGB→XYZ変換を適用し、CMYK→RGB関係データを作成する。そして、作成されたCMYK→RGB関係データから、CRGB→CMYK関係データを作成する。
【００８４】
入力側の基準白色点D50を格納したプロファイル161と出力側の基準白色点Aを格納したプロファイル166を用いたカラーマッチングは、以下のような処理の流れになる。
【００８５】
図２０は、RGB色空間を用いたカラーマッチング部48によるカラーマッチング処理を説明する図であり、図１４に対応するものである。なお、以下では観察条件1の基準白色点がD50、観察条件2の基準白色点がAとして説明を行う。先ず、変換LUT(プロファイル)161により、RGBまたはCMYKの入力色信号はD50基準のCRGB信号へ変換される。色空間変換部201は、変換LUT161に格納された入力側の基準白色点D50を読み出し、上記の(18)式に示されるCRGB→XYZの変換マトリクスを作成し、D50基準のCRGB信号をXYZ信号へ変換する。次に、XYZ信号は、色知覚モデル順変換部162（図２０では134、135)により観察条件1(D50光源の白色点、照度レベル、周囲光の状態など)に基づいて人間の知覚信号JCHまたはQMHへ変換される。ここで、相対的カラーマッチングの場合はJCH空間163（すなわち変換部134）が、絶対的カラーマッチングの場合はQMH空間164(すなわち変換部135)がそれぞれ選択される。
【００８６】
色知覚信号JCHまたはQMHは、LUT132またはLUT133により出力デバイスの色再現範囲内へ圧縮される。色空間圧縮された色知覚信号JCHまたはQMHは、色知覚モデル逆変換部165(136または137)により観察条件2(A光源の白色点、照度レベル、周囲光の状態など)に基づいてXYZ信号へ変換される。色空間変換部202は変換LUT(プロファイル)166に格納された出力側の基準白色点Aを読み出し、(21)式に示されるXYZ→CRGBの変換マトリクスを作成し、XYZ信号をA基準のCRGB信号へ変換する。そして、変換LUT166によりA基準のCRGB信号はCMYK(またはRGB)の出力信号へ変換される。
【００８７】
なお、上述したカラーマッチング部48の処理を適用する際に、プロファイル161または166内に基準白色点が格納されていない場合には、例えばICCで規定されているD50をデフォルトの基準白色点として代用するものとする。
【００８８】
なお、上述の実施形態では、カラーマッチング部48は、色知覚モデルにて色空間圧縮を行っている。すなわち、観察条件1下のCRGB(またはXYZ)信号が色知覚モデル順変換部134または135により人間の知覚信号JCHまたはQMHへ変換された後、LUT132および133により出力デバイスの色再現範囲内へ圧縮される。そして、色知覚モデル逆変換部136または137により観察条件2下のCRGB(またはXYZ)信号へ変換される。しかしながら、色空間圧縮の行われる場所はこれに限定される必要はない。例えば、出力側プロファイル内で色空間圧縮を行うことも可能である。以下に、その一例を次に示す。
【００８９】
色知覚モデル順変換部134または135は、観察条件1下のCRGB(またはXYZ)信号を人間の知覚信号JCHまたはQMHへ変換する。得られた知覚信号JCHまたはQMHは、色空間圧縮を伴うことなく、色知覚モデル逆変換部136または137により観察条件2下のCRGB(またはXYZ)信号へ変換される。一方、出力側のプロファイル166を作成する際には、色知覚モデル順変換部134または135を用いて観察条件2下のCRGB(またはXYZ)信号を再度人間の知覚信号JCHまたはQMHへ変換し、LUT132又は133により出力デバイスに対する色空間圧縮を施す。色知覚モデル逆変換部136または137は、色空間圧縮を施された信号を、観察条件2下のCRGB(またはXYZ)信号へ変換し、変換LUT等によりRGBまたはCMYKの出力信号へ変換するようにする。
【００９０】
更に、第1実施形態においては、プロファイルへ格納された観察光の基準白色点と予め定義されたCRGB三原色の色度を利用することにより、カラーマッチング部48がCRGB色空間とXYZ色空間の変換マトリクスを動的に作成している。しかしながら、該変換マトリクスを得るためのプロファイル情報は観察光の基準白色点に限定される必要はない。つまり、観察条件に応じたCRGB色空間とXYZ色空間の変換マトリクスをプロファイル情報として保存していてもかまわない。また、このプロファイル情報は画像データに付加されて、画像ファイルの一部を構成するようにしてもよい。
【００９１】
以上のように第１実施形態によれば、基準白色点が非デバイス依存のRGB空間における三原色の値(各RGB値)の最大値(例えばR=G=B=255)となるようにXYZ空間からの変換マトリクスが設定される。このため、RGB空間への変換時におけるオーバーフローやアンダーフローの発生が防止される。また、図１６に示したようなRGB LUTにおいてR=G=Bの直線上にグレー色が配置されることになり、色ずれが防止される。
【００９２】
＜第2実施形態＞
上記第1実施形態では、任意の基準白色点と予め定義されたCRGB三原色の色度からCRGB色空間とXYZ色空間の変換マトリクスを動的に作成する。しかしながら、実際の画像データはRGB色空間全体に分布しているわけではなく、RGB色空間の一部に分布しているに過ぎない。従って、無駄な空間の定義が含まれてしまい、階調性、変換精度が低下する。この課題を解決するために、第2実施形態では、画像データの色再現範囲を包含するR, G, Bの各色度点を決定し、該画像データの基準白色点と該R, G, Bの各色度点から該画像データに最適なRGB色空間を動的に定義可能とする。そして、定義されたRGB色空間とXYZ色空間の変換マトリクスを決定する。また、必要に応じてガンマ変換を行なうことにより、輝度特性を補正することもできる。
【００９３】
［既存のRGB色空間と相似形なRGB色空間］
以下、基準白色点Wの色度W(xw, yw)、Rの色度R(xr, yr)、Gの色度G(xg, yg)、Bの色度B(xb, yb)で定義される既存のRGB色空間(例えばsRGB、AdobeRGB、CRGB)と相似な最適化RGB色空間を求める例を示す(図１９参照)。ここで、画像の白色点は基準白色点の色度と同じであるとする。また、図２２は第2実施形態によるRGB色空間の設定処理を説明するフローチャートであり、図２１のステップS201で実行される処理に該当する。
【００９４】
まず、ステップS211において、画像に対してデバイス・プロファイル等を適用して各画素に対してデバイスに依存しないXYZ値を求め、(22)式、(23)式より各画素の色度P(x, y)を求める。
【００９５】
【数８】
2007174126.tif 000010
【００９６】
次に、ステップS212において、図１８に示されるように既存のRGB空間を設定し、ステップS213において基準白色点を設定する。本例では、既存のRGB空間としてsRGBを用いている。また、基準白色点としてD65を用いている。そして、図１９に示されるように、ステップS214において、基準白色点とRGBの各色度点を結ぶ直線上(1804,1805,1806)においてRGBを移動させることにより、画像データの色再現範囲が当該RGB空間の色域に包含させる。以下、色空間の大きさの調整について詳細に説明する。
まず、(24)式から画素の色度P(x, y)の白色点W(xw, yw)に対する相対角度θを求める。
【００９７】
【数９】
2007174126.tif 000011
【００９８】
次に、画素の色度P(x, y)の白色点W(xw, yw)に対する相対角度θが(25)式、(26)式、(27)式のどの領域に属するかを判定する。
【００９９】
【数１０】
2007174126.tif 000012
【０１００】
(25)式に該当すれば直線R-Wと直線G-Wに挟まれた領域R-G-Wに属し、(26)式に該当すれば直線G-Wと直線B-Wに挟まれた領域G-B-Wに属し、(27)式に該当すれば直線B-Wと直線R-Wに挟まれた領域B-R-Wに属することになる。
【０１０１】
次に、各領域R-G-W、G-B-W、B-R-Wにおいて、以下の条件を満たす直線を探す。
・ 画素を含む直線。
・ 既存のRGB色空間の直線R-G、直線G-B、直線B-Rと平行な直線。
・ 白色点から最も遠い直線。
【０１０２】
つまり、領域R-G-Wに属する画素(x, y)については(28)式、領域G-B-Wに属する画素(x, y)については(29)式、領域B-R-Wについては(30)式を適用し、切片bの大きさによって白色点から最も遠い直線を決定する。ここで、(28)式、(29)式、(30)式はそれぞれ直線R-G(1801)、G-B(1802)、B-R(1803)を示す。
【０１０３】
【数１１】
2007174126.tif 000013
【０１０４】
図１８のsRGBのようなRGB色空間だと直線R-Gの傾きは負、直線G-Bの傾きは正、直線B-Rの傾きは正となるが、図１５のCRGBのようなRGB色空間だと直線R-Gの傾きは負、直線G-Bの傾きは負、直線B-Rの傾きは正となる。このため、白色点から最も遠い直線を決定するための判定基準は相似にしたいRGB色空間の形状によって異なってくる。例えば、RGB空間の場合、領域R-G-Wでは(28)式で切片bが最大となる画素(x, y)を求める。また、領域G-B-Wでは直線G-Bの傾きが正の場合（図１９）には(26)式で切片bが最大となる画素(x, y)、直線G-Bの傾きが負の場合（図１４）には(29)式で切片bが最小となる画素(x, y)を求める。また、領域B-R-Wでは(30)式で切片bが最小となる画素(x, y)を求めることになる。
【０１０５】
各領域R-G-W、G-B-W、B-R-Wで、画像データの値を含み、白色点から最も遠い直線R'-G'(1807)、G'-B'(1808)、B'-R'(1809)が決定すれば、次に直線R-W(1804)、G-W(1805)、B-W(1806)との交点からRGB色空間の三原色の候補点を求める。ここで直線R-W、G-W、B-Wは(31)式、(32)式、(33)式によって示される。
【０１０６】
【数１２】
2007174126.tif 000014
【０１０７】
R(x, y)の候補点としては、
・領域B-R-Wで求められた切片bを代入した(30)式と(31)式の連立方程式の解R1、
・領域R-G-Wで求められた切片bを代入した(28)式と(31)式の連立方程式の解R2
の２点が求められる。また、G(x, y)の候補点としては、
・領域R-G-Wで求められた切片bを代入した(28)式と(32)式の連立方程式の解G1、
・領域G-B-Wで求められた切片bを代入した(29)式と(32)式の連立方程式の解G2
の２点が求められる。更に、B(x, y)の候補点としては、
・領域G-B-Wで求められた切片bを代入した(29)式と(33)式の連立方程式の解B1、
・領域B-R-Wで求められた切片bを代入した(30)式と(33)式の連立方程式の解B2
の２点が求められる。
【０１０８】
次に、求められたR(x, y)の候補２点、G(x, y)の候補２点、B(x, y)の候補２点から、各領域R-G-W、G-B-W、B-R-Wで、既存のRGB色空間に相似で、白色点から最も遠い直線R0-G0、G0-B0、B0-R0を決定する。
【０１０９】
まず、Rに関して、R1とR2をそれぞれ(28)式に代入し、切片bが最大となる点をRの最終候補点R3とする。次にR3の切片を(28)式に代入し、(32)式との交点G3を求め、G1、G2、G3をそれぞれ(29)式に代入し、切片bが最大となる点（直線G-Bの傾きが負の場合には最小となる点）をGの最終候補点G4とする。次にG4の切片を(29)式に代入し、(33)式との交点B3を求め、B1、B2、B3をそれぞれ(30)式に代入し、切片bが最小となる点を求めればBの相似点B0が決定する。次にB0の切片を(30)式に代入し、(31)式との交点R4を求め、R3、R4をそれぞれ(28)式に代入し、切片bが最大となる点を求めればRの相似点R0が決定する。最後にR0の切片を(28)式に代入し、(32)式との交点G5を求め、G4、G5をそれぞれ(29)式に代入し、切片bが最大となる点（直線G-Bの傾きが負の場合には最小となる点）を求めればGの相似点G0が決定する。
【０１１０】
以上の処理により、既存のRGB色空間に相似で、画像に最適なRGB色空間(R0-G0-B0)が求められる。従って、基準白色点W(x, y)の三刺激値(Xw, Yw, Zw)を(34)式、(35)式、(36)式によって求めれば、(7)式から(12)式を適用して、画像に最適なRGB色空間とXYZ色空間の変換式を求めることができる。
【０１１１】
【数１３】
2007174126.tif 000015
【０１１２】
sRGB(図１８)の場合には、既存のRGB色空間の値として、以下の値を適用する。
【０１１３】
【数１４】
2007174126.tif 000016
【０１１４】
同様に、D65基準のCRGB(図１５)の場合には、既存のRGB色空間の値として(13)式、(14)式、(15)式、及び(40)式の値を適用すればよい。
【０１１５】
画像に対してデバイス・プロファイル等を適用して得られたデバイスに依存しないXYZ値は(12)式を用いて所望のRGB値へと変換され、最適化RGB画像としてメモリやファイルに格納される。RGB値へ変換される際に、オーバーフローやアンダーフローが発生した場合には、ガンマ値を1.0から増加させたり、減少させたりすることによって、更なる最適化を図ることができる。
【０１１６】
導出された3x3マトリクスとガンマ変換の変換式はプロファイル化し、変換した最適化RGB画像へ埋め込んでおけば、その最適化RGBプロファイルを利用して画像を元のXYZ値へ復元することができる。
【０１１７】
sRGBに相似な最適化RGB色空間は、最適化RGBプロファイルを適用しないでRGB画像を開いた際にsRGBの色相が保持される利点がある。また、CRGBに相似な最適化RGB色空間は、人間の視覚領域に相似なため不可視な領域が含まれず、最適なエンコーディングを実現できる利点がある。例えば、sRGB画像がsRGB色空間の全領域を占めていない場合、各色8ビットのsRGBへエンコーディングするよりも、各色8ビットの最適化RGB色空間へエンコーディングした方が、同じ各色8ビットでも量子化効率を高めることができる。そのため、良好な階調特性を得ることができる。
【０１１８】
［最適化RGB色空間の量子化ビット数の最適化］
また、上記実施形態を用いることによって画像データの色再現範囲を包含する最適化RGB色空間が決定できるため、画像データの色再現範囲によって量子化ビット数を最適化し、最適化RGB画像のサイズを必要最小限に抑えることもできる。例えば、sRGBに相似な最適化RGB色空間では、その最適化RGB色空間がsRGBの色再現範囲より小さい場合には各色８ビットの最適化RGB画像へエンコーディングする。また、最適化RGB色空間がsRGBの色再現範囲より大きい場合には、その度合いに応じて各色１０ビット、各色１２ビット、各色１４ビット、各色１６ビットといった各色８ビット以上のエンコーディングを行なうように構成することもできる。例えば、以下の(41)式を用いて、画像データの色再現範囲の大きさに応じて各色のビット数を自動可変にすることもできる。(41)式による例示は、sRGB色空間に基づいて最適化RGB色空間のR(xr, yr)のエンコーディングビット数を求めているものである。他の色（G,B)のエンコーディングビット数もこれに倣って求めることができることは明らかである。尚、Rの場合、R領域の大きさは図１５からもわかるように、Rの値が大きく影響するのでRのエンコーディングビット数の決定にはｘを用いている。又、別の方法として、R,G,B各色の白の色度からの距離に基づいてエンコーディングビット数を設定するようにしてもよい。
【０１１９】
【数１５】
2007174126.tif 000017
【０１２０】
但し、ROUNDUP()は切り上げを示す．
xrはRのx値、0.3127は基準白色のx値、0.64はsRGBのRのx値．
xr=0.64ならばエンコーディングのビット数は8となる．
エンコーディングのビット数は16を上限とする。
【０１２１】
以上のように第2実施形態によれば、デバイスに依存しないRGB空間における色値の表現に適切な量子化ビット数を割り当てることが可能になる。また、第2実施形態によれば、画像データの色再現範囲によって量子化ビット数を最適化できるので、画像コンテンツに基づいたデータ圧縮等にも利用することができる。
【０１２２】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２３】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２５】
以上説明した各実施形態によれば、次の効果を得ることができる。
(1)  画像データの色再現範囲を包含するＲ、Ｇ、Ｂの各色度点を決定し、画像の白色点及び該R、Ｇ、Ｂの各色度点からRGB色空間を定義することにより、画像の色再現範囲を全て表現した、画像に最適なRGB色空間を提供することができる。
(2)  画像データの色再現範囲を包含するＲ、Ｇ、Ｂの各色度点を決定し、画像の白色点及び該Ｒ、Ｇ、Ｂの各色度点からRGB色空間を定義すると共に、画像の色再現範囲の大きさによって量子化ビット数を変化させる。これにより、画像の色再現範囲を全て表現し、量子化効率の良い画像に最適なRGB色空間を提供することができる。
【図面の簡単な説明】
【０１２６】
【図１】一般的なカラーマッチングの概念図である。
【図２】本発明にかかる実施形態で使用する色知覚モデルについて説明する図である。
【図３】物体色を扱うカラーマッチング処理を説明する図である。
【図４】実施形態による機能構成例を示すブロック図である。
【図５】図４に示される機能構成を実現する装置の構成例を示すブロック図である。
【図６】環境光に対応する変換LUTを再構築する処理例を示すフローチャートである。
【図７】環境光に対応する変換LUTへ更新する処理例を示すフローチャートである。
【図８】JCHまたはQMH色空間上で色空間圧縮を行う処理例を示すフローチャートである。
【図９】色再現域を近似する12面体を示す図である。
【図１０】JCH色知覚空間における色空間圧縮の概念を示す図である。
【図１１】QMH色知覚空間における色空間圧縮の概念を示す図である。
【図１２】異なるデバイス間における色空間圧縮の概念を示す図、
【図１３】環境光に対応する変換LUTを再構築する処理例を示すフローチャートである。
【図１４】カラーマッチング処理の概念を示す図である。
【図１５】人間の全可視領域を包含するRGB領域を示す図である。
【図１６】基準白色点が固定されている場合のグレー軸のずれを示す図である。
【図１７】実施形態において入力側基準白色点に応じたCRGB色空間と出力側基準白色点に応じたCRGB色空間を用いたカラーマッチング処理例を示す図である。
【図１８】sRGB色空間を示す図である。
【図１９】実施形態における、画像データの色再現範囲を包含するＲ、Ｇ、Ｂの各色度点を決定する例を示す図である。
【図２０】入力側基準白色点に応じたCRGB色空間と出力側基準白色点に応じたCRGB色空間を用いたカラーマッチング処理の概念を示す図である。
【図２１】デバイス非依存のRGB空間への変換マトリクスの算出処理を説明するフローチャートである。
【図２２】デバイス非依存のRGB空間を設定する処理を説明するフローチャートである。
【図１】
2007174126.tif 000018
【図２】
2007174126.tif 000019
【図３】
2007174126.tif 000020
【図４】
2007174126.tif 000021
【図５】
2007174126.tif 000022
【図６】
2007174126.tif 000023
【図７】
2007174126.tif 000024
【図８】
2007174126.tif 000025
【図９】
2007174126.tif 000026
【図１０】
2007174126.tif 000027
【図１１】
2007174126.tif 000028
【図１２】
2007174126.tif 000029
【図１３】
2007174126.tif 000030
【図１４】
2007174126.tif 000031
【図１５】
2007174126.tif 000032
【図１６】
2007174126.tif 000033
【図１７】
2007174126.tif 000034
【図１８】
2007174126.tif 000035
【図１９】
2007174126.tif 000036
【図２０】
2007174126.tif 000037
【図２１】
2007174126.tif 000038
【図２２】
2007174126.tif 000039