(57)【要約】【課題】電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止するようにした画像処理装置を提供する。【解決手段】画像処理装置の矩形情報変更手段は、第１の電子文書内の画素塊を囲む第１の矩形に関する情報内の該第１の矩形の大きさに関する情報を予め定められた値に変更し、矩形生成手段は、前記矩形情報変更手段によって変更された第１の矩形に関する情報を用いて、該第１の矩形を囲む第２の矩形を生成する。【選択図】図１
2011100252.tif 000002
【特許請求の範囲】
【請求項１】
第１の電子文書内の画素塊を囲む第１の矩形に関する情報内の該第１の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、
前記矩形情報変更手段によって変更された第１の矩形に関する情報を用いて、該第１の矩形を囲む第２の矩形を生成する矩形生成手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記矩形情報変更手段は、前記矩形生成手段が生成する第２の矩形を用いる第２の電子文書の解像度を用いて、前記第１の矩形の大きさに関する情報を変更する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の矩形に関する情報に基づいて、前記第１の電子文書内の行又は列であるラインを抽出するライン抽出手段
をさらに具備し、
前記矩形情報変更手段は、前記ライン抽出手段によって抽出されたラインである行の高さ又は列の幅を変更の対象とする
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記ライン抽出手段によって抽出されたラインに応じて、前記第１の電子文書内の段落を抽出する段落抽出手段
をさらに具備し、
前記矩形情報変更手段は、前記段落抽出手段によって抽出された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記段落抽出手段によって抽出された段落を統合する段落統合手段
をさらに具備し、
前記矩形情報変更手段は、前記段落統合手段によって統合された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
コンピュータを、
第１の電子文書内の画素塊を囲む第１の矩形に関する情報内の該第１の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、
前記矩形情報変更手段によって変更された第１の矩形に関する情報を用いて、該第１の矩形を囲む第２の矩形を生成する矩形生成手段
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
電子ドキュメントを記述できる電子ドキュメントフォーマットが存在する。例えば、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）（登録商標）といわれるものがある。
このような電子ドキュメントでは、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）上で、その電子ドキュメントを表示、編集することが行われる。
例えば、その電子ドキュメントに記述されているテキスト情報を、操作者の操作に応じてＰＣ上で選択し、他の電子ドキュメントへ複写するコピー＆ペースト等の処理が行われたり、テキスト編集（ＰＤＦではテキストタッチアップと呼ばれている）でシステムフォントに置き換える処理がある。テキスト情報をＰＣ上で選択する（例えば、電子ドキュメントを表示しているディスプレイ上に表示されているテキスト位置でマウスを左クリックしながらテキスト位置を右に移動させる等の動作でテキスト情報を選択することができる）場合、選択したテキスト位置が反転して、どのテキストを選択しているかを示すようなビューワが存在している。
一方、画像を文字認識して、電子ドキュメントを生成することも行われている。
【０００３】
これに関連する技術として、例えば、特許文献１には、入力画像より文字もしくは文字の要素に外接する矩形を抽出する矩形抽出手段、該矩形抽出手段により抽出された矩形内の画像に対し、指定可能な複数のモード中より指定されたモードにしたがった変倍処理を施す変倍処理手段、前記矩形抽出手段により抽出された矩形の座標を、指定可能な複数のモード中より指定されたモードにしたがって変換する座標変換手段、及び、前記変換後の矩形内画像を前記座標変換手段により変換後の座標にしたがって印字位置を制御し印刷する出力手段を具備する文字列整形装置が開示されている。
【０００４】
また、例えば、特許文献２には、認識された文字を、記載されているテキストと文字の大きさや位置等を等しく、アウトフォントで描くことができることを実現することを目的とし、テキストコード情報と文字のレイアウト情報を有する認識文字に関する情報を得る認識手段と、文字のアウトフォントデータを保持するアウトフォントテーブルと、これを参照して、得られた認識文字に外接する矩形を、アウトラインフォントの文字ボックスと描かれる文字部領域との比で拡大し、拡大された外接矩形を文字ボックスデータとして用いて情報を修正する文字ボックス拡大手段と、認識された文字列中の区切りを判定する手段と、当該区切りの間の文字数で文字ボックスの幅を均等に割り付けて得られた幅で拡大された外接矩形からなる文字ボックスデータを修正する手段と、を有し、情報に基づいてアウトフォントにより文字を描いた時に小さくなることを回避し、また、区切られた文字列をまとめて取り扱うことを可能としていることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０４−１６７１８８号公報
【特許文献２】特開平０６−１７６１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、第１の電子文書内の画素塊を囲む第１の矩形に関する情報内の該第１の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、前記矩形情報変更手段によって変更された第１の矩形に関する情報を用いて、該第１の矩形を囲む第２の矩形を生成する矩形生成手段を具備することを特徴とする画像処理装置である。
【０００８】
請求項２の発明は、前記矩形情報変更手段は、前記矩形生成手段が生成する第２の矩形を用いる第２の電子文書の解像度を用いて、前記第１の矩形の大きさに関する情報を変更することを特徴とする請求項１に記載の画像処理装置である。
【０００９】
請求項３の発明は、前記第１の矩形に関する情報に基づいて、前記第１の電子文書内の行又は列であるラインを抽出するライン抽出手段をさらに具備し、前記矩形情報変更手段は、前記ライン抽出手段によって抽出されたラインである行の高さ又は列の幅を変更の対象とすることを特徴とする請求項１又は２に記載の画像処理装置である。
【００１０】
請求項４の発明は、前記ライン抽出手段によって抽出されたラインに応じて、前記第１の電子文書内の段落を抽出する段落抽出手段をさらに具備し、前記矩形情報変更手段は、前記段落抽出手段によって抽出された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とすることを特徴とする請求項３に記載の画像処理装置である。
【００１１】
請求項５の発明は、前記段落抽出手段によって抽出された段落を統合する段落統合手段をさらに具備し、前記矩形情報変更手段は、前記段落統合手段によって統合された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とすることを特徴とする請求項４に記載の画像処理装置である。
【００１２】
請求項６の発明は、コンピュータを、第１の電子文書内の画素塊を囲む第１の矩形に関する情報内の該第１の矩形の大きさに関する情報を予め定められた値に変更する矩形情報変更手段と、前記矩形情報変更手段によって変更された第１の矩形に関する情報を用いて、該第１の矩形を囲む第２の矩形を生成する矩形生成手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【００１３】
請求項１の画像処理装置によれば、電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
【００１４】
請求項２の画像処理装置によれば、第２の電子文書の解像度に合わせて画素塊を囲む矩形の大きさを揃えることができる。
【００１５】
請求項３の画像処理装置によれば、ライン内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
【００１６】
請求項４の画像処理装置によれば、段落内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
【００１７】
請求項５の画像処理装置によれば、統合された段落内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
【００１８】
請求項６の画像処理プログラムによれば、電子文書内の画素塊を囲む矩形の大きさが不揃いとなることを防止することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】文字矩形生成モジュールによる補正文字矩形情報の生成処理例を示す説明図である。
【図３】第１の実施の形態の変形例の構成例についての概念的なモジュール構成図である。
【図４】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図５】ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。
【図６】ライン認識処理モジュールによるラインの抽出処理例を示す説明図である。
【図７】ライン認識処理モジュールによるライン特徴の抽出処理例を示す説明図である。
【図８】文字矩形生成モジュールによる補正文字矩形情報の生成処理例を示す説明図である。
【図９】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図１０】第３の実施の形態による段落の認識処理例を示すフローチャートである。
【図１１】段落情報の更新に関する処理例を示す説明図である。
【図１２】第３の実施の形態による段落登録の可否処理例を示すフローチャートである。
【図１３】左右のずれによって段落登録が行われない場合の例を示す説明図である。
【図１４】文字サイズによって段落登録が行われない場合の例を示す説明図である。
【図１５】同じ行に複数行がある状態例を示す説明図である。
【図１６】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図１７】段落統合処理モジュールによる段落の統合処理例を示すフローチャートである。
【図１８】第１〜４の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図１９】電子ドキュメントのテキストが表示されている例を示す説明図である。
【図２０】テキストを選択した状態の電子ドキュメントの表示例を示す説明図である。
【図２１】別のアプリケーションにテキストを複写した場合の別の電子ドキュメントの表示例を示す説明図である。
【図２２】画像処理後のフォントを埋め込んだ電子ドキュメントにおいて、テキストを選択した状態の表示例を示す説明図である。
【図２３】別のアプリケーションにテキストを複写した場合の別の電子ドキュメントの表示例を示す説明図である。
【発明を実施するための形態】
【００２０】
まず、本実施の形態が対象とする電子ドキュメントについて説明する。
例えば、図１９に示す例のように「美しい日本」という文字列が表示されている電子ドキュメント１９００の「美しい日本」のテキストをＰＣ上で選択すると、図２０に示す例のように「美しい日本」の部分が反転して（図２０の例に示す選択テキスト２００１）、「美しい日本」が選択されたことをユーザに示すことができる。
あるいは、前述のようにテキストを選択した状態で、ＰＣ上でコピー＆ペーストを行うと、別の電子ドキュメント上に「美しい日本」というテキスト情報をコピーすることが可能となる。図２１に示す例のように、ワードプロセッサ（文書作成ソフトウェア）等のような別のアプリケーションが扱う電子ドキュメント（図２１の例に示す電子ドキュメント２１００）上に、テキスト情報をペーストすることができる。もちろん文字のサイズも、コピー元の電子ドキュメントからコピー先である別のアプリケーションの電子ドキュメント上で保持される。
【００２１】
次に、このような電子ドキュメント内の文字形状を指定するため、ＰＤＦなどのように、フォント情報を電子ドキュメント内に包含させることができるものがある。電子ドキュメントを表示又はプリントする場合に、電子ドキュメントを作成するユーザの意図通りの文字形状を復元するため、電子ドキュメント内にフォント情報（文字形状情報）を埋め込んでしまう。このように電子ドキュメント内にフォント情報を埋め込んでしまうことによって、同じフォント情報を持っていない電子ドキュメントの受け手（プリンタ、ＰＣ等）が、電子ドキュメントの作成者と全く同じ文字形状を復元することができるようになる。
【００２２】
前述したように、電子ドキュメント内の文字形状を指定するためにフォント情報（文字形状情報）を埋め込む際に、電子ドキュメントの受け手（プリンタ、ＰＣ等）のデバイス情報に合わせて文字部分の解像度を上げたり、編集や再利用が可能なようにアウトライン化するなどの処理が行われる。ここで文字のアウトライン化とは、文字の輪郭形状をベジエのような曲線で近似して表す方法である。
このように、文字形状を指定するためのフォント情報の文字部分に前述したような画像処理が施された場合に、文字部分の画像処理に応じた適切なフォント情報の更新が行われないと、電子ドキュメントをビューワで閲覧した場合のテキスト情報選択動作の挙動がオリジナルの電子ドキュメントと異なることがある。
例えば図２２に示す例のように、「美しい日本」のテキストを選択したことを示す反転矩形形状（図２２の例に示す選択テキスト２２０１から２２０５）が、図２０で示した例のように整った長方形の反転矩形形状にはならず、各文字で矩形が独立し、さらにはその大きさも異なる矩形形状となり、反転矩形形状の品質が低下する。
【００２３】
また、このような状態でワードプロセッサ等の別のアプリケーションの電子ドキュメント上に、テキスト情報をコピー＆ペーストするなどのテキスト編集を行うと、コピー先でどのような文字サイズで編集が行われるかは、そのアプリケーション次第であり、コピー元がそのアプリケーション自体を制御することはできない。例えば、どれくらいのピクセルサイズの文字が何ポイントの文字に変換されるのかは、コピー先のアプリケーションに依存することであるので、図２０に示すように「美しい日本」の各文字の文字サイズが保持できず電子ドキュメントの再利用性が低下する（元の文字と同じ大きさ等を再現できない等）。より具体的には、例えば、図２３に示すように、コピー先の電子ドキュメント２３００上に「美しい日本」の各文字の文字サイズがばらばらとなる。
これは、コピー元の電子ドキュメントを生成する際の文字部分に対する画像処理により、オリジナルのフォント情報内に存在した矩形情報が失われているか、コピー先のアプリケーションで扱える文字サイズ情報に合わせる変更処理が行われていないことに起因する。
【００２４】
次に、本実施の形態の概要について説明する。
本実施の形態は、電子ドキュメントに埋め込まれるフォント情報内の矩形情報内の矩形サイズを、出力先のアプリケーションで扱える文字サイズを表すポイント数に基づいて、予め定められた値に量子化して揃えるものである。ここで、「量子化」とは、離散値である予め定められた値（出力先のアプリケーションで扱える文字サイズ）に変更することをいう。
【００２５】
具体例として、以下（（１）から（４））のように行う。
（１）  電子ドキュメント内の各文字の矩形高さ又は横幅を、電子ドキュメントの解像度情報に基づいて算出された文字ポイント数の換算値で量子化する。以下、矩形高さを例示して示す。
（２）  量子化は、  換算値  ＞  矩形高さ  を満たす最小の換算値となるように量子化する。
（３）  換算値は都度計算してもよいし、解像度毎のデータとして予め保持していてもよい。
（４）  量子化した値で矩形情報（具体例として外接矩形のサイズ）を変更する。そして、補正文字矩形情報（電子ドキュメント内における絶対座標値、文字矩形と量子化された外接矩形の相対位置情報、矩形サイズなど）を生成する。
【００２６】
前述の説明では各文字の矩形高さを量子化する例であったが、また別の例では、以下に説明するように電子ドキュメント内の段落等を用いて、矩形情報の修正に必要な高さを算出して、その算出値を量子化するようにしてもよい。
具体例として、横書きの電子ドキュメントの場合は以下（（Ａ１）から（Ａ７））のようにする。
（Ａ１）  電子ドキュメント内の各文字の外接矩形情報（その電子ドキュメント内の座標値（絶対座標値又は相対座標値のいずれであってもよい）、矩形サイズ（例えば、その矩形の高さ、幅の組）等）から行を抽出する。なお、文字の外接矩形情報とは、電子ドキュメント内の文字を囲む最小の矩形（外接矩形）に関する情報である。
（Ａ２）  行中の文字の外接矩形が収まるような最小値を行高さとして算出する。また、行に関する特徴情報として、行高さの他に、行矩形サイズ、行座標値等を算出するようにしてもよい。
（Ａ３）  複数の行からなる段落を行に関する特徴情報（特に、行矩形サイズ、行座標値等）に基づいて抽出（段落を認識）し、その段落に関する特徴を算出する。
（Ａ４）  その算出された段落に関する特徴に基づいて、複数の段落を統合する。ここで、段落を統合するとは、複数の段落を１つの段落とすることである。
（Ａ５）  統合された段落に含まれる各行の行に関する特徴情報から、その統合された段落内に含まれる文字の矩形高さ及び矩形幅を算出する。
（Ａ６）  算出された矩形高さを量子化する。
（Ａ７）  量子化された矩形高さ、（Ａ５）で算出された矩形幅に基づいて、文字矩形情報を生成する。
【００２７】
また、具体例として、縦書きの電子ドキュメントの場合は以下（Ｂ１からＢ７）のようにする。
（Ｂ１）  電子ドキュメント内の各文字の外接矩形情報（その電子ドキュメント内の座標値（絶対座標値又は相対座標値のいずれであってもよい）、矩形サイズ（例えば、その矩形の高さ、幅の組）等）から列を抽出する。なお、文字の外接矩形情報とは、電子ドキュメント内の文字を囲む最小の矩形（外接矩形）に関する情報である。
（Ｂ２）  列中の文字の外接矩形が収まるような最小値を列幅として算出する。また、列に関する特徴情報として、列矩形サイズ、列座標値等を算出するようにしてもよい。
（Ｂ３）  複数の列からなる段落を列に関する特徴情報（特に、列矩形サイズ、列座標値等）に基づいて抽出（段落を認識）し、その段落に関する特徴を算出する。
（Ｂ４）  その算出された段落に関する特徴に基づいて、複数の段落を統合する。ここで、段落を統合するとは、複数の段落を１つの段落とすることである。
（Ｂ５）  統合された段落に含まれる各列の列に関する特徴情報から、その統合された段落内に含まれる文字の矩形高さ及び矩形幅を決定する。
（Ｂ６）  算出された矩形高さを量子化する。
（Ｂ７）  量子化された矩形高さ、（Ｂ５）で算出された矩形幅に基づいて、文字矩形情報を生成する。
【００２８】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜第１の実施の形態＞
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【００２９】
以下、行又は列をラインと称する。また、各種の実施の形態の例では、横書きの電子ドキュメントを対象とした場合を主に説明する。したがって、横書きの場合の行の高さ又は縦書きの場合の列の幅として、行の高さを主に例示して説明する。また、各種の実施の形態が処理の対象とする電子ドキュメントを電子ドキュメントＡと称し、出力先の電子ドキュメントを電子ドキュメントＢと称する。
また、画素塊とは、４連結又は８連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、４連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての１行から１文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は予め定められた間隔で切り出した画像領域等がある。例えば、文字認識処理を行って、１文字として認識された画像を１つの画素塊としてもよい。
なお、１つの画素塊として、１文字の画像となる場合が多い。本説明では、画素塊のことを文字又は文字画像ともいう。
【００３０】
第１の実施の形態である画像処理装置は、図１の例に示すように、矩形サイズ量子化モジュール１８０、文字矩形生成モジュール１９０を有している。
矩形サイズ量子化モジュール１８０は文字矩形生成モジュール１９０と接続されており、文字情報データ１０２、解像度情報１０４を受け付け、電子ドキュメントＡ内の文字画像を囲む最小の矩形である外接矩形に関する情報内の外接矩形の大きさに関する情報を予め定められた値に変更する。文字情報データ１０２は、外接矩形に関する情報を少なくとも含み、外接矩形に関する情報として、その外接矩形の大きさを少なくとも含む。より具体的には、例えば、文字情報データ１０２は、電子ドキュメントＡの文字認識装置による文字認識結果であって、電子ドキュメントＡ中における文字画像の絶対座標、文字画像の大きさを表す外接矩形サイズ（外接矩形幅、高さ）、文字認識順序、縦書き文字なのか横書き文字なのかを表す情報、認識結果などである。さらに、矩形サイズ量子化モジュール１８０は、解像度情報１０４として、電子ドキュメントＡの解像度情報（スキャナで読み込んだ場合の解像度など）を受け付ける。
【００３１】
具体的に矩形サイズ量子化モジュール１８０が行う処理例について説明する。
矩形サイズ量子化モジュール１８０は、受け付けた文字情報データ１０２内の外接矩形高さを、解像度情報１０４に基づいて算出された矩形量子化サイズで量子化して揃える。以下に解像度情報１０４が３００ｄｐｉの場合を例にとり、矩形サイズ量子化モジュール１８０の動作について具体的な例を示す。
まず、矩形サイズ量子化モジュール１８０は受け付けた文字情報データ１０２内の外接矩形高さをポイント数に変換する。外接矩形高さｈとすると、以下の式で外接矩形高さｈ［ｐｉｘｅｌ］をポイント数ｈ［ｐｔ］に変換する。
ｈ［ｐｔ］  ＝  （ｈ［ｐｉｘｅｌ］  ＊  ７２）  ／  ３００  ・・・・・  式（１）
さらに矩形サイズ量子化モジュール１８０は、式（１）によりポイント数に変換されたｈ［ｐｔ］の値を、以下に示す値の中でｈ［ｐｔ］より大きくて、最も近い値で量子化する。
［８，  ９，  １０，  １０．５，  １１，  １２，  １４，  １６，  １８，  ２０，  ２２，  ２４，  ２６，  ２８，  ３６，  ４８，  ７２］
例えば、外接矩形高さｈ  ＝  ４０［ｐｉｘｅｌ］の場合は、ポイント数変換によりｈ［ｐｔ］  ＝  ９．６  となり、この値より大きくて最も近い値として、１０［ｐｔ］に量子化する。
【００３２】
次に、この量子化されたポイント数をピクセル数に以下の式（２）を用いて再度変換する。
ｈ［ｐｉｘｅｌ］  ＝  （ｈ［ｐｔ］  ＊  ３００）  ／  ７２  ・・・・・  式（２）
つまり前述の例でみると、量子化ポイント数１０［ｐｔ］は約４２［ｐｉｘｅｌ］となり、矩形サイズ量子化モジュール１８０は、ｈ  ＝  ４０［ｐｉｘｅｌ］をｈ  ＝  ４２［ｐｉｘｅｌ］に量子化し、この量子化したサイズを文字矩形生成モジュール１９０に出力する。
【００３３】
文字矩形生成モジュール１９０は矩形サイズ量子化モジュール１８０と接続されており、矩形サイズ量子化モジュール１８０によって変更された外接矩形に関する情報を用いて、その外接矩形を囲む補正文字矩形情報１９２を生成する。文字矩形生成モジュール１９０が生成する補正文字矩形情報１９２は、電子ドキュメントＢを構成する要素である文字の大きさを含む。この場合、矩形サイズ量子化モジュール１８０は、文字矩形生成モジュール１９０が生成する補正文字矩形情報１９２を用いる電子ドキュメントＢの解像度を用いて、文字情報データ１０２内の外接矩形の大きさに関する情報を変更する。なお、ここで電子ドキュメントＢは、例えば、前述のＰＤＦ文書、ワードプロセッサによって生成され得る電子ドキュメント等が該当する。
【００３４】
具体的に文字矩形生成モジュール１９０が行う処理例について説明する。
文字矩形生成モジュール１９０は、矩形サイズ量子化モジュール１８０で算出された量子化された矩形高さｈに基づいて、文字情報データ１０２の新たな矩形を生成する。図２に、文字矩形生成モジュール１９０による補正文字矩形情報１９２の生成処理の具体的な一例を示す。なお、左上を原点（０，０）として、ｘ座標は右方向へ、ｙ座標は下方向へ向かうと数値が増える座標系である。以下の説明においても、同様の座標系とする。
文字矩形生成モジュール１９０は、前文字外接矩形２１０、現文字外接矩形２２０、次文字外接矩形２３０の量子化処理された文字情報データ１０２を矩形サイズ量子化モジュール１８０から受け取る。なお、ここで前文字外接矩形２１０等の外接矩形とあるのは、量子化された後の矩形のことである。これらは、前文字外接矩形２１０、現文字外接矩形２２０、次文字外接矩形２３０の順序で並んでおり、現文字外接矩形２２０を処理対象とする。
まず、新たな矩形高さＨとして、矩形サイズ量子化モジュール１８０で算出された量子化された矩形高さｈを設定する。矩形幅Ｗは、左右隣り合った文字外接矩形間の中心から中心までの距離とする。具体的には、前文字外接矩形２１０と現文字外接矩形２２０の間の中心から現文字外接矩形２２０と次文字外接矩形２３０の間の中心までの距離である。図２の例に示すように、前文字外接矩形２１０の右側ｘ座標をｘ０、現文字外接矩形２２０の左側ｘ座標をｘ１、現文字外接矩形２２０の右側ｘ座標をｘ２、次文字外接矩形２３０の左側ｘ座標をｘ３とすると、以下の式（３）で算出する。
Ｗ  ＝  （ｘ２  ＋  ｘ３  −  ｘ０  −  ｘ１）  ／  ２  ・・・・・  式（３）
【００３５】
生成する補正文字矩形２４０の左上頂点の座標値（ｎｅｗ＿ｘ，ｎｅｗ＿ｙ）は、以下の式（４）で算出する。
ｎｅｗ＿ｘ  ＝  （ｘ０  ＋  ｘ１）  ／  ２
ｎｅｗ＿ｙ  ＝  ｙ１  −  （Ｈ  −  ｈ）  ／  ２  ・・・・・  式（４）
ここでｙ１は現文字外接矩形２２０の左上ｙ座標値、Ｈは生成する矩形高さ、ｈは現文字外接矩形２２０の外接矩形高さである。
補正文字矩形２４０から現文字外接矩形２２０への相対移動量（オフセット量）であるｓｈｉｆｔｘ、ｓｈｉｆｔｙは、以下の式（５）で算出する。
ｓｈｉｆｔｘ  ＝  ｘ１  −  ｎｅｗ＿ｘ
ｓｈｉｆｔｙ  ＝  ｙ１  −  ｎｅｗ＿ｙ  ・・・・・  式（５）
ここでｙ１は現文字外接矩形２２０の左上ｙ座標値である。
そして、文字矩形生成モジュール１９０は、補正文字矩形情報１９２として、ｎｅｗ＿ｘ、ｎｅｗ＿ｙ、ｓｈｉｆｔｘ、ｓｈｉｆｔｙ、Ｈ、Ｗ、ｈ、ｗ（現文字外接矩形２２０の幅）等を出力する。これらは、電子ドキュメントＢを構成する文字に関する情報として利用される。例えば、ＰＤＦ文書を構成する文字情報となる。
【００３６】
なお前述した具体例では、解像度情報にしたがって式（１）、式（２）を用いて量子化サイズを逐次算出していたが、図３に示した変形例のように予め用意された解像度毎の量子化データを参照して量子化サイズを決定してもよい。図３は、第１の実施の形態の変形例の構成例についての概念的なモジュール構成図である。この変形例は、矩形サイズ量子化モジュール３８０、文字矩形生成モジュール１９０、量子化データ選択モジュール３８５を有している。なお、第１の実施の形態と同種のモジュール、部位には同一符号を付し重複した説明を省略する。以下、第２、第３、第４の実施の形態においても同様である。
【００３７】
量子化データ選択モジュール３８５は、矩形サイズ量子化モジュール３８０と接続されており、量子化データを記憶している。例えば、量子化データは以下のように解像度毎に量子化値（ｐｉｘｅｌ値）が記載されているデータである。
［２００ｄｐｉ］［２３，  ２５，  ２８，  ３０，  ３１，  ３４，  ３９，  ４５，  ５０，  ５６，  ６２，  ６７，  ７３，  ７８，  １０９，  １３５，  ２００］
［３００ｄｐｉ］［３４，  ３８，  ４２，  ４４，  ４６，  ５０，  ５９，  ６７，  ７５，  ８４，  ９２，  １００，  １０９，  １１７，  １５０，  ２００，  ３００］
［４００ｄｐｉ］［４５，  ５０，  ５６，  ５９，  ６２，  ６７，  ７８，  ８９，  １００，  １１２，  １２３，  １３４，  １４５，  １５６，  ２００，  ２６７，  ４００］
量子化データ選択モジュール３８５は、解像度情報１０４を受け付け、その解像度情報１０４にしたがって量子化データからその解像度における量子化データを選択して矩形サイズ量子化モジュール３８０へ渡す。
【００３８】
矩形サイズ量子化モジュール３８０は、文字矩形生成モジュール１９０、量子化データ選択モジュール３８５と接続されている。矩形サイズ量子化モジュール３８０は量子化データ選択モジュール３８５から渡された量子化データを参照して、受け付けた文字情報データ１０２の外接矩形の高さを量子化する。前述と同様に、解像度情報が３００ｄｐｉ、外接矩形高さｈ  ＝  ４０［ｐｉｘｅｌ］の場合を例に説明すると、量子化データ中の３００ｄｐｉのデータが量子化データ選択モジュール３８５から渡され、その渡された量子化データ中からｈ  ＝  ４０より大きくて最も近い値として４２を量子化サイズとして決定する。このように量子化したサイズを文字矩形生成モジュール１９０に出力する。
【００３９】
＜第２の実施の形態＞
第２の実施の形態では、ラインである行又は列を抽出して、その行の高さ又は列の幅を量子化する。
図４は、第２の実施の形態の構成例についての概念的なモジュール構成図である。第２の実施の形態である画像処理装置は、図４の例に示すように、ライン認識処理モジュール４５０、矩形サイズ量子化モジュール４８０、文字矩形生成モジュール４９０を有している。
【００４０】
ライン認識処理モジュール４５０は、矩形サイズ量子化モジュール４８０、文字矩形生成モジュール４９０と接続されており、文字情報データ１０２を受け付け、その文字情報データ１０２に基づいて、電子ドキュメントＡ内の行又は列であるラインを抽出する。そして、ラインである行の高さ又は列の幅を矩形サイズ量子化モジュール４８０に渡し、抽出したラインに関する情報、文字情報データ１０２を文字矩形生成モジュール４９０に渡す。ここで、図５、図６に行抽出の処理例を示す。
ライン認識処理モジュール４５０は、図５（ａ）の例に示すように、注目文字情報データの外接矩形（注目外接矩形５１２）の左上ｙ座標（ｕｐｐｅｒ＿ｙ）が、その１つ前の文字情報データの外接矩形（注目外接矩形５１１）の左下ｙ座標（ｌｏｗｅｒ＿ｙ）より小さいときは（ｕｐｐｅｒ＿ｙ＜ｌｏｗｅｒ＿ｙ）、その注目文字情報データの外接矩形（注目外接矩形５１２）は、注目外接矩形５１１と同じ行であると認識する。
また、図５（ｂ）の例に示すように、注目文字情報データの外接矩形（注目外接矩形５２２）の左上ｙ座標（ｕｐｐｅｒ＿ｙ）が、その１つ前の文字情報データの外接矩形（注目外接矩形５２１）の左下ｙ座標（ｌｏｗｅｒ＿ｙ）より大きいときは（ｌｏｗｅｒ＿ｙ＜ｕｐｐｅｒ＿ｙ）、異なる行であると認識する。
なお、受け付けた文字情報データ１０２は、文字画像の外接矩形の出現順序（例えば、横書きの場合は、左上から右へ走査し、次の行ではまた左から右へ走査した順番に並んでいる）となっているので、１つ前の文字情報データの外接矩形とは、出現順序で１つ前である。また、外接矩形の左上の座標を用いてソートしてもよい。
【００４１】
図６は、ライン認識処理モジュール４５０によるラインの抽出処理例を示す説明図である。つまり、ライン認識処理モジュール４５０が外接矩形間の距離に基づいて行を認識する手法の例を示している。
ライン認識処理モジュール４５０は、図６（ａ）の例に示すように、注目文字情報データの外接矩形（注目外接矩形６０３）と、その１つ前の文字情報データの外接矩形（外接矩形６０２）との外接矩形間距離６１１（以下、現外接矩形間距離ともいう）が、現在処理している行において、既に同一行であると認識された各外接矩形間の距離の平均値（以下、平均外接矩形間距離ともいう）をα倍した値以下である場合は（つまり、現外接矩形間距離  ≦  平均外接矩形間距離  ×  α  を満たす場合）、注目外接矩形６０３は外接矩形６０２と同じ行であると認識する。なお、αは、ライン認識パラメータであり、予め定められた値である。例えば、文字情報データ１０２に応じて定められる。
また、図６（ｂ）の例に示すように、注目文字情報データの外接矩形（注目外接矩形６２３）と、その１つ前の文字情報データの外接矩形（外接矩形６２２）との外接矩形間距離６３１が、現在処理している行における平均外接矩形間距離をα倍した値より大である場合は（つまり、現外接矩形間距離  ＞  平均外接矩形間距離  ×  α  を満たす場合）、注目外接矩形６２３は外接矩形６２２とは異なる行であると認識する。
【００４２】
ライン認識処理モジュール４５０は、同じラインと認識された文字情報データに基づいて、そのラインに関する特徴を算出し、その算出したラインに関する情報を矩形サイズ量子化モジュール４８０、文字矩形生成モジュール４９０へ渡す。より具体的には、例えば、同じ行と認識された文字情報データ列から行高さ、行幅、行外接矩形座標、平均文字外接矩形間距離などのラインに関する特徴を算出する。
つまり、ライン認識処理モジュール４５０は、同じ行に属する文字情報データの外接矩形を含む矩形を求める。図７の例に示すように、同一行内の外接矩形７０１から外接矩形７１９を囲む矩形である行外接矩形７５０を求める。そして、行外接矩形座標として、図７で示すように行外接矩形の左上（ｍｉｎ＿ｘ，  ｍｉｎ＿ｙ）、右下（ｍａｘ＿ｘ，  ｍａｘ＿ｙ）を求める。
また、ライン認識処理モジュール４５０は、行高さ（ｈ）を先に求めた行外接矩形座標を用いて、ｈ  ＝  ｍａｘ＿ｙ  −  ｍｉｎ＿ｙ  として求める。同様に、行幅（ｗ）を行外接矩形座標を用いて、ｗ  ＝  ｍａｘ＿ｘ  −  ｍｉｎ＿ｘ  として求める。これらの行高さ、行幅は、各外接矩形のサイズ（高さ、幅）又はその座標を用いて求める。
また、ライン認識処理モジュール４５０は、平均文字外接矩形間距離を、同じ行に属する隣接する文字情報データの外接矩形間距離ｇ０，  ｇ１，  ……，  ｇｎの平均値として求める。また、最大外接矩形間距離ｍａｘ＿ｇを、ｇ０，  ｇ１，  ……，  ｇｎのうちの最大値として求める。なお、リストデータとしてｇ０，  ｇ１，  ……  ，  ｇｎのそれぞれの値も保持するようにしてもよい。
【００４３】
矩形サイズ量子化モジュール４８０は、ライン認識処理モジュール４５０、文字矩形生成モジュール４９０と接続されており、ライン認識処理モジュール４５０で算出された行高さｈを、受け付けた解像度情報１０４に基づいて算出された矩形量子化サイズで量子化し、その量子化した行高さｈを文字矩形生成モジュール４９０に渡す。つまり、矩形サイズ量子化モジュール４８０は、ライン認識処理モジュール４５０によって抽出された行の高さ又は列の幅を変更の対象とする。第１の実施の形態における矩形サイズ量子化モジュール１８０と同様の処理（具体例として、文字の外接矩形の高さを量子化の対象とするのではなく、行の外接矩形の高さを量子化の対象とする処理）を行う。
【００４４】
文字矩形生成モジュール４９０は、ライン認識処理モジュール４５０、矩形サイズ量子化モジュール４８０と接続されており、矩形サイズ量子化モジュール４８０によって量子化された行の外接矩形高さ、ライン認識処理モジュール４５０によって抽出されたラインに関する情報を用いて、文字情報データ１０２内の外接矩形を囲む補正文字矩形情報１９２を生成する。つまり、各ライン毎に、そのラインに属する文字情報データ１０２を補正して補正文字矩形情報１９２を生成する。したがって、そのラインに属する文字画像のポイント数は同じとなる。
【００４５】
図８に、文字矩形生成モジュール４９０における補正文字矩形情報１９２の生成処理の具体的な一例を示す。
文字矩形生成モジュール４９０では、図８の例に示す各補正値を以下のように算出する。
まず、新たな矩形高さＨとして、補正対象の文字情報データが属する行の、矩形サイズ量子化モジュール４８０で量子化された矩形高さｈを設定する。
補正矩形幅Ｗは、左右隣り合った外接矩形間の中心から中心までの距離とする。つまり、注目外接矩形（図８内の現文字外接矩形８２０）の左端と左隣の外接矩形（注目外接矩形よりも順序で１つ前の外接矩形、図８内の前文字外接矩形８１０）の右端との中心から注目外接矩形（図８内の現文字外接矩形８２０）の右端と右隣の外接矩形（注目外接矩形よりも順序で１つ後の外接矩形、図８内の次文字外接矩形８４０）の左端との中心までの距離を、補正矩形幅Ｗとする。
【００４６】
図８の例に示すように、前文字外接矩形８１０の右端のｘ座標をｘ０、現文字外接矩形８２０の左端のｘ座標をｘ１、現文字外接矩形８２０の右端のｘ座標をｘ２、次文字外接矩形８４０の左端のｘ座標をｘ３とすると、補正矩形幅Ｗは以下の式（６）で算出し得る。
Ｗ  ＝  （ｘ２  ＋  ｘ３  −  ｘ０  −  ｘ１）  ／  ２  ・・・・・  式（６）
【００４７】
生成する矩形８３０の左上頂点の座標値（ｎｅｗ＿ｘ，ｎｅｗ＿ｙ）は、以下の式（７）で算出する。
ｎｅｗ＿ｘ  ＝  （ｘ０  ＋  ｘ１）  ／  ２
ｎｅｗ＿ｙ  ＝  ｍｉｎ＿ｙ  −  （Ｈ  −  ｈ）  ／  ２  ・・・・・  式（７）
ここでｍｉｎ＿ｙは補正対象の文字情報データが属する行のｙ座標の最小値、Ｈは補正矩形高さ、ｈは補正前の行の外接矩形高さである。
【００４８】
補正矩形８３０から現文字外接矩形８２０への相対移動量（オフセット量）であるｓｈｉｆｔｘ、ｓｈｉｆｔｙは、以下の式（８）で算出する。
ｓｈｉｆｔｘ  ＝  ｘ１  −  ｎｅｗ＿ｘ
ｓｈｉｆｔｙ  ＝  ｙ１  −  ｎｅｗ＿ｙ  ・・・・・  式（８）
ここでｙ１は、現文字外接矩形８２０の上端のｙ座標値である。
【００４９】
前述したように文字矩形生成モジュール４９０では、文字情報データ１０２の外接矩形情報から補正矩形を生成し、文字同士の矩形高さが揃い、また矩形同士の隙間が空かないような補正を行う。
また文字矩形生成モジュール４９０は、前述した補正に加えて、電子ドキュメント内の文字の言語に基づいて、補正後の文字矩形の大きさを算出するようにしてもよい。例えば、対象とする電子ドキュメントが日本語の場合には、補正後の文字矩形が正方形となるように、補正矩形幅Ｗを補正矩形高さＨと等しくなるよう設定するようにしてもよい。なお、対象とする電子ドキュメント内の文字の言語の判断は、その電子ドキュメント内に含まれている言語に関するヘッダ、文字コード、画像である場合は文字認識処理の結果等を用いて行う。
【００５０】
＜第３の実施の形態＞
第３の実施の形態では、ラインである行又は列を抽出し、そのラインを用いて段落を抽出して、その段落内の行の高さ又は列の幅の代表値を量子化する。
図９は、第３の実施の形態の構成例についての概念的なモジュール構成図である。第３の実施の形態である画像処理装置は、図９の例に示すように、ライン認識処理モジュール９５０、段落認識処理モジュール９６０、矩形サイズ量子化モジュール９８０、文字矩形生成モジュール９９０を有している。
ライン認識処理モジュール９５０は、段落認識処理モジュール９６０と接続されており、第２の実施の形態におけるライン認識処理モジュール４５０と同等の処理を行い、抽出したラインに関する情報、文字情報データ１０２を段落認識処理モジュール９６０へ渡す。
【００５１】
段落認識処理モジュール９６０は、ライン認識処理モジュール９５０、矩形サイズ量子化モジュール９８０、文字矩形生成モジュール９９０と接続されており、ライン認識処理モジュール９５０によって抽出されたラインに応じて、電子ドキュメントＡ内の段落を抽出する。そして、段落内の行高さの代表値を矩形サイズ量子化モジュール９８０へ渡し、抽出した段落に関する情報、文字情報データ１０２を文字矩形生成モジュール９９０へ渡す。
図１０は、第３の実施の形態による段落の認識処理例を示すフローチャートである。つまり、段落認識処理モジュール９６０が行う処理例を示すものである。
【００５２】
ステップＳ１００２では、まず初めにライン認識処理モジュール９５０で認識された行に関して、行外接矩形のｙ座標値であるｍｉｎ＿ｙ値で昇順にソートする。
ステップＳ１００４では、ステップＳ１００２でソートされた行を全て探索（ステップＳ１００６からステップＳ１０１４までの処理）したかどうかを判定する。全て探索されていればステップＳ１０１６に処理を移し、探索が終了していなければステップＳ１００６に処理を移す。
ステップＳ１００６では、注目する行（以降は、現探索行ともいう）をソート順に選択する。
ステップＳ１００８では、現探索行に関して段落に登録されているかどうかを判定する。現探索行が段落に登録されているならば処理をステップＳ１００４に処理を戻し、登録されていなければステップＳ１０１０に処理を移す。
【００５３】
ステップＳ１０１０では、現探索行が現段落における最初の登録行かどうかを判定する。現探索行が現段落における最初の登録行であれば処理をステップＳ１０１４に処理を移し、最初の登録行でなければステップＳ１０１２に処理を移す。
ステップＳ１０１２では、現段落に対して現探索行が登録できるかどうかを判定する。現探索行が現段落に登録可能ならば処理をステップＳ１０１４に処理を移し、登録できないならば処理をステップＳ１００４に処理を戻す。なお、ステップＳ１０１２における現探索行の登録可否処理の詳細は、図１２を用いて後で詳しく説明する。
【００５４】
ステップＳ１０１４では、現段落に対して、最初の登録行であるか、又は登録可能な行であると、それぞれステップＳ１０１０又はステップＳ１０１２で判定されている現探索行を現段落に登録し、段落情報を算出又は更新する。その後、処理をステップＳ１００４に処理を移す。
ここで、図１１に段落情報の具体的な例を示す。段落情報として、例えば、その段落の位置情報（例えば、左上座標及び右下座標）、段落順序値（その段落を読む際の順序）を含む。段落認識処理モジュール９６０は、図１１の例に示すように、段落に登録されている行情報（登録行情報）を用いて、段落に登録された全ての行の行外接矩形（登録行０−１１００から登録行８−１１０８）を含む矩形を段落外接矩形１１１０として、その左上座標（ｍｉｎ＿ｘ，  ｍｉｎ＿ｙ）及び右下座標（ｍａｘ＿ｘ，  ｍａｘ＿ｙ）を算出する。また図１１には図示していないが、同一段落に登録された各行のうち、最も行高さが大きい値ｍａｘ＿ｈを算出し、段落内の行高さの代表値とする。同一段落に登録された文字情報データ中で最も小さい文字認識順序の値ｍｉｎ＿ｏｒｄｅｒを算出し、段落順序値とする。
【００５５】
次に、段落情報の更新について説明する。段落認識処理モジュール９６０は、本ステップにおいて、現段落に新たな行を登録する場合は、前述の段落外接矩形座標及び段落順序値を更新する。図１１に示す具体例では、新たに処理対象とする行を登録行８−１１０８とすると、その登録行８−１１０８の行外接矩形の幅は、現段落外接矩形座標の幅（ｍｉｎ＿ｘ，  ｍａｘ＿ｘ）内に収まっているので、ｍｉｎ＿ｘ及びｍａｘ＿ｘは更新せず、ｍａｘ＿ｙだけ更新する（図１１では、更新前ｍａｘ＿ｙから更新後ｍａｘ＿ｙへ更新する）。さらに、現段落の段落代表値と新たに登録される登録行８−１１０８の行高さを比較して、現段落の段落代表値より登録行８−１１０８の行高さが大きい場合には段落代表値ｍａｘ＿ｈも更新する。つまり、登録行８−１１０８の行高さを段落代表値ｍａｘ＿ｈとし、段落代表値ｍａｘ＿ｈをその段落内で最も大きい行高さとする。さらに、現段落順序値と新たに登録される登録行８−１１０８中の全ての文字情報データの文字認識順序値を比較して、現段落順序値よりも小さい値がある場合には、段落順序値ｍｉｎ＿ｏｒｄｅｒをその小さい値（文字認識順序値）に更新する。
【００５６】
ステップＳ１０１６では、ステップＳ１００４でソート順に行の探索を終了しているので、現段落に登録すべき行は全て登録しているとして現段落の抽出処理を終了する。
ステップＳ１０１８では、全ての行が段落登録されたかを判定する。全ての行がいずれかの段落に登録されていれば段落抽出処理を終了する（ステップＳ１０９９）。いずれの段落にも登録されていない行がある場合には、処理をステップＳ１００４に処理を戻し、次の段落抽出処理を行う。
【００５７】
次に、図１０の例に示したフローチャートのステップＳ１０１２において、段落認識処理モジュール９６０が処理する現探索行の登録可否処理例の詳細について、図１２の例に示すフローチャートを用いて説明する。
ステップＳ１２０２において、現探索行が現段落の段落外接矩形に対して、右又は左にずれているかを判定する。つまり、現探索行の左端が現段落の右端より右にあるか否か、又は現探索行の右端が現段落の左端より左にあるか否かを判定する。例えば、図１３（ａ）の例に示すように、現探索行１３１２が現段落１３１０より右にずれているかどうか、又は図１３（ｂ）の例に示すように、現探索行１３３２が現段落１３３０よりも左にずれているかどうかを判定する。現探索行が図１３の例のように右又は左にずれている場合には、現探索行は現段落に登録せず、図１０の例に示したステップＳ１００４に処理を戻す。それ以外の場合は、処理をステップＳ１２０４に処理を移す。
【００５８】
ステップＳ１２０４において、現探索行と現段落に登録された行の文字サイズ（行高さを含む）に基づいて、その現探索行を登録すべきか否かを判定する。つまり、現探索行が現段落内の登録行より文字サイズが大きいか小さいかを判定する。例えば、ステップＳ１２０４における文字サイズの判定は、図１４の例に示すように行高さを用いて行う。つまり、現段落１４２０，１４５０に既に登録された各行（現段落１４２０内の行１４００から行１４０８、現段落１４５０内の行１４３０から行１４３８）の平均行高さと現探索行１４１０，１４４０の行高さを比較して、図１４（ａ）の例に示すように、現探索行１４１０の行高さが平均行高さより予め定められた量だけ大きい場合、又は図１４（ｂ）の例に示すように、現探索行１４４０の行高さが平均行高さより予め定められた量だけ小さい場合は、現探索行１４１０，１４４０は現段落１４２０，１４５０に登録せず、図１０の例に示したステップＳ１００４に処理を戻す。それ以外の場合は、処理をステップＳ１２０６に移す。
【００５９】
ステップＳ１２０６において、現探索行が現段落の段落外接矩形に対して、下にずれたかどうかを判定する。つまり、図１１の例に示した現段落の段落外接矩形１１１０のｍａｘ＿ｙ（図１１では更新後ｍａｘ＿ｙ）と図７の例に示した現探索行の行外接矩形７５０のｍｉｎ＿ｙとを比較して、ｍａｘ＿ｙ  ≦  ｍｉｎ＿ｙなら処理をステップＳ１２０８に処理を移し、ｍａｘ＿ｙ  ＞  ｍｉｎ＿ｙなら図１０の例に示したステップＳ１０１４に処理を移して、現探索行を現段落に登録し、段落情報を更新する。
【００６０】
ステップＳ１２０８において、ステップＳ１２０４と同様に現段落に登録された各行の平均行高さと現探索行の行高さを比較して、現探索行の行高さが平均行高さより予め定められた量だけ大きい場合、又は現探索行の行高さが平均行高さより予め定められた量だけ小さい場合は、現探索行は現段落に登録せず、図１０の例に示したステップＳ１００４に処理を戻す。それ以外の場合は、処理をステップＳ１２１０に移す。
【００６１】
ステップＳ１２１０において、現探索行と現段落の行間と現段落に既に登録された各行の行間とを比較する。つまり、現段落に既に登録された各行の行間の平均値と現探索行と現段落の段落外接矩形との距離（ｍｉｎ＿ｙ  −  ｍａｘ＿ｙ）を比較して、その差分が予め定められた量より大きい場合は行間が広がったと判定して現探索行は現段落に登録せず、図１０の例に示したステップＳ１００４に処理を戻す。前記差分が予め定められた量より小さい場合は、行間は一定であると判定して、ステップＳ１２１２に処理を移す。
【００６２】
ステップＳ１２１２において、現探索行の１つ前の同一行に登録行が複数あるかどうかを判定し、同一行に複数登録行がある場合は、行外接矩形のｘ座標値であるｍｉｎ＿ｘ値で昇順にソートする。ここで、同一行とは、行外接矩形のｙ座標が現探索行のそれと予め定められた範囲内にある行であって、ライン認識処理モジュール９５０では別々の行であると認識されたが、段落認識処理モジュール９６０による現段落の生成過程において、現探索行よりも前に登録された行（複数の場合もあり得る）のことをいう。ここで、ｙ座標が予め定められた範囲内にあるとは、その段落において１行が存在するｙ座標の範囲内にあることをいう。同一行に複数登録行がない場合はそのまま図１０の例に示したステップＳ１０１４に処理を移して、現探索行を現段落に登録し、段落情報を更新する。図１５の例は、同一行上に３つの登録行（登録行１５１０、登録行１５１１、登録行１５１２）がある場合を表しており、この図１５の例では前記３つの登録行の行外接矩形の各ｘ座標値である、「ｍｉｎ＿ｘ」：登録行１５１０、「ｍｉｎ＿ｘ」：登録行１５１１、「ｍｉｎ＿ｘ」：登録行１５１２を用いて昇順でソートを行う。ソート処理終了後、図１０の例に示したステップＳ１０１４に処理を移して、現探索行を現段落に登録し、段落情報を更新する。
【００６３】
矩形サイズ量子化モジュール９８０は、段落認識処理モジュール９６０、文字矩形生成モジュール９９０と接続されており、段落認識処理モジュール９６０で算出された段落内の行高さの代表値ｍａｘ＿ｈを、受け付けた解像度情報１０４に基づいて算出された矩形量子化サイズで量子化し、その量子化した行高さの代表値ｍａｘ＿ｈを文字矩形生成モジュール９９０に渡す。つまり、矩形サイズ量子化モジュール９８０は、段落認識処理モジュール９６０によって抽出された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする。第１の実施の形態における矩形サイズ量子化モジュール１８０と同様の処理（具体例として、文字の外接矩形の高さを量子化の対象とするのではなく、段落内の行の外接矩形の高さの代表値を量子化の対象とする処理）を行う。
文字矩形生成モジュール９９０は、段落認識処理モジュール９６０、矩形サイズ量子化モジュール９８０と接続されており、矩形サイズ量子化モジュール９８０によって量子化された段落内の行高さの代表値、段落認識処理モジュール９６０によって抽出された段落に関する情報を用いて、第２の実施の形態における文字矩形生成モジュール４９０と同様に文字情報データ１０２内の外接矩形を囲む補正文字矩形情報１９２を生成する。つまり、各段落毎に、その段落に属する文字情報データ１０２を補正して補正文字矩形情報１９２を生成する。したがって、その段落に属する文字画像のポイント数は同じとなる。
【００６４】
＜第４の実施の形態＞
第４の実施の形態では、ラインである行又は列を抽出し、そのラインを用いて段落を抽出し、さらにその段落を統合して、その統合した段落内の行の高さ又は列の幅の代表値を量子化する。
図１６は、第４の実施の形態の構成例についての概念的なモジュール構成図である。第４の実施の形態である画像処理装置は、図１６の例に示すように、ライン認識処理モジュール１６５０、段落認識処理モジュール１６６０、段落統合処理モジュール１６７０、矩形サイズ量子化モジュール１６８０、文字矩形生成モジュール１６９０を有している。
ライン認識処理モジュール１６５０は、段落認識処理モジュール１６６０と接続されており、第３の実施の形態におけるライン認識処理モジュール９５０と同等の処理を行い、抽出したラインに関する情報、文字情報データ１０２を段落認識処理モジュール１６６０へ渡す。
段落認識処理モジュール１６６０は、ライン認識処理モジュール１６５０、段落統合処理モジュール１６７０と接続されており、第３の実施の形態における段落認識処理モジュール９６０と同等の処理を行い、抽出した段落に関する情報、文字情報データ１０２を段落統合処理モジュール１６７０へ渡す。
【００６５】
段落統合処理モジュール１６７０は、段落認識処理モジュール１６６０、矩形サイズ量子化モジュール１６８０、文字矩形生成モジュール１６９０と接続されており、段落認識処理モジュール１６６０によって抽出された段落を統合する。そして、統合段落内の行高さの代表値を矩形サイズ量子化モジュール１６８０へ渡し、統合した段落に関する情報、文字情報データ１０２を文字矩形生成モジュール１６９０へ渡す。段落の統合は、各段落の段落代表値ｍａｘ＿ｈを用いて行う。
【００６６】
図１７は、段落統合処理モジュール１６７０が行う段落の統合処理例を示すフローチャートである。
ステップＳ１７０２において、段落認識処理モジュール１６６０で認識された全ての段落の段落代表値ｍａｘ＿ｈの差分値を算出し、その差分値が最小となる２つの段落を抽出する（このときの差分値を以下では「差分最小値」ともいう）。
ステップＳ１７０４において、ステップＳ１７０２で算出された差分最小値を予め定めた閾値と比較する。前記差分最小値が予め定めた閾値より大きい場合（ステップＳ１７０４でＮＯ）は、これ以上統合すべき段落はないと判断して、段落統合処理モジュール１６７０における段落統合処理を終了する（ステップＳ１７９９）。前記差分最小値がある所定の閾値より小さい場合（ステップＳ１７０４でＹＥＳ）は、ステップＳ１７０６に処理を移す。
【００６７】
ステップＳ１７０６において、ステップＳ１７０２で差分最小値であるとして抽出された２つの段落を統合する。ここでいう段落の統合とは、段落代表値が近い段落同士であることを示すために、例えば２つの段落の段落情報に同じ識別番号などを付与又は追加するという意味である。
ステップＳ１７０８において、ステップＳ１７０６において統合された段落の段落代表値ｍａｘ＿ｈを、統合元の２つの段落の段落代表値の大きい方で設定し、ステップＳ１７０２に処理を戻す。つまり、統合後の段落の段落代表値ｍａｘ＿ｈを、元の段落の段落代表値ｍａｘ＿ｈのうち大きい値とする。
このように段落統合処理モジュール１６７０は、前述したように、ステップＳ１７０２で算出する差分最小値がステップＳ１７０４において予め定めた閾値より大きくなるまでステップＳ１７０２からステップＳ１７０８の統合処理を繰り返して段落を統合する。
【００６８】
矩形サイズ量子化モジュール１６８０は、段落統合処理モジュール１６７０、文字矩形生成モジュール１６９０と接続されており、段落統合処理モジュール１６７０で算出された統合段落内の行高さの代表値ｍａｘ＿ｈを、受け付けた解像度情報１０４に基づいて算出された矩形量子化サイズで量子化し、その量子化した行高さの代表値ｍａｘ＿ｈを文字矩形生成モジュール１６９０に渡す。つまり、矩形サイズ量子化モジュール１６８０は、段落統合処理モジュール１６７０によって統合された段落内のラインである行の高さ又は列の幅の代表値を変更の対象とする。第１の実施の形態における矩形サイズ量子化モジュール１８０と同様の処理（具体例として、文字の外接矩形の高さを量子化の対象とするのではなく、統合段落内の行の外接矩形の高さの代表値を量子化の対象とする処理）を行う。
文字矩形生成モジュール１６９０は、段落統合処理モジュール１６７０、矩形サイズ量子化モジュール１６８０と接続されており、矩形サイズ量子化モジュール１６８０によって量子化された統合段落内の行高さの代表値、段落統合処理モジュール１６７０によって抽出された統合段落に関する情報を用いて、第２の実施の形態における文字矩形生成モジュール４９０と同様に文字情報データ１０２内の外接矩形を囲む補正文字矩形情報１９２を生成する。つまり、各統合段落毎に、その統合段落に属する文字情報データ１０２を補正して補正文字矩形情報１９２を生成する。したがって、その統合段落に属する文字画像のポイント数は同じとなる。
【００６９】
図１８を参照して、前述の実施の形態の画像処理装置のハードウェア構成例について説明する。図１８に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１８１７と、プリンタなどのデータ出力部１８１８を備えたハードウェア構成例を示している。
【００７０】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１８０１は、前述の実施の形態において説明した各種のモジュール、すなわち、矩形サイズ量子化モジュール１８０、文字矩形生成モジュール１９０、ライン認識処理モジュール４５０、段落認識処理モジュール９６０、段落統合処理モジュール１６７０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００７１】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１８０２は、ＣＰＵ１８０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１８０３は、ＣＰＵ１８０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１８０４により相互に接続されている。
【００７２】
ホストバス１８０４は、ブリッジ１８０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１８０６に接続されている。
【００７３】
キーボード１８０８、マウス等のポインティングデバイス１８０９は、操作者により操作される入力デバイスである。ディスプレイ１８１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７４】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１８１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１８０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、文字情報データ１０２、解像度情報１０４、補正文字矩形情報１９２、量子化データなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７５】
ドライブ１８１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１８１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１８０７、外部バス１８０６、ブリッジ１８０５、及びホストバス１８０４を介して接続されているＲＡＭ１８０３に供給する。リムーバブル記録媒体１８１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７６】
接続ポート１８１４は、外部接続機器１８１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１８１４は、インタフェース１８０７、及び外部バス１８０６、ブリッジ１８０５、ホストバス１８０４等を介してＣＰＵ１８０１等に接続されている。通信部１８１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１８１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１８１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７７】
なお、図１８に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１８に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１８に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７８】
前述の実施の形態においては、主に横書き電子ドキュメントの場合の、外接矩形の高さ、行の高さを用いることを示したが、縦書きの場合は外接矩形の幅、列の幅を同様に用いる。また、外接矩形の高さを量子化の対象としたが、外接矩形の幅であってもよいし、両方を量子化の対象としてもよい。なお、両方を量子化の対象とする場合は、量子化後のポイント数を大きい方に合わせるように量子化する。
また、第２、第３、第４の実施の形態においても、第１の実施の形態と同様の変形例（図３参照）としてもよい。つまり、第２の実施の形態における矩形サイズ量子化モジュール４８０、第３の実施の形態における矩形サイズ量子化モジュール９８０、第４の実施の形態における矩形サイズ量子化モジュール１６８０を、図３の例に示した矩形サイズ量子化モジュール３８０、量子化データ選択モジュール３８５の組み合わせとしてもよい。
なお、数式を用いて説明したが、数式には、その数式と同等のものを含めてもよい。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
【００７９】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００８０】
１０２…文字情報データ
１０４…解像度情報
１８０…矩形サイズ量子化モジュール
１９０…文字矩形生成モジュール
１９２…補正文字矩形情報
２１０…前文字外接矩形
２２０…現文字外接矩形
２３０…次文字外接矩形
２４０…補正文字矩形
３８０…矩形サイズ量子化モジュール
３８５…量子化データ選択モジュール
４５０…ライン認識処理モジュール
４８０…矩形サイズ量子化モジュール
４９０…文字矩形生成モジュール
９５０…ライン認識処理モジュール
９６０…段落認識処理モジュール
９８０…矩形サイズ量子化モジュール
９９０…文字矩形生成モジュール
１６５０…ライン認識処理モジュール
１６６０…段落認識処理モジュール
１６７０…段落統合処理モジュール
１６８０…矩形サイズ量子化モジュール
１６９０…文字矩形生成モジュール
【図１】
2011100252.tif 000003
【図２】
2011100252.tif 000004
【図３】
2011100252.tif 000005
【図４】
2011100252.tif 000006
【図５】
2011100252.tif 000007
【図６】
2011100252.tif 000008
【図７】
2011100252.tif 000009
【図８】
2011100252.tif 000010
【図９】
2011100252.tif 000011
【図１０】
2011100252.tif 000012
【図１１】
2011100252.tif 000013
【図１２】
2011100252.tif 000014
【図１３】
2011100252.tif 000015
【図１４】
2011100252.tif 000016
【図１５】
2011100252.tif 000017
【図１６】
2011100252.tif 000018
【図１７】
2011100252.tif 000019
【図１８】
2011100252.tif 000020
【図１９】
2011100252.tif 000021
【図２０】
2011100252.tif 000022
【図２１】
2011100252.tif 000023
【図２２】
2011100252.tif 000024
【図２３】
2011100252.tif 000025