(57)【要約】【課題】音声入力による遠隔操作を好適に行い得る操作支援プログラムおよび端末装置を提供すること。【解決手段】本発明によれば、外部装置から画像データが取得されると、当該画像データに基づく画像から、当該画像に含まれるテキストが取得されるとともに、取得されたテキストの、前記画像内における表示位置を示す第１位置情報が特定される。一方、音声入力部を介して入力された音声がテキストに変換される。画像から取得されたテキストの中に、音声から変換されたテキストがある場合、当該テキストについて特定された第１位置情報が、第１出力手段により、画像データの取得元の外部装置に出力される。これにより、音声入力による遠隔操作を好適に行い得る。【選択図】図３
2015166912.tif 000002
【特許請求の範囲】
【請求項１】
音声を入力する音声入力部と、
外部装置と通信する通信部と、
制御部とを備えた端末装置の、前記制御部が実行可能であり、かつ、外部装置を操作するための操作支援プログラムであって、
外部装置が有する外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して前記外部装置から取得する画像取得手段と、
前記画像取得手段により取得した画像データに基づく画像から、当該画像に含まれるテキストを取得するテキスト取得手段と、
前記テキスト取得手段により取得されたテキストの、前記画像内における表示位置を示す第１位置情報を特定する第１位置情報特定手段と、
前記音声入力部を介して音声が入力された場合に、当該音声をテキストに変換する変換手段と、
前記テキスト取得手段により取得されたテキストの中に、前記変換手段により変換されたテキストに相当するテキストがあるかを判断する第１判断手段と、
前記第１判断手段により、前記テキスト取得手段により取得されたテキストの中に、前記変換手段による変換により得られたテキストに相当するテキストがあると判断された場合、当該テキストについて前記第１位置情報特定手段により特定された第１位置情報を、前記通信部を介して、前記画像取得手段による画像データの取得元の外部装置に出力する第１出力手段として、
前記制御部を機能させることを特徴とする操作支援プログラム。
【請求項２】
外部装置が有する前記外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して、前記外部装置に要求する画像要求手段として、
前記制御部を機能させ、
前記画像取得手段は、前記画像要求手段による要求に応じて前記外部装置が出力した画像データを取得するものであり、
前記画像要求手段は、前記第１出力手段による出力が行われたことを条件として、前記画像データの要求を行うことを特徴とする請求項１記載の操作支援プログラム。
【請求項３】
前記第1出力手段は、外部装置が有する前記外部装置側表示部上の点を新たに指示する第１操作を示す情報と当該点に対する指示を解除する第２操作を示す情報とともに、前記第１位置情報を前記画像取得手段による画像データの取得元の外部装置に出力することを特徴とする請求項１または２記載の操作支援プログラム。
【請求項４】
前記端末装置は、
表示領域を有する端末側表示部と、
前記表示領域に対する入力操作を検出する検出部と、
を備え、
前記画像取得手段により取得した画像データに基づく画像を前記表示領域に表示する画像表示手段と、
前記画像表示手段により前記表示領域に表示された画像に対する操作が前記検出部により検出された場合に、当該操作の種類を判断する第２判断手段と、
前記第２判断手段により、前記操作の種類が、前記表示領域上の点を新たに指示する操作であると判断された場合、当該操作により指示された点の位置を示す第２位置情報と、前記第１操作を示す情報とを、前記通信部を介して、前記画像取得手段による画像データの取得元の外部装置に出力する第２出力手段と、
前記第２判断手段により、前記操作の種類が、前記表示領域上の点に対する指示を解除する操作であると判断された場合、当該操作により指示が解除された点の位置を示す第３位置情報と、前記第２操作を示す情報を、前記通信部を介して、前記画像取得手段による画像データの取得元の外部装置に出力する第３出力手段として、
前記制御部を機能させることを特徴とする請求項３記載の操作支援プログラム。
【請求項５】
外部装置が有する前記外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して、前記外部装置に要求する画像要求手段として、
前記制御部を機能させ、
前記画像取得手段は、前記画像要求手段による要求に応じて前記外部装置が出力した画像データを取得するものであり、
前記画像要求手段は、前記第１出力手段または前記第３出力手段による出力が行われたことを条件として、前記画像データの要求を行うことを特徴とする請求項４記載の操作支援プログラム。
【請求項６】
前記第１出力手段または前記第３出力手段による出力が行われた後、所定期間を待機する待機手段として、
前記制御部を機能させ、
前記画像要求手段は、前記所定期間の待機が経過したことを条件として、前記画像データの要求を行うことを特徴とする請求項５記載の操作支援プログラム。
【請求項７】
前記第１出力手段または前記第３出力手段による出力が行われた後、所定期間を待機する待機手段として、
前記制御部を機能させ、
前記待機手段による前記所定期間の待機中、前記第１出力手段または前記第３出力手段による出力が行われないよう制御する第１出力制御手段として、
前記制御部を機能させることを特徴とする請求項４から６のいずれかに記載の操作支援プログラム。
【請求項８】
外部装置が有する前記外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して、前記外部装置に要求する画像要求手段として、
前記制御部を機能させ、
前記画像取得手段は、前記画像要求手段による要求に応じて前記外部装置が出力した画像データを取得するものであり、
前記画像要求手段により画像データが要求されてから、前記画像取得手段により画像データが取得されるまでの間、前記第１出力手段による出力が行われないよう制御する第１出力制御手段として、
前記制御部を機能させることを特徴とする請求項１から７のいずれかに記載の操作支援プログラム。
【請求項９】
前記画像取得手段により取得される画像データは、前記外部装置側表示部に表示される画面の画像データであり、
時間経過とともに内容が変化するアニメーション表示が前記外部装置側表示部に表示されていることを特定可能な情報を、前記通信部を介して、外部装置から取得したことを条件として、前記外部装置側表示部で前記アニメーション表示が行われている間、前記第１出力手段による出力が行われないよう制御する第２出力制御手段として、
前記制御部を機能させることを示す請求項１から８のいずれかに記載の操作支援プログラム。
【請求項１０】
前記第２出力制御手段は、前記アニメーション表示が前記外部装置側表示部に表示されていることを特定可能な情報を取得し、かつ、当該アニメーション表示が、前記外部装置側表示部に表示される画面が変化することなく、当該画面内に配置されるオブジェクトの内容の変化によるものである場合には、前記第１出力手段による出力を行うよう制御することを特徴とする請求項９記載の操作支援プログラム。
【請求項１１】
前記端末装置は、記憶部を備え、
前記画像取得手段により取得される画像データは、前記外部装置側表示部に表示される画面の画像データであり、
前記画像取得手段により取得した画像データに基づく画像を前記表示領域に表示する画像表示手段と、
前記画像取得手段により取得された画像データに対応する画面を特定する特定情報を、前記通信部を介して、外部装置から取得する特定情報取得手段と、
前記画像取得手段により取得された画像データと、前記特定情報取得手段により取得された特定情報とを前記記憶部に記憶する記憶手段として、
前記制御部を機能させ、
前記第１出力手段は、前記第１位置情報と、前記記憶部に記憶されている特定情報とを、前記画像取得手段による画像データの取得元の外部装置に出力することを特徴とする請求項１から１０のいずれかに記載の操作支援プログラム。
【請求項１２】
前記第１出力手段により出力された特定情報が、当該特定情報の出力先の前記外部装置の前記外部装置側表示部に表示される画面に対応する前記特定情報とは異なることを示すエラー情報を、前記通信部を介して、前記特定情報の出力先の外部装置から取得した場合、当該エラー情報に応じた表示を前記表示領域に表示するエラー表示手段として、
前記制御部を機能させることを特徴とする請求項１１記載の操作支援プログラム。
【請求項１３】
前記第１出力手段により出力された特定情報が、当該特定情報の出力先の前記外部装置の前記外部装置側表示部に表示される画面に対応する前記特定情報とは異なることを示すエラー情報を、前記通信部を介して、前記特定情報の出力先の外部装置から取得した場合、当該エラー情報の取得元の外部装置が有する前記外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して、前記エラー情報の取得元の外部装置に要求する画像要求手段として、
前記制御部を機能させることを特徴とする請求項１１または１２に記載の操作支援プログラム。
【請求項１４】
音声を入力する音声入力部と、
外部装置と通信する通信部と、
制御部と、
を備え、
前記制御部は、
外部装置が有する外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して前記外部装置から取得する画像取得手段と、
前記画像取得手段により取得した画像データに基づく画像から、当該画像に含まれるテキストを取得するテキスト取得手段と、
前記テキスト取得手段により取得されたテキストの、前記画像内における表示位置を示す第１位置情報を特定する第１位置情報特定手段と、
前記音声入力部を介して音声が入力された場合に、当該音声をテキストに変換する変換手段と、
前記テキスト取得手段により取得されたテキストの中に、前記変換手段により変換されたテキストに相当するテキストがあるかを判断する第１判断手段と、
前記第１判断手段により、前記テキスト取得手段により取得されたテキストの中に、前記変換手段による変換により得られたテキストに相当するテキストがあると判断された場合、当該テキストについて前記第１位置情報特定手段により特定された第１位置情報を、前記通信部を介して、前記画像取得手段による画像データの取得元の外部装置に出力する第１出力手段と、
を備えていることを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作支援プログラムおよび端末装置に関する。
【背景技術】
【０００２】
特許文献１には、ＬＣＤに重ねられたタッチパネルを備える携帯端末から、複合機を遠隔操作する技術が提案されている。具体的には、撮影した複合機の操作部の画像を、携帯端末のＬＣＤに表示させ、表示された操作部を、タッチパネルを介してユーザに操作させ、操作された操作部に応じた指示を複合機に行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複合機の操作部を構成するキーは、複合機のモデルに応じて異なる。そのため、特許文献１の技術では、携帯端末のタッチパネルへの操作に応じて複合機に処理を指示するための機能を、複合機のモデル毎に作成する必要があった。また、特許文献１の技術では、音声入力に基づく遠隔操作を行うことができない。
【０００５】
本発明は、上述した事情を鑑みてなされたものであり、音声入力による遠隔操作を好適に行い得る操作支援プログラムおよび端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の操作支援プログラムは、音声を入力する音声入力部と、外部装置と通信する通信部と、制御部とを備えた端末装置の、前記制御部が実行可能であり、かつ、外部装置を操作するためのプログラムであって、外部装置が有する外部装置側表示部に表示される画面に関する画像データを、前記通信部を介して前記外部装置から取得する画像取得手段と、前記画像取得手段により取得した画像データに基づく画像から、当該画像に含まれるテキストを取得するテキスト取得手段と、前記テキスト取得手段により取得されたテキストの、前記画像内における表示位置を示す第１位置情報を特定する第１位置情報特定手段と、前記音声入力部を介して音声が入力された場合に、当該音声をテキストに変換する変換手段と、前記テキスト取得手段により取得されたテキストの中に、前記変換手段により変換されたテキストに相当するテキストがあるかを判断する第１判断手段と、前記第１判断手段により、前記テキスト取得手段により取得されたテキストの中に、前記変換手段による変換により得られたテキストに相当するテキストがあると判断された場合、当該テキストについて前記第１位置情報特定手段により特定された第１位置情報を、前記通信部を介して、前記画像取得手段による画像データの取得元の外部装置に出力する第１出力手段として、前記制御部を機能させる。
【０００７】
なお、本発明の操作支援プログラムは、端末装置、端末装置を制御する制御装置、操作支援システム、操作支援方法、操作支援プログラムを記録する記録媒体等の種々の態様で構成することができる。
【発明の効果】
【０００８】
請求項１記載の操作支援プログラムによれば、外部装置から画像データが取得されると、当該画像データに基づく画像から、当該画像に含まれるテキストが取得されるとともに、取得されたテキストの、前記画像内における表示位置を示す第１位置情報が特定される。一方、音声入力部を介して入力された音声がテキストに変換される。画像から取得されたテキストの中に、音声から変換されたテキストがある場合、当該テキストについて特定された第１位置情報が、第１出力手段により、画像データの取得元の外部装置に出力される。
【０００９】
外部装置から取得される画像データは、外部装置側表示部に表示される画面に関する画像データである。そのため、外部装置は、第１出力手段により出力された第１位置情報に基づき、外部装置側表示部に表示される画面における、当該端末装置に音声入力されたテキストの表示位置を特定できる。よって、外部装置にて実行される処理に関わるテキストが音声入力された場合に、当該テキストに応じた処理を外部装置に実行させることができる。これにより、音声入力による遠隔操作を好適に行い得る。
【００１０】
請求項２記載の操作支援プログラムによれば、請求項１が奏する効果に加え、次の効果を奏する。第１出力手段による第１位置情報の出力が行われたことを条件として、外部装置に対する、画像データの要求が行われるので、第１出力手段により出力された第１位置情報に応じて、外部装置側表示部に表示される画面が遷移した場合には、その遷移後の画面に関する画像データを取得できる。
【００１１】
請求項３記載の操作支援プログラムによれば、請求項１または２が奏する効果に加え、次の効果を奏する。外部装置が、外部装置側表示部上の点を新たに指示する第１操作と、当該点に対する指示を解除する第２操作との組み合わせで、第１操作により指示された点に対応する処理を実行できる構成である場合に、当該処理を、端末装置からの音声入力に基づいて外部装置に実行させることができる。
【００１２】
請求項４記載の操作支援プログラムによれば、請求項３が奏する効果に加え、端末装置において、外部装置側表示部に対して行う操作と同様の操作によって、外部装置を遠隔操作することができる。
【００１３】
請求項５記載の操作支援プログラムによれば、請求項４が奏する効果に加え、次の効果を奏する。第１出力手段または第３出力手段による出力が行われたことを条件として、外部装置に対する、画像データの要求が行われる。よって、第１出力手段または第３出力手段による出力に応じて、外部装置側表示部に表示される画面が遷移した場合には、その遷移後の画面に関する画像データを取得できる。
【００１４】
請求項６記載の操作支援プログラムによれば、請求項５が奏する効果に加え、次の効果を奏する。第１出力手段または第３出力手段による出力が行われた後、所定期間が経過したことを条件として、画像データの要求が行われる。外部装置側表示部に表示される画面が、第１出力手段または第３出力手段による出力に応じて遷移される場合、端末装置は、所定時間を待機することにより、外部装置側表示部にて前記遷移が完了した後の画面に関する画像データを取得できる。これにより、外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像とが不一致になることを防止できる。外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像とが不一致である場合、外部装置は、第１位置情報や第３位置情報が示す位置を、外部装置側表示部に表示される画面において本来とは意図する位置を示すものとして誤認識する虞がある。これに対し、請求項６記載の操作支援プログラムによれば、当該誤認識の発生を抑制できる。
【００１５】
請求項７記載の操作支援プログラムによれば、請求項４から６のいずれかが奏する効果に加え、次の効果を奏する。第１出力手段または第３出力手段による出力が行われた後の、所定期間の待機中、第１出力手段または第３出力手段による出力が行われないよう制御されるので、外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像とが不一致の状態で、第１出力手段または第３出力手段による出力が行われることを防止できる。よって、第１出力手段または第３出力手段により出力された第１位置情報や第３位置情報が示す位置が、外部装置にて誤認識されることを抑制できる。
【００１６】
請求項８記載の操作支援プログラムによれば、請求項１から７のいずれかが奏する効果に加え、次の効果を奏する。画像データの要求が外部装置に対して行われてから、当該要求に応じて外部装置が出力した画像データを受信するまでの間、第１出力手段による出力が行われないよう制御される。よって、外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像とが不一致になることを防止できるので、第１出力手段により出力された第１位置情報が示す位置が、外部装置にて誤認識されることを抑制できる。
【００１７】
請求項９記載の操作支援プログラムによれば、請求項１から８のいずれかが奏する効果に加え、次の効果を奏する。外部装置から、時間経過とともに内容が変化するアニメーション表示が外部装置側表示部に表示されていることを特定可能な情報を受信したことを条件として、外部装置側表示部でアニメーション表示が行われている間は、第１出力手段による出力が行われないよう制御される。よって、外貌装置側表示部にてアニメーション表示が行われている場合、アニメーション表示が行われている間は、外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像との間に不一致が生じる可能性がある。よって、アニメーション表示が行われている間は、第１出力手段による出力、つまり、第１位置情報の出力が行われないので、端末装置から出力される第１位置情報が示す位置が、外部装置にて誤認識されることを抑制できる。
【００１８】
請求項１０記載の操作支援プログラムによれば、請求項９が奏する効果に加え、次の効果を奏する。外部装置側表示部でアニメーション表示が行われている場合であっても、当該アニメーション表示が、外部装置側表示部に表示される画面が変化することなく、当該画面内に配置されるオブジェクトの内容の変化によるものである場合には、第１位置情報の出力が行われる。外部装置側表示部に表示される画面が変化しなければ、端末装置から出力される第１位置情報は、外部装置側表示部に表示される画面上における意図通りの位置を指定できる。よって、音声入力による遠隔操作が無駄にキャンセルされることを抑制できる。
【００１９】
請求項１１記載の操作支援プログラムによれば、請求項１から１０が奏する効果に加え、次の効果を奏する。外部装置に第１位置情報を出力する場合には、当該第１位置情報とともに、端末側表示部の表示領域に表示される画像を特定する特定情報が出力される。よって、外部装置にて、音声入力されたときに端末側表示部の表示領域に表示されている画像が、外部装置側表示画面に表示される画面に一致するかを判断させることができる。
【００２０】
請求項１２記載の操作支援プログラムによれば、請求項１１が奏する効果に加え、次の効果を奏する。第１位置情報とともに出力された特定情報が、当該特定情報の出力先の外部装置の外部装置側表示部に表示される画面に対応する特定情報とは異なることを示すエラー情報を取得した場合には、当該エラー情報に応じた表示が端末側表示部の表示領域に表示される。よって、外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像との間に不一致が生じていることを把握できる。
【００２１】
請求項１３記載の操作支援プログラムによれば、請求項１１または１２が奏する効果に加え、次の効果を奏する。第１位置情報とともに出力された特定情報が、当該特定情報の出力先の外部装置の外部装置側表示部に表示される画面に対応する特定情報とは異なることを示すエラー情報を取得した場合には、当該エラー情報の取得元の外部装置に対し、当該外部装置の外部装置側表示部に表示される画面に関する画像データを要求する。よって、外部装置側表示部に表示される画面と、端末側表示部の表示領域に表示される画像との間に生じた不一致を解消させることができる。
【００２２】
請求項１４記載の端末装置によれば、請求項１記載の操作支援プログラムと同様の効果を奏する。
【図面の簡単な説明】
【００２３】
【図１】多機能周辺装置および端末の電気的構成を示すブロック図である。
【図２】本発明の概略を模式的に説明する図である。
【図３】遠隔操作時の端末側処理を示すフローチャートである。
【図４】イベント反応処理を示すフローチャートである。
【図５】離上イベント処理を示すフローチャートである。
【図６】遠隔操作時のＭＦＰ側処理を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図１は、多機能周辺装置（以下「ＭＦＰ」と称す）１０、および、ＭＦＰ１０と通信可能な端末２００の電気的構成を示すブロック図である。なお、図１に示す端末２００は、本発明の端末装置の一実施形態である。
【００２５】
ＭＦＰ１０は、印刷機能、スキャン機能、コピー機能、ファクシミリ機能などの各種機能を有している。ＭＦＰ１０は、操作支援アプリケーション（以下「操作支援アプリ」と称す）２１２ｂを搭載する端末２００からの遠隔操作により各種機能に関わる処理を実行可能に構成される。
【００２６】
ＭＦＰ１０には、ＣＰＵ１１、フラッシュメモリ１２、ＲＡＭ１３、操作キー１５、ＬＣＤ１６、タッチパネル１７、スキャナ部１８、プリンタ部１９、ＮＣＵ２０、モデム２１、無線通信部２３が主に設けられている。これらの各部は、入出力ポート２４を介して互いに接続されている。ＣＰＵ１１は、フラッシュメモリ１２に記憶される固定値やプログラム、ＲＡＭ１３に記憶されているデータ、或いは、ＮＣＵ２０を介して送受信される各種信号に従って、ＭＦＰ１０が有している各機能の制御や、入出力ポート２４と接続された各部を制御する。
【００２７】
フラッシュメモリ１２は、不揮発性のメモリであり、ＭＦＰ１０の動作を制御する制御プログラム１２ａなどが格納される。また、フラッシュメモリ１２には、ＬＣＤ１６に表示可能な各画面の画像の画像データが、表示可能な全画面分、準備されている。フラッシュメモリ１２には、各画面の画像の画像データを管理する画像データマップ（図示せず）が設けられている。画像データマップでは、各画面の画像データに対し、画面ＩＤが対応付けられている。「画面ＩＤ」は、各画面を特定する情報である。
【００２８】
ＲＡＭ１３は、ＣＰＵ１１が制御プログラム１２ａを実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。なお、後述する図６のフローチャートに示す各処理は、ＣＰＵ１１が制御プログラム１２ａに従い実行する処理である。
【００２９】
操作キー１５は、ＭＦＰ１０の筐体に設けられるメカニカルキーであり、各種の設定値や指示などをユーザから受け付ける。ＬＣＤ１６は、液晶表示装置であり、各種画面を表示する。ＬＣＤ１６の画面には、タッチパネル１７がＬＣＤ１６に重ねて設けられる。タッチパネル１７は、例えば、指や棒などの指示体がＬＣＤ１６の画面に対して接触又は近づいた場合に、接触又は近づいた位置を検知し、検知した位置をＭＦＰ１０に入力する。スキャナ部１８は、原稿を読み取って画像データに変換する。プリンタ部１９は、画像データに基づく画像を記録用紙に印刷する。モデム２１は、ＦＡＸ送信時には送信すべき画像データを、電話回線網（図示せず）に伝送可能な信号に変調してＮＣＵ２０を介して送信し、または、電話回線網からＮＣＵ２０を介して入力された信号を画像データに復調する。ＮＣＵ２０は、図示されない電話回線網とＭＦＰ１０との間を接続するものであり、モデム２１からの指示に従って、回線を閉結または切断することにより、電話回線網との間の接続状態を制御する。
【００３０】
無線通信部２３は、無線ＬＡＮによる無線通信を行うためのインタフェースである。本実施形態では、無線通信部２３が行う通信は、ＩＥＥＥ８０２．１１ｂ／ｇ／ｎの規格に準拠した無線ＬＡＮによる無線通信である。本実施形態において、無線通信部２３は、中継装置であるアクセスポイント（以下「ＡＰ」と称す）５０を介するインフラストラクチャーモードによって、端末２００との間でＷｉ−Ｆｉ（登録商標）規格に基づいた無線通信（以下「Ｗｉ−Ｆｉ通信」と称す）により接続される。なお、以下の説明において、ＭＦＰ１０と端末２００との間で行われる通信は、特に記載がない限り、ＡＰ５０を介するＷｉ−Ｆｉ通信とする。
【００３１】
本実施形態の端末２００は、タブレット端末である。端末２００には、ＣＰＵ２１１、フラッシュメモリ２１２、ＲＡＭ２１３、操作キー２１５、ＬＣＤ２１６、タッチパネル２１７、メモリカードインタフェース（メモリカードＩ／Ｆ）２１８、音声入力部２１９、無線通信部２２３が主に設けられる。これらの各部は、入出力ポート２２４を介して互いに接続されている。ＣＰＵ２１１は、ＲＯＭ２１２等に記憶される固定値やプログラム等に従って入出力ポート２２４と接続された各部を制御する。
【００３２】
フラッシュメモリ２１２は、書換可能な不揮発性のメモリである。フラッシュメモリ２１２には、オペレーティングシステム２１２ａ、操作支援アプリ２１２ｂが格納される。なお、以下では「オペレーティングシステム」を「ＯＳ」と称することがある。また、以下では、アプリケーションやオペレーティングシステムなどのプログラムを実行するＣＰＵ２１１のことを、単にプログラム名で記載する場合もある。例えば「アプリケーション」という記載が「アプリケーションを実行するＣＰＵ２１１」を意味する場合もある。ＯＳ２１２ａは、端末２００の標準機能を実現するための基本ソフトウェアである。本実施形態では、ＯＳ２１２ａの一例として、アンドロイド（登録商標）ＯＳを採用する。
【００３３】
操作支援アプリ２１２ｂは、ＭＦＰ１０などのデバイスを遠隔操作するためのアプリケーションプログラムである。操作支援アプリ２１２ｂは、ユーザによって端末２００にインストールされ、端末２００から、対応するデバイスの遠隔操作を可能にする。なお、後述する図３から図５のフローチャートに示す各処理は、ＣＰＵ２１１が操作支援アプリ２１２ｂに従い実行する処理である。
【００３４】
操作キー２１５は、端末２００の筐体に設けられるメカニカルキーであり、各種の設定値や指示などをユーザから受け付ける。ＬＣＤ２１６、タッチパネル２１７、および無線通信部２２３は、それぞれ、上述したＬＣＤ１６、タッチパネル１７、および無線通信部２３と同様のものである。メモリカードＩ／Ｆ２１８は、書換可能な不揮発性のメモリカード（図示せず）が装着されるインタフェースであり、メモリカードに対するデータの書き込み又は読み出しを制御する。音声入力部２１９は、内蔵マイクなどの音声入力用デバイスである。
【００３５】
図２を参照して、本発明の概略を説明する。操作支援アプリ２１２ｂによれば、ＭＦＰ１０のＬＣＤ１６に表示中の画面（以下「表示中画面」と称することがある）に相当する画像Ｇが、ＬＣＤ２１６に表示される。
【００３６】
ユーザは、タッチパネル２１７を介して、ＬＣＤ２１６に表示された画像Ｇに対する操作を行った場合、操作された位置に応じた座標がＭＦＰ１０に送信され、ＭＦＰ１０は、端末２００から受信した座標に応じた処理を実行する。これにより、ＭＦＰ１０を端末２００から遠隔操作することができる。
【００３７】
特に、本実施形態の操作支援アプリ２１２ｂは、音声認識による遠隔操作を可能に構成される。詳細は後述するが、操作支援アプリ２１２ｂによれば、ＭＦＰ１０から受信した画像データを文字認識処理（以下「ＯＣＲ処理」と称す）に供し、当該画像データからテキスト文字列が抽出される。例えば、図２に示す画像Ｇに含まれる文字列Ｔは「Ｆａｘ」という文字列として抽出される。一方、表示中画面に相当する画像Ｇの表示中、音声入力部２１９を介して音声が入力された場合、入力された音声をテキスト文字列に変換する。
【００３８】
そして、ＭＦＰ１０から受信した画像データから抽出されたテキスト文字列と入力音声から変換されたテキスト文字列とを照合する。画像データから抽出されたテキスト文字列の中に、入力音声から変換されたテキスト文字列と一致するものがあれば、当該一致するテキスト文字列に対応する画像データ上の座標がＭＦＰ１０に送信される。これにより、画像Ｇに対する押下操作を行った場合と同様に、入力音声を用いて端末２００からＭＦＰ１０を遠隔操作することができる。
【００３９】
なお、タッチパネル２１７を介して入力される操作としては、押下操作、ドラッグ操作、離上操作などがある。「押下操作」は、タッチパネル２１７上の点を、指などの指示体を接触または近づけることで新たに指示する操作である。「ドラッグ操作」は、押下操作により指示された点を開始点として、当該開始点を指示した指示体を連続的に移動させる操作である。「離上操作」は、タッチパネル２１７上にて、押下操作やドラッグ操作などにより指示されていた点に対する指示を、指などの指示体をタッチパネル２１７から離すことによって解除する操作である。
【００４０】
図３は、端末２００のＣＰＵ２１１が実行する、遠隔操作時の端末側処理を示すフローチャートである。本処理は、端末２００がＭＦＰ１０を遠隔操作するための処理である。本処理は、端末２００とＭＦＰ１０との間で、遠隔操作を行うための事前処理が完了したことを条件として開始される。
【００４１】
図３の説明に先立って、上記事前処理について説明する。事前処理は、まず、ユーザは、ＭＦＰ１０を操作し、遠隔操作を有効に設定することから始まる。次に、ユーザは、端末２００を操作して操作支援アプリ２１２ｂを起動し、操作支援アプリ２１２ｂが起動された端末２００に、遠隔操作が有効に設定されたＭＦＰ１０を検索させる。端末２００は、検索されたＭＦＰ１０を遠隔操作の対象として端末２００に登録し、登録されたＭＦＰ１０に、登録したことを示す登録情報や、端末２００のＩＰアドレスなどをＷｉ−Ｆｉ通信で送信する。これらを受信したＭＦＰ１０は、端末２００との通信リンクを確立する。通信リンクが確立したことにより、事前処理は完了する。その結果、端末２００は、ＭＦＰ１０の遠隔操作が可能な状態となる。
【００４２】
ＣＰＵ２１１は、ＬＣＤ１６に表示中の画面（すなわち、表示中画面）に対応する画像データを、ＭＦＰ１０から取得する（Ｓ３０１）。以下では、ＭＦＰ１０から取得する（または、受信する）、表示中画面の画像データを「ＬＣＤデータ」と称す。具体的に、ＣＰＵ２１１は、まず、ＭＦＰ１０に対し、ＬＣＤデータを要求する。ＣＰＵ２１１は、ＭＦＰ１０が当該要求に従い返信したＬＣＤデータを取得する。なお、本実施形態では、ＬＣＤデータはビットマップデータである。
【００４３】
ＣＰＵ２１１は、ＭＦＰ１０から、付加情報を取得する（Ｓ３０２）。付加情報には、ＬＣＤ１６に表示中の画面に対応する画面ＩＤが含まれる。ＣＰＵ２１１は、取得した付加情報をＲＡＭ２１３に記憶する。ＣＰＵ２１１は、Ｓ３０１にて取得したＬＣＤデータに基づく画像、すなわち、表示中画面に相当する画像Ｇを、端末２００のＬＣＤ２１６に表示する（Ｓ３０３）。ＬＣＤ２１６に表示される画像Ｇが、ＭＦＰ１０のＬＣＤ１６に表示可能な画面のうち、どの画面に対応するかは、ＲＡＭ２１３に記憶された画面ＩＤに応じて特定することができる。
【００４４】
ＣＰＵ２１１は、Ｓ３０１にて取得したＬＣＤデータをＯＣＲ処理に供し、ＬＣＤデータから、テキスト文字列を抽出する（Ｓ３０４）。また、Ｓ３０４において、ＣＰＵ２１１は、抽出されたテキスト文字列の位置を示す情報（以下「テキスト位置情報」と称す）を特定し取得する。
【００４５】
本実施形態では、テキスト位置情報は、ＬＣＤデータにおいてテキスト文字列に各辺が接する矩形における左上の座標とするが、抽出されたテキスト文字列の位置を特定できる座標であれば、その位置は特に限定されない。あるいは、例えば、抽出されたテキスト文字列に対応する、押下による操作対象となるオブジェクト（例えば、操作ボタン）内の座標をテキスト位置座標としてもよい。ＣＰＵ２１１は、Ｓ３０４にて得られたテキスト文字列およびテキスト位置情報をＲＡＭ２１３に記憶する（Ｓ３０５）。
【００４６】
ＣＰＵ２１１は、ＭＦＰ１０のＬＣＤ１６にて、画面遷移のアニメーション表示の実行中であるかを判断する（Ｓ３０６）。「画面遷移のアニメーション表示」とは、ＬＣＤ１６に表示されている画面から別の画面に所定の速度で徐々に変化させる表示である。詳細は図６を参照して後述するが、ＭＦＰ１０は、画面遷移のアニメーション表示を開始する場合に、アニメ開始通知を端末２００に送信する。その後、ＭＦＰ１０は、当該アニメーション表示を終了する場合に、アニメ終了通知を端末２００に送信する。よって、ＣＰＵ２１１は、端末２００がアニメ開始通知を受信してからアニメ終了通知を受信するまでの期間中、Ｓ３０６の判断を肯定する。一方、ＣＰＵ２１１は、上記期間以外において、Ｓ３０６の判断を否定する。
【００４７】
ＣＰＵ２１１がＳ３０６の判断を否定する場合（Ｓ３０６：Ｎｏ）、ＣＰＵ２１１は、イベントの発生を待ち受ける（Ｓ３０７）。ＣＰＵ２１１は、音声イベントが発生した場合（Ｓ３０８：Ｙｅｓ）、後述するＳ３０９〜Ｓ３１６の処理を実行する。なお、「音声イベント」は、音声入力部２１９を介して音声が入力されたことに応じて発生するイベントである。つまり、ＣＰＵ２１１がＳ３０８の判断を肯定した場合、音声入力部２１９を介して音声が入力されたことを示す。
【００４８】
ＣＰＵ２１１は、音声イベントが発生した場合（Ｓ３０８：Ｙｅｓ）、ＣＰＵ２１１は、イベントを受け付け可能であるかを判断する（Ｓ３０９）。詳細は後述するが、後述するＳ３２８およびＳ５０４（図５参照）において、ＣＰＵ２１１はイベントの受け付けを禁止する。これらの処理によってイベントの受け付けが禁止された場合、イベントの受け付けが禁止されている間、ＣＰＵ２１１は、Ｓ３０８の判断を否定する。一方で、イベントの受け付けが禁止されていなければ、ＣＰＵ２１１は、Ｓ３０８の判断を肯定する。
【００４９】
イベントの受け付けが可能であるとＣＰＵ２１１が判断した場合（Ｓ３０９：Ｙｅｓ）、ＣＰＵ２１１は、音声イベントを受け付ける。ＣＰＵ２１１は、音声入力部２１９を介して入力された音声（以下「入力音声」と称す）をテキスト文字列に変換する（Ｓ３１０）。音声からテキスト文字列に変換する処理は周知の技術であるので、その詳細は省略する。なお、Ｓ３１０による変換の結果、「Ｆａｘ」や「ＦＡＸ」や「ファックス」など、変換後のテキスト文字列の候補が複数存在する場合には、ＣＰＵ２１１は、それら複数の候補を全て保持する。ＣＰＵ２１１は、Ｓ３１０にて入力音声から変換されたテキスト文字列（以下「入力文字列」と称す）を、Ｓ３０５にてＲＡＭ１３に記憶されたテキスト文字列（以下「抽出文字列」と称す）との照合処理に供す（Ｓ３１１）。
【００５０】
ＣＰＵ２１１は、Ｓ３１１での照合の結果、抽出文字列の中に、入力文字列に一致する文字列があるかを判断する（Ｓ３１２）。本実施形態では、入力文字列と完全一致する抽出文字列が存在する場合に、ＣＰＵ２１１は、Ｓ３１２の判断を肯定する。なお、完全一致に限らず、入力文字列に対し、所定割合以上の一致度（例えば、８０％以上の一致度）で一致する場合に、ＣＰＵ２１１がＳ３１２の判断を肯定する構成としてもよい。
【００５１】
ＣＰＵ２１１がＳ３１２の判断を否定する場合、すなわち、抽出文字列の中に、入力文字列に一致する文字列が存在しない場合（Ｓ３１２：Ｎｏ）、ＣＰＵ２１１は、入力音声によるＭＦＰ１０の操作ができないことを示すエラー表示をＬＣＤ１６に表示し（Ｓ３１６）、処理をＳ３０６に移行する。なお、Ｓ３１６にて表示されたエラー表示は、例えば、ポップアップにより表示され、表示されてから所定時間後（例えば、３秒後）に自動的に消去される。
【００５２】
一方、ＣＰＵ２１１がＳ３１２の判断を肯定する場合（Ｓ３１２：Ｙｅｓ）、ＣＰＵ２１１は、入力文字列に一致する抽出文字列に対応するテキスト位置情報をＲＡＭ２１３から取得する（Ｓ３１３）。
【００５３】
ＣＰＵ２１１は、音声認識用の押下イベントを発生させる（Ｓ３１４）。Ｓ３１４にて発生された音声認識用の押下イベントは、テキスト位置情報が示す位置で押下操作が行われた場合に等しい押下イベントに変換される。これにより、ＣＰＵ２１１は、Ｓ３１４の処理後に、後述するＳ３１８において押下イベントの発生を検出するので、後述するＳ３１９〜Ｓ３２３の処理を実行する。よって、Ｓ３１４の処理の結果、テキスト位置情報が示す位置で押下操作が行われた場合に等しい処理が実行される。
【００５４】
ＣＰＵ２１１は、音声認識用の離上イベントを発生させ（Ｓ３１５）、処理をＳ３０６に移行する。Ｓ３１５にて発生された音声認識用の離上イベントは、テキスト位置情報が示す位置で離上操作が行われた場合に等しい離上イベントに変換される。これにより、ＣＰＵ２１１は、Ｓ３１５の処理後、後述するＳ３２４において離上イベントを受信するので、後述する離上イベント処理（Ｓ３２６）を実行する。よって、Ｓ３１５の処理の結果、テキスト位置情報が示す位置で離上操作が行われた場合に等しい処理が実行される。
【００５５】
Ｓ３１３〜Ｓ３１５の処理によれば、入力音声から変換された入力文字列に一致する抽出文字列が存在する場合には、当該一致する抽出文字列に対応するテキスト位置情報が示す座標に対し、押下操作と、それに続く離上操作とが行われたことに等しい処理が実行される。つまり、本実施形態の操作支援アプリ２１２ｂによれば、入力音声から変換された入力文字列に一致する抽出文字列の位置に対し押下操作を行った後、その位置で離上操作を行った場合に等しい処理が実行される。よって、入力音声を用いて端末２００からＭＦＰ１０を遠隔操作することができる。
【００５６】
Ｓ３０９において、イベントの受け付けが可能でないとＣＰＵ２１１が判断した場合（Ｓ３０９：Ｎｏ）、ＣＰＵ２１１は、処理をＳ３０６に移行する。よって、イベントの受け付けが禁止されている状況下では、音声が音声入力部２１９を介して入力されたとしても、ＣＰＵ２１１が音声イベントを受け付けないので、Ｓ３１０〜Ｓ３１６の処理は実行されない。
【００５７】
一方、ＣＰＵ２１１は、押下イベントを受信した場合（Ｓ３０８：Ｎｏ，Ｓ３１８：Ｙｅｓ）、後述するＳ３１９〜Ｓ３２３の処理を実行する。「押下イベント」は、タッチパネル２１７に対し押下操作が行われたことに応じて発生するイベントである。なお、上述した通り、Ｓ３１４にて音声認識用の押下イベントが発生された場合も、Ｓ３１８の判断対象となる押下イベントが発生される。
【００５８】
Ｓ３１９において、ＣＰＵ２１１は、上述したＳ３０９と同様に、イベントを受け付け可能であるかを判断する。イベントの受け付けが可能でないとＣＰＵ２１１が判断した場合（Ｓ３１９：Ｎｏ）、ＣＰＵ２１１は、処理をＳ３０６に移行する。一方、イベントの受け付けが可能であるとＣＰＵ２１１が判断した場合（Ｓ３１９：Ｙｅｓ）、ＣＰＵ２１１は、押下イベントを受け付ける。
【００５９】
ＣＰＵ２１１は、押下イベントの受け付けに伴い、押下操作された位置の座標である押下位置情報をＲＡＭ２１１に記憶する。ここで、受け付けた押下イベントが、音声イベントに基づく押下イベントでない場合、受け付けた押下イベントは、タッチパネル２１７に対し押下操作が行われたことに基づくイベントである。よって、かかる場合、ＣＰＵ２１１は、押下位置情報として、押下操作された位置の座標をＲＡＭ２１３に記憶する。一方、受け付けた押下イベントが、音声イベントに基づく押下イベントである場合、受け付けた押下イベントは、Ｓ３１４にて音声認識用の押下イベントが発生されたことに基づくイベントである。よって、かかる場合、ＣＰＵ２１１は、押下位置情報として、Ｓ３１３にて取得したテキスト位置情報をＲＡＭ２１３に記憶する。
【００６０】
次に、ＣＰＵ２１１は、受け付けた押下イベントが、音声イベントに基づく押下イベント、すなわち、Ｓ３１４にて発生された音声認識用の押下イベントから変換された押下イベントであるかを判断する（Ｓ３２０）。受け付けた押下イベントが、音声イベントに基づく押下イベントでないと、ＣＰＵ２１１が判断した場合（Ｓ３２０：Ｎｏ）、押下位置変換処理（Ｓ３２１）を実行し、処理をＳ３２２に移行する。押下位置変換処理（Ｓ３２１）は、タッチパネル２１７に対して押下操作が行われた座標を、ＬＣＤ２１６に表示されている画像Ｇの拡縮倍率Ｚに応じて変換する処理である。
【００６１】
拡縮倍率Ｚは、等倍画像に対する現在の画像のサイズ比である。等倍画像の場合、拡縮倍率Ｚは１である。拡縮倍率Ｚが１より小さい値である場合には、現在にＬＣＤ２１６に表示されている画像Ｇが、等倍画像から縮小されていることを示す。一方、拡縮倍率Ｚが１より大きい値である場合には、現在にＬＣＤ２１６に表示されている画像Ｇが、等倍画像から拡大されていることを示す。拡縮倍率Ｚは、ＲＡＭ２１３に記憶されており、ＬＣＤ２１６に表示される画像が拡大または縮小される毎に随時更新される。なお、等倍画像は、拡大も縮小もしていない画像である。本実施形態では、ＭＦＰ１０から受信したＬＣＤデータに基づく画像を、等倍画像とする。
【００６２】
押下位置変換処理（Ｓ３２１）にて、ＣＰＵ２１１は、まず、ＬＣＤ２１６に表示されている画像Ｇの、等倍画像に対する拡縮倍率Ｚを取得する。次に、ＣＰＵ２１１は、押下位置情報としてＲＡＭ２１３に記憶されている座標を、拡縮倍率Ｚに応じて、等倍画像に対して押下操作を行った場合の座標に変換する。具体的に、ＲＡＭ２１３に記憶されている座標が（Ｘ１，Ｙ１）である場合、ＣＰＵ２１１は、Ｘ１およびＹ１をそれぞれ拡縮倍率Ｚで割る。つまり、変換後の座標は（Ｘ１／Ｚ，Ｙ１／Ｚ）である。
【００６３】
一方、Ｓ３２０において、受け付けた押下イベントが、音声イベントに基づく押下イベントであると、ＣＰＵ２１１が判断した場合（Ｓ３２０：Ｙｅｓ）、ＣＰＵ２１１は、Ｓ３２１の処理をスキップして、処理をＳ３２２に移行する。テキスト位置情報は、等倍画像であるＬＣＤデータの座標であるので、押下位置変換処理（Ｓ３２１）を行う必要がない。
【００６４】
Ｓ３２２において、ＣＰＵ２１１は、押下イベントと、押下位置情報と、ＲＡＭ２１３に記憶されている画面ＩＤとをＭＦＰ１０に送信する。タッチパネル２１７に対する押下操作が行われた場合、Ｓ３２２にて送信される押下位置情報は、押下位置変換処理（Ｓ３２１）にて変換された座標である。一方、入力音声に基づいて押下イベントが発生した場合、送信される押下位置情報は、Ｓ３１３にて取得したテキスト位置情報である。また、Ｓ３２２にて送信される画面ＩＤは、押下操作または音声入力がされたタイミングでＬＣＤ２１６に表示されている画像Ｇに対応する画面ＩＤである。
【００６５】
ＣＰＵ２１１は、Ｓ３２２にて送信した押下イベントに対するＭＦＰ１０の処理結果に応じた処理であるイベント反応処理を実行する（Ｓ３２３）。イベント反応処理（Ｓ３２３）の詳細な処理について、図４を参照して説明する。
【００６６】
図４は、上述したイベント反応処理（Ｓ３２３）を示すフローチャートである。ＣＰＵ２１１は、画面ＩＤの不一致がＭＦＰ１０から通知されたかを判断する（Ｓ４０１）。詳細は図６を参照して後述するが、ＭＦＰ１０は、Ｓ３２２にて押下イベントとともに送信された画面ＩＤが、ＬＣＤ１６に表示中の画面の画面ＩＤと一致するかを判断し、一致しない場合に、その旨を端末２００に通知する。Ｓ３２２の処理後、所定時間（例えば、５秒）内に、当該通知を端末２００が受信した場合、ＣＰＵ２１１は、Ｓ４０１の判断を肯定する。一方で、Ｓ３２２の処理後、所定時間内に、当該通知を端末２００が受信しなければ、ＣＰＵ２１１は、Ｓ４０１の判断を否定する。
【００６７】
なお、Ｓ４０１の判断が肯定される状況としては、例えば、ＭＦＰ１０にてユーザに通知すべき状況が発生した場合に、その旨を報せる表示が、例えば、ポップアップ表示としてＬＣＤ１６に表示され、その結果として、画面ＩＤの不一致が生じた場合などである。ＭＦＰ１０にてユーザに通知すべき状況としては、例えば、プリンタ部１９が使用するインクの残量が残り少なくなった場合などである。
【００６８】
ＣＰＵ２１１がＳ４０１の判断を否定する場合（Ｓ４０１：Ｎｏ）、ＣＰＵ２１１は、本処理を終了し、処理を図３のＳ３０６に移行する。一方、ＣＰＵ２１１がＳ４０１の判断を肯定する場合、すなわち、Ｓ３２２にて押下イベントとともに送信した画面ＩＤが、ＬＣＤ１６に表示中の画面の画面ＩＤとが一致しなかった場合（Ｓ４０１：Ｙｅｓ）、ＣＰＵ２１１は、後述するＳ４０２〜Ｓ４０８の処理を実行する。
【００６９】
具体的に、ＣＰＵ２１１は、上述したＳ３０１と同様に、ＬＣＤデータの取得を行う（Ｓ４０２）。次に、ＣＰＵ２１１は、上述したＳ３０２と同様に、付加情報を取得する（Ｓ４０３）。Ｓ４０３にて取得される付加情報には、ＬＣＤ１６に表示中の画面に対応する画面ＩＤと、次画面有無情報とが含まれる。「次画面有無情報」は、ＬＣＤ１６に表示される画面が遷移したにもかかわらず、ＬＣＤ２１６には表示されていないＬＣＤデータがあるか否かを示す情報である。
【００７０】
ＣＰＵ２１１は、Ｓ４０２にて取得したＬＣＤデータに基づく画像、すなわち、表示中画面に相当する画像Ｇを、端末２００のＬＣＤ２１６に表示する（Ｓ４０４）。ＣＰＵ２１１は、エラー通知処理を実行する（Ｓ４０５）。エラー通知処理（Ｓ４０５）は、ＬＣＤ２１６に表示されている画像Ｇが、ＭＦＰ１０のＬＣＤ１６に表示されている画面に一致しないために画面が変更された旨をユーザに通知する処理であり、例えば、ＬＣＤ２１６にポップアップを表示すること等によって実現される。なお、かかる表示は、表示されてから所定時間後（例えば、３秒後）に自動的に消去される。
【００７１】
ＣＰＵ２１１は、Ｓ４０３にて取得した付加情報、より詳細には、次画面有無情報に基づき、ＬＣＤ１６に表示される画面が遷移したにもかかわらず、ＬＣＤ２１６には表示されていないＬＣＤデータがあるか否かを判断する（Ｓ４０７）。次画面有無情報として、該当するＬＣＤデータがあることを示す情報が受信された場合、ＣＰＵ２１１は、Ｓ４０７の判断を肯定する。一方、次画面有無情報として、該当するＬＣＤデータがないことを示す情報が受信された場合、ＣＰＵ２１１は、Ｓ４０７の判断を否定する。
【００７２】
ＣＰＵ２１１がＳ４０７の判断を肯定した場合（Ｓ４０７：Ｙｅｓ）、ＣＰＵ２１１は、待ち処理を実行し（Ｓ４０８）、処理をＳ４０２に移行する。待ち処理（Ｓ４０８）の待ち時間は、ＬＣＤ２１６に表示される画像の変化をユーザが十分に確認できる程度の時間（例えば、８秒）に設定される。
【００７３】
一方、ＣＰＵ２１１がＳ４０７の判断を否定した場合（Ｓ４０７：Ｎｏ）、ＣＰＵ２１１は、上述したＳ３０４と同様に、最近にＳ４０２にて取得したＬＣＤデータをＯＣＲ処理に供し、テキスト文字列を抽出し、テキスト位置情報を取得する（Ｓ４０９）。ＣＰＵ２１１は、Ｓ４０９にて得られたテキスト文字列（すなわち、抽出文字列）およびテキスト位置情報をＲＡＭ２１３に記憶する（Ｓ４１０）。ＣＰＵ２１１は、Ｓ４１０の処理後、本処理を終了し、処理を図３のＳ３０６に移行する。なお、Ｓ４０９，Ｓ４１０の処理は、Ｓ４０２にてＬＣＤデータが取得される毎に実行してもよい。
【００７４】
図３に戻って説明を続ける。ＣＰＵ２１１は、離上イベントを受信した場合（Ｓ３１８：Ｎｏ，Ｓ３２４：Ｙｅｓ）、Ｓ３２５，Ｓ３２６の処理を実行する。「離上イベント」は、タッチパネル２１７に対し離上操作が行われたことに応じて発生するイベントである。なお、上述した通り、Ｓ３１５にて音声認識用の離上イベントが送信された場合も、Ｓ３２４の判断対象となる押下イベントが発生される。
【００７５】
Ｓ３２５において、ＣＰＵ２１１は、上述したＳ３０９と同様に、イベントを受け付け可能であるかを判断する。イベントの受け付けが可能でないとＣＰＵ２１１が判断した場合（Ｓ３２５：Ｎｏ）、ＣＰＵ２１１は、処理をＳ３０６に移行する。
【００７６】
一方、イベントの受け付けが可能であるとＣＰＵ２１１が判断した場合（Ｓ３２５：Ｙｅｓ）、ＣＰＵ２１１は、離上イベントを受け付ける。ＣＰＵ２１１は、離上イベントの受け付けに伴い、離上操作された位置の座標である離上位置情報をＲＡＭ２１１に記憶する。ここで、受け付けた離上イベントが、音声イベントに基づく離上イベントでない場合、受け付けた離上イベントは、タッチパネル２１７に対し離上操作が行われたことに基づくイベントである。よって、かかる場合、ＣＰＵ２１１は、離上位置情報として、離上操作された位置の座標をＲＡＭ２１３に記憶する。一方、受け付けた離上イベントが、音声イベントに基づく離上イベントである場合、受け付けた離上イベントは、Ｓ３１５にて音声認識用の離上イベントが送信されたことに基づくイベントである。よって、かかる場合、ＣＰＵ２１１は、離上位置情報として、Ｓ３１３にて取得したテキスト位置情報をＲＡＭ２１３に記憶する。
【００７７】
また、ＣＰＵ２１１は、離上イベントの受け付けに伴い、受け付けた離上イベントに応じた処理である離上イベント処理を実行する（Ｓ３２６）。離上イベント処理（Ｓ３２６）の詳細な処理について、図５を参照して説明する。
【００７８】
図５は、上述した離上イベント処理（Ｓ３２６）を示すフローチャートである。ＣＰＵ２１１は、受け付けた離上イベントが、音声イベントに基づく離上イベント、すなわち、Ｓ３１５にて送信された音声認識用の離上イベントから変換された離上イベントであるかを判断する（Ｓ５０１）。受け付けた離上イベントが、音声イベントに基づく離上イベントでないと、ＣＰＵ２１１が判断した場合（Ｓ５０１：Ｎｏ）、離上位置変換処理（Ｓ５０２）を実行し、処理をＳ５０３に移行する。離上位置変換処理（Ｓ５０２）は、タッチパネル２１７に対して離上操作が行われた座標を、ＬＣＤ２１６に表示されている画像Ｇの拡縮倍率Ｚに応じて変換する処理である。離上位置変換処理（Ｓ５０２）は、「押下」を「離上」に読み替える以外、上述した押下位置変換処理（Ｓ３２１）と同じである。
【００７９】
一方、Ｓ５０１において、受け付けた離上イベントが、音声イベントに基づく離上イベントであると、ＣＰＵ２１１が判断した場合（Ｓ５０１：Ｙｅｓ）、ＣＰＵ２１１は、Ｓ５０２の処理をスキップして、処理をＳ５０３に移行する。テキスト位置情報は、等倍画像であるＬＣＤデータの座標であるので、押下位置変換処理（Ｓ３２１）と同様、離上位置変換処理（Ｓ５０１）を行う必要がない。
【００８０】
Ｓ５０３において、ＣＰＵ２１１は、離上イベントと、離上位置情報と、ＲＡＭ２１３に記憶されている画面ＩＤとをＭＦＰ１０に送信する。タッチパネル２１７に対する離上操作が行われた場合、Ｓ５０３にて送信される離上位置情報は、離上位置変換処理（Ｓ５０３）にて変換された座標である。一方、入力音声に基づいて離上イベントが発生した場合、送信される離上位置情報は、Ｓ３１３にて取得したテキスト位置情報である。また、Ｓ５０３にて送信される画面ＩＤは、離上操作または音声入力がされたタイミングでＬＣＤ２１６に表示されている画像Ｇに対応する画面ＩＤである。
【００８１】
ＣＰＵ２１１は、イベントの受け付けを禁止し（Ｓ５０４）、ＬＣＤデータの要求を待機するための待ち処理を実行する（Ｓ５０５）。待ち処理（Ｓ５０５）の待ち時間は、Ｓ５０３にて送信した離上イベントに基づいて、ＭＦＰ１０のＬＣＤ１６に表示される画面がアニメーション表示によって変更されるのに要する程度の時間（例えば、２秒）に設定される。
【００８２】
ＣＰＵ２１１は、待ち処理（Ｓ５０５）の終了後、上述したＳ３０１と同様に、ＬＣＤデータの取得を行う（Ｓ５０６）。次に、ＣＰＵ２１１は、上述したＳ３０２と同様に、付加情報を取得する（Ｓ５０７）。Ｓ５０７にて取得される付加情報には、ＬＣＤ１６に表示中の画面に対応する画面ＩＤと、次画面有無情報とが含まれる。ＣＰＵ２１１は、Ｓ５０６にて取得したＬＣＤデータに基づく画像、すなわち、表示中画面に相当する画像Ｇを、端末２００のＬＣＤ２１６に表示する（Ｓ５０８）。
【００８３】
ＣＰＵ２１１は、Ｓ５０８の処理後、イベントの受け付けの禁止を解除する（Ｓ５０９）。このように、本実施形態の操作支援アプリ２１２ｂによれば、ＬＣＤ１６に表示中の画面に相当する画像ＧがＬＣＤ２１６に表示されたことを条件に、イベントの受け付けの禁止が解除される。
【００８４】
ＣＰＵ２１１は、上述したＳ３０４と同様に、Ｓ５０６にて取得したＬＣＤデータをＯＣＲ処理に供し、テキスト文字列を抽出し、テキスト位置情報を取得する（Ｓ５１０）。ＣＰＵ２１１は、Ｓ５１０にて得られたテキスト文字列（すなわち、抽出文字列）およびテキスト位置情報をＲＡＭ２１３に記憶する（Ｓ５１１）。ＣＰＵ２１１は、Ｓ５１１の処理後、本処理を終了し、処理を図３のＳ３０６に移行する。
【００８５】
図３に戻って説明を続ける。ＣＰＵ２１１は、音声イベント、押下イベント、または離上イベント以外のイベントを受信した場合（Ｓ３２４：Ｎｏ）、その他の処理として、受信したイベントに応じた処理を実行し（Ｓ３２７）、処理をＳ３０６に移行する。Ｓ３２７の処理の対象となるイベントとしては、例えば、タッチパネル２１７に対しドラッグ操作が行われたことに応じて発生するドラッグイベントなどがある。Ｓ３２７の処理は、周知の処理であり、本発明に関係しない処理であるので、詳細な処理の説明は省略する。
【００８６】
ＣＰＵ２１１がＳ３０６の判断を肯定する場合、すなわち、ＭＦＰ１０のＬＣＤ１６にて画面遷移のアニメーション表示の実行中である場合（Ｓ３０６：Ｙｅｓ）、ＣＰＵ２１１は、イベントの受け付けを禁止し（Ｓ３２８）、端末２００がＭＦＰ１０からアニメ終了通知を受信するまで待機する（Ｓ３２９：Ｎｏ）。端末２００がアニメ終了通知を受信した場合（Ｓ３２９：Ｙｅｓ）、ＣＰＵ２１１は、イベントの受け付けの禁止を解除し（Ｓ３３０）、処理をＳ３０１に移行する。
【００８７】
図６は、ＭＦＰ１０のＣＰＵ１１が実行する、遠隔操作時のＭＦＰ側処理を示すフローチャートである。本処理は、端末２００からの遠隔操作に応じてＭＦＰ１０を動作させるための処理である。本処理は、図３と同様、上述した事前処理が完了したことを条件として開始される。
【００８８】
ＣＰＵ１１は、イベントの受信を待ち受ける（Ｓ６０１）。ＣＰＵ１１は、ＬＣＤデータ要求イベントを受信した場合（Ｓ６０２：Ｙｅｓ）、後述するＳ６０３〜Ｓ６１２の処理を実行する。なお、「ＬＣＤデータ要求イベント」は、端末２００からＬＣＤデータの要求を受信した場合に発生するイベントである。
【００８９】
ＬＣＤデータ要求イベントを受信した場合（Ｓ６０２：Ｙｅｓ）、ＣＰＵ１１は、後述するＳ６１６の処理にてＲＡＭ１３に記憶されたＬＣＤデータ、より詳細には、ＬＣＤ１６に表示される画面が遷移したにもかかわらず、ＬＣＤ２１６には表示されていないＬＣＤデータが存在するかを判断する（Ｓ６０３）。
【００９０】
ＲＡＭ１３に記憶されたＬＣＤデータが存在すると、ＣＰＵ１１が判断した場合（Ｓ６０３：Ｙｅｓ）、ＲＡＭ１３に記憶されているＬＣＤデータを取得する（Ｓ６１１）。ＣＰＵ１１は、取得したＬＣＤデータと、付加情報とを端末２００に送信し（Ｓ６１２）、処理をＳ６０１に移行する。Ｓ６１２にて端末２００に送信する付加情報には、取得したＬＣＤデータに対応する画面ＩＤと、次画面有無情報とを含む。より詳細には、Ｓ６１２にて端末２００に送信される次画面有無情報は、ＬＣＤ１６に表示される画面が遷移したにもかかわらず、ＬＣＤ２１６には表示されていないＬＣＤデータがあることを示す情報である。
【００９１】
ＲＡＭ１３に記憶されたＬＣＤデータが存在しないと、ＣＰＵ１１が判断した場合（Ｓ６０３：Ｎｏ）、ＣＰＵ１１は、画面遷移のアニメーション表示が開始されているかを判断する（Ｓ６０４）。画面遷移のアニメーション表示が開始されていると、ＣＰＵ１１が判断した場合（Ｓ６０４：Ｙｅｓ）、ＣＰＵ１１は、アニメ開始通知を端末２００に送信する（Ｓ６０５）。Ｓ６０６の処理の結果、端末２００ではイベントの受け付けが禁止される（図３のＳ３２８）。
【００９２】
ＣＰＵ１１は、Ｓ６０５の処理後、実行中のアニメーション表示が終了するのを待機する（Ｓ６０６：Ｎｏ）。画面遷移のアニメーション表示が終了したと、ＣＰＵ１１が判断した場合（Ｓ６０６：Ｙｅｓ）、ＣＰＵ１１は、アニメ終了通知を端末２００に送信し（Ｓ６０７）、処理をＳ６０８に移行する。Ｓ６０７の処理の結果、端末２００ではイベントの受け付けの禁止が解除される（図３のＳ３３０）。Ｓ６０５〜Ｓ６０７の処理によれば、画面遷移のアニメーション表示が実行されている間、端末２００では、イベントの受け付けが禁止される。
【００９３】
Ｓ６０４において、画面遷移のアニメーション表示が開始されていないと、ＣＰＵ１１が判断した場合（Ｓ６０４：Ｎｏ）、ＣＰＵ１１は、Ｓ６０５〜Ｓ６０７の処理をスキップして、処理をＳ６０８に移行する。Ｓ６０８において、ＣＰＵ１１は、フラッシュメモリ１２内に設けられている画面データマップを参照し、ＬＣＤ１６に表示中の画面に対応するＩＤを取得する（Ｓ６０８）。
【００９４】
ＣＰＵ１１は、取得した画面ＩＤを、転送画面ＩＤとしてＲＡＭ１３に記憶する（Ｓ６０９）。ＣＰＵ１１は、ＬＣＤ１６に表示中の画面に対応するＬＣＤデータと、付加情報とを端末２００に送信し（Ｓ６１０）、処理をＳ６０１に移行する。Ｓ６１０にて端末２００に送信する付加情報には、Ｓ６０８にて取得した画面ＩＤと、次画面有無情報とを含む。より詳細には、Ｓ６１０にて端末２００に送信される次画面有無情報は、ＬＣＤ１６に表示される画面が遷移したにもかかわらず、ＬＣＤ２１６には表示されていないＬＣＤデータがないことを示す情報である。
【００９５】
ＣＰＵ１１は、本体画面遷移イベントを受信した場合（Ｓ６０２：Ｎｏ，Ｓ６１３：Ｙｅｓ）、後述するＳ６１４〜Ｓ６１７の処理を実行する。なお、「本体画面遷移イベント」は、端末２００による遠隔操作とは無関係に、ＬＣＤ１６の画面が遷移した場合に発生するイベントである。
【００９６】
端末２００による遠隔操作とは無関係に、ＬＣＤ１６の画面が遷移する場合としては、例えば、ＭＦＰ１０においてユーザに通知すべき状況が生じたことに応じて、その旨を報せる表示、例えば、ポップアップ表示としてＬＣＤ１６に表示される場合などである。本実施形態では、画像データマップにおいて、ユーザに通知すべき状況が生じたことに応じた表示を含む画面と、当該表示を含まない画面とに対し、それぞれ、異なる画面ＩＤが対応付けられている。
【００９７】
本体画面遷移イベントを受信した場合（Ｓ６０２：Ｎｏ，Ｓ６１３：Ｙｅｓ）、ＣＰＵ１１は、本イベントの発生契機となった画面遷移が生じる前にＬＣＤ１６に表示されていた画面の画面ＩＤ（以下「遷移前画面ＩＤ」と称す）と、ＲＡＭ１３に記憶されている転送画面ＩＤとが一致するかを判断する（Ｓ６１４）。
【００９８】
遷移前画面ＩＤと転送画面ＩＤとが一致する場合、画面遷移が生じる前にＬＣＤ１６に表示されていた画面のＬＣＤデータは、端末２００に送信済みであることを示す。一方、両画面ＩＤが一致しない場合、遷移前画面ＩＤに対応するＬＣＤデータ、すなわち、画面遷移前の画面のＬＣＤデータは、端末２００に送信されていないことを示す。
【００９９】
遷移前画面ＩＤと転送画面ＩＤとが一致すると、ＣＰＵ１１が判断した場合（Ｓ６１４：Ｙｅｓ）、ＬＣＤ１６の画面を遷移させる処理を実行し（Ｓ６１７）、処理をＳ６０１に移行する。遷移前画面ＩＤと転送画面ＩＤとが一致しないと、ＣＰＵ１１が判断した場合（Ｓ６１４：Ｎｏ）、ＣＰＵ１１は、画面遷移前の画面のＬＣＤデータを記憶する必要があるかを判断する（Ｓ６１５）。
【０１００】
画像データマップには、各画面のＬＣＤデータに対し、記憶要否情報が対応付けられている。「記憶要否情報」は、画面遷移前の画面のＬＣＤデータが端末２００に送信されていない場合に、当該ＬＣＤデータを記憶する必要があるか否かを示す情報である。つまり、遷移前画面ＩＤと転送画面ＩＤとが一致しない場合に、画面遷移前の画面のＬＣＤデータを記憶するか否かは、画像データマップに予め定められている。
【０１０１】
ＣＰＵ１１は、Ｓ６１５の判断を、画像データマップを参照することによって行う。画面遷移前の画面のＬＣＤデータを記憶する必要があると、ＣＰＵ１１が判断した場合（Ｓ６１５：Ｙｅｓ）、画面遷移前の画面のＬＣＤデータをＲＡＭ１３に記憶し（Ｓ６１６）、処理をＳ６１７に移行する。一方、画面遷移前の画面のＬＣＤデータを記憶する必要がないと、ＣＰＵ１１が判断した場合（Ｓ６１５：Ｎｏ）、ＣＰＵ１１は、Ｓ６１６の処理をスキップして、処理をＳ６１７に移行する。
【０１０２】
ＣＰＵ１１は、押下イベントを受信した場合（Ｓ６１３：Ｎｏ，Ｓ６１８：Ｙｅｓ）、後述するＳ６１９〜Ｓ６２３の処理を実行する。なお、「押下イベント」は、端末２００から押下イベントを受信した場合に発生するイベントである。
【０１０３】
押下イベントを受信した場合（Ｓ６１３：Ｎｏ，Ｓ６１８：Ｙｅｓ）、ＣＰＵ１１は、押下イベントとともに端末２００から受信した画面ＩＤを取得する（Ｓ６１９）。ＣＰＵ１１は、取得した画面ＩＤと、ＬＣＤ１６に表示中の画面に対応する画面ＩＤとが一致するかを判断する（Ｓ６２０）。両画面ＩＤが一致しないと、ＣＰＵ１１が判断した場合（Ｓ６２０：Ｎｏ）、ＣＰＵ１１は、画面ＩＤの不一致を端末２００に通知し（Ｓ６２３）、処理をＳ６０１に移行する。Ｓ６２３の処理の結果、端末２００のＣＰＵ２１１は、図４のＳ４０１の判断を肯定する。
【０１０４】
一方、取得した画面ＩＤと、ＬＣＤ１６に表示中の画面に対応する画面ＩＤとが一致すると、ＣＰＵ１１が判断した場合（Ｓ６２０：Ｙｅｓ）、ＣＰＵ１１は、押下イベントとともに端末２００から受信した押下位置情報をＲＡＭ１３に記憶する（Ｓ６２１）。なお、受信した押下位置情報が示す座標を必要に応じて変換し、変換後の座標をＲＡＭ１３に記憶する構成としてもよい。
【０１０５】
ＣＰＵ１１は、押下処理を実行し（Ｓ６２２）、処理をＳ６０１に移行する。押下処理（Ｓ６２２）は、タッチパネル１７を介して押下操作がされた場合と同様の処理である。具体的に、押下処理（Ｓ６２２）において、ＣＰＵ１１は、Ｓ６２１にてＲＡＭ１３に記憶された座標が、押下による操作対象となるオブジェクト上に位置するかを判断する。ＣＰＵ１１が当該判断を肯定した場合、ＣＰＵ１１は、該当するオブジェクトが押下されたことをＲＡＭ１３に記憶する。
【０１０６】
なお、押下イベントとともに端末２００から受信した押下位置情報に応じた座標が、テキスト文字列の位置を示す座標であり、かつ、当該テキスト文字列に関連付けられているオブジェクトが存在する場合、ＣＰＵ１１は、当該オブジェクトが押下されたことをＲＡＭ１３に記憶する。
【０１０７】
ＣＰＵ１１は、離上イベントを受信した場合（Ｓ６１８：Ｎｏ，Ｓ６２４：Ｙｅｓ）、後述するＳ６２５〜Ｓ６２７の処理を実行する。なお、「離上イベント」は、端末２００から離上イベントを受信した場合に発生するイベントである。
【０１０８】
離上イベントを受信した場合（Ｓ６１８：Ｎｏ，Ｓ６２４：Ｙｅｓ）、ＣＰＵ１１は、当該離上イベントが、ドラッグ操作の終了に伴う離上イベントであるかを判断する（Ｓ６２５）。受信した離上イベントがドラッグ操作の終了に伴う離上イベントであると、ＣＰＵ１１が判断した場合（Ｓ６２５：Ｙｅｓ）、ＣＰＵ１１は、ドラッグ操作に応じた処理を実行し（Ｓ６２６）、処理をＳ６２７に移行する。Ｓ６２６の処理は、周知の処理であり、本発明に関係しない処理であるので、詳細な処理の説明は省略する。一方、受信した離上イベントがドラッグ操作の終了に伴う離上イベントでないと、ＣＰＵ１１が判断した場合（Ｓ６２５：Ｎｏ）、ＣＰＵ１１は、処理をＳ６２７に移行する。
【０１０９】
ＣＰＵ１１は、離上処理を実行し（Ｓ６２７）、処理をＳ６０１に移行する。離上処理（Ｓ６２７）は、タッチパネル１７を介して離上操作がされた場合と同様の処理である。具体的に、離上処理（Ｓ６２７）において、例えば、離上イベントとともに端末２００から受信した離上位置情報が示す座標が、ＲＡＭ１３に記憶されている押下位置情報が示す座標に一致し、かつ、押下されたとして記憶されるオブジェクトがＲＡＭ１３に記憶され、かつ、当該オブジェクトに所定の処理が対応付けられている場合、ＣＰＵ１１は、ＲＡＭ１３に記憶されているオブジェクトに対応付けられた処理を実行する。
【０１１０】
ＣＰＵ１１は、ＬＣＤデータ要求イベント、本体画面遷移イベント、押下イベント、または離上イベント以外のイベントを受信した場合（Ｓ６２４：Ｎｏ）、その他の処理として、受信したイベントに応じた処理を実行し（Ｓ６２８）、処理をＳ６０１に移行する。Ｓ６２８の処理の対象となるイベントとしては、例えば、端末２００にてドラッグ操作が行われたことに応じたイベントを受信した場合に発生するイベントなどがある。Ｓ６２８の処理は、周知の処理であり、本発明に関係しない処理であるので、詳細な処理の説明は省略する。
【０１１１】
本実施形態の操作支援アプリ２１２ｂによれば、ＭＦＰ１０から受信したＬＣＤデータから抽出されたテキスト文字列（すなわち、抽出文字列）の中に、入力音声から変換されたテキスト文字列（すなわち、入力文字列）に一致する文字列がある場合には、ＬＣＤデータ上での入力文字列の表示位置を示すテキスト位置情報が示す表示位置に対し、押下操作と、それに続く離上操作が行われたかのように、押下イベントおよび離上イベントがＭＦＰ１０に送信される。
【０１１２】
一方、ＭＦＰ１０は、端末２００から押下イベントおよび離上イベントを受信した場合には、タッチパネル１７上における押下位置情報または離上位置情報により特定される表示位置に対し、押下操作および離上操作が行われたかのように動作する。よって、音声入力により、ＭＦＰ１０のタッチパネル１７に対する押下操作または離上操作を行うことができる。これにより、音声入力によるＭＦＰ１０の遠隔操作が可能となる。
【０１１３】
特に、ＭＦＰ１０は、テキスト位置情報によって、押下操作または離上操作が行われた位置を特定できるので、操作ボタンなどの押下による操作対象となるオブジェクト毎にコマンドを設定する必要がない。よって、ＭＦＰ１０のモデルに依存することなく、ＭＦＰ１０に対し、音声入力による遠隔操作を行い得る。
【０１１４】
本実施形態の操作支援アプリ２１２ｂによれば、Ｓ５０６など、離上イベントおよび離上位置情報が送信されたことを条件として、ＬＣＤデータの取得要求が行われるので、離上イベントの送信に応じて、ＭＦＰ１０のＬＣＤ１６に表示される画面に遷移が生じた場合に、その遷移後の画面に対応するＬＣＤデータを取得できる。よって、ＬＣＤ１６に表示される画面と、ＬＣＤ２１６に表示される画像Ｇとが不一致になることを抑制できるので、離上位置情報が本来に意図する位置とは異なる位置として認識され、ＭＦＰ１０が誤作動することを抑制できる。特に、上記ＬＣＤデータの取得要求は、待ち処理（Ｓ５０５）を介して行われるので、ＬＣＤ１６に表示される画面と、ＬＣＤ２１６に表示される画像Ｇとの不一致をより好適に防止できる。
【０１１５】
本実施形態の操作支援アプリ２１２ｂによれば、待ち処理（Ｓ５０５）の間は、端末２００においてイベントの受け付けが禁止されるので、この点においても、ＭＦＰ１０が誤作動を抑制できる。また、画面遷移のアニメーション表示中もまた、端末２００においてイベントの受け付けが禁止される。画面遷移のアニメーション表示中は、ＬＣＤ１６に表示される画面と、ＬＣＤ２１６に表示される画像Ｇとの間に不一致が生じる可能性がある。よって、画面遷移のアニメーション表示中、端末２００においてイベントの受け付けを禁止したことによって、ＭＦＰ１０にて誤作動が生じることを抑制できる。
【０１１６】
本実施形態の操作支援アプリ２１２ｂによれば、押下イベントとともに、ＬＣＤ２１６に表示されている画像Ｇに対応する画面ＩＤをＭＦＰ１０に送信するので、当該画面ＩＤが、ＬＣＤ１６に表示中の画面に対応する画面ＩＤと一致するかを、ＭＦＰ１０に判断させることができる。そして、ＭＦＰ１０から画面ＩＤの不一致が通知された場合には、Ｓ４０２のＬＣＤデータの取得要求が行われるので、ＬＣＤ１６に表示される画面と、ＬＣＤ２１６に表示される画像Ｇとの不一致を解消できる。また、かかる場合に、エラー通知処理（Ｓ４０５）が実行されるので、ユーザにその旨を報せることができる。
【０１１７】
上記実施形態において、操作支援アプリ２１２ｂが、操作支援プログラムの一例である。端末２００が、端末装置の一例である。ＭＦＰ１０が、外部装置の一例である。ＣＰＵ２１１が、制御部の一例である。音声入力部２１９が、音声入力部の一例である。無線通信部２２３が、通信部の一例である。ＬＣＤ２１６が、端末側表示部の一例である。タッチパネル２１７が、検出部の一例である。ＲＡＭ２１３が、記憶部の一例である。ＬＣＤ１６が、外部装置側表示部の一例である。テキスト文字列が、テキストの一例である。テキスト位置情報が、第１位置情報の一例である。押下操作が、第１操作の一例である。離上操作が、第２操作の一例である。押下イベントが、第１操作を示す情報の一例である。押下位置情報が、第２位置情報の一例である。離上イベントが、第２操作を示す情報の一例である。離上位置情報が、第３位置情報の一例である。画面ＩＤの不一致についての通知が、エラー情報の一例である。
【０１１８】
Ｓ３０１，Ｓ４０２，Ｓ５０６の処理を実行するＣＰＵ２１１が、画像取得手段の一例である。Ｓ３０４，Ｓ４０９，Ｓ４１１の処理を実行するＣＰＵ２１１が、テキスト取得手段、第１位置情報特定手段の一例である。Ｓ３１０の処理を実行するＣＰＵ２１１が、変換手段の一例である。Ｓ３０３の処理を実行するＣＰＵ２１１が、第１判断手段の一例である。Ｓ３１４，Ｓ３１５，Ｓ３２２，Ｓ５０３の処理を実行するＣＰＵ２１１が、第１出力手段の一例である。Ｓ４０２，Ｓ５０６の処理を実行するＣＰＵ２１１が、画像要求手段の一例である。Ｓ３０３，Ｓ４０４，Ｓ５０８の処理を実行するＣＰＵ２１１が、画像表示手段の一例である。Ｓ３１８，Ｓ３２４の処理を実行するＣＰＵ２１１が、第２判断手段の一例である。Ｓ３２２の処理を実行するＣＰＵ２１１が、第２出力手段の一例である。Ｓ５０３の処理を実行するＣＰＵ２１１が、第３出力手段の一例である。Ｓ５０５の処理を実行するＣＰＵ２１１が、待機手段の一例である。Ｓ５０４，Ｓ５０９の処理を実行するＣＰＵ２１１が、第１出力制御手段の一例である。Ｓ３２８，Ｓ３３０の処理を実行するＣＰＵ２１１が、第２出力制御手段の一例である。Ｓ３０２，Ｓ４０３，Ｓ５０７の処理を実行するＣＰＵ２１１が、特定情報取得手段、記憶手段の一例である。
【０１１９】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【０１２０】
例えば、上記実施形態では、本発明の端末装置として、タブレット端末である端末２００を例示したが、パーソナルコンピュータや、スマートフォンや、携帯電話や、デジタルカメラや、携帯音楽再生装置などであっても、本発明の端末装置の一例となり得る。上記実施形態では、ＯＳ１２ａとして、アンドロイドＯＳを例示したが、他のＯＳを採用してもよい。
【０１２１】
上記実施形態では、音声入力部１９として内蔵マイクを例示したが、音声入力部１９は、外付けのマイクなどの音声入力用デバイスを装着可能なインタフェースとして構成されていてもよい。本変形例では、当該インタフェースが「音声入力部」に相当する。上記実施形態では、遠隔操作用の画像に対するタッチ操作をタッチパネル２１７が検出する構成としたが、マウスなどのポインティングデバイスを用いて、遠隔操作用の画像に対する操作を行う構成であっても、本発明を適用できる。
【０１２２】
上記実施形態では、端末２００のＬＣＤ２１６に、ＭＦＰ１０のＬＣＤ１６に表示中の画面に相当する画像Ｇを表示させる構成としたが、画像ＧをＬＣＤ２１６に表示することなく、音声入力に応じた押下イベントおよび離上イベントをＭＦＰ１０に送信して、当該ＭＦＰ１０を遠隔操作する構成としてもよい。
【０１２３】
上記実施形態では、ＭＦＰ１０と端末２００との間の通信を、ＡＰ５０を介するインフラストラクチャーモードでのＷｉ−Ｆｉ通信を例示したが、直接接続であるアドホックモードでのＷｉ−Ｆｉ通信であっても、本発明を適用できる。あるいは、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの他の通信方法であっても、本発明を適用できる。上記実施形態では、本発明の端末装置による遠隔操作の対象となる外部装置として、多機能周辺装置であるＭＦＰ１０を例示したが、スキャナ装置や、プリンタ装置などの単機能を有する装置や、画像や音楽を再生するための装置などであってもよい。
【０１２４】
上記実施形態では、ＭＦＰ１０は、ＬＣＤ１６に表示中の画面の画像データとして、当該画面のビットマップデータを送信し、端末２００は、当該ビットマップデータに基づき、ＬＣＤ１６に表示中の画面をＬＣＤ２１６に表示する構成とした。これに代えて、ＭＦＰ１０は、ＬＣＤ１６に表示中の画面を特定する情報、例えば、画面ＩＤを送信し、端末２００は、受信した画面ＩＤに応じた画面をＬＣＤ２１６に表示する構成としてもよい。本変形例では、端末２００には、ＭＦＰ１０のＬＣＤ１６に表示可能な全ての画面に対応するビットマップデータなどの画像データが記憶されるとともに、操作支援アプリ２１２ｂが、ＭＦＰ１０から受信可能な画面ＩＤの各々に対し、記憶されている画像データを関連付けるテーブルを有している。本変形例では、画面ＩＤが、特許請求の範囲における「外部装置側表示部に表示される画面に関する画像データ」に対応する。
【０１２５】
上記実施形態において、ＣＰＵ２１１は、音声イベントを受信した場合、端末２００の内部にて押下イベントおよび離上イベントに変換されるイベント、すなわち、音声認識用の押下イベントおよび離上イベントを送信する構成とした。これに代えて、ＣＰＵ２１１は、音声イベントを受信した場合に、押下イベントおよび離上イベントをＭＦＰ１０に送信する構成としてもよい。つまり、本変形例において、ＣＰＵ２１１は、音声認識用の押下イベントに代えて、押下イベントと、押下位置情報としてのテキスト位置情報と、画像ＩＤとをＭＦＰ１０に送信する。一方、ＣＰＵ２１１は、音声認識用の離上イベントに代えて、離上イベントと、離上位置情報としてのテキスト位置情報と、画像ＩＤとをＭＦＰ１０に送信する。なお、本変形例では、ＣＰＵ２１１は、Ｓ３１４の処理に代えて、Ｓ３２２，Ｓ３２３の処理を実行する。また、ＣＰＵ２１１は、Ｓ３１５の処理に代えて、Ｓ５０３〜Ｓ５１２の処理を実行する。
【０１２６】
上記実施形態では、ＣＰＵ２１１は、音声イベントを受信したことに応じて、押下イベントおよび離上イベントをＭＦＰ１０に送信する構成とした。これに代えて、ＣＰＵ２１１は、Ｓ３１３にて取得されたテキスト位置情報を、音声入力がされたことを示す情報とともに、ＭＦＰ１０に送信する構成としてもよい。本変形例では、ＭＦＰ１０は、音声入力がされたことを示す情報を受信した場合に、当該情報とともに受信したテキスト位置情報が示す位置で押下操作および離上操作が行われた場合に等しい処理を実行するよう構成される。あるいは、ＭＦＰ１０が、押下イベントおよび離上イベントを１つのイベントとして認識可能な構成であれば、そのようなイベントをＭＦＰ１０に送信する構成としてもよい。
【０１２７】
上記実施形態では、Ｓ３０９において、イベント受付可能であるかを判断する構成としたが、Ｓ３０９の処理は省略してもよい。上記実施形態では、Ｓ３１４，Ｓ３１５にて、音声認識用の押下イベントおよび離上イベントが送信され、これらのイベントが押下イベントおよび離上イベントに変換されるので、イベント受付が禁止されている場合には、Ｓ３１９およびＳ３２５にて、変換後の押下イベントおよび離上イベントが受け付けられず、Ｓ３０９にて音声イベントの受け付けを禁止した場合と同等の処理結果が得られる。
【０１２８】
上記実施形態では、端末２００は、ＭＦＰ１０にて画面遷移のアニメーション表示が実行されている期間や、ＭＦＰ１０に離上イベントを送信してから、ＭＦＰ１０から受信したＬＣＤデータに基づく画像が表示される期間において、イベントの受け付けを禁止することにより、入力音声に基づく遠隔操作を行わない構成とした。これに代えて、音声入力部１９からの音声入力を禁止する構成としてもよい。
【０１２９】
上記実施形態では、離上イベント処理（図５）において、離上イベントなどを送信した後、ＬＣＤデータの取得を所定時間に亘り待機する待ち処理（Ｓ５０５）が実行される構成とした。当該待ち処理（Ｓ５０５）に代えて、ＭＦＰ１０のＬＣＤ１６にて画面遷移のアニメーション表示が実行されている場合に、当該アニメーション表示が実行されている間はＬＣＤ１６に表示される画面が遷移する毎に、Ｓ５０６〜Ｓ５０８の表示を実行する構成としてもよい。なお、本変形例では、Ｓ５０３の処理後、イベントの受け付けが禁止される期間は、画面遷移のアニメーション表示の実行期間に依存することになる。
【０１３０】
上記実施形態では、ＭＦＰ１０のＬＣＤ１６にて表示されるアニメーション表示として、画面遷移のアニメーション表示を例示したが、表示中の画面は変化することなく、当該画面内に配置されるオブジェクトの内容が変化するアニメーション表示も存在し得る。表示中の画面内に配置されるオブジェクトの内容が変化するアニメーション表示としては、処理の進行度合いを表示するプログレスバーの内容が刻々と変化する表示などを例示できる。ＭＦＰ１０のＬＣＤ１６にて、表示中の画面内に配置されるオブジェクトの内容が変化するアニメーション表示が行われている場合には、イベントの受け付けが禁止しない構成としてもよい。かかるアニメーション表示は、画面の変化を伴わないので、端末２００から出力された押下位置情報や離上位置情報により、ＭＦＰ１０のＬＣＤ１６に表示される画面上における意図する位置を正しく指定できる。よって、音声入力よる遠隔操作が無駄にキャンセルされることを抑制できる。
【０１３１】
上記実施形態では、ＭＦＰ１０から画面ＩＤの不一致が通知された場合に、ＭＦＰ１０に対し、ＬＣＤデータの要求を行う構成とした。これに代えて、ＭＦＰ１０が、Ｓ６２０にて、画面ＩＤが一致しないと判断した場合に、ＭＦＰ１０がＬＣＤデータを端末２００に送信する構成としてもよい。
【０１３２】
上記実施形態では、ＭＦＰ１０は、端末２００から押下イベントを受信した場合に、当該押下イベントとともに受信した画面ＩＤが、ＬＣＤ１６に表示中の画面に対応する画面ＩＤに一致するかを判断する構成としたが、当該判断は、ＭＦＰ１０が端末２００から離上イベントを受信した場合にも行う構成としてもよい。本変形例では、ＭＦＰ１０は、これらの画面ＩＤが一致しないと判断した場合、押下イベントを受信した場合と同様に、画面ＩＤの不一致を通知する。一方、端末２００のＣＰＵ２１１は、離上イベント処理（図５）におけるＳ５０３の処理後、Ｓ４０１と同様の判断を実行する。そして、ＣＰＵ２１１が当該判断を否定した場合には、ＣＰＵ２１１は、Ｓ５０４〜Ｓ５１１の処理を実行する。一方、ＣＰＵ２１１が当該判断を肯定した場合、ＣＰＵ２１１は、Ｓ４０２〜Ｓ４１０と同様の処理を実行する。
【０１３３】
上記実施形態では、ＣＰＵ２１１が、押下イベントや離上イベントを受信したことに応じて、ＬＣＤデータの要求をＭＦＰ１０に行い、ＬＣＤデータを取得する構成としたが、ＬＣＤデータの取得タイミングとしては、これに限らず、例えば、５０ｍｓｅｃ毎などの定期的にＭＦＰ１０から送信されるＬＣＤデータを取得する構成であってもよい。かかる変形例では、最新に取得したＬＣＤデータと、前回に取得したＬＣＤデータとが同じである場合には、ＬＣＤ２１６の表示を更新しないようにすればよい。
【０１３４】
上記実施形態および変形例では、ＣＰＵ２１１が、図３〜図５に記載される各処理を実行する構成として説明したが、これら各図に記載される各処理を、複数のＣＰＵが協同的に実行する構成としてもよい。また、ＡＳＩＣなどのＩＣが、単独で、または、複数によって協働的に、上記各図に記載される各処理を実行する構成してもよい。また、ＣＰＵ１１とＡＳＩＣなどのＩＣとが協同して、上記各図に記載される各処理を実行する構成してもよい。また、図３〜図５に示す各処理のうち、一部の処理を、特許請求の範囲における独立請求項から逸脱しない範囲で、省略または変更してもよい。
【符号の説明】
【０１３５】
１０：ＭＦＰ．２００：端末，２１２ｂ：操作支援アプリ
【図１】
2015166912.tif 000003
【図２】
2015166912.tif 000004
【図３】
2015166912.tif 000005
【図４】
2015166912.tif 000006
【図５】
2015166912.tif 000007
【図６】
2015166912.tif 000008