(57)【要約】【課題】少ない演算負荷で質感の高い画像表現を可能とすること。【解決手段】画像処理装置によって実行されるプログラムであって、演算手段に、(a)モデルを仮想空間内に配置すること、(b)仮想空間内に視点を設定すること、(c)視点とモデルを構成するポリゴンの位置関係に基づき、ポリゴンのフレネル項を算出すること、(d)ポリゴンに、ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップをマッピングすること、(e)ポリゴンにマッピングされた高さマップに対してフレネル項を掛け合わせること、(f)ポリゴンにマッピングされたテクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分けること、(g)モデルが配置された仮想空間を、当該仮想空間内のカメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成すること、を実行させる。【選択図】図２
2007328459.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と演算手段を備え、前記記憶手段に、ポリゴンを組み合わせて構成される前記オブジェクトのモデルと、前記モデルのベーステクスチャと、当該ベーステクスチャに対応した高さマップと、が記憶された画像処理装置によって実行され、仮想三次元空間内のオブジェクトの画像を生成するためのプログラムであって、
前記演算手段に
（ａ）前記モデルを前記仮想三次元空間内に配置するステップと、
（ｂ）前記仮想三次元空間内に視点を設定するステップと、
（ｃ）前記視点と前記モデルを構成するポリゴンの位置関係に基づき、前記ポリゴンのフレネル項を算出するステップと、
（ｄ）前記ポリゴンに、前記ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップをマッピングするステップと、
（ｅ）前記ポリゴンにマッピングされた前記高さマップに対して前記フレネル項を掛け合わせるステップと、
（ｆ）前記ポリゴンにマッピングされた前記テクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分けるステップと、
（ｇ）前記モデルが配置された前記仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成するステップと
を実行させることを特徴とするプログラム。
【請求項２】
前記モデルは、前記仮想カメラの視点方向へ張り出す凸部を含む湾曲形状を有する、請求項１に記載のプログラム。
【請求項３】
前記モデルは、略円筒状である、請求項２に記載のプログラム。
【請求項４】
請求項１乃至３のいずれかに記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
仮想三次元空間内のオブジェクトの画像を生成する画像処理装置であって、
演算手段と、
ポリゴンを組み合わせて構成される前記オブジェクトのモデルと、前記モデルのベーステクスチャと、当該ベーステクスチャに対応した高さマップと、を記憶する記憶手段と、
を含み、
前記演算手段は、
（ａ）前記記憶手段から読み出した前記モデルを前記仮想三次元空間内に配置する処理と、
（ｂ）前記仮想三次元空間内に視点を設定する処理と、
（ｃ）前記視点と前記モデルを構成するポリゴンの位置関係に基づき、前記ポリゴンのフレネル項を算出する処理と、
（ｄ）前記ポリゴンに、前記記憶手段から読み出した前記ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップをマッピングする処理と、
（ｅ）前記ポリゴンにマッピングされた前記高さマップに対して前記フレネル項を掛け合わせる処理と、
（ｆ）前記ポリゴンにマッピングされた前記テクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分ける処理と、
（ｇ）前記モデルが配置された前記仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成する処理と、
を行うことを特徴とする画像処理装置。
【請求項６】
演算手段と、
ポリゴンを組み合わせて構成される前記オブジェクトのモデルと、前記モデルのベーステクスチャと、当該ベーステクスチャに対応した高さマップと、を記憶する記憶手段と、
を備え、仮想三次元空間内のオブジェクトの画像を生成する画像処理装置における画像生成方法であって、
（ａ）演算手段が、前記記憶手段から読み出した前記モデルを前記仮想三次元空間内に配置するステップと、
（ｂ）演算手段が、前記仮想三次元空間内に視点を設定するステップと、
（ｃ）演算手段が、前記視点と前記モデルを構成するポリゴンの位置関係に基づき、前記ポリゴンのフレネル項を算出するステップと、
（ｄ）演算手段が、前記記憶手段から読み出した前記ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップを前記ポリゴンに対してマッピングするステップと、
（ｅ）前記演算手段が、前記ポリゴンにマッピングされた前記高さマップに対して前記フレネル項を掛け合わせるステップと、
（ｆ）前記演算手段が、前記ポリゴンにマッピングされた前記テクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分けるステップと、
（ｇ）前記演算手段が、前記モデルが配置された前記仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成するステップと、
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想三次元空間に設定される事象を透視投影変換して二次元画像を生成する技術に関する。
【背景技術】
【０００２】
近年のコンピュータ技術の発展に伴い、ビデオゲーム装置、シミュレータ（擬似体験装置）などに関する画像処理技術が広く一般に普及するようになっている。このようなシステムにおいては、表示される画像をより表現力豊かにすることが商品価値を高めるうえで重要となっている。例えば、仮想空間内を彩る背景画像等についてもより高い表現力（質感等）が求められる傾向にある（例えば、特許文献１参照）。その一方で、ＴＶゲーム機等における画像生成にはリアルタイム処理が求められるため、画像生成に要する演算負荷をなるべく低減したいという要望もある。例えば、演算対象となるポリゴン数の低減などである。
【０００３】
【特許文献１】特開２００４−３８３９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明は、少ない演算負荷で質感の高い画像表現を可能とする画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明にかかるプログラムは、記憶手段と演算手段を備え、前記記憶手段に、ポリゴンを組み合わせて構成される前記オブジェクトのモデルと、前記モデルのベーステクスチャと、当該ベーステクスチャに対応した高さマップと、が記憶された画像処理装置によって実行され、仮想三次元空間内のオブジェクトの画像を生成するためのプログラムであって、
前記演算手段に
（ａ）前記モデルを前記仮想三次元空間内に配置するステップと、
（ｂ）前記仮想三次元空間内に視点を設定するステップと、
（ｃ）前記視点と前記モデルを構成するポリゴンの位置関係に基づき、前記ポリゴンのフレネル項を算出するステップと、
（ｄ）前記ポリゴンに、前記ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップをマッピングするステップと、
（ｅ）前記ポリゴンにマッピングされた前記高さマップに対して前記フレネル項を掛け合わせるステップと、
（ｆ）前記ポリゴンにマッピングされた前記テクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分けるステップと、
（ｇ）前記モデルが配置された前記仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成するステップと
を実行させることを特徴とする。このプログラムは、コンピュータ読み取り可能な記録媒体（例えば、コンパクトディスク、デジタルバーサタイルディスク等の各種ディスク）に記録されていてもよい。
【０００６】
本発明にかかる画像処理装置は、仮想三次元空間内のオブジェクトの画像を生成する画像処理装置であって、
演算手段と、
ポリゴンを組み合わせて構成される前記オブジェクトのモデルと、前記モデルのベーステクスチャと、当該ベーステクスチャに対応した高さマップと、を記憶する記憶手段と、
を含み、
前記演算手段は、
（ａ）前記記憶手段から読み出した前記モデルを前記仮想三次元空間内に配置する処理と、
（ｂ）前記仮想三次元空間内に視点を設定する処理と、
（ｃ）前記視点と前記モデルを構成するポリゴンの位置関係に基づき、前記ポリゴンのフレネル項を算出する処理と、
（ｄ）前記ポリゴンに、前記記憶手段から読み出した前記ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップをマッピングする処理と、
（ｅ）前記ポリゴンにマッピングされた前記高さマップに対して前記フレネル項を掛け合わせる処理と、
（ｆ）前記ポリゴンにマッピングされた前記テクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分ける処理と、
（ｇ）前記モデルが配置された前記仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成する処理と、
を行うことを特徴とする。
【０００７】
本発明にかかる画像生成方法は、
演算手段と、
ポリゴンを組み合わせて構成される前記オブジェクトのモデルと、前記モデルのベーステクスチャと、当該ベーステクスチャに対応した高さマップと、を記憶する記憶手段と、
を備え、仮想三次元空間内のオブジェクトの画像を生成する画像処理装置における画像生成方法であって、
（ａ）演算手段が、前記記憶手段から読み出した前記モデルを前記仮想三次元空間内に配置するステップと、
（ｂ）演算手段が、前記仮想三次元空間内に視点を設定するステップと、
（ｃ）演算手段が、前記視点と前記モデルを構成するポリゴンの位置関係に基づき、前記ポリゴンのフレネル項を算出するステップと、
（ｄ）演算手段が、前記記憶手段から読み出した前記ポリゴンのベーステクスチャ及び当該ベーステクスチャに対応した高さマップを前記ポリゴンに対してマッピングするステップと、
（ｅ）前記演算手段が、前記ポリゴンにマッピングされた前記高さマップに対して前記フレネル項を掛け合わせるステップと、
（ｆ）前記演算手段が、前記ポリゴンにマッピングされた前記テクスチャの各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分けるステップと、
（ｇ）前記演算手段が、前記モデルが配置された前記仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像情報を生成するステップと、
を含むことを特徴とする。
【０００８】
上記の本発明によれば、少ない演算負荷で質感の高い画像表現が可能となる。
【０００９】
好ましくは、上記モデルは、上記仮想カメラの視点方向へ張り出す凸部を含む湾曲形状を有する。更に好ましくは、上記モデルは、略円筒状である。
【００１０】
これにより、例えば樹木などの画像を表現する際に、用いるポリゴンの数をより少なくしながら高品質な画像表現を実現できる。
【発明を実施するための最良の形態】
【００１１】
以下、画像処理装置の一例としてゲーム装置を採り上げて、本発明の実施の形態について説明する。
【００１２】
図１は、一実施形態のゲーム装置の構成を示すブロック図である。図１に示す本実施形態のゲーム装置１は、ＣＰＵ（Central Processing Unit）１０、システムメモリ１１、記憶媒体１２、ブートロム（BOOT ROM）１３、バスアービタ１４、ＧＰＵ（Graphics Processing Unit）１６、グラフィックメモリ１７、オーディオプロセッサ１８、オーディオメモリ１９、通信インタフェース（Ｉ／Ｆ）２０、ペリフェラルインターフェース２１、を含んで構成されている。すなわち、本実施形態のゲーム装置１は、演算手段（演算部）としてのＣＰＵ１０及びＧＰＵ１６、記憶手段（記憶部）としてのシステムメモリ１１、グラフィックメモリ１７及びオーディオメモリ１９等を含んで構成されるコンピュータ（コンピュータシステム）を備え、当該コンピュータに所定のプログラムを実行させることによってゲーム装置として機能するものである。具体的には、ゲーム装置１は、ゲーム演出を行うために、仮想三次元空間（ゲーム空間）内を仮想カメラから見た二次元画像を順次生成するとともに、効果音などの音声を生成する。
【００１３】
ＣＰＵ（Central Processing Unit）１０は、所定のプログラムを実行することによりゲーム装置１全体を制御する。
【００１４】
システムメモリ１１は、ＣＰＵ１０が使用するプログラムやデータを格納する。このシステムメモリ１１は、例えばＤＲＡＭ（dynamic random access memory）、ＳＲＡＭ（static random access memory）等の半導体メモリを用いて構成される。
【００１５】
記憶媒体１２は、ゲームプログラムや出力する画像や音声などのデータが記録されている。このプログラムデータ用ＲＯＭとしての記憶媒体１２は、マスクロムやフラッシュロムなどの電気的にデータを読み出せるＩＣメモリや、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどの光学的にデータを読み出せる装置と光ディスクまたは磁気ディスク等であっても良い。
【００１６】
ブートロム１３は、ゲーム装置１を起動させた際に各ブロックを初期化するためのプログラムを格納する。
【００１７】
バスアービタ１４は、各ブロック間でプログラムやデータのやり取りを行うバスを制御する。
【００１８】
ＧＰＵ１６は、ディスプレイに表示するオブジェクトの仮想三次元空間（ゲーム空間）での位置座標や向きの演算（ジオメトリ演算）と、このオブジェクトの向きや位置座標等に基づいてディスプレイに出力する画像を生成（描画）する処理（レンダリング）を行う。
【００１９】
グラフィックメモリ１７は、ＧＰＵ１６に接続されており、画像を生成するためのデータやコマンドなど格納する。このグラフィックメモリ１７は、例えばＤＲＡＭ（dynamic random access memory）、ＳＲＡＭ（static random access memory）等の半導体メモリを用いて構成される。
【００２０】
オーディオプロセッサ１８は、スピーカから音声出力を行うためのデータを生成する。このオーディオプロセッサ１８によって生成された音声データが図示しないデジタル／アナログ変換器によってアナログ信号に変換され、スピーカに入力されることにより、スピーカから音声出力がなされる。
【００２１】
オーディオメモリ１９は、オーディオプロセッサ１８に構成されており、音声を生成するためのデータやコマンドなど格納する。このオーディオメモリ１９は、例えばＤＲＡＭ（dynamic random access memory）、ＳＲＡＭ（static random access memory）等の半導体メモリを用いて構成される。
【００２２】
通信インタフェース（Ｉ／Ｆ）２０は、ゲーム装置１が他のゲーム装置やサーバ装置等との間でデータ通信の必要がある場合における通信処理を行う。
【００２３】
ペリフェラルインターフェース（Ｉ／Ｆ）２１は、外部からのデータ入出力を行うインターフェースが組み込まれており、ここに周辺装置としてのペリフェラルが接続される。ここで、ペリフェラルには、マウス（ポインティングデバイス）やキーボード、ゲーム用コントローラ等のキー操作のためのスイッチ、及びタッチペンの他、プログラムの途中経過や生成したデータを保存するバックアップメモリ、表示装置、撮影装置等、画像処理装置本体あるいは他のペリフェラルに接続可能なものが含まれる。
【００２４】
なお、システムメモリ１１、グラフィックメモリ１７、サウンドメモリ１９は、１つの
メモリをバスアービタ１４に接続して各機能で共通に使用するようにしてもよい。また各
機能ブロックも機能として存在すればよく、機能ブロック同士が統合されていても、また、機能ブロック内部の各構成要素が他のブロックとして分離されてい
ても良い。
【００２５】
本実施形態のゲーム装置は以上のような構成を備えており、次に本実施形態の画像生成処理の内容についてフローチャートを参照しながら説明する。以下の説明では、一例として木の茂みを含む画像を生成する場合について説明する。
【００２６】
図２は、ゲーム装置の画像生成処理の全体的な手順を示すフローチャートである。
【００２７】
ＣＰＵ１０は、複数のポリゴン（例えば、三角形状ポリゴン）を組み合わせて構成されるモデル（ポリゴンモデル）をシステムメモリ１１から読み出し、当該モデルを仮想三次元空間内に配置する（ステップＳ１０）。
【００２８】
また、ＣＰＵ１０は、光源位置の設定、視点（カメラ）位置の設定等の処理を行う（ステップＳ１１）。カメラ位置は、例えばプレイヤが操作するオブジェクトの後方、一定距離の位置に設定される。光源位置は、例えば所定位置に固定されていたり、あるいは時間経過と共に移動したりする。
【００２９】
図３にポリゴンモデルの一例を示す。本実施形態のポリゴンモデルは、図示のように仮想カメラの視点方向へ張り出す凸部を含む湾曲形状を有する。より具体的には、本実施形態のポリゴンモデルは図示のように略円筒状であり、手前側と奥側に２つ配置されている。これらのポリゴンモデルは比較的に少ないポリゴン数で実現されている。
【００３０】
次に、ＧＰＵ１６は、上記ステップＳ１１において設定された視点の位置と、モデルを構成するポリゴンとの位置関係に基づき、各ポリゴンのフレネル項を算出する（ステップＳ１２）。ここで「フレネル項」とは、物理現象であるフレネル反射をシミュレートした係数である。この係数を求める際には、より厳密にはフレネルの公式に基づいた演算をするとよいが、Schlickによる近似等の近似式を用いて演算負荷を軽減するのも好ましい。
【００３１】
次に、ＧＰＵ１６は、ベーステクスチャ及び当該ベーステクスチャに対応した高さマップをグラフィックメモリ１７から読み出し、ポリゴンモデルにマッピングする（ステップＳ１３）。図４に例示するベーステクスチャは樹木を表すものである。図示の都合上モノクロ表現となっているが、実際には濃淡のある緑色によって樹木が表現される。また、「高さマップ」とは、法線方向の凹凸の大きさを記したテクスチャをいう。この高さマップは、テクスチャの貼られる場所が高ければ白く、低ければ黒く描かれる。図４に本ステップの処理内容を概略的に示す。図４においては、図中の左上側にベーステクスチャの一例、図中の右上側に高さマップ（等高線マップ）の一例がそれぞれ示されている。また、これらのベーステクスチャ、高さマップがマッピングされたポリゴンモデルが図中の下側に示されている。なお、図４では、裏向きのポリゴンを非表示とする処理（カリング処理）が行われた後のポリゴンモデルが示されている。
【００３２】
次に、ＧＰＵ１６は、ポリゴンモデルにマッピングされた高さマップに対してフレネル項を掛け合わせる（ステップＳ１４）。図５に本ステップの処理内容を概略的に示す。図５においては、図中の左上側に上記のマッピング後のポリゴンモデル、図中の右上側にフレネル項を視覚的に表した一例がそれぞれ示されている。また、このフレネル項が高さマップを掛け合わされたポリゴンモデルが図中の下側に示されている。
【００３３】
次に、ＧＰＵ１６は、ポリゴンモデルにマッピングされたテクスチャ（ベーステクスチャ、高さマップ）の各ピクセルのアルファ値に応じて、当該各ピクセルの透明度を透明又は不透明のいずれかに振り分ける処理（いわゆるアルファテスト）を行う（ステップＳ１５）。
【００３４】
次に、ＧＰＵ１６は、ポリゴンモデルが配置された仮想三次元空間を、当該仮想三次元空間内の仮想カメラの視点に対応して設定される透視投影面上に透視投影して二次元画像を生成する（ステップＳ１６）。図６は本ステップにおいて生成される二次元画像の一例を示す図である。図中の中央付近に描かれている大木が上記の各ステップを経て生成されたものである。このような画像の生成に上記本実施形態の処理を適用することにより、少ないポリゴン数のモデルを用いて、茂みのオブジェクトをボリューム感のある輪郭を保って質感高く表現することが可能になる。
【００３５】
なお、本発明は上述した各実施形態の内容に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、一例として木の茂みを含む画像を生成する場合について説明していたが、本発明の適用範囲はこれに限定されるものではない。これ以外にも、例えば頭髪、動物等の体毛などの毛髪やこれに類するものを表現する画像を生成する場合などにも本発明を適用することが可能である。
【００３６】
また、上述した実施形態では、ＣＰＵ等のハードウェアを含むコンピュータに所定のプログラムを実行させることによってゲーム装置が実現されていたが、ゲーム装置に備わっていた各機能ブロックはそれぞれ専用のハードウェア等を用いて実現されていてもよい。
【００３７】
また、上述した実施形態では一例としてゲーム装置を採り上げていたが、本発明の適用範囲はゲーム装置に限定されるものではない。例えば、現実世界の各種体験（例えば、運転操作等）を擬似的に再現するシミュレータ装置等に対しても本発明を適用することが可能である。
【図面の簡単な説明】
【００３８】
【図１】一実施形態のゲーム装置の構成を示すブロック図である。
【図２】ゲーム装置の画像生成処理の全体的な手順を示すフローチャートである。
【図３】ポリゴンモデルの一例を示す図である。
【図４】ステップＳ１３の処理内容を概略的に示す図である。
【図５】ステップＳ１４の処理内容を概略的に示す図である。
【図６】ステップＳ１６において生成される二次元画像の一例を示す図である。
【符号の説明】
【００３９】
１０…ＣＰＵ
１１…システムメモリ
１２…記憶媒体
１３…ブートロム
１４…バスアービタ
１５…ジオメトリプロセッサ
１６…レンダリングプロセッサ
１７…グラフィックメモリ
１８…オーディオプロセッサ
１９…オーディオメモリ
２０…通信インタフェース（Ｉ／Ｆ）
２１…ペリフェラルインターフェース
【図１】
2007328459.tif 000003
【図２】
2007328459.tif 000004
【図３】
2007328459.tif 000005
【図４】
2007328459.tif 000006
【図５】
2007328459.tif 000007
【図６】
2007328459.tif 000008