(57)【要約】【課題】  本発明は、入力色を出力色域内に良好に写像することを目的とする。【解決手段】  入力色域内の入力色を出力色域内に写像する色処理方法において、基準色を設定する基準色設定工程と、前記設定された基準色から写像点の配置範囲を設定する配置範囲設定工程と、前記配置範囲内に前記入力色に対応する写像点を配置し、該写像点を用いて前記入力色を前記出力色域内に写像する写像工程とを有することを特徴とする。【選択図】  図１４
2007013626.tif 000002
【特許請求の範囲】
【請求項１】
入力色域内の入力色を出力色域内に写像する色処理方法において、
基準色を設定する基準色設定工程と、
前記設定された基準色から写像点の配置範囲を設定する配置範囲設定工程と、
前記配置範囲内に前記入力色に対応する写像点を配置し、該写像点を用いて前記入力色を前記出力色域内に写像する写像工程とを有することを特徴とする色処理方法。
【請求項２】
前記入力色域内の代表色と前記基準色の対応関係を取得する取得工程と、
前記代表色が前記基準色にマッピングされるように、前記入力色域を写像処理する前処理工程を有することを特徴とする請求項１に記載の色処理方法。
【請求項３】
前記代表色は、赤、緑、青、シアン、マゼンタ、黄であることを特徴とする請求項２に記載の色処理方法。
【請求項４】
前記基準色は、ユーザによって設定されることを特徴とする請求項１乃至３のいずれかに記載の色処理方法。
【請求項５】
更に、前記基準色から、基準明度範囲を設定する基準明度範囲設定工程を有し、
前記配置範囲設定工程は、前記基準明度範囲から、写像点の配置範囲を設定し、
前記写像工程は、前記基準明度範囲内の明度において、前記入力色を明度一定で写像することを特徴とする請求項１乃至４のいずれかに記載の色処理方法。
【請求項６】
前記基準明度範囲設定工程は、
前記基準色が複数設定された場合、前記基準色の内で最も明度が高い基準色の明度以下であり、前記基準色の内で最も明度が低い基準色の明度以上である明度範囲を、前記基準明度範囲に設定し、
前記基準色が一つ設定された場合、該基準色の明度を前記基準明度範囲に設定することを特徴とする請求項５に記載の色処理方法。
【請求項７】
前記基準明度範囲は、対象の色相ごとに設定されることを特徴とする請求項５もしくは６に記載の色処理方法。
【請求項８】
前記基準明度範囲設定工程は、対象の色相において、前記基準色が設定されていない場合、基準明度範囲が設定されている色相の基準明度範囲から、前記基準明度範囲を設定することを特徴とする請求項５乃至７のいずれかに記載の色処理方法。
【請求項９】
前記写像工程は、
前記入力色により示される点と前記写像点を結ぶ線を一定の割合で内分する内分点を設定し、
前記内分点よりも彩度が高い入力色は写像し、
前記内分点よりも彩度が低い入力色は写像しない
ことを特徴とする請求項１乃至８のいずれかに記載の色処理方法。
【請求項１０】
請求項１乃至９のいずれかに記載された色処理方法をコンピュータ上で実施するためのプログラム。
【請求項１１】
入力色を出力色域内に写像する色処理装置において、
基準色を設定する基準色設定手段と、
前記設定された基準色から写像点の配置範囲を設定する配置範囲設定手段と、
前記配置範囲内に前記入力色に対応する写像点を配置し、該写像点を用いて前記入力色を前記出力色域内に写像する写像手段とを有することを特徴とする色処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力色を出力色域内に写像するものに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ／ワークステーションの普及に伴い、デスクトップ・パブリッシング（ＤＴＰ）やＣＡＤが広く一般に使用されている。このような中で、コンピュータによってモニタ上で表現される色と、出力媒体上に再現される色とのマッチングを行う色再現技術が重要となっている。例えばＤＴＰにおいては、モニタ上にてカラー画像の作成／編集／加工等を行い、成果物として画像をカラープリンタで出力するというワークフローで作業を行う。このワークフローに於いて、モニタ上のカラー画像とプリンタ出力画像とが知覚的に一致していることを、ユーザは強く望んでいる。
【０００３】
しかしながら、色再現技術においてモニタ上のカラー画像とプリンタ出力画像とを知覚的に一致させるには困難が伴う。この困難さは以下の理由による。
【０００４】
カラーモニタにおいては、蛍光体を用いて特定波長の光を発光することによりカラー画像を表現する。他方、カラープリンタにおいてはインク等を用いて特定波長の光を吸収し、残りの反射光によってカラー画像を表現する。このように画像表示形態が異なることに起因して、両者の色再現域は大きく異なる。さらに、カラーモニタであっても、液晶モニタと電子銃方式のブラウン管のモニタとでは色再現域が異なる。またカラープリンタにあっても、紙質等の相違、あるいはインク組成の相違等により色再現域が異なる。このように色再現域が異なるので、カラーモニタ上の画像とカラープリンタ出力画像、あるいは複数種の機種、複数種の紙質にて出力したカラープリンタ出力画像において、これらの画像の色を測色的に完全に一致させることは不可能である。
【０００５】
ここで、これら色再現域の異なる表示媒体間において、色再現域の相違を吸収すると共に表示画像の知覚的一致を図るための技術として、Ｌ＊ａ＊ｂ＊空間あるいはＪＣＨ空間等において、ある色再現域を別の色再現域内へ写像するガマットマッピング技術が存在する。ガマットマッピング技術には、以下のような様々な方法がある。
（１）色再現域全体を線形に写像する方法
（２）色再現域外の色だけを色再現域の表面に写像する方法
（３）色再現域内では元の色を保存するためにできる限り圧縮せず、色再現域外の色は，例えば、Ｌ軸上の一点を目標点として、色再現域の高彩度部へ圧縮することにより階調性を保つ方法〔特許文献１〕。
【特許文献１】特開平８−２７４９９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記（１）の方法では、入力色域全体をマッピングするため、階調性は損なわれないが、代表色を含めた全体の色が変化してしまう。
【０００７】
また、上記（２）の方法では、色再現域外のある二点が色再現域外縁の同じ位置にマッピングされることがあり、階調性が崩れ画像の持っている情報を失うことになる。
【０００８】
また、上記（３）の方法では、モニタとプリンタの知覚的に一致する対応関係に基づき算出した代表色まで写像されてしまい、代表色の知覚的一致が大幅にずれてしまう場合がある。同様に、上記（１）の方法でも同様である。
【０００９】
そこで、上記課題を考慮し、請求項１の発明は、入力色を出力色域内に良好に写像することを目的とする。
【００１０】
また、請求項５の発明は、代表色などの基準となる色を良好に再現しつつ、高明度部や低明度部における階調性の崩れを抑止することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、請求項１の発明は、入力色域内の入力色を出力色域内に写像する色処理方法において、基準色を設定する基準色設定工程と、前記設定された基準色から写像点の配置範囲を設定する配置範囲設定工程と、前記配置範囲内に前記入力色に対応する写像点を配置し、該写像点を用いて前記入力色を前記出力色域内に写像する写像工程とを有することを特徴とする。
【００１２】
請求項５の発明は、更に、前記基準色から、基準明度範囲を設定する基準明度範囲設定工程を有し、前記配置範囲設定工程は、前記基準明度から、写像点の配置範囲を設定し、前記写像工程は、前記基準明度範囲内の明度において、前記入力色を明度一定で写像することを特徴とする。
【発明の効果】
【００１３】
請求項１の発明によれば、入力色を出力色域内に良好に写像することが出来る。また、請求項５の発明によれば、代表色などの基準となる色を良好に再現しつつ、高明度部や低明度部において、階調性の崩れを抑止することが出来る。
【発明を実施するための最良の形態】
【００１４】
（実施例）
図１は、本実施例における色処理装置のブロック図である。１０１はＣＰＵ、１０２はメインメモリ、１０３はＳＣＳＩインタフェース、１０４はネットワークインタフェース、１０５はＨＤＤ、１０６はグラフィックアクセラレータ、１０７はカラーモニタ、１０８はＵＳＢコントローラ、１０９はカラープリンタ、１１０はキーボード／マウスコントローラ、１１１はキーボード、１１２はマウス、１１３はローカルエリアネットワーク、１１４はＰＣＩバスである。
【００１５】
色処理装置における、デジタル画像のプリンタ出力動作について述べる。まず、ＣＰＵ１０１は、ＨＤＤ１０５に格納されている画像アプリケーションを起動する。続いてユーザの指示に応じて、画像アプリケーション内の処理にしたがって、デジタル画像データと代表色データの転送処理を行う。転送処理において、ＣＰＵ１０１は、ＨＤＤ１０５に格納されているデジタル画像データと、代表色データを、ＳＣＳＩＩ／Ｆ１０３を介してＰＣＩバス１１４経由によりメインメモリ１０２に転送するように指令する。あるいは、ＬＡＮに接続されているサーバに格納されている画像データあるいはインターネット上のデジタル画像データを、ネットワークＩ／Ｆ１０４を介してＰＣＩバス１１４経由によりメインメモリ１０２に転送する。以下、メインメモリ１０２に保持されているデジタル画像データは、ＲＧＢ各色信号が符号無し８ｂｉｔで表現される画像データであるものとして実施例を説明する。メインメモリ１０２に保持されているデジタル画像データは、ＣＰＵ１０１からの指令によりＰＣＩバス１１４経由によってグラフィックアクセラレータ１０６に転送される。グラフィックアクセラレータ１０６はデジタル画像データをＤ／Ａ変換した後ディスプレイケーブルを通じてカラーモニタ１０７に送信する。これにより、カラーモニタ１０７上に画像が表示される。ここで、ユーザはメインメモリ１０２に保持されているデジタル画像をプリンタ１０９から出力するように画像アプリケーションに指令する。指令を受けると、画像アプリケーションはデジタル画像データ、代表色データをプリンタドライバに転送する。ＣＰＵ１０１は、プリンタドライバの後述の処理フローチャートに基づき、デジタル画像データをＣＭＹＫデジタル画像データに変換する。画像データの変換後、ＵＳＢコントローラ１０８を介してＣＭＹＫ画像データをプリンタ１０９へ送信する。以上一連の動作の結果として、プリンタ１０９よりＣＭＹＫ画像が印字される。
【００１６】
以下では、上記構成におけるプリンタドライバ動作について、図２のフローチャートを用いて説明する。
【００１７】
まずステップＳ２０１にて、画像アプリケーションより転送されたＲＧＢ２４ｂｉｔ画像データ（各色信号が符号無し８ｂｉｔの画像データ）をメインメモリ１０２に格納する。
【００１８】
ステップＳ２０２にて、後述の処理に基づいて色補正ＬＵＴを作成する。
【００１９】
色補正ＬＵＴは、ＲＧＢ色空間での格子点の色座標値とＬ＊ａ＊ｂ＊色空間の座標値との対応を記した図３の様なデータ構造で記述される。データ構造の先頭には、Ｒ／Ｇ／Ｂ値のステップが記述されている。そして、この後に、Ｒ／Ｇ／Ｂ値のステップに基づき設定される各格子点に対応するＬ＊値、ａ＊値、ｂ＊値が記述されている。
【００２０】
ステップＳ２０３では、色補正ＬＵＴから、ＲＧＢ２４ｂｉｔ画像をＬ＊ａ＊ｂ＊固定小数点データに変換し、再びメインメモリ１０２に格納する。ステップＳ２０４では、あらかじめ定められたＬ＊ａ＊ｂ＊色空間の座標値とＣＭＹＫ画像データとの対応を記した色変換ＬＵＴに従って、先のＬ＊ａ＊ｂ＊固定小数点データをＣＭＹＫ３２ｂｉｔ画像データ（ＣＭＹＫの各色信号が符号無し８ｂｉｔの画像データ）に変換し、再びメインメモリ１０２に格納する。
【００２１】
ステップＳ２０５では、メインメモリに格納されたＣＭＹＫ３２ｂｉｔ画像データを、ＵＳＢコントローラ１０８を介してプリンタ１０９へ送信する。
【００２２】
次に、ステップＳ２０２に於ける色補正ＬＵＴ作成方法を図４のフローチャートに従い説明する。
【００２３】
ステップＳ４０１では、写像元（入力）の色再現情報と写像先（出力）の色再現情報とを取得する。色再現情報は、色再現域内に含まれる複数の色データを示す。例えば、色再現情報は、ｓＲＧＢ値をＬ＊ａ＊ｂ＊値に変換する変換式や、デバイスの色再現特性を示すデバイスＲＧＢ値と測色値（Ｌ＊ａ＊ｂ＊値）との対応データである。
【００２４】
ステップＳ４０２では、取得した写像元の色再現情報と写像先の色再現情報とから、写像元の色域情報と写像先の色域情報とをＬ＊ａ＊ｂ＊色空間において生成する。色域情報は色再現範囲の表面を示す。本実施例における色域情報は、色再現情報を元に生成された複数のポリゴンの組み合わせで示される多面体の幾何情報である。一例として、図５、図６に色域情報を示す。図５は、四角形の組み合わせで色域情報を示し、図６は、三角形の組み合わせで色域情報を示している。
【００２５】
ステップＳ４０３では、後述する方法により、写像処理（前処理）を行う。画像アプリケーションにより転送された代表色データ内には、代表色と、代表色に対する目標となる所定の目標色が含まれている。代表色データ内の代表色を目標色に合わせるように、Ｓ４０１で取得された写像元の色最現情報内のＬ＊ａ＊ｂ＊値を写像処理（前処理）する。代表色は、入力色に含まれる色の内、目標色に合わせたい色である。代表色には、例えば、赤、緑、青、シアン、マゼンタ、黄色、などのプライマリーカラー及びセカンダリーカラーを用いる。また、目標色に合わせたい色が他にある場合は、プライマリーカラーや、セカンダリーカラー以外の代表色を用いてもよい。また、代表色は、画像アプリケーションに対するユーザの指示に基づき、設定されてもよい。
【００２６】
ステップＳ４０４では、後述する方法により、代表色に基づき、写像点を設定できる写像点配置範囲を設定する。写像点配置範囲を設定後、写像点配置範囲内に写像点を配置させ、配置された写像点を用いて、Ｓ４０３で前処理されたＬ＊ａ＊ｂ＊値に色域写像を行う。
【００２７】
ステップＳ４０５では、写像元の色再現情報を用いて、デバイスＲＧＢ色空間の格子点の色座標もしくはｓＲＧＢ値と、ステップＳ４０４における写像結果のＬ＊ａ＊ｂ＊値との対応を記した色補正ＬＵＴを生成する。
【００２８】
以上が、ステップＳ２０２に於ける色補正ＬＵＴ作成方法である。
【００２９】
ステップＳ４０３における代表色を用いる前処理について、図７のフローチャートに従い説明する。
【００３０】
ステップＳ７０１では、ステップＳ４０２で生成した写像元と写像先の色域情報と代表色データとを取得する。代表色データは、図８のように、代表色のＬ＊ａ＊ｂ＊値とその目標色のＬ＊ａ＊ｂ＊値との対応関係を示すデータである。
【００３１】
ステップＳ７０２では、ステップＳ７０１で取得した代表色と目標色の対応を示す代表色データから、Ｓ４０１で取得された写像元の色再現情報内のＬ＊ａ＊ｂ＊値の変化量を算出する。変化量の算出後、各Ｌ＊ａ＊ｂ＊値を、算出された変化量に基づき変換する。具体的には、代表色のＬ＊ａ＊ｂ＊値とその目標色のＬ＊ａ＊ｂ＊値との対応を示すスプライン関数を算出する。スプライン関数の算出後、Ｓ４０１で取得された写像元の色再現情報内のＬ＊ａ＊ｂ＊値を、算出されたスプライン関数を用いて変換する。
【００３２】
ステップＳ７０３では、ステップＳ７０２において取得したＬ＊ａ＊ｂ＊値をメインメモリ１０２に記憶する。
【００３３】
以上が、ステップＳ４０３における、代表色を用いる前処理である。
【００３４】
次に、ステップＳ４０４における、色域写像の処理を図９のフローチャートに従い説明する。
【００３５】
ステップＳ９０１では、ステップＳ４０３において、取得したＬ＊ａ＊ｂ＊値を取得する。
【００３６】
ステップＳ９０２では、後述の処理フローに従って、前述した写像点配置範囲内に基準明度範囲を設定する。基準明度範囲とは、知覚的に変化しないように、取得したＬ＊ａ＊ｂ＊値を等明度圧縮する領域である。取得したＬ＊ａ＊ｂ＊値の明度値が基準明度範囲内にある場合、明度成分と色相成分とを一定で写像する方向に、写像点を設定する。
【００３７】
ステップＳ９０３では、後述する方法により、ステップＳ９０２で決定した基準明度範囲に基づき、写像点を配置することができる写像点配置範囲を設定し、後述の処理フローに従って写像点の位置を決定する。
【００３８】
写像点配置範囲の上限値は、基準明度範囲の明度値の上限値よりも大きく、写像先の色域の明度の上限値よりも小さい値にする。また、写像点配置範囲の下限値は、基準明度範囲の明度の下限値よりも小さく、写像先の明度の下限値よりも大きい値にする。
【００３９】
ステップＳ９０４では、ステップＳ９０３で設定された写像点を用いて、色相値を保存しつつ、明度と彩度とを写像する。
【００４０】
この写像について、図１４を用いて説明する。図１４に於いて、実線はＳ４０３で取得したＬ＊ａ＊ｂ＊値の色域を表し、破線は写像先の色域を表す。まず、Ｓ４０３で取得したＬ＊ａ＊ｂ＊値を示す色Ｍに対応する写像点をＦとする。その後、ＦとＭとを結んだ線とＳ４０３に於いて取得したＬ＊ａ＊ｂ＊値の色域との交点Ｂｓｒｃを算出し、ＦとＭとを結んだ線と写像先の色域との交点Ｂｄｓｔを算出する。続いて、ＢｄｓｔとＦとの間を１：９に内分する点Ｃを算出する。この内分比は、色域形状などに応じて、変更してもよい。ここで、ＭとＦとの距離が、ＣとＦとの距離を下回っていれば、Ｍに対して写像は行わない。他方、上回っている場合には、ＭがＢｓｒｃとＣとを内分する値で、ＢｄｓｔとＣとの間を内分する点を、Ｍの写像値とする。
【００４１】
以上が、ステップＳ９０４に於ける写像処理である。
【００４２】
次に、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲を決定する方法について、図１０のフローチャートを用いて説明する。
【００４３】
ステップＳ１００１では、取得したＬ＊ａ＊ｂ＊値の色域と写像先の色域の最大、最小明度を取得する。
【００４４】
ステップＳ１００２では、取得したＬ＊ａ＊ｂ＊値の色相における等色相断面内に代表色が、存在するかを判定し、存在するならステップＳ１００３へ、存在しないならステップＳ１００４へ移行する。
【００４５】
ステップＳ１００３では、まず、取得したＬ＊ａ＊ｂ＊値の色相における代表色の最大、最小明度を探す。そして、代表色の最大明度値を基準明度範囲の上限値とし、代表色の最小明度値を基準明度範囲の下限値として、上限値と下限値に囲まれた範囲を基準明度範囲として設定する。取得したＬ＊ａ＊ｂ＊値の色相における等色相断面内に、代表色が一つしか存在しない場合、基準明度範囲の上限値と下限値は、同じ明度値にする。
【００４６】
ステップＳ１００４では、後述する補間処理により、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲を算出する。
【００４７】
以下では、Ｓ１００４の取得したＬ＊ａ＊ｂ＊値の色相における等色相断面内に代表色が存在しない場合の基準明度範囲を決定する方法について、図１１のフローチャートを用いて説明する。
【００４８】
ステップＳ１１０１では、取得したＬ＊ａ＊ｂ＊値の色相から色相の順方向、逆方向それぞれに、一番近い色相を持つ代表色が存在する等色相断面を探す。
【００４９】
ステップＳ１１０２では、ステップＳ１１０１で探し出した代表色が存在する等色相断面の基準明度範囲を算出し記憶する。
【００５０】
ステップＳ１１０３では、順方向、逆方向それぞれに最も近い等色相断面の基準明度範囲から取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲を補間する。この時、以下（１）順方向、逆方向のどちらの等色相断面とも代表色が１つしかない場合、（２）順方向、逆方向のどちらか一方が代表色１つで、他方が複数ある場合、（３）順方向、逆方向のどちらの等色相断面とも代表色が複数ある場合の３パターンが考えられる。
【００５１】
（１）順方向、逆方向のどちらの等色相断面とも代表色が１つしかない場合は、図１２（ａ）の色相−明度図に示すように、順方向、逆方向それぞれの基準明度を示す点を結ぶ直線が、取得したＬ＊ａ＊ｂ＊値の色相の等色相直線と交わる点を基準明度とする。
【００５２】
図１２（ａ）において、ｈは写像すべき色の色相、ｈ１は逆方向の代表色が一つ存在する代表色の色相、ｈ２は順方向の代表色が一つ存在する色相である。ｈ１、ｈ２の白丸はそれぞれの色相の基準明度を表す。ｈの黒丸は、取得したＬ＊ａ＊ｂ＊値の色相における補間された基準明度である。
【００５３】
（２）順方向、逆方向のどちらか一方の等色相断面における代表色が１つで、他方が複数ある場合は、図１２（ｂ）の色相−明度図に示すように、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲を求める。
【００５４】
まず、代表色が複数ある色相における基準明度範囲の上限値と代表色が一つしかない色相における基準明度を結ぶ直線が、取得したＬ＊ａ＊ｂ＊値の色相の等色相直線と交わる点を求める。求められた点を、写像すべき色の色相における基準明度範囲の上限値とする。次に、代表色が複数ある色相における基準明度範囲の下限値と代表色が一つしかない色相における基準明度を結ぶ直線が、取得したＬ＊ａ＊ｂ＊値の色相の等色相直線と交わる点を求める。求められた点を、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲の下限値とする。
【００５５】
図１２（ｂ）において、ｈは写像すべき色の色相、ｈ１は逆方向の代表色が一つ存在する代表色の色相、ｈ２は順方向の代表色が複数存在する色相である。ｈ１、ｈ２の白丸はそれぞれの色相の基準明度、又は基準明度範囲の上限値、下限値を表す。ｈの黒丸が写像すべき色相の、補間された基準明度範囲の上限値、下限値である。
【００５６】
（３）順方向、逆方向のどちらの等色相断面とも代表色が複数ある場合は、図１２（ｃ）の色相−明度図に示すように、写像すべき色の色相における基準明度範囲を求める。まず、逆方向の色相における基準明度範囲の上限値と順方向の色相における基準明度範囲の上限値を結ぶ直線が、取得したＬ＊ａ＊ｂ＊値の色相の等色相直線と交わる点を求める。求められた点を、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲の上限値とする。次に、逆方向の色相における基準明度範囲の下限値と順方向の色相における基準明度範囲の下限値を結ぶ直線が、取得したＬ＊ａ＊ｂ＊値の色相の等色相直線と交わる点を求める。求められた点を、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲の下限値とする。求められた点を、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲の下限値とする。
【００５７】
図１２（ｃ）において、ｈは取得したＬ＊ａ＊ｂ＊値の色相、ｈ１は逆方向の代表色が複数存在する代表色の色相、ｈ２は順方向の代表色が複数存在する色相である。ｈ１、ｈ２の白丸はそれぞれの色相の基準明度範囲の上限値、下限値を表す。ｈにおける黒丸が取得したＬ＊ａ＊ｂ＊値色相の、補間された基準明度範囲の上限値、下限値である。
【００５８】
以上、図１１に示す方法で補間することにより、取得したＬ＊ａ＊ｂ＊値の色相に代表色が存在しない場合でも、基準明度範囲を簡単に決定することが出来る。
【００５９】
次に、ステップＳ９０３における写像点配置範囲及び写像点位置の決定法を図１３のフローチャートを用いて説明する。
【００６０】
ステップＳ１３０１では、取得したＬ＊ａ＊ｂ＊値の色相における基準明度範囲の上限値及び下限値と、写像すべき色の明度とを比較する。以下、（１）取得したＬ＊ａ＊ｂ＊値の明度が基準明度範囲の上限値より高いと判定された場合、（２）取得したＬ＊ａ＊ｂ＊値の明度が基準明度範囲の下限値より低いと判定された場合、（３）取得したＬ＊ａ＊ｂ＊値の明度が基準明度範囲の上限値以下であり、かつ、基準明度範囲の下限値以上である場合、に分けて説明する。
【００６１】
（１）の場合、Ｓ１３０２へ進み、基準明度範囲の上限値と写像先色域最大明度から、以下の式（１）を用いて写像点を配置できる写像点配置範囲を決定する。
Ｌｌｉｍ＝Ｌｂａｓｅ＋（Ｌｍａｘ−Ｌｂａｓｅ）２／１００・・・式（１）
ここで、写像点を配置できる写像点配置範囲の上限値をＬｌｉｍ、基準明度範囲の上限値をＬｂａｓｅ、写像先色域の最大明度をＬｍａｘ、とする。写像点を設定できる上限値を決定した後、Ｓ１３０４へ進む。
【００６２】
（２）の場合、Ｓ１３０３へ進み、基準明度範囲の下限値と写像先色域最小明度から、以下の式（２）を用いて写像点を設定できる写像点配置範囲を決定する。
Ｌｌｉｍ＝Ｌｂａｓｅ−（Ｌｂａｓｅ−Ｌｍｉｎ）２／１００・・・式（２）
ここで、写像点を配置できる範囲の下限値をＬｌｉｍ、基準明度範囲の下限値をＬｂａｓｅ、写像先色域の最小明度をＬｍｉｎ、とする。写像点を配置できる下限値を決定した後、Ｓ１３０４へ進む。
【００６３】
（３）の場合、取得したＬ＊ａ＊ｂ＊値を明度一定で圧縮するため、写像点を配置できる範囲を決定せず、ステップＳ１３０４へ進む。
【００６４】
Ｓ１３０４では、（１）、（２）、（３）、それぞれ場合に分けて、写像点の設定を行う。
【００６５】
（１）の場合、基準明度範囲の上限値と、取得したＬ＊ａ＊ｂ＊値の色域の最大明度とのレンジを、取得したＬ＊ａ＊ｂ＊値の明度が内分する割合を算出する。算出された割合と同じ割合で、基準明度範囲の上限値と写像点を配置できる写像点配置範囲の上限値とを内分する点を算出する。算出された点の位置に写像点を配置する。
【００６６】
（２）の場合、基準明度範囲の下限値と、取得したＬ＊ａ＊ｂ＊値の色域の最小明度とのレンジを、取得したＬ＊ａ＊ｂ＊値の明度が内分する割合を算出する。算出された割合と同じ割合で、基準明度範囲の下限値と写像点を配置できる写像点配置範囲の下限値とを内分する点を算出する。算出された点の位置に写像点を配置する。
【００６７】
（３）の場合、前述したように、取得したＬ＊ａ＊ｂ＊値を明度一定で圧縮するため、取得したＬ＊ａ＊ｂ＊値と等明度であり、かつ明度軸上の点に写像点を配置する。
【００６８】
以上のように、本実施例では、基準明度範囲から写像点を配置できる写像点配置範囲を
設定する。
【００６９】
本実施例では、重要な色である代表色が含まれる基準明度範囲内と、基準明度範囲外とで、写像点の配置方法が異なる。
【００７０】
基準明度範囲内では、写像すべき色が明度一定で写像されるように、写像点を配置する。明度一定で写像されるように写像点を配置することで、写像前の色と写像後の色とが知覚的に一致した写像を行うことが出来る。
【００７１】
一方、基準明度範囲外では、基準明度範囲と写像先の色域の明度範囲との関係から、写像点を配置する配置範囲を設定する。配置範囲の上限値は、写像先の色域の最高明度よりも小さく、基準明度範囲の上限値よりも大きい値に設定される。このように設定された配置範囲に写像点が配置された場合の写像を図１６に、写像先の最高明度と配置範囲の上限値とが同じ場合の写像を図１５に示す。図１５では、高明度において写像後の点が密接しているため、高明度の写像後の色の階調が潰れてしまう。しかし、図１６では、図１５の写像後の点に比べ、写像後の点は密接しておらず、写像後の色の階調は潰れない。つまり、本実施例における方法で写像点を設定することにより、高明度における写像後の色の階調潰れを抑止することが出来る。
【００７２】
また、配置範囲の下限値は、写像先の色域の最低明度よりも大きく、基準明度範囲の下限値よりも小さい値に設定される。このように設定することにより、高明度部と同様に、低明度における写像後の色の階調の潰れを抑止することが出来る。
【００７３】
以上のように写像点を設定することにより、重要な色である代表色を精度良く再現しつつ、高明度や低明度部において階調の崩れを抑止することが出来る。
【００７４】
（他の実施例）
上記実施例では、Ｌ＊ａ＊ｂ＊色空間上で色域写像を行った。しかし、例えば、Ｌ＊ｕ＊ｖ＊色空間やＬｃｈ色空間または、Ｊｃｈ空間などの他の色空間で色域写像を行ってもよい。
【００７５】
また、上記実施例では入力されたＬ＊ａ＊ｂ＊値を前処理した後、前処理された入力色を写像した。しかし、前処理をせず、写像元の色域内の入力色を写像してもよい。また、あらかじめ前処理されたＬ＊ａ＊ｂ＊値を取得し、Ｌ＊ａ＊ｂ＊値を前処理せず、写像してもよい。
【００７６】
また、前処理として、上記実施例と異なる方法を用いても良い。
【００７７】
また、上記実施例では、上記（１）式と上記（２）式とを用いて、写像点配置範囲を設定した。しかし、例えば、基準明度範囲の中央値から、所定の明度値内の範囲を写像点配置範囲としてもよい。
【００７８】
また、上記実施例では、写像すべき色の色相における等色相断面内に代表色が存在しない場合、上記実施例では、図１２（ａ），図１２（ｂ），図１２（ｃ），に示す補間方法で代表色が存在しない色相の基準明度範囲を設定した。しかし、例えば、スプライン関数など非線形関数を用いて、代表色が存在しない色相の基準明度範囲を補間し、設定してもよい。
【００７９】
また、上記実施例では、写像の際の写像点を明度軸上に設定した。しかし、例えば、出力領域の無彩色ライン上に写像点を設定してもよい。
【００８０】
また、上記実施例では、基準明度範囲内の色もしくは代表色を、知覚的に変化しないように色相と明度を一定で写像した。しかし、知覚的に変化しないように色相方向への写像を行ってもよい。
【００８１】
また、上記実施例では、画像データを、ＲＧＢ２４ｂｉｔもしくは、ＣＭＹＫ３２ｂｉｔで表したが、例えば、ＲＧＢ４８ｂｉｔやＣＭＹＫ６４ｂｉｔなどで表してもよい。
【００８２】
また、上記実施例における色処理方法を実現するためのプログラムが記録された記録媒体をコンピュータ上で読み取りとり、読み取られたプログラムを実行することにより、上記実施例における色処理方法を実施しても良い。
【図面の簡単な説明】
【００８３】
【図１】実施例中の色再現編集装置のシステム構成を示すブロック図である。
【図２】実施例中の色再現編集装置におけるプリンタドライバの処理を示すフローチャートである。
【図３】色補正ＬＵＴのデータ構造を説明する図である。
【図４】色補正ＬＵＴの作成処理を示すフローチャートである。
【図５】Ｃｏｎｖｅｘ  Ｈｕｌｌ技法により生成された色域情報の一例を示す図である。
【図６】Ｃｏｎｖｅｘ  Ｈｕｌｌ技法により生成された色域情報の一例を示す図である。
【図７】代表色データを用いた色域情報の前処理を示すフローチャートである。
【図８】代表色データの一例を示す図である。
【図９】代表色データに基づいた色域写像処理を示すフローチャートである。
【図１０】等色相断面内に代表色が存在する場合の基準明度範囲の決定処理を示すフローチャートである。
【図１１】等色相断面内に代表色が存在しない場合の基準明度範囲の上限値及び下限値の補間処理を示すフローチャートである。
【図１２】代表色が存在しない色相における、基準明度、又は基準明度範囲の補間処理を示す図である。
【図１３】写像点の決定処理を示すフローチャートである。
【図１４】実施例における色域写像のアルゴリズムを説明する図である。
【図１５】写像点配置範囲と写像先の明度範囲が同じ場合の写像を示す図である。
【図１６】本実施例における写像を示す図である。
【図１】
2007013626.tif 000003
【図２】
2007013626.tif 000004
【図３】
2007013626.tif 000005
【図４】
2007013626.tif 000006
【図５】
2007013626.tif 000007
【図６】
2007013626.tif 000008
【図７】
2007013626.tif 000009
【図８】
2007013626.tif 000010
【図９】
2007013626.tif 000011
【図１０】
2007013626.tif 000012
【図１１】
2007013626.tif 000013
【図１２】
2007013626.tif 000014
【図１３】
2007013626.tif 000015
【図１４】
2007013626.tif 000016
【図１５】
2007013626.tif 000017
【図１６】
2007013626.tif 000018