(57)【要約】  個人的特徴プロファイル・データーを検知し、格納し、使用するシステムおよび方法を開示する。一旦検知および格納されたなら、この個人的特徴プロファイル・データーは、種々の目的に用いることができる。一例では、ユーザーの個人的特徴プロファイル・データーにアクセスして、異なる計算システムにダウンロードし、この計算システムとユーザーが対話処理して、ユーザーの個人的特徴および対話処理のやり方に合わせて瞬時に、この異なるシステムを調整することができる。他の例では、ユーザーの個人的特徴プロファイル・データーは、認証の目的にも用いることができる。【選択図】図７
2013533997.tif 000002
【特許請求の範囲】
【請求項１】
ナチュラル・ユーザー・インターフェース・システムとのユーザー体験を改良する方法であって、
ａ）第１計算環境に付随するナチュラル・ユーザー・インターフェースのセンサーから、ユーザーの特徴を表すデーターを取得するステップと、
ｂ）前記第１計算環境とは別個である第２計算環境にアクセス可能な位置に、前記ステップａ）において取得した前記特徴データーを格納するステップと、
ｃ）前記ステップｂ）において格納した前記特徴データーを、前記第２計算環境に提供するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記ステップｂ）が、前記第１および第２計算環境からアクセス可能な第３計算環境に、前記特徴データーを格納するステップを含む、方法。
【請求項３】
請求項２記載の方法において、前記特徴データーを第３計算環境に格納するステップが、サーバー−クライアント・ネットワーク・トポロジーにおける１つ以上のサーバーに付随する中央データーベースに、前記特徴データーを格納するステップを含み、前記第１および第２計算環境が、前記中央データーベースにアクセスすることができるクライアントを備えている、方法。
【請求項４】
請求項１記載の方法において、ユーザーの特徴を表すデーターを取得する前記ステップａ）が、ユーザーの身体的特性を取得するステップを含み、ユーザーの背格好、体形、顔の容貌、髪形、および衣服の内少なくとも１つの身体的特性を取得するステップを含む、方法。
【請求項５】
請求項１記載の方法において、ユーザーの特徴を表すデーターを取得する前記ステップａ）が、どのようにユーザーがジェスチャーを行うかを表す動きデーターを取得すること、およびユーザーの癖を取得することの内少なくとも１つを含む、方法。
【請求項６】
請求項１記載の方法において、ユーザーの特徴を表すデーターを取得する前記ステップａ）が、前記ユーザーの音声特性を取得するステップを含む、方法。
【請求項７】
複数の計算環境を備えているシステムにおいて、第１計算環境が、ユーザーの特徴を取り込むキャプチャー・デバイスに結合されており、前記複数の計算デバイスとのユーザー体験を改良する方法であって、
ａ）前記キャプチャー・デバイスから受け取った前記ユーザーの１つ以上の特徴を表すデーターから、ユーザーについての個人的特徴プロファイルを生成するステップと、
ｂ）前記第１計算環境とは別個の第２計算環境にアクセス可能な位置に、前記ステップａ）において生成した前記個人的特徴プロファイルを格納するステップと、
ｃ）前記ユーザーによる前記第２計算環境のアクセス時に、前記第２計算環境に、前記ステップｂ）において格納した前記個人的特徴プロファイルを供給するステップと、
を備えている、方法。
【請求項８】
請求項７記載の方法において、前記キャプチャー・デバイスが、第１キャプチャー・デバイスを含み、前記方法が、更に、前記第２計算環境に付随する第２キャプチャー・デバイスから受け取った前記ユーザーの特徴を表すデーターから、前記ユーザーについての前記個人的特徴プロファイルに追加するステップを備えている、方法。
【請求項９】
請求項７記載の方法であって、更に、前記ユーザーについての個人的特徴プロファイルにおける特徴についてのデーターを、前記第１計算環境に付随する前記キャプチャー・デバイスから受け取った前記ユーザーの前記特徴を表すデーターから更新するステップを備えている、方法。
【請求項１０】
請求項７記載の方法において、前記ユーザーの特徴を表すデーターからユーザーについての個人的特徴プロファイルを生成する前記ステップａ）が、前記ユーザーの身体的特性、前記ユーザーの声、および前記ユーザーによって行われるジェスチャーの内少なくとも１つを表すデーターから、個人的特徴プロファイルを生成するステップを含む、方法。
【請求項１１】
請求項７記載の方法において、第２計算環境にアクセス可能な位置に前記個人的特徴プロファイルを格納する前記ステップｂ）が、前記個人的特徴プロファイルを、（ｉ）クライアント−サーバー・ネットワーク・トポロジーを通じて前記第１および第２計算環境にアクセス可能な中央データーベース、および（ｉｉ）ピア・ツー・ピア・ネットワーク・トポロジーを通じて前記第１および第２計算環境にアクセス可能な第３計算環境の内少なくとも１つに格納するステップを含む、方法。
【請求項１２】
ゲーミング・アプリケーション用の１つ以上の計算環境と、ナチュラル・ユーザー・インターフェースを設けるためのキャプチャー・デバイスとを備えているシステムにおいて、前記ナチュラル・ユーザー・インターフェースとのユーザー体験を改良する方法であって、
ａ）計算環境に付随するキャプチャー・デバイスから取得したユーザーの１つ以上の特徴を表すデーターから、前記ユーザーについての個人的特徴プロファイルを生成するステップと、
ｂ）前記ステップａ）において取得した前記個人的特徴プロファイルを格納するステップと、
ｃ）前記ステップｂ）において格納した前記特徴データーを格納する位置におけるリソースへのアクセス要求を受けるステップと、
ｄ）前記リソースへのアクセスの要求を受ける前記ステップｃ）の後に、前記個人的特徴プロファイルに格納されている１つ以上の特徴を表すデーターを取得するステップと、
ｅ）前記ステップｄ）において取得したデーターを、前記個人的特徴プロファイルに格納されているデーターと比較するステップと、
ｆ）前記ステップｅ）の比較が、前記ステップｄ）において取得したデーターと、前記個人的特徴プロファイルに格納されているデーターとの間における一致を示す場合、前記リソースへのアクセス要求を認めるステップと、
を備えている、方法。
【請求項１３】
請求項１２記載の方法であって、更に、前記ステップｃ）の要求を受けたシステムが、前記ユーザーの信頼のおけるシステムであるか否か判断し、前記ステップｂ）において格納した前記個人的特徴プロファイルと関連のあるユーザーが、前記ステップｃ）の要求を受けた前記システムとは異なるシステムを用いながらログインしたのか否か判断するステップを備えており、前記ステップｃ）の要求を受けた前記システムが信頼のおけるシステムではない場合、または前記ステップｂ）において格納した前記個人的特徴プロファイルと関連のあるユーザーが、前記ステップｃ）の要求を受けた前記システムとは異なるシステムを用いてログインした場合、前記ステップｄ）、ｅ）、およびｆ）を実行する、方法。
【請求項１４】
請求項１２記載の方法であって、更に、地理−時間的コンフリクトが存在するか否か判断し、地理−時間的コンフリクトが存在する場合、追加のセキュリティ・チェックを行うステップを備えている、方法。
【請求項１５】
請求項１２記載の方法であって、更に、一致がないことの信頼性レベルが既定の閾値を超えなければ、前記ステップｅ）が一致を示さない場合、前記ステップｅ）を繰り返すステップを備えている、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  これまで、コンピューター・ゲームやマルチメディア・アプリケーションというような計算アプリケーションは、コントローラー、リモコン、キーボード、マウス等を用いて、ユーザーがゲームのキャラクタやアプリケーションのその他の面を操作することを可能にしていた。最近になって、コンピューター・ゲームおよびマルチメディア・アプリケーションは、カメラやソフトウェア・ジェスチャー認識エンジンを採用して、ナチュラル・ユーザー・インターフェース（「ＮＵＩ」：natural user interface）を提供し始めている。ＮＵＩを用いて、ユーザーのジェスチャーを検出し、解釈し、ゲームのキャラクタやアプリケーションのその他の面を制御するために用いる。
【０００２】
[0002]  マウスや他のこのようなコントローラーは、計算システムとインターフェースするための確固としたインターフェースを提供する。ＮＵＩシステムの課題の１つは、ユーザーが動く３−Ｄ空間とのユーザーの相互作用、およびその認知によって、インターフェースが制御されることである。しかしながら、体格的特徴、社会的特徴、およびその他の個人的特徴のために、各ユーザーは少なくとも部分的に異なり、したがって、異なるユーザーは異なる方法でＮＵＩシステムと相互作用することになる。このため、例えば、ユーザーのジェスチャー行為が規範(norm)から外れると、ＮＵＩシステムはユーザーの意図を理解できない場合がある。ユーザー自身のＮＵＩシステムは、経時的に彼らの個人的な相互作用のスタイルに合わせて調整することができるが、ユーザーは、彼ら自身のもの以外のＮＵＩシステムと相互作用するときに混乱が生ずる虞れがある。
【発明の概要】
【０００３】
[0003]  ＮＵＩシステムに対しては困難が生ずるが、ユーザーの個人的特徴には、現在では利用されていない潜在的な利点がある。例えば、現行のシステムは、ログイン・プロトコルおよびパスワードによって、ユーザーの適正な認証を保証するための手段を講じているが、ユーザーの個人的特徴によって得られる豊富な情報を認証の目的に使用していない。
【０００４】
[0004]  本明細書において開示されるのは、ユーザーと関連のある個人的特徴を生成し、格納し、使用するシステムである。個人的特徴プロフィルは、第１計算環境によって生成することができ、次いで、この第１計算環境を含む複数の計算環境によってアクセス可能な中央データーベースに格納される。個人的特徴プロファイルは、ユーザーの個人的特徴に関するデーターを収容することができ、個人的特徴は、第１計算デバイスに付随するキャプチャ・デバイスによって検知することができる。これらの個人的特徴には、背格好、体形、および髪形というようなユーザーの身体的特徴、アクセント、音高、性質(tenor)、および抑揚というような声の特性、ならびにユーザーが型にはまらないで行うジェスチャーが含まれるが、これらに限定されるのではない。
【０００５】
[0005]  一旦生成されそして格納されると、ユーザーの個人的特徴プロファイル・データーは、種々の目的に用いることができる。一例では、ユーザーの個人的特徴プロファイル・データーにアクセスして、ユーザーが対話処理することができる異なる計算システムにダウンロードすることができるので、ユーザーの個人的特徴および対話処理のやり方に合わせて、異なるシステムを瞬時的に調整することができる。更に別の例では、ユーザーの個人的特徴プロファイル・データーは、認証の目的にも用いることができる。
【０００６】
[0006]  一実施形態では、本技術は、ナチュラル・ユーザー・インターフェース・システムとのユーザー体験を改良する方法に関する。この方法は、ａ）第１計算環境に付随するナチュラル・ユーザー・インターフェースのセンサーから、ユーザーの特徴を表すデーターを取得するステップと、ｂ）第１計算環境とは別個である第２計算環境にアクセス可能な位置に、前記ステップａ）において取得した特徴データーを格納するステップと、ｃ）前記ステップｂ）において格納した特徴データーを、第２計算環境に提供するステップとを含む。
【０００７】
[0007]  他の実施形態では、本技術は、第１計算環境がユーザーの特徴を取り込むキャプチャー・デバイスに結合されている、複数の計算環境を備えているシステムにおいて、複数の計算デバイスとのユーザー体験を改良する方法に関する。この方法は、ａ）キャプチャー・デバイスから受け取ったユーザーの１つ以上の特徴を表すデーターから、ユーザーについての個人的特徴プロファイルを生成するステップと、ｂ）第１計算環境とは別個の第２計算環境にアクセス可能な位置に、前記ステップａ）において生成した個人的特徴プロファイルを格納するステップと、ｃ）ユーザーによる第２計算環境のアクセス時に、第２計算環境に、前記ステップｂ）において格納した個人的特徴プロファイルを供給するステップとを含む。
【０００８】
[0008]  更に他の実施形態では、本技術は、ゲーミング・アプリケーション用の１つ以上の計算環境と、ナチュラル・ユーザー・インターフェースを設けるためのキャプチャー・デバイスとを備えているシステムにおいて、前記ナチュラル・ユーザー・インターフェースとのユーザー体験を改良する方法に関する。この方法は、ａ）計算環境に付随するキャプチャー・デバイスから取得したユーザーの１つ以上の特徴を表すデーターから、ユーザーについての個人的特徴プロファイルを生成するステップと、ｂ）前記ステップａ）において取得した個人的特徴プロファイルを格納するステップと、ｃ）前記ステップｂ）において格納した特徴データーを格納する位置におけるリソースへのアクセス要求を受けるステップと、ｄ）リソースへのアクセスの要求を受ける前記ステップｃ）の後に、個人的特徴プロファイルに格納されている１つ以上の特徴を表すデーターを取得するステップと、ｅ）前記ステップｄ）において取得したデーターを、個人的特徴プロファイルに格納されているデーターと比較するステップと、ｆ）ステップｅ）の比較が、前記ステップｄ）において取得したデーターと、個人的特徴プロファイルに格納されているデーターとの間における一致を示す場合、リソースへのアクセス要求を認めるステップとを含む。
【０００９】
[0009]  この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化した形態で紹介するために、設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として用いられることを意図するのでもない。更に、特許請求する主題は、本開示のいずれかの部分に記されている、いずれかの欠点を解決する実施態様にもまた全ての欠点を解決する実施態様にも限定されるのではない。
【図面の簡単な説明】
【００１０】
【図１Ａ】図１Ａは、ターゲット認識、分析、および追跡システムの実施形態例を、ゲームに参加しているユーザーと共に示す。
【図１Ｂ】図１Ｂは、ターゲット認識、分析、および追跡システムの他の実施形態例を、グラフィカル・ユーザー・インターフェースを操作しているユーザーと共に示す。
【図２】図２は、ターゲット認識、分析、および追跡システムにおいて用いることができるキャプチャー・デバイスの実施形態例を示す。
【図３】図３は、本技術の実施形態を実現するネットワーク・トポロジーを示す。
【図４Ａ】図４Ａは、ターゲット認識、分析、および追跡システムにおいて１つ以上のジェスチャーを解釈するために用いることができる計算環境の実施形態例を示す。
【図４Ｂ】図４Ｂは、ターゲット認識、分析、および追跡システムにおいて１つ以上のジェスチャーを解釈するために用いることができる計算環境の実施形態例を示す。
【図５】図５は、図２のターゲット認識、分析、および追跡システムから生成されたユーザーのスケルトン・マッピングを示す。
【図６】図６は、個人的特徴プロファイルの生成および格納を示すフローチャートである。
【図７】図７は、個人的特徴プロファイルのアクセス処理を示すフローチャートである。
【図８】図８は、個人的特徴プロファイルを用いる認証システムのフローチャートである。
【図９】図９は、ユーザー・ジェスチャー認識システムのブロック図である。
【図１０】図１０は、図９に示すユーザー・ジェスチャー認識システムの動作のフローチャートである。
【発明を実施するための形態】
【００１１】
[0022]  本技術の実施形態について、図１から図１０を参照しながら説明する。概して言えば、本技術は、所与のユーザーと関連付けられた個人的特徴プロファイルを生成、格納、および使用するシステムに関する。一旦生成され格納されたなら、ユーザーの個人的特徴プロファイル・データーは、種々の目的に用いることができる。一例では、ユーザーの個人的特徴プロファイル・データーにアクセスし、ユーザーが対話処理することができる異なる計算システムにダウンロードすることができるので、ユーザーの個人的特徴および対話処理のやり方に合わせて異なるシステムを瞬時的に調整することができる。更に別の例では、ユーザーの個人的特徴プロファイル・データーは、認証の目的にも用いることができる。
【００１２】
[0023]  最初に図１および図２を参照すると、本技術を実現するためのハードウェアは、ターゲット認識、分析、および追跡システム１０を含む。ターゲット認識、分析、および追跡システム１０は、ユーザー１８のような人間のターゲットを認識、分析、および／または追跡するために用いられるＮＵＩシステムとすることができる。ターゲット認識、分析、および追跡システム１０の実施形態は、ゲーミング・アプリケーションまたはその他のアプリケーションを実行する計算環境１２、ならびにゲーミング・アプリケーションまたはその他のアプリケーションからのオーディオおよびビジュアル表現を表示するディスプレイ１４を有するオーディオビジュアル・デバイス１６を含む。更に、システム１０は、キャプチャー・デバイス２０も含む。キャプチャー・デバイス２０は、当該デバイス２０によって取り込まれたユーザーの位置および動きを検出し、計算環境がこのユーザーの位置および動きを受け取って、アプリケーションを制御するために用いる。これらのコンポーネントの各々について、以下で更に詳しく説明する。
【００１３】
[0024]  図１Ａに示すように、一実施形態例では、計算環境１２において実行しているアプリケーションは、ユーザー１８がプレーしているボーリング・ゲームとすることができる。例えば、計算環境１２は、オーディオビジュアル・ディスプレイ１４を用いて、ボーリング場(bowling alley)の視覚的表現をユーザー１８に提供することができる。また、計算環境１２は、ディスプレイ１４を用いて、プレーヤー・アバター２４の視覚的表現も提供することができる。このプレーヤー・アバター２４は、ユーザー１８が彼または彼女の動きによって制御することができる。例えば、ユーザー１８は、実空間においてボーリング・ボールを投げる(bowling)動作を模擬するように、動いて彼らの腕を振り上げる(swing)ことができ、この動きがアバター２４によって真似されて、仮想ボールを仮想ボーリング・レーンに沿って投げる。このように、一実施形態例によれば、計算環境１２およびターゲット認識、分析、および追跡システム１０のキャプチャー・デバイス２０は、実空間におけるユーザーの接近(approach)および腕の振り上げを認識および分析し、ゲーム空間におけるプレーヤー・アバター２４のゲーム制御として解釈するために用いることができる。
【００１４】
[0025]  ボーリング・アプリケーションは、ユーザーの動きおよび／または位置が計算環境によって、アプリケーションの何らかの特徴を制御するための既定のジェスチャーとして解釈されるＮＵＩシステム１０のための不特定多数のアプリケーションの内の１つである。また、システム１０は、システム制御として用いられる多種多様の既定のジェスチャーを有することもできる。これらのジェスチャーは、特定のアプリケーションに特有ではない。例えば、図１Ｂは、ディスプレイ１４上に表示されているグラフィカル・ユーザー・インターフェース１９と対話処理しているユーザーを示す。インターフェース１９は、メニュー・ドリブン・ディスプレイ(menu driven display)であり、ユーザーは既定のジェスチャーを用いて、このディスプレイ全体をスクロールすることができる。
【００１５】
[0026]  図２は、ターゲット認識、分析、および追跡システム１０において用いることができるキャプチャー・デバイス２０の一実施形態例を示す。本技術と共に用いるキャプチャー・デバイスに関する更なる詳細は、"Device For Identifying And Tracking Multiple Humans Over Time"（時間の経過と共に多数の人間を識別し追跡するデバイス）と題する同時係属中の特許出願第１２／４７５，３０８号に明記されている。この出願をここで引用したことにより、その内容全体が本願にも含まれるものとする。しかしながら、一実施形態例では、キャプチャー・デバイス２０は、深度画像を有するビデオを取り込むように構成されているのであってもよい。深度画像は、例えば、飛行時間(time-of-flight)、構造化光(structured light)、ステレオ画像等を含むいずれかの適した技法によって、深度値を含むことができる。一実施形態によれば、キャプチャー・デバイス２０は、計算した深度情報を「Ｚレイヤー」、即ち、その見通し線に沿って深度カメラから延びるＺ軸に垂直となることができるレイヤーに編成することができる。
【００１６】
[0027]  図２に示すように、キャプチャー・デバイス２０は撮像カメラ・コンポーネント２２を含むことができる。一実施形態によれば、撮像カメラ・コンポーネント２２は、場面の深度画像を取り込むことができる深度カメラとするとよい。深度画像は、取り込まれた場面の二次元（２Ｄ）画素エリアを含むことができ、この２Ｄ画素エリアにおける各画素が、例えば、カメラから取り込まれた場面における物体のセンチメートル、ミリメートル等を単位とした、長さを表すことができる。
【００１７】
[0028]  図２に示すように、一実施形態例によれば、撮像カメラ・コンポーネント２２は、ＩＲ照明コンポーネント２４、三次元（３Ｄ）カメラ２６、および場面の深度画像を取り込むために用いることができるＲＧＢカメラ２８を含むことができる。例えば、飛行時間分析では、キャプチャー・デバイス２０のＩＲ照明コンポーネント２４は赤外線光を場面上に放出することができ、次いでセンサー（図示せず）を用いて、例えば、３Ｄカメラ２６および／またはＲＧＢカメラ２８を用いて、場面の中にある１つ以上のターゲットおよび物体の表面から後方散乱した光を検出することができる。
【００１８】
[0029]  他の実施形態によれば、キャプチャー・デバイス２０は、２つ以上の物理的に分離されたカメラを含むこともでき、これらが１つの場面を異なる角度から見て視覚的立体データーを得て、このデーターを分解して深度情報を生成することができる。
【００１９】
[0030]  更に、キャプチャー・デバイス２０は、マイクロフォン３０を含むこともできる。マイクロフォン３０は、音響を受けて電気信号に変換する変換器またはセンサーを含むことができる。一実施形態によれば、マイクロフォン３０は、ターゲット認識、分析、および追跡システム１０においてキャプチャー・デバイス２０と計算環境１２との間におけるフィードバックを減らすために用いることができる。加えて、マイクロフォン３０は、計算環境２１２によって実行することができる、ゲーム・アプリケーション、ゲーム以外のアプリケーション等のようなアプリケーションを制御するために、ユーザーによって供給することもできるオーディオ信号を受け取るために用いることもできる。更に、キャアプチャー・デバイス２０は、他の実施形態では、ユーザーの特徴を検知するための種々の他のセンサーも含むことができる。
【００２０】
[0031]  一実施形態例では、キャプチャー・デバイス２０は、更に、撮像カメラ・コンポーネント２２と動作的に通信することができるプロセッサー３２も含むことができる。プロセッサー３２は、命令を実行することができる標準的なプロセッサー、特殊プロセッサー、マイクロプロセッサー等を含むことができる。これらの命令には、深度画像を受け取り、この深度画像に適したターゲットが含まれ得るか否か判定を行い、適したターゲットをそのターゲットのスケルトン表現またはモデルに変換する命令、または他のあらゆる適した命令を含むことができる。
【００２１】
[0032]  キャプチャー・デバイス２０は、更に、メモリー・コンポーネント３４も含むことができる。メモリー・コンポーネント３４は、プロセッサー３２によって実行することができる命令、３ＤカメラまたはＲＧＢカメラによって取り込まれた画像または画像のフレーム、あるいは他のあらゆる適した情報、画像等を格納することができる。一実施形態例によれば、メモリー・コンポーネント３４は、ランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリ・メモリー（ＲＯＭ）、キャッシュ、フラッシュ・メモリー、ハード・ディスク、または他のあらゆる適した記憶コンポーネントを含むことができる。図２に示すように、一実施形態では、メモリー・コンポーネント３４は、画像キャプチャー・コンポーネント２２およびプロセッサー３２と通信状態にある別個のコンポーネントであってもよい。他の実施形態によれば、メモリー・コンポーネント３４は、プロセッサー３２および／または画像キャプチャー・コンポーネント２２に統合されてもよい。
【００２２】
[0033]  図２に示すように、キャプチャー・デバイス２０は、通信リンク３６を介して、計算環境１２と通信することができる。通信リンク３６は、例えば、ＵＳＢ接続、Firewire接続、イーサネット（登録商標）・ケーブル接続などを含む有線接続、および／またはワイヤレス８０２．１１ｂ、ｇ、ａ、またはｎ接続のようなワイヤレス接続とすることができる。一実施形態によれば、計算環境１２は、クロックをキャプチャー・デバイス２０に供給することができる。このクロックは、例えば、通信リンク３６を介して場面をいつ取り込むべきか判定するために用いることができる。
【００２３】
[0034]  加えて、キャプチャー・デバイス２０は、例えば、３Ｄカメラ２６および／またはＲＧＢカメラ２８によって取り込まれた深度情報および画像、ならびにキャプチャー・デバイス２０によって生成することができるスケルトン・モデルを、計算環境１２に、通信リンク３６を介して供給することができる。キャプチャー・デバイス２０によって検出されたターゲットまたはオブジェクトが人間のターゲットに対応するか否か判断するには、種々の既知の技法が存在する。次いで、スケルトン・マッピング技法を用いて、ユーザーの骨格、手の関節、手首、肘、膝、鼻、踝、肩、および骨盤が脊椎と交わるところを判定することができる。他の技法には、画像をその人の身体モデル表現に変換し、この画像をその人のメッシュ・モデル表現に変換することが含まれる。
【００２４】
[0035]  次いで、スケルトン・モデルを計算環境１２に供給して、この計算環境が種々の動作を実行することができるようにする。この計算環境は、スケルトン・モデルを追跡し、このスケルトン・モデルと関連付けられたアバターをオーディオビジュアル・ディスプレイ１４上にレンダリングすることができる。更に、この計算環境は、例えば、スケルトン・モデルから認識されたユーザーのジェスチャーに基づいて、計算環境上において実行しているアプリケーションにおいて実行すべき制御は何か判断することができる。例えば、図２に示すように、計算環境１２は、いつユーザーが既定のジェスチャーを行ったか判断するジェスチャー認識エンジン１９０を含むことができる。ジェスチャー認識エンジン１９０については、以下で更に詳しく説明する。
【００２５】
[0036]  システム１０によって得られたデーターおよびその他の情報は、例えば、図３に示すネットワーク・トポロジー５０によってというようにして、１つ以上の他のシステムおよびサーバーと共有することができる。図３は、先に説明したシステム１０（図３ではシステム１０−１と呼ぶ）、および種々の他のシステム１０−２、１０−３、...、１０−ｎを示す。これらの各々は、システム１０に関して先に説明したコンポーネントの一部または全部を含むことができる。システム１０−１から１０−ｎまでの各々（纏めてシステム１０と呼ぶ）は、ネットワーク５１を通じて中央サービス５２に接続することができる。以下で更に詳しく説明するが、システム１０のいずれにおけるユーザーについても個人的特徴プロファイル・データーを収集して、サービス５２のサービス・データーベース６２に格納することができる。
【００２６】
[0037]  システム１０の各々における計算環境１２は、同じでも異なる計算環境でもよく、例えば、マルチメディア・コンソール、パーソナル・コンピューター（ＰＣ）、ゲーミング・システムまたはコンソール、サーバー、ハンドヘルド計算デバイス、ＰＤＡ、移動体電話機、クラウド・コンピューター等とすればよい。システム１０は、互いにネットワーク接続することができ、そしてネットワーク５１を通じてサービス５２にネットワーク接続することができる。
【００２７】
[0038]  ネットワーク５１は、インターネットとすることができるが、一般には、例えば、イントラネット、パーソナル・エリア・ネットワーク（ＰＡＮ）、キャンパス・エリア・ネットワーク（ＣＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、コンピューター・ネットワーク、ゲーミング・ネットワーク等を含むことができる。トポロジー５０は、クライアント／サーバー、ピア・ツー・ピア（破線の矢印５４によって示す）、または混成アーキテクチャーというようなネットワーク・インフラストラクチャーを利用することができる。
【００２８】
[0039]  また、ネットワーク５１は、光ファイバー、公衆電話交換網（ＰＳＴＮ）、セルラ電話ネットワーク、グローバル・テレックス・ネットワーク、ワイヤレスＬＡＮ、イーサネット（登録商標）、電力線通信等のような、ネットワークにおいて個々のデバイスを接続する技術を代表することもできる。計算環境は、有線システムまたはワイヤレス・システムによって、ローカル・ネットワークまたは広く分散されたネットワークによって、互いに接続することができる。ネットワーク通信には、適したワイヤレス・インターフェースであればいずれでも利用することができる。例えば、ワイヤレス・リンクは、以下のプロトコル、ＧＳＭ（登録商標）、ＣＤＭＡ、ＵＭＴＳ、ＬＴＥ、ＷＩＭＡＸ、ＷＩＦＩ、ＺＩＧＢＥＥ、またはその組み合わせに準拠することができる。ネットワークは、クラウドまたはクラウド計算を含むこともできる。例えば、クラウド・インフラストラクチャは、データー・センターを介して配信されサーバー上で構築される複数のサービスを含むことができる。これらのサービスは、ネットワーキング・インフラストラクチャへのアクセスを与えるところであれば、どこからでもアクセスすることができる。クラウドは、ユーザーにとって１つのアクセス・ポイントのように見えることがあり、インフラストラクチャはクライアントには見えないのであってもよい。
【００２９】
[0040]  サービス５２は、部分的に、１つ以上のサーバー５６、ログイン・サービス５８、およびデーターベース６２を含むことができる。ここでは、データーベース６２を中央データーベースとも呼ぶ。実施形態では、サービス５２は、MICROSOFT社によって運営されているXbox LIVE（登録商標）ゲーミングおよびメディア配信サービスとすることができるが、他の実施形態では他のサービスとすることもできる。サーバー５６は、ウェブ・サーバー、および／またはシステム１０のユーザーがプレーするゲーミング・アプリケーションまたは他のアプリケーションをホストするサーバーを含むことができる。これらのアプリケーションは、代わりに、種々のシステム１０と関連のある計算環境に常駐することもできる。システム１０のユーザーは、システム１０上でユーザーを認証するために用いられるユーザー・ログイン・サービス５８を通じて彼らのアカウント・レコード６２へのアクセスを得ることができる。一例では、ログインの間、ログイン・サービス５８は、ゲーマー・タグ（ユーザーと関連付けられている一意の識別子）およびパスワードをユーザーから入手し、ユーザーが用いているゲーム機械を一意に識別するコンピューター環境ＩＤを入手する。ゲーマー・タグおよびパスワードは、データーベース６２におけるユーザー・アカウント・レコード６４比較することによって、その認証が行われる。データーベース６２は、ユーザー・ログイン・サービス５８と同じサーバー上に位置してもよく、あるいは１つの異なるサーバーまたは異なるサーバーの１群に分散させてもよい。尚、以上で述べた認証プロセスは、代替実施形態では様々に変化するかもしれないことは言うまでもない。種々の認証方式のいずれでも、ユーザーを識別するために採用することができ、彼または彼女はサービス５２に接続して、彼らのユーザー・アカウント・レコード６４にアクセスすることができる。
【００３０】
[0041]  ユーザー・アカウント・レコード６４は、ゲーム記録、統計、および達成というような、ユーザーについての追加情報も含むことができる。また、ユーザー・レコードは、ユーザー・プロファイル・データー６６も含むことができる。ユーザー・プロファイル・データー６６は、連絡先および他の記述情報を含む種々の情報や、友人リストを含むことができる。本技術によれば、プロファイル・データー６６は、更に、以下で説明するような、個人的特徴プロファイル・データー６８も格納することができる。
【００３１】
[0042]  システム１０上におけるそれぞれの計算環境１２は、それら自体のアプリケーションを実行すればよいが、システム１０上における他の計算環境にアクセスすること、更にはネットワーク５１上のいずれかの場所で、他の計算環境において実行しているアプリケーション、または他の計算環境に接続されているデバイスにアクセスすることもできる。このように、第１システム、例えば、システム１０−１上における１つの計算環境１２のユーザーは、このネットワークを用いてデーター（例えば、ファイル、データーベース）を共有し、他のアプリケーションと対話処理し、デバイス（例えば、プリンター）を共有し、他のユーザーと通信する（例えば、電子メール、チャット）等を１つ以上の他のシステム１０上で行うことができる。いずれの数のそれぞれのローカル計算環境と関連のあるいずれの数のユーザーでも、ネットワーク５１を通じて同じアプリケーションにアクセスすることができる。
【００３２】
[0043]  異なるシステム１０によって生成されそれらの間で共有することができるデーター項目の１つに、個人的特徴プロファイル６８（ここでは、以後ＰＴＰ６８と省略する）。ＰＴＰ６８は、サービス５２上でデーターベース６２に格納されているように示されているが、キャッシュされたＰＴＰ６８のバージョンもそれぞれのシステム１０に格納することができる。ＰＴＰ６８の生成および組成については以下で説明するが、一般に、所与のシステム１０に付随するセンサによって検知することができる、所与のユーザーと関連のある特徴であればいずれでも含むことができる。異なるシステム１０が異なるセンサーを有することもある。
【００３３】
[0044]  ネットワーク・トポロジー５０は、ネットワークにアクセスすることができるあらゆる計算環境が、サービス５２からまたは他のシステム１０上における計算環境からＰＴＰ６８にアクセスすることを可能にする。つまり、ユーザー１８は、ＰＴＰ６８を含むデーターを、第１システム、例えば、システム１０−１において生成し、サービス５２上のデーターベース６２にアップロードすることができる。その後、ユーザーは異なる場所に移動し、または同じ場所において異なる計算環境を使用し、ＰＴＰ６８をその計算環境にダウンロードすることができる。このように、本技術の一例によれば、ユーザーは彼または彼女のシステムから友人の家に移動することができ、またはネットワーク５１と関連付けられている他の計算環境に移動することができ、そしてそれらのＰＴＰ６８にアクセスすることができる。本技術のこの特徴については、以下で更に詳しく説明する。
【００３４】
[0045]  ＰＴＰ６８を生成するまたはこれにアクセスする計算環境は、当該計算環境の特性(property)および仕様に関する関連メタデーターも有することができる。例えば、計算環境は、ＲＧＢ能力(capabilities)、画面サイズ、利用可能な入力デバイス、キャプチャー・デバイスの範囲、計算環境のコンポーネント（例えば、オーディオ／ビデオ能力）、構造情報等を格納することができる。計算環境は、このような情報を用いて、ＰＴＰ６８のシステムおよび／またはデフォルトのジェスチャー情報との統合(integration)を修正する。例えば、ジェスチャーは、ディスプレイ・デバイスの表示部の上端からディスプレイ・デバイスの表示部の下端までの動きに対応する、実空間における動きによって定義することができる。ユーザーのＰＴＰ６８は、６０インチのディスプレイ・デバイスがある計算環境によって生成されており、この６０インチ・ディスプレイ・デバイス上の距離に対応する、表示部の上端と下端との間の距離を含む(comprise)。他の計算環境では、２５インチのディスプレイ・デバイスがあるというようなものでは、本システムは、ジェスチャーを認識するための距離が、この小さい画面サイズに対応するように、画面の上端および下端間で識別する距離を短くすることができる。同様に、実際の部屋が一定の大きさを有する場合、本計算環境は、本システムおよび／またはデフォルトのジェスチャー情報とのジェスチャー・プロファイルの統合の分析または修正において、この大きさを含むことができる。例えば、ユーザーが画面に一層近づいて立つ場合、ユーザーのジェスチャーの解釈は、部屋の大きさを参考にして考慮することができる。
【００３５】
[0046]  他の例では、メタデーターが、ローカル計算環境のファイル構造に特定的な情報を含むことができる。例えば、第１計算環境がプログラムを実行し、ジェスチャー・プロファイルをロードし、または計算環境のハード・ドライブの特定の位置にジェスチャー・プロファイルを格納することができ、第２計算環境は異なる位置を用いることができる。また、豊富なブラウズ能力を有する計算環境であれば、例えば、移動体電話機よりも多くのことをＰＴＰ６８データーで行うことができるのであってもよい。ＰＴＰ６８データーと関連付けて格納されているメタデーターは、個々のデバイスに合わせてＰＴＰデーターを採用および最適化する。
【００３６】
[0047]  図４Ａおよび図４Ｂは、システム１０上に存在することができる計算環境の２つの具体的な例を示す。一実施形態では、図１Ａから図２に関して先に説明した計算環境は、ゲーミング・コンソールのような、マルチメディア・コンソール１００とすることができる。図４Ａに示すように、マルチメディア・コンソール１００は、レベル１キャッシュ１０２、レベル２キャッシュ１０４、およびフラッシュＲＯＭ１０６を有する中央演算装置（ＣＰＵ）１０１を有する。レベル１キャッシュ１０２およびレベル２キャッシュ１０４は、一時的にデーターを格納し、こうしてメモリー・アクセス・サイクルの回数を減らすことによって、処理速度およびスループットを向上させる。ＣＰＵ１０１は、１つよりも多いコア、つまり、追加のレベル１およびレベル２キャッシュ１０２および１０４を有して設けることもできる。フラッシュＲＯＭ１０６は、実行可能コードを格納することができる。この実行可能コードは、マルチメディア・コンソール１００の電源をオンにしたときに、ブート・プロセスの初期段階中にロードされる。
【００３７】
[0048]  グラフィクス処理ユニット（ＧＰＵ）１０８およびビデオ・エンコーダー／ビデオ・コデック（コーダー／デコーダー）１１４は、高速および高分解能グラフィクス処理のためにビデオ処理パイプラインを形成する。データーは、バスを通じて、グラフィクス処理ユニット１０８からビデオ・エンコーダー／ビデオ・コデック１１４に搬送される。ビデオ処理パイプラインは、テレビジョンまたは他のディスプレイに送信するために、データーをＡ／Ｖ（オーディオ／ビデオ）ポート１４０に出力する。メモリー・コントローラー１１０がＧＰＵ１０８に接続されており、限定ではなく、ＲＡＭ（ランダム・アクセス・メモリー）のような、種々のタイプのメモリー１１２にプロセッサーがアクセスし易くなっている。
【００３８】
[0049]  マルチメディア・コンソール１００は、Ｉ／Ｏコントローラー１２０、システム管理コントローラー１２２、オーディオ処理ユニット１２３、ネットワーク・インターフェース・コントローラー１２４、第１ＵＳＢホスト・コントローラー１２６、第２ＵＳＢコントローラー１２８、およびフロント・パネルＩ／Ｏサブアセンブリー１３０を含む。好ましくは、これらをモジュール１１８上に実装する。ＵＳＢコントローラー１２６および１２８は、周辺コントローラー１４２（１）〜１４２（２）、ワイヤレス・アダプター１４８、および外部メモリー・デバイス１４６（例えば、フラッシュ・メモリー、外部ＣＤ／ＤＶＤ  ＲＯＭドライブ、リムーバブル媒体等）のためのホストとしての役割を果たす。ネットワーク・インターフェース１２４および／またはワイヤレス・アダプター１４８は、ネットワーク（例えば、インターネット、ホーム・ネットワーク等）へのアクセスを与え、イーサネット（登録商標）・カード、モデム、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、ケーブル・モデム等を含む広範囲の種々の有線またはワイヤレス・アダプター・コンポーネントのいずれでもよい。
【００３９】
[0050]  システム・メモリー１４３は、ブート・プロセスの間にロードされるアプリケーション・データーを格納するために設けられている。メディア・ドライブ１４４が設けられており、ＤＶＤ／ＣＤドライブ、ハード・ドライブ、またはその他のリムーバブル・メディア・ドライブ等を構成することができる。メディア・ドライブ１４４は、マルチメディア・コンソール１００の内部にあっても外部にあってもよい。アプリケーション・データーは、実行、再生等のためにマルチメディア・コンソール１００によってメディア・ドライブ１４４を通じてアクセスすることができる。メディア・ドライブ１４４は、シリアルＡＴＡバスまたはその他の高速接続（例えば、ＩＥＥＥ１３９４）のようなバスを通じて、Ｉ／Ｏコントローラー１２０に接続されている。
【００４０】
[0051]  システム管理コントローラー１２２は、メディア・コンソール１００が利用可能であることを確保することに関する種々のサービス機能を提供する。オーディオ処理ユニット１２３およびオーディオ・コデック１３２は、高忠実度およびステレオ処理を行う、対応のオーディオ処理パイプラインを形成する。オーディオ・データーは、通信リンクを通じて、オーディオ処理ユニット１２３とオーディオ・コデック１３２との間で搬送される。オーディオ処理パイプラインは、外部オーディオ・プレーヤーまたはオーディオ処理能力を有するデバイスによる再生のために、データーをＡ／Ｖポート１４０に出力する。
【００４１】
[0052]  フロント・パネルＩ／Ｏサブアセンブリー１３０は、電力ボタン１５０およびイジェクト・ボタン１５２の機能をサポートするだけでなく、マルチメディア・コンソール１００の外面上に露出するあらゆるＬＥＤ（発光ダイオード）またはその他のインディケーターもサポートする。システム電源モジュール１３６は、マルチメディア・コンソール１００のコンポーネントに電力を供給する。ファン１３８は、マルチメディア・コンソール１００内部にある回路を冷却する。
【００４２】
[0053]  ＣＰＵ１０１、ＧＰＵ１０８、メモリー・コントローラー１１０、およびマルチメディア・コンソール１００内部にある種々のその他のコンポーネントは、１系統以上のバスを通じて相互接続されている。これらのバスには、シリアル・バスおよびパラレル・バス、メモリー・バス、周辺バス、ならびに種々のバス・アーキテクチャーの内いずれかを用いるプロセッサー・バスまたはローカル・バスが含まれる。一例として、このようなアーキテクチャーは、ペリフェラル・コンポーネント相互接続（ＰＣＩ）バス、PCI-Expressバス等を含むことができる。
【００４３】
[0054]  マルチメディア・コンソール１００の電源をオンにすると、システム・メモリー１４３からメモリー１１２および／またはキャッシュ１０２、１０４にアプリケーション・データーがロードされ、ＣＰＵ１０１において実行することができる。アプリケーションは、グラフィカル・ユーザー・インターフェースを提示することができる。このグラフィカル・ユーザー・インターフェースは、マルチメディア・コンソール１００において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび／またはメディア・ドライブ１４４に含まれている他のメディアをメディア・ドライブ１４４から起動または再生して、マルチメディア・コンソール１００に追加の機能を設けることもできる。
【００４４】
[0055]  マルチメディア・コンソール１００は、単にシステムをテレビジョンまたはその他のディスプレイに接続することによって、単体システムとして動作させることができる。この単体モードでは、マルチメディア・コンソール１００は、１人以上のユーザーがシステムと相互作用を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワーク・インターフェース１２４またはワイヤレス・アダプター１４８によって利用可能となるブロードバンド接続機能を統合することにより、更に大きなネットワーク・コミュニティにおける一構成要素(participant)としてマルチメディア・コンソール１００を動作させることもできる。
【００４５】
[0056]  マルチメディア・コンソール１００の電源をオンにすると、マルチメディア・コンソールのオペレーティング・システムによって、設定されている量のハードウェア・リソースがシステムの使用のために確保される。これらのリソースは、メモリー（例えば、１６ＭＢ）、ＣＰＵおよびＧＰＵサイクル（例えば、５％）、ネットワーキング帯域幅（例えば、８ｋｂｓ）等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。
【００４６】
[0057]  特に、メモリーの確保は、起動カーネル、コンカレント・システム・アプリケーション、およびドライバーを含めるのに十分大きいことが好ましい。確保されたＣＰＵの使用がそのシステム・アプリケーションによって用いられない場合、アイドル状態にあるスレッドがいずれかの未使用サイクルを消費するように、ＣＰＵの確保は一定にすることが好ましい。
【００４７】
[0058]  ＧＰＵの確保に関して、ＧＰＵ割り込みを用いることによって、システム・アプリケーション（例えば、ポップアップ）によって発生される軽量メッセージを表示して、ポップアップをオーバーレイにレンダリングするコードをスケジューリングする。オーバーレイに用いられるメモリー量は、オーバーレイのエリア・サイズに依存し、オーバーレイは画面の解像度と共にスケーリングする(scale)ことが好ましい。コンカレント・システム・アプリケーションによってユーザー・インターフェース全体が用いられる場合、アプリケーションの解像度とは独立した解像度を用いることが好ましい。周波数を変更しＴＶの同期を取り直す必要性をなくすように、スケーラー(scaler)を用いてこの解像度を設定するとよい。
【００４８】
[0059]  マルチメディア・コンソール１００がブートして、システム・リソースが確保された後、コンカレント・システム・アプリケーションが実行してシステム機能を提供する。これらのシステム機能は、前述の確保したシステム・リソースの内部で実行する１組のシステム・アプリケーションの中にカプセル化されている。オペレーティング・システム・カーネルは、システム・アプリケーション・スレッドと、ゲーミング・アプリケーション・スレッドとの間でスレッドを識別する。一貫したシステム・リソース・ビューをアプリケーションに提供するために、システム・アプリケーションは、所定の時点および間隔でＣＰＵ１０１において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソールにおいて実行しているゲーミング・アプリケーションに対するキャッシュの分裂(disruption)を最少に抑えるためにある。
【００４９】
[0060]  コンカレント・システム・アプリケーションがオーディオを必要とする場合、時間に敏感であるため、オーディオ処理を非同期にゲーミング・アプリケーションにスケジューリングする。マルチメディア・コンソール・アプリケーション・マネージャー（以下で説明する）は、システム・アプリケーションがアクティブのとき、ゲーミング・アプリケーションのオーディオ・レベル（例えば、無音化、減衰）を制御する。
【００５０】
[0061]  入力デバイス（例えば、コントローラー１４２（１）および１４２（２））は、ゲーミング・アプリケーションおよびシステム・アプリケーションによって共有される。入力デバイスは、確保されたリソースではないが、各々がそのデバイスのフォーカス(a focus of the device)を有するように、システム・アプリケーションとマルチメディア・アプリケーションとの間で切り換えられる。アプリケーション・マネージャーは、好ましくは、マルチメディア・アプリケーションの知識を用いずに入力ストリームの切換を制御し、ドライバーはフォーカス・スイッチ(focus switches)に関する状態情報を維持する。カメラ２６、２８およびキャプチャー・デバイス２０は、コンソール１００のための追加の入力デバイスを定めることができる。
【００５１】
[0062]  図４Ｂは、ターゲット認識、分析、および追跡システムにおいて１つ以上の位置および動きを解釈するために使用される、図１Ａから図２に示した計算環境１２とすることができる計算環境２２０の他の実施形態例を示す。計算システム環境２２０は、適した計算環境の一例に過ぎず、本明細書において開示される主題の使用範囲または機能に関して、いかなる限定を示唆する意図もない。また、計算環境２２０が、動作環境例２２０において例示されるいずれの１つのコンポーネントまたはコンポーネントの組み合わせに関しても、何らかの依存性または要件を有するというように解釈してはならない。実施形態の中には、図示する種々の計算エレメントが、本開示の特定の態様をインスタンス化するように構成されている回路を含むこともある。例えば、本開示において用いられる回路という用語は、ファームウェアまたはスイッチによって機能（１つまたは複数）を実行するように構成されている特殊ハードウェア・コンポーネントを含むことができる。別の実施形態例では、回路という用語は、機能（１つまたは複数）を実行するために動作可能なロジックを具現化するソフトウェア命令によって構成される汎用演算装置、メモリー等を含むことができる。回路がハードウェアおよびソフトウェアの組み合わせを含む実施形態例では、実施者(implementer)は、ロジックを具現化するソース・コードを書くことができ、ソース・コードを機械読み取り可能コードにコンパイルすることができ、この機械読み取り可能コードを汎用演算装置によって処理することができる。技術的現状では、ハードウェア、ソフトウェア、またはハードウェア／ソフトウェアの組み合わせの間には殆ど差がないというところまで発展していることを当業者は認めることができるので、特定の機能を実行するためにハードウェアまたはソフトウェアのどちらを選択するかということは、実施者に委ねられた設計選択事項である。更に具体的には、ソフトウェア・プロセスを等価のハードウェア構造に変換することができ、更にハードウェア構造自体を等価のソフトウェア・プロセスに変換することができることを、当業者は認めることができる。つまり、ハードウェアの実施態様およびソフトウェアの実施態様のどちらを選択するかということは、実施者に委ねられた設計選択事項の１つである。
【００５２】
[0063]  図４Ｂにおいて、計算環境２２０は、コンピューター２４１を備えている。コンピューター２４１は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター２４１がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。システム・メモリー２２２は、リード・オンリー・メモリー（ＲＯＭ）２２３およびランダム・アクセス・メモリー（ＲＡＭ）２６０のような揮発性および／または不揮発性メモリーの形態で、コンピューター記憶媒体を含む。基本入出力システム２２４（ＢＩＯＳ）は、起動中のように、コンピューター２４１内のエレメント間におけるデーター転送を補助する基本的なルーチンを含み、通例ＲＯＭ２２３内に格納されている。ＲＡＭ２６０は、通例、演算装置２５９が直ちにアクセス可能であるデーターおよび／またはプログラム・モジュール、または現在これによって処理されているデーターおよび／またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図４Ｂは、オペレーティング・システム２２５、アプリケーション・プログラム２２６、その他のプログラム・モジュール２２７、およびプログラム・データー２２８を示す。更に、図４Ｂは、高速および高解像度グラフィクス処理および格納のために、付随するビデオ・メモリー２３０を有するグラフィクス・プロセッサー・ユニット（ＧＰＵ）２２９も含む。ＧＰＵ２２９は、グラフィクス・インターフェース２３１を介して、システム・バス２２１に接続することができる。
【００５３】
[0064]  また、コンピューター２４１は、その他のリムーバブル／非リムーバブル揮発性／不揮発性コンピューター記憶媒体も含むことができる。一例にすぎないが、図４Ｂは、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ２３８、リムーバブル不揮発性磁気ディスク２５４からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ２３９、ならびにＣＤ  ＲＯＭまたはその他の光媒体のようなリムーバブル不揮発性光ディスク２５３からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ２４０を示す。動作環境の一例において使用可能なその他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピューター記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートＲＡＭ、ソリッド・ステートＲＯＭ等が含まれる。ハード・ディスク・ドライブ２３８は、通例、インターフェース２３４のような非リムーバブル・メモリー・インターフェースを介してシステム・バス２２１に接続され、磁気ディスク・ドライブ２３９および光ディスク・ドライブ２４０は、通例、インターフェース２３５のようなリムーバブル・メモリー・インターフェースによって、システム・バス２２１に接続する。
【００５４】
[0065]  先に論じ図４Ｂに示すドライブおよびそれらと関連のあるコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター２４１のその他のデーターを格納する。図４Ｂでは、例えば、ハード・ディスク・ドライブ２３８は、オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６、およびプログラム・データー２５５を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム２２５、アプリケーション・プログラム２２６、他のプログラム・モジュール２２７、およびプログラム・データー２２８と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム２５８、アプリケーション・プログラム２５７、他のプログラム・モジュール２５６、およびプログラム・データー２５５は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザーは、キーボード２５１、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス２５２のような入力デバイスによって、コマンドおよび情報をコンピューター２４１に入力することができる。他の入力デバイス（図示せず）には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース２３６を介して、演算装置２５９に接続されている。ユーザー入力インターフェース２３６は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス（ＵＳＢ）によって接続することも可能である。カメラ２６、２８およびキャプチャー・デバイス２０は、コンソール１００の追加入力デバイスを定めることができる。モニター２４２またはその他のタイプの表示装置も、ビデオ・インターフェース２３２のようなインターフェースを介して、システム・バス２２１に接続されている。モニターに加えて、コンピューターは、スピーカー２４４およびプリンター２４３のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース２３３を通じて接続することができる。
【００５５】
[0066]  コンピューター２４１は、リモート・コンピューター２４６のような１つ以上のリモート・コンピューターへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピューター２４６は、パーソナル・コンピューター、サーバー、ルーター、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピューター２４１に関して先に説明したエレメントの多くまたは全てを含むが、図４Ｂにはメモリー記憶装置２４７のみを示す。図４Ｂに示す論理接続は、ローカル・エリア・ネットワーク（ＬＡＮ）２４５およびワイド・エリア・ネットワーク（ＷＡＮ）２４９を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネットおよびインターネットにおいては一般的である。
【００５６】
[0067]  ＬＡＮネットワーク環境で用いる場合、コンピューター２４１は、ネットワーク・インターフェースまたはアダプター２３７を介してＬＡＮ２４５に接続される。ＷＡＮネットワーク環境で用いる場合、コンピューター２４１は、通例、モデム２５０、またはインターネットのようなＷＡＮ２４９を通じて通信を設定するその他の手段を含む。モデム２５０は、内蔵でも外付けでもよく、ユーザー入力インターフェース２３６またはその他の適切な機構を介してシステム・バス２２１に接続することができる。ネットワーク環境では、コンピューター２４１に関係付けて図示したプログラム・モジュール、またはその一部は、リモート・メモリー記憶装置に格納することもできる。一例として、そして限定ではなく、図４Ｂは、リモート・アプリケーション・プログラム２４８がメモリー・デバイス２４７に存在するものとして示している。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを設定する他の手段も使用可能であることは認められよう。
【００５７】
[0068]  図５は、キャプチャー・デバイス２０から生成することができるユーザーのスケルトン・マッピングの一例を示す。この実施形態では、種々の関節および骨が識別されている。各手３０２、各前腕３０４、各肘３０６、各二頭筋３０８、各肩３１０、各臀部３１２、各腿３１４、各膝３１６、各前肢３１８、各足３２０、頭部３２２、胴体３２４、脊椎の上端３２６および下端３２８、ならびにウェスト３３０である。追跡するポイントが多い程、指またはつま先の骨および関節というような追加の特徴(feature)、あるいは鼻および目というような、顔の個々の容貌(feature)も識別するとよい。
【００５８】
[0069]  キャプチャー・デバイス２０が異なる関節についての位置および／または動きのデーターを得ることによって、計算環境は、このデーターを、格納されているデーターと比較して、ユーザーが既定のジェスチャーを行ったか否か判断することができる。一旦既定のジェスチャーが識別されたなら、計算環境は、次に、この既定のジェスチャーと関連のある動作(action)を実行する。ジェスチャー認識は、以下で説明するように、ジェスチャー認識エンジン１９０によって行われる。
【００５９】
[0070]  ＰＴＰ６８に関する本技術の態様について、図６から図１０を参照しながらこれより説明する。図６は、ＰＴＰデーターの収集およびアップロードを示す上位フローチャートである。ステップ４００において、システム１０がユーザーによって起動される。ステップ４０２において、ＰＴＰ６８についての特徴データーを取得する。個人的特徴プロファイル・データーは、ユーザーと関連のあるあらゆる特徴に関するデーターとすることができ、システム１０内に含むことができるセンサによって検知することができる。この目的のために先に説明したセンサーは、３−Ｄカメラ２６、ＲＧＢカメラ２８、および／またはマイクロフォン３０を有するキャプチャー・デバイス２０を含む。尚、ＰＴＰデーターを収集するために他のセンサもシステム１０に含んでもよいことは言うまでもない。このような追加のセンサーの１つをあげるとすると、嗅覚（臭い）センサーとすることができる。
【００６０】
[0071]  以上の定義を仮定すると、ＰＴＰデーターは、ユーザーからの広範囲に及ぶ特徴情報を構成することができ、例えば、彼らがどのように見えるかおよび彼らが何を着用しているか、彼らの癖および彼らがどのように行動するか、あらゆる個人に特化したジェスチャー、ならびに彼らがどのような声を出すかを含む。尚、他の検知された特徴データーも、他の実施形態では、ＰＴＰ６８に含めてもよいことも想定している。
【００６１】
[0072]  ユーザーがどのように見えるかに関して、ＰＴＰ６８のデーターは、ユーザーの体格および体形（身体の部分毎）顔の容貌、頭部および／または顔にかかる髪の毛（スタイル、長さ、および色）、あらゆる別個の身体的特性、およびユーザーが男性かまたは女性かを含むことができる。
【００６２】
[0073]  ユーザーがどのように行動し得るかに関して、ＰＴＰ６８のデーターは、ユーザーの特定のボディー・ランゲージおよび／または顔の表情に関するデーターを含むことができる。このようなボディー・ランゲージ・データーは、例えば、ユーザーが足を踏みならす、頬の内側を噛む、爪を噛む癖(penchant)、ある種の頭部の運動または神経質な引き攣り、指関節をならす等に関するのであってもよい。また、ユーザーはある種の顔の表現または顔の引き攣りを示すこともあり、これらを検知してユーザーのＰＴＰ６８に含めることができる。更に、ＰＴＰ６８は、ユーザーが左利きかまたは右利きかも含むことができる。
【００６３】
[0074]  ＰＴＰ６８のデーターは、更に、ユーザーがどのようにある種のジェスチャーを行うかを含むこともできる。具体的には、ユーザーには身体的制限がある場合や、型にはまらずにある種の共通の運動を行うことを単に学習したに過ぎない場合もある。例えば、ヨーロッパ人はクリケットの試合に慣れていると考えられ、クリケットでは、投手がボールを大振りのモーション(roundhouse motion)で投球する。このようなユーザーがアメリカの野球の試合においてボールを投げるように求められると、彼または彼女の大振りの投球は、既定の投球ジェスチャーと一致すると認識されないかもしれない。しかしながら、ときの経過と共に、本システムは、このユーザーの動きを特定のジェスチャーとして認識するようになり、このユーザーの動きがそのジェスチャーを行っていると認識されるように、特別な規則を設定することができる。あるいは、ユーザーが、本システムとの特別なジェスチャー学習セッションにおいて、ジェスチャーの特別な定義を設定することもできる。具体的には、システム１０は、ある種のジェスチャーを行う選択肢をユーザーに与えることができ、これらのジェスチャーをこのシステムが記録する。すると、ユーザーは、ある種の行為を、自分で(manually)作り出したそのジェスチャーと関連付けることを可能にする。このようなセッションにおいて、ユーザーはある種の型にはまらない動きを１つ以上の既定のジェスチャーに割り当てることができ、および／またはユーザーはある種の任意の動きを１つ以上の既定のジェスチャーのショートカット(shortcut)として指定することができる。このデーターは全て、ユーザーのＰＴＰ６８に格納することができる。
【００６４】
[0075]  同様に、本システムは、ジェスチャーであることを意図されていないキャラクターの特徴を学習することによって、ジェスチャーの擬陽性識別を減らすことができる。例えば、ユーザーが彼らの頭を掻こうとしがちである(prone) 場合（または多数の他の癖のいずれかを行う）、ときとしてシステムがそれをジェスチャーと解釈することがあり得る。ときの経過と共に、ユーザーはこのような動きはジェスチャーであることを意図していないことを示すことができる。本システムは、それを学習し、その情報（即ち、特定の動きがジェスチャーではないこと）をＰＴＰ６８に格納することができる。このようにして、ユーザーがその後この癖を行ったときに、本システムはそれをジェスチャーと解釈しないことを理解する。
【００６５】
[0076]  実施形態では、ユーザーのＰＴＰ６８のデーターは、更に、ユーザーが何を着用しているかも含むことができる。ユーザーが特定の色または形の衣服を、毎日、または周期的な時間期間（毎週同じ曜日にというように）で１回着用する傾向があるということが起こる場合もある。これらの特徴は、キャプチャー・デバイス２０および計算環境１２によって検知され、ＰＴＰ６８に含めることができる。
【００６６】
[0077]  ＰＴＰ６８は、マルチモード・データー(multi-modal data)を含むこともできる。つまり、外観データーに加えて、ＰＴＰ６８はユーザーに関する音声データーも含むことができる。このようなデーターは、例えば、アクセント、音高、性質(tenor)、抑揚、およびユーザーがどもるか否かというような発話(speech)に関する多種多様な特徴を含むことができる。他の音声(voice)および発話(speech)のデーターも想定している。
【００６７】
[0078]  ユーザーのどの特徴がＰＴＰ６８に含まれるとよいかについての以上の説明は、一例に過ぎず、更に他の実施形態では、個々のユーザーと関連のある種々の他の特徴も、ユーザーのＰＴＰ６８に含めてもよいことは認められよう。
【００６８】
[0079]  再度図６を参照する。ステップ４０２において、ＰＴＰ６８についての特徴データーを取得する。このステップは、能動的または受動的なＰＴＰ情報の収集を伴うことができる。例えば、本システムは、ユーザーにある種の単語または句を発話するように促すこと、ユーザーに所与のジェスチャーを行うように促すこと、またはユーザーに何らかの他の行為を行わせることができ、この行為がユーザーのＰＴＰ６８の一部をなす。本システムは、ユーザーに１回以上発話するように、または特定の特徴を代表する所与のジェスチャーを行うように促して、本システムがその特定の特徴について正しい基準線を得ることができるようにする。以上で説明した情報を能動的に収集するステップは、計算環境１２によって自動的に実行することができ、またはユーザーが、彼らのＰＴＰ６８に含ませるために特徴情報を記録するモードに入りたいということを、計算環境１２に示すこともできる。能動的な特徴収集の代案として、ステップ４０２において、本システムは受動的に特徴データーを収集するのでもよい。即ち、本システムは、ユーザーがシステム１０との通常の対話処理に入るときに、ユーザーのＰＴＰ６８のために特徴データーを収集することができる。
【００６９】
[0080]  特定の特徴についてのデーターを１回収集してユーザーのＰＴＰ６８に格納することも可能であるが、システム１０はときの経過と共に継続的に、ＰＴＰ６８に格納されている特徴データーに磨きをかけて行くこともできる。つまり、例えば、ユーザーの体重が増えたり減ったりするに連れて、髭が伸びるまたは髭を剃るに連れて、あるいは彼らの髪形を変えるに連れて、ユーザーのＰＴＰ６８を新たなデーターで更新して、ユーザーの現在の特性を反映する。尚、当業者には、特定のフィールドを作成し、そのフィールドにアクセスし、および／またはそのフィールドを更新できるようにＰＴＰ６８を格納するために、種々のデーター構造およびフィールドを用いることができることが認められよう。
【００７０】
[0081]  図６のステップ４０４において、計算環境１２は、ＰＴＰ６８の１バージョンに特徴データーを格納することができる。このバージョンは、計算環境１２に付随するメモリーの中にローカルに格納される。サービス５２への接続が、ＰＴＰ６８データーのアップロードまたはダウンロードのために利用できないときには、ユーザーのＰＴＰ６８のこのキャッシュ・バージョンを用いることができる。サービス５２への接続が利用可能であると仮定すると、ステップ４０６において特徴データーをサービス５２にアップロードし、前述のようにサービス・データーベース６２に格納することができる。システム１０がサービス５２にネットワーク接続されているときは、ユーザーが位置するいずれのシステム１０からでも、ＰＴＰ６８をユーザー１８によって作成することおよび／または追加することができる。
【００７１】
[0082]  これより図７のフローチャートを参照する。本技術を用いると、ユーザー１８は、サービス５２へのネットワーク接続を有するいずれのシステムからでも、彼らのＰＴＰ６８にアクセスすることができる。代わりにまたは加えて、ユーザーは、他のシステム１０に位置している間、サービス５２の代わりに、第１システム１０からＰＴＰ６８の１バージョンにアクセスすることもできる。ステップ４１０において、ユーザーは、彼らが位置するシステム１０を起動することができる。ステップ４１４において、本システムは、ユーザーが、確かな認証プロトコルを用いて、適正に認証されたか否かチェックする。認証されていない場合、ユーザーはステップ４２０においてシステム１０を使い続けることができるが、ＰＴＰ６８にアクセスすることはできない。
【００７２】
[0083]  ユーザーが適正に認証されたと仮定すると、本システムは次にステップ４２４においてＰＴＰ６８が利用可能か否か判断する。本システムは、サービス５２によって、ＰＴＰが格納されているかチェックすることができる。あるいはまたは加えて、システム１０は、他のシステム１０がユーザーのＰＴＰの利用可能なバージョンを有するか否かチェックすることもできる。ステップ４２４において利用可能なＰＴＰ６８がない場合、システム１０は、ステップ４２８において、ローカルにキャッシュされたＰＴＰが利用可能か否かチェックすることができる。ステップ４２４においてサービス５２からＰＴＰが利用可能である場合、またはステップ４２８においてローカルにキャッシュされたバージョンのＰＴＰが利用可能である場合、ステップ４３２においてそのＰＴＰをロードする。ステップ４２４にもステップ４２８にも利用可能なＰＴＰがない場合、システム１０は、ＰＴＰがないまま、ステップ４２０に進むことができる。
【００７３】
[0084]  ＰＴＰ６８が異なるシステム１０においてユーザー１８にアクセス可能になるようにＰＴＰ６８をクラウドに格納することによって、様々な利点が得られる。最初に、ＰＴＰ６８をクラウドに格納することによって、ユーザーの個人専用の、型にとらわれないジェスチャーおよび／または特有なジェスチャーや、ＮＵＩシステムとの対話処理が、ユーザーが位置するネットワーク接続システムであればどこででも利用可能となるため、ユーザー体験が豊富になる(enhance)。つまり、ユーザーが位置する各システムは、そのユーザーのセッション開始において、ユーザーがジェスチャー認識の失敗に我慢する必要なく、ユーザーの対話処理の様式やパターンに合わせて調整することができ、および／またはシステムがユーザーに馴染んでいくに連れて学習曲線に合わせて調整することができる。ユーザーは、いずれのシステムであっても、それが彼らの自宅のシステムであるかのように、用いることができる。システムを最初に用いるときであっても、そのシステムは彼らのＰＴＰデーターを知っており、そのデーターに合わせて調整される。ＰＴＰ６８の使用は、更に、ユーザーがどのシステム１０を用いているかには関係なく、ユーザーの体験を個人専用とするのに役立つことができる。
【００７４】
[0085]  前述のユーザー体験改良に加えて、クラウドに基づくＰＴＰ６８は、ユーザーの識別および認証において補助するために用いることもできる。具体的には、ユーザーのＰＴＰデーターの総和(sum total)、またはその一部であっても、そのユーザーを他の全てのユーザーから一意に識別するのに役立つことができる。したがって、ＰＴＰデーターは、種々の認証プロトコルの一部として用いて、および／またはいずれの認証プロトコルと組み合わせて用いても、ユーザーが実際に、システムがユーザーであると確信する人であるか否か認証することができる。
【００７５】
[0086]  図８は、システム１０においてユーザーを認証するために、どのようにしてＰＴＰ６８を認証プロトコルに組み込むことができるかの一例を示す。ステップ４４０において、ユーザーは、ユーザーが位置するシステム１０を起動する。ステップ４４２において、システム１０は、ゲーマー・タグまたは他の識別というような、ユーザーＩＤを受け取ることができる。ステップ４４６において、システム１０またはサービス５２は、ユーザーが位置しているシステムが、そのユーザーにとって信頼のおけるシステムであるか否か判断することができる。信頼のおけるシステムは、ユーザーが頻繁に接続するシステム（自宅のシステムまたは業務用システムのような）、ユーザーの自宅または業務用システムから規定の半径以内にあるシステム、および／またはユーザーの友人リストに示されているユーザーの友人に登録されているシステムを含むことができる。尚、所与のシステムがユーザーにとって信頼のおけるシステムか否か考慮することができる他の規準も、当業者には認められよう。
【００７６】
[0087]  ステップ４４６において、そのシステムが信頼のおけるシステムであった場合、本システムは、次に、ステップ４５０において、コンフリクトが存在するか否かチェックすることができる。コンフリクトが存在する可能性があるのは、例えば、同じユーザーが、別の場所にある別のシステムにおいてオンライン中であることが示されたときである。更に、ユーザーが他のシステムにおいてログオンし、経過時間中にそのシステムから現在のシステムに移ることができなかったことをサービス５２が示す場合にも、コンフリクト(conflict)が存在する可能性がある。このようなコンフリクトを、ここでは、地理−時間的コンフリクト(geo-temporal conflict)と呼ぶ。ステップ４５０においてコンフリクトが検出されなかった場合、本システムはステップ４５２においてアクセスを許可することができる。コンフリクトが存在することが発見された場合、例えば、ステップ４５４に関して以下で説明するように、ある種のジェスチャーを行うようにユーザーに促すというような、追加のセキュリティ・チェックが必要となる場合がある。
【００７７】
[0088]  以上のステップにおいて、システムが信頼のおけるシステムであり、コンフリクトがなかった場合、ユーザーのＰＴＰ６８を見ることなく、システム・リソースへのアクセスがユーザーに与えられる。更に他の実施形態では、ステップ４４６を飛ばすこともできる。このような実施形態では、ユーザーが信頼のおけるシステムのところにいるか否かには関係なく、本システムはユーザーのＰＴＰ６８を見て、（以下で説明するように）それを現在のシステムから受け取った生のデーターと比較することができる。
【００７８】
[0089]  ステップ４４６に戻って、そのシステムがそのユーザーにとって信頼のおけるシステムではない場合、本システムは、ステップ４５４において、格納されているＰＴＰデーターにアクセスして、そのデーターを、システム・リソースへのアクセスを要求したシステムによって取得された生のデーターと比較することができる。例えば、システムは、身長、体重、顔の容貌等というようなユーザーの体格的外観に関するＰＴＰデーターを調べて、システムへのアクセスを得ようとしているユーザーについてキャプチャー・デバイス２０によって得られた生のデーターと比較することができる。更に他の実施形態では、本システムは、ＰＴＰデーターが存在する一定のジェスチャーを行うように、ユーザーを促すこともできる。これらのジェスチャーは、例えば、ユーザーが彼または彼女のＰＴＰ６８に既に格納してある、ショートカット・ジェスチャーまたは他のジェスチャーとすることもできる。
【００７９】
[0090]  ステップ４５８において、格納されているデーターと生のデーターとの間に一致がある場合、本システムはステップ４５２においてユーザーへのアクセスを許可することができる。ステップ４５８において一致が発見されなかった場合、本システムは、ステップ４６６において、そのリソースへのアクセスをユーザーに拒否することができる。正規のユーザーを閉め出さないために、本システムは、ステップ４６２において、不一致についての信頼性レベルが何らかの既定の閾値を超えたか否かチェックすることができる。超えていない場合、本システムは４５４に戻って、追加の生の特徴データーを入手して、格納されているＰＴＰデーターと比較することができる。一方、一致がないことがシステムには明らかな場合、本システムは、ステップ４６６において、ユーザーのシステム・リソースへのアクセスを拒否することができる。
【００８０】
[0091]  更に他の実施形態では、本システムは、ユーザーの識別を確認する際に、多数のデバイスをＰＴＰデーターと共に用いることができる。このような例の１つでは、移動体電話機または他の何らかの移動体ハンドヘルド・デバイスが、ＰＴＰ６８データーのキャッシュ・バージョンを有するシステム１０となることができる。ユーザーがこのデバイスを第２システム１０の近くに持って行くと、これらのシステムは互いに通信することができ、移動体デバイス上にあるＰＴＰ６８のキャッシュ・バージョンを、第２システム１０上にローカルに格納されているＰＴＰ６８、またはサービス５２からアクセスしたＰＴＰ６８と比較することができる。一致があった場合、システム１０は、ユーザーが認証されたと見なし、ユーザーにアクセスを許可することができる。
【００８１】
[0092]  先に注記したように、本技術の特徴の１つは、特殊なジェスチャーおよびジェスチャー・ショートカットを作成し認識することにある。パラメータが既定のジェスチャーに一致するか否か判断するために取得したパラメータを分析する種々の方法が、当業者には分かるであろう。このような方法は、例えば、先に本願にも含まれるものとした米国特許出願第１２／４７５，３０８号、および"Gesture-Controlled Interfaces For Self-Service Machines And Other Applications"（セルフ・サービス機械およびその他の用途のためのジェスチャー制御インターフェース）と題する米国特許公開第２００９／００７４２４８号に開示されている。この米国特許公開第２００９／００７４２４８号をここで引用したことにより、その内容全体が本願にも含まれるものとする。しかしながら、本技術の実施形態にしたがってジェスチャーを認識するジェスチャー認識エンジン１９０について、図９のブロック図および図１０のフローチャートを参照して、更に詳しく説明する。
【００８２】
[0093]  ジェスチャー認識エンジン１９０は、ステップ５５０において、姿勢情報５００を受け取る。この姿勢情報は、種々の関節についてキャプチャー・デバイス２０によって検出されたｘ、ｙ、およびｚ最小および最大画像面位置を含む、多数のパラメータを含むことができる。また、これらのパラメータは、種々の関節についての離散時間間隔での速度および加速度の測定値も含むことができる。このように、実施形態では、ジェスチャー認識エンジン１９０は、ユーザーの身体における全ての点の位置および力学的活動の全体像(full picture)を受け取ることができる。
【００８３】
[0094]  既定のジェスチャーは、ジェスチャー・ライブラリー５４０に格納することができる。ジェスチャー・ライブラリー５４０は、計算環境１２で実行する特定のアプリケーションに対して特定的であっても、または計算環境１２に対して汎用的であってもよい。ライブラリー５４０は、計算環境１２にローカルに格納すること、あるいはサービス５２または他のシステム１０にリモートに格納することもできる。ライブラリー５４０は、格納されている規則５４２を含む。規則５４２は、姿勢情報５００によって示される特定の位置および／または力学的運動が、既定のジェスチャーとして解釈されるべきときを記述する。実施形態では、各ジェスチャーは、異なる固有の規則、または１組の規則５４２を有することができる。各規則は、図５に示した身体部分の１つ以上について多数のパラメータ（関節位置ベクトル、最大／最小位置、位置変化等）を有することができる。格納されている規則は、各パラメータについて、そして図５に示した各身体部分３０２〜３３０について、１つの値、値の範囲、最大値、最小値、またはその身体部分についてのパラメータが、その規則が適用されるジェスチャーの判定には関連がないことの指示を定めることができる。規則は、ゲームの著作者、ゲーミング・プラットフォームのホスト、またはユーザー自身によって作成することができる。
【００８４】
[0095]  前述のように、ユーザー１８は、型にはまらないやり方である種のジェスチャーを行うことができるが、このジェスチャーは、ライブラリー５４０の中にある規則５４２が通常は識別できないこともある。このため、ユーザーのＰＴＰ６８は、そのユーザーに特定なジェスチャーの特別な定義７０を格納することもできる。前述したこのような特別なジェスチャーの１つが、クリケットのプレーヤーが野球の試合をしているときの大振りのモーションである。多種多様のその他の特別のジェスチャーやジェスチャー・ショートカットも存在してもよい。これらの特別な定義７０は、ユーザーが非日常的な、型にはまらない、および／または任意のやり方で行うことができ、別のやり方ではジェスチャー・ライブラリー５４０の中にある規則５４２で識別することができないかもしれないあらゆるジェスチャーに関係することができる。
【００８５】
[0096]  ジェスチャー認識エンジン１９０は、ステップ５５２および５５４において受け取った姿勢情報５００を分析して、その姿勢情報が、ユーザーのＰＴＰ６８におけるいずれかの規則定義７０、またはジェスチャー・ライブラリ５４０の中に格納されている既定の規則５４２と一致するか否か確認する。ジェスチャー認識エンジン１９０は、識別したジェスチャーと、信頼性レベルの双方を出力することができる。信頼性レベルは、ユーザーの位置／動きがそのジェスチャーに対応する尤度に対応する。具体的には、ジェスチャーに必要とされるパラメータを定義することに加えて、定義７０および／または規則５４２は、更に、姿勢情報５００をジェスチャーと解釈しようとする前に必要とされる閾値信頼性レベルも含むことができる。ジェスチャーの中には、システム・コマンドまたはゲーミング命令としての影響(impact)が他のものよりも強いものもあり得るので、したがって、姿勢がそのジェスチャーであると解釈する前に、一層高い信頼性レベルが必要となる。姿勢情報を、規則について格納されているパラメータと比較することによって、その姿勢情報がジェスチャーを示すか否かについての累計的な信頼性レベルが得られる。
【００８６】
[0097]  所与の姿勢または動きが所与のジェスチャー定義または規則を満たすか否かに関して、一旦信頼性レベルが判定されたなら、ジェスチャー認識エンジン１９０は、次に、ステップ５５６において、信頼性レベルが、検討中の規則についての所定の閾値よりも高いか否か判断する。この閾値信頼性レベルは、検討対象の規則と関連付けて格納することができる。信頼性レベルが閾値よりも低い場合、ジェスチャーは検出されず（ステップ５６０）、何の動作も行われない。一方、信頼性レベルが閾値よりも高い場合、ユーザーの動きが、検討中のジェスチャー規則を満たすと判断されたことになり、ジェスチャー認識エンジン１９０は、識別されたジェスチャーを戻す。尚、ライブラリー５４０および／またはユーザーのＰＴＰ６８において既定のジェスチャーを検出するための、以上で説明したステップには様々な変形があることが、当業者には認められよう。
【００８７】
[0098]  本発明のシステムについての以上の詳細な説明は、例示および説明の目的で提示されたのである。これは、網羅的であることも、本発明のシステムを、開示した形態そのものに限定することも意図していない。多くの変更および変形が、以上の教示に照らし合わせて可能である。記載した実施形態は、本発明のシステムの原理および実用的な用途を最良に説明し、これによって当業者が本発明を種々の実施形態において、そして個々の想定される使用に適した種々の変更と共に利用することを可能にするために選択されたのである。本発明のシステムの範囲は、添付されている請求項によって定められることを意図している。
【図１Ａ】
2013533997.tif 000003
【図１Ｂ】
2013533997.tif 000004
【図２】
2013533997.tif 000005
【図３】
2013533997.tif 000006
【図４Ａ】
2013533997.tif 000007
【図４Ｂ】
2013533997.tif 000008
【図５】
2013533997.tif 000009
【図６】
2013533997.tif 000010
【図７】
2013533997.tif 000011
【図８】
2013533997.tif 000012
【図９】
2013533997.tif 000013
【図１０】
2013533997.tif 000014
【国際調査報告】
2013533997.tif 000015
2013533997.tif 000016