(57)【要約】【課題】開示の技術は、様々なアプリケーションに対して、ユーザによるアクセスの容易さ、使いやすさ等（アクセッシビリティ）を、より向上させることを目的とする。【解決手段】実施形態は、情報処理装置が、ユーザの動作を受け取るステップと、受け取られた前記動作によって、データベースから所定の操作を検索するステップと、検索された前記所定の操作であって、前記動作とは異なる前記所定の操作を、アプリケーションに与えるステップと、を実行する方法を開示する。【選択図】図７
2018063706.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が、
ユーザの動作を受け取るステップと、
受け取られた前記動作によって、データベースから所定の操作を検索するステップと、
検索された前記所定の操作であって、前記動作とは異なる前記所定の操作を、アプリケーションに与えるステップと、
を実行する情報処理方法。
【請求項２】
前記動作は、カメラで撮像されたユーザの身体の動き又はマイクロフォンから取得されたユーザの音声である、請求項１に記載の情報処理方法。
【請求項３】
前記情報処理装置は、前記アプリケーションが動作する装置とは異なる装置である、請求項１または２に記載の情報処理方法。
【請求項４】
前記情報処理装置に、請求項１ないし３のうち、いずれか１項記載の方法を実行させるプログラム。
【請求項５】
ユーザの動作を受け取る動作受取部と、
受け取られた前記動作によって、データベースから所定の操作を検索する検索部と、
検索された前記所定の操作であって、前記動作とは異なる前記所定の操作を、アプリケーションに与える指示部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理方法、プログラム及び情報処理装置に関する。
【背景技術】
【０００２】
携帯電話、タブレットなどの携帯端末、音楽再生装置、ラップトップコンピュータなどのＣＰＵを有する機器では、多種多様なアプリケーションが動作する。これらのアプリケーションは、ユーザからの指示を受け入れると共に、ユーザに対して情報を提供するためのユーザインタフェースが備えられている。
【０００３】
これらの機器で動作するアプリケーションの各々は、独自に設計され、それぞれ独自のユーザインタフェースによって、独自の方式でユーザと機器との間のインターラクションを実現している。もちろん、オペレーティングシステムが提供する基本的なユーザインタフェースは、同じオペレーティングシステム上で動作するアプリケーションにおいて、統一化されている場合が多い。また、同じ企業が同じ設計思想の基に開発したアプリケーション群では、同じユーザインタフェースが採用されることが多い。
【０００４】
しかしながら、世の中には、複数のオペレーティングシステムが存在し、またオペレーティングシステムのレベルでサポートされる周辺機器も様々なものが存在するため、この基本的なユーザインタフェースにおいてもオペレーティングシステム毎に相違する場合がある。また、１つの企業において同じ設計思想の基に作られたアプリケーション群であっても、それらのユーザインタフェースには異なる部分が存在することがある。また、同じアプリケーションであっても、バージョンの違いによって、ユーザインタフェースが変更される場合がある。したがって、アプリケーション毎に、ユーザと機器とのインターラクションも異なる場合が多い。
【０００５】
また、自動車の運転などをしている場合には、携帯端末を操作することができない場合があり、運転中でのアプリケーションの操作に支障を来す場合もある。
【０００６】
このため、たとえば、画面の表示を拡大する場合を例に取ると、アプリケーションによって、ピンチアウトによって指示するもの、マウスのダブルクリックで指示するもの、マウスのホイールを回転させることによって指示するものなど、様々な指示が存在する。
【０００７】
したがって、同様の指示を与える場合であっても、個々のアプリケーションによって、ユーザに対して異なる操作が要求される場合が多い。また、運転中など、操作すること自体に支障を来す場合がある。
【０００８】
このような状況において、インタフェースを介するユーザの操作を別の操作に置き換える技術が存在している。
【０００９】
例えば、メニューの階層を通してアクセスされ得る装置の機能にアクセスする音声及び／又は手動ユーザインタフェースを有し、音声ショートカットと称されるある種の音声命令によって分岐を近道することができる。この装置は、ユーザによる相互作用の系列を記憶する記憶手段と、記憶された相互作用の系列に対応する音声ショートカットを見つける手段と、音声ショートカットが見つけられた場合に、この音声ショートカットの存在をユーザに通知するためユーザにメッセージを配信する手段とを有する技術が存在する（例えば、特許文献１参照）。
【００１０】
また、データベースからレコードを問合せ及び表示するためのユーザインタフェースにおいて、ユーザプロファイルが与えられ操作されて、他の基準と同じやり方で問合せと協力する。たとえば、ユーザが明示的な選択をルール形式でユーザプロファイルに組込む、より典型的な選択プロファイルと同じやり方で、かかる「暗黙の」プロファイルを問合せに追加することができる技術が存在する（例えば、特許文献２参照）。
【００１１】
しかしながら、このような操作を置き換える技術は、特定のアプリケーションに対して、ショートカットなどを実現することにより、操作者の手間を省くなどの目的のために向けられた技術である。したがって、このような従来技術は、アプリケーション毎に、ユーザの各操作に対応する動作を行うよう、各アプリケーションを設計する必要がある。
【００１２】
依然として、アプリケーションの開発者は、アプリケーション毎に、ユーザインタフェースを作り込むことが必要であり、ユーザは、そのユーザインタフェースに応じた操作を習得しなければならない。
【００１３】
このため、種々の利用状況において、様々なアプリケーションに対してユーザによるアクセスの容易さ、使いやすさ等（アクセッシビリティ）を、より向上させることが望まれている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０００−２３１３９８号公報
【特許文献２】特表２００３−５２９１５４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
開示の技術は、様々なアプリケーションに対して、ユーザによるアクセスの容易さ、使いやすさ等（アクセッシビリティ）を、より向上させることを目的とする。
【課題を解決するための手段】
【００１６】
一実施形態は、情報処理装置が、ユーザの動作を受け取るステップと、受け取られた前記動作によって、データベースから所定の操作を検索するステップと、検索された前記所定の操作であって、前記動作とは異なる前記所定の操作を、アプリケーションに与えるステップと、を実行する方法を開示する。
【発明の効果】
【００１７】
開示の技術によって、様々なアプリケーションに対して、ユーザによるアクセスの容易さ、使いやすさ等（アクセッシビリティ）を、より向上させることができる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態における機器構成の例を示す図である。
【図２】一実施形態の機能の概要を説明する図である。
【図３】一実施形態における動作定義の例を示す図である。
【図４】アプリケーションの具体的な表示の例を示す図である。
【図５】画面の拡大及び縮小を指示する例を示す図である。
【図６】一実施形態の動作を示すフローチャートである。
【図７】一実施形態が実装されるユーザインタフェース制御プログラムの動作環境の例を示す図である。
【図８】一実施形態が実装されるユーザインタフェース制御プログラムの動作環境の例を示す図である。
【図９】ユーザの動作、画面表示の特徴抽出結果等から、適切な指示及び操作を抽出するためのデータベースを作成する一例を示す図である。
【図１０】ハードウエア構成の例を示す図である。
【発明を実施するための形態】
【００１９】
＜機器構成の例示＞
図１に、一実施形態における機器構成の例を示す。この実施形態は、携帯端末１００と、サーバ装置１１０と、インタフェースデバイス１６０とを有する。なお、サーバ装置１１０及びインタフェースデバイス１６０は、必ずしも存在しなくてもよく、携帯端末１００だけで、実施形態が実現されてもよい。
【００２０】
実施形態は、例えば携帯端末１００において動作するプログラムとして実装されてもよい。また、実施形態は、携帯端末１００と他の装置（例えばサーバ装置１１０、インタフェースデバイス１６０）とが連携して実現されてもよい。実施形態は、方法の発明として実現されてもよい。また、実施形態は、装置などの物の発明として実現されてもよい。
【００２１】
インタフェースデバイス１６０は、例えば、ユーザ１４２から発せられた音声１４０、人の指のジェスチャー１５２、ジェスチャー１５４、スイッチＳＷ１３０からの信号などの情報を受け取る。インタフェースデバイス１６０は、受け取った情報を電気信号に変換し、通信１４５を介して、無線又は有線により、変換された情報を携帯端末に送ることができる。
【００２２】
携帯端末１００には、携帯電話網、無線ローカルエリアネットワーク（ＷｉＦｉ）、ブルートゥース（登録商標）、近距離無線通信（ＮＦＣ）などの通信機能が実装されている。携帯端末１００は、通信機能を用いて、例えばインターネットなどのネットワーク網、或いは、Ｐ２Ｐ通信を用いて、他の携帯端末、或いはサーバ装置１１０などの種々のコンピュータと通信することで、様々な情報の伝送を行うことができる。
【００２３】
また、携帯端末１００は、インタフェースデバイス１６０を介さずに、音声１４０、人の指のジェスチャー１５２、ジェスチャー１５４、スイッチＳＷ１３０からの信号などの情報を受け取ってもよい。携帯端末１００は、１つ以上のカメラ１０２を有し、例えば、人の指のジェスチャー１５２、ジェスチャー１５４などを動画又は静止画として取得することができる。また、ユーザ１４２から発せられた音声１４０は、マイク１０６によって、携帯端末１００に取得され得る。また、携帯端末に接続されたスイッチＳＷ１３０を用いて、ユーザ１４２によって入力された指示が、携帯端末１００に取り込まれてもよい。携帯端末１００には、スイッチＳＷ１３０を接続するための端子（不図示）が設けられていてもよい。或いは、携帯端末１００と、スイッチＳＷ１３０とが、無線で接続されてもよい。また、携帯端末は、ディスプレイ１０４を有する。ディスプレイ１０４の画面表示は、本実施形態においてパターン認識され利用される。
【００２４】
一実施形態においては、後述するように、データベースの更新情報が、サーバ装置１１０からネットワークＮＷ１２０を介して携帯端末に提供されてもよい。或いは、携帯端末１００から、ネットワークＮＷ１２０を介して、サーバ装置１１０に存在するデータベースに検索コマンドを送り、携帯端末１００が、検索結果をサーバ装置１１０から取得してもよい。後述するデータベースは、ネットワークＮＷ１２０に接続されたいずれかのハードウエアに存在していればよい。
【００２５】
なお、図１では、携帯電話の形を有する携帯端末１００が示されているが、携帯端末１００は、携帯電話に限られるものではなく、例えば、自動車のフロントパネルなどに埋め込まれて固定されたハードウエアであってもよい。或いは、携帯端末１００は、通信機能を有する腕時計、或いは、その他のウエアラブルな機器であってもよい。また、インタフェースデバイス１６０は、自動車のハンドルなどに固定されたハードウエアであってもよい。
【００２６】
図２は、一実施形態の機能の概要を説明する図である。
【００２７】
より詳細には、図２は、携帯端末上で動作する地図を表示するためのアプリケーションのユーザインタフェースを制御する実施形態を示す。
【００２８】
まず、図２の地図アプリケーションの動作を説明する。その後、一実施形態の説明を行う。
【００２９】
＜地図アプリケーションの本来の動作説明＞
図２（Ａ）において、携帯端末１００の画面表示２１０が示されている。矢印のマーク２１１は、地図上の目的地を示すシンボルである。星のマーク２１２は、地図上の現在地（携帯端末１００が現在存在する位置）を示すシンボルである。
【００３０】
四角の枠で囲まれた表示「目的地」２１４は、目的地を画面の中央に表示させるための指示に用いるボタンの表示である。ユーザが、指で、このボタン「目的地」２１４の位置をタップすると、目的地を画面の中央に表示させるための指示を、地図アプリケーションに与えることができる。図２（Ａ）の画面表示２１０では、ボタン「目的地」２１４がタップされた直後の状態を示している。したがって、目的地を示す矢印のマーク２１１が、画面表示２１０の中央に表示されている。
【００３１】
四角の枠で囲まれた表示「現在地」２１６は、現在地を画面の中央に表示させるための指示に用いるボタンの表示である。ユーザが、指で、このボタン「現在地」２１６の位置をタップすると、現在地を画面の中央に表示させるための指示を、地図アプリケーションに与えることができる。
【００３２】
図２（Ｂ）の画面表示２２０では、「現在地」２１６がタップされた直後の状態を示している。したがって、現在地を示す星のマーク２１２が、画面表示２１０の中央に表示されている。
【００３３】
＜第１の実施形態の動作説明＞
本実施形態においては、ユーザの音声によって、地図アプリケーションに指示を与える例を示す。なお、動作の詳細については後述し、図２においては、一実施形態の動作の概略を以下に説明する。
【００３４】
地図アプリケーションでは、ユーザによる画面へのタップを受け付ける機能を有している。本実施形態は、この地図アプリケーションに対して、タップの操作ではなく、例えばユーザの音声によって、地図アプリケーションに対して、タップと同様の指示を与えることができる。
【００３５】
このため、実施形態では、画面表示２１０の表示を解析することにより、地図アプリケーションの画面において、画面表示にボタン「目的地」２１４、及びボタン「現在地」２１６が存在することを認識する。この認識については、当業者が周知の、既存のパターン認識技術を用いて、予め、本実施形態において特徴抽出ができるようにしておく。また、ボタン「目的地」２１４及びボタン「現在地」２１６が画面表示の左下部に存在することから、地図アプリケーションを特定することも可能である。また、ボタン「目的地」２１４及びボタン「現在地」２１６が、四角い形をしているという特徴からも、地図アプリケーションを特定することが可能である。地図アプリケーションを特定することによって、地図アプリケーションの挙動をより正確に予測することも可能である。したがって、地図アプリケーションの種別を特定しておくことが望ましい。
【００３６】
或いは、地図アプリケーションの種別をオペレーティングシステムから取得することができる場合には、その地図アプリケーションの画面表示レイアウトが推測できるため、たとえば「目的地」２１４及びボタン「現在地」２１６に対するパターン認識を画面表示の所定の位置から開始するようにして、パターン認識の速度を速めることができる。
【００３７】
本実施形態では、ユーザからの音声が「現在地」であった場合には、地図アプリケーションに対して、ボタン「現在地」２１６がタップされた操作を、地図アプリケーションに与える。すなわち、例えば、ユーザが「げんざいち」を発音した場合には、本実施形態を実装しているプログラムが、ユーザが「げんざいち」を発音したことを認識する。そして、本実施形態を実装しているプログラムは、ボタン「現在地」２１６が存在する画面位置にタップがなされたというイベントを、携帯端末１００のオペレーティングシステムに与える。その後、オペレーティングシステムは、ボタン「現在地」２１６の画面位置において、タップがなされたことを、地図アプリケーションに与えるので、地図アプリケーションは、ボタン「現在地」２１６がタップされたという指示がなされたことを認識し、図２（Ｂ）の画面表示２２０に示されるように、現在地を示す星のマーク２１２が、画面表示の中央に位置するように、画面表示２２０に地図を表示する。
【００３８】
ユーザが、「もくてきち」を発音した場合には、ボタン「目的地」２１４がタップされたことを、本実施形態のプログラムが、オペレーティングシステムに与える。その後、オペレーティングシステムは、ボタン「目的地」２１４の画面位置において、タップがなされたことを、地図アプリケーションに与えるので、地図アプリケーションは、ボタン「目的地」２１４がタップされたという指示があったことを認識し、図２（Ａ）の画面表示２１０に示されるように、目的地を示す矢印のマーク２１１が、画面表示の中央に位置するように、画面表示２１０に地図を表示する。これらの動作の詳細については、図７及び図８等を用いて後述する。
【００３９】
＜第２の実施形態＞
図３は、一実施形態における動作定義の例を示す図である。
【００４０】
図３の表３００には、ユーザの動作が、ジェスチャーと音声とのいずれであっても、複数のアプリケーション（アプリケーションＸ、アプリケーションＹ、アプリケーションＺ）に対して、所定の指示が行える。以下、詳細に、表３００を説明する。
【００４１】
列３１０は、アプリケーションに対して、対応する指示をあたえるためには、ユーザの動作としてどのジェスチャーを認識するのかを示している。
【００４２】
列３１２は、アプリケーションに対して、対応する指示をあたえるためには、ユーザの動作としてどの音声を認識するのかを示している。
【００４３】
列３１４は、アプリケーションに与える指示を定めている。
【００４４】
列３１６は、アプリケーションＸが、本来どのようなユーザからの操作によって、対応する指示を実行するかを示している。
【００４５】
列３１８は、アプリケーションＹが、本来どのようなユーザからの操作によって、対応する指示を実行するかを示している。
【００４６】
列３１９は、アプリケーションＺが、本来どのようなユーザからの操作によって、対応する指示を実行するかを示している。
【００４７】
したがって、例えば、ユーザの動作（ジェスチャー）として、列３１０、行３４０に記載されている「人差し指を下に向ける手の動作」を、インタフェースデバイス１６０又は携帯端末１００のカメラ１０２を介して携帯端末１００が認識した場合を例として取り上げる。この場合には、列３１４、行３４０に示されている、指示「現在地を画面の中心に表示する指示」を表していることになる（ユーザが「げんざいち」を発音し、認識された場合も同様である）。
【００４８】
したがって、上記の場合、例えばアプリケーションＸが動作している場合には、本実施形態を実装するプログラムは、アプリケーションＸに対して、「「現在地」の表示部分をタップする操作をアプリケーションＸに与える」ことになる。この結果、アプリケーションＸは、現在地を画面の中心に表示する。この操作をアプリケーションＸに与える際に、オペレーティングシステムが関与してもよい。
【００４９】
また、アプリケーションＹが動作している場合には、本実施形態を実装するプログラムは、アプリケーションＹに対して、ボタン「現在地」の表示部分をクリックする操作をアプリケーションＹに与える」ことになる。この結果、アプリケーションＹは、現在地を画面の中心に表示する。この操作をアプリケーションＸに与える際に、オペレーティングシステムが関与してもよい。
【００５０】
また、アプリケーションＺが動作している場合には、本実施形態を実装するプログラムは、アプリケーションＺに対して、「シンボルＢをタップする操作をアプリケーションＺに与える」ことになる。この結果、アプリケーションＺは、現在地を画面の中心に表示する。
【００５１】
その他のユーザの動作（ジェスチャー又は音声）が認識された場合においても、表３００に示されるように、現在動作しているアプリケーションに対して、対応する操作を与えることで、対応する指示を行うことができる。
【００５２】
なお、表３００には、ユーザの動作として、ジェスチャーと音声の双方が、各々の指示に対応して示されているが、いずれか一方だけが、特定の指示に対応するようにしてもよい。
【００５３】
なお、ユーザのジェスチャーは、例えば携帯端末１００のカメラ１０２によって撮像された映像から、当業者に周知のパターン認識の技術を用いて、認識が行われる。また、ユーザの音声は、例えば、インタフェースデバイス１６０又は携帯端末１００のマイク１０６によって取得された音響信号から、当業者に周知のパターン認識の技術を用いて、認識が行われる。
【００５４】
図１のＳＷ１３０をユーザが用いて、例えば所定時間内に、何回のスイッチ押下が行われたかを認識することで、ユーザの動作を認識するようにしてもよい（不図示）。その他、携帯端末１００が備えている各種センサ１１６２によって、ユーザの動作を認識するようにしてもよい（不図示）。
【００５５】
本実施形態によって、本来のアプリケーションでは、画面をタップしたり、クリック動作をしたりして、所定の煩わしい操作を行わないと、指示できなかったアプリケーションに対して、簡単なジェスチャー又は音声の発話などのユーザの簡便な動作によって、アプリケーションに指示を与えることができる。
【００５６】
また、同様の指示を与えるために異なる操作が必要とされた複数のアプリケーションに対して、ユーザの同じ動作で、同じ指示を与えることもできるようになる。
【００５７】
加えて、個々のアプリケーションに対して、修正を加えることなく、ユーザインタフェースの自由な変更が可能となる。
【００５８】
また、ＳＷ１３０の代わりに、予め定められたスイッチ操作を自動的に発生する装置を接続しておけば、ユーザの操作を介さずに、アプリケーションの挙動を自動的にチェックする用途に、本実施形態を用いることもできる。
【００５９】
また、ユーザが自動車を運転している最中の場合などで、携帯端末１００を操作できない場合に、ユーザのジェスチャー又は音声を介して、アプリケーションに所望の指示を与えることができる。
【００６０】
図４は、図３に示した複数のアプリケーションの具体的な表示の例を示す図である。
【００６１】
図４（Ａ）は、図３の列３１８に示したアプリケーションＹの画面の例を示している。地図４１０の下部に、左から順に、出発地４１４、現在地４１６、目的地４１８の表示が存在する。そして、地図４１０には、出発地を示す十字のマーク４１１、現在地を示す黒丸のマーク４１２、目的地を示す星形のマーク４１３が示されており、これらを結んだルートが黒い線で示されている。例えば、出発地４１４をクリックすれば、出発地を示す十字のマーク４１１が、地図４１０の中心に表示される。また、図３の行３３０に示されるように、ユーザが、人差し指を伸ばすジェスチャー、又は「しゅっぱつち」の音声を発話することによって、本実施形態を実装したプログラムが、ボタン「出発地」の表示部分をクリックする操作をアプリケーションＹに与える。これによって、上記の本来の操作と同様に、出発地を示す十字のマーク４１１が、地図４１０の中心に表示されることとなる。
【００６２】
また、地図４１０の下部に、左から順に、出発地４１４、現在地４１６、目的地４１８の表示が存在するという特徴から、本実施形態を実装したプログラムは、アプリケーションＹによる画面に表示されていることを認識することができる。どのアプリケーションが作動しているかを認識することで、より適切な指示のための操作をアプリケーションに与えることができるようになる。
【００６３】
図４（Ｂ）は、図３の列３１９に示したアプリケーションＺの画面の例を示している。画面表示４２０の左下部分に、逆三角形のシンボルＡ４２６と、二重丸のシンボルＢ４２８とが表示されている。これらの二つのシンボルが、画面表示の左下に存在することで、アプリケーションＺが動作していることも認識することができる。
【００６４】
黒丸のマーク４２２は、現在地を表している。矢印の先端４２３は、目的地を示している。例えば、逆三角形のシンボルＡ４２６をタップすることによって、目的地を示す矢印の先端４２３が、画面表示４２０の中心に表示される。図３の行３５０に示されるように、ユーザが、親指を上に伸ばすジェスチャー、又は「もくてきち」の音声を発話することによって、本実施形態を実装したプログラムが、シンボルＡをタップする操作をアプリケーションＺに与える。これによって、上記の本来の操作と同様に、目的地を示す矢印の先端４２３が、画面表示４２０の中心に表示されることとなる。
【００６５】
図５は、画面の拡大及び縮小を指示する例を示す図である。
【００６６】
図５（Ｂ）は、図５（Ａ）の画面表示５１０を拡大した画面表示５１２を示している。図５（Ｃ）は、図５（Ｂ）の画面表示５１２をさらに拡大した画面表示５１４を示している。
【００６７】
図５（Ｄ）の握り拳のジェスチャー５２０は、図３の行３７０に示されているジェスチャーと同じである。例えば、図５（Ｃ）の画面表示５１４が表示されているときに、ジェスチャー５２０が認識された場合には、表示は、図５（Ｂ）の画面表示５１２に縮小される。更に、例えば、図５（Ｂ）の画面表示５１２が表示されているときに、ジェスチャー５２０が認識された場合には、表示は、図５（Ａ）の画面表示５１０に縮小される。
【００６８】
図５（Ｅ）のパーのジェスチャー５３０は、図３の行３６０に示されているジェスチャーと同じである。例えば、図５（Ａ）の画面表示５１０が表示されているときに、ジェスチャー５３０が認識された場合には、表示は、図５（Ｂ）の画面表示５１２に拡大される。更に、例えば、図５（Ｂ）の画面表示５１２が表示されているときに、ジェスチャー５３０が認識された場合には、表示は、図５（Ｃ）の画面表示５１４に拡大される。
【００６９】
矢印５２２及び矢印５３２は、画面遷移の方向を示している。
【００７０】
このように、画面にタッチすることなく、ユーザの所定のジェスチャーにより、より簡便に画面の拡大又は縮小の操作を実現することができる。以上のことは、ユーザが、「しゅくしょう」の発話の動作及び「かくだい」の発話の動作を行った場合も同様である。
【００７１】
また、その他の、ユーザの動作を、各種センサ１１６２に認識させて、拡大又は縮小の操作を行わせるようにしてもよい。
【００７２】
図６は、一実施形態の動作を示すフローチャートである。
【００７３】
ステップＳ６０２で、実施形態のプログラムは、画面表示を取得する。
【００７４】
ステップＳ６０４で、実施形態のプログラムは、例えば以下の動作を行う。
１．取得した画面表示を解析し、動作中のアプリケーションを認識する。
２．認識したアプリケーションに基づき、取得した画面表示の中に存在する各オブジェクトを認識し、それぞれの位置を特定する。
【００７５】
なお、このステップにおいては、取得した画面表示を解析し動作中のアプリケーションを認識しているが、動作しているアプリケーションが何であるかをオペレーティングシステムから取得してもよい。
【００７６】
ステップＳ６０６で、実施形態のプログラムは、ユーザの動作（音声、ジェスチャーなど）を取得する。
【００７７】
ステップＳ６０８で、実施形態のプログラムは、取得したユーザの動作（音声、ジェスチャーなど）を認識する。
【００７８】
ステップＳ６１０で、実施形態のプログラムは、アプリケーションが動作しているオペレーティングシステムの情報、認識された動作中のアプリケーション、認識されたオブジェクト及びオブジェクトの位置、並びに、認識されたユーザの動作などを用いて、データベースを検索し、動作中のアプリケーションにユーザがなすべき操作を抽出する。なお、オペレーティングシステムの情報は、本実施形態を実装しているプログラムが、オペレーティングシステムを特定する情報をオペレーティングシステムから直接取得してもよい。また、上述のように動作中のアプリケーションを特定する情報は、オペレーティングシステムから直接取得してもよい。
【００７９】
ステップＳ６１２で、実施形態のプログラムは、抽出された操作を、動作中のアプリケーションに対して、ユーザに代わって適用する。
【００８０】
ステップＳ６１４で、実施形態のプログラムは、動作中のアプリケーションに対して所望の動作を実行させる。
【００８１】
このように、本実施形態は、画面表示を認識することで、画面表示に適切に対応した指示に対応する操作をフレキシブルに指定することができる。このことによって、車を運転している場合など、携帯端末の画面をユーザが直接操作できないときであっても、ユーザが欲する適切な指示を、携帯端末に与えることが可能となる。
【００８２】
しかも、上記を実現するために、アプリケーションのプログラム自体に手を加えることを回避することもできる。
【００８３】
図７は、一実施形態の機能ブロック図である。
【００８４】
画面表示取得部７０２は、携帯端末１００の画面表示を取得する。この画面表示は、イメージ画像であってもよい。画面表示は、例えばオペレーティングシステムから取得できる。画面表示は、画面への描画信号から取得するようにしてもよい。或いは、画面をカメラなどで撮像して、画面表示を取得してもよい。
【００８５】
画面表示特徴抽出部７０４は、取得された画面表示から、１つ以上の特徴を抽出する。特徴としては、タップする対象となるシンボル表示、ボタン表示、これらの存在する位置、アプリケーションを特定できる特徴などである。
【００８６】
ユーザ動作取得部７０６は、例えば、ユーザの手の動作の画像の取得、発話された音声情報の取得、スイッチの押下、などである。
【００８７】
ユーザ動作認識部７０８から得られる情報は、例えば、ユーザの手の状態の認識結果、音声認識結果、ユーザの顔の表情、ユーザの本人認証結果、一定の時間におけるスイッチの押下回数などである。
【００８８】
操作検索部７１０は、画面表示特徴抽出部７０４及びユーザ動作認識部７０８並びにその他の情報（オペレーティングシステムの識別情報等）から、データベース７１２を検索し、求められている指示に対応する操作を抽出する。なお、既に述べたように、操作検索部７１０は、携帯端末１００のディスプレイ１０４のフォアグラウンドに現在表示されているアプリケーションの種別の情報を、オペレーティングシステムから取得し、この現在表示されているアプリケーションの種別の情報を、データベース７１２の検索に用いてもよい。あるいは、携帯端末１００のディスプレイ１０４のフォアグラウンドに現在表示されているアプリケーションの種別の情報は、画面表示特徴抽出部７０４によって、取得された画面表示の特徴から抽出されてもよい。
【００８９】
アプリケーション指示部７１４は、抽出された指示を、ユーザに代わって、動作しているアプリケーションに与える。この結果、アプリケーションに対して求められている指示がなされることになる。そして、アプリケーションは、その指示に基づいた処理を行う。
【００９０】
図８は、一実施形態が実装されるユーザインタフェース制御プログラムの動作環境の例を示す図である。
【００９１】
アプリケーション８０６は、本実施形態がユーザに代わって、操作を与える対象のアプリケーションである。
【００９２】
ユーザインタフェース制御プログラム８０４は、一実施形態が実装されるプログラムである。アプリケーション８０６及びユーザインタフェース制御プログラム８０４は、携帯端末１００に存在するオペレーティングシステム８０２上で動作することができる。なお、ユーザの動作８１０（ジェスチャー、音声など）は、ハードウエア８００により取得され、オペレーティングシステム８０２に渡される。
【００９３】
以上の動作環境は一例であって、実施形態は、この動作環境に限定されるものではない。
【００９４】
図９は、ユーザの動作、画面表示の特徴抽出結果等から、適切な指示及び操作を抽出するためのデータベースを作成する一例を示す図である。
【００９５】
図９に示されるように、データベース作成部９２０に対して、オペレータ９１０がデータベースに格納するエントリ情報９３０を入力して、エントリ情報９３０を、データベースに格納するようにしてもよい。
【００９６】
エントリ情報９３０は、「アプリケーションへの指示」の欄に示されるように、アプリケーションに対して「現在位置を画面の中央に表示させること」を指示するエントリの内容を示している。
【００９７】
すなわち、「画面表示の特徴」が「アプリケーションＺ」であり、かつ「シンボルＢの存在」及び「シンボルＢの位置」が所定の位置である場合であって、以下の（ａ）又は（ｂ）のいずれかのユーザの動作又は音声が認識された場合には、「シンボルＢのタップ」を画面表示に適用する操作を抽出できるようにする。
（ａ）「ユーザの動作」が「人差し指を下に向ける」動作である場合
（ｂ）「ユーザの音声」が「げんざいち」である場合。
【００９８】
このようなエントリ情報９３０が格納されたデータベースの検索例は以下のとおりである。
【００９９】
認識された「画面表示の特徴」と「ユーザの動作」を検索キーとしてデータベースを検索し、「画面表示に適用する操作」を抽出できる。あるいは、認識された「画面表示の特徴」と「ユーザの音声」を検索キーとしてデータベースを検索し、「画面表示に適用する操作」を抽出できる。
【０１００】
以上のようにして、アプリケーションＺが作動している場合における現在地表示のためのデータベースのエントリが完了する。
【０１０１】
以上の処理を、アプリケーション毎に、各操作を網羅するようにして、各エントリを作りデータベースに保存することで、データベースが完成する。
【０１０２】
＜変形例＞
以上の実施形態では、ユーザの動作を受け取り、受け取られたユーザの動作を認識しているが、各実施形態は、ユーザの動作を対象とすることに限られるものではない。たとえば、紙などに描かれた画像、絵、文字、ディスプレイの表示、写真、或いは景色、物体などの撮像情報などを受け取り、その内容を認識してもよい。
【０１０３】
本実施形態は、１つ以上のハードウエア上で実行される１つ以上のプログラムで実現されてもよい。また、本実施形態は、複数の装置で構成され、複数の装置が、通信回線等を介して連携することで実現されてもよい。
【０１０４】
一実施形態において、携帯端末の画面表示が受け取られる場合には、画面表示が暗号化されていてもよい。
【０１０５】
取得される画面表示は、例えば、携帯端末１００の画面表示の一部分であってもよい。
【０１０６】
また、画面表示の一部分に、本実施形態を実装したプログラムに基づいた所定のマークなどを表示させてもよい。このようにすることによって、本実施形態を実装したプログラムがユーザインタフェースを制御する対象の画面表示であることを、本実施形態を実装したプログラムが確認することができる。
【０１０７】
＜ハードウエア構成の例＞
図１０は、携帯端末１００及びサーバ装置１１０のハードウエア構成を示す図である。図１０においては、携帯端末１００及びサーバ装置１１０のハードウエア構成をまとめて記載している。
【０１０８】
ハードウエア構成には、表示制御部１１１０、表示部１１１２、ＣＰＵ１１２０、メモリ１１３０、通信制御部１１４０、外部メモリ制御部１１５０、記憶媒体１１５２、入力インタフェース１１６０、各種センサ１１６２、カメラ１１６４、マイク１１６６、出力インタフェース１１７０、スピーカ１１７２、ディスプレイ１１７４、バイブレータ１１７６、タッチパネル制御部１１８０、タッチパネル１１８２等を有する。なお、通信制御部１１４０には、無線ネットワーク１１４２が通信可能に接続されているが、有線ネットワークが通信可能に接続されてもよい。また、各構成要素は、バス１１９０により相互接続され得る。
【０１０９】
携帯端末１００及びサーバ装置１１０は、これらのハードウエアのうち、一部が存在しなくてもよく、他のハードウエアが存在してもよい。
【０１１０】
なお、本実施形態の全部又は一部はプログラムによってインプリメントされ得る。このプログラムは、記憶媒体１１５２に格納することができる。記憶媒体１１５２とは、構造を有する１つ以上の非一時的（non-transitory）な記憶媒体を言う。例示として、記憶媒体１１５２としては、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリ、不揮発性メモリなどがある。半導体メモリには、ＲＡＭ、ＲＯＭ、ＳＤメモリなどがある。磁気記録媒体には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Digital  Versatile  Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact  Disc-Read  Only  Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）、などがある。また、光磁気記録媒体には、ＭＯ（Magneto-Optical  disk）などがある。記録媒体に格納されたプログラムが読み込まれ、ＣＰＵによって実行されることにより、各実施形態の全部又は一部が実施され得る。
【０１１１】
各実施形態は、発明を理解するためのものであり、本発明の範囲を限定するためのものではない点に留意すべきである。また、上記の複数の実施形態は、相互に排他的なものではない。したがって、矛盾が生じない限り、異なる実施形態の各要素を組み合わせることも意図されていることに留意すべきである。また、請求項に記載された方法やプログラムに係る発明は、矛盾のない限り処理の順番を入れ替えてもよく、あるいは、複数の処理を同時に実施してもよい。そして、これらの実施形態も、請求項に記載された発明の技術的範囲に包含されることは言うまでもない。
【０１１２】
また、コンピュータが読み出したプログラムコードを実行することにより、上記の実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムなどの他のプログラムが実際の処理の一部または全部を行ない、その処理によって実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【０１１３】
また、各種実施形態のそれぞれの構成要素は、物理的に分離された複数のハードウエアで実現されてもよい。また、本発明の各種実施形態のそれぞれの構成要素は、１つのコンピュータ上で動作する複数のバーチャルマシンに分散されて実現されてもよい。
【符号の説明】
【０１１４】
１００  携帯端末
１０２  カメラ
１０４  ディスプレイ
１０６  マイク
１１０  サーバ装置
１２０  ネットワークＮＷ
１３０  スイッチＳＷ
１４０  音声
１４２  ユーザ
１５２  ジェスチャー
１５４  ジェスチャー
１６０  インタフェースデバイス
【図１】
2018063706.tif 000003
【図２】
2018063706.tif 000004
【図３】
2018063706.tif 000005
【図４】
2018063706.tif 000006
【図５】
2018063706.tif 000007
【図６】
2018063706.tif 000008
【図７】
2018063706.tif 000009
【図８】
2018063706.tif 000010
【図９】
2018063706.tif 000011
【図１０】
2018063706.tif 000012