説明

プログラム、情報記憶媒体及び画像生成システム

【課題】立体視用画像における情報表示物の適切な立体視表示を可能にするプログラム、情報記憶媒体、画像生成システム等の提供。
【解決手段】画像生成システムは視差強度設定部と画像生成部を含む。画像生成部は、第1の視差強度に設定された場合、第1の奥行き位置に情報表示物が立体視表示され、第2の視差強度に設定された場合、第2の奥行き位置に情報表示物が立体視表示される立体視用画像を生成する。そして第1の視差強度が設定された際の情報表示物の第1の端部と第3視点とを結ぶ線分により規定される境界面を第1の境界面とし、第1の境界面と第1のクリッピング面の間の領域を第1の領域とした場合に、第2の視差強度が設定された場合、情報表示物の第1の端部が第1の領域に立体視表示される立体視用画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【0002】
近年、映画やゲーム等の分野において、より臨場感が溢れる画像を生成・表示するシステムとして、立体視画像の生成・表示システムが脚光を浴びている。例えばこの立体視画像生成・表示システムの1つである2眼式の立体視画像生成・表示システムでは、左眼用画像と右眼用画像を生成・表示する。そして例えばプレーヤが立体視用の眼鏡を装着して、左眼は左眼用画像のみを見て、右眼は右眼用画像のみを見るようにすることで、立体視を実現する。このような立体視を実現する画像生成・表示システムの従来技術としては、例えば特許文献1に開示される技術がある。
【0003】
このような立体視用画像をCG(Computer Graphics)で生成する場合には、左眼用仮想カメラに対応する左眼用ビューボリューム(左眼用視錐台)を視界に設定して、描画処理を行い、左眼用画像を生成する。また右眼用仮想カメラに対応する右眼用ビューボリューム(右眼用視錐台)を視界に設定して、描画処理を行い、右眼用画像を生成する。
【0004】
しかしながら、このように左眼用、右眼用のビューボリュームを設定した場合に、左眼用ビューボリューム内に存在するオブジェクトが、右眼用ビューボリューム内には存在しなかったり、左眼用ビューボリューム内に存在するオブジェクトが、右眼用ビューボリューム内には存在しなかったりするなどの事態が生じる。即ち、いわゆるフレームバイオレーション(ウィンドウ違反)の問題が存在する。
【0005】
一方、ゲーム等においては、プレーヤ(観者)にゲーム状況やゲーム成績等を提示(伝達)する情報表示物がゲーム画面上に表示される。この情報表示物は、いわゆるHUD(Head Up Display)に表示される情報をイメージしていることが多い。
【0006】
しかしながら、立体視表示の際に、この情報表示物が不適切な位置に表示されると、キャラクタ等の主表示物の表示の妨げになるなどの問題が生じる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−126902号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明の幾つかの態様によれば、立体視用画像における情報表示物の適切な立体視表示を可能にするプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【0009】
本発明の一態様は、立体視の視差強度の設定を行う視差強度設定部と、立体視における第1視点から見える第1視点画像と第2視点から見える第2視点画像を立体視用画像として生成する画像生成部とを含み、前記画像生成部は、前記視差強度が第1の視差強度に設定された場合には、スクリーンよりも奥側又は手前側の第1の奥行き位置に、観者に情報を提示するための情報表示物が立体視表示され、前記視差強度が前記第1視差強度よりも弱い第2の視差強度に設定された場合には、前記第1の奥行き位置よりも前記スクリーンに近い側の第2の奥行き位置に、前記情報表示物が立体視表示される前記立体視用画像を生成すると共に、前記第1の視差強度が設定された際の前記情報表示物の左側及び右側の一方側の端部を第1の端部とし、前記第1視点と前記第2視点の間の第3視点と前記第1の端部とを結ぶ線分により規定される境界面を第1の境界面とし、第1視点用ビューボリューム又は第2視点用ビューボリュームの一方側のクリッピング面を第1のクリッピング面とし、前記第1の境界面と前記第1のクリッピング面の間の領域を第1の領域とした場合に、前記画像生成部は、前記第2の視差強度が設定された場合に、前記情報表示物の前記第1の端部が、前記第1の領域に立体視表示される前記立体視用画像を生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0010】
本発明の一態様によれば、第1の視差強度に設定されると、第1の奥行き位置に情報表示物が立体視表示され、第1の視差強度よりも弱い第2の視差強度に設定されると、第1の奥行き位置よりもスクリーンに近い側の第2の奥行き位置に情報表示物が立体視表示されるようになる。そして、第1の視差強度が設定された際の情報表示物の第1の端部と第3視点とを結ぶ線分により規定される第1の境界面と、第1のクリッピング面との間の領域を第1の領域とした場合に、第2の視差強度が設定された場合には、情報表示物の第1の端部が、第1の領域に立体視表示されるようになる。
【0011】
このようにすれば、視差強度の強弱に応じて情報表示物の奥行き位置が変化するようになるため、観者にとって好適な立体視表示位置に情報表示物を立体視表示できるようになる。また、第1の視差強度よりも弱い第2の視差強度に設定された場合でも、情報表示物の少なくとも第1の端部が、第1の境界面と第1のクリッピング面の間の第1の領域に立体視表示されるようになる。従って、例えば画面の端辺に近い位置に情報表示物を表示することなどが可能になり、情報表示物の適切な立体視表示を実現できるようになる。
【0012】
また本発明の一態様では、前記画像生成部は、前記視差強度がゼロに設定された場合には、前記第1の領域内において、前記スクリーンの奥行き位置に、前記情報表示物が立体視表示される前記立体視用画像を生成してもよい。
【0013】
このようにすれば、視差強度がゼロに設定された場合には、スクリーンの奥行き位置に情報表示物が表示されるようになり、観者にとって自然に見える画像の生成が可能になる。
【0014】
また本発明の一態様では、前記画像生成部は、前記第2の視差強度に設定された場合には、前記第1の視差強度に設定された場合に比べて、前記情報表示物の表示位置が、表示部の画面の一方側の端辺に近づく前記立体視用画像を生成してもよい。
【0015】
このようにすれば、情報表示物の表示位置を、表示部の画面の一方側の端辺に近づけることができ、主表示物等の表示領域を、例えば画面中央部の領域に広く確保することなどが可能になる。
【0016】
また本発明の一態様では、前記視差強度設定部は、前記観者が操作する操作部からの操作情報に基づいて、前記視差強度を設定してもよい。
【0017】
このようにすれば、観者の操作により視差強度が変化すると、この視差強度の変化に伴い、立体視における情報表示物の奥行き位置も変化するようになり、観者にとって、より適切な立体視表示が可能になる。
【0018】
また本発明の一態様では、前記画像生成部は、前記第1視点画像と前記第2視点画像とで、前記スクリーン上での前記情報表示物の表示位置を異ならせることで、前記立体視用画像を生成してもよい。
【0019】
このようにすれば、スクリーン上での情報表示物の表示位置を異ならせることで、視差強度に対応する立体視表示位置に、情報表示物を立体視表示できるようになる。
【0020】
また本発明の一態様では、前記情報表示物は、ゲーム状況情報、ゲームに登場するキャラクタの情報、ゲーム成績情報、ガイド情報、又は文字情報を前記観者に提示するための表示物であってもよい。
【0021】
このようにすれば、ゲーム状況情報、キャラクタの情報等を、視差強度に応じて奥行き位置が変化する情報表示物を用いて、観者に提示することが可能になる。
【0022】
また本発明の一態様では、前記画像生成部は、前記第1の視差強度に設定された場合と前記第2の視差強度に設定された場合とで、前記情報表示物の表示態様を変化させてもよい。
【0023】
このようにすれば、観者は、情報表示物の奥行き位置の変化のみならず、情報表示物の表示態様の変化によっても、視差強度の設定の変化を認識できるようになる。
【0024】
また本発明の一態様では、前記第1視点、前記第2視点は、二眼式立体視における左眼側仮想カメラ、右眼側仮想カメラの視点であってもよい。
【0025】
また本発明の一態様では、前記第1視点、前記第2視点は、多眼式立体視における視点群のうちの2つの視点、又は空間像方式立体視における設定観察範囲内の任意の2視点であってもよい。
【0026】
空間像方式立体視では、描画時には特定の視点が想定されないことも多いが、代表的な観察位置は設定される。そこで、この代表的な観察位置に基づく、観察者の両眼位置等を、上記の第1視点、第2視点としてもよい。或いは、観察範囲の両端に相当する位置を、上記の第1視点、第2視点としてもよい。
【0027】
また本発明の一態様では、表示部の画面と観者との位置関係情報を取得する情報取得部と、取得された前記位置関係情報に基づいて、前記多眼式立体視又は前記空間像方式立体視における前記第1視点と前記第2視点を選択する視点選択部とを含んでもよい(情報取得部、視点選択部としてコンピュータを機能させてもよい)。
【0028】
また本発明の他の態様は、表示部の画面と観者との位置関係情報を取得する情報取得部と、取得された前記位置関係情報に基づいて、多眼式立体視又は空間像方式立体視における第1視点と第2視点を選択する視点選択部と、立体視における前記第1視点から見える第1視点画像と前記第2視点から見える第2視点画像を立体視用画像として生成する画像生成部とを含み、前記画像生成部は、前記位置関係情報に基づき選択された第1視点用ビューボリュームと、前記位置関係情報に基づき選択された第2視点用ビューボリュームとの共通領域に、観者に情報を提示するための情報表示物が立体視表示される前記立体視用画像を生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0029】
本発明の他の態様によれば、表示部の画面と観者との位置関係情報が取得され、取得された位置関係情報に基づいて、多眼式立体視又は空間像方式立体視における第1視点と第2視点が選択される。そして、位置関係情報に基づき選択された第1視点用ビューボリュームと第2視点用ビューボリュームとの共通領域に、情報表示物が立体視表示される立体視用画像が生成されるようになる。このようにすれば、多眼式立体視や空間像方式立体視に適切な態様での情報表示物の立体視表示が可能になる。
【0030】
また本発明の他の態様では、前記情報取得部は、前記観者の左眼、右眼の位置情報を、前記位置関係情報として取得し、前記視点選択部は、前記観者の左眼、右眼の前記位置情報に基づいて、前記第1視点と前記第2視点を選択してもよい。
【0031】
このようにすれば、観者の左眼、右眼の位置情報に応じた適切な第1視点、第2視点を選択して、第1視点用ビューボリュームと第2視点用ビューボリュームとの共通領域に、情報表示物を立体視表示できるようになる。
【0032】
また本発明の他の態様では、前記観者が装着する認識用部材には、前記観者の左眼に対応する左眼用マーカと、前記観者の右眼に対応する右眼用マーカとが設けられ、前記情報取得部は、前記観者が装着する認識用部材を撮像する撮像部からの撮像情報に基づいて前記観者の左眼、右眼の前記位置情報を取得してもよい。
【0033】
このようにすれば、左眼用マーカと右眼用マーカを認識用部材に設けるだけで、観者の左眼、右眼の位置情報を簡素な処理で取得できるようになる。
【図面の簡単な説明】
【0034】
【図1】本実施形態の画像生成システムの構成例。
【図2】左眼用ビューボリューム、右眼用ビューボリュームの設定手法の説明図。
【図3】左眼用ビューボリューム、右眼用ビューボリュームの設定手法の説明図。
【図4】本実施形態の手法の説明図。
【図5】比較例の手法の説明図。
【図6】情報表示物がスクリーンの手前側にある場合の本実施形態の手法の説明図。
【図7】本実施形態の手法により生成されたゲーム画像の例。
【図8】本実施形態の手法により生成されたゲーム画像の例。
【図9】本実施形態の手法により生成されたゲーム画像の例。
【図10】図10(A)、図10(B)は情報表示物の表示位置決定手法の説明図。
【図11】画面の奧側にある場合の情報表示物の表示位置決定手法の説明図。
【図12】画面の奧側にある場合の情報表示物の表示位置決定手法の説明図。
【図13】画面の奧側にある場合の情報表示物の表示位置決定手法の説明図。
【図14】画面の手前側にある場合の情報表示物の表示位置決定手法の説明図。
【図15】画面の手前側にある場合の情報表示物の表示位置決定手法の説明図。
【図16】画面の手前側にある場合の情報表示物の表示位置決定手法の説明図。
【図17】情報表示物の表示態様を変化させる手法の説明図。
【図18】多眼式立体視等の場合の視点選択手法の説明図。
【図19】多眼式立体視等の場合の視点選択手法の説明図。
【図20】図20(A)、図20(B)はプレーヤの左眼、右眼の位置情報の取得手法の説明図。
【図21】本実施形態の変形例の説明図。
【図22】本実施形態の変形例の説明図。
【図23】本実施形態の変形例の説明図。
【図24】本実施形態の詳細な処理を説明するフローチャート。
【図25】本実施形態の詳細な処理を説明するフローチャート。
【発明を実施するための形態】
【0035】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0036】
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図1に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0037】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【0038】
撮像部162は、被写体を撮像するものであり、CCDやCMOSセンサなどの撮像素子や、レンズ等の光学系により実現できる。撮像部162の撮像により取得された撮像情報(撮像画像データ)は、撮像情報記憶部174に記憶されて保存される。
【0039】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
【0040】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0041】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、各種プロジェクター型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。また、これらは、タッチパネル等と一体型であってもよい。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0042】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【0043】
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0044】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0045】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0046】
処理部100は、ゲーム演算部102、オブジェクト空間設定部104、移動体演算部106、仮想カメラ制御部108、視差強度設定部110、情報取得部112、視点選択部114、画像生成部120、音生成部130を含む。
【0047】
ゲーム演算部102はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0048】
オブジェクト空間設定部104は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ(人、動物、ロボット、車、船舶、飛行機等)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部172には、オブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部104は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【0049】
移動体演算部106は、キャラクタ等の移動体を移動させるための演算を行う。また移動体(移動体オブジェクト)を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒等)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0050】
仮想カメラ制御部108は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0051】
例えば仮想カメラによりキャラクタを後方から撮影する場合には、キャラクタの位置又は方向の変化に仮想カメラが追従するように、仮想カメラの位置(視点位置)や方向(視線方向)を制御する。この場合には、移動体演算部106で得られたキャラクタの位置、方向又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は方向を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0052】
視差強度設定部110は、視差強度の設定処理を行う。例えば立体視における視差の強さを表す視差強度の調整処理を行う。
【0053】
情報取得部112は、表示部190の画面と観者との位置関係情報等の種々の情報を取得する。例えば撮像部162からの撮像情報等に基づいて、観者(狭義にはプレーヤ)の左眼、右眼の位置情報(表示部の画面に対する相対的な位置関係情報)を取得する。
【0054】
視点選択部114は、多眼式立体視や空間像方式立体視における視点の選択処理を行う。
【0055】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0056】
画像生成部120は第1視点画像生成部122、第2視点画像生成部124を含む。第1視点画像生成部122は立体視における第1視点から見える画像を生成し、第2視点画像生成部124は立体視における第2視点から見える画像を生成する。二眼式立体視を例にとれば、第1視点画像生成部122は、オブジェクト空間内において左眼用仮想カメラから見える左眼用画像を生成し、第2視点画像生成部124は、オブジェクト空間内において右眼用仮想カメラから見える右眼用画像を生成する。
【0057】
なお画像生成部120は、頂点処理やピクセル処理等を行ってもよい。
【0058】
具体的には画像生成部120(頂点シェーダ−)は、オブジェクトの頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)に基づいて、頂点処理(頂点シェーダによるシェーディング)を行う。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0059】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。
【0060】
また画像生成部120(ピクセルシェーダ)は、ラスタライズ後に、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)を行ってもよい。
【0061】
ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読み出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ178に出力(描画)する。即ち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0062】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現できる。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0063】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0064】
そして本実施形態では、視差強度設定部110が、立体視の視差強度の設定を行う。例えば視差強度設定部110は、観者(プレーヤ)が操作する操作部160からの操作情報に基づいて、視差強度を設定する。具体的には後述する図7に示すスライドスイッチ10を観者がスライドさせる操作を行うと、このスライド量を操作情報として視差強度(3Dボリューム)の設定を行う。これは、必ずしも物理的なスライドスイッチである必要はなく、画面に表示される仮想的な視差強度設定スライダー等を、何らかの入力装置により、操作することとしてもよい。そして画像生成部120は、立体視における第1視点(狭義には左眼用仮想カメラ)から見える第1視点画像(狭義には左眼用画像)と、第2視点(狭義には右眼用仮想カメラ)から見える第2視点画像(狭義には右眼用画像)を、立体視用画像として生成する。これらの第1視点画像、第2視点画像は、第1視点画像生成部122、第2視点画像生成部124が生成する。
【0065】
ここで視差強度は、立体視の強度(立体表示の強度)を表す情報であり、立体感の大小を示す指標である。視差強度を調整することで、立体視の表示物の飛び出し・奥行き方向の広がり具合などの立体感の度合いを調整できる。この視差強度の設定は、例えば立体視の左眼用仮想カメラ(第1視点カメラ)と右眼用仮想カメラ(第2視点カメラ)のカメラ間距離等のパラメータを調整することで実現できる。そして観者は、視差強度(立体視強度)を設定することで、自身が所望する立体感で立体視用画像を見ることが可能になる。
【0066】
例えば視差強度が弱い値に設定されると、例えば左眼用仮想カメラと右眼用仮想カメラのカメラ間距離(広義には第1視点と第2視点の視点間距離)が狭くなる。このようにカメラ間距離を狭くすると、立体感が少し控えめになり、平面視の状態に近くなって、全体的に立体感は薄れる。一方、視差強度が強い値に設定されると、例えば左眼用仮想カメラと右眼用仮想カメラのカメラ間距離が広くなる。このようにカメラ間距離を広くすると、観者は、より強い立体感を感じるようになる。但し、カメラ間距離には、例えば観者自身の両眼距離に相当する値までなど、ある程度の限度があり、それを超えると疲労の原因になったり、立体視ができなくなることは、よく知られている通りであり、カメラ間距離を広げれば広げるほど良い立体視が得られるわけではないので、注意が必要である。
【0067】
本実施形態では、画像生成部120は、視差強度が第1の視差強度に設定された場合には、スクリーン(透視投影スクリーン)よりも奥側又は手前側の第1の奥行き位置に、観者に情報を提示(伝達)するための情報表示物が立体視表示される立体視用画像を生成する。一方、視差強度が第1視差強度よりも弱い第2の視差強度に設定された場合には、従来のように第1の奥行き位置よりもスクリーンに近い側の第2の奥行き位置に、情報表示物が立体視表示される立体視用画像を生成する。即ち、視差強度の強弱に応じて、立体視表示における情報表示物の奥行き位置(Z方向での位置)を変化させる。なお、第1、第2の奥行き位置に情報表示物が立体視表示されるとは、第1、第2の奥行き位置に配置されるような視差が情報表示物の画像に与えられることである。これは、例えば奥行き位置に応じて、第1視点画像(左眼用画像)の画素と、第2視点画像(右眼用画像)の対応する画素との間の水平方向での距離(スクリーンのX方向での距離)を変化させることなどで実現できる。
【0068】
そして本実施形態では、例えば第1の視差強度が設定された際の情報表示物の左側及び右側(画面に向かって左側、右側)の一方側の端部を、第1の端部(左側端部又は右側端部)とする。また第1視点(左眼用仮想カメラ)と第2視点(右眼用仮想カメラ)の間の第3視点(狭義にはセンターカメラ)と第1の端部とを結ぶ線分により規定される境界面を、第1の境界面とする。また第1視点用ビューボリューム又は第2視点用ビューボリュームの一方側(画面に向かって左側又は右側)のクリッピング面を、第1のクリッピング面とし、第1の境界面と第1のクリッピング面の間の領域を第1の領域とする。なお、第1の境界面は、スクリーンにおける水平方向をX軸方向、鉛直方向をY軸方向、奥行き方向をZ軸方向とした場合に、例えばY軸方向(鉛直方向)に沿った面である。また左側、右側はX軸方向での左側、右側である。
【0069】
この場合に画像生成部120は、第2の視差強度が設定された場合には、情報表示物の第1の端部(左側端部又は右側端部)が、第1の境界面と第1のクリッピング面の間の第1の領域に立体視表示される立体視用画像を生成する。即ち、上述のように、視差強度の強弱に応じて、立体視表示における情報表示物の奥行き位置を変化させると共に、情報表示物の第1の端部が、第1のクリッピング面と第1の境界面の間の第1の領域に立体視表示されるように、立体視用画像を生成する。例えば、非フレームバイオレーション領域内(非ウィンドウ違反領域内)であって、且つ、第1のクリッピング面に近い距離の位置に、情報表示物が立体視表示されるような立体視用画像を生成する。そして、例えば、設定された視差強度に応じて、非フレームバイオレーション領域内において、第1のクリッピング面に沿って立体視表示位置が変化するように、情報表示物を立体視表示する。このようにすれば、視差強度の設定が変化することで、情報表示物の立体視表示における奥行き位置が変化した場合にも、情報表示物が、フレームバイオレーション領域にかかることなく、画面の左端辺又は右端辺から近い位置に表示されるようになる。
【0070】
また画像生成部120は、視差強度がゼロに設定された場合には、上記の第1の領域内において、スクリーンの奥行き位置に、情報表示物が立体視表示される立体視用画像を生成する。即ち、視差強度がゼロに設定された場合には、第1の領域内であり且つスクリーンの位置に情報表示物が立体視表示されるようにする。なお、本実施形態では、このように視差強度がゼロに設定された画像も、便宜上、立体視用画像と呼ぶこととする。
【0071】
また画像生成部120は、上述のように視差強度が第2の視差強度に設定された場合には、第1の視差強度に設定された場合に比べて、情報表示物の表示位置が、表示部190の画面の一方側の端辺に近づく立体視用画像を生成する。例えば第1の情報表示物が、表示部190の画面の左側に表示され、第2の情報表示物が、表示部190の画面の右側に表示されていたとする。この場合には、第2の視差強度から第1の視差強度に視差強度が変化するにつれて、左側の第1の情報表示物が画面の左端辺に近づき、右側の第2の情報表示物が画面の右端辺に近づくような画像が生成されることになる。
【0072】
また画像生成部120は、例えば第1視点画像と第2視点画像とで、スクリーン上での情報表示物の表示位置(スプライトの描画位置)を異ならせることで、立体視用画像を生成することができる。二眼式立体視を例に取れば、左眼用画像と右眼用画像とで、情報表示物の表示位置(対応する画素の位置)を異ならせることで立体視用画像を生成する。なお、情報表示物を、奥行き値を有する3次元情報表示オブジェクトで実現し、この3次元情報表示オブジェクトを、オブジェクト空間内において、視差強度に対応する奥行き位置に配置設定することで、情報表示物の立体視用画像を生成するようにしてもよい。
【0073】
また情報表示物は、例えばゲーム状況情報、ゲームに登場するキャラクタ情報、ゲーム成績情報、ガイド情報、又は文字情報などを観者に提示するための表示物である。ここでゲーム状況情報は、ゲームの進行状況情報、ゲームの時間経過情報、又はゲームイベント情報などである。またゲームに登場するキャラクタの情報は、ゲームに登場する人、飛行機又は車等のキャラクタの所持アイテム、移動情報、攻撃力、守備力、又は現在のステータス等を表す情報である。またゲーム成績情報は、観者が取得した得点情報、ゲームポイント情報、又は勝敗情報などのゲーム結果情報などである。またガイド情報は、マップ上でのキャラクタ等の位置を表す情報(レーダー情報)、キャラクタ等が進むべき方向等を表す情報、又は観者に対するアドバイス情報などである。また文字情報は、観者に伝えるメッセージの文字情報、現在の状況を伝える文字情報、又は字幕情報などである。
【0074】
また画像生成部120は、第1の視差強度に設定された場合と第2の視差強度に設定された場合とで、情報表示物の表示態様を変化させてもよい。例えば第1の視差強度に設定された場合には第1の表示態様で情報表示物を表示し、第2の視差強度に設定された場合には、第1の表示態様とは異なる第2の表示態様で情報表示物を表示する。ここで、表示態様の変化としては、例えば色相、明度、彩度、透明度、ぼかし度合い、マッピングされるテクスチャ、或いは映像エフェクト等の変化などを想定できる。
【0075】
なお、第1視点画像、第2視点画像を生成する第1視点、第2視点は、例えば二眼式立体視における左眼側仮想カメラ、右眼側仮想カメラの視点である。或いは、第1視点、第2視点は、多眼式立体視における視点、又は空間像方式立体視における観者の位置を想定した視点であってもよい。例えば多眼式立体視における視点群のうちの2つの視点、又は空間像方式立体視における設定観察範囲内の任意の2視点であってもよい。
【0076】
また本実施形態では、情報取得部112は、表示部190の画面と観者との位置関係情報を取得する。この位置関係情報は、例えば観者の左眼、右眼の位置情報等である。なお、位置関係情報は、表示部190の画面と観者(観者の左眼、右眼)の相対的な位置関係を表す情報であれば十分であり、例えば観者に対する表示部190の画面の動き情報を、位置関係情報として取得してもよい。例えば携帯型ゲーム装置において、内蔵するモーションセンサ(ジャイロセンサ、加速度センサ等)を用いて、プレーヤが携帯型ゲーム装置を動かすことによる画面等の動きを検出して、位置関係情報を取得してもよい。
【0077】
また視点選択部114は、取得された位置関係情報に基づいて、多眼式立体視又は空間像方式立体視における第1視点と第2視点を選択する。また画像生成部120は、立体視における第1視点から見える第1視点画像と第2視点から見える第2視点画像を、立体視用画像として生成する。例えば観者の左眼に見えるべき画像を第1視点画像として生成、右眼に見えるべき画像を第2視点画像として生成する。空間像方式立体視の場合には、選択された第1視点と第2視点を含むように画像描画範囲を設定した上で、その範囲の画像を生成するようにすればよい。
【0078】
そして画像生成部120は、位置関係情報に基づき選択された第1視点用ビューボリュームと、位置関係情報に基づき選択された第2視点用ビューボリュームとの共通領域(非フレームバイオレーション領域)に、観者に情報を提示するための情報表示物が立体視表示される立体視用画像を生成する。具体的には、この共通領域内において、設定された視差強度に応じた奥行き位置に情報表示物が立体視表示される立体視用画像を生成する。例えば、多眼式立体視又は空間像方式立体視において、第1視点画像、第2視点画像を生成するための第1視点、第2視点が選択された場合に、情報表示物が、第1視点用ビューボリュームと第2視点用ビューボリュームの共通領域内に立体視表示されるような立体視用画像を生成する。このようにすれば、多眼式立体視又は空間像方式立体視において第1視点、第2視点が選択された場合に、選択された第1視点、第2視点に最適な表示位置に情報表示物を立体視表示できるようになる。
【0079】
この場合に情報取得部112は、観者の左眼、右眼の位置情報を、位置関係情報として取得してもよい。例えば表示部190の画面に対する左眼、右眼の相対的な位置情報を取得する。即ち、両眼トラッキングを行う。
【0080】
そして視点選択部114は、観者の左眼、右眼の前記位置情報に基づいて、第1視点と第2視点を選択する。具体的には観者が装着する認識用部材に、観者の左眼に対応する左眼用マーカと、観者の右眼に対応する右眼用マーカとが設けられる。そして情報取得部112は、観者が装着する認識用部材を撮像する撮像部162からの撮像情報に基づいて、観者の左眼、右眼の位置情報を取得する。即ち、観者が装着する認識用部材を撮像部162により撮像し、得られた撮像情報に基づく画像認識処理により、認識用部材の左眼用マーカと右眼用マーカを画像認識する。そして、画像認識結果に基づいて左眼用マーカ、右眼用マーカの位置を検出して、観者の左眼、右眼の位置情報を求めるようにする。このようにすれば、観者の左眼、右眼の位置情報を、撮像部162を有効活用した簡素な処理で検出できるようになる。このマーカは、メガネ式立体視表示装置の場合には、メガネに取り付けてもよい。また、顔認識等の技術により、特にマーカをつけなくても左眼・右眼の位置を検出できる場合には、もちろんマーカは不要である。
【0081】
なお仮想カメラ制御部108は、例えば第1視点(左眼用仮想カメラ)、第2視点(右眼用仮想カメラ)を設定するための基準となる基準視点(基準仮想カメラ、センターカメラ)の制御を行う。例えば基準視点は第1視点と第2視点の間に位置する視点である。そして、得られた基準視点の位置情報、方向情報と、設定された視点間距離(カメラ間距離)の情報に基づいて、第1視点、第2視点(左眼用、右眼用仮想カメラ)の位置情報(視点位置)、方向情報(視線方向)を求める。なお仮想カメラ制御部108が、第1視点、第2視点(左眼用、右眼用仮想カメラ)を直接制御するようにしてもよい。
【0082】
また立体視方式としては、2眼分離眼鏡方式や、パララックスバリアやレンティキュラーレンズや、その他、光線の方向を制御することができる光学素子を用いた裸眼方式などの様々な方式を想定できる。2眼分離眼鏡方式としては、例えば偏光眼鏡方式、継時分離方式、色分離方式などがある。偏光眼鏡方式では、例えば表示部190の奇数ラインと偶数ラインに左眼用画像と右眼用画像を交互に表示し、これを偏光眼鏡(例えば左眼に水平方向の偏光フィルタ、右眼に垂直方向の偏光フィルタを付けた眼鏡)で見ることで立体視を実現する。或いは左眼用画像と右眼用画像を特殊な偏光フィルタを有するプロジェクタで投影し、投影画像を偏光眼鏡で見ることで立体視を実現してもよい。また継時分離方式(ページ・フリップ方式)では、表示部190に左眼用画像、右眼用画像を所定期間毎(例えば1/120秒毎、1/60秒毎)に交互に表示する。そして、この表示の切り替えに連動して液晶シャッター付きの眼鏡の左眼、右眼の液晶シャッターを交互に開閉することで、立体視を実現する。色分離方式では、例えばアナグリフ画像を生成し、赤青眼鏡等で見ることで、立体視を実現する。
【0083】
また左眼用画像と右眼用画像から立体用視画像を生成する機能は、画像生成部120に持たせてもよいし、表示部190(テレビ等)に持たせてもよい。例えば画像生成部120が、サイドバイサイド方式の画像信号を出力する。すると表示部190が、このサイドバイサイドの画像信号に基づいて、奇数ラインと偶数ラインに左眼用画像と右眼用画像が交互に割り当てられるフィールドシーケンシャル方式の画像を表示する。或いは、左眼用画像と右眼用画像が所定期間毎に交互に切り替えられるフレームシーケンシャル方式の画像を表示する。或いは画像生成部120の方が、フィールドシーケンシャル方式やフレームシーケンシャル方式の画像を生成して、表示部190に出力するようにしてもよい。
【0084】
2.本実施形態の手法
次に本実施形態の手法について具体的に説明する。
【0085】
2.1 視差強度に応じた情報表示物の立体視表示
まず立体視におけるビューボリュームの設定について説明する。なお、以下では二眼式立体視の場合を主に例に取り説明する。この場合には例えば第1視点が左眼用仮想カメラの視点となり、第2視点が右眼用仮想カメラの視点になる。但し、本実施形態の手法は、このような二眼式立体視に限定されるものではなく、後述するように多眼式立体視、空間像方式立体視などの種々の立体視方式に適用可能である。
【0086】
例えば図2に示すように、立体視用画像を生成するためには、所与のカメラ間距離だけ離れた位置に設定される左眼用仮想カメラVCL(広義には第1視点カメラ)と右眼用仮想カメラVCR(広義には第2視点カメラ)を用いる。
【0087】
そして左眼用仮想カメラVCLに対応して左眼用ビューボリュームVVL(左眼用視錐台、第1視点用ビューボリューム、第1視点用視錐台)が設定され、右眼用仮想カメラVCRに対応して右眼用ビューボリュームVVR(右眼用視錐台、第2視点用ビューボリューム、第2視点用視錐台)が設定される。具体的には左眼用、右眼用仮想カメラVCL、VCRの位置や方向に基づいて、左眼用、右眼用ビューボリュームVVL、VVRの位置や方向が設定される。
【0088】
この場合に左眼用仮想カメラVCLから見える画像である左眼用画像は、左眼用ビューボリュームVVL内に存在するオブジェクトをスクリーンSCに透視投影して描画することで生成される。同様に右眼用仮想カメラVCRから見える画像である右眼用画像は、右眼用ビューボリュームVVR内に存在するオブジェクトをスクリーンSCに透視投影して描画することで生成される。従って、スクリーンSCに透視投影されない位置にあるオブジェクトは、描画対象にはならないため、これらのオブジェクトに対して透視投影変換処理を行うと、処理の無駄となる。
【0089】
このため、実際には、図3に示すように左眼用、右眼用ビューボリュームVVL、VVRを設定している。このようにすれば、スクリーンSCに透視投影されないオブジェクトについては、左眼用、右眼用ビューボリュームVVL、VVRを用いたクリッピング処理により描画対象から除外されるようになり、無駄な処理が行われるのが防止され、処理負荷の軽減を図れる。
【0090】
なお図3において、CNL、CFLは、各々、左眼用ビューボリュームVVLの前方クリッピング面、後方クリッピング面であり、CNR、CFRは、各々、右眼用ビューボリュームVVRの前方クリッピング面、後方クリッピング面である。
【0091】
さて、図3のようにビューボリュームを設定したとしても、例えばオブジェクトOB2、OB3は、左眼用ビューボリュームVVL内には存在するが、右眼用ビューボリュームVVR内には存在しない。従って、オブジェクトOB2、OB3については、左眼用画像の生成時にはスクリーンSCに描画されるが、右眼用画像の生成時にはスクリーンSCに描画されない。従って、オブジェクトOB2、OB3の画像は、左眼用画像を見るプレーヤ(広義には観者)の左眼には見えるが、右眼用画像を見るプレーヤの右眼には見えない画像になる。
【0092】
同様に、オブジェクトOB1、OB4は、右眼用ビューボリュームVVR内には存在するが、左眼用ビューボリュームVVL内には存在しない。従って、オブジェクトOB1、OB4の画像は、右眼用画像の生成時には描画されるが、左眼用画像の生成時には描画されないため、プレーヤの右眼には見えるが、プレーヤの左眼には見えない画像になる。
【0093】
このように左眼の右眼のいずれか一方のみにしか見えない領域を、フレームバイオレーション領域FV1、FV2、FV3、FV4(ウィンドウ違反領域)と呼ぶ。フレームバイオレーション領域FV1、FV2、FV3、FV4は、左眼用ビューボリュームVVL、右眼用ビューボリュームVVRのいずれか一方に属する領域であるが、両方には属していない領域である。
【0094】
一方、左眼及び右眼の両方に見える領域を、非フレームバイオレーション領域(非ウィンドウ違反領域)と呼ぶこととする。非フレームバイオレーション領域は、左眼用ビューボリュームVVL、右眼用ビューボリュームVVRの両方に属する領域(共通領域)である。
【0095】
図3のように、フレームバイオレーション領域FV1、FV2、FV3、FV4に存在するOB1、OB2、OB3、OB4は、左眼及び右眼のいずれか一方のみにしか見えないオブジェクトになる。このようにプレーヤの左眼と右眼とで、見えるオブジェクトが異なってしまうと、プレーヤが立体視する際に不自然さを感じるおそれがある。特に、ビューボリュームのクリッピング面を横切るようなオブジェクトが存在すると、一方の眼からは、そのオブジェクトがクリッピング面により切れているように見えるのに、他方の眼からは、そのようには見えないため、不自然な立体視になってしまう可能性がある。
【0096】
さて、本実施形態では、後述する図7に示すように、例えばプレーヤはスライドスイッチ10(広義には操作部)を用いて、立体視の強度を表す視差強度を任意に設定できるようになっている。例えば図7のスライドスイッチ10を上方向にスライドさせると、強い視差強度に設定され、表示部190に対して、立体感の強い画像が表示されるようになる。一方、スライドスイッチ10を下方向にスライドさせると、弱い視差強度に設定され、表示部190に対して、立体感の弱い画像が表示されるようになる。そして、スライドスイッチ10を最下部にスライドさせると、視差強度がゼロになり、立体視ではない平面視の画像(2D画像)が表示部190に表示されるようになる。なお本実施形態では、このように視差強度がゼロの画像も便宜的に立体視用画像と呼ぶこととする。
【0097】
また、本実施形態では、図7に示すように、ゲームに関する各種情報をプレーヤに伝えるための情報表示物(HDL1、HDL2、HDR1、HDR2)をゲーム画面上に表示している。この情報表示物は、いわゆるHUD(Head Up Display)に表示される情報をイメージしていることが多く、ゲーム画面上に表示されるキャラクタや背景などの主表示物とは異なる表示物である。そして情報表示物は、図形、記号又は文字等に構成されて、ゲーム状況情報、キャラクタ情報、ゲーム成績情報等をプレーヤに提示する。
【0098】
そして、このようにプレーヤが視差強度を任意に設定できる場合に、ゲーム画面上の情報表示物を、どのような表示態様で表示するかが課題となる。即ち、視差強度を変化させたにも関わらず、情報表示物の表示態様が変化しないと、ゲーム演出上、好ましくなく、またプレーヤが不自然さを感じるおそれもある。例えば視差強度が最大値に設定されてキャラクタ等の主表示物の立体感が非常に強くなったり、視差強度がゼロに設定されて主表示物の立体感がゼロになった場合にも、情報表示物の表示態様が変化していないと、ゲーム演出効果が低下すると共に、プレーヤに不自然感を与えるおそれがある。
【0099】
そこで本実施形態では、視差強度の設定の強弱に応じて、立体視における情報表示物の奥行き位置を変化させる手法を採用している。例えば強い視差強度に設定された場合には、スクリーンから離れた奥行き位置に情報表示物が立体視表示され、弱い視差強度に設定された場合には、スクリーンに近い奥行き位置に情報表示物が立体視表示されるような立体視用画像を生成する。
【0100】
具体的には図4に示すように、視差強度PSが、強い視差強度PS1(第1の視差強度)に設定されると、情報表示物HDL、HDRが、スクリーンSCから離れた奥行き位置Z=Z1(第1の奥行き位置。Z1のプレーンPL1)に立体視表示されるような画像を生成する。
【0101】
一方、視差強度PSが、PS1よりも弱い視差強度PS2(第2の視差強度)に設定されると、情報表示物HDL、HDRが、スクリーンSCに近い奥行き位置Z=Z2(第2の奥行き位置。Z2のプレーンPL2)に立体視表示されるような画像を生成する。また視差強度PSがゼロに設定されると、情報表示物HDL、HDRがスクリーンSCの奥行き位置Z=0に立体視表示されるような画像を生成する。なお、通常の3次元オブジェクト空間を描画するときには、視差強度PSを弱めることを、カメラ間距離(すなわち、カメラVCLとVCRの間隔)を短くすることで実現することが多い。その場合、それぞれのカメラのよるビューボリュームが変化し、結果としてクリッピング面CLLやCRRの位置も変化することになるため、説明が複雑になる。そこで、本説明においては、情報表示物を表示するにあたって、視差強度PSを弱めることを、カメラVCLとVCRの間隔を短くすることに置き換えずに、情報表示物を表示する奥行き位置を図4のように画面に近づけるということに置き換えた上で、説明を行っていることに注意されたい。
【0102】
このように、視差強度の強弱に応じて情報表示物の立体視表示における奥行き位置を変化させることで、ゲーム演出効果を向上できる。即ち、視差強度が高くなって、キャラクタ等の主表示物の立体感が強くなった場合には、情報表示物の奥行き位置が奥側に移動し、視差強度が弱くなって、主表示物の立体感が弱くなった場合には、情報表示物の奥行き位置が手前側に移動するようになる。従って、主表示物の立体感と情報表示物の奥行き位置とが連動して変化するようになり、ゲーム演出効果等を向上できる。また、視差強度の強弱に応じて情報表示物の奥行き位置を変化させることで、情報表示物により提示される情報が整理されて、プレーヤにとって見やすく分かりやすいゲーム画像を生成できるようになる。
【0103】
ところが、情報表示物が、キャラクタ等の主表示物の表示の妨げになってしまうと、メインのゲーム画面の表示領域が狭くなってしまうという問題が発生する。だからといって、情報表示物を画面の端ぎりぎりに配置すると、上記のフレームバイオレーション領域にかかって見づらくなってしまうおそれがある。
【0104】
そこで本実施形態では、情報表示物が、なるべく画面の左端辺側や右端辺側に表示されるようにする手法を採用するとともに、視差強度が変化して情報表示物の奥行き位置が変化した場合にも、それらの情報表示物がフレームバイオレーション領域にもかからないようにしている。
【0105】
具体的には例えば図4において、基準仮想カメラであるセンターカメラVCC(広義には第3視点)は、左眼用仮想カメラVCL(広義には第1視点)と右眼用仮想カメラVCR(広義には第2視点)の間のカメラ(視点)である。
【0106】
そして境界面LL1(第1の境界面)は、センターカメラVCC(第3視点)と、視差強度がPS=PS1(第1の視差強度)に設定された際の情報表示物HDLの左側端部(一方側の第1の端部)とを結ぶ線分により規定される境界面(境界線)である。この境界面LL1はスクリーンSCの鉛直方向(Y軸方向)に沿った面になっている。
【0107】
またクリッピング面CLLは、左眼用ビューボリューム(第1視点用ビューボリューム)の左側(一方側)のクリッピング面である。そして領域R1(第1の領域)は、境界面LL1とクリッピング面CLLの間の領域である。即ち、領域R1は、境界面LL1とクリッピング面CLLにより規定される領域である。
【0108】
同様に、境界面LR1(第1の境界面)は、センターカメラVCC(第3視点)と、視差強度がPS=PS1(第1の視差強度)に設定された際の情報表示物HDRの右側端部(一方側の第1の端部)とを結ぶ線分により規定される境界面(境界線)である。この境界面LR1はスクリーンSCの鉛直方向(Y軸方向)に沿った面になっている。
【0109】
またクリッピング面CRRは、右眼用ビューボリューム(第2視点用ビューボリューム)の右側(一方側)のクリッピング面である。そして領域R2(第1の領域)は、境界面LR1とクリッピング面CRRの間の領域である。即ち、領域R2は、境界面LR1とクリッピング面CRRにより規定される領域である。
【0110】
そして本実施形態では図4に示すように、視差強度がPS=PS2に設定された場合に、情報表示物HDLの左側端部(第1の端部)が、領域R1(第1の領域)に立体視表示されるような画像を生成する。例えば視差強度がPS1からPS2に変化して、情報表示物HDLの奥行き位置がZ1からZ2に変化した場合に、情報表示物HDLを、左眼用の左側のクリッピング面CLLに沿って移動させるようにする。また本実施形態では、視差強度がPS=0に設定された場合には、領域R1内において、スクリーンSCの奥行き位置(Z=0)に、情報表示物HDLが立体視表示されるようになる。
【0111】
また視差強度がPS=PS2に設定された場合に、情報表示物HDRの右側端部(第1の端部)が、領域R2(第1の領域)に立体視表示されるような画像を生成する。例えば視差強度がPS1からPS2に変化して、情報表示物HDRの奥行き位置がZ1からZ2に変化した場合に、情報表示物HDRを、右眼用の右側のクリッピング面CRRに沿って移動させるようにする。また本実施形態では、視差強度がPS=0に設定された場合には、領域R2内において、スクリーンSCの奥行き位置(Z=0)に、情報表示物HDRが立体視表示されるようになる。
【0112】
以上のようにすれば、左側の情報表示物HDLについては、図4のA1に示すように画面の左端辺に近い位置に表示され、右側の情報表示物HDRについては、A2に示すように画面の右端辺に近い位置に表示されるようになる。従って、情報表示物HDL、HDRが、画面中央に表示されるキャラクタ等の主表示物の妨げにならないようになり、より見やすく整理された情報表示物HDL、HDRによる情報の提示が可能になる。また、情報表示物HDL、HDRの立体視表示位置が、領域R1、R2内になることで、情報表示物HDL、HDRの立体視表示位置が、フレームバイオレーション領域FV1、FV2に入ってしまう事態も防止できる。
【0113】
例えば図5に本実施形態の比較例の手法を示す。図5の比較例の手法においても、視差強度がPS1からPS2に変化すると、情報表示物HDL、HDRの奥行き位置もZ1からZ2に変化する。
【0114】
ところが、図5の比較例では、視差強度が変化した場合に、Z=Z1の際の情報表示物HDLの位置とセンターカメラVCCとを結ぶ線分に沿って、情報表示物HDLの立体視表示位置が変化する。またZ=Z1の際の情報表示物HDRの位置とセンターカメラVCCとを結ぶ線分に沿って、情報表示物HDRの立体視表示位置が変化する。この比較例の手法によれば、視差強度が変化して情報表示物HDL、HDRの奥行き位置が変化した場合にも、スクリーンSC上での情報表示物HDL、HDRのサイズを一定にできる。
【0115】
しかし、この比較例の手法では、図5のB1に示すように、情報表示物HDLが画面の左端辺から離れた位置に表示されてしまい、画面の左端辺側に無駄なスペースが生じてしまう。またB2に示すように、情報表示物HDRが画面の右端辺から離れた位置に表示されてしまい、画面の右端辺側に無駄なスペースが生じてしまう。従って、情報表示物HDL、HDRが、画面中央に表示されるキャラクタ等の主表示物の妨げとなってしまい、プレーヤにとって見にくいゲーム画面が表示されてしまう。情報表示物HDL、HDRが、画面中央に表示されるキャラクタ等の主表示物の妨げとなる度合いは、視差強度PSがPS1の場合も同じであるのだが、フレームバイオレーション領域にかからないように表示することを優先する。しかしながら、視差強度を弱くするにつれて、フレームバイオレーション領域は狭くなるので、次第に、必要以上に狭い範囲に情報表示物HDL、HDRを配置していることが、プレーヤにとって目立って来るようになるわけである。
【0116】
この点、本実施形態では図4のA1、A2に示すように、視差強度が変化して情報表示物HDL、HDRの奥行き位置が変化しても、情報表示物HDL、HDRの表示位置を、画面の左端辺側、右端辺側に寄せることが可能になるため、プレーヤにとってすっきりとした印象のゲーム画面を表示できるようになる。
【0117】
なお、図4では、スクリーンSCの奥側の領域において、視差強度に応じて情報表示物HDL、HDRの立体視表示位置を変化させる場合について示しているが、図6に示すように、スクリーンSCの手前側の領域において、視差強度に応じて情報表示物HDL、HDRの立体視表示位置を変化させてもよい。
【0118】
この図6の場合にも、視差強度がPS3(第1の視差強度)からPS4(第2の視差強度)に変化して、情報表示物HDLの奥行き位置がZ3(第1の奥行き位置)からZ4(第2の奥行き位置)に変化した場合に、情報表示物HDLの左側端部(第1の端部)が、クリッピング面CRLと境界面LL2の間の領域R3(第1の領域)に立体視表示されるようになる。即ち、情報表示物HDLが、右眼用の左側のクリッピング面CRLに沿って移動する。なお、境界面LL2は、視差強度がPS3に設定された際の情報表示物HDLの左側端部とセンターカメラVCCとを結ぶ線分により規定される境界面である。
【0119】
また、視差強度がPS3からPS4に変化して、情報表示物HDRの奥行き位置がZ3からZ4に変化した場合に、情報表示物HDRの右側端部(第1の端部)が、クリッピング面CLRと境界面LR2の間の領域R4(第1の領域)に立体視表示されるようになる。即ち、情報表示物HDRが、左眼用の右側のクリッピング面CLRに沿って移動する。なお、境界面LR2は、視差強度がPS3に設定された際の情報表示物HDRの右側端部とセンターカメラVCCとを結ぶ線分により規定される境界面である。
【0120】
なお、情報表示物の奥行き位置の変化(立体視表示位置の変化)は、種々の手法により実現できる。例えば左眼用画像と右眼用画像とで、スクリーン上での情報表示物の表示位置を異ならせることで、情報表示物の奥行き位置(立体視表示位置)を変化させてもよい。
【0121】
例えば強い視差強度PS1に設定され、奥行き位置が、スクリーンSCから遠い奥行き位置Z1である場合には、左眼用画像での情報表示物の表示位置と右眼用画像での情報表示物の表示位置との距離差を大きくする。また、弱い視差強度PS2に設定され、奥行き位置が、スクリーンSCから近い奥行き位置Z2である場合には、左眼用画像での情報表示物の表示位置と右眼用画像での情報表示物の表示位置との距離差を、Z=Z1の場合に比べて小さくする。この場合には、情報表示物をスプライトでスクリーン位置に描画すればよい。
【0122】
或いは、情報表示物を3次元オブジェクトとして、オブジェクト空間内の対応する奥行き位置に配置設定してもよい。例えば強い視差強度PS1に設定された場合には、オブジェクト空間内においてスクリーンSCから離れた奥行き位置Z1に、3次元オブジェクトの情報表示物を配置設定する。また、弱い視差強度PS2に設定された場合には、オブジェクト空間内においてスクリーンSCから近い奥行き位置Z2に、3次元オブジェクトの情報表示物を配置設定する。
【0123】
或いは、半透明(透明)のポリゴン(画面サイズのポリゴン)に対して、情報表示物の絵が描かれたテクスチャをマッピングし、このポリゴンの奥行き位置を、視差強度に応じて変化させてもよい。例えば強い視差強度PS1に設定された場合には、奥行き位置Z1に、情報表示物が描かれた画面サイズのポリゴンを配置設定し、弱い視差強度PS2に設定された場合には、奥行き位置Z2に、情報表示物が描かれた画面サイズのポリゴンを配置設定する。
【0124】
なお、図4、図6では、視差強度の変化と、情報表示物HDL、HDRの奥行き位置の変化の関係が同一となっているが、これを異ならせてもよい。例えば視差強度がPS1に設定された場合に、情報表示物HDLよりも奥側又は手前側の奥行き位置に、情報表示物HDRを立体視表示するようにしてもよい。例えば、各情報表示物ごとに、視差強度が最大値の場合の奥行き位置を異ならせるようにする。このようにすることで、各視差強度での各情報表示物の奥行き位置が異なるようになり、より整理された情報の提示等を期待できるようになる。
【0125】
図7、図8、図9に、本実施形態の手法により生成されたゲーム画像の例を示す。図7〜図9は、携帯型ゲーム装置への適用例であり、この携帯型ゲーム装置は例えば裸眼での立体視表示が可能になっている。具体的には表示部190を構成する液晶表示パネルに対して光学的な装置(光線に指向性をもたせるためのもの。視差バリア等)を設けて、裸眼の立体視を実現している。
【0126】
また、この携帯型ゲーム装置には、視差強度(立体視強度)を調整するためのスライドスイッチ10が設けられており、スライドスイッチ10を上方向にスライドさせると、視差強度が強くなり、下方向にスライドさせると、視差強度が弱くなる。
【0127】
図7は、スライドスイッチ10を一番上までスライドさせて、視差強度が最大値となった場合に表示されるゲーム画像の例である。表示部190には、飛行機(広義にはキャラクタ)のオブジェクトOBFや背景のオブジェクトOBMが、主表示物として表示されている。また、画面の左端辺側や右端辺側には、情報表示物HDL1、HDL2、HDR1、HDR2が表示されている。これらの情報表示物は、飛行機の高度、所持ミサイル数、機体角度等の情報をプレーヤに提示している。
【0128】
図8は、スライドスイッチ10を下方向にスライドさせて、図7に比べて視差強度を弱めた場合に表示されるゲーム画像の例である。図8では、図7に比べて、左側の情報表示物HDL1、HDL2の表示位置が、表示部190の画面の左端辺に近づき、右側の情報表示物HDR1、HDR2の表示位置が、画面の右端辺に近づいている。
【0129】
図9は、スライドスイッチ10を一番下までスライドさせて、図8に比べて視差強度が更に弱まり、視差強度がゼロに設定された場合に表示されるゲーム画像の例である。図9では、図8に比べて、左側の情報表示物HDL1、HDL2の表示位置が、表示部190の画面の左端辺に更に近づき、右側の情報表示物HDR1、HDR2の表示位置が、画面の右端辺に更に近づいている。
【0130】
このように本実施形態では、弱い視差強度(第2の視差強度)に設定された場合には、強い視差強度(第1の視差強度)に設定された場合に比べて、情報表示物の表示位置が、表示部190の画面の一方側の端辺(左端辺又は右端辺)に近づく立体視用画像を生成している。
【0131】
そして本実施形態では、図7、図8、図9に示すように、情報表示物を、表示部190の画面の左端辺側や右端辺側に寄せて表示することができる。従って、主表示物である飛行機のオブジェクトOBFや背景のオブジェクトOBMの表示領域の大きさを十分にとることが可能になり、プレーヤにとって見やすく整理されたゲーム画面を表示できるようになる。
【0132】
例えば図5の比較例の手法では、視差強度がゼロに設定された場合に、B1、B2に示すような無駄なスペースが画面の左端辺側や右端辺側に生じてしまう。
【0133】
これに対して本実施形態の手法によれば、図9に示すように、例えば視差強度がゼロに設定された場合にも、情報表示物が、画面の左端辺や右端辺の直ぐ近くに表示されるようになり、画面の左端辺側や右端辺側に無駄なスペースが生じてしまう事態を防止できる。
【0134】
2.2 情報表示物の表示位置の決定
次に、視差強度が変化した場合の情報表示物の表示位置の決定手法の一例について説明する。
【0135】
図10(A)において、FV1、FV2、FV3、FV4はフレームバイオレーション領域と呼ばれる。これらのうち、FV1、FV2を奥側フレームバイオレーション領域と呼び、FV3、FV4を手前側フレームバイオレーション領域と呼んで区別する。フレームバイオレーション領域は、片方の眼には見えて、他方の眼には見えない領域である。
【0136】
そして、奥側フレームバイオレーション領域FV1、FV2は、例えば、実際に画面に相当する窓枠があって、そこから景色を見ているとしても、同じ状態になるため、現実世界でも発生しうることである。すなわち、多少気になる程度の見づらさは発生するものの、不自然な見え方ではない。一方、手前側フレームバイオレーション領域FV3、FV4は、画面よりも手前側にあるにもかかわらず、片方の眼から見えないので、不自然な見え方をして見づらい領域となる。
【0137】
このため、通常、フレームバイオレーション領域といえば、FV3、FV4のみを指す場合が多いが、本実施形態では、FV1、FV2もフレームバイオレーション領域と呼ぶこととする。
【0138】
手前側フレームバイオレーション領域FV3、FV4はもちろんこと、奥側フレームバイオレーション領域FV1、FV2についても、その領域に表示物が配置された場合には、その表示物が見づらくなるため、重要な情報を表示する情報表示物については、これらのフレームバイオレーション領域に配置することは好ましくない。このため本実施形態では、情報表示物を、非フレームバイオレーション領域である領域VRA内や領域VRB内に配置することで、情報表示物が、より見やすくなるようにする。
【0139】
ここで、座標系を、図10(B)のように設定する。単位は、すべて現実空間の単位(mmなど)とする。
【0140】
まず、情報表示物が画面(SC)よりも奥側に配置される場合について説明する。
【0141】
図11において、左眼用ビューボリューム(左眼用視錐台)の左端線(左側クリッピング面に対応する線)と、右眼用ビューボリュームの右端線(右側クリッピング面に対応する線)の交点をAとする。すると交点Aの画面からの距離Dは、下式(1)から下式(2)のように求まる。
【0142】
【数1】

【数2】

【0143】
なお、Dは想定される左眼、右眼の画面からの距離であり、Wは画面の横幅であり、Eは左眼と右眼の視点間距離である。
【0144】
また図12において、視差強度が最大値でありZ位置(奥行き位置)がZ=Zの場合の情報表示物の右端のX位置をXとする。また視差強度が弱まって、Z位置がZ=Zに来たときの情報表示物の右端のX位置をXとする。すると、XとのXの関係は、上式(2)及び下式(3)から、下式(4)のようになる
【0145】
【数3】

【数4】

【0146】
また図13において、画面(SC)上における左眼用画像でのXの表示位置Xは、下式(5)から下式(6)のように求まる。
【0147】
【数5】

【数6】

【0148】
同様に、画面上における右眼用画像でのXの表示位置Xは、下式(7)から下式(8)のように求まる。
【0149】
【数7】

【数8】

【0150】
ここでX、Xを、W/2で割り算すると、画面横幅に対する−1〜+1の座標値を求めることができる。これを例えばxとし、更に横方向のピクセル数をpとすると、x×p/2+p/2を計算することで、ピクセル単位での位置を求めることができる。
【0151】
このようにして求められた左眼用画像での表示位置Xに情報表示物のスプライトの右端が来るように描画し、右眼用画像での表示位置Xに情報表示物のスプライトの右端が来るように描画することで、対応する奥行き位置に情報表示物が立体視表示される立体視用画像を生成できるようになる。即ち、左眼用画像(第1視点画像)と右眼用画像(第2視点画像)とで、画面(スクリーン)上での情報表示物の表示位置を異ならせることで、立体視用画像を生成することが可能になる。
【0152】
次に、情報表示物が画面より手前に配置される場合について説明する。
【0153】
図14において、左眼用ビューボリュームの右端線と、右眼用ビューボリュームの左端線の交点をBとする。すると交点Bの画面からの距離Dは、下式(9)から下式(10)のように求まる。
【0154】
【数9】

【数10】

【0155】
また図15において、視差強度が最大値でありZ位置がZ=Z(飛び出し側なのでZ<0である)の場合の情報表示物の右端のX位置をXとする。また視差強度が弱まって、Z位置がZ=Z(やはりZ<0である)に来たときの情報表示物の右端のX位置をXとする。すると、XとのX関係は、上式(10)及び下式(11)から、下式(12)のようになる。
【0156】
【数11】

【数12】

【0157】
また図16において、画面上における左眼用画像でのXの表示位置Xは、下式(13)から下式(14)のように求まる。
【0158】
【数13】

【数14】

【0159】
同様に、画面上における右眼用画像でのXの表示位置Xは、下式(15)から下式(16)のように求まる。
【0160】
【数15】

【数16】

【0161】
このようにして求められた左眼用画像での表示位置Xに情報表示物のスプライトの右端が来るように描画し、右眼用画像での表示位置Xに情報表示物のスプライトの右端が来るように描画することで、画面の手前側に情報表示物がある場合にも、対応する奥行き位置に情報表示物が立体視表示される立体視用画像を生成できるようになる。
【0162】
なお本実施形態では、設定された視差強度に応じて、情報表示物の表示態様(色相、明度、彩度、半透明度、ぼかし度、映像効果等)を変化させてもよい。
【0163】
例えば図17では、視差強度がゼロの場合には、情報表示物HDL、HDRの色が白に設定される。そして、視差強度が強くなるにつれて、情報表示物HDL、HDRの表示態様が変化し、その色が例えば赤に近づくようになる。即ち、図17では、視差強度がPS=PS1(第1の視差強度)に設定された場合とPS=PS2(第2の視差強度)に設定された場合とで、情報表示物HDL、HDRの表示態様が変化している。
【0164】
このようにすれば、プレーヤは、情報表示物の奥行き位置の変化のみならず、情報表示物の色等の表示態様の変化によっても、視差強度の設定の変化を視覚的に認識できるようになる。従って、奥行き位置だけを変化する場合に比べて、更に見やすく、情報整理を容易化できる情報表示物の表示が可能になる。従って、プレーヤにとって好適なインターフェース環境を提供できる。
【0165】
なお、情報表示物の表示態様の変化手法は、図17のように情報表示物の色を変化させる手法には限定されず、種々の変形実施が可能である。例えば視差強度の設定の変化に伴い、情報表示物の輝度、透明度、ぼかし度合いを変化させたり、情報表示物にマッピングされるテクスチャを変化させてもよい。或いは、情報表示物に付加される映像エフェクトを変化させてもよい。例えば情報表示物のアニメーションを変化させたり、情報表示物に付加されて表示される映像エフェクトオブジェクトの表示態様を変化させてもよい。
【0166】
2.3 多眼式立体視等への適用
以上では、二眼式立体視への適用例について説明したが、本実施形態の手法は、多眼式立体視や空間像方式立体視等にも適用可能である。多眼式立体視は、離散的な多視点の立体視方式であり、プレーヤ(観者)の任意の視点での立体視を可能にする。例えば複数の視点画像(視差画像)を用意し、これらの複数の視点画像のうちプレーヤの視点位置に対応する視点画像がプレーヤの左眼、右眼に見えるようにすることとで、任意の視点での立体視を可能にする。このような多眼式立体視としては、例えばパララックスバリアやレンティキュラーレンズなどの光学素子を用いた立体視方式などがある。また空間像方式立体視は、特定の視点を想定しない、すなわち、離散的ではない連続的な視点での立体視を可能にする立体視方式である。空間像方式立体視としては、例えばフラクショナル・ビュー方式、インテグラルイメージング方式、超多眼方式などの立体視方式が知られている。
【0167】
例えば図18は、多眼式立体視等に本実施形態の手法を適用した場合の例である。例えば多眼式立体視の場合には、想定される複数の視点V1〜VNのうち、最も左側の視点V1と最も右側の視点VNとに基づき設定される非フレームバイオレーション領域は、図18において太線で囲まれた領域NFVAになる。この領域NFVAは、視点V1用のビューボリュームと視点VN用のビューボリュームの共通領域(共通フレーム領域)である。
【0168】
従って、この場合には図18に示すように、視差強度が変化した場合にも、領域NFVA内に情報表示物HDL、HDRが立体視表示されるように立体視用画像を生成する。
【0169】
具体的には図4で説明したように、例えば視差強度が変化した場合に、視点V1用のビューボリュームの左側クリッピング面に沿うように、情報表示物HDLの立体視表示位置を変化させる。また、視差強度が変化した場合に、視点VN用のビューボリュームの右側クリッピング面に沿うように、情報表示物HDRの立体視表示位置を変化させる。こうすることで、多眼式立体視において視差強度を変化させた場合にも、プレーヤにとって見やすい情報表示物の立体視表示が可能になる。多眼式立体視のみならず空間像方式立体視の場合も同様である。但し、これらの方式で、同時に表示される観察領域(回り込み範囲)が広い場合、非フレームバイオレーション領域が非常に狭くなってしまうことが懸念される。その場合にはもちろん、より内側の2つの視点(例えば、画面の真正面にプレーヤが位置したと仮定した場合の両眼の位置等)を視点V1、V2としてもよい。
【0170】
しかし、上記の場合には、プレーヤが左右に動くと、情報表示物がフレームバイオレーション領域にかかってしまう。そこで、後述するようにアイトラッキング等によりプレーヤの視点と画面との位置関係情報を検出できる場合には、この位置関係情報に基づいて視点を選択し、選択された視点に対応する領域において、情報表示物を表示するようにしてもよい。
【0171】
例えば図19では、表示部の画面とプレーヤ(観者)との位置関係情報が取得され、取得された位置関係情報に基づいて、多眼式立体視や空間像方式立体視においてプレーヤの左眼、右眼に対応する第1視点Vi、第2視点Vjが選択されている。この第1視点Viから見える第1視点画像と第2視点Vjから見える第2視点画像が、プレーヤの両眼に見えるべき立体視用画像として生成される。
【0172】
そして図19では、このような位置関係情報に基づき選択された第1視点Vi用ビューボリュームと、位置関係情報に基づき選択された第2視点Vj用ビューボリュームとの共通領域NFVBにおいて、情報表示物HDL、HDRが立体視表示される。例えば、視差強度が変化した場合にも、領域NFVB内に情報表示物HDL、HDRが立体視表示されるように立体視用画像を生成する。具体的には、例えば図4、図6の手法により、視差強度に基づき情報表示物の立体視表示位置を変化させて、立体視用画像を生成する。
【0173】
こうすることで、多眼式立体視や空間像方式立体視において視差強度を変化させた場合にも、プレーヤの視点位置に対応した最適な領域NFVBを設定して、この領域NFVB内で情報表示物の立体視表示を変化させることが可能になる。従って、多眼式立体視や空間像方式立体視等において最適な情報表示物の立体視表示が可能になる。
【0174】
次に本実施形態の両眼トラッキング手法の一例について詳細に説明する。本実施形態では、プレーヤの左眼、右眼の位置情報を取得することで、多眼式立体視や空間像方式立体視における視点を選択して、両眼トラッキングを実現する。例えば通常のヘッドトラッキングでは、頭の位置を検出して仮想カメラの位置、方向を設定するが、本実施形態では、プレーヤの左眼、右眼の位置を検出する。
【0175】
この場合に、プレーヤの左眼、右眼の位置の検出手法としては、種々の手法を想定できる。例えば、撮像部(カメラ)によりアイトラッキングを行って、プレーヤの左眼、右眼の位置を検出してもよい。
【0176】
或いは、図20(A)に示すような眼鏡200(広義には装着用部材)を用意し、この眼鏡200に、プレーヤの左眼に対応する左眼用マーカMKLと、右眼に対応する右眼用マーカMKRを設ける。即ち眼鏡200の左眼部分に対応する位置に左眼用マーカMKLを設け、右眼部分に対応する位置に右眼用マーカMKRを設ける。これらの左眼用、右眼用マーカMKL、MKRは、その形状が互いに異なっている。
【0177】
次に、図20(B)に示すように、プレーヤが装着する眼鏡200(認識用部材)を撮像する撮像部162からの撮像情報に基づいて、プレーヤの左眼、右眼の位置情報を取得する。即ち表示部190側からプレーヤを撮像する撮像部162を設ける。そして、この撮像部162によりプレーヤを撮像し、得られた撮像情報に対して画像認識処理を行って、図20(A)の左眼用、右眼用マーカMKL、MKRの形状を認識する。そして、形状認識の結果により、例えば表示部190側から見た場合のプレーヤの左眼、右眼の位置を検出する。
【0178】
次に、検出されたプレーヤの左眼、右眼の位置を、図19の位置関係情報として、第1視点Vi、第2視点Vjを選択し、第1視点Vi用ビューボリュームと、第2視点Vj用ビューボリュームの共通領域NFVBを設定する。そして、視差強度等が変化した場合にも、この共通領域NFVB内に、プレーヤに情報を提示するための情報表示物HDL、HDRが立体視表示されるように、立体視画像を生成する。
【0179】
このようにすれば、プレーヤの両眼トラッキングにより選択された最適な視点を用いて、多眼式立体視や空間像方式立体視における情報表示物の好適な立体視用画像を生成できるようになる。
【0180】
2.4 変形例
なお、以上の実施形態においては、情報表示物はスクリーンに平行な平面状であるとして説明を行ったが、本発明はこれに限定されるものではない。
【0181】
例えば図21に示すように、スクリーンSCに対して平行ではない状態に配置された情報表示物HD1、HD2であってもかまわないし、図22に示すように、曲面形状の情報表示物HD3、HD4であってもかまわない。これらの表示を行う場合には、ポリゴンモデルの情報表示物を、通常の3Dオブジェクトと同様の3D空間に配置した上で、描画を行うのが簡単である。視差強度を弱めたときに、各情報表示物の左端、右端の位置を、上記の方法と同様に計算し、それに応じて左右方向にシフトさせた上で、他の3Dオブジェクトと同様の表示を行うことで、フレームバイオレーション領域にかからず、なおかつ、なるべく端に寄せた情報表示物の表示が可能になる。
【0182】
また、例えば図23のように、情報表示物HD5、HD6の横幅が広い場合(字幕などの場合)に適用してもかまわない。この場合には、情報表示物HD5、HD6の左端と右端の両方の位置を、上記と同様に計算し、それらを適用して表示を行うことになる。但し、この場合、観者の位置から見た、画面に占める情報表示物の幅自体が、視差強度を弱めるほど広がって見えるように観察される。すなわち、視差強度を弱めると、情報表示物の縦横比が崩れ、横に伸びたように見える。そのため、縦横比のバランスが重要な情報表示物については、縦横比が保たれるように縦方向も拡大して表示することとしてもよい。もちろん、縦横比があまり重要でない場合には、縦方向を拡大せずに、そのままとしてもよい。
【0183】
2.5 詳細な処理例
次に本実施形態の詳細な処理例について図24、図25のフローチャートを用いて説明する。
【0184】
図24は、図4〜図16等で説明した本実施形態の手法の詳細な処理例を示すフローチャートである。
【0185】
まず、操作情報に基づき視差強度を設定する(ステップS1)。例えば図7〜図9に示すスライドスイッチ10のスライド量に基づいて視差強度を設定する。そして、設定された視差強度に基づき、左眼用仮想カメラ、右眼用仮想カメラを設定する(ステップS2)。例えば左眼用仮想カメラ、右眼用仮想カメラのカメラ間距離等を設定する。また、設定された視差強度に基づき、情報表示物の左眼用表示位置と右眼用表示位置を求める(ステップS3)。例えば図10(A)〜図16等で説明した手法により左眼用表示位置と右眼用表示位置を求める。
【0186】
次に、左眼用仮想カメラの視点でオブジェクトを描画して、左眼用画像を生成する(ステップS4)。即ち、キャラクタや背景などの主表示物のオブジェクトを、左眼用仮想カメラの視点で描画して、左眼用画像を生成する。そして、ステップS3で求められた左眼用画像の左眼用表示位置に、情報表示物(スプライト等)を描画する(ステップS5)。また、右眼用仮想カメラの視点でオブジェクトを描画して、右眼用画像を生成する(ステップS6)。即ち、キャラクタや背景などの主表示物のオブジェクトを、右眼用仮想カメラの視点で描画して、右眼用画像を生成する。そして、ステップS3で求められた右眼用画像の右眼用表示位置に、情報表示物(スプライト等)を描画する(ステップS7)。
【0187】
図25は、図19〜図20(B)で説明した本実施形態の手法の詳細な処理例を示すフローチャートである。
【0188】
まず、図20(A)、図20(B)で説明したように、撮像部からの撮像情報に基づいて、プレーヤの左眼、右眼の位置情報を取得する(ステップS11)。そして、取得された左眼、右眼の位置情報に基づいて、多眼式立体視や空間像方式立体視における第1視点、第2視点を選択する(ステップS12)。
【0189】
次に、図19で説明したように、第1視点用ビューボリュームと第2視点用ビューボリュームの共通領域内において、視差強度に対応する位置に情報表示物が立体視表示されるように立体視用画像を生成する(ステップS13)。
【0190】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(認識用部材等)と共に記載された用語(眼鏡等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、視差強度の設定処理、第1視点画像、第2視点画像の生成処理、情報表示物の奥行き位置の設定処理、情報表示物の立体視用画像の生成処理、視点の選択処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【0191】
HDL、HDL1、HDL2、HDR、HDR1、HDR2 情報表示物、
VCL 左眼用仮想カメラ、VCR 右眼用仮想カメラ、VCC センターカメラ、
VVL 左眼用ビューボリューム、VVR 右眼用ビューボリューム、
CNL、CNR、CFL、CFR、CLL、CLR、CRL、CRR クリッピング面、
LL1、LR1、LL2、LR2 境界面(第1の境界面)、
R1、R2、R3、R4 領域(第1の領域)、PS、PS1、PS2 視差強度、
FV1〜FV4 フレームバイオレーション領域、SC スクリーン、
MKL 左眼用マーカ、MKR 右眼用マーカ、
100 処理部、102 ゲーム演算部、104 オブジェクト空間設定部、
106 移動体演算部、108 仮想カメラ制御部、110 視差強度設定部、
112 情報取得部、114 視点選択部、120 画像生成部、
122 第1視点画像生成部、124 第2視点画像生成部、
130 音生成部、160 操作部、161 ゲームコントローラ、162 撮像部、
170 記憶部、172 オブジェクトデータ記憶部、174 撮像情報記憶部、
178 描画バッファ、180 情報記憶媒体、190 表示部、192 音出力部、
194 補助記憶装置、196 通信部、200 眼鏡(認識用部材)

【特許請求の範囲】
【請求項1】
立体視の視差強度の設定を行う視差強度設定部と、
立体視における第1視点から見える第1視点画像と第2視点から見える第2視点画像を立体視用画像として生成する画像生成部として、
コンピュータを機能させ、
前記画像生成部は、
前記視差強度が第1の視差強度に設定された場合には、スクリーンよりも奥側又は手前側の第1の奥行き位置に、観者に情報を提示するための情報表示物が立体視表示され、前記視差強度が前記第1視差強度よりも弱い第2の視差強度に設定された場合には、前記第1の奥行き位置よりも前記スクリーンに近い側の第2の奥行き位置に、前記情報表示物が立体視表示される前記立体視用画像を生成すると共に、
前記第1の視差強度が設定された際の前記情報表示物の左側及び右側の一方側の端部を第1の端部とし、前記第1視点と前記第2視点の間の第3視点と前記第1の端部とを結ぶ線分により規定される境界面を第1の境界面とし、第1視点用ビューボリューム又は第2視点用ビューボリュームの一方側のクリッピング面を第1のクリッピング面とし、前記第1の境界面と前記第1のクリッピング面の間の領域を第1の領域とした場合に、
前記画像生成部は、
前記第2の視差強度が設定された場合に、前記情報表示物の前記第1の端部が、前記第1の領域に立体視表示される前記立体視用画像を生成することを特徴とするプログラム。
【請求項2】
請求項1において、
前記画像生成部は、
前記視差強度がゼロに設定された場合には、前記第1の領域内において、前記スクリーンの奥行き位置に、前記情報表示物が立体視表示される前記立体視用画像を生成することを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記画像生成部は、
前記第2の視差強度に設定された場合には、前記第1の視差強度に設定された場合に比べて、前記情報表示物の表示位置が、表示部の画面の一方側の端辺に近づく前記立体視用画像を生成することを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記視差強度設定部は、
前記観者が操作する操作部からの操作情報に基づいて、前記視差強度を設定することを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記画像生成部は、
前記第1視点画像と前記第2視点画像とで、前記スクリーン上での前記情報表示物の表示位置を異ならせることで、前記立体視用画像を生成することを特徴とするプログラム。
【請求項6】
請求項1乃至5のいずれかにおいて、
前記情報表示物は、ゲーム状況情報、ゲームに登場するキャラクタの情報、ゲーム成績情報、ガイド情報、又は文字情報を前記観者に提示するための表示物であることを特徴とするプログラム。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記画像生成部は、
前記第1の視差強度に設定された場合と前記第2の視差強度に設定された場合とで、前記情報表示物の表示態様を変化させることを特徴とするプログラム。
【請求項8】
請求項1乃至7のいずれかにおいて、
前記第1視点、前記第2視点は、二眼式立体視における左眼側仮想カメラ、右眼側仮想カメラの視点であることを特徴とするプログラム。
【請求項9】
請求項1乃至7のいずれかにおいて、
前記第1視点、前記第2視点は、多眼式立体視における視点群のうちの2つの視点、又は空間像方式立体視における設定観察範囲内の任意の2視点であることを特徴とするプログラム。
【請求項10】
請求項9において、
表示部の画面と観者との位置関係情報を取得する情報取得部と、
取得された前記位置関係情報に基づいて、前記多眼式立体視又は前記空間像方式立体視における前記第1視点と前記第2視点を選択する視点選択部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項11】
表示部の画面と観者との位置関係情報を取得する情報取得部と、
取得された前記位置関係情報に基づいて、多眼式立体視又は空間像方式立体視における第1視点と第2視点を選択する視点選択部と、
立体視における前記第1視点から見える第1視点画像と前記第2視点から見える第2視点画像を立体視用画像として生成する画像生成部として、
コンピュータを機能させ、
前記画像生成部は、
前記位置関係情報に基づき選択された第1視点用ビューボリュームと、前記位置関係情報に基づき選択された第2視点用ビューボリュームとの共通領域に、観者に情報を提示するための情報表示物が立体視表示される前記立体視用画像を生成することを特徴とするプログラム。
【請求項12】
請求項10又は11において、
前記情報取得部は、
前記観者の左眼、右眼の位置情報を、前記位置関係情報として取得し、
前記視点選択部は、
前記観者の左眼、右眼の前記位置情報に基づいて、前記第1視点と前記第2視点を選択することを特徴とするプログラム。
【請求項13】
請求項12において、
前記観者が装着する認識用部材には、前記観者の左眼に対応する左眼用マーカと、前記観者の右眼に対応する右眼用マーカとが設けられ、
前記情報取得部は、
前記観者が装着する認識用部材を撮像する撮像部からの撮像情報に基づいて、前記観者の左眼、右眼の前記位置情報を取得することを特徴とするプログラム。
【請求項14】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至13のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項15】
立体視の視差強度の設定を行う視差強度設定部と、
立体視における第1視点から見える第1視点画像と第2視点から見える第2視点画像を立体視用画像として生成する画像生成部と、
を含み、
前記画像生成部は、
前記視差強度が第1の視差強度に設定された場合には、スクリーンよりも奥側又は手前側の第1の奥行き位置に、観者に情報を提示するための情報表示物が立体視表示され、前記視差強度が前記第1視差強度よりも弱い第2の視差強度に設定された場合には、前記第1の奥行き位置よりも前記スクリーンに近い側の第2の奥行き位置に、前記情報表示物が立体視表示される前記立体視用画像を生成すると共に、
前記第1の視差強度が設定された際の前記情報表示物の左側及び右側の一方側の端部を第1の端部とし、前記第1視点と前記第2視点の間の第3視点と前記第1の端部とを結ぶ線分により規定される境界面を第1の境界面とし、第1視点用ビューボリューム又は第2視点用ビューボリュームの一方側のクリッピング面を第1のクリッピング面とし、前記第1の境界面と前記第1のクリッピング面の間の領域を第1の領域とした場合に、
前記画像生成部は、
前記第2の視差強度が設定された場合に、前記情報表示物の前記第1の端部が、前記第1の領域に立体視表示される前記立体視用画像を生成することを特徴とする画像生成システム。
【請求項16】
表示部の画面と観者との位置関係情報を取得する情報取得部と、
取得された前記位置関係情報に基づいて、多眼式立体視又は空間像方式立体視における第1視点と第2視点を選択する視点選択部と、
立体視における前記第1視点から見える第1視点画像と前記第2視点から見える第2視点画像を立体視用画像として生成する画像生成部と、
を含み、
前記画像生成部は、
前記位置関係情報に基づき選択された第1視点用ビューボリュームと、前記位置関係情報に基づき選択された第2視点用ビューボリュームとの共通領域に、観者に情報を提示するための情報表示物が立体視表示される前記立体視用画像を生成することを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2012−253690(P2012−253690A)
【公開日】平成24年12月20日(2012.12.20)
【国際特許分類】
【出願番号】特願2011−126696(P2011−126696)
【出願日】平成23年6月6日(2011.6.6)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】