説明

エンタテイメント装置、システム、及び方法

【課題】拡張現実システムにおいて、仮想マップを適切に生成する。
【解決手段】仮想画像を実画像と合成し、拡張現実画像を生成するためのエンタテイメント装置。ビデオカメラ756から通信リンクを介して一連のビデオ画像を受信するように動作可能な受信手段を備える。さらに、受信されたビデオ画像内の拡張現実マーカ1000を検出するように動作可能な検出手段と、その検出に基づいて仮想画像面1010を生成するように動作可能な処理手段とを備える。仮想画像面は、仮想画像を当該実表面に対応して生成することができるように、拡張現実マーカが配置されている実表面と実質的に同一平面になるように構成される。上記処理手段は、仮想画像面が上記検出された拡張現実マーカに対応して定義されるように、当該仮想画像面を捕捉ビデオ画像内に生成するように動作可能であり、且つ仮想画像面は拡張現実マーカに対応する面積より大きい面積を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エンタテイメント装置、システム、及び方法に関する。
【背景技術】
【0002】
近年、これまで以上に強力なコンピュータの出現により、ビデオカメラを使用して物体をリアルタイムに追跡することが、より達成可能になってきた。さらに、そのようなシステムを使用して実画像を仮想画像と合成し、それによって拡張現実画像を生成すると共に、ユーザのためにコンテンツの豊富なメディア体験を作り出すことができる。拡張現実画像を生成することができる多くの異なる方法が存在する。
【0003】
いくつかの拡張現実システムにおいて、既知の仮想マップ(たとえばコンピュータ支援設計を使用して実環境に対応するように生成される)を、ビデオカメラによって捕捉された実環境の画像とマッチングさせることができる。次に、そのマップを使用して仮想現実画像を生成する。この仮想現実画像を、捕捉ビデオ画像に重ね合わせるか又は該ビデオ画像と合成し、それによって拡張現実画像を生成することができる。しかしながら、そのようなシステムは、マップを実世界に登録するか又はマッチングすることを必要とする。したがって、仮想マップを実画像にマッチングさせることは、特にマップがそれほど詳細ではない場合、又は捕捉画像内にすぐに識別することができる物体がほとんど存在しない場合に、実行するのが容易でないおそれがある。
【0004】
非特許文献1において記載されるシステムのような他のシステムは、一連のビデオ画像内の特徴点を追跡し、それに従ってマップを生成する。いくつかのシステムにおいて、一連の捕捉ビデオ画像内の物体を拡張可能に追跡することによってマップを生成することができる。基本マップが生成されると、次にそのマップを使用して仮想物体をシーンに挿入することができる。しかしながら、そのようなマップの生成は計算コストが高くなり得る。さらに、静的特徴点に関連するマップを作成するために、カメラは捕捉されるシーンがフレーム毎に異なるようにパン又はチルトされる必要があり、それによって特徴点を追跡することが可能になる。したがって、このようなシステムでは、カメラが固定している場合又は追跡される特徴点がほとんど存在しない場合(たとえば卓上のような平面の場合に起こり得る)に、適切なマップを生成するのが困難であるおそれがある。
【0005】
拡張現実は、ビデオゲームシステムにおいてますます使用されるようになっている。たとえば、ソニーコンピュータエンタテインメント(登録商標)(Sony Computer Entertainment(R))によって発表された「ジ アイ オブ ジャッジメント(The eye of judgement)」と称するビデオゲームは、ゲームカードをビデオカメラによって検出することができると共に、その検出されたゲームカード上にゲームクリーチャを重ねて表示することができるように拡張現実画像を生成することができるシステムを使用する。しかしながら、このようなシステムは、ゲームカードがプレイされると、ゲームシステムと少しの間さらにリアルタイムで対話することを求める場合がある。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】G. Klein及びD. Murray著「Parallel Tracking and Mapping for Small AR Workspaces」(Proceedings of the Sixth IEEE and ICM International Symposium on Mixed and Augmented Reality(ISMAR2007) pages 225-234, 13-16 November 2007)
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記問題を緩和又は軽減しようとするものである。
【課題を解決するための手段】
【0008】
第1の態様では、仮想画像をビデオカメラによって捕捉される実画像と合成して拡張現実画像を生成するためのエンタテイメント装置であって、
ビデオカメラから通信リンクを介して一連のビデオ画像を受信するように動作可能な受信手段と、
受信されたビデオ画像内の拡張現実マーカを検出するように動作可能な検出手段と、
検出手段による拡張現実マーカの検出に基づいて仮想画像面を生成するように動作可能な処理手段であって、当該仮想画像面を前記拡張現実マーカが配置されている実表面に対応して生成することができるように、当該仮想画像面を実表面と実質的に同一平面になるように構成する処理手段と
を備え、
処理手段は、
仮想画像面が上記検出された拡張現実マーカに対応して定義されるように、当該仮想画像面を捕捉ビデオ画像内に生成するように動作可能であり、且つ
仮想画像面は、
拡張現実マーカに対応する面積より大きい面積を有するエンタテイメント装置が提供される。
【0009】
第2の態様では、仮想画像をビデオカメラによって捕捉される実画像と合成して拡張現実画像を生成する方法であって、
ビデオカメラから通信リンクを介して一連のビデオ画像を受信すること、
受信されたビデオ画像内の拡張現実マーカを検出すること、及び
前記検出手段による前記拡張現実マーカの検出に基づいて仮想画像面を生成することであって、当該仮想画像面を前記拡張現実マーカが配置されている実表面に対応して生成することができるように、当該仮想画像面を実表面と実質的に同一平面になるように構成すること
を含み、
仮想画像面は、
当該仮想画像面が検出された拡張現実マーカに対応して定義されるように、捕捉ビデオ画像内に生成され、且つ
仮想画像面は、
拡張現実マーカに対応する面積より大きい面積を有する方法が提供される。
【0010】
第3の態様では、拡張現実生成システムを用いて使用するための拡張現実マーカであって、
拡張現実生成システムによって認識するための画像を備える一次ファセットと、
1つ又は複数の二次ファセットであって、一次ファセットが当該1つ又は複数の二次ファセットと平行にならないように当該一次ファセットに対して配置される、1つ又は複数の二次ファセットと
を備える拡張現実マーカが提供される。
【0011】
仮想画像面が上記検出された拡張現実マーカに対応して定義されるように当該仮想画像面を生成することによって、本発明の実施形態は有利には、拡張現実画像を生成することができるように実環境をマッピングすることができる方法を提供する。例えば、拡張現実マーカの歪みを検出することによって、拡張現実マーカが配置される表面の較正を固定ビデオカメラを使用して実行することができる。さらに、マーカを検出して仮想画像面を実表面にマッピングするのに必要とされる処理資源を低減することができる。これは、マーカが、一連の画像を通じて複数の点を追跡する必要なく、画像の特徴を簡単に検出することを可能にすることができるためである。
【0012】
本発明のさらなるそれぞれの態様及び特徴は、添付の特許請求の範囲に規定される。
【0013】
ここで、本発明の実施形態を、添付の図面を参照して例として説明する。
【図面の簡単な説明】
【0014】
【図1】エンタテイメント装置の概略図である。
【図2】セルプロセッサの概略図である。
【図3】ビデオグラフィックスプロセッサの概略図である。
【図4】本発明の一実施形態による拡張現実マーカに対するエンタテイメントシステムの配置の概略図である。
【図5】本発明の一実施形態による拡張現実マーカの一例の概略図である。
【図6】本発明の一実施形態による3次元拡張現実マーカの概略図である。
【図7】本発明の一実施形態による対話エリア及び2つの拡張現実マーカの概略図である。
【図8】本発明の一実施形態による仮想画像面を生成する方法を示すフローチャートである。
【図9A】本発明の一実施形態による拡張現実マーカの概略図である。
【図9B】図9Aに示す拡張現実マーカの断面図である。
【発明を実施するための形態】
【0015】
エンタテイメント装置、システム、及び方法が開示される。以下の説明では、本発明の実施形態の徹底した理解を提供するために、多数の具体的な詳細が提示される。しかしながら、本発明を実施するのに、これらの具体的な詳細を用いる必要がないことは、当業者には明らかであろう。逆に、当業者に既知の具体的な詳細は、実施形態の提示を明瞭にする目的で省略される。
【0016】
図1は、ソニー(登録商標)(Sony(R))プレイステーション3(登録商標)(playstation 3(R))エンタテイメント装置の全体的なシステムアーキテクチャを概略的に示している。システムユニット10が、このシステムユニットに接続可能なさまざまな周辺装置と共に提供される。
【0017】
システムユニット10は、セルプロセッサ100と、ラムバス(登録商標)(Rambus(R))ダイナミックランダムアクセスメモリ(XDRAM)ユニット500と、専用のビデオランダムアクセスメモリ(VRAM)ユニット250を有するリアリティシンセサイザ(Reality Synthesiser)グラフィックスユニット200と、I/Oブリッジ700とを備える。
【0018】
システムユニット10は、ディスク440から読み出しを行うためのブルーレイ(登録商標)(Blu Ray(R))ディスクビーディーロム(登録商標)(BD-ROM(R))光ディスクリーダ430及び着脱可能スロットインハードディスクドライブ(HDD)400も備える。これらの光ディスクリーダ430及びHDD400には、I/Oブリッジ700を通じてアクセス可能である。オプションとして、このシステムユニットは、コンパクトフラッシュ(登録商標)メモリカード、メモリスティック(登録商標)(Memory Stick(R))メモリカード等を読み出すためのメモリカードリーダ450も備える。このメモリカードリーダ450にも、同様に、I/Oブリッジ700を通じてアクセス可能である。
【0019】
I/Oブリッジ700は、4つのユニバーサルシリアルバス(USB)2.0ポート710、ギガビットイーサネット(登録商標)ポート720、IEEE802.11b/g無線ネットワーク(Wi-Fi)ポート730、及び最大7つまでのブルートゥース(登録商標)(Bluetooth(R))接続のサポートが可能なブルートゥース無線リンクポート740にも接続している。
【0020】
動作中、I/Oブリッジ700は、1つ又は複数のゲームコントローラ751からのデータを含む、すべての無線データ、USBデータ、及びイーサネット(登録商標)データをハンドリングする。たとえば、ユーザがゲームをプレイしているとき、I/Oブリッジ700は、ブルートゥースリンクを介してゲームコントローラ751からデータを受信し、そのデータをセルプロセッサ100に方向付ける。セルプロセッサ100は、それに従ってゲームの現在の状態を更新する。
【0021】
無線ポート、USBポート、及びイーサネット(登録商標)ポートは、ゲームコントローラ751に加えて、リモートコントローラ752、キーボード753、マウス754、ソニープレイステーションポータブル(登録商標)(Sony Playstation Portable(R))エンタテイメント装置のような携帯エンタテイメント装置755、アイトイ(登録商標)(EyeToy(R))ビデオカメラ756のようなビデオカメラ、マイクロホンヘッドセット757のような、他の周辺装置の接続性も提供する。したがって、このような周辺装置は、原則的にはシステムユニット10に無線で接続することができる。たとえば、携帯エンタテイメント装置755は、Wi-Fiアドホック接続を介して通信することができる一方、マイクロホンヘッドセット757は、ブルートゥースリンクを介して通信することができる。
【0022】
これらのインターフェースの提供は、プレイステーション3装置が、デジタルビデオレコーダ(DVR)、セットトップボックス、デジタルカメラ、携帯メディアプレーヤ、ボイスオーバIP電話、移動電話、プリンタ、及びスキャナのような他の周辺装置とも潜在的に互換性があることを意味する。
【0023】
加えて、レガシーメモリカードリーダ410をUSBポート710を介してシステムユニットに接続することができ、プレイステーション(登録商標)(Playstation(R))装置又はプレイステーション2(登録商標)(Playstation 2(R))装置によって使用される種類のメモリカード420の読み出しが可能になる。
【0024】
本実施形態では、ゲームコントローラ751は、ブルートゥースリンクを介してシステムユニット10と無線通信するように動作可能である。しかしながら、ゲームコントローラ751は、代わりにUSBポートに接続することができ、それによって、ゲームコントローラ751のバッテリーを充電する電力を提供することもできる。1つ又は複数のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは、各軸における平行移動及び回転に対応した6つの自由度の動きに反応する。その結果、ゲームコントローラのユーザによるジェスチャ及び移動は、従来のボタン若しくはジョイスティックのコマンドに加えて又はそれらに代えて、ゲームへの入力として変換することができる。オプションとして、プレイステーションポータブル装置のような他の無線対応周辺装置をコントローラとして使用することができる。プレイステーションポータブル装置の場合、追加のゲーム又は制御情報(たとえば、制御命令又はライフの数)を装置のスクリーン上に提供することができる。ダンスマット(図示せず)、ライトガン(図示せず)、ステアリングホイール及びペダル(図示せず)、高速応答クイズゲーム用の単一又はいくつかの大きなボタンのような特注のコントローラ(同様に図示せず)のような、他の代替的又は補助的な制御装置も使用することができる。
【0025】
リモートコントローラ752も、ブルートゥースリンクを介してシステムユニット10と無線通信するように動作可能である。リモートコントローラ752は、ブルーレイディスクビーディーロムリーダ430のオペレーション及びディスクコンテンツのナビゲーションに適した制御装置を備える。
【0026】
ブルーレイディスクビーディーロムリーダ430は、従来の事前に記録されたCD及び記録可能CD並びにいわゆるスーパーオーディオCDに加えて、プレイステーション装置及びプレイステーション2装置と互換性のあるCD−ROMを読み出すように動作可能である。また、リーダ430は、従来の事前に記録されたDVD及び記録可能DVDに加えて、プレイステーション2装置及びプレイステーション3装置と互換性のあるDVD−ROMを読み出すように動作可能でもある。リーダ430は、従来の事前に記録されたブルーレイディスク及び記録可能ブルーレイディスクだけでなく、プレイステーション3装置と互換性のあるビーディーロムを読み出すようにさらに動作可能である。
【0027】
システムユニット10は、プレイステーション3装置により生成又は復号されたオーディオ及びビデオを、リアリティシンセサイザグラフィックスユニット200を介し、オーディオコネクタ及びビデオコネクタを通じて、ディスプレイ305及び1つ又は複数のラウドスピーカ310を有するモニタ又はテレビセットのようなディスプレイ・サウンド出力装置300に供給するように動作可能である。オーディオコネクタ210は、従来のアナログ出力及びデジタル出力を含むことができる一方、ビデオコネクタ220は、コンポーネントビデオ出力、Sビデオ出力、コンポジットビデオ出力、及び1つ又は複数の高精細マルチメディアインターフェース(HDMI)出力をさまざまに含むことができる。その結果、ビデオ出力は、PAL若しくはNTSCのようなフォーマットにすることもできるし、又は720p、1080i、若しくは1080pの高精細にすることもできる。
【0028】
オーディオ処理(生成、復号等)は、セルプロセッサ100によって行われる。プレイステーション3装置のオペレーティングシステムは、ドルビー(登録商標)(Dolby(R))5.1サラウンドサウンド、ドルビー(登録商標)(Dolby(R))シアターサラウンド(DTS)、及びブルーレイ(登録商標)(Blu-Ray(R))ディスクからの7.1サラウンドサウンドを復号したものをサポートしている。
【0029】
本実施形態では、ビデオカメラ756は、単一の電荷結合素子(CCD)、LEDインジケータ、及びハードウェアベースのリアルタイムデータ圧縮・符号化装置を備え、それによってシステムユニット10により復号するためのイントラ画像ベースのMPEG(モーションピクチャエキスパートグループ)標準規格のような適切なフォーマットで圧縮ビデオデータを送信することができるようになっている。カメラLEDインジケータは、たとえば逆の照明条件を示すシステムユニット10からの適切な制御データに応答して照明するように配置されている。ビデオカメラ756の実施形態は、USB通信ポート、ブルートゥース通信ポート、又はWi-Fi通信ポートを介してシステムユニット10にさまざまに接続することができる。ビデオカメラの実施形態は、1つ又は複数の関連付けられるマイクロホンを含むことができ、また、オーディオデータを送信することもできる。ビデオカメラの実施形態では、CCDは、高精細ビデオキャプチャに適した解像度を有することができる。使用中、ビデオカメラによってキャプチャされた画像は、たとえば、ゲーム内に組み込むこともできるし、又はゲーム制御入力として解釈することもできる。
【0030】
一般に、システムユニット10の通信ポートのうちの1つを介してビデオカメラ又はリモートコントローラのような周辺装置とのデータ通信を成功させるために、デバイスドライバのような適切なソフトウェアが提供されるべきである。デバイスドライバ技術は、既知であり、ここでは、デバイスドライバ又は同様のソフトウェアインターフェースが、説明する本実施形態で必要とされ得ることを当業者が認識するであろうと言う以外には、詳細に説明しない。
【0031】
次に図2を参照して、セルプロセッサ100は、4つの基本コンポーネントを備えるアーキテクチャを有する。この4つの基本コンポーネントは、メモリコントローラ160及びデュアルバスインターフェースコントローラ170A、170Bを備える外部入力/出力構造、パワー演算処理要素(Power Processing Element)150として参照されるメインプロセッサ、相乗演算処理要素(Synergistic Processing Element)(SPE)110A〜110Hとして参照される8つのコプロセッサ、及び要素相互接続バス180として参照される、上記コンポーネントを接続する循環データバスである。セルプロセッサの総浮動小数点性能は、プレイステーション2装置のエモーションエンジンの6.2GFLOPsと比較して、218GFLOPSである。
【0032】
パワー演算処理要素(PPE)150は、3.2GHzの内部クロックで動作する双方向の同時マルチスレッディングパワー970準拠のパワーPCコア(PPU)155に基づいている。PPE150は、512kBのレベル2(L2)キャッシュ及び32kBのレベル1(L1)キャッシュを備える。PPE150は、1クロックサイクル当たり8つの単一位置演算(single position operation)が可能であり、3.2GHzで25.6GFLOPsに換算される。PPE150の主な役割は、相乗演算処理要素110A〜110Hのコントローラとして機能することである。相乗演算処理要素110A〜110Hは、計算作業負荷のほとんどをハンドリングする。動作中、PPE150は、相乗演算処理要素110A〜110Hのジョブをスケジューリングしてそれらの進行を監視するジョブキューを保持する。その結果、各相乗演算処理要素110A〜110Hは、カーネルを動作させる。カーネルの役割は、ジョブのフェッチ、ジョブの実行、及びPPE150との同期である。
【0033】
各相乗演算処理要素(SPE)110A〜110Hは、それぞれの相乗演算処理ユニット(SPU)120A〜120H及びそれぞれのメモリフローコントローラ(MFC)140A〜140Hを備える。MFC140A〜140Hは、それぞれのダイナミックメモリアクセスコントローラ(DMAC)142A〜142H、それぞれのメモリ管理ユニット(MMU)144A〜144H、及びバスインターフェース(図示せず)を備える。各SPU120A〜120Hは、3.2GHzでクロック制御されると共に、原理的には4GBに拡張可能な256kBローカルRAM130A〜130Hを備えるRISCプロセッサである。各SPEは、理論的な25.6GFLOPSの単精度性能を与える。SPUは、4つの単精度浮動小数点数、4つの32ビット数、8つの16ビット整数、又は16個の8ビット整数に対して単一のクロックサイクルで処理を行うことができる。同じクロックサイクルで、SPUは、メモリオペレーションも行うことができる。SPU120A〜120Hは、システムメモリXDRAM500に直接アクセスしない。SPU120A〜120Hによって形成される64ビットアドレスが、MFC140A〜140Hに渡され、MFC140A〜140Hは、要素相互接続バス180及びメモリコントローラ160を介してメモリにアクセスするように自身のDMAコントローラ142A〜142Hに命令する。
【0034】
要素相互接続バス(EIB)180は、上記プロセッサ要素、すなわち、PPE150、メモリコントローラ160、デュアルバスインターフェース170A、170B、及び8つのSPE110A〜110Hの合計12個の関係者(participant)を接続するセルプロセッサ100の内部の論理的循環通信バス(logically circular communication bus)である。これらの関係者は、1クロックサイクル当たり8バイトのレートで、バスの読み出し及びバスへの書き込みを同時に行うことができる。上述したように、各SPE110A〜110Hは、より長い読み出しシーケンス又は書き込みシーケンスをスケジューリングするためのDMAC142A〜142Hを備える。EIBは、4つのチャネルを備え、時計方向及び反時計方向にそれぞれ2つのチャネルがある。その結果、12個の関係者について、任意の2つの関係者間の最長のステップワイズデータフロー(step-wise data-flow)は、適切な方向で6つのステップである。したがって、12個のスロットの理論的ピーク瞬時EIB帯域幅は、関係者間のアービトレーションを通じた完全利用の場合に、1クロック当たり96Bである。これは、3.2GHzのクロックレートにおける307.2GB/s(ギガバイト毎秒)の理論的ピーク帯域幅に等しい。
【0035】
メモリコントローラ160は、ラムバス社によって開発されたXDRAMインターフェース162を備える。このメモリコントローラは、25.6GB/sの理論的ピーク帯域幅を有するラムバスXDRAM500とインターフェースする。
【0036】
デュアルバスインターフェース170A、170Bは、ラムバスフレックスアイオー(登録商標)(Rambus FlexIO(R))システムインターフェース172A、172Bを備える。このインターフェースは、それぞれが8ビット幅である12個のチャネルに編成され、5つのパスはインバウンドであり、7つのパスはアウトバウンドである。これによって、セルプロセッサと、コントローラ170Aを介したI/Oブリッジ700との間、及び、セルプロセッサと、コントローラ170Bを介したリアリティシミュレータグラフィックスユニット200との間で、62.4GB/s(36.4GB/sアウトバウンド、26GB/sインバウンド)の理論的ピーク帯域幅が提供される。
【0037】
セルプロセッサ100によってリアリティシミュレータグラフィックスユニット200へ送信されたデータは、通常、表示リストを備える。この表示リストは、頂点の描画、ポリゴンへのテクスチャの適用、照明条件の指定等を行うためのコマンドシーケンスである。
【0038】
次に図3を参照して、リアリティシミュレータグラフィックス(RSX)ユニット200は、セルプロセッサ100によって生成されたコマンドのリストを処理及びレンダリングするエヌヴィディア(登録商標)(NVidia(R))G70/71アーキテクチャに基づくビデオアクセラレータである。RSXユニット200は、セルプロセッサ100のバスインターフェースコントローラ170Bと通信するように動作可能なホストインターフェース202、8つの頂点シェーダ205を備える頂点パイプライン204(VP)、24個のピクセルシェーダ207を備えるピクセルパイプライン206(PP)、8つのレンダリング出力ユニット(ROP)209を備えるレンダリングパイプライン208(RP)、メモリインターフェース210、及びビデオ出力を生成するためのビデオ変換器212を備える。RSX200は、600MHzでクロック制御されると共に、25.6GB/sの理論的ピーク帯域幅でRSX200とインターフェースするように動作可能な256MBダブルデータレート(DDR)ビデオRAM(VRAM)250によって補完される。動作中、VRAM250は、フレームバッファ214及びテクスチャバッファ216を保持する。テクスチャバッファ216は、ピクセルシェーダ207にテクスチャを提供する一方、フレームバッファ214は、処理パイプラインの結果を記憶する。RSXは、EIB180を介してメインメモリ500にアクセスして、たとえば、テクスチャをVRAM250にロードすることもできる。
【0039】
頂点パイプライン204は、主として、レンダリングされる画像内のポリゴンを規定する頂点の変形及び変換を処理する。
【0040】
ピクセルパイプライン206は、主として、あらゆる画素透明度を含めて、これらのポリゴンへの色、テクスチャ、及び照明の適用を処理し、処理された各画素の赤、緑、青、及びアルファ(透明度)の値を生成する。テクスチャマッピングは、グラフィック画像を表面に単に適用する場合もあるし、又は、バンプマッピング(表面の概念方向(notional direction)が、テクスチャ値に従って摂動され、照明モデルの濃淡が作成される)若しくはディスプレースメントマッピング(適用されたテクスチャが頂点位置をさらに摂動させて、テクスチャと一致する変形された表面が生成される)を含む場合もある。
【0041】
レンダリングパイプライン208は、ピクセル間の深さ比較を行い、いずれが最終画像にレンダリングされるべきかを判断する。オプションとして、介在するピクセルプロセスが深さ値に影響を与えない場合(たとえば、透明度又はディスプレースメントマッピングがない場合)、レンダリングパイプライン及び頂点パイプライン204は、それらの間で深さ情報を通信することができ、それによって、画素処理よりも前に、遮蔽された要素の除去が可能になり、したがって、全体的なレンダリング効率が改善される。加えて、レンダリングパイプライン208は、結果の画像にわたって、フルスクリーンアンチエイリアシングのようなその後の効果も適用する。
【0042】
頂点シェーダ205及びピクセルシェーダ207の双方は、シェーダモデル3.0標準規格に基づいている。1クロックサイクル当たり最大136個までのシェーダオペレーションを行うことができ、したがって、結合されたパイプラインは、毎秒748億個のシェーダオペレーションが可能であり、毎秒最大8億4000万個の頂点及び100億個の画素の出力が可能である。RSX200の全浮動小数点性能は、1.8TFLOPSである。
【0043】
通常、RSX200は、セルプロセッサ100と密接にコラボレーションして動作する。たとえば、爆発、又は雨若しくは雪のような気象効果を表示するとき、多数の粒子をシーン内で追跡、更新、及びレンダリングしなければならない。この場合、セルプロセッサのPPU155は、粒子のそれぞれの一団の軌道を計算するように1つ又は複数のSPE110A〜110Hをスケジューリングすることができる。その間に、RSX200は、要素相互接続バス180、メモリコントローラ160、及びバスインターフェースコントローラ170Bを介してメインシステムメモリ500から、ビデオRAM250に現在保持されていない任意のテクスチャデータ(たとえば、雪片)にアクセスする。そのSPE又は各SPE110A〜110Hは、自身が計算した粒子の特性(通常、位置及び姿勢を示す座標及び法線)をビデオRAM250に直接出力する。そのSPE又は各SPE110A〜110HのDMAコントローラ142A〜142Hは、バスインターフェースコントローラ170Bを介してビデオRAM250をアドレス指定する。したがって、実際には、割り当てられたSPEは、タスクの継続期間の間、ビデオ処理パイプラインの一部となる。
【0044】
一般に、PPU155は、利用可能な8つのSPEのうちの6つにこのようにしてタスクを割り当てることができる。1つのSPEはオペレーティングシステムのために確保される一方、1つのSPEは有効にディセーブルされる。1つのSPEをディセーブルすることによって、1つのSPEが製造プロセスで不合格になることが許容されるので、セルプロセッサの製造中、より大きな許容レベルが提供される。代替的に、8つのすべてのSPEが機能している場合、8番目のSPEは、セルプロセッサの寿命期間中に、他のSPEのうちの1つによるその後の故障の場合の冗長性の余地を提供する。
【0045】
PPU155は、いくつかの方法でSPEにタスクを割り当てることができる。たとえば、SPEを共に連鎖させて、DVDへのアクセス、ビデオ及びオーディオの復号、並びにエラーマスキングのような複雑なオペレーションの各ステップを別個のSPEに割り当て、それらの各ステップをハンドリングすることができる。代替的に又は加えて、上記粒子アニメーションの例のように、入力データを並列に操作するように2つ以上のSPEを割り当てることもできる。
【0046】
セルプロセッサ100及び/又はRSX200によって実施されるソフトウェア命令は、製造時に供給して、HDD400に記憶することができ、且つ/又は、光ディスク若しくはソリッドステートメモリのようなデータキャリア若しくは記憶媒体で、若しくは、有線ネットワーク、無線ネットワーク、若しくはインターネット接続のような伝送媒体を介して、若しくは、これらの組み合わせを介して供給することができる。
【0047】
製造時に供給されたソフトウェアは、システムファームウェア及びプレイステーション3装置のオペレーティングシステム(OS)を含む。動作中、OSは、ゲームのプレイ、音楽の鑑賞、写真の鑑賞、又はビデオの鑑賞を含むさまざまな機能の中から選択することをユーザに可能にするユーザインターフェースを提供する。このインターフェースは、機能のカテゴリーが横方向に配置されたいわゆるクロスメディアバー(XMB)の形態を取る。
【0048】
ユーザは、所望の機能アイコンを強調表示するために、ゲームコントローラ751、リモートコントローラ752、又は他の適した制御装置を使用して複数の機能アイコン(機能を表す)の間で横方向に移動することによってナビゲートする。この強調表示の時点で、その機能に関係するオプションが、その機能アイコンを中心として縦方向にスクロール可能オプションアイコンのリストとして現われる。このリストは、類似の方法でナビゲートすることができる。一方、ゲームディスク、オーディオディスク、又は映画ディスク440がビーディーロム光ディスクリーダ430に挿入されると、プレイステーション3装置は、(たとえば、ゲームを開始することによって)適切なオプションを自動的に選択することもできるし、又は関連のあるオプション(たとえば、オーディオディスクのプレイ又はそのコンテンツのHDD400への圧縮を選択する)を提供することもできる。
【0049】
加えて、OSは、オンライン能力を提供する。このオンライン能力は、ウェブブラウザと、追加のゲームコンテンツ、デモゲーム(デモ)、及び他のメディアをダウンロードすることができるオンラインストアとのインターフェースと、たとえば利用可能な周辺装置に応じてテキスト、オーディオ、又はビデオによって、現在の装置のユーザによってノミネートされた他のプレイステーション3装置ユーザとのオンライン通信を提供する友人管理能力とを含む。このオンライン能力によって、適切に構成されたゲームのプレイ中にオンライン通信、コンテンツダウンロード、及びコンテンツ購入も提供され、また、プレイステーション3装置自体のファームウェア及びOSの更新も提供される。「オンライン」という用語は、さまざまなタイプの無線接続にも該当し得るので、有線の物理的な存在を暗に意味するものでないことが理解されよう。
【0050】
ここで、図4〜図8を参照して、拡張現実画像を生成することができるように拡張現実マーカを使用して実世界空間を較正する本発明の実施形態を説明する。
【0051】
図4は、ユーザがビデオゲームと対話することができるように、拡張現実マーカを検出するように構成されるエンタテイメントシステムの概略図を示している。後述の実施形態では、エンタテイメントシステムは、図1〜図3を参照して上述したエンタテイメントシステムと同じものである。しかしながら、任意の適切なエンタテイメントシステムを使用することができることが理解されよう。
【0052】
特に、図4はビデオカメラ756及びティスプレイ・サウンド出力装置300に動作可能に接続されるエンタテイメント装置10を示している。ゲームコントローラ751のようなエンタテイメントシステムの他の要素は、図面の理解を明確にするために図4から省略されている。本発明の実施形態では、ビデオカメラ756は拡張現実マーカ1000の画像を捕捉するように構成される。次に、拡張現実マーカ1000の検出を使用して、拡張現実マーカ1000が配置される実表面に関連する仮想画像面1010を生成する。次に、セルプロセッサ100は対話エリア1020(図4において破線で示される)を生成することができる。対話エリアは、捕捉画像のうちの、その中で仮想画像を生成すると共に、該仮想画像を、ユーザが該仮想画像と対話することができるように捕捉ビデオ画像と合成することができるエリアである。対話エリアについては、後に以下でより詳細に説明する。
【0053】
本発明の実施形態では、対話エリア1020は、ユーザがたとえば仮想ペットと対話することを可能にする。仮想ペットは実環境の画像と合成して表示することができる。たとえば、仮想ペットは、対話エリア1020内の仮想画像面1010上を歩き回っているか又は走り回っているように見えるように表示することができる。これによって、拡張現実マーカ100が配置された表面上に仮想ペットが実際に存在するかのように見せる画像がユーザに提供される。
【0054】
この機能が達成される方法を以下に説明する。
【0055】
仮想ペットのような仮想現実物体を、ユーザにとって迫真性のある形で実画像と合成するために、ビデオカメラ756の位置及びビデオカメラ756によって捕捉される画像は、実表面、たとえばユーザの居間に対応するように仮想画像をレンダリングすることを可能にするように較正されなくてはならない。これが完了すると、仮想ペットがその表面上を動き回っているように見せるように該仮想ペットをレンダリングすることができる。たとえば、仮想画像面1010がユーザの居間の卓上に対応するようにカメラを較正することができる。次に、仮想ペットが卓上を走り回っているように見えるように該仮想ペットをレンダリングし、該ペットがユーザの部屋の中にいるという錯覚をユーザに与えることができる。
【0056】
したがって、本発明の実施形態によって、仮想画像面1010を(卓上のような)実表面上の拡張現実マーカ1000の位置から較正することが可能になる。これを達成するために、ユーザは、拡張現実マーカ1000がビデオカメラ756の視野内に存在するように、適切な表面上に拡張現実マーカ1000を配置する。それに従って、次にセルプロセッサ100は仮想画像面1010を生成する。
【0057】
いくつかの実施形態では、この較正プロセスは、ゲームの開始時に、たとえばユーザがセルプロセッサ100によって生成されるスクリーン上のプロンプトに応答して、較正される表面上に拡張現実マーカ1000を配置することによって実行することができる。他の実施形態では、較正は、仮想画像面1010の較正を実行するべきであることを示す、適切なユーザインターフェース(たとえば、ゲームコントローラ751)を介したユーザ選択に応答して実行してもよい。しかしながら、較正をゲームにおける任意の適切な時点において実行することができることが理解されよう。
【0058】
ここで仮想画像面を生成する方法を説明する。
【0059】
図5は、本発明の実施形態による仮想画像面1010を較正するのに使用することができる拡張現実マーカ1000の一例を示している。
【0060】
拡張現実マーカ1000は、正方形1050と文字「A」1060のような英数字とを合わせた画像を含むが、他の適切なシンボル又はパターンを使用することができることが理解されよう。図5に示す拡張現実マーカ1000は2次元であるが、このようなマーカを、たとえば図7に示すような3次元物体に応用することができることが理解されよう。
【0061】
較正の間、セルプロセッサ100は、ビデオカメラ756によって捕捉された画像を分析することによって拡張現実マーカ1000を検出する。セルプロセッサ100は白黒の二値画像を生成するために、捕捉画像に画像閾値を適用する。次にセルプロセッサ100は、エッジ追従及びテンプレートマッチングのような既知の技法を使用して、正方形1050(「クアッド」とも称される)に対応する可能性が高い画素領域を検出する。次に、セルプロセッサ100によってクアッドを含んでいるとして検出される分析された画像のそれらの領域は、正方形1050内に英数字、たとえば文字A1060が存在するか否かを検出するための既知の技法を使用して分析される。
【0062】
次に、セルプロセッサ100はクアッド内に英数字を含んでいるとして検出される各画像領域に関連付けられる確率を計算する。次に、セルプロセッサは、いずれの画像領域が最も高い確率を有するかを検出し、その領域を拡張現実マーカ1000に対応する領域としてラベル付けする。次に、拡張現実マーカ1000の位置を基準点として使用することができる。この基準点を中心として仮想現実平面1010及び対話エリア1020を定義することができる。
【0063】
図5に示す拡張現実マーカの例において、英数字A1060とクアッド1050の内側との間の距離(図5では「a」で表される)は、クアッド1050の厚みの距離(図5では「b」で表される)及びクアッド105の外側とマーカ1000の外縁との間の距離(図5では「c」で表される)と実質的に同じである。さらに、英数字A1060とクアッド1050の内側との間の距離(図5では「p」で表される)は、クアッド1050の厚みの距離(図5では「q」で表される)及びクアッド105の外側とマーカ1000の外縁との間の距離(図5では「r」で表される)と実質的に同じである。換言すれば、一実施形態では、a=b=c=p=q=rである。このことは、セルプロセッサ100がマーカを検出するときに役立つ。これは、クアッドを英数字、他のシンボル又はパターンと共に検出するのに役立つように、マーカ1000を、セルプロセッサ100によって個々に分析することができる5×5の部分領域から成るグリッドに分割することができるためである。
【0064】
しかしながら、図4に示される構成のようなほとんどの構成において、ビデオカメラ756の光軸は、拡張現実マーカ1000が配置される表面に対し垂直ではない。したがって、拡張現実マーカ1000の捕捉画像は歪む可能性が高い。これに対処するために、セルプロセッサ100によってクアッドの検出が実行されるとき、セルプロセッサ100は、既知の技術を使用して、拡張現実マーカ1000の回転変換、スキュー変換及び台形変換を検出するようにも動作可能である。
【0065】
拡張現実マーカ1000が検出されると、次に拡張現実マーカ1000の画像の歪みを有利に分析して、拡張現実マーカ1000が配置されている表面(たとえば卓上)を検出することができる。拡張現実マーカ1000が配置されている表面が実質的に平面であり、且つマーカが該表面と実質的に同一平面になるように構成されると想定すると、それに従って、マーカ1000の検出された歪みを表面にマッピングすることによって仮想画像面1010を生成することができる。
【0066】
一実施形態では、たとえば拡張現実マーカ1000の形状及びサイズを含むマーカ1000の表現は、ブルーレイ(登録商標)(Blu-Ray(R))ディスク440のような適切な記録媒体又はHDD400からXDRAM500に予めロードされている。一実施形態では、セルプロセッサ100は、マーカ1000がビデオカメラ756から所定の距離だけ離れ且つカメラの光軸に対し垂直となるようにマーカ1000を変換することに対応する変換を計算するように動作可能である。マーカ1000は、マーカ1000が配置されている表面に対し(少なくとも該表面が実質的に平面である状況において)平行である(実質的に同一平面になるように構成される)ため、結果としての計算された変換を使用して仮想画像面1010を画定する座標を計算することができる。しかしながら、マーカの検出から仮想画像面1010を生成する他の適切な方法を使用することができることが理解されよう。
【0067】
別の実施形態では、拡張現実マーカ1000の次元が事前にわかっていない場合、ディスプレイ・サウンド出力装置300上に表示される適切なメニューからのユーザ選択に応答して、マーカ1000の形状及びサイズの較正をシステムユニット10によって実行することができる。
【0068】
この較正の間、ユーザは、拡張現実マーカ1000がビデオカメラ756の光アクセス(optical access)に対して垂直となり且つビデオカメラ756から所定の距離だけ離れているように、拡張現実マーカ1000をビデオカメラ756の視野内に保持する。次に、セルプロセッサ100は既知の技法を使用してカメラの全画素解像度に対する捕捉画像のサイズから拡張現実マーカ1000の寸法を検出し、結果としての画像を、マーカを検出することができるようにメモリに格納する。したがって、寸法及び格納された画像は、マーカの所定の表現を形成する。該所定の表現は、仮想画像面1010を生成するために、捕捉画像内の拡張現実マーカを検出すると共に該検出されたマーカと該所定の表現との間の歪の度合を検出するのに使用することができる。
【0069】
マーカの寸法を検出すること及びマーカの画像を格納することと共に、又はそれに代えて、エッジ検出において二値閾値を捕捉画像に適用することによって拡張現実マーカマスクを生成することができる。次に、結果としてのマスクはマーカの表現を形成する。該マーカの表現は、マーカを検出すると共に該マーカと所定の表現との間の歪の度合を計算するのに使用される。しかしながら、拡張現実マーカの所定の表現を生成する任意の他の適切な方法を使用することができることが理解されよう。
【0070】
一実施形態では、上述したように1つの画像フレームのみを使用して仮想画像面を較正する。これは、画像面1010の較正が実行されるべきであるというユーザによる選択に応答して実行することができる。代替的に、マーカ1000が配置される実際の表面に対する仮想画像面1020の較正を、ゲームのロード時に自動的に実行してもよい。他の実施形態では、仮想画像面1020は、一連のビデオ画像内のそれぞれの画像からそれぞれ生成された仮想画像面に関連する座標の平均を計算することによって較正される。いくつかの実施形態では、ユーザは拡張現実マーカを、システム10によってディスプレイ305上に示されるカメラ756の視野のエリア内に配置することができ、それによって仮想画像面の較正を上述したように実行することができる。しかしながら、仮想画像面は、較正が実行されるべきであるというシステム10による指示に応答して、又は任意の他の適切なユーザ入力に応答して、ゲーム内の任意の他の適切な時点において較正することができることが理解されよう。
【0071】
仮想画像面の較正を実行すると、次にユーザは仮想現実マーカ1000をビデオカメラ756の視野から取り去ることができる。拡張現実マーカを使用して仮想画像面を較正することによって、平面の較正を迅速且つ効果的に実行することができ、それによって仮想画像面を拡張現実画像の生成中に使用することができる。
【0072】
本発明の実施形態では、仮想ペットがディスプレイ・サウンド出力装置300上に表示されると共に実画像と合成されて見えるように、該ペットをシステムユニット10によって生成することができる。
【0073】
1つの実施形態では、仮想画像面1010がビデオカメラ756の視野全体にわたって延在するように、仮想画像面1010をセルプロセッサ100によって生成することができる。しかしながら、ユーザ入力に応答するか又はセルプロセッサ100によって生成される命令に応答して、ペットに仮想画像面1010内を動き回らせる場合、ビデオカメラ756によって捕捉される画像内の他の実物体が仮想ペットの生成された位置と重なる場合があり、それによって実環境における仮想ペットの錯覚に不利な影響が及ぼされる。
【0074】
たとえば、これは拡張現実マーカ1000が配置された平面がユーザの居間の床である場合に発生する場合がある。この状況では、部屋の縁の周りにこれもまたビデオカメラ756の視野内にある家具が存在する場合があり、これは拡張現実画像の生成に影響を及ぼす場合がある。この問題に対処するために、セルプロセッサ100は、ユーザとの対話のために仮想現実物体を表示することができる捕捉画像の領域である対話エリアを生成するように動作可能である。対話エリア1020は図4において破線によって示される。本発明の実施形態では、仮想ペットの動きは、該ペットが仮想対話エリア1020内でのみ動くことができるように制限されている。したがって、仮想ペットの動きによって、スクリーン305の、他の実世界の物体に対応するエリア内に該仮想ペットが表示される可能性は低い。
【0075】
ユーザはゲームコントローラ751のような任意の適切なユーザインターフェースを介して仮想ペットと対話することができる。好ましくはユーザは動作を介して仮想ペットと対話し、動作の画像はビデオカメラ756によって捕捉される。セルプロセッサ100は、既知の技法を使用して、ペットの近くで発生する動作に関して捕捉画像を分析し、それに従って仮想ペットの行動を修正及び制御する。ユーザは同様にしてセルプロセッサ100によって生成される他の仮想物体と対話することもできる。
【0076】
本発明の実施形態では、対話エリア1020は、検出された拡張現実マーカ1000を中心とし、且つビデオカメラ756によって捕捉された画像の全画素面積の50%となるように、セルプロセッサ100によって自動的に設定される。他の実施形態では、対話エリア1020は、ビデオカメラ756によって捕捉された画像の全画素面積の50%に対応し、且つ該全画素面積の下側半分となるようにセルプロセッサ100によって設定される。しかしながら、任意の他の適切な画素面積のパーセンテージ又はマーカ1000に対し選択されるエリアの位置を使用することができることが理解されよう。
【0077】
さらに、ユーザは適切なユーザインターフェースとセルプロセッサ100によって生成されるスクリーン上の選択メニューとを使用することによって対話エリア1020の形状を選択することができる。たとえば、図4に示されるように、対話エリア1020は、仮想画像面を較正するのに使用された拡張現実マーカ1000の位置に対応する中心を有する長方形とすることができる。いくつかの実施形態では、対話エリア1020の形状は、仮想画像面1010がカメラ756の画像面に平行な平面にマッピングされるとき、対話エリア1020が長方形に見えるように、仮想画像面1010において実質的に台形である。しかしながら、他の形状の対話エリアを使用することができると共に、対話エリアは仮想現実マーカ1000を中心とする必要がないことが理解されよう。
【0078】
代替的に、対話エリアは、該対話エリアが、検出された対話エリア画素に対応するようにセルプロセッサ100によって生成される。対話エリア画素は、検出された拡張現実マーカ1000の周囲の画素であり、拡張現実マーカ1000に対応する画素に隣接する1つ又は複数の画素の検出された色に対し、所定の色閾値内でカラーマッチングされる。セルプロセッサ100は、拡張現実マーカ1000に対応する画素に隣接する画素の色平均を検出することによって対話エリア画素を検出する。次に、セルプロセッサ100は、いずれの画素が拡張現実マーカ1000に隣接する画素に接触し、且つ、対話エリア画素を生成するための、拡張現実マーカ1000に隣接する画素の所定の色閾値内にあるかを検出する。
【0079】
しかしながら、拡張現実マーカ1000の周囲の画素の大部分と異なる色又は輝度であるが、それにもかかわらず対話エリア内に含まれなくてはならない、マーカ100の周囲のいくつかの画素が存在する場合、問題が発生し得る。たとえばこれはマーカ1000が配置されるカーペット上に染みが存在する場合に発生し得る。この場合、染みは対話エリアから除外され、それによって仮想ペットがそのエリアに入らないようにされるであろう。したがって、一実施形態では、セルプロセッサは、対話エリア画素の検出を実行する前に、拡張現実マーカ1000の周囲の画素に対し、適宜既知の画素補整及び/又はフィルタリング技法を適用するように動作可能である。これによって、マーカ1000の周囲にあると共に拡張現実マーカ1000が配置される表面上に発生する任意の小さな画像特徴が対話エリアから誤って除外される可能性が低減される。
【0080】
1つの実施形態では、セルプロセッサは、対話エリア画素が、たとえば上述したようにビデオカメラ756によって捕捉されたマーカ1000を中心とする画像の全画素面積の50%以内で発生するように、対話エリア画素の生成を制限するように動作可能である。しかしながら、任意の他の適切な画素面積のパーセンテージ又はマーカ1000に対し選択されるエリアの位置を使用することができることが理解されよう。
【0081】
ここで、図6を参照して、対話エリア1020を画定するのに2つの拡張現実マーカを使用する一実施形態を説明する。
【0082】
図6は拡張現実マーカ1000を別の拡張現実マーカ1100と共に示している。この実施形態では、セルプロセッサ100は拡張現実マーカA1000及び拡張現実マーカB1100を検出すると共に、対話エリア1020の周縁の少なくとも一部が、検出された拡張現実マーカ1000及び1100と対応するように対話エリアを生成するように動作可能である。たとえば、拡張現実マーカ1000及び1100は図6に示すように長方形の角を指示することができる。このようにして、ユーザは拡張現実マーカ1000及び1100を、それらが居間の床のような物理空間内で対話エリアの角の輪郭を描くように位置決めすることができる。さらに、セルプロセッサ100は、仮想画像面1010(図6には示されていない)をマーカが配置される表面にマッピングするために、既知の技法を使用して2つのマーカの相対的なサイズ及び任意の画像歪みを検出することができる。
【0083】
拡張現実マーカ1000及び1100は、図6に示す対話エリア1020の周縁とは異なる形状を有する対話エリアの周縁を指示するために使用されることができることが理解されよう。したがって、対話エリア1020の形状は長方形に限定される必要はなく、正方形、円、三角形等のような他の形状を使用することができることが理解されよう。
【0084】
さらに、任意の数の拡張現実マーカを使用して対話エリア1020の周縁を指示することができる。しかしながら、拡張現実マーカの数が増加すると、マーカを検出し、ひいては対話エリアを生成するのに必要な処理資源の量が増加する場合がある。さらに、このようにして画定される対話エリアによって、時に、仮想ペットが対話エリアの外に行くことができないように生成される「見えない壁」が発生する(すなわち、仮想ペットが見えない壁に阻まれる)場合がある。これによって、実環境における仮想ペットの錯覚に不利な影響が及ぼされ得る。これはユーザが対話エリアの縁を見ることができないためである。しかしながら、対話エリアを定義するためのこのようなシステムは、実環境内に、対話エリアの一部となるべきでない多くの実物体が存在する場合に有用であり得る。
【0085】
ここで、図7を参照して、3次元拡張現実マーカを使用することができる一実施形態を説明する。
【0086】
図7は、仮想画像面1010及び/又は対話エリア1020を生成するのに使用することができる3次元拡張現実マーカ2000を示している。図7に示す実施形態では、3次元仮想現実マーカ2000は複数のマーカ面2000a、2000b、及び2000cを備える立方体である。それらのマーカ面のそれぞれは、該マーカ面の相対配向を示す形状が存在するクアッドを備える。たとえば、マーカ面2000aは英数字「A」が示されているクアッドを備える。マーカ面2000b及び2000cは2つの異なる非英数字を示している。しかしながら、仮想拡張現実マーカ2000のために他の3次元形状を使用することができると共に、マーカ上の画像は本質的に平面である必要がないことが理解されよう。
【0087】
3次元拡張現実マーカの使用によって、カメラの光軸が拡張現実マーカが配置される表面に平行な直線と鋭角を形成する場合に発生し得る問題に対処する。この場合、表面上に配置される2次元マーカの歪みは非常に大きくなるため、セルプロセッサ100による拡張現実マーカ1000の検出の可能性が低くなるか又は検出が不可能になることを意味し得る。マーカの検出が可能な場合であっても、マーカを使用して仮想画像面を較正するのに十分な精度で歪みを検出することが可能でない場合がある。
【0088】
しかしながら、拡張現実マーカ2000のような3次元拡張現実マーカを使用することによって、マーカの少なくとも一部がビデオカメラ756の光軸に対し実質的に垂直となる可能性が高い。これによって、有利にはマーカが検出される可能性が増加する。図7に示す例において、セルプロセッサ100はマーカ面2000aを検出し、その画像領域をマーカ2000に対応するものとして割り当てる可能性が高い。拡張現実マーカ2000の高さh(ソフトウェア内に予め定められる、適切な記憶媒体からロードされる、ユーザから入力される等でもよい)が与えられると、次にセルプロセッサ100は、仮想画像面1010を生成するためにマーカ面2000b及び2000cの歪みを検出することができる。仮想画像面及び対話エリア1020は、図4〜図6を参照して上述したように生成される。
【0089】
いくつかの実施形態では、ビデオカメラ756は、ビデオカメラ756と、ビデオカメラ756の視野内の物体との間の距離に関連する奥行き情報を生成するように動作可能である。このようなカメラは「z」座標を測定するため、通常「Zカメラ」と称され、当該技術分野において既知である(たとえば、3DVsystemsによって製造されたZ-Camに関連する、http://www.3dvsystems.com/technology/tech.htmlを参照されたい)。奥行き情報の生成に関して、time-of-flight及び赤外線パターン歪みのようなさまざまな異なる技術が既知であるため、ここではこれらの技術を詳細に説明しない。
【0090】
一実施形態では、各画素の奥行き情報はビデオカメラによって生成される。代替的に、各画素の奥行き情報はセルプロセッサ100がカメラから受信したデータを分析することによって生成されてもよい。このようにして、拡張現実マーカ2000に対する距離d(図7に示される)を検出することができる。次に、セルプロセッサ100は、上述したように拡張現実マーカ2000の検出された3次元空間位置に対して仮想画像面1010が定義されるように、該仮想画像面を捕捉ビデオ画像内に生成する。
【0091】
奥行き情報を生成するように動作可能なカメラの使用は、仮想画像面から所定の距離より上にある物体を有利に検出するのに使用することもできる。一実施形態では、仮想画像面から所定の距離より上にあるものとして検出される物体は対話エリアから除外される。これによって、テーブルの天板のような、対話エリアに張り出している場合があるか又は対話エリアを不明瞭にする物体が対話エリア内に含まれないようにする。
【0092】
さらに、Zカメラの使用によって、たとえばセルプロセッサ100が仮想ペットが物体の後ろを走り回っているように見える(すなわち、カメラの視野から一次的に隠される)ことができるように仮想ペットを生成することが可能になる。換言すれば、Zカメラを使用して、実環境における実物体による仮想物体(たとえば仮想ペット)の遮蔽を検出することができる。これを達成するために、セルプロセッサは、奥行き情報を分析することによって、仮想現実物体位置(たとえば仮想ペットの位置)が、仮想現実物体が実物体によってビデオカメラの視点から遮蔽されるようになっているか否かを検出するように動作可能である。仮想現実物体が実物体によって遮蔽されるものとして検出される場合、次にセルプロセッサ100は仮想物体が実物体の背後にあるように見えるように仮想物体を生成することができる。これによって、仮想ペットが実際に実環境にいるという、ユーザに対する錯覚が改善する。
【0093】
本発明の実施形態では、ユーザはたとえば仮想ペットと、該仮想ペットの近くで自身の手を動かすことによって対話することができる。この機能を達成するために、セルプロセッサ100は、(たとえば拡張現実マーカ1000又は拡張現実マーカ2000を使用して仮想画像面を較正するときに)動いている物体が存在しない画像をHDD400のXDRAM500に記憶させ、この画像を背景画像として割り当てる。次に、セルプロセッサ100によって後続の画像フレームが分析され、背景画像に対する画素値の変化が検出される。背景画像に対して変化する任意の画素値が前景画素としてラベル付けされ、これらはたとえばユーザによる動作に対応する可能性が高い。次に、セルプロセッサ100は既知の物体検出技術及び物体追跡技術を実行して、それぞれの前景画素に物体タイプを割り当てる。一実施形態では、各対話する物体は異なる方法で仮想ペットと対話することができる。
【0094】
たとえば、ペットの上であるが該ペットに極めて近接した画素における急速な変化は、くすぐりの動作を模倣しているユーザに対応する場合があり、したがってセルプロセッサ100は、それに応じて反応するようにペットをレンダリングすることができる。しかしながら、任意の他の対話形態を使用することができると共に、サッカーボール、乗り物、道具等の他の仮想現実物体をシミュレートすることができることが理解されよう。
【0095】
さらに、拡張現実マーカ1000又は拡張現実マーカ2000を、エンタテイメント装置10によって実行されるゲーム内のゲーム特徴として使用することができる。たとえば、ゲームによって仮想ペットとの対話が可能になる場合、拡張現実マーカを使用して、水のボトルのようなペット給餌装置や、ペットの洗浄(たとえばペットに水浴びをさせる)のシミュレーションを実行するために使われてもよい。別の例として、拡張現実マーカは、ペットの仮想食料を有する仮想食料分注装置から充填することができる食料容器に対応させることができる。次にユーザは、容器内の仮想食料を、セルプロセッサ100によって生成された仮想食料ボウル内に分注させるように仮想現実マーカを操作することができる。しかしながら、拡張現実マーカは、自身が関連付けられるゲームに適した任意の適切な物体又はインジケータとして機能することができることが理解されよう。
【0096】
いくつかの実施形態において、セルプロセッサ100は、リアリティシミュレータグラフィックスユニットRSX200に、仮想画像面1010内に仮想の穴をレンダリングさせるように動作可能である。換言すれば、ユーザには、たとえば自身の部屋の床に穴が存在するかのように見える。次に、セルプロセッサ100は、仮想物体及び/又は仮想ペットが生成されるか又は仮想環境から除去されるとき、且つそれに応じて、仮想の穴を通じて該仮想物体及び/又は仮想ペットを出現及び消滅(それぞれ物体の産出及び拡張現実環境からの物体の除去とも称される)させることができる。次に、セルプロセッサ100は、物体又はペットが生成される(産出される)か又は拡張現実環境から除去されると、その仮想の穴を消滅させることができる。ここで、図8を参照して、仮想画像面を生成する方法を説明する。
【0097】
図8は、本発明の実施形態による仮想画像面を生成する方法を示すフローチャートである。第1のステップs100において、ビデオカメラ756によって捕捉された一連のビデオ画像がWIFI又はブルートゥース(登録商標)(Bluetooth(R))のような通信リンクを介してエンタテイメント装置10によって受信される。次に、ステップs105において、セルプロセッサ100は上述したように受信したビデオ画像内の拡張現実マーカを検出する。ステップs105において拡張現実マーカが検出されると、ステップs110において、セルプロセッサ100は、仮想画像面が捕捉ビデオ画像内に定義されるように該仮想画像面を生成するように動作可能であり、該仮想ビデオ画像面は上述したように検出された拡張現実マーカに対して定義される。換言すれば、セルプロセッサ100は、仮想画像面が拡張現実マーカが配置される表面に対応する(すなわち該表面と実質的に同一平面になるように配置される)ように該仮想画像面を生成することができる。
【0098】
ここで、図9A及び図9Bを参照して、上述した拡張現実マーカとして使用することができる拡張現実マーカを説明する。
【0099】
図9Aは、本発明の一実施形態による拡張現実マーカを示している。特に、図9Aは一次ファセット6010を有する拡張現実マーカ6000を示している。一実施形態では、一次ファセットは、上述したようにビデオカメラ756と共にシステムユニット10によって認識するための画像を備える。たとえば、一次ファセット6010は、図5を参照して上述したように英数字と共にクアッドを備えることができる。しかしながら、一次ファセット6010は任意の他の適切なシンボル又はパターンを備えることができることが理解されよう。
【0100】
図9A及び図9Bに示される拡張現実マーカ6000は、複数の二次ファセット6020a、6020b、6020c、及び6020dも備える。二次ファセット6020a、6020b、6020c、及び6020dは、一次ファセット6010が二次ファセット6020a、6020b、6020c、及び6020dと共に角錐台の面を形成するように、一次ファセット6010に対して配置される。図9A及び図9Bに示される実施形態では、一次ファセットは図9Bに示すように角錐台の上にある。
【0101】
図9Bは、図9Aに示す拡張現実マーカの、図9Aにおいて破線D−Dで示される直線に沿った断面図である。図9Bからかわるように、一次ファセット6010は角錐台の上にあり(すなわちマーカの頂部にあり)、二次ファセット6020a及び6020cは角錐台の2つの面を形成する。
【0102】
いくつかの実施形態において、拡張現実マーカ6000は、図9Bに示される角錐台の底面を形成する底部も備える。この場合、角錐台は閉じた容積を形成する。しかしながら、図9Aに示されるマーカの他の実施形態では、底部を有さない。底部を有さないとは、角錐台の底が開いていることを意味する。
【0103】
マーカ6000は使用時に通常、一次ファセット6010がビデオカメラ756に面を向けるようにユーザによって保持される。いくつかの実施形態では、一次ファセット6010の反対側に位置決めされるマーカ6000の側面(すなわち一次ファセット6010の逆側又は底部6030)にハンドルを取り付けることもできる。これによってユーザによるマーカ6000の操作が容易になる。
【0104】
1つ又は複数の二次ファセットを、一次ファセット6010と平行にならないように配置することによって、システムユニット10はビデオカメラ756と協働して、拡張現実マーカ1000に関して上述したのと同じようにしてカメラ756に対する拡張現実マーカ6000の傾き及び姿勢を検出することができる。
【0105】
たとえば、二次ファセット6020bが二次ファセット6020dよりもビデオカメラからわずかに離れている(すなわちマーカ6000の頂部がビデオカメラ756に向かって傾いている)場合、クアッド内のシンボルを十分に解像することができないか、又は一次ファセット6010上の画像が或る程度の対称性を有するとき、システムユニット10が、マーカ6000の頂部がカメラに向かって傾いているのか又はカメラから離れて傾いているのかを判断することが難しい場合がある。したがって、セルプロセッサ100は二次ファセット6020b及び6020dに対応する画像特徴の相対的な画像サイズを比較して、傾き方向における任意の不明確性を解消することができる。セルプロセッサ100は二次ファセット6020a及び6020bに対して同様の画像処理を実行することができる。換言すれば、セルプロセッサ100は、ビデオカメラ756に対するマーカ6000の相対的な配向及び傾きを検出するために、二次ファセット6020a、6020b、6020c、及び6020dの相対的な歪みを検出するように動作可能である。
【0106】
いくつかの実施形態では、二次ファセット6020a、6020b、6020c、及び6020dは、一次ファセット6010とは異なる色である。これは、一次ファセット6010を二次ファセット6020a、6020b、6020c、及び6020dから区別するのに役立つ。さらに、いくつかの実施形態では、二次ファセット6020a、6020b、6020c、及び6020dのうちの1つ又は複数は互いに異なる色を有する場合がある。セルプロセッサ100は二次ファセット6020a、6020b、6020c、及び6020dに対応する画像特徴に対する色検出を実行するように動作可能である。これは、ビデオカメラ756に対するマーカ6000の傾きの相対配向に関する任意の不明確性を解消するのにさらに役立つ。
【0107】
いくつかの実施形態では、マーカ6000は、一次ファセットと共に、一次ファセットが1つ又は複数の二次ファセットと平行にならないように配置された1つ又は複数の二次ファセットを備えることができることが理解されよう。たとえば、マーカは、一次ファセット6010と共に、一次ファセット6010と二次ファセット6020cとの間の角度(図9Bにおいてθで表される)が90度にならないように配置された二次ファセット6020cを備えることができる。換言すれば、一次ファセットは二次ファセットに対し平行ではない(ここで、平行はθ=180度を意味する)。
【0108】
好ましくは、それぞれが一次ファセットに対しそれぞれの角度θを有する1つ又は複数のファセットが存在する場合、角度θは180>θ≧90の範囲にある。しかしながら、角度θを90度以下とすることにより二次ファセットを使用して任意の傾き不明確性を解消することができる可能性が減るけれども、角度θを90度以下とすることができることが理解されよう。さらに、各二次ファセットは一次ファセットに対し異なるそれぞれの角度を形成することができると共に、ファセットの縁は互いに接触している必要がないことが理解されよう。さらに、マーカを円錐台形としたり、一次ファセット及び二次ファセットを任意の他の適切な角錐台を形成するように配置することもできる。
【0109】
上述の技法を適宜組み合わせることができることが理解されよう。たとえば、2つ以上のマーカを使用して仮想画像面及び/又は対話エリアを画定する場合、一つのマーカを図7を参照して上述した3次元マーカとすることができ、他のマーカを2次元マーカとすることができる。
【0110】
本発明の実施形態において、エンタテイメント方法の要素を任意の適切な方法でエンタテイメント装置内で実施することができることが理解されよう。したがって、従来の同等の装置の既存の部品への必要とされる適合は、プロセッサ実施可能命令を含むコンピュータプログラム製品の形態で実施することができる。このプロセッサ実施可能命令は、フロッピー(登録商標)ディスク、光ディスク、ハードディスク、PROM、RAM、フラッシュメモリ、若しくはこれらの任意の組み合わせ、若しくは他の記憶媒体のようなデータキャリアに記憶するか、イーサネット(登録商標)、無線ネットワーク、インターネット、若しくは他のネットワークのこれらの任意の組み合わせのようなネットワーク上でデータ信号を介して送信するか、又は、ASIC(特定用途向け集積回路)、FPGA(フィールドプログラマブルゲートアレイ)、若しくは従来の同等の装置を採用するときに使用するのに適した他の構成可能回路若しくは特注回路としてハードウェアにおいて実現してもよい。
【0111】
結論として、本明細書においてさまざまな実施形態を説明したが、これらは例示としてのみ提供され、このような実施形態に対する多くの変形形態及び変更形態が当業者に明らかであると共に、添付の特許請求の範囲及びそれらの均等物によって規定される本発明の範囲内に含まれる。

【特許請求の範囲】
【請求項1】
仮想画像をビデオカメラによって捕捉される実画像と合成して拡張現実画像を生成するためのエンタテイメント装置であって、
ビデオカメラから通信リンクを介して一連のビデオ画像を受信するように動作可能な受信手段と、
前記受信されたビデオ画像内の拡張現実マーカを検出するように動作可能な検出手段と、
前記検出手段による前記拡張現実マーカの検出に基づいて仮想画像面を生成するように動作可能な処理手段であって、当該仮想画像面を前記拡張現実マーカが配置されている実表面に対応して生成することができるように、当該仮想画像面を実表面と実質的に同一平面になるように構成する処理手段と
を備え、
前記処理手段は、
前記仮想画像面が前記検出された拡張現実マーカに対応して定義されるように、当該仮想画像面を前記捕捉ビデオ画像内に生成するように動作可能であり、且つ
前記仮想画像面は、
前記拡張現実マーカに対応する面積より大きい面積を有することを特徴とするエンタテイメント装置。
【請求項2】
請求項1に記載のエンタテイメント装置であって、
前記処理手段は、
前記拡張現実マーカの予め定められた表現と、前記検出された拡張現実マーカとの間の歪の度合を検出すると共に、
前記検出された歪の度合に基づいて前記仮想画像面を生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項3】
請求項1または2に記載のエンタテイメント装置であって、
前記処理手段は、
仮想現実物体位置において仮想現実物体を生成するように動作可能であり、
当該仮想現実物体位置は、
前記処理手段によって前記仮想画像面を参照して生成されることを特徴とするエンタテイメント装置。
【請求項4】
請求項3に記載のエンタテイメント装置であって、
前記仮想画像面は、
前記拡張現実画像内の対話エリアに関連し、
当該対話エリアは、
前記仮想現実物体をユーザとの対話のために表示することができる前記捕捉画像の領域であり、
前記処理手段は、
前記仮想現実物体を前記ビデオカメラによって捕捉された前記実画像と合成して前記対話エリア内に表示することができるように、当該対話エリアを前記仮想画像面に基づいて生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項5】
請求項4に記載のエンタテイメント装置であって、
前記処理手段は、
前記対話エリアの画素面積が前記ビデオカメラの全画素面積の所定のパーセンテージであるように前記対話エリアを生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項6】
請求項4に記載のエンタテイメント装置であって、
前記処理手段は、
前記受信したビデオ画像を分析することによって、前記拡張現実マーカの周囲にあると共に、前記拡張現実マーカに対応する画素に隣接するものとして検出される1つ又は複数の画素の色に対し予め定められた色閾値内でカラーマッチングされる対話エリア画素を検出すると共に、
前記対話エリアが前記検出された対話エリア画素に対応するように、当該対話エリアを生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項7】
請求項4に記載のエンタテイメント装置であって、
前記検出手段は、
前記受信したビデオ画像内の少なくとももう1つの拡張現実マーカを検出するように動作可能であり、
前記処理手段は、
前記対話エリアの周囲の少なくとも一部が前記検出された拡張現実マーカに対応するように、当該対話エリアを生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項8】
請求項3から7のいずれか一項に記載のエンタテイメント装置であって、
前記仮想現実物体は仮想生物であることを特徴とするエンタテイメント装置。
【請求項9】
請求項1から8のいずれか一項に記載のエンタテイメント装置であって、
前記受信手段は、
前記一連のビデオ画像を、前記ビデオカメラによって生成される、当該ビデオカメラと前記拡張現実マーカとの間の距離に関連する奥行き情報と共に受信するように動作可能であり、
前記検出手段は、
前記受信したビデオ画像及び前記受信した奥行き情報を分析することによって、前記ビデオカメラに対する前記拡張現実マーカの3次元空間位置を検出するように動作可能であり、
前記処理手段は、
前記仮想画像面が前記拡張現実マーカの前記検出された3次元空間位置に対応して定義されるように、当該仮想画像面を前記捕捉ビデオ画像内に生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項10】
請求項3から8のいずれか一項に従属する場合の請求項9に記載のエンタテイメント装置であって、
前記処理手段は、
前記受信した奥行き情報に基づいて、前記仮想現実物体位置が、前記仮想現実物体が実物体によって前記ビデオカメラの視野から遮蔽されるようになっているか否かを検出し、
前記仮想現実物体が前記実物体によって遮蔽される場合、当該仮想物体が当該実物体の背後にあるように見えるように当該仮想物体を生成するように動作可能であることを特徴とするエンタテイメント装置。
【請求項11】
請求項1から10のいずれか一項に記載のエンタテイメント装置であって、
前記拡張現実マーカは、
前記エンタテイメント装置によって実行されるゲームのゲーム特徴に関連することを特徴とするエンタテイメント装置。
【請求項12】
請求項1から11のいずれか一項に記載のエンタテイメント装置であって、
前記検出手段は、
前記拡張現実マーカの検出が実施されるべきであるという指示に応答して、前記受信したビデオ画像から選択される単一フレーム内の前記マーカを検出するように動作可能であることを特徴とするエンタテイメント装置。
【請求項13】
仮想画像をビデオカメラによって捕捉される実画像と合成して拡張現実画像を生成するためのシステムであって、
実環境のビデオ画像を捕捉し、ビデオカメラと拡張現実マーカとの間の距離に関連する奥行き情報を生成するように動作可能であるビデオカメラと、
請求項1から12のいずれか一項に記載のエンタテイメント装置と
を備えることを特徴とするシステム。
【請求項14】
仮想画像をビデオカメラによって捕捉される実画像と合成して拡張現実画像を生成する方法であって、
ビデオカメラから通信リンクを介して一連のビデオ画像を受信する手段、
前記受信されたビデオ画像内の拡張現実マーカを検出すること、および
前記検出手段による前記拡張現実マーカの検出に基づいて仮想画像面を生成することであって、当該仮想画像面を前記拡張現実マーカが配置されている実表面に対応して生成することができるように、当該仮想画像面を実表面と実質的に同一平面になるように構成すること
を含み、
前記仮想画像面は、
当該仮想画像面が前記検出された拡張現実マーカに対応して定義されるように、前記捕捉ビデオ画像内に生成され、
前記仮想画像面は、
前記拡張現実マーカに対応する面積より大きい面積を有することを特徴とする方法。
【請求項15】
請求項14に記載の方法を実施するためのコンピュータプログラム。
【請求項16】
前記拡張現実生成システムを用いて使用するための拡張現実マーカであって、
前記拡張現実生成システムによって認識するための画像を備える一次ファセットと、
1つ又は複数の二次ファセットであって、前記一次ファセットが当該1つ又は複数の二次ファセットと平行にならないように当該一次ファセットに対応して配置される、1つ又は複数の二次ファセットと
を備えることを特徴とする拡張現実マーカ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate


【公開番号】特開2010−49690(P2010−49690A)
【公開日】平成22年3月4日(2010.3.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2009−189142(P2009−189142)
【出願日】平成21年8月18日(2009.8.18)
【出願人】(502070679)ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド (40)
【Fターム(参考)】