(57)【特許請求の範囲】
【請求項１】
表示すべき画像の表示画面内の奥行きを示すＺデータを記録するＺバッファを利用し、画像処理対象のピクセルのＺデータと前記ＺバッファのＺデータとを比較してより手前に位置する場合の画像データをフレームバッファに記録する方法であって、事前に生成した第１の画像とリアルタイムで生成した第２の画像とを合成する画像処理方法において、
（ａ）テキスチャデータ及び表示画面内の奥行きを示すテキスチャＺデータとを所定の画素単位で有し、事前に生成した前記第１の画像のデータを、テキスチャバッファに記録する工程と、
（ｂ）前記第１の画像の描画命令に応答して、前記Ｚバッファ内のＺデータと前記テキスチャＺデータから生成される前記第１の画像のＺデータとを比較し、前記第１の画像の処理対象のピクセルが表示画面内のより手前に位置する時に、前記テキスチャデータから生成した第１の画像データを前記フレームバッファ内の対応する位置に記録する工程と、
（ｃ）前記第２の画像を構成するポリゴンの描画命令に応答して、前記Ｚバッファ内のＺデータと前記ポリゴン内のピクセルのＺデータとを比較し、前記ポリゴン内のピクセルが表示画面内のより手前に位置する時に、前記ポリゴンの第２の画像データを前記フレームバッファ内の対応する位置に記録する工程とを有し、
前記テキスチャＺデータは、前記第１の画像内のオブジェクトの所定の位置からのＺ方向の変位を示すデータであり、
前記工程（ｂ）において、前記第１の画像の描画命令は、前記オブジェクトが配置される前記表示画面内の奥行きを示す配置Ｚデータを有し、前記配置Ｚデータと前記テキスチャＺデータとから前記第１の画像のＺデータが生成されることを特徴とする画像処理方法。
【請求項２】
請求項１において、少なくとも前記工程（ｂ）、（ｃ）は、フレーム毎に繰り返されることを特徴とする画像処理方法。
【請求項３】
表示すべき画像の表示画面内の奥行きを示すＺデータを記録するＺバッファを利用し、画像処理対象のピクセルのＺデータと前記ＺバッファのＺデータとを比較してより手前に位置する場合の画像データをフレームバッファに記録する手順であって、事前に生成した第１の画像とリアルタイムで生成した第２の画像とを合成する画像処理手順をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記プログラムは、前記コンピュータに、
（ａ）テキスチャデータ及び表示画面内の奥行きを示すテキスチャＺデータとを所定の画素単位で有し、事前に生成した前記第１の画像のデータを、テキスチャバッファに記録する手順と、
（ｂ）前記第１の画像の描画命令に応答して、前記Ｚバッファ内のＺデータと前記テキスチャＺデータから生成される前記第１の画像のＺデータとを比較し、前記第１の画像の処理対象のピクセルが表示画面内のより手前に位置する時に、前記テキスチャデータから生成した第１の画像データを前記フレームバッファ内の対応する位置に記録する手順と、
（ｃ）前記第２の画像を構成するポリゴンの描画命令に応答して、前記Ｚバッファ内のＺデータと前記ポリゴン内のピクセルのＺデータとを比較し、前記ポリゴン内のピクセルが表示画面内のより手前に位置する時に、前記ポリゴンの第２の画像データを前記フレームバッファ内の対応する位置に記録する手順とを有し、
前記テキスチャＺデータは、前記第１の画像内のオブジェクトの所定の位置からのＺ方向の変位を示すデータであり、
前記手順（ｂ）において、前記第１の画像の描画命令は、前記オブジェクトが配置される前記表示画面内の奥行きを示す配置Ｚデータを有し、前記配置Ｚデータと前記テキスチャＺデータとから前記第１の画像のＺデータが生成されることを特徴とする画像処理プログラムを記録した記録媒体。
【請求項４】
請求項３において、少なくとも前記手順（ｂ）、（ｃ）は、フレーム毎に繰り返されることを特徴とする画像処理プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、背景画像等の事前に生成した第１の画像に、ゲームやシミュレーションの進行中にリアルタイムで生成した第２の画像を合成する画像処理方法に関し、演算時間を長くすることなく第１の画像に奥行きを持たせてより現実的な画像の生成を可能にする画像処理方法及びその画像処理プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
ゲームやシミュレーションにおいて、事前に生成した背景画像等に、リアルタイムで生成されるオブジェクトの画像を合成することが広く行われている。この事前に生成される画像には、例えば、コンピュータ・グラフィックにより生成した静止画や動画、映画の画像、そしてアニメーションにより生成される画像等が含まれる。これらの画像は、コンピュータによりリアルタイムで生成するには演算時間がかかりすぎるので、事前に生成した静止画やフレーム画像を背景ポリゴンのテキスチャとして記録して利用することが行われる。
【０００３】
即ち、コンピュータ・グラフィックの例で説明すると、先ず、事前に背景画像を生成するにあたり、背景の絵をコンピュータを利用してモデリングし、そのモデリングしたデータをレンダリング処理により静止画のピクセル毎の色データを生成する。この色データがテキスチャデータとして、画像処理装置内のテキスチャバッファに記録され、平面ポリゴンの一種である背景ポリゴンに対して、テキスチャバッファ内のテキスチャデータが色データとして描画される。かかる処理により、ビル、樹木、山等の複数のオブジェクトを含む背景画像を、１つのポリゴンとして取り扱うことができ、演算時間を大幅に短縮することができる。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記の方法では、背景画像内にリアルタイムで移動するオブジェクトを合成する場合、単に背景画像上にそのオブジェクトを合成することしかできず、奥行き感及び遠近感に欠ける合成画像になってしまう。
【０００５】
図１は、かかる従来の課題の合成画像を説明する図である。図１（ａ）は、事前に生成される背景画像の例を示す図である。この例では、画面の奥行き方向に沿って、２つのビルＢ１，Ｂ２が並んでいる。図１（ｂ）は、リアルタイムに生成されるオブジェクトの画像を示す図であり、ビルＢ３が画面の中心よりやや右側で、２つのビルＢ１，Ｂ２の間の位置に配置される例である。図１（ｃ）は、従来の方法により背景画像（図１（ａ））とオブジェクトの画像（図１（ｂ））とが合成された画像である。
【０００６】
従来の方法によれば、背景画像は１つの平面ポリゴンとして処理されるので、その画像内には画面内の奥行きは存在しない。従って、従来の方法では、その背景画像上に、リアルタイムで生成されるある奥行き（Ｚ値）を有するオブジェクトＢ３が単に合成されるのみである。従って、従来の合成画像（図１（ｃ））は、奥行き感がなく、ビルＢ３が手前側のビルＢ１の手前に位置することになり、現実の画像からかけ離れたものとなる。
【０００７】
そこで、本発明では、図１（ｄ）に合成画像に示される通り、リアルタイムに生成されるオブジェクトＢ３を背景画像内のビルＢ１とＢ２の間の位置に合成することを目的とする。
【０００８】
従来の方法においても、背景画像の奥行きの異なるオブジェクトＢ１，Ｂ２を異なる平面ポリゴンで処理することにより、擬似的に図１（ｄ）の如き合成画像を生成することが可能である。しかしながら、かかる方法は、突き詰めれば背景画像内の複数のオブジェクトを全て異なる平面ポリゴンで処理することを意味し、かかる処理はコンピュータの演算処理時間を長くし、リアルタイムの画像処理には不向きな方法であり採用することはできない。あくまでも本発明では、背景画像は１枚の或いは少数の平面ポリゴンの如く取り扱うことで、背景画像による演算時間を短くすることが前提であり、その前提のもとで、リアルタイムに生成されるオブジェクトを合成するときに、合成画像に遠近感をもたせることが目的である。
【０００９】
図２は、更に、従来の課題の合成画像を説明する図である。図２の例では、画面１０内において、手前側に壁Ｗ１が、奥側に壁Ｗ２が配置され、それらの壁Ｗ１，Ｗ２につながる奥行き方向に延びる壁Ｗ３が更に配置される。そして、壁Ｗ３には、トンネルＴ１が形成される。かかる背景画像に対して、リアルタイムで合成される車等の移動オブジェクトＯＢ１が、壁Ｗ３内のトンネルＴ１内に入り込むような合成画像を生成することは、上記した従来の方法では、不可能である。即ち、背景画像を１つの平面ポリゴンとして取り扱いその平面ポリゴンに画一的な奥行き値（例えば無限大）を与える以上、その平面ポリゴン内に他のオブジェクトのポリゴンを入り込ませることは不可能である。また、壁Ｗ１，Ｗ２，Ｗ３を別々の平面ポリゴンで処理したとしても、壁Ｗ３に対する平面ポリゴンが画一的な奥行き値を与えられる限り、壁Ｗ３の途中にリアルタイムで生成されたオブジェクトＯＢ１を入り込ませることはできない。
【００１０】
そこで、本発明では、図２に示される様に、壁Ｗ１，Ｗ２，Ｗ３とトンネルＴ１からなる背景画像に、リアルタイムで生成されるオブジェクトＯＢ１を入り込ませる様に合成することができる画像処理方法を提供することを目的とする。
【００１１】
本発明の目的は、事前に生成した画像内にリアルタイムで生成した画像を合成するに際し、画像処理の負担を増すことなく、事前に生成した画像に奥行き感を与えて合成することができる画像処理方法及びその画像処理プログラムを記録した記録媒体を提供することにある。
【００１２】
更に、本発明の目的は、事前に生成した画像内にリアルタイムで生成した画像を合成するに際し、画像処理の負担を増すことなく、事前に生成した画像の奥行き方向の任意の位置でリアルタイムに合成した画像を入り込ませることを可能にする画像処理方法及びその画像処理プログラムを記録した記録媒体を提供することにある。
【００１３】
更に、本発明の目的は、事前に生成した画像を画面内の任意の位置に配置し、更に、リアルタイムで生成した画像をその中に遠近感を与えて合成、或いは奥行き方向の任意の位置で入り込ませて合成することができる画像処理方法及びその画像処理プログラムを記録した記録媒体を提供することにある。
【００１４】
【課題を解決するための手段】
上記の目的を達成する為に、本発明は、事前に生成される背景画像等の画像のデータは、テキスチャデータあるいは色データである画像データと、表示画面内の奥行きを示すＺデータとを有する。そして、かかる事前に生成される背景画像等のデータが、記録媒体に予め記録される。そして、リアルタイムに生成されるオブジェクトのＺデータと、背景画像等のＺデータとが比較され、より手前の画像データがフレームバッファに書き込まれる。事前に生成される画像のデータに、Ｚデータを追加することにより、背景画像内にリアルタイムに生成されるオブジェクトの画像を奥行き感あるいは遠近感をもって合成することが可能になる。
【００１５】
上記の目的を達成するために、本発明は、事前に生成した第１の画像と、リアルタイムで生成した第２の画像とを合成する画像処理方法において、
前記第１の画像のデータとして、テキスチャデータ及び表示画面内の奥行きを示すテキスチャＺデータとが、所定の画素単位で、事前に生成されており、
前記第２の画像における前記表示画面内の奥行きを示すＺデータと、前記表示画面内の対応する画素位置での前記テキスチャＺデータとに従って、前記表示画面内のより手前に位置する前記第１の画像または第２の画像のデータを、フレームバッファ内に記録する工程とを有することを特徴とする。
【００１６】
上記の発明によれば、背景画像等の第１の画像のデータに、Ｚデータを含ませることにより、第１の画像内に、リアルタイムで生成される第２の画像を、奥行き感あるいは遠近感をもって合成することが可能になる。
【００１７】
上記の目的を達成するために、本発明は、表示すべき画像の表示画面内の奥行きを示すＺデータを記録するＺバッファを利用し、処理対象の画像のＺデータと前記ＺバッファのＺデータとを比較してより手前に位置する前記処理対象の画像データをフレームバッファに記録する方法であって、事前に生成した第１の画像とリアルタイムで生成した第２の画像とを合成する画像処理方法において、
（ａ）第１の画像データ及び表示画面内の奥行きを示す第１のＺデータとを所定の画素単位で有し、事前に生成した前記第１の画像のデータを、第１のバッファに記録する工程と、
（ｂ）前記Ｚバッファ内のＺデータと前記第１のバッファ内の第１のＺデータとを比較し、前記第１の画像が表示画面内のより手前に位置する時に、前記第１のバッファ内の第１の画像データを前記フレームバッファ内の所定の位置に描画する工程と、
（ｃ）前記Ｚバッファ内のＺデータと前記第２の画像の第２のＺデータとを比較し、前記第２の画像が表示画面内のより手前に位置する時に、前記第２の画像の第２の画像データを前記フレームバッファ内の所定の位置に描画する工程とを有することを特徴とする。
【００１８】
上記の発明によれば、背景画像等の事前に生成した第１の画像のデータを一旦第１のバッファに記録することにより、その画像の任意の位置を任意の大きさでフレームバッファ内に記録することができる。更に、そのＺデータとリアルタイムに生成される第２の画像のＺデータと比較することにより、より手前に位置する第２の画像の画像データをフレームバッファ内に書き込むことができる。従って、第１の画像内に第２の画像を奥行き感をもって合成させることができる。上記の工程（ｂ），（ｃ）は、どちらを先に行っても良い。
【００１９】
上記の目的を達成するために、本発明は、表示すべき画像の表示画面内の奥行きを示すＺデータを記録するＺバッファを利用し、画像処理対象のピクセルのＺデータと前記ＺバッファのＺデータとを比較してより手前に位置する場合の画像データをフレームバッファに記録する方法であって、事前に生成した第１の画像とリアルタイムで生成した第２の画像とを合成する画像処理方法において、
（ａ）テキスチャデータ及び表示画面内の奥行きを示すテキスチャＺデータとを所定の画素単位で有し、事前に生成した前記第１の画像のデータを、テキスチャバッファに記録する工程と、
（ｂ）前記第１の画像の描画命令に応答して、前記Ｚバッファ内のＺデータと前記テキスチャＺデータから生成される前記第１の画像のＺデータとを比較し、前記第１の画像の処理対象のピクセルが表示画面内のより手前に位置する時に、前記テキスチャデータから生成した第１の画像データを前記フレームバッファ内の対応する位置に記録する工程と、
（ｃ）前記第２の画像を構成するポリゴンの描画命令に応答して、前記Ｚバッファ内のＺデータと前記ポリゴン内のピクセルのＺデータとを比較し、前記ポリゴン内のピクセルが表示画面内のより手前に位置する時に、前記ポリゴンの第２の画像データを前記フレームバッファ内の対応する位置に記録する工程とを有することを特徴とする。
【００２０】
更に、上記の目的は、上記の画像処理方法をコンピュータに実行させるプログラムを記録した記録媒体によっても達成される。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態について図面に従って説明する。しかしながら、本発明の技術的範囲がその実施の形態に限定されるものではない。本発明は、ゲーム装置やシミュレーション装置における画像処理方法に適用できるが、以下の実施の形態例では、ゲーム装置を例にして説明する。また、事前に生成される第１の画像は、背景画像に限定されず、操作入力に応答してリアルタイムにその形態が変化するものではない画像であるが、以下の実施の形態例では、背景画像を例にして説明する。
【００２２】
図３は、ゲーム装置の概略構成例を示す図である。図３に示されたゲーム装置では、ＣＰＵ２０がゲームプログラムを実行し、ゲームの進行に同期して変化する画像を生成するための描画コマンドを発生する。ＣＰＵ２０は、ゲームプログラムの実行時に使用するためのワークＲＡＭ２２とバス２４を介して接続される。
【００２３】
バス２４は、ＣＰＵ２０ともっぱら画像の描画を行うレンダラ３４との間のインターフェースとなるシステムコントローラ２６に接続される。システムコントローラ２６は、ＣＰＵ２０により発行される描画コマンドや、その他のコマンドをレンダラ３４に転送する。また、システムコントローラ２６は、外部インターフェース２８に接続され、ゲームプログラムやゲームに必要なオブジェクトのデータが記録されたＣＤＲＯＭ等の様な外部記憶媒体３０と、操作入力を入力するためのコントロールパット３２に接続される。
【００２４】
画像の描画を行うレンダラ３４は、例えばビデオデジタルプロセッサで構成され、バス３８を介してフレームバッファ４０と、Ｚデータバッファ４２と、テキスチャバッファメモリ４４と、テキスチャＺバッファメモリ４６とに接続される。レンダラ３４は、システムコントローラ２６を経由してＣＰＵ２０から送られる描画コマンド及びその他のコマンドに応答して、テキスチャデータ及びテキスチャＺデータをテキスチャバッファ４４及びテキスチャＺバッファ４６に格納し、また、描画すべき画像データをフレームバッファ４０に格納するとともに、その描画されるピクセルの表示画面内の奥行きを示すＺデータをＺデータバッファ４２内の対応する位置に格納する。そして、１フレーム分の画像データをフレームバッファ４０内に格納し終わると、レンダラ３４は、その画像データを図示しないモニタに転送しモニタ画面にゲームの画像を表示させる。
【００２５】
テキスチャメモリ４４は、通常リアルタイムに生成されるオブジェクトのテキスチャデータや、事前に生成される背景画面のテキスチャデータ等が記録される。本実施の形態例において特徴的な点は、事前に生成される背景画像について、そのテキスチャデータをテキスチャバッファ４４に格納するとともに、その背景画像の奥行きを示すＺデータを、テキスチャＺバッファ４６にも格納することにある。事前に生成される背景画像のテキスチャデータ及びテキスチャＺデータは、ＣＤＲＯＭのような外部記録媒体３０に格納されている。このＣＤＲＯＭ３０内に格納された背景画像のテキスチャデータ及びテキスチャＺデータが、システムコントローラ２６により読み出され、ワークＲＡＭ２２内に格納される。そして、ＣＰＵ２０によってそれらのデータが解凍され、システムコントローラ２６を経由してレンダラ３４に供給され、レンダラ３４は、それぞれテキスチャバッファ４４及びテキスチャＺバッファ４６にそれらのデータを格納する。
【００２６】
その後、ＣＰＵ２０により背景画像の描画コマンドがレンダラ３４に与えられ、レンダラ３４はその描画コマンドに応答してテキスチャバッファ内の背景画像のテキスチャデータを読み出し、所定のレンダリング処理を行い、生成された色データからなる画像データをフレームバッファ４０に格納する。その時に、テキスチャＺメモリ４６から読み出されたテキスチャＺデータも、Ｚデータバッファ４２内に格納される。ゲーム装置のプレーヤによって入力される操作入力は、コントロールパット３２からシステムコントローラ２６を経由してワークＲＡＭ２２に格納される。この操作入力に応答して、ＣＰＵ２０はゲームプログラムを実行し、リアルタイムに生成されるオブジェクトの描画コマンドを発行し、レンダラ３４に供給する。レンダラ３４は、その描画コマンドに応答して、Ｚデータバッッファ４２内に格納されているＺデータと描画処理中のピクセルのＺデータ等を比較する、いわゆる陰面処理により、表示画面内でより手前にあるオブジェクトの画像データをフレームバッファ４０内の対応する位置に書き込む。
【００２７】
以上の様に、概略的に述べれば、背景画像のテキスチャデータにテキスチャＺデータを加えることにより、その後のリアルタイムに生成されるオブジェクトの描画のためのレンダリング処理において、Ｚデータの比較による陰面処理を行うことができ、リアルタイムに生成されるオブジェクトを背景画像内に奥行き感または遠近感をもって合成することが可能になる。
【００２８】
図４は、第１の実施の形態例の画像処理のフローチャート図である。図４のフローチャートに従って、本実施の形態例の画像処理工程を詳細に説明する。ここでは、事前に生成される画像として背景画像を例にして説明する。まず最初に事前の工程として、背景画像の生成とその画像データ及びＺデータが生成され、ＣＤＲＯＭ等の外部記録媒体に記録される（Ｓ１０、Ｓ１２、Ｓ１４）。
【００２９】
コンピュータグラフィックを利用して背景画像を生成する場合は、まず背景画像のモデリングが行われる（Ｓ１０）。この背景画像のモデリングとは、三次元座標上でのビルや木あるいは山道路等のオブジェクトを三次元座標空間内に配置しその形状を作成する処理である。従って、モデリングの結果、三次元座標上でのオブジェクトの座標データとそれぞれのオブジェクトの属性データが作成される。次に、そのように作成されたデータを利用して背景画像のレンダリングが行われる（Ｓ１２）。このレンダリング工程は、例えばパースペクティブ変換により三次元座標から二次元座標上の座標データに変換され、さらに各オブジェクトに対して色データが生成される。従って、このレンダリングによって、二次元座標上での色データあるいは模様のデータからなる画像データと表示画面内の奥行きを示すＺデータとが、所定単位の画素ごとに生成される。尚、ここでいう所定単位の画素とは、必ずしも最終的にモニタ表示画面に表示される画素 (ピクセル）に対応するものである必要はない。例えば、それよりも解像度の低い所定の画素単位で画像データとＺデータが生成されてもよい。
【００３０】
以上の工程Ｓ１０，Ｓ１２により、コンピュータグラフィックによる背景画像の生成が行われる。そして、それら事前に生成された画像データとＺデータとが、ＣＤＲＯＭ等の外部記録媒体に記録される（Ｓ１４）。以上により、背景画像の生成が終了する。その後は、この外部記録媒体３０を利用して、ゲーム処理内の画像処理が工程Ｓ１６〜Ｓ２６に従って行われる。
【００３１】
外部記録媒体であるＣＤＲＯＭ３０は、上記した背景画像の画像データ及びＺデータに加えて、ゲームプログラム及び必要なオブジェクトのテキスチャデータやその他の属性データが記録されている。ゲームの開始にあたり、図３に示したゲーム装置にＣＤＲＯＭ３０が装着され（Ｓ１６）、ＣＤＲＯＭ３０の装着に伴い、その内部に記録されているゲームプログラムやオブジェクトのテキスチャデータ及びその他の属性データが、図３に示した内部のワークＲＡＭ２２内に読み出される。
【００３２】
図４において、ステップＳ１８〜Ｓ２６に示された画像処理工程は、ゲーム画像のフレーム毎に繰り返される。
【００３３】
まず最初に、ＣＰＵ２０は、ＣＤＲＯＭ３０から背景画像の画像データ及びＺデータを読み出す。これらのデータは、通常圧縮されて保存されているので、ワークＲＡＭ２２に一旦読み出され、解凍される（Ｓ１８）。ＣＰＵ２０は、解凍した画像データ及びＺデータを、テキスチャバッファ４４及びテキスチャＺバッファ４６に記憶するようレンダラ３４にコマンドを発効する。そのコマンドに応答して、レンダラ３４は、背景画像の画像データ及びＺデータを、テキスチャバッファ４４及びテキスチャＺバッファ４６に格納する（Ｓ２０）。
【００３４】
ここで背景画像の画像データは、例えば白色光又は所定の光源光のもとでの色データであるテキスチャデータである。また、背景画像のＺデータは、所定の固定された視点に基づく表示画面内の奥行きを示す値である。背景画像のテキスチャデータに画面内の奥行きを示すＺデータを追加することにより、後のレンダリング処理におけるＺデータの比較を伴う陰面処理に対応することができ、リアルタイムに生成されるオブジェクトを背景画像上に奥行き感または遠近感をもって合成することができる。
【００３５】
次に、ゲームの進行に伴い、ＣＰＵ２０は、背景画像を描画するコマンド又はリアルタイムに生成されるオブジェクトを構成するポリゴンを描画するコマンドを発生する（Ｓ２２）。これらの描画コマンドは、システムコントローラ２６を経由して、レンダラ３４に供給される。
【００３６】
図５は、描画コマンドの例を示す図である。図５には、コマンド１としてポリゴンＡの描画を命令するコマンド及びコマンド２として背景画像Ａの描画を命令するコマンドが示される。尚、コマンド３については後の実施の形態例において説明する。リアルタイムに生成されるオブジェクトを構成するポリゴンＡの描画コマンド１には、その属性データとして、ポリゴンの表示画面上の位置を示すスクリーン座標Ｓｘ、Ｓｙと、表示画面内の奥行値Ｚ（Ｚデータ）と、そのポリゴンの模様を示すテキスチャデータが格納されているテキスチャバッファ４４内の座標Ｔｘ、Ｔｙと、ポリゴンＡの色データＲ，Ｇ，Ｂ及びそのポリゴンの透明度α等が添付される。これらの属性データは、例えばポリゴンＡの各頂点毎に与えられる。
【００３７】
背景画像Ａの描画を命令するコマンド２には、その属性データとして、背景画像Ａを表示すべき表示画面内の位置を示すスクリーン座標Ｓｘ、Ｓｙと、その背景画像Ａの模様であるテキスチャデータが格納されているテキスチャバッファ４４内のテキスチャ座標Ｔｘ，Ｔｙと、その表示画像内の各画素の奥行きを示すＺデータが格納されているテキスチャＺバッファ４６内のテキスチャＺ座標ＴＺｘ，ＴＺｙと、背景画像Ａの色データＲ，Ｇ，Ｂ等を有する。これらの属性データは、例えば背景画像Ａが四角形の場合は、４つの頂点毎に与えられる。
【００３８】
図４のフローチャートに戻り、レンダラ３４は、供給された描画コマンドに応答して、処理対象のピクセルのＺデータとＺバッファ４２内のＺデータとを比較する陰面処理（Ｓ２４）を行い、処理中のピクセルのＺデータがより手前を示す場合は、テキスチャバッファ４４から読み出されたテキスチャデータと与えられている色データ及び透明度データ等に従って、処理対象ピクセルの画像データを生成し、フレームバッファ４０の対応する位置に記録する。さらに、その処理対象ピクセルのＺデータをＺバッファ４２の対応する位置に記録する（Ｓ２６）。
【００３９】
リアルタイムに生成されるオブジェクトのポリゴンについては、各頂点毎に与えられたＺデータを補間演算することにより、ポリゴン内のピクセルのＺデータが求められる。そのようにして求められた処理対象ピクセルのＺデータが、すでにＺバッファ内に書き込まれている対応するピクセル位置のＺデータと比較される（Ｓ２４）。そして処理対象ピクセルのＺデータがＺバッファ４２内のＺデータよりも小さい（より手前に位置する）場合に、その処理対象ピクセルの画像データが演算により求められ、フレームバッファ４０に書き込まれる（Ｓ２６）。一方、背景画像Ａの描画コマンドに対しては、レンダラ３４は、通常のポリゴン内のピクセルのＺデータを求める補間演算を行うことなく、テキスチャＺバッファ４６内に格納されているＺデータから、処理対象ピクセルのＺデータを求める。このＺデータを利用して、上記工程Ｓ２４，Ｓ２６が行われる。
【００４０】
図６は、背景画像のテキスチャバッファとテキスチャＺバッファを示す図である。前述したとおり、背景画像の処理の負担を軽くするために、背景画像のテキスチャデータは、表示画面に対応するフレームバッファ４０の解像度よりもすくない解像度で生成される。同様に背景画像のＺデータが格納されるテキスチャＺバッファにおいても、表示画面に対応するＺバッファ４２の解像度よりも低い解像度となる。一般に、表示画面内の画素であるピクセル毎に画像データ及びＺデータが、フレームバッファ４０及びＺバッファ４２に記録される。それに対して、背景画像のテキスチャバッファ及びテキスチャＺバッファ４６内には、上記ピクセルよりも解像度の低い、例えばテクセルと呼ばれる所定の画素単位で、背景画像の画像データとＺデータが格納される。従って、例えば背景画像を表示画面一杯に表示する場合は、レンダラ３４が、テキスチャバッファ４４から読み出したテキスチャデータから、解像度の高い表示画面の画素単位の画像データを演算で求め、フレームバッファ４０内に格納する。尚、ここで言う画像データとは、画素の色データ（Ｒ，Ｇ，Ｂの階調データ）を言う。テキスチャデータの場合と同様に、レンダラ３４は、テキスチャＺバッファ４６から読み出したＺデータに従って、より解像度の高い表示画面の画素単位のＺデータを生成し、Ｚデータバッファ４２に格納する。
【００４１】
図７は、背景画像のテキスチャバッファとテキスチャＺバッファを示す図である。図７の場合は、背景画像のテキスチャデータのサイズよりも小さな画像がフレームバッファ４０内に書き込まれる例を示す。この場合は、レンダラ３４が、テキスチャバッファ４４から背景画像に対応するテキスチャデータを読み出し、そのテキスチャデータを間引くなどの適切な処理により解像度を低くし、フレームバッファ４０の所定の位置に書き込む。同様にレンダラ３４は、テキスチャＺバッファ４６内の背景画像のＺデータを読み出し、同様にそのサイズを縮小してＺバッファ４２内の対応する位置に記録する。
【００４２】
図４のフローチャートに戻って、上記したＺデータを比較する陰面処理（Ｓ２４）と、処理対象ピクセルがより手前に位置するときに行われる画像データとＺデータのフレームバッファ４４及びＺバッファ４２への格納工程（Ｓ２６）は、描画コマンドによって指定されたポリゴン又は背景画像のすべてのピクセルに対して行われる。さらに、工程Ｓ２２、Ｓ２４及びＳ２６は、フレーム内のすべてのポリゴン及び背景画像に対して行われる。１フレーム内のすべてのポリゴン及び背景画像のレンダリング処理が終了すると、レンダラ３４はフレームバッファ４０内の画像データを図示しないモニタへ転送し、その画像を表示させる。
【００４３】
上記のフローチャートにおいて、工程Ｓ１８がフレーム毎に行われる。この様にすることにより、背景画像が毎フレームで異なる場合にも対応することができ、更に、背景画像の画像データをテクセル単位のデータにして、その処理負担を軽くし、且つ、背景画像を任意のサイズに変更してフレームバッファに描画することが可能になる。
【００４４】
上記した第１の実施の形態例における画像処理方法では、背景画像に対して固定的なＺデータを与える。従って、画像処理上の視点の位置は、同じ背景画像を使用する限りにおいて固定されていなければならない。視点の位置を固定して、その視点に対して与えられた背景画像のＺデータを、リアルタイムに生成されるオブジェクトのポリゴンのＺデータと比較することにより、適切な陰面処理を行うことができ、奥行き感または遠近感を伴って背景画像内にオブジェクトの画像を合成することができる。視点の位置を固定することは、ある意味でゲームの画像の種類に制限を与える。しかしながら、視点の位置を変えなくても、その視野角の大きさを変化させることにより、疑似的に視点の位置を前後させたような画像を生成することができる。第１の実施の形態例においては、一つの背景画像に対しては、視点の位置を固定しなければならないが、視野角を変えるズームイン及びズームアウトの手法によって、疑似的に視点の位置を前後させた時の画像を生成する。
【００４５】
図８は、そのズームイン及びズームアウトを説明するための図である。図８には、図１（ｄ）に示された合成画像内のビルＢ１、Ｂ２、Ｂ３がそれぞれ配置される。今仮に、視点ＶＰに対して実線で示したような視野角に設定されたとする。その場合、ビルＢ１、Ｂ２、Ｂ３は実線で示されたスクリーンＳＲ１上に映し出される。今仮に、ビルＢ３が破線の矢印で示した様に、視点ＶＰ側に移動したとする。このようにリアルタイムに生成されるオブジェクトが手前に移動する場合は、それに伴って視点ＶＰを後方に移動させることが一般に行われる。しかしながら本第１の実施の形態例においては、視点ＶＰを移動させることができないので、図８中の破線に示すとおり視野角を広げるズームアウト処理を行い、破線で示したスクリーンＳＲ２上に、移動したビルＢ３ともともと背景画像内にあるビルＢ１、Ｂ２とを映し出す。更に、ビルＢ３が元の位置に移動すれば、再度実線の如くズームイン処理を行う。この様なズームイン及びズームアウトの手法を取ることにより、視点ＶＰを移動することなく疑似的に視点ＶＰを前方又は後方に移動したのと類似の画像を得ることができる。
【００４６】
図９は、図８において示されたスクリーンＳＲ１とスクリーンＳＲ２に表示される画像の例を示す図である。図９の矢印にて示されるとおり、スクリーンＳＲ１のごとく画面一杯にビルＢ１，Ｂ２，Ｂ３が表示される画像から、ズームアウトによりスクリーンＳＲ２に示される様に、ビルＢ１、Ｂ２を後方に配置して、且つビルＢ３を前方に大きく配置した画像を生成することができる。逆に、スクリーンＳＲ２に示された画像から、ズームインすることにより、スクリーンＳＲ１のごとく拡大した画像を形成することができる。上記した図６及び図７で示した方法を利用することにより、図９に示されたスクリーンＳＲ１のような拡大された画像とスクリーンＳＲ２の様に縮小された画像に、背景画像をそれぞれ描画することが可能になる。
【００４７】
上記した第１の実施の形態例において、事前に作成される背景画像に画像の色データであるテキスチャデータに加えて、奥行きを示すＺデータを加えることにより、図２に示したような奥行き方向の任意の位置に、リアルタイムに作成されるオブジェクトを入り込ませることが可能になる。図２に示されたような背景画像の場合は、壁Ｗ１及びＷ２に対するＺデータは一定の値であるが、奥行き方向に伸びる壁Ｗ３に対するＺデータは、画素毎に異なるＺデータが与えられる。従って、図４のフローチャートに示した工程Ｓ２４のＺデータの比較による陰面処理を行うことにより、図２内のトンネルＴ１の外にあるオブジェクトＯＢ１を表示し、トンネルＴ１の中にあるオブジェクトを表示しない合成画像を形成することが可能になる。しかも、背景画像は依然として一つの平面ポリゴンとして取り扱うことが可能であり、画像処理に余分な演算処理の負荷を与えることはない。
【００４８】
図１０は、第２の実施の形態例における背景画像を説明するための図である。第１の実施の形態例では、あらかじめ生成される背景画像に対して、固定された視点に対する奥行きを示すＺデータが与えられた。第２の実施の形態例では、そのような視点の位置を固定するという制限をなくすために、事前に生成される背景画像のＺデータとして、所定の基準位置Ｚ０からの変位ΔＺ１〜ΔＺ５によってＺデータが与えられる。
【００４９】
図１０において示された例は、円錐形の樹木のオブジェクトである。図１０（ａ）に示された背景画像には円錐形の木ＴＲ１が含まれる。図１０（ｂ）は、図１０（ａ）のＺデータを説明するもので、その背景画像内のオブジェクトである木ＴＲ１の横断面１−２をしめしており、所定の基準位置Ｚ０に対して、樹木の表面の点での変位ΔＺ１〜ΔＺ５が示される。具体的には、基準位置Ｚ０に対して実線の半円の変位データΔＺがＺデータとして与えられる。図１０（ｂ）に示されるとおり、視点ＶＰが決められると、視点ＶＰから基準の位置Ｚ０までのＺデータが与えられることにより、背景画像の各画素のＺ値が、基準位置Ｚ０までのＺデータとＺ０からの変位であるＺデータとによって演算により求められる。
【００５０】
第２の実施の形態例においては、上記した基準の位置Ｚ０からの変位が背景画像のＺデータとしてＣＤＲＯＭ３０内に格納される。ＣＤＲＯＭ３０から読み出されたＺデータは、レンダラ３４によりテキスチャＺバッファ４６内に記録される。第２の実施の形態例における背景画像の描画コマンドは、図５に示したコマンド３のように、背景画像の表示画面上の位置を示すスクリーン座標Ｓｘ，Ｓｙと、表示画面内の奥行きを示すＺデータＺ０とが属性データとして与えられる。他の属性データとしてテキスチャ座標、テキスチャＺ座標及び色データが与えられるのは、第１の実施の形態例における背景画像を描画するコマンド２の場合と同じである。この様に、背景画像の描画を命令するコマンド３には、奥行きを示すＺデータＺ０が与えられる。従って、このＺデータＺ０と、テキスチャＺバッファ４６から読み出される基準位置Ｚ０からの変位を示すＺデータΔＺ１〜ΔＺ５とから、現在処理中の視点ＶＰに対する背景画像のＺデータが、
Ｚ＝Ｚ０＋ΔＺ
の演算式により求められる。
【００５１】
上記の様に、第２の実施の形態例では、背景画像のＺデータとして変位データΔＺが利用され、背景画像の描画命令コマンドに属性データとして奥行きを示すＺデータＺ０が与えられる。それ以外の点は、第１の実施の形態例と同じである。従って、図４に示した画像処理のフローチャート図は、第２の実施の形態例においてもそのまま適用することができる。
【００５２】
図１１は、複数の背景画像を利用する場合の例を示す図である。上記したとおり、各背景画像のＺデータとして基準位置からの変位データを利用することにより、複数の背景画像を異なる奥行き方向に配置することができる。
【００５３】
図１１（ａ）には、奥行き方向Ｚの方向に対して手前側に木ＴＲ１の背景画像が、奥側に木ＴＲ２の背景画像がそれぞれ配置される。このように配置するために、背景画像を描画するコマンドには、属性データとして奥行きを示すＺデータＺａとＺｂがそれぞれ与えられる。図１１（ｂ）には、画面１０内に２つの背景画像の木ＴＲ１とＴＲ２が描画された例が示される。奥行き方向のより奥側に位置する木ＴＲ２の形状を小さくする場合は、すでに説明したとおりテキスチャバッファ４４から読み出したテキスチャデータを適当に間引く等の処理ことによって、縮小して表示することができる。
【００５４】
上記したとおり、第２の実施の形態例では、視点ＶＰの位置をフレーム毎に変更して表示画面内の任意の位置に背景画像を描画することが可能になる。そして、背景画像にＺデータを与えることにより、リアルタイムに生成されるオブジェクトのＺ値と比較する陰面処理を利用して、背景画像内にオブジェクトの画像を奥行き感または遠近感をもって合成することができる。
【００５５】
図１２は、第３の実施の形態例における画像処理のフローチャート図である。図１２において、図４に示したフローチャートの工程と同じ工程には、同じ工程番号を与えている。従って、図１２における工程Ｓ１０〜Ｓ１８及びＳ２４とＳ２６は、図４に示した対応する工程と同じである。図４における工程Ｓ２０及びＳ２２は、図１２においては工程Ｓ２００及びＳ２２０にそれぞれ置き換えられる。
【００５６】
第３の実施の形態例では、背景画像のテキスチャデータ及びＺデータは、ゲーム装置内のテキスチャバッファ４４及びテキスチャＺバッファ４６には格納されず、外部記録媒体３０から読み出されて解凍されたデータが、そのままゲーム装置内のフレームバッファ４０及びＺデータバッファ４２に記録される。従って、第３の実施の形態例では、背景画像の色データを示す画像データと奥行きを示すＺデータは、表示画面の画素単位で生成され、外部記録媒体３０内に記録されている。そして、画像処理における視点の位置及び視野角は、固定的であることが前提である。
【００５７】
上記の第３の実施の形態例は、映画等のフレーム毎に画像が異なる動画であって、そのサイズが固定的な場合に有効である。即ち、外部記録媒体３０内の背景画像のデータを一旦テキスチャバッファやテキスチャＺバッファに格納する必要がないから、処理をより効率的に行うことができる。
【００５８】
図１２に従って説明すると、工程Ｓ１０，Ｓ１２，Ｓ１４は、第１及び第２の実施の形態例と同様に背景画像のモデリング、背景画像のレンダリング及びそれによって生成された画像データとＺデータの記録媒体への記録工程である。これらの工程は、事前に行われる。次に、ＣＤＲＯＭ３０がゲーム装置に装着されてゲームが開始される（Ｓ１６）。まず最初に、背景画像の画像データとＺデータとが、ＣＤＲＯＭ３０から読み出され、解凍される（Ｓ１８）。この解凍された画像データ及びＺデータは、ＣＰＵ２０からシステムコントローラ２６を経由してレンダラ３４に供給され、そのままフレームバッファ４０及びＺデータバッファ４２に記録される（Ｓ２００）。
【００５９】
そして、ゲームの進行に同期して入力される操作入力信号に応答して、ＣＰＵ２０がリアルタイムに生成されるオブジェクトのポリゴンの描画コマンドを発生し、レンダラ３４に与える（Ｓ２２０）。ここでの描画コマンドには、リアルタイムに生成されるポリゴンの描画コマンドのみであり、背景画像に対する描画コマンドは生成されない。すでにフレームバッファ内に背景画像の画像データが記録され、そのＺデータがＺバッファ４２に記録されているので、その後発生するポリゴンの描画コマンドに応答して、レンダラ３４は、ポリゴン内のピクセルのＺ値を補間演算により求め、Ｚバッファ４２内のＺ値と比較する陰面処理を行い、処理中のピクセルが手前に位置する場合にのみそのピクセルの画像データを求めフレームバッファ４０の対応する位置に上書きする。同時に、そのピクセルのＺデータが、Ｚバッファ４２内の対応する位置に上書きされる。以上の工程Ｓ２４，Ｓ２６は、リアルタイムに生成されるポリゴンに対して行われる。１フレーム内のすべてのポリゴンに対して工程Ｓ２２０，Ｓ２４，Ｓ２６の処理が終了すると、レンダラ３４は、フレームバッファ４０内の画像データを図示しないモニタ画面に送って、ゲーム画像を表示させる。
【００６０】
以上のとおり、第３の実施の形態例では画像処理における視点の位置および視野角を固定にするという制限の元ではあるが、あらかじめ生成される背景画像の画像データとＺデータを、テキスチャバッファ及びテキスチャＺバッファを経由せずに直接フレームバッファ及びＺバッファに格納することで、背景画像に対する画像処理を簡潔、簡略化することができる。
【００６１】
以上の実施の形態例は、図３に示したゲーム装置等の専用のレンダリング回路を有するハードウエアを利用して行われる画像処理として説明した。しかしながら、本発明の画像処理方法は、汎用のパーソナルコンピュータ等を利用して、ソフトウエアにより実現することができる。その場合は、図４あるいは図１２に示した様な画像処理工程Ｓ１８〜２６或いはＳ１８、Ｓ２００，Ｓ２２０，Ｓ２４，Ｓ２６を、コンピュータが読み取り可能な記録媒体に記録されたプログラムを、汎用コンピュータに実行させることにより、同様の画像処理を実現することができる。
【００６２】
以上の実施の形態例では、事前に生成される画像として、コンピュータ・グラフィックにより生成された背景画像を例にして説明したが、本発明はそれに限定されず、映画やアニメーションにより事前に生成された画像に対して、テキスチャデータと共にＺデータを与えることにより、同様に遠近感を伴う画像の合成を行うことができる。また、これら事前に生成された画像はＣＤ−ＲＯＭ等の外部記憶媒体上のデータに限られず、通信等により入手したデータやゲーム等で加工したデータであっても良い。
【００６３】
尚、上記のテキスチャデータは、既に説明した通り、例えば白色光における模様の色データであり、環境光等が白色であるかぎり、テキスチャデータはそのままフレームバッファに書き込むことができる色データ（画像データ）である。但し、その画像データが、テキスチャバッファに格納されて、テキスチャデータとして画像処理に利用される場合は、テキスチャデータと称することが適切である。
【００６４】
【発明の効果】
以上説明した通り、本発明によれば、事前に生成される背景画像等について、そのテキスチャデータに加えて表示画面内の奥行きを示すＺデータも生成して記録しておくことにより、背景画像のＺデータを利用して、リアルタイムに生成されるオブジェクトのＺデータとの比較を伴う陰面処理を行うことができる。従って、１つの背景画像等に、リアルタイムに生成されるオブジェクトを、奥行き感または遠近感をもって合成させることができる。しかも、背景画像の枚数を増やすことなく画像内に奥行きデータを与えているので、画像処理に余分な負担を与えることはない。
【００６５】
更に、本発明によれば、事前に生成される画像のＺデータとして、所定の基準位置からの偏差を利用することにより、描画時においてその画像の奥行きを示すＺデータを与えることで、その位置に画像を描画し且つその画像のＺデータを与えられたＺデータと偏差とから求めることができる。従って、画像処理における視点の位置を任意に変更しながら、画像処理を行うことが可能になる。その場合も、リアルタイムに生成されるオブジェクトの画像が、奥行き感または遠近感を伴って合成される。
【図面の簡単な説明】
【図１】従来の課題の合成画像を説明する図である。
【図２】従来の課題の合成画像を説明する図である。
【図３】ゲーム装置の概略構成例を示す図である。
【図４】第１の実施の形態例の画像処理のフローチャート図である。
【図５】描画コマンドの例を示す図である。
【図６】背景画像のテキスチャメモリとテキスチャＺメモリを示す図である。
【図７】背景画像のテキスチャバッファとテキスチャＺバッファを示す図である。
【図８】ズームイン及びズームアウトを説明するための図である。
【図９】図８において、示されたスクリーンＳＲ１とスクリーンＳＲ２に表示される画像の例を示す図である。
【図１０】第２の実施の形態例における背景画像を説明するための図である。
【図１１】複数の背景画像を利用する場合の例を示す図である。
【図１２】第３の実施の形態例における画像処理のフローチャート図である。
【符号の説明】
２０        ＣＰＵ
３０        外部記録媒体
３２        コントロールパッド
３４        レンダラ
４０        フレームバッファメモリ
４２        Ｚデータバッファメモリ
４４        テキスチャバッファメモリ
４６        テキスチャＺバッファメモリ
【図１】
0004122573.tif 000002
【図２】
0004122573.tif 000003
【図３】
0004122573.tif 000004
【図４】
0004122573.tif 000005
【図５】
0004122573.tif 000006
【図６】
0004122573.tif 000007
【図７】
0004122573.tif 000008
【図８】
0004122573.tif 000009
【図９】
0004122573.tif 000010
【図１０】
0004122573.tif 000011
【図１１】
0004122573.tif 000012
【図１２】
0004122573.tif 000013