色処理装置およびその方法
【課題】 色域マッピングを定量的に評価して色変換データを生成する。
【解決手段】 入力色域の画像データを出力色域にマッピングする色変換データを生成する際に、入力色域および出力色域の色再現情報を取得する(S201-S203)。そして、入力色域を出力色域に写像する色域写像データに基づき、入力色域の色再現情報に含まれる色値を出力色域に写像する(S204)。写像の結果に基づき、色域写像データによる写像の色の再現性および階調性の評価値を計算し(S205)、評価値に基づき選択される色域写像データから色変換データを生成する(S207、S209)。
【解決手段】 入力色域の画像データを出力色域にマッピングする色変換データを生成する際に、入力色域および出力色域の色再現情報を取得する(S201-S203)。そして、入力色域を出力色域に写像する色域写像データに基づき、入力色域の色再現情報に含まれる色値を出力色域に写像する(S204)。写像の結果に基づき、色域写像データによる写像の色の再現性および階調性の評価値を計算し(S205)、評価値に基づき選択される色域写像データから色変換データを生成する(S207、S209)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、色域マッピングに関する。
【背景技術】
【0002】
同一のカラー画像を異なる画像出力装置において良好に再現するための色管理システム(以下、CMS)がある。CMSは、デバイス非依存色空間、並びに、デバイス依存色からデバイス非依存色への色変換を規定するソースプロファイル、および、デバイス非依存色からデバイス依存色への色変換を規定するディスティネーションプロファイルを用いる。デバイス非依存色の色空間としては、例えばCIEXYZ空間、CIELab空間、CIEJCh空間などが利用される。また、プロファイルは、所定の変換式または変換テーブルとして提供される。
【0003】
しかし、出力デバイスの色域(以下、出力色域)が入力デバイスの色域(以下、入力色域)より狭い場合、出力デバイスによって、入力色域の色情報を正確に再現することはできない。例えば、色域が広いモニタに表示された画像を、色域が狭いプリンタで出力すると、モニタに表示された画像の色や階調性をそのまま再現することができない場合がある。そこで、元の画像情報(階調性や色など)をなるべく保ちつつ、出力色域外の色を色域内の色で良好に再現する色域マッピングが必要になる。
【0004】
色域マッピングとして様々な方法が提案されている。図1は代表的な色域の圧縮方法に対応する色域マッピングアルゴリズム(以下、GMA)を明度-彩度平面(以下、LC平面)で示す図である。
【0005】
図1(a)は、明度を不変にして、入力色域を彩度方向に圧縮するGMAを示す。図1(b)は、彩度を不変にして、入力色域を明度方向に圧縮するGMAを示す。図1(c)は、明度と彩度の変化が最小になるように、入力色域を圧縮するGMAを示す。図1(d)は、明度軸上に設定した収束点(焦点)Pに向けて明度と彩度を圧縮するGMAを示す。
【0006】
また、図1に示すGMA以外にも、色相を所定の範囲で変化させて、明度と彩度の圧縮率を軽減する方法が知られている。
【0007】
色域マッピングのパラメータやGMAを設定する場合、設定したパラメータとGMAを用いた色域マッピングによる色再現性を評価する必要がある。このような場合、ユーザが意図する特定色(例えば記憶色や肌色)、画像の種類に応じた平均的な色などを指標とし、色域マッピングによる色域の圧縮前後における指標色の色差に基づき評価を行うことが考えられる。
【0008】
しかし、出力色域においては境界付近になる色を指標にすると、指標色における色差は小さく、良好な評価値が得られる。このようにして設定した色域マッピングによれば、指標色よりも出力色域の内側に存在する色については、色再現性は良好であり、正しい評価が得られる。しかし、指標色よりも明度や彩度が高い出力色域外の色は、出力色域の境界と、境界に近い指標色の間の極めて狭い領域にマッピングされる可能性が高く、階調の飛び、潰れ、反転が発生し易い。つまり、出力色域外の色について、正しい評価が得られるとは言えない。
【0009】
このような問題から、色域マッピングの評価においては、最終的に、人間による主観的な判断で色の再現性、階調性、および、それらのバランスを評価することになる。
【0010】
【特許文献1】特開2004-038258公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
本発明は、色域マッピングを定量的に評価して色変換データを生成することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0013】
本発明にかかる色処理は、入力色域の画像データを出力色域にマッピングする色変換データを生成する際に、前記入力色域および前記出力色域の色再現情報を取得し、前記入力色域を前記出力色域に写像する色域写像データに基づき、前記入力色域の色再現情報に含まれる色値を前記出力色域に写像し、前記写像の結果に基づき、前記色域写像データによる写像の色の再現性および階調性の評価値を計算し、前記評価値に基づき選択される色域写像データから前記色変換データを生成することを特徴とする。
【発明の効果】
【0014】
本発明によれば、色域マッピングを定量的に評価して色変換データを生成することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例1】
【0016】
[装置の構成]
図2は実施例の色処理装置の構成例を示すブロック図である。
【0017】
CPU101は、メインメモリ102のRAMをワークメモリとして、メインメモリ102のROMやハードディスクドライブ(HDD)104に格納されたプログラムを実行して、後述する色処理を実行する。また、システムバス110を介して後述する構成を制御する。
【0018】
シリアルATAインタフェイス(SATA I/F)103は、HDD104のインタフェイスである。グラフィックアクセラレータ105は、モニタ106のインタフェイスである。キーボード/マウスコントローラ107は、キーボード108やマウス109などの入力デバイスのインタフェイスである。
【0019】
[画像の表示]
CPU101は、ユーザから画像処理アプリケーションの実行を指示されると、画像処理アプリケーションをHDD104からメインメモリ102にロードして起動し、画像処理アプリケーションのユーザインタフェイス(UI)をモニタ106に表示する。
【0020】
ユーザは、UIを操作して、例えばHDD104に格納された画像データ(例えば、各色符号無し8ビットのRGBデータ)の表示を指示する。この指示を受信したCPU101は、画像データをメインメモリ102にロードし、例えばsRGB空間の画像データに変換し、変換した画像データをグラフィックアクセラレータ105に転送する。グラフィックアクセラレータ105は、受信した画像データを画像メモリにレンダリングし、モニタ106用の画像信号に変換して、モニタ106に供給する。以上の処理により、ユーザが指示する画像データに対応する画像がモニタ106に表示される。
【0021】
通常、画像データの色域は、スキャナやディジタルカメラのような画像入力デバイスの色域、または、画像入力デバイスに設定された色空間(例えばsRGB空間、scRGB空間、AdobeRGB空間など)によって決まる。上記では、表示すべき画像データをsRGB空間の画像データに変換する例を説明したが、表示すべき画像データをプリンタなどの画像出力デバイスの色域に変換することもできる。言い換えれば、画像出力デバイス用の色域マッピングを設定する場合、色処理装置上で色域マッピングの色の再現性や階調性を評価することができる。
【0022】
[色域マッピングの評価]
図3は色域マッピングの評価手順の一例を示すフローチャートで、評価ソフトウェアに従いCPU101が実行する処理である。
【0023】
CPU101は、評価に使用する色再現情報が記述されたプロファイルのパス名を取得する(S201)。ユーザは、入力デバイスを使用して、画像入力デバイスおよび画像出力デバイスのプロファイルのパス名を指定する。
【0024】
次に、CPU101は、ユーザ指示に従いHDD104などから画像入力デバイスおよび画像出力デバイスのプロファイルを取得する(S202)。そして、取得したプロファイルから入力色域の色再現情報(以下、入力色再現情報)および出力色域の色再現情報(以下、出力色再現情報)を抽出する(S203)。
【0025】
図4は色再現情報のフォーマット例を示す図で、RGB空間に配置した格子点のRGB値と測色値Lab値の対応関係が記述される。なお、図4には、RGBをそれぞれ九階調に均等分割した格子点の色再現情報の例を示すが、階調数には何ら制限はないし、均等分割でなくてもよい。
【0026】
次に、CPU101は、予め複数のGMAごとに用意された色域写像テーブル(色域写像データ)を用いて、入力色再現情報に記述されたLab値を、出力色域のLab値に写像した写像データを生成する(S204)。図5は写像データの一例を示す図で、入力Lab値(写像元のLab値)と出力Lab値(写像後のLab値)の対応関係が記述されている。
【0027】
色域写像テーブルは、通常、ユーザが指定する画像入力デバイスと画像出力デバイスの間の色域マッピングが設定された色域写像テーブルである。また、一般的な画像入力デバイスと画像出力デバイスの間の色域マッピングを規定するデフォルトの色域写像テーブルでもよい。
【0028】
また、GMAとしては、図1(a)〜(d)に示したGMAを用意する。さらに、色相を所定範囲で変化させて明度と彩度の圧縮率を軽減するGMAや、彩度、明度、色相を出力色域内の維持領域まで維持し、維持領域と色域境界の間を所定の明度関数と彩度関数を用いて滑らかにつなぐGMAなどを用意してもよい。
【0029】
次に、CPU101は、詳細は後述するが、写像の結果によって得られる各色域写像テーブルに対応する写像データと、色再現情報から、各色域写像テーブルの評価値を算出する(S205)。そして、評価値をモニタ106に表示して、ユーザが指定する画像入力デバイスと画像出力デバイスの間の色域マッピングに最適または満足できる色域写像テーブルをユーザに選択させる(S206)。ユーザは、色の再現性および階調性に関する評価値を参照して、最適または満足できる色域写像テーブルを選択する。
【0030】
次に、CPU101は、ユーザが色域写像テーブルを選択したか、最適または満足できる色域写像テーブルがないと判断したかを判定し(S207)、色域写像テーブルが選択された場合は処理をステップS209に進める。また、最適または満足できる色域写像テーブルがないと判断された場合は、色域写像テーブルの調整を行う(S208)。
【0031】
次に、CPU101は、選択された色域写像テーブルまたは調整した色域写像テーブルを用いて、入力色再現情報に記述されたLab値を写像する。そして、画像出力デバイスのプロファイルを用いて、写像したLab値を画像出力デバイスのデバイス値(RGB値やCMYK値)に変換する。そして、画像入力デバイスのデバイス値と、画像出力デバイスのデバイス値の対応関係を記述した色変換テーブル(色変換データ)を生成する(S209)。
【0032】
次に、CPU101は、色変換テーブルを用いて、画像入力デバイスの、サンプル画像データまたはユーザが指定する画像データを色変換する。そして、色変換した画像データをモニタ106のプロファイルを使用してデバイスRGB値に変換し、グラフィックアクセラレータ105に出力することで、画像出力デバイスが出力する画像をモニタ106にプレビュー表示し(S210)、終了を処理する。
【0033】
●UI
図6は色域マッピングの評価においてモニタ106に表示されるUIの一例を示す図である。
【0034】
ユーザは、入力色域ボタン501を押して画像入力デバイスのプロファイルを指定し、出力色域ボタン502を押して画像出力デバイスのプロファイルを指定する。また、色域写像ボタン503を押して、複数の色域写像テーブルを用いた写像データの生成(S204)の実行を指示する。
【0035】
ユーザは、特定色ボタン504を押して、ユーザがとくに重要視する色の情報が記述された特定色データを指定する。図7は特定色データのフォーマット例を示す図で、RGB値とLab値の対応が記述されたデータである。
【0036】
ユーザは、階調評価ラインボタン505を押して、RGB値のグラデーション情報が記述された階調評価ラインデータを指定する。図8は階調評価ラインデータのフォーマット例を示す図で、評価対象の階調ライン(少なくとも1ライン)がRGB値によって記述されたデータである。この階調評価ラインに基づき階調性の評価値が算出される。従って、例えば一次色や二次色(R、G、B、C、M、Y)と、白色W、黒色Kまたは所定のグレイGの間を結ぶ階調ラインなど、ユーザが重視する階調ライン(通常は複数ライン)が階調評価ラインとして設定される。
【0037】
ユーザは、評価値算出ボタン506を押して、各色域写像テーブルの評価値の算出(S205)の実行を指示する。
【0038】
CPU101は、評価値表示部511に各色域写像テーブルに対応する評価値を表示する(S206)。ユーザは、評価値表示部511に配置されたラジオボタン512によって色域写像テーブルを選択することができる。
【0039】
ユーザは、最適または満足できる色域写像テーブルがないと判断した場合、色域写像調整ボタン507を押して、色域写像テーブルの調整(S208)の実行を指示する。この場合、ラジオボタン512によって選択されている色域写像テーブルが調整対象である。
【0040】
ユーザは、画像読み込みボタン509を押してプレビュー表示する画像データを選択する。この場合、ラジオボタン512によって選択されている色域写像テーブルが、ユーザが最適または満足できると判断した色域写像テーブルである。
【0041】
CPU101は、画像出力ボタン508が押されると、ラジオボタン512によって選択されている色域写像テーブルを使用して、プレビュー画像を表示部510に表示する(S210)。なお、表示部510に、入力画像データに対応する画像と、プレビュー画像、つまり、色変換前後の画像を並べて表示することもできる。ユーザは、重視するグラデーション(階調ライン)や色を含む画像をプレビュー表示することで、色の再現性、階調性の評価値と合わせて、色域マッピングを客観的に評価することができる。
【0042】
また、図には示さないが、色処理装置にUSBなどのインタフェイスを介して画像出力デバイスを接続し、UIに画像出力ボタンを用意すれば、プレビュー画像に対応する画像を画像出力デバイスに出力させることができる。
【0043】
●評価値の算出
図9は色の再現性および階調性の評価値の算出処理(S205)を説明するフローチャートである。
【0044】
CPU101は、一つの色域写像テーブルに対応する写像データを取得し(S901)、写像後のLab値と入力色再現情報のLab値の間の色差の平均値を計算する(S902)。さらに、ユーザが特定色データを指定した場合、写像後のLab値と特定色のLab値の間の色差値を計算する(S903)。その際、特定色のRGB値に対応する入力再現情報のRGB値が存在しない場合は、色差値の計算対象になる写像後のLab値が存在しない。そこで、四面体補間などを用いて、写像後のLab値から特定色に対応する写像後のLab値を計算し、色差値を計算する。
【0045】
次に、CPU101は、後述する方法により、階調性の評価値を計算し(S904)、すべての色域写像テーブルについて評価値を算出したか否かを判定する(S905)。評価値が未算出の色域写像テーブルがあれば処理をステップS902に戻す。
【0046】
すべての色域写像テーブルについて評価値を算出すると、CPU101は、評価値を評価値表示部511に表示する(S906)。
【0047】
●階調性の評価値の計算
図10は階調性の評価値の算出(S904)の詳細を説明するフローチャートである。
【0048】
CPU101は、ユーザが階調評価ラインデータを指定した場合、階調評価ラインデータから一連のRGB値を取得し(S1002)、一連のRGB値に対応する写像前後のLab値を取得する(S1003)。その際、一連のRGB値に対応する入力再現情報のRGB値が存在しない場合は、四面体補間などを用いて、写像前後のLab値から一連のRGB値に対応する写像前後のLab値を計算する。
【0049】
次に、CPU101は、取得した写像前後のLab値から、階調評価ラインの隣接する色の間の明度変化(明度差)、彩度変化(彩度差)、色の変化(色差)を計算する(S1004)。そして、明度差、彩度差、色差から、後述する方法によって、階調劣化指数を計算する(S1005)。そして、ユーザが指定する階調評価ラインのすべてについて、階調劣化指数を計算したか否かを判定し(S1006)、階調劣化指数が未計算の階調評価ラインがあれば処理をステップS1002に戻す。
【0050】
すべての階調評価ラインについて階調劣化指数を計算すると、CPU101は、階調劣化指数を総和して階調性の評価値とする(S1007)。
【0051】
●階調劣化指数の計算
階調性の数値化(評価値の計算)には、人間の知覚限界または許容限界に基づく閾値によって、階調評価ラインの隣接する色の間における局所的な階調性を数値化する手法を用いる。
【0052】
図11は階調劣化指数の計算を説明するフローチャートである。
【0053】
CPU11は、許容ランクテーブルを取得する(S1102)。図12は許容ランクテーブルを説明する図である。許容ランクテーブルは、人間の視覚が色の違いを感じる色差の程度をランク付けした情報を示すテーブルである。
【0054】
次に、CPU11は、許容ランクテーブルを用いて、ステップS1004において計算した、階調評価ラインの隣接する色の間の色差について色差ランクを決定する(S1103)。そして、ステップS1004において計算した、階調評価ラインの隣接する色の間の色差について色差ランクを決定する(S1104)。
【0055】
次に、CPU11は、階調評価ラインの隣接する色の間の、写像前後の色差ランクの変化を調べる。そして、色差ランクに違いがなければ0、色差ランクが一つ異なれば-1、色差ランクが二つ異なれば-2、…として、色差ランクの差に相当する負の数値を合計して階調劣化指数にする(S1105)。
【0056】
図13は階調評価ラインの隣接する色の間の、写像前後の色差ランクおよび写像劣化指数をを示す図である。
【0057】
次に、CPU11は、ステップS1004において計算した、階調評価ラインの隣接する色の間の、写像前後の明度差、彩度差を調べて、彩度または明度の反転があるか否かを判定する(S1106)。そして、反転がある場合は階調劣化指数に-α(例えば-5)を加える(S1107)。
【0058】
このように、色域マッピングの色の再現性および階調性を示す定量的な評価値を図6に示すUIに表示することができる。ユーザは、重視する色の再現性だけでなく、重視する階調ラインの階調性の評価値を参照することで、より望ましい色の再現性と階調性を示す色域マッピングを正確かつ容易に選択することができる。
【0059】
[変形例]
実施例1では、写像色空間にCIELab空間を利用する例を示したが、CIEJCh空間のような他の均等色空間、CIEXYZ空間のような非均等色空間、あるいは、デバイスに依存するRGB空間なども利用可能である。
【0060】
上記では、階調性の数値化に、人間の知覚限界または許容限界に基づく図12に示す許容ランクテーブルを使用する例を説明したが、色差に応じた人間の視覚特性を表現する数値であれば何を使用してもよい。また、共用ランクテーブルのような絶対値を用いて数値化する方法ではなく、目標とする階調間の差分の相対値に基づいて、階調性を数値化してもよい。また、色差ランクの違いに対する数値や、明度または彩度が反転する場合の数値についても、人間の視覚特性に、より一致する数値化方法を用いてもよい。
【0061】
[他の実施例]
なお、本発明は、複数の機器(例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置、制御装置など)に適用してもよい。
【0062】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【0063】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0064】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0065】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【0066】
【図1】代表的な色域マッピングアルゴリズムを示す図、
【図2】実施例の色処理装置の構成例を示すブロック図、
【図3】色域マッピングの評価手順の一例を示すフローチャート、
【図4】色再現情報のフォーマット例を示す図、
【図5】写像データの一例を示す図、
【図6】色域マッピングの評価においてモニタに表示されるUIの一例を示す図、
【図7】特定色データのフォーマット例を示す図、
【図8】階調評価ラインデータのフォーマット例を示す図、
【図9】色の再現性および階調性の評価値の算出処理を説明するフローチャート、
【図10】階調性の評価値の算出の詳細を説明するフローチャート、
【図11】階調劣化指数の計算を説明するフローチャート、
【図12】許容ランクテーブルを説明する図、
【図13】階調評価ラインの隣接する色の間の、写像前後の色差ランクおよび写像劣化指数をを示す図である。
【技術分野】
【0001】
本発明は、色域マッピングに関する。
【背景技術】
【0002】
同一のカラー画像を異なる画像出力装置において良好に再現するための色管理システム(以下、CMS)がある。CMSは、デバイス非依存色空間、並びに、デバイス依存色からデバイス非依存色への色変換を規定するソースプロファイル、および、デバイス非依存色からデバイス依存色への色変換を規定するディスティネーションプロファイルを用いる。デバイス非依存色の色空間としては、例えばCIEXYZ空間、CIELab空間、CIEJCh空間などが利用される。また、プロファイルは、所定の変換式または変換テーブルとして提供される。
【0003】
しかし、出力デバイスの色域(以下、出力色域)が入力デバイスの色域(以下、入力色域)より狭い場合、出力デバイスによって、入力色域の色情報を正確に再現することはできない。例えば、色域が広いモニタに表示された画像を、色域が狭いプリンタで出力すると、モニタに表示された画像の色や階調性をそのまま再現することができない場合がある。そこで、元の画像情報(階調性や色など)をなるべく保ちつつ、出力色域外の色を色域内の色で良好に再現する色域マッピングが必要になる。
【0004】
色域マッピングとして様々な方法が提案されている。図1は代表的な色域の圧縮方法に対応する色域マッピングアルゴリズム(以下、GMA)を明度-彩度平面(以下、LC平面)で示す図である。
【0005】
図1(a)は、明度を不変にして、入力色域を彩度方向に圧縮するGMAを示す。図1(b)は、彩度を不変にして、入力色域を明度方向に圧縮するGMAを示す。図1(c)は、明度と彩度の変化が最小になるように、入力色域を圧縮するGMAを示す。図1(d)は、明度軸上に設定した収束点(焦点)Pに向けて明度と彩度を圧縮するGMAを示す。
【0006】
また、図1に示すGMA以外にも、色相を所定の範囲で変化させて、明度と彩度の圧縮率を軽減する方法が知られている。
【0007】
色域マッピングのパラメータやGMAを設定する場合、設定したパラメータとGMAを用いた色域マッピングによる色再現性を評価する必要がある。このような場合、ユーザが意図する特定色(例えば記憶色や肌色)、画像の種類に応じた平均的な色などを指標とし、色域マッピングによる色域の圧縮前後における指標色の色差に基づき評価を行うことが考えられる。
【0008】
しかし、出力色域においては境界付近になる色を指標にすると、指標色における色差は小さく、良好な評価値が得られる。このようにして設定した色域マッピングによれば、指標色よりも出力色域の内側に存在する色については、色再現性は良好であり、正しい評価が得られる。しかし、指標色よりも明度や彩度が高い出力色域外の色は、出力色域の境界と、境界に近い指標色の間の極めて狭い領域にマッピングされる可能性が高く、階調の飛び、潰れ、反転が発生し易い。つまり、出力色域外の色について、正しい評価が得られるとは言えない。
【0009】
このような問題から、色域マッピングの評価においては、最終的に、人間による主観的な判断で色の再現性、階調性、および、それらのバランスを評価することになる。
【0010】
【特許文献1】特開2004-038258公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
本発明は、色域マッピングを定量的に評価して色変換データを生成することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0013】
本発明にかかる色処理は、入力色域の画像データを出力色域にマッピングする色変換データを生成する際に、前記入力色域および前記出力色域の色再現情報を取得し、前記入力色域を前記出力色域に写像する色域写像データに基づき、前記入力色域の色再現情報に含まれる色値を前記出力色域に写像し、前記写像の結果に基づき、前記色域写像データによる写像の色の再現性および階調性の評価値を計算し、前記評価値に基づき選択される色域写像データから前記色変換データを生成することを特徴とする。
【発明の効果】
【0014】
本発明によれば、色域マッピングを定量的に評価して色変換データを生成することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例1】
【0016】
[装置の構成]
図2は実施例の色処理装置の構成例を示すブロック図である。
【0017】
CPU101は、メインメモリ102のRAMをワークメモリとして、メインメモリ102のROMやハードディスクドライブ(HDD)104に格納されたプログラムを実行して、後述する色処理を実行する。また、システムバス110を介して後述する構成を制御する。
【0018】
シリアルATAインタフェイス(SATA I/F)103は、HDD104のインタフェイスである。グラフィックアクセラレータ105は、モニタ106のインタフェイスである。キーボード/マウスコントローラ107は、キーボード108やマウス109などの入力デバイスのインタフェイスである。
【0019】
[画像の表示]
CPU101は、ユーザから画像処理アプリケーションの実行を指示されると、画像処理アプリケーションをHDD104からメインメモリ102にロードして起動し、画像処理アプリケーションのユーザインタフェイス(UI)をモニタ106に表示する。
【0020】
ユーザは、UIを操作して、例えばHDD104に格納された画像データ(例えば、各色符号無し8ビットのRGBデータ)の表示を指示する。この指示を受信したCPU101は、画像データをメインメモリ102にロードし、例えばsRGB空間の画像データに変換し、変換した画像データをグラフィックアクセラレータ105に転送する。グラフィックアクセラレータ105は、受信した画像データを画像メモリにレンダリングし、モニタ106用の画像信号に変換して、モニタ106に供給する。以上の処理により、ユーザが指示する画像データに対応する画像がモニタ106に表示される。
【0021】
通常、画像データの色域は、スキャナやディジタルカメラのような画像入力デバイスの色域、または、画像入力デバイスに設定された色空間(例えばsRGB空間、scRGB空間、AdobeRGB空間など)によって決まる。上記では、表示すべき画像データをsRGB空間の画像データに変換する例を説明したが、表示すべき画像データをプリンタなどの画像出力デバイスの色域に変換することもできる。言い換えれば、画像出力デバイス用の色域マッピングを設定する場合、色処理装置上で色域マッピングの色の再現性や階調性を評価することができる。
【0022】
[色域マッピングの評価]
図3は色域マッピングの評価手順の一例を示すフローチャートで、評価ソフトウェアに従いCPU101が実行する処理である。
【0023】
CPU101は、評価に使用する色再現情報が記述されたプロファイルのパス名を取得する(S201)。ユーザは、入力デバイスを使用して、画像入力デバイスおよび画像出力デバイスのプロファイルのパス名を指定する。
【0024】
次に、CPU101は、ユーザ指示に従いHDD104などから画像入力デバイスおよび画像出力デバイスのプロファイルを取得する(S202)。そして、取得したプロファイルから入力色域の色再現情報(以下、入力色再現情報)および出力色域の色再現情報(以下、出力色再現情報)を抽出する(S203)。
【0025】
図4は色再現情報のフォーマット例を示す図で、RGB空間に配置した格子点のRGB値と測色値Lab値の対応関係が記述される。なお、図4には、RGBをそれぞれ九階調に均等分割した格子点の色再現情報の例を示すが、階調数には何ら制限はないし、均等分割でなくてもよい。
【0026】
次に、CPU101は、予め複数のGMAごとに用意された色域写像テーブル(色域写像データ)を用いて、入力色再現情報に記述されたLab値を、出力色域のLab値に写像した写像データを生成する(S204)。図5は写像データの一例を示す図で、入力Lab値(写像元のLab値)と出力Lab値(写像後のLab値)の対応関係が記述されている。
【0027】
色域写像テーブルは、通常、ユーザが指定する画像入力デバイスと画像出力デバイスの間の色域マッピングが設定された色域写像テーブルである。また、一般的な画像入力デバイスと画像出力デバイスの間の色域マッピングを規定するデフォルトの色域写像テーブルでもよい。
【0028】
また、GMAとしては、図1(a)〜(d)に示したGMAを用意する。さらに、色相を所定範囲で変化させて明度と彩度の圧縮率を軽減するGMAや、彩度、明度、色相を出力色域内の維持領域まで維持し、維持領域と色域境界の間を所定の明度関数と彩度関数を用いて滑らかにつなぐGMAなどを用意してもよい。
【0029】
次に、CPU101は、詳細は後述するが、写像の結果によって得られる各色域写像テーブルに対応する写像データと、色再現情報から、各色域写像テーブルの評価値を算出する(S205)。そして、評価値をモニタ106に表示して、ユーザが指定する画像入力デバイスと画像出力デバイスの間の色域マッピングに最適または満足できる色域写像テーブルをユーザに選択させる(S206)。ユーザは、色の再現性および階調性に関する評価値を参照して、最適または満足できる色域写像テーブルを選択する。
【0030】
次に、CPU101は、ユーザが色域写像テーブルを選択したか、最適または満足できる色域写像テーブルがないと判断したかを判定し(S207)、色域写像テーブルが選択された場合は処理をステップS209に進める。また、最適または満足できる色域写像テーブルがないと判断された場合は、色域写像テーブルの調整を行う(S208)。
【0031】
次に、CPU101は、選択された色域写像テーブルまたは調整した色域写像テーブルを用いて、入力色再現情報に記述されたLab値を写像する。そして、画像出力デバイスのプロファイルを用いて、写像したLab値を画像出力デバイスのデバイス値(RGB値やCMYK値)に変換する。そして、画像入力デバイスのデバイス値と、画像出力デバイスのデバイス値の対応関係を記述した色変換テーブル(色変換データ)を生成する(S209)。
【0032】
次に、CPU101は、色変換テーブルを用いて、画像入力デバイスの、サンプル画像データまたはユーザが指定する画像データを色変換する。そして、色変換した画像データをモニタ106のプロファイルを使用してデバイスRGB値に変換し、グラフィックアクセラレータ105に出力することで、画像出力デバイスが出力する画像をモニタ106にプレビュー表示し(S210)、終了を処理する。
【0033】
●UI
図6は色域マッピングの評価においてモニタ106に表示されるUIの一例を示す図である。
【0034】
ユーザは、入力色域ボタン501を押して画像入力デバイスのプロファイルを指定し、出力色域ボタン502を押して画像出力デバイスのプロファイルを指定する。また、色域写像ボタン503を押して、複数の色域写像テーブルを用いた写像データの生成(S204)の実行を指示する。
【0035】
ユーザは、特定色ボタン504を押して、ユーザがとくに重要視する色の情報が記述された特定色データを指定する。図7は特定色データのフォーマット例を示す図で、RGB値とLab値の対応が記述されたデータである。
【0036】
ユーザは、階調評価ラインボタン505を押して、RGB値のグラデーション情報が記述された階調評価ラインデータを指定する。図8は階調評価ラインデータのフォーマット例を示す図で、評価対象の階調ライン(少なくとも1ライン)がRGB値によって記述されたデータである。この階調評価ラインに基づき階調性の評価値が算出される。従って、例えば一次色や二次色(R、G、B、C、M、Y)と、白色W、黒色Kまたは所定のグレイGの間を結ぶ階調ラインなど、ユーザが重視する階調ライン(通常は複数ライン)が階調評価ラインとして設定される。
【0037】
ユーザは、評価値算出ボタン506を押して、各色域写像テーブルの評価値の算出(S205)の実行を指示する。
【0038】
CPU101は、評価値表示部511に各色域写像テーブルに対応する評価値を表示する(S206)。ユーザは、評価値表示部511に配置されたラジオボタン512によって色域写像テーブルを選択することができる。
【0039】
ユーザは、最適または満足できる色域写像テーブルがないと判断した場合、色域写像調整ボタン507を押して、色域写像テーブルの調整(S208)の実行を指示する。この場合、ラジオボタン512によって選択されている色域写像テーブルが調整対象である。
【0040】
ユーザは、画像読み込みボタン509を押してプレビュー表示する画像データを選択する。この場合、ラジオボタン512によって選択されている色域写像テーブルが、ユーザが最適または満足できると判断した色域写像テーブルである。
【0041】
CPU101は、画像出力ボタン508が押されると、ラジオボタン512によって選択されている色域写像テーブルを使用して、プレビュー画像を表示部510に表示する(S210)。なお、表示部510に、入力画像データに対応する画像と、プレビュー画像、つまり、色変換前後の画像を並べて表示することもできる。ユーザは、重視するグラデーション(階調ライン)や色を含む画像をプレビュー表示することで、色の再現性、階調性の評価値と合わせて、色域マッピングを客観的に評価することができる。
【0042】
また、図には示さないが、色処理装置にUSBなどのインタフェイスを介して画像出力デバイスを接続し、UIに画像出力ボタンを用意すれば、プレビュー画像に対応する画像を画像出力デバイスに出力させることができる。
【0043】
●評価値の算出
図9は色の再現性および階調性の評価値の算出処理(S205)を説明するフローチャートである。
【0044】
CPU101は、一つの色域写像テーブルに対応する写像データを取得し(S901)、写像後のLab値と入力色再現情報のLab値の間の色差の平均値を計算する(S902)。さらに、ユーザが特定色データを指定した場合、写像後のLab値と特定色のLab値の間の色差値を計算する(S903)。その際、特定色のRGB値に対応する入力再現情報のRGB値が存在しない場合は、色差値の計算対象になる写像後のLab値が存在しない。そこで、四面体補間などを用いて、写像後のLab値から特定色に対応する写像後のLab値を計算し、色差値を計算する。
【0045】
次に、CPU101は、後述する方法により、階調性の評価値を計算し(S904)、すべての色域写像テーブルについて評価値を算出したか否かを判定する(S905)。評価値が未算出の色域写像テーブルがあれば処理をステップS902に戻す。
【0046】
すべての色域写像テーブルについて評価値を算出すると、CPU101は、評価値を評価値表示部511に表示する(S906)。
【0047】
●階調性の評価値の計算
図10は階調性の評価値の算出(S904)の詳細を説明するフローチャートである。
【0048】
CPU101は、ユーザが階調評価ラインデータを指定した場合、階調評価ラインデータから一連のRGB値を取得し(S1002)、一連のRGB値に対応する写像前後のLab値を取得する(S1003)。その際、一連のRGB値に対応する入力再現情報のRGB値が存在しない場合は、四面体補間などを用いて、写像前後のLab値から一連のRGB値に対応する写像前後のLab値を計算する。
【0049】
次に、CPU101は、取得した写像前後のLab値から、階調評価ラインの隣接する色の間の明度変化(明度差)、彩度変化(彩度差)、色の変化(色差)を計算する(S1004)。そして、明度差、彩度差、色差から、後述する方法によって、階調劣化指数を計算する(S1005)。そして、ユーザが指定する階調評価ラインのすべてについて、階調劣化指数を計算したか否かを判定し(S1006)、階調劣化指数が未計算の階調評価ラインがあれば処理をステップS1002に戻す。
【0050】
すべての階調評価ラインについて階調劣化指数を計算すると、CPU101は、階調劣化指数を総和して階調性の評価値とする(S1007)。
【0051】
●階調劣化指数の計算
階調性の数値化(評価値の計算)には、人間の知覚限界または許容限界に基づく閾値によって、階調評価ラインの隣接する色の間における局所的な階調性を数値化する手法を用いる。
【0052】
図11は階調劣化指数の計算を説明するフローチャートである。
【0053】
CPU11は、許容ランクテーブルを取得する(S1102)。図12は許容ランクテーブルを説明する図である。許容ランクテーブルは、人間の視覚が色の違いを感じる色差の程度をランク付けした情報を示すテーブルである。
【0054】
次に、CPU11は、許容ランクテーブルを用いて、ステップS1004において計算した、階調評価ラインの隣接する色の間の色差について色差ランクを決定する(S1103)。そして、ステップS1004において計算した、階調評価ラインの隣接する色の間の色差について色差ランクを決定する(S1104)。
【0055】
次に、CPU11は、階調評価ラインの隣接する色の間の、写像前後の色差ランクの変化を調べる。そして、色差ランクに違いがなければ0、色差ランクが一つ異なれば-1、色差ランクが二つ異なれば-2、…として、色差ランクの差に相当する負の数値を合計して階調劣化指数にする(S1105)。
【0056】
図13は階調評価ラインの隣接する色の間の、写像前後の色差ランクおよび写像劣化指数をを示す図である。
【0057】
次に、CPU11は、ステップS1004において計算した、階調評価ラインの隣接する色の間の、写像前後の明度差、彩度差を調べて、彩度または明度の反転があるか否かを判定する(S1106)。そして、反転がある場合は階調劣化指数に-α(例えば-5)を加える(S1107)。
【0058】
このように、色域マッピングの色の再現性および階調性を示す定量的な評価値を図6に示すUIに表示することができる。ユーザは、重視する色の再現性だけでなく、重視する階調ラインの階調性の評価値を参照することで、より望ましい色の再現性と階調性を示す色域マッピングを正確かつ容易に選択することができる。
【0059】
[変形例]
実施例1では、写像色空間にCIELab空間を利用する例を示したが、CIEJCh空間のような他の均等色空間、CIEXYZ空間のような非均等色空間、あるいは、デバイスに依存するRGB空間なども利用可能である。
【0060】
上記では、階調性の数値化に、人間の知覚限界または許容限界に基づく図12に示す許容ランクテーブルを使用する例を説明したが、色差に応じた人間の視覚特性を表現する数値であれば何を使用してもよい。また、共用ランクテーブルのような絶対値を用いて数値化する方法ではなく、目標とする階調間の差分の相対値に基づいて、階調性を数値化してもよい。また、色差ランクの違いに対する数値や、明度または彩度が反転する場合の数値についても、人間の視覚特性に、より一致する数値化方法を用いてもよい。
【0061】
[他の実施例]
なお、本発明は、複数の機器(例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置、制御装置など)に適用してもよい。
【0062】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記憶媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記憶媒体は本発明を構成する。
【0063】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0064】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0065】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【0066】
【図1】代表的な色域マッピングアルゴリズムを示す図、
【図2】実施例の色処理装置の構成例を示すブロック図、
【図3】色域マッピングの評価手順の一例を示すフローチャート、
【図4】色再現情報のフォーマット例を示す図、
【図5】写像データの一例を示す図、
【図6】色域マッピングの評価においてモニタに表示されるUIの一例を示す図、
【図7】特定色データのフォーマット例を示す図、
【図8】階調評価ラインデータのフォーマット例を示す図、
【図9】色の再現性および階調性の評価値の算出処理を説明するフローチャート、
【図10】階調性の評価値の算出の詳細を説明するフローチャート、
【図11】階調劣化指数の計算を説明するフローチャート、
【図12】許容ランクテーブルを説明する図、
【図13】階調評価ラインの隣接する色の間の、写像前後の色差ランクおよび写像劣化指数をを示す図である。
【特許請求の範囲】
【請求項1】
入力色域の画像データを出力色域にマッピングする色変換データを生成する色処理装置であって、
前記入力色域および前記出力色域の色再現情報を取得する取得手段と、
前記入力色域を前記出力色域に写像する色域写像データに基づき、前記入力色域の色再現情報に含まれる色値を前記出力色域に写像する写像手段と、
前記写像の結果に基づき、前記色域写像データによる写像の色の再現性および階調性の評価値を計算する計算手段と、
前記評価値に基づき選択される色域写像データから前記色変換データを生成する生成手段とを有することを特徴とする色処理装置。
【請求項2】
前記写像手段は複数の色域写像データによって前記写像を行い、前記計算手段は前記複数の色域写像データごとに前記評価値を計算することを特徴とする請求項1に記載された色処理装置。
【請求項3】
前記複数の色域写像データはそれぞれ色域マッピングアルゴリズムが異なることを特徴とする請求項2に記載された色処理装置。
【請求項4】
前記計算手段は、人間の知覚限界または許容限界に基づいた閾値により、階調評価ラインの局所的な階調性を数値化して、前記階調性の評価値を得ることを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項5】
前記計算手段は、前記写像の結果に基づき、階調評価ラインの局所的な明度変化、彩度変化、色の変化を計算して、それら変化から前記階調性の評価値を得ることを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項6】
さらに、前記階調評価ラインを示すデータを設定する設定手段を有することを特徴とする請求項4または請求項5に記載された色処理装置。
【請求項7】
入力色域の画像データを出力色域にマッピングする色変換データを生成する色処理方法であって、
前記入力色域および前記出力色域の色再現情報を取得し、
前記入力色域を前記出力色域に写像する色域写像データに基づき、前記入力色域の色再現情報に含まれる色値を前記出力色域に写像し、
前記写像の結果に基づき、前記色域写像データによる写像の色の再現性および階調性の評価値を計算し、
前記評価値に基づき選択される色域写像データから前記色変換データを生成することを特徴とする色処理方法。
【請求項8】
コンピュータ装置を制御して、請求項1から請求項6の何れか一項に記載された色処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項9】
請求項8に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項1】
入力色域の画像データを出力色域にマッピングする色変換データを生成する色処理装置であって、
前記入力色域および前記出力色域の色再現情報を取得する取得手段と、
前記入力色域を前記出力色域に写像する色域写像データに基づき、前記入力色域の色再現情報に含まれる色値を前記出力色域に写像する写像手段と、
前記写像の結果に基づき、前記色域写像データによる写像の色の再現性および階調性の評価値を計算する計算手段と、
前記評価値に基づき選択される色域写像データから前記色変換データを生成する生成手段とを有することを特徴とする色処理装置。
【請求項2】
前記写像手段は複数の色域写像データによって前記写像を行い、前記計算手段は前記複数の色域写像データごとに前記評価値を計算することを特徴とする請求項1に記載された色処理装置。
【請求項3】
前記複数の色域写像データはそれぞれ色域マッピングアルゴリズムが異なることを特徴とする請求項2に記載された色処理装置。
【請求項4】
前記計算手段は、人間の知覚限界または許容限界に基づいた閾値により、階調評価ラインの局所的な階調性を数値化して、前記階調性の評価値を得ることを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項5】
前記計算手段は、前記写像の結果に基づき、階調評価ラインの局所的な明度変化、彩度変化、色の変化を計算して、それら変化から前記階調性の評価値を得ることを特徴とする請求項1から請求項3の何れか一項に記載された色処理装置。
【請求項6】
さらに、前記階調評価ラインを示すデータを設定する設定手段を有することを特徴とする請求項4または請求項5に記載された色処理装置。
【請求項7】
入力色域の画像データを出力色域にマッピングする色変換データを生成する色処理方法であって、
前記入力色域および前記出力色域の色再現情報を取得し、
前記入力色域を前記出力色域に写像する色域写像データに基づき、前記入力色域の色再現情報に含まれる色値を前記出力色域に写像し、
前記写像の結果に基づき、前記色域写像データによる写像の色の再現性および階調性の評価値を計算し、
前記評価値に基づき選択される色域写像データから前記色変換データを生成することを特徴とする色処理方法。
【請求項8】
コンピュータ装置を制御して、請求項1から請求項6の何れか一項に記載された色処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項9】
請求項8に記載されたコンピュータプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−38593(P2009−38593A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−201096(P2007−201096)
【出願日】平成19年8月1日(2007.8.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願日】平成19年8月1日(2007.8.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]