(57)【特許請求の範囲】
【請求項１】
複数の文字を含む文字列画像に対して文字認識処理を実行する文字認識手段と、
前記文字列画像に対する前記文字認識手段での文字認識結果の文字列を表示する第１の表示手段と、
前記第１の表示手段により表示された前記文字認識結果の文字列の中のいずれかの文字がユーザーにより選択された場合、データベースで管理されているマスターデータのうち、当該選択された文字が少なくとも異なる所定の文字数違いのマスターデータに基づいて、当該選択された文字に対する修正候補文字を表示する第２の表示手段と、
前記第２の表示手段により表示された修正候補文字がユーザーにより選択された場合、当該選択された修正候補文字を用いて前記文字認識結果の文字列を修正する修正手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２の表示手段は、前記修正候補文字とともに、前記修正候補文字と異なる文字を入力するためのキーボードを表示させるためのキーボードボタンを表示し、
前記修正手段は、前記第２の表示手段により表示されたキーボードボタンがユーザーにより選択された場合、キーボードを表示し、当該表示したキーボードを用いて入力された文字を用いて前記文字認識結果の文字列を修正することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記修正手段により前記選択された修正候補文字を用いて修正した文字列が前記マスターデータに無い場合、当該修正した文字以外で当該修正した後の文字列と所定の文字数違いのマスターデータに基づいて、当該修正した文字以外で間違っている可能性がある文字を強調表示する強調表示手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記文字認識手段は、前記複数の文字を含む文字列画像に対して文字認識処理を実行し、さらに、前記データベースのマスターデータと照合することにより、前記マスターデータにある文字列を前記文字認識結果として出力することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記データベースのマスターデータと照合するか否かを示す照合ボタンを表示する第３の表示手段を更に備え、
前記照合ボタンで照合すると設定されている場合に、前記文字認識手段は、前記複数の文字を含む文字列画像に対して文字認識処理を実行し、さらに、前記データベースのマスターデータと照合することにより、前記マスターデータにある文字列を前記文字認識結果として出力することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記文字認識手段は、前記複数の文字を含む文字列画像に対して文字認識処理を実行した際に、認識された文字数が所定の文字数でないと判断した場合は、自動的に前記照合ボタンを照合しない設定に変更し、前記データベースのマスターデータと照合せずに前記文字認識結果を出力することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記照合ボタンで照合すると設定され、かつ、前記第１の表示手段により表示された前記文字認識結果の文字列の中のいずれかの文字がユーザーにより選択された場合、前記第２の表示手段は、前記データベースで管理されているマスターデータのうち、当該選択された文字が少なくとも異なる所定の文字数違いのマスターデータに基づいて、当該選択された文字に対する修正候補文字を表示することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項９】
情報処理装置の文字認識手段が、複数の文字を含む文字列画像に対して文字認識処理を実行する文字認識ステップと、
前記情報処理装置の第１の表示手段が、前記文字列画像に対する前記文字認識ステップでの文字認識結果の文字列を表示する第１の表示ステップと、
前記情報処理装置の第２の表示手段が、前記第１の表示ステップで表示された前記文字認識結果の文字列の中のいずれかの文字がユーザーにより選択された場合、データベースで管理されているマスターデータのうち、当該選択された文字が少なくとも異なる所定の文字数違いのマスターデータに基づいて、当該選択された文字に対する修正候補文字を表示する第２の表示ステップと、
前記情報処理装置の修正手段が、前記第２の表示ステップで表示された修正候補文字がユーザーにより選択された場合、当該選択された修正候補文字を用いて前記文字認識結果の文字列を修正する修正ステップと、
を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
近年、スマートフォンやデジタルカメラなどの普及により、文字情報を含む画像情報が手軽に取れるようになってきた。これによって、より多種多様な観測環境から、文字認識処理を行って文字情報を取り込む大きな市場が開けつつある。例えば、鉱山などの採石現場では、ダンプトラックに使用されているタイヤを管理するために、タイヤに刻印されたシリアルナンバーを用いるというユースケースがある。そこで、タイヤに刻印されたシリアルナンバーをスマートフォンやデジタルカメラなどで撮影し、撮影した画像に対して文字認識処理を行い、その文字認識結果を用いて管理することが考えられる。一方、タイヤメーカーのマスターデータベースには該メーカーで製造されたタイヤのシリアルナンバーが管理されているので、該データベースと照合することにより、文字認識結果を該データベース内に存在するデータに限定して出力することで認識精度を向上させることが考えられる。
【０００３】
特許文献１には、画像に対する文字認識結果の候補として、番号データベースや型番データベース内に存在する文字列に限定して出力する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−０７８２０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のように、文字認識結果をデータベース内の文字列に限定したとしても、ノイズの多い文字列画像を認識した場合などは、データベース内に格納されている別の類似文字列を認識結果として出力してしまう場合も多い。
【０００６】
本発明は、簡単に文字認識結果を修正できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の情報処理装置は、複数の文字を含む文字列画像に対して文字認識処理を実行する文字認識手段と、前記文字列画像に対する前記文字認識手段での文字認識結果の文字列を表示する第１の表示手段と、前記第１の表示手段により表示された前記文字認識結果の文字列の中のいずれかの文字がユーザーにより選択された場合、データベースで管理されているマスターデータのうち、当該選択された文字が少なくとも異なる所定の文字数違いのマスターデータに基づいて、当該選択された文字に対する修正候補文字を表示する第２の表示手段と、前記第２の表示手段により表示された修正候補文字がユーザーにより選択された場合、当該選択された修正候補文字を用いて前記文字認識結果の文字列を修正する修正手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、データベースに存在する文字列を用いて、文字認識結果の修正を簡単に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】モバイル端末の外観と被写体の例
【図２】モバイル端末のハードウェア構成例
【図３】モバイル端末のソフトウェア構成例
【図４】モバイルアプリのＵＩ画面例
【図５】シリアルテーブルの例
【図６】モバイル端末の基本処理フロー
【図７】ＯＣＲ結果表示処理フロー
【図８】ＯＣＲ結果表示画面の例
【図９】修正候補表示フロー
【図１０】修正候補文字を表示した画面の例
【図１１】修正結果表示処理フロー
【図１２】文字修正後の強調表示の例
【図１３】修正した文字はデータベースにないことを通知する例
【発明を実施するための形態】
【００１０】
（第１実施形態）
本実施形態に係る情報処理装置の一例として、モバイル端末（携帯端末）を例に説明する。モバイル端末は、無線通信機能などを用いて外部と通信可能な端末である。
【００１１】
図１は、モバイル端末１００（モバイル端末の前面１０１と背面１０３）の外観と、被写体１０５となるタイヤを示す図である。モバイル端末前面部１０１には、タッチパネルディスプレイ１０２が備えられ、表示とタッチ操作入力との２つの機能を有する。モバイル端末背面部１０３には、被写体を撮影して画像を取り込むためのカメラユニット１０４が備えられる。本実施形態では、モバイル端末１００のユーザーは、モバイル端末のＣＰＵにより動作するモバイルアプリ（詳細は後述）を利用して、被写体１０５を撮影し、文字認識処理を実行させることができる。被写体１０５は、タイヤの例である。タイヤのシリアルＩＤ（シリアルナンバーもしくはセリアルナンバーともいう）が記載されている部分を、モバイル端末のカメラユニットを用いて撮影することにより、撮影画像１０６を取得することができる。シリアルＩＤ１０７はタイヤに刻印されたシリアルナンバーを示しており、タイヤを一意に識別するためのＩＤである。
【００１２】
なお、本実施形態では、被写体１０５としてタイヤを例にして説明するが、被写体はタイヤに限るものではない。後述のモバイルアプリは、被写体１０５の画像を取り込み、タッチパネル１０２にその画像を出力することができる。
【００１３】
図２は、モバイル端末１００のハードウェアの構成の一例を示す図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１は、各種のプログラムを実行することによって様々な機能を実現する処理ユニットである。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２は、各種の情報の記憶や、ＣＰＵ２０１の一時的な作業記憶領域として利用されるユニットである。不揮発性メモリ（例えばＲＯＭ）２０３は、各種のプログラムやデータ等を記憶するユニットである。ＣＰＵ２０１は、不揮発性メモリ２０３に記憶されているプログラムをＲＡＭ２０２にロードしてプログラムを実行する。すなわち、モバイル端末のＣＰＵ（コンピュータ）は、該プログラムを実行することにより、図３で説明するような各処理部として機能し、後述するシーケンスの各ステップを実行する。なお、不揮発性メモリ２０３は、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）などであってもよい。なお、モバイル端末１００の各機能ならびに後述するシーケンスに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０４は、タッチパネル１０２とデータを送受信する。ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０５は、モバイル端末１００をネットワーク（不図示）に接続するためのユニットである。カメラインターフェース２０６は、カメラユニット１０４と接続し、被写体１０５の画像をモバイル端末１００に取り込む。上述したユニットは、バス２０７を介してデータの送受信を行うことができる。
【００１４】
次に、モバイル端末１００におけるソフトウェア構成について説明する。図３は、モバイル端末１００のソフトウェア構成の一例を示す概念図である。モバイル端末のＣＰＵは、モバイルアプリ（モバイル端末用のアプリケーションプログラム）３０２を実行することにより、各処理部（各処理モジュール）３０３〜３０８として機能する。また、モバイル端末１００のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）（不図示）は、データ管理部３０１として機能する。
【００１５】
データ管理部３０１は、画像やアプリケーションデータを管理する。ＯＳは、データ管理部３０１を利用するための制御ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  ＰｒｏｇｒａｍｍｉｎｇＩｎｔｅｒｆａｃｅ）を提供している。各アプリケーションは、その制御ＡＰＩを利用することでデータ管理部３０１に対し、画像やアプリケーションデータの取得処理や保存処理を行う。
【００１６】
モバイルアプリ３０２は、モバイル端末１００のＯＳのインストール機能を利用して、ダウンロードしインストールすることにより実行可能なアプリケーションである。モバイルアプリ３０２は、カメラインターフェース２０６を介して取り込んだ被写体１０５の画像に対する各種のデータ処理を行う。
【００１７】
メイン制御部３０３は、後述する各モジュール部（３０３〜３０８）に対する指示及び管理を行う。
【００１８】
情報表示部３０４は、メイン制御部３０３からの指示に従い、図４に示すようなモバイルアプリ３０２のユーザインタフェース（ＵＩ）をタッチパネルに表示するように制御する。
【００１９】
図４は、モバイルアプリ３０２のＵＩ（携帯端末用のＵＩ）の画面（モバイル端末画面４００）の一例を示す図である。モバイル端末画面４００は、モバイル端末１００のタッチパネル１０２に表示される。モバイル端末画面４００は、領域４０１にカメラ１０４を用いて取り込んだ画像を表示し、また、画像やＵＩ等に対するユーザーによる操作（ユーザ操作）を受け付ける。シャッターボタン４０２は、カメラユニットから入力された画像を、ＲＡＭ２０２やデータ管理部３０１に保存するためのボタンであり、以下では、保存された画像を撮影画像と呼ぶこととする。ズームボタン４０３は、表示画像の拡縮を行うためのボタンである。ＤＢ照合ボタン４０４は、撮影画像からシリアルＩＤを認識する後述のＯＣＲ処理において、ＤＢ（データベース）照合を利用するか否かを設定するボタンである。
【００２０】
なお、モバイルアプリ３０２のＵＩの形態（位置、大きさ、範囲、配置、表示内容など）は、図に示す形態に限定されるものではなく、モバイル端末１００の機能を実現することができる適宜の構成を採用することができる。
【００２１】
操作情報取得部３０５は、モバイルアプリのＵＩ上で為されたユーザー操作に関する情報を取得し、当該取得した情報をメイン制御部３０３に通知する。例えば、領域４０１をユーザーが手で触れると、操作情報取得部３０５は、触れられた画面上の位置の情報を感知し、感知した位置の情報をメイン制御部３０３に送信する。
【００２２】
画像解析部３０６は、撮影画像を解析して、シリアルＩＤ１０７が記載されていると判定した矩形領域を抽出する。ＯＣＲ部３０７は、画像解析部３０６で抽出した矩形領域から文字画像を切り出し、各文字画像に対して、ＯＣＲ（光学文字認識）処理を行う。ＤＢ部３０８はデータベース機能を有し、あるメーカーで製造され且つ当該現場に納入されているタイヤのシリアルＩＤをマスターデータとしてテーブルで管理する。
【００２３】
当該あるメーカーのタイヤのシリアルＩＤには以下の構成ルール（記載ルール）があるものとする。
【００２４】
（１）シリアルＩＤの文字列は、９桁の英数字で構成される。
（２）１、３、５文字目は英字で記載され、２、４、６〜９文字目は数字で記載される。
【００２５】
上記ルールに当てはまらないシリアルＩＤが記載されている場合は、別のメーカーのタイヤである。またＤＢ部３０８で管理されるシリアルＩＤのマスターデータは、上記ルールに当てはまるメーカーのタイヤであり、他社製タイヤのシリアルＩＤはＤＢ部３０８で管理されていないものとする。
【００２６】
ＤＢ部３０８で管理するシリアルＩＤのマスターデータについて説明する。図５は、本実施形態におけるシリアルＩＤのマスターデータを管理するシリアルテーブルのデータ構造と、該テーブルに保持するシリアルＩＤの一例を示す図である。シリアルテーブル５００は、ｉｄカラムとｓｅｒｉａｌＩＤカラムで構成される。ｉｄカラムは、シリアルテーブル５００にレコードが追加されるたびに１インクリメンタルされる値で、テーブルのＰｒｉｍａｒｙ  ｋｅｙである。ｓｅｒｉａｌＩＤカラムは、各タイヤのシリアルＩＤを格納する。シリアルＩＤの例を５０１から５０４に示し、以下では、シリアルＩＤ例１（５０１）、シリアルＩＤ例２（５０２）、シリアルＩＤ例３（５０３）、シリアルＩＤ例４（５０４）と呼ぶ。
【００２７】
なお、現場では、様々なメーカーのタイヤが使用されている場合があり、これら全てのタイヤを一括して管理することが望まれている。特許文献１のように、文字認識結果をデータベース内の文字列に限定すると、データベースに無い文字列を読み取った場合に誤った認識結果が出力されてしまう。例えば、あるタイヤメーカーのデータベースと照合して文字認識結果を出力するようにしている場合に、他のメーカーのタイヤを読み取ると誤った認識結果が出力されてしまう。そこで、以下で説明するように、本実施形態では、データベースに存在する文字列とデータベースに存在しない文字列とのどちらも読み取る可能性があるような混在環境においても、簡単に文字認識結果を修正できるような構成とする。
【００２８】
＜基本フロー＞
図６を用いて、モバイル端末１００における基本的な処理フローについて説明する。図６のフローは、ユーザーによりモバイル端末１００におけるモバイルアプリ３０２を起動させ、カメラ１０４を用いて被写体１０５の画像を取得することをトリガーに開始する。
【００２９】
Ｓ６０１で、モバイル端末のＣＰＵは、モバイルアプリ３０２を用いて、後述のＳ７０１〜Ｓ７１２で説明するＯＣＲ結果表示処理を行うことにより、シリアルＩＤの文字認識・照合・表示の処理を実行する。
【００３０】
Ｓ６０２で、モバイル端末のＣＰＵは、モバイルアプリ３０２を用いて、後述のＳ９０１〜Ｓ９１３で説明する修正候補表示処理を行い、認識結果のシリアルＩＤの中から選択された文字に対して修正候補を表示する。
【００３１】
Ｓ６０３で、モバイル端末のＣＰＵは、モバイルアプリ３０２を用いて、後述のＳ１１０１〜Ｓ１１０８で説明する修正結果表示処理を行い、シリアルＩＤの文字列に対して修正結果を表示する。
【００３２】
＜ＯＣＲ結果表示処理フロー＞
図７は、Ｓ６０１のＯＣＲ結果表示処理フローの詳細を説明するためのフローチャートである。以下では、シリアルＩＤの文字列画像「Ｂ５Ｌ９Ａ０００１」に対して、一文字毎に文字認識処理して各文字の候補文字を取得し、さらに、ＤＢ部で管理されているマスターデータと照合して、データベースに格納されているデータに限定して文字認識結果を出力した場合が「Ｂ５Ｌ０Ｚ００６１」であった場合を例に以下フローを説明する。
【００３３】
Ｓ７０１で、画像解析部３０６は、カメラユニット１０４およびカメラインターフェース２０６を介して取得した撮影画像（複数の文字画像を含む文字列画像）に対して画像解析部３０６で解析処理を行うことにより、シリアルＩＤ１０７が記載されている矩形領域を認識する。
【００３４】
Ｓ７０２で、画像解析部３０６は、当該認識されたシリアルＩＤ１０７の矩形領域から各文字画像を切り出す処理（文字切り処理）を実行し、１文字毎の矩形領域を認識する。
【００３５】
Ｓ７０３で、メイン制御部３０３は、ＤＢ部にマスターデータが存在するメーカー製のタイヤか否かを判断する。具体的には、切り出した文字画像の数が９文字の場合は、該メーカー製のタイヤである可能性が高いと判断してＳ７０４に遷移し、それ以外の場合はＳ７０５へ遷移する。Ｓ７０５で、モバイルアプリ３０２のメイン制御部３０３は、ＤＢ照合ボタン４０４を自動的にオフにして、Ｓ７１０に遷移する。
【００３６】
Ｓ７０４で、メイン制御部３０３は、ＤＢ照合ボタン４０４がオンに設定されているかどうかを判断し、オンに設定されていればＳ７０６に進み、オフに設定されていればＳ７１０に進む。
【００３７】
Ｓ７０６で、ＯＣＲ部３０７は、予め登録されているシリアルＩＤの構成ルールを読み込む。
【００３８】
Ｓ７０７で、ＯＣＲ部３０７は、当該読み込んだ構成ルールの制約情報に基づいてＯＣＲ処理を行い、各文字の文字認識を行う。ＯＣＲ処理結果は、認識結果文字と、各認識結果文字の確からしさを定量的に表す確信度との対で表現され、確信度の一番高いものが認識結果となる。
【００３９】
Ｓ７０８で、ＯＣＲ部３０７は、切り出された全ての文字画像に対して文字認識処理が終わったか判断し、文字認識処理が終わったと判断した場合はＳ７０９に遷移し、終わっていなければＳ７０７に戻って次の文字画像に対して文字認識処理を実行する。
【００４０】
Ｓ７０９で、ＯＣＲ部３０７は、Ｓ７０７でＯＣＲ処理した結果に基づき、ＤＢ部３０８のシリアルテーブル５００のマスターデータと照合する。ここでは、まず、各文字に対する第１位の認識結果候補文字を組み合わせてシリアルＩＤの認識結果文字列を求め、当該文字列がシリアルテーブル５００に含まれているか照合する。そして、その認識結果の組み合わせの文字列がシリアルテーブル５００にあればＳ７１２に進む。一方、その認識結果の組み合わせの文字列がシリアルテーブル５００に無ければ、Ｓ７０７で求めた各文字に対する第２位以下の認識結果候補文字も用いて、別の組み合わせの文字列を生成し、再度シリアルテーブル５００と照合を行う。シリアルテーブル５００内のマスターデータのいずれかに一致する文字列が見つかるまでこの処理を繰り返す。
【００４１】
Ｓ７１０で、ＯＣＲ部３０７は、各文字の文字認識処理を行う。Ｓ７１１で、ＯＣＲ部３０７は、切り出された全ての文字画像に対して文字認識処理が終わったか判断し、文字認識処理が終わったと判断した場合はＳ７１２に遷移し、終わっていなければＳ７０７に戻って次の文字画像に対して文字認識処理を実行する。全ての文字画像に対して文字認識処理が終わればＳ７１２に遷移し、終わっていなければＳ７１０に遷移する。
【００４２】
Ｓ７１２で、情報表示部３０４は、当該文字認識結果の文字列の表示を行う。図８は、モバイル端末画面４００に文字認識結果をＵＩ表示した一例である。シリアルＩＤ矩形８０１は、Ｓ７０１で画像解析部３０６が認識したシリアルＩＤ１０７の矩形領域をＵＩ表示した例である。文字矩形領域８０２は、Ｓ７０２で切りだした文字画像の各矩形領域をＵＩ表示した例である。認識結果８０３は、Ｓ７１２でＵＩ表示した認識結果文字列の例である。図８の例では、シリアルＩＤの画像８０１「Ｂ５Ｌ９Ａ０００１」に対して、認識結果文字列８０３が「Ｂ５Ｌ０Ｚ００６１」であった場合の例である。認識結果文字列が間違っている場合は、認識結果文字列内の間違っている文字をユーザーがタップして選択し、当該文字を別の文字に修正することが可能である。文字の修正処理の詳細については後述する。戻るボタン８０４は、撮影をやり直す場合に図４のタイヤ撮影画面に戻るためのボタンである。完了ボタン８０５は、認識結果８０３が正しい場合に押すボタンであり、当該認識結果の文字列をタイヤ管理用のデータベースに保存する。なお、完了ボタンが押下され、認識結果文字列をデータベースに保存した後、タイヤ撮影画面に戻ってもよい。
【００４３】
以上のように、タイヤの撮影画像にＯＣＲ結果表示処理フローを行うことで、シリアルＩＤを文字認識し、データベースと照合し、認識結果を表示することが出来る。
【００４４】
＜修正候補表示処理フロー＞
次に、図９を用いて、モバイル端末１００におけるＳ６０２の修正候補表示処理フローの詳細について説明する。本フローは、ユーザーが認識結果文字列８０３の中のいずれかの文字を修正対象文字としてタップ選択するのをトリガーにして開始する。
【００４５】
Ｓ９０１で、モバイルアプリ３０２のメイン制御部３０３は、ＤＢ照合ボタン４０４がオンであるか判定し、オンであると判定した場合はＳ９０２に遷移し、オフであると判定した場合はＳ９１２に遷移する。
【００４６】
Ｓ９０２で、メイン制御部３０３は、操作情報取得部３０５を介して取得したユーザーにより選択された１文字以外の文字が一致するシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断し、あればＳ９０５に遷移し、無ければＳ９０３に遷移する。すなわち、認識結果に対してユーザーが選択した１文字が異なるシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断する。例えば、図８の認識結果の文字列８０３のうち左から４番目の文字がユーザーにより選択されたとする。当該選択された文字を「＊」で表現すると、認識結果の文字列は「Ｂ４Ｌ＊Ｚ０６１」となり、該「＊」以外の文字が一致するシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断する。
【００４７】
Ｓ９０３で、メイン制御部３０３は、ユーザーが選択した１文字と別の１文字との合計２文字以外の文字が一致するシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断し、あればＳ９０５に遷移し、なければＳ９０４に遷移する。すなわち、認識結果に対してユーザーが選択した１文字を含む合計２文字違いのシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断する。
【００４８】
Ｓ９０４で、モバイルアプリ３０２は、ユーザーが選択した１文字と別の２文字との合計３文字以外の文字が一致するシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断し、あればＳ９０５に遷移し、なければＳ９０７に遷移する。すなわち、認識結果に対してユーザーが選択した１文字を含む合計３文字違いのシリアルＩＤがＤＢ部３０８のシリアルテーブル５００にあるか判断する。
【００４９】
なお、本実施例ではＳ９０２〜Ｓ９０４の処理により３文字違いまでチェックする構成としているが、これに限るものではなく、所定の文字数違いのものまでをチェックする構成（例えば、２文字違いまで、もしくは４文字違いまでチェックする構成）としてもよい。
【００５０】
Ｓ９０５で、メイン制御部３０３は、Ｓ９０２〜Ｓ９０４で見つけ出した１〜３文字違いのシリアルＩＤを表示項目リストに追加する。
【００５１】
Ｓ９０６で、メイン制御部３０３は、表示項目リストの上限に達していればＳ９０７へ遷移し、上限に達していなければＳ９０２に戻って他の１〜３文字違いの候補があるかチェックする。本実施例では、表示項目リストの上限は３つとする。なお、Ｓ９０２〜Ｓ９０４のうち、Ｓ９０２での判定を最初に行うようにしているので、１文字違いのものから順に表示項目リストに追加されていくことになる。
【００５２】
Ｓ９０７で、メイン制御部３０３は、表示項目リストに１項目以上追加されているか判断し、１項目以上あればＳ９０８に遷移し、０項目ならばＳ９１１に遷移する。Ｓ９１１で、メイン制御部３０３は、ＤＢ照合ボタン４０４をオフにしてＳ９１２に遷移する。
【００５３】
Ｓ９０８で、メイン制御部３０３は、表示項目リストに基づいて、当該ユーザーにより選択された１文字に対する修正候補文字を表示する。図１０（ａ）が修正候補文字を表示するＵＩ例である。選択領域１００１は、ユーザーが認識結果８０３に対して左から４番目の文字認識結果「０」を修正対象として選択した場合に、当該文字が選択されたことを強調表示していることを示している。認識領域１００２は、選択領域１００１の文字「０」に対応する認識対象となった文字画像領域を強調表示した結果を示している。図５のシリアルテーブルを参照し、Ｓ９０２でユーザーにより選択された１文字が異なるシリアルＩＤ５０３が表示項目リストに追加され、その後、Ｓ９０３で２文字違いのシリアルＩＤ５０４が追加され、さらに、その後、Ｓ９０４で３文字違いのシリアルＩＤ５０１が追加される。そして、各シリアルＩＤの左から４番目の文字を修正候補文字として、表示項目リストに追加された順にしたがって、修正候補文字１００３に「１」、修正候補文字１００４に「８」、修正候補文字１００５に「９」を選択可能な状態で表示する。また、キーボードボタン１００６は、キーボード画面への遷移ボタンを選択可能に表示する。
【００５４】
Ｓ９０９で、メイン制御部３０３は、修正候補文字１００３〜１００５およびキーボードボタン１００６のいずれかに対するユーザーの操作を、操作情報取得部３０５を介して受け付ける。
【００５５】
Ｓ９１０で、メイン制御部３０３は、Ｓ９０９で受け付けた選択操作がキーボードボタン１００６に対する操作であるか判断し、キーボードボタン１００６に対する操作である場合はＳ９１２に遷移し、修正候補文字１００３〜１００５のいずれかに対する操作である場合にはＳ９１４に遷移する。
【００５６】
Ｓ９１２で、メイン制御部３０３は、図１０（ｂ）のようなキーボード１００７を表示し、ユーザーによる入力を受け付ける。キーボードは、ＯＳ標準のキーボードを利用するようにしてよい。
【００５７】
Ｓ９１３で、メイン制御部３０３は、Ｓ９１２でキーボードを用いて入力された文字を用いて、修正対象文字１００１を置換して表示する。
【００５８】
Ｓ９１４で、メイン制御部３０３は、ユーザーにより選択された修正候補文字１００３〜１００５のいずれかを用いて、修正対象文字１００１を置換して表示する。
【００５９】
以上のように、上述の修正候補表示処理フローを行うことで、認識結果の文字列の中から修正対象として選択された文字に対して、データベースを参照して修正候補文字を表示することができる。したがって、データベースで管理されているマスターデータを利用して、ユーザーは誤認識した文字の修正を簡単に行うことができる。また、候補文字とともにキーボードボタンも表示するようにしたので、マスターデータで管理されていない文字列を読み取った場合も、キーボードを用いた修正処理にすぐに移行することが可能になる。
【００６０】
＜修正結果表示処理フロー＞
次に、図１１を用いて、Ｓ６０３の修正結果表示処理フローの詳細について説明する。図１１のフローは、図９の修正候補表示フローでユーザーにより修正対象として選択された１文字が修正された後に実行される表示処理である。
【００６１】
Ｓ１００１で、モバイルアプリ３０２のメイン制御部３０３は、ＤＢ照合ボタン４０４がオンであるか判定し、オンの場合はＳ１１０２に遷移し、オフの場合は処理を終了する。
【００６２】
Ｓ１１０２で、メイン制御部３０３は、修正結果の文字列と一致するシリアルＩＤがシリアルテーブル５００内にあるか判定し、ある場合は処理を終了し、無い場合はＳ１１０３に遷移する。
【００６３】
Ｓ１１０３で、メイン制御部３０３は、図９の処理で修正した文字以外で、シリアルテーブルに１文字違いのシリアルＩＤがあるか判断し、ある場合はＳ１１０４に遷移し、無い場合はＳ１１０５に遷移する。
【００６４】
Ｓ１１０４で、メイン制御部３０３は、当該１文字違いと判定されたシリアルＩＤに基づいて、当該異なると判定された１文字を強調表示する。
【００６５】
Ｓ１１０５で、メイン制御部３０３は、図９の処理で修正した文字以外で、シリアルテーブルに複数文字違いのシリアルＩＤがあるか判断し、ある場合はＳ１１０６に遷移し、ない場合はＳ１１０７に遷移する。
【００６６】
Ｓ１１０６で、メイン制御部３０３は、当該複数文字違いと判定されたシリアルＩＤに基づいて、当該異なると判定された複数文字を強調表示する。例えば、図９の処理により、図１０（ａ）において修正候補文字１００５が選択され、その結果「Ｂ５Ｌ９Ｚ００６１」に修正された場合、Ｓ１１０６の処理により図１２のように複数の文字が強調表示される。すなわち、「Ｂ５Ｌ９Ｚ００６１」をシリアルＩＤ５０１の「Ｂ５Ｌ９Ａ０００１」と比較すると、左から５番目の文字と８番目の文字が未だに異なっている。したがって、図１２の強調表示例１２０１、１２０２のように、「Ａ」と「０」を強調表示することで、それらの文字が間違っている可能性があるとして、ユーザーに注意を促すことができる。
【００６７】
Ｓ１１０７で、メイン制御部３０３は、ダイアログを表示し、図９の処理で修正した文字はシリアルテーブルに無い文字であったことを通知する。図１３（ａ）に、ダイアログ１３０１を用いて通知を行っている例を示す。
【００６８】
Ｓ１１０８で、メイン制御部３０３は、ＤＢ照合ボタンを自動的にオフにする。図１３（ｂ）は、ＤＢ照合ボタン４０４がオフに変更された例を示している。
【００６９】
以上のように、上述の修正結果表示処理フローを行うことで、図９の処理により１文字の修正を行った後に、他に間違っている可能性がある箇所を注意喚起することができる。ユーザーは、その強調表示を確認し、必要に応じて修正することができる。また、撮影した番号がデータベースに無い番号であった場合（他のメーカー製のタイヤなどの場合）も強調表示される可能性は残るが、その場合は、修正を行わずにユーザーが完了ボタン８０５を押すことで、そのままの状態で認識結果の文字列をデータベースに保存することができる。
【００７０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００７１】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
0006679350.tif 000002
【図２】
0006679350.tif 000003
【図３】
0006679350.tif 000004
【図４】
0006679350.tif 000005
【図５】
0006679350.tif 000006
【図６】
0006679350.tif 000007
【図７】
0006679350.tif 000008
【図８】
0006679350.tif 000009
【図９】
0006679350.tif 000010
【図１０】
0006679350.tif 000011
【図１１】
0006679350.tif 000012
【図１２】
0006679350.tif 000013
【図１３】
0006679350.tif 000014