(57)【特許請求の範囲】
【請求項１】
グラフィックス処理機能および画像処理機能を有する画像処理装置であって、
画像に関する処理データを記憶するメモリと、
グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、少なくとも上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成するラスタライザと、
上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、
を有し、
上記コアは、
少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、
グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータおよび上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第１の機能ユニットと、
グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第１の機能ユニットで生成された第１の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込む第２の機能ユニットと、
処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路と、を含む
画像処理装置。
【請求項２】
上記第１の機能ユニットで生成された第２の演算データを、必要に応じて上記第２の機能ユニットまたは外部装置に転送する手段を有する
請求項１記載の画像処理装置。
【請求項３】
上記ラスタライザは、画像処理時に、上記ソースアドレスに加えて処理結果を上記メモリに格納するためのデスティネーションアドレスを生成し、
上記第２の機能ユニットは、画像処理時に、上記第１の機能ユニットで生成された第２の演算データを、必要に応じて上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む
請求項２記載の画像処理装置。
【請求項４】
上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニットのうちのいずれかの入力に直接接続されている
請求項１記載の画像処理装置。
【請求項５】
上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、
上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行う
請求項１記載の画像処理装置。
【請求項６】
上記レジスタユニットは、出力が上記第２の機能ユニットに接続された特定のレジスタを含み、
上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標は、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される
請求項１記載の画像処理装置。
【請求項７】
上記第１の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される
請求項１記載の画像処理装置。
【請求項８】
上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニットのうちのいずれかの入力に直接接続され、
上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、
上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行い、
上記第１の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給され、さらに、
上記レジスタユニットは、出力が上記第２の機能ユニットの入力に接続された特定のレジスタを含み、
上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標は、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される
請求項１記載の画像処理装置。
【請求項９】
上記第１の機能ユニットは、出力が少なくともクロスバー回路に接続された演算器を含み、
上記レジスタユニットは、入力がクロスバー回路に接続され、出力が第１の機能ユニットの入力に直接接続された複数のレジスタを含み、
上記レジスタユニットの複数のレジスタの出力と上記第１の機能ユニットの各演算器の入力は１対１に対応している
請求項１記載の画像処理装置。
【請求項１０】
上記第１の機能ユニットの少なくとも一つの演算器の出力は他の演算器の入力にも接続されている
請求項９記載の画像処理装置。
【請求項１１】
上記ラスタライザは、グラフィックス処理時には、少なくともウィンドウ座標、テクスチャ座標、色データを生成し、
上記テクスチャ座標が上記レジスタユニットを介して上記第１の機能ユニットに供給され、当該第１の機能ユニットは上記テクスチャ座標に基づいて所定のグラフィックス処理を行い、
上記レジスタユニットは、出力が上記第１の機能ユニットの入力に接続された第１のレジスタと、出力が第２の機能ユニットの入力に接続された第２のレジスタを含み、
上記色データは、上記レジスタユニットの第１のレジスタに設定されて、当該第１のレジスタから上記第１の機能ユニットに直接供給され、
上記ウィンドウ座標は、上記レジスタユニットの第２のレジスタに設定されて、当該第２のレジスタから上記第２の機能ユニットに直接供給される
請求項１記載の画像処理装置。
【請求項１２】
上記第１の機能ユニットは、上記メモリの複数のポートに対応して設けられた複数の演算器を含み、
上記第１の機能ユニットによりグラフィックスデータに基づいて上記所定の演算処理に必要なテクセルデータを読み出すためのアドレスを生成し、かつ、演算用パラメータを求めて上記複数の演算器に供給し、
上記複数の演算器において、上記演算用パラメータおよび上記メモリから読み出された処理データに基づいて並列演算処理を行い、連続するストリームデータを生成する
請求項１１記載の画像処理装置。
【請求項１３】
上記第１の機能ユニットの複数の演算器はそれぞれ上記メモリの各ポートから読み出された要素データに対して所定の演算処理を行い、各演算結果を上記複数の演算器のうちの一つの演算器で加算し、当該一つの演算器の加算結果データを出力する
請求項１２記載の画像処理装置。
【請求項１４】
少なくとも上記メモリの各ポートから読み出された処理データを記憶し、記憶データを上記第１の機能ユニットの各演算器に供給するキャッシュを有する
請求項１２記載の画像処理装置。
【請求項１５】
上記ラスタライザによるグラフィックス処理時に生成されるテクスチャ座標と、画像処理時に生成されるソースアドレスの供給ラインが共用されている
請求項１１記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラフィックス処理機能および画像処理機能を有し、複数の処理データを共有して並列処理を行う画像処理装置に関するものである。
【０００２】
【従来の技術】
昨今のコンピュータシステムにおける演算速度の向上や描画機能の強化とも相俟って、コンピュータ資源を用いて図形や画像の作成や処理を行う「コンピュータ・グラフィックス（ＣＧ）」技術が盛んに研究・開発され、さらに実用化されている。
【０００３】
たとえば、３次元グラフィックスは、３次元オブジェクトが所定の光源によって照らされたときの光学現象を数学モデルで表現して、このモデルに基づいてオブジェクト表面に陰影や濃淡を付けたり、さらには模様を貼り付けたりして、よりリアルで３次元的な２次元高精細画像を生成するものである。
このようなコンピュータ・グラフィックスは、科学、工学、製造などの開発分野でのＣＡＤ／ＣＡＭ、その他の各種応用分野においてますます盛んに利用されるようになってきている。
【０００４】
３次元グラフィックスは、一般には、フロントエンドとして位置づけられる「ジオメトリ・サブシステム」と、バックエンドとして位置づけられる「ラスタ・サブシステム」とにより構成される。
【０００５】
ジオメトリ・サブシステムとは、ディスプレイ・スクリーン上に表示する３次元オブジェクトの位置や姿勢などの幾何学的な演算処理を行う過程のことである。
ジオメトリ・サブシステムでは、一般にオブジェクトは多数のポリゴンの集合体として扱われ、ポリゴン単位で、「座標変換」、「クリッピング」、「光源計算」などの幾何学的な演算処理が行われる。
【０００６】
一方、ラスタ・サブシステムは、オブジェクトを構成する各ピクセル（ｐｉｘｅｌ）を塗りつぶす過程のことである。
ラスタライズ処理は、たとえばポリゴンの頂点毎に求められた画像パラメータを基にして、ポリゴン内部に含まれるすべてのピクセルの画像パラメータを補間することによって実現される。
ここで言う画像パラメータには、いわゆるＲＧＢ形式などで表される色（描画色）データ、奥行き方向の距離を表すｚ値などがある。
また、最近の高精細な３次元グラフィクス処理では、遠近感を醸し出すためのｆ（ｆｏｇ：霧）や、物体表面の素材感や模様を表現してリアリティを与えるテクスチャ（ｔｅｘｔｕｒｅ）なども、画像パラメータの１つとして含まれている。
【０００７】
ここで、ポリゴンの頂点情報からポリゴン内部のピクセルを発生する処理では、よくＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）と呼ばれる線形補間手法を用いて実行される。
ＤＤＡプロセスでは、頂点情報からポリゴンの辺方向へのデータの傾きを求め、この傾きを用いて辺上のデータを算出した後、続いてラスタ走査方向（Ｘ方向）の傾きを算出し、この傾きから求めたパラメータの変化分を走査の開始点のパラメータ値に加えていくことで、内部のピクセルを発生していく。
【０００８】
ところで、グラフィックスＬＳＩの性能を向上させるには、ＬＳＩの動作周波数を上げるだけではなく、並列処理の手法を利用することが有効である。並列処理の手法を大別すると以下のようになる。
第１は領域分割による並列処理法であり、第２はプリミティブレベルでの並列処理法であり、第３はピクセルレベルでの並列処理法である。
【０００９】
上記分類は並列処理の粒度に基づいており、領域分割並列処理の粒度が最もあらく、ピクセル・レベル並列処理の粒度が最も細かい。それぞれの手法の概要を以下に述べる。
【００１０】
領域分割による並列処理
画面を複数の矩形領域に分割し、複数の処理ユニットそれぞれが担当する領域を割り当てながら並列処理する手法である。
【００１１】
プリミティブレベルでの並列処理
複数の処理ユニットに別々のプリミティブ（たとえば三角形）を与えて並列動作させる手法である。
【００１２】
ピクセルレベルでの並列処理
最も粒度の細かい並列処理の手法である。
図１は、ピクセルレベルでの並列処理の手法に基づくプリミティブレベルでの並列化処理について概念的に示す図である。
図１のように、ピクセルレベルでの並列処理の手法では三角形をラスタライズする際に、２×８のマトリクス状に配列されたピクセルからなるピクセルスタンプ（Ｐｉｘｅｌ  Ｓｔａｍｐ）ＰＳと呼ばれる矩形領域単位にピクセルが生成される。
図１の例では、ピクセルスタンプＰＳ０からからピクセルスタンプＰＳ７までの合計８個のピクセルスタンプが生成されている。これらピクセルスタンプＰＳ０〜ＰＳ７に含まれる最大１６個のピクセルが同時に処理される。
この手法は、他の手法に比べ粒度が細かい分、並列処理の効率が良い。
【００１３】
【発明が解決しようとする課題】
しかしながら、上述した領域分割による並列処理の場合、各処理ユニットを効率良く並列動作させるためには、各領域に描画されるべきオブジェクトをあらかじめ分類する必要があり、シーンデータ解析の負荷が重い。
また、１フレーム分のシーンデータが全て揃った上で描画を開始するのではなく、オブジェクトデータが与えられると即描画を開始するいわゆるイミーディエートモードでの描画を行う際には並列性を引き出すことができない。
【００１４】
また、プリミティブレベルでの並列処理の場合、実際には、オブジェクトを構成するプリミティブの大きさにはバラツキがあることから、処理ユニットごとに一つのプリミティブを処理する時間に差が生じる。この差が大きくなった際には、処理ユニットが描画する領域も大きく異なり、データのローカリティが失われるので、メモリモジュールを構成するたとえばＤＲＡＭのページミスが頻発し性能が低下する。
また、この手法の場合には、配線コストが高いという問題点もある。一般に、グラフィックス処理を行うハードウェアでは、メモリのバンド幅を広げるために、複数メモリモジュールを用いてメモリインターリーブを行う。
その際、各処理ユニットと各内蔵メモリモジュールを全て結ぶ必要がある。
【００１５】
一方、ピクセルレベルでの並列処理の場合、上述したように、粒度が細かい分、並列処理の効率が良いという利点があり、実際のフィルタリングを含む処理としては図２に示すような手順で行われている。
【００１６】
すなわち、ＤＤＡパラメータ、たとえばラスタライゼーション（Ｒａｓｔｅｒｉｚａｔｉｏｎ）に必要な各種データ（Ｚ、テクスチャ座標、カラーなど）の傾き等のＤＤＡパラメータを算出する（ＳＴ１）。
次に、メモリからテクスチャデータを読み出し（ＳＴ２）、複数の演算器を含む第１の処理ユニットでサブワード再配置処理を行った後（ＳＴ３）、クロスバー回路により複数の演算器を含む第２の処理ユニットに集約する（ＳＴ４）。
次に、テクスチャフィルタリング（Ｔｅｘｔｕｒｅ  Ｆｉｌｔｅｒｉｎｇ）を行う（ＳＴ５）。この場合、第２の処理ユニットは、読み出されたテクスチャデータと、（ｕ，ｖ）アドレスは算出時に得た小数部を使って４近傍補間などのフィルタリング処理を行う。  次に、ピクセルレベルの処理（Ｐｅｒ−ＰｉｘｅｌＯｐｅｒａｔｉｏｎ）、具体的には、フィルタリング後のテクスチャデータと、ラスタライズ後の各種データを用いて、ピクセル単位の演算を行う（ＳＴ５）。
そして、ピクセルレベルの処理における各種テストをパスしたピクセルデータを、複数のメモリモジュール上のフレームバッファおよびＺバッファに描画する（ＳＴ６）。
【００１７】
ところで、上述した従来の画像処理装置は、通常の画像処理ではなくグラフィックス処理に特化した専用のプロセッサである。
従来、画像処理専用プロセッサとグラフィックス処理専用プロセッサは知られているが、画像処理とグラフィックス処理の機能を合わせ持つ装置を実現する場合には、単純に画像処理専用プロセッサとグラフィックス処理専用プロセッサの各機能ブロックを用いて一つの画像処理装置として構成することが考えられる。
しかしながら、単純に両プロセッサを組み合わせただけでは、回路規模が増大し、コスト増を招く等の不利益がある。
【００１８】
また、画像処理やグラフィックス処理に特化したプロセッサとしては、たとえばＶＬＩＷ型メディアプロセッサ（Media Processor ）やＤＳＰ、あるいはハードワイヤードロジック（Hard-wired Logic）による専用プロセッサが知られている。
【００１９】
ＶＬＩＷ型メディアプロセッサやＤＳＰは、命令レベルでの並列化により複数の演算器を効率よく使用することにより処理能力の向上を図るアプローチをとっている。このアプローチは、細かい粒度での分岐制御が可能で、複雑な処理シーケンスを持つプログラムにも柔軟に対応できる。
一方、命令レベルの並列化では、並列度に限界があり、大量の演算器を効率よく利用することには向いていない。
【００２０】
ハードワイヤードロジックによる専用プロセッサの代表は、従来型の３次元レンダリングプロセッサ（3D Rendering Processor）である。従来型の３Ｄレンダリングプロセッサは、処理レーテンシーが問題にならない(Latency Tolerant)点を活かして、固定アルゴリズムを専用ハードウェアによる非常に深いパイプラインで実装することにより、高スループットを達成する。
このアプローチは、演算器間の接続が固定で、配線オーバーヘッドが少ないため対面積性能比が高いが、アルゴリズムの自由度がなく、柔軟性が低いという不利益がある。
【００２１】
本発明は、かかる事情に鑑みてなされたものであり、その目的、大量の演算器を効率よく利用することが可能で、アルゴリズムの自由度が高く、柔軟性が高く、しかも回路規模の増大、コスト増を招くことなく画像処理およびグラフィックス処理を実現できる画像処理装置およびその方法を提供することにある。
【００２２】
【課題を解決するための手段】
上記目的を達成するため、本発明の第１の観点は、グラフィックス処理機能および画像処理機能を有する画像処理装置であって、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、少なくとも上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータおよび上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第１の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第１の機能ユニットで生成された第１の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込む第２の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００２３】
第１の観点では、上記第１の機能ユニットで生成された第２の演算データを、必要に応じて上記第２の機能ユニットまたは外部装置に転送する手段を有する。
【００２４】
第１の観点では、上記ラスタライザは、画像処理時に、上記ソースアドレスにに加えて処理結果を上記メモリに格納するためのデスティネーションアドレスを生成し、上記第２の機能ユニットは、画像処理時に、上記第１の機能ユニットで生成された第２の演算データを、必要に応じて上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む。
【００２５】
第１の観点では、上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニットのうちのいずれかの入力に直接接続され、上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行い、上記第１の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給され、さらに、上記レジスタユニットは、出力が上記第２の機能ユニットの入力に接続された特定のレジスタを含み、上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標は、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される。
【００２６】
第１の観点では、上記ラスタライザによるグラフィックス処理時に生成されるテクスチャ座標と、画像処理時に生成されるソースアドレスの供給ラインが共用されている。
【００２７】
本発明の第２の観点は、グラフィックス処理機能および画像処理機能を有する画像処理装置であって、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータおよび上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第１の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第１の機能ユニットで生成された第１の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、必要に応じて上記第１の機能ユニットで生成された第２の演算データを、上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む第２の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００２８】
第１または第２の観点では、上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニットのうちのいずれかの入力に直接接続されている。
【００２９】
第１または第２の観点では、上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行う。
【００３０】
第１または第２の観点では、上記レジスタユニットは、出力が上記第２の機能ユニットに接続された特定のレジスタを含み、上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標および画像処理用のデスティネーションアドレスは、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される。
【００３１】
第１または第２の観点では、上記第１の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される。
【００３２】
また、第２の観点では、  上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニットのうちのいずれかの入力に直接接続され、上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行い、上記第１２の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが  上記第２の機能ユニットに直接供給され、さらに、上記レジスタユニットは、出力が上記第２の機能ユニットの入力に接続された特定のレジスタを含み、上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標および画像処理用のデスティネーションアドレスは、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第２の機能ユニットに直接供給される。
【００３３】
第１または第２の観点では、上記第１の機能ユニットは、出力が少なくともクロスバー回路に接続された演算器を含み、上記レジスタユニットは、入力がクロスバー回路に接続され、出力が第１の機能ユニットの入力に直接接続された複数のレジスタを含み、上記レジスタユニットの複数のレジスタの出力と上記第１の機能ユニットの各演算器の入力は１対１に対応している。
【００３４】
第１または第２の観点では、上記第１の機能ユニットの少なくとも一つの演算器の出力は他の演算器の入力にも接続されている。
【００３５】
第１または第２の観点では、上記ラスタライザは、グラフィックス処理時には、少なくともウィンドウ座標、テクスチャ座標、色データを生成し、上記テクスチャ座標が上記レジスタユニットを介して上記第１の機能ユニットに供給され、当該第１の機能ユニットは上記テクスチャ座標に基づいて所定のグラフィックス処理を行い、上記レジスタユニットは、出力が上記第１の機能ユニットの入力に接続された第１のレジスタと、出力が第２の機能ユニットの入力に接続された第２のレジスタを含み、上記色データは、上記レジスタユニットの第１のレジスタに設定されて、当該第１のレジスタから上記第１の機能ユニットに直接供給され、上記ウィンドウ座標は、上記レジスタユニットの第２のレジスタに設定されて、当該第２のレジスタから上記第２の機能ユニットに直接供給される。
【００３６】
第１または第２の観点では、上記第１の機能ユニットは、上記メモリの複数のポートに対応して設けられた複数の演算器を含み、上記第１の機能ユニットによりグラフィックスデータに基づいて上記所定の演算処理に必要なテクセルデータを読み出すためのアドレスを生成し、かつ、演算用パラメータを求めて上記複数の演算器に供給し、上記複数の演算器において、上記演算用パラメータおよび上記メモリから読み出された処理データに基づいて並列演算処理を行い、連続するストリームデータを生成する。
【００３７】
第１または第２の観点では、上記第１の機能ユニットの複数の演算器はそれぞれ上記メモリの各ポートから読み出された要素データに対して所定の演算処理を行い、各演算結果を上記複数の演算器のうちの一つの演算器で加算し、当該一つの演算器の加算結果データを出力する。
【００３８】
第１または第２の観点では、少なくとも上記メモリの各ポートから読み出された処理データを記憶し、記憶データを上記第１の機能ユニットの各演算器に供給するキャッシュを有する。
【００３９】
また、第２の観点では、上記ラスタライザによるグラフィックス処理時に生成されるウィンドウ座標と、画像処理時に生成されるデスティネーションアドレスの供給ラインが共用され、テクスチャ座標とソースアドレスの供給ラインが共用されている。
【００４０】
本発明の第３の観点は、グラフィックス処理機能および画像処理機能を有する画像処理装置であって、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、少なくとも上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行ってグラフィックスデータを出力する第１の機能ユニットと、グラフィックス処理時には、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第２の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる第１の演算データに対して所定の演算処理を行って第３の演算データを生成し、画像処理時には、必要に応じて上記第２の機能ユニットによる第２の演算データに対して所定の演算処理を行って第４の演算データを生成する第３の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第３の機能ユニットで生成された第３の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込む第４の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、第３の機能ユニット、および第４の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００４１】
第３の観点では、上記第２の機能ユニットで生成された第２の演算データまたは上記第３の機能ユニットで生成された第４の演算データを、必要に応じて上記第２の機能ユニットまたは外部装置に転送する手段を有する。
【００４２】
第３の観点では、上記ラスタライザは、画像処理時に、上記ソースアドレスにに加えて処理結果を上記メモリに格納するためのデスティネーションアドレスを生成し、上記第４の機能ユニットは、画像処理時に、上記第２の機能ユニットで生成された第２の演算データまたは上記第３の機能ユニットで生成された第４の演算データを、必要に応じて上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む。
【００４３】
第３の観点では、上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、第４の機能ユニットのうちのいずれかの入力に直接接続され、上記第１の機能ユニットの出力と第２の機能ユニットの入力とは配線により直接接続され、上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行い、画像処理用のソースアドレスは素通りさせて出力し、出力データが第２の機能ユニットに直接供給され、上記第２の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第３の機能ユニットに直接供給され、上記第３の機能ユニットによる第３の演算データは、上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第４の機能ユニットに直接供給され、さらに、上記レジスタユニットは、出力が上記第４の機能ユニットの入力に接続された特定のレジスタを含み、上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標は、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第４の機能ユニットに直接供給される。
【００４４】
第３の観点では、上記ラスタライザによるグラフィックス処理時に生成されるテクスチャ座標と、画像処理時に生成されるソースアドレスの供給ラインが共用されている。
【００４５】
本発明の第４の観点は、グラフィックス処理機能および画像処理機能を有する画像処理装置であって、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行ってグラフィックスデータを出力する第１の機能ユニットと、グラフィックス処理時には、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第２の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる第１の演算データに対して所定の演算処理を行って第３の演算データを生成し、画像処理時には、必要に応じて上記第２の機能ユニットによる第２の演算データに対して所定の演算処理を行って第４の演算データを生成する第３の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第３の機能ユニットで生成された第３の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、必要に応じて上記第２の機能ユニットで生成された第２の演算データまたは第３の機能ユニットで生成された第４の演算データを、上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む第４の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、第３の機能ユニット、および第４の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００４６】
第３または第４の観点では、上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、第４の機能ユニットのうちのいずれかの入力に直接接続されている。
【００４７】
第３または第４の観点では、上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行い、画像処理用のソースアドレスは素通りさせて出力する。
【００４８】
第３または第４の観点では、上記第１の機能ユニットの出力と第２の機能ユニットの入力とは配線により直接接続され、上記第１の機能ユニットの出力データは第２の機能ユニットに直接供給される。
【００４９】
第３または第４の観点では、上記レジスタユニットは、出力が上記第４の機能ユニットに接続された特定のレジスタを含み、上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標および画像処理用のデスティネーションアドレスは、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第４の機能ユニットに直接供給される。
【００５０】
第３または第４の観点では、上記第２の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第３の機能ユニットに直接供給され、上記第３の機能ユニットによる第３の演算データは、上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第４の機能ユニットに直接供給される。
【００５１】
また、第４の観点では、上記レジスタユニットの各レジスタは、入力がクロスバー回路に接続され、出力が上記第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、第４の機能ユニットのうちのいずれかの入力に直接接続され、上記第１の機能ユニットの出力と第２の機能ユニットの入力とは配線により直接接続され、上記ラスタライザによるグラフィックス用ピクセルデータのうちの少なくとも座標データおよびソースアドレスデータが所定のレジスタに設定され、当該設定データが上記第１の機能ユニットに供給され、上記第１の機能ユニットは、供給されたグラフィックス用ピクセルデータに対して上記所定のグラフィックス処理を行い、画像処理用のソースアドレスは素通りさせて出力し、出力データが第２の機能ユニットに直接供給され、上記第２の機能ユニットによる第１の演算データは上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第３の機能ユニットに直接供給され、上記第３の機能ユニットによる第３の演算データは、上記クロスバー回路を転送されて上記レジスタユニットの所定のレジスタに設定され、当該設定データが上記第４の機能ユニットに直接供給され、さらに、上記レジスタユニットは、出力が上記第４の機能ユニットの入力に接続された特定のレジスタを含み、上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標および画像処理用のデスティネーションアドレスは、上記レジスタユニットの特定のレジスタに設定され、当該設定データが上記第４の機能ユニットに直接供給される。
【００５２】
第３または第４の観点では、上記第２の機能ユニットおよび第３の機能ユニットは、出力が少なくともクロスバー回路に接続された演算器を含み、上記レジスタユニットは、入力がクロスバー回路に接続され、出力が第２の機能ユニット、第３の機能ユニットの入力に直接接続された複数のレジスタを含み、上記レジスタユニットの複数のレジスタの出力と上記第２の機能ユニットおよび第３の機能ユニットの各演算器の入力は１対１に対応している。
【００５３】
第３または第４の観点では、上記第３の機能ユニットの少なくとも一つの演算器の出力は他の演算器の入力にも接続されている。
【００５４】
第３または第４の観点では、上記ラスタライザは、グラフィックス処理時には、少なくともウィンドウ座標、テクスチャ座標、色データを生成し、上記テクスチャ座標が上記レジスタユニットを介して上記第１の機能ユニットに供給され、当該第１の機能ユニットは上記テクスチャ座標に基づいて所定のグラフィックス処理を行って上記第２の機能ユニットに供給し、上記レジスタユニットは、出力が上記第３機能ユニットの入力に接続された第１のレジスタと、出力が第４の機能ユニットの入力に接続された第２のレジスタを含み、上記色データは、上記レジスタユニットの第１のレジスタに設定されて、当該第１のレジスタから上記第３の機能ユニットに直接供給され、上記ウィンドウ座標は、上記レジスタユニットの第２のレジスタに設定されて、当該第２のレジスタから上記第４の機能ユニットに直接供給される。
【００５５】
第３または第４の観点では、上記第１の機能ユニットの出力と第２の機能ユニットの入力とは配線により直接接続され、上記第１の機能ユニットの出力データは第２の機能ユニットに直接供給される。
【００５６】
第３または第４の観点では、上記第２の機能ユニットは、上記メモリの複数のポートに対応して設けられた複数の演算器を含み、上記第１の機能ユニットによりグラフィックスデータに基づいて上記所定の演算処理に必要なテクセルデータを読み出すためのアドレスを生成し、かつ、演算用パラメータを求めて上記複数の演算器に供給し、上記複数の演算器において、上記演算用パラメータおよび上記メモリから読み出された処理データに基づいて並列演算処理を行い、連続するストリームデータを生成する。
【００５７】
第３または第４の観点では、上記第２の機能ユニットの複数の演算器はそれぞれ上記メモリの各ポートから読み出された要素データに対して所定の演算処理を行い、各演算結果を上記複数の演算器のうちの一つの演算器で加算し、当該一つの演算器の加算結果データを出力する。
【００５８】
第３または第４の観点では、少なくとも上記メモリの各ポートから読み出された処理データを記憶し、記憶データを上記第２の機能ユニットの各演算器に供給するキャッシュを有する。
【００５９】
また、第４の観点では、上記ラスタライザによるグラフィックス処理時に生成されるウィンドウ座標と、画像処理時に生成されるデスティネーションアドレスの供給ラインが共用され、テクスチャ座標とソースアドレスの供給ラインが共用されている。
【００６０】
本発明の第５の観点は、グラフィックス処理機能および画像処理機能を有する画像処理装置であって、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、機能ユニットで処理されるデータを保持する複数のレジスタを有するレジスタユニットと、上記レジスタユニットの少なくとも一つの第１のレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データを入力し、当該入力データに対して所定のグラフィックス処理を行ってグラフィックスデータを出力し、上記レジスタユニットの第２のレジスタに設定され上記ラスタライザによる画像処理用のソースアドレスを入力してそのまま出力する第１の機能ユニットと、グラフィックス処理時には、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記第１の機能ユニットを素通りしたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第２の機能ユニットと、グラフィックス処理時には、上記レジスタの第３のレジスタに設定された色データに基づいて、上記レジスタユニットの少なくとも一つの第４のレジスタに設定された上記第２の機能ユニットによる第１の演算データに対して所定の演算処理を行って第３の演算データを生成し、画像処理時には、必要に応じて第４のレジスタに設定された上記第２の機能ユニットによる第２の演算データに対して所定の演算処理を行って第４の演算データを生成する第３の機能ユニットと、グラフィックス処理時には、上記レジスタユニットの第５のレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記レジスタユニットの少なくとも一つの第６のレジスタに設定された上記第３の機能ユニットで生成された第３の演算データに基づいて、ピクセル書き込みに必要な処理を行って、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、上記レジスタユニットの少なくとも一つの第７のレジスタに設定された上記第２の機能ユニットで生成された第２の演算データまたは上記第３の機能ユニットで生成された第４の演算データを、上記メモリの上記レジスタユニットの第８のレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む第４の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザによるグラフィックス用ピクセルデータの上記第１のレジスタへの入力、ラスタライザによるソースアドレスの上記第２のレジスタへの入力、ラスタライザによる色データの上記第３のレジスタへの入力、上記第２の機能ユニットによる第１の演算データの上記第４のレジスタへの入力、上記ラスタライザによるグラフィックス用ピクセルデータの上記第５のレジスタへの入力、上記第３の機能ユニットで生成された第３の演算データの上記第６のレジスタへの入力、上記第２の機能ユニットで生成された第２の演算データの上記第７のレジスタへの入力、および上記ラスタライザによるデスティネーションアドレスの上記第８のレジスタへの入力を行うクロスバー回路と、を含む。
【００６１】
本発明の第６の観点は、複数のモジュールが処理データを共有して並列処理を行う画像処理装置であって、グローバルモジュールと、グラフィックス処理機能および画像処理機能を有する複数のローカルモジュールとを、を有し、上記グローバルモジュールは、上記複数のローカルモジュールが並列に接続され、ローカルモジュールからリクエストを受けると、上記リクエストに応じた当該リクエストを出したローカルモジュールに処理データを出力し、上記複数のローカルモジュールは、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、少なくとも上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータおよび上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第１の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第１の機能ユニットで生成された第１の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込む第２の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００６２】
本発明の第７の観点は、複数のモジュールが処理データを共有して並列処理を行う画像処理装置であって、グローバルモジュールと、グラフィックス処理機能および画像処理機能を有する複数のローカルモジュールとを、を有し、上記グローバルモジュールは、上記複数のローカルモジュールが並列に接続され、ローカルモジュールからリクエストを受けると、上記リクエストに応じた当該リクエストを出したローカルモジュールに処理データを出力し、上記複数のローカルモジュールは、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータおよび上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第１の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第１の機能ユニットで生成された第１の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、必要に応じて上記第１の機能ユニットで生成された第２の演算データを、上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む第２の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００６３】
本発明の第８の観点は、複数のモジュールが処理データを共有して並列処理を行う画像処理装置であって、グローバルモジュールと、グラフィックス処理機能および画像処理機能を有する複数のローカルモジュールとを、を有し、上記グローバルモジュールは、上記複数のローカルモジュールが並列に接続され、ローカルモジュールからリクエストを受けると、上記リクエストに応じた当該リクエストを出したローカルモジュールに処理データを出力し、上記複数のローカルモジュールは、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、少なくとも上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行ってグラフィックスデータを出力する第１の機能ユニットと、グラフィックス処理時には、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第２の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる第１の演算データに対して所定の演算処理を行って第３の演算データを生成し、画像処理時には、必要に応じて上記第２の機能ユニットによる第２の演算データに対して所定の演算処理を行って第４の演算データを生成する第３の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第３の機能ユニットで生成された第３の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込む第４の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、第３の機能ユニット、および第４の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００６４】
本発明の第９の観点は、複数のモジュールが処理データを共有して並列処理を行う画像処理装置であって、グローバルモジュールと、グラフィックス処理機能および画像処理機能を有する複数のローカルモジュールとを、を有し、上記グローバルモジュールは、上記複数のローカルモジュールが並列に接続され、ローカルモジュールからリクエストを受けると、上記リクエストに応じた当該リクエストを出したローカルモジュールに処理データを出力し、上記複数のローカルモジュールは、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、少なくとも上記ラスタライザにより生成された上記各ピクセルデータ、各アドレスデータが設定される複数のレジスタを有するレジスタユニットと、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データに対して所定のグラフィックス処理を行ってグラフィックスデータを出力する第１の機能ユニットと、グラフィックス処理時には、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記レジスタユニットのレジスタに設定されたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第２の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる第１の演算データに対して所定の演算処理を行って第３の演算データを生成し、画像処理時には、必要に応じて上記第２の機能ユニットによる第２の演算データに対して所定の演算処理を行って第４の演算データを生成する第３の機能ユニットと、グラフィックス処理時には、上記レジスタユニットのレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記第３の機能ユニットで生成された第３の演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、必要に応じて上記第２の機能ユニットで生成された第２の演算データまたは第３の機能ユニットで生成された第４の演算データを、上記メモリの上記レジスタユニットのレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む第４の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、第３の機能ユニット、および第４の機能ユニットを相互に接続するクロスバー回路と、を含む。
【００６５】
本発明の第１０の観点は、複数のモジュールが処理データを共有して並列処理を行う画像処理装置であって、グローバルモジュールと、グラフィックス処理機能および画像処理機能を有する複数のローカルモジュールとを、を有し、上記グローバルモジュールは、上記複数のローカルモジュールが並列に接続され、ローカルモジュールからリクエストを受けると、上記リクエストに応じた当該リクエストを出したローカルモジュールに処理データを出力し、上記複数のローカルモジュールは、画像に関する処理データを記憶するメモリと、グラフィックス処理時には、プリミティブの画像パラメータに基づいて少なくとも座標データ、色データを含むグラフィックス用ピクセルデータを生成し、画像処理時には、上記メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成するラスタライザと、上記ラスタライザで生成されたデータに基づいて所定のグラフィックス処理または画像処理を行う少なくとも一つのコアと、を有し、上記コアは、機能ユニットで処理されるデータを保持する複数のレジスタを有するレジスタユニットと、上記レジスタユニットの少なくとも一つの第１のレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちの座標データを入力し、当該入力データに対して所定のグラフィックス処理を行ってグラフィックスデータを出力し、上記レジスタユニットの第２のレジスタに設定され上記ラスタライザによる画像処理用のソースアドレスを入力してそのまま出力する第１の機能ユニットと、グラフィックス処理時には、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い第１の演算データを生成し、画像処理時には、上記第１の機能ユニットを素通りしたソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い第２の演算データを生成する第２の機能ユニットと、グラフィックス処理時には、上記レジスタの第３のレジスタに設定された色データに基づいて、上記レジスタユニットの少なくとも一つの第４のレジスタに設定された上記第２の機能ユニットによる第１の演算データに対して所定の演算処理を行って第３の演算データを生成し、画像処理時には、必要に応じて第４のレジスタに設定された上記第２の機能ユニットによる第２の演算データに対して所定の演算処理を行って第４の演算データを生成する第３の機能ユニットと、グラフィックス処理時には、上記レジスタユニットの第５のレジスタに設定された上記ラスタライザによるグラフィックス用ピクセルデータのうちのウィンドウ座標データおよび上記レジスタユニットの少なくとも一つの第６のレジスタに設定された上記第３の機能ユニットで生成された第３の演算データに基づいて、ピクセル書き込みに必要な処理を行って、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、上記レジスタユニットの少なくとも一つの第７のレジスタに設定された上記第２の機能ユニットで生成された第２の演算データまたは上記第３の機能ユニットで生成された第４の演算データを、上記メモリの上記レジスタユニットの第８のレジスタに設定された上記ラスタライザによるデスティネーションアドレスに書き込む第４の機能ユニットと、処理に応じて切り替えられ、上記ラスタライザによるグラフィックス用ピクセルデータの上記第１のレジスタへの入力、ラスタライザによるソースアドレスの上記第２のレジスタへの入力、ラスタライザによる色データの上記第３のレジスタへの入力、上記第２の機能ユニットによる第１の演算データの上記第４のレジスタへの入力、上記ラスタライザによるグラフィックス用ピクセルデータの上記第５のレジスタへの入力、上記第３の機能ユニットで生成された第３の演算データの上記第６のレジスタへの入力、上記第２の機能ユニットで生成された第２の演算データの上記第７のレジスタへの入力、および上記ラスタライザによるデスティネーションアドレスの上記第８のレジスタへの入力を行うクロスバー回路と、を含む。
【００６６】
本発明の第１１の観点は、ラスタライザ、複数のレジスタを含むレジスタユニット、第１の機能ユニット、第２の機能ユニット、および処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路によりグラフィックス処理および画像処理を行う画像処理方法であって、グラフィックス処理時には、上記ラスタライザにおいて、プリミティブの画像パラメータに基づいて少なくともウィンドウ座標、テクスチャ座標データ、色データを含むグラフィックス用ピクセルデータを生成し、生成した上記テクスチャ座標データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、生成した上記色データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを上記第１の機能ユニットに直接供給し、生成した上記ウィンドウ座標を上記レジスタユニットの特定のレジスタに設定して、当該設定データを上記第２の機能ユニットに直接供給し、上記第１の機能ユニットにおいて、上記テクスチャ座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータに基づいて所定の演算処理を行い、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる演算データに対して所定の演算処理を行い、上記第１の機能ユニットの演算データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第２の機能ユニットに直接供給し、上記第２の機能ユニットにおいて、上記ウィンドウ座標データおよび上記第１の機能ユニットで生成された演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、上記ラスタライザにおいて、メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成し、上記第１の機能ユニットにおいて、ソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い、上記第１の機能ユニットによる処理データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定する。
【００６７】
本発明の第１２の観点は、ラスタライザ、複数のレジスタを含むレジスタユニット、第１の機能ユニット、第２の機能ユニット、および処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、および第２の機能ユニットを相互に接続するクロスバー回路によりグラフィックス処理および画像処理を行う画像処理方法であって、グラフィックス処理時には、上記ラスタライザにおいて、プリミティブの画像パラメータに基づいて少なくともウィンドウ座標、テクスチャ座標データ、色データを含むグラフィックス用ピクセルデータを生成し、生成した上記テクスチャ座標データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、生成した上記色データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを上記第１の機能ユニットに直接供給し、生成した上記ウィンドウ座標を上記レジスタユニットの特定のレジスタに設定して、当該設定データを上記第２の機能ユニットに直接供給し、上記第１の機能ユニットにおいて、上記テクスチャ座標データに対して所定のグラフィックス処理を行って、生成したグラフィックスデータに基づいて所定の演算処理を行い、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる演算データに対して所定の演算処理を行い、上記第１の機能ユニットの演算データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第２の機能ユニットに直接供給し、上記第２の機能ユニットにおいて、上記ウィンドウ座標データおよび上記第１の機能ユニットで生成された演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、上記ラスタライザにおいて、メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成し、生成した上記ソースアドレスを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、生成した上記デスティネーションアドレスを上記レジスタユニットの特定のレジスタに設定して、当該設定データを上記第２の機能ユニットに直接供給し、生成した上記ソースアドレスを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、上記第１の機能ユニットにおいて、ソースアドレスに応じて上記メモリから読み出した画像データまたは外部から供給された画像データに対して所定の画像処理を行い、上記第１の機能ユニットによる処理データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第２の機能ユニットに直接供給し、上記第２の機能ユニットにおいて、必要に応じて上記第１の機能ユニットで生成された処理データを、上記メモリのデスティネーションアドレスに書き込む。
【００６８】
本発明の第１３の観点は、ラスタライザ、複数のレジスタを含むレジスタユニット、第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、第４の機能ユニット、および処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、および第４の機能ユニットを相互に接続するクロスバー回路によりグラフィックス処理および画像処理を行う画像処理方法であって、グラフィックス処理時には、上記ラスタライザにおいて、プリミティブの画像パラメータに基づいて少なくともウィンドウ座標、テクスチャ座標データ、色データを含むグラフィックス用ピクセルデータを生成し、生成した上記テクスチャ座標データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、生成した上記色データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを上記第３の機能ユニットに直接供給し、生成した上記ウィンドウ座標を上記レジスタユニットの特定のレジスタに設定して、当該設定データを上記第４の機能ユニットに直接供給し、上記第１の機能ユニットにおいて、上記テクスチャ座標データに対して所定のグラフィックス処理を行ってグラフィックスデータを上記第２の機能ユニットに直接的に供給し、上記第２の機能ユニットにおいて、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い、上記第２の機能ユニットの演算データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第３の機能ユニットに直接供給し、上記第３の機能ユニットにおいて、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる演算データに対して所定の演算処理を行い、上記第３の機能ユニットの演算データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第４の機能ユニットに直接供給し、上記第４の機能ユニットにおいて、上記ウィンドウ座標データおよび上記第３の機能ユニットで生成された演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、上記ラスタライザにおいて、メモリに記憶されている画像に関する処理データを読み出すためのソースアドレスを生成し、生成した上記ソースアドレスを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、当該第１の機能ユニットを素通りさせて上記第２の機能ユニットに供給し、上記第２の機能ユニットまたは／および上記第３の機能ユニットにおいて、ソースアドレスに応じた画像データを上記メモリから読み出して所定の画像処理を行い、上記第２の機能ユニットまたは上記第３の機能ユニットによる処理データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定する。
【００６９】
本発明の第１４の観点は、ラスタライザ、複数のレジスタを含むレジスタユニット、第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、第４の機能ユニット、および処理に応じて切り替えられ、上記ラスタライザ、レジスタユニット、第１の機能ユニット、第２の機能ユニット、第３の機能ユニット、および第４の機能ユニットを相互に接続するクロスバー回路によりグラフィックス処理および画像処理を行う画像処理方法であって、グラフィックス処理時には、上記ラスタライザにおいて、プリミティブの画像パラメータに基づいて少なくともウィンドウ座標、テクスチャ座標データ、色データを含むグラフィックス用ピクセルデータを生成し、生成した上記テクスチャ座標データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、生成した上記色データを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを上記第３の機能ユニットに直接供給し、生成した上記ウィンドウ座標を上記レジスタユニットの特定のレジスタに設定して、当該設定データを上記第４の機能ユニットに直接供給し、上記第１の機能ユニットにおいて、上記テクスチャ座標データに対して所定のグラフィックス処理を行ってグラフィックスデータを上記第２の機能ユニットに直接的に供給し、上記第２の機能ユニットにおいて、上記第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理を行い、上記第２の機能ユニットの演算データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第３の機能ユニットに直接供給し、上記第３の機能ユニットにおいて、上記レジスタユニットのレジスタに設定された上記ラスタライザによる色データに基づいて上記第２の機能ユニットによる演算データに対して所定の演算処理を行い、上記第３の機能ユニットの演算データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第４の機能ユニットに直接供給し、上記第４の機能ユニットにおいて、上記ウィンドウ座標データおよび上記第３の機能ユニットで生成された演算データに基づいて、ピクセル書き込みに必要な処理を行い、必要に応じて所定結果を上記メモリに書き込み、画像処理時には、上記ラスタライザにおいて、メモリに記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果を上記メモリに格納するためのデスティネーションアドレスを生成し、生成した上記ソースアドレスを上記クロスバー回路を介して上記レジスタユニットの所定のレジスタに設定し、当該設定データを直接上記第１の機能ユニットに供給し、当該第１の機能ユニットを素通りさせて上記第２の機能ユニットに供給し、生成した上記デスティネーションアドレスを上記レジスタユニットの特定のレジスタに設定して、当該設定データを上記第４の機能ユニットに直接供給し、上記第２の機能ユニットまたは／および上記第３の機能ユニットにおいて、ソースアドレスに応じた画像データを上記メモリから読み出して所定の画像処理を行い、上記第２の機能ユニットまたは上記第３の機能ユニットによる処理データをクロスバー回路を介して上記レジスタユニットの所定のレジスタに設定して、当該設定データを上記第４の機能ユニットに直接供給し、上記第４の機能ユニットにおいて、第２の機能ユニットで生成された処理データを、上記メモリのデスティネーションアドレスに書き込む。
【００７０】
本発明によれば、たとえばグラフィックス処理時には、ラスタライザにおいて、プリミティブの画像パラメータに基づいて少なくともウィンドウ座標、テクスチャ座標データ、色データを含むグラフィックス用ピクセルデータが生成される。
生成されたテクスチャ座標データがクロスバー回路を介してレジスタユニットの所定のレジスタに設定される。この設定テクスチャ座標データはたとえばクロスバー回路を介さずに直接第１の機能ユニットに供給される。
また、生成されたデータがクロスバー回路を介してレジスタユニットの所定のレジスタに設定される。この設定色データはクロスバー回路を介さずに第３の機能ユニットに直接供給される。
また、生成されたウィンドウ座標がレジスタユニットの特定のレジスタに設定される。この該設定ウィンドウ座標データはたとえばクロスバー回路を介さずに第４の機能ユニットに直接供給される。
【００７１】
そして、第１の機能ユニットにおいて、テクスチャ座標データに対して所定のグラフィックス処理が行われ、グラフィックスデータがたとえばクロスバー回路を介さずに第２の機能ユニットに直接的に供給される。
第２の機能ユニットにおいては、第１の機能ユニットで生成されたグラフィックスデータに基づいて所定の演算処理が行われる。この第２の機能ユニットの演算データはクロスバー回路を介してレジスタユニットの所定のレジスタに設定される。この設定データはたとえばクロスバー回路を介さずにを第３の機能ユニットに直接供給される。
第３の機能ユニットにおいては、色データに基づいて第２の機能ユニットによる演算データに対して所定の演算処理が行われる。この第３の機能ユニットの演算データはクロスバー回路を介してレジスタユニットの所定のレジスタに設定される。この設定データはたとえばクロスバー回路を介さずに第４の機能ユニットに直接供給される。
第４の機能ユニットにおいては、ウィンドウ座標データおよび第３の機能ユニットで生成された演算データに基づいて、ピクセル書き込みに必要な処理が行れ、必要に応じて所定結果がメモリに書き込まれる。
【００７２】
また、画像処理時には、ラスタライザにおいて、たとえばメモリの記憶されている画像に関する処理データを読み出すためのソースアドレス、および処理結果をメモリに格納するためのデスティネーションアドレスが生成される。
生成されたソースアドレスはクロスバー回路を介してレジスタユニットの所定のレジスタに設定される。この設定ソースアドレスデータはたとえばクロスバー回路を介さずに直接第１の機能ユニットに供給されるが、第１の機能ユニットを素通りして第２の機能ユニットに供給される。
またたとえば、生成されたデスティネーションアドレスがレジスタユニットの特定のレジスタに設定される。この設定デスティネーションアドレスデータはたとえばクロスバー回路を介さずに第４の機能ユニットに直接供給される。
第２の機能ユニットにおいては、ソースアドレスに応じてメモリから読み出された画像データあるいは外部から供給された画像データに対して所定の画像処理が行われる。この第２の機能ユニットによる処理データはクロスバー回路を介してレジスタユニットの所定のレジスタに設定される。この設定データはたとえばクロスバー回路を介さずに第４の機能ユニットに直接供給される。
そして、第４の機能ユニットにおいて、第２の機能ユニットで生成された処理データが、メモリのデスティネーションアドレスに書き込まれる。
【００７３】
【発明の実施の形態】
図３は、本発明に係る画像処理装置の一実施形態を示すブロック構成図である。
【００７４】
本実施形態に係る画像処理装置１０は、図３に示すように、ストリームデータコントローラ（ＳＤＣ）１１、グローバルモジュール１２、および複数のローカルモジュール１３−０〜１３−３を有している。
【００７５】
本画像処理装置１０では、ＳＤＣ１１とグローバルモジュール１２とがデータの授受を行い、一つのグローバルモジュール１２に対して複数個ｍ、本実施形態では４個のローカルモジュール１３−０〜１３−３が並列に接続されて、複数のローカルモジュール１３−０〜１３−３で処理データを共有し並列に処理する。
そして、テクスチャリード系に関しては、他のローカルモジュールに対するメモリアクセスを必要とするが、グローバルアクセスバスの形態をとる代わりに、ルータとしての機能を有する一つのグローバルモジュール１２を介したアクセスを行う。
また、グローバルモジュール１２はグローバルキャッシュを有し、各ローカルモジュール１３−０〜１３−３はローカルキャッシュをそれぞれ有する。
すなわち、本画像処理装置１０は、キャッシュの階層として、たとえば４つのローカルモジュール１３−０〜１３−３が共有するグローバルキャッシュと、各ローカルモジュールがローカルに持つローカルキャッシュの２階層を有する。
【００７６】
以下に各構成要素の構成および機能について、図面に関連付けて順を追って説明する。
【００７７】
ＳＤＣ１１は、ＣＰＵや外部メモリとのデータの授受、並びにグローバルモジュール１２とのデータの授受を司るとともに、頂点データに対する演算、各ローカルモジュール１３−０〜１３−３の処理ユニットにおけるラスタライゼーション（Ｒａｓｔｅｒｉｚａｔｉｏｎ）に必要なパラメータの生成等の処理を行う。
【００７８】
ＳＤＣ１１における具体的な処理内容は以下の通りである。また、ＳＤＣ１１の処理手順を図４に示す。
【００７９】
ＳＤＣ１１は、まず、データが入力されると（ＳＴ１）、Ｐｅｒ−Ｖｅｒｔｅｘオペレーションを行う（ＳＴ２）。
この処理においては、３次元座標、法線ベクトル、テクスチャ座標の各頂点データが入力されると、頂点データに対する演算が行われる。代表的な演算としては、物体の変形やスクリーンへの投影などを行う座標変換の演算処理、ライティング（Ｌｉｇｈｔｉｎｇ）の演算処理、クリッピング（Ｃｌｉｐｐｉｎｇ）の演算処理がある。
ここで行われる処理は、いわゆるＶｅｒｔｅｘ  Ｓｈａｄｅｒの実行に相当する。
【００８０】
次に、ＤＤＡ（Ｄｉｇｉｔａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ａｎａｌｙｚｅｒ）パラメータを計算する（ＳＴ３）。
この処理では、ラスタライゼーションに必要な各種データ（Ｚ、テクスチャ座標、カラーなど）の傾き等のＤＤＡパラメータを算出する。
【００８１】
次に、算出したＤＤＡパラメータをグローバルモジュール１２を介して全ローカルモジュール１３−０〜１３−３にブロードキャストする（ＳＴ４）。
この処理において、ブロードキャストされたパラメータは、キャッシュフィルとは別のチャネルを用いて、グローバルモジュール１２を介して各ローカルモジュール１３−０〜１３−３に渡される。ただし、グローバルキャッシュの内容には影響を与えない。
【００８２】
グローバルモジュール１２は、ルータ機能および全ローカルモジュールで共用するグローバルキャッシュ１２１を有する。
グローバルモジュール１２は、ＳＤＣ１１によるＤＤＡパラメータを並列に接続された全ローカルモジュール１３−０〜１３−３にブロードキャストする。
【００８３】
また、グローバルモジュール１２は、たとえばあるローカルモジュールからローカルキャッシュフィル（Ｌｏｃａｌ  Ｃａｃｈｅ  Ｆｉｌｌ）ＬＣＦのリクエストを受けると、図５に示すように、グローバルキャッシュのエントリーをチェックし（ＳＴ１１）、エントリーがあった場合には（ＳＴ１２）、要求されたブロックデータを読み出し（ＳＴ１３）、読み出したデータをリクエストを送出したローカルモジュールに送出し（ＳＴ１４）、エントリーがなかった場合には（ＳＴ１２）、当該ブロックデータを保持するターゲットのローカルモジュールに対してグローバルキャッシュフィル（Ｇｌｏｂａｌ  Ｃａｃｈｅ  Ｆｉｌｌ）ＧＣＦのリクエストを送り（ＳＴ１５）、その後送られてきたブロックデータでグローバルキャッシュを更新するとともに（ＳＴ１６，ＳＴ１７）、ブロックデータを読み出し（ＳＴ１３）、読み出したデータをローカルキャッシュフィルＬＤＦのリクエストを送ってきたローカルモジュールに対して送出する（ＳＴ１４）。
【００８４】
ローカルモジュール１３−０は、処理ユニット１３１−０、たとえばＤＲＡＭからなるメモリモジュール１３２−０、モジュール固有のローカルキャッシュ１３３−０、およびグローバルモジュール１２とのインターフェースを司るグローバルインターフェース（Ｇｌｏｂａｌ  Ａｃｃｅｓｓ  Ｉｎｔｅｒｆａｃｅ：ＧＡＩＦ））１３４−０を有している。
【００８５】
同様に、ローカルモジュール１３−１は、処理ユニット１３１−１、たとえばＤＲＡＭからなるメモリモジュール１３２−１、モジュール固有のローカルキャッシュ１３３−１、およびグローバルモジュール１２とのインターフェースを司るグローバルインターフェース（ＧＡＩＦ）１３４−１を有している。
ローカルモジュール１３−２は、処理ユニット１３１−２、たとえばＤＲＡＭからなるメモリモジュール１３２−２、モジュール固有のローカルキャッシュ１３３−２、およびグローバルモジュール１２とのインターフェースを司るグローバルインターフェース（ＧＡＩＦ）１３４−２を有している。
ローカルモジュール１３−３は、処理ユニット１３１−３、たとえばＤＲＡＭからなるメモリモジュール１３２−３、モジュール固有のローカルキャッシュ１３３−３、およびグローバルモジュール１２とのインターフェースを司るグローバルインターフェース（ＧＡＩＦ）１３４−３を有している。
【００８６】
各ローカルモジュール１３−０〜１３−３は、メモリモジュール１３２−０〜１３２−３が所定の大きさ、たとえば４×４の矩形領域単位にインターリーブされており、メモリモジュール１３２−０と処理ユニット１３１−０、メモリモジュール１３２−１と処理ユニット１３１−１、メモリモジュール１３２−２と処理ユニット１３１−２、およびメモリモジュール１３２−３と処理ユニット１３１−３は、担当領域は１対１に対応しており、描画系については他のローカルモジュールに対するメモリアクセスが発生しない。
一方、各ローカルモジュール１３−０〜１３−３は、テクスチャリード系に関しては、他のローカルモジュールに対するメモリアクセスを必要とするが、この場合、グローバルモジュール１２を介したアクセスを行う。
【００８７】
各ローカルモジュール１３−０〜１３−３の処理ユニット１３１−０〜１３１−３はそれぞれ、画像処理とグラフィックス処理に特徴的な、いわゆるストリーミングデータ処理を高スループットで実行するストリーミングプロセッサである。
【００８８】
各ローカルモジュール１３−０〜１３−３の処理ユニット１３１−０〜１３１−３は、たとえばそれぞれ以下のグラフィックス処理および画像処理を行う。
【００８９】
まず、処理ユニット１３１−０〜１３１−３のグラフィックス処理の概要を図６および図７のフローチャートに関連付けて説明する。
【００９０】
処理ユニット１３１（−０〜−３）は、ブロードキャストされたパラメータデータが入力されると（ＳＴ２１）、三角形が自分が担当する領域であるか否かを判断し（ＳＴ２２）、担当領域である場合には、ラスタライゼーションを行う（ＳＴ２３）。
すなわち、ブロードキャストされたパラメータを受け取ると、その三角形が自分が担当する領域、たとえば４×４ピクセルの矩形領域単位でインターリーブされた領域に属しているか否かを判断し、属している場合には、各種データ（Ｚ、テクスチャ座標、カラーなど）をラスタライズする。この場合、生成単位は、１ローカルモジュール当たり１サイクルで２×２ピクセルである。
【００９１】
次に、テクスチャ座標のパースペクティブコレクション（Ｐｅｒｓｐｅｃｔｉｖｅ  Ｃｏｒｒｅｃｔｉｏｎ）を行う（ＳＴ２４）。また、この処理ステージにはＬＯＤ（Ｌｅｖｅｌ  ｏｆ  Ｄｅｔａｉｌ）計算によるミップマップ（ＭｉｐＭａｐ）レベルの算出や、テクスチャアクセスのための（ｕ，ｖ）アドレス計算も含まれる。
【００９２】
次に、テクスチャの読み出しを行う（ＳＴ２５）。
この場合、各ローカルモジュール１３−０〜１３−３の処理ユニット１３１−０〜１３１−３は、図７に示すように、テクスチャリードの際に、まずは、ローカルキャッシュ１３３−０〜１３３−３のエントリーをチェックし（ＳＴ３１）、エントリーがあった場合には（ＳＴ３２）、必要なテクスチャデータを読み出す（ＳＴ３３）。
必要とするテクスチャ・データがローカルキャッシュ１３３−０〜１３３−３内に無い場合には、各処理ユニット１３１−０〜１３１−３は、グローバルインターフェース１３４−０〜１３４−３を通して、グローバルモジュール１２に対してローカルキャッシュフィルのリクエストを送る（ＳＴ３４）。
そして、グローバルモジュール１２は、要求されたブロックをリクエストを送出したローカルモジュールに返すが、なかった場合には上述したように（図５に関連付けて説明）、当該ブロックを保持するローカルモジュールに対してグローバルキャッシュフィルのリクエストを送る。その後ブロックデータをグローバルキャッシュにフィルするとともに、リクエストを送ってきたローカルモジュールに対してデータを送出する。
グローバルモジュール１２から要求したブロックデータが送られてくると、該当するローカルモジュールは、ローカルキャッシュを更新し（ＳＴ３５，ＳＴ３６）、処理ユニットはブロックデータを読み出す（ＳＴ３３）。
なお、ここでは、最大４テクスチャの同時処理を想定しており、読み出すテクスチャデータの数は、１ピクセルにつき１６テクセルである。
【００９３】
次に、テクスチャフィルタリング（Ｔｅｘｔｕｒｅ  Ｆｉｌｔｅｒｉｎｇ）を行う（ＳＴ２６）。
この場合、処理ユニット１３３−０〜１３３−３は、読み出されたテクスチャデータと、（ｕ，ｖ）アドレスを算出時に得た小数部を使って４近傍補間などのフィルタリング処理を行う。
【００９４】
次に、ピクセルレベルの処理（Ｐｅｒ−Ｐｉｘｅｌ  Ｏｐｅｒａｔｉｏｎ）を行う（ＳＴ２７）。
この処理においては、フィルタリング後のテクスチャデータと、ラスタライズ後の各種データを用いて、ピクセル単位の演算が行われる。ここで行われる処理は、ピクセルレベルでのライティング（Ｐｅｒ−Ｐｉｘｅｌ  Ｌｉｇｈｔｉｎｇ）などいわゆるＰｉｘｅｌ  Ｓｈａｄｅｒに相当する。また、それ以外にも以下の処理が含まれる。
すなわち、アルファテスト、シザリング、Ｚバッファテスト、ステンシルテスト、アルファブレンディング、ロジカルオペレーション、ディザリングの各処理である。
【００９５】
そして、ピクセルレベルの処理における各種テストをパスしたピクセルデータを、メモリモジュール１３２−０〜１３２−３、たとえば内蔵ＤＲＡＭメモリ上のフレームバッファおよびＺバッファに書き込まれる（ＳＴ２８：Ｍｅｍｏｒｙ
Ｗｒｉｔｅ）。
【００９６】
次に、処理ユニット１３１−０〜１３１−３の画像処理の概要を図８のフローチャートに関連付けて説明する。
【００９７】
画像処理を実行する前に、メモリモジュール１３２（−０〜−３）に画像データがロードされる。
そして、処理ユニット１３１（−０〜−３）では、画像処理に必要な読み出し（ソース：Ｓｏｕｒｃｅ）アドレスおよび書き込み（デスティネーション：Ｄｅｓｔｉｎａｔｉｏｎ）アドレスの生成に必要なコマンドやデータが入力される（ＳＴ４１）。
そして、処理ユニット１３１（−０〜−３）において、ソースアドレスおよびデスティネーションアドレスが生成される（ＳＴ４２）。
次に、ソース画像がメモリモジュール１３２（−０〜−３）から読み出され、あるいはグローバルモジュール１２から供給され（ＳＴ４３）、たとえばテンプレートマッチング等の所定の画像処理が行われる（ＳＴ４４）。
そして、必要に応じて所定の演算処理が行われ（ＳＴ４５）、その結果がメモリモジュール１３２（−０〜−３）のデスティネーションアドレスで指定された領域に書き込まれる（ＳＴ４６）。
【００９８】
各ローカルモジュール１３−０〜１３−３のローカルキャッシュ１３３−０〜１３３−３は、処理ユニット１３１−０〜１３１−３の処理に必要な描画データやテクスチャデータを格納し、処理ユニット１３１−０〜１３１−３とのデータの授受、並びにメモリモジュール１３２−０〜１３２−３とのデータの授受（書き込み、読み出し）を行う。
【００９９】
図９は、各ローカルモジュール１３−０〜１３−３のローカルキャッシュ１３３−０〜１３３−３の構成例を示すブロック図である。
【０１００】
ローカルキャッシュ１３３は、図９に示すように、リードオンリーキャッシュ（ＲＯ＄）１３３１、リードライトキャッシュ（ＲＷ＄）１３３２、リオーダバッファ（Ｒｅｏｒｄｅｒ  Ｂｕｆｆｅｒ：ＲＢ）１３３３、およびメモリコントローラ（ＭＣ）１３３４を含む。
【０１０１】
リードオンリーキャッシュ１３３１は、演算処理のソース画像などを読み出すための読み出し専用キャッシュであって、たとえばテクスチャ系データ等の記憶に用いられる。
リードライトキャッシュ１３３２は、たとえばグラフィックス処理におけるリードモディファイライト（Read Modify Write ）に代表される読み出しと書き込みの両方を必要とするオペレーションを実行するためのキャッシュであって、たとえば描画系データの記憶に用いられる。
【０１０２】
リオーダバッファ１３３３は、いわゆる待ち合わせバッファであり、ローカルキャッシュに必要なデータがない場合、ローカルキャッシュフィルのリクエストを出したときに、グローバルモジュール１２に送られてくるデータの順番が異なる場合があるので、この順番を遵守し、処理ユニット１３１−０〜１３１−３に要求順に戻すようにデータの順番を調整する。
【０１０３】
また、図１０は、メモリコントローラ１３３４のテクスチャ系の構成例を示すブロック図である。
このメモリコントローラ１３３４は、図１０に示すように、４つのキャッシュＣＳＨ０〜ＣＳＨ３に対応するキャッシュコントローラ１３３４０〜１３３４３と、各キャッシュコントローラ１３３４０〜１３３４３から出力されるローカルキャッシュフィルリクエストを調停しグローバルインターフェース１３４｛−０〜３｝に出力するアービタ１３３４４と、グローバルインターフェース１３４｛−０〜３｝を介して入力したグローバルキャッシュフィルリクエストを受けて、データ転送の制御を行うメモリインターフェース１３３４５を含む。
【０１０４】
また、キャッシュコントローラ１３３４０〜１３３４３は、４つのピクセルＰＸ０〜ＰＸ３それぞれに対応するデータに対して４近傍補間を行う際に必要な各データの２次元アドレスＣＯｕｖ００〜ＣＯｕｖ０３、ＣＯｕｖ１０〜ＣＯｕｖ１３、ＣＯｕｖ２０〜ＣＯｕｖ２３、ＣＯｕｖ３０〜ＣＯｕｖ３３を受けてアドレスの競合をチェックし分配するコンフリクトチェッカＣＣ１０と、コンフリクトチェッカＣＣ１０で分配されたアドレスをチェックしリードオンリーキャッシュ１３３１にアドレスで示されたデータが存在するか否かを判断するタグ回路ＴＡＧ１０と、キューレジスタＱＲ１０を有している。
タグ回路ＴＡＧ１０内は後述するバンクのインターリーブに関するアドレッシングに対応する４つのタグメモリＢＸ１０〜ＢＸ１３を有し、リードオンリーキャッシュ１３３１に記憶されている。
ブロックデータのアドレスタグを保持するコンフリクトチェッカＣＣ１０で分配されたアドレスと上記アドレスタグを比較し、一致したか否かのフラグと前記アドレスをキューレジスタＱＲ１０にセットするとともに、一致しなかった場合には前記アドレスをアービタ１３３４４に送出する。
アービタ１３３４４は、キャッシュコントローラ１３３４０〜１３３４３から送出されるアドレスを受けて調停作業を行い、グローバルインターフェース（ＧＡＩＦ）１３４を介して同時に送出できるリクエストの数に応じてアドレスを選択し、ローカルキャッシュフィルリクエストとしてグローバルインターフェース（ＧＡＩＦ）１３４に出力する。
グローバルインターフェース（ＧＡＩＦ）１３４を介して送出されたローカルキャッシュフィルリクエストに対応してグローバルキャッシュ１２からデータが送られてくると、リオーダバッファ１３３３にセットされる。
キャッシュコントローラ１３３４０〜１３３４３は、キューレジスタＱＲＬ０の先頭にあるフラグをチェックし、一致したことを示すフラグがセットされていた場合には、キューレジスタＱＲＬ０の先頭にあるアドレスに基づいて、リードオンリーキャッシュ１３３１のデータを読み出し、処理ユニット１３１に与える。一方、一致したことを示すフラグがセットされていなかった場合には、対応するデータがリオーダバッファ１３３３にセットされた時点でリオーダバッファ１３３３から読み出し、キューレジスタＱＲＬ０のアドレスに基づいて当該ブロックデータでリードオンリーキャッシュ１３３１を更新するとともに、処理ユニット１３１に出力する。
【０１０５】
次に、メモリモジュールとしてのＤＲＡＭと、ローカルキャッシュと、グローバルキャッシュのメモリ容量について説明する。
メモリ容量の関係は、当然のことながらＤＲＡＭ＞グローバルキャッシュ＞ローカルキャッシュであるが、その割合については、アプリケーションに依存する。
キャッシュブロックサイズとしては、キャッシュフィル時に下位階層のメモリから読み出すデータサイズに相当する。
ＤＲＡＭの特性として、ランダムアクセス時には性能が低下するが、同一行（ＲＯＷ）に属するデータの連続アクセスは速いという点をあげることができる。
【０１０６】
グローバルキャッシュは、ＤＲＡＭからデータを読み出す関係上、前記連続アクセスを行う方が性能上好ましい。
したがって、キャッシュブロックのサイズを大きく設定する。
たとえば、グローバルキャッシュのキャッシュブロックのサイズはＤＲＡＭマクロの１行分をブロックサイズにすることができる。
【０１０７】
一方、ローカルキャッシュの場合には、ブロックサイズを大きくすると、キャッシュに入れても、使われないデータの割合が増えることと、下位階層がグローバルキャッシュでＤＲＡＭでなく連続アクセスに必要性がないことから、ブロックサイズは小さく設定する。
ローカルキャッシュのブロックサイズとしては、メモリインターリーブの矩形領域のサイズに近い値が適当で、本実施形態の場合、４×４ピクセル分、すなわち５１２ビットとする。
【０１０８】
次に、テクスチャ圧縮について説明する。
１ピクセルの処理を行うのに複数のテクスチャデータを必要とするので、テクスチャ読み出しバンド幅がボトルネックになる場合が多いが、これを軽減するためテクスチャを圧縮する方法がよく採用される。
圧縮方法には、いろいろあるが、４×４ピクセルのように小さな矩形領域単位で圧縮／伸長できる方法の場合には、グローバルキャッシュには圧縮されたままのデータを置き、ローカルキャッシュには、伸長後のデータを置くことが好ましい。
【０１０９】
次に、ローカルモジュール１３−０〜１３−３の処理ユニット１３１−０〜１３１−３の具体的な構成例について説明する。
【０１１０】
図１１は、本実施形態に係るローカルモジュールの処理ユニットの具体的な構成例を示すブロック図である。
【０１１１】
ローカルモジュール１３（−０〜−３）の処理ユニット１３１（−０〜−３）は、図１１に示すように、ラスタライザ（Ｒａｓｔｅｒｉｚｅｒ：ＲＳＴＲ）１３１１およびコア（Ｃｏｒｅ）１３１２を有している。
これらの構成要素のうち、本アーキテクチャを実現する演算処理部がコア１３１２であり、コア１３１２はラスタライザ１３１１によりアドレスや座標等のグラフィックス処理および画像処理のための各種データが供給される。
【０１１２】
ラスタライザ１３１１は、グラフィックス処理の場合には、グローバルモジュール１２からブロードキャストされたパラメータデータを受けて、たとえば三角形が自分が担当する領域であるか否かを判断し、担当領域である場合には、入力した三角形頂点データに基づいてラスタライゼーションを行い、生成したピクセルデータをコア１３１２に供給する。
ラスタライザ１３１１において生成されるピクセルデータには、ウィンドウ座標（Ｘ，Ｙ，Ｚ）、プライマリカラー（Ｐｒｉｍａｒｙ  Ｃｏｌｏｒ：ＰＣ）（Ｒｐ，Ｇｐ，Ｂｐ，Ａｐ）、セカンダリカラー（Ｓｅｃｏｎｄａｒｙ  Ｃｏｌｏｒ：ＳＣ）（Ｒｓ，Ｇｓ，Ｂｓ，Ａｓ）、Ｆｏｇ係数（ｆ）、テクスチャ座標、法線ベクトル、視線ベクトル、ライトベクトル（（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ），（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ））等の各種データが含まれる。
なお、ラスタライザ１３１１からコア１３１２へのデータの供給ラインは、たとえばウィンドウ座標（Ｘ，Ｙ，Ｚ）の供給ラインと、他のプライマリカラー（Ｒｐ，Ｇｐ，Ｂｐ，Ａｐ）、セカンダリカラー（Ｒｓ，Ｇｓ，Ｂｓ，Ａｓ）、Ｆｏｇ係数（ｆ）、テクスチャ座標（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）、および（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）の供給ラインとは、異なる配線により形成される。
【０１１３】
ラスタライザ１３１１は、画像処理の場合には、たとえばグローバルモジュール１２を介して図示しない上位装置から出力された、メモリモジュール１３２（−０〜−３）から画像データを読み出すためのソースアドレスおよび画像処理結果を書き込むためのデスティネーションアドレスの生成に必要なコマンドやデータ、たとえば探索矩形領域の幅、高さデータ（Ｗｓ，Ｈｓ）、ブロックサイズデータ（Ｗｂｋ，Ｈｂｋ）を入力し、入力データに基づいて、ソースアドレス（Ｘ１ｓ，Ｙ１ｓ）および／または（Ｘ２ｓ，Ｙ２ｓ）を生成するとともに、デスティネーションアドレス（Ｘｄ，Ｙｄ）を生成し、コア１３１２に供給する。
画像処理時のラスタライザ１３１１からコア１３１２へのデータの供給ラインは、たとえばデスティネーションアドレス（Ｘｄ，Ｙｄ）に関してはグラフィックス処理時のウィンドウ座標（Ｘ，Ｙ，Ｚ）の供給ラインが共用され、ソースアドレス（Ｘ１ｓ，Ｙ１ｓ），（Ｘ２ｓ，Ｙ２ｓ）に関してはテクスチャ座標（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）、および（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）等の供給ラインが共用される。
【０１１４】
コア１３１２は、本アーキテクチャを実現する演算処理部であり、コア１３１２はラスタライザ１３１１により各種データが供給される。
コア１３１２は、ストリームデータに対して演算処理を行う以下の機能ユニットを有している。
すなわち、コア１３１２は、第１の機能ユニットとしてのグラフィックスユニット（Graphics Unit ：ＧＲＵ）１３１２１、第３の機能ユニットとしてのピクセルエンジン（Pixel Engine：ＰＸＥ）１３１２２、および第２の機能ユニットとしてのピクセル演算プロセッサ（Pixel 0peration Processor ：ＰＯＰ）群１３１２３を有している。
コア１３１２は、たとえばデータフローグラフ（Data Flow Graph : ＤＦＧ）に応じてこれらの機能ユニット間の接続を切り替えることにより様々なアルゴリズムに対応する。  さらに、コア１３１２は、レジスタユニット（Register Unit ：ＲＧＵ）１３１２４、およびクロスバー回路（Interconnection X-Bar ：ＩＸＢ）１３１２５を有している。
【０１１５】
グラフィックスユニット（ＧＲＵ）１３１２１は、グラフィックス処理を実行する際に、専用ハードウェアを付加することがコストパフォーマンス上明らかに有利なものをハードワイヤードロジックで実装している機能ユニットである。
グラフィックスユニット１３１２１は、グラフィックス処理に関連するものとして、パースペクティブコレクション（Perspective Correction）、ＭＩＰＭＡＰレベル算出等の機能を実装している。
【０１１６】
グラフィックスユニット１３１２１は、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を介してラスタライザ１３１１により供給されたテクスチャ座標（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）、および／またはラスタライザ１３１１またはピクセルエンジン（ＰＸＥ）１３１２２により供給されたテクスチャ座標（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）データを入力し、入力データに基づいて、パースペクティブコレクション、ＬＯＤ（ＬｅｖｅｌｏｆＤｅｔａｉｌ）計算によるミップマップ（ＭＩＰＭＡＰ）レベルの算出、立方体マップ（Ｃｕｂｅ  Ｍａｐ）の面選択や正規化テクセル座標（ｓ，ｔ）の算出処理を行い、たとえば正規化テクセル座標（ｓ，ｔ）およびＬＯＤデータ（ｌｏｄ）を含むグラフィックスデータ（ｓ１，ｔ１，ｌｏｄ１）および／または（ｓ２，ｔ２，ｌｏｄ２）をピクセル演算プロセッサ（ＰＯＰ）群１３１２３に出力する。
なお、グラフィックスユニット１３１２１の出力グラフィックスデータ（ｓ１，ｔ１，ｌｏｄ１），（ｓ２，ｔ２，ｌｏｄ２）は、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を通して、あるいは図１４中、破線で示すように、別の配線で直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給される。
【０１１７】
第３の機能ユニットとしてのピクセルエンジン（ＰＸＥ）１３１２２は、ストリームデータ処理を行う機能ユニットであって、内部に複数の演算器を有する。
ピクセルエンジン１３１２２は、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３に比べて演算器間の接続自由度が高く、かつ演算器の機能も豊富である。
【０１１８】
ピクセルエンジン（ＰＸＥ）１３１２２は、描画対象に関する情報やピクセル演算プロセッサ（ＰＯＰ）群１３１２３における演算結果を、たとえばクロスバー回路１３１２５によりレジスタユニット（ＲＧＵ）１３１２４の所望のＦＩＦＯレジスタに設定された後、クロスバー回路１３１２５を介さず、レジスタユニット（ＲＧＵ）１３１２４を介して直接的に供給される。
ピクセルエンジン（ＰＸＥ）１３１２２に入力されるデータとしては、たとえば描画する対象の表面に関する情報（面の方向、色、反射率、模様（テクスチャ）等）、表面にあたる光に関する情報（入射方向、強さなど）、過去の演算結果（演算の中間値）等が一般的である。
【０１１９】
ピクセルエンジン（ＰＸＥ）１３１２２は、複数の演算器を有し、たとえば外部からの制御により演算経路を再構成可能な演算ユニットであって、所望の演算を実現するように、内部の演算器間の電気的接続を確立し、レジスタユニット（ＲＧＵ）１３１２４を介して入力されたデータを、演算器と電気的接続網（インターコネクト）から形成される一連の演算器のデータパスに入力することで演算を行い、演算結果を出力する。
【０１２０】
すなわち、ピクセルエンジン１３１２２は、再構成可能なデータパスをたとえば複数有し、演算器（加算器、乗算器、乗加算器等）を、電気的な接続網で接続し、複数個の演算器からなる演算回路を構成する。
そして、ピクセルエンジン１３１２２は、このようにして再構成された演算回路に対して、連続してデータを入力し、演算を行うことが可能であり、たとえば二分木状のＤＦＧ（データフローグラフ）で表現される演算を、効率よくかつ少ない回路規模で実現できる接続網を使用して演算回路を構成することが可能である。
【０１２１】
図１２は、ピクセルエンジン（ＰＸＥ）１３１２２の構成例、およびレジスタユニット（ＲＧＵ）１３１２４、クロスバー回路１３１２５との接続例を示す図である。
【０１２２】
このピクセルエンジン（ＰＸＥ）１３１２２は、図１５に示すように、２または３入力ＭＡＣ（Ｍｕｌｔｉｐｌｙ  ａｎｄ  Ａｃｃｕｍｕｌａｔｏｒ）を基本とした複数（図１２の例では１６個）の演算器ＯＰ１〜ＯＰ８，ＯＰ１１〜ＯＰ１８と、１または複数（図１２の例では４個）ルックアップテーブルＬＵＴ１，ＬＵＴ２、ＬＵＴ１１，ＬＵＴ１２とを有している。
【０１２３】
図１２に示すように、ピクセルエンジン（ＰＸＥ）１３１２２内の各演算器ＯＰ１〜ＯＰ８，ＯＰ１１〜ＯＰ１８の２本の入力は、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯ（First-IN First-Out) レジスタＦＲＥＧと直結している。
同様に、ルックアップテーブルＬＵＴ１，ＬＵＴ２、ＬＵＴ１１，ＬＵＴ１２の１本の入力はレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧと直結している。
そして、各演算器ＯＰ１〜ＯＰ８，ＯＰ１１〜ＯＰ１８およびルックアップテーブルＬＵＴ１，ＬＵＴ２、ＬＵＴ１１，ＬＵＴ１２の出力は、クロスバー回路１３１２５に接続されている。
【０１２４】
さらに、図１２の例では、演算器ＯＰ１の出力が演算器ＯＰ３，ＯＰ４の２入力および３入力演算器ＯＰ２の１入力にそれぞれ接続されている。同様に、演算器ＯＰ２の出力が演算器ＯＰ４の２入力および３入力演算器ＯＰ３の１入力にそれぞれ接続されている。また、演算器ＯＰ３の出力が３入力演算器ＯＰ４の１入力に接続されている。
演算器ＯＰ５の出力が演算器ＯＰ７，ＯＰ８の２入力および３入力演算器ＯＰ６の１入力にそれぞれ接続されている。同様に、演算器ＯＰ６の出力が演算器ＯＰ８の２入力および３入力演算器ＯＰ７の１入力にそれぞれ接続されている。また、演算器ＯＰ７の出力が３入力演算器ＯＰ８の１入力に接続されている。
さらに、演算器ＯＰ１１の出力が演算器ＯＰ１３，ＯＰ１４の２入力および３入力演算器ＯＰ１２の１入力にそれぞれ接続されている。同様に、演算器ＯＰ１２の出力が演算器ＯＰ１４の２入力および３入力演算器ＯＰ１３の１入力にそれぞれ接続されている。また、演算器ＯＰ１３の出力が３入力演算器ＯＰ１４の１入力に接続されている。
演算器ＯＰ１５の出力が演算器ＯＰ１７，ＯＰ１８の２入力および３入力演算器ＯＰ１６の１入力にそれぞれ接続されている。同様に、演算器ＯＰ１６の出力が演算器ＯＰ１８の２入力および３入力演算器ＯＰ１７の１入力にそれぞれ接続されている。また、演算器ＯＰ１７の出力が３入力演算器ＯＰ１８の１入力に接続されている。
【０１２５】
このように、図１２のピクセルエンジン（ＰＸＥ）１３１２２内においては、演算器ＯＰ１の出力がフォワーディングパスにより演算器ＯＰ２，ＯＰ３、ＯＰ４に接続されており、演算器ＯＰ２，ＯＰ３、ＯＰ４は、演算器ＯＰ１の出力をソースオペランドとして参照可能である。
演算器ＯＰ２の出力がフォワーディングパスにより演算器ＯＰ３、ＯＰ４に接続されており、演算器ＯＰ３、ＯＰ４は、演算器ＯＰ２の出力をソースオペランドとして参照可能である。
演算器ＯＰ３の出力がフォワーディングパスにより演算器ＯＰ４に接続されており、演算器ＯＰ４は、演算器ＯＰ３の出力をソースオペランドとして参照可能である。
演算器ＯＰ５の出力がフォワーディングパスにより演算器ＯＰ６，ＯＰ７、ＯＰ８に接続されており、演算器ＯＰ６，ＯＰ７、ＯＰ８、演算器ＯＰ５の出力をソースオペランドとして参照可能である。
演算器ＯＰ６の出力がフォワーディングパスにより演算器ＯＰ７、ＯＰ８に接続されており、演算器ＯＰ７、ＯＰ８は、演算器ＯＰ６の出力をソースオペランドとして参照可能である。
演算器ＯＰ７の出力がフォワーディングパスにより演算器ＯＰ８に接続されており、演算器ＯＰ８は、演算器ＯＰ７の出力をソースオペランドとして参照可能である。
同様に、演算器ＯＰ１１の出力がフォワーディングパスにより演算器ＯＰ１２，ＯＰ１３、ＯＰ１４に接続されており、演算器ＯＰ１２，ＯＰ１３、ＯＰ１４は、演算器ＯＰ１１の出力をソースオペランドとして参照可能である。
演算器ＯＰ１２の出力がフォワーディングパスにより演算器ＯＰ１３、ＯＰ１４に接続されており、演算器ＯＰ１３、ＯＰ１４は、演算器ＯＰ１２の出力をソースオペランドとして参照可能である。
演算器ＯＰ１３の出力がフォワーディングパスにより演算器ＯＰ１４に接続されており、演算器ＯＰ１４は、演算器ＯＰ１３の出力をソースオペランドとして参照可能である。
演算器ＯＰ１５の出力がフォワーディングパスにより演算器ＯＰ１６，ＯＰ１７、ＯＰ１８に接続されており、演算器ＯＰ１６，ＯＰ１７、ＯＰ１８、演算器ＯＰ１５の出力をソースオペランドとして参照可能である。
演算器ＯＰ１６の出力がフォワーディングパスにより演算器ＯＰ１７、ＯＰ１８に接続されており、演算器ＯＰ１７、ＯＰ１８は、演算器ＯＰ１６の出力をソースオペランドとして参照可能である。
演算器ＯＰ１７の出力がフォワーディングパスにより演算器ＯＰ１８に接続されており、演算器ＯＰ１８は、演算器ＯＰ１７の出力をソースオペランドとして参照可能である。
また、ルックアップテーブルＬＵＴ１，ＬＵＴ２、ＬＵＴ１１，ＬＵＴ１２は、たとえば任意に定義可能なＲＡＭ−ＬＵＴであり、１コンテキストでは最大Ｌ（Ｌ：同時参照可能なテーブル数）個まで参照可能である。ルックアップテーブルＬＵＴ１，ＬＵＴ２、ＬＵＴ１１，ＬＵＴ１２には、たとえばｓｉｎ／ｃｏｓ等の初等関数等が保持される。
【０１２６】
以上の構成において、ピクセルエンジン（ＰＸＥ）１３１２２とレジスタユニット（ＲＧＵ）１３１２４間の接続数に関しては、ピクセルエンジン（ＰＸＥ）１３１２２からクロスバー回路（ＩＢＸ）１３１２５への接続数ＣＮ１は次のようになる。
【０１２７】
【数１】
ＣＮ１＝（演算器数＋同時参照可能なＬＵＴ数）×１
【０１２８】
また、レジスタユニット（ＲＧＵ）１３１２４からピクセルエンジン（ＰＸＥ）１３１２２への接続数ＣＮ２は次のようになる。
【０１２９】
【数２】
ＣＮ２＝演算器数×２＋同時参照可能なＬＵＴ数×１
【０１３０】
以上の構成を有するピクセルエンジン（ＰＸＥ）１３１２２は、たとえばグラフィックス処理時に、クロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４の所望のＦＩＦＯレジスタに設定され、ＦＩＦＯレジスタから直接的に入力されたピクセル演算プロセッサ（ＰＯＰ）群１３１２３における演算結果データデータ（ＴＲ１，ＴＧ１，ＴＢ１，ＴＡ１）および（ＴＲ２，ＴＧ２，ＴＢ２，ＴＡ２）、並びに、ラスタライザ１３１１によりレジスタユニット（ＲＧＵ）１３１２４の所望のＦＩＦＯレジスタに設定され、ＦＩＦＯレジスタから直接的に入力されたプライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（Ｆ）に基づいて、たとえばピクセルシェーダ（Ｐｉｘｅｌ  Ｓｈａｄｅｒ）のような演算を行い、色データ（ＦＲ１，ＦＧ１，ＦＢ１）および混合値（ブレンド値：ＦＡ１）を求める。
ピクセルエンジン（ＰＸＥ）１３１２２は、このデータ（ＦＲ１，ＦＧ１，ＦＢ１，ＦＡ１）を、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を介して、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の所定のＰＯＰ内あるいは別個に設けられたライトユニットＷＵに転送する。
【０１３１】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３は、メモリバンド幅を活かした高並列の演算処理を行う機能ユニットであるＰＯＰを複数、本実施形態ではたとえば図１３に示すように、ＰＯＰ０〜ＰＯＰ３の４個を有する。
各ＰＯＰは、並列に配列されたＰＯＰＥ(Pixel Operation Processing Element)と呼ばれる複数の演算器を有している。また、メモリに対するアドレス生成機能も有する。
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３とキャッシュ間は広いバンド幅で接続されており、かつメモリアクセスのためのアドレス生成機能を内蔵しているので、演算器の演算能力を最大限引き出すだけのストリームデータの供給が可能である。
【０１３２】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３は、グラフィックス処理時には、たとえば以下の処理を行う。
たとえばグラフィックスユニット（ＧＲＵ）１３１２１から直接的に供給された（ｓ１，ｔ１，ｌｏｄ１），（ｓ２，ｔ２，ｌｏｄ２）の値に基づいて、テクスチャアクセスのための（ｕ，ｖ）アドレス計算を行い、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）に基づいて４近傍フィルタリングを行うための４近傍の（ｕ，ｖ）座標、すなわち、（ｕ０，ｖ０），（ｕ１，ｖ１），（ｕ２，ｖ２），（ｕ３，ｖ３）を計算してメモリコントローラＭＣに供給して、メモリモジュール１３２から所望のテクセルデータをたとえばリードオンリーキャッシュＲＯ＄を通して各ＰＯＰＥに読み出す。
また、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３は、係数生成のためのデータ（ｕｆ，ｖｆ，ｌｏｄｆ）に基づいてテクスチャフィルタ係数Ｋを計算して各ＰＯＰＥに供給する。
そして、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰにおいて、色データ（ＴＲ，ＴＧ，ＴＢ）および混合値（ブレンド値：ＴＡ）を求め、（ＴＲ，ＴＧ，ＴＢ，ＴＡ）をクロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を介してピクセルエンジン（ＰＸＥ）１３１２２に転送する。
【０１３３】
一方、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３は、画像処理時には、たとえば以下の処理を行う。
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３は、たとえばラスタライザ１３１１で生成されてレジスタユニット（ＲＧＵ）１３１２４に設定され、グラフィックスユニット（ＧＲＵ）１３１２１を素通りしてクロスバー回路１３１２５を介さずに直接的に供給されたソースアドレス（Ｘ１ｓ，Ｙ１ｓ）および（Ｘ２ｓ，Ｙ２ｓ）に基づいて、たとえばリードオンリーキャッシュＲＯ＄および／またはリードライトキャッシュＲＷ＄を介して、メモリモジュール１３２にされている画像データを読み出し、読み出しデータに対して所定の演算処理を行って、演算結果をクロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を介してライトユニットＷＵに転送する。
【０１３４】
なお、上述した機能を有するＰＯＰのさらに具体的な構成については、後で詳述する。
【０１３５】
レジスタユニット（ＲＧＵ）１３１２４は、コア１３１２内の各機能ユニットで処理されるストリームデータを格納するＦＩＦＯ構造のレジスタファイルである。
また、ハードウェアリソースの関係で、ＤＦＧを複数のサブＤＦＧ（Sub-DFG）に分割して実行しなければならない場合に、サブＤＦＧ間の中間値格納バッファとしても機能する。
図１２に示すように、レジスタユニット（ＲＧＵ）１３１２４内のＦＩＦＯレジスタＦＲＥＧの出力と機能ユニットであるピクセルエンジン（ＰＸＥ）１３１２２、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各演算器の入力ポートとは、１対１に対応する。
【０１３６】
クロスバー回路１３１２５は、コア１３１２が、ＤＦＧに応じて機能ユニット間の接続を替えることにより様々なアルゴリズムに対応可能なように、この接続切り替えを実現する。
上述したように、レジスタユニット（ＲＧＵ）１３１２４内のＦＩＦＯレジスタＦＲＥＧの出力と機能ユニットの入力ポートは固定で１対１に対応するが、機能ユニットの出力ポートとレジスタユニット（ＲＧＵ）１３１２４内のＦＩＦＯレジスタＦＲＥＧの入力をクロスバー回路１３１２５で切り替える。
【０１３７】
図１４は、ＰＯＰ（ピクセル演算プロセッサ）とメモリ間の接続形態およびＰＯＰの構成例を示す図である。
なお、図１４の例は、各ＰＯＰ（０〜３）は、並列に配列された４個の演算器ＰＯＰＥ０〜ＰＯＰＥ３を有する場合である。
【０１３８】
また、本実施形態においては、ローカルモジュール１３（−０〜−３）のメモリモジュール１３２（−０〜−３）には画像データが記憶されるが、ローカルモジュール１３（−０〜−３）は、ＰＯＰ（０〜３）とメモリモジュール１３２間にそれぞれ分割ローカルキャッシュＤ１３３（−０〜−３）を有している。
このような構成において、ＰＯＰ０〜３でピクセルレベルの並列演算処理を行う場合、画像データのアクセスには、次の２通りの方法がある。
第１は、メモリモジュール１３２に格納されている画像データを直接読み出して演算を行う方法である。
第２は、メモリモジュール１３２に格納されている画像データのうち、演算に必要とされる一部のデータをローカルキャッシュ１３３に格納し、ローカルキャッシュ１３３のデータを読み出して演算を行う方法である。
【０１３９】
本実施形態においては、上述した第２の方法を採用している。
ローカルキャッシュ１３３は、ＰＯＰ（０〜３）の各ＰＯＰＥ０〜ＰＯＰＥ３に対応してそれぞれリードオンリーキャッシュＲＯ＄０〜ＲＯ＄３、並びに、リードライトキャッシュＲＷ＄０〜ＲＷ＄３が配置されている。
【０１４０】
また、ローカルキャッシュ１３３は、図１４に示すように、セレクタＳＥＬ１〜ＳＥＬ１２を有する。
セレクタＳＥＬ１〜ＳＥＬ４は、メモリモジュール１３２の対応するリードラインポートｐ（０）〜ｐ（３）からの３２ビット幅の読み出しデータまたは他のポートからの読み出しデータのいずれかを選択して、リードライトキャッシュＲＷ＄０〜ＲＷ＄３およびセレクタＳＥＬ９〜ＳＥＬ１２に出力する。
セレクタＳＥＬ５は、ＰＯＰのＰＯＰＥ０の演算結果またはライトユニットＷＵの処理結果のいずれかを選択してリードライトキャッシュＲＷ＄０に供給する。
セレクタＳＥＬ６は、ＰＯＰのＰＯＰＥ１の演算結果またはライトユニットＷＵの処理結果のいずれかを選択してリードライトキャッシュＲＷ＄１に供給する。
セレクタＳＥＬ７は、ＰＯＰのＰＯＰＥ２の演算結果またはライトユニットＷＵの処理結果のいずれかを選択してリードライトキャッシュＲＷ＄２に供給する。
セレクタＳＥＬ８は、ＰＯＰのＰＯＰＥ３の演算結果またはライトユニットＷＵの処理結果のいずれかを選択してリードライトキャッシュＲＷ＄３に供給する。
セレクタＳＥＬ９は、セレクタＳＥＬ１によるデータまたはグローバルモジュール１２により転送されたデータのいずれかを選択してリードオンリーキャッシュＲＯ＄０に供給する。
セレクタＳＥＬ１０は、セレクタＳＥＬ２によるデータまたはグローバルモジュール１２により転送されたデータのいずれかを選択してリードオンリーキャッシュＲＯ＄１に供給する。
セレクタＳＥＬ１１は、セレクタＳＥＬ３によるデータまたはグローバルモジュール１２により転送されたデータのいずれかを選択してリードオンリーキャッシュＲＯ＄２に供給する。
セレクタＳＥＬ１２は、セレクタＳＥＬ４によるデータまたはグローバルモジュール１２により転送されたデータのいずれかを選択してリードオンリーキャッシュＲＯ＄３に供給する。
【０１４１】
各ＰＯＰ（０〜３）は、並列に配列された４個の演算器ＰＯＰＥ０〜ＰＯＰＥ３に加えて第４の機能ユニットとしてのライトユニットＷＵ、フィルタ機能ユニットＦＦＵ、出力選択回路ＯＳＬＣ、およびアドレス生成器ＡＧを有している。
【０１４２】
ライトユニットＷＵは、グラフィックス処理の場合には、レジスタユニット（ＲＧＵ）１３１２４からのソースデータ、具体的には色データ（ＲＧＢ）および混合値データ（Ａ）、並びに奥行きデータ（Ｚ）と、リードライトキャッシュＲＷ＄からのデスティネーション色データ（ＲＧＢ）および混合値データ（Ａ）、並びに奥行きデータ（Ｚ）に基づいて、αブレンディング、各種テスト、ロジカルオペレーションといったグラフィックス処理のピクセル書き込みに必要な演算を行い、演算結果をリードライトキャッシュＲＷ＄に書き戻す。
また、ライトユニットＷＵは、画像処理の場合には、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３による演算結果のデータを、たとえばレジスタユニット（ＲＧＵ）１３１２４の特定のＦＩＦＯレジスタから直接的に入力したデスティネーションアドレス（Ｘｄ，Ｙｄ）に、リードライトキャッシュＲＷ＄を介してメモリモジュール１３２に格納する。
【０１４３】
なお、図１４の例では、ライトユニットＷＵを各ＰＯＰに設けている例を示しているが、一つのＰＯＰのみに設けて複数の分割ローカルキャッシュＤ１３３に供給する、あるいは２個のＰＯＰに対して一つを設けて対応する分割ローカルキャッシュＤ１３３に供給する、あるいはＰＯＰとは別個に設ける等、種々の態様で構成可能である。
【０１４４】
フィルタ機能ユニットＦＦＵは、各ＰＯＰＥ０〜ＰＯＰＥ３にレジスタユニットレジスタ（ＲＧＵ）１３１２４のＦＩＦＯレジスタにセットされる演算用パラメータ、具体的には、レジスタユニット（ＲＧＵ）１３１２４を介して、あるいはグラフィックスユニット（ＧＲＵ）１３１２１から直接的に供給された（ｓ，ｔ，ｌｏｄ）の値に基づいて、（ｕ，ｖ）アドレス計算を行い、アドレスデータ（ｓｉ，ｔｉ，ｌｏｄｉ）をアドレス生成器ＡＧに出力し、係数生成のためのデータ（ｓｆ，ｔｆ，ｌｏｄｆ）に基づいてテクスチャフィルタ係数Ｋを算出し、算出したフィルタ係数を対応する各ＰＯＰＥ０〜ＰＯＰＥ３に供給する。
【０１４５】
アドレス生成器ＡＧは、フィルタ機能ユニットＦＦＵにより供給されたアドレスデータ（ｓｉ，ｔｉ，ｌｏｄｉ）に基づいて４近傍フィルタリングを行うための４近傍の（ｕ，ｖ）座標、すなわち、（ｕ０，ｖ０），（ｕ１，ｖ１），（ｕ２，ｖ２），（ｕ３，ｖ３）を計算し、メモリコントローラＭＣに供給する。
【０１４６】
なお、メモリコントローラＭＣは、リードオンリーキャッシュＲＯ＄をグローバルバスから送られるデータのローカルキャッシュとして用いる場合には、（ｕ，ｖ）座標を基に物理アドレスを計算し、キャッシュヒット、グローバルバスへのリクエスト送出、リードオンリーキャッシュＲＯ＄フィルなどを行い、リードオンリーキャッシュＲＯ＄から対応するＰＯＰにデータを送出させる。
メモリコントローラＭＣは、リードライトキャッシュＲＷ＄をメモリモジュール１３２への書き込みキャッシュとして用いる場合には、デスティネーションアドレス（Ｘｄ，Ｙｄ）を基に物理アドレスを計算し、キャッシュ、メモリモジュール１３２への書き戻し制御を行う。
【０１４７】
ＰＯＰＥ０は、リードオンリーキャッシュＲＯ＄０またはリードライトキャッシュＲＷ＄０から読み出された３２ビット幅のデータおよびフィルタ機能ユニットＦＦＵによる演算パラメータ（たとえばフィルタ係数）を受けて所定の演算（たとえば加算）を行って、演算結果を次段のＰＯＰＥ１に出力する。また、ＰＯＰＥ０は、この所定の演算結果を出力選択回路ＯＳＬＣに出力する８ビット×４の出力ラインＯＴＬ０を有する。
また、ＰＯＰＥ０は、クロスバー回路１３１２５を転送され、レジスタユニット（ＲＧＵ）１３１２４に設定されたデータを受けて所定の演算を行い、この演算結果を分割ローカルキャッシュＤ１３３（０）のセレクタＳＥＬ５を介してリードライトキャッシュＲＷ＄０に出力する。
【０１４８】
ＰＯＰＥ１は、リードオンリーキャッシュＲＯ＄１またはリードライトキャッシュＲＷ＄１から読み出された３２ビット幅のデータおよびフィルタ機能ユニットＦＦＵによる演算パラメータを受けて所定の演算（たとえば加算）を行い、この演算結果とＰＯＰＥ０により演算結果を加算して次段のＰＯＰＥ２に出力する。また、ＰＯＰＥ１は、この所定の演算結果を出力選択回路ＯＳＬＣに出力する８ビット×４の出力ラインＯＴＬ１を有する。
また、ＰＯＰＥ１は、クロスバー回路１３１２５を転送され、レジスタユニット（ＲＧＵ）１３１２４に設定されたデータを受けて所定の演算を行い、この演算結果を分割ローカルキャッシュＤ１３３（０）のセレクタＳＥＬ６を介してリードライトキャッシュＲＷ＄１に出力する。
【０１４９】
ＰＯＰＥ２は、リードオンリーキャッシュＲＯ＄２またはリードライトキャッシュＲＷ＄２から読み出された３２ビット幅のデータおよびフィルタ機能ユニットＦＦＵによる演算パラメータを受けて所定の演算（たとえば加算）を行い、この演算結果とＰＯＰＥ１により演算結果を加算して次段のＰＯＰＥ３に出力する。また、ＰＯＰＥ２は、この所定の演算結果を出力選択回路ＯＳＬＣに出力する８ビット×４の出力ラインＯＴＬ２を有する。
また、ＰＯＰＥ２は、クロスバー回路１３１２５を転送され、レジスタユニット（ＲＧＵ）１３１２４に設定されたデータを受けて所定の演算を行い、この演算結果を分割ローカルキャッシュＤ１３３（０）のセレクタＳＥＬ７を介してリードライトキャッシュＲＷ＄２に出力する。
【０１５０】
ＰＯＰＥ３は、リードオンリーキャッシュＲＯ＄３またはリードライトキャッシュＲＷ＄３から読み出された３２ビット幅のデータおよびフィルタ機能ユニットＦＦＵによる演算パラメータを受けて所定の演算（たとえば加算）を行い、この演算結果とＰＯＰＥ２により演算結果を加算して、この演算結果（一つのＰＯＰ内の総計）を８ビット×４の出力ラインＯＴＬ３により出力選択回路ＯＳＬＣに出力する。
また、ＰＯＰＥ３は、クロスバー回路１３１２５を転送され、レジスタユニット（ＲＧＵ）１３１２４に設定されたデータを受けて所定の演算を行い、この演算結果を分割ローカルキャッシュＤ１３３（０）のセレクタＳＥＬ８を介してリードライトキャッシュＲＷ＄３に出力する。
【０１５１】
図１５は、本実施形態に係るＰＯＰＥ（０〜３）の具体的な構成例を示す回路図である。
本ＰＯＰＥは、図１５に示すように、マルチプレクサ（ＭＵＸ）４０１〜４０５、加減算器（ａｄｄｓｕｂ）４０６、乗算器（ｍｕｌ）４０７、加減算器（ａｄｄｓｕｂ）４０８、および積算レジスタ４０９を有している。
【０１５２】
マルチプレクサ４０１は、レジスタユニット（ＲＧＵ）１３１２４によるデータ、フィルタ機能ユニットＦＦＵによる演算パラメータ、リードオンリーキャッシュＲＯ＄（０〜３）、またはリードライトキャッシュＲＷ＄（０〜３）から読み出されたデータのうちの一つを選択して、加減算器４０６に供給する。
【０１５３】
マルチプレクサ４０２は、レジスタユニット（ＲＧＵ）１３１２４によるデータ、リードオンリーキャッシュＲＯ＄（０〜３）、またはリードライトキャッシュＲＷ＄（０〜３）から読み出されたデータのうちの一つを選択して、加減算器４０６に供給する。
【０１５４】
マルチプレクサ４０３は、レジスタユニット（ＲＧＵ）１３１２４によるデータ、フィルタ機能ユニットＦＦＵによる演算パラメータ、リードオンリーキャッシュＲＯ＄（０〜３）、またはリードライトキャッシュＲＷ＄（０〜３）から読み出されたデータのうちの一つを選択して、乗算器４０７に供給する。
【０１５５】
マルチプレクサ４０４は、前段のＰＯＰＥ（０〜２）の演算結果または積算レジスタ４０９の出力データのうちのいずれかを選択して加減算器４０８に供給する。
【０１５６】
マルチプレクサ４０５は、レジスタユニット（ＲＧＵ）１３１２４によるデータ、フィルタ機能ユニットＦＦＵによる演算パラメータ、リードオンリーキャッシュＲＯ＄（０〜３）、またはリードライトキャッシュＲＷ＄（０〜３）から読み出されたデータのうちの一つを選択して、加減算器４０８に供給する。
【０１５７】
加減算器４０６は、マルチプレクサ４０１の選択データとマルチプレクサ４０２の選択データを加算（減算）して、乗算器４０７に出力する。
乗算器４０７は、加減算器４０６の出力データとマルチプレクサ４０３の選択データを乗算器して、加減算器４０８に出力する。
加減算器４０８は、乗算器４０７と出力データ、マルチプレクサ４０４の選択データ、マルチプレクサ４０５の選択データを加算（減算）して積算レジスタ４０９に出力する。  そして、積算レジスタ４０９の保持されたデータが、各ＰＯＰＥの演算結果ととして、出力選択回路ＯＳＬＣおよび次段のＰＯＰＥ（１〜３）に出力される。
【０１５８】
出力選択回路ＯＳＬＣは、各ＰＯＰＥ０〜Ｐ０ＰＥ３の出力ラインＯＴＬ０〜ＯＴＬ３を転送された演算データのうちのいずれかの演算データを選択して、クロスバー回路１３１２５に出力する機能を有する。
本実施形態では、出力選択回路ＯＳＬＣは、一つのＰＯＰ内の総計を出力するＰＯＰＥ３の出力ラインＯＴＬ３を転送された演算データを選択し、クロスバー回路１３１２５に出力するように構成されている。
クロスバー回路１３１２５に出力された演算データは、レジスタユニット１３１２４に設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセルエンジン１３１２２の所定の演算器に供給される。
【０１５９】
アドレス生成器ＡＧは、図１６に示すように、メモリモジュール１３２からのデータ転送は、１列（４つのＰＯＰ分）同時に行われ、各分割ローカルキャッシュＤ１３３（０）〜Ｄ１３３（３）の各リードオンリーキャッシュＲＯ＄０〜ＲＯ＄３またはリードライトキャッシュＲＷ＄０〜ＲＷ＄３へのアクセスは、独立して行われることから、各リードオンリーキャッシュＲＯ＄０〜ＲＯ＄３またはリードライトキャッシュＲＷ＄０〜ＲＷ＄３に、メモリモジュール１３２のポートｐ（０）〜ｐ（３）から並列的に読み出されている要素データを、対応するＰＯＰＥ０〜ＰＯＰＥ３に読み出すためのキャッシュアドレスＣＡＤＲ０〜ＣＡＤＲ３をそれぞれ生成し、供給する。
アドレス生成器ＡＧは、たとえばＰＯＰＥ０の演算結果ＯＰＲ０が、ＰＯＰＥ１の演算が終了するタイミングでＰＯＰＥ１に供給され、ＰＯＰＥ１の演算結果（ＰＯＰＥ０の演算結果ＯＰＲ０を加算した結果）ＯＰＲ１が、ＰＯＰＥ２の演算が終了するタイミングでＰＯＰＥ２に供給され、ＰＯＰＥ２の演算結果（ＰＯＰＥ１の演算結果ＯＰＲ１を加算した結果）ＯＰＲ２が、ＰＯＰＥ３の演算が終了するタイミングでＰＯＰＥ３に供給されるように、各リードオンリーキャッシュＲＯ＄０〜ＲＯ＄３またはリードライトキャッシュＲＷ＄０〜ＲＷ＄３に所定タイミングをずらしてキャッシュアドレスＣＡＤＲ０〜ＣＡＤＲ３を供給する。
たとえば各ＰＯＰＥ０〜ＰＯＰＥ３に供給される要素データ数が同じであり、各ＰＯＰＥ０〜ＰＯＰＥ３で要素データを順に加算して行く場合には、アドレス供給タイミングを１アドレスずつ順にずらしてアドレス供給が行われる。
これにより、ミスのない演算を効率的に行える。すなわち、本実施形態に係るコア１３１２では、演算効率の向上が図られている。
【０１６０】
次に、メモリのデータの基づいてピクセル演算プロセッサ群１３１２３で演算処理を行い、さらにピクセルエンジン１３１２２で演算を行う場合の動作を、図１７〜図２０に関連付けて説明する。
なお、ここでは、図１８（Ａ）に示すように、縦１６、横１６の１６×１６の１６列の要素データについて演算を行う場合を例に説明する。
【０１６１】
ステップＳＴ５１
まず、ステップＳＴ５１において、メモリモジュール（ｅＤＲＡＭ）１３２からローカルキャッシュ１３３のリードオンリーキャッシュＲＯ＄０〜ＲＯ＄３へ１列（４つのＰＯＰ分）同時に転送される。
次に、図１９（Ａ），（Ｃ），（Ｅ），（Ｇ）に示すように、アドレス生成器ＡＧにより各キャッシュに独立に、かつ、１ＰＯＰ内のＰＯＰＥ０〜ＰＯＰＥ３に１アドレスずつ順にずらしてキャッシュアドレスＣＡＤＲ０〜ＣＡＤＲ３の供給が行われる。
これにより、各ＰＯＰ０〜ＰＯＰ３の各ＰＯＰＥ０〜ＰＯＰＥ３に１６個の要素データが順に読み出される。
【０１６２】
たとえば分割ローカルキャッシュＤ１３３（０）のリードオンリーキャッシュＲＯ＄０にキャッシュアドレスＣＡＤＲ００〜ＣＡＤＲ０Ｆが順に与えられ、これに応じてＰＯＰ０のＰＯＰＥ０に１列分のデータ００〜０Ｆが読み出される。
同様に、分割ローカルキャッシュＤ１３３（０）のリードオンリーキャッシュＲＯ＄１にキャッシュアドレスＣＡＤＲ１０〜ＣＡＤＲ１Ｆが順に与えられ、これに応じてＰＯＰ０のＰＯＰＥ１に１列分のデータ１０〜１Ｆが読み出される。
分割ローカルキャッシュＤ１３３（０）のリードオンリーキャッシュＲＯ＄２にキャッシュアドレスＣＡＤＲ２０〜ＣＡＤＲ２Ｆが順に与えられ、これに応じてＰＯＰ０のＰＯＰＥ２に１列分のデータ２０〜２Ｆが読み出される。
分割ローカルキャッシュＤ１３３（０）のリードオンリーキャッシュＲＯ＄３にキャッシュアドレスＣＡＤＲ３０〜ＣＡＤＲ３Ｆが順に与えられ、これに応じてＰＯＰ０のＰＯＰＥ３に１列分のデータ３０〜３Ｆが読み出される。
【０１６３】
分割ローカルキャッシュＤ１３３（１）のリードオンリーキャッシュＲＯ＄０にキャッシュアドレスＣＡＤＲ４０〜ＣＡＤＲ４Ｆが順に与えられ、これに応じてＰＯＰ１のＰＯＰＥ０に１列分のデータ４０〜４Ｆが読み出される。
同様に、分割ローカルキャッシュＤ１３３（１）のリードオンリーキャッシュＲＯ＄１にキャッシュアドレスＣＡＤＲ５０〜ＣＡＤＲ５Ｆが順に与えられ、これに応じてＰＯＰ１のＰＯＰＥ１に１列分のデータ５０〜５Ｆが読み出される。
分割ローカルキャッシュＤ１３３（１）のリードオンリーキャッシュＲＯ＄２にキャッシュアドレスＣＡＤＲ６０〜ＣＡＤＲ６Ｆが順に与えられ、これに応じてＰＯＰ１のＰＯＰＥ２に１列分のデータ６０〜６Ｆが読み出される。
分割ローカルキャッシュＤ１３３（１）のリードオンリーキャッシュＲＯ＄３にキャッシュアドレスＣＡＤＲ７０〜ＣＡＤＲ７Ｆが順に与えられ、これに応じてＰＯＰ１のＰＯＰＥ３に１列分のデータ７０〜７Ｆが読み出される。
【０１６４】
分割ローカルキャッシュＤ１３３（２）のリードオンリーキャッシュＲＯ＄０にキャッシュアドレスＣＡＤＲ８０〜ＣＡＤＲ８Ｆが順に与えられ、これに応じてＰＯＰ２のＰＯＰＥ０に１列分のデータ８０〜８Ｆが読み出される。
同様に、分割ローカルキャッシュＤ１３３（２）のリードオンリーキャッシュＲＯ＄１にキャッシュアドレスＣＡＤＲ９０〜ＣＡＤＲ９Ｆが順に与えられ、これに応じてＰＯＰ２のＰＯＰＥ１に１列分のデータ９０〜９Ｆが読み出される。
分割ローカルキャッシュＤ１３３（２）のリードオンリーキャッシュＲＯ＄２にキャッシュアドレスＣＡＤＲＡ０〜ＣＡＤＲＡＦが順に与えられ、これに応じてＰＯＰ２のＰＯＰＥ２に１列分のデータＡ０〜ＡＦが読み出される。
分割ローカルキャッシュＤ１３３（２）のリードオンリーキャッシュＲＯ＄３にキャッシュアドレスＣＡＤＲＢ０〜ＣＡＤＲＢＦが順に与えられ、これに応じてＰＯＰ２のＰＯＰＥ３に１列分のデータＢ０〜ＢＦが読み出される。
【０１６５】
分割ローカルキャッシュＤ１３３（３）のリードオンリーキャッシュＲＯ＄０にキャッシュアドレスＣＡＤＲＣ０〜ＣＡＤＲＣＦが順に与えられ、これに応じてＰＯＰ３のＰＯＰＥ０に１列分のデータＣ０〜ＣＦが読み出される。
同様に、分割ローカルキャッシュＤ１３３（３）のリードオンリーキャッシュＲＯ＄１にキャッシュアドレスＣＡＤＲＤ０〜ＣＡＤＲＤＦが順に与えられ、これに応じてＰＯＰ３のＰＯＰＥ１に１列分のデータＤ０〜ＤＦが読み出される。
分割ローカルキャッシュＤ１３３（３）のリードオンリーキャッシュＲＯ＄２にキャッシュアドレスＣＡＤＲＥ０〜ＣＡＤＲＥＦが順に与えられ、これに応じてＰＯＰ３のＰＯＰＥ２に１列分のデータＥ０〜ＥＦが読み出される。
分割ローカルキャッシュＤ１３３（３）のリードオンリーキャッシュＲＯ＄３にキャッシュアドレスＣＡＤＲＦ０〜ＣＡＤＲＦＦが順に与えられ、これに応じてＰＯＰ３のＰＯＰＥ３に１列分のデータＦ０〜ＦＦが読み出される。
【０１６６】
ステップＳＴ５２
ステップＳＴ５２において、各ＰＯＰ（０〜３）の各ＰＯＰＥ０〜ＰＯＰＥ３で、１要素が１列分（１６個）加算される。
具体的には、ＰＯＰ０のＰＯＰＥ０では、図１９（Ｂ）に示すように、データ００〜０Ｆが順次に加算され、演算結果ＯＰＲ０がＰＯＰＥ１に出力される。
ＰＯＰ０のＰＯＰＥ１では、図１９（Ｄ）に示すように、データ１０〜１Ｆが順次に加算される。
ＰＯＰ０のＰＯＰＥ２では、図１９（Ｆ）に示すように、データ２０〜２Ｆが順次に加算される。
ＰＯＰ０のＰＯＰＥ３では、図１９（Ｈ）に示すように、データ３０〜３Ｆが順次に加算される。
他のＰＯＰ１〜ＰＯＰ３においても同様に行われる。
【０１６７】
ステップＳＴ５３
ステップＳＴ５３においては、各ＰＯＰ（０〜３）の各ＰＯＰＥ０〜ＰＯＰＥ３の演算結果が加算され、１６×４要素の加算結果を得る。
具体的には、図１９（Ｂ），（Ｄ）に示すように、ＰＯＰ０のＰＯＰＥ０の演算結果ＯＰＲ０がＰＯＰＥ１に出力される。
ＰＯＰ０のＰＯＰＥ１では、図１９（Ｄ），（Ｆ）に示すように、自身の演算結果に、ＰＯＰ０のＰＯＰＥ０の演算結果ＯＰＲ０が加算され、その演算結果ＯＰＲ１がＰＯＰＥ２に出力される。
ＰＯＰ０のＰＯＰＥ２では、図１９（Ｆ），（Ｈ）に示すように、自身の演算結果に、ＰＯＰ０のＰＯＰＥ１の演算結果ＯＰＲ１が加算され、その演算結果ＯＰＲ２がＰＯＰＥ３に出力される。
そして、ＰＯＰ０のＰＯＰＥ３では、図１９（Ｈ）に示すように、自身の演算結果に、ＰＯＰ０のＰＯＰＥ２の演算結果ＯＰＲ２が加算され、その演算結果ＯＰＲ３が出力選択回路ＯＳＬＣに出力される。
他のＰＯＰ１〜ＰＯＰ３においても同様に行われる。
【０１６８】
ステップＳＴ５４
ステップＳＴ５４においては、各ＰＯＰ０〜ＰＯＰ３の出力選択回路ＯＳＬＣから総演算結果ＯＰＲ３がクロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４に転送される。
たとえば図２０に示すように、ＰＯＰ０のＰＯＰＥ３の総演算結果ＯＰＲ３は、クロスバー回路１３１２５を経由してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ１に格納される。
ＰＯＰ１のＰＯＰＥ３の総演算結果ＯＰＲ３は、クロスバー回路１３１２５を経由してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ２に格納される。
ＰＯＰ２のＰＯＰＥ３の総演算結果ＯＰＲ３は、クロスバー回路１３１２５を経由してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ３に格納される。
ＰＯＰ３のＰＯＰＥ３の総演算結果ＯＰＲ３は、クロスバー回路１３１２５を経由してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ４に格納される。
【０１６９】
ステップＳＴ５５
ステップＳＴ５５においては、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ１およびＦＲＥＧ２にセットされたＰＯＰ０とＰＯＰ１の総演算結果が、ピクセルエンジン（ＰＸＥ）１３１２２の第１の加算器ＡＤＤ１で加算され、この演算結果がクロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ５に格納される。
また、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ３およびＦＲＥＧ４にセットされたＰＯＰ２とＰＯＰ３の総演算結果が、ピクセルエンジン（ＰＸＥ）１３１２２の第２の加算器ＡＤＤ２で加算され、この演算結果がクロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ６に格納される。
そして、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧ５およびＦＲＥＧ６にセットされた第１および第２の加算器ＡＤＤ１，ＡＤＤ２の演算結果が、ピクセルエンジン（ＰＸＥ）１３１２２の第３の加算器ＡＤＤ３で加算される。
【０１７０】
ステップＳＴ５６
ステップＳＴ５６では、図１９（Ｐ）に示すように、ピクセルエンジン（ＰＸＥ）１３１２２の第３の加算器ＡＤＤ３の加算結果が一連の演算結果として出力される。
【０１７１】
図２１は、本実施形態に係る処理ユニットにおけるコアのピクセルエンジン（ＰＸＥ）１３１２２、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３、レジスタユニット（ＲＧＵ）１３１２４、並びにメモリ部分を含む動作概要を示す図である。
【０１７２】
図２１において、破線はアドレス系データの流れを、一点鎖線はリードデータの流れを、実線はライトデータの流れをそれぞれ示している。
また、レジスタユニット（ＲＧＵ）１３１２４において、ＦＲＥＧＡ１，ＦＲＥＧＡ２はアドレス系に用いられるＦＩＦＯレジスタを、ＦＲＥＧＲはリードデータに用いられるＦＩＦＯレジスタを、ＦＲＥＧＷはライトデータに用いられるＦＩＦＯレジスタをそれぞれ示している。
【０１７３】
図２１の例では、ラスタライザ１３１１によって生成されるたとえばソース（読み出し用）アドレスデータが、クロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧＡ１，ＦＲＥＧＡ２にセットされる。
そして、ＦＩＦＯレジスタＦＲＥＧＡ１にセットされたアドレスデータは、たとえばクロスバー回路１３１２５を介さずに直接的にピクセル演算プロセッサ（ＰＯＰ）１３１２３のアドレス生成器ＡＧ１に供給される。アドレス生成器ＡＧ１において読み出すべきデータのアドレスが生成され、これに基づきメモリモジュール１３２からリードオンリーキャッシュ１３３１に読み出された所望のデータがピクセル演算プロセッサ（ＰＯＰ）１３１２３の各演算器（ＰＯＰＥ）に供給される。
【０１７４】
ピクセル演算プロセッサ（ＰＯＰ）１３１２３の各演算器（ＰＯＰＥ）の演算結果がクロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧＲにセットされる。
ＦＩＦＯレジスタＦＲＥＧＲにセットされたデータは、クロスバー回路１３１２５を介さずに直接的にピクセルエンジン（ＰＸＥ）１３１２２の各演算器ＯＰに供給される。
そして、ピクセルエンジン（ＰＸＥ）１３１２２の各演算器ＯＰの演算結果がクロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧＷにセットされる。
ＦＩＦＯレジスタＦＲＥＧＷにセットされたデータは、ピクセル演算プロセッサ（ＰＯＰ）１３１２３の各演算器（ＰＯＰＥ）に供給される。
【０１７５】
また、ラスタライザ１３１１によって生成されるデスティネーション（書き込み用）アドレスデータが、クロスバー回路１３１２５を介してレジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタＦＲＥＧＡ２にセットされる。
そして、ＦＩＦＯレジスタＦＲＥＧＡ２にセットされたアドレスデータは、クロスバー回路１３１２５を介さず直接的にピクセル演算プロセッサ（ＰＯＰ）１３１２３のアドレス生成器ＡＧ２に供給される。アドレス生成器ＡＧ２において書き込むべきデータのアドレスが生成され、これに基づきピクセル演算プロセッサ（ＰＯＰ）１３１２３の各演算器（ＰＯＰＥ）の演算結果がリードライトキャッシュ１３３２に書き込まれ、さらにメモリモジュール１３２に書き込まれる。
【０１７６】
なお、図２１の例では、リードライトキャッシュ１３３２は書き込みだけを行うように記述しているが、上述したリードオンリーキャッシュ１３３１の場合と同様な動作で読み出しも行う。
【０１７７】
次に、以上の構成を有する処理ユニット１３１（−０〜−３）におけるグラフィックス処理および画像処理の場合の具体的な動作を図面に関連付けて説明する。
【０１７８】
まず、依存テクスチャ無しの場合のグラフィックス処理を図２２および図２３に関連付けて説明する。
【０１７９】
この場合、ラスタライザ１３１１において、グローバルモジュール１２からブロードキャストされたパラメータデータを受けて、たとえば三角形が自分が担当する領域であるか否かが判断され、担当領域である場合には、入力した三角形頂点データに基づいて、各ピクセルデータが生成されてコア１３１２に供給される。
具体的には、ラスタライザ１３１１において、ウィンドウ座標（Ｘ，Ｙ，Ｚ）、プライマリカラー（ＰＣ；Ｒｐ，Ｇｐ，Ｂｐ，Ａｐ）、セカンダリカラー（ＳＣ；Ｒｓ，Ｇｓ，Ｂｓ，Ａｓ）、Ｆｏｇ係数（ｆ）、テクスチャ座標や各種ベクトル（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ），（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）の各種ピクセルデータが生成される。
【０１８０】
そして、生成されたウィンドウ座標（Ｘ，Ｙ，Ｚ）は、レジスタユニット（ＲＧＵ）１３１２４の特定のＦＩＦＯレジスタを通して、直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３内に、あるいは別個に設けられたライトユニットＷＵに供給される。
また、生成された２組のテクスチャ座標データや各種ベクトル（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ），（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）が、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタを通してグラフィックスユニット（ＧＲＵ）１２１２１に供給される。
さらに、生成されたプライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（Ｆ）が、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタを通してピクセルエンジン（ＰＸＥ）１３１２２に供給される。
【０１８１】
グラフィックスユニット（ＧＲＵ）１３１２１では、供給されたテクスチャ座標データや各種ベクトル（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）、および（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）に基づいて、パースペクティブコレクション、ＬＯＤ（Ｌｅｖｅｌｏｆ  Ｄｅｔａｉｌ）計算によるミップマップ（ＭＩＰＭＡＰ）レベルの算出、立方体マップ（ＣｕｂｅＭａｐ）の面選択や正規化テクセル座標（ｓ，ｔ）の算出処理が行われる。
そして、グラフィックスユニット（ＧＲＵ）１３１２１で生成された、たとえば正規化テクセル座標（ｓ，ｔ）およびＬＯＤデータ（ｌｏｄ）を含む２組のデータ（ｓ１，ｔ１，ｌｏｄ１），（ｓ２，ｔ２，ｌｏｄ２）が、たとえばクロスバー回路１３１２５を通さず個別の配線を介して直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給される。
【０１８２】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、図２３に示すように、フィルタ機能ユニットＦＦＵにおいてグラフィックスユニット（ＧＲＵ）１３１２１から直接的に供給された（ｓ１，ｔ１，ｌｏｄ１），（ｓ２，ｔ２，ｌｏｄ２）の値に基づいて、テクスチャアクセスのための（ｕ，ｖ）アドレス計算が行われ、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）がアドレス生成器ＡＧに供給され、係数計算のためにデータ（ｕｆ，ｖｆ，ｌｏｄｆ）が係数生成部ＣＯＦに供給される。
【０１８３】
アドレス生成器ＡＧにおいては、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）を受けて、４近傍フィルタリングを行うための４近傍の（ｕ，ｖ）座標、すなわち、（ｕ０，ｖ０），（ｕ１，ｖ１），（ｕ２，ｖ２），（ｕ３，ｖ３）が計算され、メモリコントローラＭＣに供給される。
これにより、メモリモジュール１３２から所望のテクセルデータがたとえばリードオンリーキャッシュＲＯ＄を通して、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰＥに読み出される。
また、係数生成器ＣＯＦでは、データ（ｕｆ，ｖｆ，ｌｏｄｆ）を受けて、テクスチャフィルタ係数Ｋ（０〜３）が計算され、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の対応する各ＰＯＰＥに供給される。
そして、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰにおいて、色データ（ＴＲ，ＴＧ，ＴＢ）および混合値（ブレンド値：ＴＡ）が求められ、２組のデータ（ＴＲ１，ＴＧ１，ＴＢ１，ＴＡ１）および（ＴＲ２，ＴＧ２，ＴＢ２，ＴＡ２）が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセルエンジン（ＰＸＥ）１３１２２に供給される。
【０１８４】
ピクセルエンジン（ＰＸＥ）１３１２２では、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３によるデータ（ＴＲ１，ＴＧ１，ＴＢ１，ＴＡ１）および（ＴＲ２，ＴＧ２，ＴＢ２，ＴＡ２）、並びに、ラスタライザ１３１１によるプライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（Ｆ）に基づいて、たとえばＰｉｘｅｌ  Ｓｈａｄｅｒの演算が行われ、色データ（ＦＲ１，ＦＧ１，ＦＢ１）および混合値（ブレンド値：ＦＡ１）が求められ、このデータ（ＦＲ１，ＦＧ１，ＦＢ１，ＦＡ１）が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３の所定のＰＯＰ内あるいは別個に設けられたライトユニットＷＵに供給される。
【０１８５】
ライトユニットＷＵでは、ラスタライザ１３１１によるウィンドウ座標（Ｘ，Ｙ，Ｚ）に基づき、たとえばリードライトキャッシュＲＷ＄を通してメモリモジュール１３２からデスティネーション色データ（ＲＧＢ）および混合値データ（Ａ）、並びに奥行きデータ（Ｚ）が読み出される。
そして、ライトユニットＷＵでは、ピクセルエンジン（ＰＸＥ）１３１２２によるデータ（ＦＲ１，ＦＧ１，ＦＢ１，ＦＡ１）、およびリードライトキャッシュＲＷ＄を通してメモリモジュール１３２から読み出しデスティネーション色データ（ＲＧＢ）および混合値データ（Ａ）、並びに奥行きデータ（Ｚ）に基づいて、αブレンディング、各種テスト、ロジカルオペレーションといったグラフィックス処理のピクセル書き込みに必要な演算が行われ、演算結果がリードライトキャッシュＲＷ＄に書き戻される。
【０１８６】
次に、依存テクスチャ有りの場合のグラフィックス処理を図２４および図２３に関連付けて説明する。
【０１８７】
この場合、ラスタライザ１３１１において、ウィンドウ座標（Ｘ，Ｙ，Ｚ）、プライマリカラー（ＰＣ；Ｒｐ，Ｇｐ，Ｂｐ，Ａｐ）、セカンダリカラー（ＳＣ；Ｒｓ，Ｇｓ，Ｂｓ，Ａｓ）、Ｆｏｇ係数（ｆ）、テクスチャ座標（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）の各種ピクセルデータが生成される。
【０１８８】
そして、生成されたウィンドウ座標（Ｘ，Ｙ，Ｚ）は、レジスタユニット（ＲＧＵ）１３１２４の特定のＦＩＦＯレジスタを通して、直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２４に供給される、
また、生成されたテクスチャ座標（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）が、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタを通してグラフィックスユニット（ＧＲＵ）１２１２１に供給される。
さらに、生成されたプライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（Ｆ）が、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタを通してピクセルエンジン（ＰＸＥ）１３１２２に供給される。
【０１８９】
グラフィックスユニット（ＧＲＵ）１３１２１では、供給されたテクスチャ座標（Ｖ１ｘ，Ｖ１ｙ，Ｖ１ｚ）データに基づいて、パースペクティブコレクション、ＬＯＤ計算によるミップマップ（ＭＩＰＭＡＰ）レベルの算出、立方体マップ（ＣｕｂｅＭａｐ）の面選択や正規化テクセル座標（ｓ，ｔ）の算出処理が行われる
そして、グラフィックスユニット（ＧＲＵ）１３１２１で生成された、たとえば正規化テクセル座標（ｓ，ｔ）およびＬＯＤデータ（ｌｏｄ）を含む１組のデータ（ｓ１，ｔ１，ｌｏｄ１）が、たとえばクロスバー回路１３１２５を通さず直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給される。
【０１９０】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、図２３に示すように、フィルタ機能ユニットＦＦＵにおいてグラフィックスユニット（ＧＲＵ）１３１２１から直接的に供給された（ｓ１，ｔ１，ｌｏｄ１）の値に基づいて、テクスチャアクセスのための（ｕ，ｖ）アドレス計算が行われ、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）がアドレス生成器ＡＧに供給され、係数計算のためにデータ（ｕｆ，ｖｆ，ｌｏｄｆ）が係数生成部ＣＯＦに供給される。
【０１９１】
アドレス生成器ＡＧにおいては、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）を受けて、４近傍フィルタリングを行うための４近傍の（ｕ，ｖ）座標、すなわち、（ｕ０，ｖ０），（ｕ１，ｖ１），（ｕ２，ｖ２），（ｕ３，ｖ３）が計算され、メモリコントローラＭＣに供給される。
これにより、メモリモジュール１３２から所望のテクセルデータがたとえばリードオンリーキャッシュＲＯ＄を通して、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰＥに読み出される。
また、係数生成器ＣＯＦでは、データ（ｕｆ，ｖｆ，ｌｏｄｆ）を受けて、テクスチャフィルタ係数Ｋ（０〜３）が計算され、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰＥに供給される。
そして、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰにおいて、色データ（ＴＲ，ＴＧ，ＴＢ）および混合値（ブレンド値：ＴＡ）が求められ、データ（ＴＲ１，ＴＧ１，ＴＢ１，ＴＡ１）が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセルエンジン（ＰＸＥ）１３１２２に供給される。
【０１９２】
ピクセルエンジン（ＰＸＥ）１３１２２では、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３によるデータ（ＴＲ１，ＴＧ１，ＴＢ１，ＴＡ１）、並びに、ラスタライザ１３１１によるプライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（Ｆ）に基づいて、たとえばＰｉｘｅｌ  Ｓｈａｄｅｒの演算が行われ、テクスチャ座標（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）が生成され、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を介してグラフィックスユニット（ＧＲＵ）１３１２１に供給される。
【０１９３】
グラフィックスユニット（ＧＲＵ）１３１２１では、供給されたテクスチャ座標（Ｖ２ｘ，Ｖ２ｙ，Ｖ２ｚ）データに基づいて、パースペクティブコレクション、ＬＯＤ計算によるミップマップ（ＭＩＰＭＡＰ）レベルの算出、立方体マップ（ＣｕｂｅＭａｐ）の面選択や正規化テクセル座標（ｓ，ｔ）の算出処理が行われる。
そして、グラフィックスユニット（ＧＲＵ）１３１２１で生成された、たとえば正規化テクセル座標（ｓ，ｔ）およびＬＯＤデータ（ｌｏｄ）を含むデータ（ｓ２，ｔ２，ｌｏｄ２）が、たとえばクロスバー回路１３１２５を通さず直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給される。
【０１９４】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、図２３に示すように、フィルタ機能ユニットＦＦＵにおいてグラフィックスユニット（ＧＲＵ）１３１２１から直接的に供給された（ｓ２，ｔ２，ｌｏｄ２）の値に基づいて、テクスチャアクセスのための（ｕ，ｖ）アドレス計算が行われ、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）がアドレス生成器ＡＧに供給され、係数計算のためにデータ（ｕｆ，ｖｆ，ｌｏｄｆ）が係数生成部ＣＯＦに供給される。
【０１９５】
アドレス生成器ＡＧにおいては、アドレスデータ（ｕｉ，ｖｉ，ｌｏｄｉ）を受けて、４近傍フィルタリングを行うための４近傍の（ｕ，ｖ）座標、すなわち、（ｕ０，ｖ０），（ｕ１，ｖ１），（ｕ２，ｖ２），（ｕ３，ｖ３）が計算され、メモリコントローラＭＣに供給される。
これにより、メモリモジュール１３２から所望のテクセルデータがたとえばリードオンリーキャッシュＲＯ＄を通して、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰＥに読み出される。
また、係数生成器ＣＯＦでは、データ（ｕｆ，ｖｆ，ｌｏｄｆ）を受けて、テクスチャフィルタ係数Ｋ（０〜３）が計算され、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰＥに供給される。
そして、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３の各ＰＯＰにおいて、色データ（ＴＲ，ＴＧ，ＴＢ）および混合値（ブレンド値：ＴＡ）が求められ、データ（ＴＲ２，ＴＧ２，ＴＢ２，ＴＡ２）が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセルエンジン（ＰＸＥ）１３１２２に供給される。
【０１９６】
ピクセルエンジン（ＰＸＥ）１３１２２では、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３によるデータ（ＴＲ２，ＴＧ２，ＴＢ２，ＴＡ２）、並びに、ラスタライザ１３１１によるプライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（Ｆ）に基づいて、４近傍補間等の所定のフィルタリング演算処理が行われ、色データ（ＦＲ１，ＦＧ１，ＦＢ１）および混合値（ブレンド値：ＦＡ１）が求められ、このデータ（ＦＲ１，ＦＧ１，ＦＢ１，ＦＡ１）が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３の所定のＰＯＰ内あるいは別個に設けられてライトユニットＷＵに供給される。
【０１９７】
ライトユニットＷＵでは、ラスタライザ１３１１によるウィンドウ座標（Ｘ，Ｙ，Ｚ）に基づき、たとえばリードライトキャッシュＲＷ＄を通してメモリモジュール１３２からデスティネーション色データ（ＲＧＢ）および混合値データ（Ａ）、並びに奥行きデータ（Ｚ）が読み出される。
そして、ライトユニットＷＵでは、ピクセルエンジン（ＰＸＥ）１３１２２によるデータ（ＦＲ１，ＦＧ１，ＦＢ１，ＦＡ１）、およびリードライトキャッシュＲＷ＄を通してメモリモジュール１３２から読み出しデスティネーション色データ（ＲＧＢ）および混合値データ（Ａ）、並びに奥行きデータ（Ｚ）に基づいて、αブレンディング、各種テスト、ロジカルオペレーションといったグラフィックス処理のピクセル書き込みに必要な演算が行われ、演算結果がリードライトキャッシュＲＷ＄に書き戻される。
【０１９８】
次に、画像処理について説明する。
【０１９９】
まず、図２５に示すようなＳＡＤ（Ｓｕｍｍｅｄ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）処理を行う場合の動作について、図２６に関連付けて説明する。
【０２００】
ＳＡＤ処理では、図２５（Ａ）に示すような元画像ＯＲＩＭの１ブロック（Ｘ１ｓ，Ｙ１ｓ）に対して、図２５（Ｂ）に示すような参照画像ＲＦＩＭの探索矩形領域ＳＲＧＮ内を１ピクセルずつずらしながら、対応ブロックＢＬＫ内のＳＡＤ（絶対値差）を求めていく。
その中で、ＳＡＤが最小となるブロックの位置（Ｘ２ｓ，ｙ２ｓ）とＳＡＤ値を図２５（Ｃ）に示すように、（Ｘｄ，Ｙｄ）に格納する。
（Ｘ１ｓ，Ｙ１ｓ）はコンテキストとして図示しない上位位置からＰＯＰ内のレジスタに設定される。
【０２０１】
この場合、ラスタライザ１３１１に対して、たとえばグローバルモジュール１２を介して図示しない上位装置から出力された、メモリモジュール１３２（−０〜−３）から参照画像データを読み出すためのソースアドレスおよび画像処理結果を書き込むためのデスティネーションアドレスの生成に必要なコマンドやデータ、たとえば探索矩形領域ＳＲＧＮの幅、高さ（Ｗｓ，Ｈｓ）データ、ブロックサイズ（Ｗｂｋ，Ｈｂｋ）データが入力される。
ラスタライザ１３１１では、入力データに基づいて、メモリモジュール１３２に格納されている参照画像ＲＦＩＭのソースアドレス（Ｘ２ｓ，Ｙ２ｓ）が生成されるとともに、処理結果をメモリモジュール１３２に格納するためのデスティネーションアドレス（Ｘｄ，Ｙｄ）が生成される。
【０２０２】
生成されたデスティネーションアドレス（Ｘｄ，Ｙｄ）は、グラフィックス処理時のウィンドウ座標（Ｘ，Ｙ，Ｚ）の供給ラインが共用され、レジスタユニット（ＲＧＵ）１３１２４の特定のＦＩＦＯレジスタを通して、直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２４のライトユニットＷＵに供給される。
また、生成された参照画像ＲＦＩＭのソースアドレス（Ｘ２ｓ，Ｙ２ｓ）が、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタを通してグラフィックスユニット（ＧＲＵ）１２１２１に供給される。
ソースアドレス（Ｘ２ｓ，Ｙ２ｓ）は、グラフィックスユニット（ＧＲＵ）１２１２１は素通りして、たとえばクロスバー回路１３１２５を通さず直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給される。
【０２０３】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、供給されたソースアドレス（Ｘ１ｓ，Ｙ１ｓ）および（Ｘ２ｓ，Ｙ２ｓ）に基づいて、たとえばリードオンリーキャッシュＲＯ＄、リードライトキャッシュＲＷ＄を介して、メモリモジュール１３２に格納されている元画像ＯＲＩＭおよび参照画像ＲＦＩＭの各データが読み出される。
ここで、元画像ＯＲＩＭの座標はコトテキストとしてレジスタに設定される。参照画像ＲＦＩＭの座標は、たとえば４つのＰＯＰそれぞれが担当するサブブロックの座標が与えられる。
そして、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、元画像ＯＲＩＭの１ブロック（Ｘ１ｓ，Ｙ１ｓ）に対して、参照画像ＲＦＩＭの探索矩形領域ＳＲＧＮ内を１ピクセルずつずらしながら、対応サブブロックＢＬＫ内のＳＡＤ（絶対値差）が随時求められる。
そして、各サブブロックの位置位置（Ｘ２ｓ，ｙ２ｓ）と各ＳＡＤ値が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にピクセルエンジン（ＰＸＥ）１３１２２に転送される。
【０２０４】
ピクセルエンジン（ＰＸＥ）３１２２では、ブロック全体のＳＡＤが集計され、ブロックの位置（Ｘ２ｓ，ｙ２ｓ）とＳＡＤ値が、クロスバー回路１３１２５を転送されてレジスタユニット（ＲＧＵ）１３１２４の所定のＦＩＦＯレジスタに設定され、この設定データがクロスバー回路１３１２５を介さずに直接的にライトユニットＷＵに転送される。
【０２０５】
ライトユニットＷＵでは、ピクセルエンジン（ＰＸＥ）１３１２２によるブロックの位置（Ｘ２ｓ，ｙ２ｓ）とＳＡＤ値の、ラスタライザ１３１１によるデスティネーションアドレス（Ｘｄ，Ｙｄ）への格納処理が行われる。
この場合、たとえば隠面除去（Ｈｉｄｄｅｎ  Ｓｕｒｆａｃｅ  Ｒｅｍｏｖａｌ）を行う機能（Ｚ比較）を用いて、たとえばメモリモジュール１３２からリードライトキャッシュＲＷ＄に読み出されたＳＡＤ値とピクセルエンジン（ＰＸＥ）１３１２２によるＳＡＤ値が比較される。
そして、比較の結果、格納されている値よりピクセルエンジン（ＰＸＥ）１３１２２によるＳＡＤ値が小さい場合に、ピクセルエンジン（ＰＸＥ）１３１２２によるブロックの位置（Ｘ２ｓ，ｙ２ｓ）とＳＡＤ値がデスティネーションアドレス（Ｘｄ，Ｙｄ）にリードライトキャッシュＲＷ＄を介して書き込まれる（更新される）。
【０２０６】
次に、図２７に示すようなコンボリューションフィルタ（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｆｉｌｔｅｒ）処理を行う場合の動作について、図２８に関連付けて説明する。
【０２０７】
コンボリューションフィルタ処理では、図２７（Ａ）に示すような対象画像ＯＢＩＭの各ピクセル（Ｘ１ｓ，Ｙ１ｓ）に対して、フィルタカーネルサイズの周辺ピクセルを読み出し、フィルタ係数を乗算したものを足し合わせ、その結果を図２７（Ｂ）に示すようにデスティネーションアドレス（Ｘｄ，Ｙｄ）に格納する。
なお、フィルタカーネル係数の格納アドレスは、コンテキストとしてＰＯＰ内のレジスタに設定する。
【０２０８】
この場合、ラスタライザ１３１１に対して、たとえばグローバルモジュール１２を介して図示しない上位装置から出力された、メモリモジュール１３２（−０〜−３）から画像データ（ピクセルデータ）を読み出すためのソースアドレスおよび画像処理結果を書き込むためのデスティネーションアドレスの生成に必要なコマンドやデータ、たとえばフィルタカーネルサイズデータ（Ｗｋ，Ｈｋ）が入力される。
ラスタライザ１３１１では、入力データに基づいて、メモリモジュール１３２に格納されている対象画像ＯＢＩＭのソースアドレス（Ｘ１ｓ，Ｙ１ｓ）が生成されるとともに、処理結果をメモリモジュール１３２に格納するためのデスティネーションアドレス（Ｘｄ，Ｙｄ）が生成される。
【０２０９】
生成されたデスティネーションアドレス（Ｘｄ，Ｙｄ）は、グラフィックス処理時のウィンドウ座標（Ｘ，Ｙ，Ｚ）の供給ラインが共用され、レジスタユニット（ＲＧＵ）１３１２４の特定のＦＩＦＯレジスタを通して、直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２４のライトユニットＷＵに供給される。
また、生成された対象画像ＯＢＩＭのソースアドレス（Ｘ１ｓ，Ｙ１ｓ）が、クロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４のＦＩＦＯレジスタを通してグラフィックスユニット（ＧＲＵ）１２１２１に供給される。
ソースアドレス（Ｘ１ｓ，Ｙ１ｓ）は、グラフィックスユニット（ＧＲＵ）１２１２１は素通りして、たとえばクロスバー回路１３１２５を通さず直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給される。
【０２１０】
ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、供給されたソースアドレス（Ｘ１ｓ，Ｙ１ｓ）に基づいて、たとえばリードオンリーキャッシュＲＯ＄を介して、メモリモジュール１３２に可能されているカーネルサイズの周辺ピクセルが読み出される。
そして、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３では、所定のフィルタ係数が読み出したデータに掛け合わさ、さらにこれらが足し合わされて、その結果である色データ（Ｒ，Ｇ，Ｂ）および混合値データ（Ａ）を含むデータ（Ｒ，Ｇ，Ｂ，Ａ）がクロスバー回路１３１２５、レジスタユニット（ＲＧＵ）１３１２４を介してライトユニットＷＵに転送される。
【０２１１】
ライトユニットＷＵでは、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３によるデータが、リードライトキャッシュＲＷ＄を介してデスティネーションアドレス（Ｘｄ，Ｙｄ）に格納される。
【０２１２】
最後に、図３のシステム構成による動作を説明する。
ここでは、テクスチャ系の処理について説明する。
【０２１３】
まず、ＳＤＣ１１において、３次元座標、法線ベクトル、テクスチャ座標の各頂点データが入力されると、頂点データに対する演算が行われる。
次に、ラスタライゼーション（Ｒａｓｔｅｒｉｚａｔｉｏｎ）に必要な各種パラメータが算出される。
そして、ＳＤＣ１１においては、算出したパラメータが、グローバルモジュール１２を介して全ローカルモジュール１３−０〜１３−３にブロードキャストされる。
この処理において、ブロードキャストされたパラメータは、後述するキャッシュフィルとは別のチャネルを用いて、グローバルモジュール１２を介して各ローカルモジュール１３−０〜１３−３に渡される。ただし、グローバルキャッシュの内容には影響を与えない。
【０２１４】
各ローカルモジュール１３−０〜１３−３では、処理ユニット１３１−０〜１３１−３において、以下の処理が行われる。
すなわち、処理ユニット１３１（−０〜３）においては、ブロードキャストされたパラメータを受け取ると、その三角形が自分が担当する領域、たとえば４×４ピクセルの矩形領域単位でインターリーブされた領域に属しているか否かが判断される。その結果、属している場合には、各種データ（Ｚ、テクスチャ座標、カラーなど）がラスタライズされる。
次に、ＬＯＤ（Ｌｅｖｅｌ  ｏｆ  Ｄｅｔａｉｌ）計算によるミップマップ（ＭＩＰＭＡＰ）レベルの算出や、テクスチャアクセスのための（ｕ，ｖ）アドレス計算が行われる。
【０２１５】
そして、次に、テクスチャの読み出しが行われる。
この場合、各ローカルモジュール１３−０〜１３−３の処理ユニット１３１−０〜１３１−３では、テクスチャリードの際に、まず、ローカルキャッシュ１３３−０〜１３３−３のエントリーがチェックされる。
その結果、エントリーがあった場合には、必要なテクスチャデータが読み出される。
必要とするテクスチャデータがローカルキャッシュ１３３−０〜１３３−３内に無い場合には、各処理ユニット１３１−０〜１３１−３では、グローバルインターフェース１３４−０〜１３４−３を通して、グローバルモジュール１２に対してローカルキャッシュフィルのリクエストが送出される。
【０２１６】
グローバルモジュール１２においては、要求されたブロックデータがグローバルキャッシュ１２１−０〜１２１−３のいずれかにあると判断されると、対応するグローバルキャッシュ１２１−０〜１２１−３のいずれかから読み出されて所定のチャネルを通してリクエストを送出したローカルモジュールに送り返される。
【０２１７】
一方、要求されたブロックデータがグローバルキャッシュ１２１−０〜１２１−３のいずれかにもないと判断されると、所望のチャネルのいずれかから当該ブロックを保持するローカルモジュールに対してグローバルキャッシュフィルのリクエストが送られる。
グローバルキャッシュフィルのリクエストを受けたローカルモジュールにおいては、メモリから該当するブロックデータが読み出され、グローバルインターフェースを通してグローバルモジュール１２に送出される。
その後、グローバルモジュール１２では、ブロックデータが所望のグローバルキャッシュにフィルされるとともに、リクエストを送ってきたローカルモジュールに対して所望のチャネルからデータが送出される。
【０２１８】
グローバルモジュール１２から要求したブロックデータが送られてくると、該当するローカルモジュールでは、ローカルキャッシュが更新され、処理ユニットによりブロックデータが読み出される。
【０２１９】
次に、ローカルモジュール１３−０〜１３−３では、読み出されたテクスチャデータと、（ｕ，ｖ）アドレスは算出時に得た小数部を使って４近傍補間などのフィルタリング処理が行われる。
次に、フィルタリング後のテクスチャデータと、ラスタライズ後の各種データを用いて、ピクセル単位の演算が行われる。
そして、ピクセルレベルの処理における各種テストをパスしたピクセルデータを、メモリモジュール１３２−０〜１３２−３、たとえば内蔵ＤＲＡＭメモリ上のフレームバッファおよびＺバッファに書き込まれる。
【０２２０】
以上説明したように、本実施形態によれば、グラフィックス処理時には、グローバルモジュール１２からブロードキャストされたパラメータデータを受けて、ウィンドウ座標、プライマリカラー（ＰＣ）、セカンダリカラー（ＳＣ）、Ｆｏｇ係数（ｆ）、テクスチャ座標等の各種ピクセルデータを生成し、画像処理時には、入力データに基づいて、ソースアドレスを生成するとともに、デスティネーションアドレスを生成するラスタライザ１３１１と、複数のＦＩＦＯレジスタを有するレジスタユニット１３１２４と、上記レジスタユニット１３１２４のＦＩＦＯレジスタに設定されたテクスチャ座標に基づいてテクセル座標（ｓ，ｔ）およびＬＯＤデータを含むグラフィックスデータ（ｓ，ｔ，ｌ）を生成し、ソースアドレスを素通りさせて出力するグラフィックスユニット１３１２１と、グラフィックス処理時には、グラフィックスデータ（ｓ，ｔ，ｌ）に基づいて所定の演算処理を行い、演算データをクロスバー回路１３１２５を転送させてレジスタユニット１３１２４の所定のレジスタに設定させ、画像処理時には、ソースアドレスに応じた画像データを読み出して所定の画像処理演算を行い、この演算データをクロスバー回路１３１２５を転送させてレジスタユニット１３１２４の所定のレジスタに設定させるピクセル演算プロセッサ１３１２３と、色データに基づいてレジスタに設定されたピクセル演算プロセッサ１３１２３の演算データに対して所定の演算処理を行い、この演算データをクロスバー回路１３１２５を転送させてレジスタユニット１３１２４の所定のレジスタに設定させるピクセルエンジン１３１２２と、グラフィックス処理時には、レジスタに設定されたウィンドウ座標およびピクセルエンジン１３１２２の演算データに基づいてピクセル書き込みに必要な処理を行って、必要に応じて処理結果をメモリに書き込み、画像処理時には、レジスタに設定されたピクセル演算プロセッサ１３１２３の演算データをメモリのデスティネーションアドレスに書き込むライトユニットＷＵとを設けたので、以下の効果を得ることができる。
【０２２１】
すなわち、本実施形態によれば、大量の演算器を効率よく利用することが可能で、アルゴリズムの自由度が高く、柔軟性が高く、しかも回路規模の増大、コスト増を招くことなく、複雑な処理を高スループットで処理することができる。
【０２２２】
また、処理ユニット１３１（−０〜−３）は、分岐のないデータフローグラフ（Data Flow Graph ：ＤＦＧ）で表現されるアルゴリズムを実行し、ＤＦＧのノートとエッジは、演算器や演算ユニットとその接続関係と見ることができることができる。したがって、処理ユニット１３１（−０〜−３）は、実行するＤＦＧに応じて、演算リソース間の接続を動的に切り替える、いわゆる動的再構成可能なハードウェアであり、演算器で実行する機能やそれらの接続関係が処理ユニットのマイクロプログラムに相当し、ストリームデータの各要素に適用されるＤＦＧは同じであるので、命令発行のバンド幅を低くおさえることができる。
【０２２３】
また、処理ユニット１３１（−０〜−３）は、演算機能の指定や演算器間接続の切り替え制御は、データドリブンであり、分散自立型制御といえる。
このような動的スケジューリングを採用することにより、ＤＦＧが切り替わる際に、エピローグ/ プロローグのオーバーラップが可能であり、ＤＦＧの切り替えのオーバーヘッドを低減することができる。
【０２２４】
また、ＤＦＧの規模が大きくなるとアルゴリズムを内部演算リソースに一度にマッピングすることができなくなる。このような場合には、複数のサブＤＦＧ（sub-DFG ）に分割する必要がある。
複数のサブＤＦＧに分けて実行する方法として、サブＤＦＧ間の中間値をメモリに格納するマルチパス手法があげられる。この方法では、パス数が増大するとメモリバンド幅を消費し性能低下を招く。
処理ユニット１３１（−０〜−３）は、前述するように演算器や演算ユニット間のストリームデータの受け渡しをＦＩＦＯ型のレジスタユニット（ＲＧＵ）を介して行うことから、ＤＦＧ分割実行時に、このレジスタファイルを介して中間値を渡すことが可能で、マルチパスの回数を低減することができる。
ＤＦＧの分割そのものは、コンパイラにより静的に行われるが、分割されたＤＦＧの実行制御はハードウエアが行うのでソフトウエアへの負担が軽いという利点がある。
【０２２５】
また、本実施形態によれば、メモリバンド幅を活かした高並列の演算処理を行う機能ユニットである複数のＰＯＰ０〜ＰＯＰ３を有し、各ＰＯＰは、並列に配列された演算器ＰＯＰＥ０〜ＰＯＰＥ３を有し、各ＰＯＰＥ０〜ＰＯＰＥ３は、キャッシュから読み出された３２ビット幅のデータおよびフィルタ機能ユニットＦＦＵによる演算パラメータを受けて所定の演算（たとえば加算）を行って演算結果を次段のＰＯＰＥに出力し、次段のＰＯＰＥは自身の演算結果に前段の演算結果を加算し、その演算結果を次段のＰＯＰＥに出力し、最終段のＰＯＰＥ３において、全ＰＯＰＥ０〜ＰＯＰＥ３の演算結果の総和を求め、各ＰＯＰは、複数のＰＯＰＥの演算出力から一つのＰＯＰＥ３の演算結果のみを選択してクロスバー回路１３１２５に出力する出力選択回路ＯＳＬＣを有するピクセル演算プロセッサ（ＰＯＰ）群１３１２３を設けたことことから、クロスバー回路の小型化を図れ、処理の高速化を図ることができる。
【０２２６】
さらに、本実施形態では、クロスバー回路１３１２５を転送してレジスタユニット１３１２４のＦＩＦＯレジスタに設定したストリームデータをクロスバー回路を通さずに直接的に、グラフィックスユニット（ＧＲＵ）１３１２１、ピクセルエンジン（ＰＸＥ）１３１２２、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３、およびライトユニットＷＵに供給し、また、グラフィックスユニット１３１２１により得られたグラフィックス演算データをクロスバー回路を通さずに特定の配線を介して直接的にピクセル演算プロセッサ（ＰＯＰ）群１３１２３に供給することから、さらにクロスバー回路の簡単化、小型化を図ることができ、また、マルチパス回数を低減でき、ひいては処理のさらなる高速化を図ることができる。
【０２２７】
また、本実施形態においては、本アーキテクチャを実現する演算処理部としてのコア１３１２を一つだけ設けた構成を例に説明したが、たとえば図２９に示すように、一つのラスタライザ１３１１に対して複数個のコア１３１２−１〜１３１２−ｎを並列に設ける構成を採用することも可能である。
この場合でも、各コアで実行されるＤＦＧは同一である。
また、複数のコアを設ける構成の並列化の単位としては、たとえばグラフィックス処理の場合には小矩形領域（スタンプ）単位、画像処理の場合にはブロック単位である。この場合、細かい粒度での並列処理を実現できる利点がある。
【０２２８】
また、本実施形態では、ピクセル演算プロセッサ（ＰＯＰ）群１３１２３とキャッシュ間は広いバンド幅で接続されており、かつメモリアクセスのためのアドレス生成機能を内蔵しているので、演算器の演算能力を最大限引き出すだけのストリームデータの供給が可能である。
【０２２９】
また、本実施形態では、メモリの近傍に出力データ幅を合わせた形で演算器を高密度に配置し、処理データの規則性を利用していることから、大量の演算を最低限の演算器でしかも簡単構成で実現することができ、ひいてはコスト低減を図れる利点がある。
【０２３０】
また、本実施形態によれば、ＳＤＣ１１とグローバルモジュール１２とがデータの授受を行い、一つのグローバルモジュール１２に対して複数個（本実施形態では４個）のローカルモジュール１３−０〜１３−３が並列に接続されて、複数のローカルモジュール１３−０〜１３−３で処理データを共有し並列に処理し、グローバルモジュール１２はグローバルキャッシュを有し、各ローカルモジュール１３−０〜１３−３はローカルキャッシュをそれぞれ有し、キャッシュの階層として、４つのローカルモジュール１３−０〜１３−３が共有するグローバルキャッシュと、各ローカルモジュールがローカルに持つローカルキャッシュの２階層を有することから、複数の処理装置が処理データを共有して並列処理する際に、重複アクセスを低減でき、配線本数の多いクロスバーが不要となる。その結果、設計が容易で、配線コスト、配線遅延を低減できる画像処理装置を実現できる利点がある。
【０２３１】
また、本実施形態によれば、グローバルモジュール１２と各ローカルモジュール１３−０〜１３−３との配置関係としては、図３に示すように、グローバルモジュール１２を中心として各ローカルモジュール１３−０〜１３−３をその周辺近傍に配置することから、各対応するチャネルブロックとローカルモジュールまでの距離を均一に保つことができ、配線領域を整然と並べることができ、平均配線長を短くできる。したがって、配線遅延や配線コストを低減でき、処理速度の向上を図ることができる利点がある。
【０２３２】
なお、本実施形態においては、テクスチャデータが内蔵ＤＲＡＭ上にあるケースを例に述べているが、他のケースとして、内蔵ＤＲＡＭには、カラーデータおよびｚデータのみが置かれ、テクスチャデータは外部メモリに置かれることも可能である。この場合には、グローバルキャッシュでミスが発生すると、外部ＤＲＡＭに対してキャッシュフィル要求が出されることになる。
【０２３３】
また、上述の説明では、図３の構成、すなわち、一つのグローバルモジュール１２に対して複数個（本実施形態では４個）のローカルモジュール１３−０〜１３−３が並列に接続した画像処理装置１０を例に並列処理を行う場合に特化した形態となっているが、図３の構成を一つのクラスタＣＬＳＴとして、たとえば図３０に示すように、４つのクラスタＣＬＳＴ０〜ＣＬＳＴ３をマトリクス状に配置して、各クラスタＣＬＳＴ０〜ＣＬＳＴ３のグローバルモジュール１２−０〜１２−３間でデータの授受を行うように構成することも可能である。
図３０の例では、クラスタＣＬＳＴ０のグローバルモジュール１２−０とクラスタＣＬＳＴ１のグローバルモジュール１２−１とを接続し、クラスタＣＬＳＴ１のグローバルモジュール１２−１とクラスタＣＬＳＴ３のグローバルモジュール１２−３とを接続し、クラスタＣＬＳＴ３のグローバルモジュール１２−３とクラスタＣＬＳＴ２のグローバルモジュール１２−２とを接続し、クラスタＣＬＳＴ２のグローバルモジュール１２−２とクラスタＣＬＳＴ０のグローバルモジュール１２−０とを接続している。
すなわち、複数のクラスタＣＬＳＴ０〜ＣＬＳＴ３のグローバルモジュール１２−０〜１２−３をリング状に接続している。
なお、図３０の構成の場合には、一つのＳＤＣからパラメータがＣＬＳＴ０〜ＣＬＳＴ３のグローバルモジュール１２−０〜１２−３にブロドキャストされるように構成することが可能である。
【０２３４】
このような構成を採用することにより、より精度の高い画像処理を実現でき、また、各クラスタ間の配線も単純に双方向として一系統で接続するので、各クラスタ間の負荷を均一に保つことができ、配線領域を整然と並べることができ、平均配線長を短くできる。したがって、配線遅延や配線コストを低減でき、処理速度の向上を図ることが可能となる。
【０２３５】
【発明の効果】
以上説明したように、本発明によれば、大量の演算器を効率よく利用することが可能で、アルゴリズムの自由度が高く、柔軟性が高く、しかも回路規模の増大、コスト増を招くことなく画像処理およびグラフィックス処理を実現できる利点がある。
【図面の簡単な説明】
【図１】ピクセルレベルでの並列処理の手法に基づくプリミティブ・レベルでの並列化処理について概念的に示す図である。
【図２】一般的な画像処理装置におけるテクスチャフィルタリングを含む処理手順を説明するための図である。
【図３】本発明の係る画像処理装置の一実施形態を示すブロック構成図である。
【図４】本実施形態に係るストリームデータコントローラ（ＳＤＣ）の主な処理を説明するためのフローチャートである。
【図５】本実施形態に係るグローバルモジュールの機能を説明するためのフローチャートである。
【図６】本実施形態に係るローカルモジュールにおける処理ユニットのグラフィックス処理を説明するための図である。
【図７】本実施形態に係るテクスチャリード時のローカルモジュールの動作を説明するためのフローチャートである。
【図８】本実施形態に係るローカルモジュールにおける処理ユニットの画像処理を説明するための図である。
【図９】本実施形態に係るローカルモジュールにおけるローカルキャッシュの構成例を示すブロック図である。
【図１０】本実施形態に係るローカルキャッシュのメモリコントローラの構成例を示すブロック図である。
【図１１】本実施形態に係るローカルモジュールの処理ユニットの具体的な構成例を示すブロック図である。
【図１２】本実施形態に係るピクセルエンジンの構成例、およびレジスタユニット（ＲＧＵ）、クロスバー回路との接続例を示す図である。
【図１３】本実施形態に係るピクセル演算プロセッサ（ＰＯＰ）群の構成例を示す図である。
【図１４】本実施形態に係るＰＯＰ（ピクセル演算プロセッサ）とメモリ間の接続形態およびＰＯＰの構成例を示す図である。
【図１５】本実施形態に係るＰＯＰＥの具体的な構成例を示す回路図である。
【図１６】本実施形態に係るメモリからキャッシュへのデータの読み出し形態およびキャッシュから各ＰＯＰＥへのデータを読み出し形態を示す図である。
【図１７】本実施形態に係るメモリのデータに基づいてピクセル演算プロセッサ群で演算処理を行い、さらにピクセルエンジンで演算を行う場合の動作を説明するためのフローチャートである。
【図１８】本実施形態に係るメモリのデータに基づいてピクセル演算プロセッサ群で演算処理を行い、さらにピクセルエンジンで演算を行う場合の動作を説明するための図である。
【図１９】本実施形態に係るメモリのデータに基づいてピクセル演算プロセッサ群で演算処理を行い、さらにピクセルエンジンで演算を行う場合の動作を説明するためのタイミングチャートである。
【図２０】本実施形態に係るメモリのデータに基づいてピクセル演算プロセッサ群で演算処理を行い、さらにピクセルエンジンで演算を行う場合の動作を説明するためのブロック図である。
【図２１】本実施形態に係る処理ユニットにおけるコアのピクセルエンジン（ＰＸＥ）、ピクセル演算プロセッサ（ＰＯＰ）、レジスタユニット（ＲＧＵ）、並びにメモリ部分を含む動作概要を示す図である。
【図２２】本実施形態に係る処理ユニットにおける依存テクスチャ無しの場合のグラフィックス処理を説明するための図である。
【図２３】本実施形態に係る処理ユニットにおけるグラフィックス処理のピクセル演算プロセッサ（ＰＯＰ）群の具体的な動作を説明するための図である。
【図２４】本実施形態に係る処理ユニットにおける依存テクスチャ有りの場合のグラフィックス処理を説明するための図である。
【図２５】ＳＡＤ（Ｓｕｍｍｅｄ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）処理を説明するための図である。
【図２６】本実施形態に係る処理ユニットにおけるＳＡＤ処理を説明するための図である。
【図２７】コンボリューションフィルタ（Ｃｏｎｖｏｌｕｔｉｏｎ  Ｆｉｌｔｅｒ）処理を説明するための図である。
【図２８】本実施形態に係る処理ユニットにおけるコンボリューションフィルタ処理を説明するための図である。
【図２９】本実施形態に係る処理ユニットにおける他の構成例（コアを複数設けた例）を示す図である。
【図３０】本発明の係る画像処理装置の他の実施形態を示すブロック構成図である。
【符号の説明】
１０，１０Ａ…画像処理装置、１１…ストリームデータコントローラ（ＳＤＣ）、１２−０〜１２−３…グローバルモジュール、１２１−０〜１２１−３…グローバルキャッシュ、１３−０〜１３−３…ローカルモジュール、１３１−０〜１３１−３…処理ユニット、１３２−０〜１３２−３…メモリモジュール、１３３−０〜１３３−３…ローカルキャッシュ、１３４−０〜１３４−３…グローバルインターフェース（ＧＡＩＦ）、ＣＬＳＴ０〜ＣＬＳＴ…クラスタ、１３１１…ラスタライザ、１３１２，１３１２−１〜１３１２−ｎ…コア、１３１２１…グラフィックスユニット（ＧＲＵ）、１３１２２…ピクセルエンジン（ＰＸＥ）、１３１２３…ピクセル演算プロセッサ（ＰＯＰ）群、１３１２４…レジスタユニット（ＲＧＵ）、１３１２５…クロスバー回路（ＩＸＢ）、ＰＯＰＥ０〜３…演算器、ＯＳＬＣ…出力選択回路。
【図１】
0004158413.tif 000002
【図２】
0004158413.tif 000003
【図３】
0004158413.tif 000004
【図４】
0004158413.tif 000005
【図５】
0004158413.tif 000006
【図６】
0004158413.tif 000007
【図７】
0004158413.tif 000008
【図８】
0004158413.tif 000009
【図９】
0004158413.tif 000010
【図１０】
0004158413.tif 000011
【図１１】
0004158413.tif 000012
【図１２】
0004158413.tif 000013
【図１３】
0004158413.tif 000014
【図１４】
0004158413.tif 000015
【図１５】
0004158413.tif 000016
【図１６】
0004158413.tif 000017
【図１７】
0004158413.tif 000018
【図１８】
0004158413.tif 000019
【図１９】
0004158413.tif 000020
【図２０】
0004158413.tif 000021
【図２１】
0004158413.tif 000022
【図２２】
0004158413.tif 000023
【図２３】
0004158413.tif 000024
【図２４】
0004158413.tif 000025
【図２５】
0004158413.tif 000026
【図２６】
0004158413.tif 000027
【図２７】
0004158413.tif 000028
【図２８】
0004158413.tif 000029
【図２９】
0004158413.tif 000030
【図３０】
0004158413.tif 000031