(57)【要約】【課題】  時々刻々と変動するデバイスの状態に応じた色変換を容易に行うことができるようにし、もってデバイスから出力される画像を常に望ましい色で出力することができる画像処理装置および方法を提供する。【解決手段】  入力色空間で表現された複数種類の多次色のパッチデータをそれぞれ、そのまま出力色空間で表現されたものとして出力デバイスに出力させ（５０２）、出力された各パッチの絶対色空間（Ｌ＊ａ＊ｂ＊）における色値を測定する（５０３）。一方で、ＣＭＹＫ→Ｌ＊ａ＊ｂ＊を示すＬＵＴに基づいて、上記パッチデータをそれぞれ絶対色空間に変換し、それぞれの色値を基準値として求める（５０８）。その後、絶対色空間における測色結果と対応する基準値との距離に基づいて、Ｌ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴを修正する（５１０）。【選択図】  図５
2005175806.tif 000002
【特許請求の範囲】
【請求項１】
入力色空間で表現された複数種類の多次色のパッチデータを出力デバイスに出力させる出力手段と、
前記出力デバイスから出力された各パッチの絶対色空間における色値を測定により得る測色手段と、
前記入力色空間と前記絶対色空間との対応関係を記述した第１の色変換テーブルに基づいて、前記入力色空間で表現される多次色のパッチデータを前記絶対色空間に変換して基準値を求める基準値算出手段と、
前記測色手段により測定された色値と、対応する前記基準値との距離を算出する距離算出手段と、
前記距離算出手段による算出結果に基づいて、前記絶対色空間と出力色空間との対応関係を記述した第２の色変換テーブルを修正する修正手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記距離算出手段は、算出した前記距離に、その距離に応じた重み付けを行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記距離算出手段で算出される各距離のスムージングを行う手段を更に有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
画像データを入力する入力手段と、
色再現精度もしくは処理速度に係るユーザの要求を受信する受信手段と、
前記画像データと前記ユーザの要求とに基づいて前記パッチデータを生成するパッチデータ生成手段と、
を更に有することを特徴とする請求項１から３までのいずれかに記載の画像処理装置。
【請求項５】
前記パッチデータ生成手段は、
前記ユーザの要求に応じて生成するパッチの個数を設定する手段と、
前記画像データにおける画素に対し、設定された前記パッチの個数でクラスタリングを行う手段と、
各クラスタに係るパッチの基準値を算出する手段と、
を含むことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
画像データを入力する入力手段と、
入力された前記画像データのうち、ユーザが所望するオブジェクト領域を指定する指定手段と、
指定された前記オブジェクト領域に基づいて前記パッチデータを生成するパッチデータ生成手段と、
を更に有することを特徴とする請求項１から３までのいずれかに記載の画像処理装置。
【請求項７】
入力色空間で表現された複数種類の多次色のパッチデータを出力デバイスに出力させる出力ステップと、
前記出力デバイスから出力された各パッチの絶対色空間における色値を測定により得る測色ステップと、
前記入力色空間と前記絶対色空間との対応関係を記述した第１の色変換テーブルに基づいて、前記入力色空間で表現される多次色のパッチデータを前記絶対色空間に変換して基準値を求める基準値算出ステップと、
前記測色ステップで測定された色値と、対応する前記基準値との距離を算出する距離算出ステップと、
前記距離算出ステップによる算出結果に基づいて、前記絶対色空間と出力色空間との対応関係を記述した第２の色変換テーブルを修正する修正ステップと、
を有することを特徴とする画像処理方法。
【請求項８】
前記距離算出ステップは、算出した前記距離に、その距離に応じた重み付けを行うことを特徴とする請求項７に記載の画像処理方法。
【請求項９】
前記距離算出ステップで算出される各距離のスムージングを行うステップを更に有することを特徴とする請求項７または８に記載の画像処理方法。
【請求項１０】
画像データを入力する入力ステップと、
色再現精度もしくは処理速度に係るユーザの要求を受信する受信ステップと、
前記画像データと前記ユーザの要求とに基づいて前記パッチデータを生成するパッチデータ生成ステップと、
を更に有することを特徴とする請求項７から９までのいずれかに記載の画像処理方法。
【請求項１１】
前記パッチデータ生成ステップは、
前記ユーザの要求に応じて生成するパッチの個数を設定するステップと、
前記画像データにおける画素に対し、設定された前記パッチの個数でクラスタリングを行うステップと、
各クラスタに係るパッチの基準値を算出するステップと、
を含むことを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
画像データを入力する入力ステップと、
入力された前記画像データのうち、ユーザが所望するオブジェクト領域を指定する指定ステップと、
指定された前記オブジェクト領域に基づいて前記パッチデータを生成するパッチデータ生成ステップと、
を更に有することを特徴とする請求項７から９までのいずれかに記載の画像処理方法。
【請求項１３】
請求項７から１２までのいずれかに記載の方法を実行するためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、望ましい色再現を行うための画像処理技術に関する。
【背景技術】
【０００２】
近年、出力デバイスのカラー化が進み、色情報を管理するカラーマネージメント技術の重要性が増してきている。モニタ等の入力デバイスとプリンタ等の出力デバイスとでは色の再現範囲が異なるため、入力デバイスの色情報をそのまま出力デバイスの色情報として扱うことができない。また、入力色空間と出力色空間とでは色空間の定義が異なる場合も多い。そこで従来より、入力デバイスの色情報をいったん絶対色空間へと変換し、その絶対色空間の情報を出力デバイスの色空間へと変換することで、入力デバイスのデータを出力デバイスにて出力するということが行われている。
【０００３】
図１は、入力デバイスから出力デバイスへ画像を出力する際の色空間の遷移を表した図である。入力色空間２０１はソースプロファイル２０２によって絶対色空間２０３へと変換される。そして、絶対色空間２０３はディスティネーションプロファイル２０４によって出力色空間２０５へと変換される。ここで、ソースプロファイル２０２は入力色空間を絶対色空間に変換するためのプロファイル、ディスティネーションプロファイル２０４は絶対色空間を出力色空間に変換するためのプロファイルのことを示しており、現在ではＩＣＣで定められたＩＣＣプロファイルが多く使われている。
【０００４】
図６は、ＩＣＣプロファイルのデータ表現形式について表した図である。図示のとおり、色空間の変換がルックアップテーブル（ＬＵＴ）で表現されている。同図（Ａ）は、デバイスに依存したＣＭＹＫデータをデバイスに依存しないＬ＊ａ＊ｂ＊データに変換するためのＬＵＴの例であり、（Ｂ）はデバイスに依存しないＬ＊ａ＊ｂ＊データをデバイスに依存するＣＭＹＫデータに変換するためのＬＵＴの例である。ソースプロファイルの場合は（Ａ）のようなＣＭＹＫ→Ｌ＊ａ＊ｂ＊のＬＵＴのみを利用し、ディスティネーションプロファイルの場合は（Ｂ）のようなＬ＊ａ＊ｂ＊→ＣＭＹＫのＬＵＴのみを利用するが、ＩＣＣプロファイルの仕様によれば、片方だけではなく両方のＬＵＴを持つようになっている。
【０００５】
一般には、ＩＣＣプロファイルはデフォルトのものが配布または組み込まれている。しかし、どのようなデバイスでも月日が経つと特性が変わってしまうため、その変わってしまった特性に合わせたＩＣＣプロファイルを得ることが重要となる。そこで、ＩＣＣプロファイルを初めから作成するツールや測色機が多く市場に出回っている。
【０００６】
また、出力デバイスであるプリンタと入力デバイスであるスキャナとを兼ね備えるＭＦＰ（Multi Function Peripheral）においては、一次色で構成された濃淡パッチを出力してそれをスキャナで読み込み、一次色についてのキャリブレーションを行うことで上記ＩＣＣプロファイルによるカラーマッチングの効果を高める操作が、従来より行われている。
【０００７】
【特許文献１】特開２００２−９４８１３号公報
【特許文献２】特開２００３−１８４１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特に出力デバイスが電子写真方式のプリンタであった場合、日々のデバイスの状態変化が激しいため、同じデバイスで同じプロファイルを用いたとしても日や時間が変わると出力画像が変化してしまい、望ましい色再現が得られないことが非常に多い。
【０００９】
また、同様の理由から、複数台のデバイスに対して同じプロファイルを用いて同じデータを出力したとしても、デバイス毎に色の違う画像が出力されてしまうという問題もある。
【００１０】
従来の技術として一次色の濃淡パッチを用いて出力状態を調整する手法があることを述べたが、この手法は一次色についての色合わせは行えても、複数の色を混ぜ合わせた多次色については色合わせの効果が薄い。
【００１１】
また、上記で述べた初めからＩＣＣプロファイルを作り直すツール及び測色機を用いればその時のデバイスの状態に合わせたＩＣＣプロファイルができあがるため、望ましい色で画像を出力することが可能だが、従来では多数のパッチを出力して測色を行った後、初めからプロファイルを作り出すための計算を行わなければならないため処理に時間がかかってしまい、電子写真など日々デバイスの状態が変動する機器に簡単に適用することが難しい。
【００１２】
したがって、本発明は、時々刻々と変動するデバイスの状態に応じた色変換を容易に行うことができるようにし、もってデバイスから出力される画像を常に望ましい色で出力することができる画像処理装置および方法を提供することを目的とする。
【００１３】
また、本発明は、同一のデータを複数台のデバイスで出力したときにそれぞれの出力結果の色がほぼ等しくなるような画像処理装置および方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一側面は画像処理装置に係り、入力色空間で表現された複数種類の多次色のパッチデータを出力デバイスに出力させる出力手段と、前記出力デバイスから出力された各パッチの絶対色空間における色値を測定により得る測色手段と、前記入力色空間と前記絶対色空間との対応関係を記述した第１の色変換テーブルに基づいて、前記入力色空間で表現される多次色のパッチデータを前記絶対色空間に変換して基準値を求める基準値算出手段と、前記測色手段により測定された色値と、対応する前記基準値との距離を算出する距離算出手段と、前記距離算出手段による算出結果に基づいて、前記絶対色空間と出力色空間との対応関係を記述した第２の色変換テーブルを修正する修正手段とを有することを特徴とする。
【００１５】
また、本発明の別の側面は画像処理方法に係り、入力色空間で表現された複数種類の多次色のパッチデータを出力デバイスに出力させる出力ステップと、前記出力デバイスから出力された各パッチの絶対色空間における色値を測定により得る測色ステップと、前記入力色空間と前記絶対色空間との対応関係を記述した第１の色変換テーブルに基づいて、前記入力色空間で表現される多次色のパッチデータを前記絶対色空間に変換して基準値を求める基準値算出ステップと、前記測色ステップで測定された色値と、対応する前記基準値との距離を算出する距離算出ステップと、前記距離算出ステップによる算出結果に基づいて、前記絶対色空間と出力色空間との対応関係を記述した第２の色変換テーブルを修正する修正ステップとを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、時々刻々と変動するデバイスの状態に応じた色変換を容易に行うことができ、これにより、画像を常に望ましい色でデバイスから出力させることができる。
【００１７】
また、本発明によれば、同一のデータを複数台のデバイスで出力する際に、それぞれの出力結果の色をほぼ等しくすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１９】
＜第１の実施形態＞
図２は、本実施形態における画像処理システムの構成例を示すブロック図である。この画像処理システムは例えば、それぞれ破線で示されるオフィス１０とオフィス２０とがインターネット１０８によって接続された環境で実現される。オフィス１０内に構築されたＬＡＮ１０９には、ＭＦＰ１０１、ＭＦＰ１０２、マネージメントＰＣ１０４、クライアントＰＣ１０５、及びＰｒｏｘｙサーバ１０６が、互いに通信可能に接続されている。また、オフィス１０内のＬＡＮ１０９とオフィス２０内のＬＡＮ１１０はｐｒｏｘｙサーバ１０６を介してインターネット１０８に接続されている。
【００２０】
ＭＦＰ１０１、１０２はそれぞれ、画像の出力を主に担当する。一方、マネージメントＰＣ１０４は、例えばＵＳＢ１１１を介して、ＭＦＰで出力されたカラーパッチを測色する測色機１０３と接続し、測色機１０３より得られた測色値を用いたプロファイルの更新等の画像処理、ＭＦＰへのプロファイルのアップロード及びダウンロードを担当する。また、このマネージメントＰＣ１０４は直結ＬＡＮ１１２を介してＭＦＰ１０２と接続されている。また、クライアントＰＣ１０５、１０７は、一般のユーザによって操作されるＰＣで、通常はここで画像データが作成され、ユーザの指示に基づいてその画像データがＭＦＰに送出される。
【００２１】
図３Ａは、マネージメントＰＣ１０４の構成を示すブロック図である。図示するように、このマネージメントＰＣ全体の制御をつかさどるＣＰＵ１、ブートプログラム等を記憶しているＲＯＭ２、主記憶装置として機能するＲＡＭ３をはじめ、以下の構成を備える。
【００２２】
ＨＤＤ４はハードディスク装置であって、ここにＯＳのほか、後述するカラーマネージメント・プログラムおよびパッチデータが格納されている。また、ＶＲＡＭ５は表示しようとするイメージデータを展開するメモリであり、ここにイメージデータ等を展開することでＣＲＴ６に表示させることができる。７および８はそれぞれ、各種設定を行うためのキーボードおよびマウスである。９はＵＳＢ１１１を介して測色機１０３に接続するためのＵＳＢインタフェース、１０はＬＡＮ１０９に接続するためのネットワーク・インタフェースである。また、このマネージメントＰＣ１０４は直結ＬＡＮ１１２を介してＭＦＰ１０２と接続されていることは先述したとおりである。
【００２３】
図３Ｂは、ＭＦＰ１０２の構成を示すブロック図である。ここではＭＦＰ１０２の構成を説明するが、ＭＦＰ１０１も同様の構成である。同図において、３０１はオートドキュメントフィーダーを含む画像読み取り部で、図示は省略するが、一枚または複数枚の原稿画像を光源で照射し、原稿反射像をレンズで固体撮像素子上に結像し、固体撮像素子からラスター状の画像読み取り信号を例えば６００ｄｐｉの密度の画像信号を得る。通常の複写機能は、この画像信号をデータ処理部３０５で記録信号に変換し、これを記録装置３０３に出力して紙上に画像を形成する、というものである。ここで、複数枚の原稿画像を複写する場合には、記憶装置３０２にいったん１ページ分の記録データを記憶保持した後、記録装置３０３に順次出力して紙上に画像を形成することになる。
【００２４】
このＭＦＰ１０２への操作者による指示は、ＭＦＰに装備されたキー操作部（図示せず）とマネージメントＰＣ１０４におけるキーボード７及びマウス８とによって実現される入力装置３０６から行われ、これら一連の動作はデータ処理装置３０５内の図示しない制御部で制御される。一方、操作入力の状態表示及び処理中の画像データの表示は表示装置３０４で行われる。
【００２５】
記憶装置３０２は上記のとおりページ単位の記録データを記憶保持するほか、ソースプロファイルならびにディスティネーションプロファイルを記憶している。なお、記憶装置３０２はマネージメントＰＣからも制御され、これらＭＦＰとマネージメントＰＣとのデータの授受及び制御はネットワークインタフェース（ＩＦ）３０７および／または直結ＬＡＮ１１２を用いて行われる。
【００２６】
また、クライアントＰＣ１０５から出力されるプリントデータは、ＬＡＮ１０９からネットワークＩＦ３０７を経てデータ処理装置３０５に入力され、ここで記録可能なラスターデータに変換された後、記録装置３０２によって紙上に記録画像として形成される。
【００２７】
ここで、クライアントＰＣ１０５からＣＭＹＫデータをＭＦＰ１０１、ＭＦＰ１０２に送った場合、データ処理部３０５では図４に示すような処理が行われる。データ処理部３０５がデータを受け取った際、画像データ４０１はＣＭＹＫで表現されている。これを、ソースプロファイル４０２を用いて、絶対色空間としてのＬ＊ａ＊ｂ＊で表現される画像データ４０３に変換する。次に、ディスティネーションプロファイル４０４を用いて、画像データ４０３を、ＣＭＹＫ’で表現される画像データ４０５に変換する。ここで、画像データ（ＣＭＹＫ）４０１と画像データ（ＣＭＹＫ’）４０５とはデータの次元は同じだが、それぞれ違うデバイスで定義されているため実際の値は異なる。また、このようにソースプロファイル４０２およびディスティネーションプロファイル４０４を介さず、４０６に示すように画像データ（ＣＭＹＫ）４０１をそのまま画像データ（ＣＭＹＫ’）４０５として出力することも可能になっている。ただし、この場合はデバイスの特性が反映されないため、意図とは違う画像が出力されてしまうことが多い。
【００２８】
（処理概要）
次に、本実施形態におけるマネージメントＰＣ１０４によるプロファイルの調整処理について、図５のフローチャートを用いて説明する。このフローチャートに対応するプログラムはマネージメントＰＣ１０４のＨＤＤ４にインストールされているカラーマネージメント・プログラムに含まれ、ＲＡＭ３にロードされてＣＰＵ１によって実行されるものである。
【００２９】
まず、ＨＤＤ４に保存してあるパッチデータを読み込む（ステップ５０１）。このパッチデータは１００色ほどの多次色で構成されたデータとなっており、ＣＭＹＫの数値データ及びその画像データとで構成されている。次に、ステップ５０２で、例えばＭＦＰ１０１にパッチデータの出力を行わせる。この際には、図４におけるソースプロファイル４０２およびディスティネーションプロファイル４０４を介さず、画像データ（ＣＭＹＫ）４０１をそのまま画像データ（ＣＭＹＫ’）４０５として出力する。そしてステップ５０３にて、測色機１０３を用いて、出力されたパッチの測色を行う。その測色結果はＵＳＢ１１１を介してマネージメントＰＣ１０４に送られ、Ｌ＊ａ＊ｂ＊測色値が算出される（ステップ５０４）。
【００３０】
一方、ステップ５０５において、ＩＣＣプロファイルの読み込みを行う。ここでは例えばＭＦＰ１０１において標準で用いられるディスティネーションプロファイルを読み込む。読み込みはＭＦＰ１０１からでもかまわないし、標準に用いられているものであればマネージメントＰＣ内に保存されているものでもかまわない。次に、ステップ５０６にて、ディスティネーションプロファイル内に含まれる、ＣＭＹＫをＬ＊ａ＊ｂ＊に変換するＬＵＴの取り出しを行う。そして、パッチの数値データとＣＭＹＫ→Ｌ＊ａ＊ｂ＊変換のＬＵＴとを用いて補間演算を行う（ステップ５０７）。この補間演算については後ほど詳しく説明する。その後、Ｌ＊ａ＊ｂ＊の基準値を算出する（ステップ５０８）。一方、ステップ５０９にて、ディスティネーションプロファイルからＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴの取り出しを行う。
【００３１】
その後、ステップ５１０にて、Ｌ＊ａ＊ｂ＊測色値、Ｌ＊ａ＊ｂ＊基準値、およびＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴを用いて、Ｌ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴの更新を行う。後述するように、この更新はＬＵＴを新規に作成するのではなく、元のＬＵＴの必要な箇所を部分的に修正するものである。そのため、パッチデータの数はプロファイルを新規作成する場合と比べて大幅に少なくすることが可能である。よって、測色にかかる時間や演算にかかる時間を新規作成する場合に比べて大幅に軽減することができる。
【００３２】
そして、ステップ５１１にて、この更新されたＬＵＴを用いてディスティネーションプロファイルを更新し、ステップ５１２で、更新後のディスティネーションプロファイルをＭＦＰ１０１に書き込む。
【００３３】
また、同様の処理をＭＦＰ１０１だけではなく、ＭＦＰ１０２にも適用することにより、従来電子写真の分野で問題となっていたデバイスの状態の違いによる色差を大幅に軽減することができる。よって、複数台のデバイスで同一のデータを出力させるクラスタプリントを、電子写真などの時間によって色の変化が激しい印刷方式でも行うことが可能となる。ただし、ＭＦＰ１０１とＭＦＰ１０２とではできる限り共通のディスティネーションプロファイルを用いることが望ましい。少なくとも、ＣＭＹＫ→Ｌ＊ａ＊ｂ＊変換を示すＬＵＴだけは同一である必要がある。
【００３４】
また、上記した処理によって更新されたディスティネーションプロファイルを利用して画像をプリンタで出力する場合、その画像はＣＭＹＫ画像である必要は無い。図９は実際の印刷時の流れを示したものだが、画像データ９０１を画像データ（Ｌ＊ａ＊ｂ＊）９０３に変換するソースプロファイル９０２が存在すれば、更新されたディスティネーションプロファイル９０４を用いて画像データ（ＣＭＹＫ）９０５を作成することができるからである。例えばソースプロファイル９０２がＲＧＢデータをＬ＊ａ＊ｂ＊データに変換するものであれば画像データ９０１はＲＧＢデータでかまわない。また、更新されたディスティネーションプロファイルが扱う絶対色空間（Ｌ＊ａ＊ｂ＊）に入力色空間を変換するものであるならばソースプロファイルはどのようなものを用いてもかまわない。
【００３５】
また、ディスティネーションプロファイルのＬ＊ａ＊ｂ＊→ＣＭＹＫへの変換を示すＬＵＴ、ＣＭＹＫ→Ｌ＊ａ＊ｂ＊への変換を示すＬＵＴは、入力が絶対色空間であればどのような形式でもかまわない。ただし、二つのＬＵＴで同じ定義の絶対色空間を用いている必要がある。また、実際の印刷時にはディスティネーションプロファイルが扱う絶対色空間と同じ絶対色空間への変換を表すＬＵＴを持つソースプロファイルが必要となる。
【００３６】
本実施形態におけるマネージメントＰＣの処理の概要は上記のとおりであるが、以下では、上記処理のうち、ステップ５０７における補間演算処理、およびステップ５１０におけるＬＵＴの更新処理について詳しく説明する。
【００３７】
まず、ステップ５０７における補間演算処理について説明する。
【００３８】
（補間演算処理）
ステップ５０７で行う補間演算は、ＣＭＹＫパッチデータに対するＬ＊ａ＊ｂ＊値の測色値を求めるための処理である。ステップ５０７を行う前に読み込んだＬＵＴは、ＣＭＹＫをＬ＊ａ＊ｂ＊に変換するためのもので、あるＣＭＹＫ値の組み合わせに対応したＬ＊ａ＊ｂ＊値が記述されている。このＬＵＴを用いて補間演算を行えば、パッチデータのＣＭＹＫ値に対するＬ＊ａ＊ｂ＊値を計算することができるのだが、ＣＭＹＫ色空間では理論上では同じＬ＊ａ＊ｂ＊値だとしても、Ｋの値が異なると実際の値が異なってしまう場合があるので、ここではそれを考慮した補間演算を行う。
【００３９】
図７は、本実施形態における補間演算処理を示すフローチャートである。
【００４０】
まず、ステップ７０１にて、ＣＭＹＫ→Ｌ＊ａ＊ｂ＊変換を行うＬＵＴを抽出する。次に、ステップ７０２にて、Ｋの値を基準としたグループ化を行う。一般にプロファイルのＬＵＴは入力側が段階的に増えることが多い。例えばＣ，Ｍ，Ｙ，Ｋがそれぞれ１７段階であるとすると、Ｋの値を基準にしてグループ化した場合、１７個のグループができることになる。
【００４１】
一方、ステップ７０３にてパッチデータの抽出を行う。これは一つのパッチのＣＭＹＫ値を抽出する操作である。そしてステップ７０４にて、取り出したＣ，Ｍ，Ｙ，Ｋ値のうちＫに着目する。これをＫ１とする。
【００４２】
次に、グループ化したＬＵＴのＫの値に着目する。そして、Ｋ１の値を囲むようなグループを２つ取り出す（ステップ７０５）。例えば色の階調が２５６段階で１７段階のＬＵＴがありＫ１が２０である場合、Ｋ＝１６のグループとＫ＝３２のグループを取り出す。ここで、Ｋの値が小さいグループをＫａ、Ｋの値が大きいグループをＫｂとする。そして、Ｋａ、ＫｂそれぞれのグループについてＣＭＹの値を用いた線形補間を行う。この際の線形補間では三次元の既知の手法を用いることができる（ステップ７０６、ステップ７０７）。その後、ステップ７０８にて、Ｋａ、Ｋｂの線形補間結果に対して、Ｋａ、Ｋｂの値を使って一次元の線形補間を行う。
【００４３】
このようにしてパッチデータの基準値が出力される。また、ステップ７０９により、すべてのパッチデータに対して処理が行われていないと判定された場合はステップ７０３へと戻り処理を繰り返す。すべてのデータに対して処理が行われたと判断された場合は処理を終了する。
【００４４】
以上説明した補間演算処理によれば、ディスティネーションプロファイルのＣＭＹＫからＬ＊ａ＊ｂ＊への変換を行うＬＵＴを利用し、またＫの値に対して特別な処理を行うことによってパッチデータに対する基準値を求めることができる。この結果はＬ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴを更新するステップ５１０にて利用される。
【００４５】
（Ｌ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴの更新処理）
ディスティネーションプロファイルは実際の印刷時に絶対色空間のデータを出力デバイスの色空間に変換する部分を担当する。よって、デバイスの不安定性により出力結果が異なるというのは、ディスティネーションプロファイルのＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴが適切ではないためであると言うことができる。よって、Ｌ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴの更新を行うステップ５１０は本発明の中でも特に重要な部分となる。
【００４６】
以下、Ｌ＊ａ＊ｂ＊からＣＭＹＫへの変換を示すＬＵＴの更新処理の実施例について図８のフローチャートを用いて詳しく説明する。
【００４７】
まず、ステップ８０１にて、Ｌ＊ａ＊ｂ＊からＣＭＹＫへの変換を示すＬＵＴのＬ＊ａ＊ｂ＊データ側を取り出す。ここで、Ｌ＊ａ＊ｂ＊データは増分が固定している格子点データであると考えることができる。図１１は、Ｌ＊ａ＊ｂ＊空間上に格子点データが存在している例を示す図である。例えばＬ＊ａ＊ｂ＊各３３段階のＬＵＴであった場合、このステップ８０１では、３３×３３×３３個ある格子点のうちの一つを取り出すということになる。
【００４８】
次にステップ８０２にて、各パッチデータの測色値及び基準値８１２をすべて取り出し、ステップ８０１で取り出したＬ＊ａ＊ｂ＊値と最も値が近い基準値を算出する。図１２に例を示す。基準値や測色値はＬ＊ａ＊ｂ＊データなので、図に示すように格子点空間の中に存在している。図１２の例では基準値１と基準値２が存在するが、注目されている格子点データＣにとって最も近い基準値は基準値１の方なのでそちらが選ばれる。
【００４９】
そしてステップ８０３に進み、ステップ８０２で算出された基準値と、測色値との差（距離）を計算する。そして、この値を用いてＬ＊ａ＊ｂ＊データを修正することができる。ただし、パッチデータの数が少ないと、格子点データから距離が大きく離れた基準値が取り出されることが多くなる。このような基準値に大きく影響をうけることは望ましくないため、本実施形態では、基準値と取り出されたＬ＊ａ＊ｂ＊データとの距離を算出し、それに応じた重み付けを行う（ステップ８０４）。たとえば、距離には三次元空間上でのユークリッド距離を用い、重みは以下の式を用いる。
【００５０】
Ｗ＝１／（ｄｉｓｔ5＋１）
ただし、Ｗは重み、ｄｉｓｔは基準値との距離を格子点３つ分の距離で正規化したものを表す。
【００５１】
以上の処理をすべてのＬＵＴのＬ＊ａ＊ｂ＊値に対して繰り返す（ステップ８０５）。
【００５２】
ステップ８０５までの処理により、すべてのＬ＊ａ＊ｂ＊格子点データに対して基準値と測色値との差が求まった。図１３は全ての格子点に対して基準値と測色値との差を求めた結果を模式的に表した図であり、矢印は測色値から基準値への方向ベクトルを表す。この方向ベクトルの分だけ格子点のＬ＊ａ＊ｂ＊値をずらすことでＬＵＴを更新できるのだが、影響の受ける基準値の違いにより、極端な方向・大きさの方向ベクトルが存在する可能性がある。図１３の例では丸で示した方向ベクトルＶが、周りの他の方向ベクトルに比べて極端な大きさを持つものとなっている。このようなベクトルが存在した場合は、更新した格子点のＬ＊ａ＊ｂ＊値が極端なものとなり擬似輪郭の原因となる。そこで、次にこの差に対してスムージング処理（ステップ８０６）を行うことにより、Ｌ＊ａ＊ｂ＊格子点データの更新が極端になることを防ぐ。スムージングの方法の例としては、注目格子点を中心として、５×５×５の範囲の格子点での値を合計し、その平均を算出する方法や、さらに注目格子点を数倍してから平均を算出する方法などが挙げられる。
【００５３】
そしてステップ８０７にて、スムージングをかけた基準値と測色値との差をＬ＊ａ＊ｂ＊格子点データに加えていくことで格子点データを更新する。
【００５４】
次に、ステップ８０８にて、変更後のＬ＊ａ＊ｂ＊データを一つ取り出す。変更されたＬ＊ａ＊ｂ＊データに対するＣＭＹＫ値がわかればディスティネーションプロファイルのＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴの更新が可能となる。そこで、更新前のＬ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴ８１３がＬ＊ａ＊ｂ＊からＣＭＹＫへの変換を記述するＬＵＴであることを利用して、更新されたＬ＊ａ＊ｂ＊値に対して三次元の線形補間演算を行う（ステップ８０９）。例として、図６の（Ｂ）に示すようなＬＵＴが挙げられるが、このように入力がＬ＊ａ＊ｂ＊となっているので、入力がＣＭＹＫの場合とは異なり特別な処理を行う必要がなく、公知の三次元の線形補間手法を適用すればよい。以上の処理を、更新後のすべてのＬ＊ａ＊ｂ＊データに対して行う（ステップ８１０）。
【００５５】
このようにして新しいＬ＊ａ＊ｂ＊値とそれに対応したＣＭＹＫ値が求まったので、その結果を用いてＬ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴを更新する（ステップ８１１）。
【００５６】
（パッチの数について）
パッチの数を約１００色用いると説明したが、必ずしもこの数でなければならないとは限らない。ただし、絶対色空間において各色が近づいている状態はあまり望ましくなく、各色がそれぞれ適度に距離が離れていることが望ましい。ここで、パッチの数が多ければ多くなるほど測色等に時間がかかるため、全体の処理速度が低下してしまうが、その代わりに精度は高くなる。また、パッチの数が少なくなればなるほど精度は低くなるが、全体の処理は高速化される。ここで、パッチの数は多すぎても少なすぎても適切な効果は得られないが、従来のプロファイルを新規に作り出す手法に比べれば、本発明は元のプロファイルにおける必要なデータ部分のみを修正する手法であるため大幅に少ないパッチ数で処理を行うことが可能となる。
【００５７】
（ディスティネーションプロファイルにてＣＭＹＫを直接扱えない場合の別実施形態）
上述の実施形態ではＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴを持つディスティネーションプロファイルを用いた例を記述したが、プリンタによっては直接Ｌ＊ａ＊ｂ＊→ＣＭＹＫ変換を行うディスティネーションプロファイルを持たないものがある。図１０は、ディスティネーションプロファイルの絶対色空間→出力色空間を示すＬＵＴがＬ＊ａ＊ｂ＊→ＲＧＢである場合のデータの流れを示した図である。ここで、ソースプロファイル１００２は画像データ（ＲＧＢ）１００１を画像データ（Ｌ＊ａ＊ｂ＊）１００３に変換するためのプロファイル、ディスティネーションプロファイル１００４は画像データ（Ｌ＊ａ＊ｂ＊）１００３を画像データ（ＲＧＢ’）１００５に変換するためのプロファイルである。画像データ（ＲＧＢ’）１００５はデバイスに依存したＲＧＢデータであり、プリンタがＲＧＢプリンタならばこの段階で出力し、ＣＭＹＫプリンタならば画像データ（ＲＧＢ’）１００５を画像データ（ＣＭＹＫ）１００６に変換して出力する。
【００５８】
ここでは、ＣＭＹＫデータの場合と同様に画像データ（ＲＧＢ）１００１を直接画像データ（ＲＧＢ’）１００５として扱うことも可能になっている。プリンタがＲＧＢプリンタであった場合は、プロファイル１００３，１００４を介さずにそのまま出力して測色して測色値を求める。一方、パッチのデータとディスティネーションプロファイルに含まれているＲＧＢ→Ｌ＊ａ＊ｂ＊を示すＬＵＴを用いて基準値を算出する。ここで、ＣＭＹＫではＫの値が特殊であったため、特別な補間方法を用いる必要があったが、この場合はそれに相当するものがないため、そのままＲＧＢで三次元の線形補間を行う。
【００５９】
そして、測色値、基準値、ディスティネーションプロファイルのＬ＊ａ＊ｂ＊→ＲＧＢを示すＬＵＴを利用することでディスティネーションプロファイルを更新することができる。ＣＭＹＫプリンタの場合は画像データ（ＲＧＢ’）１００５を画像データ（ＣＭＹＫ）１００６に変換する部分により精度が変化してしまうが同様に測色値を求め、適用することが可能である。
【００６０】
このように、ディスティネーションプロファイルが入力色空間から絶対色空間へと変換するＬＵＴと、絶対色空間から出力色空間へと変換するＬＵＴを持っており、それらのＬＵＴが扱う入力色空間と出力色空間が同じ種類のものであれば色空間の種類に関わらず本発明を適用可能である。
【００６１】
（Ｌ＊ａ＊ｂ＊からＣＭＹＫへの変換を示すＬＵＴの更新処理の別実施例）
以下、Ｌ＊ａ＊ｂ＊からＣＭＹＫへの変換を示すＬＵＴの更新処理（ステップ５１０）の別実施例について説明する。
【００６２】
図１４は、Ｌ＊ａ＊ｂ＊からＣＭＹＫへの変換を示すＬＵＴの更新処理の別実施例を示すフローチャートである。まず、ＬＵＴのＬ＊ａ＊ｂ＊データを取り出す（ステップ１４０１）。次に、予め算出した基準値と測色して求めた測色値１４１４を読み込み、ステップ１４０２で条件範囲の決定を行う。ここで条件範囲とは、取り出したＬＵＴの格子点を中心としたある一定の範囲をいい、次のステップ１４０３にてその範囲内に基準値が入っているかいないかの判定を行う。そして基準値が条件範囲の中に含まれている場合はすべての基準値と測色値を求め（ステップ１４０５）、その差の平均を算出する（ステップ１４１５）。例を図１５に示す。同図（Ａ）に示されるＬ＊ａ＊ｂ＊空間内の格子点データがステップ１４０１で取り出されたＬ＊ａ＊ｂ＊データである。（Ｂ）に示される直方体が、ステップ１４０２で設定される条件範囲である。この例では条件範囲が５×５×５の格子点分の大きさで設定される。図の例では基準値１，２の２つの基準値が条件範囲に含まれているため、それぞれ測色値との差を求めて平均を算出する。このようにすることにより、前述した実施例でのスムージング処理と同様の効果が得られ擬似輪郭を防止することが可能となる。
【００６３】
ステップ１４０３の条件分岐で基準値が範囲内に存在しないと判定された場合は、最も距離が近い基準値を算出し（ステップ１４０４）、その基準値と測色値との差を算出して距離に応じて重み付けする（ステップ１４０６）。例として、前述した例と同様に、距離は三次元空間上でのユークリッド距離を用い、重みは以下の式を用いる。
【００６４】
Ｗ＝１／（ｄｉｓｔ5＋１）
ただし、Ｗは重み、ｄｉｓｔは基準値との距離を格子点３つ分の距離で正規化したものを表す。
【００６５】
ここで、条件範囲外のものは色再現範囲外のデータであることが多いことから重みは一律の値（例えば四分の一等）でもかまわない場合も多い。
【００６６】
以上の操作をすべて行った後は、先述の例と同様に、算出した値を用いてすべてのＬ＊ａ＊ｂ＊格子点データに対して変更処理を行い（ステップ１４０９）、その変更したＬ＊ａ＊ｂ＊データを一つ取り出し（ステップ１４１０）、更新前のＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴ１４０８を用いてステップ１４１１にて線形補間（三次元）によるＣＭＹＫデータの算出を行う。最後にすべてのデータに対して処理を行ったのかを判定し（ステップ１４１２）、処理を行った場合はステップ１４１３にてＬ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴの更新処理を行う。
【００６７】
このようにすることにより、前述した例と同様にＬ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴを更新することが可能となる。
【００６８】
以上説明した第１の実施形態によれば、プロファイル内に含まれる入力色空間で定義されたデータを絶対色空間で定義されたデータに変換するＬＵＴを用いて算出した基準値と、測色して得られた測色値と、絶対色空間で定義されたデータを出力色空間で定義されたデータに変換するＬＵＴとを用いることによって、絶対色空間で定義されたデータを出力色空間に変換するプロファイルを更新することが可能となり、その時の状態に出力結果が左右されやすいデバイスに対しても最適なカラーマッチングを行うことが可能となる。この場合のプロファイルの更新は、プロファイルの新規作成ではなく、元のプロファイルの一部を変更することで済ますことができるので、従来のプロファイルをすべて作り直す手法に比べると、パッチの数を少なくすることができ、また処理が簡易になるので、プロファイルの更新に係る処理時間を大幅に縮小することが可能となる。
【００６９】
また、上述の実施形態のプロファイルの更新処理を、複数台のデバイスに適用することにより、すべてのデバイスにおいて最適なカラーマッチングが行え、従来手法の問題点であった複数台プリントにおけるデバイスごとの色差を大幅に軽減することが可能となる。
【００７０】
＜第２の実施形態＞
先述したとおり、初めからＩＣＣプロファイルを作り直すツール及び測色機を用いればその時のデバイスの状態に合わせたＩＣＣプロファイルができあがるため、望ましい色で画像を出力することが可能だが、多数のパッチを出力して測色を行った後、初めからプロファイルを作り出すための計算を行わなければならないため処理時間がかかってしまい、電子写真など日々デバイスの状態が変動する機器に関しては簡単に適用することが難しい。特に、ユーザがある限定された画像のみを出力したいという状況では、使用される色が限定されるにもかかわらずプロファイル一から作成することは作業効率が非常に悪いと言える。
【００７１】
そこで本実施形態では、ユーザの指定した特定の画像の色分布を分析し、その中で主に使われる色のみ抽出し、これにより、数が少なくてかつ最適なパッチを出力できるようにする。また、ここでは上述の第１の実施形態と同様に、ＩＣＣプロファイルを初めから作成するのではなく、元のプロファイルを修正することにより、作成した数の少ないパッチでプロファイルを更新することができ、もって処理時間の削減を実現する。
【００７２】
本実施形態における画像処理システムの構成、ならびにマネージメントＰＣおよびＭＦＰの構成はそれぞれ、図２、図３Ａ、図３Ｂと同様であるので、これら図２、図３Ａ、図３Ｂを援用することにする。
【００７３】
本実施形態では、クライアントＰＣ１０５からＣＭＹＫデータをＭＦＰ１０１、ＭＦＰ１０２に送った場合、データ処理部３０５では図１６に示すような処理が行われる。データ処理部３０５がデータを受け取った際、画像データ１６０１はＣＭＹＫで表現されている。これを、ソースプロファイル１６０２を用いて、絶対色空間としてのＬ＊ａ＊ｂ＊で表現される画像データ１６０３に変換する。次に、ディスティネーションプロファイル１６０４を用いて、画像データ１６０３を、ＣＭＹＫ’で表現される画像データ１６０５に変換する。ここで、画像データ（ＣＭＹＫ）１６０１と画像データ（ＣＭＹＫ’）１６０５とはデータの次元は同じだが、それぞれ違うデバイスで定義されているため実際の値は異なる。また、例外処理として、ソースプロファイル１６０２およびディスティネーションプロファイル１６０４を介さず、１６１０に示すように画像データ（ＣＭＹＫ）１６０１をそのまま画像データ（ＣＭＹＫ’）１６０５として出力することも可能になっている。ただし、この場合はデバイスの特性が反映されないため、意図とは違う画像が出力されてしまうことが多い。
【００７４】
また、上記の色変換機能はマネージメントＰＣ１０４やクライアントＰＣ１０５、１０７で実現することも可能である。さらに、ＲＧＢで表現された画像データ１６０６を入力とした場合でも、ソースプロファイル１６０７でＬ＊ａ＊ｂ＊の画像データに変換され、以下同様の処理が行われる。ただし、出力デバイスの色空間がＣＭＹＫであるため、１６１０の如く直接ＲＧＢを出力することはできない。
【００７５】
（処理概要）
次に、本実施形態におけるマネージメントＰＣ１０４によるプロファイルの調整処理について、図１７のフローチャートを用いて説明する。このフローチャートに対応するプログラムはマネージメントＰＣ１０４のＨＤＤ４にインストールされているカラーマネージメント・プログラムに含まれ、ＲＡＭ３にロードされてＣＰＵ１によって実行されるものである。
【００７６】
まず、例えばクライアントＰＣ１０５からそのユーザの指示に基づき出力される画像データを読み込む（ステップ１７０１）。次にステップ１７０２で、ユーザの要求を受け取る。この要求は最終的に出力するパッチの個数にかかわるものであり、ユーザから高精度な色補正を希望された場合は数が多くなり、補正する際の速度を重視した場合は数が少なくなる。
【００７７】
次にステップ１７０３に進み、ステップ１７０１で読み込んだ画像データの全画素データを、デバイスに依存しない絶対色空間（例えば、Ｌ＊ａ＊ｂ＊）に変換する。一般に、出力する際の画像データはＲＧＢやＣＭＹＫといったデバイスに依存した色空間で定義される。これらは色空間内の距離に応じて人間からの見た目が変わるといったものではないため、この後の処理で行うクラスタリング処理においては適切ではない。それに対してＬ＊ａ＊ｂ＊等に代表される絶対色空間は距離に応じて見た目の色が変わるため、この後のクラスタリング処理にふさわしいものであるということができる。よって、このステップ１７０３の処理は必須である。ここで、本実施形態ではＬ＊ａ＊ｂ＊を利用するが、デバイスに依存しないものであればどの色空間を用いても問題はない。
【００７８】
次にステップ１７０４で、クラスタリング処理を利用してユーザの要望を満たすパッチ数分の代表値を算出する。これにより、ユーザの要望を満たす数のＬ＊ａ＊ｂ＊データが出力される。そしてこのデータをステップ１７０５で出力色空間の形式に変換し、次のステップ１７０６で出力する。
【００７９】
そして、ステップ１７０７で、ユーザによって印刷を要求されたすべての画像データに対して処理を行ったかどうかを判断し、すべての画像データに対して処理を行った場合はステップ１７０８へ進み、そうではない場合はステップ１７０１へ戻り処理を繰り返す。
【００８０】
ステップ１７０８では、類似データの削除を行う。複数枚の画像に対して処理を行った場合は類似した色データが出力される場合がある。このようなデータが存在すると処理時間がかかってしまうため、削除する必要がある。
【００８１】
次にステップ１７０９で、パッチ画像の作成を行う。本実施形態ではＣＭＹＫで出力するプリンタに関するものであるため、ここではＣＭＹＫパッチを作成する。ＣＭＹＫ以外の色を用いて出力するプリンタである場合はその出力色空間に合わせたパッチを作成することになる。
【００８２】
最後にステップ１７１０で、プロファイルの更新処理を行う。ここでは上記の処理で作成されたパッチデータを用いる。これにより、プロファイルの必要な箇所だけを修正することを可能にする。このステップ１７１０は第１の実施形態で説明した図５のフローチャートに従う処理に相当する。したがって、このステップ１７１０の具体的な処理については第１の実施形態の説明を参照されたい。
【００８３】
本実施形態におけるマネージメントＰＣの処理の概要は上記のとおりであるが、以下では、ステップ１７０２〜１７０５の各処理についてより具体的に説明する。
【００８４】
（ステップ１７０２：ユーザ要求の受信について）
まず、ステップ１７０２のユーザ要求の受信について説明する。
【００８５】
ステップ１７０２ではユーザ要求の受信を行う。上記したとおり、このユーザ要求には、ユーザが色再現の精度を重視するか、色補正にかかる時間を短くするかの情報が含まれる。ＬＵＴを書き換える処理を考えた場合、一般には、パッチの数が多いほど色再現の精度は上がるが処理時間が増大し、逆に、パッチの数が少ないほど処理時間は短くて済むが色再現の精度は劣化すると。そこで、そのようなトレードオフの関係を利用して、図１８に示すようなＵＩ画面を提示することによってユーザに要求の決定を促す。図１８では、色再現精度と処理速度のトレードオフの関係がスライドバーの形式で表示されており、ユーザは例えばマウスを用いて三角形のポインタをスライドさせることで色再現精度および処理速度を指定することができる。たとえば、処理速度がかかっても色再現性を重視したいという場合はポインタを右側に、色再現性は高くなくてよいが、処理速度を早くしたいという場合はポインタを左側に位置させる。この位置情報がユーザ要求としてステップ１７０４のクラスタリング処理で用いられる。
【００８６】
（ステップ１７０３：絶対色空間への変換処理）
ステップ１７０３では、デバイスに依存した色空間をデバイスに依存しない色空間へ変換するための処理を行う。変換方法としてはどのようなものを用いてもかまわないが、ここではＬＵＴを用いて補間する方法について説明する。
【００８７】
ＩＣＣプロファイルの中にはデバイスに依存した色空間をデバイスに依存しない色空間（絶対色空間）へと変換するＬＵＴと、デバイスに依存しない色空間をデバイスに依存した色空間へと変換するＬＵＴがある。そこで、このＬＵＴを用いて補間演算を行うことで色変換を行う。ここでは特にソースプロファイルとして使用されているＬＵＴ（デバイスに依存した色空間→デバイスに依存しない色空間）を用いる。実際の印刷過程で用いられているＬＵＴを使用したほうが最適なパッチを出力できるからである。
【００８８】
画像データの色空間がＲＧＢである場合は公知の手法の補間演算を行えばよいが、ＣＭＹＫの場合だと理論上は同じＬ＊ａ＊ｂ＊値だとしても、Ｋの値によって実際の色が大きく異なる場合があるので、ここではそれを考慮した補間演算を行う。
【００８９】
図１９は、本実施形態における補間演算処理を示すフローチャートである。
【００９０】
まず、ステップ１９０１で、受け取った画像データがＣＭＹＫ画像であるか否かの判定を行う。ここでもし、ＣＭＹＫ画像でない場合はステップ１９０２へと進み、公知の手法で線形補間を行う。例えば画像データがＲＧＢデータである場合はＲＧＢ→Ｌ＊ａ＊ｂ＊のＬＵＴを取り出して三次元での線形補間を行い、処理を終了する。読み込んだデータがＣＭＹＫデータである場合はステップ１９０３に進み、ＣＭＹＫ→Ｌ＊ａ＊ｂ＊変換を行うＬＵＴを抽出する。
【００９１】
次に、ステップ１９０４で、Ｋの値を基準としたグループ化を行う。一般にプロファイルのＬＵＴは入力側が段階的に増えることが多い。例えばＣ，Ｍ，Ｙ，Ｋがそれぞれ１７段階であるとすると、Ｋの値を基準にしてグループ化した場合、１７個のグループができることになる。
【００９２】
一方、ステップ１９０５にて、画像データから画素データの取り出しを行う。ここではすべての画素データをＬ＊ａ＊ｂ＊に変換する必要がある。そしてステップ１９０６にて、取り出したＣ，Ｍ，Ｙ，Ｋ値のうちＫに着目する。これをＫ１とする。
【００９３】
次に、グループ化したＬＵＴのＫの値に着目する。そして、Ｋ１の値を囲むようなグループを２つ取り出す（ステップ１９０７）。例えば色の階調が２５６段階で１７段階のＬＵＴがありＫ１が２０である場合、Ｋ＝１６のグループとＫ＝３２のグループを取り出す。ここで、Ｋの値が小さいグループをＫａ、Ｋの値が大きいグループをＫｂとする。そして、Ｋａ、ＫｂそれぞれのグループについてＣＭＹの値を用いた線形補間を行う。この際の線形補間では三次元の既知の手法を用いることができる（ステップ１９０８、ステップ１９０９）。その後、ステップ１９１０にて、Ｋａ、Ｋｂの値を使って一次元の線形補間を行う。
【００９４】
このようにして画素値がＬ＊ａ＊ｂ＊データとして出力される。また、ステップ１９１１により、すべての画素データに対して処理が行われていないと判定された場合はステップ１９０５へと戻り処理を繰り返す。すべてのデータに対して処理が行われたと判断された場合は処理を終了する。
【００９５】
なお、上記の例ではＩＣＣプロファイルを用いて計算を行ったが、その他のＬＵＴを用いてもかまわないことはいうまでもない。
【００９６】
（ステップ１７０４：クラスタリング処理を用いた代表値の算出）
ステップ１７０４では、クラスタリングを用いた代表値の算出を行う。ここでいうクラスタリングとは、多くのデータを予め決まった数に分類する作業のことをいう。クラスタリングの対象となるのは絶対色空間Ｌ＊ａ＊ｂ＊に変換された全画素データである。
【００９７】
図２０は、本実施形態におけるクラスタリング処理を用いた代表値の算出処理を示すフローチャートである。
【００９８】
まず、ステップ２００１で、ステップ１７０２で受け取った情報を元にしてパッチの個数を決定する。例えば、図１８に示したＵＩ画面の例において、三角形のポインタが一番左側に位置している時はパッチ数が５個で、一段階右に寄るごとにパッチ数が５個ずつ増えていき、ポインタが一番右に位置した場合は７５個と定義することができる。このようにユーザが定義したレベルに合わせて線形的にパッチの個数を増加しても構わないし、ユーザの定義と画素の分布を分析して、最適な個数を抽出する方法でも構わない。
【００９９】
次にステップ２００２で、クラスタリングを行う。これは公知の手法を用いればよい。たとえばメディアン法などに代表される階層的クラスタリングを用いても構わないし、初期値を与えそれを組替えていく非階層クラスタリングを用いても構わない。この作業によって、すべての画素データはパッチの個数の分だけあるクラスタに分けられる。
【０１００】
そしてステップ２００３で各クラスタにおける平均値の算出を行う。全画素データはステップ２００２の処理によって、ステップ２００１で決められた個数に分類されている。そこで、その分類された値の平均値を算出する。この算出された平均値がそのクラスタに係るパッチの代表値（基準値）となり、パッチの数だけ存在する。
【０１０１】
（ステップ１７０５：出力色空間への変換）
ステップ１７０５ではステップ１７０４で算出されたＬ＊ａ＊ｂ＊値を出力デバイスの色空間（出力色空間）に変換する。ここでは、出力に用いるＬＵＴの値を用いてデータの変換を行う。特にここではディスティネーションプロファイルを用いる。理論上は同じＬ＊ａ＊ｂ＊値であってもＫの値が異なると実際の値が大きく異なってしまう場合が多いため、印刷過程で利用しているＬＵＴを基にパッチデータを作った方が最適なものが作成できる。この場合は入力側がＬ＊、ａ＊、ｂ＊の三次元のデータであるため、三次元の線形補間を行うことで出力色空間への変換を行う。このようにしてＣＭＹＫのパッチを作成する。
【０１０２】
（ユーザにマークをつけてもらう場合の別実施例）
上記の例では、ユーザに図１８に示したようなＵＩを使って色再現精度と処理速度をどの程度重視するかを決めさせる手段をとったが、実際には、ユーザが画像の特定部分のみを修正したいと言う要望を出すことがある。以下では、このような状況に対応した別実施例について説明する。
【０１０３】
ステップ１７０２のユーザ要求の受信時において、ユーザがある画像の特定のオブジェクト領域のみを補正したい場合はその領域にマークをつけさせる。一例を図２１に示す。たとえば、ユーザが左上にある矢印型の図形オブジェクト２１０１の印刷色を修正することを望んでいると仮定する。この場合、その図形オブジェクト２１０１上に円形のマーク２１０２を付加する。もっとも、マークは円形の他どのようなものであっても構わない。
【０１０４】
実際の処理の流れを図２２に示す。
【０１０５】
まず、例えばクライアントＰＣ１０５からそのユーザの指示に基づき出力される画像データを読み込む（ステップ２２０１）。次にステップ２２０２で、図２１に示したようなＵＩを介してユーザにより指定された（すなわちマーク２１０２が付与された）オブジェクト領域（図２１の例では図形オブジェクト２１０１）の位置情報の受信を行う。そしてステップ２２０３で、マーク２１０２が付与された画像オブジェクトの画素値を抽出する。
【０１０６】
次に、ステップ２２０４に進み、抽出した画素値を絶対色空間に変換する。これはソースプロファイルのＬＵＴを用いた補間演算により求められる。その後、ステップ２２０５で出力色空間への変換を行う。これはディスティネーションプロファイルのＬＵＴを用いた補間演算より求められる。そしてステップ２２０６でパッチデータを出力する。
【０１０７】
次に、ステップ２２０７で、すべての画像データに対して処理を行ったかを判定し、もしも行っていない場合はステップ２２０１に戻って処理を繰り返し、行った場合はステップ２２０８へと進む。
【０１０８】
ステップ２２０８では、類似データが発生していないかをチェックして、類似データがある場合にはそれを削除する。次に、ステップ２２０９で、パッチ画像の作成を行う。そして最後にステップ２２１０で、プロファイル更新処理を行い、処理が終了する。
【０１０９】
このようにユーザに画像の特定部分を指定させ、その特定部分についてのみ処理を行わせるので、クラスタリング等にかかる処理の付加を軽減することができる。また、補正結果もユーザの意図した結果となる。
【０１１０】
なお、上述したようなクラスタリングを利用してパッチの数を決める処理とユーザにマークをつけてもらいパッチを決める処理とを組み合わせてもよい。
【０１１１】
以上説明した第２の実施形態によれば、画像データを出力する画像処理システムにおいて、まずユーザの要望を受信し、その受信した情報からデータを分類し、分類されたデータからパッチデータを作ることにより、ユーザが指定した特定の画像に合わせた最適なパッチを作成することが可能となる。
【０１１２】
また、ユーザにより指定された画像オブジェクトの位置データを受信し、受信した情報からデータを分類し、分類されたデータからパッチデータを作ることにより、ユーザが指定した特定の画像の中で、特に色補正を行いたい部分のパッチを作成することが可能となる。
【０１１３】
＜その他の実施形態＞
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【０１１４】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【０１１５】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１１６】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１１７】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１１８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１１９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２０】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１２１】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１２２】
【図１】入力デバイスから出力デバイスへと画像を出力する際の色空間の遷移について示した図である。
【図２】実施形態における画像処理システムの構成例を示すブロック図である。
【図３Ａ】実施形態におけるマネージメントＰＣの構成を示すブロック図である。
【図３Ｂ】実施形態におけるＭＦＰの構成を示すブロック図である。
【図４】第１の実施形態における入力デバイスから出力デバイスへ画像を出力する際のデータ変換の流れを示した図である。
【図５】第１の実施形態におけるマネージメントＰＣによるプロファイルの調整処理を示すフローチャートである。
【図６】ＩＣＣプロファイルのデータ表現形式について示した図である。
【図７】実施形態における補間演算処理を示すフローチャートである。
【図８】実施形態におけるＬ＊ａ＊ｂ＊→ＣＭＹＫ変換を示すＬＵＴの更新処理を示すフローチャートである。
【図９】更新されたディスティネーションプロファイルを用いたデータ変換の流れついて示した図である。
【図１０】ディスティネーションプロファイルがＬ＊ａ＊ｂ＊からＲＧＢへ変換するＬＵＴを持つ場合のデータの流れを示す図である。
【図１１】Ｌ＊ａ＊ｂ＊空間上に存在しているＬＵＴの格子点データを示した図である。
【図１２】Ｌ＊ａ＊ｂ＊空間上にある格子点データ内に測色値、基準値があることを例示した図である。
【図１３】Ｌ＊ａ＊ｂ＊空間において、格子点データとそれに対する測色値と基準値との差について例示した図である。
【図１４】Ｌ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴの更新処理の別実施例を示すフローチャートである。
【図１５】Ｌ＊ａ＊ｂ＊→ＣＭＹＫを示すＬＵＴの更新処理の別実施例における条件範囲について例示した図である。
【図１６】第２の実施形態における入力デバイスから出力デバイスへ画像を出力する際のデータ変換の流れを示した図である。
【図１７】第２の実施形態におけるマネージメントＰＣによるプロファイルの調整処理の概要を示すフローチャートである。
【図１８】色再現および処理速度を指定するためのＵＩ画面の例を示す図である。
【図１９】第２の実施形態における補間演算処理を示すフローチャートである。
【図２０】第２の実施形態におけるクラスタリング処理を用いた代表値の算出処理を示すフローチャートである。
【図２１】画像の特定部分を指定するためのＵＩ画面の一例を示す図である。
【図２２】別実施例としてユーザが指定した画像の特定部分に適したプロファイルを作成する処理の一例を示すフローチャートである。
【図１】
2005175806.tif 000003
【図２】
2005175806.tif 000004
【図３Ａ】
2005175806.tif 000005
【図３Ｂ】
2005175806.tif 000006
【図４】
2005175806.tif 000007
【図５】
2005175806.tif 000008
【図６】
2005175806.tif 000009
【図７】
2005175806.tif 000010
【図８】
2005175806.tif 000011
【図９】
2005175806.tif 000012
【図１０】
2005175806.tif 000013
【図１１】
2005175806.tif 000014
【図１２】
2005175806.tif 000015
【図１３】
2005175806.tif 000016
【図１４】
2005175806.tif 000017
【図１５】
2005175806.tif 000018
【図１６】
2005175806.tif 000019
【図１７】
2005175806.tif 000020
【図１８】
2005175806.tif 000021
【図１９】
2005175806.tif 000022
【図２０】
2005175806.tif 000023
【図２１】
2005175806.tif 000024
【図２２】
2005175806.tif 000025