(57)【要約】  エンゲージメント依存型ジェスチャー認識を実行するための方法、装置、システム、およびコンピュータ可読媒体が提示される。1つまたは複数の態様によれば、コンピューティングデバイスは、複数のエンゲージメントのうちの1つのエンゲージメントを検出し得、複数のエンゲージメントのうちの各エンゲージメントは、複数のジェスチャー解釈コンテキストのうちの1つのジェスチャー解釈コンテキストを定義し得る。続いて、コンピューティングデバイスは、ジェスチャーを検出し得る。次いで、コンピューティングデバイスは、検出されたジェスチャーと、検出されたエンゲージメントによって定義されたジェスチャー解釈コンテキストとに基づいて、少なくとも1つのコマンドを実行し得る。いくつかの構成では、エンゲージメントは、手のポーズなどのエンゲージメントポーズであり得るが、他の構成では、検出されたエンゲージメントは、ユーザが発話した特定の語または句などの音声エンゲージメントであり得る。
2015510197.tif 000002
【特許請求の範囲】
【請求項１】
エンゲージメント入力を検出するステップと、
複数の入力解釈コンテキストの中から入力解釈コンテキストを選択するステップであって、前記検出されたエンゲージメント入力に基づいて行われるステップと、
入力解釈コンテキストを選択する前記ステップに続いて、ジェスチャー入力を検出するステップと、
前記検出されたジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行するステップと
を含む方法。
【請求項２】
エンゲージメント入力を検出するステップが、エンゲージメントポーズがしきい値時間量にわたって維持されることを検出するステップを含む、請求項1に記載の方法。
【請求項３】
前記エンゲージメントポーズが、手のポーズを含み、前記手のポーズが、実質的に開いた手のひらと伸ばした指とを含む、請求項2に記載の方法。
【請求項４】
前記エンゲージメントポーズが、手のポーズを含み、前記手のポーズが、握り拳と伸ばした腕とを含む、請求項2に記載の方法。
【請求項５】
前記エンゲージメントポーズが、手のポーズを含み、前記選択するステップが、前記手のポーズが検出されるときの前記手の位置と無関係である、請求項2に記載の方法。
【請求項６】
エンゲージメント入力を検出するステップが、ジェスチャー、またはセンサーの遮断を検出するステップを含む、請求項1に記載の方法。
【請求項７】
エンゲージメント入力を検出するステップが、音声エンゲージメントを検出するステップを含み、前記音声エンゲージメントが、ユーザが発話した語または句を含む、請求項1に記載の方法。
【請求項８】
前記検出されたエンゲージメント入力が、複数のエンゲージメント入力のうちの1つを含み、前記複数のエンゲージメント入力の各々が、前記複数の入力解釈コンテキストのうちのそれぞれの1つに対応し、前記選択するステップが、前記検出されたエンゲージメント入力に対応する前記入力解釈コンテキストを選択するステップを含む、請求項1に記載の方法。
【請求項９】
エンゲージメント入力を検出する前記ステップに応答して、アクティブな入力解釈コンテキストを識別するユーザインターフェースを表示するステップ
をさらに含む、請求項1に記載の方法。
【請求項１０】
前記方法が、
エンゲージメント入力を検出する前記ステップに応答して、音声フィードバックを提供するステップ
をさらに含み、前記音声フィードバックが、アクティブな入力解釈コンテキストを識別する、請求項1に記載の方法。
【請求項１１】
前記選択された入力解釈コンテキストが、フォーカスが合っているアプリケーションによって定義されるように、前記選択された入力解釈コンテキストがアプリケーションレベルで定義される、請求項1に記載の方法。
【請求項１２】
前記方法が、前記エンゲージメント入力を検出するステップより前に、1つまたは複数の要素を表示させるステップをさらに含み、前記選択するステップが、前記表示されている1つまたは複数の要素と無関係である、請求項1に記載の方法。
【請求項１３】
前記ジェスチャー入力を検出するステップが、前記選択された入力解釈コンテキストに関連付けられた1つまたは複数のパラメータに基づいて、前記ジェスチャー入力を検出するステップを含む、請求項1に記載の方法。
【請求項１４】
前記エンゲージメント入力を検出するステップに無関係なセンサー入力を無視するステップをさらに含み、前記無視するステップが、前記エンゲージメント入力を検出するステップより前に行われる、請求項1に記載の方法。
【請求項１５】
エンゲージメント入力を検出するステップが、
第1の機能を制御するための第1の入力解釈コンテキストに関連付けられた、第1のエンゲージメント入力を検出するステップと、
前記第1の機能とは異なる第2の機能を制御するための第2の入力解釈コンテキストに関連付けられた、第2のエンゲージメント入力を検出するステップと
を含む、請求項1に記載の方法。
【請求項１６】
前記第1の機能が、自動車制御システム内の第1のタイプのサブシステムに関連付けられ、前記第2の機能が、前記自動車制御システム内の第2のタイプのサブシステムに関連付けられる、請求項15に記載の方法。
【請求項１７】
前記第1の機能が、メディアプレーヤアプリケーション内の第1のタイプのサブシステムに関連付けられ、前記第2の機能が、前記メディアプレーヤアプリケーション内の第2のタイプのサブシステムに関連付けられる、請求項15に記載の方法。
【請求項１８】
前記選択された入力解釈コンテキストが、グローバルに定義される、請求項1に記載の方法。
【請求項１９】
前記エンゲージメント入力を検出するステップが、初期エンゲージメント入力と後のエンゲージメント入力とを検出するステップを含み、前記後のエンゲージメント入力を検出するステップが、前記初期エンゲージメント入力に関連付けられた入力解釈コンテキストを使用するステップを含む、請求項1に記載の方法。
【請求項２０】
エンゲージメント入力を検出するように構成されたエンゲージメント検出モジュールと、
複数の入力解釈コンテキストの中から入力解釈コンテキストを選択するように構成された選択モジュールであって、前記検出されたエンゲージメント入力に基づいて前記選択を実行するように構成された選択モジュールと、
前記選択モジュールが、前記入力解釈コンテキストを選択することに続いて、ジェスチャー入力を検出するように構成された検出モジュールと、
前記検出されたジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行するように構成されたプロセッサと
を備える装置。
【請求項２１】
前記エンゲージメント検出モジュールが、エンゲージメントポーズがしきい値時間量にわたって維持されることを検出するように構成される、請求項20に記載の装置。
【請求項２２】
前記エンゲージメントポーズが、手のポーズを含み、前記選択モジュールが、前記手のポーズが検出されるときの前記手の位置と無関係に、前記入力解釈コンテキストを選択するように構成される、請求項21に記載の装置。
【請求項２３】
前記装置が、ディスプレイ画面をさらに備え、前記プロセッサが、エンゲージメント入力を検出したことに応答して、前記ディスプレイ画面にユーザインターフェースを表示させるようにさらに構成され、前記ユーザインターフェースが、アクティブな入力解釈コンテキストを識別する、請求項20に記載の装置。
【請求項２４】
前記装置が、オーディオスピーカーをさらに備え、前記プロセッサが、エンゲージメント入力を検出したことに応答して、前記オーディオスピーカーに音声フィードバックを出力させるようにさらに構成され、前記音声フィードバックが、アクティブな入力解釈コンテキストを識別する、請求項20に記載の装置。
【請求項２５】
前記入力解釈コンテキストが、フォーカスが合っているアプリケーションによって定義されるように、前記入力解釈コンテキストがアプリケーションレベルで定義される、請求項20に記載の装置。
【請求項２６】
前記装置が、2次元画像をキャプチャするように構成されたカメラをさらに備え、前記エンゲージメント検出モジュールが、前記カメラによってキャプチャされた少なくとも1つの画像に基づいて、前記エンゲージメント入力を検出するように構成され、前記検出モジュールが、前記カメラによってキャプチャされた少なくとも1つの他の画像を使用して、前記ジェスチャー入力を検出するように構成される、請求項20に記載の装置。
【請求項２７】
前記装置が、センサーデータを前記エンゲージメント検出モジュールに入力するように構成されたセンサーをさらに備え、前記プロセッサが、エンゲージメント入力を検出することに無関係なセンサーデータを、前記装置に無視させるようにさらに構成される、請求項20に記載の装置。
【請求項２８】
前記エンゲージメント検出モジュールが、
第1の機能を制御するための第1の入力解釈コンテキストに関連付けられた、第1のエンゲージメント入力を検出すること、および
前記第1の機能とは異なる第2の機能を制御するための第2の入力解釈コンテキストに関連付けられた、第2のエンゲージメント入力を検出することであって、前記第1の機能が、自動車制御システムまたはメディアプレーヤアプリケーション内の第1のサブシステムに関連付けられ、前記第2の機能が、前記自動車制御システムまたはメディアプレーヤアプリケーション内の第2のサブシステムに関連付けられること
を行うように構成される、請求項20に記載の装置。
【請求項２９】
前記検出されたエンゲージメント入力が、複数のエンゲージメント入力のうちの1つを含み、前記複数のエンゲージメント入力の各々が、前記複数の入力解釈コンテキストのうちのそれぞれの1つに対応し、前記選択モジュールが、前記検出されたエンゲージメント入力に対応する前記入力解釈コンテキストを選択するように構成される、請求項20に記載の装置。
【請求項３０】
前記選択された入力解釈コンテキストが、グローバルに定義される、請求項20に記載の装置。
【請求項３１】
エンゲージメント入力を検出することが、初期エンゲージメント入力と後のエンゲージメント入力とを検出することを含み、前記後のエンゲージメント入力を検出することが、前記初期エンゲージメント入力に基づいて選択された入力解釈コンテキストを使用することを含む、請求項20に記載の装置。
【請求項３２】
エンゲージメント入力を検出するための手段と、
複数の入力解釈コンテキストの中から入力解釈コンテキストを選択するための手段であって、前記選択は、前記検出されたエンゲージメント入力に基づく手段と、
入力解釈コンテキストの前記選択に続いて、ジェスチャー入力を検出するための手段と、
前記検出されたジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行するための手段と
を備える装置。
【請求項３３】
エンゲージメント入力を検出するための前記手段が、エンゲージメントポーズがしきい値時間量にわたって維持されることを検出するための手段を備える、請求項32に記載の装置。
【請求項３４】
前記エンゲージメントポーズが、手のポーズであり、選択するための前記手段が、前記手のポーズが検出されるときの前記手の位置と無関係に、前記入力解釈コンテキストを選択するための手段を備える、請求項33に記載の装置。
【請求項３５】
エンゲージメント入力を検出するための前記手段が、エンゲージメントジェスチャー、センサーの遮断、または音声エンゲージメントのうちの少なくとも1つを検出するための手段を備える、請求項32に記載の装置。
【請求項３６】
前記装置が、
前記選択することに応答して、フィードバックを前記装置のユーザに提供するための手段
をさらに備え、前記フィードバックが、前記選択された入力解釈コンテキストを識別する、請求項32に記載の装置。
【請求項３７】
前記検出されたエンゲージメント入力が、複数のエンゲージメント入力のうちの1つを含み、前記複数のエンゲージメント入力の各々が、前記複数の入力解釈コンテキストのうちのそれぞれの1つに対応し、選択するための前記手段が、前記検出されたエンゲージメント入力に対応する前記入力解釈コンテキストを選択するための手段を備える、請求項32に記載の装置。
【請求項３８】
入力解釈コンテキストを選択するための前記手段が、フォーカスが合っているアプリケーションによってアプリケーションレベルで定義された入力解釈コンテキストを選択するための手段を備える、請求項32に記載の装置。
【請求項３９】
ジェスチャー入力を検出するための前記手段が、前記選択された入力解釈コンテキストに関連付けられたパラメータに基づいて、ジェスチャー入力を検出するための手段を備える、請求項32に記載の装置。
【請求項４０】
エンゲージメント入力を検出するための前記手段が前記エンゲージメント入力を検出するより前に、エンゲージメント入力を検出することに無関係な入力を無視するための手段をさらに備える、請求項32に記載の装置。
【請求項４１】
ジェスチャー入力を検出するための前記手段が、
システムの第1の機能を制御するための第1の入力解釈コンテキストに関連付けられた、第1のエンゲージメント入力を検出するための手段と、
前記第1の機能とは異なる前記システムの第2の機能を制御するための第2の入力解釈コンテキストに関連付けられた、第2のエンゲージメント入力を検出するための手段と
を備える、請求項32に記載の装置。
【請求項４２】
選択するための前記手段が、グローバルに定義された入力解釈コンテキストを選択するための手段を備える、請求項32に記載の装置。
【請求項４３】
エンゲージメント入力を検出するための前記手段が、初期エンゲージメント入力と後のエンゲージメント入力とを検出するための手段を備え、前記後のエンゲージメント入力を検出するための手段が、前記初期エンゲージメント入力に関連付けられた入力解釈コンテキストを使用して、前記後のエンゲージメント入力を検出するための手段を備える、請求項32に記載の装置。
【請求項４４】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、装置に、
エンゲージメント入力を検出すること、
前記検出されたエンゲージメント入力に基づいて、複数の入力解釈コンテキストの中から入力解釈コンテキストを選択すること、
前記入力解釈コンテキストの選択に続いて、ジェスチャー入力を検出すること、および
前記検出されたジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行すること
を行わせるためのものである、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、コンピューティング技術に関する。詳細には、本開示の態様は、ジェスチャー認識を実行するシステム、方法、装置、およびコンピュータ可読媒体など、アクティブユーザインターフェースを提供することが可能なアプリケーションまたはデバイスにおけるコンピューティング技術に関する。
【背景技術】
【０００２】
スマートフォン、タブレットコンピュータ、携帯情報端末(PDA)、テレビ、ならびに他のデバイスなどのコンピューティングプラットフォームは、ユーザ入力の形態として働く動作または他のユーザアクティビティをこれらのデバイスが検知することを可能にし得るタッチスクリーン、加速度計、カメラ、近接センサー、マイクロフォン、および/または他のセンサーをますます含むようになっている。たとえば、多数のタッチスクリーンデバイスは、ユーザが指を画面上で上方向、下方向、左方向または右方向にドラッグすることによって特定のコマンドを実行させることができる、インターフェースを提供する。これらのデバイスでは、ユーザアクションが認識され、それに応答して対応するコマンドが実行される。本開示の態様は、より便利、直観的、かつ機能的なジェスチャー認識インターフェースを提供する。
【発明の概要】
【課題を解決するための手段】
【０００３】
エンゲージメント依存型ジェスチャー認識を実行するためのシステム、方法、装置、およびコンピュータ可読媒体が提示される。現在のジェスチャー制御システムでは、ユーザによって実行され、システムによって認識され得る、単純な動的ジェスチャー(たとえば、ユーザが、1つまたは複数の身体部分および/または他のオブジェクトを実質的に線形方向に、かつ/または、ジェスチャーを実行しようとするユーザの意図を示唆するために十分な速度で動かし得る、左スワイプジェスチャー、右スワイプジェスチャーなど)のライブラリを維持することが、課題であり得る。詳細には、限られた数の「単純」なジェスチャーしかないことがあり、ジェスチャー制御システムがより複雑なジェスチャー(たとえば、ユーザに、自分の手を三角形に動かすようにさせることなど)を実装し始めるにつれて、認識されるジェスチャーのすべてを実行することがユーザにとってより困難になり得、かつ/または、システムが任意の特定のジェスチャーをキャプチャするためにより多くの時間がかかり得る。
【０００４】
現在のジェスチャー制御システムにおいて生じ得る別の課題は、ユーザがそのようなシステムと対話しようと意図するとき-および、ユーザがそのように意図しないときを正確に判断することである。この判断を行うための1つの方法は、ジェスチャー認識モードをアクティブ化またはエンゲージするためのコマンドを、ユーザが入力することを待機することであり、その入力は、ユーザがエンゲージメントポーズを実行すること、音声エンゲージメント入力を使用すること、または何らかの他のアクションをとることを伴い得る。以下でより詳細に説明するように、エンゲージメントポーズは、完全ジェスチャー検出モードに入るためのコマンドとしてデバイスが認識する静的なジェスチャーであり得る。完全ジェスチャー検出モードでは、デバイスは、ユーザがそれを用いてデバイスの機能を制御することができる様々なジェスチャー入力を検出しようとし得る。このようにして、ユーザがシステムをエンゲージすると、システムはジェスチャー検出モードに入ることができ、ジェスチャー検出モードでは、1つまたは複数のジェスチャー入力がユーザによって実行され、デバイスによって認識されて、コマンドがデバイス上で実行され得る。
【０００５】
本明細書で説明する様々な実施形態では、デバイス上のジェスチャー制御システムは、複数の一意のエンゲージメント入力を認識するように構成され得る。特定のエンゲージメント入力を検出し、完全検出モードに入った後、ジェスチャー制御システムは、エンゲージメント入力に関連付けられたジェスチャー解釈コンテキストに従って、後続のジェスチャーを解釈し得る。たとえば、ユーザは、(たとえば、電話の形を模倣する)伸ばした親指と小指とを伴い、第1のジェスチャー入力解釈コンテキストに関連付けられる、手のポーズを実行することによって、ジェスチャー制御システムをエンゲージし得る。この特定の手のポーズを検出したことに応答して、デバイスは、手のポーズが対応する第1のジェスチャー解釈コンテキストをアクティブ化する。第1のジェスチャー解釈コンテキスト下で、左スワイプジェスチャーは、「リダイヤル」コマンドにリンクされ得る。したがって、デバイスが、続いて左スワイプジェスチャーを検出する場合、デバイスは、システムによって提供された電話アプリケーションを通して、リダイヤルコマンドを実行する。
【０００６】
代替として、ユーザは、第2のジェスチャー解釈コンテキストに対応する、(たとえば、地球の形を模倣する)円形の親指と人差し指とを伴う手のポーズを実行することによって、完全検出モードをエンゲージし得る。第2のジェスチャー解釈コンテキスト下で、左スワイプジェスチャーは、衛星アプリケーション内で実行可能な、地図をスクロールするコマンドに関連付けられ得る。したがって、円形の親指と人差し指とがエンゲージメントジェスチャーとして使用されるとき、ジェスチャー制御システムは、完全検出モードに入り、続いて、衛星ナビゲーションアプリケーションが使用中であるとき、左スワイプジェスチャーを「地図をスクロール」コマンドに対応するものとして解釈することになる。
【０００７】
本開示の1つまたは複数の態様によれば、コンピューティングデバイスは、複数の別個のエンゲージメント入力を検出するように構成され得る。複数のエンゲージメント入力の各々は、異なるジェスチャー入力解釈コンテキストに対応し得る。続いて、コンピューティングデバイスは、入力がユーザによって与えられる時間に、複数のエンゲージメント入力のいずれか1つを検出し得る。したがって、ユーザジェスチャー入力に応答して、コンピューティングデバイスは、検出されたジェスチャー入力と、検出されたエンゲージメント入力に対応するジェスチャー解釈コンテキストとに基づいて、少なくとも1つのコマンドを実行し得る。いくつかの構成では、エンゲージメント入力は、手のポーズなどのエンゲージメントポーズの形態をとり得る。他の構成では、検出されたエンゲージメントは、ユーザの声などの音声エンゲージメントであり得る。
【０００８】
本開示の1つまたは複数の追加の、および/または代替態様によれば、コンピューティングデバイスは、エンゲージメントポーズが検出されるまで、制限された検出モードに留まり得る。制限された検出モードである間、デバイスは、1つまたは複数の検出されたジェスチャー入力を無視し得る。次いで、コンピューティングデバイスは、エンゲージメントポーズを検出し、エンゲージメントポーズを検出したことに応答して、後続のジェスチャー入力の処理を開始する。続いて、コンピューティングデバイスは、少なくとも1つのジェスチャーを検出し得、コンピューティングデバイスは、検出されたジェスチャーと、検出されたエンゲージメントポーズとに基づいて、少なくとも1つのコマンドをさらに実行し得る。
【０００９】
1つまたは複数の態様によれば、方法は、複数のエンゲージメントのうちの1つのエンゲージメントを検出することを含み得、複数のエンゲージメントのうちの各エンゲージメントは、複数のジェスチャー解釈コンテキストのうちの1つのジェスチャー解釈コンテキストを定義する。この方法は、複数のジェスチャー解釈コンテキストの中から、ジェスチャー解釈コンテキストを選択することをさらに含み得る。さらに、この方法は、エンゲージメントを検出することに続いて、ジェスチャーを検出すること、および、検出されたジェスチャーと、選択されたジェスチャー解釈コンテキストとに基づいて、少なくとも1つのコマンドを実行することを含み得る。いくつかの実施形態では、ジェスチャーの検出は、選択されたジェスチャー解釈コンテキストに基づく。たとえば、選択されたジェスチャー解釈コンテキストに関連付けられた1つまたは複数のパラメータが、検出のために使用される。いくつかの実施形態では、たとえば、潜在的なジェスチャーが、選択されたジェスチャー解釈コンテキストに基づいてジェスチャー検出エンジンにロードされ、または、いくつかのジェスチャーのためのモデルが、選択されたジェスチャー解釈コンテキストに基づいて選択または使用またはロードされ得る。
【００１０】
1つまたは複数の態様によれば、方法は、複数のエンゲージメントポーズのうちの1つのエンゲージメントポーズが検出されるまで、非エンゲージメントセンサー入力を無視すること、エンゲージメントポーズの検出に続いて、センサー入力に基づいて、少なくとも1つのジェスチャーを検出すること、および、検出されたジェスチャーと、検出されたエンゲージメントポーズとに基づいて、少なくとも1つのコマンドを実行することを含み得る。いくつかの実施形態では、複数のエンゲージメントポーズのうちの各エンゲージメントポーズは、異なるジェスチャー解釈コンテキストを定義する。いくつかの実施形態では、この方法は、エンゲージメントポーズを検出したことに応答して、センサー入力の処理を開始することをさらに含み、少なくとも1つのジェスチャーが、その開始に続いて検出される。
【００１１】
1つまたは複数の態様によれば、方法は、第1のエンゲージメントを検出すること、その検出に応答して、ジェスチャー検出エンジンの少なくとも一部の機能をアクティブ化すること、ジェスチャー検出エンジンを使用して、そのアクティブ化に続いて、ジェスチャーを検出すること、および、検出された第1のエンゲージメントと、検出されたジェスチャーとに基づいて、アプリケーションを制御することを含み得る。いくつかの実施形態では、アクティブ化することは、低電力モードから、低電力モードよりも多くの電力を消費するモードに切り替えることを含む。いくつかの実施形態では、アクティブ化することは、1つまたは複数のセンサーから情報を受信し始めることを含む。いくつかの実施形態では、第1のエンゲージメントは、アプリケーションのためのジェスチャー解釈コンテキストを定義する。いくつかの実施形態では、この方法は、第1のエンゲージメントを検出することより前に、1つまたは複数のジェスチャーを無視することをさらに含む。いくつかの実施形態では、アクティブ化することは、第1のエンゲージメントから得られたデータポイントを、ジェスチャー検出エンジンの動作に入力することを含む。
【００１２】
1つまたは複数の態様によれば、方法は、第1のエンゲージメントを検出すること、第1のエンゲージメントに続いて、第1のジェスチャーに関係するセンサー入力を受信すること、および、第1のジェスチャーがコマンドであるかどうかを判断することを含み得る。いくつかの実施形態では、第1のエンゲージメントが第1のジェスチャーの少なくとも一部分にわたって維持されるとき、第1のジェスチャーはコマンドを含む。この方法は、第1のエンゲージメントが第1のジェスチャーの実質的に全体にわたって保持されないとき、第1のジェスチャーがコマンドを含まないと判断することをさらに含み得る。
【００１３】
本開示の態様が例として示される。添付の図面において、同様の参照番号は類似の要素を示す。
【図面の簡単な説明】
【００１４】
【図１】本開示の1つまたは複数の態様を実装することができる例示的なデバイスを示す図である。
【図２】本開示の1つまたは複数の例示的な態様による、コンピューティングデバイスが、エンゲージメントポーズを検出したことに応答して、制限された検出モードからジェスチャー検出モードにどのように切り替わり得るかを示す、例示的なタイムラインを示す図である。
【図３】本開示の1つまたは複数の例示的な態様による、エンゲージメント依存型ジェスチャー認識を実行する例示的な方法を示す図である。
【図４】本開示の1つまたは複数の例示的な態様による、コンピューティングデバイスによって認識され得るエンゲージメントポーズおよびジェスチャーの例示的な表を示す図である。
【図５】本開示の1つまたは複数の態様が実装され得る例示的なコンピューティングシステムを示す図である。
【図６】本開示の1つまたは複数の態様を実装するための第2の例示的なシステムを示す図である。
【図７】本開示のいくつかの方法を実施するためのアルゴリズムを示すフロー図であり、図6の例示的なシステムとともに使用され得る図である。
【図８】本明細書で開示する技法に従って動作するように構成されたデバイスの例示的な動作を示すフロー図である。
【発明を実施するための形態】
【００１５】
次に、いくつかの例示的な実施形態について、本明細書の一部を形成する添付の図面に関連して説明する。本開示の1つまたは複数の態様が実装され得る特定の実施形態について以下で説明するが、本開示の範囲、または添付の特許請求の範囲の趣旨を逸脱することなく、他の実施形態を使用することができ、様々な変更を行うことができる。
【００１６】
図1は、本開示の1つまたは複数の態様を実装することができる例示的なデバイスを示す。たとえば、コンピューティングデバイス100は、パーソナルコンピュータ、セットトップボックス、電子ゲームコンソールデバイス、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、携帯情報端末、またはコンピューティングデバイス100が動作および/もしくは他の検知された状態をユーザ入力の形態でキャプチャすることを可能にする1つもしくは複数のセンサーを備えた他のモバイルデバイスであり得る。たとえば、コンピューティングデバイス100は、1つまたは複数のカメラ、マイクロフォン、近接センサー、ジャイロスコープ、加速度計、圧力センサー、グリップセンサー、タッチスクリーン、および/または他のセンサーを備えてもよく、それらと通信可能に連結されてもよく、かつ/または他の方法でそれらを含んでもよい。以下でより詳細に説明するように、コンピューティングデバイス100はまた、1つまたは複数のセンサーを含むことに加えて、1つまたは複数のプロセッサ、メモリユニット、および/または他のハードウェア構成要素を含み得る。いくつかの実施形態では、デバイス100は、自動車に、たとえば、自動車の中央コンソールに組み込まれる。
【００１７】
1つまたは複数の構成では、コンピューティングデバイス100は、デバイスの1人または複数のユーザによって実行されるジェスチャー、たとえば、ユーザがデバイス100にタッチすることを含まなくてもよいジェスチャーを認識するために、これらのセンサーのうちのいずれか、および/またはすべてを、単独で、または組み合わせて使用することができる。たとえば、コンピューティングデバイス100は、カメラ110などの1つまたは複数のカメラを使用して、可能な動きの中でも、手の揺れやスワイプ動作など、ユーザによって実行される手および/または腕の動きをキャプチャすることができる。さらに、ユーザによって実行される身体全体の動きなど(たとえば、歩行、ダンスなど)、より複雑な、および/またはスケールの大きい動きを、1つまたは複数のカメラ(および/または他のセンサー)によって同様にキャプチャし、続いて、たとえばコンピューティングデバイス100によって、ジェスチャーとして認識することができる。また別の例では、コンピューティングデバイス100は、タッチスクリーン120などの1つまたは複数のタッチスクリーンを使用して、可能な動きの中でも、ピンチ、スワイプ、および回転など、ユーザによって与えられるタッチベースのユーザ入力をキャプチャすることができる。単独でジェスチャーと見なされ得る、および/あるいはより複雑なジェスチャーを形成するために他の動きまたはアクションと結合され得る、これらのサンプルの動きについて、本明細書で例として説明したが、任意の他の種類の動作、動き、アクション、または他のセンサーでキャプチャされるユーザ入力が、コンピューティングデバイス100などの本開示の1つまたは複数の態様を実装するコンピューティングデバイスによって同様にジェスチャー入力として受信されてよく、かつ/またはジェスチャーとして認識されてよい。
【００１８】
いくつかの構成では、たとえば、深度カメラなどのカメラを使用して、ユーザのジェスチャー、またはジェスチャーの変化の認識に基づいて、コンピュータまたはメディアハブを制御することができる。指紋の有害で曖昧な影響という欠点があり得るいくつかのタッチスクリーンシステムとは異なり、カメラベースのジェスチャー入力は、ユーザの自然な身体の動きまたはポーズに基づいて、写真、ビデオ、または他の画像が明確に表示される、または他の方法で出力されることを可能にし得る。この利点を念頭において、ジェスチャーは、ユーザが画像オブジェクトを閲覧、パン(すなわち、移動)、サイズ変更、回転すること、および画像オブジェクトに他の操作を実行することを可能にするものであると認識され得る。
【００１９】
構造化光カメラ(structured light camera)または飛行時間型カメラ(time-of-flight camera)などの深度カメラは、赤外線放出器およびセンサーを含み得る。深度カメラは、赤外光のパルスを生成して、続いて光がオブジェクトに移動してセンサーに戻ってくるのにかかる時間を測定し得る。距離は、移動時間に基づいて計算され得る。以下でより詳細に説明するように、他の入力デバイスおよび/またはセンサーは、入力を検出もしくは受信し、かつ/またはジェスチャーの検出を支援するために使用され得る。
【００２０】
本明細書で使用されるように、「ジェスチャー」は、人体の一部を使って行われる非言語的コミュニケーションの形態を指すことを意図しており、スピーチなどの言語的コミュニケーションとは対照的である。たとえば、ジェスチャーは、第1の位置、ポーズ、または表情と、第2のポーズ、位置、または表情との間の動き、変化、または変質によって定義され得る。日常会話で使用される一般的なジェスチャーには、たとえば、「エアクォーツ(air quote)」ジェスチャー、おじぎジェスチャー、膝を曲げるおじぎ(curtsey)、頬へのキス、指や手の動作、ひざまずくこと、頭を振ることもしくは動き、ハイタッチ、うなずき、悲しい顔、拳を上げること、敬礼、親指を立てる動作、つまむジェスチャー、手や身体をねじるジェスチャー、または指さしジェスチャーがある。ジェスチャーは、カメラを使用してユーザの画像を分析することなどによって、傾斜センサーを使用してユーザがデバイスを保持している、もしくは傾けている角度を検出することなどによって、またはいずれかの他の手法によって検出され得る。上記の説明および以下のさらなる説明から当業者が諒解するように、ジェスチャーは、たとえば、空中で実行される手の動きなど、非タッチ、タッチレス、またはタッチなしのジェスチャーを含み得る。そのような非タッチ、タッチレス、またはタッチなしのジェスチャーは、たとえば、いくつかの実施形態では、タッチスクリーン上でパターンを描くことによって実行され得る様々な「ジェスチャー」とは区別され得る。いくつかの実施形態では、ジェスチャーは、デバイスを保持しながら空中で実行され得、加速度計など、デバイス中の1つまたは複数のセンサーが、ジェスチャーを検出するために使用され得る。
【００２１】
ユーザは、身体部分の位置を変えること(すなわち、揺らす動作)によってジェスチャーを行う(すなわち「身ぶりで示す」)ことができ、または身体部分の位置を変えずに(すなわち、握り拳のジェスチャーを行うことによって)身ぶりで示すことができる。いくつかの構成では、カメラ入力を介して機能を制御するために手および腕のジェスチャーを使用することができ、他の構成では、追加または代替として他のタイプのジェスチャーを使用することもできる。追加または代替として、1つまたは複数のジェスチャーを行う際に、手および/または他の身体部分(たとえば、腕、頭、胴体、脚、足など)を動かすことができる。たとえば、いくつかのジェスチャーは、片方または両方の手を動かすことによって実行することができ、他のジェスチャーは、片方または両方の手を、片方または両方の腕、片方または両方の脚などと組み合わせて動かすことによって実行することができる。いくつかの実施形態では、ジェスチャーは、あるポーズ、たとえば、手または身体のポーズがしきい値時間量にわたって維持されることを含み得る。
【００２２】
図2は、本開示の1つまたは複数の例示的な態様による、コンピューティングデバイスが、エンゲージメント入力を検出したことに応答して、制限された検出モードから完全検出モードにどのように切り替わり得るかを示す、例示的なタイムラインを示す。図2に示されているように、開始時間205で、デバイス100などのコンピューティングデバイスは、制限された検出モードであり得る。制限された検出モードでは、デバイスは、センサーデータを処理して、エンゲージメント入力を検出する。ただし、このモードでは、デバイスは、完全検出モードでデバイスを制御するために利用可能なユーザ入力に関連付けられたコマンドを実行しないことがある。言い換えれば、いくつかの実施形態では、エンゲージメント入力のみが、制限された検出モードで有効である。
【００２３】
さらに、デバイスはまた、制限された検出モードである間、完全検出モードに関連付けられたコマンドに関連付けられた入力を検出することに電力および処理リソースが費やされないようにも構成され得る。制限された検出モード中に、コンピューティングデバイスは、ユーザが、エンゲージメント入力を与えたかどうかを判断することに関連のあるセンサー入力(および/または、この時間中に受信され得る任意の他の入力)を解析するように構成され得る。いくつかの実施形態では、1つまたは複数のセンサーは、オフにされるか、もしくは電源切断されるように、または、デバイス100が制限された検出モード中である間に他の構成要素にセンサー情報を与えないように構成され得る。
【００２４】
本明細書で使用するとき、「エンゲージメント入力」は、完全検出モードのアクティブ化をトリガする入力を指す。完全検出モードは、アクティブなジェスチャー解釈コンテキストによって判断されるように、デバイスの機能を制御するために、いくつかの入力が使用され得るデバイス動作のモードを指す。
【００２５】
いくつかの例では、エンゲージメント入力は、特定の方法(たとえば、開いた手のひら、握り拳、「ピース」サイン、デバイスを指さすことなど)で、ユーザが自分の身体または手を位置決めすることを伴う、エンゲージメントポーズであり得る。他の例では、エンゲージメントは、ユーザの手に加えて、かつ/またはユーザの手の代わりに、1つまたは複数の他の身体部分を伴い得る。たとえば、開いた手のひらまたは閉じた拳は、いくつかの実施形態では、伸ばした腕の端部で検出されるとき、エンゲージメント入力を構成し得る。
【００２６】
追加または代替として、エンゲージメント入力は、デバイスが完全ジェスチャー検出モードに入ることをトリガする音など、音声入力を含み得る。たとえば、エンゲージメント入力は、デバイスがエンゲージメント入力として認識するように構成される特定の語または句をユーザが発話することであり得る。いくつかの実施形態では、エンゲージメント入力は、ユーザがセンサーを遮ることによって与えられ得る。たとえば、デバイスは、ユーザがカメラの視野、または音波デバイスの送信および/もしくは受信空間をブロックするときを認識するように構成され得る。たとえば、自動車で移動中のユーザは、車中またはハンドヘルドデバイス上に存在するカメラまたは他のセンサーを遮ることによって、エンゲージメント入力を与え得る。
【００２７】
コンピューティングデバイスが、エンゲージメント入力が検出されたと判断すると、デバイスは、完全検出モードに入る。1つまたは複数の構成では、デバイスによって検出された特定のエンゲージメント入力は、特定のジェスチャー解釈コンテキストに対応し、それをトリガし得る。ジェスチャー解釈コンテキストは、コンテキストがエンゲージされるとき、デバイスによって認識可能なジェスチャー入力のセット、ならびに、そのような各ジェスチャーによってアクティブ化されるコマンドを含み得る。したがって、完全検出モード中に、アクティブなジェスチャー解釈コンテキストは、検出されたジェスチャー入力に対してデバイスによって与えられる解釈を規定し得る。さらに、完全検出モードでは、アクティブなジェスチャー解釈コンテキスト自体は、デバイスが完全検出モードに入ることをトリガしたエンゲージメント入力によって規定され得る。いくつかの実施形態では、「デフォルト」エンゲージメントが実施されてもよく、「デフォルト」エンゲージメントは、たとえば、それ自体が一意のジェスチャー解釈コンテキストに関連付けられるのではなく、ユーザが直近のジェスチャー解釈コンテキストに入ることを可能にするようになる。
【００２８】
引き続き図2を参照すると、コンピューティングデバイスが完全検出モードに入ると、コンピューティングデバイスは、1つまたは複数のジェスチャーを検出し得る。特定のジェスチャーを検出したことに応答して、デバイスは、直近のエンゲージメント入力に対応するジェスチャー解釈コンテキストに基づいて、ジェスチャーを解釈し得る。アクティブなジェスチャー解釈コンテキストにおける認識可能なジェスチャーは、それぞれコマンドに関連付けられ得る。このようにして、ジェスチャーのいずれか1つが入力として検出されるとき、デバイスは、ジェスチャーが関連付けられるコマンドを判断し、判断されたコマンドを実行する。いくつかの実施形態では、直近のエンゲージメント入力は、どのコマンドがどのジェスチャーに関連付けられるかを判断するのみでないことがあり、エンゲージメント入力は、それらのジェスチャーのうちの1つまたは複数を検出するために使用された1つまたは複数のパラメータを判断するために使用され得る。
【００２９】
前に説明した方法の例示的な実装形態として、デバイスは、ユーザの親指と伸ばした小指とを伴うポーズを認識することができ、このポーズを電話ジェスチャー解釈コンテキストに関連付けることができる。同じデバイスはまた、一緒に円形になった親指と人差し指とを伴う手のポーズを認識することもでき、このポーズを、地図作成アプリケーションに適用可能な別のナビゲーションジェスチャー解釈コンテキストに関連付けることができる。
【００３０】
この例示的なコンピューティングデバイスが、ユーザの親指と伸ばした小指とを伴う手のポーズを含んだエンゲージメントを検出した場合、デバイスは、電話ジェスチャー解釈コンテキストに従って、ジェスチャー検出モード中に検出されたジェスチャーを解釈し得る。このコンテキストでは、コンピューティングデバイスが次いで左スワイプジェスチャーを認識することになった場合、デバイスは、たとえば、デバイスによって提供された電話アプリケーション(たとえば、電話ソフトウェアアプリケーション)を使用して実行されるべき「リダイヤル」コマンドとして、そのジェスチャーを解釈し得る。一方、この例では、コンピューティングデバイスが、ユーザの親指および人差し指が円を形成する(たとえば、地球の形を模倣する)手のポーズを含んだエンゲージメントを認識した場合、デバイスは、ナビゲーションジェスチャー解釈コンテキストに従って、ジェスチャー検出モード中に検出されたジェスチャーを解釈し得る。このコンテキストでは、コンピューティングデバイスが次いで左スワイプジェスチャーを認識することになった場合、デバイスは、たとえば、同じくデバイスによって提供された衛星ナビゲーションアプリケーション(たとえば、衛星ナビゲーションソフトウェアアプリケーション)を使用して実行されるべき「地図をスクロール」コマンドとして、そのジェスチャーを解釈し得る。これらの例によって示唆されるように、少なくとも1つの実施形態では、コンピューティングデバイスは、自動車制御システムとして、かつ/または自動車制御システム中に実装されてもよく、これらの様々なエンゲージメントおよびジェスチャーは、ユーザが自動車制御システムの異なる機能を制御することを可能にし得る。
【００３１】
図3は、本開示の1つまたは複数の例示的な態様による、エンゲージメント依存型ジェスチャー認識を実行する例示的な方法を示す。1つまたは複数の態様によれば、本明細書で説明する方法および/または方法ステップのうちのいずれか、および/またはすべてを、たとえばコンピューティングデバイス100および/または以下でより詳細に説明するコンピュータシステムなどのコンピューティングデバイスによって実装する、および/またはそれに実装することができる。一実施形態では、図3に関して以下で説明する方法ステップのうちの1つまたは複数が、デバイス100のプロセッサによって実装される。さらに、または代替で、本明細書で説明する方法および/または方法ステップのうちのいずれか、および/またはすべてが、コンピュータ可読媒体に記憶されたコンピュータ可読命令などの、コンピュータ可読命令に実装され得る。その上、本開示によれば、デバイスは、図3に示すステップ、決定、判断、およびアクションのうちのいずれかの実行のために必要とされ得る他のステップ、計算、アルゴリズム、方法、またはアクションを組み込み得る。
【００３２】
図3の方法の説明に関連して、後続の段落は、前もって図5および図6を参照して、方法ステップに関連付けられ得るこれらの図のいくつかの構成要素を示す。ステップ305で、1つまたは複数のジェスチャーをユーザ入力として認識することが可能なコンピューティングデバイス(たとえば、コンピューティングデバイス500または600)などのコンピューティングデバイスが初期化されてもよく、かつ/または1つまたは複数の設定がロードされてもよい。たとえば、コンピューティングデバイスの電源がまず投入されると、(たとえば、そこで記憶および/または実行されるソフトウェアに関連する)デバイスは、ジェスチャーに関係するユーザ選好など、1つまたは複数の設定をロードすることができる。少なくとも1つの構成では、これらのユーザ選好は、特定のジェスチャーが異なるジェスチャー解釈コンテキストにおいて特定のコマンドにマッピングされる、ジェスチャーマッピング情報を含み得る。追加または代替として、そのようなジェスチャーマッピング情報は、エンゲージメント入力と、そのような各エンゲージメント入力によってもたらされる異なるジェスチャー解釈コンテキストとを指定し得る。ジェスチャーマッピング設定などに関係する情報は、たとえば、メモリ535またはメモリ606に記憶され得る。
【００３３】
1つまたは複数の追加および/または代替的な構成では、設定は、エンゲージメント入力が「グローバル」レベルで動作して、これらのエンゲージメント入力が、現在「フォーカスが合っている」または使用されているアプリケーションにかかわらず、同じジェスチャー解釈コンテキストに対応するように指定し得る。一方、設定は、他のエンゲージメント入力がアプリケーションレベルで動作して、これらのエンゲージメント入力が異なる時間に異なるジェスチャーに対応し、その対応が、どのアプリケーションが使用されているかに依存するように指定し得る。グローバルレベルおよびアプリケーションレベルのエンゲージメント入力の構成は、これらの概念を実装するシステムに依存してもよく、システムは、特定のシステム設計目標に合うように必要に応じて、グローバルレベルおよびアプリケーションレベルのエンゲージメント入力で構成され得る。グローバルレベルおよびアプリケーションレベルのエンゲージメント入力の構成はまた、ユーザによって与えられた設定に基づいて、部分的または完全に決定され得る。
【００３４】
たとえば、(以下で「Table A」(表1)と標示された)下記の表は、自動車の設定における本開示の1つまたは複数の態様を実装するシステムに関連して使用され得る、ジェスチャーマッピング情報の一例を示す。
【００３５】
【表１】
2015510197.tif 000003
【００３６】
別の例として、(以下で「Table B」(表2)と標示された)下記の表は、家庭用娯楽システムの設定における本開示の1つまたは複数の態様を実装するシステムに関連して使用され得る、ジェスチャーマッピング情報の一例を示す。
【００３７】
【表２】
2015510197.tif 000004
【００３８】
Table A(表1)およびTable B(表2)は、例示のためにのみ与えられ、代替的または追加のマッピング構成、コマンド、ジェスチャーなどが、本開示によるジェスチャー認識を採用するデバイスにおいて使用され得る。
【００３９】
多数の追加のデバイスおよびアプリケーションもまた、ジェスチャー検出と、特定のジェスチャーが異なるジェスチャー解釈コンテキストにおいて特定のコマンドにマッピングされる、ジェスチャーマッピング情報とを使用するように構成され得る。たとえば、テレビアプリケーションインターフェースは、ジェスチャー検出を組み込んで、ユーザがテレビを制御できるようにし得る。テレビアプリケーションは、あるエンゲージメント入力が後続のジェスチャーでテレビのチャンネルを変えることを可能にし、異なるエンゲージメント入力が後続のジェスチャーでテレビのボリュームを変えることを可能にする、ジェスチャー解釈コンテキストを組み込み得る。
【００４０】
追加の一例として、ビデオゲームアプリケーションは、ジェスチャー検出を通してユーザによって制御され得る。ビデオゲームのためのジェスチャー入力解釈コンテキストは、たとえば、ビデオゲームがメインメニューで操作され得る(すなわち、メインメニューがフォーカスである)方法に類似した、「一時停止」または「終了」制御コマンドにマッピングされるいくつかのジェスチャー入力を含み得る。ビデオゲームのための異なる解釈コンテキストは、シュートコマンド、走行コマンド、またはジャンプコマンドなど、ライブゲーム制御コマンドにマッピングされる同じまたは異なるジェスチャー入力を含み得る。
【００４１】
その上、2つ以上のユーザアプリケーションを組み込むデバイスでは、ジェスチャー解釈コンテキストは、アクティブアプリケーションを変更することを可能にし得る。たとえば、GPSアプリケーションの使用中に利用可能なジェスチャー解釈コンテキストは、あるジェスチャー入力を、電話またはカメラアプリケーションなどの別のアプリケーションに切り替え、または追加としてそのアプリケーションをアクティブ化するためのコマンドに結びつける、マッピング情報を含み得る。
【００４２】
ステップ310で、コンピューティングデバイスが、制限された検出モードで入力を処理し得る。たとえば、ステップ310で、コンピューティングデバイス100は、センサー入力がデバイスによって受信および/またはキャプチャされ得るが、エンゲージメント入力を検出する目的のみで処理され得る、制限された検出モードであり得る。処理に先立って、センサー入力が、入力デバイス515またはセンサー602によって受信され得る。いくつかの実施形態では、デバイスが制限された検出モードで動作する間、完全検出モードで認識されるコマンドに対応するジェスチャーは、無視され得るか、または検出されなくなり得る。さらに、デバイスは、エンゲージメント入力を検出することに関与しないセンサー、センサー構成要素、プロセッサ構成要素、またはソフトウェアモジュールを非アクティブ化するか、またはそれらへの電力を低減し得る。たとえば、エンゲージメント入力がエンゲージメントポーズであるデバイスでは、デバイスは、カメラを使用してエンゲージメントポーズ入力を検出中である間、タッチスクリーンまたはオーディオ受信機/検出器構成要素への電力を低減し得る。上記のように、コンピューティングデバイス100がバッテリーなどの制限された電源に依拠しているとき、このようにして動作することは、制限された検出モード中に処理リソース(および、したがって、電力)が節約され得るので、有利であり得る。
【００４３】
続いて、ステップ315で、デバイスが、エンゲージメント入力が与えられたかどうかを判断し得る。このステップは、コンピューティングデバイス100が、制限された検出モード中に受信されたセンサー情報を連続的または定期的に解析して、エンゲージメント入力(上記のエンゲージメントポーズまたは音声エンゲージメントなど)が与えられたかどうかを判断することを伴い得る。より詳細には、この解析は、メモリデバイス525とともに、プロセッサ510などのプロセッサによって実行され得る。代替として、プロセッサ604などのプロセッサは、モジュール608とともに解析を実行するように構成可能であり得る。ステップ315で、コンピューティングデバイスがエンゲージメント入力を検出するまで、コンピューティングデバイスは、ステップ310を指すように向きを変える矢印によって示すように、制限された検出モードに留まり得、エンゲージメント入力を検出する目的で入力データを処理し続ける。
【００４４】
一方、ステップ315で、コンピューティングデバイスがエンゲージメント入力を検出する場合、デバイスが、318に示すように、エンゲージメント入力に基づいてジェスチャー入力解釈コンテキストを選択し、アクティブ化し得、タイムアウトカウンタを開始し得る。より詳細には、ジェスチャー解釈コンテキストの選択およびアクティブ化は、メモリデバイス525とともに、プロセッサ510などのプロセッサによって実行され得る。代替として、プロセッサ604などのプロセッサは、モジュール610とともに、選択およびアクティブ化を実行するように構成可能であり得る。
【００４５】
コンピューティングデバイスは、315で、いくつかの可能なエンゲージメント入力を検出するように構成され得る。本開示のいくつかの実施形態では、コンピューティングデバイスは、静的なポーズと動的なジェスチャーの両方が認識可能で制御コマンドにマッピングされる、ジェスチャー入力解釈コンテキストに関連付けられた、1つまたは複数のエンゲージメント入力を検出するように構成され得る。コンピューティングデバイスによって検出可能な各エンゲージメント入力(たとえば、各手のポーズ、ジェスチャー、スワイプ、動きなど)を示す情報は、後続の図を参照して後で説明するように、デバイス内にアクセス可能に記憶され得る。この情報は、ユーザまたは別の人物によって与えられるモデルエンゲージメント入力から、直接判断され得る。追加または代替として、情報は、エンゲージメント入力の各々によって生成されると予想されるセンサー入力を定量的に示す、数学的モデルに基づき得る。さらに、いくつかの実施形態では、情報は、デバイスの内部で、またはデバイスと通信している外部エンティティにおいて行われる人工知能学習プロセスに基づいて、動的に変更および更新され得る。
【００４６】
追加として、利用可能なジェスチャー解釈コンテキストを示す情報は、各解釈コンテキストを少なくとも1つのエンゲージメント入力に関連付ける方法で、メモリに記憶され得る。たとえば、デバイスは、データ記憶構造内の関連付けを可能にする1つまたは複数のルックアップテーブルまたは他の記憶機構の使用を通して、そのような関連付けを生成するように構成され得る。
【００４７】
次いで、320で、デバイスが完全検出モードに入り、ステップ320に示すように、センサー情報を処理して、ジェスチャー入力を検出する。たとえば、ステップ320で、コンピューティングデバイス100が、センサー情報をキャプチャ、記憶、解析、および/または他の方法で処理して、アクティブなジェスチャー解釈コンテキスト内で関連するジェスチャー入力を検出し得る。1つまたは複数の追加および/または代替的な構成では、エンゲージメントが検出されたと判断したことに応答して、コンピューティングデバイス100は、アクティブなジェスチャー解釈コンテキスト内で利用可能なジェスチャー入力と、そのような各ジェスチャー入力に対応するコマンドとの指示を、ユーザにさらに通信し得る。
【００４８】
追加または代替として、エンゲージメント入力を検出したことに応答して、コンピューティングデバイス100は、音を再生し、かつ/または他の方法で音声フィードバックを提供して、検出されたエンゲージメントに関連付けられたジェスチャー入力解釈コンテキストのアクティブ化を示し得る。たとえば、デバイスは、電話コンテキストに関連付けられたエンゲージメント入力を検出すると、「電話のダイヤリング」の音響効果を提供し、または、衛星ナビゲーションジェスチャー入力解釈コンテキストに関連付けられたエンゲージメントジェスチャーを検出すると、「輝く星」の音響効果を提供し得る。
【００４９】
また、デバイスは、ジェスチャー入力解釈コンテキストに関連付けられたエンゲージメントジェスチャーの検出を示す、視覚的出力を提供するように構成され得る。視覚的出力は、画面上に、または、画像もしくは視覚的フィードバックを表示するために好適な別の媒体を通して表示され得る。ジェスチャー解釈コンテキストの視覚的指示の一例として、デバイスは、解釈コンテキストにおいて認識可能な手のポーズまたはジェスチャーのうちのいくつかの図式表現と、ジェスチャーが対応するコマンドの説明とを示し得る。
【００５０】
いくつかの実施形態では、ステップ315でエンゲージメントが検出された後、ステップ320の一部として、ジェスチャー入力検出エンジンが初期化され得る。そのような初期化は、少なくとも部分的に、プロセッサ604などのプロセッサによって実行され得る。ジェスチャー入力検出エンジンの初期化は、プロセッサ604が、612で示すものなど、ジェスチャー入力を検出するためのモジュールをアクティブ化することを伴い得る。初期化は、プロセッサ604が、認識可能なエンゲージメント入力を示す情報にアクセスすることをさらに伴い得る。そのような情報は、エンゲージメント入力ライブラリ616中に、または任意の他の記憶位置に記憶され得る。
【００５１】
いくつかの実施形態では、315でエンゲージメント入力を検出するプロセスの一部として、デバイスは、ユーザ、またはデバイスの周囲の環境についての情報を取得し得る。そのような情報は保存され、続いて、たとえば、ジェスチャー入力検出を向上させるために、ステップ320で、かつ/またはステップ325で、ジェスチャー検出エンジンによって完全検出モードで、または処理中に利用され得る。いくつかの実施形態では、ステップ315で、手のポーズを伴うエンゲージメント入力が検出されるとき、デバイス100は、完全検出モードでジェスチャー入力を検出するために、後にステップ320で手の動作を追跡するために使用され得る手の特徴またはキーポイントを抽出する。
【００５２】
ステップ325で、現在は完全検出モードであるコンピューティングデバイス100が、アクション可能なジェスチャー入力がユーザによって与えられたかどうかを判断する。例として、ステップ325を実行することの一部として、コンピューティングデバイス600は、連続的または定期的にセンサーデータを解析して、アクティブな解釈コンテキストに関連付けられたジェスチャー入力が与えられたかどうかを判断し得る。コンピューティングデバイス600の場合、そのような解析は、モジュール612、およびジェスチャー入力のライブラリ620とともに、プロセッサ604によって実行され得る。
【００５３】
本開示の一実施形態では、完全検出モードは、所定の時間期間(たとえば、10秒、または最後の有効な入力が検出されてから10秒)の間にのみ続き、アクション可能なジェスチャー入力がそのような時間内に検出されない場合、ジェスチャー検出モードが「タイムアウト」し、デバイスが上記の制限された検出モードに戻るようになり得る。この「タイムアウト」機能は、図3で318において示され、制限時間に達するかまたは満了すると、完全検出モードのキャンセルと、制限された検出モードの再初期化とをトリガする、時間経過カウンタを使用して実装され得る。そのようなカウンタが使用されるとき、カウンタは、ステップ318によって示すように、検出されたエンゲージメント入力がもはや検出されなくなるとすぐに開始するように構成され得る。このようにして、ユーザは、エンゲージメントポーズまたは他のそのような入力を保持し、次いで、ユーザがジェスチャー入力を与える前にジェスチャー検出モードがタイムアウトすることなしに、入力ジェスチャーの決定を遅らせることができる。
【００５４】
いくつかの実施形態では、ユーザは、前に与えたエンゲージメント入力を「キャンセル」する、あるジェスチャーまたは別のあらかじめ定義されたエンゲージメントを実行してもよく、それによって、タイムアウトカウンタが満了することを待機する必要なしに、ユーザがタイムアウトカウンタを再初期化するか、またはジェスチャー解釈コンテキストを変更することが可能となる。
【００５５】
図3に示すように、コンピューティングデバイスが、ステップ325で、ジェスチャーがまだ検出されていないと判断する場合、ステップ330で、コンピューティングデバイスが、タイムアウトカウンタが満了したかどうかを判断する。カウンタが満了した場合、デバイスは、完全検出モードがタイムアウトしたことを(たとえば、ユーザインターフェースを表示すること、音を再生することなどによって)ユーザに通知し、続いて、ステップ310に戻る矢印によって示すように、制限された検出モードに再度入る。タイムアウトカウンタがまだ満了していない場合、デバイスは、ステップ320に戻る矢印によって示すように、完全検出モードでセンサー情報を処理し続ける。
【００５６】
完全検出モードである間の任意の時間に、ステップ325で、コンピューティングデバイスが、アクション可能なジェスチャー入力(すなわち、アクティブなジェスチャー解釈コンテキストの一部であるジェスチャー入力)を検出する場合、ステップ335で、コンピューティングデバイスが、アクティブなジェスチャー入力解釈コンテキストに基づいて、ジェスチャーを解釈する。ジェスチャーを解釈することは、アクティブなジェスチャー入力解釈コンテキストに従って、どのコマンドがジェスチャーに応答して実行されるべきであるかを判断することを含み得る。上記で説明したように、(様々なエンゲージメントに対応する)様々なコンテキストが、様々な機能の制御、様々なジェスチャーの使用、またはその両方を可能にし得る。たとえば、ナビゲーションコンテキストは、ナビゲーションアプリケーションの制御を可能にし得るが、電話コンテキストは、電話アプリケーションの制御を可能にし得る。
【００５７】
本発明のいくつかの実施形態では、制限された検出モードにおけるエンゲージメント入力の検出、および/または解釈コンテキストの選択は、ユーザがエンゲージメント入力を与えるロケーションと無関係であり得る。そのような場合、デバイスは、エンゲージメント入力が検出されるデバイスセンサーに対する位置にかかわらず、完全検出モードとジェスチャー解釈コンテキストとをアクティブ化するように構成され得る。追加または代替として、デバイスは、完全検出モードにおける入力ジェスチャーの検出が、ジェスチャー入力が与えられる位置と無関係であるように構成され得る。さらに、たとえばスクリーン120上に、要素が表示されているとき、エンゲージメント入力の検出、および/または入力解釈コンテキストの選択は、表示されているものと無関係であり得る。
【００５８】
本発明のいくつかの実施形態は、入力と対応するコマンドとの間の1対1のマッピングのただ1つの層を有するジェスチャー入力解釈コンテキストを伴い得る。そのような場合、すべてのコマンドが、単一のジェスチャー入力のみの実行を通して、ユーザにとって利用可能であり得る。追加または代替として、デバイスによって使用されるジェスチャー入力解釈コンテキストは、一連の2つの連続するジェスチャー入力がユーザによって与えられるのでない限り、実行され得ない、ネストされたコマンドを組み込み得る。たとえば、単一の層の1対1のコマンドマッピングを組み込んでいる例示的なジェスチャー入力解釈コンテキストでは、伸ばした親指および人差し指のジェスチャー入力は、電話アプリケーションにアクセスするためのコマンドに直接対応し得る。ネストされたコマンドが使用される例示的なシステムでは、円形の手のポーズを伴うジェスチャー入力は、ナビゲーションアプリケーションを初期化するためのコマンドに直接対応し得る。円形の手のポーズがジェスチャー入力として与えられることに続いて、開いた手のひらまたは握り拳は、その後、ナビゲーションアプリケーション内の機能コマンドに対応し得る。このようにして、開いた手のひらに対応する機能コマンドは、ネストされたコマンドであり、開いた手のひらのジェスチャー入力は、円形の手のポーズが最初に検出されたのでない限り、機能コマンドを実行させなくてもよい。
【００５９】
追加の実施形態は、デバイスが、ネストされたエンゲージメント入力に基づいて動作するように構成されることを伴い得る。たとえば、ネストされたエンゲージメント入力を使用するデバイスは、第1および第2のエンゲージメント入力、または任意の一連のエンゲージメント入力を認識するように構成され得る。そのようなデバイスは、完全な一連のエンゲージメント後まで、完全検出モードに入らないように構成され得る。
【００６０】
エンゲージメント入力のネスティングに基づく動作が可能なデバイスは、ユーザがアクティブ化することを望むアプリケーションを示す第1のエンゲージメント入力を、ユーザが与えることを可能にし得る。後続のエンゲージメント入力は、次いで、示されたアプリケーションに関連付けられた所望のジェスチャー解釈コンテキストを指定し得る。後続のエンゲージメント入力はまた、完全検出モードと、示されたアプリケーションおよびコンテキストのアクティブ化とをトリガし得る。デバイスは、第1の検出されたエンゲージメント入力によって規定された方法で、第2のエンゲージメント入力に応答するように構成され得る。したがって、いくつかのそのようなデバイス構成では、等しい第2のエンゲージメント入力を伴う異なるエンゲージメント入力シーケンスが、デバイスに異なるジェスチャー入力解釈コンテキストをアクティブ化させ得る。
【００６１】
ステップ340で、デバイスが、アクティブなジェスチャー入力解釈コンテキストにおいて、前に検出されたジェスチャー入力に対応する、1つまたは複数のコマンドを実行し得る。ステップ340後に示す、戻る矢印によって示すように、次いで、デバイスは、アクティブなジェスチャー入力解釈コンテキストが維持される間、ステップ320でセンサー情報を処理することに戻り得る。いくつかの実施形態では、340または320で、タイムアウトカウンタがリセットされる。代替として、デバイスは、制限された検出モード、または何らかの他の動作モードに戻り得る。
【００６２】
図4は、本開示の1つまたは複数の例示的な態様による、コンピューティングデバイスによって認識され得るエンゲージメントポーズおよびジェスチャーの例示的な表を示す。図4に示されているように、いくつかの既存の手法では、「右スワイプ」ジェスチャー405は、コンピューティングデバイスに、メディアプレーヤアプリケーション内で「次のトラック」コマンドを実行させ得る。
【００６３】
しかしながら、1つまたは複数の実施形態では、「開いた手のひら」エンゲージメントポーズ410または「握り拳」エンゲージメントポーズ420などのエンゲージメントを最初に実行することによって、同じジェスチャーが、エンゲージメントポーズによって設定されたコンテキストに応じて異なる機能にマッピングされ得る。図4に示されているように、たとえば、ユーザが「開いた手のひら」エンゲージメントポーズ410を実行し、次いで「右スワイプ」ジェスチャー415を実行する場合、コンピューティングデバイスは、「開いた手のひら」エンゲージメントポーズ410によって設定されたトラックレベル制御コンテキストに基づいて、メディアプレーヤ内で「次のトラック」コマンドを実行し得る。一方、ユーザが「握り拳」エンゲージメントポーズ420を実行し、次いで「右スワイプ」ジェスチャー425を実行する場合、コンピューティングデバイスは、「握り拳」エンゲージメントポーズ420によって設定されたアルバムレベル制御コンテキストに基づいて、メディアプレーヤ内で「次のアルバム」コマンドを実行し得る。
【００６４】
エンゲージメント依存型ジェスチャー認識の複数の態様について説明してきたが、次に、図5を参照して、本開示の様々な態様が実装され得るコンピューティングシステムの例について説明する。1つまたは複数の態様によれば、図5に示されるコンピュータシステムは、コンピューティングデバイスの一部として組み込まれてよく、本明細書で説明した特徴、方法、および/または方法ステップのうちのいずれか、および/またはすべてを実装、実施、および/または実行し得る。たとえば、ハンドヘルドデバイスは、完全または部分的にコンピュータシステム500から構成され得る。ハンドヘルドデバイスは、カメラおよび/またはタッチスクリーンディスプレイユニットなどの、ユーザ入力を検知可能なセンサーを備えた任意のコンピューティングデバイスでよい。ハンドヘルドデバイスの例には、これに限定されないが、ビデオゲームコンソール、タブレット、スマートフォン、およびモバイルデバイスがある。図5のシステム500は、デバイス100に関して上記で説明した特徴および方法の一部または全部を実装するために使用され得る、多数の構造の1つである。
【００６５】
本開示によれば、図5に示す構造は、ホストコンピュータシステム、リモートキオスク/端末、ポイントオブセールデバイス、モバイルデバイス、セットトップボックス、または、ユーザ入力を検出するように構成された任意の他のタイプのコンピュータシステム内で使用され得る。図5は、そのいずれかおよび/またはすべてを適宜利用できる、様々な構成要素の一般化された図を提供することを意図しているにすぎない。したがって、図5は、個々のシステム要素がどのように実装され得るかを広く図示しており、すべてのそのようなシステム要素が統合された方法で配置されなければならないことを示すものではない。本開示によれば、図5に示すものなどのシステム構成要素は、共通の電気的構造内に組み込まれてもよく、または別々の構造に位置してもよい。これらの構成要素のいくつかをハードウェアとして示すが、構成要素はそのように限定されず、ソフトウェア、プロセッサモジュール、1つまたは複数のマイクロ制御デバイス、論理回路、アルゴリズム、リモートまたはローカルデータ記憶装置、あるいは、ユーザ入力検出システムに関連する当技術分野で知られている任意の他の好適なデバイス、構造、または実装形態において実施されてもよく、またはそれらとして存在してもよい。
【００６６】
コンピュータシステム500は、バス505を介して電気的に結合され得る(または適宜、他の方法で通信し得る)ハードウェア要素を備えるように図示されている。ハードウェア要素は、限定することなく、1つもしくは複数の汎用プロセッサ、ならびに/または(デジタル信号処理チップおよび/もしくはグラフィックス加速プロセッサなどの)1つもしくは複数の専用プロセッサを含む、1つまたは複数のプロセッサ510と、限定することなく、カメラ、マウス、および/またはキーボードなどを含むことができる、1つまたは複数の入力デバイス515と、限定することなく、ディスプレイユニットおよび/またはプリンタなどを含むことができる、1つまたは複数の出力デバイス520とを含むことができる。バス505はまた、いくつかの実施形態では、プロセッサ510のコア間の通信を行い得る。
【００６７】
コンピュータシステム500は、1つまたは複数の非一時的記憶デバイス525をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的記憶デバイス525は、限定することなく、ローカルおよび/もしくはネットワークアクセス可能な記憶装置を備えることができ、ならびに/または限定することなく、プログラム可能および/もしくはフラッシュ更新可能などとすることができる、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリメモリ(「ROM」)などのソリッドステート記憶デバイスを含み得る。そのような記憶デバイスは、限定はしないが、様々なファイルシステムおよび/またはデータベース構造などを含む任意の適切なデータ記憶装置を実装するように構成され得る。
【００６８】
コンピュータシステム500は、通信サブシステム530も含むことができ、通信サブシステム530は、限定することなく、モデム、ネットワークカード(ワイヤレスもしくはワイヤード)、赤外線通信デバイス、ならびに/または(Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備などの)ワイヤレス通信デバイスおよび/もしくはチップセットなどを含むことができる。通信サブシステム530によって、ネットワーク(一例を挙げると、以下で説明するネットワークなど)、他のコンピュータシステム、および/または本明細書で説明した他の何らかのデバイスとのデータの交換が可能になり得る。多くの実施形態では、コンピュータシステム500は、上記で説明したRAMまたはROMデバイスを含み得る非一時的作業メモリ535をさらに備えることになる。
【００６９】
コンピュータシステム500はまた、オペレーティングシステム540、デバイスドライバ、実行可能ライブラリ、および/または1つもしくは複数のアプリケーションプログラム545などの他のコードを含む、現在は作業メモリ535内に配置されたものとして示されている、ソフトウェア要素も備えることができ、他のコードは、様々な実施形態によって提供されるコンピュータプログラムを備えることができ、ならびに/または本明細書で説明されるように、他の実施形態によって提供される方法を実施するように、および/もしくはシステムを構成するように設計され得る。単に例として、たとえば図3に関して説明したような、上述の方法に関して説明した1つまたは複数の手順は、コンピュータ(および/または、コンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することができ、次いで、ある態様では、そのようなコードおよび/または命令は、説明した方法による1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成および/または適合するために使用され得る。プロセッサ510、メモリ535、オペレーティングシステム540、および/またはアプリケーションプログラム545は、上記で説明したようにジェスチャー検出エンジンを備えてもよく、かつ/または図3に関して説明したブロック305〜340のいずれかまたはすべてを実施するために使用され得る。
【００７０】
これらの命令および/またはコードのセットは、上記で説明した記憶デバイス525などのコンピュータ可読記憶媒体に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム500などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体が、記憶された命令/コードで汎用コンピュータをプログラム、構成、および/または適合するために使用され得るようにするために、記憶媒体は、コンピュータシステムとは分離していてもよく(たとえば、コンパクトディスクなどのリムーバブル媒体)、かつ/またはインストールパッケージ内で提供されてもよい。これらの命令は、コンピュータシステム500によって実行可能な実行可能コードの形態をとってもよいし、ならびに/または(たとえば、様々な一般に入手可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを使用して)コンピュータシステム500上でのコンパイル時および/またはインストール時に実行可能コードの形態をとるソースコードおよび/もしくはインストール可能なコードの形態をとってもよい。
【００７１】
大幅な変形が、特定の要件に従って作成され得る。たとえば、カスタマイズされたハードウェアもまた、使用されることがあり、および/または特定の要素が、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、または両方で実装されることもある。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が、使用され得る。
【００７２】
いくつかの実施形態は、本開示による方法を実行するために、コンピュータシステム(コンピュータシステム500など)を使用し得る。たとえば、説明する方法の一部または全部の手順は、作業メモリ535に含まれた(オペレーティングシステム540、および/またはアプリケーションプログラム545などの他のコードに組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスを実行するプロセッサ510に応答して、コンピュータシステム500によって実行され得る。そのような命令は、記憶デバイス525のうちの1つまたは複数などの別のコンピュータ可読媒体から作業メモリ535に読み込まれ得る。単に例として、作業メモリ535に含まれる命令のシーケンスの実行は、プロセッサ510に本明細書で説明した方法、たとえば図3に関して説明した方法の、1つまたは複数の手順を実行させ得る。
【００７３】
本明細で使用する「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方式で動作させるデータを与えることに関与する任意の媒体を指す。コンピュータシステム500を使用して実装される一実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ510に命令/コードを与えることに関与してもよく、かつ/またはそのような命令/コードを(たとえば、信号として)記憶および/または搬送するために使用されてもよい。多くの実装形態では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、限定はしないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態をとり得る。不揮発性媒体には、たとえば、記憶デバイス525などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、限定はしないが、作業メモリ535などのダイナミックメモリが含まれる。伝送媒体には、限定はしないが、バス505を構成する電線を含む、同軸ケーブル、銅線、および光ファイバー、ならびに通信サブシステム530の様々な構成要素(および/または通信サブシステム530が他のデバイスとの通信を行う際に使用する媒体)が含まれる。したがって、伝送媒体はまた、(限定はしないが、電波および赤外線データ通信中に生成されるような電波、音波、および/または光波を含めて)波の形態をとり得る。
【００７４】
一般的な形態の物理的および/または有形コンピュータ可読媒体には、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、後に説明するような搬送波、または、コンピュータが命令および/もしくはコードを読み出すことができる任意の他の媒体が含まれる。
【００７５】
様々な形態のコンピュータ可読媒体は、実行のためにプロセッサ510に1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与し得る。単に例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上で搬送され得る。リモートコンピュータは、命令をそのダイナミックメモリ内にロードし、コンピュータシステム500によって受信および/または実行される伝送媒体上の信号として、命令を送信し得る。電磁信号、音響信号、および/または光信号などの形態であり得るこれらの信号は、すべて、本発明の様々な実施形態による、命令が符号化され得る搬送波の例である。
【００７６】
通信サブシステム530(および/またはその構成要素)が、一般に信号を受信し、次いで、バス505が、信号(および/または、信号によって搬送されるデータ、命令など)を作業メモリ535に搬送することができ、プロセッサ510が、作業メモリ535から命令を取り出し、実行する。作業メモリ535によって受信された命令は、場合によっては、プロセッサ510によって実行される前または後のいずれかに非一時的記憶デバイス525に記憶され得る。
【００７７】
図6は、本明細書の上記で開示した方法、ステップ、プロセス、またはアルゴリズムのいずれかを実装するために代替的に使用され得る、第2のデバイスを示す。図6は、エンゲージメント入力および/またはジェスチャー入力を検知するために使用され得、そのような入力に関するセンサー情報をプロセッサ604に与える、1つまたは複数のセンサー602を含む。センサー602は、(たとえば、マイクロフォンおよび/または超音波放出器を使用する)超音波技術、カメラ、IRもしくはUV技術などの画像またはビデオキャプチャ技術、磁場技術、放出電磁放射(emitted electromagnetic radiation)技術、加速度計および/もしくはジャイロスコープ、ならびに/または、エンゲージメント入力および/もしくはジェスチャー入力を検知するために使用され得る他の技術を備え得る。いくつかの実施形態では、センサー602は、2次元画像をキャプチャするように構成されたカメラを備える。そのようなカメラは、いくつかの実施形態では、コスト効率の高いシステム中に含まれてもよく、入力解釈コンテキストの使用は、いくつかの実施形態では、カメラによって効率的に検出され得るコマンドの数を拡大し得る。
【００７８】
プロセッサ604は、一部または全部のセンサー情報をメモリ606に記憶し得る。さらに、プロセッサ604は、エンゲージメント入力を検出するためのモジュール608、入力解釈コンテキストを選択およびアクティブ化するためのモジュール610、ジェスチャー入力を検出するためのモジュール612、ならびにコマンドを判断および実行するためのモジュール614と通信するように構成される。
【００７９】
追加として、モジュール608、610、612および614の各々は、メモリ606へのアクセスを有し得る。メモリ606は、センサーデータ、入力ジェスチャー解釈コンテキストについてのユーザ選好および情報、コンテキストごとのアクション可能なジェスチャー入力、ならびに/または様々なアクション可能なジェスチャー入力に対応するコマンドを記憶するために使用される、ライブラリ、リスト、アレイ、データベース、または他の記憶構造を含み、またはそれらとインターフェースし得る。メモリはまた、エンゲージメント入力についての情報と、各エンゲージメント入力に対応するジェスチャー入力解釈コンテキストとを記憶し得る。図6では、モジュール608、610、612および614は、プロセッサ604およびメモリ606から離れて図示される。いくつかの実施形態では、モジュール608、610、612および614のうちの1つまたは複数は、プロセッサ604によって、かつ/またはメモリ606中で実装され得る。
【００８０】
図6に示す例示的な構成では、メモリ606は、エンゲージメント入力ライブラリ616と、入力解釈コンテキストライブラリ618と、ジェスチャー入力のライブラリ620と、コマンドのライブラリ622とを含む。各ライブラリは、モジュール608、610、612および614が、ライブラリ616、618、620および622のうちの別のものの1つまたは複数の要素に対応するものとして、1つまたは複数の要素を識別することを可能にする、インデックスを含み得る。モジュール608、610、612および614の各々、ならびにプロセッサ604は、メモリ606およびその中の各ライブラリへのアクセスを有し得、メモリ606へデータを書き込み、メモリ606からデータを読み取ることが可能であり得る。その上、プロセッサ604、ならびにコマンドを判断および実行するためのモジュール614は、出力構成要素624にアクセスし、かつ/または出力構成要素624を制御するように構成され得る。
【００８１】
ライブラリ616、618、620および622は、様々なアクション可能なエンゲージメント入力およびそれらの対応するジェスチャー入力解釈コンテキストと、各コンテキストに関連付けられたジェスチャー入力と、そのような各ジェスチャー入力にリンクされたコマンドとを記述する情報で、ハード符号化され得る。追加として、それらのライブラリは、ユーザの選好に基づいて、ユーザによって与えられた情報で補足されてもよく、または、デバイスによって実行可能なソフトウェアもしくは他の媒体によって判断された情報を記憶し得る。
【００８２】
図6に示すいくつかの構成要素は、図5に示す構成要素によって実行され得るステップのうちのいくつかを実行するように構成可能であるものとして理解され得る。たとえば、図6のデバイスのいくつかの実施形態では、プロセッサ604は、モジュール608、610、612および614とともに、図5のプロセッサ510の説明に関して上記で説明したいくつかのステップを実行するように構成され得る。メモリ606は、記憶デバイス525と同様の記憶機能を行い得る。出力構成要素624は、図5の出力デバイス520のデバイス出力と同様のデバイス出力を与えるように構成され得る。追加として、センサー602は、入力デバイス515の機能と同様のある機能を可能にするように構成され得る。
【００８３】
図7は、本開示によるいくつかの方法を実施するために、図6のデバイスによって使用され得る、例示的な詳細なアルゴリズムプロセスを示す。702に示すように、デバイス700が制限された検出モードである間、プロセッサ604が、1つまたは複数のエンゲージメント入力を求めてユーザにプロンプトを出すように、出力構成要素624にシグナリングし得る。プロセッサは、メモリ606、および詳細には、エンゲージメント入力ライブラリ616とインターフェースして、プロンプトにおいて使用するための1つまたは複数のエンゲージメント入力を記述する情報を取得し得る。続いて、デバイスは、制限された検出モードに留まり、プロセッサ604は、エンゲージメント入力を検出することに関連するセンサー情報を連続的または間欠的に処理する。
【００８４】
704で、プロンプトされた後のあるとき、ユーザがエンゲージメント入力を与える。706で、プロセッサ604が、エンゲージメント入力に関連付けられたセンサー情報を処理する。プロセッサ604は、エンゲージメント入力を検出するためのモジュール608を使用して、エンゲージメントライブラリを検討すること、および、センサー情報がエンゲージメント入力ライブラリ616中の記述エントリに一致すると判断することによって、エンゲージメント入力を識別する。概して説明したように、708で、次いで、プロセッサ604が、入力解釈コンテキストを選択するためのモジュール610を使用して、検出されたエンゲージメント入力に対応するジェスチャー入力解釈コンテキストエントリを求めて、入力解釈コンテキストライブラリ618を走査することによって、ジェスチャー入力解釈コンテキストを選択する。709で、プロセッサ604が、選択されたジェスチャー入力解釈コンテキストをアクティブ化し、完全検出モードをアクティブ化する。
【００８５】
710で、プロセッサが、ジェスチャー入力ライブラリ620およびコマンドのライブラリ622にアクセスして、アクティブなジェスチャー入力解釈コンテキストのためのアクション可能なジェスチャー入力、ならびに、これらのジェスチャー入力に対応するコマンドを判断する。711で、プロセッサが、アクティブなジェスチャー入力解釈コンテキストに関連付けられた、アクション可能なジェスチャー入力のうちの1つまたは複数と対応するコマンドとを、ユーザに通知するための通信を出力するように、出力構成要素624に命令する。
【００８６】
712で、プロセッサが、センサー情報を解析して、ユーザがジェスチャー入力を与えたかどうかを判断し始める。この解析は、プロセッサが、ジェスチャー入力を検出するためのモジュール612を使用して、アクション可能なジェスチャー入力が与えられたかどうかを判断する目的で、ジェスチャー入力のライブラリ620にアクセスすることを伴い得る。ジェスチャー入力を検出するためのモジュール612は、センサー情報のセットを、ライブラリ620中のアクション可能なジェスチャー入力の記述と比較してもよく、センサー情報のセットが記憶された記述のうちの1つと一致するとき、ジェスチャー入力を検出し得る。
【００８７】
続いて、プロセッサがセンサー情報を解析し続ける間に、714で、ユーザがジェスチャー入力を与える。716で、プロセッサが、ジェスチャー入力を検出するためのモジュール612とともに、ジェスチャー入力のライブラリに記憶され、アクティブなジェスチャー入力解釈コンテキストに関連付けられた、アクション可能なジェスチャー入力の記述との一致を判断することによって、ジェスチャー入力を検出および識別する。
【００８８】
続いて、718で、プロセッサが、コマンドを判断および実行するためのモジュール614をアクティブ化する。プロセッサは、モジュール614とともに、たとえば、コマンドのライブラリ622にアクセスし、前に識別されたジェスチャー入力に対応するインデックスを有するコマンドを発見し得る。720で、プロセッサが、判断されたコマンドを実行する。
【００８９】
図8は、本開示によるジェスチャー認識デバイスの例示的な動作を示すフロー図である。図示のように、802で、デバイスが、たとえば、モジュール608、プロセッサ604、センサー602からのデータ、および/またはライブラリ616を使用して、エンゲージメント入力を検出し得る。804で、デバイスが、たとえば、モジュール610、プロセッサ604、ライブラリ618、および/またはライブラリ616を使用して、複数の入力解釈コンテキストの中から入力解釈コンテキストを選択する。この選択は、検出されたエンゲージメント入力に基づく。いくつかの実施形態では、802で検出されたエンゲージメント入力は、複数のエンゲージメント入力のうちの1つであり、複数のエンゲージメント入力の各々は、複数の入力解釈コンテキストのうちのそれぞれの1つに対応する。そのような実施形態では、804における選択は、検出されたエンゲージメント入力に対応する入力解釈コンテキストを選択することを含み得る。806で、デバイスが、入力解釈コンテキストを選択することに続いて、たとえば、モジュール612、プロセッサ604、および/またはライブラリ620を使用して、ジェスチャー入力を検出する。いくつかの実施形態では、806における検出は、804で選択された入力解釈コンテキストに基づく。たとえば、選択された入力解釈コンテキストに関連付けられた1つまたは複数のパラメータが、ジェスチャー入力を検出するために使用され得る。そのようなパラメータは、たとえば、ライブラリ618に記憶され得るか、または、入力解釈コンテキストが選択されるとき、ライブラリ620もしくはジェスチャー検出エンジンにロードされ得る。いくつかの実施形態では、ジェスチャー検出エンジンは、たとえば、エンゲージメントが静的ポーズを含むとき、動作を検出するために初期化またはアクティブ化され得る。いくつかの実施形態では、ジェスチャー検出エンジンは、モジュール612によって、かつ/またはプロセッサ604によって、かつ/または上記で説明したように実装される。選択された入力解釈コンテキストにおいて利用可能な潜在的なジェスチャーが、いくつかの実施形態では、たとえば、ライブラリ618および/または620から、ジェスチャー検出エンジンにロードされ得る。いくつかの実施形態では、検出可能または利用可能なジェ
スチャーは、たとえば、メモリ606のルックアップテーブル、またはライブラリ622、または別の部分における機能にリンクされ得る。いくつかの実施形態では、あるアプリケーションのためのジェスチャーが、ジェスチャー検出エンジンに登録され得、かつ/または、いくつかのジェスチャーもしくはポーズのための手のモデルもしくはジェスチャーモデルが、入力解釈コンテキストの選択に基づいて、選択もしくは使用もしくはロードされ得る。808で、デバイスが、たとえば、モジュール614、プロセッサ604、および/またはライブラリ622を使用して、検出されたジェスチャー入力と、選択された入力解釈コンテキストとに基づいて、コマンドを実行する。
【００９０】
上記で論じた方法、システム、およびデバイスは、例である。様々な実施形態は、様々な手順または構成要素を、適宜、省略し、置換し、または加えることができる。たとえば、代替構成では、説明した方法は、説明した順序とは異なる順序で実行することができ、ならびに/または、様々な段階を加え、省略し、および/もしくは組み合わせることができる。また、いくつかの実施形態に関して説明した特徴を様々な他の実施形態で組み合わせてもよい。実施形態の様々な態様および要素を同様に組み合わせることができる。また、技術は進歩するので、要素の多くは本開示の範囲をそれらの具体例に限定しない例である。
【００９１】
実施形態の完全な理解を与えるために、説明に具体的な詳細が与えられる。しかしながら、実施形態は、これらの具体的な詳細がなくても実施され得る。たとえば、実施形態が不明瞭になることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不必要な詳細を記載せずに示されている。この説明は、例示的な実施形態を提供するにすぎず、本発明の範囲、適用可能性、または構成を限定することを意図していない。むしろ、これらの実施形態の上述の説明は、本発明の実施形態を実装することを可能にする説明を当業者に提供することになる。本発明の趣旨および範囲から逸脱することなく、要素の機能および構成に様々な変更を行うことができる。
【００９２】
また、いくつかの実施形態を、フロー図またはブロック図として示すプロセスとして説明した。各々は動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。加えて、動作の順序は並び替えられ得る。プロセスは、図に含まれていない追加のステップを有することができる。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されるとき、関連のタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶され得る。プロセッサは関連のタスクを実行し得る。
【００９３】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなく使用され得る。たとえば、上記の要素は単により大きいシステムの構成要素であってもよく、他のルールが本発明の適用に優先してもよく、または他の方法で本発明の適用を修正してもよい。また、上記の要素が考慮される前、間、または後に、いくつかのステップを行うことができる。したがって、上記の説明は、本開示の範囲を限定しない。
【符号の説明】
【００９４】
500  コンピューティングデバイス、コンピュータシステム、システム
505  バス
510、604  プロセッサ
515  入力デバイス
520  出力デバイス
525  メモリデバイス、非一時的記憶デバイス、記憶デバイス
530  通信サブシステム
535  メモリ、非一時的作業メモリ、作業メモリ
540  オペレーティングシステム
545  アプリケーションプログラム
【図１】
2015510197.tif 000005
【図２】
2015510197.tif 000006
【図３】
2015510197.tif 000007
【図４】
2015510197.tif 000008
【図５】
2015510197.tif 000009
【図６】
2015510197.tif 000010
【図７】
2015510197.tif 000011
【図８】
2015510197.tif 000012
【手続補正書】
【提出日】平成25年5月2日(2013.5.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
エンゲージメントポーズを検出するステップであって、前記エンゲージメントポーズは、ジェスチャー入力が実行される間に維持されるステップと、
複数の入力解釈コンテキストの中から入力解釈コンテキストを選択するステップであって、前記検出されたエンゲージメントポーズに基づいて行われるステップと、
前記ジェスチャー入力を検出するステップであって、前記ジェスチャー入力が実行される間に前記エンゲージメントポーズが維持されると判断することを含む、前記ジェスチャー入力を検出するステップと、
前記検出されたジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行するステップと
を含む方法。
【請求項２】
エンゲージメントポーズを検出するステップが、エンゲージメントポーズが少なくともしきい値時間量にわたって維持されることを検出するステップを含む、請求項1に記載の方法。
【請求項３】
前記エンゲージメントポーズが、手のポーズを含み、前記手のポーズが、実質的に開いた手のひらと伸ばした指とを含む、請求項2に記載の方法。
【請求項４】
前記エンゲージメントポーズが、手のポーズを含み、前記手のポーズが、握り拳と伸ばした腕とを含む、請求項2に記載の方法。
【請求項５】
前記エンゲージメントポーズが、手のポーズを含み、前記選択するステップが、前記手のポーズが検出されるときの前記手の位置と無関係である、請求項2に記載の方法。
【請求項６】
エンゲージメントポーズを検出するステップが、ジェスチャー、またはセンサーの遮断を検出するステップを含む、請求項1に記載の方法。
【請求項７】
エンゲージメントポーズを検出するステップが、音声エンゲージメントを検出するステップを含み、前記音声エンゲージメントが、ユーザが発話した語または句を含む、請求項1に記載の方法。
【請求項８】
前記エンゲージメントポーズが、複数のエンゲージメント入力のうちの1つを含み、前記複数のエンゲージメント入力の各々が、前記複数の入力解釈コンテキストのうちのそれぞれの1つに対応し、前記選択するステップが、前記エンゲージメントポーズに対応する前記入力解釈コンテキストを選択するステップを含む、請求項1に記載の方法。
【請求項９】
エンゲージメントポーズを検出する前記ステップに応答して、アクティブな入力解釈コンテキストを識別するユーザインターフェースを表示するステップ
をさらに含む、請求項1に記載の方法。
【請求項１０】
前記方法が、
エンゲージメントポーズを検出する前記ステップに応答して、音声フィードバックを提供するステップ
をさらに含み、前記音声フィードバックが、アクティブな入力解釈コンテキストを識別する、請求項1に記載の方法。
【請求項１１】
前記選択された入力解釈コンテキストが、フォーカスが合っているアプリケーションによって定義されるように、前記選択された入力解釈コンテキストがアプリケーションレベルで定義される、請求項1に記載の方法。
【請求項１２】
前記方法が、前記エンゲージメントポーズを検出するステップより前に、1つまたは複数の要素を表示させるステップをさらに含み、前記選択するステップが、前記表示されている1つまたは複数の要素と無関係である、請求項1に記載の方法。
【請求項１３】
前記ジェスチャー入力を検出するステップが、前記選択された入力解釈コンテキストに関連付けられた1つまたは複数のパラメータに基づいて、前記ジェスチャー入力を検出するステップを含む、請求項1に記載の方法。
【請求項１４】
前記エンゲージメントポーズを検出するステップに無関係なセンサー入力を無視するステップをさらに含み、前記無視するステップが、前記エンゲージメントポーズを検出するステップより前に行われる、請求項1に記載の方法。
【請求項１５】
エンゲージメントポーズを検出するステップが、
第1の機能を制御するための第1の入力解釈コンテキストに関連付けられた、第1のエンゲージメント入力を検出するステップと、
前記第1の機能とは異なる第2の機能を制御するための第2の入力解釈コンテキストに関連付けられた、第2のエンゲージメント入力を検出するステップと
を含む、請求項1に記載の方法。
【請求項１６】
前記第1の機能が、自動車制御システム内の第1のタイプのサブシステムに関連付けられ、前記第2の機能が、前記自動車制御システム内の第2のタイプのサブシステムに関連付けられる、請求項15に記載の方法。
【請求項１７】
前記第1の機能が、メディアプレーヤアプリケーション内の第1のタイプのサブシステムに関連付けられ、前記第2の機能が、前記メディアプレーヤアプリケーション内の第2のタイプのサブシステムに関連付けられる、請求項15に記載の方法。
【請求項１８】
前記選択された入力解釈コンテキストが、グローバルに定義される、請求項1に記載の方法。
【請求項１９】
前記エンゲージメントポーズを検出するステップが、初期エンゲージメント入力と後のエンゲージメント入力とを検出するステップを含み、前記後のエンゲージメント入力を検出するステップが、前記初期エンゲージメント入力に関連付けられた入力解釈コンテキストを使用するステップを含む、請求項1に記載の方法。
【請求項２０】
エンゲージメントポーズを検出するように構成されたエンゲージメント検出モジュールであって、前記エンゲージメントポーズは、ジェスチャー入力が実行される間に維持されるモジュールと、
複数の入力解釈コンテキストの中から入力解釈コンテキストを選択するように構成された選択モジュールであって、前記エンゲージメントポーズに基づいて前記選択を実行するように構成された選択モジュールと、
前記ジェスチャー入力を検出するように構成された検出モジュールであって、前記ジェスチャー入力を検出することは、前記ジェスチャー入力が実行される間に前記エンゲージメントポーズが維持されると判断することを含むモジュールと、
前記ジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行するように構成されたプロセッサと
を備える装置。
【請求項２１】
前記エンゲージメント検出モジュールが、エンゲージメントポーズが少なくともしきい値時間量にわたって維持されることを検出するように構成される、請求項20に記載の装置。
【請求項２２】
前記エンゲージメントポーズが、手のポーズを含み、前記選択モジュールが、前記手のポーズが検出されるときの前記手の位置と無関係に、前記入力解釈コンテキストを選択するように構成される、請求項21に記載の装置。
【請求項２３】
前記装置が、ディスプレイ画面をさらに備え、前記プロセッサが、エンゲージメント入力を検出したことに応答して、前記ディスプレイ画面にユーザインターフェースを表示させるようにさらに構成され、前記ユーザインターフェースが、アクティブな入力解釈コンテキストを識別する、請求項20に記載の装置。
【請求項２４】
前記装置が、オーディオスピーカーをさらに備え、前記プロセッサが、エンゲージメント入力を検出したことに応答して、前記オーディオスピーカーに音声フィードバックを出力させるようにさらに構成され、前記音声フィードバックが、アクティブな入力解釈コンテキストを識別する、請求項20に記載の装置。
【請求項２５】
前記入力解釈コンテキストが、フォーカスが合っているアプリケーションによって定義されるように、前記入力解釈コンテキストがアプリケーションレベルで定義される、請求項20に記載の装置。
【請求項２６】
前記装置が、2次元画像をキャプチャするように構成されたカメラをさらに備え、前記エンゲージメント検出モジュールが、前記カメラによってキャプチャされた少なくとも1つの画像に基づいて、前記エンゲージメントポーズを検出するように構成され、前記検出モジュールが、前記カメラによってキャプチャされた少なくとも1つの他の画像を使用して、前記ジェスチャー入力を検出するように構成される、請求項20に記載の装置。
【請求項２７】
前記装置が、センサーデータを前記エンゲージメント検出モジュールに入力するように構成されたセンサーをさらに備え、前記プロセッサが、エンゲージメント入力を検出することに無関係なセンサーデータを、前記装置に無視させるようにさらに構成される、請求項20に記載の装置。
【請求項２８】
前記エンゲージメント検出モジュールが、
第1の機能を制御するための第1の入力解釈コンテキストに関連付けられた、第1のエンゲージメント入力を検出すること、および
前記第1の機能とは異なる第2の機能を制御するための第2の入力解釈コンテキストに関連付けられた、第2のエンゲージメント入力を検出することであって、前記第1の機能が、自動車制御システムまたはメディアプレーヤアプリケーション内の第1のサブシステムに関連付けられ、前記第2の機能が、前記自動車制御システムまたはメディアプレーヤアプリケーション内の第2のサブシステムに関連付けられること
を行うように構成される、請求項20に記載の装置。
【請求項２９】
前記エンゲージメントポーズが、複数のエンゲージメント入力のうちの1つを含み、前記複数のエンゲージメント入力の各々が、前記複数の入力解釈コンテキストのうちのそれぞれの1つに対応し、前記選択モジュールが、前記エンゲージメントポーズに対応する前記入力解釈コンテキストを選択するように構成される、請求項20に記載の装置。
【請求項３０】
前記選択された入力解釈コンテキストが、グローバルに定義される、請求項20に記載の装置。
【請求項３１】
エンゲージメントポーズを検出することが、初期エンゲージメント入力と後のエンゲージメント入力とを検出することを含み、前記後のエンゲージメント入力を検出することが、前記初期エンゲージメント入力に基づいて選択された入力解釈コンテキストを使用することを含む、請求項20に記載の装置。
【請求項３２】
エンゲージメントポーズを検出するための手段であって、前記エンゲージメントポーズは、ジェスチャー入力が実行される間に維持される手段と、
複数の入力解釈コンテキストの中から入力解釈コンテキストを選択するための手段であって、前記選択は、前記エンゲージメントポーズに基づく手段と、
前記ジェスチャー入力を検出するための手段であって、前記ジェスチャー入力を検出することは、前記ジェスチャー入力が実行される間に前記エンゲージメントポーズが維持されると判断することを含む手段と、
前記ジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行するための手段と
を備える装置。
【請求項３３】
エンゲージメントポーズを検出するための前記手段が、エンゲージメントポーズが少なくともしきい値時間量にわたって維持されることを検出するための手段を備える、請求項32に記載の装置。
【請求項３４】
前記エンゲージメントポーズが、手のポーズであり、選択するための前記手段が、前記手のポーズが検出されるときの前記手の位置と無関係に、前記入力解釈コンテキストを選択するための手段を備える、請求項33に記載の装置。
【請求項３５】
エンゲージメントポーズを検出するための前記手段が、エンゲージメントジェスチャー、センサーの遮断、または音声エンゲージメントのうちの少なくとも1つを検出するための手段を備える、請求項32に記載の装置。
【請求項３６】
前記装置が、
前記選択することに応答して、フィードバックを前記装置のユーザに提供するための手段
をさらに備え、前記フィードバックが、前記選択された入力解釈コンテキストを識別する、請求項32に記載の装置。
【請求項３７】
前記エンゲージメントポーズが、複数のエンゲージメント入力のうちの1つを含み、前記複数のエンゲージメント入力の各々が、前記複数の入力解釈コンテキストのうちのそれぞれの1つに対応し、選択するための前記手段が、前記エンゲージメントポーズに対応する前記入力解釈コンテキストを選択するための手段を備える、請求項32に記載の装置。
【請求項３８】
入力解釈コンテキストを選択するための前記手段が、フォーカスが合っているアプリケーションによってアプリケーションレベルで定義された入力解釈コンテキストを選択するための手段を備える、請求項32に記載の装置。
【請求項３９】
ジェスチャー入力を検出するための前記手段が、前記選択された入力解釈コンテキストに関連付けられたパラメータに基づいて、ジェスチャー入力を検出するための手段を備える、請求項32に記載の装置。
【請求項４０】
エンゲージメントポーズを検出するための前記手段が前記エンゲージメントポーズを検出するより前に、エンゲージメント入力を検出することに無関係な入力を無視するための手段をさらに備える、請求項32に記載の装置。
【請求項４１】
ジェスチャー入力を検出するための前記手段が、
システムの第1の機能を制御するための第1の入力解釈コンテキストに関連付けられた、第1のエンゲージメント入力を検出するための手段と、
前記第1の機能とは異なる前記システムの第2の機能を制御するための第2の入力解釈コンテキストに関連付けられた、第2のエンゲージメント入力を検出するための手段と
を備える、請求項32に記載の装置。
【請求項４２】
選択するための前記手段が、グローバルに定義された入力解釈コンテキストを選択するための手段を備える、請求項32に記載の装置。
【請求項４３】
エンゲージメントポーズを検出するための前記手段が、初期エンゲージメント入力と後のエンゲージメント入力とを検出するための手段を備え、前記後のエンゲージメント入力を検出するための手段が、前記初期エンゲージメント入力に関連付けられた入力解釈コンテキストを使用して、前記後のエンゲージメント入力を検出するための手段を備える、請求項32に記載の装置。
【請求項４４】
命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、装置に、
エンゲージメントポーズを検出することであって、前記エンゲージメントポーズは、ジェスチャー入力が実行される間に維持されること、
前記エンゲージメントポーズに基づいて、複数の入力解釈コンテキストの中から入力解釈コンテキストを選択すること、
前記ジェスチャー入力を検出することであって、前記ジェスチャー入力が実行される間に前記エンゲージメントポーズが維持されると判断することを含む、前記ジェスチャー入力を検出すること、および
前記ジェスチャー入力と、前記選択された入力解釈コンテキストとに基づいて、コマンドを実行すること
を行わせるためのものである、非一時的コンピュータ可読記憶媒体。
【国際調査報告】
2015510197.tif 000013
2015510197.tif 000014
2015510197.tif 000015