(57)【特許請求の範囲】
【請求項１】
文書画像を所定の画素数のブロック画像に分割し、当該分割後のブロック画像の属性が文字であるか判定する画像処理装置であって、
前記ブロック画像を平滑化することにより平滑後ブロック画像を生成する平滑化手段と、
前記平滑後ブロック画像の色分布特徴量を取得する色分布取得手段と、
前記ブロック画像のエッジ特徴量を取得するエッジ取得手段と、
前記色分布取得手段により取得された色分布特徴量に基づいて、前記ブロック画像の属性が信頼度の高い文字であるか判定する色分布判定手段と、
前記エッジ取得手段により取得されたエッジ特徴量に基づいて、前記ブロック画像の属性が文字であるか判定するエッジ判定手段と、
前記色分布判定手段で前記ブロック画像の属性が信頼度の高い文字であると判定した場合、前記ブロック画像の属性を文字と決定し、前記色分布判定手段で前記ブロック画像の属性が信頼度の高い文字でないと判定した場合、前記ブロック画像の属性を前記エッジ判定手段による判定結果に決定する決定手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記決定手段は、前記色分布判定手段で前記ブロック画像の属性が信頼度の高い文字であると判定した場合、前記ブロック画像の属性を文字と決定し、前記色分布判定手段による判定で前記ブロック画像の属性が信頼度の低い文字であると判定した場合、前記ブロック画像の属性を前記エッジ判定手段による判定結果に決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
文書画像を所定の画素数のブロック画像に分割し、当該分割後のブロック画像の属性が所定の属性であるか判定する画像処理装置であって、
前記ブロック画像を平滑化することにより平滑後ブロック画像を生成する平滑化手段と、
前記平滑後ブロック画像の色分布特徴量を取得する色分布取得手段と、
前記ブロック画像のエッジ特徴量を取得するエッジ取得手段と、
前記エッジ取得手段により取得されたエッジ特徴量に基づいて、前記ブロック画像の属性が信頼度の高い前記所定の属性であるか判定するエッジ判定手段と、
前記色分布取得手段により取得された色分布特徴量に基づいて、前記ブロック画像の属性が前記所定の属性であるか判定する色分布判定手段と、
前記エッジ判定手段で前記ブロック画像の属性が信頼度の高い前記所定の属性と判定した場合、前記ブロック画像の属性を前記所定の属性であると決定し、前記エッジ判定手段で前記ブロック画像の属性が信頼度の高い前記所定の属性でないと判定した場合、前記ブロック画像の属性を前記色分布判定手段による判定結果に決定する決定手段と、
を有することを特徴とする画像処理装置。
【請求項４】
前記決定手段は、前記エッジ判定手段で前記ブロック画像の属性が信頼度の高い前記所定の属性であると判定した場合、前記ブロック画像の属性を前記所定の属性であると決定し、前記エッジ判定手段で前記ブロック画像の属性が信頼度の低い前記所定の属性であると判定した場合、前記ブロック画像の属性を前記色分布判定手段による判定結果に決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記色分布取得手段は、前記色分布特徴量をカラーヒストグラムから取得することを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記カラーヒストグラムは、少なくとも明度及び色相に基づいて色空間を分割した各ビンに属する画素数をとる頻度分布であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
文書画像を所定の画素数のブロック画像に分割し、分割後のブロック画像の属性が文字であるか判定する画像処理方法であって、
平滑化手段が、前記ブロック画像が平滑化された平滑後ブロック画像を生成する平滑化工程と、
色分布取得手段が、前記平滑後ブロック画像の色分布特徴量を取得する色分布取得工程と、
エッジ取得手段が、前記ブロック画像のエッジ特徴量を取得するエッジ取得工程と、
色分布判定手段が、前記色分布取得工程により取得された色分布特徴量に基づいて、前記ブロック画像の属性が信頼度の高い文字であるか判定する色分布判定工程と、
エッジ判定手段が、前記エッジ取得工程により取得されたエッジ特徴量に基づいて、前記ブロック画像の属性が文字であるか判定するエッジ判定工程と、
決定手段が、前記色分布判定工程により前記ブロック画像の属性が信頼度の高い文字であると判定した場合、前記ブロック画像の属性を文字と決定し、前記色分布判定工程により前記ブロック画像の属性が信頼度の高い文字でないと判定した場合、前記ブロック画像の属性を前記エッジ判定工程による判定結果に決定する決定工程と、
を有することを特徴とする画像処理方法。
【請求項８】
文書画像を所定の画素数のブロック画像に分割し、分割後のブロック画像の属性が所定の属性であるか判定する画像処理方法であって、
平滑化手段が、前記ブロック画像が平滑化された平滑後ブロック画像を生成する平滑化工程と、
色分布取得手段が、前記平滑後ブロック画像の色分布特徴量を取得する色分布取得工程と、
エッジ取得手段が、前記ブロック画像のエッジ特徴量を取得するエッジ取得工程と、
エッジ判定手段が、前記エッジ取得工程により取得されたエッジ特徴量に基づいて、前記ブロック画像の属性が信頼度の高い前記所定の属性であるか判定するエッジ判定工程と、
色分布判定手段が、前記色分布取得工程により取得された色分布特徴量に基づいて、前記ブロック画像の属性が前記所定の属性であるか判定する色分布判定工程と、
決定手段が、前記エッジ判定工程により前記ブロック画像の属性が信頼度の高い前記所定の属性であると判定された場合、前記ブロック画像の属性を前記所定の属性であると決定し、前記エッジ判定工程により前記ブロック画像の属性が信頼度の高い前記所定の属性でないと判定された場合、前記ブロック画像の属性を前記色分布判定工程による判定結果に決定する決定工程と、
を有することを特徴とする画像処理方法。
【請求項９】
請求項１乃至６の何れか１項に記載の各手段として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、そのプログラム、プログラムを格納する記憶媒体に関するものである。
【背景技術】
【０００２】
一般に、デジタル複合機等において読み取られる原稿は、文字原稿、写真原稿及び網点印刷原稿の３種類に大別される。網点印刷原稿は、階調のある画像を細かいドットの集合体に分解し、そのドットの単位面積当たりの大きさ、即ち、単位面積当たりの平均濃度で擬似的に階調を表現するものである。これらの原稿、あるいは、これらの混在原稿をスキャンした場合、文字や網点や写真等を識別して、夫々の領域に適した処理を施すことが行われる。文字領域に対しては、解像度を重視した処理を施し、文字認識や文字ベクトル化処理を行うことが行われ、網点、写真領域に対しては、階調性を重視した処理を施し、画質の向上を図ることが行われている。そのため、文字や網点等を高い精度を持って識別できることが必要とされる。
【０００３】
文字や網点等の識別に、原稿画像の色情報による判定及びエッジ情報による判定を用いて、総合的に行う方式がある。特許文献１には、原稿画像を所定画素数から成るブロックに分割し、ブロック内にエッジが存在するか、及び、ブロックに限定色が存在するか、をそれぞれ判定する。そして、エッジが存在し且つ限定色が存在するブロックを文字ブロックと判定し、それ以外は非文字ブロックと判定する処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−３２８１４３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示される、色情報による文字や網点等の判定とエッジ情報による文字や網点等の判定とを両方組み合わせて判定する方式では、色情報による領域の判定結果とエッジ情報による領域属性の判定結果が違う場合に、領域属性の誤判定が生じやすい。その結果、適切な画像処理を施すことができず、画像処理した画質が劣化してしまい、文字が欠けてしまう。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、文書画像を所定の画素数のブロック画像に分割し、当該分割後のブロック画像の属性が文字であるか判定する画像処理装置であって、前記ブロック画像を平滑化することにより平滑後ブロック画像を生成する平滑化手段と、前記平滑後ブロック画像の色分布特徴量を取得する色分布取得手段と、前記ブロック画像のエッジ特徴量を取得するエッジ取得手段と、前記色分布取得手段により取得された色分布特徴量に基づいて、前記ブロック画像の属性が信頼度の高い文字であるか判定する色分布判定手段と、前記エッジ取得手段により取得されたエッジ特徴量に基づいて、前記ブロック画像の属性が文字であるか判定するエッジ判定手段と、前記色分布判定手段で前記ブロック画像の属性が信頼度の高い文字であると判定した場合、前記ブロック画像の属性を文字と決定し、前記色分布判定手段で前記ブロック画像の属性が信頼度の高い文字でないと判定した場合、前記ブロック画像の属性を前記エッジ判定手段による判定結果に決定する決定手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数の判定基準を用いたブロック画像の属性の判定の精度を上げることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明におけるデジタル複合機（ＭＦＰ）の主要部構成を例示するブロック図である。
【図２】本発明の実施例１に係る画像処理装置の機能構成を例示するブロック図である。
【図３】実施例１における色情報による文字ブロックの判定処理を説明するためのフローチャートである。
【図４】実施例１における色分布図の一例を示す図である。
【図５】実施例１における色情報による信頼度の高い文字ブロックの判定処理を説明するためのフローチャートである。
【図６】実施例１における信頼度の高い文字ブロックの色分布図の一例を示す図である。
【図７】実施例１におけるエッジ情報による文字ブロックの判定処理を説明するためのフローチャートである。
【図８】実施例１における文字ブロックと網点ブロックのエッジ特徴の一例を示す図である
【図９】実施例１における代表色選択処理を説明するためのフローチャートである。
【図１０】実施例２におけるブロック属性の決定処理を説明するためのフローチャートである。
【図１１】実施例２に係る画像処理装置の機能構成を示すブロック図である。
【図１２】実施例２におけるエッジ情報による信頼度の高い文字ブロックの判定処理を説明するためのフローチャートである。
【図１３】実施例２における信頼度の高い文字ブロックのエッジ特徴の一例を示す図である。
【図１４】実施例３における色分布情報による文字ブロックの判定処理を説明するためのフローチャートである。
【図１５】実施例４におけるブロック属性の決定処理を説明するためのフローチャートである。
【図１６】実施例５におけるエッジ情報による信頼度の高い網点ブロックの判定処理を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明に係る画像処理装置を用いた判定処理について説明する。ただし、この実施の形態に記載されている構成要素は例示であり、本発明の技術的範囲は、以下の個別の実施例によって限定されない。
【００１０】
（実施例１）
図１は、本発明におけるデジタル複合機（ＭＦＰ）の主要部構成を例示するブロック図である。尚、本実施例では、画像処理装置として、スキャナ機能やプリンタ機能を有するデジタル複合機（ＭＦＰ）を用いているが、汎用のスキャナとパーソナルコンピュータとを接続したシステムを当該画像処理装置として用いてもよい。
【００１１】
図１に示すように、ＭＦＰは、画像処理装置の制御手段として機能するコントローラユニット２０００を備えている。コントローラユニット２０００は、画像入力デバイスであるスキャナ２０７０や画像出力デバイスであるプリンタ２０９５と、デバイスインタフェース（Ｉ／Ｆ）を介して接続する。そして、コントローラユニット２０００は、スキャナ２０７０で原稿画像から読み取られた画像データをプリンタ２０９５によって印刷出力するコピー機能を実現するための制御を行うことが可能である。また、コントローラユニット２０００は、ＬＡＮ１００６や公衆回線（ＷＡＮ）１００８を介して他装置との間で画像データやデバイス情報等の入出力を行うための制御を行うことが可能である。
【００１２】
コントローラユニット２０００は、図１に示すように、ＣＰＵ２００１を有している。ＣＰＵ２００１は、ＲＯＭ２００３に格納されているブートプログラムによりオペレーションシステム（ＯＳ）を立ち上げる。そして、このＯＳ上でＨＤＤ（ハードディスクドライブ）２００４に格納されているアプリケーションプログラムを実行することによって各種処理を実行する。ＣＰＵ２００１の作業領域として、ＲＡＭ２００２が用いられる。ＲＡＭ２００２はまた、ＣＰＵ２００１の作業領域だけでなく、画像データを一時記憶するための画像メモリ領域をも提供する。ＨＤＤ２００４は、上記アプリケーションプログラム及び画像データを格納する。
【００１３】
後述する図２のブロック入力部１０１から色量子化部１０７までの各処理部は、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。また、このアプリケーションプログラムは、ＣＰＵ２００１によって実行されることで、図３、図５、図７、図９、図１０、図１２、図１４、図１５、図１６に示す各フローチャートの処理を実現する。
【００１４】
ＣＰＵ２００１には、システムバス２００７を介して、ＲＯＭ２００３やＲＡＭ２００２が接続している。ＣＰＵ２００１には、操作部Ｉ／Ｆ（インタフェース）２００６、ネットワークＩ／Ｆ（インタフェース）２０１０、モデム２０５０及びイメージバスＩ／Ｆ（インタフェース）２００５が接続されている。
【００１５】
操作部Ｉ／Ｆ２００６は、タッチパネルを有する操作部２０１２とのインタフェースであり、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部Ｉ／Ｆ２００６は、操作部２０１２においてユーザにより入力された情報をＣＰＵ２００１に送出する。
【００１６】
また、ネットワークＩ／Ｆ２０１０は、ＬＡＮ１００６に接続され、ＬＡＮ１００６を介してＬＡＮ１００６に接続された各装置との間で情報の入出力を行う。モデム２０５０は、公衆回線１００８に接続し、公衆回線１００８を介して他装置との間で情報の入出力を行う。
【００１７】
イメージバスＩ／Ｆ２００５は、システムバス２００７と画像データを高速で転送する画像バス２００８とを接続し、データ構造を変換するためのバスブリッジである。画像バス２００８は、ＰＣＩバス又はＩＥＥＥ１３９４から構成される。画像バス２００８上には、ラスタイメージプロセッサ（ＲＩＰ）２０６０、デバイスＩ／Ｆ２０２０、スキャナ画像処理部２０８０、プリンタ画像処理部２０９０、画像回転部２０３０、及び画像圧縮部２０４０が設けられている。
【００１８】
ＲＩＰ２０６０は、ＰＤＬコードをビットマップイメージに展開するハードウェア回路である。デバイスＩ／Ｆ２０２０には、スキャナ２０７０及びプリンタ２０９５が接続され、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２０８０は、入力画像データに対して補正、加工、編集処理を行うハードウェア回路である。プリンタ画像処理部２０９０は、プリント出力画像データに対してプリンタの補正、解像度変換等を行うハードウェア回路である。画像回転部２０３０は、画像データの回転を行うハードウェア回路である。画像圧縮部２０４０は、多値画像データをＪＰＥＧデータに、ニ値画像データをＪＢＩＧ、ＭＭＲ、ＭＨ等のデータに圧縮するとともに、その伸長処理も行うハードウェア回路である。以上説明した、ＲＩＰ２０６０、スキャナ画像処理部２０８０、プリンタ画像処理部２０９０、画像回転部２０３０、画像圧縮部２０４０の各処理部は、ハードウェア回路によって構成されている。しかし、これらの機能を実現するプログラムをＣＰＵが実行することでＣＰＵを各処理部として機能させてもよい。この場合、例えば、これらの機能を実現するためのプログラムを格納するＲＯＭ、各プログラムをロード、展開するためのＲＡＭ、ＲＡＭ上に展開されたプログラムを実行するＣＰＵ、をコントローラユニット２０００内に別個に設ければよい。
【００１９】
図２は、本発明の実施例に係る画像処理装置の構成を示すブロック図である。
【００２０】
ブロック入力部１０１は、例えばスキャナ２０７０等の画像読み取り手段を介して読み取った原稿画像の、所定数の画素からなるブロックに分割された画像データ（ブロック画像）を平滑化処理部１０２及びエッジ解析部１０４に入力する。
【００２１】
平滑化処理部１０２は、ブロック入力部１０１からのブロック画像を平滑化処理する。平滑化処理は、ブロック画像にある画素毎の細かい変化を少なくし、網点パターンを潰して色情報の解析をしやすくするための処理である。平滑化処理は、公知のローパスフィルタや移動平均フィルタやエッジ保持型平滑フィルタ等を利用することで実現可能である。また、平滑化処理により網点で構成された中間調文字・インク混色文字等の文字色の解析もしやすくなる。
【００２２】
色分布解析部１０３は、平滑処理部１０２により処理された平滑後のブロック画像の画素の出現色の分布を解析し、ブロック属性を判定する。この色分布解析処理の詳細について図３を用いて後述する。
【００２３】
エッジ解析部１０４は、ブロック入力部１０１からのブロック画像からエッジ情報を解析し、ブロック属性を判定する。このエッジ解析処理の詳細について図７を用いて後述する。
【００２４】
ブロック属性決定部１０５は、色分布解析部１０３及びエッジ解析部１０４のブロック画像の属性についての判定結果に基づいて、ブロック画像が文字ブロックか非文字ブロックかを決定する。色分布解析部１０３で処理対象のブロック画像が信頼度の高い文字と判定された場合、ブロック属性決定部１０５は、当該ブロック画像を文字ブロックと決定する。色分布解析部１０３でブロック画像が信頼度の高い文字と判定されなかった場合、ブロック属性決定部１０５は、エッジ解析部１０４での判定結果に基づいて、この処理対象のブロック画像が文字ブロックか非文字ブロックかを決める。
【００２５】
代表色選択部１０６は、ブロック属性決定部１０５によって決定された属性に基づいて、当該ブロック画像の主要色を決める。この代表色選択処理の詳細について図９を用いて後述する。
【００２６】
色量子化部１０７は、代表色選択部１０６によって決定された主要色に基づいて、当該ブロック画像にある各画素に割り当てる色を決定する。この色量子化処理の詳細について図９を用いて後述する。
【００２７】
以上の色量子化部１０７までの処理を施されたブロック画像単位の処理結果を使い、ブロック画像毎に画像処理の切り替えを行うことが可能となる。例えば、文字ブロックの文字画素をエッジ強調したり、非文字ブロックにある画素を平滑化したりする。また、ブロック画像単位の処理結果及びブロック画像間の情報を使い、文字画素を繋げ、文字単位に分離し、文字認識や文字輪郭ベクトル化することも可能である。
【００２８】
＜色分布解析処理＞
本実施例における色分布解析部１０３の色分布解析処理による信頼度の高い文字ブロックの判定処理の詳細について、図３を参照して説明する。以下説明するステップＳ５１〜Ｓ５４の処理は、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【００２９】
まず、ステップＳ５１で、色分布解析部１０３は、平滑化処理部１０２の出力する平滑処理後のブロック画像を取得する。
【００３０】
次に、ステップＳ５２で、色分布解析部１０３は、取得したブロック画像を、ＲＧＢ色空間から明度、色相の表現が出来る色空間、例えば、ＨＳＶ色空間、に変換する。
【００３１】
次に、ステップＳ５３で、色分布解析部１０３は、平滑後のブロック画像にある各画素の明度値、色相値を色分布図（カラーヒストグラム）に配置して色情報を得る。図４は、色分布の一例を示す２次元カラーヒストグラムの図である。横軸に明度、縦軸に色相で、明度の可能な数値範囲、色相の可能な数値範囲をそれぞれＭ等分、Ｎ等分する。ここで、Ｍは８、Ｎは５とした例が示されているが、色分布が分かる程度の他の数字でも構わなく、後述するステップＳ５４での文字ブロック判定に適当な粒度であればよい。また、カラーヒストグラムは、色相、明度の各数値範囲を等分ではない分割によっても良い。以後、このように色空間を分割した分割後の範囲（図４の各マス目に対応する範囲）をビンと呼ぶ。各ビンに配置される画素は、各ビンに対応した一定数値範囲内の明度値、色相値を持つ。図４の例において、斜線部分のビンに画素が配置されており、配置された画素はそのビンの明度範囲、色相範囲に含まれていることを示す。このように色分布を求めることで、ブロック画像にある画素の明度範囲、即ち、明度の差、または、画素の色範囲、即ち、色相の差が分かる。なお、ビンは明度及び色相の数値範囲に基づき色空間を分割して形成されるとしたが、カラーヒストグラムを得るための色空間の分割の仕方はこれに限らない。例えば、ＨＳＶ色空間であれば彩度も用いてビンを形成しても良い。
【００３２】
次に、ステップＳ５４で、色分布解析部１０３は、色情報により処理対象であるブロック画像が信頼度の高い文字ブロックであるかを判定する。この文字判定処理について、図５のフローチャートを参照して説明する。以下説明するステップＳ５４０１〜Ｓ５４０８の処理は、ＣＰＵ２００１がＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【００３３】
ステップＳ５４０１で、色分布解析部１０３は、ステップＳ５３で求めた処理対象であるブロック画像の色分布図を取得する。ステップＳ５４０２で、色分布解析部１０３は、色相の範囲が異なるビンがあるかを判断する。色相の範囲が異なるビンがあると判断されれば、処理はステップＳ５４０４へ移行する。ステップＳ５４０４で、色分布解析部１０３は、当該ブロック画像が信頼度の高い文字ブロックであると判定する。ステップＳ５４０２で二つ以上の色相のビンがあると判断されなければ、処理はステップＳ５４０３へ移行する。
【００３４】
ステップＳ５４０３で、色分布解析部１０３は、ステップＳ５３で求めた色分布図の明度軸方向において、ビン間の距離が所定の距離以上離れているかを判断する。このビン間の距離が所定の距離以上離れていると判断されれば、処理はステップＳ５４０４へ移行する。このビン間の距離が所定の距離以上離れていると判断されなければ、処理はステップＳ５４０５へ移行する。ステップＳ５４０５で、色分布解析部１０３は、各ビン内で平均色相値を求め、各平均色相値の差が所定の色相差閾値以上であるかを判断する。平均色相値の差が所定の色相差閾値以上であると判断されれば、処理はステップＳ５４０７へ移行する。平均色相値の差が所定の色相差閾値以上であると判断されなければ、処理はステップＳ５４０６へ移行する。ステップＳ５４０７で、色分布解析部１０３は、当該ブロック画像を信頼度の低い文字ブロックと判定する。
【００３５】
ステップＳ５４０６で、色分布解析部１０３は、各ビン内で平均明度値を求め、各平均明度値の差が所定の明度差閾値以上であるかどうかを判断する。平均明度値の差が所定の明度差閾値以上であると判断されれば、処理は、ステップＳ５４０７へ移行する。平均明度値の差が所定の明度差閾値以上であると判断されなければ、処理は、ステップＳ５４０８へ移行する。ステップＳ５４０８で、色分布解析部１０３は、処理対象のブロック画像を判定不能ブロックと判定する。
【００３６】
＜色分布解析処理による文字ブロック判定の例＞
図６は、実施例１における色分布解析処理による文字ブロック判定の一例を示す図である。図６（ａ）はステップＳ５４０２の判断結果が「Ｙｅｓ」となる場合の色分布図を示すものである。この色分布図は色相の範囲が異なるビンがある色分布図を示すもので、網点画素と文字画素の色相が異なっている例である。図６（ｂ）はステップＳ５４０３の判断結果が「Ｙｅｓ」となる色分布図を示すものである。この色分布図は明度軸方向でのビン間の距離が所定の距離以上離れている色分布図を示すもので、網点画素と文字画素の色相の差がほぼない（同じ色相範囲内にある）が、網点画素と文字画素の明度の差が大きい色分布図を示すものである。図６（ｃ）はステップＳ５４０５の判断結果が「Ｙｅｓ」となる色分布図を示すものである。この色分布図は、２つあるビンは色相範囲が等しく且つ明度軸方向におけるビン間の距離が所定の距離よりも近いが、各ビンの平均色相値の差が所定の色相差閾値よりも大きい色分布を示す。図６（ｄ）はステップＳ５４０６の判断結果が「Ｙｅｓ」となる色分布図を示すものである。この色分布図は、２つあるビンは色相範囲が等しく、且つ、明度軸方向におけるビン間の距離が所定の距離よりも近く、且つ、各ビンの平均色相値の差が所定の色相差閾値以下であるが、各ビンの平均明度値の差が所定の明度差閾値値よりも大きい色分布図を示す。
【００３７】
図６（ａ）、（ｂ）のような色分布図となるブロック画像は、信頼度の高い文字ブロックであり、色分布解析処理の判定結果のみからでもブロック画像の属性を決定できるものである。図６（ｃ）、（ｄ）のような色分布図となるブロック画像は、信頼度の低い文字ブロックであり、色分布解析処理の判定結果のみからではブロック画像の属性を決定できず、後述するエッジ解析処理の判定結果も利用してブロック画像の属性を決定すべきものである。
【００３８】
つまり、前述したように、色情報だけでは文字か網点の判定が難しい領域、特に、網点と近い色（明度及び色相）を持つ文字領域は、誤判定が生じかねない。従って、この実施例では、色情報により文字ブロックと判定できるところ（信頼度の高い文字ブロック）を文字と判定し、色情報により文字ブロックか網点ブロックかを確定できないところ（信頼度の低い文字ブロック、判定不能ブロック）を更にエッジ解析処理により判定する。
【００３９】
また、前述したように、明度が低く、濃度が高い網点にある文字領域は、エッジ情報だけでは文字か網点の判断が難しいが、文字と網点は色が違うので、色情報により文字ブロックと判定可能である。
【００４０】
＜エッジ解析処理＞
エッジ解析処理による文字ブロック／非文字ブロックの判定処理は、文字領域にある程度強いエッジを持つ画素があり、また、強いエッジ画素がある程度連結しているという特徴に基づくものである。この実施例１における判定処理の詳細について、図７を参照して説明する。以下説明するステップＳ９０１〜Ｓ９０７の処理は、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。エッジ解析部１０４によって実行される。
【００４１】
まず、ステップＳ９０１で、エッジ解析部１０４は、ブロック入力部１０１ブロック画像からエッジを抽出する。エッジ抽出は、エッジ強度を示す微分データを生成する処理で、公知のＰｒｅｗｉｔｔフィルタ等を利用することで実現可能である。また、エッジの分布状態に基づいて網点と文字とを区別できる特徴を求めるため、エッジ抽出は網点をつぶす処理（平滑化処理）を行う前のブロック画像を使う。
【００４２】
次に、ステップＳ９０２で、エッジ解析部１０４は、エッジ特徴量を計算する。ここで、エッジ特徴量として、強エッジ画素数と連結エッジ画素数を求める。強エッジ画素数は、ブロック画像内に強いエッジを持つ画素はどれぐらいあるかを表す特徴量であり、所定のエッジ強度閾値以上のエッジ画素の数をカウントしたものである。連結エッジ画素数は、強いエッジ画素がどの程度連結しているかを表す特徴量であり、強エッジ画素どうしが互いに隣接して連結している強エッジ画素の数をカウントしたものである。なお、連結エッジ画素数は、エッジ画素の連結単位ごとに算出される。
【００４３】
次に、エッジ特徴量に基づき、ステップＳ９０３からステップＳ９０７では、ブロックは文字ブロックか非文字ブロックかを判定する。
【００４４】
ステップＳ９０３で、エッジ解析部１０４は、エッジ強度の強い画素数は所定の閾値１以上であるかを判断する。エッジ強度の強い画素数が所定の閾値１以上ではないと判断された場合、処理がステップＳ９０７へ移行し、エッジ解析部１０４は、ブロック画像を非文字ブロックと判定する。エッジ強度の強い画素数が所定の閾値１以上であると判断された場合、処理はステップＳ９０４へ進む。エッジ強度の弱いパターンの網点領域には、エッジ強度の強い画素が非常に少ないという特徴があるので、閾値１は低い数値に設定されている。
【００４５】
ステップＳ９０４で、エッジ解析部１０４は、エッジ強度の強い画素数が所定の閾値２以下であるかを判断する。エッジ強度の強い画素数が所定の閾値２以下ではないと判断された場合、処理がステップＳ９０７へ移行し、エッジ解析部１０４は、ブロック画像を非文字ブロックと判定する。エッジ強度の強い画素数が所定の閾値２以下であると判断された場合、処理はステップＳ９０５へ進む。エッジ強度の強いパターンの網点領域には、エッジ強度の強い画素が非常に多いという特徴を利用があるので、閾値２は高い数値に設定されている。
【００４６】
ステップＳ９０５で、エッジ解析部１０４は、連結エッジ画素数が所定の閾値３以上であるかを判断する。連結エッジ画素数が所定の閾値３以上のものがあれば、ステップＳ９０６では処理対象のブロック画像を文字ブロックと判定し、そうでなければ、非文字ブロックと判定する。ここで、文字部分は強エッジがある程度互いに隣接して連結しているという特徴を利用するので、閾値３を中間数値に設定する。
【００４７】
＜エッジ解析処理の例＞
図８は、実施例１の画像処理において網点領域と文字領域のエッジ特徴の例を示す図である。図８（ａ）のような網点と違う色の文字例１では、文字ブロック（黒文字ブロック）に強いエッジを持つ画素が多数あり、エッジ画素が連続である一方、網点ブロック（黄色網点ブロック）に強いエッジを持つ画素がない。網点濃度、網点色、文字色によっては、強いエッジを持つ画素が多い網点ブロックもある。しかし、網点ブロックには連結エッジ画素の数が少ないため、エッジ特徴の違いにより、文字ブロックと網点ブロックの区別が出来る。
【００４８】
また、図８（ｂ）のような網点と同色の文字例２では、網点ブロックは文字ブロックと同程度に強いエッジの画素がある。しかし、文字ブロックのエッジ画素は連続するものがあるのに対して、網点ブロックのエッジ画素は連続するものが少ない。そのため、色分布で区別出来ない文字ブロックと網点ブロックは、エッジ解析により区別できる。
【００４９】
＜ブロック属性決定＞
実施例１におけるブロック属性決定処理の詳細について説明する。
【００５０】
色分布解析処理にてブロック画像を信頼度の高い文字と判定された場合、ブロック属性決定部１０５は、当該ブロック画像を文字ブロックと決定する。色分布解析処理にてブロック画像を信頼度の高い文字ブロックと判定できない場合、ブロック属性決定部１０５は、エッジ解析処理の結果により文字ブロックかが決定される。この際に、エッジ解析処理にてブロック画像が文字ブロックと判断すれば、ブロック属性決定処部１０５は、当該ブロックを文字ブロックと決定する。また、エッジ解析処理にてブロック画像が非文字ブロックと判断されれば、ブロック属性決定部１０５は、当該ブロック画像を非文字ブロックと決定する。
【００５１】
＜代表色選択及び色量子化＞
実施例１における代表色選択部１０６による代表色選択処理の詳細について、図９を参照して説明する。以下で説明するステップＳ１１０１〜Ｓ１１０６の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【００５２】
ステップＳ１１０１で、代表色選択部１０６は、色分布解析部１０３による色分布解析処理で求めた処理対象のブロック画像の色分布図及び各ビンにある画素数の情報、また、ブロック属性決定部１０５によるブロック画像の属性の判定結果を取得する。ステップＳ１１０２以下の処理で、属性が文字ブロックである画像ブロックは文字部分の色と背景部分の色が決定され、非文字ブロックの属性を持つ画像ブロックは背景の色が決定される。
【００５３】
ステップＳ１１０２で、代表色選択部１０６は、ステップＳ１１０１で取得した色分布図及びこの色分布図の各ビンについて画素数が一番多いビンの色（例えばこのビンに含まれる画素の平均色）を代表色１にする。
【００５４】
ステップＳ１１０３で、代表色選択部１０６は、処理対象のブロック画像が文字ブロックと決定されているかを判断する。文字ブロックと決定されていない（非文字ブロックと決定されている）と判断される場合、ステップＳ１１０２で決めた代表色１を代表色として出力する。また、文字ブロックと決定されていると判断された場合、さらにステップＳ１１０４からＳ１１０６で、もう１つの代表色を選択する。
【００５５】
ステップＳ１１０４で、代表色選択部１０６は、取得した色分布図において代表色１と色相の範囲の異なるビンがあるかを判断する。代表色１と色相の範囲の異なるビンがあると判断された場合、ステップＳ１１０５で、代表色選択部１０６は、代表色１から色相が一番遠いビンの色（例えばこのビンに含まれる画素の平均色）を代表色２にする。ステップＳ１１０４にて代表色１と色相の範囲が異なるビンがないと判断された場合、ステップＳ１１０６で、代表色選択部１０６は、代表色１から明度が一番離れるビンの色（例えばこのビンに含まれる画素の平均色）を代表色２にする。なお、本発明の代表色選択処理は上記実施例に限られるものではない。
【００５６】
色量子化部１０７による色量子化処理では、文字ブロックにある各画素に対して、当該画素の色と最も近い色を代表色の中から選択し、割り当てる。一方、非文字ブロックにある全ての画素に対して、同じ代表色を割り当てる。
【００５７】
本実施例は、文字ブロックと非文字ブロックを判定するものである。処理対象は網点印刷原稿である場合は、非文字ブロックは網点ブロックになるが、処理対象は文字原稿、写真原稿、網点印刷原稿の混在原稿である場合は、非文字ブロックは更に網点ブロックか下地ブロックかを判定すれば良い。
【００５８】
また、色情報により信頼度の高い文字ブロックと判定する判定条件は、本実施例のものに限らず、文字ブロックと非文字ブロックの区別できる色分布、或いは、色特徴、或いは、判定条件を用いても良い。
【００５９】
また、文字ブロックの代表色選択は文字が２色である場合の例にしたが、文字が多色の場合は、多数の代表色を決定しても良い。また、非文字ブロックの代表色選択は背景色の１色としたが、２色以上の代表色を決定しても良い。例えば色分布図の各ビンに含まれる画素数についてビン１内の画素数が最大であり、ビン２の画素数がビン１内の画素数と同程度である場合、ビン１とビン２の色を代表色としても良い。
【００６０】
また、本実施例で、ステップＳ５４０４へ移行するような平滑後のブロック画像の色分布は、文字ブロックに特有な色分布であるといえる。なお、処理がステップＳ５４０４へ移行することになる色分布を有するブロック画像は、ブロック属性決定部１０５により、エッジ解析処理の結果を用いずにブロック属性が決定される。そのため、処理がステップＳ５４０４へ移行する場合に、エッジ解析部１０４によるエッジ解析処理を省略するような構成をとっても良い。
【００６１】
（実施例２）
先に説明した実施例１では、文字と網点の識別に、先に色分布解析処理により確定できる文字ブロックを判定し、色分布解析処理により文字の確定ができないブロックをエッジ解析処理により判定するものとした。その際に、色分布解析部１０３でブロック画像が信頼度の高い文字ブロックと判定される場合、ブロック属性決定部１０５は、当該ブロック画像を文字ブロックと決定する。また、色分布解析部１０３で、ブロック画像が信頼度の高い文字ブロックと判定されない場合（信頼度の低い文字ブロック及び判定不能ブロックと判定される場合）、ブロック属性決定部１０５は、当該ブロック画像の属性をエッジ解析部１０４による判定結果に決める。
【００６２】
本実施例も、文字と網点の識別に、先に色分布解析処理により確定できる文字ブロックを判定し、色分布解析処理により文字の確定ができないブロックをエッジ解析処理により判定するものである。しかし、本実施例では、文字ブロックであると確定はできないが、文字ブロックである可能性がありそうなブロック画像について、エッジ解析処理による判定結果を用いる。つまり、色分布解析部でブロック画像が信頼度の高い文字と判定される場合、ブロック属性決定部は、当該ブロック画像を文字ブロックと決定し、色分布解析部でブロック画像が信頼度の低い文字と判定される場合、ブロック属性決定部は、エッジ解析部の判定結果により、ブロック画像の属性を決める。
【００６３】
＜ブロック属性決定＞
実施例２におけるブロック属性ブロックの判定処理の詳細について図１０を参照して説明する。以下で説明するステップＳ１２０１〜Ｓ１２０７の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。なお、他の構成は実施例１と同様である。
【００６４】
ステップＳ１２０１では、ブロック属性決定部１０５は、色分布解析処理及びエッジ解析処理の結果を取得する。
【００６５】
ステップＳ１２０３で、ブロック属性決定部１０５は、ステップＳ１２０１で取得した色分布解析処理の判定結果が信頼度の高い文字ブロックであるかを判断する。ステップＳ１２０３で色分布解析処理の判定結果が信頼度の高い文字ブロックであると判断される場合、ステップＳ１２０４で、ブロック属性決定部１０５は、処理対象のブロック画像を文字ブロックと決定する。ステップＳ１２０３で色分布解析処理の結果が信頼度の高い文字ブロックであると判断されない場合、ブロック属性決定部１０５は、ステップＳ１２０５からステップＳ１２０７までの処理を行い、処理対象のブロック画像が文字ブロックであるか非文字ブロックであるかを決定する。
【００６６】
ステップＳ１２０５で、ブロック属性決定部１０５は、色分布解析処理の結果が信頼度の低い文字ブロックであるかを判断する。色分布解析処理の結果が信頼度の低い文字ブロックであると判断された場合、処理は、ステップＳ１２０６へ移行する。ステップＳ１２０６で、ブロック属性決定部１０５は、エッジ解析処理の結果が文字ブロックであるかを判断する。エッジ解析処理の結果が文字ブロックであると判断された場合、処理は、ステップＳ１２０４へ移行する。エッジ解析処理の結果が文字ブロックであると判断されない場合、処理は、ステップＳ１２０７へ移行する。
【００６７】
ステップＳ１２０５にて色分布解析処理の結果が信頼度の低い文字ブロックであると判断されない場合、処理は、ステップＳ１２０７へ移行する。
【００６８】
ステップＳＳ１２０７で、ブロック属性決定部１０５は、処理対象のブロック画像を非文字ブロックと決定する。
【００６９】
本実施例では、色分布解析処理の結果が信頼度の高い文字ブロックではない場合、エッジ解析処理及び色分布解析処理をある判定基準に基づき文字ブロックか非文字ブロックかを決定するものである。エッジ解析処理及び色分布解析処理による文字、文字ブロックか非文字ブロックかを決定する際に他の判定基準を設定しても構わない。
【００７０】
以上、本実施例により、色情報だけでは文字ブロック判定が困難なブロック画像を、エッジ情報による判定を補足的に用いて判定するため、精度良く文字ブロック判定ができる。
【００７１】
なお、本実施例の色分布解析処理の判定結果が信頼度の高い文字ブロックである場合又は判定不能ブロックである場合、ブロック属性決定部１０５は、エッジ解析処理の結果を用いずにブロック属性を決定する。そのため、色分布解析処理の判定結果がこのような場合にエッジ解析処理を省略しても良く、さらに、エッジ解析処理が省略された場合にブロック属性決定部１０５はステップＳ１２０１でエッジ解析処理の結果を取得しないように構成されていても良い。このように構成することで、ブロック画像の属性を判定するための処理量を減らすことができる。
【００７２】
（実施例３）
先に説明した実施例１、２では、文字と非文字（例えば網点）の識別に、先に色分布解析処理により確定できる文字ブロックを判定し、色分布解析処理により文字ブロックと確定ができないブロック画像をエッジ解析処理により判定するものとした。本実施例では、文字と非文字の識別に、先にエッジ解析処理により確定できる文字ブロックを判定し、エッジ解析処理により文字の確定ができないブロックを色分布解析処理により判定するものである。
【００７３】
実施例３における文字ブロック／非文字ブロックの判定処理の詳細について、図１１を参照して説明する。なお、図１１に示す、ブロック入力部２０１から色量子化部２０７までの各処理部は、図２の各処理部と同様に、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【００７４】
図１１において、ブロック入力部２０１は、エッジ解析部２０２及び平滑化処理部２０３へ、処理画像の所定数の画素からなるブロック画像の画像データを入力する。
【００７５】
エッジ解析部２０２は、ブロック入力部２０１のブロックからエッジ情報を解析し、文字ブロックであるかを判定する。この処理では、ブロック画像にある各画素のエッジ強度を計算し、ある程度の強いエッジを持つ画素数、また、エッジが繋がる部分にあるエッジ画素数を求めて、文字ブロックであるかを判定する。このエッジ解析処理の詳細について図１２を用いて後述する。
【００７６】
平滑化処理部２０３は、ブロック入力部２０１からのブロック画像を平滑化処理する。平滑化処理部２０３の行う平滑化処理は、公知のローパスフィルタや移動平均フィルタやエッジ保持型平滑フィルタ等を利用することで実現可能である。
【００７７】
色分布解析部２０４は、平滑化処理部２０３の配下使処理による平滑後のブロック画像内の画素の出現色の分布を解析し、文字ブロックであるかを判定する。この色分布解析処理の詳細について図１４を用いて後述する。
【００７８】
ブロック属性決定部２０５は、ブロック画像が文字ブロックであるか非文字ブロックであるかを決定する。エッジ解析部２０２にてブロック画像が信頼度の高い文字ブロックであると判定された場合、ブロック属性決定部２０５は、当該ブロック画像を文字ブロックと決定する。エッジ解析部２０２にてブロック画像が信頼度の高い文字ブロックであると判定されなかった場合、ブロック属性決定部２０５は、色分布解析部２０４のブロック画像判定結果によって文字ブロックか非文字ブロックかを決める。
【００７９】
代表色選択部２０６は、当該ブロック画像の主要色を決める。
【００８０】
色量子化部２０７は、当該ブロック画像の各画素に主要色を割り当てる。
【００８１】
＜エッジ解析処理＞
処理対象であるブロック画像にエッジ解析処理を施し、当該ブロック画像が信頼度の高い文字ブロックであるかどうかの判定を行う。この判定は、文字領域には、強いエッジを持つ画素が多く、かつ、連結している強いエッジ画素が多いという特徴に基づく。この実施例３における判定処理の詳細について、図１２を参照して説明する。以下で説明するステップＳ１４０１〜Ｓ１４０８の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【００８２】
ステップＳ１４０１で、エッジ解析部２０２は、処理対象のブロック画像に対してエッジ抽出をし、エッジ特徴量を算出する。このエッジ抽出及びエッジ特徴量の算出は、実施例１で説明した処理と同様の処理を行う。
【００８３】
ステップＳ１４０２で、エッジ解析部２０２は、エッジ強度の強い画素数が所定の閾値１以上であるかを判断する。エッジ強度の強い画素数が所定の閾値１以上であると判断された場合、処理はステップＳ１４０３へ移行する。また、エッジ強度の強い画素数が所定の閾値１以上ではないと判断された場合、処理はステップＳ１４０８へ移行する。
【００８４】
ステップＳ１４０３で、エッジ解析部２０２は、エッジ強度の強い画素数が所定の閾値２以下であるかを判断する。エッジ強度の強い画素数が所定の閾値２以下であると判断された場合、処理はステップＳ１４０４へ移行する。また、エッジ強度の強い画素数が所定の閾値２以下ではないと判断された場合、処理はステップＳ１４０８へ移行する。
【００８５】
ステップＳ１４０４で、エッジ解析部２０２は、連結エッジ画素の数が所定の閾値３以上の連結単位があるかを判断する。連結エッジ画素の数が所定の閾値３以上の連結単位があると判断された場合、処理はステップＳ１４０５へ移行する。また、連結エッジ画素の数が所定の閾値３以上の連結単位がないと判断された場合、処理はステップＳ１４０８へ移行する。
【００８６】
ステップＳ１４０５で、エッジ解析部２０２は、連結エッジ画素が所定の閾値３以上である連結単位のうち、最も連結エッジ画素数が多いものを求め、その最大連結エッジ画素数が所定の閾値４以下であるかを判断する。最大連結エッジ画素数が所定の閾値４以下であると判断された場合、処理はステップＳ１４０６へ移行する。ステップＳ１４０６で、エッジ解析部２０２は、当該ブロック画像を信頼度の高い文字ブロックと判定する。
【００８７】
ステップＳ１４０５にて最大連結エッジ画素数が所定の閾値４以下ではないと判断された場合、処理はステップＳ１４０７へ移行する。ステップＳ１４０７で、エッジ解析部２０２は、当該ブロック画像を信頼度の低い文字ブロックと判定する。
【００８８】
ステップＳ１４０８で、エッジ解析部２０２は、当該ブロック画像を文字ブロックであるか判定不能ブロックとする。
【００８９】
＜エッジ解析処理により信頼度の高い文字ブロックのエッジ特徴の例＞
図１３は、実施例３における信頼度の高い文字ブロックのエッジ特徴の一例を示す図である。図１３（ａ）は、エッジ強度の弱いパターンを有する網点部分上の文字のエッジを示すものである。エッジ強度の強い画素（白）の数は所定の範囲に収まっている、即ち、所定の閾値１以上かつ所定の閾値２以下である。また、エッジが連続であり、連続部分にある画素数は所定の範囲に収まっている、即ち、所定の閾値３以上かつ所定の閾値４以下である。
【００９０】
一方、図１３（ｂ）はエッジ強度の強いパターンを有する網点部分上の文字のエッジを示すものである。ブロック画像全体でエッジ強度の強い画素（白）の数は、所定の範囲に収まっている、即ち、所定の閾値１以上かつ所定の閾値２以下である。また、エッジが連続であり、連続部分にある画素数はある程度ある、即ち、所定の閾値３以上で所定の閾値４以下である。このような閾値の条件により、図１３（ｂ）のような網点部分にも強いエッジ画素があるブロック画像でも、文字ブロックであると判定される。
【００９１】
ここで、実施例３では、エッジ情報により信頼度の高い文字ブロックは、上記のエッジ特徴量の条件を満たすものとしたが、他に文字ブロックと非文字ブロックの区別できるエッジ特徴、或いは、判定条件を用いても良い。
【００９２】
＜色分布解析処理＞
本実施例における色分布解析部２０４による色分布解析処理の文字ブロックの判定処理の詳細について、図１４を参照して説明する。以下で説明するステップＳ１６０１〜Ｓ１６０７の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。なお、本実施例の色分布解析処理も、処理ステップＳ１６０１へ移行する前処理として、実施例１、２で説明したステップＳ５１〜Ｓ５３と同様の処理、即ちブロック画像の色空間の変換と色分布図への配置を、色分布解析部２０４が実行する。
【００９３】
ステップＳ１６０１で、色分布解析部２０４は、平滑化処理部２０３により平滑化処理を施された処理対象ブロック画像の色分布図を取得する。
【００９４】
ステップＳ１６０２で、色分布解析部２０４は、取得した色分布図に基づき、色相の範囲が異なるビンがあるかを判断する。色相の範囲が異なるビンがあると判断された場合、処理はステップＳ１６０４へ移行する。また、色相の範囲の異なるビンがないと判断された場合、処理はステップＳ１６０３へ移行する。
【００９５】
ステップＳ１６０３で、色分布解析部２０４は、明度軸方向におけるビン間の距離が所定の距離以上離れているかを判断する。ビン間の距離が所定の距離以上離れていると判断された場合、処理はステップＳ１６０４へ移行する。また、ビン間の距離が所定の距離以上離れていないと判断された場合、処理はステップＳ１６０５へ移行する。
【００９６】
ステップＳ１６０５で、色分布解析部２０４は、各ビン内の平均色相値を求め、各ビンの平均色相値の差が所定の色相差閾値以上かを判断する。平均色相値の差が色相差閾値以上であると判断された場合、処理はステップＳ１６０４へ移行する。また、平均色相値の差が色相差閾値以上ではないと判断された場合、処理はステップＳ１６０６へ移行する。
【００９７】
ステップＳ１６０６で、色分布解析部２０４は、各ビン内の平均明度値を求め、各ビンの平均明度値の差が所定の明度差閾値以上かを判断する。平均明度値の差が明度差閾値以上であると判断された場合、処理はステップＳ１６０４へ移行する。また、平均明度値の差が明度差閾値以上ではないと判断された場合、処理はＳ１６０７へ移行する。
【００９８】
ステップＳ１６０４で、色分布解析部２０４は、当該処理対象のブロック画像を文字ブロックと判定する。
【００９９】
ステップＳ１６０７で、色分布解析部２０４は、当該処理対象のブロック画像を非文字ブロックと判定する。
【０１００】
＜ブロック属性決定＞
本実施例におけるブロック属性決定処理の詳細について説明する。
【０１０１】
エッジ解析処理で処理対象のブロック画像が信頼度の高い文字ブロックと判定される場合、ブロック属性決定部２０５は、処理対象のブロック画像を文字ブロックと決定する。また、エッジ解析処理で処理対象のブロック画像が信頼度の高い文字ブロックと判定されない場合、ブロック属性決定部２０５は、処理対象のブロック画像を色分布解析処理の結果により文字ブロックか非文字ブロックであるかを決定する。この際に、色分布解析処理により処理対象のブロック画像が文字ブロックであると判定される場合、ブロック属性決定部２０５は、処理対象のブロック画像を文字ブロックであると決定する。また、色分布解析処理により処理対象のブロック画像が非文字ブロックであると判定される場合、ブロック属性決定部２０５は、処理対象のブロック画像を非文字ブロックであると決定する。
【０１０２】
代表色選択部２０６及び色量子化部２０７の機能は、実施例１，２の代表色選択部１０６及び色量子化部１０７と同様である。
【０１０３】
以上説明したように本実施例によれば、文字領域／非文字領域を精度良く判定することが可能になり、それにより、領域毎に切り替える画像処理の画質の向上、文字部分の抽出後の文字認識や文字ベクトル化の精度の向上が可能になる。
【０１０４】
なお、本実施例で、ステップＳ１４０６へ移行するようなブロック画像のエッジ特徴量は、文字ブロックに特有なエッジ特徴量であるといえる。なお、処理がステップＳ１４０６へ移行することになるエッジ特徴量を有するブロック画像は、ブロック属性決定部２０５により、色分布解析処理の結果を用いずにブロック属性が決定される。そのため、処理がステップＳ１４０６へ移行する場合に、平滑化処理部２０３及び色分布解析部２０４による色分布解析処理を省略するような構成をとっても良い。
【０１０５】
（実施例４）
先に説明した実施例３では、文字と非文字（例えば網点）の識別に、先にエッジ解析処理により確定できる文字ブロックを判定し、エッジ解析処理により文字の確定ができないブロックを色分布解析処理により判定するものである。つまり、エッジ解析部２０２で処理対象のブロック画像が信頼度の高い文字と判定される場合、ブロック属性決定部２０５は、当該処理対象のブロック画像を文字ブロックと決定する。また、エッジ解析部２０２で当該処理対象のブロック画像が信頼度の高い文字ブロックと判定されない場合（信頼度の低い文字ブロック及び判定不能ブロックと判定される場合）、ブロック属性決定部２０５は、色分布解析部２０４による文字ブロックか非文字ブロックの判定結果に基づいて決めるものとした。
【０１０６】
本実施例も、文字と非文字の識別に、先にエッジ解析処理により確定できる文字ブロックを判定し、エッジ解析処理により文字の確定ができないブロックを色分布解析処理により判定するものである。しかし、本実施例では、文字ブロックであると確定はできないが、文字ブロックである可能性がありそうなブロック画像について、色分布解析処理による判定結果を用いる。つまり、エッジ解析処理でブロック画像が信頼度の高い文字と判定される場合、ブロック属性決定部は、当該ブロック画像を文字ブロックと決定し、エッジ解析処理でブロック画像が信頼度の低い文字と判定される場合、ブロック属性決定部は、色分布解析処理の判定結果により、ブロック画像の属性を決める。
【０１０７】
＜ブロック属性決定＞
本実施例と実施例３との大きな違いは、ブロック属性決定部２０５の処理フローである。本実施例における文字ブロック／非文字ブロックの判定処理の詳細について、図１５を参照して説明する。以下で説明するステップＳ１７０１〜Ｓ１７０７の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。なお、他の構成は実施例３の構成と同様である。
【０１０８】
ステップＳ１７０１では、ブロック属性決定部２０５は、エッジ解析処理及び色分布解析処理の結果を取得する。
【０１０９】
ステップＳ１７０３で、ブロック属性決定部２０５は、ステップＳ１７０１で取得したエッジ解析処理の結果が信頼度の高い文字ブロックであるかを判断する。エッジ解析処理の結果が信頼度の高い文字ブロックであると判断される場合、処理は、ステップＳ１７０４へ移行する。ステップＳ１７０４で、ブロック属性決定部２０５は、処理対象のブロック画像を文字ブロックと決定する。
【０１１０】
ステップＳ１７０３でエッジ解析処理の結果が信頼度の高い文字ブロックであると判断されない場合、処理はステップＳ１７０５へ移行する。ステップＳ１７０５で、ブロック属性決定部２０５は、エッジ解析処理の結果が信頼度の低い文字ブロックであるかを判断する。エッジ解析処理の結果が信頼度の低い文字ブロックであると判断される場合、処理はステップＳ１７０６へ移行する。または、エッジ解析処理の結果が信頼度の低い文字ブロックであると判断されない場合、処理はステップＳ１７０７へ移行する。
【０１１１】
ステップＳ１７０６で、ブロック属性決定部２０５は、色分布解析処理の結果が文字ブロックであるかを判断する。色分布解析処理の結果が文字ブロックであると判断される場合、処理はＳ１７０４へ移行する。色分布解析処理の結果が文字ブロックであると判断されない場合、処理はステップＳ１７０７へ移行する。
【０１１２】
ステップＳ１７０７で、ブロック属性決定部２０５は、処理対象のブロック画像を非文字ブロックと決定する。
【０１１３】
この実施例では、色分布解析処理の結果が信頼度の高い文字ブロックではない場合は、エッジ解析処理及び色分布解析処理をある判定基準に基づき文字ブロックか非文字ブロックかを決定するものである。エッジ解析処理及び色分布解析処理による文字ブロックか非文字ブロックかを決定する際に他の判定基準を設定しても構わない。
【０１１４】
以上、本実施例により、エッジ情報だけでは文字ブロック判定が困難なブロック画像を、色情報による判定を補足的に用いて判定するため、精度良く文字ブロック判定ができる。
【０１１５】
なお、本実施例のエッジ解析処理の判定結果が信頼度の高い文字ブロックである場合又は判定不能ブロックである場合、ブロック属性決定部１０５は、色分布解析処理の結果を用いずにブロック属性を決定する。そのため、エッジ解析処理の判定結果がこのような場合に色分布エッジ解析処理を省略しても良く、さらに、エッジ解析処理が省略された場合にブロック属性決定部１０５はステップＳ１２０１でエッジ解析処理の結果を取得しないように構成されていても良い。このように構成することで、ブロック画像の属性を判定するための処理量を減らすことができる。
【０１１６】
（実施例５）
先に説明した実施例１〜４では、文字と非文字（例えば網点）の識別に、文字ブロックに関する信頼度を利用した。本実施例では網点ブロックに関する信頼度を利用する。なお、本実施例では、特に説明がない限り、実施例３で説明した図１１の機能ブロック図に示される構成を取っており、図１１を利用して本実施例を説明する。また、本実施例で説明する、ブロック入力部２０１から色量子化部２０７までの各処理部は、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【０１１７】
ブロック入力部２０１は、エッジ解析部２０２及び平滑化処理部２０３へ、処理画像の所定数の画素からなるブロック画像の画像データを入力する。
【０１１８】
エッジ解析部２０２は、ブロック入力部２０１のブロック画像からエッジ情報を解析し、網点ブロックであるかを判定する。この処理では、ブロック画像にある各画素のエッジ強度を計算し、ある程度の強いエッジを持つ画素数、エッジが繋がる部分（連結単位）にあるエッジ画素数、連結単位の総数を求めて、網点ブロックであるかを判定する。このエッジ解析処理の詳細について図１６を用いて後述する。
【０１１９】
平滑化処理部２０３は、ブロック入力部２０１のブロックを平滑化処理する。平滑化処理部２０３の行う平滑化処理は、公知のローパスフィルタや移動平均フィルタやエッジ保持型平滑フィルタ等を利用することで実現可能である。
【０１２０】
色分布解析部２０４は、平滑化処理部２０３による平滑化処理による平滑後のブロック画像にある画素の出現色の分布を解析し、網点ブロックであるかを判定する。この色分布解析処理は実施例３の説明で利用した図１４を用いて後述する。
【０１２１】
ブロック属性決定部２０５は、ブロック画像が網点ブロックであるか非網点ブロックであるかを決定する。エッジ解析部２０２にてブロック画像が信頼度の高い網点ブロックであると判定された場合、ブロック属性決定部２０５は、当該ブロック画像を網点ブロックと決定する。エッジ解析部２０２にてブロック画像が信頼度の高い網点ブロックであると判定されなかった場合、ブロック属性決定部２０５は、色分布解析部２０４のブロック画像判定結果によって網点ブロックか非網点ブロックかを決める。
【０１２２】
代表色選択部２０６は、当該ブロック画像の主要色を決める。
【０１２３】
色量子化部２０７は、当該ブロック画像の各画素に主要色を割り当てる。
【０１２４】
＜エッジ解析処理＞
処理対象であるブロック画像にエッジ解析処理を施し、当該ブロック画像が信頼度の高い網点ブロックであるかどうかの判定を行う。この判定は、網点領域には、強いエッジがそれほど多くなく、かつ、連結している強いエッジ画素が多く、且つ、連結単位の数が多いという網点領域に特有な特徴に基づく。この実施例５における判定処理の詳細について、図１６を参照して説明する。以下で説明するステップＳ１８０１〜Ｓ１８０８の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【０１２５】
ステップＳ１８０１で、エッジ解析部２０２は、処理対象のブロック画像に対してエッジ抽出をする。ステップＳ１８０２で、エッジ解析部２０２は、抽出したエッジに基づきエッジ特徴量を算出する。このエッジ抽出及びエッジ特徴量の算出は、実施例１で説明した処理と同様の処理を行う。
【０１２６】
ステップＳ１８０３で、エッジ解析部２０２は、エッジの連結単位の数が所定の閾値１以上であるかを判断する。エッジの連結単位の数が所定の閾値１以上であると判断された場合、処理はステップＳ１８０４へ移行する。また、エッジの連結単位の数が所定の閾値１以上ではないと判断された場合、処理はステップＳ１８０８へ移行する。
【０１２７】
ステップＳ１８０４で、エッジ解析部２０２は、エッジ強度の強い画素数が所定の閾値２以下であるかを判断する。エッジ強度の強い画素数が所定の閾値２以下であると判断された場合、処理はステップＳ１８０５へ移行する。また、エッジ強度の強い画素数が所定の閾値２以下ではないと判断された場合、処理はステップＳ１８０７へ移行する。
【０１２８】
ステップＳ１８０５で、エッジ解析部２０２は、連結エッジ画素の数が所定の閾値３以上の連結単位があるかを判断する。連結エッジ画素の数が所定の閾値３以上の連結単位があると判断された場合、処理はステップＳ１８０６へ移行する。また、連結エッジ画素の数が所定の閾値３以上の連結単位がないと判断された場合、処理はステップＳ１８０７へ移行する。
【０１２９】
ステップＳ１８０６で、エッジ解析部２０２は、当該ブロック画像を信頼度の高い網点ブロックと判定する。なお、ステップＳ１４０６へ移行するようなエッジの情報は、網点ブロックに特有なエッジ情報であるといえる。
【０１３０】
ステップＳ１８０７で、エッジ解析部２０２は、当該ブロック画像を信頼度の低い網点ブロックと判定する。なお、ステップＳ１４０７へ移行するようなエッジの情報は、文字ブロックと他の属性ブロックに共通なエッジ情報であるといえる。
【０１３１】
ステップＳ１８０８で、エッジ解析部２０２は、当該ブロック画像を網点ブロックであるか判定不能ブロックとする。
【０１３２】
＜色分布解析処理＞
本実施例における色分布解析部２０４による色分布解析処理の網点ブロックの判定処理は、図１４の判定処理と同様である。本実施例の色分布解析処理の網点ブロックの判定処理が図１４の判定処理と異なる点は、ステップＳ１６０４で文字ブロックと判定したところを非網点ブロックと判定し、ステップＳ１６０７で非文字ブロックと判定したところを網点ブロックと判定する点である。なお、本実施例の色分布解析処理においても、前処理として、実施例１、２で説明したステップＳ５１〜Ｓ５３と同様の処理、即ちブロック画像の色空間の変換と色分布図への配置を、色分布解析部２０４が実行する。
【０１３３】
＜ブロック属性決定＞
本実施例におけるブロック属性決定処理は、実施例３の図１５に示した処理フローと同様なフローである。本実施例でのブロック属性決定処理について図１５のフローを援用して説明する。以下で説明するステップＳ１７０１〜Ｓ１７０７の処理フローは、ＣＰＵ２００１が、ＨＤＤ２００４に予め格納されているアプリケーションプログラムを読み出し、ＲＡＭ２００２にロードし、展開、実行することで実現される。
【０１３４】
ステップＳ１７０１では、ブロック属性決定部２０５は、エッジ解析処理及び色分布解析処理の結果を取得する。
【０１３５】
ステップＳ１７０３で、ブロック属性決定部２０５は、エッジ解析処理の結果が信頼度の高い網点ブロックであるかを判断する。エッジ解析処理の結果が信頼度の高い網点ブロックであると判断される場合、処理は、ステップＳ１７０４へ移行する。ステップＳ１７０４では、ブロック属性決定部２０５は、処理対象のブロック画像を網点ブロックと決定する。
【０１３６】
ステップＳ１７０３でエッジ解析処理の結果が信頼度の高い網点ブロックであると判断されない場合、処理はステップＳ１７０５へ移行する。ステップＳ１７０５で、ブロック属性決定部２０５は、エッジ解析処理の結果が信頼度の低い網点ブロックであるかを判断する。エッジ解析処理の結果が信頼度の低い網点ブロックであると判断される場合、処理はステップＳ１７０６へ移行する。または、エッジ解析処理の結果が信頼度の低い網点ブロックであると判断されない場合、処理はステップＳ１７０７へ移行する。
【０１３７】
ステップＳ１７０６で、ブロック属性決定部２０５は、色分布解析処理の結果が網点ブロックであるかを判断する。色分布解析処理の結果が網点ブロックであると判断される場合、処理はＳ１７０４へ移行する。色分布解析処理の結果が網点ブロックであると判断されない場合、処理はステップＳ１７０７へ移行する。
【０１３８】
ステップＳ１７０７で、ブロック属性決定部２０５は、処理対象のブロック画像を非網点ブロックと決定する。
【０１３９】
この実施例では、色分布解析処理の結果は信頼度の高い網点ブロックではない場合は、エッジ解析処理及び色分布解析処理をある判定基準に基づき網点ブロックか非網点ブロックかを決定するものである。エッジ解析処理及び色分布解析処理による網点ブロックか非網点ブロックかを決定する際に他の判定基準を設定しても構わない。
【０１４０】
なお、本実施例のエッジ解析処理の判定結果が信頼度の高い網点ブロックである場合又は判定不能ブロックである場合、ブロック属性決定部１０５は、色分布解析処理の結果を用いずにブロック属性を決定する。そのため、エッジ解析処理の判定結果がこのような場合に色分布エッジ解析処理を省略しても良く、さらに、エッジ解析処理が省略された場合にブロック属性決定部１０５はステップＳ１２０１でエッジ解析処理の結果を取得しないように構成されていても良い。
【０１４１】
代表色選択部２０６及び色量子化部２０７の機能は、これまでに説明した実施例１〜４の代表色選択部１０６及び色量子化部１０７と同様である。違いとしては、網点ブロックと判定されたブロック画像内の各画素に対しては代表色１を割り当て、非網点ブロックと判定差入れたブロック画像内の各画素に対しては代表色１及び２を割り当てる点である。
【０１４２】
以上説明したように本実施例によれば、網点領域／非網点領域を精度良く判定することが可能になり、それにより、領域毎に切り替える画像処理による画質の向上が可能となる。
【０１４３】
なお、本実施例のエッジ解析処理の判定結果が信頼度の高い網点ブロックである場合又は判定不能ブロックである場合、ブロック属性決定部２０５は、色分布解析処理の結果を用いずにブロック属性を決定する。そのため、エッジ解析処理の判定結果がこのような場合に色分布エッジ解析処理を省略しても良く、さらに、エッジ解析処理が省略された場合にブロック属性決定部２０５はステップＳ１７０１でエッジ解析処理の結果を取得しないように構成されていても良い。このように構成することで、ブロック画像の属性を判定するための処理量を減らすことができる。
【０１４４】
（その他の実施例）
なお、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録したコンピュータ可読の記憶媒体を、システムあるいは装置に供給することによっても、達成される。また、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１４５】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４６】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１４７】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施例が実現される場合も含まれる。
【図１】
0005645612.tif 000002
【図２】
0005645612.tif 000003
【図３】
0005645612.tif 000004
【図４】
0005645612.tif 000005
【図５】
0005645612.tif 000006
【図６】
0005645612.tif 000007
【図７】
0005645612.tif 000008
【図８】
0005645612.tif 000009
【図９】
0005645612.tif 000010
【図１０】
0005645612.tif 000011
【図１１】
0005645612.tif 000012
【図１２】
0005645612.tif 000013
【図１３】
0005645612.tif 000014
【図１４】
0005645612.tif 000015
【図１５】
0005645612.tif 000016
【図１６】
0005645612.tif 000017