(57)【要約】【課題】画像に様々なエフェクトを施す処理を高速で行うことができるプログラム、画像処理装置及び方法、並びに、そのプログラムを記憶した記録媒体を提供する。【解決手段】画像データを構成する１つ以上のピクセルを加工処理して、第１の色情報と第１の付加情報とを含む第１のピクセルを生成し、第１の付加情報に対応する第２の色情報を、カラールックアップテーブルから読み出し、第２の色情報と第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成し、第２のピクセルを表示画像データの一部としてフレームバッファに記憶させ、フレームバッファに記憶された表示画像データに基づく表示画像をディスプレイモニタに表示する。【選択図】図４
2005276054.tif 000002
【特許請求の範囲】
【請求項１】
ピクセル毎に色情報と付加情報を有する画像データを加工処理して表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理装置で実行可能なプログラムであって、
前記画像データを構成する１つ以上のピクセルを加工処理して、第１の色情報と第１の付加情報とを含む第１のピクセルを生成するステップと、
前記第１の付加情報に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、
前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、
前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップと
を有することを特徴とするプログラム。
【請求項２】
ピクセル毎に色情報とアルファ値を有するテクスチャデータをポリゴンに貼り付けて表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理装置で実行可能なプログラムであって、
前記テクスチャデータを構成する１つ以上のピクセルをポリゴンに貼り付けて、第１の色情報と第１のアルファ値とを含む第１のピクセルを生成するステップと、
前記第１のアルファ値に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、
前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、
前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップと
を有することを特徴とするプログラム。
【請求項３】
請求項２記載のプログラムにおいて、
前記ポリゴンの頂点が色情報とアルファ値を有しており、
前記ポリゴンへの光源計算により前記頂点のアルファ値を変更するステップを前記画像処理装置に実行させ、
前記テクスチャデータを構成する１つ以上のピクセルをポリゴンに貼り付けて、第１の色情報と第１のアルファ値とを含む第１のピクセルを生成するステップを前記画像処理装置に実行させる際に、前記ポリゴンの頂点のアルファ値に基づいて、前記テクスチャデータの第１のピクセルの第１のアルファ値を変更して貼り付ける
ことを特徴とするプログラム。
【請求項４】
請求項１記載のプログラムにおいて、
インデックスが第１の所定範囲内である前記カラールックアップテーブルの付加情報を第２の所定範囲内の値に、インデックスが第１の所定範囲外である前記カラールックアップテーブルの付加情報を第２の所定範囲外の値に設定し、
前記画像データを構成する１つ以上のピクセルの付加情報を前記第１の所定範囲内の値に設定し、
前記第１の付加情報が前記第１の所定範囲内の値か否かを判定することにより前記第１のピクセルを特定するステップを前記画像処理装置に実行させる
ことを特徴とするプログラム。
【請求項５】
請求項２又は３記載のプログラムにおいて、
インデックスが第１の所定範囲内である前記カラールックアップテーブルのアルファ値を第２の所定範囲内の値に、インデックスが第１の所定範囲外である前記カラールックアップテーブルのアルファ値を第２の所定範囲外の値に設定し、
前記テクスチャデータを構成する１つ以上のピクセルのアルファ値を前記第１の所定範囲内の値に設定し、
前記テクスチャデータを構成する１つ以上のピクセルのアルファ値を前記第１の所定範囲内の値に設定し、
前記第１のアルファ値が前記第１の所定範囲内の値か否かを判定することにより前記第１のピクセルを特定するステップを前記画像処理装置に実行させる
ことを特徴とするプログラム。
【請求項６】
請求項４又は５記載のプログラムにおいて、
特定された前記第１のピクセルに対して特別な画像処理を施すステップを前記画像処理装置に実行させる
ことを特徴とするプログラム。
【請求項７】
請求項１乃至６いずれか１項に記載のプログラムにおいて、
前記カラールックアップテーブルを複数種類用意し、
前記カラールックアップテーブルを切り換えることにより、前記第２の色情報を動的に変化させる
ことを特徴とするプログラム。
【請求項８】
ピクセル毎に色情報と付加情報を有する画像データを加工処理して表示画像データを生成し該表示画像データに基づく表示画像を表示手段に出力する画像処理装置であって、
前記画像データを構成する１つ以上のピクセルを加工処理して、第１の色情報と第１の付加情報とを含む第１のピクセルを生成するステップと、
前記第１の付加情報に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、
前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、
前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップと
を実行することを特徴とする画像処理装置。
【請求項９】
ピクセル毎に色情報とアルファ値を有するテクスチャデータをポリゴンに貼り付けて表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理装置であって、
前記テクスチャデータを構成する１つ以上のピクセルをポリゴンに貼り付けて、第１の色情報と第１のアルファ値とを含む第１のピクセルを生成するステップと、
前記第１のアルファ値に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、
前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、
前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップと
を実行することを特徴とする画像処理装置。
【請求項１０】
ピクセル毎に色情報と付加情報を有する画像データを加工処理して表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理システムによる画像処理方法であって、
前記画像データを構成する１つ以上のピクセルを加工処理して、第１の色情報と第１の付加情報とを含む第１のピクセルを生成するステップと、
前記第１の付加情報に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、
前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、
前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップと
を有することを特徴とする画像処理方法。
【請求項１１】
ピクセル毎に色情報とアルファ値を有するテクスチャデータをポリゴンに貼り付けて表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理システムによる画像処理方法であって、
前記テクスチャデータを構成する１つ以上のピクセルをポリゴンに貼り付けて、第１の色情報と第１のアルファ値とを含む第１のピクセルを生成するステップと、
前記第１のアルファ値に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、
前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、
前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップと
を有することを特徴とする画像処理方法。
【請求項１２】
請求項１乃至７のいずれか１項に記載のプログラムが記録された記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に様々なエフェクトを施して表示するためのプログラム、画像処理装置及び方法、並びに、そのプログラムを記憶した記録媒体に関する。
【背景技術】
【０００２】
ゲーム装置等において３次元モデルを画面に表示する際、例えば３次元モデルがポリゴンにより形成されている場合には、各ポリゴンの回転、移動、光源に対するシェーディング、透視変換等などを行って、カメラ位置から見た３次元モデルの画像を生成し、その３次元モデルにテクスチャを貼るテクスチャマッピングを行う。
【０００３】
複数の３次元モデルを生成し、画面に表示するには、夫々のモデルに対して上述したような様々な処理を行うが、生成、表示するモデルの数の増加に応じてこれに要する時間が大きなものとなる。ゲームのようなリアルタイムでの画像表示では、１フレームの時間である１／６０秒よりもずっと短い時間で画像を描画する必要がある。
【０００４】
このような画像処理において元画像に様々なエフェクトを施す処理を行う。例えば、シェーディング処理の場合には、元画像となるテクスチャと、シェーディング用のパラメータテクスチャとを用意し、複数の２次元画像をテクスチャとしてオブジェクト表面に貼り付けるマルチテクスチャリング（multi-texturing）により描画する。このように複数のテクスチャを組み合わせて様々なエフェクトを施すことができる。
【特許文献１】特開２００２−９２６３１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、マルチテクスチャリングの機能がハードウエアにより提供されていない場合には、上述したシェーディング処理のためには、テクスチャを複数回描画する必要があり、そのためには通常のテクスチャリングの倍以上の時間がかかるので、リアルタイムでの画像表示が困難となるおそれがあった。
【０００６】
本発明の目的は、画像に様々なエフェクトを施す処理を高速で行うことができるプログラム、画像処理装置及び方法、並びに、そのプログラムを記憶した記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様によるプログラムは、ピクセル毎に色情報と付加情報を有する画像データを加工処理して表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理装置で実行可能なプログラムであって、前記画像データを構成する１つ以上のピクセルを加工処理して、第１の色情報と第１の付加情報とを含む第１のピクセルを生成するステップと、前記第１の付加情報に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップとを有することを特徴とする。
【０００８】
本発明の一態様によるプログラムは、ピクセル毎に色情報とアルファ値を有するテクスチャデータをポリゴンに貼り付けて表示画像データを生成し、該表示画像データに基づく表示画像を表示手段に出力する画像処理装置で実行可能なプログラムであって、前記テクスチャデータを構成する１つ以上のピクセルをポリゴンに貼り付けて、第１の色情報と第１のアルファ値とを含む第１のピクセルを生成するステップと、前記第１のアルファ値に対応する第２の色情報を、カラールックアップテーブルから読み出すステップと、前記第２の色情報と前記第１の色情報とを混合した第３の色情報を含む第２のピクセルを生成するステップと、前記第２のピクセルを前記表示画像データの一部としてフレームバッファに記憶させるステップとを有することを特徴とする。
【０００９】
上述したプログラムにおいて、前記ポリゴンの頂点が色情報とアルファ値を有しており、前記ポリゴンへの光源計算により前記頂点のアルファ値を変更するステップを前記画像処理装置に実行させ、前記テクスチャデータを構成する１つ以上のピクセルをポリゴンに貼り付けて、第１の色情報と第１のアルファ値とを含む第１のピクセルを生成するステップを前記画像処理装置に実行させる際に、前記ポリゴンの頂点のアルファ値に基づいて、前記テクスチャデータの第１のピクセルの第１のアルファ値を変更して貼り付けるようにしてもよい。
【００１０】
上述したプログラムにおいて、インデックスが第１の所定範囲内である前記カラールックアップテーブルの付加情報を第２の所定範囲内の値に、インデックスが第１の所定範囲外である前記カラールックアップテーブルの付加情報を第２の所定範囲外の値に設定し、前記画像データを構成する１つ以上のピクセルの付加情報を前記第１の所定範囲内の値に設定し、前記第１の付加情報が前記第１の所定範囲内の値か否かを判定することにより前記第１のピクセルを特定するステップを前記画像処理装置に実行させるようにしてもよい。
【００１１】
上述したプログラムにおいて、インデックスが第１の所定範囲内である前記カラールックアップテーブルのアルファ値を第２の所定範囲内の値に、インデックスが第１の所定範囲外である前記カラールックアップテーブルのアルファ値を第２の所定範囲外の値に設定し、前記テクスチャデータを構成する１つ以上のピクセルのアルファ値を前記第１の所定範囲内の値に設定し、前記テクスチャデータを構成する１つ以上のピクセルのアルファ値を前記第１の所定範囲内の値に設定し、前記第１のアルファ値が前記第１の所定範囲内の値か否かを判定することにより前記第１のピクセルを特定するステップを前記画像処理装置に実行させるようにしてもよい。
【００１２】
上述したプログラムにおいて、特定された前記第１のピクセルに対して特別な画像処理を施すステップを前記画像処理装置に実行させるようにしてもよい。
【００１３】
上述したプログラムにおいて、前記カラールックアップテーブルを複数種類用意し、
前記カラールックアップテーブルを切り換えることにより、前記第２の色情報を動的に変化させるようにしてもよい。
【００１４】
本発明の一態様による情報処理装置は、上述したプログラムを実行する手段を有することを特徴とする。
【００１５】
本発明の一態様による情報処理方法は、上述したプログラムにより実行されるステップを有することを特徴とする。
【００１６】
本発明の一態様による記録媒体は、上述したプログラムを記憶していることを特徴とする。
【発明の効果】
【００１７】
以上の通り、本発明によれば、専用のハードウエアがなくても、画像に様々なエフェクトを施す処理を高速で行うことができる。
【発明を実施するための最良の形態】
【００１８】
［一実施形態］
本発明の一実施形態によるゲーム装置を図１乃至図１７を用いて説明する。
【００１９】
（ゲーム装置の構成）
ゲーム装置の全体の構成を図１を用いて説明する。
【００２０】
ゲーム装置１０には、ゲームプログラムの実行やシステム全体の制御や画像表示のための座標計算等を行うＣＰＵ１２と、ＣＰＵ１２が処理を行うのに必要なプログラムやデータを格納するバッファメモリとして利用されるメインメモリ（ＲＡＭ）１４とがバスラインにより共通接続され、バスアービタ１６に接続されている。バスアービタ１６は、ゲーム装置１０の各ブロックや外部に接続される機器とのプログラムやデータの流れを制御する。
【００２１】
ゲームプログラムやデータ（映像データや音楽データも含む）が格納されたプログラムデータ記憶装置又は記憶媒体（ゲーム用記録媒体であるＣＤ−ＲＯＭ等の光ディスクや、光ディスクドライブ等も含む）１８と、ゲーム装置１０を起動するためのプログラムやデータが格納されているＢＯＯＴＲＯＭ２０とがバスラインを介してバスアービタ１６に接続されている。
【００２２】
バスアービタ１６を介して、プログラムデータ記憶装置又は記憶媒体１８から読み出した映像（ＭＯＶＩＥ）データを再生したり、プレイヤの操作やゲーム進行に応じて画像表示のための画像を生成するグラフィックス用プロセッサ（ＧＰＵ）２２と、そのＧＰＵ２２が画像生成を行うために必要なグラフィックデータを格納すると共に、表示画像に対応する表示画像データを格納するフレームバッファが設けられたビデオメモリ２４とが接続されている。ビデオメモリ２４のフレームバッファに格納されている表示画像データはビデオＤＡＣ（図示せず）によりデジタル信号からアナログ信号に変換され、ＧＰＵ２２から画像同期信号に同期して外部のディスプレイモニタ４２に出力され、ディスプレイモニタ４２に表示画像データに基づく表示画像が表示される。 
【００２３】
バスアービタ１６を介して、プログラムデータ記憶装置又は記憶媒体１８から読み出した音楽データを再生したりプレイヤによる操作やゲーム進行に応じて効果音や音声を生成するサウンドプロセッサ２６と、そのサウンドプロセッサ２６により効果音や音声を生成するために必要なサウンドデータ等を格納しておくサウンドメモリ２８とが接続されている。サウンドプロセッサ２６から出力される音声信号は、オーディオＤＡＣ（図示せず）によりデジタル信号からアナログ信号に変換され、外部のスピーカ４４から出力される。
【００２４】
バスアービタ１６には、ペリフェラルＩ／Ｆ（インターフェース）３０を介して、方向キー、各種操作ボタン等が設けられたコントローラ４０が接続されている。ペリフェラルＩ／Ｆ３０は、プレイヤによる操作にしたがって、ゲーム装置１０を制御するための信号を出力する。
【００２５】
バスアービタ１６には通信Ｉ／Ｆ（インタフェース）３２が接続されている。通信Ｉ／Ｆ（インタフェース）３２は外部のモデム４６を介して電話回線等の外部ネットワークに接続される。なお、通信Ｉ／Ｆ（インタフェース）３２及びモデム４６は、ターミナルアダプタ（ＴＡ）やルータ、ケーブルテレビ回線を使用するケーブルモデム、携帯電話やＰＨＳを利用して無線通信手段、光ファイバを用いた光ファイバ通信手段等の他の通信方法を利用してもよい。
【００２６】
（画像処理に使用される各種データ）
本実施形態のゲーム装置による画像処理で用いられる各種データの詳細について説明する。
【００２７】
（ポリゴンデータ）
ポリゴンは、三次元グラフィックスにおいて立体の形状を表現するときに使用する多角形である。三角形、四角形等が多い。各頂点には３２ビットの色情報（Ｒ，Ｇ，Ｂ，Ａ）が付されている。３２ビット色情報は、８ビットのＲ（赤）情報、８ビットのＧ（緑）情報、８ビットのＢ（青）情報の三原色情報と、８ビットのＡ（アルファ値）の付加情報から構成されている。
【００２８】
オリジナルのポリゴンデータは、ゲームプログラムが格納されているＣＤ、ＤＶＤ等の記録媒体に格納されているが、描画処理を行うときには、メインメモリ１４やビデオメモリ２４上にロードされる。
【００２９】
（テクスチャデータ）
テクスチャは、三次元グラフィックスにおいて物体の表面の質感を表現するために貼り付ける画像である。各ピクセルは３２ビットの色情報（Ｒ，Ｇ，Ｂ，Ａ）により表現される。３２ビット色情報は、８ビットのＲ（赤）情報、８ビットのＧ（緑）情報、８ビットのＢ（青）情報の三原色情報と、８ビットのＡ（アルファ値）の付加情報から構成されている。
【００３０】
オリジナルのテクスチャデータは、ゲームプログラムが格納されているＣＤ、ＤＶＤ等の記録媒体に格納されているが、描画処理を行うときには、メインメモリ１４やビデオメモリ２４上にロードされる。
【００３１】
（ＣＬＵＴ：カラールックアップテーブル）
ＣＬＵＴ（カラールックアップテーブル）は、後述するように、色情報のアルファ値をキーとして色合成等の画像処理を行う場合に参照されるルックアップテーブルであり、カラーパレットとも呼ばれている、アルファ値に応じて２５６個のパレット（色情報）から構成されている。カラールックアップテーブルの各パレットは、３２ビットの色情報（Ｒ，Ｇ，Ｂ，Ａ）により表現される。３２ビット色情報は、８ビットのＲ（赤）情報、８ビットのＧ（緑）情報、８ビットのＢ（青）情報の三原色情報と、８ビットのＡ（アルファ値）の付加情報から構成されている。なお、カラールックアップテーブルは、その用途によってはアルファ値の付加情報を設けなくてもよい。
【００３２】
オリジナルのカラールックアップテーブルは、ゲームプログラムが格納されているＣＤ、ＤＶＤ等の記録媒体に格納されているが、描画処理を行うときには、メインメモリ１４やビデオメモリ２４上にロードされる。
【００３３】
（各種データの格納場所）
オリジナルのポリゴンデータ、テクスチャデータ、カラールックアップテーブル等は、ゲームプログラムが格納されているＣＤ、ＤＶＤ等の記憶媒体１８に格納されている。
【００３４】
ゲーム装置１０に記憶媒体１８を装着してゲームプログラムを読み込むと、描画処理を行うとき等の必要に応じて、メインメモリ１４やビデオメモリ２４上にロードされる。
【００３５】
ビデオメモリ２４には、図２に示すように、ディスプレイモニタ２４で表示する１画面分の画像情報を記録するフレームバッファ２４Ａと、フレームバッファ２４Ａに次に書き込む画像情報を描画しておく描画用メモリ２４Ｂが設けられている。ビデオメモリ２４の初期化時に、これらフレームバッファ２４Ａと描画用メモリ２４Ｂの領域が確保される。
【００３６】
フレームバッファ２４Ａと描画用メモリ２４Ｂの各ピクセルは３２ビットの色情報（Ｒ，Ｇ，Ｂ，Ａ）により表現される。３２ビット色情報は、８ビットのＲ（赤）情報、８ビットのＧ（緑）情報、８ビットのＢ（青）情報の三原色情報と、８ビットのＡ（アルファ値）の付加情報から構成されている。
【００３７】
（基本画像処理）
本実施形態のゲーム装置による基本的な画像処理について図２乃至図５を用いて説明する。この画像処理では、テクスチャデータのアルファ値をインデックスキーとして参照したカラールックアップテーブルの色情報を、元のテクスチャデータの色情報と混合する。
【００３８】
まず、図３のフローチャートに示すように、ゲームデザイナにより画像処理のためのテクスチャデータとカラールックアップテーブルが作成される（ステップＳ１０）。作成されたオリジナルのテクスチャデータとカラールックアップテーブルは、ゲームプログラムと共に、ＣＤ、ＤＶＤ等の記憶媒体１８に記録される（ステップＳ１１）。
【００３９】
次に、ゲームプログラムを実行するために、ゲーム装置１０に記憶媒体１８を装着すると、図２に示すように、ゲームプログラムと共に、オリジナルのテクスチャデータとカラールックアップテーブルがメインメモリ１４にロードされる（ステップＳ１２）。
【００４０】
次に、画像を描画するときには、テクスチャデータとカラールックアップテーブルをメインメモリ１４からビデオメモリ２４にロードする（ステップＳ１３）。
【００４１】
次に、ポリゴン等による三次元モデルの所定箇所に所定のテクスチャデータを貼り付けるために、ビデオメモリ２４の描画メモリ２４Ｂに、そのテクスチャデータを描画する（ステップＳ１４）。
【００４２】
図４（ａ）に示すように、テクスチャデータ５０の各ピクセルは、前述したように、３２ビットの色情報（ＲＧＢＡ）により表現されているが、このステップＳ１４では描画メモリ２４Ｂに、アルファ値を含めた３２ビット色情報をそのまま描画する。描画メモリ２４Ｂに書き込まれたアルファ値はオリジナルのテクスチャデータのままである。
【００４３】
次に、描画用メモリ２４Ｂに描画されたテクスチャデータ５０のアルファ値（Ａ１）をインデックスキーとして、図４（ｂ）に示すカラールックアップテーブル５２の色情報を読み出して、描画用メモリ２４Ｂの色情報と混合する（ステップＳ１５）。図４（ａ）に示すように、テクスチャデータ５０のあるピクセルが色情報（Ｒ1，Ｇ1，Ｂ1，Ａ1）であると、そのアルファ値Ａ1をキーインデックスとして、図４（ｂ）に示すカラールックアップテーブル５２のＡ1番目の色情報（Ｒ2，Ｇ2，Ｂ2，Ａ2）と混合する。混合された画像は、図４（ｃ）に示すように、その混合比が、カラールックアップテーブル５２のＡ1番目の色情報（Ｒ2，Ｇ2，Ｂ2，Ａ2）のアルファ値Ａ2により決定され、テクスチャデータ５０のそのピクセルの混合された色情報（Ｒ，Ｇ，Ｂ，Ａ）は
Ｒ＝Ｒ1（１−Ａ2）＋Ｒ2・Ａ2
Ｇ＝Ｇ1（１−Ａ2）＋Ｇ2・Ａ2
Ｂ＝Ｂ1（１−Ａ2）＋Ｂ2・Ａ2
Ａ＝Ａ1（１−Ａ2）＋Ａ2・Ａ2
となる。
【００４４】
次に、このようにして描画された描画用メモリ２４Ｂを表示用メモリであるフレームバッファ２４Ａに書き込み（ステップＳ１６）、フレームバッファ２４Ａに書き込まれた表示画像データに基づく表示画像がディスプレイモニタ４２に表示される（ステップＳ１７）。
【００４５】
本実施形態による基本画像処理による具体例を図５に示す。図５（ａ）は、オリジナルのテクスチャデータにより描画した状態で、カラールックアップテーブルによる色情報の混合が行われていない画像である。図５（ｂ）は、図５（ａ）の状態でのアルファ値Ａを濃淡により表示した画像である。人物と窓の画像のアルファ値Ａが大きく、その他の室内の画像のアルファ値Ａが小さくなっている。カラールックアップテーブル５２として、大きなアルファ値Ａの色情報（Ｒ，Ｇ，Ｂ）及び／又はそのアルファ値Ａを大きく、小さなアルファ値Ａの色情報（Ｒ，Ｇ，Ｂ）及び／又はそのアルファ値Ａを小さくすることにより、図５（ｃ）に示すように、アルファ値の小さな領域がより暗くなる。
【００４６】
これにより、窓から外が見える室内画像における夜の状態を、昼間の状態と同じテクスチャデータを用いながら、カラールックアップテーブルだけを用いることにより、リアリティのある表現ができる。
【００４７】
（疑似投影画像処理）
本実施形態のゲーム装置による疑似投影画像処理について図６乃至図９を用いて説明する。この画像処理では、ポリゴンによる三次元モデルに光源計算を行い、ポリゴンの各頂点の色情報のアルファ値に光源計算の結果を反映し、そのポリゴンにテクスチャデータを貼り付ける。光源計算を考慮して貼り付けられたテクスチャデータのアルファ値をインデックスキーとしてカラールックアップテーブルを参照し、その参照した色情報をテクスチャデータの色情報と混合する。
【００４８】
まず、図６のフローチャートに示すように、ゲームデザイナにより画像処理のためのテクスチャデータとカラールックアップテーブルとポリゴンデータが作成される（ステップＳ２０）。作成されたオリジナルのテクスチャデータとカラールックアップテーブルとポリゴンデータは、ゲームプログラムと共に、ＣＤ、ＤＶＤ等の記憶媒体１８に記録される（ステップＳ２１）。
【００４９】
次に、ゲームプログラムを実行するために、ゲーム装置１０に記憶媒体１８を装着すると、図２に示すように、ゲームプログラムと共に、オリジナルのテクスチャデータとカラールックアップテーブルとポリゴンデータがメインメモリ１４にロードされる（ステップＳ２２）。
【００５０】
次に、画像を描画するときには、テクスチャデータとカラールックアップテーブルをメインメモリ１４からビデオメモリ２４にロードする（ステップＳ２３）。
【００５１】
次に、ポリゴンによる三次元モデルの所定箇所に所定のテクスチャデータを貼り付けて描画する（ステップＳ２４）が、描画する前に、ポリゴン表示したモデルに光源計算を行う。
【００５２】
図７（ａ）に示すような立方体の三次元モデルであるとすると、光源の方向から、ポリゴンの各頂点の色情報のアルファ値（Ａ）に光源計算の結果を代入する。例えば、立方体の各頂点Ａ、Ｂ、Ｃ、…、Ｈの色情報のアルファ値（Ａ）を、図７（ｂ）に示すように、光源に最も近い頂点Ｈでは最大の２５５とし、光源に次に近い頂点Ｄ、Ｅ、Ｆ、Ｇではその半分の１２７とし、光源に次に近い頂点Ｂ、Ｃではさらにその半分の６３とし、光源から最も遠い頂点Ａでは０とする。
【００５３】
そして、立方体の三次元モデルにテクスチャデータを貼り付ける場合には、光源計算の結果を反映した各頂点の色情報のアルファ値（Ａ）を貼り付けるテクスチャデータに反映させる（ステップＳ２４）。
【００５４】
図７（ａ）に示す三次元モデルの上面にテクスチャデータを貼り付ける場合について、図８を用いて説明する。図８（ａ）に示す上面のポリゴン５４の各頂点Ａ、Ｂ、Ｃ、Ｄのアルファ値は、上述した光源計算の結果が反映されている。このポリゴン５４にテクスチャデータ５０を貼り付けるときには、テクスチャデータ５０の各ピクセルのアルファ値（Ａ）が各頂点のアルファ値に基づいて変更される。すなわち、頂点Ｄであれば、オリジナルのアルファ値の半分となり、頂点Ｂ、Ｃであれば、オリジナルのアルファ値の１／４となり、頂点Ａであれば、アルファ値はゼロとなる。これらの頂点間では、これらを線形近似した比率となる。
【００５５】
このようにしてアルファ値を変更したテクスチャデータ５０を、ビデオメモリ２４の描画メモリ２４Ｂに描画する（ステップＳ２４）。
【００５６】
次に、描画用メモリ２４Ｂに描画されたテクスチャデータ５０のアルファ値（Ａ１）をインデックスキーとして、図８（ｃ）に示すカラールックアップテーブル５２の色情報を読み出して、描画用メモリ２４Ｂの色情報と混合する（ステップＳ２５）。図８（ｂ）に示すように、テクスチャデータ５０のあるピクセルが色情報（Ｒ1，Ｇ1，Ｂ1，Ａ1）であると、そのアルファ値Ａ1をキーインデックスとして、図８（ｃ）に示すカラールックアップテーブル５２のＡ1番目の色情報（Ｒ2，Ｇ2，Ｂ2，Ａ2）と混合する。混合された画像は、図８（ｄ）に示すように、その混合比が、カラールックアップテーブル５２のＡ1番目の色情報（Ｒ2，Ｇ2，Ｂ2，Ａ2）のアルファ値Ａ2により決定され、テクスチャデータ５０のそのピクセルの混合された色情報（Ｒ，Ｇ，Ｂ，Ａ）は
Ｒ＝Ｒ1（１−Ａ2）＋Ｒ2・Ａ2
Ｇ＝Ｇ1（１−Ａ2）＋Ｇ2・Ａ2
Ｂ＝Ｂ1（１−Ａ2）＋Ｂ2・Ａ2
Ａ＝Ａ1（１−Ａ2）＋Ａ2・Ａ2
となる。
【００５７】
次に、このようにして描画された描画用メモリ２４Ｂを表示用メモリであるフレームバッファ２４Ａに書き込み（ステップＳ２６）、フレームバッファ２４Ａに書き込まれた画像をディスプレイモニタ４２に表示する（ステップＳ２７）。
【００５８】
本実施形態による疑似投影処理による具体例を図９に示す。図９（ａ）は、本実施形態の疑似投影処理することなく描画した場合の画像であり、図９（ｂ）は、本実施形態の疑似投影処理を施した描画した場合の画像である。図９（ａ）の画像でも、ルックアップテーブル５２により陰影がつけられているが、図９（ｂ）の画像では、光源計算の結果が反映されて、よりリアルな陰影が表現されている。
【００５９】
このように、光源計算の結果を反映させることにより、リアリティのある三次元モデルの陰影を表現できる。
【００６０】
（トゥーンシェーディング画像処理）
本実施形態のゲーム装置によるトゥーンシェーディングの画像処理について図１０及び図１１を用いて説明する。
【００６１】
上述した基本画像処理や疑似投影画像処理におけるシェーディングとして、アニメ風な効果を得るために、法線ベクトルと光線ベクトルのなす角度が一定の範囲内になるピクセルに対して同じ色の影を付けるトゥーンシェーディングを行う場合である。
【００６２】
これまではトゥーンシェーディングを行うためには、そのためのテクスチャデータを用意する必要があったが、本実施形態によれば、カラールックアップテーブルを工夫することにより、同じテクスチャデータを用いて容易にトゥーンシェーディングを実現できる。
【００６３】
トゥーンシェーディングを行う場合には、カラールックアップテーブルにおける２５６個のパレット（色情報）を急激に変化させる。図１０（ａ）に示すように、色情報の三原色（Ｒ，Ｇ，Ｂ）を、例えば、インデックスが０〜１２７の範囲では暗い色である小さな値とし、中間の１２７前後のインデックスで急激に変化させ、インデックスが１２８〜２５５の範囲では明るい色である大きな値とする。アルファ値（Ａ）は、この処理ではピクセル毎に制御を行う必要がないので、完全不透明のアルファ値又は完全不透明に近いアルファ値の一定値に設定する（図１０（ｂ））。
【００６４】
これにより描画メモリに描画された画像情報の各ピクセルのアルファ値が１２７前後で僅かに変化しても、それにより合成されるカラールックアップテーブルの色情報が急激に変化するので、擬似的なトゥーンシェーディングの効果を得ることができる。
【００６５】
本実施形態によるトゥーンシェーディングによる具体例を図１１に示す。ルックアップテーブルの設定の仕方により、陰影が強調され、アニメ風なシェーディング処理された画像が表現されている。
【００６６】
（部分画像切り出し処理）
本実施形態のゲーム装置による部分画像切り出し処理について図１２乃至図１５を用いて説明する。この画像処理では、部分切出用カラールックアップテーブルを用意して、テクスチャデータの各ピクセルのアルファ値により部分画像を切り出して、その切り出し部分画像に特殊な画像処理を行い、画像処理した部分画像を元の画像に組み合わせて、部分的に特殊処理された全体画像を得る。
【００６７】
まず、図１２のフローチャートに示すように、ゲームデザイナにより画像処理のためのテクスチャデータと通常のカラールックアップテーブルと部分切出用カラールックアップテーブルが作成される（ステップＳ３０）。作成されたオリジナルのテクスチャデータと通常のカラールックアップテーブルと部分切出用カラールックアップテーブルは、ゲームプログラムと共に、ＣＤ、ＤＶＤ等の記憶媒体１８に記録される（ステップＳ３１）。
【００６８】
次に、ゲームプログラムを実行するために、ゲーム装置１０に記憶媒体１８を装着すると、図２に示すように、ゲームプログラムと共に、オリジナルのテクスチャデータとカラールックアップテーブルと部分切出用カラールックアップテーブルがメインメモリ１４にロードされる（ステップＳ３２）。
【００６９】
次に、画像を描画するときには、テクスチャデータとカラールックアップテーブルと部分切出用カラールックアップテーブルをメインメモリ１４からビデオメモリ２４にロードする（ステップＳ３３）。
【００７０】
次に、ポリゴン等による三次元モデルの所定箇所に所定のテクスチャデータを貼り付けるために、ビデオメモリ２４の描画メモリ２４Ｂに、そのテクスチャデータを描画する（ステップＳ３４）。
【００７１】
次に、描画用メモリ２４Ｂに描画されたテクスチャデータ５０のアルファ値（Ａ１）をインデックスキーとして、通常のカラールックアップテーブルの色情報を読み出して、描画用メモリ２４Ｂの色情報と混合する（ステップＳ３５）。このようにして図１３（ａ）の全体画像５６を得る。ここまでの処理は、上述した基本画像処理と同様である。
【００７２】
次に、描画用メモリ２４Ｂの各ピクセルのアルファ値（Ａ）を部分切出用カラールックアップテーブルのインデックスとして参照して、図１３（ａ）の全体画像５６から、図１３（ｃ）に示す部分画像５８を切り出す（ステップＳ３６）。その結果、描画用メモリ２４Ｂには、図１３（ｂ）に示す部分画像５７が残る。
【００７３】
次に、図１３（ｃ）に示す部分画像５８に対して特殊処理を施して、図１３（ｄ）に示す部分画像５９を得る（ステップＳ３７）。
【００７４】
次に、描画用メモリ２４に残った、図１３（ｂ）に示す部分画像５７に、図１３（ｄ）に示す特殊処理後の部分画像５９を合成する（ステップＳ３８）。
【００７５】
次に、このようにして合成された描画用メモリ２４Ｂを表示用メモリであるフレームバッファ２４Ａに書き込み（ステップＳ３９）、フレームバッファ２４Ａに書き込まれた画像をディスプレイモニタ４２に表示する（ステップＳ４０）。
【００７６】
本実施形態による部分切出画像処理による具体例を図１４及び図１５に示す。
【００７７】
図１４（ａ）は、基本画像処理により描画した状態で、カラールックアップテーブルによる色情報の混合が行われている画像である。図１４（ｂ）は、図１４（ａ）の状態での画像のうち部分画像として切り出す範囲のアルファ値を表示した画像である。特殊処理であるグレア処理を行う予定の窓の画像が切り出されるアルファ値であることがわかる。図１４（ｃ）は、グレア処理された部分画像を元の画像と合成した状態の画像である。
【００７８】
図１５は、同様にして、一部の画像を切り出して、部分的にハッチング処理を行い、元の画像と合成した状態の画像である。
【００７９】
これにより、窓のような部分画像を切り出して、他の画像に影響を及ぼすことなく特殊処理を行うことができ、効果的な画像表現ができる。
【００８０】
（ＣＬＵＴ切り換え画像処理）
本実施形態のゲーム装置によるＣＬＵＴ切り換え画像処理について図１６及び図１７を用いて説明する。
【００８１】
この画像処理は、基本画像処理と同様に、テクスチャデータのアルファ値をインデックスキーとして参照したカラールックアップテーブルの色情報を、元のテクスチャデータの色情報と混合する処理を行うが、参照するカラールックアップテーブルを動的に切り換えることにより擬似的に動きのある画像を得る。
【００８２】
図１６（ａ）に示すように、テクスチャデータ５０の各ピクセルは、３２ビットの色情報（ＲＧＢＡ）により表現されており、最初は、描画メモリ２４Ｂに、アルファ値を含めた３２ビット色情報をそのまま描画する。
【００８３】
続いて、描画用メモリ２４Ｂに描画されたテクスチャデータ５０のアルファ値（Ａ１）をインデックスキーとして、図１６（ｂ）に示すカラールックアップテーブル５２Ａ、又は、図１６（ｃ）に示すカラールックアップテーブル５２Ｂの色情報を読み出して、描画用メモリ２４Ｂの色情報と混合する。
【００８４】
図１６（ｂ）に示すカラールックアップテーブル５２Ａを参照する場合には、テクスチャデータ５０のあるピクセルが色情報（Ｒ1，Ｇ1，Ｂ1，Ａ1）のアルファ値Ａ1をキーインデックスとして、カラールックアップテーブル５２ＡのＡ1番目の色情報（Ｒ2，Ｇ2，Ｂ2，Ａ2）と混合する。混合された画像は、図１６（ｄ）に示すように、その混合比が、カラールックアップテーブル５２ＡのＡ1番目の色情報（Ｒ2，Ｇ2，Ｂ2，Ａ2）のアルファ値Ａ2により決定され、テクスチャデータ５０のそのピクセルの混合された色情報（Ｒ，Ｇ，Ｂ，Ａ）は
Ｒ＝Ｒ1（１−Ａ2）＋Ｒ2・Ａ2
Ｇ＝Ｇ1（１−Ａ2）＋Ｇ2・Ａ2
Ｂ＝Ｂ1（１−Ａ2）＋Ｂ2・Ａ2
Ａ＝Ａ1（１−Ａ2）＋Ａ2・Ａ2
となる。
【００８５】
図１６（ｃ）に示すカラールックアップテーブル５２Ｂを参照する場合には、テクスチャデータ５０のあるピクセルが色情報（Ｒ1，Ｇ1，Ｂ1，Ａ1）のアルファ値Ａ1をキーインデックスとして、カラールックアップテーブル５２ＢのＡ1番目の色情報（Ｒ3，Ｇ3，Ｂ3，Ａ3）と混合する。混合された画像は、図１６（ｄ）に示すように、その混合比が、カラールックアップテーブル５２ＢのＡ1番目の色情報（Ｒ3，Ｇ3，Ｂ3，Ａ3）のアルファ値Ａ3により決定され、テクスチャデータ５０のそのピクセルの混合された色情報（Ｒ，Ｇ，Ｂ，Ａ）は
Ｒ＝Ｒ1（１−Ａ3）＋Ｒ3・Ａ3
Ｇ＝Ｇ1（１−Ａ3）＋Ｇ3・Ａ3
Ｂ＝Ｂ1（１−Ａ3）＋Ｂ3・Ａ3
Ａ＝Ａ1（１−Ａ3）＋Ａ3・Ａ3
となる。
【００８６】
カラールックアップテーブル５２Ａとカラールックアップテーブル５２Ｂを動的に切り換えることにより、同じテクスチャデータを用いながら動的な画像を表現できる。
【００８７】
本実施形態によるＣＬＵＴ切り換え画像処理による具体例を図１７に示す。図１７（ａ）の画像は、本実施形態による画像処理を施す前の元画像である。図１７（ｂ）の画像は、一方のカラールックアップテーブル５２Ａによる画像処理を行った画像であり、図１７（ｃ）の画像は、他方のカラールックアップテーブル５２Ｂによる画像処理を行った画像である。キャラクタの頭部近傍の異なる位置が光る画像が得られる。カラールックアップテーブル５２Ａと５２Ｂとを動的に切り換えることにより、キャラクタの頭部近傍で光が明滅しているように見える。
【００８８】
このように本実施形態によれば、画像に様々なエフェクトを施す処理を高速で行うことができる。
【００８９】
［変形実施形態］
本発明は上記実施形態に限らず種々の変形が可能である。
【００９０】
例えば、上記実施形態は家庭用のゲーム装置であったが、本発明は、これに限られるものではなく、コンピュータを有するものであれば、業務用のゲーム装置であっても、携帯用のゲーム装置であってもよいし、パーソナルコンピュータ等のような汎用の電子装置でもよい。特に、本発明は、マルチテクスチャ機能がない携帯電話やＰＤＡ等の小型の電子装置に有効である。
【００９１】
また、上記実施形態ではカラールックアップテーブルの各パレットに三原色情報と付加情報とを設けたが、付加情報を設けなくてもよい。
【００９２】
また、上記実施形態では色情報をＲＧＢ形式で表したが、ＹＵＶ形式等の他の形式で表すようにしてもよい。
【００９３】
また、上記実施形態の画像処理に限らず、アルファ値をインデックスキーとしてルックアップテーブルを参照する画像処理であれば本発明を適用することができる。
【図面の簡単な説明】
【００９４】
【図１】本発明の一実施形態によるゲーム装置の構成を示すブロック図である。
【図２】本発明の一実施形態によるゲーム装置の要部の構成を示すブロック図である。
【図３】本発明の一実施形態による基本画像処理を示すフローチャートである。
【図４】本発明の一実施形態による基本画像処理の説明図である。
【図５】本発明の一実施形態による基本画像処理の具体例を示す図である。
【図６】本発明の一実施形態による疑似投影画像処理を示すフローチャートである。
【図７】本発明の一実施形態による疑似投影画像処理の説明図（その１）である。
【図８】本発明の一実施形態による疑似投影画像処理の説明図（その２）である。
【図９】本発明の一実施形態による疑似投影画像処理の具体例を示す図である。
【図１０】本発明の一実施形態によるトゥーンシェーディング画像処理の説明図である。
【図１１】本発明の一実施形態によるトゥーンシェーディング画像処理の具体例を示す図である。
【図１２】本発明の一実施形態による部分画像切り出し処理を示すフローチャートである。
【図１３】本発明の一実施形態による部分画像切り出し処理の説明図である。
【図１４】本発明の一実施形態による部分画像切り出し処理の具体例を示す図である。
【図１５】本発明の一実施形態による部分画像切り出し処理の具体例を示す図である。
【図１６】本発明の一実施形態によるＣＬＵＴ切り換え画像処理の説明図である。
【図１７】本発明の一実施形態によるＣＬＵＴ切り換え画像処理の具体例を示す図である。
【符号の説明】
【００９５】
１０…ゲーム装置
１２…ＣＰＵ
１４…メインメモリ（ＲＡＭ）
１６…バスアービタ
１８…プログラムデータ記憶装置又は記憶媒体
２０…ＢＯＯＴＲＯＭ
２２…グラフィックス用プロセッサ（ＧＰＵ）
２４…ビデオメモリ
２６…サウンドプロセッサ
２８…サウンドメモリ
３０…ペリフェラルＩ／Ｆ（インターフェース）
３２…通信Ｉ／Ｆ（インタフェース）
４０…コントローラ
４２…ディスプレイモニタ
４４…スピーカ
４６…モデム
【図１】
2005276054.tif 000003
【図２】
2005276054.tif 000004
【図３】
2005276054.tif 000005
【図４】
2005276054.tif 000006
【図６】
2005276054.tif 000007
【図７】
2005276054.tif 000008
【図８】
2005276054.tif 000009
【図１０】
2005276054.tif 000010
【図１２】
2005276054.tif 000011
【図１３】
2005276054.tif 000012
【図１６】
2005276054.tif 000013
【図５】
2005276054.tif 000014
【図９】
2005276054.tif 000015
【図１１】
2005276054.tif 000016
【図１４】
2005276054.tif 000017
【図１５】
2005276054.tif 000018
【図１７】
2005276054.tif 000019