(57)【特許請求の範囲】
【請求項１】
1つまたは複数の検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドを検出するステップと、
前記ジェスチャ開始コマンドの前記検出に基づいて、ジェスチャモードを開始するステップと、
前記1つまたは複数の検出デバイスからの情報に基づいて、コンテンツが表示される表面と実質的に平行である制御プレーンにわたる前記少なくとも2つの制御オブジェクトの実質的に同期された動きを検出するステップであって、実質的に同期された動きを検出するステップが、可変許容しきい値の範囲内の前記少なくとも2つの制御オブジェクトの検出された動きに基づき、前記可変許容しきい値が、前記検出された動きの特性に基づいて変化する、ステップと、
前記制御プレーンにわたる前記少なくとも2つの制御オブジェクトの前記実質的に同期された動きの前記検出に応答して、表示されたコンテンツを調節させるステップと、
前記1つまたは複数の検出デバイスからの情報を使用して、解除モーションを検出することによって、前記ジェスチャモードを終了するステップと、
を備える、方法。
【請求項２】
前記解除モーションを検出するステップが、相互に関連する前記少なくとも2つの制御オブジェクトの動きが、可変しきい値を超えたことを検出するステップを備える、請求項1に記載の方法。
【請求項３】
前記可変しきい値が、少なくとも較正係数によって定義される、請求項2に記載の方法。
【請求項４】
前記較正係数が、前記少なくとも2つの制御オブジェクトの動きの開始位置からのユーザの手の距離に少なくとも部分的に依存する変数である、請求項3に記載の方法。
【請求項５】
前記較正係数が、前記少なくとも2つの制御オブジェクトの速さに基づく、請求項3に記載の方法。
【請求項６】
前記少なくとも2つの制御オブジェクトの前記速さが、ジッタを補償するために、前記速さについての複数の測定値にわたって平均化される、請求項5に記載の方法。
【請求項７】
前記解除モーションを検出するステップが、前記少なくとも2つの制御オブジェクトのうちの1つが前記制御プレーンから削除されたことを検出するステップを備える、請求項1に記載の方法。
【請求項８】
前記少なくとも2つの制御オブジェクトがユーザの手を備え、前記1つまたは複数の検出デバイスがユーザの頭部に搭載されたカメラを備える、請求項1に記載の方法。
【請求項９】
前記少なくとも2つの制御オブジェクトがユーザの手を備え、前記1つまたは複数の検出デバイスが、ハンドマウント慣性センサを備える、請求項1に記載の方法。
【請求項１０】
前記ジェスチャ開始コマンドを検出するステップが、前記1つまたは複数の遠隔検出デバイスからの情報に基づいて、前記少なくとも2つの制御オブジェクトが、あらかじめ定められた時間量にわたって、前記表面と平行である前記制御プレーン内のレベル位置にそれぞれ配置されたことを検出するステップを備える、請求項1に記載の方法。
【請求項１１】
前記コンテンツが表示される前記表面が、コンピューティングデバイスによって作成され、ユーザの閲覧領域に投影される仮想表面である、請求項1に記載の方法。
【請求項１２】
前記コンテンツが表示される前記表面が物理的表面であり、かつ／または、
前記ジェスチャ開始コマンドがパンニング開始コマンドを備え、前記ジェスチャモードがパンニングジェスチャモードを備え、前記解除モーションがパンニング解除モーションを備える、
請求項1に記載の方法。
【請求項１３】
1つまたは複数の検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドを検出するための手段と、
前記ジェスチャ開始コマンドの前記検出に基づいて、ジェスチャモードを開始するための手段と、
前記1つまたは複数の検出デバイスからの情報に基づいて、コンテンツが表示される表面と実質的に平行である制御プレーンにわたる前記少なくとも2つの制御オブジェクトの実質的に同期された動きを検出するための手段であって、実質的に同期された動きを検出することが、可変許容しきい値の範囲内の前記少なくとも2つの制御オブジェクトの検出された動きに基づき、前記可変許容しきい値が、前記検出された動きの特性に基づいて変化する、手段と、
前記制御プレーンにわたる前記少なくとも2つの制御オブジェクトの前記実質的に同期された動きの前記検出に応答して、表示されたコンテンツを調節させるための手段と、
前記1つまたは複数の検出デバイスからの情報を使用して、解除モーションを検出することによって、前記ジェスチャモードを終了するための手段とを備える、システム。
【請求項１４】
デバイス内のプロセッサによって実行されると、前記デバイスに、請求項1乃至12の何れか1項に記載の方法を実施させる、コンピュータ可読命令を備える、非一時的コンピュータ可読命令媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の態様は、コンピュータインターフェースに関する。具体的には、少なくとも2つの制御オブジェクトを用いて行われるジェスチャを検出する、ジェスチャインターフェース、ならびに関連するシステムおよび方法が説明される。
【背景技術】
【０００２】
ディスプレイデバイスのための標準的なインターフェースは、典型的には、電子入力の物理的操作を含む。テレビジョンの遠隔制御は、ボタンを押すことを含む。タッチスクリーンディスプレイインターフェースは、物理的表面でタッチインタラクションを検出することを含む。そのようなインターフェースには、多数の欠点がある。代替として、人の動きは電子デバイスを制御するために使用され得る。手の動き、または人の体の別の部分の動きが電子デバイスによって検出され、デバイスによって実行されるべき(たとえば、デバイスによって実行されているインターフェースに与えられる)、または外部デバイスに出力されるべきコマンドを決定するために使用され得る。人によるそのような動きは、ジェスチャと呼ばれ得る。ジェスチャは、人が入力デバイスを物理的に操作することを必要としない場合がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
特定の実施形態が非接触パンニングジェスチャ(contactless panning gesture)に関連して説明される。いくつかの実施形態では、方法は、遠隔検出デバイスを使用して、少なくとも2つの制御オブジェクトを遠隔に検出するステップと、パンニングジェスチャ開始コマンドを検出することによってパンニングジェスチャムーブメントモードを開始するステップとを含み得る。次いで、本方法は、遠隔検出デバイスを使用して、コンテンツ表面と平行である制御プレーンにわたる少なくとも2つの制御オブジェクトの同期された動きを遠隔に検出するステップであって、コンテンツ表面がコンテンツの一部を表示するステップと、制御プレーンにわたる少なくとも2つの制御オブジェクトの同期された動きの検出に応答して、コンテンツ表面に表示されたコンテンツの一部を調整するステップとを含み得る。次いで、そのような方法は、遠隔検出デバイスを使用して、パンニング解除モーションを遠隔に検出することによって、パンニングジェスチャムーブメントモードを終了するステップをさらに含み得る。
【０００４】
ある潜在的な実施形態による特定の方法では、パンニング解除モーションを検出するステップは、少なくとも2つの制御オブジェクトのうちの1つが制御プレーンから削除されたことを検出するステップを備える。別の潜在的な実施形態による特定の方法では、パンニング解除モーションを検出するステップは、相互に関連する少なくとも2つの制御オブジェクトの動きが、あらかじめ定められたしきい値を超えたことを検出するステップを備える。別の潜在的な実施形態による特定の方法では、あらかじめ定められたしきい値は、しきい値=((MAX_TOLERANCE-MIN_TOLERANCE)*factor)+MIN_TOLERANCEによって定義され、上式で、許容レベルはシステム設計値であり、ファクタ値は制御オブジェクトの速さに基づく。
【０００５】
別の潜在的な実施形態による特定の方法では、ファクタ値は、ユーザに関連付けられる静止制御オブジェクトの振れ測定値(shake measurement)にさらに基づく。別の潜在的な実施形態による特定の方法では、制御オブジェクトの速さは、ジッタを補償するために、複数の制御の速さの測定値にわたって平均化される。別の潜在的な実施形態による特定の方法では、遠隔検出デバイスはユーザの頭部に搭載されたカメラである。別の潜在的な実施形態による特定の方法では、遠隔検出デバイスは、光学カメラ、ステレオカメラ、または深度カメラを備える。別の潜在的な実施形態による特定の方法では、遠隔検出デバイスは、ハンドマウント慣性センサ備える。別の潜在的な実施形態による特定の方法では、パンニングジェスチャ開始コマンドは、遠隔検出デバイスを使用して、少なくとも2つの制御オブジェクトが、あらかじめ定められた時間量にわたって、コンテンツ表面と平行である制御プレーン内のレベル位置にそれぞれ配置されたことを検出するステップを備える。
【０００６】
別の潜在的な実施形態は、処理モジュール、ストレージ、および画像キャプチャモジュールを含む装置である。そのような装置では、ストレージは、プロセッサに、様々な実施形態による方法を実行させるコンピュータ可読命令を備える。そのような実施形態は、少なくとも2つの制御オブジェクトを遠隔に検出するステップと、パンニングジェスチャ開始コマンドを検出することによってパンニングジェスチャムーブメントモードを開始するステップと、遠隔検出デバイスを使用して、コンテンツ表面と平行である制御プレーンにわたる少なくとも2つの制御オブジェクトの同期された動きを遠隔に検出するステップであって、コンテンツ表面がコンテンツの一部を表示するステップと、制御プレーンにわたる少なくとも2つの制御オブジェクトの同期された動きの検出に応答して、コンテンツ表面に表示されたコンテンツの一部を調整するステップと、遠隔検出デバイスを使用して、パンニング解除モーションを遠隔に検出することによって、パンニングジェスチャムーブメントモードを終了するステップとを備える。
【０００７】
さらなる実施形態では、本装置は、音声センサおよびスピーカをさらに含み得る。そのような実施形態では、パンニングジェスチャ開始コマンドは、音声センサを介して受信されたボイスコマンドを備え得る。さらなる実施形態では、本装置は、アンテナと、セルラー電話通信モジュールと、ローカルエリアネットワークモジュールとをさらに含み得る。そのような実施形態におけるコンテンツは、ローカルエリアネットワークモジュールを介して、表示出力モジュールからコンテンツ表面に伝達され得る。さらなる実施形態では、本装置は、コンピュータプロセッサに通信可能に結合された第1のカメラを備える、ヘッドマウントデバイスをさらに含み得る。
【０００８】
別の潜在的な実施形態は、第1のカメラと、第1のカメラに通信可能に結合された第1のコンピューティングデバイスとを含み得る、システムを含む。本システムは、第1のコンピューティングデバイスに通信可能に結合された出力ディスプレイをさらに含むことができ、第1のコンピューティングデバイスは、少なくとも2つの制御オブジェクトを識別して、出力ディスプレイのコンテンツ表面に平行である制御プレーンにわたる少なくとも2つの制御オブジェクトの同期された動きを追跡するジェスチャ解析モジュールを備えることができ、識別および追跡は、第1のカメラからの複数の画像を使用する。さらなる実施形態では、第1のコンピューティングデバイスは、出力ディスプレイにコンテンツを出力して、現在のコンテンツ位置を含むコンテンツの詳細を識別して、制御プレーンにわたる少なくとも2つの制御オブジェクトの同期された動きの追跡に応答してコンテンツの現在のコンテンツ位置を調整する、コンテンツ制御モジュールを備える。
【０００９】
さらなる実施形態では、本システムは、第1のコンピューティングデバイスに通信可能に結合された第2のカメラを追加で含み得る。そのような実施形態では、ジェスチャ解析モジュールが、第1のカメラと、少なくとも2つの制御オブジェクトのうちの少なくとも1つとの間の障害を識別することによって遮られた制御オブジェクトを検出すると、ジェスチャ解析モジュールは遮られた制御オブジェクトの動きを、第2のカメラから第2の複数の画像を使用して、少なくとも2つの制御オブジェクトの同期された動きの一部として検出することができる。
【００１０】
ある潜在的な実施形態は、入力モードの解除を決定するための方法を備え、本方法は、コンピュータシステムの入力モードが係合されたと決定するステップと、入力モードの間に、少なくとも2つの制御オブジェクトの検出された動きに基づいて、コンピュータシステムの動作に影響を与えるステップと、少なくとも2つの制御オブジェクト間の分離に基づいて、入力モードが解除されたと決定するステップとを備え、解除をもたらす分離の量は変化する。
【００１１】
追加のそのような実施形態は、分離の量が、モーションの速さ、または少なくとも2つの制御オブジェクトによって移動された距離に基づいて変化するように機能することができる。さらなる代替実施形態では、追加の変数は、分離の量を決定するために使用され得る。さらなる実施形態では、各制御オブジェクトの速さは、移動された距離を決定するために使用される。さらなる実施形態では、位置測定は、分離を決定するために使用され得る。さらなる実施形態では、分離しきい値は、2つの制御オブジェクトによって移動された距離と、各制御オブジェクトの速さの両方に基づき得る。
【００１２】
さらなる実施形態では、入力モードに係合する方法は、しきい値量の時間にわたって実質的に静止している複数の制御オブジェクトを検出するステップを備える。さらなるそのような実施形態では、入力モードに係合する方法は、複数の制御オブジェクトが静止したまま保持され、ほぼ同じプレーン上にあることを検出するステップを備え得る。さらなる実施形態では、入力モードに係合する方法は、複数の制御オブジェクトが、コンテンツまたはコンテンツ表面とおおよそ平行であることを決定するステップを備え得る。さらなる実施形態では、入力モードに係合する方法は、複数の制御オブジェクトが、あらかじめ定められたボリューム内であることを決定するステップを備え得る。
【００１３】
追加の実施形態は、実際の表面または仮想表面上で構成されたコンテンツを提示するステップと、複数の制御オブジェクトが同じポーズまたは特定のあらかじめ定められたポーズで静止したまま保持される場合、係合入力を識別するステップとを備え得る。さらなるそのような実施形態では、コンテンツ表面のプレーンに垂直なベクトルに沿ったコンテンツ表面からの制御オブジェクトの除去は、解除コマンドを備える。
【００１４】
さらなる実施形態は、コンテンツを表示するステップと、コンテンツに影響を与えるために、複数の制御オブジェクトの同期する動きを識別するステップとを備えることができ、影響を与えるステップは、検出された動きに基づいて、表示されたコンテキストを調整するステップを備える。さらなるそのような実施形態では、調整するステップはパンするステップを備え、パンニングは、複数の制御オブジェクトの検出された同期する動きと一致する。追加のさらなる実施形態では、同期する検出された動きは、コンテンツとほぼ平行である。追加の実施形態では、複数の制御オブジェクトは、ユーザの手である。さらなる実施形態では、制御オブジェクトの動きの検出および識別は、カメラによって実行される。様々な実施形態では、そのようなカメラは、2Dカメラ、ステレオカメラ、深度知覚カメラを含む。代替実施形態では、カメラは、慣性動きユニット、赤外線検出器、音響モーション検出、または他の何らかの、複数の制御オブジェクトの動きおよび位置を決定するそのような手段を使用して、位置を決定する遠隔検出デバイスでよい。
【００１５】
別の潜在的な実施形態は、コンピュータシステムへのコマンドを検出するための方法を備えることができ、本方法は、少なくとも2つの制御オブジェクトによってモーションを検出するステップと、少なくとも2つの制御オブジェクト間の分離が、モーションを通して可変しきい値内かどうかを決定するステップと、モーションが、分離が可変しきい値内かどうかに基づいて、コンピュータシステムへのコマンドを備えるかどうかを決定するステップとを備える。そのような方法のさらなる代替実施形態では、本方法は、しきい値が、モーションの速さ、または速さだけに基づいて少なくとも2つの変数によって移動された距離に基づいて変化するように機能することができる。そのような方法のさらなる代替実施形態では、本方法は、しきい値が距離だけに基づいて変化するように機能することができる。そのような方法のさらなる代替実施形態では、本方法は、しきい値が速さと距離との組合せに基づいて変化するように機能することができる。そのような方法のさらなる代替実施形態では、本方法は、制御オブジェクトがカメラ(2D、ステレオ、ToF、深度等)によって検出されるユーザの手であるように機能することができる。さらなる実施形態では、検出は、慣性検出ユニット、および赤外線レーダユニット、または他のそのような検出手段によって行われ得る。
【００１６】
そのような方法のさらなる代替実施形態では、本方法は、モーションが、そのモーションが実質的に2次元であるかどうかを決定するステップをさらに備える、コマンドを備えるかどうかを決定するステップを追加で備え得る。そのような方法のさらなる代替実施形態では、本方法は、プレーンが、表示されたコンテンツと実質的に平行であるかどうかを決定するステップを追加で備え得る。そのような方法のさらなる代替実施形態では、本方法は、パンの動きを追加で備えてよく、表示されたコンテンツに変換させるステップをさらに備える。追加のそのような実施形態では、制御オブジェクトの検出されたモーションは、実質的にコンテンツと平行である、実質的に線形であるモーションを備える。追加のそのような実施形態では、モーションは、モーションがz方向のしきい値内であると決定するステップであって、z方向しきい値が、速さおよび/または移動された総距離に基づく変数であるステップをさらに備える、制御オブジェクトのうちの少なくとも1つによる円を備える。特定の実施形態では、z方向のしきい値は、ユーザの手の延長の範囲に基づき得る。追加の実施形態では、z方向のしきい値は、ユーザの手の速さに基づき得る。さらなる実施形態では、z方向のしきい値は、ユーザの手の速さ、ユーザの手の延長の範囲、およびユーザの手の静止位置からのずれの任意の組合せに基づき得る。
【００１７】
追加の実施形態は、コンピュータシステムへのコマンドを検出するための方法を備えることができ、本方法は、少なくとも2つの制御オブジェクトによってモーションを検出するステップと、モーションが、そのモーションの少なくとも一部を通して、少なくとも2つの制御オブジェクト間の分離に基づいて、コンピュータシステムへのコマンドを備えるかどうかを決定するステップとを備える。さらなる実施形態は、決定するステップが、分離が、モーションの少なくとも一部を通して可変しきい値内かどうかに基づくように機能することができる。さらなる実施形態は、しきい値が、モーションの速さ、または速さだけに基づいて少なくとも2つの変数によって移動された距離に基づいて変化するように機能することができる。さらなる実施形態は、変数が距離だけに基づくように機能することができる。さらなる実施形態は、変数が速さと距離との組合せに基づくように機能することができる。
【００１８】
ある潜在的な実施形態は、1つまたは複数の検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドを検出するステップと、ジェスチャ開始コマンドの検出に基づいて、ジェスチャモードを開始するステップと、1つまたは複数の検出デバイスからの情報に基づいて、コンテンツが表示される表面と実質的に平行である制御プレーンにわたる少なくとも2つの制御オブジェクトの実質的に同期された動きを検出するステップと、制御プレーンにわたる少なくとも2つの制御オブジェクトの実質的に同期された動きの検出に応答して、表示されたコンテンツを調節させるステップと、1つまたは複数の検出デバイスからの情報を使用して、解除モーションを検出することによって、ジェスチャモードを終了するステップとを備える方法でよい。
【００１９】
そのような方法の追加の実施形態は、解除モーションを検出するステップが、相互に関連する少なくとも2つの制御オブジェクトの動きが、可変しきい値を超えたことを検出するステップを備えるように機能することができる。そのような方法の追加の実施形態は、可変しきい値が、最小制御オブジェクトの許容差、最大制御オブジェクトの許容差、および較正係数の間の差によって定義されるように機能することができる。そのような方法の追加の実施形態は、最小制御オブジェクトの許容差がユーザの手の最小延長であり、最大制御オブジェクトの許容差がユーザの手の最大延長であり、較正係数が中立位置からの手の距離に少なくとも部分的に依存する変数であるように機能することができる。
【００２０】
そのような方法の追加の実施形態は、較正係数が、ユーザに関連付けられる静止制御オブジェクトの振れ測定値に基づくように機能することができる。そのような方法の追加の実施形態は、較正係数が、少なくとも2つの制御オブジェクトの速さに基づくように機能することができる。そのような方法の追加の実施形態は、少なくとも2つの制御オブジェクトの速さが、ジッタを補償するために、複数の制御の速さの測定値にわたって平均化されるように機能することができる。そのような方法の追加の実施形態は、パンニング解除モーションを検出するステップが、少なくとも2つの制御オブジェクトのうちの1つが制御プレーンから削除されたことを検出するステップを備えるように機能することができる。そのような方法の追加の実施形態は、制御オブジェクトがユーザの手を備え、1つまたは複数の検出デバイスがユーザの頭部に搭載されたカメラを備えるように機能することができる。
【００２１】
そのような方法の追加の実施形態は、制御オブジェクトがユーザの手を備えるように機能することができ、1つまたは複数の検出デバイスが、ハンドマウント慣性センサを備える。そのような方法の追加の実施形態は、ジェスチャ開始コマンドを検出するステップが、1つまたは複数の遠隔検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトが、あらかじめ定められた時間量にわたって、コンテンツ表面と平行である制御プレーン内のレベル位置にそれぞれ配置されたことを検出するステップを備えるように機能することができる。
【００２２】
そのような方法の追加の実施形態は、コンテンツが表示される表面が、コンピューティングデバイスによって作成され、ユーザの閲覧領域に投影される仮想表面であるように機能することができる。そのような方法の追加の実施形態は、コンテンツが表示される表面が受動的な物理的表面であり、コンテンツが、ヘッドマウントデバイスによってユーザの目に投影されて、受動的な物理的表面をコンテンツが表示される表面として設定するコンピューティングデバイスによって受動的な物理的表面に一致させるように機能することができる。そのような方法の追加の実施形態は、ヘッドマウントデバイスの単一のユーザのためだけに、受動的な物理的表面にコンテンツが表示されるように機能することができる。そのような方法の追加の実施形態は、ヘッドマウントデバイスの第1の複数のユーザのために受動的な物理的表面にコンテンツが表示されて、ヘッドマウントデバイスの第2の複数のユーザのためには受動的な物理的表面に表示されないように機能することができる。
【００２３】
そのような方法の追加の実施形態は、コンテンツが表示される表面がテレビジョンディスプレイであるように機能することができる。そのような方法の追加の実施形態は、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドが、制御プレーン内のユーザの両手によるつかむモーションを備えるように機能することができ、解除モーションは、制御プレーン内のユーザの両手による解放するモーションを備える。
【００２４】
追加の実施形態は、コンピュータプロセッサを備える処理モジュールと、処理モジュールに結合されたコンピュータ可読記憶媒体と、処理モジュールに結合された表示出力モジュールと、処理モジュールに結合された画像キャプチャモジュールとを備える装置でよく、コンピュータ可読記憶媒体は、コンピュータプロセッサによって実行されると、コンピュータプロセッサに、1つまたは複数の検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドを検出するステップと、ジェスチャ開始コマンドの検出に基づいて、ジェスチャモードを開始するステップと、1つまたは複数の検出デバイスからの情報に基づいて、コンテンツが表示される表面と実質的に平行である制御プレーンにわたる少なくとも2つの制御オブジェクトの実質的に同期された動きを検出するステップと、制御プレーンにわたる少なくとも2つの制御オブジェクトの実質的に同期された動きの検出に応答して、表示されたコンテンツを調節させるステップと、1つまたは複数の検出デバイスからの情報を使用して、解除モーションを検出することによって、ジェスチャモードを終了するステップとを備える方法を実行させるコンピュータ可読命令を備える。
【００２５】
そのような装置のさらなる実施形態は、音声センサおよびスピーカを備えることができ、パンニングジェスチャ開始コマンドは、音声センサを介して受信されたボイスコマンドを備える。そのような装置のさらなる実施形態は、アンテナとローカルエリアネットワークモジュールとを備えることができ、コンテンツは表示出力モジュールから、ローカルエリアネットワークモジュールを介してコンテンツ表面に伝達される。
【００２６】
そのような装置の追加の実施形態は、コンピュータプロセッサに通信可能に結合された第1のカメラを備える、ヘッドマウントデバイスを備え得る。そのような装置の追加の実施形態は、解除モーションを検出するステップが、相互に関連する少なくとも2つの制御オブジェクトの動きが、可変しきい値を超えたことを検出するステップを備えるように機能することができる。
【００２７】
そのような装置の追加の実施形態は、可変しきい値が、最小制御オブジェクトの許容差、最大制御オブジェクトの許容差、および較正係数の間の差によって定義されるように機能することができる。そのような装置の追加の実施形態は、最小制御オブジェクトの許容差がユーザの手の最小延長であり、最大制御オブジェクトの許容差がユーザの手の最大延長であり、較正係数が中立位置からの手の距離に少なくとも部分的に依存する変数であるように機能することができる。
【００２８】
そのような装置の追加の実施形態は、較正係数が、ユーザに関連付けられる静止制御オブジェクトの振れ測定値に基づくように機能することができる。そのような装置の追加の実施形態は、パンニング解除モーションを検出するステップが、少なくとも2つの制御オブジェクトのうちの1つが制御プレーンから削除されたことを検出するステップを備えるように機能することができる。そのような装置の追加の実施形態は、制御オブジェクトがユーザの手を備え、1つまたは複数の検出デバイスがユーザの頭部に搭載されたカメラを備えるように機能することができる。そのような装置の追加の実施形態は、コンテンツが表示される表面が、ヘッドマウントデバイス(HMD)としてカメラに結合されたコンピューティングデバイスによって作成された仮想表面であるように機能することができる。
【００２９】
そのような装置の追加の実施形態は、コンテンツが表示される表面が受動的な物理的表面であり、コンテンツが、ヘッドマウントデバイスによってユーザの目に投影されて、受動的な物理的表面をコンテンツが表示される表面として設定するコンピューティングデバイスによって受動的な物理的表面に一致させられるように機能することができる。そのような装置の追加の実施形態は、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドが、制御プレーン内のユーザの両手によるつかむモーションを備えるように機能することができ、解除モーションは、制御プレーン内のユーザの両手による解放するモーションを備える。
【００３０】
別の実施形態は、1つまたは複数の検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトによって実行されるジェスチャ開始コマンドを検出するための手段と、ジェスチャ開始コマンドの検出に基づいて、ジェスチャモードを開始するための手段と、1つまたは複数の検出デバイスからの情報に基づいて、コンテンツが表示される表面と実質的に平行である制御プレーンにわたる少なくとも2つの制御オブジェクトの実質的に同期された動きを検出するための手段と、制御プレーンにわたる少なくとも2つの制御オブジェクトの実質的に同期された動きの検出に応答して、表示されたコンテンツを調節させるための手段と、1つまたは複数の検出デバイスからの情報を使用して、解除モーションを検出することによって、ジェスチャモードを終了するための手段とを備えるシステムでよい。
【００３１】
さらなる代替実施形態では、そのようなシステムは、相互に関連する少なくとも2つの制御オブジェクトの動きが、可変しきい値を超えたことを検出するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、最小制御オブジェクトの許容差と、最大制御オブジェクトの許容差との間の差を決定することによって可変しきい値を決定するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、可変しきい値の較正係数を決定するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、ユーザの手の最小延長を決定するための手段と、ユーザの手の最大延長を決定するための手段と、中立位置からの手の距離を決定するための手段とを追加で備え得る。
【００３２】
さらなる代替実施形態では、そのようなシステムは、ユーザに関連付けられる静止制御オブジェクトの振れ測定値を決定するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、少なくとも2つの制御オブジェクトの速さを決定するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、少なくとも2つの制御オブジェクトのうちの1つが制御プレーンから削除されたことを検出するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、1つまたは複数の遠隔検出デバイスからの情報に基づいて、少なくとも2つの制御オブジェクトが、あらかじめ定められた時間量にわたって、コンテンツ表面と平行である制御プレーン内のレベル位置にそれぞれ配置されたことを検出するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、仮想表面を作成するための手段を追加で備え得る。さらなる代替実施形態では、そのようなシステムは、仮想表面をユーザの閲覧領域に投影するための手段を追加で備え得る。
【００３３】
様々な特定の実施形態が説明されているが、当業者は、本明細書の範囲内に留まりながら、様々な実施形態の要素、ステップ、および構成要素が代替の構造に配置されてもよいことを理解するであろう。また、追加の実施形態は本明細書の説明から明らかであり、したがって、説明は、具体的に説明された実施形態だけに言及しておらず、本明細書に記載の機能または構成が可能な任意の実施形態に言及している。
【００３４】
本開示の態様を、例として示す。添付の図面において、同様の参照番号は同様の要素を示す。
【図面の簡単な説明】
【００３５】
【図１Ａ】1つまたは複数の実施形態を組み込み得るシステムを含む環境を示す図である。
【図１Ｂ】1つまたは複数の実施形態を組み込み得るシステムを含む環境を示す図である。
【図１Ｃ】1つまたは複数の実施形態を組み込み得るシステムを含む環境を示す図である。
【図２Ａ】1つまたは複数の実施形態を組み込み得る環境を示す図である。
【図２Ｂ】1つまたは複数の実施形態において検出され得る非接触ジェスチャの態様を示す図である。
【図２Ｃ】1つまたは複数の実施形態において検出され得る非接触ジェスチャの態様を示す図である。
【図３】1つまたは複数の実施形態を組み込み得る方法の一態様を示す図である。
【図４】1つまたは複数の実施形態を組み込み得るシステムの一態様を示す図である。
【図５Ａ】1つまたは複数の実施形態を組み込み得るヘッドマウントデバイスを含むシステムの一態様を示す図である。
【図５Ｂ】1つまたは複数の実施形態を組み込み得るシステムの一態様を示す図である。
【図６】1つまたは複数の実施形態が実装され得るコンピューティングシステムの例を示す図である。
【発明を実施するための形態】
【００３６】
次に、いくつかの例示的な実施形態を、本明細書の一部を形成する添付の図面に関して説明する。本開示の1つまたは複数の態様が実施され得る特定の実施形態が以下に記載されているが、他の実施形態が使用されてもよく、本開示の範囲、または添付の特許請求の範囲の趣旨から逸脱することなしに様々な修正が行われてよい。
【００３７】
実施形態は、ディスプレイインターフェースを対象とする。特定の実施形態では、非接触インターフェース、および非接触インターフェースを使用するディスプレイ内のコンテンツの制御のための関連する方法が説明される。ユーザにとって利用可能な入力デバイスおよび演算能力が増加し続けているので、いくつかの状況では、ジェスチャ、および具体的には自由空間ジェスチャ(free-air gesture)を使用して、コンテンツ表面と対話することが望ましい。ある潜在的なナビゲーションインタラクションは、液晶またはプラズマディスプレイの表面などのコンテンツ表面に対して行うことができる自由空間パンニングジェスチャを使用して、大きなコンテンツアイテムの周囲をナビゲートすることを含む。コンテンツ表面はまた、プロジェクタによって画像が投影される任意の表面でもよく、たとえばユーザの目に画像を伝送して、任意の表面上にあるように見える画像を見せるメガネを使用して、画像が投影されているように見える任意の表面でもよい。制御オブジェクトが表示面に接触している間にジェスチャが行われてもよいが、ジェスチャの検出は、表面での何らかの検出に基づくものではなく、その代わりに、以下にさらに詳述するように、検出デバイスによるユーザの手などの遠隔制御オブジェクトの検出に基づく。いくつかの実施形態では、ジェスチャは、慣性測定ユニット(IMU)を備えるコントローラまたは装置などの、ハンドヘルドデバイスによって検出され得る。したがって、ジェスチャを検出するために使用されるデバイスはユーザに対して遠隔でなくてもよいが、そのようなデバイスおよび/またはジェスチャは、ディスプレイインターフェースに対して遠隔であり得る。
【００３８】
ある例示的な実施形態では、壁掛け式のディスプレイがコンピュータに結合されており、コンピュータはさらにカメラに結合されている。ユーザが、カメラの視野内の位置からディスプレイと対話すると、カメラはユーザの画像をコンピュータに伝達する。コンピュータは、ユーザによって行われるジェスチャを認識して、ユーザのジェスチャに応答してディスプレイに示されるコンテンツの提示を調節する。たとえば、特定のパンニングジェスチャが使用され得る。パンニングジェスチャの一実装形態では、ユーザは、表示面と実質的に平行である制御プレーンに両手を置く。次いで、ユーザは、制御プレーンを通して、実質的に同期されたモーションでユーザの手を動かす。カメラはこのジェスチャの画像をキャプチャして、それらの画像をコンピュータに伝達して、コンピュータでそれらの画像が処理される。ディスプレイ上のコンテンツは、ユーザの手の同期されたモーションに連動してパンするために示される。さらなる詳細な実施形態では、制御プレーンがコンテンツディスプレイの表面にある場合、各手の横の、または各手にほぼタッチしているコンテンツの一部は、ユーザがコンテンツにタッチして、表示面の周囲でそれを押していたかのように、手が動くにつれて各手の横に残る。さらなる詳細は、以下で説明する。
【００３９】
本明細書で使用される場合、「コンピュータ(computer)」、「パーソナルコンピュータ(personal computer)」、および「コンピューティングデバイス(computing device)」という用語は、知られている、または今後開発される、任意のプログラム可能コンピュータシステムを指す。特定の実施形態では、コンピュータは、本明細書に記載されるようなネットワークに結合される。コンピュータシステムは、本明細書に記載のプロセスを実行するために、プロセッサ実行可能ソフトウェア命令で構成され得る。図6は、以下で説明するように、コンピュータのさらなる詳細を提供する。
【００４０】
本明細書で使用される場合、「構成要素(component)」、「モジュール(module)」、および「システム(system)」という用語は、ハードウェア、ハードウェアとソフトウェアとの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連のエンティティを指すことが意図されている。たとえば、これに限定されないが、構成要素は、プロセッサ上で実行しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであってよい。例として、サーバ上で実行しているアプリケーションとサーバの両方が、構成要素であってよい。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してよく、1つの構成要素が1つのコンピュータに局在化されてもよく、および/または2つまたはそれ以上のコンピュータ間で分散されてもよい。
【００４１】
本明細書で使用される場合、「ジェスチャ(gesture)」という用語は、ユーザによって行われる継時的な空間を通じた動きを指す。動きは、ユーザの指示のもとに、任意の制御オブジェクトによって行われ得る。
【００４２】
本明細書で使用される場合、「制御オブジェクト(control object)」という用語は、手、腕、ひじ、足などの、ユーザの身体の任意の部分を指すことができる。ジェスチャは、カメラにとってより容易に見ることができる、および/またはカメラに結合されたコンピュータによってより容易に処理することができる、デバイスの動きを行う出力を備えた、ペン、バトン、または電子デバイスなどの、ユーザの身体の部分ではない制御オブジェクトをさらに含み得る。実施形態は、複数の制御オブジェクトを使用することができ、そのような実施形態では、2つまたはそれ以上の制御オブジェクトは同一である必要はない。たとえば、ある制御オブジェクトは電子デバイスでよく、第2の制御オブジェクトはユーザの手でよい。
【００４３】
本明細書で使用される場合、「遠隔検出デバイス(remote detection device)」という用語は、関連付けられるデータをキャプチャすることができる、およびジェスチャを識別するために使用することができる、任意のデバイスを指す。一実施形態では、ビデオカメラは、ユーザによって行われている特定のジェスチャを識別するために処理および解析するために、画像をプロセッサに搬送することができる遠隔検出デバイスの一例である。カメラなどの遠隔検出デバイスは、ディスプレイ、ウェアラブルデバイス、電話、または他の何らかのそのようなカメラプレゼンテーションに組み込まれ得る。カメラは、立体カメラなどの複数の入力を追加で備えてもよく、ユーザ位置のより大きなセットを観測するために、あるいは、ユーザのすべてまたは一部を見ることから1つまたは複数のカメラモジュールが遮られたときにユーザを観測するために、複数のユニットをさらに備えてもよい。遠隔検出デバイスは、任意のセットの波形検出を使用してジェスチャを検出することができる。たとえば、カメラは、赤外線光源を含み、対応する赤外線領域内の画像を検出することができる。遠隔検出は、ボディマウントモーション検出器、紫外線または他の電磁放射線検出器、超音波または他の音声遠隔検出技法、あるいはMEMSセンサを含む、他の手段によって行われてもよく、それらのうちのいずれかが、ジェスチャに関連付けられるデータを遠隔にキャプチャするために使用されてもよい。
【００４４】
本明細書で使用される場合、「ディスプレイ(display)」、および「コンテンツ表面(content surface)」という用語は、ユーザによって閲覧されるデータの画像ソースを指す。例には、液晶テレビジョン、陰極線管ディスプレイ、プラズマディスプレイ、および他の何らかのそのような画像ソースがある。特定の実施形態では、画像は、ディスプレイ画面から提示されるのではなく、ユーザの目に投影され得る。そのような実施形態では、本システムは、たとえ表面が発光または光を反射していなくても、コンテンツが表面から発信されたかのように、ユーザにコンテンツを提示することができる。一例は、ユーザに画像を与える、ヘッドマウントデバイスの一部としてのメガネである。
【００４５】
本明細書で使用される場合、「ヘッドマウントデバイス(head mounted device(HMD))」、または「ボディマウントデバイス(body mounted device(BMD))」という用語は、ユーザの頭部、身体、または衣服に搭載された、あるいはユーザによって着用または支持された、任意のデバイスを指す。たとえば、HMDまたはBMDは画像データをキャプチャし、プロセッサまたはコンピュータにリンクされているデバイスを備えることができる。特定の実施形態では、プロセッサはデバイスに組み込まれ、他の実施形態では、プロセッサはHMDから遠隔にあってよい。ある実施形態では、ヘッドマウントデバイスは、モバイルデバイスCPU(たとえば、セルラー電話、タブレットコンピュータ、スマートフォン等のプロセッサ)のためのアクセサリであってもよく、ヘッドマウントデバイスの制御システムの主要な処理は、モバイルデバイスのプロセッサ上で実行されてもよい。別の実施形態では、ヘッドマウントデバイスは、プロセッサ、メモリ、ディスプレイ、およびカメラを備え得る。ある実施形態では、ヘッドマウントデバイスは、環境(たとえば、部屋等)から情報をスキャンまたは収集するための1つまたは複数のセンサ(たとえば、深度センサ、カメラ等)、および収集された情報を別のデバイス(たとえば、サーバ、第2のモバイルデバイス等)に伝送するための回路を含む、モバイルデバイス(たとえば、スマートフォン等)でよい。したがって、HMDまたはBMDは、ユーザからジェスチャ情報をキャプチャして、その情報を非接触制御インターフェースの一部として使用することができる。
【００４６】
本明細書で使用される場合、「コンテンツ(content)」は、ディスプレイ内に提示されて、パンニングジェスチャで操作され得るファイルまたはデータを指す。例としては、任意のフォーマットで記憶されて、ディスプレイによってユーザに提示され得る、テキストファイル、写真、または動画でよい。ディスプレイ上のコンテンツの提示の間、コンテンツの詳細は、色、ズーム、詳細レベル、および現在のコンテンツ位置などの、コンテンツの特定の表示インスタンスに関連付けられ得る。
【００４７】
本明細書で使用される場合、「現在のコンテンツ位置(current content position)」は、ディスプレイ上に提示され得るコンテンツの特性を指す。具体的には、表示面上にコンテンツ全体が見えなくなるようにコンテンツがズームされるとき、現在のコンテンツ位置は、コンテンツ表面に提示されたパンニング変換にジェスチャを一致させて、現在のコンテンツ位置が更新されるにつれて表示面に提示されたコンテンツの一部を移動するために使用され得る。
【００４８】
別の実施形態では、ヘッドマウントデバイスは、インターネット、ローカルワイヤレスネットワーク、または別のコンピューティングデバイスに接続するためのワイヤレスインターフェースを含み得る。別の実施形態では、ピコプロジェクタは、表面上への画像の投影を可能にするために、ヘッドマウントデバイスに関連付けられ得る。ヘッドマウントデバイスは軽量であり得、デバイスの装着を不快に感じさせ得る重い構成要素の使用を避けるように構築され得る。ヘッドマウントデバイスはまた、ユーザから音声/ジェスチャ入力を受信するように動作可能であり得る。そのようなジェスチャ入力または音声入力は、口頭のボイスコマンドまたは認識されたユーザのジェスチャであってもよく、コンピューティングデバイスによって認識されるとき、対応するコマンドをそのデバイスに実行させることができる。
【００４９】
図1Aおよび図1Bは、非接触パンニングジェスチャの実施形態が実装され得る、2つの潜在的な環境を示している。図1Aと図1Bの両方は、表面16に搭載されたディスプレイ14を含む。さらに、両方の図では、ユーザの手が制御オブジェクト20として働く。図1Aでは、ユーザ6によってHMD10が着用されている。モバイルコンピューティングデバイス8は、ユーザ6に取り付けられている。図1Aでは、HMD10は、カメラの視野12に関連付けられる斜線によって示される内蔵カメラを有するものとして示されている。HMD10に埋め込まれたカメラの視野12は、斜線によって示されており、ユーザ6の頭部の動きに一致するように移動する。カメラの視野12は、表面16およびディスプレイ14と平行である制御プレーン内に配置される場合、制御オブジェクト20を含むように十分に広い。
【００５０】
基準軸は、表面16の基部に沿ったx方向、表面16の高さに沿った上下のy方向、および表面16のプレーンに垂直なz方向で示されている。制御プレーンは、ユーザとディスプレイ14との間の、任意のおおよそのx-yプレーンでよい。代替実施形態では、制御プレーンは、ユーザの身体がディスプレイを見ている位置からずれている場合は特に、ディスプレイのプレーンからずれていてよい。さらなる実施形態では、制御プレーンは、制御オブジェクトがディスプレイ14に触れることができるようにディスプレイ14の表面にあってもよく、または制御プレーンは、自由空間にあって、ディスプレイ14の表面からz方向にずれていてもよい。いくつかの実施形態では、制御プレーンは、ユーザの注視、あるいはユーザの頭部または身体が向いている方向によって決定される。いくつかの実施形態では、ユーザのモーションは、そのモーションが実行されている場所にかかわらず、そのような制御プレーン内にあると解釈される。たとえば、いくつかの実施形態では、ユーザが表面16に向いている、または注視している場合は、横に手を延ばすユーザによって実行される円を描くモーションは、表面16とほぼ平行である制御プレーン内にあると解釈され得る。
【００５１】
図1Aのシステムでは、HMD10からの画像は、HMD10内の通信モジュールから、ディスプレイ14に関連付けられるコンピュータにワイヤレスに伝達されてもよく、またはワイヤレスに、もしくはワイヤード接続を使用することのいずれかによって、HMD10からモバイルコンピューティングデバイス8に伝達されてもよい。画像がHMD10からモバイルコンピューティングデバイス8に伝達されるある実施形態では、モバイルコンピューティングデバイス8は、ディスプレイ14に結合された追加のコンピューティングデバイスに画像を伝達することができる。あるいは、モバイルコンピューティングデバイス8は、ディスプレイ14上のコンテンツがモバイルコンピューティングデバイス8から発信されている場合は特に、ジェスチャを識別するために画像を処理して、次いで、ディスプレイ14に提示されているコンテンツを調整することができる。さらなる実施形態では、モバイルコンピューティングデバイス8は、追加のコンピュータと対話するために中間処理または通信ステップを実行するモジュールまたはアプリケーションを有することができ、また、データをコンピュータに伝達して、コンピュータは次いでディスプレイ14上のコンテンツを調整することができる。特定の実施形態では、ディスプレイ14は、ハードウェアディスプレイである必要はないが、たとえばHMD10によって作成された仮想ディスプレイでよい。
【００５２】
図1Bは代替実施形態を示しており、画像検出が、ディスプレイ14に沿って表面16に搭載されたカメラ18によって実行される。そのような実施形態では、カメラ18は、カメラ18の一部、ディスプレイ14の一部、または、カメラ18とディスプレイ14の両方に通信可能に結合されたコンピュータシステムの一部でよいプロセッサに、通信可能に結合される。カメラ18は、斜線領域によって示される視野19を有し、視野19は、制御オブジェクトがx-y制御プレーンを移動するにつれて、制御オブジェクトをカバーする。特定の実施形態では、カメラは、ユーザ6の高さの検出に応答して視野19を移動する調節可能制御に搭載され得る。さらなる実施形態では、より広い領域にわたる視野を与えるために、複数のカメラが表面16に組み込まれてよく、場合によっては、追加の角度から、ユーザ6は、カメラ18の視野を遮る障害によって隠される。ジェスチャ認識における精度向上のために、改善されたジェスチャデータを与えるために、複数のカメラが追加で使用され得る。さらなる実施形態では、ジェスチャ画像を与えるために、ユーザに関連する任意の位置に追加のカメラが配置され得る。
【００５３】
図1Cは、画像検出がカメラ118によって実行される、別の代替実施形態を示している。そのような実施形態では、ユーザの両手が、第1の制御オブジェクト130および第2の制御オブジェクト140として検出され得る。制御オブジェクト130および140を検出するための画像の処理、ならびに結果として得られるコンテンツの制御は、テレビジョンディスプレイ114に表示されるコンテンツのために、コンピューティングデバイス108によって実行され得る。
【００５４】
図2Aは、ある実施形態の環境に適用され得る座標系の基準図を示している。図1Aおよび図1Bの実施形態では、図2Aのx-y矢印は、図1Aおよび図1Bのx-yプレーンに対応することができる。ユーザ210は、x-yプレーンを向いた正のz軸位置に配置されるように示されており、したがって、ユーザ210は、カメラによってキャプチャされ得るジェスチャを行うことができ、ユーザはディスプレイを向いており、カメラによってキャプチャされるモーションの座標は、カメラによって観測される、対応するx、y、およびz座標を使用して、コンピュータによって処理される。図2Aによって示されるパンニングジェスチャでは、制御プレーン内の制御オブジェクトによってxおよびy座標を横切る動きは、表示面上のコンテンツを表示および操作するために使用されるxおよびy座標と同じでもよく、異なっていてもよい。上述のように、次いで、ユーザは制御オブジェクトを動かすことができ、制御オブジェクトは、図2Aでは両手である。次いで、遠隔検出システムは、制御オブジェクトのモーションを検出して、表示面に表示されたコンテンツをパンするために、このモーションを変換することができる。図2Aによって示されるジェスチャは、テーブル全体の大きな布を動かす際に使用されるモーションにリンクされている。図示されるように、両手は、検出エリア全体にわたって、線形の、手を開いたモーションで使用されている。ジェスチャは制御プレーン内で行われ、コンテンツ表面で図示されるように操作されているコンテンツに一致させられる。コンテンツが垂直画面上にある場合、モーションは、ほぼコンテンツ表面の垂直画面に平行であるコンテンツプレーン上にある。コンテンツが水平画面上にある場合、モーションは水平画面にほぼ平行になる。コンテンツプレーンは、ユーザが触れることができるコンテンツ表面の表面でもよく、コンテンツ表面上の、またはそこから離れた、自由空間プレーンでもよい。ユーザは、ジェスチャモーションの一部として、水平表示プレーンと垂直表示プレーンとの間で遷移することが可能でよい。
【００５５】
次いで、ユーザの手のx、y、およびz座標、ならびに任意で他の関節の位置を含むフレームのストリームが、ジェスチャを識別するために受信され得る。そのような情報は、図2に示されるように、ジェスチャ認識システムによって識別される座標系またはフレームワーク内に記録され得る。いくつかの実施形態では、パンニング動作に係合するために、ユーザは両手を静止状態およびレベルに保持することができる。システムが係合されると、パンニングが開始されてよい。システムは、ユーザの手が、あらかじめ定められた時間量にわたってほぼ定義されたボリューム内に留まっている場合には、ユーザの手が静止していると考えられ得るように、特定のしきい値を用いて設計され得る。図2Aに示されるように、両手のレベル位置は、それらがy軸位置に関して、たとえば互いの100ミリメートル以内にあると決定するために解析され得る。パンニングしている間、アプリケーションは、パンされているオブジェクト上の両手の平均モーションを追跡することができる。ユーザがオブジェクトを所望の位置に移動した場合、ユーザは、パンニング解除モーションを用いてパンニング動作を解除することができる。特定の実施形態では、パンニング係合は、両方の制御オブジェクトがほぼ同じプレーン内にあること、またはそれらがコンテンツと平行であるプレーン内にほぼあることの検出を含み得る。さらなる実施形態では、制御オブジェクトが手である場合、係合は、両手が同じポーズ(たとえば、手を開いて手のひらを外に向ける、または握り拳)であること、または片手または両手が特定のポーズ(たとえば、手を開いて手のひらを外に向けたときに係合が開始する)であることを検出することを含み得る。代替実施形態では、両手がポーズを維持して、座標系内を動く間にパンニングが実行され得る(たとえば、いくつかの実施形態では、握り拳はパンするために使用されてよく、たとえば、ユーザが係合または選択するために手を閉じると、握り拳でパンする)。
【００５６】
図2Bは、パンニングジェスチャの実施形態を示している。第1の制御オブジェクト230および第2の制御オブジェクト240が、ユーザの手として示されている。さらに、コンテンツ表面214が、コンテンツ表面214上に表示されるコンテンツ部分215を含むように示されている。パンニングジェスチャムーブメントモードの間、制御オブジェクトがx-y制御プレーンに持ち込まれ、ほぼ一定の相対距離に保持される。位置1A、1B、2A、2Bは、同じ第1のx-yプレーン内にあることが意図されており、位置3aおよび3bは第1のx-yプレーンからz方向にずれていてもよく、ずれていなくてもよい第2のx-yプレーン内にあることが意図されている。
【００５７】
パンニングジェスチャの間、第1の制御オブジェクト230は、位置1Aから位置1Bに動き、第2の制御オブジェクトは、ほぼ同期されたモーションで位置2Aから位置2Bに実質的に同時に動く。図示されるように、ジェスチャの間、第1の制御オブジェクト230と第2の制御オブジェクト240との間の同期された関連位置が維持される。パンニングジェスチャムーブメントモードにおける動作の一部として、遠隔検出デバイスは、制御オブジェクトの同期された動きをキャプチャする。次いで、キャプチャされた情報は、ディスプレイに提示されるべき対応するパンニング変換を識別するために処理される。図2Bに示されるように、ジェスチャの検出および処理に応答して、コンテンツ部分215が最初の位置3aからパンされた位置3bに動き、位置3aから3bへの動きは、制御オブジェクト230および240の位置1Aおよび2Aから位置1Bおよび2Bへの同期された動きに対応する。
【００５８】
提示される図面は、壁掛け型の構成の表示面、または垂直位置に沿ってディスプレイがあるように示しているが、実施形態は、テーブルトップ型ディスプレイも含み得る。そのような実施形態では、ユーザは、立っている、または座っているまっすぐの位置のままでよいが、ここでは、制御プレーンとコンテンツ表面とは、図1および図2で使用される基準方向に従ってx-zプレーン内にある。そのような実施形態では、ジェスチャは、両手でテーブルクロスをタッチして、テーブルにわたってテーブルクロスをスライドさせることに類似していると考えることができ、ここでは両手が制御対象であり、テーブルクロスがコンテンツである。制御オブジェクトが同期されたモーションで動くと、制御オブジェクトの同期された動きに応答して、コンテンツはディスプレイにわたってスライドまたはパンする。
【００５９】
特定の実施形態では、許容しきい値は、制御オブジェクトの同期のレベルのために識別され得る。一実施形態は、これを図2Cのしきい値226で示している。図2Cは、第1の制御オブジェクト230と第2の制御オブジェクト240とを含む。パンニングジェスチャムーブメントモードの間、ユーザがまず第1の制御オブジェクト230および第2の制御オブジェクト240を制御プレーン内に配置すると、最初の同期された関連位置が、同期された関連位置220として確立され得る。制御プレーンの位置は、これと同時に確立されてもよく、または以前に決定されており、ユーザに識別されていてもよい。しきい値226は、パンニングジェスチャの間の同期された関連位置220における許容変動を示している。同期された関連位置220がしきい値226を超えて変化する場合、パンニングジェスチャムーブメントモードが終了されてよく、コンテンツ表面に提示されたコンテンツは、第1および第2の制御オブジェクトの動きと一致するために、パンニングを停止することができる。yしきい値224とxしきい値222とに加えて、しきい値226は、制御プレーンのわずか外にあるが、制御プレーンの許容範囲内である、z方向の動きにおける違いに適応するために、zしきい値構成要素をさらに含み得る。
【００６０】
特定の実施形態では、しきい値226は、いくつかの異なる要因に基づいて可変でよい。たとえば、しきい値は、制御オブジェクトの速度または速さに比例させてよい。具体的には、ユーザが、第1の制御オブジェクト230と第2の制御オブジェクト240を制御すると、同期された関連位置220を維持するユーザの能力が低下する場合がある。したがって、システムは、制御オブジェクトの速度を測定して、測定された速度の増加とともに増加するしきい値226を設定することができる。そのようなシステムの一実施形態では、以下の通りである。
(1)しきい値=((MAX_TOLERANCE-MIN_TOLERANCE)*較正係数)+MIN_TOLERANCE
【００６１】
MAX_TOLERANCEおよびMIN_TOLERANCEは、x、y、および/またはz方向の最大および最小許容偏差のシステム設定を備えてよく、較正係数は、測定された速度に基づくシステム設定であってよい。特定の実施形態では、較正係数は測定された速度に比例することができるが、他の実施形態では、様々な速さと許容しきい値との間の識別された非線形関連は、各速度で、較正係数の値の表または数式を使用して設定され得る。したがって、いくつかの実施形態では、制御オブジェクトの速さが増加するにつれてしきい値が増加し得るので、制御オブジェクトがより速い速度で動いているときは2つのオブジェクト間のより大きな分離が許容される。
【００６２】
特定の実施形態では、較正係数は、始点から制御オブジェクトによって移動された総距離を考慮した値でよい。したがって、たとえば、制御オブジェクトとして動作する手が中立位置から離れるにつれて、しきい値は増加し得る。さらなる実施形態では、許容可能なしきい値における変動は、追加の要因に基づき得る。たとえば、拡張されたパンニングセッションの間、ユーザが疲労する場合があり、しきい値は、ユーザが疲労するにつれて低下したユーザ制御を補償するために経時的に増加する場合がある。
【００６３】
さらなる実施形態では、特定の極限位置においてしきい値が増加され得るように、ユーザがパンニングジェスチャを制御プレーン内の極端な動き位置に延長するにつれてしきい値を変化させるために、骨格モデルおよび関連する解析が行われ得る。
【００６４】
さらに、特定のユーザは、制御オブジェクトを安定した位置に保持するために、ユーザの最良制御に関連付けられるハンドシェイクを有することができる。特定の実施形態では、システムは、反復的なハンドシェイクの動きを検出することができ、そのようなハンドシェイクに適応するために、任意のしきい値および速度測定値を補償することができる。同様に、特定の小さな急なモーションが、システムによって使用される個々の速度測定値を予想外に高くする場合があり、システムは、制御オブジェクトの動きを平均化することによって、または測定異常値を無視することによって、そのような急なモーションを補償することができる。
【００６５】
さらなる実施形態は、制御オブジェクトのユーザ制御における変動を補償するための追加の態様を含み得る。たとえば、同期された関連位置220の中心または平均位置が継時的に移動する場合、最初の同期された関連位置220は、継時的にユーザ位置の変化に一致するためにリセットされ得る。システムは、同期された関連位置220に影響を与えるユーザのスタンスまたは位置の移動をさらに識別して、ユーザのスタンスの移動に応じて同期された関連位置220をリセットすることができる。そのような応答は、しきい値226の設定における関連する変更を伴ってもよく、伴わなくてもよい。
【００６６】
次いで、図3は、非接触パンニングジェスチャを実装するための方法の一実施形態を説明する。図3の方法の一部として、映画、写真、またはテキストオブジェクトなどのコンテンツが、図1のディスプレイ14などのディスプレイ内に示されている。コンピューティングデバイスは、コンテンツのどの部分が、コンテンツ表面のどの位置に提示されるかを制御する。遠隔検出デバイスは、ユーザによって行われるジェスチャを観測するために、コンピュータに結合されている。
【００６７】
305で、遠隔検出デバイスは、2つの制御オブジェクトを検出する。ユーザの片手、または両手などの制御オブジェクトの検出は、光学カメラ、ステレオカメラ、深度カメラ、リストバンドまたはリングなどの慣性センサ、あるいは他の任意のそのような遠隔検出デバイスの使用などの、任意の手段によって行われ得る。図1AのHMD10、図1Bのカメラ18、または本明細書に記載の任意の遠隔感知デバイスのうちのいずれかが、制御オブジェクトを識別するために使用され得る。具体的には、ヘッドマウントデバイスの使用は、図5でさらに説明される自由空間ジェスチャ制御の便利な組込みのための1つの選択肢であるが、他の例は、メディアセンタテレビ、ショップウィンドウキオスク、ならびに実世界のディスプレイおよびコンテンツ表面に関連するインターフェースなどの、そのようなジェスチャインタラクションシステムを使用することができる。
【００６８】
次いで、310で、たとえばパンニングモードなどのジェスチャモードが、305から検出されたジェスチャに基づいて開始され得る。このパンニングモードを開始するためのプロセスは、モバイルデバイス8、コンピューティングデバイス108、HMD10内のプロセッサ、または実施形態に組み込まれる任意のコンピューティングシステム600などの、本明細書に記載の任意のコンピューティングデバイスによって行われ得る。様々な実施形態は、異なるコマンドが許容される異なるモードを含むパンニングモードを開始する幅広い入力を許容することができる。ユーザが入力する、制御カメラの視野を横切って歩く、または制御カメラの視野内で他の動作を実行するときに、偶発的なジェスチャ入力を防止するために、コンピュータは、モード開始信号が受信されるまで特定のジェスチャを許容しない場合がある。パンニングジェスチャ開始コマンドは、制御カメラによって認識されるジェスチャでよい。ある潜在的な実施形態では、これは、ユーザが、ユーザとコンテンツ表面との間の位置に2つの制御オブジェクトを動かして、あらかじめ定められた時間量にわたって固定位置を維持したことの検出などの、ジェスチャの検出でよい。
【００６９】
代替実施形態では、パンニングモードを開始するために、サウンドまたはボイスコマンドが使用され得る。そのような実施形態では、本システムは、制御プレーン内の制御オブジェクトを識別して、制御オブジェクトが制御プレーン内で識別されると、制御オブジェクト間の同期された関連位置を識別するために追加の処理手順を開始することができる。あるいは、パンニングモードを開始するために、ボタンまたはオフハンド遠隔制御が使用され得る。したがって、様々な環境に応じて、制御オブジェクトの同期された関連位置は、コマンドが受信されたときの制御オブジェクトの位置か、入力後にあらかじめ定められた時間量にわたって静止している、制御プレーン内の安定した制御オブジェクトの位置のいずれかでよい。
【００７０】
さらに、特定の実施形態では、次いで、パンニングモードの開始時にコンテンツが表示されると、絶対的制御オブジェクト開始位置と、現在のコンテンツ位置との間で、一致が行われ得る。次いで、315で、たとえば、図4に関して図示および説明されたジェスチャ解析モジュール440および/または処理モジュール420を使用して、コンテンツ表面とほぼ平行である、制御プレーンにわたる制御オブジェクトの同期された動きが検出される。次いで、320で、制御オブジェクトと表示されたコンテンツの同期されたモーションが、パンニングジェスチャを、HMD10のディスプレイまたはテレビジョンのディスプレイ114などのディスプレイのコンテンツ表面上のコンテンツのパンニングに一致または相関させる。次いで、315および320は、325でパンニングモードが終了するまで、コンテンツディスプレイを設定するために、連続的または周期的に発生することができる。これは、図2Bに詳述される同期されたモーションであり、ここで制御オブジェクトのモーションが、遠隔検出システムが制御オブジェクトのモーションを検出して、検出されたモーションをディスプレイされたコンテンツのためにシフト変換(shift transformation)に変換するように関連付けられる。様々な実施形態では、異なるコンピューティングデバイスは、様々な異なる方法で、遠隔検出デバイスから受信されたジェスチャ情報を、ディスプレイへのコンテンツ出力における変化に一致させることができる。一実施形態では、たとえば、制御オブジェクトのx、y、およびz座標、ならびに任意でユーザの関節位置を含むフレームのストリームは、次いで、遠隔検出デバイスによって受信されて、ジェスチャを識別するためにコンピューティングデバイスにおいて解析され得る。そのような情報は、図2Bに示されるように、ジェスチャ認識システムによって識別されるフレームワークまたは座標系内に記録され得る。次いで、座標系におけるモーションが、コンテンツのための座標系に一致させられてよく、表示されたコンテンツにおける移動は、フレームのストリームの解析によって識別される座標移動(coordinate movement)に一致する。さらなる実施形態および方法も使用されてよく、それらのうちのいくつかは以下でさらに説明される。
【００７１】
上述したように、325で、パンニング解除モーションが検出されて、ジェスチャムーブメントモードが終了される。しきい値226は、制御オブジェクト間の動きにおける許容変動の測定の文脈で上述されているが、たとえば、ユーザの手が静止位置に戻る、新しいジェスチャ位置に移動する、または単にリラックスする場合などに、パンニングモードを終了するために他の技法も使用されてよく、制御オブジェクトの位置における関連する移動の遠隔検出は、パンニングモードを終了するために使用され得る。したがって、複数の代替の動きが検出されて、パンニングモードを終了するためのトリガとして識別され得る。
【００７２】
さらなる代替として、z方向のしきい値を超える1つまたは両方の制御オブジェクトの除去もまた、上述のように、たとえ制御オブジェクトがこのモーションの間に同期されていても、パンニング解除モーションとして機能することができる。そのようなパンニング解除モーションを備えた実施形態は、ユーザのモーションの範囲を上回るコンテンツにわたって繰り返されるパンニングを可能にするために、さらに機能することができる。たとえば、コンテンツが、表示面に表示されるコンテンツの一部よりも何倍も大きい、大きなズーム付きのコンテンツにおいて、ユーザは、一方の端で、制御オブジェクトでパンニングモーションを開始することができる。これは、たとえば、パンニングモードで左端から右端に手を動かしているユーザでもよい。右端で、ユーザは、制御プレーンから制御オブジェクトを除去して、左端で制御プレーン内に制御オブジェクトを再び配置することができる。このように、ユーザは、パンニングモードを繰り返し開始および解除することによって、およびパンニングモードが係合されている間にコンテンツをパンすることによって、コンテンツにわたって同じ方向に繰り返しパンすることができる。特定の実施形態では、zモーションはいくつかの絶対しきい値よりも大きくなければならない場合があり、またはzモーションはz方向に一定の速度を伴う必要がある場合がある。たとえば、ユーザがゆっくりと後方に両手を動かしている場合、その動きは、解除コマンドとして識別されない場合があるが、迅速な後方へのモーションまたは急な後方は、パンニングモードを解除することができる。そのような実施形態では、遠隔検出デバイスは、z方向の許容可能な絶対的なzモーションまたは速度が達成されるかどうかを決定するために使用され得る。
【００７３】
さらなる代替実施形態では、パンニングモードを解除するための入力は、動作またはジェスチャではない場合がある。パンニングモードを開始する入力と同様に、特定の実施形態では、パンニング解除は、ボイスコマンドによって、あるいは電子デバイス上のボタンまたは他の遠隔制御入力によって選択され得る。
【００７４】
特定の実施形態では、2つの制御オブジェクト間の分離は、特定のモーションが有効な入力または「ジェスチャ」であるかどうかを決定するために使用され得る。たとえば、ユーザがそれぞれの手で円を作っている場合、システムは、円が有効な入力または「ジェスチャ」を備えるかどうかを決定するために、手の間の分離を使用することができる。ユーザのモーションの速さまたはサイズが増加するにつれて、入力または「ジェスチャ」、あるいは「両手で行うジェスチャ」と見なされるべき手の間で許容される分離は、増加し得る。これによって、システムが、コンテンツ制御システムへの入力として意図されていないジェスチャと、コンテンツ制御システムへの入力として意図されているジェスチャとの間を区別することを可能にすることができる。システムは、一定の距離範囲にある制御オブジェクトの同期された動きを、コマンドジェスチャである可能性が最も高いものとして使用することができ、より小さい、あまり同期されていない動きを、コマンドジェスチャである可能性がより低いものとして識別することができる。そのような区別は、各個人のユーザの大きさおよび届く距離にさらに較正され得る。制御オブジェクト間の分離に基づくこれらの区別は、本明細書に記載のパンニングジェスチャのためだけではなく、コンテンツ制御システムのための任意の数の代替コマンドジェスチャで使用され得る。
【００７５】
図4は、人によって実行されるジェスチャを決定するためのシステム400の実施形態を示している。様々な代替実施形態では、システム400は、分散された構成要素間に実装されてもよく、図4に詳述されるモジュールを実装するための十分な処理能力がある内蔵コンピュータプロセッサを有する、セルラー電話などの単一のデバイスまたは装置に実装されてもよい。したがって、特定の実施形態では、システム400全体は、単一のコンピューティングデバイス600に実装されてよく、代替実施形態では、各要素は、図6に示されるコンピューティングデバイス600の組合せでもよく、またはその別個の要素でもよい。より一般的には、システム400は、人または制御オブジェクトの特定の部分を追跡するために使用され得る。たとえば、システム400は、人の手を追跡するために使用され得る。システム400は、人の片手または両手を同時に追跡するように構成され得る。システム400は、電子制御オブジェクトとユーザの手とを同時に追跡するように構成され得る。さらに、システム400は、複数の人の手を同時に追跡するように構成され得る。本明細書では、システム400は、人の手の位置を追跡するために使用されるものとして説明されているが、システム400は、頭、肩、胴体、脚等の、人の他の部分を追跡するように構成され得ることが理解されるべきである。システム400の手の追跡は、1人または複数の人によって行われるジェスチャを検出するために有用であり得る。いくつかの実施形態では、システム400自体は、人によって行われるジェスチャを決定することができず、実際の手の識別や追跡を実行することもできないが、システム400は、1つまたは複数の手の位置を出力することもでき、前景オブジェクトを含む可能性がある画素のサブセットを単に出力することもできる。1つまたは複数の手の位置は、1人または複数の人によって実行され得るジェスチャのために、ハードウェアまたはソフトウェアの別の部分に与えられてもよく、および/またはそれによって決定されてもよい。代替実施形態では、システム400は、ユーザの手に握られた、またはユーザの身体の一部に取り付けられた制御デバイスを追跡するように構成され得る。
【００７６】
システム400は、画像キャプチャモジュール410、処理モジュール420、コンピュータ可読記憶媒体430、ジェスチャ解析モジュール440、コンテンツ制御モジュール450、および表示出力モジュール460を含み得る。さらなる構成要素も存在し得る。たとえば、システム400は、コンピュータシステム、または、より一般的には、コンピュータ化されたデバイスの一部として組み込まれてよい。図6のコンピュータシステム600は、図4のシステム400に組み込まれ得る、ある潜在的なコンピュータシステムを示している。画像キャプチャモジュール410は、複数の画像をキャプチャするように構成され得る。画像キャプチャモジュール410はカメラでもよく、または、より具体的には、カメラ18またはカメラ118などのビデオカメラでよい。他の実施形態では、画像キャプチャモジュール410は、画像をキャプチャせずに動きを追跡する慣性センサまたは他のセンサを含む、本明細書に記載の任意の検出デバイスによって置換され得る。画像キャプチャモジュール410は、一連の画像をビデオフレームの形式でキャプチャすることができる。これらの画像は、1秒当たり30回など、周期的にキャプチャされ得る。画像キャプチャモジュール410によってキャプチャされた画像は、画像キャプチャモジュール410によって生成された画像の画素ごとに強度および深度値を含み得る。
【００７７】
画像キャプチャモジュール410は、その視野に(たとえば、シーンに)赤外線放射(IR)などの放射線を投影することができる。返される赤外線放射の強度は、各キャプチャされた画像に表される画像キャプチャモジュール410の画素ごとに強度値を決定するために使用され得る。投影された放射線はまた、深度情報を決定するために使用され得る。このように、画像キャプチャモジュール410は、シーンの3次元画像をキャプチャするように構成され得る。画像キャプチャモジュール410によって作成された画像の各画素は、深度値および強度値を有することができる。いくつかの実施形態では、画像キャプチャモジュールは放射線を投影しない場合があるが、その代わりに、画像をキャプチャするために、シーンに存在する光(または、より一般的には、放射線)に依存する場合がある。深度情報のために、画像キャプチャモジュール410は立体的でもよく(すなわち、画像キャプチャモジュール410は、2つの画像をキャプチャして、それらの画像を、深度情報を有する単一の画像に組み合わせることができる)、深度を決定するための他の技法を使用してもよい。
【００７８】
画像キャプチャモジュール410によってキャプチャされた画像は、処理モジュール420に与えられ得る。処理モジュール420は、画像キャプチャモジュール410から画像を取得するように構成され得る。処理モジュール420は、1つまたは複数の画像内に存在する1人または複数の人に属する1つまたは複数の手の位置を決定するために、画像キャプチャモジュール410から取得された画像のうちのいくつかまたはすべてを解析することができる。処理モジュール420は、ソフトウェア、ファームウェア、および/またはハードウェアを含み得る。処理モジュール420は、コンピュータ可読記憶媒体430と通信していてよい。処理モジュール420は、1つまたは複数のコンピューティングデバイス600内の1つまたは複数のプロセッサ610でよく、コンピュータ可読記憶媒体は1つまたは複数の記憶デバイス625、またはそのようなコンピューティングデバイス600のワーキングメモリ635でよい。コンピュータ可読記憶媒体430は、画像キャプチャモジュール410によってキャプチャされた画像の個々の画素のために作成された背景モデルおよび/または前景モデルに関連する情報を記憶するために使用され得る。画像キャプチャモジュール410による画像内でキャプチャされたシーンが静的である場合、第1の画像内および第2の画像内の同じ位置の画素が、同一のオブジェクトに対応することが予測される。一例として、第1の画像内の特定の画素にソファが存在する場合、第2の画像では、第2の画像の同じ特定の画素もソファに対応することが予測され得る。背景モデルおよび/または前景モデルは、取得された画像の画素のうちのいくつかまたはすべてについて作成され得る。また、コンピュータ可読記憶媒体430は、手(または、人の身体の他の何らかの部分)の位置を決定するために処理モジュール420によって使用される追加情報を記憶するように構成され得る。たとえば、コンピュータ可読記憶媒体430は、しきい値に関する情報(画素が前景または背景モデルの一部である確率を決定する際に使用され得る)を含んでもよく、および/または主要な構成要素解析を行う際に使用される情報を含んでもよい。
【００７９】
処理モジュール420は、ジェスチャ解析モジュール440などの別のモジュールに出力を与えることができる。ジェスチャ解析モジュール440は、1つまたは複数のプロセッサ610によって実行されるハードウェア、ソフトウェア、またはファームウェアの任意の組合せでよい。様々な実施形態では、ジェスチャ解析モジュール440は、処理モジュール420によって実行されるソフトウェアでよく、他の実施形態では、ジェスチャ解析モジュール440は、プロセッサ610を含む別個の専用ハードウェアを備えてよい。処理モジュール420は、2次元座標および/または3次元座標を、ジェスチャ解析モジュール440などの、別のソフトウェアモジュール、ハードウェアモジュール、またはファームウェアモジュールに出力することができる。処理モジュール420によって出力された座標は、検出された手(または、人の身体の他の何らかの部分)の位置を示すことができる。複数の手(同じ人の、または異なる人々の)が検出されると、複数のセットの座標が出力され得る。2次元座標は画像ベースの座標でよく、x座標およびy座標は画像内に存在する画素に対応する。3次元座標は、深度情報を組み込むことができる。座標は、少なくとも1つの手が配置される画像ごとに、処理モジュール420によって出力され得る。さらに、処理モジュール420は、さらなる処理のために、抽出された背景要素を有する可能性がある、および/または前景要素を含む可能性がある画素の、1つまたは複数のサブセットを出力することができる。
【００８０】
ジェスチャ解析モジュール440は、様々なタイプのジェスチャ決定システムのうちのいずれかでよい。ジェスチャ解析モジュール440は、人によって行われているジェスチャを決定するために、処理モジュール420によって出力された、2次元または3次元座標を使用するように構成され得る。このように、処理モジュール420は1つまたは複数の手の座標だけを出力することができ、実際のジェスチャ、および/またはそのジェスチャに応答してどの機能が実行されるべきかを決定することは、ジェスチャ解析モジュール440によって実行され得る。ジェスチャ解析モジュール440は、例示の目的のみで図4に示されていることが理解されるべきである。他の可能性は、ジェスチャ以外に、なぜ1人または複数のユーザの1つまたは複数の手が、追跡されることを所望され得るかという理由のために存在する。このように、ジェスチャ解析モジュール440以外の他の何らかモジュールは、人の身体の一部の位置を受信することができる。
【００８１】
コンテンツ制御モジュール450は、同様に、ソフトウェアモジュール、ハードウェアモジュール、またはファームウェアモジュールとして実装され得る。そのようなモジュールは、処理モジュール420に組み込まれてもよく、別個のコンピューティングデバイス内の別個の遠隔モジュールとして構築されてもよい。コンテンツ制御モジュール450は、ディスプレイに出力されるべきコンテンツを操作するための様々な制御を備え得る。そのような制御は、再生、一時停止、シーク、巻戻し、パン、およびズーム、または他の何らかのそのような類似の制御を含み得る。ジェスチャ解析モジュール440がパンニングモードを開始する入力を識別して、パンニングモードの一部として制御プレーンに沿って同期された動きをさらに識別すると、現時点で表示されているコンテンツの現在のコンテンツ位置を更新するために、コンテンツ制御モジュールにその動きが伝達され得る。
【００８２】
表示出力モジュール460は、ソフトウェアモジュール、ハードウェアモジュール、またはファームウェアモジュールとしてさらに実装され得る。そのようなモジュールは、コンテンツをユーザに提示する特定の出力ディスプレイに一致した命令を含むことができ、コンピューティングデバイス600の出力デバイス620と考えられ得る。コンテンツ制御モジュール450が、ジェスチャ解析モジュール440によって識別されたジェスチャコマンドを受信すると、表示出力モジュール460によってディスプレイに出力されているディスプレイ信号が、コンテンツを調整するために、リアルタイムに、またはほぼリアルタイムに修正され得る。
【００８３】
図5Aおよび図5Bは、ヘッドマウントデバイスの、ある潜在的な実施形態を説明している。特定の実施形態では、これらの図面に記載されているヘッドマウントデバイスは、ヘッドマウントデバイスを通じて仮想ディスプレイを与えるために、システムにさらに組み込まれてよく、表示は、眼鏡、または受動表示面から表示が発信されているという錯覚を与える他の出力ディスプレイに提示される。
【００８４】
図5Aは、ヘッドマウントデバイス10の実施形態に含まれ得る構成要素を示している。図5Bは、ヘッドマウントデバイス10がシステムの一部として動作することができる方法を示し、このシステムでは、センサアレイ500がモバイルプロセッサ507にデータを供給することができ、モバイルプロセッサ507は、本明細書に記載の様々な実施形態の動作を実行し、データをサーバ564に通信し、データをサーバ564から受信する。そのようなサーバは、1つまたは複数のコンピューティングデバイス600、あるいはともにネットワーク接続されたそのようなデバイスの任意の組合せを備え得る。ヘッドマウントデバイス10のプロセッサ507は、複数のプロセッサ(もしくは、マルチコアプロセッサ)を含んでもよく、コアプロセッサは、全体的な制御機能を実行することができるが、コプロセッサは、アプリケーションを実行し、アプリケーションプロセッサと呼ばれることがある点に留意されたい。コアプロセッサおよびアプリケーションプロセッサは、マルチコアプロセッサなど、同じマイクロチップパッケージ内、または別個のチップ内に構成されてもよい。また、プロセッサ507は、ワイヤレス通信(すなわち、モデムプロセッサ)、ナビゲーション(たとえば、GPS受信機内のプロセッサ)、およびグラフィックス処理(たとえば、グラフィックス処理ユニット、すなわち「GPU」)など、他の機能に関連付けられるプロセッサとともに、同じマイクロチップパッケージ内にパッケージ化されてもよい。代替実施形態では、プロセッサ507は、コンピューティングデバイス600の一部でよい、1つまたは複数のプロセッサ610を備え得る。
【００８５】
ヘッドマウントデバイス10は、インターネットへのアクセスを有するパーソナルコンピュータおよびモバイルデバイスなど、他のコンピューティングデバイスを含み得る、通信システムまたはネットワークと通信することができる。そのようなパーソナルコンピュータおよびモバイルデバイスは、アンテナ551と、送信機/受信機またはトランシーバ552と、プロセッサがワイヤレス通信ネットワークを介してデータを送受信することを可能にするためにプロセッサ507に結合されたアナログ-デジタル変換器553とを含み得る。たとえば、セルラー電話などのモバイルデバイスは、ワイヤレス通信ネットワーク(たとえば、Wi-Fi、またはセルラー電話データ通信ネットワーク)を介してインターネットにアクセスすることができる。そのようなワイヤレス通信ネットワークは、ゲートウェイ結合された複数の基地局、またはインターネットに結合されたインターネットアクセスサーバを含み得る。パーソナルコンピュータは、インターネットゲートウェイ(図示せず)を介するワイヤード接続によって、またはワイヤレス通信ネットワークによってなど、任意の従来の方法でインターネットに結合され得る。
【００８６】
図5Aを参照すると、ヘッドマウントデバイス10は、いくつかのソフトウェアモジュール510〜525で構成され、ディスプレイ540および音声出力550に接続され得る制御システムプロセッサ507に結合された、シーンセンサ500と音声センサ505とを含み得る。様々な実施形態では、センサおよびモジュールは、専用プロセッサ610およびワーキングメモリ635を有する別個のコンピューティングデバイス600として構築されてよく、他の実施形態では、センサおよびモジュールは、そのようなコンピューティングデバイス要素を共有することができる。ある実施形態では、プロセッサ507またはシーンセンサ500は、解剖学的特徴認識アルゴリズムを画像に適用して、1つまたは複数の解剖学的特徴を検出することができる。制御システムに関連付けられるプロセッサ507は、1つまたは複数のジェスチャを認識して、認識されたジェスチャを入力コマンドとして処理するために、検出された解剖学的特徴をレビューすることができる。たとえば、以下でより詳細に説明されるように、ユーザは、制御プレーンにわたる2つの制御オブジェクトの同期されたモーションを使用して、パンニングコマンドに対応する動きジェスチャを実行することができる。この例示的なジェスチャの認識に応答して、プロセッサ507は、パンニングモードを開始して、次いで、提示されたコンテンツの現在の位置を変更するために動かされた制御オブジェクトとしてディスプレイに提示されたコンテンツを調整することができる。
【００８７】
ステレオカメラ、配向センサ(たとえば、加速度計および電子コンパス)、および距離センサを含み得るシーンセンサ500は、3次元シーン情報を解釈するように構成され得るプロセッサ507内に実装されたシーンマネージャ510に、シーン関連データ(たとえば、画像)を供給することができる。様々な実施形態では、シーンセンサ500は、(後述のような)ステレオカメラと、距離センサとを含んでもよく、距離センサは、赤外線カメラのためにシーンを明るくするための赤外光放出器を含み得る。たとえば、図5Aに示される実施形態では、シーンセンサ500は、ステレオ画像を収集するためのステレオred-green-blue(RGB)カメラ503aと、構造化赤外光放出器503cによって供給され得る赤外光においてシーンを撮像するように構成された赤外線カメラ503bとを含み得る。構造化赤外光放出器は、赤外線カメラ503bによって撮像され得る赤外光のパルスを放出するように構成されてもよく、受信された画素の時間が記録され、飛行時間型計算を使用して画像要素までの距離を決定するために使用される。ステレオRGBカメラ503a、赤外線カメラ503b、および赤外線放出器503cは、総称してRGB-D(Dは距離(distance)を表す)カメラ503と呼ばれる場合がある。
【００８８】
シーンマネージャモジュール510は、ステレオカメラからの距離と、表面配向情報とを含む、画像内のオブジェクトの3次元再構成を生じるために、シーンセンサ500によって供給された距離測定値および画像をスキャンすることができる。ある実施形態では、シーンセンサ500、および、より具体的にはRGB-Dカメラ503は、ユーザおよびヘッドマウントデバイス10の視野に整合された方向を指すことができる。シーンセンサ500は、全身3次元モーションキャプチャおよびジェスチャ認識を提供することができる。シーンセンサ500は、単色CMOSセンサなどの、赤外線カメラ503cと組み合わされた赤外線放出器503cを有し得る。シーンセンサ500は、3次元ビデオデータをキャプチャするステレオカメラ503aをさらに含み得る。シーンセンサ500は、周囲光、日光、または完全な暗闇で動作することができ、本明細書に記載のRGB-Dカメラを含むことができる。シーンセンサ500は、近赤外(NIR)パルス照明構成要素、ならびに高速ゲーティング機構を備えた画像センサを含み得る。パルス信号は、画素ごとに収集され、そこからパルスが反射された位置に対応し得るものであり、キャプチャされた被写体上の対応する点までの距離を計算するために使用され得る。
【００８９】
別の実施形態では、シーンセンサ500は、画像内のオブジェクトの距離をキャプチャするために、たとえば超音波エコーロケーション、レーダ、立体画像の三角測量等の、他の距離測定技術(すなわち、異なるタイプの距離センサ)を使用することができる。シーンセンサ500は、測距カメラ、フラッシュLIDARカメラ、飛行時間型(ToF)カメラ、および/またはRGB-Dカメラ503を含んでもよく、これらのカメラは、レンジゲートToF検知、RF変調ToF検知、パルス光ToF検知、および投影光ステレオ検知のうちの少なくとも1つを使用して、オブジェクトまでの距離を決定することができる。別の実施形態では、シーンセンサ500は、ステレオカメラ503aを使用して、シーンのステレオ画像をキャプチャし、画像内に含まれているキャプチャされた画素の輝度に基づいて、距離を決定することができる。上述のように、一貫性のために、これらのタイプの距離測定センサおよび技法のいずれか1つまたはすべてを、本明細書では概して「距離センサ」と呼ぶ。異なる能力および分解能の複数のシーンセンサが、物理的環境のマップ作成、および、環境内のユーザの位置の正確な追跡を助けるために存在してもよい。
【００９０】
ヘッドマウントデバイス10はまた、マイクロフォンまたはマイクロフォンアレイなどの音声センサ505を含み得る。音声センサ505は、ヘッドマウントデバイス10が音声を記録して、音源の位置特定および周囲雑音抑圧を実施することを可能にする。音声センサ505は、音声をキャプチャして、音声信号を音声デジタルデータに変換することができる。制御システムに関連付けられるプロセッサは、音声デジタルデータをレビューし、スピーチ認識アルゴリズムを適用して、そのデータを検索可能なテキストデータに変換することができる。プロセッサはまた、ある認識されたコマンドまたはキーワードについて生成されたテキストデータをレビューし、認識されたコマンドまたはキーワードを入力コマンドとして使用して、1つまたは複数のタスクを実行することができる。たとえば、ユーザは、「パンニングモードを開始する」などのコマンドを話して、予測される制御プレーンに沿ってシステムに制御オブジェクトを検索させることができる。別の例として、ユーザは、「コンテンツを閉じる」と話して、ディスプレイ上のファイル表示コンテンツを閉じることができる。
【００９１】
ヘッドマウントデバイス10はディスプレイ540も含み得る。ディスプレイ540は、シーンセンサ500内のカメラによって取得された、またはヘッドマウントデバイス10内の、もしくはヘッドマウントデバイス10に結合されたプロセッサによって生成された画像を表示することができる。ある実施形態では、ディスプレイ540は、マイクロディスプレイであってもよい。ディスプレイ540は、完全にふさがれたディスプレイであってもよい。別の実施形態では、ディスプレイ540は、ユーザがそれを見通して周囲の部屋を見ることができる画面上に画像を表示することができる、半透明のディスプレイであってもよい。ディスプレイ540は、単眼またはステレオ(すなわち、双眼)構成で構成され得る。代替として、ヘッドマウントデバイス10は、頭部に着用されたヘルメットマウントディスプレイデバイス、またはヘルメットの一部であってもよく、片目の前(単眼)または両目の前(すなわち、双眼もしくはステレオディスプレイ)に小型ディスプレイ540光学素子を有してもよい。代替として、ヘッドマウントデバイス10はまた、2つのディスプレイユニット540を含んでもよく、ディスプレイユニット540は小型であり、陰極線管(CRT)ディスプレイ、液晶ディスプレイ(LCD)、液晶オンシリコン(LCos)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、単純な微小電気機械システム(MEMS)デバイスである干渉変調器(IMOD)素子に基づくミラソルディスプレイ、導光ディスプレイおよび導波ディスプレイ、ならびに、存在している、および開発され得る、他のディスプレイ技術のうちのいずれか1つまたは複数であってもよい。別の実施形態では、ディスプレイ540は、全体の総合分解能を高め、視界を拡大するために、複数のマイクロディスプレイ540を備え得る。
【００９２】
ヘッドマウントデバイス10はまた、音声出力デバイス550を含んでもよく、音声出力デバイス550は、音声を出力するための、参照番号550として総称して示されるヘッドフォンおよび/またはスピーカであってもよい。ヘッドマウントデバイス10はまた、制御機能をヘッドマウントデバイス10に与えて、ならびに、仮想オブジェクトなどの画像を生成することができる、1つまたは複数のプロセッサも含み得る。たとえば、デバイス10は、コアプロセッサ、アプリケーションプロセッサ、グラフィックスプロセッサ、およびナビゲーションプロセッサを含み得る。代替として、ヘッドマウントデバイス10は、スマートフォンまたは他のモバイルコンピューティングデバイス内のプロセッサなど、別個のプロセッサに結合され得る。ビデオ/音声出力は、プロセッサによって、または、ヘッドマウントデバイス10に(ワイヤもしくはワイヤレスネットワークを介して)接続されるモバイルCPUによって処理され得る。ヘッドマウントデバイス10はまた、シーンマネージャブロック510、ユーザ制御ブロック515、表面マネージャブロック520、音声マネージャブロック525、および情報アクセスブロック530を含んでもよく、これらのブロックは、個別の回路モジュールであってもよく、または、ソフトウェアモジュールとしてプロセッサ内に実装されてもよい。ヘッドマウントデバイス10は、ローカルメモリと、遠隔メモリ555からデジタルデータを受信するために、他のデバイスまたはローカルのワイヤレスもしくはワイヤードネットワークと通信するための、ワイヤレスまたはワイヤードインターフェースとをさらに含み得る。システム内で遠隔メモリ555を使用することで、デバイス内のメモリチップおよび回路基板を減らすことによって、ヘッドマウントデバイス10をより軽量になり得るようにすることができる。
【００９３】
コントローラのシーンマネージャブロック510は、シーンセンサ500からデータを受信して、物理的環境の仮想表現を構築することができる。たとえば、レーザを使用して、室内のオブジェクトから反射され、カメラにおいてキャプチャされるレーザ光を放出することができ、光の往復時間が、室内の様々なオブジェクトおよび表面までの距離を計算するために使用される。そのような距離測定値を使用して、室内のオブジェクトの位置、サイズ、および形状を決定し、シーンのマップを生成することができる。マップが編成されると、シーンマネージャブロック510は、そのマップを他の生成されたマップにリンクして、あらかじめ定められたエリアのより大きいマップを形成することができる。ある実施形態では、シーンおよび距離データが、サーバまたは他のコンピューティングデバイスに伝送されてよく、サーバまたは他のコンピューティングデバイスは、いくつかのヘッドマウントデバイスから(および、ユーザがシーン内で動き回った時間にわたって)受信された画像、距離、およびマップデータに基づいて、融合または統合されたマップを生成することができる。そのような統合されたマップデータは、ヘッドマウントデバイスプロセッサへのワイヤレスデータリンクを介して利用可能にされる。
【００９４】
他のマップは、インスタントデバイスによって、もしくは他のヘッドマウントデバイスによってスキャンされたマップであってもよく、クラウドサービスから受信されてもよい。シーンマネージャ510は、シーンセンサ500からのデータに基づいて表面を識別して、ユーザの現在位置を追跡することができる。ユーザ制御ブロック515は、たとえば、音声コマンド、ジェスチャ、および入力デバイス(たとえば、キーボード、マウス)などの、システムへのユーザ制御入力を収集することができる。ある実施形態では、ユーザ制御ブロック515は、シーンマネージャ510によって識別されたユーザ身体部分の動きを解釈するために、ジェスチャ辞書を含み、またはジェスチャ辞書にアクセスするように構成され得る。上述のように、ジェスチャ辞書は、突くこと、軽くたたくこと、タップ、押すこと、案内、フリック、ターン、回転、つかんで引くこと、画像をパンするために両手のひらを開くこと、描画(たとえば、フィンガーペインティング)、指で形状を作ること、およびスワイプを含み得る、ジェスチャを認識するための動きデータまたはパターンを記憶することができ、それらのジェスチャのすべては、生成された表示内の仮想オブジェクトの見かけの位置で、または見かけの位置にごく接近して達成され得る。ユーザ制御ブロック515はまた、複合コマンドを認識することもできる。これには、2つまたはそれ以上のコマンドが含まれ得る。たとえば、ジェスチャ、およびサウンド(たとえば、拍手)またはボイス制御コマンド(たとえば、「OK」、操作を確認するために行われ、ボイスコマンドまたは口頭の言葉とともに組み合わされた、検出された手のジェスチャ)である。ユーザ制御515が識別される場合、コントローラは、デバイス10の別のサブ構成要素に要求を与えることができる。
【００９５】
ヘッドマウントデバイス10はまた、表面マネージャブロック520も含み得る。表面マネージャブロック520は、キャプチャされた画像(シーンマネージャブロック510によって管理される)と、距離センサからの測定値とに基づいて、シーン内の表面の位置を連続的に追跡することができる。表面マネージャブロック520はまた、キャプチャされた画像内の表面上にアンカーされる仮想オブジェクトの位置を連続的に更新することもできる。表面マネージャブロック520は、アクティブな表面およびウィンドウを担当することができる。音声マネージャブロック525は、音声入力および音声出力のための制御命令を与えることができる。音声マネージャブロック525は、ヘッドフォンおよびスピーカ550に送出される音声ストリームを構築することができる。
【００９６】
情報アクセスブロック530は、デジタル情報へのアクセスを仲介するための制御命令を与えることができる。データは、ヘッドマウントデバイス10上のローカルメモリ記憶媒体上に記憶され得る。データはまた、アクセス可能なデジタルデバイス上の遠隔データ記憶媒体555上に記憶されてもよく、またはデータは、ヘッドマウントデバイス10によってアクセス可能な分散クラウド記憶メモリ上に記憶されてもよい。情報アクセスブロック530は、メモリ、ディスク、遠隔メモリ、クラウドコンピューティングリソース、または内蔵メモリ555であってもよい、データストア555と通信する。
【００９７】
図6は、1つまたは複数の実施形態が実装され得るコンピューティングシステムの例を示している。図6に示されるコンピュータシステムは、図4および図5における、以前に説明したコンピュータ化されたデバイスの一部として組み込まれ得る。様々な実施形態によるシステムの任意の構成要素は、様々なカメラ、ディスプレイ、HMD、および処理デバイスを含む、図6によって説明されるコンピュータシステムを含み得る。図6は、本明細書に記載の様々な他の実施形態によって提供される方法を実行することができる、および/またはホストコンピュータシステム、遠隔キオスク/端末、ポイントオブセールデバイス、モバイルデバイス8などのモバイルデバイス、HMD10などのHMD、コンピューティングデバイス108、カメラ18または118、電子制御デバイス、ならびに/あるいはコンピュータシステムとして機能することができる、コンピュータシステム600の一実施形態の概略図を提供する。図6は、様々な構成要素の一般図を提供するためにのみ意図されており、それらの構成要素のいずれかまたはすべては必要に応じて利用され得る。したがって、図6は、個々のシステム要素が、比較的分離された、または比較的より統合された方法で、実装され得る方法を広範に示している。
【００９８】
コンピュータシステム600は、バス605を介して電気的に結合され得る(または、そうでなければ、必要に応じて通信している)ハードウェア要素を備えるように示されている。ハードウェア要素は、これに限定されないが、1つまたは複数の汎用プロセッサ、および/あるいは1つまたは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックス加速プロセッサ、および/または同等物など)を含む1つまたは複数のプロセッサ610、これに限定されないが、マウス、キーボード、および/または同等物を含み得る1つまたは複数の入力デバイス615、ならびに、これに限定されないが、ディスプレイデバイス、プリンタ、および/または同等物を含み得る1つまたは複数の出力デバイス620を含み得る。バス605は、プロセッサ610のうちの2つまたはそれ以上、あるいは単一のプロセッサまたは複数のプロセッサの複数のコアを結合することができる。プロセッサ610は、様々な実施形態において、処理モジュール420またはプロセッサ507に相当してよい。特定の実施形態では、プロセッサ610は、モバイルデバイス8、テレビジョンディスプレイ114、カメラ18、コンピューティングデバイス108、HMD10、あるいは、任意のデバイスまたは本明細書に記載のデバイスの要素に含まれてよい。
【００９９】
コンピュータシステム600は、これに限定されないが、ローカルおよび/またはネットワークアクセス可能ストレージを備え得る、1つまたは複数の非一時的記憶デバイス625をさらに含んで(および/または、それと通信して)もよく、ならびに/あるいは、これに限定されないが、プログラム可能な、フラッシュ更新可能な、および/または同等の、ディスクドライブ、ドライブアレイ、光記憶デバイス、ランダムアクセスメモリ(「RAM」)および/または読出し専用メモリ(「ROM」)などのソリッドステート記憶デバイスを含んでもよい。そのような記憶デバイスは、これに限定されないが、様々なファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータストアを実装するように構成され得る。
【０１００】
コンピュータシステム600はまた、これに限定されないが、モデム、ネットワークカード(ワイヤレスまたはワイヤード)、赤外線通信デバイス、ワイヤレス通信デバイス、および/またはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、Wi-Fiデバイス、WiMaxデバイス、セルラー通信設備など)、ならびに/あるいは同様の通信インターフェースを含み得る、通信サブシステム630を含み得る。通信サブシステム630は、ネットワーク(一例を挙げると、以下で説明するネットワークなど)、他のコンピュータシステム、および/または本明細書に記載の他の任意のデバイスとデータを交換することを可能にすることができる。多くの実施形態では、コンピュータシステム600は、上述のように、RAMデバイスまたはROMデバイスを含み得る、非一時的ワーキングメモリ635をさらに備える。
【０１０１】
コンピュータシステム600は、現在ワーキングメモリ635内に配置されているように示されており、オペレーティングシステム640、デバイスドライバ、実行可能ライブラリ、および/またはその他のコードを含み、その他のコードとしては、様々な実施形態によって実現されるコンピュータプログラムを含んでよく、および/あるいは本明細書に記載されるように、他の実施形態によって実現される方法の実施および/またはシステムの構成を行うように設計されてよい、1つもしくは複数のアプリケーションプログラム645などが挙げられる、ソフトウェア要素を備えてもよい。単に一例として、上述の方法に関して説明した1つまたは複数の手順は、コンピュータ(および/もしくはコンピュータ内のプロセッサ)によって実行可能なコードあるいは/または命令として実装されてよく、その場合、ある態様では、そのようなコードおよび/または命令を使用して、汎用コンピュータ(または他のデバイス)を、上述の方法に従って1つまたは複数の動作を実行するように構成および/あるいは適合することができる。
【０１０２】
これらの命令および/またはコードのセットは、上述の記憶デバイス625などの、コンピュータ可読記憶媒体上に記憶されてよい。いくつかの場合において、記憶媒体はコンピュータシステム600などのコンピュータシステム内に組み込まれてよい。他の実施形態では、記憶媒体は、コンピュータシステム(たとえば、コンパクトディスクなどのリムーバブル媒体)から分離されてもよく、ならびに/あるいは記憶媒体を使用して、記憶された命令/コードによる汎用コンピュータのプログラムの構成および/または適合を行うことができるように、インストールパッケージで提供されてもよい。これらの命令は、コンピュータシステム600によって実行可能である実行可能コードの形をとってよく、ならびに/あるいは(たとえば、一般に利用可能な様々なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用して)コンピュータシステム600上でのコンパイルおよび/もしくはインストール時に実行可能コードの形をとる、ソースコードならびに/またはインストール可能コードの形をとってよい。
【０１０３】
特定の要件に従って実質的な変形が行われてよい。たとえば、カスタマイズされたハードウェアが使用されてもよく、ならびに/あるいは特定の要素がハードウェア、ソフトウェア(アプレットなどのようなポータブルソフトウェアを含む)、またはその両方に実装されてもよい。さらに、特定の機能性を提供するハードウェアおよび/またはソフトウェア構成要素は、(特殊な構成要素を有する)専用システムを備えてもよく、より一般的なシステムの一部でもよい。たとえば、コンテキスト支援サーバ140によるアクティビティの選択に関連する、本明細書に記載の特徴のうちのいくつかまたはすべてを提供するように構成されたアクティビティ選択サブシステムは、特殊な(たとえば、特定用途向け集積回路(ASIC)、ソフトウェア技法等)、または一般的な(たとえば、プロセッサ610、アプリケーション645等)、ハードウェアおよび/またはソフトウェアを備え得る。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が使用され得る。
【０１０４】
いくつかの実施形態は、コンピュータシステム(コンピュータシステム600など)を使用して、本開示による方法を実行してよい。たとえば、説明された方法の手順のうちのいくつかまたはすべては、プロセッサ610がワーキングメモリ635に含まれる(オペレーティングシステム640、および/またはアプリケーションプログラム645などの他のコードに組み込まれ得る)1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、コンピュータシステム600によって実行され得る。そのような命令は、記憶デバイス625のうちの1つまたは複数などの別のコンピュータ可読媒体からワーキングメモリ635に読み込まれてよい。単に一例として、ワーキングメモリ635に含まれる命令のシーケンスの実行によって、プロセッサ610に、本明細書に記載の方法の1つまたは複数の手順を実行させることができる。
【０１０５】
「機械可読媒体(machine-readable medium)」および「コンピュータ可読媒体(computer-readable medium)」という用語は、本明細書で使用される場合、ある機械を特定の方式で動作させるデータの供給に関与する任意の媒体を指す。コンピュータシステム600を使用して実装される実施形態では、様々なコンピュータ可読媒体が、命令/コードを実行できるようにプロセッサ610に供給することに関与してよく、ならびに/あるいはそのような命令/コード(たとえば、信号)を記憶および/または搬送するために使用されてよい。多くの実装形態では、コンピュータ可読媒体は、物理記憶媒体および/または有形記憶媒体である。そのような媒体は、これに限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形をとってよい。不揮発性媒体には、たとえば、記憶デバイス625などの光ディスクおよび/または磁気ディスクが含まれる。揮発性媒体には、これに限定されないが、ワーキングメモリ635などのダイナミックメモリが含まれる。伝送媒体には、これに限定されないが、同軸ケーブル、バス605を備えるワイヤを含む銅線および光ファイバ、ならびに通信サブシステム630の様々な構成要素(および/または、通信サブシステム630が他のデバイスとの通信を提供する、媒体)が含まれる。したがって、伝送媒体はまた、波の形態(これに限定されないが、無線波および赤外線データ通信中に生成されるものなどの、無線、音波および/または光波を含む)をとることができる。そのようなメモリは、モバイルデバイス8、テレビジョンディスプレイ114、カメラ18、コンピューティングデバイス108、HMD10、または本明細書に記載の任意のデバイスまたはデバイスの要素で使用され得る。同様に、ジェスチャ解析モジュール440またはコンテンツ制御モジュール450などのモジュール、あるいは本明細書に記載の他の任意のそのようなモジュールは、そのようなメモリに記憶された命令によって実装され得る。
【０１０６】
一般的な形態の物理コンピュータ可読媒体および/または有形コンピュータ可読媒体には、たとえば、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または他の任意の磁気媒体、CD-ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジ、後述される搬送波、あるいはコンピュータが命令および/またはコードを読み取ることができる他の任意の媒体が含まれる。
【０１０７】
様々な形態のコンピュータ可読媒体が、実行のために、プロセッサ610への1つまたは複数の命令の1つまたは複数のシーケンスを搬送することに関与してよい。単に一例として、命令は最初に、遠隔コンピュータの磁気ディスクおよび/または光ディスク上に搬送され得る。遠隔コンピュータは、命令を遠隔コンピュータのダイナミックメモリにロードして、その命令をコンピュータシステム600によって受信および/または実行されるべき信号として伝送媒体を介して送信できる。電磁信号、音響信号、光信号、および/または同様の形態でよいこれらの信号は、すべて様々な実施形態に従って命令が符号化され得る搬送波の例である。
【０１０８】
一般に通信サブシステム630(および/またはその構成要素)が信号を受信して、次いでバス605が信号(および/または信号によって搬送されるデータ、命令等)をワーキングメモリ635に搬送し、そこからプロセッサ610が命令を取り込んで実行する。ワーキングメモリ635によって受信された命令は、任意で、プロセッサ610によって実行される前または実行された後に、非一時的記憶デバイス625上に記憶されてよい。
【０１０９】
上記で論じた方法、システム、およびデバイスは、例である。様々な実施形態は、必要に応じて、様々な手順または構成要素を省略、置換、または追加することができる。たとえば、代替構成では、記載される方法は、記載される順序とは異なる順序で実行されてもよく、ならびに/あるいは様々なステージが追加、省略、および/または組み合わされてよい。また、特定の実施形態に関して説明される特徴が、他の様々な実施形態と組み合わされてもよい。実施形態の異なる態様および要素を同様の方法で組み合わせることができる。また、技術は進化しており、したがって要素の多くは例であり、本開示の範囲をそれらの具体的な例に限定しない。
【０１１０】
実施形態の完全な理解を提供するために、説明において具体的な詳細が示されている。しかしながら、実施形態は、これらの具体的な詳細なしに実践することができる。たとえば、実施形態を不明瞭にすることを避けるために、よく知られている回路、プロセス、アルゴリズム、構造、および技法は、不要な詳細なしに示されている。この説明は、例示的な実施形態のみを提供し、本発明の範囲、適用可能性、または構成を限定することを意図するものではない。むしろ、実施形態についての上述の説明は、当業者に、本発明の実施形態を実装するための有用な説明を与える。本発明の趣旨または範囲から逸脱することなしに、要素の機能および構成に様々な変更を行うことができる。
【０１１１】
また、いくつかの実施形態は、処理矢印付きのフローにおいて示されるプロセスとして説明された。各実施形態は動作を逐次プロセスとして記述し得るが、動作の多くを並行に、または同時に実行することができる。さらに、動作の順序は並び替えられ得る。プロセスは、図に含まれていない追加のステップを有してよい。さらに、方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装されると、関連付けられるタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に記憶され得る。プロセッサは関連付けられるタスクを実行し得る。
【０１１２】
いくつかの実施形態について説明してきたが、様々な変更、代替構造、および均等物は、本開示の趣旨から逸脱することなしに使用され得る。たとえば、上記の要素は、単により大きいシステムの構成要素であってよく、他のルールは、本発明の適用例に優先してよく、あるいは本発明の適用例を変更してよい。また、上記の要素が考慮される前、間、または後に、いくつかのステップを行うことができる。したがって、上記の説明は、本開示の範囲を制限しない。
【符号の説明】
【０１１３】
6  ユーザ
8  モバイルコンピューティングデバイス
10  ヘッドマウントデバイス(HMD)
12  カメラの視野
14  ディスプレイ
16  表面
18  カメラ
19  視野
20  制御オブジェクト
108  コンピューティングデバイス
114  テレビジョンディスプレイ
118  カメラ
130  第1の制御オブジェクト
140  第2の制御オブジェクト
140  コンテキスト支援サーバ
210  ユーザ
214  コンテンツ表面
215  コンテンツ部分
220  同期された関連位置
222  xしきい値
224  yしきい値
226  しきい値
230  第1の制御オブジェクト
240  第2の制御オブジェクト
400  システム
410  画像キャプチャモジュール
420  処理モジュール
430  コンピュータ可読記憶媒体
440  ジェスチャ解析モジュール
450  コンテンツ制御モジュール
460  表示出力モジュール
500  センサアレイ
500  シーンセンサ
503  RGB-Dカメラ
503a  ステレオRGBカメラ
503b  赤外線カメラ
503c  赤外線放出器
503c  構造化赤外光放出器
505  音声センサ
507  モバイルプロセッサ
507  制御システムプロセッサ
510  シーンマネージャ
510  シーンマネージャモジュール
510  シーンマネージャブロック
515  ユーザ制御ブロック
520  表面マネージャブロック
525  音声マネージャブロック
530  情報アクセスブロック
510〜525  ソフトウェアモジュール
540  ディスプレイ
550  音声出力デバイス
550  ヘッドフォンおよびスピーカ
551  アンテナ
552  送信機/受信機またはトランシーバ
553  アナログ-デジタル変換器
555  遠隔メモリ
555  遠隔データ記憶媒体
555  内蔵メモリ
555  データストア
564  サーバ
600  コンピュータシステム
600  コンピューティングデバイス
600  コンピューティングシステム
605  バス
610  プロセッサ
615  入力デバイス
620  出力デバイス
625  非一時的記憶デバイス
625  記憶デバイス
630  通信サブシステム
635  ワーキングメモリ
640  オペレーティングシステム
645  アプリケーション
645  アプリケーションプログラム
【図１Ａ】
0006445515.tif 000002
【図１Ｂ】
0006445515.tif 000003
【図１Ｃ】
0006445515.tif 000004
【図２Ａ】
0006445515.tif 000005
【図２Ｂ】
0006445515.tif 000006
【図２Ｃ】
0006445515.tif 000007
【図３】
0006445515.tif 000008
【図４】
0006445515.tif 000009
【図５Ａ】
0006445515.tif 000010
【図５Ｂ】
0006445515.tif 000011
【図６】
0006445515.tif 000012