(57)【要約】【課題】文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く行や段のレイアウトを解析すること。【解決手段】文書画像の黒画素連結成分から文字候補要素を生成する文字候補要素生成部１０４と、行方向に並ぶ複数の文字候補要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字候補要素を行候補要素とする横方向行矩形生成部１０５と、上記垂直方向について、略同長の複数の行候補要素を段候補要素とする横段生成部１０６とを備えている。【選択図】　　　図１
2004038321.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出手段、
行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出手段、
として機能させるための文書レイアウト解析プログラム。
【請求項２】
前記行要素抽出手段は、文字サイズ別に、前記行方向に並ぶ複数の文字要素を分類し、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることを特徴とする請求項１に記載の文書レイアウト解析プログラム。
【請求項３】
前記コンピュータを、前記行要素抽出手段により抽出され隣接する二つの行要素について、行方向に対して垂直方向のズレ量が閾値以下である場合、前記二つの行要素を一つの行要素として統合する行要素統合手段、として機能させるための請求項１または２に記載の文書レイアウト解析プログラム。
【請求項４】
前記コンピュータを、前記行要素統合手段により統合された行要素に含まれる複数の文字要素について、間隔が所定以上である場合、当該文字要素の位置より前記行要素を二つに切断する行要素切断手段、として機能させるための請求項３に記載の文書レイアウト解析プログラム。
【請求項５】
前記行要素切断手段は、垂直方向において、ある行要素が他の行要素と重なっており、前記ある行要素に含まれる文字要素が前記他の行要素と重ならない場合、前記ある行要素を二つに切断することを特徴とする請求項４に記載の文書レイアウト解析プログラム。
【請求項６】
前記行要素統合手段は、行方向に隣接する二つの行要素の長さが、垂直方向に隣接する他の行要素の長さと略同じである場合、前記二つの行要素を一つの行要素に統合することを特徴とする請求項３〜５のいずれか一つに記載の文書レイアウト解析プログラム。
【請求項７】
前記コンピュータを、前記垂直方向について、略同長の複数の行要素を段要素とする段要素抽出手段、として機能させることを特徴とする請求項１〜６のいずれか一つに記載の文書レイアウト解析プログラム。
【請求項８】
前記段要素抽出手段は、前記段要素に隣接する行要素を統合した段要素と他の行要素とが重ならない場合、前記段要素と前記行要素とを統合し新たな段要素とすることを特徴とする請求項７に記載の文書レイアウト解析プログラム。
【請求項９】
文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出手段と、
行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出手段と、
を備えたことを特徴とする文書レイアウト解析装置。
【請求項１０】
文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出工程と、
行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出工程と、
を含むことを特徴とする文書レイアウト解析方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、帳票に対応する文書画像のレイアウトを解析する文書レイアウト解析プログラム、文書レイアウト解析装置および文書レイアウト解析方法に関するものであり、特に、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く行や段のレイアウトを解析することができる文書レイアウト解析プログラム、文書レイアウト解析装置および文書レイアウト解析方法に関するものである。
【０００２】
【従来の技術】
従来より、文書画像における文字、行等のレイアウトを解析する方法は、例えば、特開平７−１９２０８３号公報（文書画像レイアウト解析装置）に開示されており、異なる文字サイズが混在する文書画像について、各文字に対応する外接矩形の面積に基づいて、複数の外接矩形（文字）を文字サイズ別にクラス分けを行い、クラス毎のレイアウト解析結果を、優先度を用いて合成するというものである。
【０００３】
また、当該方法では、外接矩形の投影パターンを求め、行の配置の周期性を考慮して行を切り出すことにより、行レイアウトの解析を行っている。
【０００４】
【発明が解決しようとする課題】
ところで、前述したように、従来のレイアウト解析方法では、文字サイズの大小に対応可能であるが、外接矩形の投影パターンを用いて行レイアウトの解析を行っているため、図４１（ａ）に示した文書画像１０の部分１０ａのように行の途中で複数行に分岐する場合に精度良く行のレイアウトを解析することができないという問題がある。
【０００５】
さらに、従来では、外接矩形の投影パターンを用いて行レイアウトの解析を行っているため、図４１（ｂ）に示した文書画像２０の部分２０ａや、図４１（ｃ）に示した文書画像３０の部分３０ａのように、括弧内に複数の行が存在する場合にも、精度良く行のレイアウトを解析することができない。
【０００６】
これは、括弧の外接矩形が同図縦長であるため、投影パータンに括弧内の複数行が隠れてしまい、括弧に関しては、１行として解析されるためである。
【０００７】
本発明は、上記に鑑みてなされたもので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く行や段のレイアウトを解析することができる文書レイアウト解析プログラム、文書レイアウト解析装置および文書レイアウト解析方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、コンピュータを、文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出手段、行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出手段、として機能させるための文書レイアウト解析プログラムである。
【０００９】
また、本発明は、文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出手段と、行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出手段と、を備えたことを特徴とする。
【００１０】
また、本発明は、文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出工程と、行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出工程と、を含むことを特徴とする。
【００１１】
かかる発明によれば、文書画像の黒画素連結成分から文字要素を抽出し、行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることとしたので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く行レイアウトを解析することができる。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明にかかる文書レイアウト解析プログラム、文書レイアウト解析装置および文書レイアウト解析方法の一実施の形態について詳細に説明する。
【００１３】
図１は、本発明にかかる一実施の形態の構成を示すブロック図である。この図には、例えば、図２（ａ）〜図２（ｃ）に示した文書画像２００、２２０、２４０等を解析対象として、文書における行、段等のレイアウトを解析する文書レイアウト解析装置１００が図示されている。
【００１４】
これらの文書画像２００、２２０および２４０は、例えば、各種帳票に対応する画像である。文書画像２００には、括弧内に複数の行（「取消し」および「取りやめ」）が存在している。
【００１５】
文書画像２２０の場合には、行の途中で複数行（「定めた」および「変更することとした」）に分岐している。文書画像２４０には、括弧内に複数の行（「中間申告の場合はその税額とし、マイナスの場合は（１５）へ記入」）が存在している。
【００１６】
この文書レイアウト解析装置１００において、入力部１０１は、解析対象の文書画像（例えば、文書画像２００、２２０およ２４０等）を入力する機能を備えている。制御部１０２は、各部を制御するとともに、文書画像における段を確定させるための処理を実行する。
【００１７】
黒画素連結成分抽出部１０３は、文書画像２００、２２０および２４０（図２（ａ）、図２（ｂ）および図２（ｃ））のデータに基づいて、連続する黒画素を黒画素連結成分として抽出し、各黒画素連結成分に外接する矩形（以下、外接矩形という）を設定するという黒画素連結成分抽出処理を実行する。
【００１８】
文字候補要素生成部１０４は、黒画素連結成分抽出処理の結果を用いて、文字候補要素を生成するための文字候補要素生成処理を実行する。横方向行矩形生成部１０５は、文字候補要素生成処理の結果に対して、横方向について行候補としての行矩形を生成するという横方向行矩形生成処理を実行する。
【００１９】
横段生成部１０６は、横方向の行矩形からひとまとまりの横段を生成するという横段生成処理を実行する。縦方向行矩形生成部１０７は、文字候補要素生成処理の結果に対して、縦方向について行候補としての行矩形を生成するという縦方向行矩形生成処理を実行する。
【００２０】
縦段生成部１０８は、縦方向の行矩形からひとまとまりの縦段を生成するという縦段生成処理を実行する。記憶部１０９は、各処理の実行結果等を記憶する。出力部１１０は、各処理の実行結果等を出力する。
【００２１】
つぎに、一実施の形態の動作について、図３〜図１９に示したフローチャートを参照しつつ説明する。
【００２２】
図３に示したステップＳＡ１では、入力部１０１は、解析対象である文書画像のデータとして、例えば、文書画像２００（図２（ａ）参照）、文書画像２２０（図２（ｂ）参照）および文書画像２４０（図２（ｃ）参照）のデータを入力する。
【００２３】
ステップＳＡ２では、黒画素連結成分抽出部１０３は、ステップＳＡ１で入力された文書画像２００、２２０および２４０のデータに基づいて、連続する黒画素を黒画素連結成分として抽出し、黒画素連結成分に外接する外接矩形を設定するという黒画素連結成分抽出処理を実行する。
【００２４】
図２８（ａ）〜図２８（ｃ）には、黒画素連結成分抽出処理の結果が図示されている。図２８（ａ）は、文書画像２００（図２（ａ）参照）に対応する黒画素連結成分抽出結果２０１を示す図である。この黒画素連結成分抽出結果２０１においては、連続する黒画素成分（文字の全体または一部、括弧や記号の全体または一部等）のそれぞれに外接矩形２０１ａ、２０１ｂ、・・・、２０１ｆ、２０１ｇ、２０１ｈ、・・・が設定されている。
【００２５】
図２８（ｂ）は、文書画像２２０（図２（ｂ）参照）に対応する黒画素連結成分抽出結果２２１を示す図である。この黒画素連結成分抽出結果２２１においては、連続する黒画素成分のそれぞれに外接矩形２２１ａ、２２１ｂ、・・・が設定されている。
【００２６】
図２８（ｃ）は、文書画像２４０（図２（ｃ）参照）に対応する黒画素連結成分抽出結果２４１を示す図である。この黒画素連結成分抽出結果２４１においては、連続する黒画素成分のそれぞれに外接矩形２４１ａ、２４１ｂ、２４１ｃ・・・が設定されている。
【００２７】
図３に戻り、ステップＳＡ３では、文字候補要素生成部１０４は、上述した黒画素連結成分抽出処理の結果（黒画素連結成分抽出結果２０１、２２１および２４１：図２８（ａ）、（ｂ）および（ｃ））を用いて、文字候補要素を生成するための文字候補要素生成処理を実行する。
【００２８】
具体的には、図４に示したステップＳＢ１では、文字候補要素生成部１０４は、重なり矩形統合処理を実行する。この重なり矩形統合処理は、黒画素連結成分抽出処理で抽出された黒画素連結成分の外接矩形を文字候補として、文字サイズが「標準」と「小」（または「小」と「大」）に属する二つの外接矩形が重なり、かつ所定の条件を満たす場合に二つの外接矩形を統合する処理である。
【００２９】
図５に示した重なり矩形統合処理において、ステップＳＣ１では、文字候補要素生成部１０４は、黒画素連結成分抽出結果２０１、２２１および２４１：図２８（ａ）、（ｂ）および（ｃ）における外接矩形２０１ａ、２０１ｂ、・・・、外接矩形２２１ａ、２２１ｂ、・・・、外接矩形２４１ａ、２４１ｂ、・・・（以下、外接矩形群と称する）のそれぞれについて、文字サイズ（「標準」、「小」および「大」）を分類する。
【００３０】
ここで、文字サイズは、外接矩形の長辺値を基準に「標準」、「小」および「大」という三種類に分類される。「標準」は、全外接矩形の長辺値の平均を採り、平均値Ｍに対して０．８Ｍ以上〜１．２Ｍ以下の範囲内の長辺値を有する外接矩形の文字サイズである。
【００３１】
「小」は、平均値Ｍに対して０．８Ｍ未満の長辺値を有する外接矩形の文字サイズである。「大」は、平均値Ｍに対して１．２Ｍを超える長辺値を有する外接矩形の文字サイズである。なお、一実施の形態では、外接矩形の長辺値に代えて対角線の長さを用いて文字サイズを分類してもよい。
【００３２】
ステップＳＣ２では、文字候補要素生成部１０４は、黒画素連結成分抽出結果２０１、２２１および２４１：図２８（ａ）、（ｂ）および（ｃ）における外接矩形群から二つの外接矩形を選択する。
【００３３】
ステップＳＣ３では、文字候補要素生成部１０４は、上記二つの外接矩形について重なり（接してる状態も含む）があるか否かを判断する。この判断結果が「Ｎｏ」である場合、ステップＳＣ８では、文字候補要素生成部１０４は、外接矩形群について全ての外接矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＣ２の処理を実行する。
【００３４】
一方、ステップＳＣ３の判断結果が「Ｙｅｓ」である場合、ステップＳＣ４では、文字候補要素生成部１０４は、重なっている二つの外接矩形の文字サイズが「標準」と「小」との組み合わせであるか否かを判断する。
【００３５】
ステップＳＣ４の判断結果が「Ｙｅｓ」である場合、ステップＳＣ６では、文字候補要素生成部１０４は、重なる二つの外接矩形を統合した場合、すなわち、二つの外接矩形に対してさらに外接矩形をとった場合の当該外接矩形が正方形であるか否かを判断する。但し、以後、一実施の形態では、当該外接矩形の縦横比が０．８以上であれば正方形として扱う。
【００３６】
ステップＳＣ６の判断結果が「Ｙｅｓ」である場合、ステップＳＣ７では、文字候補要素生成部１０４は、重なる二つの外接矩形に対してさらに外接矩形をとることにより、二つの外接矩形を一つの外接矩形に統合する。
【００３７】
一方、ステップＳＣ４の判断結果が「Ｎｏ」である場合、ステップＳＣ５では、文字候補要素生成部１０４は、重なっている二つの外接矩形の文字サイズが「小」と「大」との組み合わせであるか否かを判断する。
【００３８】
ステップＳＣ５の判断結果が「Ｙｅｓ」である場合、ステップＳＣ６では、文字候補要素生成部１０４は、上述したように、二つの外接矩形を一つの外接矩形に統合した後の当該外接矩形が正方形であるか否かを判断する。
【００３９】
ステップＳＣ６の判断結果が「Ｙｅｓ」である場合、ステップＳＣ７の処理が実行される。また、ステップＳＣ５またはステップＳＣ６の判断結果が「Ｎｏ」である場合、ステップＳＣ８の判断が行われる。
【００４０】
重なり矩形統合処理においては、例えば、図２８（ａ）に示した外接矩形２０１ｆ、２０１ｇおよび２０１ｈが、図２９（ａ）に示した外接矩形２０２ｆに統合される。
【００４１】
そして、ステップＳＣ８の判断結果が「Ｙｅｓ」になると、図４に示したステップＳＢ２では、文字候補要素生成部１０４は、隣接矩形統合処理を実行する。この隣接矩形統合処理は、外接矩形群において重心間のユークリッド距離が互いに最も短い二つの外接矩形を選択し、二つの外接矩形を一つの外接矩形に統合した場合の該外接矩形が正方形である場合、統合後の外接矩形を文字候補とする処理である。
【００４２】
具体的には、図６に示したステップＳＤ１では、文字候補要素生成部１０４は、黒画素連結成分抽出結果２０１、２２１および２４１：図２８（ａ）、（ｂ）および（ｃ）における外接矩形群（重なり矩形統合処理により統合された外接矩形も含む）のそれぞれについて、文字サイズ（「標準」、「小」および「大」）を分類する。
【００４３】
ステップＳＤ２では、文字候補要素生成部１０４は、外接矩形群から二つの外接矩形を選択する。ステップＳＤ３では、文字候補要素生成部１０４は、上記二つの外接矩形について重心間のユークリッド距離が、他の外接矩形とのユークリッド距離と比較して最も短いか否かを判断する。
【００４４】
ステップＳＤ３の判断結果が「Ｎｏ」である場合、ステップＳＤ８では、文字候補要素生成部１０４は、外接矩形群について全ての外接矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＤ２の処理を実行する。
【００４５】
一方、ステップＳＤ３の判断結果が「Ｙｅｓ」である場合、ステップＳＤ４では、文字候補要素生成部１０４は、二つの外接矩形のさらに外接矩形をとった場合の該外接矩形が、他の外接矩形と重なるか否かを判断する。
【００４６】
ステップＳＤ４の判断結果が「Ｎｏ」である場合、ステップＳＤ７では、文字候補要素生成部１０４は、統合後の外接矩形が正方形であるか否かを判断する。
【００４７】
ステップＳＤ７の判断結果が「Ｙｅｓ」である場合、ステップＳＤ６では、文字候補要素生成部１０４は、ステップＳＤ２で選択した二つの外接矩形に対してさらに外接矩形をとることにより、二つの外接矩形を一つの外接矩形に統合する。
【００４８】
一方、ステップＳＤ４の判断結果が「Ｙｅｓ」である場合、ステップＳＤ５では、文字候補要素生成部１０４は、統合後の外接矩形と、該外接矩形と重なるすべての外接矩形とを統合した場合の外接矩形が正方形であるか否かを判断する。
【００４９】
ステップＳＤ５の判断結果が「Ｙｅｓ」である場合、ステップＳＤ６では、文字候補要素生成部１０４は、ステップＳＤ２で選択した二つの外接矩形を一つに統合した外接矩形と、該外接矩形と重なるすべての外接矩形とをさらに一つの外接矩形に統合する。また、ステップＳＤ５またはステップＳＤ７の判断結果が「Ｎｏ」である場合、ステップＳＤ８の判断が行われる。
【００５０】
隣接矩形統合処理においては、例えば、図２８（ｃ）に示した外接矩形２４１ｂおよび２４１ｃが、図２９（ｃ）に示した外接矩形２４２ｂに統合される。
【００５１】
そして、ステップＳＤ８の判断結果が「Ｙｅｓ」になると、隣接矩形統合処理が終了し、文字候補要素生成処理が終了する。
【００５２】
図２９（ａ）〜図２９（ｃ）には、文字候補要素生成処理の結果が図示されている。図２９（ａ）は、黒画素連結成分抽出結果２０１（図２８（ａ）参照）に対応する文字候補要素生成結果２０２を示す図である。この文字候補要素生成結果２０２においては、文字候補要素としての外接矩形２０２ａ、２０２ｂ、・・・、２０２ｆ、・・・が設定されている。
【００５３】
図２９（ｂ）は、黒画素連結成分抽出結果２２１（図２８（ｂ）参照）に対応する文字候補要素生成結果２２２を示す図である。この文字候補要素生成結果２２２においては、文字候補要素としての外接矩形２２２ａ、２２２ｂ、・・・が設定されている。
【００５４】
図２９（ｃ）は、黒画素連結成分抽出結果２４１（図２８（ｃ）参照）に対応する文字候補要素生成結果２４２を示す図である。この文字候補要素生成結果２４２においては、文字候補要素としての外接矩形２４２ａ、２４２ｂ、・・・が設定されている。
【００５５】
上述した文字候補要素生成処理が終了すると、図３に示したステップＳＡ４およびステップＳＡ５の処理と、ステップＳＡ７およびステップＳＡ８の処理とが並列的に実行される。
【００５６】
すなわち、ステップＳＡ４では、横方向行矩形生成部１０５は、横方向行矩形生成処理を実行する。この横方向行矩形生成処理は、文字候補要素生成結果２０２（図２９（ａ）参照）、文字候補要素生成結果２２２（図２９（ｂ）参照）および文字候補要素生成結果２４２（図２９（ｃ）参照）に対して横方向（図２９（ａ）参照）について行候補としての行矩形（行のまとまりを表す外接矩形）を生成するための処理である。
【００５７】
具体的には、図７に示したステップＳＥ１では、横方向行矩形生成部１０５は、文字サイズ別行候補生成処理を実行する。この文字サイズ別行候補生成処理は、文字サイズ（「標準」、「小」および「大」）別に分類し、文字サイズ別に横方向の行候補を生成するための処理である。
【００５８】
すなわち、図８に示したステップＳＦ１では、横方向行矩形生成部１０５は、文字候補要素生成結果２０２（図２９（ａ）参照）、文字候補要素生成結果２２２（図２９（ｂ）参照）および文字候補要素生成結果２４２（図２９（ｃ）参照）における外接矩形２０２ａ、２０２ｂ、・・・、２０２ｆ、・・・、外接矩形２２２ａ、２２２ｂ、・・・、外接矩形２４２ａ、２４２ｂ、・・・のそれぞれについて、文字サイズ（「標準」、「小」および「大」）を分類する。
【００５９】
ステップＳＦ２では、横方向行矩形生成部１０５は、図２０に示したように、文字サイズ別に隣の文字を設定する。
【００６０】
同図においては、隣の文字は、外接矩形３００の重心３００ａから行方向（横方向）に直線３００ｂを延ばした場合に、直線３００ｂと最初に交わり、かつ外接矩形３００と同一の文字サイズである外接矩形３０２（文字候補）を指す。なお、外接矩形３０１は、外接矩形３０２よりも外接矩形３００に距離的に近いが、上記条件を満たさないため隣りの文字ではない。
【００６１】
ステップＳＦ３では、横方向行矩形生成部１０５は、各文字（外接矩形）の行方向不安定度Ｖをつぎの（１）式から計算する。
【数１】
2004038321.tif 000003
【００６２】
例えば、図２１に示した外接矩形３１０の行方向不安定度Ｖを求める場合、（１）式において、ａｋ　は、外接矩形３１０と同一の文字サイズであって行方向でｋ番目に近い文字に対応する外接矩形３１１の重心３１１ａと、外接矩形３１０の重心３１０ａとの距離である。ｂｋ　は外接矩形３１０のベースライン３１４（または重心からの行方向延長線でも可）からの距離（ズレ量）である。
【００６３】
ｎは、対象となる外接矩形の数であり、例えば、５である。なお、外接矩形３１２および３１３は、外接矩形３１０と文字サイズが異なる。このように、行方向不安定度Ｖは、外接矩形３１０と同一の文字サイズの外接矩形の５個（ｎ＝５）について、行方向に対する変動具合を表す。
【００６４】
ステップＳＦ４では、横方向行矩形生成部１０５は、行方向不安定度Ｖが閾値以下であるか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＦ７の判断を行う。
【００６５】
一方、ステップＳＦ４の判断結果が「Ｙｅｓ」である場合、ステップＳＦ５では、横方向行矩形生成部１０５は、当該文字（外接矩形３１０：図２１参照）と隣の文字（５個分の外接矩形３１１、・・・・：図２１参照）とを関連付ける。
【００６６】
ステップＳＦ６では、横方向行矩形生成部１０５は、関連付けされた文字列の各外接矩形（６個の外接矩形）に対してさらに外接矩形をとり、これを行候補矩形として生成する。
【００６７】
ステップＳＦ７では、横方向行矩形生成部１０５は、文字候補要素生成結果２０２（図２９（ａ）参照）、文字候補要素生成結果２２２（図２９（ｂ）参照）および文字候補要素生成結果２４２（図２９（ｃ）参照）について、横方向に関する行候補矩形の生成が終了したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＦ４の判断を行う。そして、ステップＳＦ７の判断結果が「Ｙｅｓ」になると、文字サイズ別行候補生成処理が終了する。
【００６８】
図３０（ａ）〜図３０（ｃ）には、横方向の文字サイズ別行候補生成処理の結果が図示されている。図３０（ａ）は、文字候補要素生成結果２０２（図２９（ａ）参照）に対応する文字サイズ別行候補生成結果２０３を示す図である。この文字サイズ別行候補生成結果２０３においては、行候補矩形２０３ａ、２０３ｂ、・・・、２０３ｌ、・・・が設定されている。
【００６９】
図３０（ｂ）は、文字候補要素生成結果２２２（図２９（ｂ）参照）に対応する文字サイズ別行候補生成結果２２３を示す図である。この文字サイズ別行候補生成結果２２３においては、行候補矩形２２３ａ、２２３ｂ、・・・、２２３ｆ、・・・が設定されている。
【００７０】
図３０（ｃ）は、文字候補要素生成結果２４２（図２９（ｃ）参照）に対応する文字サイズ別行候補生成結果２４３を示す図である。この文字サイズ別行候補生成結果２４３においては、行候補矩形２４３ａ、２４３ｂ、・・・、２４３ｍが設定されている。
【００７１】
図７に戻り、ステップＳＥ２では、横方向行矩形生成部１０５は、行候補統合処理を実行する。この行候補統合処理は、図２２（ａ）および（ｂ）に示したように、文字サイズおよび行候補矩形の重なり具合により、複数の行候補矩形を統合するための処理である。
【００７２】
図２２（ａ）に示した行候補矩形３２０と行候補矩形３２１とについて、ベースライン３２０ａとベースライン３２１ａとの差ｄ１　が、閾値（例えば、０．３ｈ）以下である場合には、行候補矩形３２０と行候補矩形３２１との外接矩形がとられることにより、両者が統合される。ここで、行候補矩形３２０と行候補矩形３２１とは、文字サイズが同じとされている。また、ｈは、行候補矩形３２０の高さである。
【００７３】
一方、図２２（ｂ）に示したように、文字サイズが異なる行候補矩形３２２と行候補矩形３２３の場合には、中心線３２２ａと中心線３２３ａとの差ｄ２　が、閾値（例えば、０．３ｈ）以下である場合には、行候補矩形３２２と行候補矩形３２３との外接矩形がとられることにより、両者が統合される。
【００７４】
具体的には、図９に示したステップＳＧ１では、横方向行矩形生成部１０５は、文字サイズ別行候補生成結果２０３（図３０（ａ）参照）、文字サイズ別行候補生成結果２２３（図３０（ｂ）参照）および文字サイズ別行候補生成結果２４３（図３０（ｃ）参照）における行候補矩形２０３ａ、２０３ｂ、・・・、２０２ｌ、・・・、行候補矩形２２３ａ、２２３ｂ、・・・、行候補矩形２４３ａ、２４３ｂ、・・・（以下、行候補矩形群と称する）のそれぞれについて、文字サイズ（「標準」、「小」および「大」）を分類する。
【００７５】
ステップＳＧ２では、横方向行矩形生成部１０５は、文字サイズ別行候補生成結果２０３、２２３および２４３：図３０（ａ）、（ｂ）および（ｃ）における行候補矩形群から二つの行候補矩形を選択する。
【００７６】
ステップＳＧ３では、横方向行矩形生成部１０５は、上記二つの行候補矩形について重なりがあるか否かを判断する。この判断結果が「Ｎｏ」である場合、ステップＳＧ９では、横方向行矩形生成部１０５は、二つの行候補矩形が隣接しているか否かを判断する。ここで、隣接とは、二つの行候補矩形について、重心間のユークリッド距離が閾値以下である状態をいう。
【００７７】
ステップＳＧ９の判断結果が「Ｎｏ」である場合、ステップＳＧ７の判断が行われる。ステップＳＧ７では、横方向行矩形生成部１０５は、行候補矩形群についてすべての行候補矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＧ２の処理を実行する。
【００７８】
一方、ステップＳＧ９の判断結果が「Ｙｅｓ」である場合、ステップＳＧ１０では、横方向行矩形生成部１０５は、二つの行候補矩形の文字サイズが等しいか否かを判断する。
【００７９】
ステップＳＧ１０の判断結果が「Ｎｏ」である場合、ステップＳＧ１２では、横方向行矩形生成部１０５は、図２２（ｂ）を参照して説明したように、二つの行候補矩形（但し、重なっていない）の各中心線の差（ｄ２　）が閾値（例えば、０．３ｈ）以下であるか否かを判断し、この判断結果が「Ｎｏ」である場合、二つの行候補矩形の統合を行わず、ステップＳＧ７の判断を行う。
【００８０】
一方、ステップＳＧ１２の判断結果が「Ｙｅｓ」である場合、ステップＳＧ６では、横方向行矩形生成部１０５は、二つの行候補矩形について外接矩形をとり、該外接矩形を統合後の行候補矩形とする。
【００８１】
また、ステップＳＧ１０の判断結果が「Ｙｅｓ」である場合、ステップＳＧ１１では、横方向行矩形生成部１０５は、図２２（ａ）を参照して説明したように、二つの行候補矩形（但し、重なっていない）のベースラインの差（ｄ１　）が閾値（例えば、０．３ｈ）以下であるか否かを判断し、この判断結果が「Ｎｏ」である場合、二つの行候補矩形の統合を行わず、ステップＳＧ７の判断を行う。
【００８２】
一方、ステップＳＧ１１の判断結果が「Ｙｅｓ」である場合、ステップＳＧ６では、横方向行矩形生成部１０５は、二つの行候補矩形について外接矩形をとり、該外接矩形を統合後の行候補矩形とする。
【００８３】
また、ステップＳＧ３の判断結果が「Ｙｅｓ」である場合、ステップＳＧ４では、横方向行矩形生成部１０５は、二つの行候補矩形の文字サイズが等しいか否かを判断する。
【００８４】
ステップＳＧ４の判断結果が「Ｙｅｓ」である場合、ステップＳＧ５では、横方向行矩形生成部１０５は、図２２（ａ）を参照して説明したように、二つの行候補矩形のベースラインの差（ｄ１　）が閾値（例えば、０．３ｈ）以下であるか否かを判断し、この判断結果が「Ｎｏ」である場合、二つの行候補矩形の統合を行わず、ステップＳＧ７の判断を行う。
【００８５】
一方、ステップＳＧ５の判断結果が「Ｙｅｓ」である場合、ステップＳＧ６では、横方向行矩形生成部１０５は、二つの行候補矩形について外接矩形をとり、該外接矩形を統合後の行候補矩形とする。
【００８６】
また、ステップＳＧ４の判断結果が「Ｎｏ」である場合、ステップＳＧ８では、横方向行矩形生成部１０５は、図２２（ｂ）を参照して説明したように、二つの行候補矩形の各中心線の差（ｄ２　）が閾値（例えば、０．３ｈ）以下であるか否かを判断し、この判断結果が「Ｎｏ」である場合、二つの行候補矩形の統合を行わず、ステップＳＧ７の判断を行う。
【００８７】
一方、ステップＳＧ８の判断結果が「Ｙｅｓ」である場合、ステップＳＧ６では、横方向行矩形生成部１０５は、二つの行候補矩形について外接矩形をとり、該外接矩形を統合後の行候補矩形とする。
【００８８】
図３２（ａ）〜図３２（ｃ）には、横方向の行候補統合処理の結果が図示されている。図３２（ａ）は、文字サイズ別行候補生成結果２０３（図３０（ａ）参照）に対応する行候補統合結果２０５を示す図である。この行候補統合結果２０５においては、行候補矩形２０５ａ、２０５ｂ、・・・、２０５ｆが設定されている。
【００８９】
図３２（ｂ）は、文字サイズ別行候補生成結果２２３（図３０（ｂ）参照）に対応する行候補統合結果２２５を示す図である。この行候補統合結果２２５においては、行候補矩形２２５ａ、２２５ｂ、・・・、２２５ｄが設定されている。
【００９０】
図３２（ｃ）は、文字サイズ別行候補生成結果２４３（図３０（ｃ）参照）に対応する行候補統合結果２４５を示す図である。この行候補統合結果２４５においては、行候補矩形２４５ａ、２４５ｂ、・・・、２４５ｉが設定されている。
【００９１】
そして、ステップＳＧ７の判断結果が「Ｙｅｓ」になると、図７に示したステップＳＥ３では、横方向行矩形生成部１０５は、長行切断処理を実行する。この長行切断処理は、行候補統合処理で長い行候補矩形が生成される場合があるため、長い行候補矩形を適切な位置で切断するための処理である。
【００９２】
はじめに、図１０および図２３を参照して、行候補矩形における文字間隔が大きく変化している位置で行を切断するための長行切断処理について説明する。
【００９３】
図２３に示した行候補矩形３３６は、文字（文字候補要素）３３０、３３１、３３２、３３３、３３４および３３５を含んでいる。文字３３２は、ｋ−１番目の文字である。文字３３３は、ｋ番目の文字である。
【００９４】
長行切断処理においては、例えば、文字３３２と文字３３３との文字間隔ｇｋ　が、つぎの（２）式から得られる平均文字間隔Ｇの１．７５倍を超えた場合に、行候補矩形３３６を文字３３２と文字３３３との間で切断される。
【数２】
2004038321.tif 000004
【００９５】
（２）式において、平均文字間隔Ｇは、例えば、行候補矩形３３６における文字間隔ｇｎ　（ｎ＝１〜ｋ−１）の平均値である。
【００９６】
具体的には、図１０に示したステップＳＨ１では、横方向行矩形生成部１０５は、行（行候補矩形）に含まれる文字をソートする。ステップＳＨ２では、横方向行矩形生成部１０５は、文字が１文字目であるか否かを判断し、この場合、判断結果を「Ｙｅｓ」とする。
【００９７】
ステップＳＨ９では、横方向行矩形生成部１０５は、当該行（行候補矩形）の次の文字を選択する。ステップＳＨ２では、横方向行矩形生成部１０５は、判断結果を「Ｎｏ」とする。ステップＳＨ３では、横方向行矩形生成部１０５は、前の文字と当該文字との文字間隔ｇを求める。ステップＳＨ４では、横方向行矩形生成部１０５は、当該文字が２文字目であるか否かを判断する。
【００９８】
ステップＳＨ４の判断結果が「Ｙｅｓ」である場合、ステップＳＨ８では、横方向行矩形生成部１０５は、１文字目と２文字目との間の文字間隔ｇが、１文字目の幅の１０倍以上であるか否かを判断する。ステップＳＨ８の判断結果が「Ｎｏ」である場合、ステップＳＨ９の処理が実行される。
【００９９】
一方、ステップＳＨ８の判断結果が「Ｙｅｓ」である場合、ステップＳＨ６では、横方向行矩形生成部１０５は、現在の文字と前の文字との間で行候補矩形を切断し、現在の文字を１文字目とする。ステップＳＨ７では、行候補矩形につぎの文字があるか否かを判断し、この場合、判断結果を「Ｙｅｓ」とする。以後、ステップＳＨ２以降が繰り返される。
【０１００】
ここで、ステップＳＨ４の判断結果が「Ｎｏ」である場合、ステップＳＨ５では、横方向行矩形生成部１０５は、二つの文字についての文字間隔ｇが、上述した（２）式から求められる平均文字間隔Ｇの１．７５倍を超えているか否かを判断する。ステップＳＨ５の判断結果が「Ｎｏ」である場合、ステップＳＨ９の処理が実行される。
【０１０１】
一方、ステップＳＨ５の判断結果が「Ｙｅｓ」である場合、ステップＳＨ６では、横方向行矩形生成部１０５は、現在の文字と前の文字との間で行候補矩形を切断し、現在の文字を１文字目とする。そして、ステップＳＨ７の判断結果が「Ｎｏ」になると、長行切断処理が終了する。
【０１０２】
つぎに、図１１および図２４を参照して、着目している行（行候補矩形）が他の行（行候補矩形）と重なっている場合に着目している行（行候補矩形）を切断するための長行切断処理について説明する。なお、図１１に示した長行切断処理と図１０に示した長行切断処理とは、並列的に実行される。
【０１０３】
図２４（ａ）に示した行候補矩形３４０は、文字（文字候補要素）３４１、３４２、３４３、３４４および３４５を含んでおり、行候補矩形３４６と重なっている。行候補矩形３４６は、文字（文字候補要素）３４７および３４８を含んでいる。
【０１０４】
また、行候補矩形３４０に含まれる文字が、他の行候補矩形３４６と重なっていないという条件では、行候補矩形３４０は、図２４（ｂ）に示したように、行候補矩形３４６の位置で行候補矩形３５０と行候補矩形３７０とに切断される。行候補矩形３５０は、文字３４１、３４２および３４３を含んでいる。一方、行候補矩形３７０は、文字３４４および３４５を含んでいる。
【０１０５】
具体的には、図１１に示したステップＳＩ１では、横方向行矩形生成部１０５は、行候補矩形群から二つの行候補矩形を選択する。ステップＳＩ２では、横方向行矩形生成部１０５は、二つの行候補矩形のうち一方を行候補矩形ａ、他方を行候補矩形ｂとする。
【０１０６】
ステップＳＩ３では、横方向行矩形生成部１０５は、行候補矩形ａと行候補矩形ｂとが重なるか否かを判断する。ステップＳＩ３の判断結果が「Ｎｏ」である場合、ステップＳＩ６では、横方向行矩形生成部１０５は、行候補矩形群についてすべての行候補矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
【０１０７】
一方、ステップＳＩ３の判断結果が「Ｙｅｓ」である場合（図２４（ａ）参照）、ステップＳＩ４では、横方向行矩形生成部１０５は、行候補矩形ａに含まれる文字が、行候補矩形ｂに含まれる文字と重なるか否かを判断する。ステップＳＩ４の判断結果が「Ｙｅｓ」である場合、ステップＳＩ６の判断が行われる。
【０１０８】
一方、ステップＳＩ４の判断結果が「Ｎｏ」である場合、ステップＳＩ５では、横方向行矩形生成部１０５は、行候補矩形ｂに含まれる最初の文字よりも行候補矩形ａに含まれる文字の座標が大きい場合、一つ前の文字（図２４（ａ）の場合、文字３４３）との間で、行候補矩形を切断し、二つの行候補矩形を生成し、ステップＳＩ６の判断を行う。
【０１０９】
そして、ステップＳＩ６の判断結果が「Ｙｅｓ」になると、長行切断処理が終了する。
【０１１０】
図３４（ａ）〜図３４（ｃ）には、横方向の長行切断処理の結果が図示されている。図３４（ａ）は、行候補統合結果２０５（図３２（ａ）参照）に対応する長行切断結果２０７を示す図である。この長行切断結果２０７においては、行候補矩形２０７ａ、２０７ｂ、・・・、２０７ｈが設定されている。
【０１１１】
図３４（ｂ）は、行候補統合結果２２５（図３２（ｂ）参照）に対応する長行切断結果２２７を示す図である。この長行切断結果２２７においては、行候補矩形２２７ａ、２２７ｂ、・・・、２２７ｅが設定されている。
【０１１２】
図３４（ｃ）は、行候補統合結果２４５（図３２（ｃ）参照）に対応する長行切断結果２４７を示す図である。この長行切断結果２４７においては、行候補矩形２４７ａ、２４７ｂ、・・・、２４７ｊが設定されている。
【０１１３】
図７に示したステップＳＥ４では、横方向行矩形生成部１０５は、上述した長行切断処理の結果（長行切断結果２０７、２２７および２４７：図３４（ａ）、図３４（ｂ）および図３４（ｃ））における行候補矩形群を用いて、短行統合処理を実行する。この短行統合処理は、図２５（ａ）および図２５（ｂ）に示したように、隣接する二つの短い行候補矩形を一つの行候補矩形に統合するための処理である。
【０１１４】
具体的には、図１２に示したステップＳＪ１では、横方向行矩形生成部１０５は、図２５（ａ）に示したように、行候補矩形３８０、３８１、３８２および３８３からなる段について、各行候補矩形の行方向長さを求めた後、行方向長さの最頻値ｗｍａｘを求める。この最頻値ｗｍａｘは、上記段の行方向長さにほぼ近い値である。
【０１１５】
ステップＳＪ２では、横方向行矩形生成部１０５は、段において行方向に隣り合う二つの行候補矩形を選択する。図２５（ａ）の場合には、行候補矩形３８１および行候補矩形３８２が選択される。
【０１１６】
ステップＳＪ３では、横方向行矩形生成部１０５は、ステップＳＪ２で選択した二つの行候補矩形を一つの行候補矩形に統合した場合の行方向長さｗを求める。ステップＳＪ４では、横方向行矩形生成部１０５は、行方向長さｗが、最頻値ｗｍａｘの１．２倍未満であるか否かを判断する。
【０１１７】
ステップＳＪ４の判断結果が「Ｙｅｓ」である場合、ステップＳＪ５では、横方向行矩形生成部１０５は、図２５（ａ）に示した行候補矩形３８１および行候補矩形３８２を、図２５（ｂ）に示した行候補矩形３８４に統合する。
【０１１８】
ステップＳＪ６では、横方向行矩形生成部１０５は、すべての行候補矩形と比較したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＪ２の処理を実行する。なお、ステップＳＪ４の判断結果が「Ｎｏ」である場合には、ステップＳＪ６の判断が行われる。
【０１１９】
図３６（ａ）〜図３６（ｃ）には、横方向の短行統合処理の結果が図示されている。図３６（ａ）は、長行切断結果２０７（図３４（ａ）参照）に対応する短行統合結果２０９を示す図である。この短行統合結果２０９においては、行候補矩形２０９ａ、２０９ｂ、・・・、２０９ｇが設定されている。例えば、行候補矩形２０９ｇは、図３４（ａ）に示した行候補矩形２０７ｇおよび２０７ｈが統合されたものである。
【０１２０】
図３６（ｂ）は、長行切断結果２２７（図３４（ｂ）参照）に対応する短行統合結果２２９を示す図である。この短行統合結果２２９においては、行候補矩形２２９ａ、２２９ｂ、・・・、２２９ｅが設定されている。
【０１２１】
図３６（ｃ）は、長行切断結果２４７（図３４（ｃ）参照）に対応する短行統合結果２４９を示す図である。この短行統合結果２４９においては、行候補矩形２４９ａ、２４９ｂ、・・・、２４９ｊが設定されている。
【０１２２】
そして、ステップＳＪ６の判断結果が「Ｙｅｓ」になると、横方向の短行統合処理が終了し、図７に示した横方向行矩形生成処理も終了する。図３に示したステップＳＡ５では、横段生成部１０６は、上述した横方向の短行統合処理の結果（短行統合結果２０９、２２９および２４９：図３６（ａ）、図３６（ｂ）および図３６（ｃ））における行候補矩形群を用いて、垂直方向の複数の行候補矩形をひとまとまりの横段とする横段生成処理を実行する。
【０１２３】
具体的には、図１３に示したステップＳＫ１では、横段生成部１０６は、行候補矩形群について、ある程度同じ長さの複数の行候補矩形を同じ横段に属する行候補矩形として統合するための同長行統合処理を実行する。
【０１２４】
すなわち、図１４に示したステップＳＬ１では、横段生成部１０６は、行候補矩形群について、行候補矩形の行垂直方向に隣り合う二つの行候補矩形を選択する。ステップＳＬ２では、横段生成部１０６は、二つの行候補矩形について横方向行の長さの比が１．１倍以下（ほぼ同長）であるか否かを判断する。
【０１２５】
ステップＳＬ２の判断結果が「Ｎｏ」である場合、ステップＳＬ５では、横段生成部１０６は、行候補矩形群についてすべての行候補矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＬ１の処理を実行する。
【０１２６】
一方、ステップＳＬ２の判断結果が「Ｙｅｓ」である場合、ステップＳＬ３では、横段生成部１０６は、二つの行候補矩形について行間が行高さの３倍以下であるか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＬ５の判断を行う。
【０１２７】
一方、ステップＳＬ３の判断結果が「Ｙｅｓ」である場合、ステップＳＬ４では、横段生成部１０６は、二つの行候補矩形を同じ横段に属する行候補矩形として統合する。以後、ステップＳＬ５の判断結果が「Ｙｅｓ」になるまで、上述した動作が繰り返される。
【０１２８】
そして、ステップＳＬ５の判断結果が「Ｙｅｓ」になると、同長行統合処理が終了する。図１３に示したステップＳＫ２では、横段生成部１０６は、上述した同長行統合処理の結果を用いて、段隣接行統合処理を実行する。
【０１２９】
この段隣接行統合処理は、図２６（ａ）に示したように、段矩形３９１と、段矩形３９１に隣接する行矩形３９２とを段矩形３９０として統合するための処理である。段矩形３９１は、同長行統合処理で統合された複数の行から構成されている。
【０１３０】
すなわち、図１５に示したステップＳＭ１では、横段生成部１０６は、図２６（ａ）に示したように、行垂直方向に隣り合う段矩形３９１と行矩形３９２とを選択する。
【０１３１】
ステップＳＭ２では、横段生成部１０６は、行矩形３９２を段矩形３９１に統合した後の段矩形３９０が、他の行矩形と重なるか否かを判断し、この場合、判断結果を「Ｎｏ」とする。
【０１３２】
ステップＳＭ３では、横段生成部１０６は、行矩形３９２を段矩形３９１に統合し、行矩形３９２と段矩形３９１との外接矩形をとり、これを段矩形３９０とする。ステップＳＭ４では、横段生成部１０６は、全ての行候補矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＭ１の処理を実行する。
【０１３３】
ステップＳＭ１では、横段生成部１０６は、図２６（ｂ）に示したように、行垂直方向に隣り合う段矩形３９３と行矩形３９４とを選択する。
【０１３４】
ステップＳＭ２では、横段生成部１０６は、行矩形３９４を段矩形３９３に統合した後の段矩形３９６が、他の行矩形と重なるか否かを判断し、この場合には、段矩形３９６が行矩形３９５と重なるため、判断結果を「Ｙｅｓ」とし、ステップＳＭ４の判断を行う。この場合には、行矩形３９４と段矩形３９３とが統合されない。
【０１３５】
そして、ステップＳＭ４の判断結果が「Ｙｅｓ」になると、段隣接行統合処理が終了する。図１３に示したステップＳＫ３では、横段生成部１０６は、上述した段隣接行統合処理の結果を用いて、中央揃え行統合処理を実行する。
【０１３６】
この中央揃え行統合処理は、図２７に示したように行候補矩形４００と、行候補矩形４００に隣接する行候補矩形４０１とが中央揃えの位置関係にある場合、行候補矩形４００と行候補矩形４０１とを同じ段に属するものとして統合するための処理である。
【０１３７】
すなわち、図１６に示したステップＳＯ１では、横段生成部１０６は、図２７に示したように、行垂直方向に隣り合いかつ同じ文字サイズの行候補矩形４００と行候補矩形４０１とを選択する。
【０１３８】
ステップＳＯ２では、横段生成部１０６は、行候補矩形４００の重心４００ａと、行候補矩形４０１の重心４０１ａとの行方向の差ｄｃ（垂線４００ｂと垂線４０１ｂとの間の距離）が、行候補矩形４００の高さｈよりも小さいか否かを判断する。
【０１３９】
ステップＳＯ２の判断結果が「Ｙｅｓ」である場合、ステップＳＯ３では、横段生成部１０６は、行候補矩形４００と行候補矩形４０１とが同じ段に属するとして、両者を統合し、行候補矩形４００と行候補矩形４０１との外接矩形をとり、これを段矩形とする。
【０１４０】
一方、ステップＳＯ２の判断結果が「Ｎｏ」である場合、ステップＳＯ４では、横段生成部１０６は、全ての行候補矩形と比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＯ１の処理を実行する。
【０１４１】
そして、ステップＳＯ４の判断結果が「Ｙｅｓ」になると、中央揃え行統合処理が終了し、図１３に示した横段生成処理が終了する。
【０１４２】
図３８（ａ）〜図３８（ｃ）には、横段生成処理の結果が図示されている。図３８（ａ）は、短行統合結果２０９（図３６（ａ）参照）に対応する横段生成結果２１１を示す図である。
【０１４３】
この横段生成結果２１１においては、横方向の段矩形２１１ａ、・・・が設定されている。段矩形２１１ａは、図３６（ａ）に示した行候補矩形２０９ｃおよび２０９ｄが統合されたものである。
【０１４４】
図３８（ｂ）は、短行統合結果２２９（図３６（ｂ）参照）に対応する横段生成結果２３１を示す図である。この横段生成結果２３１においては、横方向の段矩形２３１ａ、・・・が設定されている。段矩形２３１ａは、図３６（ｂ）に示した行候補矩形２２９ｃおよび２２９ｄが統合されたものである。
【０１４５】
図３８（ｃ）は、短行統合結果２４９（図３６（ｃ）参照）に対応する横段生成結果２５１を示す図である。この横段生成結果２５１においては、横方向の段矩形２５１ａ、２５１ｂ、・・・が設定されている。
【０１４６】
段矩形２５１ａは、図３６（ｃ）に示した行候補矩形２４９ａ、２４９ｂ、２４９ｃおよび２４９ｄが統合されたものである。また、段矩形２５１ｂは、図３６（ｃ）に示した行候補矩形２４９ｅ、２４９ｆ、２４９ｇおよび２４９ｈが統合されたものである。
【０１４７】
また、上述した横方向行矩形生成処理（ステップＳＡ４）および横段生成処理（ステップＳＡ５）の実行中においては、並列的に、縦方向行矩形生成処理（ステップＳＡ７）および縦段生成処理（ステップＳＡ８）が実行される。
【０１４８】
すなわち、ステップＳＡ７では、縦方向行矩形生成部１０７は、縦方向行矩形生成処理を実行する。この縦方向行矩形生成処理は、文字候補要素生成結果２０２（図２９（ａ）参照）、文字候補要素生成結果２２２（図２９（ｂ）参照）および文字候補要素生成結果２４２（図２９（ｃ）参照）に対して縦方向（図２９（ａ）参照）について行候補としての行矩形を生成するための処理である。
【０１４９】
具体的には、図１７に示したステップＳＰ１では、縦方向行矩形生成部１０７は、ステップＳＥ１（図７参照）と同様（但し、縦方向についての処理）に、文字サイズ別行候補生成処理を実行する。
【０１５０】
図３１（ａ）〜図３１（ｃ）には、縦方向の文字サイズ別行候補生成処理の結果が図示されている。図３１（ａ）は、文字候補要素生成結果２０２（図２９（ａ）参照）に対応する文字サイズ別行候補生成結果２０４を示す図である。この文字サイズ別行候補生成結果２０４においては、行候補矩形２０４ａ、２０４ｂ、・・・が設定されている。
【０１５１】
図３１（ｂ）は、文字候補要素生成結果２２２（図２９（ｂ）参照）に対応する文字サイズ別行候補生成結果２２４を示す図である。この文字サイズ別行候補生成結果２２４においては、行候補矩形２２４ａ、２２４ｂ、・・・が設定されている。
【０１５２】
図３１（ｃ）は、文字候補要素生成結果２４２（図２９（ｃ）参照）に対応する文字サイズ別行候補生成結果２４４を示す図である。この文字サイズ別行候補生成結果２４４においては、行候補矩形２４４ａ、２４４ｂ、・・・が設定されている。
【０１５３】
図１７に戻り、ステップＳＰ２では、縦方向行矩形生成部１０７は、ステップＳＥ２（図７参照）と同様（但し、縦方向についての処理）にして、行候補統合処理を実行する。
【０１５４】
図３３（ａ）〜図３３（ｃ）には、縦方向の行候補統合処理の結果が図示されている。図３３（ａ）は、文字サイズ別行候補生成結果２０４（図３１（ａ）参照）に対応する行候補統合結果２０６を示す図である。この行候補統合結果２０６においては、行候補矩形２０６ａ、２０６ｂ、・・・が設定されている。
【０１５５】
図３３（ｂ）は、文字サイズ別行候補生成結果２２４（図３１（ｂ）参照）に対応する行候補統合結果２２６を示す図である。この行候補統合結果２２６においては、行候補矩形２２６ａ、２２６ｂ、・・・が設定されている。
【０１５６】
図３３（ｃ）は、文字サイズ別行候補生成結果２４４（図３１（ｃ）参照）に対応する行候補統合結果２４６を示す図である。この行候補統合結果２４６においては、行候補矩形２４６ａ、２４６ｂ、・・・が設定されている。
【０１５７】
図１７に戻り、ステップＳＰ３では、縦方向行矩形生成部１０７は、ステップＳＥ３（図７参照）と同様（但し、縦方向についての処理）にして、長行切断処理を実行する。
【０１５８】
図３５（ａ）〜図３５（ｃ）には、縦方向の長行切断処理の結果が図示されている。図３５（ａ）は、行候補統合結果２０６（図３３（ａ）参照）に対応する長行切断結果２０８を示す図である。この長行切断結果２０８においては、行候補矩形２０８ａ、２０８ｂ、・・・が設定されている。
【０１５９】
図３５（ｂ）は、行候補統合結果２２６（図３３（ｂ）参照）に対応する長行切断結果２２８を示す図である。この長行切断結果２２８においては、行候補矩形２２８ａ、２２８ｂ、・・・が設定されている。
【０１６０】
図３５（ｃ）は、行候補統合結果２４６（図３３（ｃ）参照）に対応する長行切断結果２４８を示す図である。この長行切断結果２４８においては、行候補矩形２４８ａ、２４８ｂ、・・・が設定されている。
【０１６１】
図１７に戻り、ステップＳＰ４では、縦方向行矩形生成部１０７は、ステップＳＥ４（図７参照）と同様（但し、縦方向についての処理）にして、短行統合処理を実行する。
【０１６２】
図３７（ａ）〜図３７（ｃ）には、縦方向の短行統合処理の結果が図示されている。図３７（ａ）は、長行切断結果２０８（図３５（ａ）参照）に対応する短行統合結果２１０を示す図である。この短行統合結果２１０においては、行候補矩形２１０ａ、２１０ｂ、・・・が設定されている。
【０１６３】
図３７（ｂ）は、長行切断結果２２８（図３５（ｂ）参照）に対応する短行統合結果２３０を示す図である。この短行統合結果２３０においては、行候補矩形２３０ａ、２３０ｂ、・・・が設定されている。
【０１６４】
図３７（ｃ）は、長行切断結果２４８（図３５（ｃ）参照）に対応する短行統合結果２５０を示す図である。この短行統合結果２５０においては、行候補矩形２５０ａ、２５０ｂ、・・・が設定されている。
【０１６５】
そして、縦方向の短行統合処理が終了すると、図１７に示した縦方向行矩形生成処理も終了する。図３に示したステップＳＡ８では、縦段生成部１０８は、上述した縦方向の短行統合処理の結果（短行統合結果２１０、２３０および２５０：図３７（ａ）、図３７（ｂ）および図３７（ｃ））における行候補矩形群を用いて、水平方向の複数の行候補矩形をひとまとまりの縦段とする縦段生成処理を実行する。
【０１６６】
具体的には、図１８に示したステップＳＱ１では、縦段生成部１０８は、ステップＳＫ１（図１３参照）と同様（但し、縦方向についての処理）にして、同長行統合処理を実行する。
【０１６７】
ステップＳＱ２では、縦段生成部１０８は、ステップＳＫ２（図１３参照）と同様（但し、縦方向についての処理）にして、上記同長行統合処理の結果を用いて、段隣接行統合処理を実行する。
【０１６８】
ステップＳＱ３では、縦段生成部１０８は、ステップＳＫ３（図１３参照）と同様（但し、縦方向についての処理）にして、上記段隣接行統合処理の結果を用いて、中央揃え行統合処理を実行する。
【０１６９】
図３９（ａ）〜図３９（ｃ）には、縦段生成処理の結果が図示されている。図３９（ａ）は、短行統合結果２１０（図３７（ａ）参照）に対応する縦段生成結果２１２を示す図である。この縦段生成結果２１２においては、縦方向の段矩形２１２ａ、・・・が設定されている。
【０１７０】
図３９（ｂ）は、短行統合結果２３０（図３７（ｂ）参照）に対応する縦段生成結果２３２を示す図である。この縦段生成結果２３２においては、縦方向の段矩形２３２ａ、・・・が設定されている。
【０１７１】
図３９（ｃ）は、短行統合結果２５０（図３７（ｃ）参照）に対応する縦段生成結果２５２を示す図である。この縦段生成結果２５２においては、縦方向の段矩形２５２ａ、・・・が設定されている。
【０１７２】
図３に戻り、ステップＳＡ６では、制御部１０２は、段確定処理を実行する。この段確定処理は、横段生成結果２１１、２３１および２５１（図３８（ａ）、（ｂ）および（ｃ））と、縦段生成結果２１２、２３２および２５２（図３９（ａ）、（ｂ）および（ｃ））とに基づいて、縦段と横段とが重なる部分について、段の範囲と行方向とを確定させるための処理である。
【０１７３】
具体的には、図１９に示したステップＳＲ１では、制御部１０２は、縦段生成結果から縦段（縦方向の段矩形）と、横段生成結果から横段（横方向の段矩形）とを一つずつ選択する。ステップＳＲ２では、制御部１０２は、縦段と横段とで領域の重なりがあるか否かを判断する。
【０１７４】
ステップＳＲ２の判断結果が「Ｎｏ」である場合、ステップＳＲ１０では、制御部１０２は、すべての段を比較したか否かを判断し、この場合、判断結果を「Ｎｏ」として、ステップＳＲ１の処理を実行する。
【０１７５】
一方、ステップＳＲ２の判断結果が「Ｙｅｓ」である場合、ステップＳＲ３では、制御部１０２は、縦段と横段との領域が完全に一致するか否かを判断する。この判断結果が「Ｙｅｓ」である場合、ステップＳＲ１１では、制御部１０２は、縦段、横段のうち行数が少ない方を段として採用（行方向推定処理）し、採用されなかった方を破棄する。例えば、横段が採用された場合、段の行方向は、横方向である。
【０１７６】
ステップＳＲ９では、制御部１０２は、段に関して切断・破棄・統合が発生したか否かを判断し、この場合、判断結果を「Ｙｅｓ」として、ステップＳＲ１の処理を実行する。
【０１７７】
一方、ステップＳＲ３の判断結果が「Ｎｏ」である場合、ステップＳＲ４では、制御部１０２は、縦段、横段において縦段（または横段）が完全に一方に含まれるか否かを判断する。
【０１７８】
ステップＳＲ４の判断結果が「Ｙｅｓ」である場合、ステップＳＲ１２では、制御部１０２は、縦段、横段のうち含まれるほうの段を破棄し、含むほうの段を採用する。例えば、横段が採用された場合、段の行方向は、横方向である。
【０１７９】
一方、ステップＳＲ４の判断結果が「Ｎｏ」である場合、ステップＳＲ５では、制御部１０２は、縦段と横段とが重なる部分を行単位で切断可能であるか否かを判断する。
【０１８０】
ステップＳＲ５の判断結果が「Ｙｅｓ」である場合、ステップＳＲ６では、制御部１０２は、切断可能な段を切断する。また、ステップＳＲ５の判断結果が「Ｎｏ」である場合、ステップＳＲ７では、制御部１０２は、縦段と横段とが重なる部分が縦段、横段の５０％以上を占めるか否か、すなわち、重なりが大きいか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＲ９の判断を行う。
【０１８１】
一方、ステップＳＲ７の判断結果が「Ｙｅｓ」である場合、ステップＳＲ８では、制御部１０２は、縦段と横段とを統合する。そして、ステップＳＲ１０の判断結果が「Ｙｅｓ」またはステップＳＲ９の判断結果が「Ｎｏ」になると、制御部１０２は、段確定結果や上述した各結果を記憶部１０９に記憶させた後、段確定処理を終了する。
【０１８２】
以上説明したように、一実施の形態によれば、文書画像の黒画素連結成分から文字候補要素を文字候補要素生成部１０４で生成し、図２１に示したように、行方向に並ぶ複数の外接矩形３１０、・・・（文字候補要素）について、行方向に対して垂直方向のズレ量が閾値以下の複数の外接矩形（文字候補要素）を行候補矩形３４０（行要素）とすることとしたので、文書画像（文書画像２００、２２０および２４０等）で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く行レイアウトを解析することができる。
【０１８３】
また、一実施の形態によれば、図８を参照して説明したように、文字サイズ別に、行方向に並ぶ複数の外接矩形（文字候補要素）を分類し、行方向に対して垂直方向のズレ量が閾値以下の複数の外接矩形（文字候補要素）を行候補矩形（行要素）とすることとしたので、文書画像に複数種類の文字サイズが存在する場合であっても、精度良く行レイアウトを解析することができる。
【０１８４】
また、一実施の形態によれば、図２２（ａ）および図２２（ｂ）を参照して説明したように、隣接する二つの行候補矩形（行要素）について、行方向に対して垂直方向のズレ量が閾値以下である場合、二つの行候補矩形を一つの行候補矩形として統合することとしたので、隣接する行候補矩形について精度良く行レイアウトを解析することができる。
【０１８５】
また、一実施の形態によれば、図２３を参照して説明したように、行候補矩形（行要素）に含まれる複数の文字（文字候補要素）について、間隔が所定以上である場合、当該文字の位置より行候補矩形を二つに切断することとしたので、長すぎる行候補矩形を適切な長さに分けることができる。
【０１８６】
また、一実施の形態によれば、図２４（ａ）および図２４（ｂ）を参照して説明したように、垂直方向において、行候補矩形３４０が他の行候補矩形３４６と重なっており、行候補矩形３４０に含まれる文字が他の行候補矩形３４６と重ならない場合、行候補矩形３４０を二つ（行候補矩形３５０および行候補矩形３７０）に切断することとしたので、行候補矩形を適切な位置で分けることができる。
【０１８７】
また、一実施の形態によれば、図２５（ａ）および図２５（ｂ）を参照して説明したように、行方向に隣接する二つの行候補矩形３８１および行候補矩形３８２の長さが、垂直方向に隣接する他の行候補矩形３８０の長さと略同じである場合、二つの行候補矩形３８１および行候補矩形３８２を一つの行候補矩形３８４に統合することとしたので、短すぎる行候補矩形を適切な長さにすることができる。
【０１８８】
また、一実施の形態によれば、図１４を参照して説明したように、垂直方向について、略同長の複数の行候補矩形を段矩形（段要素）とすることとしたので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く段レイアウトを解析することができる。
【０１８９】
また、一実施の形態によれば、図２６（ａ）および図２６（ｂ）を参照して説明したように、段矩形３９１に隣接する行候補矩形３９２を統合した段矩形３９０と他の行候補要素とが重ならない場合、段矩形３９１と行候補矩形３９２とを統合し新たな段矩形３９０とすることとしたので、さらに精度良く段レイアウトを解析することができる。
【０１９０】
また、一実施の形態によれば、図２７を参照して説明したように、垂直方向に隣接する複数の行候補矩形４００、４０１が中央揃えとされている場合、これらを段矩形（段要素）とすることとしたので、中央揃えについて精度良く段レイアウトを解析することができる。
【０１９１】
また、一実施の形態によれば、図３を参照して説明したように、横方向および縦方向のそれぞれについて行矩形（行要素）を生成することとしたので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く横方向および縦方向の行レイアウトを解析することができる。
【０１９２】
また、一実施の形態によれば、図３を参照して説明したように、横方向および縦方向のそれぞれについて段矩形（段要素）を生成することとしたので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く横方向および縦方向の段レイアウトを解析することができる。
【０１９３】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【０１９４】
例えば、前述した一実施の形態においては、文書レイアウト解析装置１００の機能を実現するためのプログラムを図４０に示したコンピュータ読み取り可能な記録媒体６００に記録して、この記録媒体６００に記録されたプログラムを同図に示したコンピュータ５００に読み込ませ、実行することにより各機能を実現してもよい。
【０１９５】
同図に示したコンピュータ５００は、上記プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）５１０と、キーボード、マウス等の入力装置５２０と、各種データを記憶するＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）５３０と、演算パラメータ等を記憶するＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）５４０と、記録媒体６００からプログラムを読み取る読取装置５５０と、ディスプレイ、プリンタ等の出力装置５６０と、装置各部を接続するバス５７０とから構成されている。
【０１９６】
ＣＰＵ５１０は、読取装置５５０を経由して記録媒体６００に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体６００としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【０１９７】
（付記１）コンピュータを、
文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出手段、
行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出手段、
として機能させるための文書レイアウト解析プログラム。
【０１９８】
（付記２）前記行要素抽出手段は、文字サイズ別に、前記行方向に並ぶ複数の文字要素を分類し、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることを特徴とする付記１に記載の文書レイアウト解析プログラム。
【０１９９】
（付記３）前記コンピュータを、前記行要素抽出手段により抽出され隣接する二つの行要素について、行方向に対して垂直方向のズレ量が閾値以下である場合、前記二つの行要素を一つの行要素として統合する行要素統合手段、として機能させるための付記１または２に記載の文書レイアウト解析プログラム。
【０２００】
（付記４）前記コンピュータを、前記行要素統合手段により統合された行要素に含まれる複数の文字要素について、間隔が所定以上である場合、当該文字要素の位置より前記行要素を二つに切断する行要素切断手段、として機能させるための付記３に記載の文書レイアウト解析プログラム。
【０２０１】
（付記５）前記行要素切断手段は、垂直方向において、ある行要素が他の行要素と重なっており、前記ある行要素に含まれる文字要素が前記他の行要素と重ならない場合、前記ある行要素を二つに切断することを特徴とする付記４に記載の文書レイアウト解析プログラム。
【０２０２】
（付記６）前記行要素統合手段は、行方向に隣接する二つの行要素の長さが、垂直方向に隣接する他の行要素の長さと略同じである場合、前記二つの行要素を一つの行要素に統合することを特徴とする付記３〜５のいずれか一つに記載の文書レイアウト解析プログラム。
【０２０３】
（付記７）前記コンピュータを、前記垂直方向について、略同長の複数の行要素を段要素とする段要素抽出手段、として機能させることを特徴とする付記１〜６のいずれか一つに記載の文書レイアウト解析プログラム。
【０２０４】
（付記８）前記段要素抽出手段は、前記段要素に隣接する行要素を統合した段要素と他の行要素とが重ならない場合、前記段要素と前記行要素とを統合し新たな段要素とすることを特徴とする付記７に記載の文書レイアウト解析プログラム。
【０２０５】
（付記９）前記段要素抽出手段は、前記垂直方向に隣接する複数の行要素が中央揃えとされている場合、複数の行要素を段要素とすることを特徴とする付記７に記載の文書レイアウト解析プログラム。
【０２０６】
（付記１０）前記行要素抽出手段は、横方向および縦方向のそれぞれについて行要素を抽出することを特徴とする付記１〜９のいずれか一つに記載の文書レイアウト解析プログラム。
【０２０７】
（付記１１）前記段要素抽出手段は、横方向および縦方向のそれぞれについて段要素を抽出することを特徴とする付記７〜９のいずれか一つに記載の文書レイアウト解析プログラム。
【０２０８】
（付記１２）文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出手段と、
行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出手段と、
を備えたことを特徴とする文書レイアウト解析装置。
【０２０９】
（付記１３）前記行要素抽出手段は、文字サイズ別に、前記行方向に並ぶ複数の文字要素を分類し、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることを特徴とする付記１２に記載の文書レイアウト解析装置。
【０２１０】
（付記１４）前記行要素抽出手段により抽出され隣接する二つの行要素について、行方向に対して垂直方向のズレ量が閾値以下である場合、前記二つの行要素を一つの行要素として統合する行要素統合手段を備えたことを特徴とする付記１２または１３に記載の文書レイアウト解析装置。
【０２１１】
（付記１５）前記行要素統合手段により統合された行要素に含まれる複数の文字要素について、間隔が所定以上である場合、当該文字要素の位置より前記行要素を二つに切断する行要素切断手段を備えたことを特徴とする付記１４に記載の文書レイアウト解析装置。
【０２１２】
（付記１６）前記行要素切断手段は、垂直方向において、ある行要素が他の行要素と重なっており、前記ある行要素に含まれる文字要素が前記他の行要素と重ならない場合、前記ある行要素を二つに切断することを特徴とする付記１５に記載の文書レイアウト解析装置。
【０２１３】
（付記１７）前記行要素統合手段は、行方向に隣接する二つの行要素の長さが、垂直方向に隣接する他の行要素の長さと略同じである場合、前記二つの行要素を一つの行要素に統合することを特徴とする付記１４〜１６のいずれか一つに記載の文書レイアウト解析装置。
【０２１４】
（付記１８）前記垂直方向について、略同長の複数の行要素を段要素とする段要素抽出手段を備えたことを特徴とする付記１２〜１７のいずれか一つに記載の文書レイアウト解析装置。
【０２１５】
（付記１９）前記段要素抽出手段は、前記段要素に隣接する行要素を統合した段要素と他の行要素とが重ならない場合、前記段要素と前記行要素とを統合し新たな段要素とすることを特徴とする付記１８に記載の文書レイアウト解析装置。
【０２１６】
（付記２０）前記段要素抽出手段は、前記垂直方向に隣接する複数の行要素が中央揃えとされている場合、複数の行要素を段要素とすることを特徴とする付記１８に記載の文書レイアウト解析装置。
【０２１７】
（付記２１）前記行要素抽出手段は、横方向および縦方向のそれぞれについて行要素を抽出することを特徴とする付記１２〜２０のいずれか一つに記載の文書レイアウト解析装置。
【０２１８】
（付記２２）前記段要素抽出手段は、横方向および縦方向のそれぞれについて段要素を抽出することを特徴とする付記１８〜２０のいずれか一つに記載の文書レイアウト解析装置。
【０２１９】
（付記２３）文書画像の黒画素連結成分から文字要素を抽出する文字要素抽出工程と、
行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とする行要素抽出工程と、
を含むことを特徴とする文書レイアウト解析方法。
【０２２０】
（付記２４）前記行要素抽出工程では、文字サイズ別に、前記行方向に並ぶ複数の文字要素を分類し、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることを特徴とする付記２３に記載の文書レイアウト解析方法。
【０２２１】
（付記２５）前記行要素抽出工程で抽出され隣接する二つの行要素について、行方向に対して垂直方向のズレ量が閾値以下である場合、前記二つの行要素を一つの行要素として統合する行要素統合工程を含むことを特徴とする付記２３または２４に記載の文書レイアウト解析方法。
【０２２２】
（付記２６）前記行要素統合工程で統合された行要素に含まれる複数の文字要素について、間隔が所定以上である場合、当該文字要素の位置より前記行要素を二つに切断する行要素切断工程を含むことを特徴とする付記２５に記載の文書レイアウト解析方法。
【０２２３】
（付記２７）前記行要素切断工程では、垂直方向において、ある行要素が他の行要素と重なっており、前記ある行要素に含まれる文字要素が前記他の行要素と重ならない場合、前記ある行要素を二つに切断することを特徴とする付記２６に記載の文書レイアウト解析方法。
【０２２４】
（付記２８）前記行要素統合工程では、行方向に隣接する二つの行要素の長さが、垂直方向に隣接する他の行要素の長さと略同じである場合、前記二つの行要素を一つの行要素に統合することを特徴とする付記２５〜２７のいずれか一つに記載の文書レイアウト解析方法。
【０２２５】
（付記２９）前記垂直方向について、略同長の複数の行要素を段要素とする段要素抽出工程を含むことを特徴とする付記２３〜２８のいずれか一つに記載の文書レイアウト解析方法。
【０２２６】
（付記３０）前記段要素抽出工程では、前記段要素に隣接する行要素を統合した段要素と他の行要素とが重ならない場合、前記段要素と前記行要素とを統合し新たな段要素とすることを特徴とする付記２９に記載の文書レイアウト解析方法。
【０２２７】
（付記３１）前記段要素抽出工程では、前記垂直方向に隣接する複数の行要素が中央揃えとされている場合、複数の行要素を段要素とすることを特徴とする付記２９に記載の文書レイアウト解析方法。
【０２２８】
（付記３２）前記行要素抽出工程では、横方向および縦方向のそれぞれについて行要素を抽出することを特徴とする付記２３〜３１のいずれか一つに記載の文書レイアウト解析方法。
【０２２９】
（付記３３）前記段要素抽出工程では、横方向および縦方向のそれぞれについて段要素を抽出することを特徴とする付記２９〜３１のいずれか一つに記載の文書レイアウト解析方法。
【０２３０】
【発明の効果】
以上説明したように、本発明によれば、文書画像の黒画素連結成分から文字要素を抽出し、行方向に並ぶ複数の文字要素について、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることとしたので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く行レイアウトを解析することができるという効果を奏する。
【０２３１】
また、本発明によれば、文字サイズ別に、行方向に並ぶ複数の文字要素を分類し、行方向に対して垂直方向のズレ量が閾値以下の複数の文字要素を行要素とすることとしたので、文書画像に複数種類の文字サイズが存在する場合であっても、精度良く行レイアウトを解析することができるという効果を奏する。
【０２３２】
また、本発明によれば、隣接する二つの行要素について、行方向に対して垂直方向のズレ量が閾値以下である場合、二つの行要素を一つの行要素として統合することとしたので、隣接する行要素について精度良く行レイアウトを解析することができるという効果を奏する。
【０２３３】
また、本発明によれば、行要素に含まれる複数の文字要素について、間隔が所定以上である場合、当該文字要素の位置より行要素を二つに切断することとしたので、長すぎる行要素を適切な長さに分けることができるという効果を奏する。
【０２３４】
また、本発明によれば、垂直方向において、ある行要素が他の行要素と重なっており、ある行要素に含まれる文字要素が他の行要素と重ならない場合、ある行要素を二つに切断することとしたので、行要素を適切な位置で分けることができるという効果を奏する。
【０２３５】
また、本発明によれば、行方向に隣接する二つの行要素の長さが、垂直方向に隣接する他の行要素の長さと略同じである場合、二つの行要素を一つの行要素に統合することとしたので、短すぎる行要素を適切な長さにすることができるという効果を奏する。
【０２３６】
また、本発明によれば、垂直方向について、略同長の複数の行要素を段要素とすることとしたので、文書画像で行の途中で複数行に分岐している場合や、括弧内に複数行がある場合であっても、精度良く段レイアウトを解析することができるという効果を奏する。
【０２３７】
また、本発明によれば、段要素に隣接する行要素を統合した段と他の行要素とが重ならない場合、段要素と行要素とを統合し新たな段要素とすることとしたので、さらに精度良く段レイアウトを解析することができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明にかかる一実施の形態の構成を示すブロック図である。
【図２】同一実施の形態で用いられる各種文書画像を示す図である。
【図３】同一実施の形態の動作を説明するフローチャートである。
【図４】図３に示した文字候補要素生成処理を説明するフローチャートである。
【図５】図４に示した重なり矩形統合処理を説明するフローチャートである。
【図６】図４に示した隣接矩形統合処理を説明するフローチャートである。
【図７】図３に示した横方向行矩形生成処理を説明するフローチャートである。
【図８】図７に示した文字サイズ別行候補生成処理を説明するフローチャートである。
【図９】図７に示した行候補統合処理を説明するフローチャートである。
【図１０】図７に示した長行切断処理を説明するフローチャートである。
【図１１】図７に示した長行切断処理を説明するフローチャートである。
【図１２】図７に示した短行統合処理を説明するフローチャートである。
【図１３】図３に示した横段生成処理を説明するフローチャートである。
【図１４】図１３に示した同長行統合処理を説明するフローチャートである。
【図１５】図１３に示した段隣接行統合処理を説明するフローチャートである。
【図１６】図１３に示した中央揃え行統合処理を説明するフローチャートである。
【図１７】図３に示した縦方向行矩形生成処理を説明するフローチャートである。
【図１８】図３に示した縦段生成処理を説明するフローチャートである。
【図１９】図３に示した段確定処理を説明するフローチャートである。
【図２０】図８に示した文字サイズ別行候補生成処理を説明する図である。
【図２１】図８に示した文字サイズ別行候補生成処理を説明する図である。
【図２２】図９に示した行候補統合処理を説明する図である。
【図２３】図１０に示した長行切断処理を説明する図である。
【図２４】図１１に示した長行切断処理を説明する図である。
【図２５】図１２に示した短行統合処理を説明する図である。
【図２６】図１５に示した段隣接行統合処理を説明する図である。
【図２７】図１６に示した中央揃え行統合処理を説明する図である。
【図２８】図３に示した黒画素連結成分抽出処理の結果を示す図である。
【図２９】図４に示した文字候補要素生成処理の結果を示す図である。
【図３０】図８に示した横方向の文字サイズ別行候補生成処理の結果を示す図である。
【図３１】図１７に示した縦方向の文字サイズ別行候補生成処理の結果を示す図である。
【図３２】図９に示した横方向の行候補統合処理の結果を示す図である。
【図３３】図１７に示した縦方向の行候補統合処理の結果を示す図である。
【図３４】図１０および図１１に示した横方向の長行切断処理の結果を示す図である。
【図３５】図１７に示した縦方向の長行切断処理の結果を示す図である。
【図３６】図１２に示した横方向の短行統合処理の結果を示す図である。
【図３７】図１７に示した縦方向の短行統合処理の結果を示す図である。
【図３８】図１３に示した横段生成処理の結果を示す図である。
【図３９】図１８に示した縦段生成処理の結果を示す図である。
【図４０】同一実施の形態の変形例の構成を示すブロック図である。
【図４１】従来の問題点を説明する図である。
【符号の説明】
１００　文書レイアウト解析装置
１０１　入力部
１０２　制御部
１０３　黒画素連結成分抽出部
１０４　文字候補要素生成部
１０５　横方向行矩形生成部
１０６　横段生成部
１０７　縦方向行矩形生成部
１０８　縦段生成部
１０９　記憶部
１１０　出力部
【図１】
2004038321.tif 000005
【図２】
2004038321.tif 000006
【図３】
2004038321.tif 000007
【図４】
2004038321.tif 000008
【図５】
2004038321.tif 000009
【図６】
2004038321.tif 000010
【図７】
2004038321.tif 000011
【図８】
2004038321.tif 000012
【図９】
2004038321.tif 000013
【図１０】
2004038321.tif 000014
【図１１】
2004038321.tif 000015
【図１２】
2004038321.tif 000016
【図１３】
2004038321.tif 000017
【図１４】
2004038321.tif 000018
【図１５】
2004038321.tif 000019
【図１６】
2004038321.tif 000020
【図１７】
2004038321.tif 000021
【図１８】
2004038321.tif 000022
【図１９】
2004038321.tif 000023
【図２０】
2004038321.tif 000024
【図２１】
2004038321.tif 000025
【図２２】
2004038321.tif 000026
【図２３】
2004038321.tif 000027
【図２４】
2004038321.tif 000028
【図２５】
2004038321.tif 000029
【図２６】
2004038321.tif 000030
【図２７】
2004038321.tif 000031
【図２８】
2004038321.tif 000032
【図２９】
2004038321.tif 000033
【図３０】
2004038321.tif 000034
【図３１】
2004038321.tif 000035
【図３２】
2004038321.tif 000036
【図３３】
2004038321.tif 000037
【図３４】
2004038321.tif 000038
【図３５】
2004038321.tif 000039
【図３６】
2004038321.tif 000040
【図３７】
2004038321.tif 000041
【図３８】
2004038321.tif 000042
【図３９】
2004038321.tif 000043
【図４０】
2004038321.tif 000044
【図４１】
2004038321.tif 000045