(57)【要約】【課題】文字列要素が複数の連結成分によって構成されており、次の文字列要素が含まれている領域内に文字列を構成するのに余分な連結成分が含まれている場合にあって、誤った文字列を生成することを防止するようにした画像処理装置を提供する。【解決手段】画像処理装置の検出手段は、対象とする画像の領域内の連結成分の組み合わせを検出し、文字列要素候補作成手段は、前記検出手段によって検出された連結成分の組み合わせに基づいて、文字列を構成し得る文字列要素の候補となる文字列要素候補の集合を作成し、文字列要素選択手段は、前記文字列要素候補作成手段によって作成された文字列要素候補の集合から、過去に選択された文字列要素に続く文字列要素を選択する。【選択図】図１
2014044500.tif 000002
【特許請求の範囲】
【請求項１】
対象とする画像の領域内の連結成分の組み合わせを検出する検出手段と、
前記検出手段によって検出された連結成分の組み合わせに基づいて、文字列を構成し得る文字列要素の候補となる文字列要素候補の集合を作成する文字列要素候補作成手段と、
前記文字列要素候補作成手段によって作成された文字列要素候補の集合から、過去に選択された文字列要素に続く文字列要素を選択する文字列要素選択手段
を具備することを特徴とする画像処理装置。
【請求項２】
過去に選択された文字列要素に基づいて、該文字列要素に続く文字列要素があるべき領域を予測する予測手段
をさらに具備し、
前記検出手段は、前記予測手段によって予測された領域内の連結成分の組み合わせを検出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検出手段によって検出された連結成分の組み合わせから、文字列要素としては不適切な連結成分を除去することによって連結成分を選択する連結成分選択手段
をさらに具備し、
前記文字列要素候補作成手段は、前記連結成分選択手段によって選択された連結成分の組み合わせに基づいて、文字列要素候補の集合を作成する
ことを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記予測手段は、複数の予測領域を作成し、
前記検出手段は、異なる予測領域に含まれる連結成分を組み合わせることを行わない
ことを特徴とする請求項２又は請求項３に記載の画像処理装置。
【請求項５】
前記文字列要素選択手段によって選択された文字列要素を文字列として出力する出力手段と、
画像内から連結成分である開始のための文字列要素が検出されなくなることを終了として判別する判別手段
を具備することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記出力手段によって出力された文字列に対して、文字認識を行う文字認識手段
をさらに具備することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記出力手段によって出力された文字列に基づいて、歪み量を算出する算出手段と、
前記算出手段によって算出された歪み量に基づいて、前記文字列を含む画像の歪みを補正する補正手段
をさらに具備することを特徴とする請求項５に記載の画像処理装置。
【請求項８】
コンピュータを、
対象とする画像の領域内の連結成分の組み合わせを検出する検出手段と、
前記検出手段によって検出された連結成分の組み合わせに基づいて、文字列を構成し得る文字列要素の候補となる文字列要素候補の集合を作成する文字列要素候補作成手段と、
前記文字列要素候補作成手段によって作成された文字列要素候補の集合から、過去に選択された文字列要素に続く文字列要素を選択する文字列要素選択手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、帳票上の文字を読取って２値化した文字パターンを複数行分格納する第１の記憶手段と、第１の記憶手段を列方向に走査して黒点を計数することにより得られる行方向の黒点の射影分布を格納する第２の記憶手段と、文字の下端アドレスを少なくとも１行分格納する第３の記憶手段と、前記射影分布に基づいて文字行の上端アドレスを定め、列方向の一方からの走査を、該上端アドレスからの第１の行方向走査範囲について行って最初の黒点を検出し、その後黒点の検出結果にしたがって移動する第２の行方向走査範囲について行って文字の下端アドレスを順次検出すると共に、検出した時点の下端アドレスの最大値を第３の記憶手段に順次格納し、格納結果の内容を列方向の他方からの走査により検出した文字の下端アドレスと比較することにより小さい方の値により該内容を更新し、更新結果に基づいて文字行の切り出しを行う制御手段とを有することを特徴とする文字行切り出し方式について開示されている。
【０００３】
特許文献２には、読み込むべき行の抽出、読み取られた文字画像の列方向のずれや傾きを補正して、文字認識における認識正解率の向上を図ることを目的とし、蛇行して読み込まれた複数行の文書画像の列方向の中心又はその付近に存在する文字を抽出することにより、その文字を基に読み込むべき行の抽出を行うとともに、読み込まれた同一行内の文字画像同志に列方向のずれがある場合は、そのずれを文字間の傾きをもとに求めてその傾きに応じた補正を行い、かつ、読み込まれた文字画像が列方向への傾斜を生じている場合は、その傾斜の傾きが最小となるような処理を行って傾斜の補正を行うことが開示されている。
【０００４】
非特許文献１に示す方式は、ひとつの連結成分を文字列要素とする。また、文字列方向が水平であることを前提とする。まず、最近傍でありサイズが近似している条件から連結成分のペアを作成する。次に、ペアを始点として左右に向かって追跡を行う。追跡においては、連結成分の上端と下端から２つの平行線を算出し、これらに挟まれる領域を予測領域として観測を行う。平行線は最近観測した一定個数の連結成分から最小二乗法により算出する。非特許文献１は、文字列の傾き・湾曲に対して頑健な切り出し精度を示す。
【０００５】
非特許文献２に示す方式は、ひとつの連結成分を文字列要素とする。はじめに、画像の一般図形ボロノイ図を解析し、連結成分どうしの隣接グラフを作成する。次に、隣接グラフから、文字列の一部である確度が高い部分グラフを検出する。次に、この部分グラフを始点として連結成分を追跡する。なお、追跡においては、隣接関係にある複数の連結成分から、最適なものを観測する。最適な連結成分の判別においては、追跡している文字列の形状を推定し、これを参照する。非特許文献２の方式は、文字列の太さ・方向の多様性に対して頑健な切り出し精度を示す。
【０００６】
非特許文献３に示す方式は、２値画像の垂直に連なる画素ランを文字列要素とする。また、文字列方向が水平であることを前提とする。はじめに、文書画像を縮小する。縮小により、文字列領域は他の領域よりも文字画素密度が高くなる。次に、縮小後画像を２値化する。次に、左端（又は、右端）の画素ランを始点として、右端（左端）へ画素ランを追跡する。なお、追跡においては、Ｋａｌｍａｎ−Ｆｉｌｔｅｒを利用する。非特許文献３の方式は、文字列の傾き・歪曲に対して頑健な切り出し精度を示す。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６２−２６２１９３号公報
【特許文献２】特開平０８−０４４８１９号公報
【非特許文献】
【０００８】
【非特許文献１】Ｄａｎｉｅｌ  Ｍ．  Ｏｌｉｖｅｉｒａ，  Ｒａｆａｅｌ  Ｄ．  Ｌｉｎｓ，  Ｇａｂｒｉｅｌ  Ｔｏｒｒｅａｏ，  Ｊｉａｎ  Ｆａｎ，  Ｍａｒｃｅｌｏ  Ｔｈｉｅｌｏ，  “Ａ  Ｎｅｗ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｔｅｘｔ−Ｌｉｎｅ  Ｓｅｇｍｅｎｔａｔｉｏｎ  ｆｏｒ  Ｗａｒｐｅｄ  Ｄｏｃｕｍｅｎｔｓ，”  ｉｎ  Ｐｒｏｃ．  ｏｆ  Ｉｎｔ．  Ｃｏｎｆ．  ｏｎ  Ｉｍａｇｅ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｃｏｇｎｉｔｉｏｎ，  Ｐｏｖｏａ  ｄｅ  Ｖａｒｚｉｍ，  Ｐｏｒｔｕｇａｌ，  ｐｐ．３９８−４０８，  ２０１０．
【非特許文献２】岩田基，  黄瀬浩一，  松本啓之亮，  “隣接グラフを用いた欧文文書からの文字列抽出”情報処理学会論文誌，  Ｖｏｌ．４９，  Ｎｏ．８，  ｐｐ．３２３９−３２４８，  Ａｕｇ  １９９９．
【非特許文献３】Ａｕｒｅｌｅｌｉｅ  Ｌｅｍａｉｔｒｅ，  Ｊｅａｎ  Ｃａｍｉｌｌｅｒａｐｐ，  “Ｔｅｘｔ  ＬｉｎｅＥｘｔｒａｃｔｉｏｎ  ｉｎ  Ｈａｎｄｗｒｉｔｔｅｎ  Ｄｏｃｕｍｅｎｔ  ｗｉｔｈ  Ｋａｌｍａｎ  Ｆｉｌｔｅｒ  Ａｐｐｌｉｅｄ  ｏｎ  Ｌｏｗ  Ｒｅｓｏｌｕｔｉｏｎ  Ｉｍａｇｅ，”  ２ｎｄ  Ｉｎｔ．  Ｃｏｎｆ．  ｏｎ  Ｄｏｃｕｍｅｎｔ  Ｉｍａｇｅ  Ａｎａｌｙｓｉｓ  ｆｏｒ  Ｌｉｂｒａｒｉｅｓ，  Ｌｙｏｎ，  Ｆｒａｎｃｅ，  ２００６．
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、文字列要素が複数の連結成分によって構成されており、次の文字列要素が含まれている領域内に文字列を構成するのに余分な連結成分が含まれている場合にあって、誤った文字列を生成することを防止するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、対象とする画像の領域内の連結成分の組み合わせを検出する検出手段と、前記検出手段によって検出された連結成分の組み合わせに基づいて、文字列を構成し得る文字列要素の候補となる文字列要素候補の集合を作成する文字列要素候補作成手段と、前記文字列要素候補作成手段によって作成された文字列要素候補の集合から、過去に選択された文字列要素に続く文字列要素を選択する文字列要素選択手段を具備することを特徴とする画像処理装置である。
【００１１】
請求項２の発明は、過去に選択された文字列要素に基づいて、該文字列要素に続く文字列要素があるべき領域を予測する予測手段をさらに具備し、前記検出手段は、前記予測手段によって予測された領域内の連結成分の組み合わせを検出することを特徴とする請求項１に記載の画像処理装置である。
【００１２】
請求項３の発明は、前記検出手段によって検出された連結成分の組み合わせから、文字列要素としては不適切な連結成分を除去することによって連結成分を選択する連結成分選択手段をさらに具備し、前記文字列要素候補作成手段は、前記連結成分選択手段によって選択された連結成分の組み合わせに基づいて、文字列要素候補の集合を作成することを特徴とする請求項１又は請求項２に記載の画像処理装置である。
【００１３】
請求項４の発明は、前記予測手段は、複数の予測領域を作成し、前記検出手段は、異なる予測領域に含まれる連結成分を組み合わせることを行わないことを特徴とする請求項２又は請求項３に記載の画像処理装置である。
【００１４】
請求項５の発明は、前記文字列要素選択手段によって選択された文字列要素を文字列として出力する出力手段と、画像内から連結成分である開始のための文字列要素が検出されなくなることを終了として判別する判別手段を具備することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置である。
【００１５】
請求項６の発明は、前記出力手段によって出力された文字列に対して、文字認識を行う文字認識手段をさらに具備することを特徴とする請求項５に記載の画像処理装置である。
【００１６】
請求項７の発明は、前記出力手段によって出力された文字列に基づいて、歪み量を算出する算出手段と、前記算出手段によって算出された歪み量に基づいて、前記文字列を含む画像の歪みを補正する補正手段をさらに具備することを特徴とする請求項５に記載の画像処理装置である。
【００１７】
請求項８の発明は、コンピュータを、対象とする画像の領域内の連結成分の組み合わせを検出する検出手段と、前記検出手段によって検出された連結成分の組み合わせに基づいて、文字列を構成し得る文字列要素の候補となる文字列要素候補の集合を作成する文字列要素候補作成手段と、前記文字列要素候補作成手段によって作成された文字列要素候補の集合から、過去に選択された文字列要素に続く文字列要素を選択する文字列要素選択手段として機能させるための画像処理プログラムである。
【発明の効果】
【００１８】
請求項１の画像処理装置によれば、文字列要素が複数の連結成分によって構成されており、次の文字列要素が含まれている領域内に文字列を構成するのに余分な連結成分が含まれている場合にあって、誤った文字列を生成することを防止することができる。
【００１９】
請求項２の画像処理装置によれば、過去に選択された文字列要素に基づいて、その文字列要素に続く文字列要素があるべき領域を予測することができる。
【００２０】
請求項３の画像処理装置によれば、文字列要素としては不適切な連結成分を除去することができる。
【００２１】
請求項４の画像処理装置によれば、異なる予測領域に含まれる連結成分を組み合わせることを行わないようにすることができる。
【００２２】
請求項５の画像処理装置によれば、文字列要素を文字列として出力することができる。
【００２３】
請求項６の画像処理装置によれば、抽出した文字列に対して、文字認識を行うことができる。
【００２４】
請求項７の画像処理装置によれば、抽出した文字列の歪み量に基づいて、その文字列を含む画像の歪みを補正することができる。
【００２５】
請求項８の画像処理プログラムによれば、文字列要素が複数の連結成分によって構成されており、次の文字列要素が含まれている領域内に文字列を構成するのに余分な連結成分が含まれている場合にあって、誤った文字列を生成することを防止することができる。
【図面の簡単な説明】
【００２６】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】追跡型の文字列切り出しの例を示す説明図である。
【図３】予測領域が本来の文字列要素を含まない場合の例を示す説明図である。
【図４】予測領域内の誤った文字列要素を選択した場合の例を示す説明図である。
【図５】予測領域の例を示す説明図である。
【図６】予測領域の例を示す説明図である。
【図７】本実施の形態による処理例を示す説明図である。
【図８】第１の実施の形態による処理例を示すフローチャートである。
【図９】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図１０】第２の実施の形態による処理例を示すフローチャートである。
【図１１】第３の実施の形態による処理例を示す説明図である。
【図１２】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図１３】第３の実施の形態による処理例を示すフローチャートである。
【図１４】第４の実施の形態による処理例を示す説明図である。
【図１５】第４の実施の形態による処理例を示すフローチャートである。
【図１６】第５の実施の形態の構成例についての概念的なモジュール構成図である。
【図１７】第６の実施の形態の構成例についての概念的なモジュール構成図である。
【図１８】第７の実施の形態の構成例についての概念的なモジュール構成図である。
【図１９】第８の実施の形態の構成例についての概念的なモジュール構成図である。
【図２０】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２７】
まず、本実施の形態を説明する前に、その前提となる技術について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
以下に説明する実施の形態は、文字列切り出し技術に属する。文字列切り出し技術とは、文書画像（ビットマップ画像、ストローク画像、ベクトル画像）中の、文字列領域を個々に検出する技術である。
本実施の形態では、文字列を文字列方向に連なる文字列要素のセット（集合）とする。なお、本実施の形態において文字列要素とは、連結成分のセットである。また、連結成分とは、ビットマップ画像の連結する文字画素のセットに相当する。また、ストローク画像においては、ひとつのストローク、又は被覆し合うストロークのセットに相当する。また、文字列要素は必ずしも単文字ではない。
なお、文字画素（画素塊）とは、４連結又は８連結で連続する画素領域を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、４連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての１行から１文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は一定間隔で切り出した画像領域等がある。
なお、ひとつの画素塊として、１文字の画像となる場合が多い。ただし、実際に人間が文字として認識できる画素領域である必要はない。文字の一部分、文字を形成しない画素領域等もあり、何らかの画素の塊であればよい。
【００２８】
特に本実施の形態は、追跡による文字列切り出し技術に属する。
追跡は、これまで観測している文字列要素から、続く文字列要素を観測する処理を繰り返し行う処理である。このとき、続く文字列要素があるべき領域を予測する。なお、観測とは、追跡している文字列に文字列要素を加えることである。
説明のための模式図を図２に示す。実線円は文字列要素Ｃｋを、破線円は予測領域Ｒｋを、矩形は連結成分ｃｋ，ｉを表す。また、太線矩形は予測領域Ｒｋに含まれる連結成分を表す。ここで、Ｃｋ−１は、既に文字列要素として選択されたものである。そして、この状態からＣｋ−１に続く文字列要素があるべき領域として予測領域Ｒｋを対象として、文字列要素Ｃｋを観測（選択）している。
【００２９】
文字列切り出し技術は、文書画像の文字認識や歪み補正の要素技術である。
追跡による文字列切り出し方式は、個々の文字列に対して個別に検出を行うため、他のアプローチと比較して、文字列の形状と文書のレイアウトの多様性に対して頑健な切り出し精度を示す。なお、文字列の形状とは、太さ・方向・湾曲をさす。
【００３０】
追跡による文字列切り出しの先行方式は、予測領域が、続く文字列要素を含まない場合、文字列切り出しに失敗する。説明のための模式図を図３に示す。いま、文字列要素Ｃｋ−１から続く文字列要素Ｃｋを観測しようとする。そこで予測領域Ｒｋを作成するが、ＲｋがＣｋの要素である連結成分｛ｃｋ，１，ｃｋ，２｝を含まない。この場合、文字列切り出しに失敗する。
【００３１】
一方で、予測領域が、続く文字列要素に含まれない連結成分を含む場合、文字列切り出しに失敗する。説明のための模式図を図４に示す。図４に示す例では、ＲｋはＣｋの要素でない連結成分｛ｃｋ，４，ｃｋ，５，ｃｋ，６｝を含む。なお、ここでｃｋ，６を観測することは必ずしも誤りでない。これは、文字列切り出しの目的は文字列領域を正しく検出することであり、文字列要素どうしの切れ目を正しく検出することでないためである。しかし、追跡は、これまで観測している文字列要素ｋ、続く文字列要素のあるべき領域を予測し、予測領域に含まれる文字列要素を観測する。ゆえに、追跡にとって最適でない文字列要素を観測すること、続く文字列要素の観測の精度を低下させることがある。ゆえに文字列切り出しの精度を低下させることになる。
【００３２】
そこで、非特許文献１、非特許文献２、非特許文献３、特許文献２に示されている方式には、誤った観測を避けるため、文字列要素の大きさ・角度などから観測するか否かを判別する工夫がある。また、非特許文献２の方式には、複数の文字列要素から最適な文字列要素を観測する、という工夫がある。
しかし、文字列要素は必ずしもひとつの連結成分から成るとは限らない。これに対して、非特許文献１、非特許文献２、非特許文献３及び、特許文献２の方式は、文字列要素がひとつの連結成分から成ると想定する。ゆえに、ひとつの連結成分毎に観測するか否かを判別するため、図３、図４の状況下において文字列切り出しに失敗する。
【００３３】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、ひとつのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、すべての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、ひとつのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３４】
第１の実施の形態である画像処理装置は、文字列を切り出すものであって、図１の例に示すように、予測モジュール１１０、連結成分検出モジュール１２０、文字列要素候補作成モジュール１３０、文字列要素観測モジュール１４０、連結成分保持モジュール１５０、文字列要素保持モジュール１６０を有している。
【００３５】
予測モジュール１１０は、連結成分検出モジュール１２０、文字列要素観測モジュール１４０と接続されている。予測モジュール１１０は、過去に選択された文字列要素（ここでは、開始文字列要素１０５又は文字列要素１４５）に基づいて、その文字列要素に続く文字列要素があるべき予測領域１１５を予測する。つまり、予測モジュール１１０は、これまで観測している文字列要素から、続く文字列要素のあるべき領域を予測する。
連結成分検出モジュール１２０は、予測モジュール１１０、文字列要素候補作成モジュール１３０、連結成分保持モジュール１５０と接続されている。連結成分検出モジュール１２０は、予測モジュール１１０によって予測された予測領域１１５内の連結成分の組み合わせ（連結成分セット１２５）を検出する。つまり、連結成分検出モジュール１２０は、予測領域に含まれる連結成分のセットを検出する。なお、連結成分検出モジュール１２０において連結成分が観測されない場合、追跡を終了する（終了信号１９５を出力する）。そして、文字列要素保持モジュール１６０に保持する文字列要素のセットを文字列として出力する。
【００３６】
文字列要素候補作成モジュール１３０は、連結成分検出モジュール１２０、文字列要素観測モジュール１４０と接続されている。文字列要素候補作成モジュール１３０は、連結成分検出モジュール１２０によって検出された連結成分の組み合わせに基づいて、文字列を構成し得る文字列要素の候補となる文字列要素候補の集合（文字列要素セット１３５）を作成する。つまり、文字列要素候補作成モジュール１３０は、連結成分のセットの組み合わせから文字列要素の候補のセットを作成する。
文字列要素観測モジュール１４０は、文字列要素候補作成モジュール１３０、文字列要素保持モジュール１６０、予測モジュール１１０と接続されている。文字列要素観測モジュール１４０は、文字列要素候補作成モジュール１３０によって作成された文字列要素候補の集合から、過去に選択された文字列要素に続く文字列要素（文字列要素１４５）を選択する。つまり、文字列要素観測モジュール１４０は、候補のセットから文字列に適している文字列要素を選択する。
【００３７】
連結成分保持モジュール１５０は、連結成分検出モジュール１２０と接続されている。連結成分保持モジュール１５０は、画像内の連結成分を予め記憶している。例えば、対象としている画像から既存の技術を用いて連結成分を抽出しておき、連結成分保持モジュール１５０に記憶しており、連結成分検出モジュール１２０に対して供給する。
文字列要素保持モジュール１６０は、文字列要素観測モジュール１４０と接続されている。文字列要素保持モジュール１６０は、文字列要素観測モジュール１４０によって出力された文字列要素１４５を記憶する。この文字列要素保持モジュール１６０内に記憶されている文字列要素１４５は対象としている画像内の文字列である。
【００３８】
なお、第１の実施の形態では、予測モジュール１１０は無くてもよい。その場合、連結成分検出モジュール１２０は、対象とする画像の領域内の連結成分の組み合わせを検出する。つまり、開始文字列要素１０５又は文字列要素１４５に基づいて、連結成分セット１２５を検出する。その場合、対象とする領域は、例えば、開始文字列要素１０５又は文字列要素１４５の右側の領域（左から右への横書きである場合）、左側の領域（右から左への横書きである場合）、下側の領域（縦書きである場合）としてもよい。
【００３９】
以下に、予測モジュール１１０、文字列要素候補作成モジュール１３０、文字列要素観測モジュール１４０の処理について詳述する。
予測モジュール１１０は、予測領域を設定する。文字列要素候補作成モジュール１３０は、連結成分の組み合わせから文字列要素の候補を作成する。そして、文字列要素観測モジュール１４０は、文字列要素の候補から文字列として適しているものを選択する。
説明のための模式図を図５〜７に示す。
まず、文字列要素候補作成モジュール１３０は、予測領域Ｒｋに含まれる連結成分のセット｛ｃｋ，１，…，ｃｋ，Ｍ｝を取得する。次に、連結成分の組み合わせから、続く文字列要素の候補のセット｛Ｃｋ，１，…，Ｃｋ，Ｎ｝を作成する（ｓｔｅｐ１）。
次に、文字列要素観測モジュール１４０は、文字列要素の候補のセットから、文字列に適している文字列要素Ｃｋ，ｎ’を選択する（ｓｔｅｐ２）。
【００４０】
なお、予測モジュール１１０が行うＲｋの作成方法は、目的に応じて自由に決定してよい。例えば、以下のような方法がある。
いま、文字列要素Ｃｋの外接矩形をｒｋ＝（ｘｋ，ｙｋ，ｗｋ，ｈｋ）Ｔとする。なお、ｘｋ，ｙｋはｒｋの中心座標、ｗｋ，ｈｋはｒｋのサイズである。最近観測したｍ個の文字列要素のセット｛Ｃｋ−１−ｍ，…，Ｃｋ−１｝から、続く文字列要素のセットＣｋ−１のあるべき領域Ｒｋを矩形（ｘｋ，ｙｋ，ｗｋ，ｈｋ）Ｔとして、数式１、数式２、数式３、数式４のように算出する。なお、δｋはＣｋとＣｋ−１の成す距離であり数式５のように算出する。また、θｋはＣｋとＣｋ−１の成す角度であり数式６のように算出する。ここに示す例では、文字列要素の外接矩形のセット｛ｒｋ−１−ｍ，…，ｒｋ−１｝の平均を利用している。以上の様子を図５に示す。
【数１】
2014044500.tif 000003
【数２】
2014044500.tif 000004
【数３】
2014044500.tif 000005
【数４】
2014044500.tif 000006
【数５】
2014044500.tif 000007
【数６】
2014044500.tif 000008
【００４１】
また、Ｃｋの外接矩形ではなく、Ｃｋの外接矩形が成す楕円に基づいて、Ｒｋの算出を行ってもよい。このとき、ＣｋとＣｋ−１の成す距離δｋは数式７のように、楕円領域を含まないものであってもよい。なおＲａｄｉｕｓ（ｒｋ，θｋ）は、数式１０により計算される、矩形ｒｋに内接する楕円の角度θｋに関する半径である。また、Ｃｋのサイズは、文字列方向と文字列と直交する方向について、それぞれ算出される楕円の直径であってもよい。それぞれ、τｋ、λｋとして数式８、数式９のように算出する。それぞれ、文字列要素の外接矩形のセット｛ｒｋ−１−ｍ，…ｒｋ−１｝から算出し、数式１、数式２、数式３、数式４、数式５と同様に平均を利用して算出する。この様子を図６に示す。
【数７】
2014044500.tif 000009
【数８】
2014044500.tif 000010
【数９】
2014044500.tif 000011
【数１０】
2014044500.tif 000012
また、平均を利用するのではなく、２乗誤差最小法を用いてもよい。又は、Ｋａｌｍａｎ−Ｆｉｌｔｅｒを利用した逐次演算を行ってもよい。さらに、Ｒｋの領域のサイズを、ある割合で拡大してもよい。
【００４２】
また、文字列要素観測モジュール１４０が行う文字列要素Ｃｋ，ｎ’の選択は、目的に応じて自由に決定してよい。
例えば、以下のような方法がある。
いま文字列要素の特徴量をｅｋとする。またｅｋどうしの距離を表す評価関数ｄを用いて、数式１１を満たすｎ’を選択する。なお、ｅｍｋ，ｎはｎ番目の文字列要素の候補の特徴量である。また、ｅｐｋ，ｎは基準となる文字列要素の特徴量である。文字列要素の特徴量ｅｋは、例えば（ｘｋ，ｙｋ，ｗｋ，ｈｋ）や（θｋ，δｋ，τｋ，λｋ）とする方法がある。それぞれ、数式１、数式２、数式３、数４、数式５、数式６、数式２、数式３、数式４のように算出する。評価関数ｄは、例えば数式１２が考えられる。いま、文字列要素ｅのｉ番目の特徴量を［ｅ］ｉとする。なお、ψｉは重みである。
また、文字列に適している文字列要素Ｃｋ，ｎ’の選択は、決定木による選択を行ってもよい。
【数１１】
2014044500.tif 000013
【数１２】
2014044500.tif 000014
また、連結成分の総数Ｎに対する文字列要素の候補の総数の最大値は、２Ｎ（＝Ｍ）であるが、適用目的に応じて２Ｎ以下の候補数へ限定してもよい。
【００４３】
本実施の形態は、追跡において連結成分の組み合わせを用いる。これにより、必ずしも文字列要素がひとつの連結成分から成るとは限らず、かつ、予測領域が正しい文字列要素のみを含まない場合（過不足がある場合）においても対処可能となる。
また追跡において文字列要素どうしの距離が一定であることを利用する場合がある。距離とはδｋに相当する。このとき、文字列方向について適した切れ目で文字列要素を観測することは、切り出しの精度を改善する。なおこのことはδｋに限らず、他の文字列要素どうしの特徴量についても同様のことがいえる。
【００４４】
図８は、第１の実施の形態による処理例を示すフローチャートである。
ステップＳ８０２では、予測モジュール１１０へ、文字列要素Ｃ１を入力する。
ステップＳ８０４では、変数ｋに１を代入する。
ステップＳ８０６では、変数ｋにｋ＋１を代入する。
ステップＳ８０８では、予測モジュール１１０が、予測領域Ｒｋを作成する。
ステップＳ８１０では、連結成分検出モジュール１２０が、連結成分保持モジュール１５０内からＲｋに含まれる連結成分のセットＳを検出する。
ステップＳ８１２では、連結成分検出モジュール１２０が、＃｛Ｓ｝＞０であるか否かを判断し、＃｛Ｓ｝＞０である場合はステップＳ８１４へ進み、それ以外の場合はステップＳ８２０へ進む。なお、＃｛Ｓ｝は集合Ｓの要素数である。
【００４５】
ステップＳ８１４では、文字列要素候補作成モジュール１３０が、Ｓの要素の組み合わせからＣｋの候補のセットＥを作成する。
ステップＳ８１６では、文字列要素観測モジュール１４０が、Ｅから要素Ｃｋを選択する。
ステップＳ８１８では、文字列要素保持モジュール１６０が、Ｃｋを保持し、ステップＳ８０６へ戻る。
ステップＳ８２０では、連結成分検出モジュール１２０が、｛Ｃ１，…，Ｃｋ｝を出力する。
【００４６】
図９は、第２の実施の形態の構成例についての概念的なモジュール構成図である。
第２の実施の形態である画像処理装置は、連結成分を選択して文字列を切り出すものであって、図９の例に示すように、予測モジュール１１０、連結成分検出モジュール１２０、連結成分選択モジュール９２６、文字列要素候補作成モジュール１３０、文字列要素観測モジュール１４０、連結成分保持モジュール１５０、文字列要素保持モジュール１６０を有している。第２の実施の形態は、第１の実施の形態に連結成分選択モジュール９２６を加えたものである。なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。
【００４７】
予測モジュール１１０は、連結成分検出モジュール１２０、連結成分選択モジュール９２６、文字列要素観測モジュール１４０と接続されている。予測モジュール１１０は、予測領域１１５を連結成分検出モジュール１２０、連結成分選択モジュール９２６へ渡す。
連結成分検出モジュール１２０は、予測モジュール１１０、連結成分選択モジュール９２６、連結成分保持モジュール１５０と接続されている。連結成分検出モジュール１２０は、連結成分セット１２５を連結成分選択モジュール９２６へ渡す。
連結成分選択モジュール９２６は、予測モジュール１１０、連結成分検出モジュール１２０、文字列要素候補作成モジュール１３０と接続されている。連結成分選択モジュール９２６は、予測領域１１５内で連結成分検出モジュール１２０によって検出された連結成分の組み合わせ（連結成分セット１２５）から、文字列要素としては不適切な連結成分を除去することによって連結成分を選択する。選択した結果が文字列要素セット９２８である。つまり、連結成分選択モジュール９２６において、連結成分検出モジュール１２０が検出した連結成分セット１２５から、文字列要素としては不適切な要素を除く。なお、ここで不適切とは、既に他の文字列として検出されている連結成分や、これまで観測している文字列要素とサイズが大きく異なる連結成分を指す。具体的には、これまで観測している文字列要素のサイズの統計値（平均値、中央値、最頻値等）を算出し、その統計値と文字列要素のサイズの差が予め定められた値以上である場合には、その文字列要素を不適切な要素と判断する。この処理はノイズ除去に相当し、切り出し精度を向上させる場合に行う。
文字列要素候補作成モジュール１３０は、連結成分選択モジュール９２６、文字列要素観測モジュール１４０と接続されている。文字列要素候補作成モジュール１３０は、連結成分選択モジュール９２６によって選択された連結成分の組み合わせ（文字列要素セット９２８）に基づいて、文字列要素候補の集合を作成する。
【００４８】
図１０は、第２の実施の形態による処理例を示すフローチャートである。
ステップＳ１００２では、予測モジュール１１０へ、文字列要素Ｃ１を入力する。
ステップＳ１００４では、変数ｋに１を代入する。
ステップＳ１００６では、変数ｋにｋ＋１を代入する。
ステップＳ１００８では、予測モジュール１１０が、予測領域Ｒｋを作成する。
ステップＳ１０１０では、連結成分検出モジュール１２０が、Ｒｋに含まれる連結成分のセットＳ’を検出する。
ステップＳ１０１２では、連結成分選択モジュール９２６が、Ｓ’の要素について、不適切なものを除去し、Ｓを作成する。
【００４９】
ステップＳ１０１４では、連結成分選択モジュール９２６が、＃｛Ｓ｝＞０であるか否かを判断し、＃｛Ｓ｝＞０である場合はステップＳ１０１６へ進み、それ以外の場合はステップＳ１０２２へ進む。
ステップＳ１０１６では、文字列要素候補作成モジュール１３０が、Ｓの要素の組み合わせからＣｋの候補のセットＥを作成する。
ステップＳ１０１８では、文字列要素観測モジュール１４０が、Ｅから要素Ｃｋを選択する。
ステップＳ１０２０では、文字列要素保持モジュール１６０が、Ｃｋを保持し、ステップＳ１００６へ戻る。
ステップＳ１０２２では、連結成分検出モジュール１２０が、｛Ｃ１，…，Ｃｋ｝を出力する。
【００５０】
図１１は、第３の実施の形態による処理例を示す説明図である。第３の実施の形態は、複数の予測領域を対象とする。
まず、複数予測領域作成モジュール１２０６が、複数の予測領域を作成する、次に、文字列要素候補作成モジュール１３０が、それぞれの予測領域に含まれる連結成分の組み合わせから文字列要素の候補のセットを作成する。次に、文字列要素観測モジュール１４０が、候補のセットから文字列として適している文字列要素を選択する。
【００５１】
説明のための模式図を図１１に示す。まず、複数予測領域作成モジュール１２０６が、複数の予測領域Ｒｋ，１，Ｒｋ，２，Ｒｋ，３を作成する。Ｒｋ，１からは｛ｃｋ，１，ｃｋ，２，ｃｋ，３｝を検出する。Ｒｋ，２からは｛ｃｋ，３｝を検出する。Ｒｋ，３からは｛ｃｋ，４，ｃｋ，５｝を検出する。異なる予測領域に含まれる連結成分の組み合わせを行わないため、図７の例と比較して、候補数が減少することがわかる。
【００５２】
図１２は、第３の実施の形態の構成例についての概念的なモジュール構成図である。第３の実施の形態は、図１２の例に示すように、複数予測領域作成モジュール１２０６、連結成分検出モジュール１２０、文字列要素候補作成モジュール１３０、文字列要素観測モジュール１４０、連結成分保持モジュール１５０、文字列要素保持モジュール１６０を有している。
複数予測領域作成モジュール１２０６は、連結成分検出モジュール１２０、文字列要素観測モジュール１４０と接続されている。複数予測領域作成モジュール１２０６は、複数の予測領域を作成する。例えば、図５、６の例を用いて前述した方法でパラメータ（例えば、θ等）を異ならせることによって、複数の予測領域Ｒを作成する。
【００５３】
連結成分検出モジュール１２０は、複数予測領域作成モジュール１２０６、文字列要素候補作成モジュール１３０、連結成分保持モジュール１５０と接続されている。連結成分検出モジュール１２０は、は、異なる予測領域に含まれる連結成分を組み合わせることを行わない。つまり、複数予測領域作成モジュール１２０６が作成した予測領域毎に、連結成分の組み合わせを検出する。
文字列要素候補作成モジュール１３０は、連結成分検出モジュール１２０、文字列要素観測モジュール１４０と接続されている。文字列要素候補作成モジュール１３０は、それぞれの予測領域毎に、連結成分のセットの組み合わせから文字列要素の候補のセットを作成する。
文字列要素観測モジュール１４０は、文字列要素候補作成モジュール１３０、文字列要素保持モジュール１６０、複数予測領域作成モジュール１２０６と接続されている。文字列要素観測モジュール１４０は、それぞれの予測領域について作成された文字列要素候補から、文字列として適している文字列要素を選択する。
【００５４】
図１３は、第３の実施の形態による処理例を示すフローチャートである。
ステップＳ１３０２では、予測領域のセットＡ＝｛Ｒ１，…，Ｒ＃｛Ａ｝｝を作成する。
ステップＳ１３０４では、変数ｍｉｎに∞（∞であることを示す値）を代入する。
ステップＳ１３０６では、変数ａに１を代入する。
ステップＳ１３０８では、Ｒａについて、連結成分検出モジュール１２０が、連結成分検出、文字列要素候補作成モジュール１３０が、文字列要素候補作成、文字列要素観測モジュール１４０が、文字列として適している文字列要素検出を行い、Ｃａを作成する。
【００５５】
ステップＳ１３１０では、ｍｉｎ＞ｄ（Ｃａ）であるか否かを判断し、ｍｉｎ＞ｄ（Ｃａ）である場合はステップＳ１３１２へ進み、それ以外の場合はステップＳ１３１６へ進む。なお、関数ｄ（Ｃ）は、文字列要素Ｃが適切であるほど小さな値を返す評価関数である。例えば、関数ｄ（Ｃ）は数式１２で実施される。
ステップＳ１３１２では、変数ｍｉｎにｄ（Ｃａ）を代入する。
ステップＳ１３１４では、変数ａ’にａを代入する。
ステップＳ１３１６では、ａ＜＃｛Ａ｝であるか否かを判断し、ａ＜＃｛Ａ｝である場合はステップＳ１３１８へ進み、それ以外の場合は処理を終了する（ステップＳ１３９９）。
ステップＳ１３１８では、変数ａにａ＋１を代入し、ステップＳ１３０８へ戻る。
【００５６】
図１４は、第４の実施の形態による処理例を示す説明図である。第４の実施の形態は、注目している変数を対象として組み合わせを行う。
文字列要素候補作成モジュール１３０と文字列要素選択モジュール１４０の変形例として、注目している変数を有している組み合わせを対象とするものである。連結成分のセットを、予め定められた変数についてソートし、文字列要素とする連結成分のセットの開始位置と終了位置を選択する。
図１４に説明のための模式図を示す。また図１５に第４の実施の形態の処理フローを示す。
まず、文字列要素候補作成モジュール１３０が、予測領域に含まれる連結成分を注目変数についてソートする。図１４の例では追跡の進行方向について、位置の順にソートしている。注目変数は他に角度やサイズなどを用いてもよい。次に、ソートされた連結成分のセットについて、その開始位置ｉと終了位置ｊとの組み合わせから、文字列要素の候補のセットを作成する。図１４の例では、開始位置ｉ（＝２）と終了位置ｊ（＝４）の間にあるｃｋ，２、ｃｋ，３、ｃｋ，４を対象として、文字列要素の候補のセットを作成する。
そして、文字列要素観測モジュール１４０が、候補から文字列として適している文字列要素を選択する。
この処理により、最大で２＃｛Ｓ｝であった文字列要素の候補数が＃｛Ｓ｝Ｃ２に減少する。
【００５７】
図１５は、第４の実施の形態による処理例を示すフローチャートである。
ステップＳ１５０２では、連結成分のセットＳを注目変数についてソートする。
ステップＳ１５０４では、変数ｍｉｎに∞を代入する。
ステップＳ１５０６では、変数ｉに１を代入する。
ステップＳ１５０８では、変数ｊにｉを代入する。
ステップＳ１５１０では、ｍｉｎ＞ｄ（｛ｃｉ，…，ｃｊ｝）であるか否かを判断し、ｍｉｎ＞ｄ（｛ｃｉ，…，ｃｊ｝）である場合はステップＳ１５１２へ進み、それ以外の場合はステップＳ１５１８へ進む。
ステップＳ１５１２では、変数ｍｉｎにｄ（｛ｃｉ，…，ｃｊ｝）を代入する。
【００５８】
ステップＳ１５１４では、変数ｉ’に１を代入する。
ステップＳ１５１６では、変数ｊ’にｉを代入する。
ステップＳ１５１８では、ｊ＜＃｛Ｓ｝であるか否かを判断し、ｊ＜＃｛Ｓ｝である場合はステップＳ１５２０へ進み、それ以外の場合はステップＳ１５２２へ進む。
ステップＳ１５２０では、変数ｊにｊ＋１を代入し、ステップＳ１５１２へ戻る。
ステップＳ１５２２では、ｉ＜＃｛Ｓ｝であるか否かを判断し、ｉ＜＃｛Ｓ｝である場合はステップＳ１５２４へ進み、それ以外の場合はステップＳ１５２６へ進む。
ステップＳ１５２４では、変数ｉにｉ＋１を代入し、ステップＳ１５０８へ戻る。
ステップＳ１５２６では、｛ｃｉ’，…，ｃｊ’｝を出力する。
【００５９】
図１６は、第５の実施の形態の構成例についての概念的なモジュール構成図である。第５の実施の形態は、複数の文字列を切り出すものであり、図１６の例に示すように、終了判別モジュール１６１０、文字列追跡モジュール１６２０、文字列出力モジュール１６３０、連結成分保持モジュール１６４０を有している。
終了判別モジュール１６１０は、文字列追跡モジュール１６２０、文字列出力モジュール１６３０、連結成分保持モジュール１６４０と接続されている。終了判別モジュール１６１０は、画像内から連結成分である開始のための文字列要素が検出されなくなることを終了として判別する。具体的には、終了判別モジュール１６１０は、連結成分保持モジュール１６４０から開始文字列要素１６１５を作成し、連結成分保持モジュール１６４０に開始文字列要素を作成するための連結成分がないとき、処理を終了する。作成した開始文字列要素１６１５を文字列追跡モジュール１６２０に渡す。
【００６０】
文字列追跡モジュール１６２０は、終了判別モジュール１６１０、文字列出力モジュール１６３０、連結成分保持モジュール１６４０と接続されている。文字列追跡モジュール１６２０は、前述の実施の形態、又は、その組み合わせである。
文字列出力モジュール１６３０は、終了判別モジュール１６１０、文字列追跡モジュール１６２０、連結成分保持モジュール１６４０と接続されている。文字列出力モジュール１６３０は、文字列要素観測モジュール１４０によって選択された文字列要素（文字列要素保持モジュール１６０に記憶されている文字列要素１４５）を文字列として出力する。つまり、文字列出力モジュール１６３０は、文字列追跡モジュール１６２０が保持する文字列要素のセットを文字列として出力する。
連結成分保持モジュール１６４０は、終了判別モジュール１６１０、文字列追跡モジュール１６２０、文字列出力モジュール１６３０と接続されている。連結成分保持モジュール１６４０は、前述の連結成分保持モジュール１５０に該当する。そして、文字列追跡モジュール１６２０は、検出した文字列が含む連結成分に対して、既に検出されたことを示す情報を付加するよう連結成分保持モジュール１６４０内の情報を更新する。
【００６１】
図１７は、第６の実施の形態の構成例についての概念的なモジュール構成図である。第６の実施の形態は、画像の文字列を検出する。
第６の実施の形態は、前述した実施の形態を利用して文書画像内の文字列を検出するものであり、図１７の例に示すように、連結成分作成モジュール１７１０、文字列切り出しモジュール１７２０、連結成分保持モジュール１７３０を有している。
連結成分作成モジュール１７１０は、文字列切り出しモジュール１７２０、連結成分保持モジュール１７３０と接続されている。連結成分作成モジュール１７１０は、受け付けた文書画像１７０５に対して、連結成分１７１７を作成する。文書画像１７０５中のすべての連結成分を検出したとき、開始信号１７１５を出力する。
文字列切り出しモジュール１７２０は、連結成分作成モジュール１７１０、連結成分保持モジュール１７３０と接続されている。文字列切り出しモジュール１７２０は、図１６の例に示した実施の形態に相当する。説明のため、連結成分保持モジュール１７３０を取り出して図示している。
連結成分保持モジュール１７３０は、連結成分作成モジュール１７１０、文字列切り出しモジュール１７２０と接続されている。
【００６２】
図１８は、第７の実施の形態の構成例についての概念的なモジュール構成図である。第７の実施の形態は、文字認識装置である。つまり、前述した実施の形態の出力を、文字認識の対象とする文字認識装置である。
第７の実施の形態は、図１８の例に示すように、文字列処理装置１８１０、文字列認識モジュール１８２０を有している。
文字列処理装置１８１０は、文字列認識モジュール１８２０と接続されている。文字列処理装置１８１０は、図１７の例に示した実施の形態に相当する。
文字列認識モジュール１８２０は、文字列処理装置１８１０と接続されている。文字列認識モジュール１８２０は、文字列処理装置１８１０によって出力された文字列１８１５（図１７では文字列１７２５）に対して、文字認識を行って、文字認識結果１８２５を出力する。文字列認識結果１８２５には、文字列に対する、個々の単文字の位置とテキストコードが含まれる。
【００６３】
図１９は、第８の実施の形態の構成例についての概念的なモジュール構成図である。第８の実施の形態は、文書歪み推定・補正装置である。つまり、前述した実施の形態を文書画像の歪み補正に利用するものであり、前述した実施の形態による出力（文字列）を受け付け、その文字列を水平又は垂直にして、文書画像の歪みを補正する。
第８の実施の形態は、図１９の例に示すように、文字列処理装置１９１０、歪み量推定モジュール１９２０、歪み補正モジュール１９３０を有している。
文字列処理装置１９１０は、歪み量推定モジュール１９２０、歪み補正モジュール１９３０と接続されている。文字列処理装置１９１０は、図１７の例に示した実施の形態に相当する。
【００６４】
歪み量推定モジュール１９２０は、文字列処理装置１９１０、歪み補正モジュール１９３０と接続されている。歪み量推定モジュール１９２０は、文字列処理装置１９１０によって出力された文字列（文字列切り出しモジュール１７２０が出力した文字列１７２５）に基づいて、歪み量１９２５を算出する。つまり、歪み量推定モジュール１９２０は、受け付けた文字列１９１５を対象として、補正に必要な文字列の歪み量１９２５を推定する。例えば、各文字列の中心線を抽出し、その傾きを検出する。
歪み補正モジュール１９３０は、文字列処理装置１９１０、歪み量推定モジュール１９２０と接続されている。歪み補正モジュール１９３０は、歪み量推定モジュール１９２０によって算出された歪み量１９２５に基づいて、その文字列を含む文書画像１９０５の歪みを補正する。複数の文字列の歪みを考慮するため、文字列処理装置１９１０がすべての文字列を検出したことを示す終了信号１９１７を受け付けてから処理を開始する。推定された歪み量１９２５に基づいて、文書画像１９０５の歪みを補正し、歪み補正文書画像１９３５を出力する。歪みを補正としては、具体的には、傾きを逆方向に修正すること等のアフィン変換を行う。
【００６５】
図２０を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図２０に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２０１７と、プリンタなどのデータ出力部２０１８を備えたハードウェア構成例を示している。
【００６６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２００１は、前述の実施の形態において説明した各種のモジュール、すなわち、予測モジュール１１０、連結成分検出モジュール１２０、文字列要素候補作成モジュール１３０、文字列要素観測モジュール１４０、連結成分選択モジュール９２６、複数予測領域作成モジュール１２０６、終了判別モジュール１６１０、文字列出力モジュール１６３０、連結成分作成モジュール１７１０、文字列認識モジュール１８２０、歪み量推定モジュール１９２０、歪み補正モジュール１９３０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００６７】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２００２は、ＣＰＵ２００１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２００３は、ＣＰＵ２００１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２００４により相互に接続されている。
【００６８】
ホストバス２００４は、ブリッジ２００５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２００６に接続されている。
【００６９】
キーボード２００８、マウス等のポインティングデバイス２００９は、操作者により操作される入力デバイスである。ディスプレイ２０１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００７０】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２００１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象とする画像、連結成分、文字列要素候補、文字列要素などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００７１】
ドライブ２０１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２０１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２００７、外部バス２００６、ブリッジ２００５、及びホストバス２００４を介して接続されているＲＡＭ２００３に供給する。リムーバブル記録媒体２０１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００７２】
接続ポート２０１４は、外部接続機器２０１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２０１４は、インタフェース２００７、及び外部バス２００６、ブリッジ２００５、ホストバス２００４等を介してＣＰＵ２００１等に接続されている。通信部２０１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２０１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２０１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００７３】
なお、図２０に示す画像処理装置のハードウェア構成は、ひとつの構成例を示すものであり、本実施の形態は、図２０に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２０に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００７４】
なお、前述の実施の形態を組み合わせてもよい。例えば、第２の実施の形態と第３の実施の形態を組み合わせてもよい。
【００７５】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７６】
１１０…予測モジュール
１２０…連結成分検出モジュール
１３０…文字列要素候補作成モジュール
１４０…文字列要素観測モジュール
１５０…連結成分保持モジュール
１６０…文字列要素保持モジュール
９２６…連結成分選択モジュール
１２０６…複数予測領域作成モジュール
１６１０…終了判別モジュール
１６２０…文字列追跡モジュール
１６３０…文字列出力モジュール
１６４０…連結成分保持モジュール
１７１０…連結成分作成モジュール
１７２０…文字列切り出しモジュール
１７３０…連結成分保持モジュール
１８２０…文字列認識モジュール
１９２０…歪み量推定モジュール
１９３０…歪み補正モジュール
【図１】
2014044500.tif 000015
【図２】
2014044500.tif 000016
【図３】
2014044500.tif 000017
【図４】
2014044500.tif 000018
【図５】
2014044500.tif 000019
【図６】
2014044500.tif 000020
【図７】
2014044500.tif 000021
【図８】
2014044500.tif 000022
【図９】
2014044500.tif 000023
【図１０】
2014044500.tif 000024
【図１１】
2014044500.tif 000025
【図１２】
2014044500.tif 000026
【図１３】
2014044500.tif 000027
【図１４】
2014044500.tif 000028
【図１５】
2014044500.tif 000029
【図１６】
2014044500.tif 000030
【図１７】
2014044500.tif 000031
【図１８】
2014044500.tif 000032
【図１９】
2014044500.tif 000033
【図２０】
2014044500.tif 000034