説明

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

【課題】残像感の少ない画像を生成できる画像生成システム、プログラム等の提供。
【解決手段】画像生成システムは、オブジェクトを描画して画像データを生成する描画部と、生成された画像データに対してオーバードライブエフェクト処理を行い、表示部に出力するための画像データを生成するオーバードライブエフェクト処理部を含む。オーバードライブエフェクト処理部は、第Kのフレームで生成された画像データIMKと、第J(K>J)のフレームにおいて生成されたオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行うことで、オーバードライブエフェクト処理が行われた画像データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
【背景技術】
【0002】
近年、高画質の液晶表示装置を備える携帯型ゲーム装置が人気を集めている。この携帯型ゲーム装置では、液晶表示装置の画素数も多く、リアルで高精細な画像を表示できるため、これまでの携帯型ゲーム装置では楽しむことができなかった3D(3次元)ゲーム等もプレーヤは楽しむことができる。
【0003】
ところで、液晶表示装置においては、液晶の応答速度が遅いことから、動きのある映像を表示した場合に残像感が出たり動画がぼやけて見えるなどの現象が発生する。このような現象を改善する従来技術として、オーバードライブ回路を備える液晶表示装置が提案されている。このオーバードライブ回路では、入力変化の最初のフレームにおいて目的電圧よりも高い電圧を印加することで、液晶のステップ入力に対する応答特性の改善を図っている。
【0004】
しかしながら、この従来技術では、画像信号の電圧に対して補償処理を行うことで、液晶の応答速度を向上させている。従って、携帯型ゲーム装置が、このような電圧レベルで補償処理を行うオーバードライブ回路を備えていない場合には、残像感の改善が難しいという問題がある。
【特許文献1】特開平7−20828号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、残像感の少ない画像を生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0006】
本発明は、画像を生成する画像生成システムであって、オブジェクトを描画して画像データを生成する描画部と、生成された画像データに対してオーバードライブエフェクト処理を行い、表示部に出力するための画像データを生成するオーバードライブエフェクト処理部とを含み、前記オーバードライブエフェクト処理部は、第Kのフレームで生成された画像データIMKと、第J(K>J)のフレームにおいて生成されたオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行うことで、前記オーバードライブエフェクト処理が行われた画像データを生成する画像生成システムに関係する。
【0007】
本発明では、オブジェクトを描画することで画像データが生成される。そして、生成された画像データに対してオーバードライブエフェクト処理が行われ、表示部(表示装置)に出力するための画像データが生成される。具体的には、オブジェクトを描画することで生成される画像データ(元画像データ)に対するエフェクト処理(ポストエフェクト処理、フィルタ処理)としてオーバードライブを実現するオーバードライブエフェクト処理が行われ、オーバードライブエフェクト処理後の画像データが、表示部に出力される。このようにすれば、表示部がハードウェアのオーバードライブ回路を備えていない場合にも、オーバードライブと同様の効果を、オーバードライブエフェクト処理により実現できるようになり、残像感の少ない画像を生成できる。
【0008】
そして本発明では、第Kのフレームで生成された画像データIMKと、第Jのフレームで生成されたオーバードライブエフェクト処理後の画像データIMODJと、αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行うことで、オーバードライブエフェクト処理後の画像データが生成される。このようにすれば、オブジェクトの描画により生成された画像データに対してαブレンディング処理を行うだけで、オーバードライブエフェクト処理後の画像データを生成できる。従って、残像感の少ない画像を少ない処理負荷で生成できるようになる。
【0009】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オーバードライブエフェクト処理部は、α値が設定された画面サイズ又は分割画面サイズのプリミティブ面に、前記画像データIMKのテクスチャをマッピングし、テクスチャがマッピングされた前記プリミティブ面を、前記画像データIMODJが描画されているバッファに対してαブレンディング描画するようにしてもよい。
【0010】
このようにすれば、例えば1回のテクスチャマッピングでオーバードライブエフェクト処理を実現でき、処理負荷を軽減できる。また画像生成システム等が有しているテクスチャマッピング機能を有効活用してオーバードライブエフェクト処理を実現することが可能になる。
【0011】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オーバードライブエフェクト処理部は、オブジェクトを描画バッファに描画して画像データIMKを生成し、生成された画像データIMKと、表示バッファに書き込まれている第Jのフレームでのオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行い、オーバードライブエフェクト処理が行われた画像データを表示バッファに書き込むようにしてもよい。
【0012】
このようにすれば、描画バッファと表示バッファのダブルバッファ構成でオーバードライブエフェクト処理を実現できるため、無駄な処理や処理回数が減らすことができ、処理負荷を軽減できる。
【0013】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オーバードライブエフェクト処理部は、表示部の表示領域のうちの特定の領域の画像データに対してのみ、前記オーバードライブエフェクト処理を行うようにしてもよい。
【0014】
このようにすれば、表示領域の全てに対してオーバードライブエフェクト処理を行わなくて済むため、処理負荷を軽減できる。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、複数のオブジェクトを描画することで画像データを生成し、前記オーバードライブエフェクト処理部は、複数のオブジェクトのうちの特定のオブジェクトを内包する領域に対して、前記オーバードライブエフェクト処理を行うようにしてもよい。
【0016】
このようにすれば、特定のオブジェクトに対してオーバードライブエフェクト処理を行って、そのオブジェクトの画像の残像感を軽減できるようになる。
【0017】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オーバードライブエフェクト処理部は、オブジェクトの頂点座標、或いはオブジェクトに対して簡易オブジェクトが設定される場合には簡易オブジェクトの頂点座標に基づいて、前記オーバードライブエフェクト処理を行う前記領域を設定するようにしてもよい。
【0018】
このようにすれば、領域の設定処理を簡素化できる。
【0019】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オーバードライブエフェクト処理のα値を調整するための調整画面の表示制御を行う表示制御部を含み(或いは表示制御部としてコンピュータを機能させ)、前記オーバードライブエフェクト処理部は、前記調整画面においてα値の調整が行われた場合に、調整後のα値に基づいて前記オーバードライブエフェクト処理を行うようにしてもよい。
【0020】
このようにすれば、様々なタイプの表示部に対応したオーバードライブエフェクト処理を実現できる。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記表示制御部は、第1の中間色に設定された調整画面の背景領域上で、第2の中間色に設定されたオブジェクトを移動させる表示制御を行うようにしてもよい。
【0022】
例えば背景領域やオブジェクトの色が原色であると、オブジェクトの移動により発生する残像が見えにくくなり、オーバードライブエフェクト処理のエフェクト強度の調整が難しくなる。これに対して本発明のように異なる中間色に設定された背景領域とオブジェクトを用いれば、調整画面においてオブジェクトの残像感を強調でき、調整画面の調整精度を向上できる。
【0023】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記オーバードライブエフェクト処理を有効にするか否かを設定するためのモード設定画面の表示制御を行う表示制御部を含み(或いは表示制御部としてコンピュータを機能させ)、前記オーバードライブエフェクト処理部は、前記モード設定画面において前記オーバードライブエフェクト処理を有効にする設定が行われた場合に、前記オーバードライブエフェクト処理を行うようにしてもよい。
【0024】
このようにすれば、例えばオーバードライブエフェクト処理が不要な表示部を使用した場合に、不必要なオーバードライブエフェクト処理が行われてしまう事態を防止できる。
【発明を実施するための最良の形態】
【0025】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0026】
1.構成
図1に本実施形態の画像生成システム(ゲーム装置、携帯型ゲーム装置)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
【0027】
操作部160は、プレイヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域やメインメモリとなるもので、その機能はRAM(VRAM)などにより実現できる。
【0028】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されているプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理手順をコンピュータに実行させるためのプログラム)が記憶される。
【0029】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD(液晶表示装置)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0030】
携帯型情報記憶装置194は、プレイヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリーカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0031】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0032】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0033】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、仮想カメラ制御部114、表示制御部116、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0034】
オブジェクト空間設定部110は、キャラクタ、車、戦車、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0035】
移動・動作処理部112は、オブジェクト(キャラクタ、車、又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち操作部160によりプレイヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクト(移動オブジェクト)をオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させる処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム毎(1/60秒)に順次求めるシミュレーション処理を行う。なおフレーム(フレームレート)は、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0036】
仮想カメラ制御部114(視点制御部)は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
【0037】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部112で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0038】
表示制御部116は、調整画面やモード設定画面などの各種画面の表示制御を行う。具体的には表示制御部116は、オーバードライブエフェクト処理のα値(エフェクト強度)を調整するための調整画面の表示制御を行う。具体的には、第1の中間色(原色ではない色)に設定された背景領域(調整画面の領域、調整ウィンドウ)上で、第1の中間色とは異なる第2の中間色に設定されたオブジェクトを移動させる表示制御を行う。また表示制御部116は、オーバードライブエフェクト処理を有効にするか否かを設定するためのモード設定画面の表示制御も行う。このモード設定画面においてオーバードライブエフェクト処理を有効にする設定が行われた場合に、オーバードライブエフェクト処理が行われるようになる。なお同一画面を、調整画面とモード設定画面として共用してもよい。
【0039】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まず、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を描画バッファ172に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。そして生成された画像は表示バッファ173を介して表示部190に出力される。
【0040】
なお描画バッファ172、表示バッファ173は、フレームバッファ、ワークバッファなどのピクセル単位で画像情報を記憶できるバッファ(画像バッファ)であり、例えば画像生成システムのVRAM上に確保される。また本実施形態では、描画バッファ172(バックバッファ)、表示バッファ173(フロントバッファ)のダブルバッファ構成にしてもよいし、シングルバッファ構成やトリプルバッファ構成にしてもよい。或いは4個以上のバッファを用いるようにしてもよい。また、第Jのフレームでは描画バッファであったバッファを、第K(K>J)のフレームでは表示バッファに設定し、第Jのフレームでは表示バッファであったバッファを、第Kのフレームでは描画バッファに設定するようにしてもよい。
【0041】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0042】
描画部120は、テクスチャマッピング処理や隠面消去処理やαブレンディング処理を行うことができる。
【0043】
ここでテクスチャマッピング処理は、テクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部174からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
【0044】
また隠面消去処理は、例えば、各ピクセルのZ値(奥行き情報)が格納されているZバッファ176(奥行きバッファ)を用いるZバッファ法(奥行き比較法、Zテスト)により実現される。即ちオブジェクトのプリミティブ面の各ピクセルを描画する際に、Zバッファ176に格納されているZ値を参照する。そして参照されたZバッファ176のZ値と、プリミティブ面の描画対象ピクセルでのZ値とを比較し、プリミティブ面のZ値が、仮想カメラから見て手前側となるZ値(例えば大きなZ値)である場合には、そのピクセルの描画処理を行うと共にZバッファ176のZ値を新たなZ値に更新する。
【0045】
またαブレンディング処理は、α値(A値)に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
【0046】
描画部120は、オーバードライブエフェクト処理部122を含む。オーバードライブエフェクト処理部122は、ソフトウェアによるオーバードライブエフェクト処理を行う。具体的には、描画部120がオブジェクトを描画バッファ172に描画して画像データ(元画像のデータ)を生成すると、オーバードライブエフェクト処理部122は、生成された画像データ(デジタルデータ)に対して、オーバードライブエフェクト処理を行い、表示部190に出力するための画像データを生成する。即ちオーバードライブエフェクト処理が行われた画像データ(デジタルデータ)を、表示部190に出力される画像データが書き込まれる表示バッファ173に書き込む。
【0047】
更に具体的にはオーバードライブエフェクト処理部122は、第Kのフレーム(現在のフレーム)で生成された画像データIMKと、第J(K>J)のフレーム(前のフレーム、過去のフレーム)において生成されたオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行うことで、オーバードライブエフェクト処理が行われた画像データを生成する。例えばオーバードライブエフェクト処理部122は、α値が設定された画面サイズ又は分割画面サイズのプリミティブ面(スプライト、ポリゴン)に、画像データIMKのテクスチャをマッピングする。そしてテクスチャがマッピングされたプリミティブ面を、画像データIMODJが描画されているバッファ(表示バッファ)に対してαブレンディング描画する。
【0048】
またオーバードライブエフェクト処理部122は、オブジェクトを描画バッファ172に描画して画像データIMKを生成する。そして生成された画像データIMKと、表示バッファ173に書き込まれている第Jのフレームでのオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行う。そしてオーバードライブエフェクト処理が行われた画像データを表示バッファ173に書き込む。
【0049】
なお描画バッファ172に生成される元画像のデータは、例えば、Z値を格納するZバッファ176を用いて隠面消去を行いながらオブジェクト(プリミティブ面)を描画バッファ172に描画することで生成されるものである。
【0050】
なお、本実施形態の画像生成システムは、1人のプレイヤのみがプレイできるシングルプレイヤモード専用のシステムにしてもよいし、複数のプレイヤがプレイできるマルチプレイヤモードも備えるシステムにしてもよい。また複数のプレイヤがプレイする場合に、これらの複数のプレイヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0051】
2.本実施形態の手法
2.1 オーバードライブエフェクト処理の原理
本実施形態のオーバードライブエフェクト処理の原理について説明する。図2(A)(B)において、あるピクセルに着目した場合に、前の第Jのフレームでの画像データ(デジタル画像データ値)がIMJであり、現在の第Kのフレームでの画像データがIMKであったとする。この場合に、表示部190の応答速度が十分に速ければ、第Kのフレームにおいて、正しい画像データ(色データ)IMKを表示バッファ(表示バッファに設定されるバッファ)に書き込むことで、表示部190における対応するピクセルの輝度は、IMKにより設定されるべき輝度になる。
【0052】
ところが、表示部190が液晶表示装置等である場合には、液晶の応答速度が遅いため、正しい画像データIMKを書き込んでも、表示部190における対応するピクセルの輝度が、IMKにより設定されるべき輝度にならない場合がある。例えば図2(A)の場合ではIMKにより設定されるべき輝度よりも暗くなり、図2(B)の場合ではIMKにより設定されるべき輝度よりも明るくなってしまう。この結果、残像感が出たり動画がぼやけて見える問題が生じる。
【0053】
この場合、表示部190がハードウェアのオーバードライブ回路を備えていれば、このような残像感の問題を防止できる。しかしながら、携帯型ゲーム装置の液晶表示装置の多くは、このようなオーバードライブ回路を備えていない。また家庭用ゲーム装置では、ゲーム装置本体に対して様々なタイプの表示部(表示装置)が接続される可能性がある。例えばブラウン管テレビが接続されたり、液晶テレビが接続される。またオーバードライブ回路を内蔵する液晶テレビが接続されたり、内蔵しない液晶テレビが接続される。
【0054】
そして表示部190が、ハードウェアのオーバードライブ回路を備えていないと、残像感が目立ってしまい、生成されるゲーム画像の画質が劣化する。特に複数のオブジェクト(表示物)が高速に画面上で移動するゲーム画像では、オブジェクトの輪郭がぼやけてしまい、プレーヤのゲームプレイに支障を与える可能性がある。
【0055】
そこで本実施形態では、ソフトウェアによるオーバードライブエフェクト処理を行うことで、このような問題を解決している。即ち通常ならば、オブジェクトを描画することで生成された画像データ(元画像データ)は、そのまま表示部190に出力される。これに対して本実施形態では、オブジェクトの描画により生成された画像データに対して、ポストフィルタ処理としてのソフトウェアによるオーバードライブエフェクト処理を行う。具体的には図2(A)では、差分画像データIMK−IMJが正の値であるため、オーバードライブエフェクト処理後の画像データIMODKをIMKよりも大きな値に設定し、正方向へのオーバードライブエフェクト処理を行う。また図2(B)では差分画像データIMK−IMJが負の値であるため、オーバードライブエフェクト処理後の画像データIMODKをIMKよりも小さな値に設定し、負方向へのオーバードライブエフェクト処理を行う。そしてオーバードライブエフェクト処理後の画像データを表示バッファに書き込み、表示部190に出力する。
【0056】
このようにすれば、表示部190がハードウェアのオーバードライブ回路を備えていなくても、液晶等の応答速度を向上でき、残像感を低減できる。
【0057】
なお本実施形態のオーバードライブエフェクト処理とは異なる処理として、フリッカーフリー等のために用いられるぼかし処理(ブラー処理)がある。このぼかし処理では図2(C)に示すように、第J、第Kのフレームでの画像データIMJ、IMKをブレンドして、IMJとIMKの中間の画像データIMBKを生成する。
【0058】
これに対してオーバードライブエフェクト処理では図2(C)に示すように、IMKを越えたIMODK=IMK+(IMK−IMJ)×K1の画像データを生成する。即ち、現在のフレームの画像データIMKと前のフレームの画像データIMJの差分画像データIMK−IMJを求め、差分画像データIMK−IMJにエフェクト強度係数K1(α値)を乗算したものを、現在のフレームの画像データIMKに加算する処理を行って、IMODKを生成する。このようにすれば、IMKを越えたIMODKが目標値として設定されるため、液晶の反応速度が遅い場合でも、表示部190における対応する画素の輝度を、IMKに応じた輝度に設定できるようになる。
【0059】
2.2 オーバードライブエフェクト処理の詳細
次に本実施形態のオーバードライブエフェクト処理の詳細について図3、図4の動作フロー図を用いて説明する。例えばオブジェクトOBが図5(A)(B)、図6(A)に示すように移動したとする。なお図5(A)(B)、図6(A)は、各々、第1のフレーム(広義には第Jのフレーム)、第2のフレーム(広義には第Kのフレーム)、第3のフレーム(広義には第Lのフレーム)での画像である。
【0060】
ここで画像データ(色データ、輝度)の最大値を「100」とし、最小値を「0」とした場合に、オブジェクトOBの画像データの値は中間色である「70」になっており、背景領域の画像データの値は中間色である「50」になっている。そして、このオブジェクトOBを高速に移動させて、液晶表示装置の表示部190に表示すると、図6(B)に示すような残像が発生してしまう。即ちオブジェクトOBが移動すると、図6(B)のA1に示す部分の輝度は、背景領域の画像データである「50」に対応する輝度になるはずであるが、液晶の応答速度が遅いため、「50」に対応する輝度よりも大きな輝度になってしまう。この結果、A1に示す部分に残像が発生する。A2に示す部分についても同様である。
【0061】
このような残像の発生を防止するために、本実施形態では、図3に示すオーバードライブエフェクト処理を行っている。
【0062】
例えば第2のフレームでは、現在のフレームである第2のフレーム(第Kのフレーム)の画像データIM2から、前(過去)のフレームである第1のフレーム(第Jのフレーム)の画像データIM1を減算する差分処理を行う(ステップS1)。このようにすれば、例えば図5(A)(B)のようにオブジェクトOBが移動した場合に、図7(A)のような差分画像データ(差分マスク、差分プレーン)IM2−IM1が生成される。
【0063】
即ち図7(A)のB1に示す部分では、画像データがIM1=70からIM2=50に変化しているため、差分画像データはIM2−IM1=50−70=−20になる。またB2に示す部分では、IM1=70、IM2=70というように画像データが変化していないため、IM2−IM1=0になる。またB3に示す部分では、画像データがIM1=50からIM2=70に変化しているため、IM2−IM1=70−50=20になる。
【0064】
次に、差分画像データIM2−IM1にオーバードライブ用のエフェクト強度係数K1(α値)を乗算する処理を行い、(IM2−IM1)×K1を生成する(ステップS2)。
【0065】
例えば図7(B)では、エフェクト強度係数がK1=0.5であり、このエフェクト強度係数K1が図7(A)の差分画像データに乗算されるため、C1、C2、C3に示す部分での画像データは、各々、「−10」、「0」、「10」になる。
【0066】
次に、(IM2−IM1)×K1を、現在のフレームである第2のフレームの画像データIM2に対して加算する処理を行い、IM2+(IM2−IM1)×K1を生成する(ステップS3)。そして生成されたオーバードライブエフェクト処理後の画像データIMOD2=IM2+(IM2−IM1)×K1を表示部190に出力する。
【0067】
例えば図8(A)のD1に示す部分では、背景領域の画像データIM2=50に対して、図7(B)のC1に示す部分の画像データ(IM2−IM1)×K1=−10が加算されるため、オーバードライブエフェクト処理後の画像データはIMOD2=40になる。また図8(A)のD2に示す部分では、オブジェクトOBの画像データIM2=70に対して、図7(B)のC2に示す部分の画像データ(IM2−IM1)×K1=0が加算されるため、オーバードライブエフェクト処理後の画像データはIMOD2=70になる。また図8(A)のD3に示す部分では、オブジェクトOBの画像データIM2=70に対して、図7(B)のC3に示す部分の画像データ(IM2−IM1)×K1=10が加算されるため、オーバードライブエフェクト処理後の画像データはIMOD2=80になる。図8(A)に示すようなオーバードライブエフェクト処理後の画像データを表示部190に出力することで、残像感を低減できる。
【0068】
例えば図6(B)のA1に示す部分では、表示部190に出力される画像データは、背景領域の画像データである「50」になっているが、液晶の応答速度が遅いため、残像が発生している。これに対して本実施形態では、図8(B)のD1に示す部分において、背景領域の画像データ「50」よりも小さな画像データ「40」が表示部190に出力される。従って、D1の部分では図2(B)に示す負方向へのオーバードライブエフェクト処理が行われ、図6(B)のA1に示すような残像の発生を軽減できる。
【0069】
次の第3のフレームでは、第3のフレーム(第Lのフレーム)の画像データIM3から、第2のフレーム(第Kのフレーム)の画像データIM2を減算する差分処理を行う(ステップS4)。そして、得られた差分画像データIM3−IM2にオーバードライブ用のエフェクト強度係数K1を乗算する処理を行う(ステップS5)。
【0070】
次に、生成された(IM3−IM2)×K1を、第3のフレームの画像データIM3に対して加算する処理を行う(ステップS6)。そして生成されたオーバードライブエフェクト処理後の画像データIMOD3=IM3+(IM3−IM2)×K1を表示部190に出力する。
【0071】
ところで、液晶の応答速度が極めて遅い場合には、1フレーム分の差分画像データに基づくオーバードライブエフェクト処理では、残像の軽減に不十分な場合がある。
【0072】
そこで図4の動作フローでは、過去のフレームでの差分画像データに基づき得られる差分和らげ処理用の画像データを保存しておき、現在のフレームでの差分画像データと、保存しておいた差分和らげ処理用の画像データとに基づいて、オーバードライブエフェクト処理を行っている。
【0073】
例えば図4に示すように、第2のフレームでは、差分処理(ステップS11)、乗算処理(ステップS12)を行って、(IM2−IM1)×K1を生成する。そして、この(IM2−IM1)×K1に対して、差分和らげ処理用のエフェクト強度係数を乗算して、差分和らげ処理用の画像データ(IM2−IM1)×K2を生成する(ステップS13)。ここでK1>K2となっている。そして生成された差分和らげ処理用の画像データ(IM2−IM1)×K2は保存される。
【0074】
例えば図8(B)では、図7(B)のC1、C2、C3に示す画像データ「−10]、「0」、「10」に対して、差分和らげ処理用のエフェクト強度係数が乗算されて、E1、E2、E3に示すような差分和らげ処理用の画像データ「−2」、「0」、「2」が生成されている。なお図7(A)の差分画像データから差分和らげ処理用の画像データを生成するようにしてもよい。
【0075】
次の第3のフレームでは、差分処理を行って、図9(A)に示すような差分画像データを生成する(ステップS15)。そしてオーバードライブ用のエフェクト強度係数の乗算処理を行って、図9(B)に示すような画像データ(IM3−IM2)×K1を生成する(ステップS16)。
【0076】
次に、生成された画像データ(IM3−IM2)×K1に対して、保存しておいた差分和らげ処理用の画像データ(IM2−IM1)×K2を加算(或いは減算)する処理を行い、(IM3−IM2)×K1+(IM2−IM1)×K2を生成する(ステップS17)。即ち図9(B)の画像データに、図8(B)の差分和らげ処理用の画像データを加算(或いは減算)する。これにより図10(A)に示すような画像データ(マスク)が生成される。即ちF1に示す部分では0−2=−2になり、F2に示す部分では−10+0=−10になり、F3に示す部分では−10+2=−8になる。またF4に示す部分では、0+2=2になり、F5に示す部分では10+0=10になる。
【0077】
次に、生成された(IM3−IM2)×K1+(IM2−IM1)×K2を、第3のフレームの画像データIM3に対して加算する処理を行う(ステップS18)。そして生成されたオーバードライブエフェクト処理後の画像データIMOD3=IM3+(IM3−IM2)×K1+(IM2−IM1)×K2を表示部190に出力する。即ち図10(B)に示すようなオーバードライブエフェクト処理後の画像データIMOD3を出力する。また(IM3−IM2)×K1+(IM2−IM1)×K2に対して差分和らげ処理用のエフェクト強度係数を乗算する処理を行う(ステップS19)。
【0078】
図4に示すような差分和らげ処理を行えば、過去の差分画像データの効果が和らげて適用されるオーバードライブエフェクト処理を実現できる。即ち、液晶の応答速度が極めて遅い場合に、この差分和らげ処理を行わないと、図10(B)のG1に示す部分に残像が残る可能性がある。これに対して、差分和らげ処理を行えばG1等に示す部分でのオーバードライブエフェクト処理も実現できる。例えばG1に示す部分では、負方向に「−2」のオーバードライブエフェクト処理が行われて、残像の発生が低減される。
【0079】
なお図4では、差分和らげ処理用の画像データとして(IM2−IM1)×K2を保存しているが、本実施形態はこれに限定されない。即ち、保存する差分和らげ処理用の画像データは、差分画像データIM2−IM1に基づき得られる画像データであればよく、例えば差分画像データIM2−IM1そのものを保存したり、差分画像データにオーバードライブ用のエフェクト強度係数を乗算した(IM2−IM1)×K1を保存してもよい。
【0080】
また本実施形態のオーバードライブエフェクト処理は、画像プレーン単位で行ってもよいし、ピクセル単位で行ってもよい。例えば図11にピクセル単位で行う場合のオーバードライブエフェクト処理の例を示す。
【0081】
まず、処理対象となるピクセルの現在のフレームでの画像データと前のフレームでの画像データとの差分値を求める(ステップS21)。そして差分値が0か否かを判断し(ステップS22)、差分値が0である場合には、現在のフレームでの画像データを、表示バッファの対応するピクセルに書き込む(ステップS23)。一方、差分値が0ではない場合には、差分値に基づいてオーバードライブエフェクト処理を行い、オーバードライブエフェクト処理後の画像データを求める(ステップS24)。そしてオーバードライブエフェクト処理後の画像データを、表示バッファの対応するピクセルに書き込む(ステップS25)。次に、全てのピクセルについての処理が完了したか否かを判断し(ステップS26)、完了していない場合にはステップS21に戻り次のピクセルの処理に移行する。一方、完了した場合には処理を終了する。
【0082】
また図3、図4ではエフェクト強度係数が一定値であるとして説明したが、本実施形態はこれに限定されず、エフェクト強度係数を可変値にしてもよい。例えば、差分画像データの値(絶対値)が大きくなるほど大きくなるエフェクト強度係数(α値)に基づいて、オーバードライブエフェクト処理を行ってもよい。
【0083】
具体的には図12に示すような差分画像データ値とエフェクト強度係数(α値)を関連づけるテーブルを用意する。そして求められた差分画像データ値に基づいて図12のテーブルからエフェクト強度係数を参照する。そして図3のステップS2、S5や図4のステップS12、S16等では、参照されたエフェクト強度係数を差分画像データに乗算する。このようにすれば、例えば差分画像データ値が大きくなればなるほど、オーバードライブエフェクト処理の効果が大きくなる。従って液晶の応答速度が遅い場合にも、残像等の発生を最小限に抑えることが可能になる。
【0084】
2.3 オーバードライブエフェクト処理の実現手法
次にオーバードライブエフェクト処理の実現手法について説明する。この実現手法ではαブレンディング処理を行ってオーバードライブエフェクト処理を実現している。即ちエフェクト強度係数としてα値を用いる。更に具体的には、第Kのフレームで生成された画像データIMKと、第J(K>J)のフレームにおいて生成されたオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行う。
【0085】
例えば図13において、第1のフレーム(第Jのフレーム)では、オーバードライブエフェクト処理後の画像データIMOD1が表示バッファに書き込まれている。そして次の第2のフレーム(第Kのフレーム)では、オブジェクトを描画バッファに描画することで第2のフレームでの画像データIM2を生成する。そして画像データIM2と、第1のフレームで生成されたオーバードライブエフェクト処理後の画像データIMOD1と、α値αとに基づいて、αブレンディング処理を行うことで、オーバードライブエフェクト処理後の画像データIMOD2=IM2+(IM2−IMOD1)×αの画像データを生成する。そして生成された画像データIMOD2を表示部に出力する。
【0086】
次の第3のフレーム(第Lのフレーム)では、オブジェクトを描画バッファに描画することで第3のフレームでの画像データIM3を生成する。そして画像データIM3と、第2のフレームで生成されたオーバードライブエフェクト処理後の画像データIMOD2と、α値αとに基づいて、αブレンディング処理を行うことで、オーバードライブエフェクト処理後の画像データIMOD3=IM3+(IM3−IMOD2)×αの画像データを生成する。そして生成された画像データIMOD3を表示部に出力する。
【0087】
この実現手法によれば、元画像データに対してαブレンディング処理を行うだけで、オーバードライブエフェクト処理が行われた画像データを生成できる。従って、処理負荷が軽いという利点がある。
【0088】
即ち図14に示すように、頂点等にα値が設定された画面サイズ又は分割画面サイズのプリミティブ面PL(スプライト、ポリゴン)に、画像データIM2(IMK)のテクスチャをマッピングする。そして、テクスチャがマッピングされたプリミティブ面PLを、画像データIMOD1(IMODJ)が描画されているバッファ(例えば表示バッファ)に対してαブレンディング描画することで、オーバードライブエフェクト処理が行われた画像データIMOD2=IM2+(IM2−IMOD1)×αを生成する。このようにすれば、例えば1回のテクスチャマッピングでオーバードライブエフェクト処理を実現でき、処理負荷を軽減できる。また、通常、この種の画像生成システムはテクスチャマッピング機能を有している。従って、本実施形態の実現手法によれば、表示部がハードウェアのオーバードライブ回路を有していなくても、このテクスチャマッピング機能を有効利用してオーバードライブエフェクト処理を実現できるという利点がある。
【0089】
なお本実施形態の実現手法では図13に示すようにダブルバッファを利用してオーバードライブエフェクト処理を実現している。即ち各フレームにおいて、描画バッファにオブジェクトを描画することで画像データを生成し、生成された画像データと、表示バッファに既に書き込まれている前のフレームでのオーバードライブエフェクト処理後の画像データとのαブレンディング処理を行う。このようにすれば、メモリにおけるバッファの使用記憶容量をトリプルバッファを利用する場合に比べて小さくできるため、メモリの節約が可能になる。
【0090】
また本実施形態の実現手法は、画像生成システムへの実装も容易であるという利点がある。例えばαブレンディング処理は、半透明処理やぼかし(ブラー)処理のために用意されている。即ち図2(C)において、画像データIMKとIMJの中間の画像データIMBKを求めるために用意される。そして、画像生成システムにおいて許容されるαブレンディングの式が、通常αブレンディングの式であるCS×(1−A)+CD×Aであったとする。この場合に図13の実現手法では、A=−αに設定する。またソース色CSとしてIM2を設定し、ディスティネーション色CDとしてIM1を設定する。
【0091】
このようにしてαブレンディング処理を行えば、
CS×(1−A)+CD×A=CS×(1+α)−CD×α
=CS+(CS−CD)×α
=IM2+(IM2−IM1)×α
となるため、オーバードライブエフェクト処理を実現できる。即ち画像生成システムのαブレンディングの式として、CS×(1−A)+CD×Aで表される通常αブレンディングの式を用いて、A=−αに設定するだけで、オーバードライブエフェクト処理を実現できる。
【0092】
次に図15のフローチャートを用いて、本実施形態の実現手法の詳細な処理について説明する。
【0093】
まずジオメトリ処理を行い(ステップS71)、描画バッファにジオメトリ処理後(透視変換後)のオブジェクトを描画する(ステップS72)。そして、描画バッファの画像データをテクスチャに設定し(ステップS73)、テクスチャのα値を無効にするように設定する(ステップS74)。
【0094】
次にαブレンディングの式CS×(1−A)+CD×Aを設定する(ステップS75)。またα値A=−αに設定する(ステップS76)。
【0095】
次に図14で説明したように、分割画面サイズ(或いは画面サイズ)のスプライトに描画バッファのテクスチャをマッピングし、1フレーム前のオーバードライブエフェクト処理後の画像データが描画されている表示バッファに対し、設定されたαブレンディングの式に従ってスプライトを描画する(ステップS77)。そして表示バッファの画像を表示部に表示する(ステップS78)。このようにすることで、図13で説明したように、ダブルバッファを利用したオーバードライブエフェクト処理を実現できる。
【0096】
なお図3のステップS1では、現在のフレームにおいてオブジェクトを描画することで生成された画像データIM2と、前のフレームにおいてオブジェクトを描画することで生成された画像データIM1との差分の画像データIM2−IM1を求めている。
【0097】
この点、図13の実現手法では、現在のフレームにおいてオブジェクトを描画することで生成された画像データIM2と、前のフレームで生成されたオーバードライブエフェクト処理後の画像データIMOD1との差分の画像データIM2−IMOD1を求めている。そしてこのIM2−IMOD1にα値を乗算したものを画像データIM2に加算して、オーバードライブエフェクト処理後の画像データIMOD2=IM2+(IM2−IMOD1)×αを求めている。従って、この図13の実現手法では、α値が大きすぎると、オーバードライブエフェクト処理の効果が過大になり、チラツキ(振動)が発生するおそれがある。
【0098】
しかしながら、この図13の実現手法によれば、前のフレームでのオーバードライブエフェクト処理後の画像データIMOD1が書き込まれている表示バッファに対して、画像データIM2をαブレンディング描画するだけで、今回のフレームでのオーバードライブエフェクト処理後の画像データIMOD2を生成できる。従って、例えばトリプルバッファ構成を採用しなくても、図13に示すようなダブルバッファ構成でオーバードライブエフェクト処理を実現でき、メモリの節約や処理の簡素化を図れるという利点がある。なおオーバードライブエフェクト処理の効果が過大になることによるチラツキ(振動)の発生を防止するために、図4で説明した差分和らげ処理を行うようにしてもよい。
【0099】
2.4 特定領域へのオーバードライブエフェクト処理
ハードウェアのオーバードライブ回路を用いてオーバードライブを行うと、表示画面の全ての領域に対してオーバードライブが掛かってしまう。
【0100】
ところが、ゲームによっては、画面内の特定のオブジェクトについてのみ、残像感を軽減できれば十分な場合がある。例えば画面内で高速に移動するキャラクタなどのオブジェクトや、残像が発生しやすい形状のオブジェクト(例えば並んで配置される柱状オブジェクト等)についてだけ、残像感を軽減できれば、十分な場合がある。このような場合に、オーバードライブエフェクト処理の対象をこのようなオブジェクトに絞れば、処理負荷の軽減を図れる可能性がある。
【0101】
そこで図16(A)では、表示部の表示領域のうちの特定の領域200の画像データに対してのみ、オーバードライブエフェクト処理を行うようにしている。こうすれば、特定領域200以外では、オーバードライブエフェクト処理を行わなくて済む。従って例えばピクセルシェーダー手法によりオーバードライブエフェクト処理を実現した場合などにおいて、処理負荷を軽減することが可能になる。またオーバードライブエフェクト処理が不要な場所に、不必要にオーバードライブエフェクト処理が掛かってしまう事態も防止できる。
【0102】
図16(A)の特定領域200は、描画バッファに描画するオブジェクトに基づき設定することができる。具体的には、複数のオブジェクト(例えば透視変換後のオブジェクト)を描画することで画像データを生成する場合には、複数のオブジェクトのうちの特定のオブジェクト(モデルオブジェクト)を内包する領域に対して、オーバードライブエフェクト処理を行うようにする。例えば図16(B)では、特定のオブジェクトOBを内包する領域200を設定する。具体的には、オブジェクト(透視変換後のオブジェクト)の頂点座標(制御点の座標)に基づいて、領域200を設定し、この領域200に対してオーバードライブエフェクト処理を行う。
【0103】
なお、オブジェクトに対して簡易オブジェクトが設定される場合には、簡易オブジェクト(透視変換後の簡易オブジェクト)の頂点座標に基づいて、オーバードライブエフェクト処理を行う領域200を設定してもよい。即ちゲームによっては、オブジェクトに対して、その形状を簡易化した簡易オブジェクト(オブジェクトよりも頂点数が少なく、オブジェクトに追従して移動するオブジェクト)が設定される場合がある。例えば銃弾やパンチなどの攻撃がオブジェクトにヒットしたか否かのチェックは、簡易オブジェクトと銃弾やパンチとのヒットチェックを行うことで実現される。そして簡易オブジェクトの頂点座標に基づいて領域200を設定すれば、簡易オブジェクトの頂点数は少ないため、処理負荷を軽減できる。
【0104】
図16(B)の領域200の設定は、具体的には以下の手法により実現できる。まず、オブジェクトOB(或いは簡易オブジェクト)を内包するバウンディングボックスBB(バウンディングボリューム)を生成する。このバウンディングボックスBBは、オブジェクトOBのスクリーン座標系での頂点(透視変換後のOBの頂点)のX座標、Y座標を求め、これらの頂点のX座標の最小値XMIN、最大値XMAXと、Y座標の最小値YMIN、最大値YMAXを求めることで生成できる。なお、余裕を持たせるために、バウンディングボックスBBの大きさを、図16(B)よりも若干だけ広げた大きさに設定してもよい。
【0105】
そして生成されたバウンディングボックスBBにより図14のプリミティブ面PLを設定する。次に、このプリミティブ面PLに対して、画像データIM2のテクスチャをマッピングする。そしてテクスチャがマッピングされたプリミティブ面PLを、画像データIMOD1が描画されているバッファに対してαブレンディング描画することで、オーバードライブエフェクト処理が行われた画像データを生成する。
【0106】
なお領域200の設定は図16(B)に示すようなバウンディングボックスを用いる手法に限定されない。例えば表示領域内において、同じ位置にある領域を、常に、オーバードライブエフェクト処理を行う領域200として設定してもよい。
【0107】
2.5 調整画面、モード設定画面
家庭用ゲーム装置では、ゲーム装置本体に対して様々なタイプの表示部が接続される可能性がある。例えばブラウン管テレビが接続されたり、液晶テレビが接続される。またオーバードライブ回路を内蔵する液晶テレビが接続されたり、内蔵しない液晶テレビが接続される。また液晶テレビは、製品によって液晶の応答速度が遅いものや速いものがある。また携帯型ゲーム装置においても、同じ製品であっても、液晶画面の仕様が変更される場合がある。また携帯型ゲーム装置が、外部モニタであるブラウン管テレビや液晶テレビに接続される場合もある。
【0108】
このような場合に、オーバードライブエフェクト処理のα値(エフェクト強度)が固定値であると、オーバードライブエフェクト処理が不十分なため残像が残ったり、過度なオーバードライブエフェクト処理によりチラツキ(振動)が発生するおそれがある。またオーバードライブエフェクト処理の有効、無効を設定できないと、オーバードライブエフェクト処理を必要としない表示部なのに、オーバードライブエフェクト処理が掛かってしまう事態が生じる。
【0109】
そこで図17(A)(B)では、オーバードライブエフェクト処理のα値を調整するための調整画面や、オーバードライブエフェクト処理を有効にするか否かを設定するためのモード設定画面を表示するようにしている。
【0110】
例えば図17(A)では、中間色CN1に設定された調整画面の背景領域210(調整ウィンドウ)上で、中間色CN2に設定されたオブジェクトOBが移動する。このように背景領域210、オブジェクトOBを、原色ではない中間色に設定すれば、残像が目立つようになり、オーバードライブエフェクト処理のα値の調整に好適な調整画面を提供できる。
【0111】
プレーヤは、オブジェクトOBの画像を見ながら、画面上に表示された調整スライダー212を操作部により動かして、オーバードライブエフェクト処理のα値(エフェクト強度)を調整する。例えばプレーヤは、オブジェクトOBの残像が大きいと感じたら、調整スライダー212を右側に移動させて、オーバードライブエフェクト処理のエフェクト強度を大きくなるようなα値に設定する。一方、オブジェクトOBの残像がそれほど大きくなく、オーバードライブの効果が大きすぎると感じたら、調整スライダー212を左側に移動させて、オーバードライブエフェクト処理のエフェクト強度が小さくなるようなα値に設定する。そしてこのようにして調整されたα値(エフェクト強度)は、画像生成システムの記憶部やメモリーカード等の携帯型情報記憶装置に保存される。そして、ゲーム画面においては、この保存されたα値(エフェクト強度)に基づいて、オーバードライブエフェクト処理が行われることになる。
【0112】
なお調整画面の表示手法は図17(A)に限定されない。例えば図17(A)では円形状のオブジェクトを移動させているが、円以外の形状(例えば柱形状)のオブジェクトを移動させてもよい。また複数のオブジェクトを移動させるようにしてもよい。またこのようなオブジェクトを表示せずに、調整スライダー212(調整値を指定するための表示物)だけを表示するようにしてもよい。また背景領域210やオブジェクトOBに設定される中間色も、様々な色を採用できる。例えば背景領域210やオブジェクトOBの画像を、2色以上の中間色を有する画像にしてもよい。
【0113】
図17(B)のモード設定画面は、ゲームにおける各種設定を行うための画面である。例えばゲーム音の設定(音色、音量、ステレオ/モノラルの設定)、操作部の設定(ボタンやレバーの割り当ての設定)、画像表示の設定などを行うための画面である。
【0114】
図17(B)のモード設定画面では、プレーヤは操作部を操作して、オーバードライブエフェクト処理の有効(オン)、無効(オフ)を設定できる。そしてオーバードライブエフェクト処理を有効にする設定(選択)が行われた場合には、ゲーム画面においてオーバードライブエフェクト処理が行われるようになる。
【0115】
なおモード設定画面の表示手法は図17(B)に限定されない。例えば、オーバードライブエフェクト処理の有効、無効の設定を、図17(A)の調整画面において行えるようにしてもよい。この場合には例えば、図17(A)の調整スライダー212が一番左側に移動した場合に、オーバードライブエフェクト処理が無効になるようにすればよい。また、オーバードライブエフェクト処理のエフェクト強度の調整を、モード設定画面において行えるようにしてもよい。この場合には例えば、図17(A)の調整スライダー212を図17(B)のモード設定画面に表示すればよい。
【0116】
3.ハードウェア構成
図18に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0117】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセラレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0118】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0119】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0120】
ROM950にはシステムプログラムなどが格納されている。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されている。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されているCD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0121】
なお本実施形態の各部の処理はハードウェアとプログラムの両方により実現でき、この場合、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ900、902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ900、902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0122】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(第J、第K、第Lのフレーム等)と共に記載された用語(第1、第2、第3のフレーム等)は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
【0123】
またオーバードライブエフェクト処理の実現手法も、本実施形態で説明した実現手法に限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明のオーバードライブエフェクト処理は、表示部が液晶表示装置ではない場合にも適用可能である。
【0124】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【0125】
【図1】本実施形態の画像生成システムの機能ブロック図の例。
【図2】図2(A)(B)(C)はオーバードライブエフェクト処理の原理の説明図。
【図3】オーバードライブエフェクト処理を説明する動作フロー。
【図4】差分和らげ処理を用いたオーバードライブエフェクト処理を説明する動作フロー。
【図5】図5(A)(B)はオブジェクトの残像発生の説明図。
【図6】図6(A)(B)はオブジェクトの残像発生の説明図。
【図7】図7(A)(B)はオーバードライブエフェクト処理の説明図。
【図8】図8(A)(B)はオーバードライブエフェクト処理の説明図。
【図9】図9(A)(B)はオーバードライブエフェクト処理の説明図。
【図10】図10(A)(B)はオーバードライブエフェクト処理の説明図。
【図11】ピクセル単位で行うオーバードライブエフェクト処理のフローチャート。
【図12】差分画像データ値に基づきエフェクト強度係数を変化させる手法の説明図。
【図13】オーバードライブエフェクト処理の実現手法の説明図。
【図14】プリミティブ面にテクスチャをマッピングしてαブレンディング描画する手法の説明図。
【図15】オーバードライブエフェクト処理の実現手法のフローチャート。
【図16】図16(A)(B)は表示領域の特定領域に対してオーバードライブエフェクト処理を行う手法の説明図。
【図17】図17(A)(B)はオーバードライブエフェクト処理の調整画面、モード設定画面の例。
【図18】ハードウェア構成例。
【符号の説明】
【0126】
100 処理部、110 オブジェクト空間設定部、112 移動・動作処理部、
114 仮想カメラ制御部、116 表示制御部、120 描画部、
122 オーバードライブエフェクト処理部、130 音生成部、160 操作部、
170 記憶部、172 描画バッファ、173 表示バッファ、
174 テクスチャ記憶部、176 Zバッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 携帯型情報記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
画像を生成するためのプログラムであって、
オブジェクトを描画して画像データを生成する描画部と、
生成された画像データに対してオーバードライブエフェクト処理を行い、表示部に出力するための画像データを生成するオーバードライブエフェクト処理部として、
コンピュータを機能させ、
前記オーバードライブエフェクト処理部は、
第Kのフレームで生成された画像データIMKと、第J(K>J)のフレームにおいて生成されたオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行うことで、前記オーバードライブエフェクト処理が行われた画像データを生成することを特徴とするプログラム。
【請求項2】
請求項1において、
前記オーバードライブエフェクト処理部は、
α値が設定された画面サイズ又は分割画面サイズのプリミティブ面に、前記画像データIMKのテクスチャをマッピングし、テクスチャがマッピングされた前記プリミティブ面を、前記画像データIMODJが描画されているバッファに対してαブレンディング描画することを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記オーバードライブエフェクト処理部は、
オブジェクトを描画バッファに描画して画像データIMKを生成し、生成された画像データIMKと、表示バッファに書き込まれている第Jのフレームでのオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行い、オーバードライブエフェクト処理が行われた画像データを表示バッファに書き込むことを特徴とするプログラム。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記オーバードライブエフェクト処理部は、
表示部の表示領域のうちの特定の領域の画像データに対してのみ、前記オーバードライブエフェクト処理を行うことを特徴とするプログラム。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記描画部は、
複数のオブジェクトを描画することで画像データを生成し、
前記オーバードライブエフェクト処理部は、
複数のオブジェクトのうちの特定のオブジェクトを内包する領域に対して、前記オーバードライブエフェクト処理を行うことを特徴とするプログラム。
【請求項6】
請求項5において、
前記オーバードライブエフェクト処理部は、
オブジェクトの頂点座標、或いはオブジェクトに対して簡易オブジェクトが設定される場合には簡易オブジェクトの頂点座標に基づいて、前記オーバードライブエフェクト処理を行う前記領域を設定することを特徴とするプログラム。
【請求項7】
請求項1乃至6のいずれかにおいて、
前記オーバードライブエフェクト処理のα値を調整するための調整画面の表示制御を行う表示制御部として、
コンピュータを機能させ、
前記オーバードライブエフェクト処理部は、
前記調整画面においてエフェクト強度の調整が行われた場合に、調整により得られたα値に基づいて前記オーバードライブエフェクト処理を行うことを特徴とするプログラム。
【請求項8】
請求項7において、
前記表示制御部は、
第1の中間色に設定された調整画面の背景領域上で、第2の中間色に設定されたオブジェクトを移動させる表示制御を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記オーバードライブエフェクト処理を有効にするか否かを設定するためのモード設定画面の表示制御を行う表示制御部として、
コンピュータを機能させ、
前記オーバードライブエフェクト処理部は、
前記モード設定画面において前記オーバードライブエフェクト処理を有効にする設定が行われた場合に、前記オーバードライブエフェクト処理を行うことを特徴とするプログラム。
【請求項10】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至9のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項11】
画像を生成する画像生成システムであって、
オブジェクトを描画して画像データを生成する描画部と、
生成された画像データに対してオーバードライブエフェクト処理を行い、表示部に出力するための画像データを生成するオーバードライブエフェクト処理部とを含み、
前記オーバードライブエフェクト処理部は、
第Kのフレームで生成された画像データIMKと、第J(K>J)のフレームにおいて生成されたオーバードライブエフェクト処理後の画像データIMODJと、α値αとに基づいて、IMK+(IMK−IMODJ)×αのαブレンディング処理を行うことで、前記オーバードライブエフェクト処理が行われた画像データを生成することを特徴とする画像生成システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−32290(P2009−32290A)
【公開日】平成21年2月12日(2009.2.12)
【国際特許分類】
【出願番号】特願2008−275525(P2008−275525)
【出願日】平成20年10月27日(2008.10.27)
【分割の表示】特願2005−210540(P2005−210540)の分割
【原出願日】平成17年7月20日(2005.7.20)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】