(57)【要約】【課題】文字候補によって構成されるネットワークにおいて対称性のある評価値を用いて経路を選択するようにした画像処理装置を提供する。【解決手段】画像処理装置の切出位置抽出手段は、画像から文字画像を切り出す位置を抽出し、文字候補抽出手段は、文字画像に対して文字認識を行った結果である複数の文字候補を抽出し、ネットワーク生成手段は、複数の文字候補の各々をノードとし、ノード間にリンクを構築することによってネットワークを生成し、第１の算出手段は、第１の文字に関する情報と、第１の文字と右側にある第２の文字との関係に関する情報に基づいて第１の評価値を算出し、第２の算出手段は、第２の文字に関する情報と、第２の文字と第１の文字との関係に関する情報に基づいて第２の評価値を算出し、選択手段は、第１の評価値と第２の評価値の重み付け和を算出し、経路を選択し、出力手段は、経路内の文字候補列を文字認識結果として出力する。【選択図】図１
2013246473.tif 000002
【特許請求の範囲】
【請求項１】
画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、
前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、
前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成するネットワーク生成手段と、
前記ネットワーク生成手段によって生成されたネットワーク内の隣接する文字において左側にある第１の文字に関する情報と、該第１の文字と該第１の文字に対して右側にある第２の文字との関係に関する情報に基づいて第１の評価値を算出する第１の算出手段と、
前記第２の文字に関する情報と、該第２の文字と前記第１の文字との関係に関する情報に基づいて第２の評価値を算出する第２の算出手段と、
前記ネットワークにおいて始点から終点までの経路における前記第１の評価値と前記第２の評価値の重み付け和を算出し、該算出の結果に基づいて経路を選択する選択手段と、
前記選択手段によって選択された経路内の文字候補列を文字認識結果として出力する出力手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記第１の算出手段と前記第２の算出手段は、非線形関数を用いて前記第１の評価値と前記第２の評価値を算出する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記切出位置抽出手段は、複数の切り出し位置を抽出し、
前記ネットワーク生成手段は、前記切出位置抽出手段によって抽出された複数の切り出し位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成する
ことを特徴とする請求項２又は３に記載の画像処理装置。
【請求項４】
コンピュータを、
画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、
前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、
前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成するネットワーク生成手段と、
前記ネットワーク生成手段によって生成されたネットワーク内の隣接する文字において左側にある第１の文字に関する情報と、該第１の文字と該第１の文字に対して右側にある第２の文字との関係に関する情報に基づいて第１の評価値を算出する第１の算出手段と、
前記第２の文字に関する情報と、該第２の文字と前記第１の文字との関係に関する情報に基づいて第２の評価値を算出する第２の算出手段と、
前記ネットワークにおいて始点から終点までの経路における前記第１の評価値と前記第２の評価値の重み付け和を算出し、該算出の結果に基づいて経路を選択する選択手段と、
前記選択手段によって選択された経路内の文字候補列を文字認識結果として出力する出力手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、文書に記入された文字列から文字パターンを切り出す文字パターン切り出し装置に関するものであって、用紙などに記入された文字列から１文字ずつ文字パターンを切り出す文字パターン切り出し装置において、用紙上の文字列を光学的に走査し光電変換する走査手段と、光電変換された上記文字列のパターンを記憶する文字列パターン記憶手段と、上記文字列の方向と直交する方向に上記文字列パターンを走査して求めた周辺分布値の連続性に基づいて文字列パターンを分割し、分割して得た基本パターンの左右端と上下端との座標より基本パターン領域を決める基本パターン領域検出手段と、単独の基本パターン領域の文字形状評価値と連続する複数個の基本パターン領域を結合した結合パターン領域の文字形状評価値とを上記基本パターン領域の左右端と上下端の座標から各々算出する文字形状評価値算出手段と、読み取り対象文字の基準パターンを格納した文字認識辞書記憶手段と、単独の基本パターンに対する文字認識評価値と連続する複数個の基本パターンを結合した結合パターンに対する文字認識評価値とを上記文字認識辞書記憶手段に記憶した基準パターンとの整合により求める文字認識評価値算出手段と、上記文字形状評価値算出手段で算出した文字形状評価値と上記文字認識評価値算出手段で算出した文字認識評価値とを加え合わせることにより、すべての基本パターンと結合パターンとに対応する文字評価値を算出する評価値加算手段と、上記基本パターン領域の位置情報に基づいて切り出し候補位置のあらゆる可能な組み合わせを求め、各々の切り出し候補位置の組み合わせについて、切り出し候補位置で切り出された基本パターンと結合パターンとに対応する上記評価値加算手段で求めた文字評価値に基づいて切り出し評価値を求め、この切り出し評価値に基づいて最適な文字切り出し位置の組み合わせを決定する文字切り出し手段と、上記文字切り出し手段の結果に基づいて上記文字列パターン記憶手段に格納した１行の文字列パターンから１文字ずつ文字パターンを切り出して出力する出力手段とを具備することを特徴とする文字パターン切り出し装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−１９０５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、文字候補によって構成されるネットワークにおいて対称性のある評価値を用いて経路を選択するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成するネットワーク生成手段と、前記ネットワーク生成手段によって生成されたネットワーク内の隣接する文字において左側にある第１の文字に関する情報と、該第１の文字と該第１の文字に対して右側にある第２の文字との関係に関する情報に基づいて第１の評価値を算出する第１の算出手段と、前記第２の文字に関する情報と、該第２の文字と前記第１の文字との関係に関する情報に基づいて第２の評価値を算出する第２の算出手段と、前記ネットワークにおいて始点から終点までの経路における前記第１の評価値と前記第２の評価値の重み付け和を算出し、該算出の結果に基づいて経路を選択する選択手段と、前記選択手段によって選択された経路内の文字候補列を文字認識結果として出力する出力手段を具備することを特徴とする画像処理装置である。
【０００６】
請求項２の発明は、前記第１の算出手段と前記第２の算出手段は、非線形関数を用いて前記第１の評価値と前記第２の評価値を算出することを特徴とする請求項１に記載の画像処理装置である。
【０００７】
請求項３の発明は、前記切出位置抽出手段は、複数の切り出し位置を抽出し、前記ネットワーク生成手段は、前記切出位置抽出手段によって抽出された複数の切り出し位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成することを特徴とする請求項２又は３に記載の画像処理装置である。
【０００８】
請求項４の発明は、コンピュータを、画像から文字画像を切り出す位置を抽出する切出位置抽出手段と、前記切出位置抽出手段によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する文字候補抽出手段と、前記文字候補抽出手段によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成するネットワーク生成手段と、前記ネットワーク生成手段によって生成されたネットワーク内の隣接する文字において左側にある第１の文字に関する情報と、該第１の文字と該第１の文字に対して右側にある第２の文字との関係に関する情報に基づいて第１の評価値を算出する第１の算出手段と、前記第２の文字に関する情報と、該第２の文字と前記第１の文字との関係に関する情報に基づいて第２の評価値を算出する第２の算出手段と、前記ネットワークにおいて始点から終点までの経路における前記第１の評価値と前記第２の評価値の重み付け和を算出し、該算出の結果に基づいて経路を選択する選択手段と、前記選択手段によって選択された経路内の文字候補列を文字認識結果として出力する出力手段として機能させるための画像処理プログラムである。
【発明の効果】
【０００９】
請求項１の画像処理装置によれば、文字候補によって構成されるネットワークにおいて対称性のある評価値を用いて経路を選択することができる。
【００１０】
請求項２の画像処理装置によれば、非線形関数を用いて第１の評価値と第２の評価値を算出することができる。
【００１１】
請求項３の画像処理装置によれば、複数の切り出し位置に対しても文字認識結果を出力することができる。
【００１２】
請求項４の画像処理プログラムによれば、文字候補によって構成されるネットワークにおいて対称性のある評価値を用いて経路を選択することができる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例を示すフローチャートである。
【図３】記号例を示す説明図である。
【図４】記号例を示す説明図である。
【図５】記号例を示す説明図である。
【図６】記号例を示す説明図である。
【図７】記号例を示す説明図である。
【図８】リンク評価値の例を示す説明図である。
【図９】リンク評価値の例を示す説明図である。
【図１０】文字切り出し位置が複数ある場合の処理例を示す説明図である。
【図１１】記号例を示す説明図である。
【図１２】文字切り出し位置が複数ある場合の処理例を示す説明図である。
【図１３】リンクとノードとの関係例を示す説明図である。
【図１４】リンク評価値の例を示す説明図である。
【図１５】ノード単体で評価する例を示す説明図である。
【図１６】２つのノードとリンクで評価する例を示す説明図である。
【図１７】始点から終点への評価と終点から始点への評価の例を示す説明図である。
【図１８】本実施の形態による評価の例を示す説明図である。
【図１９】パス処理モジュール内のモジュール構成例を示す説明図である。
【図２０】パス処理モジュールによる処理例を示すフローチャートである。
【図２１】文字列画像の例を示す説明図である。
【図２２】文字境界候補の例を示す説明図である。
【図２３】外接矩形の例を示す説明図である。
【図２４】文字切り出し結果の例を示す説明図である。
【図２５】文字切り出し位置を示すネットワーク表現の例を示す説明図である。
【図２６】ネットワーク表現内のパターンの例を示す説明図である。
【図２７】ネットワークの例を示す説明図である。
【図２８】複数の文字候補がある場合のネットワーク例を示す説明図である。
【図２９】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
本実施の形態は、文字列が含まれている画像を対象として、複数の文字区切りに対する文字認識結果又は１文字の画像に対する複数の文字認識結果から、出力文字列としてふさわしいものを選択するものである。
まず、本実施の形態を説明する前に、その前提又は本実施の形態を利用する画像処理装置について説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
【００１５】
例えば、図２１の例に示すような文字列画像を対象とする。まず、この文字列画像を文字セグメントに分割する。文字セグメントとは、文字そのもの、あるいは文字の一部となる可能性がある文字部分である。ここでは、図２１の例に示すような横書きの文字列画像を例にとる。横書きの画像では、垂直な線（あるいは垂直に近い線）で分割を行うことにより、文字セグメントに分割する。例えば図２２に示した縦線（切れ目候補２２１０、切れ目候補２２２０）で、文字列画像を分割して、３つの文字セグメント「イ」、「ヒ」、及び、「学」を得ることができる。図２２の例に示した縦線を切れ目候補と呼ぶこととする。切れ目候補２２１０が「イ」と「ヒ」を分け、切れ目候補２２２０が「ヒ」と「学」を分けている。
【００１６】
次に、図２３の例に示すように、各文字セグメントに対し、その外接矩形（外接矩形２３１０、外接矩形２３２０、外接矩形２３３０）を抽出する。
以下、特許文献１に記載されている技術内容を例にして説明する。なお、以下の説明で用いる用語は、特許文献１で用いる用語とは異なっている場合がある。ただし、内容は特許文献１と同じである。
前述の文字セグメントを統合して、文字画像を決定する。複数の文字セグメントを統合して１つの文字画像を形成する場合もあれば、１つの文字セグメントが１つの文字となる場合もある。文字画像を決定するとは、文字の切り出し位置を決定することと同値であるから、以下では文字切り出し位置の決定という場合もある。
文字セグメントの統合のパターンは複数存在する。複数存在するパターンの中で、最も文字画像として評価の高いものを選択することによって、最終的な文字切り出し位置を決定する。
図２３の例に対しては、すべての文字切り出しパターンは、図２４に示す例のようになる。つまり、図２４（ａ）の例では、パターン１として３つの文字画像（外接矩形２３１０、外接矩形２３２０、外接矩形２３３０）、図２４（ｂ）の例では、パターン２として２つの文字画像（外接矩形２３１０と２３２０、外接矩形２３３０）、図２４（ｃ）の例では、パターン３として１つの文字画像（外接矩形２３１０と２３２０と２３３０）、図２４（ｄ）の例では、パターン４として２つの文字画像（外接矩形２３１０、外接矩形２３２０と２３３０）を示している。
【００１７】
文字切り出し位置を示すネットワーク表現（グラフ表現ともいわれる）として、図２４の例に示した複数の切り出しパターンを表すことができる。図２５の例において、ネットワークは、始点ノード２５００、終点ノード２５９０、中間ノード２５１０（ノード１）、中間ノード２５２０（ノード２）の４つのノードと、ノード間を接続するアークで構成されている（ノード間の接続線をアークと呼ぶこととする）。始点は、文字列画像の左端、終点は文字列画像の右端にあたる。中間ノード２５１０（ノード１）、中間ノード２５２０（ノード２）は、それぞれ、文字の切れ目候補位置（すなわち、図２２の例に示した切れ目候補２２１０、切れ目候補２２２０）を示す。中間ノード２５１０（ノード１）は、切れ目候補２２１０に対応している。また、中間ノード２５２０（ノード２）は、切れ目候補２２２０に対応している。
【００１８】
始点から、各ノードを通って、終点に至る経路（以下、「パス」ともいう）を求める。パスは、１又は複数のアークから構成される。通常、複数のパスが存在する。図２４の例に示した文字切り出しパターンは、これらの複数のパスに対応している。例えば、図２４（ｂ）の例に示したパターン２は、図２６の太線で示したパス（文字切り出しパターン２５０４、文字切り出しパターン２５２２）と対応している。
ここで、どれか１つのアークには、１つの文字画像の候補が対応している。例えば、始点ノード２５００と中間ノード２５２０（ノード２）を結ぶアークには、「化」という文字画像（文字切り出しパターン２５０４）が対応している。１つのアークに対応する文字に対して、その文字の評価値を決定することができる。これを「アーク評価値」と呼ぶこととする。
アーク評価値は、文字の形状情報や、文字認識における認識確度などから算出する。アーク評価値の算出方法はさまざまある。例えば、（１）特開平９−１８５６８１号公報、（２）特開平８−１６１４３２号公報、（３）特開平１０−１５４２０７号公報、（４）特開昭６１−１７５８７８号公報、（５）特開平３−３７７８２号公報、（６）特開平１１−２０３４０６号公報等に記載の従来技術に示されている手法等がある。
【００１９】
１つのパスは、複数のアークから構成されている。複数のアーク評価値を用いて、そのアークから構成されるパスの評価値を計算することができる。これを「パス評価値」と呼ぶこととする。
文字切り出し位置を決定するため、複数のパスの中で、最もパス評価値の高いパスを選択する。パスが選択できれば、文字切り出し位置が確定して、文字を切り出すことができる。そして、切り出した文字（文字画像）を文字認識した結果も確定することになる。
例えば、図２６の例で、太線のパスが選択されたとする。この場合、文字切り出し位置は、始点２５００と、中間ノード２５２０（ノード２）と、終点２５９０の３点となる。そして、確定した文字認識結果は、「化」（文字切り出しパターン２５０４）、「学」（文字切り出しパターン２５２２）となる。
【００２０】
ここで、パス評価値の算出方法について説明する。基本的には、パス評価値は、アーク評価値の重み付け和が用いられる。ｉ番目のアークのアーク評価値をＶｉとし、ｉ番目のアーク評価値に対する重みをｗｉとし、アークの数をＮ、パス評価値をＰとすると、Ｐは次の（１）式で与えられる。
【数１】
2013246473.tif 000003
パスの数が複数存在すると前述したが、実際の文字列には、多くの文字セグメントが存在しているため、存在するパスの数は膨大となる。
そこで、特開平３−２２５５７９号公報に記載の技術では、図２５の例に示されたようなネットワーク内の複数のパスから最も評価値の高いパスを探索する方法として、ダイナミックプログラミング手法を用いることが述べられている。
ここでは、ダイナミックプログラミング手法の中で、このようなネットワークの最良パスを探索するのに適したビタビアルゴリズムの説明を行う。
【００２１】
図２７に示す例において、始点ノード２７００から終点ノード２７９０までのネットワークを説明する。なお、ノード間のリンク（アークともいわれる）は、図２７に示したものに限らず、さまざまな場合がある。図２７のように対称の結線でなくてもかまわない。
このネットワークにおいて、途中に複数のノード（中間ノード２７１１、中間ノード２７１２、中間ノード２７１３等）を介して始点ノードから終点ノードに達するとする。途中のノードを中間ノードと呼ぶこととする。
各ノードとノードの間にはリンクが張られている。このリンクにはそのリンク固有の評価値（リンク値）が割り当てられている。始点ノード２７００から終点ノード２７９０に向かうパスは複数存在する。パスは、複数のリンクから成り立つことになる。パスが含む複数のリンクのリンク値の和が、パスの評価値となる。
例えば、リンク値は、ノード間の距離であるとする。この場合、パス評価値が最小のパスは、始点ノードから終点ノードに向かうパスの中で、最小距離のパスということになる。あるいは、パス評価値が最大のパスを求める問題とすることも可能である。
【００２２】
ここで、ビタビアルゴリズムは、あるノードにある方向から入力されるリンクを１に限定することによって、最適ではないパスを削減する。これにより、演算処理量と所要メモリ量を削減する手法である。
例えば、今、ノードｘ（中間ノード２７２１）に左から入力されるリンクがすでに、１に限定されているとする。同様に、ノードｙ（中間ノード２７２２）、ノードｚ（中間ノード２７２３）に関しても１に限定されているとする。このとき、ノードＸ（中間ノード２７３１）に左から入力されるリンクを限定する。ノードＸ（中間ノード２７３１）には、ノードｘ（中間ノード２７２１）、ノードｙ（中間ノード２７２２）、ノードｚ（中間ノード２７２３）の３つのノードからリンクが張られている。このとき、ノードＸ（中間ノード２７３１）を通るパスとして、最適な可能性があるのは、ノードｘ（中間ノード２７２１）、ノードｙ（中間ノード３５２２）、ノードｚ（中間ノード２７２３）からノードＸ（中間ノード２７３１）に向かうリンクのいずれかである。この３つのうちで最適なものだけを残し、残りの２つを削除する。このようにして、ノードＸ（中間ノード２７３１）に左から入力されるパス（リンク）を１に限定する。ノードＹ（中間ノード２７３２）、ノードＺ（中間ノード２７３３）に関しても同様に左から入力されるパスを１に限定する。
このような手順を左のノードＡ（中間ノード２７１１）、ノードＢ（中間ノード２７１２）、ノードＣ（中間ノード２７１３）から順に右の方向に行う。最終的にノードＰ（中間ノード２７８１）、ノードＱ（中間ノード２７８２）、ノードＲ（中間ノード２７８３）に入る３つのパスに限定する。この３つのパスの中で最適なものを選択すればよい。
このようなビタビアルゴリズムを用いた最適パス選定方法を、図２５に例示のネットワークにも同様に適用し得る。文字切り出し位置をノードとする。また、アーク評価値を前述のリンク値とすればよい。
【００２３】
従来技術が扱っていた図２５に例示するようなネットワークは、１つのアークに対し、１つの文字候補が存在しているものである。しかし、実際には１つのアークに対して、複数の文字候補が存在している。つまり、文字認識結果が複数ある場合である。例えば、図２８のように、複数の文字候補を割り当てることになる。図２８は、複数の文字候補がある場合のネットワーク例を示す説明図である。図２８の例では、「化学」（文字画像２８０２）という画像を１文字として認識したときの認識結果が、文字候補２８０２Ａの「梢」、文字候補２８０２Ｂの「際」、文字候補２８０２Ｃの「傾」の３種類ある。「化」（文字画像２８０４）という画像を１文字として認識したときの認識結果が、文字候補２８０４Ａの「化」、文字候補２８０４Ｂの「比」、文字候補２８０４Ｃの「任」の３種類ある。同様に、他の文字画像に対しても文字認識結果としての文字候補が複数ある。なお、図２８の例では、各文字画像に対して３種類の文字候補があるが、異なる数の文字候補を割り当ててもよい。例えば、認識確度が予め定められた値以上である文字を文字候補とした場合は、各文字画像に対して文字候補の数が異なる場合がある。
従来技術では、このような場合に、ビタビアルゴリズム（又は、一般的にはダイナミックプログラミング手法）を適用して、文字認識結果を得ることはされていない。
【００２４】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、すべての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク通信（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２５】
本実施の形態である画像処理装置は、画像から文字を認識するものであって、図１の例に示すように、画像受付モジュール１１０、文字列抽出モジュール１２０、切出位置抽出モジュール１３０、文字候補抽出モジュール１４０、パス処理モジュール１５０、出力モジュール１６０を有している。
【００２６】
画像受付モジュール１１０は、文字列抽出モジュール１２０と接続されている。画像受付モジュール１１０は、画像を受け付けて、その画像を文字列抽出モジュール１２０へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、通信回線を介して接続されているもの等を含む）等に記憶されている画像を読み出すこと等が含まれる。画像は、２値画像、多値画像（カラー画像を含む）であってもよい。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、文字列が含まれているのであれば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【００２７】
文字列抽出モジュール１２０は、画像受付モジュール１１０、切出位置抽出モジュール１３０と接続されている。文字列抽出モジュール１２０は、画像受付モジュール１１０が受け付けた画像から文字列を抽出する。
切出位置抽出モジュール１３０が対象とする画像は横書きあるいは縦書きの、１列のみの文字列画像を対象としている。なお、ここで、列とは、横書きの場合は横に並ぶ列であり、縦書きの場合は縦に並ぶ列である。
したがって、文字列抽出モジュール１２０は、画像受付モジュール１１０が受け付けた画像が１列のみの文字列画像であれば、そのまま用いればよい。画像受付モジュール１１０が受け付けた画像が、複数の文字列が存在するものがあり、このような複数文字列を単一の文字列になるように分離する手法としては、従来からさまざまなものが提案されているため、それらを用いればよい。単一の文字列となるように分離する例としてもさまざまな方式があるため、そのうちのいずれかを用いればよい。例えば、（１）特開平４−３１１２８３号公報、（２）特開平３−２３３７８９号公報、（３）特開平５−７３７１８号公報、（４）特開２０００−９０１９４号公報、等を用いればよい。これ以外の方法であってもよい。
【００２８】
切出位置抽出モジュール１３０は、文字列抽出モジュール１２０、文字候補抽出モジュール１４０と接続されている。切出位置抽出モジュール１３０は、文字列抽出モジュール１２０が抽出した文字列画像から文字画像を切り出す位置を抽出する。つまり、文字列画像を複数の文字セグメントに分割する。この文字切り出し位置の抽出方法としてもさまざまな方式があるため、そのうちのどれかを用いればよい。例えば、（１）特開平５−１１４０４７号公報、（２）特開平４−１００１８９号公報、（３）特開平４−９２９９２号公報、（４）特開平４−６８４８１号公報、（５）特開平９−５４８１４号公報、（６）特開平９−１８５６８１号公報の００２１段落に記載の文字の境界候補抽出方式、（７）特開平５−１２８３０８号公報の０００５段落に記載の文字切り出し位置決定方法等を用いればよい。これ以外の方法であってもよい。なお、ここでの文字画像とは、いわば文字候補画像であり、必ずしもその文字画像が１つの文字を表す画像でなくてもよい。
【００２９】
また、切出位置抽出モジュール１３０は、複数の切り出し位置を抽出してもよい。複数の切り出し位置を抽出することによって、１つの文字列画像に対して、文字切出位置群が複数ある。文字切出位置群とは、１つの文字列画像に対して、１つ以上の文字切り出し位置があることをいう。例えば、２つの文字切り出し位置があれば、３つの文字画像に分けられることになる。また、文字切出位置群が複数あるとは、１つの文字列画像に対して、文字切出位置で分けられた文字画像列が複数あることをいう。例えば、２つの文字切り出し位置で３つの文字画像からなる文字画像列と、３つの文字切り出し位置で４つの文字画像からなる文字画像列となる。具体例で説明すると、「化学」という文字列に対して、「イ」「ヒ」「学」からなる文字画像列と「化」「学」からなる文字画像列を生成することである。
【００３０】
文字候補抽出モジュール１４０は、切出位置抽出モジュール１３０、パス処理モジュール１５０と接続されている。文字候補抽出モジュール１４０は、切出位置抽出モジュール１３０によって抽出された位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補を抽出する。この抽出処理を行うために、文字認識処理を行ってもよい。そのために、文字候補抽出モジュール１４０内に文字認識モジュールを含んでいてもよい。文字認識処理による認識結果は、前述のように、１つの文字画像に対して複数の文字候補が対応する。つまり、その文字画像を文字認識して、第１位の認識確度を有している文字候補、第２位の認識確度を有している文字候補等のように、複数の文字候補を文字認識結果とする。そして、文字認識結果として、文字候補の他に、その文字候補の認識確度を有していてもよい。また、抽出するのに、１つの文字画像に対して予め定められた数の文字候補を抽出してもよいし、予め定められた値以上の認識確度を有している文字候補を抽出してもよい。なお、認識確度は、文字認識処理において、その認識結果としての信頼性を表す値であってもよいし、文字画像の外接矩形のサイズ、縦横比等によって定められる文字らしさを表す値であってもよい。
【００３１】
パス処理モジュール１５０は、文字候補抽出モジュール１４０、出力モジュール１６０と接続されている。パス処理モジュール１５０は、文字候補抽出モジュール１４０によって抽出された複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成する。隣接する文字画像のノード間とは、隣接する文字画像があり、その文字画像に対応するノード間ということである。
また、切出位置抽出モジュール１３０が複数の切り出し位置を抽出した場合は、パス処理モジュール１５０は、切出位置抽出モジュール１３０によって抽出された複数の切り出し位置によって分けられた文字画像に対して文字認識を行った結果である複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成するようにしてもよい。
【００３２】
そして、パス処理モジュール１５０は、生成されたネットワーク内の隣接する文字において左側にある第１の文字に関する情報と、その第１の文字と第１の文字に対して右側にある第２の文字との関係に関する情報に基づいて第１の評価値を算出する。そして、第２の文字に関する情報と、その第２の文字と第１の文字との関係に関する情報に基づいて第２の評価値を算出する。ネットワークにおいて始点から終点までの経路における第１の評価値と第２の評価値の重み付け和を算出し、その算出の結果に基づいて経路を選択する。具体的には、後述する（５）式に基づいて算出する。文字に関する情報とは、その文字（文字画像、文字認識結果を含む）単体における情報であって、例えば、（Ａ１）文字形状情報（リンクの片方の文字の形状情報（例えば、縦横比等）、（Ａ２）文字認識確度（リンクの片方の文字の認識確度）、（Ａ３）文字出現確率（モノグラムともいわれ、リンクの片方の文字が出現する確率）等がある。２つの文字の関係に関する情報とは、リンクの両端（左右）の文字を用いて算出する情報（隣接文字情報）であって、例えば、（Ｂ１）隣接文字出現確率（バイグラムともいわれ、リンクの左右の文字が連続で出現する確率）、（Ｂ２）文字幅変化量（左右の文字幅の変化量）等がある。なお、２つの文字の関係に関する情報は、左の文字から右の文字、右の文字から左の文字の関係によって、異なる場合がある。
また、第１の評価値の算出と第２の評価値の算出は、非線形関数を用いて行うようにしてもよい。非線形関数として、例えば、ニューロコンピュータによる文字認識に用いられる非線形関数を用いるようにしてもよい。
【００３３】
出力モジュール１６０は、パス処理モジュール１５０と接続されている。出力モジュール１６０は、パス処理モジュール１５０によって選択されたリンクによってつながれたパス内の文字候補列を文字認識結果として出力する。また、出力モジュール１６０は、パス処理モジュール１５０によって選択されたパス内の文字候補列を文字認識結果として出力するようにしてもよい。文字認識結果を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置（文書化を行う文字情報処理装置等）へ渡すこと等が含まれる。
【００３４】
図２は、本実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、画像受付モジュール１１０が、対象となる画像を受け付ける。
ステップＳ２０４では、文字列抽出モジュール１２０が、画像から文字列画像を抽出する。
ステップＳ２０６では、切出位置抽出モジュール１３０が、文字列画像を対象として切り出し位置を抽出する。
ステップＳ２０８では、文字候補抽出モジュール１４０が、切り出された文字画像を文字認識する。
ステップＳ２１０では、文字候補抽出モジュール１４０が、複数の文字認識結果を文字画像の文字候補として抽出する。
ステップＳ２１２では、パス処理モジュール１５０が、ネットワークを生成し、その中のパスを選択する。
ステップＳ２１４では、出力モジュール１６０が、文字認識結果を出力する。
【００３５】
次に、図３から図２０を用いて、パス処理モジュール１５０による処理を説明する。
本実施の形態は、さらに、パス評価値の高いパス（文字認識結果としてふさわしいもの）を出力することによって、文字切り出し位置の確定、又は文字認識を行うものである。また、パスの探索にダイナミックプログラミングの手法を用いてもよい。
本実施の形態のネットワークにおいては、始点ノード、終点ノード、複数の中間ノードがある。また、各ノード間のリンクには、リンク値を与える。始点ノードから１あるいは複数の中間ノードを介して、終点ノードに至るパスは、介するノードに依存したリンクを通ることになる。始点ノードから終点ノードに至るパスのパス評価値は、そのパスが通ったリンクのリンク値の重み付け和として表すことができる。
本実施の形態のパス処理モジュール１５０は、１つの文字画像に対して、複数の文字認識結果が存在しているときに、前述のノード、リンク、パスの構成（ネットワーク構造）を生成するものである。ネットワーク構造が与えられれば、パス処理モジュール１５０によってビタビアルゴリズムなどの手法を用いて、最適パスを探索することが可能となる。
【００３６】
＜Ａ１．文字切り出し位置が固定の場合＞
まず、切出位置抽出モジュール１３０の抽出する文字切り出し位置が固定（一種類）の場合について説明する。
図３は、記号例を示す説明図である。記号の種類として、長方形３１０、横棒である接続線３２０、３２２、３２４、３２６、３２８、円弧３３０、丸である文字候補３４２、３４４、３４６がある。
図３の例において、長方形３１０Ａ、３１０Ｂ、３１０Ｃ、３１０Ｄ（図４に例示する長方形３１０）は、それぞれ文字セグメントを表す。
また、横棒である接続線３２０、３２２、３２４、３２６、３２８は、文字切り出し位置を示す（図５に例示する接続線３２０、接続線３２２）。文字セグメントは文字切り出し位置を介して、隣接する文字セグメントにつながっている。
さらに、丸で表されている文字候補３４２Ａ、３４４Ａ等は、１つの文字セグメントを１文字として認識したときの、複数の文字候補を示す。円弧３３０Ａ、３３０Ｂ、３３０Ｃ、３３０Ｄは、下の１つの文字セグメントだけを対象に文字認識を行っていることを示している。
【００３７】
図６の例では、文字候補３４２、３４４、３４６は、その下の長方形３１０が示す１文字の文字セグメントを認識したときの複数の文字候補であることを示している。また、円弧３３０は、その下の長方形３１０１つだけを対象に文字認識を行うことを示している。
本実施の形態では、文字セグメントの複数の文字候補をノードとして捉える。さらに、隣接する文字セグメントの文字候補と、リンクを接続する。図７の例にリンクを太線で記入して示す。
ここでリンク値としては、リンク左右のノードの相互作用を示すものを使ってもよい。具体的には、リンクの左の文字候補とリンクの右の文字候補が連続して日本語の文章中に出現する確率（バイグラム）を用いる。
このようにノードとリンクを構成することによって、すべてのネットワーク構造が規定できる。ネットワーク構造が規定できれば、ビタビアルゴリズム等により、最適パスを選択できる。
【００３８】
＜Ａ２．ノード内情報も用いる場合＞
前述では、リンク評価値として、ノード間の相互作用を示すものだけを用いたが、ノード単独の評価値を用いることも可能である。ここでは、ビタビアルゴリズムを用いて最適パスを探索するものとする。左から順にノードの左から入るリンクを各ノード毎に１つだけに限定していく処理を行う。今、図８の例の矢印で示すノード（８４２Ｄ、８４４Ｅ、８４６Ｆ）のリンクを限定する段階であるとする。
今、矢印のノード（８４２Ｄ、８４４Ｅ、８４６Ｆ）と、矢印のノードの左側にあるノード（８４２Ａ、８４４Ｂ、８４６Ｃ）間のリンクを評価する。リンク評価値としては、各ノード間の相互作用を表すバイグラムなどの値と、各ノード内部の値の両方を用いる。ノード内部の値とは、例えば、ノードＤの文字の認識確度などがある。
【００３９】
ここで、リンクは、ノード（８４２Ｄ、８４４Ｅ、８４６Ｆ）とノード（８４２Ａ、８４４Ｂ、８４６Ｃ）間にあるため、リンクの評価値としては、ノード（８４２Ｄ、８４４Ｅ、８４６Ｆ）とノード（８４２Ａ、８４４Ｂ、８４６Ｃ）間の評価値を算出するのが簡単である。しかし、ノード内部の値は、ノード（８４２Ｄ、８４４Ｅ、８４６Ｆ）とノード（８４２Ａ、８４４Ｂ、８４６Ｃ）間にあるのではなく、この場合、ノード（８４２Ｄ、８４４Ｅ、８４６Ｆ）に存在する。
つまり、ノード間情報はリンクの内部に存在していて、ノード内情報はリンクの端点に存在する。このような発生位置、あるいは、概念が異なる値を一度に扱うことは従来なかった点である。
【００４０】
従来では、図２５の例に示す始点、「１」、「２」、終点など（つまり、文字切り出し位置）をノードとして、ノード間のアーク評価値を算出している。本実施の形態のように、複数の文字コードをノードとして、ノード間のリンクの評価値を算出するわけではない。そのため、従来技術をそのまま用いることはできない。
本実施の形態では、リンクの評価値として、リンクの内部に存在する値（例えば、バイグラムの値）と、リンクの一方の端点のみに存在する値（例えば、ノード８４２Ｄの文字認識確度）を用いる。他方の端点に存在する値（例えば、ノード８４２Ａの文字認識確度）は用いない。このようにすることで、リンクの内部の値と、リンクの端点の値をともに用いる評価が可能となる。
最終的には、文字列の評価値（パス評価値）として、（１）式で、すべてのリンクの評価値を加算することになる。そのため、リンクの評価値の中に、リンクの内部の評価値と、リンクの一方の端点の評価値が含まれていれば、パス評価値の中にすべてのリンク内部の評価値とリンク端点の評価値が１つずつ含まれることになる。
【００４１】
模式図として図９の例を示す。図９の例に示す○（白丸、例えば、ノード９２０）はノードを示す。横棒はリンク（例えば、リンク９１０）を示す。
１つのリンク評価値は、ノード一つとリンク一つの評価を示す。そのため、この図９（ｂ）の例では、３回のリンク評価結果を合わせることで、最も左の端点ノード以外を評価できることになる。左の端点処理として、左の端点のノードのノード内部評価値のみを算出してパス評価値に加算する。又は、左の端点のノード内部評価値と最も左のリンク評価値を加算するなどの処理を行えばよい。
さて、ここでは、前述のリンク内部の値と、リンク端点の値のように、複数の値（バイグラムや認識確度）などを特徴量として、リンク評価値を算出すればよい。
このように複数の値から、１つのリンク値を算出する方法としては、（１）特開平９−１８５６８１号公報、（２）特開昭６１−１７５８７８号公報、（３）特開平３−３７７８２号公報、（４）特開平１１−２０３４０６号公報、（５）特開２０１２−８９０９号公報等に記載の技術を用いればよい。これ以外の方法であってもよい。
なお、複数の値を特徴量ベクトルとして把握し、リンク値は、特徴量ベクトルを対象として、リンク評価値（スカラー値）を出力する関数で実現できる。
【００４２】
＜Ａ３．リンク情報として２以上のノードを用いる場合＞
前述では、リンク左右のノードの相互情報としてバイグラムを用いていた。この場合、リンク情報として２つのノード間の関係情報を用いていることになる。
ビタビアルゴリズムを用いる場合、例えば、ノードである文字候補３４２Ａ、３４４Ａ、３４６Ａの左側のリンク数はすでに１個に限定されていることになる。この場合には、２以上のノードの情報を用いてリンク情報を構築することが可能となる。
例えば、２つの連続する文字の生起確率であるバイグラムではなく、３つの連続する文字の生起確率であるトライグラムを用いることも可能となる。
今、ノードである文字候補３４２Ｂ、３４４Ｂ、３４６Ｂの左側のリンク値を生成しようとする。
例えば、文字候補３４２Ａ−文字候補３４２Ｂ間のリンク値を算出する。バイグラムであれば、文字候補３４２Ａと文字候補３４２Ｂが連続する生起確率を求めればよい。ここで、トライグラムを求める場合を説明する。文字候補３４２Ａの左側のリンクは１つに限定されているため、実は、文字候補３４２Ａの左の文字も確定していることになる。この文字を保持するノードをＧとする。トライグラムとしては、ノードＧ−ノード（文字候補３４２Ａ）−ノード（文字候補３４２Ｂ）の３つの文字に関する生起確率を求めればよい。
以上のように求めたトライグラムをノード（文字候補３４２Ａ）−ノード（文字候補３４２Ｂ）間のリンク値として生成すればよい。同様に、Ｎｇｒａｍであっても、求めることが可能となる。
【００４３】
＜Ａ４．文字切り出し位置が確定していない場合＞
文字切り出し位置が確定していない場合（つまり、切出位置抽出モジュール１３０が複数の文字切り出し位置を抽出した場合であり、具体的には、「化」のように、「イ」と「ヒ」、あるいは、「化」のどちらになるか分からない場合）、文字候補の選択と、文字切り出し位置の選択を行うようにしてもよい。文字切り出し位置が確定していない場合、文字候補の選択は、文字切り出し位置の選択となる。
図１０は、文字切り出し位置が複数ある場合の処理例を示す説明図である。ここでは、円弧の記号の意味が追加されている。円弧が下にある複数の文字セグメント（長方形）を指し示す場合、その円弧はその複数の文字セグメントを統合した画像を１文字とみなして認識することを示す。円弧１０１０Ａは、長方形３１０Ａと長方形３１０Ｂを統合した画像を１文字とみなして文字認識結果として文字候補１０２２Ａ、１０２４Ａ、１０２６Ａを有している。また、円弧１０１０Ｃは、長方形３１０Ａ、３１０Ｂ、３１０Ｃ、３１０Ｄを統合した画像を１文字とみなして文字認識結果として文字候補１０２２Ｃ、１０２４Ｃ、１０２６Ｃを有している。
図１１の例に示すように、円弧３３０Ａと円弧３３０Ｂの下に２つの文字セグメント（長方形３１０Ａ、長方形３１０Ｂ）「イ」と「ヒ」がある場合に、その２つを含む円弧１０１０の上の文字候補（文字候補１０２２、１０２４、１０２６）は、「イ」と「ヒ」を統合した１つの文字セグメント「化」を認識したときの複数の文字候補に相当する。
【００４４】
文字切り出し位置が確定していない場合のリンクの接続は、図１２の例に示すようになる。図１２は、文字切り出し位置が複数ある場合の処理例を示す説明図である。
ここでは、文字切り出し位置に注目する。今、図１２の矢印で示す文字切り出し位置に関連するノードのリンクを対象とする。この文字切り出し位置でリンクされるノードには、
（１）左側ノード：矢印の文字切り出し位置に円弧の右側が存在するノード（斜線でハッチングしたノード、文字候補１２４２Ａ、文字候補１２４４Ａ、文字候補１２６２Ａ、文字候補１２６４Ａ、文字候補１２７２Ａ、文字候補１２７４Ａ等）と、
（２）右側ノード：矢印の文字切り出し位置に円弧の左側が存在するノード（内部が白のノード、文字候補１２４２Ｂ、文字候補１２４４Ｂ、文字候補１２６２Ｂ、文字候補１２６４Ｂ、文字候補１２７２Ｂ、文字候補１２７４Ｂ等）
の２種類がある。このとき、左側ノードと、右側ノード間にリンクを形成することによって、グラフ構造を構築することができる。
例えば、すべての左側ノードが、すべての右側ノードに直接接続できるようにリンクを形成すればよい。さらに、すべての文字切り出し位置において、前述のように、左側ノードと右側ノードのリンクを形成し、さらに、左側が文字列の端点の場合には始点ノードに接続し、また、右側が文字列の端点の場合には終端ノードに接続すれば、すべてのグラフ構造を構築することができる。
【００４５】
この場合においても、リンク値は、リンク左右のノードの相互作用を示すものを使ってもよいし、ノード内部の評価値を用いてもよい。
特に、この場合には、文字切り出し位置が確定していないため、ノード内部の評価値として、文字の形状情報を用いることができる。文字形状情報の例として、文字の縦横比や、文字左右の空白量、等を用いることができる。
【００４６】
このようにすることによって、文字列の左端から、文字列の右端に至るすべてのパスを書き出すことができる。各パスは、認識出力文字列に該当する。つまり、文字列を構成するネットワークにおいて、左端ノードから、右端ノードへ至るパスを決定することによって、文字列を決定できることになる。
【００４７】
先行技術において、パス評価値Ｐは、i番目のアークのアーク評価値をＶｉとして、次式（（１）式）で与えられる。
【数１】
2013246473.tif 000004
アーク評価値（又はリンク評価値）Ｖｉは、先行技術において、図９の例に示すように、ノード一つと、リンク一つの評価を組み合わせたものになる。
ここで、ノードとノードの連結するものがリンクであるため、リンクの両端はノードとなる。また、文字列としては、両端がノードとなる。
文字列は、図１３の例に示すように、ノード（始点）から始まって、リンク（リンク１３１０等）を介してノード（ノード１３２０）をつなぎ、ノード（終点）で終わる。
よって、リンクの数は、ノードの数よりも必ず１だけ小さくなる。
図９の例に示すように、ｉ番目のアーク評価値Ｖｉは、左からｉ番目のリンクの情報（リンク情報）と、左からｉ＋１番目の文字（ノード）の情報（文字情報）で算出する。
リンク情報とは、左からｉ番目の文字と、ｉ＋１番目の文字との相互関係で算出する。例えば、連続する２文字の生起確率（文字バイグラム）や、連続する２文字間の文字幅の比等が用いられる。
文字（ノード）情報とは、文字単体情報すなわち、文字形状、又は、１文字の生起確率等で算出する。
実際には、これら全ての情報を一度に１列のベクトル情報ｘとし、何らかの関数ｆ（ｘ）を用いて、アーク評価値Ｖｉを算出することとなる（（２）式）。
【数２】
2013246473.tif 000005
このとき、１回のＶｉの評価には、ベクトルｘとして、ノード一つ分のノード情報と、リンク一つ分のリンク情報だけしか入力されない。図１４の例に示すように、１回のリンク評価対象１４１０は、ノード一つとリンク一つによって構成されることになる。
この評価を行った場合、全体のパス評価値としては、最も左のノードの評価ができないこととなる。
【００４８】
最も左のノードも評価に入れるためには、下記の４つの方策がある。
１．  ノード単体で評価する。
２．  ノード２つと、リンク一つをベクトルとして評価する。
３．  左から右に評価したものと、右から左に評価したものを加算する。
４．  本実施の形態
以下、それぞれについて述べる。
【００４９】
＜１  ノード単体で評価する＞
まず、ノードとリンクの情報をベクトル化したものをｘ、ノードだけの情報をベクトル化したものをｙとする。
ｘｉを、左からｉ番目の文字と、ｉ＋１番目の文字との相互関係と、左からｉ＋１番目の文字の単体情報をベクトル化したものとする。
ｙｉを、左からｉ番目の文字の単体情報をベクトル化したものとする。
最も左の文字位置を１番目とする。また、最も左のリンクを１番目とする。
文字単体情報ｙを入力してノードの評価値を出力する関数をｇ（ｙ）とする。
パス評価値Ｐは、（３）式で求める。
【数３】
2013246473.tif 000006
この方式では、図１５の例に示すように、図１５（ａ）の例に示すネットワークに対して、図１５（ｂ）の例に示すような評価となり、左から算出した場合（最も左の文字だけ別扱い）と、右から算出した場合（最も右の文字だけ別扱い）とで、結果が異なる。つまり、ネットワークにおいて対称性のない（非対称な）評価値となる。
【００５０】
＜２  ノード２つとリンク一つを入力ベクトルとする＞
ｚｉを、左からｉ番目の文字と、ｉ＋１番目の文字との相互関係と、左からｉ番目の文字情報（文字単体情報）と、左からｉ＋１番目の文字の文字情報をベクトル化したものとする。ｚを入力して、リンクの評価値を出力する関数をｈ（ｚ）とする。
パス評価値Ｐは、（４）式で求める。
【数４】
2013246473.tif 000007
この方式では、図１６の例に示すように、図１６（ａ）の例に示すネットワークに対して、図１６（ｂ）の例に示すような評価となり、左右で非対称とはならない。
しかし、この場合には、関数ｈを最適化する場合に、左右の文字単体情報を用いる必要がある。
左右の文字単体情報の組み合わせが膨大となるため、最適化できるほどの均質なサンプル数を得ることが困難となり、最適化が難しくなる。
【００５１】
＜３  左から右に評価したものと、右から左に評価したものを加算する＞
本方式では、図１７の例に示すように、図１７（ａ）の例に示すネットワークに対して、図１７（ｂ）の例に示すような評価（左から右へ評価したものと、右から左へ評価したものとの和）となり、非対称となることはない。
ただし、本方式は、パスの確定にダイナミックプログラミング法（例えば、ビタビアルゴリズム等）を用いる。左から右にパスを確定して行ったときにダイナミックプログラミング法で残存するパスと、右から左にパスを確定して行ったときにダイナミックプログラミング法で残存するパスが異なる場合がある。同じパスが残存していないと、本方式を用いることはできない。
なお、ビタビアルゴリズムは、あるノードにある方向から入力されるリンクを１に限定することによって、最適ではないパスを削減する。これにより、演算処理量と所要メモリ量を削減する手法である。
【００５２】
＜４  本実施の形態＞
ｘｉを、左からｉ番目の文字と、ｉ＋１番目の文字との相互関係と、左からｉ＋１番目の文字の単体情報をベクトル化したものとする。
ｙｉを、左からｉ番目の文字と、ｉ＋１番目の文字との相互関係と、左からｉ番目の文字の単体情報をベクトル化したものとする。
パス評価値は（５）式で求める。
【数５】
2013246473.tif 000008
なお、ｆ（ｘ）は、ベクトルｘを入力して、リンクの評価値を算出する関数である。この関数ｆ（ｘ）として非線形関数を用いて行うようにしてもよい。非線形関数として、例えば、ニューロコンピュータによる文字認識に用いられる非線形関数を用いるようにしてもよい。例えば、シグモイド（ｓｉｇｍｏｉｄ）関数等がある。ｗｉは、各リンクの重みである。例えば、１文字内の文字セグメント数や、文字幅（ピクセル値）等を利用する
本方式では、図１８の例に示すように、図１８（ａ）の例に示すネットワークに対して、図１８（ｂ）の例に示すような評価となり、非対称となることはない。つまり、前述の３つの方式に発生する問題は発生しない。具体的には、図１８（ａ）の例に示すネットワークに対しては、ノード１８１０とリンク１８２２の組み合わせによるベクトルの評価値とリンク１８２４とノード１８３０による評価値との組み合わせによるベクトルの評価値、ノード１８３０とリンク１８４２の組み合わせによるベクトルの評価値とリンク１８４４とノード１８５０による評価値との組み合わせによるベクトルの評価値、ノード１８５０とリンク１８６２の組み合わせによるベクトルの評価値とリンク１８６４とノード１８７０による評価値との組み合わせによるベクトルの評価値、の重み付け和を算出している。なお、リンク１８２２はノード１８１０からノード１８３０への相互関係を示しており、リンク１８２４はノード１８３０からノード１８１０への相互関係を示している。
【００５３】
図１９は、パス処理モジュール１５０内のモジュール構成例を示す説明図である。
パス処理モジュール１５０は、リンク構造構築モジュール１９１０、パス探索モジュール１９２０を有している。まず、パス処理モジュール１５０は、１列又は１行だけの文字列画像を受け付ける。画像受付モジュール１１０が受け付けた画像が複数の文字列や文字行からなる画像である場合は、文字列抽出モジュール１２０が、１列又は１行だけの文字列画像を抽出することが予め行われている。切出位置抽出モジュール１３０が、文字列画像を複数の文字セグメントに切り出す。そして、文字候補抽出モジュール１４０が、文字セグメントに切り出された後、各ノードにあたる文字候補を得る。その手法としては、前述したいずれかの先行技術内に記載されている手法、又は、その他、単文字を認識する手法などを用いればよい。
【００５４】
リンク構造構築モジュール１９１０は、パス探索モジュール１９２０と接続されている。リンク構造構築モジュール１９１０は、前述したように、リンク構造（グラフ構造）を構築する。つまり、複数の文字候補の各々をノードとし、隣接する文字画像のノード間にリンクを構築することによってネットワークを生成する。
パス探索モジュール１９２０は、リンク構造構築モジュール１９１０と接続されている。パス探索モジュール１９２０は、グラフ構造（ネットワーク）に対してダイナミックプログラミング法（例えば、ビタビアルゴリズム等）を利用して、最適パスを探索する。最適パスが探索できれば、そのパスが通るノードを抽出することによって、文字認識結果を出力できる。なぜなら、各ノードは文字認識結果を表しているためである。
【００５５】
図２０は、パス処理モジュール１５０による処理例を示すフローチャートである。
ステップＳ２００２では、リンク構造構築モジュール１９１０が、文字候補を受け付ける。
ステップＳ２００４では、リンク構造構築モジュール１９１０が、文字候補をノードとし、ノード間にリンクを構築することによって、ネットワークを生成する。
ステップＳ２００６では、パス探索モジュール１９２０が、左側の文字候補に関する情報と、その文字候補に対して右側にある文字候補との関係に関する情報を用いてリンク評価値（Ａ）を算出する。
ステップＳ２００８では、パス探索モジュール１９２０が、右側の文字候補に関する情報と、その文字候補に対して左側にある文字候補との関係に関する情報を用いてリンク評価値（Ｂ）を算出する。
ステップＳ２０１０では、パス探索モジュール１９２０が、（５）式を用いてパス評価値を算出する。
ステップＳ２０１２では、パス探索モジュール１９２０が、最適なパスを文字認識結果として出力する。
【００５６】
図２９を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図２９に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部２９１７と、プリンタなどのデータ出力部２９１８を備えたハードウェア構成例を示している。
【００５７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２９０１は、前述の実施の形態において説明した各種のモジュール、すなわち、画像受付モジュール１１０、文字列抽出モジュール１２０、切出位置抽出モジュール１３０、文字候補抽出モジュール１４０、パス処理モジュール１５０、出力モジュール１６０、リンク構造構築モジュール１９１０、パス探索モジュール１９２０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５８】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２９０２は、ＣＰＵ２９０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２９０３は、ＣＰＵ２９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス２９０４により相互に接続されている。
【００５９】
ホストバス２９０４は、ブリッジ２９０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス２９０６に接続されている。
【００６０】
キーボード２９０８、マウス等のポインティングデバイス２９０９は、操作者により操作される入力デバイスである。ディスプレイ２９１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００６１】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２９１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ２９０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、文字認識結果、文字列パターン、ネットワーク構造などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００６２】
ドライブ２９１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２９１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２９０７、外部バス２９０６、ブリッジ２９０５、及びホストバス２９０４を介して接続されているＲＡＭ２９０３に供給する。リムーバブル記録媒体２９１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００６３】
接続ポート２９１４は、外部接続機器２９１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２９１４は、インタフェース２９０７、及び外部バス２９０６、ブリッジ２９０５、ホストバス２９０４等を介してＣＰＵ２９０１等に接続されている。通信部２９１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２９１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２９１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６４】
なお、図２９に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２９に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２９に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６５】
前述の実施の形態においては、対象として日本語の文字を示したが、中国語、韓国語、英語等の文字を対象としてもよい。
前述の実施の形態においては、横書きの文字列を前提として、左が始点で右が終点であるような記述の仕方を行ってきた。しかし、前述の説明は、縦書きや、右から左に記述する文字列でも同様に成り立つ。例えば、縦書きの場合は、「左」を「上」、「右」を「下」とする変換を行えばよい。右から左に記述する文字列の場合は、「左」を「右」、「右」を「左」とする変換を行えばよい。
なお、数式を用いて説明したが、数式には、その数式と同等のものが含まれる。同等のものとは、その数式そのものの他に、最終的な結果に影響を及ぼさない程度の数式の変形、又は数式をアルゴリズミックな解法で解くこと等が含まれる。
【００６６】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標））、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６７】
１１０…画像受付モジュール
１２０…文字列抽出モジュール
１３０…切出位置抽出モジュール
１４０…文字候補抽出モジュール
１５０…パス処理モジュール
１６０…出力モジュール
１９１０…リンク構造構築モジュール
１９２０…パス探索モジュール
【図１】
2013246473.tif 000009
【図２】
2013246473.tif 000010
【図３】
2013246473.tif 000011
【図４】
2013246473.tif 000012
【図５】
2013246473.tif 000013
【図６】
2013246473.tif 000014
【図７】
2013246473.tif 000015
【図８】
2013246473.tif 000016
【図９】
2013246473.tif 000017
【図１０】
2013246473.tif 000018
【図１１】
2013246473.tif 000019
【図１２】
2013246473.tif 000020
【図１３】
2013246473.tif 000021
【図１４】
2013246473.tif 000022
【図１５】
2013246473.tif 000023
【図１６】
2013246473.tif 000024
【図１７】
2013246473.tif 000025
【図１８】
2013246473.tif 000026
【図１９】
2013246473.tif 000027
【図２０】
2013246473.tif 000028
【図２１】
2013246473.tif 000029
【図２２】
2013246473.tif 000030
【図２３】
2013246473.tif 000031
【図２４】
2013246473.tif 000032
【図２５】
2013246473.tif 000033
【図２６】
2013246473.tif 000034
【図２７】
2013246473.tif 000035
【図２８】
2013246473.tif 000036
【図２９】
2013246473.tif 000037