説明

画像処理装置及び画像処理プログラム

【課題】投影分布又は連結成分を用いた技術では、文字列どうしの境界が不明確となる画像であって複数の段落を含む画像を対象とした場合に、文字画像が分離できなくなってしまうことを抑制するようにした画像処理装置を提供する。
【解決手段】画像処理装置の経路算出手段は、画像内の文字画像を分離する線分である分離経路を算出し、特徴量算出手段は、複数方向の分離経路の特徴量を算出し、選択手段は、特徴量に基づいて、画像の分離方向及び文字画像の状態を判別して分離経路を選択し、分離手段は、選択された分離経路により、画像を複数の部分画像へ分離し、再帰処理判断手段は、分離された画像の文字画像の状態に基づいて、再帰的に処理を行うか否かを判断し、経路算出手段は、再帰処理判断手段によって再帰的に処理を行うと判断された場合に、分離手段によって分離された画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
画像内から対象とする領域を分離する技術がある。
これに関連する技術として、例えば、特許文献1には、文書画像の行と段の抽出機能を持つ文書画像認識装置に関し、横行と縦行が混在する文書画像の行・段の抽出を高速かつ高精度に行うことができるようにすることを目的とし、文書画像傾き検出部は、文書画像を参照して文字を構成する成分の集合を抽出し、これをもとに横及び縦の行候補を抽出し、それらの各々の行候補に対して信頼度を推定し、推定した行信頼度に基づいて確度の高い行の集合を抽出し、その結果をもとに確度の高い行の集合の文字成分の配置を用いて傾きを推定し、レイアウト解析部は、文書画像を構成する基礎要素の集合から行方向の確定した行集合を抽出し、行どうしの関連付けによる段抽出と段を制約とした行抽出とを相互に実行して行と段を抽出することが開示されている。
【0003】
また、例えば、特許文献2には、文書画像の傾き検出及び行と段の抽出機能を持つ文書画像認識装置に関し、横行と縦行が混在する文書画像の傾き検出及び行・段の抽出を高速かつ高精度に行うことができるようにすることを目的とし、文書画像傾き検出部は、文書画像を参照して文字を構成する成分の集合を抽出し、これをもとに横及び縦の行候補を抽出し、それらの各々の行候補に対して信頼度を推定し、推定した行信頼度に基づいて確度の高い行の集合を抽出する。その結果をもとに確度の高い行の集合の文字成分の配置を用いて傾きを推定する。レイアウト解析部は、文書画像を構成する基礎要素の集合から行方向の確定した行集合を抽出し、行どうしの関連付けによる段抽出と段を制約とした行抽出とを相互に実行して行と段を抽出することが開示されている。
【0004】
また、例えば、特許文献3には、複雑なレイアウトの文書画像から適切な行又はテキストブロックを抽出することを課題とし、文書画像における空白領域を仮想的なセパレータとして抽出し(ステップS1)、仮想的なセパレータを越えたテキスト要素の統合を禁止するもとで、複数のテキスト要素を統合して統合テキスト要素として抽出し(ステップS2)、これにより、文書画像レイアウトに応じた統合テキスト要素が抽出され、また、抽出した統合テキスト要素が行又はテキストブロックとして適合か不適合かを検証し(ステップS3)、その検証の結果不適合の場合には空白領域の大きさを制御パラメータにより変化させ、不適合とされた統合テキスト要素に対して変化させた空白領域に基づいた仮想的なセパレータを再抽出しステップS2の処理を行い、このような処理を再帰的に繰り返すことで、複雑なレイアウトの文書画像においても適切な行又はテキストブロックが抽出されることが開示されている。
【0005】
また、例えば、特許文献4には、文書内における縦書き文章領域や横書き文章領域の段組構成、文章領域内の各文字サイズ等を考慮することなく、局所的な画素の配置情報に基づいて領域の抽出処理を行うと、結果として得られる領域情報は必ずしも文書の論理構造を反映するものとはならないことを課題とし、画像入力部から入力された文書画像を分割して文章領域を抽出する画像処理装置において、入力文書画像に含まれる文章が縦書きであるか又は横書きであるかを文章方向算定部で算定し、この文章方向算定部による算定結果を参照して分割境界設定部で入力文書画像を分割する境界を設定し、そして、領域分割部において、分割境界設定部で設定された境界にて入力文書画像を分割することが開示されている。
【0006】
また、例えば、特許文献5には、文字行方向が不明で、文字の大きさやピッチ、文字行方向の異なる文字行や写真等の領域が混在する文書からの文字行抽出を可能にすることを課題とし、文字行候補生成部で、画像データより生成した画素連結矩形を接続し、文字行候補を生成し、文字矩形生成部で、生成された文字行候補を非分割領域として、主方向、副方向に適宜分割して、副方向の文字行を抽出するとともに、文字行候補内で基本矩形の統合を行うことにより文字矩形を生成し、文字行候補分割部で、文字矩形サイズの平均値、分散値から文字行候補の構成を判定し、構成に応じて文字行候補を分割し、文字矩形接続部で、分割された文字行候補の領域内において文字矩形を接続することにより文字行を抽出することが開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−217833号公報
【特許文献2】特開平11−219407号公報
【特許文献3】特開2005−250816号公報
【特許文献4】特開2000−090194号公報
【特許文献5】特開平10−031716号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、投影分布又は連結成分を用いた技術では、文字列どうしの境界が不明確となる画像であって複数の段落を含む画像を対象とした場合に、文字画像が分離できなくなってしまうことを抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0009】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、少なくとも文字画像を含む画像を受け付ける受付手段と、前記受付手段によって受け付けられた画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する経路算出手段と、前記経路算出手段によって算出された複数方向の分離経路の特徴量を算出する特徴量算出手段と、前記特徴量算出手段によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別し、該判別の結果によって前記複数方向の分離経路のうちの分離経路を選択する選択手段と、前記選択手段によって選択された分離経路により、前記画像を複数の部分画像へ分離する分離手段と、前記分離手段によって分離された画像の前記文字画像の状態に基づいて、再帰的に処理を行うか否かを判断する再帰処理判断手段を具備し、前記経路算出手段は、前記再帰処理判断手段によって再帰的に処理を行うと判断された場合に、前記分離手段によって分離された画像に対して、該画像内の文字画像を分離する線分である分離経路を算出することを特徴とする画像処理装置である。
【0010】
請求項2の発明は、再帰的処理を行わないで、画像を分離する第2の分離手段と、前記受付手段が受け付けた画像又は前記分離手段によって分離された部分画像の縦方向の長さと横方向の長さの比率と予め定められた値との比較、又は前記再帰処理判断手段によって再帰的に処理を行うと判断された場合の再帰の深さに基づいて、該画像又は該部分画像を対象として、前記第2の分離手段又は前記経路算出手段に処理を行わせるか否かを判断する判断手段をさらに具備することを特徴とする請求項1に記載の画像処理装置である。
【0011】
請求項3の発明は、前記選択手段は、前記文字画像の状態が多段落である場合は、前記経路算出手段によって算出された分離経路を間引くことを特徴とする請求項1又は2に記載の画像処理装置である。
【0012】
請求項4の発明は、コンピュータを、少なくとも文字画像を含む画像を受け付ける受付手段と、前記受付手段によって受け付けられた画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する経路算出手段と、前記経路算出手段によって算出された複数方向の分離経路の特徴量を算出する特徴量算出手段と、前記特徴量算出手段によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別し、該判別の結果によって前記複数方向の分離経路のうちの分離経路を選択する選択手段と、前記選択手段によって選択された分離経路により、前記画像を複数の部分画像へ分離する分離手段と、前記分離手段によって分離された画像の前記文字画像の状態に基づいて、再帰的に処理を行うか否かを判断する再帰処理判断手段として機能させ、前記経路算出手段は、前記再帰処理判断手段によって再帰的に処理を行うと判断された場合に、前記分離手段によって分離された画像に対して、該画像内の文字画像を分離する線分である分離経路を算出することを特徴とする画像処理プログラムである。
【発明の効果】
【0013】
請求項1の画像処理装置によれば、投影分布又は連結成分を用いた技術では、文字列どうしの境界が不明確となる画像であって複数の段落を含む画像を対象とした場合に、文字画像が分離できなくなってしまうことを抑制することができる。
【0014】
請求項2の画像処理装置によれば、再帰的な処理を行う必要がない画像に対して、再帰的な処理をしてしまうことを抑制することができる。
【0015】
請求項3の画像処理装置によれば、本構成を有していない場合に比較して、余分な分離経路に対する処理を減少させることができる。
【0016】
請求項4の画像処理プログラムによれば、投影分布又は連結成分を用いた技術では、文字列どうしの境界が不明確となる画像であって複数の段落を含む画像を対象とした場合に、文字画像が分離できなくなってしまうことを抑制することができる。
【図面の簡単な説明】
【0017】
【図1】画像を領域に分離する経路の例を示す説明図である。
【図2】異なる始点をもつ複数の経路が、同じ終点をもつ例を示す説明図である。
【図3】対象とする画像の例を示す説明図である。
【図4】上方向への最短経路の例を示す説明図である。
【図5】下方向への最短経路の例を示す説明図である。
【図6】1回の往復によって得られる最短経路の例を示す説明図である。
【図7】2回の往復によって得られる最短経路の例を示す説明図である。
【図8】3回の往復によって得られる最短経路の例を示す説明図である。
【図9】収束した場合の最短経路の例を示す説明図である。
【図10】最短経路によって画像を領域に分離した例を示す説明図である。
【図11】<A>の実施の形態の基本構成例についての概念的なモジュール構成図である。
【図12】第A−1の実施の形態の構成例についての概念的なモジュール構成図である。
【図13】第A−2の実施の形態の構成例についての概念的なモジュール構成図である。
【図14】第A−3の実施の形態の構成例についての概念的なモジュール構成図である。
【図15】第A−4の実施の形態の構成例についての概念的なモジュール構成図である。
【図16】第A−5の実施の形態の構成例についての概念的なモジュール構成図である。
【図17】経路抽出モジュールを組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。
【図18】経路抽出モジュールを組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。
【図19】経路抽出モジュールを組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。
【図20】経路抽出モジュールを組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。
【図21】経路情報の算出例を示す説明図である。
【図22】経路情報の算出例を示す説明図である。
【図23】経路情報を算出するために必要となる情報の例を示す説明図である。
【図24】対象とする画像の例を示す説明図である。
【図25】対象とする画像を分離した例を示す説明図である。
【図26】対象とする画像の投影情報の例を示す説明図である。
【図27】分離経路の算出処理の例を示す説明図である。
【図28】分離経路の結合処理の例を示す説明図である。
【図29】分離経路の結合処理の例を示す説明図である。
【図30】特徴量の例を示す説明図である。
【図31】第B−1の実施の形態の構成例についての概念的なモジュール構成図である。
【図32】第B−2の実施の形態の構成例についての概念的なモジュール構成図である。
【図33】方向判別の処理の例を示すフローチャートである。
【図34】第B−3の実施の形態の構成例についての概念的なモジュール構成図である。
【図35】投影分布の例を示す説明図である。
【図36】水平、垂直方向の分離経路の例を示す説明図である。
【図37】水平、垂直方向の分離経路の例を示す説明図である。
【図38】水平、垂直方向の分離経路の例を示す説明図である。
【図39】本実施の形態による処理例を示す説明図である。
【図40】本実施の形態による処理例を示す説明図である。
【図41】本実施の形態による処理例を示す説明図である。
【図42】第C−1の実施の形態の構成例についての概念的なモジュール構成図である。
【図43】特徴量の例を示す説明図である。
【図44】第C−2の実施の形態の構成例についての概念的なモジュール構成図である。
【図45】分離経路による画像分離モジュールの構成例についての概念的なモジュール構成図である。
【図46】再帰処理モジュールによる処理例を示すフローチャートである。
【図47】主分離方向判別モジュールによる処理例を示すフローチャートである。
【図48】主分離経路選択モジュールによる処理例(1)を示すフローチャートである。
【図49】主分離経路選択モジュールによる処理例(2)を示すフローチャートである。
【図50】主分離経路選択モジュールによる処理例(3)を示すフローチャートである。
【図51】主分離経路選択モジュールによる処理例(4)を示すフローチャートである。
【図52】主分離経路選択モジュールによる処理例(5)を示すフローチャートである。
【図53】主分離経路選択モジュールによる処理例(6)を示すフローチャートである。
【図54】第C−3の実施の形態の構成例についての概念的なモジュール構成図である。
【図55】解析器選択モジュールによる処理例を示すフローチャートである。
【図56】再帰処理モジュールによる処理例を示すフローチャートである。
【図57】解析器選択モジュールによる多段落判別の処理例(1)を示すフローチャートである。
【図58】解析器選択モジュールによる多段落判別の処理例(2)を示すフローチャートである。
【図59】第C−4の実施の形態の構成例についての概念的なモジュール構成図である。
【図60】第C−5の実施の形態の構成例についての概念的なモジュール構成図である。
【図61】多段落であるにもかかわらず単段落として処理してしまった場合の処理結果の例を示す説明図である。
【図62】第C−1〜第C−5の実施の形態による処理結果の例を示す説明図である。
【図63】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0018】
<A>、<B>、<C>に分けて説明する。<A>に記載のものは、<B>に記載のものを実現するために前提となる技術の一部の説明である。<A>、<B>に記載のものは、<C>に記載のものを実現するために前提となる技術の一部の説明である。
【0019】
<A>に記載のものは、文字列画像内から文字を分離するためのものであり、<B>に記載のものは、1つの段落の画像内から文字列を分離するためのものであり、<C>に記載のものは、複数の段落の画像内から文字列を分離するためのものである。
【0020】
<A>前提となる技術
まず、<A>に示す実施の形態の概略を説明する。
本実施の形態は、画像内から領域を分離する(切り出す、抽出等ともいわれる)画像処理装置に関するものである。領域を分離するためには、その領域を囲む外郭を決定する必要がある。そこで、領域を囲む外郭として最短経路を採用する。この最短経路によって画像内から領域を分離しようとするものである。
ここで、最短経路とは、対象とする画像上のピクセル(の位置)の1次元配列である線パタンであり、経路上のピクセルの輝度値の累積値をコストとして、ある範囲においてコスト最小又はコスト最大の経路を指す。特に本実施の形態において最短経路とは、図1に例示するように、画像100に対して領域を分割するための外郭にあたり、画像100の下端のあるピクセルを始点111として、画像100の上端にあるピクセルであって、終点候補のセットとしての予め定められた終点候補120内において、経路上のピクセルの輝度値の累積値が最小又は最大となるように定めたピクセルを終点121とした経路である。また、始点111と終点候補120が定まると、移動範囲130が定まることになる。
なお、コスト最小又はコスト最大の用語を用いるが、必ずしも最小、最大である必要はない。ここでのコスト最小又はコスト最大とは、その経路を抽出するための判断条件であり、その経路のコスト(経路上のピクセルの輝度値の累積値)が他の経路のコストよりも小さい又は大きいことであればよい。したがって、最短経路という場合は、特に明記する場合以外は、比較した範囲内で経路のコストが最小又は最大である経路であることの他に、画像を分割する経路を抽出するという目的を達成するための判断条件としてであれば、コストが最小又は最大から2番目等を選択した場合の経路であってもよいし、コストが最小又は最大から1番目、2番目等の複数を選択した場合の経路であってもよい。
【0021】
次に、最短経路の収束を利用した分離経路の決定について説明する。
本実施の形態は、前述の最短経路について、始点の異なる複数の経路が同一の終点をもつ(以下、経路の収束、とよぶ)ことを利用する。この様子を図2の例に模式的に示す。図2は、異なる始点をもつ複数の経路が、同じ終点をもつ例を示す説明図である。つまり、画像200を対象として、始点211〜213の3つの始点から出発した最短経路が1つの終点221に到達していることを示しており、始点214〜218の5つの始点から出発した最短経路が1つの終点222に到達していることを示している。
以下、複数の単文字を含む文字列画像を受け付けて、単文字どうしを分離することを主に例示して説明する。
本実施の形態は、最短経路の情報に基づいて、文字列画像について、単文字どうしを分離する経路を算出する。なお、前述の先行技術文献に記載されている技術において、この処理の役割をもつ処理は、投影情報又は連結成分に基づく分離領域候補の抽出処理にあたる。
【0022】
以下、図3〜図10に示す例を用いて、経路の収束を利用した分離経路の決定について説明する。
図3は、対象とする画像の例を示す説明図である。画像300内には、「S」の文字画像310、「T」の文字画像320、「U」の文字画像330を含んでおり、これらは写像をとると互いに重なっているパタンである。セルはピクセルを表し、セルの値はピクセルの輝度値を表す。さらに、図3の例について、最短経路を算出したものを図4、図5の例に示す。セルの数値について、1は経路があることを、0は経路がないことを表している。図4の例は、下端のすべてのピクセルを始点として上端にあるピクセルを終点とする、上方向の最短経路を表す。図5の例は、上端のすべてのピクセルを始点として下端にあるピクセルを終点とする、下方向の最短経路を表す。それぞれ、経路が収束していることが分かる。つまり、始点の数よりも終点の数が少ないのであるから、始点の異なる複数の経路が同一の終点をもっている。
【0023】
ここで、図4の例のすべての終点を始点とした場合に、下方向への最短経路を算出する処理を行う。この処理結果を図6の例に示す。このように、片方の方向のすべての経路の終点を、もう片方の方向の始点として経路を算出する作業(以下、往復、とする)により、さらに経路が収束する。つまり、図6は、1回の往復(上方向から下方向)によって得られる最短経路の例を示す説明図である。
以下、上方向を開始の方向として、2回の往復により得られた最短経路の例を図7に、3回の往復により得られた最短経路の例を図8に、往復により経路の始点終点に変化がなくなった状態で得られる最短経路の例を図9に示す。ここで、経路の始点終点に変化がなくなった状態とは、上方向の経路と下方向の経路が合致することをいい、合致とは、経路が一致することをいい、その方向は問わない。つまり、一方の始点は他方の終点となり、一方の終点は他方の始点となることである。
また、図9に例示する最短経路を分離経路として、図3に例示する画像を分離する様子を図10の例に模式的に表す。つまり、画像300は、分離経路1010、分離経路1020、分離経路1030、分離経路1040によって、文字画像310(文字「S」)と文字画像320(文字「T」)と文字画像330(文字「U」)との領域に分離されていることが分かる。
本実施の形態は、このように、経路の収束に基づき、分離経路の絞り込みを行うものである。
【0024】
なお、本実施の形態において、往復の処理は、経路の始点と終点のペアのセットを利用することで、経路の始点と終点の中間のピクセルの位置等を記憶する必要がなくなり、処理対象とするデータ量も少なくなる。また、図9の例に示すような、完全に収束した経路は、経路の始点と終点のペアのセットだけを利用して、中間のピクセルの位置等がなくても算出され得るものである。
往復回数を指定する経路の算出(つまり、必ずしも完全な収束とはならない算出)は、往復回数に対して、分離経路数は単調減少であることを利用して、本実施の形態全体が要求に合わせて分離の度合いを調節するようにしてもよい。
【0025】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
<本実施の形態の基本構成例>
まず、図11に、本実施の形態(画像処理装置である経路抽出装置)の基本構成例についての概念的なモジュール構成図を示す。この基本構成例は、以下の処理を行う。
(1)経路情報算出処理:経路要求を受け取ると、対象画像を解析し、経路情報を算出する処理である。この処理は、次の2種類がある。
(ア)順方向の経路情報算出(順方向経路情報算出モジュール1110による処理)
(イ)逆方向の経路情報算出(逆方向経路情報算出モジュール1130による処理)
(2)経路選択(経路選択モジュール1120による処理):経路情報を参照し、経路の収束に基づいて経路を選択する処理である。
【0026】
(1)経路情報算出処理は、順方向経路情報算出モジュール1110、逆方向経路情報算出モジュール1130によって行われる。順方向経路情報算出モジュール1110、逆方向経路情報算出モジュール1130は、経路選択モジュール1120と接続されており、画像1101を解析し、前述した最短経路の情報(経路情報1111、1131)を算出する処理を行う。ここで、順方向とは出力する経路の方向であり、逆方向とは順方向と逆の方向である。例えば、図9の例に示す経路は、上方向が順方向、下方向が逆方向となる。
【0027】
(2)経路選択は、経路選択モジュール1120によって行われる。経路選択モジュール1120は、順方向経路情報算出モジュール1110、逆方向経路情報算出モジュール1130と接続されており、順方向経路情報算出モジュール1110、逆方向経路情報算出モジュール1130が出力する順方向、逆方向の経路情報(経路情報1111、1131)を得る。さらに、得られた経路情報について、経路の収束を利用した経路の選択を行い、分離経路1199を出力する。
図11の例において、破線で示す情報(開始要求1102、経路要求1121、経路要求1122)は必ずしも存在しない処理を表す。具体的に、開始要求は、経路選択の往復回数、初期方向、初期始点を指定する情報である。また、経路要求は、順方向経路情報算出モジュール1110、逆方向経路情報算出モジュール1130が経路情報を算出するための経路の始点を指定する情報である。
【0028】
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
また、対象とする画像として、1行の横書きの複数文字の画像とした例を主に説明する。
【0029】
<実施の形態の分類>
以降、実施の形態の例は、以下の項目によって分類している。
(1)往復回数
(2)経路情報の算出のタイミング
(3)絞り込む情報
(4)絞り込みの調節
つまり、表1の例に示すように分類している。
【表1】

【0030】
(1)往復回数は、前述した、往復を行う回数による分類である。往復を行う回数に対して、分離経路の数は単調減少である。第A−1の実施の形態は、往復回数が1回(順方向、逆方向ともに1回)のものであり、他の実施の形態は、往復回数が複数の回数のものである。
(2)経路情報の算出のタイミングは、経路情報の算出について、予めすべての経路情報を算出するか(以下、予め一括して算出という)、又は、逐次必要な経路情報を算出する(以下、逐次算出という)か、による分類である。ワークメモリと、処理時間のトレードオフに関係する。第A−2の実施の形態、第A−3の実施の形態は、予め一括して算出するものであり、第A−4の実施の形態、第A−5の実施の形態は、逐次算出するものである。
【0031】
(3)絞り込む情報は、最短経路の収束を利用した経路の絞り込みを行う際に、経路そのもの(始点、終点の位置の他にその中間にある経路上のピクセルの位置)を参照するか、又は、始点(若しくは、始点と終点のペア)を参照するか、による分類である。実装においては、ワークメモリ、処理時間の観から、主に後者が選択される。第A−2の実施の形態、第A−4の実施の形態は、経路そのものを参照するものであり、第A−3の実施の形態、第A−5の実施の形態は、始点を参照するものである。
(4)絞り込みの調節は、予め定められた往復回数による絞り込みの結果を分離経路とするか、又は、完全な収束の結果を分離経路とするか、による分類である。両者では、処理が異なる。また、予め一括して経路情報を算出する場合(第A−2の実施の形態、第A−3の実施の形態)において、完全な収束の結果を分離経路とする例を示す。なお、逐次算出によって、完全な収束の結果を得る実施の形態の例もあるが、これは、往復回数を無限大として、終了条件を付けるものであり、往復回数を指定するものと同等であるため、実施の形態を示さない。
【0032】
<第A−1の実施の形態>
図12は、第A−1の実施の形態の構成例についての概念的なモジュール構成図である。第A−1の実施の形態の例は、1回の往復により、経路を絞り込むものであり、順方向経路算出モジュール1210、逆方向経路終点算出モジュール1220を有しており、順方向経路算出モジュール1210と逆方向経路終点算出モジュール1220は、接続されている。
【0033】
第A−1の実施の形態は、以下の処理を行う。
<<step1.>>
逆方向経路算出モジュール1220は、画像1201と初期始点1202を受け付け、画像1201を解析することによって、初期始点1202に対応する最短経路の終点1221を算出し、順方向経路算出モジュール1210へ出力する。
<<step2.>>
順方向経路算出モジュール1210は、画像1201を解析することによって、受け取った終点1221を始点として、その始点に対応する分離経路1299を算出し、出力し、終了する。
なお、順方向経路算出モジュール1210は、図11の例に示した経路選択モジュール1120の役割も有していることになる。
【0034】
<第A−2の実施の形態>
第A−2の実施の形態以降は、複数回の往復により、経路を絞り込む構成である。
図13は、第A−2の実施の形態の構成例についての概念的なモジュール構成図である。第A−2の実施の形態の例は、予め一括して経路情報を算出し、これを絞り込むものであり、順方向経路算出モジュール1310、経路選択モジュール1320、逆方向経路始点終点表算出モジュール1330を有している。特に、予め一括してすべての経路情報を算出し、これを絞り込む場合について説明する。なお、すべての経路とは、対象とする画像の上端又は下端のすべてのピクセルを始点とする場合のすべての経路である。
また、第A−2の実施の形態、第A−3の実施の形態は、始めの1回のみ経路情報を算出するため、処理時間の削減を図る場合に用いられるものである。
【0035】
第A−2の実施の形態は、以下の処理を行う。
<<step1.>>
逆方向経路始点終点表算出モジュール1330は、経路選択モジュール1320と接続されており、画像1301を解析することによって、始点終点表1331を算出し、経路選択モジュール1320へ出力する。
そして、順方向経路算出モジュール1310は、経路選択モジュール1320と接続されており、画像1301を解析することによって、すべての始点の経路1311を算出し、経路選択モジュール1320へ出力する。
<<step2.>>
経路選択モジュール1320は、順方向経路算出モジュール1310、逆方向経路始点終点表算出モジュール1330と接続されており、順方向の経路1311と逆方向の始点終点表1331に基づいて、経路を絞り込み、分離経路1399として出力し、終了する。
なお、始点終点表については後述する。
【0036】
<第A−3の実施の形態>
図14は、第A−3の実施の形態の構成例についての概念的なモジュール構成図である。第A−3の実施の形態の例は、始点終点表と経路作成情報のみを算出し、始点を絞り込んだのち、経路を算出するものであり、順方向経路始点終点表算出モジュール1410、始点選択モジュール1420、逆方向経路始点終点表算出モジュール1430、順方向経路作成モジュール1440を有している。
【0037】
第A−3の実施の形態は、以下の処理を行う。
<<step1.>>
逆方向経路始点終点表算出モジュール1430は、始点選択モジュール1420と接続されており、画像1401を解析することによって、始点終点表1431を算出し、始点選択モジュール1420へ出力する。
そして、順方向経路始点終点表算出モジュール1410は、始点選択モジュール1420、順方向経路作成モジュール1440と接続されており、画像1401を解析することによって、始点終点表1411を算出し、始点選択モジュール1420へ出力する。さらに、経路作成情報1412を算出し、順方向経路作成モジュール1440へ出力する。
<<step2.>>
始点選択モジュール1420は、順方向経路始点終点表算出モジュール1410、逆方向経路始点終点表算出モジュール1430、順方向経路作成モジュール1440と接続されており、順方向の経路の始点終点表1411と、逆方向の経路の始点終点表1431に基づいて、経路の始点1421の絞り込みを行い、順方向経路作成モジュール1440へ出力する。
<<step3.>>
順方向経路作成モジュール1440は、順方向経路始点終点表算出モジュール1410、始点選択モジュール1420と接続されており、順方向経路始点終点表算出モジュール1410から受け取った経路作成情報1412に基づいて、始点選択モジュール1420から受け取った始点1421の経路を作成し、分離経路1499として出力する。
【0038】
ここで、始点終点表について説明する。
始点終点表とは、経路の始点と終点のペアを保持した情報である。第A−2の実施の形態(図13)、第A−3の実施の形態(図14)における経路の絞り込み処理においては、経路の始点と終点のペアの情報を利用する。以下、この処理を説明する。
いま、順方向の始点終点表を数1とする。
【数1】

また、逆方向の始点終点表をT’とする。数2は、位置xを始点とする経路の終点位置を表す。
【数2】

始点終点表は、すべての始点の経路の始点と終点のペアの配列であり、wは対象とする画像の横幅(文字列方向の幅)である。
なお、第A−2の実施の形態(図13)の経路選択モジュール1320は、受け取った経路1311からTを算出し、以下同様の処理を行うものとする。
【0039】
ある経路を数3とする。
【数3】

高さyにおける経路の位置を数4とする。
【数4】

例えば、上方向の経路の始点は数5であり、終点は数6である。
【数5】

【数6】

なお、hは対象とする画像の縦幅(文字列方向と垂直な方向の幅)である。順方向が上方向のとき、経路選択モジュール1320が受け付けた経路1311のセットを数7として、すべての数8について、数9とすることで、受け付けた経路からTを算出する。また、順方向が下方向であれば、数10とする。
【数7】

【数8】

【数9】

【数10】

また、出力する経路の方向である順方向と、往復回数によって、初めに参照する始点終点表の方向(初期方向とする)が定まる。具体的には、往復回数が奇数であれば、初期方向は逆方向であり、往復回数が偶数であれば、初期方向は順方向である。
【0040】
経路の絞り込み処理は、往復回数を指定する経路の絞り込みと、完全な収束による経路の絞り込みで、処理が異なる。以下、それぞれについて説明する。
まず、往復回数を指定する経路(始点)の絞り込み処理は、数11にしたがう。
【数11】

【0041】
次に、完全な収束による経路(始点)の絞り込み処理は、数12にしたがう。
【数12】

以上のようにして、始点のセットSを得る。なお、第A−2の実施の形態(図13)の経路選択モジュール1320は、数12の処理の後に、数13としてP’を出力する。
【数13】

なお、順方向が上方向であればy=0であり、下方向であればy=h−1である。
数12内の3行目の式は、ある方向の始点(A)に対する終点(B)を、逆方向の始点(B)とした場合に、その結果である経路の終点が(A)となることを示している。
【0042】
<第A−4の実施の形態>
複数回の往復により、経路を絞り込む構成のうち、逐次、必要な経路情報を算出する構成を第A−4の実施の形態(図15)、第A−5の実施の形態(図16)に示す。第A−4の実施の形態は逐次経路を算出する構成であり、第A−5の実施の形態は逐次始点を算出し、最後に経路を算出する構成である。
第A−4の実施の形態、第A−5の実施の形態に示す構成は、逐次、必要な経路情報を算出するため、ワークメモリの削減を図る場合に用いられるものである。
第A−4の実施の形態は、順方向経路算出モジュール1510、逐次経路選択モジュール1520、逆方向経路終点算出モジュール1530を有している。
なお、開始要求(図15の例に示す1502、図16の例に示す1602)とは、初期の始点のセットである。
【0043】
第A−4の実施の形態は、以下の処理を行う。
<<step1.>>
往復回数をRとする。
逐次経路選択モジュール1520は、順方向経路算出モジュール1510、逆方向経路終点算出モジュール1530と接続されており、以下の処理を行う。
Rが偶数ならば、順方向経路算出モジュール1510に始点1521を出力し、step2.へ進む。
そうでなければ、R←R−1として、逆方向経路終点算出モジュール1530に始点1522を出力し、step4.へ進む。
<<step2.>>
順方向経路算出モジュール1510は、逐次経路選択モジュール1520と接続されており、画像1501を解析することによって、受け付けたすべての始点1521の経路1511を算出し、逐次経路選択モジュール1520へ出力する。
【0044】
<<step3.>>
逐次経路選択モジュール1520は、R=0であれば、受け付けた経路1511を分離経路1599として出力し、終了する。
そうでなければ、R←R−2として、受け付けた経路1511の始点を終点として、逆方向経路終点算出モジュール1530に始点1522を出力する。
<<step4.>>
逆方向経路終点算出モジュール1530は、逐次経路選択モジュール1520と接続されており、画像1501を解析することによって、受け付けたすべての始点1522の経路の終点1531を算出し、逐次経路選択モジュール1520へ出力する。
<<step5.>>
逐次経路選択モジュール1520は、受け付けた終点1531を始点として、順方向経路算出モジュール1510に出力し、step2.へ進む。
【0045】
<第A−5の実施の形態>
図16は、第A−5の実施の形態の構成例についての概念的なモジュール構成図である。第A−5の実施の形態は、順方向経路終点算出モジュール1610、逐次始点選択モジュール1620、逆方向経路終点算出モジュール1630、順方向経路算出モジュール1640を有している。
【0046】
第A−5の実施の形態は、以下の処理を行う。
<<step1.>>
往復回数をRとする。
逐次始点選択モジュール1620は順方向経路終点算出モジュール1610、逆方向経路終点算出モジュール1630、順方向経路算出モジュール1640と接続されており、以下の処理を行う。
Rが偶数ならば、順方向経路終点算出モジュール1610に始点1621を出力し、step2.へ進む。
そうでなければ、R←R−1として、逆方向経路終点算出モジュール1630に始点1622を出力し、step4.へ進む。
<<step2.>>
順方向経路終点算出モジュール1610は、逐次始点選択モジュール1620と接続されており、画像1601を解析することによって、受け付けたすべての始点1621の経路の終点1611を算出し、逐次始点選択モジュール1620へ出力する。
【0047】
<<step3.>>
逐次始点選択モジュール1620は、R=0であれば、受け付けた終点1611を始点1623として順方向経路算出モジュール1640へ出力し、step6.へ進む。
そうでなければ、R←R−2として、受け付けた経路の終点1611を始点として、逆方向経路終点算出モジュール1630に始点1622を出力する。
<<step4.>>
逆方向経路終点算出モジュール1630は、逐次始点選択モジュール1620と接続されており、画像1601を解析することによって、受け付けたすべての始点1622の経路の終点1631を算出し、逐次始点選択モジュール1620へ出力する。
<<step5.>>
逐次始点選択モジュール1620は、受け付けた終点1631を始点1621として、順方向経路終点算出モジュール1610に出力し、step2.へ進む。
<<step6.>>
順方向経路算出モジュール1640は、逐次始点選択モジュール1620と接続されており、受け付けたすべての始点1623の経路を作成し、分離経路1699として出力し、終了する。
【0048】
<部分画像を出力する実施の形態>
前述の実施の形態により算出した分離経路により、画像分離を行う構成を図17、図18、図19、図20の例に示す。これらの構成は、文字列画像から単文字どうしを分離し、単文字画像として出力しようとする構成である。図17、図18、図19、図20において、経路抽出モジュールとは、第A−1の実施の形態(図12)、第A−2の実施の形態(図13)、第A−3の実施の形態(図14)、第A−4の実施の形態(図15)、第A−5の実施の形態(図16)の構成である。そして、この出力した単文字画像を、例えば文字画像認識装置等によって処理させる。
【0049】
図17は、経路抽出モジュール1720を組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。この実施の形態は、分離経路によって、画像を分離し、部分画像を出力するものであり、画像分離モジュール1710、経路抽出モジュール1720を有している。
画像分離モジュール1710は、経路抽出モジュール1720と接続されており、文字列画像である画像1701を受け付け、その画像1701を経路抽出モジュール1720から受け取った分離経路1721にしたがって、単文字画像の領域に分離して、部分画像1799として出力する。
【0050】
図18は、経路抽出モジュール1830を組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。この実施の形態は、画像分離モジュール1810、画像分離モジュール1820、経路抽出モジュール1830を有している。
画像分離モジュール1810は、画像分離モジュール1820、経路抽出モジュール1830と接続されており、経路抽出モジュール1830の前処理として、分離候補領域抽出を行うものである。例えば、画像1801から文字画像だけを部分画像1811として取り出すものである。また、投影情報等を利用する従来技術で分離可能な単文字画像の分離を行い、分離できなかったもの(部分画像1811)を経路抽出モジュール1830に渡す。
画像分離モジュール1820は、画像分離モジュール1810、経路抽出モジュール1830と接続されており、画像分離モジュール1810から受け取った部分画像1811を経路抽出モジュール1830から受け取った分離経路1831にしたがって、単文字画像の領域に分離して、部分画像1899として出力する。なお、画像分離モジュール1810も単文字画像を分離する場合は、画像分離モジュール1810から画像分離モジュール1820へ渡す部分画像1811には、画像分離モジュール1810が分離した領域の単文字画像(経路抽出モジュール1830による処理の対象外の画像)も含まれ、それはそのまま部分画像1899として出力する。
【0051】
図19は、経路抽出モジュール1930を組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。この実施の形態は、画像分離モジュール1910、経路判定モジュール1920、経路抽出モジュール1930を有している。
経路判定モジュール1920は、画像分離モジュール1910、経路抽出モジュール1930と接続されており、経路抽出モジュール1930の出力する分離経路1931について、その経路によって正しい分離ができるか否かを判別する処理を行う。複数の分離経路間の出現間隔が他の分離経路間の出現間隔と比べて狭い場合(例えば、漢字構成としての偏、旁等)など、意味のない分離経路を棄却するものである。その判別の際に、画像1901を利用してもよい。
画像分離モジュール1910は、経路判定モジュール1920と接続されており、画像1901を経路判定モジュール1920から受け取った分離経路1921にしたがって、単文字画像の領域に分離して、部分画像1999として出力する。
【0052】
図20は、経路抽出モジュール2040を組み込んだ画像処理装置の構成例についての概念的なモジュール構成図である。この実施の形態は、画像分離モジュール2010、画像分離モジュール2020、経路判定モジュール2030、経路抽出モジュール2040を有している。これは、図18、図19の両者の例を組み合わせた構成である。
画像分離モジュール2010は、画像分離モジュール2020、経路判定モジュール2030、経路抽出モジュール2040と接続されており、図18の例に示した画像分離モジュール1810と同等の処理を行う。
経路判定モジュール2030は、画像分離モジュール2010、画像分離モジュール2020、経路抽出モジュール2040と接続されており、図19の例に示した経路判定モジュール1920と同等の処理を行う。
画像分離モジュール2020は、画像分離モジュール2010、経路判定モジュール2030と接続されており、図19の例に示した画像分離モジュール1910と同等の処理を行う。ただし、対象とする画像は画像分離モジュール2010から受け取った部分画像2011である。
【0053】
前述の実施の形態内で経路を算出する処理(例えば、第A−1の実施の形態(図12)内の順方向経路算出モジュール1210、逆方向経路終点算出モジュール1220等が行う処理)について、具体的に示した実施例を以下に説明する。
図1の例に示す最短経路について、図21の例に示す最短経路を用いて、始点の異なる複数の最短経路情報を同時に算出する実施例を示す。なお、最短経路の算出法は、Dijkstra法など、いくつか選択肢がある。
図21の例に示す最短経路について説明する。
あるピクセルを親として、終点方向(図21では上方向)に隣り合うピクセル、及び、終点方向とは斜め45度に存在するピクセルの3つのピクセルを子とする木構造を対象とする。この構造を繰り返し、図21の例に示すように、画像2100の端部のあるピクセル(始点2111)を根として、もう片方の端部(終点2121等)を葉として、画像高さが木の高さとなるような木を抽出する。
本実施の形態における最短経路とは、前述の木について、根から葉へ向かうすべての経路のうち経路上のピクセル(すなわち、節)の輝度値の累積値であるコストが最小又は最大である経路をさす。根が始点であり、また、葉が終点である。
【0054】
まず、基本的な最短経路の算出処理例を数14のアルゴリズムに示す。また、参考のため、図22の例に処理対象の位置関係を示す。
この実施例は後方帰納的な処理であり、図21の例に示す木の最短経路の探索法である。ただし、経路のコストは辺でなく節にある。<step2.画像解析>と、<step3.経路作成>とは、画像上の位置について処理を行う順序が逆であることに注意が必要である。この処理は、上方向の最短経路を算出する処理であるが、下方向はもちろんのこと、あらゆる方向に適用できることは明らかである。
なお、本処理は、「順方向経路算出」に相当する。また、step3.以降が、「順方向経路作成」に相当する。
【数14】

【0055】
また、経路の終点のみを出力する場合、p(h−1)を参照してもよいが、ワークメモリを省略するために、step3.以降を数15のアルゴリズムのようにしてもよい。なお、本処理は、「順方向経路終点算出」、「逆方向経路終点算出」に相当する。
【数15】

【0056】
また、経路の始点終点表を算出する場合も、同様に数16のアルゴリズムのようにしてもよい。なお、本処理は、「順方向経路始点終点表算出」、「逆方向経路始点終点表算出」に相当する。
【数16】

ただし、各符号等の意味は、数17に示す通りである。
【数17】

【0057】
また、前述の処理において、数18、数19の保持の方法に注意が必要である。
【数18】

【数19】

すなわち、数18、数19が保持する数値の個数は、画像サイズよりも小さな個数でよい。
具体的には、数18は経路のコストに関する情報であり、ラインバッファである。処理においては、直前のラインのみ参照できればよく、数18の保持部は2つのラインバッファでよい。また、数19は経路の移動に関する情報であるが、処理において、経路が存在しない領域が逐次判明する。この領域分、保持する領域を逐次削減してもよい。
さらに、始点が指定された場合、図23の例に示すように、前述の木構造を構成することから、最短経路を算出するために必要な情報は、画像サイズよりも小さいことがあり、数18、数19を保持する領域をさらに削減してもよい。なお、図23の例は、画像2300において、始点2311、始点2312とした場合、色付のピクセルは、解析において参照する必要があるピクセルであり、白色のピクセルは、解析において必ずしも参照する必要がないピクセルであることを示している。
【0058】
<実験結果A>
前述の実施の形態による実験結果を図24、図25、図26を用いて説明する。
図24は、対象とする画像(「Character」の文字画像)の例を示す説明図である。図25は、本実施の形態が対象とする画像を分離した例を示す説明図である。図26は、対象とする画像の投影情報の例を示す説明図である。
【0059】
これらについて、次の3つの観点から説明する。
(1)投影情報では分離できない文字画像間の間隙である領域であっても分離している。
対象画像内の“ter”の文字画像部分(図24の例参照)については、図26の例に示すように投影情報2600では分離困難な文字画像間の間隙である。つまり、従来技術で投影情報を利用して分離しようとしても、図26の例に示すように投影情報2600には明確な谷がないため分離することは困難である。
このような画像に対して、本実施の形態は、図25の例に示すように文字画像の周囲を通るような形状の分離経路を算出している。
(2)連結成分を分離している。
対象画像内の“har”、“act”及び“er”の文字画像部分(図24の例参照)について、隣り合う文字画像と連結している部分がある。
図25の例に示すように、本実施の形態により、連結する文字画像をも分離している。前述したように最短経路による画像分離の仕組みにより、最短経路が移動可能な範囲内でコスト最小又はコスト最大の分離経路を算出しているからである。
(3)多値画像に対応している。
図24の例に示す画像2400は多値画像である。前述の実施の形態による処理は、2値画像を含む、多値画像に対応するものである。これにより、例えば、2値化に伴う、受け付けた画像毎の閾値設定を行う必要がなくなる。
【0060】
なお、<A>に記載の発明は、以下のように捉えることができる。
(A1) 画像内から領域を分離するための第1の経路を示す情報である第1の経路情報を算出する第1の経路情報算出手段と、
前記第1の経路とは逆方向の経路であって、前記画像内から前記領域を分離するための第2の経路を示す情報である第2の経路情報を算出する第2の経路情報算出手段と、
前記第1の経路情報算出手段によって算出された第1の経路情報、前記第2の経路情報算出手段によって算出された第2の経路情報のいずれかを選択する経路選択手段
を具備することを特徴とする画像処理装置。
(A2) 前記第1の経路及び前記第2の経路は、該経路上の画素の輝度値の累積値が予め定めた条件を満たす場合の経路である
ことを特徴とする(A1)に記載の画像処理装置。
(A3) 前記第2の経路情報算出手段は、前記第1の経路情報算出手段によって算出された第1の経路情報に基づいて、前記第2の経路情報を算出し、
前記第1の経路情報算出手段は、2回目以降の処理においては、前記第2の経路情報算出手段によって算出された第2の経路情報に基づいて、前記第1の経路情報を算出する
ことを特徴とする(A1)又は(A2)に記載の画像処理装置。
(A4) 前記第1の経路情報算出手段による処理と前記第2の経路情報算出手段による処理は、該処理が予め定められた回数行われること、又は、前記第1の経路情報算出手段によって算出された第1の経路情報と前記第2の経路情報算出手段によって算出された第2の経路情報が合致すること、を終了の条件とする
ことを特徴とする(A3)に記載の画像処理装置。
【0061】
<B>
次に、<A>に示した技術を前提とした実施の形態を説明する。ただし、分離経路の特徴として、「特開平04−10089」に記載の技術に基づいて算出された分離経路を利用してもよい。
<B>の実施の形態の概要を説明する。本実施の形態では、投影分布又は連結成分を利用せず、分離経路を利用する。ここでの分離経路とは、前述した<A>のものと同等である。なお、<A>は、文字列の画像を受け付け、単文字又は準文字である部分画像を出力するための分離経路の算出に関するものであるが、<B>の実施の形態では、受け付けた文書の画像を、分離経路によって文字列である部分画像に分離して出力するものである。
【0062】
<B>の実施の形態における分離経路は、経路上のコスト(すなわち、画素の輝度値の累積値)を最小又は最大とするように算出される。これに伴い、投影分布に現れない文字列どうしの分離境界を特定し、文字間に生じている連結を分離して、文字列どうしの分離境界を特定する。
また、段落を構成する文字列の方向は未知であるとき、これを判別する必要がある。<B>の実施の形態では、複数方向の分離経路を比較することで、文字列の方向を判別する。
文書の画像について、前述の分離経路を算出したとき、以下のような性質がある。
(1)正しい方向の分離経路は、誤った方向の分離経路に対して、歪曲が小さい。
(2)分離経路による分離が行われない(分離経路の数が2以下)場合、単文字又は単文字列である。
【0063】
<B>に示す実施の形態は、画像内の文字の領域を分離する(以下、切り出しともいう)画像処理装置に関するものである。特に、文字認識技術の分野に利用される装置であり、対象とする文書の画像に含まれる文字列の方向を判別すること、文字列の画像を分離する装置に属する。
なお、以降の説明のため、文字認識の技術分野について補足する。文字認識における文字の分離技術を、便宜的に以下のように分類する。
(1)領域(文字領域、非文字領域)の属性判別及び分離
画像内の領域が文字領域であるか、文字ではない領域であるかを判別し、その領域を分離する。
(2)文字列領域の方向判別及び分離
画像(文字領域を含む)内から文字領域内の文字列の領域の方向(縦書き、横書き)を判別し、その文字列の領域を分離する。
(3)単文字領域の分離
画像(文字領域、文字列領域を含む)内から一文字ずつ分離する。
【0064】
<B>に示す実施の形態は、特に前記(2)に属するものである。
さらに、前記(2)には2つの技術がある。すなわち、以下のことである。
A)文字列の方向判別
B)文字列(領域)の分離
文字列の方向が未知の場合、前記(2)の性能は、すなわち、前記A),B)の直列の性能である。<B>に示す実施の形態は、A),B)を併合したものである。
また、分離経路を求める方向は、横方向(以下、水平方向ともいう。ただし、厳密な水平でなくてもよい)と縦方向(以下、垂直方向ともいう。ただし、厳密な垂直でなくてもよい)の2つとする。なお、分離経路とは、画像内の文字画像を分離する線分である。
【0065】
本実施の形態は、分離経路の特徴量に基づいて、諸々の判別を行う。以下、分離経路の特徴量について説明する。
分離経路の特徴量は、その本数、個々の位置と形状、経路上の画素の輝度値(以下、画素の輝度値を画素値ともいう)から算出される。これらを表2に例示する。また、対応する記号を定義する。ここで、iは経路の本数に関係するインデックスである。
【表2】

【0066】
以下、表2に例示する特徴量についてそれぞれ説明する。
まず、特徴量「Num」について、これは、分離経路の本数そのものを指す。
次に、特徴量「Curl」について、これは、分離経路iの形状の歪曲の度合いを表す値である。ただし、i≦Numである。ここで、歪曲とは、分離経路iの始点と終点から導かれる直線と、分離経路iとの差分値である。前者(分離経路iの始点と終点から導かれる直線)をf(x)、後者(分離経路i)をp(x)とすれば、歪曲とは、Σx|f(x)−p(x)|dx、Max(|f(x)−p(x)|)、又は、Σx(f(x)−p(x))dx等となる。
次に、特徴量「Thick」について、これは、分離経路iの太さを表す。文字列分離の目的においては、隣接する文字列どうしの間隙に相当する。ただし、i≦Numである。
次に、特徴量「Cost」について、これは、分離経路の算出により定義されるコストそのものである。又は、別途、分離経路i上の画素値の累積値を求めてもよい。ただし、i≦Numである。
さらに、前記の特徴量について、方向(水平、垂直)毎に分離経路の長さが異なるため、前記特徴量を分離経路の長さで正規化するようにしてもよい。
<B>に示す実施の形態では、「経路の特徴量算出処理」において、前記特徴量を算出するものとする。
【0067】
<B−1.1 分離経路の算出における、予め定められた区間の解析単位について>
図27を用いて説明する。図27は、分離経路の算出処理の例を示す説明図である。
<A>に示した分離経路の算出、又は「特開平04−10089」に記載の分離経路の算出は、分離経路の移動範囲内において、Costが最小又は最大となる経路を算出するものである。このとき、分離経路の長さが長いほど、分離経路の移動範囲は広くなる。分離経路の移動範囲が必要以上に広い場合、図27(a)に例示するように、局所の障害物パタン(障害物パタン2731〜障害物パタン2747、具体的な例として文字画像等がある)の存在が、分離経路の算出に大きな影響を与える。つまり、文字列の切り出しの目的から前記のことが分離の精度に消極的な影響を与えることがある。例えば、図27(a)に例示するように、障害物パタン2736と障害物パタン2745は、ノイズ、書き込み等によって領域が接触してしまっているため、Costが最小又は最大となる経路は、始点2711から上側の経路を通って始点2711へとつながる。
【0068】
そこで、分離経路の算出において、対象とする画像内の文字画像の一部を含む予め定められた範囲内において、経路上にある画素値の累積値が予め定められた条件を満たす分離経路を算出する。具体的には、図27(b)に例示するように、対象画像を予め定められた区間の解析単位に分割し、ある区間の分離経路の終点を隣接する次の区間の始点として(例えば、領域2751における終点である中間点2762を、領域2752における始点としている)、次の区間の分離経路を求めることを繰り返すことで、分離経路の移動範囲を狭め、局所の障害物パタンの存在が分離経路の算出に与える影響を低減する。したがって、領域2754では、障害物パタン2736と障害物パタン2745の接触を横切って分離経路が算出され、分離経路の直進性を調節する。なお、予め定められた範囲としての領域2751等の大きさは、等分としてもよいし、それぞれ異なる大きさとしてもよい。例えば、対象とする画像に存在する文字のサイズを計測し、その文字サイズの倍数に基づいて領域2751等の大きさを定めるようにしてもよいし、文字が予め定められた個数分含まれるように領域2751等の大きさを定めるようにしてもよい。
特に、<A>に示した技術では、分離経路の算出過程において、Costに関するラインバッファを持つが、このとき、予め定められた長さ毎に前記ラインバッファを初期化するだけで、同等の処理が得られる。
【0069】
<B−1.2 複数の等価な分離経路の結合について>
<A>に記載した技術のように分離経路を算出した後、複数の等価な分離経路を結合する。
ここで、複数の等価な分離経路を結合するには、分離経路の算出において、隣り合う分離経路どうしの間隙の幅が予め定められた条件を満たす場合に、その間隙にある画素の輝度値によらず、その隣り合う分離経路は等価であると判断し、結合する。又は、分離経路の算出において、隣り合う分離経路どうしの間隙にある画素の輝度値の累積値が予め定められた条件を満たす場合に、その隣り合う分離経路は等価であると判断し、結合する。
【0070】
図28を用いて説明する。図28は、分離経路の結合処理の例を示す説明図である。隣接する2つの分離経路どうしについて、その間隙の障害物パタンによって、隣り合う分離経路は、分離の目的から等価なものであり、これを単一の分離経路として結合する。図28では、分離経路2811〜分離経路2815を結合して分離経路2851にし、分離経路2816〜分離経路2819を結合して分離経路2852にし、分離経路2820と分離経路2821を結合して分離経路2853にし、分離経路2822、分離経路2823には他に等価な分離経路がないので、他の分離経路とは結合していない。なお、結合された分離経路は、1[pixel]以上の太さを持つ。障害物パタン2831〜障害物パタン2837のうち、障害物パタン2834はノイズである。
【0071】
図29を用いて説明する。図29は、分離経路の結合処理の例を示す説明図である。結合後の分離経路をpathとして、path = (top_path,bottom_path)と、分離経路の輪郭線である2つの分離経路で表す。このとき、結合前の分離経路をsrc_pathとすると、top_path,bottom_pathは、src_pathを指すものとなる。3つ以上の分離経路の結合においては、端部でない分離経路(図29の例では、分離経路2912であるsrc_pathj−1)が消去される。結合され、太さを持つpathは、「top_path ≠ bottom_path」である。また、そうでないpathは、「top_path = bottom_path」である。なお、横方向の分離経路であるので、上端(top)、下端(bottom)の分離経路で示したが、縦方向の分離経路の場合は右端、左端の分離経路となる。
図29の上側の3本の分離経路(分離経路2911〜分離経路2913)を結合した分離経路2951は、(20)式のように表現される。すなわち、分離経路の輪郭線の情報で表現される。
【数20】

また、図29の下側の1本の分離経路(分離経路2914)は結合していないが、結合の表記に合わせると、(21)式のように表現される。
【数21】

【0072】
ここで、隣り合う分離経路の間隙の広さが予め定められた条件を満たす場合(例えば、予め定められた量以下)であれば、障害物パタンの有無に限らず、分離経路を結合するようにしてもよい。また同様に、隣り合う分離経路の間隙のコスト(画素値の累積値)が予め定められた条件を満たす場合(例えば、予め定められた量以下)であれば、分離経路を結合するようにしてもよい。
また、分離経路の結合と特徴量の算出とを併合してもよい。例えば、pathは、n個のsrc_pathを結合したものとすれば、後述する特徴量であるThickをnとするようにしてもよい。
【0073】
<B−1.3 分離経路の特徴量について>
前述の分離経路の定義に基づいて、表2に示す分離経路の特徴量の具体例を示す。
以下では、簡単のため、横方向の分離経路について説明する。縦方向の分離経路については、上端を右端、下端を左端と読み替えることによって対応できる。以下、経路の始点を(x, y)、終点を(x, y)とし、x < xであるとする。なお、分離経路iについて、水平位置xにおける垂直位置yを「top_path(x), bottom_path(x)」とする。また、水平位置x、垂直位置yにおける、対象画像の画素値をimg(x, y)とする。ここでは、簡単のため、img(x, y)の値が大きいほど、障害物パタンであるとする。
【0074】
まず、特徴量「Num」は、結合後の分離経路の本数である。
次に、特徴量「Curl」は、(22)式、(23)式、(24)式、(25)式等を用いて抽出する。
【数22】

【数23】

【数24】

【数25】

次に、特徴量「Thick」は、(26)式、(27)式、(28)式等を用いて抽出する。
【数26】

【数27】

【数28】

次に、特徴量「Cost」は、(29)式、(30)式、(31)式等を用いて抽出する。
【数29】

【数30】

【数31】

【0075】
前記の特徴量について、図30を用いて説明する。図30は、(22)式、(26)式の特徴量を主として説明している。つまり、図30の例に示す分離経路3011の特徴量であるThickは、(22)式を用いて抽出し、分離経路3012の特徴量であるCurli+1は、(26)式を用いて抽出している。分離経路3011は1以上の太さを持ち、分離経路3012は1の太さを持つ。
Curlについて、分離経路3012を用いて説明する。図30の例では実線の分離経路3012に対して、その始点と終点を通る直線f(x)((32)式)との差分(射線部の面積)を、分離経路3012の長さ(= x−x)で正規化したものである。
【数32】

【0076】
Curlについては、(22)式、(23)式、(24)式のように、始点と終点を結ぶ直線との差分を評価するようにしてもよい。具体的には、(22)式は太さを持たない経路と前記直線との差分の絶対値、(23)式は太さを持たない経路と前記直線との差分の2乗誤差、(24)式は太さを持つ経路について中心線を算出した場合の(22)式と同様の差分の絶対値である。また、(25)式のように、経路そのものの微分値を(微分距離d[px])評価するようにしてもよい。
Thickについては、(26)式、(27)式、(28)式のように、最大値、最小値、又は、平均値を用いるようにしてもよい。
【0077】
Costについては、(29)式、(30)式のように、経路上の画素値の累積値を評価するようにしてもよい。具体的には、(29)式は、経路上の画素値の累積値を評価する例である。(30)式は、経路の中心線上の画素値の累積値を評価する例である。さらに、(31)式のように、経路の湾曲によって、重みづけをした経路上の画素値の累積値を評価するようにしてもよい。つまり、経路上にある画素の輝度値と経路の移動に基づく重み係数との積の累積値が予め定められた条件を満たす分離経路を算出するようにしてもよい。重み係数は、p(x)とp(x+1)との関係に基づいて定まる。具体的には、両方が同じ場合(つまり、直線の場合)は重み係数(c)を1とし、異なる場合(つまり、斜線の場合)は重み係数(c)c(1より大きい値)とする。
【0078】
<B−2 実施の形態>
ここでは、文書の画像を対象とし、文字列の分離、文字列の方向判別を行う実施の形態を説明する。
<第B−1の実施の形態>
文書の画像を受け付け、文字列の分離を行う実施の形態を説明する。
第B−1の実施の形では、受け付ける文書の画像の文字列の方向は既知であるものとする。
【0079】
図31は、第B−1の実施の形態の構成例についての概念的なモジュール構成図である。第B−1の実施の形態の例は、既知である文字列方向の分離経路を算出し、この分離経路に基づいて、画像を分離し、出力するものであって、画像受付モジュール3110、分離経路算出モジュール3120、画像分離モジュール3130を有している。
【0080】
画像受付モジュール3110は、分離経路算出モジュール3120、画像分離モジュール3130と接続されている。画像3100を受け付けて、その画像を分離経路算出モジュール3120、画像分離モジュール3130へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像を含む)であってもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、少なくとも文字画像が含まれていれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0081】
分離経路算出モジュール3120は、画像受付モジュール3110、画像分離モジュール3130と接続されている。分離経路算出モジュール3120は、画像受付モジュール3110によって受け付けられた画像に対して、その画像内の文字画像を分離する分離経路を算出する。例えば、<A>、<B−1.1 分離経路の算出における、予め定められた区間の解析単位について>、<B−1.2 複数の等価な分離経路の結合について>に示した技術を適用して実現される。なお、画像受付モジュール3110によって受け付けられた画像の文字列方向は既知であるので、その方向の分離経路を算出すればよい。
【0082】
画像分離モジュール3130は、画像受付モジュール3110、分離経路算出モジュール3120と接続されている。画像分離モジュール3130は、分離経路算出モジュール3120によって算出された分離経路により、画像受付モジュール3110によって受け付けられた画像を複数の文字列の画像へ分離する。例えば、bottom_pathi−1とtop_pathの間隙の領域を分離する処理である。ここで、前記経路上に、障害物パタンが予め定められた量以上存在する場合、すなわち、Costi−1、又は、Costi−1が予め定められた量以上である場合、top_pathi−1とtop_path、bottom_pathi−1とbottom_path、又は、top_pathi−1とbottom_path の間隙の領域を分離することで、出力される文字列の画像において、文字パタンの一部が失われないようにする。
【0083】
<第B−2の実施の形態>
文書の画像を受け付け、文字列の方向判別を行う実施の形態を説明する。
図32は、第B−2の実施の形態の構成例についての概念的なモジュール構成図である。第B−2の実施の形態の例は、水平方向、垂直方向の分離経路を算出し、それぞれの分離経路の特徴量を算出し、これらの特徴量を比較し、文字列の方向と状態を判別し、出力するものであって、画像受付モジュール3210、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230、経路特徴量算出モジュール3240、分離方向判別モジュール3250を有している。
【0084】
画像受付モジュール3210は、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230と接続されており、第B−1の実施の形態における画像受付モジュール3110と同等の処理を行う。画像3200を受け付け、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230に渡す。なお、画像3200内の文字列の方向は既知ではない。したがって、複数方向(ここでは、水平方向と垂直方向)の分離経路を算出する必要がある。なお、ここでは、画像3200は単段落の文書の画像であるとする。
【0085】
水平方向分離経路算出モジュール3220は、画像受付モジュール3210、経路特徴量算出モジュール3240と接続されており、垂直方向分離経路算出モジュール3230は、画像受付モジュール3210、経路特徴量算出モジュール3240と接続されている。画像受付モジュール3210、水平方向分離経路算出モジュール3220は、第B−1の実施の形態における分離経路算出モジュール3120に該当し、複数方向の分離経路を算出し、その分離経路を経路特徴量算出モジュール3240へ渡す。
水平方向分離経路算出モジュール3220は、画像受付モジュール3210によって受け付けられた画像に対して、その画像内の文字画像を分離する横方向の線分である分離経路を算出する。例えば、<A>、<B−1.1 分離経路の算出における、予め定められた区間の解析単位について>、<B−1.2 複数の等価な分離経路の結合について>に示した技術を適用して実現される。
垂直方向分離経路算出モジュール3230は、画像受付モジュール3210によって受け付けられた画像に対して、その画像内の文字画像を分離する縦方向の線分である分離経路を算出する。例えば、<A>、<B−1.1 分離経路の算出における、予め定められた区間の解析単位について>、<B−1.2 複数の等価な分離経路の結合について>に示した技術を適用して実現される。
【0086】
経路特徴量算出モジュール3240は、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230、分離方向判別モジュール3250と接続されている。水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230によって算出された複数方向の分離経路の特徴量を算出し、その特徴量を分離方向判別モジュール3250へ渡す。例えば、経路特徴量算出モジュール3240は、前述した特徴量の算出、例えば、(22)式、(26)式、(29)式と、これらの統計値の算出により、実現される。以下では、特徴量Fの最大値をMaxF、最小値をMinF、平均値をAvgFとする。例えば、歪曲の最大値であれば、MaxCurlとする。
【0087】
分離方向判別モジュール3250は、経路特徴量算出モジュール3240と接続されている。経路特徴量算出モジュール3240によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別し、その判別の結果によって複数方向の分離経路のうちの分離経路を選択する。具体的には、図33に例示したフローチャートにしたがう。図33は、分離方向判別モジュール3250が行う方向判別の処理の例を示すフローチャートである。
【0088】
図33に例示したフローチャートは、分離方向判別モジュール3250が表3、表4、表5、表6、表7を用いて判別を行う。以下、このことについて説明する。
【表3】

【表4】

【表5】

【表6】

【表7】

【0089】
分離方向判別モジュール3250では、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230から渡された横方向、縦方向の分離経路の特徴量を比較し、対象画像の分離方向(すなわち、出力する文字列の方向、以下、「方向」とする)と、対象画像の状態(以下、「状態」とする)を判別する。それぞれ、以下の値をとりうる変数である。
「方向」は、以下の3つの値をとりうる。
(1)H:水平
(2)V:垂直
(3)⊥:判別不能
また、「状態」は、以下の4つの値をとりうる。
(1)P:単段落
(2)T:単文字列
(3)C:単文字
(4)⊥:判別不能
【0090】
図33に例示するフローチャートにおける、表を用いた判別は、まず、表3を用いた判別により、対象画像が単文字か、単文字列か、それ以外かを判別する。これは、分離経路の本数Numによる判別により実現される。つまり、横方向の分離経路と縦方向の分離経路が2本であるならば、単文字(C)である。いずれか一方が2本であるならば、単文字列(T)であり、横方向の分離経路が2本であるならば、方向はは水平(H)であり、縦方向の分離経路が2本であるならば、方向は垂直(V)である。両方が2本でないならば、何もしない(状態は判別不能(⊥)のままである)。
表4、表5、表6、表7を用いた判別は、それぞれ、分離経路の特徴量によって、文字列の方向を判別するものである。
【0091】
図33に例示するフローチャートでは、順番として「Numによる判別」(表3)、「Curlによる判別」(表4、表5)、「Thickによる判別」(表6)、「Costによる判別」(表7)の順に判別を行う。以下、この順番について説明する。
まず、分離方向判別モジュール3250による方向判別は、分離経路の形状に基づいて文字列の方向を判別するものである。このため、形状の情報に基づく判別でない「Costによる判別」は、最も優先度の低い、最後段に設置する。
次に、形状の情報に基づく判別である「Curlによる判別」、「Thickによる判別」について、箇条書きのような配置に対応するためには、必ずしも、MaxThick又はAvgThickが最大の方向が文字列の方向ではない場合があり得る。ゆえに、「Thickによる判別」(表6)の前段に、「Curlによる判別」(表4、表5)を設置する。
次に、「Curlによる判別」について、対象となっている文書の画像によって、必ずしも、水平方向、垂直方向について、算出される分離経路の総数が同じであるとは限らない(すなわち、縦に長い横書き、又は、横に長い縦書き等があり得る)。ある方向の分離経路の平均値は、分離経路の総数に影響されるため、「AvgCurlによる判別」(表5)の前段に、「MaxCurlによる判別」(表4)を設置する。
以上の設計は、複数の文字列によって構成されている文書の画像を想定した判別であるが、対象とする文書の画像は必ずしも複数の文字列によって構成されているとは限らない。このため、最前段に「Numによる判別」(表3)を設置し、対象となっている文書の画像が、単文字か、単文字列か、それ以外かを判別する。
【0092】
ステップS3302では、「方向」変数に⊥(判別不能)を代入し、「状態」変数に⊥(判別不能)を代入する。
ステップS3304では、表3のNumによる判別を行う。
ステップS3306では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS3308へ進み、それ以外の場合はステップS3322へ進む。
ステップS3308では、表4のMaxCurlによる判別を行う。つまり、横方向のMaxCurlが縦方向のMaxCurlよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のMaxCurlが縦方向のMaxCurlよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
【0093】
ステップS3310では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS3312へ進み、それ以外の場合はステップS3322へ進む。
ステップS3312では、表5のAvgCurlによる判別を行う。つまり、横方向のAvgCurlが縦方向のAvgCurlよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のAvgCurlが縦方向のAvgCurlよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
【0094】
ステップS3314では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS3316へ進み、それ以外の場合はステップS3322へ進む。
ステップS3316では、表6のAvgThickによる判別を行う。つまり、横方向のAvgThickが縦方向のAvgThickよりも大であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のAvgThickが縦方向のAvgThickよりも小であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
【0095】
ステップS3318では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS3320へ進み、それ以外の場合はステップS3322へ進む。
ステップS3320では、表7のAvgCostによる判別を行う。つまり、横方向のAvgCostが縦方向のAvgCostよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のAvgCostが縦方向のAvgCostよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS3322では、「方向」変数と「状態」変数の組である(方向,状態)を出力する。
【0096】
さらに、図32に例示した構成に、画像分離モジュールを付加し、その画像分離モジュールは分離方向判別モジュール3250によって選択された分離経路により、画像受付モジュール3210によって受け付けられた画像を複数の部分画像へ分離するようにしてもよい。
【0097】
<第B−3の実施の形態>
次に、文書の画像を受け付け、文字列の方向判別と、分離の処理を行う実施の形態を説明する。
図34は、第B−3の実施の形態の構成例についての概念的なモジュール構成図である。第B−3の実施の形態は、水平方向、垂直方向の分離経路を算出し、これらを一旦保持し、それぞれの分離経路の特徴量を算出し、これらの特徴量を比較し、文字列の方向と状態を判別し、判別された方向の分離経路を選択し、これらに基づいて、画像分離を行うものであって、画像受付モジュール3210、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230、分離経路記憶モジュール3435、経路特徴量算出モジュール3240、分離方向判別モジュール3250、画像分離モジュール3460を有している。
【0098】
なお、前述の実施の形態と同種の構成要素には同一符号を付し重複した説明を省略する。つまり、分離経路記憶モジュール3435と画像分離モジュール3460以外は、第B−2の実施の形態(図32)の構成要素と同等である。
分離経路記憶モジュール3435は、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230、経路特徴量算出モジュール3240、画像分離モジュール3460と接続されており、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230によって算出された分離経路を記憶する。そして、その分離経路を経路特徴量算出モジュール3240又は画像分離モジュール3460へ渡す。
【0099】
画像分離モジュール3460は、画像受付モジュール3210、分離経路記憶モジュール3435、分離方向判別モジュール3250と接続されている。
画像分離モジュール3460が行う判断、処理を表8に示す。
【表8】

画像分離モジュール3460は、「方向」変数が判別不能(⊥)以外の場合であって、「状態」変数が単文字列(T)、単文字(C)、判別不納(⊥)以外の場合(つまり、単段落(P)の場合)、分離方向判別モジュール3250によって判別された方向の分離経路を分離経路記憶モジュール3435から選択し、画像受付モジュール3210が受け付けた画像を複数の部分画像に分離する。「方向」変数が判別不能(⊥)の場合、又は、「状態」変数が単文字列(T)、単文字(C)、判別不納(⊥)の場合(つまり、単段落(P)以外の場合)、分離経路を選択せず、画像を分離することはしないで、対象となっている文書の画像をそのまま出力する。
【0100】
<実験結果B>
<B>に示した実施の形態による実験結果を、この実施の形態を用いないで行った場合と比較して説明する。
まず、本実施の形態を用いないで行った場合について説明する。本実施の形態を用いないで行った場合として背景技術で説明した技術がある。そのアプローチは、大きく2つに分類される。つまり、投影分布に基づくアプローチと、連結成分に基づくアプローチである。なお、連結成分の外接矩形の投影分布によるものは、投影分布に基づくアプローチに属するものとする。
それぞれ基本とする情報(すなわち、投影分布、連結成分)について、特徴量を算出し、複数方向の特徴量について、それぞれ比較することで、文字列の方向判別又は切り出しを行う。
投影分布による文字列の方向判別では、投影分布の値又はその形状(例えば、山、谷)の特徴を比較する。例えば、特開平04−311283号公報記載の技術では、水平方向及び垂直方向の投影分布の最大値を特徴量として、方向判別を行う。
連結成分による文字列の方向判別では、連結成分どうしの位置関係の特徴を比較する。例えば、特開平05−073718号公報記載の技術では、水平方向及び垂直方向について、最小距離が得られる連結成分の対の数を比較することで、方向判別を行う。一方、例えば、特開2000−090194号公報記載の技術では、水平方向及び垂直方向について、連結成分の外接矩形どうしの平均間隔を比較することで、方向判別を行う。
投影分布による文字列の切り出しでは、文字列の方向の投影分布について、文字列の間隙に相当する投影分布の谷を特定し、分離境界とする。
連結成分による文字列の切り出しでは、隣接する連結成分を文字列として統合する。このとき、文字列の方向が既知であれば、この情報を有効に活用する。また、連結成分の統合により、方向判別と切り出しを併合して行うことのできる学術文献(LO’Gorman, “The Document Spectrum for Page Layout Analysis,” IEEE TPAMI, Vol.15, No.11, Nov.1993, pp1162−1173)のような方式もある。
図35は、投影分布の例を示す説明図である。図35(a)は水平・垂直方向の投影分布の例であり、図35(b)は連結成分の外接矩形の水平・垂直方向の投影分布の例である。図35の例に示す文書の画像は、文字が密に配置されている。このような画像からは、文字列の切り出しを行うために有効な投影分布及び連結成分が得られないことがある。一般に、投影分布は文書画像のスキューの影響が大きく、連結成分は文書画像を構成する単文字のパタン(言語、装飾、等)、非文字のパタン(アンダーライン、ノイズ、等)による影響が大きい。特に、図35の例に示すように、文字が密に配置された文書の画像では前述の影響が顕著となる。このような状況では、文字列どうしの分離境界の情報が現れないこと、水平方向及び垂直方向で十分な差異が現れないこととなる。
【0101】
次に、<B>の実施の形態で用いた分離経路について、図36、図37を用いて説明する。図36、図37は、水平、垂直方向の分離経路の例を示す説明図であり、対象とする画像である段落画像に対して、分離経路を、水平方向と垂直方向についてそれぞれ算出したものである。段落を構成する文字列の方向と同じ方向の分離経路は直線に近い形状であるのに対し、文字列と異なる方向の分離経路は歪曲している(図36参照)。また、分離経路の歪曲の程度が同等であっても、太さが異なる(図37参照)。<B>の実施の形態では、これらの特徴を定量的に評価し、特徴量として比較することで、文字列の方向判別を実現する。具体的には、分離経路の本数、個々の位置と形状及び経路上の画素値に基づいて特徴量を抽出する。
また、<B>の実施の形態では、分離経路の数により、対象としている画像が単段落であるか、単文字であるか、単文字列であるかを判別する。この様子を図38の例に示す。すなわち、正しい方向と、誤った方向の分離経路とが、文字列の方向判別のために有効な差異をもつことを利用している。
【0102】
<B>の実施の形態による文字列切り出しの例を図39、図40、図41に示す。
図39の例は、第B−3の実施の形態による文字列切り出しの結果である。文書の画像を受け付け、状態=P、すなわち、画像は単段落であると判別した。また、文字列の方向が水平であると判別した。この結果、分離経路によって、隣接(近接)する文字列が分離されていることが分かる(図39(b)、(c)の拡大図参照)。
図40(a)の例は<B>の実施の形態による切り出し結果であり、図40(b)の例は対象とした画像と投影分布であり、図40(c)の例は連結成分の外接矩形である。図40の例から分かるように、<B>の実施の形態により、投影分布に現れない分離境界を特定すること、複数文字の連結を分離すること、単文字の誤分離を統合し、文字列の方向判別及び切り出しも行われている。
また、図41の例から分かるように、図39(b)の例に示すような密に文字の配置された画像のみでなく、図37の例に示すような文字列どうしの間隙の広い画像についても、<B>の実施の形態によって文字列の切り出しが行われている。
【0103】
なお、<B>に記載の発明は、以下のように捉えることができる。
(B1) 少なくとも文字画像を含む画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する経路算出手段と、
前記経路算出手段によって算出された分離経路により、前記受付手段によって受け付けられた画像を複数の文字画像へ分離する分離手段
を具備し、
前記経路算出手段は、該画像内の文字画像の一部を含む予め定められた範囲内において、経路上にある画素の輝度値の累積値が予め定められた条件を満たす分離経路を算出する
ことを特徴とする画像処理装置。
(B2) 前記経路算出手段は、複数方向の分離経路を算出し、
前記経路算出手段によって算出された複数方向の分離経路の特徴量を算出する特徴量算出手段と、
前記特徴量算出手段によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別し、該判別の結果によって前記複数方向の分離経路のうちの分離経路を選択する選択手段
を具備し、
前記分離手段は、前記選択手段によって選択された分離経路により、前記受付手段によって受け付けられた画像を複数の部分画像へ分離する
ことを特徴とする(B1)に記載の画像処理装置。
(B3) 前記経路算出手段は、該画像内の文字画像の一部を含む予め定められた範囲内において、経路上にある画素の輝度値と経路の移動に基づく重み係数との積の累積値が予め定められた条件を満たす分離経路を算出する
ことを特徴とする(B1)又は(B2)に記載の画像処理装置。
(B4) 前記経路算出手段は、分離経路の算出において、隣り合う分離経路どうしの間隙の幅が予め定められた条件を満たす場合に、該間隙にある画素の輝度値によらず、該隣り合う分離経路は等価であると判断し、結合すること、
又は、
前記経路算出手段は、分離経路の算出において、隣り合う分離経路どうしの間隙にある画素の輝度値の累積値が予め定められた条件を満たす場合に、該隣り合う分離経路は等価であると判断し、結合すること
を特徴とする(B1)から(B3)のいずれか一項に記載の画像処理装置。
【0104】
<C>
次に、<A>、<B>に示した技術を前提とした実施の形態を説明する。つまり、前述の<B>を採用し、主に<A>による分離経路を応用し、この分離経路による画像分離を再帰的に行うことで、文字列の画像の分離を行うものである。なお、分離経路等の表記については、<B>と同じとする。
【0105】
<第C−1の実施の形態>
<C>の実施の形態の概要を説明する。
図42は、第C−1の実施の形態の構成例についての概念的なモジュール構成図である。
第C−1の実施の形態は、画像受付モジュール4210、解析器選択モジュール4220、分離経路算出モジュール4230、分離経路特徴量算出モジュール4240、主分離方向判別モジュール4250、主分離経路選択モジュール4260、画像分離モジュール4270、再帰処理モジュール4280、再帰のない画像分離モジュール4290を有している。
【0106】
画像受付モジュール4210は、解析器選択モジュール4220と接続されている。画像4200を受け付けて、その画像を解析器選択モジュール4220に渡す。画像受付モジュール4210は<B>に示した画像受付モジュール3110等に該当するものである。なお、画像4200は、複数の段落を含む画像であってもよい。
【0107】
解析器選択モジュール4220は、画像受付モジュール4210、分離経路算出モジュール4230、再帰処理モジュール4280、再帰のない画像分離モジュール4290と接続されており、対象の画像を再帰のない画像分離モジュール4290又は分離経路算出モジュール4230のいずれか一方に渡す。画像受付モジュール4210が受け付けた画像4200又は画像分離モジュール4270によって分離された部分画像(再帰的処理を行う場合に再帰処理モジュール4280から渡された部分画像)の縦方向の長さと横方向の長さの比率と予め定められた値との比較、又は再帰処理モジュール4280によって再帰的に処理を行うと判断された場合の再帰の深さに基づいて、画像受付モジュール4210が受け付けた画像4200又は画像分離モジュール4270によって分離された部分画像を対象として、再帰のない画像分離モジュール4290又は分離経路算出モジュール4230に処理を行わせるか否かを判断する。詳細については、図55、図56を用いて後述する。
【0108】
分離経路算出モジュール4230は、解析器選択モジュール4220、分離経路特徴量算出モジュール4240と接続されており、分離経路を分離経路特徴量算出モジュール4240へ渡す。画像受付モジュール4210によって受け付けられた画像に対して、その画像内の文字画像を分離する線分である分離経路を算出する。分離経路算出モジュール4230は、<B>に示した水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230、分離経路記憶モジュール3435に該当するものである。また、分離経路算出モジュール4230は、再帰処理モジュール4280によって再帰的に処理を行うと判断された場合に、画像分離モジュール4270によって分離された画像に対して、その画像内の文字画像を分離する線分である分離経路を算出する。
分離経路特徴量算出モジュール4240は、分離経路算出モジュール4230、主分離方向判別モジュール4250と接続されており、分離経路とその特徴量を主分離方向判別モジュール4250へ渡す。分離経路算出モジュール4230によって算出された複数方向の分離経路の特徴量を算出する。分離経路特徴量算出モジュール4240は、<B>に示した経路特徴量算出モジュール3240に該当するものである。
【0109】
主分離方向判別モジュール4250は、分離経路特徴量算出モジュール4240、主分離経路選択モジュール4260と接続されており、分離経路とその特徴量と文字画像の方向と状態を主分離経路選択モジュール4260へ渡す。分離経路特徴量算出モジュール4240によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別する。主分離方向判別モジュール4250は、<B>に示した分離方向判別モジュール3250に該当するものである。
主分離経路選択モジュール4260は、主分離方向判別モジュール4250、画像分離モジュール4270と接続されており、分離経路とその特徴量と文字画像の方向と状態を画像分離モジュール4270へ渡す。主分離方向判別モジュール4250による判別の結果によって複数方向の分離経路のうちの分離経路を選択する。また、再帰処理モジュール4280による再帰的に処理を行うか否かの判断を行うため文字画像の状態を判別するようにしてもよい。また、主分離経路選択モジュール4260は、文字画像の状態が多段落である場合は、分離経路算出モジュール4230によって算出された分離経路の一部を間引くようにしてもよい。この間引き処理については、図52、図53を用いて後述する。
画像分離モジュール4270は、主分離経路選択モジュール4260、再帰処理モジュール4280と接続されており、部分画像とその部分画像の方向と状態を再帰処理モジュール4280へ渡す。主分離経路選択モジュール4260によって選択された分離経路により、画像を複数の部分画像へ分離する。画像分離モジュール4270は、<B>に示した画像分離モジュール3460に該当するものである。
【0110】
再帰処理モジュール4280は、解析器選択モジュール4220、画像分離モジュール4270と接続されており、再帰的処理を行う場合は部分画像を解析器選択モジュール4220へ渡し、再帰的処理の終了条件を満たしている場合は、文字列画像とその方向とその状態を出力する。画像分離モジュール4270によって分離された画像の文字画像の状態に基づいて、再帰的に処理を行うか否かを判断する。再帰的に処理を行うと判断した場合は、画像分離モジュール4270から受け取った部分画像を対象画像として解析器選択モジュール4220へ渡す。ここでの「文字画像の状態に基づいて、再帰的に処理を行う」とは、文字画像の状態が多段落ではないこと(判別する状態が、多段落、単段落、単文字列、単文字、判別不能の4つの場合は、単段落、単文字列、単文字、判別不能のうち、いずれかであること)を、再帰的処理の終了条件として、画像分離モジュール4270によって分離された部分画像に対して、解析器選択モジュール4220、分離経路算出モジュール4230、分離経路特徴量算出モジュール4240、主分離方向判別モジュール4250、主分離経路選択モジュール4260、画像分離モジュール4270による処理を繰り返し行うことをいう。
【0111】
再帰のない画像分離モジュール4290は、解析器選択モジュール4220と接続されており、文字列画像とその方向とその状態を出力する。再帰のない画像分離モジュール4290は、再帰的処理を行わないで、画像を分離する。分離経路算出モジュール4230〜再帰処理モジュール4280による処理を行わせるのでなければ、どのような画像分離の技術であってもよい。例えば、<B>に記載の技術を用いる。
【0112】
特徴量の具体例を表9に示す。
【表9】

なお、表9に例示した通り、分離経路の本数Numは、分離経路の総数である。分離経路を求める各方向について(<C>に示す実施の形態では、水平方向と垂直方向)に1つずつ算出する。
図43は、表9に例示した特徴量の例を示す説明図である。図43の例は、図30の例に分離経路の特徴として「分離経路どうしの間隙(Gap)」を加えたものである。
表9に例示した特徴量のうち、Curl、Thick、Costは、pathについて1つずつ算出される。これに対して、Gapは、pathとpathi+1の間隙の特徴量であり、pathとpathi+1のペアについて1つずつ算出される。
【0113】
以下、各特徴量について、詳細に説明する。
「分経路の歪曲」について
Curlの例を(33)式、(34)式、(35)式、(36)式に示す。
【数33】

【数34】

【数35】

【数36】

図43に例示したように、Curlはpathの歪曲である。
Curlについては、(33)式、(34)式、(35)式のように、始点と終点を結ぶ直線f(x)(以下、理想直線とする)との差分を評価する例がある。具体的には、(33)式は太さを持たない経路と理想直線との差分の絶対値、(34)式は前記差分の2乗誤差、(35)式は太さを持つ経路について算出した中心線について(33)式と同様の差分を評価した例である。これらは、図43の例において、pathi+1の射線部分の面積の評価に相当する。
また、(36)式のように、経路そのものの微分値を(微分距離d[px])評価する例を用いてもよい。
【0114】
次に、「分経路の歪曲」の統計値である特徴量の例について説明する。
Curlは各pathについて算出する。そこで、すべてのpathのCurlについて、統計値を特徴量とする例を(37)式、(38)式、(39)式に示す。それぞれ、すべての分離経路のCurlの最大値(MaxCurl)、最小値(MinCurl)、平均値(AvgCurl)に相当する。
【数37】

【数38】

【数39】

さらに、前記の統計値の特徴量は、端部の2つの分離経路(すなわち、pathとpathNum−1)のCurlであるCurlとCurlNum−1を除いた場合の統計値である特徴量として(40)式、(41)式、(42)式の例がある。端部の2つの分離経路のCurlは対象画像に大きく依存せず、諸々の判別で参照する特徴量として必ずしも適切でない。ゆえに、より正確な解析を行う場合に、各式の例のように、これらを除くことを行う。
【数40】

【数41】

【数42】

【0115】
「分離経路の太さ」について
Thickの例を(43)式、(44)式、(45)式に示す。
図43に例示したように、Thickはpathの太さである。これは、図43に例示したtop_pathとbottom_pathとの距離の評価に相当する。
(43)式は、pathについて太さの最大値を特徴量とする例である。
(44)式は、pathについて太さの最小値を特徴量とする例である。
(45)式は、pathについて太さの平均値を特徴量とする例である。
【数43】

【数44】

【数45】

【0116】
また、ThickについてもCurlと同様に、(46)式、(47)式、(48)式、(49)式、(50)式、(51)式に示すような統計値である特徴量の例がある。
【数46】

【数47】

【数48】

【数49】

【数50】

【数51】

【0117】
「分離経路のコスト」について
Costの例を(52)式、(53)式、(54)式に示す。
Costについては、(52)式、(53)式のように、単純な経路上の画素値の累積値を評価する例がある。具体的には、(52)式は、経路上の画素値の累積値を評価する例である。(53)式は、経路の中心線上の画素値の累積値を評価する例である。さらに、(54)式のように、経路の歪曲によって、重みづけ(式中、係数cに相当する)を行った経路上の画素値の累積値を評価する例がある。
【数52】

【数53】

【数54】

また、CostについてもCurlと同様に、(55)式、(56)式、(57)式、(58)式、(59)式、(60)式に示すような統計値である特徴量の例がある。
【数55】

【数56】

【数57】

【数58】

【数59】

【数60】

【0118】
「分離経路どうしの間隙」について
Gapの例を(61)式、(62)式、(63)式に示す。
図43に例示したように、Gapはpathとpathi+1の間隙の幅である。これは、図43の例において、bottom_pathとtop_pathi+1との距離の評価に相当する。
(61)式は、pathとpathi+1のペアについて間隙幅の最大値を特徴量とする例である。
(62)式は、pathとpathi+1のペアについて間隙幅の最小値を特徴量とする例である。
(63)式は、pathとpathi+1のペアについて間隙幅の平均値を特徴量とする例である。
【数61】

【数62】

【数63】

また、GapについてもCurlと同様に、(64)式、(65)式、(66)式に示すような統計値である特徴量の例がある。ただし、Curlと異なり、端部の間隙(すなわち、pathとpathの間隙、及びpathNum−2とpathNum−1の間隙)の幅は、対象の画像に依存する。
【数64】

【数65】

【数66】

【0119】
<第C−2の実施の形態>
図44は、第C−2の実施の形態の構成例についての概念的なモジュール構成図である。
第C−2の実施の形態は、画像受付モジュール4410、分離経路による画像分離モジュール4420、再帰処理モジュール4430を有している。
【0120】
画像受付モジュール4410は、分離経路による画像分離モジュール4420と接続されており、図42に例示した画像受付モジュール4210に該当する。また、画像4400も図42に例示した画像4200に該当する。
分離経路による画像分離モジュール4420は、画像受付モジュール4410、再帰処理モジュール4430と接続されている。分離経路による画像分離モジュール4420は、対象となる画像を部分画像へ分離し、出力する。また、対象となる画像の分離方向(以下、方向ともいう)、及び状態を判別し、出力する。分離経路による画像分離モジュール4420については、図45を用いて後述する。
再帰処理モジュール4430は、分離経路による画像分離モジュール4420と接続されている。再帰処理モジュール4430は、対象となる画像の状態に基づいて、再帰処理を行うか否かを判別する。再帰処理を行う場合、各部分画像は分離経路による画像分離モジュール4420へ渡される。そうでなければ、文字列の画像である部分画像、方向、及び状態を出力し、処理を終了する。再帰処理モジュール4430については、図46を用いて後述する。
【0121】
ここで、「方向」は、以下の3つの値をとりうる。
(1)H:水平
(2)V:垂直
(3)⊥:判別不能
また、「状態」は、以下の5つの値をとりうる。
(1)M:多段落 (再帰処理あり)
(2)P:単段落 (再帰処理の疑いあり)
(3)T:単文字列 (再帰処理なし)
(4)C:単文字 (再帰処理なし)
(5)⊥:判別不能 (再帰処理なし)
【0122】
図45は、分離経路による画像分離モジュール4420の構成例についての概念的なモジュール構成図である。
分離経路による画像分離モジュール4420は、水平方向分離経路算出モジュール4510、垂直方向分離経路算出モジュール4520、経路特徴量算出モジュール4530、主分離方向判別モジュール4540、主分離経路選択モジュール4550、画像分離モジュール4560を有している。
【0123】
水平方向分離経路算出モジュール4510は、経路特徴量算出モジュール4530、主分離経路選択モジュール4550と接続されている。対象とする画像に対して、水平方向の分離経路を算出し、その分離経路を経路特徴量算出モジュール4530に渡す。<A>、<B>に示した水平方向分離経路算出モジュール3220と同等のものである。
垂直方向分離経路算出モジュール4520は、経路特徴量算出モジュール4530、主分離経路選択モジュール4550と接続されている。対象とする画像に対して、垂直方向の分離経路を算出し、その分離経路を経路特徴量算出モジュール4530に渡す。<A>、<B>に示した垂直方向分離経路算出モジュール3230と同等のものである。
経路特徴量算出モジュール4530は、水平方向分離経路算出モジュール4510、垂直方向分離経路算出モジュール4520、主分離方向判別モジュール4540、主分離経路選択モジュール4550と接続されている。前述の分離経路の特徴量を算出し、その特徴量を主分離方向判別モジュール4540、主分離経路選択モジュール4550に渡す。<B>に示した経路特徴量算出モジュール3240と同等のものである。
【0124】
主分離方向判別モジュール4540は、経路特徴量算出モジュール4530、主分離経路選択モジュール4550と接続されている。分離方向と状態を判別し、その分離方向と状態を主分離経路選択モジュール4550に渡す。ただし、状態は後段の処理で更新されうる。判別は、水平方向と垂直方向の分離経路の特徴量に基づいて行う。この処理フローを図47の例に示すが、説明は後述する。
主分離経路選択モジュール4550は、水平方向分離経路算出モジュール4510、垂直方向分離経路算出モジュール4520、経路特徴量算出モジュール4530、主分離方向判別モジュール4540、画像分離モジュール4560と接続されている。分離方向の分離経路の一部を、主な分離経路として選択し、その分離経路と状態を画像分離モジュール4560へ渡す。また、分離経路を間引く。また、条件が満たされた場合、状態を更新する。判別された方向の分離経路を選択し、水平方向と垂直方向の分離経路の特徴量に基づいて、再帰の判別のため、対象となる画像の状態がMであるか否かを判別する。また、このとき、分離経路を間引く。この処理フローを、図48から図53の例に示すが、説明は後述する。
画像分離モジュール4560は、主分離経路選択モジュール4550と接続されている。前述の画像分離モジュール4270と同等のものであり、部分画像、方向、状態を再帰処理モジュール4430に渡す。
【0125】
図46は、再帰処理モジュール4430による処理例を示すフローチャートである。
再帰処理モジュール4430では、状態に基づいて、再帰処理を行うか否かを判断する。具体的には、分離する対象である画像が多段落と判別された場合、分離後の各部分画像を分離経路による画像分離モジュール4420に渡す(すなわち、再帰する)。そうでなければ、文字列画像である部分画像、方向、及び状態を出力し、処理を終了する。
フローチャートに沿って説明する。
ステップS4602では、「状態」変数が多段落(状態==M)であるか否かを判断し、「状態」変数が多段落である場合はステップS4606へ進み、それ以外の場合はステップS4604へ進む。
ステップS4604では、部分画像を出力し、方向と状態を出力する。
ステップS4606では、部分画像を受け付け(再帰)、分離経路による画像分離モジュール4420へ受け付けた画像を渡す。
【0126】
次に、主分離方向判別モジュール4540の処理を説明する。図47は、主分離方向判別モジュール4540による処理例を示すフローチャートである。主分離方向判別モジュール4250は、表10、表11、表12、表13、表14、表15を用いて判別を行う。これらは、前述の特徴量について、水平方向と垂直方向のものを比較することを示す表である。主分離方向判別モジュール4250は、判別し、方向と状態を更新し、出力する。
【表10】

【表11】

【表12】

【表13】

【表14】

【表15】

【0127】
図47の例に示す判別のフローチャートは、逐次判別である。図47における各判別の順番は、以下のことに基づく。
まず、本実施の形態における分離方向判別は、分離経路の形状に基づいて分離方向を判別するものである。このため、形状の情報に基づく判別でない「Costによる判別」は、最も優先度が低いので、最後段に行う。
続いて、対象とする画像は多段落の可能性があり、その画像から文字列を切り出す必要があることから、まずは、段落どうしを分離する必要がある。段落どうしの間隙は、段落を構成する文字列どうしの間隙よりも広いことが一般的である。そこで、まず、「MaxThickによる判別」(表11)を行う。
【0128】
次に、対象とする画像によって、必ずしも、水平方向、垂直方向について、算出される分離経路の総数が同じであるとは限らない(すなわち、縦に長い横書き、又は、横に長い縦書き等があり得る)。ある方向の分離経路の平均値は、分離経路の総数(すなわち、Num)に影響されるため、「AvgCurlによる判別」(表13)の前段に、「MaxCurlによる判別」(表12)を行う。
次に、文字列どうしの間隙が十分に広い場合、Curlでは判別がつかないことがある。このため、「AvgThickによる判別」(表14)を行う。
最後に、複数の文字列を含む画像を想定した判別であるが、対象とする画像は必ずしも複数の文字列があるとは限らない。このため、最前段に「Numによる判別」(表10)を行い、対象とする画像が、単文字か、単文字列か、それ以外かを判別する。
【0129】
フローチャートに沿って説明する。
ステップS4702では、「方向」変数に⊥(判別不能)を代入し、「状態」変数に⊥(判別不能)を代入する。
ステップS4704では、表10のNumによる判別を行う。つまり、横方向の分離経路と縦方向の分離経路が2本であるならば、単文字(C)である。いずれか一方が2本であるならば、単文字列(T)であり、横方向の分離経路が2本であるならば、方向は水平(H)であり、縦方向の分離経路が2本であるならば、方向は垂直(V)である。両方が2本でないならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS4706では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS4708へ進み、それ以外の場合はステップS4726へ進む。
【0130】
ステップS4708では、表11のMaxThickによる判別を行う。つまり、縦方向のMaxThickが横方向のMaxThickよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。縦方向のMaxThickが横方向のMaxThickよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS4710では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS4712へ進み、それ以外の場合はステップS4726へ進む。
【0131】
ステップS4712では、表12のMaxCurlによる判別を行う。つまり、横方向のMaxCurlが縦方向のMaxCurlよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のMaxCurlが縦方向のMaxCurlよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS4714では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS4716へ進み、それ以外の場合はステップS4726へ進む。
【0132】
ステップS4716では、表13のAvgCurlによる判別を行う。つまり、横方向のAvgCurlが縦方向のAvgCurlよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のAvgCurlが縦方向のAvgCurlよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS4718では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS4720へ進み、それ以外の場合はステップS4726へ進む。
【0133】
ステップS4720では、表14のAvgThickによる判別を行う。つまり、横方向のAvgThickが縦方向のAvgThickよりも大であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のAvgThickが縦方向のAvgThickよりも小であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS4722では、「状態」変数は判別不能(状態==⊥)か否かを判断し、「状態」変数が判別不能の場合はステップS4724へ進み、それ以外の場合はステップS4726へ進む。
【0134】
ステップS4724では、表15のAvgCostによる判別を行う。つまり、横方向のAvgCostが縦方向のAvgCostよりも小であるならば、方向は水平(H)であり、状態は単段落(P)である。横方向のAvgCostが縦方向のAvgCostよりも大であるならば、方向は垂直(V)であり、状態は単段落(P)である。それ以外(両方が同じ)ならば、何もしない(状態は判別不能(⊥)のままである)。
ステップS4726では、「方向」変数と「状態」変数の組である(方向,状態)を出力する。
【0135】
主分離方向判別モジュール4540は、図47に例示したフローチャートの他にも、判別の順番を異ならせてもよい。例えば、「AvgThickによる判別」(表14)を、「MaxThickによる判別」(表11)の直後に配置してもよい。また、図47に例示するような逐次判別ではなく、各判別の総合を利用する総合判別を行ってもよい。つまり、表10から表15を用いた判別をそれぞれ行った後に、総合して判別するようにしてもよい。また、分離経路以外に、投影分布や、連結成分の特徴量による判別との総合判別もある。これらは、対象とする画像の性質によって、選択すればよい。
【0136】
次に、主分離経路選択モジュール4550の処理を説明する。この処理フローを、図48から図53の例に示す。主分離経路選択モジュール4550は、これらの処理フローのうち、いずれか一つの処理フロー又はこれらの組み合わせの処理フローにしたがった処理を行う。
この処理では、判別された方向の分離経路のうち、分離経路として適切な経路を選択し、出力する。また、再帰の判別のための状態の判別を行う。また、分離経路の間引きを行う。
【0137】
図48は、主分離経路選択モジュール4550による処理例(1)を示すフローチャートである。
ステップS4802では、主分離方向判別モジュール4540によって判別された方向の分離経路を選択する。
ステップS4804では、「状態」変数は単段落でない(状態≠P)か否かを判断し、「状態」変数が単段落でない場合はステップS4810へ進み、それ以外の場合はステップS4806へ進む。つまり、状態がP(段落)でなければ、ステップS4802で選択された分離経路をそのまま選択し、これ以上の再帰処理を行わないよう、状態を更新しない。これは、対象とする画像が、T(単文字列)、C(単文字)、又は⊥(判別不能)であった場合、これ以上の画像分離を行わないためである。
【0138】
ステップS4806では、MaxThick>MaxGapか否かを判断し、MaxThick>MaxGapの場合はステップS4808へ進み、それ以外の場合はステップS4810へ進む。つまり、MaxThick(すなわち、分離経路の最大の太さ)が、対象とする画像に対して十分に大きいとき、対象とする画像は多段落(M)であると判別し、状態をMに更新する(ステップS4808)。この十分に大きいことを、文字列どうしの間隙であるMaxGapとの比較により判別することで、対象とする画像が多段落(M)であるか、単段落(P)であるかを判別する。
ステップS4808では、「状態」変数にM(多段落)を代入する。
ステップS4810では、(分離経路,状態)を出力する。
【0139】
図49は、主分離経路選択モジュール4550による処理例(2)を示すフローチャートである。
ステップS4902では、主分離方向判別モジュール4540によって判別された方向の分離経路を選択する。
ステップS4904では、「状態」変数は単段落でない(状態≠P)か否かを判断し、「状態」変数が単段落でない場合はステップS4910へ進み、それ以外の場合はステップS4906へ進む。
【0140】
ステップS4906では、MaxCurl>θCurlか否かを判断し、MaxCurl>θCurlの場合はステップS4908へ進み、それ以外の場合はステップS4910へ進む。つまり、MaxCurlと予め定められた閾値(θCurl)とを比較して、状態が多段落(M)であるか否かの判別を行う。「MaxCurl>θCurl」による判別では、ステップS4902で選択された分離経路の歪曲が閾値θCurl以下であるとき、対象とする画像は多段落(M)以外の単段落(P)等であると判別し、ステップS4902で選択された分離経路をそのまま選択する。そうでなければ、状態をMに更新する(ステップS4908)。
ステップS4908では、「状態」変数にM(多段落)を代入する。
ステップS4910では、(分離経路,状態)を出力する。
【0141】
図50は、主分離経路選択モジュール4550による処理例(3)を示すフローチャートである。図48、図49と異なり、複数の判別(ステップS5006、ステップS5008、ステップS5010)がある処理例である。
ステップS5002では、主分離方向判別モジュール4540によって判別された方向の分離経路を選択する。
ステップS5004では、「状態」変数は単段落でない(状態≠P)か否かを判断し、「状態」変数が単段落でない場合はステップS5014へ進み、それ以外の場合はステップS5006へ進む。
ステップS5006では、MaxCurl==0か否かを判断し、MaxCurl==0の場合はステップS5014へ進み、それ以外の場合はステップS5008へ進む。つまり、ステップS5002で選択した分離経路に歪曲がないとき、対象とする画像は単段落であると判別し、ステップS5002で選択された分離経路をそのまま選択する。
【0142】
ステップS5008では、MaxThick>MaxGapか否かを判断し、MaxThick>MaxGapの場合はステップS5012へ進み、それ以外の場合はステップS5010へ進む。図48に例示のフローチャート内のS4806に該当する。
ステップS5010では、MaxCurl>θCurlか否かを判断し、MaxCurl>θCurlの場合はステップS5012へ進み、それ以外の場合はステップS5014へ進む。図49に例示のフローチャート内のS4906に該当する。
ステップS5012では、「状態」変数にM(多段落)を代入する。
ステップS5014では、(分離経路,状態)を出力する。
【0143】
図51は、主分離経路選択モジュール4550による処理例(4)を示すフローチャートである。分離方向でない方向の分離経路の特徴量を参照して判別(ステップS5110)する処理例である。
ステップS5102では、主分離方向判別モジュール4540によって判別された方向の分離経路を選択する。
ステップS5104では、「状態」変数は単段落でない(状態≠P)か否かを判断し、「状態」変数が単段落でない場合はステップS5116へ進み、それ以外の場合はステップS5106へ進む。
ステップS5106では、MaxCurl==0か否かを判断し、MaxCurl==0の場合はステップS5116へ進み、それ以外の場合はステップS5108へ進む。図50に例示のフローチャート内のS5006に該当する。
ステップS5108では、MaxThick>MaxGapか否かを判断し、MaxThick>MaxGapの場合はステップS5114へ進み、それ以外の場合はステップS5110へ進む。図48に例示のフローチャート内のS4806に該当する。
【0144】
ステップS5110では、AvgThick<sub_MaxThickか否かを判断し、AvgThick<sub_MaxThickの場合は、S5114へ進み、それ以外の場合はステップS5112へ進む。なお、「sub_MaxThick」とは、分離方向でない方向の分離経路の最大太さである。「sub_MaxThick」が、分離方向の分離経路の平均の太さである「AvgThick」よりも大きいとき、対象とする画像は多段落(M)であると判別する。
ステップS5112では、MaxCurl>θCurlか否かを判断し、MaxCurl>θCurlの場合はステップS5114へ進み、それ以外の場合はステップS5116へ進む。図49に例示のフローチャート内のS4906に該当する。
ステップS5114では、「状態」変数にM(多段落)を代入する。
ステップS5116では、(分離経路,状態)を出力する。
【0145】
図52は、主分離経路選択モジュール4550による処理例(5)を示すフローチャートである。対象とする画像が多段落であると判別されたとき、分離経路の間引きのある処理例である。なお、S5202からS5214までの処理、S5218の処理は、それぞれ図51のS5102からS5114までの処理、S5116の処理に該当する。
ステップS5202では、主分離方向判別モジュール4540によって判別された方向の分離経路を選択する。
ステップS5204では、「状態」変数は単段落でない(状態≠P)か否かを判断し、「状態」変数が単段落でない場合はステップS5218へ進み、それ以外の場合はステップS5206へ進む。
ステップS5206では、MaxCurl==0か否かを判断し、MaxCurl==0の場合はステップS5218へ進み、それ以外の場合はステップS5208へ進む。
ステップS5208では、MaxThick>MaxGapか否かを判断し、MaxThick>MaxGapの場合はステップS5214へ進み、それ以外の場合はステップS5210へ進む。
【0146】
ステップS5210では、AvgThick<sub_MaxThickか否かを判断し、AvgThick<sub_MaxThickの場合は、S5214へ進み、それ以外の場合はステップS5212へ進む。
ステップS5212では、MaxCurl>θCurlか否かを判断し、MaxCurl>θCurlの場合はステップS5214へ進み、それ以外の場合はステップS5218へ進む。
ステップS5214では、「状態」変数にM(多段落)を代入する。
ステップS5216では、分離経路の歪曲(Curl)が最も小さいもの、分離経路の太さ(Thick)が最も太いもの以外の分離経路を消去する。例えば、CurlとMinCurlとの比較、ThickとMaxThickとの比較によって、条件を満たすpathを消去するようにしてもよい。
ステップS5218では、(分離経路,状態)を出力する。
【0147】
図53は、主分離経路選択モジュール4550による処理例(6)を示すフローチャートである。対象とする画像が多段落であると判別されたとき、分離経路の間引きのある処理例である。なお、S5302からS5314までの処理、S5318の処理は、それぞれ図51のS5102からS5114までの処理、S5116の処理に該当する。
ステップS5302では、主分離方向判別モジュール4540によって判別された方向の分離経路を選択する。
ステップS5304では、「状態」変数は単段落でない(状態≠P)か否かを判断し、「状態」変数が単段落でない場合はステップS5318へ進み、それ以外の場合はステップS5306へ進む。
ステップS5306では、MaxCurl==0か否かを判断し、MaxCurl==0の場合はステップS5318へ進み、それ以外の場合はステップS5308へ進む。
ステップS5308では、MaxThick>MaxGapか否かを判断し、MaxThick>MaxGapの場合はステップS5314へ進み、それ以外の場合はステップS5310へ進む。
【0148】
ステップS5310では、AvgThick<sub_MaxThickか否かを判断し、AvgThick<sub_MaxThickの場合は、S5314へ進み、それ以外の場合はステップS5312へ進む。
ステップS5312では、MaxCurl>θCurlか否かを判断し、MaxCurl>θCurlの場合はステップS5314へ進み、それ以外の場合はステップS5318へ進む。
ステップS5314では、「状態」変数にM(多段落)を代入する。
ステップS5316では、{path|Curl>θ’Curl}を消去する。つまり、予め定められた閾値(θ’Curl)と比較することによって、分離経路の間引きを行う。歪曲が閾値θ’Curlよりも小さなpathを選択することで分離経路の間引きを実現している。
ステップS5318では、(分離経路,状態)を出力する。
【0149】
図48から図53までの処理は、逐次的に判別しているが、逐次判別ではなく、各判別の総合を利用する総合判別を行ってもよい。例えば、ステップS5308、ステップS5310、ステップS5312の処理をそれぞれ行った後に、総合して判別するようにしてもよい。また、分離経路以外に、投影分布や、連結成分の特徴量による判別と組み合わせるようにしてもよい。例えば、それぞれの投影分布の幅及び間隔が規則的である等の対象とする画像の性質に応じて、投影分布や、連結成分の特徴量による判別を行うようにしてもよい。
【0150】
<第C−3の実施の形態>
図54は、第C−3の実施の形態の構成例についての概念的なモジュール構成図である。
第C−3の実施の形態は、画像から文字列を切り出すものであって、画像受付モジュール4410、解析器選択モジュール5415、分離経路による画像分離モジュール4420、再帰処理モジュール5430、再帰のない画像分離モジュール5440を有している。
【0151】
画像受付モジュール4410は、解析器選択モジュール5415と接続されており、図42に例示した画像受付モジュール4210に該当する。また、画像4400も図42に例示した画像4200に該当する。
【0152】
解析器選択モジュール5415は、画像受付モジュール4410、分離経路による画像分離モジュール4420、再帰のない画像分離モジュール5440と接続されている。解析器選択モジュール5415は、対象とする画像を分離経路による画像分離モジュール4420又は再帰のない画像分離モジュール5440のいずれか一方に振り分ける。この処理フローを図55に示す。図55は、解析器選択モジュール5415による処理例を示すフローチャートである。
ステップS5502では、多段落判別を行う。この処理については、図57、図58を用いて後述する。
ステップS5504では、状態が多段落(状態=M)であるか否かを判断し、「状態」変数が多段落である場合はステップS5508へ進み、それ以外の場合はステップS5506へ進む。
ステップS5506では、再帰のない画像分離モジュール5440へ受け付けた画像を渡す。
ステップS5508では、分離経路による画像分離モジュール4420へ受け付けた画像を渡す。この後、再帰処理モジュール5430による再帰的な処理が行われる。
【0153】
また、このとき、対象とする画像の特徴によって、分離経路による画像分離モジュール4420、再帰のない画像分離モジュール5440の処理におけるパラメータを更新するようにしてもよい。例えば、具体的には、図45に例示した水平方向分離経路算出モジュール4510、垂直方向分離経路算出モジュール4520の解析パラメータ、又は図49から図53に例示した閾値θCurl、閾値θ’Curl等、図57、図58を用いて後述する「多段落判別」における閾値(θaspect)の更新を行うようにしてもよい。
【0154】
分離経路による画像分離モジュール4420は、解析器選択モジュール5415、再帰処理モジュール5430と接続されている。分離経路による画像分離モジュール4420は、図45に例示した技術を用いて実現される。また、再帰処理モジュール5430によって再帰的に処理を行うこととなる。
再帰のない画像分離モジュール5440は、解析器選択モジュール5415と接続されている。再帰のない画像分離モジュール5440は、前述の<B>に記載の技術を用いて実現される。
【0155】
再帰処理モジュール5430は、分離経路による画像分離モジュール4420と接続されている。
図56は、再帰処理モジュール5430による処理例を示すフローチャートである。状態に基づいて、再帰処理を行うか否かを判別する。
フローチャートに沿って説明する。
ステップS5602では、状態が多段落(状態==M)であるか否かを判断し、「状態」変数が多段落である場合はステップS5606へ進み、それ以外の場合はステップS5604へ進む。
ステップS5604では、部分画像、方向、状態を出力する。
ステップS5606では、再帰的な処理を行うため、解析器選択モジュール5415へ受け付けた画像を渡す。
【0156】
単段落を再帰的に分離してしまうことを抑制するために、解析器選択モジュール5415は図55に例示したフローチャート内のステップS5502では、以下の処理を行う。
図57は、解析器選択モジュール5415による多段落判別の処理例(1)を示すフローチャートである。対象とする画像の縦横比を参照することで、多段落か否かを判別する例である。つまり、対象とする画像がθaspect以上に細長いか否かで判別している。より具体的には、縦横比が予め定めた閾値(θaspect)の範囲外であるとき、再帰のない画像分離モジュール5440へ画像を渡すため、状態をPに更新する。なお、判別においては、WidthとHeightの差分を利用してもよい。なお、図57の例に示した変数は以下のことを表す。
対象とする画像の横幅 : Width
対象とする画像の縦幅 : Height
縦横比閾値 : θaspect
【0157】
フローチャートに沿って説明する。
ステップS5702では、θaspect−1<Width/Height<θaspectか否かを判断し、θaspect−1<Width/Height<θaspectの場合はステップS5706へ進み、それ以外の場合はステップS5704へ進む。
ステップS5704では、状態が単段落(状態=P)であることを出力し、画像を出力する。
ステップS5706では、状態が多段落(状態=M)であることを出力し、画像を出力する。
【0158】
図58は、解析器選択モジュール5415による多段落判別の処理例(2)を示すフローチャートである。対象とする画像がθrecursion以上に複雑な文書構造を持たないことを利用している。つまり、再帰深さ(すなわち、対象とする画像はこれまで何回分離されているか)を保持・カウントし、予め定められた閾値(θrecursion)との大小関係を比較することで、多段落か否かを判別する例である。再帰深さが閾値(θrecursion)よりも大きくない場合、再帰のない画像分離モジュール5440へ画像を渡すため、状態をPに更新する、なお、再帰深さのカウンタを部分画像と対として保持し、初期値は0として、これを再帰処理モジュール5430における処理で1つ加算すればよい。なお、図58における変数は以下のことを表す。
再帰深さ : θrecursion
【0159】
フローチャートに沿って説明する。
ステップS5802では、再帰深さ>θrecursionか否かを判断し、再帰深さ>θrecursionの場合はステップS5806へ進み、それ以外の場合はステップS5804へ進む。
ステップS5804では、状態が単段落(状態=P)であることを出力し、画像を出力する。
ステップS5806では、状態が多段落(状態=M)であることを出力し、画像を出力する。
【0160】
なお、図55に例示したステップS5502の多段落判別は、図57、図58に例示した処理フロー以外であってもよい。例えば、図57、図58に例示した処理フローを組み合わせてもよいし、さらに、投影分布、連結成分を利用するようにしてもよい。
【0161】
前述の実施の形態に前処理や後処理を付加した実施の形態を示す。ここでの実施の形態は、対象とする画像から、文字列切り出しを行うものである。
<第C−4の実施の形態>
図59は、第C−4の実施の形態の構成例についての概念的なモジュール構成図である。
第C−4の実施の形態は、画像受付モジュール5910、前処理モジュール5920、文字切り出しモジュール5930を有している。
画像受付モジュール5910は、前処理モジュール5920と接続されており、図42に例示した画像受付モジュール4210に該当する。また、画像5900も図42に例示した画像4200に該当する。
前処理モジュール5920は、画像受付モジュール5910、文字切り出しモジュール5930と接続されており、画像受付モジュール5910が受け付けた画像5900に対して、傾き補正、ノイズ除去、レイアウト解析等を行う。例えば、レイアウト解析で分離した部分画像を、文字切り出しモジュール5930へ渡す。
文字切り出しモジュール5930は、前処理モジュール5920と接続されており、前述の実施の形態(<B>の実施の形態を含む)で実現される。
【0162】
<第C−5の実施の形態>
図60は、第C−5の実施の形態の構成例についての概念的なモジュール構成図である。
第C−5の実施の形態は、画像受付モジュール6010、文字切り出しモジュール6020、後処理モジュール6030を有している。
画像受付モジュール6010は、文字切り出しモジュール6020と接続されており、図42に例示した画像受付モジュール4210に該当する。また、画像6000も図42に例示した画像4200に該当する。
文字切り出しモジュール6020は、画像受付モジュール6010、後処理モジュール6030と接続されており、前述の実施の形態(<B>の実施の形態を含む)で実現される。
後処理モジュール6030は、文字切り出しモジュール6020と接続されており、文字切り出しモジュール6020によって分離された各文字列画像に対して、傾き補正、ノイズ除去、下線除去等を行う。
【0163】
<実験結果C>
<C>に示した実施の形態による実験結果を、この実施の形態を用いないで行った場合と比較して説明する。
まず、<C>に示した実施の形態を用いないで行った場合について説明する。
図61は、多段落であるにもかかわらず単段落として処理してしまった場合の処理結果の例を示す説明図である。例えば、<B>に示した実施の形態による処理結果である。<B>に示した実施の形態は、単段落であることを前提として処理を行うものであるからである。したがって、方向の異なる複数の文字列を含む画像、又は複数の段落を含む画像に対して、文字列を正しく切り出せない場合がある。
図61(a)に例示する画像は、タイトル部分の文字サイズの異なる文字列、横書きの段落、縦書きの段落が混在している多段落により構成されている文書の画像である。図61(b)に例示する画像は、図61(a)に示す画像に対して、<B>に示した実施の形態の処理による文字列切り出し結果である。縦書きの段落は、文字列領域が正しく切り出されていない。
【0164】
図62は、<C>に示した実施の形態による処理結果の例を示す説明図である。図61(a)に例示した画像を対象としたものであり、タイトル部分の文字サイズの異なる文字列、横書きの段落、縦書きの段落の3つの領域に分離しており、タイトル部分は横書きの文字列として、横書きの段落内を横書きの文字列として、縦書きの段落内を縦書きの文字列として、それぞれ分離している。
【0165】
図63を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図63に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部6317と、プリンタなどのデータ出力部6318を備えたハードウェア構成例を示している。
【0166】
CPU(Central Processing Unit)6301は、前述の実施の形態において説明した各種のモジュール、すなわち、順方向経路情報算出モジュール1110、経路選択モジュール1120、逆方向経路情報算出モジュール1130、画像分離モジュール1710、分離経路算出モジュール3120、画像分離モジュール3130、水平方向分離経路算出モジュール3220、垂直方向分離経路算出モジュール3230、経路特徴量算出モジュール3240、分離方向判別モジュール3250、画像分離モジュール3460、解析器選択モジュール4220、分離経路算出モジュール4230、分離経路特徴量算出モジュール4240、主分離方向判別モジュール4250、主分離経路選択モジュール4260、画像分離モジュール4270、再帰処理モジュール4280、再帰のない画像分離モジュール4290等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0167】
ROM(Read Only Memory)6302は、CPU6301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)6303は、CPU6301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス6304により相互に接続されている。
【0168】
ホストバス6304は、ブリッジ6305を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス6306に接続されている。
【0169】
キーボード6308、マウス等のポインティングデバイス6309は、操作者により操作される入力デバイスである。ディスプレイ6310は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0170】
HDD(Hard Disk Drive)6311は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU6301によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象とする画像、経路情報、特徴量、文字列画像などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0171】
ドライブ6312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体6313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース6307、外部バス6306、ブリッジ6305、及びホストバス6304を介して接続されているRAM6303に供給する。リムーバブル記録媒体6313も、ハードディスクと同様のデータ記録領域として利用可能である。
【0172】
接続ポート6314は、外部接続機器6315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート6314は、インタフェース6307、及び外部バス6306、ブリッジ6305、ホストバス6304等を介してCPU6301等に接続されている。通信部6316は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部6317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部6318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0173】
なお、図63に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図63に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図63に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0174】
前述の実施の形態においては、対象とする画像として、1行の横書きの複数文字の画像とした例を用いて説明したが、もちろん縦書きの文字画像であってもよい。その場合、上方向、下方向とあるのは、右方向、左方向となる。また、文字画像の領域を分離する以外に、その他のオブジェクトの画像(例えば、写真内の人物画像、顔画像等)の領域を分離するのに用いてもよい。
前述の実施の形態においては、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
なお、前述の各種の実施の形態(実施例を含む)を組み合わせてもよく(例えば、ある実施の形態内のモジュールを他の実施の形態内に適用する、入れ替えする等も含む)、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
また、前述の各種の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
【0175】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0176】
4210…画像受付モジュール
4220…解析器選択モジュール
4230…分離経路算出モジュール
4240…分離経路特徴量算出モジュール
4250…主分離方向判別モジュール
4260…主分離経路選択モジュール
4270…画像分離モジュール
4280…再帰処理モジュール
4290…再帰のない画像分離モジュール
4410…画像受付モジュール
4420…分離経路による画像分離モジュール
4430…再帰処理モジュール
4510…水平方向分離経路算出モジュール
4520…垂直方向分離経路算出モジュール
4530…経路特徴量算出モジュール
4540…主分離方向判別モジュール
4550…主分離経路選択モジュール
4560…画像分離モジュール
5415…解析器選択モジュール
5430…再帰処理モジュール
5440…再帰のない画像分離モジュール
5910…画像受付モジュール
5920…前処理モジュール
5930…文字切り出しモジュール
6010…画像受付モジュール
6020…文字切り出しモジュール
6030…後処理モジュール

【特許請求の範囲】
【請求項1】
少なくとも文字画像を含む画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する経路算出手段と、
前記経路算出手段によって算出された複数方向の分離経路の特徴量を算出する特徴量算出手段と、
前記特徴量算出手段によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別し、該判別の結果によって前記複数方向の分離経路のうちの分離経路を選択する選択手段と、
前記選択手段によって選択された分離経路により、前記画像を複数の部分画像へ分離する分離手段と、
前記分離手段によって分離された画像の前記文字画像の状態に基づいて、再帰的に処理を行うか否かを判断する再帰処理判断手段
を具備し、
前記経路算出手段は、前記再帰処理判断手段によって再帰的に処理を行うと判断された場合に、前記分離手段によって分離された画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する
ことを特徴とする画像処理装置。
【請求項2】
再帰的処理を行わないで、画像を分離する第2の分離手段と、
前記受付手段が受け付けた画像又は前記分離手段によって分離された部分画像の縦方向の長さと横方向の長さの比率と予め定められた値との比較、又は前記再帰処理判断手段によって再帰的に処理を行うと判断された場合の再帰の深さに基づいて、該画像又は該部分画像を対象として、前記第2の分離手段又は前記経路算出手段に処理を行わせるか否かを判断する判断手段
をさらに具備することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記選択手段は、前記文字画像の状態が多段落である場合は、前記経路算出手段によって算出された分離経路を間引く
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
コンピュータを、
少なくとも文字画像を含む画像を受け付ける受付手段と、
前記受付手段によって受け付けられた画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する経路算出手段と、
前記経路算出手段によって算出された複数方向の分離経路の特徴量を算出する特徴量算出手段と、
前記特徴量算出手段によって算出された特徴量に基づいて、画像の分離方向及び文字画像の状態を判別し、該判別の結果によって前記複数方向の分離経路のうちの分離経路を選択する選択手段と、
前記選択手段によって選択された分離経路により、前記画像を複数の部分画像へ分離する分離手段と、
前記分離手段によって分離された画像の前記文字画像の状態に基づいて、再帰的に処理を行うか否かを判断する再帰処理判断手段
として機能させ、
前記経路算出手段は、前記再帰処理判断手段によって再帰的に処理を行うと判断された場合に、前記分離手段によって分離された画像に対して、該画像内の文字画像を分離する線分である分離経路を算出する
ことを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate

【図50】
image rotate

【図51】
image rotate

【図52】
image rotate

【図53】
image rotate

【図54】
image rotate

【図55】
image rotate

【図56】
image rotate

【図57】
image rotate

【図58】
image rotate

【図59】
image rotate

【図60】
image rotate

【図61】
image rotate

【図62】
image rotate

【図63】
image rotate