(57)【特許請求の範囲】
【請求項１】
共有プレゼンテーション体験において視覚表現をレンダリングする方法であって、
情報のプレゼンテーションをレンダリングするステップと、
物理空間のデーターを取り込むステップであって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、ステップと、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定するステップと、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスするステップであって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、ステップと、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定するステップと、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定するステップと、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングするステップであって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、ステップと、
を含む、方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第２のユーザーの識別を決定するステップと、
前記取り込まれた物理空間のデーターに基づいて前記情報のプレゼンテーションを受ける要求を示す動きまたはポーズを前記第２のユーザーが行ったと決定するステップと、
前記第２のユーザーの識別に基づいて前記第２のユーザーの電子メール・アドレスを決定するステップと、
前記第２のユーザーの動きまたはポーズに基づいて前記第２のユーザーに対し前記情報のプレゼンテーションを電子メールで知らせるステップと、
を含む、方法。
【請求項２】
共有プレゼンテーション体験において視覚表現をレンダリングする方法であって、
情報のプレゼンテーションをレンダリングするステップと、
物理空間のデーターを取り込むステップであって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、ステップと、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定するステップと、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスするステップであって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、ステップと、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定するステップと、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定するステップと、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングするステップであって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、ステップと、
を含む、方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて前記複数のユーザーのうちの第２のユーザーが注目していないあるいは警戒していないと決定するステップと、
前記第２のユーザーの注目していないあるいは警戒していないことを前記第１のユーザーに知らせるステップと、
を含む、方法。
【請求項３】
共有プレゼンテーション体験において視覚表現をレンダリングする方法であって、
情報のプレゼンテーションをレンダリングするステップと、
物理空間のデーターを取り込むステップであって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、ステップと、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定するステップと、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスするステップであって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、ステップと、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定するステップと、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定するステップと、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングするステップであって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、ステップと、
を含む、方法であって、更に、
前記情報のプレゼンテーションの現在の部分が大量のテキストを含むときに、前記取り込まれた物理空間のデーターに基づいて前記複数のユーザーのうちの第２のユーザーが注目していないあるいは警戒していないと決定するステップと、
前記情報のプレゼンテーションの今後の部分が大量のテキストを含むことを前記第１のユーザーに知らせるステップと、
を含む、方法。
【請求項４】
共有プレゼンテーション体験において視覚表現をレンダリングする方法であって、
情報のプレゼンテーションをレンダリングするステップと、
物理空間のデーターを取り込むステップであって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、ステップと、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定するステップと、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスするステップであって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、ステップと、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定するステップと、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定するステップと、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングするステップであって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、ステップと、
を含む、方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第２のユーザーの識別を決定するステップと、
前記取り込まれた物理空間のデーターに基づいて、前記第１のユーザーと前記第２のユーザーが互いに紹介しあったことを決定するステップと、
前記第１のユーザーの識別に基づいて前記第１のユーザーの連絡先情報を決定するステップと、
前記第２のユーザーの識別に基づいて前記第２のユーザーの連絡先情報を決定するステップと、
前記第１のユーザーと前記第２のユーザーが互いに紹介しあったことに基づいて、前記第１のユーザーの連絡先情報を前記第２のユーザーに送り、前記第２のユーザーの連絡先情報を前記第１のユーザーに送るステップと、
を含む、方法。
【請求項５】
共有プレゼンテーション体験において視覚表現をレンダリングする方法であって、
情報のプレゼンテーションをレンダリングするステップと、
物理空間のデーターを取り込むステップであって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、ステップと、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定するステップと、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスするステップであって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、ステップと、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定するステップと、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定するステップと、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングするステップであって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、ステップと、
を含む、方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第２のユーザーがある時間ジェスチャーをしなかったことを決定するステップと、
を含み、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングすることが、
前記第２のユーザーが何もしていないことの指示を前記第２のユーザーにレンダリングすること、
を含む、方法。
【請求項６】
請求項１〜５のいずれか一項に記載の方法において、前記少なくとも１つの視覚表現が、前記プレゼンテーションの一部と相互作用するアニメーションを介して、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、方法。
【請求項７】
請求項６に記載の方法において、前記少なくとも１つの視覚表現のアニメーションが、前記複数のユーザーのうち少なくとも一人のジェスチャーに対応する、方法。
【請求項８】
請求項６又は７に記載の方法であって、更に、アバター・ライブラリーから前記アニメーションを前記少なくとも１つの視覚表現に適用するステップを含む、方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法において、前記複数のユーザーの各々が、別個の視覚表現に対応する、方法。
【請求項１０】
請求項１〜８のいずれか一項に記載の方法において、前記複数のユーザーの各々が、同じ視覚表現に対応する、方法。
【請求項１１】
請求項１〜１０のいずれか一項に記載の方法において、前記少なくとも１つの視覚表現が、キャプチャー・デバイスによって検出されたユーザーの特徴に対応する、方法。
【請求項１２】
請求項１〜１１のいずれか一項に記載の方法において、前記複数のユーザーのうち少なくとも一人への前記プレゼンテーションの制御が、前記複数のユーザーのうち前記少なくとも一人に対応する前記視覚表現の特徴によって示すことができる、方法。
【請求項１３】
請求項１〜１２のいずれか一項に記載の方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第３のユーザーの識別を決定するステップと、
レンダリングされた前記情報のプレゼンテーションと相互作用する権限を前記第３のユーザーが欠いていることを決定するステップ、
を含み、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングすることが、
レンダリングされた前記情報のプレゼンテーションと相互作用する権限を前記第３のユーザーが欠いていることの指示を、前記第３のユーザーにレンダリングすること、
を含む、方法。
【請求項１４】
請求項１〜１２のいずれか一項に記載の方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第３のユーザーの識別を決定するステップと、
前記取り込まれた物理空間のデーターにおける前記第３ユーザーの位置に基づき、前記第３のユーザーがレンダリングされた前記情報のプレゼンテーションと相互作用するアクセス・レベルを決定するステップ、
を含む、方法。
【請求項１５】
請求項１〜１２のいずれか一項に記載の方法であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第３のユーザーの識別を決定するステップと、
前記取り込まれた物理空間のデーターに基づいて、レンダリングされた前記情報のプレゼンテーションと相互作用する制御を、前記第３のユーザーが要求したことを決定するステップと、
前記要求に応答して、レンダリングされた前記情報のプレゼンテーションと相互作用する制御を前記第３のユーザーに与えるステップと、
を含む、方法。
【請求項１６】
請求項１〜１５のいずれか一項に記載の方法を実行するためのプログラム。
【請求項１７】
請求項１〜１５のいずれか一項に記載の方法を実行するためのプログラムを記録した記録媒体。
【請求項１８】
共有プレゼンテーション体験において視覚表現をレンダリングする装置であって、
情報のプレゼンテーションをレンダリングする手段と、
物理空間のデーターを取り込む手段であって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、手段と、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定する手段と、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスする手段であって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、手段と、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定する手段と、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定する手段と、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングする手段であって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、手段と、
を含む、装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第２のユーザーの識別を決定する手段と、
前記取り込まれた物理空間のデーターに基づいて前記情報のプレゼンテーションを受ける要求を示す動きまたはポーズを前記第２のユーザーが行ったと決定する手段と、
前記第２のユーザーの識別に基づいて前記第２のユーザーの電子メール・アドレスを決定する手段と、
前記第２のユーザーの動きまたはポーズに基づいて前記第２のユーザーに対し前記情報のプレゼンテーションを電子メールで知らせる手段と、
を含む、装置。
【請求項１９】
共有プレゼンテーション体験において視覚表現をレンダリングする装置であって、
情報のプレゼンテーションをレンダリングする手段と、
物理空間のデーターを取り込む手段であって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、手段と、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定する手段と、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスする手段であって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、手段と、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定する手段と、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定する手段と、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングする手段であって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、手段と、
を含む、装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて前記複数のユーザーのうちの第２のユーザーが注目していないあるいは警戒していないと決定する手段と、
前記第２のユーザーの注目していないあるいは警戒していないことを前記第１のユーザーに知らせる手段と、
を含む、装置。
【請求項２０】
共有プレゼンテーション体験において視覚表現をレンダリングする装置であって、
情報のプレゼンテーションをレンダリングする手段と、
物理空間のデーターを取り込む手段であって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、手段と、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定する手段と、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスする手段であって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、手段と、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定する手段と、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定する手段と、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングする手段であって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、手段と、
を含む、装置であって、更に、
前記情報のプレゼンテーションの現在の部分が大量のテキストを含むときに、前記取り込まれた物理空間のデーターに基づいて前記複数のユーザーのうちの第２のユーザーが注目していないあるいは警戒していないと決定する手段と、
前記情報のプレゼンテーションの今後の部分が大量のテキストを含むことを前記第１のユーザーに知らせる手段と、
を含む、装置。
【請求項２１】
共有プレゼンテーション体験において視覚表現をレンダリングする装置であって、
情報のプレゼンテーションをレンダリングする手段と、
物理空間のデーターを取り込む手段であって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、手段と、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定する手段と、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスする手段であって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、手段と、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定する手段と、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定する手段と、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングする手段であって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、手段と、
を含む、装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第２のユーザーの識別を決定する手段と、
前記取り込まれた物理空間のデーターに基づいて、前記第１のユーザーと前記第２のユーザーが互いに紹介しあったことを決定する手段と、
前記第１のユーザーの識別に基づいて前記第１のユーザーの連絡先情報を決定する手段と、
前記第２のユーザーの識別に基づいて前記第２のユーザーの連絡先情報を決定する手段と、
前記第１のユーザーと前記第２のユーザーが互いに紹介しあったことに基づいて、前記第１のユーザーの連絡先情報を前記第２のユーザーに送り、前記第２のユーザーの連絡先情報を前記第１のユーザーに送る手段と、
を含む、装置。
【請求項２２】
共有プレゼンテーション体験において視覚表現をレンダリングする装置であって、
情報のプレゼンテーションをレンダリングする手段と、
物理空間のデーターを取り込む手段であって、前記取り込まれた物理空間のデーターが、前記物理空間における複数のユーザーを表す、手段と、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第１のユーザーの識別を決定する手段と、
前記第１のユーザーの識別に基づき、前記第１のユーザーの格納されたユーザー・プロファイルにアクセスする手段であって、前記格納されたユーザー・プロファイルが、前記情報のプレゼンテーションを提示するために前記第１のユーザーがアクセスを有するかどうかを示す、手段と、
前記格納されたユーザー・プロファイルに基づき前記第１のユーザーが前記情報のプレゼンテーションを提示するためにアクセスを有することを決定する手段と、
前記第１のユーザーが前記プレゼンテーションを提示するためにアクセスを有することの決定に基づいて、レンダリングされた前記情報のプレゼンテーションを前記第１のユーザーが制御できることを決定する手段と、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングする手段であって、前記少なくとも１つの視覚表現が、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、手段と、
を含む、装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第２のユーザーがある時間ジェスチャーをしなかったことを決定する手段と、
を含み、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングすることが、
前記第２のユーザーが何もしていないことの指示を前記第２のユーザーにレンダリングすること、
を含む、装置。
【請求項２３】
請求項１８〜２２のいずれか一項に記載の装置において、前記少なくとも１つの視覚表現が、前記プレゼンテーションの一部と相互作用するアニメーションを介して、前記レンダリングされた情報のプレゼンテーションと相互作用するように構成された、装置。
【請求項２４】
請求項２３に記載の装置において、前記少なくとも１つの視覚表現のアニメーションが、前記複数のユーザーのうち少なくとも一人のジェスチャーに対応する、装置。
【請求項２５】
請求項２３又は２４に記載の装置であって、更に、アバター・ライブラリーから前記アニメーションを前記少なくとも１つの視覚表現に適用する手段を含む、装置。
【請求項２６】
請求項１８〜２５のいずれか一項に記載の装置において、前記複数のユーザーの各々が、別個の視覚表現に対応する、装置。
【請求項２７】
請求項１８〜２５のいずれか一項に記載の装置において、前記複数のユーザーの各々が、同じ視覚表現に対応する、装置。
【請求項２８】
請求項１８〜２７のいずれか一項に記載の装置において、前記少なくとも１つの視覚表現が、キャプチャー・デバイスによって検出されたユーザーの特徴に対応する、装置。
【請求項２９】
請求項１８〜２８のいずれか一項に記載の装置において、前記複数のユーザーのうち少なくとも一人への前記プレゼンテーションの制御が、前記複数のユーザーのうち前記少なくとも一人に対応する前記視覚表現の特徴によって示すことができる、装置。
【請求項３０】
請求項１８〜２９のいずれか一項に記載の装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第３のユーザーの識別を決定する手段と、
レンダリングされた前記情報のプレゼンテーションと相互作用する権限を前記第３のユーザーが欠いていることを決定する手段、
を含み、
前記複数のユーザーの各々に対応する少なくとも１つの視覚表現をレンダリングすることが、
レンダリングされた前記情報のプレゼンテーションと相互作用する権限を前記第３のユーザーが欠いていることの指示を、前記第３のユーザーにレンダリングすること、
を含む、装置。
【請求項３１】
請求項１８〜２９のいずれか一項に記載の装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第３のユーザーの識別を決定する手段と、
前記取り込まれた物理空間のデーターにおける前記第３ユーザーの位置に基づき、前記第３のユーザーがレンダリングされた前記情報のプレゼンテーションと相互作用するアクセス・レベルを決定する手段、
を含む、装置。
【請求項３２】
請求項１８〜２９のいずれか一項に記載の装置であって、更に、
前記取り込まれた物理空間のデーターに基づいて、前記複数のユーザーのうちの第３のユーザーの識別を決定する手段と、
前記取り込まれた物理空間のデーターに基づいて、レンダリングされた前記情報のプレゼンテーションと相互作用する制御を、前記第３のユーザーが要求したことを決定する手段と、
前記要求に応答して、レンダリングされた前記情報のプレゼンテーションと相互作用する制御を前記第３のユーザーに与える手段と、
を含む、装置。
【発明の詳細な説明】
【従来技術】
【０００１】
[0001]  コンピューター・ゲーム、マルチメディア・アプリケーション、オフィス・アプリケーション等のような計算アプリケーションの多くは、ゲーム・キャラクターまたはアプリケーションの他の態様を操作することをユーザーに行わせるために、制御部を使用する。通例、このような制御部は、例えば、コントローラー、リモコン、キーボード、マウス等を使用する入力である。例えば、プレゼンテーション管理では、通例、ユーザーがコントローラー・クリッカー(clicker)等と対話処理すること、および／または提示している計算デバイスと直接対話処理することを伴う。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
これらの制御方法には、種々の欠点がある。例えば、このような制御は習得するのが困難であり、ユーザーとこのようなゲームおよびアプリケーションとの間に障壁ができる可能性がある。コントローラーは、通例、ボタンの数が限られているので、限られたナビゲーションしか利用できず、コマンドのタイプは、異なるタイプおよび能力のクリッカー間で幅広く異なることもあり得る。プレゼンテーションしながらコントローラーを使用することは、聴衆にとって気が散る可能性がある。そして、複数のユーザー間でプレゼンテーションの制御を共有するためには、これらのユーザーは、各々がコントローラーにアクセスすることができ、および／またはコントローラーを操れなければならない。
【課題を解決するための手段】
【０００３】
[0002]  本明細書において開示するのは、ジェスチャー・ベースのシステムにおいて情報のプレゼンテーションを管理する技法であり、ジェスチャーは物理空間におけるユーザーの身体の位置および動きから得られる。ユーザーは、情報が提示される態様を制御するために、またそれ以外ではジェスチャー・ベース・システムと対話処理するためにジェスチャーを使用することができる。例えば、キャプチャー・デバイスは、ユーザーのジェスチャーを表すデーターを取り込むことができ、ジェスチャー認識技法を採用して、ジェスチャー・ベース・システムの態様を制御するために適用可能なジェスチャーを認識することができる。情報のプレゼンター(presenter)は、アバターまたは他の視覚表現を介して、プレゼンテーションの中に入り込むことができる。つまり、ユーザーは、情報のプレゼンテーションと対話処理することができる視覚表現の形態で、システムに埋め込まれる。プレゼンテーションの聴衆も同様にシステムに埋め込むことができる。つまり、プレゼンターおよび見物者双方を含む、システム・ユーザーの埋め込みによって、単純な情報の表示よりもインタラクティブな仮想関係をユーザー間に設ける。
【０００４】
[0003]  ユーザーは、システムの態様を制御するジェスチャーを使用して聴衆に情報を提示することができ、または複数のユーザーがジェスチャーを使用して一緒に作業を行い、システムの制御を共有することができる。つまり、実施形態の一例では、一人のユーザーがジェスチャーによって聴衆への情報のプレゼンテーションを制御することができる。他の実施形態の一例では、複数の参加者が、キャプチャー・デバイスによって取り込まれたジェスチャーを介して、プレゼンテーションの制御を共有することができ、またそうでなければシステムと対話処理してプレゼンテーションの態様を制御することができる。ジェスチャーは、種々のプレゼンテーション・フォーマットに適用可能にすることができる。実施形態の一例では、ジェスチャーは、非逐次フォーマット(non-sequential format)の情報を含むプレゼンテーション・アプリケーションの態様を制御する。
【０００５】
[0004]  この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使用されることを意図するのでもない。
【図面の簡単な説明】
【０００６】
[0005]  以上の摘要、および以下の実施形態例の詳細な説明は、添付図面と合わせて読むと一層深く理解することができる。本開示を例示するために、図面では、これらの実施形態の構造例が示される。しかしながら、実施形態は、開示される具体的な方法や手段に限定されるのではない。図面において、
【図１】図１は、ターゲット認識、分析、および追跡システムの一実施形態例を、ゲームをプレーするユーザーと共に示す。
【図２Ａ】図２Ａは、プレゼンテーション体験共有の一実施形態例を示す。
【図２Ｂ】図２Ｂは、プレゼンテーション体験共有の一実施形態例を示す。
【図２Ｃ】図２Ｃは、ターゲット認識、分析、および追跡システムの一例、ならびに物理空間における複数のユーザー、および各ユーザーの視覚表現の表示の一実施形態例を示す。
【図２Ｄ】図２Ｄは、側面からのターゲット認識、分析、および追跡システムの一例、ならびにポイントおよびフォーカス機能によって対話処理するユーザーの一実施形態例を示す。
【図２Ｅ】図２Ｅは、上面からのターゲット認識、分析、および追跡システムの一例、ならびにポイントおよびフォーカス機能によって対話処理するユーザーの一実施形態例を示す。
【図３】図３は、ネットワークを介したプレゼンテーションの共有制御の図である。
【図４】図４は、ターゲット認識、分析、および追跡システムにおいて使用することができるキャプチャー・デバイスの一実施形態例を示す。
【図５Ａ】図５Ａは、図３に示したようなターゲット認識、分析、および追跡システムから生成されたユーザーのスケルトン・マッピングを示す。
【図５Ｂ】図５Ｂは、図４に示したような、ジェスチャー認識アーキテクチャーの更なる詳細を示す。
【図６】図６は、共有プレゼンテーション体験を作り、物理空間において複数のユーザーを表す視覚表現を生成する方法の流れ図例を示す。
【図７】図７は、本明細書において記載する技法を具体化することができる計算環境の一実施形態例を示す。
【図８】図８は、本明細書において記載する技法を具体化することができる計算環境の他の実施形態例を示す。
【発明を実施するための形態】
【０００７】
[0017]  本明細書において開示するのは、ジェスチャーによって聴衆への情報のプレゼンテーションを管理する技法である。開示する実施形態の主題について、法的要件を満たすために具体性をもって説明する。しかしながら、説明自体は、本特許の範囲を限定することは意図していない。むしろ、本発明者は、特許請求する主題は、本文書において記載するエレメントと同様のエレメントを含むように、他の現在または今後の技術と関連付けて、他の方法で具現化することもできる。
【０００８】
[0018]  ジェスチャーは、物理空間におけるユーザーの位置および動きから得ることができ、走る、指を動かす、または静止姿勢というような、動的または静的な、任意のユーザーの動きを含むことができる。一実施形態例によれば、カメラのようなキャプチャー・デバイスが、ユーザー画像データーを取り込むことができ、このユーザー画像データーは、ユーザーのジェスチャー（１つまたは複数）を表すデーターを含む。ユーザーの三次元物理空間においてユーザーによって行われたジェスチャーを認識および分析して、ユーザーのジェスチャーを解釈してシステムまたはアプリケーション空間の態様を制御するために、コンピューター環境を使用することができる。このコンピューター環境は、ユーザーのジェスチャー（１つまたは複数）を画面上のアバターにマッピングすることによって、ユーザー・フィードバックを表示することができる。
【０００９】
[0019]  ジェスチャー・ベース・システムは、ジェスチャーを使用して情報のプレゼンテーションを管理または制御する技法を採用することができる。ユーザーは、その情報が提示される態様を制御するために、またそれ以外では、ジェスチャー・ベース・システムと対話処理するために、ジェスチャーを使用することができる。一実施形態例では、一人のユーザーが、ジェスチャーによって、聴衆への情報のプレゼンテーションを制御することができる。他の実施形態例では、複数の参加者が、キャプチャー・デバイスによって取り込まれたジェスチャーによって、プレゼンテーションの制御を共有することができ、またそれ以外では、プレゼンテーションの態様を制御するためにシステムと対話処理することができる。
【００１０】
[0020]  本プレゼンテーション管理のシステム、方法、技法、およびコンポーネントは、ゲーミング・コンソールのようなマルチメディア・コンソールにおいて具体化することができ、またはターゲットの視覚表現を表示することが望まれる他の任意の計算環境において具体化することができる。全く限定を意図しない一例として、この計算環境には、衛星受信機、セット・トップ・ボックス、アーケード・ゲーム、パーソナル・コンピューター（ＰＣ）、携帯電話、パーソナル・ディジタル・アシスタント（ＰＤＡ）、および他のハンドヘルド・デバイスが含まれる。
【００１１】
[0021]  図１は、ジェスチャーによって対話処理を可能にするジェスチャー・ベース・システムにユーザーを埋め込むために、開示される技法を採用することができる、ターゲット認識、分析、および追跡システム１０の構成の一実施形態例を示す。この実施形態例では、ユーザー１８がボーリング・ゲームをプレーしている。一実施形態例では、システム１０は、ユーザー１８のような人間のターゲットを認識、分析、および／または追跡することができる。システム１０は、物理空間におけるユーザーの動き、顔の表情、ボディー・ランゲージ、感情等に関する情報を収集することができる。例えば、本システムは、人間のターゲット１８を特定し、走査することができる。システム１０は、身体姿勢認識技法を使用して、人間のターゲット１８の身体タイプを特定することができる。システム１０は、ユーザー１８の身体部分を特定し、これらがどのように動くのか識別することができる。
【００１２】
[0022]  図１に示すように、ターゲット認識、分析、および追跡システム１０は、計算環境２１２を含むことができる。計算環境２１２は、マルチメディア・コンソール、パーソナル・コンピューター（ＰＣ）、ゲーミング・システムまたはコンソール、ハンドヘルド計算デバイス、ＰＤＡ、移動体電話機、クラウド・コンピューター、キャプチャー・デバイス等とすることができる。一実施形態例によれば、計算環境２１２は、アプリケーションを実行するために計算環境２１２を使用できるように、ハードウェア・コンポーネントおよび／またはソフトウェア・コンポーネントを含むことができる。アプリケーションとは、ワード・プロセッサー、表計算、メディア・プレーヤー、データーベース・アプリケーション、コンピューター・ゲーム、ビデオ・ゲーム、チャット、フォーラム、コミュニティ、インスタント・メッセージング等のような、ゲーミング・アプリケーションおよび非ゲーミング・アプリケーション双方を含む、この計算環境を動作させるプログラム、またはこの計算環境によって実行されるプログラムのうち任意のものとすることができる。
【００１３】
[0023]  図１に示すように、ターゲット認識、分析、および追跡システム１０は、キャプチャー・デバイス２０２を含むことができる。キャプチャー・デバイス２０２は、例えば、カメラとすることができ、ユーザー１８のような１人以上のユーザーを視覚的に監視するために使用することができ、アプリケーション内において１つ以上の制御または動作を実行するために、これら１人以上のユーザーによって行われるジェスチャーを取り込み、分析し、そして追跡できるようにする。図１に示す実施形態例では、仮想物体がボーリングのボールとなっており、ユーザーは、実際にボーリングのボールを扱うかのように、三次元物理空間において動く。この物理空間におけるユーザーのジェスチャーは、画面１４に表示されるボーリングのボール１７を制御することができる。実施形態例では、ユーザー１８のような人間のターゲットは実物の物体を実際に有することもできる。このような実施形態では、ジェスチャー・ベース・システムのユーザーは、ゲームのパラメーターを調節および／または制御するために当該プレーヤーおよび物体の動きを使用することができるように、ジェスチャー・ベース・システムのユーザーが物体を保持しているのであってもよい。例えば、ラケットを保持しているプレーヤーの動きを追跡して、電子スポーツ・ゲームにおける画面上のラケットを制御するために利用することができる。他の実施形態例では、物体を保持しているプレーヤーの動きを追跡して、電子戦闘ゲームにおいて画面上の兵器を制御するために利用することができる。
【００１４】
[0024]  一実施形態例によれば、ターゲット認識、分析、および追跡システム１０は、ユーザー１８のようなユーザーにゲームあるいはアプリケーションの表示および／またはオーディオをテレビジョン、モニター、高品位テレビジョン（ＨＤＴＶ）等のような、オーディオ・ビジュアル・デバイス１６に接続することができる。例えば、計算環境２１２は、ゲーム・アプリケーション、非ゲーム・アプリケーション等と関連のあるオーディオ・ビジュアル信号を供給することができる、グラフィクス・カードのようなビデオ・アダプター、および／またはサウンド・カードのようなオーディオ・アダプターを含むことができる。オーディオ・ビジュアル・デバイス１６は、計算環境２１２からオーディオ・ビジュアル信号を受け取り、次いでこのオーディオ・ビジュアル信号と関連のあるゲームまたはアプリケーションの表示および／またはオーディオをユーザー１８に出力することができる。一実施形態によれば、オーディオ・ビジュアル・デバイス１６は、例えば、Ｓ−Ｖｉｄｅｏケーブル、同軸ケーブル、ＨＤＭＩケーブル、ＤＶＩケーブル、ＶＧＡケーブル等を介して計算環境２１２に接続することもできる。
【００１５】
[0025]  本明細書において使用される場合、計算環境とは、１つの計算デバイスまたは計算システムを指すことができる。計算環境は、非計算コンポーネントを含んでもよい。本明細書において使用される場合、計算システム、計算デバイス、計算環境、コンピューター、プロセッサー、または他の計算コンポーネントは、相互交換可能に使用されてもよい。例えば、計算環境が、図１に示すターゲット認識、分析、および追跡システム１０全体を含むのであってもよい。計算環境は、オーディオ・ビジュアル・デバイス１６および／またはキャプチャー・デバイス２０２を含むこともできる。一例としてあげたオーディオ・ビジュアル・デバイス１６またはキャプチャー・デバイス２０２のいずれかまたは双方は、別個であるが計算環境に結合されているエンティティであってもよく、または、例えば、処理および表示を行う計算デバイスの一部であってもよい。つまり、計算環境は、取り込んだデーターを処理することができるプロセッサーを含む単体のキャプチャー・デバイスであってもよい。つまり、キャプチャー・デバイス２０２は、取り込んだデーターを処理するためだけではなく、データーを分析および格納し、そしてこのデーターを画面に出力する等のために装備されているのであってもよい。
【００１６】
[0026]  図１に示すように、ターゲット認識、分析、および追跡システム１０は、ユーザー１８のような人間のターゲットを認識、分析、および／または追跡するために使用することができる。例えば、ユーザー１８のジェスチャーを制御部として解釈し、コンピューター環境２１２によって実行されているアプリケーションに影響を及ぼすためにこれらを使用することができるように、キャプチャー・デバイス２０２を使用してユーザー１８を追跡することができる。つまり、一実施形態例によれば、ユーザー１８はアプリケーションを制御するために彼または彼女の身体を動かすことができる。システム１０は、ユーザーの身体、およびアプリケーション、オペレーティング・システム等のような、システムの態様を制御するジェスチャーを含む、ユーザーの身体によって行われる動きを追跡することができる。
【００１７】
[0027]  システム１０は、キャプチャー・デバイス２０２への入力を、アニメーションに変換することができ、この入力がユーザーの動きを表し、その入力によってアニメーションを動かすようにすることができる。つまり、ユーザーの動きは、アバターのような視覚表現にマッピングして、物理空間におけるユーザーの動きがアバターによってエミュレートされるようにすることができる。画像データーのフレームが取り込まれて表示されるレートは、視覚表現の表示される動きの連続性のレベルを決定することができる。
【００１８】
[0028]  図１は、ユーザー１８がプレーしているのであってもよいボーリング・ゲームとすることができる、計算環境２１２において実行しているアプリケーションの一実施形態例を示す。この例では、計算環境２１２は、オーディオ・ビジュアル・デバイス１６を使用して、ボーリング・アレイおよびボーリング・レーンの視覚表現をユーザー１８に与える。また、計算環境２１２は、オーディオ・ビジュアル・デバイス１６を使用して、プレーヤー・アバター１９の視覚表現も与えることができ、ユーザー１８は彼または彼女の動きで、このプレーヤー・アバター１９を制御することができる。ターゲット認識、分析、および追跡システム１０のコンピューター環境２１２ならびにキャプチャー・デバイス２０２は、ユーザーの三次元物理空間においてユーザー１８によって行われたジェスチャーを認識および分析するために使用され、ユーザーのジェスチャーを解釈してゲーム空間においてプレーヤー・アバター１９を制御することができるようになっている。例えば、図１に示すように、ユーザー１８は物理空間においてボーリングの動きを行うことによって、プレーヤー・アバター１９にゲーム空間においてボーリングの動きを行わせる。ユーザー１８による他の動きも、歩く、ボールを選択する、ボーリング・レーン上にアバターを位置付ける、ボールを振る等のための制御というような、制御または動作として解釈することができる。
【００１９】
[0029]  複数のユーザーが離れた場所から互いに対話処理することができる。計算環境２１２は、オーディオ・ビジュアル・デバイス１６を使用して、プレーヤー・アバターの視覚表現を提供することができ、他のユーザーはこのプレーヤー・アバターを、彼または彼女の動きで制御することができる。例えば、オーディオ・ビジュアル・デバイス１６における他のボーラーの視覚表現が、先のユーザーと共に物理空間にいる第２のユーザーのような、他のユーザーを表すことができ、または第２の物理空間にいてネットワークで繋がれたユーザーとすることもできる。尚、実世界環境を取り込んだ表示を介して、このシステムに関与する複数のユーザーが、各々、没入型ディスプレイまたはルック(look)を装着することができれば、効果的であろう。例えば、ユーザーは広いエリアの環境を見ることができるとよく、または個人の没入型ディスプレイを調節することによって、この環境内にある対象の物体またはイベントに照準を当てることができるとよい。没入型ディスプレイの一例は、キャプチャー・デバイスおよび表示コンポーネントを含む、装着可能なヘッド・ピースである。
【００２０】
[0030]  ジェスチャーは、図１に示すボーリング・ゲームの例のような、ビデオ・ゲーム特定コンテキストにおいて使用することができる。運転ゲームのような他のゲーム例では、手および足の種々の動きが、方向、ギア・シフト、加速、および制動における車両の操縦に対応することができる。プレーヤーのジェスチャーは、一般的な計算コンテキストにおける入力に使用されるジェスチャーのような、アバター１９を制御する以外の動作に対応する制御として解釈することができる。例えば、ユーザー１８の手または他の身体部分の種々の動きが、終了する、ゲームを保存する、レベルを選択する、高得点を見る、友人と通信すること等に対応することができる。
【００２１】
[0031]  図１はビデオ・ゲーム特定のコンテキストにおけるユーザーを描画したが、ターゲット認識、分析、および追跡システム１０は、ゲームの範囲の外側にあるオペレーティング・システムおよび／またはアプリケーションの態様を制御するために、ターゲットの動きを解釈することもできる。オペレーティング・システムおよび／またはアプリケーションの事実上あらゆる制御可能な態様を、ユーザー１８のようなターゲットの動きによって制御することができる。例えば、ユーザーのジェスチャーは、階層リストにおいて上下にナビゲートする、ファイルを開く、ファイルを閉じる、およびファイルを保存するというような、共通のシステム全域におけるタスクに対応することができる。ユーザーのジェスチャーは、オペレーティング・システム、ゲームのゲーミング以外の態様、または非ゲーミング・アプリケーションに適用可能な制御とすることもできる。例えば、ユーザーのジェスチャーは、ユーザー・インターフェースを制御するというような、物体走査として解釈することができる。例えば、左から右に垂直に並べられたブレード(blade)またはタブ付きインターフェース(tabbed interface)を有するユーザー・インターフェースについて考える。ここでは、各ブレードまたはタブを選択すると、アプリケーションまたはシステム内における種々の制御に対する選択肢が開く。このシステムは、ユーザーの手の動きを、タブの動きに対して特定することができ、物理空間におけるユーザーの手は、アプリケーション空間におけるタブと仮想的に位置合わせさせられる。静止、掴む動き、次いで左にさっと動かすことを含むジェスチャーは、タブの選択、次いで次のタブを開くためにそれを逸らせて動かすこととして解釈することができる。
【００２２】
[0032]  図２Ａおよび図２Ｂは、物理空間２０１において、図示のようなユーザーまたは複数のユーザーを取り込むことができるジェスチャー・ベース・システム２００についての実施形態例を示す。システム２００は、取り込んだデーターからジェスチャーを認識することができる。このジェスチャーは、システム２００の制御に対応する。ユーザーは、情報のプレゼンテーションを管理するために、ジェスチャーを使用することができ、または複数のユーザーがジェスチャーによって、提示された情報と協調するように一緒に作業することができる。
【００２３】
[0033]  システム２００は、任意の数の計算環境、キャプチャー・デバイス、ディスプレイ、またはその任意の組み合わせを含むことができる。図２Ａに示すシステム２００は、キャプチャー・デバイス２０２、計算環境２１２、およびディスプレイ・デバイス２２２を含む。図２Ｂに示すシステム２００は、複数の計算環境２１２、２１３、２１４、キャプチャー・デバイス２０２、２０３、２０４、およびディスプレイ２２２、２２３、２２４を有するジェスチャー・ベース・システム２００を表す。計算環境とは、マルチメディア・コンソール、パーソナル・コンピューター（ＰＣ）、ゲーミング・システムまたはコンソール、ハンドヘルド計算デバイス、ＰＤＡ、移動体電話機、クラウド・コンピューター等とすることができ、キャプチャー・デバイスまたはディスプレイを含むこと、またそうでなければこれに接続することができる。キャプチャー・デバイス、計算デバイス、およびディスプレイ・デバイスは、図１に関して先に説明したデバイス、または図３から図８に関して以下で説明するデバイスというような、所望の機能を実行する任意の適したデバイスを構成することができる。
【００２４】
[0034]  図２Ａおよび図２Ｂの双方は、例えば、ユーザー２６０、２６１、２６２、２６３のような、物理空間において複数のユーザーが関与する場合もあるコンピューター管理に対する生産性シナリオ(productivity scenario)の一例を示す。例えば、物理空間は会議室であることもあり、ユーザー２６０、２６１、２６２、２６３は会議に出席しているかまたはアイディアを共同で出すために出席しているのであってもよい。また、リモート・ユーザーが、ホールから隔たった第２の場所から、あるいは他の州に位置するユーザーの自宅またはオフィスからというようなそれよりも更に離れた場所から、システム２００と対話処理するのであってもよいことも考えられる。以下で説明する図３は、このようなシナリオにおいてコンピューター管理のためにジェスチャー・ベース・システムを介して対話処理することを、ローカル・ユーザーおよびリモート・ユーザー双方に可能にするネットワーク型環境の一例を示す。
【００２５】
[0035]  このコンテキストにおける生産性シナリオは、例えば、図２Ａおよび図２Ｂに示したシステム例のような、ジェスチャー・ベース・システム２００によって管理することができる情報プレゼンテーションの任意の形態であってよい。シナリオの一例では、ユーザー２６０、２６１、２６２、２６３は会議中であり、プレゼンテーション・アプリケーションの出力がディスプレイ２２２に表示されているのであってもよい。情報のプレゼンテーションは、アニメーション、グラフィクス、テキスト等を含むことができ、ワード・プロセッサー・フォーマット、ビデオおよび／またはオーディオ・プレゼンテーション、スライド・ショー、データーベース・アプリケーション、メディア・プレーヤー、チャート（例えば、フロー・チャート、円グラフ）、チャット、フォーラム、コミュニティ、インスタント・メッセージング、または任意の他の形態の作業生産物で提示することができる。
【００２６】
[0036]  キャプチャー・デバイス２０２は、ユーザー２６０、２６１、２６２、２６３の各々のジェスチャーのような、ユーザーのジェスチャーを表すデーターを取り込むことができる。図２Ａおよび図２Ｂに示すように、ユーザーは、システム２００からまたはこのシステムにおける特定のコンポーネントからの距離が様々である可能性があるが、それでも本システムの態様に対して制御することができる。ジェスチャーは、情報のプレゼンテーション制御として認識することができる。ジェスチャーは、ジェスチャー・ベース・システムの種々の態様を制御することができる。ジェスチャーは、文書に単語を追加する、下方にスクロールする、または文書全体のページをめくる、表計算において列の範囲を決める、三次元図を旋回または回転させる、拡大または縮小する等のような、画面上におけるあらゆる表示を制御することができる。例えば、ディスプレイ２２２が仮想黒板(chalk board)またはホワイト・ボード(dry erase board)を示し、ユーザーのジェスチャーを認識して画面に描画するまたは文字を書く、スライド・ショーにおいてスライド間で切り替える、スライド・ショーを一時停止する等を行うことができる。ユーザーは、ワード文書に黒丸を追加するためにジェスチャーを行うこともできる。
【００２７】
[0037]  ジェスチャーは、オーディオ・コマンドを組み込むこともでき、またはオーディオ・コマンドがユーザーのジェスチャーを補うこともできる。例えば、ユーザーは、黒丸を文書に追加し、次いで単語を発声して、これらの単語を文書の黒丸の後ろに追加するためにジェスチャーを行うことができる。本システムは、黒丸を追加するジェスチャーと、黒丸を追加し次いで黒丸に続くように発声した単語を書くための制御としてのオーディオとの組み合わせを認識することができる。ユーザーはプレゼンテーションを制御するためにジェスチャーを行うことができるので、ユーザーは部屋中を動き回る高い柔軟性がある。
【００２８】
[0038]  ユーザーは、計算環境において、コントローラーの使用や、直接ボタンを押さなければならないことに限定されるのではない。しかしながら、ジェスチャーの使用をコントローラー／ボタンの使用と組み合わせて、双方のタイプの制御に対処するとよいと考えられる。一部のジェスチャーでは、例えば、身体の動きから成るユーザーのジェスチャーに加えて、コントローラーによる情報入力を使用することができる場合がある。
【００２９】
[0039]  例示の目的のために、図２Ａに示した情報のプレゼンテーション例のスナップショットは、画面上に表示されたグラフ２２５を含む。ユーザー２６１のようなユーザーが、部屋の中にいる他のユーザー２６０、２６２、２６３および／またはリモート・ユーザー（図示せず）に、情報を提示しているシナリオについて考える。ジェスチャーは、コントローラーの必要性、またはプレゼンテーションを管理する同様の必要性に置き換わる、またはこれを補充することができる。マウス、またはクリッカー、またはレーザー、またはマイクロフォン、あるいは他の周辺デバイスによって行うことができるアプリケーションの態様は、ジェスチャーによって行うことができる。ジェスチャーは、以前にはコントローラーのユーザーに要求していたこともある、ジェスチャー・ベース・システムのあらゆる態様を制御することができる。例えば、ジェスチャーが、画面上に光を表示する仮想レーザーを制御することができる。ディスプレイ上に小さな明るい光のスポットを投射することによって、関心のある何かを強調するためにレーザー・ポインターを使用する代わりに、ユーザーは、指でジェスチャーを行うことができる。ユーザーの指の動きが、レーザー・ポインターの動きを模擬することができ、本システムはこのジェスチャーを認識して、指の動きに対応する光のスポットを画面上に表示することができる。コントローラーは、実際に不要となる。また、ジェスチャーは、コントローラーによる制御とは異なる、またはそれ以外では利用できない、システムの態様を制御することもできる。例えば、物理空間におけるユーザーの動きに直接対応する仮想表現の動きを制御することは、ジェスチャーによって得ることができるが、一方仮想表現のアニメーションは、入力のためにコントローラーが必要となるときには、ユーザーのジェスチャーの直接的な変換とはならない。
【００３０】
[0040]  図２Ｂは、物理空間２０１においてユーザーを取り込み、取り込んだデーターを仮想環境における仮想表現にマッピングすることができるシステム２００の他の実施形態例を示す。図２Ａと同様、システム２００は、キャプチャー・デバイス２０２、計算環境２１２、およびディスプレイ・デバイス２２２を含む。しかしながら、この例では、システム２００は、他のキャプチャー・デバイス２０５、ユーザー２６０、２６３とそれぞれ関連付けられこれらに対して近距離で位置付けられている計算環境２１３、２１４というような、追加の計算環境、ならびに計算環境２１３、２１４とそれぞれ関連付けられたキャプチャー・デバイス２０３および２０４も含む。
【００３１】
[0041]  ジェスチャー・ベース・システムにおける種々のデバイスまたはコンポーネントは、ネットワークを介して互いにハンドシェークし、情報を共有するために通信することができる。例えば、キャプチャー・デバイス２０２、２０３、２０４、２０５、および各計算環境２１２、２１３、２１４は、例えば、ケーブル接続、Ｗｉ−Ｆｉ接続、またはホーム・ワイヤレス・ネットワークを介してというようにして、有線またはワイヤレス接続を経由して通信することができる。種々のキャプチャー・デバイス２０２、２０３、２０４、２０５は、取り込まれたデーターを互いに共有することができ、または中央計算環境が、データーを処理し解釈するために、データーを集めることができる。例えば、計算環境２１２は、物理空間における複数のユーザー２６０、２６１、２６２、２６３に見ることができるプレゼンテーション・アプリケーションを格納し実行する計算環境であるとすることができる。計算環境２１２は、例えば、キャプチャー・デバイス２０４から直接、または、例えば、計算環境２１４からというように、システムにおける他のコンポーネントから取り込まれたデーターを受け取ることができる。
【００３２】
[0042]  ディスプレイ２２２は、部屋の前方にある主ディスプレイとすることができ、この部屋にいるユーザーの全員ではないにしても、殆どに見ることができるサイズに選択することができる。このディスプレイは、没入型デバイスのような、頭部装着ディスプレイであってもよい。例えば、頭部装着ディスプレイは、ユーザーのを人工仮想環境と置き換えることができる。他の例では、ユーザーの視野のうち一部の視野のみが、人工環境と置き換えられる。例えば、頭部装着ディスプレイは、ユーザーの視野の表示上に情報を重ねるために、頭部を追跡することができるとよい。このディスプレイは、ユーザーの頭部が向いている方向に依存して、表示されている画像を調節することができる。例えば、ユーザーがディスプレイ上で地図を見ている場合、各ユーザーの頭部装着ディスプレイは、ユーザーが見ているところを表す部分を拡大して含むことができる。あるいは、ユーザーは、彼または彼女のディスプレイとの対話処理によって、部屋にいる他のユーザーとは異なる方法でプレゼンテーションをナビゲートすることができる。つまり、仮想環境の現実感が、シミュレーションの環境を一層魅力的にすることができ、ユーザーは一層現実的で個人的な対話処理を仮想現実と行うことができる。
【００３３】
[0043]  主ディスプレイ２２２に取り付けられた計算環境２１２は、キャプチャー・デバイス２０２、２０３、２０４、２０５および計算環境２１３、２１４からのデーターを集めて、物理空間において取り込まれた取り込みデーターを纏めたものを分析することができる。この集められたデーターからジェスチャーを認識することができ、ジェスチャー・ベース・システムの態様の制御を結果的に行うことができる。このようなジェスチャー・ベース・システムにおけるコンポーネント間における通信のために用意されたネットワーク設定の一例について、図３に関して以下で更に詳しく説明する。
【００３４】
[0044]  図２Ｂに示した例によって反映されるように、複数のユーザー２６０、２６１、２６２、２６３がネットワーク型システム・コンポーネントを介して対話処理していることもあり得ると考えられる。本システムは、複数のコンポーネントが、適用されるジェスチャーに対してそれらの入力を組み合わせることを可能にする。つまり、複数のユーザー２６０、２６１、２６２、２６３は、システムの態様を制御することができる。例えば、タッチ、深さ、オーディオ、ビデオ等を取り込む能力が異なる複数のキャプチャー・デバイスが、複数のユーザー２６０、２６１、２６２、２６３に関するデーターを物理空間から取り込むことができる。取り込まれたデーターは、集められて、複数のユーザーに代わってシステムの態様を制御するために処理することができる。これによって、複数のユーザーがジェスチャーおよび本システムを介して互いに対話処理することが可能になり、生産性環境における協調の本質を、ジェスチャーによって高めることができる。
【００３５】
[0045]  図２Ｂに関して、ユーザー２６０、２６１、２６２、２６３が会議中であり、キャプチャー・デバイス２０５によって取り込まれており、ユーザー２６０が他のキャプチャー・デバイス２０３と関連付けられており、ユーザー２６３が他のキャプチャー・デバイス２０４と関連付けられている場合について考える。物理空間は、例えば、大きな会議室のような、広い空間であってもよく、ユーザー２６３のようなユーザーが、キャプチャー・デバイス２０５から離れて座っていてもよい。このユーザーは、物理空間においてキャプチャー・デバイス２０４の方に近接して位置付けられていてもよいが、例えば、ディスプレイ２２４またはセルラ・デバイス（図示せず）のようなものを介して、もっと近く小さな画面上で、共有されるプレゼンテーションを見ているのであってもよい。計算環境２１２は、プレゼンテーション・アプリケーションを実行し、ディスプレイ２２２、２２３、および２２４のような複数のディスプレイに出力することができる。
【００３６】
[0046]  キャプチャー・デバイスのうち任意のものから取り込まれたデーターは、ジェスチャー認識のために分析することができ、したがって、ネットワーク型キャプチャー・デバイスの視野内にいるユーザーのうち任意の者が、ジェスチャーによって、主ディスプレイ２２２上に表示されているプレゼンテーションを制御することができる。ユーザーは、物理空間における第２の計算環境またはキャプチャー・デバイスを使用してジェスチャーを行うことによって、共有されるプレゼンテーションの態様を制御することができる。例えば、ユーザーは、ユーザー２６３に一層近い計算環境２１４に対しては小規模なジェスチャーを行うこともできる。小規模なジェスチャーは、例えば、他のユーザーやディスプレイ２２４のような部屋内における物体がキャプチャー・デバイスの視野を遮る場合、キャプチャー・デバイス２０５によって取り込まれない場合もある。ユーザー２６３のジェスチャーは、キャプチャー・デバイス２０４によって取り込まれ、ローカル計算環境２１４によって処理するか、または、例えば、ネットワークを介して計算環境２１２、２１３と共有することもできる。したがって、同じジェスチャー・ベース・システムにおいてネットワークに接続されている任意の計算環境が、このジェスチャー・ベース・システムにおいて同様にネットワーク接続されている任意の数のキャプチャー・デバイスから取り込まれたデーターを処理することができる。ユーザー２６３のジェスチャーは、計算環境間で共有されるプレゼンテーションの制御として見なすことができる。つまり、第１キャプチャー・デバイス／計算環境と関連のある第１ユーザーのジェスチャーが、第２計算環境の態様を制御することができる。
【００３７】
[0047]  例えば、ユーザー２６０、２６３は、それぞれ、ジェスチャーを介して近距離の計算環境２１３、２１４と対話処理することができ、対応する制御が、主計算環境２１２または本システムにネットワーク接続されている他の個人計算環境というような、本システムにおける他の計算環境に移ることができる。ユーザーのジェスチャーは、セッションにおける他の計算環境を制御することができ、および／またはジェスチャーの結果を一人一人のディスプレイ上にレンダリングすること、またそうでなければジェスチャーの結果を指示することができる。例えば、ユーザー２６３は、計算環境２１４と近距離でジェスチャーを行うことができる。ユーザー２６３のジェスチャーは、主ディスプレイ２２２上に表示されるプレゼンテーションの管理に寄与することができる。近距離キャプチャー・デバイス２０４は、ユーザー２６３のジェスチャーを表すデーターを取り込むことができ、計算環境２１４は、ジェスチャー認識技法を使用して、この取り込まれたデーターからジェスチャーを識別することができる。ジェスチャーは、ユーザー２６３と関連のある計算環境２１４の特定の態様を制御することができる。ジェスチャーは、主計算環境２１２の制御に変換することができる。つまり、ユーザーは近距離デバイスおよび／またはキャプチャー・デバイスに対してジェスチャーを行うことができ、彼らが主計算システムに対してジェスチャーを行っているかのように、同じ効果を有することができる。
【００３８】
[0048]  追加のキャプチャー・デバイスおよび／または計算環境を使用することによって、システム２００の制御に対する柔軟性を高めることができる。例えば、大きな会議室があり、この部屋の後ろの方にユーザーが座っている場合を考える。場合によっては、部屋の前の方にあるキャプチャー・デバイスが、部屋の後ろに座っているユーザーを取り込むことができないこともある。例えば、ユーザーとキャプチャー・デバイスとの間に視野の遮断があるかもしれず、キャプチャー・デバイスがユーザーを登録できないかもしれず、あるいはキャプチャー・デバイスが、例えば、ユーザーを特定するまたはユーザーのアクセス・レベルを特定するだけの分解能を有していないかもしれない。ユーザーは、もっとユーザーに近接して位置付けられているキャプチャー・デバイスまたはユーザーの個人計算環境と関連付けられているキャプチャー・デバイスというような、物理空間において本システムとネットワーク接続されている第２キャプチャー・デバイスを使用してジェスチャーすることができる。つまり、本ジェスチャー・ベース・システムは、種々の方法で複数のユーザーをシステムに統合し、プレゼンテーションの態様を管理することができる。
【００３９】
[0049]  一実施形態例では、図２Ａおよび図２Ｂにおいて示したシナリオ例におけるように、一人のユーザーまたは主要なユーザーが情報のプレゼンテーションを管理する場合もある。共同動作システムは、聴衆のメンバーが本システムの態様を制御することができるように、ジェスチャーによる聴衆の参加を可能にしそして促進する。ディスプレイ２２２の上面に取り付けられているキャプチャー・デバイス２０２、または壁からぶら下がっているキャプチャー・デバイス２０５というような、１つのキャプチャー・デバイス、あるいはキャプチャー・デバイスの組み合わせが、物理空間における複数の人を表すデーターを取り込むことができる。複数の人は、計算環境２１２において実行するアプリケーションのような、１つのアプリケーションを制御するためにジェスチャーを行うことができる。例えば、このアプリケーションが地図作成プログラムであり、ユーザーが一緒に作業して旅行計画を立てようとしている場合、種々のユーザーが１つの地図作成プログラムと対話処理して、拡大、回転等を行うことができる。複数のユーザーがジェスチャーを介してアプリケーションの態様を制御する入力を供給することができるので、複数のコントローラーを部屋中に引き回す必要はない。追加のユーザーが部屋に加わることもでき、彼らも、例えば、余分なコントローラーを捜す必要なく、ジェスチャーを行うことができる。
【００４０】
[0050]  本システムは、複数のユーザーおよび彼らのジェスチャーを表す取り込みデーターを、システム制御以外の他の目的のために、受動的に評価することができる。例えば、ユーザーのジェスチャーは、本システムの態様を制御するためにユーザーによって意図的に行われなくてもよく、それでもなおデーター収集目的のためにジェスチャーを特定することができる。つまり、ジェスチャーまたはこのジェスチャーに関する情報を集めて記録することができる。物理空間に複数のユーザー２６０、２６１、２６２、および２６３がいる場合を考える。本システムは、ディスプレイ２２２上で質問することができ、または、例えば、スピーカ・システムを介して聞こえるように質問を伝えることができる。この質問は、他のユーザーに情報を提示しているかもしれないユーザー２６１のような、ユーザーによって促されるのであってもよい。本システムは、質問に応答して、ジェスチャーに対応する動きを含む、複数のユーザーによって行われた動きを識別することができる。情報は、リアルタイムで集められ、メモリーに格納されているファイルのような出力、またはディスプレイに供給することができる。
【００４１】
[0051]  例えば、本システムは、ユーザーまたは当該システムが行った質問の結果として、聴衆にポールすることができる。質問は、単純にはいまたはいいえで答えることができ、あるいは複数の可能な答えを含むことができ、各答えが１つのジェスチャーに対応することができる。例えば、質問は、「選択肢Ａに投票した人は何人ですか」とすることができ、「はい」という答えは、ユーザーが手を真上に上げたことを含むジェスチャーによって表すことができる。本システムは、取り込んだデーターから、彼または彼女の手を上げている各ユーザー、および上げていない各ユーザーを検出することができる。したがって、本システムはユーザー毎に識別されたジェスチャーに基づいて、「はい」という答えの数を数えることができる。このように、本システムは瞬時的な調査結果を示すことができる。
【００４２】
[0052]  プレゼンテーションの間に本システムによって認識されたジェスチャーは、本システムによるその後の動作を引き起こすことができる。例えば、本システムは２人のユーザー間における握手を認識することができ、この握手は、部屋にいる２人のユーザー間における「紹介」のジェスチャーとして認識することができる。この「紹介」のジェスチャーは、２人の人が握手することを含む。本システムは、各ユーザーを識別し、「紹介」のジェスチャーを特定し、会議の終了時に各ユーザーに与えられるログにおいてユーザー毎の連絡先情報を自動的に記録することができる。このように、ユーザーは、このユーザーが握手した人毎に連絡先情報を、連絡先情報を編集したリストにアクセスすることによって得ることができる。会議の間に記録される情報の他の例を挙げると、ユーザーに関心がある、ディスプレイにおけるポイントの識別が考えられ、情報の記録は、ジェスチャーによって引き起こすことができる。例えば、会議の間、一人のユーザーが、プレゼンテーションにおける特定のスクリーンショットまたはポイントが、このユーザーに関心があることを示すために、ジェスチャーを行うことができ、本システムは、このユーザーが後の時点で見直すためにこの情報を容易に発見できるように、識別情報をログに含ませることができる。このジェスチャーは、テーブルを指で叩く、または指を上げるというような、些細な動きを含めばよい。このように、プレゼンテーションの流れを中断することなく、本システムは、各ユーザーの種々のジェスチャーに基づいて、ユーザー毎にデーターを記録することができる。次いで、各ユーザーは、このユーザーに特定の情報ログにアクセスすることができる。
【００４３】
[0053]  システムによるジェスチャーの認識時に、他の動作を引き起こすこともできる。例えば、先に論じたもの以外で、会議参加者に責任を委任する、リモート・ユーザーに電話をかける、ある種の文書のコピーを望むユーザーを示す等のような、会議にわたって生ずる他の共通なイベントについて考える。会議の一部に、種々のユーザーに責任を委任することが含まれる場合がある。本システムまたはユーザーはボランティアを要求または指定することができ、ユーザーの指定に対して認識されるジェスチャーが、そのボランティアを指し示すプレゼンター、または彼または彼女の手を上げているボランティアを含むことができる。本システムは、このジェスチャーを、行動項目(action item)の受入として認識して、項目別に記入したリストまたは表計算シートにおけるように、ユーザーをこの行動項目と関連付けることができる。他の例では、「この文書のコピーが欲しいですか？」というような質問をユーザーに提示してもよく、部屋における「はい」ジェスチャーに依存して、本システムは、自動的に電子メールを生成し、「はい」のジェスチャーを行った各ユーザーと関連付けられた電子メール・アドレスを含ませ、そしてこの電子メールに文書を添付して各ユーザーに送ることができる。この動作は、リアルタイムで行うことができ、ユーザーは、会議中であっても、文書へのアクセスを得ることができる。または、この動作は、会議の終了時に、本システムによって動作がなされるように、キューの中に置くことができる。
【００４４】
[0054]  この動作は、本システムにおけるハードウェア・コンポーネントによる動作を引き起こすこともできる。例えば、ユーザーが彼または彼女の手を上げると、第１のキャプチャー・デバイスが取り込みデーターを受け取り、処理して、上げられた手を、ユーザーが本システムと対話処理したいことを示すジェスチャーとして認識することができる。第１のキャプチャー・デバイスは、ユーザーが第２のキャプチャー・デバイスの視野に入るように、またはユーザーに焦点がもっと良く合うように、ユーザーに向けて回る命令を第２のキャプチャー・デバイスに与えることができる。他のジェスチャーが、提示された情報の一部をメモリーに、またはユーザー２６３と関連のある計算環境２１４のような個人計算デバイス内にあるローカル・メモリーのような、ユーザーのローカル・メモリーに保存する命令であってもよい。ユーザーのジェスチャーは、光を点ける、画面を下げる、ディスプレイ・デバイスを点ける等の命令であってもよい。
【００４５】
[0055]  ジェスチャーの結果引き起こされる動作は、例えば、マクロのような、省略フォーマットで表される１組の命令によって決定することができる。つまり、特定のジェスチャーの結果本システムが行う動作は、会議の開始に先立ってというように、前もって定めておくことができる。本システムは、特定のジェスチャーの結果実施される任意の数のマクロを有することができ、その結果、ログに情報を追加する、または結果をプレゼンターに与えるというような、ユーザーにとってシームレスであるとよい動作が得られる。あるいは、ユーザーのジェスチャーを介して要求された情報を含む電子メールの受信時というようなときに、これらをユーザーに知らせてもよい。マクロは、システムまたはアプリケーションに予めパッケージされていてもよく、またユーザーが定義してもよい。
【００４６】
[0056]  また、本システムは、ジェスチャーの結果として、動的に動作を行うこともできる。例えば、一人のユーザーが、ジェスチャーおよび／または口頭のコマンドの組み合わせを使用し、電子メールで文書を受信することに関心があるユーザーに空中で手を上げるように要求し、選択されたユーザーに電子メールを送る命令を伝えることができる。本システムは、このコマンドおよびジェスチャーの組み合わせに応答し、主題の文書を、手を上げた各ユーザーに電子メールで送ることができる。
【００４７】
[0057]  他の例では、本システムは、物理空間におけるユーザーの行動に関するデーターを集めることができる。例えば、プレゼンターにとって、彼または彼女のプレゼンテーション方法の有効性に関するフィードバックを有することが望ましい場合がある。プレゼンテーションの間、例えば、本システムは顔または身体認識技法を使用して、顔の表情／動きまたは身体の位置／動きを、物理空間にいる種々のユーザーについて認識することができる。顔の表情／動き、身体の位置／動き、またはこれらの組み合わせは、ユーザーの特定の表現または感情を示すジェスチャーに対応することができる。本システムは、プレゼンターに、注目度、警戒度(alertness)、または聴衆の中にいるメンバーについての関連行動を示す情報を提供することができる。ユーザーは、この情報を使用して、プレゼンテーションにわたって使用される有効なプレゼンテーション方法を特定することができる。例えば、本システムが、ある割合のユーザーが退屈そうな仕草または関心がなさそうな仕草を表したことを示す、ユーザーについてのデーターを集め、これを、ユーザーがディスプレイ上で大量の単語を表示していたときと相関付ける場合、ユーザーは、大量の単語を表示することはこのグループにとっては効果的でないことを示すために、これを使用することができる。しかしながら、異なる聴衆では、文書の単語が聴衆のメンバーによって評価されているときのように、これらの単語が適切である場合もある。他の例では、ユーザーは、アニメーション技法および対話処理技法を使用することができ、本システムは、興奮したユーザーの参加または積極的なユーザーの参加を認識することができる。つまり、プレゼンターは、ユーザーにリアルタイムで提供される情報に基づいてプレゼンテーションの最中に、または以前に集められたデーターに基づいて会議の準備中に、ユーザーに対するプレゼンテーションをその場に合わせることができる。
【００４８】
[0058]  本システムは、プレゼンテーションの状況に相関付けられた聴衆の行動の検出に基づいて、ユーザーに動的な提案を与えることができる。例えば、プレゼンテーションの間、本システムは、テキストが多いスライドの間における退屈そうな仕草を識別し、テキストが多いスライドを飛ばすようにユーザーに提案することができる。本システムは、ユーザーが脇の方に座っているのを止めて部屋の前の方に移動しているときに、このユーザーがより良い聴衆参加を得たことを識別することができる。本システムは、ユーザーにこのような情報をプレゼンテーションの間に提供することができ、または本システムは経時的な聴衆の熱中度(engagement)を監視し、結果を示す報告をユーザーに生成することができる。
【００４９】
[0059]  参加している各ユーザーが、情報を提示しているのであれ、ジェスチャーを介して本システムと対話処理しているのであれ、プレゼンテーションを見物しているのであれ、または単にキャプチャー・デバイスの視野内にいるだけであれ、各ユーザーを仮想表現によって表すことができる。図２Ｃは、他のジェスチャー・ベース・システム２００の例を示し、キャプチャー・デバイス２９２、計算デバイス２９４、およびディスプレイ・デバイス２９１を含む。例えば、キャプチャー・デバイス２９２、計算デバイス２９４、およびディスプレイ・デバイス２９１は、各々、本明細書において記載したデバイスのような、所望の機能を実行する任意の適したデバイスを含むことができる。
【００５０】
[0060]  この例では、深度カメラ２９２が、複数のユーザー２６０、２６２、２６３がいる物理空間２９３においてシーンを取り込む。深度カメラ２９２は、深度情報を処理し、および／またはこの深度情報をコンピューター２９４のようなコンピューターに提供する。深度情報は、ユーザー２６０、２６２、２６３の視覚表現の表示のために解釈することができる。例えば、深度カメラ２９２、または、図示のように、それが接続されている計算デバイス２９４はディスプレイ２９１に出力することができる。
【００５１】
[0061]  この視覚表現は、通例、二次元（２Ｄ）または三次元（３Ｄ）モデルの形態をなすコンピューター表現である。物理空間２９３におけるユーザーの視覚表現は、アニメーション、キャラクター、アバター等のように、任意の形態をなすことができる。例えば、この視覚表現は、ユーザー２６０および２６３をそれぞれ表す、図２Ｃに示されるアバター２９５または２９６のような、アバターとすることができる。視覚表現は、ユーザー２６２を表す、カーソル、矢印、または手のシンボル２９７のような他のシンボルであってもよい。この例では、猿のキャラクター２９５がユーザー２６０を表し、キャプチャー・デバイス２９２によって取り込まれたユーザー２６０の身体位置と同様の身体位置を表示する。ユーザー２６３を表すアバター２９６は、ユーザー２６３と同様の物理特性を有し、ユーザー２６３の衣服でさえも、キャプチャー・デバイスによって分析され、ユーザーの視覚表現２９６に適用される。
【００５２】
[0062]  視覚表現を共有プレゼンテーション体験に導入することによって、ユーザーに仮想空間内における識別の感覚を与えることにより、他の次元を体験に追加することができる。ユーザーの視覚表現は、ディスプレイ上にレンダリングすることができ、セッションにおける他のユーザーのアバターは、各人のディスプレイ上にレンダリングすることができ、これらのユーザーが異なる物理空間にいるのであっても、同じ仮想空間においてアバターのグループが得られる。セッションにおける各人のアバターは、各々、各人のテレビジョンまたはモニター上にレンダリングすることができ、その結果、アバターのグループが仮想空間において対話しているように見える。セッションにおけるユーザーはリモート・ユーザーおよびローカル・ユーザーの双方を含むこともあるので、ディスプレイは、これらのユーザー全てが、各視覚表現の存在に基づいて他の参加者を識別できるように、リモート・ユーザーおよびローカル・ユーザーの双方の視覚表現をレンダリングすることができる。
【００５３】
[0063]  各ユーザーは、カスタム化したアバターまたはキャラクターのような、彼ら自身のカスタム化した表現によって表すことができる。ユーザーの仮想表現は、キャプチャー・デバイスによって取り込まれたユーザーの特性を反映することができる。例えば、キャプチャー・デバイスは、身体／顔認識技法を採用し、取り込んだデーターを、ユーザーに似た視覚表現に変換することができる。つまり、画面上のアバターは、ユーザーに似ており、ユーザーのように行動することができる。物理空間２９３において検出されたユーザーの視覚表現は、アニメーション、キャラクター、アバター等のような、代わりの形態をなすこともできる。ユーザーは、本システムまたはアプリケーションによって与えられる種々の蓄えモデル(stock model)から、ユーザーの画面上表現のために選択することができる。例えば、ユーザーを視覚的に表現する在庫モデルは、有名人、１片のタフィー(taffy)、または象の表現というような、任意のキャラクター表現を含むことができる。在庫モデルは、奇抜なキャラクター（例えば、龍、怪物）、またはシンボル（例えば、カーソルまたは手のシンボル）であってもよい。
【００５４】
[0064]  視覚表現は、ユーザーの特徴およびアニメーションの組み合わせを含むこともできる。例えば、ユーザーの視覚表現は、キャラクター２９５のような、猿のキャラクターであってもよいが、物理空間において取り込まれたときのユーザーの衣服を身につけているか、または物理空間において検出されたユーザーのように、めがねをかけている。ユーザーの顔の表現、身体位置、発声する単語、または任意の他の検出可能な特性を、視覚表現に適用することができる。在庫モデルは、プログラムと一緒にパッケージされているというような、アプリケーションに特定であってもよく、あるいは蓄えモデルはアプリケーションを跨いで入手可能であるかまたはシステム規模で入手可能であるとよい。
【００５５】
[0065]  ユーザーのジェスチャーは、このジェスチャーと関連付けられた制御に対応するマルチメディア応答を発生させることができる。例えば、ユーザーの視覚表現のアニメーションを、ジェスチャーの結果として、ディスプレイ上にレンダリングすることができる。マルチメディア応答は、視覚表現の動きのようなアニメーション、画面上に現れるテキスト・メッセージ、オーディオ、静止画像、ビデオ等のうち任意の１つまたはその組み合わせとすることができる。例えば、ワープロ・アプリケーションを実行するシステムによって認識されたユーザーのジェスチャーが、次のページにめくるジェスチャーを含む場合、ワープロ文書の制御を、この文書における次のページに移すことができる。このジェスチャーを実行したユーザーと関連付けられている視覚表現は、例えば、大きな風刺漫画の手であって、本ジェスチャー・ベース・システムによって取り込まれそして特定された、物理空間におけるユーザーのめがねと同様のめがねをかけているのであってもよい。次のページに進むユーザーのジェスチャーに応答して、この大きな風刺漫画の手が画面を横切って動き、文書の角を掴むように見え、次いで文書における次のページを明示するためにそれを下に下ろすことができる。つまり、このユーザーに独特の視覚表現のアニメーションを見物することに基づいて、他のユーザーが、この特定のユーザーがそのジェスチャーを実行したことがわかるだけでなく、このアニメーションが、ジェスチャーを介してシステムを制御する体験に加わる。ユーザーは、彼または彼女のジェスチャーの結果を可視化することができ、他のユーザーはその結果を可視化することができる。ユーザーは、ジェスチャーが認識され、本システムによって適正に適用されたことを、一層容易に確認することができる。
【００５６】
[0066]  マルチメディア応答は、他の各ユーザーのテレビジョンまたはモニター上に現れるアニメーションを表示するというように、システム規模であってもよい。ユーザーが彼または彼女のアバターに身振りで表現させると、このジェスチャーを全てのクライアントの位置において同期して提示することができる。同様に、ユーザーが、例えば、音声チャットによってオーディオ・イベントを発声したとき、または他の方法で生成したとき、あるいは、例えば、テキスト・チャットによってテキスト・イベントを発声したとき、または他の方法で生成したとき、このオーディオまたはテキストを全てのクライアントの位置において同期して提示することができる。
【００５７】
[0067]  特定の視覚表現を、特定のユーザーと関連付けることもできる。つまり、各ユーザーは、当該ユーザーによって行われるジェスチャーに相関付けるアニメーションを演ずることができる彼自身または彼女自身の仮想表現であるアバターを有することができる。本システムが特定の視覚表現のアニメーションを表示すると、当該ユーザーおよび他のユーザーは、この特定の視覚表現と関連付けられたユーザーを見分けることができる。つまり、ユーザーがジェスチャーを行い、このジェスチャーと関連付けられた制御に対応するように視覚表現が動かされると、どの視覚表現が動かされたのかに基づいて、どのユーザーがそのジェスチャーを行ったのか見分けることが可能になる。他の実施形態例では、ユーザーの視覚表現が、ユーザー間で包括的または共通であり、区別できる特徴がなくてもよい。つまり、表示されたアニメーションから、特定の視覚表現に対応するのはどのユーザーであるのか常に伝えることができないのであってもよい。
【００５８】
[0068]  一実施形態例では、本システムは、モーション・キャプチャー・ファイルに格納されている、追跡対象ユーザーの動きを表す情報を格納することができる。本システムは、特定のモーション・キャプチャー・ファイルからのユーザーに特定の動きを、アバターまたはゲーム・キャラクターに適用し、このアバターまたはゲーム・キャラクターがユーザーの動きと同様に動きを真似するように、動かすことができるようにする。例えば、モーション・キャプチャー・ファイルは、ユーザーがジャンプする様子の指示を含むことができる。ジャンプするアニメーションがユーザーの視覚表現に適用されるとき、本システムは、モーション・キャプチャー・ファイルからのジャンプを適用して、この視覚表現が、本システムによって取り込まれたユーザーの実際の動きを真似するようにすることができる。他の実施形態例では、キャプチャー・ファイルが、ユーザー間で共通である包括的動きを含む。例えば、モーション・キャプチャー・ファイルからのジャンプが、包括的であるか、または本システムと共に予めパッケージされていてもよく、本システムによって適用されたときに、視覚表現がこの包括的ジャンプを行うようにすることができる。マルチメディア応答は、格納されているアニメーション、または特定のジェスチャーの識別に応答して実施されるオーディオ・クリップのような、所定の応答であってもよい。
【００５９】
[0069]  マルチメディア応答ライブラリーが、本システムによって認識されたユーザーのジェスチャーを表す選択肢を含むこともできる。例えば、マルチメディア応答ライブラリーは、予め決められたまたは予め記録された、そして特定のジェスチャーと関連付けられたアニメーション・データーを含むことができる。あるいは、マルチメディア応答は、特定のジェスチャーを認識したときに実施する種々の選択肢を含むことができ、種々の状況に基づいて、選択を行うことができる。例えば、特定のアプリケーション、特定のユーザー、特定のジェスチャー、特定の動き、特定の習熟レベル等に適用することができるために、特定のアニメーションを選択するのであってもよい。
【００６０】
[0070]  一実施形態例では、アバターに適用されるアニメーションは、例えば、プログラム、アプリケーション、またはシステムに同梱されるような、予めパッケージされているアニメーションのライブラーから選択されたアニメーションであってもよい。選択されたアニメーションは、本システムによって学習されたユーザーの入力に対応するアニメーションであってもよい。他の実施形態例では、ライブラリーの中にあるアニメーションは、ユーザーによって入力され、アバターのアニメーション・ボキャブラリーに記録されたアニメーションとすることもできる。
【００６１】
[0071]  アニメーションの中には、ユーザーがジェスチャーを行っていなくても、ユーザーの視覚表現に適用できるものもある。例えば、ユーザーのボディー・ランゲージを推定するときに、本システムは、ユーザーの気質を反映するために、ユーザーの視覚表現に適用するのに適したアニメーションを決定することができる。他の例では、本システムは、特定のユーザーが一定の時間期間怠慢である、即ち、ジェスチャーを行っていないことを検出することができる。本システムは、このユーザーの怠慢さを反映するために、ユーザーの視覚表現を動かすことができる。例えば、このユーザーの視覚表現が猿のキャラクターである場合、本システムは、仮想枕を掴んでいる猿キャラクターを含むアニメーションを適用し、この猿の近くに「ＺＺＺＺＺ」と表示して、この猿が眠りに落ちたことを暗示することができる。
【００６２】
[0072]  一実施形態例では、マルチメディア応答は、音響と組み合わせて示される所定のアバター・アニメーションを含むことができる。例えば、アバターを歩かせるとき、軽い足の運びの音を再生することができる。他の例では、アバターを走らせるとき、重い足の運びの音を再生することができる。他の例では、アバターに機銃掃射させるとき、引きずる足または滑らせる足の運びの音を生成することができる。他の例では、アバターに物体衝突させるとき、衝突する音を再生することができる。他の例では、アバターが物体を落とすとき、または他の物体と衝突させるとき、重い衝突の音を再生することができる。
【００６３】
[0073]  アニメーションのレベル、またはアニメーションの量は、例えば、現在実行中のアプリケーション、または聴衆の年齢層に依存して、様々に変化することができる。例えば、裁判手続き中に法的文書を提示するアプリケーションは、運動場における安全性について教えるための子供へのプレゼンテーションよりも、含むアニメーションは遙かに少ないほうがよい。つまり、アニメーションには、システムによって定められるカテゴリーおよびレベル、および／またはユーザーの好みに対応するようにユーザーによって変化させられるカテゴリーおよびレベルがあるとよい。
【００６４】
[0074]  一例では、プレゼンテーションの枠組みを、連続スライドプレゼンテーションとすることができる。連続スライドプレゼンテーションには、所定の順序で提示される１組のスライドがある。他の例では、アプリケーションが、連続ではないやり方で、情報を提示することができる。例えば、プレゼンテーションが、スライド、写真、画像、テキスト等の編集を含むことができ、このプレゼンテーションをセクションに編成することができる。プレゼンテーションの間、プレゼンターは個々のスライド、およびスライド・ショーにおけるスライド・セクションを拡大および縮小することができる。予め定められた順序を定めなくてもよい。
【００６５】
[0075]  このような非逐次プレゼンテーションのためのプレゼンテーション素材の表示は、多くの形態をなすことができる。例えば、主画面が、地図または大きなフロー・チャートを含むことができる。ユーザーは、この地図またはフロー・チャートの異なる部分で拡大することができ、その部分に対応するスライド（１つまたは複数）を、画面上で拡大することができる。ユーザーは、予め定められた順序に全く従う必要なく、この地図またはフロー・チャート上で動き回ることができる。多くのドアがある通路または家があるプレゼンテーション・フォーマットが画面上に表示されている場合を考える。ユーザーは、漸次ドアからドアまでジャンプし、ドアを開けて入る等を行うことができる。ユーザーは、ズーム可能キャンバスを使用して、スライドを提示することができ、このキャンバスは、ユーザーまたは聴衆からの参加者が、プレゼンテーションの１つの部分から他の部分にジャンプすること、拡大および縮小すること、ならびにセクションを定めることを可能にする。前述のように、聴衆のメンバーは、ジェスチャーによって、プレゼンテーションの異なる部分にナビゲートすることができ、視覚表現は、種々の形態のプレゼンテーション・スタイルと相互作用することができる。つまり、プレゼンテーションは、コンテンツを編集したものとしてもよいが、提示する特定の順序を要求しない。ユーザーは、本質的に、視覚表現を介して、仮想世界に入ることができ、ジェスチャーを介してプレゼンテーションの態様を制御することができる。つまり、本ジェスチャー・ベース・システムは、議論のためにアセットのキャンバスを表示することができ、ユーザーは、この情報全体にわたってリアルタイムにナビゲートすることができる。このキャンバスは、複数の情報を含むことができ、プレゼンターは、聴衆に依存して、このキャンバスの一部を選択することができる。このキャンバスまたはプレゼンテーションは、提示されるよりも多い情報を含むこともできるが、柔軟なフォーマットのために、ユーザーおよび／またはプレゼンターは、その議論に適用可能な情報のセクションを選択することができる。
【００６６】
[0076]  図２Ａおよび図２Ｂに示したような一実施形態例では、一人のユーザーまたは主ユーザーが情報のプレゼンテーションを管理するのであってもよい。例えば、一人のユーザーが、聴衆のメンバーからの対話的制御を使用せずに、プレゼンテーションを管理していることが望ましい場合もある。ユーザー２６０が会議を司っている、または１クラスの学生に教えている場合を考えると、彼または彼女だけがプレゼンテーションの制御をしたいと思う場合がある。つまり、一人のユーザーが情報のプレゼンテーションの司会を務め、ジェスチャーによって情報のプレゼンテーションを制御することができるが、部屋にいる他のユーザーのジェスチャーは、情報のプレゼンテーションを制御することはできない。他の実施形態例では、複数のユーザーが本システムの態様を制御することができるとよい場合もある。例えば、複数のプレゼンターが本システムの態様を制御することができることが望ましい場合があり、あるいは少なくとも一人の聴衆メンバーに制御を任せることが望ましい場合もある。つまり、ユーザーのチームが、１つまたは複数のキャプチャー・デバイスによって、プレゼンテーションの制御を共有して、一層優れた共同作業を可能にすることができる。
【００６７】
[0077]  ユーザーは、アクセスを共有するのであっても、制限されたアクセスを有するのであっても、またはプレゼンテーションの態様制御にアクセスできないのであってもよい。例えば、あるユーザーが、例えば、主ユーザー、副ユーザー、または見物ユーザーであってもよい。主ユーザーとは、本システムの態様を制御する選択肢を有する任意のユーザーである。主ユーザーは、制御を他のユーザーに分散する選択肢を有することもできる。例えば、主ユーザーは、部屋の中にいる第２のユーザーを、他の主ユーザーとして、副ユーザーとして、または見物ユーザーとして指定することができる。見物ユーザーとは、他のユーザーと対話することができるが、ジェスチャーを介してシステムを制御することはないユーザーとすればよい。
【００６８】
[0078]  副ユーザーには、本システムの態様を制御する選択肢を付与することができる。副ユーザーには一時的制御を与えればよく、この制御は、一旦付与されると無期限に永続することもでき、または取り去るまで制御が永続するのでもよい。例えば、主ユーザーが情報を提示しているが、初期状態では聴衆からの対話を望まない場合もあり得る。しかしながら、ユーザーのプレゼンテーションの終了時に、主ユーザーは、聴衆のメンバーからのコメントおよびフィードバックを要請することもある。一例では、主ユーザーは特定のユーザーを選択して、副ユーザーがフィードバックを与えている間、本システムを制御するための一時的アクセスをこのユーザーに与えることができる。副ユーザーは、ワープロ文書における以前のページに戻り、あるセクションを協調し、またはディスプレイ上に仮想の線（例えば、円および矢印）を描くことによってというようにして、表示された情報を制御するために、ジェスチャーを行うことができる。このように、副ユーザーは、ジェスチャーによって容易に情報と相互作用することができ、ユーザーのフィードバックを一層効率的に与え、より良い理解を得ることができる。完了したときに、主ユーザーは、副ユーザーの制御するためのアクセスを取り除くか、または副ユーザーが制御を放棄することもできる。
【００６９】
[0079]  本システムの制御は、ユーザー間で移すこと、または複数のユーザー間で共有することができる。ジェスチャーによって制御を移すまたは共有することにより、例えば、コントローラーの回りを歩き回る必要なく、またはプレゼンテーションの態様を制御するために計算環境の近くに移動する必要もなく、ユーザーが情報を管理するための一層容易な方法を提供する。ユーザーは、彼らの席からジェスチャーによって本システムと対話することができる。複数のプレゼンターがいる場合のように、一人よりも多いユーザーが主ユーザーになることもできる。各プレゼンターは、彼らが一緒にいる間、提示されるコンテンツが特定的であり、特定のユーザーによってアクセス可能となるように、プレゼンテーションの特定の態様を制御することができる。
【００７０】
[0080]  他の例では、主ユーザーが、任意のユーザーからのフィードバックを求めて、発言権を解放することによって、副ユーザー・アクセスを部屋にいる任意のユーザーに与えることができる。主ユーザーは、聴衆の中にいる任意のユーザーのような、任意の参加者によるジェスチャーを介した情報の制御にアクセスさせることができる。例えば、プレゼンテーションの終了時に、主ユーザーは本システムにコマンドを発行して、部屋にいる任意のユーザーによるジェスチャーを本システムに処理させ認識させて、このジェスチャーを制御に変換させることができる。他の例では、本システムは、制御の要求を認識し、この要求を許可するか否か判断することができる。例えば、制御を要求するジェスチャーは、ユーザーの腕を真っ直ぐ上に上げることを含むことができる。本システムは、聴衆のメンバーによって行われたジェスチャーを認識することができる。本システムは、ユーザーがジェスチャーを介して制御を要求したことを示すことができる。本システムは、制御を要求するジェスチャーを認識したときに、当該システムの態様を制御するために、ユーザーに自動的にアクセスを与えることができ、または本システムは、副ユーザー制御を与える主ユーザーの許可まで待つこともできる。
【００７１】
[0081]  他の例では、プレゼンターによって設定された設定値によってというようにして、副ユーザーによる任意のアクセスを与えるために、プレゼンテーションにおいて一定時間まで待つように本システムに指令することもできる。例えば、他のユーザーに制御することを許可する前に、主ユーザーがフィードバックを要求するのを待つように、本システムに指令することができ、これは、システムによる認識のために、ジェスチャーによって指示することができる。しかしながら、その間に、本システムは、制御を要求するジェスチャーを行う各ユーザーを識別することによって、ユーザー要求のキューを生成することができる。次いで、主ユーザーが聴衆からのフィードバックの準備ができたときに、本システムは、ユーザーが制御を要求した順序を示すために、このキューを表示することができる。
【００７２】
[0082]  本システムは、現在の情報のプレゼンテーションのように、要求するユーザーのジェスチャーの他の状況を識別することができる。例えば、主ユーザーのプレゼンテーションの最中に、聴衆のメンバーが制御を要求するジェスチャーを行って、ユーザーがフィードバックを与えることおよび／または本システムを制御することを望んでいることを示すことができる。この時点で聴衆のメンバーに制御を与える代わりに、前述のように、本システムはユーザーのジェスチャーを認識して、キューにおいてそのユーザーを識別することができる。主ユーザーがフィードバックを要求したときに、本システムは、ユーザーの要求を示すことができるだけでなく、プレゼンテーションにおいてユーザーがジェスチャーを行った時点まで戻ることができる。このように、本システムは、ユーザーのジェスチャーの時点で最新であった表示に自動的に戻ることができる。
【００７３】
[0083]  尚、ユーザーが視野の中に入っているキャプチャー・デバイスのうち任意のものによってデーターを取り込むことができ、このキャプチャー・デバイスにネットワーク接続されている任意の計算環境が、取り込まれたデーターに対してジェスチャー認識技法を採用できることを注記しておく。例えば、ジェスチャー認識は、キャプチャー・デバイス２０５によって取り込まれたデーターに対して、主計算環境２１０によって採用することができる。他の例では、特定のユーザーと関連付けられている計算環境がジェスチャーを認識することもできる。例えば、ユーザー２６３が計算環境２１４と対話処理することができ、キャプチャー・デバイス２０４がユーザー２６３のジェスチャーを表すデーターを取り込むことができる。
【００７４】
[0084]  本システムの同じ制御に対するジェスチャーが、様々に変化してもよい。上の例では、ユーザーが、腕をいっぱいに広げて手を上げることによって、制御を要求するジェスチャーを行うことができる。しかしながら、制御を要求するジェスチャーは、指または手の動きというような、小規模のジェスチャーであってもよい。プレゼンテーションの流れにおいて解釈を制限するように、ジェスチャーを定めることもできる。ジェスチャーは、ユーザーが対話処理する計算環境に依存して、様々に変化することができる。例えば、図２Ｂにおけるユーザー２６３は、小規模な計算環境２１４と対話処理することができ、ユーザーまたは計算環境に特定のジェスチャーを適用することができる。ユーザーは、例えば、このユーザーの個人計算環境またはセル・フォンにおいて利用可能な、１組の定められたジェスチャーを有することができる。したがって、このユーザーは、ユーザーの個人的好みに依存して、一意にジェスチャーを行うことができる。
【００７５】
[0085]  ユーザーのアクセス・レベルに対する指定は、物理空間にいる他のユーザーによって、またはアプリケーションの管理者によって、システム自体によって等というように、複数の利用可能なソースを介して付与することができる。例えば、本システムは物理空間においてデーターを取り込むことができる。この取り込んだデーターから、本システムは４人のユーザー２６０、２６１、２６２、２６３全てを物理空間において識別することができる。本システムは、単純に、人間のターゲットが物理空間にいることを識別することができるか、あるいは、例えば、身体／顔認識技法に基づいて、特定のユーザーを識別することができるとよい。本システムは、ユーザー毎に特定のアクセス・レベルを指定することができる。
【００７６】
[0086]  本システムは、存在のみに基づいて、または物理空間におけるユーザーの位置に基づいて、ユーザーのアクセス・レベルを指定することができる。例えば、本システムは、図２Ａおよび図２Ｂに示すキャプチャー・デバイス２０２によって取り込まれたデーターを分析し、この取り込んだデーターから人間を識別することができる。物理空間において検出された各ユーザーには、デフォルトで、特定のアクセス・レベルを指定することができる。例えば、単に存在のみに基づいたユーザーのアクセス・レベルを、デフォルトとして、副ユーザーのアクセスに設定することができる。本システムは、部屋におけるユーザーの位置に基づいて、ユーザーのアクセス・レベルを特定することができる。例えば、座っているユーザー、例えば、部屋のある部分にいるユーザーまたは子供は、デフォルトで、見物ユーザーとして指定してもよい。ユーザーのアクセス・レベルの指定を変更することもできる。ユーザーの指定は、動的にして、ユーザーの活動を反映するように変化することができる。例えば、ユーザーが話しているとき、本システムは、ジェスチャー制御のために、この話しているユーザーに的を絞ることもできる。
【００７７】
[0087]  複数の参加者がある種々のシナリオには、各々、異なる要望があることもあり、したがって、本明細書において記載される種々の特徴は１つのシナリオに対して独特であり、任意に変化する特徴の組み合わせを含むこともある。例えば、本明細書において記載した方法例、または物理空間において主ユーザーを特定するための他のこのような同様の方法からの第１の方法が、第１のシナリオには一層適しているが、主ユーザーを選択するための第２の方法の方が、他のシナリオには適している場合もある。同様に、アプリケーション、会議の種類、ユーザーの種類、提示される情報のタイプ、１日の時刻でさえも、または部屋における照明というような、任意の特性に依存して、アクセス・レベルが様々に変化してもよい。
【００７８】
[0088]  他の例では、あるユーザーが本システムにログインすることができ、このユーザーの識別を、特定のアクセス・レベルと関連付けることもできる。例えば、情報のプレゼンテーションの制作者を主ユーザーとして関連付けることができ、この制作者を物理空間において特定したときに、本システムはこのターゲットを主ユーザーとして指定することができる。本システムによって検出された他のユーザーには、副ユーザーの指定を与えることができる。あるいは、主ユーザーのプレゼンテーションの聴衆に入るはずのユーザーが本システムにログインすることができ、このユーザーがログインしたときに指定を与えてもよい。または、主ユーザーが、会議の参加者に対して、アクセス・レベルを定めることができる。
【００７９】
[0089]  ユーザー・プロファイルが、特定のユーザーに対してしかるべきアクセス・レベルを示すこともできる。例えば、本システムは、ユーザー・プロファイル情報のデーターベース（例えば、身体または顔の特徴データー）を有することができ、ユーザーをユーザー・プロファイルに相関付けることができる。本システムは、ユーザー・プロファイルに基づいて、または、取り込まれたデーターから識別された身体特性に基づいて、特定のユーザーを識別することができる。例えば、本システムは、キャプチャー・デバイス２０２によって取り込まれたデーターを分析し、身体／顔認識技法を使用して特定のユーザーを識別することができる。あるユーザーに対してユーザー・プロファイルが存在しない場合、本システムはそれを作ることができる。ユーザーのプロファイルは、本システムが採用すべきユーザーのアクセス・レベルの指示を与えることができる。
【００８０】
[0090]  主ユーザー、副ユーザー、または見物ユーザーとしてのユーザーの指定は、永続的指定とすることもできる。あるいは、指定が変化すること、または指定を変化させることもできる。更に、アクセス・レベル毎の設定／限度／制約も変更することができる。例えば、副ユーザーが本システムの態様を制御するためのアクセスを有することもできるが、他のユーザーに制御を付与する権限を有することはできないとしてもよい。しかしながら、これらの設定は、副ユーザーが他の人にアクセスを付与することができるように、変更することもできる。本システムまたはアプリケーションが、デフォルト情報に基づいてアクセス・レベルを設定してもよく、あるいはシナリオに対して特定的にレベルを定めてもよい。
【００８１】
[0091]  前述のように、一人のユーザーが、他のユーザーのアクセス・レベルを指定するためにジェスチャーを行うことができる。また、ジェスチャーは、情報のプレゼンテーションの態様を制御または管理するために適用可能にしてもよい。例えば、ワープロ・アプリケーションの形態でプレゼンテーションが実行される場合、ユーザーは、文書において１ページずつ前または後ろに動かすためのジェスチャーを行うことができる。ジェスチャーは、表示されているプレゼンテーションにアクセスしているユーザーによる一層厳密な分析のために、文書の一態様を強調するおよび／または画面上でそれを拡大するために適用可能であってもよい。
【００８２】
[0092]  視覚表現が、本システムの制御を共有する方法に対応することもできる。例えば、本システムの制御が一人のユーザーから次のユーザーに移される場合、視覚表現は同じままであってもよいが、制御を得たユーザーに対応するように、それに関連付けられたユーザーに移すことができる。他の例では、前述のように、各ユーザーが、彼または彼女と関連付けられた視覚表現を有することができる。本システムは、ユーザーの視覚表現に関する何らかの指示によって、どのユーザーが現在制御を有するのか示すことができる。例えば、制御を有していないユーザーの視覚表現をディスプレイから徐々に消していく、即ち、フェードすることができる。他の実施形態例では、現在ジェスチャーを行っているユーザーの視覚表現（１つまたは複数）のみを表示するおよび／または動かすこともできる。
【００８３】
[0093]  制御の指定は、ジェスチャーによって行うことができる。例えば、主ユーザーが、本システムの態様を制御する選択肢を副ユーザーに与えるために、ある種の様式でジェスチャーを行うことができる。図２Ｂにおけるユーザー２６０のような主ユーザーが、ユーザー２６１、２６２、２６３のような、ユーザーのグループにプレゼンテーションを行っている場合について考える。この主ユーザーは、表示を切り替える、画面上で物を動かす、画面上で垂直に線を引く、文書のセクションを強調する等というように、情報のプレゼンテーションを管理するために、ジェスチャーを使用していることもあり得る。
【００８４】
[0094]  本システムは、ユーザーに必ずしも特定的ではなく、そうであっても、異なる様式に関する情報を含むプロファイルにも、アクセスすることまたそうでなければ格納することができる。例えば、様式プロファイルは、あるタイプのプレゼンテーション、あるタイプのプレゼンター、あるタイプの聴衆等に適用可能なジェスチャー情報を含むことができる。好みを設定することもでき、または様式毎に適用されるジェスチャーを定めるデフォルト情報を含むこともできる。ユーザーは、特定のプレゼンテーションに対して実施される様式プロファイルのタイプを選択することができる。例えば、プレゼンターが、音楽を１クラスの学生に教える作曲者である場合、ジェスチャーは広く、大きな円を描くジェスチャーとするとよい。しかしながら、プレゼンターが、控えめなジェスチャーを行う司書である場合、プレゼンターは、最も小さな規模の動きを含むジェスチャーを選択すればよい。潜在的顧客のグループにゲームについての情報を提示する販売担当者と、裁判の手続き中に裁判官に情報を提示する弁護士との間に存在し得る違いについて考える。販売担当者は、もてなすような、愉快な口調とするとよいやり方で提示することを望むかもしれない。つまり、プレゼンテーションに適用可能な様式プロファイルは、より大きな、円を描く動きのうちの１つとするとよく、この様式プロファイルが、高いレベルのアニメーションと共に視覚表現を表示すべきことを示すことができる。裁判手続きの例では、しかしながら、様式プロファイルは、もっと小さなジェスチャーおよび最小限のアニメーションを含むのがよい。
【００８５】
[0095]  前述のように、リモート計算環境がネットワークを介してリソースを共有することができ、このリソースは、アプリケーション、およびそれぞれの物理空間におけるユーザーからの入力による本システムの制御を含む。つまり、図２Ａまたは図２Ｂに示す物理空間２０１から離れたユーザーは、このユーザーのローカルな物理空間においてジェスチャーを行うことによって、システム２００の態様を制御することができる。ネットワークを介して、このリモート・ユーザーにローカルな計算環境が、他のリモート計算環境またはローカル計算環境と、ネットワークを介して情報を共有することができ、リモート・ユーザーが、ジェスチャーによって、システムにネットワーク接続されている他の計算環境の態様を制御することが可能になる。つまり、例えば、あるアプリケーションがリモート・システムにおいて実行している場合、ユーザーのジェスチャーを処理し分析して、このリモート・システムの態様を制御することができる。
【００８６】
[0096]  図２Ｄおよび図２Ｅは、キャプチャー・デバイス２０２、計算デバイス２１２、およびディスプレイ・デバイス２２２を含むことができるシステム２００を示す。例えば、キャプチャー・デバイス２０２、計算デバイス２１２、およびディスプレイ・デバイス２２２は、各々、本明細書において記載したデバイスのように、所望の機能を実行する任意の適したデバイスを含むことができる。
【００８７】
[0097]  図２Ｄおよび図２Ｅは、ターゲット認識、分析、および追跡システムの一例を、それぞれ、側面図および上面図で示し、更にポイントおよびフォーカス機能によって対話処理するユーザー２６５の一実施形態例を示す。この例は、ユーザーの視点に関するときの制御例を表す。このユーザーは、指し示すジェスチャーでシステムと対話処理することができ、このシステムはポイントおよびフォーカス機能双方が可能である。言い換えると、ユーザーの指し示すジェスチャーについての本システムの分析は、多次元的であり、ユーザーの見通し線および手の動きを、ユーザーの画面上における焦点を判定するために、考慮に入れることができる。例えば、キャプチャー・デバイス２０２は、ユーザーの頭の位置を追跡して、ユーザーの頭が回された方向を判定することができる。このキャプチャー・デバイスは、ユーザーの実際の目の動きを追跡する忠実度を有し、画面上の位置に対応するユーザーの目の見通し線を検出することができる。また、本システムは、物理空間におけるユーザーの手、腕、または指の位置変化を追跡するというように、ユーザーの手、腕、および指の動きも追跡することができる。本システムは、動きを分析して、ユーザーの身体部分と画面上における意図する対象位置との間の見通し線を判定することができる。手／腕／指の座標を使用して頭／目の見通し線を追跡することによって、本システムは、ユーザーは画面上における特定の場所を指し示すときに、ユーザーが一層自然で直感的な動きで動くことまたはジェスチャーを行うことを可能にし、本システムはユーザーに関するキャプチャー・デバイスからの追加入力を使用して、画面上における対象位置を判定する。本システムは、ユーザーがどこを指しているのかについての本システムの解釈を表すカーソルまたは他のシンボルを、画面上に表示することができる。
【００８８】
[0098]  図３は、生産性シナリオを改良するために、開示された技法を組み込むことができるネットワーク型または分散型システム例３００の一例である。勿論、実際のネットワークおよびデーターベース環境は、種々の設定(configuration)で構成することができるが、ここに示す環境例は、一実施形態が動作することができるタイプの環境を理解するためのフレームワークを示す。
【００８９】
[0099]  システム３００は、計算環境３０２、３０４、３０６、３０８、およびキャプチャー・デバイス３１２、３１４、３１６のネットワークを含むことができる。これらのエンティティ３０２、３０４、３０６、３０８、３１２、３１４、および３１６の各々は、プログラム、方法、データー・ストア、プログラマブル・ロジック等を含む、または利用することができる。ユーザー３２２、３２４、３２６、３２８が、それぞれ、計算環境３０２、３０６、３０４とローカルに関連付けられて、示されている。本明細書において開示する種々の実施形態では、ユーザーのグループが、実在する世界における他のユーザーとの会議の体験を複製し、会議タイプの設定において共同作業することができる。この体験は、ユーザーが異なる物理位置におりネットワークを介して通信することができる仮想世界において複製することができる。ユーザーの場所にあるディスプレイが、このグループのユーザーを表すアバターをレンダリングすることができる。
【００９０】
[0100]  計算環境３０２、３０４、３０６、３０８、およびキャプチャー・デバイス３１２、３１４、３１６は、ネットワーク２５０を介して通信することができる。ネットワーク２５０は、同じまたは異なる場所にある計算環境３０２、３０４、３０６、３０８を任意のタイプ、数、またはその組み合わせのネットワークによってネットワーク接続することができるように、任意の数またはタイプのネットワークを表すことができる。ネットワーク２５０は、メッセージをこのネットワークの１つの部分から他の部分に、任意の数のリンクまたはノードを経由して受け渡すことができるように構成されている、任意のネットワークとすることができる。例えば、現在開示されている主題の一態様によれば、計算環境、キャプチャー・デバイス、およびディスプレイ・デバイスの各エンティティは、離散機能プログラム・モジュールを含むことができる。これらの離散機能プログラム・モジュールは、ＡＰＩあるいは他のオブジェクト、ソフトウェア、ファームウェア、および／またはハードウェアを利用して、他の計算環境、キャプチャー・デバイス、およびディスプレイ・デバイスのうち１つ以上のサービスを要求することができる。任意の数のそれぞれのローカル計算環境と関連付けられた任意の数のユーザーが、ネットワーク２５０を介して、同じアプリケーションにアクセスすることができる。つまり、ネットワーク２５０を介して通信することによって、任意の数のユーザーがジェスチャーによって複数の他のユーザーと対話することができる。例えば、第１の場所において行われたジェスチャーは、変換してこの第１の場所を含む複数の場所においてディスプレイにマッピングすることができる。
【００９１】
[0101]  ネットワーク２５０は、それ自体が、本明細書において記載するジェスチャー・ベース・システムにサービスを提供する、他の計算エンティティを含むことができ、それ自体が、複数の相互接続されたネットワークを表すことができる。ネットワーク２５０は、例えば、イントラネット、インターネット(an internet)、インターネット(the Internet)、パーソナル・エリア・ネットワーク（ＰＡＮ）、キャンパス・エリア・ネットワーク（ＣＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、コンピューター・ネットワーク、ゲーミング・ネットワーク等を含むことができる。また、ネットワーク２５０は、光ファイバー、公衆電話交換網（ＰＳＴＮ）、セルラ電話ネットワーク、グローバル・テレックス・ネットワーク、ワイヤレスＬＡＮ、イーサネット、電力線通信等のような、ネットワークにおいて個々のデバイスを接続する技術を代表することもできる。計算環境は、有線システムまたはワイヤレス・システムによって、ローカル・ネットワークまたは広く分散されたネットワークによって、互いに接続することができる。ネットワーク通信には、任意の適したワイヤレス・インターフェースを利用することができる。例えば、ワイヤレス・リンクは、以下のプロトコルに準拠することができる。ＧＳＭ（登録商標）、ＣＤＭＡ、ＵＭＴＳ、ＬＴＥ、ＷＩＭＡＸ、ＷＩＦＩ、ＺＩＧＢＥＥ、またはその組み合わせ。ネットワークは、クラウドまたはクラウド計算を含むこともできる。例えば、クラウド・インフラストラクチャは、データー・センターを介して配信されサーバー上で組み立てられる複数のサービスを含むことができる。これらのサービスは、ネットワーキング・インフラストラクチャへのアクセスを与えるところであれば、どこからでもアクセスすることができる。クラウドは、ユーザーにとって１つのアクセス・ポイントのように見えるかもしれず、インフラストラクチャはクライアントには見えないのであってもよい。
【００９２】
[0102]  前述のように、計算環境は、専用ビデオ・ゲーム・コンソールのような、キャプチャー・デバイスによって受け取られたデーターを処理するのに適した任意のデバイス、あるいはセルラ電話機またはパーソナル・コンピューターのような、もっと一般的な計算デバイスであってもよい。例示の目的で、計算環境３０８はサーバーであり、計算官許３０６は移動体ハンドヘルド計算デバイスであり、計算環境３０２および３０６は任意のタイプの計算環境を表すものとする。
【００９３】
[0103]  これらの例では、キャプチャー・デバイス３１２、３１４、および３１６のようなキャプチャー・デバイスは、ユーザーがいる物理空間においてシーンを取り込むことができる。ユーザー３２２、３２４、３２６、および３２８のようなユーザーは、それぞれ、位置＃１、＃２、＃３、および＃４においてキャプチャー・デバイス３１２、３１４、および３１６の撮影視野の中にいることができる。各キャプチャー・デバイスは、その場所におけるユーザーのジェスチャーを表すデーターを取り込むことができる。各場所におけるキャプチャー・デバイスは、有線接続、ワイヤレス接続、および／またはネットワーク接続を介して、ローカルな計算環境に接続することができる。例えば、場所＃１において、キャプチャー・デバイス３１２は、ワイヤー３０４を介して計算環境３０２に接続されていることが示されている。有線接続は、キャプチャー・デバイスを計算環境に結合する、Ｓ−ビデオ・ケーブル、同軸ケーブル、ＨＤＭＩケーブル、ＤＶＩケーブル、ＶＧＡケーブル等のようなケーブルを含むことができる。キャプチャー・デバイスは、計算環境に直接差し込むように構成することができ、またそうでなければ、キャプチャー・データーを処理することができる計算環境に組み込むことができる。
【００９４】
[0104]  キャプチャー・デバイスは、処理のために、取り込んだデーターを計算環境に供給することができる。この計算環境は、データーに対してジェスチャー認識技法を使用することができ、ユーザーは、計算環境またはアプリケーションの態様を含む、ジェスチャー・ベース・システムの態様を制御するためにジェスチャーを行うことができる。一実施形態例では、キャプチャー・デバイスは、それ自体が、取り込んだデーターを処理することができる計算環境であってもよい。例えば、任意のキャプチャー・デバイス３１２、３１４、４１６が、プロセッサーのように、キャプチャー・データーを処理しジェスチャー認識技法を使用する能力を有することもできる。例えば、場所＃２において、キャプチャー・デバイス３１４は、ハンドヘルド計算デバイス３０４に組み込まれている場合が示されている。
【００９５】
[0105]  各計算環境３０２、３０４、３０６、３０８、および対応するキャプチャー・デバイスが、場所＃１、場所＃２、場所＃３、および場所＃４に示されている。本明細書において使用する場合、場所とは、本システムの種々の部分を配置することができる任意の場所を含む、広い用語である。例えば、場所＃１、＃２、＃３、および＃４は、家の中における異なる部屋のように、互いに非常に近接していてもよく、異なる州におけるように、互いに非常に離れていてもよく、またはその任意の組み合わせでもよい。これらの場所は、１つの同じ、一般的な、ローカルな場所に広がる特定の場所を指してもよい。例えば、各場所＃１、＃２、＃３、および＃４は、会議室のような、一般的な場所内における本システムのコンポーネントの特定の場所を指すのであってもよい。システム３００の種々の部分は、ネットワーク２５０を介してというようにして、ローカルにまたは離れて通信することができる。
【００９６】
[0106]  例えば、ネットワーク接続されたシステムがあり、このシステムが作業環境に対応することがわかるとよい場合を考える。例えば、場所＃１および場所＃３は、計算環境３０２、３０６およびキャプチャー・デバイス３１２、３１４が同じ部屋の中にあるように、同じ会議室を表すことができる。ローカル・デバイスが、ネットワーク２５０を介してというように、ローカル接続を介して接続されていてもよい。場所＃２は、離れた場所であって、リモート・サーバー３０８をこの離れた場所に維持できるようにしているのでもよい。そして、計算環境３０４は住居であってもよく、ユーザーが自宅から作業を行い、家庭用ネットワーク接続を介してネットワーク２５０にログインする。
【００９７】
[0107]  このように、場所は、ジェスチャーを取り込むまたは処理するデバイスを配置することができる任意の場所を指すことを想定している。他の例では、リモート・ユーザーが、サーバー３０８においてホストされているゲーミング・サービスに接続するゲーミング・ネットワークを考える。各場所＃１、＃３、および＃４にいるリモート・ユーザーは、ネットワーク２５０を介して接続することができ、互いを相手に同じゲームをプレーすることができる。他の例では、場所はローカルであってもよく、ローカル・ユーザーが同じ部屋においてそれぞれの計算環境で作業しており、ローカル・エリア・ネットワーク２５０を介して互いに対話するのであってもよい。
【００９８】
[0108]  キャプチャー・デバイスは、取り込んだデーターを、処理のために計算環境に供給することができる。この計算環境は、このデーターに対してジェスチャー認識技法を使用し、ユーザーは、計算環境またはアプリケーションの態様を含む、ジェスチャー・ベース・システムの態様を制御するためにジェスチャーを行うことができる。一実施形態例では、キャプチャー・デバイスは、それ自体が、取り込んだデーターを処理することができる計算環境であってもよい。例えば、任意のキャプチャー・デバイス３１２、３１４、３１６が、プロセッサーのような、キャプチャー・データーを処理しジェスチャー認識技法を使用する、能力を有することもできる。例えば、場所＃２において、キャプチャー・デバイス３１４が、ハンドヘルド計算デバイス３０４に組み込まれている場合が示されている。
【００９９】
[0109]  場所＃１では、キャプチャー・デバイス３１２が、ワイヤー３０５を介して計算環境に接続されている場合が示されているが、ネットワーク２５０への接続２５１を介してローカル計算環境と通信することもできる。例えば、同じ場所＃１にあるキャプチャー・デバイス３１２および計算環境３０２は、家庭用ワイヤレス・ネットワークの一部であってもよい。キャプチャー・デバイス３１２は、ユーザー３２２のジェスチャーを表すデーターを取り込み、このデーターを、家庭用ワイヤレス・ネットワーク２５０を介して、計算環境３０２に供給することができる。このように、キャプチャー・デバイス３１２および計算環境３０２は異なる部屋、例えば、もっと一般的な場所、場所＃１にあってもよい。例えば、計算環境３０２は、家庭用ワイヤレス・ネットワーク２５０における中心計算環境３０２であってもよく、事務所のような、１つの部屋に配置することもできる。キャプチャー・デバイス３１２およびディスプレイ３０３は、家の中にあるメディアまたはゲーム室のような、他の部屋に配置されていてもよい。キャプチャー・デバイス３１２がユーザー３２２のデーターを取り込み、それを処理のために計算環境３０２に供給し、計算環境からディスプレイ３０３への出力を受け取ることができるように、キャプチャー・デバイス３１２を計算環境３０２にネットワーク接続することができる。
【０１００】
[0110]  同様に、前述の計算環境またはキャプチャー・デバイスが、これらの計算環境またはキャプチャー・デバイスのいずれかまたは双方に対してローカルまたはリモートであるディスプレイに出力することもできる。例えば、場所＃１では、計算環境３０２が、ディスプレイ・コンポーネント３０３と共に示されている。しかしながら、キャプチャー・デバイス３０４と同様、有線接続、ワイヤレス接続、および／またはネットワーク接続を介して、ディスプレイ３０３を計算環境３０２に接続してもよいことが考えられる。つまり、ディスプレイ・コンポーネント３０３は、例えば、家庭用ワイヤレス・ネットワーク２５０の一部であってもよく、ワイヤーまたはネットワーク２５０を介してキャプチャー・デバイス３０４から表示用出力を受け取ることができる。
【０１０１】
[0111]  ネットワーク型システムのコンポーネントは、ある場所内においてローカルに、または複数の場所を跨いで離れて情報を共有することができる。一実施形態例では、ローカル計算環境３０２は、ユーザー３２２を表すデーターをキャプチャー・デバイス３１２から受け取る。計算環境３０２は、計算環境３０２のディスプレイ・コンポーネント３０３、またそうでなければ計算環境３０２に接続されている他のディスプレイ・デバイスのような、ローカル・ディスプレイに出力することができる。計算環境３０２は、代わりにまたは加えて、データーをリモート計算環境またはリモート・ディスプレイ・コンポーネントに、表示のために供給することもできる。例えば、計算環境３０２はネットワーク２５０を介して計算環境３１６と通信することができる。計算環境３０６は、計算環境３０２からデーターを受け取り、ユーザー３２２のジェスチャーを、計算環境３０６にローカルなディスプレイ・コンポーネント３０７にマッピングすることができる。
【０１０２】
[0112]  他の実施形態例では、キャプチャー・デバイス３１２は、計算環境３０４、３０６、または３０８のような、リモート計算環境による分析または表示のために、ネットワーク２５０を介してデーターを供給することができる。このように、ユーザーからはリモートである計算環境が、ユーザー３２２に対してローカルであるキャプチャー・デバイス３１２によって取り込まれたデーターを処理することができるが、リモート計算環境におけるユーザーの視覚表示を表示することができる。
【０１０３】
[0113]  分散型計算環境をサポートする種々のシステム、コンポーネント、およびネットワーク構成がある。例えば、計算システム同士を、有線システムまたはワイヤレス・システムによって、ローカル・ネットワークまたは広く分散されたネットワークによって接続することができる。現在、多くのネットワークがインターネットに結合されており、広く分散された計算のためのインフラストラクチャが設けられ、多くの異なるネットワークを含む。このようなインフラストラクチャであれば、インターネットに結合されていてもいなくても、任意のものを、提供される本システムおよび方法と共に使用することができる。
【０１０４】
[0114]  ネットワーク・インフラストラクチャが、クライアント／サーバー、ピーア・ツー・ピア、または混成アーキテクチャーのような、ネットワーク・トポロジーの後援(host)を可能にするのであってもよい。「クライアント」とは、他のクラスのサービスを使用するクラスまたはグループ、あるいはそれが関係付けられていないグループの一メンバーである。計算において、クライアントはプロセスであり、即ち、大まかには、他のプログラムによって提供されるサービスを要求する１組の命令またはタスクである。クライアント・プロセスは、他のプログラムやサービス自体についての作業詳細を全く必要とせずに、要求したサービスを利用する。クライアント／サービス・アーキテクチャ、特にネットワーク型システムでは、クライアントは、通常、他のコンピューター、例えば、サーバーによって提供される共有ネットワーク・リソースにアクセスするコンピューターである。状況に依存して、任意のエンティティ３０２、３０４、３０６、３０８、３１２、３１４、および３１６を、クライアント、サーバー、または双方と見なすことができる。そして、更に、娯楽用コンソールに関して、これはサーバーに対するクライアントとすることができる。
【０１０５】
[0115]  必ずしもそうとは限らないが、サーバーは、通例、インターネットのような、リモート・ネットワークまたはローカル・ネットワークを介してアクセスできるリモート・コンピューター・システムである。クライアント・プロセスは、第１コンピューター・システムにおいてアクティブになり、サーバーは第２コンピューター・システムにおいてアクティブになって、通信媒体を介して互いに通信することができ、こうして分散型機能が設けられ、複数のクライアントがこのサーバーの情報収集機能を利用することが可能になる。任意のソフトウェア・オブジェクトを、複数の計算デバイスまたはオブジェクトに跨がって分散させることもできる。
【０１０６】
[0116]  クライアント（１つまたは複数）およびサーバー（１つまたは複数）は、プロトコル・レイヤー（１つまたは複数）によって提供される機能を利用して、互いに通信する。例えば、HyperText Transfer Protocol（ＨＴＴＰ）は、ワールド・ワイド・ウェブ（ＷＷＷ）即ち「ウェブ」と共に使用されている極一般的なプロトコルである。通例、インターネット・プロトコル（ＩＰ）アドレスのようなコンピューター・ネットワーク・アドレス、またはユニバーサル・リソース・ロケーター（ＵＲＬ）のような他の参照を使用して、サーバーまたはクライアント・コンピューターを互いに特定することができる。ネットワーク・アドレスを、ＵＲＬアドレスと呼ぶことができる。通信は、通信媒体を介して行うことができ、例えば、クライアント（１つまたは複数）およびサーバー（１つまたは複数）を、高容量通信用のＴＣＰ／ＩＰ接続（１つまたは複数）を介して互いに結合することができる。
【０１０７】
[0117]  このように、場所とは、ジェスチャー・データーを処理するまたは取り込むためのデバイスを配置することができる任意の場所を指すことが考えられる。他の例では、リモート・ユーザーがサーバー３０８においてホストされているゲーミング・サービスに接続するゲーミング・ネットワークを考える。各場所＃１、＃３、および＃４にいるリモート・ユーザーは、ネットワーク２５０を介して接続すればよく、互いを相手にして同じゲームをプレーすることができる。他の例では、場所は、ローカルであってもよく、ローカル・ユーザーが同じ部屋においてそれぞれの計算環境で作業しており、同じシステム・コンポーネントを介してまたはローカル・エリア・ネットワークを介して互いに対話するのであってもよい。
【０１０８】
[0118]  本明細書において使用する場合、システムに対する参照は、図２Ａから図３において示したシステム２００の任意の１つの部分、その組み合わせ、あるいは同様の機能を実行することができる任意の追加コンポーネントまたは計算環境に対する参照とすることができる。例えば、計算環境３０２は、図２に示した計算デバイス２１２に関して説明した機能、または図８に関して以下で説明するコンピューターに関して説明する機能を提供することができる。尚、図１から図２Ｃからの２１０、２１２、２１３、２１４のような、本明細書において記載した計算環境、または図３からの計算環境３０２、３０４、３０６のうち任意の１つを、図１に関して説明したターゲット認識、分析、および追跡システム１０のような、ターゲット認識、分析、および追跡システムとして構成してもよく、更にこれらの計算環境のうち任意の１つが、ジェスチャー認識、スケーリング、または変換技法を採用してもよいことが考えられる。図１、図２Ａから図２Ｅ、および図３に示すように、計算環境２１０、２１２、２１３、２１４は、ディスプレイ・デバイスを含むことができ、またそうでなければ、ディスプレイ・デバイスに接続することができる。計算環境は、それ自体のカメラ・コンポーネントを含むことができ、単体のキャプチャー・デバイスに接続することができ、またはキャプチャー・デバイス２０２のような、カメラ・コンポーネントを有するデバイスに接続することもできる。例えば、物理空間からデーターを取り込むことができるキャプチャー・デバイス２０２から、ユーザー２０４についてのジェスチャー情報に、計算環境２１２を結合することができ、またそうでなければこのジェスチャー情報を受け取ることができる。
【０１０９】
[0119]  本明細書において提供される一般的なフレームワークにしたがって構築することができる様々な計算環境、および図３のような計算環境において計算に生じる可能性がある更に他の多様化に照らして、本明細書において提供するシステムおよび方法は、特定の計算アーキテクチャーやオペレーティング・システムに限定されるように解釈することは、全く不可能である。逆に、現在開示されている主題は、任意の１つの実施形態に限定されるのではなく、添付した特許請求の範囲にしたがってその広さおよび範囲が解釈されてしかるべきである。
【０１１０】
[0120]  最後に、本明細書において記載した種々の技法は、ハードウェアまたはソフトウェア、あるいは適している場合には、双方の組み合わせと共に実現してもよいことも、注記してしかるべきである。つまり、現在開示されている主題の方法、コンピューター読み取り可能媒体、およびシステム、あるいはある種の態様またはその一部は、フロッピー・ディスケット、ＣＤ−ＲＯＭ、ハード・ドライブ、または任意の他の機械読み取り可能記憶媒体のような、有形媒体に具体化されたプログラム・コード（即ち、命令）の形態をなすことができ、このプログラム・コードを、コンピューターのような、機械(machine)にロードして実行すると、この機械が主題を実施する装置となる。
【０１１１】
[0121]  プログラマブル・コンピューターにおけるプログラム・コード実行の場合、計算環境は、一般に、プロセッサー、このプロセッサーによって読み取り可能な記憶媒体（揮発性および不揮発性メモリー、および／または記憶エレメントを含む）、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを含むことができる。コンピューター・システムと通信するために、例えば、データー処理ＡＰＩ等の使用によって、本開示のドメイン特定プログラミング・モデルの態様の作成および／または実施を利用することができる１つ以上のプログラムが、高度手順またはオブジェクト指向プログラミング言語で実現されることが好ましい。しかしながら、プログラム（１つまたは複数）は、望ましければ、アセンブリーまたは機械語で実現することもできる。いずれの場合でも、言語は、コンパイル言語またはインタプリタ言語とすることができ、ハードウェアの実施態様と組み合わせることができる。
【０１１２】
[0122]  図４は、ターゲット認識、分析、および追跡に使用することができるキャプチャー・デバイス２０２の一実施形態例を示し、ターゲットはユーザーまたは物体とすることができる。一実施形態例によれば、キャプチャー・デバイス２０２は、例えば、飛行時間、構造化照明、立体画像等を含む任意の適した技法によって、深度値を含むことができる深度画像を含む深度情報と共にビデオを取り込むように構成することができる。一実施形態によれば、キャプチャー・デバイス２０２は、計算された深度情報を「Ｚレイヤー」、または見通し線に沿って深度カメラから延びるＺ軸に垂直であればよいレイヤーに編成することができる。
【０１１３】
[0123]  図４に示すように、キャプチャー・デバイス２０２は画像カメラ・コンポーネント２２を含むことができる。一実施形態によれば、画像カメラ・コンポーネント２２は、シーンの深度画像を取り込むことができる深度カメラとするとよい。深度画像は、取り込まれたシーンの二次元（２Ｄ）画素エリアを含むことができ、この２Ｄ画素エリアにおける各画素が、例えば、カメラから取り込まれたシーンにおける物体のセンチメートル、ミリメートル等を単位とした、長さまたは距離のような、深度値を表すことができる。
【０１１４】
[0124]  図４に示すように、一実施形態例によれば、画像カメラ・コンポーネント２２は、ＩＲ照明コンポーネント２４、三次元（３Ｄ）カメラ２６、およびシーンの深度画像を取り込むために使用することができるＲＧＢカメラ２８を含むことができる。例えば、飛行時間分析では、キャプチャー・デバイス２０２のＩＲ照明コンポーネント２４は赤外線光を画面上に放出することができ、次いでセンサー（図示せず）を使用して、例えば、３Ｄカメラ２６および／またはＲＧＢカメラ２８を使用して、シーンの中にある１つ以上のターゲットおよび物体の表面から後方散乱した光を検出することができる。実施形態の中には、出立光パルスと対応する入来光パルスとの間の時間を測定し、キャプチャー・デバイス２０２からのシーンの中にあるターゲットまたは物体上の特定位置までの物理的距離を判定するために、この時間を使用することができるように、パルス状赤外線光を使用するとよい場合がある。加えて、他の実施形態例では、出立光波の位相を、入来光波の位相と比較して、位相ずれを判定することもできる。次いで、この位相ずれは、キャプチャー・デバイス２０２からターゲットまたは物体上の特定位置までの物理的距離を判定するために使用することができる。
【０１１５】
[0125]  他の実施形態例によれば、例えば、散乱光パルス撮像を含む種々の技法によって経時的に反射光ビームの強度を分析することによって、キャプチャー・デバイス２０２からターゲットまたは物体上の特定位置までの物理的距離を間接的に判定するために、飛行時間分析を使用することもできる。
【０１１６】
[0126]  他の実施形態例では、キャプチャー・デバイス２０２は構造化照明を使用して深度情報を取り込むこともできる。このような分析では、パターン化光（即ち、格子パターンまたは縞模様パターンのような既知のパターンとして表示される光）を、例えば、ＩＲ照明コンポーネント２４によって画面上に投射するとよい。画面における１つ以上のターゲットまたは物体の表面に衝突すると、このパターンは、応答して、変形することができる。このパターンのこのような変形は、例えば、３Ｄカメラ２６および／またはＲＧＢカメラ２８によって取り込むことができ、次いでこれを分析して、キャプチャー・デバイス２０２からターゲットまたは物体上の特定位置までの物理距離を判定することができる。
【０１１７】
[0127]  他の実施形態によれば、キャプチャー・デバイス２０２は２つ以上の物理的に分離されたカメラを含むこともでき、これらが１つのシーンを異なる角度から見て視覚的立体データーを得て、このデーターを分解して深度情報を生成することができる。他の実施形態例では、キャプチャー・デバイス２０２はポイント・クラウド・データー(point cloud data)およびターゲット・ディジタル化技法を使用して、ユーザーの特徴を検出することもできる。
【０１１８】
[0128]  更に、キャプチャー・デバイス２０２は、マイクロフォン３０、またはマイクロフォンのアレイを含むこともできる。マイクロフォン３０は、音響を受けて電気信号に変換する変換器またはセンサーを含むことができる。一実施形態によれば、マイクロフォンは、ターゲット認識、分析、および追跡システム１０においてキャプチャー・デバイス２０２と計算環境２１２との間におけるフィードバックを減らすために使用することができる。加えて、マイクロフォン３０は、計算環境２１２によって実行することができる、ゲーム・アプリケーション、ゲーム以外のアプリケーション等のようなアプリケーションを制御するために、ユーザーによって与えることもできるオーディオ信号を受けるために使用することもできる。
【０１１９】
[0129]  一実施形態例では、キャプチャー・デバイス２０２は、更に、画像カメラ・コンポーネント２２と動作的に通信することができるプロセッサー３２も含むことができる。プロセッサー３２は、命令を実行することができる標準的なプロセッサー、特殊プロセッサー、マイクロプロセッサー等を含むことができる。これらの命令には、深度画像を受け取り、この深度画像に適したターゲットが含まれ得るか否か判定を行い、適したターゲットをそのターゲットのスケルトン表現またはモデルに変換する命令、または任意の他の適した命令を含むことができる。例えば、コンピューター読み取り可能媒体は、シーンのデーターを受け取るコンピューター実行可能命令を含むことができ、このデーターは、物理空間におけるターゲットを表すデーターを含む。前述の命令は、本明細書において記載するような、ジェスチャー・プロファイル個人化およびジェスチャー・プロファイル・ローミング(roaming)のための命令を含む。
【０１２０】
[0130]  キャプチャー・デバイス２０２は、更に、メモリー・コンポーネント３４も含むことができる。メモリー・コンポーネント３４は、プロセッサー３２によって実行することができる命令、３Ｄカメラ２６またはＲＧＢカメラ２８によって取り込まれた画像または画像のフレーム、あるいは任意の他の適した情報、画像等を格納することができる。一実施形態例によれば、メモリー・コンポーネント３４は、ランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリー・メモリー（ＲＯＭ）、キャッシュ、フラッシュ・メモリー、ハード・ディスク、または任意の他の適した記憶コンポーネントを含むことができる。図４に示すように、一実施形態では、メモリー・コンポーネント３４は、画像キャプチャー・コンポーネント２２およびプロセッサー３２と通信することができる別個のコンポーネントであってもよい。他の実施形態によれば、メモリー・コンポーネント３４は、プロセッサー３２および／または画像キャプチャー・コンポーネント２２に統合されてもよい。
【０１２１】
[0131]  図４に示すように、キャプチャー・デバイス２０２は、通信リンク３６を介して、計算環境２１２と通信することができる。通信リンク３６は、例えば、ＵＳＢ接続、Firewire接続、イーサネット・ケーブル接続等を含む有線接続、および／またはワイヤレス８０２．１１ｂ、ｇ、ａ、またはｎ接続のようなワイヤレス接続とすることができる。一実施形態によれば、計算環境２１２は、クロックをキャプチャー・デバイス２０２に供給することができる。このクロックは、例えば、通信リンク３６を介してシーンをいつ取り込むべきか判定するために使用することができる。
【０１２２】
[0132]  加えて、キャプチャー・デバイス２０２は、例えば、３Ｄカメラ２６および／またはＲＧＢカメラ２８によって取り込まれた深度情報および画像、ならびにキャプチャー・デバイス２０２によって生成することができるスケルトン・モデルを、計算環境２１２に、通信リンク３６を介して供給することができる。すると、計算環境２１２は、このスケルトン・モデル、深度情報、および取り込まれた画像を使用して、例えば、ゲームまたはワード・プロセッサーのようなアプリケーションを制御することができる。例えば、図４に示すように、計算環境２１２はジェスチャー・ライブラリー１９２を含むことができる。
【０１２３】
[0133]  図４に示すように、計算環境２１２は、ジェスチャー・ライブラリー１９２と、ジェスチャー認識エンジン１９０とを含むことができる。ジェスチャー認識エンジン１９０は、ジェスチャー・フィルター１９１の集合体を含むことができる。フィルターは、ジェスチャーを認識する、あるいはそうでなければ深度、ＲＧＢ、またはスケルトン・データーを処理することができる、コードおよび関連付けられたデーターを含むことができる。各フィルター１９１は、ジェスチャーを定める情報を、そのジェスチャーに対するパラメーター、またはメタデーターと共に含むことができる。例えば、投げる動作は、手の１つが身体の背後から身体の前方を通過する動きを含み、その動きが深度カメラによって取り込まれるに連れて、ユーザーの手の１つが身体の背後から身体の前方を通過する動きを表す情報を含むジェスチャー・フィルター１９１として実装することができる。次いで、このジェスチャーに対してパラメーターを設定することができる。このジェスチャーが投げる動作である場合、パラメーターは、手が達しなければならないしきい値速度、手が移動しなければならない距離（ユーザー全体のサイズに対して絶対的、または相対的のいずれか）、および認識エンジンによる、ジェスチャーが行われたことの信頼度格付けとするとよい。ジェスチャーに対するこれらのパラメーターは、アプリケーション間、１つのアプリケーションのコンテキスト間、または１つのアプリケーションの１つのコンテキスト内において経時的に様々に変化するのであってもよい。
【０１２４】
[0134]  ジェスチャー認識エンジン１９０がジェスチャー・フィルターの集合体を含むことができると考えられる場合、フィルターが深度、ＲＧＢ、またはスケルトン・データーを処理するコードを含むかまたそうでなければコンポーネントを表すことができ、フィルターの使用は、分析をフィルターに限定することを意図するのではない。フィルターは、システムによって受け取られたシーンのデーターを分析し、そのデーターをジェスチャーを表す基準情報と比較するコードのコンポーネント例またはセクション例を表す。分析の結果、本システムは、入力データーがそのジェスチャーに対応するか否かに対応する出力を生成することができる。ジェスチャーを表す基準データーは、ユーザーのキャプチャー・モーションを表すデーターの履歴において繰り返す特徴に対応するように、調節することができる。例えば、基準情報は、前述のようなジェスチャー・フィルターの一部であってもよい。しかし、入力データーおよびジェスチャー・データーを分析するのに適した任意のやり方が考えられる。
【０１２５】
[0135]  一実施形態例では、ジェスチャーは、変更モードに入るためのトリガーとして認識することができ、ユーザーは、そのユーザーのジェスチャー・プロファイルにおけるジェスチャー・パラメーターを変更することができる。例えば、ジェスチャー・フィルター１９１は、変更トリガー・ジェスチャーを認識する情報を含むことができる。この変更トリガー・ジェスチャーが認識された場合、アプリケーションは変更モードに入ることができる。変更トリガー・ジェスチャーは、アプリケーション間、システム間、ユーザー間等で様々に変化してもよい。例えば、テニス・ゲーム・アプリケーションにおける同じジェスチャーが、ボーリング・ゲーム・アプリケーションにおける同じ変更トリガー・ジェスチャーでなくてもよい。
【０１２６】
[0136]  カメラ２６、２８およびデバイス２０２によってスケルトン・モデルの形態で取り込まれたデーター、ならびにそれと関連付けられた動きは、ジェスチャー・ライブラリー１９２においてジェスチャー・フィールド１９１と比較され、いつユーザー（スケルトン・モデルによって表された）が１つ以上のジェスチャーを行ったのか特定することができる。つまり、フィルター１９１のようなフィルターへの入力は、関節において１つになる骨によって形成される角度のような、ユーザーの関節位置についての関節データー、シーンからのＲＧＢカラー・データー、およびユーザーの態様の変化率というような項目を含むことができる。前述のように、ジェスチャーに対してパラメーターを設定することができる。フィルター１９１からの出力は、所与のジェスチャーが行われていることの信頼度、ジェスチャーの動きが行われる速度、およびジェスチャーが行われた時刻というような項目を含むことができる。
【０１２７】
[0137]  計算環境２１２は、プロセッサー１９５を含むことができる。プロセッサー１９５は、深度画像を処理して、部屋におけるユーザー１８または物体のような、シーンのなかにあるターゲットが何であるのか判定することができる。これは、例えば、同様の距離値を共有する深度画像の画素を一緒にグループ化することによって行うことができる。また、この画像を解析して、ユーザーのスケルトン表現を生成することもでき、関節、および関節間にある組織のような特徴が特定される。深度カメラによって人を取り込み、それから、手の関節、手首、肘、膝、鼻、踝、肩、および骨盤が脊椎と交わるところといった、そのユーザーの骨格上における種々のスポットを判定する、スケルトン・マッピング技法が存在する。他の技法には、画像をその人の身体モデル表現に変換し、この画像をその人のメッシュ・モデル表現に変換することが含まれる。
【０１２８】
[0138]  一実施形態では、キャプチャー・デバイス２０２自体において処理が実行され、深度および色（キャプチャー・デバイス２０２が３Ｄカメラ２６を含む場合）の生画像データーが、リンク３６を介して、計算環境２１２に送られる。他の実施形態では、カメラ４０２に結合されているプロセッサー３２によって処理が実行され、解析された画像データーは計算環境２１２に送られる。更に他の実施形態では、生画像データーおよび解析した画像データーの双方が、計算環境２１２に送られる。計算環境２１２は、解析された画像データーを受け取ればよいが、更に、現在のプロセスまたはアプリケーションを実行するために、生データーも受け取るとよい。例えば、コンピューター・ネットワークを経由して他のユーザーにシーンの画像が送られる場合、計算環境２１２は、他の計算環境による処理のために、この生データーを送ることができる。
【０１２９】
[0139]  計算環境２１２は、図４に示すようなジェスチャー・プロファイル２０５と共に、ジェスチャー・ライブラリー１９２を使用して、スケルトン・モデルの動きを解釈し、この動きに基づいてアプリケーションを制御することができる。計算環境２１２は、アバターの形態のような、ユーザーの表現、またはディスプレイ・デバイス１９３におけるような、ディスプレイ上のポインタをモデル化し表示することができる。ディスプレイ・デバイス１９３は、コンピューター・モニター、テレビジョン画面、または任意の適したディスプレイ・デバイスを含むことができる。例えば、カメラ制御型コンピューター・システムが、ユーザー画像データーを取り込み、ユーザーのジェスチャーにマッピングするテレビジョン画面上にユーザー・フィードバックを表示することができる。このユーザー・フィードバックは、図１に示したように、画面上のアバターとして表示することができる。このアバターの動きをユーザーの動きにマッピングすることによって、アバターの動きを直接制御することができる。ユーザーのジェスチャーを解釈して、アプリケーションのある種の態様を制御することができる。
【０１３０】
[0140]  一実施形態例によれば、ターゲットは、立っているまたは座っているというような、任意の位置にいる人間のターゲット、物体を持っている人間のターゲット、２人以上の人間のターゲット、一人以上の人間のターゲットの１つ以上の四肢等とすることができ、このターゲットを走査、追跡、モデル化、および／または評価して、仮想画面を生成し、このユーザーを１つ以上の格納されているプロファイルと比較し、および／または計算環境２１２のような計算環境に、このユーザーと関連付けられているジェスチャー・プロファイル２０５を格納することができる。ジェスチャー・プロファイル２０５は、ユーザー、アプリケーション、またはシステムに特定的とすることができる。ジェスチャー・プロファイル２０５には、アプリケーションを介してアクセス可能とするか、または、例えば、システム規模で利用可能とするとよい。ジェスチャー・プロファイル２０５は、特定のユーザー・プロファイル情報をロードするための参照表を含むことができる。仮想画面は、図１に関して先に説明した計算環境２１２によって実行することができるアプリケーションと相互作用することができる。
【０１３１】
[0141]  ジェスチャー・プロファイル２０５は、とりわけ、走査または推定したターゲットの身体サイズ、スケルトン・モデル、身体モデル、音声サンプルまたはパスワード、ターゲットの性別、ターゲットの年齢、以前のジェスチャー、ターゲットの制限、および座る傾向、左利きまたは右利き、あるいはキャプチャー・デバイスに非常に近接して立つ傾向というような、システムのターゲットによる標準的使用というような、ユーザー識別データーを含むことができる。この情報は、キャプチャー・シーンにおけるターゲットと一人以上のユーザーとの間に一致があるか否か判断するために使用することができる。一致があった場合、そのユーザーについてのジェスチャー・プロファイル２０５をロードすることができ、そして一実施形態では、ジェスチャー認識技法をこのユーザーに適応させること、またはジェスチャー・プロファイル２０５にしたがって計算またはゲーミング体験の他の要素を適応させることを、本システムに可能にすることができる。
【０１３２】
[0142]  １つ以上のジェスチャー・プロファイル２０５を計算環境２１２に格納し、複数のユーザー・セッションにおいて使用することができ、あるいは１つのセッションのみのために、１つ以上のプロファイルを作ることができる。ユーザーは、音声または身体走査、年齢、個人的な好み、左利きまたは右利き、アバター、名前等のような情報を本システムに提供できるときに、プロファイルを作る選択肢を有することができる。また、ジェスチャー・プロファイルは、取り込み空間に進入せず本システムに全く情報を提供しない「ゲスト」についても、生成または提供することができる。一人以上のゲストに対して、一時的個人プロファイルを作ることもできる。ゲスト・セッションの終了時に、ゲスト・ジェスチャー・プロファイルを格納しても削除してもよい。
【０１３３】
[0143]  ジェスチャー・ライブラリー１９２、ジェスチャー認識エンジン１９０、およびジェスチャー・プロファイル２０５は、ハードウェア、ソフトウェア、または双方の組み合わせによって実現することができる。例えば、ジェスチャー・ライブラリー１９２、およびジェスチャー認識エンジン１９０は、図４に示す計算環境２１２のプロセッサー１９５、または図７の処理ユニット１０１、または図８の処理ユニット２５９のような、プロセッサーにおいて実行するソフトウェアとして実現することができる。
【０１３４】
[0144]  尚、図４ならびに以下で説明する図７および図８に図示したブロック図は一例であって、特定の実施態様を暗示することを意図するのではないことを強調しておく。つまり、図４におけるプロセッサー１９５または３２、図７の処理ユニット１０１、および図８の処理ユニット２５９は、１つのプロセッサーまたは複数のプロセッサーとして実現することができる。複数のプロセッサーを分散すること、または集中的に配置することができる。例えば、ジェスチャー・ライブラリー１９２は、キャプチャー・デバイスのプロセッサー３２において実行するソフトウェアとして実現することができ、または計算環境２１２におけるプロセッサー３２において実行するソフトウェアとして実現することもできる。本明細書において開示される技法を実行するのに適したプロセッサーの任意の組み合わせが考えられる。複数のプロセッサーが、ワイヤレスで、ハード・ワイヤーを介して、またはその組み合わせで通信することができる。
【０１３５】
[0145]  ジェスチャー・ライブラリーおよびフィルター・パラメーターは、ジェスチャー・ツールによって、アプリケーションまたはアプリケーションのコンテキストに対して調整することができる。コンテキストは、文化的コンテキスト(cultural context)とすることができ、そして環境コンテキストとすることもできる。文化的コンテキストとは、システムを使用するユーザーの文化を指す。異なる文化が同様のジェスチャーを使用して、全く異なる意味を与えることもある。例えば、他のユーザーに「見ろ」または「彼の目を使え」と言いたいアメリカ人は、彼の人差し指を彼の目の遠端側近くで彼の頭部に置けばよい。しかしながら、イタリア人のユーザーにとって、このジェスチャーは、マフィアに言及するものとして解釈される可能性がある。
【０１３６】
[0146]  同様に、１つのアプリケーションの異なる環境間で異なるコンテキストがある場合もある。自動車を運転することを伴うファースト・パーソン・シューター・ゲーム(first-person shooter game)を取り上げる。ユーザーが歩きながら、指を地面に向けて拳を作り、身体から離れるように前方にその拳を広げると、パンチを打つジェスチャーを表すことができる。ユーザーが運転のコンテンツにある間では、その同じ動きが「ギア・シフト」ジェスチャーを表すこともある。
【０１３７】
[0147]  ジェスチャーは、相補ジェスチャーのジャンル・パッケージに纏めてグループ化することができ、相補ジェスチャーは、そのジャンルの中にあるアプリケーションによって使用される可能性が高い。相補ジェスチャーは、一般に一緒に使用されるものにおける相補、または１つのパラメーターを変化させると、他のパラメーターも変化するという場合のような相補のいずれであっても、纏めてジャンル・パッケージにグループ化することができる。これらのパッケージをアプリケーションに供給することができ、アプリケーションはそのうち少なくとも１つを選択することができる。このアプリケーションは、ジェスチャーまたはジェスチャー・フィルター１９１のパラメーターを調整または変更し、当該アプリケーションの独特の態様に最もよく合わせることができる。そのパラメーターを調整すると、これらのパラメーターが相補であり続けるように、ジェスチャーまたは第２のジェスチャーのいずれかの相補パラメーター（相互依存の意味で）も調整される。ビデオ・ゲームに対するジャンル・パッケージは、ファースト・ユーザー・シューター、アクション、運転、およびスポーツというようなジャンルを含むことができる。
【０１３８】
[0148]  図５Ａは、キャプチャー・デバイス２０２から生成することができるユーザーのスケルトン・マッピングの一例を示す。この実施形態では、種々の関節および骨が識別され、各手５０２、各前腕５０４、各肘５０６、各上腕二頭筋５０８、各肩５１０、各臀部５１２、各腿５１４、各膝５１６、各前肢５１８、各足５２０、頭部５２２、胴５２４、脊椎の最上部５２６および最下部５２８、ならびにウェスト５３０がある。もっと多くのポイントを追跡する場合、指またはつま先の骨および関節、あるいは鼻および目のような顔の個々の構造というような、追加の構造を識別すればよい。
【０１３９】
[0149]  ユーザーは、彼の身体を動かすことによって、ジェスチャーを行うことができる。ジェスチャーは、ユーザーによる動きまたはポーズを含み、画像データーとして取り込み、解析して意味を求めることができる。ジェスチャーは、ボールを投射する真似をするというような動きを含み、動的であってもよい。ジェスチャーは、人が胴体５２４の前で前腕５０４を組んだままにしているというような、静止ポーズであってもよい。ジェスチャーは、１つの動き（例えば、ジャンプ）、または連続したジェスチャー（例えば、運転）であってもよく、期間が短くても、または期間が長くても（例えば、２０２分間の運転）よい。また、ジェスチャーは、偽の剣を振るというように、小道具を組み込んでもよい。また、ジェスチャーは、手５０２同士を叩くというような、１つよりも多い身体部分を含んでもよく、または人がその唇をすぼめるというような些細な動きであてもよい。
【０１４０】
[0150]  ジェスチャーは、一般的な計算コンテキストにおける入力に使用することができる。例えば、手５０２または他の身体部分の種々の動きは、階層リストにおいて上下にナビゲートする、ファイルを開く、ファイルを閉じる、ファイルをセーブするというような、共通するシステム全体のタスクに対応することもできる。例えば、ユーザーは指を広げ掌をキャプチャー・デバイス２０２に向けた状態で手を保持することができる。次いで、彼は彼の指を掌に向けて閉じて拳を作ることができ、これが、ウィンドウ・ベースのユーザー・インターフェース計算環境において注目されているウィンドウを閉じることを指示するジェスチャーとすることができる。また、ユーザーは、ゲームに依存して、ジェスチャーをビデオ・ゲーム特定のコンテキストで使用することもできる。例えば、運転ゲームでは、手５０２および５３２０の種々の動きが、ある方向に車両を操縦すること、ギアをシフトすること、アクセルを踏むこと、およびブレーキをかけることに対応することができる。このように、ジェスチャーは、表示されているユーザー表現にマッピングする広範囲の動きを、ビデオ・ゲーム、テキスト・エディター、ワープロ、データー管理等のような、多種多様のアプリケーションにおいて、示すことができる。
【０１４１】
[0151]  ユーザーは、彼自身がその場で歩行または走行することによって、歩行または走行に対応するジェスチャーを生成することができる。例えば、ユーザーは、動くことなく歩行を模擬するには、各足５１２〜５２０を交互に上げ下げすればよい。本システムは、各臀部５１２および各腿５１４を分析することによって、このジェスチャーを解析することができる。１つの臀部−膝の角度（垂直線に対して測定する。この場合、直立しているときの足の臀部−腿の角度は０度であり、前方に水平に延ばした足の臀部−腿の角度は９０度である）が、他方の腿に対してあるしきい値を超えたときに、１歩(step)を認識することができる。歩行または走行は、交互の足によるある回数の連続する歩進の後に、認識することができる。最後の２回の歩進間の時間は、周期と考えることができる。ある回数の周期の後、しきい値角度が満たされない場合、本システムは、歩行または走行ジェスチャーが停止したと判断することができる。
【０１４２】
[0152]  「歩行または走行」ジェスチャーを想定した場合、アプリケーションは、このジェスチャーと関連のあるパラメーターに値を設定することができる。これらのパラメーターは、前述のしきい値角、歩行または走行ジェスチャーを開始するのに必要な歩進数、ジェスチャーを終了するために歩進が行われなかった周期の数、およびジェスチャーが歩行または走行か否か判断するしきい値周期を含むことができる。ユーザーが彼の足を素早く動かしたときの速い周期は走行に対応することができ、それよりも遅い周期は歩行に対応することができる。
【０１４３】
[0153]  ジェスチャーには、１組のデフォルト・パラメーターを最初に関連付けることができ、アプリケーションは、それ自体のパラメーターで、デフォルト・パラメーターを無効にすることができる。このシナリオでは、アプリケーションはパラメーターを供給することを強制されないが、代わりに、アプリケーションが定めたパラメーターがない場合にジェスチャーを認識することを可能にする１組のデフォルト・パラメーターを使用することができる。ジェスチャーに関する情報は、プリキャンド・ジェスチャー・アニメーション(pre-canned gesture animation)の目的のために格納することができる。
【０１４４】
[0154]  ジェスチャーと関連付けることができる種々の出力がある。ジェスチャーが行われているか否かについて、「はいまたはいいえ」というベースラインがあるとよい。また、ユーザーの追跡されている動きがジェスチャーに対応する可能性に対応する、確実度レベルがあってもよい。これは、０および１の間で、０および１を含む浮動小数点数を範囲とする線形目盛りとすることができる。このジェスチャー情報を受け取ったアプリケーションが擬陽性を入力として受け入れることができない場合、認識されたジェスチャーのうち、少なくとも０．９５というような、高い確実度レベルを有するもののみを使用するとよい。アプリケーションが、擬陽性を犠牲にしてでも、そのジェスチャーのあらゆるインスタンスを認識しなければならない場合、０．２よりも僅かに大きいというような、遙かに低い確実度レベルを少なくとも有するジェスチャーを使用してもよい。ジェスチャーは、最後の２回の歩進間の時間についての出力を有することができ、最初の歩進のみが登録されている場合、これを、−１のような、予約値に設定するとよい（何故なら、任意の２回の歩進の間の時間は、正でなければならないからである）。また、ジェスチャーは、最新の歩進間に達した最も高い腿の角についての出力も有することもできる。
【０１４５】
[0155]  他のジェスチャー例に、「踵上げジャンプ」(heel lift jump)がある。この場合、ユーザーは、彼の踵を地面から上げるが、彼のつま先を付けたままにすることによって、このジェスチャーを行うことができる。あるいは、ユーザーは空中にジャンプすることもでき、この場合彼の両足５２０は完全に地上から離れている。本システムは、肩５１０、臀部５１２、および膝５１６の角度関係を分析することによって、このジェスチャーについてスケルトンを解析し、これらが、真っ直ぐに起立するときと等しい並び(alignment)の位置にあるか否か調べることができる。次いで、これらのポイントならびに上下の脊椎点５２６および５２８を監視して、あらゆる上方向への加速度を求めることができる。十分な加速度の組み合わせがあると、ジャンプ・ジェスチャーをトリガーすることができる。加速を特定のジェスチャーと十分に組み合わせることによって、遷移点のパラメーターを満たすことができる。
【０１４６】
[0156]  この「踵上げジャンプ」ジェスチャーを想定した場合、アプリケーションは、このジェスチャーと関連のあるパラメーターに対して値を設定することができる。これらのパラメーターは、このジェスチャーをトリガーするためには、ユーザーの肩５１０、臀部５１２、および膝５１６の何らかの組み合わせが、どの位速く上に動かなければならないかを決定する前述の加速度しきい値、ならびに、ジャンプをまだトリガーすることができる肩５１０、臀部５１２、および膝５１６の間の並びの最大角を含むことができる。出力は、確実度レベル、およびジャンプの時点におけるユーザーの身体の角度を含むとことができる。
【０１４７】
[0157]  ジェスチャーを受け取るアプリケーションの特性(particulars)に基づいてそのジェスチャーについてのパラメーターを設定することは、ジェスチャーを精度高く識別するには重要である。ジェスチャーおよびユーザーの意図を適正に識別すると、疑いの余地のないユーザー体験を作り出すのに大いに役立つ。
【０１４８】
[0158]  アプリケーションは、プリキャン・アニメーションを使用すべきポイントを特定するために、種々の遷移点と関連付けられたパラメーターに対して値を設定することができる。遷移点は、特定のジェスチャーの識別、速度、ターゲットまたは物体の角度、またはその任意の組み合わせというような、種々のパラメーターによって定めることができる。遷移点が、少なくとも部分的に、特定のジェスチャーの識別によって定められた場合、ジェスチャーと適正に識別することによって、遷移点のパラメーターが満たされたことの信頼度レベルを高めるのに役立つ。
【０１４９】
[0159]  ジェスチャーに対する他のパラメーターは、動いた距離とするとよい。ユーザーのジェスチャーが仮想環境におけるアバターの行為を制御する場合、そのアバターがボールからの腕の距離であってもよい。ユーザーがボールと相互作用しそれを掴みたい場合、ユーザーが、掴むジェスチャーを行いながら、彼の腕５０２〜５１０を最大限延ばすことが必要になる。この状況では、同様の掴むジェスチャーであっても、ユーザーが彼の腕５０２〜５１０を部分的に延ばすだけでは、ボールと相互作用するという結果には至らないようにするとよい。同様に、遷移点のパラメーターが、掴むジェスチャーの識別であることもでき、ユーザーが彼の腕５０２〜５１０を部分的にしか延ばさなかったために、ボールと相互作用する結果には至らなかったなら、ユーザーのジェスチャーは、遷移点のパラメーターも満たさない。
【０１５０】
[0160]  ジェスチャーまたはその一部は、それが行われなければならない空間のボリュームを、パラメーターとして有してもよい。この空間のボリュームは、通例、身体に関して表現することができ、ジェスチャーが身体の動きを含む。例えば、右利きのユーザーがフットボールを投げるジェスチャーは、右肩５１０ａよりも高い空間のボリューム、そして頭部５２２の投げる腕５０２ａ〜５１０ａと同じ側だけで認識されればよい。この投射ジェスチャーの場合のように、ボリュームの全ての境界を定める必要はない場合もある。この場合、身体から遠ざかる外側の境界は定められないままにされており、ボリュームは定められずに広がるか、または監視されているシーンのエッジまで広がる。
【０１５１】
[0161]  図５Ｂは、図４のジェスチャー認識エンジン１９０の一実施形態例を更に詳細に示す。図示のように、ジェスチャー認識エンジン１９０は、１つのジェスチャーまたは複数のジェスチャーを判定するために、少なくとも１つのフィルター５１９を備えることができる。フィルター５１９は、ジェスチャー５２６（以後、「ジェスチャー」と呼ぶ）を定める情報を含み、そのジェスチャー５２６についての少なくとも１つのパラメーター５２８、またはメタデーター含むことができる。例えば、投げる動作は、一方の手が身体の背後から身体の前を通過する動きが含まれ、この動きが深度カメラによって取り込まれると、ユーザーの一方の手が身体の背後から身体の前を通過する動きを表す情報を含むジェスチャー５２６として実現することができる。次いで、このジェスチャー５２６に合わせて、パラメーター５２８を設定することができる。ジェスチャー５２６が「投げる」の場合、パラメーター５２８は、手が到達しなければならないしきい値速度、手が移動しなければならない距離（絶対的な距離またはユーザー全体の大きさに対して相対的な距離）、および認識エンジン１９０による、そのジェスチャー５２６が行われたことの確実度の格付けとすることができる。ジェスチャー５２６についてのこれらのパラメーター５２８は、アプリケーション間、１つのアプリケーションのコンテキスト間、または１つのアプリケーションの１つのコンテキスト内において経時的に変化してもよい。
【０１５２】
[0162]  フィルターは、モジュール状または相互交換可能であるとよい。一実施形態では、フィルターは、複数の入力と複数の出力とを有し、これらの入力の各々がタイプを有し、これらの出力の各々がタイプを有する。この状況では、認識エンジンのアーキテクチャーの他の態様を全く変更することなく、第１のフィルターを、この第１のフィルターと同じ数および同じタイプの入力と出力とを有する第の２フィルターと交換することができる。例えば、入力としてスケルトン・データーを取り込み、そのフィルターと関連のあるジェスチャーが行われている確実度と、操縦角度とを出力する駆動用第１フィルターがあってもよい。おそらくは第２駆動フィルターの方が効率的であり必要な処理リソースが少なくて済むために、この第１駆動フィルターを第２駆動フィルターと交換したい場合、第２フィルターが同じ入力および出力、即ち、スケルトン・データー型である１つの入力と、確実度タイプおよび角度タイプである２つの出力を有する限り、単に第１フィルターを第２フィルターと交換することによって、そうすることができる。
【０１５３】
[0163]  フィルターがパラメーター５２８を有する必要はない。例えば、ユーザーの身長を戻す「ユーザー身長」フィルターが、調整することができるあらゆるパラメーターを考慮することはない。代わりの「ユーザー身長」フィルターが、ユーザーの身長を判定するときに、ユーザーの靴、髪型、帽子、および姿勢を考慮に入れるべきか否かというような、調整可能なパラメーターを有すればよい。
【０１５４】
[0164]  フィルターへの入力は、関節において合体する骨によって形成される角度のような、ユーザーの関節位置についての関節データー、シーンからのＲＧＢカラー・データー、およびユーザーの態様の変化率、というような事項を含むことができる。フィルターからの出力は、所与のジェスチャーが行われる確実度、ジェスチャーの動きが行われる速度、およびジェスチャーの動きが行われた時刻というような事項を含むことができる。
【０１５５】
[0165]  ジェスチャー認識エンジン１９０は、ジェスチャー・フィルター５１９に機能を与える基本認識エンジン５１７を有することができる。一実施形態では、認識エンジン５１７が実装する機能は、認識されたジェスチャーおよび他の入力を追跡する経時的入力アーカイブ、隠れマルコフ・モデルの実装（モデル化されるシステムは、未知のパラメーターを有するマルコフ・プロセスであると仮定される。このプロセスでは、現在の状態が、今後の状態を判定するために必要な任意の過去の状態情報をカプセル化するので、この目的のために他の過去の状態情報を維持しなくてもよい。隠れているパラメーターは、見物可能なデーターから判定される）、およびジェスチャー認識の特定の実例(instance)を解決するために必要とされる他の機能を含む。
【０１５６】
[0166]  基本認識エンジン５１７は、ジェスチャー・プロファイル５２０を含む。例えば、基本認識エンジン５１７は、ジェスチャー・プロファイル５２０をユーザーのために一時的にジェスチャー認識エンジンにロードし、ジェスチャー・プロファイル５２０にジェスチャー・フィルター情報を格納し、またそれ以外では離れた場所からジェスチャー・プロファイル５２０にアクセスすることができる。ジェスチャー・プロファイル５２０は、特定のユーザーに対応するために、フィルター５１９における情報を適応させるパラメーターを供給することができる。例えば、前述のように、ジェスチャー５２６は、しきい値速度または手が移動しなければならない距離に対するパラメーター５２８を有する、「投げる」であるとすることができる。ジェスチャー・プロファイル５２０は、投げるジェスチャー５２６に対して、しきい値速度または手が移動しなければならない距離を定め直すことができる。したがって、基本認識エンジン５１７は、フィルター５１９におけるパラメーターを、ジェスチャー・プロファイル５２０からのパラメーターで補足するか、または置き換えることができる。フィルター５１９は、デフォルト・ジェスチャー情報とすることができ、ジェスチャー・プロファイル５２０は、特定のユーザーに特定的にロードすることができる。
【０１５７】
[0167]  フィルター５１９は、基本認識エンジン５１７の上にロードおよび実装され、エンジン５１７によって全てのフィルター５１９に提供されるサービスを利用することができる。一実施形態では、基本認識エンジン５１７は、受け取ったデーターを処理して、それが任意のフィルター５１９の要件を満たすか否か判定する。入力を解析するというような、これらの提供されるサービスは、各フィルター５１９によってではなく、基本認識エンジン５１７によって１回提供されるので、このようなサービスは、ある時間期間に１回だけ処理されればよく、その期間中フィルター５１９毎に１回処理されるのではないので、ジェスチャーを判定するために必要とされる処理が減少する。
【０１５８】
[0168]  アプリケーションは、認識エンジン１９０によって提供されるフィルター５１９を使用することができ、またはそれ自体のフィルター５１９を設け、基本認識エンジン５１７にプラグインしてもよい。同様に、ジェスチャー・プロファイルが基本認識エンジン５１７にプラグインすることもできる。一実施形態では、全てのフィルター５１９がこのプラグイン特性をイネーブルするために、共通のインターフェースを有する。更に、全てのフィルター５１９がパラメーター５２８を利用することができるので、以下で説明するような１つのジェスチャー・ツールを使用して、フィルター・システム５１９全体をデバッグおよび調整することができる。
【０１５９】
[0169]  これらのパラメーター５２８は、ジェスチャー・ツール５２１によって、アプリケーションに対してまたはアプリケーションのコンテキストに対して調整することができる。一実施形態では、ジェスチャー・ツール５２１は、複数のスライダー５２３を備えており、各スライダー５２３が１つのパラメーター５２８、および身体５２４の描画表現に対応する。パラメーター５２８が対応するスライダー５２３によって調節されるに連れて、身体５２４は、これらのパラメーター５２８によってジェスチャーとして認識される行為、およびこれらのパラメーター５２８によってジェスチャーとして認識されるのではなく、そのまま識別される行為の双方を表すことができる。このジェスチャーのパラメーター５２８の可視化によって、ジェスチャーをデバッグし微調整する有効な手段が得られる。
【０１６０】
[0170]  図６は、複数のユーザーのために共有プレゼンテーション体験を作る方法の流れ図の一例を示す。例えば、図１から図３に示したような、システム２００、３００が、ここで示す動作を実行することができる。
【０１６１】
[0171]  ６０２において、本システムは情報のプレゼンテーションをレンダリングすることができる。前述のように、情報のプレゼンテーションは、情報が提示されている任意の生産性シナリオを含むことができ、プレゼンテーションは種々のフォーマットを取ることができる。６０４において、本システムは、ユーザーまたは人間以外のターゲットというようなターゲットを含む物理空間からデーターを取り込むことができる。前述のように、キャプチャー・デバイスが、シーンの深度画像のようなシーンのデーターを取り込み、このシーンにおけるターゲットを走査することができる。キャプチャー・デバイスは、このシーンにおける１つ以上のターゲットが、ユーザーのような人間のターゲットに対応するか否か判定を行うことができる。例えば、シーンにおけるターゲットまたは物体が人間のターゲットに対応するか否か判定を行うために、これらのターゲットの各々を塗りつぶし(flood filled)、人間の身体モデルのパターンと比較することができる。次に、この人間の身体モデルと一致した各ターゲットまたは物体を走査して、それと関連のあるスケルトン・モデルを生成することができる。例えば、人間として識別されたターゲットを走査して、それと関連のあるスケルトン・モデルを生成することができる。次に、このスケルトン・モデルを計算環境に供給して、このスケルトン・モデルを追跡し、このスケルトン・モデルと関連のある視覚表現をレンダリングすることができる。
【０１６２】
[0172]  既知／未知の物体を走査し、人間を走査し、シーンにおける背景の態様(aspects)（例えば、床、壁）を走査する能力を与える、任意の既知の技法または本明細書において開示した技法は、物理空間におけるターゲットの特徴を検出するために使用することができる。各々についての走査データーは、深度およびＲＧＢデーターの組み合わせを含むことができ、物体の三次元モデルを作るために使用することができる。ＲＧＢデーターは、モデルの対応するエリアに適用される。フレームからフレームへの時間的追跡は、信頼度を高め、オブジェクト・データーをリアルタイムで適応させることができる。つまり、オブジェクトのプロパティ、およびこのオブジェクトのプロパティの経時的な変化の追跡を使用して、フレーム毎にリアルタイムで位置および向きが変化する物体を信頼性高く追跡することができる。キャプチャー・デバイスは、インタラクティブ・レート(interactive rate)でデーターを取り込み、データーの忠実度を高め、開示した技法が、生の深度データーを処理し、シーンにおける物体をデジタル化し、物体の表面および表面模様を抽出し、ディスプレイがシーンのリアルタイムの描画を提供できるようにこれらの技法のうち任意のものをリアルタイムで実行することを可能にする。更に、複数のキャプチャー・デバイスが物理空間のデーターを取り込むこともできる。このデーターは、認識が追加データーに基づく場合に、ジェスチャー認識の忠実度が高まるように、併合することができる。キャプチャー・デバイスを一人のユーザーに合焦させることもでき、または多くのユーザーに関するデーターを取り込むこともできる。複数のキャプチャー・デバイスがあって、これらがデーターを共有することができる場合、そして第１のキャプチャー・デバイスがユーザーの視野を有さないまたはユーザーの相応しい視野を有さない場合、物理空間における第２のキャプチャー・デバイスがそのユーザーのデーターを取り込むことができる。
【０１６３】
[0173]  本システムは、６０６において、物理空間におけるユーザーの各々を識別し、６１４において、各ユーザーを視覚表現と関連付けることができる。本システムは、６０８において、ユーザー毎に制御レベルを指定することができ、制御は、物理空間におけるジェスチャーを介して行われる。例えば、ユーザーは、主ユーザー、副ユーザー、または見物ユーザーとすることができる。ジェスチャーおよびこのジェスチャーを行うユーザーに依存して、ジェスチャーは情報のプレゼンテーションの態様を制御することができる。本システムは、６１０において、ユーザーがジェスチャーを行ったか否か判定を行い、６１２において、プログラムを制御するためにこのジェスチャーを使用することができる。例えば、ジェスチャーは、ユーザーの位置または動きを含むことができ、これは入力データーとして取り込まれ、意味を解析することができる。解析された画像データーは、例えば、ジェスチャー認識エンジンによって、フィルター処理され、６１０においてジェスチャーが行われたか否か判定することができる。このように、本ジェスチャー・ベース・システムによって、情報のプレゼンテーションを複数のユーザーによって制御可能にすることができる。制御は、プレゼンテーションの種々の参加者間で共有する、移管する等を行うことができる。
【０１６４】
[0174]  視覚表現は、６１４において、各ユーザーと関連付けることができ、本システムは、６１６において、ジェスチャーまたはこのジェスチャーから得られる制御に対応させるために、この視覚表現を動画化することができる。視覚表現は、一人よりも多いユーザーと関連付けることもでき、または各ユーザーが一意の視覚表現を有することもできる。例えば、複数のユーザーが同じ視覚表現と関連付けられている場合、本システムはユーザー間で制御を移すことができる。
【０１６５】
[0175]  ６１８において、情報のプレゼンテーションが非逐次である場合、前述のように、ジェスチャーは非逐次情報の態様を制御することができる。つまり、この非逐次情報から所望の部分をユーザーが選択するときに、ジェスチャーを適用することができる。選択された部分を表示することによって、非逐次情報のキャンパスを、このようなキャンバスの重点部分に転換することができる。ユーザーは、キャンバス全域をナビゲートして、プレゼンテーションにおいて利用可能なアセットの合焦部分を変化させることができる。
【０１６６】
[0176]  コンピューター実行可能命令は、本明細書において記載したように、共有プレゼンテーション体験を作り、ユーザー間で制御を移すための命令を含むことができる。本明細書において記載した、ジェスチャーによる共有プレゼンテーション体験に対する方法のうち任意のものを、コンピューター実行可能命令として実現することができる。
【０１６７】
[0177]  図７は、ターゲット認識、分析、および追跡システムにおいて１つ以上のジェスチャーを解釈するために使用することができる計算環境の一実施形態例を示す。図１に関して先に説明した計算環境２１２のような計算環境は、ゲーミング・コンソールのような、マルチメディア・コンソール１００とすることができる。図７に示すように、マルチメディア・コンソール１００は、レベル１キャッシュ１０２、レベル２キャッシュ１０４、およびフラッシュＲＯＭ（リード・オンリー・メモリー）１０６を有する中央処理ユニット（ＣＰＵ）１０１を有する。レベル１キャッシュ１０２およびレベル２キャッシュ１０４は、一時的にデーターを格納し、こうしてメモリー・アクセス・サイクルの回数を減らすことによって、処理速度およびスループットを向上させる。ＣＰＵ１０１は、１つよりも多いコア、つまり、追加のレベル１およびレベル２キャッシュ１０２および１０４を有するように設けることもできる。フラッシュＲＯＭ１０６は、実行可能コードを格納することができる。実行可能コードは、マルチメディア・コンソール１００の電源をオンにしたときに、ブート・プロセスの初期段階中にロードされる。
【０１６８】
[0178]  グラフィクス処理ユニット（ＧＰＵ）１０８およびビデオ・エンコーダー／ビデオ・コデック（コーダー／デコーダー）１１４が、高速および高分解能グラフィクス処理のためにビデオ処理パイプラインを形成する。データーは、バスを介して、グラフィクス処理ユニット１０８からビデオ・エンコーダー／ビデオ・コデック１１４に送られる。ビデオ処理パイプラインは、テレビジョンまたは他のディスプレイに送信するために、データーをＡ／Ｖ（オーディオ／ビデオ）ポート１４０に出力する。メモリー・コントローラー１１０がＧＰＵ１０８に接続されており、限定ではなく、ＲＡＭ（ランダム・アクセス・メモリー）のような、種々のタイプのメモリー１１２にプロセッサーがアクセスし易くなっている。
【０１６９】
[0179]  マルチメディア・コンソール１００は、Ｉ／Ｏコントローラー１２０、システム管理コントローラー１２２、オーディオ処理ユニット１２３、ネットワーク・インターフェース・コントローラー１２４、第１ＵＳＢホスト・コントローラー１２６、第２ＵＳＢコントローラー１２８、およびフロント・パネルＩ／Ｏサブアセンブリ１３０を含む。好ましくは、これらはモジュール１１８に実装される。ＵＳＢコントローラー１２６および１２８は、周辺コントローラー１４２（１）〜１４２（２）、ワイヤレス・アダプター１４８、および外部メモリー・デバイス１４６（例えば、フラッシュ・メモリー、外部ＣＤ／ＤＶＤ  ＲＯＭドライブ、リムーバブル媒体等）のためのホストとしての役割を果たす。ネットワーク・インターフェース１２４および／またはワイヤレス・アダプター１４８は、ネットワーク（例えば、インターネット、ホーム・ネットワーク等）へのアクセスを与え、イーサネット・カード、モデム、Ｂｌｕｅｔｏｏｔｈモジュール、ケーブル・モデム等を含む広範囲の種々の有線またはワイヤレス・アダプター・コンポーネントのうち任意のものとすることができる。
【０１７０】
[0180]  システム・メモリー１４３は、ブート・プロセスの間にロードされるアプリケーション・データーを格納するために設けられている。メディア・ドライブ１４４が設けられており、ＤＶＤ／ＣＤドライブ、ハード・ドライブ、またはその他のリムーバブル・メディア・ドライブ等を含むことができる。メディア・ドライブ１４４は、マルチメディア・コンソール１００の内部にあっても外部にあってもよい。アプリケーション・データーは、実行、再生等のためにマルチメディア・コンソール１００によってメディア・ドライブ１４４を介してアクセスすることができる。メディア・ドライブ１４４は、シリアルＡＴＡバスまたはその他の高速接続（例えば、ＩＥＥＥ１３９４）のようなバスを介して、Ｉ／Ｏコントローラー１２０に接続されている。
【０１７１】
[0181]  システム管理コントローラー１２２は、メディア・コンソール１００が利用可能であることの確保に関する種々のサービス機能を提供する。オーディオ処理ユニット１２３およびオーディオ・コデック１３２は、高忠実度およびステレオ処理を行う、対応のオーディオ処理パイプラインを形成する。オーディオ・データーは、通信リンクを介して、オーディオ処理ユニット１２３とオーディオ・コデック１３２との間で伝えられる。オーディオ処理パイプラインは、外部オーディオ・プレーヤーまたはオーディオ処理能力を有するデバイスによる再生のために、データーをＡ／Ｖポート１４０に出力する。
【０１７２】
[0182]  フロント・パネルＩ／Ｏサブアセンブリ１３０は、電力ボタン１５０およびイジェクト・ボタン１５２の機能をサポートするだけでなく、マルチメディア・コンソール１００の外面上に露出する任意のＬＥＤ（発光ダイオード）またはその他のインディケーターもサポートする。システム電源モジュール１３６が、マルチメディア・コンソール１００のコンポーネントに電力を供給する。ファン１３８は、マルチメディア・コンソール１００内部にある回路を冷却する。
【０１７３】
[0183]  ＣＰＵ１０１、ＧＰＵ１０８、メモリー・コントローラー１１０、およびマルチメディア・コンソール１００内部にある種々のその他のコンポーネントは、１系統以上のバスを介して相互接続されている。これらのバスには、シリアル・バスおよびパラレル・バス、メモリー・バス、周辺バス、ならびに種々のバス・アーキテクチャーのうち任意のものを使用するプロセッサー・バスまたはローカル・バスが含まれる。一例として、このようなアーキテクチャーは、ペリフェラル・コンポーネント相互接続（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓバス等を含むことができる。
【０１７４】
[0184]  マルチメディア・コンソール１００の電源をオンにすると、システム・メモリー１４３からメモリー１１２および／またはキャッシュ１０２、１０４にアプリケーション・データーをロードし、ＣＰＵ１０１において実行することができる。アプリケーションは、グラフィカル・ユーザー・インターフェースを提示することができる。このグラフィカル・ユーザー・インターフェースは、マルチメディア・コンソール１００において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび／またはメディア・ドライブ１４４に含まれている他のメディアをメディア・ドライブ１４４から起動または再生して、マルチメディア・コンソール１００に追加の機能を設けることもできる。
【０１７５】
[0185]  マルチメディア・コンソール１００は、単にシステムをテレビジョンまたはその他のディスプレイに接続することによって、スタンドアロン・システムとして動作させることができる。このスタンドアロン・モードでは、マルチメディア・コンソール１００は、一人以上のユーザーがシステムと相互作用を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワーク・インターフェース１２４またはワイヤレス・アダプター１４８によって利用可能となるブロードバンド接続機能を統合することにより、更に大きなネットワーク・コミュニティにおける一関与要素(participant)としてマルチメディア・コンソール１００を動作させることもできる。
【０１７６】
[0186]  マルチメディア・コンソール１００の電源をオンにすると、マルチメディア・コンソールのオペレーティング・システムによって、設定されている量のハードウェア・リソースがシステムの使用のために確保される。これらのリソースは、メモリー（例えば、１６ＭＢ）、ＣＰＵおよびＧＰＵサイクル（例えば、５％）、ネットワーキング帯域幅（例えば、８ｋｂｓ）等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。
【０１７７】
[0187]  特に、メモリーの確保は、起動カーネル、コンカレント・システム・アプリケーション、およびドライバーを含めるのに十分大きいことが好ましい。確保されたＣＰＵの使用がそのシステム・アプリケーションによって使用されない場合、アイドル状態にあるスレッドが未使用サイクルのうち任意のものを消費するように、ＣＰＵの確保を一定にすることが好ましい。
【０１７８】
[0188]  ＧＰＵの確保に関して、ＧＰＵ割り込みを使用することによって、システム・アプリケーション（例えば、ポップアップ）が生成する軽量メッセージを表示して、ポップアップをオーバーレイにレンダリングするコードをスケジューリングする。オーバーレイに必要とされるメモリー量は、オーバーレイ・エリアのサイズに依存し、オーバーレイは画面の解像度と共に拡縮する(scale)ことが好ましい。コンカレント・システム・アプリケーションによってフル・ユーザー・インターフェースが使用される場合、アプリケーションの解像度とは独立した解像度を使用することが好ましい。周波数を変更しＴＶの同期を取り直す必要性をなくすように、スケーラーを使用してこの解像度を設定するとよい。
【０１７９】
[0189]  マルチメディア・コンソール１００がブートして、システム・リソースが確保された後、コンカレント・システム・アプリケーションが実行してシステム機能を提供する。これらのシステム機能は、前述の確保したシステム・リソースの内部で実行する１組のシステム・アプリケーションの中にカプセル化されている。オペレーティング・システム・カーネルは、システム・アプリケーション・スレッドと、ゲーミング・アプリケーション・スレッドとの間でスレッドを識別する。一貫したシステム・リソース・ビューをアプリケーションに提供するために、システム・アプリケーションは、所定の時点および間隔でＣＰＵ１０１において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソールにおいて実行しているゲーミング・アプリケーションに対するキャッシュの分裂(disruption)を最少に抑えるためにある。
【０１８０】
[0190]  コンカレント・システム・アプリケーションがオーディオを必要とする場合、時間に敏感であるため、オーディオ処理を非同期にゲーミング・アプリケーションにスケジューリングする。マルチメディア・コンソール・アプリケーション管理部（以下で説明する）は、システム・アプリケーションがアクティブのとき、ゲーミング・アプリケーションのオーディオ・レベル（例えば、無音化、減衰）を制御する。
【０１８１】
[0191]  入力デバイス（例えば、コントローラー１４２（１）および１４２（２））は、ゲーミング・アプリケーションおよびシステム・アプリケーションによって共有される。これらの入力デバイスは、確保されたリソースではないが、システム・アプリケーションおよびマルチメディア・アプリケーションの各々がそのデバイスのフォーカス(a focus of the device)を有するようにシステム・アプリケーションとマルチメディア・アプリケーションとの間で切り換えられる。アプリケーション管理部は、好ましくは、マルチメディア・アプリケーションの知識を使用せずに入力ストリームの切換を制御し、ドライバーはフォーカス・スイッチ(focus switches)に関する状態情報を維持する。カメラ２６、２８およびキャプチャー・デバイス２０２は、コンソール１００に対して追加の入力デバイスを定めることができる。
【０１８２】
[0192]  図８は、ターゲット認識、分析、および追跡システムにおいて１つ以上のジェスチャーを解釈するために使用される、計算環境２２０の他の実施形態例を示す。この実施形態例は、図１に示した計算環境２１２とすることができる。計算システム環境２２０は、適した計算環境の一例に過ぎず、本明細書において開示される主題の使用範囲または機能に関して、いかなる限定を示唆する意図もない。また、計算環境２２０が、本明細書において例示される任意の１つのコンポーネントまたはコンポーネントの組み合わせに関して何らかの依存性または要件を有するように解釈してはならない。実施形態によっては、図示された種々の計算エレメントが、本開示の特定の態様をインスタンス化するように構成されている回路を含むこともあり得る。例えば、本開示において使用される回路という用語は、ファームウェアまたはスイッチによって機能（１つまたは複数）を実行するように構成されている特殊ハードウェア・コンポーネントを含むことができる。別の実施形態例では、回路という用語は、機能（１つまたは複数）を実行するために動作可能なロジックを具現化するソフトウェア命令によって構成される汎用処理ユニット、メモリー等を含むことができる。回路がハードウェアおよびソフトウェアの組み合わせを含む実施形態例では、実装者(implementer)は、ロジックを具現化するソース・コードを書くことができ、ソース・コードを機械読み取り可能コードにコンパイルすることができ、この機械読み取り可能コードを汎用処理ユニットによって処理することができる。技術的現状では、ハードウェア、ソフトウェア、またはハードウェア／ソフトウェアの組み合わせの間には殆ど差がないというところまで発展していることを当業者は認めることができるので、特定の機能を実行するためにハードウェアまたはソフトウェアのどちらを選択するかということは、実装者に委ねられた設計選択事項である。更に具体的には、ソフトウェア・プロセスを等価のハードウェア構造に変換することができ、更にハードウェア構造自体を等価のソフトウェア・プロセスに変換することができることを、当業者は認めることができる。つまり、ハードウェアの実施態様およびソフトウェアの実施態様のどちらを選択するかということは、実装者に委ねられた設計選択事項の１つである。
【０１８３】
[0193]  図８において、計算環境２２０は、コンピューター２４１を含む。コンピューター２４１は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター２４１がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。システム・メモリー２２２は、リード・オンリー・メモリー（ＲＯＭ）２２３およびランダム・アクセス・メモリー（ＲＡＭ）２６０のような揮発性メモリーおよび／または不揮発性メモリーの形態で、コンピューター記憶媒体を含む。基本入出力システム２２４（ＢＩＯＳ）は、起動中のように、コンピューター２４１内のエレメント間におけるデーター転送を補助する基本的なルーチンを含み、通例ＲＯＭ２２３内に格納されている。ＲＡＭ２６０は、通例、処理ユニット２５９が直ちにアクセス可能であるデーターおよび／またはプログラム・モジュール、または現在処理ユニット２５９によって処理されているデーターおよび／またはプログラム・モジュールを含む。一例として、そして限定ではなく、図８は、オペレーティング・システム２２５、アプリケーション・プログラム２２６、その他のプログラム・モジュール２２７、およびプログラム・データー２２８を示す。
【０１８４】
[0194]  また、コンピューター２４１は、その他のリムーバブル／非リムーバブル揮発性／不揮発性コンピューター記憶媒体も含むことができる。一例にすぎないが、図８は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行うハード・ディスク・ドライブ２３８、リムーバブル不揮発性磁気ディスク２５４からの読み取りおよびこれへの書き込みを行う磁気ディスク・ドライブ２３９、ならびにＣＤ  ＲＯＭまたはその他の光媒体のようなリムーバブル不揮発性光ディスク２５３からの読み取りおよびこれへの書き込みを行う光ディスク・ドライブ２４０を示す。本動作環境の一例において使用可能なその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピューター記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれる。ハード・ディスク・ドライブ２３８は、通例、インターフェース２３４のような非リムーバブル・メモリー・インターフェースを介してシステム・バス２２１に接続され、磁気ディスク・ドライブ２３９および光ディスク・ドライブ２４０は、通例、インターフェース２３５のようなリムーバブル・メモリー・インターフェースによって、システム・バス２２１に接続される。
【０１８５】
[0195]  先に論じ図８に示すドライブおよびそれらと関連のあるコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター２４１のその他のデーターを格納する。図８では、例えば、ハード・ディスク・ドライブ２３８は、オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６、およびプログラム・データー２５５を格納するように示されている。尚、これらのコンポーネントは、オペレーティング・システム２２５、アプリケーション・プログラム２２６、他のプログラム・モジュール２２７、およびプログラム・データー２２８と同じであることも異なることも可能であることを注記しておく。オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６、およびプログラム・データー２５５は、ここでは、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザーは、キーボード２５１、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス２５２のような入力デバイスによって、コマンドおよび情報をコンピューター２４１に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース２３６を介して、処理ユニット２５９に接続されている。ユーザー入力インターフェース２３６は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）によって接続することも可能である。カメラ２６、２８およびキャプチャー・デバイス２０２は、コンソール１００の追加入力デバイスを定めることができる。モニター２４２またはその他のタイプの表示装置も、ビデオ・インターフェース２３２のようなインターフェースを介して、システム・バス２２１に接続されている。モニターに加えて、コンピューターは、スピーカー２４４およびプリンター２４３のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース２３３を介して接続することができる。
【０１８６】
[0196]  コンピューター２４１は、リモート・コンピューター２４６のような１つ以上のリモート・コンピューターへの論理接続を使用して、ネットワーク環境において動作することも可能である。リモート・コンピューター２４６は、パーソナル・コンピューター、サーバー、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピューター２４１に関して先に説明したエレメントの多くまたは全てを含むが、図８にはメモリー記憶装置２４７のみを示す。図８に示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）２４５およびワイド・エリア・ネットワーク（ＷＡＮ）２４９を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネットおよびインターネットにおいては一般的である。
【０１８７】
[0197]  ＬＡＮネットワーキング環境で使用される場合、コンピューター２４１は、ネットワーク・インターフェースまたはアダプター２３７を介してＬＡＮ２４５に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピューター２４１は、通例、モデム２５０、またはインターネットのようなＷＡＮ２４９を介して通信を設定するその他の手段を含む。モデム２５０は、内蔵でも外付けでもよく、ユーザー入力インターフェース２３６またはその他の適切な機構を介してシステム・バス２２１に接続することができる。ネットワーク接続された環境では、コンピューター２４１に関係付けて図示したプログラム・モジュール、またはその一部は、リモート・メモリー記憶装置に格納することもできる。一例として、そして限定ではなく、図８は、リモート・アプリケーション・プログラム２４８がメモリー・デバイス２４７に存在するものとして示している。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを設定する他の手段も使用可能であることは認められよう。
【０１８８】
[0198]  尚、本明細書において記載した構成および／または手法は、本質的に例示であること、そしてこれら具体的な実施形態または例を限定と見なしてはならないことは言うまでもない。本明細書において記載したこれら具体的なルーチンおよび方法は、任意の数の処理方策のうち１つ以上を表すことができる。したがって、例示した種々の動作(act)は、例示したシーケンスで、他のシーケンスで、並行して等で実行することができる。同様に、前述のプロセスの順序も変更することができる。
【０１８９】
[0199]  更に、種々の図に示されるような特定の態様に関連付けて本開示について説明したが、他の同様の態様も使用することができ、本開示から逸脱することなく、その同じ機能を実行するために、記載された態様に対して変更や追加を行ってもよいことは、言うまでもない。本開示の主題は、種々のプロセス、システムおよび構成、ならびにその他の機構、機能、動作、および／または本明細書において開示した特性の全ての新規で非自明のコンビネーションおよびサブコンビネーションを含み、更にはそのあらゆる均等物および全ての均等物を含むものとする。つまり、現在開示されている主題の方法、コンピューター読み取り可能媒体、およびシステム、あるいはある種の態様またはその一部は、フロッピー・ディスケット、ＣＤ−ＲＯＭ、ハード・ドライブ、または任意の他の機械読み取り可能記憶媒体のような、有形媒体に具体化されたプログラム・コード（即ち、命令）の形態をなすことができる。このプログラム・コードを、コンピューターのような、機械にロードして実行すると、この機械が開示された実施形態を実施するように構成された装置となる。
【０１９０】
[0200]  本明細書において明示的に記載された特定の実施態様に加えて、他の態様および実施態様も、ここに開示した明細書の考慮から当業者には明白となろう。したがって、本開示は、いずれの１つの態様にも限定されることはなく、むしろ添付した特許請求の範囲にしたがってその広さおよび範囲が解釈されてしかるべきである。例えば、本明細書において説明した種々の手順は、ハードウェアまたはソフトウェア、あるいは双方の組み合わせによって実現することができる。
【図１】
0005859456.tif 000002
【図２Ａ】
0005859456.tif 000003
【図２Ｂ】
0005859456.tif 000004
【図２Ｃ】
0005859456.tif 000005
【図２Ｄ】
0005859456.tif 000006
【図２Ｅ】
0005859456.tif 000007
【図３】
0005859456.tif 000008
【図４】
0005859456.tif 000009
【図５Ａ】
0005859456.tif 000010
【図５Ｂ】
0005859456.tif 000011
【図６】
0005859456.tif 000012
【図７】
0005859456.tif 000013
【図８】
0005859456.tif 000014