(57)【要約】      （修正有）【課題】特定の色を目標の色に調整しつつ、他の色が変化しないように色変換テーブルの調整を行う調整方法を提供する。【解決手段】色変換テーブルを調整する画像処理装置であって、色変換テーブル及び第１の色に基づいて生成されたチャートデータの印刷物から第２の色を選択し、その第２の色に基づいて色変換テーブルを調整する。調整前の色変換テーブルと、調整後の色変換テーブルとで差分のある格子点を第１の格子点として特定し、調整後の第１の格子点に対する階調性を判定する。そして、その判定結果に基づき、第１の格子点とその近傍の格子点との位置関係に基づいて、調整後の第１の格子点の近傍の第２の格子点を抽出し、調整前と調整後の第１の格子点の移動量と、調整後の第１の格子点と第２の格子点との距離に基づいて第２の格子点を調整する。【選択図】図４
2018133668.tif 000002
【特許請求の範囲】
【請求項１】
色変換テーブルを調整する画像処理装置であって、
前記色変換テーブル及び第１の色に基づいて生成されたチャートデータの印刷物から第２の色を選択する選択手段と、
前記選択手段により選択された前記第２の色に基づいて前記色変換テーブルを調整する第１調整手段と、
前記第１調整手段により調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第１の格子点として特定する特定手段と、
前記調整後の前記色変換テーブルにおける前記第１の格子点に対する階調性を判定する判定手段と、
前記判定手段による階調性の判定結果に基づき、前記第１の格子点と当該第１の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第１の格子点の近傍の第２の格子点を抽出する抽出手段と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第１の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第１の格子点と前記第２の格子点との距離に基づいて前記第２の格子点を調整する調整手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第１調整手段は、前記第１の色を前記色変換テーブルで変換した値が前記第２の色となるように前記色変換テーブルを調整することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記判定手段は、前記第１の格子点を含む色空間を示す多面体において、前記第１の格子点が前記多面体の内側に存在するか、或いは前記多面体の表面に存在するか、或いは前記多面体の外側に存在するかで階調性を判定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記判定手段は、前記多面体の重心と、前記多面体の表面に位置する３つの格子点とを結んで形成される四面体に、前記前記第１の格子点が含まれるか否かで前記階調性を判定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判定手段は、更に、階調性の判定結果と共に、前記第１の格子点が前記多面体のどの方向に位置しているかを示す位置情報を生成することを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記抽出手段は、前記位置情報に基づいて、前記第１の格子点と当該第１の格子点の近傍の格子点との位置関係を求めることにより、前記調整後の前記色変換テーブルの前記第１の格子点の近傍の第２の格子点を抽出することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記調整手段は、前記第１の格子点の移動量に重み付けを行った値を、前記抽出手段により抽出された前記第２の格子点に足し合わせることにより前記第２の格子点を調整することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記抽出手段は、前記第２の格子点として９格子点、１５格子点、１９格子点のいずれかを抽出することを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記判定手段が前記第１の格子点を含む色空間を示す多面体において、前記多面体の表面に存在するか、或いは前記多面体の外側に存在すると判定した場合に、前記抽出手段及び前記調整手段が実行されることを特徴とする請求項３又は４に記載の画像処理装置。
【請求項１０】
色変換テーブルを調整する色変換テーブルの調整方法であって、
前記色変換テーブル及び第１の色に基づいて生成されたチャートデータの印刷物から第２の色を選択する選択工程と、
前記選択工程で選択された前記第２の色に基づいて前記色変換テーブルを調整する第１調整工程と、
前記第１調整工程で調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第１の格子点として特定する特定工程と、
前記調整後の前記色変換テーブルにおける前記第１の格子点に対する階調性を判定する判定工程と、
前記判定工程による階調性の判定結果に基づき、前記第１の格子点と当該第１の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第１の格子点の近傍の第２の格子点を抽出する抽出工程と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第１の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第１の格子点と前記第２の格子点との距離に基づいて前記第２の格子点を調整する調整工程と、
を有することを特徴とする色変換テーブルの調整方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置と色変換テーブルの調整方法、及びそのプログラムに関するものである。
【背景技術】
【０００２】
近年、電子写真装置の性能の向上に伴い、写真と同等の画質を実現した印刷物を提供できる装置が登場している。これにより販売店などで用いられるＰＯＰ等の印刷が、各店舗で、簡単に行えるようになった。ＰＯＰとは、Ｐｏｉｎｔ  ｏｆ  ｐｕｒｃｈａｓｅ  ａｄｖｅｒｔｉｓｉｎｇの略語で、販売促進のための広告のことである。しかし、印刷に使用する装置の違いや、印刷タイミングの違い等により、見本のＰＯＰと異なる色で印刷されてしまう事がある。このような場合、従来は、専門知識を有するサービスマン等が、その装置を色調整を行っていたが、近年では、特別な専門知識が無い販売店の担当者などが簡易的に色を合わせる色調整ができるシステムが構築されている。特許文献１には以下の技術が記載されている。ＰＯＰなどの画像から調整したい色を抽出し、その抽出した色に対してその近傍の色のパッチを複数生成する。そして、生成したパッチが配置されたチャートを印刷し、その印刷されたパッチの中からユーザが目視により所望の色のパッチを選択する。そして、この選択されたパッチの色に応じて色変換を行うためのテーブル（色変換テーブル）を調整している。
【０００３】
このようなシステムを利用して、ＰＯＰ等の特定の色のみの色調整を行う場合、その特定の色以外の色は調整前後で変化しないことが望ましい。例えば赤、緑、黄の３色が使用されているＰＯＰに対して、赤色を調整した場合、緑色、黄色は変化しないことが望ましい。これは、特定の色を調整するということは、ユーザは、その特定の色以外の色は満足しており、特定の色以外が変化しない方が好ましいと考えられるためである。
【０００４】
一方、色変換テーブルを調整することで色の調整を行う場合、階調性を考慮する必要がある。階調性の定義の詳細については後述するが、階調性とは色の連続性のことである。色変換テーブルの調整では、調整の前後で階調性が崩れないように制御する必要がある。これは、色変換テーブルの調整によって色の連続性が無くなる階調つぶれや、色の連続性が逆転する階調反転が起きないようにするためである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１１４７１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら上述の従来技術では、特定の色を目標の色に調整しつつ、他の色が変化しないように色変換テーブルの調整を行うと階調性が低下する場合がある。
【０００７】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００８】
本発明の目的は、調整対象の色を調整するとき、それ以外の色の変化を抑えた色調整を行うことができる色変換テーブルを作成する技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
色変換テーブルを調整する画像処理装置であって、
前記色変換テーブル及び第１の色に基づいて生成されたチャートデータの印刷物から第２の色を選択する選択手段と、
前記選択手段により選択された前記第２の色に基づいて前記色変換テーブルを調整する第１調整手段と、
前記第１調整手段により調整される前の前記色変換テーブルと、調整後の前記色変換テーブルとで差分のある当該色変換テーブルの格子点を第１の格子点として特定する特定手段と、
前記調整後の前記色変換テーブルにおける前記第１の格子点に対する階調性を判定する判定手段と、
前記判定手段による階調性の判定結果に基づき、前記第１の格子点と当該第１の格子点の近傍の格子点との位置関係に基づいて、前記調整後の前記色変換テーブルの前記第１の格子点の近傍の第２の格子点を抽出する抽出手段と、
前記調整される前の前記色変換テーブルと前記調整後の前記色変換テーブルとの間での前記第１の格子点の移動量と、前記調整後の前記色変換テーブルにおける前記第１の格子点と前記第２の格子点との距離に基づいて前記第２の格子点を調整する調整手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、調整対象の色を調整するとき、それ以外の色の変化を抑えた色調整を行うことができるという効果がある。
【００１１】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１２】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態１に係る画像処理装置を含んだ画像処理システムの構成例を示す構成図。
【図２】実施形態１に係るコンピュータのハードウェア構成を説明するブロック図（Ａ）と、実施形態１に係るプリンタのプリンタコントローラのハードウェア構成を説明するブロック図（Ｂ）。
【図３】実施形態１に係るコンピュータのＣＰＵが実行するプログラムのモジュール構成を説明するブロック図（Ａ）と、実施形態１に係るプリンタコントローラのＣＰＵが実行するプログラムのモジュール構成を説明するブロック図（Ｂ）。
【図４】実施形態１に係る画像処理システムの動作を説明するフローチャート。
【図５】図４のＳ４０２のチャートデータの生成処理を説明するフローチャート。
【図６】図４のＳ４０３のチャート印刷処理を説明するフローチャート。
【図７】図４のＳ４０７の階調性の判定処理を説明するフローチャート。
【図８】実施形態１に係る階調性の定義の概要を説明する図。
【図９】実施形態１に係る階調性の判定方法の概要を説明する図。
【図１０】実施形態１に係る出力色空間における多面体の面のパターンを示すイメージ図。
【図１１】実施形態１に係る出力色空間における注目格子点の位置に応じた抽出格子点のパターンを示すイメージ図。
【図１２】実施形態１における四面体と注目格子点との位置関係を示すイメージ図。
【図１３】実施形態１に係る注目格子点の位置を示すイメージ図。
【図１４】実施形態１に係る表面判定のパターンを示すイメージ図。
【図１５】実施形態１に係る注目格子点の例外判定の状態を示すイメージ図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
［実施形態１］
図１は、本発明の実施形態１に係る画像処理装置（コンピュータ１０２）を含んだ画像処理システムの構成例を示す構成図である。
【００１５】
この画像形成システムは、ネットワーク１０１を介して接続されたコンピュータ１０２とプリンタ１０６、及びコンピュータに１０２に接続された表示装置１０３を含んでいる。尚、ネットワーク１０２に接続された装置はこの図１に限らないが、ここでは他の機器や装置は省略している。プリンタ１０６は、プリンタコントローラ１０４とプリンタエンジン１０５を有している。ここでコンピュータ１０２は、ネットワーク１０１を介してプリンタ１０６に印刷ジョブを送信し、またプリンタ１０６の情報を取得することができる。またコンピュータ１０２は、動作中のアプリケーションの画面情報等を表示装置１０３に送信して表示させることができる。またプリンタコントローラ１０４とプリンタエンジン１０５は互いに接続されており、プリンタコントローラ１０４はプリンタエンジン１０５に制御信号を送信して印刷動作を制御している。
【００１６】
図２（Ａ）は、実施形態１に係るコンピュータ１０２のハードウェア構成を説明するブロック図である。
【００１７】
コンピュータ１０２は、ＣＰＵ２０２、ＲＡＭ２０３、外部記憶装置２０４、ディスプレイインタフェース２０５、外部入力装置２０６、ネットワークインタフェース２０７を有し、これらは内部バス２０１を介してＣＰＵ２０２と接続されている。外部入力装置２０６は、キーボードやポインティングデバイス、及びタッチパネルなどを含み、ユーザによる情報の入力を可能にしている。ネットワークインタフェース２０７は、ネットワーク１０１と接続し、ネットワーク１０１を介してプリンタ１０６と互いにデータを通信することができる。コンピュータ１０２が起動すると、ＣＰＵ２０２がプログラムを外部記憶装置２０４から読み込んでＲＡＭ２０３に展開し、その展開したプログラムを実行する。ＣＰＵ２０２が実行するプログラムは、ディスプレイインタフェース（表示部インターフェース）２０５に対して表示データを送信することにより表示装置１０３の画面に各種情報を表示させる。またＣＰＵ２０２は、外部入力装置２０６を介して入力されたユーザからの入力情報を監視し、情報が入力された場合はプログラム中に定義された、対応する処理を実行する。
【００１８】
図２（Ｂ）は、実施形態１に係るプリンタ１０６のプリンタコントローラ１０４のハードウェア構成を説明するブロック図である。
【００１９】
プリンタコントローラ１０４では、内部バス２０８を介してＣＰＵ２０９、ＲＡＭ２１０、外部記憶装置２１１、ネットワークインタフェース２１２、エンジンインタフェース２１３、入力装置２１４を接続している。プリンタコントローラ１０４が起動すると、ＣＰＵ２０９は実行プログラムを外部記憶装置２１１から読み込んでＲＡＭ２１０に展開し、その展開したプログラムを実行する。
【００２０】
図３（Ａ）は、実施形態１に係るコンピュータ１０２のＣＰＵ２０２が実行するプログラムのモジュール構成を説明するブロック図である。
【００２１】
ＣＰＵ２０２が実行するプログラムのモジュールは、データ取得部３０１、チャートデータ生成部３０２、印刷処理部３０３、色調整処理部３０４を含んでいる。データ取得部３０１は、調整対象である調整色の値（調整値）と、チャートの生成に必要となるテーブルデータ及び色変換テーブルを取得する。尚、実施形態１では、調整値は、一般的なモニタで使用される色空間の値とする。モニタで使用される色空間とは、例えば、ｓＲＧＢ色空間やＡｄｏｂｅＲＧＢ色空間のことである。実施形態１では、調整値はｓＲＧＢ色空間の値とし、０〜２５５の値を取る８ビットの整数値とする。また色変換テーブルはｓＲＧＢをデバイスに依存するＲＧＢ（ｄｅｖＲＧＢ）色空間に変換するテーブルとする。実施形態１では、このｄｅｖＲＧＢ値も、ｓＲＧＢ値と同様に０〜２５５の値を取る８ビットの整数値とする。このテーブルにより表示装置１０３に表示される色の色値と、プリンタ１０６に形成される色の色値との関係が示される。
【００２２】
更に、色変換テーブルを更新する処理にテーブルデータが必要となる。このテーブルデータは、ｄｅｖＲＧＢをＬａｂに変換するテーブルとする。Ｌａｂは人間の視覚特性を考慮し、デバイスに非依存の３次元の色空間である視覚均等色空間である。但し、各色空間はこれに限られるものではない。Ｌａｂ値は、実施形態１では実数値とし、Ｌは０．０〜１００．０、ａ及びｂは−１２７．０〜１２８．０の値を取るものとする。
【００２３】
チャートデータ生成部３０２は、データ取得部３０１で取得したデータを基にチャートデータを生成する。印刷処理部３０３は、チャートデータ生成部３０２で生成したチャートデータを、プリンタ１０６で印刷するために必要となる印刷制御を行う。具体的には、チャートデータをプリンタ１０６で扱える色空間に変換し、後述するプリンタコントローラ１０４のレンダリング処理部３０５（図３（Ｂ））に送信する。色調整処理部３０４は、目標となる目標色の値（目標値）を取得し、その取得した目標値と、データ取得部３０１で取得した調整値、及び色変換テーブルを用いて、色変換テーブルを更新する。
【００２４】
図３（Ｂ）は、実施形態１に係るプリンタコントローラ１０４のＣＰＵ２０９で実行するプログラムのモジュール構成を説明するブロック図である。
【００２５】
ＣＰＵ２０９で実行するプログラムのモジュールは、レンダリング処理部３０５、色変換部３０６、二値化処理部３０７、エンジン制御部３０８を有している。レンダリング処理部３０５は、コンピュータ１０２の印刷処理部３０３で変換されたチャートデータ等の画像データを不図示の画像メモリに描画する。色変換部３０６は、その画像メモリに描画された画像データを、プリンタエンジン１０５が扱う色材に対応する画像データ（ＣＭＹＫ）に変換する。二値化処理部３０７は、色変換部３０６で変換された画像データをスクリーン処理や誤差拡散処理等の画像形成処理を行って二値画像データに変換し、エンジン制御部３０８に出力する。エンジン制御部３０８は、二値化処理部３０７で変換された二値画像データを基に、プリンタエンジン制御の指令をエンジンインタフェース２１３に出力する。これによりプリンタエンジン１０５により、インク像やトナー像である画像が紙面上に形成される。
【００２６】
次に実施形態１に係る画像処理システムにおける動作の流れについて説明する。この動作の流れの詳細を説明する前に、実施形態１における階調性の定義と階調性の制御方法の概要を図８及び図９を参照して説明する。
【００２７】
図８は、実施形態１に係る階調性の定義の概要を説明する図である。
【００２８】
入力色空間８０１は、色変換テーブルの持つ入力値を３次元の座標軸で表現した場合の、注目格子点（中心の格子点）とその周囲２６格子点からなる入力色空間のイメージを示す。この入力色空間８０１は、入力値を３次元の座標軸で表現した空間で表されている。ここで格子点は、色変換テーブルを構成するＲＧＢやＬａｂなどの一つの要素を指しており、入力の格子点は均等に配置されている。言い換えると、色変換テーブルの入力値は８ビットで表現される場合、０〜２５５の値を均等に分割した値を持つ。実施形態１では、入力値を０〜２５５の値としたが、本発明はこれに限るものではない。
【００２９】
出力色空間８０２〜８０４はそれぞれ、色変換テーブルの持つ出力値を３次元の座標軸で表現した場合の、注目格子点とその周囲２６格子点からなる出力色空間のイメージを示す。この出力色空間では、出力値を３次元の座標軸で表現した空間とする。出力色空間８０２〜８０４は、注目格子点と周囲２６格子点の位置関係がそれぞれ異なる状態を示している。出力色空間８０２は、注目格子点８１０が周囲２６格子点で形成される多面体の内側にある状態を表現している。出力色空間８０３は、注目格子点８１１が周囲２６格子点で形成される多面体の面上にある状態を表現している。出力色空間８０４は、注目格子点８１２が周囲２６格子点で形成される多面体の外側にある状態を表現している。注目格子点がこの３つの状態のどれに当てはまるかで、階調性を定義する。前述したように実施形態１では、階調性は色の連続性であり、図８の８０５で示すように、色の連続性がある状態、図８の８０６で示すように、色がつぶれた状態、図８の８０７で示すように、色が反転した状態の３つの状態に分かれる。
【００３０】
出力色空間８０２のように、注目格子点８１０が周囲２６格子点で形成される多面体の内側にある場合は、色の連続性がある状態と定義する。また出力色空間８０３のように、注目格子点８１１が周囲２６格子点で形成される多面体の面上にある場合は、色がつぶれた状態であると定義する。更に、出力色空間８０４のように、注目格子点８１２が周囲２６格子点で形成される多面体の外側にある場合は、色が反転した状態であると定義する。
【００３１】
次に図９を参照して、階調性の定義に対応する階調性の判定結果に応じて行う階調性の制御方法の概要を説明する。
【００３２】
図９は、実施形態１に係る階調性の判定方法の概要を説明する図である。
【００３３】
まず図８の出力色空間８０２のように、注目格子点８１０が周囲２６格子点で形成される多面体の内側にある場合は階調制御は行わない。つまり図９の９０１と９０２の関係のように、各格子点の値は変化させない。
【００３４】
一方、図８の出力色空間８０３，８０４のように、注目格子点が周囲２６格子点で形成される多面体の外側もしくは面上にある場合は階調制御を行う。この階調制御は、注目格子点が多面体の内側に来るように、いくつかの格子点の値を調整することで行う。この格子点の調整は、図９の９０３，９０４で示すように、注目格子点８１２が位置している方向に存在する格子点を抽出し、その格子点の値を調整することで行う。この階調制御の具体的な方法については後述する。
【００３５】
次に実施形態１に係るシステムの動作の流れを図４を参照して説明する。
【００３６】
図４は、実施形態１に係る画像処理システムの動作を説明するフローチャートである。尚、図４のフローチャートにおいて、Ｓ４０３の処理はプリンタコントローラ１０４のＣＰＵ２０９が実行し、それ以外の処理はコンピュータ１０２のＣＰＵ２０２が実行する。ここでＣＰＵ２０２が実行するプログラムは外部記憶装置２０４に記憶されており、ＣＰＵ２０２は、そのプログラムをＲＡＭ２０３に展開して実行することにより、ＣＰＵ２０２による処理が達成される。同様に、ＣＰＵ２０９が実行するプログラムは外部記憶装置２１１に記憶されており、ＣＰＵ２０９は、そのプログラムをＲＡＭ２１０に展開して実行することにより、ＣＰＵ２０９による処理が達成される。尚、ここでは図４のフローチャートの各ステップの処理の主体を図３のモジュールとして説明する。
【００３７】
まずＳ４０１でデータ取得部３０１は、調整値及び色変換テーブルと、チャートデータの生成に必要となるテーブルを取得する。この調整値の取得は、予めいくつかのｓＲＧＢの組み合わせを用意しておき、その中から選択されたものを取得するようにしてもよい。また或いは、ＵＩにｓＲＧＢ値を入力できる仕組みを設け、そのＵＩで入力されたｓＲＧＢ値を取得してもよい。また、ＰＯＰなどの色を変更したい画像データがある場合には、その画像データからｓＲＧＢ値を取得して調整値としてもよい。尚、色変換テーブルは、コンピュータ１０２或いはプリンタ１０６の外部記憶装置２０４，２１１に保持された、印刷時に使用される色変換テーブルである。またチャートデータの生成に必要となるテーブルは、予め用意されたｄｅｖＲＧＢからＬａｂに変換するテーブルである。ｄｅｖＲＧＢからＬａｂに変換するテーブルの作成は、例えばテーブル作成専用のチャートを、該当するプリンタで印刷し、その印刷したチャートを測定してＬａｂ値を取得し、ｄｅｖＲＧＢ値と取得したＬａｂ値を関連付けることで行う。
【００３８】
次にＳ４０２に進みチャートデータ生成部３０２は、Ｓ４０１で取得したデータに基づいてチャートデータを生成する。このチャートデータ生成の詳細については後述する。そしてＳ４０３に進み印刷処理部３０３は、Ｓ４０２で生成されたチャートデータを用いてチャートの印刷を行う。この印刷処理の詳細は後述する。
【００３９】
次にＳ４０４に進み色調整処理部３０４は、Ｓ４０３で印刷されたチャートに配置されたパッチの中から、ユーザが選択したパッチのｓＲＧＢ値を目標値として取得する。ここでは例えば、Ｓ４０２で生成したチャートを表示装置１０３に表示する。そして、印刷されたチャートを参考に、ユーザが表示装置１０３に表示されたチャートに配置されたパッチの中から目標となるパッチを選択する仕組みを設け、選択されたパッチのｓＲＧＢ値を取得する。或いは、チャートの印刷時にチャートに各パッチの座標位置を付加し、ユーザにより選択された目標となるパッチの座標位置を入力するなど、パッチの信号値を特定できれば、どのような手段を用いても良い。また、後述する階調性の判定処理をこの処理の中で利用し、表示装置１０３に表示されたチャートの各パッチを選択した場合の階調性への影響が分かるようにチャートの表示を変えてもよい。
【００４０】
次にＳ４０５に進み色調整処理部３０４は、Ｓ４０１で取得した調整値と色変換テーブル及び、Ｓ４０４で取得した目標値を用いて色調整処理を行う。この色調整処理は、色変換テーブルを用いて調整値を変換した場合の出力値が、色変換テーブルを用いて目標値を変換した場合の出力値と同じ値となるように色変換テーブルの該当する部分を調整するものである。例えば、調整値のｓＲＧＢ値が（１５０，０，０）であり、調整前の色変換テーブルにより色変換された後の出力値のｄｅｖＲＧＢ値が（１２０、０、０）であるとする。そして、ユーザが選択した目標値のｓＲＧＢ値が（１５０，２０，０）であり、色変換後の出力値が（１２０，１５，０）であるとする。この場合、調整値のｓＲＧＢ値（１５０，０，０）の出力値が、目標値の色変換後の出力値のｄｅｖＲＧＢ値（１２０，１５，０）となるように、ｓＲＧＢ（任意の色空間）→ｄｅｖＲＧＢ（デバイス依存色空間）の色変換テーブルを調整する。
【００４１】
次にＳ４０６に進み色調整処理部３０４は、Ｓ４０５で調整された色変換テーブルの持つ格子点の内、調整の前後で出力値の変化がある格子点を、注目格子点として抽出する。この注目格子点の抽出は、調整前の色変換テーブルと調整後の色変換テーブルの対応する全格子点の出力値の差分（移動量）を算出し、差分が０でない格子点を抽出することで行う。実施形態１では、調整前後の格子点の差分を算出することで、調整された格子点の抽出を行うが、Ｓ４０５の色調整処理時に調整されたことを示すフラグを、調整された格子点に対応付けて保持するなど、調整格子点が分かればどのような方法でもよい。
【００４２】
次にＳ４０７に進み色調整処理部３０４は、その注目格子点に対して、階調性の判定処理を行う。この階調性の判定処理は、注目格子点に対して一つずつ行う。この階調性の判定処理の詳細は後述するが、階調性の判定処理は、図８を参照して前述した階調性の３つの状態に応じた値を出力する。例えば、階調性が色の連続性がある状態であれば「０」、色がつぶれた状態であれば「１」、色が反転した状態であれば「２」を出力する。但し、３つの状態が分かればどのような情報でもよい。
【００４３】
次にＳ４０８に進み色調整処理部３０４は、Ｓ４０７の階調性判定処理の結果に基づき、階調性に問題があるかどうかを判定する。ここで、階調性の判定処理の結果が色の連続性がある状態（出力値が「０」）であれば階調性問題なしと判定する。一方、色がつぶれた状態（出力値が「１」）もしくは色が反転した状態（出力値が「２」）であれば階調性問題ありと判定する。ここで、階調性に問題なしと判定した場合はＳ４１２に進むが、そうでないときはＳ４０９に進む。Ｓ４０９で色調整処理部３０４は、Ｓ４０６で抽出された注目格子点の位置情報を取得する。この位置情報は、３次元座標上における、注目格子点の周囲２６格子点で形成される多面体のどの面の方向に、その注目格子点が存在するかを示す情報である。ここで言う面とは、図１０の１００１〜１００６で、大きい黒丸で表現している、注目格子点の周囲２６格子点の内の隣接する９格子点で形成される面のことであり、合計６面存在する。
【００４４】
図１０は、実施形態１に係る出力色空間における多面体の面のパターンを示すイメージ図である。
【００４５】
例えば、１００１は、出力色空間の背部側の面を、１００２は手前側の面を、１００３は左側面を、１００４は右側面を、１００５は底面を、１００６は上面を示している。
【００４６】
Ｓ４０９では例えば、注目格子点とその周囲の格子点の関係が、図９の９０３で示すような関係の場合、図９の９０４に示すように、大きい黒丸で表現している９格子点で形成される面を示す面情報を取得する。この位置情報は、Ｓ４０７の階調判定処理の中で生成されるため、位置情報の生成方法は後述する階調反転処理の詳細の中で説明する。
【００４７】
次にＳ４１０に進み色調整処理部３０４は、Ｓ４０９で取得した注目格子点の位置情報に基づいて、Ｓ４１１における格子点の補正に必要となる格子点（以下、近傍格子点）を抽出する。ここではＳ４０９で取得した面情報から、該当する面を形成する近傍格子点を抽出する。ここで抽出される近傍格子点の数は、９格子点、１５格子点、１９格子点の３つのパターンがある。
【００４８】
図１１は、実施形態１に係る出力色空間における注目格子点の位置に応じた近傍格子点のパターンを示すイメージ図である。
【００４９】
例えば注目格子点と周囲２６格子点の関係が、図１１の出力色空間１１０１のような場合、注目格子点は大きい黒丸で表現している９格子点で形成される面の方向に位置しているため、その９格子点を抽出する。また注目格子点と周囲２６格子点の関係が図１１の出力色空間１１０２のような場合、注目格子点は大きい黒丸で表現している１５格子点で形成される面の方向に位置しているため、その１５格子点を抽出する。更に、注目格子点と周囲２６格子点の関係が図１１の出力色空間１１０３の場合、注目格子点は大きい黒丸で表現している１９格子点で形成される面の方向に位置しているため、その１９格子点を抽出する。
【００５０】
そしてＳ４１１に進み色調整処理部３０４は、Ｓ４１０で抽出した近傍格子点を補正する。近傍格子点の補正は、Ｓ４０６で抽出した注目格子点の出力値の変化（Ｓ４０５での色調整前後の出力値の差分）に重み付けをした値を、Ｓ４１０で抽出した近傍格子点に足し合わせることで行う。実施形態１では、これら格子点の出力値をｄｅｖＲＧＢ値として説明する。この補正は以下の式（１）を用いて行う。
【００５１】
ｏｕｔＲ＝ｉｎｐｕｔＲ＋（diffR  ×  weight）
ｏｕｔＧ＝ｉｎｐｕｔＧ＋（diffG  ×  weight）
ｏｕｔＢ＝ｉｎｐｕｔＢ＋（diffB  ×  weight）    …式（１）
ここで、ｏｕｔＲ，ｏｕｔＧ，ｏｕｔＢは、補正後の近傍格子点の出力ｄｅｖＲＧＢ値、ｉｎｐｕｔＲ，ｉｎｐｕｔＧ，ｉｎｐｕｔＢは、補正前のＳ４１０で抽出した近傍格子点の出力ｄｅｖＲＧＢ値である。またdiffR，diffG，diffBは、Ｓ４０５での色調整前後の出力値の差分、weightは重みである。Ｓ４０５での色調整前後の出力値の差分は、Ｓ４０６で注目格子点の抽出時に算出した調整前の色変換テーブルと調整後の色変換テーブルの対応する全格子点の出力値の差分を用いる。または改めて該当する格子点の出力値の差分を算出しても良い。重みの算出は以下の式（２）を用いる。
【００５２】
weight＝（Gain−ABS（dist））／Gain
（Gain ＞ MAX（ABS（diffR），ABS（diffG），ABS（diffB）））    …式（２）
ここでGainは、予め定められた値、distは、注目格子点と、補正前のＳ４１０で抽出した近傍格子点の入力色空間における距離であり、ABSは絶対値を表す。またMAXは、最大値を表しており、Gainの値は、diffR，diffG，diffBの絶対値の内の一番大きい値よりも大きい必要がある。distは、以下の式（３）を用いて算出する。
【００５３】
dist  ＝√（（in_main_R − in_arround_R）^2 ＋（in_main_G − in_arround_G）^2 +（in_main_B − in_arround_B）^2）    …式（３）
ここで、in_main_R，in_main_G，in_main_Bは、注目格子点の入力値、in_arround_R，in_arround_G，in_arround_Bは、Ｓ４１０で抽出した近傍格子点の入力値、√は平方根の計算を表す。また、^2は、二乗を示している。
【００５４】
こうしてＳ４１１の処理が終了した後、或いはＳ４０８で階調性に問題がないと判定された場合はＳ４１２に進み色調整処理部３０４は、Ｓ４０６で抽出した注目格子点の全てに対してＳ４０７〜Ｓ４１１までの処理を行ったかを判定する。この判定は、各注目格子点にＳ４０７〜Ｓ４１１までの処理が終了したことを示すフラグを付与し、注目格子点の全てにフラグが付与されているかどうかを判定する。或いは、注目格子点の数を保持し、その数の分だけＳ４０７〜Ｓ４１１までの処理を繰り返したかどうか判定するなど、Ｓ４０６で抽出した注目格子点の全てを処理できればどのような方法でもよい。ここで抽出した注目格子点を全て処理していないと判定した場合はＳ４０６に戻る。
【００５５】
そしてＳ４１２で、注目格子点を全て処理したと判定するとＳ４１３に進みＣＰＵ２０２は、Ｓ４１３で調整した色変換テーブルを、コンピュータ１０２もしくはプリンタ１０６の外部記憶装置２０４，２１１に保存する。この保存は、Ｓ４０１で取得した色変換テーブルを上書きしてもよいし、別の色変換テーブルとして保存してもよい。
【００５６】
図５は、図４のＳ４０２のチャートデータの生成処理を説明するフローチャートである。尚、この処理はチャートデータ生成部３０２として機能するＣＰＵ２０２が実行するものとして説明する。
【００５７】
先ずＳ５０１でＣＰＵ２０２は、Ｓ４０１で取得した調整値を取得する。次にＳ５０２に進みＣＰＵ２０２は、Ｓ４０１で取得した色変換テーブル及びチャートデータ生成に必要となるテーブルを取得する。次にＳ５０３に進みＣＰＵ２０２は、調整値や目標値をＬａｂ値に変換するためのテーブル（ｓＲＧＢ→Ｌａｂ変換テーブル）を生成する。このｓＲＧＢ→Ｌａｂ変換テーブルは、Ｓ５０２で取得した、色変換テーブル（ｓＲＧＢ→ｄｅｖＲＧＢ変換テーブル）とチャート生成に必要となるテーブル（ｄｅｖＲＧＢ→Ｌａｂ変換テーブル）とを合成することで生成する。この合成は、例えば補間演算を用いて行う。この補間演算は、演算用テーブルで定義されていない値が入力された場合に、入力された値に近い演算用テーブルで定義された値を用いて補間を行うものである。補間演算の方法に四面体補間と呼ばれるものがある。四面体補間は、入力された値に近い４つの演算テーブルで定義された値を用いて補間演算を行うものである。ここでは、入力をｓＲＧＢ→ｄｅｖＲＧＢ変換テーブルのｄｅｖＲＧＢ値とし、演算用テーブルをｄｅｖＲＧＢ→Ｌａｂ変換テーブルとして四面体補間の演算を行うことで、ｓＲＧＢ→Ｌａｂ変換テーブルを生成する。尚、実施形態１では合成に四面体補間を用いたが、本発明はこれに限定するものではない。ｓＲＧＢ→ｄｅｖＲＧＢ変換テーブルとｄｅｖＲＧＢ→Ｌａｂ変換テーブルからｓＲＧＢ→Ｌａｂ変換テーブルが生成できればどのような方法を用いてもよい。
【００５８】
次にＳ５０４に進みＣＰＵ２０２は、上述の変換テーブルを用いて調整値をＬａｂ値に変換する。この変換は、Ｓ５０３で生成したｓＲＧＢ→Ｌａｂ変換テーブルを用いて調整値のｓＲＧＢ値をＬａｂに変換する。この変換は、入力を調整値、演算用テーブルをｓＲＧＢ→Ｌａｂ変換テーブルとして、四面体補間を行うことで実行する。
【００５９】
次にＳ５０５に進みＣＰＵ２０２は、Ｓ５０４で生成した調整値のＬａｂ値に基づいて、目標値を選択するための候補となる色パッチ（候補パッチ）を生成するためのＬａｂ値を生成する。候補パッチのＬａｂ値の生成は、調整値のＬａｂ値を中心として、Ｌ値、ａ値、ｂ値をそれぞれ段階的に変換させた値を組み合わせることで行う。Ｌ値、ａ値、ｂ値の各値の生成は以下の式（４）を用いる。
【００６０】
Ｌｉ＝Ｌｂ＋ｉ×Ｄｉｓｔ
ａｉ＝ａｂ＋ｉ×Ｄｉｓｔ
ｂｉ＝ｂｂ＋ｉ×Ｄｉｓｔ    …式（４）
ここで、（−ｎ≦ｉ≦ｎ）である。
【００６１】
Ｌｂ，ａｂ，ｂｂは、調整値のＬａｂ値、ｉは生成する候補パッチの数に応じて段階的に変化する値（整数値）、Ｄｉｓｔは候補パッチ間のＬａｂ色空間内での間隔を表している。例えば、調整値のＬａｂ値が（５０，０，０）であり、２７個のパッチを生成し、Ｄｉｓｔを「１」とする。この場合、Ｌ，ａ，ｂそれぞれの方向に３つのパッチが作成されるため、ｉは−１，０，１となる。そのため、Ｌｉは４９，５０，５１、ａｉは−１，０，１、ｂｉは−１，０，１となる。これらの値を全て組み合わせて、２７個の候補パッチＬａｂ値が生成される。これらの候補パッチＬａｂ値は、調整値のＬａｂ値の近傍の値を取り、候補パッチの色は調整色の近傍色で表現される。以下、近傍色パッチを候補パッチと呼ぶ。
【００６２】
次にＳ５０６に進みＣＰＵ２０２は、Ｓ５０５で生成された候補パッチの内、プリンタ１０６の色再現範囲外となる候補パッチを除外する処理を行う。候補パッチの生成はＬａｂ色空間、つまりデバイスに非依存な色空間で行うため、プリンタ１０６の色再現範囲外の候補パッチが生成される場合がある。プリンタ１０６の色再現範囲外の候補パッチは、プリンタ１０６で再現できる色の範囲に丸められてしまうため、実施形態１では、該当するパッチを除外する。尚、パッチを除外する以外に、色再現範囲外と判定された候補パッチが目標値として選択できない状態になれば、どのような方法でもよい。また、色再現範囲外であるか否かの判定は、Ｓ５０２で取得したｄｅｖＲＧＢ→Ｌａｂ変換テーブルの持つ各Ｌａｂ値の範囲の中に、各候補パッチのＬａｂ値が入っているか否かで判定する。この判定は、ｄｅｖＲＧＢ→Ｌａｂ変換テーブルの任意のＬａｂ値とその近傍の３つのＬａｂ値からなるＬａｂ色空間内における四面体の中に、候補バッチのＬａｂ値が存在しているか否かを判定することで行う。即ち、ｄｅｖＲＧＢ→Ｌａｂ変換テーブルの持つＬａｂ値で形成できる全ての四面体に対して、候補パッチが存在しているか否かを判定し、全ての四面体に存在していないと判定された場合、その候補パッチを色再現範囲外であると判定する。尚、この判定方法として、実施形態１ではｄｅｖＲＧＢ→Ｌａｂ変換テーブルから形成できる四面体を利用して判定したが、プリンタの色再現範囲を抽出し、候補パッチが色再現範囲外であるか否かを判定できればどのような方法でもよい。
【００６３】
次にＳ５０７に進みＣＰＵ２０２は、Ｓ５０６で色再現範囲外のパッチを除外した候補パッチをｓＲＧＢ値に変換する。ここでのＬａｂ値からｓＲＧＢ値への変換は、Ｓ５０３で生成したｓＲＧＢ→Ｌａｂ変換テーブルを用いた信号探索処理により行う。この信号探索処理は、まずｓＲＧＢ値の０〜２５５までの全ての信号値の組み合わせを入力とし、ｓＲＧＢ→Ｌａｂ変換テーブルを演算用テーブルとした四面体補間を行う。この四面体補間により算出された全てのＬａｂ値の中で、任意の候補パッチのＬａｂ値に一番近いＬａｂ値を抽出する。そして、抽出したＬａｂ値に対応するｓＲＧＢ値を候補パッチのｓＲＧＢ値とする。この信号探索処理を全ての候補パッチに対して行うことで、Ｌａｂ値で生成・配置された候補パッチをｓＲＧＢ値に変換する。尚、実施形態１では、信号探索処理を用いたが、本発明はこれに限らない。例えば、ｓＲＧＢ→Ｌａｂ変換テーブルの逆テーブル（Ｌａｂ→ｓＲＧＢ変換テーブル）を作成して、候補パッチのＬａｂ値をｓＲＧＢ値に変換してもよい。
【００６４】
そして最後にＳ５０８でＣＰＵ２０２は、Ｓ５０７で生成したｓＲＧＢ値の候補パッチを所定の方法で配置し、一つのチャートデータとして印刷処理部３０３に送信する。ここでの所定の配置は、単純に保持しているデータの順にパッチを配置してもよいし、人間の視覚特性を考慮してそれぞれのパッチが滑らかに変化しているように見える配置にしてもよい。また、生成した全ての候補パッチを配置するのではなく、一部だけを抽出し、その抽出した候補パッチのみを配置してもよい。
【００６５】
図６は、図４のＳ４０３のチャート印刷処理を説明するフローチャートである。この処理は、プリンタコントローラ１０４のＣＰＵ２０９がＲＡＭ２１０に展開したプログラム実行することにより達成される。
【００６６】
尚、この処理を実行する前には、コンピュータ１０２の印刷処理部３０３は、Ｓ４０１で取得した色変換テーブルを用いて、Ｓ４０２で生成されたチャートデータに含まれる色値を色変換する。つまり、チャートデータに含まれる色値の色空間をｓＲＧＢからｄｅｖＲＧＢ色空間に変換する。そして色変換したチャートデータの色値をプリンタコントローラ１０６に送信することにより、この処理が開始される。
【００６７】
まずＳ６０１でＣＰＵ２０９は、印刷処理部３０３から受け取ったチャートデータに従って画像メモリに描画する。そしてレンダリング処理部３０５として機能し、その画像メモリに描画した画像データを色変換部３０６に送る。これによりＳ６０２でＣＰＵ２０９は色変換部３０６として機能し、予め外部記憶装置２１１に保存されている出力ＲＧＢ（ｄｅｖＲＧＢ）からＣＭＹＫへ変換する色変換テーブルを用いて、画像データをＣＭＹＫデータに変換して二値化処理部３０７に送る。次にＳ６０３でＣＰＵ２０９は二値化処理部３０７として機能し、受け取った色変換後のデータを、スクリーン処理や誤差拡散処理等の画像処理を行って二値画像データに変換してエンジン制御部３０８に出力する。これによりＳ６０４でＣＰＵ２０９はエンジン制御部３０８として機能し、その二値画像データを基にプリンタエンジン制御の指令をエンジンインタフェース２１３に出力する。これにより、プリンタエンジン１０５により、そのチャートがインク像やトナー像として紙面上に印刷される。
【００６８】
図７は、図４のＳ４０７の階調性の判定処理を説明するフローチャートである。尚、この処理はコンピュータ１０２のＣＰＵ２０２が前述のプログラムを実行し、色調整処理部３０４として機能することにより達成される。
【００６９】
まずＳ７０１でＣＰＵ２０２はデータの取得を行う。ここで取得するデータは、Ｓ４０５で色調整された後の色変換テーブルと、Ｓ４０６で抽出された注目格子点の情報である。次にＳ７０２に進みＣＰＵ２０２は、Ｓ７０１で取得した注目格子点の情報に基づき、３次元座標における注目格子点の周囲２６格子点（近傍格子点）を抽出し、各近傍格子点の出力値を保持する。但し、このとき注目格子点が３次元座標における色変換テーブルの各格子点の端に位置する場合（入力ＲＧＢのいずれか一つでも「２５５」である場合）は、周囲の近傍格子点の一部が存在しないため、存在する近傍格子点の中で一番近い近傍格子点の値を保持する。またこのとき同時に、存在する近傍格子点の数も保持する。次にＳ７０３に進むＣＰＵ２０２は、抽出した２６格子点の重心を算出する。この重心の算出は、例えば以下の式（５）のように、２６格子点をＲ，Ｇ，Ｂそれぞれで足し合わせ、Ｓ７０２で保持した近傍格子点の数で割る。
【００７０】
CenterR＝ΣaroundP_R ／ ext_cnt
CenterG＝ΣaroundP_G ／ ext_cnt
CenterB＝ΣaroundP_B ／ ext_cnt    …式（５）
ここでCenterRは重心のＲ値、CenterGは重心のＧ値、CenterBは重心のＢ値、aroundP_Rは近傍格子点のＲ値、aroundP_Gは近傍格子点のＧ値、aroundP_Bは近傍格子点のＢ値、ext_cntは、近傍格子点の数を表す。
【００７１】
次にＳ７０４に進みＣＰＵ２０２は、Ｓ７０２で抽出した２６格子点の内、図１０で表される面を形成する９格子点を求め、それら格子点同士が更に隣り合って３角形を形成する３つの格子点を順に抽出する。次にＳ７０５に進みＣＰＵ２０２は、Ｓ７０４で抽出した格子点３点と、Ｓ７０３で算出した重心で形成される四面体の各面（４面）の平面係数を算出する。この平面係数（ａ，ｂ，ｃ，ｄ）の算出方法は、３点Ｐ1（ｘ1，ｙ1，ｚ1），Ｐ2（ｘ2，ｙ2，ｚ2），Ｐ3（ｘ3，ｙ3，ｚ3）を含む平面方程式を、ａｘ＋ｂｙ＋ｃｚ＋ｄ＝０とすると、以下の式（６）で表される。
【００７２】
ａ＝（ｚ3−ｚ1）×（ｙ2−ｙ1）−（ｚ2−ｚ1）×（ｙ3−ｙ1）
ｂ＝（ｚ2−ｚ1）×（ｘ3−ｘ1）−（ｚ3−ｚ1）×（ｘ2−ｘ1）
ｃ＝（ｘ2−ｘ1）×（ｙ3−ｙ1）−（ｘ3−ｘ1）×（ｙ2−ｙ1）
ｄ＝−１．０×（ａ×ｘ1＋ｂ×ｙ1＋ｃ×ｚ1）        …式（６）
この式（６）に基づき、四面体の４面分の平面係数を算出する。
【００７３】
また、これと同時に、その四面体の重心を以下の式（７）を用いて求める。
【００７４】
Grv_R＝（Ｐ1_R＋Ｐ2_R＋Ｐ3_R＋CenterR）／４
Grv_G＝（Ｐ1_G＋Ｐ2_G＋Ｐ3_G＋CenterG）／４
Grv_B＝（Ｐ1_B＋Ｐ2_B＋Ｐ3_B＋CenterB）／４    …式（７）
Grv_R，Grv_G，Grv_Bは、四面体の重心のＲＧＢそれぞれの値、Ｐ1_R，Ｐ2_R，Ｐ3_R，Ｐ1_G，Ｐ2_G，Ｐ3_G，Ｐ1_B，Ｐ2_B，Ｐ3_Bは、Ｓ７０４で抽出した３点の格子点のＲＧＢそれぞれの値である。更に、CenterR，CenterG，CenterBは、Ｓ７０３で算出した重心のＲＧＢそれぞれの値である。
【００７５】
次にＳ７０６に進みＣＰＵ２０２は、Ｓ７０５で算出した平面係数を用いて、四面体の各平面に対する四面体の重心と、注目格子点の位置関係を算出する。
【００７６】
図１２は、実施形態１における四面体と注目格子点との位置関係を示すイメージ図である。
【００７７】
１２０１で示すように、四面体の各平面に対し、注目格子点１２０３が、全て四面体の重心１２０４と同じ位置にいる場合、その注目格子点は四面体内にあると判定する。一方、図１２の１２０２のように、四面体の各平面に対し、注目格子点１２０５が一つでも重心１２０４と異なる位置にいる場合、その注目格子点は四面体外にある判定する。
【００７８】
この四面体の各平面に対する注目格子点と、重心との位置関係の判定のため、まず以下の式（８）のｓ1，ｓ2を求める。
【００７９】
ｓ1 ＝ａ×ｉｎｐｕｔ.ｒ＋ｂ×ｉｎｐｕｔ.ｇ＋ｃ×ｉｎｐｕｔ.ｂ＋ｄ
ｓ2 ＝ａ×Grv_R＋ｂ×Grv_G＋ｃ×Grv_B＋ｄ
ここでｉｎｐｕｔ.ｒ，ｉｎｐｕｔ.ｇ，ｉｎｐｕｔ.ｂは、注目格子点のＲＧＢそれぞれの値、Grv_R，Grv_G，Grv_Bは、四面体の重心のＲＧＢそれぞれの値、ａ，ｂ，ｃ，ｄは、Ｓ７０５で算出した平面係数の値である。このｓ1とｓ2とを掛け合わせた値がマイナスのとき、四面体の一つの平面に対する四面体の重心と注目格子点とは異なる位置にあると判定する。一方、ｓ1とｓ2とを掛け合わせた値がプラスとなる場合は、四面体の一つの平面に対する四面体の重心と、注目格子点とは同じ位置にあると判定する。この判定を、その四面体の４面分行う。但し、この判定はこれに限らず、多面体と注目格子点の位置関係が分かればどのような方法を用いても良い。このとき四面体の重心と注目格子点とが異なる位置にあると判定された場合、四面体のどの面において異なる位置と判定されたかを示す情報を保持する。これは、四面体のどの面の方向に注目格子点が位置しているかを記憶するためであり、この情報を基に、注目格子点の周囲２６格子点で形成される多面体のどの面の方向に注目格子点が位置するかを判断できる。前述のＳ４０９で取得する位置情報がこの情報に該当している。
【００８０】
そしてＣＰＵ２０２は、Ｓ７０６の判定で、四面体の重心と注目格子点が全て同じ位置と判定されると、注目格子点は四面体内であると判定する。またＳ７０６の判定で、四面体の重心と注目格子点とが一つでも異なる位置にあると判定されると、注目格子点は四面体外であると判定する。Ｓ７０７でＣＰＵ２０２は、注目格子点が四面体外と判定した場合はＳ７０８に進み、Ｓ７０〜Ｓ７０７の処理を６面分（図１０の１００１〜１００６の６面）行ったかどうかを判定する。この判定は、各面の情報にＳ７０４〜Ｓ７０７の処理が終了したことを示すフラグを付与し、６面全てにフラグが付与されているかどうかを判定する。或いはＳ７０４〜Ｓ７０７までの処理の回数をカウントし、そのカウント値が６になったかどうかを判定しても良い。こうしてＳ７０８で６面分の処理が終了していないと判定して場合はＳ７０４に進み、前述の処理を繰り返す。
【００８１】
そしてＳ７０８でＣＰＵ２０２は、６面分の処理を終了したと判定した場合はＳ７０９に進み、ＣＰＵ２０２は、その注目格子点が３次元座標の入力色空間における色変換テーブルのどこに位置しているかを判定する。この判定には４つのパターンがある。
【００８２】
図１３は、実施形態１に係る注目格子点の位置を示すイメージ図である。
【００８３】
図１３（Ａ）は、注目格子点１３０１が、色変換テーブルが形成する多面体の角の頂点に位置しているパターンを表している（図の白抜きの太い黒丸）。図１３（Ｂ）は、注目格子点１３０２が、色変換テーブルが形成する多面体の角の頂点同士を結んだ軸上に位置しているパターンを表している。図１３（Ｃ）は、注目格子点１３０３が、色変換テーブルが形成する多面体の図１３（Ａ）、（Ｂ）以外の表面に位置しているパターンを表している。尚、図１３は、図の簡略化のため３×３×３の格子を表現しているが、本来は色変換テーブルの格子数分の点がある。ここで、注目格子点の位置が、図１３のどのパターンにも当てはまらない場合、その注目格子点は、色変換テーブルが形成する多面体の内部の格子点となる。この判定方法は、Ｓ７０４の処理の途中で抽出した９点の格子点が全て存在しない面がいくつあるかで判定する。ここで抽出した９点の格子点が全て存在しない面が０面である場合は、図１３のどのパターンにも当てはまらないパターンであると判定する。ここでは、抽出した９点の格子点が全て存在しない面が３面の場合は、図１３（Ａ）のパターンであると判定する。抽出した９点の格子点が全て存在しない面が２面の場合は、図１３（Ｂ）のパターンであると判定する。また抽出した９点の格子点が全て存在しない面が１面の場合は、図１３（Ｃ）のパターンであると判定する。
【００８４】
そしてＳ７１０に進みＣＰＵ２０２は、Ｓ７０９の判定結果に応じて処理を切り替える。具体的には、注目格子点が色変換テーブルの表面（図１３のいずれかのパターン）に位置する場合は、表面位置（パターン）に応じて内外判定処理を切り替える。これは、注目格子点が色変換テーブルの表面に位置する場合は、注目格子点の周囲の格子点２６点の一部が存在しないため、Ｓ７０８までの判定方法では階調性の判定が正確に行えないためである。
【００８５】
Ｓ７１０で図１３（Ｃ）のパターンと判定された場合はＳ７１１に進み、表面面内判定を行う。ここではまず、存在する格子点で構成される四面体に対して、Ｓ７０６と同様の方法で内外判定を行う。
【００８６】
図１４は、実施形態１に係る表面判定のパターンを示すイメージ図である。
【００８７】
続いて図１４（Ａ）に示すように、注目格子点１４０１を含む面の格子点の内、注目格子点１４０１を除く３点と、存在する格子点の重心１４０２とで形成される四面体を４つ抽出し、４つの四面体に対して内外判定を行う（この判定方法はＳ７０６と同様）。ここで、注目格子点が多面体内と判定した場合は、階調性への問題なしと判定する。一方、多面体外と判定した場合は、更に注目格子点が、多面体のどの面の方向に位置しているかを判定する。より具体的には、注目格子点が、注目格子点を含む多面体の面の方向に位置しているかを判定する。
【００８８】
図１５は、実施形態１に係る注目格子点の例外判定の状態を示すイメージ図である。
【００８９】
これは、多面体外と判定されても、図１５のように注目格子点１５０１が、その注目格子点１５０１を含む多面体の面の方向に位置していれば、その方向にどれだけ注目格子点１５０１が移動しても、階調つぶれや反転が起こらない。このように、注目格子点が、多面体のどの面の方向に位置しているかにより、階調性に問題なしと判定する必要があるからである。
【００９０】
尚、この注目格子点が、注目格子点を含む多面体の面の方向に位置しているかの判定は、注目格子点と、存在している格子点で形成される多面体の重心の位置が注目格子点を含む多面体の面に対して反対方向にあるかどうかで判定する。注目格子点が重心と反対方向にある場合は、注目格子点が、注目格子点を含む多面体の面の方向に位置していると判定し、階調性への問題なしと判定する。
【００９１】
またＳ７１０でＣＰＵ２０２は、図１３（Ｂ）のパターンと判定した場合はＳ７１２に進み、表面軸上判定を行う。ここではまず、存在する格子点で構成される四面体に対して、Ｓ７０６と同様の方法で内外判定を行う。続いて図１４（Ｂ）のように、注目格子点１４０３を含む面の格子点の内、注目格子点１４０３を除く３点と、存在する格子点の重心１４０４で形成される四面体を４つ抽出し、これら４つの四面体に対して内外判定を行う（この判定方法はＳ７０６と同様）。ここで、注目格子点が多面体内と判定されると、階調性への問題なしと判定する。一方、注目格子点が多面体外と判定された場合は、更に、その注目格子点が多面体のどの面の方向に位置しているかを判定する。この方向の判定は、Ｓ７１１と同様である。
【００９２】
最後に、Ｓ７１０でＣＰＵ２０２が図１３（Ａ）のパターンと判定した場合はＳ７１３に進み、表面角上判定を行う。ここではまず、存在する格子点で構成される四面体に対して、Ｓ７０６と同様の方法で内外判定を行う。続いて図１４（Ｃ）のように、注目格子点１４０５を含む面の格子点の内、注目格子点１４０５を除く３点と、存在する格子点の重心１４０６で形成される四面体を４つ抽出し、４つの四面体に対して内外判定を行う（この判定方法はＳ７０６と同様）。ここで、注目格子点が多面体内と判定した場合は、階調性への問題なしと判定する。一方、注目格子点が多面体外と判定した場合は、更に、その注目格子点が多面体のどの面の方向に位置しているかを判定する。この判定はＳ７１１と同様である。こうして、Ｓ７１１、Ｓ７１２，Ｓ７１３、もしくはＳ７１０で図１３以外のパターンと判定して場合、もしくはＳ７０７で四面体内と判定した場合はＳ７１４に進み、各判定結果を出力する。
【００９３】
以上説明したように本実施形態によれば、調整対象の注目格子点の階調性を判定し、階調性を制御するために必要な格子点を抽出してその注目格子点を補正する。これにより、階調性の低下を抑制しつつ、調整対象の色以外の色の変化を抑えた色調整を実現する色変換テーブルの調整を行うことができる。
【００９４】
尚、実施形態の色調整処理は、コンピュータ１０２による処理として説明したが、プリンタコントローラ１０４が全ての処理を行う構成でもよい。
【００９５】
また、調整対象の注目格子点の階調性を判定する際、色変換する対象の画像データの色分布に応じて、階調性の判定を変更するようにしても良い。
【００９６】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００９７】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００９８】
１０２…コンピュータ、１０３…表示装置、１０４…プリンタコントローラ、１０５…プリンタエンジン、２０２…コンピュータのＣＰＵ、２０９…プリンタコントローラのＣＰＵ、３０４…色調整処理部
【図１】
2018133668.tif 000003
【図２】
2018133668.tif 000004
【図３】
2018133668.tif 000005
【図４】
2018133668.tif 000006
【図５】
2018133668.tif 000007
【図６】
2018133668.tif 000008
【図７】
2018133668.tif 000009
【図８】
2018133668.tif 000010
【図９】
2018133668.tif 000011
【図１０】
2018133668.tif 000012
【図１１】
2018133668.tif 000013
【図１２】
2018133668.tif 000014
【図１３】
2018133668.tif 000015
【図１４】
2018133668.tif 000016
【図１５】
2018133668.tif 000017