(57)【要約】【解決手段】ユーザが双方向型ゲームをプレーすることを可能とするためのゲームプログラムのプロセッサによる実行を制御するための情報を取得するときに用いられるゲームコントローラ、追跡装置、及び関連する装置が開示される。ビデオゲームのコントローラを追跡し、システムへの入力を提供するための方法もまた開示される。【選択図】図５Ａ
2009535173.tif 000002
【特許請求の範囲】
【請求項１】
ビデオゲームシステムのコントローラを追跡するための方法であって、
前記ビデオゲームシステムのコントローラ上に配置された慣性センサから１以上の信号を生成するステップと、
前記コントローラの位置及び／又は方向の情報を決定するために前記１以上の信号を分析するステップと、
前記ビデオゲームシステムにおいてビデオゲームのプレー中に前記位置及び／又は方向の情報を利用するステップと、
を備えることを特徴とする方法。
【請求項２】
前記１以上の信号は、１以上の方向に関する前記コントローラの平行移動の加速度に関連する信号を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記１以上の信号を分析するステップは、速度信号を生成するために、平行移動の加速度信号又は前記平行移動の加速度信号から生成されるデータを時間に関して積分するステップを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記１以上の信号を分析するステップは、変位信号を生成するために、前記平行移動の加速度信号又は前記平行移動の加速度信号から生成されるデータを時間に関して２階積分するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記１以上の信号は、ピッチ又はヨー軸に関する前記コントローラの回転に関連する信号を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ビデオゲームシステムにおいて前記ビデオゲームのプレー中に前記位置及び／又は方向の情報を利用するステップは、前記位置及び／又は方向の情報から前記コントローラのパスを決定するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記コントローラのパスを、１以上の既知のジェスチャーと比較するステップを更に備えることを特徴とする請求項６に記載の方法。
【請求項８】
前記コントローラのパス又はその一部が１以上の既知のジェスチャーに一致する場合、前記ビデオゲームの状態を変更するステップを更に備えることを特徴とする請求項７に記載の方法。
【請求項９】
システムへの入力の提供に用いられる方法であって、
前記システムのコントローラ上に配置された慣性センサから１以上の信号を生成するステップと、
前記コントローラの位置及び／又は方向の情報を決定するために前記１以上の信号を分析するステップと、
決定された位置及び／又は方向の情報と、１以上のコマンドに関連づけられた既定の位置情報とを比較するステップと、
決定された位置及び／又は方向の情報が、コマンドのための既定の位置情報に合致する場合、前記システムの状態を変更するステップと、
を備えることを特徴とする方法。
【請求項１０】
ゲームコントローラであって、
本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記本体に取り付けられた少なくとも１つの入力装置と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、
を備えることを特徴とするゲームコントローラ。
【請求項１１】
信号エンコーダと、
前記信号エンコーダからの信号を用いて、大気を介して赤外線信号を送信可能な赤外線信号送信部と、を更に備え、
前記信号エンコーダは、赤外線受信機と、選択された１つの信号コードにより動作可能な信号デコーダとを有する電子機器による受信のために、複数の信号コードのうち選択された１つにより信号をエンコードするようプログラム可能であることを特徴とする請求項１０に記載のゲームコントローラ。
【請求項１２】
前記本体は、手で把持可能なハウジングを含み、
前記入力装置は、前記ユーザからの入力を登録するために、前記ゲームコントローラの前記本体に対してユーザにより移動可能な要素を含む
ことを特徴とする請求項１０に記載のゲームコントローラ。
【請求項１３】
前記ハウジングは、手で握持可能な握りを含むことを特徴とする請求項１２に記載のゲームコントローラ。
【請求項１４】
前記ゲームコントローラの前記本体は、ユーザの体に装着可能であることを特徴とする請求項１０に記載のゲームコントローラ。
【請求項１５】
前記慣性センサは、第１の軸に沿った前記本体の動きの第１の成分を定量化するための情報を生成可能であることを特徴とする請求項１０、及び１２から１４のいずれかに記載のゲームコントローラ。
【請求項１６】
前記慣性センサは、前記第１の軸に直交する第２の軸に沿った前記動きの第２の成分を定量化するための情報を生成可能であることを特徴とする請求項１５に記載のゲームコントローラ。
【請求項１７】
前記慣性センサは、前記第１の軸及び前記第２の軸に直交する第３の軸に沿った前記動きの第３の成分を定量化するための情報を生成可能であることを特徴とする請求項１６に記載のゲームコントローラ。
【請求項１８】
前記慣性センサは、少なくとも１つの加速度計を含むことを特徴とする請求項１５から１７のいずれかに記載のゲームコントローラ。
【請求項１９】
前記慣性センサは、少なくとも１つの機械的ジャイロスコープを含むことを特徴とする請求項１５から１７のいずれかに記載のゲームコントローラ。
【請求項２０】
前記慣性センサは、少なくとも１つのレーザージャイロスコープを含むことを特徴とする請求項１９に記載のゲームコントローラ。
【請求項２１】
前記慣性センサは、少なくとも３つの自由度における前記本体の動きを定量化するための情報を生成可能であることを特徴とする請求項１０に記載のゲームコントローラ。
【請求項２２】
前記少なくとも３つの自由度は、ピッチ、ヨー及びロールを含むことを特徴とする請求項２１に記載のゲームコントローラ。
【請求項２３】
前記少なくとも３つの自由度は、それぞれ互いに直交するｘ軸、ｙ軸及びｚ軸を含むことを特徴とする請求項２１に記載のゲームコントローラ。
【請求項２４】
前記慣性センサは、前記３つの自由度と、ピッチ、ヨー及びロールを含む６つの自由度における前記動きを定量化することが可能であることを特徴とする請求項２３に記載のゲームコントローラ。
【請求項２５】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも１つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項１５から２４のいずれかに記載のゲームコントローラ。
【請求項２６】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項２５に記載のゲームコントローラ。
【請求項２７】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項２６に記載のゲームコントローラ。
【請求項２８】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項２６に記載のゲームコントローラ。
【請求項２９】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項２８に記載のゲームコントローラ。
【請求項３０】
請求項２５に記載のゲームコントローラを含み、
ユーザが操作可能な前記入力装置を介した入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備え、
前記プロセッサは、前記一連のサンプルを用いて前記本体の速度を決定可能であることを特徴とする装置。
【請求項３１】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項３０に記載の装置。
【請求項３２】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項３０に記載の装置。
【請求項３３】
前記プロセッサは、以前に決定された位置に対する前記変位を決定することにより、前記本体の空間における位置を決定可能であることを特徴とする請求項３０に記載の装置。
【請求項３４】
ユーザが双方向型ゲームをプレーすることを可能とするためのゲームプログラムのプロセッサによる実行を制御するための情報を取得するときに用いられる追跡装置であって、
本体と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、
を備えることを特徴とする追跡装置。
【請求項３５】
前記本体は、ゲームコントローラに搭載可能であり、
前記ゲームコントローラは、
ゲームコントローラ本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記ゲームコントローラ本体に取り付けられた少なくとも１つの入力装置とを含む
ことを特徴とする請求項３４に記載の追跡装置。
【請求項３６】
請求項３５に記載の追跡装置及びゲームコントローラを含む装置。
【請求項３７】
前記追跡装置の前記本体は、ユーザの体に装着可能であることを特徴とする請求項３４に記載の追跡装置。
【請求項３８】
前記慣性センサは、第１の軸に沿った前記本体の動きの第１の成分を定量化するための情報を生成可能であることを特徴とする請求項３４、３６及び３７のいずれかに記載の追跡装置。
【請求項３９】
前記慣性センサは、前記第１の軸に直交する第２の軸に沿った前記動きの第２の成分を定量化するための情報を生成可能であることを特徴とする請求項３８に記載の追跡装置。
【請求項４０】
前記慣性センサは、前記第１の軸及び前記第２の軸に直交する第３の軸に沿った前記動きの第３の成分を定量化するための情報を生成可能であることを特徴とする請求項３９に記載の追跡装置。
【請求項４１】
前記慣性センサは、少なくとも１つの加速度計を含むことを特徴とする請求項３８から４０のいずれかに記載の追跡装置。
【請求項４２】
前記慣性センサは、少なくとも１つの機械的ジャイロスコープを含むことを特徴とする請求項３８から４０のいずれかに記載の追跡装置。
【請求項４３】
前記慣性センサは、少なくとも１つのレーザージャイロスコープを含むことを特徴とする請求項４２に記載の追跡装置。
【請求項４４】
前記慣性センサは、少なくとも３つの自由度における前記本体の動きを定量化するための情報を生成可能であることを特徴とする請求項３４に記載の追跡装置。
【請求項４５】
前記少なくとも３つの自由度は、ピッチ、ヨー及びロールを含むことを特徴とする請求項４４に記載の追跡装置。
【請求項４６】
前記少なくとも３つの自由度は、それぞれ互いに直交するｘ軸、ｙ軸及びｚ軸を含むことを特徴とする請求項４５に記載の追跡装置。
【請求項４７】
前記慣性センサは、前記３つの自由度と、ピッチ、ヨー及びロールを含む６つの自由度における前記動きを定量化することが可能であることを特徴とする請求項４６に記載の追跡装置。
【請求項４８】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも１つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項３８から４７のいずれかに記載の追跡装置。
【請求項４９】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項４８に記載の追跡装置。
【請求項５０】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項４９に記載の追跡装置。
【請求項５１】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項４８に記載の追跡装置。
【請求項５２】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項５１に記載の追跡装置。
【請求項５３】
請求項４８に記載の追跡装置を含み、
前記慣性センサにより生成された情報を処理することにより取得された入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備えることを特徴とする装置。
【請求項５４】
前記プロセッサ及び前記ゲームコントローラのうちいずれか、又は前記プロセッサ及び前記ゲームコントローラの双方との間でディジタル通信を実行可能な通信インタフェースを更に備えることを特徴とする請求項３４から３６のいずれかに記載の追跡装置。
【請求項５５】
前記通信インタフェースは、汎用非同期送受信回路（Universal Asynchronous Receiver Transmitter：ＵＡＲＴ）を含むことを特徴とする請求項５４に記載の追跡装置。
【請求項５６】
前記汎用非同期送受信回路は、当該追跡装置の動作を制御するための制御信号の受信、及び、他の装置との通信のための当該追跡装置からの信号の送信のうち少なくとも一方を実行可能であることを特徴とする請求項５５に記載の追跡装置。
【請求項５７】
前記通信インタフェースは、汎用シリアルバス（Universal Serial Bus：ＵＳＢ）コントローラを含むことを特徴とする請求項５４又は５５に記載の追跡装置。
【請求項５８】
前記汎用シリアルバスコントローラは、当該追跡装置の動作を制御するための制御信号の受信、及び、他の装置との通信のための当該追跡装置からの信号の送信のうち少なくとも一方を実行可能であることを特徴とする請求項５７に記載の追跡装置。
【請求項５９】
前記プロセッサは、前記一連のサンプルを用いて前記本体の速度を決定可能であることを特徴とする請求項５３に記載の装置。
【請求項６０】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項５３に記載の装置。
【請求項６１】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項５３に記載の装置。
【請求項６２】
前記プロセッサは、以前に決定された位置に対する前記変位を決定することにより、前記本体の空間における位置を決定可能であることを特徴とする請求項５３に記載の装置。
【請求項６３】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項１０から２９のいずれかに記載のゲームコントローラ。
【請求項６４】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項３０から３３のいずれかに記載の装置。
【請求項６５】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項３４から５２及び５４から６２のいずれかに記載の追跡装置。
【請求項６６】
前記慣性センサは、前記コントローラ本体に着脱可能に搭載されることを特徴とする請求項３５又は３６に記載の追跡装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、コンピュータエンタテインメントシステムに関し、より具体的には、そのようなコンピュータエンタテインメントシステムのコントローラのユーザによる操作に関する。
【背景技術】
【０００２】
コンピュータエンタテインメントシステムは、一般に、ハンドヘルドコントローラ、ゲームコントローラ、又はその他のコントローラを含む。ユーザ又はプレイヤーは、コマンド又はその他の命令をエンタテインメントシステムに送信して、プレーされているビデオゲーム又はその他のシミュレーションを制御するために、コントローラを用いる。例えば、コントローラには、ユーザにより操作されるジョイスティックなどの操作部が設けられてもよい。操作されたジョイスティックの変量は、アナログ値からディジタル値に変換され、ゲーム機のメインフレームへ送信される。コントローラには、ユーザが操作可能なボタンが設けられてもよい。
【０００３】
本発明は、これら又はその他の背景となる情報要素に関して発展させたものである。
【図面の簡単な説明】
【０００４】
【図１】本発明の実施の形態にしたがって動作するビデオゲームシステムを例示した図である。
【図２】本発明の実施の形態に係るコントローラの透視図である。
【図３Ａ】本発明の実施の形態に係るコントローラにおいて用いられる加速度計を示す３次元概略図である。
【図３Ｂ】図３Ａの加速度計をピッチ又はロール軸の周りに回転した状態を示す断面概略図である。
【図３Ｃ】図３Ａの加速度計に並進加速度を与えた状態を示す断面概略図である。
【図３Ｄ】図３Ａの加速度計にヨー軸の周りの回転加速度を与えた状態を示す平面概略図である。
【図３Ｅ】図３Ａの加速度計にヨー軸の周りの回転加速度を与えた状態を示す平面概略図である。
【図４】本発明の実施の形態に係る方向依存ゼロ点加速度計信号の補正を示す３次元概略図である。
【図５Ａ】図１のビデオゲームシステムの一部のブロック図である。
【図５Ｂ】本発明の実施の形態に係るビデオゲームシステムのコントローラを追跡するための方法のフロー図である。
【図５Ｃ】本発明の実施の形態に係るビデオゲームシステムにおいてゲームプレー中に位置及び／又は方向の情報を利用するための方法を例示したフロー図である。
【図６】本発明の実施の形態に係るビデオゲームシステムを例示したブロック図である。
【図７】本発明の実施の形態に係るビデオゲームシステムのセルプロセッサによる実装のブロック図である。
【発明を実施するための形態】
【０００５】
・優先権の主張
本出願は、米国特許出願１１／３８１，７２９（発明者：シャドン・マオ、発明の名称：「超小型マイクロフォン配列」、代理人事件番号：ＳＣＥＡ０５０６２ＵＳ００、出願日：２００６年５月４日）、米国特許出願１１／３８１，７２８（発明者：シャドン・マオ、発明の名称：「エコー及びノイズキャンセル」、代理人事件番号：ＳＣＥＡ０５０６４ＵＳ００、出願日：２００６年５月４日）、米国特許出願１１／３８１，７２５（発明者：シャドン・マオ、発明の名称：「対象音声検出方法及び装置」、代理人事件番号：ＳＣＥＡ０５０７２ＵＳ００、出願日：２００６年５月４日）、米国特許出願１１／３８１，７２７（発明者：シャドン・マオ、発明の名称：「コンソール上の遠距離場マイクロフォンによる電子機器のノイズ除去」、代理人事件番号：ＳＣＥＡ０５０７３ＵＳ００、出願日：２００６年５月４日）、米国特許出願１１／３８１，７２４（発明者：シャドン・マオ、発明の名称：「対象音声検出及びキャラクタリゼーションのための方法及び装置」、代理人事件番号：ＳＣＥＡ０５０７９ＵＳ００、出願日：２００６年５月４日）、米国特許出願１１／３８１，７２１（発明者：シャドン・マオ、発明の名称：「コンピュータ対話処理に連動した選択的音源聴取」、代理人事件番号：ＳＣＥＡ０４００５ＪＵＭＢＯＵＳ、出願日：２００６年５月４日）の優先権を主張し、これらの全てはここに参照として組み込まれる。
【０００６】
本出願は、さらに、米国特許出願１１／３８２，０３１（発明者：ゲイリー・ザレウスキーら、発明の名称：「多入力ゲーム制御ミクサ」、代理人事件番号：ＳＣＥＡ０６ＭＸＲ１、２００６年５月６日出願）、米国特許出願１１／３８２，０３２（発明者：ゲイリー・ザレウスキーら、発明の名称：「環境内のユーザ操作を追跡するためのシステム」、代理人事件番号：ＳＣＥＡ０６ＭＸＲ２、２００６年５月６日出願）の優先権を主張し、これらはここに参照として組み込まれる。
【０００７】
本出願は、さらに、同時係属の米国特許出願１１／４１８，９８８（発明者：シャドン・マオ、発明の名称：「音声を取得するための聴取領域を調整するための方法及び装置」、代理人事件番号：ＳＣＥＡ−００３００、出願日：２００６年５月４日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／４１８，９８９（発明者：シャドン・マオ、発明の名称：「視覚画像に基づいて音声信号を取得するための方法及び装置」、代理人事件番号：ＳＣＥＡ−００４００、出願日：２００６年５月４日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／４２９，０４７（発明者：シャドン・マオ、発明の名称：「信号の位置に基づいて音声信号を取得するための方法及び装置」、代理人事件番号：ＳＣＥＡ−００５００、出願日：２００６年５月４日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／４２９，１３３（発明者：リチャード・Ｌ・マークス、発明の名称：「コンピュータ対話処理に連動した選択的音源聴取」、代理人事件番号：ＳＣＥＡ０４００５ＵＳ０１−ＳＯＮＹＰ０４５、出願日：２００６年５月４日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／４２９，４１４（発明者：リチャード・Ｌ・マークス、発明の名称：「コンピュータ画像及び音声強度処理及びコンピュータプログラムとのインタフェースのための入力装置」、代理人事件番号：ＳＯＮＹＰ０５２、出願日：２００６年５月４日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。
【０００８】
本出願は、さらに、同時係属の米国特許出願１１／３８２，０３３（発明の名称：「３次元入力制御システム、方法及び装置」、代理人事件番号：ＳＣＥＡ０６ＩＮＲＴ１、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０３５（発明の名称：「慣性的に追跡可能なハンドヘルドコンピュータ」、代理人事件番号：ＳＣＥＡ０６ＩＮＲＴ２、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０３６（発明の名称：「視覚追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号：ＳＯＮＹＰ０５８Ａ、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０４１（発明の名称：「慣性追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号：ＳＯＮＹＰ０５８Ｂ、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０３８（発明の名称：「音響追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号：ＳＯＮＹＰ０５８Ｃ、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０４０（発明の名称：「多チャンネル混合入力にギアリング効果を適用するための方法及び装置」、代理人事件番号：ＳＯＮＹＰ０５８Ｄ、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０３４（発明の名称：「ゲームコントローラ本体のユーザ操作を検知及び追跡するための機構」、代理人事件番号：ＳＣＥＡ０５０８２ＵＳ００、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０３７（発明の名称：「ハンドヘルドコンピュータの動きをシステムへの入力に変換するための機構」、代理人事件番号：８６３２４、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０４３（発明の名称：「検知可能で追跡可能なハンドヘルドコンピュータ」、代理人事件番号：８６３２５、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願１１／３８２，０３９（発明の名称：「ハンドヘルドコンピュータの動きをゲームコマンドにマッピングするための方法」、代理人事件番号：８６３２６、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願２９／２５９，３４９（発明の名称：「赤外線ポート付きのコントローラ（商標）」、代理人事件番号：ＳＣＥＡ０６００７ＵＳ００、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願２９／２５９，３５０（発明の名称：「追跡センサ付きのコントローラ（商標）」、代理人事件番号：ＳＣＥＡ０６００８ＵＳ００、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願６０／７９８，０３１（発明の名称：「動的対象インタフェース」、代理人事件番号：ＳＣＥＡ０６００９ＵＳ００、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願２９／２５９，３４８（発明の名称：「追跡されるコントローラ装置（商標）」、代理人事件番号：ＳＣＥＡ０６０１０ＵＳ００、出願日：２００６年５月６日）の優先権を主張し、その全ての開示はここに参照として組み込まれる。
【０００９】
・関連出願への相互参照
本出願は、米国特許出願１０／２０７，６７７（発明の名称：「変形可能な装置を用いたマン・マシン・インタフェース」、出願日：２００２年７月２７日）、米国特許出願１０／６５０，４０９（発明の名称：「音声入力システム」、出願日：２００３年８月２７日）、米国特許出願１０／６６３，２３６（発明の名称：「追跡された頭の動きにしたがって表示されたシーンの視界を調整するための方法及び装置」、出願日：２００３年９月１５日）、米国特許出願１０／７５９，７８２（発明の名称：「光入力装置のための方法及び装置」、出願日：２００４年１月１６日）、米国特許出願１０／８２０，４６９（発明の名称：「音声妨害を検知及び除去するための方法及び装置」、出願日：２００４年４月７日）、米国特許出願１１／３０１，６７３（発明の名称：「頭及び手の相対位置を用いてカメラ追跡を介したポインティングインタフェースを実現するための方法」、出願日：２００５年１２月１２日）、米国特許出願６０／７１８，１４５（発明の名称：「音声、映像、シミュレーション、及びユーザインタフェースの実例」、出願日：２００５年９月１５日）に関連し、それらの全ての開示はここに参照として組み込まれる。
【００１０】
・特定の実施の形態の説明
下記の詳細な説明は、例示を目的として多くの特定の詳細を含むが、下記の詳細に対する多くの変形及び置換が本発明の範囲に入ることは、当業者に認識されるところである。したがって、下記に説明する本発明の実施の形態は、請求された発明の一般性を失わせることなく、また限定を付加することもなく説明される。
【００１１】
ここで説明される方法、装置、機構及びシステムの種々の実施の形態は、コントローラ全体のユーザによる移動、動作、及び／又は操作の検出、取得、及び追跡を提供する。検出されたコントローラ全体のユーザによる移動、動作、及び／又は操作は、プレーされているゲーム又は他のシミュレーションの種々の態様を制御するための更なるコマンドとして用いられてもよい。
【００１２】
ゲームコントローラ本体のユーザによる操作の検出及び追跡は、様々な方法で実現されうる。例えば、ある実施の形態において、加速度計又はジャイロスコープなどの慣性センサが、ハンドヘルドコントローラ本体の動きを検出し、それらをゲームにおけるアクションに転換するために、コンピュータエンタテインメントシステムとともに利用可能である。慣性センサは、コントローラの多数の異なる型の動き、例えば、上下移動、ひねり、左右移動、引っ張り、棒を振るような動作、突き出しなどを検出するために用いられてもよい。これらの動きは、ゲームにおけるアクションに転換するために、種々のコマンドに対応づけられてもよい。
【００１３】
ユーザによるゲームコントローラの操作の検出及び追跡は、例えば、剣やライトサーベルにより交戦したり、アイテムの形をなぞるために棒を用いたり、種々のスポーツ大会において戦ったり、オンスクリーン戦やその他の遭遇戦において戦ったりすることなどをユーザに可能とするための様々なタイプのゲーム、シミュレーションなどを実現するために利用可能である。
【００１４】
図１には、本発明の実施の形態にしたがって動作するシステム１００が示される。図示されたように、コンピュータエンタテインメントコンソール１０２は、ビデオゲーム又はその他のシミュレーションの画像を表示するためのテレビジョン又はその他の映像表示装置１０４に接続されてもよい。ゲーム又はその他のシミュレーションは、コンソール１０２に挿入されたＤＶＤ、ＣＤ、フラッシュメモリ、ＵＳＢメモリ、又はその他の記憶媒体１０６に格納されてもよい。ユーザ又はプレイヤー１０８は、ビデオゲーム又はその他のシミュレーションを制御するためにゲームコントローラ１１０を操作する。図２において、ゲームコントローラ１１０は、ゲームコントローラ１１０の位置、動き、方向、又は方向の変化に応じて信号を生成する慣性センサ１１２を含む。ゲームコントローラ１１０は、慣性センサに加えて、従来の制御入力デバイス、例えば、ジョイスティック１１１、ボタン１１３、Ｒ１、Ｌ１などを含んでもよい。
【００１５】
動作中、ユーザ１０８はコントローラ１１０を物理的に移動させる。例えば、ユーザ１０８は、コントローラ１１０を任意の方向、例えば、上下左右に移動させたり、ひねったり、回転させたり、振ったり、引いたり、突いたりしてもよい。以下に説明する方法により慣性センサ１１２からの信号の分析を通じて追跡するために、コントローラ１１０のこれらの動き自体をカメラ１１４により検出し取得してもよい。
【００１６】
再び図１を参照して、システム１００は、カメラ又はその他の映像取得装置１１４を選択的に含んでもよい。カメラは、コントローラ１１０がその視野１１６の範囲内になる位置に設けられてもよい。映像取得装置１１４からの画像の分析は、慣性センサ１１２からのデータの分析に関連して用いられてもよい。図２に示すように、コントローラ１１０には、映像分析による追跡を容易にするために、ＬＥＤ２０２、２０４、２０６、２０８などの光源が選択的に設けられてもよい。コントローラ１１０を追跡することを目的とした、そのような映像の分析は、例えば、米国特許出願１１／３８２，０３４（発明の名称：「ユーザによるゲームコントローラ本体の操作を検出し追跡するための機構」、代理人事件番号：ＳＣＥＡ０５０８２ＵＳ００）に記述されており、ここに参照として組み込まれる。コンソール１０２は、マイクロフォン配列１１８を含んでもよい。コントローラ１１０は、マイクロフォン配列１１８によるコントローラ１１０の音響的追跡や音響信号処理を容易にするための音源を提供するために、音響信号生成部２１０（例えば、スピーカ）を含んでもよい。その技術は、例えば、米国特許出願１１／３８１，７２４に記述されており、ここに参照として組み込まれる。
【００１７】
一般に、慣性センサからの信号は、コントローラ１１０の位置及び方向データを生成するために用いられる。これらのデータは、コントローラ１１０の移動の多数の物理的態様、例えば、任意の軸に沿った加速度及び速度、傾き、勾配、ヨー、回転など、コントローラ１１０の任意のテレメトリデータを算出するために用いられてもよい。ここでは、テレメトリとは、概ね、遠隔測定と、対象となる情報のシステム又はシステム設計者又はオペレータへの報告とのことをいう。
【００１８】
コントローラ１１０の動きを検出し追跡することにより、予め定義されたコントローラ１１０の動きが行われたか否かを判定することができる。すなわち、コントローラ１１０の特定の動きのパターン又はジェスチャーを予め定義しておき、ゲーム又はその他のシミュレーションの入力コマンドとして用いることができる。例えば、コントローラ１１０を下に突き出すジェスチャーをあるコマンドとして定義し、コントローラ１１０をひねるジェスチャーを別のコマンドとして定義し、コントローラ１１０を振るジェスチャーを更に別のコマンドとして定義することができる。このように、ユーザ１０８がコントローラ１１０を物理的に動かす方法を、ゲームを制御するための入力として用いることにより、ユーザにより刺激的で娯楽性の高い経験を提供することができる。
【００１９】
慣性センサ１１２は、例えば加速度計でもよいが、それに限定されない。図３Ａは、例えば、スプリング３０６、３０８、３１０、３１２により、４点でフレーム３０４に弾性的に結合された単純な質量３０２の形式の加速度計３００の例を示す。ピッチ軸及びロール軸（それぞれＸ及びＹで示される）は、フレームに交差する平面上にある。ヨー軸Ｚは、ピッチ軸Ｘ及びロール軸Ｙを含む平面に垂直な方向である。フレーム３０４は、任意の適当な方式でコントローラ１１０に搭載されてもよい。フレーム３０４（及びジョイスティックコントローラ１１０）が加速され及び／又は回転されると、質量３０２は、フレーム３０４から相対的に変位し、スプリング３０６、３０８、３１０、３１２は、並進及び／又は回転の加速度の値及び方向及び／又はピッチ及び／又はロール及び／又はヨーの角度に依存して伸縮する。質量３０２の変位量及び／又はスプリング３０６、３０８、３１０、３１２の伸縮量は、例えば、適切なセンサ３１４、３１６、３１８、３２０により検知され、既知又は確定可能な方法で、ピッチ及び／又はロールの加速度に依存する信号に変換される。
【００２０】
質量の位置及び／又はそれに与えられる力を追跡する異なる方法が多く存在する。それらの方法は、抵抗歪みゲージ物質、光学センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどを含む。本発明の実施の形態は、任意の数及び形式のセンサを含んでもよいし、複数の形式のセンサの組み合わせを含んでもよい。センサ３１４、３１６、３１８、３２０は、質量３０２の上に配置されたギャップ電極であってもよい。質量とそれぞれの電極との間の容量は、質量の位置がそれぞれの電極に対して相対的に変化するにつれて変化する。それぞれの電極は、電極に対する質量３０２の容量（及び近接性）に関連する信号を生成する回路に接続されてもよい。さらに、スプリング３０６、３０８、３１０、３１２は、スプリングの伸縮に関連した信号を生成する抵抗歪みゲージセンサを含んでもよい。
【００２１】
ある実施の形態において、フレーム３０４は、加速度計３００がピッチ及び／又はロール及び／又はヨー軸に関して固定的な方向を維持するためにコントローラ１１０に搭載されたジンバルであってもよい。これによれば、現実世界の座標軸に対するコントローラの軸の傾きを考慮する必要なく、コントローラのＸ、Ｙ、Ｚ軸を、直接現実世界の対応する軸にマップすることができる。
【００２２】
図３Ｂ−３Ｄは、加速及び／又は回転の異なる条件下でのスプリング３０６、３０８、３１０、３１２の異なる伸縮の例を示す。具体的には、図３Ｂは、フレーム３０４がＹ軸の周りに回転した状況を示す。質量３０２に作用する重量のために、スプリング３０６、３１０は伸張し、質量３０２はセンサ３１４、３１８に接近し、センサ３１６、３２０から遠ざかる。Ｙ（ロール）軸に関する反対方向の回転により、同様にスプリング３０６、３１０が伸張するが、質量はセンサ３１６、３２０に接近し、センサ３１４、３１８から遠ざかる。同様に、Ｘ（ピッチ）軸に関する回転により、スプリング３０８、３１２が伸張し、質量は、回転の方向に依存するが、センサ３１４、３１６に接近し、センサ３１８、３２０から遠ざかる。
【００２３】
図３Ｃは、フレーム３０４が水平面を保ったまま下方（矢印で示される）へ急激に加速された状況を示す。この状況においては、４つのスプリング３０６、３０８、３１０、３１２は全て伸張し、質量は４つのセンサ３１４、３１６、３１８、３２０の全てに接近する。図３Ｄでは、フレーム３０４は水平面を保ったまま左（矢印で示される）へ加速される。この状況においては、スプリング３０６、３０８、及び３１２は伸張し、スプリング３１０は圧縮される。質量３０２は、センサ３１４、３１８から遠ざかり、センサ３１６、３２０に接近する。図３Ｅは、フレーム３０４がＺ（ヨー）軸の周りの角加速度を与えられ、４つのスプリング３０６、３０８、３１０、３１２の全てが伸張し、質量３０２が４つのセンサ３１４、３１６、３１８、３２０の全てから遠ざかる状況を示す。図３Ｂ−３Ｅから分かるように、異なるフレーム３０４の動き及び／又は方向は、特定の信号の組み合わせを生成するので、信号の組み合わせを分析することにより、フレーム３０４（及びコントローラ１１０）の方向及び／又は動きを決定することができる。
【００２４】
質量３０２に作用する外力がない場合、質量３０２の安定位置からのＺ軸に沿った変位は、Ｚ軸に沿った加速度におおよそ比例する。検出器３１４、３１６、３１８、３２０は、質量３０２の変位に比例し、したがって、Ｚ軸に沿ったフレーム３０４（及びコントローラ１１０）の加速度に比例した信号を生成する。同様に、センサからの信号は、Ｘ及びＹ軸に沿った加速度を推定するための用いられてもよい。ここで、重力が質量３０２に作用する場合、センサ３１４、３１６、３１８、３２０は、ゼロでない信号を生成するであろうことに留意すべきである。例えば、安定状態において、ジョイスティックコントローラにピッチ又はロールが印加されないとき、Ｚ軸は（重力により決定される）垂直軸に一致する。重力は、質量３０２を、重力がない場合に仮定される位置から移動させる。変位の結果として、センサは、ゼロでない信号Ｖ０を生成する。ここでは、これを「ゼロ点」加速度信号と呼ぶ。ゼロ点加速度信号Ｖ０は、典型的には、センサ３１４、３１６、３１８、３２０からの生の信号を分析する前に、加速度計の信号Ｖから減じられる。
【００２５】
フレーム３０４（及びコントローラ１１０）がピッチ及びロールに関して同じ方向に保たれていれば、ゼロ点加速度信号Ｖ０は一定である。しかし、ゼロ点加速度信号Ｖ０は、ピッチ及びロール軸に関する回転量に依存する。本発明の実施の形態は、ゼロ点加速度信号Ｖ０に対するピッチ及びロールの効果を考慮に入れる。例えば、図４は、Ｚ軸に沿ったチューブ４０４の中で移動することを強いられた質量４０２を有する単一軸加速度計４００に関する状況を示す。スプリング４０６は、チューブ４０４の底面において質量４０２に接続する。センサ４０８は、例えば、上述した容量センサである。チューブ４０４のピッチ及びロールにより、チューブ軸Ｚが垂直方向Ｚ’に対して角度θ傾く（波線で示す）と、「回転された」ゼロ点加速度信号Ｖ０’は、Ｖ０及びθと以下のように関連すると考えられる。
Ｖ０’＝Ｖ０ｃｏｓθ
θ＝９０°の極端なケースにおいては、Ｖ０’＝０となることに留意されたい。
【００２６】
角度θは、一般に、ピッチ及びロールの角度に依存する。これらは、別個のセンサからの信号により決定されてもよい。チューブ軸Ｚに沿った単位ベクトルｚは、加速度計の軸が垂直軸に沿った単位ベクトルｚ’に一致する方向などの既知の初期方向に関するピッチ及びロールの既知の絶対値から構成されてもよい。初期方向は、加速度計４００から不変の信号を生成するジョイスティックコントローラの任意の方向であってもよい。単位ベクトルｚとｚ’の内積は、それらの間の角θの余弦で与えられる。この内積は、所望の補正因子を提供するためにゼロ点信号Ｖ０に乗算され、センサ４０８から取得される加速度信号から減算されてもよい。
【００２７】
本実施の形態のセンサにおいて、様々な種類の慣性センサ装置が、６自由度（例えば、Ｘ、Ｙ及びＺ方向の平行移動、及びＸ、Ｙ及びＺ軸の周りの回転）の情報を提供するために用いられてもよい。６自由度の情報を提供するために適当な慣性センサの例は、図３Ａに示した種類の加速度計、１以上の単一軸加速度計、機械的なジャイロスコープ、リングレーザージャイロスコープ、又はこれらの２以上の組み合わせを含む。
【００２８】
センサからの信号は、発明の方法に係るビデオゲームのプレー中に、コントローラ１１０の動き及び／又は方向を判定するために分析されてもよい。このような方法は、プロセッサにより読み取り可能な媒体に格納され、ディジタルプロセッサ上で実行されるプログラムコード命令を実行可能な一連のプロセッサとして実現されてもよい。例えば、図５Ａに示すように、ビデオゲームシステム１００は、コンソール１０２上にプロセッサ５０２を含んでもよい。プロセッサ５０２は、ビデオゲームコンソールに一般的に用いられる種類のマイクロプロセッサなどの任意の適当なディジタルプロセッサユニットであってもよい。プロセッサは、プロセッサ読み取り可能な命令の実行により慣性分析部５０４を実現してもよい。命令の一部はメモリ５０６に格納されてもよい。別の例では、慣性分析部５０４は、ＡＳＩＣなどのハードウェアにより実現されてもよい。このような分析部のハードウェアは、コントローラ１１０又はコンソール１０２に配置されてもよいし、他の場所に隔てて配置されてもよい。ハードウェアによる実装において、分析部５０４は、プロセッサ５０２や、ＵＳＢケーブル、無線、又はネットワークにより接続された他の遠隔配置された信号源などからの外部信号に応じてプログラム可能であってもよい。
【００２９】
慣性分析部５０４は、慣性センサ１１２により生成された信号を分析し、コントローラ１１０の位置及び／又は方向に関する情報を利用する命令を包含又は実行してもよい。例えば、図５Ｂのフロー図５１０に示すように、信号は、ブロック５１２に示されるように、慣性センサ１１２により生成されてもよい。ブロック５１４に示されるように、慣性センサ信号は、コントローラ１１０の位置及び／又は方向に関する情報を決定するために分析されてもよい。位置／及び又は方向情報は、ブロック５１６に示されるように、システム１００においてビデオゲームのプレー中に利用されてもよい。
【００３０】
ある実施の形態において、位置及び／又は方向の情報は、ゲームのプレー中に、ユーザ１０８により行われたジェスチャーに関連して用いられてもよい。図５Ｃのフロー図５２０に示すように、コントローラ１１０のパスは、ブロック５２２に示すように、位置及び／又は方向の情報を用いて追跡されてもよい。限定されない例において、パスは、ある座標系に関するコントローラの重心の位置を示す一連の点を含んでもよい。それぞれの位置の点は、直行座標系におけるＸ、Ｙ及びＺ座標など、１以上の座標により表現されてもよい。パスの形状と、パスに沿ったコントローラの進行状況の双方を監視できるようにするために、時間がパス上のそれぞれの点に関連づけられてもよい。さらに、パス上のそれぞれの点は、コントローラの方向を示すデータ、例えば、コントローラの重心に関する１以上の回転角に関連づけられてもよい。さらに、パス上のそれぞれの点は、コントローラの重心の速度及び加速度や、コントローラの重心に関する角速度及び加速度に関連づけられてもよいし、
【００３１】
ブロック５２４に示されるように、追跡されたパスは、プレーされているビデオゲームの状況に関連した、既知及び／又は予め記録されたジェスチャー５０８に対応する１以上の格納されたパスと比較されてもよい。分析部５０４は、ユーザを認識し、又は、音響認証されたジェスチャーなどを処理することが可能に構成されてもよい。例えば、ユーザは、ジェスチャーと、ジェスチャーがユーザを特定できることを用いて、分析部５０４により識別されてもよい。このような特定のジェスチャーは、メモリ５０６に予め記録されたジェスチャー５０８に記録され含められてもよい。記録処理において、ジェスチャーの記録中に生成された音をさらに格納してもよい。検知された環境は、多チャンネル分析部にサンプリングされ、処理される。処理部は、ユーザ又はオブジェクトを、声又は音響パターンに基づいて、高い精度及び性能で判定し、認証し、及び／又は識別するために、ジェスチャーモデルを参照してもよい。
【００３２】
図５Ａに示されるように、ジェスチャーは、メモリ５０６に格納されてもよい。ジェスチャーの限定されない例として、例えば、ボールなどの物体を投げる、バット又はゴルフクラブなどの物体を振る、手動ポンプを動かす、ドア又は窓を開く又は閉じる、ステアリングホイール又はその他の乗物制御手段を回転させる、パンチなどの格闘技の動作、砂をまく動作、ワックスがけ、ワックスはがし、家を塗装する、振る、ガタガタ鳴らす、回す、フットボールを投げる、ノブを回す動作、３Ｄマウス動作、スクロール動作、既知の輪郭の動作、任意の記録可能な動作、タイヤに空気を入れるなどの任意のベクトルに沿った前後動作だが空間中の任意の回転を伴う動作、パスに沿った動作、雑音レベルの範囲内で記録され、追跡され、及び繰り返されることが可能なユーザの操作に基づく任意の正確な停止及び開始時期を持つ動作、キーをつける動作などを含む。これらのジェスチャーのそれぞれは、パスデータから予め記録され、時間に基づいたモデルとして格納されてもよい。パスと格納されたジェスチャーとの比較は、安定状態の仮定から開始してもよく、パスが安定状態から外れれば、消去プロセスにより、格納されたジェスチャーとパスを比較してもよい。ブロック５２６において合致がなければ、分析部５０４は、ブロック５２２においてコントローラのパスの追跡を継続してもよい。パス（又はその一部）と格納されたジェスチャーとの間に十分な合致があれば、ゲームの状態は、５２８に示すように変更されてもよい。ゲームの状態の変更は、割り込み、制御信号の送信、変数の変更などを含むが、これらに限定されない。
【００３３】
これが起こりうる例を示す。コントローラ１１０がパスの安定状態から外れたと判定すると、分析部５０４は、コントローラ１１０の動作を追跡する。コントローラ１１０のパスが、格納されたジェスチャーモデル５０８において定義されたパスを満たしている限り、これらのジェスチャーは「ヒット」する可能性がある。コントローラ１１０のパスが任意のジェスチャーモデル５０８から（設定されたノイズ許容範囲で）外れると、そのジェスチャーモデルはヒットリストから消去される。それぞれのジェスチャー参照モデルは、ジェスチャーが記録された時間基準を含む。分析部５０４は、適切な時間インデックスにおいて、コントローラのパスデータと格納されたジェスチャー５０８とを比較する。安定状態条件の発生によりクロックがリセットされる。安定状態から外れたとき（すなわち、動作がノイズ閾値を超えて追跡されたとき）、ヒットリストは全ての可能性のあるジェスチャーモデルが投入される。クロックが開始され、コントローラの動きがヒットリストに比較される。再び、比較が時間の経過にしたがって行われる。ヒットリスト中のいずれかのジェスチャーが、ジェスチャーの最後まで達すると、それがヒットとなる。
【００３４】
ある実施の形態において、分析部５０４は、特定のイベントが発生したときにゲームプログラムに通知してもよい。そのようなイベントの例は、下記を含む。
【００３５】
・ゼロ加速度点到達割り込み（Ｘ、Ｙ、及び／又はＺ軸）：あるゲーム状況において、分析部５０４は、コントローラの加速度が変曲点に達したときに、ゲームプログラム中のルーチンに通知又は割り込みをかけてもよい。例えば、ユーザ１０８は、フットボールシミュレーションゲームにおいてクォーターバックを表現したゲームアバターを制御するためにコントローラ１１０を用いてもよい。分析部５０４は、慣性センサ１１２からの信号から生成されたパスを介して、フットボールを表現するコントローラを追跡してもよい。コントローラ１１０の加速度の特定の変化は、フットボールのリリースの合図となってもよい。この点において、分析部は、リリース時のコントローラの位置、及び／又は速度及び／又は方向に基づいてフットボールの軌跡をシミュレートする、物理シミュレーションパッケージなどのプログラム中の別のルーチンのトリガーとなってもよい。
【００３６】
・認識された新しいジェスチャーの割り込み。
【００３７】
さらに、分析部５０４は、１以上の入力により設定されてもよい。そのような入力の例は、下記を含む。
【００３８】
・ノイズレベルの設定（Ｘ、Ｙ又はＺ軸）。ノイズレベルは、ゲームにおいてユーザの手が小刻みに震えるのを分析するときに用いられる参照許容範囲であってもよい。
【００３９】
・サンプリングレートの設定。ここでは、サンプリングレートとは、分析部５０４が慣性センサから信号をサンプリングする頻度のことをいう。サンプリングレートは、信号をオーバーサンプリングする、又は、平均化するために設定されてもよい。
【００４０】
・ギアリングの設定。ここでは、ギアリングとは、一般に、コントローラの動きとゲーム内で発生する動きとの比率のことをいう。ビデオゲームの制御におけるこのような「ギアリング」の例は、米国特許出願１１／３８２，０４０（２００６年５月７日出願、代理人事件番号：ＳＯＮＹＰ０５８Ｄ）に記述されており、ここに参照として組み込まれる。
【００４１】
・マッピングチェインの設定。ここでは、マッピングチェインとは、ジェスチャーモデルのマッピングのことをいう。ジェスチャーモデルマッピングは、特定の入力チャンネル（例えば、慣性センサ信号のみから生成されたパスデータ）、又は混合部において生成された混合チャンネルに適合されてもよい。慣性分析部５０４に類似した２以上の異なる分析部により、３つの入力チャンネルが供給されてもよい。これらは、とくに、ここに記述される慣性分析部５０４、例えば米国特許出願１１／３８２，０３４（発明の名称：「ゲームコントローラ本体のユーザ操作を検出し追跡するための機構」、代理人事件番号：ＳＣＥＡ０５０８２ＵＳ００、ここに参照として組み込まれる）に記述された映像分析部、例えば米国特許出願１１／３８１，７２１（ここに参照として組み込まれる）に記述された音響分析部を含んでもよい。分析部に、マッピングチェインが組み込まれてもよい。マッピングチェインは、ゲーム中にゲームによりスワップアウトされ、分析部及び混合部のために設定されてもよい。
【００４２】
再び図５Ｂを参照して、ブロック５１２において、慣性センサ１１２から信号を生成する方法が数多くあることは、当業者に認識されるところである。いくつかの例は図３ａ−３Ｅに関連して上述した。ブロック５１４を参照して、コントローラ１１０の位置及び／又は方向に関連した情報を取得するために、ブロック５１２において生成された検知信号を分析する方法は数多く存在する。例えば、位置及び／又は方向の情報は、下記のパラメータを個別に又は任意の組み合わせで含んでもよい。
【００４３】
・コントローラの方向。コントローラ１１０の方向は、ある参照方向に関するピッチ、ロール、又はヨー角に関して、例えばラジアンで表現されてもよい。コントローラの方向の変化率（例えば、角速度又は角加速度）は、位置及び／又は方向の情報に含まれてもよい。慣性センサ１１２がジャイロスコープのセンサを含む場合、コントローラの方向の情報は、ピッチ、ロール、又はヨー角に比例する１以上の出力値の形式で直接取得されてもよい。
【００４４】
・コントローラの位置（例えば、ある参照フレームにおけるコントローラ１１０の直交座標Ｘ、Ｙ、Ｚ）。
【００４５】
・コントローラのＸ軸速度。
【００４６】
・コントローラのＹ軸速度。
【００４７】
・コントローラのＺ軸速度。
【００４８】
・コントローラのＸ軸加速度。
【００４９】
・コントローラのＹ軸加速度。
【００５０】
・コントローラのＺ軸加速度。
【００５１】
位置、速度及び加速度に関して、位置及び／又は方向の情報は、直交座標系以外の座標系で表現されてもよい。例えば、位置、速度及び加速度のために、円筒座標又は旧座標が用いられてもよい。Ｘ、Ｙ及びＺ軸に関する加速度情報は、例えば図３Ａ−３Ｅに関連して上述したような加速度計の形式のセンサから直接取得されてもよい。Ｘ、Ｙ及びＺ方向の加速度は、Ｘ、Ｙ及びＺ方向の速度の変化を決定するために、ある初期時からの時間に関して積分されてもよい。これらの速度は、初期時における既知のＸ、Ｙ及びＺ方向の速度に速度の変化分を加えることにより算出されてもよい。Ｘ、Ｙ及びＺ方向の速度は、コントローラのＸ、Ｙ及びＺ方向の変位を決定するために、時間に関して積分されてもよい。Ｘ、Ｙ及びＺ方向の位置は、初期時における既知のＸ、Ｙ及びＺ方向の位置に変位を加えることにより決定されてもよい。
【００５２】
・安定状態（Ｙ／Ｎ）。この特別な情報は、コントローラが安定状態にあるか否かを示す。この情報は、任意の位置に定義されてもよく、変更される可能性もある。好ましい実施の形態において、安定状態の位置は、だいたいユーザの腰と同じ高さにおいて、より高い又は低いレベルの方向にコントローラが保持された状態であってもよい。
【００５３】
・最後の安定状態からの時間は、一般に、上記の安定状態が最後に検出されてから経過した時間に関連するデータのことである。この時間の決定は、前述したように、現実の時間において計算されてもよいし、プロセッサの周波数又はサンプリング周期において計算されてもよい。最後の安定状態からの時間のデータは、ゲーム環境におけるキャラクタ又はオブジェクトのマッピングの精度を確保するための初期位置に関するコントローラの追跡のリセットに関して重要である。このデータは、ゲーム環境においてつづいて排他的にも包括的にも実行されるであろう可能なアクション又はジェスチャーを決定することに関しても重要である。
【００５４】
最後に認識されたジェスチャーは、一般に、ハードウェア又はソフトウェアにより実現されたジェスチャー認識部５０５により最後に認識されたジェスチャーのことである。最後に認識されたジェスチャーの識別は、前回のジェスチャーが、続いて認識される可能性のあるジェスチャー又はゲーム環境において実行されるその他のアクションに関連する可能性があるという事実に関して重要である。
【００５５】
・最後にジェスチャーが認識された時間。
【００５６】
上記の出力は、ゲームプログラム又はソフトウェアにより任意のタイミングでサンプリングされてもよい。
【００５７】
本発明の実施の形態によれば、上述したタイプのビデオゲームシステム及び方法は、図６に示すように実現される。ビデオゲームシステム６００は、プロセッサ６０１及びメモリ６０２（例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭなど）を含んでもよい。さらに、ビデオゲームシステム６００は、並列処理が実装される場合には、複数のプロセッサ６０１を有してもよい。メモリ６０２は、上述したように構成される部分を含むデータ及びゲームプログラムコード６０４を含む。とくに、メモリ６０２は、上述したコントローラの格納されたパス情報を含む慣性信号データ６０６を含んでもよい。メモリ６０２は、ゲームプログラム６０４に関連した１以上のジェスチャーを示すデータなど、格納されたジェスチャーデータ６０８を更に含んでもよい。
【００５８】
システム６００は、入出力（Ｉ／Ｏ）要素６１１、電源（Ｐ／Ｓ）６１２、クロック（ＣＬＫ）６１３、及びキャッシュ６１４など、既知の支援機能を更に含んでもよい。装置６００は、プログラム及び／又はデータを格納するために、ディスクドライブ、ＣＤ−ＲＯＭドライブ、テープドライブなどの大容量記憶装置６１５を含んでもよい。コントローラは、コントローラ６００とユーザの間のインタラクションを容易にするために、表示ユニット６１６及びユーザインタフェースユニット６１８を更に含んでもよい。表示ユニット６１６は、テキスト、数字、表示シンボル、又は画像を表示するブラウン管（ＣＲＴ）又は平面ディスプレイの形式であってもよい。ユーザインタフェース６１８は、キーボード、マウス、ジョイスティック、ライトペン、又は他のデバイスを含んでもよい。さらに、ユーザインタフェース６１８は、分析すべき信号を直接取得するために、マイクロフォン、ビデオカメラ、又は他の信号変換デバイスを含んでもよい。図６に示すように、プロセッサ６０１、メモリ６０２、及び他のシステム６００の構成要素は、システムバス６２０を介して相互に信号（例えば、コード命令及びデータ）を交換してもよい。
【００５９】
マイクロフォン配列６２２は、入出力機能６１１を介してシステム６００に接続されてもよい。マイクロフォン配列は、約２から８、好ましくは約４のマイクロフォンを含んでもよく、隣接するマイクロフォンは、約４センチメートル以下、好ましくは約１から２センチメートルの距離で分離されてもよい。配列６２２中のマイクロフォンは、無指向性マイクロフォンであることが好ましい。任意に設けられた画像取得ユニット６２３（例えば、ディジタルカメラ）は、入出力機能６１１を介して装置６００に接続されてもよい。カメラに機械的に接続された１以上のポインティングアクチュエータ（Ｐ／Ａ）６２５は、入出力機能６１１を介してプロセッサ６０１との間で信号を交換してもよい。
【００６０】
ここでは、入出力という語は、一般に、システム６００から又はシステム６００へ、及び、周辺装置から又は周辺装置へデータを転送する任意のプログラム、演算、又はデバイスのことを言う。全てのデータは、１つの装置から出力され、別の装置へ入力されるとみなされてもよい。周辺装置は、書き込み可能なＣＤ−ＲＯＭなど入出力の双方が可能な装置だけでなく、キーボードやマウスなどの入力装置や、プリンタなどの出力装置も含む。「周辺装置」という語は、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブ、内蔵モデム、又は、フラッシュメモリリーダ／ライタ、ハードディスクなどの他の周辺装置などの内部装置だけでなく、マウス、キーボード、プリンタ、モニタ、マイクロフォン、ゲームコントローラ、カメラ、外部Ｚｉｐドライブ、又はスキャナなどの外部装置も含む。
【００６１】
本発明のある実施の形態において、装置６００は、有線（例えばＵＳＢケーブル）又は無線により入出力機能６１１を介してプロセッサに接続されたコントローラ６３０を含むビデオゲームユニットであってもよい。ある実施の形態において、ジョイスティックコントローラ６３０はユーザの体に装着可能であってもよい。コントローラ６３０は、ビデオゲームのプレー中に一般的に用いられる制御信号を提供するアナログジョイスティック６３１及び従来のボタン６３３を有してもよい。このようなビデオゲームは、プロセッサにより読み取り可能なデータ、及び／又は、メモリ６０２や大容量記憶装置６１５などに関連づけられたものなど他のプロセッサ読み取り可能な媒体に格納されたプログラム６０４からの命令により実現されてもよい。
【００６２】
ジョイスティック６３１は、一般に、スティックを左右に動かすとＸ軸に沿った動作を示し、前後又は上下に動かすとＹ軸に沿った動作を示すように構成される。３次元の動作のために構成されたジョイスティックにおいて、スティックを左（反時計回り）又は右（時計回り）にねじると、Ｚ軸に沿った動作を示すようにしてもよい。これらのＸ、Ｙ、及びＺの３軸は、しばしば、とくに飛行機に関連して、それぞれ、ロール、ピッチ、及びヨーと呼ばれる。
【００６３】
コントローラ６３０は、従来の特徴に加えて、位置及び／又は方向の情報を慣性信号を介してプロセッサ６０１に提供する１以上の慣性センサ６３２を含んでもよい。方向情報は、コントローラ６３０の傾き、ロール、又はヨーなどの角度情報を含んでもよい。例えば、慣性センサ６３２は、任意の数及び／又は組み合わせの加速度計、ジャイロスコープ、又は傾きセンサを含んでもよい。好適な実施の形態において、慣性センサ６３２は、傾き及びロール軸に関するジョイスティックコントローラの方向を検知するための傾きセンサ、ヨー軸に沿った加速度を検知するための第１の加速度計、及び、ヨー軸に関する角加速度を検知するための第２の加速度計を含む。加速度計は、例えば、１以上のスプリングにより搭載された質量と、１以上の方向に関する質量の変位を検知するためのセンサを含むＭＥＭＳデバイスとして実現されてもよい。質量の変位に依存したセンサからの信号は、ジョイスティックコントローラ６３０の加速度を決定するために用いられてもよい。このような技術は、メモリ６０２に格納され、プロセッサ６０１により実行されるゲームプログラム６０４からの命令により実現されてもよい。
【００６４】
例えば、慣性センサ６３２に適した加速度計は、例えばスプリングによりフレームに３又は４点で弾性的に結合された単純な質量であってもよい。ピッチ及びロール軸は、ジョイスティックコントローラ６３０に搭載されたフレームに交差する平面にある。フレーム（及びジョイスティックコントローラ６３０）がピッチ及びロール軸の周りで回転すると、質量は重力の影響下で変位し、スプリングはピッチ及び／又はロール軸に依存するように伸縮する。質量の変位が検知され、ピッチ及び／又はロールの量に依存する信号に変換される。ヨー軸の周りの角加速度又はヨー軸に沿った直線加速度も、検知され、ピッチ及び／又はロールの量に依存する信号に変換されるスプリングの伸縮又は質量の動きの特徴的なパターンを生成することがある。このような加速度計は、質量の動き又はスプリングの伸縮力を追跡することにより、ヨー軸の周りの傾き、ロール角加速度、及びヨー軸に沿った直線加速度を測定することができる。質量の位置及び／又はそれに及ぼされる力を追跡する方法は、抵抗ひずみゲージ物質、光センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなど、数多く存在する。ある実施の形態において、慣性センサ６３２は、ジョイスティックコントローラ６３０の「本体」に着脱可能に搭載されてもよい。
【００６５】
さらに、ジョイスティックコントローラ６３０は、発光ダイオード（ＬＥＤ）などの１以上の光源６３４を含んでもよい。光源６３４は、コントローラを他のコントローラと区別するために用いられてもよい。例えば、１以上のＬＥＤにより、ＬＥＤパターンコードを点滅又は持続させることにより、これを達成することができる。例えば、５つのＬＥＤを直線又は２次元パターンでコントローラ６３０に設けてもよい。ＬＥＤを直線的に配列させることが好ましいが、画像取得ユニット６２３により取得されたＬＥＤのパターンの画像を解析する際にＬＥＤの像平面の決定を容易にするために、ＬＥＤを矩形又はアーチ形のパターンに配列してもよい。さらに、ＬＥＤパターンコードは、ゲームプレー中にジョイスティックコントローラ６３０の位置を決定するために用いられてもよい。例えば、ＬＥＤは、コントローラの傾き、ヨー、及びロールを特定するのに役立つ。この検出パターンは、航空機飛行ゲームなどのゲームにおいて、ユーザの使用感を向上させるのに役立つ。画像取得ユニット６２３は、ジョイスティックコントローラ６３０及び光源６３４を含む画像を取得してもよい。このような画像の分析により、ジョイスティックコントローラの位置及び／又は方向を決定することができる。このような分析は、メモリ６０２に格納されプロセッサ６０１により実行されるプログラムコード命令６０４により実現されてもよい。画像取得ユニット６２３による光源６３４の画像の取得を容易にするために、光源６３４は、ジョイスティックコントローラ６３０の２以上の異なる側面、例えば、表と裏（波線で示される）に配置されてもよい。このような配置により、画像取得ユニット６２３は、ジョイスティックコントローラ６３０がユーザによりどのように把持されるかに依存して、ジョイスティックコントローラ６３０の方向が異なっても、光源６３４の画像を取得することができる。
【００６６】
さらに、光源６３４は、例えばパルスコード、振幅変調、又は周波数変調などの方式で、プロセッサ６０１に対して遠隔計測信号を提供してもよい。このような遠隔計測信号は、どのジョイスティックボタンが押されたか、及び／又は、そのボタンがどのくらい強く押されたかを示してもよい。遠隔計測信号は、パルスコード、パルス幅変調、周波数変調、光度（振幅）変調などにより、光信号にエンコードされてもよい。プロセッサ６０１は、光信号から遠隔計測信号をデコードし、デコードされた遠隔計測信号に応じて、ゲームコマンドを実行してもよい。遠隔計測信号は、画像取得ユニット６２３により取得されたジョイスティックコントローラ６３０の画像の分析からデコードされてもよい。または、装置６００は、光源６３４から遠隔計測信号を受信するために設けられた別の光学センサを含んでもよい。コンピュータプログラムと連動して強度を決定するためにＬＥＤを用いることは、例えば、米国特許出願１１／４２９，４１４（発明者：リチャード・Ｌ・マークスら、発明の名称：「コンピュータプログラムと連動した強度及び入力装置のコンピュータ画像音声処理」、代理人事件番号：ＳＯＮＹＰ０５２）に記述されており、ここに参照として組み込まれる。さらに、光源６３４を含む画像の解析は、遠隔計測と、ジョイスティックコントローラ６３０の位置及び／又は方向の決定の双方に用いられてもよい。このような技術は、メモリ６０２に格納されプロセッサ６０１により実行されるプログラム６０４の命令により実現されてもよい。
【００６７】
プロセッサ６０１は、コントローラ６３０及び／又はそのユーザの位置及び／又は方向に関する情報を推定するために、画像取得ユニット６２３により検出された光源６３４からの光学信号及び／又はマイクロフォン配列６２２により検出された音響信号からの音源位置及び特徴情報と併用して、慣性センサ６３２からの慣性信号を用いてもよい。例えば、ジョイスティックコントローラの動きが（慣性センサ６３２及び／又は光源６３４により）独立して追跡される間、音声の動きを追跡するために、マイクロフォン配列６２２と併用して、光源位置及び特徴を検出する「音波レーダー」が用いられてもよい。音響レーダーにおいて、予め較正された聴取領域が実行時に選択され、予め較正された聴取領域外の音源から発せられる音声は除去される。予め較正された聴取領域は、画像取得ユニット６２３の焦点のボリューム又は視野に対応する聴取領域を含んでもよい。音響レーダーの例は、米国特許出願１１／３８１，７２４（発明者：シャドン・マオ、発明の名称：「対象となる音声の検出及び特徴化方法及び装置」、出願日：２００６年５月４日）に詳細に記述されており、ここに参照として組み込まれる。プロセッサ６０１に制御信号を提供する異なる態様の、任意の数の異なる組み合わせが、本発明の実施の形態に関連して用いられてもよい。このような技術は、メモリ６０２に格納されプロセッサ６０１により実行されるプログラムコード命令６０４により実現されてもよく、予め較正された聴取領域を実行時に選択し、予め較正された聴取領域外の音源から発せられる音声を除去するように、１以上のプロセッサに対して指示する１以上の命令を含んでもよい。予め較正された聴取領域は、画像取得ユニット６２３の焦点のボリューム又は視野に対応する聴取領域を含んでもよい。
【００６８】
プログラム６０４は、マイクロフォン配列６２２のマイクロフォンＭ０〜ＭＭからの離散時間領域入力信号ｘｍ（ｔ）を生成し、聴取領域を決定し、入力信号ｘｍ（ｔ）から異なる音源を分離するための有限インパルス応答フィルタ係数を選択するためのセミブラインド音源分離に聴取領域を用いるために、１以上のプロセッサに対して指示する１以上の命令を含んでもよい。プログラム６０４は、参照マイクロフォンＭ０からの入力信号ｘ０（ｔ）以外の選択された入力信号ｘｍ（ｔ）に対して、１以上の部分的遅延を適用するための命令を含んでもよい。それぞれの部分的遅延は、マイクロフォン配列からの離散時間領域出力信号ｙ（ｔ）のノイズ比に対して信号を最適化するために選択されてもよい。部分的遅延は、参照マイクロフォンＭ０からの信号が、配列の他のマイクロフォンからの信号に比べて、時間的に最初になるように選択されてもよい。プログラム６０４は、部分的時間遅延Δを下記のようにマイクロフォン配列の出力信号ｙ（ｔ）に導入するための命令を含んでもよい。
y(t+Δ)＝x(t+Δ)*b0＋x(t-1+Δ)*b1＋x(t-2+Δ)*b2＋…＋x(t-N+Δ)bN
ただし、Δは０と±１の間
このような技術の例は、米国特許出願１１／３８１，７２９（発明者：シャドン・マオ、発明の名称：「超小型マイクロフォン配列」、出願日：２００６年５月４日）に記述されており、ここに参照として組み込まれる。
【００６９】
プログラム６０４は、実行時にシステム６００に音源を含む予め較正された聴取領域を選択させるための１以上の命令を含んでもよい。このような命令は、音源が初期領域の範囲内又は初期領域の特定の側にあるか否かを装置に決定させてもよい。音源が初期設定の領域の範囲内にない場合、命令は、実行時に、初期設定の範囲の特定の側にある異なる領域を選択してもよい。異なる領域は、最適値に最も近い入力信号の減衰により特徴づけられてもよい。これらの命令は、実行時に、マイクロフォン配列６２２からの入力信号の減衰と、最適値への減衰を算出してもよい。命令は、実行時に、装置６００に、１以上の領域の入力信号の減衰値を決定し、減衰が最適値に最も近い領域を選択させてもよい。このような技術の例は、米国特許出願１１／３８１，７２５（発明者：シャドン・マオ、発明の名称：「対象音声検出方法及び装置」、出願日：２００６年５月４日）に記述されており、ここに参照として組み込まれる。
【００７０】
慣性センサ６３２からの信号は、追跡情報入力の一部を提供し、１以上の光源６３４の追跡から画像取得ユニット６２３により生成される信号は、追跡情報入力の別の一部を提供してもよい。このような「混合方式」の信号は、例えば、フットボール形式のビデオゲームにおいて、クォーターバックが頭を左に動かしてフェイクした後にボールを右に投げる場合などに用いられてもよい。具体的には、コントローラ６３０を把持するゲームプレイヤーは、頭を左に動かして、コントローラを右に振ってフットボールであるかのように投げる動作をしながら音声を発生させてもよい。「音響レーダー」プログラムコードに連動したマイクロフォン配列６２２は、ユーザの声を追跡することができる。画像取得ユニット６２３は、ユーザの頭の動きを追跡し、又は、音声又はコントローラの使用を必要としない他のコマンドを追跡することができる。センサ６３２は、ジョイスティックコントローラ（フットボールを表現する）の動きを追跡してもよい。画像取得ユニット６２３は、コントローラ６３２上の光源６３４を更に追跡してもよい。ユーザは、ジョイスティックコントローラ６３０の加速度が特定の量及び／又は方向に達したとき、又は、コントローラ６３０上のボタンを押下することによりキーコマンドが発生したときに、「ボール」を離すことができる。
【００７１】
本発明のある実施の形態において、例えば加速度計又はジャイロスコープからの慣性信号は、コントローラ６３０の位置を決定するために用いられてもよい。具体的には、加速度計からの加速度信号は、速度の変化を決定するために、いったん時間に関して積分されてもよく、速度は、位置の変化を決定するために時間に関して積分されてもよい。ある時点での初期状態の位置及び速度の値が既知である場合、これらの値と、速度及び位置の変化量を用いて、絶対位置を決定することができる。慣性センサを用いた位置決定は、画像取得ユニット６２３及び光源６３４を用いるよりも、より高速に実行できるが、慣性センサ６３２は、誤差が時間とともに蓄積され、慣性信号から算出されたジョイスティック６３１の位置（波線で示される）と、ジョイスティックコントローラ６３０の現実の位置との間の不一致Ｄが生じる「ドリフト」と呼ばれる一種のエラーの影響を受けやすい。本発明の実施の形態は、このようなエラーに対処するための多くの方法を可能とする。
【００７２】
例えば、コントローラ６３０の初期位置を、現在の算出された位置に等しくなるようにリセットすることにより、ドリフトを手動でキャンセルすることができる。ユーザは、初期位置をリセットするためのコマンドのトリガとして、コントローラ６３０上の１以上のボタンを用いることができる。または、画像ベースのドリフトは、現在位置を、画像取得ユニット６２３から取得された画像から決定された位置を参照としてリセットすることにより実行されてもよい。このような画像ベースのドリフト補償は、ユーザがジョイスティックコントローラ６３０の１以上のボタンを始動したときなどに、手動で実行されてもよい。または、画像ベースのドリフト補償は、例えば定期的に又はゲームプレーに応じて、自動的に実行されてもよい。このような技術は、メモリ６０２に格納されプロセッサ６０１により実行されるプログラムコード命令６０４により実現されてもよい。
【００７３】
ある実施の形態において、慣性センサ信号における誤ったデータを補正することが望ましい。例えば、慣性センサ６３２からの信号はオーバーサンプリングされてもよく、慣性センサ信号から誤ったデータを除去するために、オーバーサンプリングされた信号から移動平均（スライディング平均）を算出してもよい。ある状況において、信号をオーバーサンプリングし、データ点の部分集合から高い及び／又は低い値を除去し、残ったデータ点から移動平均を算出することが望ましい。さらに、データのオーバーサンプリング及び取扱技術は、誤ったデータの重要性を除去又は低減するために、慣性センサからの信号を調整するために用いられてもよい。技術の選択は、信号の種類、信号に対して実行すべき演算、ゲームプレーの種類、又はこれらの２以上の組み合わせに依存してもよい。これらの技術は、メモリ６０２に格納されプロセッサ６０１により実行されるプログラム６０４の命令により実現されてもよい。
【００７４】
プロセッサ６０１は、上述したように、データ６０６と、メモリ６０２に格納され、取得され、プロセッサモジュール６０１により実行されるプログラム６０４のプログラムコード命令とに応じて、慣性信号データ６０６の分析を行ってもよい。プログラム６０４のコードの一部は、アセンブラ、Ｃ＋＋、ＪＡＶＡ（登録商標）、又はその他の多くの言語などの異なる多くのプログラミング言語のいずれかに準拠してもよい。プロセッサモジュール６０１は、汎用コンピュータを構成する。それは、プログラムコード６０４などのプログラムを実行するときには、特定の目的のコンピュータとなる。ここでは、プログラムコード６０４が、汎用コンピュータ上で実行されるソフトウェアとして実現される場合について説明したが、ＡＳＩＣやその他のハードウェア回路などのハードウェアを用いもタスク管理の方法が実現できることは、当業者に理解されるところである。同様に、本発明の実施の形態の一部又は全部が、ソフトウェア、ハードウェア、又はそれらの組み合わせにより実現できることも理解されるところである。
【００７５】
ある実施の形態において、プログラムコード６０４は、図５Ｂの方法５１０及び図５Ｃの方法５２０又はそれらの２以上の組み合わせと同様の特徴を有する方法を実現するプロセッサ読み取り可能な命令のセットを含んでもよい。プログラムコード６０４は、一般に、１以上のプロセッサに、慣性センサ６３２からの信号を分析して位置及び／又は方向の情報を生成し、ビデオゲームのプレー中にその情報を利用するよう指示する１以上の命令を含んでもよい。
【００７６】
プログラムコード６０４は、実行時に画像取得ユニット６２３に画像取得ユニット６２３の前の視野を監視させ、視野内の１以上の光源６３４を識別させ、光源６３４から発せられる光の変化を検知させ、変化を検知したときにプロセッサ６０１に入力コマンドを引き起こす１以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。ゲームコントローラにおけるアクションを誘発するための画像取得装置に関連したＬＥＤの使用は、米国特許出願１０／７５９，７８２（発明者：リチャード・Ｌ・マークス、出願日：２００４年１月１６日、発明の名称：「光入力デバイスのための方法及び装置」）に記述されており、ここに参照として組み込まれる。
【００７７】
プログラムコード６０４は、実行時に慣性センサからの信号と、１以上の光源を追跡することにより画像取得ユニットから生成された信号とを、上述したようにゲームシステムに対する入力として用いる１以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。プログラムコード６０４は、実行時に慣性センサ６３２におけるドリフトを補償する１以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。
【００７８】
本発明の実施の形態において、ビデオゲームコントローラ６３０に関する例について説明したが、システム６００を含む本発明の実施の形態は、ユーザにより操作される本体、モデリングされたオブジェクト、ノブ、構造体などに対して、慣性検知機能及び慣性センサ信号送信機能とともに、無線又は別の方法で用いられてもよい。
【００７９】
例えば、本発明の実施の形態は、並列処理システム上で実行されてもよい。このような並列処理システムは、典型的には、別々のプロセッサにおいてプログラムの一部を並列に実行するように構成された２以上のプロセッサ要素を含む。限定されない例として、図７は、本発明の実施の形態に係るセルプロセッサ７００の一種を示す。セルプロセッサ７００は、図６のプロセッサとして用いられてもよいし、図５Ａのプロセッサ５０２として用いられてもよい。図７に示した例において、セルプロセッサ７００は、メインメモリ７０２、ＰＰＥ（power processor element）７０４、及び複数のＳＰＥ（synergistic processor element）７０６を含む。図７に示した例では、セルプロセッサ７００は、一つのＰＰＥ７０４と８つのＳＰＥ７０６を含む。このような構成において、７つのＳＰＥ７０６は並列処理のための用いられ、１つは他の７つのいずれかが機能しなくなったときのバックアップとしてリザーブされてもよい。または、セルプロセッサは、複数のグループのＰＰＥ（ＰＰＥグループ）及び複数のグループのＳＰＥ（ＳＰＥグループ）を含んでもよい。この場合、ハードウェアリソースは、グループ内の単位の間で共有されてもよい。しかし、ＳＰＥ及びＰＰＥは、独立した要素としてソフトウェアとみなされなければならない。本発明の実施の形態は、図７に示した構成により利用されることに限定されない。
【００８０】
メインメモリ７０２は、典型的には、システム設定、データ転送の同期、メモリにマップされた入出力、及び入出力サブシステムなどの機能のために用いられる特定目的のハードウェアレジスタ又は配列だけでなく、汎用かつ不揮発性の記憶装置を含む。本発明の実施の形態において、ビデオゲームプログラム７０３は、メインメモリ７０２に常駐されてもよい。メモリ７０２は、信号データ７０９を含んでもよい。ビデオプログラム７０３は、図５Ａ、５Ｂ、又は５Ｃに関連して上述したように構成された分析部又はこれらのいくつかの組み合わせを含んでもよい。プログラム７０３は、ＰＰＥ上で実行されてもよい。プログラム７０３は、ＳＰＥ及び／又はＰＰＥ上で実行可能な複数の信号処理タスクに分割されてもよい。
【００８１】
例えば、ＰＰＥ７０４は、キャッシュＬ１及びＬ２が結合された６４ビットＰＰＵ（PowerPC Processor Unit）であってもよい。ＰＰＥ７０４は、メモリ保護テーブルなどのシステム管理リソースにアクセス可能な汎用処理ユニットである。ハードウェアリソースは、ＰＰＥが参照できるように、実アドレス空間に明示的にマップされてもよい。したがって、ＰＰＥは、適切な有効アドレス値を用いて、任意のこれらのリソースをアドレス指定することができる。ＰＰＥ７０４の主機能は、セルプロセッサ７０６のＳＰＥ７０６のためのタスクの管理及び割り当てである。
【００８２】
図７には１つのＰＰＥのみが示されているが、セルブロードバンドエンジンアーキテクチャー（cell broadband engine architecture：ＣＢＥＡ）などのセルプロセッサの実装においては、セルプロセッサ７００は、１以上のＰＰＥグループにまとめられた複数のＰＰＥを有してもよい。これらのＰＰＥグループは、メインメモリ７０２に対するアクセスを共有してもよい。さらに、セルプロセッサ７００は、２以上のＳＰＥグループを含んでもよい。ＳＰＥグループも、メインメモリ７０２に対するアクセスを共有してもよい。このような構成は、本発明の範囲内である。
【００８３】
それぞれのＳＰＥ７０６は、ＳＰＵ（synergistic processor unit）及びそれ自身のローカル格納領域ＬＳを含む。ローカル格納領域ＬＳは、それぞれが特定のＳＰＵに関連づけられた１以上の分割されたメモリの領域を含んでもよい。それぞれのＳＰＵは、それ自身に関連づけられたローカル格納領域内からの命令（データロード及びデータストア命令を含む）のみを実行するように構成されてもよい。このような構成において、ローカル格納領域ＬＳとシステム７００の他の構成との間のデータ転送は、（個々のＳＰＥの）ローカル格納領域へ又はローカル格納領域から転送するためのメモリフローコントローラ（ＭＦＣ）からのＤＭＡ（direct memory access）コマンドを発行することにより実行されてもよい。ＳＰＵは、システム管理機能を実行しない点において、ＰＰＥ７０４よりも複雑ではない計算ユニットである。ＳＰＵは、一般に、１回の命令で複数データに対する処理を同時に行う機能（ＳＩＭＤ）を有し、典型的には、割り当てられたタスクを実行するために、データを処理し、要求された任意のデータ転送を（ＰＰＥにより設定されたプロパティにアクセスすることを前提として）起動する。ＳＰＵの目的は、より高い計算ユニットの密度を要求し、提供された命令セットを効率的に用いることができるアプリケーションを可能とすることにある。ＰＰＥ７０４により管理されるシステムにおける多数のＳＰＥにより、広範囲のアプリケーションにわたって費用効率の高い処理が可能となる。
【００８４】
それぞれのＳＰＥ７０６は、メモリ保護情報及びアクセス許可情報を保持し処理することが可能なメモリ管理ユニットを含む専用のメモリフローコントローラ（ＭＦＣ）を含んでもよい。ＭＦＣは、セルプロセッサのメインストレージとＳＰＥのローカルストレージとの間のデータ転送、保護、及び同期のための主要な方法を提供する。ＭＦＣコマンドは、実行されるべき転送を表現する。データを転送するためのコマンドは、ＭＦＣダイレクトメモリアクセス（ＤＭＡ）コマンド（ＭＦＣＤＭＡコマンド）とも呼ばれる。
【００８５】
それぞれのＭＦＣは、複数のＤＭＡ転送を同時にサポートし、複数のＭＦＣコマンドを保持し処理することができる。それぞれのＭＦＣ・ＤＭＡデータ転送コマンドリクエストは、ローカルストレージアドレス（ＬＳＡ）と有効アドレス（ＥＡ）の双方を含んでもよい。ローカルストレージアドレスは、関連づけられたＳＰＥのローカル格納領域のみを直接アドレス指定してもよい。有効アドレスは、より一般的なアプリケーションを有してもよく、例えば、実アドレス空間にエイリアスされている限り全てのＳＰＥローカル格納領域を含むメインストレージを参照可能であってもよい。
【００８６】
ＳＰＥ７０６間及び／又はＳＰＥ７０６とＰＰＥ７０４との間の通信を容易にするために、ＳＰＥ７０６及びＰＰＥ７０４は、信号伝達イベントに関係する信号通知レジスタを含んでもよい。ＰＰＥ７０４及びＳＰＥ７０６は、ＰＰＥ７０４がＳＰＥ７０６にメッセージを送信するためのルータとして機能するスター型トポロジーにより接続されてもよい。または、それぞれのＳＰＥ７０６及びＰＰＥ７０４は、メールボックスとして参照される一方向の信号通知レジスタを有してもよい。メールボックスは、オペレーティングシステム（ＯＳ）の同期のために用いられてもよい。
【００８７】
セルプロセッサ７００は、セルプロセッサ７００がマイクロフォン配列７１２、画像取得ユニット７１３及びゲームコントローラ７３０などの周辺装置とインタフェースをとることが可能な入出力（Ｉ／Ｏ）機能７０８を含んでもよい。ゲームコントローラユニットは、慣性センサ７３２及び光源７３４を含んでもよい。さらに、要素相互接続バス７１０が上述した種々のコンポーネントを接続してもよい。それぞれのＳＰＥ及びＰＰＥは、バスインタフェースユニットＢＩＵを介してバス７１０にアクセス可能である。セルプロセッサ７００は、プロセッサに典型的に見られる、バス７１０とメインメモリ７１０との間でデータのフローを制御するメモリインタフェースコントローラＭＩＣと、Ｉ／Ｏ７０８とバス７１０との間でデータのフローを制御するバスインタフェースコントローラＢＩＣの２つのコントローラを更に含んでもよい。ＭＩＣ、ＢＩＣ、ＢＩＵ及びバス７１０の要件は、異なる実装において大きく異なりうるが、それらの機能及び実装のための回路は、当業者によく知られるところである。
【００８８】
セルプロセッサ７００は、内部割り込みコントローラＩＩＣを更に含んでもよい。ＩＩＣコンポーネントは、ＰＰＥに伝達される割り込みの優先度を管理する。ＩＩＣにより、セルプロセッサ７００の他のコンポーネントからの割り込みを、メインシステム割り込みコントローラを用いることなく扱うことができる。ＩＩＣは、第２のレベルのコントローラとみなされてもよい。メインシステム割り込みコントローラは、セルプロセッサの外部からの割り込みを扱ってもよい。
【００８９】
本発明の実施の形態において、上述した部分的遅延などの特定の計算は、ＰＰＥ７０４及び／又は１以上のＳＰＥ７０６を用いて並列して実行されてもよい。それぞれの部分的遅延計算は、異なるＳＰＥ７０６が実行可能となるように１以上に分割されたタスクとして実行されてもよい。
【００９０】
上記は、本発明の好ましい実施の形態の完全な説明であるが、種々の代替、修正及び等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決定されるべきではなく、添付された特許請求の範囲をそれらと等価な範囲の全てとともに参照して決定されるべきである。ここで記述される全ての特徴は、好ましいか否かにかかわらず、ここで記述される他の全ての特徴に結合されてもよい。特許請求の範囲において、不定冠詞に続くものは、別段の明示がない限り、１以上の事項の数量をさす。添付された特許請求の範囲は、「〜するための手段」という語句を用いて明示的に限定されない限り、ミーンズプラスファンクションの限定を含むものと解釈されるべきではない。
【図１】
2009535173.tif 000003
【図２】
2009535173.tif 000004
【図３Ａ】
2009535173.tif 000005
【図３Ｂ】
2009535173.tif 000006
【図３Ｃ】
2009535173.tif 000007
【図３Ｄ】
2009535173.tif 000008
【図３Ｅ】
2009535173.tif 000009
【図４】
2009535173.tif 000010
【図５Ａ】
2009535173.tif 000011
【図５Ｂ】
2009535173.tif 000012
【図５Ｃ】
2009535173.tif 000013
【図６】
2009535173.tif 000014
【図７】
2009535173.tif 000015
【手続補正書】
【提出日】平成21年2月5日(2009.2.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザが双方向型ゲームをプレーすることを可能とするためのゲームプログラムのプロセッサによる実行を制御するための情報を取得するときに用いられる追跡装置であって、
本体と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、を備え、
前記本体は、ゲームコントローラに着脱自在に搭載可能であり、
前記ゲームコントローラは、
ゲームコントローラ本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記ゲームコントローラ本体に取り付けられた少なくとも１つの入力装置とを含む
ことを特徴とする追跡装置。
【請求項２】
前記慣性センサは、第１の軸に沿った前記本体の動きの第１の成分を定量化するための情報を生成可能であり、
前記慣性センサは、前記第１の軸に直交する第２の軸に沿った前記動きの第２の成分を定量化するための情報を生成可能であり、
前記慣性センサは、前記第１の軸及び前記第２の軸に直交する第３の軸に沿った前記動きの第３の成分を定量化するための情報を生成可能であることを特徴とする請求項１に記載の追跡装置。
【請求項３】
前記慣性センサは、少なくとも１つの加速度計を含むことを特徴とする請求項１又は２に記載の追跡装置。
【請求項４】
前記慣性センサは、少なくとも１つの機械的ジャイロスコープを含むことを特徴とする請求項１又は２に記載の追跡装置。
【請求項５】
前記慣性センサは、それぞれ互いに直交するｘ軸、ｙ軸及びｚ軸と、ピッチ、ヨー及びロールを含む６つの自由度における前記動きを定量化することが可能であることを特徴とする請求項１から４のいずれかに記載の追跡装置。
【請求項６】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも１つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項２から５のいずれかに記載の追跡装置。
【請求項７】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項６に記載の追跡装置。
【請求項８】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項７に記載の追跡装置。
【請求項９】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項６に記載の追跡装置。
【請求項１０】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項９に記載の追跡装置。
【請求項１１】
請求項６に記載の追跡装置を含み、
前記慣性センサにより生成された情報を処理することにより取得された入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備えることを特徴とする装置。
【請求項１２】
前記プロセッサ及び前記ゲームコントローラのうちいずれか、又は前記プロセッサ及び前記ゲームコントローラの双方との間でディジタル通信を実行可能な通信インタフェースを更に備えることを特徴とする請求項１に記載の追跡装置。
【請求項１３】
前記通信インタフェースは、汎用シリアルバス（Universal Serial Bus：ＵＳＢ）コントローラを含み、
前記汎用シリアルバスコントローラは、当該追跡装置の動作を制御するための制御信号を受信し、他の装置との通信のために当該追跡装置から信号を送信することが可能であることを特徴とする請求項１２に記載の追跡装置。
【請求項１４】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項１１に記載の装置。
【請求項１５】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項１１に記載の装置。
【国際調査報告】
2009535173.tif 000016