(57)【要約】【課題】カラーデータの各色に対応付けられたモノクロデータの複数の階調値の分布が大きく変化することを抑制しながら、弁別性を向上させるようにモノクロデータの階調値を修正すること。【解決手段】本発明は、カラーデータから変換されるモノクロデータの階調値を修正する画像処理装置であって、変換後の前記階調値が３つ以上存在し、大きさ順の並びにおいて隣り合う階調値間の階調値差が複数存在するときに、前記複数存在する階調値差のうち所定の閾値未満の階調値差がある場合、前記閾値未満の階調値差に隣り合う他の階調値差を小さくすることで前記閾値未満の階調値差を前記閾値以下まで大きくするよう修正する修正手段を備えたことを特徴とする画像処理装置である。【選択図】図３
2020174226.tif 000002
【特許請求の範囲】
【請求項１】
カラーデータから変換されるモノクロデータの階調値を修正する画像処理装置であって、
変換後の前記階調値が３つ以上存在し、大きさ順の並びにおいて隣り合う階調値間の階調値差が複数存在するときに、前記複数存在する階調値差のうち所定の閾値未満の階調値差がある場合、前記閾値未満の階調値差に隣り合う他の階調値差を小さくすることで前記閾値未満の階調値差を前記閾値以下まで大きくするよう修正する修正手段
を備えたことを特徴とする画像処理装置。
【請求項２】
前記修正手段は、前記階調値の最大値又は最小値と、修正された階調値差とに基づき修正された階調値を算出する第１の算出手段を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記カラーデータの各色は、互いに所定の値以上の色差を有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記修正手段は、前記他の階調値差の大きさに応じて、前記閾値未満の階調値差の修正量を変更することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記修正手段は、前記閾値未満の階調値差と前記他の階調値差との和が、前記閾値未満の階調値差と前記他の階調値差とが全て前記閾値であるときの和よりも大きい場合、前記閾値未満の階調値差が前記閾値となるように前記閾値未満の階調値差を修正することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記修正手段は、前記閾値未満の階調値差と前記他の階調値差との和が、前記閾値未満の階調値差と前記他の階調値差とが全て前記閾値であるときの和よりも小さく、前記他の階調値差の少なくとも１つが前記閾値よりも大きい場合、前記閾値よりも大きい前記他の階調値差が前記閾値となるまで前記閾値未満の階調値差を修正することを特徴とする請求項４又は５に記載の画像処理装置。
【請求項７】
前記修正手段は、前記閾値未満の階調値差および前記他の階調値差が全て前記閾値よりも小さく、前記閾値未満の階調値差が前記他の階調値差より小さい場合、前記閾値未満の階調値差と前記他の階調値差とが全て等しくなるように前記閾値未満の階調値差を修正することを特徴とする請求項４乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記修正手段は、前記閾値未満の階調値差および前記他の階調値差が全て前記閾値よりも小さく、前記他の階調値差の一方が前記閾値未満の階調値差より小さい場合、前記閾値未満の階調値差と前記他の階調値差の他方とが等しくなるように前記閾値未満の階調値差を修正することを特徴とする請求項４乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記修正手段は、前記閾値未満の階調値差の２つの階調値の少なくとも１つを修正することにより前記閾値未満の階調値差を修正することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記修正手段は、
前記モノクロデータの前記階調値を大きさ順にソートするソート手段、
前記ソート手段によりソートされた順において隣り合う階調値間の階調値差を算出する第２の算出手段、
を含むことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
カラーデータの色値を抽出する抽出手段と、
抽出された前記色値をモノクロデータの階調値に変換する変換手段と、
をさらに備えたことを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記修正された階調値と、前記カラーデータの色値とに基づき、カラーモノクロ変換テーブルを作成する作成手段
をさらに備えたことを特徴とする請求項１１に記載の画像処理装置。
【請求項１３】
前記色値の数が所定の数と異なる場合、前記色値の数に応じて前記所定の閾値を変更する変更手段
をさらに備えたことを特徴とする請求項１１又は１２に記載の画像処理装置。
【請求項１４】
前記変換手段は、前記色値に対して重み付けして合算することで前記階調値を算出することを特徴とする請求項１１乃至１３のいずれか１項に記載の画像処理装置。
【請求項１５】
カラーデータから変換されるモノクロデータの階調値を修正する画像処理方法であって、
変換後の前記階調値が３つ以上存在し、大きさ順の並びにおいて隣り合う階調値間の階調値差が複数存在するときに、前記複数存在する階調値差のうち所定の閾値未満の階調値差がある場合、前記閾値未満の階調値差に隣り合う他の階調値差を小さくすることで前記閾値未満の階調値差を前記閾値以下まで大きくするよう修正するステップ
を有することを特徴とする画像処理方法。
【請求項１６】
コンピュータに、請求項１５に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色変換処理を行う画像処理技術に関する。
【背景技術】
【０００２】
近年、一般のオフィスにおいてドキュメントやプレゼンテーションの文書は、フルカラーで作成されるが、それらの文書を印刷する時には、モノクロ（黒単色）で印刷されることが多い。このようにカラー文書をモノクロで印刷する場合、カラーデータをグレースケールデータに変換する処理が必要となる。このような変換処理では、原稿のカラーデータがＲＧＢ値で表される場合、通常ではＮＴＳＣ変換とよばれる方式で変換される。
【０００３】
ＮＴＳＣ変換では、ＲＧＢ値に対して０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂと各輝度に対して重み付けして合算して得られた値をＲＧＢ値に対応するグレー値とする。しかし、この方法では、ＲＧＢ値の各輝度値の組み合わせが異なっていても重み付け合算値は一致する場合もあり、ＮＴＳＣ変換後にカラーデータ上で色分けされていた要素間の弁別性が低下するという課題がある。
【０００４】
これに対し特許文献１には、カラーデータに含まれる色数に応じて、隣り合うグレー値間の間隔を均等化するように、一般的なグレー変換処理により生成されたグレー値を補正するグレー変換方法が開示されている。この方法では、ＮＴＳＣ変換等のように、特定の配色で変換後のグレー値差が小さくなって弁別性が低下するのを回避できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−３８２４２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の方法では、グレー値差を均等化した結果、一部の配色において均等化前よりもグレー値差が小さくなって弁別性が低下する場合がある。また、同じ色でも配色が変わり、グレー変換処理により生成されたグレー値での濃度順位が変わると、グレー値差の均等化によりグレー値が大きく変わってしまう場合がある。そのため、見出しの背景やロゴの色のように複数ページにわたり同一の要素に同じ色が使われ、かつ、配色がページごと変化する場合、同一要素のグレー値がページごとに大きく変わってしまう場合がある。そのため、ページ間で共通する要素を色に基づいて把握し難くなるという課題がある。
【０００７】
そこで本発明は、カラーデータから変換されるモノクロデータの複数の階調値の分布が大きく変化することを抑制しながら、弁別性を向上させるようにモノクロデータの階調値を修正することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、カラーデータから変換されるモノクロデータの階調値を修正する画像処理装置であって、変換後の前記階調値が３つ以上存在し、大きさ順の並びにおいて隣り合う階調値間の階調値差が複数存在するときに、前記複数存在する階調値差のうち所定の閾値未満の階調値差がある場合、前記閾値未満の階調値差に隣り合う他の階調値差を小さくすることで前記閾値未満の階調値差を前記閾値以下まで大きくするよう修正する修正手段を備えたことを特徴とする画像処理装置である。
【発明の効果】
【０００９】
本発明により、カラーデータから変換されるモノクロデータの複数の階調値の分布が大きく変化することを抑制しながら、弁別性を向上させるようにモノクロデータの階調値を修正することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の画像処理システムの構成を示すブロック図である。
【図２】プリント処理の流れを示すブロック図である。
【図３】第１の実施形態の処理の流れを示すフローチャートである。
【図４】描画コマンドの一例である。
【図５】カラー画像の一例である。
【図６】第１の実施形態のＳ３０６で行われる処理の詳細を示すフローチャートである。
【図７】色値リストの一例である。
【図８】第１の実施形態の処理の前後の信号値を示す模式図である。
【図９】第１の実施形態のＳ６０３で行われる処理の詳細を示すフローチャートである。
【図１０】第１の実施形態のＳ６０３で行われる処理の詳細を示すフローチャートである。
【図１１】第２の実施形態の処理の流れを示すフローチャートである。
【図１２】第３の実施形態の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
ここでまず、従来技術の課題について、具体例を用いて説明する。ここでは４色分のＲＧＢ値を有するカラーデータに対してＮＴＳＣ変換等のＲＧＢ値に重みづけを行って合算するカラーモノクロ変換を行って得られたグレースケールデータを考える。第１の例として、（０）、（２００）、（２０３）、（２５５）のグレー値を有するグレースケールデータが得られた場合を考える。この第１の例では、４色のうち２色が（２００）、（２０３）とグレー値差が小さく弁別性が乏しくなっている。
【００１２】
このグレースケールデータに対して特許文献１に記載のグレー値修正方法を適用すると、グレー値は、取り得る０−２５５の間で等間隔に割り当てられ、各グレー値は（０）、（８５）、（１７０）、（２５５）に修正される。すなわち、グレー値修正処理の結果、（０）であったグレー値は（０）、（２００）であったグレー値は（８５）、（２０３）であったグレー値は（１７０）、（２５５）であったグレー値は（２５５）に修正される。その結果、弁別性が低かったグレー値（２００）、（２０３）は（８５）、（１７５）に修正され、グレー値差が３から８５と拡大し、弁別性が向上している。但し、グレー値（０）、（２００）は（０）、（８５）に修正されたことで、グレー値差が２００から８５に縮小されている。
【００１３】
次に第２の例として、カラーモノクロ変換を行って、（０）、（１９０）、（２００）、（２５５）のグレー値を有するグレースケールデータが得られた場合を考える。この第２の例に対しても特許文献１の方法で修正を行うと、第１の例と同様にグレー値はそれぞれ（０）、（８５）、（１７０）、（２５５）に修正される。すなわち、修正前後で（０）であったグレー値は（０）、（１９０）であったグレー値は（８５）、（２００）であったグレー値は（１７０）、（２５５）であったグレー値は（２５５）に修正される。
【００１４】
第１の例では（２００）であったグレー値が（８５）に修正されたが、第２の例では同じ（２００）であったグレー値が（１７０）に修正された。すなわち、カラーデータの配色が変わると、同じ色に対応付けられたグレー値が（８５）から８５大きい（１７０）に変わった。このことは、見出しの背景の色やロゴの色のように複数ページにわたり同一要素に同一の色が使用されるなかでページ毎にページ内の配色が変わると、ページごとに背景やロゴのグレー値が大きく変わる可能性があることを意味する。
【００１５】
これに対し本発明では、上述したように、カラー画像の各色に対応付けられたモノクロ画像の複数のグレー値の分布が大きく変化することを抑制しながら、弁別性を向上させるようにモノクロ画像の階調値を修正する。
【００１６】
以下、本発明を実施するための形態について図面を用いて説明する。
【第１の実施形態】
【００１７】
＜画像形成装置＞
図１は、本発明に係る画像処理システム１１７の一例であり、画像形成装置１００、ホストＰＣ１１０からなる。
【００１８】
画像形成装置１００は、本発明に係る画像処理装置の一例であり、例えば、スキャン機能やプリンタ機能等、複数の機能が一体化された複合機（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）である。制御部１０１は、画像形成装置１００を統括的に制御しており、ＣＰＵ１０５、ＲＡＭ１０６、記憶部１０７、装置制御部１０２、及びネットワークインターフェース（Ｉ／Ｆ）１０３を含む。なお、制御部１０１は、例えば、記憶部１０７に記憶された画像データを読み出し、パラメータに従ってその画像データを最適化するための各種画像処理を行うＧＰＵ等をさらに含んでもよい。
【００１９】
ＣＰＵ１０５は、記憶部１０７に記憶されているプログラムをＲＡＭ１０６に展開し、それを実行することにより、この画像形成装置１００の動作を制御している。ＲＡＭ１０６は、一時記憶メモリであり、画像データやプログラム等を一時的に記憶することが可能である。記憶部１０７は例えばハードディスクであり、この画像形成装置１００を制御するためのパラメータや、実施形態に係る制御を実現するためのアプリケーションやプログラムやＯＳなどを記憶している。
【００２０】
装置制御部１０２はデバイスコントローラであり、操作部１０４、画像読取部１０８、画像出力部１０９などの制御部１０１に接続されている部分を制御する。また、操作部１０４から通知された設定情報に基づいた画像処理も行われる。なお、カラー画像をグレースケール画像に変換する処理もここで行われる。ネットワークＩ／Ｆ１０３は、ネットワーク１２０を介して外部装置とデータ通信を行う。
【００２１】
画像読取部１０８は例えばスキャナであり、画像出力部１０９は例えばプリンタである。ＣＰＵ１０５が上述のプログラムを実行することにより、画像読取部１０８が読み取った原稿の画像データを取得するスキャン機能や、画像出力部１０９を介して画像を用紙等の記録媒体やモニタなどへ出力する出力機能が実現される。操作部１０４は、タッチパネルやハードウェアキー等を含み、ユーザからの指示や設定の操作を受付けるとともに、画像形成装置１００の装置情報やジョブの進捗情報、各種ユーザインタフェース画面を表示する。操作部１０４で受け付けた設定情報などは、装置制御部１０２を介して記憶部１０７に格納される。
【００２２】
ホストＰＣ１１０は、ＣＰＵ１１３、ＲＡＭ１１４、記憶部１１５、種々の入出力装置等を制御するための制御部１１１、及びネットワークＩ／Ｆ１１６を備えている。ホストＰＣ１１０は、画像形成装置１００にネットワーク１２０を介して繋がり、ネットワークＩ／Ｆ１１６を用いてデータ通信を行うことができる。尚、ＣＰＵ１１３が制御部１１１及び画像処理部１１２を内蔵していてもよい。ＣＰＵ１１３は、ＲＡＭ１１４を用いて、ホストＰＣ１１０に搭載されている非図示のアプリケーションやプリンタドライバ等を制御する。図１に示すブロックの他に、画像形成装置１００、ホストＰＣ１１０の機能を実行する際に必要なブロックが適宜含まれる。また、ホストＰＣ１１０は、画像形成装置１００と同様に、各種画像処理を行うＧＰＵ等をさらに含んでもよい。
【００２３】
＜プリント処理＞
図２は、実施形態１に係る画像処理システム１１７におけるプリント処理の流れを説明する図である。
【００２４】
アプリケーション２０１、プリンタドライバ２０２は、ホストＰＣ１１０に搭載されており、ホストＰＣ１１０では、アプリケーション２０１を使用して、ドキュメント文書やプレゼンテーション文書などの電子データが作成される。プリンタドライバ２０２は、画像形成装置１００に印刷データを出力して印刷させるためのドライバである。プリンタドライバ２０２で作成された印刷データは、画像形成装置１００へ送られて印刷される。なお、本実施形態では、グレー変換処理を画像形成装置１００において行うため、プリンタドライバ２０２で作成される印刷データはカラーデータである。
【００２５】
この印刷データは、画像形成装置１００の制御部１０１で処理される。画像形成装置１００は、この印刷データを受信すると、コマンド判別部２０３によりＰａｇｅＤｅｓｃｒｉｐｔｉｏｎＬａｎｇｕａｇｅ（ＰＤＬ）の種類を判別させる。このＰＤＬの種類には、ＰｏｓｔＳｃｒｉｐｔ（ＰＳ）やＰｒｉｎｔｅｒＣｏｍｍａｎｄＬａｎｇｕａｇｅ（ＰＣＬ）などがある。コマンド解析部２０４は、これらＰＤＬの種類毎の解析部を含み、コマンド判別部２０３で特定されたＰＤＬの種類に応じてコマンドの抽出及び解析を実行する。こうして解析されたコマンドの内容に応じてグレー変換処理などが行われる。
【００２６】
コマンド実行部２０５は、コマンド解析部２０４の解析結果に基づきラスタ画像を生成する。画像調整部２０６は、そのラスタ画像に対して色変換、フィルタなどの画像処理を適用する。尚、図２に示す制御部１０１のコマンド判別部２０３、コマンド解析部２０４、コマンド実行部２０５及び画像調整部２０６の機能は、本実施形態ではＣＰＵ１０５が前述のプログラムを実行することにより実現される。
【００２７】
図４（ａ）は、実施形態１に係る画像形成装置１００が受信した印刷データに含まれるコマンドを示す図であり、図４（ｂ）は、その変換例及びそれに基づく描画結果の一例を説明する図である。コマンドには、描画コマンドと制御コマンドがあり、描画コマンド４００は、その描画コマンドの一例を示す。そして、この描画コマンド４００を用いて描画された画像を画像４０７で示す。
【００２８】
描画コマンド４００には、ジョブのカラーモードを設定するカラーモード設定コマンド４０１、色を設定する色設定コマンド４０２がある。さらに、オブジェクトを描画するオブジェクト描画コマンド４０３、文字のサイズを設定する文字サイズ設定コマンド４０４、文字のフォントを設定するフォント設定コマンド４０５、文字を描画する文字描画コマンド４０６がある。これら一連のコマンドの構成は、他のオブジェクトや文字列の場合も同様である。この他にも、座標や線の太さを設定するコマンド、イメージを描画するコマンド等も含まれるが、それらは省略している。
【００２９】
ここで図４（ａ）に示す描画コマンド４００の内容を簡単に説明する。なお、以降の描画コマンド４００や色値データは、８ｂｉｔカラーの画像を前提とするものとする。
【００３０】
「Ｓｅｔ  Ｐａｇｅ  Ｃｏｌｏｒ（ＣＬ）」４０１は、以下のコマンドはカラーで展開されることを示している。
【００３１】
「Ｓｅｔ  Ｃｏｌｏｒ（１４６，２０８，８０）」４０２は、色設定コマンドであり、ＲＧＢ値がＲ＝１４６、Ｇ＝２０８、Ｂ＝８０の色であることを示す。
【００３２】
「Ｄｒａｗ  Ｐｏｌｙｇｏｎ」４０３は、オブジェクト描画コマンドであり、非図示の座標値に基づいて図形を描画することを示す。
【００３３】
「ＳｅｔＴｅｘｔ  Ｓｉｚｅ（６）」４０４は、文字サイズ設定コマンドであり、文字のサイズが６ポイントであることを示す。
【００３４】
「Ｓｅｔ  Ｆｏｎｔ  （Ａｒｉａｌ）」４０５は、フォント設定コマンドであり、文字のフォントがＡｒｉａｌであることを示す。
【００３５】
「Ｄｒａｗ  Ｔｅｘｔ（“ｘ”）」４０６は、文字描画コマンドであり、文字「ｘ」を描画すること示している。従って、図４（ａ）の３番目と４番目のコマンドは、図４（ｂ）の角丸四角形４０８が３番目のコマンドで指定された色で描画されることを示している。同様に、５番目〜１２番目のコマンドは、文字列「１．ｘｘｘ」４０９がＡｒｉａｌフォント、６ポイントの文字サイズで、黒色で描画されることを示している。さらに、１３番目から１６番目のコマンドは、太陽４１０が１３番目のコマンドで指定された色で描画されることを示している。
【００３６】
以上がプリント処理の一例であり、本実施形態１では、この処理の流れに基づいて説明を行う。
【００３７】
＜グレー変換処理＞
本発明のグレー変換処理について説明する。なお、ここでは画像形成装置１００でグレー変換処理を行うものとして説明するが、同様のグレー変換処理をホストＰＣ１１０で行ってもよい。ここでも前述の通り、８ｂｉｔカラーの画像データを前提として、各処理を説明する。
【００３８】
本発明のグレー変換処理は、初めに、１ページ内で用いられる色をＲＧＢ値で抽出し、それらの色のＲＧＢ値を重み付けし、抽出された色ごとに個別のグレー値（階調値）を算出する。次に、抽出された色に対応するグレー値について、大きさ順の並びにおいて隣り合うグレー値間のグレー値差（階調値差）を算出する。そのグレー値差が、弁別がつくように予め設定した閾値より小さければ、出力した際に弁別がつくようにグレー値を修正する。そして、その修正したグレー値を、ＲＧＢ値に対するグレー値として、カラーデータをグレースケールデータに変換するカラーグレー変換テーブル（カラーモノクロ変換テーブル）として生成する。
【００３９】
図３は、画像形成装置１００における本発明のグレー変換処理のフローチャートである。ここで、図３について、図４、５、７を用いて説明を行う。
【００４０】
なお、このフローチャートで示す処理は、ＣＰＵ１０５が記憶部１０７に格納されているプログラムをＲＡＭ１０６に展開し、その展開したプログラムをＣＰＵ１０５で実行することにより達成される。また、上述した通り、ＣＰＵ１０５がコマンド解析部２０４として機能することにより実行されるものとして説明する。さらに、図４（ａ）に示す描画コマンド４００のように、出力はモノクロ指定された描画コマンドをコマンド解析部２０４が受信するものとして説明する。そして、カラーモード設定コマンド４０１がモノクロ指定であっても、色設定コマンド４０２はカラーの値のままコマンド解析部２０４まで送られるものとする。
【００４１】
ここで、図５（ａ）に示す画像５００と、図５（ｂ）に示す色値リスト５１０を例に説明する。図５（ａ）に示す画像５００は、太陽５０１と角丸四角５０２と角丸四角５０２内に配置された「ＰＬＡＮ」の文字５０３がカラーで、その他の文字５０４が黒で描画されるデジタル画像データである。図５（ｂ）に示す色値リスト５１０の第１の色値５０６は（２５５、０、０）、第２の色値５０７は（１４６、２０８、８０）、第３の色値５０８は（２５５、１９２、０）である。この色値リスト５１０には記載されていないが、その他の文字５０４の色値は黒（０、０、０）、紙白部５０５の色値は白（２５５、２５５、２５５）である。
【００４２】
以下、図３のフローチャートについて説明を行う。
【００４３】
Ｓ３０１で、コマンド解析部２０４において色設定コマンド４０２をチェックし、色設定コマンド４０２で指定されている色値を抽出する。そして、抽出された色値は、図７（ａ）に示す色値リスト７００に追加する。色値リスト７００は、抽出された色値に対してＩｎｄｅｘとＲＧＢ値を保持するものである。色設定コマンド４０２で抽出された色値と同じ色値がすでに色値リスト７００に保存されている場合には、新たに色値リストに追加はしない。図５に示す画像５００の色値リスト７００が完成した後、ＣＰＵ１０５は、色値リスト７００をＲＡＭ１０６に保存する。
【００４４】
次に、Ｓ３０２で画像調整部２０６は、ＲＡＭ１０６に保存された閾値を取得する。この閾値は、グレー変換後、隣り合うグレー値間の弁別性を判定するための基準値である。グレー値差が、上記閾値未満である場合、そのグレー値間の弁別性は低いと判定し、それらグレー値は修正対象と判定する。例えば、グレー値がとりうる０〜２５５において上記閾値が３２の場合、２つの色Ｃ１、Ｃ２をグレースケール変換した後のグレー値がＧ１（１００）とＧ２（１１５）である時を考える。この場合、Ｇ１、Ｇ２のグレー値差は１５であり、閾値３２より小さいため、弁別性が低いとしてＧ１、Ｇ２を修正対象とする。
【００４５】
次に、Ｓ３０３で画像調整部２０６は、ＲＡＭ１０６に保存された色値リスト７００を読み出して、各色値に対して図７（ｂ）に示すグレー値リスト７０１を算出し、ＲＡＭ１０６に保存する。グレー値７０１は例えば、前述したＮＴＳＣ変換によって求められるグレー値が表す輝度値であり、例えばＩｎｄｅｘ２の色をＮＴＳＣ変換すると、０．２９９×１４６＋０．５８７×２０８＋０．１１４×８０＝１７５となる。または、ＲＧＢ値をＬａｂやＬｃｈなどの一般的な色空間に変換した際のＬ値等でも、その他輝度の指標となる値であればよい。
【００４６】
次に、Ｓ３０４で画像調整部２０６は、ＲＡＭ１０６に保存された色値リスト７００とグレー値リスト７０１を読み出し、グレー値の明るい順（または暗い順）に色値リスト７００の値をソートする。そして画像調整部２０６は、図７（ｃ）に示すような、グレー値でソートした色値リスト７００′及びグレー値リスト７０２を生成する。
【００４７】
次に、Ｓ３０５で画像調整部２０６は、ＲＡＭ１０６に保存されたソート後のグレー値リスト７０２をグレー値の明るい順に読み出し、ソート後のグレー値差を算出する。グレー値差の算出された順に、グレー値差Ｉｎｄｅｘとグレー値差からなるグレー値差リスト７０３を生成する。
【００４８】
ここで、グレー値差とは、例えば図７（ｃ）のＩｎｄｅｘ１のグレー値（２５５）とＩｎｄｅｘ３のグレー値（１８９）の差（６６）を指し、グレー値の大きさに基づきソートされたＩｎｄｅｘの順にグレー値差を算出したものである。すなわち、グレー値差とは、値が隣り合う２つのグレー値間の値の差である。以下、Ｉｎｄｅｘ１のグレー値（２５５）とＩｎｄｅｘ３のグレー値（１８９）のグレー値差を、Ｄｉｆ（１）＝２５５―１８９＝６６とする。同様に、Ｉｎｄｅｘ３とＩｎｄｅｘ２とのグレー値差をＤｉｆ（２）＝１４、Ｉｎｄｅｘ２とＩｎｄｅｘ５とのグレー値差をＤｉｆ（３）＝９９、Ｉｎｄｅｘ５とＩｎｄｅｘ４とのグレー値差をＤｉｆ（４）＝７６とする。ここでＤｉｆ（ｉ）の変数ｉ
は、グレー値差リスト７０３のグレー値差Ｉｎｄｅｘの値である。
【００４９】
次に、Ｓ３０６で画像調整部２０６は、ＲＡＭ１０６に保存されたグレー値差リスト７０３を読み出し、色ごとのグレー値差を修正し、修正後グレー値差リスト７０５を生成する。ここではＳ３０２で定めた閾値をもとに、グレー値差が閾値未満の場合、グレー値差が閾値以上となるように修正する。この修正処理についての詳細については後述する。
【００５０】
次に、Ｓ３０７で画像調整部２０６は、ＲＡＭ１０６に保存された修正後グレー値差リスト７０５を読み出し、グレー値順でソートした修正後グレー値リスト７０６を生成する。画像調整部２０６は、例えば、ソート後の最も大きい又は最も小さいグレー値、本例では最も明るいＩｎｄｅｘ１のグレー値（２５５）と、修正後グレー値差リスト７０５とから、グレー値順でソートした修正後グレー値リスト７０６を生成する。
【００５１】
本例では例えば、最も明るいＩｎｄｅｘ１と、次に明るいＩｎｄｅｘ３とのグレー値差が修正後グレー値差リスト７０５によれば、（５９）であるので、２５５−５９＝１９６となり、この値が、Ｉｎｄｅｘ３の修正後グレー値となる。同様に、Ｉｎｄｅｘ２、Ｉｎｄｅｘ５、Ｉｎｄｅｘ４の修正後グレー値は、図７（ｃ）の修正後グレー値７０６に示すように（１６４）、（７６）、（０）となる。
【００５２】
最後に、Ｓ３０８で画像調整部２０６は、ＲＡＭ１０６に保存されたグレー値順でソートした修正後グレー値リスト７０６からＩｎｄｅｘ順でソートした修正後グレー値リスト７０７を作成する。このようにして、各色値に対応するグレー値を規定するカラーグレーテーブルを作成する。
【００５３】
次に、前述のＳ３０６で行うグレー値差の修正方法の詳細について説明する。まず図６に、修正を行うか否かの判定処理についてのフローチャートを示す。なお、ここでは図７（ｃ）のリストを用いて説明を行う。
【００５４】
ここでは、画像調整部２０６がＲＡＭ１０６に格納されているグレー値差リスト７０３を読み出し、グレー値差が所定の閾値よりも小さければ修正を行う。
【００５５】
初めに、Ｓ６０１で画像調整部２０６は、ＲＡＭ１０６からグレー値差リスト７０３を読み出し、グレー値差リスト７０３からグレー値差Ｉｎｄｅｘｉ（ここで１≦ｉ≦Ｎ−１でＮは色数）のグレー値差Ｄｉｆ（ｉ）を取得する。ここで、Ｓ６０１ではｉ＝１とし、対応するＤｉｆ（１）を取得する。
【００５６】
次に、Ｓ６０２で画像調整部２０６は、ＲＡＭ１０６からＳ３０２で定めた閾値を読み出し、Ｓ６０１で取得したグレー値差Ｄｉｆ（ｉ）と比較する。ここで、グレー値差Ｄｉｆ（ｉ）が閾値以上であればＮＯとなりＳ６０４へ進み、グレー値差Ｄｉｆ（ｉ）が閾値未満であればＹＥＳとなりＳ６０３へ進む。
【００５７】
Ｓ６０２でグレー値差Ｄｉｆ（ｉ）が閾値未満の場合、Ｓ６０３で画像調整部２０６は、グレー値差Ｄｉｆ（ｉ）を大きくする修正を行いＳ６０４へ進む。ここで修正方法については本説明の後に行う。
【００５８】
一方、Ｓ６０２でグレー値差Ｄｉｆ（ｉ）が閾値以上の場合、Ｓ６０４で画像調整部２０６は、すべてのグレー値差Ｄｉｆ（１）〜Ｄｉｆ（Ｎ−１）について閾値との比較処理が行われたか否かを判定する。例えば、本実施形態では、Ｄｉｆ（ｉ）についてｉ＝１から順に比較処理を行う場合、ｉ＝Ｎ−１か否かを判定する。すなわち、ｉ＝Ｎ−１であればグレー値差の修正が全て終わったと判定してＳ３０６の修正処理を終了し、ｉ＝Ｎ−１でなければＳ６０５へ進む。
【００５９】
次に、Ｓ６０５で画像調整部２０６は、ｉに１を加えた値を新たにｉと定義し、新たに定義したｉのグレー値差Ｄｉｆ（ｉ）をＲＡＭ１０６に格納されているグレー値差リスト７０３から読み出す。例えば、図７（ｃ）のグレー値差Ｉｎｄｅｘのｉ＝２のグレー値差Ｄｉｆ（２）＝（１４）を読みだし、次のグレー値差を取得しＳ６０２へ進む。
【００６０】
以上によって、グレー値差の修正処理の説明を終える。
【００６１】
次に、図６のＳ６０３の修正処理について図９、１０のフローチャートを用いて説明を行う。
【００６２】
本修正処理では、注目するグレー値差が閾値未満の場合、近傍のグレー値差を小さくし、その分だけ注目するグレー値差を大きくする処理を行う。
【００６３】
ここで注目するグレー値差と近傍のグレー値差とは、図７（ｃ）に示すグレー値差リスト７０３のグレー値差Ｉｎｄｅｘ１であるＤｉｆ（１）を注目するグレー値差とすれば、近傍のグレー値差とはグレー値差Ｉｎｄｅｘ２であるＤｉｆ（２）を指す。また、Ｄｉｆ（２）を注目するグレー値差とすれば、近傍のグレー値差とはＤｉｆ（１）とＤｉｆ（３）とを指す。すなわち、近傍のグレー値差は、グレー値順でソートされたグレー値差において、注目するグレー値差の前後のグレー値差である。
【００６４】
そして本修正処理においては、注目するグレー値差を大きくした結果、近傍のグレー値差が閾値未満にならないようにする。そのために、注目するグレー値差の近傍のグレー値差に対しても、その値が閾値以上か否か判定を行う。修正前の近傍のグレー値差が閾値よりも大きい場合、その近傍のグレー値差が閾値よりも小さくならない範囲で小さくし、その小さくした分だけ注目するグレー値差を大きくする。このようにグレー値差を修正することで、修正後に別の箇所のグレー値差が閾値よりも小さくなることを防ぐことができる。
【００６５】
［近傍のグレー値差が１つの場合］
ここで近傍のグレー値差が１つの場合の修正処理を、図９を用いて説明し、近傍のグレー値差が２つの場合の修正処理を、図１０を用いて説明する。
【００６６】
まず、近傍のグレー値差が１つの場合について説明する。ここで、近傍のグレー値差が１つの場合とは、図７（ｃ）を例にすれば、グレー値差Ｉｎｄｅｘの最初又は最後に対応するグレー値差Ｄｉｆ（１）又はＤｉｆ（４）を注目するグレー値差とする場合である。ここでは、注目するグレー値差をＤｉｆ（１）として説明する。
【００６７】
Ｓ９０１で画像調整部２０６は、ＲＡＭ１０６からグレー値差リスト７０３とＳ３０２で定めた閾値を読み出し、グレー値差Ｄｉｆ（１）の近傍のグレー値差Ｄｉｆ（２）を取得し、グレー値差Ｄｉｆ（２）が閾値よりも大きいか否かを判定する。
Ｄｉｆ（２）＞（閾値）・・・式（１）
【００６８】
ここで、グレー値差Ｄｉｆ（２）が閾値よりも大きい場合、ＹＥＳとなりＳ９０２へ進む。一方で、グレー値差Ｄｉｆ（２）が閾値以下の場合、ＮＯとなりＳ９０５へ進む。
【００６９】
グレー値差Ｄｉｆ（２）が閾値以上の場合、Ｓ９０２で画像調整部２０６は、ＲＡＭ１０６に格納されたグレー値差リスト７０３から注目するグレー値差Ｄｉｆ（１）と近傍のグレー値差Ｄｉｆ（２）を読み出し、それらの和が閾値の２倍以上か否かを判定する。
Ｄｉｆ（１）＋Ｄｉｆ（２）≧（閾値）×２・・・式（２）
【００７０】
この演算を行う理由は、修正後にそれぞれのグレー値差を閾値以上にするためには、注目するグレー値差と近傍のグレー値差との和が閾値の２倍以上必要であるからである。ここで、２つのグレー値差の和が閾値の２倍以上であればＹＥＳとなってＳ９０３へ進み、閾値の２倍未満であればＮＯとなりＳ９０４へ進む。
【００７１】
グレー値差Ｄｉｆ（１）とグレー値差Ｄｉｆ（２）との和が閾値の２倍以上の場合、Ｓ９０３で画像調整部２０６は、ＲＡＭ１０６から閾値とグレー値差Ｄｉｆ（１）とグレー値差Ｄｉｆ（２）とを読み出して次の演算を行う。すなわち、先ず注目するグレー値差Ｄｉｆ（１）を閾値と同じ値に修正する。Ｄｉｆ’（１）が修正後の注目するグレー値差である。
Ｄｉｆ’（１）＝（閾値）・・・式（３）
【００７２】
そして、近傍のグレー値差Ｄｉｆ（２）を、下式（４）のように、２つのグレー値差の和から修正した注目するグレー値差Ｄｉｆ’（１）を引いた値にする。Ｄｉｆ’（２）が修正後の近傍のグレー値差である。
Ｄｉｆ’（２）＝Ｄｉｆ（１）＋Ｄｉｆ（２）−Ｄｉｆ’（１）・・・式（４）
【００７３】
こうすることで、閾値未満の注目するグレー値差Ｄｉｆ（１）は所定の最低限の弁別性を実現するグレー値差に修正される一方で、近傍のグレー値差Ｄｉｆ（２）は注目するグレー値差Ｄｉｆ（１）が大きくなった分（（閾値）−Ｄｉｆ（１））だけ小さくなる。しかし、Ｓ９０２の判定時に、修正後の注目するグレー値差Ｄｉｆ’（１）が閾値と等しければ修正後の近傍のグレー値差Ｄｉｆ’（２）も閾値以上になることが保障されている。そのため、修正された２つのグレー値差は、いずれも所定の最低限の弁別性を実現できる値となる。
【００７４】
一方、Ｓ９０２において、グレー値差Ｄｉｆ（１）とグレー値差Ｄｉｆ（２）との和が閾値の２倍未満の場合、Ｓ９０４で画像調整部２０６は、ＲＡＭ１０６から閾値とグレー値差Ｄｉｆ（１）とグレー値差Ｄｉｆ（２）とを読み出し、下式（５）の演算を行う。すなわち、近傍のグレー値差Ｄｉｆ（２）を閾値と同じ値にする。
Ｄｉｆ’（２）＝（閾値）・・・式（５）
【００７５】
そして、注目するグレー値差Ｄｉｆ（１）を、下式（６）のように、２つのグレー値差の和から修正した近傍のグレー値差Ｄｉｆ’（２）を引いた値にする。
Ｄｉｆ’（１）＝Ｄｉｆ（１）＋Ｄｉｆ（２）−Ｄｉｆ’（２）・・・式（６）
【００７６】
こうすることで、Ｓ９０２において全てのグレー値間において所定の最低限の弁別性が実現できないものの、注目するグレー値差Ｄｉｆ（１）を十分ではないが大きくすることができる。すなわち、閾値以上であった近傍のグレー値差Ｄｉｆ（２）を閾値まで小さくした分（Ｄｉｆ（２）−（閾値））だけ注目するグレー値差Ｄｉｆ（１）を大きくすることができる。
【００７７】
他方、Ｓ９０１において、グレー値差Ｄｉｆ（２）が閾値未満の場合、Ｓ９０５では何も行わず終了する。ここでは、注目するグレー値差Ｄｉｆ（１）も近傍のグレー値差Ｄｉｆ（２）も閾値以下であるため、無理に修正することで弁別性を一層悪化させることを避ける。
【００７８】
以上のように、注目するグレー値差Ｄｉｆ（ｉ）とその近傍のグレー値差Ｄｉｆ（ｉ＋１）又はＤｉｆ（ｉ−１）の修正を行う。
【００７９】
今回、グレー値差Ｉｎｄｅｘｉ１のグレー値差Ｄｉｆ（１）の修正の可否及び修正量を判定するために、グレー値差Ｉｎｄｅｘｉ２のグレー値差Ｄｉｆ（２）を参照した。これと同様に、グレー値差Ｉｎｄｅｘ（Ｎ−１）のグレー値差Ｄｉｆ（Ｎ−１）を修正しようとする場合は、グレー値差Ｉｎｄｅｘｉ（Ｎ−２）のグレー値差Ｄｉｆ（Ｎ−２）を参照すればよく、その修正方法は同じなので詳細の説明は省略する。
【００８０】
［近傍のグレー値差が２つの場合］
次に、近傍のグレー値差が２つある注目するグレー値差Ｄｉｆ（ｉ）（１＜ｉ＜Ｎ−１）を修正する方法について、図１０を用いて説明する。
【００８１】
Ｓ１００１で画像調整部２０６は、ＲＡＭ１０６から閾値と注目する第１の近傍のグレー値差Ｄｉｆ（ｉ−１）を読み出し、どちらが大きいか判定する。
Ｄｉｆ（ｉ−１）＞（閾値）・・・式（７）
【００８２】
ここで、第１の近傍のグレー値差Ｄｉｆ（ｉ−１）が閾値より大きい場合はＹＥＳとなりＳ１００２へと進み、閾値以下の場合はＮＯとなりＳ１００３へ進む。
【００８３】
Ｓ１００１において第１の近傍のグレー値差Ｄｉｆ（ｉ−１）が閾値よりも大きい場合、Ｓ１００２で画像調整部２０６は、ＲＡＭ１０６から閾値と注目するグレー値差Ｄｉｆ（ｉ）、近傍のグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）を読み出す。そして、これら３つのグレー値差の合計が閾値の３倍以上か否か判定する。
Ｄｉｆ（ｉ−１）＋Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ＋１）≧（閾値）×３・・・式（８）
【００８４】
この演算を行う理由は、修正後にそれぞれのグレー値差を閾値以上にするには、注目するグレー値差と２つの近傍のグレー値との和が閾値の３倍以上必要であるからである。ここで、３つのグレー値差の和が閾値の３倍以上であればＹＥＳとなってＳ１００４へ進み、閾値の３倍未満であればＮＯとなりＳ１００５へ進む。
【００８５】
一方、Ｓ１００１において第１の近傍のグレー値差Ｄｉｆ（ｉ−１）が閾値未満の場合、Ｓ１００３で画像調整部２０６は、Ｄｉｆ（ｉ＋１）を近傍のグレー値差として、図９のＳ９０１からＳ９０５と同様の処理を行う。これは、閾値未満の第１の近傍のグレー値差Ｄｉｆ（ｉ−１）をさらに小さくすることはできないためである。そのため、図９のフローチャートで説明したように注目するグレー値差Ｄｉｆ（ｉ）に対して近傍のグレー値差が１つの場合と同じやり方で注目するグレー値差Ｄｉｆ（ｉ）に対して修正処理を行う。
【００８６】
Ｓ１００２において、３つのグレー値差の合計が閾値の３倍以上の場合、Ｓ１００４で画像調整部２０６は、注目するグレー値差Ｄｉｆ（ｉ）、第１及び第２の近傍のグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）に対し、以下の演算を行う。すなわち、初めに注目するグレー値差Ｄｉｆ（ｉ）を所定の弁別性を実現するのに必要な最小値である閾値にする。
Ｄｉｆ’（ｉ）＝（閾値）・・・式（９）
【００８７】
そして、修正された注目するグレー値差Ｄｉｆ’（ｉ）で増えた分
Ｄｉｆ’（ｉ）−Ｄｉｆ（ｉ）＝（閾値）−Ｄｉｆ（ｉ）・・・式（１０）
を、閾値以上である第１の近傍のグレー値差Ｄｉｆ（ｉ−１）と第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）から捻出する。
【００８８】
まず第１の近傍のグレー値差Ｄｉｆ（ｉ−１）と第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）とが閾値以上を維持する必要があるため、修正された注目するグレー値差Ｄｉｆ’（ｉ）に割り当てる分は、それらのそれぞれの閾値との差分の一部又は全てとする。割り当てる比率は、それぞれの閾値との差分の大きさＹ１、Ｙ２に応じて重み付けして決定する。すなわち、
Ｙ＝Ｙ１＋Ｙ２・・・式（１１）
ここで、Ｙ１＝Ｄｉｆ（ｉ−１）−（閾値）、Ｙ２＝Ｄｉｆ（ｉ＋１）−（閾値）
Ｄｉｆ’（ｉ−１）＝Ｄｉｆ（ｉ−１）−（（閾値）−Ｄｉｆ（ｉ））×Ｙ１／Ｙ
・・・式（１２）
Ｄｉｆ’（ｉ＋１）＝Ｄｉｆ（ｉ＋１）−（（閾値）−Ｄｉｆ（ｉ））×Ｙ２／Ｙ
・・・式（１３）
の演算を行う。具体例については後述する。
【００８９】
一方Ｓ１００２において、３つのグレー値差の合計が閾値の３倍未満の場合、Ｓ１００５で画像調整部２０６は、ＲＡＭ１０６から閾値と第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）を読み出し、どちらが大きいか判定する。
Ｄｉｆ（ｉ＋１）＞（閾値）・・・式（１４）
【００９０】
ここで、第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）が閾値よりも大きい場合はＹＥＳとなりＳ１００６へと進み、閾値以下の場合はＮＯとなりＳ１００７へ進む。
【００９１】
Ｓ１００５において第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）が閾値より大きい場合、注目するグレー値差Ｄｉｆ（ｉ）、第１の近傍のグレー値差Ｄｉｆ（ｉ−１）、第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）に対し、以下の演算を行う。
【００９２】
すなわち、閾値より大きかった第１及び第２の近傍のグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）をそれぞれ閾値まで小さくする。
Ｄｉｆ’（ｉ−１）＝Ｄｉｆ’（ｉ＋１）＝（閾値）・・・式（１５）
【００９３】
そして、修正前後の第１及び第２の近傍のグレー値差の差分を注目するグレー値差Ｄｉｆ（ｉ）に加える。
Ｄｉｆ’（ｉ）＝Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ−１）＋Ｄｉｆ（ｉ＋１）−（閾値）×２・・・式（１６）
【００９４】
Ｓ１００５において第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）が閾値以下の場合、注目するグレー値差Ｄｉｆ（ｉ）、第１の近傍のグレー値差Ｄｉｆ（ｉ−１）、第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）に対し、以下の演算を行う。すなわち、閾値より大きかった第１の近傍のグレー値差Ｄｉｆ（ｉ−１）を閾値まで小さくする。
Ｄｉｆ’（ｉ−１）＝（閾値）・・・式（１５）
【００９５】
そして、修正前後の第１の近傍のグレー値差の差分を注目するグレー値差Ｄｉｆ（ｉ）に加える。
Ｄｉｆ’（ｉ）＝Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ−１）−（閾値）・・・式（１７）
【００９６】
そして、第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）はＳ１００２より閾値以下なので修正しない。
Ｄｉｆ’（ｉ＋１）＝Ｄｉｆ（ｉ＋１）・・・式（１８）
【００９７】
以上のようにして、注目するグレー値差Ｄｉｆ（ｉ）とその近傍のグレー値差Ｄｉｆ（ｉ−１）及びＤｉｆ（ｉ＋１）の修正を行う。
【００９８】
ここで、Ｓ１００１からＳ１００７の具体例について図８の模式図を用いて説明を加える。図８の８００は図７（ｃ）のソート後のグレー値７０２とグレー値差とを模式化した図で、図８の８００’は図７（ｃ）の修正後のグレー値７０６とグレー値差７０５とを模式化した図である。
【００９９】
この例では、グレー値（１８９）８０２とグレー値（１７５）８０３とのグレー値差Ｄｉｆ（２）＝１４を本修正処理によりＤｉｆ’（２）＝３２へと大きく修正している。すなわち、閾値よりも小さいグレー値差Ｄｉｆ（２）＝１４が注目するグレー値差であり、その両隣のグレー値差、すなわちグレー値差Ｄｉｆ（１）＝６６、及びグレー値差Ｄｉｆ（３）＝９９を近傍のグレー値差とする。
【０１００】
Ｓ１００１において、閾値が３２であるので、
Ｄｉｆ（１）＝６６＞３２＝（閾値）
であるためＹＥＳとなりＳ１００２へ進む。そしてＳ１００２では、
Ｄｉｆ（１）＋Ｄｉｆ（２）＋Ｄｉｆ（３）＝１７９≧３２×３＝９６
なので、ＹＥＳとなりＳ１００４へ進む。Ｓ１００４では、注目するグレー値差Ｄｉｆ（２）を
Ｄｉｆ’（２）＝３２＝（閾値）
と修正する。ここで、
Ｄｉｆ（１）＋Ｄｉｆ（２）＋Ｄｉｆ（３）
＝Ｄｉｆ’（１）＋Ｄｉｆ’（２）＋Ｄｉｆ’（３）
とするためには修正したＤｉｆ’（２）で大きくなった分をＤｉｆ’（１）とＤｉｆ’（３）とで吸収する必要がある。しかし、各グレー値差ともに閾値以上である必要があるので、修正したＤｉｆ’（２）で大きくなった分にＤｉｆ（１）、Ｄｉｆ（３）から割り当てることができる上限値は、Ｄｉｆ（１）、Ｄｉｆ（３）からそれぞれ閾値を引いた値の和である。すなわち、
Ｄｉｆ（１）−（閾値）＝６６−３２＝３４；
Ｄｉｆ（３）−（閾値）＝９９−３２＝６７；
この２つの差分の和（＝３４＋６７＝１０１）がＤｉｆ’（２）で大きくなった分を吸収するために使える値となる。
【０１０１】
今回の例だと、注目するグレー値差Ｄｉｆ（２）＝１４がＤｉｆ’（２）＝３２になり、大きくなった分は１８なので、これを近傍のグレー値差Ｄｉｆ（１）、Ｄｉｆ（３）で賄う。近傍のグレー値差Ｄｉｆ（１）、Ｄｉｆ（３）のどちらがどれだけ賄うかは、下式の重み付け演算により算出する。
Ｄｉｆ’（１）＝Ｄｉｆ（１）−１８×３４/１０１＝６６−７＝５９；
Ｄｉｆ’（３）＝Ｄｉｆ（３）−１８×６７/１０１＝９９−１１＝８８；
【０１０２】
つまり、Ｄｉｆ（１）が７、Ｄｉｆ（３）が１１を賄うこととなる。
【０１０３】
以上のように注目するグレー値差が予め定めた閾値未満の場合、近傍のグレー値差が予め定めた閾値よりも大きい分を加算することで、注目するグレー値差が閾値になるように修正する。
【０１０４】
修正された結果、注目するグレー値差は、閾値まで大きくなって弁別性が向上し、かつ、閾値よりも大きくなることがないことで、他の色の弁別性の悪化を抑制する。また、近傍のグレー値差は、閾値より小さくなることはないので所定の弁別性は確保される。さらに、注目するグレー値差、近傍のグレー値差は修正されるがその他のグレー値差は修正しない。
【０１０５】
従来の手法ではページ内に用いられる色の数と、グレー値での濃度順位とにより目標とするグレー値を決めていたため、配色が変わればグレー値は大きく変化していた。しかし、本発明では、上記のように、閾値未満のグレー値差の修正後の値は最大で閾値であり、また修正するグレー値差は閾値未満のグレー値差とそれに隣り合う近傍のグレー値差に限定される。そのため、グレー値の変化を所定の弁別性を実現するために必要な最小限の変化に抑えることができる。
【０１０６】
本実施形態では、まず１ページ内で用いられる色のＲＧＢ値を抽出した。しかし、１つのジョブにおいて全ページで用いられる色のＲＧＢ値を抽出し、全ページに共通のカラーデータからグレースケールデータを作成することで、ページ間で同じ色に対して同じグレー値を割り当てることができる。
【０１０７】
また、本実施形態では、注目するグレー値差と近傍のグレー値差との和が式（２）で閾値の２倍、式（８）で閾値の３倍としたが、ここでは確実に閾値以上の間隔を保つ例を示しただけで、式（２）、（８）の右辺の値は他の値でもよい。
【第２の実施形態】
【０１０８】
第１の実施形態では、図３のＳ３０２にて、予め定められた所定の閾値を取得した。しかし、文書で用いられる色の数が多い場合、カラーデータをグレースケールデータに変換して得られたグレー値が特定の数値範囲に密集し、グレー値差が閾値未満となる数が多くなり、注目するグレー値差の近傍のグレー値差も閾値未満となる可能性が高くなる。近傍のグレー値差も閾値未満の場合、図９のＳ９０１でＮＯとなりＳ９０５の処理が行われ、修正処理が行われないことになる。
【０１０９】
そこで本実施形態では、色数によって閾値を変えることで、できるだけ修正後の弁別性を高めながら修正が行えない状況を減らせる、色数に対して適切な閾値を算出する。以下で、図１１に示すフローチャートを用いて第２の実施形態の処理について説明を行う。なお、このフローチャートで示す処理も、ＣＰＵ１０５が記憶部１０７に格納されているプログラムをＲＡＭ１０６に展開し、その展開したプログラムをＣＰＵ１０５で実行することにより達成される。また、構成などは第１の実施形態と同じなので異なる点についてのみ説明を加える。
【０１１０】
まず、Ｓ１１０１で画像調整部２０６は、ＲＡＭ１０６からグレー値差リスト７００から色数を取得する。ここではＩｎｄｅｘの最大値Ｎを取得し、予め定めた色数Ｍよりも少ないか否かを判定する。少なければＹＥＳとなり予め定めた閾値を用いる。一方、ＮがＭよりも多ければＮＯとなりＳ１１０２へ進む。
【０１１１】
例えば、弁別をつけるための閾値を８ｂｉｔの２５６階調で３２とし、その時、２５６階調を３２で等間隔に割り振った状態を理想の弁別状態とすれば、とりうるグレー値は０、３２、６４・・・２５５で使われる色数は９色となる。しかし、１０色よりも多い場合は等間隔に割り振ることができない。
【０１１２】
そこで、次にＳ１１０２で画像調整部２０６は、色数に対して適した閾値’を算出する。
（閾値’）＝２５６／（Ｎ−１）；
ここでＮ＞１；
本実施形態では、このようにして色数に応じて適した閾値’を算出する。
【第３の実施形態】
【０１１３】
第１、２の実施形態では予め決めた最低限の弁別性を実現するために必要なグレー値差の閾値を定義し、グレー値の修正を行った。
【０１１４】
しかし、最低限の弁別性を実現するために必要なグレー値差は、同一ページ内において離れているオブジェクトであるか、隣り合うオブジェクトであるかによって変わりうる。隣り合うオブジェクトの場合は、少しでもグレー値差があるだけでも弁別性が向上する。そこで本実施形態では、第１の実施形態において図９のＳ９０５のように全くグレー値差の修正を行わないのではなく、僅かであってもグレー値差を大きくするよう修正を行う。以下で、図１２に示すフローチャートを用いて第３の実施形態の処理について説明を行う。なお、このフローチャートで示す処理も、ＣＰＵ１０５が記憶部１０７に格納されているプログラムをＲＡＭ１０６に展開し、その展開したプログラムをＣＰＵ１０５で実行することにより達成される。また、構成などは第１の実施形態と同じなので異なる点についてのみ説明を加える。
【０１１５】
グレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ）、Ｄｉｆ（ｉ＋１）の３つが全て閾値よりも小さい場合、図１０のＳ１００３から図９のＳ９０１、Ｓ９０５に遷移し、第１の実施形態では注目するグレー値差Ｄｉｆ（ｉ）の修正は行わなかった。これに対し本実施形態では、グレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ）、Ｄｉｆ（ｉ＋１）の３つが全て閾値よりも小さい場合であっても、少しでも注目するグレー値差Ｄｉｆ（ｉ）を大きくするように修正を行う。
【０１１６】
まずＳ１２０１で画像調整部２０６は、注目するグレー値差Ｄｉｆ（ｉ）が近傍のグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）よりも大きいか否かを判定する。そして、注目するグレー値差Ｄｉｆ（ｉ）が最も大きい場合はＳ１２０２へ進み、最も大きい値でない場合はＳ１２０３へ進む。
【０１１７】
Ｓ１２０１で注目するグレー値差Ｄｉｆ（ｉ）が最も大きい場合、Ｓ１２０２で画像調整部２０６はグレー値差の修正を行わない。これはすでに注目するグレー値差Ｄｉｆ（ｉ）が近傍のグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）より大きく、近傍のグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）の方が修正して大きくする必要性が高いためである。
【０１１８】
一方、Ｓ１２０１で注目するグレー値差Ｄｉｆ（ｉ）が最も大きい値でない場合、Ｓ１２０３で画像調整部２０６は、注目するグレー値差Ｄｉｆ（ｉ）がＤｉｆ（ｉ−１）、Ｄｉｆ（ｉ＋１）よりも小さいか否かを判定する。そして、注目するグレー値差Ｄｉｆ（ｉ）が最も小さい場合はＳ１２０４へ進み、最も小さい値でない場合はＳ１２０５へ進む。
【０１１９】
Ｓ１２０３で注目するグレー値差Ｄｉｆ（ｉ）が最も小さい場合、Ｓ１２０４で画像調整部２０６は、以下の演算を行って３つのグレー値差をそれらの平均値にする。
Ｄｉｆ’（ｉ）＝（Ｄｉｆ（ｉ−１）＋Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ＋１））/３
・・・式（１９）
Ｄｉｆ’（ｉ−１）＝（Ｄｉｆ（ｉ−１）＋Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ＋１））/３
・・・式（２０）
Ｄｉｆ’（ｉ＋１）＝（Ｄｉｆ（ｉ−１）＋Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ＋１））/３
・・・式（２１）
【０１２０】
こうすることで一番小さかった注目するグレー値差Ｄｉｆ（ｉ）を少しでも大きくすることができる。
【０１２１】
一方、Ｓ１２０３で注目するグレー値差Ｄｉｆ（ｉ）が最小でない場合、Ｓ１２０５で画像調整部２０６は、第１の近傍のグレー値差Ｄｉｆ（ｉ−１）が注目するグレー値差Ｄｉｆ（ｉ）と第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）より小さいか否かを判定する。そして、Ｄｉｆ（ｉ−１）が最も小さい場合はＳ１２０６へ進み、最も小さい値でない場合はＳ１２０７へ進む。
【０１２２】
Ｓ１２０５で第１の近傍のグレー値差Ｄｉｆ（ｉ−１）が最小である場合、Ｓ１２０６で画像調整部２０６は、以下の演算を行う。すなわち、最も小さい第１の近傍のグレー値差Ｄｉｆ（ｉ−１）を除いた、注目するグレー値差Ｄｉｆ（ｉ）と第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）とは、それら２つのグレー値差の平均値とする。
Ｄｉｆ’（ｉ）＝（Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ＋１））/２・・・式（２２）
Ｄｉｆ’（ｉ＋１）＝（Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ＋１））/２・・・式（２３）
Ｄｉｆ’（ｉ−１）＝Ｄｉｆ（ｉ−１）・・・（式２４）
【０１２３】
このように注目するグレー値差Ｄｉｆ（ｉ）を、最も小さい第１の近傍のグレー値差Ｄｉｆ（ｉ−１）を加味しないで、第２の近傍グレー値差Ｄｉｆ（ｉ＋１）との平均値とすることで注目するグレー値差Ｄｉｆ（ｉ）の値が小さくなることを防ぐ。
【０１２４】
Ｓ１２０５で第１の近傍のグレー値差Ｄｉｆ（ｉ−１）が最も小さい値でない場合、Ｓ１２０７で画像調整部２０６は、第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）が最も小さくなるため、画像調整部２０６は、以下の演算を行う。すなわち、最も小さい第２の近傍のグレー値差Ｄｉｆ（ｉ＋１）を除いた、注目するグレー値Ｄｉｆ（ｉ）と第１の近傍のグレー値差Ｄｉｆ（ｉ−１）とは、それら２つのグレー値差の平均値とする。
Ｄｉｆ’（ｉ）＝（Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ−１））/２・・・式（２５）
Ｄｉｆ’（ｉ−１）＝（Ｄｉｆ（ｉ）＋Ｄｉｆ（ｉ−１））/２・・・式（２６）
Ｄｉｆ’（ｉ＋１）＝Ｄｉｆ（ｉ＋１）・・・式（２７）
【０１２５】
このように注目するグレー値差Ｄｉｆ（ｉ）に最も小さい近傍のグレー値差Ｄｉｆ（ｉ＋１）を加味しないことでＤｉｆ（ｉ）の値が小さくなることを防ぐ。
【０１２６】
以上のように、最も小さい値を除いて平均をとることによりグレー値差Ｄｉｆ（ｉ−１）、Ｄｉｆ（ｉ）、Ｄｉｆ（ｉ＋１）を修正することによって注目するグレー値差Ｄｉｆ（ｉ）を大きくすることができる。
【０１２７】
前述したように、隣り合う場合では少しでも値を大きくすることにより弁別の向上を図ることができる。
【０１２８】
また、本発明の修正処理を適用するグレースケール画像は、グラフィック（図形）、テキスト（文字）、ライン（線）などの色数が少なく、含まれる色の間の色差が所定の値以上である画像が望ましい。一方でイメージ（写真）などの画像は、グレー値を部分的に修正することはカラー画像において配色を変更することに相当するため、また色差の小さい多数の色を含むそのため、本発明の修正処理は行わないことが望ましい。そのため、本発明の修正処理を適用しようとする画像に対して、まず画像内の各オブジェクトの属性を像域判定処理などで判定し、その判定された属性情報に基づき、所定の属性のオブジェクトに対してのみ修正処理を適用するようにしてもよい。
【０１２９】
また、第１の実施形態から第３の実施形態では、グレースケールデータを修正対象として説明したが、１つの階調値で表現されるモノクロデータに対して修正処理を施しても同様の効果が得られることは言うまでもない。
【０１３０】
また、本発明は、注目する階調値差に隣り合う近傍の階調値差を小さくすることで、注目する階調値差を大きくする。そのため、本発明の修正処理が適用可能なモノクロデータは、階調値が３つ以上存在し、階調値間の階調値差が複数存在するデータである。
【０１３１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１３２】
１０１  制御部
１１０  ホストＰＣ
２０６  画像調整部
【図１】
2020174226.tif 000003
【図２】
2020174226.tif 000004
【図３】
2020174226.tif 000005
【図４】
2020174226.tif 000006
【図５】
2020174226.tif 000007
【図６】
2020174226.tif 000008
【図７】
2020174226.tif 000009
【図８】
2020174226.tif 000010
【図９】
2020174226.tif 000011
【図１０】
2020174226.tif 000012
【図１１】
2020174226.tif 000013
【図１２】
2020174226.tif 000014