説明

ゲームプログラムの実行を制御するための入力を取得する方法

【課題】ユーザによるコントローラの操作を追跡する。
【解決手段】ゲームプログラムの実行を制御するための入力を取得する方法が開示される。a)ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはb)ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受け取る。コントローラが使用される環境から追加入力情報を受け取る。コントローラ入力情報と追加入力情報とを処理して組合せ入力を得ることによって、ゲームプログラムの実行を制御するための組合せ入力を取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に人間とコンピュータとのインタフェースに関し、特に、一つまたは複数のコントローラのユーザによる操作を追跡するための複数チャネル入力処理に関する。
【背景技術】
【0002】
通常、コンピュータエンタテインメントシステムは、手持ち型コントローラ、ゲームコントローラ、またはその他のコントローラを備える。ユーザすなわちプレイヤは、コントローラを使ってコマンドや他の指令をエンタテインメントシステムに送り、プレイ中のビデオゲームやその他のシミュレーションを制御する。例えば、コントローラには、ジョイスティックなどのユーザが操作するマニピュレータが設けられてもよい。ジョイスティック操作での変量は、AD変換されてゲームマシーンのメインフレームに送られる。コントローラには、ユーザが操作できるボタンも設けられる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
本発明は、これら従来の情報要素およびその他の情報要素に関して進化したものである。
【課題を解決するための手段】
【0004】
ゲームプログラムの実行を制御するための入力を取得する方法が開示される。a)ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはb)ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受け取る。コントローラが使用される環境から追加入力情報を受け取る。コントローラ入力情報と追加入力情報とを処理して組合せ入力を得ることによって、ゲームプログラムの実行を制御するための組合せ入力を取得する。
【0005】
本発明が教示するものは、添付の図面と併せて、以下の詳細な説明を考慮することによって容易に理解される。
【発明を実施するための最良の形態】
【0006】
以下の詳細な説明には、説明のための多くの具体的な詳細事項が含まれるが、それらに対する多くの変更や修正も本発明の技術範囲に含まれることは、当業者であれば誰でも理解するであろう。したがって、以下に説明する本発明の好適な実施形態は、クレームされた発明の普遍性をなんら損なうことなく、また限定も行うことなく記載されている。
【0007】
本明細書に記述した方法、装置、スキームおよびシステムに関する様々な実施形態は、ユーザによるコントローラ本体そのものの移動、動きおよび/または操作の検出、取り込み、および追跡を提供する。ユーザによるコントローラ本体全体の検出された移動、動き、および/または操作は、プレイ中のゲームや他のシミュレーションの様々な局面を制御する付加コマンドとして用いられる。
【0008】
ユーザによるゲームコントローラ本体の操作の検出および追跡は、様々な態様で実現されうる。例えば、加速度計やジャイロスコープなどの慣性センサやデジタルカメラなどの撮像装置をコンピュータエンタテインメントシステムと共に使用し、手持ちのコントローラ本体の動きを検出してゲームの中のアクションにその動きを送ることができる。慣性センサによるコントローラ追跡の例は、例えば、米国特許出願第11/382,033号の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”(代理人整理番号SCEA06INRTI)に開示されており、その開示内容は参照により本明細書に援用される。撮像装置を用いたコントローラ追跡の例は、例えば、米国特許出願第11/382,034号の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”(代理人整理番号SCEA05082US00)に開示されており、その開示内容は参照により本明細書に援用される。さらに、コントローラおよび/またはユーザを、マイクロホン配列および適切な信号処理を用いて音響的に追跡することもできる。そのような音響追跡の例は、米国特許出願第11/381,721号に開示されており、その開示内容は参照により本明細書に援用される。
【0009】
音響検出、慣性検出および撮像をそれぞれ独立に用いるかまたは組み合わせて用いることで、コントローラの多くの違った動き方、例えば上下動、ねじり、水平動、急な動き(jerking movements)、棒のような動き(wand-like motions)、急降下の動きなどを検出することができる。そのような動きは、様々なコマンドに対応し、ゲームの中のアクションに移されるようになされていてもよい。ユーザによるゲームコントローラ本体の操作を検出し追跡することによって、多くの違ったタイプのゲームやシミュレーションなどが実現できる。例えば、刀やライトセーバーで闘ったり、物の形をたどるために棒を使ったり、各種のスポーツイベントに参加したり、画面上での闘いやその他の遭遇戦等を行うことができる。ゲームプログラムは、コントローラの動きを追跡し、追跡した動きから事前に記録されているジェスチャを認識するように構成されていてもよい。こういった動きを一つ以上認識すると、ゲーム状態に変化が起きるようになされていてもよい。
【0010】
本発明の実施形態では、これら異なったソースから得られるコントローラパス情報が、ジェスチャ認識の分析前に組み合わされてもよい。異なったソース(例えば音響、慣性および撮像)からの追跡データは、ジェスチャ認識の可能性を高めるような態様で組み合わせられる。
【0011】
図1を参照する。本発明の一実施形態にしたがって作動するシステム100が図示されている。図示のように、コンピュータエンタテインメントコンソール102は、テレビまたは他のビデオディスプレイ104に接続され、ビデオゲームや他のシミュレーションが画面上に表示される。ゲームまたは他のシミュレーションは、コンソール102に挿入されたDVD、CD,フラッシュメモリ、USBメモリ、または他の記録媒体106に保存できる。ユーザすなわちプレイヤ108は、ゲームコントローラ110を操作してビデオゲームまたは他のシミュレーションを制御する。図2に示されるように、ゲームコントローラ110は、ゲームコントローラ110の位置、動き、方向、または方向の変化に応じて信号を生成する慣性センサ112を備える。この慣性センサに加えて、ゲームコントローラ110は、既知の制御入力装置、例えば、ジョイスティック111、ボタン113、R1、L1などを備えていてもよい。
【0012】
操作中、ユーザ108はコントローラ110を物理的に動かす。例えば、コントローラ110は、ユーザ108によって、上下動、水平動、ねじり、ロール、振動、急な動き、または急降下など、どの方向に動かされてもよい。以下に説明する態様で慣性センサ112からの信号を分析して追跡するために、コントローラ110自体のこれらの動きがカメラ114によって検出され撮像されてもよい。
【0013】
再び図1に戻り、システム100は、カメラまたは他のビデオ撮像装置114を任意に具備してもよく、それらはコントローラ110がカメラ視野角116内に入るように配置される。画像撮像装置114からの画像の分析は、慣性センサ112からのデータの分析と併せて利用される。図2に示されるように、コントローラ110には、発光ダイオード(LED)202、204、206、208などの光源が任意に設けられ、画像分析による追跡を容易にするようになされてもよい。これらの光源はコントローラ110の本体に取り付けられてもよい。本明細書において、「本体」という用語は、手で保持する(または、着用できるゲームコントローラであれば着用する)ゲームコントローラ110の一部分を意味する。
【0014】
コントローラ110の追跡目的のビデオ画像分析は、例えば、米国特許出願第11/382,034号の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”(代理人整理番号SCEA05082US00)、発明者Gary M. Zalewskiに開示されており、その開示内容は参照により本明細書に援用される。コンソール102は、マイクロホン配列118などの音響トランスデューサ(変換器)を備えてもよい。コントローラ110はさらに、音響信号発生器210(例えば、スピーカ)も備え、コントローラ110の音響追跡を容易にする音源を、マイクロホン配列118や、米国特許出願第11/381,724号に開示されているような適切な音響信号処理装置に提供するようにしてもよい。前掲の米国特許出願の開示内容は、参照により本明細書に援用される。
【0015】
一般に、慣性センサ112からの信号は、コントローラ110に対する位置データおよび方向データの生成に用いられる。そのようなデータは、コントローラ110の動きに関する多くの物理的側面、例えば、コントローラ110の場所の遠隔測定(テレメトリ)だけではなく、任意の軸方向の加速度や速度、傾斜、ピッチ、ヨー、ロールなどの計算に用いることができる。本明細書において、遠隔測定とは、一般に、対象の情報を遠隔で計測し、システムまたはシステムのデザイナやオペレータに報告することを言う。
【0016】
コントローラ110の動きを検出し追跡できることにより、コントローラ110について予め決められた動きが行われているか否かがわかる。すなわち、コントローラ110の特定の動きのパターンまたはジェスチャを、ゲームまたは他のシミュレーションの入力コマンドとして予め決めて用いることができる。例えば、コントローラ110を下方に急降下させるジェスチャを一つのコマンドとして定義し、捻るジェスチャを別のコマンドとして定義し、振動させるジェスチャをさらに別のコマンドとして定義できる。このように、ユーザ108が物理的にコントローラ110を動かす態様を、ゲームを制御する別の入力として使用して、より刺激的で楽しい体験をユーザに与えることができる。
【0017】
例示として、またいかなる限定を行うことなく、慣性センサ112は加速度計であってよい。図3に、フレーム304に4点で、例えばスプリング306、308、310、および312によって伸縮自在に取り付けられた単一質量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を用いて計測され、公知のまたは確定可能な方法でピッチおよび/またはロールの加速度量に応じた信号に変換される。
【0018】
質量の位置および/またはそれに働く力を追跡する方法には、抵抗歪みゲージ、音響センサ、磁気センサ、ホール素子、圧電素子、容量センサなど、多くの異なった方法がある。本発明の実施形態では、任意の数のセンサ、または任意のタイプ、任意の組み合わせのセンサを備えてもよい。例示として、またいかなる限定も行うことなく、センサ314、316、318、320は質量320の上方に配置されたギャップ封鎖電極とすることができる。質量と各電極間の静電容量は、各電極に対する質量の位置変化に応じて変わる。各電極は、電極に対しての質量302の静電容量に関する信号(したがって質量の接近に関する信号)を生成する回路に接続されてもよい。さらに、スプリング306、308、310、312は、伸縮に関連した信号を生成する抵抗歪みゲージを備えてもよい。
【0019】
いくつかの実施形態では、フレーム304はコントローラ110に取り付けられるジンバルであってもよく、これによって、加速度計300はピッチ軸、ロール軸、および/またはヨー軸に対して一定の方向を保つことができる。このような態様にすると、実空間座標軸に対するコントローラ軸の傾きを考慮することなく、コントローラのX軸、Y軸、Z軸を実空間における対応軸に直接にマッピングすることが可能になる。
【0020】
上述のように、慣性ソース、撮像ソースおよび音響ソースからのデータを分析して、コントローラ110の位置および/または方向を追跡する経路を生成することができる。図4のブロック図に示されるように、本発明の一実施形態によるシステム400は、慣性分析部402、画像分析部404、および音響分析部406を備えてもよい。これらの分析部はいずれも、被計測環境401からの信号を受信する。分析部402、406、408は、ハードウェア、ソフトウェア(またはファームウェア)、またはこれらの複数の組み合わせで実装される。各分析部は、対象物の位置および/または方向に関係する追跡情報を生成する。例示として、対象物は上述のコントローラ110であってよい。画像分析部404が一緒に作動し、下記の場、および米国特許出願第11/382,034号(代理人整理番号SCEA05082US00)に開示の方法に対する場を形成してもよい。慣性分析部402が一緒に作動し、下記の場、および米国特許出願第11/382,033号の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENTIONAL INPUT CONTROL”(代理人整理番号SCEA06INRT1)に開示の方法に対する場を形成してもよい。音響分析部406が一緒に作動し、下記の場、および米国特許出願第11/381,724号に開示の方法に対する場を形成してもよい。
【0021】
分析部402、404および406は、位置情報および/または方向情報に関する入力の異なるチャネルに関連付けられると考えてもよい。ミキサ408は複数の入力チャネルを受け付けることができ、それらのチャネルは、チャネル視点からの被計測環境401を特徴付けるサンプルデータを含んでもよい。慣性分析部402、画像分析部404および音響分析部406で生成された位置および/または方向情報は、ミキサ408の入力に接続できる。ミキサ408および分析部402、404、406は、ゲームソフトウェアプログラム410の問い合わせを受けてもよく、イベントに応じてゲームソフトウェアを中断するように構成されてもよい。イベントには、ジェスチャ認識イベント、ギアリング変更、構成変更、ノイズレベル設定、サンプリングレート設定、マッピングチェーン変更などが含まれてよい。これらの例については後述する。ミキサ408が一緒に作動し、下記の場、およびここで説明する方法に対する場を形成してもよい。
【0022】
上述のように、例えば、慣性センサ、ビデオ画像および/または音響センサなどの異なる入力チャネルからの信号は、それぞれ、慣性分析部402、画像分析部404および音響分析部406によって分析されて、本発明の方法によるビデオゲームプレイ中のコントローラ110の動きおよび方向を決定してもよい。そのような方法は、プロセッサ読み取り可能なメディアに保存され、デジタルプロセッサ上で実行されるプログラムコード指令を実行可能な、一連のプロセッサとして実装されてもよい。例えば、図5Aに示されるように、ビデオゲームシステム100は、ハードウェアまたはソフトウェアのいずれかで実装された慣性分析部402、画像分析部404および音響分析部406を有するコンソール102を具備してもよい。例示として、分析部402、404および406は、適切なプロセッサ502で作動するソフトウェア指令として実装されてもよい。例示として、プロセッサ502は、例えば、ビデオゲームコンソールに通常使用されるマイクロプロセッサのような、デジタルプロセッサであってもよい。指令の一部はメモリ506に保存されてもよい。代替的に、慣性分析部402、画像分析部404および音響分析部406は、例えば特定用途向け集積回路(ASIC)などのハードウェアとして実装されてもよい。そのような分析ハードウェアは、コントローラ110かまたはコンソール102上に設けられるか、または遠隔の場所に設けられてもよい。ハードウェアでの実装では、分析部402、404、406は、プロセッサ502からの外部信号、または、例えばUSBケーブル、無線接続またはネットワークを介して接続される他の遠隔にあるソースからの外部信号に応じて、プログラム可能であってもよい。
【0023】
慣性分析部402は、慣性センサ112により生成される信号を分析する命令を備えるか実装し、コントローラ110の位置および/または方向に関する情報を利用してもよい。同様に、画像分析部404は、撮像装置114で撮影された画像を分析する命令を実装してもよい。さらに、音響分析部は、マイクロホン配列118で捉えた像を分析する命令を実装してもよい。図5Bのフロー図510に示すように、これらの信号および/または画像は、ブロック512で示すように、分析部402、404、406で受け取られてもよい。信号および/または画像は分析部402、404、406で分析されて、ブロック514で示されるように、コントローラ110の位置および/または方向に関する慣性追跡情報403、画像追跡情報405および音響追跡情報407を決定してもよい。追跡情報403、405および407は、1以上の自由度に関連付けられる。コントローラ110または他の追跡物の操作を特徴付けるために、6自由度が追跡されることが好ましい。そのような自由度は、コントローラの傾き、ヨー、ロール、およびX軸、Y軸、Z軸方向の位置、速度または加速度と関連してもよい。
【0024】
ブロック516で示されるように、ミキサ408は慣性情報403、画像情報405および音響情報407を組み合わせて、正確な位置情報および/または方向情報409を生成する。例示として、ミキサ408は、ゲームや環境条件に基づき慣性情報403、画像情報405、音響情報407に異なる重みを与え、荷重平均を求めてもよい。さらに、ミキサ408は、独自にミキサ分析部を備えて、組み合わされた位置/方向情報を分析し、他の分析部で生成された組み合わせ情報を包含する独自の「ミキサ」情報を生成してもよい。
【0025】
本発明の実施形態では、ミキサ408は、分析部402、404、406からの追跡情報403、405、407に対して分配値を割り当ててもよい。上記の通り、入力コントロールデータセットの一部が平均されていてもよい。しかし、本実施形態においては、入力コントロールデータは、平均される前に、分析上の重要度を考慮した値が割り当てられる。
【0026】
ミキサ408は、本システムの文脈において、観察、訂正、安定化、導出、結合、ルーティング、ミキシング、報告、緩衝、他の処理の中断、および分析などを含む多くの機能を持つことができる。そのような機能は、一つ以上の分析部402、404、406から受け取る追跡情報403、405、407に対して実行することができる。分析部402、404、406のそれぞれが特定の追跡情報を受信および/または導出している間、受信した追跡情報403、405、407の使用を最適化し正確な追跡情報409を生成するためにミキサ408を実装してもよい。
【0027】
分析部402、404、406およびミキサ408は、同様の出力フォーマットを持つ追跡情報を提供するように構成されるのが好ましい。分析部402、404、406のいずれかからの追跡情報パラメータは、分析部における単一のパラメータにマッピングすることができる。代替的に、ミキサ408は、一つ以上の分析部402、404、406からの一つ以上の追跡情報パラメータを処理して、分析部402、404、406のいずれかに対して追跡情報を作成してもよい。ミキサは、分析部402、404、406から得られる同一タイプのパラメータを持つ追跡情報の複数の要素を組み合わせてもよく、および/または、分析部で生成される追跡情報の複数のパラメータにまたがる機能を実行して、複数の入力チャネルから生成される利点を有する合成出力セットを作り出してもよい。
【0028】
正確な追跡情報409は、ブロック518で示されるように、システム100でのビデオゲームプレイ中に利用できる。ある実施形態では、位置情報および/または方向情報を、ゲームプレイ中のユーザ108のジェスチャに関して利用することができる。いくつかの実施形態では、ミキサ408はジェスチャ認識部505と一緒に作動し、ゲーム環境中の少なくとも一つのアクションと、ユーザからの一つ以上のアクション(例えば、空間におけるコントローラの操作)とを関連付けてもよい。
【0029】
図5Cのフロー図520に示されるように、コントローラ110の経路は、ブロック522で示される通り、位置情報および/または方向情報を用いて追跡することができる。例示として、またいかなる限定を与えることなく、この経路には、いくつかの座標系に対するコントローラの質量中心位置を示す点セットが含まれてもよい。各位置ポイントは、一つ以上の座標、例えば、デカルト座標系におけるX,Y,Z座標で表されてもよい。経路上の各点が時刻と関連付けられていてもよく、これによって、経路の形状と経路に沿ったコントローラの進行の両方を監視することができる。さらに、前記セットの各点は、コントローラの方向を表すデータ、例えば、コントローラの質量中心回りの一つ以上の回転角などと関連付けられてもよい。さらに、経路上の各点は、コントローラの質量中心の速度および加速度、質量中心回りのコントローラの角回転率および角加速度率の各値と関連付けられてもよい。
【0030】
ブロック524に示されるように、追跡経路は、プレイ中のビデオゲームの状況に関連した既知のジェスチャおよび/または事前に記録されているジェスチャ508に対応する一つ以上の記憶された経路と比較されてもよい。認識部505は、ユーザを認識するか、または音声認証ジェスチャなどを処理するように構成されていてもよい。例えば、ユーザに特有のジェスチャを通して、認識部505によりユーザを特定してもよい。そのような特有のジェスチャは、メモリ506に保存されている事前に記録されたジェスチャ508に記録されて含められる。記録処理においては、任意に、ジェスチャの記録中に生成される音を保存してもよい。被計測環境がマルチチャネルの分析部でサンプリングされて処理される。プロセッサは、ジェスチャモデルを参照し、音声パターンまたは音響パターンに基づいて、高精度かつ高能率でユーザまたは物体を決定、認証、および/または特定できる。
【0031】
図5Aに示されるように、ジェスチャを表すデータ508はメモリ506に保存される。ジェスチャの例として、ボールのような物を投げる、バットやゴルフクラブのようなものを振る、手押しポンプを押す、ドアまたは窓を開閉する、ハンドルまたは他の車両コントロールを回す、格闘家がパンチなどを出す、研磨(sanding)動作、ワックス掛けとふき取り、家のペンキ塗り、振動、おしゃべり、ロール、フットボール投げ、ノブを回す動き、3Dマウスの動き、スクロール、既知の輪郭を持った動き、記録可能なあらゆる動き、あらゆるベクトルに沿った前後の動き、すなわち空間内の任意の方向に沿ったタイヤの空気入れ、小道に沿った移動、正確な停止時間と開始時間を持った動き、ノイズフロア内やスプライン内などで記録、追跡および繰り返し可能なユーザ操作に基づく任意の時刻、などがあるが、これらに限定されない。これらのジェスチャはそれぞれ、経路データから事前に記録し、時間基準のモデルとして保存できる。経路が安定状態から外れると、その経路が除去処理という保存ジェスチャと比較される、という安定状態についての仮定から、経路と保存ジェスチャとの比較がスタートする。ブロック526において一致しなければ、分析部はブロック522に戻ってコントローラ110の経路追跡を継続できる。経路(またはその一部分)と保存ジェスチャとの間で十分な一致があれば、528に示されるように、ゲーム状態を変えることができる。ゲーム状態の変化は、これらに限定されないが、中断、コントロール信号の送信、変数の変化などを含んでもよい。
【0032】
起こり得る例を一つ示す。コントローラ110が経路の安定状態から外れたと判断すると、分析部402、404、406、または412はコントローラ110の動きを追跡する。コントローラ110の経路が保存されているジェスチャモデル508に定義される経路と合致している間は、これらのジェスチャは「ヒット」であり得る。コントローラ110の経路が、いずれかのジェスチャモデル508から外れると(耐ノイズ設定内で)、そのジェスチャモデルはヒットリストから除去される。各ジェスチャ参照モデルは、ジェスチャが記録される時間軸を備える。分析部402、404、406または412は、適切な時間指標で、コントローラの経路データを保存ジェスチャ508と比較する。安定状態条件が発生するとクロックをリセットする。安定状態から外れる(すなわち、ノイズしきい値外で動きが追跡される)と、ヒットリストには、可能性のあるジェスチャモデルすべてが入ってくる。クロックがスタートして、コントローラの動きがヒットリストと比較される。再び、時系列で見ると比較はたやすい。ヒットリスト内のいずれかのジェスチャがジェスチャの端に到達すると、それはヒットである。
【0033】
ある実施形態では、ミキサ408および/または個々の分析部402、404、406、および412は、特定のイベントが発生する時間をゲームプログラムに通知してもよい。そのようなイベントの例には下記のものが含まれる。
【0034】
・加速度0点への到達で中断(X軸、Y軸、および/またはZ軸)
あるゲーム状況において、コントローラの加速度が変曲点で変化すると、分析部は、ゲームプログラム内のルーチンに通知するかまたはルーチンを中断できる。例えば、ユーザ108は、コントローラ110を使ってフットボールシミュレーションゲーム内のクォータバックを表すゲームアバターを制御できる。分析部は、慣性センサ112からの信号から生成される経路を介して(フットボールを表す)コントローラを追跡してもよい。コントローラ110のある特定の加速度変化は、フットボールが投げられたことを信号発信してもよい。このときに、分析部はプログラム内の別のルーチン(例えば、物理シミュレーションパッケージ)をトリガして、投てき点におけるコントローラの位置、速度および/または方向に基づき、フットボールの軌道をシミュレーションできる。
【0035】
・新しいジェスチャの認識で中断
【0036】
また、分析部は一つ以上の入力で構成されてもよい。そのような入力の例を以下に示すが、これらに限定されない。
【0037】
・ノイズレベルの設定(X軸、Y軸またはZ軸)
ノイズレベルは、ゲーム中のユーザの手の震えを分析するときの基準許容誤差であってもよい。
【0038】
・サンプリングレート設定
本明細書において、サンプリングレートとは、分析部による慣性センサからの信号のサンプリング頻度を言う。サンプリングレートは信号のオーバーサンプリングかまたは平均化に設定されてもよい。
【0039】
・ギアリング設定
本明細書において、ギアリングとは、概してゲーム内で起こる動きに対するコントローラの動きの比を言う。ビデオゲーム制御の文脈におけるこのような「ギアリング」の例は、2006年5月7日付米国特許出願第11/382,040号(代理人整理番号SONYP058D)に開示されており、その開示内容は参照により本明細書に援用される。
【0040】
・マッピングチェーンの設定
本明細書において、マッピングチェーンとはジェスチャモデルのマップを言う。ジェスチャモデルマップは特定の入力チャネルに対して(例えば、慣性センサ信号だけから生成される経路データに対して)、またはミキサ装置に形成されるハイブリッドチャネルに対して作成される。慣性分析部402と同様の2台以上の異なった分析部によって、3つの入力チャネルが供給される。具体的には、これらには、ここで述べた慣性分析部402、例えばその開示内容が参照により本明細書に援用される米国特許出願第11/382,034号の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”(代理人整理番号SCE05082US00)、発明者Gary M Zalewski、に開示されたビデオ分析部、および、例えばその開示内容が参照により本明細書に援用される米国特許出願第11/381,721号に開示される音響分析部が含まれてもよい。これら分析部はマッピングチェーンを用いて構成することができる。マッピングチェーンは、分析部やミキサに対する設定ができるように、ゲームプレイ中にゲームによって交換することができる。
【0041】
再び図5B、ブロック512に戻る。当業者であれば、慣性センサ112からの信号を生成するには多くの方法があることは理解するであろう。とりわけ2〜3の例についてここで説明する。ブロック514を参照して、ブロック512で生成されるセンサ信号を分析しコントローラ110の位置および/または方向に関係する追跡情報を得るには多くの方法がある。例示として、またいかなる限定を行うことなく、追跡情報には、個別にまたは任意の組み合わせて以下のパラメータに関する情報が含まれるが、これらに限定されない。
【0042】
・コントローラの方向
コントローラ110の方向は、ある基準方向に対するピッチ、ロール、またはヨー角(例えばラジアン)で表されてもよい。コントローラ方向の変化率(例えば、角速度または角加速度)は、位置情報および/または方向情報に含まれていてもよい。例えば、慣性センサ112がジャイロスコープセンサを含む場合、コントローラの方向情報は、ピッチ角、ロール角、またはヨー角に比例した一つ以上の出力値の形で直接求めることができる。
【0043】
・コントローラの位置(例えば、ある基準フレームにおけるコントローラ110のデカルト座標X、Y,Z)
・コントローラのX軸速度
・コントローラのY軸速度
・コントローラのZ軸速度
・コントローラのX軸加速度
・コントローラのY軸加速度
・コントローラのZ軸加速度
【0044】
位置、速度および加速度に関して、位置情報および/または方向情報がデカルト以外の座標系で表されてもよいことに注意する。例えば、円柱座標系または球座標系を位置、速度、加速度のために使用してもよい。X軸、Y軸、Z軸に対する加速度情報を、例えば本明細書で説明したような加速度計タイプのセンサから直接に求めてもよい。X速度、Y速度、Z速度における変化を決定するために、ある初期時刻からの時間に対してX加速度、Y加速度、Z加速度を積分してもよい。これらの速度は、初期時刻における既知の値であるX速度、Y速度、およびZ速度に速度変化を加えることで算出してもよい。コントローラのX変位、Y変位およびZ変位を決定するために、時間に対してX速度、Y速度およびZ速度を積分してもよい。X位置、Y位置およびZ位置は、初期時刻における既知のX位置、Y位置およびZ位置に変位を加えることで決定してもよい。
【0045】
・安定状態 Y/N
この特殊な情報はコントローラが安定状態にあるかどうかを示し、いずれの位置として定義することができ、また変化もする。好適な実施例では、安定状態にある位置とは、コントローラが、ユーザの腰とほぼ同じ高さにあっておおよそ水平方向に保持されているような位置としてもよい。
【0046】
・前回の安定状態からの時間
「前回の安定状態からの時間」は、概して、(上述したような)安定状態が最後に検出された以降に経過した期間の長さに関係するデータを指す。その時間の決定は、前に注目したように、実時間、処理サイクル、またはサンプリング周期で計算されてもよい。「前回の安定状態からの時間」のデータ時間は、ゲーム環境におけるキャラクタまたは物体のマッピングの正確さを確保するために、初期点に関するコントローラの追跡をリセットすることに対して重要である。このデータはまた、ゲーム環境でその後に(排他的にまたは包括的に)実行される可能性のある利用可能なアクションおよび/またはジェスチャの決定に対しても重要である。
【0047】
・認識された最後のジェスチャ
「認識された最後のジェスチャ」とは、概して、(ハードウェアまたはソフトウェアで実装可能な)ジェスチャ認識部505によって認識された最後のジェスチャを指す。後に認識される可能性のあるジェスチャまたはゲーム環境で起こる他のアクションに前回のジェスチャが関係し得るという事実に対して、認識された最後のジェスチャの特定は重要である。
【0048】
・認識された最後のジェスチャ時間
【0049】
上記の出力は、ゲームプログラムまたはソフトウェアでいつでもサンプリングできる。
【0050】
本発明の一実施形態では、ミキサ408は、分析部402、404、406からの追跡情報403、405、407に対して、分配値を割り当ててもよい。上述したように、入力コントロールデータの特定のセットが平均化されてもよい。しかしながら、本実施形態では、入力コントロールデータには平均化される前にある値が割り当てられ、これによって、一部の分析部からの入力コントロールデータが他の分析部からのデータよりも分析上より重要となっている。
【0051】
例えば、ミキサ408は、加速度と安定状態に関連した追跡情報を要求してもよい。ミキサ408は次に、上記の通り、追跡情報403、405、407を受け取る。追跡情報には、例えば上述したような加速度および安定状態に関係するパラメータが含まれていてもよい。この情報を表すデータを平均化する前に、ミキサ408は、追跡情報データセット403、405、407に分配値を割り当ててもよい。例えば、慣性分析部402からのX加速度パラメータおよびY加速度パラメータが90%の値で重み付けされてもよい。しかし、画像分析部406からのX加速度データおよびY加速度データが、わずか10%しか重み付けされなくてもよい。加速度パラメータに関係する音響分析部の追跡情報407には0%の重みを与える、すなわちデータ値がなくてもよい。
【0052】
同様に、慣性分析部402からのZ軸追跡情報パラメータには10%の重み付けがなされ、画像分析部のZ軸追跡情報には90%の重み付けがなされてもよい。音響分析部の追跡情報407には再度0%の重み付けがなされ、音響分析部406からの安定状態追跡情報には100%の重み付けがなされ、残りの分析部の追跡情報には0%の重み付けがなされてもよい。
【0053】
適当な分配重みが割り当てられた後、入力コントロールデータはその重みと一緒に平均されて加重平均された入力コントロールデータセットとなり、その後ジェスチャ認識部505により分析されてゲーム環境におけるある特定のアクションと関連付けられる。関連付けられる値は、ミキサ408または特定のゲームタイトルによって事前に定義されていてもよい。それらの値は、種々の分析部からのデータのうち特定の品質のものを識別しこれにより後述するようなダイナミック調節を行うミキサ408の結果であってもよい。また、この調節は、特定の環境においておよび/または所与のゲームタイトルの特有性に応じて、特定のデータが特定の値となる時期について過去の知識を構築した結果であってもよい。
【0054】
ミキサ408はゲームプレイ中、ダイナミックに作動するように構成されていてもよい。例えば、ミキサ408が様々な入力コントロールデータを受け取るとき、あるデータが、許容できる範囲またはデータ品質から連続して外れていること、または、関連した入力装置で処理エラーが起こったことを示す破損データを反映していることなどを認識してもよい。
【0055】
さらに、実世界環境では、特定の条件が変化する場合もある。例えば、家庭のゲーム環境では、午前から午後になると自然光が増加し、このために画像データの撮像に問題が生じる。さらに、日が進むにつれて近所や家の中が騒々しくなり、音響データの取り込みに問題が生じる。同様に、ユーザが数時間もプレイを続けると反射が段々シャープではなくなり、このために慣性データの解釈に問題が生じる。
【0056】
これらの例、または入力コントロールデータの特定のフォームの品質が問題になるような他の例においては、ミキサ408は、上記のように、特定の入力コントロールデータに多少とも重要性が与えられるような特定の装置からの特定のデータセットに対しては、分配重みを動的に再割り当てしてもよい。同様に、ゲーム環境がゲームの流れの中で変わるために、特定のゲームへのニーズが変わって、その結果、特定の入力コントロールデータに対する数値やニーズの再割り当てが要求されてもよい。
【0057】
同様に、ミキサ408は、ジェスチャ認識部505に渡されるデータのうち、処理間違いデータ、処理スピードの遅いデータ、または処理間違いやジェスチャ認識部505で生成されるデータのフィードバックにまったく基づかないデータがあることを認識してもよい。このフィードバックに応じて、またはこれらの処理上の困難(例えば、画像分析データが許容範囲内にある間、ジェスチャ認識部505によって関連付けられるときにはエラーが生じる)を認識して、ミキサ408は、どの分析部からの、どの時間の入力コントロールデータに対しても調節できる。ミキサ408はさらに、データを渡される前に、適切な分析部による入力コントロールデータの分析と処理を要求してもよく、そのことによって、データの再処理(例えば、データの平均)を行ってジェスチャ認識部505に渡すデータが効果的に適切に処理されることをさらに保証するようになされていてもよい。
【0058】
ある実施形態では、ミキサ408は、特定のデータが破損している、無効である、または特定の変数から外れている、などを認識し、そのデータに関連した特定の入力コントロールデータや変数を要求し、それによって、間違ったデータを置換したり、または必要な変数に対してデータを適切に分析または計算するようになされていてもよい。
【0059】
本発明による実施形態では、上述のタイプのビデオゲームシステムと方法は、図6に示すように実装することができる。ビデオゲームシステム600は、プロセッサ601とメモリ602(例えば、RAM、DRAM、ROMなど)を備える。さらに、ビデオゲームシステム600は、並列処理が実装されるのであれば、複数のプロセッサ601を備えてもよい。メモリ602はデータとゲームプログラムコード604を備え、上述のように構成された部分を備える。具体的には、メモリ602は上述したような保存コントローラ経路情報を含む慣性信号データ606を備えてもよい。メモリ602は、保存ジェスチャデータ608、例えば、ゲームプログラム604に関連した一つ以上のジェスチャを表すデータなどを含んでもよい。プロセッサ602で実行されるコード化された命令には、上述のように構成され機能する複数入力ミキサ605が実装されていてもよい。
【0060】
システム600はさらに、入出力(I/O)装置611、電源(P/S)612、クロック(CLK)613およびキャッシュ614などの公知のサポート機能610を備えてもよい。装置600は任意に、プログラムおよび/またはデータ保存のためのディスクドライブ、CD−ROMドライブ、テープドライブなどの大容量記憶装置615を備えてもよい。コントローラは任意に、コントローラ630とユーザとの相互作用を容易にするために、ディスプレイ装置616とユーザインタフェース618を備えてもよい。ディスプレイ装置616は、テキスト、数値、グラフ記号や画像を表示する陰極線管(CRT)、またはフラットパネルスクリーンの形であってもよい。ユーザインタフェース618は、キーボード、マウス、ジョイスティック、ライトペンや他の装置を備えてもよい。また、ユーザインタフェース618は分析対象の信号を直接取り込むために、マイクロホン、ビデオカメラ、またはその他の信号変換装置を備えてもよい。システム600のプロセッサ601、メモリ602、および他の部品は図6に示すように、システムバス620を介して、互いに信号(例えばコード命令およびデータ)を交換してもよい。
【0061】
マイクロホン配列622は、入出力装置611を介してシステム600に接続されてもよい。マイクロホン配列は、約2〜約8個のマイクロホン、好ましくは約4個を、隣接のマイクロホンとは約4cm未満、好ましくは約1〜2cmの距離離間して備えてもよい。好適には、配列622のマイクロホンは無指向性マイクロホンである。オプションの撮像装置623(例えばデジタルカメラ)は、入出力装置611を介して装置600に接続されてもよい。カメラに機械的に接続された一つ以上の位置決めアクチュエータ625が、入出力装置611を介してプロセッサ601との間で信号を交換してもよい。
【0062】
本明細書では、「入出力装置」という用語は、概してシステム600との間および周辺装置との間でデータを送受信するプログラム、操作または装置のいずれかを指す。すべてのデータ送受信は、ある装置からの出力と別の装置への入力と考えてよい。周辺装置には、キーボードやマウスなどの入力専用装置、プリンタなどの出力専用装置に加えて、入力装置および出力装置の両方として作動できる書き込み可能CD-ROMなどの装置が含まれてもよい。「周辺装置」という言葉には、マウス、キーボード、プリンタ、モニタ、マイクロホン、ゲームコントローラ、カメラ、外部Zipドライバまたはスキャナなどの外部装置に加えて、CD−ROMドライブ、CD−Rドライブまたは内部モデムなどの内部装置、または、フラッシュメモリ読み取りおよび書き込みハードドライブなどの他の周辺装置が含まれる。
【0063】
本発明のある実施形態では、装置600は、有線(例えばUSBケーブル)または無線を通した入出力装置611を介してプロセッサに接続されたコントローラ630を具備したビデオゲーム装置であってもよい。コントローラ630は、ビデオゲームプレイ中に通常使用されるコントロール信号を提供するアナログジョイスティックコントロール631と既知のボタン633を具備してもよい。そのようなビデオゲームは、メモリ602、または大容量記憶装置615に関連する他のプロセッサ読み取り可能媒体に保存されるプログラム604からの、プロセッサ読み取り可能データおよび/または指令として実装されてもよい。いくつかの実施形態では、ミキサ605は、アナログジョイスティックコントロール631とボタン633から入力を受信できる。
【0064】
ジョイスティックコントロール631は、通常、コントロールスティックを左右に動かすとX軸沿いの動きの信号を発信し、前後(上下)に動かすとY軸沿いの信号を発信するように構成されていてもよい。3次元の動き用に構成されたジョイスティックでは、スティックを左(反時計回り)または右(時計回り)に捻るとZ軸沿いの動きの信号を発信してもよい。これらX,Y,Zの3軸は、特に航空機に関する場合に、それぞれロール、ピッチ、ヨーと呼ばれることがある。
【0065】
ゲームコントローラ630は、プロセッサ602およびゲームコントローラ630の少なくとも一つまたはその両方と、デジタル通信を行うように作動するコミュニケーションインタフェースを備えてもよい。コミュニケーションインタフェースは、万能非同期送受信機(universal asynchronous receiver transmitter:UART)を具備してもよい。UARTは、追跡装置の稼動を制御するための、または他の装置と通信するために追跡装置からの信号を送信するためのコントロール信号を受信するよう動作可能であってもよい。代替的に、コミュニケーションインタフェースはUSBコントローラを備えてもよい。USBコントローラは、追跡装置の操作を制御するための、または他の装置と通信するために追跡装置からの信号を送信するためのコントロール信号を受信するように動作可能であってもよい。
【0066】
さらに、コントローラ630は、慣性信号を介して位置情報および/または方向情報をプロセッサ601に提供できる一つ以上の慣性センサ632を備えてもよい。方向情報には、コントローラ630の傾き、ロールまたはヨーなどの角度情報が含まれていてもよい。例示として、慣性センサ632には、任意の数の加速度計、ジャイロスコープまたは傾斜センサ、またはこれらの任意の組み合わせが含まれていてもよい。好適な実施形態では、慣性センサ632には、傾斜およびロール軸に対するゲームコントローラ630の方向を検知するように適応された傾斜センサ、ヨー軸沿いの加速度を検知するように適応された第1の加速度計、およびヨー軸に対する角加速度を検知するように適応された第2の加速度計を備える。加速度計は、例えば、一つ以上のばねで取り付けられた質量と一つ以上の方向に対する質量の変位を検知するセンサとを備えるMEMS装置として実装されてもよい。質量の変位に依存するセンサからの信号は、ゲームコントローラ630の加速度決定に用いられてもよい。そのような技術は、メモリ602に保存されプロセッサ601によって実行されるゲームプログラム604からの命令によって実現される。
【0067】
例示として、慣性センサ632として適した加速度計は、例えば、ばねなどで、フレームに3〜4点で伸縮自在に接続された単一の質量であってもよい。ピッチ軸とロール軸は、ゲームコントローラ630に設けられたフレームと交差する面に存在する。フレーム(およびゲームコントローラ630)がピッチ軸、ロール軸の回りを回転するにつれて、質量が重力の影響下で変位し、ばねがピッチ角および/またはロール角に依存する態様で伸縮する。質量の変位が検知され、ピッチ量および/またはロール量に依存した信号に変換される。ヨー軸回りの角加速度またはヨー軸沿いの線形加速度は、ばねの伸縮または質量の動きの特徴的なパターンを生成し、それらのパターンは検知されて角加速度量または線形加速度量に応じた信号に変換される。そのような加速度計装置は、質量の動きおよびばねの伸縮力を追跡することによって、傾斜、ヨー軸回りのロール角加速度およびヨー軸沿いの線形加速度を計測できる。質量の位置および/またはそれに働く力を追跡する方法には多くの違った方法があり、それらの方法には、抵抗歪みゲージ、音響センサ、磁気センサ、ホール効果素子、圧電素子、容量センサなどが含まれる。
【0068】
また、ゲームコントローラ630は、発光ダイオード(LED)などの光源634を一つ以上含んでもよい。光源634は、コントローラを他のコントローラと識別するために用いられる。例えば、一つ以上のLEDがあれば、LEDのパターンコードをぱっと光らせたり保持することで識別できる。例示として、ゲームコントローラ630上に5個のLEDが直線または2次元模様で設けることができる。LEDを直線状に配列することが好ましいが、他の方法として、四角形またはアーチ状に配置して、撮像装置623で得られたLEDパターン画像の分析時に、LED配列の画面の決定を容易にするようになされてもよい。さらに、LEDパターンコードは、ゲームプレイ中のゲームコントローラ630の位置決定にも使用できる。例えば、LEDは、コントローラの傾斜、ヨーおよびロールの特定を助けることができる。この検出パターンによって、例えば飛行機ゲームなどのゲームで、ユーザによりよい感情を提供できる。撮像装置623は、ゲームコントローラ630と光源634を含む像を撮影してもよい。そのような画像を分析すると、ゲームコントローラの位置および/または方向が決定できる。そのような分析は、メモリ602に保存されプロセッサ601で実行されるプログラムコード命令604によって実現されてもよい。撮像装置623による光源634の撮像を容易にするために、光源634は、ゲームコントローラ630の複数の異なる端部、例えば、前方と後方に配置してもよい(図6に影として示す)。そのような配置することによって、撮像装置623は、ユーザのゲームコントローラ630の保持の仕方に応じたゲームコントローラ630の種々の方向に対して、光源634の像を得ることができる。
【0069】
さらに、光源634は、例えば、パルスコード、振幅変調または周波数変調フォーマットでテレメトリ信号をプロセッサ601に提供してもよい。そのようなテレメトリ信号は、いずれのジョイスティックボタンが押されているか、および/またはどれ位強くボタンが押されているかを表してもよい。テレメトリ信号は、例えばパルス符号化、パルス幅変調、周波数変調または光強度(振幅)変調などによって、光信号に符号化されてもよい。プロセッサ601は、光信号からテレメトリ信号を復号化し、復号化されたテレメトリ信号に応じてゲームコマンドを実行してもよい。テレメトリ信号は、撮像装置623で得られたゲームコントローラ630の画像の分析から復号化されてもよい。または、装置600は、光源634からのテレメトリ信号受信専用の独立した光学センサを具備してもよい。コンピュータプログラムとのインタフェースにおける強度決定に併せてのLEDの使用は、例えば、2006年5月4日出願の米国特許出願第11/429,414号の”Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program”(代理人整理番号SONYP052)、発明者Richard L. Marks et al.に開示されており、その開示内容は全体として、参照により本明細書に援用される。また、光源634を含む画像の分析は、テレメトリおよびゲームコントローラ630の位置および/または方向の決定にも用いることができる。そのような技術は、メモリ602に保存されプロセッサ601によって実行されるプログラム604の命令によって実現されてもよい。
【0070】
プロセッサ601は、撮像装置623で検出された光源634からの光信号、および/またはマイクロホン配列622によって検出された音響信号からの音源場所と音源特性情報と共に、慣性センサ632からの慣性信号を用いて、コントローラ630および/またはユーザの場所および/または方向に関する情報を推測してもよい。例えば、「音響レーダ」の音源場所およびその特性は、マイクロホン配列622と共に用いられて、ゲームコントローラの動きが(慣性センサ632および/または光源634を通して)独立に追跡されている間、移動音源を追跡する。音響レーダ選択において、較正済み聴取領域が実行時間中に選択され、較正済み聴取領域以外の音源から発生した音はフィルタされて除かれる。較正済み聴取領域は、撮像装置623の焦点または視野にある音量に対応した聴取領域を含んでいてもよい。音響レーダの例は、2006年5月4日出願の米国特許出願第11/381,724号の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、発明者Xiadong Maoに詳細に開示されており、その開示内容は参照により本明細書に援用される。コントロール信号をプロセッサ601に供給するための種々の形態を種々組み合わせたものも、本発明の実施形態と併せて用いられてもよい。そのような技術は、メモリ602に保存されプロセッサ601で実行されるプログラムコード命令604によって実現されてもよく、また、任意に、実行時間中は較正済み聴取領域を選択し、較正済み聴取領域以外の音源から発生した音はフィルタをかけて除くための一つ以上のプロセッサを指揮する一以上の指令を含んでもよい。較正済み聴取領域は、撮像装置623の焦点または視野にある音量に対応した聴取領域を含んでいてもよい。
【0071】
プログラム604は任意に、マイクロホン配列622のマイクロホンM0〜MMから離散時間領域入力信号X(t)を生成し、聴取セクタを決定し、有限インパルス応答フィルタ係数を選択するセミブラインド(semi-blind)音源分離において聴取セクタを用いて、入力信号X(t)から異なる音源を分離する一つ以上のプロセッサを指揮する一以上の命令を含んでもよい。プログラム604には、基準マイクロホンMからの入力信号X(t)以外の選択入力信号X(t)に、一つ以上の非整数遅延(fractional delay)を適用する命令をさらに備えてもよい。マイクロホン配列からの離散時間領域出力信号y(t)の信号対雑音比を最適化するために、各非整数遅延が選択されてもよい。非整数遅延は、基準マイクロホンMからの信号が、配列の他のマイクロホンからの信号に対して最初であるように選択されてもよい。プログラム604は、非整数遅延Δを、y(t+Δ) = x(t+Δ)*b0 + x(t-1+Δ)*b1 + x(t-2+Δ)*b2 +…+ x(t-N+Δ)bNとなるようにマイクロホン配列の出力信号y(t)に導入する命令を含んでもよい。ここで、Δは0〜±1である。そのような技術の例は、2006年5月4日出願の米国特許出願第11/381,729号"ULTRA SMALL MICROPHONE ARRAY"、発明者Xiadong Maoに詳細に開示されており、その開示内容は参照により本明細書に援用される。
【0072】
プログラム604は、実行されると、システム600に、音源を含んだ事前較正済み聴取領域を選択させる一つ以上の命令を含んでもよい。そのような命令によって、音源が最初の領域内にあるか、またはその領域の特定の側にあるか否かを装置が判断するようになされていてもよい。音源が初期設定領域内に存在しない場合、命令は、実行時に、初期設定領域の特定の側にある別の領域を選択してもよい。別の領域は、最適値に最も近い入力信号の減衰によって特徴付けられてもよい。これらの命令は、実行されると、マイクロホン配列622からの入力信号の減衰と最適値への減衰を計算してもよい。命令は、実行されると、装置600が、一つ以上の領域に対する入力信号の減衰値を決定し、減衰が最適値に最も近い領域を選択するようになされてもよい。そのような技術の例は、2006年5月4日出願の米国特許出願第11/381,725号の"METHOD AND APPARATUS FOR TARGETED SOUND DETECTION"、発明者Xiadong Maoに開示されており、その開示内容は参照により本明細書に援用される。
【0073】
慣性センサ632からの信号は追跡情報入力の一部を提供し、撮像装置623による一つ以上の光源634の追跡から生成された信号は追跡情報入力の別の部分を提供する。例示として、またいかなる限定を行うことなく、そのような「混合モード」の信号は、フットボールタイプのビデオゲームで用いられ、ここでは、クォータバックが頭を左に動かすフェイントをかけた後ボールを右に投げる。具体的には、コントローラ630を保持したゲームプレイヤは、頭を左に向け、フットボールでするように、コントローラを右に振って投げる動作をしながら声を出す。「音響レーダ」プログラムコードと併せて、マイクロホン配列622はユーザの声を追跡できる。撮像装置623は、ユーザの頭の動きや、または、音やコントローラを必要としない他の命令を追跡できる。センサ632はゲームコントローラ(フットボールを表す)の動きを追跡してもよい。撮像装置623はまた、コントローラ630の光源634を追跡してもよい。ユーザは、ゲームコントローラ630の加速度がある量、および/またはある方向に達したとき、またはコントローラ630のボタンを押してトリガされるキーコマンドに基づいて、「ボール」を投げることができる。
【0074】
本発明のある実施形態では、加速度計またはジャイロスコープなどからの慣性信号は、コントローラ630の位置決めに用いられてもよい。具体的には、加速度計からの加速度信号は、速度変化を決定するために一旦時間積分されてもよく、速度は位置変化を決定するために時間積分されてもよい。ある時刻における初期位置と速度が既知であれば、これらの値と速度および位置変化とを用いて絶対位置を決定できる。慣性センサを用いた位置決定は、撮像装置623や光源634を用いる方法よりも早く行えるが、慣性センサ632は「ドリフト」として知られるタイプの誤差が起こりやすい。これは、時間と共に累積される誤差によって、慣性信号から計算されるジョイスティックの位置(図6に影で示す)とゲームコントローラの実際の位置との間で不一致Dが生じうる現象である。本発明の実施形態では、様々な方法でそのような誤差を処理できる。
【0075】
例えば、コントローラ630の初期位置を現在の計算位置と等しくなるように設定することにより、ドリフトを手動でキャンセルすることができる。ユーザは、コントローラ630の一つ以上のボタンを使って、初期位置を再設定する命令をトリガできる。代替的に、画像ベースのドリフトであれば、撮像装置623から得られた基準となる画像から決定される位置に現在位置を再設定することによりキャンセルすることができる。そのような画像ベースのドリフトに対する補償は、例えば、ユーザがゲームコントローラ630の一つ以上のボタンをトリガするときに、手動で行うことができる。または、画像ベースのドリフトに対する補償は、例えば、一定の間隔で、またはゲームプレイに応じて自動的に行える。そのような技術は、メモリ602に保存されプロセッサ601によって実行されるプログラムコード命令604によって実現される。
【0076】
ある実施形態では、慣性センサ信号の誤りデータを補正することが望ましい。例えば、慣性センサ632からの信号をオーバーサンプリングし、オーバーサンプリングされた信号から移動平均(sliding average)を計算して、慣性センサ信号から誤りデータを取り除くことができる。ある状況では、信号をオーバーサンプリングし、高い値および/または低い値をデータポイントの一部のサブセットから除き、残りのデータポイントから移動平均を計算することが望ましい。また、慣性センサからの信号を調節して誤りデータから優位性を除去または軽減する他のデータサンプリング技術やデータ処理技術も使用できる。いずれの技術を選択するかは、信号の性質、信号に対しての計算、ゲームプレイの性質、またはこれらの複数の組み合わせに依存する。そのような技術は、メモリ602に保存されプロセッサ601によって実行されるプログラム604の命令によって実現される。
【0077】
プロセッサ601は、上述のように、データ606と、メモリ602に保存、検索されプロセッサモジュール601によって実行されるプログラム604のプログラムコード命令とに応じて、慣性信号データ606の分析を実行する。プログラム604のコード部分は、アセンブリ、C++、JAVA(登録商標)またはその他の多くの言語などの多くの異なるプログラム言語のいずれにも準拠してよい。プロセッサモジュール601は、プログラムコード604などのプログラムを実行するときに専用コンピュータとなる汎用コンピュータを形成する。ここでは、プログラムコード604はソフトウェアに組み込まれ、汎用コンピュータで実行されるように説明したが、当業者には、タスク管理方法は、別の方法として、特定用途向け集積回路(ASIC)やその他のハードウェア回路などのハードウェアを用いて実現されることは理解されるであろう。このように、本発明の実施形態は、全体であれ一部分であれ、ソフトウェア、ハードウェアおよびその両方の組み合わせで実現されることは理解されるべきである。
【0078】
ある実施形態では、とりわけ、プログラムコード604は、図5Bの方法510と図5Cの方法520、またはこれらの複数の組み合わせに共通な特長を持った方法を実現するプロセッサ読み取り可能な命令セットを備えてもよい。プログラムコード604は、通常、一つ以上のプロセッサを指揮する一つ以上の命令を備えていて、慣性センサ632からの信号を分析し、位置情報および/または方向情報を生成して、ビデオゲームプレイ中、その情報を活用する。
【0079】
プログラムコード604は、実行されると、撮像装置623に、前方の視野を監視し、視野内の一つ以上の光源634を特定し、光源634からの光の変化を検出させ、変化の検出に応じてプロセッサ601に対する入力指令をトリガさせる、一つ以上の命令を含んだプロセッサ実行可能指令を任意に備えてもよい。ゲームコントローラのアクションをトリガするために撮像装置と共にLEDを使用することは、2004年1月16日出願の米国特許出願第10/759,782号の"METHOD AND APPARATUS FOR LIGHT INPUT DEVICE"、発明者Richard L. Marksに開示されており、その開示内容は参照により本明細書に援用される。
【0080】
プログラムコード604は、実行されると上述のように、ゲームシステムへの入力として、慣性センサからの信号と一つ以上の光源を追跡する撮像装置からの信号とを用いる一つ以上の命令を含むプロセッサ実行可能な命令を、任意に含んでもよい。プログラムコード604は、実行されると、慣性センサ632のドリフトを補償する一つ以上の命令を含むプロセッサ実行可能な命令を、任意に備えてもよい。
【0081】
さらに、プログラムコード604は、実行されると、ゲーム環境に対するコントローラ操作のギアリングおよびマッピングを調整する一つ以上の命令を含むプロセッサ実行可能な命令を、任意に備えてもよい。そのような特徴によって、ユーザは、ゲームコントローラ630の操作のゲーム状態に対する「ギアリング(比率)」を変えることができる。例えば、ゲームコントローラ630を45°回転させると、ゲーム物体の45°回転に一致する。しかし、この1:1伝動比は、コントローラのX°回転(または傾斜、ヨー、「操作」)がゲーム物体のY°回転(または傾斜、ヨー、「操作」)に変わるように変更できる。伝動比は1:1、1:2、1:XまたはX:Yにできる。ここでX,Yは任意の値である。さらに、ゲームコントローラへの入力チャネルのマッピングも、時間をかけて、または即座に変更できる。変更は、ジェスチャの軌跡モデルの変更、位置、スケール、ジェスチャしきい値などの変更を含む。そのようなマッピングは、ユーザに操作上のダイナミックレンジを提供するために、プログラム化されてもよいし、ランダムであってもよいし、段階的(tiered)であってもよいし、互い違い(staggered)であってもよい。マッピング、ギアリングまたは伝動比の変更は、ゲームコントローラ630にあるユーザ変更ボタン(キーパッドなど)を介したゲームプレイ、ゲーム状態に応じて、または広くは入力チャネルに応じて、ゲームプログラム604によって調節される。入力チャネルは、ユーザ音、コントローラで生成される音、コントローラで生成される音の追跡、コントローラボタン状態、ビデオカメラ出力、および、加速度計データ、傾斜、ヨー、ロール、位置、加速度、およびユーザまたはユーザが操作する物体を追跡できる他の任意のセンサからのデータを含むコントローラ遠隔操作データを含むことができるが、これらに限定されない。
【0082】
ある実施形態では、ゲームプログラム604は、所定の時間依存態様において、あるスキームからの経過時間によるマッピングまたはギアリング、または別のスキームへの伝動比を、それぞれ変更することができる。ギアリングとマッピング変更は、種々の方法でゲーム環境に応用できる。一例では、ビデオゲームキャラクタは、キャラクタが健康なときには一つのギアリングスキーム下でキャラクタを制御し、キャラクタの健康が損なわれるにつれて、キャラクタにコマンドをジェスチャで伝えるためのコントローラの動きに悪影響を及ぼすように、システムがコントローラコマンドを適合させることもできる。方向感覚を失ったビデオゲームキャラクタには、ユーザとしての入力チャネルマッピングを変更しなければならず、例えば、新しいマッピングの下でキャラクタのコントロールを取り戻すように入力調節するよう要求してもよい。入力チャネルのゲームコマンドへの変換を変更するマッピングスキームは、ゲームプレイ中に変わってもよい。この変換は、ゲーム状態に応じて、または入力チャネルの一つ以上の要素の下で発行された修正コマンドに応じて、様々な方法で発生する。ギアリングおよびマッピングは、入力チャネルの一つ以上の要素の構成および/または処理に影響を及ぼすように構成されてもよい。
【0083】
さらに、例えばスピーカ、ブザー、ホーンまたはパイプなどのサウンドエミッタ636がジョイスティックコントローラ630に取り付けられてもよい。ある実施形態では、サウンドエミッタはジョイスティックコントローラ630の「本体」に脱着可能に取り付けられてもよい。プログラムコード604によってマイクロホン配列622で検出した音の場所が特定され特性が明らかになる「音響レーダ」の実施例では、サウンドエミッタ636が、マイクロホン配列622によって検出可能でありプログラムコード604で用いられてゲームコントローラ630の位置を追跡する音響信号を提供してもよい。サウンドエミッタ636はさらに、ゲームコントローラ630からプロセッサ601へ、追加の「入力チャネル」を提供するように用いられてもよい。サウンドエミッタ636からの音響信号は、周期的にパルス化され、音響レーダが場所を追跡するためのビーコンを提供してもよい。音響信号(パルス化されたものまたはその他)は、可聴であっても超音波であってもよい。音響レーダはユーザのゲームコントローラ630の操作を追跡し、この場合、そのような操作の追跡には、ゲームコントローラ630の位置および方向に関する情報(例えば、ピッチ角、ロール角、ヨー角など)が含まれてもよい。パルスは、当業者が適用可能な適当なデューティサイクルでトリガされてもよく、また、システムから調整されたコントロール信号に基づいて開始されてもよい。システム600は、(プログラムコード604を介して)プロセッサ601に接続された複数のジョイスティックコントローラ630の間でコントロール信号の送信を調整し、複数のコントローラの追跡が可能なことを保証してもよい。
【0084】
ある実施形態では、ミキサ605は、アナログジョイスティックコントロール631やボタン633など、ゲームコントローラ630の既知のコントロールから受信した入力を使って、ゲームプログラム604の実行を制御するための入力を取得するように構成されてもよい。具体的には、ミキサ605の受信は、コントローラ630からのコントローラ入力情報の受信であってよい。コントローラ入力情報は、a)ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはb)ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含んでもよい。ミキサ605はさらに、コントローラ630が使用されている環境から追加入力情報を受け取ってもよい。例示として、またいかなる限定を行うことなく、追加入力情報には、i)環境中の撮像装置(例えば、撮像装置623)から得られる情報、および/または、ii)ゲームコントローラまたはユーザの少なくとも一つに関連付けられた慣性センサ(例えば、慣性センサ632)からの情報、および/または、iii)環境中の音響トランスデューサから得られる音響情報(例えば、マイクロホン配列622からの音響情報、場合によってはサウンドエミッタ636で生成された音響信号とともに)、の一つ以上を含んでもよい。
【0085】
コントローラ入力情報にはさらに、圧力感知式ボタンが作動中であるか否かを特定する情報が含まれてもよい。
ミキサ605は、コントローラ入力情報と追加入力情報とを処理して組合せ入力を求めることによって、ゲームプログラムの実行を制御するための組合せ入力を求めてもよい。
【0086】
組合せ入力には、ゲームプログラム604実行中のそれぞれ個々の機能を制御する個々の融合された入力が含まれてもよい。個々の融合された入力の少なくとも一部は、特定の個々の機能に関連したコントローラ入力情報と特定の個々の機能に関連した追加入力情報とを融合することによって、求めることができる。組合せ入力には、ゲームプログラム604実行中の機能を制御する融合された入力を含む。融合された入力の少なくとも一部は、機能に関連したコントローラ入力情報と機能に関連した追加入力情報とを融合することによって、求めることができる。そのような場合、コントローラ入力情報を表す値と追加入力情報を表す値とを平均することで、融合を実行してもよい。例示として、コントローラ入力情報の値は、追加入力情報の値と1:1の割合で平均されてもよい。代替的に、コントローラ入力情報と追加入力情報にはそれぞれ異なる重みが割り当てられ、割り当てられた重みに応じてコントローラ入力情報の値と追加入力情報の値との加重平均として、平均を求めてもよい。
【0087】
いくつかの実施形態では、コントローラ入力情報または追加入力情報の最初のものの値を、コントローラ入力情報または追加入力情報の第2のものの少なくとも一つに応じて起動される依然としてアクティブな機能に対する制御を修正するためのゲームプログラムに対する修正入力として、利用することができる。追加入力情報には、慣性センサ632の作動によって得られる慣性センサ情報、および/またはユーザの移動可能な物体の方向を表す方向情報が含まれてもよい。代替的に、追加入力情報には、ユーザの移動可能な物体の位置または方向の少なくとも一つを示す情報が含まれてもよい。本明細書において、ユーザの移動可能な物体とは、コントローラ630、またはコントローラ630本体に取り付けられた物を指してもよい。追加入力情報は、ユーザの移動可能な物体の方向を示す情報を含んでいてもよい。例示として、そのような方向情報には、ピッチ、ヨーまたはロールのうち少なくとも一つを示す情報が含まれてもよい。
【0088】
いくつかの実施形態では、コントロールスティック(例えばアナログスティック631の一つ)の位置を表すコントローラ入力情報の値と、ユーザの移動可能な物体の方向を表す追加入力情報の値とを融合することによって、組合せ入力を求めてもよい。上述のように、ユーザの移動可能な物体は、ゲームコントローラ630に取り付けられた物体、および/またはゲームコントローラ630であってもよい。ピッチを正の値(上昇)へと増加させつつコントロールスティックを後方に動かすとき、組合せ入力が増大されたピッチアップ入力を反映してもよい。同様に、ピッチを負の値(下降)へと減少させつつコントロールスティックを前方に動かすとき、組合せ入力が増大されたピッチダウン入力を反映してもよい
【0089】
大まかな制御情報としてコントロールスティックの位置を表すコントローラ入力情報の値を割り当て、微細な制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、組合せ入力を求めてもよい。代替的に、大まかな制御情報としてゲームコントローラのスイッチが作動中であるか否かを特定するコントローラ入力情報の値を割り当て、微細な制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、組合せ入力を求めてもよい。さらに、大まかな制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当て、微細な制御情報としてコントロールスティックの位置を表すコントローラ入力情報の値を割り当てることによって、組合せ入力を求めてもよい。さらに、微細な制御情報としてゲームコントローラのスイッチが作動中であるか否かを特定するコントローラ入力情報の値を割り当て、大まかな制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、組合せ入力を求めてもよい。これらの場合のいずれか、またはすべての場合において、組合せ入力は、微細な制御情報に応じて比較的わずかな量だけ調節された大まかな制御情報の値を表してもよい。
【0090】
いくつかの実施形態では、コントローラ入力情報によって表される値と追加入力情報によって表される値とを加算的に組み合わることによって組合せ入力が求められ、その結果、組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも小さな値を持つ信号を提供するようにしてもよい。または、組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも時間変化がよりゆるやかな平滑化された値を持つ信号をゲームプログラムに対して提供するようにしてもよい。組合せ入力が、増大した信号内容を有する高解像度信号をゲームプログラムに対して提供するようにしてもよい。高解像度信号は、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも急速な時間変化にさらされてもよい。
本発明の実施形態をビデオゲームコントローラ630に関連する例として記述したが、システム600を含む本発明の実施形態は、慣性センシング能力を有し、かつ無線であれそれ以外の方法であれ慣性センサ信号送信能力を有するユーザにより操作される本体、成型品、ノブ、または構造物などのいずれにも使用することができる。
【0091】
例示として、本発明の実施形態は、並列処理システムに実装することができる。このような並列処理システムは、通常、別々のプロセッサを用いて並列にプログラムの一部を実行するように構成される複数のプロセッサを備える。例示として、また限定を行うことなく、図7は本発明の実施形態によるあるタイプのセルプロセッサ700を示す。セルプロセッサ700は、図6のプロセッサ601、または図5Aのプロセッサ502として使用することができる。図7の例では、セルプロセッサ700は、メインメモリ702、パワープロセッサ要素(power processor element:PPE)704、および多数の相乗的プロセッサ要素(synergistic processor element:SPE)706を備える。図7の例では、セルプロセッサ700は、1個のPPE704と8個のSPE706とを備える。このような構成では、7個のSPE706が並列処理に用いられ、1個は他の7個の一つが故障したときのバックアップとして確保されている。代替的に、セルプロセッサは、複数のPPEからなる複数のグループ(PPEグループ)と、複数のSPEからなる複数のグループ(SPEグループ)とを備えてもよく、そのような場合、1グループ内の各ユニットでハードウェアリソースが共有される。しかしながら、SPEとPPEは、ソフトウェアにとって独立要素であるように見える必要がある。このように、本発明の実施形態は、図7に示される構成での使用に限定されるものではない。
【0092】
メインメモリ702は、通常、汎用の不揮発性記憶装置に加えて、システム構成、データ同期転送、メモリーマップドI/O、およびI/Oサブシステムなどの機能に用いられる専用のハードウェアレジスタまたはアレイも備える。本発明の実施形態では、ビデオゲームプログラム703がメインメモリ702内に常駐してもよい。ビデオプログラム703は、図4、図5A、図5Bおよび図5Cについて上述したような、またはこれらの組み合わせで表わされる慣性分析部、画像分析部、音響分析部、およびミキサを備えてもよい。プログラム703は、SPEおよび/またはPPEで実行される複数の信号処理タスクに分割されてもよい。
【0093】
例示として、PPE704は、関連するキャッシュL1およびL2を持った64ビットのパワーPCプロセッサユニット(PPU)であってもよい。PPE704は、システム管理リソース(例えば、メモリ保護テーブルなど)にアクセス可能な汎用処理装置である。ハードウェアリソースは、PPEに見られるように実アドレス空間に明示的にマップされてもよい。したがって、PPEは適当な実効アドレス値を用いて、直接これらのリソースのいずれにでもアドレス指定できる。PPE704の主な機能は、セルプロセッサ700のSPE706に対するタスク管理とタスク割り当てである。
【0094】
図7では1個のPPEだけが示されているが、セルブロードバンドエンジンアーキテクチャ(CBEA)などのセルプロセッサ実装では、セルプロセッサ700は、複数のPPEが存在するPPEグループに系統だてられた複数のPPEを有してもよい。これらのPPEグループはメインメモリ702へのアクセスを共有してもよい。さらに、セルプロセッサ700は二つ以上のSPEを備えてもよい。SPEグループもメインメモリ702へのアクセスを共有してもよい。このような構成も本発明の範囲内である。
【0095】
SPE706のそれぞれは、SPUと独自のローカル記憶領域LSとを含む。ローカル記憶領域LSは、メモリ記憶内の一つ以上の分離領域を備えており、それぞれの領域は専用のSPUと関連付けられている。各SPUは、独自の関連付けられた記憶領域内からの命令(データロードとデータ保存操作とを含む)だけを実行するように構成されてもよい。そのような構成では、ローカル記憶領域LSとシステム700のそれ以外の間とのデータ転送は、メモリフローコントローラ(MFC)からダイレクトメモリアクセス(DMA)命令を出すことによって行われ、(個々のSPEの)ローカル記憶領域との間でデータ転送される。なんらシステム管理機能を果たさないSPUは、PPE704よりは簡単な構造のコンピュータ装置である。SPUは、一般にSIMD(single instruction, multiple data)機能を有し、通常はデータ処理を行い、割り当てられたタスクを行うために(PPEにより設定されたアクセス特性にしたがって)要求されたデータ転送を開始する。SPUの目的は、より高いコンピュータ装置密度を要求するアプリケーションを可能として、提供された命令セットを有効に利用できるようにすることである。PPE704で管理されるシステムにおけるかなり多くのSPEは、広範囲のアプリケーションにおいて費用効果の高い処理を可能にする。
【0096】
各SPE706は、メモリ保護情報とアクセス許可情報を保持し処理できる関連メモリ管理ユニットを備えた専用のメモリフローコントローラ(MFC)を備えている。MFCは、セルプロセッサのメイン記憶とSPEのローカル記憶間でのデータ転送、保護および同期化のための主要な方法を提供する。MFC命令は実行される転送を記述する。データ転送命令は、MFCダイレクトメモリアクセス(DMA)命令(またはMFCDMA命令)と呼ばれることがある。
【0097】
各MFCは、同時に複数のDMA転送をサポートし、複数のMFC命令を維持、処理してもよい。各MFCDMAデータ転送命令要求は、ローカルストレージアドレス(LSA)と有効アドレス(EA)の両方を伴ってもよい。ローカルストレージアドレスは、関連するSPEのローカルストレージアドレスだけに直接アドレス指定できる。実効アドレスは、例えば、実アドレス空間に名前を変えられれば、すべてのSPEローカルストレージ領域を含むメイン記憶を参照できるなどの、もっと一般的なアプリケーションを備えてもよい。
【0098】
SPE706同士の間、および/またはSPE706とPPE704との間の通信を容易にするために、SPE706とPPE704は、シグナリングイベントに関する信号通知レジスタを備えてもよい。PPE704とSPE706は、PPE704がSPE706にメッセージを送信するルータのように働くスター構成(topology)によって接続されてもよい。代替的に、各SPE706とPPE704は、メールボックスと呼ばれる一方向信号通知レジスタを有してもよい。メールボックスは、SPE706によって使用されOSの同期操作を主催する。
【0099】
セルプロセッサ700は、マイクロホン配列712、任意の撮像装置713およびゲームコントローラ730などの周辺装置とインタフェースできる入出力(I/O)機能を備えてもよい。ゲームコントローラユニットは慣性センサ732と光源734を備えてもよい。さらに、要素相互接続バス710は、上記に挙げた種々の部品を接続できる。各SPEおよびPPEは、バスインタフェースユニット(BIU)を介してバス710にアクセスできる。セルプロセッサ700は、通常プロセッサに見られる二つのコントローラと、バス710とメインメモリ702の間のデータ流れを制御するメモリインタフェースコントローラ(MIC)と、I/O708とバス710の間のデータ流れを制御するバスインタフェースコントローラ(BIC)とを備えてもよい。MIC、BIC,BIUおよびバス710に対する要件は、実装が異なると大きく変わるが、当業者はそれらの機能および実装回路については精通しているだろう。
【0100】
セルプロセッサ700は、内部割り込みコントローラ(IIC)を備えてもよい。IIC装置は、PPEに提示される割り込みの優先権を管理する。IICによって、セルプロセッサ700の他の要素からの割り込みを、メインシステムの割り込みコントローラを用いずに処理できる。IICは第2レベルのコントローラと考えることもできる。メインシステムの割り込みコントローラは、セルプロセッサの外部で発生した割り込みを処理してもよい。
【0101】
本発明の実施形態では、上述の非整数遅延などの計算は、PPE704および/または一つ以上のSPE706を用いて並列に実行されてもよい。各非整数遅延計算は、使用可能な異なるSPE706が別々に請け負う一つ以上の別々のタスクとして実行されてもよい。
【0102】
上記は、本発明の好適な実施形態に関する完全な記述であるが、種々の変形、変更および等価物を用いることが可能である。したがって、本発明の技術範囲は、上記の内容を参照して決定されるべきではなく、その代わりに、添付の特許請求の範囲およびそれらの等価物の全範囲と併せて決定されるべきである。本明細書で説明した好適なまたはそれ以外のすべての特徴は、本明細書に記載された他の好適なまたはそれ以外のいかなる特徴とも組み合わせることができる。特許請求の範囲においては、不定冠詞“A”または“An”は、特にそうでないと明確に述べられた場合を除いて、冠詞に続く品目の一つ以上の数量を指す。添付の特許請求の範囲は、”means for”の句を使って明確にそのような限定が行われない限り、ミーンズプラスファンクションの限定が含まれると解釈されるべきではない。
【0103】
優先権の主張
本出願は、2006年5月4日出願の”ULTARA SMALL MICROPHONE ARRAY”、米国特許出願第11/381,729号、発明者Xiao Dong Mao;2006年5月4日出願の”ECHO AND NOISE CANCELLATION”、米国特許出願第11/381,728号、発明者Xiao Dong Mao;2006年5月4日出願の”METHOD AND APPARATUS FOR TARGETED SOUND DETECTION“、発明者Xiao Dong Mao;2006年5月4日出願の”NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE CONSOLE”、米国特許出願第11/381,727号、発明者Xiao Dong Mao;2006年5月4日出願の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、米国特許出願第11/381,724号、発明者Xiao Dong Mao;および2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACIVE PROCESSING”、米国特許出願第11/381,721号、発明者Xiao Dong Maoに対して優先権を主張し、その全開示内容が参照により本明細書に援用される。
【0104】
本出願は、2006年5月4日出願の”METHODS AND APPARATUS FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS”、同時係属米国特許出願第11/418,988号、発明者Xiao Dong Mao;2006年5月4日出願の”METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE”、同時係属米国特許出願第11/418,989号、発明者Xiao Dong Mao;2006年5月4日出願の”METHODS AND APPARATUS FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL”、同時係属出願第11/429,047号,発明者Xiao Dong Mao;2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING”、同時係属出願第11/429,133号、発明者Richard Marks et al.;および2006年5月4日出願の”Computer Image and Audio Processing of Intensity and Input Devices for Interfacing With A Computer Program”、同時係属出願第11/429,414号、発明者Richard Marks et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0105】
本出願はさらに、2006年5月6日出願の”MULTI-INPUT GAME CONTROL MIXER”、米国特許出願第11/382,031号;2006年5月6日出願の”SYSTEM FOR TRACKING USER MANIPULATIONS WITHIN AN ENVIRONMENT”、米国特許出願第11/382,032号;2006年5月6日出願の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”、米国特許出願第11/382,033号;2006年5月6日出願の”INERTIALLY TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,035号;2006年5月6日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO VISUAL TRACKING”、米国特許出願第11/382,036号;2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO INERTIAL TRACKING”、米国特許出願第11/382,041号;および2006年5月6日出願の”SYSTEM FOR APPLYING GEARING EFFECTS TO ACOUSTIC TRACKING”、米国特許出願第11/382,038号;2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO MULTI-CHANNEL MIXED INPUT”、米国特許出願第11/382,040号;2006年5月6日出願の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”、米国特許出願第11/382,034号;2006年5月6日出願の”SCHEME FOR TRANSLATING MONEMENTS OF A HAND-HELD CONTROLLER INTO INPUTS FOR A SYSTEM”、米国特許出願第11/382,O37号;2006年5月7日出願の”DETECTABLE AND TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,043号;2006年5月7日出願の”METHOD FOR MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO GAME COMMANDS”、米国特許出願第11/382,039号;2006年5月6日出願の”CONTROLLER WITH INFRARED PORT”、米国意匠出願第29/259,349号;2006年5月6日出願の”CONTROLLER WITH TRACKING SENSORS”、米国意匠出願第29/259,350号;2006年5月6日出願の”DYNAMIC TARGET INTERFACE”、米国特許出願第60/798,031号;および2006年5月8日出願の”OBTAINING INPUT FOR CONTROLLING EXECUTION OF A GAME PROGRAM”、米国特許出願第11/382,250号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0106】
本明細書はさらに、2006年5月8日出願の”SYSTEM AND METHOD FOR USING USER’S VISUAL/ADIOU ENVIRONMENT TO SELECT ADVERTISING”、米国特許出願第11/430,594号、発明者Gary Zalewski およびRiley R. Russellに対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0107】
本明細書はさらに、2006年5月8日出願の”Using Audio/Visual Environment To Select Ads On Game Platform”、米国特許出願第11/430,593号、発明者Gary Zalewski およびRiley R. Russellに対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0108】
本明細書はさらに、2006年5月8日出願の”Method and apparatus for use in determining lack of user activity in relation to a system”、米国同時係属出願第11/382,259号、発明者Gary Zalewski et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0109】
本明細書はさらに、2006年5月8日出願の”Method and apparatus for use in determining an activity level of a user in relation to a system”、米国特許出願第11/382,258号、発明者Gary Zalewski et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0110】
本明細書はさらに、2006年5月8日出願の”Hand-held controller having detectable elements for tracking purposes”、米国同時係属出願第11/382,251号、発明者Gary Zalewski et al.に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0111】
本明細書はさらに、2006年5月8日出願の”TRACKING DEVICE FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,252号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0112】
本明細書はさらに、2006年5月8日出願の”TRACKING DEVICE WITH SOUND EMITTER FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,256号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0113】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTROLLER FRONT FACE”、米国同時係属出願第29/246,744号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0114】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTOLLER”、米国意匠出願第29/246,743号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0115】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,767号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0116】
本明細書はさらに、2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,768号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0117】
本明細書はさらに、2006年5月8日出願の”ERGONOMIC GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,763号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0118】
本明細書はさらに、2006年5月8日出願の”GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,759号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0119】
本明細書はさらに、2006年5月8日出願の”DESIGN FOR OPTICAL GAME CONTROLLER INTERFACE”、米国同時係属意匠出願第29/246,765号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0120】
本明細書はさらに、2006年5月8日出願の”DUAL GRIP GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,766号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0121】
本明細書はさらに、2006年5月8日出願の”GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,764号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0122】
本明細書はさらに、2006年5月8日出願の”ERGONOMIC GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,762号に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【0123】
関連出願に対する相互参照
本出願は、2005年9月15日出願の”AUDIO, VIDEO, SIMULATION,AND USER INTERFACE PARADIGMS”、米国仮出願番号第60/718,145号に関連し、その開示内容が参照によって本明細書に援用される。
【0124】
本出願は、2002年7月27日出願の”MAN-MACHINE INTERFACE USING A DEFORMABLE DEVICE”、米国特許出願第10/207,677号;2003年8月27日出願の”AUDIO INPUT SYSTEM”、米国特許出願第10/650,409号;2003年9月15日出願の”METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION”、米国特許出願第10/663,236号;2004年1月16日出願の”METHOD AND APPARATUS FOR LIGHT INPUT DEVICE”、米国特許出願第10/759,782号;2004年4月7日出願の”METHOD AND APPARATUS TO DETECT AND REMOVE AUDIO DISTURBANCES”、米国特許出願第10/820,469号;2005年12月12日出願の”METHOD FOR USING RELATIVE HEAD AND HAND POSITIONS TO ENABLE A POINTING INTERFACE VIA CAMERA TRACKING”、米国特許出願第11/301,673号;および2005年6月22日出願の”DELAY MATCHING IN AUDIO/VIDEO SYSTEM”、米国特許出願第11/165,473号に関連し、その開示内容が参照によって本明細書に援用される。
【0125】
本発明はさらに、2006年4月10日出願の”System And Method For Obtaining user Information From Voices”、米国同時係属特許出願第11/400,997号に関連し、その開示内容が参照によって本明細書に援用される。
【図面の簡単な説明】
【0126】
【図1】本発明の一実施形態にしたがって作動するビデオゲームシステムを示す図である。
【図2】本発明の一実施形態にしたがって作られたコントローラの透視図である。
【図3】本発明の一実施形態によるコントローラに用いられる加速度計を示す3次元概略図である。
【図4】本発明の一実施形態による各種制御入力のミキシングシステムのブロック図である。
【図5A】図1のビデオゲームシステム部のブロック図である。
【図5B】本発明の一実施形態によるビデオゲームシステムのコントローラ追跡方法を示すフロー図である。
【図5C】本発明の一実施形態によるビデオゲームシステムでのゲームプレイ中の、位置情報および/または方向情報の利用方法を示すフロー図である。
【図6】本発明の一実施形態によるビデオゲームシステムを示すブロック図である。
【図7】本発明の一実施形態によるビデオゲームシステムにおけるセルプロセッサ実装のブロック図である。

【特許請求の範囲】
【請求項1】
ゲームプログラムの実行を制御するための入力を取得する方法であって、
a)ゲームコントローラのユーザにより移動可能なコントロールスティックの現在位置を該コントロールスティックの停止位置に関連して特定する情報、またはb)ゲームコントローラに含まれるスイッチが作動中であるか否かを特定する情報、の少なくとも一つを含むコントローラ入力情報を、ユーザが操作可能なゲームコントローラから受け取るステップと、
前記コントローラが使用される環境から追加入力情報を受け取るステップと、
前記コントローラ入力情報と前記追加入力情報とを処理して組合せ入力を得ることによって、ゲームプログラムの実行を制御するための組合せ入力を取得するステップと、
を含むことを特徴とする方法。
【請求項2】
前記組合せ入力は、前記ゲームプログラム実行中のそれぞれ個々の機能を制御するための個々の融合された入力を含み、
前記個々の融合された入力の少なくとも一部は、特定の個々の機能に関連したコントローラ入力情報と、特定の個々の機能に関連した追加入力情報とを融合して得られることを特徴とする請求項1に記載の方法。
【請求項3】
前記組合せ入力はゲームプログラム実行中の機能を制御する融合された入力を含み、前記融合された入力の少なくとも一部は、前記機能に関連したコントローラ入力情報と前記機能に関連した追加入力情報とを融合して得られることを特徴とする請求項1に記載の方法。
【請求項4】
前記融合は、前記コントローラ入力情報を表す値と、前記追加入力情報を表す値とを平均することで行われることを特徴とする請求項2または3に記載の方法。
【請求項5】
前記コントローラ入力情報の値は、前記追加入力情報の値と1:1の割合で平均されることを特徴とする請求項4に記載の方法。
【請求項6】
前記コントローラ入力情報と前記追加入力情報にはそれぞれ異なる重みが割り振られ、前記平均するステップは、コントローラ入力情報の値と追加入力情報の値との割り振られた重みに応じた加重平均として行われることを特徴とする請求項4に記載の方法。
【請求項7】
ゲームプログラムへの入力の修正として前記コントローラ入力情報または前記追加入力情報のうち第1の情報を利用して、コントローラ入力情報または追加入力情報のうち第2の情報の少なくとも一つに応じて起動された依然としてアクティブな機能に対する制御を修正するステップをさらに含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記追加入力情報は、慣性センサの作動によって求められる慣性センサ情報またはユーザが移動可能な物体の方向を表す方向情報のうち少なくとも一つを含むことを特徴とする請求項2、3または7に記載の方法。
【請求項9】
前記慣性センサは、前記ゲームコントローラに取り付けられ、加速度計またはジャイロスコープのうち少なくとも一つであることを特徴とする請求項8に記載の方法。
【請求項10】
前記追加入力情報は、ユーザが移動可能な物体の位置または方向のうち少なくとも一つを示す情報を含むことを特徴とする請求項2または8に記載の方法。
【請求項11】
前記ユーザが移動可能な物体は、前記ゲームコントローラまたは該ゲームコントローラ本体に取り付けられた物のうち少なくとも一つであり、前記追加入力情報は前記ユーザが移動可能な物体の方向を示す情報を含むことを特徴とする請求項10に記載の方法。
【請求項12】
前記追加入力情報はピッチ、ヨーまたはロールの少なくとも一つを示す情報を含むことを特徴とする請求項10に記載の方法。
【請求項13】
前記追加入力情報はピッチ、ヨー、またはロールを示す情報を含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記組合せ入力は、コントロールステックの位置を表すコントローラ入力情報の値と、前記ユーザが移動可能な物体の方向を表す前記追加入力情報の値とを融合して得られることを特徴とする請求項10ないし13のいずれかに記載の方法。
【請求項15】
前記ユーザが移動可能な物体は、前記ゲームコントローラに取り付けられた物体または前記ゲームコントローラの少なくとも一つであり、ピッチを正の値(上昇)へと増加させつつ前記コントロールスティックを後方に動かすとき、前記組合せ入力が増大されたピッチアップ入力を反映することを特徴とする請求項14に記載の方法。
【請求項16】
前記ユーザが移動可能な物体は、前記ゲームコントローラに取り付けられた物体または前記ゲームコントローラの少なくとも一つであり、ピッチを負の値(下降)へと減少させつつ前記コントロールスティックを前方に動かすとき、前記組合せ入力が増大されたピッチダウン入力を反映することを特徴とする請求項15に記載の方法。
【請求項17】
大まかな制御情報として前記コントロールスティックの位置を表すコントローラ入力情報の値を割り当て、微細な制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、前記組合せ入力が求められ、
前記組合せ入力は、微細な制御情報に応じて比較的わずかな量だけ調節された大まかな制御情報の値を表すことを特徴とする請求項14に記載の方法。
【請求項18】
大まかな制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定するコントローラ入力情報の値を割り当て、微細な制御情報としてユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、前記組合せ入力が求められ、
前記組合せ入力は、微細な制御情報に応じて比較的わずかな量だけ調節された大まかな制御情報の値を表すことを特徴とする請求項14または17に記載の方法。
【請求項19】
大まかな制御情報としてユーザが移動可能な物体の方向を表す前記追加入力情報の値を割り当て、微細な制御情報として前記コントロールスティックの位置を表すコントローラ入力情報の値を割り当てることによって、前記組合せ入力が求められ、
前記組合せ入力は、微細な制御情報に応じて比較的わずかな量だけ調節された大まかな制御情報の値を表すことを特徴とする請求項14または18に記載の方法。
【請求項20】
微細な制御情報として前記ゲームコントローラのスイッチが作動中であるか否かを特定するコントローラ入力情報の値を割り当て、大まかな制御情報として前記ユーザが移動可能な物体の方向を表す追加入力情報の値を割り当てることによって、前記組合せ入力が求められ、
前記組合せ入力は、微細な制御情報に応じて比較的わずかな量だけ調節された大まかな制御情報の値を表すことを特徴とする請求項14、17または19のいずれかに記載の方法。
【請求項21】
前記コントローラ入力情報によって表される値と、前記追加入力情報によって表される値とを加算的に組み合わせることによって前記組合せ入力が求められ、その結果、前記組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも大きな値を持つ信号を前記ゲームプログラムに対して提示することを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項22】
前記コントローラ入力情報によって表される値と、前記追加入力情報によって表される値とを減算的に組み合わることによって前記組合せ入力が求められ、その結果、前記組合せ入力が、コントローラ入力情報または追加入力情報の値のいずれか単独の値よりも小さな値を持つ信号を前記ゲームプログラムに対して提示することを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項23】
前記組合せ入力が、前記コントローラ入力情報または前記追加入力情報の値のいずれか単独の値よりも時間変化がよりゆるやかな平滑化された値を持つ信号を前記ゲームプログラムに対して提示することを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項24】
前記組合せ入力が、前記コントローラ入力情報または前記追加入力情報の値のいずれか単独の値よりも急速に時間変化し、かつ信号内容が増加した高解像度信号を前記ゲームプログラムに対して提示することを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項25】
前記追加入力情報は、環境中の音響トランスデューサから得られる音響情報を含むことを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項26】
前記コントローラ入力情報は、圧力感知式ボタンが作動中であるか否かを特定する情報を含むことを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項27】
前記追加入力情報は、i)環境中の撮像装置から得られる情報、ii)ゲームコントローラまたはユーザの少なくとも一つに関連付けられた慣性センサからの情報、またはiii)環境中の音響トランスデューサから得られる情報のうち、少なくとも一つの情報を含むことを特徴とする請求項1ないし3のいずれかに記載の方法。
【請求項28】
前記追加入力情報は、環境中の撮像装置から得られる情報と、ゲームコントローラまたはユーザの少なくとも一つに関連付けられた慣性センサからの情報と、環境中の音響トランスデューサから得られる情報とを含むことを特徴とする請求項1ないし3のいずれかに記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図5C】
image rotate

【図6】
image rotate

【図7】
image rotate