(57)【要約】【課題】  より効率的な描画処理を実現する画像処理装置を提供する。【解決手段】  描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置１０００において、ラスタライズ部１０は、第１の単位図形をスクリーン座標に投影した状態で、スクリーンに対応する描画領域を複数の単位領域に分割して出力し、第２の単位図形以降についても同様の処理を経て、各単位図形を構成する複数の単位領域を単位図形ごとに順次出力する。領域分割部２０は、ラスタライズ部１０から順次出力される単位領域を複数のサブ領域に分割する。領域破棄部３０は、領域分割部２０において分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する。領域書込部４０は、領域破棄部３０による破棄処理の結果残ったサブ領域を再統合し、再統合により得られる統合領域ごとに、サブ領域をメモリに書き込む。【選択図】  図１
2006235839.tif 000002
【特許請求の範囲】
【請求項１】
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するラスタライズ部と、
前記ラスタライズ部から出力される単位領域を複数のサブ領域に分割する領域分割部と、
前記領域分割部における分割の結果得られた複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄部と、
前記領域破棄部による破棄処理の結果残ったサブ領域をメモリに書き込む領域書込部と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域を再統合し、再統合により得られる統合領域ごとに、前記メモリに書き込むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記統合領域は、前記単位領域と同サイズを有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記サブ領域のサイズは、前記領域書込部が当該サブ領域をメモリに書き込む際の単位処理量に相当することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域のうち、分割前にサブ領域が属していた単位領域のスクリーン座標系における座標が互いに同一のサブ領域を統合することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属していた単位領域内における相対的な位置情報を参照して前記メモリの該当アドレスに書き込むことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記単位領域は矩形領域であって、前記ラスタライズ部は、前記複数の単位領域がそれぞれ、縦横のピクセル数が互いに等しいピクセル群を含むよう描画領域を分割し、
前記領域分割部は、前記ピクセル群を含む前記単位領域を、縦横のピクセル数が互いに等しい小ピクセル群を含む複数のサブ領域に分割することを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記領域破棄部は、前記領域分割部において分割された複数のサブ領域のうち、有効なピクセルを含まないサブ領域を対象として破棄処理を行うことを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域のうち、スクリーン座標系において互いに同一の座標に有効なピクセルを含まないサブ領域を再統合し、再統合により得られる統合領域ごとに、前記メモリに書き込むことを特徴とする請求項７または８に記載の画像処理装置。
【請求項１０】
前記領域書込部は、前記領域破棄部による破棄処理の結果残ったサブ領域のうち、分割前にサブ領域が属していた単位領域のスクリーン座標系における座標が互いに同一のサブ領域を統合することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属していた単位領域内における相対的な位置情報を参照して前記メモリの該当アドレスに書き込むことを特徴とする請求項９に記載の画像処理装置。
【請求項１２】
前記領域書込部は、
前記サブ領域に含まれるピクセルを、並列的に前記メモリに書込むメモリアクセス部を備えることを特徴とする請求項７に記載の画像処理装置。
【請求項１３】
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するラスタライズステップと、
前記ラスタライズステップにおいて生成される前記単位領域を複数のサブ領域に分割する領域分割ステップと、
前記領域分割ステップにおいて分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄ステップと、
前記領域破棄ステップによる破棄処理の結果残ったサブ領域をメモリに書き込む領域書込ステップと、
を備えることを特徴とする画像処理方法。
【請求項１４】
前記ラスタライズステップにおいて、前記複数の単位領域がそれぞれ、縦横のピクセル数が互いに等しいピクセル群を含むよう描画領域を分割し、
前記領域分割ステップにおいて、前記ピクセル群を含む前記単位領域を、縦横のピクセル数が互いに等しい小ピクセル群を含む複数のサブ領域に分割することを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記領域破棄ステップにおいて、分割された複数のサブ領域のうち、有効なピクセルを含まないサブ領域を対象として破棄処理を行うことを特徴とする請求項１４に記載の画像処理方法。
【請求項１６】
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、
前記出力するステップにおいて出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するステップと、
を備えることを特徴とする画像処理方法。
【請求項１７】
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法であって、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、
前記分割して出力するステップにおいて出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込むステップと、
を備えることを特徴とする画像処理方法。
【請求項１８】
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、
前記出力するステップにおいて出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するステップと、
を実行させることを特徴とするコンピュータプログラム。
【請求項１９】
描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、
単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、
前記出力するステップにおいて出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込むステップと、
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィック演算処理装置等における画像処理技術に関する。
【背景技術】
【０００２】
近年のコンピュータゲームやディジタル放送などの分野に利用されるコンピュータグラフィックス技術や画像処理技術の著しい進歩に伴い、３次元グラフィックなどをより精緻に画面表示することが可能となっている。３次元グラフィック処理においては、３次元の座標データを有する３次元オブジェクトを２次元のスクリーンに投影し、ディスプレイなどに表示する処理が行われる。
【０００３】
３次元オブジェクトは、多角形、たとえば三角形のポリゴンの組み合わせによってモデリングされるのが通常である。この３次元オブジェクトを、２次元のスクリーンに投影する際には、各ポリゴンの頂点データからポリゴン内部に含まれるピクセルの輝度などの値を算出するラスタライズ処理が行われる。
このラスタライズ処理においては、ＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）と呼ばれる線形補間手法が用いられる。ＤＤＡによれば、頂点データからポリゴンの辺方向へのデータの傾きを求め、この傾きを用いて辺上のデータを算出する。続いてラスター走査方向の傾きを算出して内部のピクセルを発生させていく。
【０００４】
ここで、特許文献１には、ピクセルを発生させる際に、所定の矩形領域に含まれる複数のピクセルからなるピクセル群を１つの処理単位とし、このピクセル群をまとめて後段の処理ブロックに送出することで、描画速度の向上を図る技術が開示されている。
【０００５】
特許文献２においては、特許文献１に記載の技術を改良し、複数のピクセル群をひとつのピクセル群に統合して後段の処理ブロックに送出することにより、処理の効率化を図っている。
【０００６】
【特許文献１】特開２０００−３３８９５９号公報
【特許文献２】特開２００３−１２３０８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
近年、３次元コンピュータグラフィックの演算処理を行う画像処理装置の高性能化にともない、３次元オブジェクトをより詳細に描画するために、３次元オブジェクトを構成するポリゴンのサイズは小さくなる傾向にある。したがって、有効なピクセル数をわずかにしか含まないピクセル群が生成される可能性が高くなるため、より効率的な矩形領域すなわちピクセル群の統合処理が望まれる。
【０００８】
本発明はこのような課題に鑑みてなされたものであり、その目的は、より効率的に描画処理を実現する画像処理装置の提供にある。
【課題を解決するための手段】
【０００９】
本発明のある態様は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理技術に関する。この画像処理技術では、単位図形をスクリーン座標上で複数の単位領域に分割して出力する。分割して出力される単位領域を複数のサブ領域に分割する。領域分割部において分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する。領域破棄部による破棄処理の結果残ったサブ領域に対して描画処理を行う。
【発明の効果】
【００１０】
本発明に係る画像処理技術によれば、単位図形の描画処理を効率的に行うことができる。
【発明を実施するための最良の形態】
【００１１】
実施の形態の詳細について説明する前に、その概要を述べる。
本発明のある態様は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置に関する。この画像処理装置は、単位図形をスクリーン座標上で複数の単位領域に分割して出力するラスタライズ部と、ラスタライズ部から出力される単位領域を複数のサブ領域に分割する領域分割部と、領域分割部において分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄部と、領域破棄部による破棄処理の結果残ったサブ領域をメモリに書き込む領域書込部と、を備える。
【００１２】
この態様によれば、単位領域をサブ領域に分割し、不要なサブ領域を破棄することにより、後段に送出されるサブ領域数を減少させることができ、描画処理を効率的に行うことができる。単位図形とは、ポリゴンや曲面パッチをいう。
【００１３】
領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域を再統合し、再統合により得られる統合領域ごとに、サブ領域をメモリに書き込んでもよい。
【００１４】
領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域のうち、分割前にサブ領域が属していた単位領域のスクリーン座標系における座標が互いに同一のサブ領域を統合してもよい。
この場合、再統合後の統合領域に含まれるサブ領域は、すべて分割前に属していた単位領域が同一位置となる。その結果、メモリに当該統合領域に関するデータを書き込む際に、各サブ領域ごとに、単位領域の座標を参照する必要がなくなる。
【００１５】
統合領域は、単位領域と同サイズを有してもよい。この場合、ラスタライズ部の出力データと領域書込部の出力データのサイズが同一となる。ラスタライズ部における単位処理量と、メモリに書き込む際の単位処理量とを等しくすることにより、ハードウェア、ソフトウェア設計を柔軟に行うことができ、また既存のシステムとの整合性を高めることができる。
【００１６】
サブ領域のサイズは、領域書込部が当該サブ領域をメモリに書き込む際の単位処理量に相当してもよい。
【００１７】
領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属していた単位領域内における相対的な位置情報を参照してメモリの該当アドレスに書き込んでもよい。
【００１８】
単位領域は矩形領域であって、ラスタライズ部は、複数の単位領域がそれぞれ、縦横のピクセル数が互いに等しいピクセル群を含むよう描画領域を分割し、領域分割部は、ピクセル群を含む単位領域を、縦横のピクセル数が互いに等しい小ピクセル群を含む複数のサブ領域に分割してもよい。
【００１９】
領域破棄部は、領域分割部において分割された複数のサブ領域のうち、有効なピクセルを含まないサブ領域を対象として破棄処理を行ってもよい。
「有効なピクセル」とは、単位図形に囲まれた領域に対応するピクセルであり、ラスタライズ部によって輝度値やフォグ値などが生成されたピクセルをいう。
有効なピクセルを含まないサブ領域を破棄することにより、後段の処理ユニットにおいて、無効なピクセルを処理する頻度が減少し、効率的な描画処理を行うことができる。
【００２０】
領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域のうち、スクリーン座標系において互いに同一の座標に有効なピクセルを含まないサブ領域を再統合し、再統合により得られる統合領域ごとに、サブ領域をメモリに書き込んでもよい。
スクリーン座標系において同一の座標に有効なピクセルを有するサブ領域同士を、再統合の対象から除外することにより、有効なピクセルが重複することによる情報の欠損を確実に防止することができる。
【００２１】
領域書込部は、領域破棄部による破棄処理の結果残ったサブ領域のうち、分割前にサブ領域が属していた単位領域のスクリーン座標系における座標が互いに同一のサブ領域を統合してもよい。
この場合、再統合後の統合領域に含まれるサブ領域は、すべて分割前に属していた単位領域が同一位置となる。その結果、メモリに当該統合領域に関するデータを書き込む際に、各サブ領域ごとに、単位領域の座標位置を参照する必要がなくなる。
【００２２】
領域書込部は、書込対象となるサブ領域を、分割前にサブ領域が属していた単位領域内における相対的な位置情報を参照してメモリの該当アドレスに書き込んでもよい。
再統合によってサブ領域の相対的な位置情報が変化した場合においても、メモリに書き込む際に、もとの単位領域における相対的な位置情報を参照することにより、適切なアドレスに書き込むことができる。
【００２３】
領域書込部は、サブ領域に含まれるピクセルを、並列的にメモリに書込むメモリアクセス部を備えてもよい。
【００２４】
本発明の別の態様は、画像処理方法である。この画像処理方法は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法であって、単位図形をスクリーン座標上で複数の単位領域に分割して出力するラスタライズステップと、ラスタライズステップにおいて出力される単位領域を複数のサブ領域に分割する分割ステップと、領域分割部において分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄ステップと、領域破棄部による破棄処理の結果残ったサブ領域をメモリに書き込む領域書込ステップと、を備える。
【００２５】
ラスタライズステップにおいて、複数の単位領域がそれぞれ、縦横のピクセル数が互いに等しいピクセル群を含むよう描画領域を分割し、領域分割ステップにおいて、ピクセル群を含む単位領域を、縦横のピクセル数が互いに等しい小ピクセル群を含む複数のサブ領域に分割してもよい。
【００２６】
領域破棄ステップにおいて、分割された複数のサブ領域のうち、有効なピクセルを含まないサブ領域を対象として破棄処理を行ってもよい。
【００２７】
本発明の別の態様も描画処理方法である。この描画処理方法は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法であって、単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するステップと、を備える。
【００２８】
本発明の別の態様の描画処理方法は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法であって、単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込むステップと、を備える。
【００２９】
本発明の別の態様はコンピュータプログラムに関する。このコンピュータプログラムは、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を抽出して統合領域を生成するステップと、を実行させる。
【００３０】
本発明の別の態様のコンピュータプログラムは、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理するコンピュータプログラムであって、コンピュータに、単位図形をスクリーン座標上で複数の単位領域に分割して出力するステップと、出力される単位領域のそれぞれを構成する複数のサブ領域のうち、有効なピクセルを含むサブ領域を並行的にメモリに書き込むステップと、を実行させる。
【００３１】
本発明の別の態様は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置である。この画像処理装置は、単位図形をスクリーン座標に投影した状態で、スクリーンに対応する描画領域を複数の単位領域に分割して出力し、第２の単位図形以降についても同様の処理を経て、各単位図形を構成する複数の単位領域を単位図形ごとに順次出力するラスタライズ部と、ラスタライズ部から順次出力される単位領域を複数のサブ領域に分割する領域分割部と、前記領域分割部において分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄部と、領域破棄部による破棄処理の結果残ったサブ領域をメモリに書き込む領域書込部と、を備える。
【００３２】
本発明の別の態様は、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理方法である。この画像処理方法は、第１の単位図形をスクリーン座標に投影した状態で、スクリーンに対応する描画領域を複数の合同な単位領域に分割して生成し、第２の単位図形以降についても同様の処理を経て、各単位図形を構成する複数の単位領域を単位図形ごとに順次出力するラスタライズステップと、ラスタライズステップにおいて、順次生成される前記単位領域を複数のサブ領域に分割する領域分割ステップと、領域分割ステップにおいて分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄ステップと、領域破棄ステップによる破棄処理の結果残ったサブ領域をメモリに書き込む領域書込ステップと、を備える。
【００３３】
本発明のさらに別の態様は、コンピュータプログラムに関する。このコンピュータプログラムは、描画対象の三次元オブジェクトのサーフェスを構成する単位図形ごとにスクリーン座標系にて順次描画処理する画像処理装置において、コンピュータに、第１の単位図形をスクリーン座標に投影した状態で、スクリーンに対応する描画領域を複数の単位領域に分割して生成し、第２の単位図形以降についても同様の処理を経て、各単位図形を構成する複数の単位領域を単位図形ごとに順次生成するラスタライズステップと、ラスタライズステップにおいて順次生成される単位領域を複数のサブ領域に分割する領域分割ステップと、領域分割ステップにおいて分割された複数のサブ領域のうち一部のサブ領域を所定の規則で破棄する領域破棄ステップと、破棄処理の結果残ったサブ領域をメモリに書き込む領域書込ステップと、を実行させる。
【００３４】
なお、以上の構成要素の任意の組合せや本発明の構成要素や表現を方法、装置、システム、プログラムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【００３５】
以下、これらの発明の態様について、実施の形態をもとに詳細に説明する。
【００３６】
（第１の実施の形態）
図１は、第１の実施の形態に係る画像処理装置の構成を示す。画像処理装置１０００は、３次元コンピュータグラフィックなどの画像処理を行い、描画対象のオブジェクトのサーフェスを構成する単位図形をスクリーン座標系の描画領域に投影し、ピクセルを発生させて描画処理を行い、ディスプレイに表示する。
【００３７】
画像処理装置１０００は、グラフィックプロセッサ２００、メインプロセッサ３００、メインメモリ４００、グラフィックメモリ１２０を含む。これらのブロックは、バス５００を介して接続されている。
画像処理装置１０００は、図示しない表示装置と接続されており、画像処理装置１０００により生成された画像、映像を出力する。図１を含む以降の図において、様々な処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされた予約管理機能のあるプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３８】
メインプロセッサ３００は、３次元コンピュータグラフィックスのモデリングなどの演算処理を行う。メインメモリ４００は、主にメインプロセッサ３００によって使用される記憶領域である。このメインメモリ４００は、例えば、メインプロセッサ３００によりコンピュータグラフィックスに関するタスクを処理して得られたモデリングデータなどが一時的に格納される。
【００３９】
グラフィックメモリ１２０は、グラフィックプロセッサ２００により使用、管理されるグラフィックに関するデータ専用のメモリ領域である。このグラフィックメモリ１２０は、画像フレームデータが格納されるフレームバッファやＺバッファに加え、画像フレームデータを描画する際に参照される基本データである頂点データ、テクスチャデータ、カラールックアップテーブルなどが格納される領域を含んでいる。
【００４０】
グラフィックプロセッサ２００は、画像に関する処理を専用に実行するブロックであり、メインプロセッサ３００により生成された３次元モデリングデータをメインメモリ４００から読み出し、３次元モデリングデータをもとに座標変換、陰面消去、シェーディングを行って画像フレームデータを作成する一連のレンダリング処理などを行う。
グラフィックプロセッサ２００は、ラスタライザ１００、メモリインターフェース部１１０、ディスプレイコントローラ１３０を含む。
【００４１】
ラスタライザ１００は、メインメモリ４００から３次元モデリングデータを読み出し、描画対象となるプリミティブの頂点データを取得する。ラスタライザ１００は、この頂点データをもとに、３次元空間上のプリミティブを、スクリーン座標系への投影により描画平面上の図形に変換するビュー変換を行う。さらに、描画平面上の図形を、描画平面の水平方向に沿ってスキャンしながら、一列ごとに量子化されたピクセルに変換するラスター処理を行う。このラスタライザ１００によってプリミティブがピクセル展開されて、各ピクセル毎にピクセル情報が算出される。このピクセル情報には、ＲＧＢカラー値、透明度を表すα値、視点からの奥行きを表すＺ値が含まれる。
ラスタライザ１００は、スキャンラインに沿って所定の大きさのピクセル領域を生成し、メモリインターフェース部１１０へと出力する。ラスタライザ１００から出力されるピクセル群は、一度キューにスタックされ、メモリインターフェース部１１０はスタックされたピクセル群を順にグラフィックメモリ１２０に書き込んでいく。
【００４２】
メモリインターフェース部１１０は、グラフィックメモリ１２０にピクセルを書込み、あるいはディスプレイコントローラ１３０からの指示によってグラフィックメモリ１２０からフレームバッファを読み出す。ディスプレイコントローラ１３０は、グラフィックメモリ１２０から読み出された画像データを表示装置へと出力する。
【００４３】
以下、ラスタライザ１００の構成および動作について詳細に説明する。
ラスタライザ１００は、ラスタライズ部１０、統合処理部６００、キャッシュメモリ５０を含む。
【００４４】
ラスタライズ部１０は、描画対象のオブジェクトのサーフェスを構成する単位図形である三角形をスクリーン座標系の描画領域に投影し、描画領域を複数の単位領域に分割し、当該単位領域に含まれるピクセルを生成して、単位領域ごとにピクセル群として出力する。ラスタライズ部１０は、複数の単位図形（三角形）ごとに、順次単位領域をピクセル群として生成し、出力する。
【００４５】
図２は、ラスタライズ部１０におけるピクセル生成の様子を示す図である。図２は、スクリーン座標系の描画領域２０００の一部を示している。三角形１２は、３次元オブジェクトのサーフェスを構成する単位図形である１つの三角形が描画領域に投影されたものである。ラスタライズ部１０は、この三角形１２の３頂点１２ａ、１２ｂ、１２ｃの座標値、色、フォグ値、テクスチャ座標などにもとづいて、ポリゴン内部のピクセルを、ＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅ）法によって生成する。
【００４６】
描画領域は、合同な複数の単位領域１４に分割される。
ラスタライズ部１０は、各単位領域ごとに順次、三角形１２に囲まれる領域のピクセル情報（色、フォグ値など）を生成し、単位領域ごとに生成したピクセル情報を出力する。以下、ラスタライズ部１０において、ピクセル情報の生成がなされたピクセルを、有効なピクセルという。
【００４７】
本実施の形態において、所定のサイズを有する各単位領域１４は、縦横４ピクセル×４ピクセルを含んでいる。この単位領域１４に含まれる縦横４×４のピクセル群をスタンプＳＴＰと呼ぶ。各スタンプＳＴＰは、対応する単位領域のスクリーン座標系における位置情報を保持する。以下、スタンプの位置情報をスタンプアドレスＡＤＤｓｔｐという。
ラスタライズ部１０は、スタンプＳＴＰ単位で順次ピクセルの生成を行い、有効なピクセルを含むスタンプＳＴＰを順次統合処理部６００へと出力する。
【００４８】
統合処理部６００は、ラスタライズ部１０から出力される複数のスタンプＳＴＰを統合し、統合されたスタンプごとに後段のキャッシュメモリ５０に書き込む。統合処理部６００において複数のスタンプＳＴＰを統合して得られるスタンプを最終スタンプＳＴＰｆという。グラフィックプロセッサ２００内部において、ラスタライザ１００およびメモリインターフェース部１１０は、スタンプＳＴＰを１つの処理単位として各ブロック間でデータの送受を行っている。
【００４９】
はじめに、統合処理部６００における統合処理について説明する。統合処理部６００は、互いにスタンプアドレスＡＤＤｓｔｐが同一のスタンプ同士を統合処理する。
スタンプ同士の統合処理は、以下の２つをパラメータとして行われる。第１パラメータは、統合可能かを判定する単位の大きさ、第２パラメータは、実際に統合処理を行う単位の大きさである。図３（ａ）〜（ｃ）は、複数のスタンプが異なる条件下で統合処理される様子を示す図である。スタンプＳＴＰｍは、２つのスタンプＳＴＰ１、ＳＴＰ２を統合して得られる統合スタンプＳＴＰｍを表している。
以下、本実施の形態において、スタンプを分割して得られる縦横２×２ピクセルの小ピクセル群をクアッドＱＤと呼ぶ。また、有効なピクセルを含むクアッドを有効なクアッドと呼ぶ。
【００５０】
図３（ａ）は、２つのパラメータをいずれもピクセルとした場合の統合処理を示す。図３（ａ）のスタンプＳＴＰ１およびスタンプＳＴＰ２は、いずれも同一のスタンプアドレスを有している。これらのスタンプＳＴＰは、互いに重複した位置に有効なピクセルを含まない。したがって、ピクセルごとに重複が判定された結果、問題なく統合される。
【００５１】
図３（ｂ）は、２つのパラメータをいずれもクアッドＱＤとした場合の統合処理を示す。図３（ｂ）の統合処理においては、クアッドを単位として重複が判定される。その結果、スタンプＳＴＰ１とスタンプＳＴＰ２の右上のクアッドはいずれも有効であり、重複しているため、２つのスタンプは統合されず、２つのスタンプＳＴＰ１、ＳＴＰ２がそのまま出力される。
【００５２】
図３（ｃ）は、本実施の形態に係る統合処理であり、第１パラメータをピクセルとし、第２パラメータをクアッドＱＤとした場合の統合処理を表す。図３（ｃ）の統合処理においては、ピクセルを単位として重複が判定される。その結果、スタンプＳＴＰ１とスタンプＳＴＰ２の右上のクアッドＱＤはいずれも有効で重複しているが、ピクセル単位の判定では、有効なピクセルが重複しておらず、かつ２つのスタンプに含まれる有効なクアッドの総数は４つ以下なので１つのスタンプＳＴＰｍに統合することができる。なお、クアッド単位で統合処理を行った結果得られる統合スタンプＳＴＰｍは、各クアッドの位置が元の位置から変更される場合があるため、後述の再配置を行う。
このように、図３（ｃ）に示す本実施の形態に係る統合処理においては、重複の判定はピクセル単位で行い、統合処理はクアッド単位で行う。その結果、図３に示したスタンプＳＴＰ１とスタンプＳＴＰ２を統合する場合、統合処理の効率は、図３（ａ）の場合と同等となる。実際の画像処理においても、統合処理の効率は、図３（ａ）、図３（ｃ）、図３（ｂ）の順で優れている。
【００５３】
また、このような統合処理を行うための画像処理装置において、その実装コストについて考察すると、第１パラメータ、すなわち統合可能かを判定する単位を小さく設定する場合、重複を判定するユニットのみを変更すればよいため、実装コストはそれほど上昇しない。一方、第２パラメータ、すなわち、実際に統合処理を行う単位を小さくすると、メモリにアクセスするユニットの実装コストが高くなる。したがって、実装コストの観点から見ると、図３（ｂ）、図３（ｃ）、図３（ａ）の順で優れているといえる。
【００５４】
このように、図３（ｃ）に示した本実施の形態に係る統合処理方法は、統合処理効率と実装コストのバランスに優れている。以下、本実施の形態に係る統合処理を実現するための統合処理部６００の構成について説明する。
【００５５】
統合処理部６００は、領域分割部２０、領域破棄部３０、領域書込部４０を含む。
領域分割部２０は、ラスタライズ部１０から順次出力されるスタンプＳＴＰを、それぞれ縦横のピクセル数が等しい合同な複数の小ピクセル群に分割する。本実施の形態において、領域分割部２０は、縦横４×４ピクセルのスタンプＳＴＰを、縦横２×２ピクセルの合同なクアッドＱＤ０〜ＱＤ３に分割して、後段の領域破棄部３０へと出力する。
【００５６】
図４は、スタンプＳＴＰがクアッドＱＤ０〜ＱＤ３に分割される様子を示す図である。各クアッドＱＤ０〜ＱＤ３は、スタンプ内における相対的な位置情報をクアッドアドレスＡＤＤｑｄとして保持する。クアッドアドレスＡＤＤｑｄは、左上のクアッドから右下のクアッドに向かってそれぞれ、００、０１、１０、１１であるとする。図４において、クアッドアドレスは括弧内に示している。
領域分割部２０は、複数のピクセルをクアッドＱＤ単位で後段の領域破棄部３０へと出力する。
【００５７】
領域破棄部３０は、領域分割部２０から出力される複数のクアッドＱＤを所定の規則のもと間引いて破棄する。領域破棄部３０は、破棄処理の結果残ったクアッドＱＤを後段の領域書込部４０に出力する。
【００５８】
領域書込部４０は、領域破棄部３０における破棄処理の結果残ったクアッドＱＤをキャッシュメモリ５０に書き込む。このとき、領域破棄部３０による破棄処理の結果残ったクアッドＱＤは再統合され、縦横４×４ピクセルで構成されるスタンプに再構成される。領域書込部４０により再統合されたスタンプを統合スタンプＳＴＰｍという。  
【００５９】
領域書込部４０は、領域破棄部３０から出力された統合スタンプＳＴＰｍを処理単位としてキャッシュメモリ５０に書き込む。統合スタンプＳＴＰｍは、キャッシュメモリ５０に書き込まれることにより、キューにスタックされ、メモリインターフェース部１１０はスタックされた統合スタンプＳＴＰｍを順にグラフィックメモリ１２０に書き込んでいく。統合スタンプＳＴＰｍと最終スタンプＳＴＰｆは必ずしも同一とは限らないため、領域書込部４０は、後述の結合スタンプＳＴＰｍ内のクアッドの再配置を行う。
【００６０】
次に、領域分割部２０、領域破棄部３０、領域書込部４０における処理について詳細に説明する。
ラスタライズ部１０から順次出力されるスタンプＳＴＰのうち、領域分割部２０において分割処理の対象となるスタンプをソーススタンプＳＴＰｓという。ソーススタンプＳＴＰｓを順次、一旦クアッドＱＤに分割し、不要なクアッドＱＤを破棄した後に、再統合した結果得られるスタンプを統合スタンプＳＴＰｍという。また、ソーススタンプＳＴＰｓを統合する過程において使用され、統合処理を受けるべく保持されるスタンプをターゲットスタンプＳＴＰｔという。
統合処理部６００においては、ターゲットスタンプＳＴＰｔの空クアッドに、ソーススタンプＳＴＰｓのクアッドＱＤｓを順次書き込むことにより統合処理が進められる。
【００６１】
図５は、本実施の形態に係る統合処理部６００におけるスタンプＳＴＰの統合処理のフローチャートである。
【００６２】
まず、統合処理の開始に先立ち、領域書込部４０において、ターゲットスタンプＳＴＰｔを初期化する（Ｓ１００）。
次に変数ｊを０に初期化する（Ｓ１０２）。変数ｊは、ターゲットスタンプＳＴＰｔの何番目のクアッドまで有効なクアッドが書き込まれているかを表す。たとえば、ｊ＝０のとき、ターゲットスタンプＳＴＰｔには、１つのクアッドも書き込まれていないことを表し、ｊ＝４となると、ターゲットスタンプＳＴＰｔのすべてのクアッドが埋まっていることを示す。
【００６３】
次に領域分割部２０は、ソーススタンプＳＴＰｓを取得する（Ｓ１０４）。ソーススタンプＳＴＰｓの取得は、ラスタライズ部１０から出力されたスタンプＳＴＰを読み込むことにより行われる。
【００６４】
次にターゲットスタンプＳＴＰｔとソーススタンプＳＴＰｓのスタンプアドレスＡＤＤｓｔｐが比較される（Ｓ１０６）。その結果、２つのスタンプのアドレスが異なる場合（Ｓ１０６のＮ）には統合処理を行わず、現在のターゲットスタンプＳＴＰｔを統合スタンプＳＴＰｍとして後段の領域書込部４０へ出力し（Ｓ１３０）、ターゲットスタンプＳＴＰｔを初期化する（Ｓ１３２）。ターゲットスタンプＳＴＰｔの初期化に伴い、変数ｊを０とする（Ｓ１３４）。その後、Ｓ１０８に戻る。
【００６５】
一方、２つのスタンプのアドレスが同一の場合（Ｓ１０６のＹ）には、領域分割部２０は、ソーススタンプＳＴＰｓを４つのクアッドＱＤｓ０〜ＱＤｓ３に分割する（Ｓ１０８）。
次いで変数ｉを０に初期化する（Ｓ１１０）。変数ｉは、統合対象となるソーススタンプＳＴＰｓの何番目のクアッドが処理対象かを表す。たとえば、ｉ＝０のとき、ソーススタンプＳＴＰｓのクアッドＱＤｓ０が処理対象となる。
【００６６】
次に、領域破棄部３０は、ソーススタンプＳＴＰｓのｉ番目のクアッドＱＤｓｉが有効なピクセルを含むかを判定する（Ｓ１１２）。その結果、クアッドＱＤｓｉが有効なピクセルを含まない場合（Ｓ１１２のＮ）、そのクアッドＱＤｓｉを破棄する（Ｓ１６０）。その後、次のクアッドＱＤｓｉについて処理すべく変数ｉを１増加する（Ｓ１２６）。
【００６７】
領域書込部４０は、クアッドＱＤｓｉが有効なピクセルを含む場合（Ｓ１１２のＹ）、そのクアッドＱＤｓｉの有効なピクセルがターゲットスタンプＳＴＰｔの有効なピクセルと重複するかを判定する（Ｓ１１４）。この判定は、クアッドＱＤｓｉとターゲットスタンプＳＴＰｔが、スクリーン座標系において互いに同一の座標位置に有効なピクセルを含むかを判定することにより行われる。
【００６８】
その結果、互いに有効なピクセルが重複する場合（Ｓ１１４のＹ）には、統合処理は行わず、それまでのターゲットスタンプＳＴＰｔを統合スタンプＳＴＰｍとして出力し、ターゲットスタンプＳＴＰｔを初期化し、さらに変数ｊを０に戻す（Ｓ１４０〜Ｓ１４４）。その後、以下の統合処理（Ｓ１１６〜Ｓ１２８）に進む。
また、有効なピクセルが重複しない場合（Ｓ１１４のＮ）にも、以下の統合処理（Ｓ１１６〜Ｓ１２８）に進む。
【００６９】
ソーススタンプＳＴＰｓのクアッドＱＤｓｉを、ターゲットスタンプＳＴＰｔのｊ番目のクアッドＱＤｔｊに書き込む（Ｓ１１６）。その後、次回のターゲットスタンプＳＴＰｔの書き込み位置をずらすために、変数ｊを１増加する（Ｓ１１８）。
ここでｊ＝４ならば（Ｓ１２０のＹ）、ターゲットスタンプＳＴＰｔのすべてのクアッドＱＤｔ０〜ＱＤｔ３にソーススタンプＳＴＰｓのクアッドＱＤｓが統合されたことになるため、現在のターゲットスタンプＳＴＰｔを統合スタンプＳＴＰｍとして出力する（Ｓ１５０）。次いで、ターゲットスタンプＳＴＰｔを初期化し（Ｓ１５２）、変数ｊを０とする（Ｓ１５４）。次のクアッドＱＤｓｉの統合処理を行うため、変数ｉを１増加する（Ｓ１２６）。
【００７０】
ｊ≠４ならば（Ｓ１２０のＮ）、ターゲットスタンプＳＴＰｔに空クアッドが存在するため、ターゲットスタンプＳＴＰｔはそのままとし、次のクアッドＱＤｓｉの統合処理を行うために、変数ｉを１増加する（Ｓ１２６）。
【００７１】
次に、変数ｉについて判定を行い、ｉ＝４ならば（Ｓ１２８のＹ）、ソーススタンプＳＴＰｓに属するすべてのクアッドＱＤｓｉについて統合処理を終えたことになるため、次のソーススタンプＳＴＰｓを取得する（Ｓ１０４）。
【００７２】
ｉ≠４ならば（Ｓ１２８のＮ）、次のクアッドＱＤｓｉについて統合処理を行うべく、Ｓ１１２に戻る。
【００７３】
このようにして、統合処理部６００は、ターゲットスタンプＳＴＰｔとソーススタンプＳＴＰｍのスタンプアドレスが同一で、かつ同一ピクセル位置に有効なピクセルが存在しない場合に統合する。
【００７４】
図６は、図５に示したフローチャートに従ってスタンプ同士が統合される様子を示す図である。いま、スタンプＳＴＰ１〜ＳＴＰ４が順番に領域分割部２０に入力される場合を考える。初期状態として、ターゲットスタンプＳＴＰｔが空スタンプであるとする。
まず、スタンプＳＴＰ１がソーススタンプＳＴＰｓとされ、領域分割部２０によって４つのクアッドＱＤｓ０〜ＱＤｓ３に分割される。クアッドＱＤｓ１〜ＱＤｓ３は、有効なピクセルを含まないため、領域破棄部３０により破棄される。
領域書込部４０には、領域破棄部３０における破棄処理の結果残ったクアッドＱＤｓ０のみ出力され、ターゲットスタンプＳＴＰｔのクアッドＱＤｔ０に書き込まれる。
【００７５】
次に、スタンプＳＴＰ２がソーススタンプＳＴＰｓとされ、領域分割部２０によって４つのクアッドＱＤｓ０〜ＱＤｓ３に分割され、領域破棄部３０によってクアッドＱＤｓ１〜ＱＤｓ３は破棄される。領域書込部４０は、クアッドＱＤｓ０をターゲットスタンプＳＴＰｔのクアッドＱＤｔ１に書き込む。
スタンプＳＴＰ２、ＳＴＰ３についても、同様の処理が行われ、ターゲットスタンプＳＴＰｔのクアッドＱＤｔ０〜ＱＤｔ３には、それぞれスタンプＳＴＰ１〜ＳＴＰ４のクアッドアドレスＡＤＤｑｄが（００）のクアッドＱＤ０が書き込まれ、統合スタンプＳＴＰｍが生成される。
【００７６】
統合スタンプＳＴＰｍに含まれる各クアッドＱＤｍ０〜ＱＤｍ３は、もとのスタンプＳＴＰ１〜ＳＴＰ４におけるクアッドアドレスを位置情報として保持している。統合スタンプＳＴＰｍは、この位置情報とともに、領域書込部４０へと出力される。
【００７７】
図７は、領域書込部４０の構成を示す図である。
領域書込部４０は、メモリアクセス部４４および分配部４２を含む。メモリアクセス部４４は、クアッドに含まれる４つのピクセルを、同時並列的にキャッシュメモリ５０に書込む出力ユニット４６ａ〜４６ｄを備える。
分配部４２は、各出力ユニット４６ａ〜４６ｄにクアッドＱＤを構成するピクセルを分配する。出力ユニット４６ａにはクアッドＱＤ内の左上のピクセルが分配され、出力ユニット４６ｂには右上、出力ユニット４６ｃには左下、出力ユニット４６ｄには右下のピクセルが分配される。
領域書込部４０は、４つのピクセルを同時並列的にキャッシュメモリ５０に書き込む動作を、クアッド単位で４回繰り返すことにより、１つの統合スタンプの書込処理を行う。
【００７８】
図８は、領域書込部４０において、クアッドＱＤｍ０〜ＱＤｍ３が各出力ユニット４６ａ〜４６ｄに分配される様子を示す。分配部４２は、統合スタンプＳＴＰｍを４つのクアッドＱＤｍ０〜ＱＤｍ３に分割し、時刻Ｔ１、Ｔ２、Ｔ３、Ｔ４と順番に、各出力ユニット４６ａ〜４６ｄに分配する。
時刻Ｔ１において、分配部４２によってクアッドＱＤｍ０がピクセルに分解され、４つの出力ユニット４６ａ〜４６ｄに分配され、各出力ユニットは、分解されたピクセルを、それぞれキャッシュメモリ５０に書き込む。次いで、時刻Ｔ２、Ｔ３、Ｔ４と各クアッドＱＤｍ１〜ＱＤｍ３がピクセルに展開されて順番に出力される。こうして、時刻Ｔ１〜Ｔ４を１つの時間単位として、１つの統合スタンプＳＴＰｍが出力される。
【００７９】
図９（ａ）〜（ｃ）は、領域書込部４０がキャッシュメモリ５０に統合スタンプＳＴＰｍを書き込む様子を示す図である。図９（ａ）は、キャッシュメモリ５０を示し、図９（ｂ）は、領域書込部４０によるクアッドの書込状態を示し、図９（ｃ）は、書込完了後の最終スタンプＳＴＰｆを示す。
【００８０】
統合スタンプＳＴＰｍと最終スタンプＳＴＰｆは必ずしも同一とは限らないため、領域書込部４０は、後述の結合スタンプＳＴＰｍ内のクアッドの再配置を行う。
この再配置は以下のようにして行われる。
時刻Ｔ１に、領域書込部４０は、統合スタンプＳＴＰｍのクアッドＱＤｍ０に含まれるピクセルをキャッシュメモリ５０に書き込む。領域書込部４０は、クアッドＱＤｍ０のクアッドアドレスＡＤＤｑｄを参照する。クアッドＱＤｍ０のクアッドアドレスＡＤＤｑｄは００であるため、キャッシュメモリ５０のアドレス００に書き込まれる。
次に、時刻Ｔ２にクアッドＱＤｍ１を書き込む。クアッドＱＤｍ１のクアッドアドレスも００であるため、キャッシュメモリ５０のアドレス００に書き込まれる。同様に、時刻Ｔ３、Ｔ４において、クアッドＱＤｍ２、ＱＤｍ３がアドレス００に書き込まれる。
【００８１】
すべてのクアッドＱＤｍ０〜ＱＤｍ３がクアッドアドレスＡＤＤｑｄ＝００に書き込まれることにより、図６のスタンプＳＴＰ１〜ＳＴＰ４が統合された最終スタンプＳＴＰｆが生成される。
【００８２】
図１０は、別のスタンプＳＴＰ５〜ＳＴＰ８が統合される様子を示す。これらのスタンプは、すべて同一のスタンプアドレスを有しており、また互いに重複する位置に有効なピクセルを有していない。
【００８３】
まずスタンプＳＴＰ５が、４つのクアッドＱＤｓ０〜ＱＤｓ３に分割される。クアッドＱＤｓ０のみ有効なピクセルを含むため、ターゲットスタンプＳＴＰｔのクアッドＱＤｔ０に書き込まれ、クアッドＱＤｓ１〜ＱＤｓ３は破棄される。
次にスタンプＳＴＰ６をソーススタンプＳＴＰｓとし、クアッドＱＤｓ０〜ＱＤｓ３について統合処理が行われる。その結果、クアッドＱＤｓ０、ＱＤｓ２が、ターゲットスタンプＳＴＰｔのクアッドＱＤｔ１、ＱＤｔ２にそれぞれ書き込まれ、クアッドＱＤｓ１、ＱＤｓ３が破棄される。
【００８４】
次にスタンプＳＴＰ７をソーススタンプＳＴＰｓとする。スタンプＳＴＰ７については、クアッドＱＤｓ０がターゲットスタンプＳＴＰｔのクアッドＱＤｔ３に書き込まれる。この状態で、ターゲットスタンプＳＴＰｔ内のすべてのクアッドが有効となるため、統合スタンプＳＴＰｍ１として出力し、ターゲットスタンプＳＴＰｔが初期化される。
【００８５】
続いて、ソーススタンプＳＴＰｓのクアッドＱＤｓ２が、新たなターゲットスタンプＳＴＰｔのクアッドＱＤｔ０に書き込まれる。クアッドＱＤｓ１、ＱＤｓ３は破棄される。
【００８６】
次にスタンプＳＴＰ８をソーススタンプとする。クアッドＱＤｓ０〜ＱＤｓ３はすべて有効なピクセルを含むため、破棄されることなくターゲットスタンプＳＴＰｔに書き込まれる。
クアッドＱＤｓ０〜ＱＤｓ２は、ターゲットスタンプＳＴＰｔのクアッドＱＤｔ１〜ＱＤｔ３にそれぞれ書き込まれる。この状態で、ターゲットスタンプＳＴＰｔ内のすべてのクアッドが有効となるため、統合スタンプＳＴＰｍ２として出力し、再度、ターゲットスタンプＳＴＰｔが初期化される。
【００８７】
ソーススタンプＳＴＰｓのクアッドＱＤｓ３は、あらたなターゲットスタンプＳＴＰｔのクアッドＱＤｔ０に書き込まれる。その後、別のソーススタンプＳＴＰｓと統合され、統合スタンプＳＴＰｍ３として出力される。
【００８８】
図１１は、領域書込部４０において、クアッドＱＤｍ０〜ＱＤｍ３が各出力ユニット４６ａ〜４６ｄに分配される様子を示す。
領域書込部４０は、時刻Ｔ１、Ｔ２、Ｔ３、Ｔ４と順番に、統合スタンプＳＴＰｍ１内の４つのクアッドＱＤｍ０〜ＱＤｍ３を出力する。
領域書込部４０において、分配部４２は、各クアッドに含まれる４つのピクセルを、各出力ユニットに分配する。この統合スタンプＳＴＰｍ１は、時刻Ｔ１〜Ｔ４の期間に書き込まれ、統合スタンプＳＴＰｍ２は時刻Ｔ５〜Ｔ８、統合スタンプＳＴＰｍ３は時刻Ｔ９〜Ｔ１２に書き込まれる。
各統合スタンプＳＴＰｍ１〜ＳＴＰｍ３を構成する各クアッドＱＤｍ０〜ＱＤｍ３は、もとのスタンプＳＴＰ５〜ＳＴＰ７内におけるアドレスとともに出力される。
【００８９】
図１２（ａ）〜（ｃ）は、領域書込部４０が、図１０に示す統合スタンプＳＴＰｍ１〜ＳＴＰｍ３をキャッシュメモリ５０に書き込む様子を示す図である。領域書込部４０は、各時刻において、各クアッドをそのアドレスを参照して、再配置しながらキャッシュメモリ５０に書き込まれていく。
その結果、キャッシュメモリ５０には、図１２（ｃ）に示すように、図７のスタンプＳＴＰ５〜ＳＴＰ８が統合された最終スタンプＳＴＰｆが書き込まれる。後段のメモリインターフェース部１１０は、この最終スタンプＳＴＰｆをグラフィックメモリ１２０に書き込む。
【００９０】
このように、本実施の形態に係る画像処理装置１０００によれば、ラスタライズ部１０から出力される処理単位となるピクセル群であるスタンプを、小ピクセル群であるクアッドに分割し、不要なクアッドを破棄し、残ったクアッド同士を統合する。その結果、統合後に得られる統合スタンプに含まれる有効なピクセル数を増加させることができ、描画処理の効率化を図ることができる。
【００９１】
特に、トライアングルストリップの性質から、同一のスタンプアドレスを有し、かつ有効なピクセルが重ならないスタンプは連続して生成されやすい。したがって、これらの連続するスタンプを効率的に統合することにより、有効なピクセルを増加することができる。
また、本実施の形態に係る画像処理装置では、スタンプを一旦クアッドに分割し、ピクセル単位で統合可能かを判定しつつ、実際の統合処理はクアッド単位で行うため、実装コストと処理効率のバランスを良好に保つことができる。
【００９２】
さらに、領域破棄部３０において統合された統合スタンプＳＴＰｍは、領域書込部４０において、スタンプ内における局所的な配置の変更によって最終的に出力される最終統合スタンプＳＴＰｆに修正することができる。この配置の変更を行う領域書込部４０は、たとえば、キャッシュメモリ５０のアドレスの制御、あるいはクロスバーによる配置変更などに相当するため、ハードウェア的な追加、修正はメモリアクセス部のみとなるため、従来の画像処理装置に対しても、容易に実装することができる。
【００９３】
（第２の実施の形態）
第２の実施の形態では、第１の実施の形態で説明したスタンプ統合処理を拡張したものである。第１の実施の形態では、統合処理の対象となるクアッドは、ソーススタンプＳＴＰｓがターゲットスタンプＳＴＰｍと同一のスタンプアドレスを有する場合のみとしたが、本実施の形態では、異なるスタンプアドレスを有するスタンプ間での統合処理も許可することを特徴とする。以下、異なるスタンプアドレスを有するスタンプ同士の統合を許可する統合処理を拡張統合処理という。
【００９４】
図１３は、異なるスタンプアドレスを有するスタンプが連続して入力された場合の統合処理を示す図である。領域分割部２０には、スタンプＳＴＰ１０〜ＳＴＰ１３がラスタライズ部１０から順番に入力される。スタンプＳＴＰ１０、ＳＴＰ１１のスタンプアドレスＡＤＤｓｔｐは０００１であり、スタンプＳＴＰ１２、ＳＴＰ１３のスタンプアドレスＡＤＤｓｔｐは００１０であるとする。スタンプＳＴＰ１０〜ＳＴＰ１３の有効なピクセルは、重複した位置には存在しない。
【００９５】
領域分割部２０は、スタンプＳＴＰ１０をソーススタンプＳＴＰｓとし、クアッドＱＤｓ０〜ＱＤｓ３に分割する。クアッドＱＤｓ０がターゲットスタンプＳＴＰｔのクアッドＱＤｔ０に書き込まれ、クアッドＱＤｓ１〜ＱＤｓ３が破棄される。
次にスタンプＳＴＰ１１をソーススタンプＳＴＰｓとし、クアッドＱＤｓ０〜ＱＤｓ３に分割した後、クアッドＱＤｓ０がターゲットスタンプＳＴＰｔのクアッドＱＤｔ１に書き込まれる。
次にスタンプＳＴＰ１２をソーススタンプとし、クアッドＱＤｓ０〜ＱＤｓ３に分割した後、クアッドＱＤｓ２がターゲットスタンプＳＴＰｔのクアッドＱＤｔ２に書き込まれる。
次にスタンプＳＴＰ１３をソーススタンプとしてクアッドＱＤｓ０〜ＱＤｓ３に分割し、クアッドＱＤｓ２がターゲットスタンプＳＴＰｔのクアッドＱＤｔ３に書き込まれる。
ターゲットスタンプＳＴＰｔに書き込まれなかったクアッドはすべて破棄される。
【００９６】
この状態でターゲットスタンプＳＴＰｔは、すべてのクアッドが有効となるため、統合スタンプＳＴＰｍとして出力され、ターゲットスタンプＳＴＰｔが初期化される。
【００９７】
統合スタンプＳＴＰｍに含まれる各クアッドＱＤｍ０〜ＱＤｍ３は、もとのスタンプＳＴＰ１０〜ＳＴＰ１３におけるクアッドアドレスＡＤＤｑｄとともに、もとのスタンプＳＴＰ１０〜ＳＴＰ１３のスタンプアドレスＡＤＤｓｔｐを保持している。
図１４は、領域書込部４０において、クアッドＱＤｍ０〜ＱＤｍ３が各出力ユニット４６ａ〜４６ｄに分配される様子を示す。領域破棄部３０のメモリアクセス部４４は、時刻Ｔ１、Ｔ２、Ｔ３、Ｔ４と順番に、統合スタンプＳＴＰｍ内の４つのクアッドＱＤｍ０〜ＱＤｍ３を出力する。時刻Ｔ１において、クアッドＱＤｍ０がピクセルに展開され、同時並列的に出力される。
次いで、時刻Ｔ２、Ｔ３、Ｔ４と各クアッドＱＤｍ１〜ＱＤｍ３がピクセルに展開されて順番に出力される。
【００９８】
図１５（ａ）〜（ｃ）は、領域書込部４０がキャッシュメモリ５０に図１３の統合スタンプＳＴＰｍを書き込む様子を示す図である。
図１５（ａ）に示すように、領域書込部４０は、各クアッドＱＤｍを書き込む際に、クアッドアドレスＡＤＤｑｄに加えてスタンプアドレスＡＤＤｓｔｐを参照する。たとえば、時刻Ｔ１に入力されたクアッドＱＤｍ０は、スタンプアドレスが０００１、クアッドアドレスは００であるため、キャッシュメモリ５０の当該アドレス箇所に書き込まれる。クアッドＱＤｍ１〜ＱＤｍ３についても同様である。
その結果、図１２（ｃ）に示すように、キャッシュメモリ５０には、図１０のスタンプＳＴＰ１０〜ＳＴＰ１３が統合された最終スタンプＳＴＰｆ１、ＳＴＰｆ２が書き込まれる。最終スタンプＳＴＰｆ１は、スタンプＳＴＰ１０、ＳＴＰ１１が統合されたものであり、最終スタンプＳＴＰｆ２は、スタンプＳＴＰ１２、ＳＴＰ１３が統合されたものである。最終スタンプＳＴＰｆ１、ＳＴＰｆ２は、それぞれスタンプアドレスＡＤＤｓｔｐが０００１および００１０の位置に書き込まれる。
【００９９】
このように、本実施の形態に係る拡張統合処理を行うことによって、異なるスタンプアドレスを有するスタンプ同士を一時的に統合することにより、領域書込部４０においてキャッシュメモリ５０にアクセスする回数を減らすことができる。
この拡張統合処理によれば、スタンプアドレスが異なっていても統合処理が行うことができるため、統合スタンプ内の有効なクアッドの数を増加させ、画像処理の効率をさらに向上することができる。
【０１００】
上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１０１】
実施の形態においては、ピクセル群を縦横４×４のスタンプで構成し、小ピクセル群を縦横２×２のクアッドとしたがこれには限定されず、小ピクセル群を縦横１×４、あるいは縦横４×１のクアッドとしてもよい。
クアッドに含まれるピクセルの数は、領域書込部４０において同時並列的にキャッシュメモリ５０に書き込まれるピクセルの数と同数であること望ましいが、かならずしもこれには限定されず、４ピクセルを同時並列的にキャッシュメモリ５０に書き込む場合において、クアッドに含まれるピクセルの数を２つとしてもよい。スタンプのサイズ、クアッドのサイズは、ハードウェアコスト、処理に要するコスト等を考えて適宜決定すればよい。
【図面の簡単な説明】
【０１０２】
【図１】第１の実施の形態に係る画像処理装置の構成を示す図である。
【図２】ラスタライズ部におけるピクセル生成の様子を示す図である。
【図３】図３（ａ）〜（ｃ）は、複数のスタンプが異なる条件下で統合処理される様子を示す図である。
【図４】スタンプがクアッドに分割される様子を示す図である。
【図５】第１の実施の形態に係る統合処理部におけるスタンプの統合処理のフローチャートである。
【図６】図５に示したフローチャートに従ってスタンプ同士が統合される様子を示す図である。
【図７】領域書込部の構成を示す図である。
【図８】領域書込部において、クアッドが各出力ユニットに分配される様子を示す図である。
【図９】図９（ａ）〜（ｃ）は、領域書込部がキャッシュメモリに統合スタンプを書き込む様子を示す図である。
【図１０】スタンプ統合処理の別の例を示す図である。
【図１１】領域書込部において、クアッドが各出力ユニットに分配される様子を示す図である。
【図１２】図１２（ａ）〜（ｃ）は、領域書込部が、図１０の統合スタンプをキャッシュメモリに書き込む様子を示す図である。
【図１３】第２の実施の形態において、異なるスタンプアドレスを有するスタンプが連続して入力された場合の統合処理を示す図である。
【図１４】領域書込部において、クアッドが各出力ユニットに分配される様子を示す図である。
【図１５】図１５（ａ）〜（ｃ）は、領域書込部が、図１３の統合スタンプをキャッシュメモリに書き込む様子を示す図である。
【符号の説明】
【０１０３】
１０００  画像処理装置、  １００  ラスタライザ、  ２００  グラフィックプロセッサ、  ３００  メインプロセッサ、  ４００  メインメモリ、  １０  ラスタライズ部、  ２０  領域分割部、  ３０  領域破棄部、  ４０  領域書込部、  ６００  統合処理部、  ５０  キャッシュメモリ、  １１０  メモリインターフェース部、  １２０  グラフィックメモリ、  １３０  ディスプレイコントローラ。
【図１】
2006235839.tif 000003
【図２】
2006235839.tif 000004
【図３】
2006235839.tif 000005
【図４】
2006235839.tif 000006
【図５】
2006235839.tif 000007
【図６】
2006235839.tif 000008
【図７】
2006235839.tif 000009
【図８】
2006235839.tif 000010
【図９】
2006235839.tif 000011
【図１０】
2006235839.tif 000012
【図１１】
2006235839.tif 000013
【図１２】
2006235839.tif 000014
【図１３】
2006235839.tif 000015
【図１４】
2006235839.tif 000016
【図１５】
2006235839.tif 000017