(57)【要約】【課題】３次元コンピュータグラフィックス画像の生成処理の負荷を減らしフレームレートを改善させる方法として、従来、視点からの距離が遠い描画対象オブジェクトはスクリーン画面上に占める大きさが一般的に小さくなることから、このような描画対象オブジェクトに対してはポリゴン数の少ない簡略モデルを用いる方法が提案されている。しかし、この方法では、同一の描画対象オブジェクト内のポリゴンに対しては一様に光源処理を行うため、計算負荷削減効果が不十分であり、さらなる計算負荷削減方法を必要とした。【解決手段】描画対象オブジェクトを表すモデルに含まれるポリゴンの各頂点に設定された頂点処理優先度と前記ポリゴンの各頂点と視点との距離とで光源計算式を選択する光源計算式選択手段と、前記光源計算式選択手段で選択された光源計算式に基づいて光源計算処理を行う光源処理手段とを備えた。【選択図】図１
2006190135.tif 000002
【特許請求の範囲】
【請求項１】
３次元コンピュータグラフィックス画像を描画する方法であって、描画対象オブジェクトを表すモデルに含まれるポリゴンの各頂点に設定された頂点処理優先度と前記ポリゴンの各頂点と視点との距離とで光源計算式を選択する光源計算式選択手段と、前記光源計算式選択手段で選択された光源計算式に基づいて光源計算処理を行う光源処理手段とを備えることを特徴とする画像生成方法。
【請求項２】
前記光源計算式選択手段は、前記頂点処理優先度と前記頂点と視点の距離とをキーとしたテーブル引きによって光源計算式を選択することを特徴とする、請求項１に記載の画像生成方法。
【請求項３】
前記光源計算式選択手段は、前記頂点処理優先度と前記頂点と視点の距離とをパラメータとした計算式の計算結果によって光源計算式を選択することを特徴とする、請求項１に記載の画像生成方法。
【請求項４】
前記光源計算式選択手段によって選択される光源計算式の候補に、すでに光源処理済みの他のポリゴン頂点の光源計算結果の一部もしくは全部を補間して光源処理結果を求める光源計算式が含まれることを特徴とする、請求項１に記載の画像生成方法。
【請求項５】
前記光源計算式選択手段によって選択される光源計算式の候補に、他の光源計算式の一部を省略した光源計算式が含まれることを特徴とする、請求項１に記載の画像生成方法。
【請求項６】
前記頂点処理優先度を設定する頂点処理優先度決定手段を備えることを特徴とする、請求項１に記載の画像生成方法。
【請求項７】
ポリゴンを細分割するポリゴン細分割手段と、前記ポリゴンの内部に現れるポリゴン頂点に対して細分割の処理で現れたポリゴン頂点の順番に高い前記頂点処理優先度を設定する頂点処理優先度決定手段とを備えることを特徴とする、請求項１に記載の画像生成方法。
【請求項８】
３次元コンピュータグラフィックス画像を描画する方法であって、描画対象オブジェクトを表すモデルに含まれるポリゴンの各頂点に設定された頂点処理優先度と前記ポリゴンの各頂点と視点との距離とで光源計算式を選択する光源計算式選択手段と、前記光源計算式選択手段で選択された光源計算式に基づいて光源計算処理を行う光源処理手段とを備えることを特徴とする画像生成方法を情報処理装置で実行させるためのプログラム。
【請求項９】
３次元コンピュータグラフィックス画像を描画する装置であって、描画対象オブジェクトを表すモデルに含まれるポリゴンの各頂点に設定された頂点処理優先度と前記ポリゴンの各頂点と視点との距離とで光源計算式を選択する光源計算式選択部と、前記光源計算式選択部で選択された光源計算式に基づいて光源計算処理を行う光源処理部とを備えることを特徴とする画像生成装置。
【請求項１０】
３次元コンピュータグラフィックス画像を描画する装置の集積回路であって、描画対象オブジェクトを表すモデルに含まれるポリゴンの各頂点に設定された頂点処理優先度と前記ポリゴンの各頂点と視点との距離とで光源計算式を選択する光源計算式選択部と、前記光源計算式選択部で選択された光源計算式に基づいて光源計算処理を行う光源処理部とを備えることを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィックス技術に関し、３次元コンピュータグラフィックス画像を生成する画像生成方法および画像生成装置に関するものである。
【背景技術】
【０００２】
コンピュータの内部で表現された３次元空間上の描画対象オブジェクトをディスプレイに表示するためには、描画対象オブジェクトに対して光源処理を行い、２次元平面（スクリーン画面）上に投影する必要がある。通常、光源処理はすべての描画対象オブジェクトに対して一様に行うため、描画対象オブジェクトや描画対象オブジェクトのモデルに含まれるポリゴン数が多くなった場合、光源処理に対する計算負荷が非常に大きくなってしまうという問題があった。
【０００３】
この問題に対し、従来からよく用いられる計算負荷を軽減する方法として、下記非特許文献１に記載されたＬＯＤ（Ｌｅｖｅｌ  Ｏｆ  Ｄｅｔａｉｌ）が知られている。ＬＯＤは、視点からの距離が遠い描画対象オブジェクトはスクリーン画面上に占める大きさが一般的に小さくなり荒さが目立たなくなることから、このような描画対象オブジェクトに対してはポリゴン数の少ない簡略モデルを用いることで、光源処理すべきポリゴンの数を減らし計算負荷を軽減する方法である。ＬＯＤでは、あらかじめ１つの描画対象オブジェクトに対して、ポリゴン数の異なる複数のモデルを用意しておく。描画対象オブジェクトの描画処理時に視点と描画対象オブジェクトとの距離を求め、この距離に応じて実際の描画に使用するモデルを選択する。図８はＬＯＤの例を示す図である。図８の視点８０１と描画対象オブジェクトとの距離が近い場合は、多くの細かいポリゴンから構成された滑らかな詳細モデル８０２を用いる。また、視点８０１と描画対象オブジェクトとの距離がやや遠い場合は、比較的ポリゴン数の少ない通常モデル８０３を用いる。視点８０１と描画対象オブジェクトとの距離が遠い場合は、ポリゴン数の少ない簡略モデル８０４を用いる。このように描画対象オブジェクトが視点から遠ざかっていくにしたがってポリゴン数の少ないモデルに置き換えていくことで、スクリーン画面上に占める面積の小さい遠くにある描画対象オブジェクトの計算負荷を削減することができる。
【非特許文献１】明解３次元コンピュータグラフィックス（初版）  荒屋真二著  共立出版（第５６頁）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記ＬＯＤによる計算負荷削減方法は、描画対象オブジェクト毎に光源処理対象となるポリゴン数を変化させることが可能であるが、同一の描画対象オブジェクト内のポリゴンに対しては一様に光源処理を行うため、上記ＬＯＤによる方法のみでは近年の３次元コンピュータグラフィックス処理への要求に対して計算負荷削減効果が不十分であり、さらなる計算負荷削減方法を必要とした。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明では以下の手段を講じた。すなわち、３次元コンピュータグラフィックス画像を描画する方法において、描画対象オブジェクトを表すモデルに含まれるポリゴンの各頂点に設定された頂点処理優先度と前記ポリゴンの各頂点と視点との距離とで光源計算式を選択する光源計算式選択手段と、前記光源計算式選択手段で選択された光源計算式に基づいて光源計算処理を行う光源処理手段とを備えた。
【発明の効果】
【０００６】
本発明によれば、前記頂点処理優先度と前記頂点と視点との距離に応じてポリゴンの各頂点の光源計算式を変化させることで、視点の近くに存在し前記頂点処理優先度が高い頂点については詳細な光源計算式を用いた光源処理を行い、視点から遠くに存在し前記頂点処理優先度が低い頂点については簡略化した光源計算式を用いた光源処理を行うことができるため、各ポリゴン頂点の光源処理による計算負荷を低減し、３次元コンピュータグラフィックス画像の生成処理を高速化、フレームレートを改善させることができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【０００８】
図１は本発明の実施の形態における画像生成装置構成例を示す図である。本実施の形態における画像生成装置は、集積回路として実現され、ＬＳＩ１０１に含まれる、ＣＰＵ１０２、グラフィックスエンジン１０３、メモリコントローラ１０４、ディスプレイコントローラ１０５、ＣＰＵバス１０６、メモリバス１０７、メモリ１０８から構成される。ＬＳＩ１０１では、ＣＰＵ１０２の指示をＣＰＵバス１０６を介してグラフィックスエンジン１０３へ伝え、グラフィックスエンジン１０３では画像生成処理を行い、結果はメモリバス１０７、メモリコントローラ１０４を介してメモリ１０８に格納する。メモリ１０８に格納された処理結果は、ディスプレイコントローラ１０５を介してディスプレイ１０９へと出力される。なお、本実施の形態で説明した図１のＬＳＩ１０１のＣＰＵ１０２、グラフィックスエンジン１０３などの各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部または全部を含むように１チップ化されても良い。また、ＬＳＩ１０１には、ＡＶエンジンやストリーミングエンジンなど他の機能ブロックが含まれていても良い。さらに、メモリ１０８はＬＳＩ１０１内部、外部を問わず複数個搭載されていても良い。
【０００９】
図２は本実施の形態におけるグラフィックスエンジン１０３の内部構成例を表す図である。グラフィックスエンジン１０３は、ホストインターフェース２０１、制御部２０２、ポリゴン細分割部２０３、頂点処理優先度決定部２０４、頂点座標計算部２０５、光源計算式選択部２０６、光源処理部２０７、セットアップ処理部２０８、ピクセル処理部２０９、メモリインターフェース２１０から構成される。グラフィックスエンジン１０３の処理はＣＰＵ１０２の指示をホストインターフェース２０１を介して受け取り、メモリ１０８のデータをメモリコメモリインターフェース２１０を介してロードし、制御部２０２の制御によって画像生成処理を行う。グラフィックスエンジン１０３で行われる画像生成処理は図３の処理フローにしたがって行われる。
【００１０】
図３の処理フローは、ポリゴン細分割フェーズ３０１、頂点処理優先度決定フェーズ３０２、頂点座標計算フェーズ３０３、光源計算式選択フェーズ３０４、光源処理フェーズ３０５、セットアップ処理フェーズ３０６、ピクセル処理フェーズ３０７から構成される。本実施の形態における画像生成処理は、ポリゴン細分割部２０３がポリゴン細分割フェーズ３０１、頂点処理優先度決定部２０４が頂点処理優先度決定フェーズ３０２、頂点座標計算部２０５が頂点座標計算フェーズ３０３、光源計算式選択部２０６が光源計算式選択フェーズ３０４、光源処理部２０７が光源処理フェーズ３０５、セットアップ処理部２０８がセットアップ処理フェーズ３０６、ピクセル処理部２０９がピクセル処理フェーズ３０７をそれぞれ実行し、生成画像をメモリインターフェース２１０を介してメモリ１０８に格納する。なお、グラフィックスエンジン１０３の構成は本実施例に記載したものに限定されるものではない。例えば、ポリゴン分割部２０３、頂点処理優先度決定部２０４は省略されても良く、また、ポリゴン細分割部２０３、頂点処理優先度決定部２０４、頂点座標計算部２０５、光源計算式選択部２０６、光源処理部２０７、セットアップ処理部２０８、ピクセル処理部２０９の一部の処理がＣＰＵ１０２やそれに類するもので実現されても良い。
【００１１】
なお、本実施の形態では、画像生成装置を実現する集積回路をＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。以上が本実施例における画像生成装置の構成についての説明である。
【００１２】
以下では、グラフィックスエンジン１０３で行われる図３の処理フローの詳細について説明する。
【００１３】
まず、本発明を適用するために、モデルに含まれるポリゴンの各頂点に対して頂点処理優先度を設定する。頂点処理優先度は光源処理で用いる光源計算式を決定するための１つの要因となるパラメータであり、もう１つの要因である視点とポリゴン頂点間の距離にも依存するが、頂点処理優先度が高ければそのポリゴン頂点に対する光源処理では詳細な光源計算式が適用される場合が多くなり、頂点処理優先度が低ければそのポリゴン頂点に対する光源処理では簡略化した光源計算式が適用される場合が多くなる。
【００１４】
本実施の形態では、頂点処理優先度はＡ（最優先）、Ｂ（優先度高）、Ｃ（優先度中）、Ｄ（優先度低）として設定するものとする。頂点処理優先度の決定方法としては、（１）画像生成処理を行う前（図３の処理フローに入る前）に、モデル作成者が設定する、（２）モデルデータの入力時に各ポリゴン頂点に自動的に付与する、（３）細分割のための情報、手段を含むポリゴンの細分割時に自動的に付与する、などが例として挙げられる。
【００１５】
（１）の方法は、モデル作成者がモデルを作成する際に、モデルに含まれる各ポリゴン頂点に対して頂点処理優先度を属性として設定する。この場合、ポリゴン細分割フェーズ３０１、頂点処理優先度決定フェーズ３０２を省略し、頂点座標計算フェーズ３０３から処理を開始する。（２）の方法は、モデルに含まれる各ポリゴン頂点に対して、頂点処理優先度決定フェーズ３０２において頂点処理優先度を属性として設定する。頂点処理優先度決定方法としては例えば、モデルを包含する長方体（バウンダリボックス）の各平面に最も近い頂点から順に高い頂点処理優先度を割り当てていくという方法などが挙げられる。この場合、ポリゴン細分割フェーズ３０１を省略し、頂点処理優先度決定フェーズ３０２から処理を開始する。（３）の方法は、ポリゴン細分割フェーズ３０１のポリゴンの細分割の過程で現れるポリゴン頂点に対して、頂点処理優先度決定フェーズ３０２において頂点処理優先度を属性として設定する。
【００１６】
（３）の方法についての頂点処理優先度決定方法を図４を用いて説明する。（３−１）細分割前のポリゴンメッシュ４０１の頂点に対しては最大の頂点処理優先度（ここではＡ）を割り当てる。（３−２）ポリゴンを細分割し生成された新たなポリゴン（ポリゴンメッシュ４０２、４０３、４０４に含まれる細分割ポリゴンなど）の頂点には細分割前に存在していたポリゴン頂点よりも低い頂点処理優先度（ここではＢ、Ｃ、Ｄ）を割り当てる。（３−３）決められたポリゴン細分割の回数だけ（３−２）を繰り返す。なお、本実施の形態においては、頂点処理優先度をＡ、Ｂ、Ｃ、Ｄの４段階としたが、頂点処理優先度の数はこれに限定されるものではない。また、頂点処理優先度の決定方法も本実施例に記載した方法に限定されるものではない。
【００１７】
頂点座標計算フェーズ３０３では、各ポリゴン頂点の座標を視点を原点とした座標系（視点座標系）へと変換する。頂点座標変換は、３次元グラフィックス処理で用いられる一般的な手段により行うことができる。
【００１８】
光源計算式選択フェーズ３０４では、光源処理フェーズ３０５で用いる光源計算式を選択する。光源計算式は、頂点処理優先度決定フェーズ３０２までに設定された頂点処理優先度と、頂点座標計算フェーズ３０３において求めた視点座標系でのポリゴン頂点座標と視点座標との距離とから、光源処理フェーズ３０５で用いる光源計算式を決定する。光源計算式の決定方法としては、例えば頂点処理優先度とポリゴン頂点座標と視点座標との距離と、光源計算式の対応表から求める方法が考えられる。図５が対応表の一例である。本実施の形態では、図５の表を用いて光源計算式を（数３）、（数４）、（数５）から選択する。
【００１９】
【数１】
2006190135.tif 000003
【００２０】
【数２】
2006190135.tif 000004
【００２１】
【数３】
2006190135.tif 000005
【００２２】
【数４】
2006190135.tif 000006
【００２３】
【数５】
2006190135.tif 000007
【００２４】
ここで、（数３）は環境光を求める式（数１）と局所照明を求める式（数２）とからなる通常の光源計算式、（数４）は線形補間を用いた簡略化光源計算式、（数５）はコピーにより光源計算結果を求める簡略化光源計算式であり、頂点処理優先度とポリゴン頂点座標と視点座標との距離に応じてポリゴン頂点毎にそれぞれ光源計算式を選択する。なお、本実施例では選択されうる光源計算式は３つであったが、選択されうる光源計算式の数はこれに限定されるものではない。また、本実施例では光源計算式を図５に示した表を用いて選択したが、記載した方法に限定されるものではない。例えば、頂点処理優先度とポリゴン頂点座標と視点座標との距離とをパラメータとした計算式によって算出される値に光源計算式の候補を対応させる実現方法もありえる。また、本実施例で示した光源計算式は一例であり、他の光源計算式を用いても良い。さらに、簡略化した光源計算式についても本実施例で示したものには限らず、他の補間方法や光源計算の一部省略などを用いても良い。例えば（数１）の環境光の影響が（数２）の局所照明の影響よりもはるかに大きい場合は、簡略化した光源計算式として（数１）の計算式を用いることも考えられる。
【００２５】
光源処理フェーズ３０５では、光源計算式選択フェーズ３０４で選択された光源計算式を用いて光源処理を実行する。図６は視点からの距離に応じた各ポリゴン頂点の光源処理方法を表す図である。図６のポリゴンメッシュでは、視点に近いときは、全てのポリゴン頂点が詳細光源計算式（数３）によって光源処理が行われるが、視点から遠ざかるにしたがって簡略化光源計算式（数４）、（数５）による光源処理が行われるポリゴン頂点が現れるようになる。図７を用いてポリゴンストリップの光源処理方法について説明する。まず、ポリゴンストリップ７０１（ここではストリップとしたがファンでも良い）の中で（数３）を用いて光源処理を行うポリゴン頂点Ｖ０、Ｖ３、Ｖ６にまず先に光源処理を行う。３頂点の光源処理後、その間に存在するポリゴン頂点Ｖ２、Ｖ４について（数４）による光源処理を行う。このとき、先に求めた３頂点Ｖ０、Ｖ３、Ｖ６の光源処理の結果を線形補間に用いる。また、ポリゴン頂点Ｖ１、Ｖ５については、隣接頂点（例えば頂点Ｖ１に対しては頂点Ｖ０、頂点Ｖ５に対しては頂点Ｖ４）の光源処理結果を用いて（数５）による光源処理を行う。以上のように、各ポリゴン頂点によって異なる光源計算式を用いて光源処理を行う。ここで、処理単位となるポリゴンストリップ／ファンの中に（数３）を用いて光源処理を行うべきポリゴン頂点が３つ存在しなかった場合は、本来（数４）、（数５）を用いて光源処理を行うべきポリゴン頂点についても（数３）を用いた光源処理を行うことで対応することができる。
【００２６】
セットアップ処理フェーズ３０６では、光源処理が終了したポリゴンの各頂点の座標を画像表示装置の座標系へと変換し、座標およびカラー値、Ｚ値などのパラメータからポリゴンを囲む直線の傾き、カラー値やＺ値などのパラメータの変位を計算する。セットアップ処理は、３次元グラフィックス処理で用いられる一般的な手段により行うことができる。
【００２７】
ピクセル処理フェーズ３０７では、ポリゴンの各頂点の座標およびカラー値、Ｚ値などのパラメータからポリゴンを囲む直線の傾き、カラー値やＺ値などのパラメータの変位から表示デバイス上の各画素の座標およびカラー値、Ｚ値などのパラメータを補間して、画像表示装置に表示可能な生成画像を出力する。ピクセル処理は、３次元グラフィックス処理で用いられる一般的な手段により行うことができる。
【００２８】
以上のように、光源処理フェーズ３０５における光源計算式を処理対象のポリゴン頂点によって変化させることで、ポリゴン頂点処理における計算負荷を軽減することができる。また、上記ＬＯＤによる手法と併用することも可能であり、３次元コンピュータグラフィックス処理における計算負荷を大幅に軽減することができる。
【産業上の利用可能性】
【００２９】
本発明の画像生成方法および画像生成装置は、グラフィックス描画機能を搭載するさまざまな電子機器、例えば、携帯電話、ＰＤＡ、デジタルテレビ、カーナビゲーションシステム、家庭用ゲーム機、パーソナルコンピュータ等において用いることができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施の形態における画像生成装置構成例を表す図
【図２】本発明の実施の形態におけるグラフィックスエンジンの内部構成例を表す図
【図３】本発明の実施の形態における処理フローチャート
【図４】細分割を伴うポリゴンに対する頂点処理優先度決定方法を表す図
【図５】光源計算式の選択に用いる表を示す図
【図６】視点からの距離に応じた各ポリゴン頂点の光源処理方法を表す図
【図７】ポリゴンストリップにおける光源処理方法を説明するための図
【図８】従来のＬＯＤの例を示す図
【符号の説明】
【００３１】
１０１    グラフィックスエンジンを含むＬＳＩ
１０２    ＣＰＵ
１０３    グラフィックスエンジン
１０４    メモリコントローラ
１０５    ディスプレイコントローラ
１０６    ＣＰＵバス
１０７    メモリバス
１０８    メモリ
１０９    ディスプレイ
２０１    ホストインターフェース
２０２    制御部
２０３    ポリゴン細分割部
２０４    頂点処理優先度決定部
２０５    頂点座標計算部
２０６    光源計算式選択部
２０７    光源処理部
２０８    セットアップ処理部
２０９    ピクセル処理部
２１０    メモリインターフェース
３０１    ポリゴン細分割フェーズ
３０２    頂点処理優先度決定フェーズ
３０３    頂点座標計算フェーズ
３０４    光源計算式選択フェーズ
３０５    光源処理フェーズ
３０６    セットアップ処理フェーズ
３０７    ピクセル処理フェーズ
４０１    細分割前のポリゴンメッシュ
４０２    １回細分割したポリゴンメッシュ
４０３    ２回細分割したポリゴンメッシュ
４０４    ３回細分割したポリゴンメッシュ
６０１    視点の近くにあるポリゴン
６０２    視点から少し遠くにあるポリゴン
６０３    視点から遠くにあるポリゴン
６０４    視点からかなり遠くにあるポリゴン
７０１    ポリゴンストリップ
８０１    視点
８０２    詳細モデル
８０３    通常モデル
８０４    簡略モデル
【図１】
2006190135.tif 000008
【図２】
2006190135.tif 000009
【図３】
2006190135.tif 000010
【図４】
2006190135.tif 000011
【図５】
2006190135.tif 000012
【図６】
2006190135.tif 000013
【図７】
2006190135.tif 000014
【図８】
2006190135.tif 000015