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