(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行される、追跡システムを較正する方法であって、
前記追跡システムに備えられた光学センサにより追跡される、前記追跡システムに備えられたオブジェクトが、前記光学センサの方へ向いているときに、前記追跡システムに備えられた計算装置が、前記光学センサから前記オブジェクトの位置データを取得するステップと、
前記計算装置が、取得した位置データを用いて、前記光学センサの光学軸に対するオブジェクトの第１の角度を算出するステップと、
前記計算装置が、前記オブジェクトに備えられた慣性センサから取得される前記オブジェクトの慣性データを用いて算出された、重力に垂直な平面に対するオブジェクトの第２の角度を取得するステップと、
前記計算装置が、前記第１及び第２の角度を用いて、前記光学センサのピッチを決定するステップと、
を備えることを特徴とする方法。
【請求項２】
前記計算装置が前記慣性データから前記第２の角度を算出するステップを更に備えることを特徴とする請求項１に記載の方法。
【請求項３】
ユーザがオブジェクトを固定された位置及び向きに把持している間に、ユーザから較正のコマンドを受け付けるステップを更に備えることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第１の角度を算出するステップは、前記光学センサの焦点距離と、前記光学センサにより撮られた画像におけるオブジェクトと光学軸の間の鉛直方向の距離とに基づくことを特徴とする請求項１から３のいずれかに記載の方法。
【請求項５】
前記焦点距離、算出されたピッチ、及び前記画像におけるオブジェクトと光学軸との間の水平方向の距離に基づいて、前記光学センサとオブジェクトとの間の相対ヨーを算出するステップを更に備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記光学センサのピッチ及び前記光学センサとオブジェクトとの間の相対ヨーは、
前記光学センサの参照フレームにおいて、前記光学センサの光学中心からオブジェクトの中心へ伸びる線を表す第１の三次元ベクトルを取得し、
重力に沿った軸を有するワールド参照フレームにおいて、前記光学センサの光学中心からオブジェクトの中心へ伸びる線を表す第２の三次元ベクトルを取得し、
前記第１の三次元ベクトルと前記第２の三次元ベクトルの間の三次元回転を算出し、
前記三次元回転を、前記光学センサのピッチを表す第１の二次元回転と、前記光学センサとオブジェクトの間の相対ヨーを表す第２の二次元回転とに分解することにより算出される
ことを特徴とする請求項５に記載の方法。
【請求項７】
処理システムにより実行されたとき、前記処理システムに方法を実行させる命令を含むコンピュータ読み取り可能な記録媒体であって、
前記方法は、
追跡システムに備えられた光学センサにより追跡される、前記追跡システムに備えられたオブジェクトが、前記光学センサの方へ向いているときに、前記追跡システムに備えられた計算装置が、前記光学センサから前記オブジェクトの位置データを取得するステップと、
前記計算装置が、取得した位置データを用いて、前記光学センサの光学軸に対するオブジェクトの第１の角度を算出するステップと、
前記計算装置が、前記オブジェクトに備えられた慣性センサから取得される前記オブジェクトの慣性データを用いて算出された、重力に垂直な平面に対するオブジェクトの第２の角度を取得するステップと、
前記計算装置が、前記第１及び第２の角度を用いて、前記光学センサのピッチを決定するステップと、
を備えることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項８】
前記方法は、前記計算装置が前記慣性データから前記第２の角度を算出するステップを更に備えることを特徴とする請求項７に記載のコンピュータ読み取り可能な記録媒体。
【請求項９】
前記方法は、ユーザがオブジェクトを固定された位置及び向きに把持している間に、ユーザから較正のコマンドを受け付けるステップを更に備えることを特徴とする請求項７又は８に記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記第１の角度を算出するステップは、前記光学センサの焦点距離と、前記光学センサにより撮られた画像におけるオブジェクトと光学軸の間の鉛直方向の距離とに基づくことを特徴とする請求項７から９のいずれかに記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記方法は、前記焦点距離、算出されたピッチ、及び前記画像におけるオブジェクトと光学軸との間の水平方向の距離に基づいて、前記光学センサとオブジェクトとの間の相対ヨーを算出するステップを更に備えることを特徴とする請求項１０に記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記光学センサのピッチ及び前記光学センサとオブジェクトとの間の相対ヨーは、
前記光学センサの参照フレームにおいて、前記光学センサの光学中心からオブジェクトの中心へ伸びる線を表す第１の三次元ベクトルを取得し、
重力に沿った軸を有するワールド参照フレームにおいて、前記光学センサの光学中心からオブジェクトの中心へ伸びる線を表す第２の三次元ベクトルを取得し、
前記第１の三次元ベクトルと前記第２の三次元ベクトルの間の三次元回転を算出し、
前記三次元回転を、前記光学センサのピッチを表す第１の二次元回転と、前記光学センサとオブジェクトの間の相対ヨーを表す第２の二次元回転とに分解することにより算出される
ことを特徴とする請求項１１に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
１以上の慣性センサを含むオブジェクトであって、前記オブジェクトが光学センサの方へ向いているときに前記慣性センサから慣性データを収集し、前記慣性データを計算装置へ送信するオブジェクトと、
前記オブジェクトが前記光学センサの方へ向いているときに、前記オブジェクトの位置データを収集し、前記位置データを前記計算装置へ送信する光学センサと、
前記慣性データ及び前記位置データを取得し、取得した前記位置データを用いて前記光学センサの光学軸に対する前記オブジェクトの第１の角度を算出し、前記慣性データから重力に垂直な平面に対する前記オブジェクトの第２の角度を算出し、前記第１の角度及び前記第２の角度を用いて前記光学センサのピッチを決定する計算装置と、
を備えることを特徴とする追跡システム。
【請求項１４】
前記計算装置は、ユーザがオブジェクトを固定された位置及び向きに把持している間に、ユーザから較正のコマンドを受け付けると、前記慣性データ及び前記位置データを取得し、前記第１の角度及び前記第２の角度を算出し、前記ピッチを決定することを特徴とする請求項１３に記載の追跡システム。
【請求項１５】
前記計算装置は、前記光学センサの焦点距離と、前記光学センサにより撮られた画像における前記オブジェクトと前記光学軸の間の鉛直方向の距離とに基づいて、前記第１の角度を算出することを特徴とする請求項１３又は１４に記載の追跡システム。
【請求項１６】
前記焦点距離、算出されたピッチ、及び前記画像における前記オブジェクトと前記光学軸との間の水平方向の距離に基づいて、前記光学センサと前記オブジェクトとの間の相対ヨーを算出する計算装置を更に備えることを特徴とする請求項１５に記載の追跡システム。
【請求項１７】
前記光学センサのピッチ及び前記光学センサとオブジェクトとの間の相対ヨーは、
前記光学センサの参照フレームにおいて、前記光学センサの光学中心からオブジェクトの中心へ伸びる線を表す第１の三次元ベクトルを取得し、
重力に沿った軸を有するワールド参照フレームにおいて、前記光学センサの光学中心からオブジェクトの中心へ伸びる線を表す第２の三次元ベクトルを取得し、
前記第１の三次元ベクトルと前記第２の三次元ベクトルの間の三次元回転を算出し、
前記三次元回転を、前記光学センサのピッチを表す第１の二次元回転と、前記光学センサとオブジェクトの間の相対ヨーを表す第２の二次元回転とに分解することにより算出される
ことを特徴とする請求項１６に記載の追跡システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、米国特許法第１１９条（ｅ）に基づいて米国仮出願第６１／１８２，７０２号（２００９年５月３０日出願）の優先権を主張し、この出願は本明細書に援用される。本出願は、同時係属中の米国出願第１２／４３５，３８６号（２００９年５月４日出願、発明の名称「最小限のユーザ入力による追跡システムの較正」）及び同時係属中の米国出願第１２／４３５，２８５号（２００９年５月４日出願、発明の名称「追跡システムにおける角度誤差の補正」）に関する。
【０００２】
本発明は、一般に、追跡システムの較正に関し、とくに、オブジェクトの位置データ及びオブジェクトに関する更に取得した又は既知のデータに基づいてオブジェクトの位置を追跡するために用いられる追跡システムの較正に関する。
【背景技術】
【０００３】
コンピュータゲーム産業において、ユーザとゲームシステムとの間のインタラクションを増加させるゲームの開発がトレンドになっている。よりリッチな対話式の体験を達成するための一つの方法は、ゲームコントローラを用いて、ゲームシステムがゲームコントローラの動きを追跡することによりユーザの動きを追跡し、その動きをゲームの入力として用いることである。一般に、ジェスチャー入力は、コンピュータシステム、ビデオゲームコンソール、スマートアプライアンスなどの電子機器を、オブジェクトを追跡するビデオカメラ又は他の位置センサにより取得されたジェスチャーに反応させるために適用される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザの位置及び動きの信頼できる測定を行うためには、一般に、ゲームシステムを較正する必要がある。このような較正は、ゲームシステムが使用されるたびに必要となる。従来のシステムにおいては、ゲームシステムの較正は、ビデオカメラの傾き、ユーザからビデオカメラまでの距離などのプロパティをユーザが測定するための制御された正確なプロセスを必要とする。従来のゲームシステムは、このような制御された正確なプロセスなしでは較正を実行することができない。
【課題を解決するための手段】
【０００５】
本発明は、本発明の実施の形態を説明するために用いられる、下記の説明及び添付の図面を参照することにより、最も良く理解されうる。
【図面の簡単な説明】
【０００６】
【図１】図１は、本発明の一つの実施の形態における、追跡システムの透視図を示す図である。
【図２】図２は、本発明の一つの実施の形態における、ボール部を有するゲームコントローラを示す図である。
【図３】図３は、本発明の一つの実施の形態における、ボール部を有する別のゲームコントローラを示す図である。
【図４Ａ】図４Ａは、本発明の一つの実施の形態における、追跡システムのブロック図を示す図である。
【図４Ｂ】図４Ｂは、画像内のオブジェクトの位置と、ＹＺ平面におけるそのオブジェクトの画像角度との間の関係を示す図である。
【図４Ｃ】図４Ｃは、較正中の追跡システムの構成要素の相対位置及び向きを示す図である。
【図５】図５は、一つの実施の形態における、プレイヤーにより把持された異なるコントローラの位置を決定するために視覚情報が用いられるマルチプレイヤー環境の概略図を示す図である。
【図６】図６は、追跡システムを較正する方法の一つの実施の形態のフロー図を示す図である。
【図７】図７は、追跡システムを較正する方法の別の実施の形態のフロー図を示す図である。
【図８】図８は、本発明の一つの実施の形態における、コントローラの位置を決定するために用いられうるハードウェア及びユーザインタフェースを示す図である。
【図９】図９は、本発明の一つの実施の形態における、命令の処理に利用可能な追加のハードウェアを示す図である。
【発明を実施するための形態】
【０００７】
本明細書では、ゲームシステムにおいて用いられる追跡システムを較正するための方法及び装置が説明される。一つの実施の形態において、ユーザは、単に追跡システムの光学センサにオブジェクト（例えばゲームコントローラ）を向けてボタンを押すことにより、追跡システムを較正することができる。一つの実施の形態において、オブジェクトが光学センサの方へほぼ向けられているときに、追跡システムを較正するために、追跡対象オブジェクトの位置データ（例えば、画像の位置及び画像のサイズ）が光学センサにより取得される。光学センサは、位置データを計算装置（例えば、ビデオゲームコンソール）に送信する。計算装置は、取得した位置データを用いて、光学センサの光学軸に対するオブジェクトの第１の角度を算出する。計算装置は、オブジェクトに対応する慣性データを取得する。重力に垂直な平面に対するオブジェクトの第２の角度が慣性データから算出可能である。計算装置は、第１の角度及び第２の角度を用いて、光学センサのピッチを決定する。一つの実施の形態において、計算装置は、光学センサと追跡対象オブジェクトとの間の相対ヨーを更に決定する。
【０００８】
下記の説明においては、特定の数値的な詳細が示される。しかしながら、本発明が、これらの特定の詳細なしに実施されることが可能であることは、当業者には明らかである。いくつかの例において、本発明を不明瞭にするのを避けるために、詳細よりもむしろ、既知の構造及び装置がブロック図の形で示される。
【０００９】
下記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビット上の演算のアルゴリズム及び記号表現の観点から示される。これらのアルゴリズムの記述及び表現は、その成果を最も効果的に他の当業者に伝えるために、データ処理の分野の当業者により用いられる手段である。アルゴリズムは、本明細書において、及び一般的に、所望の結果を達成する自己矛盾のない一連のステップであると理解されている。ステップは、物理量の必要な物理操作である。通常、必然的ではないが、これらの量は格納可能な電気的又は磁気的信号の形式をとり、送信され、結合され、比較され、及びその他の操作を受ける。これらの信号を、ビット、値、要素、記号、文字、項、数などと呼ぶことが、主に共通の使用のために、時に便利であることが立証されている。
【００１０】
しかしながら、これらの語及び類義語の全ては、適当な物理量に関連付けられるもので、これらの量に適用される単なる便利なラベルであることに留意するべきである。以下の議論から明らかであるように、とくにそうではないと断らない限り、詳細な説明の全体にわたって、「処理」「計算」「変換」「調整」「決定」などの語を用いた議論は、物理的（例えば電気的）な量としてコンピュータシステムのレジスタ及びメモリ内で表現されるデータを操作し、コンピュータシステムのメモリ又はレジスタ、又は、他の同様な情報ストレージ、通信又は表示装置の中で物理量として同様に表現される他のデータに変換するコンピュータシステム又は同様の電気的計算装置の動作及び処理のことを指すことが理解される。
【００１１】
本発明は、また、本明細書の手順を実行するための装置に関する。この装置は、要求される目的のために特別に構築されてもよいし、コンピュータに格納されたコンピュータプログラムにより選択的に作動された又は再構成された汎用コンピュータを備えてもよい。一つの実施の形態において、本明細書の手順を実行するための装置は、ゲームコンソール（例えば、ソニープレイステーション（登録商標）、ニンテンドーＷｉｉ（登録商標）、マイクロソフトＸｂｏｘ（登録商標）など）を含む。コンピュータプログラムは、例えば、フロッピー（登録商標）ディスクを含む任意の種類のディスク、光ディスク（例えば、コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、ディジタルビデオディスク（ＤＶＤ）、ブルーレイディスク（登録商標）など）、及び磁気光学ディスク、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光学カード、又は電気的命令を格納するために適した任意の種類の媒体などのコンピュータ読み取り可能な記録媒体に格納されてもよい。
【００１２】
マシン読み取り可能な媒体は、マシン（例えばコンピュータ）により読み取り可能な形式で情報を格納するための任意のメカニズムを含む。例えば、マシン読み取り可能な媒体は、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記録媒体、光記録媒体、フラッシュメモリ装置などのマシン読み取り可能な記録媒体を含む。
【００１３】
図１は、本発明の一つの実施の形態における、追跡システム１００の透視図を示す。追跡システム１００は、光学センサ１０５、光学センサ１０５により追跡されるオブジェクト１１０、及び光学センサ１０５及びオブジェクト１１０により取得されたデータを処理する計算装置１１５を含む。一つの実施の形態において、追跡システム１００は、ゲームシステムの構成要素である。または、追跡システム１００は、モーションキャプチャシステムの構成要素であってもよい。
【００１４】
光学センサ１０５は、二次元又は三次元空間におけるオブジェクト１１０の光学センサ１０５に対する位置を測定するセンサである。光学センサ１０５により検知される位置データ（例えば画像）は、撮像平面と撮像平面に垂直なベクトルにより定義される光学センサ１０５の参照フレーム１５０内のデータである。本明細書では、参照フレームは、オブジェクトの位置、方向及び他のプロパティを測定するための座標系として定義される。参照フレーム及び座標系という語は、本出願を通して交換可能に用いられる。
【００１５】
図示されるように、光学センサ１０５は、テレビジョンセット１２０の上面に、床１５０に対して負のピッチ１４５をもって設置される。ピッチ１４５は、光学センサ１０５の測定平面内にある光学センサの参照フレーム１５０の水平軸と重力１３５に垂直な平面との間の角である。ピッチ１４５がゼロでない値をとる限り、光学センサ１０５は、ワールド参照フレーム（重力１３５の向きに沿った軸（例えばｙ２）を有する参照フレームとして定義される）とは異なる参照フレーム１５０を有する。
【００１６】
本発明の一つの実施の形態において、光学センサ１０５は標準的なビデオカメラである。この実施の形態において、光学センサ１０５は、深さ方向の情報（光学センサ１０５及びオブジェクト１１０の間の距離）を、オブジェクト１１０の大きさを特定する予め定義された情報及び／又は光学センサ１０５の視野（field of view：ＦＯＶ）を特定する予め定義された情報に基づいて取得してもよい。視野１２５は、光学センサ１０５により撮像される所与のシーンの角度範囲である。視野は、カメラのレンズにより発生する画像の歪み（例えばズームの量）を定義する。オブジェクト１１０が光学センサ１０５から遠くへ移動するにつれて（すなわち、距離１３０が増加するにつれて）、光学センサ１０５により撮像されるオブジェクト１１０の画像は小さくなる。したがって、光学センサ１０５に対するオブジェクト１１０の距離１３０は、光学センサ１０５の視野１２５が既知であれば、追跡対象のオブジェクト１１０の画像の大きさ（例えば、ピクセルで測定される）の、追跡対象のオブジェクト１１０の既知の実際の大きさに対する比に基づいて決定できる。
【００１７】
本発明の別の実施の形態において、光学センサ１０５は、Ｚカメラ（映像を深さ方向の情報とともに撮像可能な単一レンズのビデオカメラ）又はステレオカメラ（三次元画像を撮像可能な２以上のレンズを有するビデオカメラ）である。この実施の形態において、光学センサ１０５は、オブジェクト１１０の大きさを特定するための情報を予め設定することなく、深さ方向の情報を取得することができる。
【００１８】
オブジェクト１１０は、１以上の慣性センサを含む電子機器である。慣性センサは、単一又は複数の軸に沿った加速度を測定可能でもよく、直線方向だけでなく角加速度を測定可能であってもよい。一つの実施の形態において、オブジェクト１１０は、図２及び３に示されたゲームコントローラなどの携帯型電子機器又は携帯型電子機器の一部である。オブジェクト１１０は、正方形、球、三角形、又はより複雑な形状など、任意の形状を有してもよい。一つの実施の形態において、オブジェクト１１０は、球状の形状を有する。
【００１９】
図２は、本発明の一つの実施の形態における、ボール部２０５を有するゲームコントローラ２００を示す。図３は、本発明の別の実施の形態における、ボール部２１５を有する別のゲームコントローラ２１０を示す。ある実施の形態において、ボール部２０５及び２１５は、図１のオブジェクト１１０に相当する。
【００２０】
ボール部２０５及び２１５は、異なる色であってもよく、一つの実施の形態において、ボール部２０５及び２１５は、発光してもよい。球状のボール部が示されているが、ボール２０５及び２１５は、球の一部、完全ではない球、アメリカンフットボール又はラグビーで使われるような引き伸ばされたボール、立方体状の形状など、視覚的に追跡する目的のために、他の形状を有していてもよい。一つの実施の形態において、ボール部２０５及び２１５は、直径４ｃｍである。しかしながら、より大きい、又は、より小さい大きさであってもよい。より大きい場合は、視覚的に認識しやすい。例えば、直径が５ｃｍのボールでは、４ｃｍのボールに比べて、画像認識におけるピクセル数が約５５パーセント多くなる。
【００２１】
図１に戻り、オブジェクト１１０及び光学センサ１０５は、有線及び／又は無線接続を介して計算装置１１５に接続される。有線接続は、例えば、ＩＥＥＥ１３９４（ファイヤーワイヤー（登録商標））ケーブル、イーサネット（登録商標）ケーブル、及びユニバーサルシリアルバス（ＵＳＢ）ケーブルなどを介した接続を含む。無線接続は、例えば、無線忠実（ＷｉＦｉ）接続、ブルートゥース（登録商標）接続、ジグビー（登録商標）接続などを含む。図示された実施の形態において、オブジェクト１１０は、無線により計算装置１１５に接続し、光学センサ１０５は、有線により計算装置１１５に接続する。
【００２２】
計算装置１１５は、ビデオゲームコンソール、パーソナルコンピュータ、ゲーム機、又は他の計算装置であってもよい。計算装置１１５は、オブジェクト１１０からのユーザ入力に応答可能なゲーム又は他のアプリケーションを実行してもよい。オブジェクト１１０は追跡され、オブジェクト１１０の動きはユーザ入力を提供する。
【００２３】
追跡システム１００がオブジェクト１１０を正確に追跡可能となる前に、追跡システム１００は較正される必要がある。例えば、追跡システム１００のキャリブレーションは、光学センサ１０５のピッチ１４５の算出及び光学センサ１０５とオブジェクト１１０との間の相対的なヨーの算出を含んでもよい。オブジェクト１１０と光学センサ１０５との間の相対ヨーは、オブジェクト１１０と光学センサ１０５の間の向きの差を表し、ワールド参照フレームにおけるＹ軸（重力に沿った軸）の周りの回転として表される。一つの実施の形態において、オブジェクトが光学センサ１０５の撮像平面に対して垂直な方向に向いているときに、光学センサ１０５とオブジェクト１１０との間のゼロヨーが達成されると定義される。または、オブジェクト１１０が光学センサ１０５の方へ真っ直ぐ向いているときに、ゼロヨーが達成されると定義されてもよい。光学センサ１０５が、視野１２５の不明なカメラである場合、追跡システム１００のキャリブレーションは、光学センサ１０５の視野１２５の算出を含む。オブジェクト１１０の大きさが不明である場合、追跡システム１００のキャリブレーションは、オブジェクト１１０の大きさの決定を含んでもよい。ピッチ及びヨーを較正するための技術が、図４Ａ〜４Ｃ及び６−７を参照して、以下に詳述される。
【００２４】
図４Ａは、本発明の一つの実施の形態における、追跡システム４００のブロック図を示す。追跡システム４００は、光学センサ４０５に物理的に接続され、光学センサ４０５により追跡されるオブジェクト４１０に無線接続される計算装置４１５を含む。計算装置４１５は、光学センサ４０５に無線接続され、及び／又は、オブジェクト４１０に物理的に接続されてもよいことが留意されるべきである。一つの実施の形態において、追跡システム４００は、図１の追跡システム１００に相当する。
【００２５】
オブジェクト４１０は、オブジェクト４１０の内部の固定的な位置に設けられた１以上の慣性センサ４２０を含む。一つの実施の形態において、慣性センサ４２０は、１以上のジャイロスコープ及び１以上の加速度計を含む。ジャイロスコープは、向きの変化（例えば、ピッチ、ロール、及びねじりの変化）を検出するために、角運動量を用いる。加速度計は、１以上の軸に沿った加速度を測定する。ジャイロスコープ及び加速度計は、分離された複数のセンサであってもよいし、一つのセンサに結合されていてもよい。一つの実施の形態において、ジャイロスコープ及び加速度計は、マイクロエレクトロメカニカルシステム（micro-electromechanical systems：ＭＥＭＳ）装置である。慣性センサ４２０は、モーションデータを収集し、慣性データロジックコンポーネント４２５へモーションデータを送信する。一つの実施の形態において、モーションデータは、データが取得されるときに継続的に慣性データロジックコンポーネント４２５へ送信される。
【００２６】
光学センサ４０５は、ビデオカメラ、Ｚ−カメラ、ステレオカメラ、又は画像を撮像可能な他の装置であってもよい。オブジェクト４１０が移動されるとき、及び／又は、静止して保持されるとき、光学センサ４０５は、オブジェクト４１０の位置データ（例えば画像）を取得する。位置データは、画像の大きさ及び画像の位置の情報を含んでもよい。光学センサ４０５は、計算装置４１５に位置データを送信する。一つの実施の形態において、光学センサ４０５は、位置データが取得されるとリアルタイムに計算装置４１５に位置データを流す。
【００２７】
計算装置４１５は、ビデオゲームコンソール、パーソナルコンピュータ、ゲーム機などであってもよい。一つの実施の形態において、計算装置４１５は、光学センサ４０５から取得された位置データとオブジェクト４１０から取得された慣性データに基づいて追跡システム４００を較正する較正ロジック４３２を含む。更なる実施の形態において、較正ロジック４３２は、それぞれが較正に関連した異なる演算を実行する、慣性データロジックコンポーネント４２５、位置データロジックコンポーネント４３０、及び調整ロジックコンポーネント４３５を含む。
【００２８】
慣性データロジックコンポーネント４２５は、オブジェクト４１０から取得した慣性データを分析する。一つの実施の形態において、慣性データロジックコンポーネント４２５は、オブジェクト４１０のピッチを算出するために、慣性データを処理する。オブジェクト４１０のピッチは、オブジェクトと重力に垂直な平面との間の角度φである。重力は、慣性センサ４２０により測定可能な下向きの一定の力を示す。したがって、オブジェクト４１０が静止しているときに測定される加速度は、重力によるものである。オブジェクト４１０の向きにかかわらず、慣性センサ４２０により検出された下向きの重力に基づいて、オブジェクト４１０と重力に平行な平面（例えば地面）との間の角度φが決定可能である。このように、慣性データロジックコンポーネント４２５は、ワールド参照フレームにおけるオブジェクトの方向を判定することができる。慣性データロジックコンポーネント４２５は、オブジェクトのピッチを調整ロジック４３５に送信する。
【００２９】
位置データロジックコンポーネント４３０は、（例えば画像内のオブジェクト４１０を検出するために）光学センサ４０５から取得した位置データ（例えば画像）を分析する。一つの実施の形態において、オブジェクト４１０の画像の位置は、画像内のオブジェクト４１０を表すピクセルのグループを分析することにより決定され、オブジェクトの中心が検出される。一つの実施の形態において、それぞれのピクセルのガウス分布が算出され、中心位置のピクセル以下の正確さを提供するために用いられてもよい。
【００３０】
位置データロジックコンポーネント４３０は、画像内のオブジェクト４１０の位置に基づいて、オブジェクト４１０から光学センサ４０５の中心へ伸びる光線の画像角度を決定する。位置データロジックコンポーネント４３０は、画像角度を調整ロジック４３５へ送信する。一つの実施の形態において、画像角度は三次元の角度である。１つ又は２つの三次元画像角度が算出され、調整ロジック４３５へ送信されてもよい。画像角度は、光学センサの参照フレームにおけるオブジェクトの向きを与える。
【００３１】
図４Ｂは、画像４３０内のオブジェクト４３５の位置と、そのオブジェクト４３５のＹＺ平面内での画像角度θとの間の関係を示す。画像４３０は、焦点距離がｆである光学センサにより撮像された画像である。焦点距離ｆは、カメラの視野に比例する値である。一つの実施の形態において、焦点距離ｆは、ピクセル単位で測定される。
図示された画像角度は、以下の式にしたがって算出可能な、ＹＺ平面内の二次元の画像角度である。
【数１】
0005512804.tif 000002
ここで、ｙは、画像の中心からの垂直方向のオフセットをピクセルで表したものであり、ｆは、光学センサの焦点距離をピクセルで表したものである。一つの実施の形態において、オブジェクトが画像の中心よりも上にあれば、画像角度は正となる。オブジェクトが画像の中心よりも下にあれば、画像角度は負となる。
【００３２】
図示された画像４３０において、オブジェクトはＹ軸上にある。これは、オブジェクトが光学センサの真正面にあるときに起こりうる。オブジェクトがＹ軸上にある限り、三次元の画像角度と二次元の画像角度の計算は同じである。しかし、オブジェクト４３５がＹ軸上になければ、三次元の画像角度はＸＺ平面の成分を更に有する。一つの実施の形態において、ＸＺ平面における分離した二次元の画像角度φが更に算出される。別の実施の形態において、ＸＹＺにおける三次元の画像角度が算出される。この三次元の画像角度は、後で分離した二次元の角度に分解されてもよい。一つの実施の形態において、画像角度θを算出するために、任意のＸの位置データがゼロであると仮定される。これにより、光学センサのピッチの決定の精度に強い影響を与えることなく、計算を単純化することができる。三次元の画像角度を決定し、例えば三次元角の余弦をとるなどして、その三次元画像をＹＺ平面に射影することにより、画像角度θはが算出されてもよい。
【００３３】
図４Ａに戻り、調整ロジックコンポーネント４３５は、画像角度とオブジェクトのピッチを組み合わせて、光学センサ４０５のピッチ及び／又はオブジェクト４１０と光学センサとの間の相対ヨーを決定する。ピッチ及びヨーを較正するとき、ユーザは、オブジェクト４１０を概ね光学センサ４０５の方に向けるよう指示される。オブジェクト４１０が光学センサに向けられると、オブジェクト４１０の向きは、位置データロジックコンポーネント４３０により測定されるオブジェクトの画像角度に対応する。これは、地面に対するオブジェクト４１０の角度／ピッチと測定された画像角度を組み合わせるために用いることが可能な共通の参照基準を提供する。計算装置４１５は、ワールド参照フレームにおけるオブジェクトの向き（オブジェクトのピッチ）と、光学センサの参照フレームにおけるオブジェクトの向き（画像角度）を決定し、これらを組み合わせてワールド参照フレームにおける光学センサの向きを得る。一つの実施の形態において、ユーザがオブジェクトを光学センサに直接向けていなくても、正確な較正が実行可能である。一つの実施の形態において、オブジェクトが光学センサから離れているほど較正の精度は向上する。
【００３４】
図４Ｃは、較正中の追跡システムの要素の相対位置及び向きを示す。図４Ｃにおいて、光学センサ４５５は、床４６０に対する未知のピッチを有する。オブジェクト４６５は、光学センサ４５５の方へ向けられる。慣性センサからのデータを用いて、オブジェクト４６５と床４６０との間の角φを決定することができる。
【００３５】
オブジェクト４６５は、光学センサ４５５に向けられているので、オブジェクト４６５の位置及び向きは、光学センサ４５５の参照フレームにおいて測定される画像角度θに対応する。下記の式にしたがって、画像角度θ及びオブジェクトのピッチφを組み合わせることにより、光学センサのピッチαが得られる。
【数２】
0005512804.tif 000003
ここで、ピッチαは、光学センサと、重力に垂直な平面との間の角である。
【００３６】
図４Ａに戻り、一つの実施の形態において、調整ロジックコンポーネント４３５は、オブジェクト４１０と光学センサ４０５との間の相対ヨーを更に決定する。一つの実施の形態において、オブジェクト４１０と光学センサ４０５との間の相対ヨーは、光学センサ４０５のピッチを算出した後に算出される。一つの実施の形態において、オブジェクト４１０と光学センサ４０５との間の相対ヨーは、較正中にオブジェクト４１０が光学センサ４０５へ向けられている限り、ワールド参照フレームにおいてゼロである。
【００３７】
光学センサの参照フレームにおける相対ヨーは、光学センサ４０５の算出されたピッチと、ＸＺ平面において光学軸と光学センサの中心からオブジェクトの中心へ伸びる線との間の測定された画像角度とを用いて決定することができる。一つの実施の形態において、相対ヨーは、光学センサ４０５のピッチを算出した後に、光学センサ４０５の光学中心からオブジェクト４１０の中心へ伸びる線を表現するベクトルを光学センサの参照フレームからワールド参照フレームへ変換することにより算出される。変換は、算出されたピッチ角αによるＸ軸の周りの回転であってもよい。行列表記を用いると、以下のようになる。
【数３】
0005512804.tif 000004
ここで、ベクトルＶＷは、ワールド座標系において光学センサ４０５の光学中心からオブジェクト４１０の中心へ伸びる線を表すベクトルであり、ＶＣは、光学センサの座標系におけるそのベクトルである。ベクトルがワールド座標系に変換された後、相対ヨーは以下のように計算することができる。
【００３８】
一つの実施の形態において、相対ヨー及び光学センサのピッチの算出は、調整ロジックコンポーネント４３５により、ワールド座標系と光学センサ４０５の座標系を揃える三次元回転を算出することにより実行される。三次元の回転は、軸及び角度により定義されうる。三次元回転の回転軸は、以下のように、ベクトルのクロス積をとることにより求められる。
【数４】
0005512804.tif 000005
ここで、ベクトルＶ１は、ワールド参照フレームにおけるオブジェクト４１０の向きを表し、ベクトルＶ２は、光学センサ４０５の参照フレームにおけるオブジェクト４１０の向きを表す。上述したように、ベクトルＶ１は、測定された、重力に対するオブジェクト４１０のピッチに基づいて決定することができ、ベクトルＶ２は、光学センサ４０５により撮られた画像におけるオブジェクト４１０の三次元画像角度に基づいて決定することができる。
【００３９】
下記のように、Ｖｉ１のＶｉ２への投影を表すスカラーｓを求めるために、Ｖｉ１とＶｉ２のドット積（内積）もとられる。
【数５】
0005512804.tif 000006
【００４０】
三次元回転角γは、下記のように、回転軸及びスカラーを用いて求められる。
【数６】
0005512804.tif 000007
【００４１】
三次元回転は、いずれかの参照フレームに分解され、その参照フレームのそれぞれの軸の周りの回転角が決定されてもよい。例えば、三次元回転は、ｘ軸の周りの回転量を決定するためにｙｚ平面（ｘ軸に垂直な平面）に投影されてもよく、ｙ軸の周りの回転量を決定するためのｘｚ平面（ｙ軸に垂直な平面）に投影されてもよい。三次元の角度がワールド参照フレームに投影される場合、重力に沿った軸の周りの回転はヨーであり、重力に垂直で光学センサの画像平面内の軸の周りの回転はピッチである。三次元回転は、例えば、３つの直交する行列、回転行列、又は四元数を用いて、参照フレームの軸の周りの回転に分解されうる。
【００４２】
四元数は、実数上の四次元のノルム多元体を形成する。四元数は、行列変換よりも高速に計算することができ、その直交性を失わないから、座標変換の有用な表現を提供する。回転の四元数表現は、四次元ベクトルとして記述される。
【数７】
0005512804.tif 000008
【００４３】
ワールド参照フレームにおいて、四元数の要素は下記のように表現される。
【数８】
0005512804.tif 000009
【数９】
0005512804.tif 000010
【数１０】
0005512804.tif 000011
【数１１】
0005512804.tif 000012
ここで、ｅｘ、ｅｙ、及びｅｚは、それぞれ、オブジェクトの参照フレームのｘ、ｙ、及びｚ軸に平行な単位ベクトルを表す。
【００４４】
四元数は、参照フレームに揃えることが必要なヨー及びピッチ回転の双方を完全に表現する。しかしながら、さらに直感的な結果を提供するために、四元数は、下記の式によりピッチ及びヨーのオイラー角に変換されてもよい。ロール、ピッチ、及びヨーは、次式にしたがって、四元数から計算されうる。
【数１２】
0005512804.tif 000013
【数１３】
0005512804.tif 000014
【数１４】
0005512804.tif 000015
【００４５】
ヨー、ピッチ、及びロール角は、それぞれのベクトル組について決定されてもよい。
【００４６】
図５は、一つの実施の形態における、プレイヤーにより把持された異なるコントローラの位置を決定するために視覚情報が用いられる、マルチプレイヤー環境５００の概略図を示す。マルチプレイヤー環境５００において、光学センサ５０８はプレイフィールド５１８の画像データを取得し、画像データはボールが設けられたコントローラＣ１、Ｃ２、Ｃ４、及びＣ５の位置を取得するために分析される。距離ｄｚ１、ｄｚ２、ｄｚ４、及びｄｚ５は、取得された画像におけるそれぞれのボールの形状及び大きさを分析することにより推定される。計算装置５０２は、取得された座標及び距離を用いて、画面５０４におけるプレイヤーの表現としてアバター５１２ａ及び５１２ｂをそれぞれ生成する。良好な画像認識のための典型的な距離は、約１０フィート（３メートル）である。視覚認識の一つの利点は、コントローラを変更する必要なく、画像取得及び画像認識の向上をシステムに取り込めることである。
【００４７】
図６は、一つの実施の形態に係る追跡システム較正する方法６００の例を示すフロー図である。方法は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど）、ソフトウェア（例えば、処理装置上で実行される命令）、又はそれらの組み合わせを含む処理ロジックにより実行されてもよい。一つの実施の形態において、方法６００は、図１の計算装置１１５により実行される。一つの実施の形態において、方法６００は、ゲーム又は他のアプリケーションが計算装置１１５上で起動されるたびに実行される。または、方法６００は、追跡対象オブジェクトが一定期間不動であった後に動きが検出されるたびに実行されてもよい。または、方法６００は、較正信号を受け付けたときに実行されてもよい。較正信号は、ユーザがオブジェクトを光学センサに向けて較正ボタンを押したときに生成されてもよい。
【００４８】
図６を参照して、ブロック６０５において、計算装置は、オブジェクトが光学センサの方へほぼ向けられるときに、光学センサから追跡対象オブジェクトの位置データ（例えば画像の位置及び画像の大きさ）を取得する。一つの実施の形態において、計算装置は、光学センサの二次元参照フレームにおけるオブジェクトの画像を取得する。
【００４９】
ブロック６１０において、計算装置は、光学センサの光学軸に対するオブジェクトの第１の角度を算出する。一つの実施の形態において、計算装置は、三次元の画像角度を算出する。または、計算装置は、光学センサのＹＺ平面に沿った第１の二次元画像角度と、ＸＺ平面に沿った第２の画像角度を算出してもよい。
【００５０】
ブロック６１５において、追跡対象オブジェクトが光学センサの方にほぼ向けられているときに、計算装置は、追跡対象オブジェクトから慣性データを取得する。慣性データは、オブジェクトの向きに対応する。一つの実施の形態において、慣性データは、取得される前に予備処理され、オブジェクトのピッチを表す第２の角度を既に含む。または、生の慣性データが取得されてもよい。
【００５１】
ブロック６２０において、計算装置は、第２の角度が慣性データに含まれているか、又は、第２の角度を算出する必要があるかを判定する。第２の角度を算出する必要があれば、方法はブロック６３０に進み、計算装置は、重力に垂直な平面に対する第２の角度を算出する。そうでなければ、方法はブロック６３５に進む。
【００５２】
ブロック６３５において、計算装置は、第１の角度と第２の角度を組み合わせることにより、光学センサのピッチを決定する。第１の角度と第２の角度の双方が二次元の角度である一つの実施の形態において、第１の角度と第２の角度は加算される。
【００５３】
ブロック６３０において、光学センサとオブジェクト６３０の間の相対ヨーが算出される。一つの実施の形態において、光学センサのピッチと相対ヨーは同時に算出される。別の実施の形態においては、ピッチが先に算出され、ピッチの算出結果が相対ヨーの算出注に使用される。または、ピッチ及び／又は相対ヨーは、反復的に算出されてもよい。
この場合、ピッチの推定値がヨーの算出に使われ、ヨーの推定値がピッチの算出に使われる。それぞれの反復により、較正の精度は向上するだろう。方法はこれで終了する。
【００５４】
図７は、追跡システムを較正する方法７００の別の実施の形態のフロー図を示す。方法は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど）、ソフトウェア（例えば、処理装置上で実行される命令）、又はそれらの組み合わせを含む処理ロジックにより実行されてもよい。一つの実施の形態において、方法７００は、図１の計算装置１１５により実行される。一つの実施の形態において、方法７００は、ゲーム又は他のアプリケーションが計算装置１１５上で起動されるたびに実行される。または、方法７００は、追跡対象オブジェクトが一定期間不動であった後に動きが検出されるたびに実行されてもよい。
【００５５】
図７を参照して、ブロック７０５において、オブジェクトが光学センサの方へ向けられているときに、計算装置は、光学センサから追跡対象オブジェクトの位置データ（例えば、画像の位置及び画像の大きさ）を取得する。ブロック７１０において、計算装置は、光学センサの中心からオブジェクトに伸びる第１の三次元ベクトルを、光学センサにより撮られた画像におけるオブジェクトの画像角度に基づいて算出する。第１の三次元ベクトルは、光学センサの参照フレームにおけるベクトルである。
【００５６】
ブロック７１５において、計算装置は、オブジェクトに対応する慣性データを取得する。データは、オブジェクトから取得されてもよいし、オブジェクトに接続されている慣性センサから取得してもよい。ブロック７２０において、計算装置は、慣性データに基づいて、ワールド参照フレームにおける第２の三次元ベクトルを算出する。
【００５７】
ブロック７２５において、計算装置は、第１及び第２のベクトルの間の三次元回転を算出する。ブロック７３０において、計算装置は、三次元回転を第１の二次元回転と第２の二次元回転に分解する。第１の二次元回転は、光学センサのピッチを表してもよく、第２の二次元回転は、光学センサとオブジェクトの間の相対ヨーを表してもよい。方法はこれで終了する。
【００５８】
図８は、本発明の一つの実施の形態に関連して、コントローラの位置を決定するために用いられうるハードウェア及びユーザインタフェースを示す。図８は、本発明の一つの実施の形態に係る三次元コントローラ位置探索システムの実装に互換性のあるコンソールであるソニープレイステーション３（登録商標）エンタテインメント装置の全体システム構成を概略的に示す。システムユニット１４００とともに、システムユニット１４００に接続可能な種々の周辺装置が設けられる。システムユニット１４００は、セルプロセッサ１４２８、ランバス（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１４２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット１４３２とともに設けられたリアリティシンセサイザーグラフィックスユニット１４３０、及び入出力ブリッジ１４３４を備える。システムユニット１４００は、さらに、入出力ブリッジ１４３４を介してアクセス可能な、ディスク１４４０Ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ光ディスクリーダ１４４０及び脱着可能なスロットインハードディスクドライブ（ＨＤＤ）１４３６を備える。システムユニット１４００は、オプションで、入出力ブリッジ１４３４を介して同様にアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリスティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ１４３８をさらに備える。
【００５９】
入出力ブリッジ１４３４は、さらに、複数のユニバーサルシリアルバス（ＵＳＢ）２．０ポート１４２４、ギガビットイーサネット（登録商標）ポート１４２２、ＩＥＥＥ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート１４２０、７つのブルートゥース（登録商標）接続までサポート可能なブルートゥース無線リンクポート１４１８に接続する。
【００６０】
動作中、入出力ブリッジ１４３４は、１以上のゲームコントローラ１４０２〜１４０３からのデータを含む全ての無線、ＵＳＢ及びイーサネット（登録商標）データを扱う。例えば、ユーザがゲームをプレーするとき、入出力ブリッジ１４３４は、ブルートゥースリンクを介してゲームコントローラ１４０２〜１４０３からデータを受信し、セルプロセッサ１４２８に伝える。セルプロセッサ１４２８は、ゲームの現在の状態をそのように更新する。
【００６１】
無線、ＵＳＢ及びイーサネット（登録商標）ポートは、ゲームコントローラ１４０２〜１４０３に加えて、リモートコントローラ１４０４、キーボード１４０６、マウス１４０８、ソニープレイステーションポータブル（登録商標）エンタテインメント装置などの携帯型エンタテインメント装置１４１０、アイトイ（登録商標）ビデオカメラなどのビデオカメラ１４１２、マイクロフォンヘッドセット１４１４、及びマイクロフォン１４１５などの他の周辺装置との接続も提供する。これらの周辺装置は、原則として、システムユニット１４００に無線で接続されてもよい。例えば、携帯型エンタテインメント装置１４１０は、Ｗｉ−Ｆｉアドホック接続を介して通信してもよいし、マイクロフォンヘッドセット１４１４は、ブルートゥースリンクを介して通信してもよい。
【００６２】
これらのインタフェースの提供は、プレイステーション３装置が、ディジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、ディジタルカメラ、携帯型メディアプレーヤ、ボイスオーバーＩＰ電話、携帯電話、プリンタ、及びスキャナなどの他の周辺装置との互換性をも潜在的に有することを意味する。
【００６３】
さらに、プレイステーション（登録商標）又はプレイステーション２（登録商標）装置により用いられる種類のメモリカード１４４８の読み出しを可能にするレガシーメモリカードリーダ１４１６が、ＵＳＢポート１４２４を介してシステムユニットに接続されてもよい。
【００６４】
ゲームコントローラ１４０２〜１４０３は、ブルートゥースリンクを介してシステムユニット１４００と無線通信可能であるか、ＵＳＢポートを介して接続して、ゲームコントローラ１４０２〜１４０３のバッテリを充電するための電源も提供可能である。ゲームコントローラ１４０２〜１４０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの永続メモリ、ＬＥＤ又は赤外光などの光照射部、超音波通信のためのマイクロフォン及びスピーカ、音響チャンバ、ディジタルカメラ、内部クロック、ゲームコンソールに面した球などの認識可能な形状、及びブルートゥース、ＷｉＦｉなどのプロトコルを用いた無線通信を含んでもよい。
【００６５】
図２〜３において前述したように、ゲームコントローラ１４０２は両手で用いられるように設計されたコントローラであり、ゲームコントローラ１４０３は、ボールが設けられた、片手で扱うコントローラである。１以上のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは、三次元位置決定が可能である。したがって、ゲームコントローラのユーザのジェスチャー及び動きが、従来のボタン又はジョイスティックのコマンドに加えて、又はそれに代えて、ゲームに対する入力として翻訳されてもよい。オプションとして、プレイステーションポータブル装置などの他の無線通信可能な周辺装置がコントローラとして用いられてもよい。プレイステーションポータブル装置の場合、装置の画面に、更なるゲーム又は制御情報（例えば、制御命令又はライフの数）が提供されてもよい。ダンスマット（図示せず）、光線銃（図示せず）、ステアリングホイール及びペダル（図示せず）、又は早押しクイズゲームのための単一又はいくつかの大きなボタンなどの専用コントローラ（図示せず）などの他の代替又は追加の制御装置が用いられてもよい。
【００６６】
リモートコントローラ１４０４は、ブルートゥースリンクを介してシステムユニット１４００と無線通信可能である。リモートコントローラ１４０４は、ブルーレイディスクＢＤ−ＲＯＭリーダ１４４０の動作及びディスク内容のナビゲーションのために適した制御を備える。
【００６７】
ブルーレイディスクＢＤ−ＲＯＭリーダ１４４０は、従来の記録済み及び記録可能なＣＤ及びいわゆるスーパーオーディオＣＤに加えて、プレイステーション及びプレイステーション２装置に互換なＣＤ−ＲＯＭを読み出し可能である。リーダ１４４０は、従来の記録済み及び記録可能なＤＶＤに加えて、プレイステーション２及びプレイステーション３装置に互換なＤＶＤ−ＲＯＭを更に読み出し可能である。リーダ１４４０は、さらに、従来の記録済み及び記録可能なブルーレイディスクだけでなく、プレイステーション３装置に互換なＢＤ−ＲＯＭを読み出し可能である。
【００６８】
システムユニット１４００は、生成された、又は、リアリティシンセサイザーグラフィックスユニット１４３０を介してプレイステーション３装置によりデコードされた音声及び映像を、音声及び映像コネクタを介して、モニタ又はディスプレー１４４４と１以上のラウドスピーカ１４４６を有するテレビジョンセットなどの表示及び音声出力装置１４４２に対して供給可能である。音声コネクタ１４５０は、従来のアナログ及びディジタル出力を含んでもよく、映像コネクタ１４５２は、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、及び１以上の高解像度マルチメディアインタフェース（ＨＤＭＩ）出力などを含んでもよい。結果として、映像出力は、ＰＡＬ又はＮＴＳＣ、又は、７２０ｐ、１０８０ｉ又は１０８０ｐ高解像度の形式であってもよい。
【００６９】
音声処理（生成、デコードなど）は、セルプロセッサ１４２８により実行される。プレイステーション３装置のオペレーティングシステムは、ドルビー（登録商標）５．１サラウンド音声、ドルビーシアターサラウンド（ＤＴＳ）、及びブルーレイディスクからの７．１サラウンド音声のデコードをサポートする。
【００７０】
一つの実施の形態によれば、ビデオカメラ１４１２は、単一の電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、及びハードウェアベースのリアルタイムデータ圧縮エンコード装置を備え、圧縮されたビデオデータは、システムユニット１４００によりデコードするために、画像間ベースのＭＰＥＧ（motion picture expert group）スタンダードなどの適当な形式で送信されてもよい。カメラＬＥＤインジケータは、例えば逆光条件を知らせるなどのシステムユニット１４００からの適切な制御データに応答して光るようにされてもよい。ビデオカメラ１４１２の実施の形態は、ＵＳＢ、ブルートゥース、又はＷｉ−Ｆｉの通信ポートを介してシステムユニット１４００に接続してもよい。ビデオカメラの実施の形態は、１以上の結合されたマイクロフォンを含み、音声データを送信可能であってもよい。ビデオカメラの実施の形態において、ＣＣＤは、高精細ビデオキャプチャに適した解像度を有してもよい。使用中、ビデオカメラにより撮像された画像は、例えば、ゲーム内に組み込まれてもよいし、ゲーム制御入力として解釈されてもよい。カメラの別の実施の形態において、カメラは、赤外光を検出するのに適した赤外線カメラである。
【００７１】
一般に、システムユニット１４００の通信ポートの一つを介して、ビデオカメラ又はリモートコントローラなどの周辺装置との間で発生するデータ通信を成功させるために、デバイスドライバなどの適切なソフトウェアが提供されるべきである。デバイスドライバの技術は既知であり、ここでは詳述しないが、本実施の形態においてデバイスドライバ又は類似のソフトウェアインタフェースが要求されることは、当業者には理解されるところである。
【００７２】
図９は、本発明の一つの実施の形態における、命令の処理に利用可能な追加のハードウェアを示す。図９は、セルプロセッサ１５００の構成要素を示す。本発明の一つの実施の形態において、これは図８のセルプロセッサ１４２８に対応してもよい。図９のセルプロセッサ１５００は、メモリコントローラ１５６０及びデュアルバスインタフェースコントローラ１５７０Ａ、１５７０Ｂを備える外部入出力構成、パワープロセッシングエレメント（ＰＰＥ）１５５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）１５１０Ａ〜Ｈと呼ばれる８個のコプロセッサ、要素相互接続バス１５８０と呼ばれる、上記の要素を接続する環状データバスの４つの基本要素を備えた構成を有する。セルプロセッサの全体の浮動小数点演算は、プレイステーション２装置のエモーションエンジンの６．２Ｇフロップスであるのに対して、２１８Ｇフロップスである。
【００７３】
パワープロセッシングエレメント（ＰＰＥ）１５５０は、３．２ＧＨｚの内部クロックで動作するパワーＰＣ（PowerPC）コア（ＰＰＵ）１５５５に互換な、双方向平行マルチスレッドパワー１４７０に基づいている。これは、５１２ｋＢのレベル２（Ｌ２）キャッシュ及び３２ｋＢのレベル１（Ｌ１）キャッシュを備える。ＰＰＥ１５５０は、クロックサイクルごとに８つの単精度演算を行うことができ、これは３．２ＧＨｚにおいて２５．６ギガフロップスにあたる。ＰＰＥ１５５０の主要な役割は、ほとんどの計算作業負荷を扱うＳＰＥ１５１０Ａ〜Ｈのためのコントローラとして機能することである。動作において、ＰＰＥ１５５０は、ジョブのキューを保持し、ＳＰＥ１５１０Ａ〜Ｈのジョブをスケジューリングし、それらの進行を監視する。それぞれのＳＰＥ１５１０Ａ〜Ｈは、ジョブを取ってきて実行するのが役割であるカーネルを実行し、それをＰＰＥ１５５０に同期させる。
【００７４】
それぞれのＳＰＥ１５１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）１５２０Ａ〜Ｈを備え、それぞれのメモリフローコントローラ（ＭＦＣ：Memory Flow Controller）１５４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ：Dynamic Memory Access Controller）１５４２Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）１５４４Ａ〜Ｈ、及びバスインタフェース（図示せず）を備える。それぞれのＳＰＵ１５２０Ａ〜Ｈは、クロックが３．２ＧＨｚで、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ１５３０Ａ〜Ｈを備える、ＲＩＳＣプロセッサである。それぞれのＳＰＥは、理論上、２５．６ＧＦＬＯＰＳの単精度性能を与える。ＳＰＵは、４つの単精度浮動小数演算、４つの３２ビット演算、８つの１６ビット整数演算、又は１６の８ビット整数演算を、１つのクロックサイクルで実行可能である。同じクロックサイクルにて、メモリ命令を実行することもできる。ＳＰＵ１５２０Ａ〜Ｈは、システムメモリＸＤＲＡＭ１４２６に直接アクセスしない。ＳＰＵ１５２０Ａ〜Ｈにより生成される６４ビットのアドレスは、ＭＦＣ１５４０Ａ〜Ｈに渡され、要素相互接続バス１５８０及びメモリコントローラ１５６０を介してメモリにアクセスするためのＤＭＡコントローラ１５４２Ａ〜Ｈに命令される。
【００７５】
要素相互接続バス（ＥＩＢ）１５８０は、セルプロセッサ１５００の内部の論理的に巡回した通信バスである。ＥＩＢは、上述のプロセッサエレメント、すなわち、ＰＰＥ１５５０、メモリコントローラ１５６０、デュアルバスインタフェース１５７０Ａ、Ｂ、及び８つのＳＰＥ１５１０Ａ〜Ｈの、合計１２の要素を接続する。要素は、クロックサイクルごとに８バイトの速度でバスを同時に読み、及び書き込むことができる。前述したように、それぞれのＳＰＥ１５１０Ａ〜Ｈは、より長いリード又はライトシーケンスをスケジュールするためのＤＭＡＣ１５４２Ａ〜Ｈを備える。ＥＩＢは４つのチャンネルを備え、２つは時計回りで、２つは反時計回りの方向である。１２の要素の間で、任意の２つの要素の間のうち最も長いデータフローは、適切な方向に６ステップとなる。ＥＩＢの１２スロットの帯域の理論上のピークの瞬間は、要素間の調停を通じて全てが利用されたとき、クロックごとに９６バイトである。これは、クロックレートが３．２ＧＨｚのときの理論上のピークバンド幅の３０７．２ＧＢ／ｓ（ギガバイト毎秒）と同じである。
【００７６】
メモリコントローラ１５６０は、ランバス社により開発されたＸＤＲＡＭインタフェース１５６２を備える。メモリコントローラは、理論上はピークバンド幅毎秒２５．６ギガバイトで、ランバスＸＤＲＡＭと接続する。
【００７７】
デュアルバスインタフェース１５７０Ａ、Ｂは、ランバスフレックスＩＯ（登録商標）システムインタフェース１５７２Ａ、Ｂを備える。インタフェースは、それぞれが８ビット幅である、入力５経路、出力７経路の１２チャンネルに組織化される。これは、セルプロセッサ及びコントローラ１５７０Ａを介した入出力ブリッジ及びコントローラ１５７０Ｂを介したリアリティシミュレータグラフィックスユニットの間の６２．４ＧＢ／ｓ（出力３６．４ＧＢ／ｓ、入力２６ＧＢ／ｓ）の理論的ピークバンド幅を提供する。
【００７８】
上述の説明は、例示を意図しており、制限を意図していないことが理解されるべきである。上述の説明を読み、理解した当業者には、多数の別の実施の形態が明らかとなろう。本発明が、いくつかの特定の実施の形態に関して説明されたが、本発明は説明された実施の形態に限られず、添付された特許請求の範囲の精神及び範囲内で変更及び代替が可能であることは、当業者に認識されるところである。したがって、詳細な説明は、限定ではなく例示であるとみなされるべきである。本発明の範囲は、特許請求の範囲に与えられる全ての範囲の均等物とともに、特許請求の範囲を参照して決定されるべきである。
【図１】
0005512804.tif 000016
【図２】
0005512804.tif 000017
【図３】
0005512804.tif 000018
【図４Ａ】
0005512804.tif 000019
【図４Ｂ】
0005512804.tif 000020
【図４Ｃ】
0005512804.tif 000021
【図６】
0005512804.tif 000022
【図７】
0005512804.tif 000023
【図９】
0005512804.tif 000024
【図５】
0005512804.tif 000025
【図８】
0005512804.tif 000026