(57)【特許請求の範囲】
【請求項１】
動画撮影機能を有するカメラおよびこのカメラにより生成された動画像を表示する表示部に接続されたコンピュータを、前記カメラが文字列の撮影により生成した動画像を入力して、当該動画像中の文字が示す情報を認識する文字認識装置として機能させるためのプログラムであって、
前記文字列の撮影が行われている間、その撮影による最新のフレーム画像を入力して当該画像中の文字を認識する処理と、その認識結果の信頼度を算出する処理とを繰り返す認識処理手段、
文字認識処理の対象のフレーム画像の画質および前記認識処理手段の動作のうちの少なくとも一方を規定する複数とおりの設定モードの中の１つを選択するモード制御手段、
前記認識処理手段による毎回の認識結果に基づく文字情報を、前記表示部の動画像の表示と同じ画面に表示する表示制御手段、の各手段として前記コンピュータを機能させ、
前記モード制御手段は、前記認識処理手段の処理サイクルに合わせて前記複数とおりの設定モードを順番に切り替えながら、毎回の認識結果を分析する第１ステップと、あらかじめ定めた整合性の条件を満たす認識結果が毎サイクル得られている状態下で前記設定モードの切り替えが所定回数循環したことに応じて、前記分析の結果に基づき認識結果の信頼度が最も高い設定モードを選択し、その後の前記認識処理手段の複数サイクル分の処理において当該選択を維持する第２ステップとを、実行する、
ことを特徴とする文字認識用のプログラム。
【請求項２】
前記モード制御手段は、第２ステップにおいて認識処理手段があらかじめ定めた数のフレーム画像を処理したことに応じて第１ステップの最初の処理に戻る、請求項１に記載された文字認識用のプログラム。
【請求項３】
前記モード制御手段は、前記認識処理手段による最新の認識結果が一段階前の認識結果に整合しない状態になったとき、第１ステップの最初の処理に戻る、請求項１または２に記載された文字認識用のプログラム。
【請求項４】
前記モード制御手段は、前記カメラの撮影用のパラメータの設定内容が異なる複数の設定モードを選択の対象とする、請求項１〜３のいずれかに記載された文字認識用のプログラム。
【請求項５】
前記モード制御手段は、前記認識処理手段が画像から検出した文字を認識のために照合する際に使用する文字モデルの種別が異なる複数の設定モードを選択の対象とする、請求項１〜３のいずれかに記載された文字認識用のプログラム。
【請求項６】
動画撮影機能を有するカメラにより生成された文字列の動画像を入力して、その動画像中の文字が示す情報を認識する装置であって、
前記カメラにより生成された動画像を表示する表示部と、
前記文字列の撮影が行われている間、その撮影による最新のフレーム画像を入力して当該画像中の文字を認識する処理と、その認識結果の信頼度を求める処理とを繰り返す認識処理手段と、
文字認識処理の対象のフレーム画像の画質および前記認識処理手段の動作のうちの少なくとも一方を規定する複数とおりの設定モードの中の１つを選択するモード制御手段と、
前記認識処理手段による毎回の認識結果に基づく文字情報を、前記表示部の動画像の表示と同じ画面に表示する表示制御手段とを具備し、
前記モード制御手段は、前記認識処理手段の処理サイクルに合わせて前記複数とおりの設定モードを順番に切り替えながら、毎回の認識結果の信頼度を分析する第１ステップと、あらかじめ定めた整合性の条件を満たす認識結果が毎サイクル得られている状態下で前記設定モードの切り替えが所定回数循環したことに応じて、前記分析の結果に基づき認識結果の信頼度が最も高い設定モードを選択し、その後の前記認識処理手段の複数サイクル分の処理において当該選択を維持する第２ステップとを、実行する、
ことを特徴とする文字認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列を撮影することにより生成された動画像を処理して、当該画像中の文字が示す情報を認識する技術に関する。
【背景技術】
【０００２】
一般的な文字認識処理では、投影処理によって画像中の文字を個別に抽出した上で、各文字を複数種の文字画像のモデル（以下、「文字モデル」という。）と照合し、所定値以上の類似度が得られた文字モデルが示す文字が該当文字であると判定する。また、この判定に用いられた文字モデルに対する類似度に基づき、認識結果の信頼度が算出される。
【０００３】
より信頼度の高い認識結果を得るために、動画像を用いた認識処理を行うことも提案されている。たとえば、特許文献１には、それぞれ異なる撮像条件下で生成された複数のフレーム画像に対し、文字領域の抽出および文字領域と辞書画像とのマッチング処理を実行し、これらによる認識結果のうちでマッチング度が高い結果を出力することが記載されている（請求項１，段落００１２〜００３１等を参照。）。
【０００４】
特許文献２には、より適切な撮影ができるように制御パラメータを変更しながら撮影が行われている状態下において、ユーザによる文字認識操作が行われたとき、その操作時のフレーム画像およびその前後の複数フレームの画像のそれぞれに対し、文字認識に適しているか否かを判断するための評価値を求め、この評価値が最も高い画像を用いて認識処理を行うことが記載されている（請求項１，段落００１８〜００４２等を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２４２４４０号公報
【特許文献２】特開２００９−８８９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年の撮影機能付きの携帯型情報装置（携帯電話など）には、動画像を用いたＯＣＲアプリケーションが導入されているが、携帯型情報装置は、様々な場所に持ち運ばれて利用されるため、様々な明るさの環境下でＯＣＲアプリケーションが利用される可能性が高い。また、ユーザ自身がカメラ付きの機体を手持ちして、認識対象の文字列へのカメラの位置合わせを行うため、その位置合わせ状態によっても画像の状態が大きく変動する。これらの実情の下で文字の認識精度を確保するには、認識処理に適した画質の画像が得られるように、撮影用の各種パラメータを自動調整する必要がある。
【０００７】
特許文献１，２には、照明、シャッタスピード、絞りなどのパラメータを変更しながらの動画撮影により生成された複数の画像を用いて、最も確度の良い認識結果を導き出すことが記載されていることから、上記の課題を解決する手段が示唆されているようにも思われる。
【０００８】
しかし、特許文献１に記載の発明では、カメラを固定して撮影を行い、画像に文字領域が入ったことを検出してから上記の処理を行うもので、人がカメラを手持ちして、認識対象の文字列を撮影する場合の事情は全く考慮されていない。また特許文献１に記載の発明では、単に各条件による認識処理を１回ずつ実施して、マッチング度が最も良い結果を選択するだけである。そのマッチング度が最も良い結果であっても、誤りが生じている可能性があり、認識精度が十分であるとは言えない。
【０００９】
特許文献２に記載の発明では、連続的に生成された複数のフレーム画像の中から文字認識に最も適した画質の画像を選択して文字認識処理を行っているが、文字認識を行うタイミングと関係なく撮影制御が行われるので、文字認識に適した画像を取得できない可能性がある。また、特許文献２に記載の発明では、評価値を算出する最大の区間を設定しているが、操作時のフレームとは被写体が異なる画像については、評価値の算出の対象から外すようにしている（段落００３４〜００３５，図５等を参照。）ので、評価値の算出に用いるフレーム数が不足するおそれがある。また、認識処理前の画像を評価するだけで、文字認識の結果を評価することについては、何も考慮しておらず、このような処理方法で精度の良い認識結果が得られるとするのは、甚だ疑問である。
【００１０】
本発明は上記の問題点に着目し、ユーザがカメラを手持ちして読取作業を行う場合に、煩雑な作業を行わなくとも、文字認識処理のために用意されている複数とおりの設定モードの中から認識に適したモードが自動選択されて、その選択された設定モードにより確度の高い文字認識処理を実行できるようにすることを課題とする。
加えて本発明は、認識結果の精度が確保されているか否かをユーザが容易に確認できるようにすることを課題とする。
【課題を解決するための手段】
【００１１】
本発明によるプログラムは、動画撮影機能を有するカメラおよびカメラにより生成された動画像を表示する表示部に接続されたコンピュータを、カメラが文字列の撮影により生成した動画像を入力して、当該動画像中の文字を読み取る文字読取装置として機能させるものである。
【００１２】
この文字読取装置には、文字列の撮影が行われている間、その撮影による最新のフレーム画像を入力して当該画像中の文字を認識する処理と、その認識結果の信頼度を算出する処理とを繰り返す認識処理手段；文字認識処理の対象のフレーム画像の画質および認識処理手段の動作のうちの少なくとも一方を規定する複数とおりの設定モードの中の１つを選択するモード制御手段；認識処理手段による毎回の認識結果に基づく文字情報を、表示部の動画像の表示と同じ画面に表示する表示制御手段、の各手段が設けられる。
【００１３】
また、モード制御手段は、認識処理手段の処理サイクルに合わせて複数とおりの設定モードを順番に切り替えながら、毎回の認識結果を分析する第１ステップと、あらかじめ定めた整合性の条件を満たす認識結果が毎サイクル得られている状態下で設定モードの切り替えが所定回数循環したことに応じて、分析の結果に基づき認識結果の信頼度が最も高い設定モードを選択し、その後の認識処理手段の複数サイクル分の処理において当該選択を維持する第２ステップとを、実行する。
【００１４】
上記の構成によれば、認識対象の文字列にカメラが位置合わせされて文字認識が実行されている間、認識処理のサイクルに合わせて複数とおりの設定モードが順に切り替えられる。この間の認識結果の信頼度は、設定モードの違いによって変動するが、同じ文字列の撮影が続いている間であれば、毎回の認識結果の間には、ある程度の整合性があるはずである。この点に着目して、本発明では、一定の整合性の条件を満たす認識結果が得られている間の設定モードの切り替えが所定回数循環したことに応じて、最も高い信頼度による認識結果が得られた設定モードを選択し、その設定モードによりさらに複数回の認識処理を行うので、その複数回の認識処理による認識結果が整合するか否かによって、認識結果の精度を認識することができる。
【００１５】
上記の処理が行われている間、表示部には、撮影中の動画像と共に、毎回の認識結果が表示される。設定モードの選択が切り替えられている間は、認識結果の表示が様々に変動する可能性が高いが、適切な設定モードの選択を維持した認識処理に移行すると、認識結果の表示が変動する可能性は低くなる。変動せずに固定表示された認識結果は、連続する複数回の認識処理のそれぞれで共通に得られたものであるので、ユーザは、不安定な表示から固定表示に変化したことをもって、認識結果が確定したと判断することができる。また、適切な設定モードが選択された後でも不安定な表示が続く場合には、認識処理に適した画像が得られていないと認識することができる。
【００１６】
読取作業が開始された直後など、認識対象の文字列へのカメラの位置合わせが終わっていない状態下では、毎回の認識結果は整合性の条件を満たさない状態になるので、第１ステップから第２ステップに移行することはない。したがって、認識対象の画像を取得する状態になってから適切な設定モードを選択することができるので、これによっても、認識の精度を確保することができる。
【００１７】
上記の文字認識装置の第１の実施形態では、モード制御手段は、第２ステップにおいて認識手段があらかじめ定めた数のフレーム画像を処理したことに応じて第１ステップの最初の処理に戻る。すなわち第１ステップによる処理と第２ステップによる処理とが定期的に入れ替わることになる。
【００１８】
このようにすれば、たとえば、最初の第１ステップの結果に基づき選択された設定モードが、その後、認識処理に適さない状態になった場合には、他の設定モードに自動的に変更される。また、最初の位置合わせによる認識処理では精度の良い認識結果が得られなかったために、認識対象の文字列に対するカメラの位置合わせ状態を変更したり、認識対象の文字列自体を変更する場合にも、いちいち撮影を止めたり、読取開始の操作を再度行わなくとも、自動的に第１ステップの最初の処理に戻り、その第１ステップでのモード切り替え処理を経て、変更後の条件に適した設定モードを設定することができる。
【００１９】
上記の文字認識装置の第２の実施形態では、モード制御手段は、認識処理手段による最新の認識結果が一段階前の認識結果に整合しない状態になったとき、第１ステップの最初の処理に戻る。
この構成によれば、認識対象の文字列が変更された場合には、速やかにその新たな文字列に対し、最適な設定モードを探す処理を開始することができるので、効率良く処理を進行させることができる。また、ユーザは、認識対象の文字列を変更するために中止や再開などの面倒な操作をする必要がなく、カメラによる撮影の対象を変更するだけで、変更後の文字列の認識に適した設定モード下での読取作業を行うことができる。
【００２０】
上記の文字認識装置の第３の実施形態では、モード制御手段は、カメラの撮影用のパラメータの設定内容が異なる複数の設定モードを選択の対象とする。これにより、撮像場所の環境に適した撮影モードを自動的に設定して、認識処理の対象の画像の画質を確保することが可能になる。
【００２１】
上記の文字認識装置の第４の実施形態では、モード制御手段は、認識処理手段が画像から検出した文字を認識のために照合する際に使用する文字モデルの種別が異なる複数の設定モードを選択の対象とする。これにより、認識対象の文字のフォントや言語の種類に適した文字モデルを自動的に選択することが可能になる。
【発明の効果】
【００２２】
本発明によれば、ユーザが、動画の表示を参照しながらカメラを認識対象の文字列に位置合わせすることによって、その文字列の認識に適した設定モードが自動的に選択されて、その選択状態で複数回の認識処理が行われる。この間に、動画像と共に表示される認識結果の表示は、各設定モードが順に切り替えられる状態下では不安定な表示となるが、適切な設定モードが選択された後の複数回の認識処理の結果が一致すれば、固定された表示に変化する。よって、ユーザは、不安定な表示から固定表示に変わったことによって、認識結果が確定したことを容易に把握することができる。これにより、操作性が高められると共に確度の高い認識文字列を表示することができ、利便性が高められる。
【図面の簡単な説明】
【００２３】
【図１】本発明が適用されたＯＣＲアプリケーションの機能ブロック図である。
【図２】認識結果の表示画面の変遷の例を示す図である。
【図３】撮影モードの種別とその設定内容とを対応づけたテーブルである。
【図４】毎回の認識処理に設定される撮影モードと、その認識処理により得られた認識結果の信頼度とを、対応づけたテーブルである。
【図５】撮影モードを切り替えながらの認識処理と最適モードによる認識処理とを繰り返す場合の毎回の認識処理に設定される撮影モードと、その認識処理により得られた認識結果の信頼度とを、対応づけたテーブルである。
【図６】図５のテーブルに示した撮影モードの切替処理が適用される場合のＯＣＲアプリケーションにおける処理の概略手順を示すフローチャートである。
【図７】認識結果の分析処理の詳細な手順を示すフローチャートである。
【図８】毎回の認識処理に設定される文字モデルの設定モードと、その認識処理により得られた認識結果の信頼度とを、対応づけたテーブルである。
【発明を実施するための形態】
【００２４】
図１は、携帯型の情報処理装置に組み込まれるＯＣＲアプリケーション１の構成例を、機能ブロック図として表したものである。
この実施例の情報処理装置の具体的形態はスマートフォンであって、動画撮影機能を有するカメラ２と、表示部および操作部が一体化されたタッチパネル３とを具備する。ＯＣＲアプリケーション１には、カメラインタフェース１３、入出力インタフェース１４のほか、スマートフォンの制御部を文字読取装置として機能させるためのライブラリ１０（文字認識用の機能を持つプログラム群）が含まれる。
【００２５】
この実施例のライブラリ１０には、文字認識処理部１１および制御部１２の各機能が含まれる。
【００２６】
カメラインタフェース１３は、ＯＣＲアプリケーション１の起動に応じてカメラ２に動画撮影を開始させると共に、毎回のフレーム画像を取り込む。取り込まれた画像は、入出力インタフェース１４および文字認識処理部１１に提供される。
【００２７】
文字認識処理部１１には、複数種の文字モデルが登録された辞書（図示せず。）が含まれており、カメラインタフェース１３から提供されたフレーム画像に対し、画像投影処理の手法により画像内の個々の文字を抽出する文字切り出し処理や、抽出された文字の画像を辞書内の各種文字モデルと照合する照合処理などを実行して、各文字に対応する文字コードを認識すると共に、その認識結果の信頼度を算出する。
【００２８】
上記の認識処理や信頼度の算出処理は、毎回、カメラインタフェース１３がその時点で取り込んでいる最新のフレーム画像を対象にして、繰り返し実行される。各回の認識結果や信頼度は、バッファメモリ（図示せず。）に格納され、制御部１２により処理される。
【００２９】
制御部１２には、認識処理のための撮影モードを設定する機能と、毎回の認識結果および信頼度を分析する機能と、認識結果を示す文字情報を含む表示用情報を生成する機能とが設けられる。表示用情報は、入出力インターフェース１４に渡されて、カメラインタフェース１３から提供された動画像と共にタッチパネル３に表示される。
【００３０】
図２は、タッチパネル３に表示される画面の例を示す。
この例は、「オムロン」という文字列を撮影して文字認識を行ったものである。図中、中央の枠１００内に大きく示されているのが認識対象の文字列であり、その下に小さく表示されている文字列Ｍ１〜Ｍ４が認識結果である。
【００３１】
この実施例では、「標準モード」「屋外モード１」「屋外モード２」の３種類の撮影モード（図３を参照）が設けられている。標準モードは、主として室内での撮影に適したモードであり、屋外モード１は、天候が晴れのときの屋外での撮影に適したモードであり、屋外モード２は、天候が曇りのときの屋外での撮影に適したモードである。
【００３２】
図２に示す画面には、カメラ２から入力された最新のフレーム画像が表示されると共に、画面の左上隅に、表示中の画像の撮影に適用された撮影モードを示す情報が表示されている。この実施例では、上記３種類の撮影モードを順に選択するようにして、認識処理の都度、撮影モードを切り替える処理を所定サイクル実行した後に、最も信頼度が高い認識結果が得られた撮影モードを選択し、以後は、その最適モードを維持するようにしている。図２（１）（２）（３）は、撮影モードの最後の切り替えが行われている間の画面であり、図２（４）は最適モードが選択された後の画面である。
【００３３】
各撮影モードは、それぞれ文字認識処理のサイクルに応じた周期で切り替えられ、撮影モード毎に、そのモード内に得られた１フレーム画像に対する文字認識処理が実行されると共に、つぎのモードに切り替えられる前に認識結果が表示される。各画面における認識結果を示す文字列Ｍ１〜Ｍ４は、いずれも、この画面に表示されている撮影モード中に得られた結果である。たとえば、図２（１）中の文字列Ｍ１は、標準モードが設定されている期間内の１フレーム画像に対する認識結果であり、図２（２）中の文字列Ｍ２は、屋外モード１が設定されている期間内の１フレーム画像に対する認識結果であり、図２（３）中の文字列Ｍ３は、屋外モード２が設定されている期間内の１フレーム画像に対する認識結果である。
また図２（４）の画像は、撮影モード別の信頼度に基づき標準モードが最適モードとして選択され、その最適モード下で数回の認識処理が行われた段階でのフレーム画像であり、文字列Ｍ４は、表示中の画像より前に生成された画像に対する認識結果である。
【００３４】
認識結果の表示では、認識された各文字のうち、対応する文字モデルに対する類似度（文字単位での信頼度）が所定の基準値を下回っている文字を、輝度の高い色彩（たとえば赤色）で表示するようにしている。図２では、その色彩に代えて、信頼度が低い文字を、背景の網点パターンにより表現している。
【００３５】
図２の例によれば、３種類の撮影モードのうち、標準モードにおいて認識された文字列Ｍ１では、全ての文字が基準値以上の信頼度をもって認識されている。これに対し、屋外モード２において認識された文字列Ｍ３では、「オ」「ム」「ロ」「ン」の各文字のうちの「ロ」がカギ括弧記号の『［』と『］』として分離されて誤認識されている。また屋外モード１において認識された文字列Ｍ２では、「ロ」が漢字の『口（くち）』に誤認識されている。このため、図２の例では、モード別の信頼度は、標準モードにおいて最も高くなっており、図２（４）に示すように、標準モードが最適モードとして設定されている。
【００３６】
図３は、上記３種類の撮影モードの具体的な設定内容を示す。
各撮影モードには、それぞれ固有のモード番号（図中のNo.の欄）が設定されている。撮影モードが切り替えられる際には、このモード番号が若い順に各撮影モードが選択される。
【００３７】
各撮影モードは、撮影時の明るさ調整の度合とコントラストの強調処理を行うか否かの選択の組み合わせを異にするものである。図２では、標準モードで調整される明るさを「標準」とし、標準より強い調整を「強」としているが、これらが示す実際の設定は、各制御パラメータの具体的な値の組み合わせとして、メモリ内に登録されている。
【００３８】
明るさの調整のためのパラメータには、カメラ２のシャッタ速度を示す数値、絞りの開度を示す数値、ストロボ光源を発光させるか否かを示すフラグなどが含まれる。これらのパラメータは、制御部１２からカメラインタフェース１３に与えられて、それぞれのパラメータに基づきカメラ２やストロボ光源の動作が制御される。
コントラストの強調処理は、カメラ２の信号処理部に標準装備されている機能である。この機能にかかるパラメータは、当該機能を有効にするか否かを示すフラグであり、明るさのパラメータと同様に、制御部１２からカメラインタフェース１３に与えられて、当該機能がオンまたはオフに設定される。
【００３９】
標準モードでは、標準の明るさによる撮影が行われ、コントラストの強調は行われないように設定される。屋外モード１では、撮影時の明るさを標準として、コントラストの強調処理を行う。屋外モード２では、標準より強い明るさによる撮影が行われると共に、さらに、コントラストの強調処理が行われる。
【００４０】
図４は、毎回の認識処理に設定される撮影モードと、その認識処理により得られた認識結果の信頼度とを、表形式にして対応づけたものである。
この実施例では、標準モード→屋外モード１→屋外モード２の順に撮影モードを切り替える。また、モード別に認識結果の信頼度の平均値を求め、切り替えが二巡する６回目の認識処理を終了したときに、平均信頼度が最も高いモードを最適モードとして選択する。
【００４１】
図４の例では、標準モードでは、２回の認識処理において、それぞれ「８５」「９０」の信頼度による認識結果が得られている。屋外モード２での認識結果の信頼度は、２回とも「７５」となっている。屋外モード３での２回の認識処理では、それぞれ「７０」「６０」の信頼度による認識結果が得られている。よって、表の欄外に記載しているように、標準モードにおける平均信頼度が最も高くなるので、７回目以降の認識処理では、標準モードが維持される。
【００４２】
ただし、動作モード毎の平均信頼度を比較して最適モードを選択する処理は、６回の認識処理における認識結果の間に、あらかじめ定めた基準を満たす整合度合いが認められる場合に限り、実施される。認識結果が整合度合いの基準を満たさない場合には、処理回数のカウントはリセットされ、１回目から処理をやり直す。
【００４３】
この実施例では、毎回の認識処理に応じてその認識結果を表示するが、図２に例示したように、信頼度の低い認識結果には誤りが生じている可能性が高い。
特に、撮影モードが切り替えられている間には、毎時の信頼度のばらつきによって表示に変動が生じる可能性が高いが、最適な撮影モードが選択されると、毎回、精度の高い認識処理が行われるので、各回の認識結果が一致するようになる。よって、画面上の認識結果も、不安定な表示から固定表示へと移行するので、ユーザは、固定表示状態になったことをもって、認識結果が確定したと判断することができる。
【００４４】
よって、ユーザは、表示が変動している間は撮影を続ける必要があると考えて、スマートフォンの機体を文字列に向けた状態を維持するようになる。これにより、最適な撮影モードが選択された後の画像の画質がより高められ、より確度の高い認識結果を得ることが可能になる。
【００４５】
文字列に対するカメラの位置合わせが適切でない場合などには、最適な撮影モード下での認識処理でも信頼度が低くなって誤認識が生じ、不安定表示が続く可能性がある。しかし、この不安定表示の継続によって、ユーザは、認識精度が確保されていないことを認識し、カメラの位置や姿勢を変更するなどの対策をとることができる。
【００４６】
図５は、撮影モードの選択に関する他の実施例を示す。
この実施例でも、標準モード→屋外モード１→屋外モード２の順序で、認識処理の都度撮影モードを切り替え、切り替えが二巡したときの各モードの平均信頼度に基づき最適な撮影モードを選択し、以後、その最適モードによる認識処理を続ける点は、図４の実施例と同様である。ただし、この実施例では、選択した最適モードによる認識処理が２４回続くと、再び、撮影モードを切り替える状態に転じる。そして、この切り替えが二巡したときの各モードの平均信頼度に基づき、最適な撮影モードを選択し直す。
【００４７】
図５に示す具体例では、最初の１回目〜６回目の認識処理で撮影モードが順に切り替えられた場合には、標準モードの平均信頼度が最も高くなっているので、７回目〜３０回目の認識処理では、標準モードが採用されている。しかし、次の３１回目から３６回目までの認識処理で撮影モードが再び切り替えられると、今度は標準モードではなく、屋外モード１の平均信頼度が最も高くなっている。これを受けて、３７回目〜６０回目の認識処理では、屋外モード１が選択されている。
【００４８】
その後も同様に、最適モードとして選択した撮影モード下での認識処理が２４回実行されると、撮影モードを切り替える処理に戻り、この切り替えの下で実施された６回の認識処理におけるモード毎の平均信頼度に基づき、最適な撮影モードが再選択される。つまりは、３０回分の認識処理のうちの最初の６回で毎回の認識処理毎に撮影モードを切り替え、これらの処理により平均信頼度が最も高くなった撮影モードを最適モードとして、残りの２４回の認識処理を実行する、というアルゴリズムが繰り返される。
ただし、この繰り返しも、毎回の認識結果が整合性の基準を満たしていることを条件とする。最新の認識結果と前回の認識結果とが整合性の基準に適合しない状態になると、再び、１回目の処理に戻る。
【００４９】
以下、図５に示した撮影モードの選択を行うことを前提として、ＯＣＲアプリケーション１により実行される処理の具体的手順を説明する。
図６は、処理全体の流れを示し、図７は、図６中のステップＳ８（認識結果の分析処理）の詳細な手順を示す。
【００５０】
まず、図６の手順について説明する。この処理は、読取のための撮影開始を指示する操作に応じて開始されるもので、最初のステップＳ１で、処理回数を示すカウンタｎを初期値の１に設定した後、ｎが３０に達するまで、ステップＳ２〜Ｓ９のループを繰り返す。
【００５１】
このループでは、ｎの値が６以下の間は、ステップＳ２が「ＹＥＳ」となり、ｎの値に応じた撮影モードが選択される（ステップＳ３）。具体的には、ｎが１から３の値をとる場合には、その値に対応するモード番号（図２を参照。）の撮影モードが選択され、ｎが４から６の値をとる場合には、そのｎから３を減算した値に対応するモード番号の撮影モードが選択される。さらに、この選択の後、ステップＳ４において、選択した撮影モード用のパラメータによりカメラ２等の動作を制御し、その制御下で生成されたフレーム画像を取得する。
【００５２】
一方、ｎの値が６を上回る場合には、ステップＳ２が「ＮＯ」となってステップＳ５に進む。このステップＳ５では、最適モードのパラメータに基づきカメラ２等の動作を制御し、その制御下で生成されたフレーム画像を取得する。
【００５３】
このように、ｎの値に応じてステップＳ３およびＳ４、またはステップＳ５を実行することにより、選択された撮影モードのパラメータの設定に基づく撮影制御を行い、その撮影により生成されたフレーム画像を取得する。
【００５４】
ステップＳ６では、上記の処理を経て取得したフレーム画像を用いた文字認識処理を実行する。簡単に説明すると、処理対象の画像を２値化して、ｘ，ｙの各軸方向に投影することにより、個々の文字画像を検出する。そして検出された文字画像毎に、辞書に登録されている種々の文字モデルと順に照合して類似度を算出し、最も高い類似度を得た文字モデルが示す文字を文字画像にあてはめる。この最大の類似度が文字単位での信頼度となる。認識された文字およびその信頼度は、文字の並びに沿う順番で、バッファメモリに保存される。
【００５５】
文字認識処理が終了すると、ステップＳ７では、今回（ｎ回目）の文字認識処理において文字毎に保存された類似度を読み出し、この認識結果の信頼度（文字単位での類似度の平均値）を算出する。算出された信頼度は、先の認識結果に対応づけられて、バッファメモリに保存される。
【００５６】
この後、認識結果の分析処理（ステップＳ８）が行われ、その後に認識結果が表示される（ステップＳ９）。このときのｎが３０未満であれば（ステップＳ１０が「ＹＥＳ」）、ステップＳ１１でｎの値を１つ増やしてからステップＳ２に戻る。ｎ＝３０の場合（ステップＳ１０が「ＮＯ」）には、ステップＳ１に戻るので、ｎの値は１に戻る。
【００５７】
つぎに、図７を参照して、ステップＳ８の認識結果の分析処理の詳細を説明する。
この処理では、まずｎの値をチェックし、ｎ＞１であれば（ステップＳ１２が「ＹＥＳ」）、今回（ｎ回目）の認識結果と前回（ｎ−１回目）の認識結果とを照合し、両者が整合性の基準を満たすかどうかをチェックする（ステップＳ１３，Ｓ１４）。
【００５８】
たとえば、それぞれの回で認識された文字数を比較し、文字数の差が所定値以下であれば、文字の並びに沿って文字毎の認識結果を比較し、認識結果の一致数を求める。この一致数、または大きい方の認識文字数に対する一致数の割合が、あらかじめ定めた基準値以上であれば、今回の認識結果と前回の認識結果とは、整合性の基準を満たしていると判定する。ここで整合性の基準を満たさないと判定された場合（ステップＳ１４が「ＮＯ」）には、ステップＳ１９においてｎに０をセットした後、分析処理を終了する。
【００５９】
整合性の基準を満たすと判定された場合（ステップＳ１４が「ＹＥＳ」）には、ｎの値が維持される。ｎが３以下または７以上であれば、ステップＳ１５が「ＮＯ」となり、この判定をもって分析処理を終了する、
【００６０】
ｎが４，５，６のいずれかの値をとる場合には、ステップＳ１５が「ＹＥＳ」となってステップＳ１６に進み、そのｎの値に応じた撮影モードの平均信頼度を算出する。具体的には、ｎ−３回目の処理で算出された信頼度とｎ回目の処理で算出された信頼度との平均値を求め、この平均値をモード番号が（ｎ−３）の撮影モードの平均信頼度に設定することになる。算出された平均信頼度は、対応するモード番号と組み合わせられてバッファメモリに保存される。
【００６１】
ｎの値が４または５であれば、ステップＳ１７が「ＮＯ」となり、この判定をもって分析処理を終了する。ｎ＝６であれば、ステップＳ１７が「ＹＥＳ」となってステップＳ１８に進む。
ステップＳ１８では、各モード毎に算出された平均信頼度をバッファメモリから読み出して比較し、平均信頼度が最も高い撮影モードを最適モードとして選択する。これをもって、分析処理は終了する。
【００６２】
上記図６および図７に示した手順によれば、同一の文字列を対象にした撮影が続く間は、３種類の撮影モードを切り替えながらの認識処理と、最適モードとして選択された撮影モードの下での認識処理とが、定期的に繰り返される。毎回の認識処理は、それぞれ最新のフレーム画像を用いて、その回で独立して行われるので、撮影対象の文字列に対するカメラ２の位置合わせ状態の変化や撮影モードの変更などにより処理対象の画像の状態が多少変化しても、認識結果の整合性の条件が満たされる間は定期的な繰り返しが続く。
【００６３】
一方、ある文字列に対する読取作業を終了したユーザが、引き続き別の文字列の読取作業を開始するなどして、認識結果が前回のものに整合しない状態になると、その認識結果を分析する処理において、ｎに０がセットされる（図７のステップＳ１４，Ｓ１９を参照。）。このｎの値は、さらに、分析処理（ステップＳ８）および認識結果の表示（ステップＳ９）が終了した後のステップＳ１１において１に更新されるので、次の認識処理は１回目の処理として実施される。
【００６４】
ここで、図６および図７の処理により生じる作用・効果を整理する。
まず、この実施例では、毎回の認識結果が整合性の条件を満たす場合にのみ、撮影モードの切り替えによる認識処理や最適モードによる認識処理を実行するので、読取開始時に撮影位置が定まっていない間に撮影モードの切り替えが進行して、適切でない撮影モードが最適モードとして選択されることがない。認識対象の文字列へのカメラ２の位置合わせが完了していないために文字列が適切に含まれる画像が生成されていない間は、認識処理が行われても、毎回の認識結果が整合しないので、ｎの値は０と１との間を行き来する状態となり、実質的に、毎回、１回目の認識処理が実施されることになる。カメラ２の位置が定まると、その時点から、撮影モードの切り替えが開始されるので、早期に最適モードを選択することができる。
【００６５】
その一方で、画像の状態が多少変わっても、認識結果の整合性の条件が満たされている場合には、定期的な繰り返しを続けることができるので、処理の遅延を防ぐことができる。たとえば、撮影モードの切り替え処理が行われている間にスマートフォンの機体を持つ手が多少動いても、処理回数がクリアされることなく、最適モードの選択に進むことができる。
【００６６】
また、たとえば移動中の車中で文書の読み取り作業をしている間に明るい場所から暗い場所に移動するなど、文字列の読取処理の途中で周囲環境が変わった場合にも、適宜、その環境変化に応じた撮影モードにより最適モードが更新されるので、認識処理の精度を確保することができる。
【００６７】
表示画面では、毎回の認識結果が撮影中の動画像と同じ画面に表示されるので、文字列へのカメラ２の位置合わせが終了すると、速やかに、現在の撮影状態を確認しながら認識結果の適否を判断することができる。先にも述べたように、撮影モードが切り替えられている間は認識結果の表示が不安定になる可能性が高いが、最適モードが選択された後に認識結果の表示が固定されると、ユーザは、それをもって認識結果が確定したことを認識することができる。
【００６８】
認識結果の不安定表示が長く続いたり、固定表示された認識結果に誤りがあった場合には、ユーザは、再度の読取開始操作を行わなくとも、カメラ２の位置や姿勢を変更して読取作業を続けることができる。上記したように、認識結果の不安定表示が固定表示に変わったときに、認識結果が確定したと解釈することができるので、ユーザは、この表示の変更や固定表示の内容に応じて、カメラ２を動かすか否かや動かすタイミングを判断し、表示中のリアルタイムの動画像を参照しながら撮影位置や撮影方向を調整することができる。その調整によって、これまでの最適モードが適合しなくなると、再度の撮影モードの切り替えを経た後に最適モードが更新される。ユーザによるカメラ２の位置や姿勢の調整が認識に適したものであれば、その調整に追随して設定された最適モードにより画像の画質が向上する可能性が高い。
よって誤認識された箇所を正しく認識できる可能性が高められる。
【００６９】
認識対象の文字列が変更された場合には、認識結果の整合性が得られなくなったことをもって３０回のうちの１回目に処理が戻るので、新たな認識対象の文字列に適した撮影モードを速やかに選択することができる。よって、前回の処理対象の文字列に対するのとは異なる向きにカメラ２が向けられて、周囲の明るさが大きく変わった場合でも、速やかに最適な撮影モードを選択して、精度の良い認識処理を行うことができる。
【００７０】
このように、図６および図７に示した処理手順によれば、ユーザは、タッチパネル３に表示される動画像と認識結果とを参照しながら、確度の高い認識結果が表示されるまでカメラ２の位置や姿勢を変更しながら撮影を行い、所望の結果を得ることができる。よってユーザの操作手順を複雑にすることなく、精度の良い認識処理を行うことが可能になり、利便性が高められる。
【００７１】
なお、図６には示していないが、この処理においては、入出力インタフェース１４の機能によって、適宜、表示中の認識文字列を他のアプリケーションに出力する操作を受け付けることができる。その操作を受け付けた場合には、定期的な繰り返し処理を終了または中止して、認識した文字列を示すテキストデータを指定されたアプリケーションに出力する。これにより、読み取られた文字列をアドレス帳に登録したり、メモ帳、翻訳用アプリケーションなどで利用することができる。
【００７２】
また、上記の実施例では、文字認識処理の都度、撮影モードを切り替えたが、切り替えのタイミングは各回毎に限らず、たとえば、同じ撮影モードによる認識処理を２回ずつ実施するようにして、２回目の処理終了後に次の撮影モードを選択してもよい。また、撮影モードを毎回切り替える場合に最適モードを選択するタイミングも、切り替えが２回循環した場合に限らず、より多くの回数の循環を経てからにしてもよい。
【００７３】
図３〜図５の具体例では、撮影モードを３種類としたが、より多くの撮影モードを設定してもよい。また、各撮影モードで調整するパラメータの種類も、先に述べたものに限定されるものではない。加えて、認識処理手段に、輝度調整やずれ補正などの前処理を実行する機能を持たせて、この前処理を行うか否かの選択を加えた撮影モードを設定してもよい。
【００７４】
また、上記では、認識結果の固定表示によって認識結果が確定すると解釈できるとしたが、確定されたことをより明確に表示してもよい。たとえば、最適モードによる認識結果が前回の認識結果に完全一致した回数を計数し、その計数値が所定値（たとえば１０回とする。）に達したときに、認識結果の表示形態を変更する方法が考えられる。
【００７５】
ここまで、複数とおりの撮影モードの中から最適なモードを選択して、この最適モードによる認識処理によって確度の高い文字認識を行う実施例を説明したが、文字認識処理に対して選択できる要素は撮影モードのほかにも存在する。その一例として、文字画像との照合に用いる文字モデルの種別の設定を切り替える例を説明する。
【００７６】
図８は、文字認識処理において使用される文字モデルの設定を３種類のモードに分け、これらの設定モードを順に切り替えた例を示す。
具体的に、この実施例では、明朝系およびゴシック系のフォントデータを使用する第１の設定モードと、丸文字ポップ系のフォントデータを使用する第２の設定モードと、行書体系のフォントデータを使用する第３の設定モードとを設けている。そして、これら３種類の設定モードを、認識処理の都度、順に切り替えながら、モード別に平均信頼度を求め、切り替えが二巡したときに、平均信頼度が最も高い設定モードを最適モードとして選択する。７回目以降の認識処理では、最適モードの選択が維持されて、認識処理が継続される。
【００７７】
図示例では、３種類の設定モードのうちの第２の設定モード（丸文字ポップ系）における平均信頼度が最も高くなっている。これに応じて第２の設定モードが最適モードに選択されて、７回目以降の認識処理が進められる。
【００７８】
上記の処理によれば、ユーザが特に意識して認識対象の文字列に適したフォントデータを選択しなくとも、適切なフォントデータが自動的に選択されて、そのフォントデータによる文字モデルを用いた文字認識処理が行われるので、認識結果の確度を大幅に高めることができる。なお、文字モデルの種別分けはフォントデータに限らず、言語別に複数種の文字モデルを登録して、それぞれの言語毎の設定モードを用いて図８と同様の処理を行うようにしてもよい。
【００７９】
また、図８の例にも、図６および図７に示した処理手順を適用して、設定モードを切り替えながらの認識処理と、この切り替え期間での認識結果の分析により選択された最適モードによる認識処理とを定期的に繰り返すようにしてもよい。この場合にも、前回の認識結果に対する整合性が得られなくなったときには、処理は１回目に戻るので、１つの文字列に対する認識処理が終了して、他の異なるフォントの文字列に認識対象が変更された場合でも、その変更に速やかに対応して最適なフォントデータによる認識処理を実施することができる。
【００８０】
さらに、文字モデルに関する設定モードと撮影モードとの組み合わせを１つの設定モードとして、複数とおりの設定モードを準備し、同様の方法により、これらの設定モードの中から認識処理に最適なモードを選択してもよい。
【００８１】
また、各実施例では、撮影された文字列を読み取った結果を、そのまま認識結果として表示することを前提にしたが、これに代えて、読み取られた文字列が示す単語を他の言語に翻訳して、その翻訳結果を示す文字列を表示してもよい。
【００８２】
上記の各実施例が適用されるＯＣＲアプリケーション１は、スマートフォンに限らず。スマートフォン以外の携帯電話や通信機能を持たない情報処理装置（たとえばデジタルビデオカメラなど）や、汎用のデジタルビデオカメラに接続された情報処理装置（たとえばパーソナルコンピュータ）にも、組み込むことができる。
【符号の説明】
【００８３】
１    ＯＣＲアプリケーション
２    カメラ
３    タッチパネル
１０  ライブラリ（文字読取装置用のプログラム群）
１１  文字認識処理部
１２  制御部
１３  カメラインタフェース
１４  入出力インタフェース
Ｍ１〜Ｍ４  認識結果の文字列
【図１】
0005835035.tif 000002
【図２】
0005835035.tif 000003
【図３】
0005835035.tif 000004
【図４】
0005835035.tif 000005
【図５】
0005835035.tif 000006
【図６】
0005835035.tif 000007
【図７】
0005835035.tif 000008
【図８】
0005835035.tif 000009