(57)【特許請求の範囲】
【請求項１】
入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する検出部と、
前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する第１認識部と、
一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域を統合した領域である半隠れテキスト領域を推定する推定部と、
前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する第２認識部と、
前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する出力部と、を備える文字認識装置。
【請求項２】
前記推定部は、直線状に並ぶ複数の前記顕在的テキスト領域の組であって、テキスト方向が前記顕在的テキスト領域の並び方向に一致する複数の前記顕在的テキスト領域の組を検出し、該組に含まれる２つの前記顕在的テキスト領域の間に挟まれた領域を前記隠れテキスト領域と推定して、該隠れテキスト領域を前記組に統合した領域を前記半隠れテキスト領域と推定する、請求項１に記載の文字認識装置。
【請求項３】
前記推定部は、前記入力画像の縁に接する前記顕在的テキスト領域を、該顕在的テキスト領域のテキスト方向と一致する方向に、前記縁から前記入力画像の外に延長したときの追加領域を前記隠れテキスト領域と推定し、該隠れテキスト領域を前記顕在的テキスト領域に統合した領域を前記半隠れテキスト領域と推定する、請求項１に記載の文字認識装置。
【請求項４】
前記推定部は、前記顕在的テキスト領域を、該顕在的テキスト領域のテキスト方向と一致する方向に、他の顕在的テキスト領域と重ならない範囲で延長したときの追加領域を前記隠れテキスト領域と推定し、該隠れテキスト領域を前記顕在的テキスト領域に統合した領域を前記半隠れテキスト領域と推定する、請求項１に記載の文字認識装置。
【請求項５】
前記第２認識部は、前記隠れテキスト領域のサイズに基づいて、該隠れテキスト領域に当てはめるテキスト候補を決定する、請求項１に記載の文字認識装置。
【請求項６】
前記第２認識部は、前記隠れテキスト領域のサイズに応じた空間コストをさらに統合した前記統合コストを算出する、請求項１に記載の文字認識装置。
【請求項７】
前記第２認識部は、前記隠れテキスト領域の発生原因に応じた空間コストをさらに統合した前記統合コストを算出する、請求項１に記載の文字認識装置。
【請求項８】
前記出力部は、推定される前記半隠れテキスト領域の候補が複数ある場合に、前記統合コストを用いて選択した前記半隠れテキスト領域に対する文字認識の結果を出力する、請求項１に記載の文字認識装置。
【請求項９】
一つまたは複数の前記顕在的テキスト領域または前記半隠れテキスト領域に対し、テキスト方向が一致し、かつ、該テキスト方向に対して垂直な方向に存在する領域である隠れテキスト行領域を統合した領域である複数行テキスト領域を推定する第２推定部をさらに備え、
前記第２認識部は、前記複数行テキスト領域が推定された場合、前記複数行テキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コスト、または前記複数行テキスト領域に含まれる前記統合コストと、前記複数行テキスト領域の全体に当てはめるテキストの言語的な尤度に応じた前記言語的コストとを統合した前記統合コストを、前記複数行テキスト領域に対する前記統合コストとして算出する、請求項１に記載の文字認識装置。
【請求項１０】
前記第２推定部は、テキスト方向に対して垂直な方向に離れて存在する複数の前記顕在的テキスト領域または前記半隠れテキスト領域の組を検出し、該組に含まれる２つの前記顕在的テキスト領域または前記半隠れテキスト領域の間に挟まれた領域を前記隠れテキスト行領域と推定して、該隠れテキスト行領域を前記組に統合した領域を前記複数行テキスト領域と推定する、請求項９に記載の文字認識装置。
【請求項１１】
前記第２推定部は、前記入力画像の縁に接する前記顕在的テキスト領域または前記半隠れテキスト領域を、該顕在的テキスト領域または該半隠れテキスト領域のテキスト方向に対して垂直な方向に、前記縁から前記入力画像の外に延長したときの追加領域を前記隠れテキスト行領域と推定し、該隠れテキスト行領域を前記顕在的テキスト領域または前記半隠れテキスト領域に統合した領域を前記複数行テキスト領域と推定する、請求項９に記載の文字認識装置。
【請求項１２】
前記第２推定部は、前記顕在的テキスト領域または前記半隠れテキスト領域を、該顕在的テキスト領域または該半隠れテキスト領域のテキスト方向に対して垂直な方向に、他の顕在的テキスト領域と重ならない範囲で延長したときの追加領域を前記隠れテキスト行領域と推定し、該隠れテキスト行領域を前記顕在的テキスト領域または前記半隠れテキスト領域に統合した領域を前記複数行テキスト領域と推定する、請求項９に記載の文字認識装置。
【請求項１３】
請求項１〜１２のいずれか一項に記載の文字認識装置と、
前記文字認識装置が出力する文字認識の結果を、前記顕在的テキスト領域に対応するテキストと前記隠れテキスト領域に対応するテキストとを識別可能な形式で前記入力画像に重畳した表示画面を生成し、該表示画面をディスプレイに表示させる表示制御部と、を備える画像表示装置。
【請求項１４】
前記表示制御部は、
前記半隠れテキスト領域に組み込まれなかった前記隠れテキスト領域の候補に対応するテキストを、前記半隠れテキスト領域に組み込まれた前記隠れテキスト領域の候補に対応するテキストと識別可能な形式で前記入力画像にさらに重畳した前記表示画面を生成して前記ディスプレイに表示させ、
前記表示画面上で前記半隠れテキスト領域に組み込まれなかった前記隠れテキスト領域の候補に対応するテキストを指定する操作が行われた場合に、該操作に応じて前記表示画面を更新する、請求項１３に記載の画像表示装置。
【請求項１５】
請求項１〜１２のいずれか一項に記載の文字認識装置と、
画像蓄積部に蓄積された画像を前記文字認識装置に入力し、該文字認識装置が出力する文字認識の結果に基づき、入力した画像に対する索引を生成する索引生成部と、
前記索引を用いて、検索クエリに適合する画像を前記画像蓄積部から検索して出力する検索部と、を備える画像検索装置。
【請求項１６】
前記索引生成部は、前記文字認識装置が出力する文字認識の結果に応じて異なる重みが与えられた前記索引を生成し、
前記検索部は、前記検索クエリに適合する画像を、該画像の前記索引に与えられた前記重みに応じて順位付けして出力する、請求項１５に記載の画像検索装置。
【請求項１７】
文字認識装置において実行される文字認識方法であって、
入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する工程と、
前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する工程と、
一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域を統合した領域である半隠れテキスト領域を推定する工程と、
前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する工程と、
前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する工程と、を含む文字認識方法。
【請求項１８】
コンピュータに、
入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する機能と、
前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する機能と、
一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域とを統合した領域である半隠れテキスト領域を推定する機能と、
前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する機能と、
前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラムに関する。
【背景技術】
【０００２】
従来、例えばスマートフォンに付属するカメラなどから入力した情景画像から文字を認識する技術が知られている。情景画像として撮影される情景には、実際には存在しているが隠されているために見えない文字が含まれていることがある。例えば、電柱などの遮蔽物によってその背後にある看板の文字が見えなかったり、白とびやピンボケなどによって特定範囲の文字が見えなかったりすることがある。しかし、従来の文字認識の技術では、顕在化している文字のみを認識対象とするため、このような隠れた文字が含まれないかたちで文字認識が行われる。
【０００３】
文字認識の結果として得られるテキストを様々なテキスト応用で利用する場合、このような隠れた文字が認識されないことによるテキストの欠損が大きな問題となり得る。例えば、認識結果のテキストを翻訳する場合、一部の文字が欠けるだけで解析に大きな混乱を生じさせ、翻訳精度が大幅に低下する懸念がある。また、認識結果のテキストを元に画像検索を行う場合、文字の欠損は検索結果の再現率低下につながる。特に単語ベースの検索器の場合にその影響は大きくなる。このため、隠れた文字を補完するかたちで認識結果のテキストを得ることができる新たな技術の構築が望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１８５７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、隠れた文字を補完するかたちで認識結果のテキストを得ることができる文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の文字認識装置は、検出部と、第１認識部と、推定部と、第２認識部と、出力部と、を備える。検出部は、入力画像から文字が顕在化している領域である顕在的テキスト領域を検出する。第１認識部は、前記顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する。推定部は、一つまたは複数の前記顕在的テキスト領域に対し、文字が隠れていると推定される領域である隠れテキスト領域を統合した領域である半隠れテキスト領域を推定する。第２認識部は、前記半隠れテキスト領域に含まれる前記顕在的テキスト領域に対して算出された前記文字パタン認識コストと、前記半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する。出力部は、前記統合コストに基づいて選択または順位付けされたテキストを、前記半隠れテキスト領域に対する文字認識の結果として出力する。
【図面の簡単な説明】
【０００７】
【図１】図１は、ブラインド現象を説明する図である。
【図２】図２は、部分欠損文字を説明する図である。
【図３】図３は、実施形態の文字認識装置の構成例を示すブロック図である。
【図４】図４は、隠れテキスト領域の例を示す図である。
【図５−１】図５−１は、スポット方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートである。
【図５−２】図５−２は、スポット方式による顕在的テキスト領域の検出の具体例を説明する図である。
【図６−１】図６−１は、ラスタ方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートである。
【図６−２】図６−２は、ラスタ方式による顕在的テキスト領域の検出の具体例を説明する図である。
【図７】図７は、文字パタン認識器による処理の手順を示すフローチャートである。
【図８】図８は、文字パタン認識が出力するラティスの一例を示す図である。
【図９】図９は、文字認識リジェクトを用いて部分欠損文字領域を検出する処理の手順を示すフローチャートである。
【図１０−１】図１０−１は、部分欠損文字識別器を用いて部分欠損文字領域を検出する処理の手順を示すフローチャートである。
【図１０−２】図１０−２は、部分欠損文字識別器を用いた部分欠損文字領域の検出の具体例を説明する図である。
【図１１】図１１は、半隠れテキスト領域推定器の構成例を示すブロック図である。
【図１２】図１２は、テキスト領域の統合方法を説明する図である。
【図１３】図１３は、分断型半隠れテキスト領域推定器による処理の手順を示すフローチャートである。
【図１４】図１４は、半隠れテキスト領域の構造例を示す図である。
【図１５】図１５は、フレームアウト切詰型半隠れテキスト領域の一例を説明する図である。
【図１６】図１６は、フレームアウト切詰型半隠れテキスト領域推定器による処理の手順を示すフローチャートである。
【図１７】図１７は、遮蔽切詰型半隠れテキスト領域の一例を説明する図である。
【図１８】図１８は、遮蔽切詰型半隠れテキスト領域を推定する処理の手順を示すフローチャートである。
【図１９】図１９は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。
【図２０】図２０は、横書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。
【図２１】図２１は、縦書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。
【図２２】図２２は、隠れテキスト領域のラティスの一例を示す図である。
【図２３】図２３は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。
【図２４】図２４は、半隠れテキスト領域のラティスの一例を示す図である。
【図２５】図２５は、統合可能な半隠れテキスト領域の例を説明する図である。
【図２６】図２６は、分断型ブラインド現象の認識例を説明する図である。
【図２７】図２７は、切詰型ブラインド現象の認識例を説明する図である。
【図２８】図２８は、実施形態の画像表示装置の構成例を示すブロック図である。
【図２９】図２９は、画像表示装置による表示画面の画面例を示す図である。
【図３０】図３０は、実施形態の画像検索装置の構成例を示すブロック図である。
【図３１】図３１は、索引を構築する処理の手順を示すフローチャートである。
【図３２】図３２は、ランキング処理の手順を示すフローチャートである。
【図３３】図３３は、従来の翻訳モデルの一例を説明する図である。
【図３４】図３４は、実施形態の翻訳モデルの一例を説明する図である。
【図３５】図３５は、原テキスト片のコストを算出する処理の手順を示すフローチャートである。
【図３６】図３６は、翻訳単位の重要度を算出する処理の手順を示すフローチャートである。
【図３７】図３７は、依存構造解析の結果の一例を示す図である。
【図３８】図３８は、ブラインド現象を説明する図である。
【図３９】図３９は、部分欠損行を説明する図である。
【図４０】図４０は、実施形態の行補完型文字認識装置の構成例を示すブロック図である。
【図４１】図４１は、隠れテキスト行領域の一例を示す図である。
【図４２】図４２は、複数行テキスト領域推定器の構成例を示すブロック図である。
【図４３】図４３は、テキスト行領域の統合方法を説明する図である。
【図４４】図４４は、複数行テキスト領域の構造例を示す図である。
【図４５】図４５は、分断型隠れテキスト行領域の一例を示す図である。
【図４６】図４６は、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける処理の手順を示すフローチャートである。
【図４７】図４７は、複数行テキスト領域を列挙する処理の手順を示すフローチャートである。
【図４８】図４８は、フレームアウト切詰型複数行テキスト領域の一例を示す図である。
【図４９】図４９は、フレームアウト切詰型複数行テキスト領域を推定する処理の手順を示すフローチャートである。
【図５０】図５０は、遮蔽切詰型複数行テキスト領域の一例を示す図である。
【図５１】図５１は、遮蔽切詰型複数行テキスト領域を推定する処理の手順を示すフローチャートである。
【図５２】図５２は、複数行テキスト領域ラティスの一例を示す図である。
【図５３】図５３は、文字認識装置のハードウェア構成の一例を概略的に示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、実施形態の文字認識装置、画像表示装置、画像検索装置、文字認識方法およびプログラムを、図面を参照しながら詳細に説明する。
【０００９】
＜第１実施形態＞
実施形態の文字認識装置は、入力された画像（以下、「入力画像」と呼ぶ。）の中で文字（テキスト）を含むテキスト領域に対して文字認識を行う。この際、実際には存在するが隠されているために入力画像に現れていない文字を補完するかたちで文字認識を行い、認識結果のテキストを出力する。ただし、本実施形態の説明では、テキスト領域は単数行テキストが現れている画像領域を示すものとし、テキストが複数行に亘る場合は、各行を別々のテキスト領域として扱うものとする。
【００１０】
（ブラインド現象の分類）
以下では、実際には存在する文字が隠される現象を「ブラインド現象」と呼ぶ。図１は、ブラインド現象を説明する図である。テキスト領域のどの位置の文字が隠されるかという観点から、ブラインド現象を「分断型」と「切詰型」の２種類に区別する。
【００１１】
分断型は、図１（ａ）に示すように、テキスト領域の両端以外の文字列が隠されるパタンである。図１（ｂ）は情景画像における分断型のブラインド現象の例であり、電柱などの遮蔽物のため、背後の看板の途中にある文字列が隠れている。図１（ｃ）はスキャナで原稿を読み取ることで取得されるスキャン画像における分断型のブラインド現象の例であり、２行目のテキストの途中にある文字列がインクでつぶれている。
【００１２】
切詰型は、図１（ｄ）に示すように、テキスト領域の先頭や末尾の文字列が隠されるパタンである。図１（ｅ）は情景画像における切詰型のブラインド現象の例であり、電柱などの遮蔽物のため、背後の看板の左端の文字列が隠れている。図１（ｆ）は情景画像における切詰型のブラインド現象の別の例であり、看板が左にフレームアウトしており、左端の文字列が隠れている。図１（ｇ）はスキャン画像における切詰型のブラインド現象の例であり、２行目のテキストの右端の文字列がインクでつぶれている。なお、以降の説明では、図１（ｅ）および図１（ｇ）で例示するブラインド現象を「遮蔽切詰型」、図１（ｆ）で例示するブラインド現象を「フレームアウト切詰型」と呼んで、両者を区別する。
【００１３】
（部分欠損文字現象）
以上のブラインド現象の分類は、文字単位での隠れ方に基づく分類である。しかし実際には、文字境界に合うように隠蔽されるとは限らず、図２（ａ），（ｂ）に一例を示すように、文字の途中から隠蔽が始まることもある。この現象を「部分欠損文字現象」と呼び、当該文字およびその領域を「部分欠損文字」および「部分欠損文字領域」と呼ぶ。図２（ａ），（ｂ）の例では、図中の破線で囲まれた領域が部分欠損文字領域である。部分欠損文字現象は、上記に分類したいずれのブラインド現象においても起こり、文字認識を混乱させる原因となりうる。本実施形態では、部分欠損文字現象についても併せて対処する。
【００１４】
（本実施形態の処理における注意事項）
前述の通り本実施形態では、単数行テキストが現れている領域をテキスト領域として扱うものとし、テキストが複数行に渡る場合は、各行を別々のテキスト領域として扱うものとする。
【００１５】
また、テキスト領域は矩形の領域であるものとする。射影ゆがみや回転などで変形されたテキスト領域については、前処理として、射影ゆがみや回転のある領域を検出して正対画像に補正した後に、本実施形態で説明する処理を行う。なお、正対画像に補正する技術は公知であるため、ここでは詳細な説明は省略する。
【００１６】
また、横書きテキストのテキスト方向は左から右、縦書きテキストのテキスト方向は上から下であるとする。アラビア語などこれに合わない言語を対象とする場合は、テキスト方向を調整すればよい。
【００１７】
（用語の定義）
本実施形態の説明で用いる領域に関する用語を以下にまとめる。
【００１８】
顕在的テキスト領域：画像上に文字が連続的に現れている単数行テキストの矩形領域を「顕在的テキスト領域」と呼ぶ。ブラインド現象により文字が画像上に現れていない領域は当該領域外となる。
【００１９】
隠れテキスト領域：本来文字が存在しているがブラインド現象によって隠蔽されている矩形領域を「隠れテキスト領域」と呼ぶ。
【００２０】
半隠れテキスト領域：画像中の顕在的テキスト領域と隠れテキスト領域の任意の組のうち、１つの単数行テキストをなしていて互いに隣接する組から構成される１つの矩形領域を「半隠れテキスト領域」と呼ぶ。
【００２１】
テキスト領域：顕在的テキスト領域、隠れテキスト領域、および半隠れテキスト領域を包含する上位概念を「テキスト領域」と呼ぶ。
【００２２】
（文字認識装置の構成）
図３は、本実施形態の文字認識装置１００の構成例を示すブロック図である。本実施形態の文字認識装置１００は、図３に示すように、顕在的テキスト領域検出器１１０（検出部）と、文字パタン認識器１２０（第１認識部）と、部分欠損文字領域検出器１３０と、半隠れテキスト領域推定器１４０（推定部）と、半隠れテキスト領域ラティス生成器１５０および言語評価ベース文字認識器１６０（第２認識部）と、テキスト領域構造選択器１７０（出力部）と、を備える。なお、本実施形態の文字認識装置１００では様々な推定処理が行われるが、推定結果に対する指標として一貫してコストを用いる。コストとは確信度やスコアと逆の概念を持つ指標であり、確信度が高いほどコストは小さくなる。
【００２３】
顕在的テキスト領域検出器１１０は、入力画像Ｘから顕在的テキスト領域を検出する。顕在的テキスト領域検出器１１０の処理は既存技術を利用することができる。処理の具体例については詳細を後述する。
【００２４】
文字パタン認識器１２０は、各顕在的テキスト領域に対して文字パタン認識を行い、テキスト候補をラティス形式で出力する。出力されるラティスは、文字パタン認識によって得られるテキスト候補に対応するパスを持ち、各パスに対して、対応するテキスト候補に対する文字パタン認識の尤度に応じたコスト（以下、「文字パタン認識コスト」と呼ぶ。）が与えられる。文字パタン認識器１２０の処理は既存技術を利用することができる。処理の具体例については詳細を後述する。
【００２５】
部分欠損文字領域検出器１３０は、図２に例示したように部分欠損文字現象が生じた部分欠損文字領域を検出する。本実施形態では、認識コストが低い領域をリジェクトする方法と、部分欠損文字領域の検出器を用いて検出する方法との２種類を用意する。部分欠損文字領域が検出された場合、その文字が属する顕在的テキスト領域から当該部分欠損文字領域を除外する。これにより、顕在的テキスト領域には部分欠損文字は含まれなくなる。処理の具体例については詳細を後述する。
【００２６】
半隠れテキスト領域推定器１４０は、検出された顕在的テキスト領域を元に隠れテキスト領域を推定し、さらにそれらを統合した半隠れテキスト領域を推定する。隠れテキスト領域の例を図４に示す。図４（ａ）〜（ｅ）は、それぞれ図１に示したブラインド現象の具体例に対応しており、太線の枠で囲まれた領域が隠れテキスト領域である。
【００２７】
半隠れテキスト領域推定器１４０は、例えば、顕在的テキスト領域の入力画像Ｘ上での絶対的または相対的な位置関係を元に、前述したブラインド現象の発生を検出し、隣接する隠れテキスト領域を推定する。ただし予測精度が低いため、この段階では確信度の低い候補も含めて過検出するようにし、後続処理で詳細な判定を行って絞り込む。処理の具体例については詳細を後述する。
【００２８】
半隠れテキスト領域ラティス生成器１５０は、半隠れテキスト領域のラティスを生成する。半隠れテキスト領域とは、上述したように、入力画像Ｘ中の顕在的テキスト領域と隠れテキスト領域との任意の組のうち、１つの単数行テキストをなしていて互いに隣接する領域の組から構成される１つの矩形領域のことである。半隠れテキスト領域ラティス生成器１５０は、隠れテキスト領域に当てはめ可能な文字列候補をラティス形式で生成し、顕在的テキスト領域の文字列候補ラティスと連結することで、半隠れテキスト領域のラティスを得る。ただし、当てはめるテキスト候補については、隣接する顕在的テキスト領域と同等フォントを用いたときにテキストの画像表現に要すると推定されるサイズが、隠れテキスト領域のサイズとほぼ一致する、という制約を与える。
【００２９】
また、半隠れテキスト領域のラティスには、隠れテキスト領域の空間コストを与える。空間コストの割り当て方法としては、空間的な観点から算出したコストを割り当てる方法と、隠れた原因を特定してその原因に応じたコストを割り当てる方法とを用意する。処理の具体例については詳細を後述する。
【００３０】
言語評価ベース文字認識器１６０は、半隠れテキスト領域群および個別の顕在的テキスト領域群について、それぞれテキスト領域全体を通じた言語的評価を行い、その評価結果をこれまでに得た文字パタン認識コストと空間コストと合わせて総合的な文字認識を行う。つまり、言語評価ベース文字認識器１６０は、文字パタン認識コストおよび空間コストと、半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じたコスト（以下、「言語的コスト」と呼ぶ。）とを統合した統合コストを算出し、半隠れテキスト領域に対する総合的な文字認識を行う。これにより、半隠れテキスト領域に含まれる隠れテキスト領域は、半隠れテキスト全体を通じた言語的な適切性を与えるようなテキストのうち、なるべく小さな領域サイズに当てはまる場合に高く評価される。処理の具体例については詳細を後述する。
【００３１】
テキスト領域構造選択器１７０は、入力画像Ｘから検出されたすべての顕在的テキスト領域を半隠れテキスト領域に組み込む統合方法を決定し、入力画像Ｘに含まれる各テキスト領域に対する文字認識結果Ｙ１を出力する。この際、テキスト領域構造選択器１７０は、統合コストに基づいて選択または順位付けされたテキストを、半隠れテキスト領域に対する文字認識の結果として出力する。
【００３２】
顕在的テキスト領域を半隠れテキスト領域へ組み込む方法には選択余地がある。例えば、３つの顕在的テキスト領域が直線状に並び、その間に隠れテキストが存在するとき、３組を１つの半隠れテキスト領域に統合するのか、２組のいずれかを半隠れテキスト領域に統合するのか、などの選択肢がある。あるいは切詰型ブラインド現象の場合、隠れテキスト領域の延長量に自由度がある。そこで、テキスト領域構造選択器１７０は、すべての可能な統合方法の中から、各テキスト領域のコストが最小となるような統合方法を選択する。そして、テキスト領域構造選択器１７０は、選択した統合方法に応じたテキスト領域に対する文字認識結果Ｙ１を出力する。処理の具体例については詳細を後述する。
【００３３】
以下では、本実施形態の文字認識装置１００を構成する以上の各モジュールによる処理の詳細について説明する。
【００３４】
（顕在的テキスト領域検出器）
顕在的テキスト領域検出器１１０は、入力画像Ｘを入力として受け取り、入力画像Ｘに含まれる顕在的テキスト領域をすべて検出して顕在的テキスト領域群を出力するモジュールである。この実現には既存技術を用いる。ここでは例として、スポット方式とラスタ方式に関する処理手順について説明する。
【００３５】
スポット方式は、情景画像やチラシのスキャン画像ように、含まれるテキストがまばらである場合や、縦書きテキストおよび横書きテキストの両方が含まれるような画像の処理に適した方式である。図５−１は、スポット方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートであり、図５−２は、スポット方式による顕在的テキスト領域の検出の具体例を説明する図である。なお説明の簡便化のため、背景が明るく文字色が暗い場合で説明する。
【００３６】
顕在的テキスト領域検出器１１０は、スポット方式により顕在的テキスト領域を検出する場合、以下のステップＳ１０１〜ステップＳ１０４の処理を行って、入力画像Ｘから顕在的テキスト領域を検出する。
【００３７】
ステップＳ１０１：顕在的テキスト領域検出器１１０は、入力画像Ｘを二値化する（図５−２（ａ）参照）。
【００３８】
ステップＳ１０２：顕在的テキスト領域検出器１１０は、黒色の隣接する画素同士を連結し（連結された画素クラスタを「連結成分」と呼ぶ。）、各連結成分の外接矩形を求める（図５−２（ｂ）参照）。
【００３９】
ステップＳ１０３：顕在的テキスト領域検出器１１０は、重なり合っている、または距離が閾値以下の矩形同士のクラスタ群を作り、各クラスタの外接矩形を顕在的テキスト領域とする（図５−２（ｃ）参照）。
【００４０】
ステップＳ１０４：顕在的テキスト領域検出器１１０は、各テキスト領域について縦横比からテキスト方向を推定する。具体的には、縦長であれば縦書き、横長であれば横書き、正方形に近い場合は不明とする（図５−２（ｄ）参照）。
【００４１】
ラスタ方式は、論文などのスキャナ画像のように、同じ方向（縦書き・横書き）のテキストが敷き詰めるように領域の大半を占めているような画像に向いている方式である。図６−１は、ラスタ方式により顕在的テキスト領域を検出する処理の手順を示すフローチャートであり、図６−２は、ラスタ方式による顕在的テキスト領域の検出の具体例を説明する図である。なお説明の簡便化のため、背景が明るく文字色が暗くかつテキスト方向は横書きである場合で説明する。
【００４２】
顕在的テキスト領域検出器１１０は、ラスタ方式により顕在的テキスト領域を検出する場合、以下のステップＳ２０１〜ステップＳ２０５の処理を行って、入力画像Ｘから顕在的テキスト領域を検出する。
【００４３】
ステップＳ２０１：顕在的テキスト領域検出器１１０は、入力画像Ｘを二値化する（図６−２（ａ）参照）。
【００４４】
ステップＳ２０２：顕在的テキスト領域検出器１１０は、黒色の画素数をラスタごとに集計する。
【００４５】
ステップＳ２０３：顕在的テキスト領域検出器１１０は、集計結果の画素数が一定以上の各ラスタをテキスト領域ラスタとみなす。
【００４６】
ステップＳ２０４：顕在的テキスト領域検出器１１０は、各テキスト領域ラスタのうち、黒色から開始し黒色で終わるスパンのうち白色が一定以上連続的に並ぶスパンを含まない局所最大のスパンを、テキスト領域スライス群とする（図６−２（ｂ）参照）。
【００４７】
ステップＳ２０５：顕在的テキスト領域検出器１１０は、互いに隣接するテキスト領域スライスの組をマージして得られた領域の外接矩形を顕在的テキスト領域とする（図６−２（ｃ）参照）。
【００４８】
（文字パタン認識器）
文字パタン認識器１２０は、顕在的テキスト領域検出部１１０により入力画像Ｘから検出された顕在的テキスト領域群を入力として受け取り、文字パタンとの照合結果として得られるテキスト候補群およびその文字パタン認識コストを表すラティスを出力するモジュールである。この実現には既存技術を用いる。以下では典型的な手順を大まかに説明する。
【００４９】
図７は、文字パタン認識器１２０による処理の手順を示すフローチャートである。文字パタン認識器１２０は、顕在的テキスト領域検出部１１０により検出された顕在的テキスト領域群に対し、以下のステップＳ３０１〜ステップＳ３０９の処理を行う。ただし、字種ごとのパタンモデルを事前準備しておき、これを「字種パタン辞書」と呼ぶ。
【００５０】
ステップＳ３０１：文字パタン認識器１２０は、顕在的テキスト領域群から顕在的テキスト領域を１つ取り出す。
【００５１】
ステップＳ３０２：文字パタン認識器１２０は、ステップＳ３０１で取り出した顕在的テキスト領域を、適当な文字部品単位に領域分割する（これを「文字部品画像」と呼ぶ。）。
【００５２】
ステップＳ３０３：文字パタン認識器１２０は、あらゆる文字列の中から照合すべき文字列候補を１つ選択する。
【００５３】
ステップＳ３０４：文字パタン認識器１２０は、ステップＳ３０３で選択した文字列候補の前方から順に文字を１つ取り出す。
【００５４】
ステップＳ３０５：文字パタン認識器１２０は、ステップＳ３０４で取り出した文字の字種サイズと適合する１以上の文字部品画像群をテキスト前方から取り出し、字種パタンと照合してコストを算出する。
【００５５】
ステップＳ３０６：文字パタン認識器１２０は、ステップＳ３０３で選択した文字列候補からすべての文字を取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ３０７に進み、ＮｏであればステップＳ３０４に戻る。
【００５６】
ステップＳ３０７：文字パタン認識器１２０は、あらゆる文字列候補について照合を行ったか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ３０８に進み、ＮｏであればステップＳ３０３に戻る。
【００５７】
ステップＳ３０８：文字パタン認識器１２０は、各文字列候補に関する照合結果（字種＋コストの列）を、ステップＳ３０１で取り出した顕在的テキスト領域のラティスとして統合して出力する。
【００５８】
ステップＳ３０９：文字パタン認識器１２０は、顕在的テキスト領域群から顕在的テキスト領域をすべて取り出したか否かを判定する。そして、判定の結果がＮｏであればステップＳ３０１に戻り、Ｙｅｓであれば処理を終了する。
【００５９】
図８は、文字パタン認識器１２０が出力するラティスの一例を示す図である。ラティスの各ノードは認識文字とそのコストを持ち、開始ノードから終了ノードまでを結ぶパスにおいて、各ノードの文字を連結したものが文字パタンの認識結果であり、コストを合計したものが、文字パタン全体に対する文字パタン認識コストとなる。図８の例では、“ｃｌｓ”および“ｄｓ”の２種類が文字パタンの認識結果であり、それぞれの文字パタン認識コストは６．５および６．６である。
【００６０】
（部分欠損文字領域検出器）
部分欠損文字領域検出器１３０は、図２で例示した部分欠損文字領域を検出するモジュールである。当該モジュールによって部分欠損文字領域が検出された場合、顕在的テキスト領域から当該領域が除去されて、文字パタン認識器１２０による処理が再度実行される。これを繰り返すことで、顕在的テキスト領域から部分欠損文字領域を完全に排除するのが当該モジュールの目的である。部分欠損文字領域検出器１３０の処理の方式としては、文字認識リジェクトを用いる方式と、部分欠損文字識別器を用いる方式とがある。
【００６１】
部分欠損文字は、どの字種とも異なる形状をしているため、文字認識の処理を行った場合に認識コストが著しく高くなる。文字認識リジェクトを用いる方式は、これを利用した方式であり、認識コストが閾値以上なら部分欠損文字と判定する。
【００６２】
図９は、文字認識リジェクトを用いて部分欠損文字領域を検出する処理の手順を示すフローチャートである。部分欠損文字領域検出器１３０は、文字認識リジェクトを用いて部分欠損文字領域を検出する場合、文字パタン認識器１２０が出力する文字パタン認識結果のラティスを用いて以下のステップＳ４０１〜ステップＳ４０３の処理を行い、部分欠損文字領域を検出する。
【００６３】
ステップＳ４０１：部分欠損文字領域検出器１３０は、文字パタン認識器１２０が出力する文字パタン認識結果のラティスから、最小コストのパスを取り出す。
【００６４】
ステップＳ４０２：部分欠損文字領域検出器１３０は、ステップＳ４０１で取り出した最小コストパスの先頭ノードのコストが閾値以上であれば、そのノードに対応する画像領域を部分欠損文字領域として出力する。
【００６５】
ステップＳ４０３：部分欠損文字領域検出器１３０は、ステップＳ４０１で取り出した最小コストパスの末尾ノードのコストが閾値以上であれば、そのノードに対応する画像領域を部分欠損文字領域として出力する。
【００６６】
なお、図９に示した上記の手順では、最小コストパスのみを用いたが、最小コストパスが必ずしも正しい認識結果とは限らない。このため、コストが下位ｋ個のパスについてそれぞれステップＳ４０２およびステップＳ４０３の処理を行い、ＯＲを取るなどの方法を用いるようにしてもよい。
【００６７】
部分欠損文字識別器を用いる方式は、部分欠損文字領域かどうかを陽に判定する方式である。部分欠損文字画像と文字画像とを予め大量に準備し、これらを訓練データとした二値の識別器を生成する。続いて、テキスト領域を滑走する窓によってクリップされた画像に対して順に当該識別器を適用して、部分欠損文字領域を検出する。
【００６８】
図１０−１は、部分欠損文字識別器を用いて部分欠損文字領域を検出する処理の手順を示すフローチャートであり、図１０−２は、部分欠損文字識別器を用いた部分欠損文字領域の検出の具体例を説明する図である。部分欠損文字領域検出器１３０は、部分欠損文字識別器を用いて部分欠損文字領域を検出する場合、以下のステップＳ５０１〜ステップＳ５０５の処理を行い、部分欠損文字領域を検出する。なお、部分欠損文字識別器は、大量の部分欠損文字画像と文字画像とを用いた確信度付き二値分類手法（例えばロジスティック回帰など）ベースの訓練処理によって予め生成済みであるとする。
【００６９】
ステップＳ５０１：部分欠損文字領域検出器１３０は、判定の対象となる顕在的テキスト領域に関する、部分欠損文字への確信度の高さを示すヒートマップを用意する。ヒートマップの初期値は０とする。
【００７０】
ステップＳ５０２：部分欠損文字領域検出器１３０は、判定の対象となる顕在的テキスト領域に対して滑走窓を適用して順に画像をクリップする（図１０−２（ａ）および（ｂ）参照）。
【００７１】
ステップＳ５０３：部分欠損文字領域検出器１３０は、クリップされた画像に対して部分欠損文字識別器を適用して部分欠損文字への確信度を求め、ヒートマップの該当領域にその値を加算する。
【００７２】
ステップＳ５０４：部分欠損文字領域検出器１３０は、判定の対象となる顕在的テキスト領域の範囲で画像をすべてクリップしたか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ５０５に進み、ＮｏであればステップＳ５０２に戻る。
【００７３】
ステップＳ５０５：部分欠損文字領域検出器１３０は、ヒートマップの中で閾値を越える値を持ち、かつ両端に位置する領域を、部分欠損文字領域として出力する（図１０−２（ｃ）参照）。
【００７４】
（半隠れテキスト領域推定器）
半隠れテキスト領域推定器１４０は、顕在的テキスト領域と隠れテキスト領域とを統合した半隠れテキスト領域を推定するモジュールである。半隠れテキスト領域推定器１４０は、顕在的テキスト領域検出器１１０により入力画像Ｘから検出された顕在的テキスト領域群を元に、隠れテキスト領域を推定する。さらに、半隠れテキスト領域推定器１４０は、得られた隠れテキスト領域群と顕在的テキスト領域群とを元に、可能な統合方法（すなわち半隠れテキスト領域）をすべて列挙する。
【００７５】
隠れテキスト領域の推定処理は、分断型、フレームアウト切詰型および遮蔽切詰型の３タイプのブラインド現象それぞれについて、異なるモジュールによって異なる手順で処理が行われる。
【００７６】
図１１は、半隠れテキスト領域推定器１４０の構成例を示すブロック図である。半隠れテキスト領域推定器１４０は、図１１に示すように、分断型半隠れテキスト領域推定器１４１と、フレームアウト切詰型半隠れテキスト領域推定器１４２と、遮蔽切詰型半隠れテキスト領域推定器１４３とを含む。半隠れテキスト領域推定器１４０に顕在的テキスト領域群Ｔ１が入力されると、まず、分断型半隠れテキスト領域推定器１４１で処理され、その後、フレームアウト切詰型半隠れテキスト領域推定器１４２または遮蔽切詰型半隠れテキスト領域推定器１４３での処理が行われる。半隠れテキスト領域推定器１４０は、これらの処理の結果を併せて、半隠れテキスト領域群Ｔ２として出力する。
【００７７】
このため、分断型半隠れテキスト領域推定器１４１によって生成された半隠れテキスト領域群に対し、さらにフレームアウト切詰型半隠れテキスト領域推定器１４２または遮蔽切詰型半隠れテキスト領域推定器１４３によって隠れテキスト領域が付与される可能性がある。以上の３種類の処理は、アプリケーションに応じて必要なものだけを行うようにしてもよい。また、図１１の構成例では、フレームアウト切詰型半隠れテキスト領域推定器１４２での処理と、遮蔽切詰型半隠れテキスト領域推定器１４３での処理が選択的に行われるように構成したが、フレームアウト切詰型半隠れテキスト領域推定器１４２と遮蔽切詰型半隠れテキスト領域推定器１４３を直列に繋いで、これらの処理を両方を実行できるように構成してもよい。
【００７８】
以下では、分断型半隠れテキスト領域推定器１４１、フレームアウト切詰型半隠れテキスト領域推定器１４２、および遮蔽切詰型半隠れテキスト領域推定器１４３のそれぞれの処理の詳細について説明する。
【００７９】
（分断型半隠れテキスト領域推定器）
分断型半隠れテキスト領域推定器１４１は、２つ以上の顕在的テキスト領域について、それらの間に隠れテキスト領域があるかどうかを、領域の位置やサイズに基づいて判定する。またその後、顕在的テキスト領域群と隠れテキスト領域群の任意の組合せを行って、可能性のある半隠れテキスト領域を列挙する。
【００８０】
テキスト領域群の半隠れテキスト領域への統合において、その構成メンバーとなるテキスト領域に関して満たすべき条件を以下に列挙する。これらの条件を「テキスト領域統合条件」と呼ぶものとする。なお、これらのテキスト領域統合条件はすべてが必須の条件ではなく、入力画像Ｘの種類などに応じて半隠れテキスト領域への統合に必要とされる条件を適宜選択して使用すればよい。
【００８１】
条件１：構成メンバーとなるテキスト領域の数は２以上である。
条件２：構成メンバーとなるテキスト領域は直線状に並び、テキスト方向と垂直なベクトルにテキスト領域を射影したときほぼ同じ線分になる（いずれも外接矩形に対してほぼ接している）。
条件３：構成メンバーとなる顕在的テキスト領域のうち、テキスト方向が不明でないものについては、いずれもテキスト領域が並ぶ方向にテキスト方向が一致する。
条件４：構成メンバーとなる顕在的テキスト領域に含まれる背景や文字色などの配色が類似している。
条件５：構成メンバーとなる顕在的テキスト領域に含まれる文字サイズの尺度が類似している。
条件６：構成メンバーとなる顕在的テキスト領域に含まれる深さの誤差が閾値以下である。
【００８２】
条件６の深さとは、入力画像Ｘがカメラで撮影した画像である場合の撮影者からの距離（奥行き）のことであり、例えば、ライトフィールドカメラなど奥行きを検知可能なカメラで撮像された深さ情報付き画像（ＲＧＢ−Ｄ画像）に含まれている情報である。情景画像において手前の遮蔽物と奥にある看板とを区別するなどの判断に利用できる。
【００８３】
図１２は、テキスト領域の統合方法を説明する図である。図１２（ａ）は、顕在的テキスト領域と隠れテキスト領域とを横並びで統合して半隠れテキスト領域とする例を示しており、上記の条件１〜条件３を満たしている。図１２（ｂ）は、顕在的テキスト領域と隠れテキスト領域とを縦並びで統合して半隠れテキスト領域とする例を示しており、上記の条件１および条件２を満たしている。
【００８４】
ここで、分断型半隠れテキスト領域推定器１４１による処理の具体例について、図１３および図１４を参照して説明する。図１３は、分断型半隠れテキスト領域推定器１４１による処理の手順を示すフローチャートであり、図１４は、半隠れテキスト領域の構造例を示す図である。分断型半隠れテキスト領域推定器１４１は、以下のステップＳ６０１およびステップＳ６０２の処理を行い、分断型半隠れテキスト領域を推定する。なお、ここではアルゴリズムを説明するため、すべての顕在的テキスト領域のテキスト方向は不明とする。
【００８５】
ステップＳ６０１：分断型半隠れテキスト領域推定器１４１は、テキスト領域統合条件を満たす顕在的テキスト領域の組をすべて列挙する。図１４の例の場合、ステップＳ６０１で列挙される顕在的テキスト領域の組は、（Ａ，Ｃ）、（Ｄ，Ｅ）、（Ｂ，Ｃ）、（Ｃ，Ｄ）、（Ｂ，Ｃ，Ｄ）、（Ｆ，Ｇ）である。
【００８６】
ステップＳ６０２：分断型半隠れテキスト領域推定器１４１は、ステップＳ６０１で得られた顕在的テキスト領域の各組に対し、隣り合う顕在的テキスト領域のペアに挟まれたすべての矩形領域を隠れテキスト領域として追加し、これらの組を半隠れテキスト領域として出力する。図１４の例の場合、ステップＳ６０２で出力される半隠れテキスト領域は、（Ａ，ａ，Ｃ）、（Ｄ，ｄ，Ｅ）、（Ｂ，ｂ，Ｃ）、（Ｃ，ｃ，Ｄ）、（Ｂ，ｂ，Ｃ，ｃ，Ｄ）、（Ｆ，ｅ，Ｇ）である。
【００８７】
以降の処理では、横方向に連結した半隠れテキスト領域のテキスト方向は横方向、縦方向に連結した半隠れテキスト領域のテキスト方向は縦方向と認定したものとして扱う。
【００８８】
（フレームアウト切詰型半隠れテキスト領域推定器）
フレームアウト切詰型半隠れテキスト領域推定器１４２は、入力画像Ｘの縁（上下左右の辺）に接する顕在的テキスト領域または分断型半隠れテキスト領域１４１が出力した半隠れテキスト領域に対し、入力画像Ｘの辺の外側に隠れテキスト領域が存在すると仮定して、入力画像Ｘの辺の外側に領域を延長したものを半隠れテキスト領域として推定する。ただし分断型と異なり、隠れテキスト領域の大きさを決定する判断材料はない。したがって、予め定めた設定に従って入力画像Ｘの辺の外側に延長する領域の長さを決定する。延長する領域の長さの設定方法としては、例えば、文字サイズ尺度に基づく長さを用いる方法が考えられる。設定値は複数持つようにしてもよく、その場合、すべての設定値で同様の処理を行う。
【００８９】
図１５は、フレームアウト切詰型半隠れテキスト領域の一例を説明する図である。図１５（ａ）は、入力画像Ｘの左辺に接する顕在的テキスト領域または半隠れテキスト領域を入力画像Ｘの左辺から外側に延長し、半隠れテキスト領域とする例を示している。図１５（ｂ）は、入力画像Ｘの下辺に接する顕在的テキスト領域または半隠れテキスト領域を入力画像Ｘの下辺から外側に延長し、半隠れテキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの長さで領域を延長する。
【００９０】
図１６は、フレームアウト切詰型半隠れテキスト領域推定器１４２による処理の手順を示すフローチャートである。フレームアウト切詰型半隠れテキスト領域推定器１４２は、以下のステップＳ７０１〜ステップＳ７０７の処理を行い、フレームアウト切詰型半隠れテキスト領域を推定する。
【００９１】
ステップＳ７０１：フレームアウト切詰型半隠れテキスト領域推定器１４２は、分断型半隠れテキスト領域推定器１４１が出力した半隠れテキスト領域群および顕在的テキスト領域群の集合の中からテキスト領域を１つ取り出す。
【００９２】
ステップＳ７０２：フレームアウト切詰型半隠れテキスト領域推定器１４２は、ステップＳ７０１で取り出したテキスト領域について、テキスト方向が横書きで、かつ、入力画像Ｘの左右いずれかの辺に接しているか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ７０３に進み、ＮｏであればステップＳ７０４に進む。
【００９３】
ステップＳ７０３：フレームアウト切詰型半隠れテキスト領域推定器１４２は、ステップＳ７０１で取り出したテキスト領域を、設定に基づく長さだけ、当該テキスト領域が接している入力画像Ｘの左右いずれかの辺から画像外に延長し、これを新たな半隠れテキスト領域とする。
【００９４】
ステップＳ７０４：フレームアウト切詰型半隠れテキスト領域推定器１４２は、ステップＳ７０１で取り出したテキスト領域について、テキスト方向が縦書きで、かつ、入力画像Ｘの上下いずれかの辺に接しているか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ７０５に進み、ＮｏであればステップＳ７０６に進む。
【００９５】
ステップＳ７０５：フレームアウト切詰型半隠れテキスト領域推定器１４２は、ステップＳ７０１で取り出したテキスト領域を、設定に基づく長さだけ、当該テキスト領域が接している入力画像Ｘの上下いずれかの辺から画像外に延長し、これを新たな半隠れテキスト領域とする。
【００９６】
ステップＳ７０６：フレームアウト切詰型半隠れテキスト領域推定器１４２は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ７０７に進み、ＮｏであればステップＳ７０１に戻る。
【００９７】
ステップＳ７０７：フレームアウト切詰型半隠れテキスト領域推定器１４２は、生成した半隠れテキスト領域群を出力する。
【００９８】
以降の処理では、横方向に延長した半隠れテキスト領域のテキスト方向は横方向、縦方向に延長した半隠れテキスト領域のテキスト方向は縦方向と認定したものとして扱う。
【００９９】
（遮蔽切詰型半隠れテキスト領域推定器）
遮蔽切詰型半隠れテキスト領域推定器１４３は、すべての顕在的テキスト領域または分断型半隠れテキスト領域１４１が出力した半隠れテキスト領域について、テキスト前方側やテキスト後方側に隠れテキスト領域が存在すると仮定して、テキスト領域をテキスト方向に延長したものを半隠れテキスト領域として推定する。延長する領域の長さは、フレームアウト切詰型と同様、予め定めた設定に従って決定する。延長する領域の長さの設定方法としては、例えば、元のテキスト領域の文字サイズ尺度に基づく長さを用いる方法が考えられる。設定値は複数持つようにしてもよく、その場合、すべての設定値で同様の処理を行う。ただし、フレームアウト切詰型と異なり、延長する領域の長さに対する制約として、他の顕在的テキスト領域に重ならないという制約が加わる。
【０１００】
図１７は、遮蔽切詰型半隠れテキスト領域の一例を説明する図である。図１７（ａ）は、テキスト方向が横方向の顕在的テキスト領域または半隠れテキスト領域を、別の顕在的テキスト領域に重ならない範囲で横方向に延長し、半隠れテキスト領域とする例を示している。図１７（ｂ）は、テキスト方向が縦方向の顕在的テキスト領域または半隠れテキスト領域を、別の顕在的テキスト領域に重ならない範囲で縦方向に延長し、半隠れテキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの長さで領域を延長する。
【０１０１】
図１８は、遮蔽切詰型半隠れテキスト領域推定器１４３による処理の手順を示すフローチャートである。遮蔽切詰型半隠れテキスト領域推定器１４３は、以下のステップＳ８０１〜ステップＳ８０５の処理を行い、遮蔽切詰型半隠れテキスト領域を推定する。
【０１０２】
ステップＳ８０１：遮蔽切詰型半隠れテキスト領域推定器１４３は、分断型半隠れテキスト領域推定器１４１が出力した隠れテキスト領域群および顕在的テキスト領域群の集合の中からテキスト領域を１つ取り出す。
【０１０３】
ステップＳ８０２：遮蔽切詰型半隠れテキスト領域推定器１４３は、ステップＳ８０１で取り出したテキスト領域を、設定に基づく長さだけテキスト前方へ延長し、これを新たな半隠れテキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【０１０４】
ステップＳ８０３：遮蔽切詰型半隠れテキスト領域推定器１４３は、ステップＳ８０１で取り出したテキスト領域を、設定に基づく長さだけテキスト後方へ延長し、これを新たな半隠れテキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【０１０５】
ステップＳ８０４：遮蔽切詰型半隠れテキスト領域推定器１４３は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ８０５に進み、ＮｏであればステップＳ８０１に戻る。
【０１０６】
ステップＳ８０５：遮蔽切詰型半隠れテキスト領域推定器１４３は、得られたすべての半隠れテキスト領域を出力する。
【０１０７】
以降の処理では、横方向に延長した半隠れテキスト領域のテキスト方向は横方向、縦方向に延長した半隠れテキスト領域のテキスト方向は縦方向と認定したものとして扱う。
【０１０８】
（半隠れテキスト領域ラティス生成器）
半隠れテキスト領域ラティス生成器１５０は、半隠れテキスト領域推定器１４０によって生成された各半隠れテキスト領域について、領域全体を通じたテキスト候補をコスト付きで列挙するラティスを生成するモジュールである。半隠れテキスト領域ラティス生成器１５０は、例えば、隠れテキスト領域のラティスを生成した上で、文字パタン認識器１２０によって生成済の顕在的テキスト領域のラティスと隠れテキスト領域のラティスとを鎖状に連結したものを、半隠れテキスト領域のラティスとして出力する。この場合、隠れテキスト領域のラティスの生成処理においては、文字推定の手がかりとなる画像が隠れテキスト領域には存在しないため、領域のサイズを元に当てはまる文字列を候補とし、その候補を列挙するラティスを出力する方法を取る。
【０１０９】
図１９は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器１５０は、以下のステップＳ９０１〜ステップＳ９０７の処理を行って、半隠れテキスト領域のラティスを生成する。
【０１１０】
ステップＳ９０１：半隠れテキスト領域ラティス生成器１５０は、入力画像Ｘに含まれる隠れテキスト領域を１つ取り出す。
【０１１１】
ステップＳ９０２：半隠れテキスト領域ラティス生成器１５０は、ステップＳ９０１で取り出した隠れテキスト領域について、コストなしラティスを生成する。この処理の詳細は後述する。
【０１１２】
ステップＳ９０３：半隠れテキスト領域ラティス生成器１５０は、ステップＳ９０２で生成した隠れテキスト領域のコストなしラティスに空間コストを付与する。この処理の詳細は後述する。
【０１１３】
ステップＳ９０４：半隠れテキスト領域ラティス生成器１５０は、未処理の隠れテキスト領域があるか否かを判定する。そして、判定の結果がＮｏであればステップＳ９０５に進み、ＹｅｓであればステップＳ９０１に戻る。
【０１１４】
ステップＳ９０５：半隠れテキスト領域ラティス生成器１５０は、入力画像Ｘに含まれる半隠れテキスト領域を１つ取り出す。
【０１１５】
ステップＳ９０６：半隠れテキスト領域ラティス生成器１５０は、ステップＳ９０５で取り出した半隠れテキスト領域のラティス合成を行う。この処理の詳細は後述する。
【０１１６】
ステップＳ９０７：半隠れテキスト領域ラティス生成器１５０は、未処理の半隠れテキスト領域があるか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ９０５に戻り、Ｎｏであれば処理を終了する。
【０１１７】
以下では、上記ステップＳ９０２の隠れテキスト領域のコストなしラティス生成、ステップＳ９０３の隠れテキスト領域ラティスへの空間コスト付与、およびステップＳ９０６の半隠れテキスト領域のラティス合成のそれぞれの処理の詳細を説明する。
【０１１８】
（隠れテキスト領域のコストなしラティス生成）
事前準備として、スケールが統一（字種ｎ、高さＹｎ、幅Ｘｎ）された３つ組データが格納された標準フォント辞書を用意する。また全字種の中で最大の高さをＹｍａｘ、最大の幅をＸｍａｘとする。隠れテキスト領域のコストなしラティス生成は、横書きの場合と縦書きの場合とで処理が異なる。以下、横書きの場合の処理と縦書きの場合の処理とを個別に説明する。
【０１１９】
図２０は、横書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器１５０は、以下のステップＳ１００１〜ステップＳ１００４の処理を行って、横書きの隠れテキスト領域のコストなしラティスを生成する。
【０１２０】
ステップＳ１００１：半隠れテキスト領域ラティス生成器１５０は、処理の対象とする半隠れテキスト領域の高さＨと幅Ｗを取得する。
【０１２１】
ステップＳ１００２：半隠れテキスト領域ラティス生成器１５０は、標準フォントに基づく尺度ｒをＨ／Ｙｍａｘで求める。
【０１２２】
ステップＳ１００３：半隠れテキスト領域ラティス生成器１５０は、標準フォント辞書の各字種の幅をｒ倍する。これを「フィット幅」と呼ぶ。
【０１２３】
ステップＳ１００４：半隠れテキスト領域ラティス生成器１５０は、候補テキストに含まれる各文字のフィット幅の合計値Ｘｓｕｍが、Ｗ−ε×ｒ≦Ｘｓｕｍ≦Ｗ＋ε×ｒ（εは許容誤差変数）となるような文字列をすべて求める。これがテキスト候補であり、これらのテキスト候補に対応するパスを持つラティスを、隠れテキスト領域のコストなしラティスとする。なお、許容誤差変数εの設定においては、テキスト行の周辺の余白を考慮してもよい。
【０１２４】
図２１は、縦書きの隠れテキスト領域のコストなしラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器１５０は、以下のステップＳ１１０１〜ステップＳ１１０４の処理を行って、縦書きの隠れテキスト領域のコストなしラティスを生成する。
【０１２５】
ステップＳ１１０１：半隠れテキスト領域ラティス生成器１５０は、処理の対象とする半隠れテキスト領域の高さＨと幅Ｗを取得する。
【０１２６】
ステップＳ１１０２：半隠れテキスト領域ラティス生成器１５０は、標準フォントに基づく尺度ｒをＷ／Ｘｍａｘで求める。
【０１２７】
ステップＳ１１０３：半隠れテキスト領域ラティス生成器１５０は、標準フォント辞書の各字種の高さをｒ倍する。これを「フィット高さ」と呼ぶ。
【０１２８】
ステップＳ１１０４：半隠れテキスト領域ラティス生成器１５０は、候補テキストに含まれる各文字のフィット高さの合計値Ｙｓｕｍが、Ｗ−ε×ｒ≦Ｙｓｕｍ≦Ｗ＋ε×ｒ（εは許容誤差変数）となるような文字列をすべて求める。これがテキスト候補であり、これらのテキスト候補に対応するパスを持つラティスを、隠れテキスト領域のコストなしラティスとする。なお、許容誤差変数εの設定においては、テキスト行の周辺の余白を考慮してもよい。
【０１２９】
図２２は、隠れテキスト領域のラティスの一例を示す図である。この図２２の例は、半隠れテキスト領域の空間に当てはまるテキスト候補の文字列として、“ｗ”と、“ｖｖ”と、“ｉｉｉ”とが挙げられた例である。なお、図２２に示すラティスのノードｃに割り当てられた数値は、次に説明する空間コストである。
【０１３０】
（隠れテキスト領域ラティスへの空間コスト付与）
空間コストとは、隠れテキスト領域の蓋然性に応じたコストである。空間コストを割り当てる方式としては、隠れテキスト領域のサイズに応じた空間コストを割り当てる方式と、ブラインド現象の原因に応じた空間コストを割り当てる方式とがある。前者はあらゆる領域に適用可能な汎用方式であり、後者はブラインド現象の特定原因に関して高い精度が期待できる特化方式である。互いに補完的であるため、コストの総和を用いるなど両者を併せ用いてもよい。それぞれの処理の詳細について、以下に説明する。
【０１３１】
（サイズに応じた空間コスト付与）
空間コストとして、次のような割り当てを行うものとする。
横書きの場合：−ｌｎ（α×ｅ（−Ｗ／Ｈ））
縦書きの場合：−ｌｎ（α×ｅ（−Ｈ／Ｗ））
ただし、隠れテキスト領域の高さはＨ、幅はＷとし、αは予め与える調整用の定数である。隠れテキスト領域の生起確率を文字尺度で正規化された長さに対する指数分布に従うと仮定し、その負の対数尤度を空間コストとしている。したがって、隠れテキスト領域の大きさが大きくなるほど、この空間コストは増大する。
【０１３２】
なお、分断型、フレームアウト切詰型、遮蔽切詰型などの隠れテキスト領域の種類に応じて異なる係数αを与えてもよい。これらの係数αは、分断型、フレームアウト切詰型、遮蔽切詰型のそれぞれの事前確率に相当する。例えば、片端のみ顕在的テキスト領域で規定されている切詰型よりも、両端が顕在的テキスト領域に挟まれている分断型の方が蓋然性が高いと考えられる。また、同じ切詰型同士でも、画像辺というエビデンスがあるフレームアウト切詰型の方が、遮蔽切詰型よりも蓋然性が高いと考えられる。そのような蓋然性の違いを係数αの値の違いを用いて設定することができる。
【０１３３】
半隠れテキスト領域ラティス生成器１５０は、以上の方法を用いて入力画像Ｘ中のすべての隠れテキスト領域について、そのサイズに応じた空間コストを算出し、算出した空間コストの値を図２２に例示したラティスのノードＣに割り当てる。
【０１３４】
（ブラインド現象の原因に基づく空間コスト付与）
ブラインド現象の典型的な原因は、入力画像Ｘの種類に応じて事前に把握することができる。例えば、スキャン画像におけるブラインド現象の典型的な原因はインク潰れである。また、情景画像におけるブラインド現象の典型的な原因は、画像の白飛び、遮蔽物による隠蔽、フレームアウトなどである。このような原因を陽に検出した結果に基づいて、隠れテキスト領域のラティスに空間コストを割り当てるのが本方式である。この方式には、隠れテキスト領域の蓋然性をより正確に捉えることができる利点がある一方、特定の原因に対してしか適用できない欠点がある。したがって、上述のサイズに応じた空間コストの割り当てと併せ用いるのがよい。
【０１３５】
ここでは、ブラインド現象の原因として以下を扱うものとする。なお、以下の処理の性質上、フレームアウトは判定対象外である。
１：インク潰れの判定
２：画像の白飛びの判定
３：深さ情報に基づく遮蔽物の判定
４：特定オブジェクトに基づく遮蔽物の判定
【０１３６】
原因箇所の検出方法は以下の通りである。
１：対象領域の平均輝度が閾値以下の場合、当該領域はインク潰れを原因とするブラインド現象が生じた領域と判定する。
２：対象領域の平均輝度が閾値以上の場合、当該領域は画像の白飛びを原因とするブラインド現象が生じた領域と判定する。
３：対象領域の深さが、隣接する顕在的テキスト領域の深さよりも一定以上小さい場合、当該領域は遮蔽物を原因とするブラインド現象が生じた領域と判定する。
４：対象領域に特定オブジェクト検出処理（例えば顔検出処理）を適用し、特定オブジェクトが検出された場合、当該領域は遮蔽物を原因とするブラインド現象が生じた領域と判定する。
【０１３７】
以上の手順によって原因が検出された場合、それぞれの原因ごとに予め用意された定数値を空間コストとして割り当てる。また上記１〜４の検出器が確信度を伴う出力をする場合、その確信度に比例するようにコスト割り当てを行ってもよい。
【０１３８】
半隠れテキスト領域ラティス生成器１５０は、以上の方法を用いて入力画像Ｘ中のすべての隠れテキスト領域について、ブラインド現象の原因に応じた空間コストを算出し、算出した空間コストの値を図２２に例示したラティスのノードＣに割り当てる。
【０１３９】
（半隠れテキスト領域のラティス合成）
半隠れテキスト領域ラティス生成器１５０は、半隠れテキスト領域に含まれる顕在的テキスト領域のラティスと隠れテキスト領域のラティスとを鎖状に結合し、半隠れテキスト領域全体の候補テキスト群を示すラティスを生成する。
【０１４０】
図２３は、半隠れテキスト領域のラティスを生成する処理の手順を示すフローチャートである。半隠れテキスト領域ラティス生成器１５０は、以下のステップＳ１２０１〜ステップＳ１２０５の処理を行って、顕在的テキスト領域のラティスと隠れテキスト領域のラティスとを鎖状に結合し、半隠れテキスト領域のラティスを生成する。
【０１４１】
ステップＳ１２０１：半隠れテキスト領域ラティス生成器１５０は、単一ノードだけからなるラティスを用意する。このノードは、開始ノードかつ終了ノードである。このラティスを「統合ラティス」と呼ぶ。
【０１４２】
ステップＳ１２０２：半隠れテキスト領域ラティス生成器１５０は、半隠れテキスト領域に含まれるテキスト領域をテキスト順での前方（横書きであれば左、縦書きであれば上）から順に取り出す。
【０１４３】
ステップＳ１２０３：半隠れテキスト領域ラティス生成器１５０は、ステップＳ１２０２で取り出したテキスト領域のラティスを取り出し、当該ラティスの開始ノードを統合ラティスの終了ノードに接続する。
【０１４４】
ステップＳ１２０４：半隠れテキスト領域ラティス生成器１５０は、処理の対象となる半隠れテキスト領域からすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ１２０５に進み、ＮｏであればステップＳ１２０２に戻る。
【０１４５】
ステップＳ１２０５：半隠れテキスト領域ラティス生成器１５０は、以上の手順を経た統合ラティスを、半隠れテキスト領域のラティスとして出力する。
【０１４６】
図２４は、半隠れテキスト領域のラティスの一例を示す図である。図２４に示すように、半隠れテキスト領域のラティスは、顕在的テキスト領域における文字パタン認識コストと、隠れテキスト領域における空間コストとを含むラティスになっている。
【０１４７】
（言語評価ベース文字認識器）
言語評価ベース文字認識器１６０は、これまでの処理によって得られた半隠れテキスト領域群および顕在的テキスト領域群それぞれについて、テキスト領域全体を通じた言語的評価を行い、文字パタン認識コスト、空間コスト、および言語的コストの３点を考慮した文字認識処理を行うモジュールである。
【０１４８】
言語的評価とは、予め用意した言語モデルを用いて、各テキスト候補に対する尤度を計算する処理である。これまでの処理によって、顕在的テキスト領域には文字パタン認識コストが反映されたラティスが与えられており、半隠れテキスト領域には、文字パタン認識コストと空間コストの両方が反映されたラティスが与えられている。ここでの処理は、これらのラティスに対して言語的評価を追加した合成ラティスを生成し、そのラティスの中での最小コストパスを見つけることである。この合成ラティスのそれぞれのパスのコストが、文字認識コストおよび空間コストと、半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語コストとを統合した統合コストに相当する。
【０１４９】
言語的評価の処理には、既存技術を用いる。一例として、ＷＦＳＴ（重み付き有限状態トランスデューサ）を用いた処理の手順を以下に簡単に説明する。なお、ＷＦＳＴを用いた言語的評価については、下記の参考文献に詳細が記載されている。
参考文献：Mohri，Mehryar，et  al．“Full  expansion  of  context-dependent  networks  in  large  vocabulary  speech  recognition．”Acoustics，Speech  and  Signal  Processing，1998．Proceedings  of  the  1998  IEEE  International  Conference  on．Vol．2．IEEE，1998．
【０１５０】
１：言語モデル構築器を用いて、確率的言語モデルを生成する。代表的な確率的言語モデルである生成的Ｎｇｒａｍモデルを採用する場合、例えば、ＳＲＩＬＭ（http://www.speech.sri.com/projects/srilm/）、ＩＲＳＴＬＭ（https://hlt.fbk.eu/technologies/irstlm-irst-language-modelling-toolkit）などのソフトウェアを用いて構築することができる。また、ＰＭＩ（Pointwise  Mutual  Information）に基づく確率言語モデルを用いるのも有効である。ＰＭＩは、予測すべきテキストの生成確率を、前後など周辺にあるテキストに基づいて予測するモデルであり、テキストの順序は無視する。看板などのテキストの場合は、こちらの方が有効である場合がある。
２：確率的言語モデルをＷＦＳＴに変換する。これをＬとする。
３：文字列を単語列に対応付けるＦＳＴを生成する。これをＧとする。
４：評価対象のテキスト領域（顕在的テキスト領域または半隠れテキスト領域）のラティスをＷＦＳＴに変換する。これをＸとする。
５：Ｘ・Ｇ・Ｌの合成処理を行い（ただし“・”は合成を示す演算子とする）、合成結果のＷＦＳＴを得る。これをＹとする。
６：Ｙの中からコストが最小となる経路を探索する。探索結果のパスをＰとする。
７：パスＰ上の各ノードに記載の文字を結合して得た文字列が予測解である。
【０１５１】
（テキスト領域構造選択器）
以上の処理で得られた半隠れテキスト領域群は、文字認識結果Ｙ１の選択候補である。テキスト領域構造選択器１７０は、最終的に選択すべき半隠れテキスト領域群を決定する。そして、テキスト領域構造選択器１７０は、統合コストに基づいて選択または順位付けされたテキストを、半隠れテキスト領域に対する文字認識結果Ｙ１として出力する。
【０１５２】
テキスト領域構造選択器１７０は、顕在的テキスト領域を最大１回だけ用いて半隠れテキスト領域群を生成するすべての統合方法のうち、生成される半隠れテキスト領域群および半隠れテキスト領域群に組み込まれなかった顕在的テキスト領域群のコストの合計が最小となる統合方法を選択する。この処理は、一般的な組合せ最適化問題にあたる。
【０１５３】
図２５は、図１４の左側に例示した顕在的テキスト領域に対して、統合可能な半隠れテキスト領域の例を列挙したものである。図中、ドットが書き込まれた領域が顕在的テキスト領域であり、破線で囲まれた白色の領域が隠れテキスト領域である。ただし、図を簡単にするため、切詰型による隠れテキストはなく、分断型による隠れテキストのみ存在しているとしている。この例の場合、（ａ）のように検出された顕在的テキスト領域群に対し、（ｂ）〜（ｈ）の７通りの方法で半隠れテキスト領域を推定することができる。（ｂ）〜（ｈ）の７通りの方法で推定される顕在的テキスト領域および半隠れテキスト領域に対しては、それまでの処理によってコストが算出済みであり、それらの合計コストが最小となる方法を選択する。なお、以上の処理結果として得られた半隠れテキスト領域群および顕在的テキスト領域群のうち、コストが閾値を上回るテキスト領域を認識結果から除去してもよい。
【０１５４】
ここで、以上のように構成される本実施形態の文字認識装置１００による認識例を例示する。
【０１５５】
（分断型ブラインド現象の認識例）
図２６は、分断型ブラインド現象の認識例を説明する図である。図２６（ａ）および（ｂ）に示す例は、遮蔽物によって遮蔽されている領域以外は同じ画像であり、遮蔽物によって分断された２つの顕在的テキスト領域の間の距離は、ともに連結可能な距離であるものとする。
【０１５６】
図２６（ａ）の例の場合は、２つの顕在的テキスト領域の間を隠れテキスト領域とし、その隠れテキスト領域に「動物」を当てはめた「東京動物病院」が、文字認識結果Ｙ１として出力される。一方、図２６（ｂ）の例の場合は、２つの顕在的テキスト領域の間を隠れテキスト領域とし、その隠れテキスト領域に「動物」を当てはめた「東京動物病院」が候補として挙がるが、分断幅が大きいためその間をつなぐ隠れテキスト領域の空間コストが大きくなること、および、顕在的テキストを別々に認識した「東京」と「病院」がどちらも言語的に妥当と判断されることから、これらを統合せずに別々のテキスト領域とする方法が選択され、「東京」と「病院」の２つのテキストが文字認識結果Ｙ１として出力される。
【０１５７】
（切詰型ブラインド現象の認識例）
図２７は、切詰型ブラインド現象の認識例を説明する図である。図２７（ａ）は入力画像Ｘを示している。ここでは隠れテキスト領域を想定して領域を延長する長さとして、１文字分および２文字分のみが選択候補であるとする。図２７（ｂ）は、１文字分の隠れテキスト領域を想定して当てはまるテキストを探す例を示しており、図２７（ｃ）は、２文字分の隠れテキスト領域を想定して当てはまるテキストを探す例を示している。
【０１５８】
図２７（ｂ）の例では、例えば、「真直入（まっすぐ入る）」、「宿直入（しゅくちょくいり）」、「立直入（リーチ入る）」などが候補として挙げられる。これらの候補はいずれも言語的コストは高い（言語的コスト：大）。ただし、隠れテキスト領域が１文字分のサイズであるため、図２７（ｃ）の例よりも空間コストは低い（空間コスト：小）。一方、図２７（ｃ）の例では、例えば、「単刀直入」が候補として挙げられる。この候補は、言語的コストが低い（言語的コスト：小）。ただし、隠れテキスト領域が２文字分のサイズであるため、図２７（ｂ）の例よりも空間コストは高い（空間コスト：中）。
【０１５９】
図２７（ｂ）の例と図２７（ｃ）の例は、文字パタン認識コストは同じである。このため、空間コストと言語的コストが比較対象となる。この例では、言語的コストが低い図２７（ｃ）の「単刀直入」が選択され、文字認識結果Ｙ１として出力される。
【０１６０】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の文字認識装置１００では、顕在的テキスト領域検出器１１０が、入力画像Ｘから顕在的テキスト領域を検出し、文字パタン認識器１２０が、顕在的テキスト領域に対して文字パタン認識を行って、文字パタンの尤度に応じた文字パタン認識コストを算出する。そして、半隠れテキスト領域推定器１４０が、顕在的テキスト領域と隠れテキスト領域とを統合した半隠れテキスト領域を推定し、半隠れテキスト領域ラティス生成器１５０および言語評価ベース文字認識器１５０が、半隠れテキスト領域に含まれる顕在的テキスト領域の文字認識コストおよび隠れテキスト領域の空間コストと、半隠れテキスト領域の全体に当てはめるテキストの言語的な尤度に応じた言語的コストとを統合した統合コストを算出する。そして、テキスト領域構造選択器１７０が、統合コストに基づいて選択または順位付けされたテキストを、半隠れテキスト領域に対する文字認識結果Ｙ１として出力する。
【０１６１】
したがって、本実施形態の文字認識装置１００によれば、隠れた文字を補完するかたちで文字認識結果Ｙ１としてのテキストを得ることができる。
【０１６２】
＜第２実施形態＞
次に、第２実施形態について説明する。第２実施形態は、第１実施形態の文字認識装置１００を用いた画像表示装置の実施形態である。
【０１６３】
図２８は、本実施形態の画像表示装置２００の構成例を示すブロック図である。本実施形態の画像表示装置２００は、図２８に示すように、文字認識装置１００と、表示画面生成器２１０と、再構造器２２０と、テキスト領域構造選択器２３０とを備える。
【０１６４】
本実施形態の画像表示装置２００は、文字認識装置１００によって入力画像Ｘから検出したテキスト領域に重畳するかたちで、文字認識結果Ｙ１としてのテキスト（以下、「認識テキスト」と呼ぶ。）を表示する。この際、例えば、顕在的テキスト領域のテキストは青色、隠れテキスト領域のテキストは緑色といったように、テキストを色分けするなどして識別可能に表示することで、ユーザに対する注意喚起を行う。
【０１６５】
また、本実施形態の画像表示装置２００は、オプショナルな機能として、文字認識装置１００のテキスト領域構造選択器１７０によって不採用となった隠れテキスト領域を含む半隠れテキスト領域についても、文字認識結果Ｙ１としてのテキストを表示する。この際、例えば、不採用となった隠れテキスト領域のテキストを赤色で表示するなど、採用された隠れテキスト領域のテキストと識別可能に表示する。
【０１６６】
図２９は、本実施形態の画像表示装置２００による表示画面Ｚの画面例を示す図である。図２９では、「東京病院」というテキストと「美容院」というテキストが、入力画像Ｘから検出したテキスト領域に重畳表示されている。このうち、「美容院」の「容」の部分が不採用になった隠れテキスト領域のテキストである。本実施形態の画像表示装置２００では、ユーザがこの不採用となった隠れテキスト領域のテキストをクリックするなど、所定の操作を行うと、その隠れテキスト領域を採用するかたちでテキスト領域構造を再構築して認識結果を再表示する。これにより、隠れテキスト領域の採否にエラーがあった場合に、ユーザ操作によって修正することができる。構造が変わることで統合方法が連鎖的に変わり、その結果、認識および推定されるテキスト内容も大幅に変わる場合がある。
【０１６７】
文字認識装置１００は、第１実施形態で説明したように、入力画像Ｘを受け取り、各テキスト領域に関する認識テキストを出力する。本実施形態では、文字認識装置１００は、認識テキストだけでなくその位置情報も併せて出力する。また、文字認識装置１００は、上述したテキスト領域構造選択器１７０によって不採用となったテキスト領域も対象に含めて、そのテキスト領域の認識テキストを出力する。
【０１６８】
表示画面生成器２１０は、文字認識装置１００から各テキスト領域に関する認識テキストおよびその位置情報を受け取り、入力画像Ｘ１の各テキスト領域の位置に認識テキストを重畳した表示画面Ｚを生成して、表示ディスプレイなどに表示させる。この際、表示画面生成器２１０は、例えば、顕在的テキスト領域に対応する認識テキストの表示色を青色、採用された隠れテキスト領域に対応する認識テキストの表示色を緑色、不採用となった隠れテキスト領域に対応する認識テキストの表示色を赤色とするといったように、各テキストを色分けして表示させることにより、これらのテキストを識別可能とする。
【０１６９】
再構造器２２０は、不採用となった任意の隠れテキスト領域を指定するユーザ操作Ｐを受け取ると、このユーザ操作Ｐにより指定された隠れテキスト領域を採用扱いとして固定したかたちでのテキスト構造の再構築を、テキスト領域構造選択器２３０に指示する。なお、例えばシフトキーを押しながらクリック操作を複数回繰り返すなど、２つ以上の不採用となった隠れテキスト領域を指定するユーザ操作Ｐを受け付けるようにしてもよい。
【０１７０】
テキスト領域構造選択器２３０は、文字認識装置１００のテキスト領域構造選択器１７０と同様に組み合わせ最適化問題を解くことで、テキスト領域構造を再構築する。ただし、組み合わせ最適化問題を解く際に、ユーザにより指定の隠れテキスト領域をメンバーに持つ半隠れテキスト領域が、生成する半隠れテキスト領域群に含まれているとの制約条件が加わる。テキスト領域構造選択器２３０によってテキスト領域構造が再構築されると、表示画面生成器２１０により、再構築されたテキスト領域構造に従った表示画面が生成され、表示ディスプレイに表示される。
【０１７１】
以上説明したように、本実施形態の画像表示装置２００は、文字認識装置１００による認識結果のテキストをユーザに分かり易いかたちで提示することができる。また、この画像表示装置２００は、ユーザ操作Ｐに応じてテキスト領域構造を再構築する機能を持つため、テキスト領域構造の推定誤りを修正するエディタとして利用することもできる。本実施形態の画像表示装置２００により修正されたデータは、例えば、テキストの機械翻訳や次に説明する画像検索など、様々なテキスト応用で活用することができる。
【０１７２】
＜第３実施形態＞
次に、第３実施形態について説明する。第３実施形態は、第１実施形態の文字認識装置１００を用いた画像検索装置の実施形態である。
【０１７３】
図３０は、本実施形態の画像検索装置３００の構成例を示すブロック図である。本実施形態の画像検索装置３００は、図３０に示すように、文字認識装置１００と、画像ＤＢ（データベース）３１０と、索引構築器３２０と、ランカ３３０とを備える。
【０１７４】
本実施形態の画像検索装置３００は、ユーザからテキストによる検索クエリＱを受け付けると、画像ＤＢ３１０に予め蓄積された画像群の中から、検索クエリＱにマッチする画像群Ｒを返す。ただし、検索クエリＱと画像ＤＢ３１０内の画像との照合には、文字認識装置１００により画像に対して行った文字認識の認識テキストを用いる。すなわち、文字認識装置１００が出力した認識テキストを、画像の索引として用いる。
【０１７５】
文字認識装置１００は、第１実施形態で説明したように、ブラインド現象によって隠れたテキスト領域を含めたテキストを認識結果として出力するため、一部のテキストが隠れていても検索クエリＱとマッチさせることができる。これにより、既存技術による画像検索よりも高い再現率を実現することができる。ただし、隠れ領域のテキストは顕在的テキスト領域のテキストよりも不確かであることから、文字単位で重みを変える処理を入れることで、精度（適合率とも呼ばれる）を向上させるようにしている。
【０１７６】
また、本実施形態の画像検索装置３００は、オプショナルな機能として、文字認識装置１００のテキスト領域構造選択器１７０によって採用された統合方法に含まれるテキスト領域のテキストだけでなく、不採用となった統合方法に含まれるテキスト領域のテキストも、索引として併せて用いる。さらに、各テキスト領域での最小コストの認識テキストだけでなく、コストに応じて順位付けされた順位が二位以下の認識テキストの候補も、索引として併せて用いる。これらにより、画像検索の再現率をさらに高めることができる。ただし、これらの索引の導入により精度が低下するため、それぞれの索引に対する重みを変える処理を加える。
【０１７７】
本実施形態では、単語ベクトルをベースとした検索処理を行う方式を採用する。ここで言う単語ベクトルとは、各次元に各語彙を対応付け、各ベクトル要素には該当する語彙の出現頻度を示す値を設定した高次元ベクトルを指すものとする。なお、実用的な検索システムには、定冠詞や助詞など検索には不要な語彙を除去する処理や、検索速度を高速する転置索引が搭載されていることが多いが、ここではそれらの機能については説明を省略する。また、検索クエリＱとしては、空白で区切られた単語列を受け付けるものとする。
【０１７８】
本実施形態の画像検索装置３００は、まず索引構築フェーズとして、画像ＤＢ３１０内の各画像に対して認識テキストを元に単語ベクトルを生成し、画像索引として登録する。検索フェーズでは、検索クエリＱから単語ベクトルを生成し、各画像ごとに、画像索引として登録された各単語ベクトルとのコサイン尺度の合計（これを「検索スコア」と呼ぶ。）を順に計算し、これら検索スコアが大きい順に並べた画像群Ｒを出力する。画像索引としては、以下のテキストに基づく頻度に対して異なる重み（λ１〜λ８）をかけたものを利用する。なお、ベクトル同士の関連性の大きさを表す指標であれば、コサイン尺度以外の指標を用いてもよい。
λ１：採用された顕在的テキスト領域の第１候補の認識テキストに対する重み
λ２：採用された顕在的テキスト領域の第２候補の認識テキストに対する重み
λ３：採用された隠れテキスト領域の第１候補の認識テキストに対する重み
λ４：採用された隠れテキスト領域の第２候補の認識テキストに対する重み
λ５：不採用の顕在的テキスト領域の第１候補の認識テキストに対する重み
λ６：不採用の顕在的テキスト領域の第２候補の認識テキストに対する重み
λ７：不採用の隠れテキスト領域の第１候補の認識テキストに対する重み
λ８：不採用の隠れテキスト領域の第２候補の認識テキストに対する重み
【０１７９】
文字認識装置１００は、第１実施形態で説明したように、入力画像Ｘを受け取り、各テキスト領域に関する認識テキストを出力する。本実施形態では、画像ＤＢ３１０に蓄積されている各画像である。
【０１８０】
索引構築器３２０は、画像ＤＢ３１０に蓄積されている各画像に対して、文字認識装置１００により得られた認識テキストを索引として付与する処理を行う。この処理は、画像検索を開始するよりも前の時点で事前に行っておく処理である。
【０１８１】
図３１は、索引を構築する処理の手順を示すフローチャートである。索引構築器３２０は、画像ＤＢ３１０に含まれる各画像に対して、以下のステップ１３０１〜ステップＳ１３１８の処理を行って、傾斜重みがかけられた単語ベクトルベースの索引を付与する。なお、以下の説明では、文字認識装置１００のテキスト領域構造選択器１７０によって採用された統合方法に含まれる半隠れテキスト領域群および顕在化テキスト領域群を総じて「採用テキスト領域」と呼び、採用されなかった全統合方法（または上位Ｎ個の統合方法）に含まれる半隠れテキスト領域および顕在化テキスト領域を総じて「不採用テキスト領域」と呼ぶ。
【０１８２】
ステップＳ１３０１：索引構築器３２０は、要素値がすべて０の単語ベクトルを生成する。これを「画像索引ベクトル」と呼ぶ。
【０１８３】
ステップＳ１３０２：索引構築器３２０は、画像ＤＢ３１０から取り出した画像を文字認識装置１００に入力し、採用テキスト領域を１つずつ順に取り出す。
【０１８４】
ステップＳ１３０３：索引構築器３２０は、ステップＳ１３０２で取り出した採用テキスト領域の第１候補のテキストを単語に分割し、語彙（ｗｉ）ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度（Ｎ１ｗ＿ｉ）および隠れテキスト領域での出現頻度（Ｎ２ｗ＿ｉ）を集計する。
【０１８５】
ステップＳ１３０４：索引構築器３２０は、ステップＳ１３０３の集計結果を元に単語ベクトルを生成する。ただし、語彙（ｗｉ）に当たる次元の要素値はλ１×Ｎ１ｗ＿ｉ＋λ２×Ｎ２ｗ＿ｉとする。
【０１８６】
ステップＳ１３０５：索引構築器３２０は、ステップＳ１３０４で生成した単語ベクトルを画像索引ベクトルに加算する。
【０１８７】
ステップＳ１３０６：索引構築器３２０は、ステップＳ１３０２で取り出した採用テキスト領域の第２候補のテキストを単語に分割し、語彙（ｗｉ）ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度（Ｎ３ｗ＿ｉ）および隠れテキスト領域での出現頻度（Ｎ４ｗ＿ｉ）を集計する。
【０１８８】
ステップＳ１３０７：索引構築器３２０は、ステップＳ１３０６の集計結果を元に単語ベクトルを生成する。ただし、語彙（ｗｉ）に当たる次元の要素値はλ３×Ｎ３ｗ＿ｉ＋λ４×Ｎ４ｗ＿ｉとする。
【０１８９】
ステップＳ１３０８：索引構築器３２０は、ステップＳ１３０７で生成した単語ベクトルを画像索引ベクトルに加算する。
【０１９０】
ステップＳ１３０９：索引構築器３２０は、採用テキスト領域をすべて取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ１３１０に進み、ＮｏであればステップＳ１３０２に戻る。
【０１９１】
ステップＳ１３１０：索引構築器３２０は、不採用テキスト領域を１つずつ順に取り出す。
【０１９２】
ステップＳ１３１１：索引構築器３２０は、ステップＳ１３１０で取り出した不採用テキスト領域の第１候補のテキストを単語に分割し、語彙（ｗｉ）ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度（Ｎ５ｗ＿ｉ）および隠れテキスト領域での出現頻度（Ｎ６ｗ＿ｉ）を集計する。
【０１９３】
ステップＳ１３１２：索引構築器３２０は、ステップＳ１３１１の集計結果を元に単語ベクトルを生成する。ただし、語彙（ｗｉ）に当たる次元の要素値はλ５×Ｎ５ｗ＿ｉ＋λ６×Ｎ６ｗ＿ｉとする。
【０１９４】
ステップＳ１３１３：索引構築器３２０は、ステップＳ１３１２で生成した単語ベクトルを画像索引ベクトルに加算する。
【０１９５】
ステップＳ１３１４：索引構築器３２０は、ステップＳ１３１０で取り出した不採用テキスト領域の第２候補のテキストを単語に分割し、語彙（ｗｉ）ごとに、当該領域に含まれる顕在的テキスト領域での出現頻度（Ｎ７ｗ＿ｉ）および隠れテキスト領域での出現頻度（Ｎ８ｗ＿ｉ）を集計する。
【０１９６】
ステップＳ１３１５：索引構築器３２０は、ステップＳ１３１４の集計結果を元に単語ベクトルを生成する。ただし、語彙（ｗｉ）に当たる次元の要素値はλ７×Ｎ７ｗ＿ｉ＋λ８×Ｎ８ｗ＿ｉとする。
【０１９７】
ステップＳ１３１６：索引構築器３２０は、ステップＳ１３１５で生成した単語ベクトルを画像索引ベクトルに加算する。
【０１９８】
ステップＳ１３１７：索引構築器３２０は、不採用テキスト領域をすべて取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ１３１８に進み、ＮｏであればステップＳ１３１０に戻る。
【０１９９】
ステップＳ１３１８：索引構築器３２０は、以上の処理を経て生成された画像索引ベクトルを、ステップＳ１３０３で画像ＤＢ３１０から取り出した画像に対応付けて画像ＤＢ３１０に登録する。
【０２００】
なお、認識テキストに含まれる単語が顕在的テキスト領域と隠れテキスト領域の両方に跨ることがある。その場合、上述した処理において、単語の頻度をその文字数で按分した結果を集計に用いるものとする。例えば、５文字の単語が顕在的テキスト領域に３文字、隠れテキスト領域に２文字出現する場合、当該単語が顕在的テキスト領域で０．６回、隠れテキスト領域で０．４回出現したとカウントする。
【０２０１】
ランカ３３０は、テキスト形式の検索クエリＱを受け付けて、画像ＤＢ３１０に蓄積されている各画像に付与されている索引との照合を順に行って、検索クエリＱにマッチする画像群Ｒをマッチングスコアが高い順に出力する。
【０２０２】
図３２は、ランキング処理の手順を示すフローチャートである。ランカ３３０は、ユーザから入力された検索クエリＱを元に、以下のステップＳ１４０１〜ステップＳ１４０７の処理を行い、上位ランクの画像群Ｒを出力する。
【０２０３】
ステップＳ１４０１：ランカ３３０は、単語ごとに空白で区切られた検索クエリＱのテキストを入力として受理する。
【０２０４】
ステップＳ１４０２：ランカ３３０は、空白区切りを用いて検索クエリを単語に分割し、単語の二値ベクトルを生成する。なお、単語の二値ベクトルとは、語彙を各次元とし、語彙が含まれている要素に１を、それ以外には０を設定した高次元スパースなベクトルのことである。
【０２０５】
ステップＳ１４０３：ランカ３３０は、画像ＤＢ３１０から画像索引を順に取り出す。
【０２０６】
ステップＳ１４０４：ランカ３３０は、ステップＳ１４０３で画像ＤＢ３１０から取り出した画像索引の単語ベクトルと、ステップＳ１４０２で生成した検索クエリＱの単語ベクトルとのコサイン尺度を計算する。
【０２０７】
ステップＳ１４０５：ランカ３３０は、未処理の画像索引があるか否かを判定する。そして、判定の結果がＮｏであればステップＳ１４０６に進み、ＮｏであればステップＳ１４０３に戻る。
【０２０８】
ステップＳ１４０６：ランカ３３０は、各画像に対応付けられた画像索引のコサイン尺度を元に画像群をソートする。
【０２０９】
ステップＳ１４０７：ランカ３３０は、ステップＳ１４０７でソートされた上位ランクの画像群Ｒをコサイン尺度の高い順に出力する。
【０２１０】
以上説明したように、本実施形態の画像検索装置３００は、画像ＤＢ３１０に蓄積された画像に対して隠れた文字を補完するかたちで認識された認識テキストを画像索引として用いて画像の検索を行うので、検索クエリＱに対する再現率が高い高精度な画像検索を実現することができる。
【０２１１】
＜第４実施形態＞
次に、第４実施形態について説明する。第４実施形態は、第１実施形態の文字認識装置１００を用いた翻訳装置の実施形態である。本実施形態の翻訳装置は、第１実施形態で説明した文字認識装置１００によって得られた認識テキストに対して機械翻訳を行って、翻訳結果を表示する。この際、テキスト片の尤度と翻訳片の重要度とを加味して、翻訳結果を選択するようにしている。
【０２１２】
本実施形態の翻訳装置は、第１実施形態の文字認識装置１００を用いて、半隠れテキスト領域、および半隠れテキスト領域に組み込まれなかった顕在的テキスト領域の文字認識を行い、その結果得られたテキストに対して、さらにターゲット言語への翻訳処理を行い、最尤の翻訳結果をユーザに提示する。
【０２１３】
翻訳処理には既存技術を用いる。既存技術による翻訳処理の多くは、原テキストを文節や句など扱いやすい適度な単位（これを「翻訳単位」と呼ぶ。）に分解して個別にターゲット言語へ翻訳したテキスト候補を列挙し、それらを組み合わせて、文などの全体テキストを構成する方式を取っている。
【０２１４】
図３３は、従来の翻訳モデルの一例を説明する図である。この図３３に示す例では、ソース言語で記載された原テキストを、（１）翻訳単位に分解し、（２）各翻訳単位に対してターゲット言語の翻訳テキストを割り当て、（３）それらをターゲット言語の文法に合うよう並べ替えを行い、（４）文として構成する手順となっている。この一連の翻訳処理プロセスによって生成される翻訳テキストの評価は、各翻訳単位の翻訳処理における負の対数尤度の平均値と、最終的に構成する文の言語的観点での負の対数尤度とを合算することで行う。この評価値を「翻訳コスト」と呼ぶ。（１）翻訳単位の分解、（２）翻訳テキスト割当、（３）並替えには、それぞれ複数候補があり、各段階の候補の組合せが全プロセスを通じた候補となる。先に述べた評価方法を用いて、全候補の中から最も翻訳コストの低いものを選ぶ。
【０２１５】
ここで、各翻訳単位には全体の翻訳テキストを決定する上で重要度の大小があることに注目する。例えば意味論的観点で考察した場合、動詞は文の意味を決定する上で最重要な要素である。あるいは構文解析をベースとした翻訳処理の場合、構文構造でのルートノードに近い翻訳単位ほど翻訳結果に与える影響は大きい。
【０２１６】
本実施形態において翻訳処理対象となる原テキストは、文字認識結果であるため不確かである。重要度の高い翻訳単位は他の翻訳単位に大きな影響を与えることから、その原テキストに対してより高い確信度を求めるべきである。換言すれば、重要度の低い翻訳単位の場合、原テキストが誤っていてもそれによって受ける被害は小さい。
【０２１７】
以上の考察から、本実施形態では、重要度の高い翻訳単位に対応する原テキスト片に対して高い確信度を求める、という翻訳候補の選択基準を持つ翻訳装置を提案する。
【０２１８】
図３４は、実施形態の翻訳モデルの一例を説明する図である。図３３に例示した従来の翻訳モデルと異なる点は、各翻訳単位について、その重要度と原テキストの文字認識コストとの積の平均（図３４の太字部）を翻訳コストに加算する点である。これにより、高い確信度を持つ原テキスト片に対して重要度が高い翻訳単位を割り当てられた場合に、高く評価されるようになる。
【０２１９】
以下では、従来との差分要素である原テキスト片のコストの算出方法および重要度の算出方法について説明する。
【０２２０】
（原テキスト片のコストの算出方法）
半隠れテキスト領域および顕在的テキスト領域にあるテキストが翻訳対象であるが、半隠れテキスト領域のテキストの翻訳処理が顕在テキスト領域のテキストの翻訳処理を包含しているため、以下では半隠れテキスト領域のテキストの翻訳処理についてのみ説明する。
【０２２１】
半隠れテキスト領域のラティスは、図２４に例示したような構造になっている。これを念頭において、以下に具体的な処理手順を示す。図３５は、原テキスト片のコストを算出する処理の手順を示すフローチャートである。本実施形態の翻訳装置は、以下のステップＳ１５０１〜ステップＳ１５０２の処理を行って、原テキスト片のコストを算出する。
【０２２２】
ステップＳ１５０１：本実施形態の翻訳装置は、原テキスト片のコストをＣとし、初期値として０を代入する。
【０２２３】
ステップＳ１５０２：本実施形態の翻訳装置は、原テキスト片のうち、顕在テキスト領域内にあるテキスト部Ｔ１と隠れテキスト領域内にあるテキスト部Ｔ２とに分ける。
【０２２４】
ステップＳ１５０３：本実施形態の翻訳装置は、顕在テキスト領域のラティスに記載されている各文字のコストを用いて、Ｔ１に該当するパスにある各文字のコストの総和をＣに追加する。
【０２２５】
ステップＳ１５０４：本実施形態の翻訳装置は、隠れテキスト領域のラティス内でのＴ２の最尤パスの文字列長Ｌを数える。
【０２２６】
ステップＳ１５０５：本実施形態の翻訳装置は、隠れテキスト領域の空間コストをＬで割り、Ｔ２の文字列長で掛けた値をＣに追加する。
【０２２７】
ステップＳ１５０６：本実施形態の翻訳装置は、原テキスト片のコストＣを出力する。
【０２２８】
以上の処理により算出される原テキスト片のコストＣの具体例を説明する。対象となる原テキスト片が図２４に例示した「ｃｌｓｉｉ」である場合、顕在的テキスト領域に属する「ｃｌｓ」についてのコストは、２．５＋１．２＋２．８＝６．５となる。また、隠れテキスト領域に属する「ｉｉ」についてのコストは、９．８／３×２＝約６．５３となる。したがって、原テキスト片「ｃｌｓｉｉ」のコストＣは、６．５＋６．５３＝１３．０３となる。
【０２２９】
なお、以上の説明では、文字パタン認識コストと空間コストのみを対象としたが、文字認識装置１００内で評価した言語モデルのコストを併せ用いるようにしてもよい。
【０２３０】
（翻訳単位の重要度の算出方法）
ここでは、構文解析の一種である依存構造解析を用いて翻訳単位の重要度を算出する手順を説明する。図３６は、翻訳単位の重要度を算出する処理の手順を示すフローチャートである。本実施形態の翻訳装置は、以下のステップＳ１６０１〜ステップＳ１６０３の処理を行って、翻訳単位の重要度を算出する。
【０２３１】
ステップＳ１６０１：本実施形態の翻訳装置は、文に構成されたターゲット言語のテキストに対して依存構造解析を行う。図３７は、依存構造解析の結果の一例を示す図であり、図３４に示した文例の依存構造解析の結果を示している。ターゲット言語のテキストは、単語または形態素の木構造をなす。
【０２３２】
ステップＳ１６０２：本実施形態の翻訳装置は、木構造上の各ノードに対して重みを割り当てる。ただし、各ノードの重みは、自ノードまたは子孫ノードの総数とする。
【０２３３】
ステップＳ１６０３：本実施形態の翻訳装置は、翻訳単位のターゲット言語でのテキスト片に含まれる単語（または形態素）の重みの最大値を、翻訳単位の重要度とする。図３７の例では、「Ｉ」の重みは１、「ａｍ」の重みは４、「ａ  ｂｏｙ」の重みは２である。
【０２３４】
以上説明したように、本実施形態の翻訳装置によれば、隠れた文字を補完するかたちで認識された認識テキストを適切にターゲット言語に翻訳して、その翻訳結果をユーザに提示することができる。
【０２３５】
＜第５実施形態＞
次に、第５実施形態について説明する。第５実施形態は、第１実施形態の文字認識装置１００とは異なる文字認識装置の実施形態である。以下では、本実施形態の文字認識装置を、第１実施形態の文字認識装置１００と区別して、「行補完型文字認識装置」と呼ぶ。
【０２３６】
第１実施形態の文字認識装置１００は、単行内での隠れたテキストを検出するが、本実施形態の行補完型文字認識装置は、隠れた行のテキストを検出する。この目的の違いから、第１実施形態の文字認識装置１００は、顕在的テキスト領域に隣接した隠れテキスト領域しか検出しないが、本実施形態の行補完型文字認識装置は、行間などの考慮により、顕在的テキスト領域から離れた隠れテキスト領域も検出する。なお、本実施形態の行間型文字認識装置は、行内の隠れテキストの検出には第１実施形態の文字認識装置１００を用いるものとする。
【０２３７】
（ブラインド現象の分類）
本実施形態で扱うブラインド現象について説明する。以下では、実際には存在するテキストの行が隠される現象を「ブラインド現象」と呼ぶ。図３８は、本実施形態におけるブラインド現象を説明する図である。テキスト全体におけるどの位置の行が隠されるかという観点から、ブラインド現象を「分断型」と「切詰型」の２種類に区別する。
【０２３８】
分断型は、複数行テキストの両端以外の行が隠されるパタンである。図３８（ａ）は、エレベータの操作パネルを被写体に含む情景画像における分断型のブラインド現象の例である。図３８（ａ）に示す操作パネル内の各フロアボタンは、互いに離れているため独立した行として検出されているが、人体などによる遮蔽物あるいは画像の白飛びなどのため、フロアボタンの１つが隠れている。図３８（ｂ）は、スキャン画像における分断型のブラインド現象の例であり、２行目がインクでつぶれている。
【０２３９】
切詰型は、複数行テキストの先頭行または最終行が隠されるパタンである。図３８（ｃ）は情景画像における切詰型のブラインド現象の例であり、何らかの遮蔽物のため、背後の看板の最終行が隠れている。図３８（ｄ）は情景画像における切詰型のブラインド現象の別の例であり、看板が下にフレームアウトしており、最終行が隠れている。図３８（ｅ）はスキャン画像における切詰型のブラインド現象の例であり、先頭行がインクでつぶれている。なお、以降の説明では、図３８（ｃ）および図３８（ｅ）で例示するブラインド現象を「遮蔽切詰型」、図３８（ｄ）で例示するブラインド現象を「フレームアウト切詰型」と呼んで、両者を区別する。
【０２４０】
（部分欠損行現象）
以上のブラインド現象の分類は、行単位での隠れ方に基づく分類である。しかし実際には、行境界に合うように隠蔽されるとは限らず、図３９（ａ），（ｂ）に一例を示すように、行の途中から隠蔽が始まることもある。この現象を「部分欠損行現象」と呼び、「部分欠損行現象」が生じている行を「部分欠損行」と呼ぶ。「部分欠損行現象」は、第１実施形態で説明した部分欠損文字現象が行全体に及んだものと捉えることができる。本実施形態の行補完型文字認識装置は、内部で第１実施形態の文字認識装置１００を用いるため、上述した部分欠損文字領域検出器１３０の処理により、部分欠損行全体が取り除かれることになる。このため、本実施形態では、部分欠損行現象について考慮に入れる必要はない。
【０２４１】
（用語の定義）
本実施形態の説明で用いる領域に関する用語を以下にまとめる。
【０２４２】
顕在的テキスト行領域：第１実施形態の文字認識装置１００によって検出された単数行のテキスト領域（顕在的テキスト領域と隠れテキスト領域とを統合した半隠れテキスト領域、または個別の顕在化テキスト領域）を「顕在的テキスト行領域」と呼ぶ。
【０２４３】
隠れテキスト行領域：本来文字が存在しているがブラインド現象によって隠蔽されている単数行テキストの矩形領域を「隠れテキスト行領域」と呼ぶ。
【０２４４】
テキスト行領域：顕在的テキスト行領域と隠れテキスト行領域とを特に区別しない場合、これらを「テキスト行領域」と呼ぶ。
【０２４５】
複数行テキスト領域：画像中の顕在的テキスト行領域と隠れテキスト行領域の任意の組のうち、１つの複数行テキストをなしている組から構成される１つの矩形領域を「複数行テキスト領域」と呼ぶ。
【０２４６】
テキスト領域：顕在的テキスト領域、隠れテキスト領域、半隠れテキスト領域、顕在的テキスト行領域、隠れテキスト行領域、テキスト行領域、および複数行テキスト領域を包含する上位概念を「テキスト領域」と呼ぶ。
【０２４７】
（行補完型文字認識装置の構成）
図４０は、本実施形態の行補間型文字認識装置５００の構成例を示すブロック図である。本実施形態の行補完型文字認識装置５００は、図４０に示すように、文字認識装置１００と、複数行テキスト領域推定器５１０と、複数行テキスト領域ラティス生成器５２０と、言語評価ベース文字認識器５３０と、複数行テキスト領域構造選択器５４０と、を備える。
【０２４８】
文字認識装置１００は、第１実施形態で説明したように、入力画像Ｘが入力されると、顕在的テキスト領域を検出して文字パタン認識を行うとともに、顕在的テキスト領域に隠れテキスト領域を統合した半隠れテキスト領域の推定を行い、各テキスト領域に含まれる単数行の認識テキストを出力する。なお、各テキスト領域はいずれもテキスト方向が確定している。既に述べたように、本実施形態では一部に隠れテキスト領域が含まれていても、統一的に当該領域を顕在的テキスト行領域と呼ぶ。
【０２４９】
複数行テキスト領域推定器５１０は、文字認識装置１００によって検出された顕在的テキスト行領域を元に、隠れテキスト行領域を推定し、さらにそれらを統合した複数行テキスト領域を推定する。隠れテキスト行領域の例を図４１に示す。図４１（ａ）〜（ｅ）は、それぞれ図３８（ａ）〜（ｅ）に示したブラインド現象の具体例に対応しており、太線の枠で囲まれた領域が隠れテキスト行領域である。
【０２５０】
複数行テキスト領域推定器５１０は、例えば、顕在的テキスト行領域の入力画像Ｘ上での絶対的または相対的な位置関係を元に、前述したブラインド現象の発生を検出し、隠れテキスト行領域を推定する。ただし予測精度が低いため、この段階では確信度の低い候補も含めて過検出するようにし、後続処理で詳細な判定を行って絞り込む。処理の具体例については詳細を後述する。
【０２５１】
複数行テキスト領域ラティス生成器５２０は、複数行テキスト領域のラティスを生成する。複数行テキスト領域とは、上述したように、入力画像Ｘ中の顕在的テキスト行領域と隠れテキスト行領域のうち、１つの複数行テキストをなしていると思われる組を包含する領域のことである。複数行テキスト領域ラティス生成器５２０は、隠れテキスト行領域に当てはめ可能な文字列候補をラティス形式で生成し、顕在的テキスト行領域の文字列候補ラティスと連結することで、複数行テキスト領域のラティスを得る。隠れテキスト行領域に当てはめ可能な文字列候補の推定には当該領域のサイズと、近隣の顕在的テキスト行領域に用いられている文字サイズ尺度を用いる。すなわち、近隣の顕在的テキストと同程度のサイズのフォントを用いるとの仮定の元で、隠れテキスト行領域のサイズに適合する文字列が候補となる。
【０２５２】
また、複数行テキスト領域のラティスには、隠れテキスト行領域の空間コストを与える。空間コストの割り当てには、第１実施形態と同様の方法を用いる。処理の具体例については詳細を後述する。
【０２５３】
言語評価ベース文字認識器５３０は、複数行テキスト領域群および個別の顕在的テキスト行領域群について、それぞれテキスト領域全体を通じた言語的評価を行い、その評価結果をこれまでに得た文字認識コストと空間コストと合わせて総合的な文字認識を行う。これにより、隠れテキスト行領域は、複数行テキスト全体を通じた言語的な適切性を与えるようなテキスト行のうち、なるべく少ない行数（小さな領域サイズ）に当てはまる場合に高く評価される。なお、具体的な処理としては、第１実施形態の文字認識装置１００における言語評価ベース文字認識器１６０と同様の方法を用いる。
【０２５４】
複数行テキスト領域構造選択器５４０は、入力画像Ｘから検出されたすべての顕在的テキスト行領域を複数行テキスト領域に組み込む統合方法を決定し、複数行テキスト領域を含めた入力画像Ｘ１内の各テキスト領域に対する文字認識結果Ｙ２を出力する。
【０２５５】
顕在的テキスト行領域を複数行テキスト領域へ組み込む方法には選択余地がある。例えば、顕在的テキスト行領域が３つある場合、３組を１つの複数行テキスト領域に統合するのか、２組のいずれかを複数行テキスト領域に統合するのか、などの選択肢がある。あるいは切詰型ブラインド現象の場合、隠れテキスト行領域をいくつ仮定するのかにも自由度がある。そこで、複数行テキスト領域構造選択器５４０は、すべての可能な統合方法の中から、各テキスト領域のコストが最小となるような統合方法を選択する。そして、複数行テキスト領域構造選択器５４０は、選択した統合方法に応じたテキスト領域に対する文字認識結果Ｙ２を出力する。処理の具体例については詳細を後述する。
【０２５６】
以下では、本実施形態の行補完型文字認識装置５００を構成する以上の各モジュールのうち、第１実施形態で説明した文字認識装置１００以外のモジュールによる処理の詳細について説明する。
【０２５７】
（複数行テキスト領域推定器）
複数行テキスト領域推定器５１０は、顕在的テキスト行領域と隠れテキスト行領域とを統合した複数行テキスト領域を推定するモジュールである。複数行テキスト領域推定部５１０は、文字認識装置１００によって検出された顕在的テキスト行領域群を元に、隠れテキスト行領域を推定する。さらに、複数行テキスト領域推定器５１０は、得られた隠れテキスト行領域群と顕在的テキスト行領域群とを元に、可能な統合方法（すなわち複数行テキスト領域）をすべて列挙する。
【０２５８】
隠れテキスト行領域の推定処理は、分断型、フレームアウト切詰型および遮蔽切詰型の３タイプのブラインド現象それぞれについて、異なるモジュールによって異なる手順で処理が行われる。
【０２５９】
図４２は、複数行テキスト領域推定器５１０の構成例を示すブロック図である。複数行テキスト領域推定器５１０は、図４２に示すように、分断型複数行テキスト領域推定器５１１と、フレームアウト切詰型複数行テキスト領域推定器５１２と、遮蔽切詰型複数行テキスト領域推定器５１３とを含む。複数行テキスト領域推定器５１０に顕在的テキスト行領域群Ｔ３が入力されると、まず、分断型複数行テキスト領域推定器５１１で処理され、その後、フレームアウト切詰型複数行テキスト領域推定器５１２または遮蔽切詰型複数行テキスト領域推定器５１３での処理が行われる。複数行テキスト領域推定器５１０は、これらの処理の結果を併せて、複数行テキスト領域群Ｔ４として出力する。
【０２６０】
このため、分断型複数行テキスト領域推定器５１１によって生成された複数行テキスト領域群に対し、さらにフレームアウト切詰型複数行テキスト領域推定器５１２または遮蔽切詰型複数行テキスト領域推定器５１３によって隠れテキスト行領域が付与される可能性がある。以上の３種類の処理は、アプリケーションに応じて必要なものだけを行うようにしてもよい。また、図４２の構成例では、フレームアウト切詰型複数行テキスト領域推定器５１２での処理と、遮蔽切詰型複数行テキスト領域推定器５１３での処理が選択的に行われるように構成したが、フレームアウト切詰型複数行テキスト領域推定器５１２と遮蔽切詰型複数行テキスト領域推定器５１３を直列に繋いで、これらの処理を両方を実行できるように構成してもよい。
【０２６１】
以下では、分断型複数行テキスト領域推定器５１１、フレームアウト切詰型複数行テキスト領域推定器５１２、および遮蔽切詰型複数行テキスト領域推定器５１３のそれぞれの処理の詳細について説明する。
【０２６２】
（分断型複数行テキスト領域推定器）
分断型複数行テキスト領域推定器５１１は、基本的な方針は第１実施形態の文字認識装置１００における分断型半隠れテキスト領域推定器１４１と同じである。すなわち、分断型複数行テキスト領域推定器５１１は、２つ以上の顕在的テキスト行領域について、それらの間に隠れテキスト行領域があるかどうかを、領域の位置やサイズに基づいて判定する。またその後、顕在的テキスト行領域群と隠れテキスト行領域群の任意の組合せを行って、可能性のある複数行テキスト領域を列挙する。
【０２６３】
本実施形態の分断型複数行テキスト領域推定器５１１による処理は、以下の３点において、第１実施形態の分断型半隠れテキスト領域推定器１４１による処理と相違する。
【０２６４】
相違点１：第１実施形態では、顕在的テキスト領域同士を統合すると、その間にある領域をすべて隠れテキスト領域として認定した。これに対し本実施形態では、行間（これを「マージン」と呼ぶ。)を考慮して、顕在的テキスト行領域同士の間にある領域を、隠れテキスト行領域とマージンとに振り分ける。以降では、マージンと隠れテキスト行領域とを合わせた領域を、「潜在的テキスト領域」と呼ぶ。
【０２６５】
図４３は、テキスト行領域の統合方法を説明する図である。図４３（ａ）は、顕在的テキスト行領域と隠れテキスト行領域とを横並びで統合して複数行テキスト領域とする例を示している。図４３（ｂ）は、顕在的テキスト行領域と隠れテキスト行領域とを縦並びで統合して複数行テキスト領域とする例を示している。いずれの例も、隣り合うテキスト行領域の間にはマージンが介在している。
【０２６６】
相違点２：本実施形態では、複数行テキスト領域が隠れテキスト行領域を含まない構成とされることを許容する。例えば、領域間にマージンを介した２つの顕在的テキスト行領域から構成されるテキスト領域も、複数行テキスト領域の一つとする。
【０２６７】
相違点３：第１実施形態では、統合対象となるテキスト領域の中に、テキスト方向が不明なテキスト領域が含まれていた。これに対し本実施形態では、すべてのテキスト領域のテキスト方向が確定済みである。
【０２６８】
テキスト行領域の統合において満たすべき条件を以下に列挙する。これらの条件を「テキスト行領域統合条件」と呼ぶものとする。なお、これらのテキスト行領域統合条件はすべてが必須の条件ではなく、入力画像Ｘの種類などに応じて複数行テキスト領域への統合に必要とされる条件を適宜選択して使用すればよい。
【０２６９】
条件１：構成メンバーとなるテキスト行領域の数は２以上である。
条件２：構成メンバーとなるテキスト行領域は直線状に並び、テキスト方向と平行なベクトルにテキスト行領域を射影したときほぼ同じ線分になる（いずれも外接矩形に対してほぼ接している）。
条件３：構成メンバーとなる顕在的テキスト行領域のテキスト方向は、いずれもテキスト行領域が並ぶ方向と垂直である。
条件４：構成メンバーとなる顕在的テキスト行領域に含まれる背景や文字色などの配色が類似している。
条件５：構成メンバーとなる顕在的テキスト行領域に含まれる文字サイズの尺度が類似している。
条件６：構成メンバーとなる顕在的テキスト行領域に含まれる深さの誤差が閾値以下である。
【０２７０】
ここで、分断型複数行テキスト領域推定器５１１による処理の具体例について説明する。分断型複数行テキスト領域推定器５１１は、潜在的テキスト領域の列挙、潜在的テキスト領域のマージンと隠れテキスト行領域への振り分け、可能性のある複数行テキスト領域の列挙の処理をこの順で行う。
【０２７１】
まず、図４４を参照して、潜在的テキスト領域を列挙する処理を説明する。図４４は、複数行テキスト領域の構造例を示す図である。
【０２７２】
分断型複数行テキスト領域推定器５１１は、まず、入力画像Ｘの中からテキスト行領域統合条件を満たす顕在的テキスト行領域のペアを列挙し、各ペアに挟まれた矩形領域を潜在的テキスト領域として検出する。この処理により、図４４の例では図中の破線の領域が潜在的テキスト領域として検出される。
【０２７３】
次に、図４５および図４６を参照して、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける処理を説明する。図４５は、分断型隠れテキスト行領域の一例を示す図であり、図４６は、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける処理の手順を示すフローチャートである。分断型複数行テキスト領域推定器５１１は、以下のステップＳ１７０１〜ステップＳ１７０４の処理を行って、図４４に例示した潜在的テキスト領域を、図４５のように、潜在的テキスト領域をマージンと隠れテキスト行領域とに振り分ける。
【０２７４】
なお、以下の説明で「幅」と呼ぶのは、テキスト方向と垂直となる辺の長さであるとする。また、説明で用いるマージンの幅は、例えば、潜在的テキスト領域が隣接する顕在的テキスト行の幅の０．５倍など、隣接する顕在的テキスト行の幅を基準に定めることができる。
【０２７５】
ステップＳ１７０１：分断型複数行テキスト領域推定器５１１は、上述の処理で検出された潜在的テキスト領域群から潜在的テキスト領域を１つ取り出す。
【０２７６】
ステップＳ１７０２：分断型複数行テキスト領域推定器５１１は、ステップＳ１７０１で取り出した潜在的テキスト領域と隣接する顕在的テキスト領域の幅を取り出す。
【０２７７】
ステップＳ１７０３：分断型複数行テキスト領域推定器５１１は、ステップＳ１７０１で取り出した潜在的テキスト領域に対して、ステップＳ１７０２で取り出した幅を持つ隠れテキスト行領域（すなわち、顕在的テキスト領域と同サイズの隠れテキスト行領域）を０個以上割り当てる。ただし、顕在的テキスト行領域または隠れテキスト行領域の間には必ずマージンが配置されるものとし、マージンの幅はすべて同じ（均等割り）とし、かつその結果が基準幅になるべく近くなることを条件とする。
【０２７８】
ステップＳ１７０４：分断型複数行テキスト領域推定器５１１は、すべての潜在的テキスト領域を取り出したか否かを判定する。そして、判定の結果がＮｏであればステップＳ１７０１に戻り、Ｙｅｓであれば処理を終了する。
【０２７９】
次に、図４５および図４７を参照して、可能性のある複数行テキスト領域を列挙する処理を説明する。図４７は、複数行テキスト領域を列挙する処理の手順を示すフローチャートである。分断型複数行テキスト領域推定器５１１は、以下のステップＳ１８０１およびステップＳ１８０２の処理を行って、可能性のある複数行テキスト領域を列挙する。
【０２８０】
ステップＳ１８０１：分断型複数行テキスト領域推定器５１１は、すべての顕在的テキスト行領域の中から、テキスト行領域統合条件を満たす組をすべて列挙する。図４５の例の場合、ステップＳ１８０１で列挙される顕在的テキスト行領域の組は、（Ａ，Ｂ）、（Ｃ，Ｄ）、（Ｅ，Ｆ）、（Ｆ，Ｇ）、（Ｅ，Ｆ，Ｇ）である。
【０２８１】
ステップＳ１８０２：分断型複数行テキスト領域推定器５１１は、ステップＳ１８０１で列挙した各組について、その間に存在する隠れテキスト行領域をすべて追加し、これらの組を複数行テキスト領域として出力する。図４５の例の場合、ステップＳ１８０２で出力される複数行テキスト領域は、（Ａ，Ｂ）、（Ｃ，ａ，Ｄ）、（Ｅ，Ｆ）、（Ｆ，ｂ，ｃ，Ｇ）、（Ｅ，Ｆ，ｂ，ｃ，Ｇ）である。
【０２８２】
（フレームアウト切詰型複数行テキスト領域推定器）
フレームアウト切詰型複数行テキスト領域推定器５１２は、入力画像Ｘの縁（上下左右の辺）に接する顕在的テキスト行領域に対し、入力画像Ｘの辺の外側に隠れテキスト行領域が存在すると仮定して、入力画像Ｘの辺の外側に領域を延長したものを複数行テキスト領域として推定する。ただし分断型と異なり、隠れテキスト行領域の大きさを決定する判断材料はない。したがって、予め定めた設定に従って入力画像Ｘの辺の外側に延長する領域の長さを決定する。延長する領域の長さの設定方法としては、例えば、追加行数を用いる方法が考えられる。設定値は複数持つようにしてもよく、その場合、すべての設定値で同様の処理を行う。
【０２８３】
図４８は、フレームアウト切詰型複数行テキスト領域の一例を示す図である。図４８（ａ）は、入力画像Ｘの左辺に接する顕在的テキスト行領域または複数行テキスト領域を入力画像Ｘの左辺から外側に延長し、複数行テキスト領域とする例を示している。図４８（ｂ）は、入力画像Ｘの下辺に接する顕在的テキスト行領域または複数行テキスト領域を入力画像Ｘの下辺から外側に延長し、複数行テキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの追加行数に対応する長さで領域を延長する。
【０２８４】
図４９は、フレームアウト切詰型複数行テキスト領域推定器５１２による処理の手順を示すフローチャートである。フレームアウト切詰型複数行テキスト領域推定器５１２は、以下のステップＳ１９０１〜ステップＳ１９０７の処理を行い、フレームアウト切詰型複数行テキスト領域を推定する。
【０２８５】
ステップＳ１９０１：フレームアウト切詰型複数行テキスト領域推定器５１２は、分断型複数行テキスト領域推定器５１１が出力した複数行テキスト領域群および顕在的テキスト行領域群の集合の中からテキスト領域を１つ取り出す。
【０２８６】
ステップＳ１９０２：フレームアウト切詰型複数行テキスト領域推定器５１２は、ステップＳ１９０１で取り出したテキスト領域について、テキスト方向が縦書きで、かつ、入力画像Ｘの左右いずれかの辺に接しているか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ１９０３に進み、ＮｏであればステップＳ１９０４に進む。
【０２８７】
ステップＳ１９０３：フレームアウト切詰型複数行テキスト領域推定器５１２は、ステップＳ１９０１で取り出したテキスト領域を、設定に基づく長さ（追加行数分の幅およびマージンに相当する長さ）だけ、当該テキスト領域が接している入力画像Ｘの左右いずれかの辺から画像外に延長し、これを新たな複数行テキスト領域とする。
【０２８８】
ステップＳ１９０４：フレームアウト切詰型複数行テキスト領域推定器５１２は、ステップＳ１９０１で取り出したテキスト領域について、テキスト方向が横書きで、かつ、入力画像Ｘの上下いずれかの辺に接しているか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ１９０５に進み、ＮｏであればステップＳ１９０６に進む。
【０２８９】
ステップＳ１９０５：フレームアウト切詰型複数行テキスト領域推定器５１２は、ステップＳ１９０１で取り出したテキスト領域を、設定に基づく長さ（追加行数分の幅およびマージンに相当する長さ）だけ、当該テキスト領域が接している入力画像Ｘの上下いずれかの辺から画像外に延長し、これを新たな複数行テキスト領域とする。
【０２９０】
ステップＳ１９０６：フレームアウト切詰型複数行テキスト領域推定器５１２は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ１９０７に進み、ＮｏであればステップＳ１９０１に戻る。
【０２９１】
ステップＳ１９０７：フレームアウト切詰型複数行テキスト領域推定器５１２は、生成した複数行テキスト領域群を出力する。
【０２９２】
（遮蔽切詰型複数行テキスト領域推定器）
遮蔽切詰型複数行テキスト領域推定器５１３は、すべての顕在的テキスト行領域について、その行の前方側や後方側に隠れテキスト行領域が存在すると仮定して、行の前方側や後方側に領域を延長したものを複数行テキスト領域として推定する。延長する領域の長さは、フレームアウト切詰型と同様、予め定めた設定に従って決定する。延長する領域の長さの設定方法としては、例えば、追加行数を用いる方法が考えられる。ただし、フレームアウト切詰型と異なり、延長する領域の長さに対する制約として、他の顕在的テキスト領域に重ならないという制約が加わる。
【０２９３】
図５０は、遮蔽切詰型複数行テキスト領域の一例を説明する図である。図５０（ａ）は、テキスト方向が縦方向の顕在的テキスト行領域または複数行テキスト領域を、別の顕在的テキスト領域に重ならない範囲で横方向に延長し、複数行テキスト領域とする例を示している。図５０（ｂ）は、テキスト方向が横方向の顕在的テキスト領域または半隠れテキスト領域を、別の顕在的テキスト領域に重ならない範囲で縦方向に延長し、複数行テキスト領域とする例を示している。いずれの場合も、領域をどこまで延長すべきかに関する手がかりはないため、予め定めた何種類かの追加行数に対応する長さで領域を延長する。
【０２９４】
図５１は、遮蔽切詰型複数行テキスト領域推定器５１３による処理の手順を示すフローチャートである。遮蔽切詰型複数行テキスト領域推定器５１３は、以下のステップＳ２００１〜ステップＳ２００５の処理を行い、遮蔽切詰型複数行テキスト領域を推定する。ただし、マージンサイズは分断型隠れテキスト行領域推定器５１１で用いたものと同様の設定を用いるものとする。また、新規に生成する隠れテキスト行領域のサイズは、延長元となるテキスト領域に含まれる顕在的テキスト行領域と同サイズとする。
【０２９５】
ステップＳ２００１：遮蔽切詰型複数行テキスト領域推定器５１３は、分断型複数行テキスト領域推定器５１１が出力した複数行テキスト領域群および顕在的テキスト行領域群の集合の中からテキスト領域を１つ取り出す。
【０２９６】
ステップＳ２００２：遮蔽切詰型複数行テキスト領域推定器５１３は、ステップＳ２００１で取り出したテキスト領域を、設定に基づく長さ（追加行数分の幅およびマージンに相当する長さ）だけ前方行の方向へ延長し、これを新たな複数行テキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【０２９７】
ステップＳ２００３：遮蔽切詰型複数行テキスト領域推定器５１３は、ステップＳ２００１で取り出したテキスト領域を、設定に基づく長さ（追加行数分の幅およびマージンに相当する長さ）だけ後方行の方向へ延長し、これを新たな複数行テキスト領域とする。ただし、設定に基づく長さの延長により別の顕在的テキスト領域と重なる場合は、その設定値での延長は行わない。
【０２９８】
ステップＳ２００４：遮蔽切詰型複数行テキスト領域推定器５１３は、処理の対象となるすべてのテキスト領域を取り出したか否かを判定する。そして、判定の結果がＹｅｓであればステップＳ２００５に進み、ＮｏであればステップＳ２００１に戻る。
【０２９９】
ステップＳ２００５：遮蔽切詰型複数行テキスト領域推定器５１３は、得られたすべての複数行テキスト領域を出力する。
【０３００】
（複数行テキスト領域ラティス生成器）
複数行テキスト領域ラティス生成器５２０は、複数行テキスト領域推定器５１０によって生成された複数行テキスト領域について、当該複数行テキスト領域に含まれる顕在的テキスト行領域および隠れテキスト行領域を鎖状に行連結したかたちでのテキスト候補を列挙するラティスを生成するモジュールである。顕在的テキスト行領域のラティスは、第１実施形態の文字認識装置１００により既に生成済みである。複数行テキスト領域ラティス生成器５２０は、例えば、隠れテキスト行領域のラティスを生成した上で、文字認識装置１００によって生成済みの顕在的テキスト行領域のラティスと隠れテキスト行領域のラティスとを鎖状に連結したものを、複数行テキスト領域のラティスとして出力する。
【０３０１】
隠れテキスト行領域のラティスの生成方法は、文字認識装置１００による隠れテキスト領域のラティスの生成方法（図１９〜図２２の処理手順）と同様である。ただし、領域サイズに基づく空間コストを割り当てる際に、隠れテキスト行領域のサイズだけでなく、マージンのサイズを含めて、隠れテキスト行領域のラティスに割り当てる空間コストを決定するようにしてもよい。
【０３０２】
図５２は、複数行テキスト領域のラティスの一例を示す図である。この図５２の例は、文字認識装置１００の処理によって半隠れテキスト領域「Ｗ？Ｌ」と顕在的テキスト領域「ｔｏＮＹ」が検出され、複数行テキスト領域推定器５１０の処理によって、それらの顕在的テキスト行領域の間に隠れテキスト行領域が検出された場合の例である。これらを統合した複数行テキスト領域に対応するラティスは、図５２に示すように、各行Ｌ１，Ｌ２，Ｌ３のラティスを鎖状に繋いだものとなっている。
【０３０３】
複数行テキスト領域の１行目Ｌ１は、文字認識装置１００の処理によって検出された半隠れテキスト領域であり、１行目Ｌ１のラティスは図２４に例示した半隠れテキスト領域のラティスと同様の構造になっている。複数行テキスト領域の２行目Ｌ２は、複数行テキスト領域推定器５１０の処理によって検出された隠れテキスト行領域であるため、２行目Ｌ２のラティスは空間コストのみが割り当てられている。複数行テキスト領域の３行目Ｌ３は、文字認識装置１００の処理によって検出された顕在的テキスト領域であり、３行目Ｌ３のラティスには、文字パタン認識コストが配置されている。
【０３０４】
（言語評価ベース文字認識器）
言語評価ベース文字認識器５３０は、複数行テキスト領域ラティス生成器５２０によって生成されたラティスに対して言語的評価を加え、文字パタン認識コスト、空間コスト、および言語的コストの３点を考慮した文字認識処理を行うモジュールである。なお、言語評価ベース文字認識器５３０による処理の手順は、文字認識装置１００の言語評価ベース文字認識器１６０と同様であるため、詳細な説明は省略する。
【０３０５】
（複数行テキスト領域構造選択器）
以上の処理で得られた複数行テキスト領域群は、文字認識結果Ｙ２の選択候補である。複数行テキスト領域構造選択器５４０は、最終的に選択すべき複数行テキスト領域群を決定する。そして、複数行テキスト領域構造選択器５４０は、統合コストに基づいて選択または順位付けされたテキストを、複数行テキスト領域に対する文字認識結果Ｙ２として出力する。
【０３０６】
複数行テキスト領域構造選択器５４０は、顕在的テキスト行領域を最大１回だけ用いて複数行テキスト領域群を生成するすべての統合方法のうち、生成される複数行テキスト領域群および複数行テキスト領域群に組み込まれなかった顕在的テキスト領域群のコストの合計が最小となる統合方法を選択する。なお、複数行テキスト領域構造選択器５４０による処理の手順は、文字認識装置１００のテキスト領域構造選択器１７０と同様であるため、詳細な説明は省略する。
【０３０７】
以上説明したように、本実施形態の行補間型文字認識装置５００によれば、顕在的テキスト行領域に対して隠れテキスト行領域を統合した複数行テキスト領域を推定し、推定した複数行テキスト領域に対応するテキスト候補を文字認識結果Ｙ２として出力するので、行の全体に跨って文字が隠れている場合であっても、隠れた文字を補完するかたちで文字認識結果Ｙ２としてのテキストを得ることができる。
【０３０８】
＜補足説明＞
実施形態の文字認識装置１００における各処理部（顕在的テキスト領域検出器１１０、文字パタン認識器１２０、部分欠損文字領域検出器１３０、半隠れテキスト領域推定器１４０、半隠れテキスト領域ラティス生成器１５０、言語評価ベース文字認識器１６０、およびテキスト領域構造選択器１７０）は、ハードウェア、またはハードウェアと協働して動作するソフトウェア（プログラム）での実装が可能である。上記の各処理部をソフトウェアで実装する場合、文字認識装置１００は、例えば図５３に示すように、ＣＰＵ（Central  Processing  Unit）１１などの制御装置、ＲＯＭ（Read  Only  Memory）１２やＲＡＭ（Random  Access  Memory）１３などの記憶装置、表示パネルや各種操作デバイスが接続される入出力Ｉ／Ｆ１４、ネットワークに接続して通信を行う通信Ｉ／Ｆ１５、各部を接続するバス１６などを備えた、通常のコンピュータを利用したハードウェア構成とすることができる。
【０３０９】
上述した実施形態の文字認識装置１００で実行されるプログラムは、例えば、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【０３１０】
また、上述した実施形態の文字認識装置１００で実行されるプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態の文字認識装置１００で実行されるプログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。また、上述した実施形態の文字認識装置１００で実行されるプログラムを、ＲＯＭ１２等に予め組み込んで提供するように構成してもよい。
【０３１１】
上述した実施形態の文字認識装置１００で実行されるプログラムは、文字認識装置１００の各処理部（顕在的テキスト領域検出器１１０、文字パタン認識器１２０、部分欠損文字領域検出器１３０、半隠れテキスト領域推定器１４０、半隠れテキスト領域ラティス生成器１５０、言語評価ベース文字認識器１６０、およびテキスト領域構造選択器１７０）を含むモジュール構成となっており、実際のハードウェアとしては、例えば、ＣＰＵ１１（プロセッサ）が上記記録媒体からプログラムを読み出して実行することにより、上述した各処理部がＲＡＭ１３（主記憶）上にロードされ、上述した各処理部がＲＡＭ１３（主記憶）上に生成されるようになっている。なお、上述した実施形態の文字認識装置１００は、上述した各処理部の一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアを用いて実現することも可能である。
【０３１２】
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０３１３】
１００  文字認識装置
１１０  顕在的テキスト領域検出器
１２０  文字パタン認識器
１３０  部分欠損文字領域検出器
１４０  半隠れテキスト領域推定器
１４１  分断型半隠れテキスト領域推定器
１４２  フレームアウト切詰型半隠れテキスト領域推定器
１４３  遮蔽切詰型半隠れテキスト領域推定器
１５０  半隠れテキスト領域ラティス生成器
１６０  言語評価ベース文字認識器
１７０  テキスト領域構造選択器
２００  画像表示装置
２１０  表示画面生成器
２２０  再構造器
２３０  テキスト領域構造選択器
３００  画像検索装置
３１０  画像ＤＢ
３２０  索引構築器
３３０  ランカ
５００  行補完型文字認識装置
５１０  複数行テキスト領域推定器
５１１  分断型複数行テキスト領域推定器
５１２  フレームアウト切詰型複数行テキスト領域推定器
５１３  遮蔽切詰型複数行テキスト領域推定器
５２０  複数行テキスト領域ラティス生成器
５３０  言語評価ベース文字認識器
５４０  複数行テキスト領域構造選択器
【図１】
0006342298.tif 000002
【図２】
0006342298.tif 000003
【図３】
0006342298.tif 000004
【図４】
0006342298.tif 000005
【図５−１】
0006342298.tif 000006
【図５−２】
0006342298.tif 000007
【図６−１】
0006342298.tif 000008
【図６−２】
0006342298.tif 000009
【図７】
0006342298.tif 000010
【図８】
0006342298.tif 000011
【図９】
0006342298.tif 000012
【図１０−１】
0006342298.tif 000013
【図１０−２】
0006342298.tif 000014
【図１１】
0006342298.tif 000015
【図１２】
0006342298.tif 000016
【図１３】
0006342298.tif 000017
【図１４】
0006342298.tif 000018
【図１５】
0006342298.tif 000019
【図１６】
0006342298.tif 000020
【図１７】
0006342298.tif 000021
【図１８】
0006342298.tif 000022
【図１９】
0006342298.tif 000023
【図２０】
0006342298.tif 000024
【図２１】
0006342298.tif 000025
【図２２】
0006342298.tif 000026
【図２３】
0006342298.tif 000027
【図２４】
0006342298.tif 000028
【図２５】
0006342298.tif 000029
【図２６】
0006342298.tif 000030
【図２７】
0006342298.tif 000031
【図２８】
0006342298.tif 000032
【図２９】
0006342298.tif 000033
【図３０】
0006342298.tif 000034
【図３１】
0006342298.tif 000035
【図３２】
0006342298.tif 000036
【図３３】
0006342298.tif 000037
【図３４】
0006342298.tif 000038
【図３５】
0006342298.tif 000039
【図３６】
0006342298.tif 000040
【図３７】
0006342298.tif 000041
【図３８】
0006342298.tif 000042
【図３９】
0006342298.tif 000043
【図４０】
0006342298.tif 000044
【図４１】
0006342298.tif 000045
【図４２】
0006342298.tif 000046
【図４３】
0006342298.tif 000047
【図４４】
0006342298.tif 000048
【図４５】
0006342298.tif 000049
【図４６】
0006342298.tif 000050
【図４７】
0006342298.tif 000051
【図４８】
0006342298.tif 000052
【図４９】
0006342298.tif 000053
【図５０】
0006342298.tif 000054
【図５１】
0006342298.tif 000055
【図５２】
0006342298.tif 000056
【図５３】
0006342298.tif 000057