(57)【要約】【課題】  処理の負荷を軽減して処理速度を向上させるとともに、２値化データの画質を向上させること。【解決手段】  ＭＦＰは、画像データが入力されると、入力された画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化処理回路１１２と、ＣＰＵ１０１とを備え、ＣＰＵ１０１は、画像データを第２のアルゴリズムに従って２値化した第２の２値化データを生成する第２の２値化処理部１５１と、第１の２値化データと第２の２値化データとを比較し、補正対象領域を決定する比較部１５５と、画像データの補正対象領域を、第３のアルゴリズムに従って２値化する第３の２値化処理部１５７と、第１の２値化データに含まれる補正対象領域の画素値を、第３のアルゴリズムに従って２値化された画素値に置換える置換部１５９とを含む。【選択図】        図３
2006173723.tif 000002
【特許請求の範囲】
【請求項１】
画像データが入力されると、入力された前記画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化手段と、
前記画像データと前記第１の２値化データとが入力される制御手段とを備え、
前記制御手段は、入力された前記画像データを前記第１のアルゴリズムとは異なる第２のアルゴリズムに従って２値化した第２の２値化データを生成する第２の２値化手段と、
前記第１の２値化データと前記第２の２値化データとを比較する比較手段と、
前記比較手段による比較結果に基づいて、補正対象領域を決定する補正対象領域決定手段と、
前記画像データの前記補正対象領域を、前記第２のアルゴリズムとは異なる第３のアルゴリズムに従って２値化する第３の２値化手段と、
前記第１の２値化データに含まれる前記補正対象領域の画素値を、前記第３のアルゴリズムに従って２値化された画素値に置換える置換手段とを含む、画像処理装置。
【請求項２】
前記第１の２値化手段は、入力された前記画像データから文字の領域を抽出する抽出手段を含み、
抽出した前記文字領域のみを２値化した前記第１の２値化データを出力する、請求項１に記載の画像処理装置。
【請求項３】
前記第１の２値化手段は、入力された前記画像データに含まれる画素の属性を判定する判定手段を含み、
前記判定手段により属性が文字と判定された画素の画素値に基づいて、前記画像データを２値化して前記第１の２値化データを出力する、請求項１に記載の画像処理装置。
【請求項４】
前記制御手段は、入力された前記第１の２値化データから文字を含む文字領域を抽出する文字領域抽出手段を含み、
前記比較手段は、前記第１の２値化データの前記文字領域と前記第２の２値化データの前記文字領域とを比較する、請求項１に記載の画像処理装置。
【請求項５】
前記比較手段は、前記第１の２値化データと前記第２の２値化データとで値の異なる画素が複数連続する画素群を抽出する画素群抽出手段を含み、
前記補正対象領域決定手段は、前記文字領域から抽出された前記画素群に含まれる画素数に応じて、前記文字領域を前記補正対象領域に決定する、請求項４に記載の画像処理装置。
【請求項６】
前記比較手段は、前記第１の２値化データと前記第２の２値化データとで値の異なる複数の画素が連続する画素群を抽出する画素群抽出手段を含み、
前記補正対象領域決定手段は、抽出された前記画素群で定まる領域に基づき、前記補正対象領域を決定する、請求項１に記載の画像処理装置。
【請求項７】
前記領域決定手段は、抽出された前記補正対象領域を拡大する領域拡大手段をさらに含む、請求項５または６に記載の画像処理装置。
【請求項８】
前記領域拡大手段は、入力された前記画像データからエッジ画像を生成するエッジ画像生成手段を含み、
前記補正対象領域に含まれるエッジが途切れるまで前記補正対象領域を拡大する、請求項７に記載の画像処理装置。
【請求項９】
前記領域拡大手段は、入力された前記画像データの前記補正対象領域に含まれる画素の色が変化するまで前記補正対象領域を拡大する、請求項７に記載の画像処理装置。
【請求項１０】
前記第２の２値化手段は、入力された前記画像データに含まれる画素の画素値を、所定のしきい値を用いて２値化した単純２値化データを生成する単純２値化データ手段を含む、請求項１に記載の画像処理装置。
【請求項１１】
前記第３の２値化手段により２値化された第３の２値化データと前記第２の２値化データとを比較する補正後比較手段と、
前記補正後比較手段による比較結果が前記比較手段による比較結果よりも前記第２の２値化データとの差が大きければ、前記第１の２値化データに含まれる前記補正対象領域の画素値を所定の値に置換える削除手段をさらに含む、請求項１に記載の画像処理装置。
【請求項１２】
画像データが入力されると、入力された前記画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化手段を備えた画像形成装置で実行される画像処理方法であって、
前記画像データと前記第１の２値化データとの入力を受付けるステップと、
入力された前記画像データを前記第１のアルゴリズムとは異なる第２のアルゴリズムに従って２値化した第２の２値化データを生成するステップと、
前記第１の２値化データと前記第２の２値化データとを比較するステップと、
前記比較ステップによる比較結果に基づいて、補正対象領域を決定するステップと、
前記画像データの前記補正対象領域を、前記第２のアルゴリズムとは異なる第３のアルゴリズムに従って２値化するステップと、
前記第１の２値化データに含まれる前記補正対象領域の画素値を、前記第３のアルゴリズムに従って２値化された画素値に置換えるステップとを含む、画像処理方法。
【請求項１３】
画像データが入力されると、入力された前記画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化手段を備えた画像形成装置で実行される画像処理プログラムであって、
前記画像データと前記第１の２値化データとの入力を受付けるステップと、
入力された前記画像データを前記第１のアルゴリズムとは異なる第２のアルゴリズムに従って２値化した第２の２値化データを生成するステップと、
前記第１の２値化データと前記第２の２値化データとを比較するステップと、
前記比較ステップによる比較結果に基づいて、補正対象領域を決定するステップと、
前記画像データの前記補正対象領域を、前記第２のアルゴリズムとは異なる第３のアルゴリズムに従って２値化するステップと、
前記第１の２値化データに含まれる前記補正対象領域の画素値を、前記第３のアルゴリズムに従って２値化された画素値に置換えるステップとを前記画像処理装置に実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に画像データを２値化する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、画像データに含まれる文字が表された領域を２値化することがなされている（例えば、特許文献１）。この２値化処理の処理速度を速くするために、専用のハードウェア回路が用いられることが多い。専用のハードウェア回路では、装置コストを低減するために比較的少ない容量のメモリが用いられ、画像データがバンドデータに分割されて２値化される。画像データの分割は、画像データの内容に関わらず、データ量より分割されるため、文字が複数のバンドデータに分割される場合がある。このため、文字が一方のバンドデータでは文字と判別されるが、他方のバンドデータでは文字と判別されない場合がある。また、ハードウェア回路は、予め定められたアルゴリズムに従って画像データを２値化するので、例えば、文字を構成する線が蜜に表された画像等は、そのアルゴリズムでは文字でありながら文字と判別できない場合がある。これらの場合には、文字の一部または全部が２値化されないので、文字の全部または一部が欠けたりして２値化データの画質が劣化するといった問題がある。
【特許文献１】特開２００１−２２２６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、処理の負荷を軽減して処理速度を向上させるとともに、２値化データの画質を向上させることが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することである。
【課題を解決するための手段】
【０００４】
上述した目的を達成するためにこの発明のある局面によれば、画象処理装置は、画像データが入力されると、入力された画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化手段と、画像データと第１の２値化データとが入力される制御手段とを備え、制御手段は、入力された画像データを第１のアルゴリズムとは異なる第２のアルゴリズムに従って２値化した第２の２値化データを生成する第２の２値化手段と、第１の２値化データと第２の２値化データとを比較する比較手段と、比較手段による比較結果に基づいて、補正対象領域を決定する補正対象領域決定手段と、画像データの補正対象領域を、第２のアルゴリズムとは異なる第３のアルゴリズムに従って２値化する第３の２値化手段と、第１の２値化データに含まれる補正対象領域の画素値を、第３のアルゴリズムに従って２値化された画素値に置換える置換手段とを含む。
【０００５】
この発明に従えば、画像データを第１のアルゴリズムに従って２値化した第１の２値化データと、画像データを第２のアルゴリズムに従って２値化した第２の２値化データとを比較し、比較結果に基づいて、補正対象領域を決定する。そして、画像データの補正対象領域を、第３のアルゴリズムに従って２値化して、第１の２値化データに含まれる補正対象領域の画素値を、第３のアルゴリズムに従って２値化した画素値に置換える。このため、第１のアルゴリズムに従った２値化処理の不具合が、第１の２値化データと第２の２値化データとを比較することにより決定され、第１の２値化データのうち不具合のある補正対象領域が第３のアルゴリズムに従って２値化した第３の２値化データに置換えられる。第３のアルゴリズムが複雑で処理に時間を要する場合に、画象データ全体を２値化するのではなく、その一部の補正対象領域のみを第３のアルゴリズムに従って２値化するので、処理の負荷を軽減して処理速度を向上させるとともに、２値化データの画質を向上させることが可能な画像処理装置を提供することができる。
【０００６】
好ましくは、第１の２値化手段は、入力された画像データから文字の領域を抽出する抽出手段を含み、抽出した文字領域のみを２値化した第１の２値化データを出力する。
【０００７】
好ましくは、第１の２値化手段は、入力された画像データに含まれる画素の属性を判定する判定手段を含み、判定手段により属性が文字と判定された画素の画素値に基づいて、画像データを２値化して第１の２値化データを出力する。
【０００８】
好ましくは、制御手段は、入力された第１の２値化データから文字を含む矩形の文字領域を抽出する文字領域抽出手段を含み、比較手段は、第１の２値化データの文字領域と第２の２値化データの文字領域とを比較する。
【０００９】
この発明に従えば、第１の２値化データから文字を含む矩形の文字領域が抽出され、第１の２値化データの文字領域と第２の２値化データの文字領域とが比較される。第１の２値化データでは２値化されなかった画素が、第２の２値化データでは２値化される場合がある。このため、第１の２値化手段で誤って２値化されなかった画素を抽出することができる。また、補正対象領域を決定するために比較する領域が少なくなるので、不要な処理をする必要がなく、処理速度をさらに向上させることができる。
【００１０】
好ましくは、比較手段は、第１の２値化データと第２の２値化データとで値の異なる画素が複数連続する画素群を抽出する画素群抽出手段を含み、補正対象領域決定手段は、文字領域から抽出された画素群に含まれる画素数に応じて、文字領域を補正対象領域に決定する。
【００１１】
この発明に従えば、第１の２値化データと第２の２値化データとで値の異なる画素が複数連続する画素群が抽出され、文字領域から抽出された画素群に含まれる画素数に応じて、文字領域が補正対象領域に決定される。このため、第１の２値化データに複数の文字領域が存在する場合であっても、必要な場合に限って第３のアルゴリズムに従って２値化されるので、不要な処理を実行することなく、処理速度をさらに向上させることができる。  
【００１２】
好ましくは、比較手段は、第１の２値化データと第２の２値化データとで値の異なる複数の画素が連続する画素群を抽出する画素群抽出手段を含み、補正対象領域決定手段は、文字領域から抽出された画素群で定まる領域に基づき、補正対象領域を決定する。
【００１３】
この発明に従えば、第１の２値化データと第２の２値化データとで、値の異なる複数の画素が連続する画素群が抽出され、文字領域から抽出された画素群で定まる領域に基づき補正対象領域が決定される。このため、文字領域のうちで必要な領域に限って第３のアルゴリズムに従って２値化されるので、不要な処理を実行することなく、処理速度をさらに向上させることができる。
【００１４】
好ましくは、補正対象領域決定手段は、補正対象領域を拡大する領域拡大手段をさらに含む。
【００１５】
この発明に従えば、補正対象領域を拡大するので、第１の２値化データで文字領域とされなかった文字を構成する画素を補正対象領域に含めることができ、２値化データの画質を向上させることができる。また、補正対象領域が少なくとも１文字を含むようにすることができる。このため、文字が部分的に異なるアルゴリズムに従って２値化されることなく、２値化データの画質を向上させることができる。
【００１６】
好ましくは、領域拡大手段は、入力された画像データからエッジ画像を生成するエッジ画像生成手段を含み、補正対象領域に含まれるエッジが途切れるまで補正対象領域を拡大する。
【００１７】
好ましくは、領域拡大手段は、入力された画像データの補正対象領域に含まれる画素の色が変化するまで補正対象領域を拡大する。
【００１８】
好ましくは、第２の２値化手段は、入力された画像データに含まれる画素の画素値を、所定のしきい値を用いて２値化した単純２値化データを生成する単純２値化データ手段を含む。
【００１９】
好ましくは、第３の２値化手段により２値化された第３の２値化データと第２の２値化データとを比較する補正後比較手段と、補正後比較手段による比較結果が第１の比較手段による比較結果よりも第２の２値化データとの差が大きければ、第１の２値化データに含まれる補正対象領域の画素値を所定の値に置換える削除手段をさらに含む。
【００２０】
この発明に従えば、第３の２値化手段により２値化された値が、第２の２値化手段により２値化された値よりも悪くなる場合には、第１の２値化手段により文字と誤って検出された可能性が高い。補正対象領域の画素値が所定の値に置換えられるので、誤って文字と検出された領域を削除することができ、文字領域を検出する精度を向上させることができる。
【００２１】
この発明の他の局面によれば、画像処理方法は、画像データが入力されると、入力された画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化手段を備えた画像形成装置で実行される画像処理方法であって、画像データと第１の２値化データとの入力を受付けるステップと、入力された画像データを第１のアルゴリズムとは異なる第２のアルゴリズムに従って２値化した第２の２値化データを生成するステップと、第１の２値化データと第２の２値化データとを比較するステップと、比較ステップによる比較結果に基づいて、補正対象領域を決定するステップと、画像データの補正対象領域を、第２のアルゴリズムとは異なる第３のアルゴリズムに従って２値化するステップと、第１の２値化データに含まれる補正対象領域の画素値を、第３のアルゴリズムに従って２値化された画素値に置換えるステップとを含む。
【００２２】
この発明に従えば、処理の負荷を軽減して処理速度を向上させるとともに、２値化データの画質を向上させることが可能な画像処理方法を提供することができる。
【００２３】
この発明のさらに他の局面によれば、画像処理プログラムは、画像データが入力されると、入力された画像データを第１のアルゴリズムに従って２値化した第１の２値化データを出力する第１の２値化手段を備えた画像形成装置で実行される画像処理プログラムであって、画像データと第１の２値化データとの入力を受付けるステップと、入力された画像データを第１のアルゴリズムとは異なる第２のアルゴリズムに従って２値化した第２の２値化データを生成するステップと、第１の２値化データと第２の２値化データとを比較するステップと、比較ステップによる比較結果に基づいて、補正対象領域を決定するステップと、画像データの補正対象領域を、第２のアルゴリズムとは異なる第３のアルゴリズムに従って２値化するステップと、第１の２値化データに含まれる補正対象領域の画素値を、第３のアルゴリズムに従って２値化された画素値に置換えるステップとを画像処理装置に実行させる。
【００２４】
この発明に従えば、処理の負荷を軽減して処理速度を向上させるとともに、２値化データの画質を向上させることが可能な画像処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照しつつ本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２６】
＜第１の実施の形態＞
図１は、本発明の第１の実施の形態におけるＭＦＰの概略構成を示す模式的断面図である。図１を参照して、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１は、原稿から画像データを読取るスキャナ部１１と、用紙上に画像を印刷するプリンタ部１２とを含む。
【００２７】
スキャナ部１１の原稿台１３上に載置された原稿は、スキャナ１４の備える露光ランプ１５により照射される。スキャナ１４は、スキャナモータ２２により矢印方向に移動して原稿全体を走査する。原稿面からの反射光は、ミラー１６〜１８および集光レンズを介してＣＣＤ（Charge Coupled Device）２０上に像を結ぶ。ＣＣＤ２０は、原稿面からの反射光をＲＧＢの色データ（アナログ信号）に変換してスキャナ制御部２１に出力する。ＣＣＤ２０がスキャナ制御部２１に出力する色データを、画像データという。
【００２８】
スキャナ制御部２１は、ＣＣＤ２０から入力される画像データに所定の画像処理を施してプリンタ制御部３１にデジタル信号を出力する。
【００２９】
ここでスキャナ制御部２１からプリンタ制御部３１に出力されるデジタル信号は、シアン用の画像色データＣと、マゼンタ用の画像色データＭと、イエロー用の画像色データＹと、ブラック用の画像色データＫである。プリンタ制御部３１は、入力された画像色データＣ，Ｍ，Ｙ，Ｋに基づいて、シアン、マゼンタ、イエロー、ブラックそれぞれの感光体ドラム３５Ｃ，３５Ｍ，３５Ｙ，３５Ｋにレーザビームを出力する。
【００３０】
プリンタ部１２において、スキャナ制御部２１から出力されるレーザビームは、帯電チャージャ３４Ｃ，３４Ｍ，３４Ｙ，３４Ｋによって帯電された感光体ドラム３５Ｃ，３５Ｍ，３５Ｙ，３５Ｋを露光し、静電潜像を形成する。シアン、マゼンタ、イエロー、およびブラックの４色の現像器３６Ｃ，３６Ｍ，３６Ｙ，３６Ｋにより、感光体ドラム３５Ｃ，３５Ｍ，３５Ｙ，３５Ｋ上の静電潜像が現像される。
【００３１】
一方、無端ベルト４０は、駆動ローラ４３Ａと固定ローラ４３Ｂ，４３Ｃ，４３Ｄとにより弛まないように懸架されている。駆動ローラ４３Ａが図中で反時計回りに回転すると、無端ベルト４０が所定速度で図中で反時計回りに回転する。
【００３２】
給紙カセット５０〜５２より適当な用紙が搬送され、タイミングローラ４１から無端ベルト４０に用紙が供給される。無端ベルト４０に供給された用紙は、無端ベルト４０上に担持され、図中で左方向に搬送される。これにより、用紙がシアン、マゼンタ、イエロー、ブラックの順に感光体ドラム３５Ｃ，３５Ｍ，３５Ｙ，３５Ｋと接触する。用紙がそれぞれの感光体ドラム３５Ｃ，３５Ｍ，３５Ｙ，３５Ｋと接触したときに、感光体ドラムと対をなす転写チャージャ３７Ｃ，３７Ｍ，３７Ｙ，３７Ｋにより感光体ドラム上に現像されたトナー像が用紙に転写される。
【００３３】
トナー像が転写された用紙は、定着ローラ対４２により加熱される。これにより、トナーは溶かされて用紙に定着する。その後、用紙はプリンタ部１２から排出される。
【００３４】
また、ＭＦＰ１は、ネットワークに接続された他の機器と通信するためのネットワークコントローラ、ファクシミリ、およびハードディスクを含み、上述した画像読取機能および画像形成機能に加えて、電子メール送受信機能、ファイル転送機能、ファクシミリ送受信機能、データをプリントするプリント機能、ファイル蓄積機能を備えている。
【００３５】
図２は、本実施の形態におけるＭＦＰの回路構成を示すブロック図である。図２を参照して、ＭＦＰ１は、ＭＦＰ１の全体を制御するためのＣＰＵ１０１と、ＣＰＵ１０１とＣＰＵバス１０２を介して接続されたバスブリッジ１０３と、バスブリッジ１０３に接続されたＲＯＭ１０５およびＲＡＭ１０７と、バスブリッジ１０３にそれぞれ汎用バス１０４を介して接続された画像制御部１１０と、第１の２値化処理回路１１２と、操作パネルインターフェース（ＩＦ）１２１と、ネットワークインターフェース（ＩＦ）１２３と、メモリインターフェース（ＩＦ）１２５とを含む。
【００３６】
操作パネルＩＦ１２１は、操作パネル１２２と接続されており、ネットワークＩＦ１２３は、ネットワークに接続されており、メモリＩＦ１２５にはフラッシュＲＯＭ１２６が装着可能である。
【００３７】
画像制御部１１０には、画像バス１１１を介して、画像メモリ１１３と、スキャナインターフェース（ＩＦ）１１５と、プリンタインターフェース（ＩＦ）１１７と、ハードディスクユニット１１９とが接続されている。スキャナＩＦ１１５はスキャナ制御部２１が接続されており、プリンタＩＦ１１７はプリンタ制御部３１が接続されている。
【００３８】
ネットワークＩＦ１２３は、ネットワークと接続され、ＭＦＰ１を他のコンピュータとネットワークを介して接続する。ネットワークＩＦ１２３は、ＣＰＵ１０１から入力されたデータをネットワークに送出し、ネットワークから受信されたデータをＣＰＵ１０１に出力する。
【００３９】
画像制御部１１０は、ＣＰＵ１０１によって制御され、画像データの入出力を制御する。ネットワークＩＦ１２３を介して他のコンピュータから受信された画像データ、スキャナＩＦから入力される画像データまたはハードディスクから読出された画像データを、プリンタ制御部３１またはハードディスクユニット１１９に出力する。また、画像制御部１１０は、画像データをプリンタ制御部３１に出力する際には、画像データをプリンタ部１２でプリント可能なプリントデータに変換する処理を行なう。
【００４０】
第１の２値化処理回路１１２は、ＣＰＵ１０１により制御され、画像データが入力されると、画像データを予め定められた第１のアルゴリズムに従って文字が表された文字領域を２値化処理して２値化データを出力する。第１のアルゴリズムに従った処理は、画像データの文字が表された領域を２値化した２値化データを出力するものであれば、周知のアルゴリズムを用いればよい。予め定められたアルゴリズムは、画素の属性を判別する処理、エッジ強調処理等を含む。第１の２値化処理回路１１２は、処理速度が高速であることが求められるため、ハードウェアで構成される。第１の２値化処理回路１１２は、作業エリアとして不揮発性のメモリを有しており、画像データが部分的に入力される。ＲＡＭに記憶可能な画像データは、画像データの数ラインから数十ラインである。このため、メモリコストが抑えられている。第１の２値化処理回路１１２で実行される２値化処理は、画素ごとに文字属性か否かを判別して、文字属性と判別された画素の値のみを２値化する処理であってもよいし、画素ごとに文字属性か否かを判別した後、文字属性と判別された画素の外接矩形の文字領域に含まれる全ての画素の値を２値化する処理であってもよい。
【００４１】
操作パネル１２２は、ユーザによる操作の入力を受付けるための入力部と、情報を表示するための表示部とを含む。
【００４２】
ハードディスクユニット１１９は、スキャナで読取られた画像データ、その画像データを圧縮符号化した圧縮データ、ネットワークＩＦ１２３で他のコンピュータから受信された画像データ、その画像データの圧縮データなど、ＭＦＰ１に入力されるデータを記憶する。
【００４３】
メモリＩＦ１２５には、フラッシュＲＯＭ１２６が装着される。このフラッシュＲＯＭ１２６に記憶された画像処理プログラムが、ＣＰＵ１０１で実行される。なお、プログラムを、フラッシュＲＯＭ１２６から読み出すのに代えて、ＥＥＰＲＯＭ（electrically erasable/programable read only memory）に記憶するようにしてもよい。ＣＰＵ１０１は、ＥＥＰＲＯＭに記憶されたプログラムを実行する。またこのＥＥＰＲＯＭは、記憶内容を書換えるまたは追加して書込みすることが可能なので、ネットワークに接続された他のコンピュータが、ＭＦＰ１のＥＥＰＲＯＭに記憶されたプログラムを書換えたり、新たなプログラムを追加して書込んだりするようにしてもよい。さらに、ＭＦＰ１が、ネットワークに接続された他のコンピュータからプログラムをダウンロードして、そのプログラムをＥＥＰＲＯＭに記憶するようにしてもよい。
【００４４】
ネットワークは、ローカルエリアネットワーク（ＬＡＮ）であってもよいし、インターネットまたは一般公衆回線であってもよく、有線または無線を問わない。
【００４５】
なお、ＭＦＰ１で実行される画像処理プログラムはフラッシュＲＯＭ１２６に記憶されて流通される例を示すが、他の記録媒体、たとえば、フレキシブルディスク、カセットテープ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ハードディスク、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、ＩＣカード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。さらに、ネットワークを介して他の装置からダウンロードされる場合であってもよい。
【００４６】
また、ここでいうプログラムは、ＣＰＵ１０１により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４７】
本実施の形態におけるＭＦＰ１は、画像データを符号化して圧縮する処理を実行する。圧縮処理の対象となる画像データは、スキャナ部１１で読取られた画像データ、ネットワークＩＦ１２３で他のコンピュータから受信された画像データ、ハードディスクユニット１１９から読出された画像データを含む。また、画像データは、フルカラーの画像データ、モノクロで多値の画像データを含む。
【００４８】
圧縮方式は、ＰＤＦ、ＪＰＥＧおよびＪＢＩＧ等一般的な圧縮方式を含む。複数の圧縮方式のうちからいずれを選択するかは、ユーザが操作パネル１２２に表示された選択画面で、圧縮方式を選択する指示を入力することにより受付けられる。ＣＰＵ１０１で圧縮処理された圧縮データは、ハードディスクユニット１１９の所定の領域に記憶される。画像データのうち文字領域は、２値化して圧縮符号化すると画質が向上し、圧縮効率が上がる。このため、ＣＰＵ１０１は、画像データのうち文字領域のみを抽出して圧縮する。ＣＰＵ１０１は、圧縮処理を高速に実行するため、画像データから文字領域を抽出して２値化する処理を、第１の２値化処理回路１１２に実行させる。
【００４９】
第１の２値化処理回路は、上述したように、作業領域として使用可能なメモリ容量が制限されていること、および、予め定められたアルゴリズムに従って文字領域を判別することなどから文字領域の判別精度に限界がある。作業領域のメモリ容量が制限されているために、画像データの一部が処理対象となる。第１の２値化処理回路１１２で記憶可能な画像データは、たとえば、画像データの数〜数十ラインであり、処理対象とされる画像データの一部はバンドと呼ばれる。第１の２値化処理回路１１２で実行する２値化処理には、バンドごとに文字領域を抽出する処理が含まれる。たとえば、文字領域が２つのバンドに分割される場合を例に説明すると、一方のバンドでは文字と判別され、他方のバンドでは文字と判別するべき領域を誤って写真と判別される場合がある。他方のバンドに、文字に隣接して写真が含まれている場合などに誤判別されることが多い。また、１つの文字が２つのバンドに分割される場合も誤判別されることが多い。画素の属性が誤って判別されると、その画素が２値化されないので、文字が欠けたり擦れたりする。本実施の形態におけるＭＦＰ１では、ＣＰＵ１０１で実行される画像処理プログラムにより、第１の２値化処理回路１１２から出力される２値化データを補正する。
【００５０】
図３は、第１の実施の形態におけるＣＰＵ１０１の機能を示す機能ブロック図である。図３を参照して、ＣＰＵ１０１は、画像データを第２のアルゴリズムに従って２値化して第２の２値化データを出力する第２の２値化処理部１５１と、第１の２値化データから文字領域を抽出する文字領域抽出部１５３と、第１の２値化データと第２の２値化データとを比較する比較部１５５と、画像データを第３のアルゴリズムに従って２値化して第３の２値化データを出力する第３の２値化処理部１５７と、文字領域抽出部１５３により抽出された文字属性が正しいか否かを判定する判定部１５８と、第１の２値化データを第３の２値化データに置換する置換部１５９とを含む。
【００５１】
ＣＰＵ１０１は、画像データと、第１の２値化処理回路１１２から第１の２値化データとが入力される。第２の２値化処理部１５１は、画像データが入力され、入力された画像データを予め定められた第２のアルゴリズムに従って２値化する。第２のアルゴリズムは、第１のアルゴリズムとは異なり、ＣＰＵ１０１での処理時間を短縮するために、領域判別処理は実行することなく、画像データの各画素値を所定のしきい値と比較して２値化して第２の２値化データを出力する。所定のしきい値は、予め定められた値であってもよく、画素値に応じて変更されてもよい。
【００５２】
文字領域抽出部１５３は、第１の２値化処理回路１１２から第１の２値化データが入力される。上述したように、第１の２値化データは、文字属性とされた画素の値、または、文字属性とされた画素の外接矩形の文字領域に含まれる画素の値を２値化した値である。したがって、文字属性と判定されなかった画素の値、または、文字領域と判定されなかった領域の画素の値は、すべて空白の画素値（たとえば「２５５」）とされる。第１の２値化データのサイズは、画像データのサイズと同じである。第１の２値化処理回路１１２では、バンドごとに２値化処理がされたが、ＣＰＵ１０１には、バンドごとに２値化されたデータを合成した２値化データが入力される。このため、文字領域抽出部１５３は、２値化データの各画素値から空白の値でない画素値が隣接する領域を文字領域として抽出する。具体的には、空白の値でない画素値を有する画素の集合に外接する矩形の領域を抽出する。文字領域は、２値化データにおける位置とサイズを示す値である。文字領域は、２値化データとサイズが同じデータ、たとえば画像データにおける位置を示す値でもある。
【００５３】
比較部１５５は、第１の２値化データと、第２の２値化データと、文字領域とが入力され、第１の２値化データの文字領域と、第２の２値化データの文字領域とを比較する。そして、第１の２値化データの文字領域を補正するか否かを判定し、補正すると判定した場合に、文字領域を補正対象領域として第３の２値化処理部１５７、判定部１５８および置換部１５９に出力する。
【００５４】
第３の２値化処理部１５７は、画像データと補正対象領域とが入力される。第３の２値化処理部１５７は、入力された画像データの補正対象領域を第３のアルゴリズムに従って２値化した第３の２値化データを判定部に出力する。第３のアルゴリズムに従って２値化する処理は、周知のアルゴリズムを用いればよく、第１のアルゴリズムと同じであってもよい。第３のアルゴリズムは、エッジ強調処理、ノイズを除去する処理等を含んでもよい。第３の２値化処理部１５７は、画像データの全体を２値化するのではなく、補正対象領域を２値化するので、処理対象となる画素数が少なく、画像データの全体を２値化するのに比較して、短い時間で２値化することが可能である。
【００５５】
判定部１５８は、第１の２値化データと、第２の２値化データと、第３の２値化データと、比較部１５５から補正対象領域が入力される。第１の２値化データと、第２の２値化データと、第３の２値化データとを用いて、画像データの文字領域が文字の表された領域か否かを判定する。
【００５６】
置換部１５９は、第１の２値化データと、第３の２値化データと、補正対象領域とが入力される。また、置換部１５９は、判定部１５８から許可信号または不許可信号が入力される。置換部１５９は、判定部１５８から許可信号が入力されることに応じて、第１の２値化データの補正対象領域を、第３の２値化データの補正対象領域に置換する。これにより、第１の２値化処理回路１１２で、誤って２値化された補正対象領域が、第３の２値化処理部１５７で正しく２値化された補正対象領域に置換される。また、置換部１５９は、判定部１５８から不許可信号が入力されることに応じて、第１の２値化データの補正対象領域の画素値を、空白の画素値（例えば「２５５」）に置換する。これにより、第１の２値化処理回路１１２により誤って文字領域と判別されて２値化された補正対象領域が、文字領域でない領域とされる。
【００５７】
図４は、比較部１５５の機能を示す機能ブロック図である。図４を参照して、比較部１５５は、差分画像作成部１６１と、ラベリング部１６２と、文字領域拡大部１６３とを含む。差分画像作成部１６１は、第１の２値化データと、第２の２値化データと、文字領域とが入力される。差分画像作成部１６１は、第１の２値化データの文字領域と第２の２値化データの文字領域との差分を算出し、差分画像を生成する。第１の２値化データと第２の２値化データは、文字を構成する画素の値を「１」、文字を構成しない画素の値を「０」とするデータである。差分画像は、第１の２値化データと第２の２値化データの文字領域とで、文字領域の対応する画素値の差分で算出される。差分がマイナスとなる場合は「１」としてもよい。差分画像は、サイズと位置が文字領域と同じであり、第１の２値化データと第２の２値化データとで対応する画素で値の異なる画素の値を「１」とする２値のデータである。
【００５８】
ラベリング部１６２は、差分画像を分析して第１の２値化データの文字領域を補正するか否かを判定する。この判定は、差分画像に含まれる画素から値が「１」の画素が隣接する画素群を抽出して、抽出した画素群のサイズに基づいてなされる。画素群のサイズは、画素群に含まれる画素の数である。また、画素群のサイズを画素が所定方向に連続する数としてもよい。画素群は、ラベリング処理により抽出される。
【００５９】
ここで、ラベリング処理について説明する。図５は、ラベリング処理を説明するための図である。図５（Ａ）は、差分画像の一部を示す図である。点線で区切られたマスは、１画素を示し、ハッチングで示されるマスが値「１」、ハッチングなしのマスが値「０」を示している。ラベリング処理では、「１」の画素が隣接する画素に同じラベルを付す処理である。したがって画素群が異なる場合は、付されるラベルが異なる。図５（Ｂ）は、ラベリングされたラベル画像を示す。点線で区切られたマスは、差分画像の各画素に対応する画素を示している。図では、ラベル「１」が付された画素群と、ラベル「２」が付された画素群が示されている。
【００６０】
図６は、ラベリング処理の具体的な処理を説明するための図である。ラベリング処理では、値が同じ隣接する画素に同じラベルを付す処理であるため、処理対象画素に対して、その画素の値と、上下左右方向に隣接する画素の値とを比較する。図６（Ａ）は、処理対象画素と左方向に隣接する画素の値を比較する例を示し、図６（Ｂ）は、処理対象画素と右方向に隣接する画素の値を比較する例を示し、図６（Ｃ）は、処理対象画素と上方向に隣接する画素の値を比較する例を示し、図６（Ｄ）は、処理対象画素と下方向に隣接する画素の値を比較する例を示す。ラベリング処理では、処理対象画素について、左、右、上、下の順に画素値を比較し、画素値が同じ場合には処理対象画素と同じラベルを比較対照の画素に付す。左、右、上、下に隣接する画素との比較が終了すると、最初に同じラベルが付された画素を新たに処理対象画素として、その処理対象画素について隣接する画素と比較する。ラベルが付された順に処理対象画素が設定され、処理対象画素に設定する画素がなくなった時点で、１つの画素群に対するラベリング処理が終了する。
【００６１】
図４に戻って、ラベリング部１６２は、ラベリング処理により抽出された画素群のサイズに基づいて、第１の２値化データの文字領域を補正するか否かを判定する。第１の２値化データの文字領域を補正すると判定する基準の例を示す。
【００６２】
（１）差分画像から抽出された画素群のうち最大の画素数が所定の値Ｔ１以上の場合。
【００６３】
（２）差分画像から抽出された所定数Ｔ２以上の画素から構成される画素群の数が、所定数Ｔ３以上の場合。
【００６４】
（３）差分画像から抽出された画素群の画素が一方向に連続する数の最大値が所定の値Ｔ４以上の場合。一方向は、横方向、縦方向、斜め方向を含む。
【００６５】
なお、ここでは、画素群を抽出するのにラベリング処理を例に説明したが、これに代えて、差分画像から値が「１」の画素に外接する矩形の領域を抽出し、その領域に含まれる画素の集合を画素群とするようにしてもよい。
【００６６】
文字領域拡大部１６３は、文字領域に文字の全てが含まれるように文字領域を拡大する。そして、拡大した文字領域を第３の２値化処理部１５７に出力する。ここでは、拡大した文字領域を補正対象領域という。
【００６７】
上述したように文字領域は、文字領域抽出部１５３によって、第１の２値化データから抽出された領域である。第１の２値化データを生成する第１の２値化処理回路１１２は、バンドごとに２値化処理を行なったため、１つの文字が２つのバンドに分割された場合などに一方のバンドでは文字領域と判定されて２値化されるが、他方のバンドでは文字領域と判定されずに２値化されない場合がある。この場合には、文字領域は１文字の一部を含まない領域として抽出されることになる。文字領域拡大部１６３は、第１の２値化処理回路１１２で、他方のバンドで文字領域と判定されずに２値化されなかった文字を構成する画素が文字領域に含まれるように拡大する。文字領域拡大部１６３は、文字領域を拡大する範囲を決定するために、画像データから算出されたエッジ画像または画像データそのものをラベリング処理する。
【００６８】
（１）画像データから算出されたエッジ画像をラベリング処理する場合。
【００６９】
画像データからエッジ画像を算出し、文字領域に含まれるエッジが途切れるまで文字領域を拡大する。より具体的には、エッジ画像をラベリングして、文字領域の外周にラベルの付された画素がある場合に、その画素のラベルが外周に存在しなくなるまで文字領域を拡大する。または、文字領域に含まれる画素と同じラベルが付された画素群（エッジ画素の集合）を全て含む外接矩形を新たな文字領域とする。
【００７０】
（２）画像データそのものをラベリング処理する場合。
【００７１】
画像データの各画素を、画素値でラベリングする。これにより、同じ色の画素に同じラベルが付される。そして、文字領域に含まれる同じ色の画素が連続するのが途切れるまで文字領域を拡大する。より具体的には、画像データをラベリングして、文字領域の外周に背景色のラベル以外のラベルが付された画素がある場合に、その画素のラベルが外周に存在しなくなるまで文字領域を拡大する。または、文字領域に含まれる画素と背景色のラベル以外のラベルが付された画素群（エッジ画素の集合）を全て含む外接矩形を新たな文字領域とする。
【００７２】
図７は、ラベリング処理を用いて文字領域を拡大する例を示す図である。図７（Ａ）は、ラベリング画像と文字領域との関係を示す図である。ハッチングの付された画素に、同じラベルが付されている。同じラベルの付された画素の全てが文字領域２１０に含まれていない。図７（Ｂ）は、ラベリング画像と拡大された文字領域との関係を示す図である。ハッチングの付された画素に、同じラベルが付されている。同じラベルの付された画素の全てが文字領域２１０Ａに含まれている。
【００７３】
図８は、文字領域を説明するための図である。図８（Ａ）は、文字領域と第１の２値化データとの関係を示す図である。図では、文字の下側半分が２値化されていない第１の２値化データ２０１の例を示している。この場合、文字領域２１０は、２値化された文字の部分のみを含む領域として、文字領域抽出部１５３により抽出される。
【００７４】
図８（Ｂ）は、文字領域と第２の２値化データとの関係を示す図である。第２の２値化データ２０２は、第１の２値化処理回路１１２とは異なるアルゴリズムに従って画像データを２値化するため、文字の全てが２値化される。したがって、第２の２値化データに含まれる文字の全てが、文字領域２１０に含まれていない。
【００７５】
図８（Ｃ）は、文字領域と差分画像との関係を示す図である。差分画像２０３は、文字領域と同じサイズおよび位置であるため、第１の２値化データ２０１と第２の２値化データ２０３との文字領域における差分のみを含む。
【００７６】
図８（Ｄ）は、補正対象領域と画像データとの関係を示す図である。補正対象領域２１０Ａは、画像データの文字の全てを含む領域となるまで、文字領域２１０を拡大した領域であることが示されている。
【００７７】
図９は、判定部１５８の機能を示す機能ブロック図である。図９を参照して、判定部１５８は、第１差分画像作成部１７１と、第２差分画像作成部１７２と、補正後比較部１７３とを含む。第１差分画像作成部１７１は、第１の２値化データと、第２の２値化データと、文字領域とが入力される。第１差分画像作成部１７１は、第１の２値化データと第２の２値化データとから文字領域の第１差分画像Ｉ１を生成する。第１の２値化データと第２の２値化データは、文字を構成する画素の値を「１」、文字を構成しない画素の値を「０」とするデータである。第１差分画像Ｉ１は、第１の２値化データと第２の２値化データの文字領域とで、文字領域の対応する画素値の差分で算出される。差分がマイナスとなる場合は「１」としてもよい。第１差分画像Ｉ１は、サイズと位置が文字領域と同じであり、第１の２値化データと第２の２値化データとで対応する画素で値の異なる画素の値を「１」とする２値のデータである。なお、第１差分画像Ｉ１を、比較部１５５から受取るようにしてもよい。この場合には、第１差分画像作成部１７１は不要となる。
【００７８】
第２差分画像作成部１７２は、第１の２値化データと、第３の２値化データと、文字領域とが入力される。第２差分画像作成部１７２は、第１の２値化データと第３の２値化データとから文字領域の第２の差分画像Ｉ２を生成し、補正後比較部１７３に出力する。第３の２値化データは、文字を構成する画素の値を「１」、文字を構成しない画素の値を「０」とするデータである。第２の差分画像Ｉ２は、第１の２値化データと第３の２値化データの文字領域とで、文字領域の対応する画素値の差分で算出される。差分がマイナスとなる場合は「１」としてもよい。差分画像は、サイズと位置が文字領域と同じであり、第１の２値化データと第３の２値化データとで対応する画素で値の異なる画素の値を「１」とする２値のデータである。
【００７９】
補正後比較部１７３は、第１差分画像Ｉ１と第２の差分画像Ｉ２とが入力され、第１差分画像Ｉ１に含まれる画素値が「１」の画素数Ｓ１が、第２の差分画像Ｉ２に含まれる画素値が「１」の画素数Ｓ２よりも大きい場合に、画像データの文字領域が文字の表された領域と判定し、許可信号を置換部１５９に出力する。そうでない場合は、不許可信号を置換部１５９に出力する。
【００８０】
図１０は、第１の実施の形態におけるＭＦＰ１のＣＰＵ１０１で実行される画像処理の流れを示すフローチャートである。ここでの画像処理は、第１の２値化処理回路１１２により２値化された第１の２値化データの補正処理を示す。
【００８１】
図１０を参照して、まず、画像データが取得される（ステップＳ０１）。取得された画像データは、ＲＡＭ１０７に一時的に記憶される。そして、第１の２値化処理回路１１２から第１の２値化データが取得される（ステップＳ０２）。第１の２値化データは、バンド単位で取得され、取得された順にＲＡＭ１０７に記憶される。全てのバンドの２値化データが取得された段階で、ＲＡＭ１０７には画像データと同じサイズの２値化データが記憶されることになる。
【００８２】
次のステップＳ０３では、ＲＡＭ１０７に記憶されている画像データに対して、第２のアルゴリズムに従った２値化処理を施し、第２の２値化データを生成する。第２の２値化データは、画像データと同じサイズである。第２の２値化データは、ＲＡＭ１０７に記憶される。
【００８３】
そして、ＲＡＭ１０７に記憶されている第１の２値化データから文字領域が抽出され（ステップＳ０４）、抽出された文字領域の数がカウントされる（ステップＳ０５）。複数の文字領域が抽出された場合には、各文字領域を特定するための識別情報として、文字領域に０から始まる番号が付番される。ここでは、説明のため番号Ｉが付された文字領域を文字領域（Ｉ）で表わす。次のステップＳ０６では、変数Ｉに「０」が設定される。これにより、ステップＳ０７以降の処理の対象となるのは、文字領域（０）とされる。
【００８４】
ステップＳ０７では、ＲＡＭ１０７に記憶されている第１の２値化データの文字領域（Ｉ）と、第２の２値化データの文字領域（Ｉ）とを比較する。この比較処理については、後で説明する。
【００８５】
そして、ステップＳ０７の比較の結果、第１の２値化データの文字領域に欠損があるか否かが判断される（ステップＳ０８）。欠損がある場合にはステップＳ０９へ進み、ない場合にはステップＳ１６に進む。ステップＳ０９では、文字領域（Ｉ）を補正対象領域とする。そして、補正対象領域を拡大する（ステップＳ１０）。この処理は、上述した文字領域拡大部１６３で実行される処理であり、補正対象領域に一部のみが含まれる文字がある場合に、その文字の全てが含まれるようになる。このため、第１の２値化処理回路１１２で誤って文字の属性と判別されなかった画素または領域を、補正対象領域に含めることができる。
【００８６】
次に、ＲＡＭ１０７に記憶されている画像データの補正対象領域に対して、第３の２値化処理が施される（ステップＳ１１）。これにより、画像データの補正対象領域を第３のアルゴリズムに従って２値化した第３の２値化データが生成される。第３の２値化データは、補正対象領域と同じサイズである。第３の２値化データは、ＲＡＭ１０７に記憶される。第３のアルゴリズムに従った２値化処理を実行するＣＰＵ１０１の負荷が大きくても補正対象領域のみを２値化すればよいので、処理速度を短くすることができる。
【００８７】
そして、ＲＡＭ１０７に記憶されている第１の２値化データの補正対象領域が、文字領域であるか否かが判定される（ステップＳ１２）。そして、判定の結果により処理が分岐する（ステップＳ１３）。文字領域と判定された場合には、補正対象領域を補正するためにステップＳ１４に進み、文字領域と判定されなかった場合には補正対象領域を第１の２値化データから削除するためにステップＳ１５に進む。
【００８８】
ステップＳ１４では、ＲＡＭ１０７に記憶されている第１の２値化データの補正対象領域を、第３の２値化データに置換する。具体的には、第１の２値化データの補正対象領域を、第３の２値化データに書換える。一方、ステップＳ１５では、ＲＡＭに記憶されている第１の２値化データの補正対象領域を削除する。具体的には、第１の２値化データの補正対象領域に含まれる画素の値を、空白の画素値「２５５」に書換る。
【００８９】
ステップＳ１６において、次に処理対象とするべき文字領域が存在するか否かが判断され、存在する場合にはステップＳ１７に進み、存在しない場合には処理を終了する。変数Ｉが、ステップＳ０５でカウントされた文字領域の数に達しか否かにより判断される。ス  ステップＳ１７では、変数Ｉに「１」が加算され、新たな処理対象領域を文字領域（Ｉ）として上述したステップＳ０７〜Ｓ１５の処理が繰返される。
【００９０】
図１１は、図１０のステップＳ０７で実行される比較処理の流れを示すフローチャートである。図１１を参照して、ステップＳ２１では、ＲＡＭ１０７に記憶されている第１の２値化データの文字領域と、第２の２値化データの文字領域との差分画像が生成される。差分画像は、文字領域と画像データ中の位置とサイズが同じである。そして、差分画像に対して画素値が「１」の画素が隣接する画素群に同じラベルを付すラベリング処理が実行される（ステップＳ２２）。同じラベルの付された画素の集合が画素群である。
【００９１】
そして、画素群のうちから最大サイズの画素群のサイズが抽出される（ステップＳ２３）。具体的には、差分画像に含まれる同じラベルが付された画素の数Ｃをカウントし、その最大値Ｃｍａｘを抽出する。
【００９２】
最大値Ｃｍａｘが予め定めたしきい値Ｔ１を超えるか否かが判断され（ステップＳ２４）、真の場合にはステップＳ２５へ進み、偽の場合にはステップＳ２６へ進む。ステップＳ２５では「欠損あり」を示す信号を返し、ステップＳ２６では「欠損なし」を示す信号を返す。
【００９３】
なお、ステップＳ２３で、所定数Ｔ２以上の画素から構成される画素群の数Ｃ１をカウントし、ステップＳ２４で画素群の数Ｃ１が、所定数Ｔ３以上の場合にステップＳ２５へ進み、そうでない場合にステップＳ２６に進むようにしても良い。
【００９４】
また、ステップＳ２３で、画素群の画素が横方向に連続する数、縦方向に連続する数、および斜め方向に連続する数の最大値を求め、ステップＳ２３で、その最大値が所定の値Ｔ４以上の場合にステップＳ２５へ進み、そうでない場合にステップＳ２６に進むようにしても良い。
【００９５】
図１２は、図１０のステップＳ１２で実行される補正後比較処理の流れを示すフローチャートである。図１２を参照して、ＲＡＭ１０７に記憶されている第１の２値化データと第２の２値化データとから文字領域の第１差分画像Ｉ１を生成し（ステップＳ３１）、第１差分画像Ｉ１に含まれる画素値が「１」の画素数Ｓ１を算出する（ステップＳ３２）。次に、ＲＡＭ１０７に記憶されている第１の２値化データの文字領域と第３の２値化データとから文字領域の第２差分画像Ｉ２を生成し（ステップＳ３３）、第２差分画像Ｉ２に含まれる画素値が「１」の画素数Ｓ２を算出する（ステップＳ３４）。
【００９６】
画素数Ｓ２が画素数Ｓ１より小さいか否かが判断され（ステップＳ３５）、真の場合にはステップＳ３６に進み、偽の場合にはステップＳ３７に進む。ステップＳ３６では、補正するべき領域であることを示す「ＯＫ」の信号（許可信号）を返す。ステップＳ３７では、補正するべき領域でないことを示す「ＮＧ」の信号（不許可信号）を返す。
【００９７】
第３のアルゴリズムは、第１のアルゴリズムよりも処理対象とする画素数を多く取れるので、画素の属性をより正確に判定することができる。ステップＳ３５では、第３の２値化データが第１の２値化データよりも第２の２値化データとの差が大きい場合に、補正対象領域は文字領域でなく、他の属性の領域と判断する。このため、第１の２値化データに文字の属性以外の属性の画素が含まれないようにすることができる。
【００９８】
以上説明したように第１の実施の形態におけるＭＦＰ１は、第１のアルゴリズムによる２値化処理の不具合を、第１の２値化データと第２の２値化データとを比較することにより決定し、第１の２値化データのうち不具合のある補正対象領域が第３のアルゴリズムで２値化した第３の２値化データに置換する。このため、第３のアルゴリズムが複雑で処理に時間を要する場合に、画象データ全体を２値化するのではなく、その一部の補正対象領域のみを第３のアルゴリズムで２値化するので、処理の負荷を軽減して処理速度を向上させるとともに、２値化データの画質を向上させることができる。
【００９９】
また、第１の２値化データから文字を含む矩形の文字領域を抽出し、第１の２値化データの文字領域と第２の２値化データの文字領域とを比較するので、補正対象領域を決定するために比較する領域が少なくなるり、不要な処理をする必要がなく、処理速度をさらに向上させることができる。
【０１００】
また、補正対象領域を拡大するので、第１の２値化データで文字領域とされなかった文字を構成する画素を補正対象領域に含めることができ、２値化データの画質を向上させることができる。
【０１０１】
さらに、第３の２値化処理部１５７により２値化された第３の２値化データが、第２の２値化処理部１５１により２値化された第２の２値化データよりも悪くなる場合には、補正対象領域の画素値を空白の画素値に置換するので、誤って文字と検出された領域を削除することができ、文字領域を検出する精度を向上させることができる。
【０１０２】
＜第２の実施の形態＞
次に第２の実施の形態におけるＭＦＰについて説明する。上述したように、第１の２値化データを生成する第１の２値化処理回路１１２が、画素ごとにその属性を判定し、文字属性と判定された画素の値のみを２値化する場合には、１文字のうちでも文字属性と判定される画素と、文字属性と判定されない画素とが含まれる場合がある。この場合には、第１の２値化データでは、１文字のうちに２値化されずに値が「０」の画素が含まれることになる。第２の実施の形態におけるＭＦＰでは、第１の２値化処理回路１１２で誤って文字属性と判定されずに２値化されなかった文字の部分を補正する。
【０１０３】
第１の実施の形態におけるＭＦＰ１は、補正対象領域を文字領域とするものであった。第２の実施の形態におけるＭＦＰでは、補正対象領域を文字領域から抽出された画素群に基づき定まる領域とする点で第１の実施の形態におけるＭＦＰ１と異なる。以下、第２の実施の形態のＭＦＰについて、第１の実施の形態におけるＭＦＰ１と異なる点を主に説明する。
【０１０４】
図１３は、第２の実施の形態におけるＭＦＰ１のＣＰＵ１０１の機能を示す機能ブロック図である。図１３を参照して、図３と異なるところは、比較部１５５Ａが変更された点である。他の構成は同様であるので、ここでは、比較部１５５Ａについて説明する。
【０１０５】
図１４は、第２の実施の形態における比較部の機能を示す機能ブロック図である。図１４を参照して、比較部１５５Ａは、差分画像作成部１６１と、ラベリング部１６２Ａと、補正対象領域拡大部１６３Ａとを含む。
【０１０６】
差分画像作成部１６１は、第１の２値化データの文字領域と第２の２値化データの文字領域との差分を算出し、差分画像を生成する。ラベリング部１６２Ａは、差分画像を分析して補正対象領域を抽出する。
【０１０７】
ラベリング部１６２Ａは、差分画像に含まれる画素から値が「１」の画素が隣接する画素群であって、所定のサイズ以上の画素群を抽出して、抽出された画素群を補正対象領域に決定する。画素群のサイズは、画素群に含まれる画素の数である。また、画素群のサイズを画素が所定方向に連続する数としてもよい。画素群はラベリング処理により抽出される。
【０１０８】
より具体的に説明すると、ラベリング部１６２Ａは、差分画像に対してラベリング処理を実行する。これにより、画素値が「１」の画素が隣接する画素群が複数決定される。そして、複数の画素群のうちから補正対象とするべき補正対象領域として、同じラベルの付された画素の数が所定数以上の画素群を決定する。ここでは、処理の利便性から補正対象領域を矩形とするために、補正対象領域は、画素群に外接する矩形の領域とされる。
【０１０９】
補正対象領域拡大部１６３Ａは、ラベリング部１６２Ａにより決定された補正対象領域に、少なくとも１文字を構成する画素の全てが含まれるように補正対象領域を拡大する。補正対象領域拡大部１６３Ａは、補正対象領域を拡大する範囲を決定するために、画像データから算出されたエッジ画像または画像データそのものをラベリング処理する。
【０１１０】
図１５は、ラベリング処理を用いて補正対象領域を拡大する例を示す図である。図１５を参照して、文字領域２１０に十字の文字が含まれており、補正対象領域２２０がまず抽出されたとする。ハッチングの付された画素は、ラベリング処理により同じラベルが付された画素を示している。補正対象領域２２０には、同じラベルの付された画素の全てが含まれていない。この補正対象領域２２０を領域２２０Ａにまで拡大することによって、同じラベルの付された画素の全てが文字領域２２０Ａに含まれ、その結果、１文字の全てが文字領域２２０Ａに含まれる。
【０１１１】
図１６は、補正対象領域を説明するための図である。図１６（Ａ）は、文字領域と第１の２値化データとの関係を示す図である。文字の１部が２値化されていない第１の２値化データ２０１の例を示している。
【０１１２】
図１６（Ｂ）は、文字領域と第２の２値化データとの関係を示す図である。第２の２値化データ２０２は、第１の２値化処理回路１１２とは異なるアルゴリズムに従って画像データを２値化するため、文字の１部に欠けがない。
【０１１３】
図１６（Ｃ）は、補正対象領域と差分画像との関係を示す図である。差分画像２０３は、文字領域と同じサイズおよび位置であるため、第１の２値化データ２０１と第２の２値化データ２０２との文字領域における差分のみを含む。そして、差分画像２０３のうち差分のある画素が隣接する画素群を含む補正対象領域２２１，２２２が示される。差分のある画素であってもサイズの小さな画素群は補正対象領域とはされない。
【０１１４】
図１６（Ｄ）は、拡大された補正対象領域を示す図である。補正対象領域２２１を拡大した、「構」の１文字を含む補正対象領域２２１Ａが示される。また、補正対象領域２２２を拡大した、「築」の１文字を含む補正対象領域２２２Ａが示される。
【０１１５】
図１７は、第２の実施の形態におけるＭＦＰ１のＣＰＵ１０１で実行される画像処理の流れを示すフローチャートである。図１７を参照して、ステップＳ５１〜Ｓ５６までの処理は、図１０に示したステップＳ０１〜Ｓ０６までの処理と同じである。ここでは説明を繰返さない。
【０１１６】
ステップＳ５７では、ＲＡＭ１０７に記憶されている第１の２値化データの文字領域（Ｉ）と、第２の２値化データの文字領域（Ｉ）とを比較する。この比較処理により、文字領域（Ｉ）から所定数以上の画素で構成される画素群が抽出される。抽出された画素群の数がカウントされ、複数の画素群が抽出された場合には、各画素群を特定するための識別情報として、画素群に０から始まる番号が付番される。ここでは、説明のため番号Ｊが付された画素群を画素群（Ｉ）で表わす。
【０１１７】
次のステップＳ５８では、変数Ｊに「０」が設定される。これにより、ステップＳ５９〜Ｓ６７までの処理の対象となるのは、画素群（０）とされる。
【０１１８】
ステップＳ５９では、画素群（Ｊ）を構成する画素の数がしきい値Ｔ５を超えるか否かが判断される。真の場合にはステップＳ６０に進み、偽の場合にはステップＳ６７に進む。ステップＳ６０では、画素群（Ｊ）を補正対象領域に設定し、ステップＳ６１に進む。
【０１１９】
ステップＳ６１では、補正対象領域を拡大する。この処理は、上述した補正対象領域拡大部１６３Ａで実行される処理であり、補正対象領域が１文字の一部である場合に、補正対象領域にその文字の全てが含まれるようになる。このため、１文字を構成する２つの部分が異なるアルゴリズムに従って２値化されるのを防止することができ、画質を向上させることができる。
【０１２０】
次に、ＲＡＭ１０７に記憶されている画像データの補正対象領域に対して、第３の２値化処理が施される（ステップＳ６２）。これにより、画像データの補正対象領域を第３のアルゴリズムに従って２値化した第３の２値化データが生成される。したがって、第３の２値化データは、補正対象領域と同じサイズである。第３の２値化データは、ＲＡＭ１０７に記憶される。第３のアルゴリズムに従った２値化処理を実行するＣＰＵ１０１の負荷が大きくても補正対象領域のみを２値化すればよいので、処理速度を短くすることができる。
【０１２１】
そして、ＲＡＭ１０７に記憶されている第１の２値化データの補正対象領域が、文字領域であるか否かが判定される（ステップＳ６３）。そして、判定の結果により処理が分岐する（ステップＳ６４）。文字領域と判定された場合には、補正対象領域を補正するためにステップＳ６５に進み、文字領域と判定されなかった場合には補正対象領域を第１の２値化データから削除するためにステップＳ６６に進む。
【０１２２】
ステップＳ６５では、ＲＡＭ１０７に記憶されている第１の２値化データの補正対象領域を、第３の２値化データに置換する。具体的には、第１の２値化データの補正対象領域を、第３の２値化データに書換える。一方、ステップＳ６６では、ＲＡＭに記憶されている第１の２値化データの補正対象領域を削除する。具体的には、第１の２値化データの補正対象領域を、空白の画素値「２５５」に書換る。
【０１２３】
ステップＳ６７において、次に処理対象とするべき画素群が存在するか否かが判断され、存在する場合にはステップＳ６８に進み、存在しない場合にはステップＳ６９に進む。変数Ｊが、ステップＳ５７でカウントされた画素群の数に達しか否かにより判断される。ステップＳ６８では、変数Ｊに「１」が加算され、画素群（Ｊ）について上述したステップＳ５９〜Ｓ６６の処理が繰返される。
【０１２４】
ステップＳ６９では、次に処理対象とするべき文字領域が存在するか否かが判断され、存在する場合にはステップＳ７０に進み、存在しない場合には処理を終了する。変数Ｉが、ステップＳ５５でカウントされた文字領域の数に達しか否かにより判断される。ステップＳ７０では、変数Ｉに「１」が加算され、文字領域（Ｊ）について上述したステップＳ５７〜Ｓ６７の処理が繰返される。
【０１２５】
図１８は、図１７のステップＳ５７で実行される比較処理の流れを示すフローチャートである。図１８を参照して、ステップＳ７１では、ＲＡＭ１０７に記憶されている第１の２値化データの文字領域と、第２の２値化データの文字領域との差分画像が生成される。差分画像は、文字領域と画像データ中の位置とサイズが同じである。そして、差分画像に対して画素値が「１」の画素が隣接する画素群に同じラベルを付すラベリング処理が実行される（ステップＳ７２）。同じラベルの付された画素の集合が画素群である。
【０１２６】
そして、文字領域のうちから同じラベルの画素で構成される画素群が抽出される（ステップＳ７３）。このとき、抽出された画素群の数がカウントされる。
【０１２７】
以上説明したように第２の実施の形態におけるＭＦＰ１では、第１の２値化データと第２の２値化データとで値の異なる画素が複数連続する画素群を抽出し、文字領域から抽出された画素群に含まれる画素数に応じて、文字領域を補正対象領域に決定する。このため、第１の２値化データに複数の文字領域が存在する場合であっても、必要な場合に限って第３のアルゴリズムで２値化するので、不要な処理を実行することなく、処理速度をさらに向上させることができる。さらに、画像データの補正対象領域を第３のアルゴリズムで２値化するので、１つの文字が異なるアルゴリズムで２値化されることがなく、２値化データの画質を向上させることができる。
【０１２８】
また、補正対象領域が少なくとも１文字を含むようにすることができる。このため、文字が部分的に異なるアルゴリズムで２値化されることなく、２値化データの画質を向上させることができる。
【０１２９】
なお、第１および第２の実施の形態では、ＭＦＰ１について説明したが、図１０〜図１２または図１７、図１８に示した処理をコンピュータに実行させるための画像処理方法または画像処理プログラムとして発明を捉えることができるのは言うまでもない。
【０１３０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１３１】
【図１】本発明の第１の実施の形態におけるＭＦＰの概略構成を示す模式的断面図である。
【図２】本実施の形態におけるＭＦＰの回路構成を示すブロック図である。
【図３】第１の実施の形態におけるＣＰＵ１０１の機能を示す機能ブロック図である。
【図４】比較部の機能を示す機能ブロック図である。
【図５】ラベリング処理を説明するための図である。
【図６】ラベリング処理の具体的な処理を説明するための図である。
【図７】ラベリング処理を用いて文字領域を拡大する例を示す図である。
【図８】文字領域を説明するための図である。
【図９】判定部の機能を示す機能ブロック図である。
【図１０】第１の実施の形態におけるＭＦＰのＣＰＵで実行される画像処理の流れを示すフローチャートである。
【図１１】図１０のステップＳ０７で実行される比較処理の流れを示すフローチャートである。
【図１２】図１０のステップＳ１２で実行される補正後比較処理の流れを示すフローチャートである。
【図１３】第２の実施の形態におけるＭＦＰのＣＰＵの機能を示す機能ブロック図である。
【図１４】第２の実施の形態における比較部の機能を示す機能ブロック図である。
【図１５】ラベリング処理を用いて補正対象領域を拡大する例を示す図である。
【図１６】補正対象領域を説明するための図である。
【図１７】第２の実施の形態におけるＭＦＰのＣＰＵで実行される画像処理の流れを示すフローチャートである。
【図１８】図１７のステップＳ５７で実行される比較処理の流れを示すフローチャートである。
【符号の説明】
【０１３２】
１  ＭＦＰ、１１  スキャナ部、１２  プリンタ部、１０１  ＣＰＵ、１１２  第１の２値化処理回路、１２６  フラッシュＲＯＭ、１５１  第２の２値化処理部、１５３  文字領域抽出部、１５５，１５５Ａ  比較部、１５７  第３の２値化処理部、１５８  判定部、１５９  置換部、１６１  差分画像作成部、１６２，１６２Ａ  ラベリング部、１６３  文字領域拡大部、１６３Ａ  補正対象領域拡大部、１７１  第１差分画像作成部、１７２  第２差分画像作成部、１７３  補正後比較部。
【図１】
2006173723.tif 000003
【図２】
2006173723.tif 000004
【図３】
2006173723.tif 000005
【図４】
2006173723.tif 000006
【図５】
2006173723.tif 000007
【図６】
2006173723.tif 000008
【図７】
2006173723.tif 000009
【図８】
2006173723.tif 000010
【図９】
2006173723.tif 000011
【図１０】
2006173723.tif 000012
【図１１】
2006173723.tif 000013
【図１２】
2006173723.tif 000014
【図１３】
2006173723.tif 000015
【図１４】
2006173723.tif 000016
【図１５】
2006173723.tif 000017
【図１６】
2006173723.tif 000018
【図１７】
2006173723.tif 000019
【図１８】
2006173723.tif 000020