(57)【特許請求の範囲】
【請求項１】
画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第１評価部と、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第２評価部と、
前記画像シーケンスのｊ番目に位置する画像に含まれる少なくとも一部の領域について前記第１評価部および前記第２評価部によってそれぞれ得られる評価結果に基づいて、ｊ＋１番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部と、
を備えたことを特徴とする描画装置。
【請求項２】
請求項１に記載の描画装置において、
前記各画像の描画に用いられるシーンデータに含まれる少なくとも一つの図形の情報を、前記少なくとも一つの図形の表示画面における配置に基づいて、前記表示画面を区分して形成されるタイル毎にソートするソート部と、
入力されるシーンデータによって記述される図形の描画処理を行う描画部と、
前記決定部によって即時描画を適用する旨の決定がなされたときに、前記ソート部によるソート処理が行われる前のシーンデータを前記描画部に入力し、タイル型遅延描画を適用する旨の決定がなされたときに、前記ソート部によってソートされたシーンデータを前記描画部に入力する制御を行う制御部と、
を備えたことを特徴とする描画装置。
【請求項３】
請求項１または請求項２に記載の描画装置において、
前記第１評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の描画装置において、
前記第２評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるＺテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
【請求項５】
画像シーケンスに含まれる複数の画像を順次に描画する描画装置が、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、
前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、
前記画像シーケンスのｊ番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、ｊ＋１番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する、
ことを特徴とする描画方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、三次元グラフィックスを描画するための描画装置および方法に関する。
【背景技術】
【０００２】
三次元グラフィックスの描画手法の一つに、即時描画がある。即時描画は、個々の図形について、頂点情報から図形を作成する処理、表示されない図形を除去する処理、図形をラスタライズする処理を順次に実行する手法である。即時描画のラスタライズ処理は、３つの段階に分けられる。最初の段階では、図形を表すベクトルデータから画素対応のビットマップデータへの変換が行われる。次の段階で、図形の設定情報に基づいて、各画素の色を算出する処理が行われる。その後、各画素より手前に表示される画素があるか否かを判定するＺテスト処理と、このＺテストの結果に基づいて、表示されない画素を除去する処理が行われる。即時描画のラスタライズ処理の変形例として、各画素の画素データを生成する処理に先立って、Ｚテストに基づく画素除去処理が行われる場合もある。
【０００３】
三次元グラフィックスの別の描画手法に、タイル型遅延描画がある。タイル型遅延描画は、表示画面を複数のタイルに区切り、タイル毎にラスタライズ処理を行う手法である(非特許文献１参照)。タイル型遅延描画では、ラスタライズ処理に先立って、個々の図形の形状や配置が記述されたシーンデータをタイル毎にソートする処理が行われる。そして、ソートされたシーンデータに含まれる各図形の描画対象のタイルに配置される部分が、即時描画と同様の手順に従ってラスタライズ処理される。タイル型遅延描画では、個々の図形をタイルの境界で分割した部分ごとにラスタライズ処理することにより、タイルごとに描画処理を完了させている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“POWERVR MBX Technology Overview”2009, Imagination Technologies Ltd.[online] Imagination Technologies Ltd. 2009. [retrieved on 2010-12-24]. Retrieved from the Internet: <URL: www.imgtec.com/factsheets/SDK/PowerVR-%20Technology%20Overview.1.0.2e.External.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した即時描画を適用した描画装置には、１フレームに含まれる各画素の表示色を表す画像データを格納する画像データ格納部に加えて、Ｚテスト処理を実現するために、１フレーム分のデプスデータ格納部が設けられる。このデプスデータ格納部および画像データ格納部は、ＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)などの外部メモリを用いて実現される場合が多い。即時描画を適用した描画装置では、Ｚテスト処理とその結果に基づく画素除去処理の際に、デプスデータ格納部および画像データ格納部へのアクセスが発生する。そして、これらの外部メモリへのアクセス量が多くなると、描画処理に要する時間が長くなってしまう。
【０００６】
一方、タイル型遅延描画を適用した描画装置では、Ｚテスト処理や画素除去処理も、描画装置内部に設けた小規模の内部バッファを用いて実現することができる。そして、各タイルに含まれる各画素の最終的な画像データが画像データ格納部に書き込まれる。つまり、タイル型遅延描画では、描画処理の過程で画像データ格納部内の画像データが書き換えられることは無い。その一方、タイル型遅延描画では、ラスタライズ処理に加えて、シーンデータのソート処理が行われる。そして、ソートされたシーンデータは、上述した画像データ格納部とは別に設けられたソートデータ格納部に格納される。このため、１フレーム分のシーンデータをタイル毎にソートする処理に要する時間が長くなると、これが描画処理速度を制限する要因となってしまう。
【０００７】
上述したように、２つの描画手法にはそれぞれ一長一短がある。このため、描画対象の画像の特徴によって、即時描画を採用した方が描画処理を高速化できる場合と、タイル型遅延描画の採用によって高速化を図ることができる場合とがある。
【０００８】
本件開示は、複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮可能な描画装置および方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した目的は、以下に開示する描画装置および描画方法によって達成することができる。
【００１０】
一つの観点による描画装置は、画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第１評価部と、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第２評価部と、前記画像シーケンスのｊ番目に位置する画像に含まれる少なくとも一部の領域について前記第１評価部および前記第２評価部によってそれぞれ得られる評価結果に基づいて、ｊ＋１番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部とを有する。
【００１１】
また、もう一つの観点による描画方法は、画像シーケンスに含まれる複数の画像を順次に描画する描画装置が、前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、前記画像シーケンスのｊ番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、ｊ＋１番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する。
【発明の効果】
【００１２】
本件開示の描画装置および方法によれば、複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮可能である。
【図面の簡単な説明】
【００１３】
【図１】描画装置の一実施形態を示す図である。
【図２】シーンデータを説明する図である。
【図３】描画処理の一例を表す流れ図(その１)である。
【図４】描画処理の一例を表す流れ図(その２)である。
【図５】即時描画処理の一例を表す流れ図である。
【図６】Ｚテストによる除去画素と遅延レンダリングによる除去画素を説明する図である。
【図７】タイル型遅延描画処理の一例を表す流れ図である。
【図８】描画手法決定処理の一例を表す流れ図である。
【図９】描画装置の別実施形態を示す図である。
【図１０】描画装置の別実施形態を示す図である。
【図１１】領域分割の例を示す図である。
【図１２】描画処理の別例を表す流れ図（その１）である。
【図１３】描画処理の別例を表す流れ図（その２）である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
(実施形態１)
図１に、本件開示の描画装置の一実施形態を示す。
【００１５】
図１に示した描画装置１１０は、入力端子Ｄｉｎを介して入力される頂点データに基づいて、描画処理を行う。図１に示した外部メモリ１０１には、例えば、ＳＤＲＡＭなどが用いられる。この外部メモリ１０１には、シーンデータ格納部１０２、ソートデータ格納部１０３、画像データ格納部１０４およびデプスデータ格納部１０５が設けられている。
【００１６】
描画装置１１０に入力される頂点データは、読み込み部１１１によって読み込まれる。頂点データは、線分や三角形などのプリミティブそれぞれを規定する各頂点について、少なくとも３次元座標を示す情報を含む。また、頂点データは、各頂点の色やテクスチャ座標および法線等の設定情報を含むこともできる。
【００１７】
頂点処理部１１２は、読み込まれた頂点データで示される各頂点の３次元座標に基づいて、個々の頂点に対応する画素を特定する。頂点処理部１１２は、例えば、各頂点の３次元座標に含まれるＸ，Ｙ成分に基づいて、表示画面上の位置を特定することにより、対応する画素を特定することができる。また、頂点処理部１１２は、頂点データに含まれる設定情報に基づいて、頂点に対応する画素の表示に用いる画素データを生成する。
【００１８】
図形作成部１１３は、頂点処理部１１２で特定された複数の頂点に対応する画素の座標に基づいて、各プリミティブに対応する表示図形を表す図形情報を作成する。
【００１９】
図形除去部１１４は、図形作成部１１３によって作成された表示図形のうち、表示されないものを除去する処理を行う。図形除去部１１４は、例えば、頂点データで示された頂点座標の接続順序に基づいて、各プリミティブが表向きや裏向きかを判別することができる。そして、裏向きと判別されたプリミティブに対応する図形情報や表示画面の外に配置されるプリミティブに対応する図形情報は、図形除去部１１４によって除去される。
【００２０】
シーンデータ作成部１１５は、図形除去部１１４で除去されずに残された描画対象のプリミティブに対応する図形情報に基づいて、シーンデータを作成する処理を行う。シーンデータには、描画対象の各プリミティブに対応する図形情報が、例えば個々のプリミティブに付与された番号順に含まれている。シーンデータ作成部１１５は、各プリミティブに対応する図形情報に基づいて、個々のプリミティブに対応する表示図形の少なくとも一部が配置されるタイルを特定する。そして、これらのタイルを示すタイル番号を含む情報は、シーンデータ作成処理の過程で、対応する図形情報に付加される。
【００２１】
シーンデータ作成部１１５によって作成されるシーンデータは、決定部１２０からの指示に応じて、制御部１２１あるいは外部メモリ１０１に設けられたシーンデータ格納部１０２に出力される。
【００２２】
ソート部１１６は、シーンデータ格納部１０２に格納された１フレーム分のシーンデータに含まれる各図形情報を、タイルごとにソートする処理を行う。タイル毎にソートされたシーンデータには、各タイルの描画にかかわるプリミティブに対応する図形情報が含まれる。そして、各タイルに対応するソート済みのシーンデータは、例えば、表示画面におけるタイルの配置順に、外部メモリ１０１に設けられたソートデータ格納部１０３に格納される。
【００２３】
図２に、シーンデータを説明する図を示す。図２(ａ)に、描画対象のプリミティブ１，２とタイルとの関係を示す。また、図２(ｂ)に、ソート前のシーンデータの例を示す。図２(ｃ)に、タイル毎にソートされたシーンデータの例を示す。
【００２４】
図２(ａ)の例では、１６個の矩形のタイルに分割された表示画面に２つのプリミティブ(Ｐ１、Ｐ２)が配置されている。なお、図２(ａ)の例では、各タイルを識別するタイル番号を、個々のタイルを示す矩形の右肩に付して示した。
【００２５】
図２(ｂ)のソート前のシーンデータの例には、図２(ａ)に示したプリミティブＰ１の図形情報と、プリミティブＰ２の図形情報とが順に含まれている。一方、図２(ｃ)に示したソート済みのシーンデータの例には、各タイルに対応するソート済みのシーンデータが、タイル番号の順に含まれている。なお、図２(ａ)に示した例では、タイル１，２には、プリミティブＰ１の一部のみが配置されている。このため、タイル１、２に対応するソート済みのシーンデータには、プリミティブＰ１の図形情報が含まれる。同様に、タイル４，１３，１４には、プリミティブＰ２の一部のみが配置されているので、これらのタイルに対応するソート済みのシーンデータには、プリミティブＰ２の図形情報が含まれる。一方、タイル５−１１には、プリミティブＰ１，Ｐ２の双方の一部が含まれている。そして、これらのタイルに対応するソート済みのシーンデータには、プリミティブＰ１、Ｐ２両方の図形情報が含まれる。
【００２６】
図１に示した描画部１１７には、制御部１２１を介して、ソート前のシーンデータあるいはタイル毎にソートされたシーンデータのいずれかが入力される。この描画部１１７には、画素生成部１２２と、画素除去部１２３と内部バッファ１２４と画素処理部１２５とが設けられている。そして、この描画部１１７による描画処理には、決定部１２０からの指示に応じて、即時描画あるいはタイル型遅延描画が適用される。
【００２７】
決定部１２０は、第１評価部１１８による評価結果と第２評価部１１９による評価結果とに基づいて、例えば、次のフレームの描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する。第１評価部１１８は、各フレームの描画を行う際に、シーンデータ作成部１１５によって作成されるシーンデータ量Ｄｓを評価する。第２評価部１１９は、各フレームの描画を行う際に、画素除去部１２３から収集する情報に基づいて、描画結果の表示までに除去される画素の描画処理に関わる除去データ量Ｄｅを評価する。決定部１２０は、例えば、各フレームを描画するごとに、上述したシーンデータ量Ｄｓと除去データ量Ｄｅとを比較する。そして、比較結果に基づいて、決定部１２０により、描画部１１７によって次のフレームに適用される描画手法が決定される。
【００２８】
制御部１２１は、即時描画を適用する旨の決定に応じて、シーンデータ作成部１１５によって作成されるシーンデータをそのまま描画部１１７に入力する。一方、タイル型遅延描画を適用する旨が決定された場合に、制御部１２１は、ソートデータ格納部１０３に格納されたソート済みのシーンデータをタイル毎に描画部１１７に入力する。
【００２９】
次に、本件開示の描画装置により、動画像などの画像シーケンスに含まれる各フレームの３次元グラフィックスを描画する処理について説明する。
【００３０】
図３、図４に、描画処理の一例を表す流れ図を示す。図３、図４の例では、描画部１１７において適用される描画手法は、フレーム単位で決定される。なお、図３，４に示す流れ図は、同一の番号を付した端子によって接続されている。
【００３１】
画像シーケンスの最初のフレームについては、決定部１２０により、予め設定されたデフォルトの描画手法が描画部１１７に適用される(ステップ３０１)。デフォルトの描画手法は、即時描画でもよいし、タイル型遅延描画でもよい。
【００３２】
ステップ３０２において、読み込み部１１１によって読み込まれた頂点データに基づいて、頂点処理部１１２により、プリミティブの頂点に対応する画素の位置および画素データが生成される(ステップ３０３)。次いで、図形作成部１１３による図形生成処理(ステップ３０４)および図形除去部１１４による図形除去処理(ステップ３０５)が行われる。そして、描画されるプリミティブそれぞれを記述するシーンデータが、シーンデータ作成部１１５によって作成される(ステップ３０６)。
【００３３】
このとき、シーンデータ作成部１１５によって作成されるシーンデータに基づいて、図１の第１評価部１１８により、シーンデータ量を集計する処理が行われる(ステップ３０７)。第１評価部１１８は、例えば、シーンデータ作成部１１５によって作成されるシーンデータに基づいて、プリミティブの数とプリミティブが配置されるタイルの数を集計することができる。集計されるプリミティブ数とタイル数は、後述するシーンデータ量評価処理で用いられる。
【００３４】
次に、ステップ３０８で、読み込み中のフレームに適用される描画手法が判定される。読み込み中のフレームに即時描画が適用される場合に(ステップ３０８の肯定判定)、描画部１１７は、即時描画処理を実行する(ステップ３０９)。
【００３５】
図５に、即時描画処理の一例を表す流れ図を示す。図５に示すステップ３２１からステップ３２６の処理は、図４に示したステップ３１５に相当する。また、これらの処理は、例えば、図１に示した描画部１１７および第２評価部１１９によって実行される。
【００３６】
なお、即時描画処理の過程で、描画部１１７の画素除去部１２３および画素処理部１２４は、画像データ格納部１０４およびデプスデータ格納部１０５を利用して描画処理を実行する。
【００３７】
ステップ３２１で、画素生成部１２２は、制御部１２１を介して、シーンデータ作成部１１５で生成されたプリミティブ対応のシーンデータを読み込む。このステップ３２１で読み込まれるシーンデータによって記述されたプリミティブについて、画素生成部１２２は、画素生成処理を行う(ステップ３２２)。
【００３８】
生成された各画素について、画素除去部１２３は、デプスデータ格納部１０５に格納されたデプス値を用いたＺテストを行う。そして、ステップ３２２で生成された画素のうち、Ｚテストの結果、既に描画処理されたプリミティブのいずれかによって隠されることが判明した画素が除去される(ステップ３２３)。また、ステップ３２４では、第２評価部１１９により、ステップ３２３の画素除去処理で除去される画素数と、描画対象のプリミティブを描画することによって隠されることになる描画済みの画素数とがそれぞれ集計される。以下の説明では、前者をＺテストによる除去画素数と称する。また、後者を遅延レンダリングによる除去画素数と称する。
【００３９】
なお、Ｚテストによる除去画素数および遅延レンダリングによる除去画素数は、描画対象のプリミティブに含まれる各画素についてのＺテスト処理の過程で求めることができる。
【００４０】
図６に、Ｚテストによる除去画素および遅延レンダリングによる除去画素を説明する図を示す。図６の例では、デプス値１５のプリミティブＰ１とデプス値５のプリミティブＰ２が描画された後で、デプス値１０のプリミティブＰ３を描画する場合を示している。なお、図６の例では、プリミティブが重なり合っている領域Ａ１，Ａ２が、それぞれ太い破線で囲んで示されている。以下の説明では、デプス値の値が小さいほど、手前に表示される場合を例として説明する。
【００４１】
図１に示した画素除去部１２３は、描画対象のプリミティブＰ３に含まれる画素について、デプスデータ格納部１０５を参照する。図６に示す例では、描画対象のプリミティブＰ３と描画済みのプリミティブＰ２とは領域Ａ２で重なり合っている。そして、デプスデータ格納部１０５には、この領域Ａ２に含まれる各画素に対応して、描画対象のプリミティブＰ３のデプス値よりも小さいデプス値が既に格納されている。この場合に、プリミティブＰ３に含まれる画素のうち、この領域Ａ２に含まれる画素は、描画済みのプリミティブＰ２によって隠されるので除去される。したがって、領域Ａ２に含まれる画素は、Ｚテストによる除去画素となる。一方、図６に示す例では、描画対象のプリミティブＰ３と既に描画されたプリミティブＰ１とは領域Ａ１で重なり合っている。そして、この領域Ａ１に含まれる各画素に対応してデプスデータ格納部１０５に格納されているデプス値は、描画対象のプリミティブＰ３のデプス値よりも大きい。この場合に、プリミティブＰ３を描画することにより、既に描画されていたプリミティブＰ１のうち上述した領域Ａ１に含まれる画素が除去される。したがって、この領域Ａ１に含まれる画素は、遅延レンダリングによる除去画素となる。第２評価部１１９は、例えば、画素除去部１２３から描画済みのプリミティブと重複している領域の画素数及びＺテストで除去される画素数とを受け取ることができる。そして、これらの情報から、遅延レンダリングによる除去画素数を求めることができる。
【００４２】
図５のステップ３２５では、画素処理部１２５により、プリミティブに対応する画素のうちＺテストで除去されなかった描画対象の画素について、表示色などを表す画素データが生成される。画素処理部１２５によって生成された画素データは、ステップ３２６で画像データ格納部１０４に出力される。なお、このとき、画素データが画像データ格納部１０４に出力された各画素に対応するデプス値も、デプスデータ格納部１０５に出力される。
【００４３】
このようにして、読み込んだシーンデータによって記述された単一のプリミティブを描画するための各画素の画素データおよびデプス値の出力が完了したときに、即時描画処理は終了する。そして、処理は、図３に示されるステップ３１１に進む。
【００４４】
一方、描画対象のフレームの描画手法としてタイル型遅延描画が採用されている場合は、ステップ３０８の否定判定となる。この場合に、シーンデータ作成部１１５で作成されたシーンデータは、描画部１１７に渡される代わりに、外部メモリ１０１のシーンデータ格納部１０２に格納される(ステップ３１０)。その後、処理は、ステップ３１１に進む。
【００４５】
ステップ３１１では、１フレーム分の頂点データの読み込みが完了したか否かが判定される。まだ読み込み済みでない頂点データがある場合に(ステップ３１１の否定判定)、処理は、ステップ３０２に戻って、新たな頂点データの読み込みが行われる。そして、新たな頂点データに基づくシーンデータの作成処理およびこのシーンデータに基づく即時描画処理あるいはシーンデータを外部メモリ１０１に出力する処理が行われる。ステップ３０２からステップ３１１の処理を繰り返して実行することにより、１フレーム分の頂点データについての処理が完了したときに(ステップ３１１の肯定判定)、処理は、ステップ３１２に進む。
【００４６】
ステップ３１２では、シーンデータ量を評価する処理が、第１評価部１１８によって行われる。第１評価部１１８は、１フレーム分の頂点データを読み込む過程でステップ３０７の処理で得られる集計結果に基づいて、シーンデータ量Ｄｓを評価する。第１評価部１１８は、例えば、式(１)を用いて、１フレーム分のシーンデータ量Ｄｓを求めることができる。
【００４７】
Ｄｓ＝Ｎｐ×（Ｎａ×Ｄａ＋Ｄｐ）×Ｎｔ            ・・・（１）
なお、式(１)において、符号Ｎｐはプリミティブの総数、符号Ｎａはプリミティブの頂点数、符号Ｎｔは、プリミティブが配置されたタイルの総数である。また、符号Ｄａは、各頂点のデータ量、符号Ｄｐはプリミティブの設定データ量である。各頂点のデータ量Ｄａは、例えば、頂点の位置および色を表す情報のデータ長やテクスチャ座標および法線を表す情報のデータ長を足し合わせて求めることができる。また、プリミティブの設定データ量Ｄｐは、例えば、プリミティブ番号、プリミティブの向き、アルファブレンドの有無、Ｚテストの有無等を示す情報のデータ長の和として求めることができる。このようにして、ステップ３１２で求められたシーンデータ量は、後述する描画手法の決定処理に用いられる。
【００４８】
次いで、ステップ３１３では、再び、処理対象のフレームに適用される描画手法が即時描画であるか否かが判定される。処理対象のフレームにタイル型遅延描画が適用される場合は、このステップ３１３の否定判定となる。この場合に、処理は、ステップ３１４に進む。
【００４９】
ステップ３１４において、図１に示したソート部１１６によるシーンデータのソート処理が行われる。このとき、ソート部１１６は、シーンデータ格納部１０２から読み出した１フレーム分のシーンデータに基づいて、タイル毎にソートされたシーンデータを作成する。作成されたソート済みのシーンデータは、ソートデータ格納部１０３に格納される。
【００５０】
ソート部１１６によるソート処理が完了した後に、描画部１１７には、制御部１２１を介してソートデータ格納部１０３から読み出されたソート済みのシーンデータが入力される。そして、このソート済みのシーンデータに基づいて、タイル型遅延描画処理を実行する(ステップ３１５)。
【００５１】
図７に、タイル型遅延描画処理の一例を表す流れ図を示す。図７に示すステップ３３１からステップ３３９の処理は、図４に示したステップ３１５に相当する。また、これらの処理は、例えば、図１に示した描画部１１７および第２評価部１１９によって実行される。
【００５２】
なお、タイル型遅延描画処理の過程で、描画部１１７の画素除去部１２３および画素処理部１２４は、内部バッファ１２４を利用して描画処理を実行する。
【００５３】
タイル型遅延描画処理では、例えば、制御部１２１により、ソートデータ格納部１０５から、描画対象のタイルに対応するシーンデータを、画素生成部１２２に順次に読み込ませる処理が行われる(ステップ３３１)。
【００５４】
各タイルに対応するシーンデータは、そのタイルに少なくとも一部が含まれるプリミティブの図形情報を含んでいる。例えば、図６に番号１０を付した矩形で示されるタイル１０のシーンデータには、プリミティブＰ１，Ｐ２，Ｐ３の図形情報が含まれている。そして、これらのプリミティブＰ１，Ｐ２，Ｐ３のうち、タイル１０に含まれる部分を順次に描画することによって、番号１０のタイルの描画が実現される。
【００５５】
ステップ３３２〜ステップ３３６の処理は、読み込まれたシーンデータに含まれる少なくとも一つのプリミティブについて、描画対象のタイルに含まれる部分を順次に描画対象として実行される。ステップ３３２では、画素生成部１２２により、描画対象の部分について、画素を生成する処理が行われる。次に、画素除去部１２３により、内部バッファ１２４に格納されたデプス値を用いたＺテストに基づいて、画素除去処理が行われる(ステップ３３３)。そして、このＺテストの結果に基づいて、第２評価部１１９により、Ｚテストによる除去画素数および遅延レンダリングによる除去画素数の集計が行われる(ステップ３３４)。また、画素除去処理によって除去されなかった画素について、画素処理部１２５により、画素データの生成が行われる(ステップ３３５)。ステップ３３５で、画素処理部１２５によって生成される画素データおよびデプス値は、内部バッファ１２４に格納される(ステップ３３６)。この内部バッファ１２４に格納されたデプス値は、描画対象のシーンデータに含まれる他のプリミティブについてのＺテスト処理に用いられる。
【００５６】
ステップ３３７では、当該タイルに対応するシーンデータに含まれる全てのプリミティブについての描画が完了したか否かが判定される。そして、まだ描画されていないプリミティブがある場合に(ステップ３３７の否定判定)、処理は、ステップ３３２に戻る。そして、例えば、当該タイルに対応するシーンデータにおいて次に記述されたプリミティブについての描画処理が開始される。
【００５７】
ステップ３３２〜ステップ３３７を繰り返して、当該タイルに対応するシーンデータに含まれる全てのプリミティブについての描画が完了したときに(ステップ３３７の肯定判定)、処理は、ステップ３３８に進む。ステップ３３８では、内部バッファ１２４に保持された描画対象のタイルの画素データが、画像データ格納部１０４に出力される。
【００５８】
次いで、全てのタイルについての描画処理が完了したか否かが判定される(ステップ３３９)。まだ描画されていないタイルが存在する場合に(ステップ３３９の否定判定)、処理は、ステップ３３１に戻る。そして、例えば、ラスタ順で次に位置するタイルに対応するシーンデータが読み込まれる。次いで、新たに読み込まれたシーンデータに基づいて、このタイルについての描画処理が開始される。
【００５９】
上述したようにして、各タイルの描画処理が順次に実行される。そして、１フレームに含まれる全てのタイルについての描画処理が完了したときに(ステップ３３９の肯定判定)、タイル型遅延描画処理は終了する。なお、タイル型遅延描画では、内部バッファ１２４を用いて描画処理が行われるので、外部メモリ１０１に対するアクセスは発生しない。しかし、各タイルの描画処理の過程で、上述したステップ３３４を実行することにより、外部メモリ１０１に対するアクセス量を求めるために必要な情報を取得することができる。
【００６０】
このようにしてタイル型遅延描画処理が完了すると、処理は、図４に示したステップ３１６に進む。また、描画対象のフレームの描画手法として即時描画が採用されている場合も(ステップ３１３の肯定判定)、処理は、ステップ３１６に進む。
【００６１】
ステップ３１６では、第２評価部１１９により、１フレーム分の除去データ量が評価される。この評価処理は、例えば、即時描画処理あるいはタイル型遅延描画処理の過程で集計されたＺテストによる除去画素数および遅延レンダリングによる除去画素数に基づいて、行われる。
【００６２】
第２評価部１１９は、例えば、式(２)を用いて、除去データ量Ｄｅを評価することができる。なお、式(２)において、符号ＮｚはＺテストによる除去画素の総数、符号Ｎｒは遅延レンダリングによる除去画素の総数である。また、符号Ｄｄはデプス値のデータ長、符号Ｄｃは画素データのデータ長である。
【００６３】
Ｄｅ＝Ｎｚ×Ｄｄ＋Ｎｒ×(Ｄｄ×２＋Ｄｃ)      ・・・（２）
式(２)の右辺第１項により、Ｚテストによる除去画素について、対応するデプス値を参照するために発生する外部メモリ１０１へのアクセス量を評価することができる。また、式(２)の右辺第２項により、遅延レンダリングによる除去画素を描画する処理に費やされた外部メモリ１０１へのアクセス量を評価することができる。なお、式(２)の右辺第２項には、遅延レンダリングによる除去画素について、対応するデプス値の参照および書き換えと画素データの書き換えのために外部メモリ１０１へのアクセスが発生することが反映されている。
【００６４】
次に、ステップ３１７では、描画処理が完了したフレームが最終フレームか否かが判定される。まだ、描画されていないフレームがある場合に(ステップ３１７の否定判定)、処理は、ステップ３１８に進む。ステップ３１８では、上述したようにして求められたシーンデータ量Ｄｓと除去データ量Ｄｅとに基づいて、決定部１２０により、次のフレームにおいて適用する描画手法が決定される。
【００６５】
図８に、描画手法決定処理の一例を表す流れ図を示す。図８に示すステップ３４１からステップ３４５の処理は、図４に示したステップ３１８の処理に相当する。
【００６６】
ステップ３４１において、決定部１２０は、シーンデータ量Ｄｓと除去データ量Ｄｅとを比較する。そして、例えば、シーンデータ量Ｄｓの方が除去データ量Ｄｅよりも小さいときに(ステップ３４２の肯定判定)、決定部１２０は、次のフレームに適用する描画手法として、タイル型遅延描画を選択する(ステップ３４３)。一方、除去データ量Ｄｅがシーンデータ量Ｄｓ以下である場合に(ステップ３４２の否定判定)、決定部１２０は、次のフレームに適用する描画手法として、即時描画を選択する(ステップ３４４)。
【００６７】
その後、処理は、いずれの場合も、ステップ３４５に進む。そして、このステップ３４５において、決定部１２０により、シーンデータ作成部１１５、ソート部１１６、描画部１１７および制御部１２１に選択結果が通知される。ステップ３４５の終了後に、決定部１２０による描画手法の決定処理は終了する。このステップ３４５において通知された選択結果は、上述した各部による次のフレームについての処理に反映される。
【００６８】
その後、処理は、番号２が付された端子で示される接続に従って、図３に示したステップ３０２に戻る。そして、新たなフレームの描画に用いられる頂点データの読み込みの開始とともに、この新たなフレームについての描画処理が、上述したステップ３１８で決定された描画手法を適用して実行される。
【００６９】
本件開示の描画装置によれば、第ｊフレームの描画処理に適用された描画手法にかかわらず、この描画処理の過程で、上述したシーンデータ量Ｄｓと除去データ量Ｄｅとの両方を取得することができる。ここで、シーンデータ量Ｄｓには、タイル型遅延描画処理を適用した際の処理コストが反映される。そして、除去データ量Ｄｅには、即時描画処理を適用した際の処理コストが反映される。したがって、シーンデータ量Ｄｓと除去データ量Ｄｅとを比較することにより、第ｊフレームの画像について、どちらの描画手法が描画処理を高速化する上で有利であるかを判定することができる。
【００７０】
ここで、動画像のように連続した複数のフレームを含む画像シーケンスでは、第ｊフレームの画像の特徴とこれに続く第ｊ＋１フレームの画像の特徴とは互いに類似している。したがって、第ｊ＋１フレームのシーンデータ量と除去データ量との関係は、直前の第ｊフレームにおけるこれらの関係とほぼ同等であると推定される。故に、第ｊフレームについて取得されたシーンデータ量Ｄｓと除去データ量Ｄｅとに基づいて選択された描画手法を適用することにより、第ｊ＋１フレームの描画処理の高速化が図れる可能性は高い。そして、このようにして、各フレームの描画処理において高速化を図ることにより、複数フレームを含む動画像データなどの描画処理に要する時間を短縮することができる。
【００７１】
また、本件開示の描画装置によれば、各フレームの描画処理過程で取得されるシーンデータ量と除去データ量との関係の変化を、次のフレームで適用される描画手法の選択に反映することができる。つまり、一連の画像シーケンスの途中で描画される画像の特徴が変化する場合にも、この変化に追従して、適用する描画手法を変更することが可能である。
【００７２】
なお、決定部１２０は、シーンデータ量Ｄｓと除去データ量Ｄｅとの差分と所定の閾値Ｔｈとの比較結果に基づいて、次のフレームに適用する描画手法を決定することもできる。また、シーンデータ量Ｄｓと除去データ量Ｄｅとの差分の値の変化で示される画像の特徴の変化傾向を考慮して、描画手法の決定を行うことも可能である。
【００７３】
また、制御部１２１の機能は、例えば、決定部１２０からの指示に応じて、シーンデータ作成部１１５の出力先を切り替えるとともに、画素生成部１２２がシーンデータの読込先を切り替えることによっても実現することができる。
【００７４】
上述した実施形態１で説明したような描画手法の切替制御は、キャッシュメモリを含む描画部１１７が設けられた描画装置にも適用することができる。
(実施形態２)
図９に、描画装置の別実施形態を示す。なお、図９に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００７５】
図９に示した描画部１１７には、プリミティブキャッシュ１２６と画素・デプスキャッシュ１２７とが設けられている。
【００７６】
プリミティブキャッシュ１２６には、画素生成部１２２によって参照されたプリミティブの一部に関する情報が保持される。画素生成部１２２は、外部メモリ１０１に格納されたプリミティブデータの参照に先立って、このプリミティブキャッシュ１２６を参照する。このプリミティブキャッシュ１２６は、図形情報の一部を保持する第１キャッシュの一例である。
【００７７】
また、画素・デプスキャッシュ１２７には、１フレーム内の一部の領域に含まれる画素に対応する画素データおよびデプス値が保持される。この画素・デプスキャッシュ１２７は、外部メモリ１０１へのアクセスに先立って、画素除去部１２３および画素処理部１２５によって参照される。画素・デプスキャッシュ１２７は、表示画面の一部について、画素データおよびデプス値を保持する第２キャッシュの一例である。なお、描画部１１７が即時描画を適用して描画処理を行う際に、内部バッファ１２４を、画素・デプスキャッシュ１２７の一部として利用することもできる。
【００７８】
また、図９に示す第１ミス率算出部１２８は、タイル型遅延描画が行われた場合に想定されるプリミティブキャッシュ１２６のミス率を算出する。プリミティブキャッシュ１２６のミス率は、例えば、ソート済みのシーンデータに基づいて算出することができる。また、第２ミス率算出部１２９は、即時描画が行われた場合に想定される画素・デプスキャッシュ１２７のミス率を算出する。画素・デプスキャッシュ１２７のミス率は、例えば、シーンデータ作成部１１５によって作成されるシーンデータに基づいて算出することができる。
【００７９】
第１ミス率算出部１２８は、例えば、ソート済みのシーンデータにおいて、隣接するタイルに対応して同一のプリミティブが記述されているか否かを調べることにより、プリミティブキャッシュ１２６のヒット判定を行うことができる。したがって、タイル型遅延描画が適用されるフレームの描画処理では、例えば、図４に示したステップ３１４でシーンデータのソート処理が行われた後に、プリミティブキャッシュ１２６のヒット判定処理を行うことができる。
【００８０】
ところで、この判定処理は、各タイルに対応して、少なくとも一部が含まれているプリミティブを示すリストが作成されていれば実行することができる。このようなリストは、例えば、即時描画が適用されるフレームについても作成することができる。例えば、図３に示したステップ３０９で各プリミティブが即時描画された後に、このプリミティブが配置されているタイルに対応するリストにプリミティブ番号を登録する処理を行えばよい。このようなリストの作成処理は、ソート部１１５に実行させることができる。そして、第１ミス率算出部１２８は、例えば、１フレーム分のシーンデータについて作成されたリストに基づいて、上述と同様にして、プリミティブキャッシュ１２６のヒット判定処理を行うことができる。このようなヒット判定処理は、即時描画が適用されるフレームの描画処理において、例えば、図４に示したステップ３１３の肯定判定に応じて実行することができる。
【００８１】
第１ミス率算出部１２８は、上述したようにして得られるプリミティブキャッシュ１２６のヒット判定結果に基づいて、プリミティブキャッシュ１２６のミス率Ｒｐを算出する。
【００８２】
算出されたプリミティブキャッシュ１２６のミス率Ｒｐに基づいて、第１評価部１１８により、プリミティブキャッシュ１２６の効果を考慮したシーンデータ量Ｄｓ’を評価する。第１評価部１１８は、例えば、式(３)を用いて、プリミティブキャッシュ１２６の効果を考慮したシーンデータ量Ｄｓ’を求めることができる。式(３)では、式(１)で表されるシーンデータ量Ｄｓに、プリミティブキャッシュ１２６のミス率Ｒｐが乗算されている。このようにして、プリミティブキャッシュ１２６の効果をシーンデータ量の評価に反映することができる。
【００８３】
Ｄｓ’＝Ｄｓ×Ｒｐ              ・・・（３）
また、第２ミス率算出部１２９は、例えば、シーンデータに記述されている各プリミティブが配置されるタイルの範囲を順次に比較する。そして、この比較結果に基づいて、第２ミス率算出部１２９により、各プリミティブを即時描画する際に画素・デプスキャッシュ１２７がヒットするか否かを判定することができる。このヒット判定は、シーンデータが作成される過程で、全てのプリミティブについて集計される。上述した画素・デプスキャッシュ１２７のヒット判定および判定結果の集計処理は、例えば、第２ミス率算出部１２９により、図３に示したステップ３０６の後に実行することができる。そして、１フレーム分のシーンデータの作成が完了した後に、第２ミス率算出部１２９は、全てのプリミティブについてのヒット判定結果に基づいて、画素・デプスキャッシュ１２７のミス率を算出することができる。第２ミス率算出部１２９は、例えば、ステップ３１１の肯定判定となった後に、画素・デプスキャッシュ１２７のミス率Ｒｄを算出する処理を行うことができる。
【００８４】
このようにして算出された画素・デプスキャッシュ１２７のミス率Ｒｄを用いて、第２評価部１１９は、画素・デプスキャッシュ１２７の効果を考慮した除去データ量Ｄｅを評価する。第２評価部１１９は、例えば、式(４)を用いて、除去データ量Ｄｅを評価する。この式(４)を用いることにより、画素・デプスキャッシュ１２７を設けたことによる外部メモリ１０１へのアクセスの抑制効果を反映させることができる。なお、式(４)において、符号ＮｚはＺテストによる除去画素の総数、符号Ｎｒは遅延レンダリングによる除去画素の総数である。また、符号Ｄｄはデプス値のデータ長、符号Ｄｃは画素データのデータ長である。
【００８５】
Ｄｅ＝Ｎｚ×Ｄｄ×Ｒｄ＋Ｎｒ×(Ｄｄ×２＋Ｄｃ)×Ｒｄ      ・・・（４）
上述したように求められたプリミティブキャッシュ１２６の効果が反映されたシーンデータ量Ｄｓ’および画素・デプスキャッシュ１２７の効果が反映された除去データ量Ｄｅは、決定部１２０に渡される。そして、決定部１２０により、これらの情報に基づいて、図８に示した決定処理が行われる。これにより、プリミティブキャッシュ１２６および画素・デプスキャッシュ１２７の効果を考慮して、次のフレームに適用する描画手法を決定することができる。
【００８６】
上述した実施形態１で説明したような描画手法の切替制御は、シーンデータや画素データおよびデプス値を圧縮して外部メモリ１０１に格納する描画装置にも適用することができる。
(実施形態３)
図１０に、描画装置の別実施形態を示す。なお、図１０に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００８７】
図１０に示した描画装置１１０には、シーンデータ圧縮伸長部１３１とソートデータ圧縮伸長部１３２とが設けられている。シーンデータ圧縮伸長部１３１およびソートデータ圧縮伸長部１３２は、シーンデータについての圧縮を行う第１圧縮部の一例である。また、描画部１１７には、デプス圧縮伸長部１３３，１３５と、画素圧縮部１３４とが設けられている。デプス圧縮伸長部１３３，１３５および画素圧縮部１３４は、デプス値および画素データについての圧縮を行う第２圧縮部の一例である。
【００８８】
シーンデータ圧縮伸長部１３１は、シーンデータ作成部１１５によって作成されたシーンデータを圧縮する処理を行う。圧縮されたシーンデータは、外部メモリ１０１に設けられたシーンデータ格納部１０２に格納される。シーンデータ圧縮伸長部１３１は、各フレームのシーンデータの圧縮処理に際して、平均圧縮率Ｒｃ１を算出する。算出された平均圧縮率Ｒｃ１は、第１評価部１１８に通知される。また、シーンデータ圧縮伸長部１３１は、シーンデータ格納部１０２から圧縮されたシーンデータを読み出す際に、圧縮されたシーンデータを伸長する処理を行う。伸長されたシーンデータは、ソート部１１６によるソート処理に供される。
【００８９】
一方、ソートデータ圧縮伸長部１３２は、ソート部１１６によってソートされたシーンデータを圧縮する処理を行う。圧縮されたソート済みのシーンデータは、外部メモリ１０１に設けられたソートデータ格納部１０３に格納される。ソートデータ圧縮伸長部１３２は、各フレームのシーンデータに対応するソート済みのシーンデータの圧縮処理に際して、平均圧縮率Ｒｃ２を算出する。算出された平均圧縮率Ｒｃ２は、第１評価部１１８に通知される。また、ソートデータ圧縮伸長部１３２は、ソートデータ格納部１０３から圧縮されたソート済みのシーンデータを読み出す際に、圧縮されたソート済みのシーンデータを伸長する処理を行う。伸長されたソート済みのシーンデータは、タイル型遅延描画処理が実行される際に、制御部１２１を介して描画部１１７に渡される。
【００９０】
また、第１評価部１１８は、通知された平均圧縮率Ｒｃ１，Ｒｃ２を用いて、シーンデータおよびソート済みシーンデータを圧縮することによる効果を反映したシーンデータ量Ｄｓ’’を算出する。例えば、第１評価部１１８は、式(５)に示すように、式(１)で表されるシーンデータ量Ｄｓに平均圧縮率Ｒｃ１，Ｒｃ２を乗算する処理を行う。このような演算処理により、シーンデータおよびソート済みシーンデータの圧縮を考慮したシーンデータ量Ｄｓ’’を算出することができる。
【００９１】
Ｄｓ’’＝Ｄｓ×Ｒｃ１×Ｒｃ２              ・・・（５）
上述した平均圧縮率Ｒｃ１，Ｒｃ２は、例えば、個々のフレームで適用される描画手法にかかわらず、シーンデータを圧縮する処理と、シーンデータをソートする処理と、ソート済みのシーンデータを圧縮する処理とを実行することによって取得できる。なお、即時描画が適用されるフレームについての描画処理過程では、ソートデータ圧縮伸長部１３２で生成された圧縮されたソート済みシーンデータを外部メモリ１０１のソートデータ格納部１０３に出力する処理を省略することができる。
【００９２】
描画部１１７に設けられたデプス圧縮伸長部１３３は、タイル型遅延描画処理の過程で、画素除去部１２３が内部バッファ１２４との間でデプス値をやり取りする際に、デプス値の圧縮伸長処理を行う。このデプス値の圧縮伸長処理の過程で、デプス圧縮伸長部１３３により、デプス値の平均圧縮率Ｒｃ３が算出される。一方、即時描画処理の過程では、画素除去部１２３がデプスデータ格納部１０５との間でデプス値をやり取りする際に、デプス圧縮伸長部１３５により、デプス値の圧縮伸長処理が行われる。そして、このデプス値の圧縮伸長処理の過程で、デプス圧縮伸長部１３５により、デプス値の平均圧縮率Ｒｃ３が算出される。このようにして、デプス圧縮伸長部１３３あるいはデプス圧縮伸長部１３５で算出されたデプス値の平均圧縮率Ｒｃ３は、第２評価部１１９に通知される。
【００９３】
また、画素圧縮部１３４は、画素処理部１２５によって生成される画素データが内部バッファ１２４あるいは画像データ格納部１０４に出力される際に、画素データの圧縮処理を行う。この画素データの圧縮処理の過程で、画素圧縮部１３４により、画素データの平均圧縮率Ｒｃ４が算出される。これにより、即時描画が適用されるフレームについても、タイル型遅延描画が適用されるフレームについても、画素データの平均圧縮率Ｒｃ４を算出することができる。このようにして算出された画素データの平均圧縮率Ｒｃ４は、第２評価部１１９に通知される。
【００９４】
第２評価部１１９は、上述したようにして通知されたデプス値の平均圧縮率Ｒｃ３および画素データの平均圧縮率Ｒｃ４に基づいて、デプス値および画素データの圧縮による効果が反映された除去データ量Ｄｅを算出する。第２評価部１１９は、例えば、式(６)を用いて、除去データＤｅの評価を行うことができる。なお、式(６)において、符号ＮｚはＺテストによる除去画素の総数、符号Ｎｒは遅延レンダリングによる除去画素の総数である。また、符号Ｄｄはデプス値のデータ長、符号Ｄｃは画素データのデータ長である。
【００９５】
Ｄｅ＝Ｎｚ×Ｄｄ×Ｒｃ３＋Ｎｒ×(Ｄｄ×２×Ｒｃ３＋Ｄｃ×Ｒｃ４)  ・・・（６）
上述したようにして、シーンデータや画素データおよびデプス値を圧縮して外部メモリ１０１に格納することによる効果が反映されたシーンデータ量Ｄｓ’’および除去データ量Ｄｅを求めることができる。そして、このようにして得られたシーンデータ量Ｄｓ’’および除去データ量Ｄｅに基づいて、決定部１２０により、図８に示した決定処理が行われる。これにより、シーンデータや画素データおよびデプス値を圧縮することによる外部メモリ１０１とのアクセス量の低減効果を考慮に入れつつ、次のフレームに適用する描画手法を決定することができる。
【００９６】
ところで、描画手法の切替制御は、以上の実施形態で説明したようなフレーム単位での切替制御に限られない。それぞれについてシーンデータ量および除去データ量を評価可能な単位であれば、それぞれの単位ごとに描画手法の切替を行うこともできる。例えば、タイル単位で描画手法を切り替えることも可能である。
(実施形態４)
図１１に、領域分割の例を示す。
【００９７】
図１１(ａ)に示した例では、表示画面が、９個の矩形の領域１〜領域９に分割されている。この例では、領域１〜領域９には、それぞれｎ×ｍ個のタイルが含まれている。一方、図１１(ｂ)に示した例では、表示画面は、周辺部に相当する領域１と、中央部に相当する領域２とに区切られている。
【００９８】
また、図１２、図１３に、描画処理の別例を表す流れ図を示す。なお、図１２、図１３に示す処理手順のうち、図３、図４に示される処理手順と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００９９】
ステップ３５１では、ステップ３０２で読み込まれた頂点データから個々のプリミティブに対応するシーンデータを作成する処理が行われる。このステップ３５１の処理は、図３に示したステップ３０３〜ステップ３０６の処理に相当する。
【０１００】
ステップ３５２では、作成されたシーンデータに基づいて、第１評価部１１８により、領域ごとにシーンデータ量を集計する処理が行われる。第１評価部１１８は、例えば、シーンデータに含まれるプリミティブ対応のタイル番号に基づいて、個々のプリミティブがどの領域に含まれるかを判別することができる。そして、この判別結果に基づいて、プリミティブ数などのシーンデータ量の算出に用いる情報を領域ごとに集計することができる。
【０１０１】
次いで、ステップ３５３において、上述したシーンデータで記述されるプリミティブの描画に即時描画を適用するか否かが判定される。例えば、図１に示した制御部１２１は、上述したプリミティブに対応するタイル番号に基づいて、このプリミティブが即時描画によって描画処理が行われる領域の内部に含まれるか否かを判断することができる。そして、このステップ３５３の判定結果に応じて、ステップ３０９の即時描画処理あるいはステップ３１０のシーンデータの出力処理が行われる。
【０１０２】
なお、即時描画処理の過程において、第２評価部１１９は、Ｚテストによる除去画素数および遅延レンダリングによる除去画素数を、即時描画が適用される領域ごとに集計する処理を行う。第２評価部１１９は、例えば、画素除去部１２３から、個々のプリミティブを描画する際に発生する上述した２種類の除去画素数をタイルごとに取得することができる。そして、これらの除去画素数を、第２評価部１１９により、領域ごとに加算することによって、集計結果を得ることができる。
【０１０３】
また、描画対象のプリミティブが、即時描画が適用される領域とタイル型遅延描画が適用される領域とにまたがっている場合は、それぞれの領域に含まれる部分について適合する処理を行うこともできる。例えば、描画対象のプリミティブのうち、即時描画が適用される領域に含まれる部分については、ステップ３０９の即時描画処理で描画を行う。そして、この処理とともに、このプリミティブに関するシーンデータを外部メモリ１０１に出力する処理も合わせて実行すればよい。これにより、残りの部分をタイル型遅延描画によって描画することができる。
【０１０４】
上述した処理を１フレームに含まれる全てのプリミティブについて繰り返して実行した後に(ステップ３１１の肯定判定)、処理は、ステップ３５４に進む。このステップ３５４で、第１評価部１１８は、各領域について集計された情報に基づいて、例えば、上述した式(１)を用いて個々の領域についてのシーンデータ量を評価する。
【０１０５】
次に、タイル型遅延描画処理の対象となるシーンデータがあるか否かが判定される(ステップ３５５)。例えば、上述したステップ３５３の判定に応じて、外部メモリ１０１に出力されたシーンデータが存在したか否かに基づいて、タイル型遅延描画処理の対象となるシーンデータの有無を判定することができる。
【０１０６】
ステップ３５５の肯定判定の場合に、ソート部１１６により、シーンデータのソート処理が行われる(ステップ３５６)。ステップ３５６では、タイル型遅延描画が適用される領域に少なくとも一部が含まれるプリミティブに関する図形情報が、タイル毎にソートされる。続いて、ソートされたシーンデータに基づくタイル型遅延描画処理が行われる(ステップ３５７)。なお、タイル型遅延描画処理の過程において、第２評価部１１９は、Ｚテストによる除去画素数および遅延レンダリングによる除去画素数を、タイル型遅延描画が適用される領域ごとに集計する処理を行う。第２評価部１１９は、例えば、画素除去部１２３から、個々のタイルを描画する際に発生する上述した２種類の除去画素数をタイルごとに取得することができる。そして、これらの除去画素数を、第２評価部１１９により、領域ごとに加算することによって、集計結果を得ることができる。
【０１０７】
ステップ３５５の否定判定の場合と、上述したソート処理およびタイル型遅延描画処理の終了後に、処理は、ステプ３５８に進む。ステップ３５８では、第２評価部１１９により、各領域についての除去データ量が評価される。この評価処理には、ステップ３０９の即時描画処理あるいはステップ３５７のタイル型遅延描画処理の過程で領域ごとに集計されたＺテストによる除去画素数および遅延レンダリングによる除去画素数が用いられる。第２評価部１１９は、例えば、上述した式(２)に、各領域について集計された２種類の除去画素数を代入することにより、領域ごとの除去データ量を算出することができる。
【０１０８】
上述したようにして求められた各領域のシーンデータ量および除去データ量は、ステップ３１７の否定判定の場合に、ステップ３５９において、領域ごとの描画手法の決定処理に用いられる。ステップ３５９では、例えば、決定部１２０により、各領域のシーンデータ量と除去データ量とがそれぞれ比較される。そして、個々の領域について得られた比較結果に基づいて、決定部１２０により、次のフレームにおいて、対応する領域について適用する描画手法が決定される。
【０１０９】
図１２、図１３に示したような描画処理は、画像シーケンスに含まれる各フレームの画像内に特徴の異なる部分が混在している場合に有用である。このような画像シーケンスにおいても、連続するフレームの画像を比べれば、それぞれの領域の分布は類似している可能性が高い。したがって、前のフレームの画像において、即時描画の適用によって高速化される可能性がある領域については、次のフレームにおいて即時描画を適用することにより、描画処理の高速化を図ることができる。同様に、前のフレームの画像において、タイル型遅延描画の適用によって高速化される可能性がある領域については、次のフレームにおいてタイル型遅延描画を適用することにより、描画処理の高速化を図ることができる。
【０１１０】
このように、実施形態４で説明した切替制御を適用すれば、画像内に特徴の異なる部分が混在している複数の画像を含む画像シーケンスの描画処理を高速化することができる。なお、図１２のステップ３０１で設定されるデフォルトの描画手法は、各領域について一律に設定することもできるし、領域ごとに異なる描画手法を設定することもできる。
【０１１１】
また、実施形態４で説明した領域ごとのシーンデータ量および除去データ量の評価処理を、実施形態２で説明した第１キャッシュおよび第２キャッシュを有する描画装置に適用することもできる。同様に、実施形態４で説明した領域ごとのシーンデータ量および除去データ量の評価処理を、実施形態３で説明した第１圧縮部および第２圧縮部を有する描画装置に適用することもできる。また、描画装置に、第１キャッシュおよび第２キャッシュとともに第２圧縮部を設けるなど、実施形態１〜実施形態４で説明した技法を様々な組み合わせで適用することも可能である。
【０１１２】
以上の説明に関して、更に、以下の各項を開示する。
(付記１)
画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第１評価部と、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第２評価部と、
前記画像シーケンスのｊ番目に位置する画像に含まれる少なくとも一部の領域について前記第１評価部および前記第２評価部によってそれぞれ得られる評価結果に基づいて、ｊ＋１番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部と、
を有することを特徴とする描画装置。
(付記２)
付記１に記載の描画装置において、
前記各画像の描画に用いられるシーンデータに含まれる少なくとも一つの図形の情報を、前記少なくとも一つの図形の表示画面における配置に基づいて、前記表示画面を区分して形成されるタイル毎にソートするソート部と、
入力されるシーンデータによって記述される図形の描画処理を行う描画部と、
前記決定部によって即時描画を適用する旨の決定がなされたときに、前記ソート部によるソート処理が行われる前のシーンデータを前記描画部に入力し、タイル型遅延描画を適用する旨の決定がなされたときに、前記ソート部によってソートされたシーンデータを前記フレームにおけるタイルの配列順に従って前記描画部に入力する制御を行う制御部と、
を有することを特徴とする描画装置。
(付記３)
付記１または付記２に記載の描画装置において、
前記第１評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記４)
付記１乃至付記３のいずれか１つに記載の描画装置において、
前記第２評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるＺテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
(付記５)
付記１または付記２に記載の描画装置において、
前記シーンデータに記述される可能性のある複数種類の図形のうち、少なくとも一部の種類の図形を表す情報を格納する第１キャッシュを有し、
前記第１評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数と前記第１キャッシュのミス率とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記６)
付記１または付記２に記載の描画装置において、
前記フレームの一部に含まれる画素に対応するデプス値および画素データを格納する第２キャッシュを有し、
前記第２評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるＺテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数と、前記第２キャッシュのミス率とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
(付記７)
付記１または付記２に記載の描画装置において、
前記シーンデータを圧縮する第１圧縮部を有し、
前記第１評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表すデータ量と前記少なくとも一つの図形が配置されるタイルの総数と前記第１圧縮部の圧縮率とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記８)
付記１または付記２に記載の描画装置において、
前記シーンデータに基づく即時描画処理によって生成される画素データおよびデプス値の少なくとも一方を圧縮する第２圧縮部を有し、
前記第２評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるＺテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数と、前記第２圧縮部による圧縮処理で前記画素データに適用される圧縮率と、前記第２圧縮部による圧縮処理で前記デプス値に適用される圧縮率とに基づいて、前記除去される画素の描画処理にかかわるデータ量を評価する
ことを特徴とする描画装置。
(付記９)
画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、
前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、
前記画像シーケンスのｊ番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、ｊ＋１番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する、
ことを特徴とする描画方法。
【符号の説明】
【０１１３】
１０１…外部メモリ；１０２…シーンデータ格納部；１０３…ソートデータ格納部；１０４…画像データ格納部；１０５…デプスデータ格納部；１１０…描画装置；１１１…読み込み部；１１２…頂点処理部；１１３…図形作成部；１１４…図形除去部；１１５…シーンデータ作成部；１１６…ソート部；１１７…描画部；１１８…第１評価部；１１９…第２評価部；１２０…決定部；１２１…制御部；１２２…画素生成部；１２３…画素除去部；１２４…内部バッファ；１２５…画素処理部；１２６…プリミティブキャッシュ；１２７…画素・デプスキャッシュ；１２８…第１ミス率算出部；１２９…第２ミス率算出部；１３１…シーンデータ圧縮伸長部；１３２…ソートデータ圧縮伸長部；１３３、１３５…画素・デプス圧縮伸長部；１３４…画素圧縮部
【図１】
0005636988.tif 000002
【図２】
0005636988.tif 000003
【図３】
0005636988.tif 000004
【図４】
0005636988.tif 000005
【図５】
0005636988.tif 000006
【図６】
0005636988.tif 000007
【図７】
0005636988.tif 000008
【図８】
0005636988.tif 000009
【図９】
0005636988.tif 000010
【図１０】
0005636988.tif 000011
【図１１】
0005636988.tif 000012
【図１２】
0005636988.tif 000013
【図１３】
0005636988.tif 000014