3次元入力制御システム、方法、及び装置
【解決手段】ユーザが双方向型ゲームをプレーすることを可能とするためのゲームプログラムのプロセッサによる実行を制御するための情報を取得するときに用いられるゲームコントローラ、追跡装置、及び関連する装置が開示される。ビデオゲームのコントローラを追跡し、システムへの入力を提供するための方法もまた開示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には、コンピュータエンタテインメントシステムに関し、より具体的には、そのようなコンピュータエンタテインメントシステムのコントローラのユーザによる操作に関する。
【背景技術】
【0002】
コンピュータエンタテインメントシステムは、一般に、ハンドヘルドコントローラ、ゲームコントローラ、又はその他のコントローラを含む。ユーザ又はプレイヤーは、コマンド又はその他の命令をエンタテインメントシステムに送信して、プレーされているビデオゲーム又はその他のシミュレーションを制御するために、コントローラを用いる。例えば、コントローラには、ユーザにより操作されるジョイスティックなどの操作部が設けられてもよい。操作されたジョイスティックの変量は、アナログ値からディジタル値に変換され、ゲーム機のメインフレームへ送信される。コントローラには、ユーザが操作可能なボタンが設けられてもよい。
【0003】
本発明は、これら又はその他の背景となる情報要素に関して発展させたものである。
【図面の簡単な説明】
【0004】
【図1】本発明の実施の形態にしたがって動作するビデオゲームシステムを例示した図である。
【図2】本発明の実施の形態に係るコントローラの透視図である。
【図3A】本発明の実施の形態に係るコントローラにおいて用いられる加速度計を示す3次元概略図である。
【図3B】図3Aの加速度計をピッチ又はロール軸の周りに回転した状態を示す断面概略図である。
【図3C】図3Aの加速度計に並進加速度を与えた状態を示す断面概略図である。
【図3D】図3Aの加速度計にヨー軸の周りの回転加速度を与えた状態を示す平面概略図である。
【図3E】図3Aの加速度計にヨー軸の周りの回転加速度を与えた状態を示す平面概略図である。
【図4】本発明の実施の形態に係る方向依存ゼロ点加速度計信号の補正を示す3次元概略図である。
【図5A】図1のビデオゲームシステムの一部のブロック図である。
【図5B】本発明の実施の形態に係るビデオゲームシステムのコントローラを追跡するための方法のフロー図である。
【図5C】本発明の実施の形態に係るビデオゲームシステムにおいてゲームプレー中に位置及び/又は方向の情報を利用するための方法を例示したフロー図である。
【図6】本発明の実施の形態に係るビデオゲームシステムを例示したブロック図である。
【図7】本発明の実施の形態に係るビデオゲームシステムのセルプロセッサによる実装のブロック図である。
【発明を実施するための形態】
【0005】
・優先権の主張
本出願は、米国特許出願11/381,729(発明者:シャドン・マオ、発明の名称:「超小型マイクロフォン配列」、代理人事件番号:SCEA05062US00、出願日:2006年5月4日)、米国特許出願11/381,728(発明者:シャドン・マオ、発明の名称:「エコー及びノイズキャンセル」、代理人事件番号:SCEA05064US00、出願日:2006年5月4日)、米国特許出願11/381,725(発明者:シャドン・マオ、発明の名称:「対象音声検出方法及び装置」、代理人事件番号:SCEA05072US00、出願日:2006年5月4日)、米国特許出願11/381,727(発明者:シャドン・マオ、発明の名称:「コンソール上の遠距離場マイクロフォンによる電子機器のノイズ除去」、代理人事件番号:SCEA05073US00、出願日:2006年5月4日)、米国特許出願11/381,724(発明者:シャドン・マオ、発明の名称:「対象音声検出及びキャラクタリゼーションのための方法及び装置」、代理人事件番号:SCEA05079US00、出願日:2006年5月4日)、米国特許出願11/381,721(発明者:シャドン・マオ、発明の名称:「コンピュータ対話処理に連動した選択的音源聴取」、代理人事件番号:SCEA04005JUMBOUS、出願日:2006年5月4日)の優先権を主張し、これらの全てはここに参照として組み込まれる。
【0006】
本出願は、さらに、米国特許出願11/382,031(発明者:ゲイリー・ザレウスキーら、発明の名称:「多入力ゲーム制御ミクサ」、代理人事件番号:SCEA06MXR1、2006年5月6日出願)、米国特許出願11/382,032(発明者:ゲイリー・ザレウスキーら、発明の名称:「環境内のユーザ操作を追跡するためのシステム」、代理人事件番号:SCEA06MXR2、2006年5月6日出願)の優先権を主張し、これらはここに参照として組み込まれる。
【0007】
本出願は、さらに、同時係属の米国特許出願11/418,988(発明者:シャドン・マオ、発明の名称:「音声を取得するための聴取領域を調整するための方法及び装置」、代理人事件番号:SCEA−00300、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/418,989(発明者:シャドン・マオ、発明の名称:「視覚画像に基づいて音声信号を取得するための方法及び装置」、代理人事件番号:SCEA−00400、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/429,047(発明者:シャドン・マオ、発明の名称:「信号の位置に基づいて音声信号を取得するための方法及び装置」、代理人事件番号:SCEA−00500、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/429,133(発明者:リチャード・L・マークス、発明の名称:「コンピュータ対話処理に連動した選択的音源聴取」、代理人事件番号:SCEA04005US01−SONYP045、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/429,414(発明者:リチャード・L・マークス、発明の名称:「コンピュータ画像及び音声強度処理及びコンピュータプログラムとのインタフェースのための入力装置」、代理人事件番号:SONYP052、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。
【0008】
本出願は、さらに、同時係属の米国特許出願11/382,033(発明の名称:「3次元入力制御システム、方法及び装置」、代理人事件番号:SCEA06INRT1、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,035(発明の名称:「慣性的に追跡可能なハンドヘルドコンピュータ」、代理人事件番号:SCEA06INRT2、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,036(発明の名称:「視覚追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058A、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,041(発明の名称:「慣性追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058B、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,038(発明の名称:「音響追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058C、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,040(発明の名称:「多チャンネル混合入力にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058D、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,034(発明の名称:「ゲームコントローラ本体のユーザ操作を検知及び追跡するための機構」、代理人事件番号:SCEA05082US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,037(発明の名称:「ハンドヘルドコンピュータの動きをシステムへの入力に変換するための機構」、代理人事件番号:86324、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,043(発明の名称:「検知可能で追跡可能なハンドヘルドコンピュータ」、代理人事件番号:86325、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,039(発明の名称:「ハンドヘルドコンピュータの動きをゲームコマンドにマッピングするための方法」、代理人事件番号:86326、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願29/259,349(発明の名称:「赤外線ポート付きのコントローラ(商標)」、代理人事件番号:SCEA06007US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願29/259,350(発明の名称:「追跡センサ付きのコントローラ(商標)」、代理人事件番号:SCEA06008US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願60/798,031(発明の名称:「動的対象インタフェース」、代理人事件番号:SCEA06009US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願29/259,348(発明の名称:「追跡されるコントローラ装置(商標)」、代理人事件番号:SCEA06010US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。
【0009】
・関連出願への相互参照
本出願は、米国特許出願10/207,677(発明の名称:「変形可能な装置を用いたマン・マシン・インタフェース」、出願日:2002年7月27日)、米国特許出願10/650,409(発明の名称:「音声入力システム」、出願日:2003年8月27日)、米国特許出願10/663,236(発明の名称:「追跡された頭の動きにしたがって表示されたシーンの視界を調整するための方法及び装置」、出願日:2003年9月15日)、米国特許出願10/759,782(発明の名称:「光入力装置のための方法及び装置」、出願日:2004年1月16日)、米国特許出願10/820,469(発明の名称:「音声妨害を検知及び除去するための方法及び装置」、出願日:2004年4月7日)、米国特許出願11/301,673(発明の名称:「頭及び手の相対位置を用いてカメラ追跡を介したポインティングインタフェースを実現するための方法」、出願日:2005年12月12日)、米国特許出願60/718,145(発明の名称:「音声、映像、シミュレーション、及びユーザインタフェースの実例」、出願日:2005年9月15日)に関連し、それらの全ての開示はここに参照として組み込まれる。
【0010】
・特定の実施の形態の説明
下記の詳細な説明は、例示を目的として多くの特定の詳細を含むが、下記の詳細に対する多くの変形及び置換が本発明の範囲に入ることは、当業者に認識されるところである。したがって、下記に説明する本発明の実施の形態は、請求された発明の一般性を失わせることなく、また限定を付加することもなく説明される。
【0011】
ここで説明される方法、装置、機構及びシステムの種々の実施の形態は、コントローラ全体のユーザによる移動、動作、及び/又は操作の検出、取得、及び追跡を提供する。検出されたコントローラ全体のユーザによる移動、動作、及び/又は操作は、プレーされているゲーム又は他のシミュレーションの種々の態様を制御するための更なるコマンドとして用いられてもよい。
【0012】
ゲームコントローラ本体のユーザによる操作の検出及び追跡は、様々な方法で実現されうる。例えば、ある実施の形態において、加速度計又はジャイロスコープなどの慣性センサが、ハンドヘルドコントローラ本体の動きを検出し、それらをゲームにおけるアクションに転換するために、コンピュータエンタテインメントシステムとともに利用可能である。慣性センサは、コントローラの多数の異なる型の動き、例えば、上下移動、ひねり、左右移動、引っ張り、棒を振るような動作、突き出しなどを検出するために用いられてもよい。これらの動きは、ゲームにおけるアクションに転換するために、種々のコマンドに対応づけられてもよい。
【0013】
ユーザによるゲームコントローラの操作の検出及び追跡は、例えば、剣やライトサーベルにより交戦したり、アイテムの形をなぞるために棒を用いたり、種々のスポーツ大会において戦ったり、オンスクリーン戦やその他の遭遇戦において戦ったりすることなどをユーザに可能とするための様々なタイプのゲーム、シミュレーションなどを実現するために利用可能である。
【0014】
図1には、本発明の実施の形態にしたがって動作するシステム100が示される。図示されたように、コンピュータエンタテインメントコンソール102は、ビデオゲーム又はその他のシミュレーションの画像を表示するためのテレビジョン又はその他の映像表示装置104に接続されてもよい。ゲーム又はその他のシミュレーションは、コンソール102に挿入されたDVD、CD、フラッシュメモリ、USBメモリ、又はその他の記憶媒体106に格納されてもよい。ユーザ又はプレイヤー108は、ビデオゲーム又はその他のシミュレーションを制御するためにゲームコントローラ110を操作する。図2において、ゲームコントローラ110は、ゲームコントローラ110の位置、動き、方向、又は方向の変化に応じて信号を生成する慣性センサ112を含む。ゲームコントローラ110は、慣性センサに加えて、従来の制御入力デバイス、例えば、ジョイスティック111、ボタン113、R1、L1などを含んでもよい。
【0015】
動作中、ユーザ108はコントローラ110を物理的に移動させる。例えば、ユーザ108は、コントローラ110を任意の方向、例えば、上下左右に移動させたり、ひねったり、回転させたり、振ったり、引いたり、突いたりしてもよい。以下に説明する方法により慣性センサ112からの信号の分析を通じて追跡するために、コントローラ110のこれらの動き自体をカメラ114により検出し取得してもよい。
【0016】
再び図1を参照して、システム100は、カメラ又はその他の映像取得装置114を選択的に含んでもよい。カメラは、コントローラ110がその視野116の範囲内になる位置に設けられてもよい。映像取得装置114からの画像の分析は、慣性センサ112からのデータの分析に関連して用いられてもよい。図2に示すように、コントローラ110には、映像分析による追跡を容易にするために、LED202、204、206、208などの光源が選択的に設けられてもよい。コントローラ110を追跡することを目的とした、そのような映像の分析は、例えば、米国特許出願11/382,034(発明の名称:「ユーザによるゲームコントローラ本体の操作を検出し追跡するための機構」、代理人事件番号:SCEA05082US00)に記述されており、ここに参照として組み込まれる。コンソール102は、マイクロフォン配列118を含んでもよい。コントローラ110は、マイクロフォン配列118によるコントローラ110の音響的追跡や音響信号処理を容易にするための音源を提供するために、音響信号生成部210(例えば、スピーカ)を含んでもよい。その技術は、例えば、米国特許出願11/381,724に記述されており、ここに参照として組み込まれる。
【0017】
一般に、慣性センサからの信号は、コントローラ110の位置及び方向データを生成するために用いられる。これらのデータは、コントローラ110の移動の多数の物理的態様、例えば、任意の軸に沿った加速度及び速度、傾き、勾配、ヨー、回転など、コントローラ110の任意のテレメトリデータを算出するために用いられてもよい。ここでは、テレメトリとは、概ね、遠隔測定と、対象となる情報のシステム又はシステム設計者又はオペレータへの報告とのことをいう。
【0018】
コントローラ110の動きを検出し追跡することにより、予め定義されたコントローラ110の動きが行われたか否かを判定することができる。すなわち、コントローラ110の特定の動きのパターン又はジェスチャーを予め定義しておき、ゲーム又はその他のシミュレーションの入力コマンドとして用いることができる。例えば、コントローラ110を下に突き出すジェスチャーをあるコマンドとして定義し、コントローラ110をひねるジェスチャーを別のコマンドとして定義し、コントローラ110を振るジェスチャーを更に別のコマンドとして定義することができる。このように、ユーザ108がコントローラ110を物理的に動かす方法を、ゲームを制御するための入力として用いることにより、ユーザにより刺激的で娯楽性の高い経験を提供することができる。
【0019】
慣性センサ112は、例えば加速度計でもよいが、それに限定されない。図3Aは、例えば、スプリング306、308、310、312により、4点でフレーム304に弾性的に結合された単純な質量302の形式の加速度計300の例を示す。ピッチ軸及びロール軸(それぞれX及びYで示される)は、フレームに交差する平面上にある。ヨー軸Zは、ピッチ軸X及びロール軸Yを含む平面に垂直な方向である。フレーム304は、任意の適当な方式でコントローラ110に搭載されてもよい。フレーム304(及びジョイスティックコントローラ110)が加速され及び/又は回転されると、質量302は、フレーム304から相対的に変位し、スプリング306、308、310、312は、並進及び/又は回転の加速度の値及び方向及び/又はピッチ及び/又はロール及び/又はヨーの角度に依存して伸縮する。質量302の変位量及び/又はスプリング306、308、310、312の伸縮量は、例えば、適切なセンサ314、316、318、320により検知され、既知又は確定可能な方法で、ピッチ及び/又はロールの加速度に依存する信号に変換される。
【0020】
質量の位置及び/又はそれに与えられる力を追跡する異なる方法が多く存在する。それらの方法は、抵抗歪みゲージ物質、光学センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどを含む。本発明の実施の形態は、任意の数及び形式のセンサを含んでもよいし、複数の形式のセンサの組み合わせを含んでもよい。センサ314、316、318、320は、質量302の上に配置されたギャップ電極であってもよい。質量とそれぞれの電極との間の容量は、質量の位置がそれぞれの電極に対して相対的に変化するにつれて変化する。それぞれの電極は、電極に対する質量302の容量(及び近接性)に関連する信号を生成する回路に接続されてもよい。さらに、スプリング306、308、310、312は、スプリングの伸縮に関連した信号を生成する抵抗歪みゲージセンサを含んでもよい。
【0021】
ある実施の形態において、フレーム304は、加速度計300がピッチ及び/又はロール及び/又はヨー軸に関して固定的な方向を維持するためにコントローラ110に搭載されたジンバルであってもよい。これによれば、現実世界の座標軸に対するコントローラの軸の傾きを考慮する必要なく、コントローラのX、Y、Z軸を、直接現実世界の対応する軸にマップすることができる。
【0022】
図3B−3Dは、加速及び/又は回転の異なる条件下でのスプリング306、308、310、312の異なる伸縮の例を示す。具体的には、図3Bは、フレーム304がY軸の周りに回転した状況を示す。質量302に作用する重量のために、スプリング306、310は伸張し、質量302はセンサ314、318に接近し、センサ316、320から遠ざかる。Y(ロール)軸に関する反対方向の回転により、同様にスプリング306、310が伸張するが、質量はセンサ316、320に接近し、センサ314、318から遠ざかる。同様に、X(ピッチ)軸に関する回転により、スプリング308、312が伸張し、質量は、回転の方向に依存するが、センサ314、316に接近し、センサ318、320から遠ざかる。
【0023】
図3Cは、フレーム304が水平面を保ったまま下方(矢印で示される)へ急激に加速された状況を示す。この状況においては、4つのスプリング306、308、310、312は全て伸張し、質量は4つのセンサ314、316、318、320の全てに接近する。図3Dでは、フレーム304は水平面を保ったまま左(矢印で示される)へ加速される。この状況においては、スプリング306、308、及び312は伸張し、スプリング310は圧縮される。質量302は、センサ314、318から遠ざかり、センサ316、320に接近する。図3Eは、フレーム304がZ(ヨー)軸の周りの角加速度を与えられ、4つのスプリング306、308、310、312の全てが伸張し、質量302が4つのセンサ314、316、318、320の全てから遠ざかる状況を示す。図3B−3Eから分かるように、異なるフレーム304の動き及び/又は方向は、特定の信号の組み合わせを生成するので、信号の組み合わせを分析することにより、フレーム304(及びコントローラ110)の方向及び/又は動きを決定することができる。
【0024】
質量302に作用する外力がない場合、質量302の安定位置からのZ軸に沿った変位は、Z軸に沿った加速度におおよそ比例する。検出器314、316、318、320は、質量302の変位に比例し、したがって、Z軸に沿ったフレーム304(及びコントローラ110)の加速度に比例した信号を生成する。同様に、センサからの信号は、X及びY軸に沿った加速度を推定するための用いられてもよい。ここで、重力が質量302に作用する場合、センサ314、316、318、320は、ゼロでない信号を生成するであろうことに留意すべきである。例えば、安定状態において、ジョイスティックコントローラにピッチ又はロールが印加されないとき、Z軸は(重力により決定される)垂直軸に一致する。重力は、質量302を、重力がない場合に仮定される位置から移動させる。変位の結果として、センサは、ゼロでない信号V0を生成する。ここでは、これを「ゼロ点」加速度信号と呼ぶ。ゼロ点加速度信号V0は、典型的には、センサ314、316、318、320からの生の信号を分析する前に、加速度計の信号Vから減じられる。
【0025】
フレーム304(及びコントローラ110)がピッチ及びロールに関して同じ方向に保たれていれば、ゼロ点加速度信号V0は一定である。しかし、ゼロ点加速度信号V0は、ピッチ及びロール軸に関する回転量に依存する。本発明の実施の形態は、ゼロ点加速度信号V0に対するピッチ及びロールの効果を考慮に入れる。例えば、図4は、Z軸に沿ったチューブ404の中で移動することを強いられた質量402を有する単一軸加速度計400に関する状況を示す。スプリング406は、チューブ404の底面において質量402に接続する。センサ408は、例えば、上述した容量センサである。チューブ404のピッチ及びロールにより、チューブ軸Zが垂直方向Z’に対して角度θ傾く(波線で示す)と、「回転された」ゼロ点加速度信号V0’は、V0及びθと以下のように関連すると考えられる。
V0’=V0cosθ
θ=90°の極端なケースにおいては、V0’=0となることに留意されたい。
【0026】
角度θは、一般に、ピッチ及びロールの角度に依存する。これらは、別個のセンサからの信号により決定されてもよい。チューブ軸Zに沿った単位ベクトルzは、加速度計の軸が垂直軸に沿った単位ベクトルz’に一致する方向などの既知の初期方向に関するピッチ及びロールの既知の絶対値から構成されてもよい。初期方向は、加速度計400から不変の信号を生成するジョイスティックコントローラの任意の方向であってもよい。単位ベクトルzとz’の内積は、それらの間の角θの余弦で与えられる。この内積は、所望の補正因子を提供するためにゼロ点信号V0に乗算され、センサ408から取得される加速度信号から減算されてもよい。
【0027】
本実施の形態のセンサにおいて、様々な種類の慣性センサ装置が、6自由度(例えば、X、Y及びZ方向の平行移動、及びX、Y及びZ軸の周りの回転)の情報を提供するために用いられてもよい。6自由度の情報を提供するために適当な慣性センサの例は、図3Aに示した種類の加速度計、1以上の単一軸加速度計、機械的なジャイロスコープ、リングレーザージャイロスコープ、又はこれらの2以上の組み合わせを含む。
【0028】
センサからの信号は、発明の方法に係るビデオゲームのプレー中に、コントローラ110の動き及び/又は方向を判定するために分析されてもよい。このような方法は、プロセッサにより読み取り可能な媒体に格納され、ディジタルプロセッサ上で実行されるプログラムコード命令を実行可能な一連のプロセッサとして実現されてもよい。例えば、図5Aに示すように、ビデオゲームシステム100は、コンソール102上にプロセッサ502を含んでもよい。プロセッサ502は、ビデオゲームコンソールに一般的に用いられる種類のマイクロプロセッサなどの任意の適当なディジタルプロセッサユニットであってもよい。プロセッサは、プロセッサ読み取り可能な命令の実行により慣性分析部504を実現してもよい。命令の一部はメモリ506に格納されてもよい。別の例では、慣性分析部504は、ASICなどのハードウェアにより実現されてもよい。このような分析部のハードウェアは、コントローラ110又はコンソール102に配置されてもよいし、他の場所に隔てて配置されてもよい。ハードウェアによる実装において、分析部504は、プロセッサ502や、USBケーブル、無線、又はネットワークにより接続された他の遠隔配置された信号源などからの外部信号に応じてプログラム可能であってもよい。
【0029】
慣性分析部504は、慣性センサ112により生成された信号を分析し、コントローラ110の位置及び/又は方向に関する情報を利用する命令を包含又は実行してもよい。例えば、図5Bのフロー図510に示すように、信号は、ブロック512に示されるように、慣性センサ112により生成されてもよい。ブロック514に示されるように、慣性センサ信号は、コントローラ110の位置及び/又は方向に関する情報を決定するために分析されてもよい。位置/及び又は方向情報は、ブロック516に示されるように、システム100においてビデオゲームのプレー中に利用されてもよい。
【0030】
ある実施の形態において、位置及び/又は方向の情報は、ゲームのプレー中に、ユーザ108により行われたジェスチャーに関連して用いられてもよい。図5Cのフロー図520に示すように、コントローラ110のパスは、ブロック522に示すように、位置及び/又は方向の情報を用いて追跡されてもよい。限定されない例において、パスは、ある座標系に関するコントローラの重心の位置を示す一連の点を含んでもよい。それぞれの位置の点は、直行座標系におけるX、Y及びZ座標など、1以上の座標により表現されてもよい。パスの形状と、パスに沿ったコントローラの進行状況の双方を監視できるようにするために、時間がパス上のそれぞれの点に関連づけられてもよい。さらに、パス上のそれぞれの点は、コントローラの方向を示すデータ、例えば、コントローラの重心に関する1以上の回転角に関連づけられてもよい。さらに、パス上のそれぞれの点は、コントローラの重心の速度及び加速度や、コントローラの重心に関する角速度及び加速度に関連づけられてもよいし、
【0031】
ブロック524に示されるように、追跡されたパスは、プレーされているビデオゲームの状況に関連した、既知及び/又は予め記録されたジェスチャー508に対応する1以上の格納されたパスと比較されてもよい。分析部504は、ユーザを認識し、又は、音響認証されたジェスチャーなどを処理することが可能に構成されてもよい。例えば、ユーザは、ジェスチャーと、ジェスチャーがユーザを特定できることを用いて、分析部504により識別されてもよい。このような特定のジェスチャーは、メモリ506に予め記録されたジェスチャー508に記録され含められてもよい。記録処理において、ジェスチャーの記録中に生成された音をさらに格納してもよい。検知された環境は、多チャンネル分析部にサンプリングされ、処理される。処理部は、ユーザ又はオブジェクトを、声又は音響パターンに基づいて、高い精度及び性能で判定し、認証し、及び/又は識別するために、ジェスチャーモデルを参照してもよい。
【0032】
図5Aに示されるように、ジェスチャーは、メモリ506に格納されてもよい。ジェスチャーの限定されない例として、例えば、ボールなどの物体を投げる、バット又はゴルフクラブなどの物体を振る、手動ポンプを動かす、ドア又は窓を開く又は閉じる、ステアリングホイール又はその他の乗物制御手段を回転させる、パンチなどの格闘技の動作、砂をまく動作、ワックスがけ、ワックスはがし、家を塗装する、振る、ガタガタ鳴らす、回す、フットボールを投げる、ノブを回す動作、3Dマウス動作、スクロール動作、既知の輪郭の動作、任意の記録可能な動作、タイヤに空気を入れるなどの任意のベクトルに沿った前後動作だが空間中の任意の回転を伴う動作、パスに沿った動作、雑音レベルの範囲内で記録され、追跡され、及び繰り返されることが可能なユーザの操作に基づく任意の正確な停止及び開始時期を持つ動作、キーをつける動作などを含む。これらのジェスチャーのそれぞれは、パスデータから予め記録され、時間に基づいたモデルとして格納されてもよい。パスと格納されたジェスチャーとの比較は、安定状態の仮定から開始してもよく、パスが安定状態から外れれば、消去プロセスにより、格納されたジェスチャーとパスを比較してもよい。ブロック526において合致がなければ、分析部504は、ブロック522においてコントローラのパスの追跡を継続してもよい。パス(又はその一部)と格納されたジェスチャーとの間に十分な合致があれば、ゲームの状態は、528に示すように変更されてもよい。ゲームの状態の変更は、割り込み、制御信号の送信、変数の変更などを含むが、これらに限定されない。
【0033】
これが起こりうる例を示す。コントローラ110がパスの安定状態から外れたと判定すると、分析部504は、コントローラ110の動作を追跡する。コントローラ110のパスが、格納されたジェスチャーモデル508において定義されたパスを満たしている限り、これらのジェスチャーは「ヒット」する可能性がある。コントローラ110のパスが任意のジェスチャーモデル508から(設定されたノイズ許容範囲で)外れると、そのジェスチャーモデルはヒットリストから消去される。それぞれのジェスチャー参照モデルは、ジェスチャーが記録された時間基準を含む。分析部504は、適切な時間インデックスにおいて、コントローラのパスデータと格納されたジェスチャー508とを比較する。安定状態条件の発生によりクロックがリセットされる。安定状態から外れたとき(すなわち、動作がノイズ閾値を超えて追跡されたとき)、ヒットリストは全ての可能性のあるジェスチャーモデルが投入される。クロックが開始され、コントローラの動きがヒットリストに比較される。再び、比較が時間の経過にしたがって行われる。ヒットリスト中のいずれかのジェスチャーが、ジェスチャーの最後まで達すると、それがヒットとなる。
【0034】
ある実施の形態において、分析部504は、特定のイベントが発生したときにゲームプログラムに通知してもよい。そのようなイベントの例は、下記を含む。
【0035】
・ゼロ加速度点到達割り込み(X、Y、及び/又はZ軸):あるゲーム状況において、分析部504は、コントローラの加速度が変曲点に達したときに、ゲームプログラム中のルーチンに通知又は割り込みをかけてもよい。例えば、ユーザ108は、フットボールシミュレーションゲームにおいてクォーターバックを表現したゲームアバターを制御するためにコントローラ110を用いてもよい。分析部504は、慣性センサ112からの信号から生成されたパスを介して、フットボールを表現するコントローラを追跡してもよい。コントローラ110の加速度の特定の変化は、フットボールのリリースの合図となってもよい。この点において、分析部は、リリース時のコントローラの位置、及び/又は速度及び/又は方向に基づいてフットボールの軌跡をシミュレートする、物理シミュレーションパッケージなどのプログラム中の別のルーチンのトリガーとなってもよい。
【0036】
・認識された新しいジェスチャーの割り込み。
【0037】
さらに、分析部504は、1以上の入力により設定されてもよい。そのような入力の例は、下記を含む。
【0038】
・ノイズレベルの設定(X、Y又はZ軸)。ノイズレベルは、ゲームにおいてユーザの手が小刻みに震えるのを分析するときに用いられる参照許容範囲であってもよい。
【0039】
・サンプリングレートの設定。ここでは、サンプリングレートとは、分析部504が慣性センサから信号をサンプリングする頻度のことをいう。サンプリングレートは、信号をオーバーサンプリングする、又は、平均化するために設定されてもよい。
【0040】
・ギアリングの設定。ここでは、ギアリングとは、一般に、コントローラの動きとゲーム内で発生する動きとの比率のことをいう。ビデオゲームの制御におけるこのような「ギアリング」の例は、米国特許出願11/382,040(2006年5月7日出願、代理人事件番号:SONYP058D)に記述されており、ここに参照として組み込まれる。
【0041】
・マッピングチェインの設定。ここでは、マッピングチェインとは、ジェスチャーモデルのマッピングのことをいう。ジェスチャーモデルマッピングは、特定の入力チャンネル(例えば、慣性センサ信号のみから生成されたパスデータ)、又は混合部において生成された混合チャンネルに適合されてもよい。慣性分析部504に類似した2以上の異なる分析部により、3つの入力チャンネルが供給されてもよい。これらは、とくに、ここに記述される慣性分析部504、例えば米国特許出願11/382,034(発明の名称:「ゲームコントローラ本体のユーザ操作を検出し追跡するための機構」、代理人事件番号:SCEA05082US00、ここに参照として組み込まれる)に記述された映像分析部、例えば米国特許出願11/381,721(ここに参照として組み込まれる)に記述された音響分析部を含んでもよい。分析部に、マッピングチェインが組み込まれてもよい。マッピングチェインは、ゲーム中にゲームによりスワップアウトされ、分析部及び混合部のために設定されてもよい。
【0042】
再び図5Bを参照して、ブロック512において、慣性センサ112から信号を生成する方法が数多くあることは、当業者に認識されるところである。いくつかの例は図3a−3Eに関連して上述した。ブロック514を参照して、コントローラ110の位置及び/又は方向に関連した情報を取得するために、ブロック512において生成された検知信号を分析する方法は数多く存在する。例えば、位置及び/又は方向の情報は、下記のパラメータを個別に又は任意の組み合わせで含んでもよい。
【0043】
・コントローラの方向。コントローラ110の方向は、ある参照方向に関するピッチ、ロール、又はヨー角に関して、例えばラジアンで表現されてもよい。コントローラの方向の変化率(例えば、角速度又は角加速度)は、位置及び/又は方向の情報に含まれてもよい。慣性センサ112がジャイロスコープのセンサを含む場合、コントローラの方向の情報は、ピッチ、ロール、又はヨー角に比例する1以上の出力値の形式で直接取得されてもよい。
【0044】
・コントローラの位置(例えば、ある参照フレームにおけるコントローラ110の直交座標X、Y、Z)。
【0045】
・コントローラのX軸速度。
【0046】
・コントローラのY軸速度。
【0047】
・コントローラのZ軸速度。
【0048】
・コントローラのX軸加速度。
【0049】
・コントローラのY軸加速度。
【0050】
・コントローラのZ軸加速度。
【0051】
位置、速度及び加速度に関して、位置及び/又は方向の情報は、直交座標系以外の座標系で表現されてもよい。例えば、位置、速度及び加速度のために、円筒座標又は旧座標が用いられてもよい。X、Y及びZ軸に関する加速度情報は、例えば図3A−3Eに関連して上述したような加速度計の形式のセンサから直接取得されてもよい。X、Y及びZ方向の加速度は、X、Y及びZ方向の速度の変化を決定するために、ある初期時からの時間に関して積分されてもよい。これらの速度は、初期時における既知のX、Y及びZ方向の速度に速度の変化分を加えることにより算出されてもよい。X、Y及びZ方向の速度は、コントローラのX、Y及びZ方向の変位を決定するために、時間に関して積分されてもよい。X、Y及びZ方向の位置は、初期時における既知のX、Y及びZ方向の位置に変位を加えることにより決定されてもよい。
【0052】
・安定状態(Y/N)。この特別な情報は、コントローラが安定状態にあるか否かを示す。この情報は、任意の位置に定義されてもよく、変更される可能性もある。好ましい実施の形態において、安定状態の位置は、だいたいユーザの腰と同じ高さにおいて、より高い又は低いレベルの方向にコントローラが保持された状態であってもよい。
【0053】
・最後の安定状態からの時間は、一般に、上記の安定状態が最後に検出されてから経過した時間に関連するデータのことである。この時間の決定は、前述したように、現実の時間において計算されてもよいし、プロセッサの周波数又はサンプリング周期において計算されてもよい。最後の安定状態からの時間のデータは、ゲーム環境におけるキャラクタ又はオブジェクトのマッピングの精度を確保するための初期位置に関するコントローラの追跡のリセットに関して重要である。このデータは、ゲーム環境においてつづいて排他的にも包括的にも実行されるであろう可能なアクション又はジェスチャーを決定することに関しても重要である。
【0054】
最後に認識されたジェスチャーは、一般に、ハードウェア又はソフトウェアにより実現されたジェスチャー認識部505により最後に認識されたジェスチャーのことである。最後に認識されたジェスチャーの識別は、前回のジェスチャーが、続いて認識される可能性のあるジェスチャー又はゲーム環境において実行されるその他のアクションに関連する可能性があるという事実に関して重要である。
【0055】
・最後にジェスチャーが認識された時間。
【0056】
上記の出力は、ゲームプログラム又はソフトウェアにより任意のタイミングでサンプリングされてもよい。
【0057】
本発明の実施の形態によれば、上述したタイプのビデオゲームシステム及び方法は、図6に示すように実現される。ビデオゲームシステム600は、プロセッサ601及びメモリ602(例えば、RAM、DRAM、ROMなど)を含んでもよい。さらに、ビデオゲームシステム600は、並列処理が実装される場合には、複数のプロセッサ601を有してもよい。メモリ602は、上述したように構成される部分を含むデータ及びゲームプログラムコード604を含む。とくに、メモリ602は、上述したコントローラの格納されたパス情報を含む慣性信号データ606を含んでもよい。メモリ602は、ゲームプログラム604に関連した1以上のジェスチャーを示すデータなど、格納されたジェスチャーデータ608を更に含んでもよい。
【0058】
システム600は、入出力(I/O)要素611、電源(P/S)612、クロック(CLK)613、及びキャッシュ614など、既知の支援機能を更に含んでもよい。装置600は、プログラム及び/又はデータを格納するために、ディスクドライブ、CD−ROMドライブ、テープドライブなどの大容量記憶装置615を含んでもよい。コントローラは、コントローラ600とユーザの間のインタラクションを容易にするために、表示ユニット616及びユーザインタフェースユニット618を更に含んでもよい。表示ユニット616は、テキスト、数字、表示シンボル、又は画像を表示するブラウン管(CRT)又は平面ディスプレイの形式であってもよい。ユーザインタフェース618は、キーボード、マウス、ジョイスティック、ライトペン、又は他のデバイスを含んでもよい。さらに、ユーザインタフェース618は、分析すべき信号を直接取得するために、マイクロフォン、ビデオカメラ、又は他の信号変換デバイスを含んでもよい。図6に示すように、プロセッサ601、メモリ602、及び他のシステム600の構成要素は、システムバス620を介して相互に信号(例えば、コード命令及びデータ)を交換してもよい。
【0059】
マイクロフォン配列622は、入出力機能611を介してシステム600に接続されてもよい。マイクロフォン配列は、約2から8、好ましくは約4のマイクロフォンを含んでもよく、隣接するマイクロフォンは、約4センチメートル以下、好ましくは約1から2センチメートルの距離で分離されてもよい。配列622中のマイクロフォンは、無指向性マイクロフォンであることが好ましい。任意に設けられた画像取得ユニット623(例えば、ディジタルカメラ)は、入出力機能611を介して装置600に接続されてもよい。カメラに機械的に接続された1以上のポインティングアクチュエータ(P/A)625は、入出力機能611を介してプロセッサ601との間で信号を交換してもよい。
【0060】
ここでは、入出力という語は、一般に、システム600から又はシステム600へ、及び、周辺装置から又は周辺装置へデータを転送する任意のプログラム、演算、又はデバイスのことを言う。全てのデータは、1つの装置から出力され、別の装置へ入力されるとみなされてもよい。周辺装置は、書き込み可能なCD−ROMなど入出力の双方が可能な装置だけでなく、キーボードやマウスなどの入力装置や、プリンタなどの出力装置も含む。「周辺装置」という語は、CD−ROMドライブ、CD−Rドライブ、内蔵モデム、又は、フラッシュメモリリーダ/ライタ、ハードディスクなどの他の周辺装置などの内部装置だけでなく、マウス、キーボード、プリンタ、モニタ、マイクロフォン、ゲームコントローラ、カメラ、外部Zipドライブ、又はスキャナなどの外部装置も含む。
【0061】
本発明のある実施の形態において、装置600は、有線(例えばUSBケーブル)又は無線により入出力機能611を介してプロセッサに接続されたコントローラ630を含むビデオゲームユニットであってもよい。ある実施の形態において、ジョイスティックコントローラ630はユーザの体に装着可能であってもよい。コントローラ630は、ビデオゲームのプレー中に一般的に用いられる制御信号を提供するアナログジョイスティック631及び従来のボタン633を有してもよい。このようなビデオゲームは、プロセッサにより読み取り可能なデータ、及び/又は、メモリ602や大容量記憶装置615などに関連づけられたものなど他のプロセッサ読み取り可能な媒体に格納されたプログラム604からの命令により実現されてもよい。
【0062】
ジョイスティック631は、一般に、スティックを左右に動かすとX軸に沿った動作を示し、前後又は上下に動かすとY軸に沿った動作を示すように構成される。3次元の動作のために構成されたジョイスティックにおいて、スティックを左(反時計回り)又は右(時計回り)にねじると、Z軸に沿った動作を示すようにしてもよい。これらのX、Y、及びZの3軸は、しばしば、とくに飛行機に関連して、それぞれ、ロール、ピッチ、及びヨーと呼ばれる。
【0063】
コントローラ630は、従来の特徴に加えて、位置及び/又は方向の情報を慣性信号を介してプロセッサ601に提供する1以上の慣性センサ632を含んでもよい。方向情報は、コントローラ630の傾き、ロール、又はヨーなどの角度情報を含んでもよい。例えば、慣性センサ632は、任意の数及び/又は組み合わせの加速度計、ジャイロスコープ、又は傾きセンサを含んでもよい。好適な実施の形態において、慣性センサ632は、傾き及びロール軸に関するジョイスティックコントローラの方向を検知するための傾きセンサ、ヨー軸に沿った加速度を検知するための第1の加速度計、及び、ヨー軸に関する角加速度を検知するための第2の加速度計を含む。加速度計は、例えば、1以上のスプリングにより搭載された質量と、1以上の方向に関する質量の変位を検知するためのセンサを含むMEMSデバイスとして実現されてもよい。質量の変位に依存したセンサからの信号は、ジョイスティックコントローラ630の加速度を決定するために用いられてもよい。このような技術は、メモリ602に格納され、プロセッサ601により実行されるゲームプログラム604からの命令により実現されてもよい。
【0064】
例えば、慣性センサ632に適した加速度計は、例えばスプリングによりフレームに3又は4点で弾性的に結合された単純な質量であってもよい。ピッチ及びロール軸は、ジョイスティックコントローラ630に搭載されたフレームに交差する平面にある。フレーム(及びジョイスティックコントローラ630)がピッチ及びロール軸の周りで回転すると、質量は重力の影響下で変位し、スプリングはピッチ及び/又はロール軸に依存するように伸縮する。質量の変位が検知され、ピッチ及び/又はロールの量に依存する信号に変換される。ヨー軸の周りの角加速度又はヨー軸に沿った直線加速度も、検知され、ピッチ及び/又はロールの量に依存する信号に変換されるスプリングの伸縮又は質量の動きの特徴的なパターンを生成することがある。このような加速度計は、質量の動き又はスプリングの伸縮力を追跡することにより、ヨー軸の周りの傾き、ロール角加速度、及びヨー軸に沿った直線加速度を測定することができる。質量の位置及び/又はそれに及ぼされる力を追跡する方法は、抵抗ひずみゲージ物質、光センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなど、数多く存在する。ある実施の形態において、慣性センサ632は、ジョイスティックコントローラ630の「本体」に着脱可能に搭載されてもよい。
【0065】
さらに、ジョイスティックコントローラ630は、発光ダイオード(LED)などの1以上の光源634を含んでもよい。光源634は、コントローラを他のコントローラと区別するために用いられてもよい。例えば、1以上のLEDにより、LEDパターンコードを点滅又は持続させることにより、これを達成することができる。例えば、5つのLEDを直線又は2次元パターンでコントローラ630に設けてもよい。LEDを直線的に配列させることが好ましいが、画像取得ユニット623により取得されたLEDのパターンの画像を解析する際にLEDの像平面の決定を容易にするために、LEDを矩形又はアーチ形のパターンに配列してもよい。さらに、LEDパターンコードは、ゲームプレー中にジョイスティックコントローラ630の位置を決定するために用いられてもよい。例えば、LEDは、コントローラの傾き、ヨー、及びロールを特定するのに役立つ。この検出パターンは、航空機飛行ゲームなどのゲームにおいて、ユーザの使用感を向上させるのに役立つ。画像取得ユニット623は、ジョイスティックコントローラ630及び光源634を含む画像を取得してもよい。このような画像の分析により、ジョイスティックコントローラの位置及び/又は方向を決定することができる。このような分析は、メモリ602に格納されプロセッサ601により実行されるプログラムコード命令604により実現されてもよい。画像取得ユニット623による光源634の画像の取得を容易にするために、光源634は、ジョイスティックコントローラ630の2以上の異なる側面、例えば、表と裏(波線で示される)に配置されてもよい。このような配置により、画像取得ユニット623は、ジョイスティックコントローラ630がユーザによりどのように把持されるかに依存して、ジョイスティックコントローラ630の方向が異なっても、光源634の画像を取得することができる。
【0066】
さらに、光源634は、例えばパルスコード、振幅変調、又は周波数変調などの方式で、プロセッサ601に対して遠隔計測信号を提供してもよい。このような遠隔計測信号は、どのジョイスティックボタンが押されたか、及び/又は、そのボタンがどのくらい強く押されたかを示してもよい。遠隔計測信号は、パルスコード、パルス幅変調、周波数変調、光度(振幅)変調などにより、光信号にエンコードされてもよい。プロセッサ601は、光信号から遠隔計測信号をデコードし、デコードされた遠隔計測信号に応じて、ゲームコマンドを実行してもよい。遠隔計測信号は、画像取得ユニット623により取得されたジョイスティックコントローラ630の画像の分析からデコードされてもよい。または、装置600は、光源634から遠隔計測信号を受信するために設けられた別の光学センサを含んでもよい。コンピュータプログラムと連動して強度を決定するためにLEDを用いることは、例えば、米国特許出願11/429,414(発明者:リチャード・L・マークスら、発明の名称:「コンピュータプログラムと連動した強度及び入力装置のコンピュータ画像音声処理」、代理人事件番号:SONYP052)に記述されており、ここに参照として組み込まれる。さらに、光源634を含む画像の解析は、遠隔計測と、ジョイスティックコントローラ630の位置及び/又は方向の決定の双方に用いられてもよい。このような技術は、メモリ602に格納されプロセッサ601により実行されるプログラム604の命令により実現されてもよい。
【0067】
プロセッサ601は、コントローラ630及び/又はそのユーザの位置及び/又は方向に関する情報を推定するために、画像取得ユニット623により検出された光源634からの光学信号及び/又はマイクロフォン配列622により検出された音響信号からの音源位置及び特徴情報と併用して、慣性センサ632からの慣性信号を用いてもよい。例えば、ジョイスティックコントローラの動きが(慣性センサ632及び/又は光源634により)独立して追跡される間、音声の動きを追跡するために、マイクロフォン配列622と併用して、光源位置及び特徴を検出する「音波レーダー」が用いられてもよい。音響レーダーにおいて、予め較正された聴取領域が実行時に選択され、予め較正された聴取領域外の音源から発せられる音声は除去される。予め較正された聴取領域は、画像取得ユニット623の焦点のボリューム又は視野に対応する聴取領域を含んでもよい。音響レーダーの例は、米国特許出願11/381,724(発明者:シャドン・マオ、発明の名称:「対象となる音声の検出及び特徴化方法及び装置」、出願日:2006年5月4日)に詳細に記述されており、ここに参照として組み込まれる。プロセッサ601に制御信号を提供する異なる態様の、任意の数の異なる組み合わせが、本発明の実施の形態に関連して用いられてもよい。このような技術は、メモリ602に格納されプロセッサ601により実行されるプログラムコード命令604により実現されてもよく、予め較正された聴取領域を実行時に選択し、予め較正された聴取領域外の音源から発せられる音声を除去するように、1以上のプロセッサに対して指示する1以上の命令を含んでもよい。予め較正された聴取領域は、画像取得ユニット623の焦点のボリューム又は視野に対応する聴取領域を含んでもよい。
【0068】
プログラム604は、マイクロフォン配列622のマイクロフォンM0〜MMからの離散時間領域入力信号xm(t)を生成し、聴取領域を決定し、入力信号xm(t)から異なる音源を分離するための有限インパルス応答フィルタ係数を選択するためのセミブラインド音源分離に聴取領域を用いるために、1以上のプロセッサに対して指示する1以上の命令を含んでもよい。プログラム604は、参照マイクロフォンM0からの入力信号x0(t)以外の選択された入力信号xm(t)に対して、1以上の部分的遅延を適用するための命令を含んでもよい。それぞれの部分的遅延は、マイクロフォン配列からの離散時間領域出力信号y(t)のノイズ比に対して信号を最適化するために選択されてもよい。部分的遅延は、参照マイクロフォンM0からの信号が、配列の他のマイクロフォンからの信号に比べて、時間的に最初になるように選択されてもよい。プログラム604は、部分的時間遅延Δを下記のようにマイクロフォン配列の出力信号y(t)に導入するための命令を含んでもよい。
y(t+Δ)=x(t+Δ)*b0+x(t-1+Δ)*b1+x(t-2+Δ)*b2+…+x(t-N+Δ)bN
ただし、Δは0と±1の間
このような技術の例は、米国特許出願11/381,729(発明者:シャドン・マオ、発明の名称:「超小型マイクロフォン配列」、出願日:2006年5月4日)に記述されており、ここに参照として組み込まれる。
【0069】
プログラム604は、実行時にシステム600に音源を含む予め較正された聴取領域を選択させるための1以上の命令を含んでもよい。このような命令は、音源が初期領域の範囲内又は初期領域の特定の側にあるか否かを装置に決定させてもよい。音源が初期設定の領域の範囲内にない場合、命令は、実行時に、初期設定の範囲の特定の側にある異なる領域を選択してもよい。異なる領域は、最適値に最も近い入力信号の減衰により特徴づけられてもよい。これらの命令は、実行時に、マイクロフォン配列622からの入力信号の減衰と、最適値への減衰を算出してもよい。命令は、実行時に、装置600に、1以上の領域の入力信号の減衰値を決定し、減衰が最適値に最も近い領域を選択させてもよい。このような技術の例は、米国特許出願11/381,725(発明者:シャドン・マオ、発明の名称:「対象音声検出方法及び装置」、出願日:2006年5月4日)に記述されており、ここに参照として組み込まれる。
【0070】
慣性センサ632からの信号は、追跡情報入力の一部を提供し、1以上の光源634の追跡から画像取得ユニット623により生成される信号は、追跡情報入力の別の一部を提供してもよい。このような「混合方式」の信号は、例えば、フットボール形式のビデオゲームにおいて、クォーターバックが頭を左に動かしてフェイクした後にボールを右に投げる場合などに用いられてもよい。具体的には、コントローラ630を把持するゲームプレイヤーは、頭を左に動かして、コントローラを右に振ってフットボールであるかのように投げる動作をしながら音声を発生させてもよい。「音響レーダー」プログラムコードに連動したマイクロフォン配列622は、ユーザの声を追跡することができる。画像取得ユニット623は、ユーザの頭の動きを追跡し、又は、音声又はコントローラの使用を必要としない他のコマンドを追跡することができる。センサ632は、ジョイスティックコントローラ(フットボールを表現する)の動きを追跡してもよい。画像取得ユニット623は、コントローラ632上の光源634を更に追跡してもよい。ユーザは、ジョイスティックコントローラ630の加速度が特定の量及び/又は方向に達したとき、又は、コントローラ630上のボタンを押下することによりキーコマンドが発生したときに、「ボール」を離すことができる。
【0071】
本発明のある実施の形態において、例えば加速度計又はジャイロスコープからの慣性信号は、コントローラ630の位置を決定するために用いられてもよい。具体的には、加速度計からの加速度信号は、速度の変化を決定するために、いったん時間に関して積分されてもよく、速度は、位置の変化を決定するために時間に関して積分されてもよい。ある時点での初期状態の位置及び速度の値が既知である場合、これらの値と、速度及び位置の変化量を用いて、絶対位置を決定することができる。慣性センサを用いた位置決定は、画像取得ユニット623及び光源634を用いるよりも、より高速に実行できるが、慣性センサ632は、誤差が時間とともに蓄積され、慣性信号から算出されたジョイスティック631の位置(波線で示される)と、ジョイスティックコントローラ630の現実の位置との間の不一致Dが生じる「ドリフト」と呼ばれる一種のエラーの影響を受けやすい。本発明の実施の形態は、このようなエラーに対処するための多くの方法を可能とする。
【0072】
例えば、コントローラ630の初期位置を、現在の算出された位置に等しくなるようにリセットすることにより、ドリフトを手動でキャンセルすることができる。ユーザは、初期位置をリセットするためのコマンドのトリガとして、コントローラ630上の1以上のボタンを用いることができる。または、画像ベースのドリフトは、現在位置を、画像取得ユニット623から取得された画像から決定された位置を参照としてリセットすることにより実行されてもよい。このような画像ベースのドリフト補償は、ユーザがジョイスティックコントローラ630の1以上のボタンを始動したときなどに、手動で実行されてもよい。または、画像ベースのドリフト補償は、例えば定期的に又はゲームプレーに応じて、自動的に実行されてもよい。このような技術は、メモリ602に格納されプロセッサ601により実行されるプログラムコード命令604により実現されてもよい。
【0073】
ある実施の形態において、慣性センサ信号における誤ったデータを補正することが望ましい。例えば、慣性センサ632からの信号はオーバーサンプリングされてもよく、慣性センサ信号から誤ったデータを除去するために、オーバーサンプリングされた信号から移動平均(スライディング平均)を算出してもよい。ある状況において、信号をオーバーサンプリングし、データ点の部分集合から高い及び/又は低い値を除去し、残ったデータ点から移動平均を算出することが望ましい。さらに、データのオーバーサンプリング及び取扱技術は、誤ったデータの重要性を除去又は低減するために、慣性センサからの信号を調整するために用いられてもよい。技術の選択は、信号の種類、信号に対して実行すべき演算、ゲームプレーの種類、又はこれらの2以上の組み合わせに依存してもよい。これらの技術は、メモリ602に格納されプロセッサ601により実行されるプログラム604の命令により実現されてもよい。
【0074】
プロセッサ601は、上述したように、データ606と、メモリ602に格納され、取得され、プロセッサモジュール601により実行されるプログラム604のプログラムコード命令とに応じて、慣性信号データ606の分析を行ってもよい。プログラム604のコードの一部は、アセンブラ、C++、JAVA(登録商標)、又はその他の多くの言語などの異なる多くのプログラミング言語のいずれかに準拠してもよい。プロセッサモジュール601は、汎用コンピュータを構成する。それは、プログラムコード604などのプログラムを実行するときには、特定の目的のコンピュータとなる。ここでは、プログラムコード604が、汎用コンピュータ上で実行されるソフトウェアとして実現される場合について説明したが、ASICやその他のハードウェア回路などのハードウェアを用いもタスク管理の方法が実現できることは、当業者に理解されるところである。同様に、本発明の実施の形態の一部又は全部が、ソフトウェア、ハードウェア、又はそれらの組み合わせにより実現できることも理解されるところである。
【0075】
ある実施の形態において、プログラムコード604は、図5Bの方法510及び図5Cの方法520又はそれらの2以上の組み合わせと同様の特徴を有する方法を実現するプロセッサ読み取り可能な命令のセットを含んでもよい。プログラムコード604は、一般に、1以上のプロセッサに、慣性センサ632からの信号を分析して位置及び/又は方向の情報を生成し、ビデオゲームのプレー中にその情報を利用するよう指示する1以上の命令を含んでもよい。
【0076】
プログラムコード604は、実行時に画像取得ユニット623に画像取得ユニット623の前の視野を監視させ、視野内の1以上の光源634を識別させ、光源634から発せられる光の変化を検知させ、変化を検知したときにプロセッサ601に入力コマンドを引き起こす1以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。ゲームコントローラにおけるアクションを誘発するための画像取得装置に関連したLEDの使用は、米国特許出願10/759,782(発明者:リチャード・L・マークス、出願日:2004年1月16日、発明の名称:「光入力デバイスのための方法及び装置」)に記述されており、ここに参照として組み込まれる。
【0077】
プログラムコード604は、実行時に慣性センサからの信号と、1以上の光源を追跡することにより画像取得ユニットから生成された信号とを、上述したようにゲームシステムに対する入力として用いる1以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。プログラムコード604は、実行時に慣性センサ632におけるドリフトを補償する1以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。
【0078】
本発明の実施の形態において、ビデオゲームコントローラ630に関する例について説明したが、システム600を含む本発明の実施の形態は、ユーザにより操作される本体、モデリングされたオブジェクト、ノブ、構造体などに対して、慣性検知機能及び慣性センサ信号送信機能とともに、無線又は別の方法で用いられてもよい。
【0079】
例えば、本発明の実施の形態は、並列処理システム上で実行されてもよい。このような並列処理システムは、典型的には、別々のプロセッサにおいてプログラムの一部を並列に実行するように構成された2以上のプロセッサ要素を含む。限定されない例として、図7は、本発明の実施の形態に係るセルプロセッサ700の一種を示す。セルプロセッサ700は、図6のプロセッサとして用いられてもよいし、図5Aのプロセッサ502として用いられてもよい。図7に示した例において、セルプロセッサ700は、メインメモリ702、PPE(power processor element)704、及び複数のSPE(synergistic processor element)706を含む。図7に示した例では、セルプロセッサ700は、一つのPPE704と8つのSPE706を含む。このような構成において、7つのSPE706は並列処理のための用いられ、1つは他の7つのいずれかが機能しなくなったときのバックアップとしてリザーブされてもよい。または、セルプロセッサは、複数のグループのPPE(PPEグループ)及び複数のグループのSPE(SPEグループ)を含んでもよい。この場合、ハードウェアリソースは、グループ内の単位の間で共有されてもよい。しかし、SPE及びPPEは、独立した要素としてソフトウェアとみなされなければならない。本発明の実施の形態は、図7に示した構成により利用されることに限定されない。
【0080】
メインメモリ702は、典型的には、システム設定、データ転送の同期、メモリにマップされた入出力、及び入出力サブシステムなどの機能のために用いられる特定目的のハードウェアレジスタ又は配列だけでなく、汎用かつ不揮発性の記憶装置を含む。本発明の実施の形態において、ビデオゲームプログラム703は、メインメモリ702に常駐されてもよい。メモリ702は、信号データ709を含んでもよい。ビデオプログラム703は、図5A、5B、又は5Cに関連して上述したように構成された分析部又はこれらのいくつかの組み合わせを含んでもよい。プログラム703は、PPE上で実行されてもよい。プログラム703は、SPE及び/又はPPE上で実行可能な複数の信号処理タスクに分割されてもよい。
【0081】
例えば、PPE704は、キャッシュL1及びL2が結合された64ビットPPU(PowerPC Processor Unit)であってもよい。PPE704は、メモリ保護テーブルなどのシステム管理リソースにアクセス可能な汎用処理ユニットである。ハードウェアリソースは、PPEが参照できるように、実アドレス空間に明示的にマップされてもよい。したがって、PPEは、適切な有効アドレス値を用いて、任意のこれらのリソースをアドレス指定することができる。PPE704の主機能は、セルプロセッサ706のSPE706のためのタスクの管理及び割り当てである。
【0082】
図7には1つのPPEのみが示されているが、セルブロードバンドエンジンアーキテクチャー(cell broadband engine architecture:CBEA)などのセルプロセッサの実装においては、セルプロセッサ700は、1以上のPPEグループにまとめられた複数のPPEを有してもよい。これらのPPEグループは、メインメモリ702に対するアクセスを共有してもよい。さらに、セルプロセッサ700は、2以上のSPEグループを含んでもよい。SPEグループも、メインメモリ702に対するアクセスを共有してもよい。このような構成は、本発明の範囲内である。
【0083】
それぞれのSPE706は、SPU(synergistic processor unit)及びそれ自身のローカル格納領域LSを含む。ローカル格納領域LSは、それぞれが特定のSPUに関連づけられた1以上の分割されたメモリの領域を含んでもよい。それぞれのSPUは、それ自身に関連づけられたローカル格納領域内からの命令(データロード及びデータストア命令を含む)のみを実行するように構成されてもよい。このような構成において、ローカル格納領域LSとシステム700の他の構成との間のデータ転送は、(個々のSPEの)ローカル格納領域へ又はローカル格納領域から転送するためのメモリフローコントローラ(MFC)からのDMA(direct memory access)コマンドを発行することにより実行されてもよい。SPUは、システム管理機能を実行しない点において、PPE704よりも複雑ではない計算ユニットである。SPUは、一般に、1回の命令で複数データに対する処理を同時に行う機能(SIMD)を有し、典型的には、割り当てられたタスクを実行するために、データを処理し、要求された任意のデータ転送を(PPEにより設定されたプロパティにアクセスすることを前提として)起動する。SPUの目的は、より高い計算ユニットの密度を要求し、提供された命令セットを効率的に用いることができるアプリケーションを可能とすることにある。PPE704により管理されるシステムにおける多数のSPEにより、広範囲のアプリケーションにわたって費用効率の高い処理が可能となる。
【0084】
それぞれのSPE706は、メモリ保護情報及びアクセス許可情報を保持し処理することが可能なメモリ管理ユニットを含む専用のメモリフローコントローラ(MFC)を含んでもよい。MFCは、セルプロセッサのメインストレージとSPEのローカルストレージとの間のデータ転送、保護、及び同期のための主要な方法を提供する。MFCコマンドは、実行されるべき転送を表現する。データを転送するためのコマンドは、MFCダイレクトメモリアクセス(DMA)コマンド(MFCDMAコマンド)とも呼ばれる。
【0085】
それぞれのMFCは、複数のDMA転送を同時にサポートし、複数のMFCコマンドを保持し処理することができる。それぞれのMFC・DMAデータ転送コマンドリクエストは、ローカルストレージアドレス(LSA)と有効アドレス(EA)の双方を含んでもよい。ローカルストレージアドレスは、関連づけられたSPEのローカル格納領域のみを直接アドレス指定してもよい。有効アドレスは、より一般的なアプリケーションを有してもよく、例えば、実アドレス空間にエイリアスされている限り全てのSPEローカル格納領域を含むメインストレージを参照可能であってもよい。
【0086】
SPE706間及び/又はSPE706とPPE704との間の通信を容易にするために、SPE706及びPPE704は、信号伝達イベントに関係する信号通知レジスタを含んでもよい。PPE704及びSPE706は、PPE704がSPE706にメッセージを送信するためのルータとして機能するスター型トポロジーにより接続されてもよい。または、それぞれのSPE706及びPPE704は、メールボックスとして参照される一方向の信号通知レジスタを有してもよい。メールボックスは、オペレーティングシステム(OS)の同期のために用いられてもよい。
【0087】
セルプロセッサ700は、セルプロセッサ700がマイクロフォン配列712、画像取得ユニット713及びゲームコントローラ730などの周辺装置とインタフェースをとることが可能な入出力(I/O)機能708を含んでもよい。ゲームコントローラユニットは、慣性センサ732及び光源734を含んでもよい。さらに、要素相互接続バス710が上述した種々のコンポーネントを接続してもよい。それぞれのSPE及びPPEは、バスインタフェースユニットBIUを介してバス710にアクセス可能である。セルプロセッサ700は、プロセッサに典型的に見られる、バス710とメインメモリ710との間でデータのフローを制御するメモリインタフェースコントローラMICと、I/O708とバス710との間でデータのフローを制御するバスインタフェースコントローラBICの2つのコントローラを更に含んでもよい。MIC、BIC、BIU及びバス710の要件は、異なる実装において大きく異なりうるが、それらの機能及び実装のための回路は、当業者によく知られるところである。
【0088】
セルプロセッサ700は、内部割り込みコントローラIICを更に含んでもよい。IICコンポーネントは、PPEに伝達される割り込みの優先度を管理する。IICにより、セルプロセッサ700の他のコンポーネントからの割り込みを、メインシステム割り込みコントローラを用いることなく扱うことができる。IICは、第2のレベルのコントローラとみなされてもよい。メインシステム割り込みコントローラは、セルプロセッサの外部からの割り込みを扱ってもよい。
【0089】
本発明の実施の形態において、上述した部分的遅延などの特定の計算は、PPE704及び/又は1以上のSPE706を用いて並列して実行されてもよい。それぞれの部分的遅延計算は、異なるSPE706が実行可能となるように1以上に分割されたタスクとして実行されてもよい。
【0090】
上記は、本発明の好ましい実施の形態の完全な説明であるが、種々の代替、修正及び等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決定されるべきではなく、添付された特許請求の範囲をそれらと等価な範囲の全てとともに参照して決定されるべきである。ここで記述される全ての特徴は、好ましいか否かにかかわらず、ここで記述される他の全ての特徴に結合されてもよい。特許請求の範囲において、不定冠詞に続くものは、別段の明示がない限り、1以上の事項の数量をさす。添付された特許請求の範囲は、「〜するための手段」という語句を用いて明示的に限定されない限り、ミーンズプラスファンクションの限定を含むものと解釈されるべきではない。
【技術分野】
【0001】
本発明は、一般的には、コンピュータエンタテインメントシステムに関し、より具体的には、そのようなコンピュータエンタテインメントシステムのコントローラのユーザによる操作に関する。
【背景技術】
【0002】
コンピュータエンタテインメントシステムは、一般に、ハンドヘルドコントローラ、ゲームコントローラ、又はその他のコントローラを含む。ユーザ又はプレイヤーは、コマンド又はその他の命令をエンタテインメントシステムに送信して、プレーされているビデオゲーム又はその他のシミュレーションを制御するために、コントローラを用いる。例えば、コントローラには、ユーザにより操作されるジョイスティックなどの操作部が設けられてもよい。操作されたジョイスティックの変量は、アナログ値からディジタル値に変換され、ゲーム機のメインフレームへ送信される。コントローラには、ユーザが操作可能なボタンが設けられてもよい。
【0003】
本発明は、これら又はその他の背景となる情報要素に関して発展させたものである。
【図面の簡単な説明】
【0004】
【図1】本発明の実施の形態にしたがって動作するビデオゲームシステムを例示した図である。
【図2】本発明の実施の形態に係るコントローラの透視図である。
【図3A】本発明の実施の形態に係るコントローラにおいて用いられる加速度計を示す3次元概略図である。
【図3B】図3Aの加速度計をピッチ又はロール軸の周りに回転した状態を示す断面概略図である。
【図3C】図3Aの加速度計に並進加速度を与えた状態を示す断面概略図である。
【図3D】図3Aの加速度計にヨー軸の周りの回転加速度を与えた状態を示す平面概略図である。
【図3E】図3Aの加速度計にヨー軸の周りの回転加速度を与えた状態を示す平面概略図である。
【図4】本発明の実施の形態に係る方向依存ゼロ点加速度計信号の補正を示す3次元概略図である。
【図5A】図1のビデオゲームシステムの一部のブロック図である。
【図5B】本発明の実施の形態に係るビデオゲームシステムのコントローラを追跡するための方法のフロー図である。
【図5C】本発明の実施の形態に係るビデオゲームシステムにおいてゲームプレー中に位置及び/又は方向の情報を利用するための方法を例示したフロー図である。
【図6】本発明の実施の形態に係るビデオゲームシステムを例示したブロック図である。
【図7】本発明の実施の形態に係るビデオゲームシステムのセルプロセッサによる実装のブロック図である。
【発明を実施するための形態】
【0005】
・優先権の主張
本出願は、米国特許出願11/381,729(発明者:シャドン・マオ、発明の名称:「超小型マイクロフォン配列」、代理人事件番号:SCEA05062US00、出願日:2006年5月4日)、米国特許出願11/381,728(発明者:シャドン・マオ、発明の名称:「エコー及びノイズキャンセル」、代理人事件番号:SCEA05064US00、出願日:2006年5月4日)、米国特許出願11/381,725(発明者:シャドン・マオ、発明の名称:「対象音声検出方法及び装置」、代理人事件番号:SCEA05072US00、出願日:2006年5月4日)、米国特許出願11/381,727(発明者:シャドン・マオ、発明の名称:「コンソール上の遠距離場マイクロフォンによる電子機器のノイズ除去」、代理人事件番号:SCEA05073US00、出願日:2006年5月4日)、米国特許出願11/381,724(発明者:シャドン・マオ、発明の名称:「対象音声検出及びキャラクタリゼーションのための方法及び装置」、代理人事件番号:SCEA05079US00、出願日:2006年5月4日)、米国特許出願11/381,721(発明者:シャドン・マオ、発明の名称:「コンピュータ対話処理に連動した選択的音源聴取」、代理人事件番号:SCEA04005JUMBOUS、出願日:2006年5月4日)の優先権を主張し、これらの全てはここに参照として組み込まれる。
【0006】
本出願は、さらに、米国特許出願11/382,031(発明者:ゲイリー・ザレウスキーら、発明の名称:「多入力ゲーム制御ミクサ」、代理人事件番号:SCEA06MXR1、2006年5月6日出願)、米国特許出願11/382,032(発明者:ゲイリー・ザレウスキーら、発明の名称:「環境内のユーザ操作を追跡するためのシステム」、代理人事件番号:SCEA06MXR2、2006年5月6日出願)の優先権を主張し、これらはここに参照として組み込まれる。
【0007】
本出願は、さらに、同時係属の米国特許出願11/418,988(発明者:シャドン・マオ、発明の名称:「音声を取得するための聴取領域を調整するための方法及び装置」、代理人事件番号:SCEA−00300、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/418,989(発明者:シャドン・マオ、発明の名称:「視覚画像に基づいて音声信号を取得するための方法及び装置」、代理人事件番号:SCEA−00400、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/429,047(発明者:シャドン・マオ、発明の名称:「信号の位置に基づいて音声信号を取得するための方法及び装置」、代理人事件番号:SCEA−00500、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/429,133(発明者:リチャード・L・マークス、発明の名称:「コンピュータ対話処理に連動した選択的音源聴取」、代理人事件番号:SCEA04005US01−SONYP045、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/429,414(発明者:リチャード・L・マークス、発明の名称:「コンピュータ画像及び音声強度処理及びコンピュータプログラムとのインタフェースのための入力装置」、代理人事件番号:SONYP052、出願日:2006年5月4日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。
【0008】
本出願は、さらに、同時係属の米国特許出願11/382,033(発明の名称:「3次元入力制御システム、方法及び装置」、代理人事件番号:SCEA06INRT1、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,035(発明の名称:「慣性的に追跡可能なハンドヘルドコンピュータ」、代理人事件番号:SCEA06INRT2、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,036(発明の名称:「視覚追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058A、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,041(発明の名称:「慣性追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058B、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,038(発明の名称:「音響追跡にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058C、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,040(発明の名称:「多チャンネル混合入力にギアリング効果を適用するための方法及び装置」、代理人事件番号:SONYP058D、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,034(発明の名称:「ゲームコントローラ本体のユーザ操作を検知及び追跡するための機構」、代理人事件番号:SCEA05082US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,037(発明の名称:「ハンドヘルドコンピュータの動きをシステムへの入力に変換するための機構」、代理人事件番号:86324、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,043(発明の名称:「検知可能で追跡可能なハンドヘルドコンピュータ」、代理人事件番号:86325、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願11/382,039(発明の名称:「ハンドヘルドコンピュータの動きをゲームコマンドにマッピングするための方法」、代理人事件番号:86326、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願29/259,349(発明の名称:「赤外線ポート付きのコントローラ(商標)」、代理人事件番号:SCEA06007US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願29/259,350(発明の名称:「追跡センサ付きのコントローラ(商標)」、代理人事件番号:SCEA06008US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願60/798,031(発明の名称:「動的対象インタフェース」、代理人事件番号:SCEA06009US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。本出願は、さらに、同時係属の米国特許出願29/259,348(発明の名称:「追跡されるコントローラ装置(商標)」、代理人事件番号:SCEA06010US00、出願日:2006年5月6日)の優先権を主張し、その全ての開示はここに参照として組み込まれる。
【0009】
・関連出願への相互参照
本出願は、米国特許出願10/207,677(発明の名称:「変形可能な装置を用いたマン・マシン・インタフェース」、出願日:2002年7月27日)、米国特許出願10/650,409(発明の名称:「音声入力システム」、出願日:2003年8月27日)、米国特許出願10/663,236(発明の名称:「追跡された頭の動きにしたがって表示されたシーンの視界を調整するための方法及び装置」、出願日:2003年9月15日)、米国特許出願10/759,782(発明の名称:「光入力装置のための方法及び装置」、出願日:2004年1月16日)、米国特許出願10/820,469(発明の名称:「音声妨害を検知及び除去するための方法及び装置」、出願日:2004年4月7日)、米国特許出願11/301,673(発明の名称:「頭及び手の相対位置を用いてカメラ追跡を介したポインティングインタフェースを実現するための方法」、出願日:2005年12月12日)、米国特許出願60/718,145(発明の名称:「音声、映像、シミュレーション、及びユーザインタフェースの実例」、出願日:2005年9月15日)に関連し、それらの全ての開示はここに参照として組み込まれる。
【0010】
・特定の実施の形態の説明
下記の詳細な説明は、例示を目的として多くの特定の詳細を含むが、下記の詳細に対する多くの変形及び置換が本発明の範囲に入ることは、当業者に認識されるところである。したがって、下記に説明する本発明の実施の形態は、請求された発明の一般性を失わせることなく、また限定を付加することもなく説明される。
【0011】
ここで説明される方法、装置、機構及びシステムの種々の実施の形態は、コントローラ全体のユーザによる移動、動作、及び/又は操作の検出、取得、及び追跡を提供する。検出されたコントローラ全体のユーザによる移動、動作、及び/又は操作は、プレーされているゲーム又は他のシミュレーションの種々の態様を制御するための更なるコマンドとして用いられてもよい。
【0012】
ゲームコントローラ本体のユーザによる操作の検出及び追跡は、様々な方法で実現されうる。例えば、ある実施の形態において、加速度計又はジャイロスコープなどの慣性センサが、ハンドヘルドコントローラ本体の動きを検出し、それらをゲームにおけるアクションに転換するために、コンピュータエンタテインメントシステムとともに利用可能である。慣性センサは、コントローラの多数の異なる型の動き、例えば、上下移動、ひねり、左右移動、引っ張り、棒を振るような動作、突き出しなどを検出するために用いられてもよい。これらの動きは、ゲームにおけるアクションに転換するために、種々のコマンドに対応づけられてもよい。
【0013】
ユーザによるゲームコントローラの操作の検出及び追跡は、例えば、剣やライトサーベルにより交戦したり、アイテムの形をなぞるために棒を用いたり、種々のスポーツ大会において戦ったり、オンスクリーン戦やその他の遭遇戦において戦ったりすることなどをユーザに可能とするための様々なタイプのゲーム、シミュレーションなどを実現するために利用可能である。
【0014】
図1には、本発明の実施の形態にしたがって動作するシステム100が示される。図示されたように、コンピュータエンタテインメントコンソール102は、ビデオゲーム又はその他のシミュレーションの画像を表示するためのテレビジョン又はその他の映像表示装置104に接続されてもよい。ゲーム又はその他のシミュレーションは、コンソール102に挿入されたDVD、CD、フラッシュメモリ、USBメモリ、又はその他の記憶媒体106に格納されてもよい。ユーザ又はプレイヤー108は、ビデオゲーム又はその他のシミュレーションを制御するためにゲームコントローラ110を操作する。図2において、ゲームコントローラ110は、ゲームコントローラ110の位置、動き、方向、又は方向の変化に応じて信号を生成する慣性センサ112を含む。ゲームコントローラ110は、慣性センサに加えて、従来の制御入力デバイス、例えば、ジョイスティック111、ボタン113、R1、L1などを含んでもよい。
【0015】
動作中、ユーザ108はコントローラ110を物理的に移動させる。例えば、ユーザ108は、コントローラ110を任意の方向、例えば、上下左右に移動させたり、ひねったり、回転させたり、振ったり、引いたり、突いたりしてもよい。以下に説明する方法により慣性センサ112からの信号の分析を通じて追跡するために、コントローラ110のこれらの動き自体をカメラ114により検出し取得してもよい。
【0016】
再び図1を参照して、システム100は、カメラ又はその他の映像取得装置114を選択的に含んでもよい。カメラは、コントローラ110がその視野116の範囲内になる位置に設けられてもよい。映像取得装置114からの画像の分析は、慣性センサ112からのデータの分析に関連して用いられてもよい。図2に示すように、コントローラ110には、映像分析による追跡を容易にするために、LED202、204、206、208などの光源が選択的に設けられてもよい。コントローラ110を追跡することを目的とした、そのような映像の分析は、例えば、米国特許出願11/382,034(発明の名称:「ユーザによるゲームコントローラ本体の操作を検出し追跡するための機構」、代理人事件番号:SCEA05082US00)に記述されており、ここに参照として組み込まれる。コンソール102は、マイクロフォン配列118を含んでもよい。コントローラ110は、マイクロフォン配列118によるコントローラ110の音響的追跡や音響信号処理を容易にするための音源を提供するために、音響信号生成部210(例えば、スピーカ)を含んでもよい。その技術は、例えば、米国特許出願11/381,724に記述されており、ここに参照として組み込まれる。
【0017】
一般に、慣性センサからの信号は、コントローラ110の位置及び方向データを生成するために用いられる。これらのデータは、コントローラ110の移動の多数の物理的態様、例えば、任意の軸に沿った加速度及び速度、傾き、勾配、ヨー、回転など、コントローラ110の任意のテレメトリデータを算出するために用いられてもよい。ここでは、テレメトリとは、概ね、遠隔測定と、対象となる情報のシステム又はシステム設計者又はオペレータへの報告とのことをいう。
【0018】
コントローラ110の動きを検出し追跡することにより、予め定義されたコントローラ110の動きが行われたか否かを判定することができる。すなわち、コントローラ110の特定の動きのパターン又はジェスチャーを予め定義しておき、ゲーム又はその他のシミュレーションの入力コマンドとして用いることができる。例えば、コントローラ110を下に突き出すジェスチャーをあるコマンドとして定義し、コントローラ110をひねるジェスチャーを別のコマンドとして定義し、コントローラ110を振るジェスチャーを更に別のコマンドとして定義することができる。このように、ユーザ108がコントローラ110を物理的に動かす方法を、ゲームを制御するための入力として用いることにより、ユーザにより刺激的で娯楽性の高い経験を提供することができる。
【0019】
慣性センサ112は、例えば加速度計でもよいが、それに限定されない。図3Aは、例えば、スプリング306、308、310、312により、4点でフレーム304に弾性的に結合された単純な質量302の形式の加速度計300の例を示す。ピッチ軸及びロール軸(それぞれX及びYで示される)は、フレームに交差する平面上にある。ヨー軸Zは、ピッチ軸X及びロール軸Yを含む平面に垂直な方向である。フレーム304は、任意の適当な方式でコントローラ110に搭載されてもよい。フレーム304(及びジョイスティックコントローラ110)が加速され及び/又は回転されると、質量302は、フレーム304から相対的に変位し、スプリング306、308、310、312は、並進及び/又は回転の加速度の値及び方向及び/又はピッチ及び/又はロール及び/又はヨーの角度に依存して伸縮する。質量302の変位量及び/又はスプリング306、308、310、312の伸縮量は、例えば、適切なセンサ314、316、318、320により検知され、既知又は確定可能な方法で、ピッチ及び/又はロールの加速度に依存する信号に変換される。
【0020】
質量の位置及び/又はそれに与えられる力を追跡する異なる方法が多く存在する。それらの方法は、抵抗歪みゲージ物質、光学センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどを含む。本発明の実施の形態は、任意の数及び形式のセンサを含んでもよいし、複数の形式のセンサの組み合わせを含んでもよい。センサ314、316、318、320は、質量302の上に配置されたギャップ電極であってもよい。質量とそれぞれの電極との間の容量は、質量の位置がそれぞれの電極に対して相対的に変化するにつれて変化する。それぞれの電極は、電極に対する質量302の容量(及び近接性)に関連する信号を生成する回路に接続されてもよい。さらに、スプリング306、308、310、312は、スプリングの伸縮に関連した信号を生成する抵抗歪みゲージセンサを含んでもよい。
【0021】
ある実施の形態において、フレーム304は、加速度計300がピッチ及び/又はロール及び/又はヨー軸に関して固定的な方向を維持するためにコントローラ110に搭載されたジンバルであってもよい。これによれば、現実世界の座標軸に対するコントローラの軸の傾きを考慮する必要なく、コントローラのX、Y、Z軸を、直接現実世界の対応する軸にマップすることができる。
【0022】
図3B−3Dは、加速及び/又は回転の異なる条件下でのスプリング306、308、310、312の異なる伸縮の例を示す。具体的には、図3Bは、フレーム304がY軸の周りに回転した状況を示す。質量302に作用する重量のために、スプリング306、310は伸張し、質量302はセンサ314、318に接近し、センサ316、320から遠ざかる。Y(ロール)軸に関する反対方向の回転により、同様にスプリング306、310が伸張するが、質量はセンサ316、320に接近し、センサ314、318から遠ざかる。同様に、X(ピッチ)軸に関する回転により、スプリング308、312が伸張し、質量は、回転の方向に依存するが、センサ314、316に接近し、センサ318、320から遠ざかる。
【0023】
図3Cは、フレーム304が水平面を保ったまま下方(矢印で示される)へ急激に加速された状況を示す。この状況においては、4つのスプリング306、308、310、312は全て伸張し、質量は4つのセンサ314、316、318、320の全てに接近する。図3Dでは、フレーム304は水平面を保ったまま左(矢印で示される)へ加速される。この状況においては、スプリング306、308、及び312は伸張し、スプリング310は圧縮される。質量302は、センサ314、318から遠ざかり、センサ316、320に接近する。図3Eは、フレーム304がZ(ヨー)軸の周りの角加速度を与えられ、4つのスプリング306、308、310、312の全てが伸張し、質量302が4つのセンサ314、316、318、320の全てから遠ざかる状況を示す。図3B−3Eから分かるように、異なるフレーム304の動き及び/又は方向は、特定の信号の組み合わせを生成するので、信号の組み合わせを分析することにより、フレーム304(及びコントローラ110)の方向及び/又は動きを決定することができる。
【0024】
質量302に作用する外力がない場合、質量302の安定位置からのZ軸に沿った変位は、Z軸に沿った加速度におおよそ比例する。検出器314、316、318、320は、質量302の変位に比例し、したがって、Z軸に沿ったフレーム304(及びコントローラ110)の加速度に比例した信号を生成する。同様に、センサからの信号は、X及びY軸に沿った加速度を推定するための用いられてもよい。ここで、重力が質量302に作用する場合、センサ314、316、318、320は、ゼロでない信号を生成するであろうことに留意すべきである。例えば、安定状態において、ジョイスティックコントローラにピッチ又はロールが印加されないとき、Z軸は(重力により決定される)垂直軸に一致する。重力は、質量302を、重力がない場合に仮定される位置から移動させる。変位の結果として、センサは、ゼロでない信号V0を生成する。ここでは、これを「ゼロ点」加速度信号と呼ぶ。ゼロ点加速度信号V0は、典型的には、センサ314、316、318、320からの生の信号を分析する前に、加速度計の信号Vから減じられる。
【0025】
フレーム304(及びコントローラ110)がピッチ及びロールに関して同じ方向に保たれていれば、ゼロ点加速度信号V0は一定である。しかし、ゼロ点加速度信号V0は、ピッチ及びロール軸に関する回転量に依存する。本発明の実施の形態は、ゼロ点加速度信号V0に対するピッチ及びロールの効果を考慮に入れる。例えば、図4は、Z軸に沿ったチューブ404の中で移動することを強いられた質量402を有する単一軸加速度計400に関する状況を示す。スプリング406は、チューブ404の底面において質量402に接続する。センサ408は、例えば、上述した容量センサである。チューブ404のピッチ及びロールにより、チューブ軸Zが垂直方向Z’に対して角度θ傾く(波線で示す)と、「回転された」ゼロ点加速度信号V0’は、V0及びθと以下のように関連すると考えられる。
V0’=V0cosθ
θ=90°の極端なケースにおいては、V0’=0となることに留意されたい。
【0026】
角度θは、一般に、ピッチ及びロールの角度に依存する。これらは、別個のセンサからの信号により決定されてもよい。チューブ軸Zに沿った単位ベクトルzは、加速度計の軸が垂直軸に沿った単位ベクトルz’に一致する方向などの既知の初期方向に関するピッチ及びロールの既知の絶対値から構成されてもよい。初期方向は、加速度計400から不変の信号を生成するジョイスティックコントローラの任意の方向であってもよい。単位ベクトルzとz’の内積は、それらの間の角θの余弦で与えられる。この内積は、所望の補正因子を提供するためにゼロ点信号V0に乗算され、センサ408から取得される加速度信号から減算されてもよい。
【0027】
本実施の形態のセンサにおいて、様々な種類の慣性センサ装置が、6自由度(例えば、X、Y及びZ方向の平行移動、及びX、Y及びZ軸の周りの回転)の情報を提供するために用いられてもよい。6自由度の情報を提供するために適当な慣性センサの例は、図3Aに示した種類の加速度計、1以上の単一軸加速度計、機械的なジャイロスコープ、リングレーザージャイロスコープ、又はこれらの2以上の組み合わせを含む。
【0028】
センサからの信号は、発明の方法に係るビデオゲームのプレー中に、コントローラ110の動き及び/又は方向を判定するために分析されてもよい。このような方法は、プロセッサにより読み取り可能な媒体に格納され、ディジタルプロセッサ上で実行されるプログラムコード命令を実行可能な一連のプロセッサとして実現されてもよい。例えば、図5Aに示すように、ビデオゲームシステム100は、コンソール102上にプロセッサ502を含んでもよい。プロセッサ502は、ビデオゲームコンソールに一般的に用いられる種類のマイクロプロセッサなどの任意の適当なディジタルプロセッサユニットであってもよい。プロセッサは、プロセッサ読み取り可能な命令の実行により慣性分析部504を実現してもよい。命令の一部はメモリ506に格納されてもよい。別の例では、慣性分析部504は、ASICなどのハードウェアにより実現されてもよい。このような分析部のハードウェアは、コントローラ110又はコンソール102に配置されてもよいし、他の場所に隔てて配置されてもよい。ハードウェアによる実装において、分析部504は、プロセッサ502や、USBケーブル、無線、又はネットワークにより接続された他の遠隔配置された信号源などからの外部信号に応じてプログラム可能であってもよい。
【0029】
慣性分析部504は、慣性センサ112により生成された信号を分析し、コントローラ110の位置及び/又は方向に関する情報を利用する命令を包含又は実行してもよい。例えば、図5Bのフロー図510に示すように、信号は、ブロック512に示されるように、慣性センサ112により生成されてもよい。ブロック514に示されるように、慣性センサ信号は、コントローラ110の位置及び/又は方向に関する情報を決定するために分析されてもよい。位置/及び又は方向情報は、ブロック516に示されるように、システム100においてビデオゲームのプレー中に利用されてもよい。
【0030】
ある実施の形態において、位置及び/又は方向の情報は、ゲームのプレー中に、ユーザ108により行われたジェスチャーに関連して用いられてもよい。図5Cのフロー図520に示すように、コントローラ110のパスは、ブロック522に示すように、位置及び/又は方向の情報を用いて追跡されてもよい。限定されない例において、パスは、ある座標系に関するコントローラの重心の位置を示す一連の点を含んでもよい。それぞれの位置の点は、直行座標系におけるX、Y及びZ座標など、1以上の座標により表現されてもよい。パスの形状と、パスに沿ったコントローラの進行状況の双方を監視できるようにするために、時間がパス上のそれぞれの点に関連づけられてもよい。さらに、パス上のそれぞれの点は、コントローラの方向を示すデータ、例えば、コントローラの重心に関する1以上の回転角に関連づけられてもよい。さらに、パス上のそれぞれの点は、コントローラの重心の速度及び加速度や、コントローラの重心に関する角速度及び加速度に関連づけられてもよいし、
【0031】
ブロック524に示されるように、追跡されたパスは、プレーされているビデオゲームの状況に関連した、既知及び/又は予め記録されたジェスチャー508に対応する1以上の格納されたパスと比較されてもよい。分析部504は、ユーザを認識し、又は、音響認証されたジェスチャーなどを処理することが可能に構成されてもよい。例えば、ユーザは、ジェスチャーと、ジェスチャーがユーザを特定できることを用いて、分析部504により識別されてもよい。このような特定のジェスチャーは、メモリ506に予め記録されたジェスチャー508に記録され含められてもよい。記録処理において、ジェスチャーの記録中に生成された音をさらに格納してもよい。検知された環境は、多チャンネル分析部にサンプリングされ、処理される。処理部は、ユーザ又はオブジェクトを、声又は音響パターンに基づいて、高い精度及び性能で判定し、認証し、及び/又は識別するために、ジェスチャーモデルを参照してもよい。
【0032】
図5Aに示されるように、ジェスチャーは、メモリ506に格納されてもよい。ジェスチャーの限定されない例として、例えば、ボールなどの物体を投げる、バット又はゴルフクラブなどの物体を振る、手動ポンプを動かす、ドア又は窓を開く又は閉じる、ステアリングホイール又はその他の乗物制御手段を回転させる、パンチなどの格闘技の動作、砂をまく動作、ワックスがけ、ワックスはがし、家を塗装する、振る、ガタガタ鳴らす、回す、フットボールを投げる、ノブを回す動作、3Dマウス動作、スクロール動作、既知の輪郭の動作、任意の記録可能な動作、タイヤに空気を入れるなどの任意のベクトルに沿った前後動作だが空間中の任意の回転を伴う動作、パスに沿った動作、雑音レベルの範囲内で記録され、追跡され、及び繰り返されることが可能なユーザの操作に基づく任意の正確な停止及び開始時期を持つ動作、キーをつける動作などを含む。これらのジェスチャーのそれぞれは、パスデータから予め記録され、時間に基づいたモデルとして格納されてもよい。パスと格納されたジェスチャーとの比較は、安定状態の仮定から開始してもよく、パスが安定状態から外れれば、消去プロセスにより、格納されたジェスチャーとパスを比較してもよい。ブロック526において合致がなければ、分析部504は、ブロック522においてコントローラのパスの追跡を継続してもよい。パス(又はその一部)と格納されたジェスチャーとの間に十分な合致があれば、ゲームの状態は、528に示すように変更されてもよい。ゲームの状態の変更は、割り込み、制御信号の送信、変数の変更などを含むが、これらに限定されない。
【0033】
これが起こりうる例を示す。コントローラ110がパスの安定状態から外れたと判定すると、分析部504は、コントローラ110の動作を追跡する。コントローラ110のパスが、格納されたジェスチャーモデル508において定義されたパスを満たしている限り、これらのジェスチャーは「ヒット」する可能性がある。コントローラ110のパスが任意のジェスチャーモデル508から(設定されたノイズ許容範囲で)外れると、そのジェスチャーモデルはヒットリストから消去される。それぞれのジェスチャー参照モデルは、ジェスチャーが記録された時間基準を含む。分析部504は、適切な時間インデックスにおいて、コントローラのパスデータと格納されたジェスチャー508とを比較する。安定状態条件の発生によりクロックがリセットされる。安定状態から外れたとき(すなわち、動作がノイズ閾値を超えて追跡されたとき)、ヒットリストは全ての可能性のあるジェスチャーモデルが投入される。クロックが開始され、コントローラの動きがヒットリストに比較される。再び、比較が時間の経過にしたがって行われる。ヒットリスト中のいずれかのジェスチャーが、ジェスチャーの最後まで達すると、それがヒットとなる。
【0034】
ある実施の形態において、分析部504は、特定のイベントが発生したときにゲームプログラムに通知してもよい。そのようなイベントの例は、下記を含む。
【0035】
・ゼロ加速度点到達割り込み(X、Y、及び/又はZ軸):あるゲーム状況において、分析部504は、コントローラの加速度が変曲点に達したときに、ゲームプログラム中のルーチンに通知又は割り込みをかけてもよい。例えば、ユーザ108は、フットボールシミュレーションゲームにおいてクォーターバックを表現したゲームアバターを制御するためにコントローラ110を用いてもよい。分析部504は、慣性センサ112からの信号から生成されたパスを介して、フットボールを表現するコントローラを追跡してもよい。コントローラ110の加速度の特定の変化は、フットボールのリリースの合図となってもよい。この点において、分析部は、リリース時のコントローラの位置、及び/又は速度及び/又は方向に基づいてフットボールの軌跡をシミュレートする、物理シミュレーションパッケージなどのプログラム中の別のルーチンのトリガーとなってもよい。
【0036】
・認識された新しいジェスチャーの割り込み。
【0037】
さらに、分析部504は、1以上の入力により設定されてもよい。そのような入力の例は、下記を含む。
【0038】
・ノイズレベルの設定(X、Y又はZ軸)。ノイズレベルは、ゲームにおいてユーザの手が小刻みに震えるのを分析するときに用いられる参照許容範囲であってもよい。
【0039】
・サンプリングレートの設定。ここでは、サンプリングレートとは、分析部504が慣性センサから信号をサンプリングする頻度のことをいう。サンプリングレートは、信号をオーバーサンプリングする、又は、平均化するために設定されてもよい。
【0040】
・ギアリングの設定。ここでは、ギアリングとは、一般に、コントローラの動きとゲーム内で発生する動きとの比率のことをいう。ビデオゲームの制御におけるこのような「ギアリング」の例は、米国特許出願11/382,040(2006年5月7日出願、代理人事件番号:SONYP058D)に記述されており、ここに参照として組み込まれる。
【0041】
・マッピングチェインの設定。ここでは、マッピングチェインとは、ジェスチャーモデルのマッピングのことをいう。ジェスチャーモデルマッピングは、特定の入力チャンネル(例えば、慣性センサ信号のみから生成されたパスデータ)、又は混合部において生成された混合チャンネルに適合されてもよい。慣性分析部504に類似した2以上の異なる分析部により、3つの入力チャンネルが供給されてもよい。これらは、とくに、ここに記述される慣性分析部504、例えば米国特許出願11/382,034(発明の名称:「ゲームコントローラ本体のユーザ操作を検出し追跡するための機構」、代理人事件番号:SCEA05082US00、ここに参照として組み込まれる)に記述された映像分析部、例えば米国特許出願11/381,721(ここに参照として組み込まれる)に記述された音響分析部を含んでもよい。分析部に、マッピングチェインが組み込まれてもよい。マッピングチェインは、ゲーム中にゲームによりスワップアウトされ、分析部及び混合部のために設定されてもよい。
【0042】
再び図5Bを参照して、ブロック512において、慣性センサ112から信号を生成する方法が数多くあることは、当業者に認識されるところである。いくつかの例は図3a−3Eに関連して上述した。ブロック514を参照して、コントローラ110の位置及び/又は方向に関連した情報を取得するために、ブロック512において生成された検知信号を分析する方法は数多く存在する。例えば、位置及び/又は方向の情報は、下記のパラメータを個別に又は任意の組み合わせで含んでもよい。
【0043】
・コントローラの方向。コントローラ110の方向は、ある参照方向に関するピッチ、ロール、又はヨー角に関して、例えばラジアンで表現されてもよい。コントローラの方向の変化率(例えば、角速度又は角加速度)は、位置及び/又は方向の情報に含まれてもよい。慣性センサ112がジャイロスコープのセンサを含む場合、コントローラの方向の情報は、ピッチ、ロール、又はヨー角に比例する1以上の出力値の形式で直接取得されてもよい。
【0044】
・コントローラの位置(例えば、ある参照フレームにおけるコントローラ110の直交座標X、Y、Z)。
【0045】
・コントローラのX軸速度。
【0046】
・コントローラのY軸速度。
【0047】
・コントローラのZ軸速度。
【0048】
・コントローラのX軸加速度。
【0049】
・コントローラのY軸加速度。
【0050】
・コントローラのZ軸加速度。
【0051】
位置、速度及び加速度に関して、位置及び/又は方向の情報は、直交座標系以外の座標系で表現されてもよい。例えば、位置、速度及び加速度のために、円筒座標又は旧座標が用いられてもよい。X、Y及びZ軸に関する加速度情報は、例えば図3A−3Eに関連して上述したような加速度計の形式のセンサから直接取得されてもよい。X、Y及びZ方向の加速度は、X、Y及びZ方向の速度の変化を決定するために、ある初期時からの時間に関して積分されてもよい。これらの速度は、初期時における既知のX、Y及びZ方向の速度に速度の変化分を加えることにより算出されてもよい。X、Y及びZ方向の速度は、コントローラのX、Y及びZ方向の変位を決定するために、時間に関して積分されてもよい。X、Y及びZ方向の位置は、初期時における既知のX、Y及びZ方向の位置に変位を加えることにより決定されてもよい。
【0052】
・安定状態(Y/N)。この特別な情報は、コントローラが安定状態にあるか否かを示す。この情報は、任意の位置に定義されてもよく、変更される可能性もある。好ましい実施の形態において、安定状態の位置は、だいたいユーザの腰と同じ高さにおいて、より高い又は低いレベルの方向にコントローラが保持された状態であってもよい。
【0053】
・最後の安定状態からの時間は、一般に、上記の安定状態が最後に検出されてから経過した時間に関連するデータのことである。この時間の決定は、前述したように、現実の時間において計算されてもよいし、プロセッサの周波数又はサンプリング周期において計算されてもよい。最後の安定状態からの時間のデータは、ゲーム環境におけるキャラクタ又はオブジェクトのマッピングの精度を確保するための初期位置に関するコントローラの追跡のリセットに関して重要である。このデータは、ゲーム環境においてつづいて排他的にも包括的にも実行されるであろう可能なアクション又はジェスチャーを決定することに関しても重要である。
【0054】
最後に認識されたジェスチャーは、一般に、ハードウェア又はソフトウェアにより実現されたジェスチャー認識部505により最後に認識されたジェスチャーのことである。最後に認識されたジェスチャーの識別は、前回のジェスチャーが、続いて認識される可能性のあるジェスチャー又はゲーム環境において実行されるその他のアクションに関連する可能性があるという事実に関して重要である。
【0055】
・最後にジェスチャーが認識された時間。
【0056】
上記の出力は、ゲームプログラム又はソフトウェアにより任意のタイミングでサンプリングされてもよい。
【0057】
本発明の実施の形態によれば、上述したタイプのビデオゲームシステム及び方法は、図6に示すように実現される。ビデオゲームシステム600は、プロセッサ601及びメモリ602(例えば、RAM、DRAM、ROMなど)を含んでもよい。さらに、ビデオゲームシステム600は、並列処理が実装される場合には、複数のプロセッサ601を有してもよい。メモリ602は、上述したように構成される部分を含むデータ及びゲームプログラムコード604を含む。とくに、メモリ602は、上述したコントローラの格納されたパス情報を含む慣性信号データ606を含んでもよい。メモリ602は、ゲームプログラム604に関連した1以上のジェスチャーを示すデータなど、格納されたジェスチャーデータ608を更に含んでもよい。
【0058】
システム600は、入出力(I/O)要素611、電源(P/S)612、クロック(CLK)613、及びキャッシュ614など、既知の支援機能を更に含んでもよい。装置600は、プログラム及び/又はデータを格納するために、ディスクドライブ、CD−ROMドライブ、テープドライブなどの大容量記憶装置615を含んでもよい。コントローラは、コントローラ600とユーザの間のインタラクションを容易にするために、表示ユニット616及びユーザインタフェースユニット618を更に含んでもよい。表示ユニット616は、テキスト、数字、表示シンボル、又は画像を表示するブラウン管(CRT)又は平面ディスプレイの形式であってもよい。ユーザインタフェース618は、キーボード、マウス、ジョイスティック、ライトペン、又は他のデバイスを含んでもよい。さらに、ユーザインタフェース618は、分析すべき信号を直接取得するために、マイクロフォン、ビデオカメラ、又は他の信号変換デバイスを含んでもよい。図6に示すように、プロセッサ601、メモリ602、及び他のシステム600の構成要素は、システムバス620を介して相互に信号(例えば、コード命令及びデータ)を交換してもよい。
【0059】
マイクロフォン配列622は、入出力機能611を介してシステム600に接続されてもよい。マイクロフォン配列は、約2から8、好ましくは約4のマイクロフォンを含んでもよく、隣接するマイクロフォンは、約4センチメートル以下、好ましくは約1から2センチメートルの距離で分離されてもよい。配列622中のマイクロフォンは、無指向性マイクロフォンであることが好ましい。任意に設けられた画像取得ユニット623(例えば、ディジタルカメラ)は、入出力機能611を介して装置600に接続されてもよい。カメラに機械的に接続された1以上のポインティングアクチュエータ(P/A)625は、入出力機能611を介してプロセッサ601との間で信号を交換してもよい。
【0060】
ここでは、入出力という語は、一般に、システム600から又はシステム600へ、及び、周辺装置から又は周辺装置へデータを転送する任意のプログラム、演算、又はデバイスのことを言う。全てのデータは、1つの装置から出力され、別の装置へ入力されるとみなされてもよい。周辺装置は、書き込み可能なCD−ROMなど入出力の双方が可能な装置だけでなく、キーボードやマウスなどの入力装置や、プリンタなどの出力装置も含む。「周辺装置」という語は、CD−ROMドライブ、CD−Rドライブ、内蔵モデム、又は、フラッシュメモリリーダ/ライタ、ハードディスクなどの他の周辺装置などの内部装置だけでなく、マウス、キーボード、プリンタ、モニタ、マイクロフォン、ゲームコントローラ、カメラ、外部Zipドライブ、又はスキャナなどの外部装置も含む。
【0061】
本発明のある実施の形態において、装置600は、有線(例えばUSBケーブル)又は無線により入出力機能611を介してプロセッサに接続されたコントローラ630を含むビデオゲームユニットであってもよい。ある実施の形態において、ジョイスティックコントローラ630はユーザの体に装着可能であってもよい。コントローラ630は、ビデオゲームのプレー中に一般的に用いられる制御信号を提供するアナログジョイスティック631及び従来のボタン633を有してもよい。このようなビデオゲームは、プロセッサにより読み取り可能なデータ、及び/又は、メモリ602や大容量記憶装置615などに関連づけられたものなど他のプロセッサ読み取り可能な媒体に格納されたプログラム604からの命令により実現されてもよい。
【0062】
ジョイスティック631は、一般に、スティックを左右に動かすとX軸に沿った動作を示し、前後又は上下に動かすとY軸に沿った動作を示すように構成される。3次元の動作のために構成されたジョイスティックにおいて、スティックを左(反時計回り)又は右(時計回り)にねじると、Z軸に沿った動作を示すようにしてもよい。これらのX、Y、及びZの3軸は、しばしば、とくに飛行機に関連して、それぞれ、ロール、ピッチ、及びヨーと呼ばれる。
【0063】
コントローラ630は、従来の特徴に加えて、位置及び/又は方向の情報を慣性信号を介してプロセッサ601に提供する1以上の慣性センサ632を含んでもよい。方向情報は、コントローラ630の傾き、ロール、又はヨーなどの角度情報を含んでもよい。例えば、慣性センサ632は、任意の数及び/又は組み合わせの加速度計、ジャイロスコープ、又は傾きセンサを含んでもよい。好適な実施の形態において、慣性センサ632は、傾き及びロール軸に関するジョイスティックコントローラの方向を検知するための傾きセンサ、ヨー軸に沿った加速度を検知するための第1の加速度計、及び、ヨー軸に関する角加速度を検知するための第2の加速度計を含む。加速度計は、例えば、1以上のスプリングにより搭載された質量と、1以上の方向に関する質量の変位を検知するためのセンサを含むMEMSデバイスとして実現されてもよい。質量の変位に依存したセンサからの信号は、ジョイスティックコントローラ630の加速度を決定するために用いられてもよい。このような技術は、メモリ602に格納され、プロセッサ601により実行されるゲームプログラム604からの命令により実現されてもよい。
【0064】
例えば、慣性センサ632に適した加速度計は、例えばスプリングによりフレームに3又は4点で弾性的に結合された単純な質量であってもよい。ピッチ及びロール軸は、ジョイスティックコントローラ630に搭載されたフレームに交差する平面にある。フレーム(及びジョイスティックコントローラ630)がピッチ及びロール軸の周りで回転すると、質量は重力の影響下で変位し、スプリングはピッチ及び/又はロール軸に依存するように伸縮する。質量の変位が検知され、ピッチ及び/又はロールの量に依存する信号に変換される。ヨー軸の周りの角加速度又はヨー軸に沿った直線加速度も、検知され、ピッチ及び/又はロールの量に依存する信号に変換されるスプリングの伸縮又は質量の動きの特徴的なパターンを生成することがある。このような加速度計は、質量の動き又はスプリングの伸縮力を追跡することにより、ヨー軸の周りの傾き、ロール角加速度、及びヨー軸に沿った直線加速度を測定することができる。質量の位置及び/又はそれに及ぼされる力を追跡する方法は、抵抗ひずみゲージ物質、光センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなど、数多く存在する。ある実施の形態において、慣性センサ632は、ジョイスティックコントローラ630の「本体」に着脱可能に搭載されてもよい。
【0065】
さらに、ジョイスティックコントローラ630は、発光ダイオード(LED)などの1以上の光源634を含んでもよい。光源634は、コントローラを他のコントローラと区別するために用いられてもよい。例えば、1以上のLEDにより、LEDパターンコードを点滅又は持続させることにより、これを達成することができる。例えば、5つのLEDを直線又は2次元パターンでコントローラ630に設けてもよい。LEDを直線的に配列させることが好ましいが、画像取得ユニット623により取得されたLEDのパターンの画像を解析する際にLEDの像平面の決定を容易にするために、LEDを矩形又はアーチ形のパターンに配列してもよい。さらに、LEDパターンコードは、ゲームプレー中にジョイスティックコントローラ630の位置を決定するために用いられてもよい。例えば、LEDは、コントローラの傾き、ヨー、及びロールを特定するのに役立つ。この検出パターンは、航空機飛行ゲームなどのゲームにおいて、ユーザの使用感を向上させるのに役立つ。画像取得ユニット623は、ジョイスティックコントローラ630及び光源634を含む画像を取得してもよい。このような画像の分析により、ジョイスティックコントローラの位置及び/又は方向を決定することができる。このような分析は、メモリ602に格納されプロセッサ601により実行されるプログラムコード命令604により実現されてもよい。画像取得ユニット623による光源634の画像の取得を容易にするために、光源634は、ジョイスティックコントローラ630の2以上の異なる側面、例えば、表と裏(波線で示される)に配置されてもよい。このような配置により、画像取得ユニット623は、ジョイスティックコントローラ630がユーザによりどのように把持されるかに依存して、ジョイスティックコントローラ630の方向が異なっても、光源634の画像を取得することができる。
【0066】
さらに、光源634は、例えばパルスコード、振幅変調、又は周波数変調などの方式で、プロセッサ601に対して遠隔計測信号を提供してもよい。このような遠隔計測信号は、どのジョイスティックボタンが押されたか、及び/又は、そのボタンがどのくらい強く押されたかを示してもよい。遠隔計測信号は、パルスコード、パルス幅変調、周波数変調、光度(振幅)変調などにより、光信号にエンコードされてもよい。プロセッサ601は、光信号から遠隔計測信号をデコードし、デコードされた遠隔計測信号に応じて、ゲームコマンドを実行してもよい。遠隔計測信号は、画像取得ユニット623により取得されたジョイスティックコントローラ630の画像の分析からデコードされてもよい。または、装置600は、光源634から遠隔計測信号を受信するために設けられた別の光学センサを含んでもよい。コンピュータプログラムと連動して強度を決定するためにLEDを用いることは、例えば、米国特許出願11/429,414(発明者:リチャード・L・マークスら、発明の名称:「コンピュータプログラムと連動した強度及び入力装置のコンピュータ画像音声処理」、代理人事件番号:SONYP052)に記述されており、ここに参照として組み込まれる。さらに、光源634を含む画像の解析は、遠隔計測と、ジョイスティックコントローラ630の位置及び/又は方向の決定の双方に用いられてもよい。このような技術は、メモリ602に格納されプロセッサ601により実行されるプログラム604の命令により実現されてもよい。
【0067】
プロセッサ601は、コントローラ630及び/又はそのユーザの位置及び/又は方向に関する情報を推定するために、画像取得ユニット623により検出された光源634からの光学信号及び/又はマイクロフォン配列622により検出された音響信号からの音源位置及び特徴情報と併用して、慣性センサ632からの慣性信号を用いてもよい。例えば、ジョイスティックコントローラの動きが(慣性センサ632及び/又は光源634により)独立して追跡される間、音声の動きを追跡するために、マイクロフォン配列622と併用して、光源位置及び特徴を検出する「音波レーダー」が用いられてもよい。音響レーダーにおいて、予め較正された聴取領域が実行時に選択され、予め較正された聴取領域外の音源から発せられる音声は除去される。予め較正された聴取領域は、画像取得ユニット623の焦点のボリューム又は視野に対応する聴取領域を含んでもよい。音響レーダーの例は、米国特許出願11/381,724(発明者:シャドン・マオ、発明の名称:「対象となる音声の検出及び特徴化方法及び装置」、出願日:2006年5月4日)に詳細に記述されており、ここに参照として組み込まれる。プロセッサ601に制御信号を提供する異なる態様の、任意の数の異なる組み合わせが、本発明の実施の形態に関連して用いられてもよい。このような技術は、メモリ602に格納されプロセッサ601により実行されるプログラムコード命令604により実現されてもよく、予め較正された聴取領域を実行時に選択し、予め較正された聴取領域外の音源から発せられる音声を除去するように、1以上のプロセッサに対して指示する1以上の命令を含んでもよい。予め較正された聴取領域は、画像取得ユニット623の焦点のボリューム又は視野に対応する聴取領域を含んでもよい。
【0068】
プログラム604は、マイクロフォン配列622のマイクロフォンM0〜MMからの離散時間領域入力信号xm(t)を生成し、聴取領域を決定し、入力信号xm(t)から異なる音源を分離するための有限インパルス応答フィルタ係数を選択するためのセミブラインド音源分離に聴取領域を用いるために、1以上のプロセッサに対して指示する1以上の命令を含んでもよい。プログラム604は、参照マイクロフォンM0からの入力信号x0(t)以外の選択された入力信号xm(t)に対して、1以上の部分的遅延を適用するための命令を含んでもよい。それぞれの部分的遅延は、マイクロフォン配列からの離散時間領域出力信号y(t)のノイズ比に対して信号を最適化するために選択されてもよい。部分的遅延は、参照マイクロフォンM0からの信号が、配列の他のマイクロフォンからの信号に比べて、時間的に最初になるように選択されてもよい。プログラム604は、部分的時間遅延Δを下記のようにマイクロフォン配列の出力信号y(t)に導入するための命令を含んでもよい。
y(t+Δ)=x(t+Δ)*b0+x(t-1+Δ)*b1+x(t-2+Δ)*b2+…+x(t-N+Δ)bN
ただし、Δは0と±1の間
このような技術の例は、米国特許出願11/381,729(発明者:シャドン・マオ、発明の名称:「超小型マイクロフォン配列」、出願日:2006年5月4日)に記述されており、ここに参照として組み込まれる。
【0069】
プログラム604は、実行時にシステム600に音源を含む予め較正された聴取領域を選択させるための1以上の命令を含んでもよい。このような命令は、音源が初期領域の範囲内又は初期領域の特定の側にあるか否かを装置に決定させてもよい。音源が初期設定の領域の範囲内にない場合、命令は、実行時に、初期設定の範囲の特定の側にある異なる領域を選択してもよい。異なる領域は、最適値に最も近い入力信号の減衰により特徴づけられてもよい。これらの命令は、実行時に、マイクロフォン配列622からの入力信号の減衰と、最適値への減衰を算出してもよい。命令は、実行時に、装置600に、1以上の領域の入力信号の減衰値を決定し、減衰が最適値に最も近い領域を選択させてもよい。このような技術の例は、米国特許出願11/381,725(発明者:シャドン・マオ、発明の名称:「対象音声検出方法及び装置」、出願日:2006年5月4日)に記述されており、ここに参照として組み込まれる。
【0070】
慣性センサ632からの信号は、追跡情報入力の一部を提供し、1以上の光源634の追跡から画像取得ユニット623により生成される信号は、追跡情報入力の別の一部を提供してもよい。このような「混合方式」の信号は、例えば、フットボール形式のビデオゲームにおいて、クォーターバックが頭を左に動かしてフェイクした後にボールを右に投げる場合などに用いられてもよい。具体的には、コントローラ630を把持するゲームプレイヤーは、頭を左に動かして、コントローラを右に振ってフットボールであるかのように投げる動作をしながら音声を発生させてもよい。「音響レーダー」プログラムコードに連動したマイクロフォン配列622は、ユーザの声を追跡することができる。画像取得ユニット623は、ユーザの頭の動きを追跡し、又は、音声又はコントローラの使用を必要としない他のコマンドを追跡することができる。センサ632は、ジョイスティックコントローラ(フットボールを表現する)の動きを追跡してもよい。画像取得ユニット623は、コントローラ632上の光源634を更に追跡してもよい。ユーザは、ジョイスティックコントローラ630の加速度が特定の量及び/又は方向に達したとき、又は、コントローラ630上のボタンを押下することによりキーコマンドが発生したときに、「ボール」を離すことができる。
【0071】
本発明のある実施の形態において、例えば加速度計又はジャイロスコープからの慣性信号は、コントローラ630の位置を決定するために用いられてもよい。具体的には、加速度計からの加速度信号は、速度の変化を決定するために、いったん時間に関して積分されてもよく、速度は、位置の変化を決定するために時間に関して積分されてもよい。ある時点での初期状態の位置及び速度の値が既知である場合、これらの値と、速度及び位置の変化量を用いて、絶対位置を決定することができる。慣性センサを用いた位置決定は、画像取得ユニット623及び光源634を用いるよりも、より高速に実行できるが、慣性センサ632は、誤差が時間とともに蓄積され、慣性信号から算出されたジョイスティック631の位置(波線で示される)と、ジョイスティックコントローラ630の現実の位置との間の不一致Dが生じる「ドリフト」と呼ばれる一種のエラーの影響を受けやすい。本発明の実施の形態は、このようなエラーに対処するための多くの方法を可能とする。
【0072】
例えば、コントローラ630の初期位置を、現在の算出された位置に等しくなるようにリセットすることにより、ドリフトを手動でキャンセルすることができる。ユーザは、初期位置をリセットするためのコマンドのトリガとして、コントローラ630上の1以上のボタンを用いることができる。または、画像ベースのドリフトは、現在位置を、画像取得ユニット623から取得された画像から決定された位置を参照としてリセットすることにより実行されてもよい。このような画像ベースのドリフト補償は、ユーザがジョイスティックコントローラ630の1以上のボタンを始動したときなどに、手動で実行されてもよい。または、画像ベースのドリフト補償は、例えば定期的に又はゲームプレーに応じて、自動的に実行されてもよい。このような技術は、メモリ602に格納されプロセッサ601により実行されるプログラムコード命令604により実現されてもよい。
【0073】
ある実施の形態において、慣性センサ信号における誤ったデータを補正することが望ましい。例えば、慣性センサ632からの信号はオーバーサンプリングされてもよく、慣性センサ信号から誤ったデータを除去するために、オーバーサンプリングされた信号から移動平均(スライディング平均)を算出してもよい。ある状況において、信号をオーバーサンプリングし、データ点の部分集合から高い及び/又は低い値を除去し、残ったデータ点から移動平均を算出することが望ましい。さらに、データのオーバーサンプリング及び取扱技術は、誤ったデータの重要性を除去又は低減するために、慣性センサからの信号を調整するために用いられてもよい。技術の選択は、信号の種類、信号に対して実行すべき演算、ゲームプレーの種類、又はこれらの2以上の組み合わせに依存してもよい。これらの技術は、メモリ602に格納されプロセッサ601により実行されるプログラム604の命令により実現されてもよい。
【0074】
プロセッサ601は、上述したように、データ606と、メモリ602に格納され、取得され、プロセッサモジュール601により実行されるプログラム604のプログラムコード命令とに応じて、慣性信号データ606の分析を行ってもよい。プログラム604のコードの一部は、アセンブラ、C++、JAVA(登録商標)、又はその他の多くの言語などの異なる多くのプログラミング言語のいずれかに準拠してもよい。プロセッサモジュール601は、汎用コンピュータを構成する。それは、プログラムコード604などのプログラムを実行するときには、特定の目的のコンピュータとなる。ここでは、プログラムコード604が、汎用コンピュータ上で実行されるソフトウェアとして実現される場合について説明したが、ASICやその他のハードウェア回路などのハードウェアを用いもタスク管理の方法が実現できることは、当業者に理解されるところである。同様に、本発明の実施の形態の一部又は全部が、ソフトウェア、ハードウェア、又はそれらの組み合わせにより実現できることも理解されるところである。
【0075】
ある実施の形態において、プログラムコード604は、図5Bの方法510及び図5Cの方法520又はそれらの2以上の組み合わせと同様の特徴を有する方法を実現するプロセッサ読み取り可能な命令のセットを含んでもよい。プログラムコード604は、一般に、1以上のプロセッサに、慣性センサ632からの信号を分析して位置及び/又は方向の情報を生成し、ビデオゲームのプレー中にその情報を利用するよう指示する1以上の命令を含んでもよい。
【0076】
プログラムコード604は、実行時に画像取得ユニット623に画像取得ユニット623の前の視野を監視させ、視野内の1以上の光源634を識別させ、光源634から発せられる光の変化を検知させ、変化を検知したときにプロセッサ601に入力コマンドを引き起こす1以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。ゲームコントローラにおけるアクションを誘発するための画像取得装置に関連したLEDの使用は、米国特許出願10/759,782(発明者:リチャード・L・マークス、出願日:2004年1月16日、発明の名称:「光入力デバイスのための方法及び装置」)に記述されており、ここに参照として組み込まれる。
【0077】
プログラムコード604は、実行時に慣性センサからの信号と、1以上の光源を追跡することにより画像取得ユニットから生成された信号とを、上述したようにゲームシステムに対する入力として用いる1以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。プログラムコード604は、実行時に慣性センサ632におけるドリフトを補償する1以上の命令を含むプロセッサ読み取り可能な命令を更に含んでもよい。
【0078】
本発明の実施の形態において、ビデオゲームコントローラ630に関する例について説明したが、システム600を含む本発明の実施の形態は、ユーザにより操作される本体、モデリングされたオブジェクト、ノブ、構造体などに対して、慣性検知機能及び慣性センサ信号送信機能とともに、無線又は別の方法で用いられてもよい。
【0079】
例えば、本発明の実施の形態は、並列処理システム上で実行されてもよい。このような並列処理システムは、典型的には、別々のプロセッサにおいてプログラムの一部を並列に実行するように構成された2以上のプロセッサ要素を含む。限定されない例として、図7は、本発明の実施の形態に係るセルプロセッサ700の一種を示す。セルプロセッサ700は、図6のプロセッサとして用いられてもよいし、図5Aのプロセッサ502として用いられてもよい。図7に示した例において、セルプロセッサ700は、メインメモリ702、PPE(power processor element)704、及び複数のSPE(synergistic processor element)706を含む。図7に示した例では、セルプロセッサ700は、一つのPPE704と8つのSPE706を含む。このような構成において、7つのSPE706は並列処理のための用いられ、1つは他の7つのいずれかが機能しなくなったときのバックアップとしてリザーブされてもよい。または、セルプロセッサは、複数のグループのPPE(PPEグループ)及び複数のグループのSPE(SPEグループ)を含んでもよい。この場合、ハードウェアリソースは、グループ内の単位の間で共有されてもよい。しかし、SPE及びPPEは、独立した要素としてソフトウェアとみなされなければならない。本発明の実施の形態は、図7に示した構成により利用されることに限定されない。
【0080】
メインメモリ702は、典型的には、システム設定、データ転送の同期、メモリにマップされた入出力、及び入出力サブシステムなどの機能のために用いられる特定目的のハードウェアレジスタ又は配列だけでなく、汎用かつ不揮発性の記憶装置を含む。本発明の実施の形態において、ビデオゲームプログラム703は、メインメモリ702に常駐されてもよい。メモリ702は、信号データ709を含んでもよい。ビデオプログラム703は、図5A、5B、又は5Cに関連して上述したように構成された分析部又はこれらのいくつかの組み合わせを含んでもよい。プログラム703は、PPE上で実行されてもよい。プログラム703は、SPE及び/又はPPE上で実行可能な複数の信号処理タスクに分割されてもよい。
【0081】
例えば、PPE704は、キャッシュL1及びL2が結合された64ビットPPU(PowerPC Processor Unit)であってもよい。PPE704は、メモリ保護テーブルなどのシステム管理リソースにアクセス可能な汎用処理ユニットである。ハードウェアリソースは、PPEが参照できるように、実アドレス空間に明示的にマップされてもよい。したがって、PPEは、適切な有効アドレス値を用いて、任意のこれらのリソースをアドレス指定することができる。PPE704の主機能は、セルプロセッサ706のSPE706のためのタスクの管理及び割り当てである。
【0082】
図7には1つのPPEのみが示されているが、セルブロードバンドエンジンアーキテクチャー(cell broadband engine architecture:CBEA)などのセルプロセッサの実装においては、セルプロセッサ700は、1以上のPPEグループにまとめられた複数のPPEを有してもよい。これらのPPEグループは、メインメモリ702に対するアクセスを共有してもよい。さらに、セルプロセッサ700は、2以上のSPEグループを含んでもよい。SPEグループも、メインメモリ702に対するアクセスを共有してもよい。このような構成は、本発明の範囲内である。
【0083】
それぞれのSPE706は、SPU(synergistic processor unit)及びそれ自身のローカル格納領域LSを含む。ローカル格納領域LSは、それぞれが特定のSPUに関連づけられた1以上の分割されたメモリの領域を含んでもよい。それぞれのSPUは、それ自身に関連づけられたローカル格納領域内からの命令(データロード及びデータストア命令を含む)のみを実行するように構成されてもよい。このような構成において、ローカル格納領域LSとシステム700の他の構成との間のデータ転送は、(個々のSPEの)ローカル格納領域へ又はローカル格納領域から転送するためのメモリフローコントローラ(MFC)からのDMA(direct memory access)コマンドを発行することにより実行されてもよい。SPUは、システム管理機能を実行しない点において、PPE704よりも複雑ではない計算ユニットである。SPUは、一般に、1回の命令で複数データに対する処理を同時に行う機能(SIMD)を有し、典型的には、割り当てられたタスクを実行するために、データを処理し、要求された任意のデータ転送を(PPEにより設定されたプロパティにアクセスすることを前提として)起動する。SPUの目的は、より高い計算ユニットの密度を要求し、提供された命令セットを効率的に用いることができるアプリケーションを可能とすることにある。PPE704により管理されるシステムにおける多数のSPEにより、広範囲のアプリケーションにわたって費用効率の高い処理が可能となる。
【0084】
それぞれのSPE706は、メモリ保護情報及びアクセス許可情報を保持し処理することが可能なメモリ管理ユニットを含む専用のメモリフローコントローラ(MFC)を含んでもよい。MFCは、セルプロセッサのメインストレージとSPEのローカルストレージとの間のデータ転送、保護、及び同期のための主要な方法を提供する。MFCコマンドは、実行されるべき転送を表現する。データを転送するためのコマンドは、MFCダイレクトメモリアクセス(DMA)コマンド(MFCDMAコマンド)とも呼ばれる。
【0085】
それぞれのMFCは、複数のDMA転送を同時にサポートし、複数のMFCコマンドを保持し処理することができる。それぞれのMFC・DMAデータ転送コマンドリクエストは、ローカルストレージアドレス(LSA)と有効アドレス(EA)の双方を含んでもよい。ローカルストレージアドレスは、関連づけられたSPEのローカル格納領域のみを直接アドレス指定してもよい。有効アドレスは、より一般的なアプリケーションを有してもよく、例えば、実アドレス空間にエイリアスされている限り全てのSPEローカル格納領域を含むメインストレージを参照可能であってもよい。
【0086】
SPE706間及び/又はSPE706とPPE704との間の通信を容易にするために、SPE706及びPPE704は、信号伝達イベントに関係する信号通知レジスタを含んでもよい。PPE704及びSPE706は、PPE704がSPE706にメッセージを送信するためのルータとして機能するスター型トポロジーにより接続されてもよい。または、それぞれのSPE706及びPPE704は、メールボックスとして参照される一方向の信号通知レジスタを有してもよい。メールボックスは、オペレーティングシステム(OS)の同期のために用いられてもよい。
【0087】
セルプロセッサ700は、セルプロセッサ700がマイクロフォン配列712、画像取得ユニット713及びゲームコントローラ730などの周辺装置とインタフェースをとることが可能な入出力(I/O)機能708を含んでもよい。ゲームコントローラユニットは、慣性センサ732及び光源734を含んでもよい。さらに、要素相互接続バス710が上述した種々のコンポーネントを接続してもよい。それぞれのSPE及びPPEは、バスインタフェースユニットBIUを介してバス710にアクセス可能である。セルプロセッサ700は、プロセッサに典型的に見られる、バス710とメインメモリ710との間でデータのフローを制御するメモリインタフェースコントローラMICと、I/O708とバス710との間でデータのフローを制御するバスインタフェースコントローラBICの2つのコントローラを更に含んでもよい。MIC、BIC、BIU及びバス710の要件は、異なる実装において大きく異なりうるが、それらの機能及び実装のための回路は、当業者によく知られるところである。
【0088】
セルプロセッサ700は、内部割り込みコントローラIICを更に含んでもよい。IICコンポーネントは、PPEに伝達される割り込みの優先度を管理する。IICにより、セルプロセッサ700の他のコンポーネントからの割り込みを、メインシステム割り込みコントローラを用いることなく扱うことができる。IICは、第2のレベルのコントローラとみなされてもよい。メインシステム割り込みコントローラは、セルプロセッサの外部からの割り込みを扱ってもよい。
【0089】
本発明の実施の形態において、上述した部分的遅延などの特定の計算は、PPE704及び/又は1以上のSPE706を用いて並列して実行されてもよい。それぞれの部分的遅延計算は、異なるSPE706が実行可能となるように1以上に分割されたタスクとして実行されてもよい。
【0090】
上記は、本発明の好ましい実施の形態の完全な説明であるが、種々の代替、修正及び等価物を用いることができる。したがって、本発明の範囲は、上記の説明を参照して決定されるべきではなく、添付された特許請求の範囲をそれらと等価な範囲の全てとともに参照して決定されるべきである。ここで記述される全ての特徴は、好ましいか否かにかかわらず、ここで記述される他の全ての特徴に結合されてもよい。特許請求の範囲において、不定冠詞に続くものは、別段の明示がない限り、1以上の事項の数量をさす。添付された特許請求の範囲は、「〜するための手段」という語句を用いて明示的に限定されない限り、ミーンズプラスファンクションの限定を含むものと解釈されるべきではない。
【特許請求の範囲】
【請求項1】
ビデオゲームシステムのコントローラを追跡するための方法であって、
前記ビデオゲームシステムのコントローラ上に配置された慣性センサから1以上の信号を生成するステップと、
前記コントローラの位置及び/又は方向の情報を決定するために前記1以上の信号を分析するステップと、
前記ビデオゲームシステムにおいてビデオゲームのプレー中に前記位置及び/又は方向の情報を利用するステップと、
を備えることを特徴とする方法。
【請求項2】
前記1以上の信号は、1以上の方向に関する前記コントローラの平行移動の加速度に関連する信号を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記1以上の信号を分析するステップは、速度信号を生成するために、平行移動の加速度信号又は前記平行移動の加速度信号から生成されるデータを時間に関して積分するステップを含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記1以上の信号を分析するステップは、変位信号を生成するために、前記平行移動の加速度信号又は前記平行移動の加速度信号から生成されるデータを時間に関して2階積分するステップを含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記1以上の信号は、ピッチ又はヨー軸に関する前記コントローラの回転に関連する信号を含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記ビデオゲームシステムにおいて前記ビデオゲームのプレー中に前記位置及び/又は方向の情報を利用するステップは、前記位置及び/又は方向の情報から前記コントローラのパスを決定するステップを含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記コントローラのパスを、1以上の既知のジェスチャーと比較するステップを更に備えることを特徴とする請求項6に記載の方法。
【請求項8】
前記コントローラのパス又はその一部が1以上の既知のジェスチャーに一致する場合、前記ビデオゲームの状態を変更するステップを更に備えることを特徴とする請求項7に記載の方法。
【請求項9】
システムへの入力の提供に用いられる方法であって、
前記システムのコントローラ上に配置された慣性センサから1以上の信号を生成するステップと、
前記コントローラの位置及び/又は方向の情報を決定するために前記1以上の信号を分析するステップと、
決定された位置及び/又は方向の情報と、1以上のコマンドに関連づけられた既定の位置情報とを比較するステップと、
決定された位置及び/又は方向の情報が、コマンドのための既定の位置情報に合致する場合、前記システムの状態を変更するステップと、
を備えることを特徴とする方法。
【請求項10】
ゲームコントローラであって、
本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記本体に取り付けられた少なくとも1つの入力装置と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、
を備えることを特徴とするゲームコントローラ。
【請求項11】
信号エンコーダと、
前記信号エンコーダからの信号を用いて、大気を介して赤外線信号を送信可能な赤外線信号送信部と、を更に備え、
前記信号エンコーダは、赤外線受信機と、選択された1つの信号コードにより動作可能な信号デコーダとを有する電子機器による受信のために、複数の信号コードのうち選択された1つにより信号をエンコードするようプログラム可能であることを特徴とする請求項10に記載のゲームコントローラ。
【請求項12】
前記本体は、手で把持可能なハウジングを含み、
前記入力装置は、前記ユーザからの入力を登録するために、前記ゲームコントローラの前記本体に対してユーザにより移動可能な要素を含む
ことを特徴とする請求項10に記載のゲームコントローラ。
【請求項13】
前記ハウジングは、手で握持可能な握りを含むことを特徴とする請求項12に記載のゲームコントローラ。
【請求項14】
前記ゲームコントローラの前記本体は、ユーザの体に装着可能であることを特徴とする請求項10に記載のゲームコントローラ。
【請求項15】
前記慣性センサは、第1の軸に沿った前記本体の動きの第1の成分を定量化するための情報を生成可能であることを特徴とする請求項10、及び12から14のいずれかに記載のゲームコントローラ。
【請求項16】
前記慣性センサは、前記第1の軸に直交する第2の軸に沿った前記動きの第2の成分を定量化するための情報を生成可能であることを特徴とする請求項15に記載のゲームコントローラ。
【請求項17】
前記慣性センサは、前記第1の軸及び前記第2の軸に直交する第3の軸に沿った前記動きの第3の成分を定量化するための情報を生成可能であることを特徴とする請求項16に記載のゲームコントローラ。
【請求項18】
前記慣性センサは、少なくとも1つの加速度計を含むことを特徴とする請求項15から17のいずれかに記載のゲームコントローラ。
【請求項19】
前記慣性センサは、少なくとも1つの機械的ジャイロスコープを含むことを特徴とする請求項15から17のいずれかに記載のゲームコントローラ。
【請求項20】
前記慣性センサは、少なくとも1つのレーザージャイロスコープを含むことを特徴とする請求項19に記載のゲームコントローラ。
【請求項21】
前記慣性センサは、少なくとも3つの自由度における前記本体の動きを定量化するための情報を生成可能であることを特徴とする請求項10に記載のゲームコントローラ。
【請求項22】
前記少なくとも3つの自由度は、ピッチ、ヨー及びロールを含むことを特徴とする請求項21に記載のゲームコントローラ。
【請求項23】
前記少なくとも3つの自由度は、それぞれ互いに直交するx軸、y軸及びz軸を含むことを特徴とする請求項21に記載のゲームコントローラ。
【請求項24】
前記慣性センサは、前記3つの自由度と、ピッチ、ヨー及びロールを含む6つの自由度における前記動きを定量化することが可能であることを特徴とする請求項23に記載のゲームコントローラ。
【請求項25】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも1つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項15から24のいずれかに記載のゲームコントローラ。
【請求項26】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項25に記載のゲームコントローラ。
【請求項27】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項26に記載のゲームコントローラ。
【請求項28】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項26に記載のゲームコントローラ。
【請求項29】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項28に記載のゲームコントローラ。
【請求項30】
請求項25に記載のゲームコントローラを含み、
ユーザが操作可能な前記入力装置を介した入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備え、
前記プロセッサは、前記一連のサンプルを用いて前記本体の速度を決定可能であることを特徴とする装置。
【請求項31】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項30に記載の装置。
【請求項32】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項30に記載の装置。
【請求項33】
前記プロセッサは、以前に決定された位置に対する前記変位を決定することにより、前記本体の空間における位置を決定可能であることを特徴とする請求項30に記載の装置。
【請求項34】
ユーザが双方向型ゲームをプレーすることを可能とするためのゲームプログラムのプロセッサによる実行を制御するための情報を取得するときに用いられる追跡装置であって、
本体と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、
を備えることを特徴とする追跡装置。
【請求項35】
前記本体は、ゲームコントローラに搭載可能であり、
前記ゲームコントローラは、
ゲームコントローラ本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記ゲームコントローラ本体に取り付けられた少なくとも1つの入力装置とを含む
ことを特徴とする請求項34に記載の追跡装置。
【請求項36】
請求項35に記載の追跡装置及びゲームコントローラを含む装置。
【請求項37】
前記追跡装置の前記本体は、ユーザの体に装着可能であることを特徴とする請求項34に記載の追跡装置。
【請求項38】
前記慣性センサは、第1の軸に沿った前記本体の動きの第1の成分を定量化するための情報を生成可能であることを特徴とする請求項34、36及び37のいずれかに記載の追跡装置。
【請求項39】
前記慣性センサは、前記第1の軸に直交する第2の軸に沿った前記動きの第2の成分を定量化するための情報を生成可能であることを特徴とする請求項38に記載の追跡装置。
【請求項40】
前記慣性センサは、前記第1の軸及び前記第2の軸に直交する第3の軸に沿った前記動きの第3の成分を定量化するための情報を生成可能であることを特徴とする請求項39に記載の追跡装置。
【請求項41】
前記慣性センサは、少なくとも1つの加速度計を含むことを特徴とする請求項38から40のいずれかに記載の追跡装置。
【請求項42】
前記慣性センサは、少なくとも1つの機械的ジャイロスコープを含むことを特徴とする請求項38から40のいずれかに記載の追跡装置。
【請求項43】
前記慣性センサは、少なくとも1つのレーザージャイロスコープを含むことを特徴とする請求項42に記載の追跡装置。
【請求項44】
前記慣性センサは、少なくとも3つの自由度における前記本体の動きを定量化するための情報を生成可能であることを特徴とする請求項34に記載の追跡装置。
【請求項45】
前記少なくとも3つの自由度は、ピッチ、ヨー及びロールを含むことを特徴とする請求項44に記載の追跡装置。
【請求項46】
前記少なくとも3つの自由度は、それぞれ互いに直交するx軸、y軸及びz軸を含むことを特徴とする請求項45に記載の追跡装置。
【請求項47】
前記慣性センサは、前記3つの自由度と、ピッチ、ヨー及びロールを含む6つの自由度における前記動きを定量化することが可能であることを特徴とする請求項46に記載の追跡装置。
【請求項48】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも1つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項38から47のいずれかに記載の追跡装置。
【請求項49】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項48に記載の追跡装置。
【請求項50】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項49に記載の追跡装置。
【請求項51】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項48に記載の追跡装置。
【請求項52】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項51に記載の追跡装置。
【請求項53】
請求項48に記載の追跡装置を含み、
前記慣性センサにより生成された情報を処理することにより取得された入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備えることを特徴とする装置。
【請求項54】
前記プロセッサ及び前記ゲームコントローラのうちいずれか、又は前記プロセッサ及び前記ゲームコントローラの双方との間でディジタル通信を実行可能な通信インタフェースを更に備えることを特徴とする請求項34から36のいずれかに記載の追跡装置。
【請求項55】
前記通信インタフェースは、汎用非同期送受信回路(Universal Asynchronous Receiver Transmitter:UART)を含むことを特徴とする請求項54に記載の追跡装置。
【請求項56】
前記汎用非同期送受信回路は、当該追跡装置の動作を制御するための制御信号の受信、及び、他の装置との通信のための当該追跡装置からの信号の送信のうち少なくとも一方を実行可能であることを特徴とする請求項55に記載の追跡装置。
【請求項57】
前記通信インタフェースは、汎用シリアルバス(Universal Serial Bus:USB)コントローラを含むことを特徴とする請求項54又は55に記載の追跡装置。
【請求項58】
前記汎用シリアルバスコントローラは、当該追跡装置の動作を制御するための制御信号の受信、及び、他の装置との通信のための当該追跡装置からの信号の送信のうち少なくとも一方を実行可能であることを特徴とする請求項57に記載の追跡装置。
【請求項59】
前記プロセッサは、前記一連のサンプルを用いて前記本体の速度を決定可能であることを特徴とする請求項53に記載の装置。
【請求項60】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項53に記載の装置。
【請求項61】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項53に記載の装置。
【請求項62】
前記プロセッサは、以前に決定された位置に対する前記変位を決定することにより、前記本体の空間における位置を決定可能であることを特徴とする請求項53に記載の装置。
【請求項63】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項10から29のいずれかに記載のゲームコントローラ。
【請求項64】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項30から33のいずれかに記載の装置。
【請求項65】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項34から52及び54から62のいずれかに記載の追跡装置。
【請求項66】
前記慣性センサは、前記コントローラ本体に着脱可能に搭載されることを特徴とする請求項35又は36に記載の追跡装置。
【請求項1】
ビデオゲームシステムのコントローラを追跡するための方法であって、
前記ビデオゲームシステムのコントローラ上に配置された慣性センサから1以上の信号を生成するステップと、
前記コントローラの位置及び/又は方向の情報を決定するために前記1以上の信号を分析するステップと、
前記ビデオゲームシステムにおいてビデオゲームのプレー中に前記位置及び/又は方向の情報を利用するステップと、
を備えることを特徴とする方法。
【請求項2】
前記1以上の信号は、1以上の方向に関する前記コントローラの平行移動の加速度に関連する信号を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記1以上の信号を分析するステップは、速度信号を生成するために、平行移動の加速度信号又は前記平行移動の加速度信号から生成されるデータを時間に関して積分するステップを含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記1以上の信号を分析するステップは、変位信号を生成するために、前記平行移動の加速度信号又は前記平行移動の加速度信号から生成されるデータを時間に関して2階積分するステップを含むことを特徴とする請求項1に記載の方法。
【請求項5】
前記1以上の信号は、ピッチ又はヨー軸に関する前記コントローラの回転に関連する信号を含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記ビデオゲームシステムにおいて前記ビデオゲームのプレー中に前記位置及び/又は方向の情報を利用するステップは、前記位置及び/又は方向の情報から前記コントローラのパスを決定するステップを含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記コントローラのパスを、1以上の既知のジェスチャーと比較するステップを更に備えることを特徴とする請求項6に記載の方法。
【請求項8】
前記コントローラのパス又はその一部が1以上の既知のジェスチャーに一致する場合、前記ビデオゲームの状態を変更するステップを更に備えることを特徴とする請求項7に記載の方法。
【請求項9】
システムへの入力の提供に用いられる方法であって、
前記システムのコントローラ上に配置された慣性センサから1以上の信号を生成するステップと、
前記コントローラの位置及び/又は方向の情報を決定するために前記1以上の信号を分析するステップと、
決定された位置及び/又は方向の情報と、1以上のコマンドに関連づけられた既定の位置情報とを比較するステップと、
決定された位置及び/又は方向の情報が、コマンドのための既定の位置情報に合致する場合、前記システムの状態を変更するステップと、
を備えることを特徴とする方法。
【請求項10】
ゲームコントローラであって、
本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記本体に取り付けられた少なくとも1つの入力装置と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、
を備えることを特徴とするゲームコントローラ。
【請求項11】
信号エンコーダと、
前記信号エンコーダからの信号を用いて、大気を介して赤外線信号を送信可能な赤外線信号送信部と、を更に備え、
前記信号エンコーダは、赤外線受信機と、選択された1つの信号コードにより動作可能な信号デコーダとを有する電子機器による受信のために、複数の信号コードのうち選択された1つにより信号をエンコードするようプログラム可能であることを特徴とする請求項10に記載のゲームコントローラ。
【請求項12】
前記本体は、手で把持可能なハウジングを含み、
前記入力装置は、前記ユーザからの入力を登録するために、前記ゲームコントローラの前記本体に対してユーザにより移動可能な要素を含む
ことを特徴とする請求項10に記載のゲームコントローラ。
【請求項13】
前記ハウジングは、手で握持可能な握りを含むことを特徴とする請求項12に記載のゲームコントローラ。
【請求項14】
前記ゲームコントローラの前記本体は、ユーザの体に装着可能であることを特徴とする請求項10に記載のゲームコントローラ。
【請求項15】
前記慣性センサは、第1の軸に沿った前記本体の動きの第1の成分を定量化するための情報を生成可能であることを特徴とする請求項10、及び12から14のいずれかに記載のゲームコントローラ。
【請求項16】
前記慣性センサは、前記第1の軸に直交する第2の軸に沿った前記動きの第2の成分を定量化するための情報を生成可能であることを特徴とする請求項15に記載のゲームコントローラ。
【請求項17】
前記慣性センサは、前記第1の軸及び前記第2の軸に直交する第3の軸に沿った前記動きの第3の成分を定量化するための情報を生成可能であることを特徴とする請求項16に記載のゲームコントローラ。
【請求項18】
前記慣性センサは、少なくとも1つの加速度計を含むことを特徴とする請求項15から17のいずれかに記載のゲームコントローラ。
【請求項19】
前記慣性センサは、少なくとも1つの機械的ジャイロスコープを含むことを特徴とする請求項15から17のいずれかに記載のゲームコントローラ。
【請求項20】
前記慣性センサは、少なくとも1つのレーザージャイロスコープを含むことを特徴とする請求項19に記載のゲームコントローラ。
【請求項21】
前記慣性センサは、少なくとも3つの自由度における前記本体の動きを定量化するための情報を生成可能であることを特徴とする請求項10に記載のゲームコントローラ。
【請求項22】
前記少なくとも3つの自由度は、ピッチ、ヨー及びロールを含むことを特徴とする請求項21に記載のゲームコントローラ。
【請求項23】
前記少なくとも3つの自由度は、それぞれ互いに直交するx軸、y軸及びz軸を含むことを特徴とする請求項21に記載のゲームコントローラ。
【請求項24】
前記慣性センサは、前記3つの自由度と、ピッチ、ヨー及びロールを含む6つの自由度における前記動きを定量化することが可能であることを特徴とする請求項23に記載のゲームコントローラ。
【請求項25】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも1つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項15から24のいずれかに記載のゲームコントローラ。
【請求項26】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項25に記載のゲームコントローラ。
【請求項27】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項26に記載のゲームコントローラ。
【請求項28】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項26に記載のゲームコントローラ。
【請求項29】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項28に記載のゲームコントローラ。
【請求項30】
請求項25に記載のゲームコントローラを含み、
ユーザが操作可能な前記入力装置を介した入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備え、
前記プロセッサは、前記一連のサンプルを用いて前記本体の速度を決定可能であることを特徴とする装置。
【請求項31】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項30に記載の装置。
【請求項32】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項30に記載の装置。
【請求項33】
前記プロセッサは、以前に決定された位置に対する前記変位を決定することにより、前記本体の空間における位置を決定可能であることを特徴とする請求項30に記載の装置。
【請求項34】
ユーザが双方向型ゲームをプレーすることを可能とするためのゲームプログラムのプロセッサによる実行を制御するための情報を取得するときに用いられる追跡装置であって、
本体と、
前記本体の空間中の動きを定量化するための情報を生成可能な慣性センサと、
を備えることを特徴とする追跡装置。
【請求項35】
前記本体は、ゲームコントローラに搭載可能であり、
前記ゲームコントローラは、
ゲームコントローラ本体と、
ユーザからの入力を登録するためにユーザにより操作可能な、前記ゲームコントローラ本体に取り付けられた少なくとも1つの入力装置とを含む
ことを特徴とする請求項34に記載の追跡装置。
【請求項36】
請求項35に記載の追跡装置及びゲームコントローラを含む装置。
【請求項37】
前記追跡装置の前記本体は、ユーザの体に装着可能であることを特徴とする請求項34に記載の追跡装置。
【請求項38】
前記慣性センサは、第1の軸に沿った前記本体の動きの第1の成分を定量化するための情報を生成可能であることを特徴とする請求項34、36及び37のいずれかに記載の追跡装置。
【請求項39】
前記慣性センサは、前記第1の軸に直交する第2の軸に沿った前記動きの第2の成分を定量化するための情報を生成可能であることを特徴とする請求項38に記載の追跡装置。
【請求項40】
前記慣性センサは、前記第1の軸及び前記第2の軸に直交する第3の軸に沿った前記動きの第3の成分を定量化するための情報を生成可能であることを特徴とする請求項39に記載の追跡装置。
【請求項41】
前記慣性センサは、少なくとも1つの加速度計を含むことを特徴とする請求項38から40のいずれかに記載の追跡装置。
【請求項42】
前記慣性センサは、少なくとも1つの機械的ジャイロスコープを含むことを特徴とする請求項38から40のいずれかに記載の追跡装置。
【請求項43】
前記慣性センサは、少なくとも1つのレーザージャイロスコープを含むことを特徴とする請求項42に記載の追跡装置。
【請求項44】
前記慣性センサは、少なくとも3つの自由度における前記本体の動きを定量化するための情報を生成可能であることを特徴とする請求項34に記載の追跡装置。
【請求項45】
前記少なくとも3つの自由度は、ピッチ、ヨー及びロールを含むことを特徴とする請求項44に記載の追跡装置。
【請求項46】
前記少なくとも3つの自由度は、それぞれ互いに直交するx軸、y軸及びz軸を含むことを特徴とする請求項45に記載の追跡装置。
【請求項47】
前記慣性センサは、前記3つの自由度と、ピッチ、ヨー及びロールを含む6つの自由度における前記動きを定量化することが可能であることを特徴とする請求項46に記載の追跡装置。
【請求項48】
前記慣性センサにより生成された前記情報から、時間的に異なる点における少なくとも1つの軸に沿った前記本体の加速度を示す一連のサンプルを取得することが更に可能であることを特徴とする請求項38から47のいずれかに記載の追跡装置。
【請求項49】
前記一連のサンプルを用いて前記本体の速度を決定可能なプロセッサを更に備えることを特徴とする請求項48に記載の追跡装置。
【請求項50】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項49に記載の追跡装置。
【請求項51】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項48に記載の追跡装置。
【請求項52】
前記プロセッサは、前記本体の空間における現在の位置を決定するために、以前に決定された位置に対する前記変位を決定可能であることを特徴とする請求項51に記載の追跡装置。
【請求項53】
請求項48に記載の追跡装置を含み、
前記慣性センサにより生成された情報を処理することにより取得された入力にしたがってユーザによりプレー可能な双方向型ゲームを提供するためのプログラムを実行可能なプロセッサを更に備えることを特徴とする装置。
【請求項54】
前記プロセッサ及び前記ゲームコントローラのうちいずれか、又は前記プロセッサ及び前記ゲームコントローラの双方との間でディジタル通信を実行可能な通信インタフェースを更に備えることを特徴とする請求項34から36のいずれかに記載の追跡装置。
【請求項55】
前記通信インタフェースは、汎用非同期送受信回路(Universal Asynchronous Receiver Transmitter:UART)を含むことを特徴とする請求項54に記載の追跡装置。
【請求項56】
前記汎用非同期送受信回路は、当該追跡装置の動作を制御するための制御信号の受信、及び、他の装置との通信のための当該追跡装置からの信号の送信のうち少なくとも一方を実行可能であることを特徴とする請求項55に記載の追跡装置。
【請求項57】
前記通信インタフェースは、汎用シリアルバス(Universal Serial Bus:USB)コントローラを含むことを特徴とする請求項54又は55に記載の追跡装置。
【請求項58】
前記汎用シリアルバスコントローラは、当該追跡装置の動作を制御するための制御信号の受信、及び、他の装置との通信のための当該追跡装置からの信号の送信のうち少なくとも一方を実行可能であることを特徴とする請求項57に記載の追跡装置。
【請求項59】
前記プロセッサは、前記一連のサンプルを用いて前記本体の速度を決定可能であることを特徴とする請求項53に記載の装置。
【請求項60】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分することにより、前記速度を決定可能であることを特徴とする請求項53に記載の装置。
【請求項61】
前記プロセッサは、前記一連のサンプルから取得される加速度の値を時間の間隔にわたって積分し、積分した結果を時間の間隔にわたって積分することにより、前記本体の空間における変位を決定可能であることを特徴とする請求項53に記載の装置。
【請求項62】
前記プロセッサは、以前に決定された位置に対する前記変位を決定することにより、前記本体の空間における位置を決定可能であることを特徴とする請求項53に記載の装置。
【請求項63】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項10から29のいずれかに記載のゲームコントローラ。
【請求項64】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項30から33のいずれかに記載の装置。
【請求項65】
前記慣性センサは、前記本体に着脱可能に搭載されることを特徴とする請求項34から52及び54から62のいずれかに記載の追跡装置。
【請求項66】
前記慣性センサは、前記コントローラ本体に着脱可能に搭載されることを特徴とする請求項35又は36に記載の追跡装置。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図3E】
【図4】
【図5A】
【図5B】
【図5C】
【図6】
【図7】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図3E】
【図4】
【図5A】
【図5B】
【図5C】
【図6】
【図7】
【公表番号】特表2009−535173(P2009−535173A)
【公表日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2009−509932(P2009−509932)
【出願日】平成19年4月19日(2007.4.19)
【国際出願番号】PCT/US2007/067005
【国際公開番号】WO2007/130792
【国際公開日】平成19年11月15日(2007.11.15)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公表日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願日】平成19年4月19日(2007.4.19)
【国際出願番号】PCT/US2007/067005
【国際公開番号】WO2007/130792
【国際公開日】平成19年11月15日(2007.11.15)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]