本発明の一実施形態について説明すれば、以下の通りである。なお、本実施の形態では、本発明の情報処理装置を携帯電話として説明する。
図1は、本実施の形態にかかる携帯電話101の概略ブロック図であり、図2は、本実施の形態にかかる携帯電話101における処理流れの概略を示す図である。なお、本実施の形態では、ヨーロッパの12言語に対応して言語設定可能な携帯電話101を想定して説明する。
上記携帯電話101は、図1に示すように、中央制御部1を中心にして、画像入力部2、表示部3、入力操作部4、プログラム格納部5、メモリ6、通信部7が接続された構成となっている。
上記画像入力部2は、携帯電話101に備えられたカメラに相当し、上記入力操作部4と中央制御部1の制御により画像を撮影するものである。
上記表示部3は、例えば液晶表示装置からなり、端末画面に相当するものである。この表示部3には、後述する表示制御プログラム11の制御により、画像や文字が表示されるようになっている。このとき、表示部3に表示される言語は後述する設定情報記憶部21にある設定情報に設定されている言語で行われる。
上記入力操作部4は、携帯電話101の全体、すなわち端末を操作するキー部分に相当するところである。ユーザ(携帯電話101の利用者)は、この入力操作部4を操作することにより、文字の入力や画像の撮影操作を行うようになっている。
また、上記プログラム格納部5には、表示制御プログラム11、文字認識プログラム12、設定変更プログラム13、その他のプログラム14が格納されている。これら各種プログラムは、上記中央制御部1によって必要に応じて実行されるようになっている。
すなわち、中央制御部1によって、表示制御プログラム11を実行することにより、表示部3に表示される表示言語を設定するようになっている。この設定情報は、設定情報記憶部21に格納される。
また、上記中央制御部1は、文字認識プログラム12を実行することにより、入力画像中の文字情報を抽出する文字情報抽出部を果たしている。そして、上記設定情報記憶部21に記憶された設定情報を参照して、上記文字情報抽出部の文字認識範囲を設定する文字認識範囲設定部としての機能も果たしている。
上記表示制御プログラム11は、入力操作部4からの操作内容や文字認識プログラム12の動作結果を、表示部3に表示させるプログラムである。このとき、設定情報記憶部21にある設定内容を参照して表示する言語を決定する。
上記文字認識プログラム12は、後述する画像記憶部22にある画像を対象にして文字認識を行うプログラムである。認識した結果は、上記表示制御プログラム11により表示部3に出力される。文字認識を行う際は、設定情報記憶部21に設定されている言語を参照して認識対象文字や識別キーワードを決定する。
上記設定変更プログラム13は、設定情報記憶部21にある設定情報を変更するためのプログラムである。
また、上記メモリ6には、設定情報記憶部21、画像記憶部22、ワークバッファ23が含まれており、必要に応じて各記憶部にデータが格納される。
上記設定情報記憶部21は、表示制御プログラム11、文字認識プログラム12の動作に関する設定を記憶する記憶部である。具体的には、表示部3で表示される言語が記録されている。この設定情報記憶部21に記憶された内容は、設定変更プログラム13により内容が変更されるようになっている。
上記画像記憶部22は、画像入力部2で撮影された画像が保存される記憶部である。
さらに、ワークバッファ23は、中央制御部1がプログラム格納部5に格納された何れかのプログラムを実行する際に使用するワーク領域である。
上記構成の携帯電話101は、上記画像入力部2から入力された画像情報からテキスト情報(文字等)を認識するOCR(optical character reader)機能を有していいる。このOCR機能によるテキスト情報の認識には、認識対象となるテキスト情報の種類(主に、文字の種類)を設定する必要がある。
図2は、携帯電話101における表示部3の表示画面の言語設定とOCR機能のよる認識文字設定とを連動させた場合の概略を示している。
例えば、入力操作部4を操作することで、画像入力部2を起動させると共に、OCR機能を起動させる。ここでは、画像入力部2を構成する撮像手段(カメラ等)によって、例えば名刺のような紙媒体に書かれた文字を読み込む場合を示している。ここで、表示部3の表示画面の言語設定をスペイン語にするとOCR認識の文字設定がスペイン語になり、さらに、後処理(認識文字の必要部分の抽出処理)の言語設定もスペイン語になる。
つまり、名刺上の認識対象が「Telefon 0123-4567」であった場合、携帯電話101によりスペイン語の電話番号として認識される。後処理において、スペイン語の電話番号のキーワード「Telefon」が除去され、認識結果として電話番号部分が得られる。
また、URL(Uniform Resource Locater)やメールアドレスでは以下のように認識される。
認識前 認識後
Website:http://www.sharp.co.jp/ → http://www.sharp.co.jp/
Mail:aaa@sharp.co.jp → aaa@sharp.co.jp
これらの認識処理、後処理の詳細については後述する。
図3は、OCR機能で使用される文字認識処理を実行するための文字認識プログラム12で使用される認識対象文字のデータ構造を示す図である。つまり、このデータ構造は、文字認識時に認識対象とする文字の設定を示す表である。なお、この表では、ヨーロッパの12カ国のうち、7カ国を示したものとなっている。
この表は、表示制御プログラム11を用いて表示部3に表示される文字の集合とは一部が異なっている。例えば上表では、アーウムラウト(表中でAに(¨)を付したもの、以下「A」と称する)はフランス語では使用されていないが、ドイツ語では使用されており、ドイツと隣接するフランスでも「A」がある文字列を認識する可能性があるため、フランス語の認識対象文字が拡張されている。
つまり、図3に示すデータ構造では、設定情報に対応付けられた文字認識範囲に含まれる文字数が、設定情報に含まれる表示言語に含まれる文字数よりも多くなるように設定されていることを示していることになる。
図3に示すデータ構造において、横には設定情報記憶部21で設定されている、表示部3で表示される言語の種類が示されており、縦には認識対象の文字が示されている。この表の項目に「1」がある場合、その文字は対象言語において、認識対象となることを示す。例えば「A」は表示設定がフランス語とドイツ語の時に認識対象となることを示す。
文字認識プログラム12は、文字認識を行う際に、上表と設定情報記憶部21の内容を参照し、認識対象となる文字を決定して文字認識を行うようになっている。
図4は、OCR機能で使用される文字認識処理を実行するための文字認識プログラム12で使用される識別キーワードのデータ構造を示す図である。
この識別キーワードは、文字認識プログラム12において、認識後の後処理に使用されるものである。この例は各国語の電話番号に現れるキーワードの表である。これらのキーワードを参照して認識したデータが電話番号であると判定したり、認識結果を表示する際にキーワードを除去して表示したりするために使用する。
図4に示すデータ構造において、横には設定情報記憶部21で設定されている、表示部3で表示される言語の種類が示されており、縦にはキーワードが示されている。この表の項目に「1」がある場合、そのキーワードは対象言語において有効となる。例えば、キーワード「Telefon」はドイツ語で、「Telefono」はイタリア語で有効になる。
ここで、設定情報を変更する手順について、図1に示すブロック図および図5に示すフローチャートを参照しながら以下に説明する。
まず、ユーザは、入力操作部4で表示言語変更機能を呼び出す(ステップS1)。この表示言語変更機能は、中央制御部1において実現されるものである。
次に、言語一覧リスト(図示せず)から表示言語を変更する(ステップS2)。ここでは、ステップS1で表示言語の変更指示がある場合のみ実行されるものであり、携帯電話101を起動したときの表示言語設定を維持するときには、このステップS2は省略される。
続いて、設定変更プログラム13が起動する(ステップS3)。
そして、設定変更プログラム13は、設定情報記憶部21に格納された表示言語設定をステップS2で変更された表示言語に変更する(ステップS4)。
次いで、入力操作部4や文字認識プログラム12は変更後の設定情報記憶部21の表示言語設定を参照して動作する(ステップS5)。
つまり、入力操作部4から設定変更操作を行うことにより、設定変更プログラム13から設定情報記憶部21にある表示言語の設定が変更される。そして、表示制御プログラム11や文字認識プログラム12も設定情報記憶部21にある表示言語の設定を参照して動作するため、連動して設定が変わる。
次に、設定情報と連動してキー入力を行う手順について、図1に示すブロック図及び図6に示すフローチャートを参照しながら以下に説明する。
まず、入力操作部4からキー入力を行う(ステップS11)。ここでは、ユーザは、入力操作部を操作して入力したい文字をキー入力する。この文字の入力は、キー入力でなくても他の手段で行ってもよい。
そして、設定情報記憶部の設定を参照する(ステップS13)。すなわち、表示制御プログラム11は、入力操作部4の操作が行われたこと、すなわちキー入力を検知し、現在の表示設定が何語用であるかを設定情報記憶部21の設定を参照する。
次いで、表示される文字が決められる(ステップS14)。そして、キー入力に対応する文字が表示部3に表示される(ステップS15)。すなわち、表示制御プログラム11は、設定内容と入力操作に応じて表示する文字を決定し、表示部3に表示する。
なお、設定変更プログラム13により、表示部3の表示設定が変更された場合は、入力操作部4への入力時に変更された設定を参照し、表示される文字を決定する。
このように、表示制御プログラム11が設定情報を参照してから表示する文字を決定することで表示部3の設定と入力操作部4により入力される文字の設定が連動して変わる。
本実施の形態では、文字認識プログラム12が認識を行うにあたっては、設定情報記憶部21の設定言語を参照して有効な認識対象文字と識別キーワードを決定し、認識結果を決定している。以下に文字認識プログラム12と設定情報記憶部21の設定により、文字認識を行う手順について、図1に示すブロック図及び図7に示すフローチャート参照しながら以下に説明する。
まず、撮影を行う(ステップS21)。ここでは、ユーザが携帯電話101に搭載されたカメラ(画像入力部2)を使用して、例えば図2に示すような名刺を撮影する。
次に、画像保存を行う(ステップS22)。ここでは、中央制御部1が、上記カメラで撮影した名刺の画像情報を画像記憶部22に記憶させる。
続いて、切り出しを行う(ステップS23)。ここでは、上記画像記憶部22に記憶された画像情報から認識対象となる箇所を切り出す処理を行う。この処理は、文字認識プログラム12によって行われる。
次いで、文字認識が行われる(ステップS24)。ここでは、文字認識プログラム12によって、切り出した箇所に対して文字認識処理を施す。
そして、結果保存が行われる(ステップS25)。ここでは、中央制御部1が、文字認識プログラム12によって認識された文字をワークバッファ23に一時的に記憶させる。
上記のように、 図7では、文字認識において、認識対象の撮影開始から、認識までの流れを示している。つまり、認識対象の画像を撮影し、画像を画像記憶部に保存する。「切り出し」では画像の中で認識対象とする行をユーザの操作で決定する。
そして、切り出しを行った結果を文字認識プログラム12で認識する。このとき、設定情報記憶部21の設定言語により、文字認識プログラム12が認識対象文字を切り替えている。そして文字認識プログラム12の認識結果をワークバッファに保存する。
続いて、上記のステップS25以降の処理、すなわち認識結果に対する処理の流れについて、図1に示すブロック図及び図8〜図10に示すフローチャートを参照しながら以下に説明する。ここでの処理は、その他のプログラム14に含まれている後処理用のプログラムによって実行されるものとする。
ここでは、撮影画像から文字認識を行った後、認識文字列を後処理する手順を示す。以下の手順では認識結果をメールアドレス、電話番号、URL、単語に判別し、それらに対応する処理を行う例である。上記4つに分類するのはあくまで例であり、分類内容は上記4種類に限定するものではない。
すなわち、認識後の後処理としてワークバッファ23上の認識結果に対し、メールアドレス、電話番号、URL用の判定ルールにより認識結果の種類を判定する。このとき設定情報記憶部21の設定内容により判定ルールで使用する識別キーワードが変わる。判定結果により、認識結果から識別キーワードを取り除く処理を行う。この処理においても設定情報記憶部21の設定内容により取り除かれる識別キーワードが変わる。
図8に示すフローチャートは、図7に示す処理によって得られた認識結果から、メールアドレス、電話番号、URL、単語の何れであるかを判断する処理の流れを示す。
まず、ステップS26において、メールアドレス用の判定ルールでチェックを行う。このサブルーチンの詳細については後述する。
続いて、上記の処理においてチェックされた結果から、メールアドレスであるか否かを判定する(ステップS27)。ここで、メールアドレスであると判定されれば、ステップS28に移行して、メールアドレス用のキーワード除去処理が実行される。
一方、ステップS27においてメールアドレスでないと判定されれば、電話番号用の判定ルールでチェックを行う(ステップS29)。このサブルーチンの詳細については後述する。
上記の処理においてチェックされた結果から、電話番号である否かを判定する(ステップS30)。ここで、電話番号であると判定されれば、ステップS31に移行して、電話番号用のキーワード除去処理が実行される。
一方、ステップS30において、電話番号でないと判定されれば、URL用の判定ルールでチェックを行う(ステップS32)。このサブルーチンの詳細については後述する。
続いて、上記の処理においてチェックされた結果から、URLであるか否かを判定する(ステップS33)。ここで、URLであると判定されれば、ステップS34に移行して、URL用のキーワード除去処理が実行される。
一方、ステップS33において、URLでないと判定されれば、認識結果は単語であると判定し(ステップS35)、その旨を示した結果表示を表示部3に行わせる(ステップS36)。
なお、ステップS36では、上述したステップS28において、メールアドレス用のキーワード除去処理を実行した結果、ステップS31において、電話番号用のキーワード除去処理を実行した結果、ステップS34において、URL用のキーワード除去処理を実行した結果も表示部3に表示させる。
そして、再撮影するか否かが判定される(ステップS36)。ここでは、例えばユーザに対して、表示部3に再撮影するか否かを促すような表示を行う。
ステップS36において、ユーザが再撮影を行うと判断した場合(再撮影を実行することを示す信号が中央制御部1に入力された場合)には、図7に示すステップS21に移行し、再度、撮影認識処理を実行する。
一方、ステップS36において、ユーザが再撮影を行わないと判断した場合(再撮影を実行しないことを示す信号が中央制御部1に入力された場合)には、図9に示す処理または図10に示す処理が実行される。
ここで、図9は、文字認識を行った後、設定情報記憶部21内の表示部3の表示言語に関する設定とは独立に、認識言語を設定して再度認識を行う場合の処理を示す。
まず、図9において、言語再指定を行うか否かが判断される(ステップS41)。ここでは、ユーザが入力操作部4を操作しキー入力によって言語再指定を行うか否かを判断する。
ステップS41において、言語再指定を行わないと判断されれば、ステップS36で表示した結果を確定し(ステップS42)、処理を終了する。
一方、ステップS41において、言語再指定を行うと判断されれば、表示部3に言語リストを表示する(ステップS43)。この言語リストを見たユーザは、希望する言語を選択する(ステップS44)。ここでの選択は、表示部3に表示された各言語に対応付けられた入力操作部4のキーを入力することにより行われる。このキー入力による信号に基づいて、中央制御部1は、設定情報記憶部21の設定内容を再度書き換える。
上記のように再度言語が選択された後、図7に示すステップS24に移行して、設定された新たな言語に対応して文字認識を行う。
すなわち、図9に示す処理では、認識結果を表示した後、言語再指定が行われると言語リストを表示し、文字認識プログラム12の認識対象文字を変更し、ステップS24に移行する。そして、画像記憶部22の画像に対して再度文字認識を行う。この場合、認識結果の表示だけは選択された言語で行い、それ以外の表示部3の内容は元の言語で表示される。
以上のように、表示言語に関する設定と認識対象の言語が異なっていた場合に認識言語を再指定することでユーザが求める正しい認識が行えるようになる。
また、図10は、文字認識を行った後、設定情報記憶部21内の表示部3の表示言語に関する設定とは独立に、全ての認識対象言語の設定を有効にして再度認識を行う場合の処理を示す。
まず、再認識が必要か否かを判定する(ステップS51)。ここでは、ユーザに、ステップS36において表示された結果から、再認識が必要か否かの選択を促す。そして、ユーザは、入力操作部4のキー入力で再認識が必要であるか否かを選択する。このキー入力からの信号により、中央制御部1は再認識が必要か否かを判定する。
ステップS51において、再認識が必要でないと判断されれば、ステップS36において表示した結果を確定して処理を終了する。
一方、ステップS51において、再認識が必要であると判断されれば、ステップS53において、全設定を有効にし、図7に示すステップS27に移行して、設定された新たな言語に対応して文字認識を行う。
すなわち、認識結果が表示された後、再認識を行うように指示された場合は、文字認識プログラム12の認識対象文字の設定を全て有効にして、ステップS27に移行し、再度文字認識を行う。このとき、認識結果の表示については全ての言語が有効になるようにする。
以上のように、表示言語に関する設定と認識対象の言語が異なっていた場合に認識言語の設定を全て有効にすることで正しい認識が行えるようになる。
続いて、認識文字列の種類を判定する処理、すなわち、図8に示した電話番号の判定ルール処理、URLの判定ルール処理、メールアドレスの判定ルール処理の各サブルーチンについて以下に説明する。
図11は、図8に示すステップS29における電話番号の判定ルール処理のサブルーチンを示している。
まず、認識文字列が、区切り文字で区切られた数字列が定められたパターンか否かが判断される(ステップS61)。ここで、区切り文字で区切られた数字列が定められたパターンであると判断されれば、ステップS65に移行し、認識文字列を電話番号と判定する。
一方、ステップS61において、区切り文字で区切られた数字列が定められたパターンでないと判断されれば、ステップS62に移行して、認識文字列に、指定された長さ以上の数字列があるか否かを判断する。
ステップS62において、認識文字列に、指定された長さ以上の数字列があると判断されれば、ステップS65に移行し、認識文字列を電話番号と判定する。
一方、ステップS62において、認識文字列に、指定された長さ以上の数字列がないと判断されれば、ステップS63に移行して、認識文字列に、識別キーワードを含み、後ろに指定長以上の数字列があるか否かを判断する。
ステップS63において、認識文字列に、識別キーワードを含み、後ろに指定長以上の数字列があると判断されれば、ステップS65に移行し、認識文字列を電話番号と判定する。
一方、ステップS63において、認識文字列に、識別キーワードを含み、後ろに指定長以上の数字列がないと判断されれば、ステップS64に移行して、認識文字列を電話番号と判定しない。
以上の処理の結果、ステップS64からの認識文字列が電話番号でないと判定された信号、あるいはステップS65からの認識文字列が電話番号であると判定された信号の何れかが、判定結果として、文字認識プログラム12に送られることになる。
以上の処理では、電話番号の構造的特徴によるルールや電話番号を示す識別キーワードを使用して認識文字列が電話番号か否かを判定している。番号の構造や識別キーワードは国や言語により異なるため、設定によって区別する必要があり、表示部3の言語設定と連動する利点が得られる。
なお、URLやメールアドレス等他の種類の認識結果についても、構造的な特徴によるルールやURL、メールアドレスを示す識別キーワードにより判定を行う。
図12は、図8に示すステップS32におけるURLの判定ルール処理のサブルーチンを示している。
まず、http://やWWWなどURL特有の文字列が認識文字列にあるか否かが判断される(ステップS71)。ここで、http://やWWWなどURL特有の文字列が認識文字列にあると判断されれば、ステップS74に移行して、認識文字列をURLと判定する。
一方、ステップS71において、http://やWWWなどURL特有の文字列が認識文字列にないと判断されれば、ステップS72に移行して、ドメイン名とピリオドが決められた位置関係にあるか否かが判断される。
ステップS72において、ドメイン名とピリオドが決められた位置関係にあると判断されれば、ステップS74に移行して、認識文字列をURLと判定する。
一方、ステップS72において、ドメイン名とピリオドが決められた位置関係にあると判断されれば、ステップS73に移行して、認識文字列をURLと判定しない。
以上の処理の結果、ステップS73からの認識文字列がURLでないと判定された信号、あるいはステップS74からの認識文字列がURLであると判定された信号の何れかが、判定結果として、文字認識プログラム12に送られることになる。
以上の処理では、URLではhttp://やWWWなどの特徴的な文字列や、予め定められたドメイン名とピリオドの組み合わせなど、構造的な特徴があるため、認識文字列中からそれらの有無を検索して判定している。
図13は、図8に示すステップS26におけるメールアドレスの判定ルール処理のサブルーチンを示す。
まず、設定情報記憶部21において設定された言語がギリシャ語か否かが判断される(ステップS81)。ここで、言語設定がギリシャ語であると判断されれば、ステップS82に移行して、「@」が認識文字列中に一つだけあり、その後ろにピリオドがあるという条件を満たしているか否かが判断される。
ステップS82において、「@」が認識文字列中に一つだけあり、その後ろにピリオドがあるという条件を満たしていないと判断されれば、ステップS83に移行して、認識文字列をメールアドレスと判定しない。
一方、ステップS82において、「@」が認識文字列中に一つだけあり、その後ろにピリオドがあるという条件を満たしていると判断されれば、ステップS86に移行して、認識文字列をメールアドレスと判定する。
さらに、上述したステップS81において、言語設定がギリシャ語でないと判断されれば、ステップS84に移行し、認識文字列の指定された範囲に「@」があり、その後ろにピリオドがあるという条件を満たしているか否かが判断される。
ステップS84において、認識文字列の指定された範囲に「@」があり、その後ろにピリオドがあるという条件を満たしていれば、ステップS86に移行して、認識文字列をメールアドレスと判定する。
一方、認識文字列の指定された範囲に「@」があり、その後ろにピリオドがあるという条件を満たしていないと判断されれば、ステップS85に移行し、認識文字列の指定された範囲内に「@」があるか否かが判断される。
ステップS85において、認識文字列の指定された範囲内に「@」があると判断されれば、ステップS86に移行して、認識文字列をメールアドレスと判定する。
一方、ステップS85において、認識文字列の指定された範囲内に「@」がないと判断されれば、ステップS87に移行して、認識文字列をメールアドレスと判定しない。
以上の処理の結果、ステップS83およびステップS87からの認識文字列がメールアドレスでない判定された信号、あるいはステップS86からの認識文字列がメールアドレスであると判定された信号の何れかが、判定結果として、文字認識プログラム12に送られることになる。
上記の処理によれば、メールアドレスでは、「@」が必ず存在し、かつピリオドがあるため、それらの構造的な特徴の有無でメールアドレスか否かを判定することが可能となる。ここで、ギリシャ語を別扱いにしているのは、「Θ」など「@」と類似の文字が多く、同じルールでは判定の精度が落ちるためである。
このように、各判定ルール処理は認識文字列を対象に行われるので、それぞれの処理を単独で行うことが可能となっている。このため、各判定ルール処理を実行する順番は、図8に示すように、メールアドレス用の判定ルール処理、電話番号用の判定ルール処理、URL用の判定ルール処理の順番に限定されない。例えば、電話番号用の判定ルール処理の後に、メールアドレス用の判定ルール処理、URL用の判定ルール処理の順に実行してもよいし、URL用の判定ルール処理の後に、メールアドレス用の判定ルール処理、電話番号用の判定ルール処理の順に実行してもよい。
図14は、キーワード除去処理の例を示すフローチャートである。ここでは、電話番号の例を示すが、他の分類の場合も同様である。ここでの例では、認識文字列が電話番号と判定されると、結果として得たいのは番号部分であり、その他の部分は表示される必要はないので、余分な部分を削除する動作を定義している。
以下に概略で示したスペイン語の場合の例を示す。つまり、設定情報記憶部21において格納されている設定情報がスペイン語である。
まず、文字認識プログラム12がスペイン語の設定になる(ステップS91)。ここでは、中央制御部1によって、文字認識プログラム12を実行する際に、設定情報記憶部21の設定情報(スペイン語に設定された情報)を参照することにより、該文字認識プログラム12がスペイン語に設定される。
次いで、識別キーワードからスペイン語のものを取り出す(ステップS92)。ここでは、中央制御部1によって、設定情報記憶部21に記憶されているスペイン語に対応した識別キーワードが取り出される。この識別キーワードは、ワークバッファ23に一時的に格納され、必要に応じて処理に使用される。
続いて、取り出した識別キーワードが認識文字列にあるか検索する(ステップS93)。
ステップS93において検索した結果、識別文字列に識別キーワードがあるか否かが判断される(ステップS94)。ここで、識別キーワードがないと判断されれば、ステップS99に移行して、識別文字列を認識結果として出力する。ここで、認識結果は、表示部3に表示される。
一方、ステップS94において、識別キーワードがあると判断されれば、ステップS95に移行して、識別キーワードが認識結果(認識文字列)の前にあるか否かが判断される。
ステップS95において、識別キーワードが認識結果の前にあると判断されれば、識別キーワードと識別キーワードより前の部分を削除し(ステップS96)ステップS97に移行する。ここでは、認識文字列のうち、識別キーワードが識別文字列の前にあれば、該識別キーワードを含めて前の部分が不要なので、削除している。
一方、ステップS95において、識別キーワードが認識結果の前にないと判断されれば、ステップS97に移行して、識別キーワードが認識結果の後にあるか否かが判断される。
ステップS97において、識別キーワードが認識結果の後にあるか否かが判断される。ここで、識別キーワードが認識結果の後にあると判断されれば、識別キーワードと識別キーワードより後の部分を削除し(ステップS98)、ステップS99に移行して、識別キーワード削除した識別文字列を識別結果として出力する。ここで、識別結果は、表示部3に出力される。
一方、ステップS97において、識別キーワードが認識結果の後にないと判断されれば、ステップS99に移行し、ステップS97の状態の認識文字列を認識結果として出力する。この認識結果は、表示部3に出力される。
上述の手順により、概略例に示した、キーワード「Telefon」の除去が行われる。識別キーワードから、現在の言語設定に合うキーワードだけ取り出して使用することで、言語設定と関係のない言語のキーワードでマッチして、不適当な削除が行われないようにしている。
不適当な削除とは、例えばイタリア語の電話番号として「Telefono 1234-5678」を認識した際に、ドイツ語の識別キーワード「Telefon」を適用してキーワードの除去を行ってしまうと、「o」が番号の前に残り、電話番号として「o」が「0」とみなされ、正しい番号の前に余分な数字「0」が付いてしまう場合が一例である。
上記構成の携帯電話101は、以上のように入力画像から文字情報を抽出する文字情報抽出部(文字認識プログラム12)を有する情報処理装置であって、複数種類の言語が表示可能な表示部3と、上記表示部3に表示される表示言語を設定する表示言語設定部(表示制御プログラム11)と、上記表示言語設定部による表示言語の設定情報を記憶する設定情報記憶部21と、上記設定情報記憶部に記憶された設定情報を参照して、上記文字情報抽出部の文字認識範囲を設定する文字認識範囲設定部(中央制御部1)とを備えていることを特徴としている。
上記の構成によれば、文字情報抽出部を実行する際に使用される文字認識範囲を設定する文字認識範囲設定部が、表示部における表示言語の設定情報を参照して上記文字認識範囲を設定するようになっている。つまり、表示部における表示言語の設定に連動して、文字情報抽出部における文字認識範囲が設定される。ここで、上記文字情報抽出部としては、例えば、OCR(optical character reader)がある。
これにより、ユーザは、表示部の表示言語の設定を変更するだけで、文字情報抽出部における文字認識範囲を設定する必要が無くなる。つまり、文字情報抽出部(文字認識プログラム12)で使用する文字認識範囲をユーザが意識する必要が無くなる。
従って、ユーザにとって、操作性のよい情報処理装置を提供することが可能となる。
上記文字認識範囲設定部(中央制御部1)は、上記文字情報抽出部(文字認識プログラム12)の文字認識範囲を、上記設定情報記憶部21に記憶された設定情報に対応付けられた文字認識範囲に設定するようにしてもよい。
この場合、表示部の表示言語と、文字情報抽出部(文字認識プログラム12)の文字認識範囲とが対応するようになっているので、表示言語と文字認識範囲とが対応していない場合のような違和感をユーザが憶えることが無くなる。従って、ユーザの操作性を向上させることができる。
上記設定情報に対応付けられた文字認識範囲に含まれる文字数は、設定情報に含まれる表示言語に含まれる文字数よりも多くすることにより、より正確に文字認識を行うことが可能となる。例えば、ある言語に含まれる文字のみを認識対象とした場合では、当該言語以外の言語あるいは特殊文字等を適切に認識することができない。そこで、上記のように文字認識範囲を、表示言語に含まれる文字に加えて、使用が想定されている文字を含めるように設定すれば、より正確に文字認識を行うことが可能となる。
また、文字入力のための入力操作部4と、上記入力操作部4における入力可能文字を設定する入力可能文字設定部(中央制御部1)とを備え、上記入力可能文字設定部(中央制御部1)は、上記入力操作部4による入力可能文字を、上記設定情報記憶部21に記憶された設定情報に対応付けられた入力可能文字に設定するようにしてもよい。
この場合、入力操作部4においても、表示部3の表示言語の設定情報に関連付けられて入力可能文字が設定されることになるので、入力可能な文字と、文字情報抽出部(文字認識プログラム12)で認識可能な文字が対応するようになり、この結果、ユーザが混乱することなく文字入力を行うことができる。
また、上記文字情報抽出部(文字認識プログラム12)により抽出した文字情報を分類または判定を行う分類・判定部(その他のプログラム14)と、上記分類・判定部による分類・判定基準となる判断基準を設定する判断基準設定部(中央制御部1)とを備え、上記判断基準設定部(中央制御部1)は、上記判断基準を、上記設定情報記憶部21に記憶された設定情報に対応付けられた判断基準に設定するようにしてもよい。
この場合、分類・判定基準となる判断基準が、表示部の表示言語の設定情報に対応付けられているので、抽出した文字情報の分類・判定を表示言語に応じて適切に行うことができる。
さらに、上記文字認識範囲設定部(中央制御部1)によって設定された文字認識範囲を変更する設定変更部(設定変更プログラム13)を有していてもよい。
この場合、設定された表示言語と、文字認識範囲設定部によって設定された文字認識範囲との関連付けが低いときに、文字認識範囲の設定を変更することが可能となるので、ユーザが求める正しい文字情報の認識を行うことが可能となる。
上記設定変更部(設定変更プログラム13)は、設定された文字認識範囲を、上記設定情報記憶部21に記憶された全ての言語における設定情報に関連付けて設定変更するようにしてもよい。
この場合、文字認識範囲を全ての言語に関連付けたものとすることで、より正しい文字情報の認識を行うことが可能となる。
本発明は、表示部、画像入力部、OCR機能を持ち、複数の言語に対応する端末において、表示部の言語設定を変えると他の部分の設定も連動して変更され、個別に設定を変更しなくてもよい発明である。
それゆえ、設定変更プログラムにより、設定情報記憶部内の設定情報を変更すると、それに連動して同じ情報を参照して動作する文字認識プログラムの認識対象文字の設定が表示部の設定変更に合わせて変わる。この効果は、以下の通りである。
表示部の表示言語設定を変えるだけで、OCRの認識対象の設定がその言語に合った文字を認識するように設定が自動的に変わるため、いちいちOCRの設定をユーザが変える必要がない。また、OCRの認識対象文字を制限することで認識精度が向上する。
また、設定変更プログラムにより、設定情報記憶部内の設定情報を変更すると、それに連動して同じ情報を参照して動作する入力操作部から入力可能な文字の設定と、文字認識プログラムの認識対象文字の設定が表示部の設定変更に合わせて同時に変わる。この効果は、以下の通りである。
表示部の表示言語設定を変えるだけで、キー入力で入力できる文字の設定とOCRの認識対象の設定がその言語に合うように設定が自動的に変わるため、いちいちOCRの設定をユーザが変える必要がない。また、キー入力可能な文字とOCR認識可能な文字が対応しているため、ユーザが混乱することがない。
設定変更プログラムにより、設定情報記憶部内の設定情報を変更すると、それに連動して設定情報記憶部内の、文字認識プログラムの認識対象文字の設定と判定・分類等に用いるキーワードの言語設定が表示部の設定変更に合わせて変わる。この効果は、以下の通りである。
表示部の表示言語設定を変えるだけで、OCRの認識対象の設定と後処理の設定がその言語に合った文字を認識するように設定が自動的に変わるため、いちいちOCRの設定をユーザが変える必要がない。キーワードが各国語毎に設定されることにより、メール、URL等を分類するモード分類の精度が向上するとともに、ユーザが入力したい文字をより適切に判定できる。
設定変更プログラムにより、設定情報記憶部内の表示部の表示言語に関する設定を変更すると、それに連動して設定情報記憶部内の、入力操作部から入力可能な文字の設定と文字認識プログラムの認識対象文字の設定と判定・分類等に用いるキーワードの言語設定が表示部の設定変更に合わせて変わる。この効果は、以下の通りである。
表示部の表示設定を変えるだけで、キー入力で入力する文字の設定とOCRの認識対象の設定がその言語に合った文字を認識するように設定が自動的に変わるため、いちいちOCRの設定をユーザが変える必要がない。
本発明の情報処理装置は、文字認識を行った後、設定情報記憶部内の表示部の表示言語に関する設定とは独立に、認識言語を設定して再度認識を行うことが可能な端末であってもよい。
この場合、表示言語に関する設定と認識対象の言語が異なっていた場合に認識言語を再指定することでユーザが求める正しい認識が行えるようになる。
さらに、本発明の情報処理装置は、文字認識を行った後、設定情報記憶部内の表示部の表示言語に関する設定とは独立に、全ての認識対象言語の設定を有功にして再度認識を行うことが可能な端末であってもよい。
表示言語に関する設定と認識対象の言語が異なっていた場合に認識言語の設定を全て有効にすることで正しい認識が行えるようになる。
また、本発明の情報処理装置は、入力画像から文字情報を抽出する文字情報抽出部を有する情報処理装置であって、複数種類の言語が表示可能な表示部と、上記表示部に表示される表示言語を設定する表示言語設定部と、設定された表示言語を参照して、上記文字情報抽出部の文字認識範囲を設定する文字認識範囲設定部とを備えていてもよい。
つまり、設定情報記憶部21に記憶された設定情報を参照するだけでなく、設定された表示言語を参照して文字情報抽出部の文字認識範囲を設定するようにしてもよい。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
なお、上記実施形態の情報処理装置の各部や各処理ステップは、CPUなどの演算手段が、ROM(Read Only Memory)やRAMなどの記憶手段に記憶されたプログラムを実行し、キーボードなどの入力手段、ディスプレイなどの出力手段、あるいは、インターフェース回路などの通信手段を制御することにより実現することができる。したがって、これらの手段を有するコンピュータが、上記プログラムを記録した記録媒体を読み取り、当該プログラムを実行するだけで、本実施形態の情報処理装置の各種機能および各種処理を実現することができる。また、上記プログラムをリムーバブルな記録媒体に記録することにより、任意のコンピュータ上で上記の各種機能および各種処理を実現することができる。
この記録媒体としては、マイクロコンピュータで処理を行うために図示しないメモリ、例えばROMのようなものがプログラムメディアであっても良いし、また、図示していないが外部記憶装置としてプログラム読取り装置が設けられ、そこに記録媒体を挿入することにより読取り可能なプログラムメディアであっても良い。
また、何れの場合でも、格納されているプログラムは、マイクロプロセッサがアクセスして実行される構成であることが好ましい。さらに、プログラムを読み出し、読み出されたプログラムは、マイクロコンピュータのプログラム記憶エリアにダウンロードされて、そのプログラムが実行される方式であることが好ましい。なお、このダウンロード用のプログラムは予め本体装置に格納されているものとする。
また、上記プログラムメディアとしては、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスクやCD/MO/MD/DVD等のディスクのディスク系、ICカード(メモリカードを含む)等のカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にプログラムを担持する記録媒体等がある。
また、インターネットを含む通信ネットワークを接続可能なシステム構成であれば、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する記録媒体であることが好ましい。
さらに、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め本体装置に格納しておくか、あるいは別な記録媒体からインストールされるものであることが好ましい。