(57)【特許請求の範囲】
【請求項１】
色変換テーブルを用いて、選択された調整色を変換した後の出力値が、前記色変換
テーブルを用いて目標色を変換した後の出力値と同じ値となるように、前記調整色を調整すべく前記色変換テーブルを調整する第１の調整手段と、
第１の調整色に対応して前記第１の調整手段により色変換テーブルを調整することで生成された第１の調整後の色変換テーブルと、前記第１の調整後の色変換テーブルを生成した後に前記第１の調整色とは異なる第２の調整色に対する調整に対応して前記第１の調整手段により生成された第２の調整後の色変換テーブルとを記憶装置に保存する保存手段と、
前記第１の調整色に対する調整結果を削除する削除手段と、
前記削除手段による前記第１の調整色に対する調整結果の削除に応じて前記第２の調整色の調整結果が変わらないように、前記削除手段による前記第１の調整色に対する調整結果の削除に基づき、前記保存手段により前記記憶装置に保存されている前記第２の調整色に対応する前記第２の調整後の色変換テーブルを調整する第２の調整手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１の調整後の色変換テーブルを構成する格子点のうち前記第１の調整色を表現するために用いられる格子点のうちの少なくとも１つが、
前記第２の調整後の色変換テーブルを構成する格子点のうち前記第２の調整色を表現するために用いられる格子点のうちの少なくとも１つと同一であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記削除手段により前記第１の調整色に対する調整結果を削除することに対応して前記第１の調整後の色変換テーブルが削除された場合に、前記第２の調整手段は、前記第２の調整後の色変換テーブルを構成する格子点のうち第２の調整色を表現するために用いられる格子点に対応する値を変更することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記削除手段により前記第１の調整色に対する調整結果を削除することに対応して前記第１の調整後の色変換テーブルが削除された場合に、前記保存手段により保存されている前記第２の調整色が影響を受けるか否か判定する判定手段と、
前記判定手段により影響を受けると判定された場合に前記第２の調整手段による調整
を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記判定手段は、
前記第１の調整後の色変換テーブルを構成する格子点のうち前記第１の調整色を表現するために用いられる格子点が、前記第２の調整後の色変換テーブルを構成する格子点のうち前記第２の調整色を表現するために用いられる格子点のうちの少なくとも１つと同一である場合に、影響を受けると判定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記第２の調整手段は、
前記第１の調整手段にて色変換テーブルを調整することで前記第１の調整後の色変換テーブルを生成する際に、前記第１の調整後の色変換テーブルを構成する格子点に対して
調整した量である調整量を算出し、該調整量に応じて、前記第２の調整後の色変換テーブルを構成する格子点の値を調整することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記算出した調整量は前記第２の調整後の色変換テーブルを構成する格子点のうち、
前記第２の調整色を表現する際に使用される複数の格子点のそれぞれの値を調整すること、
を特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記算出した調整量は前記第２の調整後の色変換テーブルを構成する格子点のうち、
前記第２の調整色を表現する際に使用される複数の格子点のそれぞれの値を調整し、該それぞれの値の調整量は、前記第２の調整色を表現する際に使用されるそれぞれの格子点と、
前記第２の調整色の色値との差分に基づき決められることを特徴とする請求項６に記載の画像処理装置。
【請求項９】
色変換テーブルを用いて、選択された調整色を変換した後の出力値が、前記色変換
テーブルを用いて目標色を変換した後の出力値と同じ値となるように、前記調整色を調整すべく前記色変換テーブルを調整する第１の調整ステップと、
第１の調整色に対応して前記第１の調整ステップにより色変換テーブルを調整することで生成された第１の調整後の色変換テーブルと、前記第１の調整後の色変換テーブルを生成した後に前記第１の調整色とは異なる第２の調整色に対する調整に対応して前記第１の調整ステップにより生成された第２の調整後の色変換テーブルとを記憶装置に保存する保存ステップと、
前記第１の調整色に対する調整結果を削除する削除ステップと、
前記削除ステップによる前記第１の調整色に対する調整結果の削除に応じて前記第２の調整色の調整結果が変わらないように、前記削除ステップによる前記第１の調整色に対する調整結果の削除に基づき、前記保存ステップにより前記記憶装置に保存されている前記第２の調整色に対応する前記第２の調整後の色変換テーブルを調整する第２の調整ステップと、
を有することを特徴とする画像処理方法。
【請求項１０】
コンピュータに請求項９に記載の画像処理方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に関し、特に印刷されたチャートから目標となる色を目視で選択し、選択された色に対応する信号値に基づいて色変換テーブルの調整を行うものである。
【背景技術】
【０００２】
近年、電子写真装置の性能向上に伴い印刷機と同等の画質を実現した装置が登場している。そのため販売店舗などで用いられるＰＯＰ等の印刷が、各店舗でより簡単に行えるようになった。ＰＯＰとはＰｏｉｎｔ  ｏｆ  ｐｕｒｃｈａｓｅ  ａｄｖｅｒｔｉｓｉｎｇの略語で、販売促進のための広告のことである。しかし、印刷する装置の違いや、印刷タイミングの違いなどにより、見本のＰＯＰと異なる色で印刷されてしまう事がある。この場合、従来は専門知識を持ったサービスマンなどがその装置を調整して色を合わせる事を行っていたが、近年では特別な専門知識が無くても販売店舗の担当者などが簡易的に色を合わせられるシステムが構築されている。例えば、ＰＯＰなどの画像から調整したい色を抽出し、抽出した色に対してその近傍の色のパッチを複数生成する。そして、生成したパッチが配置されたチャートを印刷し、ユーザーが印刷されたパッチの中から目視により所望の色のパッチを選択する。そして、この選択されたパッチの色に応じて色変換を行うためのテーブルを調整するというものがある（特許文献１参照）。
【０００３】
このようなシステムを利用して色を調整する場合に複数の色を調整するケースもある。この場合、調整したい色の数に対応した回数分の調整を行う必要がある。色の調整を複数回行う場合、一つの色変換テーブルに対して調整したい色の数に対応した回数分の調整を行うことになる。この場合、一色を調整する毎に調整結果としての色変換テーブルを履歴として保存すると、過去の色調整結果の変更をするための操作が簡単に行えるようになる。例えば、色１→色２→色３の順に色を調整した後、色１の調整結果だけを無効にする操作を簡単に行える。しかし、色２を調整した後の色変換テーブルは色１の調整結果を含んでいるため、色１の調整結果を無効にした場合は、色２を調整した後の色変換テーブルに対しても色１を調整した分の調整量を無効にする必要がある。色３を調整した後の色変換テーブルに対しても同様である。つまり、ある色の調整結果を無効にした場合、それよりも後で施された調整に対応する色変換テーブルに対しても、ある色を調整した分の調整量を無効にする必要がある。そこで、履歴に保存された全ての色変換テーブルの調整結果を一度無効にし、無効にしたい色以外の色の調整結果全てに対して、再び同じ調整を色変換テーブルに対して行うという技術がある（特許文献２）。例えば、色１→色２→色３の順に色を調整した後、色１に対する調整結果だけを無効にする場合、一旦色１〜色３の全ての色に対する調整結果を無効にし、その後、色２と色３に対応する色変換テーブルに対して先に実行した調整と同じ調整を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１４７１７
【特許文献２】特開２００８−２１９４２２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら従来の技術では、調整結果を無効にしたい色１の近似色である色３が複数回の色の調整で保存された履歴の中に存在する場合、色１の調整を無効にすることで本来変化するべきでない色３の色が変化してしまう場合がある。例えば、色１→色２→色３の順に色を調整した後、色１に対する調整結果だけを無効にする場合において、色１に対して色３が近似色であった場合、色１を無効にしても本来変わらないはずの色３が変化してしまう。つまり、色３の調整前の色を第一の色、調整後の色を第二の色とすると、色１に対する調整結果を無効にした場合、色３は第一の色でも第二の色でもない第三の色に変化してしまう場合がある。
【課題を解決するための手段】
【０００６】
上記課題を解決すべく、本画像処理装置は、色変換テーブルを用いて、選択された調整色を変換した後の出力値が、前記色変換テーブルを用いて目標色を変換した後の出力値と同じ値となるように、前記調整色を調整すべく前記色変換テーブルを調整する第１の調整手段と、第１の調整色に対応して前記第１の調整手段により色変換テーブルを調整することで生成された第１の調整後の色変換テーブルと、前記第１の調整後の色変換テーブルを生成した後に前記１の調整色とは異なる第２の調整色に対する調整に対応して前記第１の調整手段により生成された第２の調整後の色変換テーブルとを記憶装置に保存する保存手段と、前記第１の調整色に対する調整結果を削除する削除手段と、前記削除手段による前記第１の調整色に対する調整結果の削除に応じて前記第２の調整色の調整結果が変わらないように、前記削除手段による前記第１の調整色に対する調整結果の削除に基づき、前記保存手段により前記記憶装置に保存されている前記第２の調整色に対応する前記第２の調整後の色変換テーブルを調整する第２の調整手段と、を有することを特徴とする。
【発明の効果】
【０００７】
調整結果を無効にしたい対象色に対して、この対象色の近似色が複数回の色の調整で保存された履歴の中に存在していたとしても、この近似色を変化させることなく、対象色の調整を無効にすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る画像処理装置を含んだ画像形成システム構成図である。
【図２】本発明に係る物理構成を示すブロック図である。
【図３】本発明に係るモジュール構成を示すブロック図である。
【図４】第一の実施形態に係る本システムの動作の流れを示す図である。
【図５】第一の実施形態に係るチャート生成及び色調整処理を示すフロー図である。
【図６】第一の実施形態に係るチャート生成処理を示すフロー図である。
【図７】第一の実施形態に係る印刷処理を示すフロー図である。
【図８】第一の実施形態に係る調整履歴操作の動作の流れを示す図である。
【図９】第一の実施形態に係る調整履歴の削除処理に関するフロー図である。
【図１０】第一の実施形態に係る再調整処理を示すフロー図である。
【図１１】第一の実施形態に係る色調整のＵＩ画面の例を示す図である。
【図１２】第一の実施形態に係る調整履歴の色変換テーブルと格子点のイメージ図である。
【図１３】第一の実施形態に係る再調整処理の色の変化を表したイメージ図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１０】
＜第一の実施形態＞
図１は本発明の第一の実施形態における画像処理装置を含んだ画像処理システムの構成例を示すシステム構成図である。この画像形成システムは、ネットワーク１０１、コンピュータ１０２、ディスプレイ１０３、プリンタ１０６より構成される。また、プリンタ１０６は、プリンタコントローラ１０４、プリンタエンジン１０５から構成される。コンピュータ１０２とプリンタ１０６はネットワーク１０１によって、通信可能である。例えばコンピュータ１０２からプリンタ１０６に印刷指示を送信することや、プリンタ１０６の情報をコンピュータ１０２で取得することができる。コンピュータ１０２とディスプレイ１０３は互いに接続されており、コンピュータ１０２は動作中のアプリケーションの画面情報をディスプレイ１０３に送信して画面出力する。また、プリンタコントローラ１０４とプリンタエンジン１０５は互いに接続されており、プリンタコントローラ１０４はプリンタエンジン１０５に制御信号を送信してプリンタ出力を実施する。
【００１１】
図２（ａ）はコンピュータ１０２の物理構成を示すブロック図である。コンピュータ１０２は、内部バス２０１、ＣＰＵ２０２、ＲＡＭ２０３、外部記憶装置２０４、ディスプレイインタフェース２０５、外部入力装置２０６、ネットワークインタフェース２０７より構成される。ＣＰＵ２０２、ＲＡＭ２０３、外部記憶装置２０４、ディスプレイインタフェース２０５、外部入力装置２０６、ネットワークインタフェース２０７はネットワーク１０１と接続し、プリンタ１０６と互いにデータを通信する。コンピュータ１０２が起動すると、ＣＰＵ２０２がアプリケーション実行プログラムを外部記憶装置２０４から読み込んでＲＡＭ２０３に格納しそのプログラムを実行する。ＣＰＵ２０２が実行しているプログラムは、ディスプレイインタフェース２０５に対して画面表示データを送信開始し、ディスプレイ１０３に画面を出力する。また、ＣＰＵ２０２は外部入力装置２０６からのユーザー入力情報を監視し、ユーザー入力情報が入力された場合はプログラム中に定義されたユーザー入力情報に対応する処理を実行する。
【００１２】
図２（ｂ）はプリンタコントローラ１０４の物理構成を示すブロック図である。プリンタコントローラ１０４は、内部バス２０８、ＣＰＵ２０９、ＲＡＭ２１０、外部記憶装置２１１、ネットワークインタフェース２１２、エンジンインタフェース２１３、入力装置２１４より構成される。ＣＰＵ２０９、ＲＡＭ２１０、外部記憶装置２１１、ネットワークインタフェース２１２、エンジンインタフェース２１３、入力装置２１４は内部バス２０８を介して互いにデータを通信する。プリンタコントローラ１０４が起動すると、ＣＰＵ２０９は実行プログラムを外部記憶装置２１１から読み込んでＲＡＭ２１０に格納しそのプログラムを実行する。
【００１３】
図３（ａ）はＣＰＵ２０２で実行するプログラムのモジュール構成を示すブロック図である。ＣＰＵ２０２で実行するプログラムのモジュールは、データ取得部３０１、チャートデータ生成部３０２、印刷処理部３０３、色調整処理部３０４から構成される。データ取得部３０１は、調整対象である調整色の値（調整値）とチャート生成に必要となるテーブルデータ及び色変換テーブルの取得を行う。なお、本実施形態においては調整値を一般的なモニタで使用される色空間の値とする。モニタで使用される色空間とは、例えば、ｓＲＧＢ色空間やＡｄｏｂｅＲＧＢ色空間のことである。この説明では、調整値はｓＲＧＢ色空間の値とし、０〜２５５の値を取る８ｂｉｔの整数値とする。また、色変換テーブルはｓＲＧＢをデバイスに依存するＲＧＢ（ｄｅｖＲＧＢ）色空間に変換するテーブルとする。ｓＲＧＢ値と同様、ｄｅｖＲＧＢ値も本実施形態においては０〜２５５の値を取る８ｂｉｔの整数値とする。このテーブルによりディスプレイ１０３に表示される色の色値とプリンタ１０６に形成される色の色値との関係が示される。
【００１４】
更に、色変換テーブルを更新する処理にテーブルデータが必要となる。このテーブルデータはｄｅｖＲＧＢをＬａｂに変換するテーブルとする。Ｌａｂは人間の視覚特性を考慮し、デバイスに非依存の３次元の色空間である視覚均等色空間である。ただし、各色空間はこれに限られるものではない。Ｌａｂ値は、本実施形態においては実数値とし、Ｌは０．０〜１００．０、ａ及びｂは−１２７．０〜１２８．０の値を取るものとする。チャートデータ生成部３０２は、データ取得部３０１で取得したデータを元に、チャートデータを生成する。印刷処理部３０３は、チャートデータ生成部３０２で生成したチャートデータを、プリンタ１０６で印刷するために必要となる印刷制御処理を行う。具体的には、チャートデータをプリンタ１０６で扱える色空間に変換し、後述するレンダリング処理部３０５に送信する。色調整処理部３０４は、目標となる目標色の値（目標値）の取得を行い、取得した目標値とデータ取得部３０１で取得した調整値及び色変換テーブルを用いて、色変換テーブルの更新を行う。
【００１５】
図３（ｂ）はＣＰＵ２０９で実行するプログラムのモジュール構成を示すブロック図である。ＣＰＵ２０９で実行するプログラムのモジュールは、レンダリング処理部３０５、色変換部３０６、二値化処理部３０７、エンジン制御部３０８より構成される。レンダリング処理部３０５は印刷処理部３０３で変換されたチャートデータ等の画像データを不図示の画像メモリに描画する。色変換部３０６は画像メモリに描画された画像データを、プリンタエンジン１０５が扱う色材に対応する画像データ（ＣＭＹＫ）に変換する。二値化処理部３０７は色変換部３０６で変換された画像データをスクリーン処理や誤差拡散処理等の画像形成処理を行って二値画像データに変換し、エンジン制御部３０８に出力する。エンジン制御部３０８は、二値化処理部３０７で変換された二値画像データを基にプリンタエンジン制御の指令をエンジンインタフェース２１３に出力する。これによりプリンタエンジン１０５にて画像がインク像やトナー像として紙面上に形成される。
【００１６】
続いて、本システムの動作の流れについて図４を用いて説明する。図４の全ての処理は、コンピュータ１０２のＣＰＵ２０２で行う。
【００１７】
まずＣＰＵ２０２は、ステップＳ４０１において、色調整のためのＵＩをディスプレイ１０３に表示する。例えば図１１のような、調整値を選択するためのパッチや調整履歴が配置されたＵＩを表示する。続いてＣＰＵ２０２は、ステップＳ４０２において、ＵＩで色調整の開始が指示されたか否かを判定する。例えば図１１の色調整開始ボタン１１０３が押されたら、色調整の開始が指示されたと判定する。ステップＳ４０２で色調整の開始が指示されたと判定した場合、ＣＰＵ２０２は、ステップＳ４０３において、色調整処理を開始する。色調整処理開始後の処理の詳細については後述する。ステップＳ４０２で色調整の開始が指示されていないと判定した場合、ＣＰＵ２０２は、ステップＳ４０４において、ＵＩで調整履歴の操作が行われたか否かを判定する。例えば図１１の調整履歴ＵＩ１１０４の各調整が選択された場合や、削除ボタン１１０５が押された場合、調整履歴の操作が行われたと判定する。ステップＳ４０４で調整履歴の操作が行われたと判定した場合、ＣＰＵ２０２は、ステップＳ４０５において調整履歴の操作処理を行う。調整履歴の操作処理の詳細については後述する。ステップＳ４０３またはステップＳ４０５の処理後、またはステップＳ４０４で調整履歴の操作が行われていないと判定した場合、ＣＰＵ２０２は、ステップＳ４０６において、ＵＩで終了処理が指示されたか否かを判定する。例えば図１１の終了ボタン１１０６が押された場合、終了処理が指示されたと判定する。ステップＳ４０６で終了が指示されたと判定した場合は、システムの動作を終了し、終了が指示されていないと判定した場合は、ステップＳ４０２に戻る。
【００１８】
続いて図４のステップＳ４０３で色調整処理が開始された後の処理の詳細について図５及び図７を用いて説明する。
【００１９】
まず、図５を用いて印刷したチャートから目視により目標となる色とそれに対応する目標値を選択し、選択した目標値に基づいて色変換テーブルを調整する処理について説明する。図５の処理は、ステップＳ５０１とＳ５０２及びＳ５０４からＳ５０８までをコンピュータ１０２のＣＰＵ２０２で、ステップＳ５０３をプリンタコントローラ１０４のＣＰＵ２０９で行う。
【００２０】
まずデータ取得部３０１は、ステップＳ５０１において調整値及び色変換テーブル、チャートデータ生成に必要となるテーブル及び調整履歴の情報の取得を行う。調整値の取得は、予めいくつかのｓＲＧＢの組み合わせを用意しておき、その中から選択されたものを取得する形でもよい。また、ＵＩにｓＲＧＢ値を入力できる仕組みを設け、入力された取得してもよい。また、ＰＯＰなどの色を変更したい画像データがある場合には、その画像データからｓＲＧＢ値を取得して調整値としてもよい。色変換テーブルは、コンピュータ１０２もしくはプリンタ１０６の外部記憶装置２０４、２１１に保持された、印刷時に使用される色変換テーブルである。チャートデータ生成に必要となるテーブルは、予め用意されたｄｅｖＲＧＢからＬａｂに変換するテーブルである。ｄｅｖＲＧＢからＬａｂに変換するテーブルの作成は、例えばテーブル作成専用のチャートを該当するプリンタで印刷し、印刷したチャートを測定してＬａｂ値を取得し、ｄｅｖＲＧＢ値と取得したＬａｂ値を関連付けることで行う。
【００２１】
続いて、チャートデータ生成部３０２は、ステップＳ５０８において、ステップＳ５０１で取得した調整値と調整履歴の情報を比較し、調整履歴に保存された調整値と取得した調整値が重複しているか否か判定する。これらの値が重複している場合というのは、過去に同じ色を調整していることを意味する。ステップＳ５０８にて重複していると判定した場合、処理を終了する。ステップＳ５０８にて重複していないと判定した場合、チャートデータ生成部３０２は、ステップＳ５０２においてステップＳ５０１で取得したデータに基づいてチャートデータを生成する。チャートデータ生成の詳細については後述する。
【００２２】
印刷処理部３０３は、ステップＳ５０３においてステップＳ５０２で生成されたチャートデータを用いてチャートの印刷を行う。印刷処理の詳細については後述する。
【００２３】
色調整処理部３０４は、ステップＳ５０４からステップＳ５０６までを行う。まずステップＳ５０４において、ステップＳ５０３で印刷されたチャートに配置されたパッチの中から、ユーザーにより選択されたパッチのｓＲＧＢ値を目標値として取得する。例えば、ステップＳ５０２で生成したチャートをディスプレイ１０３上に表示する。そして、印刷されたチャートを参考に、ディスプレイ１０３上に表示されたチャートに配置されたパッチの中から目標となるパッチを選択する仕組みを設け、選択されたパッチのｓＲＧＢ値を取得する。もしくは、チャートの印刷時にチャートに各パッチの座標位置を付加し、ユーザーにより選択された目標となるパッチの座標位置を入力する形でもよい。
【００２４】
続いてステップＳ５０５において、ステップＳ５０１で取得した調整値と色変換テーブルおよびステップＳ５０４で取得した目標値を用いて色調整処理を行う。色調整処理は、色変換テーブルを用いて調整値を変換した場合の出力値が、色変換テーブルを用いて目標値を変換した場合の出力値と同じ値となるように色変換テーブルの該当する部分を調整する。例えば、調整値のｓＲＧＢ値が（１５０，０，０）であり、調整前の色変換テーブルにより色変換された後の出力値のｄｅｖＲＧＢ値が（１２０、０、０）であるとする。そして、ユーザーから選択された目標値のｓＲＧＢ値が（１５０，２０，０）であり、色変換後の出力値が（１２０，１５，０）であるとする。この場合、調整値のｓＲＧＢ値（１５０，０，０）の出力値が目標値の色変換後の出力値のｄｅｖＲＧＢ値（１２０，１５，０）となるように、ｓＲＧＢ（任意の色空間）→ｄｅｖＲＧＢ（デバイス依存色空間）の色変換テーブルを調整する。また、目標値によっては調整後の色変換テーブルに色のつぶれや階調段差が生じる場合がある。そのため、色変換テーブルの調整された部分の近傍の色に対してスムージング処理を行うことが望ましい。
【００２５】
ステップＳ５０６においてステップＳ５０５で調整した色変換テーブルをコンピュータ１０２もしくはプリンタ１０６の外部記憶装置２０４、２１１に保存する。保存は、ステップＳ５０１で取得した色変換テーブルを上書きしてもよいし、別の色変換テーブルとして保存してもよい。
【００２６】
最後に、ステップＳ５０７において調整履歴の情報を外部記憶装置２０４に保存する。調整履歴の情報とは、本実施形態においては少なくとも調整後の色変換テーブルと調整した格子点の情報を保持するものである。格子点とは、色変換テーブルを構成するＲＧＢやＬａｂなどの一つの要素のことを指している。
【００２７】
続いて図６を用いて、ステップＳ３０２のチャートデータ生成処理の詳細について説明する。前述の通り、図６の各処理は全てチャートデータ生成部３０２が行う。
【００２８】
ステップＳ６０１において、ステップＳ５０１で取得した調整値を取得する。続いてステップＳ６０２において、ステップＳ５０１で取得した色変換テーブル及びチャートデータ生成に必要となるテーブルを取得する。
【００２９】
ステップＳ６０３において、調整値や目標値をＬａｂ値に変換するためのテーブル（ｓＲＧＢ→Ｌａｂ変換テーブル）を生成する。ｓＲＧＢ→Ｌａｂ変換テーブルはステップＳ６０２で取得した、色変換テーブル（ｓＲＧＢ→ｄｅｖＲＧＢ変換テーブル）とチャート生成に必要となるテーブル（ｄｅｖＲＧＢ→Ｌａｂ変換テーブル）とを合成することで生成する。合成は、例えば補間演算を用いて行う。補間演算は演算用テーブルで定義されていない値が入力された場合に、入力された値に近い演算用テーブルで定義された値を用いて補間を行うものである。補間演算の方法に四面体補間と呼ばれるものがある。四面体補間は、入力された値に近い４つの演算テーブルで定義された値を用いて補間演算を行うものである。本処理においては、入力をｓＲＧＢ→ｄｅｖＲＧＢ変換テーブルのｄｅｖＲＧＢ値とし、演算用テーブルをｄｅｖＲＧＢ→Ｌａｂ変換テーブルとして四面体補間の演算を行うことで、ｓＲＧＢ→Ｌａｂ変換テーブルを生成する。なお、本実施形態では合成に四面体補間を用いたがこれに限られるものではなく、ｓＲＧＢ→ｄｅｖＲＧＢ変換テーブルとｄｅｖＲＧＢ→Ｌａｂ変換テーブルからｓＲＧＢ→Ｌａｂ変換テーブルが生成出来ればどのような方法を用いてもよい。
【００３０】
ステップＳ６０４において、調整値をＬａｂ値に変換する。変換は、ステップＳ６０３で生成したｓＲＧＢ→Ｌａｂ変換テーブルを用いて調整値のｓＲＧＢ値をＬａｂに変換する。変換は、入力を調整値、演算用テーブルをｓＲＧＢ→Ｌａｂ変換テーブルとして、四面体補間を行うことで実行する。
【００３１】
ステップＳ６０５において、ステップＳ６０４で生成した調整値のＬａｂ値に基づいて、目標値を選択するための候補となる色パッチ（候補パッチ）を生成するためのＬａｂ値を生成する。候補パッチのＬａｂ値の生成は、調整値のＬａｂ値を中心として、Ｌ値、ａ値、ｂ値をそれぞれ段階的に変換させた値を組み合わせることで行う。Ｌ値、ａ値、ｂ値の各値の生成は以下の数式を用いる。
【００３２】
（式１）
Ｌｉ  ＝  Ｌｂ  ＋  ｉ  ×  Ｄｉｓｔ
ａｉ  ＝  ａｂ  ＋  ｉ  ×  Ｄｉｓｔ
ｂｉ  ＝  ｂｂ  ＋  ｉ  ×  Ｄｉｓｔ
（−ｎ  ≦  ｉ  ≦  ｎ）
Ｌｂ、ａｂ、ｂｂは調整値のＬａｂ値、ｉは生成する候補パッチの数に応じて段階的に変化する値（整数値）、Ｄｉｓｔは候補パッチ間のＬａｂ色空間内での間隔を表している。例えば、調整値のＬａｂ値が（５０，０，０）であり、２７個のパッチを生成し、Ｄｉｓｔを１とする。この場合、Ｌ，ａ，ｂそれぞれの方向に３つのパッチが作成されるため、ｉは−１、０、１となる。そのため、Ｌｉは４９、５０、５１、ａｉは−１、０、１、ｂｉは−１、０、１となる。これらの値を全て組み合わせて、２７個の候補パッチＬａｂ値が生成される。これらの候補パッチＬａｂ値は調整値のＬａｂ値の近傍の値を取り、候補パッチの色は調整色の近傍色で表現される。以下、近傍色パッチを候補パッチと呼ぶ。
【００３３】
ステップＳ６０６において、ステップＳ６０５で生成された候補パッチの内、プリンタの色再現範囲外となる候補パッチを除外する処理を行う。候補パッチの生成はＬａｂ色空間、つまりデバイスに非依存な色空間で行うため、プリンタの色再現範囲外の候補パッチが生成される場合がある。プリンタの色再現範囲外の候補パッチはプリンタで再現できる色の範囲に丸められてしまうため、本実施形態においては該当するパッチを除外することを行う。色再現範囲外と判定された候補パッチが目標値として選択できない状態になれば、どのような方法でもよい。また、色再現範囲外であるか否かの判定は、ステップＳ６０２で取得したｄｅｖＲＧＢ→Ｌａｂ変換テーブルの持つ各Ｌａｂ値の範囲の中に、各候補パッチのＬａｂ値が入っているか否かで判定する。判定は、ｄｅｖＲＧＢ→Ｌａｂ変換テーブルの任意のＬａｂ値とその近傍の３つのＬａｂ値からなるＬａｂ色空間内における四面体の中に、候補バッチのＬａｂ値が存在しているか否かを判定することで行う。ｄｅｖＲＧＢ→Ｌａｂ変換テーブルの持つＬａｂ値で形成できる全ての四面体に対して、候補パッチが存在しているか否かを判定し、全ての四面体に存在していないと判定された場合、その候補パッチを色再現範囲外であると判定する。なお、この判定の実施方法について本実施形態ではｄｅｖＲＧＢ→Ｌａｂ変換テーブルから形成できる四面体を利用した判定を行ったが、プリンタの色再現範囲を抽出し、候補パッチが色再現範囲外であるか否かを判定できればどのような方法でもよい。
【００３４】
ステップＳ６０７において、ステップＳ６０６で色再現範囲外のパッチを除外した候補パッチをｓＲＧＢ値に変換する。Ｌａｂ値からｓＲＧＢ値への変換は、ステップＳ６０３で生成したｓＲＧＢ→Ｌａｂ変換テーブルを用いた信号探索処理により行う。信号探索処理は、まずｓＲＧＢ値の０〜２５５までの全ての信号値の組み合わせを入力とし、ｓＲＧＢ→Ｌａｂ変換テーブルを演算用テーブルとした四面体補間を行う。四面体補間により算出された全てのＬａｂ値の中で、任意の候補パッチのＬａｂ値に一番近いＬａｂ値を抽出する。そして、抽出したＬａｂ値に対応するｓＲＧＢ値を候補パッチのｓＲＧＢ値とする。この信号探索処理を全ての候補パッチに対して行うことで、Ｌａｂ値で生成・配置された候補パッチをｓＲＧＢ値に変換する。本実施形態では信号探索処理を用いたが、これに限られるものではなく、例えばｓＲＧＢ→Ｌａｂ変換テーブルの逆テーブル（Ｌａｂ→ｓＲＧＢ変換テーブル）を作成して、候補パッチのＬａｂ値をｓＲＧＢ値に変換してもよい。
【００３５】
最後にステップＳ６０８において、ステップＳ６０７で生成したｓＲＧＢ値の候補パッチを所定の方法で配置し、一つのチャートデータとして、印刷処理部３０３に送信する。所定の配置は、単純に保持しているデータの順にパッチを配置してもよいし、人間の視覚特性を考慮してそれぞれのパッチがなめらかに変化しているように見える配置にしてもよい。また、生成した全ての候補パッチを配置するのではなく、一部を抽出して抽出した候補パッチのみを配置してもよい。
【００３６】
次に図７を用いて図５のステップＳ５０３におけるチャート印刷処理の詳細について説明する。まず、印刷処理部３０３は、ステップＳ７０１においてステップＳ５０１で取得した色変換テーブルを用いて、ステップＳ５０２で生成されたチャートデータに含まれる色値を色変換する。つまり、チャートデータに含まれる色値の色空間をｓＲＧＢからｄｅｖＲＧＢ色空間に変換する。そして色変換したチャートデータの色値をレンダリング処理部３０５に送信する。レンダリング処理部３０５は、ステップＳ７０２において、印刷処理部３０３から受け取ったチャートデータに従って画像メモリに描画する。そしてレンダリング処理部３０５は画像メモリに描画した画像データを色変換部３０６に送る。色変換部３０６はステップＳ７０３において、予め外部記憶装置２１１に保存されている出力ＲＧＢ（ｄｅｖＲＧＢ）からＣＭＹＫへ変換する色変換テーブルを用いて、画像データをＣＭＹＫデータに変換し、二値化処理部３０７に送る。二値化処理部３０７はステップＳ７０４において、受け取った色変換後のデータを、スクリーン処理や誤差拡散処理等の画像形成処理を行って二値画像データに変換し、エンジン制御部３０８に出力する。エンジン制御部３０８はステップＳ７０５において、ステップＳ７０４で変換した二値画像データを基にプリンタエンジン制御の指令をエンジンインタフェース２１３に出力する。これによりプリンタエンジン１０５にて画像がインク像やトナー像として紙面上に形成される。
【００３７】
続いて、図４のステップＳ４０５の調整履歴の操作処理の詳細について、図８を用いて説明する。図８の全ての処理は、コンピュータ１０２のＣＰＵ２０２で行う。
【００３８】
まずＣＰＵ２０２は、ステップＳ８０１において、調整履歴ＵＩ１１０４で指示された内容を受け取る。続いてＣＰＵ２０２は、ステップＳ８０１で受け取った指示を元に、ステップＳ８０２において、調整履歴ＵＩ１１０４の各調整結果が選択されたか否かを判定する。ステップＳ８０２で調整履歴ＵＩ１１０４の各調整結果のうちのいずれも選択されていないと判定した場合、ステップＳ８０１に戻る。ステップＳ８０２で調整履歴ＵＩ１１０４の各調整結果のいずれかがが選択されたと判定した場合、ＣＰＵ２０２は、ステップＳ８０３に進む。そしてステップＳ８０３において、選択された調整結果の情報（図５のＳ５０７にて保存された情報である調整後の色変換テーブルと調整した格子点の情報）を外部記憶装置２０４から読み出し、ＲＡＭ２０３に展開し、調整結果の情報を操作できるようにする。
【００３９】
調整結果の情報を操作するとは、過去に調整が行われた調整結果に対して変更の指示をすることである。この変更の指示には、調整結果の削除が含まれる。調整結果の削除が行われると、図５のＳ５０７にて保存された情報（調整後の色変換テーブルと調整した格子点の情報）を外部記憶装置２０４から削除する。
【００４０】
続いてＣＰＵ２０２は、ステップＳ８０４において、調整履歴ＵＩ１１０４で削除ボタン１１０５が押されたか否かを判定する。ステップＳ８０４で削除ボタン１１０５が押されていないと判定した場合、ステップＳ８０１に戻る。ステップＳ８０４で削除ボタン１１０５が押されたと判定した場合、ＣＰＵ２０２は、ステップＳ８０５に進む。そして、ステップＳ８０５にて履歴情報の削除処理を行う。
【００４１】
この履歴情報の削除処理について、図９を用いて説明する。図９の全ての処理は、コンピュータ１０２のＣＰＵ２０２で行う。
【００４２】
まずＣＰＵ２０２は、ステップＳ９０１において、履歴情報の削除処理対象として選択された調整結果と選択された調整結果よりも１工程前に実行された調整の結果（履歴情報として１つ前の調整結果）を外部記憶装置２０４から読み出す。そしてそれらの調整結果から、各色の調整を行った際に生成された変換テーブルを抽出する。そして抽出した、履歴情報の削除対象として選択された調整結果に対応する色変換テーブルとこの調整の１工程前に実行された調整結果に対応する色変換テーブルとの差分を算出する。差分の算出は、選択された調整結果に対応する色変換テーブルを構成する格子点と１工程前に実行された調整結果に対応する色変換テーブルを構成する格子点とで、対応する格子点どうしの差分を格子点毎に算出することで行う。
【００４３】
例えば図１２において調整２（１２０２）が履歴情報の削除対象として選択されている場合の処理について説明する。調整２の調整結果に対応する色変換テーブル（１２０６）と調整２よりも１工程前の調整１で生成された色変換テーブル（１２０５）とで、対応する格子点どうしの差分を格子点毎に算出する。
【００４４】
続いてＣＰＵ２０２は、ステップＳ９０２において、削除対象として選択されている調整結果とそれよりも後の工程で実行された新しい調整結果に対応する色変換テーブル全てに対して、対応する格子点それぞれにＳ９０１で算出した差分を足し合わせる。
【００４５】
例えば図１２において調整２（１２０２）の調整結果が履歴情報の削除対象として選択されている場合について説明する。
【００４６】
調整２に対応する色変換テーブル（１２０６）に含まれる格子点とそれよりも後工程で実行された調整結果であるある調整３と調整４とに対応する色変換テーブル（１２０７、１２０８）を構成する格子点とを比較する。そして、これらそれぞれ対応する格子点どうしで格子点毎に算出した差分を足し合わせる。
【００４７】
ＣＰＵ２０２は、ステップＳ９０３において、削除対象として選択された調整結果よりも後の工程で実行された新しい調整結果の内、削除操作により色が変化してしまう調整結果があるか否かを判定する。判定は、削除対象として選択された調整結果の色を表現するために使用される格子点に対し、それよりも後の工程で実行された新しい調整工程で調整する色を表現するために使用される格子点が一つでも同一の格子点であるか否かの判定により行う。
【００４８】
色を表現するために使用される格子点とは、該当する色の持つＲＧＢ値の近傍のＲＧＢ値を持つ格子点のことである。より具体的には、色変換テーブルを用いた色変換を行う際に前述の四面体補間が使用される場合、色を表現するために使用される格子点とは近傍４点の格子点のことを指す。
【００４９】
近傍４点の格子点の抽出は、該当する色の持つＲＧＢ値と色変換テーブルの各格子点が持つＲＧＢ値の距離をそれぞれ算出し、その距離が小さいものから順に４点抽出することで行う。もしくは、色変換テーブルの持つ格子点４点で形成される四面体の内、該当する色の持つＲＧＢ値がどの四面体に含まれるかを判定し、該当する色の持つＲＧＢ値が含まれると判定された四面体を形成している格子点４点を抽出してもよい。
【００５０】
例えば、図１２において、調整２にて調整対象となる色を調整する際に使用する格子点と調整４にて調整対象となる色を調整する際に使用する格子点の内、格子点１２１０が重複している。そのため、削除対象として調整２（１２０２）の調整結果が選択された場合、調整４（１２０４）の調整結果は、調整２（１２０２）の調整結果の削除操作により色が変化してしまう調整結果であると判定される。
【００５１】
ステップＳ９０３にて変化しないと判定した場合、ＣＰＵ２０２は、ステップＳ９０７において、ステップＳ９０２で差分を足し合わせた色変換テーブルを、元々の調整履歴に保存されていた色変換テーブルと置き換えて保存する。
【００５２】
ステップＳ９０３にて変化すると判定した場合、ＣＰＵ２０２は、ステップＳ９０４において、変化してしまう調整結果の内の一つを選択し、色変換テーブルを抽出する。
【００５３】
ＣＰＵ２０２は、ステップＳ９０５において、再調整処理を行う。再調整処理の詳細は後述する。
【００５４】
ＣＰＵ２０２は、ステップＳ９０６において、ステップＳ９０３で変化してしまうと判定された調整結果の全てにＳ９０５の再調整処理を行ったか否かを判定する。ステップＳ９０６にて全ての処理を行ったと判定した場合、ＣＰＵ２０２は、ステップＳ９０７において、再調整処理を行った色変換テーブルを、元々調整履歴に保存されていた色変換テーブルと置き換えて保存する。ステップＳ９０６にて全ての処理を行っていないと判定した場合、ステップＳ９０４に戻る。
【００５５】
続いて、図９のステップＳ９０５の再調整処理について、まず図１３を用いて処理の目的を説明する。
【００５６】
図１３の色調整処理前パッチ１３０１は、調整４の色調整を行う前の色のイメージである。本システムを用いて色調整処理前パッチ１３０１の色を調整することにより、色調整処理後パッチ１３０２の色となり、目標の色になったとする。この段階で、図８のステップＳ８０５の履歴情報削除処理を調整２の調整結果に対して行うと、調整２における調整対象の色と近い色である調整４における調整対象の色が変化し、目標の色では無くなってしまう（調整２の調整結果削除後パッチ１３０３）。そこで、調整２の調整結果削除後パッチ１３０３の色の状態（目標の色ではない状態）を、色調整処理後パッチ１３０２の目標の色の状態に戻すことが再調整処理の目的である。すなわち、他の色を調整対象とした調整における調整結果（色変換テーブル）が削除された場合であっても、最初に調整された結果（色変換テーブル）を維持すること（パッチ１３０２とパッチ１３０４が同じ色になること）が目的である。
【００５７】
続いて再調整処理の詳細について、図１０を用いて説明する。図１０の全ての処理は、コンピュータ１０２のＣＰＵ２０２で行う。
【００５８】
まずＣＰＵ２０２は、ステップＳ１００１において、ステップＳ９０４にて抽出された他の色の調整結果の削除に影響を受ける色変換テーブルを構成する格子点のうち、影響を受けて変化する色を表現するのに使用される格子点を抽出する。格子点の抽出は、該当する色の持つｓＲＧＢ値の近傍のｓＲＧＢ値を持つ格子点を抽出することで行う。色変換時に前述の四面体補間が使用される場合は、近傍４点の格子点を抽出する。近傍４点の抽出は、該当する色の持つｓＲＧＢ値と色変換テーブルの各格子点が持つｓＲＧＢ値の距離をそれぞれ算出し、その距離が小さいものから順に４点抽出することで行う。もしくは、色変換テーブルの持つ格子点４点で形成される四面体の内、該当する色の持つｓＲＧＢ値がどの四面体に含まれるかを判定し、該当する色の持つｓＲＧＢ値が含まれると判定された四面体を形成している格子点４点を抽出してもよい。
【００５９】
続いてＣＰＵ２０２は、ステップＳ１００２において、ステップＳ１００１で抽出した各格子点の影響度を算出する。影響度とは、選択された調整結果である色のｓＲＧＢ値に対して、抽出した格子点のｓＲＧＢ値がどの程度離れているかによって決まるものであり、選択された調整の色に対して抽出された格子点がどの程度影響するかを表すものである。選択された色との距離が近い程、影響度が高い格子点となり、色を表現する際の寄与が大きい。影響度の算出は、まず式２を用いて選択された調整の色のｓＲＧＢ値と抽出した格子点のｓＲＧＢ値の距離を算出する。
【００６０】
（式２）
Ｄｉｓｔ（ｎ）＝ｓｑｒｔ（（Ｒｃｈ−Ｒ（ｎ））＾２  ＋  （Ｇｃｈ−Ｇ（ｎ））＾２  ＋  （Ｂｃｈ−Ｂ（ｎ））＾２）
Ｄｉｓｔ（ｎ）は距離（ｎは抽出した格子点を識別する値）、Ｒｃｈ・Ｇｃｈ・Ｂｃｈは選択された調整の色のｓＲＧＢ値、Ｒ（ｎ）・Ｇ（ｎ）・Ｂ（ｎ）は抽出した格子点のｓＲＧＢ値である。また、ｓｑｒｔは平方根の計算を表す。
【００６１】
続いて算出した距離の値から影響度を算出する。影響度の算出は、式３を用いて、抽出した各格子点の影響度の合計が１となるよう、算出した距離の値を正規化することで行う。
【００６２】
（式３）
Ｃｏｅ（ｎ）＝Ｄｉｓｔ（ｎ）／ΣＤｉｓｔ（ｎ）
Ｃｏｅ（ｎ）は影響度（ｎは抽出した格子点を識別する値）、Σは合計値の計算を表す。
【００６３】
続いてＣＰＵ２０２は、ステップＳ１００３において、合計移動量を算出する。合計移動量は各格子点の移動量を合計したものである。各格子点の移動量とは、削除によりｄｅｖＲＧＢ値が変化した格子点の変化前と後のｄｅｖＲＧＢ値の差分に影響度を掛け合わせたものである。各格子点の移動量は式４を用いて算出する。差分に影響度を掛け合わせるのは、色を表現する格子点（この場合は４つの格子点）のうち、１つの格子点の寄与分を鑑みているからである。
【００６４】
（式４）
ｍｏｖｅＲ（ｎ）＝Ｃｏｅ（ｎ）×（Ｒ（ｎ）ｂｅｆｏｒｅ  −  Ｒ（ｎ）ａｆｔｅｒ）
ｍｏｖｅＧ（ｎ）＝Ｃｏｅ（ｎ）×（Ｇ（ｎ）ｂｅｆｏｒｅ  −  Ｇ（ｎ）ａｆｔｅｒ）
ｍｏｖｅＢ（ｎ）＝Ｃｏｅ（ｎ）×（Ｂ（ｎ）ｂｅｆｏｒｅ  −  Ｂ（ｎ）ａｆｔｅｒ）
ｍｏｖｅＲ（ｎ）・ｍｏｖｅＧ（ｎ）・ｍｏｖｅＢ（ｎ）は抽出した格子点のｄｅｖＲＧＢ値それぞれの移動量（ｎは抽出した格子点を識別する値）である。Ｒ（ｎ）ｂｅｆｏｒｅ・Ｇ（ｎ）ｂｅｆｏｒｅ・Ｂ（ｎ）ｂｅｆｏｒｅは削除による変化前の格子点のｄｅｖＲＧＢ値である。Ｒ（ｎ）ａｆｔｅｒ・Ｇ（ｎ）ａｆｔｅｒ・Ｂ（ｎ）ａｆｔｅｒは削除による変化後の格子点のｄｅｖＲＧＢ値である。そして、合計移動量は式５を用いて算出する。
【００６５】
（式５）
Ｔｏｔａｌ＿ｍｏｖｅＲ＝ΣｍｏｖｅＲ（ｎ）
Ｔｏｔａｌ＿ｍｏｖｅＧ＝ΣｍｏｖｅＧ（ｎ）
Ｔｏｔａｌ＿ｍｏｖｅＢ＝ΣｍｏｖｅＢ（ｎ）
Ｔｏｔａｌ＿ｍｏｖｅＲ・Ｔｏｔａｌ＿ｍｏｖｅＧ・Ｔｏｔａｌ＿ｍｏｖｅＢは合計移動量のｄｅｖＲＧＢ値である。
【００６６】
続いてＣＰＵ２０２は、ステップＳ１００４において、補正量を算出する。補正量は、合計移動量を削除操作後に変化しない格子点の数で割ったものである。削除操作後に変化しない格子点とは、選択された調整の色が使用する格子点と重複しない格子点である。より具体的には、ステップＳ１００３で求めたｍｏｖｅＲ（ｎ）・ｍｏｖｅＧ（ｎ）・ｍｏｖｅＢ（ｎ）の値が全て０である格子点のことである。ｍｏｖｅＲ（ｎ）・ｍｏｖｅＧ（ｎ）・ｍｏｖｅＢ（ｎ）が全て０である格子点の数をカウントし、合計移動量をその数で割ることで補正量を求める。補正量は式６を用いて算出する。
【００６７】
（式６）
ＣｏｒｒｅｃｔＶａｌｕｅＲ＝Ｔｏｔａｌ＿ｍｏｖｅＲ  ／  ｃｏｕｎｔＧｒｉｄ
ＣｏｒｒｅｃｔＶａｌｕｅＧ＝Ｔｏｔａｌ＿ｍｏｖｅＧ  ／  ｃｏｕｎｔＧｒｉｄ
ＣｏｒｒｅｃｔＶａｌｕｅＢ＝Ｔｏｔａｌ＿ｍｏｖｅＢ  ／  ｃｏｕｎｔＧｒｉｄ
ＣｏｒｒｅｃｔＶａｌｕｅＲ・ＣｏｒｒｅｃｔＶａｌｕｅＧ・ＣｏｒｒｅｃｔＶａｌｕｅＢはｄｅｖＲＧＢ値それぞれの合計移動量、ｃｏｕｎｔＧｒｉｄはｍｏｖｅＲ（ｎ）・ｍｏｖｅＧ（ｎ）・ｍｏｖｅＢ（ｎ）が全て０である格子点の数である。
【００６８】
最後に、ＣＰＵ２０２は、ステップＳ１００５において、調整量を算出する。調整量はステップＳ１００４で算出した補正量に各格子点の影響度を加味して算出されるものであり、式７を用いて算出する。
【００６９】
（式７）
ＧｒｉｄＡｄｊｕｓｔＲ（ｎ）＝（１  ／  Ｃｏｅ（ｎ））  ×  ＣｏｒｒｅｃｔＶａｌｕｅＲ
ＧｒｉｄＡｄｊｕｓｔＧ（ｎ）＝（１  ／  Ｃｏｅ（ｎ））  ×  ＣｏｒｒｅｃｔＶａｌｕｅＧ
ＧｒｉｄＡｄｊｕｓｔＢ（ｎ）＝（１  ／  Ｃｏｅ（ｎ））  ×  ＣｏｒｒｅｃｔＶａｌｕｅＢ
ＧｒｉｄＡｄｊｕｓｔＲ（ｎ）・ＧｒｉｄＡｄｊｕｓｔＧ（ｎ）・ＧｒｉｄＡｄｊｕｓｔＢ（ｎ）はｄｅｖＲＧＢ値それぞれの調整量（ｎは抽出した格子点を識別する値）である。
【００７０】
調整量の算出は、ｍｏｖｅＲ（ｎ）・ｍｏｖｅＧ（ｎ）・ｍｏｖｅＢ（ｎ）が全て０である格子点に対してのみ行う。そして、ｍｏｖｅＲ（ｎ）・ｍｏｖｅＧ（ｎ）・ｍｏｖｅＢ（ｎ）が全て０である格子点にのみ、各格子点のｄｅｖＲＧＢ値それぞれに対して調整量を足し合わせる。これらの処理により再調整処理を行う。
【００７１】
以上の処理により、複数の色を順次調整をした後、ある色に対する調整結果を変更（削除）した場合、ある色に対する調整よりも後の工程で調整された色が影響を受け、調整結果が変わってしまわないように調整結果の色を維持することが可能になる。
【００７２】
具体的には色１→色２→色３と順次調整をした後、色２に対する調整結果を削除した場合、色３の調整結果（対応する色変換テーブル）に対して再調整を行うことで、色２の調整結果削除の前後で色３の調整結果を維持することが可能になる。
【００７３】
以上のように、調整履歴に保存された調整結果の内の一部の調整結果を元に戻しても、その他の調整済みの色が変化しないようにする。これにより、ユーザーが想定しない色の変化が生じることを防ぐことができる。
【００７４】
なお、本実施形態の処理は、プリンタコントローラ１０４のみで全ての処理を行う構成でもよい。
【００７５】
＜その他の実施形態＞
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006748464.tif 000002
【図２】
0006748464.tif 000003
【図３】
0006748464.tif 000004
【図４】
0006748464.tif 000005
【図５】
0006748464.tif 000006
【図６】
0006748464.tif 000007
【図７】
0006748464.tif 000008
【図８】
0006748464.tif 000009
【図９】
0006748464.tif 000010
【図１０】
0006748464.tif 000011
【図１１】
0006748464.tif 000012
【図１２】
0006748464.tif 000013
【図１３】
0006748464.tif 000014