(57)【要約】【課題】特定の色を正確に再現可能な画像処理装置および画像処理プログラムを提供する。【解決手段】指定された第１の色の色相と同等の色相および第１の色の明度と同等の明度で表される色であって、かつ、第１の色より高彩度である第２の色がある場合、第１の色の位置は維持した状態で、第２の色の位置を第２の装置で出力可能な色域内の位置に移動させる色域圧縮を行なう。【選択図】図３
2008205577.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置により入力された画像データを、第２の装置で出力可能な画像データに変換する画像処理装置であって、
前記第１の装置により入力された処理対象画像内の特定の色を第１の色として指定する指定手段と、
前記処理対象画像に含まれる複数の色において、前記指定手段により指定された第１の色の色相と同等の色相および前記第１の色の明度と同等の明度で表される色であって、かつ、前記第１の色より高彩度である第２の色があるか否かを判定する判定手段と、
前記第２の色があると判定された場合、前記第１の色の位置は維持した状態で、前記第２の色の位置を前記第２の装置で出力可能な色域内の位置に移動させる色域圧縮手段とを備える、画像処理装置。
【請求項２】
前記色域圧縮手段は、
前記第１の色に基づいて、所定の色空間における収束点を算出する算出手段を有し、
前記色域圧縮手段は、前記第２の色があると判定された場合、前記色空間における前記第１の色の位置は維持した状態で、前記第２の色を前記収束点の方向に移動させることにより色域圧縮を行なう、請求項１に記載の画像処理装置。
【請求項３】
前記算出手段が算出する前記収束点は、直線と、前記色空間において彩度および色相が一定の軸とが交わる点であり、
前記直線は、前記色空間における前記第２の装置で表現可能な色域内の球の表面のうち、前記第１の色の明度より大きい明度の位置と、前記球が有する複数の色相のいずれかの色相および前記球が有する複数の明度のいずれかの明度で表される色であって、かつ、前記色空間における前記第２の装置で表現可能な色域の外側の色の位置とを通る直線であり、
前記球は、前記色空間において前記第１の色の色相を示す色相線を明度を変化させずに所定方向に所定角度回転させた第１直線と、前記色空間において前記色相線を明度を変化させずに前記所定方向の逆方向に前記所定角度回転させた第２直線とに接する、請求項２に記載の画像処理装置。
【請求項４】
前記色空間はＣＩＥＬＡＢ色空間であり、
前記色空間における彩度および色相が一定の軸は明度軸である、請求項３に記載の画像処理装置。
【請求項５】
前記収束点は、前記色空間において彩度および色相が一定の軸上の点であり、前記収束点に対応する明度は、前記第１の色の明度より大きい、請求項２に記載の画像処理装置。
【請求項６】
第１の装置により入力された画像データを、第２の装置で出力可能な画像データに変換する画像処理装置で実行される画像処理プログラムであって、
前記画像処理プログラムは、
前記第１の装置により入力された処理対象画像内の特定の色を第１の色として指定する指定ステップと、
前記処理対象画像に含まれる複数の色において、前記指定ステップにより指定された第１の色の色相と同等の色相および前記第１の色の明度と同等の明度で表される色であって、かつ、前記第１の色より高彩度である第２の色があるか否かを判定する判定ステップと、
前記第２の色があると判定された場合、前記第１の色の位置は維持した状態で、前記第２の色の位置を前記第２の装置で出力可能な色域内の位置に移動させる色域圧縮ステップとを備える、画像処理プログラム。
【請求項７】
前記色域圧縮ステップは、
前記第１の色に基づいて、所定の色空間における収束点を算出する算出ステップを有し、
前記色域圧縮ステップは、前記第２の色があると判定された場合、前記色空間における前記第１の色の位置は維持した状態で、前記第２の色を前記収束点の方向に移動させることにより色域圧縮を行なう、請求項６に記載の画像処理プログラム。
【請求項８】
前記算出ステップが算出する前記収束点は、直線と、前記色空間において彩度および色相が一定の軸とが交わる点であり、
前記直線は、前記色空間における前記第２の装置で表現可能な色域内の球の表面のうち、前記第１の色の明度より大きい明度の位置と、前記球が有する複数の色相のいずれかの色相および前記球が有する複数の明度のいずれかの明度で表される色であって、かつ、前記色空間における前記第２の装置で表現可能な色域の外側の色の位置とを通る直線であり、
前記球は、前記色空間において前記第１の色の色相を示す色相線を明度を変化させずに所定方向に所定角度回転させた第１直線と、前記色空間において前記色相線を明度を変化させずに前記所定方向の逆方向に前記所定角度回転させた第２直線とに接する、請求項７に記載の画像処理プログラム。
【請求項９】
前記色空間はＣＩＥＬＡＢ色空間であり、
前記色空間における彩度および色相が一定の軸は明度軸である、請求項８に記載の画像処理プログラム。
【請求項１０】
前記収束点は、前記色空間において彩度および色相が一定の軸上の点であり、前記収束点に対応する明度は、前記第１の色の明度より大きい、請求項７に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関し、特に、色域の圧縮処理を行なう画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
スキャナー等の画像入力装置で読取られた、ＲＧＢ値で表現される画像（たとえば、写真）を、プリンター等のＣＭＹＫ値を利用する画像出力装置で印刷する場合、ＲＧＢ値を、ＣＭＹＫ値に変換する色変換処理が必要となる。ＲＧＢ値を、ＣＭＹＫ値に変換する場合、一般的に、ＲＧＢ値で表現可能な色域（以下、ＲＧＢ色域ともいう）がＣＭＹＫ値で表現可能な色域（以下、ＣＭＹＫ色域ともいう）よりも大きいため、ＲＧＢ色域を圧縮する必要が生じる。
【０００３】
色域の圧縮の方法には、色相、彩度および明度のうち、人間の視覚に影響の大きい色相を維持した状態で、彩度および明度を圧縮するＰｅｒｃｅｐｔｕａｌ法がある。
【０００４】
図２６は、色域の圧縮を説明するための図である。図２６は、ＣＩＥＬＡＢ色空間における、ａ＊ｂ＊平面を示す。ａ＊およびｂ＊の各々は、彩度を示す。図２６を参照して、色域ＩＮＲは、画像入力装置の入力色域の一例を示す。色域ＯＵＴＲは、画像出力装置の再現色域の一例を示す。図２６では、色域ＩＮＲが、色域ＯＵＴＲよりも大きいため、色域ＩＮＲを、色域ＯＵＴＲ内におさまるように、色相を維持した状態で圧縮している状態を示す。
【０００５】
また、Ｐｅｒｃｅｐｔｕａｌ法には、明度を維持したまま色域を圧縮する方法、収束点を設定して、収束点方向に色域を圧縮する方法等がある。
【０００６】
図２７は、色域の圧縮を説明するための図である。図２７（Ａ）は、明度を維持したまま色域ＩＮＲを圧縮している状態を示す図である。図２７（Ｂ）は、ＣＩＥＬＣＨ色空間における、Ｌ＊Ｃ＊平面を示す。Ｌ＊およびＣ＊は、それぞれ、明度および彩度を示す。図２７（Ｂ）は、収束点ＳＰを設定して、収束点ＳＰ方向に色域ＩＮＲを圧縮している状態を示す図である。
【０００７】
特開平１１−０６９１８９号公報（特許文献１）には、色相毎に、色域の圧縮する方向や圧縮の度合いを設定して、前述のような色相を維持した状態で色域を圧縮する技術（以下、第１の先行技術ともいう）が開示されている。
【特許文献１】特開平１１−０６９１８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
図２８(Ａ)は、ＣＩＥＬＡＢ色空間におけるａ＊ｂ＊平面を示し、図２８（Ｂ）は、ＣＩＥＬＣＨ色空間におけるＬ＊Ｃ＊平面を示す。図２８（Ｂ）において、あるＬ＊値での断面図が図２８（Ａ）に相当する。なお、ａ＊ｂ＊平面における原点は無彩色であり、ａ＊ｂ＊平面で原点から外側に移動するに従って、高彩度となる。ここで、図２８(Ａ)および図２８（Ｂ）に示すように、ＣＩＥＬＡＢ色空間における、色域ＯＵＴＲ内に、色データＣＤ１（たとえば、肌色）が存在するとする。ここで、色データＣＤ１（たとえば、肌色）は、正確な再現性が求められる色であるとする。
【０００９】
図２８（Ａ）に示される直線Ｌ１は、色データＣＤ１の色相を示す直線である。直線Ｌ１を、明度を変化させずに半時計回りに、所定角度γ（たとえば、１０度）だけ回転させた線は、直線Ｌ１ａとなる。また、直線Ｌ１を、明度を変化させずに時計回りに、所定角度γ（たとえば、１０度）だけ回転させた線は、直線Ｌ１ｂとなる。
【００１０】
また、球ＣＲ１は、色データＣＤ１の位置を中心に、直線Ｌ１ａと、直線Ｌ１ｂとに接するような球である。この場合、球ＣＲ１は、色データＣＤ１の色相とほぼ同等の複数の色相と、色データＣＤ１の明度とほぼ同等の複数の明度とを有する。
【００１１】
また、色域ＯＵＴＲの外側の領域であって、色域ＩＮＲの内側の領域に、色データＣＤ２（たとえば、オレンジ色）が存在するとする。色データＣＤ２の色相は、球ＣＲ１が有する複数の色相のいずれかと同一の色相であるとする。また、色データＣＤ２の明度は、球ＣＲ１が有する複数の明度のいずれかと同一の明度であるとする。
【００１２】
この場合、色域ＩＮＲを、色域ＯＵＴＲ内におさまるように、色相を維持した状態で圧縮する、図２７（Ｂ）で説明した処理を行なうと、色データＣＤ１の彩度は低下してしまい、色の再現性が低下してしまうという問題点がある。この問題点を解決する方法は、第１の先行技術には開示されていない。
【００１３】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、特定の色を正確に再現可能な画像処理装置および画像処理プログラムを提供することである。
【課題を解決するための手段】
【００１４】
上述の課題を解決するために、この発明のある局面に従うと、第１の装置により入力された画像データを、第２の装置で出力可能な画像データに変換する画像処理装置であって、第１の装置により入力された処理対象画像内の特定の色を第１の色として指定する指定手段と、処理対象画像に含まれる複数の色において、指定手段により指定された第１の色の色相と同等の色相および第１の色の明度と同等の明度で表される色であって、かつ、第１の色より高彩度である第２の色があるか否かを判定する判定手段と、第２の色があると判定された場合、第１の色の位置は維持した状態で、第２の色の位置を第２の装置で出力可能な色域内の位置に移動させる色域圧縮手段とを備える。
【００１５】
好ましくは、色域圧縮手段は、第１の色に基づいて、所定の色空間における収束点を算出する算出手段を有し、色域圧縮手段は、第２の色があると判定された場合、色空間における第１の色の位置は維持した状態で、第２の色を収束点の方向に移動させることにより色域圧縮を行なう。
【００１６】
好ましくは、算出手段が算出する収束点は、直線と、色空間において彩度および色相が一定の軸とが交わる点であり、直線は、色空間における第２の装置で表現可能な色域内の球の表面のうち、第１の色の明度より大きい明度の位置と、球が有する複数の色相のいずれかの色相および球が有する複数の明度のいずれかの明度で表される色であって、かつ、色空間における第２の装置で表現可能な色域の外側の色の位置とを通る直線であり、球は、色空間において第１の色の色相を示す色相線を明度を変化させずに所定方向に所定角度回転させた第１直線と、色空間において色相線を明度を変化させずに所定方向の逆方向に所定角度回転させた第２直線とに接する。
【００１７】
好ましくは、色空間はＣＩＥＬＡＢ色空間であり、色空間における彩度および色相が一定の軸は明度軸である。
【００１８】
好ましくは、収束点は、色空間において彩度および色相が一定の軸上の点であり、収束点に対応する明度は、第１の色の明度より大きい。
【００１９】
この発明の他の局面に従うと、第１の装置により入力された画像データを、第２の装置で出力可能な画像データに変換する画像処理装置で実行される画像処理プログラムであって、画像処理プログラムは、第１の装置により入力された処理対象画像内の特定の色を第１の色として指定する指定ステップと、処理対象画像に含まれる複数の色において、指定ステップにより指定された第１の色の色相と同等の色相および第１の色の明度と同等の明度で表される色であって、かつ、第１の色より高彩度である第２の色があるか否かを判定する判定ステップと、第２の色があると判定された場合、第１の色の位置は維持した状態で、第２の色の位置を第２の装置で出力可能な色域内の位置に移動させる色域圧縮ステップとを備える。
【００２０】
好ましくは、色域圧縮ステップは、第１の色に基づいて、所定の色空間における収束点を算出する算出ステップを有し、色域圧縮ステップは、第２の色があると判定された場合、色空間における第１の色の位置は維持した状態で、第２の色を収束点の方向に移動させることにより色域圧縮を行なう。
【００２１】
好ましくは、算出ステップが算出する収束点は、直線と、色空間において彩度および色相が一定の軸とが交わる点であり、直線は、色空間における第２の装置で表現可能な色域内の球の表面のうち、第１の色の明度より大きい明度の位置と、球が有する複数の色相のいずれかの色相および球が有する複数の明度のいずれかの明度で表される色であって、かつ、色空間における第２の装置で表現可能な色域の外側の色の位置とを通る直線であり、球は、色空間において第１の色の色相を示す色相線を明度を変化させずに所定方向に所定角度回転させた第１直線と、色空間において色相線を明度を変化させずに所定方向の逆方向に所定角度回転させた第２直線とに接する。
【００２２】
好ましくは、色空間はＣＩＥＬＡＢ色空間であり、色空間における彩度および色相が一定の軸は明度軸である。
【００２３】
好ましくは、収束点は、色空間において彩度および色相が一定の軸上の点であり、収束点に対応する明度は、第１の色の明度より大きい。
【発明の効果】
【００２４】
本発明に係る画像処理装置は、指定された第１の色の色相と同等の色相および第１の色の明度と同等の明度で表される色であって、かつ、第１の色より高彩度である第２の色がある場合、第１の色の位置は維持した状態で、第２の色の位置を第２の装置で出力可能な色域内の位置に移動させる色域圧縮を行なう。
【００２５】
したがって、特定の色を正確に再現することができるという効果を奏する。
本発明に係る画像処理プログラムは、指定された第１の色の色相と同等の色相および第１の色の明度と同等の明度で表される色であって、かつ、第１の色より高彩度である第２の色がある場合、第１の色の位置は維持した状態で、第２の色の位置を第２の装置で出力可能な色域内の位置に移動させる色域圧縮を行なう。
【００２６】
したがって、特定の色を正確に再現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２７】
（第１の実施の形態）
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２８】
（システムの構成）
図１は、本実施の形態における画像処理システム１０００の構成を示す図である。図１を参照して、画像処理システム１０００は、画像入力装置１００と、画像処理装置５００と、画像出力装置７００とを含む。
【００２９】
画像入力装置１００は、スキャナーである。なお、画像入力装置１００は、スキャナーに限定されることなく、画像を入力する機能を有する装置であれば、他の装置であってもよい。画像入力装置１００は、たとえば、デジタルカメラであってもよい。
【００３０】
画像処理装置５００は、ＰＣ（Personal Computer）である。なお、画像処理装置５００は、ＰＣに限定されることなく、他の装置であってもよい。
【００３１】
画像出力装置７００は、プリンターである。なお、画像出力装置７００は、プリンターに限定されることなく、紙に文字や画像等を印刷する機能を有する装置であれば、他の装置であってもよい。画像出力装置７００は、たとえば、ＭＦＰ（Multi Function Peripherals）であってもよい。ＭＦＰは、プリンター、ＦＡＸ、スキャナー等の複数の機能を有する装置である。
【００３２】
画像処理装置５００は、画像入力装置１００および画像出力装置７００の各々と、無線または有線でデータ通信を行なう。
【００３３】
（画像処理装置）
次に、画像処理装置５００について詳細に説明する。
【００３４】
図２は、画像処理装置５００の内部構成を示したブロック図である。なお、図２には、説明のために、記録媒体５５５も示している。記録媒体５５５には、後述するプログラム１８０が記録されている。すなわち、プログラム１８０は、媒体等に記録されてプログラム製品として流通される。また、記録媒体５５５もプログラム製品として流通される。
【００３５】
画像処理装置５００は、表示部５３０と、制御部５１０と、一時記憶部５２２と、記憶部５２０とを備える。
【００３６】
表示部５３０は、文字や画像等を表示する機能を有する。表示部５３０は、ＬＣＤパネル（Liquid Crystal Display Panel）を使用した表示装置である。なお、表示部５３０は、文字や画像等を表示する機能を有する表示装置であれば、他の表示装置であってもよい。
【００３７】
記憶部５２０は、データを不揮発的に記憶する機能を有する。記憶部５２０は、制御部５１０によってデータアクセスされる。記憶部５２０は、大容量のデータを記憶可能なハードディスクである。なお、記憶部５２０は、ハードディスクに限定されることなく、電源を供給されなくてもデータを不揮発的に保持可能な媒体（たとえば、フラッシュメモリ）であってもよい。記憶部５２０には、プログラム１８０、後述するＩＣＣプロファイル５２２、その他の各種データ等が記憶されている。
【００３８】
制御部５１０は、記憶部５２０に記憶されたプログラム１８０に従って、画像処理装置５００内の各部に対する各種処理や、演算処理等を行なう機能を有する。制御部５１０は、ＣＰＵ（Central Processing Unit）である。なお、制御部５１０は、ＣＰＵに限定されることなく、演算機能を有するその他の回路であってもよい。
【００３９】
一時記憶部５２２は、制御部５１０によってデータアクセスされ、一時的にデータを記憶するワークメモリとして使用される。一時記憶部５２２は、ＤＲＡＭ（Dynamic Random Access Memory）である。なお、一時記憶部５２２は、ＤＲＡＭに限定されることなく、データを揮発的に記憶可能なその他の回路であってもよい。
【００４０】
画像処理装置５００は、さらに、ＶＤＰ５３２（Video Display Processor）と、ＶＲＡＭ（Video Random Access Memory）５３６とを備える。
【００４１】
ＶＲＡＭ５３６は、画像データを一時的に記憶する機能を有する。
制御部５１０は、記憶部５２０に記憶されたプログラム１８０に従って、ＶＤＰ５３２に対し、描画指示を出す。描画指示とは、画像を生成し、当該画像を表示部５３０に表示させる指示である。
【００４２】
ＶＤＰ５３２は表示部５３０と接続されている。ＶＤＰ５３２は、制御部５１０からの描画指示に応じて、記憶部５２０内の後述するプログラム１８０からフォントデータ、図形データ等を読出し、ＶＲＡＭ５３６を利用して画像を生成する。そして、ＶＤＰ５３２は、ＶＲＡＭ５３６に記憶された画像データを読出し、表示部５３０に、当該画像データに基づく画像を表示させる。
【００４３】
画像処理装置５００は、さらに、入力部５４０と、記録媒体アクセス部５５０を備える。
【００４４】
入力部５４０には、マウス５４２と、キーボード５４４とが接続されている。ユーザは、マウス５４２またはキーボード５４４を利用して、画像処理装置５００に指示を与える。マウス５４２またはキーボード５４４からの入力指示は、入力部５４０を介して制御部５１０へ送信される。制御部５１０は、入力部５４０からの入力指示に基づいて所定の処理を行なう。以下においては、ユーザによる、マウス５４２またはキーボード５４４の操作を、インターフェース操作Ｐともいう。
【００４５】
記録媒体アクセス部５５０は、プログラム１８０が記録された記録媒体５５５から、プログラム１８０を読出す機能を有する。記録媒体５５５に記憶されているプログラム１８０は、制御部５１０のインストール処理により、記録媒体アクセス部５５０により読み出され、制御部５１０が、プログラム１８０を、記憶部５２０に記憶させる。このインストール処理用プログラムは、予め、記憶部５２０に格納されており、インストール処理は、制御部５１０が、インストール処理用プログラムに基づいて行なう。
【００４６】
なお、記憶部５２０には、プログラム１８０がインストールされていなくてもよい。この場合、制御部５１０は、記録媒体アクセス部５５０を介して、記録媒体５５５に記憶されたプログラム１８０を読み出して、プログラム１８０に基づいた所定の処理を行なう。
【００４７】
記録媒体５５５は、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）である。なお、記録媒体５５５は、ＣＤ−ＲＯＭに限定されることなく、データを不揮発的に記録可能なその他の媒体、たとえば、Blu-ray Disc(登録商標)、ＨＤ−ＤＶＤ（High-Definition Digital Versatile Disc）（登録商標）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＳＤメモリーカード（登録商標）等であってもよい。
【００４８】
画像処理装置５００は、さらに、通信部５６０と、通信部５６２とを備える。
通信部５６０は、制御部５１０とデータの送受信を行なう。また、通信部５６０は、画像出力装置７００と有線または無線で、データの送受信を行なう機能を有する。
【００４９】
通信部５６０は、ＵＳＢ（Universal Serial Bus）２．０の規格に基づく、シリアル転送を行なう通信用インターフェースの機能を有する。なお、シリアル転送を行なう通信用インターフェースの規格は、ＵＳＢ２．０に限定されることなく他の規格であってもよい。通信部５６０は、ＵＳＢケーブルを介して、画像入力装置１００および画像出力装置７００の各々と接続されている。したがって、通信部５６０は、有線（ＵＳＢケーブル）により、画像入力装置１００および画像出力装置７００の各々と、データ通信を行なうことができる。
【００５０】
なお、通信部５６０は、パラレル転送を行なう通信用インターフェースの機能を有していてもよい。パラレル転送を行なう通信用インターフェースは、たとえば、セントロニクス準拠の規格に準拠したインターフェースである。また、通信部５６０は、ＩＥＥＥ１３９４またはＳＣＳＩ規格に基づく通信用インターフェースの機能を有していてもよい。
【００５１】
通信部５６２は、制御部５１０と、データの送受信を行なう。通信部５６２は、無線ＬＡＮの規格である、ＩＥＥＥ８０２．１１ｇに基づく無線技術を利用してデータ通信を行なう機能を有する。なお、無線技術は、ＩＥＥＥ８０２．１１ｇに基づく技術に限定されることはなく、その他の無線技術であってもよい。したがって、通信部５６２は、ネットワーク７０と無線によりデータ通信を行なうことができる。ネットワーク７０は、インターネットなどの外部のネットワークである。
【００５２】
また、通信部５６２は、さらに、イーサネット（登録商標）を利用した通信用インターフェースの機能を有する。したがって、通信部５６２は、たとえば、ＬＡＮケーブルを介して、ネットワーク７０とデータ通信を行なうことができる。
【００５３】
したがって、本実施の形態における画像処理装置５００は、通信部５６２を介して、ネットワーク７０からプログラムのダウンロード処理を行ない、記憶部５２０に格納することもできる。この場合、当該ダウンロードしたプログラムは、プログラム１８０である。
【００５４】
制御部５１０は、ネットワーク７０からダウンロードしたプログラム（プログラム１８０）に従って、所定の処理を行なう。このダウンロード用プログラムは、予め、記憶部５２０に格納されており、ダウンロード処理は、制御部５１０が、ダウンロード用プログラムに基づいて行なう。
【００５５】
（色域の圧縮）
次に、画像入力装置１００の入力色空間のデータと、画像出力装置７００の出力色空間のデータとを対応づけた色変換ルックアップテーブル（以下、ルックアップテーブルともいう）を生成するための処理（以下、ＬＵＴ生成処理ともいう）について説明する。ＬＵＴ生成処理は、画像処理装置５００が行なう処理である。
【００５６】
図３は、ＬＵＴ生成処理のフローチャートである。図３を参照して、ＬＵＴ生成処理では、まず、ステップＳ１１０の処理が行なわれる。
【００５７】
ステップＳ１１０では、処理対象画像取得処理が行なわれる。処理対象画像取得処理では、制御部５１０が、画像入力装置１００が入力した画像（以下、処理対象画像ともいう）のデータを、画像入力装置１００に取得要求する。処理対象画像は、画像処理装置５００の処理の対象となる画像である。ここで、処理対象画像は、ＲＧＢ値で表現される画像であるとする。処理対象画像は、以下の図４に示す処理対象画像Ｇ１００であるとする。そして、制御部５１０は、画像入力装置１００から、処理対象画像Ｇ１００のデータを取得し、処理対象画像Ｇ１００のデータを、記憶部５２０に記憶させる。処理対象画像Ｇ１００のデータは、ＲＧＢ値のデータである。そして、ステップＳ１１０の処理は終了する。
【００５８】
図４は、一例としての処理対象画像Ｇ１００を示す図である。図４を参照して、処理対象画像Ｇ１００は、画像入力装置１００で入力可能な複数の色の一部の色で構成される。
【００５９】
再び、図３を参照して、ステップＳ１１０の処理の後、ステップＳ１１１に進む。
ステップＳ１１１では、処理対象画像表示処理が行なわれる。処理対象画像表示処理では、制御部５１０が、ＶＤＰ５３２を利用して、処理対象画像Ｇ１００を表示部５３０に表示させる。そして、ステップＳ１１２に進む。
【００６０】
ステップＳ１１２では、色域設定処理が行なわれる。色域設定処理では、制御部５１０が、画像入力装置１００で入力可能な色域（以下、入力装置入力色域ともいう）のデータと、画像出力装置７００で再現可能な色域（以下、出力装置再現色域ともいう）のデータとに基づいて、ＣＩＥＬＡＢ色空間内に、入力装置入力色域と、出力装置再現色域とを設定する。
【００６１】
なお、入力装置入力色域および出力装置再現色域のデータは、予め、記憶部５３０に記憶されているとする。ここで、設定された色域は、以下の図５に示すようになる。そして、ステップＳ１１２の処理は終了する。
【００６２】
図５は、ＣＩＥＬＡＢ色空間内の色域を示す図である。図５（Ａ）は、ＣＩＥＬＡＢ色空間における、ａ＊ｂ＊平面を示す。ａ＊およびｂ＊の各々は、彩度を示す。図５（Ａ）を参照して、色域ＩＮＲは、入力装置入力色域である。また、色域ＯＵＴＲは、出力装置再現色域である。なお、画像入力装置１００で処理可能な色データは、ＲＧＢ値のデータであるとする。また、画像出力装置７００で処理可能な色データは、ＣＭＹＫ値のデータであるとする。
【００６３】
図５（Ｂ）は、ＣＩＥＬＣＨ色空間における、Ｌ＊Ｃ＊平面を示す。Ｌ＊およびＣ＊は、それぞれ、明度および彩度を示す。図５（Ｂ）を参照して、色域ＩＮＲは、入力装置入力色域である。また、色域ＯＵＴＲは、出力装置再現色域である。
【００６４】
再び、図３を参照して、ステップＳ１１２の処理の後、ステップＳ１１３に進む。
ステップＳ１１３では、画像データプロット処理が行なわれる。画像データプロット処理では、まず、制御部５１０が、画像入力装置１００により入力された処理対象画像の全画素のＲＧＢ値に対して、Ｌ＊ａ＊ｂ＊値変換処理を行なう。
【００６５】
Ｌ＊ａ＊ｂ＊値変換処理では、制御部５１０が、記憶部５２０に記憶されている、ＩＣＣプロファイル５２２に含まれるルックアップテーブルにより、処理対象画像Ｇ１００のデータ（ＲＧＢ値）からＬ＊ａ＊ｂ＊値を算出する。ＩＣＣプロファイル５２２には、以下のルックアップテーブルＤ１００が含まれる。
【００６６】
ここで、ルックアップテーブルＤ１００は、画像入力装置１００固有のデータテーブルである。
【００６７】
図６は、一例としてのルックアップテーブルＤ１００を示す図である。図６を参照して、ルックアップテーブルＤ１００は、ｎ（自然数）個の色変換データを含む。ｎ個の色変換データの各々は、ＲＧＢ値に対応したＬ＊ａ＊ｂ＊値のデータを示す。
【００６８】
なお、ルックアップテーブルＤ１００には、全てのＲＧＢ値の各々に対応する色変換データが含まれるわけではない。ルックアップテーブルＤ１００には、代表的なｎ個の色にそれぞれ対応するｎ個のＲＧＢ値の各々に対応する色変換データが含まれる。ｎ個の色変換データの各々は、以下の図７に示すように、ＲＧＢ色空間における格子点に位置するデータである。
【００６９】
図７は、ＲＧＢ色空間における格子点を説明するための図である。図７を参照して、格子点とは、ＲＧＢ色空間において、Ｒ軸、Ｇ軸、Ｂ軸の各々が、所定数に分割されることによりできる点である。
【００７０】
Ｌ＊ａ＊ｂ＊値変換処理において、制御部５１０は、処理対象画像Ｇ１００のデータが示すＲＧＢ値を入力値として、ルックアップテーブルＤ１００を使用して、ＲＧＢ−Ｌ＊ａ＊ｂ＊補間演算処理を行なうことにより、Ｌ＊ａ＊ｂ＊値を算出する。
【００７１】
ＲＧＢ−Ｌ＊ａ＊ｂ＊補間演算処理は、たとえば、特開２００２−１０１３１２号公報の第００２８段落〜第００３４に開示されているような、一般的な演算方法である。
【００７２】
そして、制御部５１０では、ＲＧＢ−Ｌ＊ａ＊ｂ＊補間演算処理により算出されたＬ＊ａ＊ｂ＊値のデータを、ＣＩＥＬＡＢ色空間にプロットする。当然ながら、プロットされた各データは、入力装置入力色域ＩＮＲ内に存在する。以下においては、プロットされたデータをプロットデータともいう。そして、ステップＳ１１３の処理は終了する。
【００７３】
以上の画像データプロット処理が行なわれることにより、プロットされたデータは、以下の図８に示すようになる。
【００７４】
図８は、画像データプロット処理によりＣＩＥＬＡＢ色空間にプロットされたデータの一例を示す図である。図８（Ａ）は、ＣＩＥＬＡＢ色空間における、ａ＊ｂ＊平面においてプロットされたデータを示す。図８（Ａ）を参照して、色データＣＤ１、色データＣＤ２、色データＣＤ３が、ａ＊ｂ＊平面においてプロットされたデータである。
【００７５】
図８（Ｂ）は、ＣＩＥＬＣＨ色空間における、Ｌ＊Ｃ＊平面においてプロットされたデータを示す。図８（Ｂ）を参照して、色データＣＤ１、色データＣＤ２が、Ｌ＊Ｃ＊平面においてプロットされたデータである。
【００７６】
再び、図３を参照して、ステップＳ１１３の処理の後、ステップＳ１１４に進む。
ステップＳ１１４では、制御部５１０が、色選択操作があったか否かを判定する。色選択操作は、表示部５３０に表示されている画像において、ある領域を指定するためのインターフェース操作Ｐである。
【００７７】
ステップＳ１１４において、ＹＥＳならば、ステップＳ１１５に進む。一方、ステップＳ１１４において、ＮＯならば、再度、ステップＳ１１４の処理が行なわれる。ここで、以下の図９に示す領域ＳＲを指定するための色選択操作があったとする。この場合、ステップＳ１１４において、ＹＥＳと判定されて、ステップＳ１１５に進む。
【００７８】
図９は、指定された領域ＳＲを説明するための図である。領域ＳＲ内の色は、たとえば、肌色であるとする。以下においては、領域ＳＲ内の複数の画素の各々を、選択画素ともいう。ここで、複数の選択画素の各々の色データは、同一のＲＧＢ値を示すとする。また、複数の選択画素の各々の色データは、図８（Ａ）および図８（Ｂ）に示される色データＣＤ１であるとする。以下においては、色選択操作により選択された画素の色データを、選択色データともいう。したがって、色データＣＤ１は、選択色データである。
【００７９】
なお、複数の選択画素の各々の色データは、異なるＲＧＢ値を示してもよい。この場合、複数の選択画素にそれぞれ対応する複数の色データのＲＧＢ値の平均値が、選択色データとなる。
【００８０】
再び、図３を参照して、ステップＳ１１４において、ＹＥＳと判定されると、ステップＳ１１５に進む。
【００８１】
ステップＳ１１５では、固定色領域設定処理が行なわれる。
図１０は、固定色領域設定処理を説明するための図である。図１０（Ａ）および図１０（Ｂ）を参照して、固定色領域設定処理では、まず、制御部５１０が、選択色データである色データＣＤ１のＬ＊ａ＊ｂ＊値であるＬ＊ＣＤ１ａ＊ＣＤ１ｂ＊ＣＤ１値に基づき、明度がＬ＊ＣＤ１値となるａ＊ｂ＊平面において、色データＣＤ１のａ＊ＣＤ１ｂ＊ＣＤ１値を通る色相線Ｘ１を引き、色相線Ｘ１を、明度を変化させずに半時計回りに、所定角度γ（たとえば、１０度）だけ回転させた判定対象領域設定色相線Ｘ１ａを求める。また、制御部５１０は、色相線Ｘ１を、明度を変化させずに時計回りに、所定角度γ（たとえば、１０度）だけ回転させた判定対象領域設定色相線Ｘ１ｂを求める。判定対象領域については、後述する。
【００８２】
ここで、所定角度γは、後述する判定対象領域に、ルックアップテーブルＤ１００に含まれるｎ個の色変換データのうち、少なくとも１つの色変換データが示すＬ＊ａ＊ｂ＊値の色データが含まれるように設定される。このような設定を行なうのは、ＩＣＣプロファイルに含まれるルックアップテーブルの格子点に、特定の色圧縮を施しておかなければ、処理対象画像の色変換時に反映されることがないからである。そのためには、図７に示されるようなルックアップテーブルＤ１００のＲＧＢ値の刻み（格子点）が、所定値以上の細かさを持っていることが必要となる。
【００８３】
また、所定角度γは、ユーザが正確に出力機器において再現したいと考える色範囲を設定するものともなるため、ユーザによる入力により、指定・変更可能としてもよい。
【００８４】
図１０（Ａ）および図１０（Ｂ）に示される「×」マークは、ルックアップテーブルＤ１００に含まれるｎ個の色変換データのＬ＊ａ＊ｂ＊値のうち、図１０で表されるａ＊ｂ＊平面上、もしくはＬ＊Ｃ＊平面上の一部のものを示す。
【００８５】
そして、制御部５１０は、選択色データである色データＣＤ１を中心として、判定対象領域設定色相線Ｘ１ａと、判定対象領域設定色相線Ｘ１ｂとに接する円をａ＊ｂ＊平面上で描き、その円の半径と半径を同じくするＣＩＥＬＡＢ色空間内の球状の領域を、固定色領域ＣＲ１として設定する。
【００８６】
再び、図３を参照して、ステップＳ１１５において、固定色領域ＣＲ１が設定されると、ステップＳ１１６に進む。
【００８７】
ステップＳ１１６では、判定対象領域設定処理が行なわれる。
ここで、判定対象領域は、ａ＊ｂ＊平面上では領域ａｂＲ、Ｌ＊Ｃ＊平面上では領域ＬｃＲで現されるＣＩＥＬＡＢ色空間内の領域である。
【００８８】
ここで、領域ａｂＲは、図１１（Ａ）の示すａ＊ｂ＊平面において、斜線で示される領域である。すなわち、領域ａｂＲは、色域ＩＮＲ内の領域であって、かつ、固定色領域ＣＲ１より高彩度側の領域のうち、判定対象領域設定色相線Ｘ１ａと判定対象領域設定色相線Ｘ１ｂとに挟まれる領域である。
【００８９】
また、領域ＬｃＲは、図１１（Ｂ）の示すＬ＊Ｃ＊平面において、斜線で示される領域である。すなわち、領域ＬｃＲは、色域ＩＮＲ内の領域であって、かつ、固定色領域ＣＲ１より高彩度側の領域のうち、固定色領域ＣＲ１の球状領域の最高の明度と最低の明度との間の領域である。
【００９０】
ＣＩＥＬＡＢ色空間における判定対象領域は、図１１（Ａ）で表される平面の領域ａｂＲを、図１１（Ｂ）で表される領域ＬｃＲの上限明度Ｌｍａｘと下限明度Ｌｍｉｎの間で動かして得られる立体領域とする。
【００９１】
判定対象領域は、ルックアップテーブルＤ１００に含まれるｎ個の色変換データのうち、少なくとも１つの色変換データが示すＬ＊ａ＊ｂ＊値を含む領域である。判定対象領域が設定されると、ステップＳ１１７の処理が行なわれる。
【００９２】
ステップＳ１１７では、制御部５１０が、ステップＳ１１６で設定された判定対象領域内に、プロットデータがあるか否かを判定する。プロットデータは、図３のステップＳ１１３において行なわれた画像データプロット処理の結果、ＣＩＥＬＡＢ色空間にプロットされた処理対象画像の全画素についてのＬ＊ａ＊ｂ＊値である。
【００９３】
判定対象領域内にプロットデータがあれば（ステップＳ１１７でＹＥＳ）、ステップＳ１２０の色域圧縮処理Ａが行なわれる。判定対象領域内にプロットデータがなければ（ステップＳ１１７でＮＯ）、ステップＳ１４０の色域圧縮処理Ｂが行なわれる。まず、ステップＳ１２０の色域圧縮処理Ａについて、説明する。
【００９４】
図１２は、色域圧縮処理Ａのフローチャートである。制御部５１０は、ルックアップテーブルＤ１００に含まれるｎ個の色変換データを順に、記憶部５２０から読み出して、当該色変換データの色空間内の位置に応じた色圧縮処理を行ってゆく。
【００９５】
図１２を参照して、ステップＳ１２１では、制御部５１０によって、ｋ(自然数)の初期値として、“１”が与えられる。そして、ステップＳ１２２に進む。
【００９６】
ステップＳ１２２では、制御部５１０が、ルックアップテーブルＤ１００に含まれるｋ（自然数）番目の色変換データを、記憶部５２０から読み出す。以下においては、ステップＳ１２２の処理により読み出された色変換データが示すＬ＊ａ＊ｂ＊値を、処理対象色変換データともいう。
【００９７】
次に、ステップＳ１２３では、制御部５１０が、処理対象色変換データが、特定色相領域内にあるか否かを判定する。
【００９８】
特定色相領域は、図１３（Ａ）のａ＊ｂ＊平面上では判定対象領域設定色相線Ｘ１ａと判定対象領域設定色相線Ｘ１ｂとに挟まれる扇形領域ａｂＲ２である。また、特定色相領域は、図１３（Ｂ）のＬ＊Ｃ＊平面上では領域ＬｃＲ２で現されるＣＩＥＬＡＢ色空間内の領域である。
【００９９】
判定対象領域としての領域ａｂＲと特定色相領域としての領域ａｂＲ２との差異は、固定色領域ＣＲ１の高彩度側という限定があるか否かである。
【０１００】
ＣＩＥＬＡＢ色空間における特定色相領域は、判定対象領域と同様に、図１３（Ａ）で表される平面の領域ａｂＲ２を、図１１（Ｂ）で表される領域ＬｃＲの上限明度Ｌｍａｘと下限明度Ｌｍｉｎの間で動かして得られる立体領域である。
【０１０１】
ステップＳ１２３において、ＹＥＳならば、ステップＳ１２４に進む。一方、ステップＳ１２３において、ＮＯならば、後述するステップＳ１３０に進む。ここでは、処理対象色変換データが、特定色相領域内にあるとして、ステップＳ１２４に進む。
【０１０２】
ステップＳ１２４では、制御部５１０が、処理対象色変換データが固定色領域ＣＲ１より高彩度側にあるか否かを判定する。ステップＳ１２４において、ＹＥＳならば、ステップＳ１２５に進む。一方、ステップＳ１２４において、ＮＯならば、色域圧縮処理は行なわれずに、そのままステップＳ１２７に進む。ここでは、処理対象色変換データが固定色領域ＣＲ１より高彩度側にあるとして、ステップＳ１２５に進む。処理対象色変換データは、図１４（Ａ）および図１４（Ｂ）の処理対象色変換データＯＢＤであるとする。
【０１０３】
ステップＳ１２５では、収束点算出処理Ａが行なわれる。
図１４は、収束点算出処理Ａを説明するための図である。図１４（Ａ）は、ＣＩＥＬＡＢ色空間における、ａ＊ｂ＊平面の処理対象色変換データＯＢＤを示す。なお、点ａｂＯは、ａ＊軸と、ｂ＊軸との交点（ａ＊ｂ＊平面の原点）である。
【０１０４】
図１４（Ｂ）は、Ｌ＊Ｃ＊平面の処理対象色変換データＯＢＤを示す。処置対象色変換データＯＢＤと選択色ＣＤ１は、同一のＬ＊値を有するとする。
【０１０５】
収束点算出処理Ａでは、図１４（Ｂ）に示されるように、まず、制御部５１０が、処理対象色変換データＯＢＤを通り、球状の領域である固定色領域ＣＲ１の表面に接し、かつ、明度軸と交差するような直線Ｚを求める。そして、制御部５１０は、図１４（Ｂ）に示される、直線Ｚと、明度軸とが交わる点を、収束点ＣＰとして算出する。直線Ｚは、収束点ＣＰが、必ず処理対象色変換データＯＢＤの明度より大きい明度となるように求める。ここで、収束点算出処理Ａの計算により算出された収束点ＣＰは明度８０の位置であったとする。
【０１０６】
これは、後述の色域圧縮処理Ａによる処理対象色変換データＯＢＤの彩度の低下を、処理対象色変換データＯＢＤの明度を上げることで色の再現性を補うことができるためである。
【０１０７】
なお、収束点ＣＰが、明度軸上の明度１００より上の位置になった場合は、収束点ＣＰの位置を、明度軸上の明度１００の位置とする。また、明度軸と交わる点が求められない際にも、収束点ＣＰの位置を、明度軸上の明度１００の位置とする。そして、ステップＳ１２６に進む。
【０１０８】
ステップＳ１２６では、色域圧縮処理Ａが行なわれる。色域圧縮処理Ａでは、制御部５１０が、処理対象色変換データＯＢＤを、収束点算出処理Ａで算出された収束点ＣＰの方向に圧縮移動させることにより、処理対象色変換データＯＢＤの位置が、色域ＯＵＴＲ内の位置になるように、一般的な収束点色圧縮処理を行なう。
【０１０９】
収束点色圧縮処理とは、色空間内の明度軸上に設定された収束点に対して、処理対象色変換データから直線を引き、その直線に沿って圧縮されるように、所定の圧縮率を各色変換データに掛け合わせるものである。
【０１１０】
以下においては、上述したように収束点に向かって引かれた直線（たとえば、直線Ｚ）を、圧縮方向直線ともいう。ここで、図１４（Ａ）のａ＊ｂ＊平面において、圧縮方向直線と入力色域の最も外側の境界が交差する点と点ａｂＯとの距離を距離Ａとする。また、図１４（Ａ）のａ＊ｂ＊平面において、圧縮方向直線と出力色域の最も外側の境界が交差する点と点ａｂＯとの距離を距離Ｂとする。この場合、本発明においては、圧縮率は、圧縮率＝Ｂ／Ａの計算式により算出されるものとする。
【０１１１】
通常、出力色域のほうが、入力色域よりも小さいため、上記計算式により算出される圧縮率は０〜１の値をとる。このような計算方法は、たとえば、特開昭６３−２５４８８９号公報の第６頁の左上欄の第１０行目から、第６頁の右下欄の第１３行目に開示されているような、公知のものである。
【０１１２】
上記の色域圧縮処理Ａにより、処理対象色変換データＯＢＤのＬ＊ａ＊ｂ＊値は、たとえば、Ｌｋ、ａｋ、ｂｋから、Ｌｋ’、ａｋ’、ｂｋ’に変更される。以下においては、変更後のＬ＊ａ＊ｂ＊値を、Ｌ＊’ａ＊’ｂ＊’値と表す。
【０１１３】
制御部５１０は、変更された処理対象色変換データＯＢＤのＬ＊’ａ＊’ｂ＊’値を、ルックアップテーブルＤ１００において、対応するＲＧＢ値と関連づけて、記憶部５２０に記憶させる。そして、ステップＳ１２７に進む。
【０１１４】
ステップＳ１２７では、制御部５１０が、ｋの値を１インクリメントする。そして、ステップＳ１２８に進む。
【０１１５】
ステップＳ１２８では、制御部５１０が、ルックアップテーブルＤ１００に含まれる全ての色変換データについて処理が終了したか否かを判定する。ステップＳ１２８において、ＹＥＳならば、この色域圧縮処理は終了し、図３のＬＵＴ生成処理に戻り、ステップＳ１２０の次のステップＳ１６０に進む。一方、ステップＳ１２８において、ＮＯならば、再度、ステップＳ１２２の処理が行なわれる。ここでは、全ての色変換データについて処理が終了していないとして、ステップＳ１２２に進む。
【０１１６】
ステップＳ１２２では、前述した処理が行なわれるので詳細な説明は繰り返さない。
ステップＳ１２３では、前述した処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象色変換データが特定色相領域内にないとして、ＮＯと判定されて、ステップＳ１３０に進むとする。
【０１１７】
ステップＳ１３０では、制御部５１０が、処理対象色変換データが、境界処理領域内にあるか否かを判定する。境界処理領域は、以下の境界処理領域３ａＲ、および境界処理領域３ｂＲであるとする。
【０１１８】
図１５は、境界処理領域を説明するための図である。図１５を参照して、境界処理領域３ａＲ（横線で示される領域）は、判定対象領域設定色相線Ｘ１ａと境界色相線Ｘ３ａとに挟まれた領域である。境界色相線Ｘ３ａは、判定対象領域設定色相線Ｘ１ａを、明度を変化させずに半時計回りに、所定角度α（たとえば、１０度）だけ回転させた直線である。
【０１１９】
また、境界処理領域３ｂＲ（縦線で示される領域）は、判定対象領域設定色相線Ｘ１ｂと境界色相線Ｘ３ｂとの間の領域である。境界色相線Ｘ３ｂは、判定対象領域設定色相線Ｘ１ｂを、明度を変化させずに時計回りに、所定角度α（たとえば、１０度）だけ回転させた直線である。
【０１２０】
境界処理領域３ａＲと境界処理領域３ｂＲが、特定色相領域と同じく、Ｌ＊Ｃ＊平面で上限明度Ｌｍａｘから下限明度Ｌｍｉｎまでの所定の高さを有し、ＣＩＥＬＡＢ色空間内における立体領域であることは、繰り返しになるので、詳細な説明は行なわない。
【０１２１】
なお、所定角度αは、画像出力装置７００の特性や固定色領域の大きさなどを勘案して、適切な値を外部より与えてやってもよいし、所定のルールで導き出した値としてもよい。
【０１２２】
再び、図１２を参照して、ステップＳ１３０において、ＹＥＳならば、後述するステップＳ１３２に進む。一方、ステップＳ１３０において、ＮＯならば、ステップＳ１３６に進む。ここでは、処理対象色変換データは、境界処理領域内にないとして、ステップＳ１３６に進む。
【０１２３】
ステップＳ１３６では、通常の色圧縮処理である、色域圧縮処理Ｃが行なわれる。色域圧縮処理Ｃでは、制御部５１０が、明度軸上において、たとえば、明度７０の位置を収束点に設定する。そして、制御部５１０は、処理対象色変換データを、収束点の方向に移動させることにより、処理対象色変換データの位置が、色域ＯＵＴＲ内の位置になるように、一般的な収束点色圧縮処理を行なう。この収束点色圧縮処理では、色相の変化は生じない。収束点色圧縮処理は、ステップＳ１２６で記載した一般的な処理である。
【０１２４】
制御部５１０は、色域圧縮処理Ｃにより変更された処理対象色変換データのＬ＊’ａ＊’ｂ＊’値を、ルックアップテーブルＤ１００において、対応するＲＧＢ値と関連づけて、記憶部５２０に記憶させる。そして、ステップＳ１２７に進み、前述した処理が行なわれる。
【０１２５】
ステップＳ１２７では、制御部５１０が、ｋの値を１インクリメントする。そして、ステップＳ１２８に進む。
【０１２６】
ステップＳ１２８では、制御部５１０が、ルックアップテーブルＤ１００に含まれる全ての色変換データについて処理が終了したか否かを判定する。ステップＳ１２８において、ＹＥＳならば、この色域圧縮処理は終了し、図３のＬＵＴ生成処理に戻り、ステップＳ１２０の次のステップＳ１６０に進む。一方、ステップＳ１２８において、ＮＯならば、再度、ステップＳ１２２の処理が行なわれる。
【０１２７】
次に、処理対象色変換データが、境界処理領域３ａＲ内にある場合に、ステップＳ１３０において、ＹＥＳと判定されて、ステップＳ１３２に進んだ際の処理について説明する。
【０１２８】
ステップＳ１３２では、収束点算出処理Ｂが行なわれる。収束点算出処理Ｂでは、制御部５１０が、収束点を算出する処理を行なう。ここで、処理対象色変換データは、図１５に示される、境界処理領域３ａＲ内の処理対象色変換データＯＢＤ１であるとする。
【０１２９】
図１４（Ａ）において、点ａｂＯと、処理対象色変換データＯＢＤとの距離は、Ｄ１であるとする。図１５において、点ａｂＯと、処理対象色変換データＯＢＤ１との距離は、同じくＤ１であるとする。また、処理対象色変換データＯＢＤ１は、判定対象領域設定色相線Ｘ１ａを、半時計回りに、角度θ（たとえば、５度）だけ回転させた直線上にあるとする。
【０１３０】
ここで、判定対象領域設定色相線Ｘ１ａ上において、点ａｂＯから、距離Ｄ１だけ離れた位置のデータを処理対象色変換データＫとする。この場合、処理対象色変換データＫに対し、前述したステップＳ１２５の収束点算出処理Ａが行なわれることによって算出された収束点の明度Ｌ１は、図１２における処理対象色変換データＯＢＤ１と同じ値となるため、Ｌ１＝８０である。また一方、処理対象色変換データが、特定色相領域内にない場合に、通常の色域圧縮処理Ｃで設定される収束点の明度Ｌ２は、“７０”である。
【０１３１】
すなわち、処理対象色変換データの位置が、点ａｂＯからの距離が変化することなく、特定色相領域から少しでも外側になると、対応する収束点の明度が、“８０”から“７０”に急激に変化することになる。したがって、特定色相領域の近傍における、特定色相領域の内部の色変換データを用いて色変換される処理対象画像内の画素と、特定色相領域近傍の特定色相領域外の色変換データを用いて色変換される処理対象画像内の画素とでは、色変換前の色空間内での色差は本来小さいにも係わらず、色変換の結果のＬ＊ａ＊ｂ＊値は急激に変化する。すなわち、特定色相領域の近傍では、出力画像において、色の急激な変化が発生する場合が生じる。
【０１３２】
これを防ぐために、境界処理領域内の処理対象色変換データの収束点の明度Ｌを、以下の式（１）により算出する。
【０１３３】
Ｌ＝（Ｌ２−Ｌ１）×θ／α＋Ｌ１                              ・・・（１）
ここで、処理対象色変換データについて、Ｌ１は収束点算出処理Ａが行なわれることによって算出された収束点の明度、Ｌ２は通常の色域圧縮処理Ｃで設定される収束点の明度、θは判定対象領域設定色相線Ｘ１ａと処理対象色変換データを通る色相線とのなす角度、αは境界色相線Ｘ３ａと判定対象領域設定色相線Ｘ１ａとのなす角度である。処理対象色変換データＯＢＤ１に対応する収束点の明度Ｌを算出する場合、Ｌ２＝７０、Ｌ１＝８０、θ＝５、α＝１０を式（１）に代入すると、Ｌ＝（７０−８０）×５／１０＋８０＝７５となる。したがって、処理対象色変換データＯＢＤ１に対応する収束点は、明度軸上の明度が７５の位置となる。
【０１３４】
したがって、境界処理領域内の処理対象色変換データＯＢＤ１に対応する収束点を、式（１）により求めた明度を有する明度軸上の点とすることで、特定色相領域の近傍における、色の急激な変化を防ぐことができる。
【０１３５】
ここでは、処理対象色変換データが、境界処理領域３ａＲ内にあるとして、上記の説明を行なったが、境界処理領域３ｂＲについても、全く同様な処理が行なわれる。
【０１３６】
ステップＳ１３２の処理の後、ステップＳ１３４に進む。
ステップＳ１３４では、色域圧縮処理Ｂが行なわれる。色域圧縮処理Ｂでは、制御部５１０が、処理対象色変換データＯＢＤ１を、収束点算出処理Ｂにより算出された収束点の方向に移動させることにより、処理対象色変換データＯＢＤ１の位置が、色域ＯＵＴＲ内の位置になるように、一般的な収束点色圧縮処理を行なう。収束点色圧縮処理は、ステップＳ１２６で記載した一般的な処理である。
【０１３７】
制御部５１０は、色域圧縮処理Ｂにより変更された処理対象色変換データＯＢＤ１のＬ＊’ａ＊’ｂ＊’値を、ルックアップテーブルＤ１００において、対応するＲＧＢ値と関連づけて、記憶部５２０に記憶させる。そして、ステップＳ１２７に進み、前述した処理が行なわれる。
【０１３８】
ステップＳ１２７では、制御部５１０が、ｋの値を１インクリメントする。そして、ステップＳ１２８に進む。
【０１３９】
ステップＳ１２８では、制御部５１０が、ルックアップテーブルＤ１００に含まれる全ての色変換データについて処理が終了したか否かを判定する。ステップＳ１２８において、ＹＥＳならば、この色域圧縮処理は終了し、図３のＬＵＴ生成処理に戻り、ステップＳ１２０の次のステップＳ１６０に進む。一方、ステップＳ１２８において、ＮＯならば、再度、ステップＳ１２２の処理が行なわれる。
【０１４０】
次に、特定色相領域内にプロットデータがない場合の色域圧縮処理Ｂについて説明する。再び、図３を参照して、ステップＳ１１７では、制御部５１０が、ステップＳ１１６で設定された判定対象領域内に、プロットデータがあるか否かを判定する。プロットデータは、図３のステップＳ１１３において行なわれた画像データプロット処理の結果、ＣＩＥＬＡＢ色空間にプロットされた処理対象画像の全画素についてのＬ＊ａ＊ｂ＊値である。
【０１４１】
判定対象領域内にプロットデータがない場合（ステップＳ１１７でＮＯ）、ステップＳ１４０の色域圧縮処理Ｂが行なわれる。
【０１４２】
図１６は、特定色相領域内にプロットデータがない場合の状態を示す図であり、図８と比較すると、プロットデータＣＤ２がない状態である。
【０１４３】
図１７は、色域圧縮処理Ｂのフローチャートである。
ステップＳ１４１、ステップＳ１４２、ステップＳ１４３の処理は、それぞれ図１２のステップＳ１２１、ステップＳ１２２、ステップＳ１２３の処理と同一であるので、ここでは詳細な説明を繰り返さない。ステップＳ１４３において、ＹＥＳならば、ステップＳ１４４に進む。一方、ステップＳ１４３において、ＮＯならば、後述するステップＳ１５０に進む。ここでは、処理対象色変換データが、特定色相領域内にあるとして、ステップＳ１４４に進む。
【０１４４】
ステップＳ１４４では、制御部５１０が、処理対象色変換データが色域ＯＵＴＲ外にあるか否かを判定する。色域ＯＵＴＲは、画像出力機器の再現色域を表す。ステップＳ１４４において、ＹＥＳならば、ステップＳ１４５に進む。一方、ステップＳ１４４において、ＮＯならば、色域圧縮処理は行なわれずに、そのままステップＳ１４６に進む。ここでは、処理対象色変換データが色域ＯＵＴＲ外にあるとして、ステップＳ１４５に進む。
【０１４５】
ここで、処理対象色変換データは、図１６に示される、領域ａｂＲ内の処理対象色変換データＯＢＤ２であるとする。
【０１４６】
ステップＳ１４５では、色域圧縮処理Ｄが行なわれる。色域圧縮処理Ｄでは、通常の色域圧縮処理Ｃで設定された明度軸上の収束点（たとえば、明度７０の位置）を用いて、色域圧縮処理を行なう。そして、制御部５１０は、処理対象色変換データＯＢＤ２と収束点を通る直線Ｗを引き、その直線Ｗと色域ＯＵＴＲの境界とが交差する点Ｐ２を、新たな処理対象色変換データＯＢＤ２の位置とする。
【０１４７】
すなわち、色域圧縮処理Ｄでは、色域ＯＵＴＲ外の処理対象色変換データについては、すべて色域ＯＵＴＲの境界上の位置に移動させるように色域圧縮が行なわれる。色域ＯＵＴＲの境界上の点を求めるためには、たとえば、ステップＳ１２６で示された一般的な手法を用いることができる。
【０１４８】
制御部５１０は、上記の色圧縮処理Ｄにより変更された処理対象色変換データＯＢＤ２のＬ＊’ａ＊’ｂ＊’値を、ルックアップテーブルＤ１００において、対応するＲＧＢ値と関連づけて、記憶部５２０に記憶させる。そして、ステップＳ１４６に進み、前述した処理が行なわれる。
【０１４９】
ステップＳ１４６では、制御部５１０が、ｋの値を１インクリメントする。そして、ステップＳ１４７に進む。
【０１５０】
ステップＳ１４７では、制御部５１０が、ルックアップテーブルＤ１００に含まれる全ての色変換データについて処理が終了したか否かを判定する。ステップＳ１４７において、ＹＥＳならば、この色域圧縮処理は終了し、図３のＬＵＴ生成処理に戻り、ステップＳ１４０の次のステップＳ１６０に進む。一方、ステップＳ１４７において、ＮＯならば、再度、ステップＳ１４２の処理が行なわれる。ここでは、全ての色変換データについて処理が終了してないとして、ステップＳ１４２に進む。
【０１５１】
ステップＳ１４２では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。
【０１５２】
ステップＳ１４３では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象色変換データが特定色相領域内にないとして、ＮＯと判定されて、ステップＳ１５０に進むとする。
【０１５３】
ステップＳ１５０では、制御部５１０が、処理対象色変換データが、境界処理領域内にあるか否かを判定する。境界処理領域については、図１２のステップＳ１３０において説明を行なった領域と同一であるため、詳細な説明は繰り返さない。図１５では、境界処理領域３ａＲ（横線で示される領域）および境界処理領域３ｂＲ（縦線で示される領域）として示される。
【０１５４】
ステップＳ１５０において、ＹＥＳならば、ステップＳ１５４に進む。一方、ステップＳ１５０において、ＮＯならば、ステップＳ１５８に進む。ステップＳ１５８の色域圧縮処理Ｃは、図１２のステップＳ１３６と全く同一の処理であるため、詳細な説明は行なわない。ここでは、処理対象色変換データは、境界処理領域３ａＲ内にあるとして、ステップＳ１５４に進む。この場合、境界処理領域３ａＲ内にある処理対象色変換データは、図１８に示す処理対象色変換データＯＢＤ３であるとする。
【０１５５】
ステップＳ１５４では、圧縮率算出処理が行なわれる。
図１８は、圧縮率算出処理を説明するための図である。図１８は、圧縮率算出処理を説明しやすくするために、判定対象領域設定色相線Ｘ１ａと境界色相線Ｘ３ａの間の角度βを大きめに設定して、図１５の境界処理領域３ａＲを拡大した図である。
【０１５６】
図１８を参照して、処理対象色変換データＯＢＤ３は、判定対象領域設定色相線Ｘ１ａを、半時計回りに、角度θ（たとえば、５度）だけ回転させた色相線上にあるとする。
【０１５７】
点Ｐ３ａは、境界色相線Ｘ３ａと、色域ＩＮＲの境界との交点である。点Ｐ３ｂは、境界色相線Ｘ３ａと、色域ＯＵＴＲの境界との交点である。ここで、点ａｂＯと、点Ｐ３ａとの距離をｄ３ａと示す。点ａｂＯと、点Ｐ３ｂとの距離をｄ３ｂと示す。ここでは、ｄ３ａ＝１０、ｄ３ｂ＝６とする。
【０１５８】
特定色相領域内にプロットデータがなく、処理対象色変換データが特定色相領域内にない場合において、もし境界処理領域がなかったとした場合、処理対象色変換データは、通常の色域圧縮処理Ｃが施されることになる。ここで、上記ｄ３ａ＝１０、ｄ３ｂ＝６の値を用いて計算すると、通常の色域圧縮処理Ｃによる圧縮率ｍはｄ３ｂ／ｄ３ａであるため、 ｍ＝６／１０となる。
【０１５９】
一方、特定色相領域内にプロットデータがなく、かつ、処理対象色変換データが特定色相領域内にあり、かつ、処理対象色変換データが色域ＯＵＴＲ外にない場合、ステップＳ１４５の色域圧縮処理Ｄは行なわれず、処理対象色変換データに変化はない。この場合、処理対象色変換データの点ａｂＯ方向への圧縮率は、 “１”となる。
【０１６０】
すなわち、処理対象色変換データの位置が、特定色相領域から少しでも外側になると、圧縮率は、“１”から“６／１０”と急激に変化する。したがって、もし境界処理領域がなかったとした場合、特定色相領域の近傍における、特定色相領域の内部および外部の色変換データは急激に変化することになる。
【０１６１】
この急激な変化を緩和し、圧縮率を１から徐々に減らして、境界色相線Ｘ３ａ上での通常の色域色圧縮Ｃによる圧縮率に一致させるために、境界処理領域内の処理対象色変換データの圧縮率ｍｓは、以下の式（２）で算出する。
【０１６２】
ｍｓ＝１＋（ｍ−１）×θ／β                                  ・・・（２）
ここで、処理対象色変換データについて、ｍは通常の色域圧縮処理による圧縮率、θは処理対象色変換データと点ａｂＯとを通る直線と判定対象領域設定色相線Ｘ１ａとのなす角度、βは境界色相線Ｘ３aと判定対象領域設定色相線Ｘ１ａとのなす角度である。
【０１６３】
境界色相線Ｘ３ｂ側について、圧縮率ｍｓを求める際には、θは処理対象色変換データ点ａｂＯとを通る直線と判定対象領域設定色相線Ｘ１ｂのなす角度、βは境界色相線Ｘ３ｂと判定対象領域設定色相線Ｘ１ｂとのなす角度になる。従って、処理対象色変換データＯＢＤ３の圧縮率ｍｓは、ｍ＝６／１０、θ＝５、β＝１０を式（２）に代入すると、ｍｓ＝１＋（６／１０−１）×５／１０＝１＋（−２／５）×５／１０＝８／１０となる。
【０１６４】
したがって、境界処理領域内の処理対象色変換データの圧縮率ｍｓを、式（２）により求めることにより、特定色相領域の近傍における、色の急激な変化を防ぐことができる。
【０１６５】
再び、図１７を参照して、ステップＳ１５４の処理の後、ステップＳ１５６に進む。
ステップＳ１５６では、色域圧縮処理Ｅが行なわれる。色域圧縮処理Ｅでは、通常の色域圧縮処理Ｃで設定された明度軸上の収束点（ここでは、明度７０の位置）を用いて、色域圧縮処理を行なう。制御部５１０は、処理対象色変換データＯＢＤ３を、ステップＳ１５４の圧縮率算出処理で算出した圧縮率ｍｓ＝８／１０で、収束点の方向に圧縮することにより、処理対象色変換データの位置が、色域ＯＵＴＲ内の位置になるような、収束点色圧縮処理を行なう。収束点色圧縮処理は、図１２のステップＳ１２６で記載した一般的な処理である。
【０１６６】
制御部５１０は、色域圧縮処理Ｅにより変更された処理対象色変換データＯＢＤ３のＬ＊’ａ＊’ｂ＊’値を、ルックアップテーブルＤ１００において、対応するＲＧＢ値と関連づけて、記憶部５２０に記憶させる。そして、ステップＳ１４６に進み、前述した処理が行なわれる。
【０１６７】
ステップＳ１４６では、制御部５１０が、ｋの値を１インクリメントする。そして、ステップＳ１４７に進む。
【０１６８】
ステップＳ１４７では、図１２のＳ１２８と同様な処理が行なわれるので詳細な説明は繰り返さない。以上説明した処理が、ルックアップテーブルＤ１００に含まれる全ての色変換データについて行なわれることにより、ステップＳ１４７でＹＥＳと判定され、この色域圧縮処理は終了し、図３のＬＵＴ生成処理に戻り、ステップＳ１４０の次のステップＳ１６０に進む。
【０１６９】
色域圧縮処理が終了することで、記憶部５２０には、以下のルックアップテーブルＤ１００Ａが記憶される。すなわち、色域圧縮処理により、ルックアップテーブルＤ１００Ａが生成される。
【０１７０】
図１９は、一例としてのルックアップテーブルＤ１００Ａを示す図である。図１９を参照して、ルックアップテーブルＤ１００Ａは、ｎ個のＲＧＢ値を含む。ｎ個のＲＧＢ値は、Ｄ１００の値と同じ値である。また、ｎ個のＬ＊ａ＊ｂ＊値変換データの各々は、図１２または図１７の色域圧縮処理により関連づけられたＬ＊’ａ＊’ｂ＊’値を示す。
【０１７１】
なお、ｎ個のＬ＊’ａ＊’ｂ＊’値のうち、元のＬ＊ａ＊ｂ＊値と同じ値を示すものも含まれる。これは、図１２または図１７の処理において、各種色域圧縮処理が行なわれない色変換データがあるためである。たとえば、番号“３”のＬ＊ａ＊ｂ＊値変換データは、図１２のステップＳ１２４でＮＯと判定された色変換データか、もしくは、図１７のステップＳ１４４でＮＯと判定された色変換データである。
【０１７２】
再び、図１４（Ａ）および図１４（Ｂ）を参照して、ルックアップテーブルＤ１００Ａは、ＣＩＥＬＡＢ色空間において、選択色データである色データＣＤ１を含む固定色領域ＣＲ１については、色を変更することなく、特定色相領域内にある処理対象色変換データＯＢＤを収束点ＣＰ方向に移動させて、再現可能な色域ＯＵＴＲ内とする色域圧縮を行なう色変換テーブルである。
【０１７３】
また、収束点ＣＰの明度は、処理対象色変換データＯＢＤの明度よりも大きい値となる。
【０１７４】
再び、図３を参照して、ステップＳ１６０では、色変換テーブル生成処理が行なわれる。色変換テーブル生成処理は、ＲＧＢ値からＣＭＹＫ値に変換するためのデバイスリンクプロファイル用のルックアップテーブルを生成するための処理である。ここで、記憶部５２０に記憶されているＩＣＣプロファイル５２２には、さらに、以下のルックアップテーブルＤ２００が含まれる。ルックアップテーブルＤ２００は、画像出力装置７００の色再現特性を反映した固有のデータテーブルである。
【０１７５】
図２０は、一例としてのルックアップテーブルＤ２００を示す図である。図２０を参照して、ルックアップテーブルＤ２００は、ｎ個のＣＭＹＫ値変換データを含む。ｎ個のＣＭＹＫ値変換データ各々は、Ｌ＊ａ＊ｂ＊値と、ＣＭＹＫ値とが対応付けられたデータであるとする。
【０１７６】
なお、ルックアップテーブルＤ２００には、ＣＩＥＬＡＢ色空間における全てのＬ＊ａ＊ｂ＊値の各々に対応するＣＭＹＫ値変換データが含まれるわけではない。ルックアップテーブルＤ２００には、たとえば、代表的なｎ個の色にそれぞれ対応するｎ個のＬ＊ａ＊ｂ＊値の各々に対応するＣＭＹＫ値変換データが含まれる。ｎ個のＣＭＹＫ値変換データの各々は、以下の図２１に示すように、ＣＩＥＬＡＢ色空間における格子点に位置するデータである。
【０１７７】
図２１は、ＣＩＥＬＡＢ色空間における格子点を説明するための図である。図２１を参照して、格子点とは、ＣＩＥＬＡＢ色空間において、Ｌ＊軸、ａ＊軸、ｂ＊軸の各々が、所定数に分割されることによりできる点である。
【０１７８】
再び、図３を参照して、ステップＳ１６０の色変換テーブル生成処理では、制御部５１０が、図１９のルックアップテーブルＤ１００Ａと、図２０のルックアップテーブルＤ２００とを利用して、新たなルックアップテーブルを生成する。
【０１７９】
具体的には、制御部５１０が、ルックアップテーブルＤ１００Ａに含まれるＬ＊’ａ＊’ｂ＊’値を、ルックアップテーブルＤ２００を用いて、ＣＭＹＫ値を算出するためのＬ＊ａ＊ｂ＊−ＣＭＹＫ補間演算処理を行って、Ｌ＊’ａ＊’ｂ＊’値に対応するＣＭＹＫ値を算出する。以上のＬ＊ａ＊ｂ＊−ＣＭＹＫ補間演算処理を、制御部５１０は、ルックアップテーブルＤ１００Ａに含まれるｎ個のＬ＊ａ＊ｂ＊値変換データの全てに対し行なう。
【０１８０】
ここで、Ｌ＊ａ＊ｂ＊−ＣＭＹＫ補間演算処理は、たとえば、特開２００１−３３３２８５号公報の第０００８段落〜第００１５段落に開示されている、一般的な演算方法である。なお、ＣＭＹＫのうちのＫの値は、特開２００１−３３３２８５号公報の第００１４段落に記載されているＣを求める式と同様な式により算出される。
【０１８１】
以上のＬ＊ａ＊ｂ＊−ＣＭＹＫ補間演算処理により、ｎ個のＬ＊’ａ＊’ｂ＊’値に対応するＣＭＹＫ値が算出される。以下においては、Ｌ＊ａ＊ｂ＊−ＣＭＹＫ補間演算処理により算出されたＣＭＹＫ値を、Ｃ’Ｍ’Ｙ’Ｋ’値ともいう。
【０１８２】
そして、制御部５１０は、ｎ個のＬ＊’ａ＊’ｂ＊’値と、算出されたＣ’Ｍ’Ｙ’Ｋ’値とを対応付けて、記憶部５２０に記憶させる。
【０１８３】
以上の処理により、記憶部５２０には、以下のルックアップテーブルＤ３００が記憶される。
【０１８４】
図２２は、一例としてのルックアップテーブルＤ３００を示す図である。図２２を参照して、ルックアップテーブルＤ３００は、ｎ個の算出ＣＭＹＫ値変換データを含む。ｎ個の算出ＣＭＹＫ値変換データの各々は、Ｌ＊’ａ＊’ｂ＊’値と、Ｃ’Ｍ’Ｙ’Ｋ’値とが対応付けられたデータである。
【０１８５】
再び、図３を参照して、ステップＳ１６０の色変換テーブル生成処理では、制御部５１０が、図１９のルックアップテーブルＤ１００Ａと、図２２のルックアップテーブルＤ３００とにおいて、同じＬ＊’ａ＊’ｂ＊’値 を示すＲＧＢ値変換データおよび算出ＣＭＹＫ値変換データに基づいて、以下のルックアップテーブルＤ１００Ｃを生成する。そして、制御部５１０は、生成したルックアップテーブルＤ１００Ｃを、記憶部５２０に記憶させる。そして、このＬＵＴ生成処理は終了する。
【０１８６】
図２３は、一例としてのルックアップテーブルＤ１００Ｃを示す図である。図２３を参照して、ルックアップテーブルＤ１００Ｃは、ルックアップテーブルＤ１００Ａに含まれるｎ個のＲＧＢ値変換データがそれぞれ示すｎ個のＲＧＢ値と、ルックアップテーブルＤ３００に含まれるｎ個のＣ’Ｍ’Ｙ’Ｋ’値とをそれぞれ対応付けてテーブルである。
【０１８７】
すなわち、ルックアップテーブルＤ１００Ｃは、ＲＧＢ値から、画像出力装置７００の特性に応じたＣＭＹＫ値に変換するためのルックアップテーブルである。
【０１８８】
なお、本実施の形態では、ルックアップテーブルＤ３００を作成した上で、最終的なルックアップテーブルＤ１００Ｃを得ていた。しかしながら、これに限定されることなく、ルックアップテーブル作成の計算上で、ルックアップテーブルＤ３００の作成を省略して、直接ルックアップテーブルＤ１００Ｃを作成するような、計算手順で行なってもよい。
【０１８９】
（印刷処理）
次に、ＬＵＴ生成処理により生成されたルックアップテーブルＤ１００Ｃを使用して、画像を印刷するための印刷処理について説明する。
【０１９０】
図２４は、印刷処理のフローチャートである。図２４を参照して、ステップＳ２１０では、処理対象画像取得処理Ａが行なわれる。処理対象画像取得処理Ａでは、制御部５１０が、たとえば、画像入力装置１００により読み込まれて、記憶部５２０に記憶されている画像データを読み出す。ここで、読み出された画像データは、たとえば、図４の処理対象画像Ｇ１００のデータであるとする。処理対象画像Ｇ１００のデータは、ＲＧＢ値のデータであるとする。そして、ステップＳ２２０に進む。
【０１９１】
ステップＳ２２０では、色変換処理Ａが行なわれる。色変換処理Ａでは、制御部５１０が、ルックアップテーブルＤ１００Ｃを使用して、処理対象画像Ｇ１００のＲＧＢ値のデータを、ＣＭＹＫ値のデータに変換する。色変換処理Ａにおいては、ルックアップテーブルＤ１００Ｃを用いて、データ変換を行なう際に、通常の補間処理が実施される。
【０１９２】
ルックアップテーブルＤ１００Ｃは、選択色データである色データＣＤ１の色を変更することなく（色データＣＤ１を移動させることなく）、特定色相領域内にあり、かつ、固定色領域ＣＲ１より高彩度側にある処理対象色変換データＯＢＤを収束点ＣＰ方向に移動させる色域圧縮を行なう色変換テーブルである。また、ルックアップテーブルＤ１００Ｃは、選択色データである色データＣＤ１の色を変更することなく（色データＣＤ１を移動させることなく）、色データＣＤ２を収束点ＣＰ方向に移動させる色域圧縮を行なう色変換テーブルでもある。
【０１９３】
したがって、色変換処理Ａでは、選択色データである色データＣＤ１の色を変更することなく（色データＣＤ１を移動させることなく）、色データＣＤ２を収束点ＣＰ方向に移動させることにより、色域ＯＵＴＲ内とする色域圧縮が行なわれる。そして、ステップＳ２３０に進む。
【０１９４】
ステップＳ２３０では、出力処理が行なわれる。出力処理では、制御部５１０が、色変換処理Ａにより変換したＣＭＹＫ値のデータを、画像出力装置７００へ送信する。そして、この印刷処理は終了する。
【０１９５】
画像出力装置７００は、受信したＣＭＹＫ値のデータに基づいて、図４の処理対象画像Ｇ１００を出力画像として印刷した紙を外部に出力する。
【０１９６】
以上の処理が行なわれることにより、図３の処理において、色選択操作により選択した固定色領域の色を正確に再現した画像を印刷することができる。すなわち、特定の色を正確に再現することができるという効果を奏する。
【０１９７】
これは、色変換に用いられるルックアップテーブルにおいて、入力機器で入力された色が、出力機器で出力される色と同一であることが、ルックアップテーブルにおいて保証されていることから可能となるものである。
【０１９８】
また、固定色領域ＣＲ１と同等の色相と明度を有し、固定色領域ＣＲ１よりも高彩度側の色については、色域圧縮において、収束点を通常の色域圧縮（たとえば、図１２の色域圧縮処理Ｃ）における明度（たとえば、７０）より高い明度にしている。そのため、彩度の低下を明度を上げることで、人が感じる色再現性を向上させることができるという効果を奏する。
【０１９９】
また、色空間内において、固定色領域の近傍に位置する境界処理領域の色については、固定色領域の色と出力画像内で隣接していたとしても、色の段差を生じることなく、ユーザに違和感を持たせないようにできる。これは、色変換に用いられるルックアップテーブルにおいて、固定色領域の近傍に境界処理領域を設けて色域圧縮方法が急激に変化しないような緩和処理を行なったためである。
【０２００】
以上説明したように本実施の形態では、ＣＩＥＬＡＢ色空間において、色選択操作により選択された選択色データである色データＣＤ１の位置を中心として、図１０（Ａ）に示すように、球状の固定色領域ＣＲ１を算出する。
【０２０１】
そして、特定色相領域内に処理対象画像Ｇ１００の色データ（プロットデータ）があるか否かを判定する。特定色相領域は、前述したように、図１３（Ａ）のａ＊ｂ＊平面上では判定対象領域設定色相線Ｘ１ａと判定対象領域設定色相線Ｘ１ｂとに挟まれる扇形領域ａｂＲ２と、図１３（Ｂ）のａＬ＊Ｃ＊平面上では領域ＬｃＲ２とで現されるＣＩＥＬＡＢ色空間内の立体的な領域である。特定色相領域は、ルックアップテーブルＤ１００に含まれるｎ個の色変換データのうち、少なくとも１つの色変換データが示すＬ＊ａ＊ｂ＊値の色データが示す色相および明度を有する領域である。
【０２０２】
色域圧縮の対象となる処理対象色変換データは、図７に示す格子点上のＲＧＢ値に対応するＬ＊ａ＊ｂ＊値の色データである。
【０２０３】
特定色相領域内に処理対象画像Ｇ１００の色データ（プロットデータ）があり、かつ、色域圧縮の対象となる処理対象色変換データが特定色相領域内にあり、かつ、処理対象色変換データが固定色領域より高彩度側である場合、収束点算出処理Ａが行なわれる。
【０２０４】
まず、制御部５１０が、特定色相領域内の処理対象色変換データＯＢＤの位置と、固定色領域ＣＲ１の表面のうち、処理対象色変換データＯＢＤの明度より大きい明度の位置とを通る直線Ｚを求める。直線Ｚと、明度軸とが交わる点が、処理対象色変換データＯＢＤの収束点ＣＰとされる。
【０２０５】
そして、処理対象色変換データＯＢＤを、算出された収束点ＣＰの方向に移動させることにより、処理対象色変換データＯＢＤの位置が、色域ＯＵＴＲ内の位置になるために、一般的な収束点色圧縮処理が行なわれる。
【０２０６】
以上の処理により、選択色データである色データＣＤ１を含む固定色領域ＣＲ１については、色圧縮を行なわずに、処理対象色変換データＯＢＤを、画像出力装置７００で再現可能な色域ＯＵＴＲ内に移動させる色域圧縮を行なうことが可能な色変換テーブル（ルックアップテーブルＤ１００Ｃ）が生成される。
【０２０７】
また、出力画像において、固定色領域ＣＲ１に含まれる再現色を忠実に再現しつつ、固定色領域近傍の再現色についても、固定色領域と隣接していたとしても急激な色の段差を生じることなく、印刷することができる。
【０２０８】
また、収束点ＣＰの明度は、処理対象色変換データＯＢＤの明度よりも大きい値となる。
【０２０９】
ここで、処理対象画像Ｇ１００の色データＣＤ２は、特定色相領域内にある。また、ＣＩＥＬＡＢ色空間において、処理対象画像Ｇ１００の色データＣＤ２は、処理対象色変換データＯＢＤの近傍の位置にある。
【０２１０】
前述したように、特定色相領域内の処理対象色変換データは、図１２のステップＳ１２５、Ｓ１２６の処理が行なわれる。
【０２１１】
そのため、生成された色変換テーブル（ルックアップテーブルＤ１００Ｃ）は、選択色データである色データＣＤ１を移動させることなく、特定色相領域内にある処理対象画像Ｇ１００の色データＣＤ２を、画像出力装置７００で再現可能な色域ＯＵＴＲ内の収束点ＣＰの近傍の明度軸上の点に移動させる色域圧縮を行なった再現色として印刷を行なうことが可能なテーブルとなる。
【０２１２】
したがって、ルックアップテーブルＤ１００Ｃを用いて、画像出力装置７００に画像を印刷させる場合、色選択操作により選択された選択色データを、正確に再現した画像を印刷することができる。すなわち、特定の色を正確に再現することができるという効果を奏する。
【０２１３】
以上説明した本発明では、選択色データの再現性を保持したまま、選択色データと同等の色相の高彩度側色域にバンディング等の不具合を発生させることなく、色域圧縮が可能となる。
【０２１４】
なお、本発明による色域圧縮処理では、固定色領域ＣＲ１の内側（無彩色側）に、周囲から色が移動してくることはない。ただし、元々、固定色領域ＣＲ１の内側（無彩色側）にある色は、そのままの色で再現されるため、色再現において空白領域が存在することはない。
（機能ブロック図）
図２５は、本実施の形態における制御部５１０の機能ブロック図である。図２５を参照して、制御部５１０は、指定部５１２と、判定部５１４と、色域圧縮部５１６とを含む。
【０２１５】
指定部５１２は、画像出力装置７００により入力された処理対象画像内の特定の色を第１の色として指定する。
【０２１６】
判定部５１４は、処理対象画像に含まれる複数の色において、指定部５１２により指定された第１の色の色相と同等の色相および第１の色の明度と同等の明度で表される色であって、かつ、第１の色より高彩度である第２の色があるか否かを判定する。
【０２１７】
色域圧縮５１６は、第２の色があると判定された場合、第１の色の位置は維持した状態で、第２の色の位置を第２の装置で出力可能な色域内の位置に移動させる。
【０２１８】
なお、制御部５１０に含まれる、指定部５１２、判定部５１４および色域圧縮部５１６の全てまたは一部は、ハードウエアで構成されてもよい。
【０２１９】
（第２の実施の形態）
第１の実施の形態においては、判定対象領域、および、特定色相領域については、三角柱を一部くりぬいたような形状、および三角柱に近い形状であったが、第２の実施の形態では、判定対象領域設定色相線Ｘ１ａと判定対象領域設定色相線Ｘ１ｂとを固定にしないで処理を説明する。
【０２２０】
固定色領域ＣＲ１が存在する特定の明度Ｌ＊におけるａ＊ｂ＊平面では、領域ａｂＲは、図１１（Ａ）の示すａ＊ｂ＊平面において、斜線で示される領域であり、第１の実施の形態と同一である。すなわち、第２の実施の形態において、領域ａｂＲは、色域ＩＮＲ内の領域であって、かつ、固定色領域ＣＲ１より高彩度側の領域のうち、判定対象領域設定色相線Ｘ１ａと判定対象領域設定色相線Ｘ１ｂとに挟まれる領域である。
【０２２１】
図１１（Ａ）では、選択色データＣＤ１の明度Ｌ＊におけるａ＊ｂ＊平面が示されているが、先に説明したように固定色領域ＣＲ１は球状の領域であるため、別の明度Ｌ＊におけるａ＊ｂ＊平面では、固定色領域ＣＲ１の別の部分の断面となるため、ａ＊ｂ＊平面上での、固定色領域ＣＲ１の断面の円半径は、異なる値をとる。
【０２２２】
各明度Ｌ＊におけるａ＊ｂ＊平面では、当該ａ＊ｂ＊平面における固定色領域ＣＲ１の断面の円半径に接するように、判定対象領域設定色相線Ｘ１ａ’と判定対象領域設定色相線Ｘ１ｂ’とを設定する。その結果、各明度Ｌ＊におけるａ＊ｂ＊平面では、判定対象領域設定色相線Ｘ１ａ’と判定対象領域設定色相線Ｘ１ｂ’との間の角度が、異なった値となる。
【０２２３】
また、領域ＬｃＲは、図１１（Ｂ）の示す選択色ＣＤ１が存在するＬ＊Ｃ＊平面においては、斜線で示される領域であり、第１の実施の形態と同一である。しかし、選択色ＣＤ１が存在するＬ＊Ｃ＊平面から、色相角度を動かしてゆくと、第２の実施の形態においては、判定対象領域設定色相線Ｘ１ａ’と判定対象領域設定色相線Ｘ１ｂ’とが変化するのに対応して、Ｌ＊Ｃ＊平面における領域ＬｃＲは、両側から次第に狭められてゆき、固定色領域ＣＲ１と接するＬ＊Ｃ＊平面において、点領域となる。
【０２２４】
特定色相領域、および境界処理領域についても、上述した判定対象領域設定色相線Ｘ１ａと判定対象領域設定色相線Ｘ１ｂとを用いて定義される。
【０２２５】
第２の実施の形態では、領域の設定方法が異なる以外は、図１２と図１７のフローチャートによる第１の実施の形態と同一の処理が行なわれる。
【０２２６】
第２の実施の形態で説明した領域設定方法を用いると、入力された色と出力される色とを一致させる領域を、より正確に固定色領域ＣＲ１に限定できる。そのため、近傍の処理対象色変換データについて、適切な境界処理が行なわれることになる。但し、第１の実施の形態においては、計算コストが軽減されることから、計算処理スピードを向上させることができ、第２の実施の形態においては、より厳密な色変換が実現できる代わりに、第１の実施の形態と比較すると、計算処理スピードが若干遅くなるという、トレードオフの関係となる。
【０２２７】
なお、第１および第２の実施の形態においては、ルックアップテーブルＤ１００Ｃのいわゆるデバイスリンクプロファイルを作成した。しかしながら、これに限定されることはない。たとえば、入力機器のプロファイルとしてルックアップテーブルＤ１００が含まれたものを用い、出力機器のプロファイルとして、本色域圧縮法を適用したＬ＊ａ＊ｂ＊−ＣＭＹＫ変換が可能な別のルックアップテーブルを作成した上で、通常用いられる方法にて、入力画像から出力画像への色変換を行なったとしても、同等の効果が得られる。
【０２２８】
また、第１および第２の実施の形態においては、処理対象画像を入力して、ルックアップテーブルを作成する手順を示した。しかしながら、これに限定されることはない。たとえば、作成されたルックアップテーブル、もしくは、当該ルックアップテーブルを使用したＩＣＣプロファイルを保存していて、別の処理対象画像について、適用させることも、可能である。
【０２２９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０２３０】
【図１】本実施の形態における画像処理システムの構成を示す図である。
【図２】画像処理装置の内部構成を示したブロック図である。
【図３】ＬＵＴ生成処理のフローチャートである。
【図４】一例としての処理対象画像を示す図である。
【図５】ＣＩＥＬＡＢ色空間内の色域を示す図である。
【図６】一例としてのルックアップテーブルを示す図である。
【図７】ＲＧＢ色空間における格子点を説明するための図である。
【図８】画像データプロット処理によりＣＩＥＬＡＢ色空間にプロットされたデータの一例を示す図である。
【図９】指定された領域を説明するための図である。
【図１０】固定色領域設定処理を説明するための図である。
【図１１】固定色領域設定処理を説明するための図である。
【図１２】色域圧縮処理Ａのフローチャートである。
【図１３】特定色相領域を説明するための図である。
【図１４】収束点算出処理Ａを説明するための図である。
【図１５】境界処理領域を説明するための図である。
【図１６】特定色相領域内にプロットデータがない場合の状態を示す図である。
【図１７】色域圧縮処理Ｂのフローチャートである。
【図１８】圧縮率算出処理を説明するための図である。
【図１９】一例としてのルックアップテーブルを示す図である。
【図２０】一例としてのルックアップテーブルを示す図である。
【図２１】ＣＩＥＬＡＢ色空間における格子点を説明するための図である。
【図２２】一例としてのルックアップテーブルを示す図である。
【図２３】一例としてのルックアップテーブルを示す図である。
【図２４】印刷処理のフローチャートである。
【図２５】本実施の形態における制御部の機能ブロック図である。
【図２６】色域の圧縮を説明するための図である。
【図２７】色域の圧縮を説明するための図である。
【図２８】色域の圧縮を説明するための図である。
【符号の説明】
【０２３１】
７０  ネットワーク、１８０  プログラム、１００  画像入力装置、５００  画像処理装置、５１０  制御部、５２０  記憶部、５３０  表示部、７００  画像出力装置、１０００  画像処理システム。
【図１】
2008205577.tif 000003
【図２】
2008205577.tif 000004
【図３】
2008205577.tif 000005
【図４】
2008205577.tif 000006
【図５】
2008205577.tif 000007
【図６】
2008205577.tif 000008
【図７】
2008205577.tif 000009
【図８】
2008205577.tif 000010
【図９】
2008205577.tif 000011
【図１０】
2008205577.tif 000012
【図１１】
2008205577.tif 000013
【図１２】
2008205577.tif 000014
【図１３】
2008205577.tif 000015
【図１４】
2008205577.tif 000016
【図１５】
2008205577.tif 000017
【図１６】
2008205577.tif 000018
【図１７】
2008205577.tif 000019
【図１８】
2008205577.tif 000020
【図１９】
2008205577.tif 000021
【図２０】
2008205577.tif 000022
【図２１】
2008205577.tif 000023
【図２２】
2008205577.tif 000024
【図２３】
2008205577.tif 000025
【図２４】
2008205577.tif 000026
【図２５】
2008205577.tif 000027
【図２６】
2008205577.tif 000028
【図２７】
2008205577.tif 000029
【図２８】
2008205577.tif 000030