(57)【要約】【課題】  ズーム処理時において生成される画像を高品質化できるプログラム、情報記憶媒体及び画像生成システムの提供。【解決手段】  画像生成システムは、解像度レベルが異なる複数のミップマップ用テクスチャを記憶するテクスチャ記憶部と、仮想カメラから遠いオブジェクトほど解像度レベルが低いミップマップ用テクスチャをマッピングするミップマップ処理を行うテクスチャマッピング部と、仮想カメラの位置は変更せずに表示画像を拡大するズーム処理を行うズーム処理部を含む。テクスチャマッピング部は、ズーム処理が行われた場合には、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャをオブジェクトにマッピングする。【選択図】      図４
2005275797.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間において仮想カメラから見える画像を生成するためのプログラムであって、
複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
仮想カメラを制御する仮想カメラ制御部と、
解像度レベルが異なる複数のミップマップ用テクスチャを記憶するテクスチャ記憶部と、
仮想カメラから遠い距離に位置するオブジェクトほど解像度レベルが低いミップマップ用テクスチャをマッピングするミップマップ処理を行うテクスチャマッピング部と、
仮想カメラの位置は変更せずに表示画像を拡大するズーム処理を行うズーム処理部として、
コンピュータを機能させ、
前記テクスチャマッピング部が、
ズーム処理が行われた場合には、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャをオブジェクトにマッピングすることを特徴とするプログラム。
【請求項２】
請求項１において、
ミップマップパラメータの設定処理を行うミップマップパラメータ設定部としてコンピュータを機能させ、
前記ミップマップパラメータ設定部が、
ズーム処理が行われた場合には、ズーム処理が行われない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャがオブジェクトにマッピングされるように、前記ミップマップパラメータを設定し、
前記テクスチャマッピング部が、
設定された前記ミップマップパラメータに基づいてミップマップ処理を行うことを特徴とするプログラム。
【請求項３】
請求項２において、
前記ミップマップパラメータが、前記ミップマップの開始距離を設定するための開始距離パラメータを含み、
前記ミップマップパラメータ設定部が、
ズーム処理が行われた場合には、ズーム処理が行われない場合の開始距離よりも仮想カメラから遠い開始距離に、前記開始距離パラメータを設定することを特徴とするプログラム。
【請求項４】
請求項２又は３において、
前記ズーム処理部が、
ズームスケーリング値に基づいてズーム処理を行い、
前記ミップマップパラメータ設定部が、
前記ズームスケーリング値に基づいて、前記ミップマップパラメータを設定することを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記ズーム処理部が、
オブジェクトのジオメトリ処理に使用される座標変換行列を構成するスケーリング行列の要素のうち、Ｘ軸方向及びＹ軸方向でのスケーリング値を変更することで、ズーム処理を行うことを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記テクスチャ記憶部が、
解像度レベルが異なる複数のミップマップ用テクスチャと、通常マップ用汚れ表現テクスチャとを記憶し、
前記テクスチャマッピング部が、
前記ミップマップ用テクスチャを、繰り返しマッピングされるタイリングテクスチャとしてオブジェクトにマッピングし、前記タイリングテクスチャにオーバーラップするように、前記通常マップ用汚れ表現テクスチャをオブジェクトにマッピングすることを特徴とするプログラム。
【請求項７】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至６のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項８】
オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、
複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、
仮想カメラを制御する仮想カメラ制御部と、
解像度レベルが異なる複数のミップマップ用テクスチャを記憶するテクスチャ記憶部と、
仮想カメラから遠い距離に位置するオブジェクトほど解像度レベルが低いミップマップ用テクスチャをマッピングするミップマップ処理を行うテクスチャマッピング部と、
仮想カメラの位置は変更せずに表示画像を拡大するズーム処理を行うズーム処理部とを含み、
前記テクスチャマッピング部が、
ズーム処理が行われた場合には、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャをオブジェクトにマッピングすることを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来より、キャラクタなどのオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。野球ゲームの画像を生成する画像生成システムを例にとれば、守備側のプレーヤが投手キャラクタを操作してボールを投げ、攻撃側のプレーヤが打者キャラクタを操作して投げられたボールを打つゲームの画像を生成する。
【０００３】
このような画像生成システムでは、いわゆるミップマップ（MIP-MAP:Multum In Parvo Mapping）と呼ばれる機能を備えているものが多い。このミップマップは、ポリゴンに貼り付けるテクスチャを、そのポリゴンの大きさに最適になるように自動補正する機能である。一般的に、画面のピクセルサイズよりもテクスチャのテクセルサイズの方が小さくなると、サンプリング不足によるモアレパターンが発生する。ミップマップを用いれば、ポリゴンの大きさに応じた最適なサイズのテクスチャがマッピングされるようになるため、このようなモアレパターンの発生を防止できる。
【０００４】
しかしながら、従来のミップマップでは、仮想カメラからの距離のみをパラメータとして、ミップマップ用テクスチャの選択を行っていた。このため、ズーム処理を行った場合に、生成される画像が今ひとつリアルにならないという課題があることが判明した。
【特許文献１】特開２００２−２１６１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ズーム処理時において生成される画像を高品質化できるプログラム、情報記憶媒体及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、オブジェクト空間において仮想カメラから見える画像を生成する画像生成システムであって、複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定部と、仮想カメラを制御する仮想カメラ制御部と、解像度レベルが異なる複数のミップマップ用テクスチャを記憶するテクスチャ記憶部と、仮想カメラから遠い距離に位置するオブジェクトほど解像度レベルが低いミップマップ用テクスチャをマッピングするミップマップ処理を行うテクスチャマッピング部と、仮想カメラの位置は変更せずに表示画像を拡大するズーム処理を行うズーム処理部とを含み、前記テクスチャマッピング部が、ズーム処理が行われた場合には、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャをオブジェクトにマッピングする画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００７】
本発明によれば、仮想カメラから遠いオブジェクト（プリミティブ面）ほど解像度レベルが低いミップマップ用テクスチャがマッピングされるミップマップ処理が行われる。また表示画像を拡大して表示するためのズーム処理が行われる。そして本発明では、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャの解像度レベルが例えば第Ｊの解像度レベルであったとすると、ズーム処理が行われた場合には、第Ｊの解像度レベルよりも高い第Ｉの解像度レベルのミップマップ用テクスチャが、そのオブジェクトにマッピングされる。従って、ズーム処理により拡大表示されるオブジェクトに対して、高解像度レベルのテクスチャがマッピングされるようになり、ズーム処理時においても高品質な画像を生成できるようになる。
【０００８】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、ミップマップパラメータの設定処理を行うミップマップパラメータ設定部を含み（ミップマップパラメータ設定部としてコンピュータを機能させ）、前記ミップマップパラメータ設定部が、ズーム処理が行われた場合には、ズーム処理が行われない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャがオブジェクトにマッピングされるように、前記ミップマップパラメータを設定し、前記テクスチャマッピング部が、設定された前記ミップマップパラメータに基づいてミップマップ処理を行うようにしてもよい。
【０００９】
このようにすれば、ミップマップパラメータの設定に基づいて、ズーム処理時に高解像度レベルのミップマップ用テクスチャをマッピングできるようになり、ズーム処理時での高品質な画像の生成を簡素な処理で実現できる。
【００１０】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ミップマップパラメータが、前記ミップマップの開始距離を設定するための開始距離パラメータを含み、前記ミップマップパラメータ設定部が、ズーム処理が行われた場合には、ズーム処理が行われない場合の開始距離よりも仮想カメラから遠い開始距離に、前記開始距離パラメータを設定するようにしてもよい。
【００１１】
このようにすれば、ズーム処理時に高解像度レベルのミップマップ用テクスチャをマッピングする処理を、開始距離パラメータの設定処理を行うだけで実現できるため、処理の簡素化を図れる。
【００１２】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ズーム処理部が、ズームスケーリング値に基づいてズーム処理を行い、前記ミップマップパラメータ設定部が、前記ズームスケーリング値に基づいて、前記ミップマップパラメータを設定するようにしてもよい。
【００１３】
このようにすれば、ズーム処理と、ズーム処理時に高解像度レベルのミップマップ用テクスチャをマッピングする処理とを、同じズームスケーリング値に基づいて実現できるようになる。
【００１４】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記ズーム処理部が、オブジェクトのジオメトリ処理に使用される座標変換行列を構成するスケーリング行列の要素のうち、Ｘ軸方向及びＹ軸方向でのスケーリング値を変更することで、ズーム処理を行うようにしてもよい。
【００１５】
このようにすれば、スケーリング行列のスケーリング値を変更するだけで、ズーム処理を実現できるようになる。
【００１６】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記テクスチャ記憶部が、解像度レベルが異なる複数のミップマップ用テクスチャと、通常マップ用汚れ表現テクスチャとを記憶し、前記テクスチャマッピング部が、前記ミップマップ用テクスチャを、繰り返しマッピングされるタイリングテクスチャとしてオブジェクトにマッピングし、前記タイリングテクスチャにオーバーラップするように、前記通常マップ用汚れ表現テクスチャをオブジェクトにマッピングするようにしてもよい。
【００１７】
このようにすれば、表示物の全体的な汚れ表現による画像の高品質化と、ズーム処理時におけるズーム画像の高品質化とを両立できる。
【発明を実施するための最良の形態】
【００１８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１９】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００２２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２３】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２４】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２５】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２６】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、ズーム処理部１１６、ミップマップパラメータ設定部１１８、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２７】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２８】
移動・動作処理部１１２は、オブジェクト（キャラクタ、ボール、車、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。即ち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクト（移動オブジェクト）をオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２９】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００３０】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００３１】
ズーム処理部１１６は仮想カメラのズーム処理を行う。具体的には、仮想カメラの位置は変更せずに表示画像を拡大して表示するためのズーム処理を行う。このズーム処理は、ズームスケーリング値に基づいて行うことができる。即ちズーム処理部１１６は、オブジェクトのジオメトリ処理（透視変換等）に使用される座標変換行列（例えばワールド座標系からスクリーン座標系への座標変換に用いられる行列）を構成するスケーリング行列の要素のうち、Ｘ軸方向及びＹ軸方向でのスケーリング値であるズームスケーリング値を変更することで、ズーム処理を行う。
【００３２】
ミップパラメータ設定部１１８は、ミップマップパラメータの設定処理を行う。具体的には本実施形態では、記憶部１７０のテクスチャ記憶部１７４が、解像度レベル（サイズ）が異なる複数のミップマップ用テクスチャを記憶する。そしてミップパラメータ設定部１１８は、ズーム処理が行われた場合には、ズーム処理が行われない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャがオブジェクトにマッピングされるように、ミップマップパラメータを設定する。この場合のミップマップパラメータは、ミップマップの開始距離（ミップマップの開始Ｚ値）を設定するための開始距離パラメータや、ミップマップの強さを設定するための強さパラメータなどを含むことができる。そしてミップマップパラメータ設定部１１８は、ズーム処理が行われた場合には、ズーム処理が行われない場合の開始距離よりも仮想カメラから遠い開始距離に、開始距離パラメータを設定する。この場合のパラメータの設定は、例えばミップマップパラメータのレジスタなどに対して行うことができる。
【００３３】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を描画バッファ１７２（フレームバッファ、中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００３４】
描画部１２０は、テクスチャマッピング部１２２を含む。テクスチャマッピング部１２２は、テクスチャ記憶部１７４に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理を行う。具体的には、オブジェクト（プリミティブ面）の頂点に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７４からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（テクセル補間）などを行う。
【００３５】
本実施形態では、解像度レベルが異なる複数のミップマップ用テクスチャをテクスチャ記憶部１７４が記憶する。そしてテクスチャマッピング部１２２は、仮想カメラから遠いオブジェクト（プリミティブ面）ほど解像度レベルが低いミップマップ用テクスチャをマッピングすることができ、これによりミップマップ処理が実現される。この場合にテクスチャマッピング部１２２は、ミップマップパラメータ設定部１１８により設定されたミップマップパラメータ（ミップマップの開始距離パラメータ、強さパラメータ）に基づいてミップマップ処理を行う。
【００３６】
そして本実施形態では、テクスチャマッピング部１２２が、ズーム処理部１１６によりズーム処理が行われた場合には、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャをオブジェクト（プリミティブ面）にマッピングする。このようにすれば、ズーム処理によりオブジェクトの画像が拡大表示された場合にも、解像度レベルが高いミップマップ用テクスチャがそのオブジェクトにマッピングされるようになる。従って、ズーム処理時においても高品質でリアルな画像の生成が可能になる。
【００３７】
なお描画部１２０は、α値（Ａ値）に基づくαブレンディング処理（通常αブレンディング、α加算ブレンディング又はα減算ブレンディング等）や、Ｚバッファなどを用いた隠面消去処理も行うことができる。
【００３８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００３９】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４０】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。なお以下ではバックネットや地面（グラウンド）の画像の生成に本実施形態の手法を適用した場合について説明するが、本実施形態はこれに限定されない。
【００４１】
２．１  ズーム処理時におけるミップマップ処理
本実施形態ではミップマップによるテクスチャマッピングを利用して画像を生成している。図２に本実施形態で使用されるミップマップ用テクスチャの例を示す。図２のＴＥＸ０、ＴＥＸ１、ＴＥＸ２は、各々、高解像度レベル、中解像度レベル、低解像度レベルのテクスチャであり、野球ゲームの観客席などに配置されるバックネットを表現するためのテクスチャである。なお図２では、３個のミップマップ用テクスチャを例示しているが、ミップマップ用テクスチャの個数は３個に限定されない。
【００４２】
ミップマップでは、仮想カメラからの距離（奥行き距離、Ｚ値。他の説明でも同様）が近いオブジェクト（プリミティブ面。他の説明でも同様）に対しては高解像度レベルのテクスチャＴＥＸ０をマッピングし、距離が中ぐらいのオブジェクトに対しては中解像度レベルのテクスチャＴＥＸ１をマッピングし、距離が遠いオブジェクトに対しては低解像度レベルのテクスチャＴＥＸ２をマッピングする。そしてこれらのテクスチャでは、近距離用のテクスチャＴＥＸ０のサイズが一番大きく、遠距離用のテクスチャＴＥＸ２のサイズが一番小さくなっている。
【００４３】
このようにすれば、近距離のオブジェクトに対しては、高解像度（高詳細度）レベルのテクスチャＴＥＸ０がマッピングされるため、画像の品質やリアル度を増すことができる。また遠距離のオブジェクトに低解像度レベルのテクスチャをマッピングすることで、モアレパターンが発生してエイリアシングが生じるのを効果的に防止できる。即ち、画面のピクセルサイズよりもテクスチャのテクセルサイズの方が小さくなると、サンプリング不足によるモアレパターンが発生する。ミップマップを用いれば、ポリゴンの大きさに応じた最適なサイズのテクスチャがポリゴンにマッピングされるようになるため、このようなモアレパターンの発生を防止できる。なお、ミップマップを用いた場合、ミップマップ用テクスチャが切り替わった場所が線のように見えてしまう場合がある。これを防ぐためには、いわゆるトライリニアフィルタ処理を行うことが望ましい。即ちバイリニアフィルタによるテクスチャの補間処理を行いながら、ミップマップ用テクスチャの切り替え場所を目立たなくするための補間処理を行うようにする。このようにすれば、より高品質な画像の生成が可能になる。
【００４４】
さて、野球ゲームにおいては、仮想カメラに野球の中継カメラの役割を持たせ、この中継用の仮想カメラから見た画像を、ゲーム画像として生成する場合がある。例えばセンターの野手の上方付近に、中継カメラとして機能する仮想カメラを配置設定し、ズーム処理を行って、投手キャラクタの投げる様子や打者キャラクタの打つ様子を中継する。また打者がボールを打ってホームランになった場合においては、仮想カメラが、ズーム処理を行いながらボールの行方を追い、ボールが観客席に飛び込む様子を中継する。
【００４５】
このようなズーム処理を行いながら中継ゲーム画像を生成する場合には、図３に示すように、仮想カメラＶＣの位置は変化せずにズーム処理が行われて、バックネットなどを表現するオブジェクトＯＢの拡大画像が中継ゲーム画像として表示される。この場合、図３に示すようにオブジェクトＯＢは仮想カメラＶＣから遠い距離に位置する。従って、何も工夫をせずにミップマップ処理を行うと、この遠い距離のオブジェクトＯＢに対しては、図２に示す低解像度レベルのテクスチャＴＥＸ２がマッピングされてしまう。そうすると、ゲーム画像は拡大表示されているのに、低解像度のテクスチャＴＥＸ２がマッピングされたオブジェクトＯＢが表示されてしまい、リアルな画像を生成できないという課題があることが判明した。
【００４６】
そこで本実施形態では図４（Ａ）（Ｂ）に示す手法を採用している。ズーム処理を行わない通常時においては、図４（Ａ）に示すようにミップマップを行う。即ち仮想カメラＶＣの位置から距離Ｚ０（奥行き距離）までの範囲にオブジェクトが位置する場合には、図２に示す高解像度レベルのテクスチャＴＥＸ０をそのオブジェクトにマッピングする。距離Ｚ０から距離Ｚ１までの範囲にオブジェクトが位置する場合には、中解像度レベルのテクスチャＴＥＸ１をそのオブジェクトにマッピングする。距離Ｚ１から距離Ｚ２までの範囲にオブジェクトが位置する場合には、低解像度レベルのテクスチャＴＥＸ２をそのオブジェクトにマッピングする。従って、図３に示すようにオブジェクトＯＢが仮想カメラＶＣから離れた位置にある場合には、図４（Ａ）に示すように低解像度レベルのテクスチャＴＥＸ２がオブジェクトＯＢにマッピングされることになる。
【００４７】
一方、ズーム処理が行われた場合に、本実施形態では、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャをオブジェクトにマッピングするようにしている。即ち図４（Ｂ）に示すように、仮想カメラの位置は変更せずにズーム処理が行われた場合に、図４（Ａ）では低解像度レベルのテクスチャＴＥＸ２がマッピングされていたオブジェクトＯＢに対して、図４（Ｂ）ではＴＥＸ２よりも解像度レベルが高いテクスチャＴＥＸ０をマッピングする。これにより、ズーム処理により拡大表示されるオブジェクトＯＢに対して高解像度レベルのテクスチャＴＥＸ０がマッピングされるようになり、生成される画像を高品質化できる。
【００４８】
図５は、ズーム処理行わない通常時において生成される画像の例である。図５では、観客席の前にあるバックネット・オブジェクトに対して、図２に示す低解像度レベルのテクスチャＴＥＸ２がマッピングされている。図５の場合に、高解像度レベルのテクスチャＴＥＸ０をバックネット・オブジェクトにマッピングしてしまうと、エイリアシングが生じて画面がちらついて見える事態が生じるが、低解像度レベルのテクスチャＴＥＸ２をマッピングすることで、このような事態を防止できる。
【００４９】
一方、図６は、ズーム処理時において生成される画像の例である。図６では、バックネット・オブジェクトに対して、図２に示す高解像度レベルのテクスチャＴＥＸ０がマッピングされている。即ちズーム処理においては仮想カメラの位置については変化しないため（図３参照）、バックネット・オブジェクトは仮想カメラから遠い距離にある。従って通常のミップマップ手法をそのまま用いると、このバックネット・オブジェクトに対しては図５と同様に遠距離用の低解像度レベルのテクスチャＴＥＸ２がマッピングされてしまう。従って、バックネット・オブジェクトにマッピングされるテクスチャの解像度（詳細度）が下がるため、高品質な画像を生成できない。
【００５０】
これに対して本実施形態では図６に示すように、遠い距離であっても、バックネット・オブジェクトに対して高解像度レベルのテクスチャＴＥＸ０がマッピングされる。従って、ズームアップされたバックネットの模様がきめ細かに表示されるようになり、ズーム時における画像の品質を飛躍的に向上できる。
【００５１】
２．２  開始距離パラメータ
本実施形態では、図４（Ａ）（Ｂ）に示すズーム処理によるミップマップレベルの切り替えを、ミップマップの開始距離を設定するための開始距離パラメータを用いて実現している。例えば図４（Ａ）（Ｂ）においてＺ０がミップマップの開始距離に相当する。即ちミップマップをオフにすると、オブジェクトに対しては常にテクスチャＴＥＸ０がマッピングされるが、ミップマップをオンにすると、ミップマップの開始距離であるＺ０からＺ１の範囲に位置するオブジェクトに対してはＴＥＸ１がマッピングされ、Ｚ１からＺ２の範囲に位置するオブジェクトに対してはＴＥＸ２がマッピングされるようになる。
【００５２】
そして本実施形態ではこの開始距離Ｚ０を設定するためのパラメータとして、以下のような開始距離パラメータＫを用いる。
【００５３】
Ｋ＝−ｌｏｇ2（Ｚ０／ｈ）        （１）
この開始距離パラメータＫは例えばＫ＝Ｋ０＝−３．５に設定される。ここでＫ０は開始距離パラメータの基準値である。なお本実施形態ではミップマップの強さを設定するためのパラメータとして強さパラメータＬを用いることができる。この強さパラメータＬを変化させると、Ｚ０とＺ１の間の距離（及びＺ１とＺ２の間の距離）が変化する。この強さパラメータＬは、通常時は例えばＬ＝０に設定される。本実施形態では、これらの開始距離パラメータと強さパラメータが、ミップマップパラメータとして設定される。
【００５４】
本実施形態では、ズーム処理が行われた場合には、ズーム処理が行われない場合の開始距離よりも仮想カメラから遠い開始距離に、開始距離パラメータＫを設定している。即ち本実施形態では、通常時には上式（１）のように設定される開始距離パラメータＫを、ズーム処理時においては下式（２）のように設定している。
【００５５】
Ｋ＝Ｋ０−ｌｏｇ2ＺＭ        （２）
上式（２）においてＺＭはズームスケーリング値であり、Ｋ０は上述した開始距離パラメータの基準値である。例えばＺＭ＝１の場合には、ズームを行わないことと同等になり、ＺＭ＝２の場合には２倍のズームが行われる。
【００５６】
上式（２）のように開始距離パラメータＫを設定すれば、ズーム処理時に、ズームスケーリング値ＺＭに応じて開始距離Ｚ０が変化するようになる。即ちズームスケーリング値ＺＭが大きくなると、開始距離パラメータＫの絶対値｜Ｋ｜が大きくなり、図４（Ｂ）に示すように、開始距離Ｚ０が、仮想カメラＶＣからより遠い距離に設定される。これにより、遠い距離にあるオブジェクトＯＢに対して、高解像度レベルのテクスチャＴＥＸ０をマッピングすることが可能になる。なお、図４（Ａ）（Ｂ）のズーム処理によるミップマップレベルの切り替えを、開始距離パラメータＫを用いる手法とは異なる手法で実現するようにしてもよい。
【００５７】
２．３  ズーム処理
次にズーム処理の詳細例について説明する。本実施形態では、オブジェクト（プリミティブ面）のジオメトリ処理に使用される座標変換行列を構成するスケーリング行列の要素のうち、Ｘ軸方向及びＹ軸方向でのスケーリング値を変更することで、ズーム処理を実現している。
【００５８】
例えば図７に本実施形態で使用される座標変換行列の例を示す。この座標変換行列は、仮想カメラのＸ軸回りの回転行列と、仮想カメラのＹ軸周りの回転行列と、仮想カメラのワールド位置行列と、透視変換行列と、スケーリング行列とにより構成される。即ち座標変換行列は、これらの行列を乗算した行列である。このような座標変換行列を用いることで、ワールド座標系からスクリーン座標系への座標変換が可能になる。
【００５９】
なお図７において、αはＸ軸回りでの仮想カメラの回転角度を表し、βはＹ軸回りでの仮想カメラの回転角度を表す。Ｘ、Ｙ、Ｚはワールド座標系での仮想カメラの位置を表す。ＡＸ、ＡＹはスクリーンの１画素（ドット）の縦横比に相当し、通常はＡＸ＝ＡＹ＝１に設定される。Ｐは、仮想カメラから透視投影スクリーンまでの距離プロジェクションを表す。そしてＳＸ、ＳＹは、Ｘ軸（横）方向、Ｙ軸（縦）方向でのスケーリング値を表す。
【００６０】
仮想カメラのスケーリング処理を行う場合に、本実施形態では、図７のスケーリング値ＳＸ、ＳＹにズームスケーリング値ＺＭを設定する。例えばＳＸ＝ＳＹ＝ＺＭ＝１．０に設定すると、ズーム処理は行われない。一方、ＳＸ＝ＳＹ＝ＺＭ＝２．０に設定すれば、２倍のズーム処理が行われ、ＳＸ＝ＳＹ＝ＺＭ＝３．０に設定すれば、３倍のズーム処理が行われる。このようにすれば、行列の要素を変更するだけという簡素な処理で、ズーム処理を実現できるようになる。なお図７に示す全ての行列を乗算した後に、得られた行列の要素のうち、ＳＸ、ＳＹに相当する要素を書き換えることで、ズーム処理を実現してもよい。このような書き換えも、スケーリング行列の要素ＳＸ、ＳＹを書き換えることと数学的に等価である。
【００６１】
２．４  汚れ表現テクスチャ
以上ではバックネット・オブジェクトに本実施形態の手法を適用した場合について説明したが、本実施形態の手法はこれに限定されず、例えば球場のグラウンドを表すオブジェクトなどに対しても適用できる。そしてこのような地面オブジェクトなどに適用する場合には、例えば図８に示すような手法を採用できる。
【００６２】
即ち図８では、球場のグラウンドを表現するために、通常マップ用の汚れ表現テクスチャと、解像度レベルが異なる複数のミップマップ用のテクスチャとが用意される。
【００６３】
図９に汚れ表現テクスチャの例を示す。この汚れ表現テクスチャでは、グラウンドのホームベースや各塁やピッチャーマウンドでの汚れが表現されている。そしてこの汚れ表現テクスチャについては、ミップマップは行われず、１枚のテクスチャだけが用意される。
【００６４】
図１０にミップマップ用のテクスチャの例を示す。このミップマップ用テクスチャでは、地面の下地の模様が描かれている。そしてテクスチャＴＥＸ０、ＴＥＸ１、ＴＥＸ２は解像度レベルが異なっており、ＴＥＸ０は解像度レベルが高く、ＴＥＸ１は解像度レベルが中ぐらいであり、ＴＥＸ２は解像度レベルが低い。そして仮想カメラから見て距離が近い地面についてはＴＥＸ０がマッピングされ、距離が遠い地面についてはＴＥＸ２がマッピングされる。これにより、地面にエイリアシングが生じるのを防止できる。
【００６５】
図１１に本実施形態により最終的に生成される画像の例を示す。図１１に示すように、本実施形態では地面の汚れがリアルに表現された画像を生成できる。
【００６６】
本実施形態では、図１０のミップマップ用テクスチャを、繰り返しマッピングされるタイリングテクスチャとしてオブジェクトＯＢにマッピングする。即ち、ミップマップ用のテクスチャを縦横に連続して繰り返して貼り付けて、いわゆるシームレステクスチャマッピングによりマッピングする。そして、これらのタイリングテクスチャにオーバーラップするように、通常マップ用の汚れ表現テクスチャをオブジェクトＯＢにマッピングする。具体的には、例えばαブレンディングによる合成処理を行う。なお汚れ表現用テクスチャがマッピングされるオブジェクトと、ミップマップ用のタイリングテクスチャがマッピングされるオブジェクトは、同一オブジェクトであってもよいし、異なるオブジェクトであってもよい。そして同一オブジェクトにこれらのテクスチャをマッピングする場合には、いわゆるマルチテクスチャマッピング手法を用いればよい。一方、異なるオブジェクトにこれらのテクスチャをマッピングする場合には、これらのオブジェクトのポリゴン数を異ならせることができる。例えば、汚れ表現用テクスチャがマッピングされるオブジェクトのポリゴン数を少なくし、ミップマップ用のタイリングテクスチャがマッピングされるオブジェクトのポリゴン数を多くすることができる。
【００６７】
また図８では、仮想カメラから距離が近い場所では、高解像度レベルのテクスチャＴＥＸ０がタイリングテクスチャとしてマッピングされ、仮想カメラから距離が遠い場所では、低解像度レベルのテクスチャＴＥＸ２がタイリングテクスチャとしてマッピングされる。そして更に、図４（Ａ）（Ｂ）で説明したように、ズーム処理が行われた場合には、ズーム処理が行われていない場合にオブジェクトにマッピングされるミップマップ用テクスチャよりも解像度レベルが高いミップマップ用テクスチャがオブジェクトＯＢにマッピングされる。
【００６８】
図８の手法によれば、仮想カメラがズームアップした時には、図１０に示すようなキメが細かい高解像度のテクスチャＴＥＸ０が画面に映し出されるようになるため、よりリアルで高品質な画像を生成できる。そしてこの場合、このミップマップ用テクスチャはタイリングテクスチャ手法によりマッピングされるため、テクスチャの使用記憶容量を節約できる。
【００６９】
一方、地面の広い範囲に亘る汚れについては、ミップマップ用ではない１枚の通常マップ用の汚れ表現テクスチャにより表現される。従って例えば図１１に示すように画面全体を仮想カメラにより見渡すような場面において、グラウンドの全体的な汚れを表現でき、よりリアルで高品質な画像を生成できる。
【００７０】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１２のフローチャートを用いて説明する。
【００７１】
まず、使用するテクスチャをＶＲＡＭ（記憶部）に転送する（ステップＳ１）。即ち図２や図９や図１０のテクスチャのデータをＶＲＡＭに転送する。そしてインデックス・テクスチャマッピング用のカラールックアップテーブルＣＬＵＴもＶＲＡＭに転送する（ステップＳ２）。
【００７２】
次に、ズームスケーリング値に基づき、ミップマップの開始距離パラメータＫを求める（ステップＳ３）。この開始距離パラメータＫは、図４（Ａ）（Ｂ）のミップマップの開始距離Ｚ０を設定するためのパラメータである。そして、テクスチャマッピング用の各種レジスタに各種情報を設定する（ステップＳ４）。この時、テクスチャ設定レジスタに、ミップマップの開始距離パラメータＫと強さパラメータＬを設定する。ここでテクスチャ設定レジスタには、これらのパラメータＫ、Ｌ以外にも、トライリニアフィルタのオン・オフなども設定できる。
【００７３】
次にジオメトリ処理を行ってポリゴンデータ（プリミティブ面データ）を生成する（ステップＳ５）。具体的には図７に示す座標変換行列により、３次元のポリゴン（オブジェクト）をスクリーン上に透視変換して、描画用のポリゴンデータを生成する。なお、この時、ズーム処理を行う場合には、ズームスケーリング値ＺＭをスケーリング行列の要素ＳＸ、ＳＹに設定する。そして、生成されたポリゴンデータを描画プロセッサ（描画部）に転送する（ステップＳ６）。すると描画プロセッサは、このポリゴンデータに基づいてポリゴンの描画処理を行う（ステップＳ７）。
【００７４】
４．ハードウェア構成
図１３に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００７５】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００７６】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００７７】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００７８】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００７９】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００８０】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００８１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語（プリミティブ面等）として引用された用語（ポリゴン等）は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００８２】
また、ミップマップ手法、ズーム処理時におけるミップマップレベルの切り替え手法、ズーム処理手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含むことができる。
【００８３】
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【００８４】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】ミップマップ用テクスチャの例。
【図３】ズーム処理の説明図。
【図４】図４（Ａ）（Ｂ）は本実施形態の手法の説明図。
【図５】本実施形態の手法で生成された画像の例。
【図６】本実施形態の手法で生成された画像の例。
【図７】座標変換行列の説明図。
【図８】汚れ表現テクスチャとミップマップ用のタイリングテクスチャを用いる手法の説明図。
【図９】汚れ表現テクスチャの例。
【図１０】タイリングテクスチャとして使用されるミップマップ用テクスチャの例。
【図１１】本実施形態の手法で生成された画像の例。
【図１２】本実施形態の具体的な処理のフローチャート。
【図１３】ハードウェア構成例。
【符号の説明】
【００８５】
ＯＢ  オブジェクト、ＶＣ  仮想カメラ、
ＴＥＸ０〜ＴＥＸ３  ミップマップ用テクスチャ、
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  ズーム処理部、
１１８  ミップマップパラメータ設定部、１２０  描画部、
１２２  テクスチャマッピング部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１７２  描画バッファ、１７４  テクスチャ記憶部、
１８０  情報記憶媒体、１９０  表示部、
１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2005275797.tif 000003
【図３】
2005275797.tif 000004
【図４】
2005275797.tif 000005
【図７】
2005275797.tif 000006
【図８】
2005275797.tif 000007
【図１２】
2005275797.tif 000008
【図１３】
2005275797.tif 000009
【図２】
2005275797.tif 000010
【図５】
2005275797.tif 000011
【図６】
2005275797.tif 000012
【図９】
2005275797.tif 000013
【図１０】
2005275797.tif 000014
【図１１】
2005275797.tif 000015