(57)【要約】【課題】電子文書の文書レイアウト構造を精度よく抽出すること。【解決手段】文書画像中の各文字の座標情報を取得し、取得した座標情報に基づいて文書画像中の文字列を検出し、検出された文字列に含まれる文字を１つずつ選択し、その文字列を囲む外接矩形の所定の角を一角とし、かつ、選択された文字を囲む外接矩形を含む矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与し、付与された番号順に各文字を１つずつ追加して文字列を設定し、その文字列にすでに追加されている文字と新たに追加した文字とを含む矩形検査領域内にその文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定する。【選択図】        図１
2005122543.tif 000002
【特許請求の範囲】
【請求項１】
文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムであって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、
前記文字列検出手順により検出した文字列に対し文字列レイアウト解析をおこなう文字列レイアウト解析手順と、
前記文字列レイアウト解析手順による解析結果に基づき、文字列レイアウトを再設定することにより文字列レイアウトを補正するレイアウト補正手順と、
をコンピュータに実行させることを特徴とする文書レイアウト解析プログラム。
【請求項２】
文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムであって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、
前記文字列検出手順により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手順と、
前記文字番号付与手順により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手順と、
をコンピュータに実行させることを特徴とする文書レイアウト解析プログラム。
【請求項３】
文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、
前記文字列検出手順により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手順と、
前記文字番号付与手順により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手順と、
をコンピュータに実行させるための文書レイアウト解析プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項４】
文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析方法であって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出工程と、
前記文字列検出工程により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与工程と、
前記文字番号付与工程により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正工程と、
を含んだことを特徴とする文書レイアウト解析方法。
【請求項５】
文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析装置であって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手段と、
前記文字列検出手段により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手段と、
前記文字番号付与手段により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手段と、
を備えたことを特徴とする文書レイアウト解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置に関し、特に、電子文書の文書レイアウト構造を精度よく抽出できる文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置に関する。
【背景技術】
【０００２】
近年、所定のファイル形式により記憶された帳票などの電子文書から、文字列や表などの文書要素のレイアウトを抽出するニーズが高まってきている。たとえば、上記帳票と同一の文書レイアウト構造を維持しつつファイル形式を変換するような場合に、文書レイアウトを抽出し、新しいファイル形式にしたがって電子文書を作成する必要が生じる。さらに、電子文書に対して新たな項目の挿入や削除、レイアウトを指定するタグのタグ付けなどの編集作業をおこなうためには、文書レイアウトの抽出は重要となってくる。
【０００３】
たとえば、特許文献１には、文書中に複数行にまたがる文字がある場合に、その文字を適切に切り出すことにより文書レイアウトを抽出することのできる文字認識装置が開示されている。この文字認識装置では、行切り出し処理により上下に隣り合う２行を切り出して、切り出された上下２行にまたがる外接矩形を有する文字を抽出し、その文字を単独で切り出す処理をおこなう。
【０００４】
【特許文献１】特開平７−１３９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に代表される従来技術では、本来複数行であるものを単一行として切り出してしまう切り出し誤りが発生した場合に、文書レイアウトの抽出を正しくおこなうことができないという問題があった。
【０００６】
具体的には、帳票などの文書では、一行が途中で複数行に分かれるような場合が多々あり、特に、それら複数行の行間が小さいような場合には、全体を一行として検出してしまうという問題があった。
【０００７】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、電子文書の文書レイアウト構造を精度よく抽出できる文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、本発明は、文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムであって、前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、前記文字列検出手順により検出した文字列に対し文字列レイアウト解析をおこなう文字列レイアウト解析手順と、前記文字列レイアウト解析手順による解析結果に基づき、文字列レイアウトを再設定することにより文字列レイアウトを補正するレイアウト補正手順と、をコンピュータに実行させることを特徴とする。
【０００９】
また、本発明は、文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムであって、前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、前記文字列検出手順により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手順と、前記文字番号付与手順により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手順と、をコンピュータに実行させることを特徴とする。
【００１０】
また、本発明は、前記文字列検出手段は、電子文書を仮想的にプリントアウトすることにより各文字に係る情報を取得して、取得した文字に係る情報に基づいて該文書中の文字列を検出することを特徴とする。
【００１１】
また、本発明は、前記文字番号付与手順は、複数の文字の文字領域が重複している場合に、該文字領域の重複部分の重心を通る水平線または垂直線により分割されてできる複数の領域の組み合わせのうち、分割されてできた複数の領域の面積の総和が最大となる組み合わせを選択し、該組み合わせに対応する複数の領域を囲む各矩形を前記文字を囲む文字矩形にそれぞれ設定することを特徴とする。
【００１２】
また、本発明は、文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、前記文字列検出手順により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手順と、前記文字番号付与手順により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手順と、をコンピュータに実行させるための文書レイアウト解析プログラムを記録したことを特徴とする。
【００１３】
また、本発明は、文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析方法であって、前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出工程と、前記文字列検出工程により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与工程と、前記文字番号付与工程により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正工程と、を含んだことを特徴とする。
【００１４】
また、本発明は、文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析装置であって、前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手段と、前記文字列検出手段により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手段と、前記文字番号付与手段により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手段と、を備えたことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて文書画像中の文字列を検出し、検出した文字列に対し文字列レイアウト解析をおこない、その文字列レイアウト解析の解析結果に基づき、文字列レイアウトを再設定することにより文字列レイアウトを補正することとしたので、電子文書の文書レイアウト構造を精度よく抽出できるという効果を奏する。
【００１６】
また、本発明によれば、文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて文書画像中の文字列を検出し、検出された文字列に含まれる文字を１つずつ選択し、その文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与し、付与された番号順に各文字を１つずつ追加して文字列を設定し、その文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内にその文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正することとしたので、文書レイアウトの抽出を精度よく、かつ効率的におこなうことができるという効果を奏する。
【００１７】
また、本発明によれば、電子文書を仮想的にプリントアウトすることにより各文字に係る情報を取得して、取得した文字に係る情報に基づいて文書中の文字列を検出することとしたので、文字認識誤りに起因する誤読文字がなく、１００％正しい文字の情報を取得できるとともに、電子文書を一旦紙に印刷してそれをスキャナで読み取ることにより各文字の座標情報を取得するなどの作業を省き、効率的に各文字の情報を取得することができるという効果を奏する。
【００１８】
また、本発明によれば、複数の文字の文字領域が重複している場合に、文字領域の重複部分の重心を通る水平線または垂直線により分割されてできる複数の領域の組み合わせのうち、分割されてできた複数の領域の面積の総和が最大となる組み合わせを選択し、その組み合わせに対応する複数の領域を囲む各矩形を文字を囲む文字矩形にそれぞれ設定することとしたので、たとえ複数の文字の文字領域が重複している場合でも、各文字の文字領域を適切に設定することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、この発明に係る文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置の好適な実施の形態を詳細に説明する。
【実施例】
【００２０】
まず、本発明に係る文書レイアウト解析処理の概念について説明する。図１は、本発明に係る文書レイアウト解析処理の概念を説明する概念図である。図１に示すように、この文書レイアウト解析処理では、はじめに、従来の文字列レイアウト解析方法を用いて文字列レイアウト解析処理をおこない、１行として判定される文字列１０を抽出する。ここで、文字列１０は、１行の文字列が途中で２行に分かれているにもかかわらず、文字列の抽出誤りが発生し、全体が１行として抽出されている。
【００２１】
その後、本発明に係る文書レイアウト解析処理では、抽出された文字列１０内の各文字に読み取り順序を設定する。その際、文字列１０に含まれる文字を１つずつ選択し、その文字列１０を囲む文字列矩形の原点１１を一角とし、かつ、選択された文字を囲む文字矩形を含む矩形検査領域１２内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に読み取り順序を付与する。図１の例では、番号「６」に対応する文字が選択された場合に、矩形検査領域１２内に「６」より順序が後ろの番号の文字が含まれないように各文字の番号を設定している。
【００２２】
続いて、番号順に各文字を１つずつ追加して文字列を設定する。その際、すでに追加されている文字と新たに追加した文字とを囲む矩形検査領域１３内に、文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列１４ａ〜１４ｄとして再設定する。図１の例では、番号「１」から「５」が連結された文字列に番号「６」の文字が新たに追加された場合に、矩形検査領域１３内に「１」〜「６」以外の番号の文字「９」が含まれるので、「６」の文字を除外して文字列「Ｉ」１４ａを設定している。
【００２３】
このようにして、各文字列１４ａ〜１４ｄを設定して文字列１０の抽出誤りを補正し、正しい文字列のレイアウト１５ａ〜１５ｄを得ることにより、文書レイアウトの抽出を精度よく、かつ効率的におこなうことができる。
【００２４】
つぎに、本実施例に係る文書レイアウト解析装置の機能的構成について説明する。図２は、本実施例に係る文書レイアウト解析装置の機能的構成を示す機能ブロック図である。図２に示すように、この文書レイアウト解析装置は、入力部２０、表示部２１、記憶部２２および制御部２３を有する。
【００２５】
入力部２０は、マウスやキーボードなどの入力デバイスであり、表示部２１は、ディスプレイなどの表示デバイスである。記憶部２２は、ハードディスク装置などの記憶デバイスであり、電子文書データ２２ａ、文字データ２２ｂおよびレイアウトデータ２２ｃを記憶している。
【００２６】
電子文書データ２２ａは、文書レイアウトを復元する電子文書のデータや、復元された文書レイアウトに基づいて新たに作成された電子文書のデータを記憶したものである。文字データ２２ｂは、後述の文字列検出部２３ａにより取得された文字の文字コードおよび座標位置のデータを記憶したものである。レイアウトデータ２２ｃは、後述のレイアウト補正部２３ｃにより抽出された文字列レイアウトのデータを記憶したものである。
【００２７】
制御部２３は、文書レイアウト解析装置全体を制御する制御部であり、文字列検出部２３ａ、文字番号付与部２３ｂ、レイアウト補正部２３ｃおよび文書編集処理部２３ｄを有する。
【００２８】
文字列検出部２３ａは、電子文書データ２２ａとして記憶部２２に記憶された電子文書を仮想的にプリントアウトすることにより、電子文書中に含まれる文字の座標位置の情報を取得して、取得した文字の座標位置の情報に基づいて文書中の文字列を検出する検出部である。ここで、「仮想的にプリントアウトする」とは、電子文書を所定の形式のファイルに出力することを意味する。また、この文字列検出部２３ａは、後述の文書編集処理部２３ｄによる電子文書の編集処理のために、電子文書を仮想的にプリントアウトすることにより、各文字の文字コードを取得する。
【００２９】
仮想的なプリントアウトは、電子文書中に含まれる文字の文字コードおよび座標位置の情報を取得することによりおこなわれるので、取得されたそれらの情報を利用する。さらに、文字列検出部２３ａは、検出した文字コードおよび文字の座標位置の情報を文字データ２２ｂとして記憶部２２に記憶する処理をおこなう。
【００３０】
文字番号付与部２３ｂは、文字列検出部２３ａにより検出された文字列内の各文字に読み取り順序の番号を付与する付与部である。具体的には、文字番号付与部２３ｂは、文字列１０に含まれる文字を１つずつ選択し、その文字列１０を囲む文字列矩形の原点１１を一角とし、かつ、選択された文字を囲む文字矩形を含む矩形検査領域内１２に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に読み取り順序を付与する。この読み取り順序付与処理については、後に図７および図８を用いて詳しく説明する。
【００３１】
また、この文字番号付与部２３ｂは、複数の文字の文字領域が重複している場合に、その重複を解消する処理をおこなう。具体的には、文字領域の重複部分の重心を通る水平線または垂直線により分割されてできる複数の領域の組み合わせを求め、その組み合わせのうち、分割されてできた複数の領域の面積の総和が最大となる組み合わせを選択し、その組み合わせに対応する複数の領域を囲む各矩形をそれぞれの文字を囲む外接矩形として設定する。
【００３２】
図３は、文字領域の重複解消化処理における文字の重複領域の分割方法を説明する説明図であり、図４は、図３に示した分割方法により分割された文字領域を説明する説明図である。図３の例では、ある文字の文字領域３０と、別の文字の文字領域３１とが重複している。このような場合、文字番号付与部２３ｂは、文字領域３０および３１の重複部分３２の重心３３を求め、この重心３３を通る水平線および垂直線を文字領域３０および３１を分割する分割線として設定する。
【００３３】
そして、図４に示されるように、図３に示した分割線により分割される４つの分割候補４０〜４３のうち、分割後の２つの領域の面積の和が最大となるもの（図４の例では、分割候補４１がそれに該当する。）を選択し、選択された領域を囲む矩形を文字の新たな外接矩形として設定する処理をおこなう。ここでは、２つの文字領域３０および３１が重複している場合について説明したが、２つ以上の文字の文字領域が重複している場合でも同様の処理をおこなうことができる。
【００３４】
図２の説明に戻ると、レイアウト補正部２３ｃは、文字番号付与部２３ｂにより付与された番号順に各文字を１つずつ追加して文字列を設定し、文字列検出部２３ａにより検出された文字列レイアウトを補正する補正部である。
【００３５】
具体的には、レイアウト補正部２３ｃは、すでに追加されている文字と新たに追加した文字とを囲む矩形検査領域１３内に、文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列１４ａ〜１４ｄとして生成する。この文字列生成処理については、後に図９および図１０を用いて詳しく説明する。また、レイアウト補正部２３ｃは、このようにして補正した文字列レイアウトの情報をレイアウトデータ２２ｃとして記憶部２２に記憶する処理をおこなう。
【００３６】
文書編集処理部２３ｄは、レイアウト補正部２３ｃにより補正された文字列レイアウトに基づいて、電子文書のファイル形式を変換したり、文字列レイアウトの情報が得られた電子文書に対する新たな項目の挿入や削除、レイアウトを指定するタグのタグ付けなどのユーザからの編集を受け付けたりして新たな電子文書を作成し、電子文書データ２２ａとして記憶部に記憶する編集処理部である。
【００３７】
つぎに、本実施例に係る文書レイアウト解析処理の処理手順について説明する。図５は、本実施例に係る文書レイアウト解析処理の処理手順を示すフローチャートである。図５に示すように、まず、文書レイアウト解析装置の文字列検出部２３ａは、電子文書を仮想的にプリントアウトすることにより、電子文書中の文字の文字コードおよび座標位置の文字情報を取得する（ステップＳ５０１）。そして、文字列検出部２３ａは、取得した文字の座標位置の情報を基にして、文字列レイアウトを解析し、文字列を検出する処理をおこなう（ステップＳ５０２）。
【００３８】
続いて、文字番号付与部２３ｂおよびレイアウト補正部２３ｃは、検出された文字列内の各文字に読み取り順序の番号を付与し、その読み取り順序に基づいて文字を連結し、文字列を生成することによりステップＳ５０２で検出した文字列レイアウトを補正する（ステップＳ５０３）。この文字列レイアウト補正処理については、後に図６〜図１０で詳しく説明する。その後、文書編集処理部２３ｄは、補正された文字列レイアウトに基づいて、電子文書のファイル形式の変換や編集などの電子文書の編集処理をおこなう（ステップＳ５０４）。
【００３９】
つぎに、図５に示した文字列レイアウト補正処理の処理手順について説明する。図６は、図５に示した文字列レイアウト補正処理の処理手順を示すフローチャートである。図６に示すように、まず、文字番号付与部２３ｂは、各文字列に含まれる文字を選択する（ステップＳ６０１）。具体的には、文字番号付与部２３ｂは、文字を囲む外接矩形の重心が文字列を囲む外接矩形内にある場合に、その文字が当該文字列に含まれると判定し、当該文字列に含まれると判定された文字を選択する処理をおこなう。そして、文字番号付与部２３ｂは、図３および図４で説明したように、複数の文字の文字領域が重複している場合に、その重複を解消する処理をおこなう（ステップＳ６０２）。
【００４０】
続いて、文字番号付与部２３ｂは、文字列内の各文字に対して、読み取り順序を付与する処理をおこなう（ステップＳ６０３）。この読み取り順序付与処理については、後に図７および図８において詳しく説明する。その後、レイアウト補正部２３ｃは、各文字に付与された読み取り順序を基にして各文字を連結し、レイアウトが補正された文字列を生成する処理をおこなう（ステップＳ６０４）。この文字列生成処理については、後に図９および図１０において詳しく説明する。
【００４１】
つぎに、図６に示した文字の読み取り順序付与処理の処理手順について説明する。図７は、図６に示した文字の読み取り順序付与処理の処理手順を示すフローチャートであり、図８は、図７に示した読み取り順序付与処理の処理の一例を示す図である。
【００４２】
図７に示すように、まず、文字番号付与部２３ｂは、文字列Ｚに含まれる全文字を未読文字に設定する（ステップＳ７０１）。ここで、未読文字とは、まだ読み取り順序が付与されていない文字のことである。続いて、文字番号付与部２３ｂは、文字の外接矩形の左上点のｙ座標が小さい順に文字に番号を付与する（ステップＳ７０２）。以降、文字Ｘｉ（ｉ＝１，２，３，・・・）に付与された番号をｉｎｄｅｘ（Ｘｉ）で表す。
【００４３】
ここで、座標の原点は、文字列Ｚを囲む外接矩形の左上点とし、その原点から右に行くにしたがってｘ座標が増加し、その原点から下に行くにしたがってｙ座標が増加するものとする。図８には、各文字に番号が付けられた文字列１０が原点１１の位置とともに示されている。なお、ｙ座標が同じ場合には、左側にある文字から順に番号を付与することとする。
【００４４】
続いて、文字番号付与部２３ｂは、変数ｏｒｄｅｒの値を１に設定し、また、変数ｓｔａｒｔの値を１に設定する（ステップＳ７０３）。そして、文字番号付与部２３ｂは、ｉｎｄｅｘ（Ｘｉ）≧ｓｔａｒｔを満たす文字Ｘｉのうち、番号ｉｎｄｅｘ（Ｘｉ）が最小になる未読文字Ｘｉ＝Ｔがあるかどうかを調べ（ステップＳ７０４）、番号ｉｎｄｅｘ（Ｘｉ）が最小になる未読文字Ｘｉ＝Ｔがない場合には（ステップＳ７０４，Ｎｏ）、そのままこの読み取り順序付与処理を終了する。
【００４５】
ｉｎｄｅｘ（Ｘｉ）≧ｓｔａｒｔを満たす文字Ｘｉのうち、番号ｉｎｄｅｘ（Ｘｉ）が最小になる未読文字Ｘｉ＝Ｔがある場合には（ステップＳ７０４，Ｙｅｓ）、文字番号付与部２３ｂは、ｉｎｄｅｘ（Ｘｉ）≧ｓｔａｒｔを満たす文字Ｘｉのうち、番号ｉｎｄｅｘ（Ｘｉ）が最小になる未読文字Ｘｉ＝Ｔを選択し（ステップＳ７０５）、文字列Ｚの原点１１を一角とし、かつ未読文字Ｔの外接矩形を含む外接矩形を、未読文字Ｔに対応する矩形検査領域として算出する処理をおこなう（ステップＳ７０６）。図８には、原点１１を一角とし、かつ番号が「（１）」である未読文字の外接矩形を含んだ矩形検査領域８０が示されている。
【００４６】
その後、文字番号付与部２３ｂは、未読文字Ｔに対する矩形検査領域と、他の未読文字の外接矩形とが重複しているかどうかを調べ（ステップＳ７０７）、他の未読文字の外接矩形と重複している場合には（ステップＳ７０７，Ｙｅｓ）、未読文字Ｔに対して読み取り順序を設定することなしに、変数ｓｔａｒｔの値をｉｎｄｅｘ（Ｔ）＋１とし（ステップＳ７０８）、ステップＳ７０４以降の処理を継続する。
【００４７】
図８では、番号が「（１）」である文字に対応する矩形検査領域８０内に、番号が「（４）」〜「（８）」の未読文字の外接矩形が重複しているため、ステップＳ７０７の判定は「Ｙｅｓ」となる。したがって、この段階では番号が「（１）」の文字に対して読み取り順序を設定せず、番号が「（２）」の文字をつぎの検査対象として選択する。また、番号が「（２）」および「（３）」の文字に対しても同様に、ステップＳ７０７の判定は「Ｙｅｓ」となり、読み取り順序の設定はおこなわない。
【００４８】
ステップＳ７０７において、未読文字Ｔに対する矩形検査領域と、他の未読文字の外接矩形とが重複していない場合には（ステップＳ７０７，Ｎｏ）、文字番号付与部２３ｂは、未読文字Ｔの読み取り順序を変数ｏｒｄｅｒの値とし、さらに、未読文字Ｔを既読文字に設定する（ステップＳ７０９）。その後、文字番号付与部２３ｂは、変数ｏｒｄｅｒの値に１を加算し、変数ｓｔａｒｔの値を０に設定して（ステップＳ７１０）、ステップＳ７０４以降の処理を継続する。
【００４９】
図８には、番号「（４）」の未読文字Ｔに対応する矩形検査領域８１が示されている。矩形検査領域８１は、番号「（４）」の未読文字Ｔ以外の未読文字を含んでいないので、番号「（４）」の未読文字Ｔには「１」の読み取り順序が設定される。同様にして、番号が「（５）」〜「（８）」の文字に対して、読み取り順序「２」〜「５」が設定される。
【００５０】
さらに、図８には、番号が「（１）」の文字に対する矩形検査領域８２が再び算出された場合が示されている。矩形検査領域８２では、矩形検査領域８０の場合とは異なり、番号「（４）」〜「（８）」の文字が既読文字となっているため、番号「（１）」の未読文字Ｔ以外の未読文字の外接矩形が矩形検査領域８２に重複しない。したがって、番号が「（１）」の文字に対して、「６」の読み取り順序が設定される。同様にして、番号が「（２）」および「（３）」の未読文字に対して、「７」および「８」の読み取り順序が設定される。
【００５１】
さらに、番号が「（９）」の未読文字Ｔに対しては、それに対応する矩形検査領域８３に番号が「（１９）」〜「（２７）」である未読文字の外接矩形が重複するため、読み取り順序の割り当ては後回しとなる。これは、番号が「（１０）」〜「（１８）」の未読文字に対しても同様である。
【００５２】
その後、番号が「（１９）」の未読文字Ｔに対して矩形検査領域（図示せず）を算出すると、その矩形検査領域は、番号が「（９）」〜「（１８）」、「（２０）」〜「（２７）」である未読文字の外接矩形と重複しないことがわかる。したがって、番号が「（１９）」の未読文字に対して「９」の読み取り順序を割り当てる。以下同様にして、すべての文字に対して読み取り順序「１」〜「２７」を割り当てることができる。
【００５３】
つぎに、図６に示した文字列生成処理の処理手順について説明する。図９は、図６に示した文字列生成処理の処理手順を示すフローチャートであり、図１０は、図９に示した文字列生成処理の処理の一例を示す図である。
【００５４】
図９に示すように、まず、レイアウト補正部２３ｃは、変数ｌｉｎｅの値を１に、変数ｒの値を１に設定する（ステップＳ９０１）。そして、レイアウト補正部２３ｃは、変数ｌｉｎｅの番号が割り振られた文字列ｌｉｎｅを空集合として生成する（ステップＳ９０２）。
【００５５】
そして、レイアウト補正部２３ｃは、読み取り順序がｒである文字を文字列ｌｉｎｅの文字要素に追加し（ステップＳ９０３）、文字が追加された文字列ｌｉｎｅの外接矩形を矩形検査領域として算出する（ステップＳ９０４）。図１０には、読み取り順序が「１」である文字が文字列「Ｉ」に追加され、その文字列「Ｉ」に対して算出された矩形検査領域１００が示されている。
【００５６】
続いて、レイアウト補正部２３ｃは、矩形検査領域が文字列ｌｉｎｅに属する文字以外の文字の外接矩形と重複しているかどうかを調べ（ステップＳ９０５）、文字列ｌｉｎｅに属する文字以外の文字の外接矩形と重複している場合には（ステップＳ９０５，Ｙｅｓ）、ステップＳ９０２以降の処理を継続する。
【００５７】
矩形検査領域が文字列ｌｉｎｅに属する文字以外の文字の外接矩形と重複していない場合には（ステップＳ９０５，Ｎｏ）、レイアウト補正部２３ｃは、変数ｒの値に１を加算し（ステップＳ９０７）、変数ｒの値が当該文字列に含まれる全文字数以下であるかどうかを調べる（ステップＳ９０８）。全文字数以下である場合には（ステップＳ９０８，Ｙｅｓ）、レイアウト補正部２３ｃは、ステップＳ９０３以降の処理を継続する。全文字数以下である場合には（ステップＳ９０８，Ｙｅｓ）、レイアウト補正部２３ｃは、そのままこの文字列生成処理を終了する。
【００５８】
図１０の矩形検査領域１００には、文字列「Ｉ」に読み取り順序が「１」である文字が１つだけ追加されている。この場合、矩形検査領域１００は、読み取り順序が「１」以外の文字の外接矩形と重複しないので、読み取り順序が「２」の文字が文字列「Ｉ」に追加される。さらに、読み取り順序が「１」および「２」の文字からなる文字列「Ｉ」の矩形検査領域（図示せず）は、読み取り順序が「１」および「２」以外の文字の外接矩形と重複しないので、読み取り順序が「３」の文字が文字列「Ｉ」に追加される。同様にして、読み取り順序が「６」の文字までが文字列「Ｉ」に追加される。
【００５９】
ところが、読み取り順序が「６」の文字の外接矩形と、読み取り順序が「１」〜「５」の文字の外接矩形とを囲む矩形検査領域１０１は、文字列「Ｉ」に属していない文字「９」の外接矩形と重複する。そのため、読み取り順序が「６」の文字を文字列「Ｉ」から除外して、読み取り順序が「１」〜「５」の文字の外接矩形を連結することにより文字列「Ｉ」を生成する。
【００６０】
続いて、新たに文字列「ＩＩ」を空集合として生成する。そして、読み取り順序が「６」の文字を文字列「ＩＩ」に追加し、文字列「ＩＩ」の矩形検査領域１０２を算出する。この場合、矩形検査領域１０２に読み取り順序が「６」以外の文字の外接矩形が重複していないので、読み取り順序が「７」の文字を文字列「ＩＩ」に追加して、読み取り順序が「６」および「７」の文字を含む文字列「ＩＩ」の矩形検査領域（図示せず）を算出する。この矩形検査領域は、読み取り順序が「６」および「７」以外の文字の外接矩形と重複しないので、読み取り順序が「８」の文字を文字列「ＩＩ」に追加する。
【００６１】
以下同様に、読み取り順序が「８」および「９」の文字を文字列「ＩＩ」に追加する。ところが、読み取り順序が「９」の文字を文字列「ＩＩ」に追加した場合、文字列「ＩＩ」の矩形検査領域１０３は、文字列「ＩＩ」に属していない文字「１０」〜「１７」の外接矩形と重複する。そのため、読み取り順序が「９」の文字を文字列「ＩＩ」から除外して、読み取り順序が「６」〜「８」の文字の外接矩形を連結することにより文字列「ＩＩ」を生成する。以下同様にして、すべての文字列「Ｉ」〜「ＩＶ」を生成することができる。
【００６２】
ところで、上記実施例で説明した文書レイアウト解析装置および文書レイアウト解析方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下に、上記実施例で説明した文書レイアウト解析装置（文書レイアウト解析方法）と同様の機能を有する文書レイアウト解析プログラムを実行するコンピュータシステムについて説明する。
【００６３】
図１１は、本実施例に係るコンピュータシステムの構成を示すシステム構成図であり、図１２は、このコンピュータシステムに係る本体部の構成を示すブロック図である。図１１に示すように、本実施例に係るコンピュータシステム２００は、本体部２０１と、本体部２０１からの指示によって表示画面２０２ａに画像などの情報を表示するためのディスプレイ２０２と、このコンピュータシステム２００に種々の情報を入力するためのキーボード２０３と、ディスプレイ２０２の表示画面２０２ａ上の任意の位置を指定するためのマウス２０４とを備える。
【００６４】
また、このコンピュータシステム２００に係る本体部２０１は、図１２に示すように、ＣＰＵ２２１と、ＲＡＭ２２２と、ＲＯＭ２２３と、ハードディスクドライブ（ＨＤＤ）２２４と、ＣＤ−ＲＯＭ２０９を受け入れるＣＤ−ＲＯＭドライブ２２５と、フレキシブルディスク（ＦＤ）２０８を受け入れるＦＤドライブ２２６と、ディスプレイ２０２、キーボード２０３ならびにマウス２０４を接続するＩ／Ｏインターフェース２２７と、ローカルエリアネットワークまたはワイドエリアネットワーク（ＬＡＮ／ＷＡＮ）２０６に接続するＬＡＮインターフェース２２８とを備える。
【００６５】
さらに、このコンピュータシステム２００には、インターネットなどの公衆回線２０７に接続するためのモデム２０５が接続されるとともに、ＬＡＮインターフェース２２８およびＬＡＮ／ＷＡＮ２０６を介して、他のコンピュータシステム（ＰＣ）２１１、サーバ２１２ならびにプリンタ２１３などが接続される。
【００６６】
そして、このコンピュータシステム２００は、所定の記録媒体に記録された文書レイアウト解析プログラムを読み出して実行することで文書レイアウト解析装置（文書レイアウト解析方法）を実現する。ここで、所定の記録媒体とは、フレキシブルディスク（ＦＤ）２０８、ＣＤ−ＲＯＭ２０９、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」の他に、コンピュータシステム２００の内外に備えられるハードディスクドライブ（ＨＤＤ）２２４や、ＲＡＭ２２２、ＲＯＭ２２３などの「固定用の物理媒体」を含むものである。
【００６７】
さらに、所定の記録媒体は、モデム２０５を介して接続される公衆回線２０７や、他のコンピュータシステム２１１ならびにサーバ２１２が接続されるＬＡＮ／ＷＡＮ２０６などのように、プログラムの送信に際して短期にプログラムを保持する「通信媒体」など、コンピュータシステム２００によって読み取り可能な文書レイアウト解析プログラムを記録する、あらゆる記録媒体を含むものである。
【００６８】
すなわち、文書レイアウト解析プログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものであり、コンピュータシステム２００は、このような記録媒体から文書レイアウト解析プログラムを読み出して実行することで文書レイアウト解析装置および文書レイアウト解析方法を実現する。なお、文書レイアウト解析プログラムは、コンピュータシステム２００によって実行されることに限定されるものではなく、他のコンピュータシステム２１１またはサーバ２１２が文書レイアウト解析プログラムを実行する場合や、これらが協働して文書レイアウト解析プログラムを実行するような場合にも、本発明を同様に適用することができる。
【００６９】
上述してきたように、本実施例では、文字列検出部２３ａが、文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて文書画像中の文字列を検出し、検出した文字列に対し文字列レイアウト解析をおこない、文字番号付与部２３ｂおよびレイアウト補正部２３ｃが、文字列レイアウト解析の解析結果に基づき、文字列レイアウトを再設定することにより文字列レイアウトを補正することとしたので、電子文書の文書レイアウト構造を精度よく抽出できる。
【００７０】
また、本実施例では、文字列検出部２３ａが、文書画像中の各文字の座標情報を取得し、取得した座標情報に基づいて文書画像中の文字列を検出し、文字番号付与部２３ｂが、検出された文字列に含まれる文字を１つずつ選択し、その文字列を囲む外接矩形の所定の角を一角とし、かつ、選択された文字を囲む外接矩形を含む矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与し、レイアウト補正部２３ｃが、付与された番号順に各文字を１つずつ追加して文字列を設定し、その文字列にすでに追加されている文字と新たに追加した文字とを含む矩形検査領域内にその文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正することとしたので、文書レイアウトの抽出を精度よく、かつ効率的におこなうことができる。
【００７１】
また、本実施例では、文字列検出部２３ａが、電子文書を仮想的にプリントアウトすることにより電子文書中の各文字の情報を取得することとしたので、文字列認識誤りに起因する誤読文字がなく、１００％正しい文字の情報を取得でき、電子文書を一旦紙に印刷してそれをスキャナで読み取ることにより各文字の情報を取得するなどの作業を省き、効率的に各文字の情報を取得することができる。
【００７２】
また、本実施例では、文字列検出部２３ａが、複数の文字の文字領域が重複している場合に、文字領域の重複部分の重心を通る水平線または垂直線により分割されてできる複数の領域の組み合わせを求め、その組み合わせのうち、分割されてできた複数の領域の面積の総和が最大となる組み合わせを選択し、その組み合わせに対応する複数の領域を囲む各矩形をそれぞれの文字を囲む外接矩形として設定することとしたので、たとえ複数の文字の文字領域が重複している場合でも、各文字の文字領域を適切に設定することができる。
【００７３】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
【００７４】
例えば、本実施例では、電子文書が横書きの文書の場合について説明したが、本発明はこれに限定されるものではなく、縦書きの電子文書にも同様に本発明を適用することができる。たとえば、図７のステップＳ７０２では、文字の外接矩形の左上点のｙ座標が小さい順に文字に番号を付与することとしたが、縦書きの文書の場合には、ｙ座標の代わりにｘ座標の小さい順に文字に番号を付与するなど、処理を適切に変更しておこなうことにより縦書きの電子文書にも容易に対処することができる。
【００７５】
また、本実施例では、電子文書を仮想的にプリントアウトすることにより、電子文書中に含まれる文字の文字コードや座標位置の情報を取得することとしたが、本発明はこれに限定されるものではなく、上記文字に係る情報が内部情報として記述されている電子文書から直接それらの情報を取得することとしてもよい。
【００７６】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７７】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７８】
（付記１）文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムであって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、
前記文字列検出手順により検出した文字列に対し文字列レイアウト解析をおこなう文字列レイアウト解析手順と、
前記文字列レイアウト解析手順による解析結果に基づき、文字列レイアウトを再設定することにより文字列レイアウトを補正するレイアウト補正手順と、
をコンピュータに実行させることを特徴とする文書レイアウト解析プログラム。
【００７９】
（付記２）文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムであって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、
前記文字列検出手順により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手順と、
前記文字番号付与手順により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手順と、
をコンピュータに実行させることを特徴とする文書レイアウト解析プログラム。
【００８０】
（付記３）前記文字列検出手段は、電子文書を仮想的にプリントアウトすることにより各文字に係る情報を取得して、取得した文字に係る情報に基づいて該文書中の文字列を検出することを特徴とする付記２に記載の文書レイアウト解析プログラム。
【００８１】
（付記４）前記文字番号付与手順は、複数の文字の文字領域が重複している場合に、該文字領域の重複部分の重心を通る水平線または垂直線により分割されてできる複数の領域の組み合わせのうち、分割されてできた複数の領域の面積の総和が最大となる組み合わせを選択し、該組み合わせに対応する複数の領域を囲む各矩形を前記文字を囲む文字矩形にそれぞれ設定することを特徴とする付記２または３に記載の文書レイアウト解析プログラム。
【００８２】
（付記５）文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手順と、
前記文字列検出手順により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手順と、
前記文字番号付与手順により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手順と、
をコンピュータに実行させるための文書レイアウト解析プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【００８３】
（付記６）文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析方法であって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出工程と、
前記文字列検出工程により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与工程と、
前記文字番号付与工程により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正工程と、
を含んだことを特徴とする文書レイアウト解析方法。
【００８４】
（付記７）文書画像から文字列のレイアウトに係る情報を取得する文書レイアウト解析装置であって、
前記文書画像中の各文字に係る情報を取得し、取得した各文字に係る情報に基づいて該文書画像中の文字列を検出する文字列検出手段と、
前記文字列検出手段により検出された文字列に含まれる文字を１つずつ選択し、該文字列を囲む文字列矩形の所定の角を一角とし、かつ、選択された文字を囲む文字矩形を含む第１の矩形検査領域内に、当該文字の番号よりも順序が後ろの番号の文字が含まれないように各文字に番号を付与する文字番号付与手段と、
前記文字番号付与手段により付与された番号順に各文字を１つずつ追加して文字列を設定し、該文字列にすでに追加されている文字と新たに追加した文字とを含む第２の矩形検査領域内に該文字列にすでに追加されている文字および新たに追加した文字以外の文字が含まれた場合に、新たに追加した文字を除外するとともにすでに追加されている文字を連結して１つの文字列として再設定し、文字列のレイアウトを補正するレイアウト補正手段と、
を備えたことを特徴とする文書レイアウト解析装置。
【産業上の利用可能性】
【００８５】
以上のように、本発明に係る文書レイアウト解析プログラム、文書レイアウト解析プログラムを記憶したコンピュータ読み取り可能な記憶媒体、文書レイアウト解析方法および文書レイアウト解析装置は、文書レイアウト構造を精度よく抽出することが必要な文書レイアウト解析システムに有用である。
【図面の簡単な説明】
【００８６】
【図１】本発明に係る文書レイアウト解析処理の概念を説明する概念図である。
【図２】本実施例に係る文書レイアウト解析装置の機能的構成を示す機能ブロック図である。
【図３】文字領域の重複解消化処理における文字の重複領域の分割方法を説明する説明図である。
【図４】図３に示した分割方法により分割された文字領域を説明する説明図である。
【図５】本実施例に係る文書レイアウト解析処理の処理手順を示すフローチャートである。
【図６】図５に示した文字列レイアウト補正処理の処理手順を示すフローチャートである。
【図７】図６に示した文字の読み取り順序付与処理の処理手順を示すフローチャートである。
【図８】図７に示した読み取り順序付与処理の処理の一例を示す図である。
【図９】図６に示した文字列生成処理の処理手順を示すフローチャートである。
【図１０】図９に示した文字列生成処理の処理の一例を示す図である。
【図１１】本実施例に係るコンピュータシステムの構成を示す図である。
【図１２】図１１に示したコンピュータシステムに係る本体部の構成を示すブロック図である。
【符号の説明】
【００８７】
１０    文字列
１１    原点
１２、１３、８０〜８３、１００〜１０３    矩形検査領域
１４ａ〜１４ｄ    補正後の文字列
１５ａ〜１５ｄ    補正後の文字列レイアウト
２０    入力部
２１    表示部
２２    記憶部
２２ａ    電子文書データ
２２ｂ    文字データ
２２ｃ    レイアウトデータ
２３    制御部
２３ａ    文字列検出部
２３ｂ    文字番号付与部
２３ｃ    レイアウト補正部
２３ｄ    文書編集処理部
３０、３１    文字領域
３２    重複部分
３３    重複部分の重心
４０〜４３    分割文字領域
【図１】
2005122543.tif 000003
【図２】
2005122543.tif 000004
【図３】
2005122543.tif 000005
【図４】
2005122543.tif 000006
【図５】
2005122543.tif 000007
【図６】
2005122543.tif 000008
【図７】
2005122543.tif 000009
【図８】
2005122543.tif 000010
【図９】
2005122543.tif 000011
【図１０】
2005122543.tif 000012
【図１１】
2005122543.tif 000013
【図１２】
2005122543.tif 000014