(57)【要約】  ジェスチャを認識するための様々な構成が提供される。複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力が受信され得る。このジェスチャ分類コンテキストは、ジェスチャ分析エンジンなどに適用され得る。ジェスチャ分類コンテキストを適用した後、ユーザによって実行されたジェスチャを示すデータが受信され得る。ジェスチャは、適用されたジェスチャ分類コンテキストに従って識別され得る。
2016530660.tif 000002
【特許請求の範囲】
【請求項１】
ジェスチャを認識するための方法であって
コンピュータシステムによって、ジェスチャ分析エンジンに利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信するステップと、
前記コンピュータシステムによって、前記ジェスチャ分析エンジンに前記ジェスチャ分類コンテキストを適用するステップと、
前記ジェスチャ分類コンテキストを適用した後、前記コンピュータシステムによって、ユーザによって実行された前記ジェスチャを示すデータを受信するステップと、
前記コンピュータシステムによって、前記ジェスチャ分析エンジンを使用して、前記適用されたジェスチャ分類コンテキストに従って前記ジェスチャを識別するステップと
を含む、ジェスチャを認識するための方法。
【請求項２】
前記方法が、さらに、
前記ユーザ入力を受信する前に、前記コンピュータシステムによって、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算するステップを含み、
前記ジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第1のサブセットのみが、識別される資格がある、請求項1に記載のジェスチャを認識するための方法。
【請求項３】
前記方法が、さらに、
前記利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するステップであって、
前記ジェスチャの第2のサブセットの各ジェスチャが、第2のジェスチャ分類コンテキストで有効である、ステップと、
前記コンピュータシステムによって、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための測定基準の第2のセットを計算するステップであって、
前記第2のジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第2のサブセットのみが、識別される資格があり、
前記ジェスチャの第2のサブセットおよび前記ジェスチャの第1のサブセットが、少なくとも1つの異なるジェスチャを含む、ステップと、
前記測定基準の第2のセットを計算した後、前記コンピュータシステムによって、前記第2のジェスチャ分類コンテキストを前記ジェスチャ分析エンジンに適用させるユーザ入力を受信するステップと、
前記第2のジェスチャ分類コンテキストを適用した後、前記コンピュータシステムによって、前記ユーザによって実行された第2のジェスチャを示すデータを受信するステップと、
前記コンピュータシステムによって、前記適用された第2のジェスチャ分類コンテキストに従って、前記第2のジェスチャを解釈するステップと
を含む、請求項2に記載のジェスチャを認識するための方法。
【請求項４】
前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信するステップが、
前記コンピュータシステムによって、ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信するステップを含む、請求項1に記載のジェスチャを認識するための方法。
【請求項５】
前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信するステップが、さらに、
前記コンピュータシステムによって、前記ユーザインターフェースによって提示されたアイコンの上にカーソルを移動させるユーザ入力を受信するステップを含む、請求項4に記載のジェスチャを認識するための方法。
【請求項６】
前記ジェスチャの第1のサブセットのみの間で識別するための前記測定基準の第1のセットを計算するステップが、
前記コンピュータシステムによって、前記ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算するステップを含み、前記ジェスチャの第1のサブセットの各ジェスチャのための前記測定基準が、ジェスチャトレーニングデータおよび前記ジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく、請求項2に記載のジェスチャを認識するための方法。
【請求項７】
前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信するステップ、および、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算するステップが、前記コンピュータシステムにインストールされているアプリケーションに応答して発生する、請求項3に記載のジェスチャを認識するための方法。
【請求項８】
前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信するステップ、および、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算するステップが、ジェスチャサブセットデータベースの作成中に発生し、前記ジェスチャサブセットデータベースが、前記利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含む、請求項3に記載のジェスチャを認識するための方法。
【請求項９】
ジェスチャを認識するためのシステムであって、前記システムが、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに通信可能に結合され、前記1つまたは複数のプロセッサによって読取り可能で、その中にプロセッサ可読命令を記憶しているメモリと
を備え、前記プロセッサ可読命令が、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
ジェスチャ分析エンジンに利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信させ、
前記ジェスチャ分類コンテキストを前記ジェスチャ分析エンジンに適用させ、
前記ジェスチャ分類コンテキストを適用した後、ユーザによって実行された前記ジェスチャを示すデータを受信させ、
前記ジェスチャ分析エンジンを使用して、前記適用されたジェスチャ分析コンテキストに従って、前記ジェスチャを識別させる、ジェスチャを認識するためのシステム。
【請求項１０】
前記プロセッサ可読命令が、前記1つまたは複数のプロセッサよって実行されると、前記1つまたは複数のプロセッサに、さらに、
前記ユーザ入力を受信する前に、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算させ、
前記ジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第1のサブセットのみが、識別される資格がある、請求項9に記載のジェスチャを認識するためのシステム。
【請求項１１】
前記プロセッサ可読命令が、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、さらに、
前記利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信させ、ここで、
前記ジェスチャの第2のサブセットの各ジェスチャが、第2のジェスチャ分類コンテキストで有効であり、
前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための測定基準の第2のセットを計算させ、ここで、
前記第2のジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第2のサブセットのみが、識別される資格があり、
前記ジェスチャの第2のサブセットおよび前記ジェスチャの第1のサブセットが、少なくとも1つの異なるジェスチャを含み、
前記測定基準の第2のセットを計算した後、前記第2のジェスチャ分類コンテキストを前記ジェスチャ分析エンジンに適用させるユーザ入力を受信させ、
前記第2のジェスチャ分類コンテキストを適用した後、前記ユーザによって実行された第2のジェスチャを示すデータを受信させ、
前記適用された第2のジェスチャ分類コンテキストに従って、前記第2のジェスチャを解釈させる、請求項10に記載のジェスチャを認識するためのシステム。
【請求項１２】
前記1つまたは複数のプロセッサに、前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信させる前記プロセッサ可読命令が、実行されると、前記1つまたは複数のプロセッサに、
ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信させるプロセッサ可読命令を含む、請求項9に記載のジェスチャを認識するためのシステム。
【請求項１３】
前記1つまたは複数のプロセッサに、前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信させる前記プロセッサ可読命令が、実行されると、前記1つまたは複数のプロセッサに、
前記ユーザインターフェースによって提示されるアイコンの上にカーソルを移動させるユーザ入力を受信させるプロセッサ可読命令を含む、請求項12に記載のジェスチャを認識するためのシステム。
【請求項１４】
前記1つまたは複数のプロセッサに、前記ジェスチャの第1のサブセットのみの間で識別するための前記測定基準の第1のセットを計算させるプロセッサ可読命令が、実行されると、前記1つまたは複数のプロセッサに、
前記ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算させるプロセッサ可読命令を含み、前記ジェスチャの第1のサブセットの各ジェスチャのための前記測定基準が、ジェスチャトレーニングデータおよび前記ジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく、請求項10に記載のジェスチャを認識するためのシステム。
【請求項１５】
実行されると、前記1つまたは複数のプロセッサに、前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信させ、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算させる前記前記プロセッサ可読命令が、前記システムにインストールされているアプリケーションに応答して実行される、請求項11に記載のジェスチャを認識するためのシステム。
【請求項１６】
実行されると、前記1つまたは複数のプロセッサに、前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信させ、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算させるプロセッサ可読命令が、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
ジェスチャサブセットデータベースを作成させるプロセッサ可読命令の一部として実行され、前記ジェスチャサブセットデータベースが、前記利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含む、請求項11に記載のジェスチャを認識するためのシステム。
【請求項１７】
ジェスチャを認識するための非一時的プロセッサ可読記憶媒体であって、1つまたは複数のプロセッサに、
ジェスチャ分析エンジンに利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信させ、
前記ジェスチャ分類コンテキストを前記ジェスチャ分析エンジンに適用させ、
前記ジェスチャ分類コンテキストを適用した後、ユーザによって実行された前記ジェスチャを示すデータを受信させ、
前記ジェスチャ分析エンジンを使用して、前記適用されたジェスチャ分類コンテキストに従って、前記ジェスチャを識別させるように構成されたプロセッサ可読命令を含む、ジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項１８】
前記プロセッサ可読命令が、さらに、前記1つまたは複数のプロセッサに、
前記ユーザ入力を受信する前に、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算させるように構成され、
前記ジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第1のサブセットのみが、識別される資格がある、請求項17に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項１９】
前記プロセッサ可読命令が、さらに、前記1つまたは複数のプロセッサに、
前記利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信させ、ここで、
前記ジェスチャの第2のサブセットの各ジェスチャが、第2のジェスチャ分類コンテキストで有効であり、
前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための測定基準の第2のセットを計算させ、ここで、
前記第2のジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第2のサブセットのみが、識別される資格があり、
前記ジェスチャの第2のサブセットおよび前記ジェスチャの第1のサブセットが、少なくとも1つの異なるジェスチャを含み、
前記測定基準の第2のセットを計算した後、前記第2のジェスチャ分類コンテキストを前記ジェスチャ分析エンジンに適用させるユーザ入力を受信させ、
前記第2のジェスチャ分類コンテキストを適用した後、前記ユーザによって実行された第2のジェスチャを示すデータを受信させ、
前記適用された第2のジェスチャ分類コンテキストに従って、前記第2のジェスチャを解釈させるように構成された、請求項18に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項２０】
前記1つまたは複数のプロセッサに、前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信させるように構成された前記プロセッサ可読命令が、前記1つまたは複数のプロセッサに、
ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信させるように構成されたプロセッサ可読命令を含む、請求項17に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項２１】
前記1つまたは複数のプロセッサに、前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信させるように構成された前記プロセッサ可読命令が、前記1つまたは複数のプロセッサに、
前記ユーザインターフェースによって提示されたアイコンの上にカーソルを移動させるユーザ入力を受信させるように構成されたプロセッサ可読命令を含む、請求項20に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項２２】
前記1つまたは複数のプロセッサに、前記ジェスチャの第1のサブセットのみの間で識別するための前記測定基準の第1のセットを計算させるように構成された前記プロセッサ可読命令が、前記1つまたは複数のプロセッサに、
前記ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算させるように構成されたプロセッサ可読命令を含み、前記ジェスチャの第1のサブセットの各ジェスチャのための前記測定基準が、ジェスチャトレーニングデータおよび前記ジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく、請求項18に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項２３】
前記1つまたは複数のプロセッサに、前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信させ、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算させるように構成された前記プロセッサ可読命令が、システムにインストールされているアプリケーションに応答して実行される、請求項19に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項２４】
前記1つまたは複数のプロセッサに、前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信させ、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算させるように構成された前記プロセッサ可読命令が、前記1つまたは複数のプロセッサに、
ジェスチャサブセットデータベースを作成させるように構成されたプロセッサ可読命令の一部として実行され、前記ジェスチャサブセットデータベースが、前記利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含む、請求項19に記載のジェスチャを認識するための非一時的プロセッサ可読記憶媒体。
【請求項２５】
ジェスチャを認識するための装置であって、前記装置が、
ジェスチャ分析のための手段に利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信するための手段と、
前記ジェスチャ分析のための手段に前記ジェスチャ分類コンテキストを適用するための手段と、
前記ジェスチャ分類コンテキストを適用した後に、ユーザによって実行された前記ジェスチャを示すデータを受信するための手段と、
前記ジェスチャ分析のための手段を使用して、前記適用されたジェスチャ分類コンテキストに従って、前記ジェスチャを識別するための手段と
を備える、ジェスチャを認識するための装置。
【請求項２６】
前記装置が、さらに、
前記ユーザ入力を受信する前に、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算するための手段を備え、
前記ジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第1のサブセットのみが、識別される資格がある、請求項25に記載のジェスチャを認識するための装置。
【請求項２７】
前記装置が、さらに、
前記利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するための手段であって、
前記ジェスチャの第2のサブセットの各ジェスチャが、第2のジェスチャ分類コンテキストで有効である、手段と、
前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための測定基準の第2のセットを計算するための手段であって、
前記第2のジェスチャ分類コンテキストがアクティブであるとき、前記ジェスチャの第2のサブセットのみが、識別される資格があり、
前記ジェスチャの第2のサブセットおよび前記ジェスチャの第1のサブセットが、少なくとも1つの異なるジェスチャを含む、手段と、
前記測定基準の第2のセットを計算した後、ジェスチャ解析のための手段に前記第2のジェスチャ分類コンテキストを適用させるユーザ入力を受信するための手段と、
前記第2のジェスチャ分類コンテキストを適用した後、前記ユーザによって実行された第2のジェスチャを示すデータを受信するための手段と、
前記適用された第2のジェスチャ分類コンテキストに従って、前記第2のジェスチャを解釈するための手段と
を備える、請求項26に記載のジェスチャを認識するための装置。
【請求項２８】
前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信するための前記手段が、
ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信するための手段を備える、請求項25に記載のジェスチャを認識するための装置。
【請求項２９】
前記ジェスチャ分類コンテキストを適用させる前記ユーザ入力を受信するための前記手段が、さらに、
前記ユーザインターフェースによって提示されたアイコンの上にカーソルを移動させるユーザ入力を受信するための手段を備える、請求項28に記載のジェスチャを認識するための装置。
【請求項３０】
前記ジェスチャの第1のサブセットのみの間で識別するための前記測定基準の第1のセットを計算するための前記手段が、
前記ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算するための手段を備え、前記ジェスチャの第1のサブセットの各ジェスチャのための前記測定基準が、ジェスチャトレーニングデータおよび前記ジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく、請求項26に記載のジェスチャを認識するための装置。
【請求項３１】
前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信するための前記手段、および、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算するための前記手段が、システムにインストールされているアプリケーションを条件とする、請求項27に記載のジェスチャを認識するための装置。
【請求項３２】
前記利用可能なジェスチャのセットからの前記ジェスチャの第2のサブセットの前記表示を受信するための前記手段、および、前記ジェスチャの第2のサブセットのみの間で識別するための前記ジェスチャの第2のサブセットのための前記測定基準の第2のセットを計算するための前記手段が、ジェスチャサブセットデータベースを作成するための手段の一部であり、前記ジェスチャサブセットデータベースが、前記利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含む、請求項27に記載のジェスチャを認識するための装置。
【発明の詳細な説明】
【技術分野】
【０００１】
ジェスチャは、ユーザがコンピュータ化されたデバイスに入力を提供するための直感的な方法を提供する。典型的には、ジェスチャは、容易に反復的な運動で動かされている手または他の体の部分を含む。たとえば、コンピュータ化されたデバイスへの入力として機能することができるジェスチャは、スナップ、把持、ピンチ、およびスワイプを含む。コンピュータ化されたデバイスが人の行ったジェスチャを正確に識別すればするほど、コンピュータ化されたデバイスによるユーザの体験は、効率的で楽しくなり得る、たとえば、ユーザがスナップジェスチャを実行するが、コンピュータ化されたデバイスが、何らかの他のジェスチャが行われたと誤って識別した場合、コンピュータ化されたデバイスは、ユーザによって望まれない機能を実行する可能性があり、または、ユーザのジェスチャに応答しない可能性がある。
【０００２】
さらに、ジェスチャを実行するとき、異なるユーザのジェスチャの実行は、ある程度異なる可能性がある。たとえば、第1の人は、第2の人よりもはるかに強く、明確なスナップジェスチャを実行する可能性がある。これらの理由のため、ユーザによって実行されるジェスチャを正確に識別することが有益であり得る。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Li,Yangによる「Protractor:A Fast and Accurate Gesture Recognizer」、Google Research2010
【発明の概要】
【課題を解決するための手段】
【０００４】
ジェスチャを認識するための様々な構成が説明される。いくつかの実施形態では、ジェスチャを認識するための方法が提供される。方法は、コンピュータシステムによって、ジェスチャ分析エンジンに利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信するステップを含むことができる。方法は、コンピュータシステムによって、ジェスチャ分析エンジンにジェスチャ分類コンテキストを適用するステップを含むことができる。方法は、ジェスチャ分類コンテキストを適用した後、コンピュータシステムによって、ユーザによって実行されたジェスチャを示すデータを受信するステップを含むことができる。方法は、コンピュータシステムによって、ジェスチャ分析エンジンを使用して、適用されたジェスチャ分類コンテキストに従ってジェスチャを識別するステップを含むことができる。
【０００５】
そのような方法の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。方法は、ユーザ入力を受信する前に、コンピュータシステムによって、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算するステップを含むことができる。ジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第1のサブセットのみが、識別される資格があり得る。方法は、利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するステップを含むことができる。ジェスチャの第2のサブセットの各ジェスチャは、第2のジェスチャ分類コンテキストで有効であり得る。方法は、コンピュータシステムによって、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算するステップを含むことができる。第2のジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第2のサブセットのみが、識別される資格があり得る。ジェスチャの第2のサブセットおよびジェスチャの第1のサブセットは、少なくとも1つの異なるジェスチャを含むことができる。方法は、測定基準の第2のセットを計算した後、コンピュータシステムによって、第2のジェスチャ分類コンテキストをジェスチャ分析エンジンに適用させるユーザ入力を受信するステップを含むことができる。方法は、第2のジェスチャ分類コンテキストを適用した後、コンピュータシステムによって、ユーザによって実行された第2のジェスチャを示すデータを受信するステップを含むことができる。
【０００６】
追加的にまたは代替的に、そのような方法の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。方法は、コンピュータシステムによって、適用された第2のジェスチャ分類コンテキストに従って、第2のジェスチャを解釈するステップを含むことができる。ジェスチャ分類コンテキストを適用させるユーザ入力を受信するステップは、コンピュータシステムによって、ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信するステップを含むことができる。ジェスチャ分類コンテキストを適用させるユーザ入力を受信するステップは、コンピュータシステムによって、ユーザインターフェースによって提示されたアイコンの上にカーソルを移動させるユーザ入力を受信するステップを含むことができる。ジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算するステップは、コンピュータシステムによって、ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算するステップを含むことができ、ジェスチャの第1のサブセットの各ジェスチャのための測定基準は、ジェスチャトレーニングデータおよびジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく。利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するステップ、および、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算するステップは、コンピュータシステムにインストールされているアプリケーションに応答して発生することができる。利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するステップ、および、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算するステップは、ジェスチャサブセットデータベースの作成中に発生することができる。ジェスチャサブセットデータベースは、利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含むことができる。
【０００７】
いくつかの実施形態では、ジェスチャを認識するためのシステムが提供される。システムは、1つまたは複数のプロセッサを含むことができる。システムは、1つまたは複数のプロセッサに通信可能に結合され、1つまたは複数のプロセッサによって読取り可能で、その中にプロセッサ可読命令を記憶しているメモリを含むことができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ジェスチャ分析エンジンに利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信させることができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ジェスチャ分類コンテキストをジェスチャ分析エンジンに適用させることができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ジェスチャ分類コンテキストを適用した後、ユーザによって実行されたジェスチャを示すデータを受信させることができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ジェスチャ分析エンジンを使用して、適用されたジェスチャ分類コンテキストに従って、ジェスチャを識別させることができる。
【０００８】
そのようなシステムの実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。プロセッサ可読命令は、1つまたは複数のプロセッサよって実行されると、1つまたは複数のプロセッサに、ユーザ入力を受信する前に、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算させることができる。ジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第1のサブセットのみが、識別される資格があり得る。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、利用可能なジェスチャのセットからジェスチャの第2のサブセットの表示を受信させることができる。ジェスチャの第2のサブセットの各ジェスチャは、第2のジェスチャ分類コンテキストで有効であり得る。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算させることができる。第2のジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第2のサブセットのみが、識別される資格があり得る。ジェスチャの第2のサブセットおよびジェスチャの第1のサブセットは、少なくとも1つの異なるジェスチャを含むことができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、測定基準の第2のセットを計算した後、第2のジェスチャ分類コンテキストをジェスチャ分析エンジンに適用させるユーザ入力を受信させることができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、第2のジェスチャ分類コンテキストを適用した後、ユーザによって実行された第2のジェスチャを示すデータを受信させることができる。
【０００９】
追加的にまたは代替的には、そのようなシステムの実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。プロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、適用された第2のジェスチャ分類コンテキストに従って、第2のジェスチャを解釈させることができる。1つまたは複数のプロセッサに、ジェスチャ分類コンテキストを適用させるユーザ入力を受信させるプロセッサ可読命令は、実行されると、1つまたは複数のプロセッサに、ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信させるプロセッサ可読命令を含むことができる。1つまたは複数のプロセッサに、ジェスチャ分類コンテキストを適用させるユーザ入力を受信させるプロセッサ可読命令は、実行されると、1つまたは複数のプロセッサに、ユーザインターフェースによって提示されるアイコンの上にカーソルを移動させるユーザ入力を受信させるプロセッサ可読命令を含むことができる。1つまたは複数のプロセッサに、ジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算させるプロセッサ可読命令は、実行されると、1つまたは複数のプロセッサに、ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算させるプロセッサ可読命令を含むことができ、ジェスチャの第1のサブセットの各ジェスチャのための測定基準は、ジェスチャトレーニングデータおよびジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく。
【００１０】
追加的にまたは代替的には、そのようなシステムの実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。実行されると、1つまたは複数のプロセッサに、利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信させ、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算させるプロセッサ可読命令は、コンピュータシステムにインストールされているアプリケーションに応答して実行され得る。実行されると、1つまたは複数のプロセッサに、利用可能なジェスチャのセットからジェスチャの第2のサブセットの表示を受信させ、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算させるプロセッサ可読命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、ジェスチャサブセットデータベースを作成させるプロセッサ可読命令の一部として実行され得、ジェスチャサブセットデータベースは、利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含む。
【００１１】
いくつかの実施形態では、ジェスチャを認識するための非一時的プロセッサ可読記憶媒体が提供される。非一時的プロセッサ可読記憶媒体は、1つまたは複数のプロセッサに、ジェスチャ分析エンジンに利用可能な複数のジェスチャ分類コンテキストからのジェスチャ分類コンテキストを適用させるユーザ入力を受信させるように構成されたプロセッサ可読命令を含むことができる。非一時的プロセッサ可読記憶媒体は、1つまたは複数のプロセッサに、ジェスチャ分類コンテキストをジェスチャ分析エンジンに適用させるように構成されたプロセッサ可読命令を含むことができる。非一時的プロセッサ可読記憶媒体は、1つまたは複数のプロセッサに、ジェスチャ分類コンテキストを適用した後、ユーザによって実行されたジェスチャを示すデータを受信させるように構成されたプロセッサ可読命令を含むことができる。非一時的プロセッサ可読記憶媒体は、1つまたは複数のプロセッサに、ジェスチャ分析エンジンを使用して、適用されたジェスチャ分類コンテキストに従って、ジェスチャを識別させるように構成されたプロセッサ可読命令を含むことができる。
【００１２】
そのような非一時的プロセッサ可読記憶媒体の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。プロセッサ可読命令は、さらに、1つまたは複数のプロセッサに、ユーザ入力を受信する前に、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算させるように構成され得る。ジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第1のサブセットのみが、識別される資格があり得る。プロセッサ可読命令は、さらに、1つまたは複数のプロセッサに、利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信させるように構成され得る。ジェスチャの第2のサブセットの各ジェスチャは、第2のジェスチャ分類コンテキストで有効であり得る。プロセッサ可読命令は、さらに、1つまたは複数のプロセッサに、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算させるように構成され得る。第2のジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第2のサブセットのみが、識別される資格があり得る。ジェスチャの第2のサブセットおよびジェスチャの第1のサブセットは、少なくとも1つの異なるジェスチャを含むことができる。プロセッサ可読命令は、さらに、1つまたは複数のプロセッサに、測定基準の第2のセットを計算した後、第2のジェスチャ分類コンテキストをジェスチャ分析エンジンに適用させるユーザ入力を受信させるように構成され得る。
【００１３】
追加的にまたは代替的に、そのような非一時的プロセッサ可読記憶媒体の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。プロセッサ可読命令は、さらに、1つまたは複数のプロセッサに、第2のジェスチャ分類コンテキストを適用した後、ユーザによって実行された第2のジェスチャを示すデータを受信させるように構成され得る。プロセッサ可読命令は、さらに、1つまたは複数のプロセッサに、適用された第2のジェスチャ分類コンテキストに従って、第2のジェスチャを解釈させるように構成され得る。1つまたは複数のプロセッサに、ジェスチャ分類コンテキストを適用させるユーザ命令を受信させるように構成されたプロセッサ可読命令は、1つまたは複数のプロセッサに、ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信させるように構成されたプロセッサ可読命令を含むことができる。1つまたは複数のプロセッサに、ジェスチャ分類コンテキストを適用させるユーザ入力を受信させるように構成されたプロセッサ可読命令は、1つまたは複数のプロセッサに、ユーザインターフェースによって提示されたアイコンの上にカーソルを移動させるユーザ入力を受信させるように構成されたプロセッサ可読命令を含むことができる。1つまたは複数のプロセッサに、ジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算させるように構成されたプロセッサ可読命令は、1つまたは複数のプロセッサに、ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算させるように構成されたプロセッサ可読命令を含むことができ、ジェスチャの第1のサブセットの各ジェスチャのための測定基準は、ジェスチャトレーニングデータおよびジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく。
【００１４】
追加的にまたは代替的に、そのような非一時的プロセッサ可読記憶媒体の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。1つまたは複数のプロセッサに、利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信させ、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算させるように構成されたプロセッサ可読命令は、コンピュータシステムにインストールされているアプリケーションに応答して実行され得る。1つまたは複数のプロセッサに、利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信させ、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算させるように構成されたプロセッサ可読命令は、1つまたは複数のプロセッサに、ジェスチャサブセットデータベースを作成させるように構成されたプロセッサ可読命令の一部として実行され得、ジェスチャサブセットデータベースは、利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含む。
【００１５】
いくつかの実施形態では、ジェスチャを認識するための装置が提供される。装置は、ジェスチャ分析のための手段に利用可能な複数のジェスチャ分類コンテキストからジェスチャ分類コンテキストを適用させるユーザ入力を受信するための手段を含むことができる。装置は、ジェスチャ分析のための手段にジェスチャ分類コンテキストを適用するための手段を含むことができる。装置は、ジェスチャ分類コンテキストを適用した後に、ユーザによって実行されたジェスチャを示すデータを受信するための手段を含むことができる。装置は、ジェスチャ分析のための手段を使用して、適用されたジェスチャ分類コンテキストに従って、ジェスチャを識別するための手段を含むことができる。
【００１６】
そのような装置の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。装置は、ユーザ入力を受信する前に、利用可能なジェスチャのセットから選択されたジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算するための手段を含むことができる。ジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第1のサブセットのみが、識別される資格があり得る。装置は、利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するための手段を含むことができる。ジェスチャの第2のサブセットの各ジェスチャは、第2のジェスチャ分類コンテキストで有効であり得る。装置は、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算するための手段を含むことができる。第2のジェスチャ分類コンテキストがアクティブであるとき、ジェスチャの第2のサブセットのみが、識別される資格があり得る。ジェスチャの第2のサブセットおよびジェスチャの第1のサブセットは、少なくとも1つの異なるジェスチャを含むことができる。装置は、測定基準の第2のセットを計算した後、ジェスチャ解析のための手段に第2のジェスチャ分類コンテキストを適用させるユーザ入力を受信するための手段を含むことができる。
【００１７】
追加的にまたは代替的に、そのような装置の実施形態は、以下の特徴のうちの1つまたは複数を含むことができる。装置は、第2のジェスチャ分類コンテキストを適用した後、ユーザによって実行された第2のジェスチャを示すデータを受信するための手段を含むことができる。装置は、適用された第2のジェスチャ分類コンテキストに従って、第2のジェスチャを解釈するための手段を含むことができる。ジェスチャ分類コンテキストを適用させるユーザ入力を受信するための手段は、ユーザインターフェース内のアプリケーションを選択するユーザ入力を受信するための手段を含むことができる。ジェスチャ分類コンテキストを適用させるユーザ入力を受信するための手段は、さらに、ユーザインターフェースによって提示されたアイコンの上にカーソルを移動させるユーザ入力を受信するための手段を含むことができる。ジェスチャの第1のサブセットのみの間で識別するための測定基準の第1のセットを計算するための手段は、ジェスチャの第1のサブセットの各ジェスチャのための測定基準を計算するための手段を含むことができ、ジェスチャの第1のサブセットの各ジェスチャのための測定基準は、ジェスチャトレーニングデータおよびジェスチャの第1のサブセットの他のジェスチャに少なくとも部分的に基づく。利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するための手段、および、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算するための手段は、コンピュータシステムにインストールされているアプリケーションを条件とし得る。利用可能なジェスチャのセットからのジェスチャの第2のサブセットの表示を受信するための手段、および、ジェスチャの第2のサブセットのみの間で識別するためのジェスチャの第2のサブセットのための測定基準の第2のセットを計算するための手段は、ジェスチャサブセットデータベースを作成するための手段の一部であり得る。ジェスチャサブセットデータベースは、利用可能なジェスチャのセットの複数のサブセットのためのジェスチャ分類コンテキストを含むことができる。
【００１８】
様々な実施形態の性質および利点のさらなる理解は、以下の図面を参照することによって実現され得る。添付図面では、同様の構成要素または特徴は、同じ参照ラベルを有することができる。さらに、同じタイプの様々な構成要素は、同様の構成要素を区別するダッシュおよび第2のラベルを参照ラベルに続けることによって区別され得る。第1の参照ラベルのみが明細書で使用される場合、説明は、第2の参照ラベルにかかわりなく、同じ第1の参照ラベルを有する同様の構成要素のいずれにも適用可能である。
【図面の簡単な説明】
【００１９】
【図１Ａ】コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するためのシステムの一実施形態を示す図である。
【図１Ｂ】コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するための分散されたシステムの一実施形態を示す図である。
【図２】複数のコンテキスト感知ジェスチャ分類のグラフィカル表現の一実施形態を示す図である。
【図３】コンテキスト感知ジェスチャ分類を使用して認識されているジェスチャの一実施形態を示す図である。
【図４】コンテキスト感知ジェスチャ分類を使用して認識されているジェスチャの別の実施形態を示す図である。
【図５】コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するための方法の一実施形態を示す図である。
【図６】ジェスチャを認識する際に使用するためのコンテキスト感知ジェスチャ分類を作成するための方法の一実施形態を示す図である。
【図７】コンピュータシステムの一実施形態を示す図である。
【発明を実施するための形態】
【００２０】
手または他の体の部分を使用し(杖またはセンサなどの物体を保持することを含むことができ、または含まなくてもよい)、ユーザは、コンピュータ化されたデバイスに入力を提供するために、ジェスチャを実行することができる。人は、多種多様なジェスチャを実行することができる可能性があるが、特定のジェスチャのみが、ユーザインターフェース環境の特定のコンテキストにおいて有効な入力として認識され得る。可能なユーザインターフェースは、コンピュータシステム(たとえば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、ワイヤレスデバイス、携帯電話)のグラフィカルユーザインターフェースと、コンピュータ化されたヘッドマウントディスプレイ(HMD)のインターフェースとを含む。たとえば、インターフェースを介して、ユーザは、カーソルまたは他の形態の対話要素を操作することができる可能性がある。対話要素のコンテキストに応じて、どのジェスチャが有効なコマンドをもたらすのかは、異なる可能性がある。例として、ユーザがHMDのインターフェースを操作し、第1のアプリケーションに関係する第1のアイコンと対話している(たとえば、第1のアイコンを見ている)場合、スナップジェスチャ、ツイストジェスチャ、およびピンチジェスチャのみが、有効であり得、第1のアプリケーションのためのコマンドに関連し得る。しかしながら、ユーザが第2のアプリケーションに関連する第2のアイコンと対話している場合、円ジェスチャ、パンチジェスチャ、スワイプジェスチャ、スナップジェスチャ、および停止(halt)ジェスチャが、有効であり得、第2のアプリケーションのためのコマンドに関連し得る。
【００２１】
コンピュータシステムによって識別され得るすべてのジェスチャからユーザによって実行されたジェスチャを識別し、コンピュータ化されたデバイスにおいて対話しているアプリケーションにどのジェスチャが識別されるのかの表示を提供するのではなく、ユーザによって実行されたジェスチャは、ユーザが対話しているユーザインターフェース環境のコンテキストにおいて認識され得る。ユーザによって実行されたジェスチャの識別は、ユーザが対話しているユーザインターフェース環境のコンテキストに少なくとも部分的に基づくことができる。したがって、ユーザがユーザインターフェースと対話する前に、ジェスチャ分類コンテキストが、ユーザインターフェース環境の複数のコンテキストのために作成され得る。これらの複数のジェスチャ分類コンテキストの各々では、利用可能なジェスチャのサブセットは、計算された測定基準に基づいて、サブセットの他のジェスチャから識別可能かつ区別可能であり得る。コマンドに対応せず、サブセットの一部ではない他のジェスチャは、識別されない可能性がある。ユーザインターフェース環境の状態に基づいてアクティブにされるジェスチャ分類コンテキストは、ユーザが実行したジェスチャを識別するために使用され得る。
【００２２】
実行されたジェスチャを識別するために分析される特性(ユーザの手首で検出される電気的特性またはユーザの画像など)は、どのジェスチャが特定のコンテキストで有効なコマンドであるのかに基づいて異なり得る。たとえば、ピンチジェスチャと把持ジェスチャの両方が第1のジェスチャ分類コンテキストで有効なコマンドである場合、これらの2つのジェスチャ間の違いを識別するために、第1のジェスチャ分類コンテキストにおいて測定基準が存在し得る。しかしながら、第2のジェスチャ分類コンテキストにおいて、ピンチジェスチャが有効なコマンドに対応するが、把持ジェスチャが有効なコマンドに対応しない場合、第2のジェスチャ分類コンテキストは、ピンチジェスチャを把持ジェスチャから区別するための測定基準を持たない可能性がある。したがって、把持ジェスチャとして識別されたであろう第1のジェスチャ分類コンテキストにおいてユーザによって実行されたジェスチャは、ピンチジェスチャとして、第2のジェスチャ分類コンテキスト内で有効である何らかの他のジェスチャとして識別される可能性があり、または、第2のジェスチャ分類コンテキストにおいて識別されない可能性がある。
【００２３】
複数のジェスチャ分類コンテキストは、ユーザインターフェース環境とのユーザ対話より前に作成され得る。したがって、ジェスチャ分類コンテキストの作成は、ユーザが特定のコンテキストにおけるジェスチャを実行しようとする前に実行され得る。たとえば、新しいアプリケーションがコンピュータシステムにインストールされたとき、コンピュータシステムで利用可能なジェスチャのセットからのどのサブセットジェスチャが有効なコマンドに関連付けられるのかが決定され得る。ジェスチャ分類コンテキストのための測定基準は、ジェスチャのサブセット内のジェスチャのみが互いに識別かつ区別され得るように作成され得る。したがって、無効なジェスチャ(サブセットの一部ではないジェスチャ)が実行された場合、無効なジェスチャは、無視されるか、サブセット一部であるジェスチャとして識別される可能性がある。ユーザが、異なるグラフィカル要素(たとえば、アイコン)の上に対話要素(たとえば、カーソル)を見るまたは移動させることなどによって、ユーザインターフェース環境のコンテキストを変更すると、異なるジェスチャ分類コンテキストがアクティブにされ得る。現在アクティブであるどのジェスチャ分類コンテキストも、ユーザによって実行されたジェスチャが識別される方法を管理することができる。したがって、特定のジェスチャ分類コンテキストがアクティブである間にジェスチャが実行された場合、ジェスチャは、その特定のジェスチャ分類コンテキストの測定基準に基づいて識別される。
【００２４】
図1Aは、コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するためのシステム100Aの一実施形態を示す。システム100Aは、コンテキスト感知ジェスチャ分類を使用してジェスチャを認識する際に使用するための複数の構成要素を含むことができる。システム100Aは、ジェスチャ検出モジュール110と、ユーザ入力モジュール120と、ユーザインターフェース環境130と、ジェスチャ分析エンジン140と、ジェスチャ分類コンテキストデータベース145と、分類エンジン150と、ジェスチャトレーニングデータベース160とを含むことができる。そのような構成要素は、コンピュータ化されたハードウェア、ファームウェア、および/またはソフトウェアを使用して実現され得ることが理解されるべきである。図7のコンピュータシステム700などの1つまたは複数のコンピュータシステムは、システム100Aの構成要素の機能の少なくとも一部を実行することができる。さらに、図1Aのシステム100Aの構成要素は、簡略化されたブロック図によって表され、構成要素によって実行される機能は、複数のサブ構成要素によって実行され得ることが理解されるべきである。同様に、いくつかの実施形態では、システム100Aの複数の構成要素によって実行される機能は、汎用プロセッサなどの、単一のハードウェア、ファームウェア、またはソフトウェア構成要素によって実行され得る。
【００２５】
ジェスチャ検出モジュール110は、ユーザによって実行されたジェスチャが識別され得る情報を取得するために使用され得る。いくつかの実施形態では、ジェスチャ検出モジュール110は、ユーザの体(たとえば、手)の少なくとも一部の画像を取得する画像取得デバイス(たとえば、カメラ)を含むことができる。ユーザの体の少なくとも一部の複数の画像は、ユーザの体の少なくとも一部の動きおよび/または位置を決定するために分析され得る。たとえば、ユーザは、ジェスチャを実行するために、自分の手を動かす(たとえば、手を振る)ことができ、または、自分の手を配置する(たとえば、握り拳を作る)ことができる。ジェスチャ検出モジュール110によって取得された画像から、ユーザの手の動き(すなわち、継時的な位置の変化)および/またはユーザの手の位置が検出され得る。いくつかの実施形態では、ジェスチャ検出モジュール110は、1つまたは複数のジャイロスコープおよび/または加速度計などの、動きを検出するように構成された1つまたは複数のセンサを含むことができる。たとえば、ジェスチャは、ユーザによって、ジェスチャ検出モジュール110を保持または装着することによって実行され得る。たとえば、システム100Aがモバイルデバイス内に存在する場合、ユーザは、モバイルデバイスを保持しながら、手に基づくジェスチャを実行することができる。いくつかの実施形態では、ジェスチャ検出モジュール110は、ユーザの筋肉の電気的活動を検出するように構成された1つまたは複数のセンサを含むことができる。たとえば、ユーザは、ユーザが自分の手をどのように配置しているのかまたは動かしているのかを決定するために分析され得るデータを出力する1つまたは複数のセンサを自分の腕または手首に装着することができる。さらに、ジェスチャ検出モジュール110は、複数の上記で説明したタイプのセンサの組合せを含むことができる。いくつかの実施形態では、他の形態のジェスチャ検出モジュール110が、ユーザによって実行された動きを検出するために存在してもよい。
【００２６】
ユーザ入力モジュール120は、ユーザがユーザインターフェース環境130に入力を提供することを可能にすることができる。ユーザ入力モジュール120は、ヘッドマウントディスプレイ(HMD)、キーボード、マウス、トラックボール、などを含むことができる。HMDを参照すると、ユーザは、実世界または仮想物体を見ることによって入力を提供することができる。いくつかの実施形態では、アクティブであるジェスチャ分類コンテキストを決定するために、ユーザが見ているHMDによって表示された仮想物体または実世界の物体は、決定され得る。ユーザ入力モジュール120として使用されているマウスを参照すると、ユーザは、マウスを物理的に移動させることによって、カーソルを移動させることができる。いくつかの実施形態では、アクティブであるジェスチャ分類コンテキストを決定するために、カーソルが上に移動しているオブジェクトが決定され得る。それを介してユーザが音声コマンドなどのユーザインターフェース環境130と対話することができる様々な他の形態の入力デバイスが存在することが理解されるべきである。ユーザ入力モジュール120からの入力は、特定のジェスチャ分類コンテキストをアクティブにするために、ユーザインターフェース環境130によって使用され得る。そのように、ユーザ入力モジュール120からの入力に基づいて、特定のジェスチャ分類コンテキストは、複数の利用可能なジェスチャ分類コンテキストからアクティブにされ得る。
【００２７】
ユーザインターフェース環境130は、システム100Aによって実行されているおよび/またはシステム100Aによる実行のために利用可能なファームウェアおよび/またはソフトウェアを表すことができる。たとえば、ユーザインターフェース環境130は、オペレーティングシステム132およびアプリケーション134を含むことができる。オペレーティングシステム132は、それを介してユーザがアプリケーション134と対話することができるユーザインターフェースを管理および出力することができる。アプリケーション134は、オペレーティングシステム132の一部としてインストールされ得、または、オペレーティングシステム132がインストールされた後にインストールされ得る。ユーザインターフェース環境130は、アクティブであるジェスチャ分類コンテキストを示す出力をジェスチャ分析エンジン140に提供するように構成され得る。たとえば、ユーザが、アプリケーション134のアプリケーションに関連付けられたアイコンの上にカーソルを移動させたとき、ユーザインターフェース環境130は、どのジェスチャ分類コンテキストがアクティブであるべきかの表示をジェスチャ分析エンジン140に提供することができる。アプリケーション134およびオペレーティングシステム132は、有効なコマンドとして利用可能なジェスチャの所定のセットからのジェスチャを使用することが許可され得る。たとえば、アプリケーション134およびオペレーティングシステム132は、ジェスチャのセットから有効なコマンドとして使用するためのジェスチャのすべてまたはサブセットを選択することができる。いくつかの実施形態では、アプリケーション134および/またはオペレーティングシステム132が、ジェスチャのセットに追加される新たなジェスチャのためのトレーニングデータを提供することを可能にすることができる。
【００２８】
ジェスチャ分析エンジン140は、ジェスチャ検出モジュール110、ユーザインターフェース環境130、およびジェスチャ分類コンテキストデータベース145から受信したデータを使用してジェスチャを識別するように構成され得る。ジェスチャ分析エンジン140は、ユーザインターフェース環境130からジェスチャ分類コンテキストの表示を受信するように構成され得る。ジェスチャ分類コンテキストに基づいて、ジェスチャ分析エンジン140は、ジェスチャ分類コンテキストデータベース145からのジェスチャ分類コンテキストにアクセスすることができる。いくつかの実施形態では、単一のジェスチャ分類コンテキストが、所与の時点でアクティブであり得る。ジェスチャ検出モジュール110から受信したユーザによって実行されたジェスチャを示すデータは、ジェスチャ分析エンジン140によって、ジェスチャ分類コンテキストデータベース145からロードされたアクティブなジェスチャ分類コンテキストの測定基準を使用して分析され得る。ジェスチャ分析エンジン140は、アクティブなジェスチャ分類コンテキストに基づいて識別されたジェスチャの表示をユーザインターフェース環境130に出力することができる。ユーザインターフェース環境130に出力されるジェスチャの表示は、オペレーティングシステム132および/またはアプリケーション134のアプリケーションへのコマンド(または何らかの他の形態の入力)として機能することができる。アクティブであるどのジェスチャ分類コンテキストも、ユーザインターフェース環境130のコンテキストに対応するので、ユーザインターフェース環境130に出力されるジェスチャの表示は、有効なコマンドまたは他の形態の入力であると予想され得る。
【００２９】
ジェスチャ分類コンテキストデータベース145は、複数のジェスチャ分類コンテキストを記憶することができる。各ジェスチャ分類コンテキストのために、分類測定基準が、分類エンジン150によって決定されていてもよい。ジェスチャ分類コンテキストデータベース145内の特定のジェスチャ分類コンテキストについて、測定基準は、そのジェスチャ分類コンテキスト内で利用可能な他の有効なジェスチャから有効なジェスチャを区別するためにのみ存在することができる。いくつかの実施形態では、各ジェスチャ分類コンテキストは、アプリケーション134の異なるアプリケーションに対応する。アプリケーション134のアプリケーションのコンテキスト内に配置されているユーザインターフェース環境130によって、ジェスチャ分類コンテキストデータベース145からのそのアプリケーションのジェスチャ分類コンテキストは、アクティブにされ得る。また、オペレーティングシステム132の状態に基づいて、ジェスチャ分類コンテキストデータベース145からのジェスチャ分類コンテキストは、アクティブにされ得る。ジェスチャ分類コンテキストデータベース145内のジェスチャ分類コンテキストは、ジェスチャ分類コンテキストがアクティブにされる前に作成されたその測定基準を有することができる。そのように、ジェスチャ分類コンテキストがアクティブにされる時点で、ジェスチャ分類コンテキストの測定基準は、計算される必要はない。むしろ、いくつかの実施形態では、ジェスチャ分類コンテキストのための測定基準は、アプリケーション134の対応するアプリケーションがインストールされた時点、または、オペレーティングシステム132がインストールされた時点で、ジェスチャ分類コンテキストデータベース145のためにロードまたは計算され得る。
【００３０】
いくつかの実施形態では、アプリケーション134は、直接ジェスチャ検出モジュール110から受信したデータからジェスチャを解釈していないことが理解されるべきである。むしろ、アプリケーション134とは別のソフトウェア、ファームウェア、またはハードウェア構成要素が、ユーザによって実行されたジェスチャを識別する。アプリケーション134は、むしろ、どのジェスチャが実行されたのかを示す入力を受け取ることができる。たとえば、ユーザが、アプリケーション134のアプリケーションへの入力として左から右へのスワイプジェスチャを実行した場合、アプリケーションは、ジェスチャ検出モジュール110から受信した画像(または、ジェスチャを示す他のデータ)を分析せず、むしろ、ジェスチャ分析エンジン140が、分析を実行し、アプリケーションは、どのジェスチャがジェスチャ分析エンジン140によって識別されたのかについての表示を受信する。
【００３１】
分類エンジン150は、ジェスチャ分類コンテキストデータベース145内に記憶するためのジェスチャ分類コンテキストを作成するように構成され得る。分類エンジン150は、様々なジェスチャを実行する何人かの人に基づくトレーニングデータ、および/またはシステム100Aのユーザに固有のトレーニングデータにアクセスすることができる。たとえば、円ジェスチャを実行する数百または数千の異なるユーザに関するトレーニングデータは、ジェスチャトレーニングデータベース160内に記憶され得る。ジェスチャトレーニングデータベース160内に記憶されたジェスチャトレーニングデータは、利用可能なジェスチャの事前定義されたセットのためのものであり得る。そのように、ユーザインターフェース環境130内のアプリケーション134は、ジェスチャの事前定義されたセット内にあるジェスチャを使用するように制限され得る。たとえば、利用可能なジェスチャの事前定義されたセットは、50のジェスチャを含むことができ、アプリケーション134のアプリケーションは、アプリケーションのための有効な入力として機能するものである10または何らかの他の数のジェスチャなどの、これらのジェスチャのサブセットを識別することができるが、別のアプリケーションは、有効な入力として機能するものとして、50のジェスチャすべてを識別することができる。
【００３２】
分類エンジン150は、アプリケーション134のアプリケーション(または、ユーザインターフェース環境130の何らかの他の部分)への有効な入力として機能するものであるジェスチャの事前定義されたセットからのジェスチャのサブセットの表示を受信するように構成され得る。識別されたジェスチャのサブセットに基づいて、分類エンジン150は、ジェスチャのサブセット内からのジェスチャをジェスチャのサブセット内の他のジェスチャら区別することができるのに十分な測定基準を計算することができる。特に、ジェスチャのサブセット内にないジェスチャのための測定基準は、作成されない可能性がある。したがって、ジェスチャのサブセット内にないジェスチャは、識別されない可能性があり、または、ジェスチャのサブセット内のジェスチャから区別されない可能性がある。たとえば、ジェスチャのサブセットが円ジェスチャと三角形ジェスチャとを含む場合、分類エンジン150は、ユーザによって実行された三角形ジェスチャから円ジェスチャを区別するために十分なジェスチャトレーニングデータベース160からのデータを使用して測定基準を計算することができる。したがって、円ジェスチャと三角形ジェスチャとに基づいて作成されたアクティブなジェスチャ分類コンテキストにおいて、ユーザが三角形ジェスチャまたは円ジェスチャを実行した場合、ユーザによって実行された三角形ジェスチャおよび円ジェスチャは、各々、適切に識別され得る。しかしながら、第2のジェスチャ分類コンテキストに関して、円ジェスチャがジェスチャのサブセット内に存在するが、三角形ジェスチャがジェスチャのサブセット内に存在しない場合、分類エンジン150は、これら2つのジェスチャを互いに区別するための測定基準を計算しない。したがって、三角形ジェスチャを区別するための測定基準なしで作成された第2のジェスチャ分類コンテキストにおいて、ユーザが三角形ジェスチャを実行した場合、実行された三角形ジェスチャは、別のジェスチャとして(たとえば、円ジェスチャとして)解釈される可能性があり、または、無視される可能性がある。
【００３３】
実際の測定基準値の作成は、参照により本明細書に組み込まれている、Li,Yangによる「Protractor:A Fast and Accurate Gesture Recognizer」、Google Research2010に詳述されているものなどの様々なプロセスを含むことができる。当業者は、収集されたデータを区別するための統計的相関性および依存性の使用と、測定されたベクトル間の類似性を測定するために使用され得るコサイン類似度と、データのセットの類似性および多様性を比較するために使用される統計値の一形態であるジャカール指数(ジャカール類似度係数)と、2つのデータ列を一致させるために必要な置換の最小数を測定するために使用され得るハミング距離とを含む他の公知の技術とともに、本書類で提供される情報を使用して計算され得る。他の技術も可能であり得る。
【００３４】
いくつかの実施形態では、分類エンジン150がジェスチャのセットから識別されたジェスチャのサブセットに基づいて測定基準を計算するのではなく、分類エンジン150は、ジェスチャのすべての可能な(または、すべてだと思われる)サブセットのためのジェスチャ分類コンテキストを生成することができる。限られた数のサブセットが可能である場合にのみ、そのような構成は、実用的である可能性がある。たとえば、ジェスチャのセットが10のジェスチャのみを含む場合、分類エンジン150によって作成されるべきジェスチャ分類コンテキストの総数は、1023であり得る。しかしながら、ジェスチャのセットが50のジェスチャを含む場合、分類エンジン150によって作成されるべきジェスチャ分類コンテキストの総数は、はるかにより大きい可能性があり、記憶(および/または計算)するには実用的ない可能性がある。ジェスチャの(おそらく)すべてのサブセットが分類エンジン150によって作成された場合、アプリケーションまたはオペレーティングシステムによって分類エンジン150に対してジェスチャのサブセットの表示が識別されると、分類エンジン150は、ジェスチャの識別されたサブセットに対応する適切なジェスチャ分類コンテキストを選択することができ、ジェスチャ分類コンテキストをジェスチャ分類コンテキストデータベース145にロードすることができる。いくつかの実施形態では、すべての可能なまたはおそらくすべてのジェスチャ分類コンテキストは、ジェスチャ分類コンテキストデータベース145にロードされる。
【００３５】
図1Aに示す実施形態では、ジェスチャ分析エンジン140および分類エンジン150は、ユーザインターフェース環境130とは別個のものとして示されている。そのようなエンジンは、1つまたは複数の汎用プロセッサを使用するオペレーティングシステム132を介するなどして、ユーザインターフェース環境130の一部として実行され得るソフトウェア構成要素として実装され得ることが理解されるべきである。他の実施形態では、そのようなエンジンは、ユーザインターフェース環境130とは別個の専用ファームウェアおよび/またはハードウェアを使用して実装され得る。
【００３６】
図1Aのシステム100Aのすべての構成要素は、単一のデバイスの一部であり得る。たとえば、各構成要素は、コンピュータ化されたシステム(たとえば、ホームコンピュータ、テレビジョン、スマートフォン)の一部として存在することができる。いくつかの実施形態では、そのようなシステムの構成要素は、分散され得る。図1Bは、コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するための分散されたシステム100Bの一実施形態を示す。コンピュータ化されたシステムによってローカルに実行される分類を有するのではなく、分類サービスは、リモートサーバシステムによってリモートに実行され得る。コンピュータシステム180は、ネットワーク170を介してリモートサーバシステム185と通信することができる。リモートサーバシステム185は、分散コンピューティング配置でネットワーク接続され得る1つまたは複数のコンピュータシステムを含むことができる。
【００３７】
ネットワーク170は、セルラネットワーク、インターネット、および/または企業イントラネットなどの、1つまたは複数の公衆および/またはプライベートコンピュータ化ネットワークを表すことができる。ユーザインターフェース環境130にインストールされたアプリケーションは、利用可能なジェスチャのセットからのジェスチャのサブセットを示す表示を、ネットワーク170を介して分類エンジン150に提供することができ、ジェスチャのサブセット内の各ジェスチャは、アプリケーションへの有効な入力またはコマンドとして機能するために利用可能であり得る。分類エンジン150は、ジェスチャトレーニングデータベース160からのデータを使用し、対応するジェスチャ分類コンテキストのための測定基準を作成することができる。このジェスチャ分類コンテキストは、ネットワーク170を介して、記憶のためのジェスチャ分類コンテキストデータベース145に提供され得る。アプリケーションのコンテキストがアクティブなとき、このジェスチャ分類コンテキストは、アクティブにされ得る。いくつかの実施形態では、ジェスチャのサブセットが分類エンジン150に示されているとき、分類エンジン150は、記憶および使用のためのジェスチャ分類コンテキストデータベース145に対する適切な以前に作成されたジェスチャ分類コンテキストを選択する。リモートサーバシステム185は、分類に関係する構成要素を含むものとして示されているが、システム100Aおよび100Bの追加の構成要素またはより少ない構成要素は、リモートサーバシステム185の一部として組み込まれ得ることが理解されるべきである。
【００３８】
分類エンジン150が、コンピュータシステム180に対してローカルにあろうがリモートにあろうが、様々なステップは、ジェスチャのサブセット内からのジェスチャをジェスチャのサブセット内の他のジェスチャから区別するために使用される測定基準を計算するために実行され得る。これらの測定基準は、データベース内に表される異なるジェスチャ間の類似度スコアとして計算され得る。たとえば、1つの可能性は、ジェスチャを空間内の[X,Y,Z]位置ベクトルのシーケンスとして表すことであり、次いで、類似度スコアは、ベクトルのシーケンス間の内積の和として計算され得る。類似度を計算する複数の方法と、記憶されたデータベース内のジェスチャを表現する複数の方法とが存在する。
【００３９】
図2は、複数のジェスチャ分類コンテキストのグラフィカル表現200の一実施形態を示す。グラフィカル表現200は、異なるジェスチャ分類コンテキストが作成および使用され得る方法を理解する上での可視化の目的が意図されている。たとえば、グラフィカル表現200は、図1Aおよび1Bのアプリケーション134(および/またはユーザインターフェース環境130の他の部分)が、その特定のジェスチャ分類コンテキスト内で利用可能なジェスチャ間を区別する際に使用するために特に構成された異なるジェスチャ分類コンテキストにどのように対応し得るのかを理解するために、可視化目的のために使用され得る。
【００４０】
利用可能なジェスチャのセット210は、アプリケーションまたはユーザインターフェース環境の他の部分がジェスチャのアプリケーションのサブセット内で使用することを許可されるすべてのジェスチャを表すことができる。図1Aおよび図1Bを参照すると、ジェスチャトレーニングデータベース160は、利用可能なジェスチャのセット210内で定義されたジェスチャのためのトレーニングデータのみを含むことができる。
【００４１】
アプリケーション134のアプリケーションなどのアプリケーションは、アプリケーションのための有効な入力であるとみなされるべきである利用可能なジェスチャのセットからのジェスチャのサブセットの分類エンジンに表示を提供することができる。アプリケーションまたはユーザインターフェース環境の他の部分によって示されるこれらのジェスチャは、ジェスチャの利用可能なセットからのジェスチャのサブセットのためのジェスチャ分類コンテキストを作成するために使用され得る。図2のグラフィカル表現200を参照すると、利用可能なジェスチャのセットからのジェスチャの異なるサブセットのための3つのジェスチャ分類コンテキスト220が作成されている。ジェスチャのこれらのサブセットの各々は、異なるアプリケーションまたはユーザインターフェース環境の他の部分に対応することができる。
【００４２】
第1のジェスチャ分類コンテキスト220-1は、5つのジェスチャが有効な入力として認識される第1のアプリケーションに対応することができる。第1のジェスチャ分類コンテキスト220-1では、ストップジェスチャ、三角形ジェスチャ、左スワイプジェスチャ、右スワイプジェスチャ、およびスナップジェスチャが利用可能である。これらの5つのジェスチャは、利用可能なジェスチャのセット210からのジェスチャのサブセットである。第1のジェスチャ分類コンテキスト220-1がアクティブであるとき、システム100Aおよびシステム100Bのジェスチャ分析エンジン140などのジェスチャ分析エンジンは、第1のジェスチャ分類コンテキスト220-1による測定基準を有するジェスチャを識別することができるだけである可能性がある。したがって、ユーザがストップジェスチャ(たとえば、カメラに面して垂直に向けられた手のひら)を実行した場合、ジェスチャ分析エンジンは、スナップジェスチャ、三角形ジェスチャ、左スワイプジェスチャ、および右スワイプジェスチャから、このストップジェスチャを区別することができる可能性がある。しかしながら、ユーザによって実行された第1のジェスチャ分類コンテキスト220-1内に存在する測定基準を持たないジェスチャは、無視されるか、第1のジェスチャ分類コンテキスト220-1内の測定基準に関連付けられているジェスチャのサブセットからの別のジェスチャとして分類される可能性がある。一例として、ジェスチャ分析エンジンが第1のジェスチャ分類コンテキスト220-1内にある間に、ユーザが手振りジェスチャを実行したとき、このジェスチャは、無視されるか、実行されたジェスチャと類似しているジェスチャとして分類される可能性がある。たとえば、ユーザによって実行された手振りジェスチャは、(場合によっては、それらの両方が、ジェスチャ取得モジュールのカメラに面して垂直に上げた手のひらを含むので)ストップジェスチャとして分類される可能性がある。
【００４３】
第1のジェスチャ分類コンテキスト220-1のために計算された測定基準は、第1のジェスチャ分類コンテキスト220-1内のジェスチャ間を区別するが、第1のジェスチャ分類コンテキスト220-1の一部ではないジェスチャを区別しないように構成され得る。ユーザが、特定のジェスチャ分類コンテキストをアクティブにさせる入力をユーザインターフェース環境に提供しているとき、ユーザは、アクティブなジェスチャ分類コンテキスト内の測定基準に関連付けられたジェスチャを実行することを意図していると仮定することができる。たとえば、ユーザが、第1のジェスチャ分類コンテキスト220-1に対応するアプリケーションを選択している場合、ユーザがジェスチャを実行した場合、ユーザは、このコンテキスト内で有効になるジェスチャを実行していると仮定することができる。したがって、ユーザは、おそらく、スナップジェスチャ、三角形ジェスチャ、ストップジェスチャ、左スワイプジェスチャ、または右スワイプジェスチャのいずれかを実行していることになる。識別されたジェスチャを、第1のジェスチャ分類コンテキスト220-1のジェスチャのサブセット内のジェスチャのうちの1つに限定することによって、ジェスチャ識別の精度は、向上され得る。たとえば、第1のジェスチャ分類コンテキスト220-1内で利用可能ではないジェスチャとして不適切に識別されているジェスチャの状況は、除去され得る。
【００４４】
第2のジェスチャ分類コンテキスト220-2は、6つのジェスチャが有効な入力として認識される第2のアプリケーションに対応することができる。第2のジェスチャ分類コンテキスト220-2では、円ジェスチャ、点ジェスチャ、手振りジェスチャ、左スワイプジェスチャ、上スワイプジェスチャ、およびスナップジェスチャが利用可能である。これらの6つのジェスチャは、利用可能なジェスチャ210のセットからのジェスチャのサブセットを表す。第1のジェスチャ分類コンテキスト220-1では、測定基準は、第1のジェスチャ分類コンテキスト220-1内からの各ジェスチャを互いに区別するのに十分に決定および記憶されたが、第2のジェスチャ分類コンテキスト220-2は、測定基準が、第2のジェスチャ分類コンテキスト220-2の6つのジェスチャを互いに区別するために記憶されることを必要とする。したがって、たとえば、スナップジェスチャは、第1のジェスチャ分類コンテキスト220-1と第2のジェスチャ分類コンテキスト220-2の両方の中に存在するが、スナップジェスチャを分析するための測定基準は、2つのコンテキスト間で異なる可能性がある。一態様では、第1のジェスチャ分類コンテキスト220-1では、スナップジェスチャを点ジェスチャから区別する必要がないが、第2のジェスチャ分類コンテキスト220-2では、スナップジェスチャと点ジェスチャの両方が第2のジェスチャ分類コンテキスト220-2内で有効であるので、スナップジェスチャは、点ジェスチャから区別される必要があり得るので、測定基準は、異なる可能性がある。
【００４５】
第2のジェスチャ分類コンテキスト220-2内で、システム100Aおよび100Bのジェスチャ分析エンジン140などのジェスチャ分析エンジンは、第2のジェスチャ分類コンテキスト220-2内にあるジェスチャを識別することができるだけである可能性がある。ユーザによって実行される第2のジェスチャ分類コンテキスト220-2の一部ではないジェスチャは、無視されるか、第2のジェスチャ分類コンテキスト220-2のジェスチャのサブセットからのジェスチャとして分類される可能性がある。
【００４６】
第1のジェスチャ分類コンテキスト220-1および第2のジェスチャ分類コンテキスト220-2内の実行されたジェスチャを分析するために使用される測定基準は、異なるので、これらのジェスチャ分類コンテキストの各々においてユーザによって実行される同じジェスチャは、どのジェスチャ分類コンテキストがアクティブであるかに応じて、ジェスチャ分析エンジンによって異なって解釈される可能性がある。たとえば、第1のジェスチャ分類コンテキスト220-1において、ユーザがストップジェスチャを実行した場合、第1のジェスチャ分類コンテキスト220-1の測定基準を使用するジェスチャ分析エンジンは、ストップジェスチャを適切に識別することができる。しかしながら、ジェスチャ分析エンジンが第2のジェスチャ分類コンテキスト220-2内にあった場合、ユーザによって実行されたジェスチャを分析するために使用される測定基準は、ストップジェスチャを識別しない可能性がある。むしろ、実行されたジェスチャは、第2のジェスチャ分類コンテキスト220-2の測定基準がジェスチャを十分に高い信頼レベルで識別することができないので、無視されるか、または、ストップジェスチャは、第2のジェスチャ分類コンテキスト220-2内の測定基準を有する何らかの他のジェスチャとして分類される可能性がある。たとえば、第2のジェスチャ分類コンテキスト220-2の測定基準を使用して分析されたストップジェスチャの結果、手振りジェスチャなどの第2のジェスチャ分類コンテキスト220-2内で利用可能な同様のジェスチャが識別される可能性がある。
【００４７】
第2のジェスチャ分類コンテキスト220-2のために計算された測定基準は、第2のジェスチャ分類コンテキスト220-2内のジェスチャ間を区別するが、第1のジェスチャ分類コンテキスト220-1の一部ではないジェスチャを区別しないように構成され得る。ユーザが特定のコンテキストにユーザインターフェース環境を置いたとき、ユーザは、ユーザインターフェース環境があるコンテキストに対応するジェスチャを実行するつもりであると仮定され得る。さらに、その特定のコンテキスト内のサブセットジェスチャを識別する能力が増大され得る。たとえば、ユーザが第2のジェスチャ分類コンテキスト220-2に対するアプリケーションを選択している場合、ユーザがジェスチャを実行したとき、ユーザは、この第2のジェスチャ分類コンテキスト220-2内で有効になるジェスチャを実行していると仮定され得る。したがって、ユーザは、スナップジェスチャ、円ジェスチャ、点ジェスチャ、手振りジェスチャ、左スワイプジェスチャ、または上スワイプジェスチャのいずれかを実行していると予想されることになる。
【００４８】
第3のジェスチャ分類コンテキスト220-3は、9のジェスチャが有効な入力として認識される第3のアプリケーション(または、ユーザインターフェース環境の何らかの他の部分)に対応することができる。第3のジェスチャ分類コンテキスト220-3では、円ジェスチャ、点ジェスチャ、ストップジェスチャ、左スワイプジェスチャ、右スワイプジェスチャ、スナップジェスチャ、握り拳ジェスチャ、揺動(wiggle)ジェスチャ、および三角形ジェスチャが利用可能である。これらの9のジェスチャは、利用可能なジェスチャのセット210からのジェスチャのサブセットを表す。第1のジェスチャ分類コンテキスト220-1では、測定基準は、第1のジェスチャ分類コンテキスト220-1内からの各ジェスチャを互いから区別するのに十分に決定および記憶され、測定基準は、第2のジェスチャ分類コンテキスト220-2内からの各ジェスチャを互いから区別するのに十分に決定および記憶されたが、第3のジェスチャ分類コンテキスト220-3は、測定基準が、第3のジェスチャ分類コンテキスト220-3の9のジェスチャを互いから区別するために記憶されることを必要とする。したがって、たとえば、円ジェスチャは、第2のジェスチャ分類コンテキスト220-2と第3のジェスチャ分類コンテキスト220-3の両方の中に存在するが、円ジェスチャを分析するための測定基準は、2つのコンテキストの間で異なる可能性がある。一態様では、第2のジェスチャ分類コンテキスト220-2では、円ジェスチャを三角形ジェスチャから区別する必要がないので、測定基準は、異なる可能性があるが、第3のジェスチャ分類コンテキスト220-3では、これらのジェスチャの両方が第3のジェスチャ分類コンテキスト220-3内で有効であるので、円ジェスチャは、三角形ジェスチャから区別されなければならない。
【００４９】
第3のジェスチャ分類コンテキスト220-3がアクティブである間、システム100Aおよび100Bのジェスチャ分析エンジン140などのジェスチャ分析エンジンは、第3のジェスチャ分類コンテキスト220-3内の測定基準を有するジェスチャを識別することができるだけである可能性がある。ユーザによって実行された第3のジェスチャ分類コンテキスト220-3の一部ではないジェスチャは、無視されるか、第3のジェスチャ分類コンテキスト220-3のジェスチャのサブセットからのジェスチャとして分類される可能性がある。
【００５０】
第3のジェスチャ分類コンテキスト220-3のために計算された測定基準は、第3のジェスチャ分類コンテキスト220-3内のジェスチャ間を区別するが、第3のジェスチャ分類コンテキスト220-3の一部ではないジェスチャ間を区別しないように構成され得る。ユーザが特定のコンテキストにユーザインターフェース環境を置いたとき、ユーザは、ユーザインターフェース環境があるコンテキストに対応するジェスチャを実行するつもりであると仮定され得る。たとえば、ユーザが第3のジェスチャ分類コンテキスト220-3に対するアプリケーションを選択している場合、ユーザがジェスチャを実行したとき、ユーザは、この第3のジェスチャ分類コンテキスト220-3内で有効になるジェスチャを実行していると仮定され得る。したがって、ユーザは、円ジェスチャ、点ジェスチャ、ストップジェスチャ、左スワイプジェスチャ、右スワイプジェスチャ、スナップジェスチャ、握り拳ジェスチャ、揺動ジェスチャ、および三角形ジェスチャのいずれかを実行していると予想されることになる。
【００５１】
図2では、各々が測定基準のセットを有する3つの可能なジェスチャ分類コンテキストが提示されている。これらのジェスチャ分類コンテキスト220の各々は、異なるアプリケーションに対応することができる。様々な実施形態において、より少ない数またはより多い数のジェスチャ分類コンテキスト220が利用可能なジェスチャのセット210のために作成され得ることが理解されるべきである。さらに、利用可能なジェスチャのセット210内のジェスチャの数は、より少なくてもより多くてもよい。たとえば、利用可能なジェスチャのセット210は、50の可能なジェスチャを含むことができ、したがって、特定のジェスチャ分類コンテキストのジェスチャの可能なサブセットの数は、大きくてもよい。ジェスチャ分類コンテキスト220の各ジェスチャ分類コンテキストは、その特定のジェスチャ分類コンテキスト内のジェスチャのみをその特定のジェスチャ分類コンテキスト内の他のジェスチャから識別および区別するように構成された対応する測定基準を有することができる。
【００５２】
図3は、コンテキスト感知ジェスチャ分類を使用して認識されているジェスチャの実施形態300を示す。実施形態300は、それぞれ、図1Aおよび図1Bのシステム100Aまたは100Bの使用を含むことができる。実施形態300では、ユーザインターフェース310は、ユーザに提示される。ユーザインターフェース310は、図示のタブレットコンピュータなどのコンピュータシステムによって提示され得る。モバイルデバイス、ラップトップコンピュータ、デスクトップコンピュータなどを含む、コンピュータシステムの他の形態も可能である。ユーザインターフェース310において、ユーザは、カーソル315を使用して複数のアプリケーションからアプリケーションを選択することが許可される。たとえば、ユーザは、カーソル315を位置決めするために、マウスを操作することができる。他の実施形態では、ユーザインターフェース310内でユーザ入力を受信するためにマウスを操作するのではなく、(たとえば、HMDが使用されるとき)ユーザインターフェース310の異なる部分を見るユーザなどによって、何らかの他の形態のユーザ入力が受信され得る。実施形態300では、ユーザが、ユーザインターフェース310内のカーソル315を、特定のアプリケーションに対応するアイコンおよび/またはテキストの上に位置決めされるように操作したとき、特定のアプリケーションに対応付けられたジェスチャ分類コンテキストがアクティブにされる。したがって、いくつかの実施形態では、ユーザインターフェース310を管理するオペレーティングシステムは、どのジェスチャ分類コンテキストがアクティブであるのかを、カーソル315に基づいて決定することができる。
【００５３】
実施形態300では、カーソル315は、ユーザによって、「メディアファイル」アプリケーションに対応するアイコン320-1の上に位置決めされている。カーソル315がアイコン320-1(または、アイコン320-1に対応するテキスト)の上に位置決めされている間、メディアファイルアプリケーションに対応する以前に作成されたジェスチャ分類コンテキストは、アクティブにされ得る。このジェスチャ分類コンテキストがアクティブである間、ユーザによって実行されたジェスチャは、アクティブなジェスチャ分類コンテキストに関連付けられた測定基準に基づいて分析され得る。
【００５４】
図2に戻って参照すると、アイコン320-1の上に移動しているカーソル315によってアクティブにされたジェスチャ分類コンテキストは、第2のジェスチャ分類コンテキスト220-2に対応する。したがって、第2のジェスチャ分類コンテキスト220-2がアクティブである間、測定基準は、円ジェスチャ、点ジェスチャ、手振りジェスチャ、左スワイプジェスチャ、上スワイプジェスチャ、およびスナップジェスチャを区別するために存在する。第2のジェスチャ分類コンテキスト220-2がアクティブである間、ユーザは、ジェスチャを実行するためにユーザの手330を使用することができる。
【００５５】
カーソル315は、アイコン320-1の上に位置決めされているので、ユーザが実行している任意のジェスチャは、「メディアファイル」アプリケーションへの入力として意図されていると仮定される。第2のジェスチャ分類コンテキスト220-2のジェスチャのみが、メディアファイルアプリケーションに対して有効であり、したがって、ユーザは、第2のジェスチャ分類コンテキスト220-2の6つのジェスチャのうちの1つを実行していると予測され得る。図3において、2つの移動経路340および350が示されている。手330は、移動経路340に沿って移動することによって、円ジェスチャを実行することができる。手330によって実行されたこのジェスチャが、第2のジェスチャ分類コンテキスト220-2の測定基準に従って分析されると、それは、円ジェスチャとして分類され得る。円ジェスチャを示す、または円ジェスチャに他の方法で対応するコマンドは、カーソル315がその上に移動しているメディアファイルアプリケーションへの入力として提供され得る。
【００５６】
移動経路340は、理想的な円ジェスチャを示しているが、移動経路340に正確に沿ってユーザが移動させる手330は、ありそうにない可能性があると仮定される。むしろ、円ジェスチャを実行することを試みるユーザは、経路350と同様の移動経路に沿って手330を移動させる可能性がある。すなわち、円ジェスチャを実行することを試みている間、ユーザの手330は、全体的に円運動で移動する可能性があるが、時にはより速くもしくは遅く移動する手330という結果になる可能性があり、および/または中心点の周りに一定の半径を維持しない結果になる可能性がある。ユーザがジェスチャを実行する方法における同様の変形が、他のタイプのジェスチャについて生じる可能性がある。
【００５７】
ユーザが移動経路350に沿って手330を移動した場合、この移動経路350は、第2のジェスチャ分類コンテキスト220-2の測定基準に従って分析され得る。これらの測定基準に基づいて、移動経路350は、円ジェスチャに対応するように決定され得、円ジェスチャは、第2のジェスチャ分類コンテキスト220-2内で有効であり、第2のジェスチャ分類コンテキスト220-2がアクティブである間に実行された他のジェスチャから円ジェスチャを区別するための測定基準を有する。
【００５８】
図4は、コンテキスト感知ジェスチャ分類を使用して認識されているジェスチャの実施形態400を示す。実施形態300と同様に、実施形態400は、それぞれ、図1Aおよび図1Bのシステム100Aまたは100Bの使用を含むことができる。実施形態400は、異なるアプリケーションが選択された図3の実施形態300を表すことができる。ユーザは、異なるアプリケーションのアイコン320-2の上に位置決めするようにカーソル315を操作することができる。実施形態400では、ユーザが、ユーザインターフェース310内のカーソル315を、特定のアプリケーションに対応するアイコンおよび/またはテキストの上に位置決めされるように操作したとき、特定のアプリケーションに関連付けられたジェスチャ分類コンテキストがアクティブにされる。したがって、いくつかの実施形態では、ユーザインターフェース310を管理するオペレーティングシステムは、カーソル315に基づいてどのジェスチャ分類コンテキストがアクティブにされるのかを決定することができる。
【００５９】
実施形態400では、カーソル315は、ユーザによって、「プリントマネージャ」アプリケーションに対応するアイコン320-2の上に位置決めされている。カーソル315が、アイコン320-2(または、アイコン320-2に対応するテキスト)の上に位置決めされている間、プリントマネージャアプリケーションに対応する以前に作成されたジェスチャ分類コンテキストは、アクティブにされ得る。このジェスチャ分類コンテキストがアクティブである間、ユーザによって実行されたジェスチャは、アクティブなジェスチャ分類コンテキストに関連付けられた測定基準を使用して分析され得る。
【００６０】
図2に戻って参照すると、アイコン320-2の上に移動しているカーソル315によってアクティブにされたジェスチャ分類コンテキストは、第3のジェスチャ分類コンテキスト220-3に対応する。したがって、第3のジェスチャ分類コンテキスト220-3がアクティブである間、測定基準は、円ジェスチャ、点ジェスチャ、ストップジェスチャ、左スワイプジェスチャ、右スワイプジェスチャ、スナップジェスチャ、握り拳ジェスチャ、揺動ジェスチャ、および三角形ジェスチャを互いから(しかし、必ずしも利用可能なジェスチャのセット210の他のジェスチャなどの他のジェスチャからではない)区別するためにアクティブである。第3のジェスチャ分類コンテキスト220-3がアクティブである間、ユーザは、ジェスチャを実行するためにユーザの手330を使用することができる。
【００６１】
カーソル315は、アイコン320-2の上に位置決めされているので、ユーザが実行している任意のジェスチャは、「プリントマネージャ」アプリケーションへの入力として意図されていると仮定される。第3のジェスチャ分類コンテキスト220-3のジェスチャのみが、プリントマネージャアプリケーションに対して有効であり、したがって、ユーザは、第3のジェスチャ分類コンテキスト220-3の9つのジェスチャのうちの1つを実行していると予測され得る。図4において、2つの移動経路410および350が示されている。手330は、移動経路410に沿って移動することによって、三角形ジェスチャを実行することができる。手330によって実行されたこのジェスチャが、第3のジェスチャ分類コンテキスト220-3の測定基準に従って分析されると、それは、三角形ジェスチャとして分類され得る。三角形ジェスチャを示す、または三角形ジェスチャに他の方法で対応するコマンドは、カーソル315がその上に移動しているプリントマネージャアプリケーションへの入力として提供され得る。
【００６２】
移動経路410は、理想的な三角形ジェスチャを示しているが、移動経路410に正確に沿ってユーザが移動させる手330は、ありそうにない可能性がある。むしろ、三角形ジェスチャを実行することを試みるユーザは、移動経路350と同様の移動経路に沿って手330を移動させる可能性がある。特に、この移動経路は、実施形態300においても、手330によって実行された。
【００６３】
ユーザが移動経路350に沿って手330を移動した場合、この移動経路350は、第3のジェスチャ分類コンテキスト220-3の測定基準に従って分析され得る。これらの測定基準に基づいて、移動経路350は、三角形ジェスチャに対応するように決定され得、三角形ジェスチャは、第3のジェスチャ分類コンテキスト220-3内で有効であり、第3のジェスチャ分類コンテキスト220-3がアクティブである間に実行された他のジェスチャから三角形ジェスチャを区別するための測定基準を有する。代替的には、これらの測定基準に基づいて、移動経路350は、円ジェスチャに対応するように決定され得、円ジェスチャは、第3のジェスチャ分類コンテキスト220-3内で有効であり、第3のジェスチャ分類コンテキスト220-3がアクティブである間に実行された他のジェスチャから円ジェスチャを区別するための測定基準を有する。
【００６４】
どのジェスチャが識別されるのかを決定することに加えて、信頼レベルが、ジェスチャに対して決定され得る。少なくとも1つの閾値信頼レベルが、ユーザインターフェース環境に、より具体的には、ユーザが対話しているアプリケーションに出力すべきジェスチャの表示のために満たされる必要があり得る。図3を参照すると、移動経路340は、手330によって実行されたジェスチャが円であることの非常に高い信頼レベルをもたらす可能性がある。移動経路350は、移動経路350に対応するジェスチャを識別するために使用される測定基準が、第2のジェスチャ分類コンテキスト220-2のためのジェスチャのサブセット内に他の同様のジェスチャが存在しないことを示しているので、手330によって実行されたジェスチャが円であることの、より低いが依然として高い信頼レベルをもたらす可能性がある。図4を参照すると、移動経路410は、手330によって実行されたジェスチャが三角形であることの非常に高い信頼レベルをもたらす可能性がある。移動経路350は、移動経路350に対応するジェスチャを識別するために使用される測定基準が、移動経路350が円または三角形に対応するかどうかを決定することが困難である可能性があるので、手330によって実行されたジェスチャが円または三角形であることのはるかにより低い信頼レベルをもたらす可能性がある。
【００６５】
移動経路350が第3のジェスチャ分類コンテキスト220-3の測定基準を使用して解釈され得る方法は、不明である可能性があるが、追加の例として、第1のジェスチャ分類コンテキスト220-1がアクティブである場合、第1のジェスチャ分類コンテキスト220-1は、第1のジェスチャ分類コンテキスト220-1のためのジェスチャのサブセットの他のジェスチャから三角形ジェスチャを区別するが、円ジェスチャを区別しない測定基準を有する。測定基準は、移動経路350が表すことができる他のジェスチャが第1のジェスチャ分類コンテキスト220-1に関連付けられていないことを示しているので、移動経路350は、比較的高い信頼レベルで三角形ジェスチャとして識別され得る。
【００６６】
図3および図4において、カーソルが上に移動しているアイコンに基づいてジェスチャコンテキスト分類がアクティブにされる実施形態が記載されている。他の実施形態では、ユーザは、(ヘッドマウントディスプレイにおける眼追跡を介して)アイコンを見ることができる。他の実施形態では、ユーザは、アプリケーションをクリック、または他の方法で活性化もしくは実行することができる。アクティブなアプリケーションにかかわらず、同じジェスチャ分析エンジンが、実行されたジェスチャを識別するために使用され得るが、異なるジェスチャ分類コンテキストが、アクティブにされ得、ジェスチャ分析エンジンによって使用され得る。
【００６７】
様々な方法が、図2〜図4の説明した実施形態に従って、図1Aおよび図1Bのシステムを使用して実行され得る。図5は、コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するための方法500の一実施形態を示す。方法500は、システム100A、100B、または、コンテキスト感知ジェスチャ分類を使用してジェスチャを認識するための何らかの他のシステムを使用して実行され得る。方法500は、コンピュータ化された構成要素を使用して実行され得る。そのように、図7のコンピュータシステム700の1つまたは複数の構成要素の1つまたは複数のインスタンスは、方法500を実行する際に使用され得る。さらに、システム100Aおよびシステム100Bの1つまたは複数の構成要素の1つまたは複数のインスタンスは、方法500を実行する際に使用され得る。同様に、方法500のステップを実行するための手段は、それぞれ、図1A、図1B、および図7のシステム100A、100B、およびコンピュータシステム700の構成要素の1つまたは複数のインスタンスを含む。方法500は、図6の方法600などの分類プロセスが実行された後に実行され得る。たとえば、方法600は、方法500で使用されるジェスチャ分類コンテキストを作成するために、複数回実行され得る。
【００６８】
ステップ510では、ジェスチャ分類コンテキストをアクティブにさせるユーザ入力が受信され得る。図1Aおよび図1Bを参照すると、ユーザ入力は、キーボード、マウス、またはヘッドマウントディスプレイなどの構成要素を含むことができるユーザ入力モジュール120を介して受信され得る。ユーザから受信した入力は、ユーザインターフェース環境が特定のジェスチャ分類コンテキストに入る原因となり得る。たとえば、ユーザ入力は、ユーザが対話することを望むアプリケーションの表示の上にカーソルを移動させる入力を提供することができる。そのようなユーザインターフェース環境は、カーソルがアプリケーションのグラフィカル表現の上に移動したとき、実行されたジェスチャにまたは実行されたジェスチャの表示に基づくコマンドが、グラフィカル表現に関連付けられたアプリケーションに提供されるように構成され得る。他の実施形態では、カーソルを移動させるのではなく、ユーザは、ユーザが対話することを望むアプリケーションまたはオペレーティングシステムの一部をクリックする、見る(たとえば、HMDを介して)、または他の方法で選択することができる。ステップ510を実行するための手段は、ユーザ入力モジュール120、キーボード、マウス、ヘッドマウントディスプレイ、ユーザ入力を受信するように構成された他のバイス、1つもしくは複数のプロセッサ、および/または、図7のコンピュータシステムの1つもしくは複数の構成要素を含む。
【００６９】
ステップ520では、受信したユーザ入力に対応するジェスチャ分類コンテキストが、アクティブにされ得る。ステップ520でアクティブにされるジェスチャ分類コンテキストは、ステップ510で受信したユーザ入力に基づくことができる。図1Aおよび図1Bを参照すると、ユーザインターフェース環境130は、ジェスチャ分析エンジン140へのユーザによって活性化されているアプリケーションの表示、または、アクティブにするべきジェスチャ分類コンテキストの表示を提供することができる。そのような表示の受信に応答して、アクティブにされたアプリケーション(または、オペレーティングシステムの一部)に対応するジェスチャ分類コンテキスト、または表示されたジェスチャ分類コンテキストは、ジェスチャ分類コンテキストデータベース145からロードされ得、または他の方法でアクティブにされ得る。いくつかの実施形態では、ユーザインターフェース環境130は、ジェスチャ分類コンテキストデータベース145から適切なジェスチャ分類コンテキストをロードすることができる。いくつかの実施形態では、アクティブにされるべきジェスチャ分類コンテキストの表示が記憶されるが、ジェスチャ分類コンテキストは、ユーザによるジェスチャの実行が感知されるまで、ロードまたは他の方法でアクティブにされなくてもよい。いくつかの実施形態では、ジェスチャの実行が感知された場合、ジェスチャ分析エンジンは、どのジェスチャ分類コンテキストがジェスチャを識別する際に使用するためにアクティブにされるべきであるのかを決定するために、ユーザインターフェース環境に問い合わせることができる。ステップ520を実行するための手段は、ユーザインターフェース環境、オペレーティングシステム。1つもしくは複数のプロセッサ、1つもしくは複数のアプリケーション、ジェスチャ分類コンテキストデータベース、ジェスチャ分析エンジン、および/または、図7のコンピュータシステムの1つもしくは複数の構成要素を含む。
【００７０】
ステップ530では、ユーザによって実行されるジェスチャを示すデータが受信され得る。そのようなデータは、ユーザの体のすべてまたは一部の取得された1つまたは複数の画像(たとえば、ユーザの手および/または腕の1つまたは複数の画像)を含むことができる。ユーザによって実行されるジェスチャの表示であり得る他のデータは、1つまたは複数のユーザの筋肉の電気的測定値に対応するデータを含むことができる。ステップ530は、システム100Aおよび100Bのジェスチャ検出モジュール110によって実行され得、ジェスチャ検出モジュール110は、ジェスチャを示すデータを取得および/または受信することができる。ステップ530は、取得デバイスからそのようなデータを受信するステップを含むことができる。たとえば、取得デバイスは、そこからジェスチャを示すデータが受信され得る、カメラまたは電気的センサであり得る。ステップ530を実行するための手段は、1つまたは複数のプロセッサ、ジェスチャ検出モジュール、1つまたは複数のカメラ、1つまたは複数の電気的インパルスセンサ、および/または、図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７１】
ステップ540では、ユーザによって実行されたジェスチャの表示であるステップ530で受信したデータは、ステップ520でアクティブにされたジェスチャ分類コンテキストの測定基準に従って分析され得る。したがって、ユーザによって実行されたジェスチャを識別するために使用される測定基準は、適用されるべきジェスチャ分類コンテキストを示したステップ510で受信したユーザ入力に少なくとも部分的に基づき得る。ジェスチャを示すデータの分析は、ユーザによって実行されたジェスチャと、場合によっては、識別されたジェスチャが正確であることの信頼レベルとを識別するために、測定基準を使用して実行され得る。いくつかの実施形態では、アクティブなジェスチャ分類コンテキストを作成するために使用されたジェスチャのサブグループの一部であるジェスチャのみが、ステップ540で識別され得る。したがって、たとえば、実施形態200を参照すると、第1のジェスチャ分類コンテキスト220-1がアクティブである場合、スナップジェスチャ、ストップジェスチャ、三角形ジェスチャ、左スワイプジェスチャ、または右スワイプジェスチャのみが、ステップ540で識別され得る。アクティブなジェスチャ分類コンテキストのステップ540での測定基準の使用は、アクティブなジェスチャ分類コンテキストのためのジェスチャのサブセットのどのジェスチャが、ユーザによって実行されたジェスチャである可能性が最も高いのかを区別する目的を果たすことができる。アクティブなジェスチャ分類コンテキストの一部ではないジェスチャは、アクティブなジェスチャ分類コンテキストの測定基準が適用されたとき、考慮されない可能性がある。ステップ540を実行するための手段は、ジェスチャ分析エンジン、ジェスチャ分類コンテキストデータベース、および/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７２】
ステップ550では、アクティブなジェスチャ分類コンテキストの測定基準に従って実行されていると識別されたジェスチャの表示が、出力され得る。図1Aおよび図1Bを参照すると、ジェスチャ分析エンジン140は、実行されていると判断されたジェスチャの表示をユーザインターフェース環境130に出力することができる。そのように、ジェスチャ分析エンジン140からの出力は、アプリケーション134のアプリケーションへの入力として機能することができる。ジェスチャの表示が提供されるアプリケーション、またはオペレーティングシステムの一部は、ステップ510で受信したユーザ入力に基づくことができる。一例として、ステップ510におけるユーザ入力が、特定のアプリケーションに関連付けられたコンテキストを示した場合、ジェスチャの表示は、この特定のアプリケーションに提供され得る。出力を提供するジェスチャ分析エンジンは、ユーザインターフェース環境の複数のアプリケーションおよび/またはオペレーティングシステムにジェスチャの表示を提供するように構成され得る。ステップ550を実行するための手段は、ジェスチャ分析エンジン、および/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７３】
図6は、ジェスチャを認識する際に使用するためのコンテキスト感知ジェスチャ分類を作成するための方法600の一実施形態を示す。方法600は、システム100A、100B、または、コンテキスト感知ジェスチャ分類を作成するための何らかの他のシステムを使用して実行され得る。方法600は、コンピュータ化された構成要素を使用して実行され得る。そのように、図7のコンピュータシステム700の1つまたは複数の構成要素の1つまたは複数のインスタンスは、方法600の実施形態を実行する際に使用され得る。さらに、システム100Aおよびシステム100Bの1つまたは複数の構成要素の1つまたは複数のインスタンスは、方法600を実行する際に使用され得る。同様に、方法600のステップを実行するための手段は、それぞれ、図1A、図1B、および図7のシステム100A、100B、およびコンピュータシステム700の構成要素の1つまたは複数のインスタンスを含む。方法600は、図5の方法500などのジェスチャ識別プロセスが実行される前に実行され得る。たとえば、方法600は、方法500で使用されるジェスチャ分類コンテキストを作成するために、複数回実行され得る。
【００７４】
ジェスチャ分類コンテキストのための測定基準は、ジェスチャ分類コンテキストをアクティブにするための要求が受信される前に計算され得る。たとえば、特定のアプリケーションに固有になるジェスチャ分類コンテキストは、アプリケーションがユーザのコンピュータシステムにインストールされる際に作成され得る。いくつかの実施形態では、ジェスチャ分類コンテキストのための測定基準は、リモートサーバシステムにおいて計算され得、ユーザのコンピュータシステムによって要求され得る。リモートサーバシステムは、利用可能なジェスチャのセットからのジェスチャの一部またはすべての可能なサブセットのための測定基準を計算することができる。そのように、利用可能なジェスチャのセットから選択されたジェスチャの様々なサブセットのための測定基準を含むジェスチャサブセットデータベースが作成され得る。そのようなデータベースは、ジェスチャ認識を実行するコンピュータシステムからリモートに維持され得る。要求に応じて、特定のサブセットのための測定基準は、コンピュータシステムに提供され得る。
【００７５】
ステップ610では、新しいジェスチャ分類コンテキストの表示が受信され得る。たとえば、新しいアプリケーションがインストールされている場合、新しいジェスチャ分類コンテキストは、このアプリケーションにリンクされ得る。そのように、ユーザが、アプリケーションのアイコンの上にカーソルを移動させることなどによって、ユーザインターフェース環境を新しいアプリケーションのコンテキスト内に置いた場合、新しいアプリケーションのジェスチャ分類コンテキストは、アクティブにされることになる。ステップ610を実行するための手段は、分類エンジン、ジェスチャ分類コンテキストデータベース、ユーザインターフェース環境(たとえば、オペレーティングシステムおよび/もしくは1つもしくは複数のアプリケーション)、ならびに/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７６】
ステップ620では、どのジェスチャがジェスチャ分類コンテキスト内で有効であるべきかの表示が作成される。この表示は、ジェスチャ分類コンテキストがリンクされているアプリケーション、またはオペレーティングシステムの一部から受信され得る。識別されたジェスチャは、利用可能なジェスチャのセットから選択され得る。そのように、アプリケーションは、図2に示すように、利用可能なジェスチャのセットからジェスチャを選択することに制限され得る。したがって、アプリケーションの作成者は、アプリケーションのジェスチャ分類コンテキストに対して有効にされるものとして、利用可能なジェスチャから一部またはすべてのジェスチャを選択することができる。有効にされるジェスチャがより少ないほど、より正確なジェスチャ識別が期待され得る。図1Aおよび図1Bを参照すると、どのジェスチャがジェスチャ分類コンテキスト内で有効であるべきかの表示は、ユーザインターフェース環境130から分類エンジン150によって受信され得る。ジェスチャ分類コンテキスト内で有効であるべきジェスチャに対応するジェスチャ分類コンテキスト(たとえば、2つのアプリケーションは、各々、左スワイプジェスチャおよび右スワイプジェスチャのみを認識することができる)が以前に作成されているかどうかを決定するために、チェックが行われ得る。その場合、新しいジェスチャ分類コンテキストのための測定基準の作成は、スキップされ得、以前に作成されたジェスチャ分類コンテキストは、使用され得る。ステップ620を実行するための手段は、分類エンジン、ジェスチャ分類コンテキストデータベース、ユーザインターフェース環境(たとえば、オペレーティングシステムおよび/もしくは1つもしくは複数のアプリケーション)、ならびに/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７７】
ステップ630では、作成されているジェスチャ分類コンテキスト内で有効であるべきジェスチャの各々のためのジェスチャトレーニングデータが、分析され得る。ジェスチャトレーニングデータは、利用可能なジェスチャのセット内のすべてのジェスチャに利用可能であり得る。したがって、ジェスチャトレーニングデータは、作成されているジェスチャ分類コンテキスト内で有効になる特定のジェスチャのために選択され得る。図1Aおよび図1Bを参照すると、分類エンジン150は、ジェスチャトレーニングデータベース160にアクセスすることができ、ジェスチャトレーニングデータベース160は、ローカルまたはリモートに配置され得、トレーニングデータを含むことができる。ジェスチャトレーニングデータは、ジェスチャが1人または複数のユーザによって実行される方法に関するデータであり得る。たとえば、ユーザの筋肉からの電気的データが、特定のジェスチャが実行されているかどうかを決定するために使用されるべきである場合、そのジェスチャのためのジェスチャトレーニングデータは、数十人の人、数百人の人、または数千人の人のためのデータを含むことができる。このデータは、それらの筋肉の電気的特性がその特定のジェスチャのためのなんであったのかを示すことができる。さらに、トレーニングデータは、特定のユーザに固有のデータを含むことができる。たとえば、システム100Aまたは100Bを使用することになるユーザのサンプルが収集され得る。したがって、たとえば、ジェスチャトレーニングデータは、ユーザがスナップジェスチャおよび手振りジェスチャをどのように実行するのかの例を含むことができる。異なるジェスチャのためのトレーニングデータを比較することによって、測定基準は、ジェスチャ分類コンテキスト内で有効であるべき他のジェスチャからジェスチャ分類コンテキスト内で有効であるべきジェスチャを区別するために作成され得る。ジェスチャ分類コンテキスト内で有効であるべきではないジェスチャは、無視され得、対応する作成された測定基準を持たなくてもよい。ステップ630を実行するための手段は、分類エンジン、ジェスチャ分類コンテキストデータベース、ならびに/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７８】
ステップ640では、測定基準は、各々の有効なジェスチャを各々の他の有効なジェスチャから区別するために計算され得る。したがって、測定基準は、有効なジェスチャのサブセット間でジェスチャを識別するが、有効なジェスチャのサブセットの一部ではないジェスチャ間で区別しないように作成される。測定基準の作成は、上記で詳述したように実行され得る。ステップ640を実行するための手段は、分類エンジン、ジェスチャ分類コンテキストデータベース、および/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００７９】
ステップ650では、ジェスチャ分類コンテキストの測定基準は、記憶され得る。たとえば、ジェスチャ分類コンテキストは、ジェスチャ分類コンテキストデータベースの一部として記憶され得る。コンテキストがアクティブにされるたびに、ジェスチャ分類コンテキストのための測定基準は、ユーザによって実行される任意のジェスチャを解釈するためにロードおよび使用され得る。したがって、ジェスチャ分類コンテキストがアクティブにされるたびに、ジェスチャ分類コンテキストのための測定基準は、利用可能になる。ステップ650を実行するための手段は、分類エンジン、ジェスチャ分類コンテキストデータベース、および/または、1つもしくは複数のプロセッサなどの図7のコンピュータシステムの1つもしくは複数の構成要素を含むことができる。
【００８０】
図7は、コンピュータシステムの一実施形態を示す。図7に示すようなコンピュータシステムは、テレビジョン受像機およびコンテンツリソースなどの前述のコンピュータ化されたデバイスの一部として組み込まれ得る。図7は、様々な実施形態によって提供される方法の様々なステップを実行することができるコンピュータシステム700の一実施形態の概略図を提供する。図7は、その任意のものまたはすべてが適切に利用され得る様々な構成要素の一般化された図を提供することのみを意図していることに留意すべきである。図7は、したがって、個々のシステム要素が比較的分離された方法でまたは比較的より統合された方法で実現され得る方法を広く示している。
【００８１】
コンピュータシステム700は、バス705を介して電気的に結合され得る(または、適切に他の方法で通信することができる)ハードウェア要素を備えて示されている。ハードウェア要素は、限定はしないが、1つもしくは複数の汎用プロセッサおよび/または1つもしくは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックスアクセラレーションプロセッサ、ビデオデコーダ、など)を含む1つまたは複数のプロセッサ710と、限定はしないが、マウス、キーボード、リモートコントロール、などを含むことができる1つまたは複数の入力デバイス715と、限定はしないが、表示デバイス、プリンタ、などを含むことができる1つまたは複数の出力デバイス720とを含むことができる。
【００８２】
コンピュータシステム700は、1つまたは複数の非一時的ストレージデバイス725をさらに含むこと(および/またはそれらと通信すること)ができ、非一時的ストレージデバイス725は、限定することなく、ローカルおよび/もしくはネットワークアクセス可能な記憶装置を含むことができ、ならびに/または限定することなく、プログラム可能、フラッシュ更新可能などとすることができる、ディスクドライブ、ドライブアレイ、光ストレージデバイス、ランダムアクセスメモリ(「RAM」)および/もしくはリードオンリメモリ(「ROM」)などのソリッドステートストレージデバイスを含み得る。そのような記憶デバイスは、限定はしないが、様々なファイルシステム、データベース構造などを含む、任意の適切なデータストアを実装するように構成される場合がある。たとえば、図1Aおよび図1Bを参照すると、ジェスチャ分類コンテキストデータベース145およびジェスチャトレーニングデータベース160は、1つまたは複数の非一時的ストレージデバイス725を使用して記憶され得る。
【００８３】
コンピュータシステム700は、通信サブシステム730を含むこともでき、通信サブシステム730は、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくはワイヤード)、赤外線通信デバイス、ワイヤレス通信デバイス、および/またはチップセット(Bluethooth(商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラ通信デバイス、など)などを含むことができる。通信サブシステム730は、データが、ネットワーク(一例を挙げるため以下で説明するネットワーク)、他のコンピュータシステム、および/または、本明細書に記載の任意の他のデバイスと交換されることを可能にする。図1Bを参照すると、通信サブシステム730は、ネットワーク170を介する通信を可能にする。多くの実施形態では、コンピュータシステム700は、さらに、上記で説明したように、RAMまたはROMデバイスを含むことができる作業メモリ735を備えることになる。
【００８４】
コンピュータシステム700は、作業メモリ735内に現在ロードされているものとして示されているソフトウェア要素も含むことができ、ソフトウェア要素は、オペレーティングシステム740、デバイスドライバ、実行可能ライブラリ、および/または、1つもしくは複数のアプリケーションプログラム745などの他のコードを含み、他のコードは、様々な実施形態によって提供されるコンピュータプログラムを含むことができ、ならびに/または、アプリケーション134およびオペレーティングシステム132などの本明細書に記載の他の実施形態によって提供される方法を実施する、および/もしくはシステムを構成するように設計され得る。単なる例として、上記で論じた方法に関連して説明した1つまたは複数の手順は、コンピュータ(および/またはコンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実施され得、一態様では、次いで、そのようなコードおよび/または命令は、説明した方法に従って1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成するおよび/または適合させるために使用され得る。
【００８５】
これらの命令および/またはコードのセットは、上記で説明した非一時的ストレージデバイス725などの非一時的コンピュータ可読記憶媒体上に記憶され得る。場合によっては、記憶媒体は、コンピュータシステム700などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、記憶媒体がそこに記憶された命令/コードを用いて汎用コンピュータをプログラム、構成、および/または適合させるために使用され得るように、コンピュータシステムと別個であってもよく(たとえば、コンパクトディスクなどのリムーバブル媒体)、および/または、インストールパッケージにおいて提供され得る。これらの命令は、コンピュータシステム700よって実行可能な実行可能コードの形態をとることができ、ならびに/または、ソースおよび/もしくはインストール可能コードの形態をとることができ、ソースおよび/もしくはインストール可能コードは、(たとえば、様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ、などのいずれかを使用する)コンピュータシステム700上でのコンパイルおよび/またはインストールに際し、次いで、実行可能コードの形態をとる。
【００８６】
相当な変形が、特定の要求に従ってなされ得ることは、当業者には明らかであろう。たとえば、カスタマイズされたハードウェアも、使用され得、および/または、特定の要素は、ハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、または両方において実装され得る。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が用いられ得る。
【００８７】
上記のように、一態様では、いくつかの実施形態は、本発明の様々な実施形態による方法を実行するために、コンピュータシステム(コンピュータシステム700など)を用いることができる。実施形態のセットによれば、そのような方法の手順の一部またはすべては、作業メモリ735内に含まれる1つまたは複数の命令の1つまたは複数のシーケンス(オペレーティングシステム740および/またはアプリケーションプログラム745のような他のコード内に組み込まれ得る)を実行するプロセッサ710に応答して、コンピュータシステム700によって実行される。そのような命令は、1つまたは複数の非一時的ストレージデバイス725などの別のコンピュータ可読記憶媒体から作業メモリ735内に読み込まれ得る。単なる例として、作業メモリ735内に含まれる命令のシーケンスの実行は、プロセッサ710に、本明細書に記載の方法の1つまたは複数の手順を実行させることができる。
【００８８】
「機械可読媒体」、「コンピュータ可読記憶媒体」、および「コンピュータ可読媒体」という用語は、本明細書で使用される場合、機械に特定の方法で動作させるデータを提供する際に関与する任意の媒体を指す。これらの媒体は、非一時的であり得る。コンピュータシステム700を使用して実施される実施形態では、様々なコンピュータ可読媒体が、実行するためのプロセッサ710に命令/コードを提供する際に関与することができ、および/または、そのような命令/コードを記憶および/または担持するために使用され得る。多くの実施態様では、コンピュータ可読媒体は、物理的および/または有形の記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとることができる。不揮発性媒体には、たとえば、非一時的ストレージデバイス725などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、限定はしないが、作業メモリ735などのダイナミックメモリが含まれる。
【００８９】
物理的および/または有形のコンピュータ可読媒体の一般的な形態は、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、マスクのパターンを有する任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップもしくはカートリッジ、または、そこからコンピュータが命令および/もしくはコードを読み取ることができる任意の他の媒体を含む。
【００９０】
コンピュータ可読媒体の様々な形態は、実行するためのプロセッサ710に1つまたは複数の命令の1つまたは複数のシーケンスを搬送する際に関与することができる。単なる例として、命令は、最初に、リモートコンピュータの磁気ディスクおよび/または光ディスク上に担持され得る。リモートコンピュータは、命令をそのダイナミックメモリ内にロードすることができ、コンピュータシステム700によって受信および/または実行されるように、送信媒体を介して信号として命令を送信することができる。
【００９１】
一般に通信サブシステム730(および/またはその構成要素)が信号を受信し、次いでバス705が信号(および/または信号によって保持されるデータ、命令など)を作業メモリ735に転送し、そこからプロセッサ710が命令を取り込んで実行する。作業メモリ735によって受信された命令は、オプションで、プロセッサ710による実行の前または後のいずれかで、非一時的ストレージデバイス725に記憶され得る。
【００９２】
さらに、コンピュータシステム700の構成要素は、ネットワークを介して分配され得ることが理解されるべきである。たとえば、いくらかの処理は、第1のプロセッサを使用して1つの場所において実行され得るが、他の処理は、第1のプロセッサからリモートの別のプロセッサによって実行され得る。コンピュータシステム700の他の構成要素は、同様に分散され得る。そのように、コンピュータシステム700は、複数の場所において処理を実行する分散コンピューティングシステムとして解釈され得る。いくつかの例では、コンピュータシステム700は、コンテキストに応じて、別個のラップトップ、デスクトップコンピュータ、などの単一のコンピューティングデバイスとして解釈され得る。
【００９３】
上記で論じた方法、システム、およびデバイスは、例である。様々な構成は、適切なように、様々な手順または構成要素を省略、置換、または追加することができる。たとえば、代替的な構成において、方法は、説明したものと異なる順序で実行され得、ならびに/または、様々な段階が、追加、省略、および/もしくは組み合わされ得る。また、特定の構成に関連して説明した特徴は、様々な他の構成で組み合わされ得る。構成の異なる態様および要素は、同様の方法で組み合わされ得る。また、技術は、進化し、したがって、要素の多くは、例であり、本開示または特許請求の範囲を限定しない。
【００９４】
具体的な詳細は、(実施態様を含む)例示的な構成の完全な理解を提供するために、明細書本文で与えられている。しかしながら、構成は、これらの具体的な詳細なしに実施され得る。たとえば、周知の回路、プロセス、アルゴリズム、構造、および技術は、構成を曖昧にすることを避けるために、不必要な詳細なしで示されている。この説明は、例示的な構成のみを提供し、特許請求の範囲、適用可能性、または構成を限定しない。むしろ、構成の前述の説明は、当業者に、説明した技術を実施するための実施可能な説明を提供することになる。様々な変更は、本開示の要旨または範囲から逸脱することなく、要素の機能および配置においてなされ得る。
【００９５】
また、構成は、フロー図またはブロック図として示されたプロセスとして説明されていることがある。各々は、順次プロセスとして動作を説明していることがあるが、動作の多くは、並行してまたは同時に実行され得る。加えて、動作の順序は、並べ替えられ得る。プロセスは、図に含まれない追加のステップを有することができる。さらに、方法の例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実施され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードにおいて実施されたとき、必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などの非一時的コンピュータ可読媒体内に記憶され得るプロセスは、説明したタスクを実行することができる。
【００９６】
いくつかの例示的な構成を説明してきたが、様々な修正、代替構成、および等価物は、本開示の要旨から逸脱することなく、使用され得る。たとえば、上記の要素は、より大きいシステムの構成要素であり得、より大きいシステムでは、他のルールが優先する可能性があり、または、本発明のアプリケーションを他の方法で変更する可能性がある。また、いくつかのステップは、上記の要素が考慮される前、間、または後に行われ得る。
【符号の説明】
【００９７】
100A  システム
100B  システム
110  ジェスチャ検出モジュール
120  ユーザ入力モジュール
130  ユーザインターフェース環境
132  オペレーティングシステム
134  アプリケーション
140  ジェスチャ分析エンジン
145  ジェスチャ分類コンテキストデータベース
150  分類エンジン
160  ジェスチャトレーニングデータベース
170  ネットワーク
180  コンピュータシステム
185  リモートサーバシステム
200  グラフィカル表現
210  利用可能なジェスチャのセット
220-1  第1のジェスチャ分類コンテキスト
220-2  第2のジェスチャ分類コンテキスト
220-3  第3のジェスチャ分類コンテキスト
300  実施形態
310  ユーザインターフェース
315  カーソル
320-1  アイコン
320-2  アイコン
330  手
340  移動経路
350  移動経路
400  実施形態
410  移動経路
700  コンピュータシステム
705  バス
710  プロセッサ
715  入力デバイス
720  出力デバイス
725  非一時的ストレージデバイス
730  通信サブシステム
735  作業メモリ
740  オペレーティングシステム
745  アプリケーションプログラム
【図１Ａ】
2016530660.tif 000003
【図１Ｂ】
2016530660.tif 000004
【図２】
2016530660.tif 000005
【図３】
2016530660.tif 000006
【図４】
2016530660.tif 000007
【図５】
2016530660.tif 000008
【図６】
2016530660.tif 000009
【図７】
2016530660.tif 000010
【国際調査報告】
2016530660.tif 000011
2016530660.tif 000012
2016530660.tif 000013