(57)【要約】【解決手段】オブジェクトから入力データを取得する際に使用する方法であって、イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップ（１４０２）と、前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップ（１４０４）と、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得するステップ（１４０６）と、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップ（１４０８）と、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップ（１４１０）とを含む。装置と、プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体もまた開示される。【選択図】図６Ａ
2010531520.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトから入力データを取得する際に使用する方法であって、
イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップと、
前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得するステップと、
前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、
前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを含む方法。
【請求項２】
前記イメージキャプチャデバイス以外の前記１以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項１に記載の方法。
【請求項３】
前記イメージキャプチャデバイス以外の前記１以上のセンサは、前記オブジェクトにある加速度計を含む請求項１に記載の方法。
【請求項４】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項１に記載の方法。
【請求項５】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項１に記載の方法。
【請求項６】
前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すステップをさらに含む請求項１に記載の方法。
【請求項７】
前記イメージキャプチャデバイスはカメラを含む請求項１に記載の方法。
【請求項８】
前記イメージキャプチャデバイスはＺ−カメラを含む請求項１に記載の方法。
【請求項９】
前記オブジェクトは携帯型コントローラを含む請求項１に記載の方法。
【請求項１０】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項１に記載の方法。
【請求項１１】
オブジェクトから入力データを取得する際に使用する装置であって、
オブジェクトのライブ画像をキャプチャするように構成されたイメージキャプチャデバイスと、
前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取り、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得し、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較し、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するように構成されたプロセッサベースのシステムとを含む装置。
【請求項１２】
前記イメージキャプチャデバイス以外の前記１以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項１１に記載の装置。
【請求項１３】
前記イメージキャプチャデバイス以外の前記１以上のセンサは、前記オブジェクトにある加速度計を含む請求項１１に記載の装置。
【請求項１４】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項１１に記載の装置。
【請求項１５】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項１１に記載の装置。
【請求項１６】
前記プロセッサベースのシステムは、前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すようにさらに構成されている請求項１１に記載の装置。
【請求項１７】
前記イメージキャプチャデバイスはカメラを含む請求項１１に記載の装置。
【請求項１８】
前記オブジェクトは携帯型コントローラを含む請求項１１に記載の装置。
【請求項１９】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項１１に記載の装置。
【請求項２０】
プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体であって、前記コンピュータプログラムは前記プロセッサベースのシステムに、
イメージキャプチャデバイスからオブジェクトのキャプチャされたライブ画像を受け取るステップと、
前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得するステップと、
前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、
前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを実行させることを特徴とする記録媒体。
【請求項２１】
前記イメージキャプチャデバイス以外の前記１以上のセンサは、前記オブジェクトにあるジャイロセンサを含む請求項２０に記載の記録媒体。
【請求項２２】
前記イメージキャプチャデバイス以外の前記１以上のセンサは、前記オブジェクトにある加速度計を含む請求項２０に記載の記録媒体。
【請求項２３】
前記オブジェクトの回転した参照画像は、ストレージから読み出すことによって得られる請求項２０に記載の記録媒体。
【請求項２４】
前記オブジェクトの回転した参照画像は、前記オブジェクトの参照画像を回転することにより得られる請求項２０に記載の記録媒体。
【請求項２５】
前記コンピュータプログラムは、前記プロセッサベースのシステムに、前記オブジェクトのライブ画像と回転した参照画像を正規化フィルタに通すステップを実行させるようにさらに構成されている請求項２０に記載の記録媒体。
【請求項２６】
前記イメージキャプチャデバイスはカメラを含む請求項２０に記載の記録媒体。
【請求項２７】
前記イメージキャプチャデバイスはＺ−カメラを含む請求項２０に記載の記録媒体。
【請求項２８】
前記オブジェクトは携帯型コントローラを含む請求項２０に記載の記録媒体。
【請求項２９】
前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの複数の回転した参照画像が取得され、前記オブジェクトのライブ画像は、前記オブジェクトの複数の回転した参照画像の各々と比較される請求項２０に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、米国特許出願第11/840,170号、2007年8月16日出願の「OBJECT DETECTION USING VIDEO INPUT COMBINED WITH TILT ANGLE INFORMATION」の継続出願であり、米国特許出願第11/536,559号、2006年9月28日出願の「MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO THE TWO-DIMENSIONAL IMAGE PLANE OF A DISPLAY SCREEN」の一部継続出願であり、両アプリケーションとその全開示内容は、参照により本明細書に援用される。
【０００２】
本発明は、一般にコンピュータ・エンターテイメント・システムに関し、より詳細には、そのようなコンピュータ・エンターテイメント・システム用のコントローラのユーザ操作に関する。
【背景技術】
【０００３】
コンピュータ・エンターテイメント・システムは、一般的に手持ち型コントローラ、ゲーム・コントローラまたは他のコントローラを含む。ユーザまたはプレーヤは、プレイ中のテレビゲームまたは他のシミュレーションを制御するために、コントローラを使用してエンターテイメント・システムに対してコマンドまたは他の指示を送る。例えば、コントローラはユーザにより操作されるマニピュレータ（例えばジョイスティック）を備えていてもよい。ジョイスティックの操作された可変量はアナログ値からデジタル値に変換され、ゲーム機のメインフレームに送られる。コントローラは、ユーザによって操作可能であるボタンを備えていてもよい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
これらの情報および他の背景情報に関して、本発明は考案された。
【課題を解決するための手段】
【０００５】
ある実施の形態は、オブジェクトから入力データを取得する際に使用する方法であって、イメージキャプチャデバイスを用いてオブジェクトのライブ画像を取得するステップと、前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得するステップと、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを含む。
【０００６】
別の実施の形態は、オブジェクトから入力データを取得する際に使用する装置であって、オブジェクトのライブ画像をキャプチャするように構成されたイメージキャプチャデバイスと、前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取り、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得し、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較し、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するように構成されたプロセッサベースのシステムとを含む。
【０００７】
別の実施形態は、プロセッサベースのシステムによって実行可能なコンピュータプログラムを格納する記録媒体であって、前記コンピュータプログラムは前記プロセッサベースのシステムに、イメージキャプチャデバイスからオブジェクトのキャプチャされたライブ画像を受け取るステップと、前記イメージキャプチャデバイス以外の１以上のセンサから前記オブジェクトの傾斜角に関する情報を受け取るステップと、前記オブジェクトの傾斜角に関する情報を用いて、前記オブジェクトの少なくとも１つの回転した参照画像を取得するステップと、前記オブジェクトのライブ画像を前記オブジェクトの回転した参照画像と比較するステップと、前記ライブ画像が前記回転した参照画像と一致したことに応答して指標を生成するステップとを実行させる。
【０００８】
本発明の様々な実施形態の特徴および利点は、本発明の実施形態の原理が利用される具体例について述べる以下の詳細な説明および添付の図面を参照することによって、より良く理解されるであろう。
【０００９】
本発明の実施形態の上記態様および他の態様、特徴、利点は、以下の図面とともに提示される以下のより詳細な説明から、さらに明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明の実施の形態にしたがって動作するシステムを示す模式図である。
【図１Ｂ】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図１Ｃ】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図１Ｄ】本発明の実施の形態にしたがって作成されるコントローラの斜視図である。
【図１Ｅ】本発明のいくつかの実施の形態にしたがって作成されるコントローラの斜視図である。
【図２Ａ】本発明の実施の形態にしたがってコントローラの位置情報を決定する方法を示す模式図である。
【図２Ｂ】本発明の実施の形態にしたがってコントローラの位置情報を決定する方法を示す画像平面の平面図である。
【図３Ａ】本発明の実施の形態にしたがって情報を取得する際に用いられる方法を示すフロー図である。
【図３Ｂ】本発明の実施の形態にしたがってシステムに入力を与える際に用いられる方法を示すフロー図である。
【図４】本発明の実施の形態にしたがって本明細書に記載されている方法および技術を実施、実装および／または実行するために使用可能であるシステムを示すブロック図である。
【図５】本発明の実施の形態にしたがって本明細書に記載されている方法および技術を実施、実装および／または実行するために使用可能であるプロセッサを示すブロック図である。
【図６Ａ】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図６Ｂ】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図６Ｃ】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図７】本発明の実施の形態に係るシステムを制御する際に使用する方法を説明するフロー図である。
【図８】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図９】本発明の別の実施の形態にしたがって動作するシステムを説明するブロック図である。
【図１０】本発明の別の実施の形態にしたがって動作するシステムを説明する模式図である。
【図１１Ａ】本発明の実施の形態に係る記載したシステムにおいてオプションとして使用されるコントローラを説明する斜視図である。
【図１１Ｂ】本発明の実施の形態に係る記載したシステムにおいてオプションとして使用されるコントローラを説明する斜視図である。
【図１２】本発明の一実施形態にしたがう様々な制御入力を混合するためのシステムのブロック図である。
【図１３Ａ】本発明の一実施形態によるシステムのブロック図である。
【図１３Ｂ】本発明の一実施形態による方法のフロー図である。
【図１３Ｃ】本発明の一実施形態による方法のフロー図である。
【図１４】本発明の実施の形態にしたがってオブジェクトから入力データを取得する際に使用する方法を説明するフロー図である。
【図１５】本発明の実施の形態に係る図１４に示すステップのいくつかを説明するブロック図である。
【図１６】本発明の実施の形態に係る一組の回転した参照画像を説明するブロック図である。
【発明を実施するための形態】
【００１１】
テレビゲームのユーザまたはプレーヤは、一般的に、コントローラ上に配置されたボタン、ジョイスティック等を操作するために、一方の手または両手でゲームコントローラを保持する。ゲームをしている間、ユーザはボタン、ジョイスティック等を操作するとき同時に、コントローラそのものも空中で動かすことが多い。ゲーム中に興奮し、コントローラそのものを空中で動かすことによってゲームの動作または状況を制御しようと試みる傾向のあるユーザもいる。
【００１２】
本明細書に記載される方法、装置、方式およびシステムの様々な実施形態は、ユーザによるコントローラ本体そのものの動き、動作および／または操作の検出、捕獲および追跡を提供する。ユーザによるコントローラ本体全体の検出された動き、動作および／または操作は、プレイ中のゲームまたは他のシミュレーションの様々な状況を制御するための追加のコマンドとして使用することができる。
【００１３】
ゲームコントローラ本体のユーザによる操作の検出および追跡は、様々な方法で実施することができる。例えば、一部の実施形態では、コンピュータ・エンターテイメント・システムとともにカメラ周辺機器を使用して、手持ちコントローラ本体の動きを感知してその動きをゲーム内でのアクションに変換することができる。カメラを用いて、コントローラの多くの異なる種類の動きを検出することができる。例えば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。
【００１４】
ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。
【００１５】
図１Ａを参照すると、本発明の一実施形態により作動するシステム１００が示されている。図示するように、コンピュータ・エンターテイメント・システムまたはコンソール１０２は、テレビゲームまたは他のシミュレーションの画像を表示するためにテレビまたは他のビデオディスプレイ１０４を用いる。ゲームまたは他のシミュレーションは、ＤＶＤ、ＣＤ、フラッシュメモリ、ＵＳＢメモリ、またはコンソール１０２に挿入される他のメモリ媒体１０６に保存されてもよい。ユーザまたはプレーヤ１０８は、ゲームコントローラ１１０を操作してテレビゲームまたは他のシミュレーションを制御する。
【００１６】
コントローラ１１０がカメラの視野１１４の中に収まるように、カメラまたは他のビデオ画像取得装置１１２が配置される。図示するように、カメラ１１２はビデオディスプレイ１０４の上に置かれてもよいが、カメラをどこに配置してもよいことは十分理解されなければならない。一例として、カメラ１１２は、市販のＥｙｅＴｏｙ（登録商標）製品のようなカメラ周辺装置であってもよい。しかし、いかなる種類またはブランドのカメラでも使用可能であることを十分理解しなければならない。例えば、ウェブカメラ、アドオンのＵＳＢカメラ、赤外線（ＩＲ）カメラ、高フレームキャプチャレートのカメラなどである。
【００１７】
ある実施の形態では、カメラまたは他の画像取得装置１１２は、以下に述べるイメージキャプチャユニットと同様、Ｚカメラまたは深さカメラを含んでもよい。Ｚカメラまたは深さカメラは、たとえば、各ピクセルの深さを提供または測定し、カメラからピクセルまでの距離を決定する。ここに記載するカメラまたは他の画像取得装置１１２はいずれも、ある実施の形態では、任意のタイプの３次元カメラを含んでもよい。
【００１８】
作動中、ユーザ１０８はコントローラ１１０そのものを物理的に動かす。すなわち、ユーザ１０８は空中でコントローラ１１０の全体を物理的に動かす。例えば、コントローラ１１０をユーザ１０８により任意の方向、つまり上下、左右、ねじり、回転、揺さぶり、急な動き、落ち込みのように動かすことができる。コントローラ１１０自体のこれらの動きは、以下に記す方法で画像解析による追跡によってカメラ１１２により検知および取得することができる。
【００１９】
一般に、検知され取得されたコントローラ１１０の動きを使用して、コントローラ１１０の位置データと方向データを生成することができる。画像フレーム毎にこのデータが収集されるので、データを用いてコントローラ１１０の動きの多くの物理的状況を計算することができる。例えば、任意の軸に沿ったコントローラの加速度および速度、その傾き、ピッチ、ヨー、ロール、およびコントローラ１１０の任意の遠隔測定点などである。
【００２０】
コントローラ１１０の動きを検出し追跡する能力により、コントローラ１１０の予め定義された動きが実行されるか否かを判定することが可能になる。すなわち、コントローラ１１０の特定の動きパターンまたはジェスチャを、ゲームまたは他のシミュレーションのための入力コマンドとして予め定義し用いることができる。例えば、コントローラ１１０を落下させるジェスチャを一つのコマンドとして定義することができ、コントローラ１１０をひねるジェスチャを別のコマンドとして定義することができ、コントローラ１１０を揺さぶるジェスチャを別のコマンドとして定義することができるなどである。このように、ユーザ１０８がコントローラ１１０自体を物理的に動かす態様を、ゲームを制御するためのもう一つの入力として使用する。これにより、より刺激的で面白い体験をユーザに提供する。コントローラ１１０の動きをゲームの入力コマンドに割り当てる方法が以下で説明される。
【００２１】
図１Ｂを参照すると、本発明の実施形態にしたがって作成されるコントローラ１１０のより詳細な図が示されている。コントローラ１１０は本体１１１を含む。本体１１１は、人が手で保持する（または、ウェアラブル・ゲームコントローラである場合は着用する）ゲームコントローラ１１０の一部である。ユーザにより操作可能である入力装置は、例えば、コントローラ上のボタンまたは多軸操作スティックなどである。一つ以上のボタンが本体１１１に配置されていてもよい。本体は手で保持できるハウジングを含んでもよい。ハウジングは手で把持可能なグリップを含んでもよい。したがって、ユーザ１０８がコントローラ１１０そのものを物理的に動かすとき、動作の間、ユーザ１０８はコントローラ１１０の本体１１１を物理的に動かす。ユーザは空中ですなわち自由空間で本体１１１を動かす。
【００２２】
ゲームコントローラにより制御されるゲームの進行がスクリーン上に表示されるとき、本体１１１はスクリーンの方向を向いた前部を有していてもよい。少なくとも１台の入力装置が、ユーザからの入力を登録するためにユーザにより操作可能である入力装置とともに、本体１１１に組み付けられていてもよい。
【００２３】
一つまたは複数の発光ダイオード（ＬＥＤ）が、幾何学的形状で構成された本体の上に配置されていてもよい。または、別の種類の光検出可能な（ＰＤ）要素が本体１１１と組み付けられていてもよい。前部が少なくともスクリーンの方向を向いているときに、光検出可能な要素の位置が、画像取得装置によって記録中の画像の範囲内にあってもよい。空間内での本体１１１の動きを定量化することで、異なる時点におけるＰＤ要素の位置を定量化することができる。
【００２４】
この実施形態では、コントローラ１１０は４つの発光ダイオード（ＬＥＤ）１２２、１２４、１２６、１２８を含む。図示するように、４つのＬＥＤ１２２、１２４、１２６、１２８は実質的に正方形または長方形のパターンで配置されてもよく、ＲｌボタンとＬｌボタンの間のコントローラ１１０のブリッジ部に配置されてもよい。したがって、本実施形態では、幾何学的形状は実質的に正方形か長方形のパターンである。４つのＬＥＤ１２２、１２４、１２６、１２８で作られる正方形または長方形のパターンは、本明細書ではＬＥＤにより形成される「バウンディング・ボックス（bounding box）」と呼ぶ。
【００２５】
幾何学的形状が多くの異なる形状であってもよいことは、十分理解されなければならない。例えば、幾何学的形状は線形パターンでも二次元パターンであってもよい。ＬＥＤを線形配置するのが好ましいが、代替的に、ＬＥＤを長方形パターンまたは円弧パターンで配置して、画像取得カメラにより取得されるＬＥＤパターンの画像を解析するときの、ＬＥＤ配列の画像平面の決定を容易にすることができる。
【００２６】
コントローラの図示した実施形態は４つのＬＥＤを利用するが、他の実施形態が５つ以上または４つ未満のＬＥＤを利用してもよいことは十分理解されなければならない。例えば、３つのＬＥＤでも機能するし、二つのＬＥＤでも追跡情報を提供するように機能する。１つのＬＥＤであっても、位置情報を提供することができる。さらに、ＬＥＤはコントローラ１１０の異なる部分に置かれてもよい。
【００２７】
ＬＥＤはコントローラ１１０上に、クラスタ、直線、三角形、その他の構成を含むいろいろな方法で配置される。一つのＬＥＤを使ってもよく、複数のＬＥＤを使ってもよい。複数のＬＥＤの場合、ある構成では、ＬＥＤを横切って形成される平面は、コントローラの方向に関して傾いていることがある。コントローラの現実の方向は、コントローラの方向を決定するために画像平面において受信されるデータの変換を行うことによって決定されてもよい。それに加えて、あるいは、その代わりに、ＬＥＤは着脱可能、取り付け可能、および／または取り外し可能であってもよい。たとえば、ＬＥＤは、本体１１１から取り外し可能なプレートまたは分離ケース上に含まれてもよい。
【００２８】
図１Ｃを参照して、本発明の実施の形態にしたがって作られるコントローラ１１０の外観を説明する。コントローラ１１０は本体１１１とＬＥＤ１２２、１２４、１２６、１２８のクラスタまたは配列を含む。図示するように、４つのＬＥＤ１２２、１２４、１２６、１２８は、実質的に直線パターンに配列され、Ｒ１ボタンとＬ１ボタンの間にあるコントローラ１１０のブリッジ上に設置される。このように、この実施の形態では、幾何学形状は実質的に直線のパターンを含む。さらに、ある実施の形態では、１以上のＬＥＤを赤外線ＬＥＤによって実装することができる。たとえば、赤外線ＬＥＤは可視光ＬＥＤとペアにすることもできる。可視光ＬＥＤは、たとえば、プレイヤＩＤを示す。ある実装では、ＬＥＤは、可視光ＬＥＤと赤外線ＬＥＤの両方の伝送を可能にする小さなウインドウを通して覗くことができるように、赤外線ＬＥＤとともに表面実装してもよい。
【００２９】
図１Ｄを参照して、本発明の実施の形態にしたがって作られるコントローラ１１０の外観を説明する。コントローラ１１０は、本体１１１と、通信インタフェースおよび／またはポート１３２とを含む。ある実施の形態では、このインタフェースによって、コントローラがトラッキングデバイスおよび／またはコンソール１０２と直接結合することが可能になる。トラッキングデバイスは少なくとも一部分においては、光学、音声および／または慣性によって、コントローラ１１０の動きの検出が可能である。インタフェース１３２は実質的に任意の適当なコミュニケーションインタフェースであればよく、たとえば、ＵＳＢ（universal serial bus）インタフェース、ＵＡＲＴ（universal asynchronous receiver transmitter）および／または他の適当なインタフェースであってもよい。インタフェース１３２は、コントローラ１１０上の実質的に任意の位置に配置することができる。例示するように、インタフェース１３２は、Ｒ１ボタンとＬ１ボタンの間にあるコントローラ１１０のブリッジ上に設置されてもよい。
【００３０】
図１Ｅを参照して、本発明のある実施の形態にしたがって作られるコントローラ１１０の斜視図を説明する。コントローラは、本体１１１、Ｒ１ボタンとＬ１ボタン、１以上のＬＥＤ１２２、１２４、１２６および１２８、インタフェース１３２（たとえば、ＵＳＢインタフェース）、他の適当なボタン、インジケータなどを含む。ＬＥＤ１２２、１２４、１２６および１２８は、直線パターンで示されるが、上述のように、また、以下述べるように他のパターンを採用してもよい。ある実装ではさらに、ＬＥＤおよび／またはインタフェース１３２は、着脱可能、取り付け可能および／または取り外し可能であってもよい。
【００３１】
４つのＬＥＤ  １２２、１２４、１２６、１２８は、カメラ１１２（図１Ａ）により認識される４つの点またはドットを生成する。手にコントローラ１１０を持つプレーヤ１０８をカメラ１１２が見ているので、カメラ１１２は、４つのＬＥＤ  １２２、１２４、１２６、１２８により作られるドットとこれらが作るバウンディング・ボックスの動きを追跡することによって、コントローラ１１０の動きを追跡することができる。
【００３２】
すなわち、ユーザ１０８がコントローラ本体１１０をひねったり回転したりすると、４つのドットの射影がカメラ１１２の出力の画像平面上に投影される。コントローラのユーザによる操作を追跡し、コントローラの位置と方向を決定するために、画像解析を使用する。このように、４つのＬＥＤ１２２、１２４、１２６、１２８は、本体の動きに関する情報を生成する。１台または２台のコントローラの位置を決定することができ、または、２台のコントローラの相対動作を追跡することができる。
【００３３】
図２Ａは、バウンディング・ボックスを用いてコントローラの動きを追跡する方法の例を示す。具体的には、コントローラと４つのＬＥＤ１２２、１２４、１２６、１２８がカメラ１１２の視野１１４の範囲内に配置される。コントローラが初期位置にあるとき、４つのＬＥＤ１２２、１２４、１２６、１２８はバウンディング・ボックス２０２を形成する。コントローラが第２の位置へ移動すると、４つのＬＥＤ１２２、１２４、１２６、１２８は第２のバウンディング・ボックス２０４を形成する。加えて、コントローラが初期位置から第２の位置へと移動するとき、移動速度とカメラ１１２のフレームレートとに応じて、バウンディング・ボックスの中間位置も取得される。
【００３４】
４つのＬＥＤ１２２、１２４、１２６、１２８によって形成されるバウンディング・ボックス２０２、２０４が、カメラ１１２の画像平面で取得される。図２Ｂは、バウンディング・ボックス２０２および２０４を表しているカメラ１１２の画像平面２２０の一例を示す。バウンディング・ボックスの運動と、バウンディング・ボックスの長方形がコントローラの傾き、ヨー等に基づき異なる形状に変形する仕方を導出し決定するために、物理解析を実行する。バウンディング・ボックスを画像平面上に投影することによって、コントローラの位置、方向、加速度、速度等を決定することができる。そして、これらを用いてゲームコントローラのユーザ操作を追跡することができる。
【００３５】
図３Ａを参照すると、本発明の一実施形態にしたがってコントローラから情報を取得する際に用いられる方法３００が示されている。方法３００は多くの異なる種類のシステムおよび装置（例えば、エンターテイメント・システム、コンソール、コンピュータ、家電装置など）で実施および実行することができる。方法３００を実行するために使用可能なシステムの例が以下で説明される。
【００３６】
方法３００は、コントローラ上で確立される幾何学的形状の射影がカメラの画像平面で受け取られるステップ３０２から始まる。上述したようにしてこのステップを実行することができる。
【００３７】
ステップ３０４で、幾何学的形状の射影における動きと変形が解析される。すなわち、バウンディング・ボックスの４つのドットが追跡され解析される。カメラ出力の画像平面上でフィールドおよびフレーム解析が実行されて、４つの参照点の操作を解析し、コントローラの位置、方向、傾き、ヨー、ロール等を決定する。さらに、コントローラの加速度を任意の方向で追跡することができる。画像のフレームの解析により、任意の軸に沿った加速度を求めることができる。コントローラの遠隔測定点を計算することもできる。コントローラが静止位置または静止状態にあるか否か、例えばコントローラがユーザの腰の近くで中立状態または安定状態にあるかを決定することもできる。
【００３８】
コントローラが回転すると、画像が平面上で変換する。バウンディング・ボックスの長方形の幅の変化は、コントローラが回転していることを示す。コントローラのヨーが調節されて、長方形の幅が変化する。ヨーは長方形の幅にマップされる。コントローラの傾きは、長方形の高さに影響を与える。
【００３９】
例えば、バウンディング・ボックス２０２（図２Ｂ）は、コントローラがカメラをまっすぐ前方に見るように最初に置かれたことを示す。バウンディング・ボックス２０４は、コントローラがその後下方に動かされ、回転し、ユーザの左方に向いたことを示す。
【００４０】
画像平面は変形した長方形を見るだけであるので、コントローラが「基平面」のいずれの側に置かれているのかを知ることが困難である。例えば、ユーザがコントローラを操作して軸水平線の向こう側に等距離だけコントローラを動かす時間の間に、誰かがカメラの前を歩いてカメラを遮るような場合に、この問題が生じ得る。これは、バウンディング・ボックスが画像平面で同じものを見る原因にもなり得る。コントローラが画像取得装置の視野領域の外側に移動する場合にも、これは起こりえる。
【００４１】
このように、変形が正または負の傾きまたはロール（安定した状態の元の位置から離れた上下および左右の動きに関しての正負）により引き起こされているか否かに関する判定が必要である。この判定は、コントローラからの他の遠隔測定を読むか、またはＬＥＤをストロボ発光あるいは変調させて、ビデオ解析システムが追跡目的のためにバウンディング・ボックスの長方形の個々の角を識別可能とすることによって、解決することができる。バウンディング・ボックスの異なる角の認識の助けとなるように、ＬＥＤをストロボ発光するかまたは変調させることができる。あるいは、バウンディング・ボックスの異なる角の認識の助けとなるように、各ＬＥＤに特有の周波数を持たせてもよい。境界領域の特定の角、すなわち各ＬＥＤを識別することによって、任意の時点においてコントローラが水平線のいずれの側にあるかを判定することができる。このようにして、カメラ平面を通り抜けるコントローラに関連した問題を取り扱うことができる。
【００４２】
スクリーン上でのバウンディング・ボックスの動きと回転の追跡は、フレーム単位の解析に基づく。カメラの出力は画像データのフレームを作成する。バウンディング・ボックスの射影がソフトウェアで取得される。フレームを横切るコントローラの動きは、箱の変換に基づいている。
【００４３】
高フレームレートを用いることで、コントローラの動きの加速度と加速度の変化を正確に追跡することができる。すなわち、高いレートで平面上に画像を投影することで、コントローラのデルタ運動を追跡することができる。これにより、加速度、加速度が最大になる点、重力がゼロになる点、および変曲点をプロットすることが可能になる。変曲点は、コントローラが停止して方向を変える変換点である。この解析の全ては、画像フレームを解析してバウンディング・ボックスの位置と方向を決定することによって実行される。一例として、毎秒１２０フレーム以上のフレームレートを使用してもよい。しかし、任意のフレームレートを使用できることを十分理解すべきである。
【００４４】
以下に述べるように、前のフレームの履歴をマッピングしてもよい。これにより、例えば、追跡の加速度および速度、停止点などの特定パラメータを決定するためにコントローラの前の遠隔測定を見ることができる。
【００４５】
ステップ３０６（図３Ａ）で、幾何学的形状の射影における動きと変形の解析に基づき、コントローラの位置情報が決定される。一例として、画像解析器を用いてステップ３０４および３０６の一方または両方を実行することができる。すなわち、画像解析器を用いて、カメラの画像平面におけるバウンディング・ボックスの動きと変形の解析を実行することができる。ビデオカメラの出力は、画像解析器の入力に接続される。本明細書に記載される一つまたは複数の方法、方式および機能を実施するために画像解析器を組み込むシステムの一例を以下に述べる。
【００４６】
画像解析器は、カメラの画像平面で取得される参照ＬＥＤで形成されるバウンディング・ボックスを監視する。画像解析器は、バウンディング・ボックスの位置、回転、水平方向および垂直方向の変形を解析し、コントローラの物理的なユーザ操作、その位置、ロール、傾き、およびヨー座標を決定する。画像解析の終了後、出力ＩＤその他の形でデータを出力してもよい。画像解析から得られたこのような出力ＩＤは、任意の軸に沿ったｘ、ｙ、ｚ座標、加速度および速度、コントローラが静止位置または静止状態にあるか等のデータを含んでもよい。こうして、画像解析の終了後、画像解析器はコントローラの場所およびコマンドが発行されるか否かを示すことができる。そして、画像解析器は任意の瞬間でｐｉｎｇを実行することができ、位置、方向、最後のコマンド等を提供することができる。
【００４７】
一例として、画像解析器は以下の出力を提供することができるが、これらに限られない：
コントローラの位置（Ｘ、Ｙ、Ｚ座標）
コントローラの方向  アルファ、ベータ、ガンマ（ラジアン）
コントローラのＸ軸速度
コントローラのＹ軸速度
コントローラのＺ軸速度
コントローラのＸ軸加速度
コントローラのＹ軸加速度
コントローラのＺ軸加速度
安定状態の静止位置  Ｙ／Ｎ（上述の腰の位置。しかし、任意の位置として定義することができる）
最後の安定状態からの時間
認識された最後のジェスチャ
最後に認識されたジェスチャの時刻
到達したゼロ加速度点の割り込み
これらの出力はそれぞれ、上述したようにバウンディング・ボックスの動きと変形を解析することによって生成することができる。コントローラの動きを追跡するために、これらの出力をさらに処理してもよい。このような追跡によりコントローラの特定の動きを認識することが可能となり、これを用いて以下に述べるように特定のコマンドを起動させることができる。上記の出力に加えて、または上記の出力の代わりに他の多くの出力を使用できることは十分理解されなければならない。
【００４８】
画像解析器へのさらなる入力を任意に提供することができる。このような任意の入力には以下が含まれるが、これらに限られない：
設定ノイズレベル（Ｘ、ＹまたはＺ軸）（これは、ゲームでの腕のいらいら（jitter）を解析するときの参照許容値である）
設定サンプリングレート（カメラのフレームが取得され解析される頻度）
設定ギア比率（gearing）
設定マッピングチェーン
【００４９】
上述のように、コントローラ１１０の動きを検出し追跡する能力により、コントローラ１１０の任意の予め定義された動きが実行されるか否かについて決定することが可能になる。すなわち、コントローラ１１０の特定の動きパターンまたはジェスチャをマッピングして、ゲームまたは他のシミュレーションのためにコマンドを入力することができる。
【００５０】
図３Ｂを参照すると、本発明の一実施形態にしたがってシステムに入力を与える際に用いられる方法３２０が示されている。方法３２０は、システムのコントローラの位置情報が決定されるステップ３２２から始まる。このステップは、上述の方法および技術を使用して実行することができる。
【００５１】
ステップ３２４で、コントローラの決定された位置情報が、コマンドと関連する予め定められた位置情報と比較される。すなわち、任意の数のコントローラの異なる動き、ジェスチャまたは操作を様々なコマンドに割り振ることができる。これにより、コントローラの異なる動き、ジェスチャまたは操作をゲームモデルにマッピングすることができる。例えば、コントローラを上に動かすことを１つのコマンドに割り振り、コントローラを下に動かすことを別のコマンドに割り振り、他の任意の方向にコントローラを動かすことを他のコマンドに割り振ることができる。
【００５２】
同様に、コントローラを一回揺することを一つのコマンドに割り振り、コントローラを二回揺することを別のコマンドに割り振り、以下同様にコントローラを三回、四回、五回等揺することを他のコマンドに割り振ることができる。すなわち、コントローラを特定の回数だけ揺することに基づき、様々なジェスチャを定めることができる。コントローラを特定の回数だけ強く上下に揺することに基づき、さらに他のジェスチャを定めることができる。ひねり、回転等のコントローラの他の動きをさらに他のコマンドに割り振ることができる。
【００５３】
このように、ゲームコントローラの様々な異なる軌跡をジェスチャに割り振ることができ、これがゲームのコマンドを起動させる。各コマンドは、コントローラの予め定められた動きに割り振られる。このようなコントローラの予め定められた動きは、予め定められた位置情報に関連づけられる。この実施形態では、コントローラの決定された位置情報を予め定められた位置情報と比較して、コマンドを起動させるか否かが確認される。
【００５４】
一例として、このようなジェスチャのゲームコマンドへのマッピングを以下のようにして実施することができる。コントローラの位置および方向情報を決定するために、画像解析器の出力を使用することができる。画像解析器は、コントローラの位置と方向を表す様々な異なるＩＤを出力することができる。例えば、１つのＩＤが定常状態の判定のための出力であり、別のＩＤがコントローラの振動を示すための出力であり、様々な他のＩＤが他の方向を示すための出力であってもよい。したがって、このようなＩＤを用いて、コントローラが定常状態にあるか移動中であるかを出力することができる。コントローラが定常状態にある場合、ＩＤはコントローラが定常状態にある時間を示してもよい。
【００５５】
コントローラの決定された位置および方向情報は、ゲームの入力コマンドと関連する予め定められた位置情報と比較されてもよい。決定された位置情報が所定の位置情報と一致する場合、コマンドがエンターテイメント・システムに提供される。また、コントローラの上下動、円を描くひねり、左右の動き、上下動中のひねり、右または左への回転と言った様々なジェスチャを、全て様々なコマンドに割り振ることができる。
【００５６】
新しいコマンドまたはジェスチャが認識されると、画像解析器は割り込みを起動してもよい。このような割り込みの起動を、エンターテイメント・システムにコマンドを提供するプロセスの一部として用いてもよい。軸内でのゼロ加速点、停止点および／または他のイベントもまた割り込みを起動するように、システムを任意に構成してもよい。
【００５７】
決定された位置および方向情報を入力コマンドに関連する予め定められた位置情報と比較して一致するか否かを見るとき、完全な一致が存在しない場合もしばしば発生する。これは、コントローラが自由空間で動くため、予め定義された動きを正確に再現することが困難な場合があるためである。したがって、コマンドを起動させるために予め定められた位置情報に十分近いとみなされる範囲、許容値および／または閾値に関して、入力コマンドに関連する予め定められた位置情報を定義しておいてもよい。すなわち、閾値または範囲に関してコマンドを定義してもよい。このように、任意のコマンドまたはジェスチャが認識されたか否かを判定するときに、システムは、決定された位置および方向情報がジェスチャの範囲内に含まれるか否かを確認してもよい。したがって、定義されたコマンドは、コマンドを呼び出すか否かを判定するときに見られる閾値を有していてもよい。
【００５８】
さらに、決定された位置および方向情報を入力コマンドに関連する予め定められた位置情報と比較して一致するか否かを見るとき、前のフレームの履歴を保存したりマッピングしたりしてもよい。例えば、フレームバッファを監視してもよいし、またはシステムが前のフレームの履歴を記録し続けるようにしてもよい。前のフレームを見て、任意のコマンドが満足するか否かを判定してもよい。フレーム履歴のマッピングにより、特定の時刻におけるコントローラの遠隔測定をして、コマンドが満足するかどうかを判定する際の位置と方向を提供することが可能になる。
【００５９】
最後に、ステップ３２６で、コントローラの決定された位置情報がコマンドの予め定められた位置情報と一致する場合、コマンドがシステムに提供される。このようなコマンドを用いて、テレビゲームまたは他のシミュレーション内でイベントを発生させたりまたは発生させないようにすることができる。
【００６０】
他の実施形態では、ゲームコントローラの動きを、例えばテレビゲームにおけるゲームコマンドに割り振ることができる。テレビゲームまたは他のシミュレーションで使用可能なこの用法を用いると、ユーザにより操作中のコントローラの位置情報が受け取られる。この位置情報が解析され、コマンドに関連したコントローラの予め定められた動きが実行されたか否かが決定される。この解析は、上述したように実行することができる。コマンドに関連するコントローラの予め定められた動きが実行された場合、ゲームによってコマンドが実行される。コマンドの実行により、ゲームが表示されているビデオディスプレイ上で視覚効果またはその他を発生させることができる。
【００６１】
本明細書の議論は、ゲームまたは他のエンターテイメント・システムのコントローラでのＬＥＤの使用に関しているが、本明細書で提供される教示は、他の種類のシステム、装置、家電等のコントローラの動きの検出および追跡に適用できることを十分理解しなければならない。すなわち、上述のゲームコントローラのＬＥＤを使用して、家電装置または任意の装置の遠隔操作機能を実行することができる。コントローラを検出、追跡しその動きをシステムおよび装置のコマンドにマッピングできるように、多くの他の種類のシステムおよび装置のコントローラ上のＬＥＤを用いることができる。この種の他の種類のシステムおよび装置の例には、テレビ、ステレオ、電話、コンピュータ、ホームネットワーク、オフィスネットワーク、携帯型コンピュータ装置または通信装置等が含まれるが、これらに限定されない。
【００６２】
さらに、本明細書に記載された教示を、いくつかのまたは多数の異なる装置を制御する能力を有する汎用のリモコンに適用することができる。すなわち、そのような汎用のリモコンは本明細書で述べたＬＥＤを含んでもよく、いくつかのまたは多くの異なる装置またはシステムへの入力コマンドとして汎用リモコン本体の動きを用いることができる。
【００６３】
さらに、ゲームコントローラは汎用の遠隔機能を有していてもよい。例えば、ゲームコントローラにより制御されるゲームの進行がスクリーン上に表示されるとき、スクリーンの方向を向いた前部を有する本体を備えていてもよい。ユーザからの入力を登録するために、ユーザによって操作可能である入力装置を持つ本体に少なくとも１台の入力装置を組み付けてもよい。信号エンコーダが含まれてもよい。信号エンコーダにより発生する信号を用いて大気を介して赤外線信号を送信するよう作動可能な赤外線信号送信機が含まれてもよい。信号エンコーダは、赤外線レシーバと選択された一つの信号コードで作動可能な信号デコーダとを有する電子装置による受信のために、複数の信号コードのうち選択された一つを用いて信号を符号化するようプログラム可能であってもよい。
【００６４】
さらに、電池式おもちゃ（ブランドゲームの形とスタイルに形成されたおもちゃを含む）をＬＥＤを用いて形成し、検出された環境で追跡されるユーザ操作される本体を形成してもよい。
【００６５】
一部の実施形態では、画像解析器はユーザを認識するかまたは音声認証されたジェスチャを処理するなどすることができる。ジェスチャを通じてシステムの解析器によりユーザを識別可能であり、ジェスチャはユーザに特有であってもよい。ジェスチャはユーザによって記録されてもよいし、モデルに保存されてもよい。記録プロセスは、ジェスチャの記録中に生じた音声を選択的に保存してもよい。感知された環境をサンプルとして多重チャネル解析器に入力して処理してもよい。プロセッサは、ジェスチャモデルを参照し、音声または音響パターンに基づき、高精度かつ高性能にユーザの身元またはオブジェクトを決定し認証してもよい。
【００６６】
本発明の実施形態によると、本明細書に記載の方法および技術は、図４に示した信号処理装置４００の一部として実装することができる。装置４００は、プロセッサ４０１とメモリ４０２（例えば、ＲＡＭ、ＤＲＡＭ、ＲＯＭなど）を含んでもよい。さらに、並列処理を実装する場合には、信号処理装置４００が複数のプロセッサ４０１を備えていてもよい。メモリ４０２は、上述のように構成されたデータとコードを含んでもよい。
【００６７】
具体的には、メモリ４０２は信号データ４０６を含んでもよい。メモリ４０２は較正データ４０８を含んでもよい。較正データ４０８は、例えば、マイク配列４２２の較正から得られる一つ以上の対応する事前に調整されたリスニングゾーンの一つ以上の逆固有マトリックスＣ−１を表すデータである。一例として、メモリ４０２はマイク配列４２２を含む１８個の２０度のセクタのための固有マトリックスを含んでもよい。
【００６８】
装置４００は周知のサポート機能４１０、例えば入出力（Ｉ／Ｏ）要素４１１、電源（Ｐ／Ｓ）４１２、クロック（ＣＬＫ）４１３およびキャッシュ４１４等を備えてもよい。装置４００は、プログラムおよび／またはデータを記憶するディスクドライブ、ＣＤ−ＲＯＭドライブ、テープ装置等の大容量記憶装置４１５を任意に備えてもよい。コントローラは、コントローラ４００とユーザとの対話を促進するためのディスプレイ装置４１６とユーザインタフェースユニット４１８を任意に備えてもよい。ディスプレイ装置４１６は、テキスト、数字、グラフィック・シンボルまたは画像を表示する陰極線管（ＣＲＴ）またはフラットパネル・スクリーンの形であってもよい。ユーザ・インタフェース４１８は、キーボード、マウス、ジョイスティック、ライトペンまたは他の装置であってもよい。さらに、ユーザ・インタフェース４１８は分析される信号を直接取得するためのマイク、ビデオ・カメラまたは他の信号変換装置であってもよい。プロセッサ４０１、メモリ４０２およびシステム４００の他の構成要素は、図４で示すようにシステムバス４２０を介して互いに信号（例えば、コード命令とデータ）を交換してもよい。
【００６９】
マイク配列４２２は、Ｉ／Ｏ機能４１１を介して装置４００に接続されてもよい。マイク配列は、隣のマイクと約４ｃｍ未満、好ましくは約１〜２ｃｍ離して配置された約２〜８個のマイク、好ましくは４個のマイクであってもよい。好ましくは、配列４２２のマイクは全方向性マイクである。オプションの画像取得装置４２３（例えば、デジタルカメラ）は、Ｉ／Ｏ機能４１１を介して装置４００に結合される。カメラに機械的に結合される一つ以上のポインティングアクチュエータ４２５は、Ｉ／Ｏ機能４１１を介してプロセッサ４０１と信号を交換することができる。
【００７０】
上述のように、ある実施の形態において、オプションのイメージキャプチャユニット４２３は、ここで述べた任意のカメラと同様、発光素子を検出することのできる任意のタイプのカメラまたはセンサを含んでもよい。たとえば、ある実施の形態において、オプションのイメージキャプチャユニット４２３は、Ｚカメラ、深さカメラまたは任意のタイプの３次元カメラを含んでもよい。Ｚカメラまたは深さカメラは、たとえば、各ピクセルの深さを提供または測定し、カメラからピクセルまでの距離を決定する。
【００７１】
本明細書においては、Ｉ／Ｏという用語は、一般にシステム４００と周辺装置との間でデータをやりとりする任意のプログラム、操作または装置のことを指す。あらゆるデータ転送は、一つの装置からの出力および別の装置への入力とみなすことができる。周辺装置には、キーボードやマウスなどの入力専用装置、プリンタなどの出力専用の装置の他、入出力装置として機能する書き込み可能なＣＤ−ＲＯＭ等の装置も含まれる。「周辺装置」という用語には、マウス、キーボード、プリンタ、モニター、マイク、ゲームコントローラ、カメラ、外部Ｚｉｐドライブまたはスキャナ等の外部装置の他、ＣＤ−ＲＯＭドライブ、ＣＤ−Ｒドライブまたは内蔵モデムなどの内部装置、またはフラッシュメモリ・リーダ／ライタ、ハードディスクなどの他の周辺機器も含まれる。
【００７２】
本発明の特定の実施形態では、装置４００はテレビゲームユニットであってもよく、ワイヤ（例えば、ＵＳＢケーブル）または無線によってＩ／Ｏ機能４１１を介してプロセッサに接続されたジョイスティック・コントローラ４３０を備えてもよい。ジョイスティック・コントローラ４３０は、テレビゲームのプレイ中に一般に用いられる制御信号を提供するアナログジョイスティックコントロール４３１と従来のボタン４３３とを備えていてもよい。そのようなテレビゲームは、メモリ４０２に記憶可能なプロセッサ可読のデータおよび／または命令として実装されてもよいし、あるいは、大容量記憶装置４１５と関連するような他のプロセッサ可読媒体として実装されてもよい。
【００７３】
ジョイスティックコントロール４３１は、コントロールスティックを左右に動かすとＸ軸に沿った運動の信号を送り、スティックを前後（上下）に動かすとＹ軸に沿った運動の信号を送るように通常構成されている。三次元動作用に構成された構成されるジョイスティックでは、スティックを左方向（反時計回り）または右方向（時計回り）にひねるとＺ軸に沿った運動の信号を送る。これら３軸Ｘ、Ｙ、Ｚは、特に航空機に関してそれぞれロール、ピッチ、ヨーと呼ばれることが多い。
【００７４】
従来の特徴に加えて、ジョイスティック・コントローラ４３０は一つ以上の慣性センサ４３２を備えていてもよい。慣性センサは、慣性信号を介してプロセッサ４０１に位置情報および／または方向情報を提供することができる。方向情報は、ジョイスティック・コントローラ４３０の傾き、ロールまたはヨーなどの角度情報を含んでもよい。一例として、慣性センサ４３２は、任意の数の加速度計、ジャイロスコープ、傾きセンサであってもよいし、および／またはこれらの組み合わせであってもよい。好ましい実施形態では、慣性センサ４３２は、傾き軸とロール軸に関してジョイスティック・コントローラの方向を感知するようにされた傾きセンサと、ヨー軸に沿って加速度を感知する第１加速度計と、ヨー軸に対する角加速度を感知する第２加速度計とを備えていてもよい。加速度計は、一つ以上の方向に対する質量の変位を感知するセンサを持ち一つ以上のバネにより取り付けられた質量を備えるＭＥＭＳ装置であってもよい。質量の変位に応じたセンサからの信号を用いて、ジョイスティック・コントローラ４３０の加速度を決定することができる。このような技術は、メモリ４０２に保存されプロセッサ４０１で実行可能なプログラムコード命令４０４により実装される。
【００７５】
一例として、慣性センサ４３２として適した加速度計は、例えばバネによって３点または４点でフレームに弾性結合された単一の質量であってもよい。ピッチ軸とロール軸はフレームを横切る平面内にあり、フレームはジョイスティック・コントローラ４３０に取り付けられる。フレーム（およびジョイスティック・コントローラ４３０）がピッチ軸とロール軸のまわりを回転すると、重力の影響により質量が変位し、ピッチおよび／またはロールの角度に応じてバネが伸縮する。質量の変位が感知され、ピッチおよび／またはロールの量に応じて信号に変換される。ヨー軸周りの角加速度またはヨー軸に沿った直線加速度は、感知可能であり角加速度または線形加速度の量に応じて信号に変換されるバネ伸縮または質量の動きの特徴的なパターンを生成する。そのような加速度計装置は、質量の動きあるいはバネの伸縮力を追跡することで、傾き、ロール、ヨー軸周りの角加速度およびヨー軸周りの線形加速度を測定することができる。質量の位置および／または質量にかかる力を追跡する多くの異なる方法があり、これには、抵抗歪みゲージ材料、フォトニック・センサ、磁気センサ、ホール効果デバイス、圧電デバイス、容量センサなどが含まれる。
【００７６】
さらに、ジョイスティック・コントローラ４３０は、発光ダイオード（ＬＥＤ）等の一つ以上の光源４３４を含んでもよい。光源４３４は、あるコントローラと別のコントローラとを区別するのに用いられてもよい。例えば、ＬＥＤパターンコードを点滅するか保持するかによって一つ以上のＬＥＤでこれを達成することができる。一例として、５個のＬＥＤを線形パターンまたは二次元パターンでジョイスティック・コントローラ４３０上に設けることができる。ＬＥＤを線形配列するのが好ましいが、代わりに、画像取得装置４２３により取得されるＬＥＤパターンの画像を解析するときにＬＥＤ配列の画像平面の決定を容易にすべく、ＬＥＤを長方形パターンまたは円弧状パターンで配置してもよい。さらに、ＬＥＤパターンコードを使用して、ゲーム中にジョイスティック・コントローラ４３０の位置を決定してもよい。例えば、ＬＥＤはコントローラの傾き、ヨー、ロールの区別を助けることができる。この検出パターンは、航空機飛翔ゲーム等のゲームにおけるユーザの感覚を改善するのに役立つ。画像取得装置４２３は、ジョイスティック・コントローラ４３０と光源４３４とを含む画像を捕捉することができる。そのような画像を解析して、ジョイスティック・コントローラの位置および／または方向を決定することができる。この種の解析は、メモリ４０２に保存されプロセッサ４０１で実行されるプログラムコード命令４０４により実装可能である。画像取得装置４２３による光源４３４の画像の捕捉を容易にするために、光源４３４はジョイスティック・コントローラ４３０の二つ以上の異なる側面に、例えば正面と背面（点線で示す）に配置されていてもよい。このように配置することで、画像取得装置４２３は、ユーザによるジョイスティックコントローラ４３０の持ち方に応じてジョイスティックコントローラ４３０の異なる方向について光源４３４の画像を取得することが可能になる。
【００７７】
加えて、光源４３４は、例えばパルスコード、振幅変調または周波数変調の形態で遠隔測定信号をプロセッサ４０１に提供することができる。このような遠隔測定信号は、どのジョイスティックボタンが押されているか、および／またはそのボタンがどの程度強く押されているかを表すことができる。遠隔測定信号は、パルスコーディング、パルス幅変調、周波数変調または光強度（振幅）変調によって光学信号に符号化することができる。プロセッサ４０１は光学信号から遠隔測定信号を復号し、復号された遠隔測定信号に応じてゲームコマンドを実行する。遠隔測定信号は、画像取得装置４２３により取得されたジョイスティック・コントローラ４３０の画像解析から復号されてもよい。あるいは、装置４０１は、光源４３４からの遠隔測定信号を受信するための専用の別個の光学センサを備えていてもよい。コンピュータプログラムと対話する際の強度決定に伴うＬＥＤの使用については、例えばRichard L. Marksらの共有された米国特許出願第11/429,414号、「USE OF COMPUTER IMAGE AND AUDIO PROCESSING IN DETERMINING AN INTENSITY AMOUNT WHEN INTERFACING WITH A COMPUTER PROGRAM」（代理人整理番号SONYP052）に記載されており、その全体が参照により本明細書に援用される。加えて、光源４３４を含む画像の解析を、遠隔測定とジョイスティック・コントローラ４３０の位置および／または方向の決定の両方に用いることができる。このような技術は、メモリ４０２に保存されプロセッサ４０１で実行可能なプログラムコード命令４０４によって実装することができる。
【００７８】
プロセッサ４０１は、画像取得装置４２３により検出された光源４３４からの光学信号、および／またはマイク配列４２２により検出された音響信号から得られた音源位置と特徴の情報とともに、慣性センサ４３２からの慣性信号を使用して、ジョイスティックコントローラ４３０および／またはそのユーザの位置および／または方向を推測することができる。例えば、「音響レーダ」の音源位置および特徴をマイク配列４２２とともに使用して、ジョイスティックコントローラの動きが（慣性センサ４３２または光源４３４により）独立して追跡されている間に移動する音声を追跡することができる。制御信号をプロセッサ４０１に提供する任意の数、異なる組み合わせの異なるモードを、本発明の実施形態とともに使用することができる。そのような技術は、メモリ４０２に保存されプロセッサ４０１で実行可能なプログラムコード命令４０４によって実装することができる。
【００７９】
慣性センサ４３２からの信号が追跡情報入力の一部を与え、一つ以上の光源４３４の追跡により画像取得装置４２３から生成される信号が、追跡情報入力の別の部分を与えてもよい。一例として、クウォーターバックが頭を左方向にフェイクで動かした後にボールを右方向に投じるフットボールのテレビゲームでそのような「混在モード」信号を用いることができるが、これに限定されない。具体的には、コントローラ４３０を保持するゲームプレーヤが頭を左に回転させて音を出す一方、コントローラをフットボールであるかのように右方向に振るピッチ動作をすることができる。「音響レーダ」プログラム・コードと連携したマイク配列４２２は、ユーザの声を追うことができる。画像取得装置４２３は、ユーザの頭の動きを追跡するか、または音声やコントローラの使用を必要としない他のコマンドを追跡することができる。センサ４３２は、ジョイスティック・コントローラ（フットボールを表す）の動きを追跡することができる。画像取得装置４２３は、コントローラ４３０上の光源４３４を追跡してもよい。ユーザは、ジョイスティックコントローラ４３０の加速度の量および／または方向が特定値に達することで、またはジョイスティックコントローラ４３０のボタンを押すことで起動されるキーコマンドにより、「ボール」を離すことができる。
【００８０】
本発明の特定の実施形態では、例えば加速度計またはジャイロスコープからの慣性信号を使用して、ジョイスティック・コントローラ４３０の位置を決定することができる。具体的には、加速度計からの加速信号を一旦時間積分して速度変化を求め、速度を時間積分して位置変化を求めることができる。ある時間での初期位置と速度の値が分かっている場合、これらの値と速度変化および位置変化を用いて絶対位置を求めることができる。慣性センサを用いると、画像取得装置４２３と光源４３４をと用いるよりも早く位置決定することができるが、慣性センサ４３２は「ドリフト」として知られるタイプの誤差の影響を受けることがある。つまり、時間につれて誤差が蓄積して、慣性信号から計算されるジョイスティック４３０の位置（点線で示す）と、ジョイスティックコントローラ４３０の実際の位置との間に不一致Ｄが生じることがある。本発明の実施形態により、そのような誤差に対処するいくつかの方法が可能になる。
【００８１】
例えば、ジョイスティックコントローラ４３０の初期位置を、現在の計算された位置と等しくなるように再設定することで、ドリフトをマニュアルでキャンセルすることができる。ユーザは初期位置を再設定するコマンドを起動するためにジョイスティックコントローラ４３０の一つ以上のボタンを用いることができる。代わりに、画像取得装置４２３から得られる画像から求められる位置を参照として現在位置を再設定することで、画像ベースのドリフトを実施することができる。このような画像ベースのドリフト補正は、例えばユーザがジョイスティック・コントローラ４３０の一つ以上のボタンを起動するときにマニュアルで実施することができる。代わりに、例えば一定の時間間隔でまたはゲームプレイに応じて、画像ベースのドリフト補正を自動的に実施することもできる。このような技術は、メモリ４０２に保存されプロセッサ４０１で実行可能なプログラムコード命令４０４によって実装可能である。
【００８２】
特定の実施形態では、慣性センサ信号内の偽（スプリアス）データを補償することが望ましい。例えば、慣性センサ４３２からの信号をオーバーサンプリングし、オーバーサンプリングした信号から移動平均を計算して、慣性センサ信号からスプリアスデータを除去してもよい。ある状況では、信号をオーバーサンプリングし、データポイントの一部のサブセットから高値および／または低値を取り除き、残りのデータポイントから移動平均を計算してもよい。さらに、他のデータサンプリング技術およびデータ操作技術を使用して、慣性センサの信号を調節しスプリアスデータの有意性を除去または低減することができる。信号の性質、信号に対して実行される計算、ゲームプレイの性質、またはこれらのうちの二つ以上の組み合わせによって技術を選択することができる。このような技術は、メモリ４０２に保存されプロセッサ４０１で実行可能なプログラムコード命令４０４によって実装することができる。
【００８３】
プロセッサ４０１は、メモリ４０２で保存、読み出しされプロセッサモジュール４０１で実行されるデータ４０６とプログラム４０４のプログラムコード命令とに応じて、信号データ４０６似たいしデジタル信号処理を実行することができる。プログラム４０４のコード部分は、アセンブリ、Ｃ＋＋、ＪＡＶＡ（登録商標）またはいくつかの他の言語などの複数の異なるプログラム言語のうちのいずれか一つに準拠していてもよい。プロセッサ・モジュール４０１は、プログラムコード４０４のようなプログラムを実行するとき特定目的のコンピュータになる汎用コンピュータを形成する。プログラム・コード４０４がソフトウェアで実装され汎用コンピュータ上で実行されると本明細書で述べられているが、当業者であれば、特定用途向け集積回路（ＡＳＩＣ）または他のハードウェア回路等のハードウェアを使用してもタスク管理方法を実装できることを理解するだろう。このように、本発明の実施形態の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることを理解すべきである。
【００８４】
一実施形態では、プログラムコード４０４は、本明細書に記載された任意の一つ以上の方法および技術、またはこのような方法および技術の二つ以上の組み合わせを実施する一組のプロセッサ可読命令を含むことができる。例えば、本明細書に記載された画像解析器を実装するようにプログラムコード４０４を構成することができる。または代わりに、本明細書に記載された画像解析器をハードウェアで実装してもよい。
【００８５】
図示した実施形態では、上述の画像解析器機能は画像解析器４５０として例示されている。画像解析器４５０は、例えば画像取得装置４２３またはカメラ１１２（図１Ａ）等のカメラから入力を受け取ることができる。したがって、ビデオカメラ１１２または画像取得装置４２３の出力を画像解析器４５０の入力に結合してもよい。画像解析器４５０の出力を装置４００のシステムに提供してもよい。このように、コマンド自体、またはコマンドあるいはジェスチャが認識されたかどうかを見るために必要な情報が、装置４００に提供される。画像解析器４５０は、多くの異なる方法で装置４００の残りの部分に結合することができる。すなわち、図示の接続方法は一例に過ぎない。別の例では、画像解析器４５０をシステムバス４２０に結合してもよく、これにより、画像取得装置４２３から入力データを受け取り、出力を装置４００に提供することができる。
【００８６】
画像解析器４５０を装置４００、エンターテイメント・システムまたはコンソール１０２に選択的に含めてもよいし、または画像解析器４５０をこれらの装置およびシステムから離して配置してもよい。画像解析器４５０の全体または一部を、ソフトウェア、ハードウェアまたは両方の組み合わせで実装できることは十分理解されなければならない。画像解析器４５０がソフトウェアで実装されるシナリオでは、ブロック４５０は画像解析機能がソフトウェアで実装されることを表す。
【００８７】
プログラムコード４０４は、通常、一つ以上のプロセッサに対し実行時に予め調整されたリスニングゾーンを選択し、予め調整されたリスニングゾーンの外側の音源から生じる音を除去するように指示する一つ以上の命令を含むことができる。予め調整されたリスニングゾーンは、画像取得装置４２３の焦点の大きさまたは視野と一致するリスニングゾーンを含んでもよい。
【００８８】
プログラム・コードは、実行時に装置４００に音源を含む予め調整されたリスニングセクタを選択させる一つ以上の命令を含んでいてもよい。この指示により、音源が初期セクタの内部または初期セクタの特定の側のいずれにあるかを装置に判定させることができる。音源がデフォルトのセクタ内に存在しない場合、実行時、命令はデフォルトセクタの特定の側の異なるセクタを選択する。異なるセクタは、最適値に最も近い入力信号の減衰によって特徴づけることができる。これらの命令は、実行時に、マイク配列４２２からの入力信号の減衰と、最適値への減衰を計算することができる。実行時に、命令によって、一つ以上のセクタへの入力信号の減衰値を求め、減衰が最適値に最も近いセクタを装置に選択させることができる。
【００８９】
プログラム・コード４０４は、一つ以上のプロセッサに対し、マイクＭ０．．．ＭＭからの離散時間領域入力信号ｘｍ(ｔ)を生成するように指示し、セミブラインド音源分離でリスニングセクタを使用して有限インパルス応答フィルタ係数を選択して入力信号ｘｍ(ｔ)からの異なる音源を分離させる、一つ以上の命令を選択的に含んでもよい。プログラム４０４は、参照マイクＭ０からの入力信号ｘ０(ｔ)以外の選択された入力信号ｘｍ(ｔ)に対し一つ以上の非整数遅延を適用する命令を含んでもよい。非整数遅延のそれぞれを選択して、マイク配列から得られる離散時間領域出力信号ｙ(ｔ)の信号対雑音比を最適化することができる。参照マイクＭ０からの信号が配列の他のマイクからの信号に対して時間的に最初になるように非整数遅延を選択してもよい。プログラム４０４は、非整数時間遅延Δをマイク配列の出力信号ｙ(ｔ)に導入する命令を含んでもよい。
すなわち、ｙ(ｔ＋Δ)＝ｘ(ｔ＋Δ)＊ｂ０＋ｘ(ｔ−ｌ＋Δ)＊ｂ１＋ｘ(ｔ−２＋Δ)＊ｂ２＋．．．＋ｘ(ｔ−Ｎ＋Δ)ｂＮ、ここで、Δは０と１の間である。
【００９０】
プログラム・コード４０４は、実行時に、画像取得装置４２３の前方の視野を監視させ、視野内の一つ以上の光源４３４を特定させ、光源４３４から発せられた光の変化を画像取得装置４２３に検出させる一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。そして、変化の検出に応じて、プロセッサ４０１に入力コマンドがトリガされる。画像取得装置と連携したＬＥＤの使用によりゲームコントローラにアクションを引き起こすことは、2004年1月16日に出願された共有の米国特許出願第10/759,782号、Richard L. Marksらの「METHOD AND APPARATUS FOR LIGHT INPUT DEVICE」に記載されており、その全体が参照により本明細書に援用される。
【００９１】
プログラム・コード404は、実行時に、慣性センサからの信号と一つ以上の光源の追跡により画像取得装置から生成される信号とを上述のようにゲームシステムへの入力として使用する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。プログラム・コード404は、実行時に慣性センサ４３２のドリフトを補償する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。
【００９２】
さらに、プログラム・コード４０４は、実行時にゲーム環境に対するコントローラ操作のギアリング（gearing）とマッピングを調整する一つ以上の命令を含むプロセッサ実行可能命令を選択的に含んでもよい。このような特徴により、ユーザは、ゲーム状態に対するジョイスティック・コントローラ４３０の操作の「ギアリング」を変更することができる。例えば、ジョイスティック・コントローラ４３０の４５度回転が、ゲームオブジェクトの４５度回転に変換されてもよい。しかしながら、コントローラのＸ度回転（または傾き、ヨー、あるいは「操作」）がゲームオブジェクトのＹ度回転（または傾き、ヨー、あるいは「操作」）に変換されるように、この１：１のギア比を修正してもよい。ギアリングは１：１、１：２、１：Ｘ、またはＸ：Ｙの比率であってもよい。ここで、ＸとＹは任意の値を取ることができる。さらに、ゲームコントロールへの入力チャネルのマッピングが、時間とともにまたは直ちに修正されてもよい。修正は、ジェスチャの軌道モデルの変更、ジェスチャの位置、大きさ、閾値を修正することなどを含む。操作のダイナミックレンジをユーザに与えるために、このようなマッピングがプログラムされていても、ランダムでも、階段状（tiered）でも、ずらされて（staggered）いてもよい。マッピング、ギアリングまたは比率の修正は、ゲームコントローラ４３０上のユーザ修正ボタン（キーパッド等）の使用により、または大まかに入力チャネルに応答して、ゲームプレイやゲーム状態にしたがってプログラムコード４０４により調節されてもよい。入力チャネルには、ユーザ音声の成分、コントローラにより発生する音、コントローラにより発生する追跡音、コントローラボタン状態、ビデオカメラ出力、加速度計データ、傾き、ヨー、ロール、位置、加速度を含むコントローラ遠隔測定データ、およびユーザまたはオブジェクトのユーザによる操作を追跡可能なセンサから得られる任意の他のデータを含むが、これらに限定されない。
【００９３】
特定の実施形態では、プログラム・コード４０４は、予め定められた時間に依存する方法で、１つの方式または比率から別の方式へと時間とともにマッピングまたはギアリングを変更してもよい。ギアリングとマッピングの変更は、様々な方法でゲーム環境に適用することができる。一例では、キャラクタが健康なときにはあるギアリング方式でテレビゲームキャラクタを制御し、キャラクタの健康が悪化すると、システムがコントローラコマンドのギアを変更して、キャラクタへのジェスチャコマンドを与えるためのユーザのコントローラの動きを悪化させるようにしてもよい。例えばユーザが新しいマッピングの下でキャラクタの制御を回復するために入力の調整を要求されるとき、方向感覚を失ったテレビゲームキャラクタは、入力チャネルのマッピングの変更を強制されるようにしてもよい。ゲームコマンドに対する入力チャネルの変換を修正するマッピング方式がゲームプレイ中にも変化してもよい。この変換は、ゲーム状態に応じて、または入力チャネルの一つ以上の要素の下で発行される修正コマンドに応じて、様々な方法で発生する。ギアリングとマッピングは、入力チャネルの一つ以上の要素の設定および／または処理に影響を与えるように構成されてもよい。
【００９４】
さらに、ジョイスティック・コントローラ４３０にスピーカ４３６が取り付けられてもよい。プログラムコード４０４がマイク配列４２２を用いて検出された音を定位して特徴づける「音響レーダ」実施形態では、スピーカ４３６は、マイク配列４２２により検出可能であり、ジョイスティックコントローラ４３０の位置を追跡するためにプログラムコード４０４により使用される音声信号を提供することができる。スピーカ４３６は、ジョイスティック・コントローラ４３０からプロセッサ４０１に対し追加の「入力チャネル」を提供するためにも使用することができる。スピーカ４３６からの音声信号を周期的にパルス化して、位置追跡のために音響レーダ用のビーコンを提供してもよい。音声信号（パルス状またはそれ以外）は聞き取り可能であっても超音波であってもよい。音響レーダはジョイスティック・コントローラ４３０のユーザ操作を追跡することができる。このような操作追跡は、ジョイスティック・コントローラ４３０の位置および方向（例えば、ピッチ、ロールまたはヨー角度）に関する情報を含んでもよい。パルスは、当業者であれば適用可能であるように、適切なデューティサイクルでトリガすることができる。パルスは、システムから調整される制御信号に基づいて開始されてもよい。装置４００は、（プログラム・コード４０４によって）プロセッサ４０１に接続された二つ以上のジョイスティックコントローラ４３０の間での制御信号の発送を調整して、複数のコントローラが確実に追跡されるようにすることができる。
【００９５】
一例として、本発明の実施形態を並列処理システム上で実施することができる。このような並列処理システムは、一般的に、別々のプロセッサを使用してプログラムの部分を並列に実行するように構成された二つ以上のプロセッサ要素を含む。一例として、限定ではなく、図５は本発明の一実施形態による一種のセルプロセッサ５００を示す。セルプロセッサ５００を図４のプロセッサ４０１として用いることができる。図５に示す例では、セルプロセッサ５００はメインメモリ５０２と、パワープロセッサ要素（ＰＰＥ）５０４と、複数の相乗作用プロセッサ要素（ＳＰＥ）５０６とを備える。図５に示す例では、セルプロセッサ５００は一つのＰＰＥ５０４と８つのＳＰＥ５０６を備える。このような構成では、ＳＰＥ５０６のうちの７台を並列処理のために使用し、一台を他の７台のうちの一つが故障した場合のバックアップとして確保しておいてもよい。代替的に、セルプロセッサは、複数グループのＰＰＥ（ＰＰＥグループ）と複数グループのＳＰＥ（ＳＰＥグループ）とを備えていてもよい。この場合には、グループ内のユニット間でハードウェア資源を共有することができる。しかしながら、ＳＰＥとＰＰＥは独立した要素としてソフトウェアに見えなければならない。このように、本発明の実施形態は、図５に示す構成の使用に限定されない。
【００９６】
メインメモリ５０２は、一般に、汎用で不揮発性の記憶装置の場合と、システム構成、データ転送同期、メモリマップされたＩ／Ｏ、Ｉ／Ｏサブシステム等の機能のために用いられる特定目的のハードウェアレジスタまたはアレイの両方の場合を含む。本発明の実施形態では、信号処理プログラム５０３がメインメモリ５０２内に常駐してもよい。信号処理プログラム５０３がＰＰＥの上で動作してもよい。プログラム５０３は、ＳＰＥおよび／またはＰＰＥ上で実行可能な複数の信号処理タスクに分割されてもよい。
【００９７】
一例として、ＰＰＥ５０４は、関連するキャッシュＬ１、Ｌ２を持つ６４ビットパワーＰＣプロセッサユニット（ＰＰＵ）であってもよい。ＰＰＥ５０４は汎用処理ユニットであり、（例えばメモリ保護テーブルなどの）システム管理リソースにアクセス可能である。ＰＰＥによって見られるように、ハードウェア資源が明示的に実アドレス空間マッピングされていてもよい。したがって、ＰＰＥは、適当な実効アドレス値を使用して、これらの任意のリソースを直接アドレス指定することができる。ＰＰＥ５０４の主要な機能は、セルプロセッサ５００のＳＰＥ５０６のためのタスク管理とタスク割り当てである。
【００９８】
一つのＰＰＥのみがセル・ブロードバンド・エンジン・アーキテクチャ（ＣＢＥＡ）のようなセルプロセッサ実装として図５に示されているが、セルプロセッサ５００は、二つ以上のＰＰＥグループに組織された複数のＰＰＥを有していてもよい。これらのＰＰＥグループは、メインメモリ５０２へのアクセスを共有してもよい。さらに、セルプロセッサ５００は、二つ以上のＳＰＥグループを備えてもよい。ＳＰＥグループは、メインメモリ５０２へのアクセスを共有してもよい。このような構成は本発明の範囲内である。
【００９９】
各ＳＰＥ５０６は、相乗作用プロセッサユニット（ＳＰＵ）と自身のローカル記憶領域ＬＳとを備える。ローカル記憶領域ＬＳは、それぞれが特定のＳＰＵと関連づけられる一つ以上の別個のメモリ記憶領域を有していてもよい。各ＳＰＵは、自身の関連するローカル記憶領域内からの命令（データロード操作とデータ記憶操作を含む）のみを実行するように構成されていてもよい。このような構成では、ローカル記憶ＬＳとシステム５００内のいずれかの場所との間でのデータ転送は、（個々のＳＰＥの）ローカル記憶領域を出入りするデータ転送をするダイレクトメモリアクセス（ＤＭＡ）コマンドをメモリフローコントローラ（ＭＦＣ）から発行することで実行できる。ＳＰＵは、いかなるシステム管理機能も実行しないという点で、ＰＰＥ５０４よりも複雑さの少ない計算ユニットである。ＳＰＵは、一般に単一命令、複数データ（ＳＩＭＤ）能力を有し、割り当てられたタスクを実行するために、データを処理して任意の必要なデータ転送（ＰＰＥによりセットされた特性へのアクセスを受ける）を開始する。ＳＰＵの目的は、より高い計算単位密度を必要とし提供された命令セットを効果的に使用できるアプリケーションを実行可能とすることである。ＰＰＥ５０４によって管理されるシステム内の相当数のＳＰＥによって、広範囲にわたるアプリケーションについて費用効果の高い処理が可能になる。
【０１００】
各ＳＰＥ５０６は、メモリ保護とアクセス許可情報を保持し処理が可能である関連するメモリ管理ユニットを有する専用のメモリフローコントローラ（ＭＦＣ）を備えることができる。ＭＦＣは、セルプロセッサの主記憶装置とＳＰＥのローカル記憶装置との間のデータ転送、保護および同期の主要な方法を提供する。ＭＦＣコマンドは実行される転送を記述する。データを転送するためのコマンドは、ＭＦＣダイレクトメモリアクセス（ＤＭＡ）コマンド（またはＭＦＣ  ＤＭＡコマンド）と呼ばれることがある。
【０１０１】
各ＭＦＣは、同時に複数のＤＭＡ転送をサポートすることができ、また複数のＭＦＣコマンドを維持かつ処理することができる。各ＭＦＣ  ＤＭＡデータ転送コマンドは、ローカル記憶装置のアドレス（ＬＳＡ）と実効アドレス（ＥＡ）の両方を必要とすることがある。ローカル記憶装置アドレスは、その関連するＳＰＥのローカル記憶領域のみを直接アドレス指定してもよい。実効アドレスにはより一般的なアプリケーションがあることがある。例えば、実効アドレスが実アドレス空間内にエイリアスされる場合、全てのＳＰＥローカル記憶領域を含む主記憶装置を参照することができる。
【０１０２】
ＳＰＥ５０６の間の通信および／またはＳＰＥ５０６とＰＰＥ５０４の間の通信を容易にするために、ＳＰＥ５０６とＰＰＥ５０４は、イベントを合図する信号通知レジスタを含んでもよい。ＰＰＥ５０４とＳＰＥ５０６は、ＰＰＥ５０４がメッセージをＳＰＥ５０６に発信するルータの働きをするスター・トポロジによって結合されてもよい。代わりに、各ＳＰＥ５０６とＰＰＥ５０４は、メールボックスと呼ばれる一方向の信号通知レジスタを有していてもよい。メールボックスはＳＰＥ５０６により使用され、オペレーティングシステム（ＯＳ）の同期をホストすることができる。
【０１０３】
セルプロセッサ５００は、セルプロセッサ５００がマイク配列５１２やオプションの画像取得装置５１３のような周辺装置と対話する入出力（Ｉ／Ｏ）機能５０８を備えていてもよい。さらに、要素相互接続バス５１０が上記の様々な構成要素を接続してもよい。各ＳＰＥとＰＰＥは、バスインタフェースユニットＢＩＵを通してバス５１０にアクセスすることができる。セルプロセッサ５００は、プロセッサ内に通常見つかる二つのコントローラを備えてもよい。すなわち、バス５１０とメインメモリ５０２の間でのデータの流れを制御するメモリインタフェースコントローラＭＩＣと、Ｉ／Ｏ５０８とバス５１０の間でのデータの流れを制御するバスインタフェースコントローラＢＩＣである。ＭＩＣ、ＢＩＣ、ＢＩＵおよびバス５１０の要件は様々な実装に対して大きく異なることがあるが、当業者であれば、これらを実装するための機能および回路に精通しているであろう。
【０１０４】
セルプロセッサ５００は、内部割り込みコントローラＩＩＣを備えてもよい。ＩＩＣ構成要素は、ＰＰＥに提示される割り込みの優先度を管理する。ＩＩＣは、他の構成要素からの割り込みを、セルプロセッサ５００がメインシステムの割り込みコントローラを用いることなく処理することを可能にする。ＩＩＣは、第２のレベルコントローラとみなしてもよい。メインシステムの割り込みコントローラは、セルプロセッサ外部から生じる割り込みを処理してもよい。
【０１０５】
本発明の実施形態では、非整数遅延などの特定の計算を、ＰＰＥ５０４および／または一つ以上のＳＰＥ５０６を用いて並列に実行することができる。各非整数遅延計算を、異なるＳＰＥ５０６が利用可能になるにつれて引き受けることができる一つ以上の別個のタスクとして実行することができる。
【０１０６】
ある実施の形態は、ユーザによってプレイされる対話型ゲームが可能になるように、プロセッサによるゲームプログラムの実行を制御するための情報を取得する際に使用する追跡装置を提供する。追跡装置は、本体と少なくとも１つのＰＤ素子を含む。本体は、ゲーム装置の実行を介して提供されるゲームの進行がスクリーンに表示される際にスクリーンの方を向く部分をさらに含むことができる。また、少なくとも１つのＰＤ素子は当該本体に組み込むことができる。当該部分が少なくとも部分的にスクリーンの方向を向いているときに、画像内のＰＤ素子の位置が画像取得装置によって記録可能である。操作中に時間的に異なる位置にあるＰＤ素子の位置を定量化可能であり、空間における本体の動きを定量化することができる。
【０１０７】
さらに、当該本体はゲームコントローラに搭載することができる。ゲームコントローラはゲームコントローラ本体と、ゲームコントローラ本体に取り付けられた少なくとも１つの入力デバイスを備える。入力デバイスはユーザによる操作が可能であり、ユーザからの入力を登録することができる。ある例では、当該装置はトラッキングデバイスとゲームコントローラの両方を含む。
【０１０８】
ある実施の形態では、ＰＤ素子は逆反射器を含んでもよい。さらにあるいはその代わりに、ＰＤ素子の色は、ＰＤ素子に隣接する本体の一部の色に対して高コントラストであってもよい。さらに、少なくとも一つのＰＤ素子の各々は、少なくとも二つの異なるテクスチャを含むパターンをもっていもよい。たとえば、それらのテクスチャは、少なくとも一つの輝度、色、粗さ、および／または他の何らかの質感において異なるものであってもよい。ある実施の形態では、ＰＤ素子は光源を含み、ある実装では、光源は少なくとも一つのＬＥＤを含むことがある。
【０１０９】
さらに、ある実施の形態は、２、３、４、あるいはそれ以上のＰＤ素子を含む。これらの複数のＰＤ素子は１または２以上の構成で位置づけることができる。たとえば、２つのＰＤ素子をもつ実装では、ＰＤ素子は直線をなすように位置づけられ、３つのＰＤ素子をもつ実装では、素子は三角形をなすように位置づけられる。４つのＰＤ素子をもつ他の実装では、素子は４本の線をなすように配置したり、位置づけたりすることができる。４本の線は、たとえば、長方形または他の適当な構造を定義することができる。
【０１１０】
ＰＤ素子は光源を含み、少なくとも一つの光源は、その少なくとも一つの光源によって出力される光に関する特徴によって、他の光源と区別可能であってもよい。その少なくとも一つの光源は、たとえば、ストロボ周期、オンオフデューティサイクル、オンオフサイクル内のオン期間のタイミング、光源の出力のスペクトル成分、他の適当な区別する手段の少なくとも一つまたはその組み合わせによって、他の光源と区別可能であってもよい。ある実施の形態では、トラッキングデバイスの本体はユーザの身体に取り付け可能である。
【０１１１】
ある実施の形態に係るトラッキングデバイスはさらに通信インタフェースを含み、プロセッサ、ゲームコントローラ、またはその両方とデジタル通信をすることができる。通信インタフェースは実質的に任意のインタフェースであればよく、ＵＡＲＴ（universal asynchronous receiver transmitter）、ＵＳＢ（universal serial bus ）、および／または他のインタフェース、あるいはその組み合わせであってもよい。典型的には、インタフェースは、トラッキングデバイスの操作を制御するための制御信号を受信する機能、別のデバイスと通信するためにトラッキングデバイスからの信号を送信する機能、および／または他のそのような通信機能のすくなくとも一つを実行する機能を有する。
【０１１２】
ある実施の形態は、ゲームプログラムを実行し、スクリーンにゲームの進行を表示し、ユーザが対話的にゲームをプレイできるようにする機能を有するプロセッサをさらに含む。１以上のＰＤ素子の位置は、スクリーンの近くなどに設置された画像取得装置によって記録可能であり、プロセッサは、画像取得装置によって出力される情報を用いて画像内のＰＤ素子の位置を検出するように構成することができる。さらにあるいはその代わりに、プロセッサは、画像取得装置によって出力される情報からゲームプログラムの実行を制御するためのユーザ入力情報を検出する機能、画像取得装置によって出力される情報から時間的に異なる位置における当該本体の空間的加速度を表すサンプル列を取得する機能、および／または、そのサンプル列を用いて、たとえば、ある時間間隔にわたってサンプル列から取得される加速度値を統合することによって、当該本体の速度を決定する機能を有してもよい。
【０１１３】
プロセッサは、ある場合には、ある時間間隔にわたってサンプル列から取得された加速度を統合し、次にその統合結果をさらに統合することによって、当該本体の空間的な変位を決定することができる。さらにあるいはその代わりに、プロセッサは、前に決定された位置に関する変位を決定することによって、当該本体の空間的な位置を決定することができる。
【０１１４】
トラッキングデバイスが少なくとも２つのＰＤ素子を含む例では、プロセッサは、画像取得装置によって出力される情報を用いて、少なくとも二つの空間的な自由度において当該本体の加速度を表すサンプル列を取得することができる。トラッキングデバイスが少なくとも３つのＰＤ素子を含むとき、プロセッサは、画像取得装置によって出力される情報を用いて、少なくとも３つの自由度で当該本体の加速度を表すサンプル列を取得することができる。３つの自由度はたとえば、３つの直交する軸であるｘ、ｙ、ｚ軸および／またはピッチ、ヨー、ロール軸に沿った運動を含む。ある実施の形態では、プロセッサは、たとえば、３つの自由度とピッチ、ヨー、ロールを含む６つの自由度で動きを定量化することができる。
【０１１５】
さらにある実施の形態はコントローラを含む。コントローラは、本体、本体上に配置された１以上のボタン、および配列状に本体上に配置された１以上の検出可能な素子を含む。さらにある実装では、その配列は直線状の配列である。
【０１１６】
上述のように、コンピュータエンタテインメントシステムは典型的には携帯型コンピュータ、ゲームコントローラ、または他のコントローラを含む。ユーザすなわちプレイヤはコントローラを用いてコマンドやその他の命令をエンタテインメントシステムに送り、プレイ中のビデオゲームまたは他のシミュレーションを制御する。テレビジョン、ステレオ、他のエンタテインメントシステム、および電気器具もまた携帯型コントローラを含む。
【０１１７】
ここに述べる方法、装置、機構およびシステムのいろいろな実施の形態は、携帯型コントローラの３次元的な動きをディスプレイスクリーンの２次元画像平面にマッピングするために提供される。これにより、ユーザによるコントローラ本体全体の３次元的な動きを用いて、ディスプレイスクリーンの２次元画像平面上で操作がなされるシステムの状況を制御することができるようになる。
【０１１８】
たとえば、図６Ａ、６Ｂ、６Ｃは、本発明の実施の形態にしたがって動作するシステムを説明する。この実施の形態では、携帯型コントローラの３次元的な動きを用いてマウスのような機能を実現し、スクリーン上のポインタを操作することができる。たとえば、図６Ａはプレイヤの手６０４に持ったコントローラ６０２を示す。コントローラ６０２を上に動かす運動６０６により、ディスプレイのスクリーン６０８上でカーソルがある位置６１０から別の位置６１２まで上に移動する。図６Ｂにおいて、コントローラ６０２を下に動かす運動６２０により、ディスプレイのスクリーン６０８上でカーソルがある位置６２２から別の位置６２４まで下に移動する。図６Ｃにおいて、コントローラ６０２を横に動かす運動６３０により、ディスプレイのスクリーン６０８上でカーソルがある位置６３２から別の位置６３４まで横に移動する。以下述べるように、他の実施の形態では、携帯型コントローラの３次元運動を、たとえば、スクリーン上で照準線またはそれに類するものを操作するというような他の機能に使うこともできる。
【０１１９】
図７を参照して、本発明の実施の形態にしたがって動作する方法７００を説明する。方法７００はステップ７０２で始まり、システムの携帯型コントローラの３次元運動が追跡される。そのような追跡は多くの異なる方法でなされる。たとえば、そのような追跡は、慣性、ビデオ、音響、または赤外線の分析を通して、ここで上述する方法や他の方法で実行される。
【０１２０】
ビデオトラッキングの例では、たとえば、カメラ周辺機器をコンピュータエンタテインメントシステムとともに用いて、携帯型コントローラ本体の動きを検出し、それをゲームのアクションに送ることができる。カメラは、コントローラの多くの異なるタイプの動きを検出するために使うことができる。たとえば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。ここでも、追跡は、慣性、音響、または赤外線の分析を通して行われる。たとえば、赤外線分析を用いる実施の形態では、赤外線分析器と赤外線の直線配列を用いて、センサの出力を見ることでユーザの位置とコントローラの姿勢を決定する。
【０１２１】
ステップ７０４において、携帯型コントローラの追跡された３次元運動をシステムのディスプレイスクリーンの２次元画像平面に写像する。すなわち、コントローラ本体自身の３次元的な動きを、スクリーン上の２次元画像平面に投影する。このようにして、コントローラの３次元的な動きは、スクリーンの２次元画像平面のＸ−Ｙ座標に変換される。
【０１２２】
ステップ７０６において、携帯型コントローラの追跡された３次元運動の写像にもとづいてスクリーンの２次元画像平面に１以上の画像を表示する。画像には多くの異なるタイプのものが含まれる。たとえば、図６Ａ、６Ｂ、６Ｃに示すように、画像には、スクリーン上に表示されるアイテムを選択する際に利用するポインタが含まれる。その例では、コントローラ６０２全体はマウスのようなデバイスとなり、マウスのように使ってメニュー、リンクなどのスクリーン上のアイテムを制御したり、選択することができる。
【０１２３】
コントローラのいろいろな異なるタイプの動きによって、スクリーン上に表示された画像のいろいろな異なる動きを構成することができる。たとえば、ユーザはコントローラを持ち上げたり、手首をねじったりして、画像を動かすことができる。あるいは、別の例では、ユーザはコントローラの位置を押し下げ、コントローラの首を下に向けることで、カーソルがさらに下に下がるようにすることもできる。また、別の例では、ユーザはコントローラの位置とともに左に動いたとしても、姿勢を左にねじることにより、カーソルを左に動かすことができる。また、別の例では、ユーザはコントローラの位置とともに右に動いても、姿勢を右にねじることにより、カーソルを右に動かすことができる。ここでも、これらは例に過ぎず、多くの他のタイプの動きを構成することができる。
【０１２４】
図８を参照して、本発明の実施の形態にしたがって動作する別のシステムを説明する。この実施の形態では、１以上の画像には、射撃ゲームなどのために一組の照準線が含まれる。たとえば、図８において、ユーザすなわちプレイヤは、ゲームを通してカメラをパンしたり動かしたりしながら、スクリーン８０２に表示される３次元空間を歩いてもよい。ユーザの銃あるいはそれに類するものの一組の照準線８０４が、３次元空間を超えてスクリーン８０２の２次元画像平面のＸ−Ｙ座標に写像される。
【０１２５】
ユーザがコントローラ本体８０６を３次元的に動かすと、その動きにより２次元の照準線８０４が動く。図示されるように、コントローラ本体８０６の横方向で上向きの動き８１０により、２次元照準線８０４は、ある位置８１２から別の位置８１４に移動する。このように、ゲームには３次元ゲームが含まれるが、スクリーン上の照準線は３次元空間を越えてスクリーンの２次元平面のＸ、Ｙ座標に写像される。
【０１２６】
これまで述べた例で説明したように、本発明の実施の形態によれば、コントローラをマウスのようなデバイスとして用いて、メニュー、リンク、アイテムなどを選択することができるが、コントローラの機能を変更して、たとえば、射撃ゲームの照準線を成業するといった他の機能のために使うこともできる。このように、ユーザによるコントローラ本体全体の検出された運動、動き、および／または操作を付加的なコマンドとして用いて、プレイ中のゲームまたは他のシミュレーションのいろいろな状況を制御してもよい。
【０１２７】
ある実施の形態では、オプションの特徴として、２次元写像に対する操作のギアを調整したり、絞ったりすることで、選択されたスロットルのレベルにもとづいてユーザがカーソルをより速く動かしたり、よりゆっくり動かすことができるようになる。これにより、カーソル、照準線などがコントローラの動きや運動に応答して動く速度をユーザが選択する柔軟性が提供される。コントローラ上のボタンやコントロールを用いて、そのようなギア調整を行ってもよい。一例として、ある実施の形態では、可変のＬ２およびＲ２ボタン（図１Ｂ、１Ｃ、１Ｄ、１Ｅ）や他のボタンまたはコントロールを用いてヒアリングを絞ってもよい。
【０１２８】
上述のように、携帯型コントローラの３次元的な動きを多くの異なる方法、たとえば、上述または他の方法で慣性、ビデオ、音響、または赤外線の分析によって追跡してもよい。図９を参照して、本発明のある実施の形態にしたがって動作するシステム９００を説明する。上述のように、「混合モード」信号を用いてもよく、それによれば、あるタイプのセンサからの信号が入力される追跡情報の一部を提供し、他のタイプのセンサから生成された信号が入力される追跡情報の他の部分を提供する。ある実施の形態において、フィードバックループにはミキサ９０２が含まれ、慣性、ビデオ、音響、または赤外線のセンサのようないろいろなタイプのセンサからの信号をミキシングするために使われる。ミキサ９０２からの出力は、写像器９０５またはそれに類するものによってスクリーンの２次元画像平面に写像される。そして、画像は、スクリーンの２次元画像平面上に表示される（９０６）。
【０１２９】
このような方法で、コントローラの３次元運動、動き、操作はセンサで検出され、追跡され、そして、ミキサを等してスクリーンの２次元プラットフォームに写像される。一例として、ビデオトラッキングが用いられる場合、コントローラの３次元運動はカメラの２次元画像平面に投影され、そして、カメラの２次元平面の観点からのコントローラの動きと変形はスクリーンの２次元プラットフォームに写像される。
【０１３０】
本発明の他の実施の形態では、オプションとして、スクリーンの２次元画像平面のＸまたはＹ座標のいずれかをロックしてもよい。このようにすることで、プレイヤがいろいろな方向にコントローラを動かすとき、ＸおよびＹ座標の一方がロックされているため、スクリーン上に表示される画像が一方向にのみ動く。たとえば、図１０は本発明の別の実施の形態にしたがって動作するシステムを説明する。この実施の形態では、ユーザまたはプレイヤはカメラをゲームを通してカメラをパンしたり動かしたりしながら、スクリーン１００２に表示される３次元空間を歩いてもよい。ユーザの銃あるいはそれに類するものの一組の照準線１００４が、３次元空間を超えてスクリーン１００２の２次元画像平面のＸ−Ｙ座標に写像される。
【０１３１】
この例では、Ｙ座標はロックされている。コントローラ本体１００６の横方向で上向きの運動１０１０によって、２次元照準線１００４はある位置１０１２から別の位置１０１４にＸ軸のみに沿って横に移動する。照準線１００４は、Ｙ軸がロックされているため、Ｘ軸に沿ってのみ動く。
【０１３２】
ある実施の形態では、ユーザがボタンを押し続けると、軸の一つがロックされる。たとえば、ボタンがＹ軸をロックし、その結果、ユーザがコントローラを動かすときはいつでも、スクリーン上の画像はＸ軸方向にのみ動く。すなわち、Ｙ座標は固定されたままである。したがって、ユーザがコントローラを右方向にねじっても、Ｘ軸上で右方向にスライドするだけであり、また、コントローラを左方向にねじっても、Ｘ軸に沿って左にスライドするだけである。ある実施の形態では、ユーザがボタンを再度押した場合、以前にロックされた軸がアンロックされるように構成されてもよく、これにより、ユーザは再び全く自由に動かせるようになる。ある実施の形態では、ユーザがＸ座標をロックするために別のボタンを再度押した場合、ユーザは照準線を上下にのみスライドさせることができるようになる。
【０１３３】
携帯型コントローラは、本発明のいろいろな実施の形態に係る任意のタイプのコントローラであってもよい。たとえば、ビデオゲーム機コントローラを説明したが、その代わりにコントローラは任意のタイプのコントローラ、たとえば、テレビジョン、ステレオ、ＤＶＤプレイヤなどの従来のコントローラであってもよい。一例として、図１１Ａは、本発明のいろいろな実施の形態にしたがって用いられる従来のテレビジョンコントローラ１１０２を説明する。あるいは、コントローラはここに述べる方法で追跡される任意の他のタイプのオブジェクトであってもよい。一例として、図１１Ｂは、本発明のいろいろな実施の形態にしたがって使用されるオブジェクト１１０４を説明する。
【０１３４】
ある実施の形態では、コントローラの位置およびヨーは付加的なものである。これにより、コントローラの動きがカーソルまたは照準線を同じ方向に動かすことが可能になり、その結果、動きは以前の動きに「付加」される。
【０１３５】
上述のように、ゲームコントローラのユーザ操作を検出し、追跡することは異なる方法で実装することができる。たとえば、加速度計またはジャイロスコープのような慣性センサ、デジタルカメラのようなイメージキャプチャユニットをコンピュータエンタテインメントシステムとともに用いて、携帯型コントローラ本体の動きを検出し、それをゲームのアクションに送るようにしてもよい。慣性センサをもつコントローラを追跡する例は、たとえば米国特許出願第11/382,033号、"SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL" （代理人整理番号SCEA06INRT1）に記載されており、参照によりここに組み込む。イメージキャプチャを用いてコントローラを追跡する例は、たとえば米国特許出願第11/382,034号、"SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY" (代理人整理番号SCEA05082US00 )に記載されており、参照によりここに組み込む。さらに、マイク配列および適当な信号処理を用いて、コントローラおよび／またはユーザを音響的に追跡してもよい。そのような音響による追跡の例は、米国特許出願第11/381,721号に記載されており、参照によりここに組み込む。
【０１３６】
音響センシング、慣性センシングおよびイメージキャプチャを個別にあるいは組み合わせて用いて、コントローラの多くの異なるタイプの動きを検出することができる。たとえば、上下の動き、ひねる動き、横方向の動き、急な動き、杖のような動き、落ち込む動きなどである。このような動きは、ゲーム内のアクションに変換される様々なコマンドに対応していてもよい。ゲームコントローラ本体のユーザによる操作の検出および追跡を使用して、多くの異なる種類のゲームやシミュレーション等を実施することができる。これによってユーザは、例えば、剣またはライトセーバーで戦い、杖を用いてアイテムの形状をなぞり、多くの異なる種類のスポーツ競技に参加し、スクリーン上の戦いまたは他の遭遇等に関わることができる。コントローラの動きを追跡し、追跡された動きからある予め記録されたジェスチャを認識できるようにゲームプログラムを構成してもよい。１以上のジェスチャの認識によって、ゲーム状態に変化が引き起こされてもよい。
【０１３７】
上述のように、本発明のある実施の形態では、ジェスチャ認識の分析の前に、これらの異なるソースから取得されたコントローラの経路情報を混合してもよい。異なるソース（たとえば、音響、慣性およびイメージキャプチャ）からのトラッキングデータをある方法で混合することで、ジェスチャの認識の可能性を改善することができる。
【０１３８】
上述したように、慣性ソース、画像捕捉ソース、音響ソースからのデータを解析して、コントローラの位置および／または方向を追跡する経路を生成することができる。図１２のブロック図で示すように、本発明の一実施形態によるシステム１２００は、慣性解析器１２０２、画像解析器１２０４、および音響解析器１２０６を備えてもよい。これらの解析器はそれぞれ、検知される環境から信号を受け取る。解析器１２０２、１２０６、１２０８は、ハードウェア、ソフトウェア（またはファームウェア）、またはこれらのうちの二つ以上の組合せで実装することができる。各解析器は、対象オブジェクトの位置および／または方向に関する追跡情報を生成する。一例として、対象オブジェクトは上述のコントローラ１１０であってもよい。画像解析器１２０４は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/382,034号（代理人整理番号86321 SCEA05082US00）に記載の方法に関連する。慣性解析器１２０２は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/382,033号の「SYSTEM、METHOD、AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL」（代理人整理番号SCEA06INRT1）に記載の方法に関連する。音響解析器１２０６は、以下のフィールドとともに動作しフィールドを形成し、米国特許出願第11/381,724号に記載の方法に関連する。
【０１３９】
解析器１２０２、１２０４、１２０６を、位置情報および／または方向情報の異なる入力チャネルに関連しているとみなしてもよい。ミキサ１２０８は複数の入力チャネルを受け入れることができる。このチャネルは、典型的にチャネルの視野からの検知された環境を特徴付けるサンプルデータを含む。慣性解析器１２０２、画像解析器１２０４および音響解析器１２０６によって生成される位置情報および／または方向情報を、ミキサ１２０８の入力に結合することができる。ミキサ１２０８と解析器１２０２、１２０４、１２０６は、ゲームソフトウェア１２１０によって問い合わせされ、イベントに応じてゲームソフトウェアを中断するように構成されていてもよい。イベントには、ジェスチャ認識イベント、ギアリング（gearing）変更、設定変更、設定ノイズレベル、設定サンプリングレート、マッピングチェーンの変更等が含まれる。これらの例については後述する。ミキサ１２０８は、以下のフィールドとともに動作しフィールドを形成し、本明細書に記載の方法に関連する。
【０１４０】
上述のように、例えば慣性センサ、ビデオ画像および／または音響センサなどの異なる入力チャネルからの信号が、それぞれ慣性解析器１２０２、画像解析器１２０４、音響解析器１２０６によって解析され、本発明の方法によるテレビゲームのプレイ中にコントローラ１１０の動きおよび／または方向を決定することができる。このような方法は、プロセッサ可読の媒体に保存されデジタルプロセッサで実行される一連のプロセッサ実行可能なプログラムコード命令として実装することができる。
【０１４１】
例えば、図１３Ａに示すように、テレビゲームシステム１００は、それぞれハードウェアまたはソフトウェアで実装される慣性解析器１２０２、画像解析器１２０４、音響解析器１２０６を備えるコンソール１０２を含んでもよい。一例として、解析器１２０２、１２０４、１２０６は、適切なプロセッサユニット１３０２上で動くソフトウェア命令として実装することができる。一例として、プロセッサユニット１３０２は、例えば、テレビゲーム機で一般に使用される種類のマイクロプロセッサなどのデジタルプロセッサであってもよい。命令の一部がメモリ１３０６に保存されてもよい。代わりに、慣性解析器１２０２、画像解析器１２０４、および音響解析器１２０６は、例えば特定用途向け集積回路（ＡＳＩＣ）としてハードウェアで実装されてもよい。このような解析器ハードウェアは、コントローラ１１０またはコンソール１０２上に配置されてもよいし、別の場所に離れて配置されてもよい。ハードウェア実装では、解析器１２０２、１２０４、１２０６は、例えばプロセッサ１３０２から、またはＵＳＢケーブルや無線接続、ネットワークなどの他の離れて配置されたソースからの外部信号に応じてプログラム可能であってもよい。
【０１４２】
慣性解析器１２０２は、慣性センサ１３２により生成された信号を解析し、コントローラ１１０の位置および／または方向に関する情報を利用する命令を含むかそのような命令を実装してもよい。同様に、画像解析器１２０４は、画像取得装置１１２によってとらえられた画像を解析する命令を実装してもよい。さらに、音響解析器は、マイク配列１１８によってとらえられた画像を解析する命令を実装してもよい。図１３Ｂのフロー図１３１０に示すように、これらの信号および／または画像は、ブロック１３１２に示すように解析器１２０２、１２０４、１２０６により受け取られてもよい。ブロック１３１４で示すように、信号および／または画像は解析器１２０２、１２０４、１２０６で解析されて、コントローラ１１０の位置および／または方向に関する慣性追跡情報１２０３、画像追跡情報１２０５および音響追跡情報１２０７を求めてもよい。追跡情報１２０３、１２０５、１２０７は一つ以上の自由度に関連していてもよい。コントローラ１１０または他の追跡されるオブジェクトの操作を特徴付けるために、６自由度が追跡されることが好ましい。この自由度は、ｘ軸、ｙ軸、ｚ軸に沿ったコントローラの傾き、ヨー、ロールおよび位置、速度または加速度に関していてもよい。
【０１４３】
ある実施の形態では、コントローラ１１０はまた、音響信号生成器１１５（たとえばスピーカ）を含んでもよく、それにより、米国特許出願第11/381,724号（参照によりここに援用する）に記載されたようなマイク配列１１８と適切な音響信号処理をもつコントローラ１１０の音響追跡がやりやすくなる音源を提供することができる。
【０１４４】
ブロック１３１６で示すように、ミキサ１２０８は慣性情報１２０３、画像情報１２０５および音響情報１２０７を混合して、改善された位置および／または方向情報１２０９を生成する。一例として、ミキサ１２０８は、ゲーム状況または環境状況に基づき慣性情報１２０３、画像情報１２０５および音響情報１２０７に異なる重み付けを適用して加重平均をとってもよい。さらに、ミキサ１２０８は、組み合わされた位置および／または方向情報を解析する自身のミキサ解析器１２１２を備え、他の解析器により生成された情報の組み合わせを含む求められた自身の「ミキサ」情報を生成してもよい。
【０１４５】
本発明の実施形態では、ミキサ１２０８は解析器１２０２、１２０４、１２０６からの追跡情報１２０３、１２０５、１２０７に分布値を割り当ててもよい。上記のように、入力制御データの特定セットを平均化してもよい。しかしながら、本実施形態では、平均化の前に入力制御データに値を割り当て、これにより、一部の解析器からの入力制御データの分析の重要性を他の解析器からのものより高めてもよい。
【０１４６】
ミキサ１２０８は、他の処理および解析の観察、訂正、安定化、微分、組合せ、ルーティング、混合、報告、バッファ、中断の文脈でいくつかの機能を引き受けてもよい。これは、解析器１２０２、１２０４、１２０６の一つ以上から受け取る追跡情報１２０３、１２０５、１２０７に対して実行されてもよい。解析器１２０２、１２０４、１２０６がそれぞれ特定の追跡情報を受け取るか取り出す一方、ミキサ１２０８は受け取った追跡情報１２０３、１２０５、１２０７の使用を最適化し、改善された追跡情報１２０９を生成するように実装されていてもよい。
【０１４７】
解析器１２０２、１２０４、１２０６とミキサ１２０８は、同様の出力フォーマットで追跡情報を提供するように構成されることが好ましい。任意の解析器要素１２０２、１２０４、１２０６からの追跡情報パラメータを、解析器内の単一のパラメータにマッピングすることができる。代わりに、ミキサ１２０８は、一つ以上の解析器１２０２、１２０４、１２０６からの一つ以上の追跡情報パラメータを処理することによって、解析器１２０２、１２０４、１２０６のいずれのためにも追跡情報を作り出すことができる。ミキサは、解析器１２０２、１２０４、１２０６から得られる同一のパラメータタイプの追跡情報の二つ以上の要素を組み合わせ、解析器により生成された複数の追跡情報パラメータにわたる機能を実行して、複数の入力チャネルから生成される利点を有する出力の合成セットを作成することができる。
【０１４８】
ブロック１３１８で示すように、システム１００でのテレビゲームのプレイ中に、改善された追跡情報１２０９を利用することができる。特定の実施形態では、ゲームプレイ中にユーザ１０８によりなされたジェスチャに関連して位置情報および／または方向情報を用いることができる。一部の実施形態では、ミキサ１２０８は、ジェスチャ認識装置１３０５とともに作動して、ゲーム環境内の少なくとも一つの動作と、ユーザからの一つ以上のユーザ動作（例えば、空間内でのコントローラの操作）とを結びつけることができる。
【０１４９】
図１３Ｃのフロー図１３２０において、ブロック１３２２で示すように、位置情報および／または方向情報を用いてコントローラ１１０の経路を追跡することができる。一例として、経路は、いくつかの座標系に対するコントローラの質量中心の位置を表す一組の点を含んでもよいが、これに限定されない。各位置点は、デカルト座標系のＸ、Ｙ、Ｚ座標などの一つ以上の座標で表すことができる。経路の形状と、経路に沿ったコントローラの進行の両方を監視できるように、経路上の各点に時間を関連させてもよい。さらに、上記組の中の各点を、コントローラの方向（例えば、コントローラの質量中心周りの一つ以上の回転角）を表すデータと関連づけておいてもよい。さらに、経路上の各点を、コントローラの質量中心の速度および加速度、角回転率、および質量中心周りのコントローラの角加速度の値と関連づけておいてもよい。
【０１５０】
ブロック１３２４で示すように、追跡された経路を、プレイ中のテレビゲームの文脈に関連する既知のおよび／または予め記録されたジェスチャ１３０８に対応する一つ以上の保存された経路と比較してもよい。認識装置１３０５は、ユーザを認識するかまたは音声認証されたジェスチャ等を処理するように構成されてもよい。例えば、認識装置１３０５はジェスチャによりユーザを識別することができる。ジェスチャは、ユーザ特有のものであってもよい。このような特有のジェスチャは、メモリ１３０６に保存される予め記録されたジェスチャ１３０８の中に記録され含められる。記録処理は、ジェスチャの認識中に生じる音声を選択的に保存してもよい。検知された環境は多重チャネル解析器でサンプリングされ処理される。プロセッサはジェスチャモデルを参照して、音声または音響パターンに基づき高精度かつ高性能にユーザまたはオブジェクトを決定、認証および／または識別することができる。
【０１５１】
図１３Ａで示すように、ジェスチャを表すデータ１３０８がメモリ１３０６に保存されてもよい。ジェスチャの例には、ボールのような物を投げる、バットまたはゴルフクラブのような物を振る、ハンドポンプを動かす、扉または窓を開閉する、ハンドルまたは他の車両制御装置を回す、パンチのような格闘技の動き、紙やすりで磨く動き、ワックスをかける、家を塗る、振る、音をたてる、回す、フットボールを投げる、ノブを回す、３Ｄマウスの動き、スクロールする動き、プロフィールによる動き、任意の記録可能な動き、タイヤに空気を入れるような空間内の任意の方向で任意のベクトルに沿った前後の動き、経路に沿った動き、正確な停止と開始がある動き、ノイズフロア内で記録、追跡、繰り返し可能な任意の時間ベースのユーザ操作、スプライン等を含むが、これらに限定されない。これらのジェスチャはそれぞれ、経路データから予め記録され、時間ベースのモデルとして記録することができる。経路と保存されたジェスチャとの比較は、経路が定常状態から外れる場合、削除処理によってその経路を保存されたジェスチャと比較することができるという定常状態の仮定で開始することができる。ブロック１３２６で一致しない場合、ブロック１３２２で解析器１３０４はコントローラ１１０の経路を追跡し続けることができる。経路（またはその部分）と保存されたジェスチャとが十分に一致する場合、１３２８で示すようにゲームの状態を変更することができる。ゲーム状態の変更には、中断、制御信号の送信、変数の変更等が含まれるが、これらに限られない。
【０１５２】
この一例を示す。コントローラ１１０が定常状態を残したと判定されると、解析器１２０２、１２０４、１２０６または１２１２はコントローラ１１０の動きを追う。コントローラ１１０の経路が、保存されたジェスチャモデル１３０８で定められる経路に従う限り、これらのジェスチャは起こりうる「ヒット」である。コントローラ１１０の経路が任意のジェスチャモデル１３０８から外れる（ノイズ許容度設定の範囲内で）場合、そのジェスチャモデルはヒットリストから除かれる。各ジェスチャ参照モデルは、ジェスチャが記録される時間ベースを含む。解析器１２０２、１２０４、１２０６または１２１２は、適切な時間インデックスでコントローラ経路データを保存されたジェスチャー１３０８と比較する。定常状態の条件が発生すると、クロックがリセットされる。定常状態から外れると（すなわち、ノイズ閾値の外側で動きが追跡されると）、全ての潜在ジェスチャモデルでヒットリストが占められる。クロックが開始され、コントローラの動きがヒットリストに対して比較される。比較は時間を通しての道のり（ｗａｌｋ）である。ヒットリスト内の任意のジェスチャがジェスチャの終端に到達すると、それがヒットである。
【０１５３】
本発明の実施形態では、ミキサ１２０８は解析器１２０２、１２０４、１２０６からの追跡情報１２０３、１２０５、１２０７に分布値を割り当ててもよい。上述のように、入力制御データの特定セットを平均化してもよい。しかしながら、本実施形態では、平均化の前に入力制御値に値を割り当て、これにより一部の解析器からの入力制御データを他の解析器からのものより解析の重要度を高めてもよい。
【０１５４】
例えば、ミキサ１２０８は加速度と定常状態に関連した追跡情報を必要としてもよい。ミキサ１２０８は、上述のように追跡情報１２０３、１２０５、１２０７を受け取る。例えば、上述のように、追跡情報は加速度と定常状態に関するパラメータを含んでもよい。この情報を表すデータを平均化する前に、ミキサ１２０８は分布値を追跡情報データセット１２０３、１２０５、１２０７に割り当ててもよい。例えば、慣性解析器１２０２からのｘ、ｙ加速度パラメータに９０％の重み付けをしてもよい。しかしながら、画像解析器１２０４からのｘ、ｙ加速度データに１０％のみの重み付けをしてもよい。加速度パラメータに関して、音響解析器の追跡情報１２０７に０％の重み付け、すなわちデータが値を持たないようにしてもよい。
【０１５５】
同様に、慣性解析器１２０２からのＺ軸追跡情報パラメータに１０％の重み付けをし、画像解析器のＺ軸追跡情報に９０％の重み付けをしてもよい。音響解析器の追跡情報１２０７に０％の重み付けをし、音響解析器１２０６からの定常状態追跡情報に１００％の重み付けをし、残りの解析器の追跡情報に０％の重み付けをしてもよい。
【０１５６】
適当な分布重みが割り当てられた後、重みとともに入力制御データを平均化して加重平均入力制御データセットを求め、このデータセットを続けてジェスチャ認識装置１３０５で解析して特定のゲーム環境内の特定のアクションに関連付けしてもよい。関連する値は、ミキサ１２０８または特定のゲームタイトルにより予め定義されていてもよい。この値は、様々な解析器から来るデータの特定の質を識別するミキサ１２０８の結果であってもよく、これにより後述するように動的な調整がなされる。この調整は、特定のデータが特定の環境における特定の値になるとき、および／または所与のゲームタイトルの特殊性に応じて、歴史的な知識ベースの構築の結果であってもよい。
【０１５７】
ミキサ１２０８は、ゲームプレイの間、動的に作動するように構成されてもよい。例えば、ミキサ１２０８が様々な入力制御データを受け取ると、特定のデータが一貫して許容可能なデータ範囲またはデータ品質の外部にあることを認識するか、または関連する入力装置におけるエラーの処理を示す不正データを反映することができる。
【０１５８】
加えて、現実世界環境における特定の状況が変化してもよい。例えば、ユーザの家のゲーム環境における自然光が午前から午後になると増加して、画像データの捕捉に問題を生じることがある。さらに、日中になると近所または家庭がよりうるさくなって、音声データの捕捉に問題を生じる。同様に、ユーザが数時間プレイを続けると、ユーザの反射の素早さが低下して慣性データの解釈に問題が生じることがある。
【０１５９】
これらの例や、または入力制御データの特定の形態の品質が問題になる場合、ミキサ１２０８は、上述したように特定の入力制御データにより高いかより低い重要度を与えるように、特定の装置から来るデータの特定セットに対して重みを動的に再割り当てすることができる。同様に、ゲームの経過につれてゲーム環境が変化してもよい。特定のゲームの必要性が変化し、したがって特定の入力制御データの値または必要性の再割り当てが必要になる。
【０１６０】
同様に、ミキサ１２０８は、ジェスチャ認識装置１３０５に渡されている特定のデータが誤ってまたはゆっくりと処理されているか、または処理中のエラーあるいはジェスチャ認識装置１３０５により生成されるフィードバックデータに基づき処理されていないことを認識することができる。このフィードバックに応じて、または、これらの処理中の問題（例えば、画像解析データが許容できる範囲内にある場合、ジェスチャ認識装置１３０５により関連づけされるときにエラーが生じる）の認識時に、ミキサ１２０８は、どのような入力制御データがどの解析器からどの時点で求められるかを調整することができる。ミキサ１２０８は、入力制御データがミキサ１２０８に渡される前に、適切な解析器による入力制御データの特定の解析および処理を必要としてもよい。ミキサは、ジェスチャ認識装置１３０５に渡されたデータの効率的かつ適切な処理がさらに保証されるように、データを再処理する。
【０１６１】
一部の実施形態では、ミキサ１２０８は、特定のデータが信頼できず、無効であり、または特定の変数の外部にあることを認識し、特定の入力制御データまたはそのデータに関連する変数を呼び出して不正なデータを置き換えるか、または必要な変数に関する特定のデータを適切に解析して計算することができる。
【０１６２】
図１４を参照して、本発明の実施の形態に係る方法１４００を説明する。方法１４００は、コントローラのようなオブジェクトの追跡を実行するためにいろいろなセンサからの情報を利用、結合、あるいは混合する方法の別の例を与える。
【０１６３】
ある実装例では、方法１４００は、ビデオカメラを用いてコントローラの位置を追跡するために用いてもよい。そこでは、ジャイロセンサまたは加速度計のようなコントローラのセンサによって提供される傾き情報をコントローラ画像検出を最適化するために用いる。コントローラ画像検出は、コントローラの参照検出プロファイル画像をセンサによって提供されたコントローラの傾斜角度にしたがって回転させる「変換比較」を用いることにより最適化される。
【０１６４】
より具体的には、方法１４００は、コントローラのようなオブジェクトから入力データを取得する際に用いてもよいものであり、ステップ１４０２で始まり、オブジェクトのライブ画像を画像取得装置で取得する。画像取得装置は、ここで述べたタイプのカメラのような任意のタイプのカメラを含んでもよい。たとえば、ある実施の形態では、画像取得装置はＺカメラ、深さカメラ、他のタイプの３次元カメラを含んでもよい。そのようなＺカメラまたは深さカメラは、上述のように、各ピクセルの深さを提供または測定し、および／または、カメラからピクセルの距離を決定する。
【０１６５】
図１５は、このステップの例を説明する。すなわち、オブジェクト１５０４のライブ画像１５０２を取得する。ある実施の形態では、オブジェクト１５０４はコントローラを含む。例示するように、オブジェクト１５０４はカメラの視野の左上の隅に位置する。
【０１６６】
ステップ１４０４（図１４）において、画像取得装置以外の１以上のセンサからオブジェクトの傾斜（チルト）角に関する情報を受け取る。一例として、この１以上のセンサには、ジャイロセンサ、加速度計、あるいは同様のセンサが含まれる。そのようなセンサをオブジェクトに設置してもよい。
【０１６７】
ある実施の形態では、オブジェクトの回転がジャイロ軸の周りである場合にジャイロセンサを用いてもよい。加速度計の示度と引力の方向をすべての状況において用いてもよい。加速度計の示度を用いることは、値が外れない絶対的な角度の応答を得るには有益である。ある実施の形態では、回転がジャイロ軸周りである場合、両方のセンサを用いてもよい。ある実施の形態では、オブジェクトの傾斜角度に関する情報を用いて、オブジェクトの傾斜角度を決定または推定してもよい。
【０１６８】
以下述べるように、傾斜角を知ることはカメラトラッキングに役立つから、オブジェクトの傾斜角を測定することは有益である。ここで上述したタイプのコントローラは６つの自由度で追跡可能であり、傾斜角をかなり容易に測定できることから、傾斜角度を用いることはまた有益である。さらに、回転をカメラを用いて測定するのはやっかいである。
【０１６９】
ステップ１４０６において、オブジェクトの傾斜角に関する情報を用いてオブジェクトの少なくとも１つの回転した参照画像を得る。一例として、オブジェクトの基本参照画像は、オブジェクトの外形図、オブジェクトの上面図、オブジェクトをもつユーザの片手または両手の図、またはその他の図を含む。オブジェクトがコントローラを含む実施の形態では、オブジェクトの基本参照画像は、コントローラの外形図、コントローラの上メンズ、コントローラをもつユーザの片手または両手の図、またはその他の図を含む。
【０１７０】
図１５は、１５０４’とラベルが付けられたオブジェクト１５０４の基本参照画像１５０６の例を説明する。例示するように、オブジェクト１５０４’は回転していない。
【０１７１】
ある実施の形態において、オブジェクトの回転された参照画像は、オブジェクトの傾斜角に関する情報またはオブジェクトの決定された傾斜角を用いて、オンザフライで参照画像を回転することによって取得してもよい。あるいは、ある実施の形態において、参照画像の回転バージョンのセットをメモリに格納してもよい。オブジェクトの傾斜角に関する情報、または、オブジェクトの決定された傾斜角を用いて当該格納されたセットから対応する回転された参照画像を選択してもよい。オブジェクトの回転された参照画像はストレージから読み出すことによって得られる。
【０１７２】
図１５は、１５０４”とラベル付けされたオブジェクト１５０４の回転された参照画像１５０８の例を説明する。例示するように、オブジェクト１５０４”は、ライブ画像１５０２におけるオブジェクト１５０４の回転と同じか似たような形に回転している。
【０１７３】
上述のように、ステップ１４０６においてオブジェクトの少なくとも１つの回転した参照画像を取得する。「少なくとも１つ」という用語を用いたのは、ある実施の形態ではオブジェクトの傾斜角に関する情報を用いてオブジェクトの１以上の回転した参照画像を取得するからである。各回転した参照画像は、オブジェクトの傾斜角の周りの少し異なる角度のものであってもよい。そして、ある実施の形態では、オブジェクトの傾斜角に関する情報を用いて、正確に傾斜角においてちょうど一つの参照画像を生成するというよりは、その傾斜角の周辺で回転した参照画像の「セット」を生成する。このようにして、当該セットは、傾斜角近傍のいろいろな角度をもつ回転した参照画像を提供するため、傾斜角測定にはノイズがあり、完全ではない。当該セットにおける回転した参照画像の数は、特定のアプリケーション、実装、および必要な精度に応じて異なってもよい。
【０１７４】
図１６は、傾斜角付近のオブジェクト１５０４”の回転した参照画像１６０２、１６０４、１６０６、１６０８のセットの例を説明する。各画像におけるオブジェクト１５０４”の傾斜角は少しずつ異なっている。
【０１７５】
ステップ１４０８（図１４）において、オブジェクトのライブ画像をオブジェクトの１以上の回転した参照画像と比較する。一般に、イメージキャプチャユニットは、ＸおよびＹ平面においてオブジェクトの画像を探す。探している画像は、傾斜角センサまたは加速度計によって提供されるオブジェクトの角度を反映する変換画像である。傾斜測定をする利点は、参照画像のすべての可能性のある回転を照合する代わりに、イメージキャプチャユニットが測定された傾斜角に近い回転を調べるだけで済むことである。回転は、傾斜センサのノイズにもとづく所定の誤差許容の範囲内で、測定された傾斜角に近いものであってもよい。ライブ画像を適切に回転した参照画像と比較するため、比較処理の間、回転の自由度をサーチする必要はない。それにより、比較計算のコストが減り、比較の品質は向上する。
【０１７６】
ある実施の形態において使われるオプションのアプローチは、まず、以前に一致した傾斜角付近の傾斜角とマッチングさせることである。このようにすることで、仮に傾斜角センサが散発的に「悪い」データを生成したとしても、カメラトラッキングはそれほど深刻な影響を受けない。
【０１７７】
図１５はそのような比較の一例を説明する。すなわち、オブジェクト１５０４のライブ画像１５０２をオブジェクト１５０４”の回転した参照画像１５０８と比較する。１以上の回転した参照画像を上述のように利用する実施の形態では、オブジェクト１５０４のライブ画像１５０２を回転した参照画像の一部またはすべてと比較する。このようにして、ある実施の形態では、オブジェクトの傾斜角に関する情報を使用してオブジェクトの回転した参照画像を複数取得し、オブジェクトのライブ画像をオブジェクトの複数の回転した参照画像のそれぞれと比較する。
【０１７８】
最後に、ステップ１４１０（図１４）において、ライブ画像が回転した参照画像の一つと一致することに応答して指標を生成する。この指標は、ライブ画像と回転した参照画像の一つの間に一致があったことをソフトウェアおよび／またはハードウェアに示すための任意のタイプのフラグまたはシグナルを含んでもよい。
【０１７９】
ある実施の形態では、オブジェクトの追跡は、一致が起きるライブ画像の位置を決定することによって実行されてもよい。たとえば、図１５において、オブジェクト１５０４がカメラの視野の左上にあるとき、一致が起きる。この情報を用いてオブジェクト１５０４の位置を決定してもよい。さらなる位置を用いてオブジェクト１５０４の運動を追跡してもよい。
【０１８０】
ある実施の形態では、１以上の参照画像とライブ画像を１以上の正規化フィルタに通過させてもよい。こうすることで、照明の変化を平準化してマッチングをより信頼性のあるものとすることができる。たとえば、そのような正規化フィルタは、ラプラシアン、ラプラシアン・ガウシアン、ラプラシアン・ガウシアン符号、または同様の効果を有する他のタイプのフィルタを含んでもよい。
【０１８１】
このように、センサによって与えられたオブジェクトの傾斜角にしたがってオブジェクトの参照検出プロファイル画像を変換または回転することにより、オブジェクトの画像検出が最適化される。そのようなオブジェクト画像検出はオブジェクトの位置を追跡するために使ってもよい。たとえば、この方法は、ビデオ入力を用いたコントローラの追跡に用いてもよい。オブジェクトの傾斜角を用いることが有益である一方、ある実施の形態では、コントローラの変位がその代わりにあるいは付加的に、スケールの変化または水平／垂直の動きに対するカメラの追跡を助ける手がかりとなることがある。
【０１８２】
オブジェクトが任意のタイプのオブジェクト、たとえば任意のタイプのコントローラを含んでもよいことは十分に理解されよう。たとえば、オブジェクトは、テレビジョン、ステレオ、ＤＶＤプレイヤなどで使われるタイプのリモートコントローラであってもよい。ある実施の形態では、上述の方法と技術を２以上のコントローラについて同時に用いてもよい。たとえば、複数のユーザによって操作されるコントローラに対して、あるいは同様のシナリオに対して、ユーザのそれぞれの手にあるコントローラについてこれらの方法と技術を用いてもよい。これらの方法と技術はそのようなコントローラすべてを同時に検出および／または追跡するために利用することができる。
【０１８３】
2007年1月18日出願の”METHOD AND SYSTEM FOR ADDING A NEW PLAYER TO A GAME IN RESPONSE TO CONTROLLER ACTIVITY”、米国同時係属出願第11/624,637号の全開示内容が参照により本明細書に援用される。
【０１８４】
2006年10月20日出願の”GAME CONTROL USING THREE-DIMENSIONAL MOTIONS OF CONTROLLER”、米国同時係属出願第11/551,682号の全開示内容が参照により本明細書に援用される。
【０１８５】
2006年10月19日出願の”CONTROLLER CONFIGURED TO TRACK USER'S LEVEL OF ANXIETY AND OTHER MENTAL AND PHYSICAL ATTRIBUTES”、米国同時係属出願第11/551,197号の全開示内容が参照により本明細書に援用される。
【０１８６】
2006年9月28日出願の”MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO THE TWO-DIMENSIONAL IMAGE PLANE OF A DISPLAY SCREEN”、米国同時係属出願第11/536,559号(代理人整理番号86335 [SCEA06058US00] )の全開示内容が参照により本明細書に援用される。
【０１８７】
2006年5月10日出願の”ATTACHABLE STRUCTURE FOR USE WITH HAND-HELD CONTROLLER HAVING TRACKING ABILITY”、米国同時係属出願第11/382,699号(代理人整理番号87906 [SCEA06028US00] )の全開示内容が参照により本明細書に援用される。
【０１８８】
2005年9月15日出願の”AUDIO, VIDEO, SIMULATION, AND USER INTERFACE PARADIGMS”、米国仮特許出願第60/718,145号の全開示内容が参照により本明細書に援用される。
【０１８９】
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号の全開示内容が参照により本明細書に援用される。
【０１９０】
2006年5月4日出願の”ULTARA SMALL MICROPHONE ARRAY”、米国特許出願第11/381,729号、発明者Xiao Dong Mao(代理人整理番号SCEA05062US00)；2006年5月4日出願の”ECHO AND NOISE CANCELLATION”、米国特許出願第11/381,728号、発明者Xiao Dong Mao(代理人整理番号SCEA05064US00) ；2006年5月4日出願の”METHOD AND APPARATUS FOR TARGETED SOUND DETECTION“、米国特許出願第11/381,725号、発明者Xiao Dong Mao, (代理人整理番号SCEA05079US00) ；2006年5月4日出願の”NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE CONSOLE”、米国特許出願第11/381,727号、発明者Xiao Dong Mao (代理人整理番号SCEA05073US00) ；2006年5月4日出願の”METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION”、米国特許出願第11/381,724号、発明者Xiao Dong Mao (代理人整理番号SCEA05079US00)；および2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACIVE PROCESSING”、米国特許出願第11/381,721号、発明者Xiao Dong Mao(代理人整理番号SCEA04005JUMBOUS)の全開示内容が参照により本明細書に援用される。
【０１９１】
2006年5月4日出願の”METHODS AND APPARATUS FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS”、同時係属米国特許出願第11/418,988号、発明者Xiao Dong Mao (代理人整理番号SCEA-00300)；2006年5月4日出願の”METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE”、同時係属米国特許出願第11/418,989号、発明者Xiao Dong Mao(代理人整理番号SCEA-00400)；2006年5月4日出願の”METHODS AND APPARATUS FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL”、同時係属出願第11/429,047号,発明者Xiao Dong Mao(代理人整理番号SCEA-00500)；2006年5月4日出願の”SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING”、同時係属出願第11/429,133号、発明者Richard Marks et al.(代理人整理番号SCEA04005US01-SONYP045)；および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.(代理人整理番号SONYP052)の全開示内容が参照により本明細書に援用される。
【０１９２】
2006年5月6日出願の”MULTI-INPUT GAME CONTROL MIXER”、米国特許出願第11/382,031号(代理人整理番号SCEAO 6MXR1)；2006年5月6日出願の”SYSTEM FOR TRACKING USER MANIPULATIONS WITHIN AN ENVIRONMENT”、米国特許出願第11/382,032号(代理人整理番号SCEA06MXR2)；2006年5月6日出願の”SYSTEM, METHOD, AND APPARATUS FOR THREE-DIMENSIONAL INPUT CONTROL”、米国特許出願第11/382,033号(代理人整理番号SCEA06INRT1)；2006年5月6日出願の”INERTIALLY TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,035号(代理人整理番号SCEA06INRT2)；2006年5月6日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO VISUAL TRACKING”、米国特許出願第11/382,036号(代理人整理番号SONYP058A)；2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO INERTIAL TRACKING”、米国特許出願第11/382,041号(代理人整理番号SONYP058B)；および2006年5月6日出願の”SYSTEM FOR APPLYING GEARING EFFECTS TO ACOUSTIC TRACKING”、米国特許出願第11/382,038号(代理人整理番号SONYP058C)；2006年5月7日出願の”METHOD AND SYSTEM FOR APPLYING GEARING EFFECTS TO MULTI-CHANNEL MIXED INPUT”、米国特許出願第11/382,040号(代理人整理番号SONYP058D)；2006年5月6日出願の”SCHEME FOR DETECTING AND TRACKING USER MANIPULATION OF A GAME CONTROLLER BODY”、米国特許出願第11/382,034号(代理人整理番号86321 SCEA05082US00)；2006年5月6日出願の”SCHEME FOR TRANSLATING MONEMENTS OF A HAND-HELD CONTROLLER INTO INPUTS FOR A SYSTEM”、米国特許出願第11/382,O37号(代理人整理番号86324)；2006年5月7日出願の”DETECTABLE AND TRACKABLE HAND-HELD CONTROLLER”、米国特許出願第11/382,043号(代理人整理番号86325)；2006年5月7日出願の”METHOD FOR MAPPING MOVEMENTS OF A HAND-HELD CONTROLLER TO GAME COMMANDS”、米国特許出願第11/382,039号(代理人整理番号86326)；2006年5月6日出願の”CONTROLLER WITH INFRARED PORT”、米国意匠出願第29/259,349号(代理人整理番号SCEA06007US00)；2006年5月6日出願の”CONTROLLER WITH TRACKING SENSORS”、米国意匠出願第29/259,350号(代理人整理番号SCEA06008US00)；2006年5月6日出願の”DYNAMIC TARGET INTERFACE”、米国特許出願第60/798,031号(代理人整理番号SCEA06009US00)；および2006年5月6日出願の”TRACKED CONTROLLER DEVICE”、米国特許出願第29/259,348号(代理人整理番号SCEA06010US00)の全開示内容が参照により本明細書に援用される。
【０１９３】
2006年5月8日出願の”Profile Detection”、米国同時係属出願第11/430,594号、発明者Gary Zalewski およびRiley R. Russell(代理人整理番号SCEA05059US00)の全開示内容が参照により本明細書に援用される。
【０１９４】
2006年5月8日出願の”Using Audio/Visual Environment To Select Ads On Game Platform”、米国同時係属出願第11/430,593号、発明者Gary Zalewski およびRiley R. Russell(代理人整理番号SCEAJP 3.0-003 CIP V)の全開示内容が参照により本明細書に援用される。
【０１９５】
2006年4月10日出願の”System And Method For Obtaining User Information From Voices”、米国同時係属出願第11/400,997号、発明者Larsen and Chen(代理人整理番号SCEA05040US00)の全開示内容が参照により本明細書に援用される。
【０１９６】
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.(代理人整理番号86327)の全開示内容が参照により本明細書に援用される。
【０１９７】
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.(代理人整理番号86328)の全開示内容が参照により本明細書に援用される。
【０１９８】
2006年5月8日出願の”Hand-held controller having detectable elements for tracking purposes”、米国同時係属出願第11/382,251号、発明者Gary Zalewski et al.(代理人整理番号86329)の全開示内容が参照により本明細書に援用される。
【０１９９】
2006年5月8日出願の”TRACKING DEVICE FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,252号 (代理人整理番号SCEA06INRT3)の全開示内容が参照により本明細書に援用される。
【０２００】
2006年5月8日出願の”TRACKING DEVICE WITH SOUND EMITTER FOR USE IN OBTAINING INFORMATION FOR CONTROLLING GAME PROGRAM EXECUTION”、米国同時係属出願第11/382,256号(代理人整理番号SCEA06ACRA2)の全開示内容が参照により本明細書に援用される。
【０２０１】
2006年5月8日出願の”OBTAINING INPUT FOR CONTROLLING EXECUTION OF A GAME PROGRAM”、米国特許出願第11/382,250号 (代理人整理番号SCEAO 6COMB)の全開示内容が参照により本明細書に援用される。
【０２０２】
2006年5月8日出願の”VIDEO GAME CONTROLLER FRONT FACE”、米国同時係属出願第29/246,744号 (代理人整理番号SCEACTR-D3) の全開示内容が参照により本明細書に援用される。
【０２０３】
2006年5月8日出願の”VIDEO GAME CONTOLLER”、米国意匠出願第29/246,743号 (代理人整理番号SCEACTRL-D2)の全開示内容が参照により本明細書に援用される。
【０２０４】
2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,767号(代理人整理番号SONYP059A)の全開示内容が参照により本明細書に援用される。
【０２０５】
2006年5月8日出願の”VIDEO GAME CONTROLLER”、米国同時係属意匠出願第29/246,768号 (代理人整理番号SONYP059B)の全開示内容が参照により本明細書に援用される。
【０２０６】
2006年5月8日出願の”ERGONOMIC GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,763号(代理人整理番号PA3760US) の全開示内容が参照により本明細書に援用される。
【０２０７】
2006年5月8日出願の”GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,759号(代理人整理番号PA3761US)の全開示内容が参照により本明細書に援用される。
【０２０８】
2006年5月8日出願の”DESIGN FOR OPTICAL GAME CONTROLLER INTERFACE”、米国同時係属意匠出願第29/246,765号 (代理人整理番号PA3762US)の全開示内容が参照により本明細書に援用される。
【０２０９】
2006年5月8日出願の”DUAL GRIP GAME CONTROLLER DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,766号 (代理人整理番号PA3763US)に対して優先権を主張し、その開示内容が参照により本明細書に援用される。
【０２１０】
2006年5月8日出願の”GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,764号 (代理人整理番号PA3764US)の全開示内容が参照により本明細書に援用される。
【０２１１】
2006年5月8日出願の”ERGONOMIC GAME INTERFACE DEVICE WITH LEDS AND OPTICAL PORTS”、米国同時係属意匠出願第29/246,762号(代理人整理番号PA3765US)の全開示内容が参照により本明細書に援用される。
【０２１２】
ここに開示した発明は特定の実施の形態およびその応用によって記述されたが、請求項に記載の発明の範囲から逸脱することなく、当該技術分野の当業者によって数多くの変形やバリエーションがなされうる。
【図１Ａ】
2010531520.tif 000003
【図１Ｂ】
2010531520.tif 000004
【図１Ｃ】
2010531520.tif 000005
【図１Ｄ】
2010531520.tif 000006
【図１Ｅ】
2010531520.tif 000007
【図２Ａ】
2010531520.tif 000008
【図２Ｂ】
2010531520.tif 000009
【図３Ａ】
2010531520.tif 000010
【図３Ｂ】
2010531520.tif 000011
【図４】
2010531520.tif 000012
【図５】
2010531520.tif 000013
【図６Ａ】
2010531520.tif 000014
【図６Ｂ】
2010531520.tif 000015
【図６Ｃ】
2010531520.tif 000016
【図７】
2010531520.tif 000017
【図８】
2010531520.tif 000018
【図９】
2010531520.tif 000019
【図１０】
2010531520.tif 000020
【図１１Ａ】
2010531520.tif 000021
【図１１Ｂ】
2010531520.tif 000022
【図１２】
2010531520.tif 000023
【図１３Ａ】
2010531520.tif 000024
【図１３Ｂ】
2010531520.tif 000025
【図１３Ｃ】
2010531520.tif 000026
【図１４】
2010531520.tif 000027
【図１５】
2010531520.tif 000028
【図１６】
2010531520.tif 000029
【国際調査報告】
2010531520.tif 000030