(57)【要約】【課題】  動画を表示させる場合に効果的にフリッカーを抑制することができるプログラム、情報記憶媒体及び画像生成システムの提供。【解決手段】  画像を生成するためのプログラムであって、オブジェクト３００を描画してバックバッファ画像２２０を生成し、バックバッファ１７５を更新するバックバッファ更新部１２２と、更新されたバックバッファ画像２２０に基づいて、表示部１９０に表示出力されるフロントバッファ画像２００を生成して、フロントバッファ１７６を更新するフロントバッファ更新部１２４として、コンピュータを機能させ、フロントバッファ更新部１２４が、表示部１９０への表示出力が完了したフロントバッファ画像２００と、更新されたバックバッファ画像２２０とをαブレンディングして、フロントバッファ１７６を更新することを特徴とする。【選択図】      図５
2006323513.tif 000002
【特許請求の範囲】
【請求項１】
画像を生成するためのプログラムであって、
オブジェクトを描画してバックバッファ画像を生成し、バックバッファを更新するバックバッファ更新部と、
更新されたバックバッファ画像に基づいて、表示部に表示出力されるフロントバッファ画像を生成して、フロントバッファを更新するフロントバッファ更新部として、
コンピュータを機能させ、
前記フロントバッファ更新部が、
前記表示部への表示出力が完了したフロントバッファ画像と、前記更新されたバックバッファ画像とをαブレンディングして、前記フロントバッファを更新することを特徴とするプログラム。
【請求項２】
請求項１において、
前記表示部がインターレース方式である場合に、
前記フロントバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、
前記バックバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、
前記フロントバッファ更新部が、
前記表示部への表示出力が完了したフロントバッファ画像の第１のフィールド成分と前記更新されたバックバッファ画像の第１のフィールド成分とを、第１のα値に基づいてαブレンディングし、前記表示部への表示出力が完了したフロントバッファ画像の第２のフィールド成分と前記更新されたバックバッファ画像の第２のフィールド成分とを、第２のα値に基づいてαブレンディングすることを特徴とするプログラム。
【請求項３】
請求項２において、
前記フロントバッファ画像は、前記第１のフィールド成分が表示出力された後に前記第２のフィールド成分が表示出力され、
前記第１のフィールド成分をαブレンディングする際のバックバッファ画像のブレンド比率より、前記第２のフィールド成分をαブレンディングする際のバックバッファ画像のブレンド比率が大きくなるように、前記第１のα値と前記第２のα値とが設定されていることを特徴とするプログラム。
【請求項４】
請求項３において、
前記第２のフィールド成分をαブレンディングする際に、前記バックバッファ画像のブレンド比率が前記フロントバッファ画像のブレンド比率より高くなるように前記第２のα値が設定されていることを特徴とするプログラム。
【請求項５】
請求項１において、
前記表示部がインターレース方式である場合に、
前記フロントバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、
前記バックバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、
前記フロントバッファ画像は、前記第１のフィールド成分が表示出力された後に前記第２のフィールド成分が表示出力され、
前記フロントバッファ更新部が、
前記表示部への表示出力が完了したフロントバッファ画像の第２のフィールド成分と、前記更新されたバックバッファ画像の第２のフィールド成分とをαブレンディングして、前記フロントバッファを更新することを特徴とするプログラム。
【請求項６】
請求項２〜５のいずれかにおいて、
前記フロントバッファ更新部が、
第１のフィールドで前記第１のフィールド成分が表示出力され、第２のフィールドで前記第２のフィールド成分が表示出力された後の垂直帰線期間内に、前記フロントバッファを更新することを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜６のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
画像生成システムであって、
オブジェクトを描画してバックバッファ画像を生成し、バックバッファを更新するバックバッファ更新部と、
更新されたバックバッファ画像に基づいて、表示部に表示出力されるフロントバッファ画像を生成して、フロントバッファを更新するフロントバッファ更新部と、
を含み、
前記フロントバッファ更新部が、
前記表示部への表示出力が完了したフロントバッファ画像と、前記更新されたバックバッファ画像とをαブレンディングして、フロントバッファを更新することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムにおいて、表示部に画像を表示させる場合のフリッカー（画面のちらつき）を抑制する技術として、特開２００２−４４４８６号公報に開示される従来技術がある。この技術では、表示される画像の奇数フィールドの色情報と偶数フィールドの色情報とを所与の割合で合成することにより、各フィールドの上下方向の明度差を減少させてフリッカーの発生を抑制している。
【特許文献１】特開２００２−４４４８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、表示部に動画を表示させる場合には、上下方向のみならず全方向での明度差を減少させることが好ましい。また、画像生成システムが描画する画像の更新頻度（描画フレームレート）が、表示部が表示する画像の更新頻度（表示フレームレート）よりも低い場合には、動画像の滑らかさが低減するとともに、フリッカーも発生しやすくなってしまう。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、描画フレームレートが、表示フレームレートよりも低い場合でも、擬似的に描画フレームレートを上げて滑らかな動画を生成し、同時にフリッカー発生を低減させることができるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）  本発明は、画像を生成する画像生成システムであって、オブジェクトを描画してバックバッファ画像を生成し、バックバッファを更新するバックバッファ更新部と、更新されたバックバッファ画像に基づいて、表示部に表示出力されるフロントバッファ画像を生成して、フロントバッファを更新するフロントバッファ更新部と、を含み、前記フロントバッファ更新部が、前記表示部への表示出力が完了したフロントバッファ画像と、前記更新されたバックバッファ画像とをαブレンディングして、前記フロントバッファを更新することを特徴とする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明において、バックバッファとは、オブジェクトが描画されるバッファであって、例えば、描画バッファ、オフスクリーンバッファと称されるバッファとすることができる。また、フロントバッファとは、表示部に表示出力される画像が格納されるバッファであって、例えば、表示バッファ、プライマリバッファと称されるバッファとすることができる。
【０００８】
また、本発明において、バックバッファとフロントバッファとは、記憶部の２の記憶領域の一方が固定的にバックバッファとして機能し、他方がフロントバッファとして機能するものでもよいし、記憶部の２の記憶領域が、例えばポインタ等の切替により、バックバッファとフロントバッファとして交互に機能するものであってもよい。
【０００９】
本発明によれば、フロントバッファには、表示部への表示出力が完了したフロントバッファ画像と、更新されたバックバッファ画像とがαブレンディングされた画像が格納される。従って、表示部に表示された画像と更新された画像とを補間するような画像を表示させることができる。
これにより、例えば、表示部への表示出力が完了したフロントバッファ画像と更新されたバックバッファ画像との間で、オブジェクトの描画位置が大きく変化する場合でも、観者にはオブジェクトが滑らかに移動・動作しているように見せることができる。従って、描画処理速度が高速でない描画装置を用いることにより、また、処理負荷の大きな画像を生成することにより、フロントバッファ画像の更新頻度を高くすることができない場合でも、擬似的に描画フレームレートを上げて滑らかな動画を生成し、同時にフリッカー発生を低減させることができる。
【００１０】
なお、ここで、オブジェクトの移動とは、オブジェクトを映し出す仮想カメラの位置・向き・画角の変化により相対的にオブジェクトの表示位置が変化する場合も含む。
【００１１】
（２）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記表示部がインターレース方式である場合に、前記フロントバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、前記バックバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、前記フロントバッファ更新部が、前記表示部への表示出力が完了したフロントバッファ画像の第１のフィールド成分と前記更新されたバックバッファ画像の第１のフィールド成分とを、第１のα値に基づいてαブレンディングし、前記表示部への表示出力が完了したフロントバッファ画像の第２のフィールド成分と前記更新されたバックバッファ画像の第２のフィールド成分とを、第２のα値に基づいてαブレンディングするようにしてもよい。
【００１２】
本発明において、インターレース方式の表示部とは、第１のフィールド（例えば奇数フィールド）と第２のフィールド（例えば偶数フィールド）を交互に走査して画像を表示する表示部とすることができる。また、第１のフィールド成分とは、フロントバッファ画像のうち表示部の第１のフィールドに対応する画像とすることができ、第２のフィールド成分とは、フロントバッファ画像のうち表示部の第２のフィールドに対応する画像とすることができる。
【００１３】
本発明によれば、第１のフィールド成分についてαブレンディングする際のα値と、第２のフィールド成分についてαブレンディングする際のα値とを個別に設定することができる。従って、第１のフィールド成分の表示画像と、第２のフィールド成分の表示画像とで、更新されたバックバッファ画像の影響度を異ならせることができる。
【００１４】
（３）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記フロントバッファ画像は、前記第１のフィールド成分が表示出力された後に前記第２のフィールド成分が表示出力され、前記第１のフィールド成分をαブレンディングする際のバックバッファ画像のブレンド比率より、前記第２のフィールド成分をαブレンディングする際のバックバッファ画像のブレンド比率が大きくなるように、前記第１のα値と前記第２のα値とが設定されているようにしてもよい。
【００１５】
本発明によれば、先に表示される第１のフィールド成分の表示画像と比して、後に表示される第２のフィールド成分の表示画像の方が、更新されたバックバッファ画像の影響をより多く受けた表示画像とすることができる。従って、より効果的に動画像を滑らかなものとすることができるとともに、フリッカー発生を低減させることができる。
【００１６】
（４）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第２のフィールド成分をαブレンディングする際に、前記バックバッファ画像のブレンド比率が前記フロントバッファ画像のブレンド比率より高くなるように前記第２のα値が設定されているようにしてもよい。
【００１７】
本発明によれば、第１のフィールド成分の表示画像の後に表示される第２のフィールド成分の表示画像を、表示部への表示出力が完了したフロントバッファ画像に比して更新されたバックバッファ画像の影響を多く受けた表示画像とすることができる。従って、更に効果的に動画像を滑らかなものとすることができるとともに、フリッカー発生を低減させることができる。
【００１８】
（５）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記表示部がインターレース方式である場合に、前記フロントバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、前記バックバッファ画像が、第１のフィールド成分と第２のフィールド成分とを含み、前記フロントバッファ画像は、前記第１のフィールド成分が表示出力された後に前記第２のフィールド成分が表示出力され、前記フロントバッファ更新部が、前記表示部への表示出力が完了したフロントバッファ画像の第２のフィールド成分と、前記更新されたバックバッファ画像の第２のフィールド成分とをαブレンディングして、前記フロントバッファを更新するようにしてもよい。
【００１９】
本発明によれば、先に表示される第１のフィールド成分の表示画像の後に表示される第２のフィールド成分の表示画像を、更新されたバックバッファ画像の影響を受けた表示画像として表示させることができる。従って、効果的に動画像を滑らかなものとすることができるとともに、フリッカー発生を低減させることができる。
【００２０】
（６）また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記フロントバッファ更新部が、第１のフィールドで前記第１のフィールド成分が表示出力され、第２のフィールドで前記第２のフィールド成分が表示出力された後の垂直帰線期間内に、前記フロントバッファを更新するようにしてもよい。
【００２１】
本発明において、垂直帰線期間とは、例えば、表示部が表示面の左上隅から左右に走査しながら右下隅まで走査して１回のフィールド走査を完了した後、再び表示面の左上隅から次のフィールド走査を開始するまでの期間とすることができる。
【００２２】
本発明によれば、第１のフィールド走査と第２のフィールド走査とが完了するまでの間にバックバッファ更新部がバックバッファを更新すればよいので、バックバッファ更新部に、処理負荷の大きな画像を生成させることができる。
【発明を実施するための最良の形態】
【００２３】
以下、本実施形態について図面を用いて説明する。
【００２４】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２５】
１．構成
図１に、本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外の各部（機能ブロック）については任意の構成要素とすることができる。
【００２６】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、或いは筺体などのハードウェアにより実現できる。
【００２７】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部（各手段）としてコンピュータを機能させるためのプログラム（各部をコンピュータに実現させるためのプログラム）が記憶（記録、格納）される。
【００２９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。特に、本実施の形態の表示部１９０は、インターレース方式の表示装置（例えばＮＴＳＣ方式のモニター）とされ、例えば１／６０秒（１フィールド）ごとに奇数ラインと偶数ラインを交互に走査して画像を表示する。
【００３０】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【００３１】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３２】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３３】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラム（ゲームプログラム）により実現できる。
【００３５】
処理部１００は、移動・動作処理部１１０、オブジェクト空間設定部１１２、仮想カメラ制御部１１４、画像生成部１２０、音生成部１３０を含む。なお、処理部１００は、これらの各部（機能ブロック）を全て含む必要はなく、その一部を省略してもよい。
【００３６】
移動・動作処理部１１０は、オブジェクト（移動体）の移動情報（位置、回転角度）や動作情報（オブジェクトの各パーツの位置、回転角度）を求める処理を行う。即ち、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作（モーション、アニメーション）させたりする処理を行う。
【００３７】
オブジェクト空間設定部１１２は、移動体（キャラクタ、車、戦車、ロボット）、柱、壁、建物、マップ（地形）などの各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間内に配置設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転）でオブジェクトを配置する。
【００３８】
仮想カメラ制御部１１４は、オブジェクト空間内に設定される仮想カメラを制御する処理を行う。即ち、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転（Ｘ、Ｙ、Ｚ軸回りでの回転）などの仮想カメラ情報を求め、仮想カメラを制御する（視点位置や視線方向を制御する）。
【００３９】
例えば、仮想カメラにより移動オブジェクトを後方から撮影する場合には、移動オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転（仮想カメラの方向）を制御することが望ましい。この場合には、移動・動作処理部１１０で得られた移動オブジェクトの位置、方向又は速度などの情報に基づいて、仮想カメラを制御することになる。或いは、仮想カメラを、予め決められた移動経路で移動させながら予め決められた角度で回転させるようにしてもよい。この場合には、仮想カメラの位置（移動経路）や回転角度を特定するためのカメラ経路情報を予め用意しておき、このカメラ経路情報に基づいて仮想カメラを制御する。
【００４０】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。
【００４１】
画像生成部１２０が含むバックバッファ更新部１２２は、オブジェクトを描画してバックバッファ画像を生成する。いわゆる３次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換或いは光源処理等のジオメトリ処理を行い、その処理結果に基づいて、描画データ（プリミティブ面の頂点（構成点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）を作成する。そして、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像を、描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ）に含まれるバックバッファ１７５に描画する。
【００４２】
また、バックバッファ更新部１２２は、テクスチャ記憶部１７８に記憶されるテクスチャをオブジェクト（プリミティブ面）にマッピングするための処理を行う。また、バックバッファ更新部１２２は、Ｚ値（奥行き値）が格納されるＺバッファ１７７（奥行きバッファ）を用いて、Ｚバッファ法（奥行き比較法）により陰面消去を行いながらオブジェクトをバックバッファ１７５に描画してバックバッファ画像を生成する。そして、バックバッファ画像のＺ値は、この描画処理の際に行われるＺバッファ法（奥行き比較法）により、Ｚバッファ１７６上に格納（生成）される。
【００４３】
こうして、バックバッファ更新部１２２は、オブジェクトを描画してバックバッファ画像を生成し、バックバッファ画像を更新する。
【００４４】
なお、本実施形態のＺ値は、Ｚバッファ１７６のＺ値（カメラ座標系のＺ座標軸のＺ値）そのものであってもよいし、このＺ値と数学的に均等なパラメータであってもよい。例えば、Ｚバッファ１７６のＺ値の逆数に相当するパラメータや、Ｚバッファ１７６のＺ値に所与の変換処理を施すことで得られるパラメータであってもよい。
【００４５】
画像生成部１２０が含むフロントバッファ更新部１２４は、更新されたバックバッファ画像に基づいて、表示部に表示出力されるフロントバッファ画像を生成する。本実施の形態では、更新されたバックバッファ１７５のバックバッファ画像を、描画バッファ１７４に含まれるフロントバッファ１７６に書き込む処理（コピー処理）を行うことにより、フロントバッファ画像を生成する。
【００４６】
ここで、バックバッファ画像をフロントバッファ１７６に書き込む処理は、オブジェクトを描画してバックバッファ画像を生成する処理よりも高速で行うことができる。よって、フロントバッファ画像を表示部１９０に出力している間に、バックバッファ１７５に次に表示出力する画像を描画しておけば、フロントバッファ画像の更新を高速で行うことができる。
【００４７】
画像生成部１２０が含むαブレンディング部１２６は、α値（Ａ値）に基づいてαブレンディング処理を行う。このαブレンディング処理には、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
【００４８】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２
一方、加算αブレンディングの場合には下式の処理を行う。
【００４９】
ＲＱ＝Ｒ１＋α×Ｒ２
ＧＱ＝Ｇ１＋α×Ｇ２
ＢＱ＝Ｂ１＋α×Ｂ２
また、減算αブレンディングの場合には下式の処理を行う。
【００５０】
ＲＱ＝Ｒ１−α×Ｒ２
ＧＱ＝Ｇ１−α×Ｇ２
ＢＱ＝Ｂ１−α×Ｂ２
ここで、Ｒ１、Ｇ１、Ｂ１は、描画バッファ１７４に既に描画されている画像（元画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、描画バッファ１７４に描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００５１】
そして、本実施の形態では、このαブレンディング処理を用いて、フロントバッファ更新部１２４が、更新されたバックバッファ画像に基づいて、フロントバッファ１７６を更新する。本実施の形態では、フロントバッファ１７６にバックバッファ画像をそのまま書き込むのではなく、フロントバッファ更新部１２４が、表示部１９０への表示出力が完了したフロントバッファ画像と、更新されたバックバッファ画像とをαブレンディングして、フロントバッファ１７６を更新する。
【００５２】
従って、フロントバッファ１７６には、表示部１９０への表示出力が完了したフロントバッファ画像と更新されたバックバッファ画像とを補間するような画像を生成することができる。
【００５３】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５４】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５５】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５６】
２．本実施形態の手法
以下、本実施形態の手法について図面を用いて説明する。まず、図２を用いて、本実施の形態において、インターレース方式の表示部１９０に表示される画像について説明する。図２には、フロントバッファ１７６に格納されるフロントバッファ画像２００と、インターレース方式の表示部１９０に表示される表示画像２１０との１／６０秒ごとの関係が示されている。
【００５７】
図２の例では、表示部１９０がＮＴＳＣ方式のモニターとされ、第Ｋの奇数フィールド（１／６０秒）で奇数ラインａを走査する。そして、第Ｎの描画フレームのフロントバッファ画像２００のうち、奇数ラインａに対応する奇数フィールド成分Ａの表示画像２１０を表示する。そして、次の第Ｋの偶数フィールド（１／６０秒）で偶数ラインｂを走査し、第Ｎの描画フレームのフロントバッファ画像２００のうち、偶数フィールドｂに対応する偶数フィールド成分Ｂの表示画像２１０を表示する。こうして、本実施の形態では、表示部１９０が、第Ｋの表示フレーム（１／３０秒）で第Ｎの描画フレームのフロントバッファ画像２００を表示画像２１０として表示している。
【００５８】
次に、生成した画像を動画像として表示部１９０に表示させる場合の動画像の滑らかさについて説明する。生成した画像を動画像として表示部１９０に表示させる場合には、表示部１９０に表示出力されるフロントバッファ画像２００の更新頻度が高いほど、即ち描画フレームレートが高いほどオブジェクトが滑らかに移動・動作する画像を表示させることができる。
【００５９】
例えば、図３に示すように、描画フレームレートを高くしてフロントバッファ画像２００を１フィールドごと（１／６０秒ごと）に更新すれば、第Ｋの奇数フィールドで表示した表示画像２１０でのオブジェクト３００の位置と、第Ｋの偶数フィールドで表示した表示画像２１０でのオブジェクト３００の位置の変化が小さいため、滑らかな動画像を表示させることができる。。しかし、フロントバッファ画像２００を１フィールドごと（１／６０秒ごと）に更新するためには、画像生成部１２０の描画処理速度を極めて高速にするか、描画する画像を処理負荷の軽い画像に限定する必要がある。
【００６０】
一方、描画フレームレートが低い場合、例えば図４に示すように、フロントバッファ画像２００を２フィールドごと（１／３０秒ごと）に更新した場合には、第Ｋの偶数フィールドで表示した表示画像２１０でのオブジェクト３００の位置と、第Ｋ＋１の奇数フィールドで表示した表示画像２１０でのオブジェクト３００の位置の変化が大きいため、動画像の滑らかさが低減してしまう。
【００６１】
そこで、本実施の形態では、図４のように、フロントバッファ１７６にバックバッファ画像をそのまま書き込むのではなく、図５のように、フロントバッファ更新部１２４が、表示部１９０への表示出力が完了したフロントバッファ画像２００と、更新されたバックバッファ画像２２０とをαブレンディングして、フロントバッファ１７６を更新する。
【００６２】
図５には、バックバッファ１７５に描画されるバックバッファ画像２２０と、フロントバッファ画像２００と、表示画像２１０との１／６０秒ごとの関係が示されている。図５の例では、表示部１９０が、第Ｋの奇数フィールド（１／６０秒）で奇数ラインａを走査する。そして、第Ｎの描画フレームのフロントバッファ画像２００のうち、奇数ラインａに対応する奇数フィールド成分Ａを表示出力する。そして、第Ｋの偶数フィールド（１／６０秒）で偶数ラインｂを走査し、第Ｎの描画フレームのフロントバッファ画像２００のうち、偶数フィールド成分Ｂを表示出力する。
【００６３】
そして、本実施の形態では、表示部１９０が１／３０秒で第Ｎの描画フレームのフロントバッファ画像２００を表示出力している間に、バックバッファ更新部１２２が、オブジェクト３００を描画して第Ｎ＋１の描画フレーム用のバックバッファ画像２２０を生成し、バックバッファ１７５を更新する。そして、表示部１９０の第Ｋの偶数フィールドと第Ｋ＋１の奇数フィールドとの間の垂直帰線期間ＶＢＬＡＮＫの間に、図中Cのように、表示部１９０への表示出力が完了した第Ｎの描画フレームのフロントバッファ画像２００と、第Ｎ＋１の描画フレーム用のバックバッファ画像２２０とをαブレンディングして、フロントバッファ１７６に書き込む処理を行う。
【００６４】
すると、図５に示すように、第Ｎ＋１の描画フレームのフロントバッファ画像２００は、第Ｎの描画フレームのフロントバッファ画像２００と第Ｎ＋１の描画フレーム用のバックバッファ画像２２０とを補間するような補間画像２０１として生成される。そして、表示部１９０が、第Ｋ＋１の奇数フィールドで、第Ｎ＋１の描画フレームの補間画像２０１のうち、奇数ラインａに対応する奇数フィールド成分Ａを表示出力する。そして、次の第Ｋ＋１の偶数フィールドで、第Ｎ＋１の描画フレームの補間画像２０１のうち、偶数ラインｂに対応する偶数フィールド成分Ｂを表示出力する。
【００６５】
このように、本実施の形態では、補間画像２０１を表示部１９０に表示出力することにより、第Ｎの描画フレームのフロントバッファ画像２００と第Ｎ＋１の描画フレーム用のバックバッファ画像２２０との間でオブジェクト３００の描画位置が大きく移動する場合でも、観者にはオブジェクトが滑らかに移動しているように見せることができる。従って、図５の例のように、バックバッファ更新部１２２の描画処理速度が高速でないため、また、バックバッファ画像２２０を描画するための処理負荷が大きいため、フロントバッファ画像２００の描画フレームレートを高くすることができなくても、擬似的に描画フレームレートを上げて滑らかな動画を生成し、同時にフリッカー発生を低減させることができる。
【００６６】
特に、図５の例では、αブレンディング処理により補間画像２０１を生成する際に、フロントバッファ更新部１２４が、第Ｎの描画フレームのフロントバッファ画像２００の奇数フィールド成分Ａの色ＣＡＦと、第Ｎ＋１の描画フレーム用のバックバッファ画像２２０の奇数フィールド成分Ａの色ＣＡＢとを、両者のブレンド比率がＣＡＦ：ＣＡＢ＝５０：５０となるような第１のα値に基づいてαブレンディングする。例えば、第１のα値を０．５と設定し、補間画像２０１の奇数フィールド成分Ａの色ＣＡを下式のようにして求める。
【００６７】
ＣＡ＝（１−０．５）×ＣＡＦ＋０．５×ＣＡＢ
また、第Ｎの描画フレームのフロントバッファ画像２００の偶数フィールド成分Ｂの色ＣＢＦと、第Ｎ＋１の描画フレーム用のバックバッファ画像２２０の偶数フィールド成分Ｂの色ＣＢＢとを、両者のブレンド比率がＣＢＦ：ＣＢＢ＝２５：７５となるような第２のα値に基づいてαブレンディングする。例えば、第２のα値を０．７５と設定し、補間画像２０１の偶数フィールド成分Ｂの色ＣＢを下式のようにして求める。
【００６８】
ＣＢ＝（１−０．７５）×ＣＢＦ＋０．７５×ＣＢＢ
すると、図５の補間画像２０１の拡大図である図６に示すように、補間画像２０１の奇数フィールド成分ＡのＡ１部分の色ＣＡ１、Ａ２部分の色ＣＡ２、Ａ３部分の色ＣＡ３、Ａ４部分の色ＣＡ４、Ａ５部分の色ＣＡ５は、それぞれ下式のようにして求まる。
【００６９】
ＣＡ１＝０．５×ＣＡＦ（背景の白）＋０．５×ＣＡＢ（背景の白）
＝白
ＣＡ２＝０．５×ＣＡＦ（オブジェクトの黒）＋０．５×ＣＡＢ（背景の白）
＝黒５０％の灰色
ＣＡ３＝０．５×ＣＡＦ（オブジェクトの黒）＋０．５×ＣＡＢ（オブジェクトの黒）
＝黒
ＣＡ４＝０．５×ＣＡＦ（背景の白）＋０．５×ＣＡＢ（オブジェクトの黒）
＝黒５０％の灰色
ＣＡ５＝０．５×ＣＡＦ（背景の白）＋０．５×ＣＡＢ（背景の白）
＝白
同様に、補間画像２０１の偶数フィールド成分ＢのＢ１部分の色ＣＢ１、Ｂ２部分の色ＣＢ２、Ｂ３部分の色ＣＢ３、Ｂ４部分の色ＣＢ４、Ｂ５部分の色ＣＢ５は、それぞれ下式のようにして求まる。
【００７０】
ＣＢ１＝０．２５×ＣＢＦ（背景の白）＋０．７５×ＣＡＢ（背景の白）
＝白
ＣＢ２＝０．２５×ＣＢＦ（オブジェクトの黒）＋０．７５×ＣＡＢ（背景の白）
＝黒２５％の灰色
ＣＢ３＝０．２５×ＣＢＦ（オブジェクトの黒）＋０．７５×ＣＡＢ（オブジェクトの黒）
＝黒
ＣＢ４＝０．２５×ＣＢＦ（背景の白）＋０．７５×ＣＡＢ（オブジェクトの黒）
＝黒７５％の灰色
ＣＢ５＝０．２５×ＣＢＦ（背景の白）＋０．７５×ＣＡＢ（背景の白）
＝白
このように、図５、図６の例では、奇数フィールド成分Ａをαブレンディングする際のバックバッファ画像２２０の色ＣＡＢのブレンド比率（５０％）より、偶数フィールド成分Ｂをαブレンディングする際のバックバッファ画像の色ＣＢＢのブレンド比率（７５％）が大きくなるように、奇数フィールド成分Ａ用の第１のα値と偶数フィールド成分Ｂ用の第２のα値とが設定されている。
【００７１】
従って、図５に示すように、第Ｎ＋１の描画フレームのフロントバッファ画像２００として補間画像２０１が生成されると、第Ｋ＋１の奇数フィールドでは、表示部１９０が、第Ｎの描画フレームのフロントバッファ画像２００が５０％、第Ｎ＋１の描画フレーム用のバックバッファ画像２２０が５０％でαブレンディングされた表示画像２１０を表示する。このように、フロントバッファ１７６更新後の１回目のフィールド走査では、第Ｎの描画フレームのフロントバッファ画像２００と第Ｎ＋１の描画フレーム用のバックバッファ画像２２０とを補間するような表示画像２１０を表示することができる。
【００７２】
特に、第Ｋ＋１の偶数フィールドでは、表示部１９０が、第Ｎの描画フレームのフロントバッファ画像２００が２５％、第Ｎ＋１の描画フレーム用のバックバッファ画像２２０が７５％でαブレンディングされた表示画像２１０を表示する。このように、フロントバッファ１７６更新後の２回目のフィールド走査（第Ｋ＋１の偶数フィールド）では、フロントバッファ１７６更新後の１回目のフィールド走査（第Ｋ＋１の奇数フィールド）で表示した表示画像２１０よりも、第Ｎ＋１の描画フレーム用のバックバッファ画像２２０の影響をより多く受けた表示画像２１０を表示することができる。加えて、フロントバッファ１７６更新後の２回目のフィールド走査（第Ｋ＋１の偶数フィールド）では、表示部１９０への表示出力が完了したフロントバッファ画像２００（ブレンド比率２５％）より、更新されたバックバッファ画像２２０（ブレンド比率７５％）の影響を多く受けた表示画像２１０を表示することができる。従って、より効果的に動画像を滑らかなものとすることができるとともに、フリッカー発生を低減させることができる。
【００７３】
３．本実施の形態の処理
次に、本実施の形態の処理を、図７のフローチャートを用いて説明する。
【００７４】
まず、ステップＳ１において、フロントバッファ画像２００の奇数フィールド成分Ａを出力した後、偶数フィールド成分Ｂを出力する。そして、ステップＳ２において、垂直帰線期間ＶＢＬＡＮＫとなった場合には、ステップＳ３において、更新されたバックバッファ画像２２０をテクスチャとしてマッピングしたポリゴンの奇数フィールド成分Ａを、フロントバッファ画像２００の奇数フィールド成分Ａと、α値を０．５としてαブレンディングして、フロントバッファ１７６に書き込む。
【００７５】
そして、ステップＳ４において、更新されたバックバッファ画像２２０をテクスチャとしてマッピングしたポリゴンの偶数フィールド成分Ｂを、フロントバッファ画像２００の偶数フィールド成分Ｂと、α値を０．７５としてαブレンディングして、フロントバッファ１７６に書き込む。
【００７６】
こうして、図５に示すように、第Ｎ＋１の描画フレームのフロントバッファ画像２００が、第Ｎの描画フレームのフロントバッファ画像２００と第Ｎ＋１の描画フレーム用のバックバッファ画像２２０とを補間するような補間画像２０１として生成され、動画像を滑らかなものとすることができるとともに、フリッカー発生を低減させることができる。
【００７７】
そして、本実施の形態では、更に、ステップＳ５において、更新されたバックバッファ画像２２０をテクスチャとしてマッピングしたポリゴンの奇数フィールド成分Ａを１ピクセル上にずらして、フロントバッファ画像２００の奇数フィールド成分Ａと、α値を０．２としてαブレンディングして、フロントバッファ１７６に書き込む。
【００７８】
同様に、ステップＳ６において、更新されたバックバッファ画像２２０をテクスチャとしてマッピングしたポリゴンの偶数フィールド成分Ｂを１ピクセル下にずらして、フロントバッファ画像２００の偶数フィールド成分Ｂと、α値を０．２としてαブレンディングして、フロントバッファ１７６に書き込む。これにより、フリッカーの発生を更に効果的に抑制することができる。
【００７９】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図９を用いて説明する。
【００８０】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００８１】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８２】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００８３】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００８４】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ（プリミティブ面）で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、痺uレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００８５】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【００８６】
ゲームコントローラ９４２（レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等）からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【００８７】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【００８８】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【００８９】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【００９０】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【００９１】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【００９２】
なお、本実施形態の各部（各手段）は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００９３】
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
【００９４】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【００９５】
例えば、明細書中の記載において広義な用語として引用された用語は、明細書中の他の記載においても広義な用語に置き換えることができる。
【００９６】
また、上記実施形態では、１／３０秒ごとにフロントバッファ１７６のフロントバッファ画像２００を更新し、インターレース方式の表示部１９０（ＮＴＳＣ方式）に画像を表示させる場合を主に例にとり説明したが、本実施形態の手法は、他の方式の表示装置に表示する画像を生成する場合、他のフレームレートでフロントバッファ画像２００を更新する場合に適用することも可能である。例えば、図３で説明した、フロントバッファ１７６のフレームレートと、表示部１９０のリフレッシュレートが同期している場合にも本発明を適用することができる。
【００９７】
また、α値のブレンディング手法、ブレンド比率も、本実施形態で詳細に説明した手法、ブレンド比率に限定されず、種々の変形実施が可能である。また、α値や色のブレンディング処理は、プレーン単位で行ってもよいし、画素単位で行ってもよい。
【００９８】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【００９９】
また、本発明は種々のゲーム（格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）にも適用することができる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム（ゲームシステム）に適用することができる。
【図面の簡単な説明】
【０１００】
【図１】本実施形態の画像生成システムの機能ブロック図の例である。
【図２】本実施の形態で生成される画像と表示部に表示される画像について説明するための図である。
【図３】本実施の形態で生成される画像と表示部に表示される画像について説明するための図である。
【図４】従来技術で生成される画像と表示部に表示される画像について説明するための図である。
【図５】本実施の形態で生成される画像と表示部に表示される画像について説明するための図である。
【図６】本実施の形態で生成される画像と表示部に表示される画像について説明するための図である。
【図７】本実施形態の処理の一例を示すフローチャートである。
【図８】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【符号の説明】
【０１０１】
Ａ  第１のフィールド成分
Ｂ  第２のフィールド成分
ａ  第１のフィールド
ｂ  第２のフィールド
ＣＡF  フロントバッファ画像の奇数フィールド成分の色
ＣＡB  バックバッファ画像の奇数フィールド成分の色
ＣＡ  補間画像の奇数フィールド成分の色
ＣＢF  フロントバッファ画像の偶数フィールド成分の色
ＣＢB  バックバッファ画像の偶数フィールド成分の色
ＣＢ  補間画像の偶数フィールド成分の色
ＶＢＬＡＮＫ  垂直帰線期間
１００  処理部
１２０  画像生成部
１２２  バックバッファ更新部
１２４  フロントバッファ更新部
１２６  αブレンディング部
１３０  音生成部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７５  バックバッファ
１７６  フロントバッファ
１７７  Ｚバッファ
１７８  テクスチャ記憶部
１９０  表示部
【図１】
2006323513.tif 000003
【図２】
2006323513.tif 000004
【図３】
2006323513.tif 000005
【図４】
2006323513.tif 000006
【図５】
2006323513.tif 000007
【図６】
2006323513.tif 000008
【図７】
2006323513.tif 000009
【図８】
2006323513.tif 000010