JP2012059009A - プログラム、情報記憶媒体及び画像生成システム - Google Patents
プログラム、情報記憶媒体及び画像生成システム Download PDFInfo
- Publication number
- JP2012059009A JP2012059009A JP2010201465A JP2010201465A JP2012059009A JP 2012059009 A JP2012059009 A JP 2012059009A JP 2010201465 A JP2010201465 A JP 2010201465A JP 2010201465 A JP2010201465 A JP 2010201465A JP 2012059009 A JP2012059009 A JP 2012059009A
- Authority
- JP
- Japan
- Prior art keywords
- image
- distant view
- distant
- eye
- view
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【課題】遠景オブジェクトについての好適な立体視用画像を生成できるプログラム、情報記憶媒体、画像生成システム等の提供。
【解決手段】画像生成システムは、遠景オブジェクトの描画処理を行って遠景画像を生成する遠景画像生成部と、遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、立体視用画像を生成する画像生成部を含む。遠景画像生成部は、遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、オブジェクト空間内において遠景用仮想カメラから見える前記遠景画像を生成する。
【選択図】図5
【解決手段】画像生成システムは、遠景オブジェクトの描画処理を行って遠景画像を生成する遠景画像生成部と、遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、立体視用画像を生成する画像生成部を含む。遠景画像生成部は、遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、オブジェクト空間内において遠景用仮想カメラから見える前記遠景画像を生成する。
【選択図】図5
Description
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
近年、映画やゲーム等の分野において、より臨場感が溢れる画像を生成するシステムとして、立体視画像の生成システムが脚光を浴びている。例えばこの立体視画像生成システムの1つである2眼式の立体視画像生成システムでは、左眼用画像と右眼用画像を生成する。そして例えばプレーヤが立体視用の眼鏡を装着して、左眼は左眼用画像のみを見て、右眼は右眼用画像のみを見るようにすることで、立体視を実現する。このような立体視を実現する画像生成システムの従来技術としては、例えば特許文献1に開示される技術がある。また立体視方式としては、眼鏡式以外にも裸眼式がある。例えば、パララックスバリアによって、画素ごとに、「左眼には見えるが右眼には見えない」、「右眼には見えるが左眼には見えない」という状態を作り出すことで、裸眼の立体視システムを実現できる。また、レンチキュラ等の光学素子による光の屈折等を利用することで、画素ごとに光の方向を制御し、上記と同様の状態を作り出すことでも、裸眼の立体視システムを実現できる。
このような立体視用画像をCG(Computer Graphics)で生成する場合には、左眼用仮想カメラに対応する左眼用ビューボリューム(左眼用視錐台)を視界に設定して、描画処理を行い、左眼用画像を生成する。また右眼用仮想カメラに対応する右眼用ビューボリューム(右眼用視錐台)を視界に設定して、描画処理を行い、右眼用画像を生成する。
しかしながら、登場する全てのオブジェクトについて、左眼用ビューボリュームでの左眼用画像の描画と、右眼用ビューボリュームでの右眼用画像の描画の両方を行うと、処理負荷が大きくなってしまうおそれがある。
また、両眼視差を利用した立体視では、左眼用画像と右眼用画像の視差により奥行き感を認識させており、左眼用画像と右眼用画像の同一オブジェクト画像間の描画位置のズレは、表示画面からの距離が遠くなるにつれて大きくなる。従って、特に、表示画面から遠い遠景オブジェクトでは、同一オブジェクト画像間の描画位置のズレが大きくなりすぎてしまい、目の疲労の原因になったり、ユーザによる立体視の融合可能範囲を超えてしまうなどの問題がある。
本発明の幾つかの態様によれば、遠景オブジェクトについての好適な立体視用画像を生成できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
本発明の一態様は、遠景オブジェクトの描画処理を行って遠景画像を生成する遠景画像生成部と、前記遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、立体視用画像を生成する画像生成部とを含み、前記遠景画像生成部は、遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、オブジェクト空間内において遠景用仮想カメラから見える前記遠景画像を生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明の一態様によれば、遠景オブジェクトの描画処理を行うことで遠景画像が生成され、生成された遠景画像が遠景マッピング用オブジェクトにマッピングされる。そして、遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理が行われることで、立体視用画像が生成される。また遠景画像は、遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで生成される。このようにすれば、遠景境界面よりも奥側に位置する遠景オブジェクトについては、視差による描画位置のズレを、例えば遠景境界面でのズレ程度に制限することが可能になり、視差による描画位置のズレを制限できるようになる。従って、遠景オブジェクトの描画位置のズレが大きすぎることによる悪影響が低減された好適な立体視用画像を生成することが可能になる。
また本発明の一態様では、前記画像生成部は、前記遠景画像がマッピングされ前記遠景境界面の位置に配置された前記遠景マッピング用オブジェクトを描画すると共に、前記遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、前記立体視用画像を生成してもよい。
このようにすれば、遠景画像がマッピングされ遠景境界面の位置に配置された遠景マッピング用オブジェクトと、遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、立体視用画像が生成されるようになる。従って、遠景境界面を境界として遠景オブジェクトと近景オブジェクトの描画処理を行うことで、視差による遠景オブジェクトの描画位置のズレが制限された好適な立体視用画像を生成できるようになる。
また本発明の一態様では、描画対象となるオブジェクトとして、精密度が低い低精密度オブジェクトと、前記低精密度オブジェクトよりも精密度が高い高精密度オブジェクトとが用意され、前記遠景画像生成部は、前記低精密度オブジェクトと前記高精密度オブジェクトのうち前記低精密度オブジェクトを、遠景オブジェクトとして選択して描画することで前記遠景画像を生成し、前記画像生成部は、前記低精密度オブジェクトと前記高精密度オブジェクトのうち前記高精密度オブジェクトを、近景オブジェクトとして選択して描画することで前記立体視用画像を生成してもよい。
このようにすれば、遠景画像と近景画像の描画処理をLODの処理と連動して行うことが可能になり、処理の効率化等を図れる。
また本発明の一態様では、前記遠景画像生成部は、遠景オブジェクトを描画することで得られた画像に対してぼかし処理を行った画像を、前記遠景画像として生成してもよい。
このようにすれば、遠景画像と近景画像の描画処理を被写界深度エフェクト処理と連動して行うことが可能になり、処理の効率化等を図れる。
また本発明の一態様では、前記遠景境界面として、第1の遠景境界面と、前記第1の遠景境界面よりも手前側の境界面である第2の遠景境界面が設定され、前記遠景画像生成部は、前記第1の遠景境界面の情報と前記第2の遠景境界面の情報を用いて前記遠景画像を生成してもよい。
このように、複数の遠景境界面を設定することで、遠景マッピング用オブジェクトに遠景オブジェクトを描画して遠景画像を生成することによる画像の歪みの問題を低減できるようになる。
また本発明の一態様では、前記画像生成部は、前記遠景境界面から手前側に向かうにつれて、遠景マッピング用オブジェクト用のα値である遠景用α値が小さくなり、近景オブジェクト用のα値である近景用α値が大きくなるα合成処理で、前記遠景マッピング用オブジェクトと前記近景オブジェクトを描画することで、前記立体視用画像を生成してもよい。
このように遠景マッピング用オブジェクトとその手前側の近景オブジェクトをα合成処理で描画することで、遠景画像での画像の歪みを低減することが可能になる。
また本発明の一態様では、前記画像生成部は、前記遠景画像がマッピングされた前記遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、オブジェクト空間内において左眼用仮想カメラから見える左眼用画像を、前記立体視用画像として生成する左眼用画像生成部と、前記遠景マッピング用オブジェクトと近景オブジェクトの描画処理を行って、前記オブジェクト空間内において右眼用仮想カメラから見える右眼用画像を、前記立体視用画像として生成する右眼用画像生成部とを含んでもよい(左眼用画像生成部、右眼用画像生成部としてコンピュータを機能させてもよい)。
このようにすれば、立体視用画像として左眼用画像と右眼用画像を生成できるようになる。
また本発明の一態様では、前記遠景境界面として、第1の遠景境界面と、前記第1の遠景境界面よりも手前側の境界面である第2の遠景境界面が設定され、前記遠景画像生成部は、前記第1の遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、前記遠景用仮想カメラから見える第1の遠景画像を生成し、前記第1の遠景画像がマッピングされた第1の遠景マッピング用オブジェクトを描画すると共に、前記第1の遠景境界面と前記第2の遠景境界面の間に位置する遠景オブジェクトを描画することで、左眼用の遠景用仮想カメラから見える左眼用遠景画像を生成し、前記第1の遠景画像がマッピングされた前記第1の遠景マッピング用オブジェクトを描画すると共に、前記第1の遠景境界面と前記第2の遠景境界面の間に位置する遠景オブジェクトを描画することで、右眼用の遠景用仮想カメラから見える右眼用遠景画像を生成し、前記左眼用画像生成部は、前記左眼用遠景画像がマッピングされた第2の遠景マッピング用オブジェクトを描画すると共に、前記第2の遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、前記左眼用仮想カメラから見える前記左眼用画像を生成し、前記右眼用画像生成部は、前記右眼用遠景画像がマッピングされた前記第2の遠景マッピング用オブジェクトを描画すると共に、前記第2の遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、前記右眼用仮想カメラから見える前記右眼用画像を生成してもよい。
このようにすれば、第1の遠景画像がマッピングされた第1の遠景マッピング用オブジェクトと遠景オブジェクトを描画することで、左眼用遠景画像、右眼用遠景画像を生成できる。そして左眼用遠景画像がマッピングされた第2の遠景マッピング用オブジェクトと近景オブジェクトを描画することで、左眼用画像を生成し、右眼用遠景画像がマッピングされた第2の遠景マッピング用オブジェクトと近景オブジェクトを描画することで、右眼用画像を生成できるようになる。
また本発明の一態様では、仮想カメラの制御を行う仮想カメラ制御部を含み(仮想カメラ制御部としてコンピュータを機能させ)、スクリーンの左端と前記右眼用仮想カメラの位置を結ぶ線と前記スクリーンの右端と前記左眼用仮想カメラの位置を結ぶ線との交点を第1の交点とし、前記左眼用仮想カメラと前記右眼用仮想カメラの中点をカメラセンター点とした場合に、前記仮想カメラ制御部は、前記遠景用仮想カメラの位置を、前記第1の交点と前記カメラセンター点の間の範囲の位置に設定してもよい。
このようにすれば、より適正で遠景についての歪みの少ない左眼用画像、右眼用画像を生成できるようになる。
また本発明の一態様では、仮想カメラの制御を行う仮想カメラ制御部を含み(仮想カメラ制御部としてコンピュータを機能させ)、前記左眼用仮想カメラと前記右眼用仮想カメラの中点をカメラセンター点とした場合に、前記仮想カメラ制御部は、前記遠景用仮想カメラの位置を、前記カメラセンター点よりも手前側の範囲の位置に設定してもよい。
このようにすれば、描画対象となる遠景オブジェクトの個数を減らすことが可能になり、描画処理負荷を軽減できる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図1に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
図1に本実施形態の画像生成システム(ゲームシステム)のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図1に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、ゲーム演算部102、オブジェクト空間設定部104、移動体演算部106、仮想カメラ制御部108、画像生成部120、音生成部130を含む。
ゲーム演算部102はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
オブジェクト空間設定部104は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ(人、動物、ロボット、車、船舶、飛行機等)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部172には、オブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部104は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
移動体演算部106は、キャラクタ等の移動体を移動させるための演算を行う。また移動体(移動体オブジェクト)を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部108は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば仮想カメラによりキャラクタを後方から撮影する場合には、キャラクタの位置又は方向の変化に仮想カメラが追従するように、仮想カメラの位置(視点位置)や方向(視線方向)を制御する。この場合には、移動体演算部106で得られたキャラクタの位置、方向又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は方向を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、描画処理は頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
そして本実施形態では、画像生成部120が、遠景画像生成部122、左眼用画像生成部124、右眼用画像生成部126を含む。
遠景画像生成部122は、遠景オブジェクト(遠景にある物体を表すオブジェクト)の描画処理を行って遠景画像を生成する。具体的には遠景画像生成部122は、例えば遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、オブジェクト空間内において遠景用仮想カメラから見える遠景画像を生成する。例えば遠景用仮想カメラの視点で、遠景境界面の位置のスクリーンに遠景オブジェクトを透視投影(透視投影変換)して描画することで、遠景用仮想カメラから見える遠景画像が生成される。生成された遠景画像は遠景画像記憶部178に記憶されて保存される。
そして画像生成部120は、遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、立体視用画像を生成する。例えば遠景画像がマッピングされ遠景境界面の位置に配置された遠景マッピング用オブジェクトを描画すると共に、遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、立体視用画像を生成する。
ここで画像生成部120は、左眼用画像生成部(広義には第1視点画像生成部)124と右眼用画像生成部(広義には第2視点画像生成部)126を含む。左眼用画像生成部124は、オブジェクト空間内において左眼用仮想カメラの視点(広義には第1の視点)から見える左眼用画像(広義には第1視点画像)を生成する。右眼用画像生成部126は、オブジェクト空間内において右眼用仮想カメラの視点(広義には第2の視点)から見える画像(広義には第2視点画像)を生成する。
具体的には左眼用画像生成部124は、遠景画像がマッピングされた遠景マッピング用オブジェクト(狭義には遠景マッピング用ポリゴン)と、近景オブジェクト(遠景にある物体を表すオブジェクト)の描画処理を行って、オブジェクト空間内において左眼用仮想カメラから見える左眼用画像を、立体視用画像として生成する。更に具体的には、左眼用画像生成部124は、例えば遠景画像(遠景画像のテクスチャ)がマッピング(テクスチャマッピング)され遠景境界面の位置に配置された遠景マッピング用オブジェクトを描画すると共に、遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、左眼用仮想カメラから見える左眼用画像を生成する。
一方、右眼用画像生成部126は、遠景マッピング用オブジェクトと近景オブジェクトの描画処理を行って、オブジェクト空間内において右眼用仮想カメラから見える右眼用画像を、立体視用画像として生成する。具体的には、右眼用画像生成部126は、例えば遠景画像がマッピングされ遠景境界面の位置に配置された遠景マッピング用オブジェクトを描画すると共に、遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、右眼用仮想カメラから見える右眼用画像を生成する。
ここで、遠景オブジェクトは、仮想カメラ(左眼用仮想カメラ、右眼用仮想カメラ)から見て近景オブジェクトよりも奥行き方向において遠い位置に配置されるオブジェクトである。例えば遠景境界面よりも奥側に配置されるオブジェクトを、遠景オブジェクトとし、遠景境界面よりも手前側に配置されるオブジェクトを、近景オブジェクトとすることができる。そして遠景画像は、この遠景オブジェクトを例えば遠景用仮想カメラの視点で描画することで得られる画像である。また遠景境界面は、遠景と近景を区分けするための境界であり、例えば通常の描画用のスクリーンと平行な面になる。
また遠景マッピング用オブジェクトは、遠景画像のマッピング対象となるオブジェクトであり、例えば平面形状のポリゴン(仮想ポリゴン、壁)などである。なお遠景マッピング用オブジェクトは、平面形状のポリゴン以外の形状のオブジェクトであってもよい。
そして、左眼用仮想カメラの視点で、遠景マッピング用オブジェクトと近景オブジェクトの描画処理を行うことで左眼用画像が生成される。即ち、左眼用ビューボリュームを用いて遠景マッピング用オブジェクトと近景オブジェクトを描画することで、左眼用画像が生成される。
一方、右眼用仮想カメラの視点で、遠景マッピング用オブジェクトと近景オブジェクトの描画処理を行うことで右眼用画像が生成される。即ち、右眼用ビューボリュームを用いて遠景マッピング用オブジェクトと近景オブジェクトを描画することで、右眼用画像が生成される。
また本実施形態では、描画対象となるオブジェクトとして、精密度が低い低精密度オブジェクトと、低精密度オブジェクトよりも精密度が高い高精密度オブジェクトとが用意される。高精密度オブジェクトと低精密度オブジェクトは、同じモデル(キャラクタ、飛行機、ロボット等)を表すオブジェクトであり、高精密度オブジェクトは低精密度オブジェクトよりも例えばポリゴン数が多いオブジェクトになっている。これらの高精密度オブジェクト、低精密度オブジェクトのデータ(ポリゴンデータ等)はオブジェクトデータ記憶部172に記憶できる。
そして遠景画像生成部122は、低精密度オブジェクトと高精密度オブジェクトのうち低精密度オブジェクトを、遠景オブジェクトとして選択して描画することで遠景画像を生成する。即ち遠景画像の生成時に各モデルを描画する際に、当該モデルを表すオブジェクトとして低精密度オブジェクトを選択して描画する。
一方、画像生成部120は、低精密度オブジェクトと高精密度オブジェクトのうち高精密度オブジェクトを、近景オブジェクトとして選択して描画すること立体視用画像を生成する。
具体的には、左眼用画像生成部124は、低精密度オブジェクトと高精密度オブジェクトのうち高精密度オブジェクトを、近景オブジェクトとして選択して描画することで左眼用画像を生成する。同様に右眼用画像生成部126も、低精密度オブジェクトと高精密度オブジェクトのうち高精密度オブジェクトを、近景オブジェクトとして選択して描画することで右眼用画像を生成する。即ち近景画像の生成時に各モデルを描画する際に、当該モデルを表すオブジェクトとして高精密度オブジェクトを選択して描画する。
このようにすることで、本実施形態による遠景画像と近景画像の描画処理を、いわゆるLOD(Level Of Detail)の処理と連動して同時に行うことが可能になり、処理の効率化等を図れる。
また本実施形態では遠景画像生成部122は、遠景オブジェクトを描画することで得られた画像に対してぼかし処理を行った画像を、遠景画像として生成してもよい。例えば遠景オブジェクトを描画することで得られた画像をテクスチャとして、当該テクスチャよりも大きなサイズの遠景マッピング用ポリゴンにマッピングすることで、ぼかし処理を実現する。
このようにすることで、本実施形態による遠景画像と近景画像の描画処理を、被写界深度エフェクト処理と連動して同時に行うことが可能になり、処理の効率化等を図れる。
また本実施形態では、複数の遠景境界面を設定してもよい。例えば遠景境界面として、第1の遠景境界面と、第1の遠景境界面よりも手前側の境界面である第2の遠景境界面を設定する。そして遠景画像生成部122は、第1の遠景境界面の情報(位置等)と第2の遠景境界面の情報(位置等)を用いて遠景画像を生成する。
具体的には遠景画像生成部122は、第1の遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、遠景用仮想カメラから見える第1の遠景画像を生成する。
そして遠景画像生成部122は、生成された第1の遠景画像(第1の遠景テクスチャ)がマッピング(テクスチャマッピング)された第1の遠景マッピング用オブジェクト(第1の遠景マッピング用ポリゴン)を描画すると共に、第1の遠景境界面と第2の遠景境界面の間に位置する遠景オブジェクトを描画することで、左眼用の遠景用仮想カメラから見える左眼用遠景画像を生成する。例えば左眼用の遠景用仮想カメラの視点で、第1の遠景境界面の位置のスクリーンに対して、第1の遠景境界面と第2の遠景境界面の間に位置する遠景オブジェクトを透視投影して描画することで、左眼用の遠景用仮想カメラから見える左眼用遠景画像を生成する。
また遠景画像生成部122は、第1の遠景画像がマッピングされた第1の遠景マッピング用オブジェクトを描画すると共に、第1の遠景境界面と第2の遠景境界面の間に位置する遠景オブジェクトを描画することで、右眼用の遠景用仮想カメラから見える右眼用遠景画像を生成する。例えば右眼用の遠景用仮想カメラの視点で、第1の遠景境界面の位置のスクリーンに対して、第1の遠景境界面と第2の遠景境界面の間に位置する遠景オブジェクトを透視投影して描画することで、右眼用の遠景用仮想カメラから見える右眼用遠景画像を生成する。
そして左眼用画像生成部124は、生成された左眼用遠景画像(左眼用遠景テクスチャ)がマッピングされた第2の遠景マッピング用オブジェクト(第2の遠景マッピング用ポリゴン)を描画すると共に、第2の遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、左眼用仮想カメラから見える左眼用画像を生成する。
また右眼用画像生成部126は、生成された右眼用遠景画像がマッピングされた第2の遠景マッピング用オブジェクトを描画すると共に、第2の遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、右眼用仮想カメラから見える右眼用画像を生成する。
このように、何段階かに分けて複数の遠景境界面(壁)を設定することで、遠景マッピング用オブジェクトに遠景オブジェクトを描画して遠景画像を生成することによる画像(遠近感)の歪みを低減することが可能になる。
また画像生成部120は、遠景境界面から手前側に向かうにつれて、遠景マッピング用オブジェクト用のα値である遠景用α値が小さくなり、近景オブジェクト用のα値である近景用α値が大きくなるα合成処理で、遠景マッピング用オブジェクトと近景オブジェクトを描画することで、立体視用画像を生成してもよい。
具体的には、左眼用画像生成部124は、遠景境界面から手前側に向かうにつれて、遠景マッピング用オブジェクト用のα値である遠景用α値が小さくなり、近景オブジェクト用のα値である近景用α値が大きくなるα合成処理で、遠景マッピング用オブジェクトと近景オブジェクトを描画することで、左眼用仮想カメラから見える左眼用画像を生成する。また右眼用画像生成部126は、遠景境界面から手前側に向かうにつれて、遠景用α値が小さくなり、近景用α値が大きくなるα合成処理で、遠景マッピング用オブジェクトと近景オブジェクトを描画することで、右眼用仮想カメラから見える右眼用画像を生成する。即ち、遠景境界面から手前側(仮想カメラ側)に向かうにつれて、遠景マッピング用オブジェクトが不透明から徐々に透明になり、近景オブジェクトが透明から徐々に不透明になるように、左眼用画像、右眼用画像を生成する。
このように遠景マッピング用オブジェクトとその手前側の近景オブジェクトをα合成処理でブレンドすることで、遠景画像での画像の歪みを低減することが可能になる。
また、例えばスクリーン(オブジェクトを透視投影するスクリーン)の左端(観察者から見て左端)と右眼用仮想カメラの位置を結ぶ線と、スクリーンの右端(観察者から見て右端)と左眼用仮想カメラの位置を結ぶ線との交点を第1の交点とし、左眼用仮想カメラと右眼用仮想カメラの中点をカメラセンター点とする。この場合に仮想カメラ制御部108は、遠景用仮想カメラの位置(画面からの位置)を、第1の交点とカメラセンター点の間の範囲の位置に設定してもよい。
このようにすれば、遠景オブジェクトを描画することで遠景画像を生成する手法を採用した場合にも、より適正で遠景についての歪みの少ない左眼用画像、右眼用画像を生成できるようになる。また、左眼用画像で使用される遠景画像の範囲、右眼用画像で使用される遠景画像の範囲を、1つの遠景画像に含めることができるため、都合が良い。遠景用仮想カメラの位置を、第1の交点とすれば、左眼用仮想カメラから見える遠景と、右眼用仮想カメラから見える遠景画像の、両方の範囲を漏れなく含むことができる。ただし、範囲の左右端部分の情報は、重要でない場合もあるし、また、その部分には物体を配置しない場合もある。そういった場合には、遠景用仮想カメラの位置を、カメラセンター点に近づけることで、描画範囲が狭まり、より高速な描画ができる。
或いは、更に同じ理由から、仮想カメラ制御部108は、遠景用仮想カメラの位置(画面からの位置)を、カメラセンター点よりも手前側の範囲の位置に設定してもよい。
このようにすれば、描画対象となる遠景オブジェクトの個数を減らすことが可能になり、描画処理負荷を軽減できるようになる。
なお仮想カメラ制御部108は、例えば左眼用、右眼用仮想カメラや左眼用、右眼用の遠景用仮想カメラを設定するための基準となる基準仮想カメラの制御を行う。そして、得られた基準仮想カメラの位置情報、方向情報と、設定されたカメラ間距離の情報に基づいて、左眼用、右眼用仮想カメラ等の位置情報(視点位置)、方向情報(視線方向)を求める。なお仮想カメラ制御部108が、左眼用、右眼用仮想カメラ等を直接制御するようにしてもよい。
また立体方式としては、2眼分離眼鏡方式や、パララックスバリアやレンチキュラや、その他、光線の方向を制御することができる光学素子を用いた裸眼方式などの様々な方式を想定できる。2眼分離眼鏡方式としては、例えば偏光眼鏡方式、継時分離方式、色分離方式などがある。偏光眼鏡方式では、例えば表示部190の奇数ラインと偶数ラインに左眼用画像と右眼用画像を交互に表示し、これを偏光眼鏡(例えば左眼に水平方向の偏光フィルタ、右眼に垂直方向の偏光フィルタを付けた眼鏡)で見ることで立体視を実現する。或いは左眼用画像と右眼用画像を特殊な偏光フィルタを有するプロジェクタで投影し、投影画像を偏光眼鏡で見ることで立体視を実現してもよい。また継時分離方式(ページ・フリップ方式)では、表示部190に左眼用画像、右眼用画像を所定期間毎(例えば1/120秒毎、1/60秒毎)に交互に表示する。そして、この表示の切り替えに連動して液晶シャッター付きの眼鏡の左眼、右眼の液晶シャッターを交互に開閉することで、立体視を実現する。色分離方式では、例えばアナグリフ画像を生成し、赤青眼鏡等で見ることで、立体視を実現する。
また左眼用画像と右眼用画像から立体用視画像を生成する機能は、画像生成部120に持たせてもよいし、表示部190(テレビ等)に持たせてもよい。例えば画像生成部120が、サイドバイサイド方式の画像信号を出力する。すると表示部190が、このサイドバイサイドの画像信号に基づいて、奇数ラインと偶数ラインに左眼用画像と右眼用画像が交互に割り当てられるフィールドシーケンシャル方式の画像を表示する。或いは、左眼用画像と右眼用画像が所定期間毎に交互に切り替えられるフレームシーケンシャル方式の画像を表示する。或いは画像生成部120の方が、フィールドシーケンシャル方式やフレームシーケンシャル方式の画像を生成して、表示部190に出力するようにしてもよい。
2.本実施形態の手法
次に本実施形態の手法について具体的に説明する。
次に本実施形態の手法について具体的に説明する。
2.1 遠景マッピング用オブジェクトを用いた左眼用、右眼用画像の生成
まず立体視におけるビューボリュームの設定について説明する。図2に示すように、立体視用画像を生成するためには、所与のカメラ間距離だけ離れた位置に設定される左眼用仮想カメラVCLと右眼用仮想カメラVCRを用いる。
まず立体視におけるビューボリュームの設定について説明する。図2に示すように、立体視用画像を生成するためには、所与のカメラ間距離だけ離れた位置に設定される左眼用仮想カメラVCLと右眼用仮想カメラVCRを用いる。
そして左眼用仮想カメラVCLに対応して左眼用ビューボリュームVVL(左眼用視錐台)が設定され、右眼用仮想カメラVCRに対応して右眼用ビューボリュームVVR(右眼用視錐台)が設定される。具体的には左眼用、右眼用仮想カメラVCL、VCRの位置や方向に基づいて、左眼用、右眼用ビューボリュームVVL、VVRの位置や方向が設定される。
この場合に左眼用仮想カメラVCLから見える画像である左眼用画像は、左眼用ビューボリュームVVL内に存在するオブジェクトをスクリーンSCに透視投影して描画することで生成される。同様に右眼用仮想カメラVCRから見える画像である右眼用画像は、右眼用ビューボリュームVVR内に存在するオブジェクトをスクリーンSCに透視投影して描画することで生成される。
この場合、スクリーンSCに透視投影されない位置にあるオブジェクトは、描画対象にはならないため、これらのオブジェクトに対して透視投影変換処理を行うと、処理の無駄となる。このため、各左眼用、右眼用仮想カメラにおいてスクリーンSCに透視投影されない位置にあるオブジェクトがビューボリューム内に入らないように、図2に示すように左眼用、右眼用ビューボリュームVVL、VVRが設定される。なお図2において、CNL、CFLは、各々、左眼用ビューボリュームVVLの前方クリッピング面、後方クリッピング面であり、CNR、CFRは、各々、右眼用ビューボリュームVVRの前方クリッピング面、後方クリッピング面である。
さて、以上のように左眼用画像、右眼用画像を生成して立体視を実現する手法では、左眼用画像と右眼用画像の視差により奥行き感を認識させている。このため、左眼用画像、右眼用画像での同一オブジェクト画像間の描画位置(表示位置)のズレは、表示画面からの距離が遠くなるにつれて大きくなる。
例えば図3において、スクリーンSC上の点aに位置するオブジェクトには、視差による描画位置のズレはない。これに対して、点b、点cに位置するオブジェクトには、左眼用画像、右眼用画像の視差による描画位置のズレが生じる。
具体的には、点bに位置するオブジェクトは、左眼用画像では点bLの位置に描画され、右眼用画像では点bRの位置に描画される。このため、点bL、bR間の距離だけ描画位置にズレが生じる。
また、点bよりも奥側の点cに位置するオブジェクトは、左眼用画像では点cLの位置に描画され、右眼用画像では点cRの位置に描画される。このため、点cL、cR間の距離だけ描画位置にズレが生じる。
そして、例えば点bL、bR間の距離程度のズレならば、目の疲労や立体視の融合可能範囲の問題はそれほど生じない。
しかしながら、点cL、cR間の距離のズレが生じるような遠景オブジェクトでは、左眼用画像、右眼用画像での同一オブジェクト画像間の描画位置のズレが大きくなりすぎてしまう。このため、目の疲労の原因になったり、立体視の融合可能範囲を超えてしまい立体視が困難になるなどの問題が生じる。目の疲労や立体視の融合可能範囲の問題は、このズレ量に依存する。そこで、本実施形態の説明では、点bL、bR間の距離程度のズレならば、目の疲労や立体視の融合可能範囲の問題はそれほど生じず、点cL、cR間の距離のズレであれば、立体視の融合可能範囲を超えてしまい立体視が困難になるなどの問題が生じる、とする。
そして本実施形態では、ズレが大きくなる奥側部分を、両眼共用となる中央に近い視点で、左眼、右眼の両範囲を含む範囲を事前にレンダリングし、事前にレンダリングしたものを、奥側に壁のような形で配置して、左眼用画像、右眼用画像を生成して、ズレの範囲を制限する手法を採用している。
即ち図4に示すように、視点から遠い遠景オブジェクトOBF1、OBF2の描画処理を行って遠景画像を生成する。具体的には、図4に示すように、スクリーンSCよりも遠い位置に遠景境界面BDSを設定する。そして遠景境界面BDSよりも奥側に位置する遠景オブジェクトOBF1、OBF2を描画する。これらの遠景オブジェクトOBF1、OBF2は、遠景境界面BDSよりもその奥行き値(Z値)が大きな値になるオブジェクトである。これらの遠景オブジェクトOBF1、OBF2を描画することで、オブジェクト空間内において遠景用仮想カメラVCCから見える遠景画像を生成する。
具体的には、例えば遠景境界面BDSの位置(奥行き値)に遠景用スクリーンを設定する。そして、この遠景用スクリーンに遠景オブジェクトOBF1、OBF2を透視投影して描画することで、遠景用仮想カメラVCCの視点での遠景画像を生成する。このようにすれば、遠景オブジェクトOBF1、OBF2が、遠景境界面BDSの奥行き値の位置に仮想的に配置されたような遠景画像が生成されるようになる。
次に図5に示すように、図4で生成された遠景画像を遠景マッピング用ポリゴンPLF(広義には遠景マッピング用オブジェクト)にマッピングする。そしてこの遠景マッピング用ポリゴンPLFと、遠景境界面BDSよりも手前側に位置する近景オブジェクトOBN1、OBN2の描画処理を行って、オブジェクト空間内において左眼用仮想カメラVCLから見える左眼用画像を生成する。同様に、遠景画像がマッピングされた遠景マッピング用ポリゴンPLFと、近景オブジェクトOBN1、OBN2の描画処理を行って、オブジェクト空間内において右眼用仮想カメラVCRから見える右眼用画像を生成する。例えば、遠景マッピング用ポリゴンPLFや近景オブジェクトOBN1、OBN2を、近景用のスクリーンSCに透視投影して描画することで、左眼用仮想カメラVCLの視点(VCLのカメラ座標系)での左眼用画像や、右眼用仮想カメラVCRの視点(VCRのカメラ座標系)での右眼用画像を生成する。
なお、遠景マッピング用ポリゴンPLF(壁ポリゴン)は、遠景境界面BDSに対応する位置に配置され、例えば遠景境界面BDSと同じ奥行き値の位置に配置される。
また図4の遠景用仮想カメラVCCの配置手法としては種々の手法を想定できる。例えば図6において、スクリーンSC(基準スクリーン)の左端SLEと右眼用仮想カメラVCRの位置を結ぶ線と、スクリーンSCの右端SREと左眼用仮想カメラVCLの位置を結ぶ線との交点を第1の交点CRとする。また左眼用仮想カメラVCLと右眼用仮想カメラVCRの中点をカメラセンター点PCとする。
この場合に、遠景用仮想カメラVCCの位置)が、第1の交点CRとカメラセンター点PCの間の範囲RZ1内の位置になるように、遠景用仮想カメラVCCを配置設定する。なお、左眼用仮想カメラVCLのX座標をXCLとし、右眼用仮想カメラVCRのXCRとした場合には、遠景用仮想カメラVCCのX座標XCCは、例えばXCC=(XCL+XCR)/2に設定できる。
例えば遠景用仮想カメラVCCが第1の交点CRよりも手前側に配置されると、図6のA1、A2に示すように、遠景用仮想カメラVCCの画角範囲に入らなくなる領域が発生してしまう。この結果、A1、A2の領域にある遠景オブジェクトが遠景画像として描画されなくなってしまう。
これに対して、遠景用仮想カメラVCCが第1の交点CRに配置されると、A1、A2示すような領域は発生しなくなるが、遠景境界面BDSでの画像(遠近感)の歪みが大きくなるおそれがある。
従って、遠景用仮想カメラVCCは、A1、A2に示す領域の発生と遠景境界面BDSでの画像の歪みの発生を考慮した調整を行いながら、範囲RZ1内に配置設定すればよい。
一方、状況によっては、遠景用仮想カメラVCCの位置が、カメラセンター点PCよりも手前側(紙面に向かって下側)の範囲RZ2内の位置になるように、遠景用仮想カメラVCCを配置設定してもよい。
このようにすれば、遠景画像生成時の遠景用仮想カメラVCCのビューボリュームの画角が小さくなり、遠景オブジェクトの描画対象範囲が少なくなるため、描画処理の負荷を軽減できるという利点がある。なお、この場合にも、遠景用仮想カメラVCCのX座標XCCは、例えばXCC=(XCL+XCR)/2の関係になるように設定できる。
以上の本実施形態の手法によれば、図4の遠景オブジェクトOBF1、OBF2は、遠景境界BDSの位置に畳み込まれて描画されるため、遠景境界BDSの位置の奥行き値を有するオブジェクトとして描画されるようになる。従って、例えば図3の点cに配置されるような仮想カメラから遠く離れた遠景オブジェクトであっても、点cL、cR間のような大きな描画位置のズレは生じなくなり、例えば点bL、bR間程度のズレに制限できる。従って、立体視による目の疲労が発生や、立体視の融合可能範囲を超えてしまう事態などを抑止できる。
また、遠景境界BDSよりも奥側に位置する遠景オブジェクトOBF1、OBF2については、遠景用仮想カメラVCCを用いた1回の描画だけを行えば済む。従って、これらの遠景オブジェクトOBF1、OBF2を左眼用仮想カメラVCLの視点で描画すると共に右眼用仮想カメラVCRの視点で描画する手法に比べて、各オブジェクトの描画回数が減少し、描画処理の負荷を軽減できる。特に、奥行き方向でのビューボリュームのサイズが大きく、遠景オブジェクトが多いような場面・ゲームでは、描画処理負荷の軽減の効果が大きくなるという利点がある。
2.2 LODとの連動
本実施形態の手法は、LOD(Level Of Detail)と連動して実現できるという利点がある。
本実施形態の手法は、LOD(Level Of Detail)と連動して実現できるという利点がある。
具体的には図7に示すように、描画対象となるオブジェクト(モデル)OB1として、低精密度オブジェクトOB1Lと高精密度オブジェクトOB1Hを用意する。同様に、描画対象となるオブジェクトOB2、OB3、OB4として、低精密度オブジェクトOB2L、OB3L、OB4Lと、高精密度オブジェクトOB2H、OB3H、OB4Hを用意する。例えば低精密度オブジェクトはポリゴン数が少なく、ディテールが省略された形状のオブジェクトである。一方、高精密度オブジェクトはポリゴン数が多く、ディテールが忠実に表現された形状のオブジェクトである。
そして図8に示すように、図4で説明した遠景画像の生成時には、低精密度オブジェクトを遠景オブジェクトOBF1、OBF2として選択して描画する。例えば遠景オブジェクトOBF1が図7のオブジェクトOB1である場合には、低精密度オブジェクトOB1Lを選択して描画し、遠景オブジェクトOBF2がオブジェクトOB2である場合には、低精密度オブジェクトOB2Lを選択して描画する。
そして、このように低精密度の遠景オブジェクトOBF1、OBF2を描画することで生成された遠景画像が遠景マッピング用ポリゴンPLFにマッピングされ、遠景マッピング用ポリゴンPLFが遠景境界BDSの位置に配置される。
次に、図8に示すように、図5で説明した近景オブジェクトの描画時には、高精密度オブジェクトを近景オブジェクトOBN1、OBN2として選択する。例えば近景オブジェクトOBN1が図7のオブジェクトOB3である場合には、高精密度オブジェクトOB3Hを選択し、近景オブジェクトOBN2がオブジェクトOB4である場合には、高精密度オブジェクトOB4Hを選択する。
そして、低精密度の遠景画像がマッピングされた遠景マッピング用ポリゴンPLFと、高精密度の近景オブジェクトOBN1、OBN2を描画することで、左眼用仮想カメラVCLから見える左眼用画像を生成する。また低精密度の遠景画像がマッピングされた遠景マッピング用ポリゴンPLFと、高精密度の近景オブジェクトOBN1、OBN2を描画することで、右眼用仮想カメラVCRから見える右眼用画像を生成する。
このようにすれば、LODにおける低精密度オブジェクトと高精密度オブジェクトの切り替えに連動して、図4で説明した遠景画像の生成と、図5で説明した近景オブジェクトの描画を切り替えて実行することが可能になる。従って、視差による遠景オブジェクトの描画位置のズレの低減と、LODによる描画処理負荷の低減を、簡素な処理で両立して実現することが可能になる。
2.3 被写界深度エフェクト処理との連動
また本実施形態の手法は、被写界深度エフェクト処理とも連動して実現できるという利点もある。
また本実施形態の手法は、被写界深度エフェクト処理とも連動して実現できるという利点もある。
例えば被写界深度のエフェクトを実現するためには、視点から遠い物体がぼけて見える画像を生成する必要がある。即ち、仮想カメラから見て手前側の所定の奥行き範囲にある物体については、ピントが合った画像を生成し、仮想カメラから見て奥側の遠くに離れた物体については、ピントが合っておらずぼけた画像を生成する。
このような被写界深度エフェクト処理との連動を実現するために、本実施形態では、図4で遠景オブジェクトOBF1、OBF2を描画することで得られた画像に対して、ぼかし処理を行って、ぼかし処理が行われた画像を遠景画像として生成する。ぼかし処理(デフォーカス処理)は、例えばぼかしフィルタ(Blur Filter)などを用いることで実現できる。具体的には、バイリニアフィルタリングによるぼかし処理である線形テクスチャフィルタリングの手法や、何枚ものテクスチャを同時に使用するマルチテクスチャによるぼかし処理であるボックスフィルタサンプリングの手法などを採用できる。
そして、このようにぼかし処理が行われた遠景画像がマッピングされた遠景マッピング用ポリゴンPLFと、ぼけた処理が行われていない近景オブジェクトOBN1、OBN2を描画することで、左眼用画像、右眼用画像を生成する。
具体的には図9に示すように、遠景オブジェクトOBF1、OBF2を描画することで得られた画像のテクスチャを、当該テクスチャよりもサイズが大きな遠景マッピング用ポリゴンPLFにテクスチャマッピングすることで、ぼかし処理が行われた遠景画像が自動的に生成されるようになる。そして、ぼかし処理が行われた遠景画像がマッピングされた遠景マッピング用ポリゴンPLFと、ぼかし処理が行われていない近景オブジェクトOBN1、OBN2を描画することで、被写界深度エフェクトが施された左眼用画像、右眼用画像を生成できるようになる。
このようにすれば、被写界深度エフェクト処理と、本実施形態の手法による遠景画像の生成及び近景オブジェクトの描画を連動して実現できるようになる。従って、視差による遠景オブジェクトの描画位置のズレの低減と、被写界深度エフェクトとを両立して実現することが可能になる。
2.4 複数の遠景境界面の設定
図4、図5では、遠景境界面が1つである場合について説明したが、複数の遠景境界面を設定して、遠景画像を生成してもよい。
図4、図5では、遠景境界面が1つである場合について説明したが、複数の遠景境界面を設定して、遠景画像を生成してもよい。
例えば図10〜図12では、遠景境界面として、第1の遠景境界面BDS1と、第1の遠景境界面BDS1よりも手前側の境界面である第2の遠景境界面BDS2を設定している。本実施形態では、これらの第1、第2の遠景境界面BDS1、BDS2を用いて遠景画像を生成する。
具体的には図10に示すように、第1の遠景境界面BDS1よりも奥側に位置する遠景オブジェクトOBF1、OBF2を描画することで、遠景用仮想カメラVCCから見える第1の遠景画像を生成する。即ち図4と同様に、遠景オブジェクトOBF1、OBF2を、第1の遠景境界面BDS1の位置のスクリーンに透視投影して描画することで、第1の遠景画像を生成する。
次に図11に示すように、図10で生成された第1の遠景画像がマッピングされた第1の遠景マッピング用ポリゴンPLF1と、第1の遠景境界面BD1と第2の遠景境界面BDS2の間に位置する遠景オブジェクトOBF3、OBF4を描画することで、左眼用の遠景用仮想カメラVCCLから見える左眼用遠景画像を生成する。即ち、遠景マッピング用ポリゴンPLF1と遠景オブジェクトOBF3、OBF4を、第2の遠景境界面BDS2の位置のスクリーンに透視投影して描画することで、左眼用の遠景用仮想カメラVCCLの視点での左眼用遠景画像を生成する。
また、図10で生成された第1の遠景画像がマッピングされた第1の遠景マッピング用ポリゴンPLF1と、遠景オブジェクトOBF3、OBF4を描画することで、右眼用の遠景用仮想カメラVCCRから見える右眼用遠景画像を生成する。即ち、遠景マッピング用ポリゴンPLF1と遠景オブジェクトOBF3、OBF4を、第2の遠景境界面BDS2の位置のスクリーンに透視投影して描画することで、右眼用の遠景用仮想カメラVCCRの視点での右眼用遠景画像を生成する。
次に、図12に示すように、図11で生成された左眼用遠景画像がマッピングされた第2の遠景マッピング用ポリゴンPLF2と、第2の遠景境界面BDS2よりも手前側に位置する近景オブジェクトOBN1、OBN2を、スクリーンSCに透視投影して描画することで、左眼用仮想カメラVCLから見える左眼用画像を生成する。
また、図11で生成された右眼用遠景画像がマッピングされた第2の遠景マッピング用ポリゴンPLF2と、近景オブジェクトOBN1、OBN2を、スクリーンSCに透視投影して描画することで、右眼用仮想カメラから見える右眼用画像を生成する。
このようにすれば、遠景境界面を多段階に分けて遠景画像を生成できる。従って、各遠景境界面に遠景オブジェクトを畳み込んで描画することにより生じる歪みを低減でき、より自然に見える画像の生成が可能になる。
なお図10〜図12では、遠景境界面が2つである場合を例にとり説明したが、3つ以上の遠景境界面を設定してもよい。また図11に示すように、左眼用の遠景用仮想カメラVCCLは、左眼用仮想カメラVCLと同じ位置又は近い位置に配置され、右眼用の遠景用仮想カメラVCCRは、右眼用仮想カメラVCRと同じ位置又は近い位置に配置される。また、これらの左眼用、右眼用の遠景用仮想カメラVCCL、VCCRの奥行き値の範囲は、図6で説明した範囲RZ1であってもよいし、範囲RZ2であってもよい。
2.5 α合成処理
本実施形態では、遠景マッピング用ポリゴンと近景オブジェクトのα合成処理を行うことで、画像の歪みの問題は解決してもよい。
本実施形態では、遠景マッピング用ポリゴンと近景オブジェクトのα合成処理を行うことで、画像の歪みの問題は解決してもよい。
具体的には図4で遠景画像を生成した後に、図13に示すように、生成された遠景画像がマッピングされた遠景マッピング用ポリゴンPLF(遠景マッピング用オブジェクト)と近景オブジェクトOBN1、OBN2のα合成処理を行うことで、左眼用画像、右眼用画像を生成する。
更に具体的には、遠景境界面BDSから手前側に向かうにつれて、遠景マッピング用ポリゴン用のα値である遠景用α値αFが小さくなり、近景オブジェクト用のα値である近景用α値αNが大きくなるα合成処理で、遠景マッピング用ポリゴンPLFと近景オブジェクトOBN1、OBN2を描画することで、左眼用仮想カメラから見える左眼用画像を生成する。同様に、遠景境界面BDSから手前側に向かうにつれて、遠景用α値αFが小さくなり、近景用α値αNが大きくなるα合成処理で、遠景マッピング用ポリゴンPLFと近景オブジェクトOBN1、OBN2を描画することで、右眼用仮想カメラから見える右眼用画像を生成する。ここでα値は、各ピクセルに関連づけて記憶できる色情報以外のプラスアルファの情報であり、主に透明度(不透明度、半透明度と等価)を表す情報として使用される。
例えば図13では、遠景用α値αFは、遠景境界面BDSの位置ではαF=1(最大値)になり、近景境界面BDNの位置ではαF=0(最小値)になる。一方、近景用α値αNは、遠景境界面BDSの位置ではαN=0(最少値)になり、近景境界面BDNの位置ではαN=1(最大値)になる。
従って、例えば近景オブジェクトOBN2よりも仮想カメラから遠い近景オブジェクトOBN1の位置では、遠景用α値αFは大きくなり、近景用α値αNは小さくなる。即ち、近景オブジェクトOBN1に比べて遠景マッピング用ポリゴンPLFのブレンド率の方が高くなるようにα合成処理が行われる。一方、近景オブジェクトOBN1よりも仮想カメラから近い近景オブジェクトOBN2の位置では、遠景用α値αFは小さくなり、近景用α値αNは大きくなる。即ち、遠景マッピング用ポリゴンPLFに比べて近景オブジェクトOBN2のブレンド率の方が高くなるようにα合成処理が行われる。
なお、遠景用α値αFと近景用α値αNの間には、例えばαN=1−αFの関係が成り立つ。例えば遠景マッピング用ポリゴンPLFの色をCFとし、近景オブジェクトOBN1、OBN2の色をCNとし、最終的に生成される色をCQとする。すると、αブレンドを例にとれば、CQ=αF×CF+αN×CN=αF×CF+(1−αF)×CNの関係が成り立つ。
以上のようなα合成処理を行えば、遠景と近景の境界等で発生する画像の歪みを低減することが可能になる。従って、遠景と近景の境界での画像の不自然さが低減され、より自然に見える立体視用画像の生成が可能になる。
2.6 詳細な処理例
次に本実施形態の詳細な処理例について図14〜図16のフローチャートを用いて説明する。
次に本実施形態の詳細な処理例について図14〜図16のフローチャートを用いて説明する。
図14は、遠景マッピング用ポリゴンと近景オブジェクトを描画して立体視用画像を生成する処理を説明するためのフローチャートである。
まず、図4で説明したように、遠景境界面BDSよりも奥側の遠景オブジェクトを、遠景境界面BDSのスクリーンに透視投影して描画することで、遠景用仮想カメラから見える遠景画像を生成する(ステップS1)。
次に、図5で説明したように、ステップS1で生成された遠景画像のテクスチャがマッピングされた遠景マッピング用ポリゴンPLFと、近景オブジェクトを描画して、左眼用仮想カメラから見える左眼用画像を生成する(ステップS2)。また遠景画像のテクスチャがマッピングされた遠景マッピング用ポリゴンPLFと、近景オブジェクトを描画して、右眼用仮想カメラから見える右眼用画像を生成する(ステップS3)。このようにすることで、左眼用画像と右眼用画像が生成され、2眼分離眼鏡方式などの立体視が可能になる。
図15は、複数の遠景境界面を設定した場合の遠景マッピング用ポリゴンと近景オブジェクトの描画処理を説明するためのフローチャートである。
まず、遠景境界面BDS1よりも奥側の遠景オブジェクトを、遠景境界面BDS1のスクリーンに透視投影して描画することで、遠景用仮想カメラから見える遠景画像を生成する(ステップS11)。
次に、ステップS11で生成された遠景画像のテクスチャがマッピングされた遠景マッピング用ポリゴンPLF1と、遠景境界面BDS1とBDS2の間の遠景オブジェクトを描画することで、左眼用の遠景用仮想カメラから見える左眼用遠景画像を生成する(ステップS12)。また、遠景画像のテクスチャがマッピングされた遠景マッピング用ポリゴンPLF1と、遠景境界面BDS1とBDS2の間の遠景オブジェクトを描画することで、右眼用の遠景用仮想カメラから見える右眼用遠景画像を生成する(ステップS13)。
次に、ステップS12で生成された左眼用遠景画像のテクスチャがマッピングされた遠景マッピング用ポリゴンPLF2と、近景オブジェクトを描画することで、左眼用仮想カメラから見える左眼用画像を生成する(ステップS14)。また、ステップS13で生成された右眼用遠景画像のテクスチャがマッピングされた遠景マッピング用ポリゴンPLF2と、近景オブジェクトを描画することで、右眼用仮想カメラから見える右眼用画像を生成する(ステップS15)。
このように複数の遠景境界面を設定して遠景画像を生成することで、不自然な歪み画像が生成されてしまう事態を抑止できる。
図16は、遠景マッピング用ポリゴンと近景オブジェクトをα合成する描画処理を説明するためのフローチャートである。
まず、近景オブジェクトの奥行き値と、遠景境界面BDSの奥行き値の差に基づいて、遠景用α値αFと近景用α値αNを算出する(ステップS21)。例えば図13の遠景境界面BDSに近づくほど遠景用α値αFが大きくなると共に近景用α値αNが小さくなり、近景境界面BDNに近づくほど遠景用α値αFが小さくなると共に近景用α値αNが大きくなるように、各近景オブジェクトのα値を算出する。
そして遠景用、近景用のα値αF、αNを用いて、遠景マッピング用ポリゴンPLFと近景オブジェクトのα合成処理を行って、左眼用仮想カメラから見える左眼用画像を生成する(ステップS22)。また遠景用、近景用のα値αF、αNを用いて、遠景マッピング用ポリゴンPLFと近景オブジェクトのα合成処理を行って、右眼用仮想カメラから見える右眼用画像を生成する(ステップS23)。
このようにすることで、遠景から近景への切り替えの境界で歪みによる不自然な画像が生成されてしまう事態を抑止できる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(遠景マッピング用オブジェクト等)と共に記載された用語(遠景マッピング用ポリゴン等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、遠景画像の生成処理、左眼用画像の生成処理、右眼用画像の生成処理、α合成処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
また本発明は、2眼式の立体視のみならず多眼式の立体視にも適用可能である。この場合には、本実施形態で説明した左眼用仮想カメラの視点を多眼式立体視の複数の視点のうちの第1の視点とし、右眼用仮想カメラの視点を多眼式の複数の視点のうちの第2の視点とすればよい。また左眼用画像を第1視点画像とし、右眼用画像を第2視点画像とすればよい。
VCL 左眼用仮想カメラ、VCR 右眼用仮想カメラ、SC スクリーン、
VVL 左眼用ビューボリューム、VVR 右眼用ビューボリューム、
CNL、CNR、CFL、CFR クリッピング面、
VCC 遠景用仮想カメラ、VCCL 左眼用の遠景用仮想カメラ、
VCCR 右眼用の遠景用仮想カメラ、BDS、BDS1、BDS2 遠景境界面、
OBF1〜OBF4 遠景オブジェクト、OBN1、OBN2 近景オブジェクト、
PLF 遠景マッピング用ポリゴン(遠景マッピング用オブジェクト)、
CR 第1の交点、PC カメラセンター点、RZ1、RZ2 奥行き値の範囲、
100 処理部、102 ゲーム演算部、104 オブジェクト空間設定部、
106 移動体演算部、108 仮想カメラ制御部、120 画像生成部、
122 遠景画像生成部、124 左眼用画像生成部、126 右眼用画像生成部、
170 記憶部、172 オブジェクトデータ記憶部、174 遠景画像記憶部、
178 描画バッファ、180 情報記憶媒体、190 表示部、192 音出力部、
194 補助記憶装置、196 通信部
VVL 左眼用ビューボリューム、VVR 右眼用ビューボリューム、
CNL、CNR、CFL、CFR クリッピング面、
VCC 遠景用仮想カメラ、VCCL 左眼用の遠景用仮想カメラ、
VCCR 右眼用の遠景用仮想カメラ、BDS、BDS1、BDS2 遠景境界面、
OBF1〜OBF4 遠景オブジェクト、OBN1、OBN2 近景オブジェクト、
PLF 遠景マッピング用ポリゴン(遠景マッピング用オブジェクト)、
CR 第1の交点、PC カメラセンター点、RZ1、RZ2 奥行き値の範囲、
100 処理部、102 ゲーム演算部、104 オブジェクト空間設定部、
106 移動体演算部、108 仮想カメラ制御部、120 画像生成部、
122 遠景画像生成部、124 左眼用画像生成部、126 右眼用画像生成部、
170 記憶部、172 オブジェクトデータ記憶部、174 遠景画像記憶部、
178 描画バッファ、180 情報記憶媒体、190 表示部、192 音出力部、
194 補助記憶装置、196 通信部
Claims (12)
- 遠景オブジェクトの描画処理を行って遠景画像を生成する遠景画像生成部と、
前記遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、立体視用画像を生成する画像生成部として、
コンピュータを機能させ、
前記遠景画像生成部は、
遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、オブジェクト空間内において遠景用仮想カメラから見える前記遠景画像を生成することを特徴とするプログラム。 - 請求項1において、
前記画像生成部は、
前記遠景画像がマッピングされ前記遠景境界面の位置に配置された前記遠景マッピング用オブジェクトを描画すると共に、前記遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、前記立体視用画像を生成することを特徴とするプログラム。 - 請求項1又は2において、
描画対象となるオブジェクトとして、精密度が低い低精密度オブジェクトと、前記低精密度オブジェクトよりも精密度が高い高精密度オブジェクトとが用意され、
前記遠景画像生成部は、
前記低精密度オブジェクトと前記高精密度オブジェクトのうち前記低精密度オブジェクトを、遠景オブジェクトとして選択して描画することで前記遠景画像を生成し、
前記画像生成部は、
前記低精密度オブジェクトと前記高精密度オブジェクトのうち前記高精密度オブジェクトを、近景オブジェクトとして選択して描画することで前記立体視用画像を生成することを特徴とするプログラム。 - 請求項1乃至3のいずれかにおいて、
前記遠景画像生成部は、
遠景オブジェクトを描画することで得られた画像に対してぼかし処理を行った画像を、前記遠景画像として生成することを特徴とするプログラム。 - 請求項1乃至4のいずれかにおいて、
前記遠景境界面として、第1の遠景境界面と、前記第1の遠景境界面よりも手前側の境界面である第2の遠景境界面が設定され、
前記遠景画像生成部は、
前記第1の遠景境界面の情報と前記第2の遠景境界面の情報を用いて前記遠景画像を生成することを特徴とするプログラム。 - 請求項1乃至5のいずれかにおいて、
前記画像生成部は、
前記遠景境界面から手前側に向かうにつれて、遠景マッピング用オブジェクト用のα値である遠景用α値が小さくなり、近景オブジェクト用のα値である近景用α値が大きくなるα合成処理で、前記遠景マッピング用オブジェクトと前記近景オブジェクトを描画することで、前記立体視用画像を生成することを特徴とするプログラム。 - 請求項1乃至6のいずれかにおいて、
前記画像生成部は、
前記遠景画像がマッピングされた前記遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、オブジェクト空間内において左眼用仮想カメラから見える左眼用画像を、前記立体視用画像として生成する左眼用画像生成部と、
前記遠景マッピング用オブジェクトと近景オブジェクトの描画処理を行って、前記オブジェクト空間内において右眼用仮想カメラから見える右眼用画像を、前記立体視用画像として生成する右眼用画像生成部と、
を含むことを特徴とするプログラム。 - 請求項7において、
前記遠景境界面として、第1の遠景境界面と、前記第1の遠景境界面よりも手前側の境界面である第2の遠景境界面が設定され、
前記遠景画像生成部は、
前記第1の遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、前記遠景用仮想カメラから見える第1の遠景画像を生成し、
前記第1の遠景画像がマッピングされた第1の遠景マッピング用オブジェクトを描画すると共に、前記第1の遠景境界面と前記第2の遠景境界面の間に位置する遠景オブジェクトを描画することで、左眼用の遠景用仮想カメラから見える左眼用遠景画像を生成し、
前記第1の遠景画像がマッピングされた前記第1の遠景マッピング用オブジェクトを描画すると共に、前記第1の遠景境界面と前記第2の遠景境界面の間に位置する遠景オブジェクトを描画することで、右眼用の遠景用仮想カメラから見える右眼用遠景画像を生成し、
前記左眼用画像生成部は、
前記左眼用遠景画像がマッピングされた第2の遠景マッピング用オブジェクトを描画すると共に、前記第2の遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、前記左眼用仮想カメラから見える前記左眼用画像を生成し、
前記右眼用画像生成部は、
前記右眼用遠景画像がマッピングされた前記第2の遠景マッピング用オブジェクトを描画すると共に、前記第2の遠景境界面よりも手前側に位置する近景オブジェクトを描画することで、前記右眼用仮想カメラから見える前記右眼用画像を生成することを特徴とするプログラム。 - 請求項7又は8において、
仮想カメラの制御を行う仮想カメラ制御部として、
コンピュータを機能させ、
スクリーンの左端と前記右眼用仮想カメラの位置を結ぶ線と前記スクリーンの右端と前記左眼用仮想カメラの位置を結ぶ線との交点を第1の交点とし、前記左眼用仮想カメラと前記右眼用仮想カメラの中点をカメラセンター点とした場合に、
前記仮想カメラ制御部は、
前記遠景用仮想カメラの位置を、前記第1の交点と前記カメラセンター点の間の範囲の位置に設定することを特徴とするプログラム。 - 請求項7又は8において、
仮想カメラの制御を行う仮想カメラ制御部として、
コンピュータを機能させ、
前記左眼用仮想カメラと前記右眼用仮想カメラの中点をカメラセンター点とした場合に、
前記仮想カメラ制御部は、
前記遠景用仮想カメラの位置を、前記カメラセンター点よりも手前側の範囲の位置に設定することを特徴とするプログラム。 - コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至10のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
- 遠景オブジェクトの描画処理を行って遠景画像を生成する遠景画像生成部と、
前記遠景画像がマッピングされた遠景マッピング用オブジェクトと、近景オブジェクトの描画処理を行って、立体視用画像を生成する画像生成部と、
を含み、
前記遠景画像生成部は、
遠景境界面よりも奥側に位置する遠景オブジェクトを描画することで、オブジェクト空間内において遠景用仮想カメラから見える前記遠景画像を生成することを特徴とする画像生成システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010201465A JP2012059009A (ja) | 2010-09-08 | 2010-09-08 | プログラム、情報記憶媒体及び画像生成システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010201465A JP2012059009A (ja) | 2010-09-08 | 2010-09-08 | プログラム、情報記憶媒体及び画像生成システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012059009A true JP2012059009A (ja) | 2012-03-22 |
Family
ID=46056033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010201465A Pending JP2012059009A (ja) | 2010-09-08 | 2010-09-08 | プログラム、情報記憶媒体及び画像生成システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012059009A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875444A (zh) * | 2017-01-19 | 2017-06-20 | 浙江大华技术股份有限公司 | 一种目标物定位方法及装置 |
-
2010
- 2010-09-08 JP JP2010201465A patent/JP2012059009A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875444A (zh) * | 2017-01-19 | 2017-06-20 | 浙江大华技术股份有限公司 | 一种目标物定位方法及装置 |
US11048961B2 (en) | 2017-01-19 | 2021-06-29 | Zhejiang Dahua Technology Co., Ltd. | Locating method and system |
US11715209B2 (en) | 2017-01-19 | 2023-08-01 | Zhejiang Dahua Technology Co., Ltd. | Locating method and system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9106906B2 (en) | Image generation system, image generation method, and information storage medium | |
US9904056B2 (en) | Display | |
US9881421B2 (en) | Image processing | |
JP5148652B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4555722B2 (ja) | 立体映像生成装置 | |
JP2012253690A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US9495799B2 (en) | Image distortion correction system | |
WO2018086295A1 (zh) | 一种应用界面显示方法及装置 | |
JP5572647B2 (ja) | 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法 | |
JP2019197368A (ja) | 立体映像奥行き圧縮装置および立体映像奥行き圧縮プログラム | |
CN111095348A (zh) | 基于摄像头的透明显示器 | |
JP4270347B2 (ja) | 距離演算装置 | |
JP7426413B2 (ja) | ブレンドモード3次元ディスプレイシステムおよび方法 | |
JP5620202B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2012234411A (ja) | 画像生成装置、画像生成システム、画像生成プログラムおよび画像生成方法 | |
JP5649846B2 (ja) | プログラム及び画像生成システム | |
JP2013062731A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
WO2017085803A1 (ja) | 映像表示装置及び映像表示方法 | |
TWI817335B (zh) | 立體影像播放裝置及其立體影像產生方法 | |
JP4624588B2 (ja) | 画像生成装置、プログラム及び情報記憶媒体 | |
JP2012059009A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JPH09233499A (ja) | 立体画像生成装置 | |
JP2009064355A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP5701638B2 (ja) | プログラム及び画像生成システム | |
JP6814686B2 (ja) | 立体画像表示制御装置、立体画像表示制御方法及び立体画像表示制御プログラム |