(57)【要約】【課題】枠内にある画素塊を対象とする場合に、枠外に画素塊があるような画像に対して、その枠外にある画素塊を枠からあふれた画素塊として、元の枠内の画素塊とともに対象とできるようにした画像処理装置を提供する。【解決手段】画像処理装置の枠抽出手段は画像内から画素塊を囲む枠を抽出し、画素塊位置検出手段は枠内にある画素塊の位置を検出し、形状判定手段は枠の形状を判定し、画素塊あふれ方向検出手段は前記画素塊位置検出手段によって検出された画素塊の位置と前記形状判定手段によって判定された枠の形状に基づいて、該枠におけるあふれた画素塊が存在する方向の候補を検出し、枠内解析手段は枠内の画素塊を解析し、枠外画素塊検出手段は前記画素塊あふれ方向検出手段によって検出された方向の候補と前記枠内解析手段による解析結果に基づいて、枠からあふれた画素塊を検出する。【選択図】図１
2010049336.tif 000002
【特許請求の範囲】
【請求項１】
画像内から画素塊を囲む枠を抽出する枠抽出手段と、
前記枠抽出手段によって抽出された枠内にある画素塊の位置を検出する画素塊位置検出手段と、
前記枠抽出手段によって抽出された枠の形状を判定する形状判定手段と、
前記画素塊位置検出手段によって検出された画素塊の位置と前記形状判定手段によって判定された枠の形状に基づいて、該枠におけるあふれた画素塊が存在する方向の候補を検出する画素塊あふれ方向検出手段と、
前記枠抽出手段によって抽出された枠内の画素塊を解析する枠内解析手段と、
前記画素塊あふれ方向検出手段によって検出された方向の候補と前記枠内解析手段による解析結果に基づいて、前記枠抽出手段によって抽出された枠からあふれた画素塊を検出する枠外画素塊検出手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記画素塊位置検出手段は、前記枠抽出手段によって抽出された複数の枠内の画素塊の位置に基づいて、該枠内の先頭の画素塊の位置を検出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記枠外画素塊検出手段によって検出された画素塊を、該枠外画素塊検出手段で対象としている枠に収容する画素塊収容手段
をさらに具備することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記枠抽出手段によって抽出された複数の枠間の関係を判定する枠関係判定手段
をさらに具備し、
前記画素塊あふれ方向検出手段は、さらに前記枠関係判定手段によって判定された枠間の関係に基づいて、対象としている枠におけるあふれた画素塊が存在する方向の候補を検出する
ことを特徴とする請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記画素塊あふれ方向検出手段は、
前記画素塊位置検出手段によって検出された画素塊の位置から、対象としている枠と隣接している枠内に画素塊が存在する領域に囲まれた空白の領域がある場合は、該隣接している枠内の画素塊がある方向を該対象としている枠におけるあふれた画素塊が存在する方向の候補として検出する
ことを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
コンピュータを、
画像を受け付ける画像受付手段と、
前記画像受付手段によって受け付けられた画像内の線を抽出する線抽出手段と、
前記線抽出手段によって抽出された線を用いて、画素塊を囲む枠を抽出する枠抽出手段と、
前記枠抽出手段によって抽出された枠内にある画素塊の位置を検出する画素塊位置検出手段と、
前記枠抽出手段によって抽出された枠の形状を判定する形状判定手段と、
前記画素塊位置検出手段によって検出された画素塊の位置と前記形状判定手段によって判定された枠の形状に基づいて、該枠におけるあふれた画素塊が存在する方向の候補を検出する画素塊あふれ方向検出手段と、
前記枠抽出手段によって抽出された枠内の画素塊を解析する枠内解析手段と、
前記画素塊あふれ方向検出手段によって検出された方向の候補と前記枠内解析手段による解析結果に基づいて、前記枠抽出手段によって抽出された枠からあふれた画素塊を検出する枠外画素塊検出手段
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
帳票やアンケート用紙等に記載された情報を電子化することが行われている。そのために、文字認識技術が利用されている。その文字認識技術では、対象が枠を用いて定まったフォーマットであるならば、予め指定された枠内にある文字に対して、文字認識処理を行っているのが一般的である。
【０００３】
これに関連する技術として、例えば、特許文献１には、記入枠に接触したり、はみ出して記入された文字等を、認識率を低下させずに読み取ることを課題とし、イメージバッファ中の２値のフィールドイメージで、文字が記入枠に接触していることが接触検出部によって検出されると、画像要求部によって、この記入枠に接触した枠線エリアのイメージデータが読取処理ユニット側に要求され、読取処理ユニットから転送された多値のイメージデータは、枠多値メモリに格納された後、濃度分布に基づいて２値化閾値が求められ、枠線が消去された２値のイメージデータが生成されて枠２値メモリに格納され、枠２値メモリ中の枠線エリアの２値のイメージデータによって、イメージバッファ中のフィールドイメージが更新され、更新されたフィールドイメージから文字パターンが切り出されて文字認識されることが開示されている。
【０００４】
また、例えば、特許文献２には、破線を含む罫線に接触している文字を正確に切り出すことを課題とし、画像データから罫線を罫線抽出部により抽出し、罫線に接触する文字が存在する場合、罫線と文字との接触領域を含む文字領域を罫線文字接触領域抽出部により切り出し、文字領域における罫線が破線罫線である場合、文字領域における破線罫線を直線罫線に破線実線変換部により変換し、文字領域から文字を罫線接触文字切り出し部により抽出し、罫線接触文字切り出し部により抽出された文字が罫線の上下左右のどの位置に存在するのかを接触文字配置判定部により判定することが開示されている。
【特許文献１】特開２００１−０２２８８４号公報
【特許文献２】特開平０９−２８２４１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、枠内にある画素塊を対象とする場合に、枠外に画素塊があるような画像に対して、その枠外にある画素塊を枠からあふれた画素塊として、元の枠内の画素塊とともに対象とできるようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像内から画素塊を囲む枠を抽出する枠抽出手段と、前記枠抽出手段によって抽出された枠内にある画素塊の位置を検出する画素塊位置検出手段と、前記枠抽出手段によって抽出された枠の形状を判定する形状判定手段と、前記画素塊位置検出手段によって検出された画素塊の位置と前記形状判定手段によって判定された枠の形状に基づいて、該枠におけるあふれた画素塊が存在する方向の候補を検出する画素塊あふれ方向検出手段と、前記枠抽出手段によって抽出された枠内の画素塊を解析する枠内解析手段と、前記画素塊あふれ方向検出手段によって検出された方向の候補と前記枠内解析手段による解析結果に基づいて、前記枠抽出手段によって抽出された枠からあふれた画素塊を検出する枠外画素塊検出手段を具備することを特徴とする画像処理装置である。
【０００７】
請求項２の発明は、前記画素塊位置検出手段は、前記枠抽出手段によって抽出された複数の枠内の画素塊の位置に基づいて、該枠内の先頭の画素塊の位置を検出することを特徴とする請求項１に記載の画像処理装置である。
【０００８】
請求項３の発明は、前記枠外画素塊検出手段によって検出された画素塊を、該枠外画素塊検出手段で対象としている枠に収容する画素塊収容手段をさらに具備することを特徴とする請求項１又は２に記載の画像処理装置である。
【０００９】
請求項４の発明は、前記枠抽出手段によって抽出された複数の枠間の関係を判定する枠関係判定手段をさらに具備し、前記画素塊あふれ方向検出手段は、さらに前記枠関係判定手段によって判定された枠間の関係に基づいて、対象としている枠におけるあふれた画素塊が存在する方向の候補を検出することを特徴とする請求項１から３のいずれか一項に記載の画像処理装置である。
【００１０】
請求項５の発明は、前記画素塊あふれ方向検出手段は、前記画素塊位置検出手段によって検出された画素塊の位置から、対象としている枠と隣接している枠内に画素塊が存在する領域に囲まれた空白の領域がある場合は、該隣接している枠内の画素塊がある方向を該対象としている枠におけるあふれた画素塊が存在する方向の候補として検出することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置である。
【００１１】
請求項６の発明は、コンピュータを、画像を受け付ける画像受付手段と、前記画像受付手段によって受け付けられた画像内の線を抽出する線抽出手段と、前記線抽出手段によって抽出された線を用いて、画素塊を囲む枠を抽出する枠抽出手段と、前記枠抽出手段によって抽出された枠内にある画素塊の位置を検出する画素塊位置検出手段と、前記枠抽出手段によって抽出された枠の形状を判定する形状判定手段と、前記画素塊位置検出手段によって検出された画素塊の位置と前記形状判定手段によって判定された枠の形状に基づいて、該枠におけるあふれた画素塊が存在する方向の候補を検出する画素塊あふれ方向検出手段と、前記枠抽出手段によって抽出された枠内の画素塊を解析する枠内解析手段と、前記画素塊あふれ方向検出手段によって検出された方向の候補と前記枠内解析手段による解析結果に基づいて、前記枠抽出手段によって抽出された枠からあふれた画素塊を検出する枠外画素塊検出手段として機能させることを特徴とする画像処理プログラムである。
【発明の効果】
【００１２】
請求項１の画像処理装置によれば、枠内にある画素塊を対象とする場合に、枠外に画素塊があるような画像に対して、その枠外にある画素塊を枠からあふれた画素塊として、元の枠内の画素塊とともに対象とできる。
【００１３】
請求項２の画像処理装置によれば、本構成を有していない場合に比較して、あふれた画素塊がある方向をより適切に検出できる。
【００１４】
請求項３の画像処理装置によれば、枠からあふれた画素塊を元の枠内に収めることができる。
【００１５】
請求項４の画像処理装置によれば、枠からあふれた画素塊が他の枠内にあるような場合に、あふれた画素塊がある方向を限定することができる。
【００１６】
請求項５の画像処理装置によれば、枠からあふれた画素塊が他の枠内にあるような場合であっても、枠からあふれた画素塊の対象とすることができる。
【００１７】
請求項６の画像処理プログラムによれば、枠内にある画素塊を対象とする場合に、枠外に画素塊があるような画像に対して、その枠外にある画素塊を枠からあふれた画素塊として、元の枠内の画素塊とともに対象とできる。
【発明を実施するための最良の形態】
【００１８】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前であることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
【００１９】
以下、枠として、矩形形状の文字枠を主に例示して説明する。文字枠は、帳票やアンケート用紙等で文字が記載される領域であり、記入欄等ともいわれる。その文字枠内に記載される文字は、手書きの文字であってもよいし、印刷された文字であってもよい。
また、画素塊とは、４連結又は８連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、４連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての１行から１文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は一定間隔で切り出した画像領域等がある。
なお、１つの画素塊として、１文字の画像となる場合が多いので、以下、文字という場合は画素塊の例として示す。ただし、実際に人間が文字として認識できる画素領域である必要はない。文字の一部分、文字を形成しない画素領域等もあり、何らかの画素の塊であればよい。
【００２０】
第１の実施の形態は、図１に示すように、画像受付モジュール１００、罫線抽出モジュール１１０、文字枠抽出モジュール１２０、文字書き始め位置検出モジュール１３０、文字枠形状判定モジュール１４０、文字あふれ方向検出モジュール１５０、文字枠内文字列解析モジュール１６０、文字枠外文字検出モジュール１７０、拡張文字枠設定モジュール１８０、文字位置補正モジュール１９０を有している。
【００２１】
画像受付モジュール１００は、罫線抽出モジュール１１０、文字書き始め位置検出モジュール１３０、文字枠内文字列解析モジュール１６０、文字位置補正モジュール１９０と接続されている。画像を受け付けて、その画像を罫線抽出モジュール１１０、文字書き始め位置検出モジュール１３０、文字枠内文字列解析モジュール１６０、文字位置補正モジュール１９０へ渡す。画像を受け付けるとは、スキャナで画像を読み込むこと、ファックスで画像を受信すること、画像データベース等から画像を読み出すこと等が含まれる。画像には、文字枠が含まれている。その画像は、１枚であってもよいし、複数枚の画像であってもよい。また、画像の内容として、帳票、アンケート用紙、ビジネス用に用いられる文書等であってもよい。
【００２２】
罫線抽出モジュール１１０は、画像受付モジュール１００、文字枠抽出モジュール１２０と接続されている。画像受付モジュール１００から受け取った画像から直線である罫線を抽出する。この罫線は、文字枠を構成する可能性のある線である。例えば、縦方向と横方向で黒画素の投影分布をとり、予め定められた閾値以上のヒストグラム（黒画素の頻度）を示すところに罫線があると判断するようにしてもよいし、予め定められた閾値以上の画素がつながった線を抽出するようにしてもよいし、ハフ（Ｈｏｕｇｈ）変換等を利用してもよい。そして、抽出した罫線に関する情報を文字枠抽出モジュール１２０に渡す。ここで、罫線に関する情報とは、罫線自体の画像であってもよいし、その罫線の始点及び終点の座標等であってもよい。
【００２３】
文字枠抽出モジュール１２０は、罫線抽出モジュール１１０、文字書き始め位置検出モジュール１３０、文字枠形状判定モジュール１４０、文字枠内文字列解析モジュール１６０、拡張文字枠設定モジュール１８０と接続されている。罫線抽出モジュール１１０によって抽出された罫線に関する情報を受け取り、その罫線によって構成されている文字枠を抽出する。つまり、画像受付モジュール１００によって受け付けられた画像内から文字枠を抽出する。そして、抽出した文字枠に関する情報を文字書き始め位置検出モジュール１３０、文字枠形状判定モジュール１４０、文字枠内文字列解析モジュール１６０、拡張文字枠設定モジュール１８０に渡す。ここで、文字枠に関する情報とは、文字枠自体の画像であってもよいし、文字枠の左上角の座標、横幅、縦長のデータ等であってもよい。文字枠の抽出は、例えば、具体例には、縦の罫線と横の罫線が交差している点を検出し、その交差点の座標から矩形を構成する文字枠を取り出すことによって行う。
【００２４】
文字書き始め位置検出モジュール１３０は、画像受付モジュール１００、文字枠抽出モジュール１２０、文字あふれ方向検出モジュール１５０と接続されている。文字枠抽出モジュール１２０によって抽出された文字枠内にある文字の位置を検出する。つまり、文字枠抽出モジュール１２０から文字枠に関する情報と画像受付モジュール１００から画像を受け取り、その画像内から文字枠内の文字を抽出して、その位置を検出する。そして、抽出した文字の位置を文字あふれ方向検出モジュール１５０に渡す。
また、文字書き始め位置検出モジュール１３０は、文字枠抽出モジュール１２０によって抽出された複数の文字枠内の文字の位置に基づいて、その文字枠内の先頭の文字の位置を検出するようにしてもよい。
【００２５】
文字枠形状判定モジュール１４０は、文字枠抽出モジュール１２０、文字あふれ方向検出モジュール１５０と接続されている。文字枠抽出モジュール１２０によって抽出された文字枠の形状を判定する。判定する文字枠の形状として、縦長の矩形、横長の矩形がある。そして、判定結果（縦長の矩形又は横長の矩形）を文字あふれ方向検出モジュール１５０に渡す。形状の判定は、例えば、具体例には、縦長と横幅との比率によって判定する。つまり、縦長／横幅の値が１より大であるならば縦長の矩形、１未満であるならば横長の矩形と判定する。
【００２６】
文字あふれ方向検出モジュール１５０は、文字書き始め位置検出モジュール１３０、文字枠形状判定モジュール１４０、文字枠外文字検出モジュール１７０と接続されている。文字書き始め位置検出モジュール１３０によって検出された文字の位置と文字枠形状判定モジュール１４０によって判定された文字枠の形状に基づいて、その文字枠におけるあふれた文字が存在する方向の候補を検出する。そして、検出した方向の候補を文字枠外文字検出モジュール１７０に渡す。
【００２７】
文字枠内文字列解析モジュール１６０は、画像受付モジュール１００、文字枠抽出モジュール１２０、文字枠外文字検出モジュール１７０と接続されている。文字枠抽出モジュール１２０によって抽出された文字枠内の文字を解析する。つまり、文字枠抽出モジュール１２０から文字枠に関する情報と画像受付モジュール１００から画像を受け取り、その画像内から文字枠内の文字を解析する。そして、その解析結果を文字枠外文字検出モジュール１７０に渡す。
【００２８】
文字枠外文字検出モジュール１７０は、文字あふれ方向検出モジュール１５０、文字枠内文字列解析モジュール１６０、拡張文字枠設定モジュール１８０と接続されている。文字あふれ方向検出モジュール１５０によって検出された方向の候補と文字枠内文字列解析モジュール１６０による解析結果に基づいて、文字枠抽出モジュール１２０によって抽出された文字枠からあふれた文字を検出する。つまり、文字あふれ方向検出モジュール１５０から文字枠からあふれた文字が存在する方向の候補と文字枠内文字列解析モジュール１６０から解析結果を受け取り、その対象としている文字枠からあふれた文字を検出する。これによって、文字枠外にある文字と文字枠とが対応付けられ、その文字枠外にある文字は、対象としている文字枠内に本来記載されるべきものであることが判明する。そして、文字枠とその文字枠に対応付けられた文字を拡張文字枠設定モジュール１８０に渡す。
【００２９】
拡張文字枠設定モジュール１８０は、文字枠抽出モジュール１２０、文字枠外文字検出モジュール１７０、文字位置補正モジュール１９０と接続されている。文字枠抽出モジュール１２０によって抽出された文字枠と文字枠外文字検出モジュール１７０によって検出されたあふれた文字を受け取り、そのあふれた文字を含むように文字枠を拡張させる。その拡張された文字枠内には、拡張前の文字枠内にある文字とそのあふれた文字とがあることになる。そして、その拡張した文字枠に関する情報を文字位置補正モジュール１９０に渡す。
【００３０】
文字位置補正モジュール１９０は、画像受付モジュール１００、拡張文字枠設定モジュール１８０と接続されている。文字枠外文字検出モジュール１７０によって検出された文字を、その文字枠外文字検出モジュール１７０で対象としている文字枠に収容する。例えば、具体的には、拡張文字枠設定モジュール１８０によって拡張された文字枠に関する情報を受け取り、画像受付モジュール１００によって受け付けられた画像を用いて、拡張される前の文字枠内に、拡張された文字枠内にある文字を配置するようにしてもよい。
この後、文字位置補正モジュール１９０によって処理された文字枠内の文字を文字認識処理の対象とするようにしてもよいし、出力装置（ディスプレイ等の表示装置、プリンタ等の印刷装置等）や外部（他のシステム、記憶装置等）に出力するようにしてもよい。
【００３１】
図２は、第１の実施の形態による処理例を示すフローチャートである。図３から図１１を用いて、具体例を示しながら説明する。
ステップＳ２０２では、画像受付モジュール１００が、対象とする画像を受け付ける。例えば、具体的には、図３の例に示すような対象画像３００がある。対象画像３００は、住所録の一部であり、名前欄３１０、住所欄３２０、電話番号欄３３０を有している。名前欄３１０は、項目名欄３１１、記入欄３１２を有しており、住所欄３２０は、項目名欄３２１、記入欄３２２を有しており、電話番号欄３３０は、項目名欄３３１、記入欄３３２を有している。そして、住所は記入欄３２２に書ききれずに、あふれ出た文字がある。
【００３２】
ステップＳ２０４では、罫線抽出モジュール１１０が、ステップＳ２０２で受け付けた画像内から罫線を抽出する。図３に示す例では、名前欄３１０、住所欄３２０、電話番号欄３３０をそれぞれ構成している５本の罫線（縦の罫線３本と横の罫線２本）を抽出する。
【００３３】
ステップＳ２０６では、文字枠抽出モジュール１２０が、ステップＳ２０４で抽出した罫線を用いて、文字枠を抽出する。図３に示す例では、項目名欄３１１、記入欄３１２、項目名欄３２１、記入欄３２２、項目名欄３３１、記入欄３３２を抽出する。なお、以降の説明では、文字枠として記入欄３１２、３２２、３３２を例示する。
なお、文字枠抽出モジュール１２０が、抽出した文字枠のうち、端（例えば、左端）にある文字枠は、文字枠として抽出しない（以後の処理では、対象としない）ようにしてもよい。この処理を行うことによって、項目名欄３１１、３２１、３３１は、文字枠として抽出されずに、記入欄３１２、３２２、３３２が文字枠として抽出されることとなる。
また、文字枠として、同じ領域を囲む文字枠が複数ある場合は、小さい文字枠を優先して採用するようにしてもよい。図３に示す例では、文字枠として名前欄３１０、項目名欄３１１、記入欄３１２を抽出することもあり得るが、名前欄３１０と項目名欄３１１は同じ領域を囲んでいるので、項目名欄３１１だけを抽出し、同様に、名前欄３１０と記入欄３１２については、記入欄３１２だけを抽出する。
【００３４】
ステップＳ２０８では、文字枠形状判定モジュール１４０が、ステップＳ２０６で抽出した文字枠の形状を判定する。図３に示す例では、記入欄３１２、３２２、３３２は、それぞれ横長の文字枠であると判定される。
【００３５】
ステップＳ２１０では、文字書き始め位置検出モジュール１３０が、ステップＳ２０６で抽出した文字枠内にある文字の位置を検出する。文字の位置として、先頭の文字の位置、つまり文字が書き始められた位置を検出する。この検出は、次のように行う。
（Ａ１）文字枠を複数のブロックに分割する。例えば、図４（ａ）に示すように、横長の文字枠である記入欄３１２、３２２、３３２を、それぞれ１０個のブロックに分割する。ブロックは、予め定められた数又は大きさとする。
（Ａ２）各ブロックにおいて、黒画素を計数する。
【００３６】
（Ａ３）黒画素数が予め定められた閾値以上であるブロックをチェックする。つまり、文字があるブロックを取り出すことになる。例えば、図４（ｂ）に示すように、斜線を施したブロックは、その閾値以上の黒画素があるものである。記入欄３１２は左から３つのブロック、記入欄３２２は全てのブロック、記入欄３３２は左から４つのブロックがチェックされることになる。
（Ａ４）ステップＳ２０８で判定した形状のうち、同じ形状の複数のブロックに対して、（Ａ１）から（Ａ３）までの処理を行う。各文字枠を分割するブロックは、同じ大きさとする。
【００３７】
（Ａ５）対象となっている各文字枠内でチェックされているブロックの位置を検出する。そして、各文字枠内で共通して存在する場所にあるブロックのうち、横長の文字枠の場合は左端にあるブロックの位置が、縦長の文字枠の場合は上端にあるブロックの位置が、文字を書き始める位置とする。例えば、図４（ｂ）に示すように、記入欄３１２、３２２、３３２に共通するチェックされたブロックは、左から３つのブロックである。そして、横長の文字枠であるので、チェックされたブロックのうちの左端のブロック（結局、各文字枠内でも左端のブロック）を先頭の文字の位置とする。
なお、分割するブロック数を２とし、それぞれのブロック内の黒画素を計数し、画素数が多いブロックを先頭の文字の位置とするようにしてもよい。
【００３８】
ステップＳ２１２では、文字あふれ方向検出モジュール１５０が、対象としている文字枠について、文字があふれる方向の候補を検出する。つまり、ステップＳ２０８で判定された文字枠の形状とステップＳ２１０で検出された先頭の文字の位置を用いて、その文字枠における文字があふれる方向として可能性がある方向を検出する。
【００３９】
より具体的には、以下のように判定する。
（Ｂ１）文字枠が横長の形状であって、先頭の文字の位置が左である場合は、文字があふれる方向の候補として、右側、上側、下側を検出する。
（Ｂ２）文字枠が横長の形状であって、先頭の文字の位置が右である場合は、文字があふれる方向の候補として、左側、上側、下側を検出する。
（Ｂ３）文字枠が縦長の形状であって、先頭の文字の位置が上である場合は、文字があふれる方向の候補として、下側、右側、左側を検出する。
（Ｂ４）文字枠が縦長の形状であって、先頭の文字の位置が下である場合は、文字があふれる方向の候補として、上側、右側、左側を検出する。
つまり、先頭の文字の位置と反対側と、文字枠の長辺の両側が、文字があふれる方向の候補となる。
【００４０】
図５は、文字があふれる方向の例を示す説明図である。図５（ａ）の例に示す文字枠５１０は、横長であり、先頭の文字の位置は左であると判定されたものである。この場合、文字があふれる方向の候補として、右側、上側、下側（図５（ａ）の例に示した文字あふれ方向５１１参照）を検出することになる。また、図５（ｂ）の例に示す文字枠５２０は、縦長であり、先頭の文字の位置は上であると判定されたものである。この場合、文字があふれる方向の候補として、下側、右側、左側（図５（ｂ）の例に示した文字あふれ方向５２１参照）を検出することになる。
図６は、対象としている文字枠の文字があふれる方向の検出例を示す説明図である。つまり、図３の例に示した記入欄３２２は、文字があふれる方向の候補として、右側、上側、下側（図６の例に示した文字あふれ方向６０１参照）が検出されることになる。
【００４１】
ステップＳ２１４では、文字枠内文字列解析モジュール１６０が、文字枠以外の画素塊を囲む外接矩形を生成する。つまり、文字枠に接している文字は文字枠の一部とみなして外接矩形を生成しないこととなる。ただし、既存技術（例えば、背景技術の説明で示した特許文献に開示されている技術）を使って、文字枠に接している文字を抽出しておくようにしてもよい。
図７は、文字枠以外の画素塊の外接矩形の生成処理例を示す説明図である。記入欄３２２内には、外接矩形７０１から７１５が生成され、文字枠外には外接矩形７１６、７１７、７１８が生成される。
【００４２】
ステップＳ２１６では、文字枠内文字列解析モジュール１６０が、ステップＳ２１４で抽出した外接矩形間の間隔、各外接矩形の高さ、幅、文字枠内での位置（例えば、文字枠の短辺方向における位置）等を検出する。さらに、外接矩形内の予め定められた点（例えば、重心等）をつなぐ近似直線を生成するようにしてもよい。
図８は、外接矩形の重心をつないだ近似直線の生成処理例を示す説明図である。近似直線８００は、外接矩形７０１から７１５の重心をつないだものである。
【００４３】
ステップＳ２１８では、文字枠外文字検出モジュール１７０が、対象としている文字枠外にあるあふれ文字を検出する。例えば、ステップＳ２１２で検出した文字があふれる方向の候補における方向であって、ステップＳ２１６で生成した近似直線の延長線上に、対象としている文字枠内にある外接矩形と同等の大きさ、間隔等であるものをあふれ文字として検出する。また、ステップＳ２１２で検出した文字があふれる方向の候補における方向であって、文字枠外にある外接矩形内の予め定められた点をつなぐ近似直線を生成して、文字枠内にある近似直線と結ぶことができる場合に、文字枠外にある文字を対象としている文字枠のあふれ文字として検出するようにしてもよい。また、ステップＳ２１２で検出した文字があふれる方向の候補における方向であって、文字枠内にある外接矩形の高さ、幅、文字枠内での位置と同等の高さ等を有する文字枠外にある外接矩形をあふれ文字として検出するようにしてもよい。また、ステップＳ２１２で検出した文字があふれる方向の候補における方向であって、文字枠外にある外接矩形内の予め定められた点をつなぐ近似直線を生成して、その近似直線で結ばれた外接矩形の大きさ、間隔等が、対象としている文字枠内にある外接矩形と同等の大きさ、間隔等であるものをあふれ文字として検出するようにしてもよい。
図９は、あふれ文字を検出する処理例を示す説明図である。近似直線８００の延長線上にある外接矩形７１６、７１７、７１８を、記入欄３２２のあふれ文字として検出したものである。
【００４４】
ステップＳ２２０では、拡張文字枠設定モジュール１８０が、対象としている文字枠内の文字と、ステップＳ２１８で検出したその文字枠に対応するあふれ文字とを含むような領域を拡張した文字枠として設定する。
図１０は、拡張した文字枠の生成処理例を示す説明図である。拡張文字枠１０２２は、記入欄３２２内にあった外接矩形７０１から７１５と、記入欄３２２外にあったあふれ文字の外接矩形７１６、７１７、７１８を含んでいる。
【００４５】
ステップＳ２２２では、文字位置補正モジュール１９０が、本来の文字枠に収まるように、文字位置を補正する。例えば、具体的には、ステップＳ２２０で設定した拡張した文字枠をその中にある文字を含めて縮小してもよいし、文字間隔を狭くしたりしてもよいし、２行に分けて含めるようにしてもよい。
図１１は、あふれ文字を文字枠内に収める処理例を示す説明図である。図１０の例に示した拡張文字枠１０２２及びその中の文字を縮小した例である。
【００４６】
図１２は、第２の実施の形態の構成例についての概念的なモジュール構成図である。第１の実施の形態に、さらに文字枠間の関係を用いて、文字枠外にある文字を文字枠からあふれた文字として、元の文字枠内の文字と同等に扱えるようにしたものである。
【００４７】
第２の実施の形態は、図１２に示すように、画像受付モジュール１２００、罫線抽出モジュール１２１０、文字枠抽出モジュール１２２０、文字枠位置関係判定モジュール１２２５、文字書き始め位置検出モジュール１２３０、文字枠形状判定モジュール１２４０、文字あふれ方向検出モジュール１２５０、文字枠内文字列解析モジュール１２６０、文字枠外文字検出モジュール１２７０、拡張文字枠設定モジュール１２８０、文字位置補正モジュール１２９０を有している。第１の実施の形態と比べると、文字枠位置関係判定モジュール１２２５を付加したものであり、その他のモジュールである画像受付モジュール１２００は画像受付モジュール１００に、罫線抽出モジュール１２１０は罫線抽出モジュール１１０に、文字枠抽出モジュール１２２０は文字枠抽出モジュール１２０に、文字書き始め位置検出モジュール１２３０は文字書き始め位置検出モジュール１３０に、文字枠形状判定モジュール１２４０は文字枠形状判定モジュール１４０に、文字あふれ方向検出モジュール１２５０は文字あふれ方向検出モジュール１５０に、文字枠内文字列解析モジュール１２６０は文字枠内文字列解析モジュール１６０に、文字枠外文字検出モジュール１２７０は文字枠外文字検出モジュール１７０に、拡張文字枠設定モジュール１２８０は拡張文字枠設定モジュール１８０に、文字位置補正モジュール１２９０は文字位置補正モジュール１９０に、それぞれ対応し、同等の機能、働きを有しているので重複した説明を省略する。
【００４８】
文字枠抽出モジュール１２２０は、罫線抽出モジュール１２１０、文字枠位置関係判定モジュール１２２５、文字書き始め位置検出モジュール１２３０、文字枠形状判定モジュール１２４０、文字枠内文字列解析モジュール１２６０、拡張文字枠設定モジュール１２８０と接続されている。つまり、第１の実施の形態における文字枠抽出モジュール１２０の出力先に加えて、抽出した文字枠に関する情報を文字枠位置関係判定モジュール１２２５にも渡す。
【００４９】
文字枠位置関係判定モジュール１２２５は、文字枠抽出モジュール１２２０、文字あふれ方向検出モジュール１２５０と接続されている。文字枠抽出モジュール１２２０によって抽出された複数の文字枠間の関係を判定する。そして、その判定結果を文字あふれ方向検出モジュール１２５０に渡す。つまり、文字枠抽出モジュール１２２０から抽出した文字枠に関する情報を受け取り、文字枠間の関係を判定する。例えば、具体的には、対象としている文字枠に隣接している文字枠とその隣接している方向を検出する。なお、ここでの隣接とは、文字枠同士が近くにある状態の関係をいい、文字枠同士が接している場合のほかに、離れてはいるが、その距離は１文字の大きさ以内であるような場合も含む。つまり、文字枠からあふれた文字が記載されるような位置にあることをいう。
【００５０】
文字あふれ方向検出モジュール１２５０は、文字枠位置関係判定モジュール１２２５、文字書き始め位置検出モジュール１２３０、文字枠形状判定モジュール１２４０、文字枠外文字検出モジュール１２７０と接続されている。つまり、第１の実施の形態における文字あふれ方向検出モジュール１５０に、さらに文字枠位置関係判定モジュール１２２５によって判定された文字枠間の関係に基づいて、対象としている文字枠におけるあふれた文字が存在する方向の候補を検出する。つまり、文字枠間の関係を用いて、あふれた文字が存在する方向の候補を制限する。例えば、具体的には、あふれる方向に、他の文字枠がないことを条件とする。より具体的には、その方向に隣接した文字枠があれば、その方向は文字があふれる方向の候補として検出しない。
【００５１】
図１３は、第２の実施の形態による処理例を示すフローチャートである。図１４から図１６を用いて、具体例を示しながら説明する。ただし、図２の例に示したフローチャートと同等の処理については、図２の例における処理の符号を示すことによって説明を省略する。
【００５２】
ステップＳ１３０２からステップＳ１３１０までの処理は、ステップＳ２０２からステップＳ２１０までの処理と同等である。
ただし、ステップＳ１３０２で、画像受付モジュール１２００が、図１４の例に示すような対象画像１４００を受け付けることとする。名前欄１４１０は、項目名欄１４１１、記入欄１４１２を有しており、住所欄１４２０は、項目名欄１４２１、記入欄１４２２を有している。そして、住所は記入欄１４２２に書ききれずに、あふれ出た文字がある。
【００５３】
ステップＳ１３１２では、文字枠位置関係判定モジュール１２２５が、他の文字枠との位置関係を検出する。図１４の例に示した記入欄１４２２には、隣接している文字枠として上方向に記入欄１４１２、隣接している文字枠として左方向に項目名欄１４２１、左上方向に項目名欄１４１１があるという関係を検出する。
【００５４】
ステップＳ１３１４では、文字あふれ方向検出モジュール１２５０が、ステップＳ２１２と同等の処理、つまり、対象としている文字枠について、文字があふれる方向の候補を検出する。ただし、対象としている文字枠に、ステップＳ１３１２で検出した位置関係として、隣接している文字枠がある場合は、その文字枠がある方向は、文字があふれる方向の候補とはしない。
図１５は、文字があふれる方向の検出例を示す説明図である。図１５（ａ）の例に示すように、記入欄１４２２が横長の形状であって、先頭の文字の位置が左である場合であるので、第１の実施の形態の文字あふれ方向検出モジュール１５０では、文字があふれる方向の候補として、右側、上側、下側を検出することになる（ステップＳ２１２の（Ｂ１）参照、図１５（ａ）の例に示した文字あふれ方向１５０１参照）。
しかし、第２の実施の形態の文字あふれ方向検出モジュール１２５０では、ステップＳ１３１２で検出した位置関係として、記入欄１４２２には、隣接している文字枠として上方向に記入欄１４１２があることが判明しているので、その上方向は、文字があふれる方向の候補としない。つまり、文字があふれる方向の候補として、右側、下側を検出することになる（図１５（ｂ）の例に示した文字あふれ方向１５０２参照）。
【００５５】
ステップＳ１３１６からステップＳ１３２４までの処理は、ステップＳ２１４からステップＳ２２２までの処理と同等である。図１６に示す例を用いてこれらの処理の概略、つまり図１４の例に示した対象画像１４００に対する処理例を説明する。
ステップＳ１３１６では、文字枠内文字列解析モジュール１２６０が、文字枠以外の画素塊を囲む外接矩形を生成する。図１６（ａ）は、文字枠以外の画素塊の外接矩形の生成処理例を示す説明図である。記入欄１４２２内には、外接矩形１６０１から１６１１が生成され、文字枠外には外接矩形１６１２から１６１９が生成される。
【００５６】
ステップＳ１３１８では、文字枠内文字列解析モジュール１２６０が、ステップＳ１３１６で抽出した外接矩形間の間隔、各外接矩形の高さ、幅、文字枠内での位置等を検出する。さらに、外接矩形内の予め定められた点をつなぐ近似直線を生成するようにしてもよい。
図１６（ａ）は、外接矩形の重心をつないだ近似直線の生成処理例を示す説明図でもある。近似直線１６２１は、外接矩形１６０１から１６１１の重心をつないだものである。
【００５７】
ステップＳ１３２０では、文字枠外文字検出モジュール１２７０が、対象としている文字枠外にあるあふれ文字を検出する。例えば、ステップＳ１３１４で検出した文字があふれる方向の候補における方向であって、文字枠外にある外接矩形内の予め定められた点をつなぐ近似直線を生成して、その近似直線で結ばれた外接矩形の大きさ、間隔等が、対象としている文字枠内にある外接矩形と同等の大きさ、間隔等であるものをあふれ文字として検出する。
図１６（ａ）は、あふれ文字を検出する処理例を示す説明図でもある。近似直線１６２２は、外接矩形１６１２から１６１９の重心をつないだものである。外接矩形１６１２から１６１９の大きさ、間隔等は、外接矩形１６０１から１６１１の大きさ、間隔等と同等であるので、外接矩形１６１２から１６１９を、記入欄１４２２のあふれ文字として検出したものである。
【００５８】
ステップＳ１３２２では、拡張文字枠設定モジュール１２８０が、対象としている文字枠内の文字と、ステップＳ１３２０で検出したその文字枠に対応するあふれ文字とを含むような領域を拡張した文字枠として設定する。
図１６（ｂ）は、拡張した文字枠の生成処理例を示す説明図である。拡張文字枠１６５０は、記入欄１４２２内にあった外接矩形１６０１から１６１１と、記入欄１４２２外にあったあふれ文字の外接矩形１６１２から１６１９を含んでいる。
【００５９】
ステップＳ１３２４では、文字位置補正モジュール１２９０が、本来の文字枠に収まるように、文字位置を補正する。
図１６（ｃ）は、あふれ文字を文字枠内に収める処理例を示す説明図である。図１６（ｂ）の例に示した拡張文字枠１６５０及びその中の文字を縮小した例である。
【００６０】
次に、第３の実施の形態を説明する。第３の実施の形態は、第１の実施の形態又は第２の実施の形態に、文字枠からあふれた文字が他の文字枠内にあるような場合であっても、文字枠からあふれた文字の対象とするものである。
なお、第３の実施の形態の構成例は、第１の実施の形態又は第２の実施の形態の構成例と同等のものである。ただし、文字あふれ方向検出モジュール１５０、文字あふれ方向検出モジュール１２５０は、第１の実施の形態又は第２の実施の形態で示した機能、働き以外に、さらに、文字書き始め位置検出モジュール１３０（１２３０）によって検出された文字の位置から、対象としている文字枠と隣接している文字枠内に文字が存在する領域に囲まれた空白の領域がある場合は、その隣接している文字枠内の文字がある方向をその対象としている文字枠におけるあふれた文字が存在する方向の候補として検出する。つまり、第２の実施の形態では、隣接している文字枠がある方向は、あふれた文字がある方向の候補としなかったが、隣接している文字枠があっても、文字書き始め位置検出モジュール１３０（１２３０）によって検出された文字の位置を用いて、その文字枠内に文字が存在する領域に囲まれた空白の領域があると判明した場合は、隣接している文字枠がある方向であっても、あふれた文字がある方向の候補とするものである。
【００６１】
図１７は、第３の実施の形態による処理例を示すフローチャートである。図１８から図２０を用いて、具体例を示しながら説明する。ただし、図１３の例に示したフローチャートと同等の処理については、図１３の例における処理の符号を示すことによって説明を省略する。
【００６２】
ステップＳ１７０２からステップＳ１７１２までの処理は、ステップＳ１３０２からステップＳ１３１２までの処理と同等である。
ただし、ステップＳ１７０２で、画像受付モジュール１２００が、図１８の例に示すような対象画像１８００を受け付けることとする。１行目は氏名、２行目は住所、３行目は電話番号が記載されている。そして、住所は２行目に書ききれずに、あふれ出た文字が３行目にある。つまり、３行目には、左側に電話番号、空白があって右側に住所が記載されているものである。
【００６３】
ステップＳ１７１４では、文字書き始め位置検出モジュール１２３０が、対象としている文字枠と隣接している文字枠内の文字について解析する。そして、文字が存在する領域に囲まれた空白の領域があるか否かを判定する。図１９の例に示すように、対象としている文字枠を２行目とする。上側に隣接する１行目には左側に文字存在領域１９１０（図では斜線を施している）があり、下側に隣接する３行目には左側に文字存在領域１９３０（図では斜線を施している）があり、右側に文字存在領域１９４０（図では斜線を施している）があり、文字存在領域１９３０と文字存在領域１９４０の間に挟まれた空白ブロック１９５１から１９５３がある。つまり、下側の３行目の文字枠には、文字存在領域１９３０と文字存在領域１９４０に囲まれた空白領域があると判定する。なお、空白領域は、予め定められた幅以上であることを条件としてもよい。
【００６４】
ステップＳ１７１６では、文字あふれ方向検出モジュール１２５０が、ステップＳ１７１４で対象としている文字枠と隣接している文字枠内に文字が存在する領域に囲まれた空白の領域があると判定した場合は、その隣接している文字枠内の文字がある方向をその対象としている文字枠におけるあふれた文字が存在する方向の候補として検出する。
したがって、第３の実施の形態では、あふれた文字がある方向の候補として右側、下側となる（図１９の例に示す文字あふれ方向１９０１参照）。
そして、その文字枠内において、先頭の文字の位置とは反対側の位置にある文字（文字存在領域１９４０）を、あふれた文字である可能性があると判定する。したがって、図２０の例に示すように、文字存在領域１９２０に対して、文字存在領域１９４０があふれた文字である可能性があると判定することになる。さらに、「ビル３Ｆ」という文字が、対象画像１８００外にあり、３行目の並びにあるが、これらの文字もあふれた文字である可能性があることになる。以下、文字存在領域１９４０内の文字と「ビル３Ｆ」という文字が、文字存在領域１９２０に対してあふれた文字であるか否かを判断することになる。
【００６５】
ステップＳ１７１８からステップＳ１７２６までの処理は、ステップＳ１３１６からステップＳ１３２４までの処理と同等である。
【００６６】
図２１を参照して、前述の実施の形態のハードウェア構成例について説明する。図２１に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２１１７と、プリンタなどのデータ出力部２１１８を備えたハードウェア構成例を示している。
【００６７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１０１は、前述の実施の形態において説明した各種のモジュール、すなわち、罫線抽出モジュール１１０、文字枠抽出モジュール１２０、文字書き始め位置検出モジュール１３０、文字枠形状判定モジュール１４０、文字あふれ方向検出モジュール１５０、文字枠内文字列解析モジュール１６０、文字枠位置関係判定モジュール１２２５等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１０２は、ＣＰＵ２１０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１０３は、ＣＰＵ２１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２１０４により相互に接続されている。
【００６９】
ホストバス２１０４は、ブリッジ２１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２１０６に接続されている。
【００７０】
キーボード２１０８、マウス等のポインティングデバイス２１０９は、操作者により操作される入力デバイスである。ディスプレイ２１１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７１】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２１１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２１０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、画像受付モジュール１００が受け付けた画像や枠の位置データなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７２】
ドライブ２１１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２１１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２１０７、外部バス２１０６、ブリッジ２１０５、及びホストバス２１０４を介して接続されているＲＡＭ２１０３に供給する。リムーバブル記録媒体２１１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７３】
接続ポート２１１４は、外部接続機器２１１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２１１４は、インタフェース２１０７、及び外部バス２１０６、ブリッジ２１０５、ホストバス２１０４等を介してＣＰＵ２１０１等に接続されている。通信部２１１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部２１１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２１１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７４】
なお、図２１に示すハードウェア構成は、１つの構成例を示すものであり、前述の実施の形態は、図２１に示す構成に限らず、前述の実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７５】
前記実施の形態においては、枠として矩形形状のものを示したが、その他の形状のものであってもよく、また枠線は直線でなくてもよく、実線以外の点線等であってもよい。枠は、画素塊を囲むものであればよい。
【００７６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕｅ−ｒａｙ  Ｄｉｓｋ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【図面の簡単な説明】
【００７７】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態による処理例を示すフローチャートである。
【図３】画像受付モジュールによって受け付けられた対象画像の例を示す説明図である。
【図４】文字枠内の文字位置を検出する処理例を示す説明図である。
【図５】文字があふれる方向の例を示す説明図である。
【図６】対象としている文字枠の文字があふれる方向の検出例を示す説明図である。
【図７】文字枠以外の画素塊の外接矩形の生成処理例を示す説明図である。
【図８】外接矩形の重心をつないだ近似直線の生成処理例を示す説明図である。
【図９】あふれ文字を検出する処理例を示す説明図である。
【図１０】拡張した文字枠の生成処理例を示す説明図である。
【図１１】あふれ文字を文字枠内に収める処理例を示す説明図である。
【図１２】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１３】第２の実施の形態による処理例を示すフローチャートである。
【図１４】画像受付モジュールによって受け付けられた対象画像の例を示す説明図である。
【図１５】文字があふれる方向の検出例を示す説明図である。
【図１６】第２の実施の形態による処理例を示す説明図である。
【図１７】第３の実施の形態による処理例を示すフローチャートである。
【図１８】画像受付モジュールによって受け付けられた対象画像の例を示す説明図である。
【図１９】文字の書き始め位置を検出する処理例を示す説明図である。
【図２０】第３の実施の形態による処理例を示す説明図である。
【図２１】第１〜３の実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００７８】
１００…画像受付モジュール
１１０…罫線抽出モジュール
１２０…文字枠抽出モジュール
１３０…文字書き始め位置検出モジュール
１４０…文字枠形状判定モジュール
１５０…文字あふれ方向検出モジュール
１６０…文字枠内文字列解析モジュール
１７０…文字枠外文字検出モジュール
１８０…拡張文字枠設定モジュール
１９０…文字位置補正モジュール
１２００…画像受付モジュール
１２１０…罫線抽出モジュール
１２２０…文字枠抽出モジュール
１２２５…文字枠位置関係判定モジュール
１２３０…文字書き始め位置検出モジュール
１２４０…文字枠形状判定モジュール
１２５０…文字あふれ方向検出モジュール
１２６０…文字枠内文字列解析モジュール
１２７０…文字枠外文字検出モジュール
１２８０…拡張文字枠設定モジュール
１２９０…文字位置補正モジュール
【図１】
2010049336.tif 000003
【図２】
2010049336.tif 000004
【図３】
2010049336.tif 000005
【図４】
2010049336.tif 000006
【図５】
2010049336.tif 000007
【図６】
2010049336.tif 000008
【図７】
2010049336.tif 000009
【図８】
2010049336.tif 000010
【図９】
2010049336.tif 000011
【図１０】
2010049336.tif 000012
【図１１】
2010049336.tif 000013
【図１２】
2010049336.tif 000014
【図１３】
2010049336.tif 000015
【図１４】
2010049336.tif 000016
【図１５】
2010049336.tif 000017
【図１６】
2010049336.tif 000018
【図１７】
2010049336.tif 000019
【図１８】
2010049336.tif 000020
【図１９】
2010049336.tif 000021
【図２０】
2010049336.tif 000022
【図２１】
2010049336.tif 000023