(57)【要約】【課題】ピクセルデータの処理効率を向上させることのできる画像データ処理装置を得る。【解決手段】遅延バッファ２０は、レンダリング処理部１０で生成されたピクセルデータに対して、フレームバッファ４０内のアドレス空間における所定の領域でアクセスが連続するようピクセルデータを並べ替えてピクセル処理部３０に出力する。ピクセル処理部３０は、遅延バッファ２０から出力されたピクセルデータとフレームバッファ４０に格納されたピクセルデータとに基づいて、ピクセル単位の処理を行う。【選択図】図１
2007200251.tif 000002
【特許請求の範囲】
【請求項１】
画像のピクセルデータを生成するレンダリング処理部と、
前記ピクセルデータを、フレーム単位で格納するフレームバッファと、
前記レンダリング処理部で生成されたピクセルデータと前記フレームバッファに格納されたピクセルデータとに基づいて、ピクセル単位の処理を行うピクセル処理部と、
前記レンダリング処理部で生成されたピクセルデータに対して、前記フレームバッファ内のアドレス空間における所定の領域でアクセスが連続するようピクセルデータを並べ替えて前記ピクセル処理部に出力するピクセル並べ替え部を備えた画像データ処理装置。
【請求項２】
ピクセルデータは、画像の座標値の情報を含み、
フレームバッファは、前記ピクセルデータを前記座標値に対応したアドレスでフレーム単位に格納し、
ピクセル並べ替え部は、前記ピクセルデータの座標値に基づいて当該ピクセルデータの出力順序を並べ替えることを特徴とする請求項１記載の画像データ処理装置。
【請求項３】
ピクセルデータは、３次元空間における視点からの位置関係を表すデプス値の情報を含み、
ピクセル処理部は、前記デプス値に基づいて隠面消去処理を行い、
ピクセル並べ替え部は、前記ピクセルデータのデプス値に基づいて、前記ピクセル処理部が視点に近いピクセルデータから処理するように、当該ピクセルデータの出力順序を並べ替えることを特徴とする請求項１または請求項２記載の画像データ処理装置。
【請求項４】
ピクセル並べ替え部は、並べ替え対象となる複数のピクセルデータにおいて、同一座標値で異なるデプス値を持つピクセルデータが存在した場合は、当該異なるデプス値を持つピクセルデータ中、視線からの距離の遠い方のピクセルデータを描画不要のピクセルデータとして判定することを特徴とする請求項３記載の画像データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、グラフィックスハードウェアにとって最適なピクセル転送順序にピクセルデータを並べ替える画像データ処理装置に関するものである。
【背景技術】
【０００２】
グラフィクスハードウェアではレンダリングが終了すると、メモリ上のフレームバッファ(描画メモリ)へピクセルデータを転送する。レンダリングによって生成されるピクセルデータの順番はレンダリング方法の仕様によって決定される。様々なグラフィクスハードウェアにおいては、メモリの物理的構成が異なることから、フレームバッファへの最適なピクセルデータ転送順序は異なることが多い。そのため、レンダリングによって生成させるピクセルデータの処理順序とグラフィクスハードウェアにとって最適なピクセル転送順序は異なることが多い。
【０００３】
従来、グラフィクス処理性能を向上させるために、フレームバッファへピクセルデータを転送する前に、グラフィクスハードウェアにとって最適なピクセル転送順序にピクセルデータを整列させる方法があった（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開平１１−２８３０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に記載されたような従来のピクセルデータの転送方法では、フレームバッファへピクセルデータを転送する前に、グラフィクスハードウェアにとって最適なピクセル転送順序に並べ替えることでピクセルデータの転送効率は向上する。しかしながら、このような方法であっても、ピクセルデータの処理効率が向上するわけではなく、ピクセルデータの処理効率を向上させるという観点からは不十分であった。
【０００６】
この発明は上記のような問題点を解決するためになされたもので、ピクセルデータ転送よりも前処理であるピクセルデータ処理を行う前に、グラフィクスハードウェアにとって最適なピクセルデータ転送順序に並べ替えることで、ピクセルデータの処理効率を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る画像データ処理装置は、レンダリング処理部で生成されたピクセルデータとフレームバッファに格納されたピクセルデータとに基づいて、ピクセル単位の処理を行うピクセル処理部と、レンダリング処理部で生成されたピクセルデータに対して、フレームバッファ内のアドレス空間における所定の領域でアクセスが連続するようピクセルデータを並べ替えてピクセル処理部に出力するピクセル並べ替え部を備えたものである。
【発明の効果】
【０００８】
この発明の画像データ処理装置は、レンダリング処理部で生成されたピクセルデータに対して、フレームバッファ内のアドレス空間における所定の領域でアクセスが連続するようピクセルデータを並べ替えたので、ピクセルデータの処理効率を向上させることができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１による画像データ処理装置を示す構成図である。
図において、画像データ処理装置は、遅延バッファを含むグラフィクスパイプラインを構成しており、レンダリング処理部１０、遅延バッファ（ピクセル並べ替え部）２０、ピクセル処理部３０、フレームバッファ４０を備えている。
【００１０】
レンダリング処理部１０は、グラフィクスオブジェクトを塗りつぶす処理を行い、グラフィックスオブジェクトのピクセルデータを生成する。また、レンダリング処理部１０は、オブジェクトの色情報や、３次元空間における視点からの位置（奥行き）を示すデプス値、ピクセルの座標値などを出力する。また、模様をオブジェクトに貼り付ける処理を行う機能も有している。
【００１１】
遅延バッファ２０は、レンダリング処理部１０で生成されたピクセルデータに対して、フレームバッファ４０内のアドレス空間における所定の領域でアクセスが連続するようピクセルデータを並べ替えてピクセル処理部３０に出力する機能を有しており、入力バッファ２１、比較器２２を備えている。入力バッファ２１は、レンダリング処理部１０からのピクセルデータをある一定量、一時的に保持するためのバッファである。比較器２２は、ピクセルの座標値に基づいて、ピクセルの並べ替えを行う機能を有している。
【００１２】
ピクセル処理部３０は、ピクセル単位での処理を行う画像処理部であり、ブレンド部３１、Ｚテスト部３２を備えている。ブレンド部３１は、遅延バッファ２０から出力され、ピクセル処理部３０に入力したピクセルの座標値に基づいて、フレームバッファ４０中の（後述するカラーバッファ４１）のピクセルデータを読み出し、この読み出したピクセルと入力されたピクセルの色混合を行う機能を有している。例えば、フレームバッファ４０のカラーバッファ４１に既に書かれているデータは色データ（赤や青）であり、これをＤＳＴ（デスティネーション）データと呼ぶ。また、レンダリング処理部１０から出力されるピクセルデータもＤＳＴデータと同じ形式の色データであり、これは、通常、ＳＲＣ（ソース）データと呼ぶ。ブレンド部３１は、このようなＤＳＴデータとＳＲＣデータを用いて、アルファブレンドといった処理を行うものである。
【００１３】
また、Ｚテスト部３２は、生成されたピクセルのフレームバッファ４０への書き込みを制御する。このＺテスト部３２において、通常行われる隠面消去処理といった制御は次のようなものである。即ち、既にフレームバッファ４０上に書かれているピクセルデータ（ＤＳＴ）より書き込むピクセルデータ（ＳＲＣ）が視点から遠くにある場合、既に書かれているピクセルデータ（ＤＳＴ）によって書き込むピクセルデータ（ＳＲＣ）は覆い隠されるため、フレームバッファ４０への書き込みを行わない。Ｚテスト部３２では、フレームバッファ４０内の後述するＺバッファ４２に格納されたピクセルデータ（ＤＳＴ）のデプス値と、レンダリング処理部１０から出力されるピクセルデータ（ＳＲＣ）のデプス値を用いて重なり判定を行う。
この様に、ピクセル処理部３０ではフレームバッファ４０上のデータを読み出し、そのデータを処理に使用することが多い。
【００１４】
フレームバッファ４０は、レンダリング処理部１０で生成されたピクセルデータを、その座標値に対応したアドレスでフレーム単位に格納する描画用メモリであり、カラーバッファ４１とＺバッファ４２とを備えている。カラーバッファ４１は、ピクセルデータの色情報のためのメモリ領域であり、Ｚバッファ４２は、ピクセルデータの奥行き情報のためのメモリ領域である。
【００１５】
次に、実施の形態１の動作について説明する。
ピクセル処理部３０におけるブレンド部３１では、ピクセル処理の一種であるブレンド処理を行う。即ち、このブレンド処理では、フレームバッファ４０におけるカラーバッファ４１に書かれているピクセルデータと、レンダリング処理部１０から出力されるピクセルデータの混合処理を行う。ここで、ピクセル処理部３０に入力されるピクセルの順番でフレームバッファ４０に書かれているピクセルデータを読み出すことが多い。よって、ピクセル処理部３０へ入力する前にピクセルの処理順序を、これらピクセル処理部３０やフレームバッファ４０といったグラフィクスハードウェアにとって最適なものに並べ替えることで、ブレンド処理を行う前のフレームバッファ読み出し順序も効率がよくなる。
【００１６】
グラフィクスハードウェアにとって最適なピクセル転送順序はピクセルの座標値によることが多い。通常、グラフィクスハードウェアのメモリはライン状やタイル状の一定領域単位での転送／読み出しが高速である。これを実現するため、遅延バッファ２０で行うピクセルデータ並べ替えのための比較器２２に入力されたピクセルデータの座標値を利用する。そして、座標値からフレームバッファ４０の読み出し・書き込みが高速に行える領域の転送が可能な限り連続するように並べ替える。
【００１７】
図２は、フレームバッファ４０のアドレス空間を分割した領域とピクセルデータとの関係を示す説明図である。
図２の（ａ）入力のように、レンダリングされた三角形がブレンド部３１でブレンド処理される場合、座標値から図２の（ｂ）出力のように並べ替えられる。即ち、遅延バッファ２０には、図２（ａ）の丸付き数字に示すように、三角形の図面上方向から下方向に向かってピクセルデータが入力される。遅延バッファ２０の比較器２２は、入力バッファ２１に保持されたピクセルデータに対して、図２（ｂ）の丸付き数字で示すように、領域Ａのピクセルデータ→領域Ｂのピクセルデータ→領域Ｃのピクセルデータ→領域Ｄのピクセルデータ→領域Ｅのピクセルデータ→領域Ｆのピクセルデータといった順序に並べ替えて出力する。ここで、分割された領域Ａから領域Ｆの６領域は、それぞれの領域内において転送／読み出しが高速に行える範囲である。
【００１８】
例えば、領域Ｂ（図中、網掛けで示す）に着目すると、図２（ａ）に示すように、入力されたまま出力すると、ブレンド部３１では、領域Ｂ読み出し→領域Ｂ書き込み→領域Ａ読み出し→領域Ａ書き込み→領域Ｂ読み出し→領域Ｂ書き込み、の順番で処理される。即ち、領域Ｂへの転送が２回に分けて行われる。一方、図２（ｂ）のように並べ替えられると、領域Ｂへの転送は一回でよくなり、ピクセル処理効率が向上する（領域Ａ読み出し→領域Ａ書き込み→領域Ｂ読み出し→領域Ｂ書き込み）。
【００１９】
このように、領域Ｂへの転送が一回で済むことにより、ピクセルデータのバースト転送が行え、また、図２（ａ）に示すような転送順序であった場合は連続領域へのアクセスが高速である部分の処理から違う部分への処理に移行するときにオーバヘッド（無駄）が発生するが、このようなオーバヘッドを減少させることができる。
【００２０】
以上のように、実施の形態１の画像データ処理装置によれば、画像のピクセルデータを生成するレンダリング処理部と、ピクセルデータを、フレーム単位で格納するフレームバッファと、レンダリング処理部で生成されたピクセルデータとフレームバッファに格納されたピクセルデータとに基づいて、ピクセル単位の処理を行うピクセル処理部と、レンダリング処理部で生成されたピクセルデータに対して、フレームバッファ内のアドレス空間における所定の領域でアクセスが連続するようピクセルデータを並べ替えてピクセル処理部に出力するピクセル並べ替え部を備えたので、画像データ処理装置として、ピクセルデータの処理効率を向上させることができる。
【００２１】
また、実施の形態１の画像データ処理装置によれば、ピクセルデータは、画像の座標値の情報を含み、フレームバッファは、ピクセルデータを座標値に対応したアドレスでフレーム単位に格納し、ピクセル並べ替え部は、ピクセルデータの座標値に基づいてピクセルデータの出力順序を並べ替えるようにしたので、一般的なグラフィクスハードウェアにとって最適なピクセル転送順序とすることができる。
【００２２】
実施の形態２．
実施の形態２では、ピクセルデータのデプス値に基づいて、ピクセルデータの並べ替えを行うようにしたものである。
【００２３】
実施の形態２の画像データ処理装置における図面上の構成は、図１に示した実施の形態１と同様であるため、図１を援用して説明する。
実施の形態２の遅延バッファ２０は、ピクセルデータのデプス値に基づいて、ピクセル処理部３０が視点に近いピクセルデータから処理するように、そのピクセルデータの出力順序を並べ替えるよう構成されている。これ以外の構成は、実施の形態１と同様であるため、ここでの説明は省略する。
【００２４】
次に、実施の形態２の動作について説明する。
例えば、図３に示すように、三角形をＡ、Ｂ、Ｃ、Ｄの順番にレンダリングした場合、重なって隠れた部分のピクセルもフレームバッファへ一度転送され、上に重なった三角形によって上書きされる。三角形Ａに含まれるピクセルが全てフレームバッファに書き込まれた後に、三角形Ｂに含まれるピクセルが全て書き込まれる。三角形Ａに含まれるピクセルで三角形Ｂによって覆い隠される部分はフレームバッファにおいて上書きされることになる。この上書きされる部分のピクセルデータの転送は無駄な処理である。
【００２５】
このように、３Ｄグラフィクスにおいて三角形を連続でレンダリングする場合、重なった部分をフレームバッファ４０に描画する必要はない。そこで、ピクセル処理部３０におけるＺテスト部３２では、フレームバッファ４０に描画する必要があるか否かの判定を行っている。
【００２６】
即ち、レンダリングの後にＺテストを行い、視点からの奥行きを表すデプス値からフレームバッファ４０への描画を行うかを判定する。フレームバッファ４０にはピクセルの色情報を保持するカラーバッファ４１とデプス値を保存するＺバッファ４２がある。Ｚテストではデプス値をフレームバッファ４０のＺバッファ４２から読み出し、更新するピクセルのデプス値と比較する。Ｚテストを実施することで、既に書かれているピクセルより手前にあるピクセルであるかを判定し、手前にあるピクセルにあるピクセルのみフレームバッファ４０に転送され更新される。
【００２７】
３Ｄグラフィクスハードウェアにとって最適なピクセル転送順序とは、視点に近いピクセルから遠い順番に並べたものである。重なった部分は描画する必要がないため、先に手前にあるピクセルを描画することで、フレームバッファ４０へのピクセルデータ転送を省略できる。但し、Ｚテストに必要なＺバッファ４２の読み出しは必要であることは変わらない。これを実現するため、遅延バッファ２０で行うピクセルデータ並べ替えのための比較器２２に入力されたピクセルデータに対して、視点からの距離であるデプス値を利用する。
【００２８】
遅延バッファ２０において、ピクセルのデプス値を参考にピクセルの処理順を変更する。デプス値を用い、視点に近いピクセルから処理するように変更する。入力バッファ２１に入力できるピクセル数が、遅延バッファ２０で並べ替えできるピクセル数の上限になる。
図４は、これを示す説明図である。
【００２９】
このようなピクセルの並べ替えにより、ピクセル処理部３０のＺテスト部３２において、三角形Ａに含まれるピクセルのＺテスト処理は後回しにされることになる。そして、三角形Ａに含まれるピクセルの覆い隠される部分はデプステストで描画必要なしと判定され、フレームバッファ４０への転送を省略できる（遅延バッファ２０は、処理順序の入れ換えだけで、ピクセル処理を破棄するわけではない）。
【００３０】
図５は、遅延バッファでの処理順序変更後のＺテスト処理を示す説明図である。
もし、処理順序の変更がない場合はＺテストには全てＰＡＳＳ（描画必要あり）する。後から書き込むピクセルの方が常に手前にあるからである。よってこの場合、全てのピクセルをフレームバッファ４０へ転送する必要がある。一方、処理順序の変更がある場合は一部のピクセルがデプステストにＦＡＩＬ（描画必要なし）する。後から書き込むピクセルが奥にあると判定されて、フレームバッファ４０への転送が必要なくなる。このＦＡＩＬするピクセルが多くなれば、フレームバッファ４０への転送回数が減ることになる。
【００３１】
以上のように、実施の形態２の画像データ処理装置によれば、ピクセルデータは、３次元空間における視点からの位置関係を表すデプス値の情報を含み、ピクセル処理部は、デプス値に基づいて隠面消去処理を行い、ピクセル並べ替え部は、ピクセルデータのデプス値に基づいて、ピクセル処理部が視点に近いピクセルデータから処理するように、ピクセルデータの出力順序を並べ替えるようにしたので、フレームバッファへの転送回数を減らすことができ、更に、ピクセルの処理効率を向上させることができる。
【００３２】
また、このような効果を実現するために、遅延バッファ２０以外のモジュールは必要なく、また他のモジュールとのアクセスも必要ない。
【００３３】
実施の形態３．
実施の形態２において、遅延バッファ２０は、ピクセル処理順序を変更する機能しか備えていないが、遅延バッファ２０において簡易的なＺテストを行い、不必要なピクセル処理を省略する機能を持たせてもよく、これを実施の形態３として説明する。
【００３４】
実施の形態３の画像データ処理装置においても、図面上の構成は図１と同様であるため、図１を援用して説明する。
実施の形態３の遅延バッファ２０は、並べ替え対象となる複数のピクセルデータ中、同一座標値で、デプス値が視点から遠いピクセルデータが存在した場合は、そのピクセルデータを描画不要と判定するよう構成されている。その他の構成は実施の形態１または実施の形態２と同様であるため、ここでの説明は省略する。
【００３５】
次に、実施の形態３の動作について説明する。
遅延バッファ２０に入力されるピクセルデータは、座標値と色情報とデプス値の情報を持っている。これらの情報を履歴のように利用し、遅延バッファ２０内で簡易的なＺテストを実施する。
【００３６】
図６は、実施の形態３の動作を示す説明図である。
遅延バッファ２０内で同一座標値のピクセルデータがないかを調べ、あった場合、比較器２２は、それらのピクセルデータのデプス値を比較し、視点より奥にあるピクセルデータの処理を図６に示すように破棄する。即ち、描画不要のピクセルデータとして判断し、このピクセルデータはピクセル処理部３０には出力しない。あるいは、ピクセル処理部３０が描画不要のピクセルデータと判断できる形で出力する。尚、このような判定処理は、遅延バッファ２０の入力バッファ２１内に一度に保持できるピクセルデータ分毎に行われる。これ以外の動作は実施の形態１または実施の形態２と同様である。
【００３７】
以上のように、実施の形態３の画像データ処理装置によれば、ピクセル並べ替え部は、並べ替え対象となる複数のピクセルデータにおいて、同一座標値で異なるデプス値を持つピクセルデータが存在した場合は、異なるデプス値を持つピクセルデータ中、視線からの距離の遠い方のピクセルデータを描画不要のピクセルデータとして判定するようにしたので、ピクセル並べ替え部において、描画不要のピクセルデータを特定することができ、更にピクセルデータの処理効率を向上させることができる。
また、実施の形態３の構成においても、遅延バッファ２０以外のモジュールは必要なく、また他のモジュールとのアクセスも必要ない。
【図面の簡単な説明】
【００３８】
【図１】この発明の実施の形態１による画像データ処理装置を示す構成図である。
【図２】この発明の実施の形態１におけるフレームバッファのアドレス空間とピクセルデータとの関係を示す説明図である。
【図３】この発明の実施の形態２における視線方向とオブジェクトの描画との関係を示す説明図である。
【図４】この発明の実施の形態２におけるピクセルデータ並べ替え処理の説明図である。
【図５】この発明の実施の形態２における処理順序を変更しない場合とした場合のＺテスト処理を示す説明図である。
【図６】この発明の実施の形態３による画像データ処理装置の動作を示す説明図である。
【符号の説明】
【００３９】
１０  レンダリング処理部、２０  遅延バッファ（ピクセル並べ替え部）、３０  ピクセル処理部、４０  フレームバッファ。
【図１】
2007200251.tif 000003
【図２】
2007200251.tif 000004
【図３】
2007200251.tif 000005
【図４】
2007200251.tif 000006
【図５】
2007200251.tif 000007
【図６】
2007200251.tif 000008