画像処理装置
【課題】階層データを生成する技術および階層データを用いた表示処理技術を提供する。
【解決手段】画像処理装置10において、画像データ生成部130は、各階層の画像データを生成する。階層データ生成部140は、複数階層の画像データを共通の座標系で表現した階層データを生成する。このとき階層データ生成部140は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加する。階層データ生成部140は、設定されたカメラパラメータが異なる仮想カメラにより撮影された2つの画像データの組み合わせに対して、演出情報を設定する。
【解決手段】画像処理装置10において、画像データ生成部130は、各階層の画像データを生成する。階層データ生成部140は、複数階層の画像データを共通の座標系で表現した階層データを生成する。このとき階層データ生成部140は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加する。階層データ生成部140は、設定されたカメラパラメータが異なる仮想カメラにより撮影された2つの画像データの組み合わせに対して、演出情報を設定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえばゲームシーンを描写するゲーム画像を複数の解像度で生成して、複数階層の画像データを共通の座標系で表現した階層データを生成する画像処理技術、および階層データを用いてディスプレイに画像を表示する画像処理技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPU(Graphics Processing Unit)がポリゴンを用いた三次元画像を生成する。
【特許文献1】米国特許第6563999号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来より、高精細な写真などのディジタル画像から生成された複数解像度のタイル画像を用いて、表示画像の拡大/縮小処理や、上下左右方向の移動処理を行う技術が提案されている。この画像処理技術では、原画像を複数段階に縮小して異なる解像度の画像を生成し、各階層の画像を一又は複数のタイル画像に分割して、原画像を階層構造で表現する。通常、最も解像度の低い画像は1つのタイル画像で構成され、最も解像度の高い原画像は、最も多い数のタイル画像で構成される。画像処理装置は、表示画像の拡大処理または縮小処理時に、使用しているタイル画像を、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行うようにしている。
【0004】
従来の階層データ構造は、原画像をもとに異なる解像度の画像を生成しているため、表示画像の単純な拡大表示または縮小表示の要求は満足するが、それ以上の視覚的な効果を提供することはできない。特に、ゲームアプリケーションにおける使用場面を想定すると、ある特定のゲームシーンを単純に拡大、縮小表示するだけでなく、ユーザに対してなんらかの視覚的な効果を与えるような表示制御を行えることが好ましい。このとき階層データをゲームアプリケーションに応じて構成することで、ゲームの世界観をユーザに提供することも可能となる。この要求は、ゲームの分野のみならず、他の分野にも共通である。
【0005】
そこで本発明は、階層データを生成する技術、および階層データを用いた表示処理技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様の画像処理装置は、階層データを生成する画像処理装置であって、各階層の画像データを生成する画像データ生成部と、複数階層の画像データを共通の座標系で表現した階層データを生成する階層データ生成部と、を備える。階層データ生成部は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加する。
【0007】
本発明の別の態様もまた、画像処理装置である。この装置は、画像をディスプレイに表示する画像処理装置であって、複数階層の画像データを共通の座標系で表現した階層データを保持する記憶装置と、ディスプレイに表示されている表示画像の変更指示信号を受け付ける受付部と、変更指示信号に応じて、表示処理に使用する画像データを切り替える際に、切替前の画像データと切替後の画像データの間に演出情報が設定されているか判断する演出指示部と、画像データを用いて、表示画像を生成する表示画像処理部とを備える。演出指示部により演出情報が設定されていることが判断された場合に、表示画像処理部は、画像データの切り替え時に、切替前の画像データと切替後の画像データの組み合わせに対して設定されている演出情報を用いて、表示画像に演出処理を施す。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によると、階層データを生成する技術、および階層データを用いた表示処理技術を提供することができる。
【発明を実施するための最良の形態】
【0010】
図1は、本発明の実施例にかかる画像処理システム1を示す。画像処理システム1は、入力装置20と、様々な画像処理を実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを備えたテレビであってよい。表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。なお画像処理装置10、入力装置20および表示装置12は、一体に形成されてもよく、たとえば画像処理機能を搭載した携帯端末装置として構成されてもよい。
【0011】
本実施例の画像処理装置10は、少なくとも2種類の画像処理機能を有する。1つは、複数の画像データを共通の座標系で表現した階層データを生成する機能であり、またもう1つは、生成された階層データを用いて表示画像の変更処理を行う機能である。画像処理装置10は、階層データ生成プログラムおよび画像変更処理プログラムをロードすることで、それぞれの画像処理機能を実行可能とする。これらのプログラムは、画像処理装置10にライブラリとして予め保持されていてもよく、インターネットなどのネットワークを介して外部のサーバからダウンロードされてもよい。
【0012】
本実施例において画像処理装置10は、ゲームソフトウェアを実行するゲーム装置であり、ゲームの進行中に入力装置20からゲーム画像の階層データを生成するためのキャプチャ指示を受け付けると、階層データ生成プログラムを起動する。このとき画像処理装置10は、ゲーム進行を一時中断して、仮想カメラにより、その指示時点のゲームシーンから画像データを複数キャプチャさせ、複数の解像度で構成される階層データを生成する。なお画像処理装置10は、全ての階層の画像データを、カメラ位置、画角、カメラの視線方向、カメラの傾きなどのカメラパラメータを同一にして撮影するのではなく、少なくとも1つの階層の画像データは、他の階層とは異なるカメラパラメータを設定された仮想カメラにより生成されるようにする。これにより、階層データ間の表示の連続性を敢えて途切れさせ、ゲーム独自の世界観をユーザに提供することができる。
【0013】
図2は、入力装置20の外観構成を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。ゲームプログラムの実行時、入力装置20の操作手段には、プレイヤキャラクタを3次元仮想空間内で動作させるための機能が割り当てられる。
【0014】
画像処理システム1において、画像処理装置10が、ゲームの実行を一時中断して階層データを生成した後は、入力装置20の操作手段に、表示画像の拡大/縮小指示、および上下左右方向へのスクロール指示(以下、まとめて「画像変更指示信号」とよぶ)を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小指示の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小指示を入力でき、また手前から押すことで、表示画像の拡大指示を入力できる。また、表示画像のスクロール指示の入力機能は、左側のアナログスティック27aに割り当てられる。ユーザはアナログスティック27aを上下左右に倒すことで、倒した方向のスクロール指示を入力できる。このようにアナログスティック27a、27bは、表示画像を連続的にスクロールさせ、また連続的に拡大/縮小するために用いられる。
【0015】
入力装置20は、入力された画像変更指示信号を画像処理装置10に伝送する機能をもち、本実施例では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、画像変更指示信号を画像処理装置10に伝送してもよい。
【0016】
図3は、画像処理システム1において使用する画像データの階層構造を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有し、この階層構造をもつ画像データを「階層データ」とよぶ。図3に示す階層データは4分木の階層構造を有し、各階層は、1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。なお階層データを構成する階層数は2以上であればよい。
【0017】
各階層の画像データは、共通の座標系において異なる解像度で表現されている。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0018】
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。画像処理装置10は、入力装置20から供給される画像変更指示信号から表示画像の変更量を導出すると、その変更量を用いて、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出する。この階層特定情報およびテクスチャ座標の組み合わせを、空間座標と呼ぶ。なお各階層において、各頂点座標は同一であり、各階層の矩形画像データの頂点座標は、それぞれ(u0,v0)、(u0,v1)、(u1,v1)、(u1,v0)である。仮想空間における空間座標は、表示画像の生成処理に利用される。なお画像処理装置10は、表示画像の変更量を用いて仮想空間におけるフレームの4隅の3次元座標を導出してもよい。この4隅のフレーム座標も、空間座標と呼ぶ。
【0019】
画像処理装置10は、3次元ゲーム空間に仮想カメラを設置し、仮想カメラから仮想スクリーンに投影されるゲーム画像を取得して、各階層の画像データを生成する。本実施例の画像処理システム1では、異なる階層間でカメラパラメータを変更してもよく、また同じ階層内でカメラパラメータを変更してもよい。
【0020】
仮想カメラの視点位置、画角、視線方向および傾き(以下、カメラパラメータ)を固定として2つの階層の画像データを異なる解像度で生成すると、この2つの画像データは、同じ撮影領域のゲーム画像を異なる解像度で表現するだけであるため、これらの階層をまたがって表示画像を拡大、縮小表示する場合に、表示の連続性はとぎれない。一方、仮想カメラのカメラパラメータを変更して2つの階層の画像データを生成すると、この2つの画像データは、異なる撮影領域のゲーム画像を表現するため、これらの階層をまたがって表示画像を拡大、縮小表示する場合には、表示の連続性がとぎれることになる。なお、同一階層内でカメラの視点位置を変更して2つの画像データを生成する場合にも、この2つの画像データは異なる撮影領域のゲーム画像を表現するため、画像データを切り替える際に、表示の連続性がとぎれる。
【0021】
したがって画像処理装置10は、表示画像の生成に用いている画像データを、設定されたカメラパラメータの異なる仮想カメラで撮影された画像データに切り替える場合には、画像の切り替わりにおける不連続さをユーザに感じさせないように、所定の演出を挿入する。これにより、単純に拡大、縮小する表示だけでなく、ゲーム独自の世界観を表現する画像をユーザに提供できるようになる。
【0022】
図4は、階層間の関係を説明するための説明図を示す。この階層データ構造において、各階層はL0(第0階層30)、L1(第1階層32)、L2(第2階層34)、L3(第3階層36)と表現されている。図4に示す階層データ構造において、深さ(Z軸)方向における位置は、解像度を示し、L0に近い位置ほど解像度が低く、L3に近い位置ほど解像度は高い。ディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、拡大率に対応し、L0の表示画像の拡大率を1とすると、L1における拡大率は4、L2における拡大率は16となり、L3における拡大率は64となる。したがって深さ方向において、表示画像がL0側からL3側へ向かう方向に変化する場合、表示画像は拡大していき、L3側からL0側へ向かう方向に変化する場合は、表示画像は縮小していく。
【0023】
第1境界31、第2境界33、第3境界35は、L0を基準とした拡大率として定義され、表示画像の生成に使用するタイル画像の階層を定めるための判定基準として利用される。第1境界31は拡大率2に設定され、表示画像の要求拡大率が2より小さければ、L0タイル画像が使用される。第2境界33は拡大率8に設定され、表示画像の要求拡大率が2以上であり且つ8より小さければ、L1タイル画像が使用される。同様に第3境界35は拡大率32に設定され、表示画像の要求拡大率が8以上であり且つ32より小さければ、L2タイル画像が使用される。また表示画像の要求拡大率が32以上であれば、L3タイル画像が使用される。したがって画像処理装置10は、これから表示する画像の要求拡大率が定まれば、その拡大率に対応する解像度のタイル画像を記憶装置から読み出して、その拡大率に調整した表示画像を生成することができる。なお、拡大率は、図3に示す3次元空間において、深さ方向のZ値として定められてもよい。
【0024】
図5は、画像処理装置10の機能ブロック図を示す。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0025】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ルータを介してインターネットなどの外部ネットワークに接続し、階層データ生成プログラムや画像変更処理プログラムをダウンロードしてもよい。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された画像変更指示信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0026】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。
【0027】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施例の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0028】
ハードディスクドライブ50は、データを記憶する補助記憶装置として機能する。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよく、ゲームソフトウェアを記録している。
【0029】
図6は、本実施例の画像処理のフローチャートを示す。画像処理装置10に電源が投入されてオペレーティングシステム(OS)が起動され、ユーザによりディスクドライブ54にROMディスクが装着されると、制御部100は、ROMディスクに記録されたゲームソフトウェアをハードディスクドライブ50に読み出し、ゲームソフトウェアを実行する(S10)。このとき制御部100は、必要なゲームプログラムをメインメモリ60にロードし、描画データや画像データをバッファメモリ70にロードする。
【0030】
本実施例において画像処理装置10はゲーム装置であり、仮想3次元空間をプレイヤキャラクタが行動するようなゲーム映像を3次元(3D)グラフィックスにより提供する。制御部100は、ゲームプログラムの実行にともなって発生する命令やデータに基づいて画像処理を行い、画像データを生成する。この画像処理には、たとえばテクスチャマッピングや光源処理など、3次元コンピュータグラフィックスを実現するための処理が含まれる。
【0031】
制御部100は、ゲームプログラムの実行中に入力装置20からキャプチャ指示を受けると、ゲーム進行を一時中断して、階層データ生成プログラムを起動する。このとき制御部100は、キャプチャ指示を受けた時点のゲーム画像の階層データを生成し(S12)、ハードディスクドライブ50に格納する。階層データの生成後、制御部100は、入力装置20から画像変更指示を受け付けると、画像変更処理プログラムを起動する。制御部100は、ハードディスクドライブ50に格納した階層データを用いて、入力装置20から供給される画像変更指示信号にしたがって、表示画像の拡大、縮小などの表示処理を実行する(S14)。
【0032】
図7は、階層データを生成する制御部100の構成を示す。制御部100は、アプリケーション処理部120、画像データ生成部130および階層データ生成部140を備える。アプリケーション処理部120は、指示受付部122、ゲーム実行部124、カメラ制御情報取得部126および演出情報取得部128を有する。
【0033】
アプリケーション処理部120は、ハードディスクドライブ50に保持されたゲームソフトウェアを読み出して実行し、またハードディスクドライブ50から階層データ生成処理および画像変更処理に必要なデータを取得する。これらの画像処理に必要なデータは、ゲームソフトウェアとともにROMディスクに記録されており、ゲームソフトウェアとともにハードディスクドライブ50に予め読み出されている。
【0034】
画像データ生成部130は、カメラパラメータ設定部132、描画条件設定部134、ゲーム画像生成部136およびタイル画像生成部138を有する。画像データ生成部130は、仮想3次元ゲーム空間内に仮想カメラを設置して、仮想カメラから仮想スクリーンに投影されるゲーム画像を生成する。ゲームの実行中、生成されたゲーム画像は、表示処理部44から表示装置12に出力され、動画像としてユーザに提供される。また、階層データの生成時、生成されたゲーム画像は、タイル画像に分割されて、階層データ生成部140に渡される。
【0035】
階層データ生成部140は、画像データ生成部130で生成されたタイル画像を受け取り、階層データを生成する。このとき階層データ生成部140は、複数階層のタイル画像を共通の2次元座標系で表現して階層データを生成し、また、階層データを用いて表示処理を行う際に、使用するタイル画像を切り替える際の演出情報を階層データに付加する。
【0036】
図7において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。たとえば画像データ生成部130は、GPU(Graphics Processing Unit)として構成されてよく、階層データ生成部140は、階層データ生成プログラムをロードすることで構成されてよい。
【0037】
指示受付部122が入力装置20からゲームの実行指示を受け付けると、ゲーム実行部124が、ゲームソフトウェアを実行する。ゲーム実行部124は、入力装置20からの操作指示、およびゲームの進行に応じて、描画に関する命令およびデータ(以下、「描画指示情報」とよぶ)を画像データ生成部130に供給する。画像データ生成部130は3DCG(3次元コンピュータグラフィックス)処理機能を有し、高速レンダリング処理など既知の3DCG技術を用いて、仮想カメラにより撮影される画像データを生成する。
【0038】
カメラパラメータ設定部132は、描画指示情報をもとに仮想3次元空間内に仮想カメラを設置する。描画指示情報には、仮想カメラの視点位置、画角(視領域)、視線方向、カメラの傾き等、カメラアングルを決定するためのカメラパラメータが含まれる。ゲーム実行部124は、入力装置20からの指示情報にしたがって描画指示情報を変更し、カメラアングルを切り替えるようにしてもよい。描画条件設定部134は、仮想カメラで取得する画像サイズを設定し、ここでは画像サイズが、表示装置12のディスプレイサイズに合わせられる。ゲーム画像生成部136は、仮想カメラで撮影する画像を、描画フレームごとにゲーム画像として取得する。この描画フレームは、1/60秒ごとに更新される。ゲーム画像生成部136は、ゲーム画像を表示処理部44に供給し、表示処理部44は、フレームメモリに展開したゲーム画像を表示装置12に供給する。これによりユーザは、動画像を見ながら、ゲームをリアルタイムでプレイできる。
【0039】
図8は、ゲームソフトウェアを実行することにより生成される仮想3次元空間の一例を示す。ゲーム実行部124は、ゲーム空間を構成するオブジェクトである建物204、木206、木208を所定位置に配置してシーンレイアウトを作成し、プレイヤキャラクタ200を入力装置20からの操作指示にしたがって動作させる。この例では、プレイヤキャラクタ200が、敵キャラクタ202と対決する戦闘シーンが構築されている。画像データ生成部130は、ゲーム実行部124から供給される指示情報にしたがって、プレイヤキャラクタ200および敵キャラクタ202を動かし、動的な仮想3次元空間を形成する。カメラパラメータ設定部132は、描画指示情報にしたがって、仮想3次元空間内に仮想カメラを設置する。
【0040】
図9は、カメラパラメータ設定部132が仮想3次元空間内に設置した仮想カメラ210を示す。このカメラアングルでは、仮想カメラ210が、プレイヤキャラクタ200を背後から撮影する。図10は、図9に示す仮想カメラ210により撮影されるゲーム画像を示す。このゲームシーンでは、プレイヤキャラクタ200と敵キャラクタ202とが対峙している様子が示される。
【0041】
ユーザは、図10に示すゲーム画像が表示装置12に表示されているときに、入力装置20の所定の操作手段を操作することで、ゲーム画像のキャプチャ指示を入力する。指示受付部122が、キャプチャ指示を受け付けると、カメラ制御情報取得部126は、ハードディスクドライブ50に保持されているカメラ制御情報を取得する。画像処理装置10において、キャプチャ指示は、ゲーム画像の階層データを生成するための指示情報として取り扱われる。なお指示受付部122がキャプチャ指示を受け付けると、ゲーム実行部124は、ゲームの進行を中断し、画像データ生成部130に階層データを構成するための画像データの生成を指示する。このとき表示装置12には、キャプチャ指示が入力された時点のゲーム画像、すなわち図10に示すゲーム画像が静止画として表示される。
【0042】
カメラ制御情報は、階層データを構成する複数階層の画像データを取得するための描画指示情報である。カメラ制御情報は、カメラパラメータに加えて、取得する画像データの解像度を特定するパラメータも含まれる。解像度を特定するパラメータは、画像サイズを特定する情報であってよい。以下の例では、ゲーム画像生成部136が、カメラパラメータを設定した仮想カメラに、仮想3次元空間を解像度情報にしたがって撮影させることで、第0階層、第1階層、第2階層の画像データを生成する。第1階層、第2階層の画像データは、キャプチャ指示が入力された時点の仮想カメラのカメラアングルで生成される。したがって第1階層と第2階層の画像データは、同一の領域を描画したものであり、第2階層は第1階層と比較して、画像サイズは4倍(解像度は2倍)に設定される。
【0043】
また第0階層の画像データは、キャプチャ指示が入力された時点の仮想カメラの位置から、プレイヤキャラクタ200に対して後方の位置に仮想カメラを再配置して生成される。第0階層と第1階層との間は、カメラアングルが変更されているため、第0階層と第1階層との間で画像データを切り替えたときの表示の連続性がとれないため、第0階層は第1階層と比較して、画像サイズが必ずしも1/4倍に設定されていなくてもよい。描画条件設定部134は、カメラ制御情報に含まれる解像度情報をもとに、生成するゲーム画像の描画条件(画像サイズ)を設定する。
【0044】
図11は、カメラ制御情報にしたがって第0階層の画像データを生成するために仮想3次元空間内に設置された仮想カメラ210を示す。図11に示す仮想カメラ210は、図9に示す仮想カメラ210の設置位置と比較すると、それよりもプレイヤキャラクタ200の後方に引いた位置に設けられていることが分かる。図12は、図11に示す仮想カメラ210により撮影されるゲーム画像を示す。仮想カメラの位置を後方に引くことで、広い領域を描画できるようになり、ユーザに対して周囲の状況も含む客観的な画像を提供できるようになる。
【0045】
まず、画像データ生成部130は、ゲーム実行部124から画像データの生成指示を受け取り、さらにカメラ制御情報取得部126で取得されたカメラ制御情報を受け取る。上記したように、カメラ制御情報には、階層ごとのカメラアングルを定める描画指示情報と、生成画像の解像度を特定する描画条件情報とが含まれる。解像度を特定する情報は、取得する画像サイズであってよい。
【0046】
図13は、階層ごとに設定されたカメラ制御情報の具体例を示す。カメラ制御情報は、ゲームソフトウェアとともにROMディスクに記録されており、ゲーム実行前に、ゲームソフトウェアとともにハードディスクドライブ50に予め読み出されている。
【0047】
解像度情報は、画像サイズの情報として設定され、第0階層、第1階層、第2階層において、それぞれ2k(1920画素)×1k(1080画素)、4k×2k、8k×4kに設定されている。この例では、第1階層の解像度が第0階層の2倍となっており、また第2階層の解像度が第1階層の2倍となっている。なお既述したように、第1階層と第2階層の画像データは、同一の撮影領域であるため、第1階層に対して第2階層の解像度が2倍となるように設定され、このとき第1階層と第2階層のLOD(Level Of Detail)は、異なるように設定される。LODは、画像データの詳細度を表現するが、ここでは第1階層よりも第2階層のゲーム画像自体の解像度(詳細度)を大きくすることで、LODが変更される。一方、第0階層と第1階層の画像データは、異なる撮影領域であるため、第0階層に対して第1階層の解像度が2倍となる必要は必ずしもない。カメラ制御情報には、カメラアングルの情報が含まれ、第0階層のカメラアングルが、キャプチャ指示時点のカメラ位置から仮想3次元空間においてプレイヤキャラクタ200から所定距離だけ後方に引いた位置であることが設定されている。
【0048】
カメラパラメータ設定部132および描画条件設定部134は、各階層に対して定められたカメラ制御情報にしたがって、それぞれ仮想カメラのカメラアングルおよび解像度を設定し、ゲーム画像生成部136は、それぞれの階層のゲーム画像を生成する。具体的に、第0階層のゲーム画像が、図12に示すゲームシーンとして2k×1kのサイズで生成され、第1階層のゲーム画像が、図10に示すゲームシーンとして4k×2kのサイズで生成され、第2階層のゲーム画像が、図10に示すゲームシーンとして8k×4kのサイズで生成される。
【0049】
なおゲーム画像生成部136は、仮想カメラで撮影される画像をバッファメモリ70に展開してゲーム画像を生成するが、バッファメモリ70が、たとえば8k×4kの画像データに十分なメモリサイズを有していない場合もある。そのような場合には、カメラパラメータ設定部132が、撮影領域を複数に分割し、カメラ制御情報により設定されるカメラアングルを適宜調整する。
【0050】
図14は、8k×4kの撮影領域を4つの撮影領域に分割する例を示す。このときカメラパラメータ設定部132は、仮想カメラの設置位置はそのままに、4k×2kの4つの撮影領域を撮像するように仮想カメラの視線方向および画角を調整する。これにより大きなサイズのゲーム画像も、仮想カメラにより撮影することが可能となる。
【0051】
タイル画像生成部138は、それぞれの階層の画像データを、所定サイズのタイル画像に分割する。生成されたタイル画像は、階層データ生成部140に供給される。なおタイル画像生成部138は、生成したタイル画像を、所定の圧縮形式で圧縮してもよい。タイル画像生成部138は、タイル画像ごとに圧縮してもよく、また同一階層内の複数のタイル画像を圧縮してもよい。
【0052】
階層データ生成部140は、複数階層の画像データ(タイル画像)を共通の座標系で表現して、これらを互いに関連づけた階層データを生成する。階層データ生成部140は、たとえば図3に示すような階層データを生成するが、各階層の画像データは、縦横比を同一とする矩形の画像サイズを有している。各階層において、各頂点座標は同一とされ、たとえば4点の頂点座標は、それぞれ(u0,v0)、(u0,v1)、(u1,v1)、(u1,v0)とされる。このように複数の画像データを共通の座標系で表現することにより、各階層の画像データを互いに関連づけることができ、階層データを用いた表示画像の拡大処理や縮小処理を実現可能とする。階層データの生成の際、演出情報取得部128は、表示処理に使用する画像データを切り替える際の演出データをハードディスクドライブ50から取得して、階層データ生成部140に供給する。
【0053】
図15は、階層間の切り替わり時に設定されている演出データの一例を示す。演出データは、ゲームソフトウェアとともにROMディスクに記録されており、ゲーム実行前に、ゲームソフトウェアとともにハードディスクドライブ50に予め読み出されている。
【0054】
図15において、階層間情報は、切替前の階層と切替後の階層を特定し、たとえば「第0階層と第1階層の間」は、表示に用いる画像データが第0階層から第1階層に切り替わること、および第1階層から第0階層に切り替わること、を意味する。また演出情報は、階層の切り替わりの際に実行する演出を特定する情報であり、「クロスフェード」は、階層切り替わり時にクロスフェードを実行すること、「なし」は、階層切り替わり時に演出を実行しないこと、を意味する。
【0055】
階層データ生成部140は、演出情報取得部128から供給される演出データを用いて、階層間の切り替え時に実行する演出情報を階層データに付加する。これにより階層データが生成される。具体的に階層データ生成部140は、演出データにしたがって、設定されたカメラパラメータが異なる仮想カメラにより撮影された2つの画像データの組み合わせに対して演出情報を設定する。実施例では、第0階層と第1階層の画像データを撮影するためのカメラパラメータが異なっているため(図13参照)、第0階層と第1階層の画像データの組み合わせに対して、演出情報が設定されている。
【0056】
なお階層データ生成部140が、演出情報取得部128から供給される演出データにもとづいて演出情報を階層データに付加することとしたが、たとえば図13に示すカメラ制御情報から、階層間においてカメラパラメータが異なって設定されていることを判断して、演出情報を階層データに付加してもよい。この場合に付加する演出情報は、クロスフェードなど、予め定まっているものとする。これにより階層データ生成部140は、第0階層と第1階層の画像データの組み合わせに対して、演出情報を設定することが可能となる。これにより、表示画像に用いる画像データが撮影領域の異なる階層間で遷移する場合において、表示画像の不連続さに起因する違和感をユーザに感じさせることなく、ゲーム特有の世界観をユーザに与えることが可能である。
【0057】
一方、階層データ生成部140は、設定されたカメラパラメータが同じ仮想カメラにより撮影された2つの画像データの組み合わせに対しては、演出情報を設定しない。具体的に、第1階層と第2階層の画像データを撮影するためのカメラパラメータは同じであるため(図13参照)、図15に示す演出データにも示されるように、第1階層と第2階層の画像データの組み合わせに対しては演出情報が付加されないようになっている。
【0058】
階層データ生成部140は、既述したように、図13に示すカメラ制御情報から、階層間においてカメラパラメータが同じに設定されていることを判断して、演出情報を階層データに付加しないようにしてもよい。カメラパラメータが同一である場合は、表示画像に用いる画像データが階層間で遷移する場合において、連続した拡大処理、縮小処理を実行できるため、演出情報を付加しなくても、ユーザにスムーズな拡大、縮小表示という演出を提供することが可能となる。
【0059】
階層データ生成部140は、生成した階層データをハードディスクドライブ50に格納する。階層データ生成部140は、階層データをハードディスクドライブ50に格納すると、ユーザに対して画像変更処理が可能になったことを表示装置12から通知させる。
【0060】
図16は、表示画像を変更する制御部100の構成を示す。制御部100は、指示受付部150および表示画像処理部160を備える。表示画像処理部160は、画像データ取得部162、デコード部164、変更量導出部166、空間座標決定部168、演出指示部170および表示画像生成部172を有する。表示画像処理部160は、階層データを用いて表示画像の変更処理を行う。
【0061】
図16において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。たとえば表示画像処理部160は、画像変更処理プログラムをロードすることで構成されてよい。
【0062】
ユーザが入力装置20を操作して、画像変更処理の実行を指示すると、指示受付部150がその指示を受け付け、画像処理装置10が、画像変更処理プログラムを起動して、階層データを用いた画像変更処理を開始する。このとき階層データはハードディスクドライブ50から読み出されて、メインメモリ60に保持される。
【0063】
ユーザが入力装置20のアナログスティック27を操作すると、画像変更指示信号が画像処理装置10に送信される。指示受付部150は、入力装置20から、ディスプレイに表示されている表示画像の変更指示信号を受け付け、表示画像処理部160に供給する。
【0064】
画像データ取得部162は、変更指示信号をもとに、表示画像の生成に用いるタイル画像をメインメモリ60から読み出す。デコード部164は、タイル画像をデコードし、バッファメモリ70に保持させる。たとえば画像データ取得部162は、変更指示信号で表示が要求される画像の拡大率を予測して、将来必要となるであろうタイル画像を先読みして、バッファメモリ70に保持させることが好ましい。
【0065】
変更量導出部166は、変更指示信号をもとに、要求される表示画像の変更量を導出する。表示画像の変更量は、1フレームごとの上下左右方向の移動量および深さ方向の移動量である。空間座標決定部168は、前回フレームのテクスチャ座標から、導出された変更量により移動する今回フレームのテクスチャ座標を決定する。表示画像生成部172は、テクスチャ座標をもとに、バッファメモリ70に保持されたタイル画像を用いて、表示画像を生成し、表示処理部44のフレームメモリ90に供給する。
【0066】
なお本実施例の階層データには、既述したように、階層間で画像データを切り替える際の演出情報が設定されている。演出指示部170は、変更指示信号に応じて表示処理に使用する画像データを切り替える際に、切替前の画像データと切替後の画像データの間に演出情報が設定されているか判断する。図15に関連して説明したように、本実施例では、第1階層と第2階層の切り替わり時には演出情報が設定されていないが、第0階層と第1階層の切り替わり時には演出情報(クロスフェード)が設定されている。したがって、演出指示部170は、第0階層から第1階層にタイル画像を切り替える際、また第1階層から第0階層にタイル画像を切り替える際に、表示画像生成部172に対してクロスフェードの実行を指示する。これにより表示画像生成部172は、表示画像に演出処理を施し、具体的にはタイル画像の切り替え時に、元のタイル画像をフェードアウトし、また新しいタイル画像をフェードインして、クロスフェードを実行して、タイル画像の遷移にともなう不連続さをユーザに感じさせないようにする。
【0067】
第0階層と第1階層の画像データは、異なるカメラパラメータで撮影された画像であり、単純に拡大、縮小すると表示の不連続さをユーザに与えることになる。したがって、クロスフェードなどの画像処理を施すことで、この不連続性を緩和することができる。また一方で表示画像を単純に拡大、縮小するだけではなく、単純な操作で新たな視点に移行できるため、ゲームならではの世界観をユーザに提供することも可能となる。
【0068】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0069】
上記した実施例では、第0階層と第1階層との間で仮想カメラのパラメータ情報を変更して、画像データを生成したが、仮想カメラのパラメータ情報は、同一階層内において変更されてもよい。
【0070】
図17は、カメラ制御情報にしたがって画像データを生成するために仮想3次元空間内に設置された仮想カメラ210a〜210fを示す。仮想カメラ210a、210b、210cは、第3階層の画像データを生成するために設置され、仮想カメラ210d、210eは、第2階層の画像データを生成するために設置され、仮想カメラ210fは、第0階層の画像データを生成するために設置される。この変形例では、各仮想カメラ210のカメラパラメータのうち、階層間だけでなく、同一階層内においても、カメラ位置がそれぞれ異なるように設定されている。
【0071】
図18は、第3階層の画像データを撮影する仮想カメラ210a、210b、210cによる撮影領域220a、220b、220cを示す。この変形例では、同一階層の画像データを、カメラ位置を変えて撮影するため、同一階層内においても表示画像に用いる画像データを切り替える際に、画像データ間の連続性が損なわれる。そのため、隣り合う仮想カメラの撮影領域に重複領域を設けるように仮想カメラのパラメータを設定して、画像データの切替前、および切替後においては、表示画像を一方の画像データから生成可能とする。
【0072】
この変形例において、まず画像データ生成部130は、ゲーム実行部124から画像データの生成指示を受け取り、さらにカメラ制御情報取得部126で取得されたカメラ制御情報を受け取る。カメラ制御情報には、仮想3次元空間内のカメラアングルを定める描画指示情報と、生成画像の解像度を特定する描画条件情報とが含まれる。解像度を特定する情報は、取得する画像サイズであってよい。この変形例では、たとえば第3階層、第2階層内においても複数の描画指示情報および描画条件情報がカメラ制御情報に含まれる。
【0073】
カメラパラメータ設定部132および描画条件設定部134は、カメラ制御情報にしたがって、それぞれ仮想カメラのカメラアングルおよび解像度を設定し、ゲーム画像生成部136は、各仮想カメラによるゲーム画像を生成する。タイル画像生成部138は、それぞれの仮想カメラにより撮影された画像データを、所定サイズのタイル画像に分割する。生成されたタイル画像は、階層データ生成部140に供給される。なおタイル画像生成部138は、生成したタイル画像を、所定の圧縮形式で圧縮してもよい。
【0074】
階層データ生成部140は、仮想カメラで撮影された画像データを階層ごとにまとめ、複数階層の画像データ(タイル画像)を共通の座標系で表現して、これらを互いに関連づけた階層データを生成する。このとき演出情報取得部128は、表示処理に使用する画像データを切り替える際の演出データをハードディスクドライブ50から取得して、階層データ生成部140に供給する。
【0075】
階層データ生成部140は、演出情報取得部128から供給される演出データを用いて、画像データの切り替え時に実行する演出情報を階層データに付加する。これにより階層データが生成される。この変形例では、異なる階層間だけでなく、同一の階層内においても表示画像に用いる画像データを切り替える際に、表示の連続性が途切れることとなるため、XY方向、およびZ方向に隣り合う全ての画像データの組み合わせに対して、演出情報が設定される。すなわち階層データ生成部140は、表示処理に使用する画像データを異なる階層の画像データに切り替える際の演出情報を階層データに付加するだけでなく、表示処理に使用する画像データを、異なるカメラ位置から撮影された同一階層の画像データに切り替える際の演出情報も階層データに付加する。生成された階層データはハードディスクドライブ50に格納される。階層データ生成部140は、階層データをハードディスクドライブ50に格納すると、ユーザに対して画像変更処理が可能になったことを表示装置12から通知する。表示画像処理部160は、演出情報にしたがって、階層データから表示画像を生成する。
【0076】
なお図17に示す例では、仮想カメラ210bが、木208の内部に配置されている。仮想カメラ210bは、この位置で撮影しても、適切なゲーム画像を取得することはできない。そこで、カメラパラメータ設定部132は、仮想カメラ210と仮想3次元空間内のオブジェクトとの接触判定機能を有し、仮想カメラ210の視点がオブジェクトの内部にあることが判定された場合には、ゲーム画像生成部136が、その撮影画像を、所定色の画像、たとえば白ベタ画像に変更する。図18を参照すると、撮影領域220bの撮影画像が白ベタ画像となる。この画像データを用いて階層データを生成した後は、仮想カメラ210bで撮影された画像データを用いて表示画像を生成すると、表示画像が白ベタ画像となるが、これによりユーザは、なんらかの異常が生じていることを容易に認識できるようになる。
【0077】
また、この場合に、白ベタ画像とするのではなく、たとえば図3に示す仮想3次元空間において、仮想カメラ210bにより生成された画像データを表示画像に用いる領域を不可視領域として設定し、空間座標決定部168が、入力装置20から供給される画像変更指示信号による表示領域と、不可視領域とのコリジョン判定を行ってもよい。コリジョンが判定された場合、変更量導出部166は、不可視領域には移動できないように変更量を導出する。これによりユーザは、画像変更に際して障害物が存在して見ることができない領域があることを判断し、結果として不可視領域を迂回するように、画像の変更指示を入力装置20から入力することが可能となる。
【0078】
実施例では、第0階層の画像データを、キャプチャ指示受付時点のカメラ位置からプレイヤキャラクタ200の後方に所定距離引いた位置から撮影するようにした。これにより、ゲームの進行に合わせた表示画像の変更処理を実現するが、たとえば第0階層の画像データを、ゲームの全体マップを表現したマップ画像としてもよい。このマップ画像は予めゲームソフトウェアに含まれており、ユーザが、全体のストーリを把握するのに役立つものである。したがって、この場合は、画像データ生成部130が、第0階層の画像データを新たに生成する必要がなく、処理負荷を軽減できるとともに、ユーザは表示画像を縮小することで、ゲームのマップを見ることができ、ゲームならではの演出をユーザに提供することが可能となる。なお、第0階層の画像データは、ゲームマップに限らず、予めゲームソフトウェアで用意されているものであってよい。
【0079】
実施例では、画像変更指示信号の入力機能を、アナログスティック27a、27bに割り当てるとしたが、この入力機能は、ゲームの操作系に合わせて設定されてもよい。たとえば、ゲーム実行中のプレイヤキャラクタ200の移動操作が十字キー21に割り当てられている場合、階層データを用いた表示変更処理において、表示画像のスクロール指示の入力機能も十字キー21に割り当てられることが好ましい。ゲームの操作系はゲーム実行部124により知られている。そのためゲーム実行部124は、指示受付部150にゲームの操作系を通知し、指示受付部150が、画像変更指示のための操作系をデフォルト設定からゲーム操作系に合わせて変更することで、それぞれの操作系を共通とすることが可能となる。
【0080】
実施例において、各階層の画像データは、キャプチャ指示受付時点の仮想3次元空間からキャプチャされて生成されているが、複数の階層の画像データを、異なる時点で生成することも可能である。このとき、ゲーム実行部124は、キャプチャ指示を受け付けた時点の画像を表示装置12に表示させるが、ユーザの操作に関係なく、その時点から予測される将来のゲーム進行を実行する。たとえば図10のゲームシーンに関していうと、画像データ生成部130は、表示装置12に表示はされないが、プレイヤキャラクタ200と敵キャラクタ202がさらに接近して、お互いが持っている武器を構えるシーンを生成する。画像データ生成部130は、キャプチャ指示受付時点のゲームシーン(図10参照)を第2階層の画像データとして生成し、さらにプレイヤキャラクタ200と敵キャラクタ202が接近したゲームシーンを第3階層の画像データとして生成する。これにより、階層データの生成後、ユーザは、第2階層の画像データを拡大していくと、第3階層の画像データに遷移したときに、将来予測されるゲームシーンを見ることができ、ゲームをより面白くすることができる。
【0081】
また実施例では、1つの階層データを生成したが、右目用、左目用の階層データをそれぞれ生成してもよい。表示画像生成部172は、拡大率に応じて、両眼視差分ずらして、それぞれの階層データから画像を合成して表示画像を生成することで、ステレオグラムをユーザに提供することが可能となる。
【0082】
また実施例では、視線方向を共通とする1つの階層データを生成したが、異なる視線方向から複数の階層データを生成してもよい。このとき、入力装置20の操作手段に対して、視線方向の切替機能を割り当てることで、ユーザは、視点を変更して、画像の拡大、縮小表示を楽しむことができる。
【0083】
また、表示画像生成部172は、階層データを用いて生成した表示画像に、別の画像を重畳表示することも可能である。たとえば、レーシングカー前方の画像を階層データとして用意しておきつつ、レーシングカーのインジケータを別画像として用意しておくことで、表示画像生成部172は、レーシングカー前方の画像の拡大、縮小処理を行いながら、固定サイズのインジケータ画像を表示画像に重畳させることも可能である。
【図面の簡単な説明】
【0084】
【図1】本発明の実施例にかかる画像処理システムを示す図である。
【図2】入力装置の外観構成を示す図である。
【図3】画像処理システムにおいて使用する画像データの階層構造を示す図である。
【図4】階層間の関係を説明するための説明図を示す図である。
【図5】画像処理装置の機能ブロック図を示す図である。
【図6】本実施例の画像処理のフローチャートを示す図である。
【図7】階層データを生成する制御部の構成を示す図である。
【図8】ゲームソフトウェアを実行することにより生成される仮想3次元空間の一例を示す図である。
【図9】カメラパラメータ設定部が仮想3次元空間内に設置した仮想カメラを示す図である。
【図10】図9に示す仮想カメラにより撮影されるゲーム画像を示す図である。
【図11】カメラ制御情報にしたがって第0階層の画像データを生成するために仮想3次元空間内に設置された仮想カメラを示す図である。
【図12】図11に示す仮想カメラにより撮影されるゲーム画像を示す図である。
【図13】階層ごとに設定されたカメラ制御情報の具体例を示す図である。
【図14】8k×4kの撮影領域を4つの撮影領域に分割する例を示す図である。
【図15】階層間の切り替わり時に設定されている演出データの一例を示す図である。
【図16】表示画像を変更する制御部の構成を示す図である。
【図17】カメラ制御情報にしたがって画像データを生成するために仮想3次元空間内に設置された仮想カメラを示す図である。
【図18】第3階層の画像データを撮影する仮想カメラによる撮影領域を示す図である。
【符号の説明】
【0085】
1・・・画像処理システム、10・・・画像処理装置、12・・・表示装置、20・・・入力装置、40・・・無線インタフェース、42・・・スイッチ、44・・・表示処理部、50・・・ハードディスクドライブ、52・・・記録媒体装着部、54・・・ディスクドライブ、60・・・メインメモリ、70・・・バッファメモリ、90・・・フレームメモリ、100・・・制御部、120・・・アプリケーション処理部、122・・・指示受付部、124・・・ゲーム実行部、126・・・カメラ制御情報取得部、128・・・演出情報取得部、130・・・画像データ生成部、132・・・カメラパラメータ設定部、134・・・描画条件設定部、136・・・ゲーム画像生成部、138・・・タイル画像生成部、140・・・階層データ生成部、150・・・指示受付部、160・・・表示画像処理部、162・・・画像データ取得部、164・・・デコード部、166・・・変更量導出部、168・・・空間座標決定部、170・・・演出指示部、172・・・表示画像生成部、210・・・仮想カメラ。
【技術分野】
【0001】
本発明は、たとえばゲームシーンを描写するゲーム画像を複数の解像度で生成して、複数階層の画像データを共通の座標系で表現した階層データを生成する画像処理技術、および階層データを用いてディスプレイに画像を表示する画像処理技術に関する。
【背景技術】
【0002】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、GPU(Graphics Processing Unit)がポリゴンを用いた三次元画像を生成する。
【特許文献1】米国特許第6563999号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来より、高精細な写真などのディジタル画像から生成された複数解像度のタイル画像を用いて、表示画像の拡大/縮小処理や、上下左右方向の移動処理を行う技術が提案されている。この画像処理技術では、原画像を複数段階に縮小して異なる解像度の画像を生成し、各階層の画像を一又は複数のタイル画像に分割して、原画像を階層構造で表現する。通常、最も解像度の低い画像は1つのタイル画像で構成され、最も解像度の高い原画像は、最も多い数のタイル画像で構成される。画像処理装置は、表示画像の拡大処理または縮小処理時に、使用しているタイル画像を、異なる階層のタイル画像に切り替えることで、拡大表示または縮小表示を迅速に行うようにしている。
【0004】
従来の階層データ構造は、原画像をもとに異なる解像度の画像を生成しているため、表示画像の単純な拡大表示または縮小表示の要求は満足するが、それ以上の視覚的な効果を提供することはできない。特に、ゲームアプリケーションにおける使用場面を想定すると、ある特定のゲームシーンを単純に拡大、縮小表示するだけでなく、ユーザに対してなんらかの視覚的な効果を与えるような表示制御を行えることが好ましい。このとき階層データをゲームアプリケーションに応じて構成することで、ゲームの世界観をユーザに提供することも可能となる。この要求は、ゲームの分野のみならず、他の分野にも共通である。
【0005】
そこで本発明は、階層データを生成する技術、および階層データを用いた表示処理技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様の画像処理装置は、階層データを生成する画像処理装置であって、各階層の画像データを生成する画像データ生成部と、複数階層の画像データを共通の座標系で表現した階層データを生成する階層データ生成部と、を備える。階層データ生成部は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加する。
【0007】
本発明の別の態様もまた、画像処理装置である。この装置は、画像をディスプレイに表示する画像処理装置であって、複数階層の画像データを共通の座標系で表現した階層データを保持する記憶装置と、ディスプレイに表示されている表示画像の変更指示信号を受け付ける受付部と、変更指示信号に応じて、表示処理に使用する画像データを切り替える際に、切替前の画像データと切替後の画像データの間に演出情報が設定されているか判断する演出指示部と、画像データを用いて、表示画像を生成する表示画像処理部とを備える。演出指示部により演出情報が設定されていることが判断された場合に、表示画像処理部は、画像データの切り替え時に、切替前の画像データと切替後の画像データの組み合わせに対して設定されている演出情報を用いて、表示画像に演出処理を施す。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によると、階層データを生成する技術、および階層データを用いた表示処理技術を提供することができる。
【発明を実施するための最良の形態】
【0010】
図1は、本発明の実施例にかかる画像処理システム1を示す。画像処理システム1は、入力装置20と、様々な画像処理を実行する画像処理装置10と、画像処理装置10による処理結果を出力する表示装置12とを備える。表示装置12は、画像を出力するディスプレイおよび音声を出力するスピーカを備えたテレビであってよい。表示装置12は、画像処理装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。なお画像処理装置10、入力装置20および表示装置12は、一体に形成されてもよく、たとえば画像処理機能を搭載した携帯端末装置として構成されてもよい。
【0011】
本実施例の画像処理装置10は、少なくとも2種類の画像処理機能を有する。1つは、複数の画像データを共通の座標系で表現した階層データを生成する機能であり、またもう1つは、生成された階層データを用いて表示画像の変更処理を行う機能である。画像処理装置10は、階層データ生成プログラムおよび画像変更処理プログラムをロードすることで、それぞれの画像処理機能を実行可能とする。これらのプログラムは、画像処理装置10にライブラリとして予め保持されていてもよく、インターネットなどのネットワークを介して外部のサーバからダウンロードされてもよい。
【0012】
本実施例において画像処理装置10は、ゲームソフトウェアを実行するゲーム装置であり、ゲームの進行中に入力装置20からゲーム画像の階層データを生成するためのキャプチャ指示を受け付けると、階層データ生成プログラムを起動する。このとき画像処理装置10は、ゲーム進行を一時中断して、仮想カメラにより、その指示時点のゲームシーンから画像データを複数キャプチャさせ、複数の解像度で構成される階層データを生成する。なお画像処理装置10は、全ての階層の画像データを、カメラ位置、画角、カメラの視線方向、カメラの傾きなどのカメラパラメータを同一にして撮影するのではなく、少なくとも1つの階層の画像データは、他の階層とは異なるカメラパラメータを設定された仮想カメラにより生成されるようにする。これにより、階層データ間の表示の連続性を敢えて途切れさせ、ゲーム独自の世界観をユーザに提供することができる。
【0013】
図2は、入力装置20の外観構成を示す。入力装置20は、ユーザが操作可能な操作手段として、十字キー21、アナログスティック27a、27bと、4種の操作ボタン26を備える。4種の操作ボタン26は、○ボタン22、×ボタン23、□ボタン24および△ボタン25から構成される。ゲームプログラムの実行時、入力装置20の操作手段には、プレイヤキャラクタを3次元仮想空間内で動作させるための機能が割り当てられる。
【0014】
画像処理システム1において、画像処理装置10が、ゲームの実行を一時中断して階層データを生成した後は、入力装置20の操作手段に、表示画像の拡大/縮小指示、および上下左右方向へのスクロール指示(以下、まとめて「画像変更指示信号」とよぶ)を入力するための機能が割り当てられる。たとえば、表示画像の拡大/縮小指示の入力機能は、右側のアナログスティック27bに割り当てられる。ユーザはアナログスティック27bを手前に引くことで、表示画像の縮小指示を入力でき、また手前から押すことで、表示画像の拡大指示を入力できる。また、表示画像のスクロール指示の入力機能は、左側のアナログスティック27aに割り当てられる。ユーザはアナログスティック27aを上下左右に倒すことで、倒した方向のスクロール指示を入力できる。このようにアナログスティック27a、27bは、表示画像を連続的にスクロールさせ、また連続的に拡大/縮小するために用いられる。
【0015】
入力装置20は、入力された画像変更指示信号を画像処理装置10に伝送する機能をもち、本実施例では画像処理装置10との間で無線通信可能に構成される。入力装置20と画像処理装置10は、Bluetooth(ブルートゥース)(登録商標)プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。なお入力装置20は、画像処理装置10とケーブルを介して接続して、画像変更指示信号を画像処理装置10に伝送してもよい。
【0016】
図3は、画像処理システム1において使用する画像データの階層構造を示す。画像データは、深さ(Z軸)方向に、第0階層30、第1階層32、第2階層34および第3階層36からなる階層構造を有し、この階層構造をもつ画像データを「階層データ」とよぶ。図3に示す階層データは4分木の階層構造を有し、各階層は、1以上のタイル画像38で構成される。すべてのタイル画像38は同じ画素数をもつ同一サイズに形成され、たとえば256×256画素を有する。なお階層データを構成する階層数は2以上であればよい。
【0017】
各階層の画像データは、共通の座標系において異なる解像度で表現されている。たとえば第N階層の解像度(Nは0以上の整数)は、左右(X軸)方向、上下(Y軸)方向ともに、第(N+1)階層の解像度の1/2であってよい。
【0018】
階層データの階層構造は、図3に示すように、左右方向をX軸、上下方向をY軸、深さ方向をZ軸として設定され、仮想的な3次元空間を構築する。画像処理装置10は、入力装置20から供給される画像変更指示信号から表示画像の変更量を導出すると、その変更量を用いて、階層を特定する情報と、その階層におけるテクスチャ座標(UV座標)を導出する。この階層特定情報およびテクスチャ座標の組み合わせを、空間座標と呼ぶ。なお各階層において、各頂点座標は同一であり、各階層の矩形画像データの頂点座標は、それぞれ(u0,v0)、(u0,v1)、(u1,v1)、(u1,v0)である。仮想空間における空間座標は、表示画像の生成処理に利用される。なお画像処理装置10は、表示画像の変更量を用いて仮想空間におけるフレームの4隅の3次元座標を導出してもよい。この4隅のフレーム座標も、空間座標と呼ぶ。
【0019】
画像処理装置10は、3次元ゲーム空間に仮想カメラを設置し、仮想カメラから仮想スクリーンに投影されるゲーム画像を取得して、各階層の画像データを生成する。本実施例の画像処理システム1では、異なる階層間でカメラパラメータを変更してもよく、また同じ階層内でカメラパラメータを変更してもよい。
【0020】
仮想カメラの視点位置、画角、視線方向および傾き(以下、カメラパラメータ)を固定として2つの階層の画像データを異なる解像度で生成すると、この2つの画像データは、同じ撮影領域のゲーム画像を異なる解像度で表現するだけであるため、これらの階層をまたがって表示画像を拡大、縮小表示する場合に、表示の連続性はとぎれない。一方、仮想カメラのカメラパラメータを変更して2つの階層の画像データを生成すると、この2つの画像データは、異なる撮影領域のゲーム画像を表現するため、これらの階層をまたがって表示画像を拡大、縮小表示する場合には、表示の連続性がとぎれることになる。なお、同一階層内でカメラの視点位置を変更して2つの画像データを生成する場合にも、この2つの画像データは異なる撮影領域のゲーム画像を表現するため、画像データを切り替える際に、表示の連続性がとぎれる。
【0021】
したがって画像処理装置10は、表示画像の生成に用いている画像データを、設定されたカメラパラメータの異なる仮想カメラで撮影された画像データに切り替える場合には、画像の切り替わりにおける不連続さをユーザに感じさせないように、所定の演出を挿入する。これにより、単純に拡大、縮小する表示だけでなく、ゲーム独自の世界観を表現する画像をユーザに提供できるようになる。
【0022】
図4は、階層間の関係を説明するための説明図を示す。この階層データ構造において、各階層はL0(第0階層30)、L1(第1階層32)、L2(第2階層34)、L3(第3階層36)と表現されている。図4に示す階層データ構造において、深さ(Z軸)方向における位置は、解像度を示し、L0に近い位置ほど解像度が低く、L3に近い位置ほど解像度は高い。ディスプレイに表示される画像の大きさに注目すると、深さ方向における位置は、拡大率に対応し、L0の表示画像の拡大率を1とすると、L1における拡大率は4、L2における拡大率は16となり、L3における拡大率は64となる。したがって深さ方向において、表示画像がL0側からL3側へ向かう方向に変化する場合、表示画像は拡大していき、L3側からL0側へ向かう方向に変化する場合は、表示画像は縮小していく。
【0023】
第1境界31、第2境界33、第3境界35は、L0を基準とした拡大率として定義され、表示画像の生成に使用するタイル画像の階層を定めるための判定基準として利用される。第1境界31は拡大率2に設定され、表示画像の要求拡大率が2より小さければ、L0タイル画像が使用される。第2境界33は拡大率8に設定され、表示画像の要求拡大率が2以上であり且つ8より小さければ、L1タイル画像が使用される。同様に第3境界35は拡大率32に設定され、表示画像の要求拡大率が8以上であり且つ32より小さければ、L2タイル画像が使用される。また表示画像の要求拡大率が32以上であれば、L3タイル画像が使用される。したがって画像処理装置10は、これから表示する画像の要求拡大率が定まれば、その拡大率に対応する解像度のタイル画像を記憶装置から読み出して、その拡大率に調整した表示画像を生成することができる。なお、拡大率は、図3に示す3次元空間において、深さ方向のZ値として定められてもよい。
【0024】
図5は、画像処理装置10の機能ブロック図を示す。画像処理装置10は、無線インタフェース40、スイッチ42、表示処理部44、ハードディスクドライブ50、記録媒体装着部52、ディスクドライブ54、メインメモリ60、バッファメモリ70および制御部100を有して構成される。表示処理部44は、表示装置12のディスプレイに表示するデータをバッファするフレームメモリを有する。
【0025】
スイッチ42は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ42は、ルータを介してインターネットなどの外部ネットワークに接続し、階層データ生成プログラムや画像変更処理プログラムをダウンロードしてもよい。またスイッチ42は無線インタフェース40に接続し、無線インタフェース40は、所定の無線通信プロトコルで入力装置20と接続する。入力装置20においてユーザから入力された画像変更指示信号は、無線インタフェース40、スイッチ42を経由して、制御部100に供給される。
【0026】
制御部100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。
【0027】
制御部100は、メインメモリ60およびバッファメモリ70に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。ローカルメモリは、バッファメモリ70として使用されてもよい。メインメモリ60およびバッファメモリ70は記憶装置であり、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ60とバッファメモリ70の間のデータ転送を高速に行うことができ、また表示処理部44におけるフレームメモリとバッファメモリ70の間で高速なデータ転送を実現できる。本実施例の制御部100は、複数のSPUを並列動作させることで、高速な画像処理機能を実現する。表示処理部44は、表示装置12に接続されて、ユーザからの要求に応じた画像処理結果を出力する。
【0028】
ハードディスクドライブ50は、データを記憶する補助記憶装置として機能する。記録媒体装着部52は、メモリカードなどのリムーバブル記録媒体が装着されると、リムーバブル記録媒体からデータを読み出す。ディスクドライブ54は、読出専用のROMディスクが装着されると、ROMディスクを駆動して認識し、データを読み出す。ROMディスクは、光ディスクや光磁気ディスクなどであってよく、ゲームソフトウェアを記録している。
【0029】
図6は、本実施例の画像処理のフローチャートを示す。画像処理装置10に電源が投入されてオペレーティングシステム(OS)が起動され、ユーザによりディスクドライブ54にROMディスクが装着されると、制御部100は、ROMディスクに記録されたゲームソフトウェアをハードディスクドライブ50に読み出し、ゲームソフトウェアを実行する(S10)。このとき制御部100は、必要なゲームプログラムをメインメモリ60にロードし、描画データや画像データをバッファメモリ70にロードする。
【0030】
本実施例において画像処理装置10はゲーム装置であり、仮想3次元空間をプレイヤキャラクタが行動するようなゲーム映像を3次元(3D)グラフィックスにより提供する。制御部100は、ゲームプログラムの実行にともなって発生する命令やデータに基づいて画像処理を行い、画像データを生成する。この画像処理には、たとえばテクスチャマッピングや光源処理など、3次元コンピュータグラフィックスを実現するための処理が含まれる。
【0031】
制御部100は、ゲームプログラムの実行中に入力装置20からキャプチャ指示を受けると、ゲーム進行を一時中断して、階層データ生成プログラムを起動する。このとき制御部100は、キャプチャ指示を受けた時点のゲーム画像の階層データを生成し(S12)、ハードディスクドライブ50に格納する。階層データの生成後、制御部100は、入力装置20から画像変更指示を受け付けると、画像変更処理プログラムを起動する。制御部100は、ハードディスクドライブ50に格納した階層データを用いて、入力装置20から供給される画像変更指示信号にしたがって、表示画像の拡大、縮小などの表示処理を実行する(S14)。
【0032】
図7は、階層データを生成する制御部100の構成を示す。制御部100は、アプリケーション処理部120、画像データ生成部130および階層データ生成部140を備える。アプリケーション処理部120は、指示受付部122、ゲーム実行部124、カメラ制御情報取得部126および演出情報取得部128を有する。
【0033】
アプリケーション処理部120は、ハードディスクドライブ50に保持されたゲームソフトウェアを読み出して実行し、またハードディスクドライブ50から階層データ生成処理および画像変更処理に必要なデータを取得する。これらの画像処理に必要なデータは、ゲームソフトウェアとともにROMディスクに記録されており、ゲームソフトウェアとともにハードディスクドライブ50に予め読み出されている。
【0034】
画像データ生成部130は、カメラパラメータ設定部132、描画条件設定部134、ゲーム画像生成部136およびタイル画像生成部138を有する。画像データ生成部130は、仮想3次元ゲーム空間内に仮想カメラを設置して、仮想カメラから仮想スクリーンに投影されるゲーム画像を生成する。ゲームの実行中、生成されたゲーム画像は、表示処理部44から表示装置12に出力され、動画像としてユーザに提供される。また、階層データの生成時、生成されたゲーム画像は、タイル画像に分割されて、階層データ生成部140に渡される。
【0035】
階層データ生成部140は、画像データ生成部130で生成されたタイル画像を受け取り、階層データを生成する。このとき階層データ生成部140は、複数階層のタイル画像を共通の2次元座標系で表現して階層データを生成し、また、階層データを用いて表示処理を行う際に、使用するタイル画像を切り替える際の演出情報を階層データに付加する。
【0036】
図7において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。たとえば画像データ生成部130は、GPU(Graphics Processing Unit)として構成されてよく、階層データ生成部140は、階層データ生成プログラムをロードすることで構成されてよい。
【0037】
指示受付部122が入力装置20からゲームの実行指示を受け付けると、ゲーム実行部124が、ゲームソフトウェアを実行する。ゲーム実行部124は、入力装置20からの操作指示、およびゲームの進行に応じて、描画に関する命令およびデータ(以下、「描画指示情報」とよぶ)を画像データ生成部130に供給する。画像データ生成部130は3DCG(3次元コンピュータグラフィックス)処理機能を有し、高速レンダリング処理など既知の3DCG技術を用いて、仮想カメラにより撮影される画像データを生成する。
【0038】
カメラパラメータ設定部132は、描画指示情報をもとに仮想3次元空間内に仮想カメラを設置する。描画指示情報には、仮想カメラの視点位置、画角(視領域)、視線方向、カメラの傾き等、カメラアングルを決定するためのカメラパラメータが含まれる。ゲーム実行部124は、入力装置20からの指示情報にしたがって描画指示情報を変更し、カメラアングルを切り替えるようにしてもよい。描画条件設定部134は、仮想カメラで取得する画像サイズを設定し、ここでは画像サイズが、表示装置12のディスプレイサイズに合わせられる。ゲーム画像生成部136は、仮想カメラで撮影する画像を、描画フレームごとにゲーム画像として取得する。この描画フレームは、1/60秒ごとに更新される。ゲーム画像生成部136は、ゲーム画像を表示処理部44に供給し、表示処理部44は、フレームメモリに展開したゲーム画像を表示装置12に供給する。これによりユーザは、動画像を見ながら、ゲームをリアルタイムでプレイできる。
【0039】
図8は、ゲームソフトウェアを実行することにより生成される仮想3次元空間の一例を示す。ゲーム実行部124は、ゲーム空間を構成するオブジェクトである建物204、木206、木208を所定位置に配置してシーンレイアウトを作成し、プレイヤキャラクタ200を入力装置20からの操作指示にしたがって動作させる。この例では、プレイヤキャラクタ200が、敵キャラクタ202と対決する戦闘シーンが構築されている。画像データ生成部130は、ゲーム実行部124から供給される指示情報にしたがって、プレイヤキャラクタ200および敵キャラクタ202を動かし、動的な仮想3次元空間を形成する。カメラパラメータ設定部132は、描画指示情報にしたがって、仮想3次元空間内に仮想カメラを設置する。
【0040】
図9は、カメラパラメータ設定部132が仮想3次元空間内に設置した仮想カメラ210を示す。このカメラアングルでは、仮想カメラ210が、プレイヤキャラクタ200を背後から撮影する。図10は、図9に示す仮想カメラ210により撮影されるゲーム画像を示す。このゲームシーンでは、プレイヤキャラクタ200と敵キャラクタ202とが対峙している様子が示される。
【0041】
ユーザは、図10に示すゲーム画像が表示装置12に表示されているときに、入力装置20の所定の操作手段を操作することで、ゲーム画像のキャプチャ指示を入力する。指示受付部122が、キャプチャ指示を受け付けると、カメラ制御情報取得部126は、ハードディスクドライブ50に保持されているカメラ制御情報を取得する。画像処理装置10において、キャプチャ指示は、ゲーム画像の階層データを生成するための指示情報として取り扱われる。なお指示受付部122がキャプチャ指示を受け付けると、ゲーム実行部124は、ゲームの進行を中断し、画像データ生成部130に階層データを構成するための画像データの生成を指示する。このとき表示装置12には、キャプチャ指示が入力された時点のゲーム画像、すなわち図10に示すゲーム画像が静止画として表示される。
【0042】
カメラ制御情報は、階層データを構成する複数階層の画像データを取得するための描画指示情報である。カメラ制御情報は、カメラパラメータに加えて、取得する画像データの解像度を特定するパラメータも含まれる。解像度を特定するパラメータは、画像サイズを特定する情報であってよい。以下の例では、ゲーム画像生成部136が、カメラパラメータを設定した仮想カメラに、仮想3次元空間を解像度情報にしたがって撮影させることで、第0階層、第1階層、第2階層の画像データを生成する。第1階層、第2階層の画像データは、キャプチャ指示が入力された時点の仮想カメラのカメラアングルで生成される。したがって第1階層と第2階層の画像データは、同一の領域を描画したものであり、第2階層は第1階層と比較して、画像サイズは4倍(解像度は2倍)に設定される。
【0043】
また第0階層の画像データは、キャプチャ指示が入力された時点の仮想カメラの位置から、プレイヤキャラクタ200に対して後方の位置に仮想カメラを再配置して生成される。第0階層と第1階層との間は、カメラアングルが変更されているため、第0階層と第1階層との間で画像データを切り替えたときの表示の連続性がとれないため、第0階層は第1階層と比較して、画像サイズが必ずしも1/4倍に設定されていなくてもよい。描画条件設定部134は、カメラ制御情報に含まれる解像度情報をもとに、生成するゲーム画像の描画条件(画像サイズ)を設定する。
【0044】
図11は、カメラ制御情報にしたがって第0階層の画像データを生成するために仮想3次元空間内に設置された仮想カメラ210を示す。図11に示す仮想カメラ210は、図9に示す仮想カメラ210の設置位置と比較すると、それよりもプレイヤキャラクタ200の後方に引いた位置に設けられていることが分かる。図12は、図11に示す仮想カメラ210により撮影されるゲーム画像を示す。仮想カメラの位置を後方に引くことで、広い領域を描画できるようになり、ユーザに対して周囲の状況も含む客観的な画像を提供できるようになる。
【0045】
まず、画像データ生成部130は、ゲーム実行部124から画像データの生成指示を受け取り、さらにカメラ制御情報取得部126で取得されたカメラ制御情報を受け取る。上記したように、カメラ制御情報には、階層ごとのカメラアングルを定める描画指示情報と、生成画像の解像度を特定する描画条件情報とが含まれる。解像度を特定する情報は、取得する画像サイズであってよい。
【0046】
図13は、階層ごとに設定されたカメラ制御情報の具体例を示す。カメラ制御情報は、ゲームソフトウェアとともにROMディスクに記録されており、ゲーム実行前に、ゲームソフトウェアとともにハードディスクドライブ50に予め読み出されている。
【0047】
解像度情報は、画像サイズの情報として設定され、第0階層、第1階層、第2階層において、それぞれ2k(1920画素)×1k(1080画素)、4k×2k、8k×4kに設定されている。この例では、第1階層の解像度が第0階層の2倍となっており、また第2階層の解像度が第1階層の2倍となっている。なお既述したように、第1階層と第2階層の画像データは、同一の撮影領域であるため、第1階層に対して第2階層の解像度が2倍となるように設定され、このとき第1階層と第2階層のLOD(Level Of Detail)は、異なるように設定される。LODは、画像データの詳細度を表現するが、ここでは第1階層よりも第2階層のゲーム画像自体の解像度(詳細度)を大きくすることで、LODが変更される。一方、第0階層と第1階層の画像データは、異なる撮影領域であるため、第0階層に対して第1階層の解像度が2倍となる必要は必ずしもない。カメラ制御情報には、カメラアングルの情報が含まれ、第0階層のカメラアングルが、キャプチャ指示時点のカメラ位置から仮想3次元空間においてプレイヤキャラクタ200から所定距離だけ後方に引いた位置であることが設定されている。
【0048】
カメラパラメータ設定部132および描画条件設定部134は、各階層に対して定められたカメラ制御情報にしたがって、それぞれ仮想カメラのカメラアングルおよび解像度を設定し、ゲーム画像生成部136は、それぞれの階層のゲーム画像を生成する。具体的に、第0階層のゲーム画像が、図12に示すゲームシーンとして2k×1kのサイズで生成され、第1階層のゲーム画像が、図10に示すゲームシーンとして4k×2kのサイズで生成され、第2階層のゲーム画像が、図10に示すゲームシーンとして8k×4kのサイズで生成される。
【0049】
なおゲーム画像生成部136は、仮想カメラで撮影される画像をバッファメモリ70に展開してゲーム画像を生成するが、バッファメモリ70が、たとえば8k×4kの画像データに十分なメモリサイズを有していない場合もある。そのような場合には、カメラパラメータ設定部132が、撮影領域を複数に分割し、カメラ制御情報により設定されるカメラアングルを適宜調整する。
【0050】
図14は、8k×4kの撮影領域を4つの撮影領域に分割する例を示す。このときカメラパラメータ設定部132は、仮想カメラの設置位置はそのままに、4k×2kの4つの撮影領域を撮像するように仮想カメラの視線方向および画角を調整する。これにより大きなサイズのゲーム画像も、仮想カメラにより撮影することが可能となる。
【0051】
タイル画像生成部138は、それぞれの階層の画像データを、所定サイズのタイル画像に分割する。生成されたタイル画像は、階層データ生成部140に供給される。なおタイル画像生成部138は、生成したタイル画像を、所定の圧縮形式で圧縮してもよい。タイル画像生成部138は、タイル画像ごとに圧縮してもよく、また同一階層内の複数のタイル画像を圧縮してもよい。
【0052】
階層データ生成部140は、複数階層の画像データ(タイル画像)を共通の座標系で表現して、これらを互いに関連づけた階層データを生成する。階層データ生成部140は、たとえば図3に示すような階層データを生成するが、各階層の画像データは、縦横比を同一とする矩形の画像サイズを有している。各階層において、各頂点座標は同一とされ、たとえば4点の頂点座標は、それぞれ(u0,v0)、(u0,v1)、(u1,v1)、(u1,v0)とされる。このように複数の画像データを共通の座標系で表現することにより、各階層の画像データを互いに関連づけることができ、階層データを用いた表示画像の拡大処理や縮小処理を実現可能とする。階層データの生成の際、演出情報取得部128は、表示処理に使用する画像データを切り替える際の演出データをハードディスクドライブ50から取得して、階層データ生成部140に供給する。
【0053】
図15は、階層間の切り替わり時に設定されている演出データの一例を示す。演出データは、ゲームソフトウェアとともにROMディスクに記録されており、ゲーム実行前に、ゲームソフトウェアとともにハードディスクドライブ50に予め読み出されている。
【0054】
図15において、階層間情報は、切替前の階層と切替後の階層を特定し、たとえば「第0階層と第1階層の間」は、表示に用いる画像データが第0階層から第1階層に切り替わること、および第1階層から第0階層に切り替わること、を意味する。また演出情報は、階層の切り替わりの際に実行する演出を特定する情報であり、「クロスフェード」は、階層切り替わり時にクロスフェードを実行すること、「なし」は、階層切り替わり時に演出を実行しないこと、を意味する。
【0055】
階層データ生成部140は、演出情報取得部128から供給される演出データを用いて、階層間の切り替え時に実行する演出情報を階層データに付加する。これにより階層データが生成される。具体的に階層データ生成部140は、演出データにしたがって、設定されたカメラパラメータが異なる仮想カメラにより撮影された2つの画像データの組み合わせに対して演出情報を設定する。実施例では、第0階層と第1階層の画像データを撮影するためのカメラパラメータが異なっているため(図13参照)、第0階層と第1階層の画像データの組み合わせに対して、演出情報が設定されている。
【0056】
なお階層データ生成部140が、演出情報取得部128から供給される演出データにもとづいて演出情報を階層データに付加することとしたが、たとえば図13に示すカメラ制御情報から、階層間においてカメラパラメータが異なって設定されていることを判断して、演出情報を階層データに付加してもよい。この場合に付加する演出情報は、クロスフェードなど、予め定まっているものとする。これにより階層データ生成部140は、第0階層と第1階層の画像データの組み合わせに対して、演出情報を設定することが可能となる。これにより、表示画像に用いる画像データが撮影領域の異なる階層間で遷移する場合において、表示画像の不連続さに起因する違和感をユーザに感じさせることなく、ゲーム特有の世界観をユーザに与えることが可能である。
【0057】
一方、階層データ生成部140は、設定されたカメラパラメータが同じ仮想カメラにより撮影された2つの画像データの組み合わせに対しては、演出情報を設定しない。具体的に、第1階層と第2階層の画像データを撮影するためのカメラパラメータは同じであるため(図13参照)、図15に示す演出データにも示されるように、第1階層と第2階層の画像データの組み合わせに対しては演出情報が付加されないようになっている。
【0058】
階層データ生成部140は、既述したように、図13に示すカメラ制御情報から、階層間においてカメラパラメータが同じに設定されていることを判断して、演出情報を階層データに付加しないようにしてもよい。カメラパラメータが同一である場合は、表示画像に用いる画像データが階層間で遷移する場合において、連続した拡大処理、縮小処理を実行できるため、演出情報を付加しなくても、ユーザにスムーズな拡大、縮小表示という演出を提供することが可能となる。
【0059】
階層データ生成部140は、生成した階層データをハードディスクドライブ50に格納する。階層データ生成部140は、階層データをハードディスクドライブ50に格納すると、ユーザに対して画像変更処理が可能になったことを表示装置12から通知させる。
【0060】
図16は、表示画像を変更する制御部100の構成を示す。制御部100は、指示受付部150および表示画像処理部160を備える。表示画像処理部160は、画像データ取得部162、デコード部164、変更量導出部166、空間座標決定部168、演出指示部170および表示画像生成部172を有する。表示画像処理部160は、階層データを用いて表示画像の変更処理を行う。
【0061】
図16において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、制御部100は1つのPPUと複数のSPUとを有し、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。たとえば表示画像処理部160は、画像変更処理プログラムをロードすることで構成されてよい。
【0062】
ユーザが入力装置20を操作して、画像変更処理の実行を指示すると、指示受付部150がその指示を受け付け、画像処理装置10が、画像変更処理プログラムを起動して、階層データを用いた画像変更処理を開始する。このとき階層データはハードディスクドライブ50から読み出されて、メインメモリ60に保持される。
【0063】
ユーザが入力装置20のアナログスティック27を操作すると、画像変更指示信号が画像処理装置10に送信される。指示受付部150は、入力装置20から、ディスプレイに表示されている表示画像の変更指示信号を受け付け、表示画像処理部160に供給する。
【0064】
画像データ取得部162は、変更指示信号をもとに、表示画像の生成に用いるタイル画像をメインメモリ60から読み出す。デコード部164は、タイル画像をデコードし、バッファメモリ70に保持させる。たとえば画像データ取得部162は、変更指示信号で表示が要求される画像の拡大率を予測して、将来必要となるであろうタイル画像を先読みして、バッファメモリ70に保持させることが好ましい。
【0065】
変更量導出部166は、変更指示信号をもとに、要求される表示画像の変更量を導出する。表示画像の変更量は、1フレームごとの上下左右方向の移動量および深さ方向の移動量である。空間座標決定部168は、前回フレームのテクスチャ座標から、導出された変更量により移動する今回フレームのテクスチャ座標を決定する。表示画像生成部172は、テクスチャ座標をもとに、バッファメモリ70に保持されたタイル画像を用いて、表示画像を生成し、表示処理部44のフレームメモリ90に供給する。
【0066】
なお本実施例の階層データには、既述したように、階層間で画像データを切り替える際の演出情報が設定されている。演出指示部170は、変更指示信号に応じて表示処理に使用する画像データを切り替える際に、切替前の画像データと切替後の画像データの間に演出情報が設定されているか判断する。図15に関連して説明したように、本実施例では、第1階層と第2階層の切り替わり時には演出情報が設定されていないが、第0階層と第1階層の切り替わり時には演出情報(クロスフェード)が設定されている。したがって、演出指示部170は、第0階層から第1階層にタイル画像を切り替える際、また第1階層から第0階層にタイル画像を切り替える際に、表示画像生成部172に対してクロスフェードの実行を指示する。これにより表示画像生成部172は、表示画像に演出処理を施し、具体的にはタイル画像の切り替え時に、元のタイル画像をフェードアウトし、また新しいタイル画像をフェードインして、クロスフェードを実行して、タイル画像の遷移にともなう不連続さをユーザに感じさせないようにする。
【0067】
第0階層と第1階層の画像データは、異なるカメラパラメータで撮影された画像であり、単純に拡大、縮小すると表示の不連続さをユーザに与えることになる。したがって、クロスフェードなどの画像処理を施すことで、この不連続性を緩和することができる。また一方で表示画像を単純に拡大、縮小するだけではなく、単純な操作で新たな視点に移行できるため、ゲームならではの世界観をユーザに提供することも可能となる。
【0068】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0069】
上記した実施例では、第0階層と第1階層との間で仮想カメラのパラメータ情報を変更して、画像データを生成したが、仮想カメラのパラメータ情報は、同一階層内において変更されてもよい。
【0070】
図17は、カメラ制御情報にしたがって画像データを生成するために仮想3次元空間内に設置された仮想カメラ210a〜210fを示す。仮想カメラ210a、210b、210cは、第3階層の画像データを生成するために設置され、仮想カメラ210d、210eは、第2階層の画像データを生成するために設置され、仮想カメラ210fは、第0階層の画像データを生成するために設置される。この変形例では、各仮想カメラ210のカメラパラメータのうち、階層間だけでなく、同一階層内においても、カメラ位置がそれぞれ異なるように設定されている。
【0071】
図18は、第3階層の画像データを撮影する仮想カメラ210a、210b、210cによる撮影領域220a、220b、220cを示す。この変形例では、同一階層の画像データを、カメラ位置を変えて撮影するため、同一階層内においても表示画像に用いる画像データを切り替える際に、画像データ間の連続性が損なわれる。そのため、隣り合う仮想カメラの撮影領域に重複領域を設けるように仮想カメラのパラメータを設定して、画像データの切替前、および切替後においては、表示画像を一方の画像データから生成可能とする。
【0072】
この変形例において、まず画像データ生成部130は、ゲーム実行部124から画像データの生成指示を受け取り、さらにカメラ制御情報取得部126で取得されたカメラ制御情報を受け取る。カメラ制御情報には、仮想3次元空間内のカメラアングルを定める描画指示情報と、生成画像の解像度を特定する描画条件情報とが含まれる。解像度を特定する情報は、取得する画像サイズであってよい。この変形例では、たとえば第3階層、第2階層内においても複数の描画指示情報および描画条件情報がカメラ制御情報に含まれる。
【0073】
カメラパラメータ設定部132および描画条件設定部134は、カメラ制御情報にしたがって、それぞれ仮想カメラのカメラアングルおよび解像度を設定し、ゲーム画像生成部136は、各仮想カメラによるゲーム画像を生成する。タイル画像生成部138は、それぞれの仮想カメラにより撮影された画像データを、所定サイズのタイル画像に分割する。生成されたタイル画像は、階層データ生成部140に供給される。なおタイル画像生成部138は、生成したタイル画像を、所定の圧縮形式で圧縮してもよい。
【0074】
階層データ生成部140は、仮想カメラで撮影された画像データを階層ごとにまとめ、複数階層の画像データ(タイル画像)を共通の座標系で表現して、これらを互いに関連づけた階層データを生成する。このとき演出情報取得部128は、表示処理に使用する画像データを切り替える際の演出データをハードディスクドライブ50から取得して、階層データ生成部140に供給する。
【0075】
階層データ生成部140は、演出情報取得部128から供給される演出データを用いて、画像データの切り替え時に実行する演出情報を階層データに付加する。これにより階層データが生成される。この変形例では、異なる階層間だけでなく、同一の階層内においても表示画像に用いる画像データを切り替える際に、表示の連続性が途切れることとなるため、XY方向、およびZ方向に隣り合う全ての画像データの組み合わせに対して、演出情報が設定される。すなわち階層データ生成部140は、表示処理に使用する画像データを異なる階層の画像データに切り替える際の演出情報を階層データに付加するだけでなく、表示処理に使用する画像データを、異なるカメラ位置から撮影された同一階層の画像データに切り替える際の演出情報も階層データに付加する。生成された階層データはハードディスクドライブ50に格納される。階層データ生成部140は、階層データをハードディスクドライブ50に格納すると、ユーザに対して画像変更処理が可能になったことを表示装置12から通知する。表示画像処理部160は、演出情報にしたがって、階層データから表示画像を生成する。
【0076】
なお図17に示す例では、仮想カメラ210bが、木208の内部に配置されている。仮想カメラ210bは、この位置で撮影しても、適切なゲーム画像を取得することはできない。そこで、カメラパラメータ設定部132は、仮想カメラ210と仮想3次元空間内のオブジェクトとの接触判定機能を有し、仮想カメラ210の視点がオブジェクトの内部にあることが判定された場合には、ゲーム画像生成部136が、その撮影画像を、所定色の画像、たとえば白ベタ画像に変更する。図18を参照すると、撮影領域220bの撮影画像が白ベタ画像となる。この画像データを用いて階層データを生成した後は、仮想カメラ210bで撮影された画像データを用いて表示画像を生成すると、表示画像が白ベタ画像となるが、これによりユーザは、なんらかの異常が生じていることを容易に認識できるようになる。
【0077】
また、この場合に、白ベタ画像とするのではなく、たとえば図3に示す仮想3次元空間において、仮想カメラ210bにより生成された画像データを表示画像に用いる領域を不可視領域として設定し、空間座標決定部168が、入力装置20から供給される画像変更指示信号による表示領域と、不可視領域とのコリジョン判定を行ってもよい。コリジョンが判定された場合、変更量導出部166は、不可視領域には移動できないように変更量を導出する。これによりユーザは、画像変更に際して障害物が存在して見ることができない領域があることを判断し、結果として不可視領域を迂回するように、画像の変更指示を入力装置20から入力することが可能となる。
【0078】
実施例では、第0階層の画像データを、キャプチャ指示受付時点のカメラ位置からプレイヤキャラクタ200の後方に所定距離引いた位置から撮影するようにした。これにより、ゲームの進行に合わせた表示画像の変更処理を実現するが、たとえば第0階層の画像データを、ゲームの全体マップを表現したマップ画像としてもよい。このマップ画像は予めゲームソフトウェアに含まれており、ユーザが、全体のストーリを把握するのに役立つものである。したがって、この場合は、画像データ生成部130が、第0階層の画像データを新たに生成する必要がなく、処理負荷を軽減できるとともに、ユーザは表示画像を縮小することで、ゲームのマップを見ることができ、ゲームならではの演出をユーザに提供することが可能となる。なお、第0階層の画像データは、ゲームマップに限らず、予めゲームソフトウェアで用意されているものであってよい。
【0079】
実施例では、画像変更指示信号の入力機能を、アナログスティック27a、27bに割り当てるとしたが、この入力機能は、ゲームの操作系に合わせて設定されてもよい。たとえば、ゲーム実行中のプレイヤキャラクタ200の移動操作が十字キー21に割り当てられている場合、階層データを用いた表示変更処理において、表示画像のスクロール指示の入力機能も十字キー21に割り当てられることが好ましい。ゲームの操作系はゲーム実行部124により知られている。そのためゲーム実行部124は、指示受付部150にゲームの操作系を通知し、指示受付部150が、画像変更指示のための操作系をデフォルト設定からゲーム操作系に合わせて変更することで、それぞれの操作系を共通とすることが可能となる。
【0080】
実施例において、各階層の画像データは、キャプチャ指示受付時点の仮想3次元空間からキャプチャされて生成されているが、複数の階層の画像データを、異なる時点で生成することも可能である。このとき、ゲーム実行部124は、キャプチャ指示を受け付けた時点の画像を表示装置12に表示させるが、ユーザの操作に関係なく、その時点から予測される将来のゲーム進行を実行する。たとえば図10のゲームシーンに関していうと、画像データ生成部130は、表示装置12に表示はされないが、プレイヤキャラクタ200と敵キャラクタ202がさらに接近して、お互いが持っている武器を構えるシーンを生成する。画像データ生成部130は、キャプチャ指示受付時点のゲームシーン(図10参照)を第2階層の画像データとして生成し、さらにプレイヤキャラクタ200と敵キャラクタ202が接近したゲームシーンを第3階層の画像データとして生成する。これにより、階層データの生成後、ユーザは、第2階層の画像データを拡大していくと、第3階層の画像データに遷移したときに、将来予測されるゲームシーンを見ることができ、ゲームをより面白くすることができる。
【0081】
また実施例では、1つの階層データを生成したが、右目用、左目用の階層データをそれぞれ生成してもよい。表示画像生成部172は、拡大率に応じて、両眼視差分ずらして、それぞれの階層データから画像を合成して表示画像を生成することで、ステレオグラムをユーザに提供することが可能となる。
【0082】
また実施例では、視線方向を共通とする1つの階層データを生成したが、異なる視線方向から複数の階層データを生成してもよい。このとき、入力装置20の操作手段に対して、視線方向の切替機能を割り当てることで、ユーザは、視点を変更して、画像の拡大、縮小表示を楽しむことができる。
【0083】
また、表示画像生成部172は、階層データを用いて生成した表示画像に、別の画像を重畳表示することも可能である。たとえば、レーシングカー前方の画像を階層データとして用意しておきつつ、レーシングカーのインジケータを別画像として用意しておくことで、表示画像生成部172は、レーシングカー前方の画像の拡大、縮小処理を行いながら、固定サイズのインジケータ画像を表示画像に重畳させることも可能である。
【図面の簡単な説明】
【0084】
【図1】本発明の実施例にかかる画像処理システムを示す図である。
【図2】入力装置の外観構成を示す図である。
【図3】画像処理システムにおいて使用する画像データの階層構造を示す図である。
【図4】階層間の関係を説明するための説明図を示す図である。
【図5】画像処理装置の機能ブロック図を示す図である。
【図6】本実施例の画像処理のフローチャートを示す図である。
【図7】階層データを生成する制御部の構成を示す図である。
【図8】ゲームソフトウェアを実行することにより生成される仮想3次元空間の一例を示す図である。
【図9】カメラパラメータ設定部が仮想3次元空間内に設置した仮想カメラを示す図である。
【図10】図9に示す仮想カメラにより撮影されるゲーム画像を示す図である。
【図11】カメラ制御情報にしたがって第0階層の画像データを生成するために仮想3次元空間内に設置された仮想カメラを示す図である。
【図12】図11に示す仮想カメラにより撮影されるゲーム画像を示す図である。
【図13】階層ごとに設定されたカメラ制御情報の具体例を示す図である。
【図14】8k×4kの撮影領域を4つの撮影領域に分割する例を示す図である。
【図15】階層間の切り替わり時に設定されている演出データの一例を示す図である。
【図16】表示画像を変更する制御部の構成を示す図である。
【図17】カメラ制御情報にしたがって画像データを生成するために仮想3次元空間内に設置された仮想カメラを示す図である。
【図18】第3階層の画像データを撮影する仮想カメラによる撮影領域を示す図である。
【符号の説明】
【0085】
1・・・画像処理システム、10・・・画像処理装置、12・・・表示装置、20・・・入力装置、40・・・無線インタフェース、42・・・スイッチ、44・・・表示処理部、50・・・ハードディスクドライブ、52・・・記録媒体装着部、54・・・ディスクドライブ、60・・・メインメモリ、70・・・バッファメモリ、90・・・フレームメモリ、100・・・制御部、120・・・アプリケーション処理部、122・・・指示受付部、124・・・ゲーム実行部、126・・・カメラ制御情報取得部、128・・・演出情報取得部、130・・・画像データ生成部、132・・・カメラパラメータ設定部、134・・・描画条件設定部、136・・・ゲーム画像生成部、138・・・タイル画像生成部、140・・・階層データ生成部、150・・・指示受付部、160・・・表示画像処理部、162・・・画像データ取得部、164・・・デコード部、166・・・変更量導出部、168・・・空間座標決定部、170・・・演出指示部、172・・・表示画像生成部、210・・・仮想カメラ。
【特許請求の範囲】
【請求項1】
階層データを生成する画像処理装置であって、
各階層の画像データを生成する画像データ生成部と、
複数階層の画像データを共通の座標系で表現した階層データを生成する階層データ生成部と、を備え、
前記階層データ生成部は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加することを特徴とする画像処理装置。
【請求項2】
前記画像データ生成部は、カメラパラメータを設定した仮想カメラに仮想3次元空間を撮影させることで画像データを生成し、
前記階層データ生成部は、設定されたカメラパラメータが異なる仮想カメラにより撮影された2つの画像データの組み合わせに対して、演出情報を設定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記カメラパラメータは、仮想カメラの位置、画角および仮想カメラの視線方向を含むことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記階層データ生成部は、表示処理に使用する画像データを異なる階層の画像データに切り替える際の演出情報を、階層データに付加することを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
前記階層データ生成部は、表示処理に使用する画像データを、異なるカメラ位置から撮影された同一階層の画像データに切り替える際の演出情報を、階層データに付加することを特徴とする請求項1から4のいずれかに記載の画像処理装置。
【請求項6】
前記画像データ生成部は、設定されたカメラパラメータが同じ仮想カメラにより撮影された2つの画像データの組み合わせに対しては、演出情報を設定しないことを特徴とする請求項2または3に記載の画像処理装置。
【請求項7】
画像をディスプレイに表示する画像処理装置であって、
複数階層の画像データを共通の座標系で表現した階層データを保持する記憶装置と、
ディスプレイに表示されている表示画像の変更指示信号を受け付ける受付部と、
前記変更指示信号に応じて、表示処理に使用する画像データを切り替える際に、切替前の画像データと切替後の画像データの間に演出情報が設定されているか判断する演出指示部と、
画像データを用いて、表示画像を生成する表示画像生成部と、を備え、
前記演出指示部により演出情報が設定されていることが判断された場合に、前記表示画像生成部は、画像データの切り替え時に、切替前の画像データと切替後の画像データの組み合わせに対して設定されている演出情報を用いて、表示画像に演出処理を施すことを特徴とする画像処理装置。
【請求項8】
コンピュータに、
各階層の画像データを生成する機能と、
複数階層の画像データを共通の座標系で表現した階層データを生成する機能と、を実現させるためのプログラムであって、
階層データを生成する機能は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加する機能を含むことを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
階層データを生成する画像処理装置であって、
各階層の画像データを生成する画像データ生成部と、
複数階層の画像データを共通の座標系で表現した階層データを生成する階層データ生成部と、を備え、
前記階層データ生成部は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加することを特徴とする画像処理装置。
【請求項2】
前記画像データ生成部は、カメラパラメータを設定した仮想カメラに仮想3次元空間を撮影させることで画像データを生成し、
前記階層データ生成部は、設定されたカメラパラメータが異なる仮想カメラにより撮影された2つの画像データの組み合わせに対して、演出情報を設定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記カメラパラメータは、仮想カメラの位置、画角および仮想カメラの視線方向を含むことを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記階層データ生成部は、表示処理に使用する画像データを異なる階層の画像データに切り替える際の演出情報を、階層データに付加することを特徴とする請求項1から3のいずれかに記載の画像処理装置。
【請求項5】
前記階層データ生成部は、表示処理に使用する画像データを、異なるカメラ位置から撮影された同一階層の画像データに切り替える際の演出情報を、階層データに付加することを特徴とする請求項1から4のいずれかに記載の画像処理装置。
【請求項6】
前記画像データ生成部は、設定されたカメラパラメータが同じ仮想カメラにより撮影された2つの画像データの組み合わせに対しては、演出情報を設定しないことを特徴とする請求項2または3に記載の画像処理装置。
【請求項7】
画像をディスプレイに表示する画像処理装置であって、
複数階層の画像データを共通の座標系で表現した階層データを保持する記憶装置と、
ディスプレイに表示されている表示画像の変更指示信号を受け付ける受付部と、
前記変更指示信号に応じて、表示処理に使用する画像データを切り替える際に、切替前の画像データと切替後の画像データの間に演出情報が設定されているか判断する演出指示部と、
画像データを用いて、表示画像を生成する表示画像生成部と、を備え、
前記演出指示部により演出情報が設定されていることが判断された場合に、前記表示画像生成部は、画像データの切り替え時に、切替前の画像データと切替後の画像データの組み合わせに対して設定されている演出情報を用いて、表示画像に演出処理を施すことを特徴とする画像処理装置。
【請求項8】
コンピュータに、
各階層の画像データを生成する機能と、
複数階層の画像データを共通の座標系で表現した階層データを生成する機能と、を実現させるためのプログラムであって、
階層データを生成する機能は、表示処理に使用する画像データを切り替える際の演出情報を階層データに付加する機能を含むことを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2010−125040(P2010−125040A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−302478(P2008−302478)
【出願日】平成20年11月27日(2008.11.27)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願日】平成20年11月27日(2008.11.27)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】
[ Back to top ]