(57)【特許請求の範囲】
【請求項１】
文字列と該文字列の意味とを対応付けて記憶する辞書データ記憶部と、
画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して前記辞書データ記憶部に対して前方一致検索を行い、検索できるまで前記削除を繰り返す文字削除部と、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字削除部により検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データ記憶部に対して前方一致検索を行い、検索されるまで前記付加を繰り返す文字付加検索を行い、且つ検索された文字列を次の検索対象の文字列として、前記文字列を削除する前の前記文字列の当初文字数になるまで前記文字付加検索を繰り返す文字付加部と、
前記文字付加部により前記辞書データ記憶部から検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として出力する出力部と
を備えたことを特徴とする文字認識装置。
【請求項２】
文字の形状に対応する一つ又は複数の候補文字を記憶する文字データ記憶部と、
複数の文字を含む画像を取得する画像取得部と、
前記文字データ記憶部を参照し、前記画像に写っている各文字の形状に対応する前記候補文字を取得し、該候補文字の中から前記画像に写っている文字の認識文字を特定する文字認識処理部と、
前記文字認識処理部により取得された前記認識文字を所定の単位に分け文字列を作成する文字列作成部とをさらに備え、
前記文字削除部は、前記文字列作成部が作成した文字列を取得し
前記文字付加部は、前記文字認識処理部から前記候補文字を取得する
ことを特徴とする請求項１に記載の文字認識装置。
【請求項３】
前記辞書データ記憶部は、文字の形状に類似する一つ又は複数の候補文字を、各候補文字が前記文字の形状に一致する度合いである類似度とともに各文字の形状に対応させて記憶し、
前記文字認識処理部は、前記画像に写っている各文字の形状に類似する一つ又は複数の候補文字を前記類似度とともに取得し、最も類似度の高い候補文字を認識文字とし、
前記文字削除部は、前記辞書データ記憶部から前記文字列の前方一致検索を行い、前記辞書データ記憶部から前記文字列が検索できない場合、検索できなかった文字列の末尾の文字を削除して検索文字列とし、該検索文字列の前方一致検索を行うことを、該検索文字列が前記辞書データ記憶部から検索されるまで順次繰り返し、
前記文字付加部は、前記検索文字列が前記辞書データ記憶部から検索された場合、検索された検索文字列の末尾に、削除された文字に対応する候補文字を前記類似度の高い順に付加して候補文字列とし、該候補文字列の前方一致検索を行う前記文字付加検索を、該候補文字列が前記辞書データ記憶部から検索されるまで順次繰り返し、且つ、前記候補文字列が前記辞書データ記憶部から検索された場合、前記当初文字数になるまで、検索された前記候補文字列を次の検索文字列として前記文字付加検索を繰り返す
ことを特徴とする請求項２に記載の文字認識装置。
【請求項４】
前記画像取得部は、カメラ及びライトを有し、前記ライトを消した状態で前記カメラにより撮影した複数の文字からなる第１画像を生成し、前記ライトをつけた状態で前記カメラにより撮影した複数の文字からなる第２画像を生成し、
前記文字認識処理部は、前記第１画像又は前記第２画像の一方の画像を用いて文字の認識を行い、前記一方の画像に写っている文字のうち認識できない文字がある場合、他方の画像を用いて文字の認識を行う
ことを特徴とする請求項２又は請求項３に記載の文字認識装置。
【請求項５】
前記認識文字列に対応する意味を前記辞書データ記憶部から取得し、前記文字付加部により前記辞書データ記憶部から検索された前記当初文字数を有する文字列を基に問題を作成する問題作成部をさらに備えたことを特徴とする請求項１〜請求項４のいずれか一つに記載の文字認識装置。
【請求項６】
画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して、文字列とその文字列の意味とを対応付けて記憶する辞書データに対して前方一致検索を行い、検索できるまで前記削除を繰り返し、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字の削除を用いた検索において検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データに対して前方一致検索を行い、検索されるまで前記付加を繰り返し、
前記文字列を削除する前の前記文字列の当初文字数になるまで、前記文字の付加を用いた検索において検索された文字列を次に検索を行う文字列として、前記文字の付加を用いた検索を繰り返し、
前記文字の付加を用いた検索において前記辞書データから検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として出力する
処理をコンピュータに実行させることを特徴とする文字認識装置制御プログラム。
【請求項７】
コンピュータによって実行される文字認識装置制御方法であって、
画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して、文字列とその文字列の意味とを対応付けて記憶する辞書データに対して前方一致検索を行い、検索できるまで前記削除を繰り返し、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字の削除を用いた検索において検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データに対して前方一致検索を行い、検索されるまで前記付加を繰り返し、
前記文字列を削除する前の前記文字列の当初文字数になるまで、前記文字の付加を用いた検索において検索された文字列を次に検索を行う文字列として、前記文字の付加を用いた検索を繰り返し、
前記文字の付加を用いた検索において前記辞書データから検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として出力する
ことを特徴とする文字認識装置制御方法。
【請求項８】
文字列とその文字列の意味とを対応付けて記憶する辞書データ記憶部と、
カメラで取得した画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して前記辞書データ記憶部に対して前方一致検索を行い、検索できるまで前記削除を繰り返す文字削除部と、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字削除部により検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データ記憶部に対して前方一致検索を行い、検索されるまで前記付加を繰り返す文字付加検索を行い、且つ検索された文字列を次の検索対象の文字列として、前記文字列を削除する前の前記文字列の当初文字数になるまで前記文字付加検索を繰り返す文字付加部と、
前記文字付加部により前記辞書データ記憶部から検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として表示する表示部と
を備えたことを特徴とする携帯端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識装置、文字認識装置制御プログラム、文字認識装置制御方法及び携帯端末装置に関する。
【背景技術】
【０００２】
一般に文字認識装置は、入力されたイメージデータ中の文字または文字列を認識して文字データを出力する機能を有する。この文字認識装置の例としては、ＯＣＲ(Optical Character Reader)などがある。近年、このようなＯＣＲなどの文字認識装置の機能が、携帯端末装置や携帯情報端末(PDA：Personal Digital Assistants）等に搭載されるようになってきている。
【０００３】
このような文字認識装置では、文字イメージの濃淡、文字の印刷状態などを原因としてイメージデータから正確な文字の認識をすることができない場合がある。正確な文字の認識ができない場合、その文字をデータとして使うことができない。この点、文字認識に時間をかけて精度を上げることが考えられるが、文字認識に多くの時間がかかってしまっては、文字認識装置の使い勝手が悪くなってしまう。そこで、文字認識においては、精度の高い文字認識をなるべく短い時間で行うことが重要である。
【０００４】
従来、最初に認識した文字列の認識を訂正する場合に、先頭の文字から順に１文字ずつ次候補の文字に置き換え前方一致検索を行い、検索されると次の文字を加えて検索を行うことを繰り返して文字認識を行う技術が提案されている。
【０００５】
また、入力した文字列の末尾から１文字ずつ減らしながら順次検索していき、入力した文字列になるべく一致する情報を検索する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−６７１７９号公報
【特許文献２】特開２００９−１９３１３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、先頭の文字から順に１文字ずつ加えながら検索を行う従来技術では、文字列全ての文字に対して候補となる文字による検索を行っていくことになるため、文字認識の処理に多大な時間がかかってしまう。
【０００８】
また、単に文字を減らしていくだけでは、元の文字列を検索することができないため、元の文字列を特定することは困難である。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、精度の高い文字認識を短時間で実施する文字認識装置、文字認識装置制御プログラム、文字認識装置制御方法及び携帯端末装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する文字認識装置、文字認識装置制御プログラム、文字認識装置制御方法及び携帯端末装置は、一つの態様において、文字データ記憶部は、文字の形状に対応する一つ又は複数の候補文字を記憶する。辞書データ記憶部は、文字列とその文字列の意味とを対応付けて記憶する。画像取得部は、複数の文字からなる画像を取得する。文字認識処理部は、前記文字データ記憶部を参照し、前記画像に写っている各文字の形状に対応する候補文字を取得し、該候補文字の中から前記画像に写っている文字の認識文字を特定する。文字列作成部は、前記文字認識処理部により取得された認識文字を所定の単位に分け文字列を作成する。文字削除部は、前記文字列の末尾の文字を削除して前記辞書データ記憶部に対して前方一致検索を行い、検索できるまで前記削除を繰り返す。文字付加部は、前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字削除部により検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データ記憶部に対して前方一致検索を行い、検索されるまで前記付加を繰り返す文字付加検索を行い、且つ検索された文字列を次の検索対象の文字列として、前記文字列を削除する前の前記文字列の当初文字数になるまで前記文字付加検索を繰り返す。出力部は、前記文字付加部により前記辞書データ記憶部から検索された前記当初文字数を有する文字列を認識文字列として出力する。
【発明の効果】
【００１１】
本願の開示する文字認識装置、文字認識装置制御プログラム、文字認識装置制御方法及び携帯端末装置の一つの態様によれば、精度の高い文字認識を短時間で実施することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る文字認識装置のブロック図である。
【図２】図２は、認識文字表の一例の図である。
【図３】図３は、実施例１に係る文字認識装置の文字認識処理及び補正処理のフローチャートである。
【図４】図４は、文字列の検索処理による認識文字の補正のフローチャートである。
【図５】図５は、実施例２に係る文字認識装置のブロック図である。
【図６】図６は、実施例２に係る文字認識装置における文字認識処理のフローチャートである。
【図７】図７は、実施例３に係る文字認識装置のブロック図である。
【図８】図８は、関係付けテーブルの一例の図である。
【図９】図９は、英語問題定義ファイルの一例の図である。
【図１０】図１０は、英語問題作成における単語帳及び単語群の定義の作成処理のフローチャートである。
【図１１】図１１は、英語問題作成における各問題の定義の作成処理のフローチャートである。
【図１２】図１２は、日本語問題定義ファイルの一例の図である。
【図１３】図１３は、日本語問題作成における単語群の定義の作成処理のフローチャートである。
【図１４】図１４は、日本語問題作成における各問題の定義文の作成処理のフローチャートである。
【図１５】図１５は、文字認識装置制御プログラムを実行する携帯端末装置のハードウェア構成図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する文字認識装置、文字認識装置制御プログラム、文字認識装置制御方法及び携帯端末装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する技術が限定されるものではない。
【実施例１】
【００１４】
図１は、実施例１に係る文字認識装置のブロック図である。図１に示すように、本実施例に係る文字認識装置は、カメラ１、画像取得部２、文字認識処理部３、文字補正処理部４、出力部５、辞書検索部６、ＯＣＲ辞書データ記憶部７及び辞書データ記憶部８を有する。
【００１５】
カメラ１は、画像取得部２からの指示を受けて対象の撮像を行う撮像装置である。例えば、カメラ１は、英語文章が記載されている本の１ページの撮像を行い、文字の画像を取得する。以下では、英語の文章が記載されている本を用いて文字認証を行う場合で説明する。
【００１６】
画像取得部２は、操作者から入力された文字認識開始の命令を受けて、カメラ１に撮影を指示する。そして、画像取得部２は、カメラ１が撮影した画像を取得する。そして、画像取得部２は、カメラ１が撮影した画像から例えばＹＵＶ形式などの画像データを取得する。そして、画像取得部２は、取得した画像データを文字認識処理部３へ出力する。以下、本実施例の説明ではＹＵＶ形式の画像データ（ＹＵＶデータと称呼する）を用いる例を説明する。
【００１７】
ＯＣＲ辞書データ記憶部７は、複数の画像パターンを記憶している。そして、ＯＣＲ辞書データ記憶部７は、各画像パターンに対応する文字コードである候補文字を画像パターンに対応させたＯＣＲ辞書データを記憶している。さらに、ＯＣＲ辞書データ記憶部７は、各候補文字のその候補文字に対応する画像パターンとの類似度を記憶している。このＯＣＲ辞書データ記憶部７が「文字データ記憶部」の一例にあたる。
【００１８】
文字認識処理部３は、英文が写った画像のＹＵＶデータの入力を画像取得部２から受ける。文字認識処理部３は、ＹＵＶデータから文字列を抽出する。ここで、本実施例では、文字認識処理部３は、英文中の空白から次の空白までを１単語とし、１単語を１つの文字列として抽出している。
【００１９】
そして、文字認識処理部３は、認識した各文字列にインデックスを割り振る。このインデックスは文字列を識別できる識別子であれば特に制限はなく、例えば連番の数字でも良い。
【００２０】
さらに、文字認識処理部３は、文字列に含まれる各文字の画像パターンを抽出する。そして、文字認識処理部３は、認識した各文字列の文字数を取得する。
【００２１】
さらに、文字認識処理部３は、抽出した文字の画像パターンの候補文字をＯＣＲ辞書データ記憶部７が記憶しているＯＣＲ辞書データから検索する。そして、文字認識処理部３は、検出した候補文字の文字コードを取得する。本実施例では、文字認識処理部３は、１０個を候補文字の上限として候補文字の文字コードの取得を行う。具体的には、文字認識処理部３は、画像パターンに対応する候補文字を全て検索し、検索でヒットした候補文字が１０個以上の場合には、その中から類似度の高い順に１０個取得する。
【００２２】
そして、文字認識処理部３は、取得した候補文字のうち最も類似度が高い候補文字を認識文字とし、認識文字の文字コードを画像に写っている文字の文字コードとする。さらに、文字認識処理部３は、残りの候補文字の文字コードを次候補文字の文字コードとする。例えば、文字認識処理部３は、画像に写った文字の画像パターンから５個の候補文字を取得した場合、最も類似度が高い１つの候補文字を画像に写った文字の認識文字とし、残りの４つの候補文字を次候補文字とする。
【００２３】
文字認識処理部３は、各文字列に対応するインデックス、インデックスに対応する文字列の文字数及びインデックスに対応する各文字列を構成する文字の文字コードを文字補正処理部４へ出力する。さらに、文字認識処理部３は、インデックスに対応する各文字列を構成する文字の次候補文字の文字コード及び各次候補文字の類似度を文字補正処理部４へ出力する。この文字認識処理部３が「文字認識処理部」及び「文字列作成部」の一例にあたる。
【００２４】
辞書データ記憶部８は、メモリやハードディスクなどの記憶装置である。そして、辞書データ記憶部８は、複数の文字列と各文字列の意味を対応させた辞書データを記憶している。
【００２５】
辞書検索部６は、辞書データ記憶部８が記憶している辞書データを用いて、削除処理部４１又は付加処理部４２から入力された文字列の前方一致検索を行う。そして、辞書検索部６は、検索ができたか否かの検索結果を文字列の入力元へ出力する。
【００２６】
文字補正処理部４は、削除処理部４１及び付加処理部４２を有する。文字補正処理部４は、各文字列に対応するインデックス、インデックスに対応する文字列の文字数及びインデックスに対応する各文字列を構成する文字の文字コードの入力を文字認識処理部３から受ける。また、文字補正処理部４は、インデックスに対応する各文字列を構成する文字の次候補文字の文字コード及び各次候補文字の類似度を文字認識処理部３から受信する。
【００２７】
そして、文字補正処理部４は、図２のような、各文字列に対応する認識文字及び次候補文字が記載された認識文字表を作成する。図２は、認識文字表の一例の図である。図２では、紙面に向かって左端の欄が各文字列に割り当てられたインデックスである。本実施例では、インデックスを文の先頭の文字列から順番にChar No.1、Char No.2、Char No.3・・・としている。図２では「Archaeological research indicates that people」という文章の文字認識を行った場合の表である。図２は、文字認識処理部３によって「Archaeological research indicates that people」という文章が「Archae{logic1| research Indecates that people」と認識されたことを表している。図２では、各インデックスの後に文字認識処理部３によって認識された文字列を構成する認識文字が並んでいる。この一番上に並んだ点線１０１で囲われている文字は後述する文字の削除及び追加を把握するための文字である。この一番上に並んだ認識文字を「補正制御用文字」という。そして、図２の各文字の紙面に向かって下側に、認識文字の文字コードを再度並べ、さらに類似度の高い順に下に向かって次候補文字が並べられている。例えば、Char No.1の文字列の６番目の文字である補正制御文字１０２に対する、認識文字は「ｅ」であり、次候補文字は「ｃ」「ｇ」である。また、Char No.1の文字列の７番目の文字である文字１０３では、認識文字及び次候補文字合わせて１０個の文字が記載されている。上述したように、本実施例では、文字認識処理部３が文字を検出し取得するときに１０個を上限としている。すなわち、本来であれば文字１０３の候補文字は１０個以上あるのだが、認識文字表では上限の１０個の文字が記載されている。ここで、図２では、分かりやすいように認識文字及び次候補文字として実際の文字が記載されているが、これは実際には文字コードが記載されている。
【００２８】
文字補正処理部４は、作成した認識文字表を削除処理部４１に送信する。そして、文字補正処理部４は、削除処理部４１及び付加処理部４２による文字列の検索を用いた認識文字の補正が行われた認識文字表を付加処理部４２から受信する。削除処理部４１及び付加処理部４２による文字列の検索を用いた認識文字の補正の詳細ついては後で説明する。
【００２９】
文字補正処理部４は、あるインデックスを有する文字列の削除処理部４１及び付加処理部４２による補正が終わると、次のインデックスを有する文字列の補正を削除処理部４１及び付加処理部４２に行わせる。また、文字補正処理部４は、削除処理部４１又は付加処理部４２のいずれかから検索不可の通知を受け取った場合にも、次のインデックスを有する文字列の補正を削除処理部４１及び付加処理部４２に行わせる。そして、文字補正処理部４は、削除処理部４１及び付加処理部４２による文字列の補正を繰返し、認識文字表に記載されている全てのインデックスに対応した文字列について補正を実行する。
【００３０】
そして、文字補正処理部４は、全てのインデックスに対応した文字列の補正が完了した認識文字表を付加処理部４２から受信する。そして、文字補正処理部４は、全てのインデックスに対応した文字列の補正が完了した認識文字表に記載されている各文字列を構成する文字の文字コードを、画像に写っている文字列の認識文字として出力部５へ出力する。
【００３１】
削除処理部４１は、文字補正処理部４が作成した認識文字表を受信する。そして、削除処理部４１は、認識文字を並べた文字列を辞書検索部６に送信する。そして、削除処理部４１は、辞書検索部６から文字列の検索結果を取得する。文字補正処理部４から受信した認識文字表の認識文字列がそのまま辞書検索部６により検索された場合には、削除処理部４１は、文字補正処理部４から受け取った状態と同じ状態の認識文字表及び現在検索による補正処理を行っている文字列のインデックスを付加処理部４２へ出力する。
【００３２】
また、認識文字を並べた文字列を辞書検索部６が検索できない場合には、削除処理部４１は、認識文字を並べた文字列の末尾の１文字を削る。そして、削除処理部４１は、認識文字を並べた文字列の末尾の１文字を削った文字列を辞書検索部６に送信する。このとき削除処理部４１は、認識文字表の補正制御文字の文字列の末尾の１文字を削除する。そして、削除処理部４１は、辞書検索部６から文字列の検索結果を取得する。辞書検索部６により文字列の検索ができた場合には、削除処理部４１は、補正制御文字の文字列の末尾の１文字が削除された状態の認識文字表及び現在検索による補正処理を行っている文字列のインデックスを付加処理部４２へ出力する。
【００３３】
また、認識文字を並べた文字列の末尾の１文字を削った文字列を辞書検索部６が検索できない場合には、削除処理部４１は、認識文字を並べた文字列の末尾の１文字を削った文字列の末尾の１文字をさらに削る。すなわち、この状態では、認識文字を並べた文字列は、末尾から２つの文字が削られている。そして、削除処理部４１は、認識文字を並べた文字列から末尾から２つの文字を削除した文字列を辞書検索部６に送信する。このとき削除処理部４１は、認識文字表の補正制御文字の文字列の末尾から２文字目を削除する。そして、削除処理部４１は、辞書検索部６から文字列の検索結果を取得する。
【００３４】
削除処理部４１は、上記のような検索できなかった文字列の末尾の１文字の削除を、辞書検索部６が検索できるまで繰り返す。このとき、削除処理部４１は、末尾の１文字の削除にあわせて、認識文字表の補正制御文字を並べた文字列から１文字ずつ削除して行く。そして、削除処理部４１は、辞書検索部６が検索できた時点での認識文字表及び現在検索による補正処理を行っている文字列のインデックスを付加処理部４２へ出力する。
【００３５】
ここで、削除処理部４１は、文字列が１文字になっても辞書検索部６が検索できない場合には、検索を行っているインデックスに対応する文字列を検索不可と判定し、文字補正処理部４に検索付加の通知を送信する。
【００３６】
このように、削除処理部４１は、順次末尾の１文字を削って行う検索を認識文字表に記載された文字列について行っていく。この削除処理部４１及び辞書検索部６の機能の一部が「文字削除部」の一例にあたる。
【００３７】
ここで、削除処理部４１の処理を、図２のChar No.1を有する文字列である「Archae{logic1|」を例に具体的に説明する。
【００３８】
まず、削除処理部４１は、「Archae{logic1|」を辞書検索部６に検索させる。「Archae{logic1|」は辞書データ記憶部８には無いので、削除処理部４１は、検索不可という検索結果を受け取る。
【００３９】
次に、削除処理部４１は、「Archae{logic1|」の末尾の１文字を削除し「Archae{logic1」という文字列にする。そして、削除処理部４１は、この「Archae{logic1」を辞書検索部６に検索させる。このように、削除処理部４１は、「Archae{logic1|」の末尾から１文字ずつ削除していき、「Archae{logic1」、「Archae{logic」、「Archae{logi」、「Archae{log」・・・「Archae{l」、「Archae」を順次辞書検索部６に検索させていく。ここで、「Archae」は元の文字列「Archaeological」の一部であるので、辞書検索部６は、前方一致検索で「Archae」を辞書データ記憶部８の中から検索できる。
【００４０】
このとき、削除処理部４１は、認識文字表の点線１０１で囲われた補正制御文字のうち範囲１０４の部分の文字を既に削除している。そこで、削除処理部４１は、点線１０１で囲われた補正制御文字のうち範囲１０４の部分の文字が削除された状態、すなわち、点線１０１の中には「Archae」だけが残っている認識文字表を記憶する。
【００４１】
そして、削除処理部４１は、補正制御文字の文字列が削除された状態、例えば、点線１０１で囲われた補正制御文字の文字列が「Archae」とされた状態の認識文字表を付加処理部４２に出力する。
【００４２】
付加処理部４２は、削除処理部４１により補正制御文字が削除された認識文字表を、削除処理部４１から受信する。そして、付加処理部４２は、残っている補正制御文字の文字列に対応する認識文字の文字列を取得する。そして、付加処理部４２は、取得した認識文字の文字列の末尾に、次の文字の最も類似度が高い次候補文字を付加する。そして、付加処理部４２は、取得した認識文字の文字列に次候補文字を付加した文字列を候補文字列とする。そして、付加処理部４２は、候補文字列を辞書検索部６に送信する。そして、付加処理部４２は、候補文字列の検索結果を辞書検索部６から受信する。
【００４３】
候補文字列が検索できない場合、付加処理部４２は、末尾に付加している次候補文字を削除し、次に類似度が高い次候補文字を文字列の末尾に付加した文字列を候補文字列とする。付加処理部４２は、候補文字列とした文字列を辞書検索部６に送信する。そして、付加処理部４２は、候補文字列の検索結果を辞書検索部６から受信する。付加処理部４２は、候補文字列が辞書検索部６により検索されるまで、候補文字列の末尾の文字を順に類似度の低い次候補文字へ置き換える。認識文字表に記載された全ての次候補文字に置き換えても検索できない場合、付加処理部４２は、検索不可と判定し、検索不可の通知を文字補正処理部４に送信する。
【００４４】
候補文字列が辞書検索部６により検索されると、付加処理部４２は、検索された次候補文字を認識文字表の補正制御文字の文字列の末尾に記載する。これにより、認識文字表における削除処理部４１により削除された補正制御文字の文字列が１文字増えることになる。
【００４５】
さらに、付加処理部４２は、辞書検索部６により検索された文字列の末尾に認識文字を付加し、候補文字とする。付加処理部４２は、候補文字列とした文字列を辞書検索部６に送信する。そして、付加処理部４２は、候補文字列の検索結果を辞書検索部６から受信する。候補文字列が検索できない場合、付加処理部４２は、末尾に付加している認識文字を削除し、最も類似度が高い次候補文字を付加し候補文字列とする。付加処理部４２は、候補文字列とした文字列を辞書検索部６に送信する。そして、付加処理部４２は、候補文字列の検索結果を辞書検索部６から受信する。付加処理部４２は、候補文字列が辞書検索部６により検索されるまで、候補文字列の末尾の文字を順に類似度の低い次候補文字へ置き換える。この場合も、認識文字表に記載された全ての次候補文字に置き換えても検索できなければ、付加処理部４２は、検索不可と判定し、検索不可の通知を文字補正処理部４に送信する。
【００４６】
付加処理部４２は、検索を行っているインデックスを有する文字列の文字数に一致するまで、検索された文字列の末尾に認識文字及び次候補文字を順次加えた文字列を候補文字としていくことを繰り返す。そして、付加処理部４２は、検索を行っているインデックスを有する文字列の文字数と一致する文字数を有する候補文字を辞書検索部６が辞書データから検索すると、その時点での認識文字表を記憶する。
【００４７】
そして、付加処理部４２は、記憶した認識文字表を文字補正処理部４へ出力する。この付加処理部４２及び辞書検索部６の機能の一部が「文字付加部」の一例にあたる。
【００４８】
ここで、付加処理部４２の処理を、図２のChar No.1を有する文字列である「Archae{logic1|」を例に具体的に説明する。以下の説明では、上述した削除処理部４１の処理により、「Archae」となるまで補正制御文字の削除が行われた状態の認識文字表を付加処理部４２が受信したものとする。
【００４９】
付加処理部４２は、残っている補正制御文字の文字列「Archae」の末尾に次の文字１０３の次候補文字のうち最も類似度の高い次候補文字である「<」を加えて「Archae<」を候補文字とする。そして、付加処理部４２は、「Archae<」を辞書検索部６に検索させる。このように、付加処理部４２は、次に類似度の高い次候補文字を順次付加していき、「Archae<」、「Archaet」、「Archae(」、「Archaeo」を辞書検索部６に検索させていく。ここで、辞書検索部６は、「Archae<」、「Archaet」、「Archae(」は辞書データ記憶部８に無いためそれらを検索することができないが、「Archaeo」は元の文字列「Archaeological」の一部であり、検索できる。
【００５０】
次に、付加処理部４２は、文字列「Archaeo」の末尾に次の文字１０５の認識文字「ｌ」を加えて「Achaeol」を次候補文字とする。この場合、「Achaeol」は、元の文字列「Archaeological」の一部であり、辞書検索部６は「Achaeol」を検索できる。この後、付加処理部４２は、末尾に認識文字を加え検索ができなければ次候補文字の類似度の高いものから順に置き換えていくことを、辞書検索部６が検索できるまで繰り返すという処理を、文字列が「Archaeological」になるまで繰り返す。
【００５１】
この時、付加処理部４２は、認識文字表の点線１０１で囲われた補正制御文字のうち範囲１０４の部分の文字を「ological」に置き換えている。すなわち、点線１０１で囲われた補正制御文字の文字列は「Archaeological」と記載されている。
【００５２】
そして、付加処理部４２は、補正制御文字の文字列が書き換えられた状態、例えば、点線１０１で囲われた補正制御文字の文字列は「Archaeological」と書き換えられた状態の認識文字表を文字補正処理部４に送信する。
【００５３】
ここで、本実施例では検索処理を軽減するため、付加処理部４２は、文字列に最初に文字を付加する場合、認識文字の付加は行わず、次候補文字から付加を始めている。この点、１回分検索回数は多くなるが、文字列に最初に文字を付加する場合にも、付加処理部４２は認識文字の付加からはじめても良い。
【００５４】
出力部５は、画像に写された文字列の認識文字の文字コードの入力を文字補正処理部４から受ける。そして、出力部５は、受信した画像に映された文字列の認識文字の文字コードを認識文字とともに出力する。認識文字及び文字コードの出力として、例えば、出力部５は、モニタなどの表示画面に認識文字及び文字コードを表示させてもよいし、プリンタなどを用いて紙に認識文字及び文字コードを印刷してもよい。さらに、出力部５は、他の装置などに認識文字及び文字コードのデータを出力しても良い。
【００５５】
次に、図３を参照して本実施例に係る文字認識装置の文字認識処理の全体的な流れについて説明する。図３は、実施例１に係る文字認識装置の文字認識処理及び補正処理のフローチャートである。ここで、文字認識処理とは単に画像に写っている文字の対応する文字コードを特定する処理を指し、補正処理とは文字認識処理で特定された認識文字に対して補正を行う処理を指す。
【００５６】
画像取得部２は、文字認識処理の開始命令を受けて、カメラ１に撮像を行わせる。そして、画像取得部２は、カメラ１が撮像した画像を取得し、取得した画像からＹＵＶデータを取得する（ステップＳ１）。
【００５７】
文字認識処理部３は、ＹＵＶデータの入力を画像取得部２から受ける。そして、文字認識処理部３は、ＯＣＲ辞書データ記憶部７を参照し、ＹＵＶデータを用いて文字認識を行う（ステップＳ２）。さらに、文字認識処理部３は、認識した文字を１単語毎に分割し文字列を抽出する（ステップＳ３）。
【００５８】
文字認識処理部３は、各文字列の文字数、各文字列を構成する文字の認識結果である認識文字の文字コード、各文字列を構成する文字の次候補文字の候補数及び各文字列を構成する文字の次候補文字の文字コードを求める（ステップＳ４）。
【００５９】
文字補正処理部４は、各文字列の文字数、各文字列を構成する文字の認識結果である認識文字の文字コード、各文字列を構成する文字の次候補文字の候補数及び各文字列を構成する文字の次候補文字の文字コードの入力を文字認識処理部３から受ける。そして、文字補正処理部４は、受信したデータを用いて認識文字表を作成する（ステップＳ５）。
【００６０】
文字補正処理部４は、検索による補正を行う文字列のインデックスの番号をａとし、まず、ａ＝１とする。本実施例でインデックスとしてChar No.を用いているので、Char No.がそのままインデックスの番号ａとなるので、Char No.=１とする（ステップＳ６）。以下では、インデックスの番号をChar No.として表す。
【００６１】
文字補正処理部４は、削除処理部４１及び付加処理部４２を用いて文字列の検索処理を行い、文字認識処理部３により認識された画像に写っている文字の認識文字を補正する（ステップＳ７）。
【００６２】
文字補正処理部４は、Char No.を１つインクリメントする（ステップＳ８）。文字補正処理部４は、Char No.が文字認識処理部３から受信した認識した文字列の文字列数以下か否かを判定する（ステップＳ９）。Char No.が認識した文字列の文字数以下の場合（ステップＳ９肯定）、ステップＳ７及びステップＳ８を繰り返す。
【００６３】
これに対して、Char No.が認識した文字列の文字数以下の場合（ステップＳ９否定）、文字補正処理部４は、認識文字表を出力部５に出力する。そして、出力部５は、認識文字表に記載されている各文字列を構成する文字の文字コードを、画像に写っている文字の認識文字として出力する（ステップＳ１０）。
【００６４】
次に、図４を参照して、文字列の検索処理による認識文字の補正について説明する。図４は、文字列の検索処理による認識文字の補正のフローチャートである。図４のフローチャートは図３のステップＳ７で行われる処理を詳細にしたものである。
【００６５】
削除処理部４１は、検索対象の文字列の文字数をｎとする（ステップＳ７０１）。例えば、検索対象の文字列が「Archaeological」であれば、ｎ＝１４とする。ここで、本実施例では、インデックスとしてChar No.が与えられているので、以下では、検索対象としている認識文字表における文字列のことを現在のChar No.の文字列という。そして、実際に検索を行う対象となる文字列（文字が削除される前の文字列や文字が削除された状態の文字列を含む）のことを「現在の検索対象の文字列」と言う。
【００６６】
削除処理部４１は、検索対象の文字列を辞書検索部６に出力する。そして、辞書検索部６は、受信した現在の検索対象の文字列を辞書データ記憶部８において前方一致検索する（ステップＳ７０２）。
【００６７】
削除処理部４１は、辞書検索部６からの検索結果を受けて、辞書データ記憶部８に対する検索で現在の検索対象の文字列が見つかったか否かを判定する（ステップＳ７０３）。検索で文字列が見つからない場合（ステップＳ７０３否定）、削除処理部４１は、現在の検索対象の文字数が１より大きいか（ｎ＞１）を判定する（ステップＳ７０４）。現在の検索対象の文字列が１より小さい場合（ステップＳ７０４否定）、すなわち現在の検索対象の文字列が１文字になってしまっている場合、削除処理部４１は、検索不可と判定する。そして、削除処理部４１は、検索不可の通知を文字補正処理部４に出力し（ステップＳ７１９）、検索による認識文字の修正処理を終了する。
【００６８】
これに対して、ｎ＞１と判定された場合（ステップＳ７０４肯定）、削除処理部４１は、現在のChar No.の補正制御文字の末尾の１文字を削除する（ステップＳ７０５）。そして、削除処理部４１は、文字を削った補正制御文字で構成される文字列を検索対象の文字列とする。さらに、削除処理部４１は、ｎを１つインクリメントする（ｎ＝ｎ＋１）（ステップＳ７０６）。その後、ステップＳ７０２に戻る。
【００６９】
一方、検索で文字列が見つかった場合（ステップＳ７０３肯定）、付加処理部４２は、次候補文字の番号ｍを１（ｍ＝１）とする（ステップＳ７０７）。
【００７０】
付加処理部４２は、ｎが現在のChar No.の文字列の元の文字数より小さいか否かを判定する（ステップＳ７０８）。ｎが現在のChar No.の文字列の元の文字数より小さくない場合（ステップＳ７０８否定）、具体的にはｎが現在のChar No.の文字列の元の文字数と一致する場合、付加処理部４２は、現在のChar No.の文字列の修正が終わった認識文字表を文字補正処理部４へ出力し（ステップＳ７２０）、現在のChar No.の文字列の検索を終了する。
【００７１】
これに対して、ｎが現在のChar No.の文字列の元の文字数より小さい場合（ステップＳ７０８肯定）、付加処理部４２は、現在のChar No.の文字列に対して文字の付加は初めてか否かを判定する（ステップＳ７０９）。付加が初めての場合（ステップＳ７０９肯定）、付加処理部４２は、ｎ＋１番目の文字として認識文字を追加する（ステップＳ７１０）。そして、付加処理部４２は、ｎ＋１番目の文字として認識文字を追加した文字列を辞書検索部６に出力する。そして、辞書検索部６は、辞書データ記憶部８に対してｎ＋１番目の文字として認識文字を追加した文字列の前方一致検索を行う（ステップＳ７１１）。付加処理部４２は、辞書検索部６から検索結果を受けて、ｎ＋１番目の文字として認識文字を追加した文字列が見つかったか否かを判定する（ステップＳ７１２）。ｎ＋１番目の文字として認識文字を追加した文字列が見つかった場合（ステップＳ７１２肯定）、付加処理部４２は、ｎを１つインクリメントし（ステップＳ７１８）、ステップＳ７０８に戻る。
【００７２】
また、付加が初めてではない場合（ステップＳ７０９否定）、付加処理部４２は、ｎ＋１番目の文字としてｍ番目の次候補文字を追加する（ステップＳ７１３）。また、検索でｎ＋１番目の文字として認識文字を追加した文字列が見つからなかった場合（ステップＳ７１２否定）も、付加処理部４２は、ｎ＋１番目の文字としてｍ番目の次候補文字を追加する（ステップＳ７１３）。そして、付加処理部４２は、ｎ＋１番目の文字としてｍ番目の次候補文字を追加した文字列を辞書検索部６に出力する。そして、辞書検索部６は、辞書データ記憶部８に対してｎ＋１番目の文字としてｍ番目の次候補文字を追加した文字列の前方一致検索を行う（ステップＳ７１４）。付加処理部４２は、辞書検索部６から検索結果を受けて、ｎ＋１番目の文字としてｍ番目の次候補文字を追加した文字列が見つかったか否かを判定する（ステップＳ７１５）。ｎ＋１番目の文字としてｍ番目の次候補文字を追加した文字列が見つかった場合（ステップＳ７１５肯定）、付加処理部４２は、ｎを１つインクリメントし（ステップＳ７１８）、ステップＳ７０８に戻る。
【００７３】
これに対して、ｎ＋１番目の文字としてｍ番目の次候補文字を追加した文字列が見つからなかった場合（ステップＳ７１５否定）、付加処理部４２は、ｍ＋１番目の次候補文字があるか否かを判定する（ステップＳ７１６）。ｍ＋１番目の次候補文字がある場合（ステップＳ７１６肯定）、付加処理部４２は、ｍを１つインクリメント（ｍ＝ｍ＋１）し（ステップＳ７１７）、ステップＳ７１３へ戻る。
【００７４】
一方、ｍ＋１番目の次候補文字が無い場合（ステップＳ７１６否定）、付加処理部４２は、検索不可と判定する。そして、付加処理部４２は、検索不可の通知を文字補正処理部４へ出力し（ステップＳ７１９）、現在のChar No.の文字列の修正を終了する。
【００７５】
以上に説明したように、本実施例に係る文字認識装置は、ＯＣＲなどの文字認識処理で認識した文字列に対して、末尾の文字列を１文字ずつ削除しながら辞書で前方一致検索を行う。さらに、本実施例に係る文字認識装置は、削除による検索で見つかった文字に対して文字を１文字ずつ増やしながら辞書で前方一致検索を行い、検索で見つかった文字に文字列を修正する。これにより、本実施例に係る文字認識装置は、認識文字を辞書に載っている適切な文字列に修正することができ、適切な文字認識を行うことができる。また、１文字ずつ削除しながら検索することで、先頭から認識が正確にできていない文字までの部分を特定することができ、先頭部分の検索の手間を省けるので、検索のスピードを向上させることができる。さらに、文字の付加による検索も、先頭部分の文字認識が正確にできている部分に対して行うので、先頭の文字から順に付加して検索を行う場合に比べて検索スピードを向上させることができる。
【００７６】
さらに、本実施例に係る文字認識装置は、文末の１文字を削除していく検索で、検索されなかった認識文字を、文末の１文字を追加していく検索の実行において再度利用している。そのため、単に文末の１文字を削除していく検索と、文末に１文字を付加していく検索とを組み合わせた場合に比べて、より迅速により適切な文字列の認識を行うことができる。
【００７７】
ここで、以上の説明では、文字認識装置が、カメラ１、画像取得部２、文字認識処理部３及びＯＣＲ辞書データ記憶部７を備え、それらを用いて画像に含まれる文字に対して文字認識処理を行い文字列を取得したが、その処理を外部の装置が行ってもよい。の場合、文字認識装置は、文字補正処理部４、出力部５、辞書検索部６及び辞書データ記憶部８を備えればよい。そして、ＯＣＲ装置などの外部の装置で読み込まれ文字認識された文字列を、文字認識装置が取得する。その取得した文字に対して、文字認識装置が上述した検索を用いた文字列の補正を行うことになる。
【実施例２】
【００７８】
図５は、実施例２に係る文字認識装置のブロック図である。本実施例に係る文字認識装置は、カメラで文字を撮影するときに、モバイルライトをＯＮの状態とＯＦＦの状態の２つの状態で撮影を行い、その２つの画像を用いて文字認識を行うことが実施例１と異なるものである。ここで、文字認識とは文字が写っている画像から文字を認識する処理のみ指し、それ以降の処理は文字補正処理と言う。そこで、以下では、文字の撮影及び２つの画像を用いた文字認識について主に説明する。図５において、図１と同じ符号を有する各部は特に説明の無い限り同じ機能を有するものとする。
【００７９】
以下では、本実施例に係る文字認識装置として携帯電話を例に説明する。図５に示すように、本実施例に係る文字認識装置は、実施例１に係る文字認識装置にモバイルライト９を加えたものである。
【００８０】
画像取得部２は、操作者から入力された文字認識開始の命令を受けて、まず、モバイルライト９をＯＦＦにする。そして、画像取得部２は、モバイルライト９がＯＦＦの状態で、カメラ１に撮影を指示する。そして、画像取得部２は、モバイルライト９がＯＦＦの状態でカメラ１が撮影した画像を取得する。そして、画像取得部２は、モバイルライト９がＯＦＦの状態で写した画像からＹＵＶデータを取得する。そして、画像取得部２は、モバイルライト９がＯＦＦの状態で写した画像のＹＵＶデータを文字認識処理部３へ出力する。
【００８１】
次に、画像取得部２は、モバイルライト９をＯＮにする。そして、画像取得部２は、モバイルライト９がＯＮの状態で、カメラ１に撮影を指示する。そして、画像取得部２は、モバイルライト９がＯＮの状態でカメラ１が撮影した画像を取得する。そして、画像取得部２は、モバイルライト９がＯＮの状態で写した画像からＹＵＶデータを取得する。そして、画像取得部２は、モバイルライト９がＯＮの状態で写した画像のＹＵＶデータを文字認識処理部３へ出力する。
【００８２】
文字認識処理部３は、モバイルライト９がＯＦＦの状態で写した画像のＹＵＶデータ及びモバイルライト９がＯＮの状態で写した画像のＹＵＶデータを画像取得部２から受信する。
【００８３】
文字認識処理部３は、まず、モバイルライト９がＯＦＦの状態で写した画像のＹＵＶデータに対してＯＣＲ辞書データ記憶部７が記憶しているＯＣＲ辞書データを用いて文字認識処理を行う。そして、文字認識処理部３は、文字認識ができない文字列がある場合には、文字認識ができない文字列が先頭から何番目の文字列かを記憶する。
【００８４】
次に、文字認識処理部３は、モバイルライト９がＯＮの状態で写した画像のＹＵＶデータに対してＯＣＲ辞書データ記憶部７が記憶しているＯＣＲ辞書データを用いて文字認識処理を行う。文字認識処理部３は、記憶している先頭から何番目の文字列かの情報を用いて、モバイルライト９がＯＮの状態で写した画像から認識した文字列のから、モバイルライトがＯＦＦの状態で写した画像のＹＵＶデータで認識できなかった文字列を特定する。そして、文字認識処理部３は、モバイルライトがＯＦＦの状態で写した画像のＹＵＶデータで認識できなかった文字列とモバイルライト９がＯＮの状態で写した画像のＹＵＶデータから認識した文字列とを置き換える。
【００８５】
ここで、文字認識ができない文字列がある場合について具体的に説明する。例えば、文字がマーカーなどでマーキングされている場合には、光を当てない場合コントラスト差が十分に出ない。そして、コントラスト差が閾値を超えなければ、文字認識処理部３は、文字認識ができないと判断する。そのため、モバイルライト９がＯＦＦの場合には、文字認識処理部３は、マーキングされた文字列の文字認識ができない場合がある。これに対して、マーカーなどでマーキングされた文字列に対して、光を当てた場合、コントラスト差が十分に出る。そのため、モバイルライト９がＯＮの場合には、文字認識処理部３は、マーキングされた文字列を認識することができる。そこで、モバイルライト９がＯＦＦの場合に認識できなかった文字列を、モバイルライト９がＯＮの場合に認識した文字列に置き換えることで、文字認識処理部３の文字認識の精度を向上させることができる。
【００８６】
そして、本実施例に係る文字認識装置は、上述した文字認識処理によって認識した認識文字列に対して、実施例１で説明した検索による認識文字の修正を加える文字補処理を行う。
【００８７】
次に、図６を参照して、本実施例に係る文字認識装置における文字認識処理について説明する。図６は、実施例２に係る文字認識装置における文字認識処理のフローチャートである。
【００８８】
画像取得部２は、操作者から入力された文字認識開始の命令を受けて、モバイルライト９をＯＦＦにする（ステップＳ１１）。
【００８９】
次に、画像取得部２は、モバイルライト９がＯＦＦの状態でカメラ１に撮像を行わせ、撮影された画像を取得する。そして、画像取得部２は、モバイルライト９がＯＦＦの状態で撮影された画像からＹＵＶデータを取得する（ステップＳ１２）。
【００９０】
文字認識処理部３は、モバイルライト９がＯＦＦの状態で写した画像のＹＵＶデータを画像取得部２から取得する。そして、文字認識処理部３は、モバイルライト９がＯＦＦの状態で写した画像のＹＵＶデータに対してＯＣＲ辞書データを用いて文字認識を行う（ステップＳ１３）。
【００９１】
文字認識処理部３は、認識した文字を文字列単位に分割する（ステップＳ１４）。そして、文字認識処理部３は、文字認識ができなかった文字列が何番目の文字列かを記憶する（ステップＳ１５）。
【００９２】
画像取得部２は、モバイルライト９をＯＮにする（ステップＳ１６）。
【００９３】
次に、画像取得部２は、モバイルライト９がＯＮの状態でカメラ１に撮像を行わせ、撮影された画像を取得する。そして、画像取得部２は、モバイルライト９がＯＮの状態で撮影された画像からＹＵＶデータを取得する（ステップＳ１７）。
【００９４】
文字認識処理部３は、モバイルライト９がＯＮの状態で写した画像のＹＵＶデータを画像取得部２から取得する。そして、文字認識処理部３は、モバイルライト９がＯＮの状態で写した画像のＹＵＶデータに対してＯＣＲ辞書データを用いて文字認識を行う。そして、文字認識処理部３は、認識できなかった文字列が何番目の文字列かの情報を用いて、モバイルライト９がＯＦＦの場合に認識できなかった文字列を、モバイルライト９がＯＮの場合に認識した文字列に置き換える（ステップＳ１８）。
【００９５】
以上に説明した文字認識処理によって認識した認識文字列に対して、実施例１で説明した検索による認識文字の修正を加える文字補処理を行うことで、より正確な文字の認識を行うことができ、文字の認識の精度を向上させることが可能となる。
【００９６】
ここで、本実施例では、携帯電話に付属しているモバイルライトを例に説明したが、光を被写体にあてる光源であれば他のものを用いても良い。さらに、本実施例では、ライトがＯＦＦの状態で認識できない文字をライトがＯＮの状態で認識した文字に置き換えたが、これは逆に、ライトがＯＮの状態認識できない文字をライトがＯＦＦの状態で認識した文字に置き換えてもよい。
【実施例３】
【００９７】
図７は、実施例３に係る文字認識装置のブロック図である。本実施例に係る文字認識装置は、認識した文字列を用いて単語帳を自動的に作成しさらにその単語帳を基にした問題を作成することが実施例１と異なるものである。そこで、以下では、認識した文字列を用いて単語帳の作成及びその単語帳を用いた問題の作成について主に説明する。図７において、図１と同じ符号を有する各部は特に説明の無い限り同じ機能を有するものとする。以下の説明では、カメラ１で英文を撮影した場合について説明する。本実施例では、実際には出力部５が携帯電話の表示画面に各種画面を表示させるが、説明の都合上、各部が表示画面に表示させるように説明する場合がある。
【００９８】
図７に示すように、本実施例に係る文字認識装置は、キー制御部１０、単語帳作成部１１及び問題作成部１２を実施例１に係る文字認識装置に加えたものである。
【００９９】
カメラ１、画像取得部２、文字認識処理部３、文字補正処理部４、辞書検索部６、ＯＣＲ辞書データ記憶部７及び辞書データ記憶部８は実施例１と同様の文字認識処理及び文字補正処理を行う。
【０１００】
キー制御部１０は、操作者が操作キーを用いて入力したデータを各部へ出力する。ただし、以下では説明の都合上操作者が操作キーを用いて入力したデータが各部へ直接入力されるように説明する場合がある。
【０１０１】
単語帳作成部１１は、文字補正処理部４が補正を加えた認識文字の文字列の入力を受ける。そして、単語帳作成部１１は、受信した文字列を辞書検索部６に出力する。そして、単語帳作成部１１は、受信した文字列の意味の入力を辞書検索部６から受ける。そして、単語帳作成部１１は、図８に示すような関係付けテーブルを作成する。図８は、関係付けテーブルの一例の図である。単語帳作成部１１は、図８に示すように、新たなインデックスを作成し、そのインデックスに文字列及び文字列の意味を対応付けた関係付けテーブルを作成する。本実施例では、単語帳作成部１１は、１つの文に含まれる文字列に対して通し番号を有するインデックスを割り当てる。そして、単語帳作成部１１は、作成した関係付け表を記憶する。
【０１０２】
そして、単語帳作成部１１は、関連付けテーブルを問題作成部１２へ出力する。
【０１０３】
問題作成部１２は、問題定義ファイルのフォーマットを記憶している。図９は、英語問題定義ファイルの一例の図である。本実施例では、問題作成部１２は、図９で示すような英語問題定義ファイル２００を作成するためのフォーマットを記憶している。ここで、図９は、既に問題が作成された状態を表しているが、実際には、問題作成部１２が記憶しているフォーマットに対して以下で説明するような処理を問題作成部１２が実施することにより、図９の状態が完成する。
【０１０４】
まず、図９を参照して、問題作成部１２が英語の問題を作成する手順を説明する。問題作成部１２は、単語帳作成部１１から関連付けテーブルを取得する。そして、問題作成部１２は、ピリオドとピリオドとの間の文字列を関連付けテーブルから取得することで１文を構成する文字列を抽出する。そして、問題作成部１２は、１文毎に問題番号２０１を割り当て、英語問題定義ファイル２００に記載する。例えば、撮影した画像の中に１０個の文がある場合には、問題番号２０１は、No:1〜No:10が割り振られる。そして、問題作成部１２は、単語帳作成部１１が作成した関係付けテーブルを参照し、各問題で用いられる単語群定義文２０２を作成する。具体的には、問題作成部１２は、各問題番号の下にその文に含まれる単語のインデックスを一行毎に記載する。さらに、問題作成部１２は、各インデックスの後ろに、そのインデックスを有する文字列の文字コード２２１を記載する。さらに、文字コード２２１の後ろに、その文字列の意味を並べて記載していく。図９の点線２２２で囲われた部分が文字列の意味を記載した部分である。
【０１０５】
次に、問題作成部１２は、操作者が操作キーを用いて指定した作成する問題形式の入力を受ける。本実施例では、操作者は、問題形式として、穴埋め、並び替え又は選択問題の３つが選べる。
【０１０６】
穴埋め問題の作成が指定された場合、問題作成部１２は、操作者からどの文字列を穴埋めにするかという文字列の指定の入力を受ける。例えば、操作者は、操作キーを用いて文章の先頭から３番目、６番目及び８番目の文字列を穴埋めする文字列として指定したものとする。そして、問題作成部１２は、穴埋定義文２０５を作成する。具体的には、問題作成部１２は、図９の点線２５１のように、先頭から何番目の文字列かという指定された番号をBlankの欄の後ろに記載する。
【０１０７】
また、選択問題の作成が指定された場合、問題作成部１２は、選択問題の対象とする文字列は先頭から数えて何番目の文字列かという入力を受ける。例えば、操作者は、操作キーを用いて文章の先頭から３番目の文字列を選択問題の対象とすると指定する。問題作成部１２は、選択問題定義文２０４のSelectの後ろに、先頭から何番目の文字列かという指定された番号を記載する。さらに、問題作成部１２は、ユーザが選択肢を入力した場合には、図９の点線２４１で囲われた部分のように、指定された番号の後に、入力された選択肢を記載する。ここで、本実施例では、操作者から選択肢の入力が無い場合には、問題作成部１２は、スペルが似ている単語を辞書データ記憶部８から取得し、指定された番号の後に、取得した単語を選択肢として記載する。そして、問題作成部１２は、選択肢の後ろに正解の文字コード２４２を記載する。
【０１０８】
また、並び替え問題の作成が指定された場合、問題作成部１２は、インデックスをシャッフルし適当な順番に並び替える。そして、問題作成部１２は、並び替え定義文２０３のOrderの後ろに、点線２３１で囲われた部分のように、並び替えたインデックスを記載する。この並び替えでは、インデックスを元の順番に並べたものが正解となる。
【０１０９】
このようにして、問題作成部１２は、英語問題定義ファイル２００を作成して記憶する。
【０１１０】
問題作成部１２は、操作者からの操作キーを用いた出題の命令を受ける。この出題の命令には、どの形式の問題を出題するかという情報も付加されている。そして、問題作成部１２は、穴埋め問題の出題が指示された場合、英語問題定義ファイル２００を参照し、Blankの後に定義されている穴埋めする文字列を抜いた文章を表示画面に表示させる。そして、操作者からの穴埋めの文字列の入力を受けて、問題作成部１２は、正誤の判定を表示画面に表示させる。
【０１１１】
また、問題作成部１２は、並び替え問題が指定された場合、英語問題定義ファイル２００を参照し、Orderの後に定義されているインデックスの順番で、文字列を表示画面に表示させる。そして、操作者からの並び替えの入力を受けて、問題作成部１２は、正誤の判定を表示画面に表示させる。
【０１１２】
また、問題作成部１２は、選択問題が指定された場合、英語問題定義ファイル２００を参照し、Selactの後に定義されている番号の文字列の場所に、点線２４１に記載されている選択肢及び文字コード２４２を有する正解を選択できるように画面に表示する。そして、操作者からの選択の入力を受けて、問題作成部１２は、正誤の判定を表示画面に表示させる。
【０１１３】
次に、図１０及び図１１を参照して、英語の問題の作成の処理の流れについて説明する。図１０は、英語問題作成における単語帳及び単語群の定義の作成処理のフローチャートである。図１１は、英語問題作成における各問題の定義の作成処理のフローチャートである。まず、図１０を参照して、単語帳及び単語群の定義の作成処理について説明する。
【０１１４】
単語帳作成部１１は、文字補正処理部４から受信した文字認識表から文字列を取得する（ステップＳ２０１）。
【０１１５】
単語帳作成部１１は、辞書検索部６に各文字列を出力する。そして、辞書検索部６は、入力された文字列を検索条件として辞書データ記憶部８が記憶している辞書データを用いて辞書引きする（ステップＳ２０２）。
【０１１６】
単語帳作成部１１は、認識文字表及び辞書検索部６が取得した文字列に対応する意味を用いて関連付けテーブルを作成する（ステップＳ２０３）。
【０１１７】
問題作成部１２は、自己が記憶している英語問題定義ファイル２００のCategoryの後にENを記載する（ステップＳ２０４）。
【０１１８】
問題作成部１２は、認識した文字列の集合を文単位に分割する（ステップＳ２０５）。ここで、Ｋ個の文章に分割されたものとする。
【０１１９】
問題作成部１２は、文の番号ｋ＝１とする（ステップＳ２０６）。そして、問題作成部１２は、Noの後にｋを加えたものを問題番号として英語問題定義ファイル２００に記載する（ステップＳ２０７）。
【０１２０】
問題作成部１２は、文字列の番号ｐ＝１とする（ステップＳ２０８）。そして、問題作成部１２は、単語群定義文２０２のIndexにインデックス番号としてｐを付加する（ステップＳ２０９）。そして、問題作成部１２は、インデックス番号の後に、ｋ番目の文章のｐ番目の文字列の文字コードを付加する（ステップＳ２１０）。さらに、問題作成部１２は、ｐ番目の文字列の文字コードの後に、ｐ番目の文字列の辞書引き結果を付加する（ステップＳ２１１）。
【０１２１】
問題作成部１２は、ｐがｋ番目の文章の文字列の数より小さいか否かを判定する（ステップＳ２１２）。ｐがｋ番目の文章の文字列の数より小さい場合（ステップＳ２１２肯定）、問題作成部１２は、ｐを１つインクリメント（ｐ＝ｐ＋１）する（ステップＳ２１３）。そして、ステップＳ２０９に戻る。
【０１２２】
これに対して、ｐがｋ番目の文章の文字列の数と同じ場合（ステップＳ２１２否定）、問題作成部１２は、ｋがＫより小さい（ｋ＜Ｋ）か否かを判定する（ステップＳ２１４）。ｋ＜Ｋの場合（ステップＳ２１４肯定）、問題作成部１２は、ｋを１つインクリメント（ｋ＝ｋ+１）する（ステップＳ２１５）。そして、ステップＳ２０７に戻る。
【０１２３】
一方、ｋがＫと同じ場合（ステップＳ２１４否定）、問題作成部１２は、問題作成の定義ファイルを参照し、文字列を表示画面に表示させる（ステップＳ２１６）。
【０１２４】
さらに、図１１を参照して、問題作成の処理について説明する。
【０１２５】
操作者は、表示画面に表示されている問題作成画面を参照し、操作キーを用いて問題形式の選択を行う（ステップＳ３０１）。
【０１２６】
問題作成部１２は、選択された問題形式が穴埋め問題か否かを判定する（ステップＳ３０２）。穴埋め問題の場合（ステップＳ３０２肯定）、問題作成部１２は、操作者から穴埋めさせる文字列の指定を受けて、対応するインデックスを特定する（ステップＳ３０３）。そして、問題作成部１２は、英語問題定義ファイル２００における穴埋定義文２０５のBlankの後に特定したインデックスを記載する（ステップＳ３０４）。そして、問題作成部１２は、英語問題定義ファイル２００を記憶して保存する（ステップＳ３１２）。
【０１２７】
これに対して、穴埋め問題でない場合（ステップＳ３０２否定）、問題作成部１２は、選択された問題形式が並び替え問題か否かを判定する（ステップＳ３０５）。並び替え問題の場合（ステップＳ３０５肯定）、問題作成部１２は、インデックスをシャッフルして並び替え、英語問題定義ファイル２００における並び替え定義文２０３のOrderの後に並び替えたインデックスを記載する（ステップＳ３０６）。そして、問題作成部１２は、英語問題定義ファイル２００を記憶して保存する（ステップＳ３１２）。
【０１２８】
これに対して、並び替え問題でない場合（ステップＳ３０５否定）、問題作成部１２は、選択された問題形式を選択問題と判定し、選択させる文字列の指定を操作者から受けて、選択させる文字列のインデックスを特定する（ステップＳ３０７）。そして、問題作成部１２は、英語問題定義ファイル２００における選択問題定義文２０４のSelectの後に特定したインデックスを記載する（ステップＳ３０８）。
【０１２９】
問題作成部１２は、操作者からの選択肢の指定があるか否かを判定する（ステップＳ３０９）。選択肢の指定がある場合（ステップＳ３０９肯定）、問題作成部１２は、指定された選択肢をSelect文に追加する（ステップＳ３１０）。これに対して、選択肢の指定が無い場合（ステップＳ３０９否定）、問題作成部１２は、スペルが似ている類義語の文字列を辞書データから取得し、取得した文字列を選択肢としてSelect文に追加する（ステップＳ３１１）。そして、問題作成部１２は、問題定義ファイルを記憶して保存する（ステップＳ３１２）。
【０１３０】
以上では英語の文字列を認識し、英語の問題を作成する場合について説明したが、本実施例に係る文字認識装置は日本語の問題も作製できる。そこで、次に、問題作成部１２が日本語の問題を作成する場合について説明する。
【０１３１】
図１２は、日本語問題定義ファイルの一例の図である。問題作成部１２は、図１９で示すような日本語問題定義ファイル３００を作成するためのフォーマットを記憶している。
【０１３２】
問題作成部１２は、画像に写っている１ページ毎に問題番号３０１を割り当てる。例えば、撮影した画像が１０ページある場合には、問題番号３０１は、No:1〜No:10が割り振られる。そして、問題作成部１２は、日本語問題定義ファイル３００に問題番号を行を変えて記載する。
【０１３３】
次に、問題作成部１２は、操作者から選択領域の指定を受ける。具体的には、操作者は操作キーを用いて文章中において始点となる文字及び終点となる文字を指定し、その始点から終点までを選択領域として入力する。そして、問題作成部１２は、指定された各選択領域をそれぞれ一つの単語として、各問題で用いられる単語群定義文３０２を作成する。具体的には、問題作成部１２は、日本語問題定義ファイル３００の各問題番号の下に１ページ中の各行の行番号を一行毎に記載する。図１２では、「Line:m」が行番号がｍの行を表している。さらに、問題作成部１２は、行番号の後ろに、その行を構成する文字の文字コード３２１を記載する。さらに、文字コード３２１の後ろに、その行の中の操作者に指定された選択領域に対応する各単語の文字列の文字コードを並べて記載していく。図１２の点線３２２で囲われた部分が各単語の文字列の文字コードを並べて記載した部分である。
【０１３４】
次に、問題作成部１２は、操作者が操作キーを用いて指定した作成する問題形式の入力を受ける。本実施例では、操作者は、問題形式として、穴埋め又は選択問題の２つが選べる。
【０１３５】
穴埋め問題の作成が指定された場合、問題作成部１２は、操作者からどの文字列を穴埋めにするかという文字列の指定の入力を受ける。例えば、操作者は、操作キーを用いて２行目の３番目の文字列を穴埋めする文字列とするといった入力を行う。そして、問題作成部１２は、穴埋定義文３０４を作成する。具体的には、問題作成部１２は、図１２の点線３４１のように、入力された何行目の何番目という情報をBlankの欄の後ろに記載する。例えば、穴埋めする文字列として２行目の３番目の文字列が指定された場合、問題作成部１２は、点線３４１に囲われた部分に示すように、「２−３」という記載をBlankの後に追加する。
【０１３６】
また、選択問題の作成が指定された場合、問題作成部１２は、選択問題の対象とする文字列は何行目の何番目の文字列かという入力を受ける。例えば、操作者は、操作キーを用いて１行目の３番目の文字列を選択問題の対象とすると指定する。問題作成部１２は、選択問題定義文３０３のSelectの後ろに、何行目の何番目の文字列かという番号を記載する。例えば、１行目の１番目の文字列が選択問題の対象として指定された場合、問題作成部１２は、Selectの後に「１−１」という記載を追加する。さらに、問題作成部１２は、ユーザから選択肢の入力を受ける。この選択肢の入力は、例えば、操作者が、問題作成部１２により表示画面に表示された選択肢の入力画面を参照しながら、操作キーを用いて選択肢の入力を行うことにより実行される。そして、問題作成部１２は、図１２の点線３３１で囲われた部分に示されるように、指定された文字列の番号の後に、入力された選択肢を並べて記載する。さらに、問題作成部１２は、選択肢の後ろに正確の文字列の文字コード３３２を記載する。
【０１３７】
このようにして、問題作成部１２は、日本語問題定義ファイル３００を作成して記憶する。
【０１３８】
問題作成部１２は、操作者からの日本語問題の出題の命令を受けて、日本語問題定義ファイル３００を参照し、指定された問題形式にあわせて問題を出題する。
【０１３９】
次に、図１３及び図１４を参照して、英語の問題の作成の処理の流れについて説明する。図１３は、日本語問題作成における単語群の定義の作成処理のフローチャートである。図１４は、日本語問題作成における各問題の定義文の作成処理のフローチャートである。まず、図１３を参照して、単語群の定義の作成について説明する。
【０１４０】
単語帳作成部１１は、文字補正処理部４から受信した文字認識表から文字列を取得する（ステップＳ４０１）。
【０１４１】
問題作成部１２は、自己が記憶している日本語問題定義ファイル３００のCategoryの後にJPを記載する（ステップＳ４０２）。
【０１４２】
問題作成部１２は、単語帳作成部１１から文字列を受信し、受信した文字列の集合をページ単位に分割する（ステップＳ４０３）。ここで、Ｔ個のページに分割されたものとする。
【０１４３】
問題作成部１２は、ページ番号ｔ＝１とする（ステップＳ４０４）。そして、問題作成部１２は、Noの後にｔを加えたものを問題番号として日本語問題定義ファイル３００に記載する（ステップＳ４０５）。
【０１４４】
問題作成部１２は、行番号＝１とする（ステップＳ４０６）。そして、問題作成部１２は、日本語問題定義ファイル３００のLineの後に行番号としてｔを付加する（ステップＳ４０７）。そして、問題作成部１２は、行番号の後に、ｔ番目のページのｑ行目の文の文字コードを付加する（ステップＳ４０８）。さらに、問題作成部１２は、ｑ行目の文字列の文字コードの後に、ｑ行目の行の中の指定された選択範囲にあたる文字列の文字コードを付加する（ステップＳ４０９）。
【０１４５】
問題作成部１２は、ｑがｔ番目のページの列の数より小さいか否かを判定する（ステップＳ４１０）。ｑがｔ番目のページの列の数より小さい場合（ステップＳ４１０肯定）、問題作成部１２は、ｑを１つインクリメント（ｑ＝ｑ＋１）する（ステップＳ４１１）。そして、ステップＳ４０７に戻る。
【０１４６】
これに対して、ｑがｔ番目のページの列の数と同じ場合（ステップＳ４１０否定）、問題作成部１２は、ｔがＴより小さい（ｔ＜Ｔ）か否かを判定する（ステップＳ４１２）。ｔ＜Ｔの場合（ステップＳ４１２肯定）、問題作成部１２は、ｔを１つインクリメント（ｔ＝ｔ+１）する（ステップＳ４１３）。そして、ステップＳ４０５に戻る。
【０１４７】
一方、ｔがＴと同じ場合（ステップＳ４１２否定）、問題作成部１２は、単語群の定義の作成を終了する。
【０１４８】
さらに、図１４を参照して、問題作成の処理について説明する。
【０１４９】
操作者は、表示画面に表示されている問題作成画面を参照し、操作キーを用いて問題形式の選択を行う（ステップＳ５０１）。
【０１５０】
問題作成部１２は、選択された問題形式が穴埋め問題か否かを判定する（ステップＳ５０２）。穴埋め問題の場合（ステップＳ５０２肯定）、問題作成部１２は、操作者から穴埋めさせる文字列の指定を受ける（ステップＳ５０３）。そして、問題作成部１２は、日本語問題定義ファイル３００における穴埋定義文３０４のBlankの後に指定された行番号及び何番目の文字列かを記載する（ステップＳ５０４）。そして、問題作成部１２は、日本語問題定義ファイル３００を記憶して保存する（ステップＳ５０９）。
【０１５１】
これに対して、穴埋め問題でない場合（ステップＳ５０２否定）、問題作成部１２は、選択された問題形式を選択問題と判定し、選択させる文字列の指定を操作者から受ける（ステップＳ５０５）。そして、問題作成部１２は、日本語問題定義ファイル３００における選択問題定義文３０３のSelectの後に指定された行番号及び何番目の文字列かを記載する（ステップＳ５０６）。問題作成部１２は、操作者から選択肢の入力を受ける（ステップＳ５０７）。そして、問題作成部１２は、選択問題定義文３０３のSelect文に入力された選択肢を追加する（ステップＳ５０８）。そして、問題作成部１２は、日本語問題定義ファイル３００を記憶して保存する（ステップＳ５０９）。
【０１５２】
以上に説明したように、本実施例に係る文字認識装置は、認識した文字列を用いて穴埋め問題や選択肢問題などを作成することができる。これにより、認識した文章を基にした問題を容易に生成することができ、問題作成の手間が省け、記載してある文章を用いて学習しようとした場合に、効率よく学習を行うことができる。
【０１５３】
さらに、本実施例に係る文字認識装置では、効率的な学習を考慮して、認識した文字列を用いた問題作成までを行ったが、問題作成が必要の無い場合には、単語帳を生成するだけでもよい。この場合、問題作成部１２を特に設けなくてもよく、単語帳作成部１１が作成した単語帳を出力してもよい。この単語帳とは、具体的には単語帳作成部１１が作成した関連付けテーブルにおける文字列とその文字列の意味との組み合わせのことである。
【０１５４】
例えば、操作者が、操作キーを用いて単語帳の表示を命令した場合、単語帳作成部１１は、単語帳の表示命令を受けて、関係付けテーブルを参照し、単語帳を表示画面に表示させる。ここで、単語帳作成部１１の単語帳の表示方法には特に制限は無い。例えば、次のような方法で単語帳の表示が実現できる。単語帳作成部１１は、まずインデックスの順番に対応した英語を表示画面に表示させる。そして、その後操作者による操作キーを用いた回答表示の命令を受けて、単語帳作成部１１は、表示している文字列に対応する日本語を表示する。また、単語帳作成部１１は、インデックスの順に文字列を表示画面に表示させてもよいし、ランダムにインデックスを選択し文字列を表示画面に表示させてもよい。さらに、単語帳作成部１１は、操作キーから入力されたインデックスの指定を受けて、指定されたインデックスに対応する文字列を表示画面に表示させてもよい。
【０１５５】
このように、撮影した英語の文章から単語帳を自動的に生成することにより、英文から単語帳を手書きなどで作成する手間が省け、学習効率を向上させることができる。また、単に辞書があるだけでは、一度調べた単語でも、その単語を調べようとする場合には再度辞書から目的の単語を探さ無くてはならない。これに対して、本実施例に係る文字認識装置では、英語の文章を撮影すれば、その文章に含まれる単語の単語帳が作成できるので、その文章に含まれる単語を何度も辞書で調べる手間を軽減することができる。
【０１５６】
さらに、本実施例において作成した問題や単語帳をインターネット上のサーバなどにアップしてもよい。そして、様々な人からアップされた問題や単語帳のデータを集約して問題集や単語帳集を作成し、インターネットを経由してそれらの問題集や単語帳集を閲覧できるようにしてもよい。
【０１５７】
また、以上の各実施例においては、文字認識装置として携帯電話を例に説明したが、これは他の装置でも良く、例えばパーソナルコンピュータなどでも良い。
【０１５８】
［プログラム］
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図１５を参照して、上記各実施例で説明した文字認識処理、単語帳作成処理及び問題作成処理などの各種処理を実行する機能を有する文字認識装置制御プログラムを実行するコンピュータについて、携帯端末装置を例に説明する。
【０１５９】
図１５は、文字認識装置制御プログラムを実行する携帯端末装置のハードウェア構成図である。図１５に示すように、携帯端末装置１０００は、アンテナ１０１０、無線通信部１０２０、表示部１０３０、音声入出力部１０４０、マイク１０４１、スピーカ１０４２、キー入力部１０５０、記憶部１０６０、プロセッサ１０７０及びカメラ１０８０を有する。
【０１６０】
無線通信部１０２０、表示部１０３０、音声入出力部１０４０、キー入力部１０５０、記憶部１０６０及びカメラ１０８０は、プロセッサ１０７０と接続される。また、アンテナ１０１０は、無線通信部１０２０と接続される。また、マイク１０４１及びスピーカ１０４２は、音声入出力部１０４０と接続される。
【０１６１】
無線通信部１０２０は、通話における呼制御などを行う。また、表示部１０３０は、例えば、図１に示した出力部５に対応する。音声入出力部１０４０、マイク１０４１及びスピーカ１０４２は、他の携帯端末などから受信した音声の出力及び操作者の声などを収集しプロセッサ１０７０に対して入力する。キー入力部１０５０は、例えば、操作キーなどである。
【０１６２】
記憶部１０６０及びプロセッサ１０７０は、図１に示した文字認識処理部３及び文字補正処理部４、辞書検索部６、ＯＣＲデータ記憶部７及び辞書データ記憶部８等の機能を実現する。具体的には、記憶部１０６０のプログラム記憶部１０６１は、図１に例示した文字認識処理部３及び文字補正処理部４及び辞書検索部６等による処理を実現する文字認識装置制御プログラム等の各種プログラムを記憶しており、プロセッサ１０７０がこれらのプログラムを読み出して実行することで、上述の各機能を実現するプロセスを生成する。また、データ記憶部１０６２は、例えば、図１に示したＯＣＲデータ記憶部７及び辞書データ記憶部８の一例である。また、ＲＡＭ（Random  Access  Memory）１０６３は、例えば、文字認識表や関連付けテーブル等を記憶する。
【０１６３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１６４】
（付記１）文字列と該文字列の意味とを対応付けて記憶する辞書データ記憶部と、
画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して前記辞書データ記憶部に対して前方一致検索を行い、検索できるまで前記削除を繰り返す文字削除部と、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字削除部により検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データ記憶部に対して前方一致検索を行い、検索されるまで前記付加を繰り返す文字付加検索を行い、且つ検索された文字列を次の検索対象の文字列として、前記文字列を削除する前の前記文字列の当初文字数になるまで前記文字付加検索を繰り返す文字付加部と、
前記文字付加部により前記辞書データ記憶部から検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として出力する出力部と
を備えたことを特徴とする文字認識装置。
【０１６５】
（付記２）前記文字削除部は、取得した前記文字列が前記辞書データ記憶部から検索できない場合に、該文字列の末尾の文字を削除して前記辞書データ記憶部に対して前方一致検索を行うことを特徴とする付記１に記載の文字認識装置。
【０１６６】
（付記３）文字の形状に対応する一つ又は複数の候補文字を記憶する文字データ記憶部と、
複数の文字を含む画像を取得する画像取得部と、
前記文字データ記憶部を参照し、前記画像に写っている各文字の形状に対応する前記候補文字を取得し、該候補文字の中から前記画像に写っている文字の認識文字を特定する文字認識処理部と、
前記文字認識処理部により取得された前記認識文字を所定の単位に分け文字列を作成する文字列作成部とをさらに備え、
前記文字削除部は、前記文字列作成部が作成した文字列を取得し
前記文字付加部は、前記文字認識処理部から前記候補文字を取得する
ことを特徴とする付記１又は付記２に記載の文字認識装置。
【０１６７】
（付記４）前記辞書データ記憶部は、文字の形状に類似する一つ又は複数の候補文字を、各候補文字が前記文字の形状に一致する度合いである類似度とともに各文字の形状に対応させて記憶し、
前記文字認識処理部は、前記画像に写っている各文字の形状に類似する一つ又は複数の候補文字を前記類似度とともに取得し、最も類似度の高い候補文字を認識文字とし、
前記文字削除部は、前記辞書データ記憶部から前記文字列の前方一致検索を行い、前記辞書データ記憶部から前記文字列が検索できない場合、検索できなかった文字列の末尾の文字を削除して検索文字列とし、該検索文字列の前方一致検索を行うことを、該検索文字列が前記辞書データ記憶部から検索されるまで順次繰り返し、
前記文字付加部は、前記検索文字列が前記辞書データ記憶部から検索された場合、検索された検索文字列の末尾に、削除された文字に対応する候補文字を前記類似度の高い順に付加して候補文字列とし、該候補文字列の前方一致検索を行う前記文字付加検索を、該候補文字列が前記辞書データ記憶部から検索されるまで順次繰り返し、且つ、前記候補文字列が前記辞書データ記憶部から検索された場合、前記当初文字数になるまで、検索された前記候補文字列を次の検索文字列として前記文字付加検索を繰り返す
ことを特徴とする付記３に記載の文字認識装置。
【０１６８】
（付記５）前記文字列作成部は、１単語を前記所定の単位とすることを特徴とする付記１〜付記４のいずれか一つに記載の文字認識装置。
【０１６９】
（付記６）前記文字列作成部は、１文を前記所定の単位とすることを特徴とする付記１〜付記４のいずれか一つに記載の文字認識装置。
【０１７０】
（付記７）前記画像取得部は、カメラ及びライトを有し、前記ライトを消した状態で前記カメラにより撮影した複数の文字からなる第１画像を生成し、前記ライトをつけた状態で前記カメラにより撮影した複数の文字からなる第２画像を生成し、
前記文字認識処理部は、前記第１画像又は前記第２画像の一方の画像を用いて文字の認識を行い、前記一方の画像に写っている文字のうち認識できない文字がある場合、他方の画像を用いて文字の認識を行う
ことを特徴とする付記１〜付記６のいずれか一つに記載の文字認識装置。
【０１７１】
（付記８）前記認識文字列に対応する意味を前記辞書データ記憶部から取得し、前記認識文字列と取得した意味とを対応させて記憶する単語帳作成部をさらに備えたことを特徴とする付記１〜付記７のいずれか一つに記載の文字認識装置。
【０１７２】
（付記９）前記認識文字列に対応する意味を前記辞書データ記憶部から取得し、前記文字形状取得部で取得された画像に写っている文字列を基に問題を作成する問題作成部をさらに備えたことを特徴とする付記１〜付記８のいずれか一つに記載の文字認識装置。
【０１７３】
（付記１０）前記問題作成部は、前記文字形状取得部で取得された画像に写っている文字列の中から文字列の指定を受けて、指定された文字列を穴埋め問題とすることを特徴とする付記９に記載の文字認識装置。
【０１７４】
（付記１１）前記問題作成部は、前記文字形状取得部で取得された画像に写っている文字列の中から文字列の指定をうけ、さらに選択肢の入力の受信又は前記辞書データ記憶部から類義語を選択肢として取得し、指定された文字列と前記選択肢と組み合わせて選択問題とすることを特徴とする付記９に記載の文字認識装置。
【０１７５】
（付記１２）前記問題作成部は、前記文字形状取得部で取得された画像に写っている複数の文字列によって構成される文における該文字列を並び替えることによって、並び替え問題を作成することを特徴とする付記９に記載の文字認識装置。
【０１７６】
（付記１３）画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して、文字列とその文字列の意味とを対応付けて記憶する辞書データに対して前方一致検索を行い、検索できるまで前記削除を繰り返し、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字の削除を用いた検索において検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データに対して前方一致検索を行い、検索されるまで前記付加を繰り返し、
前記文字列を削除する前の前記文字列の当初文字数になるまで、前記文字の付加を用いた検索において検索された文字列を次に検索を行う文字列として、前記文字の付加を用いた検索を繰り返し、
前記文字の付加を用いた検索において前記辞書データから検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として出力する
処理をコンピュータに実行させることを特徴とする文字認識装置制御プログラム。
【０１７７】
（付記１４）コンピュータによって実行される文字認識装置制御方法であって、
画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して、文字列とその文字列の意味とを対応付けて記憶する辞書データに対して前方一致検索を行い、検索できるまで前記削除を繰り返し、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字の削除を用いた検索において検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データに対して前方一致検索を行い、検索されるまで前記付加を繰り返し、
前記文字列を削除する前の前記文字列の当初文字数になるまで、前記文字の付加を用いた検索において検索された文字列を次に検索を行う文字列として、前記文字の付加を用いた検索を繰り返し、
前記文字の付加を用いた検索において前記辞書データから検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として出力する
ことを特徴とする文字認識装置制御方法。
【０１７８】
（付記１５）文字列とその文字列の意味とを対応付けて記憶する辞書データ記憶部と、
カメラで取得した画像に含まれる文字を文字認識することで得られた文字列を取得し、該文字列の末尾の文字を削除して前記辞書データ記憶部に対して前方一致検索を行い、検索できるまで前記削除を繰り返す文字削除部と、
前記画像に含まれる文字の文字認識において各文字の認識結果の候補となった候補文字を取得し、前記文字削除部により検索された文字列の末尾に、削除された文字に対応する前記候補文字を順に付加して前記辞書データ記憶部に対して前方一致検索を行い、検索されるまで前記付加を繰り返す文字付加検索を行い、且つ検索された文字列を次の検索対象の文字列として、前記文字列を削除する前の前記文字列の当初文字数になるまで前記文字付加検索を繰り返す文字付加部と、
前記文字付加部により前記辞書データ記憶部から検索された前記当初文字数を有する文字列を前記画像に含まれる文字の認識文字列として表示する表示部と
を備えたことを特徴とする携帯端末装置。
【符号の説明】
【０１７９】
１  カメラ
２  画像取得部
３  文字認識処理部
４  文字補正処理部
５  出力部
６  辞書検索部
７  ＯＣＲ辞書データ記憶部
８  辞書データ記憶部
９  モバイルライト
１０  キー制御部
１１  単語帳作成部
１２  問題作成部
４１  削除処理部
４２  付加処理部
【図１】
0005640601.tif 000002
【図２】
0005640601.tif 000003
【図３】
0005640601.tif 000004
【図４】
0005640601.tif 000005
【図５】
0005640601.tif 000006
【図６】
0005640601.tif 000007
【図７】
0005640601.tif 000008
【図８】
0005640601.tif 000009
【図９】
0005640601.tif 000010
【図１０】
0005640601.tif 000011
【図１１】
0005640601.tif 000012
【図１２】
0005640601.tif 000013
【図１３】
0005640601.tif 000014
【図１４】
0005640601.tif 000015
【図１５】
0005640601.tif 000016