(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
携帯電話、タブレットなどの携帯端末、音楽再生装置、ラップトップコンピュータなどのCPUを有する機器では、多種多様なアプリケーションが動作する。これらのアプリケーションは、ユーザからの指示を受け入れると共に、ユーザに対して情報を提供するためのユーザインタフェースが備えられている。
【0003】
これらの機器で動作するアプリケーションの各々は、独自に設計され、それぞれ独自のユーザインタフェースによって、独自の方式でユーザと機器との間のインターラクションを実現している。もちろん、オペレーティングシステムが提供する基本的なユーザインタフェースは、同じオペレーティングシステム上で動作するアプリケーションにおいて、統一化されている場合が多い。また、同じ企業が同じ設計思想の基に開発したアプリケーション群では、同じユーザインタフェースが採用されることが多い。
【0004】
しかしながら、世の中には、複数のオペレーティングシステムが存在し、またオペレーティングシステムのレベルでサポートされる周辺機器も様々なものが存在するため、この基本的なユーザインタフェースにおいてもオペレーティングシステム毎に相違する場合がある。また、1つの企業において同じ設計思想の基に作られたアプリケーション群であっても、それらのユーザインタフェースには異なる部分が存在することがある。また、同じアプリケーションであっても、バージョンの違いによって、ユーザインタフェースが変更される場合がある。したがって、アプリケーション毎に、ユーザと機器とのインターラクションも異なる場合が多い。
【0005】
また、自動車の運転などをしている場合には、携帯端末を操作することができない場合があり、運転中でのアプリケーションの操作に支障を来す場合もある。
【0006】
このため、たとえば、画面の表示を拡大する場合を例に取ると、アプリケーションによって、ピンチアウトによって指示するもの、マウスのダブルクリックで指示するもの、マウスのホイールを回転させることによって指示するものなど、様々な指示が存在する。
【0007】
したがって、同様の指示を与える場合であっても、個々のアプリケーションによって、ユーザに対して異なる操作が要求される場合が多い。また、運転中など、操作すること自体に支障を来す場合がある。
【0008】
このような状況において、インタフェースを介するユーザの操作を別の操作に置き換える技術が存在している。
【0009】
例えば、メニューの階層を通してアクセスされ得る装置の機能にアクセスする音声及び/又は手動ユーザインタフェースを有し、音声ショートカットと称されるある種の音声命令によって分岐を近道することができる。この装置は、ユーザによる相互作用の系列を記憶する記憶手段と、記憶された相互作用の系列に対応する音声ショートカットを見つける手段と、音声ショートカットが見つけられた場合に、この音声ショートカットの存在をユーザに通知するためユーザにメッセージを配信する手段とを有する技術が存在する(例えば、特許文献1参照)。
【0010】
また、データベースからレコードを問合せ及び表示するためのユーザインタフェースにおいて、ユーザプロファイルが与えられ操作されて、他の基準と同じやり方で問合せと協力する。たとえば、ユーザが明示的な選択をルール形式でユーザプロファイルに組込む、より典型的な選択プロファイルと同じやり方で、かかる「暗黙の」プロファイルを問合せに追加することができる技術が存在する(例えば、特許文献2参照)。
【0011】
しかしながら、このような操作を置き換える技術は、特定のアプリケーションに対して、ショートカットなどを実現することにより、操作者の手間を省くなどの目的のために向けられた技術である。したがって、このような従来技術は、アプリケーション毎に、ユーザの各操作に対応する動作を行うよう、各アプリケーションを設計する必要がある。
【0012】
依然として、アプリケーションの開発者は、アプリケーション毎に、ユーザインタフェースを作り込むことが必要であり、ユーザは、そのユーザインタフェースに応じた操作を習得しなければならない。
【0013】
このため、種々の利用状況において、様々なアプリケーションに対してユーザによるアクセスの容易さ、使いやすさ等(アクセッシビリティ)を、より向上させることが望まれている。
【発明を実施するための形態】
【0019】
<機器構成の例示>
図1に、一実施形態における機器構成の例を示す。この実施形態は、携帯端末100と、サーバ装置110と、インタフェースデバイス160とを有する。なお、サーバ装置110及びインタフェースデバイス160は、必ずしも存在しなくてもよく、携帯端末100だけで、実施形態が実現されてもよい。
【0020】
実施形態は、例えば携帯端末100において動作するプログラムとして実装されてもよい。また、実施形態は、携帯端末100と他の装置(例えばサーバ装置110、インタフェースデバイス160)とが連携して実現されてもよい。実施形態は、方法の発明として実現されてもよい。また、実施形態は、装置などの物の発明として実現されてもよい。
【0021】
インタフェースデバイス160は、例えば、ユーザ142から発せられた音声140、人の指のジェスチャー152、ジェスチャー154、スイッチSW130からの信号などの情報を受け取る。インタフェースデバイス160は、受け取った情報を電気信号に変換し、通信145を介して、無線又は有線により、変換された情報を携帯端末に送ることができる。
【0022】
携帯端末100には、携帯電話網、無線ローカルエリアネットワーク(WiFi)、ブルートゥース(登録商標)、近距離無線通信(NFC)などの通信機能が実装されている。携帯端末100は、通信機能を用いて、例えばインターネットなどのネットワーク網、或いは、P2P通信を用いて、他の携帯端末、或いはサーバ装置110などの種々のコンピュータと通信することで、様々な情報の伝送を行うことができる。
【0023】
また、携帯端末100は、インタフェースデバイス160を介さずに、音声140、人の指のジェスチャー152、ジェスチャー154、スイッチSW130からの信号などの情報を受け取ってもよい。携帯端末100は、1つ以上のカメラ102を有し、例えば、人の指のジェスチャー152、ジェスチャー154などを動画又は静止画として取得することができる。また、ユーザ142から発せられた音声140は、マイク106によって、携帯端末100に取得され得る。また、携帯端末に接続されたスイッチSW130を用いて、ユーザ142によって入力された指示が、携帯端末100に取り込まれてもよい。携帯端末100には、スイッチSW130を接続するための端子(不図示)が設けられていてもよい。或いは、携帯端末100と、スイッチSW130とが、無線で接続されてもよい。また、携帯端末は、ディスプレイ104を有する。ディスプレイ104の画面表示は、本実施形態においてパターン認識され利用される。
【0024】
一実施形態においては、後述するように、データベースの更新情報が、サーバ装置110からネットワークNW120を介して携帯端末に提供されてもよい。或いは、携帯端末100から、ネットワークNW120を介して、サーバ装置110に存在するデータベースに検索コマンドを送り、携帯端末100が、検索結果をサーバ装置110から取得してもよい。後述するデータベースは、ネットワークNW120に接続されたいずれかのハードウエアに存在していればよい。
【0025】
なお、
図1では、携帯電話の形を有する携帯端末100が示されているが、携帯端末100は、携帯電話に限られるものではなく、例えば、自動車のフロントパネルなどに埋め込まれて固定されたハードウエアであってもよい。或いは、携帯端末100は、通信機能を有する腕時計、或いは、その他のウエアラブルな機器であってもよい。また、インタフェースデバイス160は、自動車のハンドルなどに固定されたハードウエアであってもよい。
【0026】
図2は、一実施形態の機能の概要を説明する図である。
【0027】
より詳細には、
図2は、携帯端末上で動作する地図を表示するためのアプリケーションのユーザインタフェースを制御する実施形態を示す。
【0028】
まず、
図2の地図アプリケーションの動作を説明する。その後、一実施形態の説明を行う。
【0029】
<地図アプリケーションの本来の動作説明>
図2(A)において、携帯端末100の画面表示210が示されている。矢印のマーク211は、地図上の目的地を示すシンボルである。星のマーク212は、地図上の現在地(携帯端末100が現在存在する位置)を示すシンボルである。
【0030】
四角の枠で囲まれた表示「目的地」214は、目的地を画面の中央に表示させるための指示に用いるボタンの表示である。ユーザが、指で、このボタン「目的地」214の位置をタップすると、目的地を画面の中央に表示させるための指示を、地図アプリケーションに与えることができる。
図2(A)の画面表示210では、ボタン「目的地」214がタップされた直後の状態を示している。したがって、目的地を示す矢印のマーク211が、画面表示210の中央に表示されている。
【0031】
四角の枠で囲まれた表示「現在地」216は、現在地を画面の中央に表示させるための指示に用いるボタンの表示である。ユーザが、指で、このボタン「現在地」216の位置をタップすると、現在地を画面の中央に表示させるための指示を、地図アプリケーションに与えることができる。
【0032】
図2(B)の画面表示220では、「現在地」216がタップされた直後の状態を示している。したがって、現在地を示す星のマーク212が、画面表示210の中央に表示されている。
【0033】
<第1の実施形態の動作説明>
本実施形態においては、ユーザの音声によって、地図アプリケーションに指示を与える例を示す。なお、動作の詳細については後述し、
図2においては、一実施形態の動作の概略を以下に説明する。
【0034】
地図アプリケーションでは、ユーザによる画面へのタップを受け付ける機能を有している。本実施形態は、この地図アプリケーションに対して、タップの操作ではなく、例えばユーザの音声によって、地図アプリケーションに対して、タップと同様の指示を与えることができる。
【0035】
このため、実施形態では、画面表示210の表示を解析することにより、地図アプリケーションの画面において、画面表示にボタン「目的地」214、及びボタン「現在地」216が存在することを認識する。この認識については、当業者が周知の、既存のパターン認識技術を用いて、予め、本実施形態において特徴抽出ができるようにしておく。また、ボタン「目的地」214及びボタン「現在地」216が画面表示の左下部に存在することから、地図アプリケーションを特定することも可能である。また、ボタン「目的地」214及びボタン「現在地」216が、四角い形をしているという特徴からも、地図アプリケーションを特定することが可能である。地図アプリケーションを特定することによって、地図アプリケーションの挙動をより正確に予測することも可能である。したがって、地図アプリケーションの種別を特定しておくことが望ましい。
【0036】
或いは、地図アプリケーションの種別をオペレーティングシステムから取得することができる場合には、その地図アプリケーションの画面表示レイアウトが推測できるため、たとえば「目的地」214及びボタン「現在地」216に対するパターン認識を画面表示の所定の位置から開始するようにして、パターン認識の速度を速めることができる。
【0037】
本実施形態では、ユーザからの音声が「現在地」であった場合には、地図アプリケーションに対して、ボタン「現在地」216がタップされた操作を、地図アプリケーションに与える。すなわち、例えば、ユーザが「げんざいち」を発音した場合には、本実施形態を実装しているプログラムが、ユーザが「げんざいち」を発音したことを認識する。そして、本実施形態を実装しているプログラムは、ボタン「現在地」216が存在する画面位置にタップがなされたというイベントを、携帯端末100のオペレーティングシステムに与える。その後、オペレーティングシステムは、ボタン「現在地」216の画面位置において、タップがなされたことを、地図アプリケーションに与えるので、地図アプリケーションは、ボタン「現在地」216がタップされたという指示がなされたことを認識し、
図2(B)の画面表示220に示されるように、現在地を示す星のマーク212が、画面表示の中央に位置するように、画面表示220に地図を表示する。
【0038】
ユーザが、「もくてきち」を発音した場合には、ボタン「目的地」214がタップされたことを、本実施形態のプログラムが、オペレーティングシステムに与える。その後、オペレーティングシステムは、ボタン「目的地」214の画面位置において、タップがなされたことを、地図アプリケーションに与えるので、地図アプリケーションは、ボタン「目的地」214がタップされたという指示があったことを認識し、
図2(A)の画面表示210に示されるように、目的地を示す矢印のマーク211が、画面表示の中央に位置するように、画面表示210に地図を表示する。これらの動作の詳細については、
図7及び
図8等を用いて後述する。
【0039】
<第2の実施形態>
図3は、一実施形態における動作定義の例を示す図である。
【0040】
図3の表300には、ユーザの動作が、ジェスチャーと音声とのいずれであっても、複数のアプリケーション(アプリケーションX、アプリケーションY、アプリケーションZ)に対して、所定の指示が行える。以下、詳細に、表300を説明する。
【0041】
列310は、アプリケーションに対して、対応する指示をあたえるためには、ユーザの動作としてどのジェスチャーを認識するのかを示している。
【0042】
列312は、アプリケーションに対して、対応する指示をあたえるためには、ユーザの動作としてどの音声を認識するのかを示している。
【0043】
列314は、アプリケーションに与える指示を定めている。
【0044】
列316は、アプリケーションXが、本来どのようなユーザからの操作によって、対応する指示を実行するかを示している。
【0045】
列318は、アプリケーションYが、本来どのようなユーザからの操作によって、対応する指示を実行するかを示している。
【0046】
列319は、アプリケーションZが、本来どのようなユーザからの操作によって、対応する指示を実行するかを示している。
【0047】
したがって、例えば、ユーザの動作(ジェスチャー)として、列310、行340に記載されている「人差し指を下に向ける手の動作」を、インタフェースデバイス160又は携帯端末100のカメラ102を介して携帯端末100が認識した場合を例として取り上げる。この場合には、列314、行340に示されている、指示「現在地を画面の中心に表示する指示」を表していることになる(ユーザが「げんざいち」を発音し、認識された場合も同様である)。
【0048】
したがって、上記の場合、例えばアプリケーションXが動作している場合には、本実施形態を実装するプログラムは、アプリケーションXに対して、「「現在地」の表示部分をタップする操作をアプリケーションXに与える」ことになる。この結果、アプリケーションXは、現在地を画面の中心に表示する。この操作をアプリケーションXに与える際に、オペレーティングシステムが関与してもよい。
【0049】
また、アプリケーションYが動作している場合には、本実施形態を実装するプログラムは、アプリケーションYに対して、ボタン「現在地」の表示部分をクリックする操作をアプリケーションYに与える」ことになる。この結果、アプリケーションYは、現在地を画面の中心に表示する。この操作をアプリケーションXに与える際に、オペレーティングシステムが関与してもよい。
【0050】
また、アプリケーションZが動作している場合には、本実施形態を実装するプログラムは、アプリケーションZに対して、「シンボルBをタップする操作をアプリケーションZに与える」ことになる。この結果、アプリケーションZは、現在地を画面の中心に表示する。
【0051】
その他のユーザの動作(ジェスチャー又は音声)が認識された場合においても、表300に示されるように、現在動作しているアプリケーションに対して、対応する操作を与えることで、対応する指示を行うことができる。
【0052】
なお、表300には、ユーザの動作として、ジェスチャーと音声の双方が、各々の指示に対応して示されているが、いずれか一方だけが、特定の指示に対応するようにしてもよい。
【0053】
なお、ユーザのジェスチャーは、例えば携帯端末100のカメラ102によって撮像された映像から、当業者に周知のパターン認識の技術を用いて、認識が行われる。また、ユーザの音声は、例えば、インタフェースデバイス160又は携帯端末100のマイク106によって取得された音響信号から、当業者に周知のパターン認識の技術を用いて、認識が行われる。
【0054】
図1のSW130をユーザが用いて、例えば所定時間内に、何回のスイッチ押下が行われたかを認識することで、ユーザの動作を認識するようにしてもよい(不図示)。その他、携帯端末100が備えている各種センサ1162によって、ユーザの動作を認識するようにしてもよい(不図示)。
【0055】
本実施形態によって、本来のアプリケーションでは、画面をタップしたり、クリック動作をしたりして、所定の煩わしい操作を行わないと、指示できなかったアプリケーションに対して、簡単なジェスチャー又は音声の発話などのユーザの簡便な動作によって、アプリケーションに指示を与えることができる。
【0056】
また、同様の指示を与えるために異なる操作が必要とされた複数のアプリケーションに対して、ユーザの同じ動作で、同じ指示を与えることもできるようになる。
【0057】
加えて、個々のアプリケーションに対して、修正を加えることなく、ユーザインタフェースの自由な変更が可能となる。
【0058】
また、SW130の代わりに、予め定められたスイッチ操作を自動的に発生する装置を接続しておけば、ユーザの操作を介さずに、アプリケーションの挙動を自動的にチェックする用途に、本実施形態を用いることもできる。
【0059】
また、ユーザが自動車を運転している最中の場合などで、携帯端末100を操作できない場合に、ユーザのジェスチャー又は音声を介して、アプリケーションに所望の指示を与えることができる。
【0060】
図4は、
図3に示した複数のアプリケーションの具体的な表示の例を示す図である。
【0061】
図4(A)は、
図3の列318に示したアプリケーションYの画面の例を示している。地
図410の下部に、左から順に、出発地414、現在地416、目的地418の表示が存在する。そして、地
図410には、出発地を示す十字のマーク411、現在地を示す黒丸のマーク412、目的地を示す星形のマーク413が示されており、これらを結んだルートが黒い線で示されている。例えば、出発地414をクリックすれば、出発地を示す十字のマーク411が、地
図410の中心に表示される。また、
図3の行330に示されるように、ユーザが、人差し指を伸ばすジェスチャー、又は「しゅっぱつち」の音声を発話することによって、本実施形態を実装したプログラムが、ボタン「出発地」の表示部分をクリックする操作をアプリケーションYに与える。これによって、上記の本来の操作と同様に、出発地を示す十字のマーク411が、地
図410の中心に表示されることとなる。
【0062】
また、地
図410の下部に、左から順に、出発地414、現在地416、目的地418の表示が存在するという特徴から、本実施形態を実装したプログラムは、アプリケーションYによる画面に表示されていることを認識することができる。どのアプリケーションが作動しているかを認識することで、より適切な指示のための操作をアプリケーションに与えることができるようになる。
【0063】
図4(B)は、
図3の列319に示したアプリケーションZの画面の例を示している。画面表示420の左下部分に、逆三角形のシンボルA426と、二重丸のシンボルB428とが表示されている。これらの二つのシンボルが、画面表示の左下に存在することで、アプリケーションZが動作していることも認識することができる。
【0064】
黒丸のマーク422は、現在地を表している。矢印の先端423は、目的地を示している。例えば、逆三角形のシンボルA426をタップすることによって、目的地を示す矢印の先端423が、画面表示420の中心に表示される。
図3の行350に示されるように、ユーザが、親指を上に伸ばすジェスチャー、又は「もくてきち」の音声を発話することによって、本実施形態を実装したプログラムが、シンボルAをタップする操作をアプリケーションZに与える。これによって、上記の本来の操作と同様に、目的地を示す矢印の先端423が、画面表示420の中心に表示されることとなる。
【0065】
図5は、画面の拡大及び縮小を指示する例を示す図である。
【0066】
図5(B)は、
図5(A)の画面表示510を拡大した画面表示512を示している。
図5(C)は、
図5(B)の画面表示512をさらに拡大した画面表示514を示している。
【0067】
図5(D)の握り拳のジェスチャー520は、
図3の行370に示されているジェスチャーと同じである。例えば、
図5(C)の画面表示514が表示されているときに、ジェスチャー520が認識された場合には、表示は、
図5(B)の画面表示512に縮小される。更に、例えば、
図5(B)の画面表示512が表示されているときに、ジェスチャー520が認識された場合には、表示は、
図5(A)の画面表示510に縮小される。
【0068】
図5(E)のパーのジェスチャー530は、
図3の行360に示されているジェスチャーと同じである。例えば、
図5(A)の画面表示510が表示されているときに、ジェスチャー530が認識された場合には、表示は、
図5(B)の画面表示512に拡大される。更に、例えば、
図5(B)の画面表示512が表示されているときに、ジェスチャー530が認識された場合には、表示は、
図5(C)の画面表示514に拡大される。
【0069】
矢印522及び矢印532は、画面遷移の方向を示している。
【0070】
このように、画面にタッチすることなく、ユーザの所定のジェスチャーにより、より簡便に画面の拡大又は縮小の操作を実現することができる。以上のことは、ユーザが、「しゅくしょう」の発話の動作及び「かくだい」の発話の動作を行った場合も同様である。
【0071】
また、その他の、ユーザの動作を、各種センサ1162に認識させて、拡大又は縮小の操作を行わせるようにしてもよい。
【0072】
図6は、一実施形態の動作を示すフローチャートである。
【0073】
ステップS602で、実施形態のプログラムは、画面表示を取得する。
【0074】
ステップS604で、実施形態のプログラムは、例えば以下の動作を行う。
1.取得した画面表示を解析し、動作中のアプリケーションを認識する。
2.認識したアプリケーションに基づき、取得した画面表示の中に存在する各オブジェクトを認識し、それぞれの位置を特定する。
【0075】
なお、このステップにおいては、取得した画面表示を解析し動作中のアプリケーションを認識しているが、動作しているアプリケーションが何であるかをオペレーティングシステムから取得してもよい。
【0076】
ステップS606で、実施形態のプログラムは、ユーザの動作(音声、ジェスチャーなど)を取得する。
【0077】
ステップS608で、実施形態のプログラムは、取得したユーザの動作(音声、ジェスチャーなど)を認識する。
【0078】
ステップS610で、実施形態のプログラムは、アプリケーションが動作しているオペレーティングシステムの情報、認識された動作中のアプリケーション、認識されたオブジェクト及びオブジェクトの位置、並びに、認識されたユーザの動作などを用いて、データベースを検索し、動作中のアプリケーションにユーザがなすべき操作を抽出する。なお、オペレーティングシステムの情報は、本実施形態を実装しているプログラムが、オペレーティングシステムを特定する情報をオペレーティングシステムから直接取得してもよい。また、上述のように動作中のアプリケーションを特定する情報は、オペレーティングシステムから直接取得してもよい。
【0079】
ステップS612で、実施形態のプログラムは、抽出された操作を、動作中のアプリケーションに対して、ユーザに代わって適用する。
【0080】
ステップS614で、実施形態のプログラムは、動作中のアプリケーションに対して所望の動作を実行させる。
【0081】
このように、本実施形態は、画面表示を認識することで、画面表示に適切に対応した指示に対応する操作をフレキシブルに指定することができる。このことによって、車を運転している場合など、携帯端末の画面をユーザが直接操作できないときであっても、ユーザが欲する適切な指示を、携帯端末に与えることが可能となる。
【0082】
しかも、上記を実現するために、アプリケーションのプログラム自体に手を加えることを回避することもできる。
【0083】
図7は、一実施形態の機能ブロック図である。
【0084】
画面表示取得部702は、携帯端末100の画面表示を取得する。この画面表示は、イメージ画像であってもよい。画面表示は、例えばオペレーティングシステムから取得できる。画面表示は、画面への描画信号から取得するようにしてもよい。或いは、画面をカメラなどで撮像して、画面表示を取得してもよい。
【0085】
画面表示特徴抽出部704は、取得された画面表示から、1つ以上の特徴を抽出する。特徴としては、タップする対象となるシンボル表示、ボタン表示、これらの存在する位置、アプリケーションを特定できる特徴などである。
【0086】
ユーザ動作取得部706は、例えば、ユーザの手の動作の画像の取得、発話された音声情報の取得、スイッチの押下、などである。
【0087】
ユーザ動作認識部708から得られる情報は、例えば、ユーザの手の状態の認識結果、音声認識結果、ユーザの顔の表情、ユーザの本人認証結果、一定の時間におけるスイッチの押下回数などである。
【0088】
操作検索部710は、画面表示特徴抽出部704及びユーザ動作認識部708並びにその他の情報(オペレーティングシステムの識別情報等)から、データベース712を検索し、求められている指示に対応する操作を抽出する。なお、既に述べたように、操作検索部710は、携帯端末100のディスプレイ104のフォアグラウンドに現在表示されているアプリケーションの種別の情報を、オペレーティングシステムから取得し、この現在表示されているアプリケーションの種別の情報を、データベース712の検索に用いてもよい。あるいは、携帯端末100のディスプレイ104のフォアグラウンドに現在表示されているアプリケーションの種別の情報は、画面表示特徴抽出部704によって、取得された画面表示の特徴から抽出されてもよい。
【0089】
アプリケーション指示部714は、抽出された指示を、ユーザに代わって、動作しているアプリケーションに与える。この結果、アプリケーションに対して求められている指示がなされることになる。そして、アプリケーションは、その指示に基づいた処理を行う。
【0090】
図8は、一実施形態が実装されるユーザインタフェース制御プログラムの動作環境の例を示す図である。
【0091】
アプリケーション806は、本実施形態がユーザに代わって、操作を与える対象のアプリケーションである。
【0092】
ユーザインタフェース制御プログラム804は、一実施形態が実装されるプログラムである。アプリケーション806及びユーザインタフェース制御プログラム804は、携帯端末100に存在するオペレーティングシステム802上で動作することができる。なお、ユーザの動作810(ジェスチャー、音声など)は、ハードウエア800により取得され、オペレーティングシステム802に渡される。
【0093】
以上の動作環境は一例であって、実施形態は、この動作環境に限定されるものではない。
【0094】
図9は、ユーザの動作、画面表示の特徴抽出結果等から、適切な指示及び操作を抽出するためのデータベースを作成する一例を示す図である。
【0095】
図9に示されるように、データベース作成部920に対して、オペレータ910がデータベースに格納するエントリ情報930を入力して、エントリ情報930を、データベースに格納するようにしてもよい。
【0096】
エントリ情報930は、「アプリケーションへの指示」の欄に示されるように、アプリケーションに対して「現在位置を画面の中央に表示させること」を指示するエントリの内容を示している。
【0097】
すなわち、「画面表示の特徴」が「アプリケーションZ」であり、かつ「シンボルBの存在」及び「シンボルBの位置」が所定の位置である場合であって、以下の(a)又は(b)のいずれかのユーザの動作又は音声が認識された場合には、「シンボルBのタップ」を画面表示に適用する操作を抽出できるようにする。
(a)「ユーザの動作」が「人差し指を下に向ける」動作である場合
(b)「ユーザの音声」が「げんざいち」である場合。
【0098】
このようなエントリ情報930が格納されたデータベースの検索例は以下のとおりである。
【0099】
認識された「画面表示の特徴」と「ユーザの動作」を検索キーとしてデータベースを検索し、「画面表示に適用する操作」を抽出できる。あるいは、認識された「画面表示の特徴」と「ユーザの音声」を検索キーとしてデータベースを検索し、「画面表示に適用する操作」を抽出できる。
【0100】
以上のようにして、アプリケーションZが作動している場合における現在地表示のためのデータベースのエントリが完了する。
【0101】
以上の処理を、アプリケーション毎に、各操作を網羅するようにして、各エントリを作りデータベースに保存することで、データベースが完成する。
【0102】
<変形例>
以上の実施形態では、ユーザの動作を受け取り、受け取られたユーザの動作を認識しているが、各実施形態は、ユーザの動作を対象とすることに限られるものではない。たとえば、紙などに描かれた画像、絵、文字、ディスプレイの表示、写真、或いは景色、物体などの撮像情報などを受け取り、その内容を認識してもよい。
【0103】
本実施形態は、1つ以上のハードウエア上で実行される1つ以上のプログラムで実現されてもよい。また、本実施形態は、複数の装置で構成され、複数の装置が、通信回線等を介して連携することで実現されてもよい。
【0104】
一実施形態において、携帯端末の画面表示が受け取られる場合には、画面表示が暗号化されていてもよい。
【0105】
取得される画面表示は、例えば、携帯端末100の画面表示の一部分であってもよい。
【0106】
また、画面表示の一部分に、本実施形態を実装したプログラムに基づいた所定のマークなどを表示させてもよい。このようにすることによって、本実施形態を実装したプログラムがユーザインタフェースを制御する対象の画面表示であることを、本実施形態を実装したプログラムが確認することができる。
【0107】
<ハードウエア構成の例>
図10は、携帯端末100及びサーバ装置110のハードウエア構成を示す図である。
図10においては、携帯端末100及びサーバ装置110のハードウエア構成をまとめて記載している。
【0108】
ハードウエア構成には、表示制御部1110、表示部1112、CPU1120、メモリ1130、通信制御部1140、外部メモリ制御部1150、記憶媒体1152、入力インタフェース1160、各種センサ1162、カメラ1164、マイク1166、出力インタフェース1170、スピーカ1172、ディスプレイ1174、バイブレータ1176、タッチパネル制御部1180、タッチパネル1182等を有する。なお、通信制御部1140には、無線ネットワーク1142が通信可能に接続されているが、有線ネットワークが通信可能に接続されてもよい。また、各構成要素は、バス1190により相互接続され得る。
【0109】
携帯端末100及びサーバ装置110は、これらのハードウエアのうち、一部が存在しなくてもよく、他のハードウエアが存在してもよい。
【0110】
なお、本実施形態の全部又は一部はプログラムによってインプリメントされ得る。このプログラムは、記憶媒体1152に格納することができる。記憶媒体1152とは、構造を有する1つ以上の非一時的(non-transitory)な記憶媒体を言う。例示として、記憶媒体1152としては、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリ、不揮発性メモリなどがある。半導体メモリには、RAM、ROM、SDメモリなどがある。磁気記録媒体には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc-Read Only Memory)、CD−R(Recordable)/RW(ReWritable)、などがある。また、光磁気記録媒体には、MO(Magneto-Optical disk)などがある。記録媒体に格納されたプログラムが読み込まれ、CPUによって実行されることにより、各実施形態の全部又は一部が実施され得る。
各実施形態は、発明を理解するためのものであり、本発明の範囲を限定するためのものではない点に留意すべきである。また、上記の複数の実施形態は、相互に排他的なものではない。したがって、矛盾が生じない限り、異なる実施形態の各要素を組み合わせることも意図されていることに留意すべきである。また、請求項に記載された方法やプログラムに係る発明は、矛盾のない限り処理の順番を入れ替えてもよく、あるいは、複数の処理を同時に実施してもよい。そして、これらの実施形態も、請求項に記載された発明の技術的範囲に包含されることは言うまでもない。
【0111】
また、コンピュータが読み出したプログラムコードを実行することにより、上記の実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステムなどの他のプログラムが実際の処理の一部または全部を行ない、その処理によって実施形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【0112】
また、各種実施形態のそれぞれの構成要素は、物理的に分離された複数のハードウエアで実現されてもよい。また、本発明の各種実施形態のそれぞれの構成要素は、1つのコンピュータ上で動作する複数のバーチャルマシンに分散されて実現されてもよい。
実施形態は、画面の表示に対するユーザの操作に基づいて、アプリケーションに対する指示を与えるユーザインタフェースを制御する方法であって、前記画面を有する装置が、前記表示を取得するステップと、取得された前記表示に存在する1つ以上の特徴を抽出するステップと、ユーザの動作を受け取るステップと、受け取られた前記動作と、抽出された前記1つ以上の特徴とによって、データベースから所定の操作を検索するステップと、検索された前記所定の操作であって、前記動作とは異なる前記所定の操作を前記表示に対応して適用することで、前記アプリケーションに指示を与えるステップと、