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