(57)【特許請求の範囲】
【請求項１】
コンピュータプログラムを実行しているコンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間において、前記仮想空間におけるユーザの身体を表すと共に複数の特定部位を有するアバターを制御するための方法であって、
前記コンソールコントローラのボタン入力を前記特定部位にマッピングするステップと、
前記コンソールコントローラのボタンの選択をキャプチャするステップと、
前記コンソールコントローラの相対運動をキャプチャするステップと、
入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされた相対運動を処理するステップと、
前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの前記ボタン入力にマッピングされた前記特定部位にマッピングして、前記特定部位を前記選択されたパラメータで制御するステップであって、前記マッピングでは、アバターのどの部位を制御しているかを特定しやすくするために前記アバターのマッピングされた部位がハイライト表示されるステップと、を有し、
前記コンソールコントローラの相対運動と前記アバターのボタン入力に対応する前記特定部位との間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される方法。
【請求項２】
前記コンソールコントローラのアクティビティには、三次元空間での前記コンソールコントローラの回転および並進の検出が含まれる請求項１に記載の方法。
【請求項３】
入力パラメータには、前記コンソールコントローラの前記回転および並進の速度の変化率が含まれる請求項２に記載の方法。
【請求項４】
前記アバターの部分はアニメーション表示される特定の身体部位を含む請求項１に記載の方法。
【請求項５】
前記入力パラメータのうちの選択されたパラメータの、前記アバターの部分へのマッピングは、前記コンソールコントローラの前記回転および並進の速度の加速および減速に比例して行われる請求項３に記載の方法。
【請求項６】
前記入力パラメータは、コントローラボタンの選択を含み、前記コントローラボタンは、選択時に、前記アバターアニメーションの異なる部分のユーザ制御を開始するようにマッピングされる請求項１に記載の方法。
【請求項７】
前記アバターアニメーションは、前記コントローラの３軸の並進および回転の運動、ユーザによって制御される加速および減速に応答し、かつこれに比例する請求項６に記載の方法。
【請求項８】
コンソールを使用してコンピュータネットワークを介して、前記仮想空間におけるユーザの身体を表すと共に複数の特定部位を有するアバターをインタラクティブに制御するための方法であって、
コンソールコントローラを提供するステップと、
前記コンソールコントローラのボタン入力を前記特定部位にマッピングするステップと、
前記コンソールコントローラのボタンの選択を検出するステップと、
前記コンソールコントローラの第１の位置を決定するステップと、
前記コンソールコントローラの第２の位置への移動の検出を含む、前記コンソールコントローラへの入力をキャプチャするステップと、
前記コンソールコントローラへの入力と、前記コンソールコントローラの前記第１の位置と前記第２の位置間の相対運動とを処理するステップと、
前記コンソールコントローラの前記第１の位置と前記第２の位置間の前記相対運動を、前記アバターの、コンソールコントローラの検出されたボタン入力に対応するアニメーション表示される体の部分にマッピングして前記アニメーション表示される体の部分を前記相対運動によって制御するステップであって、前記マッピングでは、アバターのどの部位を制御しているかを特定しやすくするために前記アバターのマッピングされた部位がハイライト表示されるステップと、を有し、
前記コンソールコントローラの相対運動と前記アバターの前記検出されたボタン入力に対応する前記体の部分との間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される方法。
【請求項９】
前記コンソールへの入力により、前記コンソールコントローラの相対運動の前記マッピングが、前記アバターの異なる部分に変更される請求項８に記載の方法。
【請求項１０】
前記コンソールコントローラの移動は、３軸の並進および回転の運動を含む前記３軸で検出可能である請求項８に記載の方法。
【請求項１１】
前記コンソールコントローラの加速が、前記コンソールコントローラの前記入力のキャプチャおよび前記移動の検出の一部として含まれる請求項８に記載の方法。
【請求項１２】
前記アバターは、前記アバターのための前記仮想環境は、前記コンピュータネットワークを介してアクセスされ、前記コンソールによってレンダリングされる請求項８に記載の方法。
【請求項１３】
コンピュータネットワーク内の少なくとも１つのコンピュータで実行されるコンピュータプログラムによって生成される、前記仮想空間におけるユーザの身体を表すと共に複数の特定部位を有するアバターおよび仮想環境について、前記仮想環境内で前記アバターをインタラクティブに制御するためのコンピュータにより実装された方法であって、
前記コンピュータプログラムとインタフェースされているコントローラを提供するステップと、
ユーザが前記アバターの選択された特定部分を制御できるように、コンソールコントローラのボタン入力をマッピングするステップであって、前記マッピングでは、アバターのどの部位を制御しているかを特定しやすくするために前記アバターのマッピングされた部位がハイライト表示されるステップと、
コンソールコントローラのボタン入力と、第１の位置と第２の位置間のコンソールコントローラの移動とをキャプチャするステップと、
前記キャプチャされたコントローラのボタン入力およびコンソールコントローラの移動を処理し、前記仮想環境内で前記アバターのコンソールコントローラの検出されたボタン入力にマッピングされた前記選択された部分をインタラクティブにアニメーション表示するために前記キャプチャされた移動を適用して前記選択された部分を前記コントローラの移動により制御するステップと、を有し、
コントローラの移動と前記キャプチャされたボタン入力に対応する前記選択された部分のアバターアニメーション間の相関を定義するために、前記コントローラ入力およびコントローラの移動のキャプチャおよび前記処理が連続的に実行される方法。
【請求項１４】
前記コントローラの移動は、３軸の並進および回転の運動を含む３軸全てで検出可能である請求項１３に記載の方法。
【請求項１５】
コントローラの移動のキャプチャは、前記コントローラの回転および並進運動の前記コントローラの加速および減速の６軸のキャプチャを含む請求項１３に記載の方法。
【請求項１６】
前記コントローラ入力は、コントローラボタンの選択を含み、前記コントローラボタンは、選択時に、前記アバターアニメーションの異なる部分のユーザ制御を開始するためにマッピングされる請求項１３に記載の方法。
【請求項１７】
前記アバターの前記選択された部分のアニメーションは、前記コントローラの３軸の並進および回転の運動の、ユーザによって制御される加速および減速に応答し、かつこれに比例する請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にインタラクティブなマルチメディアエンタテインメントに関し、より詳細には、仮想空間におけるインタラクティブなユーザ制御およびユーザの操作表現に関する。
【背景技術】
【０００２】
ビデオゲーム産業は、長年にわたって多くの変化を経験してきた。演算能力が拡大するにつれ、ビデオゲームの開発者も同様に、この演算能力の増大を利用するゲームソフトウェアを作成してきた。このために、ビデオゲーム開発者は、極めてリアルなゲーム体験を生み出すべく、高度な演算と数学を採用したゲームをコーディングしてきた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ゲームプラットホームの例に、ソニープレイステーションまたはソニープレイステーション２（ＰＳ２）があり、これらはそれぞれ、ゲームコンソールの形で販売されている。周知のように、ゲームコンソールはモニタ（通常はテレビ）と接続されて、手持ち式のコントローラによってユーザとのインタラクションを可能にするように設計されている。ゲームコンソールは、ＣＰＵ、処理量の多いグラフィック操作のためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル装置などの特化した処理ハードウェアと、その他の繋ぎとなるハードウェア即ちグルーハードウェア、ファームウェアおよびソフトウェアなどを備えて設計される。また、ゲームコンソールは、ゲームコンソールによるローカルプレイを行うためにゲームのコンパクトディスクを受け容れるための光ディスクトレイを備えて設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒に対話的にプレイすることができるオンラインゲームも可能である。
【０００４】
ゲームが複雑であることがプレーヤの興味を引きつけていることから、ゲームおよびハードウェアのメーカは更なるインタラクティブ機能（インタラクティビティ）およびコンピュータプログラムを実現するために革新を続けてきている。コンピュータプログラムの中には、仮想世界を定義するものもある。仮想世界とは、ユーザが１つ以上のコンピュータプロセッサを介してやり取りしうるシミュレートされた環境である。ユーザは、アバターと呼ばれる表現の形でビデオ画面に表示されうる。アバターとシミュレートされた環境間のインタラクションの程度は、シミュレートされた物理現象、ユーザの間での情報の交換などのインタラクションを支配する１つ以上のコンピュータアプリケーションによって実装される。仮想世界のユーザ間のインタラクションの性質は、多くの場合、仮想世界を実装しているシステムの制約によって制限される。
【０００５】
本発明の実施形態は、この状況においてなされたものである。
【課題を解決するための手段】
【０００６】
本明細書に定義される実施形態は、コンピュータ制御されたシステムおよびプログラムが、インタフェース入力を、画面に表示される仮想世界のアニメーションキャラクタの特定の特徴にマップ可能にする。一実施形態では、コントローラ（例えば、ゲームコントローラ）の特定のボタンが、仮想世界のアニメーションキャラクタを定義するアバターの特定の身体部位にマッピングされる。一部の実施形態では、ボタンがアバターの特徴にマッピングされるだけでなく、位置、動き、トリガ、配置およびこれらの組み合わせもマッピングされ、この結果、現実世界のユーザが、画面に表現されるアバターを正確に制御できるようになる。
【０００７】
下で更に詳しく説明するように、現実世界のユーザは、多くの場所および空間の仮想世界にわたってアバターを制御し、他のアバター（現実世界の他のユーザまたはコンピュータ制御されたボットによって制御されうる）と交流させたり、または、物、物体、環境とインタフェースさせたり、通信動作を起こさせることが可能である。通信動作は、視覚、音声またはこれらの組み合わせの形でアバターに転送される変換マッピングによって、コントローラによって制御されうる。したがって、以下の実施形態は、特定のコントローラ（例えば、ゲームコントローラまたは汎用コンピュータの制御用周辺機器）のボタン、動き（および組み合わせ）を、アバターの特定の身体部位または選択した身体部位、アバターの全身の動き、アバターの体の反応、アバターの顔の反応、アバターの感情などにマップすることによって可能な制御の例として、幅広く考察されるべきである。
【０００８】
一実施形態では、コンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間においてアバターを制御するための方法が開示される。前記方法は、コンソールコントローラのアクティビティ（例えば活動）をキャプチャするステップと、入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされたアクティビティを処理するステップから始まる。前記方法の次のオペレーションは、前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの部分にマップするステップである。前記コンソールコントローラのアクティビティと前記ユーザの前記仮想空間表現である前記アバターとの間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【０００９】
別の実施形態では、コンソールを使用してコンピュータネットワークを介してアバターをインタラクティブに制御するための方法が開示される。前記方法は、コンソールコントローラを提供するステップと、前記コンソールコントローラの第１の位置を決定するステップから始まる。前記方法は、前記コンソールコントローラの第２の位置への移動の検出を含む、前記コンソールコントローラへの入力をキャプチャするステップが続く。別のステップは、前記コンソールコントローラへの入力と、前記コンソールコントローラの前記第１の位置と前記第２の位置間の相対運動とを処理するステップである。前記方法の次のステップは、前記コンソールコントローラの前記第１の位置と前記第２の位置間の前記相対運動を、前記アバターのアニメーション表示される体の部分にマップするステップである。前記コンソールコントローラの相対運動と前記アバター間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【００１０】
更に別の実施形態では、仮想環境内でアバターをインタラクティブに制御するためのコンピュータにより実装された方法が開示される。この実施形態では、コンピュータネットワーク内の少なくとも１つのコンピュータで実行されるコンピュータプログラムが前記アバターおよび前記仮想環境を生成する。前記方法は、前記コンピュータプログラムとインタフェースされているコントローラを提供するステップと、ユーザが前記アバターの選択された部分を制御できるように、コントローラ入力をマップするステップから始まる。前記方法は、コントローラ入力と、第１の位置と第２の位置間のコントローラの移動とをキャプチャするステップが続く。前記方法の次のステップは、前記キャプチャされたコントローラ入力およびコントローラの移動を処理し、前記仮想環境内で前記アバターの前記選択された部分をインタラクティブにアニメーション表示するために前記キャプチャされた移動を適用するステップである。コントローラの移動とアバターアニメーション間の相関を定義するために、前記コントローラ入力およびコントローラの移動のキャプチャおよび前記処理が連続的に実行される。
【００１１】
本発明の他の態様および利点は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【００１２】
本発明とその更なる利点とは、添付の図面を参照して以下の記載を読めば、よりよく理解できるであろう。
【図面の簡単な説明】
【００１３】
【図１Ａ】本発明の一実施形態によるアバター制御システム１００を示す概略図である。
【図１Ｂ】本発明の一実施形態による、制御装置１０８とコンソール１１０間で動きおよび位置の検出を送信するさまざまな方法を示す概略図である。
【図２】本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ１０２ａの概略図である。
【図３】本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ１０２ａの概略図である。
【図４Ａ】本発明の一実施形態による、アバターを変化させるコントローラの相対運動のモーションキャプチャの例示的な図である。
【図４Ｂ】本発明の一実施形態による、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示すフローチャートである。
【図５Ａ】本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの例示的な図である。
【図５Ｂ】本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの別の例示的な図である。
【図６】本発明の一実施形態による、アバターの特定の身体部位を制御するためのコントローラボタンのマッピングを示す概略図である。
【図７】本発明の一実施形態による、アバターアニメーションの表示中のアバターのさまざまな形態での制御を示す概略図である。
【図８】本発明の一実施形態による、アバターの頭部のさまざまな動きの制御を示す概略図である。
【図９】本発明の一実施形態による、アバター制御システムを実装するためのコントローラを有するコンソールであるソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す概略図である。
【図１０】本発明の一実施形態によるＣｅｌｌプロセッサ９２８の概略図である。
【発明を実施するための形態】
【００１４】
実世界のユーザが、仮想世界内でアバターの動きおよびアクションを制御できるようにするための発明が開示される。本発明の一実施形態によれば、ユーザは、仮想世界とインタラクトしうる。本明細書で使用する「仮想世界」との用語は、実際のユーザが、１つ以上の表示装置を介して感知しうる、および／または１つ以上のユーザインタフェースを介してインタラクトしうる、１つ以上のプロセッサによってシミュレートされるインタラクションのルールを有する現実または架空の環境の表現を指す。本明細書で使用する「ユーザインタフェース」との用語は、ユーザが仮想世界との間で、入力を送信するか出力を受信することができる実際のデバイスを指す。仮想世界は、１つ以上のプロセッサモジュールによってシミュレートされうる。複数のプロセッサモジュールが、ネットワークを介して相互接続されうる。ユーザは、ネットワークを介して、プロセッサモジュールおよび他のユーザインタフェースデバイスと通信することができるユーザインタフェースデバイスを介して、仮想世界とインタラクトしうる。仮想世界の特定の特徴は、コンピュータモニタ、テレビジョンモニタまたは同様のディスプレイなどのグラフィックディスプレイに、グラフィカルな形式でユーザに提示されうる。仮想世界の他の特定の態様は、グラフィックディスプレイに関連しうるスピーカで可聴形式でユーザに提示されうる。
【００１５】
仮想世界内では、ユーザはアバターによって表現されうる。仮想世界内の各アバターは、異なるユーザに一意に関連付けられうる。ユーザが互いを容易に特定できるように、ユーザの名前または仮名がアバターの隣に表示されうる。特定のユーザの仮想世界とのインタラクションは、アバターの１つ以上の対応するアクションによって表現されうる。異なるユーザ同士が、自身のアバターを通じて交流しうる。ユーザを表すアバターは、人物、動物または物体と同様の外観をとることができる。人物の形のアバターは、ユーザと性別が同じでも異なっていてもよい。アバターは、ユーザが、仮想世界のほかの物体と共にアバターを見ることができるように、ディスプレイに表示されうる。
【００１６】
別の実施形態では、ディスプレイが、アバターを表示せずに、アバターの視点から世界を表示してもよい。仮想世界上のユーザの（またはアバターの）視点は、仮想カメラの視界とみなすことができる。本明細書で使用する「仮想カメラ」とは、仮想世界内の視点を指し、仮想世界内で三次元シーンの二次元画像を描画するために使用されうる。ユーザ同士が、各ロビーに関連するチャットチャネルによって、自身のアバターを通じて交流しうる。ユーザは、ユーザインタフェースを介して、ほかのユーザとのチャットのためのテキストを入力しうる。このテキストは、例えば、漫画形式の吹き出し（時に「チャット吹き出し」とも呼ばれる）の形式で、ユーザアバターの上またはその隣に表示されうる。このようなチャットは、時に「クイックチャット」と呼ばれる定型表現のチャットシステムを使用して、容易に行うことができる。クイックチャットでは、ユーザは、メニューから１つ以上のチャット表現を選択しうる。ほかの例については、（１）２００７年３月１日出願の英国特許出願第０７０３９７４．６号「エンターテイメントデバイス（ENTERTAINMENT DEVICE）」；（２）２００７年３月５日出願の英国特許出願第０７０４２２５．２号「エンターテイメントデバイスおよび方法（ENTERTAINMENT DEVICE AND METHOD）」；（３）２００７年３月５日出願の英国特許出願第０７０４２３５．１号「エンターテイメントデバイスおよび方法（ENTERTAINMENT DEVICE AND METHOD）」；（４）２００７年３月５日出願の英国特許出願第０７０４２２７.８号「エンターテイメントデバイスおよび方法（ENTERTAINMENT DEVICE AND METHOD）」；ならびに（５）２００７年３月５日出願の英国特許出願第０７０４２４６．８号「エンターテイメントデバイスおよび方法（ENTERTAINMENT DEVICE AND METHOD）」も参照され、これらはそれぞれ参照によりここに援用される。
【００１７】
以下の説明では、本発明を完全に理解できるように、具体的な詳細を数多く記載する。しかし、これらの詳細な内容の一部または全てを用いなくとも本発明を実施しうることは当業者にとって自明である。場合によっては、本発明を不必要にわかりにくくしないように、公知のプロセス操作については詳しく記載しない。
【００１８】
図１Ａは、本発明の一実施形態によるアバター制御システム１００を示す概略図である。ユーザ１０２ａが、コンソール１１０と通信することができるコントローラ１０８を操作する。一部の実施形態では、コンソール１１０は、データを保存および取得することができる記憶媒体を備えうる。記憶媒体の種類の例には、磁気記憶装置、光記憶装置、フラッシュメモリ、ランダムアクセスメモリおよびリードオンリーメモリなどがあるが、これらに限定されない。
【００１９】
また、コンソール１１０は、イーサネットポートなどのネットワークインタフェースと、ＩＥＥＥ８０２．１１に属する多数の無線ネットワーク規格を含むワイヤレスネットワーク機能も備えうる。コンソール１１０のネットワークインタフェースにより、ユーザ１０２ａはリモートサーバに接続でき、リモートサーバは、コンソール１１０の他のユーザとのリアルタイムかつインタラクティブなゲームのプレイ、ソフトウェアアップデート、メディアサービス、およびソーシャルネットワーキングサービスへのアクセスを提供することができる。
【００２０】
また、コンソール１１０は、中央処理装置およびグラフィック処理装置も備えうる。中央処理装置は、記憶媒体から取得された命令を処理するために使用され、グラフィック処理装置は、画面１０６に表示されるグラフィクスを処理し描画しうる。
【００２１】
コンソール１１０に画面１０６が接続されている場合、コンソール１０６は、アバター１０２ｂを含む仮想空間１０４を表示することができる。一実施形態では、仮想空間１０４は、コンソール１１０のネットワークインタフェースを使用してアクセスされるリモートサーバに保持されうる。別の実施形態では、仮想空間１０４の一部がコンソール１１０に記憶され、ほかの一部がリモートサーバに記憶されてもよい。一部の実施形態では、仮想空間１０４は、画面１０６に表示される仮想三次元世界である。仮想空間１０４は、地形、天候、植物相、動物相、通貨および政治が存在する実世界の仮想表現であってもよい。実世界と同様に、仮想空間１０４には、都市、郊外および地方の地域が含まれうる。しかし、実世界とは異なり、仮想空間１０４では、物理学の法則が変わってもよい。上に挙げた仮想空間１０４の特徴は例示を意図したものであり、制限または限定することを意図したものではない。仮想空間として、シミュレーションおよびモデリングできる範囲は、実世界のあらゆるものを含んでもよく、人の想像力の限界のみによって制限される。
【００２２】
ユーザは、アバター１０２ｂを使用して仮想空間１１４とインタラクトすることができる。アバター１０２ｂは、三次元で描画され、仮想空間１０４内でユーザ１０２ａをリアルにまたは空想により表現したものとなるように、ユーザ１０２ａによって構成されうる。ユーザ１０２ａは、アバターの複数の形態を完全に制御することができ、これには、髪型、頭の形、目の形、目の色、鼻の形、鼻の大きさ、耳の大きさ、唇の形、唇の色、衣服、履物およびアクセサリなどがあるが、これらに限定されない。別の実施形態では、ユーザ１０２ａは、自分の実際の顔写真を入力することができ、その写真が、三次元のワイヤフレームの頭部と体にマッピングされてもよい。
【００２３】
図１Ｂは、本発明の一実施形態による、制御装置１０８とコンソール１１０間で動きおよび位置の検出を送信するさまざまな方法を示す。ユーザ１０２ａは、コントローラ１０８を使用して仮想空間１０４内でアバター１０２ｂを制御することができる。一実施形態では、コントローラ１０８は、コンソール１１０に信号を無線で送信することができる。１台のコンソール１１０に複数のコントローラを使用することができるため、特定の周波数で無線信号を送信するか、またはブルートゥースなどの無線および通信プロトコルを使用することによって、個々のコントローラ間で干渉を行うことができる。コントローラ１０８は複数のボタンおよびジョイスティックを備え、これらは、画面メニューから項目を移動したり、選択するなどのさまざまな効果を実現するために、ユーザが操作することができる。同様に、コントローラ１０８のボタンおよびジョイスティックは、コンソール１１０によって実行されるコンピュータプログラムの制御形態においてマッピングされ得る。
【００２４】
また、コントローラ１０８は、ｘ軸、ｙ軸およびｚ軸での並進および回転を検出することができるモーションセンサも備えうる。一実施形態では、モーションセンサは、コントローラ１０８の動き、加速および減速を検出することができる慣性センサである。別の実施形態では、ジャイロを使用して、コントローラ１０８の動きが全ての軸で検出されてもよい。コントローラ１０８は、処理のためにモーションセンサからコンソール１１０にデータを無線で送信することができ、この結果、画面にアクションが表示される。
【００２５】
また、コントローラ１０８の視覚的検出を提供するのを支援するために、カメラ１１２も、コンソール１１０に接続されうる。一実施形態では、コントローラ１０８に配置されているカメラ１１２とＬＥＤが、コンソール１１０に、コントローラ１０８の視覚的検出を提供する。ＬＥＤは、可視スペクトル内または可視スペクトル外の光を発することができ、アレイとしてコントローラに一体化されていてもよく、コントローラが、カメラ１１２から軸を外れているかどうかを判定するのを支援する。別の実施形態では、ＬＥＤが、コントローラ１０８にモジュールとして取り付けられてもよい。
【００２６】
カメラ１１２は、ＬＥＤが発した光を受光するように構成され、コンソール１１０は、カメラ１１２に対するＬＥＤの変化に基づいてコントローラ１０８の移動を計算することができる。更に、複数のコントローラが１台のコンソール１１０に関連している実施形態では、個々の点滅パターンまたは光の周波数を使用して、異なるコントローラのＬＥＤ同士を区別することができる。
【００２７】
別の実施形態では、カメラ１１２は、カメラ１１２とコントローラ１０８間の距離を決定するのを支援することができる深度カメラである。一部の実施形態では、深度カメラは、最大スキャン深度を有しうる。この状況では、深度値は、最大スキャン深度内の物体に対してのみ計算される。図１Ｂに示すように、カメラ１１２はＺの最大スキャン深度を有する。コントローラ１０８は最大スキャン深度内に入っているため、カメラ１１２とコントローラ１０８間の距離を計算することができる。更に別の実施形態では、動きおよび位置の検出の精度を上げるために、慣性センサ、ＬＥＤの検出および深度カメラの組み合わせが使用されてもよい。一実施形態では、カメラ１１２が、コンソール１１０と一体化されてもよい。別の実施形態では、カメラ１１２が、コンソール１１０とは独立して配置されてもよい。
【００２８】
図２は、本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ１０２ａの図を示す。ユーザ１０２ａは、コントローラ１０８を持ち、腰を曲げて図示されている。ユーザ１０２ａが腰を曲げると、コントローラ１０８は、最初の実質的に水平な位置から、図２に示す位置まで下にピッチ運動される。オペレーション１２０において、コントローラ１０８の下方ピッチ運動がモーションキャプチャシステムによってキャプチャされうる。オペレーション１２２において、コンソールによってコンピュータ解析が実行され、コントローラ１０８のモーションキャプチャが、アバター１０２ｂの特定の身体部位にマッピングされる。オペレーション１２４は、アバター１０２ｂのアニメーションを描画し、これがコンソールから画面１０６に出力されうる。
【００２９】
図２に示すように、コントローラ１０８のモーションキャプチャはアバター１０２ｂの腰にマッピングされ得る。別の実施形態では、コントローラ１０８の動きのモーションキャプチャが、脚、腕、手および頭部などの、アバター１０２ｂの異なる身体部位にマッピングされてもよい。更に別の実施形態では、コントローラ１０８からのモーションキャプチャが、ほかの形式のユーザ入力と組み合わされて、アバター１０２ｂが変化されてもよい。例えば、ユーザ１０２ａが発話すると、マイクロフォンとカメラシステムがモニタに使用され、この結果、アバター１０２ｂの口のアニメーションが表示されてもよい。また、ユーザ１０２ａは、コントローラ１０８にあるボタンを使用して、アバター１０２ｂのリアクションおよび動きを変更およびカスタマイズすることもできる。
【００３０】
図３は、本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ１０２ａの図を示す。この実施形態では、ユーザ１０２が、コントローラ１０８を、最初の実質的に水平な位置から、図３に示す位置まで下にピッチ運動して図示されている。図２と同様に、オペレーション１２０において、コントローラの下方ピッチ運動がモーションキャプチャシステムによってキャプチャされうる。オペレーション１２２は、モーションキャプチャのコンピュータ解析を実行し、オペレーション１２４は、モーションキャプチャをアバター１０２ｂにレンダリングしうる。
【００３１】
図２と図３を比較すると、コントローラの相対運動のモーションキャプチャにより、アバター１０２ｂを変化させることができることが示される。図２では、ユーザ１０２が腰を曲げると、モーションキャプチャシステムがコントローラ１０８の位置の変化を検出しうる。図３では、ユーザ１０２ａの手首の動きにより、コントローラ１０８が下にピッチ運動されうる。ユーザ１０２ａが行う身体の動きは異なるが、コントローラ１０８の下方ピッチ運動が、コントローラによってキャプチャされ分析される相対動きである。このため、コントローラ１０８に同じ相対運動を生じさせるユーザ１０２ａの異なる身体の動きが、同じアバター身体部位にマッピングされると、アバター１０２ｂに同様のアニメーションを生じさせる。
【００３２】
図４Ａは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動のモーションキャプチャの例示的な図である。この実施形態では、アバター１０２ｂはモーションキャプチャ前の表示を表し、アバター１０２ｂ’は、モーションキャプチャビュー後の表示を表す。初期状態では、コントローラ１０８を持っているユーザ１０２ａが、アバター１０２ｂによって表現されている。ユーザ１０２ａが、コントローラ１０８を、ユーザ１０２ａの右に９０°ヨー運動させると、コントローラ１０８の相対運動のモーションキャプチャが分析され、アバター１０２ｂに適用される。この実施形態では、コントローラ１０８の動きがアバター１０２ｂの全身にマッピングされ、コントローラ１０８の９０°のヨー運動によりアバター１０２ｂ’が表示される。
【００３３】
図４Ｂは、本発明の一実施形態による、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示すフローチャートである。上で説明したように、コントローラのさまざまな相対運動によって、アバターの異なる特徴を制御することができる。アバターのインタラクティビティおよび現実性を向上させるためには、ユーザが、自身のアバターの表情、手のジェスチャ、ならびに他の特徴、表現、および感情を制御できるようにすることが有利でありうる。このレベルのアバター制御を実現するために、コントローラの相対運動のモーションキャプチャ以外の補助的な入力が使用されてもよい。枚挙にいとまがないアバターの表現および感情のバリエーションを、選択、制御および操作するために、コントローラのボタンをマップすることができる。図５のフローチャートは、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示す。オペレーション５００において、モーション検出システムが、コントローラの最初の位置を検出する。次に、コントローラの最初の位置に対するコントローラの動きを検出するオペレーション５０２が続く。オペレーション５０４において、コントローラのいずれかのボタンが選択されたかどうかが判定される。オペレーション５０６において、コントローラのボタンの選択とコントローラの相対運動のコンピュータ解析が行われる。次に、コントローラの動きおよびボタンの選択がアバターにマップされるオペレーション５０８が続く。
【００３４】
図５Ａは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの例示的な図である。ユーザ１０２ａは、コントローラ１０８に下方ピッチ運動を行うことによって、動きＡを行う。動きＡのモーションキャプチャは、アバター１０２ｂの腰にマッピングされており、この結果、アバター１０２ｂが腰を曲げる。ユーザ１０２ａは、動きＢを行って、コントローラを実質的に水平な位置まで上にピッチ運動させ、コントローラをユーザの右にロール運動させながら、コントローラをユーザの右にヨー運動させる。この実施形態では、コントローラのヨー運動は、アバターが向いている方向にマッピングされている。このため、ユーザの右に対するヨー運動により、アバター１０２ｂが、正面を向くように回り、アバター１０２ｂ'で表示される。上で説明したように、この実施形態では、コントローラ１０８のピッチ運動はアバターの腰の動きにマッピングされている。このため、動きＢが行われると、コントローラ１０８の実質的に水平な位置への上方ピッチ運動により、アバターが、アバター１０２ｂの屈曲位置からアバター１０２ｂ’の直立位置に動く。この実施形態では、コントローラ１０８のロール運動は、アバターが腰から体を傾ける動きにマッピングされており、コントローラのユーザの右へのロール運動により、アバターの右に体を傾けたアバター１０２ｂ’が表示される。
【００３５】
図５Ｂは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの別の例示的な図である。ユーザは、コントローラ１０８に下方ピッチ運動を行うことによって、動きＡを行う。動きＡのモーションキャプチャは、アバター１０２ｂの腰にマッピングされており、この結果、アバター１０２ｂが腰を曲げる。ユーザ１０２ａ’は、コントローラ１０８を実質的に水平位置に戻さずに、動きＢを行う。ユーザ１０２ａ’は、動きＢを行って、コントローラをユーザの左にロール運動させる。この実施形態では、コントローラをロール運動させると、アバター１０２ｂがアバターの左に傾く。このため、動きＡと動きＢの組み合わせにより、アバター１０２ｂは、前に腰を曲げ、アバターの左に傾く。コントローラ１０８は加減速を測定することができるセンサを備えているため、アバター１０２ｂのアニメーションは、ユーザ１０２ａ／ａ’によるコントローラ１０８の実際の動きと相関しうる。
【００３６】
図６は、本発明の一実施形態による、アバターの特定の身体部位を制御するためのコントローラボタンのマッピングを示す。コントローラ１０８は、ＤＵ、ＤＲ、ＤＤおよびＤＬで示す、デジタルコントロールパッドを含む各種ボタンを備えうる。また、コントローラは、ＬＳ１およびＬＳ２を含む左肩ボタン１０８ａも備えうる。同様に、右肩ボタン１０８ｂには、ＲＳ１およびＲＳ２が含まれる。コントローラ１０８はアナログスティックＡＬおよびＡＲも備え、アナログスティックも押下時にボタンとして機能することができる。また、コントローラは、図６に□、△、○およびＸで示す選択ボタンも備えうる。コントローラ１０８の説明に特定の名称と記号を使用したが、名称は例示であり、限定を意図したものではない。
【００３７】
一実施形態では、コントローラ１０８の各種ボタンが、アバターの特定の身体部位の制御を有効にするためにマッピングされ得る。アバターのマッピング６００に示すように、ＡＲの押下により、ユーザがアバターの頭部を制御できるようになる。ユーザは、ＲＳ１またはＲＳ２の押下により、アバターの右腕または右脚をそれぞれ制御することができる。同様に、ＬＳ１とＬＳ２は、アバターの左腕と左脚を制御するためにそれぞれマッピングされる。ユーザは、アバターのさまざまな部位を制御することが可能であるほか、事前にレンダリングされているアバターアニメーションを開始および変更することができる。ユーザは、１つのボタンまたは複数のボタンを押すか、コントローラを１回または複数回移動させるか、またはボタン押下のシーケンスとコントローラの移動を組み合わせることにより、アバターアニメーションを開始することができる。
【００３８】
ダンスアニメーション６０１に示すように、アバターアニメーションは、各種状態のシーケンスであると考えることができる。一実施形態では、状態１  ６０２は、ユーザアバターが、休止位置またはダンスアニメーションの開始前の位置にいる。状態２  ６０４は、ダンスアニメーションの開始直後のアバターの状態であると考えることができる。この実施形態では、アバターは左に傾いている。ダンスアニメーション６０１の最終状態の状態３  ６０６では、ユーザのアバターが、右に傾き、右腕を挙げている。ダンスアニメーション６０１はアバターのさまざまな状態を示すことを意図したものであるため、各種状態間の遷移フレームは図示されていない。各種状態間でアバターのアニメーションをスムーズに表示するためにフレームが更に必要となりうることは、当業者にとって明らかであろう。ダンスアニメーション６０１は例示であり、限定を意図したものではないため、アバターアニメーションの別の実施形態では状態の数が増減してもよい。
【００３９】
上で説明したように、コントローラ１０８は並進および回転の運動の加速および減速を３軸で検出することができる。これによりユーザは、コントローラの並進および回転の運動の実際の加速および減速などのユーザ入力に基づいて、アニメーションの方向を伴った動きおよびアバターのレートアニメーションをインタラクティブに制御できるようになる。更に、アバターの特定の身体部位の制御を有効にするコントローラボタンのマッピングにより、ユーザは、インタラクティブにアニメーション表示させるアバターの１つ以上の身体部位を指定できるようになる。このように、ユーザがアバターの特定の身体部位のアニメーションを直接制御するため、ユニークなアバターアニメーションが得られる。ユーザからの直接制御に反応するアバターアニメーションは、ほかのアバターアニメーション形式にあるような、事前にマッピング、事前に定義、および事前にレンダリングされているアバターアニメーションとは異なる。
【００４０】
例えば、一部のシステムでは、ゲーム中でアニメーションキャラクタの制御が可能なものがあるが、一実施形態では、ここに開示の、コントローラの動き、コントローラ入力およびコントローラの位置をアバターの特定の部位にマッピングすることにより、制御するアバターの特徴、制御の程度、およびこのような制御のアニメーション表示するアバターへの適用を詳細に指定できるようになる。更に、アバターキャラクタは、特定の予め定められたゲーム、ゲームシーン、あるいは環境またはゲームレベルの経験に拘束されることがない。例えば、現実世界のユーザによって制御されるアバターは、訪れる場所、インタラクトする物、見る物および享受する体験を定めることが可能である。現実世界のユーザによって定義される、コントローラのアクティビティによって指示される入力の要求に応じて、仮想環境でのアバターの体験、動き、リアクションおよび体の移動が作り出される。
【００４１】
図７は、本発明の一実施形態による、アバターアニメーションの表示中のアバターのさまざまな形態や特徴の制御を示す。状態７００において、画面１０６でアバターのダンスのアニメーションの状態１  ６０２を開始するために、コントローラ１０８によるボタン押下の組み合わせが使用されうる。状態７００に示すように、コントローラ１０８は実質的に水平な位置にある。状態７０２において、ユーザは、アバターの左腕を制御するために、ＬＳ１を押したままにする。このため、ユーザがコントローラ１０８を上にピッチ運動させると、画面１０６でアバターの左腕が状態６０４ａに示す位置に上がる。状態７０４に移り、ユーザはＬＳ１を押し続けたまま、コントローラ１０８を実質的に水平の位置に下にピッチ運動させる。コントローラが下にピッチ運動されると、画面１０６で、アバターの左腕は状態６０６ａに示す位置に降ろされる。
【００４２】
別の実施形態では、ユーザが、アバターの選択された部位に対応するボタンを押してから離せば、ボタンを次に押すまで、アバターのその部位の制御を続けることができる。ユーザがアバターのどの部位を制御しているかを特定しやすいように、画面１０６でアバターの制御されている部分をハイライト表示することが可能である。このハイライト表示は、アバターを制御しているユーザに対してのみ表示され、仮想空間の他のユーザからは見えなくてもよい。
【００４３】
図８は、本発明の一実施形態による、アバターの頭部のさまざまな動きの制御を示す。状態８００は、右のアナログスティックボタン（ＡＲ）を押したまま、コントローラ１０８をヨー運動させると、アバターの頭部が回る様子を示す。このため、状態８００でアバター制御を実施しているユーザは、言葉を使わずに「いいえ」を伝えるために、アバターの頭を横に振ることが可能である。逆に、状態８０２では、ユーザがＡＲを押したままコントローラ１０８を上下にピッチ運動させると、言葉を使わずに「はい」を伝えるために、アバターの頭を上下に振ってうなずくことができる。状態８０４において、ＡＲを押したままコントローラ１０８を左右にロール運動させると、アバターの頭が左右に傾く。ヨー、ピッチおよびロールから選択されるユーザ入力コントローラの組み合わせに基づいて、アバターの頭部が複合的な動きをできることが、当業者にとって明らかであろう。同様に、ヨー、ピッチおよびロールに基づく複合的な動きは、アバターアニメーションの他の特徴にもマップすることができる。
【００４４】
図９は、本発明の一実施形態による、アバター制御システムを実装するためのコントローラを有するコンソールであるソニー（登録商標）プレイステーション３（登録商標）エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット９００は、システムユニット９００に接続可能なさまざまな周辺機器を備える。システムユニット９００は、Ｃｅｌｌプロセッサ９２８、Ｒａｍｂｕｓ（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット９２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）ユニット９３２を有するＲｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット９３０、およびＩ／Ｏブリッジ９３４を備える。また、システムユニット９００は、Ｉ／Ｏブリッジ９３４を介してアクセス可能な、ディスク９４０ａおよび着脱可能なスロットインハードディスクドライブ（ＨＤＤ）９３６から読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ（登録商標）光ディスクリーダ９４０も備える。任意選択で、システムユニット９００は、同様にＩ／Ｏブリッジ９３４を介してアクセス可能な、コンパクトフラッシュメモリカード、メモリースティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ９３８も備える。
【００４５】
また、Ｉ／Ｏブリッジ９３４は、６つのユニバーサルシリアルバス（ＵＳＢ）２．０ポート９２４、ギガビットイーサネットポート９２２、ＩＥＥＥ  ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート９２０、および最大７つのブルートゥース接続に対応可能なブルートゥース（登録商標）無線リンクポート９１８にも接続している。
【００４６】
動作時に、Ｉ／Ｏブリッジ９３４は、１つ以上のゲームコントローラ９０２からのデータを含む、全ての無線、ＵＳＢ、およびイーサネットのデータを処理する。例えば、ユーザがゲームをプレイ中に、Ｉ／Ｏブリッジ９３４はブルートゥースリンクを介してゲームコントローラ９０２からデータを受信して、これをＣｅｌｌプロセッサ９２８に転送し、Ｃｅｌｌプロセッサ９２８が適宜ゲームの現在の状態を更新する。
【００４７】
また、無線、ＵＳＢ、およびイーサネットの各ポートを介して、ゲームコントローラ９０２のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン９０４、キーボード９０６、マウス９０８、ソニープレイステーションポータブル（登録商標）エンターテイメントデバイスなどのポータブルエンターテイメントデバイス９１０、ＥｙｅＴｏｙ（登録商標）ビデオカメラ９１２などのビデオカメラ、マイクロフォンヘッドセット９１４などがある。このため、これらの周辺機器は、原則としてシステムユニット９００に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス９１０はＷｉ−Ｆｉアドホック接続を介して通信し、マイクロフォンヘッドセット９１４はブルートゥースリンクを介して通信しうる。
【００４８】
これらのインタフェースを提供することにより、プレイステーション３デバイスは、デジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、ＶｏＩＰ電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【００４９】
更に、ＵＳＢポート９２４を介して旧式メモリカードリーダ９１６をシステムユニットに接続することができ、プレイステーション（登録商標）デバイスまたはプレイステーション２（登録商標）で用いられていたタイプのメモリカード９４８の読み出しが可能となる。
【００５０】
本実施形態では、ゲームコントローラ９０２は、ブルートゥースリンクを介してシステムユニット９００と無線通信するように動作可能である。しかし、その代わりに、ゲームコントローラ９０２が、ＵＳＢポートに接続されてもよく、これにより、ゲームコントローラ９０２のバッテリに充電するための電力も供給する。ゲームコントローラは、１つ以上のアナログジョイスティックおよび従来の制御ボタンを有するほか、各軸の並進運動および回転に対応する６自由度の移動を感知する。したがって、従来のボタンまたはジョイスティックコマンドのほかに、またはこれらの代わりに、ゲームコントローラのユーザが行ったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーションポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーションポータブルデバイスの場合、追加のゲーム情報または制御情報（例えば制御命令またはライブの数）が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット（図示せず）、ライトガン（図示せず）、ハンドルおよびペダル（図示せず）、あるいは、即答クイズゲームのための１つまたは複数の大型のボタン（これも図示なし）などの特注品のコントローラなどがある。
【００５１】
また、リモコン９０４も、ブルートゥースリンクを介してシステムユニット９００と無線通信するように動作可能である。リモコン９０４は、ブルーレイディスクＢＤ−ＲＯＭリーダ９４０の操作、およびディスクの内容の閲覧のために適した制御を備える。
【００５２】
ブルーレイディスクＢＤ−ＲＯＭリーダ９４０は、従来の記録済みＣＤ、記録可能ＣＤ、およびいわゆるスーパーオーディオＣＤのほか、プレイステーションデバイスおよびプレイステーション２デバイスと互換のＣＤ−ＲＯＭを読み出すように動作可能である。また、リーダ９４０は、従来の記録済みＤＶＤおよび記録可能ＤＶＤのほか、プレイステーション２デバイスおよびプレイステーション３デバイスと互換のＤＶＤ−ＲＯＭを読み出すように動作可能である。更に、リーダ９４０は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション３デバイスと互換のＢＤ−ＲＯＭを読み出すように動作可能である。
【００５３】
システムユニット９００は、Ｒｅａｌｉｔｙ  Ｓｙｎｔｈｅｓｉｚｅｒグラフィックユニット９３０を介して、プレイステーション３デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ９４４および１つ以上のスピーカ９４６を備えた表示および音声出力装置９４２（モニタまたはテレビ受像機など）に提供するように動作可能である。音声コネクタ９５０は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタ９５２は、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、および１つ以上の高品位マルチメディアインタフェース（ＨＤＭＩ）の出力などを種々備えうる。したがって、ビデオ出力は、ＰＡＬまたはＮＴＳＣ、あるいは７２０ｐ、１０８０ｉまたは１０８０ｐの高解像度などのフォーマットであってもよい。
【００５４】
音声処理（生成、デコードなど）はＣｅｌｌプロセッサ９２８によって実行される。プレイステーション３デバイスのオペレーティングシステムは、ドルビー（登録商標）５．１サラウンドサウンド、ドルビー（登録商標）シアターサラウンド（ＤＴＳ）、およびブルーレイ（登録商標）ディスクからの７．１サラウンドサウンドのデコードに対応している。
【００５５】
本実施形態では、ビデオカメラ９１２は、１つの電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット９００によるデコードのために、イントラ画像ベースのＭＰＥＧ（Motion Picture Expert Group）標準などの適切なフォーマットで送信されるようになる。カメラのＬＥＤインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット９００から受け取ると、発光するように配置されている。ビデオカメラ９１２の実施形態は、ＵＳＢ、ブルートゥースまたはＷｉ−Ｆｉの通信ポートを介して、システムユニット９００にさまざまな方法で接続しうる。ビデオカメラの実施形態は、１つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、ＣＣＤは、高解像度のビデオキャプチャに適した分解能を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。
【００５６】
一般に、システムユニット９００の通信ポートの１つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェースが、記載する本実施形態で必要とされうることを当業者は理解するであろう。
【００５７】
図１０は、本発明の一実施形態によるＣｅｌｌプロセッサ９２８の概略図である。Ｃｅｌｌプロセッサ９２８は、メモリコントローラ１０６０およびデュアルバスインタフェースコントローラ１０７０Ａ，Ｂを含む外部入出力構造、パワープロセッシングエレメント１０５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）１０１０Ａ〜Ｈと呼ばれる８基のコプロセッサ、エレメント相互接続バス１０８０と呼ばれる上記のコンポーネントに接続している環状データバス、の４つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション２デバイスのエモーションエンジンは６．２ギガフロップスであるのに対し、Ｃｅｌｌプロセッサの総浮動小数点演算性能は、２１８ギガフロップスである。
【００５８】
パワープロセッシングエレメント（ＰＰＥ）１０５０は、３．２ＧＨｚの内部クロックで動作し、双方向同時マルチスレッディングＰｏｗｅｒ９７０準拠のＰｏｗｅｒＰＣコア（ＰＰＵ）１０５５をベースにしている。ＰＰＥ１０５０は、５１２ｋＢのレベル２（Ｌ２）キャッシュと、３２ｋＢのレベル１（Ｌ１）キャッシュとを備える。ＰＰＥ１０５０は、クロックサイクルごとに８つの単一位置（single position:SP）操作ができ、これは、３．２ＧＨｚで２５．６ギガフロップスに相当する。ＰＰＥ１０５０の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント１０１０Ａ〜Ｈのコントローラとして機能することにある。動作時に、ＰＰＥ１０５０はジョブキューを保持し、シナジスティックプロセッシングエレメント１０１０Ａ〜Ｈのジョブをスケジュールしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント１０１０Ａ〜Ｈはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、ＰＰＥ１０５０と同期することにある。
【００５９】
各シナジスティックプロセッシングエレメント（ＳＰＥ）１０１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）１０２０Ａ〜Ｈおよびメモリフローコントローラ（ＭＦＣ）１０４０Ａ〜Ｈをそれぞれ備え、ＭＦＣ１０４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ）１０４２Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）１０４４Ａ〜Ｈ、およびバスインタフェース（図示せず）をそれぞれ備える。各ＳＰＵ１０２０Ａ〜Ｈは３．２ＧＨｚでクロック供給され、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ１０３０Ａ〜Ｈを備えたＲＩＳＣプロセッサである。各ＳＰＥは、理論的には単精度処理性能で２５．６ギガフロップスを示す。１つのＳＰＵは、１クロックサイクルに、４つの単精度浮動小数点部、４つの３２ビット数、８つの１６ビット整数または１６の８ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。ＳＰＵ１０２０Ａ〜ＨはシステムメモリＸＤＲＡＭ９２６に直接アクセスしない。ＳＰＵ１０２０Ａ〜Ｈが作成した６４ビットアドレスがＭＦＣ１０４０Ａ〜Ｈに渡され、ＭＦＣ１０４０Ａ〜Ｈが、自身のＤＭＡコントローラ１０４２Ａ〜Ｈに対して、エレメント相互接続バス１０８０およびメモリコントローラ１０６０を介してメモリにアクセスするように指示する。
【００６０】
エレメント相互接続バス（ＥＩＢ）１０８０は、Ｃｅｌｌプロセッサ９２８内部の論理的には環状の通信バスであり、上記のプロセッサエレメント（すなわち、ＰＰＥ１０５０、メモリコントローラ１０６０、デュアルバスインタフェース１０７０Ａ，Ｂ、および８基のＳＰＥ１０１０Ａ〜Ｈ、合計１２個のパーティシパント）を接続している。パーティシパントは、１クロックサイクルにつき８バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各ＳＰＥ１０１０Ａ〜Ｈは、長い読み出しまたは書み込みのシーケンスをスケジュールするためのＤＭＡＣ１０４２Ａ〜Ｈを備える。ＥＩＢは、４つのチャネルを備え、そのうち２つは時計回り方向であり、残り２つは反時計回り方向である。したがって、１２のパーティシパントについて、２つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で６ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、１２のスロットの理論上のピーク瞬間ＥＩＢ帯域幅は、１クロックにつき９６Ｂとなる。これは、３．２ＧＨｚのクロック速度で３０７．２ＧＢ／ｓ（ギガバイト／秒）の理論上のピーク帯域幅に相当する。
【００６１】
メモリコントローラ１０６０は、ラムバス社（Rambus Incorporated）によって開発されたＸＤＲＡＭインタフェース１０６２を備える。メモリコントローラは、２５．６ＧＢ／ｓの理論上のピーク帯域幅で、Ｒａｍｂｕｓ  ＸＤＲＡＭ９２６とインタフェースする。
【００６２】
デュアルバスインタフェース１０７０Ａ，Ｂは、Ｒａｍｂｕｓ  ＦｌｅｘＩＯ（登録商標）システムインタフェース１０７２Ａ，Ｂを備える。インタフェースは、それぞれ８ビット幅の１２のチャネルに編成されており、このうち、５の経路が受信用、７つの経路が送信用である。これにより、Ｃｅｌｌプロセッサと、コントローラ１７０Ａを介してＩ／Ｏブリッジ７００間、およびコントローラ１７０Ｂを介してＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット２００間で、理論上のピーク帯域幅が６２．４ＧＢ／ｓ（送信３６．４ＧＢ／ｓ、受信２６ＧＢ／ｓ）が得られる。
【００６３】
Ｃｅｌｌプロセッサ９２８によってＲｅａｌｉｔｙ  Ｓｉｍｕｌａｔｏｒグラフィックユニット９３０に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。
【００６４】
実施形態において、現実世界のユーザをより正確に特定し、アバターまたはシーンのアクティビティを案内するための深度データがキャプチャされてもよい。オブジェクトは、人物が保持している物体であっても、人物の手であってもよい。本明細書では、「深度カメラ」および「三次元カメラ」との用語は、二次元のピクセル情報のほか、距離情報すなわち深度情報を取得することができる任意のカメラを指す。例えば、深度カメラは、制御された赤外線照明を利用して、距離情報を取得することができる。他の例示的な深度カメラに、立体カメラ対があり、これは２台の基準カメラを使用して距離情報を三角測量によって求める。同様に、「深度検知装置」との用語は、二次元のピクセル情報のほかに、距離情報を取得することができる任意のタイプの装置を指す。
【００６５】
三次元像の最近の進歩により、リアルタイムのインタラクティブなコンピュータアニメーションの可能性が広がっている。より詳細には、新しい「深度カメラ」は、通常の二次元のビデオ像に加えて、３番目の次元をキャプチャおよびマップする能力を提供することができる。新しい深度データによって、本発明の各種実施形態は、ほかのオブジェクトの背後など、ビデオシーン内のさまざまな位置にコンピュータが生成したオブジェクトを、リアルタイムで配置することが可能となる。
【００６６】
更に、本発明の各種実施形態は、リアルタイムのインタラクティブなゲーム体験をユーザに提供する。例えば、ユーザは、コンピュータが生成したさまざまなオブジェクトと、リアルタイムでインタラクトすることができる。更に、ユーザのゲーム体験をよりリアルにするために、ビデオシーンをリアルタイムで変更することができる。例えば、コンピュータが生成したコスチュームを、ユーザの服の上にはめ込んだり、コンピュータが生成した光源を利用して、ビデオシーン内に仮想の影を表示させることができる。このため、本発明の各種実施形態と深度カメラを使用して、ユーザは、自分のリビングルームでインタラクティブなゲーム環境を体験することができる。通常のカメラと同様に、深度カメラは、ビデオ画像を構成している複数のピクセルの二次元のデータをキャプチャする。これらの値は、ピクセルの色の値であり、通常は、各ピクセルの赤、緑、青（ＲＧＢ）の値である。このようにして、カメラによってキャプチャされたオブジェクトが、モニタに二次元オブジェクトとして表示される。
【００６７】
また、本発明の各種実施形態は、分散型の画像処理構成についても考察している。例えば、本発明は、１つの場所（ＣＰＵなど）や２つの場所（ＣＰＵと他の１つの素子など）で行われるキャプチャ画像および表示画像の処理に限定されない。例えば、入力画像処理は、処理を実行することができる関連のＣＰＵ、プロセッサまたは装置において容易に行うことができ、基本的には、画像処理の全てを、相互接続システム全体に分散させることができる。このため、本発明は、特定の画像処理ハードウェア回路および／またはソフトウェアに限定されない。また、本明細書に記載した実施形態は、一般的なハードウェア回路および／またはソフトウェアの特定の組合せに限定されず、処理コンポーネントによって実行される命令の特定のソースにも限定されない。
【００６８】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する、各種のコンピュータ実装操作を使用してもよい点を理解すべきである。これらの操作には、物理量の物理的な操作を必要とする操作が含まれる。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。更に、実行される操作は、生成、特定、決定または比較などと呼ばれることが多い。
【００６９】
上記した発明は、携帯式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【００７０】
本発明は、また、計算機可読メディア上の計算機可読コードとして実施されてもよい。計算機可読媒体は、電磁搬送波を含め、コンピュータシステムによって後から読取ることができるデータを記憶できるデータ記憶装置であれば、どのようなものに存在してもよい。計算機可読メディアの例には、ハードディスク、ネットワーク接続記憶装置（ＮＡＳ）、リードオンリーメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、計算機可読媒体は、計算機可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されてもよい。
【００７１】
上記に、本発明を明確に理解できるようにある程度具体的に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【符号の説明】
【００７２】
１００      アバター制御システム
１０２      ユーザ
１０４      仮想空間
１０６      画面
１０８      コントローラ
１１０      コンソール
１１２      カメラ
１１４      仮想空間
２００      グラフィックユニット
９００      システムユニット
９０２      ゲームコントローラ
９０４      リモコン
９０６      キーボード
９０８      マウス
９１０      ポータブルエンターテイメントデバイス
９１２      ビデオカメラ
９１４      マイクロフォンヘッドセット
【図１Ａ】
0005756198.tif 000002
【図１Ｂ】
0005756198.tif 000003
【図２】
0005756198.tif 000004
【図３】
0005756198.tif 000005
【図４Ａ】
0005756198.tif 000006
【図４Ｂ】
0005756198.tif 000007
【図５Ａ】
0005756198.tif 000008
【図５Ｂ】
0005756198.tif 000009
【図６】
0005756198.tif 000010
【図７】
0005756198.tif 000011
【図８】
0005756198.tif 000012
【図９】
0005756198.tif 000013
【図１０】
0005756198.tif 000014