(57)【特許請求の範囲】
【請求項１】
動画撮影機能を有するカメラに接続されたコンピュータを、前記カメラが文字列の撮影により生成した動画像を入力して、当該動画像中の文字を読み取る文字読取装置として機能させるためのプログラムであって、
前記動画像の入力に並行して、直近に入力された１フレーム分の画像に含まれる文字を認識する処理を繰り返す認識処理手段、
前記認識処理手段による認識結果を時間軸に沿って文字の単位で照合して、連続して実施された所定回数以上の認識処理における出現率があらかじめ定めた基準値を超えた認識結果を確定すると共に、前記基準値を超える出現率の認識結果が得られない文字に対して最も出現回数が多い認識結果を仮確定する確定手段、
前記確定手段により確定された認識結果による文字と仮確定された認識結果による文字とをそれぞれ異なる態様で表示するためのデータを出力する出力手段、
の各手段として、前記コンピュータを機能させることを特徴とする文字読取用のプログラム。
【請求項２】
動画撮影機能を有するカメラに接続されたコンピュータを、前記カメラが文字列の撮影により生成した動画像を入力して、当該動画像中の文字を読み取る文字読取装置として機能させるためのプログラムであって、
前記動画像の入力に並行して、直近に入力された１フレーム分の画像に含まれる文字を認識する処理を繰り返す認識処理手段、
前記認識処理手段による認識結果を時間軸に沿って文字の単位で照合して、連続して実施された所定回数以上の認識処理における出現率があらかじめ定めた基準値を超えた認識結果を確定すると共に、前記基準値を超える出現率の認識結果が得られない文字に対して信頼度が最も高い認識結果を仮確定する確定手段、
前記確定手段により確定された認識結果による文字と仮確定された認識結果による文字とをそれぞれ異なる態様で表示するためのデータを出力する出力手段、
の各手段として、前記コンピュータを機能させることを特徴とする文字読取用のプログラム。
【請求項３】
前記出力手段から出力されたデータにより表示された文字を指定する操作と指定された文字を修正する操作とを受け付けて当該文字を修正する修正手段として、前記コンピュータを機能させるプログラムが、さらに含まれる請求項１または２に記載された文字読取用のプログラム。
【請求項４】
動画撮影機能を有するカメラにより生成された文字列の動画像を入力して、その動画像中の文字を読み取る装置であって、
前記動画像の入力に並行して、直近に入力された１フレーム分の画像に含まれる文字を認識する処理を繰り返す認識処理手段と、
前記認識処理手段による認識結果を時間軸に沿って文字の単位で照合して、連続して実施された所定回数以上の認識処理における出現率があらかじめ定めた基準値を超えた認識結果を確定すると共に、前記基準値を超える出現率の認識結果が得られない文字に対して最も出現回数が多い認識結果を仮確定する確定手段と、
前記確定手段により確定された認識結果による文字と仮確定された認識結果による文字とをそれぞれ異なる態様で表示するためのデータを出力する出力手段とを、
具備することを特徴とする文字読取装置。
【請求項５】
動画撮影機能を有するカメラにより生成された文字列の動画像を入力して、その動画像中の文字を読み取る装置であって、
前記動画像の入力に並行して、直近に入力された１フレーム分の画像に含まれる文字を認識する処理を繰り返す認識処理手段と、
前記認識処理手段による認識結果を時間軸に沿って文字の単位で照合して、連続して実施された所定回数以上の認識処理における出現率があらかじめ定めた基準値を超えた認識結果を確定すると共に、前記基準値を超える出現率の認識結果が得られない文字に対して信頼度が最も高い認識結果を仮確定する確定手段と、
前記確定手段により確定された認識結果による文字と仮確定された認識結果による文字とをそれぞれ異なる態様で表示するためのデータを出力する出力手段とを、
具備することを特徴とする文字読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列を撮影することにより生成された動画像を処理して、当該画像中の文字を読み取る技術に関する。
【背景技術】
【０００２】
携帯電話などの動画像撮影機能を有する情報処理装置に組み込まれるＯＣＲ用のアプリケーションとして、文字列の動画像をフレーム単位で処理しながら認識処理に適したフレームを選択し、選択されたフレームの画像から読み取った文字列を出力するものが知られている。
【０００３】
たとえば特許文献１には、画像を取り込む毎に前回取り込んだ画像に対する変化を抽出し、抽出される変化量が所定の許容値以下になったときの画像を用いて文字認識処理を実行し、この認識処理で認識対象の文字列に対応すると判定された文字モデルに対する認識対象の画像の類似度が所定の基準値を上回っていることを条件として、認識結果を出力することが記載されている（段落００２５〜００４６，図４等を参照。）。
【０００４】
また、特許文献２には、毎時のフレーム画像が文字認識に適した画像であるか否かを判定するための評価値を求め、この評価値が閾値を超えるフレームを発見するか、あるいは最大の評価値が得られたフレームの画像を用いて文字認識処理を行うことが記載されている。また、評価値は、シャッタースピード、絞り値、コントラストなどのパラメータにより算出されるものであると記載されている（段落００２７〜００４２等を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２５０８１８号公報
【特許文献２】特開２００９−８８９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の段落００４２に記載されているように、一般的な文字の読取処理では、投影処理によって画像中の文字を個別に抽出した上で、各文字を複数種の文字画像のモデル（以下、「文字モデル」という。）と照合し、所定値以上の類似度が得られた文字モデルが示す文字が該当文字であると判定する。また、この判定に用いられた文字モデルに対する類似度は、認識結果の信頼度として設定される。
【０００７】
しかし、文字のかすれや照明のばらつきなどによって誤認識が生じる可能性があるので、文字の単位での認識結果に基づき組み立てられた文字列が単語として成立するか否かを分析し、単語として成り立たない文字列を補正する技術が開発されている。その具体例を図８に示す。
【０００８】
図８（１）は、認識された文字間の文字種を照合する処理による補正を例示したものである。
具体的に、この例では、片仮名文字列「カタカナ」の読取において、２文字目の「タ（た）」が漢字の「夕（ゆう）」であると誤認識されている。この場合には、他の文字が全て片仮名であることから、認識対象文字列はカタカナ文字列である可能性が高いと判定され、２文字目の「夕（ゆう）」がこれに類似する片仮名の「タ（た）」に置き換えられる。
【０００９】
図８（２）は、認識された文字により組み立てられた文字列により単語辞書を検索する方法による補正の例を示す。この例では、文字列を構成する文字毎に、文字モデルとの照合の際に得た信頼度が高い順にいくつかの候補の文字を抽出し、これらの文字を複数とおりに組み合わせて単語辞書と照合する。図示例では、漢字文字列「文化」の読取において、一文字目の「文」に対する第１候補が「六」であると誤認識され、正しい文字である「文」は第２候補となっている。一方、二文字目の「化」は、第１候補として正しく認識されている。第１候補同士の組み合わせによる文字列「六化」は単語辞書に存在しないのに対し、一文字目の第２候補の「文」と二文字目の第１候補の「化」とを組み合わせた文字列「文化」は単語辞書に登録されているので、後者の組み合わせによる文字列が認識結果として採用される。
【００１０】
このように、文字種の分析や辞書との照合処理により認識結果を補正することができる事例がある一方で、これらの方法では補正が不可能な事例もある。
たとえば、図９の例では、「オムロン」という文字列の三文字目の「ロ」が左右に分離されて抽出されているが、これらが一対のカギ括弧記号として認識されているため、文法上は瑕疵がないものと判定されて、補正されることなく出力される可能性が高い。
【００１１】
特許文献１，２に記載された発明は、いずれも、動画撮影機能を利用して認識に適した画像を選択することにより、認識対象の文字列にカメラが適切に位置合わせされ、認識に適した画質による画像を用いた認識処理を行うようにしている。しかし、採用される認識結果は、あくまでも１枚のフレーム画像に対する処理から得たものであって、その認識結果に誤りがある場合に対応する方法は示されていない。
【００１２】
本発明は上記の問題点に着目し、認識対象の文字列にカメラが位置合わせされている間に生成される動画像を活用して、読取処理の精度を大幅に高めることを課題とする。
【課題を解決するための手段】
【００１３】
本発明によるプログラムは、動画撮影機能を有するカメラに接続されたコンピュータを、前記カメラが文字列の撮影により生成した動画像を入力して、当該動画像中の文字を読み取る文字読取装置として機能させるものである。
【００１４】
この文字読取装置には、動画像の入力に並行して、直近に入力された１フレーム分の画像に含まれる文字を認識する処理を繰り返す認識処理手段と、認識処理手段による認識結果を時間軸に沿って文字の単位で照合して、連続して実施された所定回数以上の認識処理における出現率があらかじめ定めた基準値を超えた認識結果を確定する確定手段と、確定手段により確定された認識結果を出力する出力手段とが設けられる。
【００１５】
上記の構成によれば、認識対象の文字列にカメラが位置合わせされて撮影が行われている間に、フレーム単位の画像に対する文字認識処理が繰り返し行われると共に、毎回の認識結果が文字の単位で照合される。そして、ある回数以上の認識処理が繰り返される間に基準値を超える出現率をもって出現した認識結果が採用される。
これにより、複数回の認識処理が行われる間に、２つ以上の異なる認識結果が得られる文字があったとしても、それらの認識結果の中で十分な回数をもって反復された認識結果が採用されるので、誤認識が生じる割合を大幅に削減することができる。
【００１６】
さらに、本発明による第１の文字読取装置では、確定手段は、基準値を超える出現率の認識結果が得られない文字に対して最も出現率が多い認識結果を仮確定する。また出力手段は、確定された認識結果による文字と仮確定された認識結果による文字とをそれぞれ異なる態様で表示するためのデータを出力する。
【００１７】
本発明による第２の文字読取装置では、確定手段は、基準値を超える出現率の認識結果が得られない文字に対して信頼度が最も高い認識結果を仮確定する。出力手段は、確定された認識結果による文字と仮確定された認識結果による文字とをそれぞれ異なる態様で表示するためのデータを出力する。
【００１８】
本発明によれば、文字列の撮影に並列して認識処理が行われる間に、確定された文字と仮確定の文字とがそれぞれ異なる態様により表示される。また仮確定として表示されている文字でも、認識結果が確定されると、表示の態様が変化する。よって、ユーザは、表示される文字の全てが確定表示になるまで、カメラを動かさずに読取を続けることによって、精度の高い認識結果を得ることができる。
【００１９】
出力手段から出力されるデータは、表示以外の目的に使用することもできる。たとえば、認識された文字列のテキストデータを生成し、コンピュータが動かす他のアプリケーションにテキストデータを入力することができる。この場合のテキストデータの出力は、文字読取装置から行ってもよいが、文字読取装置が組み込まれる装置の機能により出力をしてもよい。
【００２０】
さらに、本発明による文字読取装置には、出力手段から出力されたデータにより表示された文字を指定する操作と指定された文字を修正する操作とを受け付けて当該文字を修正する修正手段を設けることができる。この修正手段によれば、文字列の一部に誤認識が生じた場合でも、簡単に修正をすることが可能になる。
【発明の効果】
【００２１】
本発明によれば、認識対象の文字列の動画撮影が実施されている間に認識処理を繰り返し実行し、文字毎に、所定回数以上の認識処理における出現率が基準値を超えた認識結果を採用するので、誤った認識結果が確定される頻度を削減することができる。これにより文字の読取の精度が大幅に高められる。
【図面の簡単な説明】
【００２２】
【図１】本発明が適用されたＯＣＲアプリケーションの機能ブロック図である。
【図２】認識結果の表示画面の変遷の例を示す図である。
【図３】認識結果の変遷に、誤認識が生じた文字における認識結果の信頼度、出力結果およびその出力の判断規準を対応づけたテーブルである。
【図４】ＯＣＲアプリケーションにおける処理の概略手順を示すフローチャートである。
【図５】文字の対応付け処理の詳細な手順を示すフローチャートである。
【図６】結果判定処理の詳細な手順を示すフローチャートである。
【図７】認識結果の誤りを修正する画面の例を示す図である。
【図８】認識結果の誤りを補正する方法を例示する図である。
【図９】図８の方法では補正できない誤認識の例を示す図である。
【発明を実施するための形態】
【００２３】
図１は、携帯型の情報処理装置に組み込まれるＯＣＲアプリケーション１の構成例を、機能ブロック図として表したものである。
この実施例の情報処理装置の具体的形態はスマートフォンであって、動画撮影機能を有するカメラ２と、表示部および操作部が一体化されたタッチパネル３とを具備する。ＯＣＲアプリケーション１には、カメラインタフェース１３、入出力インタフェース１４のほか、スマートフォンの制御部を文字読取装置として機能させるためのライブラリ１０（文字読取用の機能を持つプログラム群）が含まれる。
【００２４】
この実施例のライブラリ１０には、文字認識処理部１１および解析処理部１２の各機能が含まれる。
【００２５】
カメラインタフェース１３は、ＯＣＲアプリケーション１の起動に応じてカメラ２に動画撮影を開始させると共に、毎回のフレーム画像を取り込む。取り込まれた画像は、入出力インタフェース１４および文字認識処理部１１に提供される。
【００２６】
文字認識処理部１１には、複数種の文字モデルが登録された辞書（図示せず。）が含まれており、カメラインタフェース１３から提供されたフレーム画像に対し、画像投影処理の手法により画像内の個々の文字を抽出する文字切り出し処理や、抽出された文字の画像を辞書内の各種文字モデルと照合する照合処理などを実行して、各文字に対応する文字コードを認識する。この認識処理は、フレーム画像の入力に並行して繰り返し実行される。
なお、以下では、文字コードを認識することを、単に「文字を認識する」という。
【００２７】
解析処理部１２は、文字認識処理部１１による毎回の認識結果を、時間軸に沿って文字の単位で照合し、後記する判定規準に従って、文字毎に認識結果（文字）を確定する。確定された認識結果は、入出力インターフェース１４によって、カメラインタフェース１３から提供された動画像と共にタッチパネル３に表示される。
【００２８】
図２は、タッチパネル３に表示される画面の例を示す。
この例は、「オムロン」という文字列を撮影して文字認識を行ったものである。図中、中央の枠１００内に大きく示されているのが認識対象の文字列であり、その下に小さく表示されている文字列Ｓが認識結果である。この実施例では、認識処理を繰り返し実行するので、認識結果が確定されていない段階でも、画像が安定すれば、何らかの文字を仮確定して表示するようにしている。仮確定の文字と確定された文字とは異なる態様で表示される。たとえば、仮確定の文字またはその背景が輝度の高い色彩により表されるが、図２では、その色彩に代えて、仮確定の文字を網点のパターンにより表現している。
【００２９】
図２の例によれば、最初は、図２（１）に示すように全ての文字が仮確定状態で表示されるが、少し時間が経過すると、認識結果が確定した文字での表示の態様が変化する。図２（２）の例では、３文字目を除く各文字の表示が確定表示に変更されている。３文字目については、この段階では、正しい文字の『ロ』ではなく、カギ括弧記号の『［』と『］』として分離されて誤認識されているが、さらに時間が経過すると、図２（３）に示すように、正しい認識結果が示されている。その後の図２（４）の例では、３文字目でも、正しい認識結果である『ロ』が確定表示されている。
【００３０】
ユーザは、上記の表示により認識結果が確定したことを判別すると、必要に応じて、タッチパネル３に操作メニューを呼び出し、認識結果の保存や他のアプリケーションへの出力などを指定する。入出力インターフェース１４は、この指定操作に応じて、認識された文字列を示すテキストデータを指定先へと出力する。
【００３１】
図２に示した認識結果画面の変化は、解析処理部１２による処理に伴って生じるものである。
この実施例の解析処理部１２では、毎回の認識結果を文字の単位で対応づけしながら、対応する関係にある認識結果を内容が一致するもの毎に計数する。また少なくとも５回の認識処理を実行することを条件として、出現率が８０％を超える認識結果が得られたときにその認識結果を確定する。認識結果が確定されるまでは、最も出現回数が多い認識結果を仮確定するが、出現回数が同数の認識結果が複数認められた場合には、最も信頼度が高い認識結果を採用し、これを仮確定する。
なお、信頼度とは、文字の切り出し処理により抽出された文字画像を文字モデルと照合する際に、文字画像に該当するとして特定された文字モデルに対する抽出された文字画像の類似度である。同一の認識結果が複数ある場合には、各認識結果の信頼度の平均値や代表値（最大値または最小値）が信頼度として使用される。
【００３２】
図３は、図２に例示した認識対象文字列の『オムロン』を例に、文字列全体の認識結果の推移を示すと共に、誤認識が生じた３文字目の『ロ』に関して、毎回の認識結果の信頼度と、認識結果として出力された文字の態様と、その出力のための判断規準とを対応づけて示す。
【００３３】
なお、図３では、説明の便宜上、図２に示した表示の変遷には対応させずに、認識処理が行われた回数を６回とし、１回目と６回目とにおいて、３文字目の『ロ』を『［］』とする誤認識が生じたものとしている。
【００３４】
図３を参照して、３文字目に対する認識結果の出力について説明すると、まず１回目の処理では誤認識が生じているが、過去の認識結果との照合ができないので、誤認識された文字『［］』がそのまま出力される。
【００３５】
次に２回目の認識処理では、正しい認識結果が得られ、正認識の回数と誤認識の回数とが１回ずつとなるので、信頼度の高い方の認識結果が選択される。図３の例では、２回目の正認識の信頼度の方が高くなっているので、２回目の認識結果が採用され、『ロ』が出力される。
【００３６】
３回目および４回目の認識処理でも、引き続き正しい認識結果が得られている。これにより、正認識の回数が誤認識の回数より多くなるので、『ロ』が出力される。
【００３７】
５回目の認識処理でも、正しい認識結果が得られている。この段階で出現率の判定に必要な５回の認識処理が完了し、３文字目は『ロ』であるとする認識結果の出現率が８０％に達している。よって、この認識結果が確定されて、以後は『ロ』の出力が維持される。６回目の認識処理では、再び３文字目の認識に誤りが生じているが、５回目の認識処理で認識結果が確定されているため、誤認識の結果が出力に影響を及ぼすことはない。
【００３８】
図４は、ＯＣＲアプリケーション１により実行される読取処理の一連の手順を示す。
この処理は、カメラ２での撮影の開始に応じてスタートする。ステップＳ１，Ｓ２は文字認識処理部１１による処理に相当するもので、直近のフレーム画像を取得して、その画像に対する文字認識処理を実行する。
【００３９】
つぎに、解析処理部１２による処理に移行する。ステップＳ３では、１段階前の認識結果との照合により認識された文字の対応づけを実行する。この対応づけに成功すると（ステップＳ４が「ＹＥＳ」）、ステップＳ５に進み、先に述べた判断規準に基づき、出力すべき認識結果を判定する。ステップＳ６では、判定した結果を入出力インタフェース１４を介して出力する。
【００４０】
上記のステップＳ１，Ｓ２，Ｓ３，Ｓ４，Ｓ５，Ｓ６の流れが順当に続く間は、毎回の文字認識結果、対応づけ結果、出力されたデータなどがバッファメモリに蓄積されて、ステップＳ３やステップＳ５の処理に利用される。しかし、文字の対応づけに失敗すると、ステップＳ４からステップＳ７に進み、蓄積データがリセットされる。
【００４１】
以下、認識された文字列の出力を要求する操作か、アプリケーションの終了操作が行われるまで、図４に示すループが繰り返される。なお、毎回のループのステップＳ１で取得するフレーム画像はその時点での最新の画像であるが、ループの実行周期が動画像の生成サイクルより遅い場合には、毎時の取得画像は連続しない状態になる。
【００４２】
図５は、ステップＳ３の文字の対応づけ処理の詳細な流れを、この処理の具体例（図３の例に対応）と共に示す。なお、以下の説明では、対応づけ対象のフレームを「現フレーム」という。
まず、１回目の認識処理に対しては（ステップＳ１１が「ＹＥＳ」の場合）、現フレームで認識した文字列をその後の対応づけのための基本の文字列（以下、「対応づけ文字列」という。）として登録する（ステップＳ２０）。また、対応付けに成功したと判定して、成功回数を１に設定する（ステップＳ２１）。
【００４３】
２回目以降の認識処理に対しては（ステップＳ１１が「ＮＯ」の場合）、現フレームで認識した文字列と対応づけ文字列との文字数を比較する（ステップＳ１２）。両者の文字数が一致している場合（ステップＳ１２が「ＹＥＳ」）には、対応付けが成功したと判定し、成功回数に１を加算する（ステップＳ１３）。
【００４４】
現フレームで認識した文字数と対応づけ文字列の文字数とが異なる場合（ステップＳ１２が「ＮＯ」）には、両文字列の各構成文字を一文字ずつ順に比較する（ステップＳ１４）。この比較処理では、先頭から末尾に向かう順序（昇順）と末尾から先頭に向かう順序（降順）の両方から各文字を比較し、各比較結果に基づき、不一致箇所が一箇所のみであるかどうかを判定する。ここで、昇順で比較した場合に整合しなくなった箇所と、降順で比較した場合に整合しなくなった箇所とが一致した場合には、不一致箇所は一箇所のみであると判定される（ステップＳ１５が「ＹＥＳ」）。この判定に応じて、各文字列間での不一致箇所を対応づけし（ステップＳ１６）、さらに現フレームで認識した文字列を対応づけ文字列とする（ステップＳ１７）。さらに、対応付けが成功したと判定して、成功回数に１を加算する（ステップＳ１８）。
一方、不一致箇所が２箇所以上あると判定された場合（ステップＳ１５が「ＮＯ」）には、対応付けに失敗したと判定する（ステップＳ１９）。
【００４５】
図５の（Ａ）は、図３に示した１回目の処理で認識された文字列を示す。３文字目が２つに分離されて誤認識されたため、この文字列は５文字構成となるが、ステップＳ２０において対応文字列に設定される。
図５の（Ｂ）は、図３に示した２回目の処理で認識された文字列と上記の対応文字列との関係を示す。ステップＳ１４において、両文字列を昇順および降順の両方向に沿って照合すると、双方の文字列の１番目および２番目の各文字が一致し、対応付け文字列の５番目の文字と現フレームで認識された４番目の文字とが一致するが、これらの間の文字（対応付け文字列の３番目および４番目の文字と現フレームで認識された３番目の文字）が一致していないことが判明する。これにより両文字列の不一致箇所は一箇所であると判定されて、対応づけされる。また、対応づけ文字列は、現フレームでの認識文字列に更新される。
【００４６】
文字列間における文字の対応付けの結果は順に繋がりをもって保存される。また、対応付けに成功したと判定された場合（ステップＳ１３，Ｓ１８，Ｓ２１）には、成功回数が計数される。
この後の結果判定処理（図４のステップＳ５）では、対応づけられた一群の文字毎に認識結果を分析して出力する文字を決定する。図６は、この結果判定処理の詳細な手順を示す。
【００４７】
この処理では、対応付け文字列の各文字に順に着目し、着目文字に対応づけられている過去の各認識結果を対象に、ループ記号Ｌ１，Ｌ２内の処理（ステップＳ３１〜Ｓ３９）を実行する。
【００４８】
実際には、着目中の文字に対する認識結果が確定していない場合（ステップＳ３１が「ＮＯ」）のみ、実質的な処理が行われる。まず、ステップＳ３２では、着目中の文字に対応する現フレームでの認識結果の出現回数を計数すると共に、その信頼度を記憶する。計数処理では、過去に同一の認識結果がない場合には出現回数が１回に設定され、既に同一の認識結果が得られている場合には、前回までの計数値に１が加算される。
【００４９】
つぎに、着目中の文字に対してこれまでに導出された認識結果とその出現回数とに基づき、出現回数が最も多い認識結果を抽出する（ステップＳ３３）。ここで複数の認識結果が抽出された場合（ステップＳ３４が「ＹＥＳ」）には、その中で信頼度が最も高いものを選択し（ステップＳ３５）、抽出された認識結果が１つであれば（ステップＳ３４が「ＮＯ」）、当該認識結果を選択する（ステップＳ３６）。
なお、ステップＳ３５では、比較対象の認識結果につき、内容が同じ結果毎に信頼度の平均値を求めて、これらの平均値の中で最も高い値に対応する認識結果を選択してもよい。
【００５０】
つぎに、ステップＳ３７では、対応づけの成功回数に基づき、５回以上の認識処理が実行されているか否かをチェックする。成功回数が５回以上であれば、その成功回数分の認識処理が実行されて各結果が繋がっている、ということになるから、ステップＳ３７は「ＹＥＳ」となる。これを受けて、次のステップＳ３８において、ステップＳ３５またはステップ３６で選択された認識結果の出現率が８０％以上であるか否かをチェックする。このステップＳ３８の判定も「ＹＥＳ」であれば、選択した認識結果を確定する（ステップＳ３９）。
【００５１】
上記の手順により認識結果が確定された文字では、次回の処理ではステップＳ３１が「ＹＥＳ」となり、確定された認識結果が維持される。ステップＳ３７またはＳ３８が「ＮＯ」となった文字では、認識結果が確定されないので、次回もステップＳ３２以下の手順が実行される。
【００５２】
なお、上記の結果判定処理では、５回以上の認識処理における出現率が８０％以上となることを確定の条件としたが、この条件を既定する認識処理回数（５回）や出現率（８０％）は、適宜、変更可能である。
また、この実施例では、上記の条件が成立するまでは、最も出現回数が多い認識結果を仮確定し、出現回数が最多の認識結果が複数ある場合に信頼度に基づく選択を実施しているが、仮確定の段階では、出現回数よりも信頼度を優先的に選択してもよい。また５回以上の認識処理における出現率が８０％に達した認識結果でも無条件に確定するのではなく、毎回の認識結果の信頼度の平均値を求め、この平均の信頼度が所定の基準値を超えていることを条件に、当該結果を確定するようにしてもよい。
【００５３】
認識対象の文字列に対する撮影が開始された当初は、画像が安定しないために対応づけされない可能性が高い。しかし、カメラ２が認識対象文字列に位置決めされて画像が安定すると、文字の対応づけに成功して認識結果が表示されるようになり、毎回の認識結果が整合する頻度が高い文字から順に認識結果が確定される。文字認識に誤りが生じることが多い文字でも、一定数以上の認識処理が行われて出現率が８０％を超える認識結果が認められたときに、その認識結果により確定されるので、誤った認識結果が採用される可能性をごく小さくすることができる。
【００５４】
また、認識結果が確定した文字とまだ確定していない文字とが異なる態様により表示されるので、仮確定表示の文字に誤りがある場合には、カメラ２を動かさずに撮影を続ける必要があることをユーザに知らしめることができる。また、ユーザは、２種類の表示によって、認識結果の推移やその正否を容易に確認することができる。
【００５５】
さらに、この実施例のＯＣＲアプリケーション１には、タッチパネル３に表示された文字を選択する操作やその文字を修正する操作を受け付けて、当該文字を修正する機能を設けることができる。
【００５６】
図７は、この修正機能を利用して認識された文字を修正する例を示す。
この例では、認識された文字列に誤りがある場合、撮影終了後も認識結果が表示された画面を維持して、誤って認識された文字をタップする（図７の（１））。この操作により、図７（２）に示すように、画面内に手書き文字の入力欄３０が表示される。ユーザがこの欄３０で文字の描画を行うと、入力欄３０の横手に、ユーザの描画に適合する形状の文字による候補のリスト３１が表示される。ユーザは、図７（３）に示すように、描画を進めることでリスト３１内の候補を絞り込み、所定の時点でリスト３１内の候補を選択するかによって、正しい文字を入力する。この入力によって、選択された文字が修正される。
【００５７】
上記の修正機能は、誤認識結果で確定された文字を修正するほか、認識結果がなかなか確定しない文字を確定する場合にも、利用することができる。
なお、修正のための文字の入力操作は手書きに限らず、文字入力システム（ＩＭＥ）の機能を用いて修正すべき文字を入力してもよい。
【００５８】
上記の実施例のＯＣＲアプリケーション１は、スマートフォンに組み込まれるとして説明したが、スマートフォン以外の携帯電話や通信機能を持たない情報処理装置（たとえばデジタルビデオカメラなど）や、汎用のデジタルビデオカメラに接続された情報処理装置（たとえばパーソナルコンピュータ）にも、上記と同様の機能を有するＯＣＲアプリケーションを組み込むことができる。
【００５９】
また、ＯＣＲアプリケーション１により読み取られた文字は、タッチパネル３上に表示されるだけでなく、アドレス帳に登録したり、メモ帳、翻訳用アプリケーションなどの様々なアプリケーションで利用することができる。
【符号の説明】
【００６０】
１    ＯＣＲアプリケーション
２    カメラ
３    タッチパネル
１０  ライブラリ（文字読取装置用のプログラム群）
１１  文字認識処理部
１２  解析処理部
１３  カメラインタフェース
１４  入出力インタフェース
３０  入力欄
３１  候補リスト
Ｓ    認識結果の文字列
【図１】
0005982844.tif 000002
【図２】
0005982844.tif 000003
【図３】
0005982844.tif 000004
【図４】
0005982844.tif 000005
【図５】
0005982844.tif 000006
【図６】
0005982844.tif 000007
【図７】
0005982844.tif 000008
【図８】
0005982844.tif 000009
【図９】
0005982844.tif 000010