JP4670887B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP4670887B2
JP4670887B2 JP2008093129A JP2008093129A JP4670887B2 JP 4670887 B2 JP4670887 B2 JP 4670887B2 JP 2008093129 A JP2008093129 A JP 2008093129A JP 2008093129 A JP2008093129 A JP 2008093129A JP 4670887 B2 JP4670887 B2 JP 4670887B2
Authority
JP
Japan
Prior art keywords
data
modules
circuit
memory
pixel processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2008093129A
Other languages
English (en)
Other versions
JP2008181559A (ja
Inventor
睦弘 大森
雄 加藤
勝也 北
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008093129A priority Critical patent/JP4670887B2/ja
Publication of JP2008181559A publication Critical patent/JP2008181559A/ja
Application granted granted Critical
Publication of JP4670887B2 publication Critical patent/JP4670887B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Generation (AREA)
  • Dram (AREA)

Description

本発明は、グラフィックス描画画像処理装置に関し、特にDRAM等のメモリとロジック回路を混載させた場合における、内蔵メモリの配置と配線の技術分野に関する。
種々のCAD(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、3次元コンピュータグラフィックスを用いたシステムが急速に普及している(たとえば、特許文献1を参照)。
このような3次元コンピュータグラフィックスでは、各画素(ピクセル)に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ(フレームバッファ)のアドレスに書き込むレンダリング(Rendering) 処理を行う。
レンダリング処理の手法の一つに、ポリゴン(Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形(ポリゴン)の組み合わせとして表現しておき、このポリゴンを単位として描画を行うことで、表示画面の色を決定する。
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標(x,y,z)と、色データ(R,G,B)と、張り合わせのイメージパターンを示すテクスチャデータの同次座標(s,t)および同次項qの値とを入力とし、これらの値を三角形の内部で補間する処理が行われる。
ここで、同次項qは、実際のテクスチャバッファのUV座標系における座標、すなわち、テクスチャ座標データ(u,v)は、同次座標(s,t)を同次項qで除算した「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じたものとなる。
図11は、3次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。
この3次元コンピュータグラフィックスシステムにおいては、グラフィックス描画等のデータは、メインプロセッサ1のメインメモリ2、あるいは外部からのグラフィックスデータを受けるI/Oインタフェース回路3からメインバス4を介してレンダリングプロセッサ5a、フレームバッファメモリ5bを有するレンダリング回路5に与えられる。
レンダリングプロセッサ5aには、表示するためのデータを保持することを目的とするフレームバッファ5bと、描画する図形要素(たとえば三角形)の表面に張り付けるテクスチャデータを保持しているテクスチャメモリ6が結合されている。
そして、レンダリングプロセッサ5aによって、図形要素毎に表面にテクスチャを張り付けた図形要素を、フレームバッファ5bに描画するという処理が行われる。
フレームバッファ5bとテクスチャメモリ6は、一般的にDRAM(Dynamic Random Access Memory)により構成される。
そして、図9のシステムにおいては、フレームバッファ5bとテクスチャメモリ6は、物理的に別々のメモリシステムとして構成されている。
また、近年、DRAMとロジック回路を混載させることができるようになっているが、グラフィックス描画画像処理装置に関し、図12に示すように、従来外部メモリを使っていた構造そのままで、DRAM等の大容量メモリ7aを、描画用ロジック回路7bとを同一の半導体チップ7に内蔵しようとしているものがある。
この場合、単純に以前からのグラフィックス描画画像処理用ロジック回路の横に、汎用DRAMと同等の制御機構を持つDRAMコアを配置し、単一のパスで両者を接続するという配線となっている。
グラフィックス描画画像処理装置に関しては、上記のような形式の物があるのみである。
以下に、グラフィックス描画画像処理装置とは異なる技術分野となるが、マイクロプロセッサの技術分野での動向を示す。
従来から、マイクロプロセッサとメモリの1チップ化提案され、その中でのメモリの配置についても提案されている。
たとえば、図3において、PPRAM(ISSCC97/SESSION14/Parallel Processing RAM)においては、図13に示すように、メインメモリであるDRAM8a−1〜8a−4とマイクロプロセッサ(P)8b−1〜8b−4を同一の半導体チップ8に内蔵している。
なお、図13において、8c−1〜8c−4はDRAM8a−1〜8a−4用のメモリコントローラ(Mem CTL)、8d−1〜8d−4はキャッシュ(Cashe)をそれぞれ示している。
この半導体チップ8では、メインメモリとしてのDRAM8a−1〜8a−4は、マイクロプロセッサ8b−1〜8b−4に対して、一方向にのみ配置されている。
また、図13には、複数のマイクロプロセッサ8b−1〜8b−4がキャッシュ8d−1〜8d−4を介して、単一のDRAMにアクセスする構成が示されている。
特開平10−65124号公報
ところで、上記における従来のいわゆる内蔵DRAMシステムにおいて、フレームバッファメモリとテクスチャメモリが別々のメモリシステムに別れている場合においては、表示の解像度の変化によって空きとなったフレームバッファをテクスチャ用に利用できない、あるいはフレームバッファメモリとテクスチャメモリを物理的に同一にすると、フレームバッファメモリとテクスチャーメモリの同時アクセスにおいて、DRAMのペ−ジ切り替え等のオーバーヘッドが大きくなり、性能を犠牲にしなければならなくなる等の不利益がある。
また、グラフィックス描画画像処理用ロジック回路の横に、汎用DRAMと同等の制御機構を持つDRAMコアを配置し、単一のパスで両者を接続するという配線の方法では、せっかくDRAMを内蔵したにもかかわらず、アクセスのためのバンド幅はまったく改善されないまま、システムの性能のボルトネックとなっている。
さらに、図13に図解した、メインメモリ内蔵型のマイクロプロセッサにおいては、以下のような不利益がある。
すなわち、この半導体チップ8は、同じ機能構成の物を4つ並べ、メモリコントローラを介してデータ転送を行うというものであり、その転送のバンド幅はメモリコントローラのパス幅と動作速度により決まり、その最も速いものは、チップを横断することになり、動作速度はその最も長いパスによってきまり、動作速度向上は困難になる。当然長いパスはレイアウトでの面積も大きくなる。
また、マイクロプロセッサのスピードは、18ヶ月毎に倍、メモリの容量もほぼ18ヶ月毎に倍で増加しているのがいままでのトレンドとなっている。
そのような状況にもかかわらず、アクセスタイムに関しては、年間で7%程度の増加である。今後は、このアクセスタイムをいかに速くするかが、システムの性能を向上させる鍵となってきている。
上述した従来の方法では、チップのサイズが大きくなればなるほど、クリティカルなパスが長くなり、動作速度の足かせとなってしまう。
そのため、相変わらずDRAM間でのアクセスタイムは向上できないままであることから、DRAMを内蔵したことでのメリットはあまり見えてこない。
本発明は、かかる事情に鑑みてなされたものであり、本発明は、ロジック回路と混載される記憶回路を有効に利用することが可能で、性能の低下を招くことなく、しかも高速処理動作、並びに低消費電力化を図ることができる画像処理装置を提供することにある。
本発明によれば、単位図形の頂点について、3次元座標(x,y,z)、R(赤),G(緑),B(青)データ、テクスチャの同次座標(s,t)および同次項qを含むポリゴンレンダリングデータを受けてレンダリング処理を行うため、
複数に分割され、各々が、図形要素が必要とするテクスチャデータを記憶する、メモリコアと、増幅回路と、デコーダと、上記増幅回路およびデコーダを介して上記メモリコアに接続され上記増幅回路およびデコーダを介して上記メモリコアに記憶されているデータを記憶可能な2次メモリとを有する、複数の記憶モジュールと、上記記憶モジュール毎に対応して分割された複数のピクセル処理モジュールを有するロジック回路と、上記複数に分割された全ての記憶モジュールに均等に接続されて上記複数の記憶モジュールの動作を制御する制御ブロックとを有し、
上記制御ブロックが上記複数に分割され分散されて配設されている上記複数の記憶モジュールで囲まれた中心付近に配置されており、
上記ロジック回路の各ピクセル処理モジュールが、
上記単位図形の頂点のポリゴンレンダリングデータを補間して、上記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、
上記補間データ生成回路において生成した前記補間データに含まれるテクスチャの同次座標(s,t)を同次項qで除算して「s/q」および「t/q」を生成し、上記「s/q」および「t/q」に応じたテクスチャアドレスを用いて、上記対応する記憶モジュール内の上記2次メモリを介して上記2次メモリに対応するメモリコアから上記テクスチャデータを読み出し、表示データの図形要素の表面への上記テクスチャデータの張り付け処理を行うテクスチャ処理回路と、
を少なくとも備え、
上記複数の記憶モジュールおよび上記複数のピクセル処理モジュールを有する上記ロジック回路が一つの半導体チップ内に混載されており、
上記複数に分割された複数の記憶モジュールは上記半導体チップの周縁に分散して配設されており、
上記複数に分割されたピクセル処理モジュールは分散して配設されており、
上記半導体チップの周縁に分散して配設されている上記複数の記憶モジュールは、上記分散して配設されている複数のピクセル処理モジュールを囲むように上記複数のピクセル処理モジュールの周縁に隣接して配置され、かつ、上記各記憶モジュールの入出力端子が上記対応する各ピクセル処理モジュールと対向する内側の縁部に配置されており、
上記対応する各記憶モジュールと各ピクセル処理モジュールとが、近接配置されており、
記2次メモリが上記記憶モジュール内で上記対応するピクセル処理モジュールに接近した位置に配置されており、
上記各記憶モジュールの長辺方向が前記メモリコアのカラム方向になるように配置されている、
画像処理装置が提供される。
また本発明によれば、複数に分割された記憶モジュールであって、各々が、メモリコアと、増幅回路と、デコーダと、上記増幅回路およびデコーダを介して上記メモリコアに接続され上記増幅回路およびデコーダを介して上記メモリコアに記憶されているデータを記憶可能な2次メモリとを有し、各メモリコアが異なる、少なくとも、赤、緑、青(R,G,B)カラーと深さ(z)データを含むピクセルの画像データを記憶する、複数の記憶モジュールと、上記各記憶モジュール毎に対応して分割された複数のピクセル処理モジュールを有するロジック回路と、上記複数に分割された全ての記憶モジュールに均等に接続されて上記複数の記憶モジュールの動作を制御する制御ブロックとを有し、
上記制御ブロックが上記複数に分割され分散されて配設されている上記複数の記憶モジュールで囲まれた中心付近に配置されており、
上記ロジック回路の各ピクセル処理モジュールが、各ピクセル処理モジュールが対応する各記憶モジュールに対して、上記R,G,Bカラーのリード/モディファイ/ライト処理を行うためピクセルの画像データの読み出しと書き戻し、および、上記深さデータの読み出しと該読みだした深さデータを比較してその結果を書き戻すピクセルの画像処理の全てを行う、回路であり、
上記複数の記憶モジュールおよび上記複数のピクセル処理モジュールを有する上記ロジック回路が一つの半導体チップ内に混載されており、
上記複数に分割された複数の記憶モジュールは上記半導体チップの周縁に分散して配設されており、
上記複数に分割されたピクセル処理モジュールは分散して配設されており、
上記半導体チップの周縁に分散して配設されている上記複数の記憶モジュールは、上記分散して配設されている複数のピクセル処理モジュールを囲むように上記複数のピクセル処理モジュールの周縁に隣接して配置され、かつ、上記各記憶モジュールの入出力端子が上記対応する各ピクセル処理モジュールと対向する内側の縁部に配置されており、
上記対応する各記憶モジュールと各ピクセル処理モジュールとが、近接配置されており、
記2次メモリが上記記憶モジュール内で上記対応するピクセル処理モジュールに接近した位置に配置されており、
上記各記憶モジュールの長辺方向が前記メモリコアのカラム方向になるように配置されている、
画像処理装置が提供される。
好ましくは、上記各ピクセル処理モジュールは、その内部で少なくとも1段以上のパイプライン処理を行う。
また好ましくは、上記複数のピクセル処理モジュールは、それらが同一の機能のモジュールであっても、対応する記憶回路とのデータのやり取りを行うパスの引き出しのための端子位置を、その記憶回路からの上記パスを使用するピクセル処理モジュールへ、上記パスが最適に配線できるように、その引き出しの端子位置に変化が与えられている。
好ましくは、上記複数のピクセル処理モジュールは、それらが同一の機能のモジュールであっても、対応する記憶モジュールとのデータのやり取りを行うパスの引き出しのための端子位置を、その記憶モジュールからの上記信号経路を使用するピクセル処理モジュールへ、上記信号経路上記半導体チップにおいて最適に配線できるように、その引き出しの端子位置に変化が与えられている。
本発明によれば、各々、メモリコアと増幅回路とデコーダと2次メモリコアとを有する複数の記憶モジュールが独立して設けられる。これにより、同時にアクセスしなければならない場合に比較して、一回のアクセスでのビット線に占める有効データの割合が増加する。
そして、それらの複数に分割された記憶モジュールが、グラフィックス描画処理等を行うロジック回路部分の周辺部に配置される。
これにより、それぞれの記憶モジュールからロジック回路の部分までの距離が均一になり、固めて一方向に並べる場合に比較して、最も長くなるパス配線(信号経路)の長さが短くなる。そのため、全体での動作速度が向上する。
また、各記憶モジュール毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックが、近接配置される。
これにより、グラフィックス描画において非常に回数多く行われる、リード(Read)/モディファイ(Modify)/ライト(Write)処理が非常に短い配線経路を介して可能となる。このため、動作速度が飛躍的に向上する。
また、記憶モジュール内において、2次メモリが、増幅回路とデコーダとを介してメモリコアに接続されている。
これにより、メモリコアから2次メモリへのデータ転送を非常に幅の広いパスで行っても、いわゆるクロストーク(Cross Talk)の影響も少なく、当然配線長も短いため、動作速度が向上する。また、配線が占める面積も小さくなる。
また、グラフィックス描画におけるピクセル処理を制御する機能ブロックにおいて、その内部に少なくとも1段以上の、パイプライン制御が行われることで、その他の描画処理を行う中央に配置されるブロックまでの距離が、平均的に長くなったとしても、データを処理するスループットに影響を与えなくできるため、処理速度が向上する。
また、グラフィックス描画処理等を行うロジック回路部分を囲むように、その周辺部に配置された各記憶モジュールにおける入出力端子が、ロジック回路部分に向かう内側の辺に並べられる。
これにより、配線領域が整然と並び、平均配線長が短くなる。
また、グラフィックス描画を制御する複数の機能ブロックにおいて、それらが同一の機能のモジュールであっても、パスの引き出しのための端子位置を、その機能モジュールからのパス(信号経路)を使用する機能ブロックへ、配線のパスが最適に配線できるように、その引き出しの端子位置に変化が与えられる。
これにより、たとえ機能は同じであっても、その配置された場所での最適な位置にブロックの端子位置を置くことが可能になり、平均配線長が短くなる。
また、複数の全ての記憶モジュールに均等に接続されているブロックで、配線数の最も多いものが複数の記憶モジュールで囲まれた中心付近に配置される。
これにより、配線による面積が小さくない、かつ、最長配線長が短くなる。このため、動作速度の向上も同時に可能となる。
また、記憶モジュール毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックと、記憶モジュール内の2次メモリがメモリコアに接近して配置される場合、その長辺方向が、メモリコアのカラム方向になるように配置される。
これにより、2次メモリの長辺方向がメモリコアのロウ方向に配置する場合に比較して、ロウアドレス指定のみで、そのロウアドレスに対応している1ロウ分のデータを、一度に2次メモリにロードできビット数が格段に増加する。
また、ピクセル処理ブロックと記憶モジュール内の2次メモリが、それぞれ互いに記憶モジュールの長辺側の同一側に接近して配置される。
これにより、ピクセル処理ブロックと2次メモリへのデータは、同一のセンスアンプを使うことができる。このため、記憶モジュール内のメモリコアの面積増加を最小限に抑えてポート化することが可能となる。
以下、本発明の実施形態においては、パーソナルコンピュータなどに適用される、任意の3次元物体モデルに対する所望の3次元画像をCRT(Cathode Ray Tube)などのディスプレイ上に高速に表示する3次元コンピュータグラフィックスシステムについて説明する。
図1は、本発明に係る画像処理装置としての3次元コンピュータグラフィックスシステム10のシステム構成図である。
3次元コンピュータグラフィックスシステム10は、立体モデルを単位図形である三角形(ポリゴン)の組み合わせとして表現し、このポリゴンを描画することで表示画面の各ピクセルの色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、3次元コンピュータグラフィックスシステム10では、平面上の位置を表現する(x,y)座標の他に、奥行きを表すz座標を用いて3次元物体を表し、この(x,y,z)の3つの座標で3次元空間の任意の一点を特定する。
図1に示すように、3次元コンピュータグラフィックスシステム10は、メインプロセッサ11、メインメモリ12、I/Oインタフェース回路13、およびレンダリング回路14が、メインバス15を介して接続されている。
以下、各構成要素の機能について説明する。
メインプロセッサ11は、たとえば、アプリケーションの進行状況などに応じて、メインメモリ12から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理などのジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ11は、ポリゴンレンダリングデータS11を、メインバス15を介してレンダリング回路14に出力する。
I/Oインタフェース回路13は、必要に応じて、外部から動きの制御情報またはポリゴンレンダリングデータ等を入力し、これをメインバス15を介してレンダリング回路14に出力する。
ここで、ポリゴンレンダリングデータは、ポリゴンの各3頂点の(x,y,z,R,G,B,s,t,q)のデータを含んでいる。
ここで、(x,y,z)データは、ポリンゴの頂点の3次元座標を示し、(R,G,B)データは、それぞれ当該3次元座標における赤、緑、青の輝度値を示している。
(s,t,q)データのうち、(s,t)は、対応するテクスチャの同次座標を示しており、qは同次項を示している。ここで、「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じてテクスチャ座標データ(u,v)が得られる。テクスチャバッファ147aに記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ(u,v)を用いて行われる。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャデータである。
以下、レンダリング回路14について詳細に説明する。
図1に示すように、レンダリング回路14は、DDA(Digital Differential
Analyzer) セットアップ回路141、トライアングルDDA回路142、テクスチャエンジン回路143、メモリインタフェース(I/F)回路144、CRTコントロール回路145、RAMDAC回路146、DRAM147およびSRAM(Static RAM)148を有する。
本実施形態におけるレンダリング回路14は、一つの半導体チップ内にロジック回路と少なくとも表示データとテクスチャデータとを記憶するDRAM147とが混載されている。
DRAM147
DRAM147は、テクスチャバッファ147a、ディスプレイバッファ147b、zバッファ147cおよびテクスチャCLUT(Color Look Up Table) バッファ147dとして機能する。
また、DRAM147は、後述するように、同一機能を有する複数(本実施形態では4個)のモジュールに分割されている。
また、DRAM147には、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値が、テクスチャCLUTバッファ147dに格納されている。
インデックスおよびカラ−ルックアップテ−ブル値は、テクスチャ処理に使われる。すなわち、通常はR,G,Bそれぞれ8ビットの合計24ビットでテクスチャ要素を表現するが、それではデ−タ量が膨らむため、あらかじめ選んでおいた、たとえば256色等の中から一つの色を選んで、そのデ−タをテクスチャ処理に使う。このことで256色であればそれぞれのテクスチャ要素は8ビットで表現できることになる。インデックスから実際のカラ−への変換テ−ブルは必要になるが、テクスチャの解像度が高くなるほど、よりコンパクトなテクスチャデ−タとすることが可能となる。
これにより、テクスチャデ−タの圧縮が可能となり、内蔵DRAMの効率良い利用が可能となる。
さらにDRAM147には、描画と同時並行的に隠れ面処理を行うため、描画しようとしている物体の奥行き情報が格納されている。
なお、表示データと奥行きデータおよびテクスチャデータの格納方法としては、メモリブロックの先頭から連続して表示データが格納され、次に奥行きデータが格納され、残りの空いた領域に、テクスチャの種類毎に連続したアドレス空間でテクスチャデータが格納される。これにより、テクスチャデータを効率よく格納できることになる。
DDAセットアップ回路141
DDAセットアップ回路141は、後段のトライアングルDDA回路142において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各ピクセル(画素)の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータS11が示す(z,R,G,B,s,t,q)データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
DDAセットアップ回路141は、算出した変分データS141をトライアングルDDA回路142に出力する。
DDAセットアップ回路141の機能について図2に関連付けてさらに説明する。
上述したように、DDAセットアップ回路141の主な処理は、前段のジオメトリ処理を経て物理座標にまで落ちてきた各頂点における各種情報(色、テクスチャ座標)の与えられた三頂点により構成される三角形内部で変分を求めて、後段の線形補間処理の基礎デ−タを算出することである。
なお、三角形の各頂点データは、たとえばx,y座標が16ビット、z座標が24ビット、RGBカラー値が各12ビット(=8+4)、s,t,qテクスチャ座標は各32ビット浮動少数値(IEEEフォーマット)で構成される。
三角形の描画は水平ラインの描画に集約されるが、そのために水平ラインの描画開始点における最初の値を求める必要がある。
この水平ラインの描画においては、一つの三角形の中でその描画方向は一定にする。たとえば左から右へ描画する場合は、左側の辺におけるY方向変位に対するXおよび上記各種の変分を算出しておいて、それを用いて頂点から次の水平ラインに移った場合の最も左の点のx座標と、上記各種情報の値を求める(辺上の点はY,X両方向に変化するのでY方向の傾きのみでは計算できない。)。
右側の辺に関しては終点の位置が分かればよいので、Y方向変位に対するxの変分のみを調べておけばよい。
水平ラインの描画に関しては、水平方向の傾きは同一三角形内では均一なので、上記各種情報の傾きを算出しておく。
与えられた三角形をY方向にソートして最上位の点をAとする。次に残りの2頂点のX方向の位置を比較して右側の点をBとする。こうすることで、処理の場合分け等が2通り程度にできる。
トライアングルDDA回路142
トライアングルDDA回路142は、DDAセットアップ回路141から入力した変分データS141を用いて、三角形内部の各ピクセルにおける線形補間された(z,R,G,B,s,t,q)データを算出する。
トライアングルDDA回路11は、各ピクセルの(x,y)データと、当該(x,y)座標における(z,R,G,B,s,t,q)データとを、DDAデータ(補間データ)S142としてテクスチャエンジン回路143に出力する。
たとえば、トライアングルDDA回路142は、並行して処理を行う矩形内に位置する8(=2×4)ピクセル(画素)分のDDAデータS142をテクスチャエンジン回路143に出力する。
トライアングルDDA回路142の機能について図3に関連付けてさらに説明する。
上述したように、DDAセットアップ回路141により、三角形の各辺と水平方向における先出の各種情報の傾き情報が準備され、この情報を受けたトライアングルDDA回路142の基本的処理は、三角形の辺上の各種情報の補間処理による水平ラインの初期値の算出と、水平ライン上での各種情報の補間処理である。
ここで最も注意しなければならないことは、補間結果の算出は、ピクセル中心における値を算出する必要があるということである。
その理由は、算出する値がピクセル中心からはずれたところを求めていては、静止画の場合はさほど気にならないが、動画にした場合には、画像の揺らぎが目立つようになるからである。
最初の水平ライン(当然ピクセル中心を結んだライン)の一番左側における各種情報は、辺上の傾きに頂点からその最初の水平ラインまでの距離をかけてやることで求めることができる。
次のラインにおける開始位置での各種情報は、辺上の傾きを足してゆくことで算出できる。
水平ラインにおける最初のピクセルでの値は、ラインの開始位置における値に、最初のピクセルまでの距離と水平方向の傾きをかけた値を足すことで算出できる。水平ラインにおける次のピクセルにおける値は、最初のピクセルの値に対してつぎつぎに水平方向の傾きを足し込んでゆけば算出できる。
次に、頂点のソートについて図4に関連付けて説明する。
頂点をあらかじめソートしておくことで、以降の処理の場合分けを最大限に減らし、かつ、補間処理においてもできるだけ一つの三角形の内部においては、矛盾が生じにくくすることができる。
ソートのやり方としては、まずすべての与えられた頂点をY方向にソートして、最上位の点と最下位の点を決めそれぞれA点、C点とする。残りの点はB点とする。
このようにすることで、Y方向に最も長く伸びた辺が辺ACとなり、最初に辺ACと辺ABを用いてその二つの辺で挟まれた領域の補間処理を行い、次に辺ACはそのままで、辺ABに変えて辺BCと辺ACで挟まれた領域の補間を行うという処理になる。また、Y方向のピクセル座標格子上への補正に関しても、辺ACと辺BCについて行っておけばよいことも分かる。
このようにして、ソート後の処理に場合分けが不必要になることで、データを単純に流すだけの処理で可能となりバグも発生しにくくなるし、構造もシンプルになる。
また、一つの三角形の中で補間処理の方向が辺BC上を開始点として一定にできるため、水平方向の補間(Span)の方向が一定となり、演算誤差があったとしても辺BCから他の辺に向かって誤差が蓄積されるかたちとなり、その蓄積の方向が一定となるため、隣接する辺同士での誤差は目立たなくなる。
次に、水平方向の傾き算出について図5に関連付けて説明する。
三角形内における各種変数(x,z,R,G,B,s,t,q)の(x,y)に対する傾き(変数分)は、線形補間であることから一定となる。
したがって、水平方向の傾き、すなわち、各水平ライン(Span)上での傾きはどのSpanにおいても、一定となるので、各Spanの処理に先立ってその傾きを求めておくことになる。
三角形の与えられた頂点をY方向にソートした結果、辺ACが最も長く伸びた辺と再定義されているので、頂点Bを水平方向に伸ばしたラインと辺ACの交点が必ず存在するのでその点をDとする。
後は単純に点Bと点Dの間の変分を求めるようなことを行えば、水平方向すなわちx方向の傾きを求めることができる。
具体的には、D点でのxおよびz座標は次式のようになる。
(数1)
={(y−y)/(y−y)}・(x−x
={(y−y)/(y−y)}・(z−z
これに基づいて、変数zのx方向の傾きを求めると、次のようになる。
(数2)
Δz/Δx=(z−z)/(x−x
=〔{(y−y)/(y−y)}・(z−z)−z
/〔{(y−y)/(y−y)}・(x−x)−x
={z(y−y)−(z−z)(y−y)}
/{x(y−y)−(z−z)(y−y)}
次に、頂点データの補間手順の一例について、図6および図7に関連付けて説明する。
頂点のソート、水平方向の傾き算出、各辺上での傾きの算出処理を経て、それらの結果を使って補間処理を行う。
B点の位置によって、Spanでの処理の向きは2通りに別れる。これは、一つの三角形の内部での補間における各Span同士での誤差の蓄積方向を、一定にすることで、できるだけ不具合が発生しないようにするために、Y方向に最も長く伸びた辺を常に始点として、処理するようにしようとしているからである。
B点がA点と同じ高さにあった場合には、前半の処理はスキップされることになる。よって、場合分けというよりは、スキップが可能な機構を設けておくだけで処理としてはすっきりしたものとできる。
複数のSpanを同時処理することで、処理能力をあげようとした場合には、Y方向における傾きを求めたくなるが、頂点のソートからやり直す必要があることになる。しかしながら、補間処理の前処理だけでことが済むために、全体としての処理系は簡単にできる。
具体的には、B点がA点と同じ高さでない場合には、AC,ABのY方向補正(画素(ピクセル)格子上の値算出)を行い(ST1,ST2)、AC辺上の補間およびAB辺上の補間を行う(ST3)。
そして、AC水平方向の補正およびAC辺からAB辺方向の水平ライン(Span)上を補間する(ST4)。
以上のステップST3,ST4の処理をAB辺の端点まで行う(ST5)。
AB辺の端点までステップST2〜ST4の処理が終了した場合、あるいはステップST1においてB点がA点が同じ高さであると判別した場合には、BCのY方向補正(画素格子上の値算出)を行い(ST6)、AC辺上の補間およびBC辺上の補間を行う(ST7)。
そして、AC水平方向の補正およびAC辺からBC辺方向の水平ライン(Span)上を補間する(ST8)。
以上のステップST7,ST8の処理をBC辺の端点まで行う(ST9)。
テクスチャエンジン回路143
テクスチャエンジン回路143は、「s/q」および「t/q」の算出処理、テクスチャ座標データ(u,v)の算出処理、テクスチャバッファ147aからの(R,G,B)データの読み出し処理等を順にパイプライン方式で行う。
なお、テクスチャエンジン回路143は、たとえば所定の矩形内に位置する8ピクセルについての処理を同時に並行して行う。
テクスチャエンジン回路143は、DDAデータS142が示す(s,t,q)データについて、sデータをqデータで除算する演算と、tデータをqデータで除算する演算とを行う。
テクスチャエンジン回路143には、たとえば図示しない除算回路が8個設けられており、8ピクセルについての除算「s/q」および「t/q」が同時に行われる。
また、テクスチャエンジン回路143は、除算結果である「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じて、テクスチャ座標データ(u,v)を生成する。
また、テクスチャエンジン回路143は、メモリI/F回路144を介して、SRAM148あるいはDRAM147に、生成したテクスチャ座標データ(u,v)を含む読み出し要求を出力し、メモリI/F回路144を介して、SRAM148あるいはテクスチャバッファ147aに記憶されているテクスチャデータを読み出すことで、(s,t)データに対応したテクスチャアドレスに記憶された(R,G,B)データS148を得る。
ここで、SRAM148には、テクスチャバッファ147aに格納されているテクスチャデータが記憶される。
テクスチャエンジン回路143は、読み出した(R,G,B)データS148の(R,G,B)データと、前段のトライアングルDDA回路142からのDDAデータS142に含まれる(R,G,B)データとを、それぞれかけあわせるなどして、ピクセルデータS143を生成する。
テクスチャエンジン回路143は、このピクセルデータS143をメモリI/F回路144に出力する。
なお、テクスチャバッファ147aには、MIPMAP(複数解像度テクスチャ)などの複数の縮小率に対応したテクスチャデータが記憶されている。ここで、何れの縮小率のテクスチャデータを用いるかは、所定のアルゴリズムを用いて、前記三角形単位で決定される。
テクスチャエンジン回路143は、フルカラー方式の場合には、テクスチャバッファ147aから読み出した(R,G,B)データを直接用いる。
一方、テクスチャエンジン回路143は、インデックスカラー方式の場合には、あらかじめ作成したカラールックアップテーブル(CLUT)をテクスチャCLUTバッファ147dから読み出して、内蔵するSRAMに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ147aから読み出したカラーインデックスに対応する(R,G,B)データを得る。
メモリI/F回路144
メモリI/F回路144は、テクスチャエンジン回路143から入力したピクセルデータS143に対応するzデータと、zバッファ147cに記憶されているzデータとの比較を行い、入力したピクセルデータS143によって描画される画像が、前回、ディスプレイバッファ147bに書き込まれた画像より、手前(視点側)に位置するか否かを判断し、手前に位置する場合には、画像データS143に対応するzデータでzバッファ147cに記憶されたzデータを更新する。
また、メモリI/F回路144は、(R,G,B)データをディスプレイバッファ147bに書き込む(打ち込む)。
なお、メモリI/F回路144によるDRAM147に対してのアクセスは、16ピクセルについて同時に行われる。
本実施形態においては、DRAM147は、たとえば図8に示すように、4つのDRAMモジュール1471〜1474に分割されており、メモリI/F回路144には、各DRAMモジュール1471〜1474に対応したメモリコントローラ1441〜1444、並びにこれらメモリコントローラ1441にデータを分配するディストリビュータ1445が設けられている。
そして、メモリI/F回路144は、各DRAMモジュール1471〜1474に対して、図8に示すように、ピクセルデータを、表示領域において隣接した部分は、異なるDRAMモジュールとなるように配置する。
これにより、三角形のような平面を描画する場合には面で同時に処理できることになるため、それぞれのDRAMモジュールの動作確率は非常に高くなっている。
CRTコントロール回路145
CRTコントロール回路145は、与えられた水平および垂直同期信号に同期して、図示しないCRTに表示するアドレスを発生し、ディスプレイバッファ147bから表示データを読み出す要求をメモリI/F回路144に出力する。この要求に応じて、メモリI/F回路144は、ディスプレイバッファ147bから一定の固まりで表示データを読み出す。CRTコントローラ回路145は、ディスプレイバッファ147bから読み出した表示データを記憶するFIFO(First In First Out)回路を内蔵し、一定の時間間隔で、RAMDAC回路146に、RGBのインデックス値を出力する。
RAMDAC回路146
RAMDAC回路146は、各インデックス値に対応するR,G,Bデータを記憶しており、CRTコントローラ回路145から入力したRGBのインデックス値に対応するデジタル形式のR,G,Bデータを、図示しないD/Aコンバータ(Digital/Analog Converter)に転送し、アナログ形式のR,G,Bデータを生成する。RAMDAC回路146は、この生成されたR,G,Bデータを図示しないCRTに出力する。
次に、本発明の実施形態に係る同一半導体チップ内に混載されるレンダリング回路14のロジック回路とDRAM147およびSRAM148等からなる2次メモリとの好適な構成、配置および配線方法について、図9および図10に関連付けて説明する。
前述した描画処理においては、最終的にはピクセルの一つ一つのアクセスにまで集約されてくることになる。したがって、ピクセル一つ一つの処理が同時並行処理されることにより、描画性能は並行処理の数だけ増加できることが理想である。
そのために、本3次元コンピュータグラフィックスシステムにおけるメモリシステムを構成するメモリI/F回路144においても、同時に並行処理が行える構成がとられている。
グラフィック描画処理においては、前述したように、ピクセルに打ち込むところの処理回路は、記憶モジュールと頻繁にデータのやりとりを行う必要があることがわかる。
そのため、本実施形態では、図9に示すように、ピクセル処理を制御する機能ブロックであるピクセル処理モジュール1446,1447,1448,1449をメモリコントローラから物理的に分離し、かつ、これらピクセル処理モジュール1446,1447,1448,1449対応するDRAM(メモリ)モジュール1471,1472,1473,1474の近くに配置している。
ピクセル処理モジュール1446,1447,1448,1449は、(R,G,B)カラーのリード(Read)/モディファイ(Modify)/ライト(Write)処理および、隠面処理のための以前に描画している深さデータと、今から描画しようとしているデータの深さを比較して、その結果により書き戻したりする作業に関する処理を全て行う。
これら作業をすべてピクセル処理モジュール1446,1447,1448,1449で行うことで、DRAM(メモリ)モジュール1471,1472,1473,1474との配線長が短いモジュール内で、データのやりとりを完結することが可能となる。
そのため、DRAM(メモリ)モジュールとの配線数、すなわち、転送のビット数を多くとっても、面積に対する配線が占める割合を、少なく抑えることができることから、動作速度向上および、配線面積の縮小化が可能となっている。
ディストリビュータ等を含むDRAM間制御モジュール1450に関しては、描画処理としての、DDAセットアップ回路141のDDAセットアップ演算、トライアングルDDA回路142のトライアングルDDA演算、テクスチャエンジン回路143のテクスチャ貼り付け、並びに、CRTコントロール回路145による表示処理等に比較して、それぞれのDRAM(メモリ)モジュール(DRAM+ピクセル処理)との関連も強く、DRAM(メモリ)モジュール1471,1472,1473,1474との間の信号線が最も多くなるところである。
そのため、DRAM間制御モジュール1450は、それぞれのDRAM(メモリ)モジュール1471,1472,1473,1474の中心付近に配置して、最長配線長ができるだけ短くなるように考慮している。
また、ピクセル処理モジュール1446,1447,1448,1449とDRAM間制御モジュール1450との接続のための信号入出力端子については、図9に示すように、それぞれのピクセル処理モジュール1446,1447,1448,1449における入出力端子を同じにするのではなく、個々のピクセル処理モジュールと、DRAM間制御モジュール1450間が最適(最短)に配線されるように、個々のピクセル処理モジュールにおける信号の入出力端子位置を調整してある。
具体的には、ピクセル処理モジュール1446は、図9においてモジュール下縁部の右端側に入出力端子T1446aが形成されている。そして、この入出力端子T1446aがDRAM間制御モジュール1450の上縁部の左端側に形成された入出力端子T1450aと対向するように配置されて、両端子T1446aおよびT1450aが最短距離をもって接続されている。
そして、ピクセル処理モジュール1446には、図9において上縁部の中央部にDRAM(メモリ)モジュール1471との接続用入出力端子T1446bが形成されている。
ピクセル処理モジュール1447は、図9においてモジュール下縁部の左端側に入出力端子T1447aが形成されている。そして、この入出力端子T1447aがDRAM間制御モジュール1450の上縁部の右端側に形成された入出力端子T1450bと対向するように配置されて、両端子T1447aおよびT1450bが最短距離をもって接続されている。
そして、ピクセル処理モジュール1447には、図9において上縁部の中央部にDRAM(メモリ)モジュール1472との接続用入出力端子T1447bが形成されている。
ピクセル処理モジュール1448は、図9においてモジュール上縁部の右端側に入出力端子T1448aが形成されている。そして、この入出力端子T1448aがDRAM間制御モジュール1450の下縁部の左端側に形成された入出力端子T1450cと対向するように配置されて、両端子T1448aおよびT1450cが最短距離をもって接続されている。
そして、ピクセル処理モジュール1448には、図9において下縁部の中央部にDRAM(メモリ)モジュール1473との接続用入出力端子T1448bが形成されている。
ピクセル処理モジュール1449は、図9においてモジュール上縁部の左端側に入出力端子T1449aが形成されている。そして、この入出力端子T1449aがDRAM間制御モジュール1450の下縁部の右端側に形成された入出力端子T1450dと対向するように配置されて、両端子T1449aおよびT1450dが最短距離をもって接続されている。
そして、ピクセル処理モジュール1449には、図9において下縁部の中央部にDRAM(メモリ)モジュール1474との接続用入出力端子T1449bが形成されている。
なお、ピクセル処理モジュール1446,1447,1448,1449は、各DRAM(メモリ)モジュール1471,1472,1473,1474からDRAM間制御モジュール1450に至る経路を、上記のようにして最適な長さにしても、処理速度要求が満足できない処理に関しては、たとえばレジスタで分断した少なくとも1段のパイプライン処理をとり得、所望の処理速度を達成できるように構成されている。
また、本実施形態に係るDRAM(メモリ)モジュール1471〜1474は図10に示すように構成されている。なお、ここでは、DRAM(メモリ)モジュール1471を例に説明するが、他のDRAM(メモリ)モジュール1472〜1474も同様の構成を有することから、その説明は省略する。
DRAM(メモリ)モジュール1471は、図10に示すように、メモリセルがマトリクス状に配置され、ロウアドレスRA、カラムアドレスCAに基づいて選択される図示しないワード線およびビット線を通してアクセスされるDRAMコア1480(本発明のメモリコア)の、ロウデコーダ1481、センスアンプ1482、カラムデコーダ1483、および、SRAM等からなるいわゆるキャッシュメモリと同様の機能を備えた2次メモリ1484を有している。
本実施形態のように、DRAM(メモリ)モジュール毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックとしてのピクセル処理モジュール1446〜1449と、2次メモリ1484とがDRAM(メモリ)モジュール内のDRAMコアに近接配置されている。そして、この場合、DRAMコア1480のいわゆる長辺方向が、DRAMコア1480のカラム方向になるように配置されている。
図10の構成においてランダムな読み出し(リード)に関して見てみると、ピクセル処理モジュール1446から制御信号と必要なアドレス信号S1446が、アドレス制御パスからDRAM(メモリ)モジュール1471に供給され、それをもとに、ロウアドレスRAとカラムアドレスCAが生成され、所望のロウに相当するDRAMコア1480のデータがセンスアンプ1482を通して読み出される。
センスアンプ1480を通ったデータは所望のカラムアドレスCAに従って、カラムデコーダにて必要なカラムが集約され、ランダムアクセスポートから所望のロウ/カラムに対応した、DRAMコア1480のデータD1471がパスを介してピクセル処理モジュール1446に転送される。
2次メモリ1484にデータを書き込む場合は、ピクセル処理モジュール1446から制御信号と必要なアドレス信号S1446が、アドレス制御パスからDRAM(メモリ)モジュール1471に供給され、それをもとにロウアドレスのみが生成され、1ロウ分のデータが一気にDRAMコア1480からSRAM148等からなる2次メモリ1484に書き込まれる。
この場合、DRAMコア1480のいわゆる長辺方向が、DRAMコア1480のカラム方向になるように配置されていることから、ロウ方向に配置する場合に比較して、ロウアドレス指定のみで、そのロウアドレスに対応している1ロウ分のデータを、一度に2次メモリ1484にロードできるビット数が格段に増加する。
また、テクスチャ処理モジュールとしてのテクスチャエンジン回路143への2次メモリ(SRAM)1484からのデータD1484の読み込みは、テクスチャエンジン回路143から、制御信号と必要なアドレス信号が、アドレス制御パスからDRAMコア1480に供給され、それに対応したデータD1484がデータパスを介してテクスチャエンジン回路143へ転送される。
また、本実施形態においては、図10に示すように、ピクセル処理モジュールとDRAM(メモリ)モジュールの2次メモリとが、それぞれ互いにDRAMコア1480の長辺側の同一側に近接配置されている。
これにより、ピクセル処理モジュールとDRAM(メモリ)モジュール内の2次メモリへのデータは、同一のセンスアンプを使うことができるため、DRAMコア1480の面積増加を最小限に抑えて2ポート化することが可能となっている。
次に、図1の3次元コンピュータグラフィックスシステムの全体の動作を説明する。
3次元コンピュータグラフィックスシステム10においては、グラフィックス描画等のデータは、メインプロセッサ11のメインメモリ12、あるいは外部からのグラフィックスデータを受けるI/Oインタフェース回路13からメインバス15を介してレンダリング回路14に与えられる。
なお、必要に応じて、グラフィックス描画等のデータは、メインプロセッサ11等において、座標変換、クリップ処理、ライティング処理等のジオメトリ処理が行われる。
ジオメトリ処理が終わったグラフィックスデータは、三角形の各3頂点の頂点座標x,y,z、輝度値R,G,B、描画しようとしているピクセルと対応するテクスチャ座標s,t,qとからなるポリゴンレンダリングデータS11となる。
このポリゴンレンダリングデータS11は、レンダリング回路14のDDAセットアップ回路141に入力される。
DDAセットアップ回路141においては、ポリゴンレンダリングデータS11に基づいて、三角形の辺と水平方向の差分などを示す変分データS141が生成される。具体的には、開始点の値と終点の値、並びに、その間の距離を用いて、単位長さ移動した場合における、求めようとしている値の変化分である変分が算出され、変分データS141としてトライアングルDDA回路142に出力される。
トライアングルDDA回路142においては、変分データS141を用いて、、三角形内部の各ピクセルにおける線形補間された(z,R,G,B,s,t,q)データが算出される。
そして、この算出された(z,R,G,B,s,t,q)データと、三角形の各頂点の(x,y)データとが、DDAデータS142として、トライアングルDDA回路142からテクスチャエンジン回路143に出力される。
テクスチャエンジン回路143においては、DDAデータS142が示す(s,t,q)データについて、sデータをqデータで除算する演算と、tデータをqデータで除算する演算とが行われる。そして、除算結果「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEが乗算され、テクスチャ座標データ(u,v)が生成される。
次に、テクスチャエンジン回路143からメモリI/F回路144を介して、テクスチャエンジン回路143からSRAM148に、生成されたテクスチャ座標データ(u,v)を含む読み出し要求が出力され、メモリI/F回路144を介して、SRAM148に記憶された(R,G,B)データS148が読み出される。
次に、テクスチャエンジン回路143において、読み出した(R,G,B)データS148の(R,G,B)データと、前段のトライアングルDDA回路142からのDDAデータS142に含まれる(R,G,B)データとが、かけあわされ、ピクセルデータS143として生成される。
このピクセルデータS143は、テクスチャエンジン回路143からメモリI/F回路144に出力される。
フルカラーの場合には、テクスチャバッファ147aからのデータ(R,G,B)を直接用いればよいが、インデックスカラーの場合には、あらかじめ作成しておいたカラーインデックステーブル(Color Index Table )のデータが、テクスチャCLUT(Color Look Up Table)バッファ147dより、SRAM等で構成される一時保管バッファへ転送され、この一時保管バッファのCLUTを用いてカラーインデックスから実際のR,G,Bカラーが得られる。
なお、CULTがSRAMで構成された場合は、カラーインデックスをSRAMのアドレスに入力すると、その出力には実際のR,G,Bカラーが出てくるといった使い方となる。
そして、メモリI/F回路144において、テクスチャエンジン回路143から入力したピクセルデータS143に対応するzデータと、zバッファ147cに記憶されているzデータとの比較が行われ、入力したピクセルデータS12によって描画される画像が、前回、ディスプレイバッファ21に書き込まれた画像より、手前(視点側)に位置するか否かが判断される。
判断の結果、手前に位置する場合には、画像データS143に対応するzデータでzバッファ147cに記憶されたzデータが更新される。
次に、メモリI/F回路144において、(R,G,B)データがディスプレイバッファ147bに書き込まれる。
メモリI/F回路144においては、今から描画しようとしているピクセルにおけるテクスチャアドレスに対応したテクスチャを格納しているメモリブロックがそのテクスチャアドレスにより算出され、そのメモリブロックにのみ読み出し要求が出され、テクスチャデータが読み出される。
この場合、該当するテクスチャデータを保持していないメモリブロックにおいては、テクスチャ読み出しのためのアクセスが行われないため、描画により多くのアクセス時間を提供することが可能となっている。
描画においても同様に、今から描画しようとしているピクセルアドレスに対応するピクセルデータを格納しているメモリブロックに対して、該当アドレスからピクセルデータがモディファイ書き込み(Modify Write)を行うために読み出され、モディファイ後、同じアドレスへ書き戻される。
隠れ面処理を行う場合には、やはり同じように今から描画しようとしているピクセルアドレスに対応する奥行きデータを格納しているメモリブロックに対して、該当アドレスから奥行きデータがモディファイ書き込み(Modify Write)を行うために読み出され、必要ならばモディファイ後、同じアドレスへ書き戻される。
このようなメモリI/F回路144に基づくDRAM147とのデータのやり取りにおいては、それまでの処理が複数並行処理される。これにより、描画性能
を向上させることができる。
特に、トライアングルDDA回路142とテクスチャエンジン143の部分を並列実行形式で、同じ回路に設ける(空間並列)か、または、パイプラインを細かく挿入する(時間並列)ことで、部分的に動作周波数を増加させるという手段により、複数ピクセルの同時算出が行われる。
また、ピクセルデータは、メモリI/F回路144の制御のもと、表示領域において隣接した部分は、異なるDRAMモジュールとなるように配置される。
これにより、三角形のような平面を描画する場合には面で同時に処理される。このため、それぞれのDRAMモジュールの動作確率は非常に高い。
そして、図示しないCRTに画像を表示する場合には、CRTコントロール回路145において、与えられた水平垂直同期周波数に同期して、表示アドレスが発生され、メモリI/F回路144へ表示データ転送の要求が出される。
メモリI/F回路144では、その要求に従い、一定のまとまった固まりで、表示データがCRTコントロール回路145に転送される。
CRTコントロール回路145では、図示しないディスプレイ用FIFO(First In First Out)等にその表示データが貯えられ、一定の間隔でRAMDAC146へRGBのインデックス値が転送される。
RAMDAC146においては、RAM内部にRGBのインデックスに対するRGB値が記憶されていて、インデックス値に対するRGB値が図示しないD/Aコンバータへ転送される。
そして、D/Aコンバータでアナログ信号に変換されたRGB信号がCRTへ転送される。
以上説明したように、本発明の実施形態によれば、同一半導体チップに画像データを記憶するDRAMとロジック回路とを混載し、かつ、DRAMを独立した複数のDRAMモジュール1471〜1474により分割し、それらの複数に分割されたDRAMモジュール1471〜1474を、グラフィックス描画処理等を行うロジック回路部分の周辺部に配置したことから、同時にアクセスしなければならない場合に比較して、一回のアクセスでのビット線に占める有効データの割合が増加し、また、それぞれのDRAMモジュール1471〜1474からロジック回路部分までの距離が均一になり、固めて一方向に並べる場合に比較して、最も長くなるパス配線の長さを短くできる。そのため、全体での動作速度を向上できるという利点がある。
また、DRAMモジュール1471〜1474毎に、グラフィックス描画におけるピクセル処理を制御する機能ブロックとしてのピクセル処理モジュール1446〜1449を近接配置したので、グラフィックス描画において非常に回数多く行われる、リード(Read)/モディファイ(Modify)/ライト(Write)処理が非常に短い配線領域で可能となる。このため、動作速度を飛躍的に向上させることができる。
また、ピクセル処理モジュールとDRAMモジュールの2次メモリとを、それぞれ互いにDRAMモジュールの長辺側の同一側に近接配置したので、ピクセル処理モジュールから2次メモリへのデータ転送を非常に幅の広いパスで行っても、いわゆるクロストーク(Cross Talk)の影響も少なく、当然配線長も短いため、動作速度が向上する。また、配線が占める面積も小さくなる。
また、ピクセル処理モジュールと2次メモリへのデータは、同一のセンスアンプを使うことができる。このため、DRAMコアの面積増加を最小限に抑えてポート化することが可能となる。
また、ピクセル処理モジュール1446〜1449は、その内部に少なくとも1段以上の、パイプライン制御が行われることから、その他の描画処理を行う中央に配置されるブロックまでの距離が、平均的に長くなったとしても、データを処理するスループットに影響を与えなくできるため、処理速度が向上する。
また、DRAM間制御モジュール450は、それぞれのDRAMモジュール1471,1472,1473,1474の中心付近に配置したので、配線領域を整然と並べることができ、平均配線長を短くできる。
また、ピクセル処理モジュール1446,1447,1448,1449とDRAM間制御モジュール1450との接続のための信号入出力端子については、図9に示すように、それぞれのピクセル処理モジュール1446,1447,1448,1449における入出力端子を同じにするのではなく、個々のピクセル処理モジュールと、DRAM間制御モジュール1450間が最適(最短)に配線されるように、個々のピクセル処理モジュールにおける信号の入出力端子位置を調整してあるので、たとえ機能は同じであっても、その配置された場所での最適な位置にブロックの端子位置を置くことが可能になり、平均配線長を短くできる利点がある。
また、DRAMモジュール1471〜1474の記憶モジュールの長辺方向が、DRAMコアのカラム方向になるように配置したので、ロウ方向に配置する場合に比較して、ロウアドレス指定のみで、そのロウアドレスに対応している1ロウ分のデータを、一度に2次メモリにロードできるビット数が格段に増加するという利点がある。
さらに、半導体チップ内部に内蔵されたDRAM147に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵DRAMの有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
そして、単一メモリシステムを実現でき、すべてが内蔵された中だけで処理ができる。その結果、ア−キテクチャとしても大きなパラダイムシフトとなる。
また、メモリの有効利用ができることで、内部に持っているDRAMのみでの処理が可能となり、内部にあるがゆえのメモリと描画システムの間の大きなバンド幅が、十分に活用可能となる。また、DRAMにおいても特殊な処理を組み込むことが可能となる。
さらに、表示アドレス空間において、隣接するアドレスにおける表示要素が、それぞれ異なるDRAMのブロックになるように配置するので、さらにビット線の有効利用が可能となり、グラフィックス描画におけるような、比較的固まった表示領域へのアクセスが多い場合には、それぞれのモジュ−ルが同時に処理できる確率が増加し、描画性能の向上が可能となる。
また、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値を内蔵DRAM147内部に格納するので、テクスチャデ−タの圧縮が可能となり、内蔵DRAMの効率良い利用が可能となる。
また、描画しようとしている物体の奥行き情報を、内蔵のDRAMに格納するので、描画と同時並行的に隠れ面処理を行うことが可能となる。
描画を行って、通常はそれを表示しようとするわけだが、ユニファイドメモリとして、テクスチャデ−タと表示デ−タを同一のメモリシステムに同居させることができることから、直接表示に使わずに、描画デ−タをテクスチャデ−タとして使ってしまうということも可能となる。
このようなことは、必要なときに必要なテクスチャデ−タを、描画によって作成する場合に有効となり、これもテクスチャデ−タを膨らませないための効果的な機能となる。
また、チップ内部にDRAMを内蔵することで、その高速なインタ−フェ−ス部分がチップの内部だけで完結することになるため、大きな付加容量のI/Oバッファであるとか、チップ間配線容量をドライブする必要がなくなり、消費電力は内蔵しない場合に比較して小さくなる。
よって、さまざまな技術を使って、一つのチップの中だけですべてができるような仕組みは、今後の携帯情報端末等の身近なデジタル機器のためには、必要不可欠な技術要素となっている。
なお、本発明は上述した実施形態には限定されない。
また、上述した図1に示す3次元コンピュータグラフィックスシステム10では、SRAM148を用いる構成を例示したが、SRAM148を設けない構成にしてもよい。
さらに、図1に示す3次元コンピュータグラフィックスシステム10では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ11で行う場合を例示したが、レンダリング回路14で行う構成にしてもよい。
以上説明したように、本発明の実施の形態によれば、グラフィックスにおいては最も頻繁に行われるピクセル処理の性能が、飛躍的に向上し、記憶モジュールと描画モジュールとの平均配線長および最大配線長を短くできる。このため、チップ面積も小さく、配線面積が小さいことでドライブする配線容量が軽くなり、動作速度のみならず、消費電力においても改善が見られる画像処理装置が実現可能である。
また、本発明の実施の形態によれば、半導体チップ内部にロジック回路と混載された記憶回路に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵記憶回路の有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
本発明に係る実施の形態としての3次元コンピュータグラフィックスシステムの構成を示すブロック図である。 本発明に係る実施の形態としてのDDAセットアップ回路の機能を説明するための図である。 本発明に係る実施の形態としてのトライアングルDDA回路の機能を説明するための図である。 本発明に係る実施の形態としてのトライアングルDDA回路の頂点のソート処理を説明するための図である。 本発明に係る実施の形態としてのトライアングルDDA回路の水平方向の傾き算出処理を説明するための図である。 本発明に係る実施の形態としてのトライアングルDDA回路の頂点データの補間手順を説明するための図である。 本発明に係る実施の形態としてのトライアングルDDA回路の頂点データの補間手順を説明するためのフローチャートである。 本発明に係る実施の形態としてのデータ格納方法を説明するための図である。 本発明に係る実施の形態としての同一半導体チップ内に混載されるレンダリング回路のロジック回路とDRAMおよび2次メモリとの好適な構成、配置および配線方法を説明するための図である。 本発明に係る実施の形態としてのDRAMモジュールの構成例を説明するするための図である。 3次元コンピュータグラフィックスシステムの基本的な概念を示すシステム構成図である。 半導体チップに大容量DRAMとロジック回路を混載した場合の一般的な配置構成を説明するための図である。 マイクロプロセッサとメモリとを1チップ化した構成例を説明するための図である。
符号の説明
10…3次元コンピュータグラフィックスシステム、11…メインプロセッサ、12…メインメモリ、13…I/Oインタフェース回路、14…レンダリング回路、141…DDAセットアップ回路、142…トライアングルDDA回路、143…テクスチャエンジン回路、144…メモリI/F回路、145…CRTコントローラ回路、146…RAMDAC回路、147…DRAM、1471〜1474…DRAMモジュール、147a…テクスチャバッファ、147b…ディスプレイバッファ、147c…zバッファ、147d…テクスチャCLUTバッファ、148…SRAM、1441〜1444…メモリコントローラ、1445…ディストリビュータ、1446〜1449…ピクセル処理モジュール、1450…DRAM間制御モジュール、1471〜1474…DRAMモジュール、1480…DRAMコア、1481…ロウデコーダ、1482…センスアンプ、1483…カラムデコーダ、1484…2次メモリ。

Claims (4)

  1. 単位図形の頂点について、3次元座標(x,y,z)、R(赤),G(緑),B(青)データ、テクスチャの同次座標(s,t)および同次項qを含むポリゴンレンダリングデータを受けてレンダリング処理を行うため、
    複数に分割され、各々が、図形要素が必要とするテクスチャデータを記憶する、メモリコアと、増幅回路と、デコーダと、上記増幅回路およびデコーダを介して上記メモリコアに接続され上記増幅回路およびデコーダを介して上記メモリコアに記憶されているデータを記憶可能な2次メモリとを有する、複数の記憶モジュールと、
    上記記憶モジュール毎に対応して分割された複数のピクセル処理モジュールを有するロジック回路と、
    上記複数に分割された全ての記憶モジュールに均等に接続されて上記複数の記憶モジュールの動作を制御する制御ブロックと
    を有し、
    上記制御ブロックが上記複数に分割され分散されて配設されている上記複数の記憶モジュールで囲まれた中心付近に配置されており、
    上記ロジック回路の各ピクセル処理モジュールが、
    上記単位図形の頂点のポリゴンレンダリングデータを補間して、上記単位図形内に位置する画素の補間データを生成する補間データ生成回路と、
    上記補間データ生成回路において生成した前記補間データに含まれるテクスチャの同次座標(s,t)を同次項qで除算して「s/q」および「t/q」を生成し、上記「s/q」および「t/q」に応じたテクスチャアドレスを用いて、上記対応する記憶モジュール内の上記2次メモリを介して上記2次メモリに対応するメモリコアから上記テクスチャデータを読み出し、表示データの図形要素の表面への上記テクスチャデータの張り付け処理を行うテクスチャ処理回路と、
    を少なくとも備え、
    上記複数の記憶モジュールおよび上記複数のピクセル処理モジュールを有する上記ロジック回路が一つの半導体チップ内に混載されており、
    上記複数に分割された複数の記憶モジュールは上記半導体チップの周縁に分散して配設されており、
    上記複数に分割されたピクセル処理モジュールは分散して配設されており、
    上記半導体チップの周縁に分散して配設されている上記複数の記憶モジュールは、上記分散して配設されている複数のピクセル処理モジュールを囲むように上記複数のピクセル処理モジュールの周縁に隣接して配置され、かつ、上記各記憶モジュールの入出力端子が上記対応する各ピクセル処理モジュールと対向する内側の縁部に配置されており、
    上記対応する各記憶モジュールと各ピクセル処理モジュールとが、近接配置されており、
    上記2次メモリが上記記憶モジュール内で上記対応するピクセル処理モジュールに接近した位置に配置されており、
    上記各記憶モジュールの長辺方向が前記メモリコアのカラム方向になるように配置されている、
    画像処理装置。
  2. 複数に分割された記憶モジュールであって、各々が、メモリコアと、増幅回路と、デコーダと、上記増幅回路およびデコーダを介して上記メモリコアに接続され上記増幅回路およびデコーダを介して上記メモリコアに記憶されているデータを記憶可能な2次メモリとを有し、各メモリコアが異なる、少なくとも、赤、緑、青(R,G,B)カラーと深さ(z)データを含むピクセルの画像データを記憶する、複数の記憶モジュールと、
    上記各記憶モジュール毎に対応して分割された複数のピクセル処理モジュールを有するロジック回路と、
    上記複数に分割された全ての記憶モジュールに均等に接続されて上記複数の記憶モジュールの動作を制御する制御ブロックと
    を有し、
    上記制御ブロックが上記複数に分割され分散されて配設されている上記複数の記憶モジュールで囲まれた中心付近に配置されており、
    上記ロジック回路の各ピクセル処理モジュールが、各ピクセル処理モジュールが対応する各記憶モジュールに対して、上記R,G,Bカラーのリード/モディファイ/ライト処理を行うためピクセルの画像データの読み出しと書き戻し、および、上記深さデータの読み出しと該読みだした深さデータを比較してその結果を書き戻すピクセルの画像処理の全てを行う、回路であり、
    上記複数の記憶モジュールおよび上記複数のピクセル処理モジュールを有する上記ロジック回路が一つの半導体チップ内に混載されており、
    上記複数に分割された複数の記憶モジュールは上記半導体チップの周縁に分散して配設されており、
    上記複数に分割されたピクセル処理モジュールは分散して配設されており、
    上記半導体チップの周縁に分散して配設されている上記複数の記憶モジュールは、上記分散して配設されている複数のピクセル処理モジュールを囲むように上記複数のピクセル処理モジュールの周縁に隣接して配置され、かつ、上記各記憶モジュールの入出力端子が上記対応する各ピクセル処理モジュールと対向する内側の縁部に配置されており、
    上記対応する各記憶モジュールと各ピクセル処理モジュールとが、近接配置されており、
    上記2次メモリが上記記憶モジュール内で上記対応するピクセル処理モジュールに接近した位置に配置されており、
    上記各記憶モジュールの長辺方向が前記メモリコアのカラム方向になるように配置されている、
    画像処理装置。
  3. 上記各ピクセル処理モジュールは、その内部で少なくとも1段以上のパイプライン処理を行う、
    請求項1または2に記載の画像処理装置。
  4. 上記複数のピクセル処理モジュールは、それらが同一の機能のモジュールであっても、対応する記憶モジュールとのデータのやり取りを行うパスの引き出しのための端子位置を、その記憶モジュールからの上記パスを使用するピクセル処理モジュールへ、上記パスが上記半導体チップにおいて最適に配線できるように、その引き出しの端子位置に変化が与えられている、
    請求項1または2に記載の画像処理装置。
JP2008093129A 2008-03-31 2008-03-31 画像処理装置 Expired - Lifetime JP4670887B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008093129A JP4670887B2 (ja) 2008-03-31 2008-03-31 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008093129A JP4670887B2 (ja) 2008-03-31 2008-03-31 画像処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10178559A Division JP2000011190A (ja) 1998-06-25 1998-06-25 画像処理装置

Publications (2)

Publication Number Publication Date
JP2008181559A JP2008181559A (ja) 2008-08-07
JP4670887B2 true JP4670887B2 (ja) 2011-04-13

Family

ID=39725342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008093129A Expired - Lifetime JP4670887B2 (ja) 2008-03-31 2008-03-31 画像処理装置

Country Status (1)

Country Link
JP (1) JP4670887B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152926A (ja) * 1993-07-30 1995-06-16 Videologic Ltd 3次元像を陰影付けする方法
JPH07249116A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 画像処理回路、それを備えた半導体集積回路装置、その半導体集積回路装置を用いた画像記憶処理システムおよびその半導体集積回路装置のためのテスト方法
JPH08241963A (ja) * 1995-02-10 1996-09-17 Internatl Business Mach Corp <Ibm> 半導体集積回路装置
JPH1011594A (ja) * 1996-06-27 1998-01-16 Sony Corp 画像生成装置およびデータ圧縮方法
JPH1065124A (ja) * 1996-06-10 1998-03-06 Hitachi Ltd 半導体集積回路装置
JP2000011190A (ja) * 1998-06-25 2000-01-14 Sony Corp 画像処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07152926A (ja) * 1993-07-30 1995-06-16 Videologic Ltd 3次元像を陰影付けする方法
JPH07249116A (ja) * 1994-01-21 1995-09-26 Mitsubishi Electric Corp 画像処理回路、それを備えた半導体集積回路装置、その半導体集積回路装置を用いた画像記憶処理システムおよびその半導体集積回路装置のためのテスト方法
JPH08241963A (ja) * 1995-02-10 1996-09-17 Internatl Business Mach Corp <Ibm> 半導体集積回路装置
JPH1065124A (ja) * 1996-06-10 1998-03-06 Hitachi Ltd 半導体集積回路装置
JPH1011594A (ja) * 1996-06-27 1998-01-16 Sony Corp 画像生成装置およびデータ圧縮方法
JP2000011190A (ja) * 1998-06-25 2000-01-14 Sony Corp 画像処理装置

Also Published As

Publication number Publication date
JP2008181559A (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
US7528837B2 (en) Drawing apparatus, drawing method, drawing program and drawing integrated circuit
US8817034B2 (en) Graphics rendering device, graphics rendering method, graphics rendering program, recording medium with graphics rendering program stored thereon, integrated circuit for graphics rendering
JP4795808B2 (ja) 描画装置、描画方法、描画プログラム及び描画集積回路
JP2000011190A (ja) 画像処理装置
US6992664B2 (en) Graphics plotting apparatus
JP3687945B2 (ja) 画像処理装置およびその方法
US6466219B1 (en) Storage device and image data processing apparatus
JP4670887B2 (ja) 画像処理装置
JP4314655B2 (ja) 画像処理装置
US7245303B2 (en) Image processing apparatus
US20030231180A1 (en) Image processing apparatus and method of same
US6727905B1 (en) Image data processing apparatus
JP4081860B2 (ja) 画像処理装置
US7583270B2 (en) Image processing apparatus
JP2002366944A (ja) 画像処理装置
JP3741053B2 (ja) 画像処理装置
JP4232234B2 (ja) 画像処理装置
JP4828006B2 (ja) 画像処理装置
US7417639B2 (en) Drawing device and information processing apparatus
JP4580475B2 (ja) 演算処理装置およびグラフィック演算装置
US7986327B1 (en) Systems for efficient retrieval from tiled memory surface to linear memory display
JP2003022696A (ja) テスト回路および画像処理装置
JP2003085038A (ja) 画像処理装置
JPH11288467A (ja) データ転送装置およびグラフィック演算装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100405

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100810

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110103

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term