(57)【要約】【課題】３次元の画像を、よりリアルに表現するための技術を提供する。【解決手段】仮想３次元空間内に存在するポリゴンの、頂点の位置及び色に関する情報を含むディスプレイリストに基づいて、ポリゴンの描画単位となる画素毎の、位置を示す情報及び色を示す情報を含む描画情報を生成するＤＤＡ部２０１と、描画情報に含まれる画素毎の位置を示す情報に基づいて、画素毎に、仮想３次元空間内の所定の点からの距離を算出する視点距離算出部２０２と、視点距離算出部２０２により算出された距離に基づいて、各画素の色を示す情報を書き換えることにより、描画情報を修正する調整部２０３と、修正された描画情報を所定のフレームメモリに出力するフレームメモリインタフェース部２０７と、を備えている画像処理装置を提供する。ポリゴンに、距離に応じた視覚効果を与えるようにする。【選択図】　　　図２
2004005452.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて描画する装置であって、
前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する距離算出手段と、
前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報を修正する調整手段と、を備える、
画像処理装置。
【請求項２】
前記仮想３次元空間内の前記所定の点が前記描画対象物を見るための視点であり、
前記調整手段が、前記視点からの前記距離に応じて前記描画情報を修正するように構成されている、
請求項１記載の画像処理装置。
【請求項３】
前記描画対象物の少なくとも一部がテクスチャを用いて表現されており、
前記調整手段は、前記所定の点からの前記距離に応じて前記テクスチャの解像度を決定し、決定した解像度のテクスチャに応じて前記描画情報を修正するように構成されている、
請求項１記載の画像処理装置。
【請求項４】
前記調整手段は、前記描画対象物を表示するためのテクスチャとして、前記距離に対応して異なる解像度が決められた複数のテクスチャを保持しており、これら複数のテクスチャから、前記距離に応じて１つを選択するように構成されている、
請求項３記載の画像処理装置。
【請求項５】
前記描画対象物の少なくとも一部に、前記描画対象物が表示されたときの見えにくさを調整するためのフォグが設定されており、
前記調整手段は、前記フォグがかけられる画素の前記距離に応じて、当該画素のフォグの濃度を決定し、決定したフォグの濃度に応じて前記描画情報を修正するように構成されている、
請求項１記載の画像処理装置。
【請求項６】
前記調整手段は、前記距離に応じて、前記画素毎の透明度を決定し、決定した透明度に応じて前記描画情報を修正するように構成される、
請求項１記載の画像処理装置。
【請求項７】
前記仮想３次元空間内の前記所定の点は、前記描画対象物に陰影付けを行う際の光源が位置する点であり、
前記調整手段は、前記描画対象物に、前記光源からの距離に応じて陰影付けを行い、その結果に応じて前記描画情報を修正するように構成されている、
請求項１記載の画像処理装置。
【請求項８】
前記描画対象物の少なくとも一部がテクスチャを用いて表現されており、
前記調整手段は、前記光源からの前記距離に応じて前記テクスチャの解像度を決定し、決定した解像度のテクスチャに応じて前記描画情報を修正するように構成されている、
請求項７記載の画像処理装置。
【請求項９】
前記描画対象物の頂点の位置及び色に関する情報に基づいて、前記描画対象物の画素毎の位置を示す情報及び前記色情報を含むものとして前記描画情報を生成する補間手段を更に備えており、
前記距離算出手段は、前記描画情報に含まれる前記位置を示す情報に基づいて、前記距離を算出するように構成されており、
前記調整手段は、前記描画情報に含まれる前記画素毎の前記色情報を前記距離に応じて修正するように構成されている、
請求項１記載の画像処理装置。
【請求項１０】
仮想３次元空間内に存在するポリゴンの、頂点の位置及び色に関する情報を含むディスプレイリストに基づいて、前記ポリゴンの描画単位となる画素毎の、位置を示す情報及び色を示す情報を含む描画情報を生成する補間手段と、
前記描画情報に含まれる前記画素毎の前記位置を示す情報に基づいて、前記画素毎に、前記仮想３次元空間内の所定の点からの距離を算出する距離算出手段と、
前記距離算出手段により算出された前記距離に基づいて、前記各画素の前記色を示す情報を書き換えることにより、前記描画情報を修正する調整手段と、
修正された描画情報を所定のフレームメモリに出力する手段と、を備えており、
前記ポリゴンに、前記距離に応じた視覚効果を与えるようにしたことを特徴とする、
画像処理装置。
【請求項１１】
仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の前記仮想３次元空間内における位置情報及び色情報を少なくとも含む描画情報を用いて描画する装置であって、
前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に、前記描画情報に含まれる前記位置情報に基づいて算出する距離算出手段と、
前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報に含まれる前記色情報を修正する調整手段と、を備える、
画像処理装置。
【請求項１２】
仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて所定のフレームメモリ上に描画する装置が、
前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する処理と、
算出した前記距離に応じて、前記画素毎に、前記描画情報を修正する処理とを実行することを特徴とする、
画像処理方法。
【請求項１３】
仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて所定のフレームメモリ上に描画するための半導体デバイスであって、
前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する距離算出手段と、
前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報を修正する調整手段と、を備えることを特徴とする、
半導体デバイス。
【請求項１４】
仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて、所定のフレームメモリ上に描画するコンピュータに、
前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する距離算出手段、
前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報を修正する調整手段、
を形成するためのコンピュータプログラム。
【請求項１５】
請求項１４に記載されたコンピュータプログラムを記録してなる、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理技術に関し、特に、３次元画像をコンピュータグラフィクスによって表現するための技術に関する。
【０００２】
【従来の技術】
コンピュータグラフィクスでは、画像をリアルに表現するために、様々な手法が用いられている。一例として、視点からの奥行き距離に応じて、仮想３次元空間内に存在する描画対象物の隠面消去を行う「Ｚバッファ法」と呼ばれる方法がある。
【０００３】
Ｚバッファ法において、例えば描画対象物を所定のディスプレイに表示する場合は、描画単位となる画素毎に、視点を含み且つ視線を法線とする平面（以下、「視点平面」という）からの距離（奥行き）であるＺ値に応じて表示する色が決められる。
具体的には、画素毎に、当該画素により描画される複数の描画対象物のうち、Ｚ値が最も小さい、すなわち最も視点平面に近いとされる描画対象物の色を設定することで隠面消去を行い、視点に最も近い描画対象物のみがディスプレイに表示されるようにする。
【０００４】
このような「Ｚバッファ法」を応用した例としては、「フォグ効果」を用いるものが知られている。「フォグ効果」は、Ｚ値に応じてフォグ（霧）の濃淡を決め、描画対象物の見えにくさを調整する際に用いられる。Ｚ値が大きいほど、すなわち視点平面から遠くに位置するものほどフォグを濃くすることにより、表示した際に描画対象物を見えにくくする。通常は、描画対象物を表示する画素毎に、描画対象物の色にフォグの色をブレンディングすることにより、フォグ効果を反映させた画素の色を決める。
例えば、描画対象物の所定の面にテクスチャをマッピングして、これにフォグ効果を用いるような場合、テクスチャのテクセルカラーに対してフォグカラーをブレンディングすることにより、フォグ効果を反映した色を決める。
これを式で表すと、下記のようになる。
Ｆ＝１−（（Ｚ値）−Ｚｍｉｎ）／（Ｚｍａｘ−Ｚｍｉｎ）
（画素の色）＝Ｆ＊（テクセルカラー）＋（１−Ｆ）＊（フォグカラー）
ここで、「Ｚｍａｘ」は、Ｚ値の最大値を示す。「Ｚｍｉｎ」は、Ｚ値の最小値を示す。
このように、Ｚ値の変化によって、画素の色が変化する。
【０００５】
「Ｚバッファ法」を応用した他の例としては、「ミップマッピング」がある。
「ミップマッピング」は、Ｚ値に応じて、テクスチャの解像度を表すＬＯＤ（Ｌｅｖｅｌ　Ｏｆ　Ｄｅｔａｉｌ）レベルを変化させ、テクスチャの解像度を決める方法である。具体的には、Ｚ値が大きいほど、すなわち視点から遠くに位置するものほど、ＬＯＤレベルが小さくなってテクスチャの解像度が低くなり、ぼやけて見えるようにする。
例えば、予めＺ値に応じて解像度を変えた複数のテクスチャを用意しておき、マッピングするテクスチャのＺ値が示されたときに、そのＺ値に応じた解像度のテクスチャを選択してマッピングするようにする。つまり、複数のテクスチャから、ＬＯＤレベルにより解像度を指定することにより、マッピングするテクスチャを選択する。
【０００６】
【発明が解決しようとする課題】
以上のように、Ｚ値というパラメータを用いることにより、描画対象物を見えにくくしたり、ぼやけるようにする等の視覚効果を与えることが、従来から行われている。
しかしながら、従来の手法において、Ｚ値は、各画素と視点平面との間の距離で表される。そのために、視点平面に平行となる面上では、「フォグ効果」、「ミップマッピング」等による視覚効果は同じものになる。
例えば、「フォグ効果」の場合、視点平面に平行な面にかけられるフォグの濃度は、一様になる。そのために、平行な面は、表示されたときに、面上のどの位置でも同じように見えにくくなる。
【０００７】
しかし、現実の世界では、視点平面に平行な面にかかるフォグの濃度は一様ではない。例えば、視点に最も近い面上の点は、その周辺部分よりもフォグが薄くなって、見えやすくなる。同様のことは、ミップマッピングにより、ぼやけて見えるように描画対象物を表示する場合にも言える。
このように、従来の手法では、現実とは違う画像を提供することになる。
【０００８】
本発明は、Ｚ値を用いて視覚効果が与えられた画像を、よりリアルに表すことができるようにするための技術を提供することを、主たる課題とする。
【０００９】
【課題を解決するための手段】
以上の課題を解決するため、本発明は、以下のような画像処理装置を提供する。
本発明の画像処理装置は、仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて描画する装置であって、前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する距離算出手段と、前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報を修正する調整手段と、を備えるものである。
例えば、前記仮想３次元空間内の前記所定の点が視点の場合、前記調整手段は、前記視点からの前記距離に応じて前記描画情報を修正するようになる。
「描画対象物」は、例えば、仮想３次元空間内の物体を表すオブジェクト、あるいはオブジェクトの所定の面を構成するポリゴン等の、３次元画像を構成するものである。
【００１０】
従来は、ポリゴンが視点平面に対して平行に位置する場合、ポリゴン上の各画素と視点平面との間の距離、すなわちＺ値は、全て等しくなる。このようなポリゴンにフォグをかけると、ポリゴンの全体に一様にフォグがかかることになる。しかし現実の世界では、視点平面に対して平行に位置する平板を目視する場合に、平板の最も視点に近い部分のフォグが最も薄くなり、視点から遠くになるにつれて、フォグが濃くなって平板が見えづらくなる。平板の中心が視点に最も近い場合には、中心はフォグが薄く、縁部に近くなるほどフォグが濃くなる。つまり、Ｚ値が等しい同じポリゴンでも、視点から見るとフォグのかかり方は一様ではなく、視点からの距離に応じてその濃淡に差がでる。
同様のことは、ミップマッピングのような、Ｚ値を用いて画像に視覚効果を与えるような手法全般にいえることであり、Ｚ値が等しくても視点からの距離が異なれば、視覚効果が変わってくる。
【００１１】
そこで、本発明は、視点のような仮想３次元空間内の所定の点からの距離に基づいて画素毎に色を修正するようにするのである。これにより、よりリアルな３次元画像を得ることができる。
つまり、本発明では、フォグ効果やミップマッピング等の視覚効果を与える手法において、よりリアルな画像を提供するために、画素と視点平面との間の距離であるＺ値に替えて、画素と所定の点（視点等）との間の距離に基づいて、視覚効果を与えるようにする。これにより、現実と同様に、例えば、視点平面に対して平行に位置する平板を目視する場合に、平板の最も視点に近い部分のフォグが最も薄くなり、視点から遠くになるにつれて、フォグが濃くなって見えづらくなる画像を得ることができる。
【００１２】
前記描画対象物の少なくとも一部がテクスチャを用いて表現されている場合には、前記調整手段を、前記所定の点からの前記距離に応じて前記テクスチャの解像度を決定し、決定した解像度のテクスチャに応じて前記描画情報を修正するように構成してもよい。例えば、前記調整手段が、前記描画対象物を表示するためのテクスチャとして、前記距離に対応して異なる解像度が決められた複数のテクスチャを保持しており、これら複数のテクスチャから、前記距離に応じて１つを選択するように構成する。そして、選択したテクスチャのテクセルカラーに応じて、描画情報を修正する。
前記描画対象物の少なくとも一部に、前記描画対象物が表示されたときの見えにくさを調整するためのフォグが表示されている場合には、前記調整手段を、前記フォグがかけられる画素の前記距離に応じて、当該画素のフォグの濃度を決定し、決定したフォグの濃度に応じて前記描画情報を修正するように構成してもよい。また、前記調整手段を、前記距離に応じて、前記画素毎の透明度を決定し、決定した透明度に応じて前記描画情報を修正するように構成してもよい。
【００１３】
前記仮想３次元空間内の前記所定の点が、前記描画対象物に陰影付けを行う際の光源が位置する点である場合には、前記調整手段を、前記描画対象物に、前記光源からの距離に応じて陰影付けを行い、その結果に応じて前記描画情報を修正するように構成してもよい。例えば、前記描画対象物の少なくとも一部がテクスチャを用いて表現されている場合には、前記調整手段を、前記光源からの前記距離に応じて前記テクスチャの解像度を決定し、決定した解像度のテクスチャに応じて前記描画情報を修正するように構成してもよい。そして、選択したテクスチャのテクセルカラーに応じて、描画情報を修正する。
【００１４】
上記のような本発明の画像処理装置は、前記描画対象物の頂点の位置及び色に関する情報に基づいて、前記描画対象物の画素毎の位置を示す情報及び前記色情報を含むものとして前記描画情報を生成する補間手段を更に備えるようにしてもよい。このような補間手段を設けると、前記距離算出手段は、前記描画情報に含まれる前記位置を示す情報に基づいて、前記距離を算出するように構成すればよく、また、前記調整手段は、前記描画情報に含まれる前記画素毎の前記色情報を前記距離に応じて修正するように構成すればよい。
【００１５】
本発明が提供する他の画像処理装置は、仮想３次元空間内に存在するポリゴンの、頂点の位置及び色に関する情報を含むディスプレイリストに基づいて、前記ポリゴンの描画単位となる画素毎の、位置を示す情報及び色を示す情報を含む描画情報を生成する補間手段と、前記描画情報に含まれる前記画素毎の前記位置を示す情報に基づいて、前記画素毎に、前記仮想３次元空間内の所定の点からの距離を算出する距離算出手段と、前記距離算出手段により算出された前記距離に基づいて、前記各画素の前記色を示す情報を書き換えることにより、前記描画情報を修正する調整手段と、修正された描画情報を所定のフレームメモリに出力する手段と、を備えており、前記ポリゴンに、前記距離に応じた視覚効果を与えるようにしたことを特徴とする。
【００１６】
本発明が提供する他の画像処理装置は、仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の前記仮想３次元空間内における位置情報及び色情報を少なくとも含む描画情報を用いて描画する装置であって、前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に、前記描画情報に含まれる前記位置情報に基づいて算出する距離算出手段と、前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報に含まれる前記色情報を修正する調整手段と、を備えるものである。
【００１７】
本発明は以下のような画像処理方法も提供する。
この画像処理方法は、仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて所定のフレームメモリ上に描画する装置（例えば、プログラムによって動作するコンピュータ）が、前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する処理と、算出した前記距離に応じて、前記画素毎に、前記描画情報を修正する処理とを実行することを特徴とする。
【００１８】
本発明は以下のような半導体デバイスも提供する。
この半導体デバイスは、仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて、所定のフレームメモリ上に描画するための半導体デバイス（例えば、プログラムによって動作手順が規定されるプロセッサ）であって、前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する距離算出手段と、前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報を修正する調整手段と、を備えることを特徴とする。
【００１９】
また、上記課題は、以下のような本発明のコンピュータプログラムをコンピュータにより実行させることによっても解決することができる。
このコンピュータプログラムは、仮想３次元空間内に存在する描画対象物を、描画単位となる画素毎の色情報を少なくとも含む描画情報を用いて、所定のフレームメモリ上に描画する機能を有するコンピュータに、前記仮想３次元空間内の所定の点から前記描画対象物までの距離を、前記画素毎に算出する距離算出手段と、前記距離算出手段により算出された前記距離に応じて、前記画素毎に、前記描画情報を修正する調整手段と、を形成するためのコンピュータプログラムである。
【００２０】
【発明の実施の形態】
以下、本発明の実施形態を、図面を参照して詳細に説明する。
図１は、本発明を適用した画像処理装置１の構成例を示す図である。
この画像処理装置１は、ＣＤ−ＲＯＭ又はＤＶＤ−ＲＯＭなどのメディア１５に記録されたプログラム及びデータを読み込んで処理することにより、所定の表示装置に画像を表示させるとともに、スピーカ等から音声を出力させるようにしたものである。このような画像処理装置１は、例えば、画像処理機能を有する汎用のコンピュータ、ビデオゲーム装置、エンタテインメント装置等により実現される。本実施形態では、画像処理装置１がエンタテインメント装置であるものとして、以下の説明を行う。
【００２１】
この画像処理装置１は、ＣＰＵ１０と、ＲＡＭで構成されるメインメモリ１１と、ＤＭＡＣ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌｌｅｒ）１２と、ＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）デコーダ（ＭＤＥＣ）１３と、メディア１５を装着するためのメディアドライブ１４と、入力部１６と、ＢＩＯＳなどのプログラムが記憶されているＲＯＭ１７と、サウンドメモリ１９に蓄積された音データを読み出してオーディオ出力として出力する音声処理装置（ＳＰＵ（Ｓｏｕｎｄ　ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ））１８と、フレームメモリ２１を有する描画処理装置（Ｇｒａｐｈｉｃ　Ｓｙｎｔｈｅｓｉｚｅｒ、以下、「ＧＳ」）２０とを含んで構成される。これらは、バスＢを介して接続される。
ＧＳ２０には、ビデオ出力信号を生成するＣＲＴＣ（ＣＲＴ　Ｃｏｎｔｒｏｌｌｅｒ）２２が接続される。ビデオ出力信号は、ＮＴＳＣ（Ｎａｔｉｏｎａｌ　Ｔｅｌｅｖｉｓｉｏｎ　Ｓｔａｎｄａｒｄｓ　Ｃｏｍｍｉｔｔｅｅ）やＰＡＬ（Ｐｈａｓｅ　Ａｌｔｅｒｎａｔｉｏｎ　ｂｙ　Ｌｉｎｅ）などの規格に準拠して生成され、ＣＲＴＣ２２から所定の表示装置に出力されるようになっている。
【００２２】
ＣＰＵ１０は、画像処理装置１の起動時に、ＲＯＭ１７から起動プログラムを読み込み、その起動プログラムを実行してオペレーティングシステムを動作させる半導体デバイスである。また、メディアドライブ１４を制御するとともに、このメディアドライブ１４に装着されたメディア１５からアプリケーションプログラムやデータを読み出し、これをメインメモリ１１に記憶させる機能を有する。さらに、メディア１５から読み出した各種データ、例えば複数の基本図形（ポリゴン）で構成された３次元図形データ（ポリゴンの頂点の座標値など）に対して、座標変換や透視変換などのジオメトリ処理を行い、そして、ジオメトリ処理によるポリゴン定義情報（使用するポリゴンの頂点及び重心についての、位置、色、テクスチャ座標、ＬＯＤレベル、フォグカラー、等の指定）をその内容とするディスプレイリストを生成する機能も有している。
【００２３】
ＧＳ２０は、ＣＰＵ１０から通知されるディスプレイリストを用いてレンダリング処理を行い、フレームメモリ２１にポリゴンを描画する機能を有する半導体デバイスである。フレームメモリ２１は、これをテクスチャメモリとしても使用できる。そのため、フレームメモリ２１上のピクセルイメージをテクスチャとして、描画するポリゴンに貼り付けることができる。
【００２４】
ＳＰＵ１８は、サウンドメモリ１９から読み出した音データを合成してオーディオ出力信号を生成する半導体デバイスである。ＤＭＡＣ１２は、バスＢに接続されている各回路を対象としてＤＭＡ転送制御を行う半導体デバイスであり、ＭＤＥＣ１３は、ＣＰＵ１０と並列に動作し、ＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　ＥｘｐｅｒｔｓＧｒｏｕｐ）方式あるいはＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）方式等で圧縮されたデータを伸張する機能を有する半導体デバイスである。
【００２５】
入力部１６は、操作装置２４からの入力信号が入力される接続端子２３を備えるものである。操作装置２４には、複数の操作ボタンが設けられており、操作者がこれらの操作ボタンを種々多様に操作することにより、表示装置に表示される物体を移動、変形させることができるようになっている。操作装置２４には、例えば、キーボード、マウス、ゲーム装置のコントローラ等を用いることができる。
【００２６】
以上のような本実施形態の画像処理装置１には、ＧＳ２０が、ＲＯＭ１７及びメディア１５等の記録媒体から所要のコンピュータプログラムを読み込んで実行することにより、図２に示すような、本発明を実現するうえで必要な機能ブロック、即ち、ＤＤＡ（Ｄｉｇｉｔａｌ　Ｄｉｆｆｅｒｅｎｔｉａｌ　Ａｎａｌｙｚｅｒ）部２０１、視点距離算出部２０２、調整部２０３、フレームメモリインタフェース部２０７が形成される。
調整部２０３は、テクスチャマッピング部２０４、フォギング部２０５及びαブレンディング部２０６を含んでいる。
【００２７】
ＤＤＡ部２０１は、ＣＰＵ１０から通知されるディスプレイリストに基づいて、画素毎の、Ｘ座標値、Ｙ座標値、Ｚ値、色、テクスチャ座標、フォグカラー等の情報を含む描画情報を作成するものである。ディスプレイリストのポリゴン定義情報には、通常、ポリゴンの頂点、重心について、その位置、色、テクスチャ座標等の描画に必要な情報が含まれている。そのために、ポリゴンをフレームメモリ２１に描画する際には、ポリゴンの頂点、重心以外の、ポリゴン上の各画素について描画に必要な情報を補間する必要がある。ＤＤＡ部２０１では、そのような補間を行い、その結果を描画情報として視点距離算出部２０２及び調整部２０３へ送る。描画情報は、１画面分の画素の情報でもよく、１走査線分、或いは１画素分の情報でもよい。
【００２８】
視点距離算出部２０２は、ＤＤＡ部２０１から送られた描画情報に含まれる各画素のＸ座標値、Ｙ座標値及びＺ値に基づいて、画素毎に視点からの距離ｒを求める。図３は、距離ｒを説明するための図である。この図では、距離ｒを求める対象の画素ａを含むポリゴンが、点線で示される視点平面に対して平行に位置している。視点に最も近いポリゴン上の画素を画素ｂとしている。
【００２９】
視点距離算出部２０２は、例えば、仮想３次元空間内の描画対象物を視点からの画像に変換する際に用いられる視点の座標（以下、「視点座標」という）と画素ａのＸ座標値、Ｙ座標値、Ｚ値とを用いて距離ｒを算出する。視点座標は、例えば、ディスプレイリストに含まれて、ＣＰＵ１０から直接、或いはＤＤＡ部２０１を介して視点距離算出部２０２に送ることができる。
【００３０】
視点距離算出部２０２は、図３に示すようにポリゴンと視点平面が平行に位置する場合には、画素ａのＸ座標値、Ｙ座標値、Ｚ値と、画素ｂのＸ座標値、Ｙ座標値、Ｚ値とから距離ｒを算出するようにしてもよい。画素ｂは、視点からの視線がポリゴンの面に垂直に交わる点を示す画素である。そのために、画素ｂの視点からの距離はＺ値に等しい。画素ａと画素ｂとの間の距離は、互いのＸ座標値及びＹ座標値から求めることができるので、視点から画素ａまでの距離ｒをＺ値と画素ａと画素ｂとの間の距離から求めることができる。
視点距離算出部２０２は、算出した画素毎の距離ｒを調整部２０３へ送る。
【００３１】
調整部２０３は、視点距離算出部２０２により算出された距離ｒに基づいて、ＤＤＡ部２０１から送られた描画情報を修正することにより、最終的に表示装置に表示される画像に対して所定の視覚効果を与える。本実施形態では、テクスチャマッピング部２０４、フォギング部２０５及びαブレンディング部２０６により、画素毎に描画情報を修正して視覚効果を与えるようにする。
【００３２】
テクスチャマッピング部２０４は、視点距離算出部２０２から送られる各画素の視点からの距離ｒに応じて、ミップマッピングを行う。テクスチャマッピング部２０４は、ＤＤＡ部２０１から送られた描画情報に含まれる各画素のテクスチャ座標と、各画素の視点からの距離ｒとから、マッピングするテクスチャの解像度を決める。そして、該当するテクスチャのテクセルカラーを、該当する画素の色とする。各画素の色（テクセルカラー）は、フォギング部２０５、αブレンディング部２０６へ通知される。
【００３３】
テクスチャの解像度を決めるためのＬＯＤレベルは、以下の式により求められる。
ＬＯＤ＝ｌｏｇ＿２　（１／Ｑ）　＋Ｋ
ＫによりＬＯＤレベル０の位置を設定する。Ｑは透視変換の除数Ｗを使って、Ｑ＝１／Ｗ、と定義される。さらに、Ｗは、Ｚ値および距離ｒにより、Ｗ＝（Ｚ値）／ｒ、で表される。従って、上記の式は、以下のように変形される。
ＬＯＤ＝ｌｏｇ＿２（（Ｚ値）／ｒ）　＋Ｋ
このＬＯＤレベルにより、テクスチャの解像度が決まり、該当するテクスチャが選択される。上記の式により、距離ｒが大きいほど、ＬＯＤレベルが小さくなり、テクスチャの解像度は低くなることがわかる。
【００３４】
テクスチャマッピング部２０４は、例えば、描画対象物を表示するためのテクスチャとして複数の異なる解像度のテクスチャを用意しており、ＬＯＤレベルによって、対応する解像度のテクスチャを選択するようになっている。
距離ｒに応じたミップマッピングにより、同じポリゴン上でも場所により異なる解像度のテクスチャをマッピングすることができるようになる。例えば、図３において、ポリゴン上の、視点に最も近い画素ｂが鮮明に表示され、視点から遠くなるにつれてぼやけるように表示される。これにより現実に近い画像を得ることができる。
【００３５】
フォギング部２０５は、視点距離算出部２０２から送られる各画素の視点からの距離ｒに応じて、画素毎にフォグの濃度を決め、これを画素の色に反映させる。
フォグの濃度を反映した画素の色は、ＤＤＡ部２０１から送られた描画情報に含まれるフォグカラーとテクスチャマッピング部２０４から通知される各画素のテクセルカラーとを用いて、例えば、以下の式により求めることができる。
ｒ＿ｎ＝１−（Ｚ値）／ｒ
（画素の色）＝（１−ｒ＿ｎ）＊（テクセルカラー）＋ｒ＿ｎ＊（フォグカラー）
なお、テクセルカラーが指定されない画素については、描画情報に該当画素の色を指定しておき、この色とフォグカラーとをブレンディングするようにしてもよい。
【００３６】
以上のような式によると、距離ｒがＺ値で表される図３の画素ｂでは、フォグカラーがまったくないテクセルカラーのみで画素の色が決まることになる。つまり、画素ｂには、フォグカラーの影響がまったくないテクセルカラーのみの色が決まる。そして、距離ｒが大きくなるとともにフォグカラーが濃くなって、フォグカラーがブレンディングされる量が増え、その効果が大きくなるという、自然に近い視覚効果を得ることができる。
なお、上記の式で所定の量のフォグカラーを予め画素の色に加算するようにしてもよい。このようにすると、例えば、１つのポリゴン全体にフォグがかかり、その中でフォグの濃淡を表現できるようになる。
フォギング部２０５は、以上のような式により算出した画素の色を、ＤＤＡ部２０１から送られた描画情報に反映させる。描画情報はフレームメモリインタフェース部２０７へ送られる。
【００３７】
αブレンディング部２０６は、視点距離算出部２０２から送られる各画素の視点からの距離ｒに応じて、画素毎の透過率を決め、これを画素の色に反映させる。
透過率を反映させた画素の色は、ＤＤＡ部２０１から送られた描画情報で指定される画素の色（ディスティネーションカラー）とテクスチャマッピング部２０４から通知される各画素のテクセルカラーとを用いて、例えば、以下の式により求めることができる。
ａ＿ｎ＝１−（Ｚ値）／ｒ
（画素の色）＝（１−ａ＿ｎ）＊（ディスティネーションカラー）＋ａ＿ｎ＊（テクセルカラー）
ａ＿ｎが透過率であり、αブレンディングされる割合いを決める。距離ｒが大きいほど、つまり視点から遠いほど、ブレンドされる割合が多くなり、不透明感が増す。
また、以下のような式でαブレンディングを行うようにしてもよい。
（画素の色）＝（ディスティネーションカラー）＊（１＋ａ＿ｎ）
（画素の色）＝（ディスティネーションカラー）＊（１−ａ＿ｎ）
これらの式では、ディスティネーションカラーに対して、明度の増加、減少が可能となる。これらの式により、αブレンディングを行う。
【００３８】
上記の式によると、視点に最も近い位置の透過率が高くなって透明度が高くなり、遠くなるにつれて透過率が低くなって透明度が低くなる。そのために、例えば、ガラスでできた曲面を持つ物体を自然に近い形で表現することができるようになる。
αブレンディング部２０６は、以上のような式により算出した画素の色を、ＤＤＡ部２０１から送られた描画情報に反映させる。描画情報はフレームメモリインタフェース部２０７へ送られる。
【００３９】
なお、フォギング部２０５で算出した画素の色をαブレンディング部２０６へ供給して、この画素の色をディスティネーションカラーとしてαブレンディングを行うようにしてもよい。逆に、αブレンディング部２０６で算出した画素の色をフォギング部２０５に供給し、この色とフォグカラーをブレンディングするようにしてもよい。
【００４０】
フレームメモリインタフェース部２０７は、調整部２０３により修正された描画情報をフレームメモリ２１に書き込む。これによりフレームメモリ２１には、調整部２０３により修正された描画情報に基づく画像の描画が行われる。
フレームメモリ２１に描画された画像は、ＣＲＴＣ２２によりビデオ出力信号に変換されて、表示装置に出力されることにより表示される。
【００４１】
なお、上記の説明では、調整部２０３が、テクスチャマッピング部２０４、フォギング部２０５、αブレンディング部２０６を備えるようにしたが、これらは、いずれか１つ、或いは２つでもよい。例えば、テクスチャマッピング部２０４で決めた画素毎のテクセルカラーをそのまま画素の色として、描画情報に含まれる各画素の色を修正するようにしてもよい。また、他の、画像に対して視覚効果を与える機能を追加するようにしてもよい。
つまり、調整部２０３は、画像に対してどのような視覚効果を与えるかにより、適宜、その視覚効果を与えるのに適した機能を実現できるように構成すればよい。
【００４２】
このような画像処理装置１による画像処理の手順について、図４を用いて説明する。図４は、画像処理装置１による画像処理のうち、ＧＳ２０の動作についての手順を表したものである。つまり、図４に示す手順の前に、ＣＰＵ１０によりジオメトリ処理などの必要な処理が終了しており、所定の描画対象物を描画するためのディスプレイリストがＣＰＵ１０により作成されている。
【００４３】
ＧＳ２０は、ＣＰＵ１０により作成されたディスプレイリストを取得すると（ステップＳ１０）、ＤＤＡ部２０１により、取得したディスプレイリストに基づいて、各画素のＸ座標値、Ｙ座標値、Ｚ値、テクセルカラー、ＬＯＤレベル、フォグカラーなどの情報を含む描画情報を作成する（ステップＳ１１）。作成された描画情報は、ＤＤＡ部２０１から視点距離算出部２０２及び調整部２０３へ送られる。
【００４４】
視点距離算出部２０２は、ＤＤＡ部２０１から送られる描画情報に含まれる各画素のＸ座標値、Ｙ座標値及びＺ値から、画素毎に、視点との間の距離ｒを算出する（ステップＳ１２）。算出された各画素と視点との間の距離は、調整部２０３へ送られる。
【００４５】
調整部２０３は、視点距離算出部２０２から送られた各画素と視点との間の距離に応じて、描画情報に含まれる各画素の色を修正して、画素毎の視覚効果に反映させる（ステップＳ１３）。具体的には、調整部２０３は、テクスチャマッピング部２０４、フォギング部２０５及びαブレンディング部２０６により、各画素と視点との距離に応じたミップマッピング、フォギング、αブレンディングを行い、描画情報の各画素の色を修正する。
【００４６】
テクスチャマッピング部２０４は、前述のように、画素毎に、視点との間の距離に応じてテクスチャの解像度を決める。距離が短いほど（視点に近いほど）テクスチャの解像度が高く精細な画像になるようにし、距離が長いほど（視点に遠いほど）テクスチャの解像度が低く粗い画像になるようにする。テクスチャにより画素毎のテクセルカラーが決まると、これをフォギング部２０５、αブレンディング部２０６に通知する。
【００４７】
フォギング部２０５は、前述のように、画素毎に、視点との間の距離に応じて、フォグの濃淡を決める。距離が短いほど（視点に近いほど）フォグが薄く、距離が長いほど（視点から遠いほど）フォグが濃くなるように、各画素についてのフォグの濃度を決める。そしてフォグの濃度に応じて画素の色を決める。
【００４８】
αブレンディング部２０６は、前述のように、画素毎に、視点との距離に応じて、透過率を決める。距離が短いほど（視点に近いほど）透明度が高く、距離が長いほど（視点から遠いほど）透明度が低くなるように、各画素について透過率を決める。そして透過率に応じて画素の色を決める。
【００４９】
各画素の色が修正された描画情報は、調整部２０３からフレームメモリインタフェース部２０７を介してフレームメモリ２１に書き込まれる（ステップＳ１４）。ＣＲＴＣ２２は、フレームメモリ２１に書き込まれた描画情報を、表示装置に応じたビデオ出力信号に変換して、表示装置に出力する（ステップ１５）。これにより表示装置には、画像が表示される。
【００５０】
以上のようにして表示される画像は、例えば図５に示すようなものとなる。
この画像は、視点平面に平行なポリゴンを表している。このポリゴンには、視点に最も近いポリゴン上の点を中心に、フォグの濃度が同じ領域、あるいはテクスチャの解像度が同じ領域が、同心円状に形成される。つまり、同一のポリゴン上で視点に最も近い部分が鮮明になり、視点から遠ざかるにつれて不鮮明になる画像になる。
【００５１】
このように視点からの距離に応じたミップマッピングを行うことにより、現実の世界で面を見るときのように、目に近い点が最も詳細に見え、遠くなるにつれてぼやけて見えるような画像を得ることができる。
また、フォグの濃度を視点からの距離に応じて決めることにより、現実の世界でそうであるように、視点に近い物ほど鮮明に見えるようになる。特に、水中のシーン等の、視点からの距離の影響が大きい場合などに、より現実に近い画像が得られるようになる。
また、αブレンディングに視点からの距離を用いることにより、距離に応じて透明度を変えることができる。例えば、透明な球状の物体の各位置の透明度は、視線と球面上の各位置の法線ベクトルとの成す角により決まる。視線と法線ベクトルとの成す角が９０度に近いほど、透明度が低くなる。ここで、視線と法線ベクトルとの成す角は、視点と球面状の点との間の距離に対応している。そのために、視点と球面状の点との間の距離に応じて透明度を変えることができ、自然な画像が得られるようになる。
【００５２】
以上、視点からの距離を考慮したいくつかの視覚効果の例について述べたが、視点のみならず、図６に示すように、光源からの距離を同様に扱うようにしてもよい。光源からの距離を考慮すると、例えば、同一のポリゴンについて、光源に最も近い部分の明度が高く、光源から離れるにつれて徐々に明度が低くなるような画像が得られる。これにより、現実に近い陰影の表現が可能になる。
例えば、ミップマッピングと同じ要領で、光源からの距離に応じて、明度の異なる複数のテクスチャを用意しておき、これらの中から適当なテクスチャを選択することにより、容易に光源からの距離を反映した陰影付けを行うことができるようになる。
【００５３】
【発明の効果】
以上の説明から明らかなように、本発明によれば、描画対象物を描画する際に、視点ないし光源からの距離に応じて画素毎に描画情報が修正されるので、描画対象物をよりリアルに表示することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した画像処理装置の全体構成図。
【図２】本実施形態によるＧＳの詳細な構成図。
【図３】視点と画素との間の距離を説明する図。
【図４】本実施形態による画像処理の手順を示す図。
【図５】視点からの距離による視覚効果の差を説明するための図。
【図６】光源からの距離による明度の差を説明するための図。
【符号の説明】
１　　　画像処理装置
１０　　ＣＰＵ
１１　　メインメモリ
１２　　ＤＭＡＣ
１３　　ＭＤＥＣ
１４　　メディアドライブ
１５　　メディア
１６　　入力部
１７　　ＲＯＭ
１８　　ＳＰＵ
１９　　サウンドメモリ
２０　　ＧＳ
２１　　フレームメモリ
２２　　ＣＲＴＣ
２３　　接続端子
２４　　操作装置
２０１　ＤＤＡ部
２０２　視点距離算出部
２０３　調整部
２０４　テクスチャマッピング部
２０５　フォギング部
２０６　αブレンディング部
２０７　フレームメモリインタフェース部
【図１】
2004005452.tif 000003
【図２】
2004005452.tif 000004
【図３】
2004005452.tif 000005
【図４】
2004005452.tif 000006
【図５】
2004005452.tif 000007
【図６】
2004005452.tif 000008