(57)【特許請求の範囲】
【請求項１】
スキャン画像における注目画素と前記注目画素の近傍の画素とを含む注目領域に含まれる、処理対象の画素を特定する特定手段と、
前記特定手段によって特定された処理対象の画素の値を用いて、前記注目画素の値を平滑化する平滑化手段と、
前記平滑化手段によって平滑化された値に基づいて、前記注目画素がカラーであるかモノクロであるかを判定する判定手段とを有し、
前記特定手段は、前記注目領域が、隣接しない複数の下地領域を有する場合に、前記注目領域において前記複数の下地領域の間にある下地領域ではない画素を前記処理対象の画素として特定し、前記注目領域において前記複数の下地領域の間にない画素を前記処理対象の画素として特定しない
ことを特徴とする画像処理装置。
【請求項２】
前記注目領域は、前記スキャン画像の副走査方向の長さが主走査方向の長さよりも長い領域であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記複数の下地領域は、前記スキャン画像の副走査方向の位置が異なり、前記スキャン画像の主走査方向の位置が同一である領域であることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記平滑化手段は、前記特定された処理対象の画素の色値を平均化することを特徴とする請求項１から３のうちのいずれか一項に記載の画像処理装置。
【請求項５】
前記平滑化手段は、前記特定された処理対象の画素の色値に重みを付けることによって前記平滑化を行なうことを特徴とする請求項１から３のうちのいずれか一項に記載の画像処理装置。
【請求項６】
前記平滑化手段は、前記スキャン画像の副走査方向において、前記下地領域と中央部との間にある画素を、その重みを前記処理対象の画素の重みよりも低くして前記平滑化に用いることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記特定手段は、下地のＲ、Ｇ、Ｂ値に許容幅を加えた範囲内の値を有する画素を下地画素と判定し、前記下地画素が連続する領域を下地領域として判定することを特徴とする請求項１から６のいずれか一項に記載の画像処理装置。
【請求項８】
前記下地のＲ、Ｇ、Ｂ値は無彩色であることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記処理対象の画素の数は、注目画素ごとに変わることを特徴とする請求項１から８のいずれか一項に記載の画像処理装置。
【請求項１０】
スキャン画像における注目画素と前記注目画素の近傍の画素とを含む注目領域に含まれる、処理対象の画素を特定する特定ステップと、
前記特定ステップで特定された処理対象の画素の値を用いて前記注目画素の値を平滑化する平滑化ステップと、
前記平滑化された値に基づいて前記注目画素がカラーであるかモノクロであるかを判定する判定ステップとを有し、
前記特定ステップにおいて、前記注目領域が隣接しない複数の下地領域を有する場合に、前記注目領域において前記複数の下地領域の間にある下地領域ではない画素を前記処理対象の画素として特定し、前記注目領域において前記複数の下地領域の間にない画素を前記処理対象の画素として特定しない
ことを特徴とする画像処理方法。
【請求項１１】
コンピュータを請求項１から９のいずれか一項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は読取装置で読取った原稿がカラーであるかモノクロであるかを判定する画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
読取装置で読取ったスキャン画像がカラーであるかモノクロであるかを判定する技術（以下、カラー／モノクロ判定技術という）が知られている。
【０００３】
カラー／モノクロ判定技術では、まず（１）スキャン画像内の画素毎の彩度に基づいて、その画素がカラーであるかモノクロであるか判定する。そして、（２）スキャン画像全体における各画素の判定結果に基づいて、そのスキャン画像がカラーであるか、モノクロであるか判定している。
【０００４】
ここで、画素がカラーであるかモノクロであるかを判定する際に問題が生じることがある。例えば原稿の用紙が不純物等を含む再生紙などである場合、不純物のスキャンデータをカラー画素と判定してしまうことがある。また、読取装置の色ずれによってモノクロコンテンツのエッジ部に発生する疑色などをカラー画素と判定してしまうことがある。この結果、原稿中のコンテンツがモノクロであるにも関わらず、カラー原稿であると誤判定してしまうという問題がある。
【０００５】
この色ずれは、スキャナーのＲ用のセンサ、Ｇ用のセンサ、Ｂ用のセンサが、原稿上の違った位置からの反射光を捉えているためである。このことにより、たとえ黒いオブジェクトだけを含む原稿をスキャンしたとしても、その黒いオブジェクトのエッジには、Ｒ＝Ｇ＝Ｂでない画素が発生し、カラーと判定されてしまうことがある。
【０００６】
また色ずれ以外にも彩度の低い箇所の画素を正確にモノクロ判定できないケースがある。例えば印刷原稿の様に網点で画像が構成されてる場合、グレーの箇所の画素はCMYの3色を混ぜてマクロで見るとグレーとなるよう構成されている。そのためこのようなグレー画像に対してミクロでカラー／モノクロ判定を行ってしまうとカラー画素を多く判定してしまう。
【０００７】
この問題を解決するために、注目画素がカラーであるかモノクロであるか判定する際、注目画素の彩度のみを使用するのではなく、近傍画素の彩度も使用して判定する方法が考えられる。例えば、注目画素の彩度及び近傍画素の彩度の平均値を求め、その平均値が閾値より大きい場合に、注目画素はカラーであり、閾値より小さい場合には注目画素はモノクロであると判定する方法が考えられる。（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−３２０４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、前述の方法を取ると、彩度は、平均化により小さくなりすぎてしまい、別の誤判定の発生要因となる。例えば小ポイント文字列などの小さなカラーコンテンツは細いラインやドット群で構成されている。このような小さなカラーコンテンツの画素を注目画素として平均化処理を行うと、それら小さなカラーコンテンツに隣接する無彩色背景部の画素の影響により注目画素のカラーコンテンツの彩度が下がってしまう。この結果、カラーと判定したい画像をモノクロであると誤判定してしまう課題がある。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、スキャン画像における注目画素と前記注目画素の近傍の画素とを含む注目領域に含まれる、処理対象の画素を特定する特定手段と、前記特定手段によって特定された処理対象の画素の値を用いて前記注目画素の値を平滑化する平滑化手段と、前記平滑化された値に基づいて前記注目画素がカラーであるかモノクロであるかを判定する判定手段とを有し、前記特定手段は、前記注目領域が、隣接しない複数の下地領域を有する場合に、前記注目領域において前記複数の下地領域の間にある下地領域ではない画素を前記処理対象の画素として特定し、前記注目領域において前記複数の下地領域の間にない画素を前記処理対象の画素として特定しないことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、原稿を適切にカラー判定することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】実施形態にかかる画像処理装置の構成を示す図である。
【図２】実施形態にかかる画像処理装置の外観を示す図である。
【図３】実施形態にかかるカラー／モノクロ判定の処理ブロック図である。
【図４】実施形態にかかる平滑化部の処理フローを示すフローチャートである。
【図５】実施形態にかかる平滑化処理のウィンドウ領域制限を説明する図である。
【図６】実施形態にかかる領域制限部によって制限される領域の例を示す図である。
【図７】実施形態にかかるブロック領域を説明する図である。
【図８】実施形態にかかるカラーブロック判定部の処理フローを示すフローチャートである。
【図９】実施形態にかかるカラーコンテンツとブロック領域の位相について説明する図である。
【図１０】実施形態にかかる有彩色画素をカウントする領域の例を示す図である。
【図１１】実施形態にかかるカラーブロック塊を説明する図である。
【図１２】実施形態にかかるカラーブロック塊検出パターンの例を示す図である。
【図１３】実施形態にかかるカラーブロックカウントの例を示す図である。
【図１４】実施形態にかかるカラーブロック塊検出の処理フローを示すフローチャートである。
【図１５】実施形態にかかる平滑化処理のウィンドウ領域制限の別の例を説明する図である。
【図１６】実施形態にかかる平滑化処理のウィンドウに対する重み付けを説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１４】
＜実施形態１＞
［画像処理装置の構成］
図１は画像処理装置１００の構成を示すブロック図である。図１に示すように、画像処理装置１００は、画像読取部１０１、画像処理部１０２、記憶部１０３、ＣＰＵ１０４および画像出力部１０５を備える。なお、画像処理装置は、画像データを管理するサーバ、プリントの実行を指示するパーソナルコンピュータ（ＰＣ）などにネットワークなどを介して接続可能である。
【００１５】
画像読取部１０１は、原稿の画像を読み取り、画像データを出力する。画像処理部１０２は、画像読取部１０１や外部から入力される画像データがカラーかモノクロかを判定する処理（以下、カラー／モノクロ判定処理という）や色空間変換処理などの画像処理を行い、記憶部１０３のバッファに格納する。カラー／モノクロ判定処理の詳細に関しては後述する。画像処理部１０２はまた、格納した画像データに基づきビットマップデータを生成し、プリンタガンマ補正処理、ディザ処理を施した後、画像出力部１０５から出力を行う。
【００１６】
記憶部１０３は、ＲＯＭ、ＲＡＭ、ハードディスク（ＨＤ）などから構成される。ＲＯＭは、ＣＰＵ１０４が実行する各種の制御プログラムや画像処理プログラムを格納する。ＲＡＭは、データを参照する参照領域やデータの作業領域として用いられる。また、ＲＡＭとＨＤは、上記の画像データを格納する際に用いられる。このＲＡＭとＨＤ上で画像データを蓄積し、ページのソートや、ソートされた複数ページにわたる原稿を蓄積し、複数部数プリント出力を行う。画像出力部１０５は、記録紙などの記録媒体にカラー画像を形成して出力する。
【００１７】
［装置概観］
図２は本実施形態にかかる画像処理装置１００の概観図である。図１の構成と同じ構成については、同じ符号を付している。画像読取部１０１において、原稿台ガラス２０３および原稿圧板２０２の間に画像を読み取る原稿２０４が置かれ、原稿２０４はランプ２０５の光に照射される。原稿２０４からの反射光は、ミラー２０６と２０７に導かれ、レンズ２０８によって３ラインセンサ２１０上に像が結ばれる。なお、レンズ２０８には赤外カットフィルタ２３１が設けられている。図示しないモータにより、ミラー２０６とランプ２０５を含むミラーユニットを速度Ｖで、ミラー２０７を含むミラーユニットを速度Ｖ／２で矢印の方向に移動する。つまり、３ラインセンサ２１０の電気的走査方向（主走査方向）に対して垂直方向（副走査方向）にミラーユニットが移動し、原稿２０４の全面を走査する。
【００１８】
３ラインのＣＣＤからなる３ラインセンサ２１０は、入力される光情報を色分解して、フルカラー情報レッドＲ、グリーンＧおよびブルーＢの各色成分を各ラインセンサで読み取り、その色成分信号を画像処理部１０２へ送る。なお、３ラインセンサ２１０を構成するＣＣＤはそれぞれ７０００画素分の受光素子を有し、原稿台ガラス２０３に載置可能な原稿の最大サイズであるＡ３サイズの原稿の短手方向（２９７ｍｍ）を６００ｄｐｉの解像度で読み取ることができる。
【００１９】
標準白色板２１１は、３ラインセンサ２１０の各ＣＣＤ２１０−１から２１０−３によって読み取ったデータを補正するためのものである。標準白色板２１１は、可視光でほぼ均一の反射特性を示す白色である。
【００２０】
３ラインセンサ２１０には各色センサ間に物理的な距離があるため、原稿２０４の同一座標の印字物を読み取る際に各センサで時間差が発生する。通常このセンサ間距離は調整されその差分を補正し画像信号を読み込むことが可能であるが、この前提は前述のミラーユニットの副走査方向への移動がスムーズな等速運動である事を仮定している。この運動が等速でないとＲＧＢの読み取り位置がずれ、本来ＲＧＢで色差が無いような黒い印字物のエッジに偽色が出てしまう。偽色とは、本来はない色が画像に現れることをいう。特にモータによる運動の開始時および終了時には加減速が入り等速で無い箇所がどうしても出てしまいこのような偽色が出てしまいがちである。さらに、センサの組み付けの公差もありこの偽色を完全に無くすことは難しく、モータによる運動の開始時および終了時ではない箇所にも偽色が生じることがある。つまり、色ずれには、ミラーユニットの移動時の加速、減速に起因する第１の色ずれと、そうでない第２の色ずれとがある。なおこの３ラインセンサによる各色読取位置のずれを総称して色ずれと呼ぶ。後述するカラー／モノクロ判定処理時にはこの色ずれを考慮した処理を行なう。
【００２１】
以上は、原稿を読み取る処理についての説明である。以降では、画像処理部１０２において読み取ったスキャン画像を印刷する処理について説明する。画像処理部１０２は、３ラインセンサ２１０から入力される画像信号を電気的に処理する。例えば、ＲＧＢ値で構成された画像データを色変換処理して、シアンＣ、マゼンタＭ、イエローＹおよびブラックＫの各色成分を示す画像信号を生成し、生成したＣＭＹＫの画像信号を画像出力部１０５に送る。このとき出力される画像はディザなどのハーフトーン処理が行われたＣＭＹＫの画像となっている。
【００２２】
画像処理部１０２では入力される画像がモノクロのみで構成されているか、カラー成分を持つか自動で判定し、もしモノクロのみで構成されている場合には前記ＣＭＹＫのうちＫのみを用いることで、データ削減やトナー削減、速度向上が可能になる。以下、データ削減やトナー削減、速度向上が可能になる点について具体的に説明する。
【００２３】
画像出力部１０５において、画像処理部１０２から送られてくるＣ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）またはＫ（ブラック）の画像信号はレーザドライバ２１２へ送られる。レーザドライバ２１２は、入力される画像信号に応じて半導体レーザ素子２１３を変調駆動する。半導体レーザ素子２１３から出力されるレーザビームは、ポリゴンミラー２１４、ｆ−θレンズ２１５およびミラー２１６を介して感光ドラム２１７を走査し、感光ドラム２１７上に静電潜像を形成する。
【００２４】
現像器は、マゼンタ現像器２１９、シアン現像器２２０、イエロー現像器２２１およびブラック現像器２２２から構成される。四つの現像器が交互に感光ドラム２１７に接することで、感光ドラム２１７上に形成された静電潜像を対応する色のトナーで現像してトナー像を形成する。記録紙カセット２２５から供給される記録紙は、転写ドラム２２３に巻き付けられ、感光ドラム２１７上のトナー像が記録紙に転写される。
【００２５】
この時前述のカラー／モノクロ判定処理の結果によりモノクロと判定されると、シアン、マゼンタ、イエローの現像器を接触させる必要が無く、ブラック現像器の処理だけになるため処理時間が大幅に短縮される。また、画像処理部１０２で入力される画像がモノクロのみで構成されていると判定した場合、色変換処理でＫのみに対応する画像信号を生成すればよいので、データを削減できる。また、Ｋのみの現像器だけを用いるので、ＣＭＹの各色のトナーの使用量を削減することができる。
【００２６】
このようにしてＣ、Ｍ、ＹおよびＫの四色のトナー像が順次転写された記録紙は、定着ユニット２２６を通過することで、トナー像が定着された後、装置外へ排出される。
【００２７】
［画像処理部］
前述の画像処理部１０２におけるカラー／モノクロ判定処理について、図３を用いて概要を説明する。なお、各処理の詳細な説明は後述する。
【００２８】
また、以下で説明する各処理はＣＰＵ１０４が記憶部１０３のＲＯＭまたはハードディスクなどからプログラムをＲＡＭにロードし、そのプログラムコードに基づいて演算処理を行うことで実現する。画像読取部１０１で取得した画像データならびに各処理の中間生成データも適宜ＲＡＭにセーブ、ロードを行いつつＣＰＵ１０４が画像処理演算を行うものである。
【００２９】
まず画像処理部１０２は画像読取部１０１から読み込まれたＲＧＢで表現される画像データを受け取る。なおここで入力される画像の向きの前提は画像読取部１０１において主走査方向がラインセンサ列が延びる方向、副走査方向がセンサ移動方向として説明を行う。各ラインセンサは副走査方向に並んで配置されている。従って、各ラインセンサの読み取り位置のずれに起因する色ずれによって発生しやすくなる偽色は主走査方向に細く発生する向きになる。
【００３０】
平滑化部３０１は、画像データに対して平滑化処理を行い、画像読み取り部１０１によって発生するノイズおよび色ずれの影響を抑制する。ここで、本実施形態でいうノイズとは各ラインセンサの読み取り位置のずれに起因するものではなく、原稿自体に起因するものである。例えば、原稿が再生紙の場合には、カラーで印字されていないにも関わらず、部分的に原稿の表面に有彩色があると判定してしまう場合がある。読み取った画像データの画素に基づいてカラー画素かモノクロ画素かを判定する場合には、画像のノイズや前述の色ずれの影響を受けやすい。そこで、平滑化部３０１では、これらの影響を抑制する。なお、平滑化部３０１で抑制する色ずれは、主に前述のように各ラインセンサの読み取り位置に起因して生じる第２の色ずれである。
【００３１】
有彩色判定部３０２は、平滑化が行われた画像に対し、注目画素の彩度Ｓからその注目画素がカラー画素かモノクロ画素かを判定する。なお、有彩色判定部３０２は、単純にカラー画素かモノクロ画素かを判定するのではなく、注目画素が高彩度画素か低彩度画素か、あるいは無彩色画素かを判定してもよい。本実施形態では、有彩色判定部３０２は、注目画素が高彩度画素か低彩度画素か、あるいは無彩色画素かを判定し、その彩度判定結果を出力する例を説明する。
【００３２】
領域制限部３０３は、ミラーユニットの移動時の加速、減速に起因する第１の色ずれを抑制するために、スキャン画像においてカラー／モノクロ判定を行なう領域を制限する。画像読取部１０１で読み取った原稿２０４の副走査方向先端領域と後端領域では、ミラーユニットの加速、減速に起因する第１の色ずれが発生することがある。このような領域では色ずれが原因で本来ならばモノクロと判定すべきところをカラーであるとの誤判定を引き起こす可能性がある。よって領域制限部３０３にて予めカラー／モノクロ判定の対象領域から除外する。
【００３３】
カラーブロック判定部３０４はブロック領域内の有彩色画素の数を基にブロック毎にカラーブロックであるか否かの判定を行う。詳細は後述する。
【００３４】
カラーブロックカウント部３０５はカラーブロック塊をパターンマッチングしながら検出し、カラーブロック塊の数をカウントする。詳細は後述する。
【００３５】
カラー／モノクロ判定部３０６はカラーブロック塊数を基に原稿２０４がカラー原稿であるか、モノクロ原稿であるかを判定する。詳細は後述する。
【００３６】
［平滑化部］
前述の通り、平滑化部３０１では、ノイズや色ずれの影響を抑制する処理を行なう。なお、平滑化を行なうに際し、十分に広い範囲で平滑化することでノイズや色ずれの影響を抑制することは可能である。例えば、前述の第２の色ずれは副走査方向に並んだセンサによる読み取り位置ずれに起因して生じるので、副走査方向に長めに平均を求めることで、抑制効果を高めることができる。しかしながら、単純に広い範囲で平滑化を行なうような手法では、本来カラー画素である画素が、周囲の画素によって平滑化されてしまいカラー画素ではなくモノクロ画素として判定されてしまうことがある。つまり、カラー／モノクロ判定が誤判定になる可能性がある。そこで、本実施形態の平滑化部３０１は、誤判定を抑制しつつ、ノイズや色ずれの影響を抑制する処理を行なう。
【００３７】
平滑化部３０１について、図４を用いてその処理フローを説明する。ステップＳ４０１において、平滑化部３０１はＲＧＢで構成される画像データが入力されると、複数の画素で構成されるウィンドウに画像を切り出す。具体的にここでは横３画素、縦７画素のウィンドウとし、その注目画素位置をウィンドウの中心画素、その注目画素を含むラインを注目ラインとして説明していく。すなわち、ウィンドウには注目画素と注目画素近傍の画素とが含まれる。図５は、ウィンドウの例を示す図である。図５において１ラインは横３画素で構成されている。図５を用いた説明は後述する。なお、ウィンドウが縦長になっている理由は、色ずれは副走査方向のずれであるので、副走査方向に長めにウィンドウを設定することで色ずれの抑制効果を高めるためである。
【００３８】
続いてステップＳ４０２にて平滑化部３０１はウィンドウ内の各ラインが下地か否かを７ラインすべてで判定する。具体的には各ラインを構成する３画素すべてが下地画素値であればそのラインは下地ライン、１画素でも下地画素でなければ非下地ラインと判定する。下地画素は入力原稿の用紙下地を表現するＲＧＢ値を中心に幅を持たせた値の範囲内に入力画素があるか否かで決定される。例えばその下地のＲＧＢ値がＲ１、Ｇ１、Ｂ１、下地許容幅をＷとした場合、入力画素値Ｒ、Ｇ、Ｂに対しての判定は、
ｉｆ（（Ｒ１−Ｗ／２  ＜  Ｒ  ＜  Ｒ１＋Ｗ／２）ＡＮＤ
（Ｇ１−Ｗ／２  ＜  Ｇ  ＜  Ｇ１＋Ｗ／２）ＡＮＤ
（Ｂ１−Ｗ／２  ＜  Ｂ  ＜  Ｂ１＋Ｗ／２））
の条件を満たした場合に下地画素とする。なおこのＲ１、Ｇ１、Ｂ１の値はあらかじめ決められた値を用いてもよいし、用紙に応じて自動的に判定する公知の下地判定処理を行った結果を用いてもよい。
【００３９】
ステップＳ４０３において平滑化部３０１は、各ラインが下地か否かの判定結果を受け、ウィンドウ内の上下の領域に下地が存在するか否かを判定する。具体的にはウィンドウのラインを上からライン１〜ライン７とし、そのうち、ライン１、ライン２を上部、ライン６、ライン７を下部と定義する。
【００４０】
ステップＳ４０４において平滑化部３０１は、ウィンドウ内の上部及び下部の両方に下地があるか否かを判定する。すなわち、ライン１、ライン２のうちいずれかが下地で、かつ、ライン６、ライン７のうちいずれかが下地であれば上下に下地が存在すると判定し、ステップＳ４０５に進む。
【００４１】
ステップＳ４０５において平滑化部３０１は、上下の両方に下地があると判定されたウィンドウにおいてさらに、下地ラインとそれに隣接するラインを除いた部分が非下地か否かを判定する。図５を参照して説明する。ステップＳ４０５に処理が進んでいるということは、ライン１、ライン２のいずれかが下地ラインであり、かつ、ライン６及びライン７のいずれかが下地ラインである。従って、下地ラインとそれに隣接するラインを除いた部分は、図５の例では、注目ラインを含むウィンドウの中心部分が下地ラインであるか否かを判定する。例えば、図５（ａ）のような下地ラインがあれば、注目ラインであるライン４が非下地か否かの判定対象となる。図５（ｂ）のようにライン１とライン６とが下地ラインである場合には、注目ラインであるライン４とライン３とが非下地か否かの判定対象となる。このような判定処理によりウィンドウ内に高さ４画素を下回る小さなカラーコンテンツが横方向に存在することを確認できる。平滑化部３０１は、下地ラインとそれに隣接するラインを除いた部分が非下地であった場合にステップＳ４０６に進みウィンドウ制限を行う。後述するステップＳ４０７の平滑化処理においては、ウィンドウに基づいて平滑化処理を行なうので、ステップＳ４０６で制限がされたウィンドウに基づいて平滑化処理が行なわれることになる。
【００４２】
ステップＳ４０６で平滑化部３０１は、ステップＳ４０５において非下地と判定された領域にウィンドウ領域を制限する。すなわち、小さなカラーコンテンツがあると判定されたウィンドウのうち、下地部を除外した、カラーコンテンツが存在する領域にウィンドウ領域を制限させる。図５に４通りの様子を示す。例えば図５（ａ）のように、ライン２とライン６が下地、注目ライン４が非下地と判定されていればウィンドウ領域を注目ラインのみの横３画素、縦１画素に制限する。同様に図５（ｂ）のように、ライン１とライン６が下地、ライン３とライン４が非下地であれば、ウィンドウ領域をライン３、ライン４を含む横３、縦２画素に制限する。また図５（ｃ）のように、ライン２とライン７が下地、ライン４とライン５が非下地であれば、ウィンドウ領域をライン４とライン５を含む横３、縦２画素に制限する。また図５（ｄ）のように、ライン１とライン７が下地。ライン３とライン４とライン５が非下地であれば、ウィンドウ領域をライン３とライン４とライン５を含む横３縦３画素に制限する。そして、例えば図５（ａ）から図５（ｄ）の順に評価を行い、先にマッチングが取れたものを優先的に処理の対象とする。
【００４３】
ここで下地と隣接するラインも除外している理由は、この領域には下地の成分が少なからず影響しており、このラインをウィンドウに含めてしまうと小さなカラーコンテンツの彩度低下を起こす事があるためである。
【００４４】
最後にステップＳ４０７にて平滑化部３０１は、ウィンドウ内の画素に対して平滑化の処理を行う。ステップＳ４０６でウィンドウが制限されている場合には、その制限されたウィンドウ内の画素に対して平滑化処理を行なう。ステップＳ４０６を経由していない場合には、所定のサイズ（ここでは、横３画素、縦７画素）のウィンドウ内の画素に対して平滑化処理を行なう。平滑化の処理はウィンドウ内の画素値の例えば平均値を求める事で実施する。そして、求めた平均値を注目画素の画素値と置き換える。このような処理をスキャン画像内の各画素を注目画素として処理を行なうことでスキャン画像の平滑化が行なわれる。なお、ウィンドウの制限に応じて平均を取る画素数が変わる。
【００４５】
このように小さなカラーコンテンツが存在しうるウィンドウにおいて平滑化の対象から下地部を除く事で、その小さなカラーコンテンツがぼける事を防ぎ、その小さなカラーコンテンツが有彩色を持っている時の彩度低下を防ぐ事ができる。また一方で、小さなカラーコンテンツでない場合には平滑化の効果を十分出すことが可能になり、画像に含まれるノイズや色ずれを除去することが可能になる。
【００４６】
なお先のステップＳ４０２にて下地ライン判定を行うのは有意な有彩色を持つ小さなカラーコンテンツの彩度低下を防ぎ、無彩色画素と誤判定することを避ける事が目的である。よって、この下地のＲＧＢ値Ｒ１、Ｇ１、Ｂ１の値は有彩色である必要は無く、無彩色下地になる。すなわちＲ１、Ｇ１、およびＢ１の値はそれぞれ近い値を持つことになる。
【００４７】
また本説明ではウィンドウの各ライン単位に下地か否かを判定しそのラインとその隣接を平滑化対象から除外する構成を説明したが、ライン単位ではなく画素単位で下地か否かの判定を行ってもよい。つまり、ステップＳ４０２からステップＳ４０５の処理は、ライン単位ではなく、画素単位で判定を行なってもよい。図１５は画素単位で下地か否かを判定する例を説明する図である。例えば図１５（ａ）に示すようにウィンドウ内の上下に下地画素が含まれる場合、その下地画素に上下方向に隣接していない中心部の非下地の画素を対象に平滑化を行うような構成でもよい。図１５（ａ）の例では、太線で示す、中央部の５つの非下地の画素を対象に平滑化が行なわれる。また必ずしも上下すべての位置に下地画素が存在していない場合にも平滑化を行うことが可能である。例えば図１５（ｂ）に示す場合、下地画素に隣接していない中心部の非下地画素８画素を対象にした平滑化を行うことができる。このように画素単位で下地か否かを判定することで、任意形状の有彩色カラーコンテンツの彩度低下抑制効果を出す事が可能である。なお、本実施形態ではウィンドウを制限する場合、注目画素を含む３×３の範囲内でウィンドウを制限する処理を行なうものとする。すなわち、基本的には３ラインから５ライン目の画素でウィンドウを制限する。なお、図１５（ｂ）の場合には、左側の画素については２ラインから４ライン目の画素を用いる例を示している。これは、非下地画素であることが明らかな画素、すなわち下地に隣接している画素ではない画素を用いる方が彩度低下抑制効果が出易いからである。なお、必ずしも３×３の範囲内にウィンドウを制限する必要はなく、例えば図１５（ｂ）の６ライン目の真ん中の画素（図示していないが非下地であるとする）も含めて平滑化を行なってもよい。
【００４８】
またウィンドウ内の画素値の平均を求める事で平滑化処理を行う例を説明したが、フィルタ処理を用いて例えばライン中心に重みを置いた平滑化フィルタを用いてもよい。その時先の下地部では重みを無くし、その隣接部に対しては重みを若干持たせるようなフィルタを用いてもよい。
また本説明では、上下部の下地ラインに隣接するラインを平滑化対象から除外する構成を説明したが、下地ラインに隣接するラインや、下地画素に隣接する画素も完全に除外することなく平滑化対象として重み付けを弱く反映させる事も可能である。例えば先の図１５（ａ）に対応した重みを図１６（ａ）に示す。図１６（ａ）では、図１５（ａ）の太線で示す中央部の非下地画素の重みを２、下地画素の重みを０としている。また、太線で示す中央部の非下地画素と上下部分の下地画素との間の画素の重みを中心部の非下地画素の重みの半分にしている。下地画素と中央部の非下地画素との間の画素は色ずれの影響を受けている可能性は否定できないものの、この画素の値を弱く反映させることで彩度低下の抑制効果が得られる。同様に図１５（ｂ）に対応した重みを図１６（ｂ）に示す。なお、図１６（ｂ）は、前述の３×３の範囲内にウィンドウを制限することを前提とした重みを示しているが、前述のとおり、このような重み付けでなくてもよい。例えば、６ライン目の真ん中の画素（ここでは非下地画素）や７ライン目の真ん中の画素（ここでは非下地画素）に２の重みをつけても良い。あるいは、ウィンドウの境界部分である７ライン目の真ん中の画素（ここでは非下地画素）には２ではなく１の重みをつけてもよい。このようにすることで下地、非下地の判定精度と彩度低下とのバランスを取ることが可能になる。また、本説明では、上下の両方のラインに下地がある場合に、ウィンドウを制限する例を説明したが、上下のいずれかのラインに下地がある場合にウィンドウを制限してもよい。また、ここでは、横３画素、縦７画素のウィンドウを用いて説明したが、この例に限られるものではない。ウィンドウで用いる画素の数の変動に応じて、前述の上下部の下地ラインの判定に用いるライン数なども変更することができる。また、ここでは矩形状のウィンドウを設定する例を説明したが、必ずしも矩形状でなくてもよい。
【００４９】
［有彩色判定部］
次に、有彩色判定部３０２の処理について説明する。平滑化部３０１で平滑化が行われた画像に対し、有彩色判定部３０２にて注目画素の彩度Ｓからその画素が高彩度画素か低彩度画素かあるいは無彩色画素かを判定し、その彩度判定結果を出力する。彩度Ｓは、例えば以下の式を用いて算出することが可能である。
Ｓ＝ＭＡＸ（Ｒ，Ｇ，Ｂ）−ＭＩＮ（Ｒ，Ｇ，Ｂ）    式（１）
ここで、ＭＡＸ（Ｒ，Ｇ，Ｂ）は、Ｒ、Ｇ、Ｂの各色の値の中の最大値を示し、ＭＩＮ（Ｒ，Ｇ，Ｂ）は、Ｒ、Ｇ，Ｂの各色の値の中の最低値を示す。この彩度Ｓに対して以下に示す閾値処理を行うことで高彩度画素か低彩度画素かあるいは無彩色画素かを判定する。
ｉｆ（Ｓ＜Ｔｈ１）  Ｔｈｅｎ  無彩色画素
ｅｌｓｅ  ｉｆ（Ｓ＜Ｔｈ２）  Ｔｈｅｎ  低彩度画素
ｅｌｓｅ  高彩度画素
ただし  Ｔｈ１  ＜  Ｔｈ２
【００５０】
［領域制限部］
次に、領域制限部３０３の処理について説明する。図６は領域制限部３０３によって制限される領域の例を示す図である。原稿の長さをｌｅｎｇｔｈとした時に、副走査方向の原点側からｓｐ０、ｓｐ１、ｌｅｎｇｔｈを設定する。これらの座標指定により原稿領域は図示するカラー／モノクロ判定有効領域とカラー／モノクロ判定無効領域とに分割することができる。領域制限部３０３は、具体的には有彩色判定部３０２の判定結果に対して、カラー／モノクロ判定無効領域の全ての画素については強制的に無彩色画素であると判定結果を置換える。これによりカラー／モノクロ判定有効領域の画素についてのみカラー／モノクロ判定処理を行うことができる。
【００５１】
なお、カラー／モノクロ判定無効領域は原稿の副走査方向先端領域と後端領域に限るものではなく、左右端領域が設定されてもよいし、原稿中の複数個所に設定されてもよい。
【００５２】
［カラーブロック判定部］
次に、カラーブロック判定部３０４の処理について説明する。カラーブロック判定部３０４は原稿２０４から得られるスキャン画像を図７に示すようなＭ×Ｎ（Ｍ、Ｎは整数）画素で構成されるブロック領域７０１に分割する。そして有彩色判定部３０２の結果を基に各ブロックがカラーブロックであるか否かを判定する。例えば６００ｄｐｉの画像読み取りをした場合、ブロックサイズを１６画素×１６画素にすると、１ブロックは３ｐｔ（Ａｍｅｒｉｃａｎ  ｐｏｉｎｔ：１ｐｔ≒０．３５ｍｍ）の文字の大きさに近しいサイズとすることができる。
【００５３】
図８はカラーブロック判定部３０４の動作を説明するフローチャートである。ステップＳ８０１においてカラーブロック判定部３０４は、まず処理対象となる注目ブロックを決定する。本実施形態では、最初の注目ブロックは主走査方向及び副走査方向の原点側にあるブロックであり、以降の処理を繰り返すたびに主走査方向へ移動し、それを副走査方向に繰り返す。そして最終ブロックは原稿右下のブロックとなる。
【００５４】
ステップＳ８０２においてカラーブロック判定部３０４は、ステップＳ８０１で決定した注目ブロック内の有彩色画素数と予め設定してある閾値Ｔｈ３とを比較する。このとき有彩色画素は低彩度画素数と高彩度画素数の総和でもよいし、例えば高彩度画素数に重み係数をかけて総和をとっても良い。
【００５５】
ステップＳ８０３においてカラーブロック判定部３０４は、ステップＳ８０２で有彩色画素数がＴｈ３より大きい場合はステップＳ８０１で決定した注目ブロックをカラーブロックであると判定する。ステップＳ８０４においてカラーブロック判定部３０４は、注目ブロックが最終ブロックではなかった場合、ステップＳ８０１に戻りカラーブロック判定を繰り返す。以上の動作をすることで、スキャン画像の全ブロックについて、カラーブロックであるか否かの判定ができる。
【００５６】
ここで原稿２０４中のカラーコンテンツとブロック領域の位相について説明する。例えば図９に示すようにカラーコンテンツの大きさがブロック領域の大きさに近い場合、カラーコンテンツとブロック領域との位相によってカラーブロック判定結果が大きく異なってしまうことがある。符号９０１のような位相関係にある場合、各ブロックの判定結果は符号９０２に示す通り全てカラーブロックであると判定できるので問題は生じない。しかしながら符号９０３のような位相関係にある場合は、各ブロックにおける有彩色画素の量は符号９０１の半分程度に減ってしまう。このため、カラーブロック判定部３０４の判定において閾値Ｔｈ３に満たずに符号９０４に示す通り全てカラーブロックではないという判定になってしまう場合がある。このようなカラーコンテンツとブロック領域の位相関係がカラーブロック判定結果に与える影響を低減するための方法について説明する。
【００５７】
図１０はＭ×Ｎ画素の注目ブロック領域について有彩色画素をカウントする領域を示すものである。第一の領域１００１すなわち注目ブロック領域における有彩色画素カウント数をＣｎｔ１とする。第二の領域１００２は主走査方向にＭ／２画素移動させたＭ×Ｎ画素領域である。第二の領域１００２における有彩色画素カウント数をＣｎｔ２とする。第三の領域１００３は副走査方向にＮ／２画素移動させたＭ×Ｎ画素領域である。第三の領域１００３における有彩色画素カウント数をＣｎｔ３とする。第四の領域１００４は主走査方向にＭ／２画素、副走査方向にＮ／２画素移動させたＭ×Ｎ画素領域である。第四の領域１００４における有彩色画素カウント数をＣｎｔ４とする。そして最終的な注目ブロック領域における有彩色カウント数Ｃｎｔは、式（２）に示すようにＣｎｔ１、Ｃｎｔ２、Ｃｎｔ３、Ｃｎｔ４のうちの最大値とする。
【００５８】
Ｃｎｔ＝ＭＡＸ（Ｃｎｔ１，Ｃｎｔ２，Ｃｎｔ３，Ｃｎｔ４）  式（２）
このようにすることで図９の符号９０３のような状況においても、カラーコンテンツとブロック領域の位相関係がカラーブロック判定結果に与える影響を低減し、図９の符号９０２に近い結果を得ることが可能となる。
【００５９】
［カラーブロックカウント部］
次に、カラーブロックカウント部３０５の処理について説明する。カラーブロックカウント部３０５はカラーブロック判定部３０４でカラーブロック判定したブロック領域の連続性を基に、カラーブロック塊を検出し、カラーブロック塊の数をカウントする。カラーブロック塊とは、いくつかのブロックを１つの集合体として捉えたものである。本実施形態では、カラーブロック塊が所定の配置パターンと合致している場合、そのカラーブロック塊の数をカウントアップする処理を行なう。
【００６０】
まずカラーブロック塊について図１１を用いて説明する。コンテンツ１１０１は、ブロック領域に対して大きなカラーコンテンツがある場合の例である。コンテンツ１１０１には、大きなカラーコンテンツである文字Ｔがブロック単位で区切られる例を示している。大きなカラーコンテンツである文字Ｔは、横３、縦３のブロックに対応するサイズのコンテンツである。カラーブロック判定結果１１０２は、このコンテンツ１１０１の各ブロックのカラーブロックの判定結果を示している。カラーブロック判定結果１１０２から分かるように、カラーコンテンツの形状によってはカラーブロックと判定されないブロック領域が存在している。
【００６１】
一方、コンテンツ１１０４は、ブロック領域に対して同等程度の小さなカラーコンテンツが並んでいる場合の例である。このコンテンツ１１０４は、「Ｐｈｏｎｅ」の文字の後に字下げがされた状態で数字が羅列されるコンテンツとなっている。カラーブロック判定結果１１０５は、このコンテンツ１１０４の各ブロックのカラーブロック判定結果を示している。カラーブロック判定結果１１０５から分かるように、カラーコンテンツの並び方によってはカラーブロック判定されないブロック領域が存在している。
【００６２】
つまり、カラーコンテンツの形状や並び方によっては、個々のブロック領域においてカラーブロックと判定されないブロック領域が存在する。本実施形態では、カラーブロック塊の数をカウントする際には、このようなカラーブロックと判定されないブロック領域の存在も考慮した処理を行なう。ここで、例えば領域１１０３や領域１１０６に示すように２×２ブロックのウィンドウ内で３つ以上カラーブロックが存在していれば、カラーブロック塊であると判定すると、これらのコンテンツをカラーブロック塊として検出することができる。しかしながら、カラーコンテンツの形状や並び方によっては、２×２ブロックのウィンドウ内で３つ以上カラーブロックが存在しない場合も考えられる。そこで、本実施形態では、様々なカラーコンテンツの形状や並び方を考慮してカラーブロック塊を検出する。例えば、大きなカラーコンテンツ１１０１に対して領域１１０７や領域１１０８をカラーブロック塊として検出できる。また、小さなカラーコンテンツ１１０４に対して領域１１０９をカラーブロック塊として検出することもできる。この場合は３×１ブロックのウィンドウや１×３ブロックのウィンドウ内で３つのカラーブロックが存在していることを示している。このように原稿２０４内のカラーコンテンツの大きさとブロック領域の大きさによって様々なカラーブロック塊があり得るので、その検出方法の例を以下に説明する。
【００６３】
図１２はカラーブロック塊検出パターンの例を示す図である。第一のカラーブロック塊検出パターン１２０１は２×２ブロックのウィンドウ内で３つ以上のカラーブロックが存在した時にカラーブロック塊が１つあったと検出するものである。第二のカラーブロック塊検出パターン１２０２は３×１ブロックのウィンドウ内で３つ以上のカラーブロックが存在した時にカラーブロック塊が１つあったと検出するものである。第三のカラーブロック塊検出パターン１２０３は１×３ブロックのウィンドウ内で３つ以上のカラーブロックが存在した時にカラーブロック塊が１つあったと検出するものである。第四のカラーブロック塊検出パターン１２０４は５×１ブロックのウィンドウ内で４つ以上のカラーブロックが存在した時にカラーブロック塊が１つあったと検出するものである。第五のカラーブロック塊検出パターン１２０５は１×５ブロックのウィンドウ内で４つ以上のカラーブロックが存在した時にカラーブロック塊が１つあったと検出するものである。
【００６４】
このように様々な検出パターンを用いると漏れなくカラーブロック塊を検出することができる。しかしながら、様々な検出パターンを用いると重複してカラーブロック塊を検出する場合も起こり得る。それぞれの塊の検出結果を重複してカウントしないようにするには以下のようにすればよい。まず、第一から第五までの順で検出パターンに優先度をつける。この場合第一のカラーブロック塊検出パターンが最も優先度が高い。そして、優先度の高いパターンでカラーブロックを検出してカウントした場合は優先度の低いパターンでカラーブロックを検出した際にカウントしないようにする。こうすることにより図１２のような検出パターンがあれば漏れなくカラーブロック塊を検出することができる。
【００６５】
より具体的なカラーブロック塊検出とカラーブロックカウントの例について図１３と図１４のフローチャートを用いて説明する。
【００６６】
ステップＳ１４０１においてカラーブロックカウント部３０５は、第一のカラーブロック塊検出パターンに一致するカラーブロック塊を検出するためにまずＫ＝１とする。なおＫはカラーブロック塊検出パターンを識別する変数であり、１から５の整数とする。このＫは図１２に示す第一から第五のカラーブロック塊検出パターンに対応している。以下の処理においてＫに応じてカラーブロック塊検出処理の対象となるブロックの扱いを切り替える。
【００６７】
ステップＳ１４０２においてカラーブロックカウント部３０５は、スキャン画像中のカラーブロックを所定領域で切り出した参照ウィンドウを設定する。本例では第四及び第五のカラーブロック塊を検出するために少なくとも５×５ブロック分の参照ウィンドウを設定するものとする。そして、参照ウィンドウごとにカラーブロック塊の数をカウントする。
【００６８】
ステップＳ１４０３においてカラーブロックカウント部３０５は、ステップＳ１４０２で設定した参照ウィンドウ内に第Ｋのカラーブロック塊があるかどうかを探索する。最初にステップＳ１４０３に入った場合には、第一のカラーブロック塊があるかどうかを探索することになる。参照ウィンドウ内に第Ｋのカラーブロック塊があった場合は、ステップＳ１４０４においてカラーブロックカウント部３０５は、カラーブロック塊カウンタであるＢｌｏｃｋＣｎｔをカウントアップする。そしてステップＳ１４０５において、カラーブロック塊としてカウントされたカラーブロックについてカラーブロックではないという情報に置き換える。すなわち、第Ｋのカラーブロック検出パターンと一致した参照ブロック内のカラーブロックを、カラーブロックではないという情報に置き換える。たとえば図１３のような配置でカラーブロックがあった場合を考える。なお、ここでは簡便のため３×３のブロックを示している。図１３には、第一のカラーブロック塊検出パターンに一致する領域１３０１と第二のカラーブロック塊検出パターンに一致する領域１３０２が存在している。この段階では第一のカラーブロック塊検出パターンによって領域１３０１がカラーブロック塊と判定されてカラーブロック塊カウンタがカウントアップされている。そこで、カラーブロックカウント部３０５は、符号１３０３に示すように、第一のカラーブロック塊検出パターンに一致した領域のブロックをカラーブロックではないという情報に置き換えるのである。例えば、第一のカラーブロック塊検出パターンに一致した領域のブロックをモノクロブロックの情報に置き換える。次の探索処理では、変更後の情報を用いてパターンマッチングが行なわれることになる。これにより第二のカラーブロック塊検出パターンに基づく探索をした際に同じブロックについてカラーブロック塊を重複してカウントしないようにできる。
【００６９】
ステップＳ１４０３からステップＳ１４０５の処理は、参照ウィンドウ内の全てのブロックを対象に繰り返し行なわれる。例えば、ステップＳ１４０２で設定された参照ウィンドウ内に複数の第Ｋのカラーブロック塊がある場合には、ステップＳ１４０４のカウントアップ処理と、ステップＳ１４０５のマスク処理とが複数のカラーブロック塊についてそれぞれ行なわれることになる。
【００７０】
ステップＳ１４０６においてカラーブロックカウント部３０５は、探索の済んだ参照ウィンドウが最終ウィンドウであるかを判定する。すなわち原稿２０４全体に対して第Ｋのカラーブロック塊の検出を実施したかを判定する。最終ウィンドウでない場合はステップＳ１４０２に移り、ウィンドウ位置を次の参照位置に設定する。最終ウィンドウである場合、ステップＳ１４０７に処理を進める。
【００７１】
ステップＳ１４０７においてカラーブロックカウント部３０５は、全てのパターンでカラーブロック塊を検出したかを判定する。すなわちこの例ではＫ＝５であるかを判定する。全てのパターンでカラーブロック塊を検出した場合はカラーブロックカウント動作を終了する。Ｓ１４０７で全てのパターンでカラーブロック塊を検出していないと判定した場合は、ステップＳ１４０８に進み、Ｋ＝Ｋ＋１とする。そしてステップＳ１４０２に移り、ウィンドウ位置を最初の参照位置に設定する。
【００７２】
これらの動作を繰り返すことで第一のカラーブロック塊検出パターンから第五のカラーブロック塊検出パターンに一致するカラーブロック塊を検出し、検出されたカラーブロック塊の合計値がＢｌｏｃｋＣｎｔとして計上される。また、優先度の高いパターンで既に検出されたカラーブロック塊を重複してカウントすることを回避することができる。
【００７３】
なお、本例では第一から第五までのカラーブロック塊検出パターンを用いる例を説明したが、これとは異なるパターンによる検出をしてもよいし、パターンの数も５つに限られたものではない。この場合、Ｋの設定範囲や参照ウィンドウの設定範囲等を適宜変更すればよい。
【００７４】
［カラー／モノクロ判定部］
次に、カラー／モノクロ判定部３０６の処理を説明する。カラー／モノクロ判定部３０６ではカラーブロックカウント部３０５によってカウントされたカラーブロック塊カウンタＢｌｏｃｋＣｎｔと閾値Ｔｈ４とを比較する。そして、閾値Ｔｈ４より多いカラーブロック塊があった場合にその原稿２０４をカラー原稿であると判定する。
【００７５】
本実施形態では、カラーブロックの単なる連続性に基づいてカラー／モノクロ判定を行なうのではなく、カラーブロックのパターンと所定のパターンとの一致度合いに基づいてカラー／モノクロ判定を行なう。従ってカラーコンテンツの形状や並び方などに応じてカラー／モノクロ判定の精度が低くなることを防ぐことができる。また、小ポイントの文字などの小さなカラーコンテンツの検出精度を高めることができる。また、原稿の用紙に含まれる不純物や読取装置の色ずれによるカラー原稿の誤判定を防ぐことができる。
【００７６】
＜その他の実施形態＞
前述の実施形態においては、フラットベッドタイプのスキャナで原稿を読取る例を説明したが、これに限られるものではなく、オートドキュメントフィーダ（ＡＤＦ）を用いる構成でもよい。ＡＤＦでは原稿がローラに挟まれて搬送される。この搬送におけるローラの受け渡し時において原稿が微妙にブレることで偽色が生じる可能性がある。従って、ＡＤＦを用いる場合には、ＡＤＦに対応したカラー／モノクロ判定無効領域を設定してもよい。
【００７７】
また、上記の実施形態では、感光ドラムが１つであり、この感光ドラムに対して各色のトナーが現像される例を説明したが、各色ごとに感光ドラムが設けられている印刷装置に対しても上記で説明したカラー／モノクロ判定処理を行なってもよい。
【００７８】
また、上記の実施形態では、所定パターンとのパターンマッチングによりカラーブロック塊の数をカウントアップする例を説明した。この手法によればカラーコンテンツの形状や並び方に拠らずにモノクロ／カラー判定ができるので好ましい。しかしながら、本発明は上記の実施形態に限定されるものではない。なぜならば、平滑化部３０１による平滑化処理において色ズレやノイズを低減することができるので、これらに起因する誤判定を防ぐことができるからである。従って、例えば、カラーブロックカウント部３０５は、カラーブロックの連続する数をカウントし、カラー／モノクロ判定部３０６は、カウントした数が所定の閾値よりも大きい場合にそのスキャン画像がカラーであると判定するような形態であってもよい。
【００７９】
また、上記の実施形態では、カラーブロックを用いる例を説明したが、スキャン画像に含まれるカラー画素の数が所定の閾値を超えている場合にそのスキャン画像はカラーであると判定するような形態であってもよい。また、スキャン画像に含まれるカラー画素の連続性に基づいて、連続性のあるカラー画素群の数が所定の閾値を越えている場合に、そのスキャン画像はカラーであると判定するような形態であってもよい。
【００８０】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８１】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【図１】
0006001010.tif 000002
【図２】
0006001010.tif 000003
【図３】
0006001010.tif 000004
【図４】
0006001010.tif 000005
【図５】
0006001010.tif 000006
【図６】
0006001010.tif 000007
【図７】
0006001010.tif 000008
【図８】
0006001010.tif 000009
【図９】
0006001010.tif 000010
【図１０】
0006001010.tif 000011
【図１１】
0006001010.tif 000012
【図１２】
0006001010.tif 000013
【図１３】
0006001010.tif 000014
【図１４】
0006001010.tif 000015
【図１５】
0006001010.tif 000016
【図１６】
0006001010.tif 000017