ゲームプレイ中にコンピュータ生成アバターに感情的特徴を与える方法
ゲームプレイ中またはゲームプレイに関連して言語的および非言語的コミュニケーションを改善し高めるための実施形態が記載される。このシステムにより、ゲームプレイでのイベントに対する現実世界での反応を基に現実世界のプレーヤを表すアバターを修正することで、言語的および非言語的コミュニケーションが改善され高められる。この効果は、アバターの特定部位に組み込み可能なビデオピクセルパッチなどの多くの形態で表すことができる。ビデオピクセルパッチは、動いているビデオフレーム内に組み込まれるように適用されることが好ましく、その結果、リアルタイムな一体感を実質的に出せるようになる。
【発明の詳細な説明】
【技術分野】
【0001】
ビデオゲーム業界は、長年にわたり多くの変化を遂げてきた。コンピュータの処理能力の向上とともに、ビデオゲームの開発者らも、このような処理能力の高度化を利用したゲームソフトウェアを作製してきた。このため、ビデオゲームの開発者らは、非常にリアルなゲーム体験となるように高度な演算や数値演算を組み込んだゲームをコーディングしてきた。
【背景技術】
【0002】
このようなゲームのプラットフォームの例には、ソニー(Sony)社製のプレイステーション(Playsation)またはソニー社製のプレイステーション2(PS2)があり、これらは共にゲームコンソールの形態で販売されている。周知のように、ゲームコンソールは、モニタ(通常、テレビ受像機)に接続して、ハンドヘルドコントローラを介してユーザインタラクションが可能になるように設計される。ゲームコンソールは、CPU,重いグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル演算ユニット、およびグルーハードウェアと呼ばれるその他のハードウェア、ファームウェア、およびソフトウェアを含む専用の処理ハードウェアで設計されている。ゲームコンソールは、ゲームコンソールを介してローカルでプレイするためのゲームコンパクトディスクを受け入れるための光ディスクトレイを備えるようにさらに設計される。また、ユーザがインターネット上で他のユーザとインタラクティブな、つまり対話型の対戦プレイまたは協力プレイができるオンラインゲームも可能である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ゲームを複雑にしてプレーヤの興味を引き付けるために、ゲームのソフトウェアおよびハードウェアの製造業者らは、新しい手法を取り入れてさらなるインタラクティビティ、つまり対話性、を高めようとしてきた。しかしながら、実際、現在に至るまでユーザがゲームと対話する、即ちインタラクションを行うという方法に劇的な変化は訪れていない。通常、ユーザは今でもハンドヘルドコントローラを使ってコンピュータゲームをし、またはマウスポインティングデバイスを使ってプログラムとのインタラクションを行っている。
【0004】
前述の内容を鑑みて、ゲームプレイでより高度なユーザの対話性を実現する方法およびシステムが求められている。
【課題を解決するための手段】
【0005】
本発明は、言語的および非言語的コミュニケーションを改善し高めるために記載される。このシステムにより、ゲームプレイでのイベントに対する現実世界での反応を基に現実世界のプレーヤを表すアバターを修正することで、言語的および非言語的コミュニケーションが改善され高められる。この効果は、アバターの特定部位に組み込み可能なビデオピクセルパッチなどの多くの形態で表すことができる。ビデオピクセルパッチは、動いているビデオフレーム内に組み込まれるように適用されることが好ましく、その結果、リアルタイムな一体感を実質的に出せるようになる。
【0006】
一実施形態において、ゲームプレイイベントに対するユーザの反応に応答してアバターを修正するためのコンピュータで実行される方法が開示されている。アバターは、第1のユーザおよび第2のユーザの一方または両方を表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。この方法は、ゲームプレイを実行し、第1および第2のユーザの一方または両方の反応をモニタすることによって始まる。この方法は、ゲームプレイのディスプレイエリアの側部に沿って、第1および第2のユーザの一方または両方のアバター描写を表示することによって継続される。別の動作において、この方法は、ゲームプレイの実行中、第1および第2のユーザのモニタされた反応に応答して、第1および第2のユーザの一方または両方のアバター描写の反応を修正する。
【0007】
別の実施形態において、ゲームプレイイベントに対するユーザの反応に応答してアバターを修正するためのコンピュータで実行される方法が開示されている。アバターは、第1のユーザおよび第2のユーザの一方または両方を表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。この方法は、ゲームプレイを実行し、第1および第2のユーザの一方または両方の反応をモニタすることによって始まる。別の動作において、この方法は、ゲームプレイのディスプレイエリアの側部に沿って、第1および第2のユーザの一方または両方のアバター描写を表示する。この方法は、ゲームプレイの実行中、第1および第2のユーザのモニタされた反応に応答して、第1および第2のユーザの一方または両方のアバター描写の反応を修正することによって継続される。さらに、アバター描写は、ゲームプレイでのイベントに応答して自動的に少なくとも部分的に修正され、さらに、自動的に修正されると、アバター描写の修正は、第1または第2のユーザのモニタされた反応と完全には一致しない。
【0008】
さらなる別の実施形態において、ゲームプレイイベントに応答してアバターを自動的に修正するためのコンピュータで実行される方法が開示されている。アバターは、第1のユーザを表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。この方法は、ゲームプレイ中に起こるアクションを特定するためにゲームプレイイベントをモニタすることによって始まる。別の動作において、この方法は、ゲームプレイのアクションに対する応答を視覚的に伝えるために、ゲームプレイ中に起こる特定されたアクションに応答して、第1のユーザを表すアバターのグラフィック画像を修正する。さらなる別の動作において、この方法は、第1のユーザを表すアバターの修正されたグラフィック画像を第2のユーザに表示し、第1のユーザを表す修正されたアバターにより、第2のユーザは、第1のユーザに起こったゲームプレイのアクションを理解することができる。
【0009】
別の実施形態において、ゲームプレイでのイベントに対するユーザの反応に応答してアバターを修正するためのプログラム命令を有するコンピュータ可読媒体が開示されている。アバターは、第1のユーザおよび第2のユーザの一方または両方を表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。ゲームプレイを実行するための媒体のプログラム命令は、第1および第2のユーザの一方または両方の反応をモニタするためのプログラム命令を有する。また、ゲームプレイのディスプレイエリアの側部に沿って第1および第2のユーザの一方または両方のアバター描写を表示するためのプログラム命令も含まれる。また、ゲームプレイの実行中、第1および第2のユーザのモニタされた反応に応答して、第1および第2のユーザの一方または両方のアバター描写の反応を修正するためのプログラム命令が含まれる。
【0010】
本発明は、添付の図面と併せて、以下の詳細な記載によって容易に理解されるものであり、同一の参照番号は、同一の構造上の要素を示す。
【図面の簡単な説明】
【0011】
【図1】画像キャプチャデバイスを有する対話型ゲームセットアップの説明図。
【図2】画像キャプチャデバイスの前方に配置されたオブジェクトの指向方向を確かめるための方法の説明図。
【図3】グラフィックディスプレイ上のオブジェクトと対応するための例示的なユーザ入力システムのブロック図。
【図4】本明細書に記載する本発明の実施形態を実施するように構成されたコンピュータ処理システムの簡易ブロック図。
【図5】別の入力デバイスとして機能する操作用物体との併用に適合されたビデオゲームコンソールの各種コンポーネントの構成を示すブロック図。
【図6】ユーザによって操作されるユーザ入力デバイスに対応するピクセル群をトラッキングして判別するために使用される機能ブロックを示すブロック図。
【図7】画像キャプチャユニットおよび音声キャプチャユニットを有するモニタの説明図。
【図8】2つの音源がある状況にある場合の音声キャプチャユニットの説明図。
【図9】方向選択ができるように三角測量アルゴリズムを用いた音声Aおよび音声Bの処理の説明図。
【図10】画像・音声キャプチャデバイスと併用可能なコンピュータシステムの説明図。
【図11】少なくとも4つのマイクロホンを含む例示的なオーディオモニタの説明図。
【図12】アレイビーム形成モジュールを示す簡易略図。
【図13】オーディオ信号のノイズと音源信号成分とを分離するためのブラインド音源分離方式を示す高水準略図。
【図14】適応ノイズキャンセレーションを組み込んだマイクロホンアレイフレームワークを示す略図。
【図15】図1の画像キャプチャデバイスと対話するための例示的なコントローラの平面図。
【図16】図1の画像キャプチャデバイスと対話するための例示的なコントローラの背面図。
【図17】矩形状のLEDを有するコントローラの平面図。
【図18a】矩形状のLEDを有するコントローラの背面図。
【図18b】LED、スピーカ、およびマイクロホンを組み込んだコントローラの背面図。
【図18c】背面パネルの中央に設置されたスピーカとともに矩形状のLEDを有するコントローラの背面図。
【図18d】弧状に配設された5つのLEDを有するコントローラの背面図を示す。
【図18e】幅広の矩形状に配設されたLEDを有するコントローラの背面図。
【図18f】6つのLEDがまとめて配設されたコントローラ。
【図19】多数のコントロールを含むインタフェースおよび動作検知デバイスを有するコントローラ。
【図20】コントローラの動きをコンピュータプログラムに伝達する例示的なプロシージャを表すフローチャート。
【図21】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図22】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図23】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図24】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図25】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図26】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図27】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図28】本発明の一実施形態によるアバター制御システムを実施するためのコントローラと適合可能なコンソールであるソニー(登録商標)社製のプレイステーション3(登録商標)エンタテインメント機器のシステムアーキテクチャ全体の概略説明図。
【図29】本発明の一実施形態によるセルプロセッサのアーキテクチャの概略説明図。
【発明を実施するための形態】
【0012】
以下の記載において、本発明を完全に理解できるように、具体的な詳細を数多く記載する。しかし、当業者であれば、本発明はこれらの特定の詳細のうちのいくつか、あるいはすべてがなくとも実施可能なことは明白であろう。場合によっては、本発明を不必要に分かりにくくすることがないように、周知のプロセスステップについては詳しく記載しない。
本明細書に記載する技術を用いることで、プレーヤの応答を画面上のアバターで表すことによって、複数プレーヤによるゲームでのユーザの体感性を高めることができる。アバターとは、ユーザが、複数プレーヤ環境またはネットワーク環境で他の参加者に自分を表すためにカスタマイズ可能なアイコンまたはグラフィックのことである。アバターは、目、眉毛、鼻、口、衣服、アクセサリーなどの特徴を含む多種多様なパラメータを使ってカスタマイズすることができる。アバターに加えられるカスタマイズの可能性には数に制限がなく、上記に挙げた数種類の特徴は、限定的になるように意図されたものではない。
【0013】
オンラインか、または同じコンピュータシステムからの複数プレーヤモードを用いた対戦相手とのゲームプレイ中、ゲーム中に起こるイベントに対する感情的または身体的反応や、ユーザの表情の変化、発声、および体の動きを表すために、ユーザのアバターを使用できる。顔の特徴および体の動きの認識は、以下にさらに詳細に記載するように、画像処理とともにコンピュータシステムの一部であってもよいビデオキャプチャデバイスを用いて行われうる。
【0014】
さらに、画像キャプチャおよび処理技術、またはコントローラデバイス内に位置する加速度計などのモーションセンサの一方または両方を用いて、コンピュータシステムを参照しながらコントローラの加速、ピッチ、揺れ、回転、および物理的な場所を決定するために、コンピュータシステムと対話する、つまりインタラクションを行うために使用されるハンドヘルドコントローラデバイスが装備されうる。ゲームプレーヤからの言語的反応は、音声モニタリング・音声処理ロジックを含む種々の方法を用いて認識されうる。この情報の一部またはすべてが、コンピュータシステムによって受け取られ、ほぼリアルタイムにユーザのアバターに適用され、対応する実際のユーザのアクションや反応を模倣するようにされうる。一実施形態では、プレーヤの対戦相手のアバターしか視認できない。別の実施形態では、ユーザは、自分のアバター上にあるアニメーションを目にすることができる。
【0015】
図1は、本発明の一実施形態による対話型ゲームセットアップ100を示す。対話型ゲームセットアップ100は、コンピュータ102を含み、コンピュータ102は、本明細書において「コンソール」とも呼ばれ、ディスプレイ画面110に結合されてもよい。画像キャプチャデバイス105が、ディスプレイ画面110の上部に配置され、コンピュータ102に結合されてもよい。コンピュータ102は、ユーザがビデオゲームをできるようにし、コントローラ108を介してビデオゲームとのインタフェースとなりうるゲームシステムコンソールであってもよい。画像キャプチャデバイス105は、ディスプレイ画面110の上部に配置されて示されているが、画像キャプチャデバイス105は、ディスプレイ画面110の正面付近の位置にある画像をキャプチャできるような任意の他の近接した場所に配置されうることを理解されたい。これらの動きや対話をキャプチャする技術にはさまざまなものがありうるが、2003年2月21日に同日出願され、参考により本明細書に援用されたものとする英国特許出願第0304024.3号明細書(PCT/GB2004/000693)および同第0304022.7号明細書(PCT/GB2004/000703)に、例示的が技術が記載されている。
【0016】
一実施形態において、画像キャプチャデバイス105は、標準的なウェブカムのような簡易なものであってもよく、より高度な技術を含むものであってもよい。画像キャプチャデバイス105は、画像をキャプチャし、ディジタル化し、画像データをコンピュータ102に戻すことが可能であってもよい。いくつかの実施形態では、画像キャプチャデバイスに、ディジタル化を実行するためのロジックが一体化されており、別の実施形態では、画像キャプチャデバイス105は、ディジタル化するために、アナログビデオ信号をコンピュータ102に送信するだけである。いずれの場合も、画像キャプチャデバイス105は、画像キャプチャデバイス105の正面に位置する任意のオブジェクトのカラー画像または白黒画像のいずれかをキャプチャ可能であってもよい。
【0017】
図2は、頭部および/またはコントローラの位置と動きを確認するために、画像キャプチャデバイス105によって画像データを処理するための例示的なコンピュータ102を示す。図示するように、コンピュータ102は、画像キャプチャデバイス105に接続されてもよい。画像キャプチャデバイス105は、キャプチャ領域105aに焦点を当てるように設計されてもよい。この例では、人112が、コンピュータ102によって実行されているコンピュータプログラムとのインタラクションを行うように意図したものであってもよい。コンピュータプログラムは、この例において、ディスプレイ画面110によって描画され表示可能なビデオゲームであってもよい。
【0018】
図示した例にあるビデオゲームは、WWII複葉機シューティングゲームであり、人112がターゲットに狙いを定め、自分のパフォーマンスに見合った点を稼ぐことを目的としたゲームである。画像キャプチャデバイス105は、人112の頭120の場所、および/または、人112の手122によって保持されたコントローラの場所を決定するために、人112のディジタル画像キャプチャを解析しうる。図示するように、人112の手は、体の正面に伸びた状態にあってもよく、画像キャプチャデバイスは、キャプチャしたディジタル画像を検査したときにコントローラ124を識別する。キャプチャしたディジタル画像はまた、人112の頭120の場所を確かめるために、コンピュータ102で実行されるコードによって検査されてもよい。一実施形態において、頭部トラッキングは、顔検出コードに結合され、テンプレート照合(速度性能用)と組み合わせて完了してもよい。顔検出コードは、本質的に、ユーザの目および他の顔の特徴の位置を特定することによって、ユーザの顔の場所を識別する。頭および顔の検出に関するさらなる情報が必要であれば、「METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION」という発明の名称であり、2003年9月15日に出願され、参照により本明細書に援用されたものとする米国特許出願第10/663,236号明細書を参照されたい。
【0019】
コントローラ124は、一実施形態において、キャプチャしたディジタル画像を解析するプログラムが、オブジェクト124の場所を容易に識別するように、識別子を有し、この識別子は、オブジェクトに結合される色や発光体(例えば、発光ダイオード「LED」)とすることができる。以下、図15〜図19を参照しながら、例示的なこのような識別子についてさらに詳細に記載する。ユーザ112の頭120の動きは、ゲームでの身体的な応答、例えば、画面上の要素が頭をかがめたり、身をかわしたりする応答として解釈でき、これらの動きは、以下にさらに詳細に記載するように、ユーザのアバターに適用されうる。
【0020】
図3は、本発明の実施形態を実施するために使用されうるグラフィックディスプレイ上のオブジェクトと対話するための例示的なユーザ入力システムのブロック図である。図3に示すように、ユーザ入力システムは、ビデオキャプチャデバイス300と、入力画像プロセッサ302と、出力画像プロセッサ304と、ビデオディスプレイデバイス306とを含むものであってもよい。ビデオキャプチャデバイス300は、ビデオ画像シーケンスをキャプチャ可能な任意のデバイスであってもよく、一実施形態において、ディジタルビデオカメラ(「ウェブカム」など)や同様の画像キャプチャデバイスであってもよい。
【0021】
ビデオキャプチャデバイス300は、深度画像を与えるように構成されてもよい。本明細書において、「深度カメラ」および「3次元カメラ」という用語は、2次元のピクセル情報だけでなく、距離または深度情報を得ることが可能な任意のカメラをさす。例えば、深度カメラは、距離情報を得るために、制御された赤外線発光体を利用しうる。別の例示的な深度カメラは、2つの標準カメラを使用して距離情報を三角法で測定するステレオカメラペアでありうる。同様に、「深度検知デバイス」という用語は、2次元のピクセル情報だけでなく、距離情報を得ることが可能な任意のタイプのデバイスをさす。
【0022】
したがって、カメラ300は、通常の2次元ビデオ画像の他にも、第3次元をキャプチャしマッピングする能力を備えうる。通常のカメラと同様に、深度カメラは、ビデオ画像を含む複数のピクセルの2次元データをキャプチャする。これらの値は、ピクセルに対するカラー値であり、一般に、各ピクセルに対して、赤、緑、および青(RGB)の値である。この方法で、カメラによってキャプチャされたオブジェクトは、モニタ上に2次元オブジェクトとして現れる。しかしながら、従来のカメラとは異なり、深度カメラは、シーンの深度値を表すシーンのz成分もキャプチャする。深度値は、典型的に、z軸に割り当てられるため、深度値は、z値と呼ばれることが多い。
【0023】
動作中、シーンの各ピクセルに対して、z値がキャプチャされてもよい。各z値は、カメラから、関連するピクセルに対応するシーンにある特定のオブジェクトまでの距離を表す。さらに、最大検出範囲が規定され、その最大検出範囲を超えると、深度値は検出されない。この最大検出範囲面は、ユーザ規定のオブジェクトトラッキングを提供するために、本発明の実施形態によって利用されうる。このように、深度カメラを用いると、各オブジェクトを3次元でトラッキングすることができる。その結果、本発明の実施形態のコンピュータシステムは、2次元ピクセルデータとともにz値を利用することで、ユーザに対して改良した3次元対話環境を生成することができる。深度解析に関する情報がさらに必要であれば、「System and Method for Providing a Real-time three dimensional interactive environment」という発明の名称であり、2003年5月29日に出願され、参照により本明細書に援用されたものとする米国特許出願第10/448,614号明細書を参照されたい。
【0024】
図3を再度参照すると、入力画像プロセッサ302は、制御オブジェクトのキャプチャしたビデオ画像(深度画像であってもよい)を信号に変換し、この信号は、出力画像プロセッサに送られる。一実施形態において、入力画像プロセッサ302は、深度情報によってキャプチャされたビデオ画像にある背景から制御オブジェクトを切り離し、制御オブジェクトの位置および/または動きに応答して出力信号を発声するようにプログラムされてもよい。出力画像プロセッサ304は、入力画像プロセッサ302から受信した信号に応答して、ビデオディスプレイデバイス306上でのオブジェクトの並進および/または回転運動を行うようにプログラムされてもよい。
【0025】
本発明の上記および付加的な態様は、ソフトウェア命令を実行する1つ以上のプロセッサによって実施されてもよい。本発明の一実施形態によれば、単一のプロセッサが、入力画像処理と出力画像処理の両方を実行する。しかし、図面に示すように、また、説明を簡略化するために、処理動作は、入力画像プロセッサ302と出力画像プロセッサ304との間で分割されているものとして示されている。本発明は、2つ以上のプロセッサなど、いずれの特定のプロセッサ構造に限定されるものとして解釈されるべきではないことに留意されたい。図3に示す複数の処理ブロックは、説明するために便宜上、示しているにすぎない。
【0026】
図4は、本明細書に記載する本発明の実施形態を実施するために構成されたコンピュータ処理システムの簡易ブロック図である。処理システムは、メインメモリ420に結合された中央処理装置(「CPU」)424と、グラフィック処理装置(「GPU」)426とを含むコンピュータベースのエンターテイメントシステムの実施形態であってもよい。CPU424は、入出力プロセッサ(「IOP」)バス428に結合されてもよい。一実施形態において、GPU426は、ピクセルベースのグラフィックデータを高速処理するための内部バッファを含む。さらに、GPU426は、出力処理部、言い換えれば、処理された画像データを標準的なテレビ信号、例えば、NTSCまたはPALに変換し、エンタテインメントシステムまたはその要素の外部に接続されているディスプレイデバイス427に、そのテレビ信号を送信するための機能を含みうる。他の形態では、データ出力信号は、テレビモニタ以外のディスプレイデバイス、例えば、コンピュータモニタ、LCD(液晶ディスプレイ)デバイス、またはその他のタイプのディスプレイデバイスなどに送られうる。
【0027】
IOPバス428は、CPU424をさまざまな入出力デバイスおよびその他のバスまたはデバイスに結合する。IOPバス428は、入出力プロセッサメモリ430、コントローラ432、メモリカード434、ユニバーサルシリアルバス(USB)ポート436、IEEE1394(ファイアワイヤインタフェースとしても周知)ポート438、およびバス450に接続されてもよい。バス450は、オペレーティングシステム(「OS」)ROM440、フラッシュメモリ442、音声処理ユニット(「SPU」)444、光ディスク制御4、およびハードディスクドライブ(「HDD」)448を含むいくつかの他のシステムコンポーネントをCPU424に結合する。この実施形態の1つの態様において、ビデオキャプチャデバイスは、IOPバス428を介してCPU424への送信を行うためにIOPバス428に直接接続され、ここで、ビデオキャプチャデバイスからのデータは、GPU426にあるグラフィック画像を生成するために使用される値を変更または更新するために使用されうる。さらに、本発明の実施形態では、「METHOD AND APPARATUS FOR REAL TIME MOTION CAPTURE」という発明の名称であり、2003年2月11日に出願され、内容全体が参照により本明細書に援用されたものとする米国特許出願第10/365,120号明細書に記載されているもののように、種々の画像処理構成および技術が用いられうる。コンピュータ処理システムは、セル(登録商標)プロセッサで実行されてもよい。
【0028】
図5は、本発明の一実施形態による別の入力デバイスとして機能する操作用物体との併用に適応されたビデオゲームコンソールの各種コンポーネントの構成のブロック図である。例示的なゲームコンソール510には、コンソール510全体を制御するためのマルチプロセッサユニット(MPU)512と、プログラムの各種操作およびデータ記憶に使用されてもよいメインメモリ514と、幾何学的処理に必要な浮動小数点のベクトル計算を実行するためのベクトル計算ユニット516と、MPU512からの制御に基づいてデータを生成するとともに、ビデオ信号をモニタ110(例えば、CRT)に出力するための画像プロセッサ520と、MPU512またはベクトル計算ユニット516と画像プロセッサ520との間の伝送バス上で調停などを実行するためのグラフィックインタフェース(GIF)522と、周辺機器との間でデータの送受信を行うための入出力ポート524と、例えば、カーネルなどの制御を実行するためのフラッシュメモリなどで構成された内部OSD機能ROM(OSDROM)526と、カレンダ機能およびタイマ機能を備えたリアルタイムクロック528とが装備されてもよい。
【0029】
メインメモリ514、ベクトル計算ユニット516、GIF522、OSDROM526、リアルタイムクロック(RTC)528、および入出力ポート524は、データバス530を介してMPU512に接続される。また、バス530には、圧縮した動画およびテクスチャ画像を伸張して、画像データを展開するためのプロセッサである画像処理ユニット538が接続されてもよい。例えば、画像処理ユニット538は、MPEG2またはMPEG4の標準フォーマットに従って、ビットストリームをデコードおよび展開する機能、マクロブロックをデコードする機能、逆離散コサイン変換、色空間変換、ベクトル量子化などを実行する機能を担いうる。
【0030】
音声システムは、MPU512からの命令に基づいて音楽やその他の音響効果を生成するための音声処理ユニットSPU571と、SPU571によって記録されてもよい波形データの記憶場所であるサウンドバッファ573と、SPU571によって生成された音楽やその他の音響効果を出力するためのスピーカ575とで構成されてもよい。なお、スピーカ575は、モニタ110の一部として組み込まれてもよく、あるいは、外部スピーカ575に取り付けられる別個のオーディーライン出力接続端子として設けられてもよいことを理解されたい。
【0031】
バス530に接続され、本発明によるディジタルデータの入出力やディジタルコンテンツの入力を行う機能を備えたインタフェースである通信インタフェース540が設けられてもよい。例えば、オンラインビデオゲームの応用に対応できるように、通信インタフェース540を介して、ネットワーク上のサーバ端末との間でユーザ入力データが送信され、状態データが受信されてもよい。コンソール510に対してデータ(例えば、キー入力データまたは座標データ)を入力する入力デバイス532(コントローラとしても知られる)と、各種プログラムおよびデータ(すなわち、オブジェクトに関するデータ、テクスチャデータなど)を含むCD−ROMなどの光ディスク569のコンテンツを再生する光ディスクデバイス536とが、入出力ポート524に接続されている。
【0032】
本発明は、入出力ポート524に接続されてもよいディジタルビデオカメラ105をさらに含む。入出力ポート524は、シリアルインタフェースやUSBインタフェースを含む1つ以上の入力インタフェースによって実装され、ディジタルビデオカメラ190は、USB入力や、カメラ105との併用に適した任意の他の従来のインタフェースを有利に利用してもよい。
【0033】
上述した画像プロセッサ520は、レンダリングエンジン570と、インタフェース572と、画像メモリ574と、ディスプレイ制御デバイス576(例えば、プログラム可能なCRTコントローラなど)とを含む。レンダリングエンジン570は、メモリインタフェース572を介して、MPU512から送られるレンダリング命令によって、画像メモリにある所定の画像データをレンダリングする動作を実行する。レンダリングエンジン570は、例えば、NTSC方式またはPAL方式に準拠し、より詳細には、例えば、1/60秒〜1/30秒の間隔で10〜数十回を超えるレートで、320×240ピクセルまたは640×480ピクセルの画像データをリアルタイムに描画できる機能を備える。
【0034】
メモリインタフェース572とレンダリングエンジン570との間に、バス578が接続され、メモリインタフェース572と画像メモリ574との間に、第2のバス580が接続されてもよい。第1のバス578および第2のバス580のビット幅は、それぞれ、例えば、128ビットであり、レンダリングエンジン570は、画像メモリに対して高速レンダリング処理を実行可能であってもよい。画像メモリ574は、一元化されたメモリ構造を採用しており、例えば、この構造では、テクスチャレンダリング領域と表示レンダリング領域とを同じ領域に設定することができる。
【0035】
ディスプレイコントローラ576は、光ディスクドライブ536によって光ディスクデバイス569から取得したテクスチャデータ、またはメインメモリ514に作成されたテクスチャデータを、メモリインタフェース572を介して、画像メモリ574のテクスチャレンダリング領域に書き込むような構造のものであってもよい。画像メモリ174の表示レンダリング領域に描画された画像データは、メモリインタフェース572を介して読み出されて、モニタ110に出力されることで、画像データがモニタ110のスクリーンに表示されてもよい。
【0036】
図6は、本発明の一実施形態による、ユーザによるユーザ入力デバイスの操作中に、ユーザ入力デバイスに対応するピクセル群をトラッキングして判別するために使用される機能ブロックを示すブロック図である。ブロックが表している機能は、図5のゲームコンソール510にあるMPU512によって実行されてもよいソフトウェアによって実装されることを理解されたい。さらに、図6のブロックが表している機能のすべてが、各実施形態で使用されるわけではない。
【0037】
最初に、カメラから入力されたピクセルデータは、入出力ポートインタフェース524を介してゲームコンソール510に送られ、これにより、以下のプロセスがゲームコンソール510で実行される。まず、画像の各ピクセルが、例えば、ラスタベースでサンプリングされると、色区分処理ステップS201が実行され、これによって、各ピクセルの色が決定されて、画像が色の異なるさまざまな2次元区分に分割される。次に、特定の実施形態で、色遷移定位ステップS203が実行され、これにより、色の異なる区分が隣接する領域がより詳細に決定されて、明確な色遷移が発生する画像の場所を特定する。次に、幾何学的処理S205のステップが実行され、このステップでは、実施形態に応じて、エッジ検出プロセスまたは面積の統計値の計算の実行が行われて、対象のオブジェクトのエッジに相当する線、曲線および/または多角形が代数的または幾何学的に定義される。
【0038】
ステップS207において、本発明の好ましい実施形態に関して後述するアルゴリズムを用いて、オブジェクトの3次元の位置およびオリエンテーション、即ち向きや方向が計算される。性能を向上させるため、3次元の位置および向きや方向のデータに対して、カルマンフィルタリングの処理ステップS209が実行される。このような処理は、オブジェクトがある時点に存在する位置を概算し、正しいデータセットから外れていると考えられる起こり得ない誤った測定値を除去するために実行されてもよい。カルマンフィルタリングを実行する別の理由として、カメラ105は画像を30Hzで生成するが、典型的なディスプレイは60Hzで動作するため、カルマンフィルタリングによって、ゲームプログラムのアクションを制御するために使用されるデータのギャップが埋められることが挙げられる。カルマンフィルタリングによる離散データのスムージングは、コンピュータビジョンの分野では周知であり、ここでは詳述しない。
【0039】
ユーザによって発せられる言語音や環境音などの音を受信し、その音を処理し、このような音に反応するようにユーザのアバターをプログラムすることも可能である。この実施形態において、図7の例で示すモニタ706が設けられてもよく、モニタ706は、画像キャプチャユニット706bおよび音声キャプチャユニット706bを含む。音源は、入力オブジェクト、デバイス、拍手、または足鳴らしによって生成されるノイズや任意のその他のノイズでありうる。次に、音声が、音声キャプチャユニット706aによってキャプチャされ、対話するためにコンピュータシステム102(図1)によって処理される。音声命令が識別できるように、音声認識が用いられてもよい。さらに、ユーザは、インターネットやネットワークと接続し、ゲームの対話性に直接的または部分的に関与するリモートユーザと通信状態にあってもよい。
【0040】
本発明の一実施形態によれば、音声キャプチャユニット706aは、コンピュータシステム102が特定の方向から届く音を選択できるようにする少なくとも2つのマイクロホンを含むように構成されてもよい。一実施形態において、コンピュータシステム102は、環境にある散乱音声が、対話型プログラムの実行を妨げたり混乱させたりしないように対話性の中心にない方向からの音を除去するようにプログラミングされる。同様の方法で、音声キャプチャユニットは、強度値を確実に識別するために、ターゲットとなる焦点ゾーンからの音声を分離しうる。以下に記載するように、焦点ゾーンは、画像キャプチャユニット706bの焦点であるアクティブ画像領域によって識別されてもよい。別の方法では、焦点ゾーンは、初期段階後にユーザに与えられたゾーンの選択肢から手動で選択することもできる。別の実施形態において、各音声は、モニタ706に対して特定の方向からくる音声として、複数のマイクロホンを用いて識別される。ユーザのアバターは、以下にさらに詳細に記載するように、例えば、音源の方へ頭部を向けることによって、特定の音声に応答するようにプログラムされてもよい。
【0041】
画像・音声キャプチャデバイス706は、画像キャプチャユニット706bと、音声キャプチャユニット706aとを含む。画像・音声キャプチャデバイス706は、画像フレームをディジタルキャプチャした後、さらに処理するために、それらの画像フレームをコンピュータシステム102(図1)に転送することが可能であってもよい。画像キャプチャユニット706bの一例は、ウェブカメラであってもよく、このウェブカメラは、ビデオ画像をキャプチャし、その後、インターネットなどのネットワーク上で引き続き格納したり通信したりするために、コンピュータデバイスにディジタル転送することが望ましい場合に一般に使用されている。識別とフィルタリングが可能であるように画像データがディジタル処理される限り、アナログであれディジタルであれ、他のタイプの画像キャプチャデバイスも想定される。1つの好ましい実施形態において、フィルタリングが可能なディジタル処理は、入力データの受信後にソフトウェアにおいて実行されてもよい。一対のマイクロホン(MIC1およびMIC2)を含む音声キャプチャユニット706aが示されている。マイクロホンは、画像・音声キャプチャデバイス706を構成するハウジングに一体化可能でありうる標準的なマイクロホンである。
【0042】
図8は、音声Aおよび音声Bからの音源816がぶつかり合う場合の音声キャプチャユニット706aを示す。図示するように、音声Aは、可聴音を投射し、音声経路801aおよび801bに沿ってMIC1およびMIC2によって検出される。音声Bは、音声経路802aおよび802b上を進んで、MIC1およびMIC2の方に投射される。例示するように、音声Aの音声経路の長さは、音声経路802aおよび802bと比較すると異なるものであるため、比較的遅延する。次に、音声Aおよび音声Bの各々からの音声は、図9に示すボックス916において方向選択が発生しうるように、標準的な三角測量アルゴリズムを用いて処理される。MIC1およびMIC2からの音声の各々は、バッファ1および2(910a、910b)においてバッファリングされ、遅延線(912a、912b)を通過する。一実施形態において、バッファリングおよび遅延プロセスは、ソフトウェアによって制御されるが、同様の動作を取り扱えるように、ハードウェアをカスタム設計することもできる。三角測量に基づいて、方向選択916は、音源816の1つの識別および選択を引き起こす。
【0043】
MIC1およびMIC2の各々からの音声は、選択された音源の出力として出力される前に、ボックス914において合算される。このようにして、アクティブ画像領域の方向以外の方向からきた音声は、このような音源が、コンピュータシステム102(図1)によって処理を乱したり、ネットワークやインターネット上でビデオゲームを対話的にすることもある他のユーザとの通信を邪魔したりしないように除去される。この技術を利用したビデオゲームや他の応用は、音声キャプチャデバイスに対して所定の方向または選択された方向で焦点ゾーンから発せられる音声の強度値を確実に識別および定量化できる。
【0044】
図10は、本発明の一実施形態による、画像・音声キャプチャデバイス706と併用されてもよいコンピュータシステム1050を示す。コンピュータシステム1050は、プロセッサ1052と、メモリ1056とを含む。バス1054が、プロセッサおよびメモリ1056と画像・音声キャプチャデバイス706とを相互接続する。メモリ1056は、対話型プログラム1058の少なくとも一部を含み、受信した音源データを処理するための選択的音源聴音ロジックまたはコード1060をさらに含む。焦点ゾーンが画像キャプチャユニット706bによって識別される場所に基づいて、焦点ゾーンの外側にある音源は、(例えば、プロセッサによって実行され、メモリ1056に少なくとも部分的に格納される)選択的音源聴音ロジック1060によって選択的にフィルタリングされる。コンピュータシステムは、最も簡単な形態で示されているが、命令を処理して、入射音源の処理を行い、選択的に聴音できる限り、任意のハードウェア構造を使用できるということが重要視される。
【0045】
コンピュータシステム1050はまた、バスを用いてディスプレイ110と相互接続されて示されている。この例において、焦点ゾーンは、音源Bの方へ焦点が向けられる画像キャプチャユニットによって識別されてもよい。音源Aなどの他の音源からくる音声は、音声が音声キャプチャユニット706aによってキャプチャされ、コンピュータシステム1050に転送されるとき、選択的音源聴音ロジック1060によって実質的に除去される。
【0046】
1つの特定の例において、プレーヤが、別のユーザとインターネットまたはネットワーク上のビデオゲーム大会に参加でき、この場合、各ユーザは、主に、スピーカを用いることによって音を聴くことができる。スピーカは、コンピュータシステムの一部であってもよく、またはモニタ706の一部であってもよい。したがって、ローカルスピーカは、図4に示すように、音源Aを生成してもよいものとする。音源Aのローカルスピーカからきた音が対戦ユーザに戻らないようにするために、選択的音源聴音ロジック1060は、対戦ユーザに自らの音や声のハウリングが届かないように音源Aの音声を除去する。このようなフィルタリングを行うことで、プロセス中の不快なハウリングを有利に回避しながら、ビデオゲームとの接続中にネットワーク上で対話型の通信を行うことが可能である。
【0047】
図11は、少なくとも4つのマイクロホン(MIC1〜MIC4)を含む例示的なモニタ706を示す。したがって、音声キャプチャユニット706aは、音源816(AおよびB)の場所を識別するために、粒度が良好な三角測量を行うことが可能である。すなわち、追加のマイクロホンを設けることによって、音源の場所をより正確に特定し、ひいては、対象ではない音源や、ゲームプレイにとって有害となりうる音源またはコンピュータシステムと対話的に有害となりうる音源を削除および除去することが可能である。図10に示すように、音源816(B)は、ビデオキャプチャユニット706bによって識別されている対象となる音源であってもよい。図10の例に続いて、図11は、音源Bが空間体積に対してどのように識別されるかを示す。
【0048】
音源Bが位置する空間体積は、焦点体積1174を画成する。焦点体積を識別することによって、特定の体積内にない(すなわち、ある方向にない)ノイズを削除または除去することが可能である。焦点体積1174を選択するために、画像・音声キャプチャデバイスモニタ706は、少なくとも4つのマイクロホンを含むことが好ましい。マイクロホンの少なくとも1つは、マイクロホンのうちの他の3つとは異なる平面にある。マイクロホンのうちの1つを画像・音声キャプチャデバイスモニタ706の平面1171に維持し、4つのうちの残りをモニタ706の平面1170に維持することによって、空間体積を画成することが可能である。
【0049】
結果的に、近くにいる他の人(1176aおよび1176bで示す)からのノイズは、焦点体積1174に画成された空間体積内にないため除去される。さらに、スピーカ1176cによって示すように、空間体積の外側で生成されることもあるノイズも、空間体積の外側にあるため除去される。
【0050】
以下、図12〜図14を参照しながら、フィルタリングアルゴリズムの例示的な実施について記載する。この実施例では、マイクロホンアレイを介したポータブル民生機器に関連するオーディオ入力システムが提供される。ボイス入力システムは、複数のノイズ信号からターゲットオーディオ信号を分離可能なものであってもよい。さらに、マイクロホンアレイが取り付けられたポータブル民生機器の動きには何ら制約がない。マイクロホンアレイフレームワークは、本発明の一実施形態において、4つのメインモジュールを含む。第1のモジュールは、音響エコーキャンセレーション(AEC)モジュールであってもよい。AECモジュールは、ポータブル民生機器が生成したノイズを打ち消すように構成されてもよい。例えば、ポータブル民生機器がビデオゲームコントローラである場合、ビデオゲームプレイに関連するノイズ、すなわち、音楽、爆発音、声などはすべて既知のものである。このように、マイクロホンアレイのマイクロホンセンサの各々からの信号に適用されるフィルタが、これらの既知のデバイス生成ノイズを除去してもよい。別の実施形態において、AECモジュールは、オプションであってもよく、以下に記載するモジュールとともに含まれなくてもよい。音響エコーキャンセレーションに関するさらなる詳細については、「Frequency-Domain and Multirate Adaptive Filtering」(John J. Shynk,IEEE Signal Processing Magazine, pp. 14-37,January 1992)の文献を参照されたい。この文献は、参照により本明細書に援用されたものとする。
【0051】
図12は、本発明の一実施形態による、リスニング方向からのものではない信号を抑制するように構成されたアレイビーム形成モジュールを示す簡易略図である。一実施形態において、ビーム形成は、フィルタ・加算ビーム形成に基づいたものであってもよい。信号通過フィルタとも呼ばれる有限インパルス応答(FIR)フィルタは、適応型のものであってもよいアレイ較正プロセスによって生成される。このように、ビーム形成は、本質的に、センサアレイを物理的に動かすことなく、音源信号2028の方へ、すなわち、リスニング方向にビームをトラッキングし方向付けうる適応ビーム形成器であってもよい。焦点方向からの信号を高めうる方法をさすビーム形成が、マイクロホンセンサ1212−1〜1212−Mを所望のターゲット信号にアルゴリズム的に(物理的ではなく)方向付けるためのプロセスとして考えられてもよいことは、当業者に明らかであろう。センサ1212−1〜1212−Mの視野方向は、ビーム形成方向またはリスニング方向と呼ばれることもあり、ランタイム時、固定されたものでも適応性のものであってもよい。
【0052】
ビーム形成の基本的な考え方は、所望の音源からの音声信号が、異なる時間遅延でマイクロホンセンサアレイに届くというものである。アレイの幾何学的配置は予め較正されているため、音源とセンサアレイとの間の経路長の相違は、既知のパラメータである。したがって、異なるセンサからの信号を時間的に整合するために、相互相関と呼ぶプロセスが用いられてもよい。さまざまなセンサからの時間的整合信号は、ビーム形成方向に従って加重される。次に、加重信号は、センサ固有のノイズキャンセレーションセットアップの点でフィルタリングされ、すなわち、各センサが、整合フィルタF11242−1〜FM1242−Mと呼ぶフィルタに関連付けられてもよく、各フィルタは、信号通過フィルタ1262に含まれる。次に、各センサからのフィルタリング信号は、出力Z(ω,θ)を生成するために、モジュール1272を介して合算される。上述したプロセスは、自動相関と呼ばれてもよいことを認識されたい。さらに、ビーム形成方向に沿って存在しない信号が、時間軸に沿って整合されないままであるため、これらの信号は、平均化によって減衰される。アレイベースのキャプチャシステムには共通していることだが、所望の空間方向(直線の幾何学的配置を用いる)または空間体積(凸幾何学的配置を用いる)から音声をキャプチャするためのマイクロホンアレイの全性能は、音源の位置を特定しトラッキングする能力に依存する。しかしながら、複雑な残響ノイズがある環境、例えば、ビデオゲーム環境では、環境固有のパラメータを統合することなく、一般的に音声位置特定トラッキングシステムを構築することが現実的に実行不可能である。
【0053】
さらに図12を参照すると、適応ビーム形成は、他の形態において、2部構成のプロセスとして説明されてもよい。第1部において、側面衝突ノイズは、遠距離にあるものとされる。すなわち、音源1228からマイクロホンの中心1212−1〜1212−Mまでの距離は十分に長いため、音源1228は、最初、マイクロホンセンサの各々の垂線に位置すると仮定されてもよく、例えば、マイクロホンセンサ1212−mを参照すると、音源は、垂線1236に沿った位置にあることになる。このように、側面衝突ノイズは、この場合、本明細書においてF1と呼ぶフィルタを適用することによって高められるものとしてもよい。次に、周期的に較正されてもよい信号通過フィルタが、マイクロホンセンサアレイが動きに適応できるようにする、F2と呼ばれるファクタを決定するように構成されてもよい。F2の決定については、適応アレイ較正モジュールを参照しながらさらに説明する。一実施形態において、信号通過フィルタは、100ミリ秒ごとに較正されてもよい。このように、信号通過フィルタは、100ミリ秒ごとに固定ビーム形成に適用されてもよい。一実施形態において、整合フィルタ1242−1〜1242−Mは、各マイクロホンにステアリングファクタを供給することによって、ライン1238−1〜1238−Mによって示されるリスニング方向を調節する。正弦波の遠視野平面波が、図12の入射角θでセンサへ伝播すると考えると、2つの隣接するセンサ間の距離dを平面波が進行するための時間遅延は、dmcosθによって与えられるものであってもよい。固定ビーム形成に関するさらなる詳細については、「Beamforming: A Versatile Approach to Spatial Filtering」(Barry D. Van Veen and Kevin M. Buckley, IEEE ASSP MAGAZINE April 1988)の文献を参照されたい。この文献は、参照により本明細書に援用されたものとする。
【0054】
図13は、オーディオ信号のノイズと音源信号成分とを分離するためのブラインド音源分離方式を示す高水準略図を示す。オーディオ信号内の音源信号およびノイズが明確に分からないこともあることを認識されたい。しかしながら、音源信号とノイズの特性が異なることは知られている。例えば、第1のスピーカのオーディオ信号は、第2のスピーカのオーディオ信号とは区別され、その理由として、スピーカの声が異なることと、ノイズの種類も異なることとが挙げられる。このように、ノイズおよび音源信号を含む入射オーディオ信号を表すデータ1350は、データマイニング動作によって、ノイズ成分1352および音源信号1354に分離されてもよい。次に、分離フィルタ1360は、音源信号1350をノイズ信号1352から分離する。
【0055】
当業者であれば、データマイニングを実行するための1つの方法が、本発明の一実施形態による二次統計によって、データを解析し、独立成分を見つける独立成分分析(ICA)によるものであってもよいことを認識するであろう。このように、さまざまな音声を区別する音紋をキャプチャするために、データの特性を記述または規定するように二次統計が算出されてもよい。次に、分離フィルタは、音源信号とノイズ信号とを分離するようにされてもよい。音紋の計算は、周期的に実行されてもよいことを認識されたい。このように、ブラインド音源分離を利用するこの適応アレイ較正プロセスによって、リスニング方向が各期間に調節されてもよい。信号が分離フィルタ1360によって分離されると、トラッキング問題が解決されるであろうことは、当業者には明らかであろう。すなわち、センサアレイの複数のマイクロホンに基づいて、遅延の到着時間が、音源信号1354をトラッキングするさいに使用するために決定されてもよい。当業者であれば、上記で二次統計と呼んだものは、自動相関または相互相関方式と呼ばれてもよいことを認識するであろう。二次統計を用いたブラインド音源分離に関するさらなる詳細については、「System Identification Using Non-Stationary Signals」(O. Shalvi and E. Weinstein, IEEE Transactions on Signal Processing, vol-44(no.8): 2055-2063, August, 1996)の文献を参照されたい。この文献は、参照により本明細書に援用されたものとする。
【0056】
図14は、適応ノイズキャンセレーションを組み込んだマイクロホンアレイフレームワークを示す略図である。ノイズおよび音源信号を含むオーディオ信号1466が、ポータブル民生機器102、例えば、ビデオゲームコンソールまたはコンピュータデバイスに取り付けられたもよいマイクロホンセンサアレイを介して受信されてもよい。次に、ポータブル民生機器102によって受信されたオーディオ信号は、音響エコーキャンセレーション(AEC)モジュール1468を介して予め処理されてもよい。この場合、音響エコーキャンセレーションは、参照により本明細書に援用されたものとする米国特許出願第10/650,409号明細書に一例として記載されているように実行されてもよい。マイクロホンアレイにあるマイクロホンセンサの数に対応する信号Z1〜ZMが生成され、チャネル1470−1〜1470−M上で分配される。チャネル1470−1が基準チャネルであってもよいことを認識されたい。次に、対応する信号は、フィルタ・加算モジュール1262に送られる。フィルタ・加算モジュール1262が、図20を参照しながら上述したような適応ビーム形成を実行することを認識されたい。同時に、チャネル1470−1〜1470−Mからの信号が、ブロックフィルタ1464に送られる。
【0057】
ブロックフィルタ1464は、ターゲット信号がノイズと見なされる場合、逆ビーム形成を実行するように構成されてもよい。このように、ブロックフィルタ1464は、音源信号を減衰し、ノイズを高める。すなわち、ブロックフィルタ1464は、適応ビーム形成プロセスによって形成された較正係数F2の逆数と見なされてもよい較正係数F3を決定するために較正されてもよい。当業者であれば、図13を参照しながら言及した適応アレイ較正が、本明細書に記載するプロセスの背景で起こることを認識されたい。フィルタ・加算モジュール1262およびブロックフィルタモジュール1464が、分離フィルタ1360を構成する。次に、ノイズが高められた信号U2〜UMが、対応する適応フィルタ1475−2〜1475−Mのそれぞれに送信される。適応フィルタ1475−2〜1475−Mは、適応フィルタモジュール1474に含まれる。この場合、適応フィルタ1475−2〜1475−Mは、モジュール1476の加算動作の対応する信号を整合するように構成される。当業者であれば、ノイズは定常のものでなくてもよく、したがって、信号は、加算動作の前に整合されなければならないことを認識するであろう。
【0058】
次に、図14をさらに参照すると、モジュール1476の加算動作からの信号は、加算動作モジュール1478を介して低減されたノイズ信号を与えるために、モジュール1472の加算動作からの信号出力と結合されてもよい。すなわち、モジュール1472の高められた信号出力は、所望の音源信号を高める方法でモジュール1476からの高められたノイズ信号と結合されてもよい。ブロック1480が、適応ノイズキャンセレーション動作を表すことを認識されたい。さらに、背景で行われていたアレイ較正は、一実施形態において、検出された信号対雑音比がゼロデシベルを超えるものである限り、100ミリ秒ごとに起こるものであってもよい。上述したように、アレイ較正は、フィルタ・加算ビーム形成器1262に使用される信号通過フィルタと、信号対雑音比が−100デシベル未満のものであってもよい純干渉を生成する信号ブロックフィルタ1464とを更新する。
【0059】
一実施形態において、マイクロホンセンサアレイの出力信号は、ベイズの統計モデリングによる人依存のボイススペクトルフィルタリングに基づいて、声の質をさらに上げるために、後処理モジュールに送られてもよい。ボイススペクトルフィルタリングに関してのさらなる情報については、「Speech Enhancement Using a Mixture- Maximum Model」(David Burshtein, IEEE Transactions on Speech and Audio Processing vol. 10, No. 6, September 2002)を参照されたい。この文献は、参照により本明細書に援用されたものとする。本明細書において記述する信号処理アルゴリズムは、周波数領域で実行されることを認識されたい。さらに、リアルタイム信号応答に達するために、高速かつ高効率の高速フーリエ変換(FFT)が適用されてもよい。一実施形態において、実装するソフトウェアには、信号入力チャンクごとに1024の窓長を有する25FFT演算が必要である(16kHzサンプリングレートで512信号サンプル)。音響エコーキャンセレーションおよびベイズモデルベースのボイススペクトルフィルタリングを適用せずに、等間隔の直線形状に設けられた4センサマイクロホンアレイの例示的な場合において、関与する全計算は、約250メガ浮動小数点演算(250メガフロップス)であってもよい。
【0060】
図14をさらに参照すると、分離フィルタ1360が、QR直交化法によって、値域と零空間にある2つの直交成分に分解されてもよい。すなわち、信号ブロックフィルタ係数F3は、零空間から得られてもよく、信号通過フィルタ係数F2は、値域空間から得られてもよい。このプロセスは、一般化サイドローブキャンセラ(GSC)アプローチとして特徴付けられてもよい。GSCアプローチのさらなる詳細については、上記に参照によりすでに援用した「Beamforming: A Versatile Approach to Spatial Filtering」というタイトルの文献を参照されたい。
【0061】
上述した実施形態には、高ノイズ環境においてオーディオ入力を与えるための方法およびシステムが記載されている。オーディオ入力システムは、ビデオゲームコントローラ、例えば、ソニー・プレイステーション2(登録商標)ビデオゲームコントローラや任意のその他の適切なビデオゲームコントローラに備えられてもよいマイクロホンアレイを含む。マイクロホンアレイは、ビデオゲームコントローラの動きに何ら制約を課すことがないように構成されてもよい。マイクロホンアレイのマイクロホンセンサによって受信された信号は、前景スピーカまたはオーディオ信号と、室内反響を含むさまざまな背景ノイズとを含むように仮定される。さまざまなセンサからの背景と前景との間の時間遅延が異なることもあるため、周波数スペクトル領域における二次統計は、互いから独立したものであり、したがって、信号は、周波数成分ベースで分離されてもよい。次に、分離された信号周波数成分は、前景の所望のオーディオ信号を再構築するように再結合される。本明細書に記載する実施形態において、ビデオゲームに命令を発したり、ノイズ環境内で他のプレーヤと通信したりするためのリアルタイムボイス入力システムが定義されることをさらに認識されたい。他の実施形態において、オーディオプロセッサは、特定の音声の発生源方向を識別可能であり、その情報をソフトウェアに渡すことで、以下に記載するように、アバターの頭部を音のする方へ向け、例えば、ドアが閉まる音など、音の種類が識別されれば、その音の種類に応答するようにアバターを方向付けることによって、音に応答することができる。
【0062】
ビデオゲームコントローラが、典型的に、ゲーム内でのアクションを制御するために、ビデオゲームプログラムに入力を与えるためのボタン、つまみ、および/またはジョイスティックを有するハンドヘルドデバイスであってもよい。空間内でのコントローラの動きおよび/または回転を検知することによって、コントローラにさらなる機能を追加することが望ましい。このようにして、ユーザが、スクリーン上のアクションに対する感情的な応答としてコントローラを回したり動かしたりすると、ユーザのアバターも同じように動くことができる。例えば、ユーザは、コントローラを操作して仮想レースカーを操縦しているとき、特に急なカーブに対しての感情的な応答として、コントローラデバイス全体を傾けることもある。次に、図1〜図14を参照しながら上述したように、この動きは、画像キャプチャデバイスによって検知されうる。
【0063】
従来、ビデオゲームコントローラは、ケーブルを通して、または利用可能な赤外線または高周波数(RF)インタフェースの1つ以上を用いてワイヤレスでアナログ信号および/またはディジタルデータのストリームを提供する。複数プレーヤゲームの場合、コンピュータシステムを備える電子通信機器(例えば、ゲームコンソール)に、2つ以上のコントローラが配置されてもよい。プログラムと対話する人にはそれぞれ、番号、例えば、「プレーヤ1」、「プレーヤ2」などが割り当てられてもよい。ゲームコントローラがシステムに接続されると、各ユーザは、コントローラが接続されているポート番号に従って、番号が割り当てられうる。このように、コンピュータゲームに4つのポートがあれば、プレーヤ1は、ポート番号1に接続され、プレーヤ2は、ポート番号2に接続され、以下同様である。ワイヤレスコントローラにより、プレーヤは、ワイヤレスチャネルや他のハンドシェイクプロトコル機構に基づいて、自分のプレーヤ番号を選択でき、コントローラは、プレーヤ1、プレーヤ2などと識別することができる。
【0064】
図15および図16は、画像キャプチャデバイス105(図1)と対話する例示的なコントローラ1500を示す。コントローラ1500は、さまざまなボタンおよびジョイスティックを含む複数の対話型デバイスを含むインタフェース1502を含む。本明細書に記述するコントローラは、有線または無線のいずれかでありうる。ワイファイ、ブルートゥース(登録商標)などの技術、IR、音声、および発光体は、ゲームコンソールなどのコンピュータと対話するように機能するものであってもよい。一実施形態において、コントローラ1500は、LEDアレイ1505を有する。LEDアレイは、さまざまなレイアウトで構成され、例えば、架空の矩形状または正方形状の結合枠の頂点に各LEDが位置付けられてもよい2×2スタックで構成されてもよい。画像キャプチャデバイスによって生じる画像平面に投射されるときに結合枠の位置および変形をトラッキングすることによって、その変換および変形は、コントローラの位置および向きや方向の情報を解読するために、ビデオアナライザにおいて解析されてもよい。LEDアレイ1505は、赤外線または可視光を生成してもよい。画像キャプチャデバイス105(図1)は、さまざまな他の本発明の実施形態を参照しながら上述したように、LEDアレイ1505を識別しうる。各コントローラは、例えば、ユーザがプレーヤ番号1〜4を選択できるスイッチ1510を使って、プレーヤ1からプレーヤ4として指定されてもよい。各プレーヤ番号の選択は、LEDアレイ1505によって照明されるLEDの固有パターンまたは変調に対応する。例えば、プレーヤ1の場合、1番目、3番目、および5番目のLEDが照明される。このようなプレーヤ情報は、複数のビデオフレームにわたって経時的に繰り返し符号化され送信されてもよい。コントローラまたはデバイスLEDが、トラッキングモードと送信モードとの間でスイッチ可能であるように、交互配置に係合することが望ましいこともある。トラッキングモードでは、サイクルの第1の部分の間、すべてのLEDがオンにされてもよい。送信モードでは、サイクルの第2の部分の間、情報がLEDによって変調されてもよい。時間の経過とともに、LEDは、トラッキングおよび通信情報を、ビデオアナライザまたは信号を受信可能な適切なデバイスに送信する。送信モードにおいて、LEDは、プレーヤのIDを表す情報を符号化してもよい。周期およびデューティーサイクルは、トラッキング速度、発光体条件、コントローラの数などに対応するように選択されてもよい。通信およびトラッキング情報を交互に配置することによって、ビデオキャプチャデバイスに、各コントローラに対してトラッキングパラメータを算出し、コントローラ間を区別するのに十分な情報が供給されてもよい。このような区別は、位置および向きや方向やコントローラの動きの他の計測値をモニタリングおよびトラッキングするときに、各物理的コントローラを隔離するためにビデオアナライザにおいて用いられてもよい。
【0065】
送信モードにおいて、命令や状態情報を含む他の情報が、コントローラまたはデバイスLEDによって、既知の符号化および変調方式に従って送信されてもよい。受信機側では、ビデオキャプチャデバイスに結合されたビデオアナライザが、LEDの状態と同期し、その状態をトラッキングし、その情報およびコントローラの動きを復号化してもよい。送信モードサイクルにおいてフレームにわたってデータを変調することによって、高い帯域幅が達成されてもよいことが知られている。
【0066】
インタフェース1502とのユーザ対話により、LEDアレイ1505にあるLEDの1つ以上の色が、変調および/または変更されてもよい。例えば、ユーザがジョイスティックを動かすと、LEDが、輝度を変更し、または情報を送信してもよい。さらに、各ボタンは、LEDアレイ1505にあるLEDの1つ以上の色または強度の変更にマッピングされてもよい。
【0067】
コントローラ1500が、3次元空間で動き回され、回転、揺れ、またはピッチ方向(図19を参照しながら以下にさらに詳細に説明する)の1つで回転すると、コンピュータシステム102(図1)と併せて画像キャプチャデバイス105が、これらの変更を識別し、画像平面上の動きを記述するための2次元ベクトル、または3次元空間での動きを記述するための3次元ベクトルとを生成可能であってもよい。ベクトルは、相対運動を記述する一連の座標および/または画像キャプチャデバイス105に対しての絶対位置として与えられうる。当業者に明らかなように、画像キャプチャデバイス105の見通し線に垂直な平面(画像平面)上での動きが、画像キャプチャゾーン内における絶対位置によって識別されえ、その一方で、画像キャプチャデバイス105により近い位置のコントローラ1500の動きは、広がったように見えるLEDアレイ1505によって識別可能であり、すなわち、画像平面上での第1のLEDと最後のLEDとの間の距離が、画像キャプチャデバイスからの距離を算出するために測定されうる。
【0068】
図17および図18aは、矩形状の構成のLED1705を有するコントローラ1700を示し、コントローラ1700が3つの各軸の周りで回転する動きを検出できる。LEDだけが示されているが、これは、例示的な目的でしかなく、平面上に分布され、同一線上には分布されない任意の数のLEDも可能である。コントローラ1700が、前方または後方に位置を変えることもあるため、上部および下部LEDは、左側および右側LEDが同じ距離引き離されたままの状態で、互いにより近づけられてもよい。同様に、コントローラ1700が、左または右に揺れると、左側および右側LEDは、上部および下部LEDが同じ距離引き離されたままの状態で、互いに近づくようになる。コントローラ1700の回転運動が、画像平面上でのLEDの向きを識別することによって検出されうる。コントローラが、見通し線に沿って画像キャプチャデバイス105に近づく方向に移動するとき、すべてのLEDは、広がっているように見える。最後に、画像平面に沿ったコントローラの動きは、画像平面上でのLEDの場所を識別し、それによって、x軸とy軸のそれぞれに沿った動きを識別することによってトラッキングされうる。図15および図16を参照しながら上述したように、LED変調が、インタフェース1702とのユーザ対話を識別するように使用されうる。
【0069】
図18bは、別の実施形態によるコントローラ1820を示し、コントローラ1820は、LED1822と、スピーカ1824と、マイクロホン1826とを組み込んでいる。LED1822は、画像キャプチャデバイスを用いて位置および向きや方向情報を提供し、スピーカ1824が、可聴音または超音波を生成でき、図7〜図14を参照しながら上述したようなオーディオモニタを用いて、音響効果および/または通信を与える。マイクロホン1826は、システムに音声入力を与え、音声命令を発するために、またはオンラインの複数プレーヤ環境において他のプレーヤと通信するために使用されうる。
【0070】
図18cは、コントローラ1830の背面パネル上の中心に位置するスピーカ1834とともに、矩形状の構成でLED1832を有するコントローラ1830を示す。図18dは、弧状に配設された5つのLEDアレイ1842を有するコントローラ1840を示す。図18eは、幅広い矩形状に配設されたLEDを有するコントローラ1850を示す。図18fは、まとめて配設された6つのLED1862を有するコントローラ1860を示す。当業者であれば、他のLED構成が可能であることを認識されたい。
【0071】
図19は、多数の制御装置および動作検知デバイス1905を含むインタフェース1902を有するコントローラ1900を示す。一実施形態において、動作検知デバイス1905が、3軸加速度計であってもよい。加速度計が、一般に、電子機器の分野において既知のものであり、典型的に、運動量の変化に応答する構造と、その応答を検出するセンサとを有する小さな固体デバイスを含む。小型加速度計は、回転運動だけでなく、並進運動を検知するために利用可能である。並進運動は、x軸、y軸、およびz軸に沿った運動である。回転運動は、x軸、y軸、およびz軸の1つ以上の周りの回転である。並進運動を検出する加速度計は、重力の引っ張り方向を検知し、したがって、重力の引っ張りに対してデバイス(ゲームコントローラなど)の絶対的な向きや方向を識別しうる。コントローラ1900は、コントローラ1900内に含まれる回路(図示せず)によって受信されたディジタルデータを生成する並進検知加速度計1905を含む。ディジタルデータは、デバイスにかかる重力による引張り力から決定可能な、デバイスの並進運動ベクトルおよび向きや方向に変換されうる。このようにして、回路は、コントローラ1900の動きおよび向きや方向を識別し、ケーブル、赤外線、または無線接続などを介して、当業者に一般に既知の方法で、このデータを、インタフェース1902のさまざまな制御装置とユーザ対話を表す他のデータとともに、ゲームコンソールに送信する。また、画像キャプチャデバイスによって見るためのLED変調にデータを符号化することも可能である。デバイスによってキャプチャされる動きは、絶対位置および向きや方向の情報(初期位置を発生源とする)および/または位置および向きや方向の変化として表しうる。
【0072】
図20は、コントローラ2000の動きをコンピュータプログラムに伝える例示的なプロシージャを示すフローチャート2000を示す。プロシージャは、図示するように、開始ブロック2002によって始まり、ゲームコントローラの動きが検出されてもよい動作2004に進む。一実施形態において、加速度計を用いて検出可能であるコントローラの運動量の変化を検出することによって、動きを検出してもよい。次に、運動量の変化は、運動ベクトルおよび/または初期発生源からの絶対位置と、重力の引っ張りを表すベクトルに変換され、コントローラ2000の向きや方向を識別する。運動、位置、および方向ベクトルは、一連の座標として表されうる。動作2004において、ゲームコントローラ2000の動きを検出した後、プロシージャは、検出された動きを表すデータが、データを要求したプログラムに送られてもよく、または他の方法でデータを受信してもよい。
【0073】
特定の実施形態において、コントローラを含む1つ以上の入力オブジェクトのコントローラプレーヤ番号、向きや方向、および/または位置を決定するための上述した画像またはオーディオ処理機能が、コンピュータシステム上で実行するプロセスにおいて実行されてもよい。コンピュータシステムはまた、ゲームアプリケーションであってもよいメインプロセスを実行してもよく、このプロセスでは、強度値、コントローラプレーヤ番号、コントローラを含む1つ以上の入力オブジェクトの向きや方向および/または位置、コントローラの作動などを含むデータなど、画像またはオーディオ処理から生成されたデータを要求し、または他の方法で受信する。さまざまな実施形態において、画像および/またはオーディオ処理機能を実行するプロセスは、ビデオカメラまたはビデオ/オーディオモニタリングデバイス用のドライバであってもよく、ドライバは、当業者に一般に既知であり理解されるように、実装時固有のものであってもよい任意のタイプのプロセス間の通信を介して、データをメインプロセスに与える。画像またはオーディオ処理を実行するプロセスは、ゲームや他のソフトウェアを実行するものと同じプロセッサまたは異なるプロセッサで実行される。同じプロセスにおいて、例えば、手続き呼出しを用いて、画像またはオーディオ処理と、ゲーム機能との両方に共通したプロセスを有することも可能である。したがって、「プログラムに」強度値やその他の情報が与えられてもよいことを本明細書において述べていることもあるが、本発明は、単一のプロセスで画像処理機能とゲーム機能との両方を実行しうるように、手続き呼出しまたはその他のソフトウェア機能を用いて、プロセスの1つのルーチンにこのようなデータを与えることを伴いとともに、これらの機能を異なるプロセスに分離することで、共通のプロセッサコアまたは複数のプロセッサコアに実行してもよい1つ以上のプロセスが、本明細書に記載するように、画像および/またはオーディオ処理を実行し、別のプロセスがゲーム機能を実行することを認識されたい。
【0074】
図21は、本発明の一実施形態による言語的および非言語的コミュニケーションを改善し高めるためのシステムの高水準概要の簡易ブロック図である。図21に示すように、システム2100が、少なくとも1つのコントローラ2102A、少なくとも1つの周辺マイクロホン2102B、少なくとも1つのビデオカメラ2102C、および少なくとも1つのプレーヤマイクロホン2102Dからデータを入力可能である。
【0075】
ビデオカメラ2102Cからのビデオ入力は、最初、入力ユニット104に送られる。入力ユニットは、回路またはソフトウェア制御されたドライバの形態のものでありうる。次に、ビデオ入力は、ビデオキャプチャユニット2112に送られ、ビデオ認識・トラッキングユニット2116によってさらに処理される。ビデオ認識・トラッキングユニット2116は、ユーザの動きとともに、ユーザの顔の特徴や身体部位を認識しうる。さらに、ビデオ認識・トラッキングユニット2116は、背景環境、およびキャプチャ画像内にあるその他の要素をキャプチャ可能であってもよい。フレームプロセッサ2120が、ビデオ認識・トラッキングユニット2116からの出力を用いて、ビデオ効果ライブラリ2108からのビデオを加えて画像を補いうる。ビデオ効果ライブラリ2108は、所定のビデオ効果2108Aおよびカスタムビデオ効果2108Bとして示す少なくとも2つのライブラリを含み、ユーザによって選択的に適用され、またはシステム2100によって自動的に供給されうる。ビデオ効果ライブラリ2108は、ライブラリに所定のカスタムビデオ効果がある限り、ライブラリの数を増減させることも可能である。動作中、フレームプロセッサは、ビデオ出力2132として示され、ユーザに表示される最終画像を算出し出力するグラフィックプロセッサ/レンダラ2124にデータを出力する。グラフィックプロセッサ/レンダラ2124はまた、システム2100の状態に関する情報を通信リンク2126に送る。
【0076】
周辺マイクロホン2102Bおよびプレーヤマイクロホン2102Dからのオーディオ入力は、最初、入力ユニット2104を通過し、次に、キャプチャされたデータを音声認識ユニット2114に送ってもよい音声キャプチャユニットによってキャプチャされてもよい。次に、音声データは、音響効果ライブラリ2106からの入力を受信しうる音声プロセッサ2118に送られてもよい。音響効果ライブラリ2106は、所定の音響効果2106Aおよびカスタム音響効果2106Bとして示す少なくとも2つのライブラリを含み、ユーザによって選択的に適用され、またはシステム2100によって自動的に供給されうる。音響効果ライブラリは、ライブラリに所定のカスタムオーディオ効果がある限り、ライブラリの数を増減させることも可能である。一実施形態において、音声プロセッサ2118は、オーディオ出力2130として示すシステム2100の最終混合音声を出力し、システム2100の状態に関する情報を通信リンク2126に送る。
【0077】
一実施形態において、通信リンク2126は、システム2100をネットワーク2128に接続し、このネットワーク2128は、システム2100と対話可能であり、リモートユーザ(図示せず)によって作動されたリモートシステム2150とシステム2100とを接続しうる。図21は、ネットワーク2128を介して単一のリモートシステム2150に接続されているシステム2100を示すが、複数のリモートシステム2150およびそれらに対応するユーザが、ネットワーク2128を介してシステム2100に接続されてもよいことを理解されたい。リモートシステム2150は、システム2100から受信したデータに基づいて、システム2100の状態を理解可能である。リモートシステム2150は、オーディオ出力2154およびビデオ出力2152を生成する前に、システム2100の状態に関する情報と、リモートユーザからの入力とを結合する。
【0078】
図22Aは、本発明の一実施形態による、レースの対戦中の2人のプレーヤから見たスクリーンを示す。運転シミュレーションゲームを基にしたこの例で、本発明に関するさらなる本質が分かるであろう。この例では、2人のプレーヤが、ゲームプレイ中にアバターに感情的特徴を与えうる運転シミュレーションを用いて、レースの対戦をしている。プレーヤ1およびプレーヤ2は、物理的に異なる場所にいてもよく、各プレーヤのゲーム状態に関するデータを送信するためにインターネットを使用してもよい。各プレーヤのそれぞれの場所にあるマイクロホンおよびカメラは、ゲームプレイに対するプレーヤの反応をモニタリングしてもよい。一実施形態において、マイクロホンは、プレーヤの可聴反応をモニタリングでき、また一方で、カメラは、ゲームプレイに反応してプレーヤの物理的な動きをモニタリングしうる。他の実施形態において、コントローラは、コントローラの位置およびピッチの変化速度、回転、揺れ、加速、および相対運動に関するデータをコンピュータシステムに中継するように構成されうる。各プレーヤは、カスタムアバターを有してもよく、各プレーヤは、対戦相手のアバターを自らのスクリーン上で見ることができる。
【0079】
一実施形態において、ビデオスクリーン2200が、2つのウィンドウを含んでもよく、ウィンドウ2204は、ゲーム中にプレーヤ1が見ているものを示し、ウィンドウ2202は、プレーヤ2のアバターを示す。また、ビデオスクリーン2206は、2つのウィンドウを含んでもよく、ウィンドウ2210は、ゲーム中にプレーヤ2が見ているものを示し、ウィンドウ2208は、プレーヤ1のアバターを示す。異なる実施形態において、2人以上のオンラインの対戦相手を表すためのアバターウィンドウが複数あってもよい。別の実施形態において、別のアバターウィンドウがないこともあるが、その代わりに、アバターが、ゲームを表示するウィンドウ上に重ね合わされてもよい。ビデオスクリーン2200内に、スクリーンを組み合わせたものが他にも多数ある場合もあり、上述した例は、限定的なものではない。
【0080】
この例において、レースのスタート時、プレーヤ1は、好調なスタートをしていない。これは、プレーヤ2が「運転する」車2212がプレーヤ1に見えているため、ウィンドウ2204で見ることができる。ほぼリアルタイムに、スクリーン2210に示されるように、プレーヤー2は、その前方には何もなく、プレーヤ1の実際の顔の表情の結果としてのプレーヤ1の顔の表情のアバターを見ることができる。プレーヤ1の実際の顔の表情は、カメラによってキャプチャされ、プレーヤ1のアバターは、プレーヤ1の実際の反応を模倣するように修正される。逆に、プレーヤ1は、プレーヤ1のスタートが良くなかったことに反応して舌を出しているプレーヤ2のアバターを見ることができる。このように、ウィンドウ2208に示すプレーヤ1のアバターは、プレーヤ1の体の動きおよび顔の表情を反映するように修正されうる。同様に、ウィンドウ2202に示すプレーヤ2のアバターは、プレーヤ2の体の動きおよび顔の表情を反映するように修正されうる。顔の表情を修正しうる範囲は、目の特徴、口の特徴、眉毛の特徴の修正、またはそれらの組み合わせを含むが、これらに限定されるものではない。
【0081】
図22Bは、レースの続きであり、ウィンドウ2204’にあるプレーヤ1の透視図から分かるように、プレーヤ2は、車をスピンしている。ほぼリアルタイムに、プレーヤ1は、スピンしているプレーヤ2のアバターを見ることができ、このとき、プレーヤ2のアバターは、プレーヤ2の場所にあるカメラによってキャプチャされたプレーヤ2の実際の顔の表情の表現に基づいて修正される。ゲームプレイイベントを自動的に検知する実演として、ウィンドウ2202’に示すように、プレーヤ2のアバターの頭部を飛ぶ漫画の鳥が自動的に表示され、スピンアウト後のめまいを示す。めまいは、自動的に修正されたアバターの1つの特定の例であって、限定的になるように意図したものではない。現実世界のユーザによって引き起こされたり命令されたりするアクションに応答して、自動的に実行されるものを含む自動アバター修正の可能性は無限にある。別の実施形態において、プレーヤのアバター描写は、ゲームプレイイベントに応答して自動的に部分的に修正される。プレーヤのアバターの任意の自動修正が、現実世界のユーザのモニタされた反応と必ずししも完全に一致するわけではないことに留意されたい。
【0082】
プレーヤ2のアバターは、ウィンドウ2202’に示されているように、イライラしてコントローラを掴みながら手を上げている。ビデオカメラは、ユーザのビデオをキャプチャするために使用されえ、さまざまなプログラムおよびプロセッサが、キャプチャされたビデオ内のユーザの動きを解析し検出するために使用されうる。ユーザの検出された動きは、第1のユーザのアバター描写にマッピングされ、ほぼリアルタイムに第2のユーザに表示されうる。ウィンドウ2208’に見られるように、プレーヤ1のアバターは、プレーヤ1がスピンアウトしたのを見た反応として目を見開いている。上記に挙げた修正された反応は、限定的であるように意図されたものではなく、アバターは、現実世界のユーザの動き、顔の反応、または音として聞こえる反応の変化を含むように修正されうることに留意されたい。一実施形態において、カメラおよびそれに関連するソフトウェアは、顔の表情、頭部の動き、および手の動きの変化に関して現実世界のユーザをモニタし、ほぼリアルタイムに現実世界のユーザのアバター描写を継続的に更新するように使用されうる。
【0083】
ユーザからの音として聞こえる反応は、マイクロホンを用いてキャプチャされうる。ハードウェアとソフトウェアとの組み合わせが、キャプチャされた音として聞こえる反応にある言葉を検出するために使用されうる。次に、検出された言葉は、選択された言葉がゲームプレイ中にプレーヤ間で伝達されるようにフィルタリングされうる。一実施形態において、検出されたフィルタリングされた言葉は、プレーヤのアバターと関連付けられたテキストバブルを用いて、原文のまま伝達されうる。別の実施形態において、検出されフィルタリングされた言葉は、第2のプレーヤの対話型ゲームセットアップと関連付けられたスピーカを介して聞こえるように伝えられる。さらなる別の実施形態において、検出されフィルタリングされた言葉は、聞こえるように原文のまま伝達される。一実施形態において、検出された言葉は、特定のゲームの娯楽ソフトウェア格付け委員会(ESRB)の格付けに基づいて、特定の言葉を含んだり排除したりするようにフィルタリングされうる。他の実施形態において、親が言葉のフィルタレベルを設定できる。
【0084】
図22Cは、アバターに感情的特徴を与えうる別の例を示す。プレーヤ1は、ウィンドウ2204”のプレーヤ1の前の道路には何もない状態から分かるように、スピンアウトしたプレーヤ2を追い越している。ウィンドウ2202”は、プレーヤ2のアバターを示し、ウィンドウ2208”は、プレーヤ2を追い越したことの感情的応答として、頭を振って体を動かすプレーヤ1のアバターを示す。ウィンドウ2210”は、プレーヤ2の前にあるプレーヤ1の車を示す。
【0085】
図23は、ボクシングシミュレーション中の対戦相手の反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、アバターウィンドウが、パンチを受けるプレーヤの顔の表情の反応を示しているため、パンチを放った側のプレーヤの斜視図のものである。
【0086】
図24は、ボクシングシミュレーション中の対戦相手の反応をアバターウィンドウに示す。この例において、図示してゲームスクリーンは、アバターウィンドウが、パンチを放ったプレーヤの威嚇する反応を示しているため、パンチを受ける側のプレーヤの斜視図のものである。
【0087】
図25は、ロールプレイングゲーム中のチームメンバーの反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、アバターウィンドウが、宝物箱を開けるプレーヤの嬉しそうな反応を示すため、開きつつある宝物箱を見つめるプレーヤの斜視図のものである。
【0088】
図26は、運転シミュレーション中のプレーヤの反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、第2の場所にいるプレーヤの斜視図のものであり、アバターウィンドウは、ゲームスクリーンに見える飛行車を運転するプレーヤの驚いた顔の表情を反映している。
【0089】
図27は、ゴルフシミュレーション中の対戦相手の反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、パッティング中のプレーヤの斜視図のものであり、アバターウィンドウは、パッティングするプレーヤを見る対戦相手が神経質になっている状態を示す図22A〜図27に挙げた例は、ゲームプレイ中にコンピュータ生成されたアバターの感情的特徴の応用の可能性を示すように意図されたものである。応用の可能性は多くあり、前述した例は、例示的なものであって限定を意図したものではない。
【0090】
図28は、本発明の一実施形態によるアバター制御システムを実施するためのコントローラと互換性のあるものであってもよいコンソールである、ソニー(登録商標)プレイステーション3(登録商標)のエンタテインメント機器のシステムアーキテクチャ全体を略図的に示す。システムユニット2800が設けられ、システムユニット2800には、さまざまな周辺デバイスが接続される。システムユニット2800は、セルプロセッサ2828と、ランバス(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット2826と、専用ビデオランダムアクセスメモリ(VRAM)ユニット2832を有するリアリティシンセサイザグラフィックユニット2830と、I/Oブリッジ2834とを含む。また、システムユニット2800は、ディスク2840aを読み取るためのブルーレイ(登録商標)ディスクBD−ROM(登録商標)光ディスクリーダ2840と、I/Oブリッジ2834を介してアクセス可能なリムーバブルスロットインハードディスクドライブ(HDD)2836とを含む。任意に、システムユニット2800は、コンパクトフラッシュメモリカード、メモリスティック(登録商標)メモリカードなどを読み取るためのメモリカードリーダ2838をさらに含み、メモリカードリーダ2838は、I/Oブリッジ2834を介して同様にアクセス可能である。
【0091】
I/Oブリッジ2834はまた、6つのユニバーサルシリアルバス(USB)2.0ポート2824と、ギガビットイーサネットポート2822と、IEEE802.11b/gワイヤレスネットワーク(ワイファイ)ポート2820と、最高7つのブルートゥース接続の支持可能であるブルートゥース(登録商標)ワイヤレスリンクポート2818とに接続される。
【0092】
動作中、I/Oブリッジ2834は、1つ以上のゲームコントローラ2802からのデータを含む、すべてのワイヤレス、USB、およびイーサネットデータを取り扱う。例えば、ユーザがゲームをしているとき、I/Oブリッジ2834は、ブルートゥースリンクを介してゲームコントローラ2802からデータを受信し、それに従い、ゲームの現在の状態を更新するセルプロセッサ2828にデータを送る。
【0093】
ワイヤレス、USB、およびイーサネットポートはまた、リモートコントロール2804、キーボード2806、マウス2808、ソニープレイステーションポータブル(登録商標)エンタテインメント機器などのポータブルエンタテインメント機器2810と、アイトーイ(Eye Toy)(登録商標)ビデオカメラ2812などのビデオカメラと、マイクロホンヘッドセット2814などのゲームコントローラ2802に加えて他の周辺機器に接続を与える。したがって、このような周辺機器は、原則的に、システムユニット2800にワイヤレス接続され、例えば、ポータブルエンタテインメント機器2810は、ワイファイアドホック接続を介して通信してもよく、マイクロホンヘッドセット2814は、ブルートゥースリンクを介して通信してもよい。
【0094】
これらのインタフェースの提供は、プレイステーション3デバイスが、ディジタルビデオレコーダ(DVR)、セットトップボックス、ディジタルカメラ、ポータブルメディアプレーヤ、IP電話を利用した音声通信機器、モバイル電話、プリンタ、およびスキャナなどの他の周辺機器とも互換性の可能性があるということを意味する。
【0095】
さらに、プレイステーション(登録商標)またはプレイステーション2(登録商標)デバイスによって使用される種類のメモリカード2848を読み取ることが可能な従来のメモリカードリーダ2816が、USBポート2824を介してシステムユニットに接続されてもよい。
【0096】
この実施形態において、ゲームコントローラ2802は、ブルートゥースリンクを介してシステムユニット2800とワイヤレス通信するように動作可能である。しかしながら、ゲームコントローラ2802は、その代わりに、USBポートに接続され、この接続により電力を得て、ゲームコントローラ2802のバッテリーが充電される。1つ以上のアナログジョイスティックおよび従来の制御ボタンの他にも、ゲームコントローラは、各軸の並進および回転に対応する6自由度の運動に感応性がある。結果的に、ゲームコントローラのユーザによるジェスチャおよび動きは、従来のボタンまたはジョイスティック命令に加え、またはその代わりに、ゲームへの入力として変換されてもよい。任意に、プレイステーション(登録商標)ポータブルデバイスなどの他のワイヤレス使用可能周辺機器が、コントローラとして使用されてもよい。プレイステーション(登録商標)ポータブルデバイスの場合、デバイスのスクリーン上に、追加のゲームまたはコントロール情報(例えば、制御命令や命の数)が提供されてもよい。また、ダンスマット(図示せず)、ライトガン(図示せず)、ハンドルとペダル(図示せず)、または迅速な応答のクイズゲーム(図示せず)用の1つまたは複数の大きなボタンなどの特注コントローラなどの他の別の補助的な制御デバイスが使用されてもよい。
【0097】
リモートコントロール2804はまた、ブルートゥースリンクを介してシステムユニット2800とワイヤレス通信するように動作可能である。リモートコントロール2804は、ブルーレイ(登録商標)ディスクBD−ROMリーダ2840を動作し、ディスクコンテンツをナビゲーションするのに適したコントロールを含む。
【0098】
ブルーレイ(登録商標)ディスクBD−ROMリーダ2840は、従来の記録済みおよび追記型のCDと、いわゆるスーパーオーディオCDに加え、プレイステーションおよびプレイステーション2デバイスと互換性のあるCD−ROMを読み取るように動作可能である。リーダ2840はまた、従来の記録済みおよび追記型DVDに加え、プレイステーション2およびプレイステーション3デバイスと互換性のあるDVD−ROMを読み取るように動作可能である。リーダ2840は、プレイステーション3デバイスとともに、従来の記録済みおよび追記型のブルーレイディスクと互換性のあるBD−ROMを読み取るようにさらに動作可能である。
【0099】
システムユニット2800は、リアリティシンセサイザグラフィックユニット2830を介して、オーディオおよびビデオコネクタを通して、ディスプレイ2814および1つ以上のラウドスピーカ2846を有するモニタまたはテレビ受像機セットなどのディスプレイおよび音声出力デバイス284に、プレイステーション3デバイスによって生成または復号化されたオーディオおよびビデオを供給するように動作可能である。オーディオコネクタ2850は、従来のアナログおよびディジタル出力を含んでもよく、ビデオコネクタ2852は、コンポーネントビデオ、Sビデオ、複合ビデオ、および1つ以上の高解像度マルチメディアインタフェース(HDMI)出力を種々に含んでもよい。結果的に、ビデオ出力は、PALまたはNTSCなどの形式のものであっても、720p、1080i、または1080p高解像度のものであってもよい。
【0100】
オーディオ処理(生成、復号など)が、セルプロセッサ1128によって実行される。プレイステーション3デバイスのオペレーティングシステムは、ドルビー(登録商標)5.1サラウンドサウンド、ドルビー(登録商標)シアターサラウンド(DTS)、およびブルーレイ(登録商標)ディスクからの7.1サラウンドサウンドの復号をサポートする。
【0101】
本発明の実施形態において、ビデオカメラ2812は、単一の電荷結合素子(CCD)と、LEDインジケータと、ハードウェアベースの実時間データ圧縮および符号化装置とを含み、この装置では、システムユニット2800によって復号化するためのイントラ画像ベースのMPEG(動画専門家グループ)標準などの適切な形式で圧縮ビデオデータ送信されてもよい。カメラLEDインジケータは、例えば、劣悪な照明条件を表すために、システムユニット2800からの適切な制御データに応答して照明するように配設される。ビデオカメラ2812の実施形態は、USB、ブルートゥース、またはワイファイ通信ポートを介して、システムユニット2800に種々に接続されてもよい。ビデオカメラの実施形態は、1つ以上の関連するマイクロホンを含んでもよく、オーディオデータを送信可能であってもよい。ビデオカメラの実施形態において、CCDの解像度は、高解像度ビデオキャプチャに適したものであってもよい。使用中、ビデオカメラによってキャプチャされる画像は、例えば、ゲーム内に取り込まれてもよく、またはゲーム制御入力として解釈されてもよい。
【0102】
一般に、システムユニット2800の通信ポートの1つを介して、ビデオカメラやリモートコントロールなどの周辺デバイスとのデータ通信をうまく行うために、デバイスドライバなどの適切なソフトウェアを提供する必要がある。デバイスドライバ技術は周知のものであるため、本明細書に記載する実施形態においてデバイスドライバまたは同様のソフトウェアインタフェースが要求されるであろうことを当業者が認識しているであろうことを述べるだけで、本明細書においては詳細に記載しない。
【0103】
以下、図29を参照すると、セルプロセッサ2828は、4つの基本的なコンポーネント、すなわち、メモリコントローラ2960およびデュアルバスインタフェースコントローラ2970A、Bを含む外部入出力構造と、パワー処理エレメント2950と呼ばれるメインプロセッサと、相乗的処理エレメント(SPE)2910A〜Hと呼ばれる8つのコプロセッサと、エレメントインターコネクトバス2980よ呼ばれる上記コンポーネントを接続する巡回データバスとを含むアーキテクチャを有する。セルプロセッサの総浮動小数点性能は、プレイステーション2デバイスのエモーションエンジンの6.2GFLOPSと比較すると、218GFLOPSである。
【0104】
パワー処理エレメント(PPE)2950は、3.2GHzの内部クロックで動作し、二方向同時マルチスレッディングパワー970に対応したパワーPCコア(PPU)2955に基づいたものである。PPE2950は、512kBのレベル2(L2)キャッシュと、32kBのレベル1(L1)キャッシュとを含む。PPE2950は、3.2GHzで25.6GFLOPSに変換するクロックサイクル当たり8つの単位置演算が可能である。PPE2950の主な役割は、計算作業量のほとんどを取り扱う相乗的処理エレメント2910A〜Hのコントローラとして作用することである。動作中、PPE2950は、相乗的処理エレメント2910A〜Hのジョブをスケジューリングし、その進行をモニタしながら、ジョブキューを維持する。結果的に、各相乗的処理エレメント2910A〜Hは、ジョブをフェッチし、実行し、PPE2950と同期させる役割のカーネルを実行する。
【0105】
各相乗的処理エレメント(SPE)2910A〜Hは、それぞれ、相乗的処理ユニット(SPU)2920A〜Hと、ダイナミックメモリアクセスコントローラ(DMAC)2942A〜Hをそれぞれ含むそれぞれのメモリフローコントローラ(MFC)2940A〜Hと、メモリ管理ユニット(MMU)2944A〜Hと、バスインタフェース(図示せず)とを含む。各SPU2920A〜Hは、3.2GHzのクロック周波数のRISCプロセッサであり、原則的に、4GBまで拡張可能な256kBのローカルRAM2930A〜Hを含む。各SPEは、理論値25.6GFLOPSの単精度性能を与える。SPUが、単一のクロックサイクルにおいて4つの単精度浮動小数点要素、4つの32ビット数値、8つの16ビット整数、または16個の8ビット整数で動作しうる。同じクロックサイクルにおいて、SPUは、メモリ動作も実行しうる。SPU2920A〜Hは、システムメモリXDRAM2826に直接アクセスせず、SPU2920A〜Hによって形成された64ビットは、MFC2940A〜Hに送られ、MFC2940A〜Hは、そのDMAコントローラ2942A〜Hに命令して、エレメントインターコネクトバス2980およびメモリコントローラ2960を介してメモリにアクセスする。
【0106】
エレメントインターコネクトバス(EIB)2980は、セルプロセッサ282の内部にある論理的に巡回型の通信バスであり、この通信バスは、上記プロセッサエレメント、すなわち、PPE2950、メモリコントローラ2960、デュアルバスインタフェース2970A、B、および8つのSPE1210A〜Hの全部で12の関与エレメントを接続する。関与エレメントは、1クロックサイクル当たり8バイトのレートでバスに同時に読み書きされうる。前述したように、各SPE2910A〜Hは、より長い読み取りまたは書き込みシーケンスをスケジューリングするためのDMAC2942A〜Hを含む。EIBは、4つのチャネルを含み、2つずつがそれぞれ、時計回りおよび反時計回りの方向である。結果的に、12の関与エレメントに対して、任意の2つの関与エレメントの間の最も長い段階的なデータフローのステップ数は、適切な方向において6段階である。したがって、12スロットの理論ピーク瞬時EIB帯域幅は、関与エレメント間の調停によってすべて利用される場合、クロック当たり96Bである。これは、3.2GHzのクロックレートで307.2GB/s(1秒当たりのギガバイト)の理論ピーク帯域幅に等しい。
【0107】
メモリコントローラ2960は、ランバス(Rambus)社によって開発されたXDRAMインタフェース2962を含む。メモリコントローラは、25.6GB/sの理論ピーク帯域幅をもつランバスXDRAM2826と連動する。
【0108】
デュアルバスインタフェース2970A、Bは、ランバス社製のFlexIO(登録商標)システムインタフェース2972A、Bを含む。インタフェースは、下り5経路および上り7経路を有する、それぞれが8ビット幅の12チャネルに体系化される。これにより、コントローラ2972Aを介したセルプロセッサおよびI/Oブリッジ2834と、およびコントローラ2972Bを介してリアリティシミュレータグラフィックユニット2830との間に、62.4GB/s(下り36.4GB/s、上り26GB/s)の理論ピーク帯域幅が得られる。
【0109】
セルプロセッサ2828によってリアリティシミュレータグラフィックユニット2830に送信されるデータは、典型的に、頂点を描き、テクスチャを多角形に適用し、照明条件を明示するなどの一連の命令である表示リストを含む。
【0110】
実施形態は、現実世界のユーザをさらに良好に識別し、アバターまたはシーンの活動を指示するために、深度データをキャプチャすることを含む。オブジェクトは、人が保持しているものであっても、人の手であってもよい。本明細書において、「深度カメラ」および「3次元カメラ」という用語は、2次元ピクセル情報の他にも、距離または深度情報を獲得可能な任意のカメラをさす。例えば、深度カメラが、距離情報を得るために、制御された赤外線発光体を利用しうる。別の例示的な深度カメラは、2つの標準的なカメラを用いて距離情報を三角測量するステレオカメラペアでありうる。同様に、「深度検知デバイス」という用語は、2次元ピクセル情報の他にも、距離情報を獲得可能な任意のタイプのデバイスをさす。
【0111】
3次元画像の最近の進歩により、リアルタイムの対話型コンピュータアニメーションの可能性が新たに増えてきた。特に、新しい「深度カメラ」では、通常の2次元ビデオ画像の他にも、第3次元をキャプチャしマッピングすることができる。新しい深度データを用いて、本発明の実施形態により、他のオブジェクトの後方を含む、ビデオシーン内のさまざまな位置にリアルタイムでコンピュータ生成オブジェクトを配置できる。
【0112】
さらに、本発明の実施形態により、ユーザにリアルタイムの対話型ゲーム体験が提供される。例えば、ユーザは、さまざまなコンピュータ生成オブジェクトとリアルタイムに対話できる。さらに、ビデオシーンは、ユーザのゲーム体験を高めるために、リアルタイムで変更されうる。例えば、コンピュータ生成のコスチュームを、ユーザの衣服の上にはめ込むことができ、コンピュータ生成の光源を、ビデオシーン内の仮想投影を映し出すために利用されうる。このようにして、本発明の実施形態および深度カメラを用いて、ユーザが、自分のリビングルームで対話型ゲーム環境を体験できる。通常のカメラと同様に、深度カメラが、ビデオ画像を含む複数のピクセルの2次元データをキャプチャする。これらの値は、ピクセルに対するカラー値であり、一般に、各ピクセルに対して赤、緑、および青の(RGB)値である。このようにして、カメラがキャプチャしたオブジェクトは、モニタ上に2次元オブジェクトとして現れる。
【0113】
本発明の実施形態はまた、分散型の画像処理構造についても検討する。例えば、本発明は、CPUまたはCPUとその他のエレメントなど、1つまたは2つの場所で行われている、キャプチャされた画像およびディスプレイ画像処理に限定されるものではない。例えば、入力画像処理は、処理を実行しうる関連のCPU、プロセッサ、またはデバイスにおいて容易に行うことができるものであり、原則的に全ての画像処理は、相互接続システムを通じて分散されうる。このように、本発明は、いずれの具体的な画像処理ハードウェア回路および/またはソフトウェアに限定されるものではない。本明細書に記載する実施形態もまた、一般のハードウェア回路および/またはソフトウェアの任意の特定の組み合わせにも、処理コンポーネントによって実行される命令に対する任意の特定のソースにも限定されるものではない。
【0114】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに格納されたデータを使用する、さまざまなコンピュータ実装動作を用いてもよいことを理解されたい。これらの動作には、物理量の物理的な操作を必要とする動作が含まれる。この物理量は、通常、格納、転送、結合、比較、または他の操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。さらに、実行される操作は、多くの場合、生成、識別、判断、または比較などの用語で参照される。
【0115】
本発明は、本明細書において提示されるように用いられてもよく、または、他のユーザ入力機構と組み合わせて、さらには、音声の角度方向をトラッキングする機構および/または能動的または受動的にオブジェクトの位置をトラッキングする機構、機械視覚を用いた機構、それらの組み合わせとともに用いられてもよく、トラッキングされているオブジェクトは、システムへのフィードバックを操作する補助コントロールやボタンを含んでもよく、このようなフィードバックは、光源からの光放出、音声歪み手段、または他の適切な送信機および変調器とともに、送信や変調に影響を与え、状態を符号化し、および/またはトラッキングされているデバイスとの間で命令を送信してもよいボタン、圧力パッドなどを含んでもよいが、これらに限定されるものではない。
【0116】
本発明は、ゲームコンソール、ゲームコンピュータまたはコンピュータデバイス、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施されてもよい。また、本発明は、分散コンピュータ環境で実施され、このような環境では、ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される。例えば、オンラインゲームシステムおよびソフトウェアが使用されてもよい。
【0117】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに格納されたデータを使用する、さまざまなコンピュータ実装動作を使用してもよいことを理解されたい。これらの動作は、物理量の物理的な操作を要するものである。この物理量は、通常、格納、転送、結合、比較、または他の操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。さらに、実行される操作は、多くの場合、生成、識別、判断、または比較などの用語で参照される。
【0118】
本発明の一部をなす本明細書に記載する動作はいずれも、有用な機械動作である。本発明は、これらの動作を実行するデバイスまたは装置にも関する。この装置は、上述したキャリアネットワークなど、所望の目的のために特別に作製されたものであってもよく、または、コンピュータに格納されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータであってもよい。特に、各種の汎用の機械が、本明細書の教示に従って記述したコンピュータプログラムとともに使用され、または、所望の動作を実行するためにさらに特化した装置を作製するほうが利便性が高いこともある。
【0119】
本発明はまた、コンピュータ可読媒体上にコンピュータ可読コードとして実現されることもできる。コンピュータ可読媒体は、データを格納しうる任意のデータストレージデバイスであってもよく、このデータは、コンピュータシステムによって読み取られうる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、フラッシュベースメモリ、CD−ROM,CD−R、CD−RW、DVD、磁気テープ、および他の光学および非光学データストレージデバイスを含む。コンピュータ可読媒体は、コンピュータ可読コードが分散式で格納され、実行されてもよいように、ネットワークに接続されたコンピュータシステム上に分散されうる。
【0120】
明確に理解できるようにするために、前述の発明をある程度詳細に記載してきたが、添付の特許請求の範囲内で特定の変更と修正がされるのは明らかであろう。したがって、本発明の実施形態は、例示的なものであり限定的なものではないと考慮されるべきであり、本発明は、本明細書で述べた詳細に限定されることはなく、添付の特許請求の範囲およびその等価物の範囲で修正されてもよい。
【技術分野】
【0001】
ビデオゲーム業界は、長年にわたり多くの変化を遂げてきた。コンピュータの処理能力の向上とともに、ビデオゲームの開発者らも、このような処理能力の高度化を利用したゲームソフトウェアを作製してきた。このため、ビデオゲームの開発者らは、非常にリアルなゲーム体験となるように高度な演算や数値演算を組み込んだゲームをコーディングしてきた。
【背景技術】
【0002】
このようなゲームのプラットフォームの例には、ソニー(Sony)社製のプレイステーション(Playsation)またはソニー社製のプレイステーション2(PS2)があり、これらは共にゲームコンソールの形態で販売されている。周知のように、ゲームコンソールは、モニタ(通常、テレビ受像機)に接続して、ハンドヘルドコントローラを介してユーザインタラクションが可能になるように設計される。ゲームコンソールは、CPU,重いグラフィック演算を処理するためのグラフィックシンセサイザ、ジオメトリ変換を実行するためのベクトル演算ユニット、およびグルーハードウェアと呼ばれるその他のハードウェア、ファームウェア、およびソフトウェアを含む専用の処理ハードウェアで設計されている。ゲームコンソールは、ゲームコンソールを介してローカルでプレイするためのゲームコンパクトディスクを受け入れるための光ディスクトレイを備えるようにさらに設計される。また、ユーザがインターネット上で他のユーザとインタラクティブな、つまり対話型の対戦プレイまたは協力プレイができるオンラインゲームも可能である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ゲームを複雑にしてプレーヤの興味を引き付けるために、ゲームのソフトウェアおよびハードウェアの製造業者らは、新しい手法を取り入れてさらなるインタラクティビティ、つまり対話性、を高めようとしてきた。しかしながら、実際、現在に至るまでユーザがゲームと対話する、即ちインタラクションを行うという方法に劇的な変化は訪れていない。通常、ユーザは今でもハンドヘルドコントローラを使ってコンピュータゲームをし、またはマウスポインティングデバイスを使ってプログラムとのインタラクションを行っている。
【0004】
前述の内容を鑑みて、ゲームプレイでより高度なユーザの対話性を実現する方法およびシステムが求められている。
【課題を解決するための手段】
【0005】
本発明は、言語的および非言語的コミュニケーションを改善し高めるために記載される。このシステムにより、ゲームプレイでのイベントに対する現実世界での反応を基に現実世界のプレーヤを表すアバターを修正することで、言語的および非言語的コミュニケーションが改善され高められる。この効果は、アバターの特定部位に組み込み可能なビデオピクセルパッチなどの多くの形態で表すことができる。ビデオピクセルパッチは、動いているビデオフレーム内に組み込まれるように適用されることが好ましく、その結果、リアルタイムな一体感を実質的に出せるようになる。
【0006】
一実施形態において、ゲームプレイイベントに対するユーザの反応に応答してアバターを修正するためのコンピュータで実行される方法が開示されている。アバターは、第1のユーザおよび第2のユーザの一方または両方を表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。この方法は、ゲームプレイを実行し、第1および第2のユーザの一方または両方の反応をモニタすることによって始まる。この方法は、ゲームプレイのディスプレイエリアの側部に沿って、第1および第2のユーザの一方または両方のアバター描写を表示することによって継続される。別の動作において、この方法は、ゲームプレイの実行中、第1および第2のユーザのモニタされた反応に応答して、第1および第2のユーザの一方または両方のアバター描写の反応を修正する。
【0007】
別の実施形態において、ゲームプレイイベントに対するユーザの反応に応答してアバターを修正するためのコンピュータで実行される方法が開示されている。アバターは、第1のユーザおよび第2のユーザの一方または両方を表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。この方法は、ゲームプレイを実行し、第1および第2のユーザの一方または両方の反応をモニタすることによって始まる。別の動作において、この方法は、ゲームプレイのディスプレイエリアの側部に沿って、第1および第2のユーザの一方または両方のアバター描写を表示する。この方法は、ゲームプレイの実行中、第1および第2のユーザのモニタされた反応に応答して、第1および第2のユーザの一方または両方のアバター描写の反応を修正することによって継続される。さらに、アバター描写は、ゲームプレイでのイベントに応答して自動的に少なくとも部分的に修正され、さらに、自動的に修正されると、アバター描写の修正は、第1または第2のユーザのモニタされた反応と完全には一致しない。
【0008】
さらなる別の実施形態において、ゲームプレイイベントに応答してアバターを自動的に修正するためのコンピュータで実行される方法が開示されている。アバターは、第1のユーザを表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。この方法は、ゲームプレイ中に起こるアクションを特定するためにゲームプレイイベントをモニタすることによって始まる。別の動作において、この方法は、ゲームプレイのアクションに対する応答を視覚的に伝えるために、ゲームプレイ中に起こる特定されたアクションに応答して、第1のユーザを表すアバターのグラフィック画像を修正する。さらなる別の動作において、この方法は、第1のユーザを表すアバターの修正されたグラフィック画像を第2のユーザに表示し、第1のユーザを表す修正されたアバターにより、第2のユーザは、第1のユーザに起こったゲームプレイのアクションを理解することができる。
【0009】
別の実施形態において、ゲームプレイでのイベントに対するユーザの反応に応答してアバターを修正するためのプログラム命令を有するコンピュータ可読媒体が開示されている。アバターは、第1のユーザおよび第2のユーザの一方または両方を表し、ゲームプレイでのイベントは、コンピュータプログラムの実行や、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力から生じる。ゲームプレイを実行するための媒体のプログラム命令は、第1および第2のユーザの一方または両方の反応をモニタするためのプログラム命令を有する。また、ゲームプレイのディスプレイエリアの側部に沿って第1および第2のユーザの一方または両方のアバター描写を表示するためのプログラム命令も含まれる。また、ゲームプレイの実行中、第1および第2のユーザのモニタされた反応に応答して、第1および第2のユーザの一方または両方のアバター描写の反応を修正するためのプログラム命令が含まれる。
【0010】
本発明は、添付の図面と併せて、以下の詳細な記載によって容易に理解されるものであり、同一の参照番号は、同一の構造上の要素を示す。
【図面の簡単な説明】
【0011】
【図1】画像キャプチャデバイスを有する対話型ゲームセットアップの説明図。
【図2】画像キャプチャデバイスの前方に配置されたオブジェクトの指向方向を確かめるための方法の説明図。
【図3】グラフィックディスプレイ上のオブジェクトと対応するための例示的なユーザ入力システムのブロック図。
【図4】本明細書に記載する本発明の実施形態を実施するように構成されたコンピュータ処理システムの簡易ブロック図。
【図5】別の入力デバイスとして機能する操作用物体との併用に適合されたビデオゲームコンソールの各種コンポーネントの構成を示すブロック図。
【図6】ユーザによって操作されるユーザ入力デバイスに対応するピクセル群をトラッキングして判別するために使用される機能ブロックを示すブロック図。
【図7】画像キャプチャユニットおよび音声キャプチャユニットを有するモニタの説明図。
【図8】2つの音源がある状況にある場合の音声キャプチャユニットの説明図。
【図9】方向選択ができるように三角測量アルゴリズムを用いた音声Aおよび音声Bの処理の説明図。
【図10】画像・音声キャプチャデバイスと併用可能なコンピュータシステムの説明図。
【図11】少なくとも4つのマイクロホンを含む例示的なオーディオモニタの説明図。
【図12】アレイビーム形成モジュールを示す簡易略図。
【図13】オーディオ信号のノイズと音源信号成分とを分離するためのブラインド音源分離方式を示す高水準略図。
【図14】適応ノイズキャンセレーションを組み込んだマイクロホンアレイフレームワークを示す略図。
【図15】図1の画像キャプチャデバイスと対話するための例示的なコントローラの平面図。
【図16】図1の画像キャプチャデバイスと対話するための例示的なコントローラの背面図。
【図17】矩形状のLEDを有するコントローラの平面図。
【図18a】矩形状のLEDを有するコントローラの背面図。
【図18b】LED、スピーカ、およびマイクロホンを組み込んだコントローラの背面図。
【図18c】背面パネルの中央に設置されたスピーカとともに矩形状のLEDを有するコントローラの背面図。
【図18d】弧状に配設された5つのLEDを有するコントローラの背面図を示す。
【図18e】幅広の矩形状に配設されたLEDを有するコントローラの背面図。
【図18f】6つのLEDがまとめて配設されたコントローラ。
【図19】多数のコントロールを含むインタフェースおよび動作検知デバイスを有するコントローラ。
【図20】コントローラの動きをコンピュータプログラムに伝達する例示的なプロシージャを表すフローチャート。
【図21】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図22】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図23】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図24】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図25】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図26】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図27】ゲームユーザの感情に反応し、アバター描写によってユーザの感情およびアクションを表すアバターの他の例であり、ゲームプレイ中に、ゲームのリアルタイムアクティビティに反応するアバターの例の説明図。
【図28】本発明の一実施形態によるアバター制御システムを実施するためのコントローラと適合可能なコンソールであるソニー(登録商標)社製のプレイステーション3(登録商標)エンタテインメント機器のシステムアーキテクチャ全体の概略説明図。
【図29】本発明の一実施形態によるセルプロセッサのアーキテクチャの概略説明図。
【発明を実施するための形態】
【0012】
以下の記載において、本発明を完全に理解できるように、具体的な詳細を数多く記載する。しかし、当業者であれば、本発明はこれらの特定の詳細のうちのいくつか、あるいはすべてがなくとも実施可能なことは明白であろう。場合によっては、本発明を不必要に分かりにくくすることがないように、周知のプロセスステップについては詳しく記載しない。
本明細書に記載する技術を用いることで、プレーヤの応答を画面上のアバターで表すことによって、複数プレーヤによるゲームでのユーザの体感性を高めることができる。アバターとは、ユーザが、複数プレーヤ環境またはネットワーク環境で他の参加者に自分を表すためにカスタマイズ可能なアイコンまたはグラフィックのことである。アバターは、目、眉毛、鼻、口、衣服、アクセサリーなどの特徴を含む多種多様なパラメータを使ってカスタマイズすることができる。アバターに加えられるカスタマイズの可能性には数に制限がなく、上記に挙げた数種類の特徴は、限定的になるように意図されたものではない。
【0013】
オンラインか、または同じコンピュータシステムからの複数プレーヤモードを用いた対戦相手とのゲームプレイ中、ゲーム中に起こるイベントに対する感情的または身体的反応や、ユーザの表情の変化、発声、および体の動きを表すために、ユーザのアバターを使用できる。顔の特徴および体の動きの認識は、以下にさらに詳細に記載するように、画像処理とともにコンピュータシステムの一部であってもよいビデオキャプチャデバイスを用いて行われうる。
【0014】
さらに、画像キャプチャおよび処理技術、またはコントローラデバイス内に位置する加速度計などのモーションセンサの一方または両方を用いて、コンピュータシステムを参照しながらコントローラの加速、ピッチ、揺れ、回転、および物理的な場所を決定するために、コンピュータシステムと対話する、つまりインタラクションを行うために使用されるハンドヘルドコントローラデバイスが装備されうる。ゲームプレーヤからの言語的反応は、音声モニタリング・音声処理ロジックを含む種々の方法を用いて認識されうる。この情報の一部またはすべてが、コンピュータシステムによって受け取られ、ほぼリアルタイムにユーザのアバターに適用され、対応する実際のユーザのアクションや反応を模倣するようにされうる。一実施形態では、プレーヤの対戦相手のアバターしか視認できない。別の実施形態では、ユーザは、自分のアバター上にあるアニメーションを目にすることができる。
【0015】
図1は、本発明の一実施形態による対話型ゲームセットアップ100を示す。対話型ゲームセットアップ100は、コンピュータ102を含み、コンピュータ102は、本明細書において「コンソール」とも呼ばれ、ディスプレイ画面110に結合されてもよい。画像キャプチャデバイス105が、ディスプレイ画面110の上部に配置され、コンピュータ102に結合されてもよい。コンピュータ102は、ユーザがビデオゲームをできるようにし、コントローラ108を介してビデオゲームとのインタフェースとなりうるゲームシステムコンソールであってもよい。画像キャプチャデバイス105は、ディスプレイ画面110の上部に配置されて示されているが、画像キャプチャデバイス105は、ディスプレイ画面110の正面付近の位置にある画像をキャプチャできるような任意の他の近接した場所に配置されうることを理解されたい。これらの動きや対話をキャプチャする技術にはさまざまなものがありうるが、2003年2月21日に同日出願され、参考により本明細書に援用されたものとする英国特許出願第0304024.3号明細書(PCT/GB2004/000693)および同第0304022.7号明細書(PCT/GB2004/000703)に、例示的が技術が記載されている。
【0016】
一実施形態において、画像キャプチャデバイス105は、標準的なウェブカムのような簡易なものであってもよく、より高度な技術を含むものであってもよい。画像キャプチャデバイス105は、画像をキャプチャし、ディジタル化し、画像データをコンピュータ102に戻すことが可能であってもよい。いくつかの実施形態では、画像キャプチャデバイスに、ディジタル化を実行するためのロジックが一体化されており、別の実施形態では、画像キャプチャデバイス105は、ディジタル化するために、アナログビデオ信号をコンピュータ102に送信するだけである。いずれの場合も、画像キャプチャデバイス105は、画像キャプチャデバイス105の正面に位置する任意のオブジェクトのカラー画像または白黒画像のいずれかをキャプチャ可能であってもよい。
【0017】
図2は、頭部および/またはコントローラの位置と動きを確認するために、画像キャプチャデバイス105によって画像データを処理するための例示的なコンピュータ102を示す。図示するように、コンピュータ102は、画像キャプチャデバイス105に接続されてもよい。画像キャプチャデバイス105は、キャプチャ領域105aに焦点を当てるように設計されてもよい。この例では、人112が、コンピュータ102によって実行されているコンピュータプログラムとのインタラクションを行うように意図したものであってもよい。コンピュータプログラムは、この例において、ディスプレイ画面110によって描画され表示可能なビデオゲームであってもよい。
【0018】
図示した例にあるビデオゲームは、WWII複葉機シューティングゲームであり、人112がターゲットに狙いを定め、自分のパフォーマンスに見合った点を稼ぐことを目的としたゲームである。画像キャプチャデバイス105は、人112の頭120の場所、および/または、人112の手122によって保持されたコントローラの場所を決定するために、人112のディジタル画像キャプチャを解析しうる。図示するように、人112の手は、体の正面に伸びた状態にあってもよく、画像キャプチャデバイスは、キャプチャしたディジタル画像を検査したときにコントローラ124を識別する。キャプチャしたディジタル画像はまた、人112の頭120の場所を確かめるために、コンピュータ102で実行されるコードによって検査されてもよい。一実施形態において、頭部トラッキングは、顔検出コードに結合され、テンプレート照合(速度性能用)と組み合わせて完了してもよい。顔検出コードは、本質的に、ユーザの目および他の顔の特徴の位置を特定することによって、ユーザの顔の場所を識別する。頭および顔の検出に関するさらなる情報が必要であれば、「METHOD AND APPARATUS FOR ADJUSTING A VIEW OF A SCENE BEING DISPLAYED ACCORDING TO TRACKED HEAD MOTION」という発明の名称であり、2003年9月15日に出願され、参照により本明細書に援用されたものとする米国特許出願第10/663,236号明細書を参照されたい。
【0019】
コントローラ124は、一実施形態において、キャプチャしたディジタル画像を解析するプログラムが、オブジェクト124の場所を容易に識別するように、識別子を有し、この識別子は、オブジェクトに結合される色や発光体(例えば、発光ダイオード「LED」)とすることができる。以下、図15〜図19を参照しながら、例示的なこのような識別子についてさらに詳細に記載する。ユーザ112の頭120の動きは、ゲームでの身体的な応答、例えば、画面上の要素が頭をかがめたり、身をかわしたりする応答として解釈でき、これらの動きは、以下にさらに詳細に記載するように、ユーザのアバターに適用されうる。
【0020】
図3は、本発明の実施形態を実施するために使用されうるグラフィックディスプレイ上のオブジェクトと対話するための例示的なユーザ入力システムのブロック図である。図3に示すように、ユーザ入力システムは、ビデオキャプチャデバイス300と、入力画像プロセッサ302と、出力画像プロセッサ304と、ビデオディスプレイデバイス306とを含むものであってもよい。ビデオキャプチャデバイス300は、ビデオ画像シーケンスをキャプチャ可能な任意のデバイスであってもよく、一実施形態において、ディジタルビデオカメラ(「ウェブカム」など)や同様の画像キャプチャデバイスであってもよい。
【0021】
ビデオキャプチャデバイス300は、深度画像を与えるように構成されてもよい。本明細書において、「深度カメラ」および「3次元カメラ」という用語は、2次元のピクセル情報だけでなく、距離または深度情報を得ることが可能な任意のカメラをさす。例えば、深度カメラは、距離情報を得るために、制御された赤外線発光体を利用しうる。別の例示的な深度カメラは、2つの標準カメラを使用して距離情報を三角法で測定するステレオカメラペアでありうる。同様に、「深度検知デバイス」という用語は、2次元のピクセル情報だけでなく、距離情報を得ることが可能な任意のタイプのデバイスをさす。
【0022】
したがって、カメラ300は、通常の2次元ビデオ画像の他にも、第3次元をキャプチャしマッピングする能力を備えうる。通常のカメラと同様に、深度カメラは、ビデオ画像を含む複数のピクセルの2次元データをキャプチャする。これらの値は、ピクセルに対するカラー値であり、一般に、各ピクセルに対して、赤、緑、および青(RGB)の値である。この方法で、カメラによってキャプチャされたオブジェクトは、モニタ上に2次元オブジェクトとして現れる。しかしながら、従来のカメラとは異なり、深度カメラは、シーンの深度値を表すシーンのz成分もキャプチャする。深度値は、典型的に、z軸に割り当てられるため、深度値は、z値と呼ばれることが多い。
【0023】
動作中、シーンの各ピクセルに対して、z値がキャプチャされてもよい。各z値は、カメラから、関連するピクセルに対応するシーンにある特定のオブジェクトまでの距離を表す。さらに、最大検出範囲が規定され、その最大検出範囲を超えると、深度値は検出されない。この最大検出範囲面は、ユーザ規定のオブジェクトトラッキングを提供するために、本発明の実施形態によって利用されうる。このように、深度カメラを用いると、各オブジェクトを3次元でトラッキングすることができる。その結果、本発明の実施形態のコンピュータシステムは、2次元ピクセルデータとともにz値を利用することで、ユーザに対して改良した3次元対話環境を生成することができる。深度解析に関する情報がさらに必要であれば、「System and Method for Providing a Real-time three dimensional interactive environment」という発明の名称であり、2003年5月29日に出願され、参照により本明細書に援用されたものとする米国特許出願第10/448,614号明細書を参照されたい。
【0024】
図3を再度参照すると、入力画像プロセッサ302は、制御オブジェクトのキャプチャしたビデオ画像(深度画像であってもよい)を信号に変換し、この信号は、出力画像プロセッサに送られる。一実施形態において、入力画像プロセッサ302は、深度情報によってキャプチャされたビデオ画像にある背景から制御オブジェクトを切り離し、制御オブジェクトの位置および/または動きに応答して出力信号を発声するようにプログラムされてもよい。出力画像プロセッサ304は、入力画像プロセッサ302から受信した信号に応答して、ビデオディスプレイデバイス306上でのオブジェクトの並進および/または回転運動を行うようにプログラムされてもよい。
【0025】
本発明の上記および付加的な態様は、ソフトウェア命令を実行する1つ以上のプロセッサによって実施されてもよい。本発明の一実施形態によれば、単一のプロセッサが、入力画像処理と出力画像処理の両方を実行する。しかし、図面に示すように、また、説明を簡略化するために、処理動作は、入力画像プロセッサ302と出力画像プロセッサ304との間で分割されているものとして示されている。本発明は、2つ以上のプロセッサなど、いずれの特定のプロセッサ構造に限定されるものとして解釈されるべきではないことに留意されたい。図3に示す複数の処理ブロックは、説明するために便宜上、示しているにすぎない。
【0026】
図4は、本明細書に記載する本発明の実施形態を実施するために構成されたコンピュータ処理システムの簡易ブロック図である。処理システムは、メインメモリ420に結合された中央処理装置(「CPU」)424と、グラフィック処理装置(「GPU」)426とを含むコンピュータベースのエンターテイメントシステムの実施形態であってもよい。CPU424は、入出力プロセッサ(「IOP」)バス428に結合されてもよい。一実施形態において、GPU426は、ピクセルベースのグラフィックデータを高速処理するための内部バッファを含む。さらに、GPU426は、出力処理部、言い換えれば、処理された画像データを標準的なテレビ信号、例えば、NTSCまたはPALに変換し、エンタテインメントシステムまたはその要素の外部に接続されているディスプレイデバイス427に、そのテレビ信号を送信するための機能を含みうる。他の形態では、データ出力信号は、テレビモニタ以外のディスプレイデバイス、例えば、コンピュータモニタ、LCD(液晶ディスプレイ)デバイス、またはその他のタイプのディスプレイデバイスなどに送られうる。
【0027】
IOPバス428は、CPU424をさまざまな入出力デバイスおよびその他のバスまたはデバイスに結合する。IOPバス428は、入出力プロセッサメモリ430、コントローラ432、メモリカード434、ユニバーサルシリアルバス(USB)ポート436、IEEE1394(ファイアワイヤインタフェースとしても周知)ポート438、およびバス450に接続されてもよい。バス450は、オペレーティングシステム(「OS」)ROM440、フラッシュメモリ442、音声処理ユニット(「SPU」)444、光ディスク制御4、およびハードディスクドライブ(「HDD」)448を含むいくつかの他のシステムコンポーネントをCPU424に結合する。この実施形態の1つの態様において、ビデオキャプチャデバイスは、IOPバス428を介してCPU424への送信を行うためにIOPバス428に直接接続され、ここで、ビデオキャプチャデバイスからのデータは、GPU426にあるグラフィック画像を生成するために使用される値を変更または更新するために使用されうる。さらに、本発明の実施形態では、「METHOD AND APPARATUS FOR REAL TIME MOTION CAPTURE」という発明の名称であり、2003年2月11日に出願され、内容全体が参照により本明細書に援用されたものとする米国特許出願第10/365,120号明細書に記載されているもののように、種々の画像処理構成および技術が用いられうる。コンピュータ処理システムは、セル(登録商標)プロセッサで実行されてもよい。
【0028】
図5は、本発明の一実施形態による別の入力デバイスとして機能する操作用物体との併用に適応されたビデオゲームコンソールの各種コンポーネントの構成のブロック図である。例示的なゲームコンソール510には、コンソール510全体を制御するためのマルチプロセッサユニット(MPU)512と、プログラムの各種操作およびデータ記憶に使用されてもよいメインメモリ514と、幾何学的処理に必要な浮動小数点のベクトル計算を実行するためのベクトル計算ユニット516と、MPU512からの制御に基づいてデータを生成するとともに、ビデオ信号をモニタ110(例えば、CRT)に出力するための画像プロセッサ520と、MPU512またはベクトル計算ユニット516と画像プロセッサ520との間の伝送バス上で調停などを実行するためのグラフィックインタフェース(GIF)522と、周辺機器との間でデータの送受信を行うための入出力ポート524と、例えば、カーネルなどの制御を実行するためのフラッシュメモリなどで構成された内部OSD機能ROM(OSDROM)526と、カレンダ機能およびタイマ機能を備えたリアルタイムクロック528とが装備されてもよい。
【0029】
メインメモリ514、ベクトル計算ユニット516、GIF522、OSDROM526、リアルタイムクロック(RTC)528、および入出力ポート524は、データバス530を介してMPU512に接続される。また、バス530には、圧縮した動画およびテクスチャ画像を伸張して、画像データを展開するためのプロセッサである画像処理ユニット538が接続されてもよい。例えば、画像処理ユニット538は、MPEG2またはMPEG4の標準フォーマットに従って、ビットストリームをデコードおよび展開する機能、マクロブロックをデコードする機能、逆離散コサイン変換、色空間変換、ベクトル量子化などを実行する機能を担いうる。
【0030】
音声システムは、MPU512からの命令に基づいて音楽やその他の音響効果を生成するための音声処理ユニットSPU571と、SPU571によって記録されてもよい波形データの記憶場所であるサウンドバッファ573と、SPU571によって生成された音楽やその他の音響効果を出力するためのスピーカ575とで構成されてもよい。なお、スピーカ575は、モニタ110の一部として組み込まれてもよく、あるいは、外部スピーカ575に取り付けられる別個のオーディーライン出力接続端子として設けられてもよいことを理解されたい。
【0031】
バス530に接続され、本発明によるディジタルデータの入出力やディジタルコンテンツの入力を行う機能を備えたインタフェースである通信インタフェース540が設けられてもよい。例えば、オンラインビデオゲームの応用に対応できるように、通信インタフェース540を介して、ネットワーク上のサーバ端末との間でユーザ入力データが送信され、状態データが受信されてもよい。コンソール510に対してデータ(例えば、キー入力データまたは座標データ)を入力する入力デバイス532(コントローラとしても知られる)と、各種プログラムおよびデータ(すなわち、オブジェクトに関するデータ、テクスチャデータなど)を含むCD−ROMなどの光ディスク569のコンテンツを再生する光ディスクデバイス536とが、入出力ポート524に接続されている。
【0032】
本発明は、入出力ポート524に接続されてもよいディジタルビデオカメラ105をさらに含む。入出力ポート524は、シリアルインタフェースやUSBインタフェースを含む1つ以上の入力インタフェースによって実装され、ディジタルビデオカメラ190は、USB入力や、カメラ105との併用に適した任意の他の従来のインタフェースを有利に利用してもよい。
【0033】
上述した画像プロセッサ520は、レンダリングエンジン570と、インタフェース572と、画像メモリ574と、ディスプレイ制御デバイス576(例えば、プログラム可能なCRTコントローラなど)とを含む。レンダリングエンジン570は、メモリインタフェース572を介して、MPU512から送られるレンダリング命令によって、画像メモリにある所定の画像データをレンダリングする動作を実行する。レンダリングエンジン570は、例えば、NTSC方式またはPAL方式に準拠し、より詳細には、例えば、1/60秒〜1/30秒の間隔で10〜数十回を超えるレートで、320×240ピクセルまたは640×480ピクセルの画像データをリアルタイムに描画できる機能を備える。
【0034】
メモリインタフェース572とレンダリングエンジン570との間に、バス578が接続され、メモリインタフェース572と画像メモリ574との間に、第2のバス580が接続されてもよい。第1のバス578および第2のバス580のビット幅は、それぞれ、例えば、128ビットであり、レンダリングエンジン570は、画像メモリに対して高速レンダリング処理を実行可能であってもよい。画像メモリ574は、一元化されたメモリ構造を採用しており、例えば、この構造では、テクスチャレンダリング領域と表示レンダリング領域とを同じ領域に設定することができる。
【0035】
ディスプレイコントローラ576は、光ディスクドライブ536によって光ディスクデバイス569から取得したテクスチャデータ、またはメインメモリ514に作成されたテクスチャデータを、メモリインタフェース572を介して、画像メモリ574のテクスチャレンダリング領域に書き込むような構造のものであってもよい。画像メモリ174の表示レンダリング領域に描画された画像データは、メモリインタフェース572を介して読み出されて、モニタ110に出力されることで、画像データがモニタ110のスクリーンに表示されてもよい。
【0036】
図6は、本発明の一実施形態による、ユーザによるユーザ入力デバイスの操作中に、ユーザ入力デバイスに対応するピクセル群をトラッキングして判別するために使用される機能ブロックを示すブロック図である。ブロックが表している機能は、図5のゲームコンソール510にあるMPU512によって実行されてもよいソフトウェアによって実装されることを理解されたい。さらに、図6のブロックが表している機能のすべてが、各実施形態で使用されるわけではない。
【0037】
最初に、カメラから入力されたピクセルデータは、入出力ポートインタフェース524を介してゲームコンソール510に送られ、これにより、以下のプロセスがゲームコンソール510で実行される。まず、画像の各ピクセルが、例えば、ラスタベースでサンプリングされると、色区分処理ステップS201が実行され、これによって、各ピクセルの色が決定されて、画像が色の異なるさまざまな2次元区分に分割される。次に、特定の実施形態で、色遷移定位ステップS203が実行され、これにより、色の異なる区分が隣接する領域がより詳細に決定されて、明確な色遷移が発生する画像の場所を特定する。次に、幾何学的処理S205のステップが実行され、このステップでは、実施形態に応じて、エッジ検出プロセスまたは面積の統計値の計算の実行が行われて、対象のオブジェクトのエッジに相当する線、曲線および/または多角形が代数的または幾何学的に定義される。
【0038】
ステップS207において、本発明の好ましい実施形態に関して後述するアルゴリズムを用いて、オブジェクトの3次元の位置およびオリエンテーション、即ち向きや方向が計算される。性能を向上させるため、3次元の位置および向きや方向のデータに対して、カルマンフィルタリングの処理ステップS209が実行される。このような処理は、オブジェクトがある時点に存在する位置を概算し、正しいデータセットから外れていると考えられる起こり得ない誤った測定値を除去するために実行されてもよい。カルマンフィルタリングを実行する別の理由として、カメラ105は画像を30Hzで生成するが、典型的なディスプレイは60Hzで動作するため、カルマンフィルタリングによって、ゲームプログラムのアクションを制御するために使用されるデータのギャップが埋められることが挙げられる。カルマンフィルタリングによる離散データのスムージングは、コンピュータビジョンの分野では周知であり、ここでは詳述しない。
【0039】
ユーザによって発せられる言語音や環境音などの音を受信し、その音を処理し、このような音に反応するようにユーザのアバターをプログラムすることも可能である。この実施形態において、図7の例で示すモニタ706が設けられてもよく、モニタ706は、画像キャプチャユニット706bおよび音声キャプチャユニット706bを含む。音源は、入力オブジェクト、デバイス、拍手、または足鳴らしによって生成されるノイズや任意のその他のノイズでありうる。次に、音声が、音声キャプチャユニット706aによってキャプチャされ、対話するためにコンピュータシステム102(図1)によって処理される。音声命令が識別できるように、音声認識が用いられてもよい。さらに、ユーザは、インターネットやネットワークと接続し、ゲームの対話性に直接的または部分的に関与するリモートユーザと通信状態にあってもよい。
【0040】
本発明の一実施形態によれば、音声キャプチャユニット706aは、コンピュータシステム102が特定の方向から届く音を選択できるようにする少なくとも2つのマイクロホンを含むように構成されてもよい。一実施形態において、コンピュータシステム102は、環境にある散乱音声が、対話型プログラムの実行を妨げたり混乱させたりしないように対話性の中心にない方向からの音を除去するようにプログラミングされる。同様の方法で、音声キャプチャユニットは、強度値を確実に識別するために、ターゲットとなる焦点ゾーンからの音声を分離しうる。以下に記載するように、焦点ゾーンは、画像キャプチャユニット706bの焦点であるアクティブ画像領域によって識別されてもよい。別の方法では、焦点ゾーンは、初期段階後にユーザに与えられたゾーンの選択肢から手動で選択することもできる。別の実施形態において、各音声は、モニタ706に対して特定の方向からくる音声として、複数のマイクロホンを用いて識別される。ユーザのアバターは、以下にさらに詳細に記載するように、例えば、音源の方へ頭部を向けることによって、特定の音声に応答するようにプログラムされてもよい。
【0041】
画像・音声キャプチャデバイス706は、画像キャプチャユニット706bと、音声キャプチャユニット706aとを含む。画像・音声キャプチャデバイス706は、画像フレームをディジタルキャプチャした後、さらに処理するために、それらの画像フレームをコンピュータシステム102(図1)に転送することが可能であってもよい。画像キャプチャユニット706bの一例は、ウェブカメラであってもよく、このウェブカメラは、ビデオ画像をキャプチャし、その後、インターネットなどのネットワーク上で引き続き格納したり通信したりするために、コンピュータデバイスにディジタル転送することが望ましい場合に一般に使用されている。識別とフィルタリングが可能であるように画像データがディジタル処理される限り、アナログであれディジタルであれ、他のタイプの画像キャプチャデバイスも想定される。1つの好ましい実施形態において、フィルタリングが可能なディジタル処理は、入力データの受信後にソフトウェアにおいて実行されてもよい。一対のマイクロホン(MIC1およびMIC2)を含む音声キャプチャユニット706aが示されている。マイクロホンは、画像・音声キャプチャデバイス706を構成するハウジングに一体化可能でありうる標準的なマイクロホンである。
【0042】
図8は、音声Aおよび音声Bからの音源816がぶつかり合う場合の音声キャプチャユニット706aを示す。図示するように、音声Aは、可聴音を投射し、音声経路801aおよび801bに沿ってMIC1およびMIC2によって検出される。音声Bは、音声経路802aおよび802b上を進んで、MIC1およびMIC2の方に投射される。例示するように、音声Aの音声経路の長さは、音声経路802aおよび802bと比較すると異なるものであるため、比較的遅延する。次に、音声Aおよび音声Bの各々からの音声は、図9に示すボックス916において方向選択が発生しうるように、標準的な三角測量アルゴリズムを用いて処理される。MIC1およびMIC2からの音声の各々は、バッファ1および2(910a、910b)においてバッファリングされ、遅延線(912a、912b)を通過する。一実施形態において、バッファリングおよび遅延プロセスは、ソフトウェアによって制御されるが、同様の動作を取り扱えるように、ハードウェアをカスタム設計することもできる。三角測量に基づいて、方向選択916は、音源816の1つの識別および選択を引き起こす。
【0043】
MIC1およびMIC2の各々からの音声は、選択された音源の出力として出力される前に、ボックス914において合算される。このようにして、アクティブ画像領域の方向以外の方向からきた音声は、このような音源が、コンピュータシステム102(図1)によって処理を乱したり、ネットワークやインターネット上でビデオゲームを対話的にすることもある他のユーザとの通信を邪魔したりしないように除去される。この技術を利用したビデオゲームや他の応用は、音声キャプチャデバイスに対して所定の方向または選択された方向で焦点ゾーンから発せられる音声の強度値を確実に識別および定量化できる。
【0044】
図10は、本発明の一実施形態による、画像・音声キャプチャデバイス706と併用されてもよいコンピュータシステム1050を示す。コンピュータシステム1050は、プロセッサ1052と、メモリ1056とを含む。バス1054が、プロセッサおよびメモリ1056と画像・音声キャプチャデバイス706とを相互接続する。メモリ1056は、対話型プログラム1058の少なくとも一部を含み、受信した音源データを処理するための選択的音源聴音ロジックまたはコード1060をさらに含む。焦点ゾーンが画像キャプチャユニット706bによって識別される場所に基づいて、焦点ゾーンの外側にある音源は、(例えば、プロセッサによって実行され、メモリ1056に少なくとも部分的に格納される)選択的音源聴音ロジック1060によって選択的にフィルタリングされる。コンピュータシステムは、最も簡単な形態で示されているが、命令を処理して、入射音源の処理を行い、選択的に聴音できる限り、任意のハードウェア構造を使用できるということが重要視される。
【0045】
コンピュータシステム1050はまた、バスを用いてディスプレイ110と相互接続されて示されている。この例において、焦点ゾーンは、音源Bの方へ焦点が向けられる画像キャプチャユニットによって識別されてもよい。音源Aなどの他の音源からくる音声は、音声が音声キャプチャユニット706aによってキャプチャされ、コンピュータシステム1050に転送されるとき、選択的音源聴音ロジック1060によって実質的に除去される。
【0046】
1つの特定の例において、プレーヤが、別のユーザとインターネットまたはネットワーク上のビデオゲーム大会に参加でき、この場合、各ユーザは、主に、スピーカを用いることによって音を聴くことができる。スピーカは、コンピュータシステムの一部であってもよく、またはモニタ706の一部であってもよい。したがって、ローカルスピーカは、図4に示すように、音源Aを生成してもよいものとする。音源Aのローカルスピーカからきた音が対戦ユーザに戻らないようにするために、選択的音源聴音ロジック1060は、対戦ユーザに自らの音や声のハウリングが届かないように音源Aの音声を除去する。このようなフィルタリングを行うことで、プロセス中の不快なハウリングを有利に回避しながら、ビデオゲームとの接続中にネットワーク上で対話型の通信を行うことが可能である。
【0047】
図11は、少なくとも4つのマイクロホン(MIC1〜MIC4)を含む例示的なモニタ706を示す。したがって、音声キャプチャユニット706aは、音源816(AおよびB)の場所を識別するために、粒度が良好な三角測量を行うことが可能である。すなわち、追加のマイクロホンを設けることによって、音源の場所をより正確に特定し、ひいては、対象ではない音源や、ゲームプレイにとって有害となりうる音源またはコンピュータシステムと対話的に有害となりうる音源を削除および除去することが可能である。図10に示すように、音源816(B)は、ビデオキャプチャユニット706bによって識別されている対象となる音源であってもよい。図10の例に続いて、図11は、音源Bが空間体積に対してどのように識別されるかを示す。
【0048】
音源Bが位置する空間体積は、焦点体積1174を画成する。焦点体積を識別することによって、特定の体積内にない(すなわち、ある方向にない)ノイズを削除または除去することが可能である。焦点体積1174を選択するために、画像・音声キャプチャデバイスモニタ706は、少なくとも4つのマイクロホンを含むことが好ましい。マイクロホンの少なくとも1つは、マイクロホンのうちの他の3つとは異なる平面にある。マイクロホンのうちの1つを画像・音声キャプチャデバイスモニタ706の平面1171に維持し、4つのうちの残りをモニタ706の平面1170に維持することによって、空間体積を画成することが可能である。
【0049】
結果的に、近くにいる他の人(1176aおよび1176bで示す)からのノイズは、焦点体積1174に画成された空間体積内にないため除去される。さらに、スピーカ1176cによって示すように、空間体積の外側で生成されることもあるノイズも、空間体積の外側にあるため除去される。
【0050】
以下、図12〜図14を参照しながら、フィルタリングアルゴリズムの例示的な実施について記載する。この実施例では、マイクロホンアレイを介したポータブル民生機器に関連するオーディオ入力システムが提供される。ボイス入力システムは、複数のノイズ信号からターゲットオーディオ信号を分離可能なものであってもよい。さらに、マイクロホンアレイが取り付けられたポータブル民生機器の動きには何ら制約がない。マイクロホンアレイフレームワークは、本発明の一実施形態において、4つのメインモジュールを含む。第1のモジュールは、音響エコーキャンセレーション(AEC)モジュールであってもよい。AECモジュールは、ポータブル民生機器が生成したノイズを打ち消すように構成されてもよい。例えば、ポータブル民生機器がビデオゲームコントローラである場合、ビデオゲームプレイに関連するノイズ、すなわち、音楽、爆発音、声などはすべて既知のものである。このように、マイクロホンアレイのマイクロホンセンサの各々からの信号に適用されるフィルタが、これらの既知のデバイス生成ノイズを除去してもよい。別の実施形態において、AECモジュールは、オプションであってもよく、以下に記載するモジュールとともに含まれなくてもよい。音響エコーキャンセレーションに関するさらなる詳細については、「Frequency-Domain and Multirate Adaptive Filtering」(John J. Shynk,IEEE Signal Processing Magazine, pp. 14-37,January 1992)の文献を参照されたい。この文献は、参照により本明細書に援用されたものとする。
【0051】
図12は、本発明の一実施形態による、リスニング方向からのものではない信号を抑制するように構成されたアレイビーム形成モジュールを示す簡易略図である。一実施形態において、ビーム形成は、フィルタ・加算ビーム形成に基づいたものであってもよい。信号通過フィルタとも呼ばれる有限インパルス応答(FIR)フィルタは、適応型のものであってもよいアレイ較正プロセスによって生成される。このように、ビーム形成は、本質的に、センサアレイを物理的に動かすことなく、音源信号2028の方へ、すなわち、リスニング方向にビームをトラッキングし方向付けうる適応ビーム形成器であってもよい。焦点方向からの信号を高めうる方法をさすビーム形成が、マイクロホンセンサ1212−1〜1212−Mを所望のターゲット信号にアルゴリズム的に(物理的ではなく)方向付けるためのプロセスとして考えられてもよいことは、当業者に明らかであろう。センサ1212−1〜1212−Mの視野方向は、ビーム形成方向またはリスニング方向と呼ばれることもあり、ランタイム時、固定されたものでも適応性のものであってもよい。
【0052】
ビーム形成の基本的な考え方は、所望の音源からの音声信号が、異なる時間遅延でマイクロホンセンサアレイに届くというものである。アレイの幾何学的配置は予め較正されているため、音源とセンサアレイとの間の経路長の相違は、既知のパラメータである。したがって、異なるセンサからの信号を時間的に整合するために、相互相関と呼ぶプロセスが用いられてもよい。さまざまなセンサからの時間的整合信号は、ビーム形成方向に従って加重される。次に、加重信号は、センサ固有のノイズキャンセレーションセットアップの点でフィルタリングされ、すなわち、各センサが、整合フィルタF11242−1〜FM1242−Mと呼ぶフィルタに関連付けられてもよく、各フィルタは、信号通過フィルタ1262に含まれる。次に、各センサからのフィルタリング信号は、出力Z(ω,θ)を生成するために、モジュール1272を介して合算される。上述したプロセスは、自動相関と呼ばれてもよいことを認識されたい。さらに、ビーム形成方向に沿って存在しない信号が、時間軸に沿って整合されないままであるため、これらの信号は、平均化によって減衰される。アレイベースのキャプチャシステムには共通していることだが、所望の空間方向(直線の幾何学的配置を用いる)または空間体積(凸幾何学的配置を用いる)から音声をキャプチャするためのマイクロホンアレイの全性能は、音源の位置を特定しトラッキングする能力に依存する。しかしながら、複雑な残響ノイズがある環境、例えば、ビデオゲーム環境では、環境固有のパラメータを統合することなく、一般的に音声位置特定トラッキングシステムを構築することが現実的に実行不可能である。
【0053】
さらに図12を参照すると、適応ビーム形成は、他の形態において、2部構成のプロセスとして説明されてもよい。第1部において、側面衝突ノイズは、遠距離にあるものとされる。すなわち、音源1228からマイクロホンの中心1212−1〜1212−Mまでの距離は十分に長いため、音源1228は、最初、マイクロホンセンサの各々の垂線に位置すると仮定されてもよく、例えば、マイクロホンセンサ1212−mを参照すると、音源は、垂線1236に沿った位置にあることになる。このように、側面衝突ノイズは、この場合、本明細書においてF1と呼ぶフィルタを適用することによって高められるものとしてもよい。次に、周期的に較正されてもよい信号通過フィルタが、マイクロホンセンサアレイが動きに適応できるようにする、F2と呼ばれるファクタを決定するように構成されてもよい。F2の決定については、適応アレイ較正モジュールを参照しながらさらに説明する。一実施形態において、信号通過フィルタは、100ミリ秒ごとに較正されてもよい。このように、信号通過フィルタは、100ミリ秒ごとに固定ビーム形成に適用されてもよい。一実施形態において、整合フィルタ1242−1〜1242−Mは、各マイクロホンにステアリングファクタを供給することによって、ライン1238−1〜1238−Mによって示されるリスニング方向を調節する。正弦波の遠視野平面波が、図12の入射角θでセンサへ伝播すると考えると、2つの隣接するセンサ間の距離dを平面波が進行するための時間遅延は、dmcosθによって与えられるものであってもよい。固定ビーム形成に関するさらなる詳細については、「Beamforming: A Versatile Approach to Spatial Filtering」(Barry D. Van Veen and Kevin M. Buckley, IEEE ASSP MAGAZINE April 1988)の文献を参照されたい。この文献は、参照により本明細書に援用されたものとする。
【0054】
図13は、オーディオ信号のノイズと音源信号成分とを分離するためのブラインド音源分離方式を示す高水準略図を示す。オーディオ信号内の音源信号およびノイズが明確に分からないこともあることを認識されたい。しかしながら、音源信号とノイズの特性が異なることは知られている。例えば、第1のスピーカのオーディオ信号は、第2のスピーカのオーディオ信号とは区別され、その理由として、スピーカの声が異なることと、ノイズの種類も異なることとが挙げられる。このように、ノイズおよび音源信号を含む入射オーディオ信号を表すデータ1350は、データマイニング動作によって、ノイズ成分1352および音源信号1354に分離されてもよい。次に、分離フィルタ1360は、音源信号1350をノイズ信号1352から分離する。
【0055】
当業者であれば、データマイニングを実行するための1つの方法が、本発明の一実施形態による二次統計によって、データを解析し、独立成分を見つける独立成分分析(ICA)によるものであってもよいことを認識するであろう。このように、さまざまな音声を区別する音紋をキャプチャするために、データの特性を記述または規定するように二次統計が算出されてもよい。次に、分離フィルタは、音源信号とノイズ信号とを分離するようにされてもよい。音紋の計算は、周期的に実行されてもよいことを認識されたい。このように、ブラインド音源分離を利用するこの適応アレイ較正プロセスによって、リスニング方向が各期間に調節されてもよい。信号が分離フィルタ1360によって分離されると、トラッキング問題が解決されるであろうことは、当業者には明らかであろう。すなわち、センサアレイの複数のマイクロホンに基づいて、遅延の到着時間が、音源信号1354をトラッキングするさいに使用するために決定されてもよい。当業者であれば、上記で二次統計と呼んだものは、自動相関または相互相関方式と呼ばれてもよいことを認識するであろう。二次統計を用いたブラインド音源分離に関するさらなる詳細については、「System Identification Using Non-Stationary Signals」(O. Shalvi and E. Weinstein, IEEE Transactions on Signal Processing, vol-44(no.8): 2055-2063, August, 1996)の文献を参照されたい。この文献は、参照により本明細書に援用されたものとする。
【0056】
図14は、適応ノイズキャンセレーションを組み込んだマイクロホンアレイフレームワークを示す略図である。ノイズおよび音源信号を含むオーディオ信号1466が、ポータブル民生機器102、例えば、ビデオゲームコンソールまたはコンピュータデバイスに取り付けられたもよいマイクロホンセンサアレイを介して受信されてもよい。次に、ポータブル民生機器102によって受信されたオーディオ信号は、音響エコーキャンセレーション(AEC)モジュール1468を介して予め処理されてもよい。この場合、音響エコーキャンセレーションは、参照により本明細書に援用されたものとする米国特許出願第10/650,409号明細書に一例として記載されているように実行されてもよい。マイクロホンアレイにあるマイクロホンセンサの数に対応する信号Z1〜ZMが生成され、チャネル1470−1〜1470−M上で分配される。チャネル1470−1が基準チャネルであってもよいことを認識されたい。次に、対応する信号は、フィルタ・加算モジュール1262に送られる。フィルタ・加算モジュール1262が、図20を参照しながら上述したような適応ビーム形成を実行することを認識されたい。同時に、チャネル1470−1〜1470−Mからの信号が、ブロックフィルタ1464に送られる。
【0057】
ブロックフィルタ1464は、ターゲット信号がノイズと見なされる場合、逆ビーム形成を実行するように構成されてもよい。このように、ブロックフィルタ1464は、音源信号を減衰し、ノイズを高める。すなわち、ブロックフィルタ1464は、適応ビーム形成プロセスによって形成された較正係数F2の逆数と見なされてもよい較正係数F3を決定するために較正されてもよい。当業者であれば、図13を参照しながら言及した適応アレイ較正が、本明細書に記載するプロセスの背景で起こることを認識されたい。フィルタ・加算モジュール1262およびブロックフィルタモジュール1464が、分離フィルタ1360を構成する。次に、ノイズが高められた信号U2〜UMが、対応する適応フィルタ1475−2〜1475−Mのそれぞれに送信される。適応フィルタ1475−2〜1475−Mは、適応フィルタモジュール1474に含まれる。この場合、適応フィルタ1475−2〜1475−Mは、モジュール1476の加算動作の対応する信号を整合するように構成される。当業者であれば、ノイズは定常のものでなくてもよく、したがって、信号は、加算動作の前に整合されなければならないことを認識するであろう。
【0058】
次に、図14をさらに参照すると、モジュール1476の加算動作からの信号は、加算動作モジュール1478を介して低減されたノイズ信号を与えるために、モジュール1472の加算動作からの信号出力と結合されてもよい。すなわち、モジュール1472の高められた信号出力は、所望の音源信号を高める方法でモジュール1476からの高められたノイズ信号と結合されてもよい。ブロック1480が、適応ノイズキャンセレーション動作を表すことを認識されたい。さらに、背景で行われていたアレイ較正は、一実施形態において、検出された信号対雑音比がゼロデシベルを超えるものである限り、100ミリ秒ごとに起こるものであってもよい。上述したように、アレイ較正は、フィルタ・加算ビーム形成器1262に使用される信号通過フィルタと、信号対雑音比が−100デシベル未満のものであってもよい純干渉を生成する信号ブロックフィルタ1464とを更新する。
【0059】
一実施形態において、マイクロホンセンサアレイの出力信号は、ベイズの統計モデリングによる人依存のボイススペクトルフィルタリングに基づいて、声の質をさらに上げるために、後処理モジュールに送られてもよい。ボイススペクトルフィルタリングに関してのさらなる情報については、「Speech Enhancement Using a Mixture- Maximum Model」(David Burshtein, IEEE Transactions on Speech and Audio Processing vol. 10, No. 6, September 2002)を参照されたい。この文献は、参照により本明細書に援用されたものとする。本明細書において記述する信号処理アルゴリズムは、周波数領域で実行されることを認識されたい。さらに、リアルタイム信号応答に達するために、高速かつ高効率の高速フーリエ変換(FFT)が適用されてもよい。一実施形態において、実装するソフトウェアには、信号入力チャンクごとに1024の窓長を有する25FFT演算が必要である(16kHzサンプリングレートで512信号サンプル)。音響エコーキャンセレーションおよびベイズモデルベースのボイススペクトルフィルタリングを適用せずに、等間隔の直線形状に設けられた4センサマイクロホンアレイの例示的な場合において、関与する全計算は、約250メガ浮動小数点演算(250メガフロップス)であってもよい。
【0060】
図14をさらに参照すると、分離フィルタ1360が、QR直交化法によって、値域と零空間にある2つの直交成分に分解されてもよい。すなわち、信号ブロックフィルタ係数F3は、零空間から得られてもよく、信号通過フィルタ係数F2は、値域空間から得られてもよい。このプロセスは、一般化サイドローブキャンセラ(GSC)アプローチとして特徴付けられてもよい。GSCアプローチのさらなる詳細については、上記に参照によりすでに援用した「Beamforming: A Versatile Approach to Spatial Filtering」というタイトルの文献を参照されたい。
【0061】
上述した実施形態には、高ノイズ環境においてオーディオ入力を与えるための方法およびシステムが記載されている。オーディオ入力システムは、ビデオゲームコントローラ、例えば、ソニー・プレイステーション2(登録商標)ビデオゲームコントローラや任意のその他の適切なビデオゲームコントローラに備えられてもよいマイクロホンアレイを含む。マイクロホンアレイは、ビデオゲームコントローラの動きに何ら制約を課すことがないように構成されてもよい。マイクロホンアレイのマイクロホンセンサによって受信された信号は、前景スピーカまたはオーディオ信号と、室内反響を含むさまざまな背景ノイズとを含むように仮定される。さまざまなセンサからの背景と前景との間の時間遅延が異なることもあるため、周波数スペクトル領域における二次統計は、互いから独立したものであり、したがって、信号は、周波数成分ベースで分離されてもよい。次に、分離された信号周波数成分は、前景の所望のオーディオ信号を再構築するように再結合される。本明細書に記載する実施形態において、ビデオゲームに命令を発したり、ノイズ環境内で他のプレーヤと通信したりするためのリアルタイムボイス入力システムが定義されることをさらに認識されたい。他の実施形態において、オーディオプロセッサは、特定の音声の発生源方向を識別可能であり、その情報をソフトウェアに渡すことで、以下に記載するように、アバターの頭部を音のする方へ向け、例えば、ドアが閉まる音など、音の種類が識別されれば、その音の種類に応答するようにアバターを方向付けることによって、音に応答することができる。
【0062】
ビデオゲームコントローラが、典型的に、ゲーム内でのアクションを制御するために、ビデオゲームプログラムに入力を与えるためのボタン、つまみ、および/またはジョイスティックを有するハンドヘルドデバイスであってもよい。空間内でのコントローラの動きおよび/または回転を検知することによって、コントローラにさらなる機能を追加することが望ましい。このようにして、ユーザが、スクリーン上のアクションに対する感情的な応答としてコントローラを回したり動かしたりすると、ユーザのアバターも同じように動くことができる。例えば、ユーザは、コントローラを操作して仮想レースカーを操縦しているとき、特に急なカーブに対しての感情的な応答として、コントローラデバイス全体を傾けることもある。次に、図1〜図14を参照しながら上述したように、この動きは、画像キャプチャデバイスによって検知されうる。
【0063】
従来、ビデオゲームコントローラは、ケーブルを通して、または利用可能な赤外線または高周波数(RF)インタフェースの1つ以上を用いてワイヤレスでアナログ信号および/またはディジタルデータのストリームを提供する。複数プレーヤゲームの場合、コンピュータシステムを備える電子通信機器(例えば、ゲームコンソール)に、2つ以上のコントローラが配置されてもよい。プログラムと対話する人にはそれぞれ、番号、例えば、「プレーヤ1」、「プレーヤ2」などが割り当てられてもよい。ゲームコントローラがシステムに接続されると、各ユーザは、コントローラが接続されているポート番号に従って、番号が割り当てられうる。このように、コンピュータゲームに4つのポートがあれば、プレーヤ1は、ポート番号1に接続され、プレーヤ2は、ポート番号2に接続され、以下同様である。ワイヤレスコントローラにより、プレーヤは、ワイヤレスチャネルや他のハンドシェイクプロトコル機構に基づいて、自分のプレーヤ番号を選択でき、コントローラは、プレーヤ1、プレーヤ2などと識別することができる。
【0064】
図15および図16は、画像キャプチャデバイス105(図1)と対話する例示的なコントローラ1500を示す。コントローラ1500は、さまざまなボタンおよびジョイスティックを含む複数の対話型デバイスを含むインタフェース1502を含む。本明細書に記述するコントローラは、有線または無線のいずれかでありうる。ワイファイ、ブルートゥース(登録商標)などの技術、IR、音声、および発光体は、ゲームコンソールなどのコンピュータと対話するように機能するものであってもよい。一実施形態において、コントローラ1500は、LEDアレイ1505を有する。LEDアレイは、さまざまなレイアウトで構成され、例えば、架空の矩形状または正方形状の結合枠の頂点に各LEDが位置付けられてもよい2×2スタックで構成されてもよい。画像キャプチャデバイスによって生じる画像平面に投射されるときに結合枠の位置および変形をトラッキングすることによって、その変換および変形は、コントローラの位置および向きや方向の情報を解読するために、ビデオアナライザにおいて解析されてもよい。LEDアレイ1505は、赤外線または可視光を生成してもよい。画像キャプチャデバイス105(図1)は、さまざまな他の本発明の実施形態を参照しながら上述したように、LEDアレイ1505を識別しうる。各コントローラは、例えば、ユーザがプレーヤ番号1〜4を選択できるスイッチ1510を使って、プレーヤ1からプレーヤ4として指定されてもよい。各プレーヤ番号の選択は、LEDアレイ1505によって照明されるLEDの固有パターンまたは変調に対応する。例えば、プレーヤ1の場合、1番目、3番目、および5番目のLEDが照明される。このようなプレーヤ情報は、複数のビデオフレームにわたって経時的に繰り返し符号化され送信されてもよい。コントローラまたはデバイスLEDが、トラッキングモードと送信モードとの間でスイッチ可能であるように、交互配置に係合することが望ましいこともある。トラッキングモードでは、サイクルの第1の部分の間、すべてのLEDがオンにされてもよい。送信モードでは、サイクルの第2の部分の間、情報がLEDによって変調されてもよい。時間の経過とともに、LEDは、トラッキングおよび通信情報を、ビデオアナライザまたは信号を受信可能な適切なデバイスに送信する。送信モードにおいて、LEDは、プレーヤのIDを表す情報を符号化してもよい。周期およびデューティーサイクルは、トラッキング速度、発光体条件、コントローラの数などに対応するように選択されてもよい。通信およびトラッキング情報を交互に配置することによって、ビデオキャプチャデバイスに、各コントローラに対してトラッキングパラメータを算出し、コントローラ間を区別するのに十分な情報が供給されてもよい。このような区別は、位置および向きや方向やコントローラの動きの他の計測値をモニタリングおよびトラッキングするときに、各物理的コントローラを隔離するためにビデオアナライザにおいて用いられてもよい。
【0065】
送信モードにおいて、命令や状態情報を含む他の情報が、コントローラまたはデバイスLEDによって、既知の符号化および変調方式に従って送信されてもよい。受信機側では、ビデオキャプチャデバイスに結合されたビデオアナライザが、LEDの状態と同期し、その状態をトラッキングし、その情報およびコントローラの動きを復号化してもよい。送信モードサイクルにおいてフレームにわたってデータを変調することによって、高い帯域幅が達成されてもよいことが知られている。
【0066】
インタフェース1502とのユーザ対話により、LEDアレイ1505にあるLEDの1つ以上の色が、変調および/または変更されてもよい。例えば、ユーザがジョイスティックを動かすと、LEDが、輝度を変更し、または情報を送信してもよい。さらに、各ボタンは、LEDアレイ1505にあるLEDの1つ以上の色または強度の変更にマッピングされてもよい。
【0067】
コントローラ1500が、3次元空間で動き回され、回転、揺れ、またはピッチ方向(図19を参照しながら以下にさらに詳細に説明する)の1つで回転すると、コンピュータシステム102(図1)と併せて画像キャプチャデバイス105が、これらの変更を識別し、画像平面上の動きを記述するための2次元ベクトル、または3次元空間での動きを記述するための3次元ベクトルとを生成可能であってもよい。ベクトルは、相対運動を記述する一連の座標および/または画像キャプチャデバイス105に対しての絶対位置として与えられうる。当業者に明らかなように、画像キャプチャデバイス105の見通し線に垂直な平面(画像平面)上での動きが、画像キャプチャゾーン内における絶対位置によって識別されえ、その一方で、画像キャプチャデバイス105により近い位置のコントローラ1500の動きは、広がったように見えるLEDアレイ1505によって識別可能であり、すなわち、画像平面上での第1のLEDと最後のLEDとの間の距離が、画像キャプチャデバイスからの距離を算出するために測定されうる。
【0068】
図17および図18aは、矩形状の構成のLED1705を有するコントローラ1700を示し、コントローラ1700が3つの各軸の周りで回転する動きを検出できる。LEDだけが示されているが、これは、例示的な目的でしかなく、平面上に分布され、同一線上には分布されない任意の数のLEDも可能である。コントローラ1700が、前方または後方に位置を変えることもあるため、上部および下部LEDは、左側および右側LEDが同じ距離引き離されたままの状態で、互いにより近づけられてもよい。同様に、コントローラ1700が、左または右に揺れると、左側および右側LEDは、上部および下部LEDが同じ距離引き離されたままの状態で、互いに近づくようになる。コントローラ1700の回転運動が、画像平面上でのLEDの向きを識別することによって検出されうる。コントローラが、見通し線に沿って画像キャプチャデバイス105に近づく方向に移動するとき、すべてのLEDは、広がっているように見える。最後に、画像平面に沿ったコントローラの動きは、画像平面上でのLEDの場所を識別し、それによって、x軸とy軸のそれぞれに沿った動きを識別することによってトラッキングされうる。図15および図16を参照しながら上述したように、LED変調が、インタフェース1702とのユーザ対話を識別するように使用されうる。
【0069】
図18bは、別の実施形態によるコントローラ1820を示し、コントローラ1820は、LED1822と、スピーカ1824と、マイクロホン1826とを組み込んでいる。LED1822は、画像キャプチャデバイスを用いて位置および向きや方向情報を提供し、スピーカ1824が、可聴音または超音波を生成でき、図7〜図14を参照しながら上述したようなオーディオモニタを用いて、音響効果および/または通信を与える。マイクロホン1826は、システムに音声入力を与え、音声命令を発するために、またはオンラインの複数プレーヤ環境において他のプレーヤと通信するために使用されうる。
【0070】
図18cは、コントローラ1830の背面パネル上の中心に位置するスピーカ1834とともに、矩形状の構成でLED1832を有するコントローラ1830を示す。図18dは、弧状に配設された5つのLEDアレイ1842を有するコントローラ1840を示す。図18eは、幅広い矩形状に配設されたLEDを有するコントローラ1850を示す。図18fは、まとめて配設された6つのLED1862を有するコントローラ1860を示す。当業者であれば、他のLED構成が可能であることを認識されたい。
【0071】
図19は、多数の制御装置および動作検知デバイス1905を含むインタフェース1902を有するコントローラ1900を示す。一実施形態において、動作検知デバイス1905が、3軸加速度計であってもよい。加速度計が、一般に、電子機器の分野において既知のものであり、典型的に、運動量の変化に応答する構造と、その応答を検出するセンサとを有する小さな固体デバイスを含む。小型加速度計は、回転運動だけでなく、並進運動を検知するために利用可能である。並進運動は、x軸、y軸、およびz軸に沿った運動である。回転運動は、x軸、y軸、およびz軸の1つ以上の周りの回転である。並進運動を検出する加速度計は、重力の引っ張り方向を検知し、したがって、重力の引っ張りに対してデバイス(ゲームコントローラなど)の絶対的な向きや方向を識別しうる。コントローラ1900は、コントローラ1900内に含まれる回路(図示せず)によって受信されたディジタルデータを生成する並進検知加速度計1905を含む。ディジタルデータは、デバイスにかかる重力による引張り力から決定可能な、デバイスの並進運動ベクトルおよび向きや方向に変換されうる。このようにして、回路は、コントローラ1900の動きおよび向きや方向を識別し、ケーブル、赤外線、または無線接続などを介して、当業者に一般に既知の方法で、このデータを、インタフェース1902のさまざまな制御装置とユーザ対話を表す他のデータとともに、ゲームコンソールに送信する。また、画像キャプチャデバイスによって見るためのLED変調にデータを符号化することも可能である。デバイスによってキャプチャされる動きは、絶対位置および向きや方向の情報(初期位置を発生源とする)および/または位置および向きや方向の変化として表しうる。
【0072】
図20は、コントローラ2000の動きをコンピュータプログラムに伝える例示的なプロシージャを示すフローチャート2000を示す。プロシージャは、図示するように、開始ブロック2002によって始まり、ゲームコントローラの動きが検出されてもよい動作2004に進む。一実施形態において、加速度計を用いて検出可能であるコントローラの運動量の変化を検出することによって、動きを検出してもよい。次に、運動量の変化は、運動ベクトルおよび/または初期発生源からの絶対位置と、重力の引っ張りを表すベクトルに変換され、コントローラ2000の向きや方向を識別する。運動、位置、および方向ベクトルは、一連の座標として表されうる。動作2004において、ゲームコントローラ2000の動きを検出した後、プロシージャは、検出された動きを表すデータが、データを要求したプログラムに送られてもよく、または他の方法でデータを受信してもよい。
【0073】
特定の実施形態において、コントローラを含む1つ以上の入力オブジェクトのコントローラプレーヤ番号、向きや方向、および/または位置を決定するための上述した画像またはオーディオ処理機能が、コンピュータシステム上で実行するプロセスにおいて実行されてもよい。コンピュータシステムはまた、ゲームアプリケーションであってもよいメインプロセスを実行してもよく、このプロセスでは、強度値、コントローラプレーヤ番号、コントローラを含む1つ以上の入力オブジェクトの向きや方向および/または位置、コントローラの作動などを含むデータなど、画像またはオーディオ処理から生成されたデータを要求し、または他の方法で受信する。さまざまな実施形態において、画像および/またはオーディオ処理機能を実行するプロセスは、ビデオカメラまたはビデオ/オーディオモニタリングデバイス用のドライバであってもよく、ドライバは、当業者に一般に既知であり理解されるように、実装時固有のものであってもよい任意のタイプのプロセス間の通信を介して、データをメインプロセスに与える。画像またはオーディオ処理を実行するプロセスは、ゲームや他のソフトウェアを実行するものと同じプロセッサまたは異なるプロセッサで実行される。同じプロセスにおいて、例えば、手続き呼出しを用いて、画像またはオーディオ処理と、ゲーム機能との両方に共通したプロセスを有することも可能である。したがって、「プログラムに」強度値やその他の情報が与えられてもよいことを本明細書において述べていることもあるが、本発明は、単一のプロセスで画像処理機能とゲーム機能との両方を実行しうるように、手続き呼出しまたはその他のソフトウェア機能を用いて、プロセスの1つのルーチンにこのようなデータを与えることを伴いとともに、これらの機能を異なるプロセスに分離することで、共通のプロセッサコアまたは複数のプロセッサコアに実行してもよい1つ以上のプロセスが、本明細書に記載するように、画像および/またはオーディオ処理を実行し、別のプロセスがゲーム機能を実行することを認識されたい。
【0074】
図21は、本発明の一実施形態による言語的および非言語的コミュニケーションを改善し高めるためのシステムの高水準概要の簡易ブロック図である。図21に示すように、システム2100が、少なくとも1つのコントローラ2102A、少なくとも1つの周辺マイクロホン2102B、少なくとも1つのビデオカメラ2102C、および少なくとも1つのプレーヤマイクロホン2102Dからデータを入力可能である。
【0075】
ビデオカメラ2102Cからのビデオ入力は、最初、入力ユニット104に送られる。入力ユニットは、回路またはソフトウェア制御されたドライバの形態のものでありうる。次に、ビデオ入力は、ビデオキャプチャユニット2112に送られ、ビデオ認識・トラッキングユニット2116によってさらに処理される。ビデオ認識・トラッキングユニット2116は、ユーザの動きとともに、ユーザの顔の特徴や身体部位を認識しうる。さらに、ビデオ認識・トラッキングユニット2116は、背景環境、およびキャプチャ画像内にあるその他の要素をキャプチャ可能であってもよい。フレームプロセッサ2120が、ビデオ認識・トラッキングユニット2116からの出力を用いて、ビデオ効果ライブラリ2108からのビデオを加えて画像を補いうる。ビデオ効果ライブラリ2108は、所定のビデオ効果2108Aおよびカスタムビデオ効果2108Bとして示す少なくとも2つのライブラリを含み、ユーザによって選択的に適用され、またはシステム2100によって自動的に供給されうる。ビデオ効果ライブラリ2108は、ライブラリに所定のカスタムビデオ効果がある限り、ライブラリの数を増減させることも可能である。動作中、フレームプロセッサは、ビデオ出力2132として示され、ユーザに表示される最終画像を算出し出力するグラフィックプロセッサ/レンダラ2124にデータを出力する。グラフィックプロセッサ/レンダラ2124はまた、システム2100の状態に関する情報を通信リンク2126に送る。
【0076】
周辺マイクロホン2102Bおよびプレーヤマイクロホン2102Dからのオーディオ入力は、最初、入力ユニット2104を通過し、次に、キャプチャされたデータを音声認識ユニット2114に送ってもよい音声キャプチャユニットによってキャプチャされてもよい。次に、音声データは、音響効果ライブラリ2106からの入力を受信しうる音声プロセッサ2118に送られてもよい。音響効果ライブラリ2106は、所定の音響効果2106Aおよびカスタム音響効果2106Bとして示す少なくとも2つのライブラリを含み、ユーザによって選択的に適用され、またはシステム2100によって自動的に供給されうる。音響効果ライブラリは、ライブラリに所定のカスタムオーディオ効果がある限り、ライブラリの数を増減させることも可能である。一実施形態において、音声プロセッサ2118は、オーディオ出力2130として示すシステム2100の最終混合音声を出力し、システム2100の状態に関する情報を通信リンク2126に送る。
【0077】
一実施形態において、通信リンク2126は、システム2100をネットワーク2128に接続し、このネットワーク2128は、システム2100と対話可能であり、リモートユーザ(図示せず)によって作動されたリモートシステム2150とシステム2100とを接続しうる。図21は、ネットワーク2128を介して単一のリモートシステム2150に接続されているシステム2100を示すが、複数のリモートシステム2150およびそれらに対応するユーザが、ネットワーク2128を介してシステム2100に接続されてもよいことを理解されたい。リモートシステム2150は、システム2100から受信したデータに基づいて、システム2100の状態を理解可能である。リモートシステム2150は、オーディオ出力2154およびビデオ出力2152を生成する前に、システム2100の状態に関する情報と、リモートユーザからの入力とを結合する。
【0078】
図22Aは、本発明の一実施形態による、レースの対戦中の2人のプレーヤから見たスクリーンを示す。運転シミュレーションゲームを基にしたこの例で、本発明に関するさらなる本質が分かるであろう。この例では、2人のプレーヤが、ゲームプレイ中にアバターに感情的特徴を与えうる運転シミュレーションを用いて、レースの対戦をしている。プレーヤ1およびプレーヤ2は、物理的に異なる場所にいてもよく、各プレーヤのゲーム状態に関するデータを送信するためにインターネットを使用してもよい。各プレーヤのそれぞれの場所にあるマイクロホンおよびカメラは、ゲームプレイに対するプレーヤの反応をモニタリングしてもよい。一実施形態において、マイクロホンは、プレーヤの可聴反応をモニタリングでき、また一方で、カメラは、ゲームプレイに反応してプレーヤの物理的な動きをモニタリングしうる。他の実施形態において、コントローラは、コントローラの位置およびピッチの変化速度、回転、揺れ、加速、および相対運動に関するデータをコンピュータシステムに中継するように構成されうる。各プレーヤは、カスタムアバターを有してもよく、各プレーヤは、対戦相手のアバターを自らのスクリーン上で見ることができる。
【0079】
一実施形態において、ビデオスクリーン2200が、2つのウィンドウを含んでもよく、ウィンドウ2204は、ゲーム中にプレーヤ1が見ているものを示し、ウィンドウ2202は、プレーヤ2のアバターを示す。また、ビデオスクリーン2206は、2つのウィンドウを含んでもよく、ウィンドウ2210は、ゲーム中にプレーヤ2が見ているものを示し、ウィンドウ2208は、プレーヤ1のアバターを示す。異なる実施形態において、2人以上のオンラインの対戦相手を表すためのアバターウィンドウが複数あってもよい。別の実施形態において、別のアバターウィンドウがないこともあるが、その代わりに、アバターが、ゲームを表示するウィンドウ上に重ね合わされてもよい。ビデオスクリーン2200内に、スクリーンを組み合わせたものが他にも多数ある場合もあり、上述した例は、限定的なものではない。
【0080】
この例において、レースのスタート時、プレーヤ1は、好調なスタートをしていない。これは、プレーヤ2が「運転する」車2212がプレーヤ1に見えているため、ウィンドウ2204で見ることができる。ほぼリアルタイムに、スクリーン2210に示されるように、プレーヤー2は、その前方には何もなく、プレーヤ1の実際の顔の表情の結果としてのプレーヤ1の顔の表情のアバターを見ることができる。プレーヤ1の実際の顔の表情は、カメラによってキャプチャされ、プレーヤ1のアバターは、プレーヤ1の実際の反応を模倣するように修正される。逆に、プレーヤ1は、プレーヤ1のスタートが良くなかったことに反応して舌を出しているプレーヤ2のアバターを見ることができる。このように、ウィンドウ2208に示すプレーヤ1のアバターは、プレーヤ1の体の動きおよび顔の表情を反映するように修正されうる。同様に、ウィンドウ2202に示すプレーヤ2のアバターは、プレーヤ2の体の動きおよび顔の表情を反映するように修正されうる。顔の表情を修正しうる範囲は、目の特徴、口の特徴、眉毛の特徴の修正、またはそれらの組み合わせを含むが、これらに限定されるものではない。
【0081】
図22Bは、レースの続きであり、ウィンドウ2204’にあるプレーヤ1の透視図から分かるように、プレーヤ2は、車をスピンしている。ほぼリアルタイムに、プレーヤ1は、スピンしているプレーヤ2のアバターを見ることができ、このとき、プレーヤ2のアバターは、プレーヤ2の場所にあるカメラによってキャプチャされたプレーヤ2の実際の顔の表情の表現に基づいて修正される。ゲームプレイイベントを自動的に検知する実演として、ウィンドウ2202’に示すように、プレーヤ2のアバターの頭部を飛ぶ漫画の鳥が自動的に表示され、スピンアウト後のめまいを示す。めまいは、自動的に修正されたアバターの1つの特定の例であって、限定的になるように意図したものではない。現実世界のユーザによって引き起こされたり命令されたりするアクションに応答して、自動的に実行されるものを含む自動アバター修正の可能性は無限にある。別の実施形態において、プレーヤのアバター描写は、ゲームプレイイベントに応答して自動的に部分的に修正される。プレーヤのアバターの任意の自動修正が、現実世界のユーザのモニタされた反応と必ずししも完全に一致するわけではないことに留意されたい。
【0082】
プレーヤ2のアバターは、ウィンドウ2202’に示されているように、イライラしてコントローラを掴みながら手を上げている。ビデオカメラは、ユーザのビデオをキャプチャするために使用されえ、さまざまなプログラムおよびプロセッサが、キャプチャされたビデオ内のユーザの動きを解析し検出するために使用されうる。ユーザの検出された動きは、第1のユーザのアバター描写にマッピングされ、ほぼリアルタイムに第2のユーザに表示されうる。ウィンドウ2208’に見られるように、プレーヤ1のアバターは、プレーヤ1がスピンアウトしたのを見た反応として目を見開いている。上記に挙げた修正された反応は、限定的であるように意図されたものではなく、アバターは、現実世界のユーザの動き、顔の反応、または音として聞こえる反応の変化を含むように修正されうることに留意されたい。一実施形態において、カメラおよびそれに関連するソフトウェアは、顔の表情、頭部の動き、および手の動きの変化に関して現実世界のユーザをモニタし、ほぼリアルタイムに現実世界のユーザのアバター描写を継続的に更新するように使用されうる。
【0083】
ユーザからの音として聞こえる反応は、マイクロホンを用いてキャプチャされうる。ハードウェアとソフトウェアとの組み合わせが、キャプチャされた音として聞こえる反応にある言葉を検出するために使用されうる。次に、検出された言葉は、選択された言葉がゲームプレイ中にプレーヤ間で伝達されるようにフィルタリングされうる。一実施形態において、検出されたフィルタリングされた言葉は、プレーヤのアバターと関連付けられたテキストバブルを用いて、原文のまま伝達されうる。別の実施形態において、検出されフィルタリングされた言葉は、第2のプレーヤの対話型ゲームセットアップと関連付けられたスピーカを介して聞こえるように伝えられる。さらなる別の実施形態において、検出されフィルタリングされた言葉は、聞こえるように原文のまま伝達される。一実施形態において、検出された言葉は、特定のゲームの娯楽ソフトウェア格付け委員会(ESRB)の格付けに基づいて、特定の言葉を含んだり排除したりするようにフィルタリングされうる。他の実施形態において、親が言葉のフィルタレベルを設定できる。
【0084】
図22Cは、アバターに感情的特徴を与えうる別の例を示す。プレーヤ1は、ウィンドウ2204”のプレーヤ1の前の道路には何もない状態から分かるように、スピンアウトしたプレーヤ2を追い越している。ウィンドウ2202”は、プレーヤ2のアバターを示し、ウィンドウ2208”は、プレーヤ2を追い越したことの感情的応答として、頭を振って体を動かすプレーヤ1のアバターを示す。ウィンドウ2210”は、プレーヤ2の前にあるプレーヤ1の車を示す。
【0085】
図23は、ボクシングシミュレーション中の対戦相手の反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、アバターウィンドウが、パンチを受けるプレーヤの顔の表情の反応を示しているため、パンチを放った側のプレーヤの斜視図のものである。
【0086】
図24は、ボクシングシミュレーション中の対戦相手の反応をアバターウィンドウに示す。この例において、図示してゲームスクリーンは、アバターウィンドウが、パンチを放ったプレーヤの威嚇する反応を示しているため、パンチを受ける側のプレーヤの斜視図のものである。
【0087】
図25は、ロールプレイングゲーム中のチームメンバーの反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、アバターウィンドウが、宝物箱を開けるプレーヤの嬉しそうな反応を示すため、開きつつある宝物箱を見つめるプレーヤの斜視図のものである。
【0088】
図26は、運転シミュレーション中のプレーヤの反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、第2の場所にいるプレーヤの斜視図のものであり、アバターウィンドウは、ゲームスクリーンに見える飛行車を運転するプレーヤの驚いた顔の表情を反映している。
【0089】
図27は、ゴルフシミュレーション中の対戦相手の反応をアバターウィンドウに示す。この例において、図示したゲームスクリーンは、パッティング中のプレーヤの斜視図のものであり、アバターウィンドウは、パッティングするプレーヤを見る対戦相手が神経質になっている状態を示す図22A〜図27に挙げた例は、ゲームプレイ中にコンピュータ生成されたアバターの感情的特徴の応用の可能性を示すように意図されたものである。応用の可能性は多くあり、前述した例は、例示的なものであって限定を意図したものではない。
【0090】
図28は、本発明の一実施形態によるアバター制御システムを実施するためのコントローラと互換性のあるものであってもよいコンソールである、ソニー(登録商標)プレイステーション3(登録商標)のエンタテインメント機器のシステムアーキテクチャ全体を略図的に示す。システムユニット2800が設けられ、システムユニット2800には、さまざまな周辺デバイスが接続される。システムユニット2800は、セルプロセッサ2828と、ランバス(登録商標)ダイナミックランダムアクセスメモリ(XDRAM)ユニット2826と、専用ビデオランダムアクセスメモリ(VRAM)ユニット2832を有するリアリティシンセサイザグラフィックユニット2830と、I/Oブリッジ2834とを含む。また、システムユニット2800は、ディスク2840aを読み取るためのブルーレイ(登録商標)ディスクBD−ROM(登録商標)光ディスクリーダ2840と、I/Oブリッジ2834を介してアクセス可能なリムーバブルスロットインハードディスクドライブ(HDD)2836とを含む。任意に、システムユニット2800は、コンパクトフラッシュメモリカード、メモリスティック(登録商標)メモリカードなどを読み取るためのメモリカードリーダ2838をさらに含み、メモリカードリーダ2838は、I/Oブリッジ2834を介して同様にアクセス可能である。
【0091】
I/Oブリッジ2834はまた、6つのユニバーサルシリアルバス(USB)2.0ポート2824と、ギガビットイーサネットポート2822と、IEEE802.11b/gワイヤレスネットワーク(ワイファイ)ポート2820と、最高7つのブルートゥース接続の支持可能であるブルートゥース(登録商標)ワイヤレスリンクポート2818とに接続される。
【0092】
動作中、I/Oブリッジ2834は、1つ以上のゲームコントローラ2802からのデータを含む、すべてのワイヤレス、USB、およびイーサネットデータを取り扱う。例えば、ユーザがゲームをしているとき、I/Oブリッジ2834は、ブルートゥースリンクを介してゲームコントローラ2802からデータを受信し、それに従い、ゲームの現在の状態を更新するセルプロセッサ2828にデータを送る。
【0093】
ワイヤレス、USB、およびイーサネットポートはまた、リモートコントロール2804、キーボード2806、マウス2808、ソニープレイステーションポータブル(登録商標)エンタテインメント機器などのポータブルエンタテインメント機器2810と、アイトーイ(Eye Toy)(登録商標)ビデオカメラ2812などのビデオカメラと、マイクロホンヘッドセット2814などのゲームコントローラ2802に加えて他の周辺機器に接続を与える。したがって、このような周辺機器は、原則的に、システムユニット2800にワイヤレス接続され、例えば、ポータブルエンタテインメント機器2810は、ワイファイアドホック接続を介して通信してもよく、マイクロホンヘッドセット2814は、ブルートゥースリンクを介して通信してもよい。
【0094】
これらのインタフェースの提供は、プレイステーション3デバイスが、ディジタルビデオレコーダ(DVR)、セットトップボックス、ディジタルカメラ、ポータブルメディアプレーヤ、IP電話を利用した音声通信機器、モバイル電話、プリンタ、およびスキャナなどの他の周辺機器とも互換性の可能性があるということを意味する。
【0095】
さらに、プレイステーション(登録商標)またはプレイステーション2(登録商標)デバイスによって使用される種類のメモリカード2848を読み取ることが可能な従来のメモリカードリーダ2816が、USBポート2824を介してシステムユニットに接続されてもよい。
【0096】
この実施形態において、ゲームコントローラ2802は、ブルートゥースリンクを介してシステムユニット2800とワイヤレス通信するように動作可能である。しかしながら、ゲームコントローラ2802は、その代わりに、USBポートに接続され、この接続により電力を得て、ゲームコントローラ2802のバッテリーが充電される。1つ以上のアナログジョイスティックおよび従来の制御ボタンの他にも、ゲームコントローラは、各軸の並進および回転に対応する6自由度の運動に感応性がある。結果的に、ゲームコントローラのユーザによるジェスチャおよび動きは、従来のボタンまたはジョイスティック命令に加え、またはその代わりに、ゲームへの入力として変換されてもよい。任意に、プレイステーション(登録商標)ポータブルデバイスなどの他のワイヤレス使用可能周辺機器が、コントローラとして使用されてもよい。プレイステーション(登録商標)ポータブルデバイスの場合、デバイスのスクリーン上に、追加のゲームまたはコントロール情報(例えば、制御命令や命の数)が提供されてもよい。また、ダンスマット(図示せず)、ライトガン(図示せず)、ハンドルとペダル(図示せず)、または迅速な応答のクイズゲーム(図示せず)用の1つまたは複数の大きなボタンなどの特注コントローラなどの他の別の補助的な制御デバイスが使用されてもよい。
【0097】
リモートコントロール2804はまた、ブルートゥースリンクを介してシステムユニット2800とワイヤレス通信するように動作可能である。リモートコントロール2804は、ブルーレイ(登録商標)ディスクBD−ROMリーダ2840を動作し、ディスクコンテンツをナビゲーションするのに適したコントロールを含む。
【0098】
ブルーレイ(登録商標)ディスクBD−ROMリーダ2840は、従来の記録済みおよび追記型のCDと、いわゆるスーパーオーディオCDに加え、プレイステーションおよびプレイステーション2デバイスと互換性のあるCD−ROMを読み取るように動作可能である。リーダ2840はまた、従来の記録済みおよび追記型DVDに加え、プレイステーション2およびプレイステーション3デバイスと互換性のあるDVD−ROMを読み取るように動作可能である。リーダ2840は、プレイステーション3デバイスとともに、従来の記録済みおよび追記型のブルーレイディスクと互換性のあるBD−ROMを読み取るようにさらに動作可能である。
【0099】
システムユニット2800は、リアリティシンセサイザグラフィックユニット2830を介して、オーディオおよびビデオコネクタを通して、ディスプレイ2814および1つ以上のラウドスピーカ2846を有するモニタまたはテレビ受像機セットなどのディスプレイおよび音声出力デバイス284に、プレイステーション3デバイスによって生成または復号化されたオーディオおよびビデオを供給するように動作可能である。オーディオコネクタ2850は、従来のアナログおよびディジタル出力を含んでもよく、ビデオコネクタ2852は、コンポーネントビデオ、Sビデオ、複合ビデオ、および1つ以上の高解像度マルチメディアインタフェース(HDMI)出力を種々に含んでもよい。結果的に、ビデオ出力は、PALまたはNTSCなどの形式のものであっても、720p、1080i、または1080p高解像度のものであってもよい。
【0100】
オーディオ処理(生成、復号など)が、セルプロセッサ1128によって実行される。プレイステーション3デバイスのオペレーティングシステムは、ドルビー(登録商標)5.1サラウンドサウンド、ドルビー(登録商標)シアターサラウンド(DTS)、およびブルーレイ(登録商標)ディスクからの7.1サラウンドサウンドの復号をサポートする。
【0101】
本発明の実施形態において、ビデオカメラ2812は、単一の電荷結合素子(CCD)と、LEDインジケータと、ハードウェアベースの実時間データ圧縮および符号化装置とを含み、この装置では、システムユニット2800によって復号化するためのイントラ画像ベースのMPEG(動画専門家グループ)標準などの適切な形式で圧縮ビデオデータ送信されてもよい。カメラLEDインジケータは、例えば、劣悪な照明条件を表すために、システムユニット2800からの適切な制御データに応答して照明するように配設される。ビデオカメラ2812の実施形態は、USB、ブルートゥース、またはワイファイ通信ポートを介して、システムユニット2800に種々に接続されてもよい。ビデオカメラの実施形態は、1つ以上の関連するマイクロホンを含んでもよく、オーディオデータを送信可能であってもよい。ビデオカメラの実施形態において、CCDの解像度は、高解像度ビデオキャプチャに適したものであってもよい。使用中、ビデオカメラによってキャプチャされる画像は、例えば、ゲーム内に取り込まれてもよく、またはゲーム制御入力として解釈されてもよい。
【0102】
一般に、システムユニット2800の通信ポートの1つを介して、ビデオカメラやリモートコントロールなどの周辺デバイスとのデータ通信をうまく行うために、デバイスドライバなどの適切なソフトウェアを提供する必要がある。デバイスドライバ技術は周知のものであるため、本明細書に記載する実施形態においてデバイスドライバまたは同様のソフトウェアインタフェースが要求されるであろうことを当業者が認識しているであろうことを述べるだけで、本明細書においては詳細に記載しない。
【0103】
以下、図29を参照すると、セルプロセッサ2828は、4つの基本的なコンポーネント、すなわち、メモリコントローラ2960およびデュアルバスインタフェースコントローラ2970A、Bを含む外部入出力構造と、パワー処理エレメント2950と呼ばれるメインプロセッサと、相乗的処理エレメント(SPE)2910A〜Hと呼ばれる8つのコプロセッサと、エレメントインターコネクトバス2980よ呼ばれる上記コンポーネントを接続する巡回データバスとを含むアーキテクチャを有する。セルプロセッサの総浮動小数点性能は、プレイステーション2デバイスのエモーションエンジンの6.2GFLOPSと比較すると、218GFLOPSである。
【0104】
パワー処理エレメント(PPE)2950は、3.2GHzの内部クロックで動作し、二方向同時マルチスレッディングパワー970に対応したパワーPCコア(PPU)2955に基づいたものである。PPE2950は、512kBのレベル2(L2)キャッシュと、32kBのレベル1(L1)キャッシュとを含む。PPE2950は、3.2GHzで25.6GFLOPSに変換するクロックサイクル当たり8つの単位置演算が可能である。PPE2950の主な役割は、計算作業量のほとんどを取り扱う相乗的処理エレメント2910A〜Hのコントローラとして作用することである。動作中、PPE2950は、相乗的処理エレメント2910A〜Hのジョブをスケジューリングし、その進行をモニタしながら、ジョブキューを維持する。結果的に、各相乗的処理エレメント2910A〜Hは、ジョブをフェッチし、実行し、PPE2950と同期させる役割のカーネルを実行する。
【0105】
各相乗的処理エレメント(SPE)2910A〜Hは、それぞれ、相乗的処理ユニット(SPU)2920A〜Hと、ダイナミックメモリアクセスコントローラ(DMAC)2942A〜Hをそれぞれ含むそれぞれのメモリフローコントローラ(MFC)2940A〜Hと、メモリ管理ユニット(MMU)2944A〜Hと、バスインタフェース(図示せず)とを含む。各SPU2920A〜Hは、3.2GHzのクロック周波数のRISCプロセッサであり、原則的に、4GBまで拡張可能な256kBのローカルRAM2930A〜Hを含む。各SPEは、理論値25.6GFLOPSの単精度性能を与える。SPUが、単一のクロックサイクルにおいて4つの単精度浮動小数点要素、4つの32ビット数値、8つの16ビット整数、または16個の8ビット整数で動作しうる。同じクロックサイクルにおいて、SPUは、メモリ動作も実行しうる。SPU2920A〜Hは、システムメモリXDRAM2826に直接アクセスせず、SPU2920A〜Hによって形成された64ビットは、MFC2940A〜Hに送られ、MFC2940A〜Hは、そのDMAコントローラ2942A〜Hに命令して、エレメントインターコネクトバス2980およびメモリコントローラ2960を介してメモリにアクセスする。
【0106】
エレメントインターコネクトバス(EIB)2980は、セルプロセッサ282の内部にある論理的に巡回型の通信バスであり、この通信バスは、上記プロセッサエレメント、すなわち、PPE2950、メモリコントローラ2960、デュアルバスインタフェース2970A、B、および8つのSPE1210A〜Hの全部で12の関与エレメントを接続する。関与エレメントは、1クロックサイクル当たり8バイトのレートでバスに同時に読み書きされうる。前述したように、各SPE2910A〜Hは、より長い読み取りまたは書き込みシーケンスをスケジューリングするためのDMAC2942A〜Hを含む。EIBは、4つのチャネルを含み、2つずつがそれぞれ、時計回りおよび反時計回りの方向である。結果的に、12の関与エレメントに対して、任意の2つの関与エレメントの間の最も長い段階的なデータフローのステップ数は、適切な方向において6段階である。したがって、12スロットの理論ピーク瞬時EIB帯域幅は、関与エレメント間の調停によってすべて利用される場合、クロック当たり96Bである。これは、3.2GHzのクロックレートで307.2GB/s(1秒当たりのギガバイト)の理論ピーク帯域幅に等しい。
【0107】
メモリコントローラ2960は、ランバス(Rambus)社によって開発されたXDRAMインタフェース2962を含む。メモリコントローラは、25.6GB/sの理論ピーク帯域幅をもつランバスXDRAM2826と連動する。
【0108】
デュアルバスインタフェース2970A、Bは、ランバス社製のFlexIO(登録商標)システムインタフェース2972A、Bを含む。インタフェースは、下り5経路および上り7経路を有する、それぞれが8ビット幅の12チャネルに体系化される。これにより、コントローラ2972Aを介したセルプロセッサおよびI/Oブリッジ2834と、およびコントローラ2972Bを介してリアリティシミュレータグラフィックユニット2830との間に、62.4GB/s(下り36.4GB/s、上り26GB/s)の理論ピーク帯域幅が得られる。
【0109】
セルプロセッサ2828によってリアリティシミュレータグラフィックユニット2830に送信されるデータは、典型的に、頂点を描き、テクスチャを多角形に適用し、照明条件を明示するなどの一連の命令である表示リストを含む。
【0110】
実施形態は、現実世界のユーザをさらに良好に識別し、アバターまたはシーンの活動を指示するために、深度データをキャプチャすることを含む。オブジェクトは、人が保持しているものであっても、人の手であってもよい。本明細書において、「深度カメラ」および「3次元カメラ」という用語は、2次元ピクセル情報の他にも、距離または深度情報を獲得可能な任意のカメラをさす。例えば、深度カメラが、距離情報を得るために、制御された赤外線発光体を利用しうる。別の例示的な深度カメラは、2つの標準的なカメラを用いて距離情報を三角測量するステレオカメラペアでありうる。同様に、「深度検知デバイス」という用語は、2次元ピクセル情報の他にも、距離情報を獲得可能な任意のタイプのデバイスをさす。
【0111】
3次元画像の最近の進歩により、リアルタイムの対話型コンピュータアニメーションの可能性が新たに増えてきた。特に、新しい「深度カメラ」では、通常の2次元ビデオ画像の他にも、第3次元をキャプチャしマッピングすることができる。新しい深度データを用いて、本発明の実施形態により、他のオブジェクトの後方を含む、ビデオシーン内のさまざまな位置にリアルタイムでコンピュータ生成オブジェクトを配置できる。
【0112】
さらに、本発明の実施形態により、ユーザにリアルタイムの対話型ゲーム体験が提供される。例えば、ユーザは、さまざまなコンピュータ生成オブジェクトとリアルタイムに対話できる。さらに、ビデオシーンは、ユーザのゲーム体験を高めるために、リアルタイムで変更されうる。例えば、コンピュータ生成のコスチュームを、ユーザの衣服の上にはめ込むことができ、コンピュータ生成の光源を、ビデオシーン内の仮想投影を映し出すために利用されうる。このようにして、本発明の実施形態および深度カメラを用いて、ユーザが、自分のリビングルームで対話型ゲーム環境を体験できる。通常のカメラと同様に、深度カメラが、ビデオ画像を含む複数のピクセルの2次元データをキャプチャする。これらの値は、ピクセルに対するカラー値であり、一般に、各ピクセルに対して赤、緑、および青の(RGB)値である。このようにして、カメラがキャプチャしたオブジェクトは、モニタ上に2次元オブジェクトとして現れる。
【0113】
本発明の実施形態はまた、分散型の画像処理構造についても検討する。例えば、本発明は、CPUまたはCPUとその他のエレメントなど、1つまたは2つの場所で行われている、キャプチャされた画像およびディスプレイ画像処理に限定されるものではない。例えば、入力画像処理は、処理を実行しうる関連のCPU、プロセッサ、またはデバイスにおいて容易に行うことができるものであり、原則的に全ての画像処理は、相互接続システムを通じて分散されうる。このように、本発明は、いずれの具体的な画像処理ハードウェア回路および/またはソフトウェアに限定されるものではない。本明細書に記載する実施形態もまた、一般のハードウェア回路および/またはソフトウェアの任意の特定の組み合わせにも、処理コンポーネントによって実行される命令に対する任意の特定のソースにも限定されるものではない。
【0114】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに格納されたデータを使用する、さまざまなコンピュータ実装動作を用いてもよいことを理解されたい。これらの動作には、物理量の物理的な操作を必要とする動作が含まれる。この物理量は、通常、格納、転送、結合、比較、または他の操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。さらに、実行される操作は、多くの場合、生成、識別、判断、または比較などの用語で参照される。
【0115】
本発明は、本明細書において提示されるように用いられてもよく、または、他のユーザ入力機構と組み合わせて、さらには、音声の角度方向をトラッキングする機構および/または能動的または受動的にオブジェクトの位置をトラッキングする機構、機械視覚を用いた機構、それらの組み合わせとともに用いられてもよく、トラッキングされているオブジェクトは、システムへのフィードバックを操作する補助コントロールやボタンを含んでもよく、このようなフィードバックは、光源からの光放出、音声歪み手段、または他の適切な送信機および変調器とともに、送信や変調に影響を与え、状態を符号化し、および/またはトラッキングされているデバイスとの間で命令を送信してもよいボタン、圧力パッドなどを含んでもよいが、これらに限定されるものではない。
【0116】
本発明は、ゲームコンソール、ゲームコンピュータまたはコンピュータデバイス、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラマブル民生電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成で実施されてもよい。また、本発明は、分散コンピュータ環境で実施され、このような環境では、ネットワークを介してリンクされる遠隔処理デバイスによってタスクが実行される。例えば、オンラインゲームシステムおよびソフトウェアが使用されてもよい。
【0117】
上記の実施形態を考慮に入れて、本発明が、コンピュータシステムに格納されたデータを使用する、さまざまなコンピュータ実装動作を使用してもよいことを理解されたい。これらの動作は、物理量の物理的な操作を要するものである。この物理量は、通常、格納、転送、結合、比較、または他の操作が可能な電気信号または磁気信号の形を取るが、必ずしもこれらに限定されない。さらに、実行される操作は、多くの場合、生成、識別、判断、または比較などの用語で参照される。
【0118】
本発明の一部をなす本明細書に記載する動作はいずれも、有用な機械動作である。本発明は、これらの動作を実行するデバイスまたは装置にも関する。この装置は、上述したキャリアネットワークなど、所望の目的のために特別に作製されたものであってもよく、または、コンピュータに格納されたコンピュータプログラムによって選択的に作動または構成される汎用コンピュータであってもよい。特に、各種の汎用の機械が、本明細書の教示に従って記述したコンピュータプログラムとともに使用され、または、所望の動作を実行するためにさらに特化した装置を作製するほうが利便性が高いこともある。
【0119】
本発明はまた、コンピュータ可読媒体上にコンピュータ可読コードとして実現されることもできる。コンピュータ可読媒体は、データを格納しうる任意のデータストレージデバイスであってもよく、このデータは、コンピュータシステムによって読み取られうる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続ストレージ(NAS)、読み出し専用メモリ、ランダムアクセスメモリ、フラッシュベースメモリ、CD−ROM,CD−R、CD−RW、DVD、磁気テープ、および他の光学および非光学データストレージデバイスを含む。コンピュータ可読媒体は、コンピュータ可読コードが分散式で格納され、実行されてもよいように、ネットワークに接続されたコンピュータシステム上に分散されうる。
【0120】
明確に理解できるようにするために、前述の発明をある程度詳細に記載してきたが、添付の特許請求の範囲内で特定の変更と修正がされるのは明らかであろう。したがって、本発明の実施形態は、例示的なものであり限定的なものではないと考慮されるべきであり、本発明は、本明細書で述べた詳細に限定されることはなく、添付の特許請求の範囲およびその等価物の範囲で修正されてもよい。
【特許請求の範囲】
【請求項1】
ゲームプレイイベントに対するユーザの反応に応答してアバターを修正し、前記アバターが、第1のユーザおよび第2のユーザの一方または両方を表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータで実行される方法であって、
ゲームプレイを実行するステップと、
前記第1および第2のユーザの一方または両方の反応をモニタするステップと、
ゲームプレイのディスプレイエリアの側部に沿って、前記第1および第2のユーザの一方または両方のアバター描写を表示するステップと、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバター描写の反応を修正するステップとを含む、コンピュータで実行される方法。
【請求項2】
前記アバター描写が、表示されたアバター描写によって、前記第1および第2のユーザの一方または両方の動き、顔の反応、または音として聞こえる反応の少なくとも1つを識別する、請求項1に記載の方法。
【請求項3】
前記ゲームプレイがオンラインで実行され、前記第1および第2のユーザの各々のコンピュータシステムが、前記第1および第2のユーザのそれぞれのコンピュータシステムおよびインターネット接続上で接続されたネットワークコンピュータで部分的に実行されるコンピュータプログラムとのインタラクションを行う、請求項1に記載の方法。
【請求項4】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1のユーザのビデオをキャプチャするステップと、
前記第1のユーザの動きを検出するステップと、
前記第1のユーザの検出された動きを前記第1のユーザのアバター描写にマッピングするステップと、
前記第1または第2のユーザのいずれかのコンピュータシステムに接続されたディスプレイ画面上に前記アバター描写を表示するステップとを含む、請求項1に記載の方法。
【請求項5】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1のユーザおよび前記第2のユーザの音声をキャプチャするステップと、
前記キャプチャされた音声から得られた言葉を検出するステップと、
前記言葉のうちの選択された言葉が、ゲームプレイ中に前記第1のユーザと第2のユーザとの間で通信されるように、前記検出された言葉をフィルタリングするステップとを含む、請求項1に記載の方法。
【請求項6】
前記アバター描写の反応を修正するステップが、
顔の反応、頭の動き、および手の動きの1つを、ゲームプレイのディスプレイエリアの側部に沿って表示するステップと、
前記第1のユーザと前記第2のユーザとの間でゲームプレイ反応を通信するように、ほぼリアルタイムに前記アバター描写を継続的に更新するステップとを含む、請求項1に記載の方法。
【請求項7】
ゲームプレイイベントに対するユーザの反応に応答してアバターを修正し、前記アバターが、第1のユーザおよび第2のユーザの一方または両方を表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータで実行される方法であって、
ゲームプレイを実行するステップと、
前記第1および第2のユーザの一方または両方の反応をモニタするステップと、
ゲームプレイのディスプレイエリアの側部に沿って、前記第1および第2のユーザの一方または両方のアバター描写を表示するステップと、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバター描写の反応を修正するステップとを含み、前記アバター描写が、ゲームプレイイベントに応答して自動的に少なくとも部分的に修正され、自動的に修正されたとき、前記アバター描写の修正が、前記第1のユーザまたは前記第2のユーザのモニタされた反応とすべて一致しない、コンピュータで実行される方法。
【請求項8】
前記アバター描写が、表示されたアバター描写によって、前記第1および第2のユーザの一方または両方の動き、顔の反応、または音として聞こえる反応の少なくとも1つを識別する、請求項7に記載の方法。
【請求項9】
前記ゲームプレイがオンラインで実行され、前記第1および第2のユーザの各々のコンピュータシステムが、前記第1および第2のユーザのそれぞれのコンピュータシステムおよびインターネット接続上で接続されたネットワークコンピュータで部分的に実行されるコンピュータプログラムとのインタラクションを行う、請求項7に記載の方法。
【請求項10】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1または第2のユーザのいずれかのビデオをキャプチャするステップと、
前記第1または第2のユーザの動きを検出するステップと、
前記第1または第2のユーザの検出された動きを前記第1または第2のユーザのアバター描写にマッピングするステップと、
前記第1または第2のユーザの一方のコンピュータシステムに接続されたディスプレイ画面上に前記アバター描写を表示するステップとを含む、請求項7に記載の方法。
【請求項11】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1のユーザおよび前記第2のユーザの音声をキャプチャするステップと、
前記キャプチャされた音声から得られた言葉を検出するステップと、
前記言葉のうちの選択された言葉が、ゲームプレイ中に前記第1のユーザと第2のユーザとの間で通信されるように、前記検出された言葉をフィルタリングするステップとを含む、請求項7に記載の方法。
【請求項12】
前記アバター描写の反応を修正するステップが、
顔の反応、頭の動き、および手の動きの1つを、ゲームプレイのディスプレイエリアの側部に沿って表示するステップと、
前記第1のユーザと前記第2のユーザとの間でゲームプレイ反応を通信するように、ほぼリアルタイムに前記アバター描写を継続的に更新するステップとを含む、請求項7に記載の方法。
【請求項13】
ゲームプレイイベントに応答してアバターを自動的に修正し、前記アバターが第1のユーザを表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータで実行される方法であって、
ゲームプレイ中に生じたアクションを識別するために、ゲームプレイイベントをモニタするステップと、
前記ゲームプレイアクションに対する応答を視覚的に伝えるために、ゲームプレイ中に生じる識別されたアクションに応答して、前記第1のユーザを表す前記アバターのグラフィック画像を修正するステップと、
前記第1のユーザを表す前記アバターの修正されたグラフィック画像を第2のユーザに表示するステップと、
第1のユーザを表す前記修正されたアバターにより、前記第2のユーザが、前記第1のユーザに生じたゲームプレイアクションを知ることができる方法。
【請求項14】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、ゲームプレイ中に生じるアクションが、コンピュータ規定のアクションと、前記第1または第2のユーザのいずれかによって引き起こされたり命令されたりするアクションとを含む、請求項13に記載の方法。
【請求項15】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、前記アバターのグラフィック画像が、前記アバターの少なくとも顔の表示を含む、請求項13に記載の方法。
【請求項16】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、前記ゲームプレイのアクションに対する応答を伝えることが、目の特徴、口の特徴、眉毛の特徴、またはそれらの組み合わせの1つの変化を表示するために、前記アバターの顔を修正するステップを含む、請求項15に記載の方法。
【請求項17】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、
前記第1および第2のユーザの一方または両方の反応をモニタするステップと、
前記第1のユーザまたは前記第2のユーザの前記アバターの前記グラフィック画像を表示するステップと、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバターの反応を修正するステップとをさらに含み、
前記第1または第2のユーザのいずれかのモニタされた反応に基づいて、前記アバターの反応を修正するステップが、ゲームプレイイベントに基づいて自動修正するステップに追加される、請求項13に記載の方法。
【請求項18】
ゲームプレイイベントに応答してアバターを自動的に修正し、前記ゲームプレイがオンラインで実行され、前記第1および第2のユーザの各々のコンピュータシステムが、前記第1および第2のユーザのそれぞれのコンピュータシステムおよびインターネット接続上で接続されたネットワークコンピュータで部分的に実行されるコンピュータプログラムとのインタラクションを行う、請求項13に記載の方法。
【請求項19】
ゲームプレイイベントに対するユーザの反応に応答してアバターを修正するためのプログラム命令を有し、前記アバターが、第1のユーザおよび第2のユーザの一方または両方を表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータ可読媒体であって、
ゲームプレイを実行するためのプログラム命令と、
前記第1および第2のユーザの一方または両方の反応をモニタするためのプログラム命令と、
ゲームプレイのディスプレイエリアの側部に沿って、前記第1および第2のユーザの一方または両方のアバター描写を表示するためのプログラム命令と、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバター描写の反応を修正するためのプログラム命令とを含む、コンピュータ可読媒体。
【請求項20】
前記アバター描写が、表示されたアバター描写によって、前記第1および第2のユーザの一方または両方の動き、顔の反応、または音として聞こえる反応の少なくとも1つを識別する、請求項1に記載のコンピュータ可読媒体。
【請求項1】
ゲームプレイイベントに対するユーザの反応に応答してアバターを修正し、前記アバターが、第1のユーザおよび第2のユーザの一方または両方を表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータで実行される方法であって、
ゲームプレイを実行するステップと、
前記第1および第2のユーザの一方または両方の反応をモニタするステップと、
ゲームプレイのディスプレイエリアの側部に沿って、前記第1および第2のユーザの一方または両方のアバター描写を表示するステップと、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバター描写の反応を修正するステップとを含む、コンピュータで実行される方法。
【請求項2】
前記アバター描写が、表示されたアバター描写によって、前記第1および第2のユーザの一方または両方の動き、顔の反応、または音として聞こえる反応の少なくとも1つを識別する、請求項1に記載の方法。
【請求項3】
前記ゲームプレイがオンラインで実行され、前記第1および第2のユーザの各々のコンピュータシステムが、前記第1および第2のユーザのそれぞれのコンピュータシステムおよびインターネット接続上で接続されたネットワークコンピュータで部分的に実行されるコンピュータプログラムとのインタラクションを行う、請求項1に記載の方法。
【請求項4】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1のユーザのビデオをキャプチャするステップと、
前記第1のユーザの動きを検出するステップと、
前記第1のユーザの検出された動きを前記第1のユーザのアバター描写にマッピングするステップと、
前記第1または第2のユーザのいずれかのコンピュータシステムに接続されたディスプレイ画面上に前記アバター描写を表示するステップとを含む、請求項1に記載の方法。
【請求項5】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1のユーザおよび前記第2のユーザの音声をキャプチャするステップと、
前記キャプチャされた音声から得られた言葉を検出するステップと、
前記言葉のうちの選択された言葉が、ゲームプレイ中に前記第1のユーザと第2のユーザとの間で通信されるように、前記検出された言葉をフィルタリングするステップとを含む、請求項1に記載の方法。
【請求項6】
前記アバター描写の反応を修正するステップが、
顔の反応、頭の動き、および手の動きの1つを、ゲームプレイのディスプレイエリアの側部に沿って表示するステップと、
前記第1のユーザと前記第2のユーザとの間でゲームプレイ反応を通信するように、ほぼリアルタイムに前記アバター描写を継続的に更新するステップとを含む、請求項1に記載の方法。
【請求項7】
ゲームプレイイベントに対するユーザの反応に応答してアバターを修正し、前記アバターが、第1のユーザおよび第2のユーザの一方または両方を表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータで実行される方法であって、
ゲームプレイを実行するステップと、
前記第1および第2のユーザの一方または両方の反応をモニタするステップと、
ゲームプレイのディスプレイエリアの側部に沿って、前記第1および第2のユーザの一方または両方のアバター描写を表示するステップと、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバター描写の反応を修正するステップとを含み、前記アバター描写が、ゲームプレイイベントに応答して自動的に少なくとも部分的に修正され、自動的に修正されたとき、前記アバター描写の修正が、前記第1のユーザまたは前記第2のユーザのモニタされた反応とすべて一致しない、コンピュータで実行される方法。
【請求項8】
前記アバター描写が、表示されたアバター描写によって、前記第1および第2のユーザの一方または両方の動き、顔の反応、または音として聞こえる反応の少なくとも1つを識別する、請求項7に記載の方法。
【請求項9】
前記ゲームプレイがオンラインで実行され、前記第1および第2のユーザの各々のコンピュータシステムが、前記第1および第2のユーザのそれぞれのコンピュータシステムおよびインターネット接続上で接続されたネットワークコンピュータで部分的に実行されるコンピュータプログラムとのインタラクションを行う、請求項7に記載の方法。
【請求項10】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1または第2のユーザのいずれかのビデオをキャプチャするステップと、
前記第1または第2のユーザの動きを検出するステップと、
前記第1または第2のユーザの検出された動きを前記第1または第2のユーザのアバター描写にマッピングするステップと、
前記第1または第2のユーザの一方のコンピュータシステムに接続されたディスプレイ画面上に前記アバター描写を表示するステップとを含む、請求項7に記載の方法。
【請求項11】
前記第1および第2のユーザの一方または両方の反応をモニタするステップが、
前記第1のユーザおよび前記第2のユーザの音声をキャプチャするステップと、
前記キャプチャされた音声から得られた言葉を検出するステップと、
前記言葉のうちの選択された言葉が、ゲームプレイ中に前記第1のユーザと第2のユーザとの間で通信されるように、前記検出された言葉をフィルタリングするステップとを含む、請求項7に記載の方法。
【請求項12】
前記アバター描写の反応を修正するステップが、
顔の反応、頭の動き、および手の動きの1つを、ゲームプレイのディスプレイエリアの側部に沿って表示するステップと、
前記第1のユーザと前記第2のユーザとの間でゲームプレイ反応を通信するように、ほぼリアルタイムに前記アバター描写を継続的に更新するステップとを含む、請求項7に記載の方法。
【請求項13】
ゲームプレイイベントに応答してアバターを自動的に修正し、前記アバターが第1のユーザを表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータで実行される方法であって、
ゲームプレイ中に生じたアクションを識別するために、ゲームプレイイベントをモニタするステップと、
前記ゲームプレイアクションに対する応答を視覚的に伝えるために、ゲームプレイ中に生じる識別されたアクションに応答して、前記第1のユーザを表す前記アバターのグラフィック画像を修正するステップと、
前記第1のユーザを表す前記アバターの修正されたグラフィック画像を第2のユーザに表示するステップと、
第1のユーザを表す前記修正されたアバターにより、前記第2のユーザが、前記第1のユーザに生じたゲームプレイアクションを知ることができる方法。
【請求項14】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、ゲームプレイ中に生じるアクションが、コンピュータ規定のアクションと、前記第1または第2のユーザのいずれかによって引き起こされたり命令されたりするアクションとを含む、請求項13に記載の方法。
【請求項15】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、前記アバターのグラフィック画像が、前記アバターの少なくとも顔の表示を含む、請求項13に記載の方法。
【請求項16】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、前記ゲームプレイのアクションに対する応答を伝えることが、目の特徴、口の特徴、眉毛の特徴、またはそれらの組み合わせの1つの変化を表示するために、前記アバターの顔を修正するステップを含む、請求項15に記載の方法。
【請求項17】
ゲームプレイイベントに応答してアバターを自動的に修正するコンピュータ実装方法であって、
前記第1および第2のユーザの一方または両方の反応をモニタするステップと、
前記第1のユーザまたは前記第2のユーザの前記アバターの前記グラフィック画像を表示するステップと、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバターの反応を修正するステップとをさらに含み、
前記第1または第2のユーザのいずれかのモニタされた反応に基づいて、前記アバターの反応を修正するステップが、ゲームプレイイベントに基づいて自動修正するステップに追加される、請求項13に記載の方法。
【請求項18】
ゲームプレイイベントに応答してアバターを自動的に修正し、前記ゲームプレイがオンラインで実行され、前記第1および第2のユーザの各々のコンピュータシステムが、前記第1および第2のユーザのそれぞれのコンピュータシステムおよびインターネット接続上で接続されたネットワークコンピュータで部分的に実行されるコンピュータプログラムとのインタラクションを行う、請求項13に記載の方法。
【請求項19】
ゲームプレイイベントに対するユーザの反応に応答してアバターを修正するためのプログラム命令を有し、前記アバターが、第1のユーザおよび第2のユーザの一方または両方を表し、前記ゲームプレイイベントが、コンピュータプログラムの実行と、コンピュータプログラムの少なくとも一部を実行するコンピュータシステムへのユーザ入力とから生じる、コンピュータ可読媒体であって、
ゲームプレイを実行するためのプログラム命令と、
前記第1および第2のユーザの一方または両方の反応をモニタするためのプログラム命令と、
ゲームプレイのディスプレイエリアの側部に沿って、前記第1および第2のユーザの一方または両方のアバター描写を表示するためのプログラム命令と、
ゲームプレイの実行中、前記第1および第2のユーザのモニタされた反応に応答して、前記第1および第2のユーザの一方または両方のアバター描写の反応を修正するためのプログラム命令とを含む、コンピュータ可読媒体。
【請求項20】
前記アバター描写が、表示されたアバター描写によって、前記第1および第2のユーザの一方または両方の動き、顔の反応、または音として聞こえる反応の少なくとも1つを識別する、請求項1に記載のコンピュータ可読媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18A】
【図18B】
【図18C】
【図18D】
【図18E】
【図18F】
【図19】
【図20】
【図21】
【図22A】
【図22B】
【図22C】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18A】
【図18B】
【図18C】
【図18D】
【図18E】
【図18F】
【図19】
【図20】
【図21】
【図22A】
【図22B】
【図22C】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【公表番号】特表2009−536406(P2009−536406A)
【公表日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2009−509822(P2009−509822)
【出願日】平成19年5月7日(2007.5.7)
【国際出願番号】PCT/US2007/011141
【国際公開番号】WO2007/130691
【国際公開日】平成19年11月15日(2007.11.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
2.イーサネット
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公表日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願日】平成19年5月7日(2007.5.7)
【国際出願番号】PCT/US2007/011141
【国際公開番号】WO2007/130691
【国際公開日】平成19年11月15日(2007.11.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
2.イーサネット
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]