(57)【要約】【課題】  ガンマ補正などのビデオフィルタを少ない処理負担で実現できるゲームシステム、プログラム及び情報記憶媒体を提供すること。【解決手段】  元画像情報（Ｒ、Ｇ、Ｂ、Ｚ値）をインデックスカラー・テクスチャマッピング用ルックアップテーブルＬＵＴのインデックス番号として設定し、ＬＵＴを用いて表示画面サイズ（分割ブロックサイズ）のポリゴンにテクスチャマッピングを行い、ガンマ補正、ネガポジ反転、モノトーンフィルタ等を実現する。元画像の色成分ＲをＬＵＴのインデックス番号として設定して色情報を変換する場合には他の色成分Ｇ、Ｂが描画されないようにマスクする。元画像の各色成分Ｒ、Ｇ、ＢをＬＵＴのインデックス番号に設定することで得られる変換後の各色情報を合成する。プレーヤがゲームコントローラを用いて入力した操作データに基づきモニタの明るさの調整データを設定し、設定された調整データをセーブ用情報記憶装置にセーブし、調整データに基づき元画像を変換する。【選択図】        図４
2011096265.tif 000002
【特許請求の範囲】
【請求項１】
画像生成を行うゲームシステムであって、
元画像の画像情報を、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定する手段と、
元画像の画像情報がインデックス番号として設定された前記ルックアップテーブルを用いて、仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行い、元画像の画像情報を変換する手段と、
を含むことを特徴とするゲームシステム。
【請求項２】
請求項１において、
前記仮想オブジェクトが、表示画面サイズのポリゴンであることを特徴とするゲームシステム。
【請求項３】
請求項１において、
前記仮想オブジェクトが、表示画面を分割したブロックのサイズのポリゴンであることを特徴とするゲームシステム。
【請求項４】
請求項１乃至３のいずれかにおいて、
ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ又はセピアフィルタの変換のための前記ルックアップテーブルを用意し、該ルックアップテーブルを用いて、元画像の画像情報に対してガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ又はセピアフィルタの変換を施すことを特徴とするゲームシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
元画像の画像情報が含む色情報の色成分を前記ルックアップテーブルのインデックス番号として設定して色情報を変換する場合において、変換後の色情報の他の色成分が描画領域に描画されないようにするためのマスク処理を行う手段を含むことを特徴とするゲームシステム。
【請求項６】
請求項１乃至４のいずれかにおいて、
元画像の画像情報が含む色情報の第Ｋの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報と、色情報の第Ｌの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報と、色情報の第Ｍの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報とを合成する手段を含むことを特徴とするゲームシステム。
【請求項７】
請求項１乃至６のいずれかにおいて、
元画像の画像情報の変換により、元画像の画像情報に応じた値のα値が生成されることを特徴とするゲームシステム。
【請求項８】
請求項１乃至７のいずれかにおいて、
元画像の画像情報が含む奥行き値が、前記ルックアップテーブルのインデックス番号として設定されることを特徴とするゲームシステム。
【請求項９】
家庭用ゲームのゲーム画像を生成するためのゲームシステムであって、
プレーヤがゲームコントローラを用いて入力した操作データに基づいて、モニタの表示特性を調整するための調整データを設定する手段と、
設定された調整データを、プレーヤの個人データを記憶するためのセーブ用情報記憶装置にセーブするセーブ手段と、
表示特性の調整により得られた調整データ又はセーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報に対して変換処理を施す手段と、
を含むことを特徴とするゲームシステム。
【請求項１０】
請求項９において、
前記セーブ手段が、
画像情報の変換特性を表す自由曲線の制御点のデータを、前記調整データとしてセーブ用情報記憶装置にセーブすることを特徴とするゲームシステム。
【請求項１１】
コンピュータが使用可能なプログラムであって、
元画像の画像情報を、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定する手段と、
元画像の画像情報がインデックス番号として設定された前記ルックアップテーブルを用いて、仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行い、元画像の画像情報を変換する手段と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項１２】
請求項１１において、
前記仮想オブジェクトが、表示画面サイズのポリゴンであることを特徴とするプログラム。
【請求項１３】
請求項１１において、
前記仮想オブジェクトが、表示画面を分割したブロックのサイズのポリゴンであることを特徴とするプログラム。
【請求項１４】
請求項１１乃至１３のいずれかにおいて、
ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ又はセピアフィルタの変換のための前記ルックアップテーブルを用意し、該ルックアップテーブルを用いて、元画像の画像情報に対してガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ又はセピアフィルタの変換を施すことを特徴とするプログラム。
【請求項１５】
請求項１１乃至１４のいずれかにおいて、
元画像の画像情報が含む色情報の色成分を前記ルックアップテーブルのインデックス番号として設定して色情報を変換する場合において、変換後の色情報の他の色成分が描画領域に描画されないようにするためのマスク処理を行う手段をコンピュータに実現させることを特徴とするプログラム。
【請求項１６】
請求項１１乃至１４のいずれかにおいて、
元画像の画像情報が含む色情報の第Ｋの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報と、色情報の第Ｌの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報と、色情報の第Ｍの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報とを合成する手段をコンピュータに実現させることを特徴とするプログラム。
【請求項１７】
請求項１１乃至１６のいずれかにおいて、
元画像の画像情報の変換により、元画像の画像情報に応じた値のα値が生成されることを特徴とするプログラム。
【請求項１８】
請求項１１乃至１７のいずれかにおいて、
元画像の画像情報が含む奥行き値が、前記ルックアップテーブルのインデックス番号として設定されることを特徴とするプログラム。
【請求項１９】
コンピュータが使用可能であり、家庭用ゲームのゲーム画像を生成するためのプログラムであって、
プレーヤがゲームコントローラを用いて入力した操作データに基づいて、モニタの表示特性を調整するための調整データを設定する手段と、
設定された調整データを、プレーヤの個人データを記憶するためのセーブ用情報記憶装置にセーブするセーブ手段と、
表示特性の調整により得られた調整データ又はセーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報に対して変換処理を施す手段と、
をコンピュータに実現させることを特徴とするプログラム。
【請求項２０】
請求項１９において、
前記セーブ手段が、
画像情報の変換特性を表す自由曲線の制御点のデータを、前記調整データとしてセーブ用情報記憶装置にセーブすることを特徴とするプログラム。
【請求項２１】
コンピュータにより使用可能な情報記憶媒体であって、請求項１１乃至２０のいずれかのプログラムを含むことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、プログラム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができるゲームシステムを例にとれば、プレーヤは、車（オブジェクト）を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する車と競争することで３次元ゲームを楽しむ。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１８７１２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、このようなゲームシステムでは、モニタ（表示部）の非線形特性を補正するために、画像に対してガンマ補正と呼ばれる変換を施すことが望ましい。
【０００５】
そして、このようなガンマ補正を実現する手法としては、以下に説明する第１、第２の手法がある。
【０００６】
第１の手法では、図１（Ａ）に示すように、メインメモリ８０２上にガンマ補正用のルックアップテーブル（ＬＵＴ）を用意しておく。そして、ＣＰＵ８００（ＣＰＵ上で動作するソフトウェア）は、ＶＲＡＭ８０６内にあるフレームバッファ８０８から、元画像の各画素の色情報（ＲＧＢ）を読み出す。そして、読み出された色情報に基づいてガンマ補正用ＬＵＴを参照し、ガンマ補正後の色情報を得る。次に、得られたガンマ補正後の色情報をフレームバッファの対応する画素に書き戻す。そして、以上の処理を、元画像の全ての画素に対して行う。
【０００７】
一方、第２の手法では、図１（Ｂ）に示すように、ＣＰＵ８１０の制御下で動作する描画プロセッサ８１２の後段に、ハードウェアによりガンマ補正を実現するガンマ補正回路８１４を設ける。そして、描画プロセッサ８１２により生成された色情報に対して、ガンマ補正回路８１４がガンマ補正を施し、モニタ８１６に出力する。
【０００８】
しかしながら、図１（Ａ）の第１の手法では、フレームバッファ８０８からの色情報の読み出し、ガンマ補正用ＬＵＴ８０４の参照、ガンマ補正用ＬＵＴ８０４からの色情報の読み出し、読み出した色情報のフレームバッファ８０８への書き戻しなどの全ての処理を、ＣＰＵ８００上で動作するソフトウェアが行うことになる。従って、処理の高速化を図れず、表示画面の全画素に対するガンマ補正を、１フレーム内で完了するのは困難となる。また、ＣＰＵ８００の処理負荷が非常に重くなり、他の処理に悪影響を及ぼすという問題も招く。
【０００９】
一方、図１（Ｂ）の第２の手法では、専用のハードウェアであるガンマ補正回路８１４が使用されるため、高速なガンマ補正が可能になる。従って、表示画面の全画素に対するガンマ補正を１フレーム内で完了することも容易となる。また、ＣＰＵ８１０の処理負荷も少ないため、他の処理に悪影響が及ぶ問題も解決できる。
【００１０】
しかしながら、図１（Ｂ）の第２の手法では、専用のハードウェアであるガンマ補正回路８１４が別途必要になってしまう。従って、ゲームシステムが大規模化し、製品コストの増加の問題を招く。
【００１１】
特に、家庭用ゲームシステムにおいては、製品の普及化を図るために、低コスト化が厳しく要求されており、ほとんどの家庭用ゲームシステムでは、図１（Ｂ）に示すようなガンマ補正回路がハードウェアとして設けられていない。従って、ガンマ補正を実現するためには、図１（Ａ）のような第１の手法を採用せざるを得ない。
【００１２】
ところが、前述のように第１の手法では、１フレーム内で全表示画面分のガンマ補正を完了するのは困難であり、他の処理にも悪影響を及ぼす。従って、家庭用ゲームシステムにおいては、ガンマ補正の実施自体を断念せざるを得なかった。
【００１３】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ガンマ補正などのビデオフィルタを少ない処理負担で実現できるゲームシステム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明は、画像生成を行うゲームシステムであって、元画像の画像情報を、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定する手段と、元画像の画像情報がインデックス番号として設定された前記ルックアップテーブルを用いて、仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行い、元画像の画像情報を変換する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１５】
本発明によれば、元画像の画像情報がインデックス番号として設定されたルックアップテーブルを用いて、仮想オブジェクトに対してインデックスカラー・テクスチャマッピングが行われ、元画像の画像情報が変換される。このように本発明によれば、ゲームシステム（画像生成システム）が元々有しているインデックスカラー・テクスチャマッピングの機能を有効利用して、元画像の画像情報の変換が行われる。従って、ガンマ補正などのビデオフィルタの処理を、新たなハードウェアを追加することなく、高速に実行できるようになり、全表示画面分の画像情報を変換することも容易となる。
【００１６】
なお、元画像の画像情報は、例えば、描画領域（フレームバッファ、別バッファ等）に描画されている情報であり、色情報、α値又は奥行き値などを含む。また、元画像の画像情報の変換としては、ガンマ補正以外にも種々の変換を考えることができる。また、元画像の画像情報をルックアップテーブルのインデックス番号として設定することで得られる変換後の画像情報は、色情報に限定されない。また、仮想オブジェクトとしては、１又は複数のプリミティブ面（ポリゴン、自由曲面）を考えることができる。
【００１７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記仮想オブジェクトが、表示画面サイズのポリゴンであることを特徴とする。
【００１８】
このようにすれば、全表示画面分の元画像の画像情報を例えば１回（或いは数回）のテクスチャマッピングで変換できるようになる。
【００１９】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記仮想オブジェクトが、表示画面を分割したブロックのサイズのポリゴンであることを特徴とする。
【００２０】
このようにすれば、仮想オブジェクトを描画する領域の大きさを小さくすることが可能になり、記憶部の使用記憶容量を節約できる。
【００２１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ又はセピアフィルタの変換のための前記ルックアップテーブルを用意し、該ルックアップテーブルを用いて、元画像の画像情報に対してガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ又はセピアフィルタの変換を施すことを特徴とする。
【００２２】
このようにすれば、元画像に対して種々の画像エフェクトを施した画像を得ることが可能になり、生成される画像のバラエティ度を増すことができる。但し、本発明における画像情報の変換は、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ、セピアフィルタに限定されるものではない。
【００２３】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、元画像の画像情報が含む色情報の色成分を前記ルックアップテーブルのインデックス番号として設定して色情報を変換する場合において、変換後の色情報の他の色成分が描画領域に描画されないようにするためのマスク処理を行う手段（或いは該手段を実行するためのプログラム又は処理ルーチン）を含むことを特徴とする。
【００２４】
このようにすれば、１つの入力値に対して複数の値が出力されてしまうインデックスカラー・テクスチャマッピング用のルックアップテーブルを用いながらも、１つの入力値に対して１つの値が出力されるガンマ補正などの画像変換を実現できるようになる。
【００２５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、元画像の画像情報が含む色情報の第Ｋの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報と、色情報の第Ｌの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報と、色情報の第Ｍの色成分を前記ルックアップテーブルのインデックス番号として設定することで得られる変換後の色情報とを合成する手段（或いは該手段を実行するためのプログラム又は処理ルーチン）を含むことを特徴とする。
【００２６】
このようにすれば、例えば第Ｋの色成分の入力に対して、第Ｋ、第Ｌ、第Ｍの色成分が合成された色情報の画像が生成されるような画像変換も実現できるようになる。
【００２７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、元画像の画像情報の変換により、元画像の画像情報に応じた値のα値が生成されることを特徴とする。
【００２８】
このようにすれば、例えば、元画像の画像情報が奥行き値である場合には、元画像の各画素の奥行き値に応じた値に各画素のα値を設定することが可能になる。これにより、例えば、元画像と該元画像に対応するぼかし画像とを、各画素に設定されるα値に基づいて合成することなどが可能になり、被写界深度の実現も可能になる。
【００２９】
また、生成されたα値を利用することで、元画像の画像情報の値に応じたマスク処理なども可能になる。
【００３０】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、元画像の画像情報が含む奥行き値が、前記ルックアップテーブルのインデックス番号として設定されることを特徴とする。
【００３１】
このように本発明においてルックアップテーブルのインデックス番号として設定される画像情報としては、種々の情報を考えることができる。
【００３２】
また本発明は、家庭用ゲームのゲーム画像を生成するためのゲームシステムであって、プレーヤがゲームコントローラを用いて入力した操作データに基づいて、モニタの表示特性を調整するための調整データを設定する手段と、設定された調整データを、プレーヤの個人データを記憶するためのセーブ用情報記憶装置にセーブするセーブ手段と、表示特性の調整により得られた調整データ又はセーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報に対して変換処理を施す手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００３３】
本発明によれば、プレーヤは、ゲームコントローラを用いてモニタの表示特性（明るさ、色の濃さ、色合い、又はシャープネス等）を調整するための調整データを設定できる。従って、プレーヤがモニタを直接操作しなくて済むため、プレーヤの利便性を向上できる。そして、設定された調整データはセーブ用情報記憶装置にセーブされると共に、表示特性の調整により得られた調整データ又はセーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報の変換処理が行われる。従って、プレーヤがプレイするゲームに応じた最適な表示特性でゲーム画像を表示できるようになる。また、プレーヤが他の映像ソースの映像を見た場合などに、モニタの表示特性の調整の悪影響が及んだりする事態を防止できる。
【００３４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記セーブ手段が、画像情報の変換特性を表す自由曲線の制御点のデータを、前記調整データとしてセーブ用情報記憶装置にセーブすることを特徴とする。
【００３５】
このようにすれば、セーブ用情報記憶装置の使用記憶容量を節約できるようになり、空いた記憶容量を他の用途に使用できるようになる。
【図面の簡単な説明】
【００３６】
【図１】図１（Ａ）、（Ｂ）は、ガンマ補正を実現する第１、第２の手法について説明するための図である。
【図２】本実施形態のゲームシステムのブロック図の例である。
【図３】インデックスカラー・テクスチャマッピングについて説明するための図である。
【図４】インデックスカラー・テクスチャマッピング用のＬＵＴを有効利用して、元画像を変換する手法について示す図である。
【図５】図５（Ａ）、（Ｂ）は、本実施形態により生成されるゲーム画像の例である。
【図６】元画像を複数のブロックに分割し、各ブロックの画像を、ＬＵＴを用いて分割ブロックサイズのポリゴンにテクスチャマッピングする手法について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、ガンマ補正の変換特性とガンマ補正用ＬＵＴの例について示す図である。
【図８】図８（Ａ）、（Ｂ）は、ネガポジ反転の変換特性とネガポジ反転用ＬＵＴの例について示す図である。
【図９】図９（Ａ）、（Ｂ）、（Ｃ）は、ポスタリゼーション、ソラリゼーション、２値化の変換特性の例について示す図である。
【図１０】図１０（Ａ）、（Ｂ）は、モノトーン（セピア）フィルタ用ＬＵＴＲ、ＬＵＴＧの例について示す図である。
【図１１】モノトーン（セピア）フィルタ用ＬＵＴＢの例について示す図である。
【図１２】ある色成分をインデックス番号に設定した場合に、他の色成分をマスクして、元画像の変換画像を得る手法について説明するための図である。
【図１３】ＬＵＴＲ、ＬＵＴＧ、ＬＵＴＢにより得られた各色情報を合成して、元画像の変換画像を得る手法について説明するための図である。
【図１４】ＬＵＴを利用したテクスチャマッピングを行い、αプレーンを作成する手法について説明するための図である。
【図１５】Ｚ値をＬＵＴのインデックス番号に設定する手法について説明するための図である。
【図１６】Ｚ値に応じたα値を設定し、設定されたα値を用いて元画像とぼかし画像を合成する手法について説明するための図である。
【図１７】Ｚ値に応じたα値の設定手法について説明するための図である。
【図１８】モニタの明るさ調整に関する従来の問題点について説明するための図である。
【図１９】モニタの明るさ調整データをセーブ用情報記憶装置にセーブする手法について説明するための図である。
【図２０】本実施形態の処理の詳細例について示すフローチャートである。
【図２１】本実施形態の処理の詳細例について示すフローチャートである。
【図２２】本実施形態の処理の詳細例について示すフローチャートである。
【図２３】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図２４】図２４（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【発明を実施するための形態】
【００３７】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００３８】
１．構成
図２に、本実施形態のゲームシステム（画像生成システム）のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく、それ以外のブロックについては、任意の構成要素とすることができる。
【００３９】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００４０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【００４１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００４２】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００４３】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００４４】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００４５】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００４６】
セーブ用情報記憶装置１９４は、プレーヤの個人データ（セーブデータ）などが記憶されるものであり、このセーブ用情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００４７】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４８】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４９】
処理部１００は、ゲーム処理部１１０、画像生成部１３０、音生成部１５０を含む。
【００５０】
ここでゲーム処理部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置するための処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部１６０からの操作データや、セーブ用情報記憶装置１９４からの個人データや、ゲームプログラムなどに基づいて行う。
【００５１】
画像生成部１３０は、ゲーム処理部１１０からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ（視点）から見える画像を生成して、表示部１９０に出力する。また、音生成部１５０は、ゲーム処理部１１０からの指示等にしたがって各種の音処理を行い、ＢＧＭ、効果音、音声などの音を生成し、音出力部１９２に出力する。
【００５２】
なお、ゲーム処理部１１０、画像生成部１３０、音生成部１５０の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００５３】
ゲーム処理部１１０は、移動・動作演算部１１２、調整情報設定部１１４、セーブ部１１６を含む。
【００５４】
ここで移動・動作演算部１１２は、車などのオブジェクトの移動情報（位置データ、回転角度データ）や動作情報（オブジェクトの各パーツの位置データ、回転角度データ）を演算するものであり、例えば、操作部１６０によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【００５５】
より具体的には、移動・動作演算部１１２は、オブジェクトの位置や回転角度を例えば１フレーム（１／６０秒）毎に求める処理を行う。例えば（ｋ−１）フレームでのオブジェクトの位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのオブジェクトの位置ＰＭk、速度ＶＭkは例えば下式（１）、（２）のように求められる。
【００５６】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1×△ｔ              （２）
調整情報設定部１１４は、プレーヤが操作部１６０（ゲームコントローラ）を用いて入力した操作データに基づいて、表示部１６０（モニタ）の表示特性（明るさ、色の濃さ、色合い、又はシャープネス等）を調整するための調整データを設定（作成）する処理を行う。
【００５７】
セーブ部１１６は、調整情報設定部１１４により設定された調整データ（明るさ、色の濃さ、色合い、又はシャープネス等を調整するためのデータ）を、セーブ用情報記憶装置１９４にセーブするための処理を行う。
【００５８】
そして本実施形態では、表示特性の調整により得られた調整データやセーブ用情報記憶装置１９４からロードされた調整データなどに基づいて、元画像の画像情報に対して変換処理が行われる。この場合の元画像の画像情報の変換処理は、インデックス番号設定部１３４や描画部１４０（テクスチャマッピング部１４２）の機能により、実現されることになる。
【００５９】
画像生成部１３０は、ジオメトリ処理部１３２、インデックス番号設定部１３４、描画部１４０を含む。
【００６０】
ここで、ジオメトリ処理部１３２は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）を行う。そして、ジオメトリ処理後（透視変換後）のオブジェクトデータ（オブジェクトの頂点座標などの形状データ、或いは頂点テクスチャ座標、輝度データ等）は、記憶部１７０のメインメモリ１７２に保存される。
【００６１】
インデックス番号設定部１３４は、元画像の画像情報を、ＬＵＴ記憶部１７８に記憶されるインデックスカラー・テクスチャマッピング用のＬＵＴのインデックス番号として設定するための処理を行う。ここで、元画像の画像情報としては、例えば、色情報（ＲＧＢ、ＹＵＶ等）、α値（各画素に関連づけられて記憶される情報であり色情報以外のプラスアルファの情報）、奥行き値（Ｚ値）等、種々の情報を考えることができる。
【００６２】
描画部１４０は、ジオメトリ処理後のオブジェクト（モデル）を、フレームバッファ１７４に描画するための処理を行うものであり、テクスチャマッピング部１４２、マスク処理部１４４、合成部１４６を含む。
【００６３】
ここでテクスチャマッピング部１４２は、テクスチャ記憶部１７６に記憶されるテクスチャをオブジェクトにマッピングするための処理（オブジェクトにマッピングするテクスチャを指定する処理、テクスチャを転送する処理等）を行う。この場合、テクスチャマッピング部１４２は、ＬＵＴ記憶部１７８に記憶されるインデックスカラー・テクスチャマッピング用のルックアップテーブルＬＵＴを用いたテクスチャマッピングを行うことができる。
【００６４】
そして本実施形態では、テクスチャマッピング部１４２が、元画像の画像情報がインデックス番号として設定されたＬＵＴを用いて、仮想オブジェクト（表示画面サイズのポリゴン、分割ブロックサイズのポリゴン等）に対してテクスチャマッピングを行う。これにより、後述するように、ガンマ補正、ネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化、モノトーンフィルタ、セピアフィルタなどの種々の画像変換（ビデオフィルタ）を実現できるようになる。
【００６５】
マスク処理部１４４は、元画像の色成分（例えばＲ成分）をＬＵＴのインデックス番号として設定して色情報を変換する場合において、変換後の色情報の他の色成分（例えばＧ、Ｂ成分）が描画領域（フレームバッファ或いは別バッファ）に描画されないようにするためのマスク処理を行う。なお、Ｇ成分をインデックス番号として設定して色情報を変換する場合には、Ｒ、Ｂ成分に対するマスク処理を行い、Ｂ成分をインデックス番号として設定して色情報を変換する場合には、Ｒ、Ｇ成分に対するマスク処理を行うことになる。
【００６６】
合成部１４６は、元画像の第Ｋの色成分（例えばＲ成分）をＬＵＴのインデックス番号として設定することで得られる変換後の色情報（Ｒ、Ｇ、Ｂ）と、第Ｌの色成分（例えばＧ成分）をＬＵＴのインデックス番号として設定することで得られる変換後の色情報と、第Ｍの色成分（例えばＢ成分）をＬＵＴのインデックス番号として設定することで得られる変換後の色情報とを、合成するための処理（α加算、αブレンド等）を行う。
【００６７】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６８】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００６９】
２．本実施形態の特徴
２．１  インデックスカラー・テクスチャマッピングを利用したガンマ補正
さて、前述のように、図１（Ａ）に示す第１の手法では、ＣＰＵの処理負荷が過大になってしまうため、ガンマ補正（ビデオフィルタ）を実現するのは実質的に不可能である。また図１（Ｂ）に示す第２の手法では、専用のハードウェアであるガンマ補正回路が別途必要であるため、このようなガンマ補正回路が設けられていない家庭用ゲームシステムでは、ガンマ補正を実現できない。
【００７０】
そこで、本出願の発明者は、インデックスカラー・テクスチャマッピングにおいて使用されるルックアップテーブルＬＵＴの存在に着目した。
【００７１】
即ち、インデックスカラーテクスチャーマッピングでは、テクスチャ記憶部の使用記憶容量を節約するために、図３のＡ１に示すように、実際の色情報（ＲＧＢ）ではなくインデックス番号が、テクスチャの各テクセルに関連づけて記憶される。また、図３のＡ２に示すように、インデックスカラー・テクスチャマッピング用のルックアップテーブルＬＵＴ（カラーパレット）には、インデックス番号により指定される色情報が記憶される。そして、オブジェクトに対してテクスチャマッピングを行う際には、テクスチャの各テクセルのインデックス番号に基づいてＬＵＴを参照し、対応する色情報をＬＵＴから読み出し、読み出された色情報をフレームバッファに描画する。
【００７２】
このようなインデックスカラーモードのテクスチャマッピングでは、ＬＵＴを用いない通常モードのテクスチャマッピングに比べて、使用できる色数は少なくなる（例えば１６色）。しかしながら、テクスチャ記憶部に実際の色情報（例えば１６ビットの色情報）を記憶する必要が無くなるため、テクスチャ記憶部の使用記憶容量を大幅に節約できる。
【００７３】
本実施形態は、このようなインデックスカラー・テクスチャマッピングを通常とは異なる形態で利用している点に特徴がある。
【００７４】
即ち、まず図４のＢ１に示すように、フレームバッファ（広義には描画領域）に描画されている元画像の各画素の画像情報（例えば色情報）を、ガンマ補正用のルックアップテーブルＬＵＴのインデックス番号として設定する（インデックス番号とみなす）。そしてＢ２に示すように、元画像の画像情報がインデックス番号として設定されたＬＵＴを用いて、仮想オブジェクト（例えば表示画面サイズのポリゴン）に対してインデックスカラー・テクスチャマッピングを行い、元画像の画像情報を変換する。そしてＢ３に示すように、変換後の画像情報を、フレームバッファ（描画領域）などに描き戻す。
【００７５】
以上のようにして本実施形態では、図５（Ａ）に示すような元画像から、図５（Ｂ）に示すようなガンマ補正が施された画像を得ることに成功している。即ち図５（Ｂ）の画像では、図５（Ａ）に比べて、よりコントラストのはっきりした画像になっている。
【００７６】
例えば図１（Ａ）の第１の手法では、元画像の色情報の読み出し、ガンマ補正用ＬＵＴの参照、色情報のフレームバッファへの書き戻しなどの全ての処理をＣＰＵ上で動作するソフトウェアが行うことになるため、処理の高速化を図れないと共に、ＣＰＵの処理負荷も過大になる。
【００７７】
これに対して本実施形態では、インデックスカラー・テクスチャマッピングを有効利用してガンマ補正を実現しており、このインデックスカラー・テクスチャマッピングは、専用のハードウェアである描画プロセッサ（描画部）により高速に実行される。従って本実施形態によれば、図１（Ａ）の第１の手法に比べて高速にガンマ補正を実行でき、全表示画面分のガンマ補正を１フレーム（例えば１／６０秒、１／３０秒）内で完了することも容易となる。
【００７８】
また、インデックスカラー・テクスチャマッピングは、メインプロセッサ（ＣＰＵ）とは独立に動作する描画プロセッサにより実行できるため、メインプロセッサ（ＣＰＵ）の処理負荷の増加も最小限に抑えることができる。従って、ガンマ補正の実行が要因となって他の処理に悪影響が及ぶ事態も防止できる。
【００７９】
また、従来のゲームシステムでは、描画プロセッサの処理能力はそれほど高くなかった。従って、フレームバッファへの元画像の描画と、表示画面サイズのポリゴンの描画を、１フレーム内で完了させることは難しかった。
【００８０】
しかしながら、ゲームシステムにおいて、描画プロセッサの処理能力の向上は、他の回路ブロックの処理能力の向上に比べて著しく大きく、非常に高いフィルレート（１秒間にレンダリングできるテクセル数）を持つ描画プロセッサがゲームシステムに使用されるようになってきた。従って、フレームバッファへの元画像の描画と、表示画面サイズのポリゴンの描画を、１フレーム内で完了させることも容易となり、インデックスカラー・テクスチャマッピングを有効利用したガンマ補正も無理なく実現できるようになってきた。
【００８１】
また図１（Ｂ）の第２の手法では、専用のハードウェアであるガンマ補正回路が別途必要になり、ゲームシステムの高コスト化を招く。また、このようなガンマ補正回路を元々有しない家庭用ゲームシステムなどでは、図１（Ｂ）に示す第２の手法を実現することはできず、図１（Ａ）の手法を採用せざるを得なかった。
【００８２】
これに対して本実施形態では、インデックスカラー・テクスチャマッピングを有効利用してガンマ補正を実現しており、このインデックスカラー・テクスチャマッピングは、描画プロセッサが元々持っているハードウェアにより実行される。従って本実施形態によれば、図１（Ｂ）のようなガンマ補正回路を新たに付加する必要がなく、ゲームシステムが高コスト化してしまう事態を防止できる。また、ガンマ補正回路を元々有していない家庭用ゲームシステムにおいても、ハードウェアによる高速なガンマ補正を実現できるようになる。
【００８３】
なお、図４では表示画面サイズのポリゴンにテクスチャマッピングしてガンマ補正（ビデオフィルタ）を実現しているが、表示画面を分割したブロックのサイズのポリゴンにテクスチャマッピングするようにしてもよい。
【００８４】
即ち、図６のＣ１に示すように、フレームバッファ上の元画像（表示画面）を複数のブロックに分割し、Ｃ２に示すように、各ブロックの画像を、ＬＵＴを用いて分割ブロックサイズのポリゴンにテクスチャマッピングする。そして、得られた分割ブロックサイズの画像をフレームバッファ（描画領域）に描き戻す。
【００８５】
このようにすれば、例えばテクスチャマッピングされたポリゴンを別バッファに一時的に描画するような場合に、ＶＲＡＭ上での別バッファの占有領域を小さくできる。
【００８６】
即ち、図４のように表示画面サイズのポリゴンにテクスチャマッピングすると、この表示画面サイズのポリゴンを一時的に描画するために、表示画面サイズの別バッファをＶＲＡＭ上に確保しなければならず、他の処理に支障を来すおそれがある。
【００８７】
図６のように、分割ブロックサイズのポリゴンにテクスチャマッピングするようにすれば、ＶＲＡＭ上には分割ブロックサイズの別バッファを用意すれば済むため、別バッファの占有領域を小さくできる。従って、限られたハードウェア資源を有効利用することが可能になる。
【００８８】
２．２  各種のビデオフィルタ（ＬＵＴ）の例
図７（Ａ）にガンマ補正の変換特性例を示す。
【００８９】
図７（Ａ）では４つの制御点ＣＰ０、ＣＰ１、ＣＰ２、ＣＰ３により、ガンマ補正の変換特性を表すベジエ曲線（広義には自由曲線）が特定される。この場合に、ＣＰ０のＹ座標はＹ０＝０に設定され、ＣＰ３のＹ座標はＹ３＝２５５に設定される。そして、ＣＰ１、ＣＰ２のＹ座標であるＹ１、Ｙ２を可変に制御することで、ガンマ補正の変換特性を調整できる。
【００９０】
そして、ガンマ補正における入力値Ｘと出力値Ｙの関係式は、例えば下式のようになる。
【００９１】
Ｙ＝Ｙ２０＋（Ｘ／２５５）×（Ｙ２１−Ｙ２０）      （３）
但し、
Ｙ２０＝Ｙ１０＋（Ｘ／２５５）×（Ｙ１１−Ｙ１０）
Ｙ２１＝Ｙ１１＋（Ｘ／２５５）×（Ｙ１２−Ｙ１１）
Ｙ１０＝Ｙ０  ＋（Ｘ／２５５）×（Ｙ１−Ｙ０）
Ｙ１１＝Ｙ１  ＋（Ｘ／２５５）×（Ｙ２−Ｙ１）
Ｙ１２＝Ｙ２  ＋（Ｘ／２５５）×（Ｙ３−Ｙ２）
である。
【００９２】
上式（３）の入力値Ｘにインデックス番号を設定し、出力値Ｙに各色成分の出力ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴを設定することで、図７（Ｂ）に示すようなガンマ補正用ＬＵＴを作成する。そして、作成されたＬＵＴをＶＲＡＭに転送し、このＬＵＴを用いて図４等で説明したインデックスカラー・テクスチャマッピングを行うことで、元画像に、ガンマ補正のビデオフィルタを施した画像を得ることができる。
【００９３】
さて、本実施形態によれば、フレームバッファ上の元画像に対して施すビデオフィルタとして、ガンマ補正以外にも種々のビデオフィルタを実現できる。
【００９４】
図８（Ａ）に、ネガポジ反転のビデオフィルタの変換特性例を示す。ネガポジ反転における入力値Ｘと出力値Ｙの関係式は下式のようになる。
【００９５】
Ｙ＝２５５−Ｘ        （４）
上式（４）の入力値Ｘにインデックス番号を設定し、出力値Ｙに各色成分の出力ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴを設定することで、図８（Ｂ）に示すようなネガポジ反転用ＬＵＴを作成する。そして、このＬＵＴを用いて図４で説明したインデックスカラー・テクスチャマッピングを行うことで、元画像に、ネガポジ反転のビデオフィルタを施した画像を得ることができる。
【００９６】
図９（Ａ）に、多階調の画像をいくつかの階調に制限して表示するためのポスタリゼーションのビデオフィルタの変換特性例を示す。ポスタリゼーションにおける入力値Ｘと出力値Ｙの関係式は下式のようになる。
【００９７】
Ｙ＝｛ＩＮＴ（Ｘ／ＶＡＬ）｝×ＶＡＬ    （５）
上式においてＩＮＴ（Ｒ）は、Ｒの小数点を切り捨てて整数化する関数であり、ＶＡＬは任意の値である。
【００９８】
なお、図９（Ｂ）には、ある点において入力値と出力値の曲線関数の傾きが反転するような画像効果を奏するソラリゼーションのビデオフィルタの変換特性例を示す。また、図９（Ｃ）には、画像のハイコントラスト効果を実現する２値化のビデオフィルタの変換特性例を示す。
【００９９】
また本実施形態によれば、モノトーンフィルタやセピアフィルタのビデオフィルタも実現できる。
【０１００】
モノトーンフィルタの変換前の色成分をＲＩＮ、ＧＩＮ、ＢＩＮとし、変換後の色成分をＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴとした場合に、モノトーンフィルタの変換式は例えば下式のようになる。
【０１０１】
ＲＯＵＴ＝0.299×ＲＩＮ＋0.587×ＧＩＮ＋0.114×ＢＩＮ    （６）
ＧＯＵＴ＝0.299×ＲＩＮ＋0.587×ＧＩＮ＋0.114×ＢＩＮ    （７）
ＢＯＵＴ＝0.299×ＲＩＮ＋0.587×ＧＩＮ＋0.114×ＢＩＮ    （８）
ここで、入力値ＲＩＮに対する出力値（ＲＯＵＴＲ、ＧＯＵＴＲ、ＢＯＵＴＲ）の関係式として下式（９）を、入力値ＧＩＮに対する出力値（ＲＯＵＴＧ、ＧＯＵＴＧ、ＢＯＵＴＧ）の関係式として下式（１０）を、入力値ＢＩＮに対する出力値（ＲＯＵＴＢ、ＧＯＵＴＢ、ＢＯＵＴＢ）の関係式として下式（１１）を定義する。
【０１０２】
（ＲＯＵＴＲ、ＧＯＵＴＲ、ＢＯＵＴＲ）
＝（0.299×ＲＩＮ、0.299×ＲＩＮ、0.299×ＲＩＮ）      （９）
（ＲＯＵＴＧ、ＧＯＵＴＧ、ＢＯＵＴＧ）
＝（0.587×ＧＩＮ、0.587×ＧＩＮ、0.587×ＧＩＮ）      （１０）
（ＲＯＵＴＢ、ＧＯＵＴＢ、ＢＯＵＴＢ）
＝（0.114×ＢＩＮ、0.114×ＢＩＮ、0.114×ＢＩＮ）      （１１）
上式（９）、（１０）、（１１）に基づいて、図１０（Ａ）、（Ｂ）、図１１に示すようなモノトーンフィルタ用のルックアップテーブルＬＵＴＲ、ＬＵＴＧ、ＬＵＴＢを作成する。そして、これらのＬＵＴＲ、ＬＵＴＧ、ＬＵＴＢを用いてインデックスカラー・テクスチャマッピングを行うことで、元画像にモノトーンフィルタを施した画像を得ることができる。
【０１０３】
なお、セピアフィルタの場合の変換式は例えば下式のようになる。
【０１０４】
ＲＯＵＴ＝0.299×ＲＩＮ＋0.587×ＧＩＮ＋0.114×ＢＩＮ＋６  （１２）
ＧＯＵＴ＝0.299×ＲＩＮ＋0.587×ＧＩＮ＋0.114×ＢＩＮ−３  （１３）
ＢＯＵＴ＝0.299×ＲＩＮ＋0.587×ＧＩＮ＋0.114×ＢＩＮ−３  （１４）
但し、０≦（ＲＯＵＴ、ＧＯＵＴ、ＢＯＵＴ）≦２５５となるようにクランプ処理を行う。
【０１０５】
そして、セピアフィルタの場合は例えば下記のような式を定義できる。
【０１０６】
（ＲＯＵＴＲ、ＧＯＵＴＲ、ＢＯＵＴＲ）
＝（0.299×ＲＩＮ+2、0.299×ＲＩＮ-1、0.299×ＲＩＮ-1）  （１５）
（ＲＯＵＴＧ、ＧＯＵＴＧ、ＢＯＵＴＧ）
＝（0.587×ＧＩＮ+2、0.587×ＧＩＮ-1、0.587×ＧＩＮ-1）  （１６）
（ＲＯＵＴＢ、ＧＯＵＴＢ、ＢＯＵＴＢ）
＝（0.114×ＢＩＮ+2、0.114×ＢＩＮ-1、0.114×ＢＩＮ-1）  （１７）
そして、上式（１５）、（１６）、（１７）に基づいて、セピアフィルタ用のルックアップテーブルＬＵＴＲ、ＬＵＴＧ、ＬＵＴＢを作成する。そして、これらのＬＵＴＲ、ＬＵＴＧ、ＬＵＴＢを用いてインデックスカラー・テクスチャマッピングを行うことで、元画像にセピアフィルタを施した画像を得ることができる。
【０１０７】
２．３  マスク処理
さて、ガンマ補正では、１つの入力値（ＲＩＮ、ＧＩＮ又はＢＩＮ）に対して１つの値（ＲＯＵＴ、ＧＯＵＴ又はＢＯＵＴ）が出力されるようなＬＵＴが必要になる。
【０１０８】
ところが、図３に示すインデックスカラー・テクスチャマッピング用のＬＵＴは、元々、ガンマ補正用に設計されたものではないため、１つ入力値（インデックス番号）に対して、複数の値（例えばＲＯＵＴ、ＧＯＵＴ、及びＢＯＵＴ）が出力されてしまう。従って、このＬＵＴの不整合を解決しなければならないという課題がある。
【０１０９】
そこで、本実施形態では、元画像の１つの色成分をＬＵＴのインデックス番号として設定する場合において、変換により得られる他の色成分が描画領域（フレームバッファ又は別バッファ）に描画されないようにするためのマスク処理を行っている。
【０１１０】
より具体的には、図１２のＤ１に示すように、元画像のＲプレーンの値をインデックス番号に設定して、ＬＵＴを用いたテクスチャマッピングを行うと、Ｒ（ＲＯＵＴ）、Ｇ（ＧＯＵＴ）、Ｂ（ＢＯＵＴ）という３つプレーンの値が出力される。そして、この場合には、Ｄ２に示すように、出力されたＲプレーンの値のみを描画領域（フレームバッファ又は別バッファ）に描画し、Ｇプレーン、Ｂプレーンの値についてはマスクして描画領域に描画されないようにする。
【０１１１】
また、図１２のＤ３に示すように、元画像のＧプレーンの値をインデックス番号に設定してテクスチャマッピングを行った場合には、Ｄ４に示すように、出力されたＧプレーンの値のみを描画領域に描画し、Ｒプレーン、Ｂプレーンの値についてはマスクして描画領域に描画されないようにする。
【０１１２】
また、図１２のＤ５に示すように、元画像のＢプレーンの値をインデックス番号に設定してテクスチャマッピングを行った場合には、出力されたＢプレーンの値のみを描画領域に描画し、Ｒプレーン、Ｇプレーンの値についてはマスクして描画領域に描画されないようにする。
【０１１３】
以上のようにすることで、元々はガンマ補正用に設計されていないインデックスカラー・テクスチャマッピング用のＬＵＴを用いながらも、少ない処理負荷で、元画像に対するガンマ補正を実行できるようになる。
【０１１４】
２．４  合成
図１２で説明したマスク処理の手法は、ガンマ補正の他にも、図８（Ａ）〜図９（Ｃ）において説明したネガポジ反転、ポスタリゼーション、ソラリゼーション、２値化などのビデオフィルタなどに有効である。
【０１１５】
これに対して、モノトーンフィルタやセピアフィルタなどのビデオフィルタを実現する場合には、次のような手法を採用することが望ましい。即ち、元画像のＲ成分をＬＵＴＲのインデックス番号として設定することで得られる色情報（Ｒ、Ｇ、Ｂ）と、Ｇ成分をＬＵＴＧのインデックス番号として設定することで得られる色情報（Ｒ、Ｇ、Ｂ）と、Ｂ成分をＬＵＴＢのインデックス番号として設定することで得られる色情報（Ｒ、Ｇ、Ｂ）とを合成するようにする。
【０１１６】
より具体的には、図１３のＥ１に示すように、元画像のＲ（ＲＩＮ）プレーンの値をインデックス番号に設定して、図１０（Ａ）のＬＵＴＲを用いたテクスチャマッピングを行うことで、Ｅ２に示すようなＲ（ＲＯＵＴＲ）、Ｇ（ＧＯＵＴＲ）、Ｂ（ＢＯＵＴＲ）という３つプレーンの値を得る。この場合の、ＲＩＮと（ＲＯＵＴＲ、ＧＯＵＴＲ、ＢＯＵＴＲ）の関係式は上式（９）又は（１５）のようになっている。
【０１１７】
また、図１３のＥ３に示すように、元画像のＧ（ＧＩＮ）プレーンの値をインデックス番号に設定して、図１０（Ｂ）のＬＵＴＧを用いたテクスチャマッピングを行うことで、Ｅ４に示すようなＲ（ＲＯＵＴＧ）、Ｇ（ＧＯＵＴＧ）、Ｂ（ＢＯＵＴＧ）という３つプレーンの値を得る。この場合の、ＧＩＮと（ＲＯＵＴＧ、ＧＯＵＴＧ、ＢＯＵＴＧ）の関係式は上式（１０）又は（１６）のようになっている。
【０１１８】
また、図１３のＥ５に示すように、元画像のＢ（ＢＩＮ）プレーンの値をインデックス番号に設定して、図１１のＬＵＴＢを用いたテクスチャマッピングを行うことで、Ｅ６に示すようなＲ（ＲＯＵＴＢ）、Ｇ（ＧＯＵＴＢ）、Ｂ（ＢＯＵＴＢ）という３つプレーンの値を得る。この場合の、ＢＩＮと（ＲＯＵＴＢ、ＧＯＵＴＢ、ＢＯＵＴＢ）の関係式は上式（１１）又は（１７）のようになっている。
【０１１９】
そして、図１３のＥ７に示すように、Ｅ２に示すＲ（ＲＯＵＴＲ）、Ｇ（ＧＯＵＴＲ）、Ｂ（ＢＯＵＴＲ）の色情報と、Ｅ４に示すＲ（ＲＯＵＴＧ）、Ｇ（ＧＯＵＴＧ）、Ｂ（ＢＯＵＴＧ）の色情報と、Ｅ６に示すＲ（ＲＯＵＴＢ）、Ｇ（ＧＯＵＴＢ）、Ｂ（ＢＯＵＴＢ）の色情報とを、合成（加算）する。
【０１２０】
このようにすることで、上式（６）、（７）、（８）或いは（１２）、（１３）、（１４）の変換式に示すような、モノトーンフィルタ或いはセピアフィルタのビデオフィルタを実現できるようになる。
【０１２１】
２．５  Ｚ値、α値への利用
以上では、インデックスカラー・テクスチャマッピング用のＬＵＴに基づき出力される色情報Ｒ、Ｇ、Ｂを利用する場合について説明した。
【０１２２】
しかしながら、インデックスカラー・テクスチャマッピング用のＬＵＴに基づき出力されるα値（Ａ値。画素に関連づけて設定される色情報以外の情報）を利用するようにしてもよい。
【０１２３】
例えば図１４に示すように、Ｒプレーン（又はＧ、Ｂ）の値をインデックス番号として設定して、ＬＵＴを用いたテクスチャマッピングを行い、α（αＯＵＴ）プレーンを生成する。そして、生成されたαプレーンを用いて、マスク処理などを行うようにする。
【０１２４】
即ち、例えばＲ値が０〜１２７の時にはα値（αＯＵＴ）が０になり、Ｒ値が１２８〜２５５の時にはα値が２５５になるようにα値が設定されたＬＵＴを使用する。そして、α値が２５５よりも小さい画素についてはマスク処理を行わず、α値が２５５の画素についてはマスク処理を行うようにする。このようにすれば、Ｒ値が１２８以上の画素に対してだけマスク処理が行われるようになり、各画素のＲ値の大小に応じたマスク処理を行うことができるようになる。
【０１２５】
なお、生成されたαプレーンの値をα合成の係数（透明度、半透明度、不透明度）として使用してもよい。
【０１２６】
また、ＬＵＴのインデックス番号として設定される画像情報は色情報に限定されない。即ち、描画領域（ＶＲＡＭ）上にあり、ＬＵＴのインデックス番号として設定できる画像情報であればよい。
【０１２７】
例えば図１５に示すように、Ｚ値（奥行き値）をＬＵＴのインデックス番号として設定するようにしてもよい。
【０１２８】
そして、この場合には、Ｚ値をインデックス番号に設定してインデックスカラー・テクスチャマッピングを行うことで得られるαプレーンの値を、例えばα合成の係数として使用するようにする。このようにすることで、Ｚ値に応じた値のα値を設定できるようになり、ぼかし画像を用いた被写界深度などの表現が可能になる。
【０１２９】
即ち図１５に示すようなＬＵＴを用いたテクスチャマッピングを行うことで、図１６のＦ１に示すように、元画像の各画素Ａ、Ｂ、Ｃ、ＤのＺ値ＺＡ、ＺＢ、ＺＣ、ＺＤに応じた値に各画素のα値αＡ、αＢ、αＣ、αＤを設定する。そして、例えば図１６のＦ２に示すようなαプレーンを生成する。より具体的には、仮想カメラ１０の焦点（注視点）から遠い画素（焦点とのＺ値の差が大きい画素）ほど、例えば大きなα値を設定する。これにより、仮想カメラ１０の焦点から遠い画素ほど、ぼかし画像の合成比率が高くなる。
【０１３０】
そして、図１６のＦ３に示すように、生成されたαプレーン（各画素に設定されたα値）に基づいて、元画像とぼかし画像のα合成（αブレンディング等）を行う。
【０１３１】
このように、Ｚ値（奥行き値）に応じて設定されたα値に基づき元画像とぼかし画像のα合成を行うことで、例えば、仮想カメラの焦点（ピントが合っている点として設定される点）から遠くなるほどぼけて見える画像を生成できるようになり、いわゆる被写界深度の表現が可能になる。これにより、画面内の全ての被写体にピントが合っていた従来のゲーム画像とは異なり、現実世界の視界画像のように視点からの距離に応じてフォーカシングされたリアルで自然なゲーム画像を生成できる。この結果、プレーヤの仮想現実感を格段に向上できる。
【０１３２】
例えば図１７に、Ｚ値に応じたα値の設定の一例を示す。なお、図１７では、α値は、その大きさが１．０以下になるように正規化されている。
【０１３３】
例えば図１７では、Ｚ値Ｚ１〜Ｚ４、Ｚ１’〜Ｚ４’（しきい値）により領域ＡＲ０〜ＡＲ４、ＡＲ１’〜ＡＲ４’の区分けが行われる。そして、これらの領域ＡＲ０〜ＡＲ４、ＡＲ１’〜ＡＲ４’に対して、α値α０〜α４、α１’〜α４’が設定される。
【０１３４】
例えば、Ｚ１〜Ｚ２の間の領域ＡＲ１にある画素については、そのα値がα１に設定され、Ｚ２〜Ｚ３の間の領域ＡＲ２にある画素については、そのα値がα２に設定される。また、Ｚ１’〜Ｚ２’の間の領域ＡＲ１’にある画素については、そのα値がα１’に設定され、Ｚ２’〜Ｚ３’の間の領域ＡＲ２’にある画素については、そのα値がα２’に設定される。
【０１３５】
そして、各領域に設定されるα値には例えば以下の関係式が成り立つ。
【０１３６】
α０＜α１  ＜α２  ＜α３  ＜α４        （１８）
α０＜α１’＜α２’＜α３’＜α４’      （１９）
これらの式（１８）、（１９）から明らかなように、仮想カメラ１０の焦点（注視点）から遠いほどα値が大きくなっている。即ち、仮想カメラ１０の焦点とのＺ値の差が大きい画素ほど、ぼかし画像の合成比率が高くなるように、α値が設定されている。
【０１３７】
このようにα値を設定することで、仮想カメラの焦点から遠くなるほどぼけて見える画像を生成でき、いわゆる被写界深度の表現が可能になる。
【０１３８】
２．６  モニタの明るさ調整
さて、プレーヤが画面上のキャラクタを操作し、ダンジョンを探索するようなＲＰＧゲームやホラーゲームでは、ダンジョンの暗い雰囲気をプレーヤに感じさせるために、ゲーム画像の輝度が全体的に暗めに設定されている場合がある。
【０１３９】
このような場合に、ゲーム画像が表示されるモニタの明るさ調整が、暗くなる方向に偏って設定されていると、ゲーム画像のコントラストが低下してしまい、ダンジョンの形状や模様の詳細が見えにくくなったり、ゲームの開発者が意図したものとは異なるゲーム画像が表示されたりするなどの問題が生じる。
【０１４０】
このような問題を解決する手法として、図１８に示すように、モニタ２０に設けられている明るさ調整ボタン２２をプレーヤが直接操作して、画面全体の明るさを調整する手法を考えることができる。
【０１４１】
しかしながら、この手法によると、画面の明るさを調整するためにプレーヤは、わざわざ自分の手を伸ばして調整ボタン２２を操作しなければならず、プレーヤの利便性に欠ける。
【０１４２】
また、このようにして、ゲームのためにモニタ２０の明るさ調整を行ってしまうと、そのゲームを終了して他の映像ソース（テレビチューナ、ビデオ、他のゲーム）の映像を見るような場合に、明るさ調整を元に戻さなければならないなどの手間が新たに生じてしまう。
【０１４３】
そこで、本実施形態では図１９に示すように、プレーヤがゲームコントローラ３０を用いて、モニタ２０の明るさ調整（広義には表示特性の調整）のための調整データを設定できるようにする。
【０１４４】
例えば図１９では、プレーヤがゲームコントローラ３０の十字キー３２により左方向を指示すると、画面全体が明るくなるような調整データが設定され、プレーヤが十字キー３２により右方向を指示すると、画面全体が暗くなるような調整データが設定される。
【０１４５】
そして、このようにして設定された調整データは、プレーヤの個人データ（セーブデータ）を記憶するためのセーブ用情報記憶装置４０にセーブされる。
【０１４６】
そして本実施形態では、明るさ調整（表示特性の調整）により得られた調整データやセーブ用情報記憶装置４０からロードされた調整データに基づいて、元画像の画像情報に対して変換処理が施される。
【０１４７】
より具体的には、調整データに基づいて、ガンマ補正の変換特性（図７（Ａ））が特定され、その変換特性に応じたガンマ補正用ＬＵＴ（図７（Ｂ））が作成される。そして、作成されたＬＵＴに基づいて、図４などで説明した手法により元画像に対して変換処理が施される。
【０１４８】
このようにすれば、プレーヤは、モニタ２０に設けられている明るさ調整ボタン２２に手を伸ばすことなく、ゲームコントローラ３０を用いてモニタ２０の明るさを調整できるようになる。
【０１４９】
また、調整データはセーブ用情報記憶装置４０に記憶され、この調整データは、プレーヤが調整処理を行ったゲームにおいてのみ有効となる。従って、そのゲームを終了して他の映像ソースの映像を見るような場合にも、明るさ調整を元に戻さなくても済むようになる。そして、再度そのゲームをプレイする場合には、セーブ用情報記憶装置４０からロードされた調整データに基づいてモニタ２０の明るさ調整が行われるため、プレーヤは、明るさ調整を再度やり直さなくても済むようになる。従って、プレーヤの利便性を大幅に向上できる。
【０１５０】
なお、セーブ用情報記憶装置４０の記憶容量には限りがあるため、セーブする調整データのデータ量も、なるべく少ないことが望ましい。
【０１５１】
従って、例えばガンマ補正の変換特性を特定するための調整データをセーブする場合には、ガンマ補正の変換特性を表すベジエ曲線（広義には自由曲線）の制御点のデータを、セーブ用情報記憶装置４０にセーブすることが望ましい。即ち、例えば制御点ＣＰ０、ＣＰ１、ＣＰ２、ＣＰ３のＹ座標をセーブしたり、ＣＰ１、ＣＰ２のＹ座標のみをセーブしたりする。このようにすることで、調整データのセーブに必要な使用記憶容量を節約でき、余った記憶容量を他の用途に使用することができるようになる。
【０１５２】
但し、セーブ用情報記憶装置４０の残り記憶容量に余裕がある場合には、図７（Ｂ）のガンマ補正用ＬＵＴの内容の全てをセーブ用情報記憶装置４０にセーブするようにしてもよい。
【０１５３】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図２０、図２１、図２２のフローチャートを用いて説明する。
【０１５４】
図２０は、図１２の手法を採用した場合の処理例を示すフローチャートである。
【０１５５】
まず、図７（Ｂ）に示すような変換用のＬＵＴを作成して、ＶＲＡＭに転送しておく（ステップＳ１）。
【０１５６】
次に、図１２のＤ１で説明したようにフレームバッファ上の元画像のＲプレーンの値をＬＵＴのインデックス番号に設定し、ＬＵＴを用いて表示画面サイズのポリゴンにテクスチャマッピングを行い、そのポリゴンを別バッファに描画する（ステップＳ２）。この時、図１２のＤ２で説明したように、Ｇ、Ｂ値についてはマスクしておく。
【０１５７】
次に、図１２のＤ３で説明したようにフレームバッファ上の元画像のＧプレーンの値をＬＵＴのインデックス番号に設定し、ＬＵＴを用いて表示画面サイズのポリゴンにテクスチャマッピングを行い、そのポリゴンを別バッファに描画する（ステップＳ３）。この時、図１２のＤ４で説明したように、Ｒ、Ｂ値についてはマスクしておく。
【０１５８】
次に、図１２のＤ５で説明したようにフレームバッファ上の元画像のＢプレーンの値をＬＵＴのインデックス番号に設定し、ＬＵＴを用いて表示画面サイズのポリゴンにテクスチャマッピングを行い、そのポリゴンを別バッファに描画する（ステップＳ４）。この時、図１２のＤ６で説明したように、Ｒ、Ｇ値についてはマスクしておく。
【０１５９】
そして最後に、別バッファに描画されている画像を、テクスチャマッピングなどを利用してフレームバッファに描画する（ステップＳ５）。
【０１６０】
図２１は、図１３の手法を採用した場合の処理例を示すフローチャートである。
【０１６１】
まず、図１０（Ａ）、（Ｂ）、図１１に示すような変換用のＬＵＴＲ、ＬＵＴＧ、ＬＵＴＢを作成して、ＶＲＡＭに転送しておく（ステップＳ１０）。
【０１６２】
次に、図１３のＥ１で説明したようにフレームバッファ上の元画像のＲプレーンの値をＬＵＴＲのインデックス番号に設定し、ＬＵＴＲを用いて表示画面サイズのポリゴンにテクスチャマッピングを行い、そのポリゴンを第１の別バッファに描画する（ステップＳ１１）。
【０１６３】
次に、図１３のＥ３で説明したようにフレームバッファ上の元画像のＧプレーンの値をＬＵＴＧのインデックス番号に設定し、ＬＵＴＧを用いて表示画面サイズのポリゴンにテクスチャマッピングを行い、そのポリゴンを第２の別バッファに描画する（ステップＳ１２）。
【０１６４】
次に、図１３のＥ５で説明したようにフレームバッファ上の元画像のＢプレーンの値をＬＵＴＢのインデックス番号に設定し、ＬＵＴＢを用いて表示画面サイズのポリゴンにテクスチャマッピングを行い、そのポリゴンを第３の別バッファに描画する（ステップＳ１３）。
【０１６５】
次に、第１の別バッファに描画されている画像を、テクスチャマッピングなどを利用してフレームバッファに描画する（ステップＳ１４）。次に、第２の別バッファに描画されている画像を、フレームバッファに加算描画（α加算）する（ステップＳ１５）。そして最後に、第３の別バッファに描画されている画像を、フレームバッファに加算描画する（ステップＳ１６）。
【０１６６】
ステップＳ２２は、図１９で説明した明るさ調整の処理例を示すフローチャートである。
【０１６７】
まず、メモリカード（セーブ用情報記憶装置）に明るさ調整データが存在するか否かなどを判断し、明るさ調整データをロードするか否かを判断する（ステップＳ２０）。そして、ロードすると判断した場合には、メモリカードから明るさ調整データをロードする（ステップＳ２１）。
【０１６８】
調整データをロードしないと判断した場合には、プレーヤが明るさ調整のオプション画面（図１９の表示画面）を選択したか否かを判断する（ステップＳ２２）。そして、選択しなかった場合には明るさ調整データを、予め用意されている初期値に設定する（ステップＳ２３）。一方、選択した場合には、図１９で説明したように、プレーヤからの操作データに基づいて、明るさ調整データを設定（作成）する（ステップＳ２４）。そして、設定された明るさ調整データをメモリカードにセーブする（ステップＳ２５）。
【０１６９】
次に、得られた明るさ調整データ（初期値の調整データ、設定された調整データ又はロードされた調整データ）に基づき、図４などで説明した手法により、ゲーム画像を、毎フレーム、動的に変換する（ステップＳ２６）。
【０１７０】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図２３を用いて説明する。
【０１７１】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１７２】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１７３】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１７４】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１７５】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１７６】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１７７】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１７８】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１７９】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１８０】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１８１】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１８２】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【０１８３】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１８４】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１８５】
図２４（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１８６】
図２４（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１８７】
図２４（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１８８】
なお、図２４（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１８９】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１９０】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１９１】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１９２】
また、インデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定される画像情報としては、本実施形態で説明した情報が特に望ましいが、これに限定されるものではない。
【０１９３】
また、本発明により実現される画像変換も、図７（Ａ）〜図１１で説明したものに限定されない。
【０１９４】
また、調整情報をセーブ用情報記憶装置にセーブする発明においては、画像情報を変換する手法は図４で説明した手法が特に望ましいが、これに限定されない。例えば図１（Ａ）、（Ｂ）で説明した手法等により画像情報を変換してもよい。
【０１９５】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１９６】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステム（画像生成システム）に適用できる。
【符号の説明】
【０１９７】
１０    仮想カメラ
２０    モニタ
２２    明るさ調整ボタン
３０    ゲームコントローラ
３２    十字キー
４０    セーブ用情報記憶装置
１００  処理部
１１０  ゲーム処理部
１１２  移動・動作演算部
１１４  調整情報設定部
１１６  セーブ部
１３０  画像生成部
１３２  ジオメトリ処理部
１３４  インデックス番号設定部
１４０  描画部
１４２  テクスチャマッピング部
１４４  マスク処理部
１４６  合成部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  メインメモリ
１７４  フレームバッファ
１７６  テクスチャ記憶部
１７８  ＬＵＴ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  セーブ用情報記憶装置
１９６  通信部
【図１】
2011096265.tif 000003
【図２】
2011096265.tif 000004
【図３】
2011096265.tif 000005
【図４】
2011096265.tif 000006
【図５】
2011096265.tif 000007
【図６】
2011096265.tif 000008
【図７】
2011096265.tif 000009
【図８】
2011096265.tif 000010
【図９】
2011096265.tif 000011
【図１０】
2011096265.tif 000012
【図１１】
2011096265.tif 000013
【図１２】
2011096265.tif 000014
【図１３】
2011096265.tif 000015
【図１４】
2011096265.tif 000016
【図１５】
2011096265.tif 000017
【図１６】
2011096265.tif 000018
【図１７】
2011096265.tif 000019
【図１８】
2011096265.tif 000020
【図１９】
2011096265.tif 000021
【図２０】
2011096265.tif 000022
【図２１】
2011096265.tif 000023
【図２２】
2011096265.tif 000024
【図２３】
2011096265.tif 000025
【図２４】
2011096265.tif 000026
【手続補正書】
【提出日】平成22年12月28日(2010.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
モニタに表示させるゲーム画像を生成するためのゲームシステムであって、
元画像の画像情報をインデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定し、当該ルックアップテーブルを用いて、仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行い、元画像の画像情報を変換する手段と、
ゲームコントローラから入力された操作データに基づいて、前記モニタの表示特性を調整するための調整データを設定する手段とを含み、
前記変換する手段が、
前記調整データに基づいて、元画像の画像情報を変換することを特徴とするゲームシステム。
【請求項２】
請求項１において、
前記変換する手段が、
前記調整データに基づいて、前記ルックアップテーブルを生成し、生成されたルックアップテーブルを用いて、元画像の画像情報を変換することを特徴とするゲームシステム。
【請求項３】
請求項１又は２において、
設定された前記調整データを、セーブ用情報記憶装置にセーブするセーブ手段を更に含み、
前記変換する手段が、
セーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報を変換することを特徴とするゲームシステム。
【請求項４】
請求項３において、
前記セーブ手段が、
画像情報の変換特性を表す自由曲線の制御点のデータを、前記調整データとしてセーブ用情報記憶装置にセーブすることを特徴とするゲームシステム。
【請求項５】
請求項３又は４において、
前記セーブ用情報記憶装置に前記調整データが存在するか否かを判断することによって前記調整データをロードするか否かを判断し、
前記調整データをロードすると判断した場合に前記セーブ用情報記憶装置から前記調整データをロードし、
前記変換する手段が、
ロードされた調整データに基づいて、元画像の画像情報を変換することを特徴とするゲームシステム。
【請求項６】
請求項３〜５のいずれかにおいて、
前記セーブ用情報記憶装置に前記調整データが存在するか否かを判断することによって前記調整データをロードするか否かを判断し、
前記調整データを設定する手段が、
前記調整データをロードしないと判断した場合に、ゲームコントローラから入力された操作データに基づいて、前記調整データを設定し、
前記変換する手段が、
前記調整データに基づいて、元画像の画像情報を変換することを特徴とするゲームシステム。
【請求項７】
請求項６において、
前記調整データをロードしないと判断した場合に、前記モニタの表示特性を調整するための選択を受け付けたか否かを判断し、
前記調整データを設定する手段が、
前記モニタの表示特性を調整するための選択を受け付けた場合に、ゲームコントローラから入力された操作データに基づいて、前記調整データを設定することを特徴とするゲームシステム。
【請求項８】
請求項６又は７において、
前記調整データをロードしないと判断した場合に、前記モニタの表示特性を調整するための選択を受け付けたか否かを判断し、
前記調整データを設定する手段が、
前記モニタの表示特性を調整するための選択を受け付けなかった場合には、前記調整データを初期値に設定することを特徴とするゲームシステム。
【請求項９】
請求項１〜８のいずれかにおいて、
前記調整データを設定する手段が、
ゲームコントローラの第１の操作データに基づいて、画面全体の明度を上げるように前記調整データを設定し、ゲームコントローラの第２の操作データに基づいて、画面全体を明度を下げるように前記調整データを設定することを特徴とするゲームシステム。
【請求項１０】
モニタに表示させるゲーム画像を生成するためのプログラムであって、
元画像の画像情報をインデックスカラー・テクスチャマッピング用のルックアップテーブルのインデックス番号として設定し、当該ルックアップテーブルを用いて、仮想オブジェクトに対してインデックスカラー・テクスチャマッピングを行い、元画像の画像情報を変換する手段と、
ゲームコントローラから入力された操作データに基づいて、前記モニタの表示特性を調整するための調整データを設定する手段として、コンピュータを機能させ、
前記変換する手段が、
前記調整データに基づいて、元画像の画像情報を変換することを特徴とするプログラム。
【請求項１１】
請求項１０において、
前記変換する手段が、
前記調整データに基づいて、前記ルックアップテーブルを生成し、生成されたルックアップテーブルを用いて、元画像の画像情報を変換することを特徴とするプログラム。
【請求項１２】
請求項１０又は１１において、
設定された前記調整データを、セーブ用情報記憶装置にセーブするセーブ手段として、コンピュータを更に機能させ、
前記変換する手段が、
セーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報を変換することを特徴とするプログラム。
【請求項１３】
モニタに表示させるゲーム画像を生成するためのプログラムであって、
ゲームコントローラから入力された操作データに基づいて、前記モニタの表示特性を調整するための調整データを設定する手段と、
設定された調整データを、セーブ用情報記憶装置にセーブするセーブ手段と、
表示特性の調整により得られた調整データ又はセーブ用情報記憶装置からロードされた調整データに基づいて、元画像の画像情報を変換する手段として、コンピュータを機能させることを特徴とするプログラム。
【請求項１４】
請求項１２又は１３において、
前記セーブ手段が、
画像情報の変換特性を表す自由曲線の制御点のデータを、前記調整データとしてセーブ用情報記憶装置にセーブすることを特徴とするプログラム。
【請求項１５】
請求項１２〜１４のいずれかにおいて、
前記セーブ用情報記憶装置に前記調整データが存在するか否かを判断することによって前記調整データをロードするか否かを判断し、
前記調整データをロードすると判断した場合に前記セーブ用情報記憶装置から前記調整データをロードし、
前記変換する手段が、
ロードされた調整データに基づいて、元画像の画像情報を変換することを特徴とするプログラム。
【請求項１６】
請求項１２〜１５のいずれかにおいて、
前記セーブ用情報記憶装置に前記調整データが存在するか否かを判断することによって前記調整データをロードするか否かを判断し、
前記調整データを設定する手段が、
前記調整データをロードしないと判断した場合に、ゲームコントローラから入力された操作データに基づいて、前記調整データを設定し、
前記変換する手段が、
前記調整データに基づいて、元画像の画像情報を変換することを特徴とするプログラム。
【請求項１７】
請求項１６において、
前記調整データをロードしないと判断した場合に、前記モニタの表示特性を調整するための選択を受け付けたか否かを判断し、
前記調整データを設定する手段が、
前記モニタの表示特性を調整するための選択を受け付けなかった場合には、前記調整データを初期値に設定することを特徴とするプログラム。
【請求項１８】
請求項１０〜１７のいずれかにおいて、
前記調整データを設定する手段が、
ゲームコントローラの第１の操作データに基づいて、画面全体の明度を上げるように前記調整データを設定し、ゲームコントローラの第２の操作データに基づいて、画面全体を明度を下げるように前記調整データを設定することを特徴とするプログラム。
【請求項１９】
コンピュータにより使用可能な情報記憶媒体であって、請求項１０〜１８のいずれかのプログラムを含むことを特徴とする情報記憶媒体。