(57)【要約】【課題】色変換テーブルの作成を高速化することが可能な画像処理装置を提供する。【解決手段】ディスプレイ２０のＲＧＢ値をＸＹＺ値に変換する第１色変換テーブルと、プリンタ４０のＲＧＢ値をＸＹＺ値変換する第２色変換テーブルとをＤＭＰに基づいて作成・設定し、両色変換テーブルのＸＹＺ値をＪ＊ａ＊ｂ＊にカラーアピアランス変換した上でガマットマッピングし、ディスプレイ２０のＲＧＢ値とプリンタ４０のＲＧＢ値の色変換テーブル１５ｂを作成・設定する。そして、色変換テーブルのプリンタ４０のＲＧＢ値がプリンタ色域にマッピングされているかを判定して、色域外であれば再マッピングを行う。ガマットマッピングの際の色域設定方法と、再マッピングの色域設定方法とを一致させる。【選択図】図５
2009219059.tif 000002
【特許請求の範囲】
【請求項１】
第１の機器依存色の第１色空間と第２の機器依存色の第２色空間との対応関係を設定し、該対応関係に基づいて、前記第１色空間における第１の色を前記第２色空間における第２の色に変換する画像処理方法であって、
前記第１の色を、該第１の色を測色した第１の測色値に変換する場合に参照する第１色変換テーブルと、前記第２の色を、該第２の色を測色した第２の測色値に変換する場合に参照する第２色変換テーブルとを設定する第１ＬＵＴ設定工程と、
所定の機器独立色空間において、
前記第１と前記第２の測色値に基づいて第１色域と第２色域をそれぞれ設定し、該第１色域と該第２色域とを所定の対応規則で対応付ける色域変換工程と、
前記第１色変換テーブルと前記色域変換工程における対応規則と前記第２色変換テーブルとに基づいて、前記第１の色を前記第２の色に変換する場合に参照する色変換テーブルを設定する第２ＬＵＴ設定工程と、
前記第２色変換テーブルに基づいて前記第２の機器依存色の色域を設定する色域設定工程と、
前記第２ＬＵＴ設定工程において設定した色変換テーブルに基づいて変換された色が、前記色域設定工程において設定された色域内に無い場合、該色を該色域内に対応付けるマッピング工程と、
を具備し、
前記色域変換工程と前記色域設定工程における色域設定手法が一致していることを特徴とする画像処理方法。
【請求項２】
前記第２ＬＵＴ設定工程において前記色域変換工程の対応規則に基づいて変換された測色値が前記第２色空間の何れのエリアに色変換されるかを、前記第１の色が前記第１色変換テーブルに基づいて色変換される順番に基づいて予測し、予測したエリアを中心に前記第１の色に対応する前記第２の色を探索する探索工程を更に備え、
前記色域変換工程においては、各色点の色相を変化させることなく明度や彩度の大小関係を維持しつつ対応付けを行う請求項１記載の画像処理方法。
【請求項３】
前記探索工程においては、直前に色変換処理された前記第１の機器依存色の色変換先を記憶しておき、該記憶された色変換先を含むエリアを予測エリアとする前記請求項２に記載の画像処理方法。
【請求項４】
前記探索工程は、前記予測エリアにて前記第１の機器依存色の変換先となる前記第２の機器依存色を発見できない場合は、前記第２の機器依存色を構成する要素色のうち下位ビットに記憶される要素色のデータが増加する方向に探索対象エリアを拡大する請求項２または請求項３に記載の画像処理方法。
【請求項５】
各色相における前記第２の画像機器の色域の最大彩度における明度の色相変化に対する変化度合が大きく変動する色相を検出し、該変動の大きな色相のうち上位所定数を勾配変動点として設定する勾配変動点設定工程と、
前記勾配変動点の最大彩度における明度間を所定の補間式で平滑化する明度平滑化工程と、
を更に備え、
前記色域変換工程においては、前記第１の画像機器の色域形状を前記第２の画像機器の色域形状に各色相において近づけるにあたり、前記明度平滑化工程において平滑化した後の前記最大彩度における明度よりも高明度側においては彩度と明度の双方を圧縮して前記第２の画像機器の色域内に線型写像させる色域変換処理を行い、前記明度平滑化工程において平滑化した後の前記最大彩度における明度よりも低明度側においては明度を略一定に保ち彩度を圧縮して前記第２の画像機器の色域内に線型写像させる色域変換処理を行って前記第１の画像機器の色域と前記第２の画像機器の色域との対応関係を規定する請求項１〜請求項４の何れか一項に記載の画像処理方法。
【請求項６】
前記第２の機器依存色がプリンタの機器依存色であり、
前記請求項１〜請求項５の何れか１項に記載の画像処理方法によって作成された色変換テーブルを備え、該色変換テーブルに基づいて色変換を行うことを特徴とするプリンタ。
【請求項７】
第１の機器依存色の第１色空間と第２の機器依存色の第２色空間との対応関係を設定し、該対応関係に基づいて、前記第１色空間における第１の色を前記第２色空間における第２の色に変換する画像処理装置であって、
前記第１の色を該第１の色を測色した第１の測色値に変換する場合に参照する第１色変換テーブルと、前記第２の色を該第２の色を測色した第２の測色値に変換する場合に参照する第２色変換テーブルとを設定する第１ＬＵＴ設定手段と、
所定の機器独立色空間において、
前記第１と前記第２の測色値に基づいて第１色域と第２色域をそれぞれ設定し、該第１色域と該第２色域とを所定の対応規則で対応付ける色域変換手段と、
前記第１色変換テーブルと前記色域変換手段における対応規則と前記第２色変換テーブルとに基づいて、前記第１の色を前記第２の色に変換する場合に参照する色変換テーブルを設定する第２ＬＵＴ設定手段と、
前記第２色変換テーブルに基づいて前記第２の機器依存色の色域を設定する色域設定手段と、
前記第２ＬＵＴ設定手段において設定した色変換テーブルに基づいて変換された色が、前記色域設定手段において設定された色域内に無い場合、該色を該色域内に対応付けるマッピング手段と、
を具備し、
前記色域変換手段と前記色域設定手段における色域設定手法が一致していることを特徴とする画像処理装置。
【請求項８】
第１の機器依存色の第１色空間と第２の機器依存色の第２色空間との対応関係を設定し、該対応関係に基づいて、前記第１色空間における第１の色を前記第２色空間における第２の色に変換する機能をコンピュータに実現させるための画像処理プログラムであって、
前記第１の色を該第１の色を測色した第１の測色値に変換する場合に参照する第１色変換テーブルと、前記第２の色を該第２の色を測色した第２の測色値に変換する場合に参照する第２色変換テーブルとを設定する第１ＬＵＴ設定機能と、
所定の機器独立色空間において、
前記第１と前記第２の測色値に基づいて第１色域と第２色域をそれぞれ設定し、該第１色域と該第２色域とを所定の対応規則で対応付ける色域変換機能と、
前記第１色変換テーブルと前記色域変換機能における対応規則と前記第２色変換テーブルとに基づいて、前記第１の色を前記第２の色に変換する場合に参照する色変換テーブルを設定する第２ＬＵＴ設定機能と、
前記第２色変換テーブルに基づいて前記第２の機器依存色の色域を設定する色域設定機能と、
前記第２ＬＵＴ設定機能において設定した色変換テーブルに基づいて変換された色が、前記色域設定機能において設定された色域内に無い場合、該色を該色域内に対応付けるマッピング機能と、
をコンピュータに実現させ、
前記色域変換機能と前記色域設定機能における色域設定手法が一致していることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、プリンタおよび画像処理プログラムに関し、特に、第１の機器依存色の第１色空間と第２の機器依存色の第２色空間との対応関係を設定し、該対応関係に基づいて、前記第１色空間における第１の色を前記第２色空間における第２の色に変換する画像処理方法、画像処理装置、プリンタおよび画像処理プログラムに関する。
【背景技術】
【０００２】
一般的に、デジタルスチルカメラ、スキャナ等の画像入力デバイス、プリンタのような出力デバイス、ディスプレイのような表示デバイス等の間では、色域（色再現域）が異なる。また、画像データであっても、色域の異なるものがある。色域が異なる場合、一方の色域で表現された画像データを他方の色域にて表示させる場合には、階調性や色再現性を保つためにカラーマッチング処理（色域変換処理）が行われる。
【特許文献１】特開２００７−１８９６３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
カラーマッチング処理は、一般に、各色域の代表的な格子点間を対応付ける色変換テーブル（ＬＵＴ）を利用して行われる。このようなＬＵＴは、例えば特許文献１に記載のように、入力デバイスのＩＣＣプロファイルと出力デバイスのＩＣＣプロファイルとを参照しつつ、両プロファイルを所定の接続空間にて対応付けることにより行われる。ただしこのような処理には時間がかかり、処理の高速化が望まれていた。
【０００４】
本発明は、前記課題に鑑みてなされたもので、色変換テーブルの作成を高速化することが可能な画像処理方法、画像処理装置、プリンタおよび画像処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００５】
前記課題を解決するために、本発明の画像処理方法では、第１の機器依存色の第１色空間と第２の機器依存色の第２色空間との対応関係を設定し、該対応関係に基づいて、前記第１色空間における第１の色を前記第２色空間における第２の色に変換する画像処理方法であって、第１ＬＵＴ設定工程と、色域変換工程と、第２ＬＵＴ設定工程と、色域設定工程と、マッピング工程と、を備える構成としてある。
該構成において、前記第１ＬＵＴ設定工程においては、前記第１の色を、該第１の色を測色した第１の測色値に変換する場合に参照する第１色変換テーブルと、前記第２の色を、該第２の色を測色した第２の測色値に変換する場合に参照する第２色変換テーブルとを設定する。前記色域変換工程においては、所定の機器独立色空間において、前記第１と前記第２の測色値に基づいて第１色域と第２色域をそれぞれ設定し、該第１色域と該第２色域とを所定の対応規則で対応付ける。前記第２ＬＵＴ設定工程においては、前記第１色変換テーブルと前記色域変換工程における対応規則と前記第２色変換テーブルとに基づいて、前記第１の色を前記第２の色に変換する場合に参照する色変換テーブルを設定する。前記色域設定工程は、前記第２色変換テーブルに基づいて前記第２の機器依存色の色域を設定する。前記マッピング工程においては、前記第２ＬＵＴ設定工程において設定した色変換テーブルに基づいて変換された色が、前記色域設定工程において設定された色域内に無い場合、該色を該色域内に対応付ける。以上の構成において、前記色域変換工程と前記色域設定工程における色域設定手法が一致している。
【０００６】
すなわち、前記構成においては、所定の機器独立色空間において第１の機器依存色を第２の機器依存色に対して所定の写像方法で写像し、この写像された色を第２の機器依存色の第２色空間内へ対応付けるにあたり、前記色域変換工程において前記第１色域や前記第２色域を設定する色域設定アルゴリズムと前記色域設定工程において前記第２の機器依存色の色域を設定する色域設定アルゴリズムとを一致させてあるため、上記第２ＬＵＴ設定工程で色変換されて作成される第２の画像機器の機器依存色は高確率で前記色再現域設定工程において設定された色域の範囲内にある。よって、前記マッピング工程におけるマッピングの発生頻度を大幅に減少でき、前記ＬＵＴ設定処理を高速化できる。
【０００７】
ここで、機器独立色空間としては種々の色空間を採用することが可能であり、ＬａｂやＪａｂ、ＸＹＺ等種々の絶対色空間を採用可能である。第１および第２の機器依存色（機器依存色を有する画像機器）も特に限定されず、画像データを使用して所定の画像を扱う機器の機器依存色であれば良く、例えば、ディスプレイ，プリンタ，スキャナ，デジタルカメラ等種々の画像機器の機器依存色を採用可能である。むろん、第１と第２の機器依存色を有する機器は別体でなくてもよく、例えば、ｆａｘ機は第１の画像機器としてのスキャナと第２の画像機器としてのプリンタとが一体になっていると言え、かかるｆａｘ機に本発明を適用することも可能である。
【０００８】
また、本発明の選択的な一側面として、前記第２ＬＵＴ設定工程において前記色域変換工程の対応規則に基づいて変換された測色値が前記第２色空間の何れのエリアに色変換されるかを、前記第１の色が前記第１色変換テーブルに基づいて色変換される順番に基づいて予測し、予測したエリアを中心に前記第１の色に対応する前記第２の色を探索する探索工程を更に備え、前記色域変換工程においては、各色点の色相を変化させることなく明度や彩度の大小関係を維持しつつ対応付けを行う構成としてもよい。すなわち、色域変換処理において、例えば線型的な色変換を行うアルゴリズムを採用することにより、明度や彩度の入れ替わりが発生しなくなり、色変換前に近い座標値を有する色点同士は、高確率で色変換後も近い座標値になる。よって、色変換処理の行われる順番を利用して、色変換後の座標値を予測可能となる。よって、前記第２ＬＵＴ設定工程において色変換テーブルを設定する処理のうち、変換された測色値を前記第２色変換テーブルに基づいて第２の画像機器の所定の機器依存色に変換する処理の高速化が見込める。
【０００９】
さらに、このような予測の選択的な一側面として、前記予測工程においては、前記予測工程においては、直前に色変換処理された前記第１の機器依存色の色変換先を記憶しておき、該記憶された色変換先を含むエリアを予測エリアとする構成してもよい。すなわち前記色変換処理を行う順番に基づく予測として、データ処理順の前後する機器依存色同士が色変換前の色空間において近い座標値を有する可能性が高く、色変換後の色空間においても近い座標値に変換されること可能性が高くなる。したがって、直前に色変換処理された機器依存色の変換先座標を含むエリアを中心に探索する事で、発見までに要する時間を短縮できる。
【００１０】
さらに、予測に基づく探索の選択的な一側面として、前記探索工程は、前記予測エリアにて前記第１の機器依存色の変換先となる前記第２の機器依存色を発見できない場合は、前記第２の機器依存色を構成する要素色のうち下位ビットに記憶される要素色のデータが増加する方向に探索対象エリアを拡大する構成としてもよい。すなわち前記色変換処理を行う順番に基づく予測として、色変換処理の対象となる第１の機器依存色の色は、例えばＲ（レッド）Ｇ（グリーン）Ｂ（ブルー）各色等の機器依存色を表現する要素色のうち、記憶媒体に記憶される際に最下位ビットに配置されるＢ（ブルー）を変更しつつデータ入力される事が予測される。すなわち記憶媒体に記憶される際に、下位ビットに記憶される要素色の変動方向に座標値が変動する可能性が高く、この方向のエリアを優先的に探索すると発見までに要する時間を短縮できる。
【００１１】
また、本発明の選択的な一側面として、各色相における前記第２の画像機器の色域の最大彩度における明度の色相変化に対する変化度合が大きく変動する色相を検出し、該変動の大きな色相のうち上位所定数を勾配変動点として設定する勾配変動点設定工程と、前記勾配変動点の最大彩度における明度間を所定の補間式で平滑化する明度平滑化工程と、を更に備え、前記色域変換工程においては、前記第１の画像機器の色域形状を前記第２の画像機器の色域形状に各色相において近づけるにあたり、前記明度平滑化工程において平滑化した後の前記最大彩度における明度よりも高明度側においては彩度と明度の双方を圧縮して前記第２の画像機器の色域内に線型写像させる色域変換処理を行い、前記明度平滑化工程において平滑化した後の前記最大彩度における明度よりも低明度側においては明度を略一定に保ち彩度を圧縮して前記第２の画像機器の色域内に線型写像させる色域変換処理を行って前記第１の画像機器の色域と前記第２の画像機器の色域との対応関係を規定する構成としてもよい。すなわち隣接する色相との間で尖頭値が連続的に設定されることになる。従って、前記色域変換処理のように尖頭値を境に圧縮アルゴリズムを変更する場合であっても、色相間でトーンジャンプが発生することがない。
【００１２】
前述した画像処理方法は、他の方法の一環として実施されたり各工程に対応する手段を備えた画像処理装置や該画像処理方法で作成された色変換テーブルを備えた画像処理装置として実現されたりする等の各種の態様を含む。また、本発明は前記画像処理装置を備える画像処理システム、前述した方法の構成に対応した機能をコンピュータに実現させるプログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体、等としても実現可能である。これら画像処理システム、画像処理装置、画像処理プログラム、該プログラムを記録した媒体、の発明も、前述した作用、効果を奏する。むろん、請求項２〜５に記載した構成も、前記システムや前記装置や前記プログラムや前記記録媒体に適用可能である。
【発明を実施するための最良の形態】
【００１３】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）画像処理装置の構成：
（２）ＬＵＴ作成処理：
（３）印刷処理：
（４−１）色域変換処理：
（４−２）色域変換処理の変形例：
（５）色相間の尖頭値変動の平滑化処理：
（６）逆方向変換処理の高速化：
（７）色域の内外判定処理：
（８）まとめ：
【００１４】
（１）画像処理装置の構成： 
図１は本発明の実施形態にかかる画像処理装置を実現するコンピュータのハードウェア構成を示すブロック図である。同図において、コンピュータ１００は、ＣＰＵ１０ａとＲＡＭ１０ｂとを備える制御部１０と、ＲＯＭ１１と、大容量記録装置としてのハードディスク（ＨＤＤ）１５と、外部入出力機器を接続するＵＳＢＩ／Ｆ１３と、ディスプレイ２０が接続されるビデオＩ／Ｆ１４と、操作入力用機器を接続する操作入力用機器Ｉ／Ｆ１７とを備えており、バス１６によって各構成要素が相互通信可能に接続されている。なお、ＵＳＢＩ／Ｆ１３には外部のプリンタ４０が接続され、操作入力用機器Ｉ／Ｆ１７にはキーボード３０ａとマウス３０ｂが接続されている。
【００１５】
ＣＰＵ１０ａは、ＲＯＭ１１およびＨＤＤ１５からプログラムデータを読み出してＲＡＭ１０ｂ上に展開することにより、ＢＩＯＳやＢＩＯＳ上で実行されるオペレーティングシステム（ＯＳ）、さらにはＯＳ上で実行されるアプリケーションＰを実行する。本実施形態においては、ＯＳやアプリケーションＰはプログラムデータとして予めＨＤＤ１５に記憶されているが、記録媒体はこれに限定されるものではない。例えば、フレキシブルディスクやＣＤ−ＲＯＭであってもよい。これらの記録媒体に記録されたプログラムはフレキシブルディスクドライブやＣＤ−ＲＯＭドライブを介してコンピュータ１００に読み込まれ、ＨＤＤ１５にインストールされたり直接実行されたりする。そして、ＲＡＭ１０ｂ上に読み込まれてコンピュータを制御することになる。また、記録媒体はこれに限らず、光磁気ディスク、半導体デバイスとしてフラッシュカードなどの不揮発性メモリなどを利用することも可能である。また、モデムや通信回線を介して外部のファイルサーバにアクセスしてダウンロードする場合には通信回線が伝送媒体となって本発明が利用される。
【００１６】
図２はコンピュータ１００のソフトウェア構成を示すブロック図である。同図において、コンピュータ１００では、プリンタドライバ（ＰＲＴＤＲＶ）２１と操作用入力機器ドライバ（ＤＲＶ）２２とディスプレイドライバ（ＤＲＶ）２３と色域変換モジュール２４とがＯＳに組み込まれている。ディスプレイＤＲＶ２３はディスプレイ２０における画像データ等の表示を制御するドライバであり、操作用入力機器ＤＲＶ２２は前記キーボードやマウスからのコード信号を受信して所定の入力操作を受け付けるドライバである。色域変換モジュール２４は、異なるデバイスの色域（色再現域）の対応関係を作成するとともに、該対応関係に基づいて、一のデバイスの色域の色を、他のデバイスの色域の色に変換する。なお、この変換を行う際に色や階調の再現性も調整出来るようになっている（以下、色域の調整と称する。）。またＯＳ上ではＡＰＬ２５が実行可能になっている。
【００１７】
ＡＰＬ２５は、表示されたＨＤＤ１５に記録された画像データ１５ａをＲＡＭ１２に読み出してレタッチ等の処理を実行可能であり、ディスプレイＤＲＶ２３はＲＡＭ１２に読み出された画像データ１５ａに基づいてディスプレイ２０上に画像を表示させる。利用者が操作用入力機器３０を操作するとその操作内容が操作用入力機器ＤＲＶ２２を介して取得されて内容が解釈されるようになっており、ＡＰＬ２５はその操作内容に応じて印刷実行やレタッチなど種々の処理を行う。
【００１８】
また、利用者は当該ＡＰＬ２５の実行下において、操作用入力機器３０を操作して設定処理を行うことにより、所定のデバイスにおいて形成される画像を再現して表示させる事が可能である。この再現は、本実施形態においては前記色域変換モジュール２４を利用して行われる。例えば、ｓＲＧＢ色空間で作成された画像データの表示を行うにあたり、ディスプレイの色域がｓＲＧＢ色空間よりも狭い場合に、ディスプレイの色域からはみ出す部位がディスプレイ２０の色域内にある所定の色で表現されるように色変換を行うように調整できる。すると画像データにおいて表現されている階調性や色彩がディスプレイ表示において維持されることになる。また、この画像データがプリンタ４０の色域にて表現可能な所定の色で表現されるように色変換を行うと、所定のプリンタにおける印刷結果をディスプレイ上に再現できる。無論、印刷結果の再現においても、画像データの階調性や色彩が維持されるように色変換した上で印刷結果を再現してもよい。さらに、このように調整して表示された印刷結果のカラー画像をプリンタ４０にて印刷させることも出来る。以下、色域変換モジュールにて実行される色域の調整の一例として、プリンタ４０の印刷結果に調整を施してディスプレイ表示させる例について説明する。
【００１９】
図３は、色域調整の設定処理を行う画面の一例を示している。該設定処理においては、入力側、出力側のデバイス選択、デバイスに対応するプロファイル（Device Model Profile: ＤＭＰ）の選択、異なる色域の調整や変換の方式（Rendering Intent）を指定するプロファイル（Gamut Map Model Profile: ＧＭＭＰ）の選択、を行う。設定処理が完了して色域の変換が指示されると色域変換モジュール２４が起動され、設定されたＤＭＰやＧＭＭＰを参照しつつ、入力側デバイスの色域を出力側デバイスの色域に変換するためのＬＵＴ１５ｂを作成し、ＨＤＤ１５に記憶する。このＬＵＴ１５ｂの作成については後述する。次に、利用者がマウスを操作してプリンタ４０の印刷結果の表示を指示すると色域の調整指示がなされ、画像データ１５ａが色域変換モジュール２４に受け渡される。画像データ１５ａが色域変換モジュール２４に受け渡されると図３に示す色変換処理が開始される。
【００２０】
なお、本実施形態では、色域変換モジュール２４はＬＵＴ１５ｂを作成した上で、該ＬＵＴ１５ｂを参照しつつ色域変換処理を実行するものとして説明を行うが、無論、動的にＬＵＴを作成する構成としても構わない。例えば、画像データ１５ａを構成する色座標の入力された順にＬＵＴを作成しつつ、前記色調整モジュール２４ｂの色調整が実行されてもよい。また、このようにして作成されたＬＵＴ１５ｂをＨＤＤ１５に記憶しておき、同一の色域間の色域変換処理が指示された場合は作成済みのＬＵＴを参照して色変換処理を行う等、種々の構成が可能である。
【００２１】
ここで、図４を参照しつつ、色域変換モジュール２４の構成を説明する。本実施形態の色域変換モジュール２４は以下の各モジュールＭ１〜Ｍ４を備えている。ＸＹＺ値算出モジュールＭ１は入力側デバイスのＤＭＰを参照しつつＲＧＢ値で表現された入力側デバイスの色域をＣＩＥ三刺激値ＸＹＺ値に変換する。ＸＹＺ値算出モジュールＭ２は出力側デバイスのＤＭＰを参照しつつＲＧＢ値で表現された出力側デバイスの色域をＣＩＥ三刺激値ＸＹＺ値に変換する。ＣＡ変換モジュールＭ３はＸＹＺ値算出モジュールＭ１，Ｍ２において算出されたＸＹＺ値にカラーアピアランス（ＣＡ）変換式の順方向変換を行ってＪ＊ａ＊ｂ＊値を算出し、Ｊ＊ａ＊ｂ＊色空間における入力デバイスの色域を確定する。色域マッピングモジュールＭ５はＧＭＭＰを参照しつつＣＡ変換モジュールＭ３によって確定された入力側デバイスの色域を、同じくＣＡ変換モジュールＭ３によって算出された出力側デバイスの色域へとマッピングする。ＣＡ変換モジュールＭ４は色域マッピングモジュールＭ５によって算出されたＪ＊ａ＊ｂ＊値にカラーアピアランス（ＣＡ）変換式の逆方向変換を行ってＸＹＺ値を算出し、ＸＹＺ色空間における出力デバイスの色域を確定する。なお、各ＣＡ変換モジュールＭ３，Ｍ４の行うカラーアピアランス変換においては、入力もしくは出力デバイスに対して指定されたＤＭＰに指定された観察条件（D55、D65等の光源情報）を考慮した変換が実行される。
【００２２】
以上の各モジュールＭ１〜Ｍ４で利用されるプロファイルＤＭＰ１〜ｎ、ＧＭＭＰ１〜ｎは、ＨＤＤ１５に記憶されている。各ＤＭＰにはｓＲＧＢ色空間におけるデバイスの色再現域を測色値に変換するための対応関係および上述の観察条件が記述されており、ＧＭＭＰには色域間を対応付ける変換式や条件式が記述されている。なお本実施形態においては、ＤＭＰに記述されているデバイスの色再現域をｓＲＧＢ色空間における色再現範囲で記述してあるが、無論他の色空間で表現されていても構わない
【００２３】
ＤＭＰを利用して行われる色域の変換には、順方向変換（ＩＣＣプロファイルのAToB1Tagの処理に相当）と逆方向変換（ＩＣＣプロファイルのBToA1Tagnの処理に相当）がある。順方向変換はデバイス色からＸＹＺ値への変換を行う順方向多次元ＬＵＴもしくは変換式で実現される。逆方向変換は、順方向変換の結果を利用して順方向多次元ＬＵＴの逆引きや回帰分析法による多項式パラメータの最適化等を行い、これにより作成されるＸＹＺ値からデバイス色への変換を行う多次元ＬＵＴもしくは変換式で実現される。
【００２４】
カラーアピアランス変換では、ＸＹＺ値に対してCIECAM０２等の色知覚モデルの順方向変換を適用してカラーアピアランス空間の色値を求める。このカラーアピアランス空間の色値(例えば、Ｊ＊ａ＊ｂ＊値とする)は、概ねCIE三刺激値ＸＹＺから計算することができるようになっている。このＪ＊ａ＊ｂ＊を利用することにより、より人間の視覚特性に適合した色域マッピングを行うことができる。カラーアピアランス空間の色値Ｊ＊ａ＊ｂ＊を得るための変換は、色順応変換、錐体応答変換、反対色応答変換により行われ、人間の視覚特性に近付くように変換される。色順応変換においては観察環境下の光源に対応した変換が行われる。なお、色知覚モデルとしてはCIECAM02、CIECAM97ｓ等に限定される必要は無く、人間の色知覚パラメータJ(lightness), C(Chroma), Q(brightness), M(colorfulness), h(huequadrature又はhueangle), H(huequadrature又はhueangle)を予測できる色知覚モデルであれば、他の知覚モデルであっても構わない。
【００２５】
（２）ＬＵＴ作成処理：
図５は、ＬＵＴ作成作業のフローチャートである。この作業においては多くの演算処理を必要とするので、コンピュータを使用して演算を実行するのが好ましい。
まずステップＳ２００にて、ディスプレイ２０に対して選択されたＤＭＰ１を取得してディスプレイ２０の色域を設定する。たとえばディスプレイ２０がＲＧＢ各色２５６階調で表現されているのであれば、ＸＹＺ値算出モジュールＭ１が、各色２５６階調で全ての組合せを考慮しつつ公知の変換式でＸＹＺ値に変換すればＸＹＺ色空間におけるディスプレイ２０の色域が確定する。このように変換されたＸＹＺ値に対し、さらにＣＡ変換モジュールＭ３が、ＤＭＰ１に記載の観察条件を考慮したカラーアピアランス変換を行ってＪ＊ａ＊ｂ＊値を算出する。以上、ディスプレイ２０のＲＧＢ値とＪ＊ａ＊ｂ＊値との対応関係を規定したＬＵＴが第１色変換テーブルとなる。そして、Ｊ＊ａ＊ｂ＊値を受け取った色域マッピングモジュールＭ５が、得られたＪ＊ａ＊ｂ＊値を包含する領域（例えば三次元凸包やポリゴン等）の作成を行って色域を設定する。色域は、得られたJab値を包含する三次元立体である。
【００２６】
続いてステップＳ２１０では、プリンタ４０に対して選択されたＤＭＰ２を取得して、プリンタ４０の色域を設定する。プリンタ４０のＣＭＹＫ階調データが各色２５６階調で表現されているのであれば、これらの各階調で表現可能な色域がｓＲＧＢ色空間のどの範囲に該当するかがＤＭＰ２に記載されており、ＸＹＺ値算出モジュールＭ２は、この範囲においてＲＧＢ各色２５６階調の組み合わせを考慮しつつ公知の変換式でＸＹＺ値に変換すればＸＹＺ色空間におけるプリンタ４０の色域が確定する。さらにＣＡ変換モジュールＭ３が、ＤＭＰ２に記載された観察条件を考慮したカラーアピアランス変換をＸＹＺ値に対して行ってＪ＊ａ＊ｂ＊値を算出する。以上、プリンタ４０のＲＧＢ値とＪ＊ａ＊ｂ＊値との対応関係を規定したＬＵＴが第２色変換テーブルとなる。そしてＪ＊ａ＊ｂ＊値を受け取った色域マッピングモジュールＭ５が、得られたＪ＊ａ＊ｂ＊値を包含する領域（例えば三次元凸包やポリゴン等）の作成を行って色域を設定する。
【００２７】
以上のように、ディスプレイ２０およびプリンタ４０の色域を確定した後、ステップＳ２２０にて色域変換処理を行ってＪ＊ａ＊ｂ＊色空間においてディスプレイ色域をプリンタ色域内にマッピングする。本願における色域変換処理においては、高明度においては彩度と明度の双方を変化させ、低明度においては明度を維持しつつ彩度を変化させるマッピングを行っている。従って、ディスプレイの色をプリンタの色域にて再現するにあたり、高明度においては高彩度の階調性が向上して色再現が良好になり、低明度においては暗部の階調性が向上する。この色域変換処理については後述する。
【００２８】
以上の変換によりディスプレイ色域とプリンタ色域との対応関係が規定されたことになるので、ステップＳ２３０においては色変換時の補間演算に必要な代表点を抽出してＬＵＴ１５ｂを作成する。すなわち、前記第１色変換テーブルに基づいてディスプレイ２０のＲＧＢ値をＸＹＺ値に変換し、該ＸＹＺ値に色域変換処理を行ってプリンタ４０の色再現域内に変換し、変換されたＸＹＺ値を前記第２色変換テーブルに基づく逆引きによりプリンタ４０のＲＧＢ値に変換して、ｓＲＧＢ色空間においてディスプレイ２０のＲＧＢ値をプリンタ４０のＲＧＢ値に対応付けるＬＵＴ１５ｂを作成する。なお、色変換処理後のＸＹＺ値は、第２色変換テーブルに記載されている点とは限らないため、近い値のＸＹＺ値を第２色変換テーブルから探索し、色変換処理後のＸＹＺ値を囲む数点のＸＹＺ値を特定して、特定されたＸＹＺ値に対応するＲＧＢ値から補間演算することにより、色変換処理後のＸＹＺ値に対応するＲＧＢ値を決定することになる。
【００２９】
ただし、ＲＧＢ値を決定するまでに変換処理や演算が行われるため、決定されたＲＧＢ値がｓＲＧＢ色空間におけるプリンタ色域から外れてしまう可能性もある。そこでステップＳ２４０においては、ディスプレイ２０色域を包含する領域（例えば三次元凸包やポリゴン等）の作成を行ってｓＲＧＢ色空間における色域を確定し、後述の色域内外判定処理を行うことになる。この結果生成されたｓＲＧＢ色空間におけるプリンタの色域は、ｓＲＧＢ色空間におけるディスプレイの色域と一対一の対応関係にある。以上のようにして作成・設定されたＬＵＴ１５ｂを参照して画像データ１５aを変換することにより、プリンタ４０の色再現範囲に色変換された画像をディスプレイ２０上に再現できる。
【００３０】
なお、前述のＤＭＰやＧＭＭＰは必要に応じて追加したり変更したりすることが可能であり、ディスプレイ２０やプリンタ４０の機種変更、プリンタ４０で使用するインク種類やメディア種類の変更などに容易に対応することが出来る。
【００３１】
（３）印刷処理：
ここで、ＬＵＴ１５ｂを利用した印刷処理について以下に説明する。ＰＲＴＤＲＶ２１が印刷実行指示を受け取ると、画像データ１５ａが画像データ取得モジュール２１ａに取得され、画像データ取得モジュール２１ａは前記色変換モジュール２１ｂを起動する。色変換モジュール２１ｂは、ＲＧＢ階調値をＣＭＹＫ階調値に変換するモジュールであり、画像データ１５ａの各ドットデータをＣＭＹＫのドットデータに変換する。このとき色変換モジュール２１ｂは、ＨＤＤ１５に保存されたＬＵＴ１５ｂとＬＵＴ１５ｃを参照して補間演算を行うようになっている。ＬＵＴ１５ｃはｓＲＧＢ値をＣＭＹＫ値に変換するＬＵＴである。なお、本実施形態においては、色域変換モジュール２４が予めＬＵＴ１５ｂを作成しており、この作成済みのＬＵＴ１５ｂを色変換モジュール２１ｂが取得して利用する構成として記載してあるが、無論、色変換モジュール２１ｂの求めに応じて色域変換モジュール２４がＬＵＴ１５ｂを作成して色変換モジュール２１ｂに供給する構成としても構わない。
【００３２】
色変換モジュール２１ｂが色変換を行ってＣＭＹＫの階調データを生成すると、当該ＣＭＹＫの階調データは前記ハーフトーン処理モジュール２１ｃに受け渡される。ハーフトーン処理モジュール２１ｃは、各ドットのＣＭＹＫ階調値を変換してインク滴の記録密度で表現するためのハーフトーン処理を行うモジュールであり、変換後の記録密度でインクを付着させるためのヘッド駆動データを生成する。印刷データ生成モジュール２１ｄはかかるヘッド駆動データを受け取って、プリンタ４０で使用される順番に並べ替える。すなわち、プリンタ４０においてはインク吐出デバイスとして図示しない吐出ノズルアレイが搭載されており、当該ノズルアレイでは副走査方向に複数の吐出ノズルが並設されるため、副走査方向に数ドット分間離れたデータが同時に使用される。
【００３３】
そこで、主走査方向に並ぶデータのうち同時に使用されるべきものがプリンタ４０にて同時にバッファリングされるように順番に並べ替えるラスタライズを行う。このラスタライズの後、画像の解像度などの所定の情報を付加して印刷データを生成し、前記ＵＳＢＩ／Ｆ１３を介してプリンタ４０に出力する。プリンタ４０においては当該印刷データに基づいて前記ディスプレイ２０に表示された画像を印刷する。
【００３４】
（４−１）色域変換処理
次に、前記ステップＳ２２０における色域変換処理を詳細に説明する。図６はディスプレイの色域とプリンタの色域とをＪ＊ａ＊ｂ＊空間における所定の色相角θにて切断した状態を示す模式図である。なお同図において横軸は彩度Ｃ（＝（ａ２＋ｂ２）１／２）、縦軸は明度Ｊである。本実施形態においては、色域変換処理にあたりディスプレイ色域のうちプリンタ色域の外部および外殻付近の領域を、プリンタ色域の外殻付近にマッピングする。なお、ディスプレイ色域のうちプリンタ色域の外殻付近を除いた内部の領域については、同一座標値にマッピングすることになる。
【００３５】
本実施形態における色域変換処理では、各色相角で切断したプリンタ色域において最大彩度Ｃｍａｘを示す座標（Ｃmax，Ｊ０）の明度Ｊ０を境に、高明度側と低明度側とで異なるマッピングアルゴリズムを採用する。以下、（Ｃmax，Ｊ０）を尖頭（cusp）と呼び、尖頭の明度を尖頭値と呼ぶことにする。図７は本実施形態における圧縮アルゴリズムを説明する図である。本実施形態の圧縮アルゴリズムは、尖頭値よりも高明度側においては、例えばＳＧＣＫ（Sigmoidal Gaussian Cusp Knee）のように明度維持を重視しつつも彩度と明度の双方を圧縮するアルゴリズム（第１圧縮アルゴリズム）を採用するとともに、尖頭値よりも低明度側においては、例えばＢａｓｉｃＰｈｏｔｏ（（登録商標）Ｍｉｃｒｏｓｏｆｔ）のように明度を維持しつつ彩度を圧縮するアルゴリズム（第２圧縮アルゴリズム）を採用してある。以下の説明においてはＳＧＣＫとＢａｓｉｃＰｈｏｔｏを例にとって説明を行う。
【００３６】
各圧縮アルゴリズムにおいては、まず、ディスプレイ色域がプリンタ色域の内部に収まっているか否かの内外判定が行われる。ＳＧＣＫの内外判定では、（０，Ｊ０）と判定対象の色点（Ｃ，Ｊ）とを結ぶ直線とディスプレイ色域の外殻との交点（ＣＩ，ＪＩ）が、プリンタ色域内であるか否かの判定を行う。一方、ＢａｓｉｃＰｈｏｔｏの内外判定では、判定対象の色点（Ｃ’，Ｊ’）を含む直線Ｊ＝Ｊ’とディスプレイ色域の外殻との交点（ＣＩ’，Ｊ’）が、プリンタ色域内であるか否かの判定を行う。ここで、ＳＧＣＫにおいて交点（ＣＩ，ＪＩ）を内外判定の判定対象とし、ＢａｓｉｃＰｈｏｔｏにおいて交点（ＣＩ’，Ｊ’）を内外判定の判定対象としている理由は、ＳＧＣＫの圧縮方向が（０，Ｊ０）方向でありＢａｓｉｃＰｈｏｔｏの圧縮方向がＪ＝Ｊ’方向だからである。なお、他の圧縮アルゴリズムであれば判定対象色点から圧縮方向に延びる直線とディスプレイ色域外殻との交点の内外判定を行うことになる。この内外判定において交点がプリンタ色域内と判定された色点については、座標値を変更することなくマッピングされる。
【００３７】
一方、内外判定において交点（ＣＩ，ＪＩ）や交点（ＣＩ’，Ｊ’）がプリンタ色域外と判定された色点については、圧縮対象の色点であるか否かを判定するための圧縮対象判定が行われる。圧縮対象判定は、処理対象の色点がプリンタ色域における所定の非圧縮領域Ｐ１の内部であるか否かを判定することによって行われる。本実施形態における非圧縮領域Ｐ１は、プリンタ色域を彩度方向に９０％に圧縮した領域であり、該非圧縮領域Ｐ１内の彩度はプリンタ色域外殻における彩度の９０％以下である。この非圧縮領域Ｐ１に位置するディスプレイ色域は、圧縮されずにプリンタ色域の同一の座標値にマッピングされる。これに対し、非圧縮領域Ｐ１の外部にはみ出しているディスプレイ色域は、線型圧縮されて圧縮領域Ｐ２に対応付けられる。圧縮領域Ｐ２は、プリンタ色域の外殻付近に設定される領域であり、本実施形態においては、非圧縮領域Ｐ１を除いた残りのプリンタ色域が該当する。
【００３８】
なお、本実施形態では非圧縮領域Ｐ１をプリンタ色域の９０％として記載してあるが、無論このパーセンテージに限るものではなく、０より大きく１００未満の任意のパーセンテージを適宜採用可能である。また、必ずしも全明度域に亘って同一のパーセンテージで規定する必要もなく、非圧縮領域Ｐ１としては、プリンタ色域の外殻を含みつつプリンタ色域内部に広がる領域であれば、各明度における非圧縮領域Ｐ１のサイズを変えて様々な範囲を設定可能である。
【００３９】
圧縮対象判定が終了すると、第１圧縮アルゴリズムにおいては、圧縮対象と判定された色点に対し、図７に示すような線型的なマッピングが行われる。図７は第１圧縮アルゴリズムを説明する図である。同図に示すマッピングは、例えば下記（１）式により表すことが出来る。
【数１】
2009219059.tif 000003
ここで、（Ｃ，Ｊ）は圧縮前の色点の座標であり、（Ｃｎｅｗ，Ｊｎｅｗ）は圧縮後の色点の座標である。また、（０，Ｊ０）と色点（Ｃ，Ｊ）とを結ぶ直線上において、（０，Ｊ０）から色点までの距離をＤ１、（０，Ｊ０）から非圧縮領域Ｐ１の外殻までの距離をＤ２、（０，Ｊ０）からディスプレイ色域の外殻までの距離をＤ３、（０，Ｊ０）からプリンタ色域の外殻までの距離をＤ４としてある。
【００４０】
すなわち、前記式（１）では、非圧縮領域Ｐ１の外殻から色点までの距離（Ｃ１−Ｄ２）に対し、非圧縮領域Ｐ１の外殻からディスプレイ色域の外殻までの距離（Ｄ３−Ｄ２）と非圧縮領域Ｐ１の外殻からプリンタ色域の外殻までの距離（Ｄ４−Ｄ２）の比を乗ずることにより、非圧縮領域Ｐ１の外殻とディスプレイ色域の外殻との間における色点の位置関係を、非圧縮領域Ｐ１の外殻とプリンタ色域の外殻との間に規格化して再現してある。以上の圧縮により、プリンタ色域外の色点のうち尖頭値よりも高明度の色点は、明度と彩度とを圧縮されてプリンタ色域内部の圧縮領域Ｐ２にマッピングされることになる。なお、式（１）の圧縮アルゴリズムは一例であり、線形的なマッピングに限らず非線形的なアルゴリズムでマッピングしても無論構わない。
【００４１】
一方、第２圧縮アルゴリズムにおいては、圧縮対象と判定された色点に対し、図８に示すようにな線形的なマッピングが行われる。図８は第２圧縮アルゴリズムを説明する図である。同図に示すマッピングは、例えば下記（２）式により表すことができる。
【数２】
2009219059.tif 000004
ここで、（Ｃ，Ｊ）は圧縮前の色点の座標、（Ｃｎｅｗ，Ｊｎｅｗ）は圧縮後の色点の座標である。また、明度Ｊにおける非圧縮領域Ｐ１の外殻の彩度をＣ１、明度Ｊにおけるプリンタ色域の外殻の彩度をＣ２、明度Ｊにおけるディスプレイ色域の外殻の彩度をＣ３としてある。前記式（２）では、非圧縮領域Ｐ１の外殻から色点までの距離（Ｃ−Ｃ１）に対し、非圧縮領域Ｐ１の外殻からディスプレイ色域の外殻までの距離（Ｃ３−Ｃ１）と非圧縮領域Ｐ１の外殻からプリンタ色域の外殻までの距離（Ｃ２−Ｃ１）の比を乗ずることにより、非圧縮領域Ｐ１の外殻とディスプレイ色域の外殻との間における色点の位置関係を、非圧縮領域Ｐ１の外殻とプリンタ色域の外殻との間に規格化して再現してある。以上の圧縮により、プリンタ色域外の色点のうち尖頭値よりも低明度の色点は、明度を維持しつつ彩度を圧縮されてプリンタ色域内の圧縮領域Ｐ２にマッピングされることになる。なお、式（２）の圧縮アルゴリズムは一例であり、線形的なマッピングに限らず非線形的なアルゴリズムでマッピングしても無論構わない。
【００４２】
以上説明した第１圧縮アルゴリズムにおいては、尖頭値から離れるほど明度の圧縮度合が高まり、尖頭値に近づくほど明度の圧縮度合が低くなり、尖頭値Ｊ０においては明度の圧縮率が０となる。もちろん、第２圧縮アルゴリズムにおいては、明度の大小に関わらず明度が維持されている。すなわち、尖頭値においては、第１圧縮アルゴリズムの圧縮率と圧縮方向は、第２圧縮アルゴリズムの圧縮率と圧縮方向に一致することになる。従って、尖頭値を挟んで異なる圧縮アルゴリズムを採用しながらも、マッピング後の色点間で尖頭値における連続性が確保されるし、尖頭値付近における明度の逆転も防止されることになる。明度の逆転を防止することにより、彩度よりも明度に対して感度が高い人間の目に対し、自然な印象を与える印刷結果を実現する色域変換が実現可能となる。
【００４３】
図９は、以上説明した尖頭値を境に圧縮アルゴリズムを使い分けることによる作用効果を説明する図である。同図は緑色の階調性を示す図であり、円の左下から右上にかけて緑色の明度を連続的に変化させた画像データを各圧縮アルゴリズムでマッピングして印刷してある。図９（ａ）は全明度域に亘ってＢａｓｉｃＰｈｏｔｏでマッピングした場合の印刷結果、図９（ｂ）は全明度域に亘ってＳＧＣＫでマッピングした場合の印刷結果、図９（ｃ）は本願の圧縮アルゴリズムでマッピングした場合の印刷結果、をそれぞれ示している。ＢａｓｉｃＰｈｏｔｏでマッピングした図９（ａ）の印刷結果では右上の高階調が白っぽくなっており見栄えが悪くなっており、ＳＧＣＫでマッピングした図９（ｂ）の印刷結果では、暗部に明度が大きく変わる箇所があるために暗部の階調性が悪く、黒の三日月がくっきりと見えている。これに対し、本実施形態の色域変換処理を行ってマッピングした図９（ｃ）では高彩度において見栄え良く、暗部において階調性が維持されていることが分かる。
【００４４】
図１０は、前記式（１）（２）を使用して行う色域変換処理のフローチャートである。同図において、まず、ステップＳ３００で処理対象の色相角θを決定し、ステップＳ３０５で該色相角θにおける初期座標（Ｃ，Ｊ）を決定する。そしてステップＳ３１０にて色相角θにおけるプリンタ色域の尖頭値Ｊ０を取得し、ステップＳ３１５において、初期座標の色点に対しプリンタ色域の内外判定を行う。内外判定の結果、プリンタ色域の内部と判定されると、ステップＳ３２０にて（Ｃ，Ｊ）と同一の座標値を有するプリンタ色域の色点にマッピングする。一方、プリンタ色域の外部と判定されると、ステップＳ３１０で取得した尖頭値に基づいてステップＳ３２５にて何れの圧縮アルゴリズムを使用するかを決定する。そして決定された圧縮アルゴリズムに従ってステップＳ３３０で圧縮先の座標（Ｃｎｅｗ，Ｊｎｅｗ）を決定し、この座標にマッピングする。
【００４５】
このようにしてステップＳ３１５，Ｓ３３０にて座標（Ｃ，Ｊ）のマッピングが完了すると、ステップＳ３３５にて全座標に対する（Ｃｎｅｗ，Ｊｎｅｗ）の演算が終了したか否かを判断する。ここで、本色域変換処理はＬＵＴを作成するための一過程としての処理であることから、全座標について演算が終了したか否か判別すると言っても、当該ＬＵＴを作成するために必要十分な座標に対する演算が終了したか否を判別すれば十分であり、整数座標値のみに対して演算したり、Ｊ＊ａ＊ｂ＊空間で所定ピッチの格子点を考えてこの格子点についてのみ演算するようにすること等種々の態様を採用可能である。
【００４６】
ステップＳ３３５にて全座標について演算が終了したと判別されないときには、ステップＳ３４５にて次の演算候補座標（Ｃ，Ｌ）をセットし、ステップＳ３１５以降の処理を繰り返す。ステップＳ３３５にて全座標について演算が終了したと判別したときには、ステップＳ３４０にて全色相について色域変換処理が終了したか否かを判別し、全色相について色域変換処理が終了したと判別されるまでステップＳ３００以降の処理を繰り返す。
【００４７】
なお、本発明の色域変換処理は、前述のような静的にＬＵＴを作成する場合のみならず、入力されたｓＲＧＢ値に対するマッピング先を動的算出して生成する場合にも適用可能である。ＬＵＴ作成のように各色相角の色点を連続して処理する場合は、前述したフローチャートのようにステップＳ３２０の色域内外判定の前にステップＳ３１０の尖頭値の決定を行う方が処理効率がよいが、動的なマッピング処理において入力される色点の色相角がランダムに変化する場合は、ステップＳ３２０の色域内外判定の後にステップＳ３１０の尖頭値の決定を行う方が処理効率がよくなる。
【００４８】
ところで、前述した実施形態ではプリンタ色域の尖頭値Ｊ０を境界として、高明度側においては第１の圧縮アルゴリズムにて色域変換を実行し、低明度側においては第２の圧縮アルゴリズムで色域変換を実行しているが、尖頭値をよりも明度が高いか低いかで圧縮アルゴリズムを切換える以外にも、例えば、外殻形状の類似度合に応じて圧縮アルゴリズムを切換えて選択してもよい。例えば、上に凸の外殻形状を有する色域を下に凸の外殻形状を有する色域に対してマッピングすると、明度や彩度の変化が強調されて急峻になり、特に階調性に大きく影響する。このような事情に鑑みて、外殻形状の膨らみ方向が異なる場合は、階調性を維持する明度維持型の圧縮アルゴリズムを採用し、外殻形状の膨らみ方向が一致する場合は、明度と彩度とを圧縮する圧縮アルゴリズムを採用する。すると色域形状に合わせて階調性の維持が適切に行われることになる。
【００４９】
（４−２）色域変換処理の変形例： 
次に前述した色域変換処理の変形例について説明する。該変形例においてはプリンタ色域とディスプレイ色域との色域形状の相似度合に応じて、前述の実施形態のように尖頭値で圧縮アルゴリズムを切換えるか圧縮アルゴリズムの切換えを行わずに全明度域に亘って明度維持型の圧縮アルゴリズムを適用するかを選択する。相似度合の判断には、プリンタ色域の尖頭値Ｌcuspとディスプレイ色域の尖頭値Ｌcusp’の位置関係を利用する。すなわち、プリンタ色域とディスプレイ色域とで尖頭値が近い場合は色域形状が相似すると見做し、ディスプレイ色域においてプリンタ色域外の色点をプリンタ色域内にマッピングするにあたり、全明度域に渡って明度を略維持したマッピングを行うのである。このようにプリンタ色域の尖頭値とディスプレイ色域の尖頭値の関係に基づいて圧縮アルゴリズムの切り替えることによって、マッピング後の階調性がより適切に維持されることになる。
【００５０】
図１１はディスプレイの色域Ｊ＊ａ＊ｂ＊とプリンタの色域ＰとをＪ＊ａ＊ｂ＊空間におけるａｂ平面で切断した状態を示している。なお、（ａ）は緑の色相角にて切断した状態であり、（ｂ）はマゼンタの色相角にて切断した状態であり、（ｃ）は青の色相角にて切断した状態である。同図において横軸は彩度Ｃ、縦軸は明度Ｊである。プリンタ色域の各色相における尖頭値は、尖頭値の存在する明度が色相角毎に異なっており、緑においては高明度に存在し、マゼンタにおいては中明度に存在し、青においては低明度に存在する。従って、尖頭値Ｊ０と尖頭値Ｊ０’の値が近い色域間のマッピングであれば、全明度域に亘って明度維持型の圧縮アルゴリズムで色域変換処理を行っても階調性が十分に維持されるが、尖頭値Ｊ０と尖頭値Ｊ０’の値が離れている色域間のマッピングであれば、彩度の移動に加えて明度のシフトを行った方が色再現の観点において好ましい。
【００５１】
図１２は本変形例の色域変換処理における圧縮アルゴリズムの切り替え方を説明する図である。同図に示すように、本変形例の色域変換処理においては、まず各色域の尖頭値に基づいて圧縮アルゴリズムの切り替えの要否を以下の式（３）によって判定する。
【数３】
2009219059.tif 000005
ここでＪ０はプリンタ色域の尖頭値、Ｊ１はディスプレイ色域の尖頭値、Ｊｗはプリンタ色域（ディスプレイ色域）の白点、である。この式（３）によれば、白点と尖頭値Ｊ０の間隔の半分を閾値Ｊthとして、尖頭値間の差分Ｊsubと閾値Ｊthとの大小関係に基づいて圧縮アルゴリズムの切換えを行うか否かが判断される。すなわち尖頭値間の差分が前記閾値よりも大きい（Ｊsub＞Ｊth）場合は、プリンタ色域とディスプレイ色域の形状が非相似であると判断し、前述した実施形態と同様に尖頭値Ｊ０を境にして第１圧縮アルゴリズムと第２圧縮アルゴリズムとを切換えて色域変換処理を行う。一方、尖頭値間の差分が該閾値以下（Ｊsub≦Ｊth）場合は、プリンタ色域とディスプレイ色域の形状が相似していると判断し、例えば全明度域に亘って明度を維持しつつ彩度を圧縮する第２圧縮アルゴリズムで色域変換処理を実行する。
【００５２】
また、前述した実施形態における第１圧縮アルゴリズムの圧縮方向は、処理対象の色点（Ｃ，Ｊ）からプリンタ色域の尖頭値（０，Ｊ０p）に向かう方向であったが、本変形例においては、この方向に尖頭値間の差分Ｊthに応じた変更を加えてもよい。具体的には、下記式（４）のように、差分Ｊthに応じた角度を加味した圧縮方向とすることが考えられる。
【数４】
2009219059.tif 000006
ここで、ベクトルｎ１は色点（Ｃ，Ｌ）からプリンタ色域の尖頭値（０，Ｌ０）に向かうベクトルであり、ベクトルｎ２はディスプレイの尖頭値（０，Ｌ０）からプリンタ色域の尖頭値（０，Ｌ０’）に向かうベクトルであり、ｎcompは差分Ｌthに応じた角度を加味した圧縮方向を表すベクトルである。この式（４）により、ベクトルｎ１に対しベクトルｎ２に所定の係数αを乗じて加えたｎcomp方向が決定され、このｎcomp方向に圧縮することにより圧縮における明度圧縮度合に尖頭値間の差が反映されることになる。すなわち、尖頭値間の距離が拡がるほど明度の圧縮度合が増加し、尖頭値間の距離が縮まるほど明度の圧縮度合が低下するマッピングが行える。なお、本変形例においてもプリンタ色域の尖頭値Ｌ０において明度圧縮率が０になり、尖頭値Ｌ０における圧縮方向と圧縮率との連続性が保たれるのは前述した実施形態と同様である。
【００５３】
図１３は、前記式（３）に基づいてマッピングアルゴリズムの選択を行いつつ色域変換処理を行うフローチャートである。処理が開始されると、まず、ステップＳ４００で処理対象となる色点の存在する色相角θを決定し、ステップＳ４０５で該色相角θにおける初期座標（Ｃ，Ｊ）を決定する。そしてステップＳ４１０にて色相角θにおけるプリンタ色域の尖頭値Ｊ０を取得し、ステップＳ４１５において、初期座標の色点に対しプリンタ色域の内外判定を行う。内外判定の結果、プリンタ色域の内部と判定されると、ステップＳ４２０にて（Ｃ，Ｊ）と同一の座標値を有するプリンタ色域の色点にマッピングする。一方、プリンタ色域の外部と判定されると、ステップＳ４２５にて色相角θにおけるプリンタ色域の尖頭値Ｊ０およびディスプレイの尖頭値Ｊ０’を決定し、これら尖頭値間の差分Ｊsubと閾値Ｊthとを比較する。比較の結果が差分ＬsubがＬthよりも小さいときはステップＳ４３０にてアルゴリズムを切換えないと判断してステップＳ４３５に進んで圧縮アルゴリズムの切換えを行わずに明度を維持するアルゴリズムのみを使用してマッピングを行うことを決定する。一方、比較の結果が差分ＬsubがＬthよりも大きいと判断された場合は、ステップＳ４４０に進んで圧縮アルゴリズムを切換えつつマッピングを行うことを決定する。そして決定された方式にてマッピングを行う。そして決定された圧縮アルゴリズムに従ってステップＳ３４５で圧縮先の座標（Ｃｎｅｗ，Ｊｎｅｗ）を決定し、この座標にマッピングする。
【００５４】
このようにしてステップＳ４２０、Ｓ４４５にて座標（Ｃ，Ｊ）のマッピングが完了すると、ステップＳ４５０にて全座標に対する（Ｃｎｅｗ，Ｊｎｅｗ）の演算が終了したか否かを判断する。ステップＳ４５０にて全座標について演算が終了したと判別されないときには、ステップＳ４５５にて次の演算候補座標（Ｃ，Ｌ）をセットし、ステップＳ４１５以降の処理を繰り返す。ステップＳ４５０にて全座標について演算が終了したと判別したときには、ステップＳ４６０にて全色相について色域変換処理が終了したか否かを判別し、全色相について色域変換処理が終了したと判別されるまでステップＳ４００以降の処理を繰り返す。
【００５５】
（５）色相間の尖頭値変動の平滑化処理： 
以上の色域変換処理においては、プリンタ色域やディスプレイ色域の尖頭値を利用した処理を行っている。この尖頭値についてプリンタ色域の各色相における尖頭値をプロットしたグラフが図１４である。同図においては、色相角が約１１０°、１３０°、２６０°に小刻みに振幅の起こる箇所が観察される。小刻みな振幅が発生する箇所では、前述の色域変換処理を行った際に、その振幅の前後で明度の逆転が発生し、擬似輪郭が起きる可能性がある。このような擬似輪郭の発生を防止するために、色相間の階調を平滑化しておくことが好ましい。以下、擬似輪郭の発生防止のための色相間の尖頭値変動を平滑化する処理について説明を行う。
【００５６】
本実施形態の色相間の尖頭値変動の平滑化においては、最大彩度をとる色相の尖頭値を平滑化のための基準点として使用して平滑化を行う。一般にプライマリカラーは色表現能力が高いため最大彩度を取りやすい。そこでまずは平滑化の基準点としてプリンタ色域におけるプライマリカラー（本実施形態においては、加法混色と減法混色の一次色としてＲＧＢＣＭＹを想定してある。）の尖頭値を採用し、下記式（５）を用いて隣接プライマリカラーの尖頭値間を平滑化する。
【数５】
2009219059.tif 000007
ここで、Ｌ０（θ）は所定色相θ（θＢ?θ?θＭ）における尖頭値、Ｌ０Ｍはマゼンタの色相θＭにおける尖頭値、Ｌ０Ｂは青の色相θＢにおける尖頭値、Ｒａｔｅは隣接するプライマリカラーの尖頭値間を線型補間する係数、である。なお、前記式（５）には青〜マゼンタの色相角を平滑化する式を例示してあるが、他のプライマリカラー間の尖頭値についても同様の式で平滑化できる。図１５は前記図１４のグラフをプライマリカラーの尖頭値を利用して近似したグラフである。小刻みに振幅していた箇所が平滑化されたことが見て取れる。このように既定のプライマリカラーの尖頭値間を補間すると、尖頭値の算出処理や補間処理が非常に簡易になる。
【００５７】
ところで、例えばＪＣｈ色空間のように、プライマリカラーが最大彩度をとらない場合もある。このような場合は、まず、最大彩度となる基準点の検出を行う。すなわち、プライマリカラーに代えて、尖頭値の傾きが大きく変動する色相の尖頭値を基準点としてする。すなわち、色相の変化に対する尖頭値Ｊ０の変化度合いが大きく変動する色相角θ（以下、勾配変動点Ｉと称する。）を複数ポイント検出する。そして、各勾配変動点Ｉにおける尖頭値Ｌ０（Ｉ）の間を所定の補間式で補間することにより、色相の変化に対する尖頭値Ｌ０の変化を平滑化する。
【００５８】
勾配変動点Ｉを検出するために、まず色相角θを所定量ずつ変化させつつプリンタ色域を所定色相角で切断した色域の尖頭値Ｊ０を順に求め、色相の対する尖頭値Ｊ０の変動データを取得する。次に所定の色相範囲Ｒを設定し、取得した変動データの所定の色相範囲Ｒを所定の色相範囲Ｒ内における尖頭値Ｊ０の傾きの変化度合を、所定の色相範囲Ｒを所定量ずつシフトさせつつ全色相に亘って算出する。このとき設定される所定の色相範囲Ｒの最小値は、前述した小刻みな振幅よりも広く設定される必要がある。そして、変動の大きい順に例えば１２ポイントの色相角θ１〜θ１２を選択し、色相角の昇順に勾配変動点Ｉ１〜Ｉ１２として設定する。より具体的な勾配変動点の検出の仕方としては、図１４のａ，ｂ，ｃ等のように該勾配変動点の前後で傾きの符号が変化するような点であってもよいし、図１４のｄのように傾きの符号自体は変化しないが傾きが比較的大きく変化する点、等が可能である。実際には、以上の勾配変動点に設定されやすい部位は、極値や変曲点であることが多い。
【００５９】
そして決定された勾配変動点の尖頭値間を以下の補間式（６）にて補間する。
【数６】
2009219059.tif 000008
前記式（６）では、θｎ?θ?θｎ＋１のＪ０（θ）を求めることができる。ここで、Ｊ０（Ｉｎ）は勾配変動点Ｉｎにおける尖頭値、Ｊ０（θ）は色相角θにおける尖頭値、Ｒａｔｅ’は隣接する基準点の尖頭値間を線型補間する係数である。以上の式（６）によれば、各勾配変動点の尖頭値の間の尖頭値が平滑化され、小刻みな振幅を解消できる。なお、基準点の尖頭値間の補間は、線型補間に限るものではなく、例えば３次補間などの高次の補間を利用しても構わない。
【００６０】
図１６は色相間の尖頭値変動を平滑化する処理の流れを示すフローチャートである。本実施形態においては、ステップＳ６００にて各色相角における尖頭値を色相角を所定角置きに取得する。ステップＳ６０５では、取得された尖頭値の色相変化に対する傾きを検出し、傾きの変動が大きい色相角θ１〜θ１２を色相角の昇順に勾配変動点Ｉ１〜Ｉ１２に決定する。そしてステップＳ６１０にて勾配変動点Ｉ１〜Ｉ１２における尖頭値Ｌ（Ｉ１）〜Ｌ（Ｉ１２）を式（６）で線型補間する。以上のようにして求めた各色相の尖頭値を使用して前述の色域変換処理を行えば、各色相間でマッピングベクトル方向を安定して色相変化に対する尖頭値変化に起因した小刻みな振幅が抑制され、擬似輪郭が発生しなくなる。
【００６１】
さらに、色相間の尖頭値変動を平滑化するにあたり、前述したプライマリカラー６色に加えて各プライマリカラーの中間値を基準点に追加したり、検出された勾配変動点Ｉの間に基準点を複数追加したりすると、補間された尖頭値の実際の尖頭値に対する近似精度の向上が期待できる。また、前述した勾配変動点Ｉの決定方法として、例えば傾きが正負で変化する部位のみを勾配変動点Ｉとして採用しても構わない。傾きの符号が変化しない場合は、補間などで近似が可能であり、実際の尖頭値と大幅なズレは発生しないと想定されるからである。また、補間には、尖頭値間の線型補間のみならず、各尖頭値を３次補間式などで非線形的に近似した補間を行っても無論構わない。３次補間を用いると、基準点における尖頭値の変動が緩やかな場合に、近似精度が向上する。
【００６２】
さらにプライマリカラーが勾配変動点であるか否かが不明な場合に好適な変形例として、前述した実施形態を組合せても良い。すなわち、プライマリカラーＲＧＢＣＭＹを仮の勾配変動点として設定しつつ、該プライマリカラーを略中心とする所定の色相範囲Ｒに含まれる各色相の尖頭値Ｊ０を順次取得し、取得した変動データにおける傾きの変動度合を算出する。この変動度合が所定の基準を超えていればプライマリカラーＲＧＢＣＭＹを真の勾配変動点として採用するのである。一方、変動度合が所定の基準を超えていない場合は、真の勾配変動点が他に存在する可能性があるため、前述の尖頭値の傾きが大きく変動する色相の探索を実行するのである。このようにプライマリカラーが勾配変動点になりやすいという前提に立ちつつも、プライマリカラーが本当に勾配変動点であるかを確認する処理を行うことにより、確実に真の勾配変動点を採用できる。さらに、プライマリカラーが勾配変動点であるか否かを判断する際に、各プライマリカラーの所定の色相範囲Ｒのみを確認対象とすることで演算量を最小限に抑えることができる。一般にプライマリカラーが勾配変動点であることが多いことを前提に、いわば、プライマリカラーが勾配変動点でない場合を例外処理とするのである。
【００６３】
前述した色相間の尖頭値を平滑化する処理は、ガマットに凹凸のあるプリンタ色域、特にフォトマット紙等の色域に適用すると好ましいが、無論、ディスプレイの色域に適用しても構わない。特に勾配変動点とプライマリカラーとが一致するのであれば、各色相角の尖頭値を逐次算出するのではなく、該色相階調平滑化処理にて各色相角の尖頭値を予測して処理速度を向上させることも可能である。
（６）逆方向変換処理の高速化：
ところで、前記逆方向変換処理において使用される第２色変換テーブルはＲＧＢ値をＸＹＺ値に変換するための順方向多次元ＬＵＴであり、図１７のようにＲＧＢ値の昇順に並んでいる。そのため、ＸＹＺ値の並び順には規則性が無く、逆方向変換処理において入力されたＸＹＺ値に対応するＲＧＢ値を探索するためには、順方向多次元ＬＵＴ中の逆引き、すなわちＸＹＺ値を全検索して近似するＸＹＺ値を抽出する処理が必要になっていた。しかしながら、逆引きは処理時間の増加を招くため、処理速度の向上が望まれていた。
【００６４】
そこで本実施形態においては、ＸＹＺ値算出モジュールＭ２に、予測モジュールＭ２１と、探索モジュールＭ２２とを備えさせている。予測モジュールＭ２１は、入力されたＸＹＺ値に対応するＲＧＢ値のｓＲＧＢ色空間における出現位置を予測し、最適な探索順を決定する。探索モジュールＭ２２は、予測モジュールＭ２１の決定した探索順に従って近似ＸＹＺ値を探索する。以下、予測モジュールＭ２１の予測手法と、予測結果に基づいて決定される探索順について説明する。
【００６５】
図１８は予測モジュールＭ２１の予測手法を説明する模式図である。同図は説明の簡略のため、ＲＧＢ色空間を任意のＧＢ平面で切断した２次元で記載してあるが、実際は色空間の次数に合わせた次元数が必要であり、本実施形態のようにｓＲＧＢ色空間であれば３次元空間で予測が行われることは言うまでも無い。同図においては、ｓＲＧＢ色空間のプリンタ４０の色域Ｘを複数領域に分割してある。分割のロジックは二分探索法における二分岐分割のアナロジーであり、色域Ｘ全体を４等分して領域Ｃ１〜Ｃ４を設定し、さらに領域Ｃ１〜Ｃ４のそれぞれを４等分して領域Ｂ１〜Ｂ４を設定し、さらに領域Ｂ１〜Ｂ４のそれぞれを４等分して領域Ａ１〜Ａ４を設定する。図１８においては、領域Ｃ１や領域Ｂ４を例にとって４分割した領域Ｂ１〜Ｂ４や領域Ａ１〜Ａ４を設定してあるが、領域Ｃ２〜Ｃ４においても領域Ｂ１〜Ｂ４と同様の領域設定がされているし、領域Ｂ１〜Ｂ４においても領域Ａ１〜Ａ４と同様の領域設定がされているものとする。なお、本実施形態においては、各段階の分割数を４分割として３段階の分割を行っているが、各段階における分割数は任意であるし、分割する回数も任意の回数を選択できる。
【００６６】
ところで、逆方向変換処理において変換されるＸＹＺ値は、元はディスプレイ２０のＲＧＢ値であり、ディスプレイ２０のＲＧＢ値の入力される順番に変換される。つまり、ＬＵＴ１５ｂを作成する際に色域変換処理で処理される順番は、ディスプレイ２０のしき生きにおけるＲＧＢ値の昇順になっている。そこで、予測モジュールＭ２１は、直前に変換したＸＹＺ値が変換された先のＲＧＢ値を記憶しておき、次に入力されたＸＹＺ値の変換先の予測に利用する。すなわち、直前に色域変換処理された（Ｘ１，Ｙ１，Ｚ１）がプリンタ４０の色域においてＰｘ（Ｒ１，Ｇ１，Ｂ１）に変換された場合は、このＰｘを含む領域Ａ２を記憶しておく。そして次に入力された（Ｘ２，Ｙ２，Ｚ２）の変換先である（Ｒ２，Ｇ２，Ｂ２）を探索する際には、まず探索モジュールＭ２２に領域Ａ２を探索させる。
【００６７】
また、ＲＧＢデータは、図１９のように先頭からＲＧＢの順で各座標値を並べたデータ列として生成される。従って、生成された順にデータ変換を行っていくと、まず（Ｒ，Ｇ，Ｂ）のうち最も下位ビットに配置されるＢの座標値が１ビットずつ上昇されていく。そしてＢが２５５に達すると、次に、Ｇの座標値が１ビットだけ繰り上がってから、再度Ｂの座標値が０から２５５まで上昇していく。Ｇの座標値が２５５ビットに達すると、Ｒの座標値が１ビット繰り上がって、再度Ｂの座標値を０から上昇していくことになる。すなわち色変換処理で処理されるＲＧＢ値は、直前に処理されたＲＧＢ値からディスプレイ２０の色域においてＢが上昇する方向に１ビットずれたＲＧＢ値になるはずである。さらに、色域変換処理後の色空間は、プリンタの色域内に限定されるもののｓＲＧＢ色空間であるため、プリンタの色域におけるＲＧＢ値もディスプレイ２０の色域におけるＲＧＢ値の変動に類似した挙動を示すことが推測される。この推測に基づいて、探索モジュールＭ２２は、領域Ａ２のＲＧＢ値に対応するＸＹＺ値の中に（Ｘ２，Ｙ２，Ｚ２）を発見できなかった場合には、ＲＧＢデータの変動方向を予測して探索エリアを拡大する。
【００６８】
図２０、図２１を参照して探索順についてより詳細に説明する。図２０はＲＧＢ色空間における探索順を説明する図であり、図２１は探索順を選択するフローチャートである。図２０においては、ＲＧＢ色空間の領域Ｐを８等分してある。同図において、変換処理対象の（Ｘ２，Ｙ２，Ｚ２）の直前に色域変換処理で変換された（Ｘ１，Ｙ１，Ｚ１）の変換先の座標が、Ｐｘ（Ｒ１，Ｇ１，Ｂ１）であり、Ｐｘの存在する領域が領域Ｐ０である。このようなＲＧＢ色空間において、最初の探索対象エリアはＰｘの存在する領域Ｐ０となる。そして領域Ｐ０のＲＧＢ値の変換先を順方向ＬＵＴから順次取得しつつ、取得したＸＹＺ値の中から（Ｘ２，Ｙ２，Ｚ２）に近接する座標（近接ＸＹＺ値）を探索する。近接するか否かの判定は、例えば、所定の閾値よりも近いものを近接すると判定すればよく、閾値としては格子点間隔等が考えられる。
【００６９】
近接ＸＹＺ値を所定数発見した場合は、発見した近接ＸＹＺ値に対応するＲＧＢ値を順方向変換ＬＵＴから取得し、補間演算を行って変換先の座標Ｐｙ（Ｒ２，Ｇ２，Ｂ２）を決定する。所定数としては、例えば六面体補間を行うのであれば６点となるし、四面体補間を行うのであれば４点となる。一方、近接ＸＹＺ値を発見できなかった場合は、Ｂの座標値が増加する方向にある領域Ｐ４を次の探索対象エリアに決定する。その後、領域Ｐ４においても近接ＸＹＺ値を発見できなかった場合は、領域をＰ２→Ｐ６→Ｐ１→Ｐ５→Ｐ３→Ｐ７の順に変更して各々探索を行うことになる。その他、最初の探索対象エリアがＰ１であった場合の探索順は、Ｐ１→Ｐ５→Ｐ３→Ｐ７→Ｐ０→Ｐ４→Ｐ２→Ｐ６であり、最初の探索対象エリアがＰ４であった場合の探索順は、Ｐ７→Ｐ３→Ｐ５→Ｐ１→Ｐ６→Ｐ１→Ｐ４→Ｐ０となる。
【００７０】
以上のように決定される探索順に基づいて、ＸＹＺ値算出モジュールＭ２が実行する逆方向変換処理の流れを図２２を参照して説明する。なお、この処理の説明においては、説明の簡略のため、図１８の２次元で領域分割した図面に基づいて行う。処理が開始されると、ステップＳ５００においてＣＡ変換モジュールＭ５から最初に入力されたＸＹＺ値を初期データとして取得する。そしてステップＳ５０５において、ＸＹＺ値の初期データに近接するＸＹＺ値を順方向ＬＵＴから検索し、ステップＳ５１０において全検索で取得した近接ＸＹＺ値の変換先ＲＧＢ値に基づく補間演算を実行する。補間演算で求められたＲＧＢ値は、ＸＹＺ値の変換先としてＬＵＴ１５ｂに登録されるとともに、ステップＳ５１５においてＰｘとして一時的に記憶される。なお、ステップＳ５１５の実行の前に一連の色域変換処理におけるデータ入力が完了したか否かをステップＳ５１２において判断し、完了している場合は本処理を終了する一方、未完了の場合はステップＳ５１５，Ｓ５２０と進んでＣＡ変換モジュールＭ５から次のＸＹＺ値を取得する。
【００７１】
ステップＳ５２５に進むと、図１８においてＰｘを含む領域のうち最も狭く設定されている領域Ａを予測エリアとし、ステップＳ５２５で取得したＸＹＺ値の近接ＸＹＺ値を該領域Ａ内の順方向ＬＵＴから検索する。検索の結果、領域Ａに近接ＸＹＺ値を発見した場合は、ステップＳ５３０からステップＳ５１０に戻って発見した近接ＸＹＺ値の変換先ＲＧＢ値に基づく補間演算を実行する。一方、領域Ａを検索しても近接ＸＹＺ値を領域Ａに発見しなかった場合は、ステップＳ５３５に進んで探索領域を拡大し、領域Ｂを探索することになる。この領域Ｂの探索においてもＰｘの存在する領域ＡからＢ軸方向へ位置する領域から順に検索を実行する。そして領域Ｂに近接ＸＹＺ値を発見した場合は、ステップＳ５１０に戻って発見した近接ＸＹＺ値の変換先ＲＧＢ値に基づく補間演算を実行する。一方、領域Ｂを検索しても近接ＸＹＺ値を発見しなかった場合は、ステップＳ５４５に進んで探索領域を拡大し、領域Ｃを探索することになる。そして領域Ｃに近接ＸＹＺ値を発見した場合は、ステップＳ５１０に戻って発見した近接ＸＹＺ値の変換先ＲＧＢ値に基づく補間演算を実行する。一方、領域Ｃを検索しても近接ＸＹＺ値を発見しなかった場合は、例外処理としてステップＳ５０５に戻って全検索処理によって近接ＸＹＺ値を探索する。
【００７２】
（７）色域の内外判定処理：
前述のように、色域変換モジュール２４により実行される色域変換処理においては、プリンタの色域とディスプレイの色域とが一致するように色域の変換を行っている。しかしながら、色域の表面付近などでは、色域変換モジュールにて行う色域の設定方法とＸＹＺ値算出モジュールにて行う色域の設定方法とが互いに異なる場合や、誤差、計算エラー等が原因で色域の外にマッピングされてしまうことがある。色域外部にマッピングされてしまった色点は、逆引きできなくなるため、色域内にマッピング先を変更（再マッピング）してやる必要がある。より具体的には、ＣＡ変換モジュールＭ４においてにおいて算出されたＸＹＺ値に対し色域内外判定処理を実行し、色域内と判定された座標値については前述の逆方向変換処理を実行するが、色域外と判定された座標値については色域の最近傍点に再マッピングする。以下、色域内外判定処理について説明を行う。
【００７３】
図２３は本実施形態にかかる内外判定処理の概略を説明する図である。同図はＪ＊ａ＊ｂ＊色空間を所定のａｂ平面で切断して示した図であり、Ｐｘは判定対象となる座標値、Ｏはグレー軸上の点、ＰはＯＰベクトルと色域外殻との交点、である。また、図２４に示すように、本実施形態の色域はＬＵＴの各格子点を結んで形成した六面体を、さらに６つの四面体に分割してある。例えば、ＬＵＴに０≦Ｒ，Ｇ，Ｂ≦２５５の範囲を９スライスしたＲＧＢデータ（７２９色）とそれに対応するＸＹＺ値を記述したデータが格納されている場合は、これら各データを接続して５１２個の六面体とし、さらにそれぞれの六面体を６つの四面体に分割する。すなわち色域の外殻は三角形の平面を繋ぎ合わせて形成され、いわゆるポリゴンとなる。以下、四面体を構成する三角形の平面のうち、色域の外殻を構成する面をメッシュと称して説明を行う。本内外判定処理においては、外殻を形成するメッシュのうち、ベクトルＯＰｘと交わるメッシュを探索し、発見されたメッシュとベクトルＯＰｘとの交点Ｐを算出する。そして｜ＯＰ｜（＝Ａ）と｜ＯＰｘ｜（＝Ｂ）とを比較して、Ｂ＞Ａの場合はＰｘをガマット外と判断して再マッピングを行い、Ａ＞Ｂの場合はＰｘをガマット内と判断して前述の色域変換処理を続行する。
【００７４】
図２５を参照して、ＯＰｘと交わるメッシュの探索法について説明する。図２５は内外判定処理のフローチャートである。処理が開始されると、ステップＳ７００において、ＸＹＺ値の初期データを取得する。次に、ステップＳ７０５では、取得したＸＹＺ値をＰｘとしてベクトルＯＰｘと交わるメッシュを探索する。この探索対象はプリンタ４０の色域の外殻を構成する全てのメッシュである。メッシュとベクトルＯＰｘとが交わるか否かの判定は、例えば以下の方法で可能である。図２６に示すように、メッシュの三面体の各頂点をＡＢＣとし、入力された出力デバイス色のデータをＰとして、ベクトルで表すと下記式（７）で表すことが出来る。
【数７】
2009219059.tif 000009
Ｐが三角形ＡＢＣの内部であれば、前記式（７）において
【数８】
2009219059.tif 000010
が成立する。すなわち、前記式（７）において式（８）が成り立つのであればベクトルＯＰｘはメッシュと交わると判定し、不成立であればベクトルＯＰｘはメッシュと交わらないと判定できる。
【００７５】
続くステップＳ７１０では、ステップＳ７０５において当たり判定されたメッシュを記憶する。ステップＳ７１５に進むと、当たり判定されたメッシュとのベクトルＯＰｘとの交点を求めて処理対象座標の内外判定を行う。内外判定で色域の内部と判定された場合は、ステップＳ７２５に進んでＬＵＴ作成処理を継続する一方、色域の外部と判定された場合は、ステップＳ７２０に進んで再マッピングを行う。再マッピング先は、ステップＳ７０５において当たり判定されたメッシュと該メッシュに隣接するメッシュの内、最も近くにあるメッシュとする。再マッピングが終了するとステップＳ７２５に進んで、ＬＵＴ作成処理を継続する。そしてステップＳ７３０において、全データに対して内外判定を終了したか否かを判断する。全データ終了した場合は内外判定処理を終了し、全データ終了していない場合はステップＳ７３５に進んで、次のＸＹＺ値を取得する。そしてステップＳ７４０において、ステップＳ７１０で記憶されたメッシュを利用して、記憶されたメッシュとその隣接メッシュとを当たり判定の探索対象とする当たり判定を行う。ステップＳ７４０において当たり判定が有った場合は、ステップＳ７４５からステップＳ７１０に進んで当たりメッシュを記憶する一方、当たり判定が無かった場合はステップＳ７４５からステップＳ７０５に進んで全メッシュに対する探索を行うことになる。
【００７６】
なお、ＸＹＺ値と三角形平面との当たり判定や交点の算出を行う色空間としては、ＸＹＺ色空間で行ってもよいし、Ｊ＊ａ＊ｂ＊色空間で実行してもよい。Ｊ＊ａ＊ｂ＊色空間を利用する場合は、取得したＸＹＺ値に対応するＪ＊ａ＊ｂ＊値と、ＲＧＢ色空間の外殻メッシュを順方向ＬＵＴを利用してＪ＊ａ＊ｂ＊色空間に変換したものとで当たり判定や交点の算出を実行すればよい。さらに、色域変換モジュールＭ５にて色域変換処理を行う空間として、Ｊ＊ａ＊ｂ＊色空間等の直交座標系ではなく、ＪＣｈ等の極座標系を採用すると、Ｐｘや交点Ｐまでの距離の算出が容易になる。
【００７７】
また全検索を行う場合に好適な例として、前記メッシュデータを、明度と色相角とでメッシュをソートしておくことが考えられる。すなわちＸＹＺ値が入力されると、公知の変換式と用いて該ＸＹＺ値から明度や色相角を算出し、内外判定処理の対象となる色点と交点を持つ可能性の高いメッシュを絞り込むことが出来る。よって、全検索を行う時に、当り判定を実行するメッシュの和を絞り込めるので処理を高速化できる。
【００７８】
さらに、本実施形態のより具体的な一例として、前記当たり判定や交点の算出を、任意の線と任意の平面とのあたり判定や交点座標算出に最適化された外部APIに実行させてもよい。外部APIとしては例えばDirectXが考えられる。DirectXは、グラフィックボードのGPU（Graphics Processing Unit）や高速なグラフィックメモリを利用して実行されるため高速な処理がかのうであり、且つボリゴン表面と所定の直線との当たり判定や交点の算出などを高速に実行する機能が備わっている。したがって、DirectXにベクトルＯＰｘとメッシュの各頂点の座標値とを与えて所定の計算を実行させることにより当たり判定や交点座標の演算が高速に行える。
【００７９】
なお、再マッピングの発生頻度を抑制するために、以下のような手法を用いるとよい。
第一に、色域マッピングモジュールＭ５が行う色域の確定において使用される領域設定手法と、ＬＵＴ作成時に行われるプリンタ色域を包含する領域設定手法とに、同一の手法を採用する。すると、領域外殻のズレがなくなるため、前述の再マッピングの発生回数が減少する。
第二に、プリンタ色域の領域設定において、前記第２色変換テーブルの格子点を忠実に繋ぎ合わせる手法にて形成された領域を設定する。プリンタの色域には外殻に凹凸があるため、例えば三次元凸包を用いると凹凸が潰れて色精度が劣化してしまい、実際の色域形状と異なってしまうためである。色精度の劣化を防止することにより再マッピングの発生回数が減少する。
第三に、色域マッピングモジュールＭ５における圧縮アルゴリズムとして、例えば前述のＳＧＣＫやＢａｓｉｃＰｈｏｔｏ等を採用する。これらの圧縮アルゴリズムは、色相を変えずに一定方向にマッピングするため、マッピング前後のデータで、明度や再度の入れ替わりが発生しない。よって、プリンタ４０色域に色域変換された座標値が、直前に変換された座標値の近辺に変換され、前述の逆方向変換処理における予測のヒット率が向上することになる。
第四に、色域変換を行うに当たり、前述の尖頭値変動を平滑化する処理を実行しておく。すると、マッピングデータが緩やかに変化するようになり、マッピング後のデータが一定の間隔で発生するようになる。よって、プリンタ４０色域に色域変換された座標値が、直前に変換された座標値の近辺に変換され、前述の逆方向変換処理における予測のヒット率が向上することになる。
【００８０】
（８）まとめ：
以上説明したように、本実施形態によれば、ディスプレイ２０のＲＧＢ値をＸＹＺ値に変換する第１色変換テーブルと、プリンタ４０のＲＧＢ値をＸＹＺ値変換する第２色変換テーブルとをＤＭＰに基づいて作成・設定し、両色変換テーブルのＸＹＺ値をＪ＊ａ＊ｂ＊にカラーアピアランス変換した上でガマットマッピングし、ディスプレイ２０のＲＧＢ値とプリンタ４０のＲＧＢ値の色変換テーブル１５ｂを作成・設定する。そして、色変換テーブルのプリンタ４０のＲＧＢ値がプリンタ色域にマッピングされているかを判定して、色域外であれば再マッピングを行う。ここでガマットマッピングの際の色域設定方法と、再マッピングの色域設定方法とを一致させることにより、色変換テーブルの作成を高速化することが可能な画像処理装置の提供が可能になる。
【００８１】
なお、本発明は上述した実施形態や変形例に限られず、上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、公知技術並びに上述した実施形態および変形例の中で開示した各構成を相互に置換したり組み合わせを変更したりした構成、等も含まれる。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施形態にかかる画像処理装置を実現するコンピュータのハードウェア構成を示すブロック図である。
【図２】コンピュータのソフトウェア構成を示すブロック図である。
【図３】色域調整の設定処理を行う画面の一例である。
【図４】色変換モジュールの概念図である。
【図５】ＬＵＴ作成作業のフローチャートである。
【図６】ディスプレイの色域とプリンタの色域とをＪ＊ａ＊ｂ＊空間における所定の色相角θにて切断した状態を示す模式図である。
【図７】第１圧縮アルゴリズムを説明する図である。
【図８】第２圧縮アルゴリズムを説明する図である。
【図９】尖頭値を境に圧縮アルゴリズムを使い分けることによる作用効果を説明する図である。
【図１０】色域変換処理のフローチャートである。
【図１１】ディスプレイの色域Ｊ＊ａ＊ｂ＊とプリンタの色域ＰとをＪ＊ａ＊ｂ＊空間におけるａｂ平面で切断した状態を示している。
【図１２】変形例の色域変換処理における圧縮アルゴリズムの切り替え方を説明する図である。
【図１３】マッピングアルゴリズムの選択を行いつつ色域変換処理を行うフローチャートである。
【図１４】尖頭値についてプリンタ色域の各色相における尖頭値をプロットしたグラフである。
【図１５】図１４のグラフをプライマリカラーの尖頭値を利用して近似したグラフである。
【図１６】色相間の尖頭値変動を平滑化する処理の流れを示すフローチャートである。
【図１７】逆方向変換処理において使用される順方向多次元ＬＵＴの一例である。
【図１８】予測モジュールの予測手法を説明する模式図である。
【図１９】一般的なＲＧＢデータのメモリ格納順である。
【図２０】ＲＧＢ色空間における探索順を説明する図である。
【図２１】探索順を選択するフローチャートである。
【図２２】逆方向変換処理のフローチャートである。
【図２３】内外判定処理の概略を説明する図である。
【図２４】六面体を６つの四面体に分割する例を示す図である。
【図２５】メッシュとの当たり判定処理のフローチャートである。
【図２６】メッシュとの当たり判定処理を説明する図である。
【符号の説明】
【００８３】
１０…制御部、１０ａ…ＣＰＵ、１０ｂ…ＲＡＭ、１１…ＲＯＭ、１３…ＵＳＢＩ／Ｆ、１４…ビデオＩ／Ｆ、１５…ＨＤＤ、１５ａ…画像データ、１５ｂ…ＬＵＴ、１６…バス、１７…操作入力用機器Ｉ／Ｆ、２０…ディスプレイ、２１…プリンタドライバ、２１ａ…画像データ取得モジュール、２１ｂ…色変換モジュール、２１ｃ…ハーフトーン処理モジュール、２１ｄ…印刷データ生成モジュール、２２…操作用入力機器ドライバ（ＤＲＶ）、２３…ディスプレイドライバ（ＤＲＶ）、２４…色域変換モジュール、３０…操作用入力機器、３０ａ…キーボード、３０ｂ…マウス、４０…プリンタ、１００…コンピュータ、Ｍ１…ＸＹＺ値算出モジュール、Ｍ２…ＸＹＺ値算出モジュール、Ｍ３…ＣＡ変換モジュール、Ｍ４…ＣＡ変換モジュール、Ｍ５…色域マッピングモジュール
【図１】
2009219059.tif 000011
【図２】
2009219059.tif 000012
【図３】
2009219059.tif 000013
【図４】
2009219059.tif 000014
【図５】
2009219059.tif 000015
【図６】
2009219059.tif 000016
【図７】
2009219059.tif 000017
【図８】
2009219059.tif 000018
【図１０】
2009219059.tif 000019
【図１１】
2009219059.tif 000020
【図１２】
2009219059.tif 000021
【図１３】
2009219059.tif 000022
【図１４】
2009219059.tif 000023
【図１５】
2009219059.tif 000024
【図１６】
2009219059.tif 000025
【図１７】
2009219059.tif 000026
【図１８】
2009219059.tif 000027
【図１９】
2009219059.tif 000028
【図２０】
2009219059.tif 000029
【図２１】
2009219059.tif 000030
【図２２】
2009219059.tif 000031
【図２３】
2009219059.tif 000032
【図２４】
2009219059.tif 000033
【図２５】
2009219059.tif 000034
【図２６】
2009219059.tif 000035
【図９】
2009219059.tif 000036