(57)【要約】【課題】  従来の技術を組み合わせた手法によって、ユーザが意図する色再現が得られるように、ガマット写像を調整するには幾つかの困難が伴う。【解決手段】  擬似三次元表示を参照して色再現を調整する際に、擬似三次元表示の表示形態を設定させ(S506)、色再現に関する写像を調整させ(S508)、調整された写像に従って色を写像し(S509、S502)、写像結果および表示形態の設定に従って構成した三次元物体の情報を擬似三次元表示する表示情報を生成する(S503)。【選択図】  図5
2005176203.tif 000002
【特許請求の範囲】
【請求項１】
擬似三次元表示を参照して色再現を調整するための色再現編集装置であって、
前記擬似三次元表示の表示形態を設定させるための設定手段と、
前記色再現に関する写像を調整させるための調整手段と、
前記調整手段により調整された写像に従って色を写像する写像手段と、
前記写像手段の写像結果および前記表示形態の設定に従って構成した三次元物体の情報を前記擬似三次元表示する表示情報を生成する生成手段とを有することを特徴とする色再現編集装置。
【請求項２】
前記調整手段による写像の調整および前記表示形態の選択が行われるごとに、前記写像手段は前記色の写像を行い、前記生成手段は前記表示情報を更新することを特徴とする請求項1に記載された色再現編集装置。
【請求項３】
前記写像手段は、色域写像（ガマットマッピング）もしくは高次の非線形変換の何れか、または、その両者を組み合わせて写像を行うことを特徴とする請求項1または請求項2に記載された色再現編集装置。
【請求項４】
前記生成手段は、前記表示形態の設定に従って、色域内部の色再現を表示する表示情報を生成することを特徴とする請求項1から請求項3の何れかに記載された色再現編集装置。
【請求項５】
前記写像手段は、第一の表色系において規則的に配置された色の写像結果を、前記第一の表色系と同一または異なる第二の表色系において算出することで色再現情報を生成し、前記生成手段は、前記写像手段により算出される色再現情報に基づき前記三次元物体の表面情報を構成することを特徴とする請求項1から請求項4の何れかに記載された色再現編集装置。
【請求項６】
さらに、前記生成手段による前記表面情報の構成動作を指示させるための指示手段を有することを特徴とする請求項5に記載された色再現編集装置。
【請求項７】
前記設定手段により、さらに、第一の表色系における基底ごとの表示格子範囲を設定可能で、前記生成手段は、設定された表示格子範囲に基づき、前記第一の表色系における直方体領域表面の標本点が第二の表色系において取り得る色座標を色分布情報より取得して前記三次元物体の表面情報を構成することを特徴とする請求項1から請求項4の何れかに記載された色再現編集装置。
【請求項８】
前記設定手段により、さらに、表示色相範囲を設定可能で、前記生成手段は、第一の表色系における格子原点、前記原点の対角に位置ある最外郭格子点、および、設定された表示色相範囲に基づき選択される隣り合う格子頂点の四頂点から四面体を構成し、前記四面体の表面の第二の表色系における写像値を取得して前記三次元物体の表面情報を構成することを特徴とする請求項1から請求項4の何れかに記載された色再現編集装置。
【請求項９】
前記三次元物体の表面情報は複数の表面情報から構成され、前記生成手段は前記設定手段の設定に基づき前記表面情報ごとに表示または非表示を設定することを特徴とする請求項1から請求項4の何れかに記載された色再現編集装置。
【請求項１０】
前記設定手段により、さらに、前記三次元物体の表面情報の表示形態を設定可能で、前記生成手段は、前記表面情報の表示形態の選択に応じて、ポイントモデル表示、ワイヤフレームモデル表示、ポリゴンモデル表示、または、スムースシェーディング表示により前記三次元物体の表面情報を前記疑似三次元表示する前記表示情報を生成することを特徴とする請求項1から請求項4の何れかに記載された色再現編集装置。
【請求項１１】
前記設定手段により、さらに、始点、視線、物体位置および物体回転の少なくとも一つを設定可能で、前記生成手段は、前記設定手段により設定される視点情報、物体位置情報および物体回転情報の少なくとも一つからなる表示制御情報に基づき、前記三次元物体の表面情報を前記疑似三次元表示する前記表示情報を生成することを特徴とする請求項1から請求項4の何れかに記載された色再現編集装置。
【請求項１２】
前記写像は多段階の写像からなる色域写像であることを特徴とする請求項3に記載された色再現編集装置。
【請求項１３】
前記調整手段は、ユーザの調整指示から写像制御内容を算出した写像制御情報を生成することを特徴とする請求項12に記載された色再現編集装置。
【請求項１４】
前記調整手段は、ユーザの調整指示値から写像制御情報を生成することを特徴とする請求項12記載された色再現編集装置。
【請求項１５】
前記調整手段により、さらに、色相ごとの彩度調整、全体的な明度調整および色相制御の少なくとも一つが可能であることを特徴とする請求項13または請求項14に記載された色再現編集装置。
【請求項１６】
擬似三次元表示を参照して色再現を調整するための色再現編集方法であって、
前記擬似三次元表示の表示形態を設定させ、
前記色再現に関する写像を調整させ、
調整された写像に従って色を写像し、
写像結果および前記表示形態の設定に従って構成した三次元物体の情報を前記擬似三次元表示する表示情報を生成することを特徴とする色再現編集方法。
【請求項１７】
情報処理装置を制御して、請求項16に記載された色再現編集を実行することを特徴とするプログラム。
【請求項１８】
請求項17に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色再現編集装置およびその方法に関し、例えば、擬似三次元表示に基づき色再現を調整・制御する色再現編集に関する。
【背景技術】
【０００２】
近年のパーソナルコンピュータおよびカラープリンタの普及に加え、昨今ではディジタルスチルカメラ(DSC)、ディジタルビデオ(DV)、スキャナなどの画像入出力機器の普及が著しい。このような中で、パーソナルコンピュータを利用したデスクトップパブリッシング(DTP)やコンピュータエイデッドデザイン(CAD)において、ディジタル画像の管理が広く一般に行われている。
【０００３】
例えば写真原稿を制作する際は、ポジフィルムをフィルムスキャナによりディジタイズしてコンピュータ上で編集を行うほか、DSCで撮影して、直接、ディジタル画像を生成しコンピュータ上で編集を行う。この編集作業の際、撮影者あるいは編集者が意図する色再現がディスプレイ上で得られるよう、画像の色を修正しなければならない。また、原稿をカラープリンタあるいはオフセット印刷機によって出力する際、編集者が意図する色再現で原稿出力が得られるように、画像の色が修正されなければならない。そのため、カラープリンタやモニタなどを用いて、意図する色で画像が再現されるように、ユーザが色再現を自由に調整・編集できる技術が求められている。
【０００４】
色再現を調整・編集する技術は、現在までに数多く提案されている。その多くは特定色の調整・編集を目的とする技術である。このような技術の一例として、色を図示して編集を行う特許第3219511号に開示された技術がある。この技術は、a*b*平面上にガマット境界と調整対象である特定色を二次元的に図示し、ユーザが図を参照しながら特定色を編集できるようにしたもので、特定色に対する調整手段としては分かり易い編集手段を提供する。しかし、ディジタル画像全般に対する調整技術としては次の二つの問題が残る。
【０００５】
一つは、階調性の劣化あるいは特定色以外の色再現の劣化といった画像障害が発生する可能性である。複数の特定色の色再現を調整する場合、調整内容によっては、複数色間において色差が極端に大きくなる、あるいは、階調が失われるといった問題が発生する。これは、上記の技術が色の階調を考慮せずに単一色単位で色の調整するためである。上記の技術でこの問題に対処するには、階調性が破綻するかどうかを判断し、破綻する場合には特定色の編集そのものを無効としなければならないが、このような判断は煩雑であり、また色調整の自由度を狭めかねない。
【０００６】
もう一つの問題は、特定色を調整・編集したことによって他の色あるいは階調がどのように変化するかが判断できない、という問題である。一般に、特定色を調整・編集した際は階調反転が発生しないよう、その周辺の色に対しても自動的に変更を施す。しかし、上記の技術によれば、編集対象である特定色のみの表示を行うため、色再現が全体的あるいは局所的にどのように変化するかの判断が困難である。このため、色再現の全体の変化を的確に把握できず、結果として、階調性の劣化や意図しない色再現といった障害が発生することがある。
【０００７】
前者の問題を解決する手段としてガマット写像技術が存在する。例えば、画像ディジタイズ機器において色再現を調整するには、電荷結合デバイス(CCD)が出力するRGB色信号をパーソナルコンピュータ上のsRGB色信号へ、非線形変換などによるガマット写像を行う。また、例えば、パーソナルコンピュータ上のsRGB色信号とカラープリンタ印刷物の間で色再現を調整する場合は、両者の間でのガマットの相違を克服するために、より複雑なガマット写像を用いる。このようなガマット写像技術としては、例えば特開2001-94799号公報に記載された、一次元-三次元の写像を複数段に亘って施す技術、あるいは、特開2002-33929号公報に記載された、色の変化としての階調を曲線表現に帰着してガマットマッピングを実現する技術がある。
【０００８】
後者の問題を解決する手段として、例えば、特開2002-222432号公報に記載された、色の分布情報を三次元上に様々に表示して解析する色情報解析技術が提案されている。この技術は、主として、ガマットマッピングにおける階調性や色再現の定性的解析・評価を目的とするもので、RGB色空間上に配置された標本点がL*a*b*色空間上でどのような色再現を示すかを、様々な視点から三次元表示するものである。
【０００９】
これらの技術を単純に用いるだけでも、ガマット写像技術によって階調性の劣化を防ぎつつ意図する色再現が得られるようにガマット写像を制御し、かつ、写像結果が意図する色再現となっているか、あるいは、階調性が破綻する兆しが見受けられるかどうかを色情報解析技術で視覚的に確認・把握することができる。このようにガマット写像結果である色再現を、色情報解析技術により視覚的に確認・把握することで、先述した色再現の調整・編集技術の問題点である階調性の劣化あるいは特定色以外における色再現の劣化といった画像障害の発生を極力抑えて色を調整・編集することができる。
【００１０】
上記の技術を組み合わせた手法によって、ユーザが意図する色再現が得られるように、ガマット写像を調整するには幾つかの困難が伴う。
【００１１】
まず、ガマット写像は一般に複数段の写像から構成されるため制御が難しく、意図する色再現を達成するには写像アルゴリズムに対する高度な知識が要求される。一部のガマット写像アルゴリズムには、ユーザが写像を制御し易いように写像パラメータを構成したものもあるが、それでもなお写像パラメータによる効果ならびに全体に及ぼす影響を理解することは困難である。また、高次の非線形変換による写像においては、非線形変換の係数項の写像への影響を理解している必要があり、一層、制御が困難になる。
【００１２】
さらに、色再現を視覚的に確認しつつ調整を行うには、写像と解析を交互に繰り返す必要があるため手順が煩雑になる。また、写像の調整が色再現に与える影響を把握するに当たっては、色再現の変化を離散的に捉えざるを得ないため、大まかな効果しか把握することができない。
【００１３】
上記の技術を組み合わせた手法における、これらの制御上の難点は、色再現の制御精度の劣化となって現れる。
【００１４】
【特許文献１】特許第3219511号公報
【特許文献２】特開2001-94799号公報
【特許文献３】特開2002-33929号公報
【特許文献４】特開2002-222432号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は、上述の問題を個々にまたはまとめて解決するもので、写像の調整結果に対する色再現の変化を的確に把握・確認可能にすることを目的とする。
【００１６】
また、ユーザが意図する色再現を実現するための平易な写像制御にすることを他の目的とする。
【００１７】
さらに、色再現の精度向上を他の目的とする。
【課題を解決するための手段】
【００１８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１９】
本発明は、擬似三次元表示を参照して色再現を調整するための色再現編集に関し、擬似三次元表示の表示形態を設定させ、色再現に関する写像を調整させ、調整された写像に従って色を写像し、写像結果および表示形態の設定に従って構成した三次元物体の情報を擬似三次元表示する表示情報を生成することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、擬似三次元表示を参照して色再現を調整することで、写像の調整結果に対する色再現の変化を的確に把握・確認することができる。従って、写像の調整を充分に理解していない場合でも意図する色再現を容易に追及することができる。言い換えれば、ユーザが意図する色再現を実現するための平易な写像制御が可能になる。さらに、写像制御に対する色再現の変化を連続的に把握・確認することができるため、意図する色再現を非常に微細に追求することができ、色再現の精度向上が達成される。
【発明を実施するための最良の形態】
【００２１】
以下、本発明にかかる一実施形態の画像処理装置を図面を参照して詳細に説明する。
【実施例１】
【００２２】
［構成］
図1は実施例の色信号変換装置の構成例を示すブロック図である。
【００２３】
図1において、CPU 101は、ROMやRAMからなるメインメモリ102やハードディスクドライブ(HDD) 105に格納されたプログラムに従い、メインメモリ102をワークメモリとして、システムバス（およびPCIバス）114を介して後述する構成を制御して、後述する各種処理および制御を実行する。
【００２４】
SCSIなどの汎用パラレルインタフェイス(I/F) 103は、HDD 105とシステムバス114をインタフェイスする。グラフィックアクセラレータ106は、カラーモニタ107とシステムバス114をインタフェイスする。USBコントローラ108は、カラープリンタ109およびスキャナ115とシステムバス114をインタフェイスする。キーボード/マウスコントローラ110は、キーボード111やマウス112などの入力デバイスとシステムバス114をインタフェイスする。なお、SCSI I/F 103、キーボード/マウスコントローラ110などに代わりUSBコントローラ108やIEEE 1394などのシリアルバスインタフェイスによって、HDD 105、キーボード111およびマウス112とシステムバス114をインタフェイスしてもよい。ネットワークインタフェイス(I/F) 104は、ローカルエリアネットワーク(LAN) 113とシステムバスをインタフェイスする。
【００２５】
［動作］
上記の構成における、ディジタル画像のプリンタ出力動作を説明する。
【００２６】
まず、CPU 101の指令により、HDD 105に格納された画像処理アプリケーションが起動される。続いて、画像処理アプリケーションの処理に従い、HDD 105に格納されたディジタル画像データが、CPU 101の指令に基づきSCSI I/F 103、システムバス114を経由して、メインメモリ102に転送される。あるいは、LAN 113に接続されたサーバに格納された画像データまたはインターネット上のディジタル画像データが、CPU 101の指令により、ネットワークI/F 104、システムバス114を経由してメインメモリ102に転送される。
【００２７】
以下では、メインメモリ102に保持されたディジタル画像データが、RGB符号無し8ビット画像データであるとして説明する。
【００２８】
メインメモリ102に保持されたディジタル画像データは、CPU 101の指令により、システムバス114を経由してグラフィックアクセラレータ106に転送される。グラフィックアクセラレータ106は、ディジタル画像データをD/A変換した後、ディスプレイケーブルを通じてカラーモニタ107に送信する。これにより、カラーモニタ107上に画像が表示される。
【００２９】
ここで、ユーザが画像アプリケーションに対してメインメモリ102に保持されたディジタル画像をプリンタ109によって出力するように指令すると、画像アプリケーションは、ディジタル画像をプリンタドライバに転送する。CPU 101は、後述するフローチャートに示すプリンタドライバの処理に基づき、ディジタル画像をCMYKディジタル画像に変換し、USBコントローラ108を介してプリンタ109へ送信する。以上の一連の動作の結果として、プリンタ109はカラー画像を印刷出力する。
【００３０】
図2はプリンタドライバ動作を説明するフローチャートである。
【００３１】
まず、画像アプリケーションによって転送されるRGB24ビットの画像データをメインメモリ102に格納し(S201)、後述する色補正ルックアップテーブル(LUT)作成アプリケーションによって作成される色補正LUTをHDD 105より読み込む(S202)。色補正LUTは、RGB色空間の格子点の色座標データと、その格子点が再現するL*a*b*色空間の座標値の対応を記した、図3Bに示すようなデータ構造を有する。色補正LUTの先頭には、R, G, B値のステップが記述され、その後に、各格子点に対応する色座標がL*値、a*値、b*値、そしてR値、G値、B値の順に記述されている。このデータ構造をRGB色空間で模式的に表すと、図3Aに示すように表される。なお、上記のデータ構造が色の分布を示すことから、以下では、色補正LUTを色分布データとも呼ぶ。
【００３２】
次に、色補正LUTに基づき、RGB24ビット画像データをL*a*b*固定小数点データに変換し、再びメインメモリ102に格納し(S203)、予め定められた色変換LUTに従って、先のL*a*b*固定小数点データをCMYK32ビット画像データ（CMYKの各色信号が符号無し8ビットの画像データ）に変換し、再びメインメモリ102に格納し(S204)、メインメモリ102に格納されたCMYK32ビット画像データをUSBコントローラ108を介してプリンタ115へ送信する。
【００３３】
［色補正LUTの作成］
次に、色補正LUTの作成について説明するが、まず、図1の構成における色補正LUTの作成動作を説明する。
【００３４】
まず、CPU 101の指令により、HDD 105に格納された色補正LUT作成アプリケーションが起動される。続いて、色補正LUT作成アプリケーションの処理に従い、図4Aおよび図4Bに示すウィンドウ表示がカラーモニタ107上に表示される。
【００３５】
図4Aのウィンドウ表示は、色補正LUTに記述された各格子点の変換後のL*a*b*情報を色分布情報として、L*a*b*色空間上に擬似三次元表示したものである。また、図4Bのウィンドウ表示は、擬似三次元表示を制御するとともに色補正LUTを調整するための表示である。これらの詳細は後述する。
【００３６】
ユーザは、図4Aと図4Bに示すウィンドウ表示をインタフェイスとして、マウスを用いて、色補正LUT作成アプリケーションに指示を与え、色補正LUTを作成する。作成された色補正LUTは、ユーザの指示により、HDD 105に保存される。
【００３７】
図5は色補正LUT作成アプリケーションの動作を説明する状態遷移図である。
【００３８】
まず、作業用のヒープメモリの確保、写像制御パラメータの初期化などの初期化動作を行い、3Dオブジェクトデータを擬似三次元表示する際のジオメトリ情報および表示形態情報を初期化する(S501)。
【００３９】
続いて、写像制御パラメータを基に、後述するアルゴリズムに基づく写像動作により、色分布情報と等価の色補正LUTを生成する(S502)。
【００４０】
次に、色補正LUT、並びに、表示形態情報に基づいて3Dオブジェクトデータを生成する(S503)。3Dオブジェクトデータの生成動作は、モニタ表示動作と併せて後述する。
【００４１】
次に、ジオメトリ情報に基づいて3Dオブジェクトデータをモニタへ表示し(S504)、その後、メッセージ待ち状態になる(S505)。メッセージ待ち状態で各種メッセージ受信すると、メッセージを判断した後、然るべき状態へ遷移する。
【００４２】
図6はメッセージマップを示す図である。以下、通知されるメッセージに対する処理を説明する。
【００４３】
●メッセージDISP_MAPCTRL
メッセージDISP_MAPCTRLを検知すると、メッセージに付加されたサブメッセージを抽出し、抽出されたサブメッセージに対応する写像制御用のモードレスダイアログを表示し(S508)、その後、メッセージ待ち状態(S505)に戻る。
【００４４】
●メッセージDISP_DISPCTRL
メッセージDISP_DISPCTRLを検知すると、メッセージに付加されたサブメッセージを抽出し、抽出されたサブメッセージに対応する表示制御用のモードレスダイアログを表示し(S506)、メッセージ待ち状態(S505)に戻る。
【００４５】
●メッセージCTRL_MAP
メッセージCTRL_MAPを検知すると、付随する写像制御サブメッセージおよび付加メッセージを抽出し、抽出した写像制御サブメッセージに基づいて写像制御パラメータの調整を行い(S509)、調整した写像制御パラメータを参照しながら、表示するオブジェクトデータの種類に応じて必要なステップまでの色域写像処理を後述する方法により行う(S502)。そして、3Dオブジェクトデータを更新し(S503)、更新された3Dオブジェクトデータを更新表示し(S504)、メッセージ待ち状態(S505)に戻る。
【００４６】
●メッセージCTRL_DISP
メッセージCTRL_DISPを検知すると、付随する表示制御サブメッセージおよび付加メッセージを抽出し、抽出した表示制御サブメッセージおよび付加メッセージに基づいて3Dオブジェクトデータを更新し(S507)、更新された3Dオブジェクトデータを更新表示し(S504)、メッセージ待ち状態(S505)に戻る。
【００４７】
●メッセージGEN_LUT
メッセージGEN_LUTを検知すると、後述する方法により生成された写像色再現域を参照してRGBデータからCMYKデータへの変換用LUTを作成してHDD 105へ保存し(S510)、メッセージ待ち状態(S505)に戻る。
【００４８】
●メッセージPROCESS_END
メッセージPROCESS_ENDを検知すると、ヒープメモリの解放などの終了処理動作を行い、色補正LUT作成アプリケーションが終了する。
【００４９】
ここで、図4Bに示すユーザインタフェイスに配置されたボタンをユーザがクリック（または押した）場合に生成されるメッセージを説明する。
【００５０】
ボタン401-404が押されると、メインメッセージDISP_DISPCTRLが生成され、サブメッセージとして、ボタン401の場合はDISP_RASTERIZE_MODE、ボタン402の場合はDISP_CHANGE_GRIDAREA、ボタン403の場合はDISP_CHANGE_HUEAREA、ボタン404の場合はDISP_CHANGE_DISPLAYSURFACEがそれぞれ生成される。
【００５１】
ボタン405-407が押されると、メインメッセージDISP_MAPCTRLが生成され、サブメッセージとして、ボタン405の場合はDISP_CHANGE_BRIGHTNESS、ボタン406の場合はDISP_CHANGE_HUE、ボタン407の場合はDISP_CHANGE_CHROMAがそれぞれ生成される。
【００５２】
ボタン408が押されると、メインメッセージGEN_LUTが生成される。また、ボタン409が押されると、メインメッセージPROCESS_ENDが生成される。
【００５３】
［3Dブジェクトデータ生成(S503)・表示(S504)］
3Dオブジェクトデータの生成は、まず、図3Aに示すようなRGB色空間の最大の格子領域表面の各格子点により形成される最小の四角形それぞれにおいて二通りの三角形の組み合わせを生成する。図7はこの三角形の組み合わせの生成を模式的に示す図で、太線で囲まれた領域が格子点により形成される最小の四角形である。この四角形を、破線で分割した二つの三角形の組み合わせと、二点鎖線で分割した二つの三角形の組み合わせの二通りの三角形の組み合わせを生成する。
【００５４】
次に、生成した三角形の頂点である格子点座標を対応するL*a*b*座標値に色補正LUTを用いて変換し、さらに、変換後の三角形の組み合わせから3Dオブジェクトデータを構成する。ここで、3Dオブジェクトデータの体積が最大になるように、二通りの三角形の組み合わせから組み合わせを選択する。すなわち、RGB色空間上に各格子点により形成される最小の四角形がN個存在する場合、3Dオブジェクトデータは2N通りの内の一つから選択される。
【００５５】
こうして生成された3Dオブジェクトデータは、例えば図4Aに示すようにカラーモニタ107に表示される(S504)。このように、3Dオブジェクトデータは、前述した色補正LUTをLab色空間上において擬似三次元表示したものである。
【００５６】
［表示制御用のダイアログの表示(S506)］
以下では、表示制御用のダイアログの表示を示すメッセージDISP_DISPCTRLに付随する各サブメッセージに対する処理を説明する。
【００５７】
●サブメッセージDISP_RASTERIZE_MODE
図4Bに示すボタン401が押され、表示形態選択用のUIの表示を示すメッセージDISP_RASTERIZE_MODEが色補正LUT作成アプリケーションに通知されると、図8に示すUIが表示される。ユーザが、このUIのラジオボタンを用いて表示形態を選択すると、色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示形態の選択および表示処理を実行する。
【００５８】
●サブメッセージDISP_CHANGE_GRIDAREA
図4Bに示すボタン402が押され、表示格子範囲選択用のUIの表示を示すメッセージDISP_CHANGE_GRIDAREAが色補正LUT作成アプリケーションに通知されると、図13に示すUIが表示される。ユーザが、このUIを用いてR値、G値、B値それぞれの格子範囲を入力することで表示すべきRGB色空間の直方体領域が設定され、色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示格子範囲の設定処理を実行する。
【００５９】
●サブメッセージDISP_CHANGE_HUEAREA
図4Bに示すボタン403が押され、表示色相範囲選択用のUIの表示を示すメッセージDISP_CHANGE_HUEAREAが色補正LUT作成アプリケーションに通知されると、図16に示すUIが表示される。ユーザは、このUIのチェックボックスを利用して、六つの表示色相範囲の内から少なくとも一つの、表示すべきRGB色空間の色相範囲を選択する。色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示色相範囲の選択処理を実行する。
【００６０】
●サブメッセージDISP_CHANGE_DISPLAYSURFACE
図4Bに示すボタン404が押され、表示面選択用のUIの表示を示すメッセージDISP_CHANGE_DISPLAYSURFACEが色補正LUTアプリケーションに通知されると、図19に示すUIが表示される。ユーザは、このUIのチェックボックスを利用して、八つの表示面うち選択可能な少なくとも一つの、表示すべき表示面を選択する。なお、図19におけるチェックボックスは、現在の3Dオブジェクトデータに応じて選択可能（イネーブル）/選択不可（ディセーブル）が切り替わり、ディセーブルの場合は図19の「色相面1」「色相面2」のように、文字色が薄くなる。色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示色相範囲の選択処理を実行する。
【００６１】
［表示制御の操作(S507)］
以下では、表示制御の操作を示すメインメッセージCTRL_DISPに付随する各サブメッセージに対する処理を説明する。
【００６２】
●サブメッセージZOOM_INOUT
色補正LUT作成アプリケーションは、サブメッセージZOOM_INOUTと、メッセージに付加されたZOOMIN/OUT量を抽出すると、抽出したZOOMIN/OUT量に基づいてジオメトリ情報を更新し(S507)、更新したジオメトリ情報に基づいて3Dオブジェクトデータの表示を更新する(S504)。
【００６３】
●サブメッセージMOVE
色補正LUT作成アプリケーションは、サブメッセージMOVEと、メッセージに付加された視点平行移動量/視点回転量を抽出すると、抽出した視点平行移動量/視点回転量に基づいてジオメトリ情報を更新し(S507)、更新したジオメトリ情報に基づいて3Dオブジェクトデータの表示を更新する(S504)。
【００６４】
●サブメッセージRASTERIZE_MODE
色補正LUT作成アプリケーションは、サブメッセージRASTERIZE_MODEと、メッセージに付加された表示形態の選択情報を抽出すると、抽出した表示形態の選択情報に基づいて表示形態情報を更新し(S507)、更新した表示形態情報に基づいて3Dオブジェクトデータの表示を更新する(S504)。
【００６５】
●サブメッセージCHANGE_GRIDAREA
色補正LUT作成アプリケーションは、サブメッセージCHANGE_GRIDAREAと、メッセージに付加された表示格子範囲の設定情報を抽出すると、抽出した表示格子範囲の設定情報に基づいて3Dオブジェクトデータを更新し(S507)、更新した3Dオブジェクトデータを更新表示する(S504)。
【００６６】
●サブメッセージCHANGE_HUEAREA
色補正LUT作成アプリケーションは、サブメッセージCHANGE_HUEAREAと、メッセージに付加された表示色相範囲の選択情報を抽出すると、抽出した表示色相範囲の選択情報に基づいて3Dオブジェクトデータを更新し(S507)、更新した3Dオブジェクトデータを更新表示する(S504)。
【００６７】
●サブメッセージCHANGE_DISPLAYSURFACE
色補正LUT作成アプリケーションは、サブメッセージCHANGE_DISPLAYSURFACEと、メッセージに付加された表示面の選択情報を抽出すると、抽出した表示面の選択情報に基づいて3Dオブジェクトデータを更新し(S507)、更新した3Dオブジェクトデータを更新表示する(S504)。
【００６８】
［表示形態の選択および表示(S506)］
表示形態としてはワイヤフレーム表示、ポイント表示、ソリッド表示1、ソリッド表示2、ソリッド表示3の五形態が用意されている。なお、ソリッド表示1は、3Dオブジェクトデータの三角パッチデータに則るとともに、そのソリッド表面色はRGB色空間上での格子点座標値より計算する。ソリッド表示2は、3Dオブジェクトデータによって曲面表示し、そのソリッド表面色はRGB色空間上の格子点座標値より計算する。ソリッド表示3は、3Dオブジェクトデータの三角パッチデータに則るとともに、そのソリッド表面色は表示空間であるL*a*b*色空間の座標値から計算する。
【００６９】
ユーザが図8に示すUIを用いて表示形態を選択すると、メインメッセージCTRL_DISPおよびサブメッセージRASTERIZE_MODEが色補正LUT作成アプリケーションに通知され、同アプリケーションは、メッセージに付加された選択情報に応じて表示形式を変化させる。
【００７０】
図9はワイヤフレーム表示が選択された場合のモニタ表示例を示す図、図10はポイント表示が選択された場合のモニタ表示例を示す図である。ただし、本来は陰面も表示されるが図の簡単のために陰面を省略した。
【００７１】
また、図11はソリッド表示2が選択された場合のモニタ表示例を示す図、図12はソリッド表示1またはソリッド表示3が選択された場合の表示例を示す図で、図12に示す表示形態において然るべき色が付いて表示される。
【００７２】
［表示格子範囲の設定および表示(S506)］
ユーザが、図13に示すUIを用いて表示格子範囲を設定すると、メインメッセージCTRL_DISPおよびサブメッセージCHANGE_GRIDAREAが色補正LUT作成アプリケーションに通知され、同アプリケーションは、メッセージに付加されたRGB格子範囲情報に応じて、次のように3Dオブジェクトデータを更新する。
【００７３】
まず、RGB色空間上の選択された直方体領域表面の各格子点により形成される最小の四角形それぞれにおいて二通りの三角形の組み合わせを生成する。この模式図は、図7に示したものと同様になる。
【００７４】
次に、それら三角形の頂点である格子点座標を対応するL*a*b*座標値に色補正LUTを用いて変換し、さらに、変換後の三角形の組み合わせから3Dオブジェクトデータを構成する。ここで、3Dオブジェクトデータの体積が最大になるように、二通りの三角形の組み合わせから三角形の組み合わせを選択する。すなわち、RGB色空間上の各格子点から形成される最小の四角形がN個存在する場合、3Dオブジェクトデータは2N通りの一つから選択される。
【００７５】
本実施例において、色分布情報の格子点数がR軸、G軸、B軸ともに「6」で、表示格子範囲をR軸で[2, 5]、G軸で[2, 4]、B軸で[1, 4]に設定した場合の、カラーモニタ107上の表示例を図15に示す。図14はRGB色空間における格子範囲を示す図で、点線で示す範囲が最大の格子領域で、実線で示す範囲が選択された長方形領域である。実線と実線、実線と破線、破線と破線の交点は格子点を示す。
【００７６】
［表示色相範囲の選択および表示(S506)］
表示色相範囲選択および表示の処理は、R軸とG軸とB軸とで格子点数が等しく、かつ、格子点のステップが等しくなければ実行されない。
【００７７】
ユーザが、上述したように、図16に示すUIを用いて表示色相範囲を選択すると、メインメッセージCTRL_DISPおよびサブメッセージCHANGE_HUEAREAが色補正LUT作成アプリケーションに通知され、色補正LUT作成アプリケーションはメッセージに付加された色相選択情報に応じ、次のように3Dオブジェクトデータを更新する。
【００７８】
まず、RGB色空間上で、色相選択情報に応じて図17に示す六つの四面体から一つを選択する。 続いて、選択された四面体表面の各格子点により形成される最小の四角形それぞれにおいて二通りの三角形の組み合わせを生成し、これら三角形の頂点である格子点座標を対応するL*a*b*座標値に色補正LUTを用いて変換し、さらに、変換後の三角形の組み合わせから3Dオブジェクトデータを構成する。ここで、表示格子範囲を設定する場合と同様に、3Dオブジェクトデータの体積が最大になるように、二通りの三角形の組み合わせから三角形の組み合わせを選択する。
【００７９】
図18は表示色相範囲にMR領域を選択した場合の、カラーモニタ107上の表示例を示す図である。
【００８０】
［表示面の選択および表示(S506)］
ユーザが、前述したように、図19に示すUIを用いて表示面を選択すると、メインメッセージCTRL_DISPおよびサブメッセージCHANGE_DISPLAYSURFACEが色補正LUT作成アプリケーションに通知され、色補正LUT作成アプリケーションはメッセージに付加された表示面の選択情報に応じ、次のように3Dオブジェクトデータを更新する。
【００８１】
図20は3Dオブジェクトデータの構造例を示す図、図21AはRGB格子範囲指定により生成される3Dオブジェクトデータの構造例を示す図、図21Bは表示色相範囲指定により生成される3Dオブジェクトデータはの構造例を示す図である。ここでは、表示面の選択情報に応じて各データの表示許可/不許可を更新する。
【００８２】
図22は表示面としてWMYR面およびWYCG面が選択された場合における、カラーモニタ107の表示例を示す図である。
【００８３】
［写像制御用ダイアログの表示(S508)］
以下では、写像制御用ダイアログの表示を示すメッセージDISP_MAPCTRLに付随する各サブメッセージに対する処理を説明する。
【００８４】
●サブメッセージDISP_CHANGE_BRIGHTNESS
明るさ調整用のUIの表示を示すメッセージDISP_CHANGE_BRIGHTNESSが色補正LUT作成アプリケーションに通知されると、図29に示すUIが表示される(S508)。ユーザは、このUIを用いて、色補正の全体的な明るさの調整量を設定する。色補正LUT作成アプリケーションは、この調整量に応じて後述する写像を行い、3Dオブジェクトデータの生成および表示を実行する。
【００８５】
●サブメッセージDISP_CHANGE_HUE
色相調整用のUIの表示を示すメッセージDISP_CHANGE_HUEが色補正LUT作成アプリケーションに通知されると、図30に示すUIが表示される(S508)。ユーザは、このUIを使用して、明度と、六色相（赤、緑、青、シアン、マゼンタおよび黄）の一つを選択し、その後、該当する範囲の色を対象とする色相調整量を設定する。色補正LUT作成アプリケーションは該調整量に応じて後述する写像を行い、3Dオブジェクトデータの生成および表示を実行する。
【００８６】
●サブメッセージDISP_CHANGE_CHROMA
鮮やかさ調整用のUIの表示を示すメッセージDISP_CHANGE_CHROMAが色補正LUT作成アプリケーションに通知されると、図31に示すUIが表示される(S508)。ユーザは、このUIを使用して、調整対象の色相を指定し、当該色相における鮮やかさ調整量を設定することで、色補正の鮮やかさが制御される。色補正LUT作成アプリケーションは、該調整量に応じて後述する写像を行い、3Dオブジェクトデータの生成および表示を実行する。
【００８７】
［写像制御の操作(S509)］
以下では、写像制御の操作を示すメインメッセージCTRL_MAPに付随する各サブメッセージについて、各サブメッセージが生成されるための動作条件と、それに対するメッセージの生成、ならびに、生成されたメッセージに対する処理を説明する。
【００８８】
●サブメッセージCHANGE_BRIGHTNESS
ユーザが、図23に示す明度調整スライダバーのスライダ2301を操作すると、写像制御の操作を示すメインメッセージCTRL_MAPとサブメッセージCHANGE_BRIGHTNESSが生成され、スライダ2301の位置情報がメッセージに付加される。
【００８９】
上述のメッセージが生成されると、メッセージの受信と判断が実行され(S505)、サブメッセージCHANGE_BRIGHTNESSに付加されたスライダの位置情報を抽出し、抽出した位置情報に基づいて0〜100の整数値をとる明度制御値を生成もしくは修正して写像制御パラメータを更新し(S509)、変更した写像制御パラメータに基づき後述する色域写像を行う(S502)。
【００９０】
●サブメッセージCHANGE_HUE
ユーザが、図24に示す色味調整スライダバーのスライダ2403を操作すると、写像制御の操作を示すメインメッセージCTRL_MAPとサブメッセージCHANGE_HUEが生成され、スライダ2403の位置情報、明度選択リストボックス2401の選択番号、ならびに、色相選択リストボックス2402の選択番号がメッセージに付加される。なお、明度選択リストボックス2401は明度0から100まで20刻みの6リスト、色相選択リストボックス2402は赤、緑、青、シアン、マゼンタおよび黄の6リストを有する。
【００９１】
上述のメッセージが生成されると、メッセージの受信と判断が実行され(S505)、サブメッセージCHANGE_HUEに付加されたスライダの位置情報、明度リストおよび色相リストの選択番号を抽出し、各選択番号に基づいて調整対象の明度値と色相角値を算出し、抽出したスライダの位置情報に基づいて-20〜+20の整数値をとる色相調整値を生成し、その後、明度値、色相角値および色相調整値に基づく色相制御パラメータを生成もしくは修正して制御パラメータを更新し(S509)、変更した写像制御パラメータに基づき後述する色域写像を行う(S502)。
【００９２】
●サブメッセージCHANGE_CHROMA
ユーザが、図25に示す鮮やかさ調整スライダバーのスライダ2502を操作すると、写像制御の操作を示すメインメッセージCTRL_MAPとサブメッセージCHANGE_CHROMAが生成され、スライダ2502のスライダ位置情報、および、色相選択リストボックス2501の選択番号がメッセージに付加される。なお、色相選択リストボックス2501は黄、橙、赤、マゼンタ、紫、青紫、青、空色、シアン、青緑、緑および黄緑の12リストを有する。
【００９３】
上述のメッセージが生成されると、メッセージの受信と判断が実行され(S505)、サブメッセージCHANGE_CHROMAに付加されたスライダの位置情報および色相リストの選択番号を抽出し、選択番号に基づいて調整対象の色相角値を算出し、抽出したスライダの位置情報に基づいて0.5〜2の実数値をとる彩度調整値を生成し、その後、色相角値および彩度調整値に基づく彩度制御パラメータを生成もしくは修正して制御パラメータを更新し(S509)、変更した写像制御パラメータに基づき後述する色域写像を行う(S502)。
【００９４】
［色域写像(S502)］
図26は色域写像処理(S502)の詳細を示すフローチャートである。
【００９５】
まず、カラーモニタ107の色再現域情報およびカラープリンタ115の色再現域情報が設定され(S2601)、カラーモニタ107の色再現域境界の最終的な写像結果になる写像色再現域を生成する(S2602)。図29に示す境界線2902は、この写像色再現域の境界の一例である。
【００９６】
次に、均等表色系においてモニタ色再現域の明度および色相を写像する(S2603)。本実施例における明度/色相写像動作の詳細は後述するが、図27に示す模式図を用いて簡単に説明すると、符号2701はグリーンの色相におけるモニタ色再現域、符号2702は第一の中間写像色再現域、符号2703は同色相におけるプリンタ色再現域をそれぞれ示す。色補正LUT作成アプリケーションは、モニタ色再現域2701内の色に対して明度成分と色度成分を分離して、明度成分を非線型に写像する。また、色度成分に対しては、適当になるように色相の調整を行う。この動作により、モニタ色再現域2701は第一の中間写像色再現域2702へ写像される。
【００９７】
明度/色相写像処理が終了すると、第一の中間写像色再現域2702の情報がメインメモリ102へ格納され(S2604)、第一の中間写像色再現域2702の境界に対して明度を調整し、第二の中間写像色再現域境界を生成する(S2605)。第二の中間写像色再現域境界は、例えば図28に示す境界線2802のようになる。
【００９８】
次に、第一の中間写像色再現域2702から第二の中間写像色再現域2802へ写像する(S2606)。この写像処理の詳細は後述するが、図28に示す模式図を用いて簡単に説明すると、符号2801はグリーンの色相における第一の中間写像色再現域、符号2802は第二の中間写像色再現域、符号2803は同色相におけるプリンタ色再現域をそれぞれ示す。色補正LUT作成アプリケーションは、第一の中間写像色再現域2801内の色に対して明度成分と色度成分を分離し、色度成分一定のまま明度成分のみを非線型写像する。なお、写像を実現する明度入出力関数は色度により異なる。この写像処理により、第一の中間写像色再現域2801は第二の中間写像色再現域2802へ写像され、第二の中間写像色再現域2802の情報がメインメモリ102に格納される。
【００９９】
次に、中間写像色再現域の情報と写像色再現域2902の情報を参照して、第二の中間写像色再現域2802を写像色再現域2902へ彩度写像する(S2607)。この彩度写像処理の詳細は後述するが、図29の模式図を用いて簡単に説明すると、符号2901はグリーンの色相における第二の中間写像色再現域、符号2902は写像色再現域、符号2903はプリンタ色再現域をそれぞれ示す。色補正LUT作成アプリケーションは、第二の中間写像色再現域2901内の色に対して明度成分と色度成分を分離し、明度成分一定のまま色度成分における彩度成分を非線型に写像する。この写像により、第二の中間写像色再現域2901は写像色再現域2902に写像される。
【０１００】
以上の一連の処理が終了すると、色補正LUT作成アプリケーションは、色域写像(S502)を終了し、3Dオブジェクト生成(S503)・表示(S504)へ移行する。
【０１０１】
［明度/色相写像処理(S2602)］
本実施例は、明度成分の写像を、色度に依存しない一つの入出力関数を用いて、Lmapped=λ(Lin)と算出する。ここで、写像関数λ(・)は、写像制御パラメータの明度制御値xに基づいて、次のように生成される。
x ≧ 50：λ(・) = {λ50(・)×(100 - x) + λ100(・)×(x - 50)}/50
x ＜ 50：λ(・) = {λ0(・)×(50 - x) + λ50(・)×x}/50
【０１０２】
ここで、λ0(・)は制御値が0のときの、λ50(・)は制御値が50のときの、λ100(・)は制御値が100のときのそれぞれ写像関数で、それぞれ図30B、図30Aおよび図30Cに示すような関数である。図に示すように、制御値が0の場合は全体的に暗く、制御値が100の場合は全体的に明るくなり、制御値が50の場合は中庸な明るさになる。
【０１０３】
図31は色相成分の写像を説明するフローチャートである。
【０１０４】
まず、写像制御パラメータの色相制御パラメータに基づき、明度0から100まで20刻みの六つの明度値に対して、色相入出力関数h0(・)、h20(・)、h40(・)、h60(・)、h80(・)およびh100(・)を生成する(S3101)。これらの関数は、各明度ごとに調整色相の色相調整値を一次スプライン、すなわち直線で結んだ関数として算出される。一例を示すと、明度値80に対して、赤と黄の二つの色相において色相角を若干プラスへシフトさせる操作、青の色相でマイナスへシフトさせる操作をユーザが行った場合、図32Aの色相入出力関数h80(・)が得られる。他の例として明度値60に対して、黄の色相のみにおいて色相角を若干プラスへシフトさせる操作をユーザが行った場合は、図32Bの色相入出力関数h60(・)が得られる。なお、図32A、32Bにおいては、a*b*色度座標系においてb*軸正方向を色相角0radとし、反時計方向への回転を正としたラジアン表記により、色相角を表している。
【０１０５】
次に、写像変換の対象になる色Mを指定し(S3102)、色Mに対する色相入出力関数h(・)をh0(・)、h20(・)、h40(・)、h60(・)、h80(・)およびh100(・)を用いて次のように算出する(S3103)。
h(・) = {hLW(・)×(up - x) + hUP(・)×(x - lw)}/20
ここで、hUP(・)は、色Mの明度xに対して直上の明度upの入出力関数
hLW(・)は、色Mの明度xに対して直下の明度lwの入出力関数
【０１０６】
例えば色Mの明度が70の場合、直下の明度の入出力関数としてh60(・)を、直上の明度の入出力関数としてh80(・)を用いて、色相入出力関数h(・)は次のようになる。
h(・) = {h60(・) + h80(・)}/2
【０１０７】
次に、次式を用いて色相の写像を行う(S3104)。次式において、Huemは色Mの色相で、Huemmappedは写像後の色相である。
Huemmapped = h(Huem)
【０１０８】
その後、先述した明度成分の制御パラメータを用いて明度成分の写像を行い(S3105)、明度/色相写像処理がLUTの全格子点ついて行われたか否かを判定し(S3106)、すべての格子点について写像処理が終了するまでステップS3102〜S3106を繰り返す。
【０１０９】
以上の処理により、図27に示すモニタ色再現域2701は、同図に示す第一の中間写像色再現域2702へ写像される。
【０１１０】
［明度調整色域写像(S2606)］
図33は明度調整色域写像処理を説明するフローチャートである。
【０１１１】
まず、写像対象の色Mを指定する(S3301)。なお、ここでの色Mは、第一の中間写像色再現域2702における色であって、モニタ色再現域2701における色を表すものではない。
【０１１２】
次に、色Mと同一の色度における第一の中間写像色再現域2702(2801)の上部境界BUおよび下部境界BLを計算し(S3302)、色Mと同一の色度における第二の中間写像色再現域2802の上部境界BUmappedおよび下部境界BLmappedを算出し(S3303)、色Mと同一の色度、同一色相における写像色再現域の境界Bpを算出する(S3304)。
【０１１３】
図34は色M、第一の中間写像色再現域2801の上部境界BUおよび下部境界BL、並びに、第二の中間写像色再現域2802の上部境界BUmappedおよび下限境界BLmappedの関係を示す図で、実線は第一の中間写像色再現域の境界を、一点鎖線は第二の中間写像色再現域の境界を、点線はプリンタ色再現域を示す。
【０１１４】
続いて、以上で求めたパラメータから明度調整写像を行う入出力関数p(・)を導出する(S3305)。本実施例では、入出力関数p(・)を下記の条件を満たすC2連続な三次スプライン関数として算出する。
p(・)の台は[LBl, LBu]
p(・)は台において単調増加
p(LBL) = LBLm
p(LBU) = LBUm
p(・)は少なくともC1連続
p'(LBL) = α
p'(LBU) = β
ここで、LBLはBLの明度
LBLmはBLmappedの明度
LBUはBUの明度
LBUmはBUmappedの明度
α(＞0)、β(＞0)は圧縮を制御する定数
【０１１５】
入出力関数p(・)は上記条件を満たすよう算出されるとともに、さらに、台の中間部において明度をできるだけ保存するよう、明度変化量ができるだけ少なくなるよう算出される。
【０１１６】
図35Aおよび35Bは、本実施例における入出力関数p(・)の一例を示す図である。図35Aにおいては、台の中間部において明度がほぼ保たれる一方、低明度付近および高明度付近では大きく圧縮される。因みに、LBL=40、LBLm=45、LBU=68、LBUm=64である。
【０１１７】
また、図35Bにおいては明度の変化が大きいため、台の中間部において明度を保存する機能が働いているものの完全には保存していない。低明度付近では大きく伸長され、高明度付近では大きく圧縮される。因みに、LBL=60、LBLm=46、LBU=84、LBUm=75である。
【０１１８】
続いて、ステップS3304において求めた入出力関数p(・)を用いて、色Mの写像前の明度Lmに対して写像後の明度Lmmapped=p(Lm)を求めて明度調整写像を行い(S3306)、明度調整色域写像がLUTの全格子点について行われたかを判定し(S3307)、すべての格子点の写像処理が終了するまでステップS3302〜S3306を繰り返す。
【０１１９】
以上の処理により、図28に示す第一の中間写像色再現域2801は、同図に示す第二の中間写像色再現域2802へ写像される。
【０１２０】
［彩度調整色域写像(S2607)］
図36は彩度調整色域写像処理を説明するフローチャートである。
【０１２１】
まず、写像制御パラメータの彩度制御パラメータに基づいて、彩度ごとの彩度調整値を算出するための関数ChTune(・)を算出する(S3601)。この関数は、12の調整色相ごとの彩度調整値を一次スプライン、すなわち直線で結んだ関数として算出される。図39は彩度調整値算出用の関数ChTune(・)の一例を示す図で、横軸は、a*b*色度座標系においてb*軸正方向を色相角0radとし、反時計方向への回転を正としたラジアン表記により色相角を表している。
【０１２２】
次に、写像対象の色Mを定める(S3602)。この色Mは、第二の中間写像色再現域2802における色である。続いて、色Mに対する彩度調整値Chを関数ChTune(・)を用いて次のように算出する(S3603)。
Ch = ChTune(Huem)
ここで、Huemは色Mの色相
【０１２３】
次に、色Mと同一の明度、同一の色相における写像色再現域境界Bpを計算し(S3604)、色Mと同一の明度、同一の色相における第二の中間写像色再現域2802の境界Biを計算する(S3605)。図37は色M、色Bpおよび色Biの関係を模式的に示す図で、実線は第二の中間写像色再現域2802の境界を、一点鎖線は写像色再現域の境界を、点線はプリンタ色再現域をそれぞれ表す。
【０１２４】
次に、以上のステップにおいて算出した色Biおよび色Bpから彩度調整写像を行う入出力関数としてC2連続な三次スプライン関数q(・)を算出する(S3606)。入出力関数q(・)は、本実施例では下記の条件を満たす。
q(・)の台は[0, ci]
q(0) = 0
q(ci) = cp
q'(0) = Ch
q'(ci) = γ
q'(x) ≠ 0 （0 ≦ x ≦ ci）
ここで、cpは色Bpの彩度
ciは色Biの彩度
γ(＞0)は最大彩度付近の彩度調整の拡大率/圧縮率を制御する値で
自動的に定められる
【０１２５】
図38Aおよび38Bは、本実施例における入出力関数q(・)の一例を示す図である。図38Aにおいては、高彩度部で伸長動作となる一方、彩度調整値Chが0.8であるために低〜中彩度部では彩度を抑えるように動作する。また、図38Bでは、高彩度部で圧縮動作となる一方、彩度調整値Chが1.2であるために低〜中彩度部では彩度を強調するに動作になる。
【０１２６】
次に、入出力関数q(・)を用いて色Mの彩度を変換する(S3607)。色Cの、変換前の彩度をCorg、変換後の彩度をCmodと表記するとCmod=q(Corg)になる。
【０１２７】
最後に、以上の彩度調整写像処理がLUTの全格子点について行われたか否かを判定し(S3608)、すべての格子点について彩度写像処理が終了するまでステップS3602〜S3608を繰り返す。
【０１２８】
以上述べた処理により、図29に示す第二の中間写像色再現域2901は、同図に示す写像色再現域2902へ写像される。
【０１２９】
このように、分かり易く効果的に意図する色再現を追及することができ、誰でも容易に、従来と比較して格段に良好な再現精度で意図する色再現を実現することができる。さらに、オフセット印刷をはじめ、DV、DSCあるいはICCプロファイルといった色再現の調整を必要とするあらゆる分野に適用可能で、この分野において、従来と比較して格段に良好な色再現の画像を提供することが可能になる。
【実施例２】
【０１３０】
以下、本発明にかかる実施例2の画像処理を説明する。なお、本実施例において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【０１３１】
［動作］
図1に示す構成における、スキャナ115による印刷物のディジタイズ、ならびに、カラーモニタ107の画像表示を、実施例2として説明する。
【０１３２】
まず、CPU 101の指令により、HDD 105に格納された画像処理アプリケーションが起動される。ここで、ユーザがスキャナ115に印刷物をセットし、画像処理アプリケーションに対して印刷物のディジタイズを指示すると、画像処理アプリケーションは、スキャナ115に対してRGB24ビット画像を転送するよう指示する。この指示に基づき、スキャナ115は印刷物をスキャンしてディジタイズし、RGBの各値を示すCCDの出力は、USBコントローラ108を介してメインメモリ102に転送される。
【０１３３】
以下では、メインメモリ102に保持されたディジタル画像データが、RGB符号無し8ビットの、合計24ビットのCCD RGB画像データであるとして説明する。
【０１３４】
次に、画像処理アプリケーションは、予め作成されHDD 105に格納されているRGB→RGB色補正係数を読み込み、この色補正係数を用いて図45に示す式を用いてRGB→RGB写像を24ビットCCD RGB画像データに施し、再び、メインメモリ102に24ビットRGB画像データとして格納する。なお、上記のRGB→RGB写像の写像変換係数の作成に関しては後述する。なお、固定小数点演算の演算結果は符号無し8ビットデータに丸められる。
【０１３５】
変換後の24ビットRGB画像データは、システムバス114経由しグラフィックアクセラレータ106に転送され、グラフィックアクセラレータ106によりD/A変換された後、ディスプレイケーブルを通じてカラーモニタ107に送られる。これにより、カラーモニタ107上に画像が表示される。また、ユーザの指示により、変換後の24ビットRGB画像データはHDD 105に格納される。
【０１３６】
以上一連の動作の結果として、印刷物はスキャナ115によりディジタイズされ、カラーモニタ107上に表示されるとともに、24ビットRGB画像データがHDD 105に格納される。
【０１３７】
［色補正係数作成アプリケーション］
次に、先述した色補正係数を作成するための、色補正係数作成アプリケーションについて、その色補正係数の作成動作を説明する。
【０１３８】
まず、CPU 101の指令により、HDD 105に格納された色補正係数作成アプリケーションが起動される。続いて、色補正係数作成アプリケーションの処理に従い、図40Aおよび図40Bに示すウィンドウ表示がカラーモニタ107上に表示される。
【０１３９】
図40Aのウィンドウ表示は、色補正特性を擬似三次元表示したもので、実施例1の色補正LUT作成アプリケーションの擬似三次元表示に相当する。より詳しくは、CCD RGB値を離散的にとり、この値を図45に示す式を用いて写像変換した後、さらに、sRGB規格に従ってL*a*b*値に変換したものを、色分布情報としてL*a*b*色空間に擬似三次元表示したものである。擬似三次元表示用の情報の生成と、生成された情報による擬似三次元表示に関しては後に説明する。図40Bは擬似三次元表示を制御するとともに色補正係数を調整するためのウィンドウであるが詳細は後述する。
【０１４０】
ユーザは、図40Aと図40Bに示すウィンドウ表示をインタフェイスとして、マウスを用いて、色補正係数作成アプリケーションに指示を与え、色補正係数を作成する。作成された色補正係数は、ユーザの指示により、HDD 105に保存される。
【０１４１】
図41は色補正係数作成アプリケーションの動作を説明する状態遷移図である。
【０１４２】
まず、作業用のヒープメモリの確保、色補正係数の初期化などの初期化動作を行い、3Dオブジェクトデータを擬似三次元表示する際のジオメトリ情報および表示形態情報を初期化する(S4101)。
【０１４３】
続いて、色補正係数を用いる写像変換により、後述するアルゴリズムに基づき、色分布情報と等価のLUTを生成する(S4102)。
【０１４４】
次に、生成したLUT、並びに、表示形態情報に基づいて3Dオブジェクトデータを生成する(S4103)。3Dオブジェクトデータの生成動作は、実施例1のS504における3Dオブジェクトデータ生成動作と同一であるから、ここでは説明を割愛する。
【０１４５】
次に、ジオメトリ情報に基づいて3Dオブジェクトデータをモニタへ表示し(S4104)、その後、メッセージ待ち状態になる(S4105)。メッセージ待ち状態で各種メッセージ受信すると、メッセージを判断した後、然るべき状態へ遷移する。
【０１４６】
図42はメッセージマップを示す図である。以下、通知されるメッセージに対する処理を説明する。
【０１４７】
●メッセージDISP_MAPCTRL
メッセージDISP_MAPCTRLを検知すると、メッセージに付加されたサブメッセージを抽出し、抽出されたサブメッセージに対応する色補正係数更新用のモードレスダイアログを表示し(S4108)、その後、メッセージ待ち状態(S4105)に戻る。
【０１４８】
●メッセージDISP_DISPCTRL
メッセージDISP_DISPCTRLを検知すると、メッセージに付加されたサブメッセージを抽出し、抽出されたサブメッセージに対応する表示制御用のモードレスダイアログを表示し(S4106)、メッセージ待ち状態(S4105)に戻る。
【０１４９】
●メッセージCTRL_MAP
メッセージCTRL_MAPを検知すると、付随する写像制御サブメッセージおよび付加メッセージを抽出し、抽出した写像制御サブメッセージに基づいて色補正係数を更新し(S4109)、更新した色補正係数を用いた写像変換によって後述するアルゴリズムに基づき、色分布情報と等価のLUTを生成する(S4102)。そして、3Dオブジェクトデータを更新し(S4103)、更新された3Dオブジェクトデータを更新表示し(S4104)、メッセージ待ち状態(S4105)に戻る。
【０１５０】
●メッセージCTRL_DISP
メッセージCTRL_DISPを検知すると、付随する表示制御サブメッセージおよび付加メッセージを抽出し、抽出した表示制御サブメッセージおよび付加メッセージに基づいて3Dオブジェクトデータを更新し(S4107)、更新された3Dオブジェクトデータを更新表示し(S4104)、メッセージ待ち状態(S4105)に戻る。
【０１５１】
●メッセージSAVE_COEFFICIENTS
メッセージSAVE_COEFFICIENTSを検知すると、現状の色補正係数をHDD 105へ保存し(S4110)、メッセージ待ち状態(S4105)に戻る。
【０１５２】
●メッセージPROCESS_END
メッセージPROCESS_ENDを検知すると、ヒープメモリの解放などの終了処理動作を行い、色補正係数作成アプリケーションが終了する。
【０１５３】
ここで、図40Bに示すユーザインタフェイスに配置されたボタンをユーザがクリック（または押した）場合に生成されるメッセージを説明する。
【０１５４】
ボタン401-404が押されると、メインメッセージDISP_DISPCTRLが生成され、サブメッセージとして、ボタン401の場合はDISP_RASTERIZE_MODE、ボタン402の場合はDISP_CHANGE_GRIDAREA、ボタン403の場合はDISP_CHANGE_HUEAREA、ボタン404の場合はDISP_CHANGE_DISPLAYSURFACEがそれぞれ生成される。
【０１５５】
ボタン4005が押されると、メインメッセージDISP_MAPCTRLが生成され、サブメッセージとしてDISP_CHANGE_COEFFICIENTSが生成される。
【０１５６】
ボタン4006が押されるとメインメッセージSAVE_COEFFICIENTSが生成される。また、ボタン409が押されると、メインメッセージPROCESS_ENDが生成される。
【０１５７】
［3Dブジェクトデータ生成(S4103)・表示(S4104)］
3Dオブジェクトデータ生成および表示に関しては、実施例1のS503およびS504の動作と同一であるから説明を割愛する。
【０１５８】
［色補正係数更新用のダイアログ表示(S4108)および更新(S4109)］
以下では、写像制御用のダイアログの表示を示すメッセージDISP_MAPCTRLに付随する各サブメッセージに対する処理を説明する。
【０１５９】
●サブメッセージDISP_CHANGE_COEFFICIENTS
色補正係数更新用のUIの表示を示すメッセージDISP_CHANGE_COEFFICIENTSが色補正係数作成アプリケーションに通知されると、図43に示すUIが表示される。
【０１６０】
ユーザが、図43に示すUIの係数入力用エディットボックス4302に係数を実数値で入力すると、写像制御操作メインメッセージCTRL_MAPと、付随するサブメッセージCHANGE_COEFFICIENTSとが生成される。また、係数入力用エディットボックス4302に入力された実数値と、係数項選択リストボックス4301の選択リスト番号がメッセージに付加される。ここで、係数項選択リストボックス4301は、図45に示す式の行列要素m11〜m39に相当する計27のリストを有する。
【０１６１】
［色補正係数の更新(S4109)］
上述のメッセージCTRL_MAPとCHANGE_COEFFICIENTSとが生成されると、メッセージの受信と判断が実行され(S4105)、サブメッセージCHANGE_COEFFICIENTSに付加された実数値と選択リスト番号を抽出し、抽出した選択リスト番号に相当する係数項の色補正係数値を、抽出した実数値に変更する色補正係数の更新を行う(S4109)。
【０１６２】
［写像変換によるLUTの生成(S4102)］
次に、三次元オブジェクト生成用のLUTの生成動作(S4102)を、図44に示すフローチャートを用いて説明する。この動作により生成されるLUTは、実施例1で使用した、図3Aに模式的に表されるLUTと同一のものである。
【０１６３】
まず、LUTの格子点座標であるRGB値を取得する(S4401)。格子点座標は、図3BのLUT格子構成データにて定められるRGBの各ステップ値の組み合わせで定義される。
【０１６４】
次に、取得したRGB値に、色補正係数値に基づき図45に示す式を用いて写像変換を施し(S4402)、写像変換されたRGB値に対してsRGBに基づくRGB→L*a*b*変換を施し、L*a*b*値を得る(S4403)。
【０１６５】
そして、以上の変換処理をLUTの全格子点に対して行ったか否かを判定し(S4404)、すべての格子点についての変換処理が終了するまでステップS4401からS4404を繰り返す。
【０１６６】
以上の処理により、三次元オブジェクト生成用のLUTが生成される。
【０１６７】
［変形例］
上記の実施例においては擬似三次元表示するための色空間としてL*a*b*色空間を用いたが、他にもL*u*v*色空間、XYZ色空間、あるいは、デバイスディペンデントなRGB色空間やCMY色空間を用いることが可能である。
【０１６８】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１６９】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【０１７１】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１７２】
【図１】実施例の色信号変換装置の構成例を示すブロック図、
【図２】プリンタドライバ動作を説明するフローチャート、
【図３Ａ】色補正LUTのデータ構造を模式的に表す図、
【図３Ｂ】色補正LUTのデータ構造を説明する図、
【図４Ａ】色補正LUTに記述された各格子点の変換後のL*a*b*情報を色分布情報として、L*a*b*色空間上に擬似三次元表示した例を示す図、
【図４Ｂ】擬似三次元表示を制御するとともに色補正LUTを調整するためのユーザインタフェイスを示す図、
【図５】色補正LUT作成アプリケーションの動作を説明する状態遷移図、
【図６】メッセージマップを示す図、
【図７】各格子点により形成される最小の四角形から生成される三角形の組み合わせを説明する図、
【図８】表示形態選択用のユーザインタフェイスを示す図、
【図９】3Dオブジェクトデータの表示例を示す図、
【図１０】3Dオブジェクトデータの表示例を示す図、
【図１１】3Dオブジェクトデータの表示例を示す図、
【図１２】3Dオブジェクトデータの表示例を示す図、
【図１３】表示格子範囲設定用のユーザインタフェイスを示す図、
【図１４】RGB色空間における表示格子範囲を説明する図、
【図１５】3Dオブジェクトデータの表示例を示す図、
【図１６】表示色相範囲選択用のユーザインタフェイスを示す図、
【図１７】RGB色空間における表示色相領域を模式的に示す図、
【図１８】3Dオブジェクトデータの表示例を示す図、
【図１９】表示面選択用のユーザインタフェイスを示す図、
【図２０Ａ】3Dオブジェクトデータの構造例を示す図、
【図２１Ａ】3Dオブジェクトデータの構造例を示す図、
【図２１Ｂ】3Dオブジェクトデータの構造例を示す図、
【図２２】3Dオブジェクトデータの表示例を示す図、
【図２３】明度調整用のユーザインタフェイスを示す図、
【図２４】色相調整用のユーザインタフェイスを示す図、
【図２５】彩度調整用のユーザインタフェイスを示す図、
【図２６】色域写像処理の詳細を示すフローチャート、
【図２７】モニタ色再現域、第一の中間写像色再現域およびプリンタ色再現域を説明する図、
【図２８】第一の中間写像色再現域、第二の中間写像色再現域およびプリンタ色再現域を説明する図、
【図２９】第二の中間写像色再現域、写像色再現域およびプリンタ色再現域を説明する図、
【図３０Ａ】明度成分の非線型写像特性を示す図、
【図３０Ｂ】明度成分の非線型写像特性を示す図、
【図３０Ｃ】明度成分の非線型写像特性を示す図、
【図３１】色相成分の写像を説明するフローチャート、
【図３２Ａ】色相入出力関数の一例を示す図、
【図３２Ｂ】色相入出力関数の一例を示す図、
【図３３】明度調整色域写像処理を説明するフローチャート、
【図３４】色M、第一の中間写像色再現域の上部境界BUおよび下部境界BL、並びに、第二の中間写像色再現域の上部境界BUmappedおよび下限境界BLmappedの関係を示す図、
【図３５Ａ】入出力関数p(・)の一例を示す図、
【図３５Ｂ】入出力関数p(・)の一例を示す図、
【図３６】彩度調整色域写像処理を説明するフローチャート、
【図３７】色M、色Bpおよび色Biの関係を模式的に示す図、
【図３８Ａ】入出力関数q(・)の一例を示す図、
【図３８Ｂ】入出力関数q(・)の一例を示す図、
【図３９】彩度調整値算出用の関数ChTune(・)の一例を示す図、
【図４０Ａ】実施例2の色補正特性の擬似三次元表示例を示す図、
【図４０Ｂ】擬似三次元表示を制御するとともに色補正係数を調整するためのユーザインタフェイスを示す図、
【図４１】色補正係数作成アプリケーションの動作を説明する状態遷移図、
【図４２】実施例2のメッセージマップを示す図、
【図４３】係数調整用のユーザインタフェイスを示す図、
【図４４】３Dオブジェクト生成用LUT生成処理を示すフローチャート、
【図４５】写像変換に用いる式を示す図である。
【図１】
2005176203.tif 000003
【図２】
2005176203.tif 000004
【図３Ａ】
2005176203.tif 000005
【図３Ｂ】
2005176203.tif 000006
【図４Ａ】
2005176203.tif 000007
【図４Ｂ】
2005176203.tif 000008
【図５】
2005176203.tif 000009
【図６】
2005176203.tif 000010
【図７】
2005176203.tif 000011
【図８】
2005176203.tif 000012
【図９】
2005176203.tif 000013
【図１０】
2005176203.tif 000014
【図１１】
2005176203.tif 000015
【図１２】
2005176203.tif 000016
【図１３】
2005176203.tif 000017
【図１４】
2005176203.tif 000018
【図１５】
2005176203.tif 000019
【図１６】
2005176203.tif 000020
【図１７】
2005176203.tif 000021
【図１８】
2005176203.tif 000022
【図１９】
2005176203.tif 000023
【図２０Ａ】
2005176203.tif 000024
【図２１Ａ】
2005176203.tif 000025
【図２１Ｂ】
2005176203.tif 000026
【図２２】
2005176203.tif 000027
【図２３】
2005176203.tif 000028
【図２４】
2005176203.tif 000029
【図２５】
2005176203.tif 000030
【図２６】
2005176203.tif 000031
【図２７】
2005176203.tif 000032
【図２８】
2005176203.tif 000033
【図２９】
2005176203.tif 000034
【図３０Ａ】
2005176203.tif 000035
【図３０Ｂ】
2005176203.tif 000036
【図３０Ｃ】
2005176203.tif 000037
【図３１】
2005176203.tif 000038
【図３２Ａ】
2005176203.tif 000039
【図３２Ｂ】
2005176203.tif 000040
【図３３】
2005176203.tif 000041
【図３４】
2005176203.tif 000042
【図３５Ａ】
2005176203.tif 000043
【図３５Ｂ】
2005176203.tif 000044
【図３６】
2005176203.tif 000045
【図３７】
2005176203.tif 000046
【図３８Ａ】
2005176203.tif 000047
【図３８Ｂ】
2005176203.tif 000048
【図３９】
2005176203.tif 000049
【図４０Ａ】
2005176203.tif 000050
【図４０Ｂ】
2005176203.tif 000051
【図４１】
2005176203.tif 000052
【図４２】
2005176203.tif 000053
【図４３】
2005176203.tif 000054
【図４４】
2005176203.tif 000055
【図４５】
2005176203.tif 000056