インタラクティブにユーザ制御されたアバターアニメーション
コンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間においてアバターを制御するための方法が開示される。前記方法は、コンソールコントローラのアクティビティをキャプチャするステップと、入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされたアクティビティを処理するステップから始まる。前記方法の別のオペレーションは、前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの部分にマップするステップである。前記コンソールコントローラのアクティビティと前記ユーザの前記仮想空間表現である前記アバターとの間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にインタラクティブなマルチメディアエンタテインメントに関し、より詳細には、仮想空間におけるインタラクティブなユーザ制御およびユーザの操作表現に関する。
【背景技術】
【0002】
ビデオゲーム産業は、長年にわたって多くの変化を経験してきた。演算能力が拡大するにつれ、ビデオゲームの開発者も同様に、この演算能力の増大を利用するゲームソフトウェアを作成してきた。このために、ビデオゲーム開発者は、極めてリアルなゲーム体験を生み出すべく、高度な演算と数学を採用したゲームをコーディングしてきた。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ゲームプラットホームの例に、ソニープレイステーションまたはソニープレイステーション2(PS2)があり、これらはそれぞれ、ゲームコンソールの形で販売されている。周知のように、ゲームコンソールはモニタ(通常はテレビ)と接続されて、手持ち式のコントローラによってユーザとのインタラクションを可能にするように設計されている。ゲームコンソールは、CPU、処理量の多いグラフィック操作のためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル装置などの特化した処理ハードウェアと、その他の繋ぎとなるハードウェア即ちグルーハードウェア、ファームウェアおよびソフトウェアなどを備えて設計される。また、ゲームコンソールは、ゲームコンソールによるローカルプレイを行うためにゲームのコンパクトディスクを受け容れるための光ディスクトレイを備えて設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒に対話的にプレイすることができるオンラインゲームも可能である。
【0004】
ゲームが複雑であることがプレーヤの興味を引きつけていることから、ゲームおよびハードウェアのメーカは更なるインタラクティブ機能(インタラクティビティ)およびコンピュータプログラムを実現するために革新を続けてきている。コンピュータプログラムの中には、仮想世界を定義するものもある。仮想世界とは、ユーザが1つ以上のコンピュータプロセッサを介してやり取りしうるシミュレートされた環境である。ユーザは、アバターと呼ばれる表現の形でビデオ画面に表示されうる。アバターとシミュレートされた環境間のインタラクションの程度は、シミュレートされた物理現象、ユーザの間での情報の交換などのインタラクションを支配する1つ以上のコンピュータアプリケーションによって実装される。仮想世界のユーザ間のインタラクションの性質は、多くの場合、仮想世界を実装しているシステムの制約によって制限される。
【0005】
本発明の実施形態は、この状況においてなされたものである。
【課題を解決するための手段】
【0006】
本明細書に定義される実施形態は、コンピュータ制御されたシステムおよびプログラムが、インタフェース入力を、画面に表示される仮想世界のアニメーションキャラクタの特定の特徴にマップ可能にする。一実施形態では、コントローラ(例えば、ゲームコントローラ)の特定のボタンが、仮想世界のアニメーションキャラクタを定義するアバターの特定の身体部位にマッピングされる。一部の実施形態では、ボタンがアバターの特徴にマッピングされるだけでなく、位置、動き、トリガ、配置およびこれらの組み合わせもマッピングされ、この結果、現実世界のユーザが、画面に表現されるアバターを正確に制御できるようになる。
【0007】
下で更に詳しく説明するように、現実世界のユーザは、多くの場所および空間の仮想世界にわたってアバターを制御し、他のアバター(現実世界の他のユーザまたはコンピュータ制御されたボットによって制御されうる)と交流させたり、または、物、物体、環境とインタフェースさせたり、通信動作を起こさせることが可能である。通信動作は、視覚、音声またはこれらの組み合わせの形でアバターに転送される変換マッピングによって、コントローラによって制御されうる。したがって、以下の実施形態は、特定のコントローラ(例えば、ゲームコントローラまたは汎用コンピュータの制御用周辺機器)のボタン、動き(および組み合わせ)を、アバターの特定の身体部位または選択した身体部位、アバターの全身の動き、アバターの体の反応、アバターの顔の反応、アバターの感情などにマップすることによって可能な制御の例として、幅広く考察されるべきである。
【0008】
一実施形態では、コンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間においてアバターを制御するための方法が開示される。前記方法は、コンソールコントローラのアクティビティ(例えば活動)をキャプチャするステップと、入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされたアクティビティを処理するステップから始まる。前記方法の次のオペレーションは、前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの部分にマップするステップである。前記コンソールコントローラのアクティビティと前記ユーザの前記仮想空間表現である前記アバターとの間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【0009】
別の実施形態では、コンソールを使用してコンピュータネットワークを介してアバターをインタラクティブに制御するための方法が開示される。前記方法は、コンソールコントローラを提供するステップと、前記コンソールコントローラの第1の位置を決定するステップから始まる。前記方法は、前記コンソールコントローラの第2の位置への移動の検出を含む、前記コンソールコントローラへの入力をキャプチャするステップが続く。別のステップは、前記コンソールコントローラへの入力と、前記コンソールコントローラの前記第1の位置と前記第2の位置間の相対運動とを処理するステップである。前記方法の次のステップは、前記コンソールコントローラの前記第1の位置と前記第2の位置間の前記相対運動を、前記アバターのアニメーション表示される体の部分にマップするステップである。前記コンソールコントローラの相対運動と前記アバター間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【0010】
更に別の実施形態では、仮想環境内でアバターをインタラクティブに制御するためのコンピュータにより実装された方法が開示される。この実施形態では、コンピュータネットワーク内の少なくとも1つのコンピュータで実行されるコンピュータプログラムが前記アバターおよび前記仮想環境を生成する。前記方法は、前記コンピュータプログラムとインタフェースされているコントローラを提供するステップと、ユーザが前記アバターの選択された部分を制御できるように、コントローラ入力をマップするステップから始まる。前記方法は、コントローラ入力と、第1の位置と第2の位置間のコントローラの移動とをキャプチャするステップが続く。前記方法の次のステップは、前記キャプチャされたコントローラ入力およびコントローラの移動を処理し、前記仮想環境内で前記アバターの前記選択された部分をインタラクティブにアニメーション表示するために前記キャプチャされた移動を適用するステップである。コントローラの移動とアバターアニメーション間の相関を定義するために、前記コントローラ入力およびコントローラの移動のキャプチャおよび前記処理が連続的に実行される。
【0011】
本発明の他の態様および利点は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【0012】
本発明とその更なる利点とは、添付の図面を参照して以下の記載を読めば、よりよく理解できるであろう。
【図面の簡単な説明】
【0013】
【図1A】本発明の一実施形態によるアバター制御システム100を示す概略図である。
【図1B】本発明の一実施形態による、制御装置108とコンソール110間で動きおよび位置の検出を送信するさまざまな方法を示す概略図である。
【図2】本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの概略図である。
【図3】本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの概略図である。
【図4A】本発明の一実施形態による、アバターを変化させるコントローラの相対運動のモーションキャプチャの例示的な図である。
【図4B】本発明の一実施形態による、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示すフローチャートである。
【図5A】本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの例示的な図である。
【図5B】本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの別の例示的な図である。
【図6】本発明の一実施形態による、アバターの特定の身体部位を制御するためのコントローラボタンのマッピングを示す概略図である。
【図7】本発明の一実施形態による、アバターアニメーションの表示中のアバターのさまざまな形態での制御を示す概略図である。
【図8】本発明の一実施形態による、アバターの頭部のさまざまな動きの制御を示す概略図である。
【図9】本発明の一実施形態による、アバター制御システムを実装するためのコントローラを有するコンソールであるソニー(登録商標)プレイステーション3(登録商標)エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す概略図である。
【図10】本発明の一実施形態によるCellプロセッサ928の概略図である。
【発明を実施するための形態】
【0014】
実世界のユーザが、仮想世界内でアバターの動きおよびアクションを制御できるようにするための発明が開示される。本発明の一実施形態によれば、ユーザは、仮想世界とインタラクトしうる。本明細書で使用する「仮想世界」との用語は、実際のユーザが、1つ以上の表示装置を介して感知しうる、および/または1つ以上のユーザインタフェースを介してインタラクトしうる、1つ以上のプロセッサによってシミュレートされるインタラクションのルールを有する現実または架空の環境の表現を指す。本明細書で使用する「ユーザインタフェース」との用語は、ユーザが仮想世界との間で、入力を送信するか出力を受信することができる実際のデバイスを指す。仮想世界は、1つ以上のプロセッサモジュールによってシミュレートされうる。複数のプロセッサモジュールが、ネットワークを介して相互接続されうる。ユーザは、ネットワークを介して、プロセッサモジュールおよび他のユーザインタフェースデバイスと通信することができるユーザインタフェースデバイスを介して、仮想世界とインタラクトしうる。仮想世界の特定の特徴は、コンピュータモニタ、テレビジョンモニタまたは同様のディスプレイなどのグラフィックディスプレイに、グラフィカルな形式でユーザに提示されうる。仮想世界の他の特定の態様は、グラフィックディスプレイに関連しうるスピーカで可聴形式でユーザに提示されうる。
【0015】
仮想世界内では、ユーザはアバターによって表現されうる。仮想世界内の各アバターは、異なるユーザに一意に関連付けられうる。ユーザが互いを容易に特定できるように、ユーザの名前または仮名がアバターの隣に表示されうる。特定のユーザの仮想世界とのインタラクションは、アバターの1つ以上の対応するアクションによって表現されうる。異なるユーザ同士が、自身のアバターを通じて交流しうる。ユーザを表すアバターは、人物、動物または物体と同様の外観をとることができる。人物の形のアバターは、ユーザと性別が同じでも異なっていてもよい。アバターは、ユーザが、仮想世界のほかの物体と共にアバターを見ることができるように、ディスプレイに表示されうる。
【0016】
別の実施形態では、ディスプレイが、アバターを表示せずに、アバターの視点から世界を表示してもよい。仮想世界上のユーザの(またはアバターの)視点は、仮想カメラの視界とみなすことができる。本明細書で使用する「仮想カメラ」とは、仮想世界内の視点を指し、仮想世界内で三次元シーンの二次元画像を描画するために使用されうる。ユーザ同士が、各ロビーに関連するチャットチャネルによって、自身のアバターを通じて交流しうる。ユーザは、ユーザインタフェースを介して、ほかのユーザとのチャットのためのテキストを入力しうる。このテキストは、例えば、漫画形式の吹き出し(時に「チャット吹き出し」とも呼ばれる)の形式で、ユーザアバターの上またはその隣に表示されうる。このようなチャットは、時に「クイックチャット」と呼ばれる定型表現のチャットシステムを使用して、容易に行うことができる。クイックチャットでは、ユーザは、メニューから1つ以上のチャット表現を選択しうる。ほかの例については、(1)2007年3月1日出願の英国特許出願第0703974.6号「エンターテイメントデバイス(ENTERTAINMENT DEVICE)」;(2)2007年3月5日出願の英国特許出願第0704225.2号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」;(3)2007年3月5日出願の英国特許出願第0704235.1号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」;(4)2007年3月5日出願の英国特許出願第0704227.8号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」;ならびに(5)2007年3月5日出願の英国特許出願第0704246.8号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」も参照され、これらはそれぞれ参照によりここに援用される。
【0017】
以下の説明では、本発明を完全に理解できるように、具体的な詳細を数多く記載する。しかし、これらの詳細な内容の一部または全てを用いなくとも本発明を実施しうることは当業者にとって自明である。場合によっては、本発明を不必要にわかりにくくしないように、公知のプロセス操作については詳しく記載しない。
【0018】
図1Aは、本発明の一実施形態によるアバター制御システム100を示す概略図である。ユーザ102aが、コンソール110と通信することができるコントローラ108を操作する。一部の実施形態では、コンソール110は、データを保存および取得することができる記憶媒体を備えうる。記憶媒体の種類の例には、磁気記憶装置、光記憶装置、フラッシュメモリ、ランダムアクセスメモリおよびリードオンリーメモリなどがあるが、これらに限定されない。
【0019】
また、コンソール110は、イーサネットポートなどのネットワークインタフェースと、IEEE802.11に属する多数の無線ネットワーク規格を含むワイヤレスネットワーク機能も備えうる。コンソール110のネットワークインタフェースにより、ユーザ102aはリモートサーバに接続でき、リモートサーバは、コンソール110の他のユーザとのリアルタイムかつインタラクティブなゲームのプレイ、ソフトウェアアップデート、メディアサービス、およびソーシャルネットワーキングサービスへのアクセスを提供することができる。
【0020】
また、コンソール110は、中央処理装置およびグラフィック処理装置も備えうる。中央処理装置は、記憶媒体から取得された命令を処理するために使用され、グラフィック処理装置は、画面106に表示されるグラフィクスを処理し描画しうる。
【0021】
コンソール110に画面106が接続されている場合、コンソール106は、アバター102bを含む仮想空間104を表示することができる。一実施形態では、仮想空間104は、コンソール110のネットワークインタフェースを使用してアクセスされるリモートサーバに保持されうる。別の実施形態では、仮想空間104の一部がコンソール110に記憶され、ほかの一部がリモートサーバに記憶されてもよい。一部の実施形態では、仮想空間104は、画面106に表示される仮想三次元世界である。仮想空間104は、地形、天候、植物相、動物相、通貨および政治が存在する実世界の仮想表現であってもよい。実世界と同様に、仮想空間104には、都市、郊外および地方の地域が含まれうる。しかし、実世界とは異なり、仮想空間104では、物理学の法則が変わってもよい。上に挙げた仮想空間104の特徴は例示を意図したものであり、制限または限定することを意図したものではない。仮想空間として、シミュレーションおよびモデリングできる範囲は、実世界のあらゆるものを含んでもよく、人の想像力の限界のみによって制限される。
【0022】
ユーザは、アバター102bを使用して仮想空間114とインタラクトすることができる。アバター102bは、三次元で描画され、仮想空間104内でユーザ102aをリアルにまたは空想により表現したものとなるように、ユーザ102aによって構成されうる。ユーザ102aは、アバターの複数の形態を完全に制御することができ、これには、髪型、頭の形、目の形、目の色、鼻の形、鼻の大きさ、耳の大きさ、唇の形、唇の色、衣服、履物およびアクセサリなどがあるが、これらに限定されない。別の実施形態では、ユーザ102aは、自分の実際の顔写真を入力することができ、その写真が、三次元のワイヤフレームの頭部と体にマッピングされてもよい。
【0023】
図1Bは、本発明の一実施形態による、制御装置108とコンソール110間で動きおよび位置の検出を送信するさまざまな方法を示す。ユーザ102aは、コントローラ108を使用して仮想空間104内でアバター102bを制御することができる。一実施形態では、コントローラ108は、コンソール110に信号を無線で送信することができる。1台のコンソール110に複数のコントローラを使用することができるため、特定の周波数で無線信号を送信するか、またはブルートゥースなどの無線および通信プロトコルを使用することによって、個々のコントローラ間で干渉を行うことができる。コントローラ108は複数のボタンおよびジョイスティックを備え、これらは、画面メニューから項目を移動したり、選択するなどのさまざまな効果を実現するために、ユーザが操作することができる。同様に、コントローラ108のボタンおよびジョイスティックは、コンソール110によって実行されるコンピュータプログラムの制御形態においてマッピングされ得る。
【0024】
また、コントローラ108は、x軸、y軸およびz軸での並進および回転を検出することができるモーションセンサも備えうる。一実施形態では、モーションセンサは、コントローラ108の動き、加速および減速を検出することができる慣性センサである。別の実施形態では、ジャイロを使用して、コントローラ108の動きが全ての軸で検出されてもよい。コントローラ108は、処理のためにモーションセンサからコンソール110にデータを無線で送信することができ、この結果、画面にアクションが表示される。
【0025】
また、コントローラ108の視覚的検出を提供するのを支援するために、カメラ112も、コンソール110に接続されうる。一実施形態では、コントローラ108に配置されているカメラ112とLEDが、コンソール110に、コントローラ108の視覚的検出を提供する。LEDは、可視スペクトル内または可視スペクトル外の光を発することができ、アレイとしてコントローラに一体化されていてもよく、コントローラが、カメラ112から軸を外れているかどうかを判定するのを支援する。別の実施形態では、LEDが、コントローラ108にモジュールとして取り付けられてもよい。
【0026】
カメラ112は、LEDが発した光を受光するように構成され、コンソール110は、カメラ112に対するLEDの変化に基づいてコントローラ108の移動を計算することができる。更に、複数のコントローラが1台のコンソール110に関連している実施形態では、個々の点滅パターンまたは光の周波数を使用して、異なるコントローラのLED同士を区別することができる。
【0027】
別の実施形態では、カメラ112は、カメラ112とコントローラ108間の距離を決定するのを支援することができる深度カメラである。一部の実施形態では、深度カメラは、最大スキャン深度を有しうる。この状況では、深度値は、最大スキャン深度内の物体に対してのみ計算される。図1Bに示すように、カメラ112はZの最大スキャン深度を有する。コントローラ108は最大スキャン深度内に入っているため、カメラ112とコントローラ108間の距離を計算することができる。更に別の実施形態では、動きおよび位置の検出の精度を上げるために、慣性センサ、LEDの検出および深度カメラの組み合わせが使用されてもよい。一実施形態では、カメラ112が、コンソール110と一体化されてもよい。別の実施形態では、カメラ112が、コンソール110とは独立して配置されてもよい。
【0028】
図2は、本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの図を示す。ユーザ102aは、コントローラ108を持ち、腰を曲げて図示されている。ユーザ102aが腰を曲げると、コントローラ108は、最初の実質的に水平な位置から、図2に示す位置まで下にピッチ運動される。オペレーション120において、コントローラ108の下方ピッチ運動がモーションキャプチャシステムによってキャプチャされうる。オペレーション122において、コンソールによってコンピュータ解析が実行され、コントローラ108のモーションキャプチャが、アバター102bの特定の身体部位にマッピングされる。オペレーション124は、アバター102bのアニメーションを描画し、これがコンソールから画面106に出力されうる。
【0029】
図2に示すように、コントローラ108のモーションキャプチャはアバター102bの腰にマッピングされ得る。別の実施形態では、コントローラ108の動きのモーションキャプチャが、脚、腕、手および頭部などの、アバター102bの異なる身体部位にマッピングされてもよい。更に別の実施形態では、コントローラ108からのモーションキャプチャが、ほかの形式のユーザ入力と組み合わされて、アバター102bが変化されてもよい。例えば、ユーザ102aが発話すると、マイクロフォンとカメラシステムがモニタに使用され、この結果、アバター102bの口のアニメーションが表示されてもよい。また、ユーザ102aは、コントローラ108にあるボタンを使用して、アバター102bのリアクションおよび動きを変更およびカスタマイズすることもできる。
【0030】
図3は、本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの図を示す。この実施形態では、ユーザ102が、コントローラ108を、最初の実質的に水平な位置から、図3に示す位置まで下にピッチ運動して図示されている。図2と同様に、オペレーション120において、コントローラの下方ピッチ運動がモーションキャプチャシステムによってキャプチャされうる。オペレーション122は、モーションキャプチャのコンピュータ解析を実行し、オペレーション124は、モーションキャプチャをアバター102bにレンダリングしうる。
【0031】
図2と図3を比較すると、コントローラの相対運動のモーションキャプチャにより、アバター102bを変化させることができることが示される。図2では、ユーザ102が腰を曲げると、モーションキャプチャシステムがコントローラ108の位置の変化を検出しうる。図3では、ユーザ102aの手首の動きにより、コントローラ108が下にピッチ運動されうる。ユーザ102aが行う身体の動きは異なるが、コントローラ108の下方ピッチ運動が、コントローラによってキャプチャされ分析される相対動きである。このため、コントローラ108に同じ相対運動を生じさせるユーザ102aの異なる身体の動きが、同じアバター身体部位にマッピングされると、アバター102bに同様のアニメーションを生じさせる。
【0032】
図4Aは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動のモーションキャプチャの例示的な図である。この実施形態では、アバター102bはモーションキャプチャ前の表示を表し、アバター102b’は、モーションキャプチャビュー後の表示を表す。初期状態では、コントローラ108を持っているユーザ102aが、アバター102bによって表現されている。ユーザ102aが、コントローラ108を、ユーザ102aの右に90°ヨー運動させると、コントローラ108の相対運動のモーションキャプチャが分析され、アバター102bに適用される。この実施形態では、コントローラ108の動きがアバター102bの全身にマッピングされ、コントローラ108の90°のヨー運動によりアバター102b’が表示される。
【0033】
図4Bは、本発明の一実施形態による、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示すフローチャートである。上で説明したように、コントローラのさまざまな相対運動によって、アバターの異なる特徴を制御することができる。アバターのインタラクティビティおよび現実性を向上させるためには、ユーザが、自身のアバターの表情、手のジェスチャ、ならびに他の特徴、表現、および感情を制御できるようにすることが有利でありうる。このレベルのアバター制御を実現するために、コントローラの相対運動のモーションキャプチャ以外の補助的な入力が使用されてもよい。枚挙にいとまがないアバターの表現および感情のバリエーションを、選択、制御および操作するために、コントローラのボタンをマップすることができる。図5のフローチャートは、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示す。オペレーション500において、モーション検出システムが、コントローラの最初の位置を検出する。次に、コントローラの最初の位置に対するコントローラの動きを検出するオペレーション502が続く。オペレーション504において、コントローラのいずれかのボタンが選択されたかどうかが判定される。オペレーション506において、コントローラのボタンの選択とコントローラの相対運動のコンピュータ解析が行われる。次に、コントローラの動きおよびボタンの選択がアバターにマップされるオペレーション508が続く。
【0034】
図5Aは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの例示的な図である。ユーザ102aは、コントローラ108に下方ピッチ運動を行うことによって、動きAを行う。動きAのモーションキャプチャは、アバター102bの腰にマッピングされており、この結果、アバター102bが腰を曲げる。ユーザ102aは、動きBを行って、コントローラを実質的に水平な位置まで上にピッチ運動させ、コントローラをユーザの右にロール運動させながら、コントローラをユーザの右にヨー運動させる。この実施形態では、コントローラのヨー運動は、アバターが向いている方向にマッピングされている。このため、ユーザの右に対するヨー運動により、アバター102bが、正面を向くように回り、アバター102b'で表示される。上で説明したように、この実施形態では、コントローラ108のピッチ運動はアバターの腰の動きにマッピングされている。このため、動きBが行われると、コントローラ108の実質的に水平な位置への上方ピッチ運動により、アバターが、アバター102bの屈曲位置からアバター102b’の直立位置に動く。この実施形態では、コントローラ108のロール運動は、アバターが腰から体を傾ける動きにマッピングされており、コントローラのユーザの右へのロール運動により、アバターの右に体を傾けたアバター102b’が表示される。
【0035】
図5Bは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの別の例示的な図である。ユーザは、コントローラ108に下方ピッチ運動を行うことによって、動きAを行う。動きAのモーションキャプチャは、アバター102bの腰にマッピングされており、この結果、アバター102bが腰を曲げる。ユーザ102a’は、コントローラ108を実質的に水平位置に戻さずに、動きBを行う。ユーザ102a’は、動きBを行って、コントローラをユーザの左にロール運動させる。この実施形態では、コントローラをロール運動させると、アバター102bがアバターの左に傾く。このため、動きAと動きBの組み合わせにより、アバター102bは、前に腰を曲げ、アバターの左に傾く。コントローラ108は加減速を測定することができるセンサを備えているため、アバター102bのアニメーションは、ユーザ102a/a’によるコントローラ108の実際の動きと相関しうる。
【0036】
図6は、本発明の一実施形態による、アバターの特定の身体部位を制御するためのコントローラボタンのマッピングを示す。コントローラ108は、DU、DR、DDおよびDLで示す、デジタルコントロールパッドを含む各種ボタンを備えうる。また、コントローラは、LS1およびLS2を含む左肩ボタン108aも備えうる。同様に、右肩ボタン108bには、RS1およびRS2が含まれる。コントローラ108はアナログスティックALおよびARも備え、アナログスティックも押下時にボタンとして機能することができる。また、コントローラは、図6に□、△、○およびXで示す選択ボタンも備えうる。コントローラ108の説明に特定の名称と記号を使用したが、名称は例示であり、限定を意図したものではない。
【0037】
一実施形態では、コントローラ108の各種ボタンが、アバターの特定の身体部位の制御を有効にするためにマッピングされ得る。アバターのマッピング600に示すように、ARの押下により、ユーザがアバターの頭部を制御できるようになる。ユーザは、RS1またはRS2の押下により、アバターの右腕または右脚をそれぞれ制御することができる。同様に、LS1とLS2は、アバターの左腕と左脚を制御するためにそれぞれマッピングされる。ユーザは、アバターのさまざまな部位を制御することが可能であるほか、事前にレンダリングされているアバターアニメーションを開始および変更することができる。ユーザは、1つのボタンまたは複数のボタンを押すか、コントローラを1回または複数回移動させるか、またはボタン押下のシーケンスとコントローラの移動を組み合わせることにより、アバターアニメーションを開始することができる。
【0038】
ダンスアニメーション601に示すように、アバターアニメーションは、各種状態のシーケンスであると考えることができる。一実施形態では、状態1 602は、ユーザアバターが、休止位置またはダンスアニメーションの開始前の位置にいる。状態2 604は、ダンスアニメーションの開始直後のアバターの状態であると考えることができる。この実施形態では、アバターは左に傾いている。ダンスアニメーション601の最終状態の状態3 606では、ユーザのアバターが、右に傾き、右腕を挙げている。ダンスアニメーション601はアバターのさまざまな状態を示すことを意図したものであるため、各種状態間の遷移フレームは図示されていない。各種状態間でアバターのアニメーションをスムーズに表示するためにフレームが更に必要となりうることは、当業者にとって明らかであろう。ダンスアニメーション601は例示であり、限定を意図したものではないため、アバターアニメーションの別の実施形態では状態の数が増減してもよい。
【0039】
上で説明したように、コントローラ108は並進および回転の運動の加速および減速を3軸で検出することができる。これによりユーザは、コントローラの並進および回転の運動の実際の加速および減速などのユーザ入力に基づいて、アニメーションの方向を伴った動きおよびアバターのレートアニメーションをインタラクティブに制御できるようになる。更に、アバターの特定の身体部位の制御を有効にするコントローラボタンのマッピングにより、ユーザは、インタラクティブにアニメーション表示させるアバターの1つ以上の身体部位を指定できるようになる。このように、ユーザがアバターの特定の身体部位のアニメーションを直接制御するため、ユニークなアバターアニメーションが得られる。ユーザからの直接制御に反応するアバターアニメーションは、ほかのアバターアニメーション形式にあるような、事前にマッピング、事前に定義、および事前にレンダリングされているアバターアニメーションとは異なる。
【0040】
例えば、一部のシステムでは、ゲーム中でアニメーションキャラクタの制御が可能なものがあるが、一実施形態では、ここに開示の、コントローラの動き、コントローラ入力およびコントローラの位置をアバターの特定の部位にマッピングすることにより、制御するアバターの特徴、制御の程度、およびこのような制御のアニメーション表示するアバターへの適用を詳細に指定できるようになる。更に、アバターキャラクタは、特定の予め定められたゲーム、ゲームシーン、あるいは環境またはゲームレベルの経験に拘束されることがない。例えば、現実世界のユーザによって制御されるアバターは、訪れる場所、インタラクトする物、見る物および享受する体験を定めることが可能である。現実世界のユーザによって定義される、コントローラのアクティビティによって指示される入力の要求に応じて、仮想環境でのアバターの体験、動き、リアクションおよび体の移動が作り出される。
【0041】
図7は、本発明の一実施形態による、アバターアニメーションの表示中のアバターのさまざまな形態や特徴の制御を示す。状態700において、画面106でアバターのダンスのアニメーションの状態1 602を開始するために、コントローラ108によるボタン押下の組み合わせが使用されうる。状態700に示すように、コントローラ108は実質的に水平な位置にある。状態702において、ユーザは、アバターの左腕を制御するために、LS1を押したままにする。このため、ユーザがコントローラ108を上にピッチ運動させると、画面106でアバターの左腕が状態604aに示す位置に上がる。状態704に移り、ユーザはLS1を押し続けたまま、コントローラ108を実質的に水平の位置に下にピッチ運動させる。コントローラが下にピッチ運動されると、画面106で、アバターの左腕は状態606aに示す位置に降ろされる。
【0042】
別の実施形態では、ユーザが、アバターの選択された部位に対応するボタンを押してから離せば、ボタンを次に押すまで、アバターのその部位の制御を続けることができる。ユーザがアバターのどの部位を制御しているかを特定しやすいように、画面106でアバターの制御されている部分をハイライト表示することが可能である。このハイライト表示は、アバターを制御しているユーザに対してのみ表示され、仮想空間の他のユーザからは見えなくてもよい。
【0043】
図8は、本発明の一実施形態による、アバターの頭部のさまざまな動きの制御を示す。状態800は、右のアナログスティックボタン(AR)を押したまま、コントローラ108をヨー運動させると、アバターの頭部が回る様子を示す。このため、状態800でアバター制御を実施しているユーザは、言葉を使わずに「いいえ」を伝えるために、アバターの頭を横に振ることが可能である。逆に、状態802では、ユーザがARを押したままコントローラ108を上下にピッチ運動させると、言葉を使わずに「はい」を伝えるために、アバターの頭を上下に振ってうなずくことができる。状態804において、ARを押したままコントローラ108を左右にロール運動させると、アバターの頭が左右に傾く。ヨー、ピッチおよびロールから選択されるユーザ入力コントローラの組み合わせに基づいて、アバターの頭部が複合的な動きをできることが、当業者にとって明らかであろう。同様に、ヨー、ピッチおよびロールに基づく複合的な動きは、アバターアニメーションの他の特徴にもマップすることができる。
【0044】
図9は、本発明の一実施形態による、アバター制御システムを実装するためのコントローラを有するコンソールであるソニー(登録商標)プレイステーション3(登録商標)エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット900は、システムユニット900に接続可能なさまざまな周辺機器を備える。システムユニット900は、Cellプロセッサ928、Rambus(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット926、専用のビデオランダムアクセスメモリ(VRAM)ユニット932を有するReality Synthesizerグラフィックユニット930、およびI/Oブリッジ934を備える。また、システムユニット900は、I/Oブリッジ934を介してアクセス可能な、ディスク940aおよび着脱可能なスロットインハードディスクドライブ(HDD)936から読み出すためのブルーレイ(登録商標)ディスクBD−ROM(登録商標)光ディスクリーダ940も備える。任意選択で、システムユニット900は、同様にI/Oブリッジ934を介してアクセス可能な、コンパクトフラッシュメモリカード、メモリースティック(登録商標)メモリカードなどを読み出すためのメモリカードリーダ938も備える。
【0045】
また、I/Oブリッジ934は、6つのユニバーサルシリアルバス(USB)2.0ポート924、ギガビットイーサネットポート922、IEEE 802.11b/g無線ネットワーク(Wi−Fi)ポート920、および最大7つのブルートゥース接続に対応可能なブルートゥース(登録商標)無線リンクポート918にも接続している。
【0046】
動作時に、I/Oブリッジ934は、1つ以上のゲームコントローラ902からのデータを含む、全ての無線、USB、およびイーサネットのデータを処理する。例えば、ユーザがゲームをプレイ中に、I/Oブリッジ934はブルートゥースリンクを介してゲームコントローラ902からデータを受信して、これをCellプロセッサ928に転送し、Cellプロセッサ928が適宜ゲームの現在の状態を更新する。
【0047】
また、無線、USB、およびイーサネットの各ポートを介して、ゲームコントローラ902のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン904、キーボード906、マウス908、ソニープレイステーションポータブル(登録商標)エンターテイメントデバイスなどのポータブルエンターテイメントデバイス910、EyeToy(登録商標)ビデオカメラ912などのビデオカメラ、マイクロフォンヘッドセット914などがある。このため、これらの周辺機器は、原則としてシステムユニット900に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス910はWi−Fiアドホック接続を介して通信し、マイクロフォンヘッドセット914はブルートゥースリンクを介して通信しうる。
【0048】
これらのインタフェースを提供することにより、プレイステーション3デバイスは、デジタルビデオレコーダ(DVR)、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、VoIP電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【0049】
更に、USBポート924を介して旧式メモリカードリーダ916をシステムユニットに接続することができ、プレイステーション(登録商標)デバイスまたはプレイステーション2(登録商標)で用いられていたタイプのメモリカード948の読み出しが可能となる。
【0050】
本実施形態では、ゲームコントローラ902は、ブルートゥースリンクを介してシステムユニット900と無線通信するように動作可能である。しかし、その代わりに、ゲームコントローラ902が、USBポートに接続されてもよく、これにより、ゲームコントローラ902のバッテリに充電するための電力も供給する。ゲームコントローラは、1つ以上のアナログジョイスティックおよび従来の制御ボタンを有するほか、各軸の並進運動および回転に対応する6自由度の移動を感知する。したがって、従来のボタンまたはジョイスティックコマンドのほかに、またはこれらの代わりに、ゲームコントローラのユーザが行ったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーションポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーションポータブルデバイスの場合、追加のゲーム情報または制御情報(例えば制御命令またはライブの数)が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット(図示せず)、ライトガン(図示せず)、ハンドルおよびペダル(図示せず)、あるいは、即答クイズゲームのための1つまたは複数の大型のボタン(これも図示なし)などの特注品のコントローラなどがある。
【0051】
また、リモコン904も、ブルートゥースリンクを介してシステムユニット900と無線通信するように動作可能である。リモコン904は、ブルーレイディスクBD−ROMリーダ940の操作、およびディスクの内容の閲覧のために適した制御を備える。
【0052】
ブルーレイディスクBD−ROMリーダ940は、従来の記録済みCD、記録可能CD、およびいわゆるスーパーオーディオCDのほか、プレイステーションデバイスおよびプレイステーション2デバイスと互換のCD−ROMを読み出すように動作可能である。また、リーダ940は、従来の記録済みDVDおよび記録可能DVDのほか、プレイステーション2デバイスおよびプレイステーション3デバイスと互換のDVD−ROMを読み出すように動作可能である。更に、リーダ940は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション3デバイスと互換のBD−ROMを読み出すように動作可能である。
【0053】
システムユニット900は、Reality Synthesizerグラフィックユニット930を介して、プレイステーション3デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ944および1つ以上のスピーカ946を備えた表示および音声出力装置942(モニタまたはテレビ受像機など)に提供するように動作可能である。音声コネクタ950は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタ952は、コンポーネントビデオ、S−ビデオ、コンポジットビデオ、および1つ以上の高品位マルチメディアインタフェース(HDMI)の出力などを種々備えうる。したがって、ビデオ出力は、PALまたはNTSC、あるいは720p、1080iまたは1080pの高解像度などのフォーマットであってもよい。
【0054】
音声処理(生成、デコードなど)はCellプロセッサ928によって実行される。プレイステーション3デバイスのオペレーティングシステムは、ドルビー(登録商標)5.1サラウンドサウンド、ドルビー(登録商標)シアターサラウンド(DTS)、およびブルーレイ(登録商標)ディスクからの7.1サラウンドサウンドのデコードに対応している。
【0055】
本実施形態では、ビデオカメラ912は、1つの電荷結合素子(CCD)、LEDインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット900によるデコードのために、イントラ画像ベースのMPEG(Motion Picture Expert Group)標準などの適切なフォーマットで送信されるようになる。カメラのLEDインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット900から受け取ると、発光するように配置されている。ビデオカメラ912の実施形態は、USB、ブルートゥースまたはWi−Fiの通信ポートを介して、システムユニット900にさまざまな方法で接続しうる。ビデオカメラの実施形態は、1つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、CCDは、高解像度のビデオキャプチャに適した分解能を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。
【0056】
一般に、システムユニット900の通信ポートの1つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェースが、記載する本実施形態で必要とされうることを当業者は理解するであろう。
【0057】
図10は、本発明の一実施形態によるCellプロセッサ928の概略図である。Cellプロセッサ928は、メモリコントローラ1060およびデュアルバスインタフェースコントローラ1070A,Bを含む外部入出力構造、パワープロセッシングエレメント1050と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント(SPE)1010A〜Hと呼ばれる8基のコプロセッサ、エレメント相互接続バス1080と呼ばれる上記のコンポーネントに接続している環状データバス、の4つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション2デバイスのエモーションエンジンは6.2ギガフロップスであるのに対し、Cellプロセッサの総浮動小数点演算性能は、218ギガフロップスである。
【0058】
パワープロセッシングエレメント(PPE)1050は、3.2GHzの内部クロックで動作し、双方向同時マルチスレッディングPower970準拠のPowerPCコア(PPU)1055をベースにしている。PPE1050は、512kBのレベル2(L2)キャッシュと、32kBのレベル1(L1)キャッシュとを備える。PPE1050は、クロックサイクルごとに8つの単一位置(single position:SP)操作ができ、これは、3.2GHzで25.6ギガフロップスに相当する。PPE1050の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント1010A〜Hのコントローラとして機能することにある。動作時に、PPE1050はジョブキューを保持し、シナジスティックプロセッシングエレメント1010A〜Hのジョブをスケジュールしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント1010A〜Hはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、PPE1050と同期することにある。
【0059】
各シナジスティックプロセッシングエレメント(SPE)1010A〜Hは、シナジスティックプロセッシングユニット(SPU)1020A〜Hおよびメモリフローコントローラ(MFC)1040A〜Hをそれぞれ備え、MFC1040A〜Hは、ダイナミックメモリアクセスコントローラ(DMAC)1042A〜H、メモリ管理ユニット(MMU)1044A〜H、およびバスインタフェース(図示せず)をそれぞれ備える。各SPU1020A〜Hは3.2GHzでクロック供給され、原則として4GBまで拡張可能な256kBのローカルRAM1030A〜Hを備えたRISCプロセッサである。各SPEは、理論的には単精度処理性能で25.6ギガフロップスを示す。1つのSPUは、1クロックサイクルに、4つの単精度浮動小数点部、4つの32ビット数、8つの16ビット整数または16の8ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。SPU1020A〜HはシステムメモリXDRAM926に直接アクセスしない。SPU1020A〜Hが作成した64ビットアドレスがMFC1040A〜Hに渡され、MFC1040A〜Hが、自身のDMAコントローラ1042A〜Hに対して、エレメント相互接続バス1080およびメモリコントローラ1060を介してメモリにアクセスするように指示する。
【0060】
エレメント相互接続バス(EIB)1080は、Cellプロセッサ928内部の論理的には環状の通信バスであり、上記のプロセッサエレメント(すなわち、PPE1050、メモリコントローラ1060、デュアルバスインタフェース1070A,B、および8基のSPE1010A〜H、合計12個のパーティシパント)を接続している。パーティシパントは、1クロックサイクルにつき8バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各SPE1010A〜Hは、長い読み出しまたは書み込みのシーケンスをスケジュールするためのDMAC1042A〜Hを備える。EIBは、4つのチャネルを備え、そのうち2つは時計回り方向であり、残り2つは反時計回り方向である。したがって、12のパーティシパントについて、2つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で6ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、12のスロットの理論上のピーク瞬間EIB帯域幅は、1クロックにつき96Bとなる。これは、3.2GHzのクロック速度で307.2GB/s(ギガバイト/秒)の理論上のピーク帯域幅に相当する。
【0061】
メモリコントローラ1060は、ラムバス社(Rambus Incorporated)によって開発されたXDRAMインタフェース1062を備える。メモリコントローラは、25.6GB/sの理論上のピーク帯域幅で、Rambus XDRAM926とインタフェースする。
【0062】
デュアルバスインタフェース1070A,Bは、Rambus FlexIO(登録商標)システムインタフェース1072A,Bを備える。インタフェースは、それぞれ8ビット幅の12のチャネルに編成されており、このうち、5の経路が受信用、7つの経路が送信用である。これにより、Cellプロセッサと、コントローラ170Aを介してI/Oブリッジ700間、およびコントローラ170Bを介してReality Simulatorグラフィックユニット200間で、理論上のピーク帯域幅が62.4GB/s(送信36.4GB/s、受信26GB/s)が得られる。
【0063】
Cellプロセッサ928によってReality Simulatorグラフィックユニット930に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。
【0064】
実施形態において、現実世界のユーザをより正確に特定し、アバターまたはシーンのアクティビティを案内するための深度データがキャプチャされてもよい。オブジェクトは、人物が保持している物体であっても、人物の手であってもよい。本明細書では、「深度カメラ」および「三次元カメラ」との用語は、二次元のピクセル情報のほか、距離情報すなわち深度情報を取得することができる任意のカメラを指す。例えば、深度カメラは、制御された赤外線照明を利用して、距離情報を取得することができる。他の例示的な深度カメラに、立体カメラ対があり、これは2台の基準カメラを使用して距離情報を三角測量によって求める。同様に、「深度検知装置」との用語は、二次元のピクセル情報のほかに、距離情報を取得することができる任意のタイプの装置を指す。
【0065】
三次元像の最近の進歩により、リアルタイムのインタラクティブなコンピュータアニメーションの可能性が広がっている。より詳細には、新しい「深度カメラ」は、通常の二次元のビデオ像に加えて、3番目の次元をキャプチャおよびマップする能力を提供することができる。新しい深度データによって、本発明の各種実施形態は、ほかのオブジェクトの背後など、ビデオシーン内のさまざまな位置にコンピュータが生成したオブジェクトを、リアルタイムで配置することが可能となる。
【0066】
更に、本発明の各種実施形態は、リアルタイムのインタラクティブなゲーム体験をユーザに提供する。例えば、ユーザは、コンピュータが生成したさまざまなオブジェクトと、リアルタイムでインタラクトすることができる。更に、ユーザのゲーム体験をよりリアルにするために、ビデオシーンをリアルタイムで変更することができる。例えば、コンピュータが生成したコスチュームを、ユーザの服の上にはめ込んだり、コンピュータが生成した光源を利用して、ビデオシーン内に仮想の影を表示させることができる。このため、本発明の各種実施形態と深度カメラを使用して、ユーザは、自分のリビングルームでインタラクティブなゲーム環境を体験することができる。通常のカメラと同様に、深度カメラは、ビデオ画像を構成している複数のピクセルの二次元のデータをキャプチャする。これらの値は、ピクセルの色の値であり、通常は、各ピクセルの赤、緑、青(RGB)の値である。このようにして、カメラによってキャプチャされたオブジェクトが、モニタに二次元オブジェクトとして表示される。
【0067】
また、本発明の各種実施形態は、分散型の画像処理構成についても考察している。例えば、本発明は、1つの場所(CPUなど)や2つの場所(CPUと他の1つの素子など)で行われるキャプチャ画像および表示画像の処理に限定されない。例えば、入力画像処理は、処理を実行することができる関連のCPU、プロセッサまたは装置において容易に行うことができ、基本的には、画像処理の全てを、相互接続システム全体に分散させることができる。このため、本発明は、特定の画像処理ハードウェア回路および/またはソフトウェアに限定されない。また、本明細書に記載した実施形態は、一般的なハードウェア回路および/またはソフトウェアの特定の組合せに限定されず、処理コンポーネントによって実行される命令の特定のソースにも限定されない。
【0068】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する、各種のコンピュータ実装操作を使用してもよい点を理解すべきである。これらの操作には、物理量の物理的な操作を必要とする操作が含まれる。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。更に、実行される操作は、生成、特定、決定または比較などと呼ばれることが多い。
【0069】
上記した発明は、携帯式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【0070】
本発明は、また、計算機可読メディア上の計算機可読コードとして実施されてもよい。計算機可読媒体は、電磁搬送波を含め、コンピュータシステムによって後から読取ることができるデータを記憶できるデータ記憶装置であれば、どのようなものに存在してもよい。計算機可読メディアの例には、ハードディスク、ネットワーク接続記憶装置(NAS)、リードオンリーメモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、計算機可読媒体は、計算機可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されてもよい。
【0071】
上記に、本発明を明確に理解できるようにある程度具体的に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【技術分野】
【0001】
本発明は、一般にインタラクティブなマルチメディアエンタテインメントに関し、より詳細には、仮想空間におけるインタラクティブなユーザ制御およびユーザの操作表現に関する。
【背景技術】
【0002】
ビデオゲーム産業は、長年にわたって多くの変化を経験してきた。演算能力が拡大するにつれ、ビデオゲームの開発者も同様に、この演算能力の増大を利用するゲームソフトウェアを作成してきた。このために、ビデオゲーム開発者は、極めてリアルなゲーム体験を生み出すべく、高度な演算と数学を採用したゲームをコーディングしてきた。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ゲームプラットホームの例に、ソニープレイステーションまたはソニープレイステーション2(PS2)があり、これらはそれぞれ、ゲームコンソールの形で販売されている。周知のように、ゲームコンソールはモニタ(通常はテレビ)と接続されて、手持ち式のコントローラによってユーザとのインタラクションを可能にするように設計されている。ゲームコンソールは、CPU、処理量の多いグラフィック操作のためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル装置などの特化した処理ハードウェアと、その他の繋ぎとなるハードウェア即ちグルーハードウェア、ファームウェアおよびソフトウェアなどを備えて設計される。また、ゲームコンソールは、ゲームコンソールによるローカルプレイを行うためにゲームのコンパクトディスクを受け容れるための光ディスクトレイを備えて設計される。また、ユーザが、インターネット上で他のユーザと対戦して、または、他のユーザと一緒に対話的にプレイすることができるオンラインゲームも可能である。
【0004】
ゲームが複雑であることがプレーヤの興味を引きつけていることから、ゲームおよびハードウェアのメーカは更なるインタラクティブ機能(インタラクティビティ)およびコンピュータプログラムを実現するために革新を続けてきている。コンピュータプログラムの中には、仮想世界を定義するものもある。仮想世界とは、ユーザが1つ以上のコンピュータプロセッサを介してやり取りしうるシミュレートされた環境である。ユーザは、アバターと呼ばれる表現の形でビデオ画面に表示されうる。アバターとシミュレートされた環境間のインタラクションの程度は、シミュレートされた物理現象、ユーザの間での情報の交換などのインタラクションを支配する1つ以上のコンピュータアプリケーションによって実装される。仮想世界のユーザ間のインタラクションの性質は、多くの場合、仮想世界を実装しているシステムの制約によって制限される。
【0005】
本発明の実施形態は、この状況においてなされたものである。
【課題を解決するための手段】
【0006】
本明細書に定義される実施形態は、コンピュータ制御されたシステムおよびプログラムが、インタフェース入力を、画面に表示される仮想世界のアニメーションキャラクタの特定の特徴にマップ可能にする。一実施形態では、コントローラ(例えば、ゲームコントローラ)の特定のボタンが、仮想世界のアニメーションキャラクタを定義するアバターの特定の身体部位にマッピングされる。一部の実施形態では、ボタンがアバターの特徴にマッピングされるだけでなく、位置、動き、トリガ、配置およびこれらの組み合わせもマッピングされ、この結果、現実世界のユーザが、画面に表現されるアバターを正確に制御できるようになる。
【0007】
下で更に詳しく説明するように、現実世界のユーザは、多くの場所および空間の仮想世界にわたってアバターを制御し、他のアバター(現実世界の他のユーザまたはコンピュータ制御されたボットによって制御されうる)と交流させたり、または、物、物体、環境とインタフェースさせたり、通信動作を起こさせることが可能である。通信動作は、視覚、音声またはこれらの組み合わせの形でアバターに転送される変換マッピングによって、コントローラによって制御されうる。したがって、以下の実施形態は、特定のコントローラ(例えば、ゲームコントローラまたは汎用コンピュータの制御用周辺機器)のボタン、動き(および組み合わせ)を、アバターの特定の身体部位または選択した身体部位、アバターの全身の動き、アバターの体の反応、アバターの顔の反応、アバターの感情などにマップすることによって可能な制御の例として、幅広く考察されるべきである。
【0008】
一実施形態では、コンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間においてアバターを制御するための方法が開示される。前記方法は、コンソールコントローラのアクティビティ(例えば活動)をキャプチャするステップと、入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされたアクティビティを処理するステップから始まる。前記方法の次のオペレーションは、前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの部分にマップするステップである。前記コンソールコントローラのアクティビティと前記ユーザの前記仮想空間表現である前記アバターとの間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【0009】
別の実施形態では、コンソールを使用してコンピュータネットワークを介してアバターをインタラクティブに制御するための方法が開示される。前記方法は、コンソールコントローラを提供するステップと、前記コンソールコントローラの第1の位置を決定するステップから始まる。前記方法は、前記コンソールコントローラの第2の位置への移動の検出を含む、前記コンソールコントローラへの入力をキャプチャするステップが続く。別のステップは、前記コンソールコントローラへの入力と、前記コンソールコントローラの前記第1の位置と前記第2の位置間の相対運動とを処理するステップである。前記方法の次のステップは、前記コンソールコントローラの前記第1の位置と前記第2の位置間の前記相対運動を、前記アバターのアニメーション表示される体の部分にマップするステップである。前記コンソールコントローラの相対運動と前記アバター間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される。
【0010】
更に別の実施形態では、仮想環境内でアバターをインタラクティブに制御するためのコンピュータにより実装された方法が開示される。この実施形態では、コンピュータネットワーク内の少なくとも1つのコンピュータで実行されるコンピュータプログラムが前記アバターおよび前記仮想環境を生成する。前記方法は、前記コンピュータプログラムとインタフェースされているコントローラを提供するステップと、ユーザが前記アバターの選択された部分を制御できるように、コントローラ入力をマップするステップから始まる。前記方法は、コントローラ入力と、第1の位置と第2の位置間のコントローラの移動とをキャプチャするステップが続く。前記方法の次のステップは、前記キャプチャされたコントローラ入力およびコントローラの移動を処理し、前記仮想環境内で前記アバターの前記選択された部分をインタラクティブにアニメーション表示するために前記キャプチャされた移動を適用するステップである。コントローラの移動とアバターアニメーション間の相関を定義するために、前記コントローラ入力およびコントローラの移動のキャプチャおよび前記処理が連続的に実行される。
【0011】
本発明の他の態様および利点は、例示のために本発明の原理を示す添付の図面と併せて、以下の詳細な説明を読めば明らかとなるであろう。
【0012】
本発明とその更なる利点とは、添付の図面を参照して以下の記載を読めば、よりよく理解できるであろう。
【図面の簡単な説明】
【0013】
【図1A】本発明の一実施形態によるアバター制御システム100を示す概略図である。
【図1B】本発明の一実施形態による、制御装置108とコンソール110間で動きおよび位置の検出を送信するさまざまな方法を示す概略図である。
【図2】本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの概略図である。
【図3】本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの概略図である。
【図4A】本発明の一実施形態による、アバターを変化させるコントローラの相対運動のモーションキャプチャの例示的な図である。
【図4B】本発明の一実施形態による、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示すフローチャートである。
【図5A】本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの例示的な図である。
【図5B】本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの別の例示的な図である。
【図6】本発明の一実施形態による、アバターの特定の身体部位を制御するためのコントローラボタンのマッピングを示す概略図である。
【図7】本発明の一実施形態による、アバターアニメーションの表示中のアバターのさまざまな形態での制御を示す概略図である。
【図8】本発明の一実施形態による、アバターの頭部のさまざまな動きの制御を示す概略図である。
【図9】本発明の一実施形態による、アバター制御システムを実装するためのコントローラを有するコンソールであるソニー(登録商標)プレイステーション3(登録商標)エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す概略図である。
【図10】本発明の一実施形態によるCellプロセッサ928の概略図である。
【発明を実施するための形態】
【0014】
実世界のユーザが、仮想世界内でアバターの動きおよびアクションを制御できるようにするための発明が開示される。本発明の一実施形態によれば、ユーザは、仮想世界とインタラクトしうる。本明細書で使用する「仮想世界」との用語は、実際のユーザが、1つ以上の表示装置を介して感知しうる、および/または1つ以上のユーザインタフェースを介してインタラクトしうる、1つ以上のプロセッサによってシミュレートされるインタラクションのルールを有する現実または架空の環境の表現を指す。本明細書で使用する「ユーザインタフェース」との用語は、ユーザが仮想世界との間で、入力を送信するか出力を受信することができる実際のデバイスを指す。仮想世界は、1つ以上のプロセッサモジュールによってシミュレートされうる。複数のプロセッサモジュールが、ネットワークを介して相互接続されうる。ユーザは、ネットワークを介して、プロセッサモジュールおよび他のユーザインタフェースデバイスと通信することができるユーザインタフェースデバイスを介して、仮想世界とインタラクトしうる。仮想世界の特定の特徴は、コンピュータモニタ、テレビジョンモニタまたは同様のディスプレイなどのグラフィックディスプレイに、グラフィカルな形式でユーザに提示されうる。仮想世界の他の特定の態様は、グラフィックディスプレイに関連しうるスピーカで可聴形式でユーザに提示されうる。
【0015】
仮想世界内では、ユーザはアバターによって表現されうる。仮想世界内の各アバターは、異なるユーザに一意に関連付けられうる。ユーザが互いを容易に特定できるように、ユーザの名前または仮名がアバターの隣に表示されうる。特定のユーザの仮想世界とのインタラクションは、アバターの1つ以上の対応するアクションによって表現されうる。異なるユーザ同士が、自身のアバターを通じて交流しうる。ユーザを表すアバターは、人物、動物または物体と同様の外観をとることができる。人物の形のアバターは、ユーザと性別が同じでも異なっていてもよい。アバターは、ユーザが、仮想世界のほかの物体と共にアバターを見ることができるように、ディスプレイに表示されうる。
【0016】
別の実施形態では、ディスプレイが、アバターを表示せずに、アバターの視点から世界を表示してもよい。仮想世界上のユーザの(またはアバターの)視点は、仮想カメラの視界とみなすことができる。本明細書で使用する「仮想カメラ」とは、仮想世界内の視点を指し、仮想世界内で三次元シーンの二次元画像を描画するために使用されうる。ユーザ同士が、各ロビーに関連するチャットチャネルによって、自身のアバターを通じて交流しうる。ユーザは、ユーザインタフェースを介して、ほかのユーザとのチャットのためのテキストを入力しうる。このテキストは、例えば、漫画形式の吹き出し(時に「チャット吹き出し」とも呼ばれる)の形式で、ユーザアバターの上またはその隣に表示されうる。このようなチャットは、時に「クイックチャット」と呼ばれる定型表現のチャットシステムを使用して、容易に行うことができる。クイックチャットでは、ユーザは、メニューから1つ以上のチャット表現を選択しうる。ほかの例については、(1)2007年3月1日出願の英国特許出願第0703974.6号「エンターテイメントデバイス(ENTERTAINMENT DEVICE)」;(2)2007年3月5日出願の英国特許出願第0704225.2号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」;(3)2007年3月5日出願の英国特許出願第0704235.1号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」;(4)2007年3月5日出願の英国特許出願第0704227.8号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」;ならびに(5)2007年3月5日出願の英国特許出願第0704246.8号「エンターテイメントデバイスおよび方法(ENTERTAINMENT DEVICE AND METHOD)」も参照され、これらはそれぞれ参照によりここに援用される。
【0017】
以下の説明では、本発明を完全に理解できるように、具体的な詳細を数多く記載する。しかし、これらの詳細な内容の一部または全てを用いなくとも本発明を実施しうることは当業者にとって自明である。場合によっては、本発明を不必要にわかりにくくしないように、公知のプロセス操作については詳しく記載しない。
【0018】
図1Aは、本発明の一実施形態によるアバター制御システム100を示す概略図である。ユーザ102aが、コンソール110と通信することができるコントローラ108を操作する。一部の実施形態では、コンソール110は、データを保存および取得することができる記憶媒体を備えうる。記憶媒体の種類の例には、磁気記憶装置、光記憶装置、フラッシュメモリ、ランダムアクセスメモリおよびリードオンリーメモリなどがあるが、これらに限定されない。
【0019】
また、コンソール110は、イーサネットポートなどのネットワークインタフェースと、IEEE802.11に属する多数の無線ネットワーク規格を含むワイヤレスネットワーク機能も備えうる。コンソール110のネットワークインタフェースにより、ユーザ102aはリモートサーバに接続でき、リモートサーバは、コンソール110の他のユーザとのリアルタイムかつインタラクティブなゲームのプレイ、ソフトウェアアップデート、メディアサービス、およびソーシャルネットワーキングサービスへのアクセスを提供することができる。
【0020】
また、コンソール110は、中央処理装置およびグラフィック処理装置も備えうる。中央処理装置は、記憶媒体から取得された命令を処理するために使用され、グラフィック処理装置は、画面106に表示されるグラフィクスを処理し描画しうる。
【0021】
コンソール110に画面106が接続されている場合、コンソール106は、アバター102bを含む仮想空間104を表示することができる。一実施形態では、仮想空間104は、コンソール110のネットワークインタフェースを使用してアクセスされるリモートサーバに保持されうる。別の実施形態では、仮想空間104の一部がコンソール110に記憶され、ほかの一部がリモートサーバに記憶されてもよい。一部の実施形態では、仮想空間104は、画面106に表示される仮想三次元世界である。仮想空間104は、地形、天候、植物相、動物相、通貨および政治が存在する実世界の仮想表現であってもよい。実世界と同様に、仮想空間104には、都市、郊外および地方の地域が含まれうる。しかし、実世界とは異なり、仮想空間104では、物理学の法則が変わってもよい。上に挙げた仮想空間104の特徴は例示を意図したものであり、制限または限定することを意図したものではない。仮想空間として、シミュレーションおよびモデリングできる範囲は、実世界のあらゆるものを含んでもよく、人の想像力の限界のみによって制限される。
【0022】
ユーザは、アバター102bを使用して仮想空間114とインタラクトすることができる。アバター102bは、三次元で描画され、仮想空間104内でユーザ102aをリアルにまたは空想により表現したものとなるように、ユーザ102aによって構成されうる。ユーザ102aは、アバターの複数の形態を完全に制御することができ、これには、髪型、頭の形、目の形、目の色、鼻の形、鼻の大きさ、耳の大きさ、唇の形、唇の色、衣服、履物およびアクセサリなどがあるが、これらに限定されない。別の実施形態では、ユーザ102aは、自分の実際の顔写真を入力することができ、その写真が、三次元のワイヤフレームの頭部と体にマッピングされてもよい。
【0023】
図1Bは、本発明の一実施形態による、制御装置108とコンソール110間で動きおよび位置の検出を送信するさまざまな方法を示す。ユーザ102aは、コントローラ108を使用して仮想空間104内でアバター102bを制御することができる。一実施形態では、コントローラ108は、コンソール110に信号を無線で送信することができる。1台のコンソール110に複数のコントローラを使用することができるため、特定の周波数で無線信号を送信するか、またはブルートゥースなどの無線および通信プロトコルを使用することによって、個々のコントローラ間で干渉を行うことができる。コントローラ108は複数のボタンおよびジョイスティックを備え、これらは、画面メニューから項目を移動したり、選択するなどのさまざまな効果を実現するために、ユーザが操作することができる。同様に、コントローラ108のボタンおよびジョイスティックは、コンソール110によって実行されるコンピュータプログラムの制御形態においてマッピングされ得る。
【0024】
また、コントローラ108は、x軸、y軸およびz軸での並進および回転を検出することができるモーションセンサも備えうる。一実施形態では、モーションセンサは、コントローラ108の動き、加速および減速を検出することができる慣性センサである。別の実施形態では、ジャイロを使用して、コントローラ108の動きが全ての軸で検出されてもよい。コントローラ108は、処理のためにモーションセンサからコンソール110にデータを無線で送信することができ、この結果、画面にアクションが表示される。
【0025】
また、コントローラ108の視覚的検出を提供するのを支援するために、カメラ112も、コンソール110に接続されうる。一実施形態では、コントローラ108に配置されているカメラ112とLEDが、コンソール110に、コントローラ108の視覚的検出を提供する。LEDは、可視スペクトル内または可視スペクトル外の光を発することができ、アレイとしてコントローラに一体化されていてもよく、コントローラが、カメラ112から軸を外れているかどうかを判定するのを支援する。別の実施形態では、LEDが、コントローラ108にモジュールとして取り付けられてもよい。
【0026】
カメラ112は、LEDが発した光を受光するように構成され、コンソール110は、カメラ112に対するLEDの変化に基づいてコントローラ108の移動を計算することができる。更に、複数のコントローラが1台のコンソール110に関連している実施形態では、個々の点滅パターンまたは光の周波数を使用して、異なるコントローラのLED同士を区別することができる。
【0027】
別の実施形態では、カメラ112は、カメラ112とコントローラ108間の距離を決定するのを支援することができる深度カメラである。一部の実施形態では、深度カメラは、最大スキャン深度を有しうる。この状況では、深度値は、最大スキャン深度内の物体に対してのみ計算される。図1Bに示すように、カメラ112はZの最大スキャン深度を有する。コントローラ108は最大スキャン深度内に入っているため、カメラ112とコントローラ108間の距離を計算することができる。更に別の実施形態では、動きおよび位置の検出の精度を上げるために、慣性センサ、LEDの検出および深度カメラの組み合わせが使用されてもよい。一実施形態では、カメラ112が、コンソール110と一体化されてもよい。別の実施形態では、カメラ112が、コンソール110とは独立して配置されてもよい。
【0028】
図2は、本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの図を示す。ユーザ102aは、コントローラ108を持ち、腰を曲げて図示されている。ユーザ102aが腰を曲げると、コントローラ108は、最初の実質的に水平な位置から、図2に示す位置まで下にピッチ運動される。オペレーション120において、コントローラ108の下方ピッチ運動がモーションキャプチャシステムによってキャプチャされうる。オペレーション122において、コンソールによってコンピュータ解析が実行され、コントローラ108のモーションキャプチャが、アバター102bの特定の身体部位にマッピングされる。オペレーション124は、アバター102bのアニメーションを描画し、これがコンソールから画面106に出力されうる。
【0029】
図2に示すように、コントローラ108のモーションキャプチャはアバター102bの腰にマッピングされ得る。別の実施形態では、コントローラ108の動きのモーションキャプチャが、脚、腕、手および頭部などの、アバター102bの異なる身体部位にマッピングされてもよい。更に別の実施形態では、コントローラ108からのモーションキャプチャが、ほかの形式のユーザ入力と組み合わされて、アバター102bが変化されてもよい。例えば、ユーザ102aが発話すると、マイクロフォンとカメラシステムがモニタに使用され、この結果、アバター102bの口のアニメーションが表示されてもよい。また、ユーザ102aは、コントローラ108にあるボタンを使用して、アバター102bのリアクションおよび動きを変更およびカスタマイズすることもできる。
【0030】
図3は、本発明の一実施形態による、アバター制御システムとインタラクトしているユーザ102aの図を示す。この実施形態では、ユーザ102が、コントローラ108を、最初の実質的に水平な位置から、図3に示す位置まで下にピッチ運動して図示されている。図2と同様に、オペレーション120において、コントローラの下方ピッチ運動がモーションキャプチャシステムによってキャプチャされうる。オペレーション122は、モーションキャプチャのコンピュータ解析を実行し、オペレーション124は、モーションキャプチャをアバター102bにレンダリングしうる。
【0031】
図2と図3を比較すると、コントローラの相対運動のモーションキャプチャにより、アバター102bを変化させることができることが示される。図2では、ユーザ102が腰を曲げると、モーションキャプチャシステムがコントローラ108の位置の変化を検出しうる。図3では、ユーザ102aの手首の動きにより、コントローラ108が下にピッチ運動されうる。ユーザ102aが行う身体の動きは異なるが、コントローラ108の下方ピッチ運動が、コントローラによってキャプチャされ分析される相対動きである。このため、コントローラ108に同じ相対運動を生じさせるユーザ102aの異なる身体の動きが、同じアバター身体部位にマッピングされると、アバター102bに同様のアニメーションを生じさせる。
【0032】
図4Aは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動のモーションキャプチャの例示的な図である。この実施形態では、アバター102bはモーションキャプチャ前の表示を表し、アバター102b’は、モーションキャプチャビュー後の表示を表す。初期状態では、コントローラ108を持っているユーザ102aが、アバター102bによって表現されている。ユーザ102aが、コントローラ108を、ユーザ102aの右に90°ヨー運動させると、コントローラ108の相対運動のモーションキャプチャが分析され、アバター102bに適用される。この実施形態では、コントローラ108の動きがアバター102bの全身にマッピングされ、コントローラ108の90°のヨー運動によりアバター102b’が表示される。
【0033】
図4Bは、本発明の一実施形態による、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示すフローチャートである。上で説明したように、コントローラのさまざまな相対運動によって、アバターの異なる特徴を制御することができる。アバターのインタラクティビティおよび現実性を向上させるためには、ユーザが、自身のアバターの表情、手のジェスチャ、ならびに他の特徴、表現、および感情を制御できるようにすることが有利でありうる。このレベルのアバター制御を実現するために、コントローラの相対運動のモーションキャプチャ以外の補助的な入力が使用されてもよい。枚挙にいとまがないアバターの表現および感情のバリエーションを、選択、制御および操作するために、コントローラのボタンをマップすることができる。図5のフローチャートは、アバター制御システムを規定し、これを補うためにコントローラのボタンの選択を使用することができる方法を示す。オペレーション500において、モーション検出システムが、コントローラの最初の位置を検出する。次に、コントローラの最初の位置に対するコントローラの動きを検出するオペレーション502が続く。オペレーション504において、コントローラのいずれかのボタンが選択されたかどうかが判定される。オペレーション506において、コントローラのボタンの選択とコントローラの相対運動のコンピュータ解析が行われる。次に、コントローラの動きおよびボタンの選択がアバターにマップされるオペレーション508が続く。
【0034】
図5Aは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの例示的な図である。ユーザ102aは、コントローラ108に下方ピッチ運動を行うことによって、動きAを行う。動きAのモーションキャプチャは、アバター102bの腰にマッピングされており、この結果、アバター102bが腰を曲げる。ユーザ102aは、動きBを行って、コントローラを実質的に水平な位置まで上にピッチ運動させ、コントローラをユーザの右にロール運動させながら、コントローラをユーザの右にヨー運動させる。この実施形態では、コントローラのヨー運動は、アバターが向いている方向にマッピングされている。このため、ユーザの右に対するヨー運動により、アバター102bが、正面を向くように回り、アバター102b'で表示される。上で説明したように、この実施形態では、コントローラ108のピッチ運動はアバターの腰の動きにマッピングされている。このため、動きBが行われると、コントローラ108の実質的に水平な位置への上方ピッチ運動により、アバターが、アバター102bの屈曲位置からアバター102b’の直立位置に動く。この実施形態では、コントローラ108のロール運動は、アバターが腰から体を傾ける動きにマッピングされており、コントローラのユーザの右へのロール運動により、アバターの右に体を傾けたアバター102b’が表示される。
【0035】
図5Bは、本発明の一実施形態による、アバターを変化させるコントローラの相対運動の複数のモーションキャプチャの別の例示的な図である。ユーザは、コントローラ108に下方ピッチ運動を行うことによって、動きAを行う。動きAのモーションキャプチャは、アバター102bの腰にマッピングされており、この結果、アバター102bが腰を曲げる。ユーザ102a’は、コントローラ108を実質的に水平位置に戻さずに、動きBを行う。ユーザ102a’は、動きBを行って、コントローラをユーザの左にロール運動させる。この実施形態では、コントローラをロール運動させると、アバター102bがアバターの左に傾く。このため、動きAと動きBの組み合わせにより、アバター102bは、前に腰を曲げ、アバターの左に傾く。コントローラ108は加減速を測定することができるセンサを備えているため、アバター102bのアニメーションは、ユーザ102a/a’によるコントローラ108の実際の動きと相関しうる。
【0036】
図6は、本発明の一実施形態による、アバターの特定の身体部位を制御するためのコントローラボタンのマッピングを示す。コントローラ108は、DU、DR、DDおよびDLで示す、デジタルコントロールパッドを含む各種ボタンを備えうる。また、コントローラは、LS1およびLS2を含む左肩ボタン108aも備えうる。同様に、右肩ボタン108bには、RS1およびRS2が含まれる。コントローラ108はアナログスティックALおよびARも備え、アナログスティックも押下時にボタンとして機能することができる。また、コントローラは、図6に□、△、○およびXで示す選択ボタンも備えうる。コントローラ108の説明に特定の名称と記号を使用したが、名称は例示であり、限定を意図したものではない。
【0037】
一実施形態では、コントローラ108の各種ボタンが、アバターの特定の身体部位の制御を有効にするためにマッピングされ得る。アバターのマッピング600に示すように、ARの押下により、ユーザがアバターの頭部を制御できるようになる。ユーザは、RS1またはRS2の押下により、アバターの右腕または右脚をそれぞれ制御することができる。同様に、LS1とLS2は、アバターの左腕と左脚を制御するためにそれぞれマッピングされる。ユーザは、アバターのさまざまな部位を制御することが可能であるほか、事前にレンダリングされているアバターアニメーションを開始および変更することができる。ユーザは、1つのボタンまたは複数のボタンを押すか、コントローラを1回または複数回移動させるか、またはボタン押下のシーケンスとコントローラの移動を組み合わせることにより、アバターアニメーションを開始することができる。
【0038】
ダンスアニメーション601に示すように、アバターアニメーションは、各種状態のシーケンスであると考えることができる。一実施形態では、状態1 602は、ユーザアバターが、休止位置またはダンスアニメーションの開始前の位置にいる。状態2 604は、ダンスアニメーションの開始直後のアバターの状態であると考えることができる。この実施形態では、アバターは左に傾いている。ダンスアニメーション601の最終状態の状態3 606では、ユーザのアバターが、右に傾き、右腕を挙げている。ダンスアニメーション601はアバターのさまざまな状態を示すことを意図したものであるため、各種状態間の遷移フレームは図示されていない。各種状態間でアバターのアニメーションをスムーズに表示するためにフレームが更に必要となりうることは、当業者にとって明らかであろう。ダンスアニメーション601は例示であり、限定を意図したものではないため、アバターアニメーションの別の実施形態では状態の数が増減してもよい。
【0039】
上で説明したように、コントローラ108は並進および回転の運動の加速および減速を3軸で検出することができる。これによりユーザは、コントローラの並進および回転の運動の実際の加速および減速などのユーザ入力に基づいて、アニメーションの方向を伴った動きおよびアバターのレートアニメーションをインタラクティブに制御できるようになる。更に、アバターの特定の身体部位の制御を有効にするコントローラボタンのマッピングにより、ユーザは、インタラクティブにアニメーション表示させるアバターの1つ以上の身体部位を指定できるようになる。このように、ユーザがアバターの特定の身体部位のアニメーションを直接制御するため、ユニークなアバターアニメーションが得られる。ユーザからの直接制御に反応するアバターアニメーションは、ほかのアバターアニメーション形式にあるような、事前にマッピング、事前に定義、および事前にレンダリングされているアバターアニメーションとは異なる。
【0040】
例えば、一部のシステムでは、ゲーム中でアニメーションキャラクタの制御が可能なものがあるが、一実施形態では、ここに開示の、コントローラの動き、コントローラ入力およびコントローラの位置をアバターの特定の部位にマッピングすることにより、制御するアバターの特徴、制御の程度、およびこのような制御のアニメーション表示するアバターへの適用を詳細に指定できるようになる。更に、アバターキャラクタは、特定の予め定められたゲーム、ゲームシーン、あるいは環境またはゲームレベルの経験に拘束されることがない。例えば、現実世界のユーザによって制御されるアバターは、訪れる場所、インタラクトする物、見る物および享受する体験を定めることが可能である。現実世界のユーザによって定義される、コントローラのアクティビティによって指示される入力の要求に応じて、仮想環境でのアバターの体験、動き、リアクションおよび体の移動が作り出される。
【0041】
図7は、本発明の一実施形態による、アバターアニメーションの表示中のアバターのさまざまな形態や特徴の制御を示す。状態700において、画面106でアバターのダンスのアニメーションの状態1 602を開始するために、コントローラ108によるボタン押下の組み合わせが使用されうる。状態700に示すように、コントローラ108は実質的に水平な位置にある。状態702において、ユーザは、アバターの左腕を制御するために、LS1を押したままにする。このため、ユーザがコントローラ108を上にピッチ運動させると、画面106でアバターの左腕が状態604aに示す位置に上がる。状態704に移り、ユーザはLS1を押し続けたまま、コントローラ108を実質的に水平の位置に下にピッチ運動させる。コントローラが下にピッチ運動されると、画面106で、アバターの左腕は状態606aに示す位置に降ろされる。
【0042】
別の実施形態では、ユーザが、アバターの選択された部位に対応するボタンを押してから離せば、ボタンを次に押すまで、アバターのその部位の制御を続けることができる。ユーザがアバターのどの部位を制御しているかを特定しやすいように、画面106でアバターの制御されている部分をハイライト表示することが可能である。このハイライト表示は、アバターを制御しているユーザに対してのみ表示され、仮想空間の他のユーザからは見えなくてもよい。
【0043】
図8は、本発明の一実施形態による、アバターの頭部のさまざまな動きの制御を示す。状態800は、右のアナログスティックボタン(AR)を押したまま、コントローラ108をヨー運動させると、アバターの頭部が回る様子を示す。このため、状態800でアバター制御を実施しているユーザは、言葉を使わずに「いいえ」を伝えるために、アバターの頭を横に振ることが可能である。逆に、状態802では、ユーザがARを押したままコントローラ108を上下にピッチ運動させると、言葉を使わずに「はい」を伝えるために、アバターの頭を上下に振ってうなずくことができる。状態804において、ARを押したままコントローラ108を左右にロール運動させると、アバターの頭が左右に傾く。ヨー、ピッチおよびロールから選択されるユーザ入力コントローラの組み合わせに基づいて、アバターの頭部が複合的な動きをできることが、当業者にとって明らかであろう。同様に、ヨー、ピッチおよびロールに基づく複合的な動きは、アバターアニメーションの他の特徴にもマップすることができる。
【0044】
図9は、本発明の一実施形態による、アバター制御システムを実装するためのコントローラを有するコンソールであるソニー(登録商標)プレイステーション3(登録商標)エンターテイメントデバイスのシステムアーキテクチャ全体を模式的に示す。システムユニット900は、システムユニット900に接続可能なさまざまな周辺機器を備える。システムユニット900は、Cellプロセッサ928、Rambus(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット926、専用のビデオランダムアクセスメモリ(VRAM)ユニット932を有するReality Synthesizerグラフィックユニット930、およびI/Oブリッジ934を備える。また、システムユニット900は、I/Oブリッジ934を介してアクセス可能な、ディスク940aおよび着脱可能なスロットインハードディスクドライブ(HDD)936から読み出すためのブルーレイ(登録商標)ディスクBD−ROM(登録商標)光ディスクリーダ940も備える。任意選択で、システムユニット900は、同様にI/Oブリッジ934を介してアクセス可能な、コンパクトフラッシュメモリカード、メモリースティック(登録商標)メモリカードなどを読み出すためのメモリカードリーダ938も備える。
【0045】
また、I/Oブリッジ934は、6つのユニバーサルシリアルバス(USB)2.0ポート924、ギガビットイーサネットポート922、IEEE 802.11b/g無線ネットワーク(Wi−Fi)ポート920、および最大7つのブルートゥース接続に対応可能なブルートゥース(登録商標)無線リンクポート918にも接続している。
【0046】
動作時に、I/Oブリッジ934は、1つ以上のゲームコントローラ902からのデータを含む、全ての無線、USB、およびイーサネットのデータを処理する。例えば、ユーザがゲームをプレイ中に、I/Oブリッジ934はブルートゥースリンクを介してゲームコントローラ902からデータを受信して、これをCellプロセッサ928に転送し、Cellプロセッサ928が適宜ゲームの現在の状態を更新する。
【0047】
また、無線、USB、およびイーサネットの各ポートを介して、ゲームコントローラ902のほかに、他の周辺機器も接続することが可能となる。このような周辺機器には、例えば、リモコン904、キーボード906、マウス908、ソニープレイステーションポータブル(登録商標)エンターテイメントデバイスなどのポータブルエンターテイメントデバイス910、EyeToy(登録商標)ビデオカメラ912などのビデオカメラ、マイクロフォンヘッドセット914などがある。このため、これらの周辺機器は、原則としてシステムユニット900に無線で接続されうる。例えば、ポータブルエンターテイメントデバイス910はWi−Fiアドホック接続を介して通信し、マイクロフォンヘッドセット914はブルートゥースリンクを介して通信しうる。
【0048】
これらのインタフェースを提供することにより、プレイステーション3デバイスは、デジタルビデオレコーダ(DVR)、セットトップボックス、デジタルカメラ、ポータブルメディアプレーヤ、VoIP電話、携帯電話、プリンタ、およびスキャナなどの他の周辺機器と場合によっては互換となりうる。
【0049】
更に、USBポート924を介して旧式メモリカードリーダ916をシステムユニットに接続することができ、プレイステーション(登録商標)デバイスまたはプレイステーション2(登録商標)で用いられていたタイプのメモリカード948の読み出しが可能となる。
【0050】
本実施形態では、ゲームコントローラ902は、ブルートゥースリンクを介してシステムユニット900と無線通信するように動作可能である。しかし、その代わりに、ゲームコントローラ902が、USBポートに接続されてもよく、これにより、ゲームコントローラ902のバッテリに充電するための電力も供給する。ゲームコントローラは、1つ以上のアナログジョイスティックおよび従来の制御ボタンを有するほか、各軸の並進運動および回転に対応する6自由度の移動を感知する。したがって、従来のボタンまたはジョイスティックコマンドのほかに、またはこれらの代わりに、ゲームコントローラのユーザが行ったジェスチャおよび移動が、ゲームへの入力として変換されうる。任意選択で、プレイステーションポータブルデバイスなどの他の無線対応の周辺機器をコントローラとして使用することができる。プレイステーションポータブルデバイスの場合、追加のゲーム情報または制御情報(例えば制御命令またはライブの数)が、当該デバイスの画面に提示されうる。ほかの代替的または補助的な制御装置が使用されてもよく、これには、ダンスマット(図示せず)、ライトガン(図示せず)、ハンドルおよびペダル(図示せず)、あるいは、即答クイズゲームのための1つまたは複数の大型のボタン(これも図示なし)などの特注品のコントローラなどがある。
【0051】
また、リモコン904も、ブルートゥースリンクを介してシステムユニット900と無線通信するように動作可能である。リモコン904は、ブルーレイディスクBD−ROMリーダ940の操作、およびディスクの内容の閲覧のために適した制御を備える。
【0052】
ブルーレイディスクBD−ROMリーダ940は、従来の記録済みCD、記録可能CD、およびいわゆるスーパーオーディオCDのほか、プレイステーションデバイスおよびプレイステーション2デバイスと互換のCD−ROMを読み出すように動作可能である。また、リーダ940は、従来の記録済みDVDおよび記録可能DVDのほか、プレイステーション2デバイスおよびプレイステーション3デバイスと互換のDVD−ROMを読み出すように動作可能である。更に、リーダ940は、従来の記録済みブルーレイディスクおよび記録可能ブルーレイディスクのほか、プレイステーション3デバイスと互換のBD−ROMを読み出すように動作可能である。
【0053】
システムユニット900は、Reality Synthesizerグラフィックユニット930を介して、プレイステーション3デバイスによって生成またはデコードされた音声およびビデオを、音声コネクタおよびビデオコネクタ経由で、ディスプレイ944および1つ以上のスピーカ946を備えた表示および音声出力装置942(モニタまたはテレビ受像機など)に提供するように動作可能である。音声コネクタ950は、従来のアナログ出力およびデジタル出力を備える一方、ビデオコネクタ952は、コンポーネントビデオ、S−ビデオ、コンポジットビデオ、および1つ以上の高品位マルチメディアインタフェース(HDMI)の出力などを種々備えうる。したがって、ビデオ出力は、PALまたはNTSC、あるいは720p、1080iまたは1080pの高解像度などのフォーマットであってもよい。
【0054】
音声処理(生成、デコードなど)はCellプロセッサ928によって実行される。プレイステーション3デバイスのオペレーティングシステムは、ドルビー(登録商標)5.1サラウンドサウンド、ドルビー(登録商標)シアターサラウンド(DTS)、およびブルーレイ(登録商標)ディスクからの7.1サラウンドサウンドのデコードに対応している。
【0055】
本実施形態では、ビデオカメラ912は、1つの電荷結合素子(CCD)、LEDインジケータ、およびハードウェアベースのリアルタイムデータ圧縮およびエンコード装置を備え、圧縮ビデオデータが、システムユニット900によるデコードのために、イントラ画像ベースのMPEG(Motion Picture Expert Group)標準などの適切なフォーマットで送信されるようになる。カメラのLEDインジケータは、例えば不利な照明条件を示す適切な制御データをシステムユニット900から受け取ると、発光するように配置されている。ビデオカメラ912の実施形態は、USB、ブルートゥースまたはWi−Fiの通信ポートを介して、システムユニット900にさまざまな方法で接続しうる。ビデオカメラの実施形態は、1つ以上の関連するマイクロフォンを備えており、音声データを送信することができる。ビデオカメラの実施形態では、CCDは、高解像度のビデオキャプチャに適した分解能を備えうる。使用時に、ビデオカメラによってキャプチャされた画像が、例えば、ゲーム内に取り込まれるか、またはゲームの制御入力として解釈されうる。
【0056】
一般に、システムユニット900の通信ポートの1つを介して、ビデオカメラまたはリモコン等などの周辺機器とのデータ通信がうまく行われるように、デバイスドライバ等の適切なソフトウェアを提供する必要がある。デバイスドライバ技術は公知であり、ここで詳細に説明しないが、デバイスドライバまたは同様のソフトウェアインタフェースが、記載する本実施形態で必要とされうることを当業者は理解するであろう。
【0057】
図10は、本発明の一実施形態によるCellプロセッサ928の概略図である。Cellプロセッサ928は、メモリコントローラ1060およびデュアルバスインタフェースコントローラ1070A,Bを含む外部入出力構造、パワープロセッシングエレメント1050と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント(SPE)1010A〜Hと呼ばれる8基のコプロセッサ、エレメント相互接続バス1080と呼ばれる上記のコンポーネントに接続している環状データバス、の4つの基本コンポーネントを備えたアーキテクチャを有する。プレイステーション2デバイスのエモーションエンジンは6.2ギガフロップスであるのに対し、Cellプロセッサの総浮動小数点演算性能は、218ギガフロップスである。
【0058】
パワープロセッシングエレメント(PPE)1050は、3.2GHzの内部クロックで動作し、双方向同時マルチスレッディングPower970準拠のPowerPCコア(PPU)1055をベースにしている。PPE1050は、512kBのレベル2(L2)キャッシュと、32kBのレベル1(L1)キャッシュとを備える。PPE1050は、クロックサイクルごとに8つの単一位置(single position:SP)操作ができ、これは、3.2GHzで25.6ギガフロップスに相当する。PPE1050の主な役割は、演算作業負荷の大部分を処理するシナジスティックプロセッシングエレメント1010A〜Hのコントローラとして機能することにある。動作時に、PPE1050はジョブキューを保持し、シナジスティックプロセッシングエレメント1010A〜Hのジョブをスケジュールしており、その進捗を監視する。したがって、各シナジスティックプロセッシングエレメント1010A〜Hはカーネルを実行し、その役割は、ジョブを取り出して、これを実行し、PPE1050と同期することにある。
【0059】
各シナジスティックプロセッシングエレメント(SPE)1010A〜Hは、シナジスティックプロセッシングユニット(SPU)1020A〜Hおよびメモリフローコントローラ(MFC)1040A〜Hをそれぞれ備え、MFC1040A〜Hは、ダイナミックメモリアクセスコントローラ(DMAC)1042A〜H、メモリ管理ユニット(MMU)1044A〜H、およびバスインタフェース(図示せず)をそれぞれ備える。各SPU1020A〜Hは3.2GHzでクロック供給され、原則として4GBまで拡張可能な256kBのローカルRAM1030A〜Hを備えたRISCプロセッサである。各SPEは、理論的には単精度処理性能で25.6ギガフロップスを示す。1つのSPUは、1クロックサイクルに、4つの単精度浮動小数点部、4つの32ビット数、8つの16ビット整数または16の8ビット整数を処理することができる。同じクロックサイクルで、メモリ操作も実行することができる。SPU1020A〜HはシステムメモリXDRAM926に直接アクセスしない。SPU1020A〜Hが作成した64ビットアドレスがMFC1040A〜Hに渡され、MFC1040A〜Hが、自身のDMAコントローラ1042A〜Hに対して、エレメント相互接続バス1080およびメモリコントローラ1060を介してメモリにアクセスするように指示する。
【0060】
エレメント相互接続バス(EIB)1080は、Cellプロセッサ928内部の論理的には環状の通信バスであり、上記のプロセッサエレメント(すなわち、PPE1050、メモリコントローラ1060、デュアルバスインタフェース1070A,B、および8基のSPE1010A〜H、合計12個のパーティシパント)を接続している。パーティシパントは、1クロックサイクルにつき8バイトの速度で、バスに同時に読み出しおよび書き込みを行うことができる。上で説明したように、各SPE1010A〜Hは、長い読み出しまたは書み込みのシーケンスをスケジュールするためのDMAC1042A〜Hを備える。EIBは、4つのチャネルを備え、そのうち2つは時計回り方向であり、残り2つは反時計回り方向である。したがって、12のパーティシパントについて、2つのパーティシパント間のステップ方式の最長のデータフローは、適切な方向で6ステップとなる。このため、パーティシパント間でアービトレーションが行われて完全な利用度が実現されると、12のスロットの理論上のピーク瞬間EIB帯域幅は、1クロックにつき96Bとなる。これは、3.2GHzのクロック速度で307.2GB/s(ギガバイト/秒)の理論上のピーク帯域幅に相当する。
【0061】
メモリコントローラ1060は、ラムバス社(Rambus Incorporated)によって開発されたXDRAMインタフェース1062を備える。メモリコントローラは、25.6GB/sの理論上のピーク帯域幅で、Rambus XDRAM926とインタフェースする。
【0062】
デュアルバスインタフェース1070A,Bは、Rambus FlexIO(登録商標)システムインタフェース1072A,Bを備える。インタフェースは、それぞれ8ビット幅の12のチャネルに編成されており、このうち、5の経路が受信用、7つの経路が送信用である。これにより、Cellプロセッサと、コントローラ170Aを介してI/Oブリッジ700間、およびコントローラ170Bを介してReality Simulatorグラフィックユニット200間で、理論上のピーク帯域幅が62.4GB/s(送信36.4GB/s、受信26GB/s)が得られる。
【0063】
Cellプロセッサ928によってReality Simulatorグラフィックユニット930に送信されるデータには、通常、表示リストが含まれ、これは、頂点を描画したり、ポリゴンにテクスチャを貼り付けたり、照明条件を指定するなどための一連のコマンドである。
【0064】
実施形態において、現実世界のユーザをより正確に特定し、アバターまたはシーンのアクティビティを案内するための深度データがキャプチャされてもよい。オブジェクトは、人物が保持している物体であっても、人物の手であってもよい。本明細書では、「深度カメラ」および「三次元カメラ」との用語は、二次元のピクセル情報のほか、距離情報すなわち深度情報を取得することができる任意のカメラを指す。例えば、深度カメラは、制御された赤外線照明を利用して、距離情報を取得することができる。他の例示的な深度カメラに、立体カメラ対があり、これは2台の基準カメラを使用して距離情報を三角測量によって求める。同様に、「深度検知装置」との用語は、二次元のピクセル情報のほかに、距離情報を取得することができる任意のタイプの装置を指す。
【0065】
三次元像の最近の進歩により、リアルタイムのインタラクティブなコンピュータアニメーションの可能性が広がっている。より詳細には、新しい「深度カメラ」は、通常の二次元のビデオ像に加えて、3番目の次元をキャプチャおよびマップする能力を提供することができる。新しい深度データによって、本発明の各種実施形態は、ほかのオブジェクトの背後など、ビデオシーン内のさまざまな位置にコンピュータが生成したオブジェクトを、リアルタイムで配置することが可能となる。
【0066】
更に、本発明の各種実施形態は、リアルタイムのインタラクティブなゲーム体験をユーザに提供する。例えば、ユーザは、コンピュータが生成したさまざまなオブジェクトと、リアルタイムでインタラクトすることができる。更に、ユーザのゲーム体験をよりリアルにするために、ビデオシーンをリアルタイムで変更することができる。例えば、コンピュータが生成したコスチュームを、ユーザの服の上にはめ込んだり、コンピュータが生成した光源を利用して、ビデオシーン内に仮想の影を表示させることができる。このため、本発明の各種実施形態と深度カメラを使用して、ユーザは、自分のリビングルームでインタラクティブなゲーム環境を体験することができる。通常のカメラと同様に、深度カメラは、ビデオ画像を構成している複数のピクセルの二次元のデータをキャプチャする。これらの値は、ピクセルの色の値であり、通常は、各ピクセルの赤、緑、青(RGB)の値である。このようにして、カメラによってキャプチャされたオブジェクトが、モニタに二次元オブジェクトとして表示される。
【0067】
また、本発明の各種実施形態は、分散型の画像処理構成についても考察している。例えば、本発明は、1つの場所(CPUなど)や2つの場所(CPUと他の1つの素子など)で行われるキャプチャ画像および表示画像の処理に限定されない。例えば、入力画像処理は、処理を実行することができる関連のCPU、プロセッサまたは装置において容易に行うことができ、基本的には、画像処理の全てを、相互接続システム全体に分散させることができる。このため、本発明は、特定の画像処理ハードウェア回路および/またはソフトウェアに限定されない。また、本明細書に記載した実施形態は、一般的なハードウェア回路および/またはソフトウェアの特定の組合せに限定されず、処理コンポーネントによって実行される命令の特定のソースにも限定されない。
【0068】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに記憶されたデータを使用する、各種のコンピュータ実装操作を使用してもよい点を理解すべきである。これらの操作には、物理量の物理的な操作を必要とする操作が含まれる。この物理量は通常、記憶、転送、結合、比較などの操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。更に、実行される操作は、生成、特定、決定または比較などと呼ばれることが多い。
【0069】
上記した発明は、携帯式デバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家庭用電気製品、ミニコンピュータ、メインフレームコンピュータなど、他のコンピュータシステム構成によって実施されてもよい。また、本発明は、分散コンピューティング環境で実施されてもよく、このような環境では、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される。
【0070】
本発明は、また、計算機可読メディア上の計算機可読コードとして実施されてもよい。計算機可読媒体は、電磁搬送波を含め、コンピュータシステムによって後から読取ることができるデータを記憶できるデータ記憶装置であれば、どのようなものに存在してもよい。計算機可読メディアの例には、ハードディスク、ネットワーク接続記憶装置(NAS)、リードオンリーメモリ、ランダムアクセスメモリ、CD−ROM、CD−R、CD−RW、磁気テープおよび他の光学式データ記憶装置および非光学式データ記憶装置などがある。また、計算機可読媒体は、計算機可読コードが分散式に記憶されて、実行されるように、ネットワークに結合されたコンピュータシステムを介して分散されてもよい。
【0071】
上記に、本発明を明確に理解できるようにある程度具体的に記載したが、添付の特許請求の範囲内で変更例または変形例を実施できることは明らかである。したがって、本実施形態は例示的なものであり、制限するものではなく、本発明は本明細書に記載されている詳細な事項に限定されず、添付の特許請求の範囲およびその均等物の範囲内で変更されてもよい。
【特許請求の範囲】
【請求項1】
コンピュータプログラムを実行しているコンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間においてアバターを制御するための方法であって、
コンソールコントローラのアクティビティをキャプチャするステップと、
入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされたアクティビティを処理するステップと、
前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの部分にマップするステップと、を有し、
前記コンソールコントローラのアクティビティと前記ユーザの前記仮想空間表現である前記アバターとの間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される方法。
【請求項2】
前記コンソールコントローラのアクティビティにはコントローラボタンの選択が含まれる請求項1に記載の方法。
【請求項3】
前記コンソールコントローラのアクティビティには、三次元空間での前記コンソールコントローラの回転および並進の検出が含まれる請求項1に記載の方法。
【請求項4】
入力パラメータには、前記コンソールコントローラの前記回転および並進の速度の変化率が含まれる請求項3に記載の方法。
【請求項5】
前記アバターの部分はアニメーション表示される特定の身体部位を含む請求項1に記載の方法。
【請求項6】
前記入力パラメータのうちの選択されたパラメータの、前記アバターの部分へのマップは、前記コンソールコントローラの前記回転および並進の速度の加速および減速に比例して行われる請求項4に記載の方法。
【請求項7】
前記入力パラメータは、コントローラボタンの選択を含み、前記コントローラボタンは、選択時に、前記アバターアニメーションの異なる部分のユーザ制御を開始するようにマップされる請求項1に記載の方法。
【請求項8】
前記アバターアニメーションは、前記コントローラの3軸の並進および回転の運動、ユーザによって制御される加速および減速に応答し、かつこれに比例する請求項7に記載の方法。
【請求項9】
コンソールを使用してコンピュータネットワークを介してアバターをインタラクティブに制御するための方法であって、
コンソールコントローラを提供するステップと、
前記コンソールコントローラの第1の位置を決定するステップと、
前記コンソールコントローラの第2の位置への移動の検出を含む、前記コンソールコントローラへの入力をキャプチャするステップと、
前記コンソールコントローラへの入力と、前記コンソールコントローラの前記第1の位置と前記第2の位置間の相対運動とを処理するステップと、
前記コンソールコントローラの前記第1の位置と前記第2の位置間の前記相対運動を、前記アバターのアニメーション表示される体の部分にマップするステップと、を有し、
前記コンソールコントローラの相対運動と前記アバター間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される方法。
【請求項10】
前記コントローラへの入力にはコンソールボタンの選択が含まれる請求項9に記載の方法。
【請求項11】
前記コンソールへの入力により、前記コンソールコントローラの相対運動の前記マッピングが、前記アバターの異なる部分に変更される請求項10に記載の方法。
【請求項12】
前記コンソールコントローラの移動は、3軸の並進および回転の運動を含む前記3軸で検出可能である請求項9に記載の方法。
【請求項13】
前記コンソールコントローラの加速が、前記コンソールコントローラの前記入力のキャプチャおよび前記移動の検出の一部として含まれる請求項9に記載の方法。
【請求項14】
前記アバターの部分はアニメーション表示される特定の身体部位を含む請求項9に記載の方法。
【請求項15】
前記アバターは、仮想環境内でのユーザの仮想表現であり、前記アバターのための前記仮想環境は、前記コンピュータネットワークを介してアクセスされ、前記コンソールによってレンダリングされる請求項9に記載の方法。
【請求項16】
コンピュータネットワーク内の少なくとも1つのコンピュータで実行されるコンピュータプログラムによって生成されるアバターおよび仮想環境について、前記仮想環境内で前記アバターをインタラクティブに制御するためのコンピュータにより実装された方法であって、
前記コンピュータプログラムとインタフェースされているコントローラを提供するステップと、
ユーザが前記アバターの選択された部分を制御できるように、コントローラ入力をマップするステップと、
コントローラ入力と、第1の位置と第2の位置間のコントローラの移動とをキャプチャするステップと、
前記キャプチャされたコントローラ入力およびコントローラの移動を処理し、前記仮想環境内で前記アバターの前記選択された部分をインタラクティブにアニメーション表示するために前記キャプチャされた移動を適用するステップと、を有し、
コントローラの移動とアバターアニメーション間の相関を定義するために、前記コントローラ入力およびコントローラの移動のキャプチャおよび前記処理が連続的に実行される方法。
【請求項17】
前記コントローラの移動は、3軸の並進および回転の運動を含む3軸全てで検出可能である請求項16に記載の方法。
【請求項18】
コントローラの移動のキャプチャは、前記コントローラの回転および並進運動の前記コントローラの加速および減速の6軸のキャプチャを含む請求項16に記載の方法。
【請求項19】
前記コントローラ入力は、コントローラボタンの選択を含み、前記コントローラボタンは、選択時に、前記アバターアニメーションの異なる部分のユーザ制御を開始するためにマップされる請求項16に記載の方法。
【請求項20】
前記アバターの前記選択された部分のアニメーションは、前記コントローラの3軸の並進および回転の運動の、ユーザによって制御される加速および減速に応答し、かつこれに比例する請求項19に記載の方法。
【請求項1】
コンピュータプログラムを実行しているコンソールを使用してコンピュータネットワークを介してアクセスされる仮想空間においてアバターを制御するための方法であって、
コンソールコントローラのアクティビティをキャプチャするステップと、
入力パラメータを特定するために前記コンソールコントローラの前記キャプチャされたアクティビティを処理するステップと、
前記入力パラメータのうちの選択されたパラメータを、ユーザの仮想空間表現である前記アバターの部分にマップするステップと、を有し、
前記コンソールコントローラのアクティビティと前記ユーザの前記仮想空間表現である前記アバターとの間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される方法。
【請求項2】
前記コンソールコントローラのアクティビティにはコントローラボタンの選択が含まれる請求項1に記載の方法。
【請求項3】
前記コンソールコントローラのアクティビティには、三次元空間での前記コンソールコントローラの回転および並進の検出が含まれる請求項1に記載の方法。
【請求項4】
入力パラメータには、前記コンソールコントローラの前記回転および並進の速度の変化率が含まれる請求項3に記載の方法。
【請求項5】
前記アバターの部分はアニメーション表示される特定の身体部位を含む請求項1に記載の方法。
【請求項6】
前記入力パラメータのうちの選択されたパラメータの、前記アバターの部分へのマップは、前記コンソールコントローラの前記回転および並進の速度の加速および減速に比例して行われる請求項4に記載の方法。
【請求項7】
前記入力パラメータは、コントローラボタンの選択を含み、前記コントローラボタンは、選択時に、前記アバターアニメーションの異なる部分のユーザ制御を開始するようにマップされる請求項1に記載の方法。
【請求項8】
前記アバターアニメーションは、前記コントローラの3軸の並進および回転の運動、ユーザによって制御される加速および減速に応答し、かつこれに比例する請求項7に記載の方法。
【請求項9】
コンソールを使用してコンピュータネットワークを介してアバターをインタラクティブに制御するための方法であって、
コンソールコントローラを提供するステップと、
前記コンソールコントローラの第1の位置を決定するステップと、
前記コンソールコントローラの第2の位置への移動の検出を含む、前記コンソールコントローラへの入力をキャプチャするステップと、
前記コンソールコントローラへの入力と、前記コンソールコントローラの前記第1の位置と前記第2の位置間の相対運動とを処理するステップと、
前記コンソールコントローラの前記第1の位置と前記第2の位置間の前記相対運動を、前記アバターのアニメーション表示される体の部分にマップするステップと、を有し、
前記コンソールコントローラの相対運動と前記アバター間の相関を定義するために、前記キャプチャ、前記処理および前記マッピングが連続的に実行される方法。
【請求項10】
前記コントローラへの入力にはコンソールボタンの選択が含まれる請求項9に記載の方法。
【請求項11】
前記コンソールへの入力により、前記コンソールコントローラの相対運動の前記マッピングが、前記アバターの異なる部分に変更される請求項10に記載の方法。
【請求項12】
前記コンソールコントローラの移動は、3軸の並進および回転の運動を含む前記3軸で検出可能である請求項9に記載の方法。
【請求項13】
前記コンソールコントローラの加速が、前記コンソールコントローラの前記入力のキャプチャおよび前記移動の検出の一部として含まれる請求項9に記載の方法。
【請求項14】
前記アバターの部分はアニメーション表示される特定の身体部位を含む請求項9に記載の方法。
【請求項15】
前記アバターは、仮想環境内でのユーザの仮想表現であり、前記アバターのための前記仮想環境は、前記コンピュータネットワークを介してアクセスされ、前記コンソールによってレンダリングされる請求項9に記載の方法。
【請求項16】
コンピュータネットワーク内の少なくとも1つのコンピュータで実行されるコンピュータプログラムによって生成されるアバターおよび仮想環境について、前記仮想環境内で前記アバターをインタラクティブに制御するためのコンピュータにより実装された方法であって、
前記コンピュータプログラムとインタフェースされているコントローラを提供するステップと、
ユーザが前記アバターの選択された部分を制御できるように、コントローラ入力をマップするステップと、
コントローラ入力と、第1の位置と第2の位置間のコントローラの移動とをキャプチャするステップと、
前記キャプチャされたコントローラ入力およびコントローラの移動を処理し、前記仮想環境内で前記アバターの前記選択された部分をインタラクティブにアニメーション表示するために前記キャプチャされた移動を適用するステップと、を有し、
コントローラの移動とアバターアニメーション間の相関を定義するために、前記コントローラ入力およびコントローラの移動のキャプチャおよび前記処理が連続的に実行される方法。
【請求項17】
前記コントローラの移動は、3軸の並進および回転の運動を含む3軸全てで検出可能である請求項16に記載の方法。
【請求項18】
コントローラの移動のキャプチャは、前記コントローラの回転および並進運動の前記コントローラの加速および減速の6軸のキャプチャを含む請求項16に記載の方法。
【請求項19】
前記コントローラ入力は、コントローラボタンの選択を含み、前記コントローラボタンは、選択時に、前記アバターアニメーションの異なる部分のユーザ制御を開始するためにマップされる請求項16に記載の方法。
【請求項20】
前記アバターの前記選択された部分のアニメーションは、前記コントローラの3軸の並進および回転の運動の、ユーザによって制御される加速および減速に応答し、かつこれに比例する請求項19に記載の方法。
【図1A】
【図1B】
【図2】
【図3】
【図4A】
【図4B】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【図1B】
【図2】
【図3】
【図4A】
【図4B】
【図5A】
【図5B】
【図6】
【図7】
【図8】
【図9】
【図10】
【公表番号】特表2010−535364(P2010−535364A)
【公表日】平成22年11月18日(2010.11.18)
【国際特許分類】
【出願番号】特願2009−551727(P2009−551727)
【出願日】平成20年2月27日(2008.2.27)
【国際出願番号】PCT/US2008/002644
【国際公開番号】WO2008/106197
【国際公開日】平成20年9月4日(2008.9.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(500551079)ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー (95)
【出願人】(506379415)ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド (8)
【Fターム(参考)】
【公表日】平成22年11月18日(2010.11.18)
【国際特許分類】
【出願日】平成20年2月27日(2008.2.27)
【国際出願番号】PCT/US2008/002644
【国際公開番号】WO2008/106197
【国際公開日】平成20年9月4日(2008.9.4)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(500551079)ソニー コンピュータ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー (95)
【出願人】(506379415)ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド (8)
【Fターム(参考)】
[ Back to top ]