(57)【要約】【課題】エッジ組情報に頼らない、省メモリな、かつ文字領域を極力失わない文字領域判別をすることが可能な画像処理装置を提供する。【解決手段】文字領域検出部５０９では、文字領域を極力失わずに抽出するために、エッジ情報にて１次選別するのではなく、濃度情報を基に二値化部５０９ａで得られた結果で１次選別を行い、文字判定部５０９ｃでは文字の仕様上の最大幅を超えた画素列を非文字領域に分別する文字補正によって、２次選別を行う。文字補正は最低限注目ラインの二値化結果を図示しないメモリに入れておけば機能するため、省メモリな処理が可能である。【選択図】図６
2008022286.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに対して所定の処理を施して出力する画像処理装置において、
画像データの濃度を基に画像データの二値化を行う二値化手段と、
前記二値化手段によって二値化された画像データの、出力の濃い画素を文字画素とし、出力の薄い画素を非文字画素とする判断手段と、
走査方向に連続する、前記判断手段によって文字画素とされた画素の数を計数する文字画素連続数計数手段と、
前記文字画素連続数計数手段によって計数された文字画素連続数が所定の第１のしきい値を超える場合に、連続する前記文字画素を非文字画素とする補正を行う第１の文字補正手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記文字画素連続数計数手段の処理中に、前記判断手段が非文字画素とした画素があれば、走査方向に連続する該非文字画素の数を計数する非文字連続数計数手段を有し、
前記非文字連続数計数手段が計数した非文字画素連続数が、所定の第２のしきい値以内であれば、前記文字画素連続数計数手段の処理を続けることを特徴とする請求項１記載の画像処理装置。
【請求項３】
注目画素が前記判断手段によって文字画素とされた画素である場合に、注目ライン及び該注目ラインの１つ前のラインにおける前記第１の文字補正手段によって非文字画素に補正された画素の配置を基に、前記注目画素を非文字画素に補正する第２の文字補正手段を有することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記第２の文字補正手段は、注目画素が前記判断手段によって文字画素とされた画素であり、なおかつ前記注目画素に隣接する画素が前記第１の文字補正手段によって非文字画素に補正された画素である場合に、前記注目画素を非文字画素に補正することを特徴とする請求項３記載の画像処理装置。
【請求項５】
画像データの中濃度領域を検出するグレー濃度領域検出手段と、
画像データの網点領域を検出する網点検出手段と、を有し、
前記第１の文字補正手段は、前記グレー濃度領域検出手段の検出結果と前記網点検出手段の検出結果の少なくとも１つを利用して文字補正を行うことを特徴とする請求項１から４のいずれか１項記載の画像処理装置。
【請求項６】
画像データのエッジ領域を検出するエッジ検出手段を有し、
前記第１の文字補正手段は、前記エッジ検出手段によって検出されたエッジ画素を文字画素に補正することを特徴とする請求項１から５のいずれか１項記載の画像処理装置。
【請求項７】
請求項１から６のいずれか１項記載の画像処理装置を有する画像形成装置であって、
前記画像処理装置から出力された画像データに基づいて作像し、作像された画像を用紙上に形成し、画像出力する画像出力手段を有することを特徴とする画像形成装置。
【請求項８】
請求項１から６のいずれか１項記載の画像処理装置を有する画像配信装置であって、
原稿画像を色分解して読み取って生成した画像データを前記画像処理装置に入力する読取手段と、前記画像処理装置によって処理された画像データをネットワーク上に配信する通信手段と、を有することを特徴とする画像配信装置。
【請求項９】
入力された画像データに対して所定の処理を施して出力する画像処理装置の画像処理方法であって、
前記二値化手段が、画像データの濃度を基に画像データの二値化を行う二値化ステップと、
前記判断手段が、前記二値化手段によって二値化された画像データの、出力の濃い画素を文字画素とし、出力の薄い画素を非文字画素とする判断ステップと、
前記文字画素連続数計数手段が、走査方向に連続する、前記判断手段によって文字画素とされた画素の数を計数する文字画素連続数計数ステップと、
前記第１の文字補正手段が、前記文字画素連続数計数手段によって計数された文字画素連続数が所定の第１のしきい値を超える場合に、連続する該文字画素を非文字画素とする補正を行う第１の文字補正ステップと、
を有することを特徴とする画像処理方法。
【請求項１０】
前記文字画素連続数計数ステップの処理中に、前記判断ステップによって非文字画素とされた画素があれば、走査方向に連続する該非文字画素の数を計数する非文字連続数計数ステップを有し、
前記非文字連続数計数ステップで計数された非文字画素連続数が、所定の第２のしきい値以内であれば、前記文字画素連続数計数ステップの処理を続けることを特徴とする請求項９記載の画像処理方法。
【請求項１１】
注目画素が前記判断ステップによって文字画素とされた画素である場合に、注目ライン及び該注目ラインの１つ前のラインにおける前記第１の文字補正ステップによって非文字画素に補正された画素の配置を基に、前記注目画素を非文字画素に補正する第２の文字補正ステップを有することを特徴とする請求項９又は１０記載の画像処理方法。
【請求項１２】
請求項１から６のいずれか１項記載の画像処理装置の機能をコンピュータに実行させることを特徴とするプログラム。
【請求項１３】
請求項１２記載の画像処理プログラムをコンピュータが読取可能な形式で記録していることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像形成装置、画像配信装置、画像処理方法、プログラム及び記録媒体に関し、詳細には、文字領域検出機能を持つコピー機／スキャナ／ファクシミリ／複合機／融合機等の画像処理装置、画像配信装置及び画像形成装置並びに文字領域検出方法並びに文字領域検出プログラムに関する。
【背景技術】
【０００２】
従来から、スキャナや複写機等のデジタル画像処理装置においては、入力画像の文字領域や絵柄領域を含む種々の領域を判別し、それぞれの領域に適した画像処理を実行することや、それぞれの領域に適した圧縮方法による圧縮をすることによって、画質向上又は圧縮効率向上が行われている。
【０００３】
デジタル画像から文字領域を判別する技術として、文字は濃度が濃いものが多いことと、文字の輪郭はエッジ量が多いことを利用して、デジタル画像データからエッジを抽出し、エッジ間に挟まれた濃い領域を文字領域とする方法が従来から知られている。
技術例としては、特許文献１及び特許文献２が挙げられる。
【０００４】
図２６を参照して、特許文献１に開示される従来技術について簡単に説明する。この従来技術では、画像中のエッジを抽出して、開始点と終了点からなるエッジ組を作成する。ここで、開始点とは、画像の１ラインを順に走査したときの、非文字領域から文字領域の切り替わりと判断された画素である。終了点とは、文字領域から非文字領域の切り替わりと判断された画素である。すなわち、作成された各エッジ組間において、所定の濃度以上である画素の連続数や総数等を計算し、その情報を基にエッジ組間内の画素に対して、文字領域中の画素であるか否かを判断することで、文字領域抽出の精度を高めるという技術である。
【０００５】
特許文献２に開示される従来技術では、文字領域を文字のエッジと文字なか（文字の内部）に分け、文字のエッジを抽出してから、文字なかの判定を行っている。
【特許文献１】特開２００１−５２１８６号公報
【特許文献２】特開２００６−５６８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術は次のような問題点があった。
【０００７】
特許文献１では、ラインの走査において、文字領域の左端（開始点側）と右端（終了点側）が、必ず開始点・終了点それぞれのエッジ条件に合致することを暗黙に仮定している。しかし、実際の画像においては、必ずしも開始点・終了点となるべき画素が、各エッジ条件を満たすとは限らない。
そのため、精度の高い文字領域抽出ができないという問題点があった。
【０００８】
例えば、図２７に示したように、非文字領域から文字領域への変化点ではエッジ量が大きく、文字領域から非文字領域への変化点ではエッジ量が小さい場合、開始点は検出されるが、終了点は検出されない。この場合、開始点に対応する終了点が見つからないうちに、次の文字の開始点が発見されるケースがあり得る。このようなケースでは、文字領域として抽出されるべき領域が、文字領域として抽出されないことになる。
エッジが抽出されないのは、背景と文字が、なだらかに切り替わる部分である。つまり、この手法では、グラデーションのある画像の場合に安定した文字出力を得られないという問題点があった。
【０００９】
さらに整理して説明する。この技術では、文字領域を得るために、画像中の文字領域は、必ずエッジ間で囲まれるという考えにて、文字領域候補の一次選別を行い、さらに二次選別として画像データの濃度情報を用いて文字領域を得ている。片側でもエッジの条件を満たさない文字領域は、文字領域として判別されることはない。
【００１０】
エッジは文字領域を判別するための有用な情報であるが、文字と非文字の境界がエッジとして抽出されない領域は意外に多い。二次選別があることで、文字領域と非文字領域の混在もある程度は許容できると考えられるが、エッジ間に非文字領域が多くある状態であると、文字領域の識別は困難である。
したがって、図２７のようなケースを回避して、図２８に示したようなエッジ組に頼らず濃度情報に基づいて適切な文字領域検出を行う必要がある。
【００１１】
特許文献２では、特許文献１のようにエッジ組を求める必要はないものの、文字の判定結果が、エッジに依存する点では、特許文献１と同じである。したがって、同じく、精度の高い文字領域抽出ができないという問題点があった。
【００１２】
また、特に組み込み機器一般においては、メモリや処理時間などの制約があり、省メモリな処理が常に求められているのが現状である。しかしながら、特許文献１では、注目ラインのエッジ組と前ラインのエッジ組との情報をメモリに保持する必要があるという問題点があった。
【００１３】
本発明は、上記のような従来技術の問題点に鑑みて、エッジ組情報に頼らない、省メモリな、かつ文字領域を極力失わない文字領域判別をすることが可能な画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するためになされた請求項１記載の発明は、入力された画像データに対して所定の処理を施して出力する画像処理装置において、画像データの濃度を基に画像データの二値化を行う二値化手段と、前記二値化手段によって二値化された画像データの、出力の濃い画素を文字画素とし、出力の薄い画素を非文字画素とする判断手段と、走査方向に連続する、前記判断手段によって文字画素とされた画素の数を計数する文字画素連続数計数手段と、前記文字画素連続数計数手段によって計数された文字画素連続数が所定の第１のしきい値を超える場合に、連続する前記文字画素を非文字画素とする補正を行う第１の文字補正手段と、を有することを特徴とする画像処理装置である。
【００１５】
請求項２記載の発明は、請求項１記載の画像処理装置において、前記文字画素連続数計数手段の処理中に、前記判断手段が非文字画素とした画素があれば、走査方向に連続する該非文字画素の数を計数する非文字連続数計数手段を有し、前記非文字連続数計数手段が計数した非文字画素連続数が、所定の第２のしきい値以内であれば、前記文字画素連続数計数手段の処理を続けることを特徴とする。
【００１６】
請求項３記載の発明は、請求項１又は２記載の画像処理装置において、注目画素が前記判断手段によって文字画素とされた画素である場合に、注目ライン及び該注目ラインの１つ前のラインにおける前記第１の文字補正手段によって非文字画素に補正された画素の配置を基に、前記注目画素を非文字画素に補正する第２の文字補正手段を有することを特徴とする。
【００１７】
請求項４記載の発明は、請求項３記載の画像処理装置において、前記第２の文字補正手段は、注目画素が前記判断手段によって文字画素とされた画素であり、なおかつ前記注目画素に隣接する画素が前記第１の文字補正手段によって非文字画素に補正された画素である場合に、前記注目画素を非文字画素に補正することを特徴とする。
【００１８】
請求項５記載の発明は、請求項１から４のいずれか１項記載の画像処理装置において、画像データの中濃度領域を検出するグレー濃度領域検出手段と、画像データの網点領域を検出する網点検出手段と、を有し、前記第１の文字補正手段は、前記グレー濃度領域検出手段の検出結果と前記網点検出手段の検出結果の少なくとも１つを利用して文字補正を行うことを特徴とする。
【００１９】
請求項６記載の発明は、請求項１から５のいずれか１項記載の画像処理装置において、画像データのエッジ領域を検出するエッジ検出手段を有し、前記第１の文字補正手段は、前記エッジ検出手段によって検出されたエッジ画素を文字画素に補正することを特徴とする。
【００２０】
請求項７記載の発明は、請求項１から６のいずれか１項記載の画像処理装置を有する画像形成装置であって、前記画像処理装置から出力された画像データに基づいて作像し、作像された画像を用紙上に形成し、画像出力する画像出力手段を有することを特徴とする画像形成装置である。
【００２１】
請求項８記載の発明は、請求項１から６のいずれか１項記載の画像処理装置を有する画像配信装置であって、原稿画像を色分解して読み取って生成した画像データを前記画像処理装置に入力する読取手段と、前記画像処理装置によって処理された画像データをネットワーク上に配信する通信手段と、を有することを特徴とする画像配信装置である。
【００２２】
請求項９記載の発明は、入力された画像データに対して所定の処理を施して出力する画像処理装置の画像処理方法であって、前記二値化手段が、画像データの濃度を基に画像データの二値化を行う二値化ステップと、前記判断手段が、前記二値化手段によって二値化された画像データの、出力の濃い画素を文字画素とし、出力の薄い画素を非文字画素とする判断ステップと、前記文字画素連続数計数手段が、走査方向に連続する、前記判断手段によって文字画素とされた画素の数を計数する文字画素連続数計数ステップと、前記第１の文字補正手段が、前記文字画素連続数計数手段によって計数された文字画素連続数が所定の第１のしきい値を超える場合に、連続する該文字画素を非文字画素とする補正を行う第１の文字補正ステップと、を有することを特徴とする画像処理方法である。
【００２３】
請求項１０記載の発明は、請求項９記載の画像処理方法において、前記文字画素連続数計数ステップの処理中に、前記判断ステップ非文字画素とされた画素があれば、走査方向に連続する該非文字画素の数を計数する非文字連続数計数ステップを有し、前記非文字連続数計数ステップで計数された非文字画素連続数が、所定の第２のしきい値以内であれば、前記文字画素連続数計数ステップの処理を続けることを特徴とする。
【００２４】
請求項１１記載の発明は、請求項９又は１０記載の画像処理方法において、注目画素が前記判断ステップによって文字画素とされた画素である場合に、注目ライン及び該注目ラインの１つ前のラインにおける前記第１の文字補正ステップによって非文字画素に補正された画素の配置を基に、前記注目画素を非文字画素に補正する第２の文字補正ステップを有することを特徴とする。
【００２５】
請求項１２記載の発明は、請求項１から６のいずれか１項記載の画像処理装置の機能をコンピュータに実行させることを特徴とするプログラムである。
【００２６】
請求項１３記載の発明は、請求項１２記載の画像処理プログラムをコンピュータが読取可能な形式で記録していることを特徴とする記録媒体である。
【発明の効果】
【００２７】
本発明によれば、エッジ情報に頼らず文字領域を極力失わずに抽出するために、エッジ情報にて一次選別するのではなく、濃度情報を基に判断を行い、さらに、メモリは前ラインの出力結果のみ保持すればよいので、エッジ組情報に頼らない、省メモリな、かつ文字領域を極力失わない文字領域判別をすることが可能になる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明で使われるＲＧＢ、ＣＭＹＫは、それぞれ「Red, Green, Blue」、「Cyan, Magenta, Yellow, Black」の色名の略である。
【実施例１】
【００２９】
＜画像処理装置の全体構成＞
図１は、本実施例のデジタル式カラー画像処理装置の概略構成を表す。装置は、複写機、スキャナ配信装置、プリンタ等の機能の一部又は全部を備える。それぞれの機能に即して装置の概略構成の説明をする。
【００３０】
＜複写機として動作する場合＞
複写機又は画像形成装置として動作する場合、スキャナ２は原稿１から画像データを読み取り、画像データ（アナログ信号）をデジタルデータであるＲＧＢデータに変換して出力する。スキャナ補正部３は、後で述べるように、スキャナ２で読み取った画像データ（ＲＧＢデータ）について、画像領域を文字や線画や写真などに分類し、フィルタ処理などの画像処理（スキャナ補正）を施す。圧縮処理部４はスキャナ補正後のＲＧＢ各８ｂｉｔ画像データとエッジ文字領域信号（１ｂｉｔ）、色領域信号（１ｂｉｔ）を圧縮処理して、汎用バス５にデータを送出する。圧縮後の画像データは汎用バス５を通って、コントローラ６に送られる。コントローラ６は大容量の記憶装置であるＨＤＤ７を持ち、送られたデータを蓄積する。蓄積データには、書誌情報として画像サイズや読み取った原稿の種類も記録する。
なお、ここでは画像データに対し圧縮を施すとしたが、汎用バス５の帯域が十分に広く、蓄積するＨＤＤ７の容量が大きければ、非圧縮の状態でデータを扱ってもよい。
【００３１】
次にコントローラ６は、ＨＤＤ７の画像データを、汎用バス５を介して伸張処理部１１に送出する。伸張処理部１１は圧縮処理されていた画像データを元のＲＧＢ各８ｂｉｔデータとエッジ文字領域信号（１ｂｉｔ）、色領域信号（１ｂｉｔ）に伸張し、プリンタ補正部１２に送出する。プリンタ補正部１２では、ＲＧＢ画像データを色補正処理部にてＣＭＹＫデータに変換して、エッジ文字領域信号であり色領域信号でない部分は、黒文字としてＫ（Black）の単色データに置き換える。さらにγ補正処理、中間調処理などが行われ、プロッタ１３の明暗特性の補正処理や階調数変換処理を行う。ここでの階調数変換処理では、誤差拡散やディザ処理を用いて各色８ｂｉｔから２ｂｉｔへと画像データの変換を行う。プロッタ１３はレーザービーム書き込みプロセスを用いた転写紙印字ユニットで、２ｂｉｔの画像データを感光体に潜像として描画し、トナーによる作像及び転写処理をした後、転写紙にコピー画像１４を形成する。
【００３２】
したがって、プロッタ１３は、画像処理された画像データに基づいて作像し、作像された画像を用紙上に形成し、画像出力する画像出力手段の機能を果たす。
【００３３】
＜スキャナ配信装置として動作する場合＞
ネットワーク９を介して外部ＰＣ端末１０に画像データを配信する配信スキャナ（スキャナ配信装置）として動作する場合を説明する。原稿１の画像データは上述した工程と同じ工程で、汎用バス５を通って、コントローラ６に送られる。コントローラ６では、色変換処理、フォーマット処理などが行われる。階調処理では配信スキャナ動作時のモードに従った階調変換処理を行う。フォーマット処理では、ＪＰＥＧやＴＩＦＦ形式への汎用画像フォーマット変換などを行う。その後、画像データはＮＩＣ（ネットワーク・インターフェース・コントローラ）８を介して外部ＰＣ端末１０に配信される。
【００３４】
したがって、スキャナ２は、原稿画像を色分解して読み取って生成した画像データを画像処理装置に入力する読取手段の機能を果たす。また、ＮＩＣ８は、その画像処理装置によって処理された画像データをネットワーク上に配信する通信手段の機能を果たす。
【００３５】
本実施例では、通信手段の機能を果たすデバイスをＮＩＣ８としたが、図示しないＦＡＸモデム又は全二重通信可能なモデムとしてもよい。この場合は、電話回線であるネットワーク９を介して、図示しないファクシミリ装置に、画像データを配信する。
【００３６】
＜プリンタとして動作する場合＞
また、ネットワーク９を介して、外部ＰＣ端末１０からプリントアウトするプリンタとして動作する場合、ＮＩＣ８より送られてきたデータを、コントローラ６は画像及びプリント指示するコマンドを解析し、画像データとして印刷できる状態にビットマップ展開して、展開したデータを圧縮してＨＤＤ７に蓄積する。蓄積データには、書誌情報として画像サイズや読み取った原稿の種類も記録する。
【００３７】
次にコントローラ６は、ＨＤＤ７の画像データを、汎用バス５を介して伸張処理部１１に送出する。伸張処理部１１は圧縮処理されていた画像データを元の８ｂｉｔデータに伸張し、プリンタ補正部１２に送出する。プリンタ補正部１２では、ＲＧＢ入力ならば、色補正処理部にてＣＭＹＫデータに変換をする。次にＣＭＹＫそれぞれ独立にγ補正処理、中間調処理などが行われ、プロッタ１３の明暗特性の補正処理や階調数変換処理を行う。ここでの階調数変換処理では、誤差拡散やディザ処理を用いて各色８ｂｉｔから２ｂｉｔへと画像データの変換を行う。プロッタ１３はレーザービーム書き込みプロセスを用いた転写紙印字ユニットで、２ｂｉｔの画像データを感光体に潜像として描画し、トナーによる作像及び転写処理後、転写紙にコピー画像１４を形成する。
【００３８】
以上で、デジタル式カラー画像処理装置の概略構成の説明を終える。
【００３９】
＜スキャナ補正部３の構成＞
次に、スキャナ補正部３について、図２を参照しながら詳細に説明する。
【００４０】
一般的にデジタル画像処理装置においては、原稿をスキャナにより読み取り、画像データをデジタルデータに変換するとともに、原稿の画像領域（像域）を、異なる特徴を有する領域に分類（像域分離）する。注目画素が、そのいずれの領域に属するものかを判定し、その判定された結果に従い、画像データに対して種々の画像処理を施す。この画像処理によって、出力画像の画像品質を大きく向上させることができる。
【００４１】
図１のスキャナ補正部３は、図２に示すように、像域分離部１５、スキャナγ部１６、フィルタ処理部１７及び原稿種判定部１８を有する。
【００４２】
像域分離部１５は、スキャナから入力した画像データｉｍｇ（反射率リニア）に基づき、像域分離を行う。本実施例は、特開２００３−２５９１１５号公報に開示されている像域分離に関する技術を用いて、黒エッジ文字領域、色エッジ文字領域、その他（写真領域）の３つの領域に分離する。
【００４３】
像域分離の結果は、画像データに像画素毎に付与される。像域分離信号から黒エッジ文字領域（エッジ文字領域であり色領域でない）、色エッジ文字領域（エッジ文字領域であり色領域である）、写真領域（それ以外）に分類する。
【００４４】
スキャナγ部１６は、画像データを反射率リニアから濃度リニアのデータに変換する。
フィルタ処理部１７は、像域分離信号によりフィルタ処理を切り換える。エッジ文字領域（黒エッジ文字と色エッジ文字）では判読性を重視して鮮鋭化処理を行う。写真領域では、画像データ内の急峻な濃度変化をエッジ量として、エッジ量に応じて平滑化処理や鮮鋭化処理を行う。急峻なエッジを鮮鋭化するのは、絵のなかの文字を判読しやすくするためである。
【００４５】
原稿種判定部１８は、特開平２０００−３２４３３８号公報に記載のある原稿判定ブロック（原稿種認識装置）を用いて、文字あり原稿判定、有彩原稿判定、印画紙写真判定及び印刷写真判定の４つの判定条件で原稿種を判定する。
【００４６】
具体的には、文字あり原稿判定は段落番号００２３−００２５、有彩原稿判定は段落番号００２６−００２７、印画紙写真判定は段落番号００２８、印刷写真判定は段落番号００２９−００３１を用いる。
【００４７】
上記４つの判定条件の判定結果を用いて、文字のみ原稿であるか又はカラー原稿であるかの判定を行う。
また、この結果を、画像データを蓄積するときに、書誌情報としてＨＤＤ７に記録する。
【００４８】
文字のみ原稿は、上述した判定条件で文字あり原稿（あり）、印画紙写真原稿（なし）、印刷写真原稿（なし）の条件の時である。
カラー原稿は、上述した判定条件で有彩原稿（あり）の条件の時である。
文字のみ原稿とは、原稿のなかに文字しか存在しない原稿である。
ここで、複写原稿やインクジェット原稿などの絵柄は階調処理を施しており、印画紙写真か印刷写真原稿のどちらかに分類される。
【００４９】
＜プリンタ補正部１２の構成＞
次に、図１のプリンタ補正部１２について、図３を参照しながら詳細に説明する。
プリンタ補正部１２は、色補正処理部１９、プリンタγ部２０、中間調処理部２１及びエッジ量検出部２２を有する。
【００５０】
プリンタγ部２０は、圧縮処理部４及び伸張処理部１１を経た画像データに対して、プロッタ１３のγ周波数特性に応じてγ補正を行う。
中間調処理部２１は、プロッタ１３の階調特性やエッジ量に応じて、ディザ処理や誤差拡散処理などの量子化を行い、階調補正を行う。量子化処理をする際に、黒文字信号（後述する黒文字抽出の処理）を行って、黒文字のコントラスト強調をすることも可能である。このことにより、文字の判読性が向上する。
エッジ量検出部２２は、画像データ内の急峻な濃度変化をエッジ量として検出する。
【００５１】
色補正処理部１９は、画像データの黒エッジ文字領域以外を、ＲＧＢデータを一次濃度マスキング法などでＣＭＹデータに変換する。画像データの色再現を向上させるために、ＣＭＹデータの共通部分をＵＣＲ（加色除去）処理してＫデータを生成し、ＣＭＹＫデータを出力する。
【００５２】
スキャナ２のＲＧＢ読取位置ズレで原稿１の黒文字に色づきが生じたり、プロッタ１３がＣＭＹＫデータを印刷するときに重ね位置ズレがあったりすると判読性がよくない。そのため、色補正処理部１９は、黒エッジ文字領域のみを、輝度に相当する信号でＫ単色データ（ＣＭＹは出力していないデータ）にて出力する。
【００５３】
＜コントローラ６の構成＞
コントローラ６は、図４に示すように、ページメモリ４０１、圧縮伸張処理部４０２、出力フォーマット変換部４０３、入力フォーマット変換部４０４、データＩ／Ｆ（インターフェイス）部４０５を有して、構成されている。
【００５４】
画像データを外部機器に出力する場合のデータの流れを説明する。
汎用バス５、又はＨＤＤ７から画像データがコントローラ６に渡されると、画像データはまずページメモリ４０１に置かれる。
【００５５】
ページメモリ４０１にある画像データは圧縮伸張処理部４０２にて処理される。図示しない伸張処理部は、圧縮処理されていた画像データを元の各色８ｂｉｔデータに伸張し、出力フォーマット変換部４０３に出力する。出力フォーマット変換部４０３では、ＲＧＢデータを標準色空間であるｓＲＧＢデータに色変換を行うと同時に、ＪＰＥＧやＴＩＦＦやＰＤＦ形式への汎用画像フォーマット変換などを行う。データＩ／Ｆ部４０５では、出力フォーマット変換部４０３のデータをＮＩＣ８に出力する。
【００５６】
次に、外部ＰＣ端末１０などの外部機器からの画像データがコントローラ６を経由して、プロッタ１３に出力される場合のデータの流れを説明する。
【００５７】
外部から指示するコマンドは図示しないＣＰＵがコマンドを解析し、ページメモリ４０１に書き込む。データＩ／Ｆ部４０５は、画像データを入力フォーマット変換部４０４で、ビットマップデータに展開して、圧縮伸張処理部４０２にて圧縮を行い、ページメモリ４０１に書き込む。
入力フォーマットデータは、展開する画像は、ＪＰＧやＴＩＦＦの自然画像である。
【００５８】
＜出力フォーマット変換部４０３の構成＞
次に、出力フォーマット変換部を、図５を用いて説明する。
色変換部５０１、解像度変換部ａ５０２、ＴＩＦフォーマット生成部５０３、ＪＰＧフォーマット生成部５０４、圧縮フォーマット生成部５０５、データＩ／Ｆ部５０６を有して、構成されている。
【００５９】
色変換部５０１は、入力されたＲＧＢデータを、ｓＲＧＢ（standard RGB）データに変換する。
解像度変換部ａ５０２は、ｓＲＧＢに変換したデータを、２００ｄｐｉ、３００ｄｐｉなどの画素密度に変換する。本実施例では３００ｄｐｉに変換した場合の画素密度で説明する。
【００６０】
解像度を変換した画像データは、各フォーマット生成部（ＴＩＦフォーマット生成部５０３、ＪＰＧフォーマット生成部５０４、圧縮フォーマット生成部５０５）にて、それぞれのフォーマットに変換する。
データＩ／Ｆ部５０６では、ＮＩＣ８に出力すべきフォーマットを出力する。
【００６１】
＜圧縮フォーマット生成部５０５の構成＞
次に、本実施例の要部である圧縮フォーマット生成部５０５について説明する。
圧縮フォーマット生成部５０５は、解像度変換部ｂ５０７、解像度変換部ｃ５０８、文字領域検出部５０９、背景画像生成部５１０、文字画像生成部５１１、黒画像生成部５１２、二値画像生成部５１３及び画像ファイル合成部５１４を有する。
【００６２】
文字領域検出部５０９は、文字判定によって、画像データの濃度の明暗を基本に文字領域と非文字領域の二値データを出力する。そして、文字なか判定によって、黒文字データを出力する。
【００６３】
解像度変換部ｂ５０７及びｃ５０８は、画像データの解像度を、１５０ｄｐｉに低く変換する。もっとも、文字画像は背景画像ほど解像度がいらないため、文字画像生成部５１１にデータを送る解像度変換部ｃ５０８における変換後の解像度は、７５ｄｐｉ程度でも構わない。
【００６４】
二値画像生成部５１３は、二値データを、可逆変換であるＭＭＲ圧縮する。
黒画像生成部５１２は、黒文字データを、可逆変換であるＭＭＲ圧縮する。
背景画像生成部５１０は、後述する文字判定で文字領域となった領域の画像データを、白に相当する画素を一定の値の画像データに書き換え、非可逆圧縮であるＪＰＧ圧縮する。
【００６５】
文字画像生成部５１１は、背景領域となった領域の画像データを、非可逆圧縮のＪＰＧ圧縮を行う。背景画像に対しては文字領域を一定の値のデータにするのは、一定の値にすることより圧縮率が向上するからである。文字画像に関しても、背景領域を一定の値にするのも圧縮率の向上のためである。
【００６６】
ＨＤＤ７に蓄積された画像データの書誌情報が「文字のみ原稿」である場合は、背景画像と文字画像の両方を７５ｄｐｉの解像度でＪＰＧファイルを作成する。文字に関して解像度を落とすのは、文字の解像度がＭＭＲの解像度で保証されているため、ＪＰＧの解像度を落としても階調劣化はするが、問題とならないためである。解像度を落とすことによりファイルサイズを小さくすることが可能になる。
【００６７】
本実施例では、解像度を落とすことによって画像データのファイルサイズを小さく圧縮した。しかし、解像度以外の、階調数などの画像品質を落とすことによってファイルサイズを小さく圧縮してもよい。
【００６８】
ＨＤＤ７の蓄積データには、書誌情報として「文字のみ原稿」であるか否かの記載がある。したがって、ＨＤＤ７に蓄積後の画像データに対しては、「文字のみ原稿」の圧縮率を高めることが可能である。
【００６９】
画像ファイル合成部５１４では、二値画像生成部５１３の出力（ＭＭＲ）、黒画像生成部５１２の出力（ＭＭＲ）、背景画像生成部５１０の出力（ＪＰＧ）及び文字画像生成部５１１の出力（ＪＰＧ）の４つの画像の１ファイル化を行う。このときのファイル形式は、汎用フォーマット（ＰＤＦファイル形式など）を用いても構わない。
【００７０】
＜文字領域検出部５０９の処理＞
文字領域検出部５０９では、複数の特徴量を抽出することにより文字と黒文字の二値データを出力する。
以下の処理は、逐次処理で、１つの処理が終わると隣の画素の処理を行い、１ラインが次のラインの先頭から処理を行い画像の終わりまで処理を続ける。ＲＧＢ画像データは数字が多くなると黒くなり、数字が小さくなると白くなるものとする。
【００７１】
本実施例の要部である文字領域検出部５０９を、図６を用いてさらに説明する。
文字領域検出部５０９は、二値化部５０９ａ、マスク部５０９ｂ、文字判定部５０９ｃ、及び文字なか判定部５０９ｄを有する。これら４つのブロックの中に示した処理を、以下に詳しく説明する。
【００７２】
（ａ）二値化部５０９ａ
濃度の明暗を基に二値化を行う。二値化部５０９ａでは、固定二値化と孤立点除去を行う。二値化方法は特に問わないが、本実施例では固定的なしきい値を基に二値化をするものとしている。以下に、各処理について説明を行う。
【００７３】
（ａ．１）固定二値化
所定のＲＧＢのしきい値に対して、入力ＲＧＢ画像データのＲＧＢ値が全てしきい値を超えていなければ、黒（ｏｎ）として判定し、黒（ｏｎ）でないときは、白（ｏｆｆ）として出力する。
【００７４】
（ａ．２）孤立点除去
一般的に固定二値化の結果は、孤立点が多く存在するため、孤立点除去を行う。注目画素が、図１５に示した１０種類のパターンに一致したときは、その注目画素を反転することにより孤立点を除去する。図１５における記号の意味は、格子状になっているマス目のそれぞれが１つの画素を表し（図１６、図１７、図１８も同様である）、●が二値化の結果における黒画素で○が二値化の結果における非黒画素である。
【００７５】
（ｂ）マスク部５０９ｂ
マスク部５０９ｂは二値化部５０９ａに対し、マスクをかける画像データを生成する部分である。画像データにＮ値化処理を施し、その結果を用いて網点検出とグレー検出の２種類の処理をする。
【００７６】
（ｂ．１）Ｎ値化
この部分は後述する網点検出とグレー検出の特徴をＮ値の値にする。網点検出とグレー検出において、共通にＮ値化されたデータを使用する。
【００７７】
ＲＧＢ差の小さいデータ（ｂｋ、又は無彩と考えられる）は、ｔｈａｂｋより値が大きいとき、黒文字とする。ＲＧＢ差の小さくないデータは、ＹＭＣＢＧＲの６色相に色を分けて、色相毎のしきい値（ｔｈａｙ、ｔｈａｍ、ｔｈａｃ、ｔｈａｂ、ｔｈａｇ、ｔｈａｒ）により、二値化処理を行い、色の濃いものをアクティブ画素とする。
色相の分け方は、単純にＲＧＢの大小関係で行ってもよいし、ＲＧＢの色の割合で決めてもよい。これは入力画像の特性により決まる。
【００７８】
ただし、出力結果は色相別に保持する。ここでは、以下のように定義する。かっこ内はｂｉｔ表示の１例である。
Ｄｔａｈ＝０  （０００）：該当なし
Ｄｔａｈ＝１  （００１）：黄色
Ｄｔａｈ＝２  （０１０）：マゼンタ
Ｄｔａｈ＝３  （０１１）：シアン
Ｄｔａｈ＝４  （１００）：青
Ｄｔａｈ＝５  （１０１）：緑
Ｄｔａｈ＝６  （１１０）：赤
Ｄｔａｈ＝７  （１１１）：黒
【００７９】
さらに、白のレベルも同様に二値化を行う。ＲＧＢ差の小さいデータ（ｂｋ、又は無彩と考えられる）は、ｔｈｂｂｋより値が小さいときは、白画素とする。ＲＧＢ差の小さくないデータはＹＭＣＢＧＲの６色相に色を分けて、色相毎のしきい値（ｔｈｂｙ、ｔｈｂｍ、ｔｈｂｃ、ｔｈｂｂ、ｔｈｂｇ、ｔｈｂｒ）で、二値化処理を行い、色の薄いものをアクティブ画素（白画素）とする。
【００８０】
（ｂ．２）網点検出１
網点検出１と２では、粗い網点を検出することを目的として、網点のパターンマッチングを行う。
ここでは、Ｄｔａｈ≠０である画素を黒画素として、Ｎ値化の結果白画素とされた画素を白画素とする。
【００８１】
図７のフローチャートを用いて説明する。
（ｂ．２．１）ステップＳ７０１とステップ７０２
ＭＳは１画素前の処理結果で、ＳＳ［ｉ］は１ライン前の処理結果である。
ＭＳとＳＳ［ｉ］を比較することにより、１ライン前の結果と１画素前の処理結果の大きい方の値を持ってくる。ＭＳは後述する網点のカウント値である。
【００８２】
（ｂ．２．２）ステップＳ７０３：白パターン？
白パターンとは、図１６に示す白画素のパターンマッチングである。
白画素が上記パターンと一致していれば（ステップＳ７０３、Ｙｅｓ）、ＭＳを０、Ｓ［ｉ］＝０として（ステップＳ７０７）、Ｓ［ｉ］の次のラインで使用し（ステップＳ７１０）、非網点画素とする（ステップＳ７０９）。パターン一致しなければ（ステップＳ７０３、Ｎｏ）、ステップＳ７０４に行く。
【００８３】
（ｂ．２．３）ステップＳ７０４：網点パターン？
網点パターンとは、図１７に示すパターンで、●が黒画素で○が非黒画素である。
網点パターンと一致すれば（ステップＳ７０４、Ｙｅｓ）、ＭＳを＋１する（ステップＳ７０５）。
網点検出精度向上のために、非黒画素に、白画素を数個含む条件を増やして精度を上げてもいい。
【００８４】
（ｂ．２．４）ステップＳ７０６
Ｓ［ｉ］＝ＭＳとして、Ｓ［ｉ］を次のラインで使用する（ステップＳ７１０）。
また、ＭＳ＞５ならば（ステップＳ７０６、Ｙｅｓ）、網点画素とし（ステップＳ７０８）、ＭＳ＞５でなければ（ステップＳ７０６、Ｎｏ）、非網点画素とする（ステップＳ７０９）。
以上のフローにより、網点画素を判定する。
【００８５】
（ｂ．３）網点検出２
網点検出１は画像データを順方向で処理していたが、逆方向を行って処理を行う。網点検出１では網点の先端部が網点とならない部分を逆読みすることにより、網点となるようにしている。
【００８６】
（ｂ．４）グレー検出１
グレー検出１と２では、文字領域は濃く、文字周辺の領域は薄いことを利用して、文字領域の濃さより薄く、文字周辺の領域より濃いところを中濃度としてグレー判定を行う。
グレー判定で使用する白地は、Ｎ値化の結果白画素とされた画素である白画素とする。
【００８７】
図８を用いて説明する。
（ｂ．４．１）ステップＳ８０１とステップＳ８０２
ＭＳは１画素の前の処理結果で、ＳＳ［ｉ］は１ライン前の処理結果である。
ＭＳとＳＳ［ｉ］を比較することにより、１ライン前の結果と１画素前の処理結果の多い方の値を持ってくる。ＭＳは後述するグレー検出をしてからの白画素の数である。
【００８８】
（ｂ．４．２）ステップＳ８０３：グレーパターン？
グレーパターンとは、図１８に示すグレーパターン・マッチングである。
グレーパターン・マッチングに一致すれば（ステップＳ８０３、Ｙｅｓ）、グレー領域とする。すなわち、中濃度が上記パターンと一致していれば、ステップＳ８０４へ行き、ＭＳ＝５、Ｓ［ｉ］としてグレー画素とする（ステップＳ８０９）。
中濃度とは、Ｎ値化で、Ｄｔａｈ＝０かつ非白画素の時である。
パターン一致しなければステップＳ８０５に行く。
【００８９】
（ｂ．４．３）ステップＳ８０５：白画素？
白画素とは、Ｎ値化の白画素のことである。
白画素があれば（ステップＳ８０５、Ｙｅｓ）、ステップＳ８０７に行く。
白画素がなければ（ステップＳ８０５、Ｎｏ）、ステップＳ８０６に行く。
【００９０】
（ｂ．４．４）ステップＳ８０６
ｓ［ｉ］＝ＭＳとして、ｓ［ｉ］を次のラインで使用する。
ＭＳ＞０であれば、グレー画素とする（ステップＳ８０６、Ｙｅｓ）。
ＭＳ＞０でなければ、非グレー画素とする（ステップＳ８０６、Ｎｏ）。
【００９１】
（ｂ．４．５）ステップＳ８０７
ＭＳ＞０であれば（ステップＳ８０７、Ｙｅｓ）、ＭＳを−１して（ステップＳ８０８）、ステップＳ８０６に行く。
ＭＳ＞０でなければ（ステップＳ８０７、Ｎｏ）、非グレー画素として（ステップＳ８１０）、ｓ［ｉ］＝ＭＳとしてｓ［ｉ］を次のラインで使用する（ステップＳ８１１）。
【００９２】
（ｂ．５）グレー検出２
グレー検出１は順方向で処理していたが、逆方向で処理する。
逆方向で処理することにより、グレー領域先端がグレーとならなかった部分をグレーとすることが可能である。
【００９３】
（ｃ）文字判定部５０９ｃ
文字判定部５０９ｃは、二値化部５０９ａとマスク部５０９ｂの出力結果から、画像中の文字領域を判別する。本実施例の要部である。二値化部５０９ａで文字と判定された領域のうち、主走査線幅の大きな領域を非文字領域にする。ここでは、二値化の結果の黒画素（ｏｎ）を文字画素と見なし、白画素（ｏｆｆ）を非文字画素と見なす。二値化部では明暗のみで二値化を行うため、面積の大きな濃い領域も、文字と判断されることが多い。所定の文字幅を超えて、文字の画素数が連続していれば、文字ではない可能性が高いことから妥当な処理である。文字幅の画素数は、画像データの解像度によって変わる数値であり、これは対応する最大文字幅の仕様から決めればよい。
【００９４】
文字判定部５０９ｃは、文字補正１及び文字補正２と文字判定処理とから実現される。文字補正１は順方向の処理であり、文字補正２は逆方向の処理である。文字補正１及び文字補正２では面積の大きな濃い領域を識別するため、主走査方向の画素数を利用している。副走査方向の画素数は利用していない。これは省メモリ化のためである。使用メモリに厳しい制約がなければ、副走査方向のラインをメモリに蓄積しておいて、副走査方向においても、同様な処理をすることもできる。
【００９５】
本実施例の重要部であるので、文字補正１及び文字補正２については詳細に説明をする。
【００９６】
（ｃ．１）文字補正１
図９に、文字補正１の処理フローを示し、フロー内での各処理の説明をする。なお、二値化部の結果の非文字画素は「二値化結果で非文字」と明示的に表し、ただの非文字と記述している場合は、本文字補正処理で非文字と判断された画素のことを意味する。
【００９７】
（ｃ．１）文字補正１フローの説明
ここで説明する変数は以下の意味を持つ。
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔ：主走査方向の二値化結果文字のカウンタ。
ｂｌｏｃｋ＿ｗ＿ｓｉｚｅ：所定の主走査方向の最大文字画素数＋１（画像解像度により、変わる。）。
ＳＳ［ｉ］：前ライン文字補正の結果。ｉは主走査方向の画素の位置を示す。
ｈ＿ｓｅｑ＿ｆｌａｇ：主走査方向連続性フラグ。
ｗ＿ｓｅｑ＿ｆｌａｇ：副走査方向連続性フラグ。
ｈｉｍｏｊｉ＿ｆｌａｇ：注目画素判定時に、文字幅を超えたかを保存しておく変数。
【００９８】
（ｃ．１．１）ステップＳ９０１：初期化
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔにｂｌｏｃｋ＿ｗ＿ｓｉｚｅを代入。
ｈ＿ｓｅｑ＿ｆｌａｇ、ｗ＿ｓｅｑ＿ｆｌａｇ、ｈｉｍｏｊｉ＿ｆｌａｇ及びＳＳ［ｉ］を０クリア（未定義値にする）。
ここでは、ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔはデクリメント型のカウンタとしていて、最大文字画素数を設定する。
【００９９】
（ｃ．１．２）ステップＳ９０２：二値化結果＝文字
注目画素が二値化部で文字と判断されていれば、ステップＳ９０３へと進む。それ以外はステップＳ９０９へ進む。
【０１００】
（ｃ．１．３）ステップＳ９０３：文字カウント
文字カウンタが０より大きい場合は、ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔをデクリメント。
【０１０１】
（ｃ．１．４）ステップＳ９０４：非文字領域判定＝非文字領域
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔが０のときは、注目画素を端部画素とする非文字領域とみなし、非文字化するためステップＳ９０５に飛び、それ以外のときはステップＳ９０６に飛ぶ。
さらに、ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔが０のときは、ｈｉｍｏｊｉ＿ｆｌａｇ＝１に設定する。それ以外は、ｈｉｍｏｊｉ＿ｆｌａｇ＝０に設定する。
【０１０２】
（ｃ．１．５）ステップＳ９０５：連続非文字化処理
注目画素を右端とし、主走査方向にｂｌｏｃｋ＿ｗ＿ｓｉｚｅの数だけの画素を非文字にする。
この処理は、図１９のように、主走査方向において、注目画素を端部画素とする主走査方向の連続領域が、所定の最大文字幅画素数を超えたときに実行される。この処理によって、主走査方向に最大文字幅画素数を超えた文字領域がなくなる。
【０１０３】
（ｃ．１．６）ステップＳ９０６：連続性カウント
１ライン前／前画素がそれぞれ非文字であれば、ｗ＿ｓｅｑ＿ｆｌａｇ、ｈ＿ｓｅｑ＿ｆｌａｇをそれぞれ１にする。
【０１０４】
（ｃ．１．７）ステップＳ９０７：連続性判断＝連続
ｗ＿ｓｅｑ＿ｆｌａｇまたはｈ＿ｓｅｑ＿ｆｌａｇが１であれば、注目画素をステップＳ９０８にて非文字にする。
【０１０５】
（ｃ．１．８）ステップＳ９０８：非文字化処理
注目画素を非文字にする。
この処理は、主走査方向に最大文字幅を超えているわけではないが、図２０のように、前画素または、前ライン上の注目画素と同じ画素位置の画素が非文字と判断されていたときに実行される。前ラインを参照するためには、ＳＳ［ｉ］を参照する。
【０１０６】
本実施例では、前画素または前ライン上の、注目画素と同じ画素位置の画素が非文字と判断されていたときに実行するとしたが、両者ともに非文字と判断されていたときに実行するとしてもよいし、注目画素の前画素と同じ位置の前ラインの画素が非文字と判断されていたときという条件を加えるなど、注目ライン及び前ラインの、判定済みの画素の文字補正１判定結果を利用して判断してもよい。
【０１０７】
この処理によって局所依存の文字／非文字判定を避けることができ、信頼性が高まる。また、前ラインを参照することで本当は非文字領域でありながら、二値化の結果が文字となっているような副走査方向に長い領域に対しても、非文字化できる可能性が高まる。
【０１０８】
（ｃ．１．９）ステップＳ９０９：初期化
以下のようにカウンタの初期化をする。
・ｈ＿ｓｅｑ＿ｆｌａｇ、ｗ＿ｓｅｑ＿ｆｌａｇ及びｈｉｍｏｊｉ＿ｆｌａｇを０にクリアする。
・ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔにｂｌｏｃｋ＿ｗ＿ｓｉｚｅの値を代入する。
また、この処理を実行したときの注目画素を、文字補正１結果における文字画素とする。この結果は、後段の文字判定で参考にされる。
【０１０９】
本実施例では、後述のように、二値化部の出力結果が「文字」であることが文字画素の条件なので、このステップＳ９０９によって文字補正１結果における「文字」画素と補正されても、最終的には文字画素と判定されない。しかしながら、後段の文字判定における判定条件を変えた実施例ではこの限りではない。
【０１１０】
（ｃ．２）文字補正２
文字補正１では、図２１（ａ）のように、前画素が非文字と判断されていれば、注目画素が二値化部で文字と判定されていても、非文字化処理を行っていた。しかし、注目画素が非文字と判断されたとき、前画素の二値化部の結果が文字であっても非文字化は行っていない。これは、対照性の観点で、望ましくない。文字補正２では、文字補正１では非文字化できなかった図２１（ｂ）のような画素を非文字化するために実行される。
【０１１１】
図１０に文字補正２の処理フローを示し、各処理の説明をする。なお、二値化部の結果の非文字画素は「二値化結果で非文字」と明示的に表し、ただの非文字と記述している場合は、本文字補正処理で非文字と判断された画素のことを意味する。
【０１１２】
（ｃ．２）文字補正２フローの説明
（ｃ．２．１）ステップＳ１００２：二値化結果＝文字
注目画素が二値化部で文字と判断されていれば、ステップＳ１１へと進む。
【０１１３】
（ｃ．２．２）ステップＳ１００３：１画素前＝非文字
前画素が非文字であれば、注目画素をステップＳ１２にて非文字にする。
【０１１４】
（ｃ．２．３）ステップＳ１００４：非文字化処理
注目画素を非文字にする。この処理にて、図２１（ｂ）で示したような画素が非文字化されることとなる。
【０１１５】
（ｃ．２．４）ステップＳ１００５：文字エッジ判断
文字エッジ信号にてエッジが立っていれば、ステップＳ１００６へ飛ぶ。そうでなければ、次の画素へ処理を進める。この処理はなくても構わないが、ないと文字として出力されない線を文字化したい際に利用する。文字エッジ信号とは、前段の像域分離の出力結果である文字判定結果を意味する。
【０１１６】
（ｃ．２．５）ステップＳ１００６：文字化処理
出力結果を文字とする。
この処理は線部を文字とするための処理である。線は文字ではないが、結果出力後に、文字と同じように扱いたい場合が多い。二値化部にて長い線がｏｎになっていても、文字補正処理においては、線が非文字化されることになる。線はエッジとして抽出されている場合が多いため、エッジが立っていれば、非文字化された画素を文字に戻すことで、線部を文字にすることができる。
【０１１７】
なお、ここでいう「文字化」は、あくまで文字補正２の結果が「文字」であるだけである。この結果は、文字補正２の後段の文字判定で参考にされる。このステップＳ１００６で、「文字」とされても、例えば、網点検出１で「網点」と判定されていれば、最終的な出力は「非文字」になる。
【０１１８】
（ｃ．２．６）ステップＳ１００７：後処理
処理対象ラインの結果を、ＳＳ［ｉ］にコピーする。
【０１１９】
（ｃ．３）文字判定
以下の条件を満たせば、文字画素と判定し、満たさない場合は、非文字画素と判定する。
・二値化部の出力結果が「文字」であること。
・網点検出１又は網点検出２の結果が「網点」ではないこと。
・グレー検出１又はグレー検出２の結果が「グレー」でないこと。
・文字補正１又は文字補正２の結果が「非文字」でないこと。
【０１２０】
そして、判定結果を二値化データに反映させて、次段に出力する。
この文字判定の出力が、文字領域検出部５０９の最終的な出力の１つとなる。もう１つは、次に説明する文字なか判定部５０９ｄの出力である。
【０１２１】
（ｄ）文字なか判定部５０９ｄ
黒文字領域（黒文字データ）を出力する処理である。
【０１２２】
（ｄ．１）文字なか判定
図１１は、文字なか判定を示した概念図である。文字なか判定は、図１１のように、文字判定、３ラインＯＲ、絵柄判定、黒判定、抽出Ａ、抽出Ｂ、及び、２つのミラーという一連の処理からなる。
【０１２３】
（ｄ．１．１）文字判定
前段の像域分離の出力結果である文字判定結果と色判定結果の論理演算を取り、文字であってかつ色でなければ、黒文字エッジをして出力する。
【０１２４】
（ｄ．１．２）３ラインＯＲ
文字判定の結果である黒文字エッジの３ライン×１画素のｏｒをする。
本来は、この３ラインＯＲではなく、抽出Ａの後に２ライン遅延を行って抽出Ｂとライン遅延を合わせる必要があるが、抽出Ａの後でライン遅延をすると画像データを遅延する必要が出てくるため、ここで３ラインＯＲ処理をすることにより、ライン遅延を吸収している。
【０１２５】
（ｄ．１．３）絵柄判定
前段の像域分離の出力結果である色判定結果、グレー検出１の結果、グレー検出２の結果、網点検出１の結果、網点検出２の結果のうち、いずれか１つでもｏｎならば、絵柄と判定する。
【０１２６】
（ｄ．１．４）黒判定
前段の像域分離の出力結果である色判定結果が、非色で、かつＮ値化で黒（Ｋ、又は濃い黒）ならば、黒とする。
【０１２７】
（ｄ．１．５）抽出Ａ
以下に図１２を用いて、文字なかを抽出する処理である抽出Ａのフローを示す。抽出Ｂが逆像の画像データに対して行う処理であるのに対し、抽出Ａは、正像の画像データに対して行う処理である。
図１２と、以下の説明では、３ラインＯＲの出力を「黒文字エッジ」、絵柄判定の結果を「絵柄」、黒判定結果を「黒」と省略して説明する。
【０１２８】
（ステップＳ１２０１）注目画素判定
黒文字エッジならば、文字なか領域とする。
絵柄判定の結果が絵柄ならば、絵柄領域とする。
なお、像域分離のアルゴリズム上、文字と絵柄ともｏｎになることはない。
【０１２９】
（ステップＳ１２０２）高濃度判定
注目ラインの黒画素判定の結果が黒でなければ、中間領域とする。
【０１３０】
（ステップＳ１２０３）１ライン前（絵柄）判定
線分処理後の１ライン前の判定結果が絵柄領域であれば、絵柄領域とする。
【０１３１】
（ステップＳ１２０４）１画素前（絵柄）判定
１画素前の判定結果が絵柄領域であれば、絵柄領域とする。
【０１３２】
（ステップＳ１２０５）１ライン前（文字なか）判定
線分処理後の１ライン前の判定結果が文字なか領域であれば、文字なか領域とする。
【０１３３】
（ステップＳ１２０６）１画素前（文字なか）判定
１画素前の判定結果が文字なか領域であれば、文字なか領域とする。
【０１３４】
（ステップＳ１２０７）中間領域処理
絵柄領域でもなく、文字なか領域でもない場合は、中間領域とする。
【０１３５】
（ステップＳ１２０８）絵柄領域処理
ステップＳ１２０１、ステップＳ１２０３、ステップＳ１２０４で、絵柄領域判定された場合は、絵柄領域とする。
【０１３６】
（ステップＳ１２０９）文字なか領域処理
ステップＳ１２０１、ステップＳ１２０５、ステップＳ１２０６で、文字なか領域判定された場合は、文字なか領域とする。
【０１３７】
（ステップＳ１２１０）線分処理
最後に線分処理を行う。線分処理とは、１ライン前の黒判定結果を補正する処理である。
【０１３８】
本実施例では、色判定結果が色でなく、かつ高濃度の画素が、１４４画素以上連続していれば、このモジュール（文字なか）では、中間領域として補正する。次段に出力するデータは、補正しない（線分処理前の結果を次段の判定部に出力する）。
【０１３９】
（ｄ．１．６）抽出Ｂ、ミラー
抽出Ｂでは、逆像（ミラー）画像で文字なか判定をする。
逆像での処理をパイプライン処理で実現するために、抽出Ｂの前後でミラーをしている。抽出Ｂは、抽出部Ａと同一なので説明は省略する。
【０１４０】
（ｄ．１．７）判定部
文字なか判定部は、抽出Ａと抽出Ｂのミラーの出力が、両方が文字なか領域であり、かつ、二値化部の出力が文字ならば黒文字と判定する。出力されるデータは黒文字領域（黒文字データ）である。
【０１４１】
（ｄ．２）濃い黒判定
黒文字抽出部の結果でかつ二値化部の出力が文字ならば黒文字とする。
【０１４２】
（変形例）
本発明は、これまで説明した実施例の構成に限定されたものではなく、以下に説明する構成によっても、本発明の目的を達成することができる。
例えば、図６の文字領域検出部５０９を含む、本実施例の装置の機能をプログラム化し、予めＲＯＭなどの記録媒体に書き込んでおき、このＲＯＭを画像処理装置に搭載して、画像処理装置に搭載したマイクロプロセッサでＲＯＭ内のプログラムを実行するという構成にする。
【０１４３】
なお、記録媒体としては半導体媒体（たとえば、ＲＯＭ、不揮発性メモリカード等）、光媒体（たとえば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（たとえば、磁気テープ、フレキシブルディスク等）のいずれであってもよい。
【０１４４】
また、ロードしたプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部又は全部を行い、その処理によって本実施例の装置の機能が実現される場合も含まれる。
【０１４５】
さらに、上述したプログラムをサーバコンピュータのＨＤＤ等の記憶装置に格納しておき、ネットワークで接続された利用者のコンピュータからダウンロードして頒布する場合、また、サーバコンピュータから配信して頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【０１４６】
このように、本発明の機能をプログラムして、記録媒体に記録し頒布することによって、コスト、可搬性、汎用性を向上させることができる。
【０１４７】
（実施例の効果）
本実施例によれば、文字領域を極力失わずに抽出するために、エッジ情報にて一次選別するのではなく、濃度情報を基に判断を行う。図２８に示したように、従来技術では救えなかった図２７のようなケースにも対応できる可能性が高まる。さらに、特許文献１においては、注目ラインのエッジ組と前ラインのエッジ組の情報をメモリに保持する必要があった。本技術においては、前ラインの出力結果のみ保持すればよいので、省メモリな処理が可能である。
【０１４８】
また、本実施例によれば、注目ラインのデータのみメモリに確保されていれば非文字化判断が可能であることと、文字の仕様上の最大画素数を超えないものは文字とならないので、省メモリかつ文字領域を極力失わない文字領域判別が可能となる。
【０１４９】
また、本実施例によれば、判定済みの文字領域判別結果を伝播させることになるので、局所的な情報に加えて、広範囲な情報を活用することとなり、信頼性が高まると同時に、局所依存を避けられる。さらには、注目ラインだけでなく前ラインの文字領域判別結果を利用することで、副走査方向に長い非文字領域の検出が、省メモリな構成で実現できる。
【０１５０】
また、本実施例によれば、文字領域とは考えにくい網点領域・中濃度領域を非文字化できるので、文字領域の精度がさらに高まる。
【０１５１】
また、本実施例によれば、画像データのエッジを文字領域とすることで、非文字領域と判断される可能性のある細い線分が、文字領域と判断できる。
【実施例２】
【０１５２】
本発明の第２の実施例を示す。上述の実施例１とは、文字補正１の処理のみが異なるだけであるので、文字補正１のみを説明するものとする。
【０１５３】
この処理は、文字補正のバリエーションの１つである。暗いために二値化部でｏｎとなった領域が続いても、図２２に示したパターンのように、画像中のノイズにより、数画素程度、途中に白となるケースがある。数画素程度ｏｆｆ（文字補正では、ｏｆｆは非文字とみなされる）となっているケースにも対応するために、二値化部のｏｎカウント時に、数画素ｏｆｆがあっても処理を続ける処理を行う。
【０１５４】
図１３に、本実施例の文字補正１のフローチャートを示し、各処理の説明をする。
なお、二値化部５０９ａの結果の非文字画素は、「二値化結果で非文字」と明示的に表し、ただの非文字と記述している場合は、本文字補正処理１で非文字と判断された画素のことを意味する。
【０１５５】
（１）文字補正１フローの説明
ここで説明する変数は、以下の意味を持つ。
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔ：主走査方向の二値化結果文字のカウンタ。
ｂｌｏｃｋ＿ｗ＿ｓｉｚｅ：所定の主走査方向の最大文字画素数＋１（画像解像度により、変わる。）。
ＳＳ［ｉ］：前ライン文字補正の結果。ｉは主走査方向の画素の位置を示す。
ｈ＿ｓｅｑ＿ｆｌａｇ：主走査方向連続性フラグ。
ｗ＿ｓｅｑ＿ｆｌａｇ：副走査方向連続性フラグ。
ｈｉｍｏｊｉ＿ｆｌａｇ：注目画素判定時に、文字幅を超えたかを保存しておく変数。
ｈｏｌｅ＿ｃｏｕｎｔ：ノイズカウンタ。
ｈｏｌｅ＿ｓｉｚｅ：ノイズ許容サイズ（画像解像度により、変わる。）。
【０１５６】
（１．１）ステップＳ９０１：初期化
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔにｂｌｏｃｋ＿ｗ＿ｓｉｚｅを代入。
ｈ＿ｓｅｑ＿ｆｌａｇ、ｗ＿ｓｅｑ＿ｆｌａｇ、ｈｉｍｏｊｉ＿ｆｌａｇ、ＳＳ［ｉ］を０にクリア。
ここでは、ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔ、ｈｏｌｅ＿ｃｏｕｎｔはデクリメント型のカウンタとしていて、最大文字画素数を設定する。
【０１５７】
（１．２）ステップＳ９０２：二値化結果＝文字
注目画素が二値化部で文字と判断されていれば、ステップＳ１３０１へと進む。それ以外は、ステップＳ１３０３へ進む。
【０１５８】
（１．３）ステップＳ１３０１：ノイズカウンタ初期化
ｈｏｌｅ＿ｃｏｕｎｔをｈｏｌｅ＿ｓｉｚｅに初期化する。
【０１５９】
（１．４）ステップＳ９０３：文字カウント
文字カウンタが０より大きい場合は＝ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔをデクリメント。
【０１６０】
（１．５）ステップＳ９０４：非文字領域判定＝非文字領域
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔが０のときは、注目画素を端部画素とする非文字領域とみなし、非文字化するためステップＳ１３０２に飛ぶ。
さらに、ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔが０のときは、ｈｉｍｏｊｉ＿ｆｌａｇ＝１に設定。それ以外はｈｉｍｏｊｉ＿ｆｌａｇ＝０に設定する。
ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔが０以外のときは、ステップＳ９０６に飛ぶ。
【０１６１】
（１．６）ステップＳ１３０２：連続非文字化処理’
注目画素を右端とし、主走査方向にｂｌｏｃｋ＿ｗ＿ｓｉｚｅの数だけの画素を非文字にする。ノイズとみなした画素は非文字とみなされているため、非文字化処理にしなくてもよい。
【０１６２】
（１．７）ステップＳ９０６：連続性カウント
１ライン前、又は前画素がそれぞれ非文字であれば、ｗ＿ｓｅｑ＿ｆｌａｇ、ｈ＿ｓｅｑ＿ｆｌａｇをそれぞれ１にする。
【０１６３】
（１．８）ステップＳ９０７：連続性判断＝連続
ｗ＿ｓｅｑ＿ｆｌａｇまた、はｈ＿ｓｅｑ＿ｆｌａｇが１であれば、注目画素をステップＳ８にて非文字にする。
【０１６４】
（１．９）ステップＳ９０８：非文字化処理
注目画素を非文字にする。
【０１６５】
この処理は、主走査方向に最大文字幅を超えているわけではないが、図２０のように、前ラインの注目画素と同じ画素位置の画素又は注目ラインの前画素が非文字と判断されていたときに実行される。
【０１６６】
また、本実施例では前ラインの注目画素と同じ画素位置の画素、また、は注目ラインの前画素が非文字と判断されていたときに実行するとしたが、必要に応じて、両者ともに非文字と判断されていたときに実行するとしてもよいし、注目画素の前画素と同じ位置の前ラインの画素が非文字と判断されていたときという条件を付加してもよい。
【０１６７】
（１．１０）ステップＳ１３０３：初期化
ｈ＿ｓｅｑ＿ｆｌａｇ、ｗ＿ｓｅｑ＿ｆｌａｇを０クリアする。
また、この処理を実行したときの注目画素を、文字補正１結果における文字画素とする。この結果は、後段の文字判定で参考にされる。
【０１６８】
本実施例では、後述のように、二値化部の出力結果が「文字」であることが文字画素の条件なので、このステップＳ９０９によって文字補正１結果における「文字」画素と補正されても、最終的には文字画素と判定されない。しかしながら、後段の文字判定における判定条件を変えた実施例ではこの限りではない。
【０１６９】
（１．１１）ステップＳ１３０４：ノイズ許容範囲？
ｈｏｌｅ＿ｃｏｕｎｔが０であれば、主走査方向において、注目画素を端部画素とした画素の並びがノイズ許容範囲を超えたことを意味する（図２３参照）。
ｈｏｌｅ＿ｃｏｕｎｔが０であればステップＳ１３０５へ、ｈｏｌｅ＿ｃｏｕｎｔが０以外のときはステップＳ１３０６へ進む。
【０１７０】
（１．１２）ステップＳ１３０５：ノイズカウント
二値化部の結果が０であっても、ノイズの影響で０になった可能性があるため、ノイズの影響か否かを個々では判断せずに以下のように、ノイズカウンタをデクリメントして次の画素へと処理を進める。さらに、ｈｏｌｅ＿ｃｏｕｎｔをデクリメントする。
【０１７１】
（１．１３）ステップＳ１３０６：初期化
二値化部で０になった画素がｈｏｌｅ＿ｃｏｕｎｔだけ主走査方向に連続したときに実行される。ノイズの影響ではないと判断して、カウンタを初期化する。ｂｌｏｃｋ＿ｗ＿ｃｏｕｎｔをｂｌｏｃｋ＿ｗ＿ｓｉｚｅに、ｈｉｍｏｊｉ＿ｆｌａｇは０クリアする。
【０１７２】
（実施例の効果）
本実施例によれば、上述の実施例１で述べた、非文字化判断のためのカウンタ及び変数を、例えば、たった１画素のデータのような、少画素のデータのみによって初期化しない結果によって、画像ノイズに対する耐久性が強まる。
【実施例３】
【０１７３】
本発明の第３の実施例を示す。上述した実施例１、２とは、図６における文字判定部５０９ｃの行う文字補正処理が異なるだけであるので、それ以外の部分の構成や処理内容（文字判定部５０９ｃの行う文字判定処理も含む）についての説明は省略することにする。図１４、図２４、図２５を参照しながら説明する。
【０１７４】
図２４は、本実施例の処理を、図形を用いて示した概念図であり、同じく図２５は、本実施例の処理を、変数のリストを用いて表現した概念図である。
本実施例における文字判定部５０９ｃは、図２４に示したような、注目画素から始まる文字画素列を非文字画素に補正する処理を行う。そのことを示したのが図２４の２番目の状態である。ただし、文字画素列の個数が所定のしきい値を超えた場合にこの処理を行うのであって、超えない場合は何もしない（超えない場合の処理は図２４において図示を省略した）。
【０１７５】
本実施例が上述した実施例１、２と異なる点を２点挙げる。
本実施例の文字補正では、注目画素は１回の処理の後、隣接する画素に移るのではなくて、常に、最後に二値化部の結果がｏｆｆだった画素の次に移る。また、そのことを示したのが図２４の３番目の状態である。
また、この文字補正は、実施例１、２のように主走査線方向に対して順方向及び逆方向に処理を行う方式をとらない。なぜならば、アルゴリズム上、文字補正すべき画素列の端部（主走査方向に対して順方向ならば左端）が、非文字化補正されずに残ることはないからである。
【０１７６】
文字補正をするべき注目ラインは、注目ライン上のある画素についてｏｎとｏｆｆの二値で表現する二値化部５０９ａの結果を要素とする集合として考えられる。したがって、画素の位置をインデックスナンバー（添字）、ブール型変数を要素として、配列で表現することができる。その配列をｓとすると、ｓ［ｉ］は、主走査方向にｉ番目の画素であり、ｓ［ｉ］の値は、二値化結果の値（ｏｎかｏｆｆ、又は０か１）である。したがって、ある画素ｓ［ｉ］を文字画素から非文字画素に補正するという処理は、ｓ［ｉ］の値を１から０に変更することで表現できる。
【０１７７】
図２５に示したように、本文字補正は、ｊが所定のしきい値ｔｈｄを超えた場合に、ｓ［ｉ］からｓ［ｉ＋ｊ］までの値を、１から０に変更する処理である。図２５の、（ａ．１）と（ｂ．１）は、注目ラインを配列の要素を列挙して表した図であり、（ａ．２）は文字補正前の配列の値を列挙した図の１例であり、（ｂ．２）は補正後の配列の値を列挙した図の１例である。
【０１７８】
図１４に、本実施例の文字補正処理のフローチャート図を示し、これを参照しながら説明する。
まず、図１４のフローチャートで用いられる変数及び演算子の定義をする。
＝，＝＝，＝＜，＜，＊，ｆｏｒ：  演算子。＝は代入演算子、＝＝，＝＜，＜は比較演算子、＊は積を求める演算子、ｆｏｒは繰り返し演算を行う条件文を構成する。これらは一般的なプログラミング言語で用いられる用法と同じである。
【０１７９】
ｉ，ｊ，ｋ：  整数。ｉは画素位置、ｊとｋは作業変数で特に意味はない。
ｓ，ｓｓ，ｒ：  配列。いずれも要素がブール型である１次元配列である。ｓは注目ラインの文字補正ｃの処理結果を最終的に表すことになる配列である。ｓｓは注目ラインの１つ前のラインの文字補正ｃの処理結果を表す配列である。ｒは注目ラインの二値化部５０９ａの結果を表す配列である。いずれの配列の要素も、１（真）であれば文字と思われる画素であることを示し、０（偽）であれば非文字と思われる画素であることを示す。
【０１８０】
ＭＳ：  状態変数。ブール型でよい。作業変数であり特に意味はないが、本実施例では１（真）がＭＳの値であり続ける限り、隣接する画素における二値化部５０９ａの結果が１（真）であることになる。
ｉｍａｘ：  定数。画素位置ｉの取りうる値の最大を示す。例えばＡ４の用紙を１２００ｄｐｉで縦に読み込んだ場合、１列に１０５００画素が並び、ｉは０から始まることを想定しているので、ｉｍａｘは１０４９９である。この値はもちろん解像度や用紙サイズによって変わる。
ｔｈｄ：  定数。このしきい値を超えて二値化部５０９ａが文字画素であると判断した画素が続くと、文字画素であるとは考えられなくなる値である。
【０１８１】
ステップＳ１４０１：初期化。
注目ラインに本文字補正ｃ処理を施す前に、変数の初期化を行う。
具体的には、ｓ＝ｒ、ｉ＝０とする。ｓ＝ｒの前にｓを未定義値にしてもよい。ｉは配列ｓのインデックスナンバーであるが、注目ラインにおける注目画素の画素位置でもあるので、１から初めてもよい。
【０１８２】
ステップＳ１４０２：処理終了判断。
注目画素の位置が、ｉｍａｘを超えた位置にくることはないので、条件「ｉ＜ｉｍａｘ」を満たさない場合は（ステップＳ１４０２、Ｎｏ）、本処理が現在注目しているラインにおける処理は終わりである。ループを抜けて、後処理であるステップＳ１４１０に進む。満たす場合は（ステップＳ１４０２、Ｙｅｓ）、ステップＳ１４０３に進む。
【０１８３】
ステップＳ１４０３：ループにおける初期化。
作業変数であるｊとＭＳを初期化する。これらは局所変数であるので、ステップＳ１４０１で初期化する必要はなかった。次のステップＳ１４０４に進む。
【０１８４】
ステップＳ１４０４：連続性判断処理（１）。
次のステップＳ１４０５と併せて連続性を判断する処理を行う。本実施例では連続性をみるのに、二値化の結果が真偽値で表されることに注目して、注目画素からｊ離れたところの画素までの真偽値の積を取る方式をとった。ｉからｉ＋ｊまでの全ての画素が真（１）であるならば、それらの真偽値の積は真（１）である。
【０１８５】
ステップＳ１４０５：連続性判断処理（２）。
状態を表す作業変数ＭＳの値が０なら（ステップＳ１４０５、Ｙｅｓ）、ｓ［ｉ＋ｊ］は、二値化部５０９ａの結果が非文字であった画素である。１なら（ステップＳ１４０５、Ｎｏ）、ｊの値をインクリメントしてステップＳ１４０４の処理を繰り返す。
ＭＳが０になるまで、ステップＳ１４０４とステップＳ１４０５とステップＳ１４０８の処理を繰り返すのであるから、ｓ［ｉ］からｓ［ｉ＋ｊ−１］までの画素は全て二値化部５０９ａの結果が文字であった画素である。
【０１８６】
ステップＳ１４０６：しきい値を超えたかどうか判断する処理。
上記のステップＳ１４０４とステップＳ１４０５とステップＳ１４０８の処理によって、一続きの文字画素列を取り出すことができた。次は、この中から、文字としては長すぎる列を見つけ出して、非文字化すればよい。
ステップＳ１４０４とステップＳ１４０５とステップＳ１４０８の処理では、作業変数ｊをインクリメントして一続きの文字画素列の長さを格納していたので、これと所定のしきい値ｔｈｄとを比較する。
条件「ｊ＞ｔｈｄ」を満たさない場合（ステップＳ１４０６、Ｎｏ）は、この一続きの文字画素列は真正の文字画素と思われる。ステップＳ１４０９に進む。満たす場合（ステップＳ１４０６、Ｙｅｓ）は、ステップＳ１４０７に進み、この画素列の非文字化を行う。
【０１８７】
ステップＳ１４０７：非文字化処理。
非文字化は、二値化部５０９ａの結果が真である画素の真偽値を反転させればよい。ステップＳ１４０４とステップＳ１４０５とステップＳ１４０８の処理で、画素列の長さは作業変数ｊに格納されており、この画素列の端部画素の位置はｉである。したがって、ｉからｉ＋ｊまでの画素の真偽値を反転させる（つまり、偽にする）。
ｉ≦ｋ＜ｉ＋ｊであるｋについて、ｓ［ｋ］＝０とすればよい。
この非文字化処理を終えると、ステップＳ１４０９に進む。
【０１８８】
ステップＳ１４０９：インクリメント。
次の文字画素列の端部画素を見つけるため、ｉの値を、ステップＳ１４０４で最後に非文字画素を見つけた画素位置の次の画素にインクリメントする。
そして、これら、ステップＳ１４０３からステップＳ１４０９までの一連の処理は、ステップＳ１４０２の条件を満たさないでループから抜けるとき（ステップＳ１４０２、Ｎｏ）まで繰り返される。
【０１８９】
ステップＳ１４１０：後処理。
上記ループを抜けたことは、注目ラインに対する本文字補正処理が終了したことを意味する。したがって、注目ラインは次のラインになる。ｓｓ＝ｓとする。
前ラインの文字補正結果を利用する場合は、このステップＳ１４１０が必須である。
【０１９０】
（実施例のまとめ）
本実施例における文字補正処理をまとめる。
二値化部５０９ａは、本文字補正処理を行う文字判定部５０９ｃに、文字補正の判断材料になる情報（画像データの濃度を基に二値化処理された画像データ）を、提供する。
【０１９１】
したがって、二値化部５０９ａは、画像データの濃度を基に画像データの二値化を行う二値化手段と、その画像データの出力の濃い画素を文字画素として出力の薄い画素を非文字画素とする判断手段の機能を果たす。
【０１９２】
そして、文字判定部５０９ｃは、ステップＳ１４０３とステップＳ１４０４とステップＳ１４０５とステップＳ１４０８の処理で、走査方向に連続する二値化部５０９ａによって文字画素とされた画素の数を計数する。また、ステップＳ１４０６とステップＳ１４０７の処理で、その計数された文字画素連続数ｊが所定のしきい値ｔｈｄを超えたときにその連続した文字画素を非文字画素に補正する。
【０１９３】
したがって、文字判定部５０９ｃは、走査方向に連続する、判断手段によって文字画素とされた画素の数を計数する文字画素連続数計数手段と、その文字画素連続数計数手段によって計数された文字画素連続数が所定の第１のしきい値を超える場合に、連続するその文字画素を非文字画素とする補正を行う第１の文字補正手段の機能を果たす。
【０１９４】
（実施例の効果）
本実施例によれば、注目ラインの濃度情報を基にした二値化データさえメモリに確保されていれば非文字化判断が可能になり、なおかつ文字の仕様上の最大画素を超えないものは文字とならないので、画像データの、エッジ組情報を含むエッジ情報に依存せず、省メモリであり文字領域を極力失わない文字領域判別が可能となる。
【０１９５】
また、本実施例によれば、非文字化すべき画素列の端部画素を非文字化する処理をするため、主走査方向に対して順方向と逆方向の２回、類似の処理を行う必要がない。したがって、さらに処理に掛かる時間を短縮することが可能になる。
【０１９６】
（本実施例の変形例）
ｒを、二値化部５０９ａの結果が格納された２次元配列Ｒの要素である１次元配列ｒとしてもよい。例えば、Ｒ［ｌ］＝ｒとして、Ｒのインデックスナンバーｌは注目ラインの副走査方向における位置を表すことになる。ただし、この場合は二次元配列を用意して、比較的大きなメモリ空間を確保する必要があるので、装置の肥大化を招く恐れがある。
【０１９７】
また、注目ラインの二値化結果だけではなく、注目ラインの一つ前のライン（以下、前ラインと記述）の二値化結果及び文字補正結果を利用して文字補正処理をしてもよい。
例えば、注目画素から連続して文字画素が連なったとき、その連続数が所定のしきい値ｔｈｄを超えなかった場合であっても、注目画素近傍の二値化結果及び文字補正結果が所定の条件を満たせば、注目画素を含む画素列を非文字化するようにする。
【０１９８】
具体的には、図１４のステップＳ１４０６のＮｏからステップＳ１４０９に行く手順の間に、その条件判定を行う。
注目画素近傍の二値化結果及び文字補正結果が満たすべき所定の条件の１例としては、以下の２点を同時に満たすというものにする。
・注目画素を端部として連続する文字画素列と、主走査方向において同じ位置にある前ラインの画素列の全てが、二値化結果において文字画素判定されていること。
・その前ラインの画素列の全てが、本文字補正処理で非文字画素に補正されたこと。
【０１９９】
上記のように本変形例の処理を定義した場合の、処理プログラムの概略構成を示す。
図１４のステップＳ１４０６のＮｏからステップＳ１４０９に行く手順の間に、ｉとｊが、以下の条件式を満たす場合、ｓ［ｉ］からｓ［ｉ＋ｊ］を非文字画素に補正する。
ｓｓ［ｉ］・ｓｓ［ｉ＋１］・．．．・ｓｓ［ｉ＋ｊ］＝＝１
非文字画素への補正は、図１４のステップＳ１４０７と同じ処理なので省略する。
【０２００】
本変形例において、本実施例の文字判定部５０９ｃは、注目画素が文字画素とされた画素である場合に、注目ライン及び前ラインにおける第１の文字補正手段によって非文字画素に補正された画素の配置を基に、前記注目画素を含む画素列を非文字画素に補正する第２の文字補正手段の機能を果たす。
【０２０１】
本変形例によれば、判定済みの文字領域判別結果を副走査方向に伝播させることになるので、局所的な情報に加えて、広範囲な情報を活用することとなり、信頼性が高まると同時に、局所依存を避けられる。さらには、注目ラインだけでなく前ラインの文字領域判別結果を利用することで、副走査方向に長い非文字領域の検出が、省メモリな構成で実現できる。
【産業上の利用可能性】
【０２０２】
本発明は、デジタル画像処理装置や、デジタル画像処理装置を搭載したスキャナ配信装置、画像形成装置などに利用可能である。また、本発明のデジタル画像処理方法は、コンピュータで実行可能なプログラムにも利用可能である。
【図面の簡単な説明】
【０２０３】
【図１】実施例１のデジタル式カラー画像処理装置の概略構成を示したブロック図である。
【図２】図１のスキャナ補正部３の概略構成を示したブロック図である。
【図３】図１のプリンタ補正部１２の概略構成を示したブロック図である。
【図４】図１のコントローラ６の概略構成を示したブロック図である。
【図５】図４の出力フォーマット変換部４０３の概略構成を示したブロック図である。
【図６】図５の文字領域検出部５０９の概略構成を示したブロック図である。
【図７】実施例１の網点検出処理を示したフローチャート図である。
【図８】実施例１のグレー検出処理を示したフローチャート図である。
【図９】実施例１の文字補正１処理を示したフローチャート図である。
【図１０】実施例１の文字補正２処理を示したフローチャート図である。
【図１１】実施例１の文字なか判定処理を示した概念図である。
【図１２】文字なか判定の抽出Ａ処理を示したフローチャート図である。
【図１３】実施例２の文字補正１処理を示したフローチャート図である。
【図１４】実施例３の文字補正処理を示したフローチャート図である。
【図１５】実施例１の孤立点パターンを示した図である。
【図１６】実施例１の白パターンを示した図である。
【図１７】実施例１の網点パターンを示した図である。
【図１８】実施例１のグレーパターンを示した図である。
【図１９】実施例１の文字補正１の第１非文字化処理を示した概念図である。
【図２０】実施例１の文字補正１の第２非文字化処理を示した概念図である。
【図２１】（ａ）は、実施例１の文字補正１処理を示した概念図であり、（ｂ）は、実施例１の文字補正１処理の問題点を示した概念図である。
【図２２】実施例２のノイズが入った二値化結果の例を示した概念図である。
【図２３】実施例２の、注目画素を端部画素とした画素の並びがノイズ許容サイズを超えた例を示した概念図である。
【図２４】実施例３の文字補正処理を、図形を用いて説明するための図である。
【図２５】実施例３の文字補正処理を、配列を用いて説明するための図である。
【図２６】従来技術である特許文献１のエッジ組を基に文字領域抽出を行う処理を説明するための図である。
【図２７】従来技術である特許文献１の問題点を説明するための図である。
【図２８】エッジ組のみならず濃度情報にも基づいて文字領域抽出を行うことを説明するための図である。
【符号の説明】
【０２０４】
１    原稿
２    スキャナ
３    スキャナ補正部
４    圧縮処理部
５    汎用バス
６    コントローラ
７    ＨＤＤ
８    ＮＩＣ
９    ネットワーク
１０    外部ＰＣ端末
１１    伸張処理部
１２    プリンタ補正部
１３    プロッタ
１４    コピー画像
１５    像域分離部
１６    スキャナγ部
１７    フィルタ処理部
１８    原稿種判定部
１９    色補正処理部
２０    プリンタγ部
２１    中間調処理部
２２    エッジ量検出部
４０１    ページメモリ
４０２    圧縮伸張処理部
４０３    出力フォーマット変換部
４０４    入力フォーマット変換部
４０５    データＩ／Ｆ部
５０１    色変換部
５０２    解像度変換部ａ
５０３    ＴＩＦフォーマット生成部
５０４    ＪＰＧフォーマット生成部
５０５    圧縮フォーマット生成部
５０６    データＩ／Ｆ部
５０７    解像度変換部ｂ
５０８    解像度変換部ｃ
５０９    文字領域検出部
５１０    背景画像生成部
５１１    文字画像生成部
５１２    黒画像生成部
５１３    二値画像生成部
５１４    画像ファイル合成部
５０９ａ    二値化部
５０９ｂ    マスク部
５０９ｃ    文字判定部
５０９ｄ    文字なか判定部
【図１】
2008022286.tif 000003
【図２】
2008022286.tif 000004
【図３】
2008022286.tif 000005
【図４】
2008022286.tif 000006
【図５】
2008022286.tif 000007
【図６】
2008022286.tif 000008
【図７】
2008022286.tif 000009
【図８】
2008022286.tif 000010
【図９】
2008022286.tif 000011
【図１０】
2008022286.tif 000012
【図１１】
2008022286.tif 000013
【図１２】
2008022286.tif 000014
【図１３】
2008022286.tif 000015
【図１４】
2008022286.tif 000016
【図１５】
2008022286.tif 000017
【図１６】
2008022286.tif 000018
【図１７】
2008022286.tif 000019
【図１８】
2008022286.tif 000020
【図１９】
2008022286.tif 000021
【図２０】
2008022286.tif 000022
【図２１】
2008022286.tif 000023
【図２２】
2008022286.tif 000024
【図２３】
2008022286.tif 000025
【図２４】
2008022286.tif 000026
【図２５】
2008022286.tif 000027
【図２６】
2008022286.tif 000028
【図２７】
2008022286.tif 000029
【図２８】
2008022286.tif 000030