(57)【要約】【課題】傾きのある画像の特定の領域の種別を従来よりも正確に判定できるようにする。【解決手段】画像処理の対象となるべき対象画像に基づいてエッジ画像を生成し、そのエッジ画像の所定の領域においてエッジを表す画素であるエッジ画素に関して、その所定の領域内の縦方向の各位置において横方向に存在するエッジ画素の個数を表す第１のヒストグラムと、横方向の各位置において縦方向に存在するエッジ画素の個数を表す第２のヒストグラムとを生成し（＃６１および＃６８）、それらヒストグラムにおいて極値が所定の閾値を超える山の幅の分散値を求め（＃６７および＃７３）、その分散値に基づいて、所定の領域が表領域またはグラフ領域であるか否かを判定する（＃７８）。【選択図】図２４
2008112215.tif 000002
【特許請求の範囲】
【請求項１】
画像処理の対象となるべき対象画像に含まれる領域の種別を判定する領域判定方法であって、
前記対象画像に基づいてエッジ画像を生成するエッジ画像生成ステップと、
生成された前記エッジ画像の所定の領域においてエッジを表す画素であるエッジ画素に関して、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成する、ヒストグラム生成ステップと、
生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出ステップと、
求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定ステップと、
を有することを特徴とする領域判定方法。
【請求項２】
画像処理の対象となるべき対象画像に含まれる所定の領域の種別を判定する領域判定方法であって、
前記対象画像からエッジ画像を生成した場合に前記所定の領域においてエッジを表す画素をエッジ画素として、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成した場合に、当該第１のヒストグラムおよび当該第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出ステップと、
求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定ステップと、
を有することを特徴とする領域判定方法。
【請求項３】
前記判定ステップにおける判定を、生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の個数と前記分散値算出ステップで求められた分散値とに基づいて行う、
請求項２記載の領域判定方法。
【請求項４】
前記判定ステップにおける判定を仮の判定とし、
前記所定の領域を表領域およびグラフ領域のうちの少なくとも一方であると前記判定ステップにおいて仮に判定した場合に、前記エッジ画像を生成した場合に前記所定の領域においてエッジを表す部分の量に関する、当該所定の領域内における割合の値を求め、求めた値に基づいて、当該所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する本判定ステップを有する、
請求項２または３記載の領域判定方法。
【請求項５】
前記所定の領域は、小領域、下地領域、写真領域、表領域、グラフ領域、またはそれら以外のその他領域のいずれかであり、
前記所定の領域が小領域であるか否かを判定し、
小領域でないと判定した場合に、当該所定の領域が下地領域または前記その他領域のいずれかであるか否かを判定し、
下地領域および前記その他領域のいずれでもないと判定した場合に、当該所定の領域に含まれる画像の傾きを補正する処理を行い、
画像の傾きを補正する処理が行われた後の前記所定の領域について前記第１のヒストグラムおよび前記第２のヒストグラムを生成する、
請求項２ないし４のいずれかに記載の領域判定方法。
【請求項６】
前記所定の領域を表領域およびグラフ領域のうちの少なくとも一方であると判定した場合に、
前記対象画像から２値画像を生成した場合に前記所定の領域においてドットが打たれる画素をドット画素として、当該所定の領域内の連なった当該ドット画素である連結画素群の境界に接する画素の個数に関する割合の値を求め、
求められた値に基づいて、前記所定の領域が表領域またはグラフ領域のいずれであるかを判定する、
請求項２ないし５のいずれかに記載の領域判定方法。
【請求項７】
前記所定の領域は、前記対象画像から２値画像を生成した場合の当該２値画像においてドットが打たれる画素をドット画素とした場合に、連なった当該ドット画素を包含する矩形の領域である、
請求項２ないし６のいずれかに記載の領域判定方法。
【請求項８】
画像処理の対象となるべき対象画像に含まれる所定の領域の種別を判定する領域判定方法であって、
前記対象画像から２値画像を生成した場合の当該２値画像においてドットが打たれる画素をドット画素とした場合に連なった当該ドット画素である連結画素群を包含する矩形の領域であり、かつ小領域、下地領域、写真領域、表領域、グラフ領域、またはそれら以外のその他領域のいずれかである前記所定の領域の中から、まず、小領域を抽出し、
抽出されずに残った前記所定の領域の中から下地領域または前記その他領域を抽出し、
さらに残った前記所定の領域に含まれる画像の傾きを補正する処理を行い、
画像の傾きを補正する処理が行われた後の前記所定の領域について、
前記対象画像からエッジ画像を生成した場合に前記所定の領域においてエッジを表す画素をエッジ画素として、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成し、
生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求め、
求められた分散値に基づいて、当該分散値に係る前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを仮判定し、
表領域およびグラフ領域のうちの少なくとも一方であると仮判定された前記所定の領域について、
前記エッジ画像を生成した場合に前記所定の領域においてエッジを表す部分の量に関する、当該所定の領域における割合の値を求め、
求められた値に基づいて、当該値に係る前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定し、
表領域およびグラフ領域のうちの少なくとも一方であると判定された前記所定の領域について、
前記所定の領域内の前記連結画素群の境界に接する画素の個数に関する割合の値を求め、
求められた値に基づいて、当該値に係る前記所定の領域が表領域またはグラフ領域のいずれであるかを判定する、
ことを特徴とする領域判定方法。
【請求項９】
画像処理の対象となるべき対象画像に含まれる所定の領域の種別を判定するための領域判定装置であって、
前記対象画像からエッジ画像を生成した場合に前記所定の領域においてエッジを表す画素をエッジ画素として、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成した場合に、当該第１のヒストグラムおよび当該第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出手段と、
求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定手段と、
を有することを特徴とする領域判定装置。
【請求項１０】
画像処理を実行するための画像処理装置であって、
画像処理の対象となるべき対象画像に基づいてエッジ画像を生成するエッジ画像生成手段と、
生成された前記エッジ画像の所定の領域においてエッジを表す画素であるエッジ画素に関して、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成する、ヒストグラム生成手段と、
生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出手段と、
求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定手段と、
前記判定手段による判定の結果に応じた画像処理を前記対象画像の当該判定に係る領域に対して施す画像処理実行手段と、
を有することを特徴とする画像処理装置。
【請求項１１】
画像処理を行うコンピュータに、
画像処理の対象となるべき対象画像に基づいてエッジ画像を生成するエッジ画像生成ステップと、
生成された前記エッジ画像の所定の領域においてエッジを表す画素であるエッジ画素に関して、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成する、ヒストグラム生成ステップと、
生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出ステップと、
求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定ステップと、
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
画像に含まれる特定の領域の種別を判定するための方法または装置などに関する。
【背景技術】
【０００２】
スキャナなどで読み取った原稿の画像データ（画像）から特定の領域を抽出し、抽出した領域ごとに、その領域に応じた画像処理を施すことが行われている。
【０００３】
このような画像処理においては、まず、抽出した領域に含まれる画像の特性に応じて、その領域の種別（属性）を判定する処理を行う。
【０００４】
従来、そのような判定の処理の一例として、その領域が「表」についての画像を含む表領域であるか否かを判定することが行われている。
【０００５】
表領域についての判定を行う場合、その領域の画像に示される罫線の本数をカウントし、その本数に応じて判定を行うことが一般的である。これに関連するものとして特許文献１または２に示されるような方法が提案されている。
【０００６】
特許文献１の方法では、入力された画像情報から、連続している黒画素を検出することにより矩形の領域を認識する。認識した領域について、その領域の幅、高さ、面積、画素密度を用いて「文字」、「図形」、「表」などの種別を仮識別する。「表」と仮識別された領域に対ついて、ヒストグラムを作成し、そのヒストグラムの形状が所定の閾値以上である場所を罫線とみなす。そして、罫線の数が所定の閾値を超えている場合にその領域の種別が「表」であると確定する。
【０００７】
特許文献２の方法では、文書画像から表領域を含む図形領域を抽出する。そこから、所定の閾値以上黒画素が連続している部分を罫線として取り出し、罫線画像を生成する。その罫線画像から表領域度を求め、その表領域度をもとに、対象画像が表領域か否かを判定する。
【０００８】
また、上記のように罫線の本数をカウントする方法以外にも、特許文献３に示されるような方法が提案されている。
【０００９】
特許文献３の方法では、画像データの黒画素領域の外接矩形を求め、その外接矩形の幅および高さが所定の値より大きいかどうかを判定する。大きい場合に、その外接矩形内に２か所以上の交点があるかどうかを判断し、あれば、その外接矩形を表領域と判定する。
【特許文献１】特開平６−２０８６２５
【特許文献２】特開平８−２４９４１９
【特許文献３】特開平８−４４８２２
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１のような方法は、画像が傾いている場合には有効ではない。なぜならば、画像が傾いていると、そこに含まれる罫線が複数のライン（画素を縦または横に連ねたライン）に跨ってしまうため、その本数を正確に求められなくなるからである。
【００１１】
傾きの補正を行ったとしても、若干の傾斜（0.5度程度）が残ってしまうことが多く、それによって弊害が発生する。
【００１２】
例えば、１画素分の幅の罫線を構成する画素の１ラインに並ぶ個数をｘとすると、画像が1度傾斜している場合は、tan 1=1/xより、x=57.2 pixelとなる。これは、長さに換算して約4.84 mmとなる。また、0.5度傾斜している場合は、tan 0.5=1/xより、x=114.5 pixelとなり、約9.68 mm（約10mm）となる。すなわち、例えば判定対象の領域の画像が0.5度傾いていた場合は、判定のための閾値を、10mm未満に設定しなければ、罫線である旨の判定がされないことになる。
【００１３】
黒画素が10mm程度連続することは、表領域以外の領域でも十分に起こりうる。そのため、閾値をこのように低く設定してしまうと、表領域以外の領域が表領域であると誤判定されやすくなり、判定の精度を低下させてしまう。このことは、特許文献２についても同様である。
【００１４】
また、特許文献３の方法では、外接矩形内に２か所以上の交点がある場合に、その外接矩形を表領域と判定する。しかし、画像によっては、表領域以外で交点が２か所以上ある領域が多く存在ことがあり、そのような場合に、誤判定が多く発生することになる。
【００１５】
本発明は、このような問題点に鑑み、画像おける特定の領域の種別を従来よりも正確に判定できるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
本発明の一構成に係る領域判定方法は、画像処理の対象となるべき対象画像に含まれる所定の領域の種別を判定する領域判定方法であって、前記対象画像からエッジ画像を生成した場合に前記所定の領域においてエッジを表す画素をエッジ画素として、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成した場合に、当該第１のヒストグラムおよび当該第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出ステップと、求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定ステップと、を有する。
【００１７】
または、前記判定ステップにおける判定を、生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の個数と前記分散値算出ステップで求められた分散値とに基づいて行う。
【００１８】
また好ましくは、前記判定ステップにおける判定を仮の判定とし、前記所定の領域を表領域およびグラフ領域のうちの少なくとも一方であると前記判定ステップにおいて仮に判定した場合に、前記エッジ画像を生成した場合に前記所定の領域においてエッジを表す部分の量に関する、当該所定の領域内における割合の値を求め、求めた値に基づいて、当該所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する本判定ステップを有する。
【００１９】
また、前記所定の領域は、小領域、下地領域、写真領域、表領域、グラフ領域、またはそれら以外のその他領域のいずれかであり、前記所定の領域が小領域であるか否かを判定し、小領域でないと判定した場合に、当該所定の領域が下地領域または前記その他領域のいずれかであるか否かを判定し、下地領域および前記その他領域のいずれでもないと判定した場合に、当該所定の領域に含まれる画像の傾きを補正する処理を行い、画像の傾きを補正する処理が行われた後の前記所定の領域について前記第１のヒストグラムおよび前記第２のヒストグラムを生成する。
【００２０】
また、前記所定の領域を表領域およびグラフ領域のうちの少なくとも一方であると判定した場合に、前記対象画像から２値画像を生成した場合に前記所定の領域においてドットが打たれる画素をドット画素として、当該所定の領域内の連なった当該ドット画素である連結画素群の境界に接する画素の個数に関する割合の値を求め、求められた値に基づいて、前記所定の領域が表領域またはグラフ領域のいずれであるかを判定する。
【００２１】
なお、前記所定の領域は、前記対象画像から２値画像を生成した場合の当該２値画像においてドットが打たれる画素をドット画素とした場合に、連なった当該ドット画素を包含する矩形の領域である。
【００２２】
本発明の一構成に係る画像処理装置は、画像処理を実行するための画像処理装置であって、画像処理の対象となるべき対象画像に基づいてエッジ画像を生成するエッジ画像生成手段と、生成された前記エッジ画像の所定の領域においてエッジを表す画素であるエッジ画素に関して、当該所定の領域内の縦方向の各位置において横方向に存在する当該エッジ画素の個数を表す第１のヒストグラムと、当該所定の領域内の横方向の各位置において縦方向に存在する当該エッジ画素の個数を表す第２のヒストグラムとを生成する、ヒストグラム生成手段と、生成された前記第１のヒストグラムおよび前記第２のヒストグラムにおいてそれらの極値が所定の閾値を超える山の幅の分散値を求める分散値算出手段と、求められた分散値に基づいて、前記所定の領域が表領域およびグラフ領域のうちの少なくとも一方であるか否かを判定する判定手段と、前記判定手段による判定の結果に応じた画像処理を前記対象画像の当該判定に係る領域に対して施す画像処理実行手段と、を有する。
【発明の効果】
【００２３】
画像が傾いていたとしても、その画像の特定の領域の種別を的確に判定できるようになる。
【発明を実施するための最良の形態】
【００２４】
一般に、高圧縮ＰＤＦという機能が用いられている。この機能では、画像データから特定の領域を抽出し、領域ごとにその領域に応じた処理を施すことによってデータ量の小さなＰＤＦ形式のファイル（ＰＤＦファイル）を生成する。
【００２５】
本実施形態では、画像形成装置１がこの高圧縮ＰＤＦファイルを生成する際の処理に本発明を適用する場合の例を示す。
〔画像形成装置の構成〕
図１は本発明に係る画像形成装置１を有するシステム構成の例を示す図、図２は画像形成装置１のハードウェア構成の例を示す図である。
【００２６】
図１に示す画像形成装置１は、コピー、スキャナ、ファックス、ネットワークプリンティング、ドキュメントサーバ、およびファイル転送などの様々な機能を集約した画像処理装置である。複合機またはＭＦＰ（Multi Function Peripherals）などと呼ばれることもある。
【００２７】
この画像形成装置１は、役所または企業などのオフィス、学校または図書館などの公共施設、コンビニエンスストアなどの店舗、その他種々の場所に設置され、複数のユーザによって共用することができる。また、パーソナルコンピュータまたはワークステーションなどの端末装置２およびサーバ３と通信回線４を介して接続可能である。通信回線４として、インターネット、ＬＡＮ、公衆回線、または専用線などが用いられる。
【００２８】
画像形成装置１は、図２に示すように、スキャナ１０ａ、ＣＰＵ１０ｂ、ハードディスク１０ｃ、ＲＡＭ１０ｄ、ＲＯＭ１０ｅ、印刷装置１０ｆ、モデム１０ｇ、ネットワークインタフェース１０ｈ、制御用回路１０ｋ、および操作パネル１０ｍなどによって構成される。
【００２９】
スキャナ１０ａは、原稿の用紙（以下、単に「原稿」と記載する。）に描かれている写真、文字、絵、図表などの画像を光学的に読み取って電子データ化する装置である。読み取られた原稿の画像データ（イメージデータ）はＲＡＭ１０ｄに記憶され、後に説明するように、様々な処理が施されてファイル化される。本実施形態では、カラースキャナが用いられる。
【００３０】
印刷装置１０ｆは、スキャナ１０ａで読み取られた画像データ（画像）または端末装置２などから送信されてきた画像を、イエロー、マゼンタ、シアン、およびブラックの４色のトナーを使用して用紙に印刷する装置である。
【００３１】
操作パネル１０ｍは、操作部および表示部によって構成される。操作部としてテンキーなどが用いられ、表示部として液晶ディスプレイなどが用いられる。ユーザは、操作部を操作することによって、画像形成装置１に対して、処理の実行開始または中断などの指令を与え、データの宛先、スキャン条件、または画像ファイルフォーマットなどの処理条件を指定し、その他種々の事項を指定することができる。表示部には、ユーザに対してメッセージまたは指示を与えるための画面、ユーザが所望する処理の種類および処理条件を入力するための画面、および画像形成装置１で実行された処理の結果を示す画面などが表示される。操作パネル１０ｍとしてタッチパネルを用いた場合は、タッチパネルが操作部および表示部の両方を兼ねる。このように、操作パネル１０ｍは、画像形成装置１を操作するユーザのためのユーザインタフェースの役割を果たしている。
【００３２】
ＣＰＵ１０ｂは、スキャナ１０ａが読み取った原稿の画像データをＴＩＦＦ、ＪＰＥＧ、ビットマップ、およびＰＤＦなどの形式のファイルに変換するための処理を行う。また、ユーザからの入力の検出、操作パネル１０ｍの表示の制御，または電子メールの作成など、画像形成装置１の全体的な制御を行う。
【００３３】
モデム１０ｇは、ＮＣＵ（Network Control Unit）が内蔵されており、アナログの公衆回線を介して他のファックス端末と接続し、ファクシミリプロトコルに基づくデータ制御およびファックスデータの変復調などを行う。ネットワークインタフェース１０ｈは、ＮＩＣ（Network Interface Card）であって、ＬＡＮまたはインターネットなどを介して端末装置２などへの接続を行い、プロトコルの作成などを行う。
【００３４】
制御用回路１０ｋは、ハードディスク１０ｃ、操作パネル１０ｍ、スキャナ１０ａ、印刷装置１０ｆ、モデム１０ｇ、およびネットワークインタフェース１０ｈなどの装置を制御するための回路である。
【００３５】
ハードディスク１０ｃには、後に説明する図３に示すような各部の機能を実現するためのプログラムおよびデータなどが格納されている。これらは必要に応じてＲＡＭ１０ｄに読み出され、ＣＰＵ１０ｂによってプログラムが実行される。これらのプログラムまたはデータの一部または全部を、ＲＯＭ１０ｅに記憶させておいてもよい。または、図３の機能の一部または全部を、制御用回路１０ｋによって実現するようにしてもよい。
〔画像処理装置の機能的な構成〕
図３は画像形成装置１の機能的な構成の例を示す図、図４は前処理部１３、領域属性判定部１４、および文字ブロック処理部１５の構成の例を示す図、図５は原稿画像ＧＧおよび明度原稿画像ＧＭなどの例を示す図、図６はエッジ画像の例を示す図、図７はブロックＡＫの統合を説明するための図である。次に、図３などを参照して画像形成装置１の各部の処理について説明する。
【００３６】
図３に示すように、画像形成装置１は、ファイル保存部１１、画像データ取得部１２、前処理部１３、領域属性判定部１４、文字ブロック処理部１５、文字ブロック統合部１６、可逆圧縮部１７、非文字ブロック統合部１８、解像度変換部１９、非可逆圧縮部２０、およびファイル生成部２１などから構成される。
【００３７】
ファイル保存部１１は、ファイル生成部１９によって生成されるＰＤＦファイルを保存する。
【００３８】
画像データ取得部１２は、スキャナ１０ａが読み取った原稿の画像データである原稿画像データＧＧを取得する。この原稿画像データＧＧは、ＴＩＦＦ、ＪＰＥＧ、またはビットマップなどの形式のイメージデータとしてスキャナ１０ａから出力される。なお、以下において、「画像データ」および「原稿画像データ」の「データ」を省略し、それぞれ、単に「画像」および「原稿画像」と記載することがある。後に説明するその他の画像データについても同様である。
【００３９】
前処理部１３は、領域属性判定部１４の処理のための前処理を行う。この前処理部１３は、図４に示すように下地除去部４１、明度画像生成部４２、およびスムージング部４３などによって構成される。
【００４０】
図４において、下地除去部４１は、原稿画像ＧＧに対してコントラスト伸張処理を施し、薄い色で表される下地の部分を除去する。これによって、原稿画像ＧＧの画像の傾向を整える。
【００４１】
明度画像生成部４２は、下地除去の処理が施された原稿画像ＧＧｂに基づいて明度を算出し、明度で表される画像（明度画像）を生成する。ここで明度画像を生成するのは、これ以降の処理が明度画像を対象にしているからである。
【００４２】
これによって、元の原稿画像ＧＧに対応した明度画像である明度原稿画像ＧＭが生成される。例えば、図５に示すような原稿画像ＧＧであった場合、同図に示すように、対応した内容の画像を表す明度原稿画像ＧＭが生成される。すなわち、「元の原稿画像ＧＧに対応した明度画像」とは、この例のように、元の原稿画像ＧＧと同じまたは対応する広さの領域にその原稿画像ＧＧに対応した内容を表す明度画像のことである。他の画像についても同様である。
【００４３】
なお、本実施形態では、Ｒ（赤）、Ｇ（緑）、およびＢ（青）の各原色（以下、「ＲＧＢ」と記載する。）による２４ビットの階調性を有するフルカラー画像（カラー画像）である原稿画像ＧＧｂから８ビットの階調性を有する明度原稿画像ＧＭを生成する。
【００４４】
スムージング部４３は、明度画像生成部４２によって生成された明度原稿画像ＧＭに対してスムージングを行う。スムージングによってノイズが除去されることにより以降の処理における情報の誤検出が低減される。
【００４５】
図３に戻って、領域属性判定部（図写真判定部）１４は、図４に示すように、２値化部５１、ラベリング部５２、および判定処理部５３などから構成されており、スムージングが施された明度原稿画像ＧＭｂに含まれる特定の領域の属性（種別）を判定（判別）するための処理を行う。すなわち、別の属性を有した領域同士を区分けする（分離または分割する）処理を行う。
【００４６】
図４において、２値化部５１は、明度原稿画像ＧＭｂを２値化し、元の原稿画像ＧＧに対応した２値画像である２値原稿画像ＧＶを生成する。
【００４７】
ラベリング部５２は、２値化部５１によって生成された２値原稿画像ＧＶから、連なった黒画素（ドットが打たれている画素）によってできる連結黒画素群を検出し、その連結黒画素群に対してラベリングを行う。すなわち、一つの連結黒画素群を構成する各画素に対して同じ識別番号（ラベリング番号）を割り振り、その連結黒画素群を包含する（囲む）矩形の領域（矩形領域）を定義して求め、その位置を検出する。または、互いに所定の距離内にある連結黒画素群同士を一つの連結黒画素群とみなし、一つとみなしたその連結黒画素群に対してラベリングするようにしてもよい。それによって、比較的近い距離にある文字などに対して一つの矩形領域が定義される。なお、このようにラベリングを行うのは、次の判定処理部５３での処理が矩形領域の単位で行われるからである。
【００４８】
以下、ラベリングされた各画素のことを「ラベリング画素」と記載することがある。また、連結黒画素群を包含する矩形領域を「ブロックＡＫ１」、「ブロックＡＫ２」、…と記載することがある。また、連番を省略することによってこれらを「ブロックＡＫ」とまとめて記載することもある。他の符号についても同様に、連番などを付すことによって区別して記載しまたは連番を省略することによってまとめて記載することがある。
【００４９】
ところで、原稿画像ＧＧには、図５の例のように様々な内容の部分（部分画像）が含まれる。例えば、小さな文字を表す部分画像、小さな枠線を表す部分画像、丸または三角などの図形を表す部分画像、写真の部分画像、表を表す部分画像、グラフを表す部分画像、および大きな文字など上記以外のものを表す部分画像などである。
【００５０】
これらの部分画像は２値化された場合に連結黒画素群を含む。従って、上記のラベリングにおいては、２値原稿画像ＧＶから、これらのような部分画像の単位でブロックＡＫが求められる。図５の原稿画像ＧＧに対応付けて考えると、同図において一点鎖線で示されるようなブロックＡＫ１、ＡＫ２、…が求められる。図では省略しているが、原稿画像ＧＧ内において一点鎖線で囲まれていないその他の文字にもそれぞれラベリング番号が与えられる。ブロックＡＫ６の中の他の文字についても同様にそれぞれラベリング番号が与えられる。
【００５１】
なお、「小さな文字を表す部分画像」とは、例えば、図５において、ブロックＡＫ５に含まれるような画像のことである。「小さな枠線を表す部分画像」とは、ブロックＡＫ４に含まれるような画像のことである。「写真の部分画像」とは、ブロックＡＫ３に含まれるような画像のことである。「表を表す部分画像」とは、ブロックＡＫ６に含まれるような画像のことである。「グラフを表す部分画像」とは、ブロックＡＫ１０に含まれるような画像のことである。「大きな文字など上記以外のものを表す部分画像」とは、ブロックＡＫ１に含まれるような画像のことである。
【００５２】
さらに、ラベリング部５２は、原稿画像ＧＧまたは原稿画像ＧＧｂのうちでブロックＡＫに対応する部分のカラー画像を取得する。そして、そのブロックＡＫの位置（ブロック位置）、サイズ（ブロックサイズ）、および取得したカラー画像など、そのブロックＡＫについての情報を示すブロックデータＤＫを生成する。以下、ブロックデータＤＫに示されるカラー画像などの画像を「ブロック画像」と記載することがある。これ以降の処理においてブロックＡＫについての処理を行う場合、その処理の対象となるブロックＡＫの情報は、対応するブロックデータＤＫから取得される。
【００５３】
なお、本実施形態においては、ブロック位置は、原稿画像ＧＧの左上端を原点とした場合の、そのブロックＡＫ内の左上端の画素のその原稿画像ＧＧ内における座標によって示される。ブロックサイズは、ブロックＡＫの縦方向の画素数および横方向の画素数によって示される。
【００５４】
判定処理部５３は、ブロックＡＫ内の画像の特性に応じてそのブロックＡＫの属性を判定するため処理を行う。
【００５５】
具体的には、文字または枠線などの小さな部分画像に対して定義されたブロックＡＫの属性を「小領域」と判定し、下地を表す部分画像（下地についての部分画像）に対して定義されたブロックＡＫの属性を「下地領域」と判定し、写真の部分画像に対して定義されたブロックＡＫの属性を「写真領域」と判定し、表を表す部分画像に対して定義されたブロックＡＫの属性を「表領域」と判定し、グラフを表す部分画像に対して定義されたブロックＡＫの属性を「グラフ領域」と判定し、大きな文字などを表す上記以外の部分画像に対して定義されたブロックＡＫの属性を「その他領域」と判定するための処理を行う。
【００５６】
ここにおいて、「下地を表す部分画像」とは、１つの色で塗りつぶされたような部分画像のことである。
【００５７】
本実施形態では、丸または三角などの図形を表す部分画像の領域（「図領域」）を「写真領域」として考える。
【００５８】
なお、この判定処理部５３の処理の手順などについては、後に〔判定処理部の構成〕において詳しく説明する。  
【００５９】
図３にもどって、文字ブロック処理部（文字抽出部）１５は、図４に示すように文字エッジ抽出部７１、傾き補正部７２、罫線除去部７３、文字判定部７４、網点除去部７５、２値化部７６、および色決定部７７などによって構成されており、これら各部によって、文字が含まれているブロックＡＫに対して所定の処理を行う。
【００６０】
図４において、文字エッジ抽出部７１は、スムージングが施された明度原稿画像ＧＭｂ中のエッジの部分を抽出し、画像のエッジの部分を示すエッジ画像を生成する。エッジ画像とは、例えば図６に示すような画像である。
【００６１】
図６（ａ）は、建物の写真の画像を基にして生成したエッジ画像を示している。図６（ｂ）は、表を表す画像を基にして生成したエッジ画像を示している。図６では、画像のエッジの部分をドットが打たれていない白の画素（白画素）で表し、それ以外の部分を黒画素で表している。
【００６２】
これによって、元の原稿画像ＧＧに対応したエッジ画像であるエッジ原稿画像ＧＥが生成される。
【００６３】
ここで生成したエッジ原稿画像ＧＥは、これ以降の処理において使用する。２値画像を使用することも考えられるが、エッジ画像を用いた方が２値画像を用いるよりも処理を高速化できるという利点がある。
【００６４】
傾き補正部７２は、エッジ原稿画像ＧＥ全体またはブロックＡＫ内の画像の傾きを検出し、それを補正する。この傾き補正は、次の罫線除去部７３で罫線を除去する処理の精度を向上させるために行う。傾きの補正に関しては後に〔判定処理部の構成〕において詳しく説明する。
【００６５】
罫線除去部７３は、エッジ原稿画像ＧＥから罫線を除去することによってそのエッジ原稿画像ＧＥに含まれる文字と罫線とを分離するための処理（罫線除去処理）を行う。係る処理は例えば以下のようにして行う。
【００６６】
まず、エッジ原稿画像ＧＥから、横方向（水平方向）に連続する白画素の個数を縦方向（垂直方向）の各位置（座標位置）において求める。求めた個数が所定の閾値以上である場合に、その個数に係る白画素を横方向に引かれた罫線とみなし、それをエッジ原稿画像ＧＥから除去する。すなわち、その白画素を黒画素に変換する。同様にして、縦方向に引かれた罫線も除去する。
【００６７】
この罫線除去処理は、次の文字判定部７４で文字を判定する処理の精度を向上させるために行う。
【００６８】
文字判定部（文字連結部）７４は、罫線除去処理が施されたエッジ原稿画像ＧＥｂを用いて、ブロックＡＫ内の画像が文字を表している（ブロックＡＫが文字を含む）か否かを判定する。例えば、エッジ原稿画像ＧＥｂのうちでブロックＡＫに対応する部分のエッジ画像を用いて、そのブロックＡＫ内に占めるエッジ部分の画素の割合などに基づいて判定する。
【００６９】
このような文字を含むか否かの判定（文字の判定）の方法または判定に用いられる閾値などは、判定処理部５３によって判定されたブロックＡＫの属性に応じて変更される。その理由は、ブロックＡＫ内の画像の内容によってそこに含まれる文字の特徴が変わるからである。
【００７０】
例えば、表を表す画像には行単位で文字が羅列されていることが多く、グラフを表す画像には１文字単位、長くても単語単位に文字が表されていることが多い。そのため、「表領域」と判定されたブロックＡＫについては、行単位に文字を判定するのに適した処理を行う。「グラフ領域」と判定されたブロックＡＫについては、単語単位に文字を判定するのに適した処理を行う。
【００７１】
また、写真の画像については、文字の判定をすることが難しい。従って、ブロックＡＫの属性が「写真領域」と判定された場合は、文字の判定は行わない。写真の画像に対して文字の判定を行った場合、実際には文字ではないものを文字と判定することにより画質の劣化を招くことがある。
【００７２】
従って、判定処理部５３での判定の結果は、文字判定部７４での判定の精度に影響することになる。
【００７３】
さらに、文字判定部７４は、文字を含むと判定したブロックＡＫ（以下、「文字ブロックＡＫＭ」と記載することがある。）についてのブロックデータＤＫ（以下、「文字ブロックデータＤＫＭ」と記載することがある。）を網点除去部７５に対して出力する。また、文字を含むと判定しなかったブロックＡＫ（以下、「非文字ブロックＡＫＨ」と記載することがある。）についてのブロックデータＤＫ（以下、「非文字ブロックデータＤＫＨ」と記載することがある。）を非文字ブロック統合部１８に対して出力する。
【００７４】
網点除去部７５は、文字ブロックデータＤＫＭに示されるブロック画像に対して公知の方法を用いて網点除去を行う。
【００７５】
２値化部７６は、網点除去が施されたブロック画像を２値化する。これによって、ブロック画像内の文字と背景とを分離する。
【００７６】
色決定部７７は、原稿画像ＧＧｂのうちで文字ブロックＡＫＭに対応する部分のカラー画像を取得し、それを用いてその文字ブロックＡＫＭに含まれる文字の色（ブロック文字色）およびその背景の色（ブロック背景色）を決定する。決定した色を示すデータをその文字ブロックＡＫＭの文字ブロックデータＤＫＭに対して付加する。なお、ここにおいて、原稿画像ＧＧｂではなく、前処理が施される前の原稿画像ＧＧを用いてもよい。
【００７７】
図３に戻って、文字ブロック統合部１６は、文字ブロックデータＤＫＭのうちで所定の条件を満たす関係にあるもの同士を統合して一つの文字ブロックデータＤＫＭにするための処理を行う。ここで、図７を参照して、この統合の処理について説明する。
【００７８】
図７において、「あ」、「い」、「う」、「え」、および「お」などの文字を含む文字ブロックＡＫＭ１、ＡＫＭ２、…が示されている。なお、図７において、各文字ブロックＡＫＭのブロック位置を、原稿画像ＧＧの左上端を原点とし画素の横方向の座標をＸ座標とし画素の縦方向の座標をＹ座標して、それぞれ、（ｘ１，ｙ１）、（ｘ２，ｙ２）、…とする。また、ブロックサイズを、縦の長さと横の長さを「（縦の長さ，横の長さ）」と表記して、それぞれ、（ａ１，ｂ１）、（ａ２，ｂ２）、…とする。
【００７９】
ここにおいて、図７（ａ）の文字ブロックＡＫＭ１の文字ブロックデータＤＫＭ１と文字ブロックＡＫＭ２の文字ブロックデータＤＫＭ２とを統合する場合を考える。この統合は以下の手順で行う。
【００８０】
まず、文字ブロックＡＫＭ１と文字ブロックＡＫＭ２とを包含する矩形領域を検出する。これによって、図７（ｂ）に示す文字ブロックＡＫＭ６が検出される。次に、文字ブロックデータＤＫＭ１および文字ブロックデータＤＫＭ２に示されるブロック文字色およびブロック背景の加重平均を求め、それらをそれぞれ統合後の文字ブロックＡＫＭ６のブロック文字色およびブロック背景色とする。そして、文字ブロックＡＫＭ６内に含まれる画像、求めたブロック文字色、求めたブロック背景色、文字ブロックＡＫＭ６のブロック位置（ｘ１，ｙ１）、およびブロックサイズ（ａ１，ｂ６）を示す文字ブロックデータＤＫＭ６を生成する。新たな文字ブロックデータＤＫＭ６が生成されることによって統合が完了する。
【００８１】
文字ブロック統合部１６は、統合の後に残った文字ブロックデータＤＫＭに対して、さらに上記のような統合の処理を繰り返す。例えば、図７（ｂ）の文字ブロックＡＫＭ３および文字ブロックＡＫＭ４の文字ブロックデータＤＫＭを統合することによって、図７（ｃ）に示すような文字ブロックＡＫＭ７の文字ブロックデータＤＫＭ７を生成する。さらに、図７（ｃ）の文字ブロックＡＫＭ６および文字ブロックＡＫＭ７の文字ブロックデータＤＫＭを統合することによって、図７（ｄ）に示すような文字ブロックＡＫＭ８の文字ブロックデータＤＫＭ８を生成する。このような統合によって、図７の例では、文字ブロックデータＤＫＭの個数、すなわち文字ブロックＡＫＭの個数が５個から２個に減少する。文字ブロックデータＤＫＭの個数が減少することによって、後に作成されるＰＤＦファイルのデータ量が低減される。
【００８２】
なお、図７では、横方向に並ぶ文字ブロックＡＫＭについての統合の例を示したが、縦方向または斜め方向についても同様の手順で統合が行われる。
【００８３】
図３に戻って、可逆圧縮部１７は、統合処理部１５の統合の処理の後に残った文字ブロックデータＤＫＭを取得し、それに示されるブロック画像を可逆圧縮の方式で圧縮する（可逆圧縮する）。そして、圧縮されたブロック画像を含む文字ブロックデータＤＫＭを出力する。なお、本実施形態では、可逆圧縮の方式としてＭＭＲを用いる。
【００８４】
非文字ブロック統合部１８は、非文字ブロックデータＤＫＨのうちで所定の条件を満たす関係にあるもの同士を統合して一つの非文字ブロックデータＤＫＨにするための処理を行う。統合の方法は、文字ブロック統合部１６と同様である。
【００８５】
解像度変換部１９は、非文字ブロックデータＤＫＨに示されるブロック画像に対して低解像度化の処理を行う。
【００８６】
非可逆圧縮部２０は、低解像度化された非文字ブロックデータＤＫＨのブロック画像を非可逆圧縮し、圧縮されたブロック画像を含む非文字ブロックデータＤＫＨを出力する。なお、本実施形態では、非可逆圧縮の方式としてＪＰＥＧを用いる。
【００８７】
ファイル生成部２１は、可逆圧縮部１７および非可逆圧縮部２０から出力される文字ブロックデータＤＫＭおよび非文字ブロックデータＤＫＨを用いてＰＤＦファイルを生成するための処理を行う。
〔判定処理部の構成〕
図８は判定処理部５３の構成の例を示す図、図９は下地その他領域についての判定方法を説明するための図、図１０は下地その他領域についての判定の際に作成するヒストグラムの例を示す図、図１１は傾き補正における傾き検出の処理の流れを説明するためのフローチャート、図１２は傾き検出を説明するための図、図１３は傾き補正の処理の流れを説明するためのフローチャート、図１４は傾き補正の方法を説明するための図、図１５は表を表す画像についてのヒストグラムの例を示す図、図１６はヒストグラムの山の幅の求め方を説明するための図、図１７はグラフを表す画像についてのヒストグラムの例を示す図、図１８は写真の画像についてのヒストグラムの例を示す図、図１９は表を表す画像が傾いている場合のヒストグラムの例を示す図、図２０はエッジ画素の個数の求めた方を説明するための図、図２１はラベリングエッジ画素率の求め方を説明するための図である。次に、図８に示す判定処理部５３の各部の処理について説明する。
【００８８】
図８に示すように、判定処理部５３は、小領域抽出部６１、下地その他領域抽出部６２、傾き補正部６３、表グラフ領域仮判別部６４、表グラフ領域本判定部６５、および表グラフ判別部６６などから構成される。
【００８９】
小領域抽出部６１は、小さな文字または枠線の部分画像に対して定義されたブロックＡＫ（ブロックＡＫの属性）を小領域と判定し、そのブロックＡＫのブロックデータＤＫを抽出するための処理を行う。この処理は以下のようにして行う。
【００９０】
まず、ブロックデータＤＫを取得し、処理するブロックデータＤＫを一つ選択する。選択したブロックデータＤＫからそこに示されるブロックサイズを取得する。取得したブロックサイズから、処理対象のブロックＡＫの縦および横の長さがいずれも２５０pixel以下であるか否かを判定する。２５０pixel以下であった場合に、そのブロックＡＫのラベリング率が７０％以上であるか否かを判定する。このラベリング率は、そのブロックＡＫ内のラベリング画素の個数を「ｋ」、そのブロックＡＫの縦の長さを「ａ」、横の長さを「ｂ」として、次の式によって算出する。
【００９１】
ラベリング率 ＝ (ｋ／(ａ×ｂ))×100  ……（１）
ラベリング率が、７０％以上であった場合に、そのブロックＡＫを小領域と判定する。
【００９２】
さらに、このような判定を全てのブロックＡＫについて行い、小領域と判定したブロックＡＫのブロックデータＤＫ（ブロックデータＤＫｗ）を抽出する。
【００９３】
なお、この際に、抽出するブロックデータＤＫｗに対して、そのブロックＡＫが小領域であることを示すデータを付加する。
【００９４】
上記の処理によって、小さな文字などについてのブロックＡＫを適切に小領域と判定できる。その理由は、小さな文字などを表す部分画像についての矩形領域はブロックサイズが小さく且つラベリング率が高い傾向にあるため、その特徴（特徴量）を利用することで、それを小さな文字などを表す部分画像についての矩形領域であると識別できるからである。
【００９５】
これによって、小さな文字などを表す部分画像についてのブロックＡＫが、下地その他領域抽出部６２以降の判定の処理の対象から除外される。
【００９６】
なお、前処理部１３の処理の際に小領域についてのブロックデータＤＫｗを予め抽出しておくようにしてもよい。
【００９７】
下地その他領域抽出部６２は、下地または大きな文字などを表す部分画像に対して定義されたブロックＡＫを下地領域またはその他領域と判定し、そのブロックＡＫのブロックデータＤＫを抽出するための処理を行う。なお、ここでは、小領域抽出部６１の処理の際に抽出されずに残ったブロックデータＤＫを処理の対象とする。
【００９８】
これに際して、まず、ブロックＡＫが下地領域またはその他領域のいずれかであるか否かをブロックＡＫごとに判定する。この判定は図９に示すような手順で行う。
【００９９】
まず、小領域抽出部６１の処理の際に抽出されずに残ったブロックデータＤＫを取得し、処理するブロックデータＤＫを一つ選択する。選択したブロックデータＤＫに示されるブロック画像（この時点では、カラー画像）を取得し、そのブロック画像に基づいてＲＧＢごとに、図１０（ａ）に示すようなヒストグラムを生成する（図９の＃１０１）。
【０１００】
図１０において、ヒストグラムのＸ軸は、画素の濃度値を示す。Ｙ軸は、Ｘ軸に示される濃度値の画素のそのブロックＡＫ内における個数を示す。このヒストグラムの生成に際しては、そのブロックＡＫを縦方向（副走査方向）および横方向（主走査方向）に１／８にスムージングしながら走査してＲＧＢごとに各濃度値についての個数を求める。すなわち、８個おきに画素の濃度値を取得し、その濃度値についての個数をカウントアップする。求めた個数をＲＧＢごとに集計してヒストグラムを生成する。１／８にスムージングして圧縮することによって、網点のように鋭いピークがでにくいものまたは単色の線画などを除外することができる。
【０１０１】
生成した各ヒストグラムにおいて個数の最大値（ピーク値）ＰＶｒ、ＰＶｇ、およびＰＶｂの点（ピーク）ＰＫｒ、ＰＫｇ、およびＰＫｂを求める（＃１０２）。各ヒストグラムにおいて、求めたピークＰＫのＸ座標を「２５５」に一致させる。すなわち、個数がピーク値ＰＶであるヒストグラムの柱が「２５５」の濃度値の場所に位置するように、ヒストグラム全体を平行移動する。そして、平行移動させた各ヒストグラムを合成（集計）する（＃１０３）。これによって、図１０（ｂ）のような合成ヒストグラムが生成される。
【０１０２】
そして、合成ヒストグラムにおいて、ピークＰＫのＸ座標（「２５５」）から±１６の範囲内にブロックＡＫの全体の２／３（約６６％）の画素が集中しているかどうかを判定する。すなわち、±１６の範囲内の画素の個数（画素数）が全体の画素の個数（ヒストグラムの面積）に対して６６％以上であるかどうかを判定する。そして、６６％以上であった場合に、そのブロックＡＫを下地領域またはその他領域と判定する。なお、本実施形態においては、１／８にスムージングしてこのヒストグラム作成した。よって、この場合の「全体の画素の個数」とは、ブロックＡＫ内の画素の総数の１／８を指す。
【０１０３】
続いて、そのように判定された各ブロックＡＫが下地領域またはその他領域のいずれであるかを判別する。この判別に際して、まず、各ブロックＡＫのラベリング率（下地率）を既に説明した式（１）によって求める。
【０１０４】
求めたラベリング率が９０％以上であるブロックＡＫを下地領域と判別し、９０％未満であるブロックＡＫをその他領域と判別する。
【０１０５】
小領域抽出部６１によって抽出されなかった全てのブロックデータＤＫのブロックＡＫに対して上記の処理を行う。そして、下地領域であると判別したブロックＡＫのブロックデータＤＫであるブロックデータＤＫｓと、その他領域であると判別したブロックＡＫのブロックデータＤＫであるブロックデータＤＫｏとを抽出し、これ以降の判定の処理の対象から除外する。
【０１０６】
なお、この際に、ブロックデータＤＫｓに対して、ブロックＡＫが下地領域であることを示すデータを付加し、ブロックデータＤＫｏに対して、ブロックＡＫがその他領域であることを示すデータを付加する。
【０１０７】
上記の処理によって、下地または大きな文字などを表す部分画像についてのブロックＡＫを下地領域またはその他領域と適切に判定できる。その理由は、下地はラベリング画素が単色で構成されていることが多くまた大きな文字などについての部分画像は単色の構成比率が多いため、それらのような特徴をヒストグラムによって抽出できるからである。なお、通常は、スペクトルスケールの１／８の区間に画素の２／３が集中していれば、下地領域またはその他領域のいずれかであると判定する。
【０１０８】
傾き補正部６３は、下地・その他領域抽出部６２の処理の際に抽出されずに残ったブロックデータＤＫのブロックＡＫに含まれる画像に対して傾きを補正する処理（傾き補正）を行う。これに際して、まず、図１１に示すような手順で傾きの検出しその傾斜角度を求める。
【０１０９】
まず、ラベリング画素によって構成される画像（以下、「ラベリング画像ＧＲ」と記載する。）に沿った、図１２に示すような矩形ＫＫ１を求める（図１１の＃１１１）。このような矩形ＫＫ１を求めるにあたっては、例えば、ラベリング画像ＧＲ内で最も上側にある画素ＰＴｔ、最も下側にある画素ＰＴｂ、最も左側にある画素ＰＴｅ、最も右側にある画素ＰＴｗの位置を検出する。検出した位置に基づいて、画素ＰＴｔと画素ＰＴｅとを結ぶ直線、画素ＰＴｅと画素ＰＴｂとを結ぶ直線、画素ＰＴｂと画素ＰＴｗとを結ぶ直線、および画素ＰＴｗと画素ＰＴｔとを結ぶ直線をそれぞれ求める。そして、それらの直線に囲まれる領域を矩形ＫＫ１と定義する。
【０１１０】
矩形ＫＫ１を求めた後、それに外接する外接矩形ＫＫ２を求める（＃１１２）。外接矩形ＫＫ２と矩形ＫＫ１とによってできる余白部分の三角形ＴＲの縦の長さおよび横の長さ（画素数）を求める（＃１１３）。
【０１１１】
求めた縦の長さ（ｔｒｖ）および横の長さ（ｔｒｈ）から矩形ＫＫ１の傾斜角度θを次の式によって求める（＃１１４）。
【０１１２】
θ＝tan-1(ｔｒｖ/ｔｒｈ)  ……（２）
次に、求めた傾斜角度θに基づいて、傾きを補正するための処理を図１３に示すような手順で行う。
【０１１３】
まず、図１４（ａ）に示すように、ラベリング画像ＧＲの各ラベリング画素を、矩形ＫＫ１の左側の辺が外接矩形ＫＫ２の左側の辺に沿うようになる長さ分だけ横方向に平行移動する（図１３の＃１２１）。この長さは、画素ＰＴｅの位置を原点とした場合の各ラベリング画素の縦方向の位置と傾斜角度θとによって求めることができる。
【０１１４】
さらに、図１４（ｂ）に示すように、各ラベリング画素を、矩形ＫＫ１の上側の辺が外接矩形ＫＫ２の上側の辺に沿うようになる長さ分だけ縦方句に平行移動する（＃１２２）。この長さは、画素ＰＴｔの位置を原点とした場合の各ラベリング画素ＧＲの横方向の位置と傾斜角度θとによって求めることができる。すなわち、三角形ＴＲの余白を埋めるように画素を縦および横の方向に移動することによって傾きを補正する。これによって、図１４（ｃ）に示すような、傾きが補正されたラベリング画像ＧＲｂが得られる。
【０１１５】
表グラフ領域仮判定部６４は、表またはグラフを表す部分画像に対して定義されたブロックＡＫを表グラフ領域と仮判定するための処理を行う。この処理は以下のようにして行う。
【０１１６】
まず、傾き補正部によって傾き補正が施されたブロックデータＤＫを取得し、処理するブロックデータＤＫを一つ選択する。選択したブロックデータＤＫに示されるブロック画像（カラー画像）のエッジ部分を抽出することによってそのブロック画像に対応したエッジ画像（以下、「ブロックエッジ画像ＢＥ」と記載する。）を生成する。
【０１１７】
なお、ここでは、ブロック画像からエッジ部分を抽出する（エッジ画像を生成する）ことによってブロックエッジ画像ＢＥを取得する場合の例を示したが、他の方法によって取得することも可能である。例えば、エッジ原稿画像ＧＥを予め生成しておき、そのエッジ原稿画像ＧＥから、処理対象のブロックＡＫに対応する部分のエッジ画像を抽出することによって、そのブロックＡＫについてのブロックエッジ画像ＢＥを取得するようにしてもよい。
【０１１８】
また、図６においては、エッジ部分を白画素で表しその他の部分を黒画素で表したエッジ画像の例を示したが、ここでは、説明簡単のため、それを反転したエッジ画像、すなわちエッジ部分を構成する画素（エッジ画素）を黒画素で表しその他の部分を白画素で表したエッジ画像用いることとする。
【０１１９】
生成したブロックエッジ画像ＢＥを用いて図１５に示すようなヒストグラムを生成する。図１５はブロックエッジ画像ＢＥが表を表すエッジ画像である場合の縦方向に伸びるヒストグラムＨＳｖと横方向に伸びるヒストグラムＨＳｈとを示している。ここにおいて、ヒストグラムＨＳｖのＸ軸は、ブロックＡＫ内における横方向の画素の位置（座標）を示す。Ｙ座標は、Ｘ軸に示される各位置において縦方向に配置されている黒画素の個数を示す。ヒストグラムＨＳｈのＸ軸は、ブロックＡＫ内における縦方向の画素の位置（座標）を示す。Ｙ座標は、Ｘ軸に示される各位置において横方向に配置されている黒画素の個数を示す。
【０１２０】
生成した各ヒストグラムＨＳからピークＰＫＨを検出し、ヒストグラムの最大値（ピーク値ＰＶＨ）を求める。求めた各ピーク値ＰＶＨｖおよびＰＶＨｈの３３％にあたる値を求め、その値を各ヒストグラムＨＳのそれぞれの閾値ＶＳＨｖおよびＶＳＨｈとする。
【０１２１】
極値が閾値ＶＳＨを越える山ＭＴをヒストグラムＨＳｖおよびＨＳｈのそれぞれについて検出し、その個数を求めて合計する。さらに、検出した各山ＭＴの閾値ＶＳＨの位置における幅ＷＴを求める。ここで、幅ＷＴの求め方について、図１６のようなヒストグラムＨＳである場合を例に説明する。
【０１２２】
図１６において、まず、Ｘ座標（ライン番号）が「１」の位置からＸ座標の正の方向にヒストグラムを辿る。閾値ＶＳＨを跨ぎ超えるときの点ＰＴＵのライン番号を記録する。さらにヒストグラムを辿って行く。そして、閾値ＶＳＨを跨ぎ減ったときに、そのときの点ＰＴＤのライン番号を取得する。取得したライン番号と既に記録したライン番号の差を算出し、その差をその山ＭＴの幅ＷＴとする。図１６の例では、跨ぎ超えるときのライン番号が「１０」であり、跨ぎ減るときのライン番号が「１５」である。従って、山ＭＴ７の幅ＷＴ７は「５」となる。
【０１２３】
さらに、ライン番号の最後（Ｘ座標の端）までヒストグラムを辿って行き、閾値ＶＳＨを超える全ての山ＭＴについて幅ＷＴを求める。
【０１２４】
このようにして、ヒストグラムＨＳｖおよびＨＳｈのそれぞれについて閾値ＶＳＨを超える各山ＭＴの幅ＷＴを求める。
【０１２５】
幅ＷＴを求めた後、次に、その幅ＷＴの分散値をヒストグラムＨＳｖおよびＨＳｈのそれぞれについて算出する。なお、ヒストグラムＨＳｖおよびＨＳｈについてまとめて一つの分散値を求めるようにしてもよい。
【０１２６】
そして、既に求めた山ＭＴの個数の合計が「５個」以上であり且つ幅ＷＴの各分散値が「１０」未満である場合に、そのブロックＡＫを表グラフ領域と仮判定する。
【０１２７】
同様にして、下地その他領域抽出部６２によって抽出されなかった全てのブロックデータＤＫのブロックＡＫに対して上記の処理を行う。そして、表グラフ領域であると仮判定されなかったブロックＡＫを写真領域と判定し、そのブロックデータＤＫであるブロックデータＤＫｐを抽出する。なお、この際に、ブロックデータＤＫｐに対して、ブロックＡＫが写真領域であることを示すデータを付加する。
【０１２８】
ところで、ブロックエッジ画像ＢＥが表を表す画像である場合、図１５に示すように、そのブロックエッジ画像ＢＥには、表の罫線によってエッジの線が複数個生じる。そのため、そのヒストグラムに、ある程度の高さをもった山ＭＴが複数個できる。また、エッジの線によってできる山であるため、それらの幅（形状）にはほとんどばらつきがない。
【０１２９】
ブロックエッジ画像ＢＥがグラフを表す画像である場合は、例えば、図１７に示すようなブロックエッジ画像ＢＥが生成される。この場合も表の場合と同様に、そこにエッジの線が複数個生じるため、それによって、ある程度の高さがありほぼ幅（形状）がそろっている複数の山ＭＴが表されたヒストグラムＨＳが形成される。
【０１３０】
それに対して、ブロックエッジ画像ＢＥが写真の画像である場合、表またはグラフに比べて線成分（罫線）が少ないことが多いため、例えば、図１８に示すような、高さが低く幅にばらつきのある複数の山ＭＴが表されたヒストグラムＨＳが形成される。
【０１３１】
このようなことから、上記のように高さが閾値ＶＳＨ以上である山ＭＴの個数およびその山ＭＴの幅ＷＴの分散値についての判定を行なうことにより、ブロックＡＫが表グラフ領域または写真領域いずれであるかを適切に見分けられるようになる。
【０１３２】
本実施形態においては、表グラフ領域仮判定部６４の処理に先立って傾き補正を行なった。この傾き補正を行なわなかった場合、ブロックエッジ画像ＢＥが例えば、図１９のように大きく傾いていたとしたら、ヒストグラムＨＳの作成に、表の罫線同士に重なり合いが影響する。そのため、ヒストグラムＨＳの山ＭＴは低くなり、また、幅ＷＴにばらつきが生じてしまうため、そのブロックＡＫを表グラフ領域と判定できなくなることがある。表グラフ領域仮判定部６４の処理に先立って傾き補正を行なうことにより、このような弊害を抑えることができる。
【０１３３】
ところが、傾き補正を行なったとしても、若干の傾きが残ってしまうことがある。そうすると、発明が解決しようとする課題の欄において説明したとおり、山ＭＴの高さについての閾値を下げる必要が生じる。従来の方法の場合、それによって、写真の画像が表を表す画像であると誤判定されることが多くなってしまう。
【０１３４】
本実施形態では、高さが閾値ＶＳＨ以上である山ＭＴの個数に加えてその山ＭＴの幅ＷＴの分散値についても判定を行なう。写真の画像はヒストグラムＨＳの山ＭＴの幅ＷＴにばらつきが生じることが多いので、その幅ＷＴの分散値の判定によって、それが表グラフ領域と誤判定されることを相当程度低減することができるようになる。すなわち、画像に多少の傾斜があったとしても適切な判定ができるようになる。
【０１３５】
なお、上記の処理によって、表およびグラフの双方を含むブロックＡＫが存在した場合も、それを表グラフ領域と判定することができる。
【０１３６】
表グラフ領域本判定部６５は、表グラフ領域仮判定部６４によって仮判定されたブロックＡＫの内で所定の条件を満たすものを表グラフ領域と判定（本判定）するための処理を行う。
【０１３７】
まず、表グラフ領域仮判定部６４によってブロックＡＫが表グラフ領域と仮判定されたブロックデータＤＫを取得し、処理対象のブロックデータＤＫを一つ選択する。そのブロックデータＤＫに示されるブロックエッジ画像ＢＥのエッジ画素率（エッジのばらつき率）を例えば以下のような方法で算出する。
【０１３８】
ブロックエッジ画像ＢＥを横方向（主走査方向）に走査し、画像が黒画素から白画素に変化する回数を数える。その回数を各ラインＬＮ（１つの画素の幅の行または列のライン）について求め、それらの合計値（エッジ画素数）を算出する。例えば、図２０に示すような、表を表すブロックエッジ画像ＢＥである場合は、ラインＬＮｎにおけるその回数は「５回」となる。なお、白画素から黒画素に変化する回数を数えるようにしてもよい。
【０１３９】
求めたエッジ画素数を「ｃ」、ブロックＡＫの縦の長さを「ａ」、横の長さを「ｂ」として、次の式によってエッジ画素率を算出する。
【０１４０】
エッジ画素率  ＝  （ｃ／（ａ×ｂ））×１００  ……（３）
エッジ画素率が求まると、次に、そのエッジ画素率が所定の閾値未満であるか否かを判定する。閾値未満である場合は、そのブロックＡＫを表グラフ領域と判定（本判定）する。閾値未満でない場合は、写真領域と判定（本判定）する。取得した全てのブロックデータＤＫのブロックＡＫに対して同様に判定を行う。そして、写真領域であると判定したブロックＡＫのブロックデータＤＫｐを抽出し、それ以降の処理対象から除外する。
【０１４１】
なお、この際に、ブロックデータＤＫｐに対して、ブロックＡＫが写真領域であることを示すデータを付加する。
【０１４２】
本実施形態では、表グラフ領域仮判定部６４によって、写真の画像を含むブロックＡＫを表グラフ領域の対象から除外する処理を行った。
【０１４３】
しかし、写真の中には、図６（ａ）に示すようにエッジ部分を多く含むものがあり、そのような写真は、表グラフ領域仮判定部６４での判定における表グラフ領域の条件を満たす場合ある。そうすると、そのブロックＡＫは表グラフ領域であると判定されてしまう。
【０１４４】
そこで、本実施形態では、表グラフ領域本判定部６５によって、さらに、エッジ画素率による判定を行う。図６（ａ）から分かる通り、エッジ画像に変換した場合に、写真の画像には表およびグラフの場合よりもエッジ部分が多く発生する。従って、上記のような表グラフ領域本判定部６５の処理により、写真についてのブロックＡＫを識別でき、表グラフ領域の対象から排除できるようになる。
【０１４５】
表グラフ領域仮判定部６４および表グラフ領域本判定部６４によって２度の判定を行うことによって表グラフ領域についての判定の精度を向上させることができる。
【０１４６】
表グラフ判別部６６は、表グラフ領域本判定部６５によって表グラフ領域と判定されたブロックＡＫを表領域またはグラフ領域のいずれかに判別するための処理を以下のようにして行う。
【０１４７】
まず、表グラフ領域本判定部６５によってブロックＡＫが表グラフ領域と判定されたブロックデータＤＫを取得し、処理するブロックデータＤＫを一つ選択する。そして、原稿画像ＧＧの内でそのブロックデータＤＫのブロックＡＫ（処理対象のブロックＡＫ）に対応する部分の画像にどの程度文字が含まれているかを求める。
【０１４８】
それに際して、そのブロックＡＫの内側に存在するブロックＡＫのラベリング画素を抽出する。例えば、処理対象が図５のブロックＡＫ６であった場合、その内側に存在するブロックＡＫ７、８、９、…を抽出する。抽出の対象となるブロックＡＫは、そのブロック位置およびブロックサイズと、処理対象のブロックＡＫのブロック位置およびブロックサイズとから求めることができる。
【０１４９】
さらに、２値原稿画像ＧＶのうちで抽出したブロックＡＫに対応する部分の２値画像を取得する。取得した各２値画像を処理対象のブロックＡＫ内の対応する位置に配置した場合の画像である対象２値画像ＢＮを生成する。例えば、ブロックＡＫ６が処理対象であった場合、これによって、図２１に示すような、ブロックＡＫ６のブロックサイズの広さをもった対象２値画像ＢＮが生成される。なお、図２１では、対象２値画像ＢＮの画素の例として、「１」を構成する画素を拡大表示して示すが、実際にはブロックＡＫ６内全域における処理、計算を行う。
【０１５０】
次に、生成した対象２値画像ＢＮからラベリングエッジ画素の個数を求める。ラベリングエッジ画素とは、ラベリング画素と白画素との境界部分の白画素のことである。図２１の例では、斜線で示される画素がラベリングエッジ画素である。
【０１５１】
そして、対象２値画像ＢＮ内の全てのラベリングエッジ画素の個数Ｃ１とそれ以外の白画素の個数Ｃ２とに基づいて、次の式によって、ラベリングエッジ画素率を算出する。
【０１５２】
ラベリングエッジ画素率  ＝  （Ｃ１／（Ｃ１＋Ｃ２））×１００  ……（４）
そして、算出したラベリングエッジ画素率が「５％」未満であるか否かを判定する。「５％」未満である場合は、処理対象のブロックＡＫをグラフ領域と判定する。「５％」未満でない場合は、表領域と判定する。取得した全てのブロックデータＤＫのブロックＡＫに対して同様に判定を行う。そして、表領域であると判定したブロックＡＫのブロックデータＤＫであるブロックデータＤＫｃと、グラフ領域であると判定したブロックＡＫのブロックデータＤＫであるブロックデータＤＫｇとを抽出する。
【０１５３】
上記の処理によって、表領域またはグラフ領域の判別を適切に行えるようになる。その理由は、グラフを表す画像よりも表を表す画像の方が文字を多く含む傾向にあるからである。
【０１５４】
文字を多く含む場合、ブロックＡＫ内の画像において、文字の部分（黒画素）とそれ以外の部分（白画素）との境界が多く発生する。ラベリングエッジ画素率を求めることにより、その境界が多いか否かを判定でき、表領域またはグラフ領域の判別を適切に行えるようになる。
【０１５５】
なお、この時点で、文字ブロックＡＫＭが確定していれば、その個数によって処理対象のブロックＡＫに含まれる文字が多いかどうかを判定できる。しかし、文字ブロックＡＫＭが確定していないので、ここでは、ラベリングエッジ画素を用いて判定を行った。
【０１５６】
なお、本実施形態においては、ラベリングエッジ画素率を求めるために２値画像を用いたが、エッジ画像を用いるようにしてもよい。
【０１５７】
図２２は画像形成装置１におけるＰＤＦファイルを生成するまでの概略の処理の流れを説明するためのフローチャートである。次に、図２２のフローチャートを参照して、画像形成装置１において、スキャンされた原稿についてのＰＤＦファイルが生成されるまでの概略の処理の流れについて説明する。
【０１５８】
図２２において、スキャナ１０ａが原稿をスキャンすると（＃１１）、画像形成装置１は、それによって得られた原稿画像ＧＧに対して下地除去、明度変換、およびスムージングなどの処理を施す（＃１２）。
【０１５９】
そのような前処理が施された原稿画像ＤＧｂを２値化して２値原稿画像ＧＶを生成し（＃１３）、ラベリングの処理を行う（＃１４）。さらに、ラベリングによって求められた矩形領域であるブロックＡＫについて、その属性を判定するための処理を行う（＃１５）。
【０１６０】
属性についての判定結果に基づいて、さらに、各ブロックＡＫに文字が含まれるか否かを判定し、文字が含まれると判定したブロックＡＫを文字ブロックＡＫＭとして抽出する（＃１６）。また、文字が含まれると判定しなかったブロックＡＫを非文字ブロック（図写真領域）ＡＫＨとして抽出する。
【０１６１】
文字ブロックＡＫＭ同士を所定のルールに従って統合し、その個数を減らす（＃１７）。さらに、２値原稿画像ＧＶの内で統合の後に残った文字ブロックＡＫＭに対応する部分の２値画像を可逆圧縮する（＃１８）。
【０１６２】
次に、非文字ブロックＡＫＨ同士を所定のルールに従って統合して、その個数を減らす（＃１９）。さらに、原稿画像ＧＧｂの内で統合の後に残った非文字ブロックＡＫＨに対応する部分のカラー画像を低解像度化し（＃２０）、非可逆圧縮する（＃２１）。
【０１６３】
ステップ＃１８およびステップ＃２１の圧縮によって生成された圧縮データを用いてＰＤＦファイルを生成する。
【０１６４】
図２３は領域属性判定処理の流れの例を説明するためのフローチャート、図２４は表グラフ領域判定処理の流れを説明するためのフローチャートである。次に、領域属性判定処理において、１つのブロックＡＫに着目した場合の領域属性判定処理の流れについて図２３および図２４を参照して説明する。
【０１６５】
図２３において、まず、処理対象のブロックＡＫのラベリング率を求める（＃３１）。そのブロックＡＫのブロックサイズに示される縦および横の長さがいずれも所定の閾値（２５０pixel）以下であり且つ求めたラベリング率が所定の閾値（７０％）以上であった場合（＃３２でＹｅｓ）、そのブロックＡＫを小領域と判定する（＃３３）。
【０１６６】
ブロックサイズが所定の閾値より大きいかまたはラベリング率が所定の閾値未満であった場合は（＃３２でＮｏ）、そのブロックＡＫが下地その他領域であるか否かの判定を行う（＃３４）。その判定に際して、原稿画像ＧＧｂのうちでそのブロックＡＫに対応する部分のカラー画像を用いて、ＲＧＢごとにその濃度と個数との関係を示すヒストグラムを生成する。ＲＧＢについての各ヒストグラムを、それぞれのピークを「２５５」にあわせた状態で合成する。そして、合成したヒストグラムのピークのＸ座標から±１６の範囲内の画素の個数が全体の画素の個数に対して所定の割合（６６％）以上であればそのブロックＡＫを下地その他領域と判定する。なお、本実施形態においては、１／８にスムージングしてこのヒストグラム作成する。よって、この場合の「全体の画素の個数」とは、ブロックＡＫ内の画素の総数の１／８を指す。
【０１６７】
ブロックＡＫを下地その他領域であると判定した場合は（＃３５でＹｅｓ）、そのブロックＡＫの下地率を求める（＃３６）。
【０１６８】
その下地率が所定の閾値（９０％）以上である場合は（＃３７でＹｅｓ）、そのブロックＡＫを下地領域と判定する。その下地率が所定の閾値未満であった場合は（＃３７でＮｏ）、そのブロックＡＫをその他領域と判定する（＃３９）。
【０１６９】
ステップ＃３４において下地その他領域と判定しなかった場合は（＃３５でＮｏ）、そのブロックＡＫ内の画像に対して傾き補正を行い（＃４０）、そのブロックＡＫについて表グラフ領域判定処理を行う（＃４１）。
【０１７０】
表グラフ領域判定処理において、まず、原稿画像ＧＧｂのうちでそのブロックＡＫに対応する部分のカラー画像を取得し、それに対応するエッジ画像を生成する。ブロックＡＫ内の縦方向の位置と縦方向の各位置において横方向に配置されているそのエッジ画像の黒画素の個数との関係を表すヒストグラムを作成する（図２４の＃６１）。作成の際に、ヒストグラムのピーク値を検出し、そのピーク値と所定の設定値〔割合（３３％）〕とに基づいて閾値を求める（＃６２）。さらに、その作成において横方向にブロックＡＫ内を走査する際に、黒画素から白画素に移る回数をラインごとに求めそれを合計してエッジ画素数を求める（＃６３）。作成したヒストグラムにおいて、ステップ＃６２で求めた閾値を超える高さの山の個数を求める。（＃６４）
作成したヒストグラムをライン番号が「１」の位置から順番に辿って行き、所定の閾値を跨ぎ超えるときのライン番号と跨ぎ減るときのライン番号とを取得し、その差をその山の幅とする。ヒストグラムを最後まで辿って行き、極値がその閾値を超える全ての山のその閾値の高さでの幅を求め（＃６５）、求めた幅の平均値を算出する（＃６６）。その平均値を用いてその山の分散値を求める（＃６７）。
【０１７１】
次に、ブロックＡＫ内の横方向の位置と横方向の各位置において縦方向に配置されている生成したエッジ画像の黒画素の個数との関係を表すヒストグラムを作成する（＃６８）。その作成の際に、ヒストグラムのピーク値を求め、そのピーク値と所定の設定値（割合）とに基づいて閾値を求める（＃６９）。作成したヒストグラムにおいて、求めた閾値を超える高さの山の個数を求める（＃７０）。
【０１７２】
ステップ＃６５から６７の手順と同様にして、ステップ＃６８で作成したヒストグラムの山の幅の分散値を求める（＃７１から＃７３）。
【０１７３】
ステップ＃６４および＃７０で求めた山の個数の合計が所定の閾値（５個）以上であり且つステップ＃６７および＃７３で求めた分散値が双方とも所定の閾値（１０）未満である場合（＃７４でＹｅｓ）に、そのブロックＡＫを表グラフ領域と仮判定する（＃７５）。
【０１７４】
山の個数の合計が所定の閾値未満または各分散値のいずれかが所定の閾値以上であった場合（＃７４でＮｏ）は、表グラフ領域判定処理を終了する。
【０１７５】
表グラフ領域と仮判定したあと、ステップ＃６３で求めたエッジ画素数とそのブロックＡＫのブロックサイズとに基づいてエッジ画素率を求める（＃７６）。
【０１７６】
求めたエッジ画素率が所定の閾値未満である場合（＃７７でＹｅｓ）、そのブロックＡＫを表グラフ領域と判定する（＃７８）。求めたエッジ画素率が所定の閾値以上である場合は（＃７７でＮｏ）、表グラフ領域判定処理を終了する。
【０１７７】
図２３に戻って、ステップ＃４１において表グラフ領域と判定しなかった場合は（＃４２でＮｏ）、そのブロックＡＫを写真領域と判定する（＃４３）。
【０１７８】
ステップ＃４１において表グラフ領域と判定した場合は（＃４２でＹｅｓ）、そのブロックＡＫの対象２値画像ＢＮを生成する。その対象２値画像ＢＮに含まれるラベリングエッジ画素の個数と白画素の個数を数える（＃４４）。ラベリングエッジ画素の個数と白画素の個数とに基づいてラベリングエッジ画素率を求める（＃４５）。
【０１７９】
求めたラベリングエッジ画素率が所定の閾値（５％）以上である場合は（＃４６でＹｅｓ）、そのブロックＡＫを表領域と判定する（＃４７）。所定の閾値未満である場合は（＃４６でＮｏ）、そのブロックＡＫをグラフ領域と判定する（＃４８）。
【０１８０】
ところで、近年、ＭＦＰ（Multi Function Peripherals）などの複合機は、白黒の画像に対応した処理を行なうものからカラーの画像に対応した処理を行なうもの（カラー対応のＭＦＰ）へ移行しつつある。
【０１８１】
また、このような複合機のスキャナで読み取った原稿の画像をＰＤＦファイルなどに変換し、それを電子メールに添付してその複合機から直接送信する機能が一般に普及している。
【０１８２】
カラー対応のＭＦＰにおいてそのような機能を実行しようとすると、例えば、Ａ４サイズの原稿を３００ｄｐｉのフルカラーの画像としてスキャンする場合、生成されるＰＤＦファイルのデータ量は２５ＭＢ程度となり電子メールでの送信が困難になる。
【０１８３】
そのため、スキャンした原稿の画像を圧縮して送信するのが一般的である。しかし、データ量を小さくするために高い圧縮率で圧縮すると文字の部分がつぶれて読めなくなることがある。それを避けるために圧縮率を下げる必要があるが、そうすると、データ量を十分に小さくできない。
【０１８４】
そこで、従来、高圧縮ＰＤＦという機能が用いられている。この機能では、画像データ全体に対して同じ圧縮方法を適用するのではなく、処理する領域によって別の圧縮方法を適用する。
【０１８５】
具体的には、スキャンした原稿の画像データから写真または図形などの単位で領域を抽出し、その領域が文字を含む文字領域であるかそれ以外の非文字領域であるかを判定する。そして、文字領域の画像については、高い解像度を保ったままで二値化し、ＭＭＲなどの可逆圧縮の方式で圧縮する。非文字領域の画像については、低解像度化した後、ＪＰＥＧなどの非可逆圧縮の方式によって高い圧縮率で圧縮する。これによって、文字の判読性を維持しつつデータ量（ファイルサイズ）の小さなＰＤＦファイル（高圧縮ＰＤＦファイル）を生成することが可能となる。
【０１８６】
この高圧縮ＰＤＦファイルの生成において重要なことは、スキャンした原稿の画像から文字の部分を正確に抽出すること、すなわち文字を含む領域を正確に文字領域と判別することである。なぜならば、誤って判別されるとその領域の画像は、低解像度化された後高い圧縮率で圧縮され、それによって、その領域の文字が読めなくなってしまうことがあるからである。
【０１８７】
領域に文字が含まれるか否かの判定（文字の判定）は、その領域（ブロックＡＫ）の属性に応じて行う。従って、領域ＡＫの属性についての判定結果が文字の判定の精度を左右することになる。本実施形態では、上記の処理によって領域（ブロックＡＫ）の属性を適切に判定できるため、結果として文字の判定の精度を高めることができるようになる。それによって、より文字の判読性の高い高圧縮ＰＤＦファイルを生成できるようになる。
【０１８８】
本実施形態では、画像形成装置１においてＰＤＦファイルを生成する場合の例を示したが、端末装置２において生成するようにしてもよい。その場合は、本実施形態において説明した処理によってＰＤＦファイルを生成するためのモジュールを含んだ専用のソフトウェア（専用ソフト）を端末装置２にインストールしておく。さらに、画像形成装置１によって原稿がスキャンされるとその画像データが電子メールに添付されて端末装置２に自動的に送信されるように設定しておく。そうすることで、端末装置２のユーザが、各自、目的に合わせてＰＤＦ化する画像を選択し、専用ソフトを用いてＰＤＦファイルを生成できるようになる。
【０１８９】
または、サーバ３（メールサーバ）によってＰＤＦファイルを生成するようにしてもよい。その場合は、上記のような専用ソフトをサーバ３にインストールしておく。さらに、画像形成装置１によって原稿がスキャンされるとその画像データがサーバ３に自動的に送信されるように設定しておく。そして、サーバ３に画像データが送信されてき来ると、サーバ３の専用ソフトによって自動的にその画像データのＰＤＦファイルが生成され、それが電子メールに添付されてユーザの端末装置２に送信されるようにする。これによって、サーバ３を利用できるユーザは誰でも本実施形態の処理によって生成されるＰＤＦファイルを得ることができるようになる。
【０１９０】
また、図３の各部の機能の一部をハードウェアによって実現してもよい。例えば、入力画像処理部および出力画像処理部などのハードウェアを画像形成装置１に設けておく。入力画像処理部は、スキャナ１０ａから原稿画像ＧＧを取得し、それに対して、色変換、色補正、解像度変換、領域判別などの処理を行う。処理された後のデータは、ハードディスク１０ｃ、ＲＡＭ１０ｄ、またはＲＯＭ１０ｅなどに保持する。
【０１９１】
保持されたデータに基づいて印刷が実行される際には、印刷装置１０ｆの印刷の処理に先立って、出力画像処理部が、スクリーン制御、スムージング処理、およびＰＷＭ制御などを行う。
【０１９２】
なお、ドットが打たれている画素が黒画素である場合の例を示したが、これは黒画素に限られるものではない。
【０１９３】
その他、画像形成装置１の全体または各部の構成、機能、閾値、設定値、上限値、各データが示す内容、処理の内容または順序などは、本発明の趣旨に沿って適宜変更することができる。
【図面の簡単な説明】
【０１９４】
【図１】画像形成装置を有するシステム構成の例を示す図である。
【図２】画像形成装置のハードウェア構成の例を示す図である。
【図３】画像形成装置の機能的な構成の例を示す図である。
【図４】前処理部、領域属性判定部、および文字ブロック処理部の構成の例を示す図である。
【図５】原稿画像および明度原稿画像などの例を示す図である。
【図６】エッジ画像の例を示す図である。
【図７】ブロックの統合を説明するための図である。
【図８】判定処理部の構成の例を示す図である。
【図９】下地その他領域についての判定方法を説明するための図である。
【図１０】下地その他領域についての判定の際に作成するヒストグラムの例を示す図である。
【図１１】傾き補正における傾き検出の処理の流れを説明するためのフローチャートである。
【図１２】傾きの検出を説明するための図である。
【図１３】傾き補正の処理の流れを説明するためのフローチャートである。
【図１４】傾き補正の方法を説明するための図である。
【図１５】表を表す画像についてのヒストグラムの例を示す図である。
【図１６】ヒストグラムの山の幅の求め方を説明するための図である。
【図１７】グラフを表す画像についてのヒストグラムの例を示す図である。
【図１８】写真の画像についてのヒストグラムの例を示す図である。
【図１９】表を表す画像が傾いている場合のヒストグラムの例を示す図である。
【図２０】エッジ画素の個数の求めた方を説明するための図である。
【図２１】ラベリングエッジ画素率の求め方を説明するための図である。
【図２２】画像形成装置におけるＰＤＦファイルを生成するまでの概略の処理の流れを説明するためのフローチャートである。
【図２３】領域属性判定処理の流れの例を説明するためのフローチャートである。
【図２４】表グラフ領域判定処理の流れを説明するためのフローチャートである。
【符号の説明】
【０１９５】
１  画像形成装置（領域判定装置、画像処理装置、コンピュータ）
２  端末装置（領域判定装置、画像処理装置、コンピュータ）
３  サーバ（領域判定装置、画像処理装置、コンピュータ）
１５  文字ブロック処理部（画像処理実行手段）
１６  文字ブロック統合部（画像処理実行手段）
１７  可逆圧縮部（画像処理実行手段）
１８  非文字ブロック統合部（画像処理実行手段）
１９  解像度変換部（画像処理実行手段）
２０  非可逆圧縮部（画像処理実行手段）
６４  表グラフ領域仮判定部（エッジ画像生成手段、ヒストグラム生成手段、分散値算出手段、判定手段）
ＡＫ  ブロック（領域）
ＢＥ  ブロックエッジ画像（エッジ画像）
ＢＮ  対象２値画像（２値画像）
ＧＥ  エッジ原稿画像（対象画像、エッジ画像）
ＧＧ、ＧＧｂ  原稿画像（対象画像）
ＧＭ、ＧＭｂ  明度原稿画像（対象画像）
ＧＶ  ２値原稿画像（対象画像、２値画像）
ＨＳ  ヒストグラム（第１のヒストグラム、第２のヒストグラム）
ＭＴ  山
ＶＳＨ  閾値
ＷＴ  幅
【図１】
2008112215.tif 000003
【図２】
2008112215.tif 000004
【図３】
2008112215.tif 000005
【図４】
2008112215.tif 000006
【図５】
2008112215.tif 000007
【図６】
2008112215.tif 000008
【図７】
2008112215.tif 000009
【図８】
2008112215.tif 000010
【図９】
2008112215.tif 000011
【図１０】
2008112215.tif 000012
【図１１】
2008112215.tif 000013
【図１２】
2008112215.tif 000014
【図１３】
2008112215.tif 000015
【図１４】
2008112215.tif 000016
【図１５】
2008112215.tif 000017
【図１６】
2008112215.tif 000018
【図１７】
2008112215.tif 000019
【図１８】
2008112215.tif 000020
【図１９】
2008112215.tif 000021
【図２０】
2008112215.tif 000022
【図２１】
2008112215.tif 000023
【図２２】
2008112215.tif 000024
【図２３】
2008112215.tif 000025
【図２４】
2008112215.tif 000026