描画装置および方法
【課題】複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮する。
【解決手段】画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部とを有する。
【解決手段】画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本件開示は、三次元グラフィックスを描画するための描画装置および方法に関する。
【背景技術】
【0002】
三次元グラフィックスの描画手法の一つに、即時描画がある。即時描画は、個々の図形について、頂点情報から図形を作成する処理、表示されない図形を除去する処理、図形をラスタライズする処理を順次に実行する手法である。即時描画のラスタライズ処理は、3つの段階に分けられる。最初の段階では、図形を表すベクトルデータから画素対応のビットマップデータへの変換が行われる。次の段階で、図形の設定情報に基づいて、各画素の色を算出する処理が行われる。その後、各画素より手前に表示される画素があるか否かを判定するZテスト処理と、このZテストの結果に基づいて、表示されない画素を除去する処理が行われる。即時描画のラスタライズ処理の変形例として、各画素の画素データを生成する処理に先立って、Zテストに基づく画素除去処理が行われる場合もある。
【0003】
三次元グラフィックスの別の描画手法に、タイル型遅延描画がある。タイル型遅延描画は、表示画面を複数のタイルに区切り、タイル毎にラスタライズ処理を行う手法である(非特許文献1参照)。タイル型遅延描画では、ラスタライズ処理に先立って、個々の図形の形状や配置が記述されたシーンデータをタイル毎にソートする処理が行われる。そして、ソートされたシーンデータに含まれる各図形の描画対象のタイルに配置される部分が、即時描画と同様の手順に従ってラスタライズ処理される。タイル型遅延描画では、個々の図形をタイルの境界で分割した部分ごとにラスタライズ処理することにより、タイルごとに描画処理を完了させている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】“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>
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した即時描画を適用した描画装置には、1フレームに含まれる各画素の表示色を表す画像データを格納する画像データ格納部に加えて、Zテスト処理を実現するために、1フレーム分のデプスデータ格納部が設けられる。このデプスデータ格納部および画像データ格納部は、SDRAM(Synchronous Dynamic Random Access Memory)などの外部メモリを用いて実現される場合が多い。即時描画を適用した描画装置では、Zテスト処理とその結果に基づく画素除去処理の際に、デプスデータ格納部および画像データ格納部へのアクセスが発生する。そして、これらの外部メモリへのアクセス量が多くなると、描画処理に要する時間が長くなってしまう。
【0006】
一方、タイル型遅延描画を適用した描画装置では、Zテスト処理や画素除去処理も、描画装置内部に設けた小規模の内部バッファを用いて実現することができる。そして、各タイルに含まれる各画素の最終的な画像データが画像データ格納部に書き込まれる。つまり、タイル型遅延描画では、描画処理の過程で画像データ格納部内の画像データが書き換えられることは無い。その一方、タイル型遅延描画では、ラスタライズ処理に加えて、シーンデータのソート処理が行われる。そして、ソートされたシーンデータは、上述した画像データ格納部とは別に設けられたソートデータ格納部に格納される。このため、1フレーム分のシーンデータをタイル毎にソートする処理に要する時間が長くなると、これが描画処理速度を制限する要因となってしまう。
【0007】
上述したように、2つの描画手法にはそれぞれ一長一短がある。このため、描画対象の画像の特徴によって、即時描画を採用した方が描画処理を高速化できる場合と、タイル型遅延描画の採用によって高速化を図ることができる場合とがある。
【0008】
本件開示は、複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮可能な描画装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した目的は、以下に開示する描画装置および描画方法によって達成することができる。
【0010】
一つの観点による描画装置は、画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部とを有する。
【0011】
また、もう一つの観点による描画方法は、画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する。
【発明の効果】
【0012】
本件開示の描画装置および方法によれば、複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮可能である。
【図面の簡単な説明】
【0013】
【図1】描画装置の一実施形態を示す図である。
【図2】シーンデータを説明する図である。
【図3】描画処理の一例を表す流れ図(その1)である。
【図4】描画処理の一例を表す流れ図(その2)である。
【図5】即時描画処理の一例を表す流れ図である。
【図6】Zテストによる除去画素と遅延レンダリングによる除去画素を説明する図である。
【図7】タイル型遅延描画処理の一例を表す流れ図である。
【図8】描画手法決定処理の一例を表す流れ図である。
【図9】描画装置の別実施形態を示す図である。
【図10】描画装置の別実施形態を示す図である。
【図11】領域分割の例を示す図である。
【図12】描画処理の別例を表す流れ図(その1)である。
【図13】描画処理の別例を表す流れ図(その2)である。
【発明を実施するための形態】
【0014】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
(実施形態1)
図1に、本件開示の描画装置の一実施形態を示す。
【0015】
図1に示した描画装置110は、入力端子Dinを介して入力される頂点データに基づいて、描画処理を行う。図1に示した外部メモリ101には、例えば、SDRAMなどが用いられる。この外部メモリ101には、シーンデータ格納部102、ソートデータ格納部103、画像データ格納部104およびデプスデータ格納部105が設けられている。
【0016】
描画装置110に入力される頂点データは、読み込み部111によって読み込まれる。頂点データは、線分や三角形などのプリミティブそれぞれを規定する各頂点について、少なくとも3次元座標を示す情報を含む。また、頂点データは、各頂点の色やテクスチャ座標および法線等の設定情報を含むこともできる。
【0017】
頂点処理部112は、読み込まれた頂点データで示される各頂点の3次元座標に基づいて、個々の頂点に対応する画素を特定する。頂点処理部112は、例えば、各頂点の3次元座標に含まれるX,Y成分に基づいて、表示画面上の位置を特定することにより、対応する画素を特定することができる。また、頂点処理部112は、頂点データに含まれる設定情報に基づいて、頂点に対応する画素の表示に用いる画素データを生成する。
【0018】
図形作成部113は、頂点処理部112で特定された複数の頂点に対応する画素の座標に基づいて、各プリミティブに対応する表示図形を表す図形情報を作成する。
【0019】
図形除去部114は、図形作成部113によって作成された表示図形のうち、表示されないものを除去する処理を行う。図形除去部114は、例えば、頂点データで示された頂点座標の接続順序に基づいて、各プリミティブが表向きや裏向きかを判別することができる。そして、裏向きと判別されたプリミティブに対応する図形情報や表示画面の外に配置されるプリミティブに対応する図形情報は、図形除去部114によって除去される。
【0020】
シーンデータ作成部115は、図形除去部114で除去されずに残された描画対象のプリミティブに対応する図形情報に基づいて、シーンデータを作成する処理を行う。シーンデータには、描画対象の各プリミティブに対応する図形情報が、例えば個々のプリミティブに付与された番号順に含まれている。シーンデータ作成部115は、各プリミティブに対応する図形情報に基づいて、個々のプリミティブに対応する表示図形の少なくとも一部が配置されるタイルを特定する。そして、これらのタイルを示すタイル番号を含む情報は、シーンデータ作成処理の過程で、対応する図形情報に付加される。
【0021】
シーンデータ作成部115によって作成されるシーンデータは、決定部120からの指示に応じて、制御部121あるいは外部メモリ101に設けられたシーンデータ格納部102に出力される。
【0022】
ソート部116は、シーンデータ格納部102に格納された1フレーム分のシーンデータに含まれる各図形情報を、タイルごとにソートする処理を行う。タイル毎にソートされたシーンデータには、各タイルの描画にかかわるプリミティブに対応する図形情報が含まれる。そして、各タイルに対応するソート済みのシーンデータは、例えば、表示画面におけるタイルの配置順に、外部メモリ101に設けられたソートデータ格納部103に格納される。
【0023】
図2に、シーンデータを説明する図を示す。図2(a)に、描画対象のプリミティブ1,2とタイルとの関係を示す。また、図2(b)に、ソート前のシーンデータの例を示す。図2(c)に、タイル毎にソートされたシーンデータの例を示す。
【0024】
図2(a)の例では、16個の矩形のタイルに分割された表示画面に2つのプリミティブ(P1、P2)が配置されている。なお、図2(a)の例では、各タイルを識別するタイル番号を、個々のタイルを示す矩形の右肩に付して示した。
【0025】
図2(b)のソート前のシーンデータの例には、図2(a)に示したプリミティブP1の図形情報と、プリミティブP2の図形情報とが順に含まれている。一方、図2(c)に示したソート済みのシーンデータの例には、各タイルに対応するソート済みのシーンデータが、タイル番号の順に含まれている。なお、図2(a)に示した例では、タイル1,2には、プリミティブP1の一部のみが配置されている。このため、タイル1、2に対応するソート済みのシーンデータには、プリミティブP1の図形情報が含まれる。同様に、タイル4,13,14には、プリミティブP2の一部のみが配置されているので、これらのタイルに対応するソート済みのシーンデータには、プリミティブP2の図形情報が含まれる。一方、タイル5−11には、プリミティブP1,P2の双方の一部が含まれている。そして、これらのタイルに対応するソート済みのシーンデータには、プリミティブP1、P2両方の図形情報が含まれる。
【0026】
図1に示した描画部117には、制御部121を介して、ソート前のシーンデータあるいはタイル毎にソートされたシーンデータのいずれかが入力される。この描画部117には、画素生成部122と、画素除去部123と内部バッファ124と画素処理部125とが設けられている。そして、この描画部117による描画処理には、決定部120からの指示に応じて、即時描画あるいはタイル型遅延描画が適用される。
【0027】
決定部120は、第1評価部118による評価結果と第2評価部119による評価結果とに基づいて、例えば、次のフレームの描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する。第1評価部118は、各フレームの描画を行う際に、シーンデータ作成部115によって作成されるシーンデータ量Dsを評価する。第2評価部119は、各フレームの描画を行う際に、画素除去部123から収集する情報に基づいて、描画結果の表示までに除去される画素の描画処理に関わる除去データ量Deを評価する。決定部120は、例えば、各フレームを描画するごとに、上述したシーンデータ量Dsと除去データ量Deとを比較する。そして、比較結果に基づいて、決定部120により、描画部117によって次のフレームに適用される描画手法が決定される。
【0028】
制御部121は、即時描画を適用する旨の決定に応じて、シーンデータ作成部115によって作成されるシーンデータをそのまま描画部117に入力する。一方、タイル型遅延描画を適用する旨が決定された場合に、制御部121は、ソートデータ格納部103に格納されたソート済みのシーンデータをタイル毎に描画部117に入力する。
【0029】
次に、本件開示の描画装置により、動画像などの画像シーケンスに含まれる各フレームの3次元グラフィックスを描画する処理について説明する。
【0030】
図3、図4に、描画処理の一例を表す流れ図を示す。図3、図4の例では、描画部117において適用される描画手法は、フレーム単位で決定される。なお、図3,4に示す流れ図は、同一の番号を付した端子によって接続されている。
【0031】
画像シーケンスの最初のフレームについては、決定部120により、予め設定されたデフォルトの描画手法が描画部117に適用される(ステップ301)。デフォルトの描画手法は、即時描画でもよいし、タイル型遅延描画でもよい。
【0032】
ステップ302において、読み込み部111によって読み込まれた頂点データに基づいて、頂点処理部112により、プリミティブの頂点に対応する画素の位置および画素データが生成される(ステップ303)。次いで、図形作成部113による図形生成処理(ステップ304)および図形除去部114による図形除去処理(ステップ305)が行われる。そして、描画されるプリミティブそれぞれを記述するシーンデータが、シーンデータ作成部115によって作成される(ステップ306)。
【0033】
このとき、シーンデータ作成部115によって作成されるシーンデータに基づいて、図1の第1評価部118により、シーンデータ量を集計する処理が行われる(ステップ307)。第1評価部118は、例えば、シーンデータ作成部115によって作成されるシーンデータに基づいて、プリミティブの数とプリミティブが配置されるタイルの数を集計することができる。集計されるプリミティブ数とタイル数は、後述するシーンデータ量評価処理で用いられる。
【0034】
次に、ステップ308で、読み込み中のフレームに適用される描画手法が判定される。読み込み中のフレームに即時描画が適用される場合に(ステップ308の肯定判定)、描画部117は、即時描画処理を実行する(ステップ309)。
【0035】
図5に、即時描画処理の一例を表す流れ図を示す。図5に示すステップ321からステップ326の処理は、図4に示したステップ315に相当する。また、これらの処理は、例えば、図1に示した描画部117および第2評価部119によって実行される。
【0036】
なお、即時描画処理の過程で、描画部117の画素除去部123および画素処理部124は、画像データ格納部104およびデプスデータ格納部105を利用して描画処理を実行する。
【0037】
ステップ321で、画素生成部122は、制御部121を介して、シーンデータ作成部115で生成されたプリミティブ対応のシーンデータを読み込む。このステップ321で読み込まれるシーンデータによって記述されたプリミティブについて、画素生成部122は、画素生成処理を行う(ステップ322)。
【0038】
生成された各画素について、画素除去部123は、デプスデータ格納部105に格納されたデプス値を用いたZテストを行う。そして、ステップ322で生成された画素のうち、Zテストの結果、既に描画処理されたプリミティブのいずれかによって隠されることが判明した画素が除去される(ステップ323)。また、ステップ324では、第2評価部119により、ステップ323の画素除去処理で除去される画素数と、描画対象のプリミティブを描画することによって隠されることになる描画済みの画素数とがそれぞれ集計される。以下の説明では、前者をZテストによる除去画素数と称する。また、後者を遅延レンダリングによる除去画素数と称する。
【0039】
なお、Zテストによる除去画素数および遅延レンダリングによる除去画素数は、描画対象のプリミティブに含まれる各画素についてのZテスト処理の過程で求めることができる。
【0040】
図6に、Zテストによる除去画素および遅延レンダリングによる除去画素を説明する図を示す。図6の例では、デプス値15のプリミティブP1とデプス値5のプリミティブP2が描画された後で、デプス値10のプリミティブP3を描画する場合を示している。なお、図6の例では、プリミティブが重なり合っている領域A1,A2が、それぞれ太い破線で囲んで示されている。以下の説明では、デプス値の値が小さいほど、手前に表示される場合を例として説明する。
【0041】
図1に示した画素除去部123は、描画対象のプリミティブP3に含まれる画素について、デプスデータ格納部105を参照する。図6に示す例では、描画対象のプリミティブP3と描画済みのプリミティブP2とは領域A2で重なり合っている。そして、デプスデータ格納部105には、この領域A2に含まれる各画素に対応して、描画対象のプリミティブP3のデプス値よりも小さいデプス値が既に格納されている。この場合に、プリミティブP3に含まれる画素のうち、この領域A2に含まれる画素は、描画済みのプリミティブP2によって隠されるので除去される。したがって、領域A2に含まれる画素は、Zテストによる除去画素となる。一方、図6に示す例では、描画対象のプリミティブP3と既に描画されたプリミティブP1とは領域A1で重なり合っている。そして、この領域A1に含まれる各画素に対応してデプスデータ格納部105に格納されているデプス値は、描画対象のプリミティブP3のデプス値よりも大きい。この場合に、プリミティブP3を描画することにより、既に描画されていたプリミティブP1のうち上述した領域A1に含まれる画素が除去される。したがって、この領域A1に含まれる画素は、遅延レンダリングによる除去画素となる。第2評価部119は、例えば、画素除去部123から描画済みのプリミティブと重複している領域の画素数及びZテストで除去される画素数とを受け取ることができる。そして、これらの情報から、遅延レンダリングによる除去画素数を求めることができる。
【0042】
図5のステップ325では、画素処理部125により、プリミティブに対応する画素のうちZテストで除去されなかった描画対象の画素について、表示色などを表す画素データが生成される。画素処理部125によって生成された画素データは、ステップ326で画像データ格納部104に出力される。なお、このとき、画素データが画像データ格納部104に出力された各画素に対応するデプス値も、デプスデータ格納部105に出力される。
【0043】
このようにして、読み込んだシーンデータによって記述された単一のプリミティブを描画するための各画素の画素データおよびデプス値の出力が完了したときに、即時描画処理は終了する。そして、処理は、図3に示されるステップ311に進む。
【0044】
一方、描画対象のフレームの描画手法としてタイル型遅延描画が採用されている場合は、ステップ308の否定判定となる。この場合に、シーンデータ作成部115で作成されたシーンデータは、描画部117に渡される代わりに、外部メモリ101のシーンデータ格納部102に格納される(ステップ310)。その後、処理は、ステップ311に進む。
【0045】
ステップ311では、1フレーム分の頂点データの読み込みが完了したか否かが判定される。まだ読み込み済みでない頂点データがある場合に(ステップ311の否定判定)、処理は、ステップ302に戻って、新たな頂点データの読み込みが行われる。そして、新たな頂点データに基づくシーンデータの作成処理およびこのシーンデータに基づく即時描画処理あるいはシーンデータを外部メモリ101に出力する処理が行われる。ステップ302からステップ311の処理を繰り返して実行することにより、1フレーム分の頂点データについての処理が完了したときに(ステップ311の肯定判定)、処理は、ステップ312に進む。
【0046】
ステップ312では、シーンデータ量を評価する処理が、第1評価部118によって行われる。第1評価部118は、1フレーム分の頂点データを読み込む過程でステップ307の処理で得られる集計結果に基づいて、シーンデータ量Dsを評価する。第1評価部118は、例えば、式(1)を用いて、1フレーム分のシーンデータ量Dsを求めることができる。
【0047】
Ds=Np×(Na×Da+Dp)×Nt ・・・(1)
なお、式(1)において、符号Npはプリミティブの総数、符号Naはプリミティブの頂点数、符号Ntは、プリミティブが配置されたタイルの総数である。また、符号Daは、各頂点のデータ量、符号Dpはプリミティブの設定データ量である。各頂点のデータ量Daは、例えば、頂点の位置および色を表す情報のデータ長やテクスチャ座標および法線を表す情報のデータ長を足し合わせて求めることができる。また、プリミティブの設定データ量Dpは、例えば、プリミティブ番号、プリミティブの向き、アルファブレンドの有無、Zテストの有無等を示す情報のデータ長の和として求めることができる。このようにして、ステップ312で求められたシーンデータ量は、後述する描画手法の決定処理に用いられる。
【0048】
次いで、ステップ313では、再び、処理対象のフレームに適用される描画手法が即時描画であるか否かが判定される。処理対象のフレームにタイル型遅延描画が適用される場合は、このステップ313の否定判定となる。この場合に、処理は、ステップ314に進む。
【0049】
ステップ314において、図1に示したソート部116によるシーンデータのソート処理が行われる。このとき、ソート部116は、シーンデータ格納部102から読み出した1フレーム分のシーンデータに基づいて、タイル毎にソートされたシーンデータを作成する。作成されたソート済みのシーンデータは、ソートデータ格納部103に格納される。
【0050】
ソート部116によるソート処理が完了した後に、描画部117には、制御部121を介してソートデータ格納部103から読み出されたソート済みのシーンデータが入力される。そして、このソート済みのシーンデータに基づいて、タイル型遅延描画処理を実行する(ステップ315)。
【0051】
図7に、タイル型遅延描画処理の一例を表す流れ図を示す。図7に示すステップ331からステップ339の処理は、図4に示したステップ315に相当する。また、これらの処理は、例えば、図1に示した描画部117および第2評価部119によって実行される。
【0052】
なお、タイル型遅延描画処理の過程で、描画部117の画素除去部123および画素処理部124は、内部バッファ124を利用して描画処理を実行する。
【0053】
タイル型遅延描画処理では、例えば、制御部121により、ソートデータ格納部105から、描画対象のタイルに対応するシーンデータを、画素生成部122に順次に読み込ませる処理が行われる(ステップ331)。
【0054】
各タイルに対応するシーンデータは、そのタイルに少なくとも一部が含まれるプリミティブの図形情報を含んでいる。例えば、図6に番号10を付した矩形で示されるタイル10のシーンデータには、プリミティブP1,P2,P3の図形情報が含まれている。そして、これらのプリミティブP1,P2,P3のうち、タイル10に含まれる部分を順次に描画することによって、番号10のタイルの描画が実現される。
【0055】
ステップ332〜ステップ336の処理は、読み込まれたシーンデータに含まれる少なくとも一つのプリミティブについて、描画対象のタイルに含まれる部分を順次に描画対象として実行される。ステップ332では、画素生成部122により、描画対象の部分について、画素を生成する処理が行われる。次に、画素除去部123により、内部バッファ124に格納されたデプス値を用いたZテストに基づいて、画素除去処理が行われる(ステップ333)。そして、このZテストの結果に基づいて、第2評価部119により、Zテストによる除去画素数および遅延レンダリングによる除去画素数の集計が行われる(ステップ334)。また、画素除去処理によって除去されなかった画素について、画素処理部125により、画素データの生成が行われる(ステップ335)。ステップ335で、画素処理部125によって生成される画素データおよびデプス値は、内部バッファ124に格納される(ステップ336)。この内部バッファ124に格納されたデプス値は、描画対象のシーンデータに含まれる他のプリミティブについてのZテスト処理に用いられる。
【0056】
ステップ337では、当該タイルに対応するシーンデータに含まれる全てのプリミティブについての描画が完了したか否かが判定される。そして、まだ描画されていないプリミティブがある場合に(ステップ337の否定判定)、処理は、ステップ332に戻る。そして、例えば、当該タイルに対応するシーンデータにおいて次に記述されたプリミティブについての描画処理が開始される。
【0057】
ステップ332〜ステップ337を繰り返して、当該タイルに対応するシーンデータに含まれる全てのプリミティブについての描画が完了したときに(ステップ337の肯定判定)、処理は、ステップ338に進む。ステップ338では、内部バッファ124に保持された描画対象のタイルの画素データが、画像データ格納部104に出力される。
【0058】
次いで、全てのタイルについての描画処理が完了したか否かが判定される(ステップ339)。まだ描画されていないタイルが存在する場合に(ステップ339の否定判定)、処理は、ステップ331に戻る。そして、例えば、ラスタ順で次に位置するタイルに対応するシーンデータが読み込まれる。次いで、新たに読み込まれたシーンデータに基づいて、このタイルについての描画処理が開始される。
【0059】
上述したようにして、各タイルの描画処理が順次に実行される。そして、1フレームに含まれる全てのタイルについての描画処理が完了したときに(ステップ339の肯定判定)、タイル型遅延描画処理は終了する。なお、タイル型遅延描画では、内部バッファ124を用いて描画処理が行われるので、外部メモリ101に対するアクセスは発生しない。しかし、各タイルの描画処理の過程で、上述したステップ334を実行することにより、外部メモリ101に対するアクセス量を求めるために必要な情報を取得することができる。
【0060】
このようにしてタイル型遅延描画処理が完了すると、処理は、図4に示したステップ316に進む。また、描画対象のフレームの描画手法として即時描画が採用されている場合も(ステップ313の肯定判定)、処理は、ステップ316に進む。
【0061】
ステップ316では、第2評価部119により、1フレーム分の除去データ量が評価される。この評価処理は、例えば、即時描画処理あるいはタイル型遅延描画処理の過程で集計されたZテストによる除去画素数および遅延レンダリングによる除去画素数に基づいて、行われる。
【0062】
第2評価部119は、例えば、式(2)を用いて、除去データ量Deを評価することができる。なお、式(2)において、符号NzはZテストによる除去画素の総数、符号Nrは遅延レンダリングによる除去画素の総数である。また、符号Ddはデプス値のデータ長、符号Dcは画素データのデータ長である。
【0063】
De=Nz×Dd+Nr×(Dd×2+Dc) ・・・(2)
式(2)の右辺第1項により、Zテストによる除去画素について、対応するデプス値を参照するために発生する外部メモリ101へのアクセス量を評価することができる。また、式(2)の右辺第2項により、遅延レンダリングによる除去画素を描画する処理に費やされた外部メモリ101へのアクセス量を評価することができる。なお、式(2)の右辺第2項には、遅延レンダリングによる除去画素について、対応するデプス値の参照および書き換えと画素データの書き換えのために外部メモリ101へのアクセスが発生することが反映されている。
【0064】
次に、ステップ317では、描画処理が完了したフレームが最終フレームか否かが判定される。まだ、描画されていないフレームがある場合に(ステップ317の否定判定)、処理は、ステップ318に進む。ステップ318では、上述したようにして求められたシーンデータ量Dsと除去データ量Deとに基づいて、決定部120により、次のフレームにおいて適用する描画手法が決定される。
【0065】
図8に、描画手法決定処理の一例を表す流れ図を示す。図8に示すステップ341からステップ345の処理は、図4に示したステップ318の処理に相当する。
【0066】
ステップ341において、決定部120は、シーンデータ量Dsと除去データ量Deとを比較する。そして、例えば、シーンデータ量Dsの方が除去データ量Deよりも小さいときに(ステップ342の肯定判定)、決定部120は、次のフレームに適用する描画手法として、タイル型遅延描画を選択する(ステップ343)。一方、除去データ量Deがシーンデータ量Ds以下である場合に(ステップ342の否定判定)、決定部120は、次のフレームに適用する描画手法として、即時描画を選択する(ステップ344)。
【0067】
その後、処理は、いずれの場合も、ステップ345に進む。そして、このステップ345において、決定部120により、シーンデータ作成部115、ソート部116、描画部117および制御部121に選択結果が通知される。ステップ345の終了後に、決定部120による描画手法の決定処理は終了する。このステップ345において通知された選択結果は、上述した各部による次のフレームについての処理に反映される。
【0068】
その後、処理は、番号2が付された端子で示される接続に従って、図3に示したステップ302に戻る。そして、新たなフレームの描画に用いられる頂点データの読み込みの開始とともに、この新たなフレームについての描画処理が、上述したステップ318で決定された描画手法を適用して実行される。
【0069】
本件開示の描画装置によれば、第jフレームの描画処理に適用された描画手法にかかわらず、この描画処理の過程で、上述したシーンデータ量Dsと除去データ量Deとの両方を取得することができる。ここで、シーンデータ量Dsには、タイル型遅延描画処理を適用した際の処理コストが反映される。そして、除去データ量Deには、即時描画処理を適用した際の処理コストが反映される。したがって、シーンデータ量Dsと除去データ量Deとを比較することにより、第jフレームの画像について、どちらの描画手法が描画処理を高速化する上で有利であるかを判定することができる。
【0070】
ここで、動画像のように連続した複数のフレームを含む画像シーケンスでは、第jフレームの画像の特徴とこれに続く第j+1フレームの画像の特徴とは互いに類似している。したがって、第j+1フレームのシーンデータ量と除去データ量との関係は、直前の第jフレームにおけるこれらの関係とほぼ同等であると推定される。故に、第jフレームについて取得されたシーンデータ量Dsと除去データ量Deとに基づいて選択された描画手法を適用することにより、第j+1フレームの描画処理の高速化が図れる可能性は高い。そして、このようにして、各フレームの描画処理において高速化を図ることにより、複数フレームを含む動画像データなどの描画処理に要する時間を短縮することができる。
【0071】
また、本件開示の描画装置によれば、各フレームの描画処理過程で取得されるシーンデータ量と除去データ量との関係の変化を、次のフレームで適用される描画手法の選択に反映することができる。つまり、一連の画像シーケンスの途中で描画される画像の特徴が変化する場合にも、この変化に追従して、適用する描画手法を変更することが可能である。
【0072】
なお、決定部120は、シーンデータ量Dsと除去データ量Deとの差分と所定の閾値Thとの比較結果に基づいて、次のフレームに適用する描画手法を決定することもできる。また、シーンデータ量Dsと除去データ量Deとの差分の値の変化で示される画像の特徴の変化傾向を考慮して、描画手法の決定を行うことも可能である。
【0073】
また、制御部121の機能は、例えば、決定部120からの指示に応じて、シーンデータ作成部115の出力先を切り替えるとともに、画素生成部122がシーンデータの読込先を切り替えることによっても実現することができる。
【0074】
上述した実施形態1で説明したような描画手法の切替制御は、キャッシュメモリを含む描画部117が設けられた描画装置にも適用することができる。
(実施形態2)
図9に、描画装置の別実施形態を示す。なお、図9に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【0075】
図9に示した描画部117には、プリミティブキャッシュ126と画素・デプスキャッシュ127とが設けられている。
【0076】
プリミティブキャッシュ126には、画素生成部122によって参照されたプリミティブの一部に関する情報が保持される。画素生成部122は、外部メモリ101に格納されたプリミティブデータの参照に先立って、このプリミティブキャッシュ126を参照する。このプリミティブキャッシュ126は、図形情報の一部を保持する第1キャッシュの一例である。
【0077】
また、画素・デプスキャッシュ127には、1フレーム内の一部の領域に含まれる画素に対応する画素データおよびデプス値が保持される。この画素・デプスキャッシュ127は、外部メモリ101へのアクセスに先立って、画素除去部123および画素処理部125によって参照される。画素・デプスキャッシュ127は、表示画面の一部について、画素データおよびデプス値を保持する第2キャッシュの一例である。なお、描画部117が即時描画を適用して描画処理を行う際に、内部バッファ124を、画素・デプスキャッシュ127の一部として利用することもできる。
【0078】
また、図9に示す第1ミス率算出部128は、タイル型遅延描画が行われた場合に想定されるプリミティブキャッシュ126のミス率を算出する。プリミティブキャッシュ126のミス率は、例えば、ソート済みのシーンデータに基づいて算出することができる。また、第2ミス率算出部129は、即時描画が行われた場合に想定される画素・デプスキャッシュ127のミス率を算出する。画素・デプスキャッシュ127のミス率は、例えば、シーンデータ作成部115によって作成されるシーンデータに基づいて算出することができる。
【0079】
第1ミス率算出部128は、例えば、ソート済みのシーンデータにおいて、隣接するタイルに対応して同一のプリミティブが記述されているか否かを調べることにより、プリミティブキャッシュ126のヒット判定を行うことができる。したがって、タイル型遅延描画が適用されるフレームの描画処理では、例えば、図4に示したステップ314でシーンデータのソート処理が行われた後に、プリミティブキャッシュ126のヒット判定処理を行うことができる。
【0080】
ところで、この判定処理は、各タイルに対応して、少なくとも一部が含まれているプリミティブを示すリストが作成されていれば実行することができる。このようなリストは、例えば、即時描画が適用されるフレームについても作成することができる。例えば、図3に示したステップ309で各プリミティブが即時描画された後に、このプリミティブが配置されているタイルに対応するリストにプリミティブ番号を登録する処理を行えばよい。このようなリストの作成処理は、ソート部115に実行させることができる。そして、第1ミス率算出部128は、例えば、1フレーム分のシーンデータについて作成されたリストに基づいて、上述と同様にして、プリミティブキャッシュ126のヒット判定処理を行うことができる。このようなヒット判定処理は、即時描画が適用されるフレームの描画処理において、例えば、図4に示したステップ313の肯定判定に応じて実行することができる。
【0081】
第1ミス率算出部128は、上述したようにして得られるプリミティブキャッシュ126のヒット判定結果に基づいて、プリミティブキャッシュ126のミス率Rpを算出する。
【0082】
算出されたプリミティブキャッシュ126のミス率Rpに基づいて、第1評価部118により、プリミティブキャッシュ126の効果を考慮したシーンデータ量Ds’を評価する。第1評価部118は、例えば、式(3)を用いて、プリミティブキャッシュ126の効果を考慮したシーンデータ量Ds’を求めることができる。式(3)では、式(1)で表されるシーンデータ量Dsに、プリミティブキャッシュ126のミス率Rpが乗算されている。このようにして、プリミティブキャッシュ126の効果をシーンデータ量の評価に反映することができる。
【0083】
Ds’=Ds×Rp ・・・(3)
また、第2ミス率算出部129は、例えば、シーンデータに記述されている各プリミティブが配置されるタイルの範囲を順次に比較する。そして、この比較結果に基づいて、第2ミス率算出部129により、各プリミティブを即時描画する際に画素・デプスキャッシュ127がヒットするか否かを判定することができる。このヒット判定は、シーンデータが作成される過程で、全てのプリミティブについて集計される。上述した画素・デプスキャッシュ127のヒット判定および判定結果の集計処理は、例えば、第2ミス率算出部129により、図3に示したステップ306の後に実行することができる。そして、1フレーム分のシーンデータの作成が完了した後に、第2ミス率算出部129は、全てのプリミティブについてのヒット判定結果に基づいて、画素・デプスキャッシュ127のミス率を算出することができる。第2ミス率算出部129は、例えば、ステップ311の肯定判定となった後に、画素・デプスキャッシュ127のミス率Rdを算出する処理を行うことができる。
【0084】
このようにして算出された画素・デプスキャッシュ127のミス率Rdを用いて、第2評価部119は、画素・デプスキャッシュ127の効果を考慮した除去データ量Deを評価する。第2評価部119は、例えば、式(4)を用いて、除去データ量Deを評価する。この式(4)を用いることにより、画素・デプスキャッシュ127を設けたことによる外部メモリ101へのアクセスの抑制効果を反映させることができる。なお、式(4)において、符号NzはZテストによる除去画素の総数、符号Nrは遅延レンダリングによる除去画素の総数である。また、符号Ddはデプス値のデータ長、符号Dcは画素データのデータ長である。
【0085】
De=Nz×Dd×Rd+Nr×(Dd×2+Dc)×Rd ・・・(4)
上述したように求められたプリミティブキャッシュ126の効果が反映されたシーンデータ量Ds’および画素・デプスキャッシュ127の効果が反映された除去データ量Deは、決定部120に渡される。そして、決定部120により、これらの情報に基づいて、図8に示した決定処理が行われる。これにより、プリミティブキャッシュ126および画素・デプスキャッシュ127の効果を考慮して、次のフレームに適用する描画手法を決定することができる。
【0086】
上述した実施形態1で説明したような描画手法の切替制御は、シーンデータや画素データおよびデプス値を圧縮して外部メモリ101に格納する描画装置にも適用することができる。
(実施形態3)
図10に、描画装置の別実施形態を示す。なお、図10に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【0087】
図10に示した描画装置110には、シーンデータ圧縮伸長部131とソートデータ圧縮伸長部132とが設けられている。シーンデータ圧縮伸長部131およびソートデータ圧縮伸長部132は、シーンデータについての圧縮を行う第1圧縮部の一例である。また、描画部117には、デプス圧縮伸長部133,135と、画素圧縮部134とが設けられている。デプス圧縮伸長部133,135および画素圧縮部134は、デプス値および画素データについての圧縮を行う第2圧縮部の一例である。
【0088】
シーンデータ圧縮伸長部131は、シーンデータ作成部115によって作成されたシーンデータを圧縮する処理を行う。圧縮されたシーンデータは、外部メモリ101に設けられたシーンデータ格納部102に格納される。シーンデータ圧縮伸長部131は、各フレームのシーンデータの圧縮処理に際して、平均圧縮率Rc1を算出する。算出された平均圧縮率Rc1は、第1評価部118に通知される。また、シーンデータ圧縮伸長部131は、シーンデータ格納部102から圧縮されたシーンデータを読み出す際に、圧縮されたシーンデータを伸長する処理を行う。伸長されたシーンデータは、ソート部116によるソート処理に供される。
【0089】
一方、ソートデータ圧縮伸長部132は、ソート部116によってソートされたシーンデータを圧縮する処理を行う。圧縮されたソート済みのシーンデータは、外部メモリ101に設けられたソートデータ格納部103に格納される。ソートデータ圧縮伸長部132は、各フレームのシーンデータに対応するソート済みのシーンデータの圧縮処理に際して、平均圧縮率Rc2を算出する。算出された平均圧縮率Rc2は、第1評価部118に通知される。また、ソートデータ圧縮伸長部132は、ソートデータ格納部103から圧縮されたソート済みのシーンデータを読み出す際に、圧縮されたソート済みのシーンデータを伸長する処理を行う。伸長されたソート済みのシーンデータは、タイル型遅延描画処理が実行される際に、制御部121を介して描画部117に渡される。
【0090】
また、第1評価部118は、通知された平均圧縮率Rc1,Rc2を用いて、シーンデータおよびソート済みシーンデータを圧縮することによる効果を反映したシーンデータ量Ds’’を算出する。例えば、第1評価部118は、式(5)に示すように、式(1)で表されるシーンデータ量Dsに平均圧縮率Rc1,Rc2を乗算する処理を行う。このような演算処理により、シーンデータおよびソート済みシーンデータの圧縮を考慮したシーンデータ量Ds’’を算出することができる。
【0091】
Ds’’=Ds×Rc1×Rc2 ・・・(5)
上述した平均圧縮率Rc1,Rc2は、例えば、個々のフレームで適用される描画手法にかかわらず、シーンデータを圧縮する処理と、シーンデータをソートする処理と、ソート済みのシーンデータを圧縮する処理とを実行することによって取得できる。なお、即時描画が適用されるフレームについての描画処理過程では、ソートデータ圧縮伸長部132で生成された圧縮されたソート済みシーンデータを外部メモリ101のソートデータ格納部103に出力する処理を省略することができる。
【0092】
描画部117に設けられたデプス圧縮伸長部133は、タイル型遅延描画処理の過程で、画素除去部123が内部バッファ124との間でデプス値をやり取りする際に、デプス値の圧縮伸長処理を行う。このデプス値の圧縮伸長処理の過程で、デプス圧縮伸長部133により、デプス値の平均圧縮率Rc3が算出される。一方、即時描画処理の過程では、画素除去部123がデプスデータ格納部105との間でデプス値をやり取りする際に、デプス圧縮伸長部135により、デプス値の圧縮伸長処理が行われる。そして、このデプス値の圧縮伸長処理の過程で、デプス圧縮伸長部135により、デプス値の平均圧縮率Rc3が算出される。このようにして、デプス圧縮伸長部133あるいはデプス圧縮伸長部135で算出されたデプス値の平均圧縮率Rc3は、第2評価部119に通知される。
【0093】
また、画素圧縮部134は、画素処理部125によって生成される画素データが内部バッファ124あるいは画像データ格納部104に出力される際に、画素データの圧縮処理を行う。この画素データの圧縮処理の過程で、画素圧縮部134により、画素データの平均圧縮率Rc4が算出される。これにより、即時描画が適用されるフレームについても、タイル型遅延描画が適用されるフレームについても、画素データの平均圧縮率Rc4を算出することができる。このようにして算出された画素データの平均圧縮率Rc4は、第2評価部119に通知される。
【0094】
第2評価部119は、上述したようにして通知されたデプス値の平均圧縮率Rc3および画素データの平均圧縮率Rc4に基づいて、デプス値および画素データの圧縮による効果が反映された除去データ量Deを算出する。第2評価部119は、例えば、式(6)を用いて、除去データDeの評価を行うことができる。なお、式(6)において、符号NzはZテストによる除去画素の総数、符号Nrは遅延レンダリングによる除去画素の総数である。また、符号Ddはデプス値のデータ長、符号Dcは画素データのデータ長である。
【0095】
De=Nz×Dd×Rc3+Nr×(Dd×2×Rc3+Dc×Rc4) ・・・(6)
上述したようにして、シーンデータや画素データおよびデプス値を圧縮して外部メモリ101に格納することによる効果が反映されたシーンデータ量Ds’’および除去データ量Deを求めることができる。そして、このようにして得られたシーンデータ量Ds’’および除去データ量Deに基づいて、決定部120により、図8に示した決定処理が行われる。これにより、シーンデータや画素データおよびデプス値を圧縮することによる外部メモリ101とのアクセス量の低減効果を考慮に入れつつ、次のフレームに適用する描画手法を決定することができる。
【0096】
ところで、描画手法の切替制御は、以上の実施形態で説明したようなフレーム単位での切替制御に限られない。それぞれについてシーンデータ量および除去データ量を評価可能な単位であれば、それぞれの単位ごとに描画手法の切替を行うこともできる。例えば、タイル単位で描画手法を切り替えることも可能である。
(実施形態4)
図11に、領域分割の例を示す。
【0097】
図11(a)に示した例では、表示画面が、9個の矩形の領域1〜領域9に分割されている。この例では、領域1〜領域9には、それぞれn×m個のタイルが含まれている。一方、図11(b)に示した例では、表示画面は、周辺部に相当する領域1と、中央部に相当する領域2とに区切られている。
【0098】
また、図12、図13に、描画処理の別例を表す流れ図を示す。なお、図12、図13に示す処理手順のうち、図3、図4に示される処理手順と同等のものについては、同一の符号を付して示し、その説明は省略する。
【0099】
ステップ351では、ステップ302で読み込まれた頂点データから個々のプリミティブに対応するシーンデータを作成する処理が行われる。このステップ351の処理は、図3に示したステップ303〜ステップ306の処理に相当する。
【0100】
ステップ352では、作成されたシーンデータに基づいて、第1評価部118により、領域ごとにシーンデータ量を集計する処理が行われる。第1評価部118は、例えば、シーンデータに含まれるプリミティブ対応のタイル番号に基づいて、個々のプリミティブがどの領域に含まれるかを判別することができる。そして、この判別結果に基づいて、プリミティブ数などのシーンデータ量の算出に用いる情報を領域ごとに集計することができる。
【0101】
次いで、ステップ353において、上述したシーンデータで記述されるプリミティブの描画に即時描画を適用するか否かが判定される。例えば、図1に示した制御部121は、上述したプリミティブに対応するタイル番号に基づいて、このプリミティブが即時描画によって描画処理が行われる領域の内部に含まれるか否かを判断することができる。そして、このステップ353の判定結果に応じて、ステップ309の即時描画処理あるいはステップ310のシーンデータの出力処理が行われる。
【0102】
なお、即時描画処理の過程において、第2評価部119は、Zテストによる除去画素数および遅延レンダリングによる除去画素数を、即時描画が適用される領域ごとに集計する処理を行う。第2評価部119は、例えば、画素除去部123から、個々のプリミティブを描画する際に発生する上述した2種類の除去画素数をタイルごとに取得することができる。そして、これらの除去画素数を、第2評価部119により、領域ごとに加算することによって、集計結果を得ることができる。
【0103】
また、描画対象のプリミティブが、即時描画が適用される領域とタイル型遅延描画が適用される領域とにまたがっている場合は、それぞれの領域に含まれる部分について適合する処理を行うこともできる。例えば、描画対象のプリミティブのうち、即時描画が適用される領域に含まれる部分については、ステップ309の即時描画処理で描画を行う。そして、この処理とともに、このプリミティブに関するシーンデータを外部メモリ101に出力する処理も合わせて実行すればよい。これにより、残りの部分をタイル型遅延描画によって描画することができる。
【0104】
上述した処理を1フレームに含まれる全てのプリミティブについて繰り返して実行した後に(ステップ311の肯定判定)、処理は、ステップ354に進む。このステップ354で、第1評価部118は、各領域について集計された情報に基づいて、例えば、上述した式(1)を用いて個々の領域についてのシーンデータ量を評価する。
【0105】
次に、タイル型遅延描画処理の対象となるシーンデータがあるか否かが判定される(ステップ355)。例えば、上述したステップ353の判定に応じて、外部メモリ101に出力されたシーンデータが存在したか否かに基づいて、タイル型遅延描画処理の対象となるシーンデータの有無を判定することができる。
【0106】
ステップ355の肯定判定の場合に、ソート部116により、シーンデータのソート処理が行われる(ステップ356)。ステップ356では、タイル型遅延描画が適用される領域に少なくとも一部が含まれるプリミティブに関する図形情報が、タイル毎にソートされる。続いて、ソートされたシーンデータに基づくタイル型遅延描画処理が行われる(ステップ357)。なお、タイル型遅延描画処理の過程において、第2評価部119は、Zテストによる除去画素数および遅延レンダリングによる除去画素数を、タイル型遅延描画が適用される領域ごとに集計する処理を行う。第2評価部119は、例えば、画素除去部123から、個々のタイルを描画する際に発生する上述した2種類の除去画素数をタイルごとに取得することができる。そして、これらの除去画素数を、第2評価部119により、領域ごとに加算することによって、集計結果を得ることができる。
【0107】
ステップ355の否定判定の場合と、上述したソート処理およびタイル型遅延描画処理の終了後に、処理は、ステプ358に進む。ステップ358では、第2評価部119により、各領域についての除去データ量が評価される。この評価処理には、ステップ309の即時描画処理あるいはステップ357のタイル型遅延描画処理の過程で領域ごとに集計されたZテストによる除去画素数および遅延レンダリングによる除去画素数が用いられる。第2評価部119は、例えば、上述した式(2)に、各領域について集計された2種類の除去画素数を代入することにより、領域ごとの除去データ量を算出することができる。
【0108】
上述したようにして求められた各領域のシーンデータ量および除去データ量は、ステップ317の否定判定の場合に、ステップ359において、領域ごとの描画手法の決定処理に用いられる。ステップ359では、例えば、決定部120により、各領域のシーンデータ量と除去データ量とがそれぞれ比較される。そして、個々の領域について得られた比較結果に基づいて、決定部120により、次のフレームにおいて、対応する領域について適用する描画手法が決定される。
【0109】
図12、図13に示したような描画処理は、画像シーケンスに含まれる各フレームの画像内に特徴の異なる部分が混在している場合に有用である。このような画像シーケンスにおいても、連続するフレームの画像を比べれば、それぞれの領域の分布は類似している可能性が高い。したがって、前のフレームの画像において、即時描画の適用によって高速化される可能性がある領域については、次のフレームにおいて即時描画を適用することにより、描画処理の高速化を図ることができる。同様に、前のフレームの画像において、タイル型遅延描画の適用によって高速化される可能性がある領域については、次のフレームにおいてタイル型遅延描画を適用することにより、描画処理の高速化を図ることができる。
【0110】
このように、実施形態4で説明した切替制御を適用すれば、画像内に特徴の異なる部分が混在している複数の画像を含む画像シーケンスの描画処理を高速化することができる。なお、図12のステップ301で設定されるデフォルトの描画手法は、各領域について一律に設定することもできるし、領域ごとに異なる描画手法を設定することもできる。
【0111】
また、実施形態4で説明した領域ごとのシーンデータ量および除去データ量の評価処理を、実施形態2で説明した第1キャッシュおよび第2キャッシュを有する描画装置に適用することもできる。同様に、実施形態4で説明した領域ごとのシーンデータ量および除去データ量の評価処理を、実施形態3で説明した第1圧縮部および第2圧縮部を有する描画装置に適用することもできる。また、描画装置に、第1キャッシュおよび第2キャッシュとともに第2圧縮部を設けるなど、実施形態1〜実施形態4で説明した技法を様々な組み合わせで適用することも可能である。
【0112】
以上の説明に関して、更に、以下の各項を開示する。
(付記1)
画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部と、
を有することを特徴とする描画装置。
(付記2)
付記1に記載の描画装置において、
前記各画像の描画に用いられるシーンデータに含まれる少なくとも一つの図形の情報を、前記少なくとも一つの図形の表示画面における配置に基づいて、前記表示画面を区分して形成されるタイル毎にソートするソート部と、
入力されるシーンデータによって記述される図形の描画処理を行う描画部と、
前記決定部によって即時描画を適用する旨の決定がなされたときに、前記ソート部によるソート処理が行われる前のシーンデータを前記描画部に入力し、タイル型遅延描画を適用する旨の決定がなされたときに、前記ソート部によってソートされたシーンデータを前記フレームにおけるタイルの配列順に従って前記描画部に入力する制御を行う制御部と、
を有することを特徴とする描画装置。
(付記3)
付記1または付記2に記載の描画装置において、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記4)
付記1乃至付記3のいずれか1つに記載の描画装置において、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
(付記5)
付記1または付記2に記載の描画装置において、
前記シーンデータに記述される可能性のある複数種類の図形のうち、少なくとも一部の種類の図形を表す情報を格納する第1キャッシュを有し、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数と前記第1キャッシュのミス率とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記6)
付記1または付記2に記載の描画装置において、
前記フレームの一部に含まれる画素に対応するデプス値および画素データを格納する第2キャッシュを有し、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数と、前記第2キャッシュのミス率とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
(付記7)
付記1または付記2に記載の描画装置において、
前記シーンデータを圧縮する第1圧縮部を有し、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表すデータ量と前記少なくとも一つの図形が配置されるタイルの総数と前記第1圧縮部の圧縮率とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記8)
付記1または付記2に記載の描画装置において、
前記シーンデータに基づく即時描画処理によって生成される画素データおよびデプス値の少なくとも一方を圧縮する第2圧縮部を有し、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数と、前記第2圧縮部による圧縮処理で前記画素データに適用される圧縮率と、前記第2圧縮部による圧縮処理で前記デプス値に適用される圧縮率とに基づいて、前記除去される画素の描画処理にかかわるデータ量を評価する
ことを特徴とする描画装置。
(付記9)
画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、
前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する、
ことを特徴とする描画方法。
【符号の説明】
【0113】
101…外部メモリ;102…シーンデータ格納部;103…ソートデータ格納部;104…画像データ格納部;105…デプスデータ格納部;110…描画装置;111…読み込み部;112…頂点処理部;113…図形作成部;114…図形除去部;115…シーンデータ作成部;116…ソート部;117…描画部;118…第1評価部;119…第2評価部;120…決定部;121…制御部;122…画素生成部;123…画素除去部;124…内部バッファ;125…画素処理部;126…プリミティブキャッシュ;127…画素・デプスキャッシュ;128…第1ミス率算出部;129…第2ミス率算出部;131…シーンデータ圧縮伸長部;132…ソートデータ圧縮伸長部;133、135…画素・デプス圧縮伸長部;134…画素圧縮部
【技術分野】
【0001】
本件開示は、三次元グラフィックスを描画するための描画装置および方法に関する。
【背景技術】
【0002】
三次元グラフィックスの描画手法の一つに、即時描画がある。即時描画は、個々の図形について、頂点情報から図形を作成する処理、表示されない図形を除去する処理、図形をラスタライズする処理を順次に実行する手法である。即時描画のラスタライズ処理は、3つの段階に分けられる。最初の段階では、図形を表すベクトルデータから画素対応のビットマップデータへの変換が行われる。次の段階で、図形の設定情報に基づいて、各画素の色を算出する処理が行われる。その後、各画素より手前に表示される画素があるか否かを判定するZテスト処理と、このZテストの結果に基づいて、表示されない画素を除去する処理が行われる。即時描画のラスタライズ処理の変形例として、各画素の画素データを生成する処理に先立って、Zテストに基づく画素除去処理が行われる場合もある。
【0003】
三次元グラフィックスの別の描画手法に、タイル型遅延描画がある。タイル型遅延描画は、表示画面を複数のタイルに区切り、タイル毎にラスタライズ処理を行う手法である(非特許文献1参照)。タイル型遅延描画では、ラスタライズ処理に先立って、個々の図形の形状や配置が記述されたシーンデータをタイル毎にソートする処理が行われる。そして、ソートされたシーンデータに含まれる各図形の描画対象のタイルに配置される部分が、即時描画と同様の手順に従ってラスタライズ処理される。タイル型遅延描画では、個々の図形をタイルの境界で分割した部分ごとにラスタライズ処理することにより、タイルごとに描画処理を完了させている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】“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>
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した即時描画を適用した描画装置には、1フレームに含まれる各画素の表示色を表す画像データを格納する画像データ格納部に加えて、Zテスト処理を実現するために、1フレーム分のデプスデータ格納部が設けられる。このデプスデータ格納部および画像データ格納部は、SDRAM(Synchronous Dynamic Random Access Memory)などの外部メモリを用いて実現される場合が多い。即時描画を適用した描画装置では、Zテスト処理とその結果に基づく画素除去処理の際に、デプスデータ格納部および画像データ格納部へのアクセスが発生する。そして、これらの外部メモリへのアクセス量が多くなると、描画処理に要する時間が長くなってしまう。
【0006】
一方、タイル型遅延描画を適用した描画装置では、Zテスト処理や画素除去処理も、描画装置内部に設けた小規模の内部バッファを用いて実現することができる。そして、各タイルに含まれる各画素の最終的な画像データが画像データ格納部に書き込まれる。つまり、タイル型遅延描画では、描画処理の過程で画像データ格納部内の画像データが書き換えられることは無い。その一方、タイル型遅延描画では、ラスタライズ処理に加えて、シーンデータのソート処理が行われる。そして、ソートされたシーンデータは、上述した画像データ格納部とは別に設けられたソートデータ格納部に格納される。このため、1フレーム分のシーンデータをタイル毎にソートする処理に要する時間が長くなると、これが描画処理速度を制限する要因となってしまう。
【0007】
上述したように、2つの描画手法にはそれぞれ一長一短がある。このため、描画対象の画像の特徴によって、即時描画を採用した方が描画処理を高速化できる場合と、タイル型遅延描画の採用によって高速化を図ることができる場合とがある。
【0008】
本件開示は、複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮可能な描画装置および方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した目的は、以下に開示する描画装置および描画方法によって達成することができる。
【0010】
一つの観点による描画装置は、画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部とを有する。
【0011】
また、もう一つの観点による描画方法は、画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する。
【発明の効果】
【0012】
本件開示の描画装置および方法によれば、複数の画像を含む画像シーケンスについての描画処理に要する時間を短縮可能である。
【図面の簡単な説明】
【0013】
【図1】描画装置の一実施形態を示す図である。
【図2】シーンデータを説明する図である。
【図3】描画処理の一例を表す流れ図(その1)である。
【図4】描画処理の一例を表す流れ図(その2)である。
【図5】即時描画処理の一例を表す流れ図である。
【図6】Zテストによる除去画素と遅延レンダリングによる除去画素を説明する図である。
【図7】タイル型遅延描画処理の一例を表す流れ図である。
【図8】描画手法決定処理の一例を表す流れ図である。
【図9】描画装置の別実施形態を示す図である。
【図10】描画装置の別実施形態を示す図である。
【図11】領域分割の例を示す図である。
【図12】描画処理の別例を表す流れ図(その1)である。
【図13】描画処理の別例を表す流れ図(その2)である。
【発明を実施するための形態】
【0014】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
(実施形態1)
図1に、本件開示の描画装置の一実施形態を示す。
【0015】
図1に示した描画装置110は、入力端子Dinを介して入力される頂点データに基づいて、描画処理を行う。図1に示した外部メモリ101には、例えば、SDRAMなどが用いられる。この外部メモリ101には、シーンデータ格納部102、ソートデータ格納部103、画像データ格納部104およびデプスデータ格納部105が設けられている。
【0016】
描画装置110に入力される頂点データは、読み込み部111によって読み込まれる。頂点データは、線分や三角形などのプリミティブそれぞれを規定する各頂点について、少なくとも3次元座標を示す情報を含む。また、頂点データは、各頂点の色やテクスチャ座標および法線等の設定情報を含むこともできる。
【0017】
頂点処理部112は、読み込まれた頂点データで示される各頂点の3次元座標に基づいて、個々の頂点に対応する画素を特定する。頂点処理部112は、例えば、各頂点の3次元座標に含まれるX,Y成分に基づいて、表示画面上の位置を特定することにより、対応する画素を特定することができる。また、頂点処理部112は、頂点データに含まれる設定情報に基づいて、頂点に対応する画素の表示に用いる画素データを生成する。
【0018】
図形作成部113は、頂点処理部112で特定された複数の頂点に対応する画素の座標に基づいて、各プリミティブに対応する表示図形を表す図形情報を作成する。
【0019】
図形除去部114は、図形作成部113によって作成された表示図形のうち、表示されないものを除去する処理を行う。図形除去部114は、例えば、頂点データで示された頂点座標の接続順序に基づいて、各プリミティブが表向きや裏向きかを判別することができる。そして、裏向きと判別されたプリミティブに対応する図形情報や表示画面の外に配置されるプリミティブに対応する図形情報は、図形除去部114によって除去される。
【0020】
シーンデータ作成部115は、図形除去部114で除去されずに残された描画対象のプリミティブに対応する図形情報に基づいて、シーンデータを作成する処理を行う。シーンデータには、描画対象の各プリミティブに対応する図形情報が、例えば個々のプリミティブに付与された番号順に含まれている。シーンデータ作成部115は、各プリミティブに対応する図形情報に基づいて、個々のプリミティブに対応する表示図形の少なくとも一部が配置されるタイルを特定する。そして、これらのタイルを示すタイル番号を含む情報は、シーンデータ作成処理の過程で、対応する図形情報に付加される。
【0021】
シーンデータ作成部115によって作成されるシーンデータは、決定部120からの指示に応じて、制御部121あるいは外部メモリ101に設けられたシーンデータ格納部102に出力される。
【0022】
ソート部116は、シーンデータ格納部102に格納された1フレーム分のシーンデータに含まれる各図形情報を、タイルごとにソートする処理を行う。タイル毎にソートされたシーンデータには、各タイルの描画にかかわるプリミティブに対応する図形情報が含まれる。そして、各タイルに対応するソート済みのシーンデータは、例えば、表示画面におけるタイルの配置順に、外部メモリ101に設けられたソートデータ格納部103に格納される。
【0023】
図2に、シーンデータを説明する図を示す。図2(a)に、描画対象のプリミティブ1,2とタイルとの関係を示す。また、図2(b)に、ソート前のシーンデータの例を示す。図2(c)に、タイル毎にソートされたシーンデータの例を示す。
【0024】
図2(a)の例では、16個の矩形のタイルに分割された表示画面に2つのプリミティブ(P1、P2)が配置されている。なお、図2(a)の例では、各タイルを識別するタイル番号を、個々のタイルを示す矩形の右肩に付して示した。
【0025】
図2(b)のソート前のシーンデータの例には、図2(a)に示したプリミティブP1の図形情報と、プリミティブP2の図形情報とが順に含まれている。一方、図2(c)に示したソート済みのシーンデータの例には、各タイルに対応するソート済みのシーンデータが、タイル番号の順に含まれている。なお、図2(a)に示した例では、タイル1,2には、プリミティブP1の一部のみが配置されている。このため、タイル1、2に対応するソート済みのシーンデータには、プリミティブP1の図形情報が含まれる。同様に、タイル4,13,14には、プリミティブP2の一部のみが配置されているので、これらのタイルに対応するソート済みのシーンデータには、プリミティブP2の図形情報が含まれる。一方、タイル5−11には、プリミティブP1,P2の双方の一部が含まれている。そして、これらのタイルに対応するソート済みのシーンデータには、プリミティブP1、P2両方の図形情報が含まれる。
【0026】
図1に示した描画部117には、制御部121を介して、ソート前のシーンデータあるいはタイル毎にソートされたシーンデータのいずれかが入力される。この描画部117には、画素生成部122と、画素除去部123と内部バッファ124と画素処理部125とが設けられている。そして、この描画部117による描画処理には、決定部120からの指示に応じて、即時描画あるいはタイル型遅延描画が適用される。
【0027】
決定部120は、第1評価部118による評価結果と第2評価部119による評価結果とに基づいて、例えば、次のフレームの描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する。第1評価部118は、各フレームの描画を行う際に、シーンデータ作成部115によって作成されるシーンデータ量Dsを評価する。第2評価部119は、各フレームの描画を行う際に、画素除去部123から収集する情報に基づいて、描画結果の表示までに除去される画素の描画処理に関わる除去データ量Deを評価する。決定部120は、例えば、各フレームを描画するごとに、上述したシーンデータ量Dsと除去データ量Deとを比較する。そして、比較結果に基づいて、決定部120により、描画部117によって次のフレームに適用される描画手法が決定される。
【0028】
制御部121は、即時描画を適用する旨の決定に応じて、シーンデータ作成部115によって作成されるシーンデータをそのまま描画部117に入力する。一方、タイル型遅延描画を適用する旨が決定された場合に、制御部121は、ソートデータ格納部103に格納されたソート済みのシーンデータをタイル毎に描画部117に入力する。
【0029】
次に、本件開示の描画装置により、動画像などの画像シーケンスに含まれる各フレームの3次元グラフィックスを描画する処理について説明する。
【0030】
図3、図4に、描画処理の一例を表す流れ図を示す。図3、図4の例では、描画部117において適用される描画手法は、フレーム単位で決定される。なお、図3,4に示す流れ図は、同一の番号を付した端子によって接続されている。
【0031】
画像シーケンスの最初のフレームについては、決定部120により、予め設定されたデフォルトの描画手法が描画部117に適用される(ステップ301)。デフォルトの描画手法は、即時描画でもよいし、タイル型遅延描画でもよい。
【0032】
ステップ302において、読み込み部111によって読み込まれた頂点データに基づいて、頂点処理部112により、プリミティブの頂点に対応する画素の位置および画素データが生成される(ステップ303)。次いで、図形作成部113による図形生成処理(ステップ304)および図形除去部114による図形除去処理(ステップ305)が行われる。そして、描画されるプリミティブそれぞれを記述するシーンデータが、シーンデータ作成部115によって作成される(ステップ306)。
【0033】
このとき、シーンデータ作成部115によって作成されるシーンデータに基づいて、図1の第1評価部118により、シーンデータ量を集計する処理が行われる(ステップ307)。第1評価部118は、例えば、シーンデータ作成部115によって作成されるシーンデータに基づいて、プリミティブの数とプリミティブが配置されるタイルの数を集計することができる。集計されるプリミティブ数とタイル数は、後述するシーンデータ量評価処理で用いられる。
【0034】
次に、ステップ308で、読み込み中のフレームに適用される描画手法が判定される。読み込み中のフレームに即時描画が適用される場合に(ステップ308の肯定判定)、描画部117は、即時描画処理を実行する(ステップ309)。
【0035】
図5に、即時描画処理の一例を表す流れ図を示す。図5に示すステップ321からステップ326の処理は、図4に示したステップ315に相当する。また、これらの処理は、例えば、図1に示した描画部117および第2評価部119によって実行される。
【0036】
なお、即時描画処理の過程で、描画部117の画素除去部123および画素処理部124は、画像データ格納部104およびデプスデータ格納部105を利用して描画処理を実行する。
【0037】
ステップ321で、画素生成部122は、制御部121を介して、シーンデータ作成部115で生成されたプリミティブ対応のシーンデータを読み込む。このステップ321で読み込まれるシーンデータによって記述されたプリミティブについて、画素生成部122は、画素生成処理を行う(ステップ322)。
【0038】
生成された各画素について、画素除去部123は、デプスデータ格納部105に格納されたデプス値を用いたZテストを行う。そして、ステップ322で生成された画素のうち、Zテストの結果、既に描画処理されたプリミティブのいずれかによって隠されることが判明した画素が除去される(ステップ323)。また、ステップ324では、第2評価部119により、ステップ323の画素除去処理で除去される画素数と、描画対象のプリミティブを描画することによって隠されることになる描画済みの画素数とがそれぞれ集計される。以下の説明では、前者をZテストによる除去画素数と称する。また、後者を遅延レンダリングによる除去画素数と称する。
【0039】
なお、Zテストによる除去画素数および遅延レンダリングによる除去画素数は、描画対象のプリミティブに含まれる各画素についてのZテスト処理の過程で求めることができる。
【0040】
図6に、Zテストによる除去画素および遅延レンダリングによる除去画素を説明する図を示す。図6の例では、デプス値15のプリミティブP1とデプス値5のプリミティブP2が描画された後で、デプス値10のプリミティブP3を描画する場合を示している。なお、図6の例では、プリミティブが重なり合っている領域A1,A2が、それぞれ太い破線で囲んで示されている。以下の説明では、デプス値の値が小さいほど、手前に表示される場合を例として説明する。
【0041】
図1に示した画素除去部123は、描画対象のプリミティブP3に含まれる画素について、デプスデータ格納部105を参照する。図6に示す例では、描画対象のプリミティブP3と描画済みのプリミティブP2とは領域A2で重なり合っている。そして、デプスデータ格納部105には、この領域A2に含まれる各画素に対応して、描画対象のプリミティブP3のデプス値よりも小さいデプス値が既に格納されている。この場合に、プリミティブP3に含まれる画素のうち、この領域A2に含まれる画素は、描画済みのプリミティブP2によって隠されるので除去される。したがって、領域A2に含まれる画素は、Zテストによる除去画素となる。一方、図6に示す例では、描画対象のプリミティブP3と既に描画されたプリミティブP1とは領域A1で重なり合っている。そして、この領域A1に含まれる各画素に対応してデプスデータ格納部105に格納されているデプス値は、描画対象のプリミティブP3のデプス値よりも大きい。この場合に、プリミティブP3を描画することにより、既に描画されていたプリミティブP1のうち上述した領域A1に含まれる画素が除去される。したがって、この領域A1に含まれる画素は、遅延レンダリングによる除去画素となる。第2評価部119は、例えば、画素除去部123から描画済みのプリミティブと重複している領域の画素数及びZテストで除去される画素数とを受け取ることができる。そして、これらの情報から、遅延レンダリングによる除去画素数を求めることができる。
【0042】
図5のステップ325では、画素処理部125により、プリミティブに対応する画素のうちZテストで除去されなかった描画対象の画素について、表示色などを表す画素データが生成される。画素処理部125によって生成された画素データは、ステップ326で画像データ格納部104に出力される。なお、このとき、画素データが画像データ格納部104に出力された各画素に対応するデプス値も、デプスデータ格納部105に出力される。
【0043】
このようにして、読み込んだシーンデータによって記述された単一のプリミティブを描画するための各画素の画素データおよびデプス値の出力が完了したときに、即時描画処理は終了する。そして、処理は、図3に示されるステップ311に進む。
【0044】
一方、描画対象のフレームの描画手法としてタイル型遅延描画が採用されている場合は、ステップ308の否定判定となる。この場合に、シーンデータ作成部115で作成されたシーンデータは、描画部117に渡される代わりに、外部メモリ101のシーンデータ格納部102に格納される(ステップ310)。その後、処理は、ステップ311に進む。
【0045】
ステップ311では、1フレーム分の頂点データの読み込みが完了したか否かが判定される。まだ読み込み済みでない頂点データがある場合に(ステップ311の否定判定)、処理は、ステップ302に戻って、新たな頂点データの読み込みが行われる。そして、新たな頂点データに基づくシーンデータの作成処理およびこのシーンデータに基づく即時描画処理あるいはシーンデータを外部メモリ101に出力する処理が行われる。ステップ302からステップ311の処理を繰り返して実行することにより、1フレーム分の頂点データについての処理が完了したときに(ステップ311の肯定判定)、処理は、ステップ312に進む。
【0046】
ステップ312では、シーンデータ量を評価する処理が、第1評価部118によって行われる。第1評価部118は、1フレーム分の頂点データを読み込む過程でステップ307の処理で得られる集計結果に基づいて、シーンデータ量Dsを評価する。第1評価部118は、例えば、式(1)を用いて、1フレーム分のシーンデータ量Dsを求めることができる。
【0047】
Ds=Np×(Na×Da+Dp)×Nt ・・・(1)
なお、式(1)において、符号Npはプリミティブの総数、符号Naはプリミティブの頂点数、符号Ntは、プリミティブが配置されたタイルの総数である。また、符号Daは、各頂点のデータ量、符号Dpはプリミティブの設定データ量である。各頂点のデータ量Daは、例えば、頂点の位置および色を表す情報のデータ長やテクスチャ座標および法線を表す情報のデータ長を足し合わせて求めることができる。また、プリミティブの設定データ量Dpは、例えば、プリミティブ番号、プリミティブの向き、アルファブレンドの有無、Zテストの有無等を示す情報のデータ長の和として求めることができる。このようにして、ステップ312で求められたシーンデータ量は、後述する描画手法の決定処理に用いられる。
【0048】
次いで、ステップ313では、再び、処理対象のフレームに適用される描画手法が即時描画であるか否かが判定される。処理対象のフレームにタイル型遅延描画が適用される場合は、このステップ313の否定判定となる。この場合に、処理は、ステップ314に進む。
【0049】
ステップ314において、図1に示したソート部116によるシーンデータのソート処理が行われる。このとき、ソート部116は、シーンデータ格納部102から読み出した1フレーム分のシーンデータに基づいて、タイル毎にソートされたシーンデータを作成する。作成されたソート済みのシーンデータは、ソートデータ格納部103に格納される。
【0050】
ソート部116によるソート処理が完了した後に、描画部117には、制御部121を介してソートデータ格納部103から読み出されたソート済みのシーンデータが入力される。そして、このソート済みのシーンデータに基づいて、タイル型遅延描画処理を実行する(ステップ315)。
【0051】
図7に、タイル型遅延描画処理の一例を表す流れ図を示す。図7に示すステップ331からステップ339の処理は、図4に示したステップ315に相当する。また、これらの処理は、例えば、図1に示した描画部117および第2評価部119によって実行される。
【0052】
なお、タイル型遅延描画処理の過程で、描画部117の画素除去部123および画素処理部124は、内部バッファ124を利用して描画処理を実行する。
【0053】
タイル型遅延描画処理では、例えば、制御部121により、ソートデータ格納部105から、描画対象のタイルに対応するシーンデータを、画素生成部122に順次に読み込ませる処理が行われる(ステップ331)。
【0054】
各タイルに対応するシーンデータは、そのタイルに少なくとも一部が含まれるプリミティブの図形情報を含んでいる。例えば、図6に番号10を付した矩形で示されるタイル10のシーンデータには、プリミティブP1,P2,P3の図形情報が含まれている。そして、これらのプリミティブP1,P2,P3のうち、タイル10に含まれる部分を順次に描画することによって、番号10のタイルの描画が実現される。
【0055】
ステップ332〜ステップ336の処理は、読み込まれたシーンデータに含まれる少なくとも一つのプリミティブについて、描画対象のタイルに含まれる部分を順次に描画対象として実行される。ステップ332では、画素生成部122により、描画対象の部分について、画素を生成する処理が行われる。次に、画素除去部123により、内部バッファ124に格納されたデプス値を用いたZテストに基づいて、画素除去処理が行われる(ステップ333)。そして、このZテストの結果に基づいて、第2評価部119により、Zテストによる除去画素数および遅延レンダリングによる除去画素数の集計が行われる(ステップ334)。また、画素除去処理によって除去されなかった画素について、画素処理部125により、画素データの生成が行われる(ステップ335)。ステップ335で、画素処理部125によって生成される画素データおよびデプス値は、内部バッファ124に格納される(ステップ336)。この内部バッファ124に格納されたデプス値は、描画対象のシーンデータに含まれる他のプリミティブについてのZテスト処理に用いられる。
【0056】
ステップ337では、当該タイルに対応するシーンデータに含まれる全てのプリミティブについての描画が完了したか否かが判定される。そして、まだ描画されていないプリミティブがある場合に(ステップ337の否定判定)、処理は、ステップ332に戻る。そして、例えば、当該タイルに対応するシーンデータにおいて次に記述されたプリミティブについての描画処理が開始される。
【0057】
ステップ332〜ステップ337を繰り返して、当該タイルに対応するシーンデータに含まれる全てのプリミティブについての描画が完了したときに(ステップ337の肯定判定)、処理は、ステップ338に進む。ステップ338では、内部バッファ124に保持された描画対象のタイルの画素データが、画像データ格納部104に出力される。
【0058】
次いで、全てのタイルについての描画処理が完了したか否かが判定される(ステップ339)。まだ描画されていないタイルが存在する場合に(ステップ339の否定判定)、処理は、ステップ331に戻る。そして、例えば、ラスタ順で次に位置するタイルに対応するシーンデータが読み込まれる。次いで、新たに読み込まれたシーンデータに基づいて、このタイルについての描画処理が開始される。
【0059】
上述したようにして、各タイルの描画処理が順次に実行される。そして、1フレームに含まれる全てのタイルについての描画処理が完了したときに(ステップ339の肯定判定)、タイル型遅延描画処理は終了する。なお、タイル型遅延描画では、内部バッファ124を用いて描画処理が行われるので、外部メモリ101に対するアクセスは発生しない。しかし、各タイルの描画処理の過程で、上述したステップ334を実行することにより、外部メモリ101に対するアクセス量を求めるために必要な情報を取得することができる。
【0060】
このようにしてタイル型遅延描画処理が完了すると、処理は、図4に示したステップ316に進む。また、描画対象のフレームの描画手法として即時描画が採用されている場合も(ステップ313の肯定判定)、処理は、ステップ316に進む。
【0061】
ステップ316では、第2評価部119により、1フレーム分の除去データ量が評価される。この評価処理は、例えば、即時描画処理あるいはタイル型遅延描画処理の過程で集計されたZテストによる除去画素数および遅延レンダリングによる除去画素数に基づいて、行われる。
【0062】
第2評価部119は、例えば、式(2)を用いて、除去データ量Deを評価することができる。なお、式(2)において、符号NzはZテストによる除去画素の総数、符号Nrは遅延レンダリングによる除去画素の総数である。また、符号Ddはデプス値のデータ長、符号Dcは画素データのデータ長である。
【0063】
De=Nz×Dd+Nr×(Dd×2+Dc) ・・・(2)
式(2)の右辺第1項により、Zテストによる除去画素について、対応するデプス値を参照するために発生する外部メモリ101へのアクセス量を評価することができる。また、式(2)の右辺第2項により、遅延レンダリングによる除去画素を描画する処理に費やされた外部メモリ101へのアクセス量を評価することができる。なお、式(2)の右辺第2項には、遅延レンダリングによる除去画素について、対応するデプス値の参照および書き換えと画素データの書き換えのために外部メモリ101へのアクセスが発生することが反映されている。
【0064】
次に、ステップ317では、描画処理が完了したフレームが最終フレームか否かが判定される。まだ、描画されていないフレームがある場合に(ステップ317の否定判定)、処理は、ステップ318に進む。ステップ318では、上述したようにして求められたシーンデータ量Dsと除去データ量Deとに基づいて、決定部120により、次のフレームにおいて適用する描画手法が決定される。
【0065】
図8に、描画手法決定処理の一例を表す流れ図を示す。図8に示すステップ341からステップ345の処理は、図4に示したステップ318の処理に相当する。
【0066】
ステップ341において、決定部120は、シーンデータ量Dsと除去データ量Deとを比較する。そして、例えば、シーンデータ量Dsの方が除去データ量Deよりも小さいときに(ステップ342の肯定判定)、決定部120は、次のフレームに適用する描画手法として、タイル型遅延描画を選択する(ステップ343)。一方、除去データ量Deがシーンデータ量Ds以下である場合に(ステップ342の否定判定)、決定部120は、次のフレームに適用する描画手法として、即時描画を選択する(ステップ344)。
【0067】
その後、処理は、いずれの場合も、ステップ345に進む。そして、このステップ345において、決定部120により、シーンデータ作成部115、ソート部116、描画部117および制御部121に選択結果が通知される。ステップ345の終了後に、決定部120による描画手法の決定処理は終了する。このステップ345において通知された選択結果は、上述した各部による次のフレームについての処理に反映される。
【0068】
その後、処理は、番号2が付された端子で示される接続に従って、図3に示したステップ302に戻る。そして、新たなフレームの描画に用いられる頂点データの読み込みの開始とともに、この新たなフレームについての描画処理が、上述したステップ318で決定された描画手法を適用して実行される。
【0069】
本件開示の描画装置によれば、第jフレームの描画処理に適用された描画手法にかかわらず、この描画処理の過程で、上述したシーンデータ量Dsと除去データ量Deとの両方を取得することができる。ここで、シーンデータ量Dsには、タイル型遅延描画処理を適用した際の処理コストが反映される。そして、除去データ量Deには、即時描画処理を適用した際の処理コストが反映される。したがって、シーンデータ量Dsと除去データ量Deとを比較することにより、第jフレームの画像について、どちらの描画手法が描画処理を高速化する上で有利であるかを判定することができる。
【0070】
ここで、動画像のように連続した複数のフレームを含む画像シーケンスでは、第jフレームの画像の特徴とこれに続く第j+1フレームの画像の特徴とは互いに類似している。したがって、第j+1フレームのシーンデータ量と除去データ量との関係は、直前の第jフレームにおけるこれらの関係とほぼ同等であると推定される。故に、第jフレームについて取得されたシーンデータ量Dsと除去データ量Deとに基づいて選択された描画手法を適用することにより、第j+1フレームの描画処理の高速化が図れる可能性は高い。そして、このようにして、各フレームの描画処理において高速化を図ることにより、複数フレームを含む動画像データなどの描画処理に要する時間を短縮することができる。
【0071】
また、本件開示の描画装置によれば、各フレームの描画処理過程で取得されるシーンデータ量と除去データ量との関係の変化を、次のフレームで適用される描画手法の選択に反映することができる。つまり、一連の画像シーケンスの途中で描画される画像の特徴が変化する場合にも、この変化に追従して、適用する描画手法を変更することが可能である。
【0072】
なお、決定部120は、シーンデータ量Dsと除去データ量Deとの差分と所定の閾値Thとの比較結果に基づいて、次のフレームに適用する描画手法を決定することもできる。また、シーンデータ量Dsと除去データ量Deとの差分の値の変化で示される画像の特徴の変化傾向を考慮して、描画手法の決定を行うことも可能である。
【0073】
また、制御部121の機能は、例えば、決定部120からの指示に応じて、シーンデータ作成部115の出力先を切り替えるとともに、画素生成部122がシーンデータの読込先を切り替えることによっても実現することができる。
【0074】
上述した実施形態1で説明したような描画手法の切替制御は、キャッシュメモリを含む描画部117が設けられた描画装置にも適用することができる。
(実施形態2)
図9に、描画装置の別実施形態を示す。なお、図9に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【0075】
図9に示した描画部117には、プリミティブキャッシュ126と画素・デプスキャッシュ127とが設けられている。
【0076】
プリミティブキャッシュ126には、画素生成部122によって参照されたプリミティブの一部に関する情報が保持される。画素生成部122は、外部メモリ101に格納されたプリミティブデータの参照に先立って、このプリミティブキャッシュ126を参照する。このプリミティブキャッシュ126は、図形情報の一部を保持する第1キャッシュの一例である。
【0077】
また、画素・デプスキャッシュ127には、1フレーム内の一部の領域に含まれる画素に対応する画素データおよびデプス値が保持される。この画素・デプスキャッシュ127は、外部メモリ101へのアクセスに先立って、画素除去部123および画素処理部125によって参照される。画素・デプスキャッシュ127は、表示画面の一部について、画素データおよびデプス値を保持する第2キャッシュの一例である。なお、描画部117が即時描画を適用して描画処理を行う際に、内部バッファ124を、画素・デプスキャッシュ127の一部として利用することもできる。
【0078】
また、図9に示す第1ミス率算出部128は、タイル型遅延描画が行われた場合に想定されるプリミティブキャッシュ126のミス率を算出する。プリミティブキャッシュ126のミス率は、例えば、ソート済みのシーンデータに基づいて算出することができる。また、第2ミス率算出部129は、即時描画が行われた場合に想定される画素・デプスキャッシュ127のミス率を算出する。画素・デプスキャッシュ127のミス率は、例えば、シーンデータ作成部115によって作成されるシーンデータに基づいて算出することができる。
【0079】
第1ミス率算出部128は、例えば、ソート済みのシーンデータにおいて、隣接するタイルに対応して同一のプリミティブが記述されているか否かを調べることにより、プリミティブキャッシュ126のヒット判定を行うことができる。したがって、タイル型遅延描画が適用されるフレームの描画処理では、例えば、図4に示したステップ314でシーンデータのソート処理が行われた後に、プリミティブキャッシュ126のヒット判定処理を行うことができる。
【0080】
ところで、この判定処理は、各タイルに対応して、少なくとも一部が含まれているプリミティブを示すリストが作成されていれば実行することができる。このようなリストは、例えば、即時描画が適用されるフレームについても作成することができる。例えば、図3に示したステップ309で各プリミティブが即時描画された後に、このプリミティブが配置されているタイルに対応するリストにプリミティブ番号を登録する処理を行えばよい。このようなリストの作成処理は、ソート部115に実行させることができる。そして、第1ミス率算出部128は、例えば、1フレーム分のシーンデータについて作成されたリストに基づいて、上述と同様にして、プリミティブキャッシュ126のヒット判定処理を行うことができる。このようなヒット判定処理は、即時描画が適用されるフレームの描画処理において、例えば、図4に示したステップ313の肯定判定に応じて実行することができる。
【0081】
第1ミス率算出部128は、上述したようにして得られるプリミティブキャッシュ126のヒット判定結果に基づいて、プリミティブキャッシュ126のミス率Rpを算出する。
【0082】
算出されたプリミティブキャッシュ126のミス率Rpに基づいて、第1評価部118により、プリミティブキャッシュ126の効果を考慮したシーンデータ量Ds’を評価する。第1評価部118は、例えば、式(3)を用いて、プリミティブキャッシュ126の効果を考慮したシーンデータ量Ds’を求めることができる。式(3)では、式(1)で表されるシーンデータ量Dsに、プリミティブキャッシュ126のミス率Rpが乗算されている。このようにして、プリミティブキャッシュ126の効果をシーンデータ量の評価に反映することができる。
【0083】
Ds’=Ds×Rp ・・・(3)
また、第2ミス率算出部129は、例えば、シーンデータに記述されている各プリミティブが配置されるタイルの範囲を順次に比較する。そして、この比較結果に基づいて、第2ミス率算出部129により、各プリミティブを即時描画する際に画素・デプスキャッシュ127がヒットするか否かを判定することができる。このヒット判定は、シーンデータが作成される過程で、全てのプリミティブについて集計される。上述した画素・デプスキャッシュ127のヒット判定および判定結果の集計処理は、例えば、第2ミス率算出部129により、図3に示したステップ306の後に実行することができる。そして、1フレーム分のシーンデータの作成が完了した後に、第2ミス率算出部129は、全てのプリミティブについてのヒット判定結果に基づいて、画素・デプスキャッシュ127のミス率を算出することができる。第2ミス率算出部129は、例えば、ステップ311の肯定判定となった後に、画素・デプスキャッシュ127のミス率Rdを算出する処理を行うことができる。
【0084】
このようにして算出された画素・デプスキャッシュ127のミス率Rdを用いて、第2評価部119は、画素・デプスキャッシュ127の効果を考慮した除去データ量Deを評価する。第2評価部119は、例えば、式(4)を用いて、除去データ量Deを評価する。この式(4)を用いることにより、画素・デプスキャッシュ127を設けたことによる外部メモリ101へのアクセスの抑制効果を反映させることができる。なお、式(4)において、符号NzはZテストによる除去画素の総数、符号Nrは遅延レンダリングによる除去画素の総数である。また、符号Ddはデプス値のデータ長、符号Dcは画素データのデータ長である。
【0085】
De=Nz×Dd×Rd+Nr×(Dd×2+Dc)×Rd ・・・(4)
上述したように求められたプリミティブキャッシュ126の効果が反映されたシーンデータ量Ds’および画素・デプスキャッシュ127の効果が反映された除去データ量Deは、決定部120に渡される。そして、決定部120により、これらの情報に基づいて、図8に示した決定処理が行われる。これにより、プリミティブキャッシュ126および画素・デプスキャッシュ127の効果を考慮して、次のフレームに適用する描画手法を決定することができる。
【0086】
上述した実施形態1で説明したような描画手法の切替制御は、シーンデータや画素データおよびデプス値を圧縮して外部メモリ101に格納する描画装置にも適用することができる。
(実施形態3)
図10に、描画装置の別実施形態を示す。なお、図10に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【0087】
図10に示した描画装置110には、シーンデータ圧縮伸長部131とソートデータ圧縮伸長部132とが設けられている。シーンデータ圧縮伸長部131およびソートデータ圧縮伸長部132は、シーンデータについての圧縮を行う第1圧縮部の一例である。また、描画部117には、デプス圧縮伸長部133,135と、画素圧縮部134とが設けられている。デプス圧縮伸長部133,135および画素圧縮部134は、デプス値および画素データについての圧縮を行う第2圧縮部の一例である。
【0088】
シーンデータ圧縮伸長部131は、シーンデータ作成部115によって作成されたシーンデータを圧縮する処理を行う。圧縮されたシーンデータは、外部メモリ101に設けられたシーンデータ格納部102に格納される。シーンデータ圧縮伸長部131は、各フレームのシーンデータの圧縮処理に際して、平均圧縮率Rc1を算出する。算出された平均圧縮率Rc1は、第1評価部118に通知される。また、シーンデータ圧縮伸長部131は、シーンデータ格納部102から圧縮されたシーンデータを読み出す際に、圧縮されたシーンデータを伸長する処理を行う。伸長されたシーンデータは、ソート部116によるソート処理に供される。
【0089】
一方、ソートデータ圧縮伸長部132は、ソート部116によってソートされたシーンデータを圧縮する処理を行う。圧縮されたソート済みのシーンデータは、外部メモリ101に設けられたソートデータ格納部103に格納される。ソートデータ圧縮伸長部132は、各フレームのシーンデータに対応するソート済みのシーンデータの圧縮処理に際して、平均圧縮率Rc2を算出する。算出された平均圧縮率Rc2は、第1評価部118に通知される。また、ソートデータ圧縮伸長部132は、ソートデータ格納部103から圧縮されたソート済みのシーンデータを読み出す際に、圧縮されたソート済みのシーンデータを伸長する処理を行う。伸長されたソート済みのシーンデータは、タイル型遅延描画処理が実行される際に、制御部121を介して描画部117に渡される。
【0090】
また、第1評価部118は、通知された平均圧縮率Rc1,Rc2を用いて、シーンデータおよびソート済みシーンデータを圧縮することによる効果を反映したシーンデータ量Ds’’を算出する。例えば、第1評価部118は、式(5)に示すように、式(1)で表されるシーンデータ量Dsに平均圧縮率Rc1,Rc2を乗算する処理を行う。このような演算処理により、シーンデータおよびソート済みシーンデータの圧縮を考慮したシーンデータ量Ds’’を算出することができる。
【0091】
Ds’’=Ds×Rc1×Rc2 ・・・(5)
上述した平均圧縮率Rc1,Rc2は、例えば、個々のフレームで適用される描画手法にかかわらず、シーンデータを圧縮する処理と、シーンデータをソートする処理と、ソート済みのシーンデータを圧縮する処理とを実行することによって取得できる。なお、即時描画が適用されるフレームについての描画処理過程では、ソートデータ圧縮伸長部132で生成された圧縮されたソート済みシーンデータを外部メモリ101のソートデータ格納部103に出力する処理を省略することができる。
【0092】
描画部117に設けられたデプス圧縮伸長部133は、タイル型遅延描画処理の過程で、画素除去部123が内部バッファ124との間でデプス値をやり取りする際に、デプス値の圧縮伸長処理を行う。このデプス値の圧縮伸長処理の過程で、デプス圧縮伸長部133により、デプス値の平均圧縮率Rc3が算出される。一方、即時描画処理の過程では、画素除去部123がデプスデータ格納部105との間でデプス値をやり取りする際に、デプス圧縮伸長部135により、デプス値の圧縮伸長処理が行われる。そして、このデプス値の圧縮伸長処理の過程で、デプス圧縮伸長部135により、デプス値の平均圧縮率Rc3が算出される。このようにして、デプス圧縮伸長部133あるいはデプス圧縮伸長部135で算出されたデプス値の平均圧縮率Rc3は、第2評価部119に通知される。
【0093】
また、画素圧縮部134は、画素処理部125によって生成される画素データが内部バッファ124あるいは画像データ格納部104に出力される際に、画素データの圧縮処理を行う。この画素データの圧縮処理の過程で、画素圧縮部134により、画素データの平均圧縮率Rc4が算出される。これにより、即時描画が適用されるフレームについても、タイル型遅延描画が適用されるフレームについても、画素データの平均圧縮率Rc4を算出することができる。このようにして算出された画素データの平均圧縮率Rc4は、第2評価部119に通知される。
【0094】
第2評価部119は、上述したようにして通知されたデプス値の平均圧縮率Rc3および画素データの平均圧縮率Rc4に基づいて、デプス値および画素データの圧縮による効果が反映された除去データ量Deを算出する。第2評価部119は、例えば、式(6)を用いて、除去データDeの評価を行うことができる。なお、式(6)において、符号NzはZテストによる除去画素の総数、符号Nrは遅延レンダリングによる除去画素の総数である。また、符号Ddはデプス値のデータ長、符号Dcは画素データのデータ長である。
【0095】
De=Nz×Dd×Rc3+Nr×(Dd×2×Rc3+Dc×Rc4) ・・・(6)
上述したようにして、シーンデータや画素データおよびデプス値を圧縮して外部メモリ101に格納することによる効果が反映されたシーンデータ量Ds’’および除去データ量Deを求めることができる。そして、このようにして得られたシーンデータ量Ds’’および除去データ量Deに基づいて、決定部120により、図8に示した決定処理が行われる。これにより、シーンデータや画素データおよびデプス値を圧縮することによる外部メモリ101とのアクセス量の低減効果を考慮に入れつつ、次のフレームに適用する描画手法を決定することができる。
【0096】
ところで、描画手法の切替制御は、以上の実施形態で説明したようなフレーム単位での切替制御に限られない。それぞれについてシーンデータ量および除去データ量を評価可能な単位であれば、それぞれの単位ごとに描画手法の切替を行うこともできる。例えば、タイル単位で描画手法を切り替えることも可能である。
(実施形態4)
図11に、領域分割の例を示す。
【0097】
図11(a)に示した例では、表示画面が、9個の矩形の領域1〜領域9に分割されている。この例では、領域1〜領域9には、それぞれn×m個のタイルが含まれている。一方、図11(b)に示した例では、表示画面は、周辺部に相当する領域1と、中央部に相当する領域2とに区切られている。
【0098】
また、図12、図13に、描画処理の別例を表す流れ図を示す。なお、図12、図13に示す処理手順のうち、図3、図4に示される処理手順と同等のものについては、同一の符号を付して示し、その説明は省略する。
【0099】
ステップ351では、ステップ302で読み込まれた頂点データから個々のプリミティブに対応するシーンデータを作成する処理が行われる。このステップ351の処理は、図3に示したステップ303〜ステップ306の処理に相当する。
【0100】
ステップ352では、作成されたシーンデータに基づいて、第1評価部118により、領域ごとにシーンデータ量を集計する処理が行われる。第1評価部118は、例えば、シーンデータに含まれるプリミティブ対応のタイル番号に基づいて、個々のプリミティブがどの領域に含まれるかを判別することができる。そして、この判別結果に基づいて、プリミティブ数などのシーンデータ量の算出に用いる情報を領域ごとに集計することができる。
【0101】
次いで、ステップ353において、上述したシーンデータで記述されるプリミティブの描画に即時描画を適用するか否かが判定される。例えば、図1に示した制御部121は、上述したプリミティブに対応するタイル番号に基づいて、このプリミティブが即時描画によって描画処理が行われる領域の内部に含まれるか否かを判断することができる。そして、このステップ353の判定結果に応じて、ステップ309の即時描画処理あるいはステップ310のシーンデータの出力処理が行われる。
【0102】
なお、即時描画処理の過程において、第2評価部119は、Zテストによる除去画素数および遅延レンダリングによる除去画素数を、即時描画が適用される領域ごとに集計する処理を行う。第2評価部119は、例えば、画素除去部123から、個々のプリミティブを描画する際に発生する上述した2種類の除去画素数をタイルごとに取得することができる。そして、これらの除去画素数を、第2評価部119により、領域ごとに加算することによって、集計結果を得ることができる。
【0103】
また、描画対象のプリミティブが、即時描画が適用される領域とタイル型遅延描画が適用される領域とにまたがっている場合は、それぞれの領域に含まれる部分について適合する処理を行うこともできる。例えば、描画対象のプリミティブのうち、即時描画が適用される領域に含まれる部分については、ステップ309の即時描画処理で描画を行う。そして、この処理とともに、このプリミティブに関するシーンデータを外部メモリ101に出力する処理も合わせて実行すればよい。これにより、残りの部分をタイル型遅延描画によって描画することができる。
【0104】
上述した処理を1フレームに含まれる全てのプリミティブについて繰り返して実行した後に(ステップ311の肯定判定)、処理は、ステップ354に進む。このステップ354で、第1評価部118は、各領域について集計された情報に基づいて、例えば、上述した式(1)を用いて個々の領域についてのシーンデータ量を評価する。
【0105】
次に、タイル型遅延描画処理の対象となるシーンデータがあるか否かが判定される(ステップ355)。例えば、上述したステップ353の判定に応じて、外部メモリ101に出力されたシーンデータが存在したか否かに基づいて、タイル型遅延描画処理の対象となるシーンデータの有無を判定することができる。
【0106】
ステップ355の肯定判定の場合に、ソート部116により、シーンデータのソート処理が行われる(ステップ356)。ステップ356では、タイル型遅延描画が適用される領域に少なくとも一部が含まれるプリミティブに関する図形情報が、タイル毎にソートされる。続いて、ソートされたシーンデータに基づくタイル型遅延描画処理が行われる(ステップ357)。なお、タイル型遅延描画処理の過程において、第2評価部119は、Zテストによる除去画素数および遅延レンダリングによる除去画素数を、タイル型遅延描画が適用される領域ごとに集計する処理を行う。第2評価部119は、例えば、画素除去部123から、個々のタイルを描画する際に発生する上述した2種類の除去画素数をタイルごとに取得することができる。そして、これらの除去画素数を、第2評価部119により、領域ごとに加算することによって、集計結果を得ることができる。
【0107】
ステップ355の否定判定の場合と、上述したソート処理およびタイル型遅延描画処理の終了後に、処理は、ステプ358に進む。ステップ358では、第2評価部119により、各領域についての除去データ量が評価される。この評価処理には、ステップ309の即時描画処理あるいはステップ357のタイル型遅延描画処理の過程で領域ごとに集計されたZテストによる除去画素数および遅延レンダリングによる除去画素数が用いられる。第2評価部119は、例えば、上述した式(2)に、各領域について集計された2種類の除去画素数を代入することにより、領域ごとの除去データ量を算出することができる。
【0108】
上述したようにして求められた各領域のシーンデータ量および除去データ量は、ステップ317の否定判定の場合に、ステップ359において、領域ごとの描画手法の決定処理に用いられる。ステップ359では、例えば、決定部120により、各領域のシーンデータ量と除去データ量とがそれぞれ比較される。そして、個々の領域について得られた比較結果に基づいて、決定部120により、次のフレームにおいて、対応する領域について適用する描画手法が決定される。
【0109】
図12、図13に示したような描画処理は、画像シーケンスに含まれる各フレームの画像内に特徴の異なる部分が混在している場合に有用である。このような画像シーケンスにおいても、連続するフレームの画像を比べれば、それぞれの領域の分布は類似している可能性が高い。したがって、前のフレームの画像において、即時描画の適用によって高速化される可能性がある領域については、次のフレームにおいて即時描画を適用することにより、描画処理の高速化を図ることができる。同様に、前のフレームの画像において、タイル型遅延描画の適用によって高速化される可能性がある領域については、次のフレームにおいてタイル型遅延描画を適用することにより、描画処理の高速化を図ることができる。
【0110】
このように、実施形態4で説明した切替制御を適用すれば、画像内に特徴の異なる部分が混在している複数の画像を含む画像シーケンスの描画処理を高速化することができる。なお、図12のステップ301で設定されるデフォルトの描画手法は、各領域について一律に設定することもできるし、領域ごとに異なる描画手法を設定することもできる。
【0111】
また、実施形態4で説明した領域ごとのシーンデータ量および除去データ量の評価処理を、実施形態2で説明した第1キャッシュおよび第2キャッシュを有する描画装置に適用することもできる。同様に、実施形態4で説明した領域ごとのシーンデータ量および除去データ量の評価処理を、実施形態3で説明した第1圧縮部および第2圧縮部を有する描画装置に適用することもできる。また、描画装置に、第1キャッシュおよび第2キャッシュとともに第2圧縮部を設けるなど、実施形態1〜実施形態4で説明した技法を様々な組み合わせで適用することも可能である。
【0112】
以上の説明に関して、更に、以下の各項を開示する。
(付記1)
画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部と、
を有することを特徴とする描画装置。
(付記2)
付記1に記載の描画装置において、
前記各画像の描画に用いられるシーンデータに含まれる少なくとも一つの図形の情報を、前記少なくとも一つの図形の表示画面における配置に基づいて、前記表示画面を区分して形成されるタイル毎にソートするソート部と、
入力されるシーンデータによって記述される図形の描画処理を行う描画部と、
前記決定部によって即時描画を適用する旨の決定がなされたときに、前記ソート部によるソート処理が行われる前のシーンデータを前記描画部に入力し、タイル型遅延描画を適用する旨の決定がなされたときに、前記ソート部によってソートされたシーンデータを前記フレームにおけるタイルの配列順に従って前記描画部に入力する制御を行う制御部と、
を有することを特徴とする描画装置。
(付記3)
付記1または付記2に記載の描画装置において、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記4)
付記1乃至付記3のいずれか1つに記載の描画装置において、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
(付記5)
付記1または付記2に記載の描画装置において、
前記シーンデータに記述される可能性のある複数種類の図形のうち、少なくとも一部の種類の図形を表す情報を格納する第1キャッシュを有し、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数と前記第1キャッシュのミス率とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記6)
付記1または付記2に記載の描画装置において、
前記フレームの一部に含まれる画素に対応するデプス値および画素データを格納する第2キャッシュを有し、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数と、前記第2キャッシュのミス率とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
(付記7)
付記1または付記2に記載の描画装置において、
前記シーンデータを圧縮する第1圧縮部を有し、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表すデータ量と前記少なくとも一つの図形が配置されるタイルの総数と前記第1圧縮部の圧縮率とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
(付記8)
付記1または付記2に記載の描画装置において、
前記シーンデータに基づく即時描画処理によって生成される画素データおよびデプス値の少なくとも一方を圧縮する第2圧縮部を有し、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数と、前記第2圧縮部による圧縮処理で前記画素データに適用される圧縮率と、前記第2圧縮部による圧縮処理で前記デプス値に適用される圧縮率とに基づいて、前記除去される画素の描画処理にかかわるデータ量を評価する
ことを特徴とする描画装置。
(付記9)
画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、
前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する、
ことを特徴とする描画方法。
【符号の説明】
【0113】
101…外部メモリ;102…シーンデータ格納部;103…ソートデータ格納部;104…画像データ格納部;105…デプスデータ格納部;110…描画装置;111…読み込み部;112…頂点処理部;113…図形作成部;114…図形除去部;115…シーンデータ作成部;116…ソート部;117…描画部;118…第1評価部;119…第2評価部;120…決定部;121…制御部;122…画素生成部;123…画素除去部;124…内部バッファ;125…画素処理部;126…プリミティブキャッシュ;127…画素・デプスキャッシュ;128…第1ミス率算出部;129…第2ミス率算出部;131…シーンデータ圧縮伸長部;132…ソートデータ圧縮伸長部;133、135…画素・デプス圧縮伸長部;134…画素圧縮部
【特許請求の範囲】
【請求項1】
画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部と、
を備えたことを特徴とする描画装置。
【請求項2】
請求項1に記載の描画装置において、
前記各画像の描画に用いられるシーンデータに含まれる少なくとも一つの図形の情報を、前記少なくとも一つの図形の表示画面における配置に基づいて、前記表示画面を区分して形成されるタイル毎にソートするソート部と、
入力されるシーンデータによって記述される図形の描画処理を行う描画部と、
前記決定部によって即時描画を適用する旨の決定がなされたときに、前記ソート部によるソート処理が行われる前のシーンデータを前記描画部に入力し、タイル型遅延描画を適用する旨の決定がなされたときに、前記ソート部によってソートされたシーンデータを前記描画部に入力する制御を行う制御部と、
を備えたことを特徴とする描画装置。
【請求項3】
請求項1または請求項2に記載の描画装置において、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
【請求項4】
請求項1乃至請求項3のいずれか1項に記載の描画装置において、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
【請求項5】
画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、
前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する、
ことを特徴とする描画方法。
【請求項1】
画像シーケンスに含まれる複数の画像を順次に描画する描画装置であって、
前記複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータのうち、前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価する第1評価部と、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する第2評価部と、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について前記第1評価部および前記第2評価部によってそれぞれ得られる評価結果に基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する決定部と、
を備えたことを特徴とする描画装置。
【請求項2】
請求項1に記載の描画装置において、
前記各画像の描画に用いられるシーンデータに含まれる少なくとも一つの図形の情報を、前記少なくとも一つの図形の表示画面における配置に基づいて、前記表示画面を区分して形成されるタイル毎にソートするソート部と、
入力されるシーンデータによって記述される図形の描画処理を行う描画部と、
前記決定部によって即時描画を適用する旨の決定がなされたときに、前記ソート部によるソート処理が行われる前のシーンデータを前記描画部に入力し、タイル型遅延描画を適用する旨の決定がなされたときに、前記ソート部によってソートされたシーンデータを前記描画部に入力する制御を行う制御部と、
を備えたことを特徴とする描画装置。
【請求項3】
請求項1または請求項2に記載の描画装置において、
前記第1評価部は、前記シーンデータに記述される少なくとも一つの図形の数と前記少なくとも一つの図形それぞれを表す情報のデータ量と前記少なくとも一つの図形が配置されるタイルの総数とに基づいて、前記シーンデータのデータ量を評価する
ことを特徴とする描画装置。
【請求項4】
請求項1乃至請求項3のいずれか1項に記載の描画装置において、
前記第2評価部は、前記シーンデータに記述される少なくとも一つの図形を描画する過程に含まれるZテストで除去される画素数と、前記シーンデータにおける記述順が後の図形の表示に用いられる画素によって隠される画素数とに基づいて、前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価する
ことを特徴とする描画装置。
【請求項5】
画像シーケンスに含まれる複数の画像それぞれに含まれる少なくとも一つの図形の形状および配置を記述するシーンデータの入力を受け、
前記複数の画像のそれぞれについて、前記画像に含まれる少なくとも一部の領域の描画に用いられるシーンデータのデータ量を評価するとともに、
前記複数の画像のそれぞれについて、前記シーンデータに基づいて前記画像に含まれる少なくとも一部の領域を描画する過程で除去される画素にかかわる描画処理に用いられるデータ量を評価し、
前記画像シーケンスのj番目に位置する画像に含まれる少なくとも一部の領域について得られたシーンデータのデータ量についての評価結果と除去される画素にかかわる描画処理に用いられるデータ量とに基づいて、j+1番目の画像に含まれる対応する領域の描画処理に即時描画を適用するかタイル型遅延描画を適用するかを決定する、
ことを特徴とする描画方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−155610(P2012−155610A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−15422(P2011−15422)
【出願日】平成23年1月27日(2011.1.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願日】平成23年1月27日(2011.1.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]