(57)【要約】【課題】  色再現を表示する際に一連の写像動作をすべて行えば、写像の計算が膨大な場合、擬似三次元表示の更新に時間がかかり、ガマット写像を制御するユーザにストレスを与えかねない。【解決手段】  擬似三次元表示を参照して色再現を調整する際に、色再現に関する写像パラメータを調整し(S510)、その調整に応じて写像に必要な動作を設定する(S511)。そして、写像に必要な動作により、写像パラメータに従い色を写像し(S503)、写像結果から三次元物体のデータを構成し(S504)、三次元物体を前記擬似三次元表示する表示データを生成する(S505)。【選択図】  図5
2007072800.tif 000002
【特許請求の範囲】
【請求項１】
擬似三次元表示を参照して色再現を調整する色処理方法であって、
前記色再現に関する写像パラメータを調整し、
前記写像パラメータの調整に応じて写像に必要な動作を設定し、
前記写像に必要な動作により、前記写像パラメータに従い色を写像し、
前記写像の結果から三次元物体のデータを構成し、
前記三次元物体を前記擬似三次元表示する表示データを生成する各ステップを有することを特徴とする色処理方法。
【請求項２】
前記写像に必要な動作の設定は、色域の表面の標本点および前記色域内部の標本点と色相の関係、並びに、前記色域の表面の階調線および前記色域内部の階調線と色領域の関係で分類したテーブルを利用して行うことを特徴とする請求項1に記載された色処理方法。
【請求項３】
さらに、前記擬似三次元表示の表示形態を設定するステップと、前記表示形態の設定に応じて表示に必要な動作を設定するステップとを有し、
前記写像は、前記写像および表示に必要な動作によって行い、前記表示データは、前記表示形態に従い生成することを特徴とする請求項1または請求項2に記載された色処理方法。
【請求項４】
前記表示に必要な動作の設定は、色域の表面の標本点および前記色域内部の標本点と色相の関係、並びに、前記色域の表面の階調線および前記色域内部の階調線と色領域の関係で分類したテーブルを利用して行うことを特徴とする請求項3に記載された色処理方法。
【請求項５】
擬似三次元表示を参照して色再現を調整する色処理装置であって、
前記色再現に関する写像パラメータを調整する写像調整手段と、
前記調整に応じて写像に必要な動作を設定する写像動作設定手段と、
前記写像に必要な動作により、前記写像パラメータに従い色を写像する写像手段と、
前記写像の結果から三次元物体のデータを構成する構成手段と、
前記三次元物体を前記擬似三次元表示する表示データを生成する生成手段とを有することを特徴とする色処理装置。
【請求項６】
さらに、前記擬似三次元表示の表示形態を設定する表示設定手段と、
前記設定に応じて表示に必要な動作を設定する表示動作設定手段とを有し、
前記写像手段は、前記写像および表示に必要な動作により前記写像を行い、前記生成手段は、前記表示形態に従い前記表示データを生成することを特徴とする請求項5に記載された色処理装置。
【請求項７】
画像処理装置を制御して、請求項1から請求項4の何れかに記載された色処理を実行することを特徴とするプログラム。
【請求項８】
請求項7に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、擬似三次元表示に基づき色再現を調整・制御する色処理に関する。
【背景技術】
【０００２】
パーソナルコンピュータや周辺機器であるカラープリンタの普及に加え、ディジタルスチルカメラ(DSC)、ディジタルビデオ(DV)、スキャナなどの画像ディジタイズ機器の普及が著しい。このような中、コンピュータ上のデスクトップパブリッシング(DTP)やコンピュータ支援設計(CAD)においてディジタル画像の管理が行われる。
【０００３】
例えば、写真原稿を製作する際、フィルムスキャナによりポジフィルムの画像をディジタイズしてコンピュータ上で編集したり、DSCで撮影したディジタル画像をコンピュータ上で編集するなどを行う。この編集作業において、撮影者または編集者が意図する色がディスプレイに表示されるように、画像の色を修正する必要がある。また、原稿をカラープリンタまたはオフセット印刷機によって出力する際も、編集者が意図する色が出力されるように、画像の色を修正する必要がある。
【０００４】
そこで、カラープリンタやモニタなどにおいて、ユーザが意図する良好な色のディジタル画像を再現できるように、ユーザが色再現を自由に調整または編集する技術が求められている。
【０００５】
色再現を調整または編集する技術は多数提案されているが、その多くは特定色の調整ないし編集を目的とする。とくに、このような技術の一例として、色を図示して編集を行う特許文献1（特許第3219511号公報）に開示された技術が存在する。この技術は、色度ab平面上にガマット境界と調整対象である特定色を二次元的に図示し、ユーザが図を参照しながら特定色を編集できるようにするものである。つまり、特定色に対する調整手段としては、分かり易く、効果的な編集手段を提供する。しかし、ディジタル画像全般に対する調整技術としては、次のような問題が残る。
【０００６】
一つは、特定色の調整/編集という技術に起因する、階調性の劣化または特定色以外の色再現の劣化、といった画像障害が発生する可能性がある。複数の特定色の色再現を調整する場合、調整内容によって、しばしば複数色間の色差が極端に大きくなる、または、階調が消失する、といった問題が発生する。これは、特許文献1に開示された技術が、色の階調を考慮せずに、単一色単位の色調整を行う技術であることに起因する。これに対処するには、階調性が破綻するか否かを判断し、破綻する場合は特定色の編集そのものを無効としなければならない。しかし、このような判断は煩雑であるとともに、色調整の自由度を狭めかねない障害も併せもつ。
【０００７】
いま一つの問題は、特定色を調整/編集したことにより、他の色または階調がどのように変化するか判断する手段を持たない、という問題である。一般に、特定色を調整/編集した際は階調反転が発生しないよう、その周辺の色に対しても自動的に変更を施す。しかし、特許文献1に開示された技術は、編集対象の特定色のみ表示するため、色再現が全体的または局所的にどのように変化するかを判断する術をもたない。つまり、色再現の全体の変化を的確に把握することができないことに起因して、階調性の劣化や意図しない色再現、といった障害が発生することがある。
【０００８】
一つ目の問題を解決する技術としてガマット写像技術が存在する。例えば、画像ディジタイズ機器において色再現を調整するには、CCDが出力するRGB色信号からコンピュータ上のsRGB色信号へ非線形変換するなどのガマット写像を用いる。また、例えばコンピュータ上のsRGB色信号とカラープリンタの印刷物の間で色再現を調整する場合は、両者のガマットの相違を克服するために、より複雑なガマット写像を用いる。このようなガマット写像技術には、例えば特許文献2（特開2001-94799公報）に記載された一次元から三次元の写像を複数段に亙って施す技術がある。また、特許文献3（特開2002-33929公報）に記載された色の変化としての階調を曲線表現に帰着したガマットマッピングを実現する技術がある。
【０００９】
また、二つ目の問題を解決する技術としては、例えば特許文献4（特開2002-222432公報）に記載された色の分布情報を三次元表示して解析する色情報解析技術がある。この技術は、ガマットマッピングにおける階調性や色再現の定性的解析/評価を目的として提案されたもので、RGB色空間上に配置された標本点がLab色空間において、どのような色再現されるかを様々な視点から三次元表示する。
【００１０】
これらの技術によれば、階調性の劣化を防ぎつつ意図する色再現が得られるようにガマット写像を制御し、かつ、写像結果が意図する色再現か、階調性が破綻する兆しが見受けられるかを、色情報解析技術で視覚的に確認し把握することができる。このように、色情報解析技術により、ガマット写像の結果（色再現）を視覚的に確認し把握することで、色再現の調整/編集技術の問題点である階調性の劣化、特定色以外の色再現の劣化といった画像障害の発生を抑え、色の調整/編集を行うことができる。
【００１１】
しかし、上記の技術を組み合わせた手法によって、ユーザが意図する色再現が得られるようにガマット写像を調整するには、幾つかの困難が伴う。
【００１２】
まず、ガマット写像は、一般に複数段階の写像から構成されるため制御が難しく、意図する色再現を達成するには、写像アルゴリズムに対する高度な知識が要求される。一部の写像アルゴリズムは、ユーザが写像を制御し易いように写像パラメータを構成するが、それでもなお、写像パラメータによる効果および色再現全体に及ぼす影響を理解するのは困難である。また、高次の非線形変換によるガマット写像は、非線形変換の係数項が写像に及ぼす影響を理解する必要があり、一層制御が困難である。
【００１３】
さらに、色再現を視覚的に確認しつつ調整するには、ガマット写像と解析を交互に繰り返す必要があり、手順が煩雑になる。また、ガマット写像の調整が色再現に与える影響を把握するに当たり、色再現の変化を離散的に捉えざるを得ないため、大まかな効果しか把握することができない。言い換えれば、上記の技術を組み合わせた手法における制御上の難点は、色再現の制御精度の劣化となって現れる。
【００１４】
そこで、これらの問題を解決するために、出願人は特許文献5（特開2005-176203公報）に記載した技術を提案する。この技術によれば、ユーザは、擬似三次元表示上の色再現を参照しつつガマット写像を制御することが可能になり、色再現を容易に制御することができる。さらに、ガマット写像の制御に対する色再現の変化を連続的に把握し確認することができ、意図する色再現を微細に亙って追求可能である。つまり、上記の技術の組み合わせに比べて、格段に良好な色再現（画像）を得ることができる。
【００１５】
しかし、特許文献5に記載する技術は、色再現を表示する際に一連の写像動作をすべて行うため、写像の計算が膨大な場合、擬似三次元表示の更新に時間がかかり、ガマット写像を制御するユーザにストレスを与えかねない。
【００１６】
【特許文献１】特許第3219511号公報
【特許文献２】特開2001-094799公報
【特許文献３】特開2002-033929公報
【特許文献４】特開2002-222432公報
【特許文献５】特開2005-176203公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、色再現を調整する際に、その調整に応じて必要な写像動作だけを行うことを目的とする。
【００１８】
また、擬似三次元表示の表示形態に応じて必要な写像動作だけを行うことを他の目的とする。
【課題を解決するための手段】
【００１９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００２０】
本発明にかかる色処理は、擬似三次元表示を参照して色再現を調整する色処理であって、前記色再現に関する写像パラメータを調整し、前記写像パラメータの調整に応じて写像に必要な動作を設定し、前記写像に必要な動作により、前記写像パラメータに従い色を写像し、前記写像の結果から三次元物体のデータを構成し、前記三次元物体を前記擬似三次元表示する表示データを生成することを特徴とする色処理方法。
【００２１】
好ましくは、さらに、前記擬似三次元表示の表示形態を設定するステップと、前記表示形態の設定に応じて表示に必要な動作を設定するステップとを有し、前記写像は、前記写像および表示に必要な動作によって行い、前記表示データは、前記表示形態に従い生成することを特徴とする。
【発明の効果】
【００２２】
本発明によれば、色再現を調整する際に、その調整に応じて必要な写像動作だけを行うことができる。また、擬似三次元表示の表示形態が設定された場合、その表示形態に応じて必要な写像動作だけを行うことができる。従って、色再現を表示する際に一連の写像動作をすべて行う必要はなく、写像結果の迅速な表示が可能にして、ユーザに与えるストレスを軽減することができる。
【発明を実施するための最良の形態】
【００２３】
以下に、本発明にかかる実施例の色処理を図面を参照して詳細に説明する。
【実施例１】
【００２４】
［装置の構成］
図1は色信号変換装置の構成例を示すブロック図である。
【００２５】
CPU 101は、メモリ102のRAMをワークメモリとして、メモリ102のROMおよびハードディスクドライブ(HDD) 105に格納されたオペレーティングシステム(OS)や各種プログラムを実行する。そして、PCI (Peripheral Component Interconnect)バスなどのシステムバス114を介して各構成を制御するとともに、後述する色補正LUT作成アプリケーションを含む各種処理を実行する。
【００２６】
CPU 101は、システムバス114およびシリアルATAインタフェイス(SATA I/F) 103を介してHDD 105にアクセスする。また、ネットワークI/F 104を介してローカルエリアネットワーク(LAN)などのネットワーク113にアクセスする。
【００２７】
また、CPU 101は、後述する処理のユーザインタフェイスや処理結果をグラフィックアクセラレータ106を介してモニタ107に表示し、ユーザの指示入力をキーボード/マウスコントローラ110に接続されたキーボード111、マウス112を介して入力する。
【００２８】
また、CPU 101は、画像データをUSB (Universal Serial Bus)コントローラ108を介してプリンタ109に出力して、例えばユーザが指示する画像を印刷する。
【００２９】
［プリンタ出力］
図1に示す色変換装置におけるディジタル画像のプリンタ出力について説明する。
【００３０】
CPU 101は、ユーザからディジタル画像の表示を指示されると、HDD 105やネットワーク113上のサーバに格納されたディジタル画像データをメモリ102のRAMに転送する。なお、ネットワーク113上のサーバにはインターネットのような広域ネットワーク上のサーバも含まれる。
【００３１】
次に、CPU 101は、メモリ102に格納したディジタル画像データをグラフィックアクセラレータ106に送ってモニタ107に表示する。
【００３２】
ここで、ユーザからモニタ107に表示したディジタル画像のプリントが指示されると、CPU 101は、プリンタドライバを起動して後述する色変換処理を実行し、メモリ102に格納したディジタル画像データをプリンタ109のデバイスCMYKに対応するディジタル画像データに変換する。そして、CMYKディジタル画像データをプリンタ109に送って画像を印刷する。
【００３３】
［色変換処理］
図2はプリンタドライバの動作を説明するフローチャートで、CPU 101によって起動されたプリンタドライバが実行する処理を示す。
【００３４】
まず、画像データ、および、後述する色補正LUT作成アプリケーションが作成した色補正LUTを格納する領域をメモリ102に用意し(S201)、色補正LUTをHDD 105から読み込む(S202)。
【００３５】
色補正LUTは、図3Aに示すRGB色空間の格子点の座標値と、当該格子点に対応するLab色空間の座標値の対応関係を記したデータ構造を備える。データ構造は、図3Bに示すように、その先頭にはR、G、B値のステップを記述し、続いて、各格子点の座標値とLab値の対応関係をR、G、Bのネスト順に記述したものである。なお、以下では、上記のデータ構造が色の分布を示すことから色補正LUTを色分布データと呼ぶことがある。
【００３６】
次に、メモリ102に格納した色補正LUTを使用して、RGB24ビットの画像データを固定小数点のLab画像データに変換し、メモリ102に用意した領域に格納する(S203)。続いて、予め定められた色変換LUTを使用して、Lab画像データをCMYK32ビットの画像データに変換し、メモリ102に用意した領域に格納する(S204)。なお、これらの変換には四面体補間などを用いる。
【００３７】
そして、プリンタ109へ出力する画像データの準備ができたことをCPU 101に通知する(S205)。この通知により、CPU 101は、メモリ102からCMYK32ビット画像データを読み出して、USBコントローラ108を介してプリンタ109へ送信する。
【００３８】
［色補正LUT作成アプリケーション］
次に、色補正LUTを作成する色補正LUT作成アプリケーションについて説明する。
【００３９】
CPU 101は、ユーザから色補正LUT作成アプリケーションの起動が指示されると、HDD 105などに格納した色補正LUT作成アプリケーションをワークメモリ（メモリ102）にロードして実行する。
【００４０】
起動された色補正LUT作成アプリケーションは、図4Aおよび図4Bに示すウィンドウをモニタ107に表示する。詳細は後述するが、図4Aは、色補正LUTに記述された各格子点のLab値を色分布情報としてLab色空間上に表示する擬似三次元(3D)表示例を示している。また、図4Bは、色補正LUTを調整するためのメニューウィンドウである。
【００４１】
ユーザは、これらのウィンドウ（図4Aおよび図4B）を参照および使用して、色補正LUTを作成する。なお、作成した色補正LUTは、ユーザの指示により、HDD 105などに保存することが可能である。
【００４２】
図5は色補正LUT作成アプリケーションの動作を説明する状態遷移図である。
【００４３】
まず、初期化処理を行う(S501)。初期化処理には、メモリ102に作業用ヒープメモリの確保、写像制御パラメータの初期化、色分布情報を擬似3D表示するためのジオメトリ情報および表示形態情報（3D物体/線物体/面物体など）の初期化などがある。
【００４４】
次に、色域写像動作で使用する写像フラグテーブルと表示フラグテーブルのデータを総て真（‘1’）に設定し、写像動作の初期化を行う(S502)。なお、写像動作の初期化の詳細は後述する。
【００４５】
次に、写像制御パラメータ、写像フラグテーブル、表示フラグテーブルに基づき、色域写像を行い、その写像結果を色補正LUTへ格納する(S503)。なお、色域写像の詳細は後述する。
【００４６】
次に、色補正LUTおよびジオメトリ情報に基づき3D物体データを生成し(S504)、表示形態情報に基づき3D物体をモニタ107に表示し(S505)、メッセージの待ち状態になる(S506)。そして、受信したメッセージに応じた状態へ移行する。
【００４７】
［受信メッセージに対する処理］
図6はメッセージマップを示す図である。以下、通知されるメッセージに対する処理を説明する。
【００４８】
●メッセージDISP_MAPCTRL
メッセージDISP_MAPCTRLを受信すると、メッセージに付加されたサブメッセージを抽出し、サブメッセージに対応する写像制御用のモードレスダイアログを表示し(S508)、メッセージ待ち状態(S506)に戻る。
【００４９】
●メッセージDISP_DISPCTRL
メッセージDISP_DISPCTRLを受信すると、メッセージに付加されたサブメッセージを抽出し、サブメッセージに対応する結果表示制御用のモードレスダイアログを表示し(S507)、メッセージ待ち状態(S506)に戻る。
【００５０】
●メッセージCTRL_MAP
メッセージCTRL_MAPを受信すると、メッセージに付加された写像制御サブメッセージおよび付加メッセージを抽出し、写像制御サブメッセージおよび付加メッセージに基づき写像制御パラメータを調整する(S510)。そして、その制御内容から色域写像の更新が必要か否かを判定し、判定結果に基づき写像フラグテーブルを更新し(S511)、色域写像(S503)に遷移する。そして、調整後の写像制御パラメータ、写像フラグテーブル、表示フラグテーブルに基づく色域写像(S503)、3D物体データの生成(S504)、3D物体の表示(S505)を行い、メッセージ待ち状態(S505)に戻る。
【００５１】
●メッセージCTRL_DISP
メッセージCTRL_DISPを受信すると、メッセージに付加された表示制御サブメッセージおよび付加メッセージを抽出する。そして、付加メッセージからジオメトリ情報または表示形態情報を抽出し、さらに表示形態情報に基づく擬似3D表示を適切に行うために必要な写像ステップを示す表示フラグテーブルの更新(S509)を行い、色域写像(S503)に遷移する。そして、写像制御パラメータ、写像フラグテーブル、表示フラグテーブルに基づく色域写像(S503)、3D物体データの生成(S504)、3D物体の表示(S505)を行い、メッセージ待ち状態(S505)に戻る。
【００５２】
●メッセージGEN_LUT
メッセージGEN_LUTを受信すると、一時的に表示フラグテーブルをメモリ102に退避した後、表示フラグテーブルのフラグを総て真(‘1’）にした後、ステップS503と同様の色域写像を行う(S512)。そして、退避した表示フラグテーブルを復帰した後、後述する方法により生成した写像色域を参照してRGBデータからLabデータへの色補正LUTを作成してHDD 105へ保存し(S513)、メッセージ待ち状態(S506)に戻る。
【００５３】
●メッセージ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をそれぞれ生成する。
【００５７】
［結果表示制御用のモードレスダイアログの表示(S507)］
次に、メッセージDISP_DISPCTRLを受信した際の結果表示制御用のモードレスダイアログの表示(S507)について説明する。
【００５８】
●サブメッセージDISP_RASTERIZE_MODE
サブメッセージDISP_RASTERIZE_MODEを抽出すると、図7に示す表示形態の選択ダイアログを表示する。ユーザは、図7に示すダイアログを用いて表示形態を選択する。色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示形態の設定および表示処理を行う。
【００５９】
●サブメッセージDISP_CHANGE_GRIDAREA
サブメッセージDISP_CHANGE_GRIDAREAを抽出すると、図8に示す表示格子範囲の設定ダイアログを表示する。ユーザは、図8に示すダイアログを用いてR値、G値、B値それぞれの格子範囲を選択することで、表示すべき直方体領域をRGB色空間で設定する。色補正LUT作成アプリケーションは、その設定情報に応じて後述する表示格子範囲の設定処理を行う。
【００６０】
●サブメッセージDISP_CHANGE_HUEAREA
サブメッセージDISP_CHANGE_HUEAREAを抽出すると、図9に示す表示色相範囲の選択ダイアログを表示する。ユーザは、図9に示すダイアログを用いて六つの表示色相範囲から少なくとも一つを選択することで、表示すべき色相範囲をRGB色空間で選択する。色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示色相範囲の設定処理を行う。
【００６１】
●サブメッセージDISP_CHANGE_DISPLAYSURFACE
サブメッセージDISP_CHANGE_DISPLAYSURFACEを抽出すると、図10に示す表示面の選択ダイアログを表示する。図10に示すダイアログのチェックボックスは、現在の3D物体データに応じて選択の可（イネーブル）/不可（ディゼーブル）が切り替わる。ディゼーブルの場合、図10に示す色相面1、色相面2とそのチェックボックスのように色が薄くなり、選択不可であることを示す。ユーザは、選択が可能な複数の表示面から少なくとも一つの表示面を任意に選択する。色補正LUT作成アプリケーションは、その選択情報に応じて後述する表示格子面の設定処理を行う。
【００６２】
［表示形態情報の更新と表示フラグテーブルの更新(S509)］
次に、メッセージCTRL_DISPを受信した際の表示形態情報の更新と表示フラグテーブルの更新(S509)について説明する。
【００６３】
●サブメッセージZOOM_INOUT
サブメッセージZOOM_INOUTと付加メッセージZOOMIN/OUT量を抽出すると、ZOOMIN/OUT量に基づきジオメトリ情報を更新する。
【００６４】
●サブメッセージMOVE
サブメッセージMOVEと付加メッセージ視点平行移動量/視点回転量を抽出すると、視点平行移動量/視点回転量に基づきジオメトリ情報を更新する。
【００６５】
●サブメッセージRASTERIZE_MODE
サブメッセージRASTERIZE_MODEと付加メッセージ表示形態選択情報を抽出すると、表示形態選択情報に基づき表示形態情報を更新する。さらに、表示形態情報に基づき表示フラグテーブルを更新する。
【００６６】
●サブメッセージCHANGE_GRIDAREA
サブメッセージCHANGE_GRIDAREAと付加メッセージ表示格子範囲選択情報を抽出すると、表示格子範囲選択情報に基づき3D物体データを更新する。さらに、表示形態情報に基づき表示フラグテーブルを更新する。
【００６７】
●サブメッセージCHANGE_HUEAREA
サブメッセージCHANGE_HUEAREAと付加メッセージ表示色相範囲選択情報を抽出すると、表示色相範囲選択情報に基づき3D物体データを更新する。さらに、表示形態情報に基づき表示フラグテーブルを更新する。
【００６８】
●サブメッセージCHANGE_DISPLAYSURFACE
サブメッセージCHANGE_DISPLAYSURFACEと付加メッセージ表示面選択情報を抽出すると、表示面選択情報に基づき3D物体データを更新する。さらに、表示形態情報に基づき表示フラグテーブルを更新する。
【００６９】
［3D物体データ生成および表示、並びに、表示フラグテーブルの更新］
以下、3D物体データ生成および表示、並びに、表示フラグテーブルの更新について詳細に説明する。
【００７０】
●表示形態の選択および表示
表示形態にはワイヤフレーム表示、ポイント表示、ソリッド表示1、ソリッド表示2、ソリッド表示3の五つの形態を用意する。
【００７１】
ソリッド表示1は、3D物体データの三角パッチデータに則るとともに、ソリッド表面色はRGB色空間上の格子点座標値から計算する。ソリッド表示2は、3D物体データを曲面表示し、ソリッド表面色はRGB色空間上の格子点座標値から計算する。また、ソリッド表示3は、3D物体データの三角パッチデータに則るとともに、ソリッド表面色は表示空間であるLab色空間上の座標値から計算する。
【００７２】
先述したように、ユーザが図8に示すダイアログを用いて表示形態を選択すると、メッセージCTRL_DISPとサブメッセージRASTERIZE_MODEが色補正LUT作成アプリケーションに通知される。色補正LUT作成アプリケーションは、メッセージに付加された選択情報に応じて表示形態を変化する。
【００７３】
図11はワイヤフレーム表示が選択された場合のモニタ表示の模式図である。図12はポイント表示が選択された場合のモニタ表示の模式図である。ただし、本来は陰面も表示されるが簡単のために陰面の記載は省略する。
【００７４】
また、図13はソリッド表示2が選択された場合のモニタ表示の模式図である。図14はソリッド表示1またはソリッド表示3が選択された場合のモニタ表示の模式図で、然るべき色を着けた状態で表示する。
【００７５】
なお、表示形態に関する処理においては、表示フラグテーブルは更新しない。
【００７６】
●表示格子範囲の選択および表示
上述したように、ユーザが図8に示すダイアログを用いて表示格子範囲を設定すると、メッセージCTRL_DISPとサブメッセージCHANGE_GRIDAREAが色補正LUT作成アプリケーションに通知される。色補正LUT作成アプリケーションは、メッセージに付加されたRGB格子範囲の設定情報に応じて3D物体データを更新する。
【００７７】
まず、RGB色空間上で、設定された直方体領域の表面の格子点によって形成される最小の四角形において、図15に示すように、二通りの三角形の組み合わせを生成する。次に、これら三角形の頂点の格子点座標を色補正LUTを用いてLab座標値に変換する。そして、変換後の三角形の組み合わせから3D物体データを構成し、3D物体の体積を最大にする三角形の組み合わせを選択する。すなわち、RGB色空間上の格子点によって形成される最小の四角形がN個存在する場合、3D物体データは2N通りの一つから選択される。
【００７８】
図16はRGB色空間における格子範囲および表示格子範囲の関係を示す図で、RGB軸ともに格子点が六つで、R軸[2, 5]、G軸[2, 4]、B軸[1, 4]が表示格子範囲に設定された例を示している。また、図17はR軸[2, 5]、G軸[2, 4]、B軸[1, 4]が表示格子範囲に設定された場合のモニタ107の表示例を示す図である。また、最大の格子範囲が表示格子範囲に設定された場合、つまりR軸[0, 5]、G軸[0, 5]、B軸[0, 5]の場合は、モニタ107の表示は図4Aに示すようになる。
【００７９】
さらに、表示フラグテーブルを次のように更新する。
【００８０】
図18は表示フラグテーブルの模式図で、四種類、各六つのフラグの構造をもち、各フラグは真‘1’か偽‘0’の値を有する論理型である。各フラグは、後述する色域写像における各ステップに相当する。なお、フラグには、六つの色相に対応する表面標本表示フラグと内部標本表示フラグ、並びに、六つの色相範囲に対応する表面階調線表示フラグと内部階調線表示フラグがある。
【００８１】
表示格子範囲がRGB軸ともに[min, max]と設定された場合は、図19Aに示すように、表面標本表示フラグと表面階調線表示フラグをすべて‘1’に、他のフラグをすべて‘0’に設定する。また、表示格子範囲の設定が上記と異なる場合は、図19Bに示すように、フラグをすべて‘1’に設定する。
【００８２】
●表示色相範囲の選択および表示
上述したように、ユーザが図9に示すダイアログを用いて表示色相範囲を選択すると、メッセージCTRL_DISPとサブメッセージCHANGE_HUEAREAが色補正LUT作成アプリケーションに通知される。色補正LUT作成アプリケーションは、メッセージに付加された表示色相範囲の選択情報に応じて3D物体データを更新する。
【００８３】
まず、RGB色空間上で、表示色相範囲の選択情報に応じて図20に示す六つの四面体領域の一つを選択する。続いて、選択した四面体領域の表面の格子点によって形成される最小の四角形において、図15に示すように、二通りの三角形の組み合わせを生成する。なお、四角形を形成できない表面領域においては、最小の三角形を生成する。
【００８４】
次に、これら三角形の頂点の格子点座標を色補正LUTを用いて対応するLab座標値に変換する。そして、変換後の三角形の組み合わせから3D物体データを構成し、表示格子範囲の設定と同様に、3D物体の体積を最大にする三角形の組み合わせを選択する。
【００８５】
図21は表示色相範囲としてMR（マゼンタ-レッド）領域が選択された場合のモニタ107の表示例を示す図である。
【００８６】
さらに、表示フラグテーブルを次のように更新する。
【００８７】
まず、図22Aに示すように、全フラグに‘0’を設定し、RY（レッド-イエロー）領域が選択された場合は図22Bに示すように一部フラグを更新する。なお、図における記号「*」は、フラグを変更しないことを表す。
【００８８】
また、図22Bから図22Gと選択された表示色相範囲の関係は下のとおりである。
───┬─────────────
図  │  選択された表示色相範囲
───┼─────────────
図22B │  RY（レッド-イエロー）
図22C │  YG（イエロー-グリーン）
図22D │  GC（グリーン-シアン）
図22E │  CB（シアン-ブルー）
図22F │  BM（ブルー-マゼンタ）
図22G │  RM（レッド-マゼンタ）
───┴─────────────
【００８９】
●表示面の選択および表示
上述したように、ユーザが図10に示すダイアログを用いて表示面を選択すると、メッセージCTRL_DISPとサブメッセージCHANGE_DISPLAYSURFACEが色補正LUT作成アプリケーションに通知される。色補正LUT作成アプリケーションは、メッセージに付加された表示面の選択情報に応じて3D物体データを更新する。
【００９０】
図23は3D物体データの内部構造例を示す図である。また、図24Aは表示格子範囲の設定に従って生成した3D物体データの構成例を、図24Bは表示色相範囲の選択に従って生成した3D物体データの構成例を示す図である。
【００９１】
表示面の選択情報に応じて表示許可/不許可を更新する。図25Aは、RGB格子範囲の設定時に、表示面としてWMYR面とWYCG面を選択した場合のモニタ表示例を示す図である。また、図25Bは表示色相範囲の選択時に、表示面として色相R面のみ選択した場合のモニタ表示例を示す図である。
【００９２】
さらに、表示フラグテーブルを図26Aおよび図26Bに示すように更新する。図26Aは非表示面と表面階調線表示フラグの関係を、図26Bは非表示面と表面標本表示フラグの関係をそれぞれ示す図である。
【００９３】
［写像制御用のモードレスダイアログの表示(S508)］
次に、メッセージDISP_MAPCTRLを受信した際の写像制御用のモードレスダイアログの表示(S508)について説明する。
【００９４】
●サブメッセージDISP_CHANGE_BRIGHTNESS
サブメッセージDISP_CHANGE_BRIGHTNESSを抽出すると、図27に示す明るさ調整用のダイアログを表示する。ユーザは、図27に示すUIのスライダ2301を用いて、色補正の全体的な明るさの調整量を設定する。色補正LUT作成アプリケーションは、この調整量に応じて後述する色域写像を行い、3D物体データを生成し、3D物体を表示する。
【００９５】
●サブメッセージDISP_CHANGE_HUE
サブメッセージDISP_CHANGE_HUEを抽出すると、図28に示す色相調整用のダイアログを表示する。ユーザは、図28に示すリストボックス2401を用いて、色相（レッド、グリーン、ブルー、シアン、マゼンタ、イエロー）の一つを選択し、選択した色相の調整量をスライダ2402を用いて設定する。色補正LUT作成アプリケーションは、この調整量に応じて後述する色域写像を行い、3D物体データを生成し、3D物体を表示する。
【００９６】
●サブメッセージDISP_CHANGE_CHROMA
サブメッセージDISP_CHANGE_CHROMAを抽出すると、図29に示す彩度調整用のダイアログを表示する。ユーザは、図29に示すリストボックス2501を用いて、調整対象の色相（レッド、グリーン、ブルー、シアン、マゼンタ、イエローの一つ）を選択し、選択色相における鮮やかさ調整量をスライダ2502を用いて設定する。色補正LUT作成アプリケーションは、この調整量に応じて後述する色域写像を行い、3D物体データを生成し、3D物体を表示する。
【００９７】
［写像制御パラメータの調整(S510)］
次に、写像制御パラメータの調整(S510)について説明する。
【００９８】
●サブメッセージCHANGE_BRIGHTNESS
図27に示すダイアログにおいて、ユーザがスライダ2301を操作すると、メッセージCTRL_MAPとサブメッセージCHANGE_BRIGHTNESSを生成し、スライダ801の位置情報（例えば0から100の整数値）をメッセージに付加する。
【００９９】
メッセージCTRL_MAPを受信し、サブメッセージCHANGE_BRIGHTNESSを抽出すると、メッセージに付加されたスライダの位置情報を取得する。そして、取得した位置情報に基づき、明度制御パラメータを生成または修正して写像制御パラメータを更新する(S510)。続いて、写像フラグテーブルを更新し(S511)、更新した写像制御パラメータに基づき後述する色域写像(S502)を行う。
【０１００】
図30は写像フラグテーブルの模式図で、四種類、各六つのフラグの構造をもち、各フラグは真‘1’か偽‘0’の値を有する論理型である。各フラグは、後述する色域写像における各ステップに相当する。なお、フラグには、六つの色相に対応する表面標本写像フラグと内部標本写像フラグ、並びに、六つの色相範囲に対応する表面階調線写像フラグと内部階調線写像フラグがある。
【０１０１】
図31はサブメッセージCHANGE_BRIGHTNESSに対する写像フラグテーブルの設定を示す図である。
【０１０２】
●サブメッセージCHANGE_HUE
図28に示すダイアログにおいて、ユーザがスライダ2402を操作すると、メッセージCTRL_MAPとサブメッセージCHANGE_HUEを生成する。その際、リストボックス2401の選択情報（例えばリスト番号）、スライダ2402の位置情報（例えば0から100の整数値）をメッセージに付加する。なお、色相選択用のリストボックス2401は上記の六色に対応する6リストを有する。
【０１０３】
メッセージCTRL_MAPを受信し、サブメッセージCHANGE_HUEを抽出すると、メッセージに付加されたリスト番号およびスライダの位置情報を取得する。そして、取得したリスト番号に基づき調整対象の色相角を設定し、取得した位置情報に基づき例えば-20〜20の整数値をとる色相調整値を生成する。そして、調整対象の色相角、色相調整値に基づき、色相制御パラメータを生成または修正して写像制御パラメータを更新する(S510)。続いて、写像フラグテーブルを下記のように更新し(S511)、更新した写像制御パラメータに基づき後述する色域写像(S502)を行う。
【０１０４】
また、図32Aから図32Fは選択された色相に対する写像フラグテーブルの更新を示す図で、それらの関係は下のとおりである。
───┬─────────
図  │  選択された色相
───┼─────────
図32A │    レッド
図32B │    グリーン
図32C │    ブルー
図32D │    シアン
図32E │    マゼンタ
図32F │    イエロー
───┴─────────
【０１０５】
●サブメッセージCHANGE_CHROMA
図29に示すダイアログにおいて、ユーザがスライダ2502を操作すると、メッセージCTRL_MAPとサブメッセージCHANGE_CHROMAを生成する。その際、リストボックス2501の選択情報（例えばリスト番号）、スライダ2502の位置情報（例えば0から100の整数値）をメッセージに付加する。なお、色相選択用のリストボックス2501は、例えば上記の6リストを有する。
【０１０６】
メッセージCTRL_MAPを受信し、サブメッセージCHANGE_CHROMAを抽出すると、メッセージに付加されたリスト番号およびスライダの位置情報を取得する。そして、取得したリスト番号に基づき調整対象の色相角を設定し、取得した位置情報に基づき例えば0.5〜2の実数値をとる彩度調整値を生成する。そして、調整対象の色相角、彩度調整値に基づき、彩度制御パラメータを生成または修正して写像制御パラメータを更新する(S510)。続いて、写像フラグテーブルを下記のように更新し(S511)、更新した写像制御パラメータに基づき後述する色域写像(S502)を行う。
【０１０７】
なお、選択された色相と写像フラグテーブルの更新の関係は、サブメッセージCHANGE_HUEの場合と同じである。
【０１０８】
［写像動作の初期化(S502)］
図33は写像動作の初期化(S502)を説明するフローチャートである。なお、以下の説明に表れる用語「階調線」は、あるパラメータと色の関係をパラメトリック曲線を用いて定義したものである。本実施例では、パラメトリック曲線としてBスプライン曲線を用いる。
【０１０９】
まず、HDD 105からモニタ107の色域情報（モニタ色域）およびプリンタ109の色域情報（プリンタ色域）を取得し(S3301)、プリンタ色域に基づき、総ての写像結果を収めるべき写像色域を生成する(S3302)。なお、写像色域は、例えば図39に一点鎖線3902で示す色域境界をもつ。
【０１１０】
次に、色域の写像を規定する標本点を設定する(S3303)。標本点は、モニタ色域表面の写像を規定する表面標本点と、モニタ色域内部の写像を規定する内部標本点からなり、RGB色空間において規定された色をsRGBに基づきLab色空間に変換することで設定する。
【０１１１】
RGB色空間における表面標本点および内部標本点は、標本点が取り得るR値、G値、B値それぞれを同じステップで設定し、かつ、グレイ軸と各頂点を結ぶ平面、R面、G面、B面、C面、M面、Y面の六面に分布するように設定する。
【０１１２】
図34は格子点数（LUTのスライス数）が8の場合のR面とC面における標本点の分布を示す図である。ここで、RiはR面における表面標本点を、CiはC面における表面標本点を表し、インデックスi（=1〜13）は明度の高い順に標本点に与えた番号である。また、Rin(n)_iはR面における内部標本点を、Cin(n)_jはC面における内部標本点を表す。
【０１１３】
図35および図36は上記の標本点をLab色空間に変換した状態を表す図で、図35は写像前の、RY領域の表面階調線を、図36は写像前の、RY領域の内部階調線をそれぞれ表す。
【０１１４】
次に、表面標本点を結ぶ階調線（以下「表面階調線」と呼ぶ）を算出する(S3304)。まず、RGB空間上において隣接する色相面間でインデックス番号が等しい表面標本点を直線で結びRGB表面階調線を規定する。例えば、R面とY面の間のRGB表面階調線は、下記のようなRGB値を有する。
R = (1 - t)・Rri + t・Ryi
G = (1 - t)・Gri + t・Gyi
B = (1 - t)・Bri + t・Byi
ここで、R、G、BはRGB表面階調線のRGB値
Rri、Gri、Briは標本点RiにおけるRGB値
Ryi、Gyi、Byiは標本点YiにおけるRGB値
0 ≦ t ≦ 1
【０１１５】
続いて、RGB表面階調線をLab色空間における曲線に変換し、これをBスプライン曲線で近似して、表面階調線を算出する。図35に示す階調線Liは、R面における表面標本点とY面における表面標本点を結ぶ表面階調線を表す。
【０１１６】
次に、内部標本点を結ぶ階調線（以下「内部階調線」と呼ぶ）を算出する(S3305)。まず、RGB空間上において隣接する色相面間でインデックス番号が等しい内部標本点を直線で結びRGB内部階調線を規定する。例えば、R面とY面の間のRGB内部階調線は、下記のようなRGB値を有する。
R = (1 - t)・Rri + t・Ryj
G = (1 - t)・Gri + t・Gyj
B = (1 - t)・Bri + t・Byj
ここで、R、G、Bは内部階調線のRGB値
Rri、Gri、Briは内部標本点Rin(n)_iにおけるRGB値
Ryj、Gyj、Byjは内部標本点Yin(n)_jにおけるRGB値
0 ≦ t ≦ 1
【０１１７】
続いて、RGB内部階調線をLab色空間における曲線に変換し、これをBスプライン曲線で近似して、内部階調線を算出する。図36に示す階調線Lin(n)_iは、R面における内部標本点Rin(n)_iとY面における内部標本点Yin(n)_jを結ぶ内部階調線を表す。
【０１１８】
なお、色補正LUT作成アプリケーションは、メッセージPROCESS_ENDを受信するまで、ここで算出した標本点情報および階調線情報を写像元の色再現を定義する情報として変更せずに保持する。
【０１１９】
［色域写像(S503)］
図37Aおよび図37Bは色域写像(S503)を説明するフローチャートである。
【０１２０】
まず、RGBCMYの順に色相を選択し(S3701)、選択色相の表面標本写像フラグと表面標本表示フラグが伴に‘1’か否かを判定する(S3702)。何れかのフラグが‘0’の場合は処理をステップS3705へ進める。
【０１２１】
上記のフラグが伴に‘1’の場合、選択色相の表面標本点を写像色域表面に写像する(S3703)。この写像の詳細は後述する。そして、選択色相の表面標本写像フラグを‘0’クリアし(S3704)、ステップS3705の判定により、RGBCMYの全色相を選択するまで、ステップS3701〜S3705の処理を繰り返す。
【０１２２】
次に、RGBCMYの順に色相を選択し(S3706)、選択色相の内部標本写像フラグと内部標本表示フラグが伴に‘1’か否かを判定する(S3707)。何れかのフラグが‘0’の場合は処理をステップS3710へ進める。
【０１２３】
上記のフラグが伴に‘1’の場合、選択色相の内部標本点を写像色域内部に写像する(S3708)。この写像の詳細は後述する。そして、選択色相の内部標本写像フラグを‘0’クリアし(S3709)、ステップS3710の判定により、RGBCMYの全色相を選択するまで、ステップS3706〜S3710の処理を繰り返す。
【０１２４】
次に、RY、YG、GC、CB、BM、MRの順に色領域を選択し(S3711)、選択色領域の表面階調線写像フラグと表面階調線表示フラグが伴に‘1’か否かを判定する(S3712)。何れかのフラグが‘0’の場合は処理をステップS3715へ進める。
【０１２５】
上記のフラグが伴に‘1’の場合、選択色領域の表面階調線を写像色域に写像する(S3713)。なお、表面階調線の写像結果は必ず連続した軌跡になるように写像を制御する。この処理により、例えば、図35に示す写像前の、RY領域の表面階調線に対して、図51に示すような、写像結果が得られる。
【０１２６】
続いて、選択色領域の表面階調線写像フラグを‘0’クリアし(S3714)、ステップS3715の判定により、全領域を選択するまで、ステップS3711〜S3715の処理を繰り返す。
【０１２７】
次に、RY、YG、GC、CB、BM、MRの順に色領域を選択し(S3716)、選択色領域の内部階調線写像フラグと内部階調線表示フラグが伴に‘1’か否かを判定する(S3717)。何れかのフラグが‘0’の場合は処理をステップS3720へ進める。
【０１２８】
上記のフラグが伴に‘1’の場合、選択色領域の内部階調線を写像色域に写像する(S3718)。なお、内部階調線の写像結果は、必ず、連続した軌跡になるように、かつ、写像色域の内部に位置するように、写像を制御する。この処理により、例えば、図36に示す写像前の、RY領域の内部階調線に対して、図52に示すような、写像結果が得られる。
【０１２９】
続いて、選択色領域の内部階調線写像フラグを‘0’クリアし(S3719)、ステップS3720の判定により、全領域を選択するまで、ステップS3716〜S3720の処理を繰り返す。
【０１３０】
そして、詳細は後述するが、色補正LUTの格子点に対応するLab値を、表面標本点または内部標本点、あるいは、表面階調線または内部階調線から取得する(S3721)。
【０１３１】
●表面標本点の写像(S3703)
表面標本点の写像は、写像制御パラメータの彩度制御パラメータに基づき、表面標本点の彩度補正を行うための補正関数を算出する。補正関数は、原点での一次微分値が彩度制御パラメータ値であり、入力0に対して出力0、プライマリ彩度入力に対してプライマリ彩度を出力するよう設定する。図38は彩度用の補正関数の一例を示す図である。
【０１３２】
次に、写像制御パラメータの色相制御パラメータに基づき、表面標本点の色相を補正する。表面標本点の色相補正量は、一律に、色相制御パラメータと同一である。
【０１３３】
続いて、図39に示すように、写像色域3902に表面標本点を写像する。なお、図39において、実線3901はG色相のモニタ色域を、一点鎖線3902は同色相の写像色域をそれぞれ示す。
【０１３４】
●内部標本点の写像(S3708)
図40は内部標本点の写像(S3708)を説明するフローチャートである。
【０１３５】
まず、ステップS3703の写像結果に対して明度圧縮を施し、第一の中間写像色域を算出する(S4001)。図41は第一の中間写像色域の模式図で、一点鎖線4201の境界はモニタ色域を表し、実線4202は明度圧縮された色域を示し、その境界が第一の中間写像色域である。
【０１３６】
次に、ステップS4001の明度圧縮結果の彩度値と、ステップS3703の写像結果の明度値を組み合わせて、第二の中間写像色域を算出する(S4002)。図42は第二の中間写像色域の模式図で、実線4401は第一の中間写像色域を、一点鎖線4402は第二の中間写像色域をそれぞれ表す。
【０１３７】
次に、然るべき順に、選択色相の内部標本点Mを取得し(S4003)、標本点Mに対して明度写像を行い、第一の中間写像色域内へ写像する(S4004)。明度写像の詳細は後述する。
【０１３８】
次に、選択色相に該当する、写像制御パラメータの色相制御パラメータに基づき、標本点Mの色相を補正する(S4005)。なお、内部標本点の色相補正量は、一律に、色相制御パラメータと同一である。
【０１３９】
次に、標本点Mについて、第一の中間写像色域から第二の中間写像色域へ明度成分のみ写像（以下「明度調整写像」と呼ぶ）し(S4006)、第二の中間写像色域から写像色域へ彩度成分のみ写像する。これらの写像の詳細は後述する。
【０１４０】
次に、ステップ4008の判定により、選択色相内の標本点に対するステップS4003〜S4007の処理、つまり写像が終了するまでステップS4003〜S4008の処理を繰り返す。
【０１４１】
●明度写像(S4004)
明度成分の写像を、色度に依存しない一つの入出力関数を用いて、Lmapped=λ(Lin)と算出する。写像制御パラメータの明度制御パラメータから明度調整値xを取得し、明度調整値xに基づき、この写像関数λ(・)を次のように生成する。
x≧50：λ(・) = {λ50(・)×(100 - x) + λ100(・)×(x - 50)}/50
x＜50：λ(・) = {λ0(・)×(50 - x) + λ50(・)×x)/50
ここで、λ0(・)はx=0のときの写像関数
λ50(・)はx=50のときの写像関数
λ100(・)はx=100のときの写像関数
【０１４２】
なお、図43Aから図43Cは上記の写像関数を示す図で、x=0のときは全体的に暗く、x=100のときは全体的に明るく、x=50のときは中庸な明るさになる。
【０１４３】
以上の処理により、図41の模式図のように、モニタ色域（一点鎖線4201の境界）を第一の中間写像色域（実線4202の境界）へ写像する。
【０１４４】
●明度調整写像(S4006)
図44は明度調整写像(S4006)を説明するフローチャートである。
【０１４５】
明度調整写像は、ステップS4001で算出した第一の中間写像色域と、ステップS4002で算出した第二の中間写像色域を用いてLC平面上で写像を行う。
【０１４６】
まず、図42に示すように、ステップS4005で色相補正した標本点Mと同一の彩度における、第一の中間写像色域4401の上部境界BUと下部境界BLを計算する(S4301)。続いて、図42に示すように、標本点Mと同一の色度における、第二の中間写像色域4402の上部境界BUmappedと下部境界BLmappedを算出する(S4302)。
【０１４７】
次に、以上で計算した値と明度調整パラメータにより、明度調整写像用の入出力関数p(・)を導出する(S4303)。なお、入出力関数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(・)は、上記条件を満たすよう算出するとともに、さらに、台の中間部において明度をできるだけ保存するよう、明度変化量ができるだけ少なくなるように算出する。
【０１４９】
図45Aおよび図45Bは入出力関数p(・)の一例を示す図である。図45Aにおいて、台の中間部において明度がほぼ保たれる一方、低明度付近および高明度付近では大きく圧縮される。因みに、LBL=40、LBLm=45、LBU=68、LBUm=64である。
【０１５０】
また、図45Bにおいては明度の変化が大きいため、台の中間部において明度を保存する機能が働いているものの完全には保存していない。低明度付近では大きく伸長され、高明度付近では大きく圧縮される。因みに、LBL=60、LBLm=46、LBU=84、LBUm=75である。
【０１５１】
次に、標本点Mの写像前明度Lmに対する写像後の明度Lmmappedを、入出力関数p(・)を用いてLmmapped=p(Lm)として計算する(S4304)。
【０１５２】
以上の処理により、例えば図46に示すような写像結果が得られる。図46において、一点鎖線4601はG色相における第一の中間写像色域における色再現を、実線4602は第二の中間写像色域における色再現をそれぞれ示す。
【０１５３】
●彩度写像(S4007)
図47は彩度写像(S4007)を説明するフローチャートである。
【０１５４】
彩度写像は、ステップS4002で算出した第二の中間写像色域と、選択色相と同一の、ステップS3302で算出した写像色域を用いてLC平面上で写像を行う。
【０１５５】
まず、選択色相に相当する、写像制御パラメータの彩度制御パラメータから彩度調整値Chを取得する(S4701)。そして、標本点Mと同一明度における写像色域の境界Bpを計算し(S4702)、標本点Mと同一明度における第二の中間写像色域の境界Biを計算する(S4703)。
【０１５６】
図48は標本点M、境界BpおよびBiの関係を示す模式図で、実線4801は第二の中間写像色域を、破線4802は写像色域をそれぞれ示す。
【０１５７】
次に、以上で算出した境界BpおよびBiに基づき、彩度写像を行う入出力関数としてC2連続な三次スプライン関数q(・)を算出する(S4704)。入出力関数q(・)は下記の条件を満たす。
q(・)の台は[0, ci]
q(0) = 0
q(ci) = cp
q'(0) = Ch
q'(ci) = γ(＞ 0)
q'(x) ≠ 0 （0 ≦ x ≦ ci）
ここで、cpは境界Bpの彩度
ciは境界Biの彩度
Chは彩度調整値
γは最大彩度付近の彩度補正の拡大/圧縮率を制御する値で
γは自動的に設定される
【０１５８】
図49Aおよび図49Bは入出力関数q(・)の一例を示す図である。図49Aにおいては、高彩度部で伸長動作となる一方、彩度調整値Ch=0.8であるために低〜中彩度部では彩度を抑えるように動作する。また、図49Bでは、高彩度部で圧縮動作となる一方、彩度調整値Ch=1.2であるために低〜中彩度部では彩度を強調する動作になる。
【０１５９】
次に、入出力関数q(・)を用いて、標本点Mの彩度を変換する(S4705)。
【０１６０】
以上の処理により、例えば図50に示すような写像結果が得られる。図50において、一点鎖線5001はG色相における第二の中間写像色域の色再現を、実線5002は写像色域の色再現をそれぞれ示す。
【０１６１】
［色補正LUTの更新］
色補正LUTの格子点はそれぞれ、表面標本点、内部標本点、表面階調線、内部階調線に予め対応付けされている。従って、表面標本点、内部標本点、表面階調線、内部階調線を更新した場合、格子点に対応するLab値を更新する。
【０１６２】
表面標本点または内部標本点に対応付けされた格子点のLab値は、表面標本点または内部標本点の写像値に更新するのみである。
【０１６３】
一方、表面階調線または内部階調線に対応付けされた格子点は、所定のパラメータ値が予め設定されている。そして、このパラメータ値を、階調線を表現するパラメトリック曲線にそれぞれ代入してLab値を算出して、格子点のLab値にする。
【０１６４】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１６５】
また、本発明の目的は、上記実施例の機能を実現するソフトウェアを記録した記憶媒体（記録媒体）をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（CPUやMPU）が前記ソフトウェアを実行することでも達成される。この場合、記憶媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのソフトウェアを記憶した記憶媒体は本発明を構成する。
【０１６６】
また、前記ソフトウェアの実行により上記機能が実現されるだけでなく、そのソフトウェアの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、それによっｔ上記機能が実現される場合も含む。
【０１６７】
また、前記ソフトウェアがコンピュータに接続された機能拡張カードやユニットのメモリに書き込まれ、そのソフトウェアの指示により、前記カードやユニットのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【０１６８】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するソフトウェアが格納される。
【図面の簡単な説明】
【０１６９】
【図１】色信号変換装置の構成例を示すブロック図、
【図２】プリンタドライバの動作を説明するフローチャート、
【図３Ａ】色補正LUTのデータ構造を模式的に表す図、
【図３Ｂ】色補正LUTのデータ構造を説明する図、
【図４Ａ】色補正LUTに記述された各格子点のLab値を色分布情報としてLab色空間上に表示する擬似三次元表示例を示す図、
【図４Ｂ】色補正LUTを調整するためのメニューウィンドウを示す図、
【図５】色補正LUT作成アプリケーションの動作を説明する状態遷移図、
【図６】メッセージマップを示す図、
【図７】表示形態の選択ダイアログを示す図、
【図８】表示格子範囲の設定ダイアログを示す図、
【図９】表示色相範囲の選択ダイアログを示す図、
【図１０】表示面の選択ダイアログを示す図、
【図１１】ワイヤフレーム表示が選択された場合のモニタ表示の模式図、
【図１２】ポイント表示が選択された場合のモニタ表示の模式図、
【図１３】ソリッド表示2が選択された場合のモニタ表示の模式図、
【図１４】ソリッド表示1またはソリッド表示3が選択された場合のモニタ表示の模式図、
【図１５】3D物体データ生成用の三角形の生成を模式的に示す図、
【図１６】RGB色空間における格子範囲および表示格子範囲の関係を示す図、
【図１７】モニタの表示例を示す図、
【図１８】表示フラグテーブルの模式図、
【図１９Ａ】表示フラグテーブルの設定を説明する図、
【図１９Ｂ】表示フラグテーブルの設定を説明する図、
【図２０】六つの四面体領域を示す図、
【図２１】表示色相範囲としてMR領域が選択された場合のモニタの表示例を示す図、
【図２２Ａ】表示フラグテーブルのリセットを示す図、
【図２２Ｂ】表示フラグテーブルの設定を説明する図、
【図２２Ｃ】表示フラグテーブルの設定を説明する図、
【図２２Ｄ】表示フラグテーブルの設定を説明する図、
【図２２Ｅ】表示フラグテーブルの設定を説明する図、
【図２２Ｆ】表示フラグテーブルの設定を説明する図、
【図２２Ｇ】表示フラグテーブルの設定を説明する図、
【図２３】3D物体データの内部構造例を示す図、
【図２４Ａ】表示格子範囲の設定に従って生成した3D物体データの構成例を示す図、
【図２４Ｂ】表示色相範囲の選択に従って生成した3D物体データの構成例を示す図、
【図２５Ａ】RGB格子範囲の設定時に、表示面としてWMYR面とWYCG面を選択した場合のモニタ表示例を示す図、
【図２５Ｂ】表示色相範囲の選択時に、表示面として色相R面のみ選択した場合のモニタ表示例を示す図、
【図２６Ａ】非表示面と表面階調線表示フラグの関係を示す図、
【図２６Ｂ】非表示面と表面標本表示フラグの関係を示す図、
【図２７】明るさ調整用のダイアログを示す図、
【図２８】色相調整用のダイアログを示す図、
【図２９】彩度調整用のダイアログを示す図、
【図３０】写像フラグテーブルの模式図、
【図３１】写像フラグテーブルの設定を説明する図、
【図３２Ａ】写像フラグテーブルの設定を説明する図、
【図３２Ｂ】写像フラグテーブルの設定を説明する図、
【図３２Ｃ】写像フラグテーブルの設定を説明する図、
【図３２Ｄ】写像フラグテーブルの設定を説明する図、
【図３２Ｅ】写像フラグテーブルの設定を説明する図、
【図３２Ｆ】写像フラグテーブルの設定を説明する図、
【図３３】写像動作の初期化を説明するフローチャート、
【図３４】格子点数が8の場合のR面とC面における標本点の分布を示す図、
【図３５】写像前の、RY領域の表面階調線を示す図、
【図３６】写像前の、RY領域の内部階調線を示す図、
【図３７Ａ】色域写像を説明するフローチャート、
【図３７Ｂ】色域写像を説明するフローチャート、
【図３８】彩度用の補正関数の一例を示す図、
【図３９】表面標本点の写像を説明する図、
【図４０】内部標本点の写像を説明するフローチャート、
【図４１】第一の中間写像色域の模式図、
【図４２】第二の中間写像色域の模式図、
【図４３Ａ】写像関数の一例を示す図、
【図４３Ｂ】写像関数の一例を示す図、
【図４３Ｃ】写像関数の一例を示す図、
【図４４】明度調整写像を説明するフローチャート、
【図４５Ａ】入出力関数p(・)の一例を示す図、
【図４５Ｂ】入出力関数p(・)の一例を示す図、
【図４６】写像結果の一例を示す図、
【図４７】彩度写像を説明するフローチャート、
【図４８】標本点M、境界BpおよびBiの関係を示す模式図、
【図４９Ａ】入出力関数q(・)の一例を示す図、
【図４９Ｂ】入出力関数q(・)の一例を示す図、
【図５０】写像結果の一例を示す図、
【図５１】写像後の、RY領域の表面階調線を示す図、
【図５２】写像後の、RY領域の内部階調線を示す図である。
【図１】
2007072800.tif 000003
【図２】
2007072800.tif 000004
【図３Ａ】
2007072800.tif 000005
【図３Ｂ】
2007072800.tif 000006
【図４Ａ】
2007072800.tif 000007
【図４Ｂ】
2007072800.tif 000008
【図５】
2007072800.tif 000009
【図６】
2007072800.tif 000010
【図７】
2007072800.tif 000011
【図８】
2007072800.tif 000012
【図９】
2007072800.tif 000013
【図１０】
2007072800.tif 000014
【図１１】
2007072800.tif 000015
【図１２】
2007072800.tif 000016
【図１３】
2007072800.tif 000017
【図１４】
2007072800.tif 000018
【図１５】
2007072800.tif 000019
【図１６】
2007072800.tif 000020
【図１７】
2007072800.tif 000021
【図１８】
2007072800.tif 000022
【図１９Ａ】
2007072800.tif 000023
【図１９Ｂ】
2007072800.tif 000024
【図２０】
2007072800.tif 000025
【図２１】
2007072800.tif 000026
【図２２Ａ】
2007072800.tif 000027
【図２２Ｂ】
2007072800.tif 000028
【図２２Ｃ】
2007072800.tif 000029
【図２２Ｄ】
2007072800.tif 000030
【図２２Ｅ】
2007072800.tif 000031
【図２２Ｆ】
2007072800.tif 000032
【図２２Ｇ】
2007072800.tif 000033
【図２３】
2007072800.tif 000034
【図２４Ａ】
2007072800.tif 000035
【図２４Ｂ】
2007072800.tif 000036
【図２５Ａ】
2007072800.tif 000037
【図２５Ｂ】
2007072800.tif 000038
【図２６Ａ】
2007072800.tif 000039
【図２６Ｂ】
2007072800.tif 000040
【図２７】
2007072800.tif 000041
【図２８】
2007072800.tif 000042
【図２９】
2007072800.tif 000043
【図３０】
2007072800.tif 000044
【図３１】
2007072800.tif 000045
【図３２Ａ】
2007072800.tif 000046
【図３２Ｂ】
2007072800.tif 000047
【図３２Ｃ】
2007072800.tif 000048
【図３２Ｄ】
2007072800.tif 000049
【図３２Ｅ】
2007072800.tif 000050
【図３２Ｆ】
2007072800.tif 000051
【図３３】
2007072800.tif 000052
【図３４】
2007072800.tif 000053
【図３５】
2007072800.tif 000054
【図３６】
2007072800.tif 000055
【図３７Ａ】
2007072800.tif 000056
【図３７Ｂ】
2007072800.tif 000057
【図３８】
2007072800.tif 000058
【図３９】
2007072800.tif 000059
【図４０】
2007072800.tif 000060
【図４１】
2007072800.tif 000061
【図４２】
2007072800.tif 000062
【図４３Ａ】
2007072800.tif 000063
【図４３Ｂ】
2007072800.tif 000064
【図４３Ｃ】
2007072800.tif 000065
【図４４】
2007072800.tif 000066
【図４５Ａ】
2007072800.tif 000067
【図４５Ｂ】
2007072800.tif 000068
【図４６】
2007072800.tif 000069
【図４７】
2007072800.tif 000070
【図４８】
2007072800.tif 000071
【図４９Ａ】
2007072800.tif 000072
【図４９Ｂ】
2007072800.tif 000073
【図５０】
2007072800.tif 000074
【図５１】
2007072800.tif 000075
【図５２】
2007072800.tif 000076