(57)【要約】【課題】ピクセルデータの転送を高速に行い、効果的にレンダリング処理を行う。【解決手段】単位図形の頂点について３次元座標、Ｒ，Ｇ，Ｂデータ、テクスチャの同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを受けてレンダリング処理を行う画像処理装置は、複数に分割された記憶モジュールと、各記憶モジュールに近接配置された２次メモリと、各記憶モジュール毎に対応して分割された複数のピクセル処理モジュールとを有する。各記憶モジュールがテクスチャデータを記憶している。各ピクセル処理モジュールが、ポリゴンレンダリングデータを補間する回路と、「ｓ／ｑ」および「ｔ／ｑ」を生成してこれらに応じたテクスチャアドレスを用いて２次メモリを介して対応する記憶モジュールからテクスチャデータを読み出し、表示データの図形要素の表面へのテクスチャデータの張り付け処理を行う回路とを有する。【選択図】図９
2008181559.tif 000002
【特許請求の範囲】
【請求項１】
単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャの同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを受けてレンダリング処理を行うため、
複数に分割された複数の記憶モジュールを有し、各記憶モジュールが図形要素が必要とするテクスチャデータを記憶する記憶回路と、
上記各記憶モジュールに対応して上記各記憶モジュールに近接配置され、上記対応する記憶モジュールに記憶されているデータを記憶可能な２次メモリと、
上記記憶モジュール毎に対応して分割された複数のピクセル処理モジュールを有するロジック回路と
を有し、
上記ロジック回路の各ピクセル処理モジュールが、
上記単位図形の頂点のポリゴンレンダリングデータを補間して、上記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、
上記補間データ生成回路において生成した前記補間データに含まれるテクスチャの同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、上記「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて、上記２次メモリを介して上記対応する記憶モジュールから上記テクスチャデータを読み出し、表示データの図形要素の表面への上記テクスチャデータの張り付け処理を行うテクスチャ処理回路と
を少なくとも備え、
上記複数の記憶モジュールを有する上記記憶回路、上記２次メモリ、および上記複数のピクセル処理モジュールを有する上記ロジック回路が一つの半導体チップ内に混載されている、
画像処理装置。
【請求項２】
上記各ピクセル処理モジュールは、その内部で少なくとも１段以上のパイプライン処理を行う、
請求項１記載の画像処理装置。
【請求項３】
上記複数に分割された複数の記憶モジュールは上記半導体チップの周縁に分散して配設されており、
上記複数に分割されたピクセル処理モジュールは分散して配設されており、
上記上記半導体チップの周縁に分散して配設されている複数の記憶モジュールは、上記分散して配設されている複数のピクセル処理モジュールを囲むように上記複数のピクセル処理モジュールの周縁に配置され、かつ、上記各記憶モジュールの入出力端子が上記対応する各ピクセル処理モジュールと対向する内側の縁部に配置されている、
請求項１記載の画像処理装置。
【請求項４】
上記複数のピクセル処理モジュールは、それらが同一の機能のモジュールであっても、対応する記憶モジュールとのデータのやり取りを行うパスの引き出しのための端子位置を、その記憶モジュールからの上記パスを使用するピクセル処理モジュールへ、上記パスが最適に配線できるように、その引き出しの端子位置に変化が与えられている、
請求項２記載の画像処理装置。
【請求項５】
当該画像処理装置は、上記複数に分割された全ての記憶モジュールに均等に接続されて上記複数の記憶モジュールの動作を制御する制御ブロックをさらに有し、
上記制御ブロックが上記複数に分割され分散されて配設されている上記複数の記憶モジュールで囲まれた中心付近に配置されている、
請求項１記載の画像処理装置。
【請求項６】
上記各記憶モジュールは、ロウアドレスおよびカラムアドレスに基づいてアクセスされ、当該各記憶モジュールの記憶データを記憶可能な２次メモリを有し、当該２次メモリが上記記憶モジュールに近接配置され、かつ、上記各記憶モジュールに対応する各ピクセル処理モジュールに接続されており、
上記記憶モジュールの長辺方向がコアのカラム方向になるように配置され、
上記ピクセル処理モジュールと上記２次メモリが、それぞれ互いに記憶モジュールの長辺側の同一側に近接配置されている、
請求項１記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックス描画画像処理装置に関し、特にＤＲＡＭ等のメモリとロジック回路を混載させた場合における、内蔵メモリの配置と配線の技術分野に関する。
【背景技術】
【０００２】
種々のＣＡＤ(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、３次元コンピュータグラフィックスを用いたシステムが急速に普及している（たとえば、特許文献１を参照）。
【０００３】
このような３次元コンピュータグラフィックスでは、各画素（ピクセル）に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ（フレームバッファ）のアドレスに書き込むレンダリング(Rendering) 処理を行う。
【０００４】
レンダリング処理の手法の一つに、ポリゴン（Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形（ポリゴン）の組み合わせとして表現しておき、このポリゴンを単位として描画を行うことで、表示画面の色を決定する。
【０００５】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標（ｘ，ｙ，ｚ）と、色データ（Ｒ，Ｇ，Ｂ）と、張り合わせのイメージパターンを示すテクスチャデータの同次座標（ｓ，ｔ）および同次項ｑの値とを入力とし、これらの値を三角形の内部で補間する処理が行われる。
ここで、同次項ｑは、実際のテクスチャバッファのＵＶ座標系における座標、すなわち、テクスチャ座標データ（ｕ，ｖ）は、同次座標（ｓ，ｔ）を同次項ｑで除算した「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じたものとなる。
【０００６】
図１１は、３次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
【０００７】
この３次元コンピュータグラフィックスシステムにおいては、グラフィックス描画等のデータは、メインプロセッサ１のメインメモリ２、あるいは外部からのグラフィックスデータを受けるＩ／Ｏインタフェース回路３からメインバス４を介してレンダリングプロセッサ５ａ、フレームバッファメモリ５ｂを有するレンダリング回路５に与えられる。
【０００８】
レンダリングプロセッサ５ａには、表示するためのデータを保持することを目的とするフレームバッファ５ｂと、描画する図形要素（たとえば三角形）の表面に張り付けるテクスチャデータを保持しているテクスチャメモリ６が結合されている。
そして、レンダリングプロセッサ５ａによって、図形要素毎に表面にテクスチャを張り付けた図形要素を、フレームバッファ５ｂに描画するという処理が行われる。
【０００９】
フレームバッファ５ｂとテクスチャメモリ６は、一般的にＤＲＡＭ(Dynamic Random Access Memory)により構成される。
そして、図９のシステムにおいては、フレームバッファ５ｂとテクスチャメモリ６は、物理的に別々のメモリシステムとして構成されている。
【００１０】
また、近年、ＤＲＡＭとロジック回路を混載させることができるようになっているが、グラフィックス描画画像処理装置に関し、図１２に示すように、従来外部メモリを使っていた構造そのままで、ＤＲＡＭ等の大容量メモリ７ａを、描画用ロジック回路７ｂとを同一の半導体チップ７に内蔵しようとしているものがある。
【００１１】
この場合、単純に以前からのグラフィックス描画画像処理用ロジック回路の横に、汎用ＤＲＡＭと同等の制御機構を持つＤＲＡＭコアを配置し、単一のパスで両者を接続するという配線となっている。
【００１２】
グラフィックス描画画像処理装置に関しては、上記のような形式の物があるのみである。
以下に、グラフィックス描画画像処理装置とは異なる技術分野となるが、マイクロプロセッサの技術分野での動向を示す。
【００１３】
従来から、マイクロプロセッサとメモリの１チップ化は提案され、その中でのメモリの配置についても提案されている。
【００１４】
たとえば、図３において、ＰＰＲＡＭ（ＩＳＳＣＣ９７／ＳＥＳＳＩＯＮ１４／Ｐａｒａｌｌｅｌ  Ｐｒｏｃｅｓｓｉｎｇ  ＲＡＭ）においては、図１３に示すように、メインメモリであるＤＲＡＭ８ａ−１〜８ａ−４とマイクロプロセッサ（Ｐ）８ｂ−１〜８ｂ−４を同一の半導体チップ８に内蔵している。
なお、図１３において、８ｃ−１〜８ｃ−４はＤＲＡＭ８ａ−１〜８ａ−４用のメモリコントローラ（Ｍｅｍ  ＣＴＬ）、８ｄ−１〜８ｄ−４はキャッシュ（Ｃａｓｈｅ）をそれぞれ示している。
【００１５】
この半導体チップ８では、メインメモリとしてのＤＲＡＭ８ａ−１〜８ａ−４は、マイクロプロセッサ８ｂ−１〜８ｂ−４に対して、一方向にのみ配置されている。
【００１６】
また、図１３には、複数のマイクロプロセッサ８ｂ−１〜８ｂ−４がキャッシュ８ｄ−１〜８ｄ−４を介して、単一のＤＲＡＭにアクセスする構成が示されている。
【特許文献１】特開平１０−６５１２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ところで、上記における従来のいわゆる内蔵ＤＲＡＭシステムにおいて、フレームバッファメモリとテクスチャメモリが別々のメモリシステムに別れている場合においては、表示の解像度の変化によって空きとなったフレームバッファをテクスチャ用に利用できない、あるいはフレームバッファメモリとテクスチャメモリを物理的に同一にすると、フレームバッファメモリとテクスチャーメモリの同時アクセスにおいて、ＤＲＡＭのペ−ジ切り替え等のオーバーヘッドが大きくなり、性能を犠牲にしなければならなくなる等の不利益がある。
【００１８】
また、グラフィックス描画画像処理用ロジック回路の横に、汎用ＤＲＡＭと同等の制御機構を持つＤＲＡＭコアを配置し、単一のパスで両者を接続するという配線の方法では、せっかくＤＲＡＭを内蔵したにもかかわらず、アクセスのためのバンド幅はまったく改善されないまま、システムの性能のボルトネックとなっている。
【００１９】
さらに、図１３に図解した、メインメモリ内蔵型のマイクロプロセッサにおいては、以下のような不利益がある。
すなわち、この半導体チップ８は、同じ機能構成の物を４つ並べ、メモリコントローラを介してデータ転送を行うというものであり、その転送のバンド幅はメモリコントローラのパス幅と動作速度により決まり、その最も速いものは、チップを横断することになり、動作速度はその最も長いパスによってきまり、動作速度向上は困難になる。当然長いパスはレイアウトでの面積も大きくなる。
【００２０】
また、マイクロプロセッサのスピードは、１８ヶ月毎に倍、メモリの容量もほぼ１８ヶ月毎に倍で増加しているのがいままでのトレンドとなっている。
そのような状況にもかかわらず、アクセスタイムに関しては、年間で７％程度の増加である。今後は、このアクセスタイムをいかに速くするかが、システムの性能を向上させる鍵となってきている。
【００２１】
上述した従来の方法では、チップが大きくなればなるほど、クリティカルなパスが長くなり、動作速度の足かせとなってしまう。
そのため、相変わらずＤＲＡＭ間でのアクセスタイムは向上できないままであることから、ＤＲＡＭを内蔵したことでのメリットはあまり見えてこない。
【００２２】
本発明は、かかる事情に鑑みてなされたものであり、本発明は、ロジック回路と混載される記憶回路を有効に利用することが可能で、性能の低下を招くことなく、しかも高速処理動作、並びに低消費電力化を図ることができる画像処理装置を提供することにある。
【課題を解決するための手段】
【００２３】
本発明によれば、単位図形の頂点について、３次元座標（ｘ，ｙ，ｚ）、Ｒ（赤），Ｇ（緑），Ｂ（青）データ、テクスチャの同次座標（ｓ，ｔ）および同次項ｑを含むポリゴンレンダリングデータを受けてレンダリング処理を行うため、
複数に分割された複数の記憶モジュールを有し、各記憶モジュールが図形要素が必要とするテクスチャデータを記憶する記憶回路と、
上記各記憶モジュールに対応して上記各記憶モジュールに近接配置され、上記対応する記憶モジュールに記憶されているデータを記憶可能な２次メモリと、
上記記憶モジュール毎に対応して分割された複数のピクセル処理モジュールを有するロジック回路と
を有し、
上記ロジック回路の各ピクセル処理モジュールが、上記単位図形の頂点のポリゴンレンダリングデータを補間して、上記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、上記補間データ生成回路において生成した前記補間データに含まれるテクスチャの同次座標（ｓ，ｔ）を同次項ｑで除算して「ｓ／ｑ」および「ｔ／ｑ」を生成し、上記「ｓ／ｑ」および「ｔ／ｑ」に応じたテクスチャアドレスを用いて、上記２次メモリを介して上記対応する記憶モジュールから上記テクスチャデータを読み出し、表示データの図形要素の表面への上記テクスチャデータの張り付け処理を行うテクスチャ処理回路とを少なくとも備え、
上記複数の記憶モジュールを有する上記記憶回路、上記２次メモリ、および上記複数のピクセル処理モジュールを有する上記ロジック回路が一つの半導体チップ内に混載されている、画像処理装置が提供される。
【００２４】
好ましくは、上記各ピクセル処理ブロックは、その内部で少なくとも１段以上のパイプライン処理を行う。
【００２５】
また好ましくは、上記複数に分割された複数の記憶モジュールは上記半導体チップの周縁に分散して配設されており、上記複数に分割されたピクセル処理モジュールは分散して配設されており、上記上記半導体チップの周縁に分散して配設されている複数の記憶モジュールは、上記分散して配設されている複数のピクセル処理モジュールを囲むように上記複数のピクセル処理モジュールの周縁に配置され、かつ、上記各記憶モジュールの入出力端子が上記対応する各ピクセル処理モジュールと対向する内側の縁部に配置されている。
【００２６】
好ましくは、上記複数のピクセル処理モジュールは、それらが同一の機能のモジュールであっても、対応する記憶モジュールとのデータのやり取りを行うパスの引き出しのための端子位置を、その記憶モジュールからの上記パスを使用するピクセル処理モジュールへ、上記パスが最適に配線できるように、その引き出しの端子位置に変化が与えられている。
【００２７】
好ましくは、当該画像処理装置は、上記複数に分割された全ての記憶モジュールに均等に接続されて上記複数の記憶モジュールの動作を制御する制御ブロックをさらに有し、上記制御ブロックが上記複数に分割され分散されて配設されている上記複数の記憶モジュールで囲まれた中心付近に配置されている。
【００２８】
また好ましくは、上記各記憶モジュールは、ロウアドレスおよびカラムアドレスに基づいてアクセスされ、当該各記憶モジュールの記憶データを記憶可能な２次メモリを有し、当該２次メモリが上記記憶モジュールに近接配置され、かつ、上記各記憶モジュールに対応する各ピクセル処理モジュールに接続されており、上記記憶モジュールの長辺方向がコアのカラム方向になるように配置され、上記ピクセル処理モジュールと上記２次メモリが、それぞれ互いに記憶モジュールの長辺側の同一側に近接配置されている。
【発明の効果】
【００２９】
本発明によれば、記憶回路が独立した複数のモジュールで構成される。これにより、同時にアクセスしなければならない場合に比較して、一回のアクセスでのビット線に占める有効データの割合が増加する。
そして、それらの複数に分割された記憶モジュールが、グラフィックス描画処理等を行うロジック回路部分の周辺部に配置される。
これにより、それぞれの記憶モジュールからロジック回路の部分までの距離が均一になり、固めて一方向に並べる場合に比較して、最も長くなるパス配線の長さが短くなる。そのため、全体での動作速度が向上する。
【００３０】
また、記憶回路の各記憶モジュール毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックが、近接配置される。
これにより、グラフィックス描画において非常に回数多く行われる、リード（Ｒｅａｄ）／モディファイ（Ｍｏｄｉｆｙ）／ライト（Ｗｒｉｔｅ）処理が非常に短い配線領域で可能となる。このため、動作速度が飛躍的に向上する。
【００３１】
また、各記憶モジュールにおいて、その２次メモリが記憶モジュールに近接配置される。
これにより、記憶モジュールから２次メモリへのデータ転送を非常に幅の広いパスで行っても、いわゆるクロストーク（Ｃｒｏｓｓ  Ｔａｌｋ）の影響も少なく、当然配線長も短いため、動作速度が向上する。また、配線が占める面積も小さくなる。
【００３２】
また、グラフィックス描画におけるピクセル処理を制御する機能ブロックにおいて、その内部にすくなくとも１段以上の、パイプライン制御が行われることで、その他の描画処理を行う中央に配置されるブロックまでの距離が、平均的に長くなったとしても、データを処理するスループットに影響を与えなくできるため、処理速度が向上する。
【００３３】
また、グラフィックス描画処理等を行うロジック回路部分を囲むように、その周辺部に配置された各モジュールにおける入出力端子が、ロジック回路部分に向かう内側の辺に並べられる。
これにより、配線領域が整然と並び、平均配線長が短くなる。
【００３４】
また、グラフィックス描画を制御する複数の機能ブロックにおいて、それらが同一の機能のモジュールであっても、パスの引き出しのための端子位置を、そのモジュールからのパスを使用する機能ブロックへ、パスが最適に配線できるように、その引き出しの端子位置に変化が与えられる。
これにより、たとえ機能は同じであっても、その配置された場所での最適な位置にブロックの端子位置を置くことが可能になり、平均配線長が短くなる。
【００３５】
また、全ての記憶モジュールに均等に接続されているブロックで、配線数の最も多いものが記憶回路で囲まれた中心付近に配置される。
これにより、配線による面積が小さくない、かつ、最長配線長が短くなる。このため、動作速度の向上も同時に可能となる。
【００３６】
また、記憶モジュール毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックと、２次メモリが記憶モジュールに近接配置される場合、記憶モジュールの長辺方向が、記憶回路（たとえばＤＲＡＭ）のコアのカラム方向になるように配置される。
これにより、ロウ方向に配置する場合に比較して、ロウアドレス指定のみで、そのロウアドレスに対応している１ロウ分のデータを、一度に２次メモリにロードできるビット数が格段に増加する。
【００３７】
また、ピクセル処理ブロックと２次メモリが、それぞれ互いに記憶モジュールの長辺側の同一側に近接配置される。
これにより、ピクセル処理ブロックと２次メモリへのデータは、同一のセンスアンプを使うことができる。このため、記憶回路のコアの面積増加を最小限に抑えてポート化することが可能となる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施形態においては、パーソナルコンピュータなどに適用される、任意の３次元物体モデルに対する所望の３次元画像をＣＲＴ(Cathode Ray Tube)などのディスプレイ上に高速に表示する３次元コンピュータグラフィックスシステムについて説明する。
【００３９】
図１は、本発明に係る画像処理装置としての３次元コンピュータグラフィックスシステム１０のシステム構成図である。
【００４０】
３次元コンピュータグラフィックスシステム１０は、立体モデルを単位図形である三角形（ポリゴン）の組み合わせとして表現し、このポリゴンを描画することで表示画面の各ピクセルの色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、３次元コンピュータグラフィックスシステム１０では、平面上の位置を表現する（ｘ，ｙ）座標の他に、奥行きを表すｚ座標を用いて３次元物体を表し、この（ｘ，ｙ，ｚ）の３つの座標で３次元空間の任意の一点を特定する。
【００４１】
図１に示すように、３次元コンピュータグラフィックスシステム１０は、メインプロセッサ１１、メインメモリ１２、Ｉ／Ｏインタフェース回路１３、およびレンダリング回路１４が、メインバス１５を介して接続されている。
以下、各構成要素の機能について説明する。
【００４２】
メインプロセッサ１１は、たとえば、アプリケーションの進行状況などに応じて、メインメモリ１２から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理などのジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ１１は、ポリゴンレンダリングデータＳ１１を、メインバス１５を介してレンダリング回路１４に出力する。
【００４３】
Ｉ／Ｏインタフェース回路１３は、必要に応じて、外部から動きの制御情報またはポリゴンレンダリングデータ等を入力し、これをメインバス１５を介してレンダリング回路１４に出力する。
【００４４】
ここで、ポリゴンレンダリングデータは、ポリゴンの各３頂点の（ｘ，ｙ，ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）のデータを含んでいる。
ここで、（ｘ，ｙ，ｚ）データは、ポリンゴの頂点の３次元座標を示し、（Ｒ，Ｇ，Ｂ）データは、それぞれ当該３次元座標における赤、緑、青の輝度値を示している。
（ｓ，ｔ，ｑ）データのうち、（ｓ，ｔ）は、対応するテクスチャの同次座標を示しており、ｑは同次項を示している。ここで、「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じてテクスチャ座標データ（ｕ，ｖ）が得られる。テクスチャバッファ１４７ａに記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ（ｕ，ｖ）を用いて行われる。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャデータである。
【００４５】
以下、レンダリング回路１４について詳細に説明する。
図１に示すように、レンダリング回路１４は、ＤＤＡ(Digital Differential
Analyzer) セットアップ回路１４１、トライアングルＤＤＡ回路１４２、テクスチャエンジン回路１４３、メモリインタフェース（Ｉ／Ｆ）回路１４４、ＣＲＴコントロール回路１４５、ＲＡＭＤＡＣ回路１４６、ＤＲＡＭ１４７およびＳＲＡＭ(Static RAM)１４８を有する。
本実施形態におけるレンダリング回路１４は、一つの半導体チップ内にロジック回路と少なくとも表示データとテクスチャデータとを記憶するＤＲＡＭ１４７とが混載されている。
【００４６】
ＤＲＡＭ１４７
ＤＲＡＭ１４７は、テクスチャバッファ１４７ａ、ディスプレイバッファ１４７ｂ、ｚバッファ１４７ｃおよびテクスチャＣＬＵＴ(Color Look Up Table) バッファ１４７ｄとして機能する。
また、ＤＲＡＭ１４７は、後述するように、同一機能を有する複数（本実施形態では４個）のモジュールに分割されている。
【００４７】
また、ＤＲＡＭ１４７には、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値が、テクスチャＣＬＵＴバッファ１４７ｄに格納されている。
インデックスおよびカラ−ルックアップテ−ブル値は、テクスチャ処理に使われる。すなわち、通常はＲ，Ｇ，Ｂそれぞれ８ビットの合計２４ビットでテクスチャ要素を表現するが、それではデ−タ量が膨らむため、あらかじめ選んでおいた、たとえば２５６色等の中から一つの色を選んで、そのデ−タをテクスチャ処理に使う。このことで２５６色であればそれぞれのテクスチャ要素は８ビットで表現できることになる。インデックスから実際のカラ−への変換テ−ブルは必要になるが、テクスチャの解像度が高くなるほど、よりコンパクトなテクスチャデ−タとすることが可能となる。
これにより、テクスチャデ−タの圧縮が可能となり、内蔵ＤＲＡＭの効率良い利用が可能となる。
【００４８】
さらにＤＲＡＭ１４７には、描画と同時並行的に隠れ面処理を行うため、描画しようとしている物体の奥行き情報が格納されている。
なお、表示データと奥行きデータおよびテクスチャデータの格納方法としては、メモリブロックの先頭から連続して表示データが格納され、次に奥行きデータが格納され、残りの空いた領域に、テクスチャの種類毎に連続したアドレス空間でテクスチャデータが格納される。これにより、テクスチャデータを効率よく格納できることになる。
【００４９】
ＤＤＡセットアップ回路１４１
ＤＤＡセットアップ回路１４１は、後段のトライアングルＤＤＡ回路１４２において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各ピクセル（画素）の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータＳ１１が示す（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
ＤＤＡセットアップ回路１４１は、算出した変分データＳ１４１をトライアングルＤＤＡ回路１４２に出力する。
【００５０】
ＤＤＡセットアップ回路１４１の機能について図２に関連付けてさらに説明する。
上述したように、ＤＤＡセットアップ回路１４１の主な処理は、前段のジオメトリ処理を経て物理座標にまで落ちてきた各頂点における各種情報（色、テクスチャ座標）の与えられた三頂点により構成される三角形内部で変分を求めて、後段の線形補間処理の基礎デ−タを算出することである。
なお、三角形の各頂点データは、たとえばｘ，ｙ座標が１６ビット、ｚ座標が２４ビット、ＲＧＢカラー値が各１２ビット（＝８＋４）、ｓ，ｔ，ｑテクスチャ座標は各３２ビット浮動少数値（ＩＥＥＥフォーマット）で構成される。
【００５１】
三角形の描画は水平ラインの描画に集約されるが、そのために水平ラインの描画開始点における最初の値を求める必要がある。
この水平ラインの描画においては、一つの三角形の中でその描画方向は一定にする。たとえば左から右へ描画する場合は、左側の辺におけるＹ方向変位に対するＸおよび上記各種の変分を算出しておいて、それを用いて頂点から次の水平ラインに移った場合の最も左の点のｘ座標と、上記各種情報の値を求める（辺上の点はＹ，Ｘ両方向に変化するのでＹ方向の傾きのみでは計算できない。）。
右側の辺に関しては終点の位置が分かればよいので、Ｙ方向変位に対するｘの変分のみを調べておけばよい。
水平ラインの描画に関しては、水平方向の傾きは同一三角形内では均一なので、上記各種情報の傾きを算出しておく。
与えられた三角形をＹ方向にソートして最上位の点をＡとする。次に残りの２頂点のＸ方向の位置を比較して右側の点をＢとする。こうすることで、処理の場合分け等が２通り程度にできる。
【００５２】
トライアングルＤＤＡ回路１４２
トライアングルＤＤＡ回路１４２は、ＤＤＡセットアップ回路１４１から入力した変分データＳ１４１を用いて、三角形内部の各ピクセルにおける線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データを算出する。
トライアングルＤＤＡ回路１１は、各ピクセルの（ｘ，ｙ）データと、当該（ｘ，ｙ）座標における（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データとを、ＤＤＡデータ（補間データ）Ｓ１４２としてテクスチャエンジン回路１４３に出力する。
たとえば、トライアングルＤＤＡ回路１４２は、並行して処理を行う矩形内に位置する８（＝２×４）ピクセル（画素）分のＤＤＡデータＳ１４２をテクスチャエンジン回路１４３に出力する。
【００５３】
トライアングルＤＤＡ回路１４２の機能について図３に関連付けてさらに説明する。
上述したように、ＤＤＡセットアップ回路１４１により、三角形の各辺と水平方向における先出の各種情報の傾き情報が準備され、この情報を受けたトライアングルＤＤＡ回路１４２の基本的処理は、三角形の辺上の各種情報の補間処理による水平ラインの初期値の算出と、水平ライン上での各種情報の補間処理である。
ここで最も注意しなければならないことは、補間結果の算出は、ピクセル中心における値を算出する必要があるということである。
その理由は、算出する値がピクセル中心からはずれたところを求めていては、静止画の場合はさほど気にならないが、動画にした場合には、画像の揺らぎが目立つようになるからである。
【００５４】
最初の水平ライン（当然ピクセル中心を結んだライン）の一番左側における各種情報は、辺上の傾きに頂点からその最初の水平ラインまでの距離をかけてやることで求めることができる。
次のラインにおける開始位置での各種情報は、辺上の傾きを足してゆくことで算出できる。
水平ラインにおける最初のピクセルでの値は、ラインの開始位置における値に、最初のピクセルまでの距離と水平方向の傾きをかけた値を足すことで算出できる。水平ラインにおける次のピクセルにおける値は、最初のピクセルの値に対してつぎつぎに水平方向の傾きを足し込んでゆけば算出できる。
【００５５】
次に、頂点のソートについて図４に関連付けて説明する。
頂点をあらかじめソートしておくことで、以降の処理の場合分けを最大限に減らし、かつ、補間処理においてもできるだけ一つの三角形の内部においては、矛盾が生じにくくすることができる。
ソートのやり方としては、まずすべての与えられた頂点をＹ方向にソートして、最上位の点と最下位の点を決めそれぞれＡ点、Ｃ点とする。残りの点はＢ点とする。
このようにすることで、Ｙ方向に最も長く伸びた辺が辺ＡＣとなり、最初に辺ＡＣと辺ＡＢを用いてその二つの辺で挟まれた領域の補間処理を行い、次に辺ＡＣはそのままで、辺ＡＢに変えて辺ＢＣと辺ＡＣで挟まれた領域の補間を行うという処理になる。また、Ｙ方向のピクセル座標格子上への補正に関しても、辺ＡＣと辺ＢＣについて行っておけばよいことも分かる。
このようにして、ソート後の処理に場合分けが不必要になることで、データを単純に流すだけの処理で可能となりバグも発生しにくくなるし、構造もシンプルになる。
また、一つの三角形の中で補間処理の方向が辺ＢＣ上を開始点として一定にできるため、水平方向の補間(Span)の方向が一定となり、演算誤差があったとしても辺ＢＣから他の辺に向かって誤差が蓄積されるかたちとなり、その蓄積の方向が一定となるため、隣接する辺同士での誤差は目立たなくなる。
【００５６】
次に、水平方向の傾き算出について図５に関連付けて説明する。
三角形内における各種変数（ｘ，ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）の（ｘ，ｙ）に対する傾き（変数分）は、線形補間であることから一定となる。
したがって、水平方向の傾き、すなわち、各水平ライン(Span)上での傾きはどのSpanにおいても、一定となるので、各Spanの処理に先立ってその傾きを求めておくことになる。
三角形の与えられた頂点をＹ方向にソートした結果、辺ＡＣが最も長く伸びた辺と再定義されているので、頂点Ｂを水平方向に伸ばしたラインと辺ＡＣの交点が必ず存在するのでその点をＤとする。
後は単純に点Ｂと点Ｄの間の変分を求めるようなことを行えば、水平方向すなわちｘ方向の傾きを求めることができる。
【００５７】
具体的には、Ｄ点でのｘおよびｚ座標は次式のようになる。
【００５８】
（数１）
ｘｄ＝｛（ｙｄ−ｙａ）／（ｙｃ−ｙａ）｝・（ｘｃ−ｘａ）
ｚｄ＝｛（ｙｄ−ｙａ）／（ｙｃ−ｙａ）｝・（ｚｃ−ｚａ）
【００５９】
これに基づいて、変数ｚのｘ方向の傾きを求めると、次のようになる。
【００６０】
（数２）
Δｚ／Δｘ＝（ｚｄ−ｚｂ）／（ｘｄ−ｘｂ）
＝〔｛（ｙｄ−ｙａ）／（ｙｃ−ｙａ）｝・（ｚｃ−ｚａ）−ｚｂ〕
／〔｛（ｙｄ−ｙａ）／（ｙｃ−ｙａ）｝・（ｘｃ−ｘａ）−ｘｂ〕
＝｛ｚｂ（ｙｃ−ｙａ）−（ｚｃ−ｚａ）（ｙｃ−ｙａ）｝
／｛ｘｂ（ｙｃ−ｙａ）−（ｚｃ−ｚａ）（ｙｃ−ｙａ）｝
【００６１】
次に、頂点データの補間手順の一例について、図６および図７に関連付けて説明する。
頂点のソート、水平方向の傾き算出、各辺上での傾きの算出処理を経て、それらの結果を使って補間処理を行う。
Ｂ点の位置によって、Spanでの処理の向きは２通りに別れる。これは、一つの三角形の内部での補間における各Span同士での誤差の蓄積方向を、一定にすることで、できるだけ不具合が発生しないようにするために、Ｙ方向に最も長く伸びた辺を常に始点として、処理するようにしようとしているからである。
Ｂ点がＡ点と同じ高さにあった場合には、前半の処理はスキップされることになる。よって、場合分けというよりは、スキップが可能な機構を設けておくだけで処理としてはすっきりしたものとできる。
複数のSpanを同時処理することで、処理能力をあげようとした場合には、Ｙ方向における傾きを求めたくなるが、頂点のソートからやり直す必要があることになる。しかしながら、補間処理の前処理だけでことが済むために、全体としての処理系は簡単にできる。
【００６２】
具体的には、Ｂ点がＡ点と同じ高さでない場合には、ＡＣ，ＡＢのＹ方向補正（画素（ピクセル）格子上の値算出）を行い（ＳＴ１，ＳＴ２）、ＡＣ辺上の補間およびＡＢ辺上の補間を行う（ＳＴ３）。
そして、ＡＣ水平方向の補正およびＡＣ辺からＡＢ辺方向の水平ライン(Span)上を補間する（ＳＴ４）。
以上のステップＳＴ３，ＳＴ４の処理をＡＢ辺の端点まで行う（ＳＴ５）。
ＡＢ辺の端点までステップＳＴ２〜ＳＴ４の処理が終了した場合、あるいはステップＳＴ１においてＢ点がＡ点が同じ高さであると判別した場合には、ＢＣのＹ方向補正（画素格子上の値算出）を行い（ＳＴ６）、ＡＣ辺上の補間およびＢＣ辺上の補間を行う（ＳＴ７）。
そして、ＡＣ水平方向の補正およびＡＣ辺からＢＣ辺方向の水平ライン(Span)上を補間する（ＳＴ８）。
以上のステップＳＴ７，ＳＴ８の処理をＢＣ辺の端点まで行う（ＳＴ９）。
【００６３】
テクスチャエンジン回路１４３
テクスチャエンジン回路１４３は、「ｓ／ｑ」および「ｔ／ｑ」の算出処理、テクスチャ座標データ（ｕ，ｖ）の算出処理、テクスチャバッファ１４７ａからの（Ｒ，Ｇ，Ｂ）データの読み出し処理等を順にパイプライン方式で行う。
なお、テクスチャエンジン回路１４３は、たとえば所定の矩形内に位置する８ピクセルについての処理を同時に並行して行う。
【００６４】
テクスチャエンジン回路１４３は、ＤＤＡデータＳ１４２が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とを行う。
テクスチャエンジン回路１４３には、たとえば図示しない除算回路が８個設けられており、８ピクセルについての除算「ｓ／ｑ」および「ｔ／ｑ」が同時に行われる。
【００６５】
また、テクスチャエンジン回路１４３は、除算結果である「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥを乗じて、テクスチャ座標データ（ｕ，ｖ）を生成する。
また、テクスチャエンジン回路１４３は、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８あるいはＤＲＡＭ１４７に、生成したテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求を出力し、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８あるいはテクスチャバッファ１４７ａに記憶されているテクスチャデータを読み出すことで、（ｓ，ｔ）データに対応したテクスチャアドレスに記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８を得る。
ここで、ＳＲＡＭ１４８には、テクスチャバッファ１４７ａに格納されているテクスチャデータが記憶される。
テクスチャエンジン回路１４３は、読み出した（Ｒ，Ｇ，Ｂ）データＳ１４８の（Ｒ，Ｇ，Ｂ）データと、前段のトライアングルＤＤＡ回路１４２からのＤＤＡデータＳ１４２に含まれる（Ｒ，Ｇ，Ｂ）データとを、それぞれかけあわせるなどして、ピクセルデータＳ１４３を生成する。
テクスチャエンジン回路１４３は、このピクセルデータＳ１４３をメモリＩ／Ｆ回路１４４に出力する。
【００６６】
なお、テクスチャバッファ１４７ａには、ＭＩＰＭＡＰ（複数解像度テクスチャ）などの複数の縮小率に対応したテクスチャデータが記憶されている。ここで、何れの縮小率のテクスチャデータを用いるかは、所定のアルゴリズムを用いて、前記三角形単位で決定される。
【００６７】
テクスチャエンジン回路１４３は、フルカラー方式の場合には、テクスチャバッファ１４７ａから読み出した（Ｒ，Ｇ，Ｂ）データを直接用いる。
一方、テクスチャエンジン回路１４３は、インデックスカラー方式の場合には、あらかじめ作成したカラールックアップテーブル（ＣＬＵＴ）をテクスチャＣＬＵＴバッファ１４７ｄから読み出して、内蔵するＳＲＡＭに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ１４７ａから読み出したカラーインデックスに対応する（Ｒ，Ｇ，Ｂ）データを得る。
【００６８】
メモリＩ／Ｆ回路１４４
メモリＩ／Ｆ回路１４４は、テクスチャエンジン回路１４３から入力したピクセルデータＳ１４３に対応するｚデータと、ｚバッファ１４７ｃに記憶されているｚデータとの比較を行い、入力したピクセルデータＳ１４３によって描画される画像が、前回、ディスプレイバッファ１４７ｂに書き込まれた画像より、手前（視点側）に位置するか否かを判断し、手前に位置する場合には、画像データＳ１４３に対応するｚデータでｚバッファ１４７ｃに記憶されたｚデータを更新する。
また、メモリＩ／Ｆ回路１４４は、（Ｒ，Ｇ，Ｂ）データをディスプレイバッファ１４７ｂに書き込む（打ち込む）。
【００６９】
なお、メモリＩ／Ｆ回路１４４によるＤＲＡＭ１４７に対してのアクセスは、１６ピクセルについて同時に行われる。
【００７０】
本実施形態においては、ＤＲＡＭ１４７は、たとえば図８に示すように、４つのＤＲＡＭモジュール１４７１〜１４７４に分割されており、メモリＩ／Ｆ回路１４４には、各ＤＲＡＭモジュール１４７１〜１４７４に対応したメモリコントローラ１４４１〜１４４４、並びにこれらメモリコントローラ１４４１にデータを分配するディストリビュータ１４４５が設けられている。
そして、メモリＩ／Ｆ回路１４４は、各ＤＲＡＭモジュール１４７１〜１４７４に対して、図８に示すように、ピクセルデータを、表示領域において隣接した部分は、異なるＤＲＡＭモジュールとなるように配置する。
これにより、三角形のような平面を描画する場合には面で同時に処理できることになるため、それぞれのＤＲＡＭモジュールの動作確率は非常に高くなっている。
【００７１】
ＣＲＴコントロール回路１４５
ＣＲＴコントロール回路１４５は、与えられた水平および垂直同期信号に同期して、図示しないＣＲＴに表示するアドレスを発生し、ディスプレイバッファ１４７ｂから表示データを読み出す要求をメモリＩ／Ｆ回路１４４に出力する。この要求に応じて、メモリＩ／Ｆ回路１４４は、ディスプレイバッファ１４７ｂから一定の固まりで表示データを読み出す。ＣＲＴコントローラ回路１４５は、ディスプレイバッファ１４７ｂから読み出した表示データを記憶するＦＩＦＯ(First In First Out)回路を内蔵し、一定の時間間隔で、ＲＡＭＤＡＣ回路１４６に、ＲＧＢのインデックス値を出力する。
【００７２】
ＲＡＭＤＡＣ回路１４６
ＲＡＭＤＡＣ回路１４６は、各インデックス値に対応するＲ，Ｇ，Ｂデータを記憶しており、ＣＲＴコントローラ回路１４５から入力したＲＧＢのインデックス値に対応するデジタル形式のＲ，Ｇ，Ｂデータを、図示しないＤ／Ａコンバータ(Digital/Analog Converter)に転送し、アナログ形式のＲ，Ｇ，Ｂデータを生成する。ＲＡＭＤＡＣ回路１４６は、この生成されたＲ，Ｇ，Ｂデータを図示しないＣＲＴに出力する。
【００７３】
次に、本発明の実施形態に係る同一半導体チップ内に混載されるレンダリング回路１４のロジック回路とＤＲＡＭ１４７およびＳＲＡＭ１４８等からなる２次メモリとの好適な構成、配置および配線方法について、図９および図１０に関連付けて説明する。
【００７４】
前述した描画処理においては、最終的にはピクセルの一つ一つのアクセスにまで集約されてくることになる。したがって、ピクセル一つ一つの処理が同時並行処理されることにより、描画性能は並行処理の数だけ増加できることが理想である。
そのために、本３次元コンピュータグラフィックスシステムにおけるメモリシステムを構成するメモリＩ／Ｆ回路１４４においても、同時に並行処理が行える構成がとられている。
【００７５】
グラフィック描画処理においては、前述したように、ピクセルに打ち込むところの処理回路は、ＤＲＡＭと頻繁にデータのやりとりを行う必要があることがわかる。
そのため、本実施形態では、図９に示すように、ピクセル処理を制御する機能ブロックであるピクセル処理モジュール１４４６，１４４７，１４４８，１４４９をメモリコントローラから物理的に分離し、かつ、これらピクセル処理モジュール１４４６，１４４７，１４４８，１４４９を対応するＤＲＡＭモジュール１４７１，１４７２，１４７３，１４７４の近くに配置（近接配置）している。
【００７６】
ピクセル処理モジュール１４４６，１４４７，１４４８，１４４９は、（Ｒ，Ｇ，Ｂ）カラーのリード（Ｒｅａｄ）／モディファイ（Ｍｏｄｉｆｙ）／ライト（Ｗｒｉｔｅ）処理および、隠面処理のための以前に描画している深さデータと、今から描画しようとしているデータの深さを比較して、その結果により書き戻したりする作業に関する処理を全て行う。
これら作業をすべてピクセル処理モジュール１４４６，１４４７，１４４８，１４４９で行うことで、ＤＲＡＭモジュール１４７１，１４７２，１４７３，１４７４との配線長が短いモジュール内で、ＤＲＡＭとのやりとりを完結することが可能となる。
そのため、ＤＲＡＭとの配線数、すなわち、転送のビット数を多くとっても、面積に対する配線が占める割合を、少なく抑えることができることから、動作速度向上および、配線面積の縮小化が可能となっている。
【００７７】
ディストリビュータ等を含むＤＲＡＭ間制御モジュール１４５０に関しては、描画処理としての、ＤＤＡセットアップ回路１４１のＤＤＡセットアップ演算、トライアングルＤＤＡ回路１４２のトライアングルＤＤＡ演算、テクスチャエンジン回路１４３のテクスチャ貼り付け、並びに、ＣＲＴコントロール回路１４５による表示処理等に比較して、それぞれのＤＲＡＭモジュール（ＤＲＡＭ＋ピクセル処理）との関連も強く、ＤＲＡＭモジュール１４７１，１４７２，１４７３，１４７４との間の信号線が最も多くなるところである。
そのため、ＤＲＡＭ間制御モジュール１４５０は、それぞれのＤＲＡＭモジュール１４７１，１４７２，１４７３，１４７４の中心付近に配置して、最長配線長ができるだけ短くなるように考慮している。
【００７８】
また、ピクセル処理モジュール１４４６，１４４７，１４４８，１４４９とＤＲＡＭ間制御モジュール１４５０との接続のための信号入出力端子については、図９に示すように、それぞれのピクセル処理モジュール１４４６，１４４７，１４４８，１４４９における入出力端子を同じにするのではなく、個々のピクセル処理モジュールと、ＤＲＡＭ間制御モジュール１４５０間が最適（最短）に配線されるように、個々のピクセル処理モジュールにおける信号の入出力端子位置を調整してある。
【００７９】
具体的には、ピクセル処理モジュール１４４６は、図９においてモジュール下縁部の右端側に入出力端子Ｔ１４４６ａが形成されている。そして、この入出力端子Ｔ１４４６ａがＤＲＡＭ間制御モジュール１４５０の上縁部の左端側に形成された入出力端子Ｔ１４５０ａと対向するように配置されて、両端子Ｔ１４４６ａおよびＴ１４５０ａが最短距離をもって接続されている。
そして、ピクセル処理モジュール１４４６には、図９において上縁部の中央部にＤＲＡＭモジュール１４７１との接続用入出力端子Ｔ１４４６ｂが形成されている。
【００８０】
ピクセル処理モジュール１４４７は、図９においてモジュール下縁部の左端側に入出力端子Ｔ１４４７ａが形成されている。そして、この入出力端子Ｔ１４４７ａがＤＲＡＭ間制御モジュール１４５０の上縁部の右端側に形成された入出力端子Ｔ１４５０ｂと対向するように配置されて、両端子Ｔ１４４７ａおよびＴ１４５０ｂが最短距離をもって接続されている。
そして、ピクセル処理モジュール１４４７には、図９において上縁部の中央部にＤＲＡＭモジュール１４７２との接続用入出力端子Ｔ１４４７ｂが形成されている。
【００８１】
ピクセル処理モジュール１４４８は、図９においてモジュール上縁部の右端側に入出力端子Ｔ１４４８ａが形成されている。そして、この入出力端子Ｔ１４４８ａがＤＲＡＭ間制御モジュール１４５０の下縁部の左端側に形成された入出力端子Ｔ１４５０ｃと対向するように配置されて、両端子Ｔ１４４８ａおよびＴ１４５０ｃが最短距離をもって接続されている。
そして、ピクセル処理モジュール１４４８には、図９において下縁部の中央部にＤＲＡＭモジュール１４７３との接続用入出力端子Ｔ１４４８ｂが形成されている。
【００８２】
ピクセル処理モジュール１４４９は、図９においてモジュール上縁部の左端側に入出力端子Ｔ１４４９ａが形成されている。そして、この入出力端子Ｔ１４４９ａがＤＲＡＭ間制御モジュール１４５０の下縁部の右端側に形成された入出力端子Ｔ１４５０ｄと対向するように配置されて、両端子Ｔ１４４９ａおよびＴ１４５０ｄが最短距離をもって接続されている。
そして、ピクセル処理モジュール１４４９には、図９において下縁部の中央部にＤＲＡＭモジュール１４７４との接続用入出力端子Ｔ１４４９ｂが形成されている。
【００８３】
なお、ピクセル処理モジュール１４４６，１４４７，１４４８，１４４９は、各ＤＲＡＭモジュール１４７１，１４７２，１４７３，１４７４からＤＲＡＭ間制御モジュール１４５０に至る経路を、上記のようにして最適な長さにしても、処理速度要求が満足できない処理に関しては、たとえばレジスタで分断した少なくとも１段のパイプライン処理をとり得、所望の処理速度を達成できるように構成されている。
【００８４】
また、本実施形態に係るＤＲＡＭモジュール１４７１〜１４７４は図１０に示すように構成されている。なお、ここでは、ＤＲＡＭモジュール１４７１を例に説明するが、他のＤＲＡＭモジュール１４７２〜１４７４も同様の構成を有することから、その説明は省略する。
【００８５】
ＤＲＡＭモジュール１４７１は、図１０に示すように、メモリセルがマトリクス状に配置され、ロウアドレスＲＡ、カラムアドレスＣＡに基づいて選択される図示しないワード線およびビット線を通してアクセスされるＤＲＡＭコア１４８０、ロウデコーダ１４８１、センスアンプ１４８２、カラムデコーダ１４８３、およびＳＲＡＭ等からなるいわゆるキャッシュメモリと同様の機能を備えた２次メモリ１４８４を有している。
【００８６】
本実施形態のように、ＤＲＡＭモジュール毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックとしてのピクセル処理モジュール１４４６〜１４４９と、ＤＲＡＭモジュールの２次メモリ１４８４とがＤＲＡＭモジュールに近接配置されている。
そして、この場合、ＤＲＡＭのいわゆる長辺方向が、ＤＲＡＭコア１４８０のカラム方向になるように配置されている。
【００８７】
図１０の構成においてランダムな読み出し（リード）に関して見てみると、ピクセル処理モジュール１４４６から制御信号と必要なアドレス信号Ｓ１４４６が、アドレス制御パスからＤＲＡＭモジュール１４７１に供給され、それをもとに、ロウアドレスＲＡとカラムアドレスＣＡが生成され、所望のロウに相当するＤＲＡＭのデータがセンスアンプ１４８２を通して読み出される。
センスアンプ１４８０を通ったデータは所望のカラムアドレスＣＡに従って、カラムデコーダにて必要なカラムが集約され、ランダムアクセスポートから所望のロウ／カラムに対応した、ＤＲＡＭのデータＤ１４７１がパスを介してピクセル処理モジュール１４４６に転送される。
【００８８】
２次メモリにデータを書き込む場合は、ピクセル処理モジュール１４４６から制御信号と必要なアドレス信号Ｓ１４４６が、アドレス制御パスからＤＲＡＭモジュール１４７１に供給され、、それをもとにロウアドレスのみが生成され、１ロウ分のデータが一気にＤＲＡＭからＳＲＡＭ１４８等からなる２次メモリ１４８４に書き込まれる。
この場合、ＤＲＡＭのいわゆる長辺方向が、ＤＲＡＭコア１４８０のカラム方向になるように配置されていることから、ロウ方向に配置する場合に比較して、ロウアドレス指定のみで、そのロウアドレスに対応している１ロウ分のデータを、一度に２次メモリ１４８４にロードできるビット数が格段に増加する。
【００８９】
また、テクスチャ処理モジュールとしてのテクスチャエンジン回路１４３への２次メモリ（ＳＲＡＭ）１４８４からのデータＤ１４８４の読み込みは、テクスチャエンジン回路１４３から、制御信号と必要なアドレス信号が、アドレス制御パスからＤＲＡＭに供給され、それに対応したデータＤ１４８４がデータパスを介してテクスチャエンジン回路１４３へ転送される。
【００９０】
また、本実施形態においては、図１０に示すように、ピクセル処理モジュールとＤＲＡＭモジュールの２次メモリとが、それぞれ互いにＤＲＡＭモジュールの長辺側の同一側に近接配置されている。
これにより、ピクセル処理モジュールとＤＲＡＭモジュールの２次メモリへのデータは、同一のセンスアンプを使うことができるため、ＤＲＡＭコア１４８０の面積増加を最小限に抑えて２ポート化することが可能となっている。
【００９１】
次に、図１の３次元コンピュータグラフィックスシステムの全体の動作を説明する。
３次元コンピュータグラフィックスシステム１０においては、グラフィックス描画等のデータは、メインプロセッサ１１のメインメモリ１２、あるいは外部からのグラフィックスデータを受けるＩ／Ｏインタフェース回路１３からメインバス１５を介してレンダリング回路１４に与えられる。
なお、必要に応じて、グラフィックス描画等のデータは、メインプロセッサ１１等において、座標変換、クリップ処理、ライティング処理等のジオメトリ処理が行われる。
ジオメトリ処理が終わったグラフィックスデータは、三角形の各３頂点の頂点座標ｘ，ｙ，ｚ、輝度値Ｒ，Ｇ，Ｂ、描画しようとしているピクセルと対応するテクスチャ座標ｓ，ｔ，ｑとからなるポリゴンレンダリングデータＳ１１となる。
【００９２】
このポリゴンレンダリングデータＳ１１は、レンダリング回路１４のＤＤＡセットアップ回路１４１に入力される。
ＤＤＡセットアップ回路１４１においては、ポリゴンレンダリングデータＳ１１に基づいて、三角形の辺と水平方向の差分などを示す変分データＳ１４１が生成される。具体的には、開始点の値と終点の値、並びに、その間の距離を用いて、単位長さ移動した場合における、求めようとしている値の変化分である変分が算出され、変分データＳ１４１としてトライアングルＤＤＡ回路１４２に出力される。
【００９３】
トライアングルＤＤＡ回路１４２においては、変分データＳ１４１を用いて、、三角形内部の各ピクセルにおける線形補間された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データが算出される。
そして、この算出された（ｚ，Ｒ，Ｇ，Ｂ，ｓ，ｔ，ｑ）データと、三角形の各頂点の（ｘ，ｙ）データとが、ＤＤＡデータＳ１４２として、トライアングルＤＤＡ回路１４２からテクスチャエンジン回路１４３に出力される。
【００９４】
テクスチャエンジン回路１４３においては、ＤＤＡデータＳ１４２が示す（ｓ，ｔ，ｑ）データについて、ｓデータをｑデータで除算する演算と、ｔデータをｑデータで除算する演算とが行われる。そして、除算結果「ｓ／ｑ」および「ｔ／ｑ」に、それぞれテクスチャサイズＵＳＩＺＥおよびＶＳＩＺＥが乗算され、テクスチャ座標データ（ｕ，ｖ）が生成される。
【００９５】
次に、テクスチャエンジン回路１４３からメモリＩ／Ｆ回路１４４を介して、テクスチャエンジン回路１４３からＳＲＡＭ１４８に、生成されたテクスチャ座標データ（ｕ，ｖ）を含む読み出し要求が出力され、メモリＩ／Ｆ回路１４４を介して、ＳＲＡＭ１４８に記憶された（Ｒ，Ｇ，Ｂ）データＳ１４８が読み出される。
次に、テクスチャエンジン回路１４３において、読み出した（Ｒ，Ｇ，Ｂ）データＳ１４８の（Ｒ，Ｇ，Ｂ）データと、前段のトライアングルＤＤＡ回路１４２からのＤＤＡデータＳ１４２に含まれる（Ｒ，Ｇ，Ｂ）データとが、かけあわされ、ピクセルデータＳ１４３として生成される。
このピクセルデータＳ１４３は、テクスチャエンジン回路１４３からメモリＩ／Ｆ回路１４４に出力される。
【００９６】
フルカラーの場合には、テクスチャバッファ１４７ａからのデータ（Ｒ，Ｇ，Ｂ）を直接用いればよいが、インデックスカラーの場合には、あらかじめ作成しておいたカラーインデックステーブル（Color Index Table ）のデータが、テクスチャＣＬＵＴ（Color Look Up Table)バッファ１４７ｄより、ＳＲＡＭ等で構成される一時保管バッファへ転送され、この一時保管バッファのＣＬＵＴを用いてカラーインデックスから実際のＲ，Ｇ，Ｂカラーが得られる。
なお、ＣＵＬＴがＳＲＡＭで構成された場合は、カラーインデックスをＳＲＡＭのアドレスに入力すると、その出力には実際のＲ，Ｇ，Ｂカラーが出てくるといった使い方となる。
【００９７】
そして、メモリＩ／Ｆ回路１４４において、テクスチャエンジン回路１４３から入力したピクセルデータＳ１４３に対応するｚデータと、ｚバッファ１４７ｃに記憶されているｚデータとの比較が行われ、入力したピクセルデータＳ１２によって描画される画像が、前回、ディスプレイバッファ２１に書き込まれた画像より、手前（視点側）に位置するか否かが判断される。
判断の結果、手前に位置する場合には、画像データＳ１４３に対応するｚデータでｚバッファ１４７ｃに記憶されたｚデータが更新される。
【００９８】
次に、メモリＩ／Ｆ回路１４４において、（Ｒ，Ｇ，Ｂ）データがディスプレイバッファ１４７ｂに書き込まれる。
【００９９】
メモリＩ／Ｆ回路１４４においては、今から描画しようとしているピクセルにおけるテクスチャアドレスに対応したテクスチャを格納しているメモリブロックがそのテクスチャアドレスにより算出され、そのメモリブロックにのみ読み出し要求が出され、テクスチャデータが読み出される。
この場合、該当するテクスチャデータを保持していないメモリブロックにおいては、テクスチャ読み出しのためのアクセスが行われないため、描画により多くのアクセス時間を提供することが可能となっている。
【０１００】
描画においても同様に、今から描画しようとしているピクセルアドレスに対応するピクセルデータを格納しているメモリブロックに対して、該当アドレスからピクセルデータがモディファイ書き込み(Modify Write)を行うために読み出され、モディファイ後、同じアドレスへ書き戻される。
【０１０１】
隠れ面処理を行う場合には、やはり同じように今から描画しようとしているピクセルアドレスに対応する奥行きデータを格納しているメモリブロックに対して、該当アドレスから奥行きデータがモディファイ書き込み(Modify Write)を行うために読み出され、必要ならばモディファイ後、同じアドレスへ書き戻される。
【０１０２】
このようなメモリＩ／Ｆ回路１４４に基づくＤＲＡＭ１４７とのデータのやり取りにおいては、それまでの処理が複数並行処理される。これにより、描画性能
を向上させることができる。
特に、トライアングルＤＤＡ回路１４２とテクスチャエンジン１４３の部分を並列実行形式で、同じ回路に設ける（空間並列）か、または、パイプラインを細かく挿入する（時間並列）ことで、部分的に動作周波数を増加させるという手段により、複数ピクセルの同時算出が行われる。
【０１０３】
また、ピクセルデータは、メモリＩ／Ｆ回路１４４の制御のもと、表示領域において隣接した部分は、異なるＤＲＡＭモジュールとなるように配置される。
これにより、三角形のような平面を描画する場合には面で同時に処理される。このため、それぞれのＤＲＡＭモジュールの動作確率は非常に高い。
【０１０４】
そして、図示しないＣＲＴに画像を表示する場合には、ＣＲＴコントロール回路１４５において、与えられた水平垂直同期周波数に同期して、表示アドレスが発生され、メモリＩ／Ｆ回路１４４へ表示データ転送の要求が出される。
メモリＩ／Ｆ回路１４４では、その要求に従い、一定のまとまった固まりで、表示データがＣＲＴコントロール回路１４５に転送される。
ＣＲＴコントロール回路１４５では、図示しないディスプレイ用ＦＩＦＯ(First In First Out)等にその表示データが貯えられ、一定の間隔でＲＡＭＤＡＣ１４６へＲＧＢのインデックス値が転送される。
【０１０５】
ＲＡＭＤＡＣ１４６においては、ＲＡＭ内部にＲＧＢのインデックスに対するＲＧＢ値が記憶されていて、インデックス値に対するＲＧＢ値が図示しないＤ／Ａコンバータへ転送される。
そして、Ｄ／Ａコンバータでアナログ信号に変換されたＲＧＢ信号がＣＲＴへ転送される。
【０１０６】
以上説明したように、本発明の実施形態によれば、同一半導体チップに画像データを記憶するＤＲＡＭとロジック回路とを混載し、かつ、ＤＲＡＭを独立した複数のＤＲＡＭモジュール１４７１〜１４７４により分割し、それらの複数に分割されたＤＲＡＭモジュール１４７１〜１４７４を、グラフィックス描画処理等を行うロジック回路部分の周辺部に配置したことから、同時にアクセスしなければならない場合に比較して、一回のアクセスでのビット線に占める有効データの割合が増加し、また、それぞれのＤＲＡＭモジュール１４７１〜１４７４からロジック回路部分までの距離が均一になり、固めて一方向に並べる場合に比較して、最も長くなるパス配線の長さを短くできる。そのため、全体での動作速度を向上できるという利点がある。
【０１０７】
また、ＤＲＡＭモジュール１４７１〜１４７４毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックとしてのピクセル処理モジュール１４４６〜１４４９を近接配置したので、グラフィックス描画において非常に回数多く行われる、リード（Ｒｅａｄ）／モディファイ（Ｍｏｄｉｆｙ）／ライト（Ｗｒｉｔｅ）処理が非常に短い配線領域で可能となる。このため、動作速度を飛躍的に向上させることができる。
【０１０８】
また、ピクセル処理モジュールとＤＲＡＭモジュールの２次メモリとを、それぞれ互いにＤＲＡＭモジュールの長辺側の同一側に近接配置したので、ピクセル処理モジュールから２次メモリへのデータ転送を非常に幅の広いパスで行っても、いわゆるクロストーク（Ｃｒｏｓｓ  Ｔａｌｋ）の影響も少なく、当然配線長も短いため、動作速度が向上する。また、配線が占める面積も小さくなる。
また、ピクセル処理モジュールと２次メモリへのデータは、同一のセンスアンプを使うことができる。このため、ＤＲＡＭコアの面積増加を最小限に抑えてポート化することが可能となる。
【０１０９】
また、ピクセル処理モジュール１４４６〜１４４９は、その内部に少なくとも１段以上の、パイプライン制御が行われることから、その他の描画処理を行う中央に配置されるブロックまでの距離が、平均的に長くなったとしても、データを処理するスループットに影響を与えなくできるため、処理速度が向上する。
【０１１０】
また、ＤＲＡＭ間制御モジュール４５０は、それぞれのＤＲＡＭモジュール１４７１，１４７２，１４７３，１４７４の中心付近に配置したので、配線領域を整然と並べることができ、平均配線長を短くできる。
また、ピクセル処理モジュール１４４６，１４４７，１４４８，１４４９とＤＲＡＭ間制御モジュール１４５０との接続のための信号入出力端子については、図９に示すように、それぞれのピクセル処理モジュール１４４６，１４４７，１４４８，１４４９における入出力端子を同じにするのではなく、個々のピクセル処理モジュールと、ＤＲＡＭ間制御モジュール１４５０間が最適（最短）に配線されるように、個々のピクセル処理モジュールにおける信号の入出力端子位置を調整してあるので、たとえ機能は同じであっても、その配置された場所での最適な位置にブロックの端子位置を置くことが可能になり、平均配線長を短くできる利点がある。
【０１１１】
また、ＤＲＡＭモジュール１４７１〜１４７４の記憶モジュールの長辺方向が、ＤＲＡＭコアのカラム方向になるように配置したので、ロウ方向に配置する場合に比較して、ロウアドレス指定のみで、そのロウアドレスに対応している１ロウ分のデータを、一度に２次メモリにロードできるビット数が格段に増加するという利点がある。
【０１１２】
さらに、半導体チップ内部に内蔵されたＤＲＡＭ１４７に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵ＤＲＡＭの有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
そして、単一メモリシステムを実現でき、すべてが内蔵された中だけで処理ができる。その結果、ア−キテクチャとしても大きなパラダイムシフトとなる。
また、メモリの有効利用ができることで、内部に持っているＤＲＡＭのみでの処理が可能となり、内部にあるがゆえのメモリと描画システムの間の大きなバンド幅が、十分に活用可能となる。また、ＤＲＡＭにおいても特殊な処理を組み込むことが可能となる。
【０１１３】
さらに、表示アドレス空間において、隣接するアドレスにおける表示要素が、それぞれ異なるＤＲＡＭのブロックになるように配置するので、さらにビット線の有効利用が可能となり、グラフィックス描画におけるような、比較的固まった表示領域へのアクセスが多い場合には、それぞれのモジュ−ルが同時に処理できる確率が増加し、描画性能の向上が可能となる。
【０１１４】
また、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値を内蔵ＤＲＡＭ１４７内部に格納するので、テクスチャデ−タの圧縮が可能となり、内蔵ＤＲＡＭの効率良い利用が可能となる。
【０１１５】
また、描画しようとしている物体の奥行き情報を、内蔵のＤＲＡＭに格納するので、描画と同時並行的に隠れ面処理を行うことが可能となる。
描画を行って、通常はそれを表示しようとするわけだが、ユニファイドメモリとして、テクスチャデ−タと表示デ−タを同一のメモリシステムに同居させることができることから、直接表示に使わずに、描画デ−タをテクスチャデ−タとして使ってしまうということも可能となる。
このようなことは、必要なときに必要なテクスチャデ−タを、描画によって作成する場合に有効となり、これもテクスチャデ−タを膨らませないための効果的な機能となる。
【０１１６】
また、チップ内部にＤＲＡＭを内蔵することで、その高速なインタ−フェ−ス部分がチップの内部だけで完結することになるため、大きな付加容量のＩ／Ｏバッファであるとか、チップ間配線容量をドライブする必要がなくなり、消費電力は内蔵しない場合に比較して小さくなる。
よって、さまざまな技術を使って、一つのチップの中だけですべてができるような仕組みは、今後の携帯情報端末等の身近なデジタル機器のためには、必要不可欠な技術要素となっている。
【０１１７】
なお、本発明は上述した実施形態には限定されない。
また、上述した図１に示す３次元コンピュータグラフィックスシステム１０では、ＳＲＡＭ１４８を用いる構成を例示したが、ＳＲＡＭ１４８を設けない構成にしてもよい。
【０１１８】
さらに、図１に示す３次元コンピュータグラフィックスシステム１０では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ１１で行う場合を例示したが、レンダリング回路１４で行う構成にしてもよい。
【０１１９】
以上説明したように、本発明の実施の形態によれば、グラフィックスにおいては最も頻繁に行われるピクセル処理の性能が、飛躍的に向上し、記憶モジュールと描画モジュールとの平均配線長および最大配線長を短くできる。このため、チップ面積も小さく、配線面積が小さいことでドライブする配線容量が軽くなり、動作速度のみならず、消費電力においても改善が見られる画像処理装置が実現可能である。
【０１２０】
また、本発明の実施の形態によれば、半導体チップ内部にロジック回路と混載された記憶回路に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵記憶回路の有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
【図面の簡単な説明】
【０１２１】
【図１】本発明に係る実施の形態としての３次元コンピュータグラフィックスシステムの構成を示すブロック図である。
【図２】本発明に係る実施の形態としてのＤＤＡセットアップ回路の機能を説明するための図である。
【図３】本発明に係る実施の形態としてのトライアングルＤＤＡ回路の機能を説明するための図である。
【図４】本発明に係る実施の形態としてのトライアングルＤＤＡ回路の頂点のソート処理を説明するための図である。
【図５】本発明に係る実施の形態としてのトライアングルＤＤＡ回路の水平方向の傾き算出処理を説明するための図である。
【図６】本発明に係る実施の形態としてのトライアングルＤＤＡ回路の頂点データの補間手順を説明するための図である。
【図７】本発明に係る実施の形態としてのトライアングルＤＤＡ回路の頂点データの補間手順を説明するためのフローチャートである。
【図８】本発明に係る実施の形態としてのデータ格納方法を説明するための図である。
【図９】本発明に係る実施の形態としての同一半導体チップ内に混載されるレンダリング回路のロジック回路とＤＲＡＭおよび２次メモリとの好適な構成、配置および配線方法を説明するための図である。
【図１０】本発明に係る実施の形態としてのＤＲＡＭモジュールの構成例を説明するするための図である。
【図１１】３次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
【図１２】半導体チップに大容量ＤＲＡＭとロジック回路を混載した場合の一般的な配置構成を説明するための図である。
【図１３】マイクロプロセッサとメモリとを１チップ化した構成例を説明するための図である。
【符号の説明】
【０１２２】
１０…３次元コンピュータグラフィックスシステム、１１…メインプロセッサ、１２…メインメモリ、１３…Ｉ／Ｏインタフェース回路、１４…レンダリング回路、１４１…ＤＤＡセットアップ回路、１４２…トライアングルＤＤＡ回路、１４３…テクスチャエンジン回路、１４４…メモリＩ／Ｆ回路、１４５…ＣＲＴコントローラ回路、１４６…ＲＡＭＤＡＣ回路、１４７…ＤＲＡＭ、１４７１〜１４７４…ＤＲＡＭモジュール、１４７ａ…テクスチャバッファ、１４７ｂ…ディスプレイバッファ、１４７ｃ…ｚバッファ、１４７ｄ…テクスチャＣＬＵＴバッファ、１４８…ＳＲＡＭ、１４４１〜１４４４…メモリコントローラ、１４４５…ディストリビュータ、１４４６〜１４４９…ピクセル処理モジュール、１４５０…ＤＲＡＭ間制御モジュール、１４７１〜１４７４…ＤＲＡＭモジュール、１４８０…ＤＲＡＭコア、１４８１…ロウデコーダ、１４８２…センスアンプ、１４８３…カラムデコーダ、１４８４…２次メモリ。
【図１】
2008181559.tif 000003
【図２】
2008181559.tif 000004
【図３】
2008181559.tif 000005
【図４】
2008181559.tif 000006
【図５】
2008181559.tif 000007
【図６】
2008181559.tif 000008
【図７】
2008181559.tif 000009
【図８】
2008181559.tif 000010
【図９】
2008181559.tif 000011
【図１０】
2008181559.tif 000012
【図１１】
2008181559.tif 000013
【図１２】
2008181559.tif 000014
【図１３】
2008181559.tif 000015