(57)【要約】【課題】画像データに含まれる文字列の翻訳の失敗を低減する。【解決手段】翻訳部（１３）が翻訳に失敗した場合、翻訳履歴抽出部（１６）が、該翻訳に失敗した文字列と類似した文字列を、過去に翻訳に成功した文字列が格納されている翻訳成功履歴（２３）から抽出し、表示制御部（１７）が、該類似した文字列と対応する翻訳結果を、翻訳に失敗した文字列の翻訳として表示する。【選択図】図１
2015106183.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに含まれる文字列を翻訳し、翻訳結果を表示する翻訳装置であって、
上記画像データから検出された文字列の翻訳の成否を判定する判定手段と、
上記判定手段が、上記翻訳が成功したと判定した場合、上記文字列と翻訳結果とを対応付けて記憶部に記憶させる記憶制御手段と、
上記判定手段が、上記翻訳が失敗したと判定した場合、上記文字列と類似した文字列を上記記憶部から抽出する抽出手段と、
上記抽出手段が抽出した上記類似した文字列と対応する翻訳結果を、上記検出された文字列の翻訳結果として表示する表示制御手段とを備えることを特徴とする翻訳装置。
【請求項２】
上記記憶制御手段は、さらに、上記文字列と、上記抽出手段により該文字列が抽出された抽出回数とを対応付けて上記記憶部に記憶させることを特徴とする請求項１に記載の翻訳装置。
【請求項３】
上記記憶部が格納可能な、上記文字列と上記翻訳結果と上記抽出回数との組の数には上限値があり、
上記記憶部に格納されている上記組の数が上記上限値に達している場合、上記記憶制御手段は、上記抽出回数が最も少ない組を上記記憶部から削除した後、新たに翻訳が成功した上記文字列と上記翻訳結果とを対応付けて上記記憶部に記憶させることを特徴とする請求項２に記載の翻訳装置。
【請求項４】
上記記憶制御手段は、上記文字列と上記翻訳結果とを対応付けて上記記憶部に記憶させた回数を計数し、該回数が所定値を超えたとき、当該文字列と対応付けられた上記抽出回数の値を減らすことを特徴とする請求項２または３に記載の翻訳装置。
【請求項５】
入力された画像データに含まれる文字列を翻訳し、翻訳結果を表示する翻訳装置の制御方法であって、
上記画像データから検出された文字列の翻訳の成否を判定する判定ステップと、
上記判定ステップにおいて、上記翻訳が成功したと判定した場合、上記文字列と翻訳結果とを対応付けて記憶部に記憶させる記憶制御ステップと、
上記判定ステップにおいて、上記翻訳が失敗したと判定した場合、上記文字列と類似した文字列を上記記憶部から抽出する抽出ステップと、
上記抽出ステップにおいて抽出した上記類似した文字列と対応する翻訳結果を、上記検出された文字列の翻訳結果として表示する表示制御ステップとを含むことを特徴とする翻訳装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに含まれる文字列を翻訳する翻訳装置および翻訳装置の制御方法に関する。
【背景技術】
【０００２】
カメラの動画撮影モードで撮影されている画像中に含まれている文字列を文字認識（ＯＣＲ：optical character recognition）で認識して抽出し、抽出された文字列を翻訳した結果を、リアルタイムに画面に表示させる技術が知られている。
【０００３】
特許文献１には、撮影部で撮影された文書や看板などに含まれる文字列を抽出し、抽出した文字列を、翻訳後、元の文字列を置換して、あるいは元の文字列に重畳して表示部に表示するカメラが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１３４１４４号公報（２０１１年  ７月  ７日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述のような従来技術は画像中の文字列の抽出に失敗した場合、適切に翻訳できないという問題がある。例えば、画像中の文字認識を行うＯＣＲが認識した文字列が適切ではない場合、抽出された文字列に誤りが含まれることになり、画像に含まれる文字列が適切に翻訳できない。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、画像に含まれる文字列を適切に認識できなかった場合でも、適切な翻訳を表示することができる翻訳装置等を提供することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一態様に係る翻訳装置は、入力された画像データに含まれる文字列を翻訳し、翻訳結果を表示する翻訳装置であって、上記画像データから検出された文字列の翻訳の成否を判定する判定手段と、上記判定手段が、上記翻訳が成功したと判定した場合、上記文字列と翻訳結果とを対応付けて記憶部に記憶させる記憶制御手段と、上記判定手段が、上記翻訳が失敗したと判定した場合、上記文字列と類似した文字列を上記記憶部から抽出する抽出手段と、上記抽出手段が抽出した上記類似した文字列と対応する翻訳結果を、上記検出された文字列の翻訳結果として表示する表示制御手段とを備える。
【発明の効果】
【０００８】
本発明の一態様によれば、画像データに含まれる文字列の翻訳を失敗した場合であっても、該文字列と類似した文字列を過去に翻訳した履歴を利用して、翻訳結果として適切と考えられるものを表示することができる。よって、翻訳が失敗した場合であっても、ユーザに対しては適切な翻訳結果を提示することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係る翻訳装置の概略構成例を示すブロック図である。
【図２】図１に示す翻訳成功履歴のデータ構造の一例を示す図である。
【図３】上記翻訳装置の動作の概略を説明するための図である。
【図４】上記翻訳装置が行う処理の流れの一例を示すフローチャートである。
【図５】翻訳結果を保存する処理を説明するための図である。
【図６】図４に示す保存処理の詳細な処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
〔実施形態１〕
本発明の実施の形態について、図１〜図６に基づいて説明すれば、以下のとおりである。まず、携帯端末１０を例に挙げて、本発明に係る翻訳装置１の概略構成例について、図１を用いて説明する。図１は、本発明の実施形態１に係る翻訳装置１の概略構成例を示すブロック図である。なお、携帯端末１０は、操作入力部、通信部などを備えてもよいが、本発明の特徴点に直接関係しないので、これらの説明は省略する。
【００１１】
（携帯端末１０の構成例）
本発明の一実施形態において、携帯端末１０は翻訳装置１、カメラ３、および表示装置４を備えている。カメラ３は、デジタルカメラ、またはデジタルビデオカメラであり、撮像した静止画像、または動画像の画像データを翻訳装置１へと出力する。表示装置４は、翻訳装置１から取得した画像データおよび文字列データなどを画面に表示するための装置である。なお、カメラ３および表示装置４が翻訳装置１との間で画像データなどの情報を送受信可能な通信機能（図示せず）を備え、カメラ３と翻訳装置１、および翻訳装置１と表示装置４をそれぞれ異なる位置に存在する構成であってもよい。また、表示装置４は、その表示画面にタッチパネルを重畳して、表示画面の一部または全体が、該表示画面に対するユーザによるタッチ操作を受け付ける操作入力部として機能するように構成してもよい。
【００１２】
（翻訳装置１の構成例）
翻訳装置１は、記憶部２、画像取得部１１、文字列検出部１２、翻訳部１３、成否判定部（判定手段）１４、記憶制御部（記憶制御手段）１５、翻訳履歴抽出部（抽出手段）１６、および表示制御部（表示制御手段）１７を備えている。
【００１３】
記憶部２は、画像２１、辞書２２、および翻訳成功履歴２３を格納する記憶装置である。画像２１は、画像取得部１１が取得した画像データである。辞書２２は、各種の電子的な辞書である。ここで、各種の辞書とは、各国の単語や文章を翻訳するために必要な情報を記憶する辞書および辞典であり、例えば、語学辞書、国語辞典、地名辞典、ことわざ辞典、俗語辞典、類語辞典などである。翻訳成功履歴２３には、文字列と翻訳結果と翻訳履歴抽出部１６により抽出された抽出回数との組が格納されている。この翻訳成功履歴２３のデータ構造については、後述する。
【００１４】
画像取得部１１は、カメラ３から出力された画像データを取得する。なお、画像取得部１１が取得する画像データはカメラ３から出力される画像データに限定されない。例えば、画像取得部１１は画像２１に記憶された画像データを読み出してもよい。また、放送局から放送波によって配信される放送番組の画像データ、およびインターネットなどの通信ネットワークを介して取得または受信される動画ファイルなどの映像の画像データであってもよい。
【００１５】
文字列検出部１２は、画像取得部１１から出力される画像データに含まれる文字列を認識して検出する。文字列検出部１２は、例えば、光学式文字読み取り装置（ＯＣＲ：optical character recognition）である。文字列検出部１２は、検出された文字列をテキスト形式のデータに変換してもよい。
【００１６】
翻訳部１３は、文字列検出部１２から出力された文字列（翻訳前文字列）について、辞書２２に格納されている辞書を検索して、該文字列に対応する翻訳（翻訳後文字列）を決定し、成否判定部１４へと出力する。なお、以下では、「翻訳処理」という文言を使用する場合があるが、これは翻訳を行う処理を指している。
【００１７】
成否判定部１４は、画像データから検出された文字列の翻訳の成否を判定する。ここで、画像データから検出された文字列の翻訳が失敗した例としては、翻訳後文字列の中に翻訳前文字列が含まれている場合が挙げられる。例えば、文字列検出部１２が、画像データに含まれる文字列「I have a pen」の「pen」を「pel」として誤認識した場合、翻訳部１３は、検出された文字列「I have a pel」に対応する翻訳として、「私はpelを持っている」という翻訳後文字列を出力する。このように、誤認識された文字列の翻訳では、翻訳前文字列が翻訳後文字列中に残存しているか否かによって該翻訳の成否が判断され得る。ただし、数字など翻訳によって変化しない文字列は、この判定方法から除くことが望ましい。なお、翻訳の成否の判定には、既知の様々な翻訳アプリなどが備える判定方法が適用可能であり、翻訳する言語間の文字列の特質にあわせて適宜好適な判定方法を用いることができる。
【００１８】
記憶制御部１５は、成否判定部１４が、翻訳が成功したと判定した場合、上記文字列と翻訳結果とを対応付けて記憶部２に保存する。より具体的には、翻訳に成功している場合、記憶制御部１５は、翻訳に成功した翻訳前文字列と、翻訳後文字列とを対応付けて、翻訳成功履歴２３に保存する。さらに、記憶制御部１５は、文字列と、該文字列の翻訳結果と、翻訳履歴抽出部１６により該文字列が抽出された回数（抽出回数）とを対応付けて翻訳成功履歴２３に記憶させる。なお、記憶制御部１５が翻訳成功履歴２３に、翻訳に成功した翻訳結果を保存する処理については、後述する。
【００１９】
翻訳履歴抽出部１６は、上記判定手段が、上記翻訳が失敗したと判定した場合、上記文字列と類似した文字列を上記記憶部から抽出する。類似した文字列の抽出には、類似度を利用することができる。類似度とは、比較する２つの文字列を等しくするために必要な手順の最少回数（編集距離とも呼ばれる）を求めて、この最少回数がもっとも少ない文字列同士の類似度が最も高いと判定してもよい。なお、手順とは、各文字の置き換え、挿入、および削除などである。具体的には、レーベンシュタイン距離、またはジャロ・ウィンクラー距離などの、類似度を判定する公知の方法を適用することができる。
【００２０】
表示制御部１７は、上記抽出手段が抽出した上記類似した文字列と対応する翻訳結果を、上記検出された文字列の翻訳として表示する。この際、画像取得部１１から画像データを取得して、該画像の中に、翻訳した結果の文字列を重ね合わせて表示するように表示装置４を制御してもよい。
【００２１】
（翻訳成功履歴２３のデータ構造）
次に、翻訳成功履歴２３に保存（格納）されるデータの構造について、図２を用いて説明する。図２は、図１に示す翻訳成功履歴２３のデータ構造の一例を示す図である。翻訳成功履歴２３には、文字列と翻訳結果と翻訳履歴抽出部１６により抽出された抽出回数との組が格納されている。また、図２に示す例では、各文字列と翻訳結果との対応付けに対して、個別の識別情報であるインデックスが割り当てられている。
【００２２】
翻訳部１３が文字列の翻訳処理を行い、その翻訳結果を成否判定部１４が失敗と判定した場合、翻訳履歴抽出部１６は、翻訳部１３が翻訳した該文字列に類似する文字列を、翻訳成功履歴２３に保存されている全インデックスの翻訳前文字列の中から抽出する。
【００２３】
（翻訳装置１を用いた翻訳の例）
ここでは、携帯端末１０の翻訳装置１が画像データに含まれる英語を日本語へと翻訳する例を挙げて説明する。図３は、翻訳装置１の動作の概略を説明する説明図である。なお、翻訳装置１は、辞書２２に適切な辞書類を格納することで、英語から日本語への翻訳に限定されず、任意の言語間の翻訳を行うことができる。
【００２４】
文字列検出部１２が画像データに含まれる文字列を検出した結果が「I play tenis」という文字列であった場合、「tenis」という文字列は辞書２２に格納されている英和辞典などには存在しないので、翻訳部１３はこの「tenis」を翻訳することができず、「私はtenisをする」という翻訳結果を成否判定部１４へと出力する。翻訳できなかった文字列「tenis」がそのまま翻訳結果に含まれているので、成否判定部１４は、この翻訳を失敗と判定する。
【００２５】
翻訳履歴抽出部１６は、成否判定部１４から翻訳を失敗したという情報、および、翻訳を失敗した文字列「I play tenis」を受け取る。そして、翻訳履歴抽出部１６は、翻訳成功履歴２３に保存されている、過去に翻訳に成功した文字列を検索し、その中から、「I play tenis」に類似する文字列「I play tennis」を抽出する。文字列「I play tenis」と文字列「I play tennis」は、「tenis」に１文字「ｎ」を挿入するという１回の編集処理だけで互いに等しい文字列になるため、非常に類似している。そこで、翻訳履歴抽出部１６は、翻訳成功履歴２３に保存されている、文字列「I play tennis」を翻訳した「私はテニスをする」を表示制御部１７へと出力する。そして、表示制御部１７は、入力された文字列「私はテニスをする」を、画像データから文字列検出部１２が検出した文字列の翻訳として表示するように、表示装置４を制御する。
【００２６】
上記のように、翻訳装置１は、画像データからの文字列に対応する翻訳結果を表示する場合に、翻訳成功履歴２３に保存されている、過去に翻訳を成功した文字列と翻訳結果とに関する情報を利用して、画像データから検出された文字列に対する翻訳として表示する。これにより、画像データからの文字列の検出が正しく行われず、翻訳処理に失敗した場合であっても、該文字列と類似する文字列に対する過去の翻訳結果を利用して、適切と考えられる翻訳を表示することができる。よって、画像データに含まれる文字列の翻訳が失敗しても、適切な翻訳を提示することができる。
【００２７】
なお、翻訳装置１は、図３に示すように、単語に限らず文章翻訳に対しても、翻訳に失敗した文字列の翻訳として適切と考えられる翻訳を表示することができる。
【００２８】
また、翻訳の失敗を結果的に減らすことにより、翻訳の成功と失敗とが連続することにより表示画面がちらついてしまうことを防止することができる。例えば、画像データから文字列を認識して検出するＯＣＲ処理が安定しない場合、文字列の検出が正確に行われないことに起因する翻訳の失敗が生じる。例えば、「私はtenisをする」と「私はテニスをする」とが同じ表示位置に交互に表示されると、特に「tenis」と「テニス」とが表示される位置などにおいてちらつきが生じ、翻訳を視認することが困難になる。しかしながら、上記のように、翻訳に失敗した「私はtenisをする」の代わりとして、過去の翻訳結果を利用して「私はテニスをする」を表示させることによって、この表示のちらつきも防ぐことができる。
【００２９】
（翻訳装置１の処理の流れ）
ここでは、翻訳装置１が画像データに含まれる文字列の翻訳を表示装置４に表示する処理の流れについて、図４を用いて説明する。図４は、図１に示す翻訳装置１が行う処理の流れの一例を示すフローチャートである。
【００３０】
カメラ３によって撮像された画像データを画像取得部１１が取得すると（Ｓ１）、文字列検出部１２は、ＯＣＲ処理などによって文字認識を行い、該画像データに含まれる文字列を、翻訳対象として検出する（Ｓ２）。なお、画像取得部１１が動画像であれば、文字列検出部１２はカメラ３から次々と出力される各フレーム画像について文字列の認識、検出を行う。
【００３１】
Ｓ２において検出された文字列は、次に、翻訳部１３へと出力され、翻訳部１３は、入力される文字列の翻訳を行う（Ｓ３）。成否判定部１４は翻訳部１３が行った翻訳処理において、文字列に翻訳できない文字列（図３に示す例では、「tenis」がこれに該当）があるか否かを判定し、各翻訳が成功したか否かを判定する（Ｓ４：判定ステップ）。
【００３２】
翻訳できない文字列がない場合（Ｓ４においてＮＯ）、すなわち、翻訳に成功している場合、記憶制御部１５は、この翻訳前文字列と、翻訳後文字列とを対応付けて、翻訳成功履歴２３に保存する（Ｓ５：記憶制御ステップ）。また、翻訳後文字列は、成否判定部１４によって表示制御部１７へと出力され、表示装置４に表示される（Ｓ６）。なお、記憶制御部１５が、翻訳に成功した翻訳前文字列と、翻訳後文字列とを対応付けて、翻訳成功履歴２３に保存する処理については、後述する。
【００３３】
翻訳できない文字列がある場合（Ｓ４においてＹＥＳ）、すなわち、翻訳に失敗している場合、翻訳履歴抽出部１６は、翻訳成功履歴２３に保存されている翻訳前文字列に、当該翻訳できない文字列を含む文字列に類似した翻訳前文字列があるか否かを検索する（Ｓ７）。
【００３４】
翻訳成功履歴２３に保存されている翻訳前文字列に、翻訳部１３が翻訳できない文字列に類似した翻訳前文字列が無い場合（Ｓ７においてＮＯ）、ステップＳ３で実行された翻訳結果の文字列である翻訳後文字列を表示する（Ｓ６）。なお、この翻訳後文字列は、翻訳できない文字列を含んでいる。
【００３５】
翻訳成功履歴２３に保存されている翻訳前文字列に、翻訳部１３が翻訳できない文字列に類似した翻訳前文字列がある場合（Ｓ７においてＹＥＳ）、翻訳履歴抽出部１６は、該翻訳できない文字列を含む文字列と最も類似した翻訳前文字列と対応する翻訳後文字列を抽出し、表示制御部１７へと出力する（Ｓ８：抽出ステップ）。表示制御部１７は翻訳後文字列を翻訳結果として表示するよう、表示装置４を制御する（Ｓ８：表示制御ステップ）。翻訳履歴抽出部１６は、翻訳後文字列を抽出した翻訳結果の抽出回数（図３参照）をインクリメントする。
【００３６】
（翻訳結果の保存処理）
次に、記憶制御部１５が、翻訳前文字列と、翻訳後文字列とを対応付けて、翻訳に成功した結果を翻訳成功履歴２３に保存する処理について図５および図６を用いて説明する。図５は、図６に示す翻訳結果の保存処理の前提となる翻訳成功履歴２３を説明するための図である。なお、図５において、各翻訳結果に付与された数字１〜ｎは、図２に示すインデックスと同じものであり、翻訳成功履歴２３に保存できる翻訳結果の数は有限数ｎである。すなわち、ｎは翻訳成功履歴２３に保存できる翻訳結果の数の上限である。
【００３７】
前述のように、翻訳できない文字列が無い場合（図４のＳ４においてＮＯ）記憶制御部１５は、この翻訳に成功した翻訳前文字列と、翻訳後文字列とを対応付けて、翻訳成功履歴２３に保存する（図４のＳ５）。保存処理（Ｓ５）において、翻訳結果の数が翻訳成功履歴２３の上限ｎに達した場合、記憶制御部１５は、抽出回数が少ないものから順に、翻訳結果を更新する。
【００３８】
図５に示すように、直近に（最後に）更新された翻訳結果が、インデックスｋの翻訳結果として保存された状態において、その次に翻訳に成功した翻訳前文字列および翻訳後文字列を、翻訳結果として保存する処理について、図６を用いて説明する。図６は、図４に示す保存処理（Ｓ５）の詳細な処理の流れの一例を示すフローチャートである。
【００３９】
まず、記憶制御部１５は、新たに翻訳に成功した翻訳前文字列が、その時点で既に翻訳成功履歴２３に保存済みの文字列か否かを判定する（Ｓ５１）。保存済みの文字列である場合（Ｓ５１においてＹＥＳ）、この新たに翻訳に成功した翻訳前文字列の保存は行わない。これにより、翻訳成功履歴２３に同じ翻訳結果が重複して保存されることを避けることができる。よって、翻訳成功履歴２３が保存できる有限の数の翻訳結果を有効に利用することができる。
【００４０】
一方、新たに翻訳に成功した翻訳前文字列が、保存済みの文字列ではない場合（Ｓ５１においてＮＯ）、記憶制御部１５は、総記憶回数をインクリメントする（Ｓ５２）。ここで、総記憶回数とは、記憶制御部１５によって翻訳成功履歴２３に翻訳結果が保存された回数である。すなわち、翻訳成功履歴２３に保存されていない文字列の翻訳結果を保存する処理を記憶制御部１５が行うたびに、各保存処理が計数開始から何回目の保存処理であるかを計数する。
【００４１】
次に、記憶制御部１５は、図５に示すｎ個の翻訳結果、すなわち、翻訳結果１から翻訳結果ｎの全ての抽出回数を確認し（Ｓ５３）、最も抽出回数の少ない翻訳結果の抽出回数ｐを決定する（Ｓ５４）。
【００４２】
その後に、記憶制御部１５は、翻訳結果のインデックスをｋ+１に設定する（Ｓ５５）。すなわち、直前に保存された翻訳結果ｋの次のインデックスに対応する翻訳結果ｋ+１を、最初の変更候補として設定する。
【００４３】
抽出回数がｐに等しければ（Ｓ５６においてＹＥＳ）、その翻訳結果を、新しい翻訳結果に変更する（Ｓ５７）。一方、抽出回数がｐに等しくない（ｐよりも多い）場合（Ｓ５６においてＮＯ）、インデックスがｎに等しいか否かを判定する（Ｓ５８）。すなわち、翻訳成功履歴２３に格納されている、文字列と翻訳結果と翻訳履歴抽出部１６により抽出された抽出回数との組の数が上限値ｎに達している場合、記憶制御部１５は、抽出回数が最も少ない組を翻訳成功履歴２３から削除した後、新たに翻訳が成功した文字列と該文字列の翻訳結果とを対応付けて翻訳成功履歴２３に記憶させる。
【００４４】
インデックスがｎに等しい場合（Ｓ５８においてＹＥＳ）、すなわち、変更候補とする翻訳結果のインデックスが終端に達した場合、次の変更候補とする翻訳結果のインデックスを１に設定する（Ｓ５９）。一方、インデックスがｎに等しくない（ｎよりも小さい）場合（Ｓ５８においてＮＯ）、次の変更候補となる翻訳結果のインデックスとして、今の翻訳結果のインデックスに１を加えたインデックスに対応する翻訳結果を設定する（Ｓ６０）。
【００４５】
このように、直前に保存された翻訳結果ｋの次のインデックスに対応する翻訳結果ｋ+１を、最初の変更候補として設定し、その後は、変更候補とする翻訳結果のインデックスを次々に１ずつ後ろにずらして設定する。そして、設定したインデックスに対応する各翻訳結果の抽出回数が最少であるか否かを順に調べ、抽出回数が最少の翻訳結果を、新しい翻訳結果と変更する。これにより、更新されたばかりの翻訳結果ｋが、直後に行われる保存処理によってすぐに更新されることを避けることができる。
【００４６】
また、抽出回数が少ないものから順に翻訳結果を更新することで、文字列の翻訳処理を失敗した場合により有用な翻訳結果を優先的に翻訳成功履歴２３に保持することができる。よって、翻訳が失敗した場合でも、適切に翻訳結果を表示できる場合を増やすことができる。
【００４７】
Ｓ５７において、新しい翻訳結果に変更することによって、行った保存処理が計数開始から所定の回数Ｔに達した場合（Ｓ６１においてＹＥＳ）、各翻訳結果の抽出回数の値を半分にする（Ｓ６２）。記憶制御部１５が行った保存処理が計数開始から所定の回数Ｔに達したときの翻訳成功履歴２３に保存されている各翻訳結果の抽出回数が、例えば、図２に示すような値であれば、インデックス１の抽出回数は２（５を半分にして、小数点以下を切り捨てた値）、インデックス２の抽出回数は１２、インデックスｎの抽出回数は３となる。そして、総記憶回数をリセットして、新たに保存処理を行う回数の計数を開始する（Ｓ６３）。
【００４８】
なお、総記憶回数をリセットする処理（Ｓ６３）は、必ずしも行わなくてもよい。例えば、Ｓ６１において、総記憶回数が所定の回数Ｔの自然数倍に達したとき、すなわち、総記憶回数を所定の回数Ｔで割ったときの余りが０である場合に、Ｓ６２において、各翻訳結果の抽出回数の値を半分にするようにしてもよい。
【００４９】
このように、記憶制御部１５は、文字列と該文字列の翻訳結果とを対応付けて翻訳成功履歴２３に記憶させた回数を計数し、該回数が所定値を超えたとき、当該文字列と対応付けられた抽出回数の値を減らす。
【００５０】
翻訳結果の抽出回数が多い場合でも、長い期間、翻訳成功履歴２３に保存されている翻訳結果は、翻訳の失敗を減らすために役に立っていない可能性がある。そこで、長い期間、翻訳成功履歴２３に保存されたままの翻訳結果が生じにくくなるように、翻訳装置１は、一定期間ごとに抽出回数の値を減らす構成であってもよい。一定期間とは、例えば、図６に示す例の場合、保存処理が行われる回数Ｔによって規定されているが、これに限定されず、翻訳装置１を利用して翻訳処理を行った回数、文字列の翻訳に成功した総回数、翻訳履歴抽出部１６が翻訳結果を抽出する回数など、任意の計数可能な数値によって規定してもよい。
【００５１】
なお、図６のＳ５１において、新たに翻訳に成功した翻訳前文字列が、その時点で既に翻訳成功履歴２３に保存済みの文字列であるか否かにかかわらず、記憶制御部１５が、翻訳処理を行った回数をインクリメントする構成であってもよい。この場合、記憶制御部１５は、文字列の翻訳に成功した総回数を計数し、該総回数が所定値を超えたとき、当該文字列と対応付けられた抽出回数の値を減らす。すなわち、保存済みの文字列であった場合も、文字列の翻訳に成功した総回数としてインクリメントし、Ｓ６１において、文字列の翻訳に成功した総回数が所定の回数Ｔの自然数倍に達したとき、Ｓ６２において、各翻訳結果の抽出回数の値を半分にするようにしてもよい。これにより、保存済みの文字列ばかりを翻訳した場合にも、翻訳成功履歴２３に格納された、抽出回数が多い翻訳結果の履歴を更新しないまま記憶部において格納し続けることを避けることができる。
【００５２】
なお、ここでは、抽出回数の数を減らすために半分にするという計算を例に挙げたが、これに限定されない。例えば、１より大きい任意の数で抽出回数を除算してもよいし、所定の数値を抽出回数から減算して得られる値の正の整数または０を導出してもよい。また、その他の様々な演算を１つ以上適用してもよい。
【００５３】
また、各翻訳結果の抽出回数のなかで、所定値を超えた値だけを減らすようにしてもよい。例えば、所定値を２４と設定すれば、図２のインデックス２の翻訳結果の抽出回数が２４であり、この所定値に達しているので、インデックス２の抽出回数の値は半分の１２とされる。この場合には、インデックス１、インデックスｎなどの抽出回数は、所定値２４よりも低い値なので、減らすように演算されない。これにより、所定値として設定された値に従って抽出回数の値の上限が設定される。
【００５４】
このように記憶制御部１５は、適宜、抽出回数の値を減らすように制御することが好ましい。これにより、抽出回数が多い翻訳結果を、更新しないまま記憶部に格納し続けることを避けることができる。よって、有用な翻訳結果を古いものと入れ替えて、記憶している翻訳結果を適切に更新することができる。
【００５５】
〔実施形態２〕
翻訳装置１の制御ブロック（特に、文字列検出部１２、翻訳部１３、成否判定部１４、記憶制御部１５、翻訳履歴抽出部１６、および表示制御部１７）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００５６】
後者の場合、翻訳装置１は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５７】
〔まとめ〕
本発明の態様１に係る翻訳装置１は、入力された画像データに含まれる文字列を翻訳し、翻訳結果を表示する翻訳装置であって、上記画像データから検出された文字列の翻訳の成否を判定する判定手段（成否判定部１４）と、上記判定手段が、上記翻訳が成功したと判定した場合、上記文字列と翻訳結果とを対応付けて記憶部２に記憶させる記憶制御手段（記憶制御部１５）と、上記判定手段が、上記翻訳が失敗したと判定した場合、上記文字列と類似した文字列を上記記憶部から抽出する抽出手段（翻訳履歴抽出部１６）と、上記抽出手段が抽出した上記類似した文字列と対応する翻訳結果を、上記検出された文字列の翻訳として表示する表示制御手段（表示制御部１７）とを備えている。
【００５８】
上記の構成によれば、翻訳に失敗した場合、翻訳に失敗した文字列と類似した文字列を、過去に翻訳に成功した文字列が格納されている記憶部から抽出し、該類似した文字列と対応する翻訳結果を、翻訳に失敗した文字列の翻訳として表示する。
【００５９】
これにより、文字列の翻訳処理を失敗した場合であっても、該文字列の翻訳結果として適切と考えられるものを表示することができる。よって、翻訳が失敗した場合であっても適切な翻訳結果を提示することができる。
【００６０】
また、翻訳が失敗した場合であっても適切な翻訳結果を提示することができるので、翻訳の成功と失敗とが連続することにより表示画面がちらついてしまうことを防止することができる。
【００６１】
本発明の態様２に係る翻訳装置は、上記態様１において、上記記憶制御手段は、さらに、上記文字列と、上記抽出手段により該文字列が抽出された抽出回数とを対応付けて上記記憶部に記憶させてもよい。
【００６２】
上記の構成によれば、上記文字列と、上記抽出手段により該文字列が抽出された回数とを対応付けて、記憶部に記憶させる。これにより、過去に翻訳に成功した文字列に対応する翻訳結果が、どの程度、翻訳に失敗した文字列に対応する翻訳として利用されたかを適宜評価することができる。
【００６３】
本発明の態様３に係る翻訳装置は、上記態様２において、上記記憶部が格納可能な、上記文字列と上記翻訳結果と上記抽出回数との組の数には上限値があり、上記記憶部に格納されている上記組の数が上記上限値に達している場合、上記記憶制御手段は、上記抽出回数が最も少ない組を上記記憶部から削除した後、新たに翻訳が成功した上記文字列と上記翻訳結果とを対応付けて上記記憶部に記憶させてもよい。
【００６４】
上記の構成によれば、上記文字列と上記翻訳結果と上記抽出回数との組の数が記憶部に格納可能な上限に達している場合、抽出回数が最も少ない組を記憶部から削除した後、新たに翻訳が成功した文字列と翻訳結果とを対応付けて記憶部に記憶させる。これにより、文字列の翻訳処理を失敗した場合に抽出される回数の少ない翻訳結果に代えて、より有用な翻訳結果を優先的に記憶部に保持させることができる。
【００６５】
本発明の態様４に係る翻訳装置は、上記態様２または３において、上記記憶制御手段は、上記文字列と上記翻訳結果とを対応付けて上記記憶部に記憶させた回数を計数し、該回数が所定値を超えたとき、当該文字列と対応付けられた上記抽出回数の値を減らすものであってもよい。
【００６６】
上記の構成によれば、文字列と上記翻訳結果とを対応付けて上記記憶部に記憶させた回数が所定値を超えたとき、文字列と対応付けられた抽出回数の値を減らす。これにより、抽出回数が多い翻訳結果の履歴を更新しないまま記憶部において格納し続けることを避けることができる。よって、有用な翻訳結果を古いものと入れ替えて、翻訳結果を適切に更新することができる。
【００６７】
本発明の態様５に係る翻訳装置は、入力された画像データに含まれる文字列を翻訳し、翻訳結果を表示する翻訳装置の制御方法であって、上記画像データから検出された文字列の翻訳の成否を判定する判定ステップと、上記判定ステップにおいて、上記翻訳が成功したと判定した場合、上記文字列と翻訳結果とを対応付けて記憶部に記憶させる記憶制御ステップと、上記判定ステップにおいて、上記翻訳が失敗したと判定した場合、上記文字列と類似した文字列を上記記憶部から抽出する抽出ステップと、上記抽出ステップにおいて抽出した上記類似した文字列と対応する翻訳結果を、上記検出された文字列の翻訳結果として表示する表示制御ステップとを含んでいる。
【００６８】
上記の方法によれば、上記態様１の翻訳装置と同様の効果を奏する。
【００６９】
本発明の各態様に係る翻訳装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記翻訳装置が備える各手段として動作させることにより上記翻訳装置をコンピュータにて実現させる翻訳装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００７０】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【００７１】
本発明は、画像データ中の文字列に対応する翻訳を表示する携帯端末、および通信回線を介して頒布される翻訳アプリケーションソフトウェアに利用することができる。
【符号の説明】
【００７２】
１  翻訳装置
２  記憶部
１４  成否判定部（判定手段）
１５  記憶制御部（記憶制御手段）
１６  翻訳履歴抽出部（抽出手段）
１７  表示制御部（表示制御手段）
【図１】
2015106183.tif 000003
【図２】
2015106183.tif 000004
【図３】
2015106183.tif 000005
【図４】
2015106183.tif 000006
【図５】
2015106183.tif 000007
【図６】
2015106183.tif 000008