(57)【要約】【課題】  色域の無彩色上の特定色点が異なる二種類のデバイス間の測色的一致を図るマッピングを行う場合に、両デバイスの色域の特定色点を合わせ、かつ、マッピング前後の画像全体の色の印象が変化を抑制する。【解決手段】  入力色域の画像データを入力し(S12)、入力色域と出力色域の色域データを入力し(S13)、入力色域の無彩色軸上の特定色点に応じて入力色域の補正領域を設定し、出力色域の無彩色軸上の特定色点に応じて出力色域の補正領域を設定する(S16)。そして、入力画像データのうち、入力色域の補正領域に含まれる画像データに、入力領域の特定色点に応じた補正を施し(S17)、出力色域の補正領域に含まれる出力色域の色域データに、出力領域の特定色点に応じた補正を施す(S18)。そして、補正した画像データを、補正した色域データが示す色域にマッピングし(S19)、マッピングした画像データのうち、出力色域の補正領域に含まれるに画像データに、ステップS18で色域データに適用した補正の逆補正を施す(S20)。【選択図】    図3
2008141237.tif 000002
【特許請求の範囲】
【請求項１】
第一の色域の画像データを第二の色域の画像データに色変換する色処理装置であって、
前記第一の色域を示す入力色域データと前記第二の色域を示す出力色域データを入力する色域入力手段と、
前記第一の色域の無彩色軸上の特定色点に応じて前記第一の色域の補正領域を設定し、前記第二の色域の無彩色軸上の前記特定色点に応じて前記第二の色域の補正領域を設定する設定手段と、
前記第二の色域の補正領域に含まれる出力色域データに、前記第二の色域の前記特定色点に応じた補正を施す領域補正手段と、
前記第一の色域の画像データを入力する画像入力手段と、
前記入力した画像データのうち、前記第一の色域の補正領域に含まれる画像データに、前記第一の領域の前記特定色点に応じた補正を施すデータ補正手段と、
前記補正された画像データを、前記補正された出力色域データが示す色域にマッピングするマッピング手段と、
前記マッピングされた画像データのうち、前記第二の色域の補正領域に含まれるに画像データに、前記領域補正手段が前記出力色域データに適用した補正の逆補正を施す逆補正手段とを有することを特徴とする色処理装置。
【請求項２】
前記特定色点は白色点または黒色点であり、前記設定手段は、色空間の明度軸に対する前記特定色点のずれが大きいほど前記補正領域を拡大することを特徴とする請求項1に記載された色処理装置。
【請求項３】
前記領域補正手段は、前記第二の色域の前記特定色点の明度値を保持して、前記特定色点を前記明度軸に移動するとともに、前記特定色点以外の前記出力色域データを前記特定色点の移動量に応じて補正することを特徴とする請求項2に記載された色処理装置。
【請求項４】
前記データ補正手段は、前記第一の色域の前記特定色点の明度値を保持して、前記特定色点を前記明度軸に移動する場合の移動量に応じて、前記画像データを補正することを特徴とする請求項2に記載された色処理装置。
【請求項５】
前記出力色域データまたは前記画像データの補正量は、前記特定色点の移動量を示す色度値、前記特定色点の明度値、前記補正領域の明度の下限値、および、被補正データの明度値から計算することを特徴とする請求項3または請求項4に記載された色処理装置。
【請求項６】
第一の色域の画像データを第二の色域の画像データに色変換する色処理方法であって、
前記第一の色域を示す入力色域データと前記第二の色域を示す出力色域データを入力するステップと、
前記第一の色域の無彩色軸上の特定色点に応じて前記第一の色域の補正領域を設定し、前記第二の色域の無彩色軸上の前記特定色点に応じて前記第二の色域の補正領域を設定するステップと、
前記第二の色域の補正領域に含まれる出力色域データに、前記第二の色域の前記特定色点に応じた補正を施す領域補正ステップと、
前記第一の色域の画像データを入力するステップと、
前記入力した画像データのうち、前記第一の色域の補正領域に含まれる画像データに、前記第一の領域の前記特定色点に応じた補正を施すステップと、
前記補正した画像データを、前記補正した出力色域データが示す色域にマッピングするステップと、
前記マッピングした画像データのうち、前記第二の色域の補正領域に含まれるに画像データに、前記領域補正ステップで前記出力色域データに適用した補正の逆補正を施すステップとを有することを特徴とする色処理方法。
【請求項７】
画像処理装置を制御して、請求項6に記載された色処理を実現することを特徴とするコンピュータプログラム。
【請求項８】
請求項7に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第一の色域の画像データを第二の色域の画像データに色変換する色処理に関する。
【背景技術】
【０００２】
近年、ディジタルカメラ、カラースキャナなどの入力デバイスによって画像を入力し、CRT、LCDなどの画像表示デバイスを用いて画像を表示し、カラープリンタなどの出力デバイスによって画像を出力する機会が増えた。その際、入力デバイスが画像を記録する色空間の色域（以下「入力色域」と呼ぶ）と、表示、出力デバイスの色域（以下「出力色域」と呼ぶ）の差による、色の見えの違いを吸収するために、カラーマッチング処理を行うのが通例である。つまり、カラーマッチング処理により、入力色域を出力色域にマッピングすることにより、デバイス間の色の見えの差を補正する。
【０００３】
色域マッピングの一方法に、カラリメトリック(colorimetric)と称される、測色的一致を図るマッピングがある。colorimetricマッピングは、入力色域と出力色域の共通領域の色はマッピングせずにそのまま再現し、非共通領域の色はマッピングする方法である。入力色域に比べて出力色域が狭い場合、出力色域外の（入力色域の）色は、出力色域の境界面にマッピングされる。つまり、表色空間上で絶対的な色値を合わせることを目的とするマッピング方法である。
【０００４】
入力デバイスの白色点と、出力デバイスの白色点が異なる場合、入力デバイスでは白である色をcolorimetricマッピングすると、出力デバイスによって不自然に着色された色として色再現されることがある。これを回避するためのマッピング方法として、相対colorimetricマッピングと呼ばれる手法がある。この手法は、colorimetricマッピングを行う前に、入出力デバイスの白色点を合わせるように両色域を補正して、入力デバイスの白色が出力デバイスの白色として色再現されるようにする。相対colorimetricマッピングにおける色域補正（白色点の補正）方法は、例えば特許文献1に記載される技術がある。この技術は、入力デバイスと出力デバイスの白色点が異なる場合、出力デバイスの白色点をXYZ空間でスケーリングすることで、両デバイスの白色点を一致させる。
【０００５】
しかし、特許文献1が記載する色域補正を行うと、図1に実線で示す補正前の色域と破線で示す補正後の色域のように、表色空間における出力色域の大きく移動が発生する。そのため、入力画像の色の印象が、相対colorimetricマッピング後は大きく変化し、colorimetricマッピング本来の、表色空間上で絶対的な色値を合わせるという目的が達成されない。
【０００６】
なお、上記の問題は、入出力デバイスの黒色点を合わせる場合にも発生する。言い換えれば、色域の無彩色軸上にある白色点や黒色点などの特定色点を入出力デバイスで合せて、colorimetricマッチングを行う場合に上記の問題が発生する。
【０００７】
【特許文献１】特開2002-204374公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、色域の無彩色上の特定色点が異なる二種類のデバイス間の測色的一致を図るマッピングを行う場合に、両デバイスの色域の特定色点を合わせ、かつ、マッピング前後の画像全体の色の印象が変化を抑制することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１０】
本発明にかかる色処理装置は、第一の色域の画像データを第二の色域の画像データに色変換する色処理装置であって、前記第一の色域を示す入力色域データと前記第二の色域を示す出力色域データを入力する色域入力手段と、前記第一の色域の無彩色軸上の特定色点に応じて前記第一の色域の補正領域を設定し、前記第二の色域の無彩色軸上の前記特定色点に応じて前記第二の色域の補正領域を設定する設定手段と、前記第二の色域の補正領域に含まれる出力色域データに、前記第二の色域の前記特定色点に応じた補正を施す領域補正手段と、前記第一の色域の画像データを入力する画像入力手段と、前記入力した画像データのうち、前記第一の色域の補正領域に含まれる画像データに、前記第一の領域の前記特定色点に応じた補正を施すデータ補正手段と、前記補正された画像データを、前記補正された出力色域データが示す色域にマッピングするマッピング手段と、前記マッピングされた画像データのうち、前記第二の色域の補正領域に含まれるに画像データに、前記領域補正手段が前記出力色域データに適用した補正の逆補正を施す逆補正手段とを有することを特徴とする。
【００１１】
本発明にかかる色処理方法は、第一の色域の画像データを第二の色域の画像データに色変換する色処理方法であって、前記第一の色域を示す入力色域データと前記第二の色域を示す出力色域データを入力するステップと、前記第一の色域の無彩色軸上の特定色点に応じて前記第一の色域の補正領域を設定し、前記第二の色域の無彩色軸上の前記特定色点に応じて前記第二の色域の補正領域を設定するステップと、前記第二の色域の補正領域に含まれる出力色域データに、前記第二の色域の前記特定色点に応じた補正を施す領域補正ステップと、前記第一の色域の画像データを入力するステップと、前記入力した画像データのうち、前記第一の色域の補正領域に含まれる画像データに、前記第一の領域の前記特定色点に応じた補正を施すステップと、前記補正した画像データを、前記補正した出力色域データが示す色域にマッピングするステップと、前記マッピングした画像データのうち、前記第二の色域の補正領域に含まれるに画像データに、前記領域補正ステップで前記出力色域データに適用した補正の逆補正を施すステップとを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、色域の無彩色上の特定色点が異なる二種類のデバイス間の測色的一致を図るマッピングを行う場合に、両デバイスの色域の特定色点を合わせ、かつ、マッピング前後の画像全体の色の印象が変化を抑制することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【００１４】
以下では、白色点の異なる二種類のデバイスの色域間で、白色点を合わせて、相対カラリメトリックマッピングを行う例を説明する。しかし、後述するように、黒色点が異なる二種類のデバイスの色域間で、黒色点を合せて、相対カラリメトリックマッピングを行う場合にも、本実施例に記載されている手法を適用することができる。言い換えれば、本本実施例に記載する手法は、色域の無彩色軸上にある白色点や黒色点などの特定色点を入出力デバイスの色域間で合せて、相対カラリメトリックマッチングを行うものである。
【実施例１】
【００１５】
［装置の構成］
図2は画像処理装置11の構成例を示すブロック図である。
【００１６】
入力部101は、ディジタルカメラなどの入力デバイス12から画像データを入力するインタフェイスである。出力部106は、プリンタなどの出力デバイス13に画像データを出力するインタフェイスである。入力部101および出力部106には、例えばUSB (Universal Serial Bus)やIEEE1394などのシリアルバスインタフェイス、あるいは、ネットワークインタフェイスを利用すればよい。また、入力部101としてメモリカードリーダを使用し、メモリカードから画像データを入力してもよい。
【００１７】
色域取得部102は、入力デバイス12および出力デバイス13の色域を示す色域データを取得する。白色点取得部103は、入力デバイス12および出力デバイス13の白色点を示す白色点データを取得する。
【００１８】
補正領域決定部104は、白色点取得部103が取得した白色点データに基づき、色域データが示す入力色域および出力色域の補正領域を決定する。入力画像補正部105は、補正領域決定部104が決定した入力色域の補正領域に基づき、入力画像データを色補正する。出力色域補正部107は、補正領域決定部104が決定した出力色域の補正領域に基づき、出力デバイス13の色域データが示す出力色域を補正する。
【００１９】
色域マッピング部108は、入力画像補正部105が色補正した画像データを、出力色域補正部107が補正した出力色域にマッピングする。画像逆補正部109は、色域マッピング部108が出力色域にマッピングした画像データに、出力色域補正部107が実行した出力色域の補正処理の逆処理を適用する。色空間値算出部110は、画像逆補正部109が逆補正した色域マッピング後の画像データを、出力デバイス13の色空間の画像データに変換する。
【００２０】
バッファメモリ111は、例えばRAMのようなメモリである。上記の各部の処理は、バッファメモリ111に格納された画像データ、色域データ、白色点データに基づき実行される。また、各部は、処理途中の演算結果の一時保存にバッファメモリ111を利用する。
【００２１】
制御部112は、システムバス114を介して上記の構成を制御し、後述する画像処理を実行する。その際、ユーザの指示を入力し、処理の経過を表示するためのユーザインタフェイスをユーザインタフェイス(UI)部112に表示する。なお、ユーザの指示は、入力部101に接続された図示しないキーボードやマウスなどのポインティグデバイスを介して入力される。
【００２２】
［画像処理］
図3は画像処理装置11が実行する画像処理を説明するフローチャートで、制御部112の制御によって実行される処理である。
【００２３】
まず、制御部112は、図4に示すユーザインタフェイスをUI部113に表示する(S11)。そして、ユーザインタフェイスへ入力されるユーザ指示に応じて、入力部101を制御して画像データを入力し(S12)、色域取得部102を制御して入力色域と出力色域の色域データを入力し(S13)、出力画像データのファイル名を設定する(S14)。なお、取得された画像データや色域データはバッファメモリ111に格納される。
【００２４】
図4に示すユーザインタフェイスには、ユーザが、入力画像データ、出力画像データ、入力色域、出力色域のファイル名を各々指定する指定部1001〜1004がある。ユーザは、これら指定部1001〜1004にファイル名を入力した後、OKボタン1005を押すことで、制御部112は、ステップS12〜S14の処理を実行する。なお、画像データや色域データは、入力デバイス12や出力デバイス13との間で入出力するとは限らず、例えば入力部101がネットワークに接続されている場合はネットワーク上のサーバとの間で入出力してもよい。
【００２５】
図5は色域データの記述形式を説明する図である。色域データは、RGB値（8ビット）をRGBそれぞれ9スライスしたデバイスRGB値と、デバイスRGB値をデバイスに入力して得られた色の測色結果である測色値（例えばCIELab値）との対応を記録する。
【００２６】
次に、制御部112は、白色点取得部103を制御して、色域データから入力デバイス12と出力デバイス13の白色点データを取得してバッファメモリ111に格納する(S15)。白色点データは色域データ内に存在する。例えばRGBデバイスの場合、(R, G, B)=(255, 255, 255)に対応するCIELab値が白色点データである。CMYKデバイスの場合、(C, M, Y, K)=(0, 0, 0, 0)に対応するCIELab値が白色点データである。
【００２７】
次に、制御部112は、補正領域決定部104を制御して、入力デバイス12の白色点データに基づき入力色域の補正領域を決定する。さらに、制御部112は、出力デバイス13の白色点データに基づき出力色域の補正領域を決定する(S16)。補正領域決定部104の処理の詳細は後述する。
【００２８】
次に、制御部112は、入力画像補正部105を制御して、入力色域の補正領域に基づき入力画像データを補正する(S17)。そして、出力色域補正部107を制御して、出力色域の補正領域に基づき出力色域を補正する(S18)。入力画像補正部105による処理、出力色域補正部107による処理の詳細は後述する。
【００２９】
次に、制御部112は、色域マッピング部108を制御して、補正後の画像データを補正後の出力色域にマッピングする(S19)。そして、画像逆補正部109を制御して、マッピング後の画像データに出力色域補正部107が実行した出力色域の補正処理の逆処理を施す(S20)。色域マッピング部108の処理、逆補正部109の処理の詳細は後述する。
【００３０】
次に、制御部112は、色空間値算出部110を制御して、逆処理後の画像データを出力デバイス13の色空間値に変換する(S21)。そして、出力部105を制御して、バッファメモリ111に格納された出力デバイス13の色空間値をもつ画像データを出力デバイス13または図示しないサーバに出力する(S22)。色空間値算出部110の処理の詳細は後述する。また、出力する画像データのファイル名は、ステップS14で設定したファイル名である。
【００３１】
［補正領域決定部］
次に、補正領域決定部104による、入力デバイス12の白色点データを用いて入力色域の補正領域を、出力デバイス13の白色点データを用いて出力色域の補正領域を決定する処理(S16)を説明する。なお、以下では、入力色域の補正領域を決定する方法を説明するが、出力色域の補正領域を決定する方法も同様である。
【００３２】
図6は補正領域決定部104の処理を説明するフローチャートである。
【００３３】
補正領域決定部104は、バッファメモリ111から入力色域を示す色域データを取得し(S131)、バッファメモリ111から入力デバイス12の白色点データ（CIELab値）を取得する(S132)。そして、式(1)により、入力デバイス12の白色点の彩度C*を算出する(S133)。白色点の彩度C*は明度L軸からのずれ量を表す。
C* = √(a*2 + b*2)      …(1)
ここで、a*、b*は白色点の色度値
【００３４】
次に、補正領域決定部104は、白色点の彩度C*に基づき、入力色域の補正領域を決定する(S134)。例えば式(2)を用いて、入力色域の明度レンジの高明度側からx%を補正領域に決定する。
C* ≦ 8の場合はx = 5・C* [%]
C* ＞ 8の場合はx = 40 [%]          …(2)
【００３５】
図7は補正領域を説明する図である。式(2)によれば、白色点の彩度C*、言い換えれば白色点の明度L軸からのずれが大きければ大きいほど補正領域の割合が増える。式(2)を採用した場合、図7に示すように、C*=4の場合は入力色域の明度レンジの高明度側から20%が、C*＞8の場合は入力色域の明度レンジの高明度側から40%が補正領域になる。
【００３６】
次に、補正領域決定部104は、補正領域の明度レンジを示すx値と白色点の彩度C*をバッファメモリ111に保存し(S135)、処理を終了する。
【００３７】
図6の処理は、入力色域の補正領域を決定する際、および、出力色域の補正領域を決定する際にそれぞれ実行される。
【００３８】
［入力画像補正部］
次に、入力画像補正部105による、入力色域の補正領域に基づく入力画像データの補正処理(S17)を説明する。
【００３９】
図8は入力画像補正部105の処理を説明するフローチャートである。
【００４０】
入力画像補正部105は、バッファメモリ111から入力色域の補正領域の明度レンジを示すx値を取得し(S141)、バッファメモリ111から入力色域を示す色域データを取得する(S142)。
【００４１】
次に、入力画像補正部105は、バッファメモリ111から入力画像データの注目画素のRGB値を取得し(S143)、入力色域の色域データと例えば四面体補間などを用いて、取得したRGB値をCIELab値に変換する(S144)。四面体補間を用いる場合、注目画素のRGB値を含む四面体の頂点に対応する四つのRGB値に対応する四つのCIELab値から、注目画素のRGB値に対応するCIELab値を推測する。
【００４２】
次に、入力画像補正部105は、注目画素の明度値Lが入力色域の補正領域に対応する明度レンジ内にあるか否かを判定する(S145)。そして、注目画素の明度値Lが当該明度レンジ内にある場合、入力画像補正部105は、注目画素のCIELab値を補正する(S146)。
【００４３】
図9はステップS146の補正処理の概念を説明するための図である。
【００４４】
入力画像補正部105は、入力デバイス12の白色点Wの明度値Lを保持して、白色点Wを明度L軸上に移動する。そして、白色点Wの移動に伴い、図9に実線で示す入力色域の補正領域を、図9に破線で示す領域に移す形態の補正処理を行う。白色点Wのa*、b*方向の移動量（補正量）は、白色点Wの色度値がaw、bwであれば、それぞれ-aw、-bwである。なお、白色点Wの補正量の下限はそれぞれ0、0である。従って、注目画素の補正量Xa、Xbは、式(3)に示す線形補間によって算出することができる。
Xa = -aw・(Li - Lmin)/(Lw - Lmin)
Xb = -bw・(Li - Lmin)/(Lw - Lmin)      …(3)
ここで、-aw、-bwは白色点Wの補正量、
Liは注目画素の明度値、
Lwは白色点の明度値、
Lminは補正領域の下限の明度値
【００４５】
入力画像補正部105は、注目画素に対応する補正量Xa、Xbを式(3)を用いて計算する。そして、注目画素の色度値abに補正量Xa、Xbを加算する。
【００４６】
次に、入力画像補正部105は、注目画素のCIELab値をバッファメモリ111の所定領域に保存し(S147)、入力画像データの全画素の処理が完了したか否かを判定する(S148)。そして、全画素の処理が完了するまで、ステップS143からS147の処理を繰り返す。
【００４７】
［出力色域補正部］
次に、出力色域補正部107による、出力色域の補正領域に基づく出力色域の補正処理(S18)を説明する。
【００４８】
図10は出力色域補正部107の処理を説明するフローチャートである。
【００４９】
出力色域補正部107は、バッファメモリ111から出力色域の補正領域の明度レンジを示すx値を取得する(S151)。そして、バッファメモリ111に保存された出力色域を示す色域データから一格子点（以下、注目格子点と呼ぶ）のCIELab値を取得する(S152)。色域データは、図5に示すように、デバイス値を構成する成分値のそれぞれを均等にスライスしたデバイス値と、測色値との対応を示す。ステップS152では、この各デバイス値に対応する測色値を順次取得する。
【００５０】
次に、出力色域補正部107は、注目格子点の明度値Lが出力色域の補正領域に対応する明度レンジ内にあるか否かを判定する(S153)。そして、注目格子点の明度値Lが当該明度レンジ内にある場合、出力色域補正部107は、注目格子点のCIELab値を補正する(S154)。
【００５１】
注目格子点のCIELab値を補正方法は、ステップS146における注目画素のCIELab値の補正方法と同じであるから詳細な説明を省略する。ただし、式(3)のLiは注目格子点の明度値、Lwは出力デバイスの白色点の明度値、Lminは出力色域の補正領域の下限の明度値となる。
【００５２】
次に、出力色域補正部107は、注目格子点のCIELab値をバッファメモリ111の所定領域に保存し(S155)、出力色域を示す色域データの全格子点の処理が完了したか否かを判定する(S156)。そして、全格子点の処理が完了するまで、ステップS152からＳ155の処理を繰り返す。
【００５３】
出力色域補正部107による上記の処理が終了すると、バッファメモリ111には、格子点のRGB値と、格子点のCIELab値の関係を記述した、図5と同様の記述形式をもつ、補正後の色域データが格納されることになる。なお、計算した補正後の色域データは、出力色域ファイル名や出力デバイス13の識別子と関連付けて、例えばサーバに保存しておくことができる。従って、ユーザが指定する出力色域ファイル名に基づき、例えばサーバを検索して、補正後の色域データを取得すれば、毎回、補正後の色域データを計算する必要はない。
【００５４】
［色域マッピング部］
次に、色域マッピング部108による、補正後の画像データを補正後の出力色域にマッピングする処理(S19)を説明する。
【００５５】
図11は色域マッピング部108の処理を説明するフローチャートである。
【００５６】
色域マッピング部108は、バッファメモリ111から補正後の色域データを取得し(S161)バッファメモリ111に保存された補正後の画像データの注目画素のCIELab値を取得する(S162)。
【００５７】
次に、色域マッピング部108は、注目画素のCIELab値が、補正後の色域データが示す出力色域（以下、補正出力色域と呼ぶ）内にあるか否かを判定する(S163)。そして、補正出力色域外と判定した注目画素のCIELab値を補正出力色域へマッピングする(S164)。
【００５８】
次に、色域マッピング部108は、注目画素のCIELab値をバッファメモリ111の所定領域に保存し(S165)、補正後の画像データの全画素の処理が完了したか否かを判定する(S166)。そして、全画素の処理が完了するまで、ステップS162からS165の処理を繰り返す。
【００５９】
●色域の内外判定
色域データは、図5に示すように、例えばデバイスRGBを各9スライスした729点のデータ、すなわち、512個の六面体からなる。従って、注目画素のCIELab値が色域内か外かは、注目画素のCIELab値が複数の六面体の何れかに包含されるか否かを判定すればよい。実施例1では、六面体をさらに六つの四面体に分割し（図12参照）、各四面体について内外判定を行うことで、注目画素のCIELab値が六面体に包含されるか否かを判定する。
【００６０】
図13に示すように、四面体の頂点（頂点の格子点の補正後のCIELab値）をA、B、C、Dとし、入力点（注目画素のCIELab値）をPとすると、それらの点の関係は式(4)によって表される。
↑AP = s↑AB + t↑AC + u↑AD      …(4)
【００６１】
点Pが四面体ABCDに含まれれば式(5)がなり立つ。
s + t + u ≦ 1
s ≧ 0、t ≧ 0、u ≧ 0      …(5)
【００６２】
従って、式(5)がなり立てば、点Pはその四面体の中にあると判定される。
【００６３】
上記の四面体の内外判定を六個の四面体に対して行うと、一つの六面体の内外判定が完了する。そして、六面体の内外判定を複数の六面体に適用することで、注目画素のCIELab値が色域の内か外かの判定が完了する。
【００６４】
●マッピング
図14はマッピング方法を説明する図である。
【００６５】
まず、明度L軸上に点(Lt, 0, 0)を焦点として設定する。そして、入力点（注目画素の補正後のCIELab値、Li, ai, bi）と焦点(Lt, 0, 0)を結ぶ線分と、補正後の出力色域の境界面の交点(Lj, aj, bj)に、入力点(Li, ai, bi)をマッピングする。焦点の明度Ltは、例えば50などに固定してもよいし、入力点の明度Liによって動的に算出するようにしてもよい。
【００６６】
●マッピング点の演算方法
入力点(Li, ai, bi)のマッピング先である、補正後の出力色域の境界面との交点（マッピング点、Lj, aj, bj)の演算方法を説明する。
【００６７】
出力色域の境界面に対応するデータは、RGBの何れかが0または255をもつ。つまり、図15に示すように、R=255の表面（R255面）、G=255の表面（G255面）、B=255の表面（B255面）、R=0の表面（R0面）、G=0の表面（G0面）、B=0の表面（B0面）の六つに分類される。各面は81個の格子点、すなわち128個の三角パッチで構成され、これら三角パッチの頂点に対応するLab値を取得する。
【００６８】
次に、各面の128個の三角パッチについて、入力点と焦点を結ぶ線分との交点を計算する。交点は、各三角パッチの平面の方程式と、線分の方程式から容易に求めることができる。そして、交点が三角パッチ内にあるか否かを判定する。なお、この判定は、前述した四面体の内外判定の二次元版である。すなわち、図16に示すように、三角パッチの頂点をA、B、Cとし、交点をPとすると、それらの点の関係は式(6)によって表される。
↑AP = s↑AB + t↑AC      …(6)
【００６９】
点Pが三角パッチABCに含まれれば式(7)がなり立つ。
s + t ≦ 1
s ≧ 0、t ≧ 0      …(7)
【００７０】
従って、式(7)がなり立てば、点Pはその三角パッチの中にあると判定され、その三角パッチの平面の方程式と、線分の方程式から求めた交点(Lj, aj, bj)がマッピング点である。
【００７１】
［画像逆補正部］
次に、画像逆補正部109による、マッピング後の画像データに施す、出力色域補正部107が実行した出力色域の補正処理の逆処理(S20)を説明する。
【００７２】
図17は画像逆補正部109の処理を説明するフローチャートである。
【００７３】
画像逆補正部109は、バッファメモリ111から出力色域の補正領域の明度レンジを示すx値を取得し(S171)、バッファメモリ111に保存されたマッピング済みの画像データから注目画素のCIELab値を取得する(S172)。
【００７４】
次に、画像逆補正部109は、注目画素の明度値Lが出力色域の補正領域に対応する明度レンジ内にあるか否かを判定する(S173)。そして、注目画素の明度値Lが当該明度レンジ内にある場合、画像逆補正部109は、注目画素のCIELab値を逆補正する(S174)。
【００７５】
逆補正は、補正後の出力デバイスの色域が補正前の出力デバイスの色域になるように、注目画素に対して、出力色域補正部107が、色域データを補正した処理の逆の処理を行う。すなわち、明度軸上に存在する補正後の出力デバイスの白色点が、補正前の出力デバイスの白色点に補正する。従って、注目画素の色度値abのa*、b*方向の逆補正量Xa-1、Xb-1は式(8)によって算出する。
Xa-1 = awo・(Li - Lomin)/(Lwo - Lomin)
Xb-1 = bwo・(Li - Lomin)/(Lwo - Lomin)      …(8)
ここで、awo、bwoは出力色域の白色点Wの補正量、
Liは注目画素の明度値、
Lwoは出力色域の白色点の明度値、
Lominは出力色域の補正領域の下限の明度値
【００７６】
画像逆補正部109は、式(8)で計算した補正量Xa-1、Xb-1を補正領域にあると判定した注目画素の色度値abにそれぞれ加算する。
【００７７】
次に、画像逆補正部109は、注目画素のCIELab値をバッファメモリ111の所定領域に保存し(S175)、マッピング済みの画像データの全画素の処理が完了したか否かを判定する(S176)。そして、全画素の処理が完了するまで、ステップS172からS175の処理を繰り返す。
【００７８】
［色空間値算出部］
次に、色空間値算出部110による、逆補正後の画像データを出力デバイス13の色空間値に変換する処理(S21)を説明する。
【００７９】
図18は色空間値算出部110の処理を説明するフローチャートである。
【００８０】
色空間値算出部110は、バッファメモリ111から出力色域の色域データを取得する(S181)。なお、ここで取得する色域データは、出力色域補正部107が補正した色域データではなく、未補正の色域データである。
【００８１】
次に、色空間値算出部110は、バッファメモリ111から逆補正後の画像データの注目画素のCIELab値を取得し(S182)、出力色域を構成する四面体から注目画素のCIELab値を包含する四面体を探索する(S183)。なお、四面体の探索方法は、前述した四面体の内外判定と同様であるから詳細説明は省略する。
【００８２】
次に、色空間値算出部110は、探索結果の四面体と補間演算を使用して、注目画素のCIELab値に対応する出力デバイス13の色空間値を計算する(S184)。
【００８３】
前述したように、四面体内の点P（図13参照）は式(4)のように表すことができ、かつ、式(5)を満たす。そこで、式(4)におけるs、t、uを式(9)に適用することで、出力デバイス13の色空間値を得ることができる。
R = Ra + s(Rb - Ra) + t(Rc - Ra) + u(Rd - Ra)
G = Ga + s(Gb - Ga) + t(Gc - Ga) + u(Gd - Ga)      …(9)
B = Ba + s(Bb - Ba) + t(Bc - Ba) + u(Bd - Ba)
ここで、Rx、Gx、Bxは頂点Xの色空間値
xはA、B、CまたはD
【００８４】
次に、色空間値算出部110は、注目画素のCIELab値に対応する出力デバイス13の色空間値をバッファメモリ111の所定領域に保存し(S185)、逆補正後の画像データの全画素について処理が終了したか否かを判定する(S186)。そして、全画素の処理が完了するまで、ステップS182からS185の処理を繰り返す。
【００８５】
このように、白色点が異なる二種類のデバイスに対する相対colorimetricマッピングを行う際、入力色域、出力色域ともに、白色点を含む一部の領域を補正して、マッピングを行う。そして、マッピングしたデータを出力色域の補正量分、逆補正する。従って、入力色域、出力色域の両白色点を一致させ、かつ、マッピングの前後で色の印象が変化する領域を白色点付近に限定する相対colorimetricマッピングを実現することができる。
【００８６】
［変形例］
実施例1において、入力画像データがディジタルカメラやスキャナなどの入力デバイス12のデバイスRGB値で記述されているとして説明した。しかし、sRGB、AdobeRGB、sYCCなど標準的な色空間で表現された画像データでよい。その場合、標準色空間のRGB値からCIELab値への変換には、規定の変換式を利用すればよい。勿論、CMYKで表現された画像データでもよい。
【００８７】
また、実施例1においては、入力画像や出力色域の補正、並びに、マッピングにCIELab空間を利用する例を説明した。しかし、CIELab空間に限定されるものではなく、人間の視覚特性をモデル化したカラーアピアランス空間であれば、どのような表色空間でもよい。例えば、CIEが推奨するCIECAM97s、CIECAM02などのカラーアピアランス空間でもよい。
【００８８】
また、実施例1においては、ユーザが指定する画像データファイルを入力する例を説明した。しかし、入力するデータは画像データに限らず、単なるRGBデータでもよい。これは、例えば実施例1で説明した技術を色変換ルックアップテーブルの作成に適用する際などである。
【００８９】
また、実施例1においては、入力色域や出力色域をRGB各9スライスした色域データを使用する例を説明した。しかし、9スライスに限定されるわけではなく、入力色域や出力色域の形状を表現可能な程度のスライス数であればよい。例えば、計算量を減らすためにスライス数を5や7に減らしてもよいし、マッチング精度を上げるためにスライスを12や17に増やしてもよい。要は、色処理の用途によって使い分ければよい。
【００９０】
また、記実施例1においては、入力デバイス12と出力デバイス13の白色点を合わせるように画像データを補正して、色域マッピングを行う手法を説明した。しかし、これは、両デバイスの黒色点を合わせる場合にも応用することができる。その場合、明度L軸に対する黒色点のずれに応じて黒色点を含む補正領域を決定し、画像データの補正、色域マッピング、マッピング後の画像データの逆補正を行うことになる。従って、黒色点が異なる二種類のデバイスに対して、両黒色点を一致させ、かつ、マッピング前後で色の印象が変わる領域を黒色点付近に限定する相対colorimetricマッピングを実現することができる。
【００９１】
さらに、上記の白色点を合わせる場合と黒色点を合わせる場合を組み合わせれば、白色点と黒色点の両方を合わせる場合に応用することができる。
【００９２】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００９３】
また、本発明の目的は、上記実施例の機能を実現するソフトウェアを記録した記憶媒体（記録媒体）をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
【００９４】
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００９５】
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００９６】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
【図面の簡単な説明】
【００９７】
【図１】入力デバイスと出力デバイスの白色点が異なる場合に両デバイスの白色点を一致させる様子を示す図、
【図２】画像処理装置の構成例を示すブロック図、
【図３】画像処理装置が実行する画像処理を説明するフローチャート、
【図４】ユーザインタフェイスの一例を示す図、
【図５】色域データの記述形式を説明する図、
【図６】補正領域決定部の処理を説明するフローチャート、
【図７】補正領域を説明する図、
【図８】入力画像補正部の処理を説明するフローチャート、
【図９】ステップS146の補正処理の概念を説明するための図、
【図１０】出力色域補正部の処理を説明するフローチャート、
【図１１】色域マッピング部の処理を説明するフローチャート、
【図１２】六面体を四面体に分割する様子を示す図、、
【図１３】四面体を用いる内外判定を説明する図、
【図１４】マッピング方法を説明する図、
【図１５】色域表面を説明する図、
【図１６】三角パッチを用いる内外判定を説明する図、、
【図１７】画像逆補正部の処理を説明するフローチャート、
【図１８】色空間値算出部の処理を説明するフローチャートである。
【図１】
2008141237.tif 000003
【図２】
2008141237.tif 000004
【図３】
2008141237.tif 000005
【図４】
2008141237.tif 000006
【図５】
2008141237.tif 000007
【図６】
2008141237.tif 000008
【図７】
2008141237.tif 000009
【図８】
2008141237.tif 000010
【図９】
2008141237.tif 000011
【図１０】
2008141237.tif 000012
【図１１】
2008141237.tif 000013
【図１２】
2008141237.tif 000014
【図１３】
2008141237.tif 000015
【図１４】
2008141237.tif 000016
【図１５】
2008141237.tif 000017
【図１６】
2008141237.tif 000018
【図１７】
2008141237.tif 000019
【図１８】
2008141237.tif 000020