JP4580475B2 - 演算処理装置およびグラフィック演算装置 - Google Patents
演算処理装置およびグラフィック演算装置 Download PDFInfo
- Publication number
- JP4580475B2 JP4580475B2 JP05337798A JP5337798A JP4580475B2 JP 4580475 B2 JP4580475 B2 JP 4580475B2 JP 05337798 A JP05337798 A JP 05337798A JP 5337798 A JP5337798 A JP 5337798A JP 4580475 B2 JP4580475 B2 JP 4580475B2
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- clock signal
- circuit
- data
- flip
- 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 - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 33
- 230000015654 memory Effects 0.000 claims description 108
- 239000000872 buffer Substances 0.000 claims description 72
- 238000009877 rendering Methods 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 8
- 230000009467 reduction Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 239000000203 mixture Substances 0.000 description 9
- 238000012360 testing method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000002156 mixing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
Description
【発明が属する技術分野】
本発明は、ブロック相互間のデータ転送で生じるクロストークの影響を、装置を大規模化することなく抑制できる演算処理装置および高画質の画像を提供できるグラフィック演算装置に関する。
【0002】
【従来の技術】
種々のCAD(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、3次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような3次元コンピュータグラフィックスでは、マトリクス状に画素(ピクセル)を配置したCRT(Cathode Ray Tube)などのディスプレイに表示を行なうとき、レンダリング(Rendering) 処理を行なう。
このレンダリング処理は、各画素の色データを計算し、得られた色データを、当該画素に対応するディスプレイバッファ(フレームバッファ)に書き込む。
レンダリング処理の手法の一つに、ポリゴン(Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形(ポリゴン)の組み合わせとして表現しておき、このポリゴンを単位として描画を行なうことで、表示画面の色を決定する。
【0003】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標(x,y,z)と、色データ(R,G,B)と、張り合わせのイメージパターンを示すテクスチャデータの同次座標(s,t)および同次項qの値とを三角形の内部で補間する処理が行われる。
ここで、同次項qは、簡単にいうと、拡大縮小率のようなもので、実際のテクスチャバッファのUV座標系における座標、すなわち、テクスチャ座標データ(U,V)は、同次座標(s,t)を同次項qで除算した(s/q,t/q)=(u,v)に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じた乗算結果に応じたものとなる。
【0004】
このようなポリゴンレンダリングを用いた3次元コンピュータグラフィックシステムでは、描画を行う際に、テクスチャデータをテクスチャバッファから読み出し、この読み出したテクスチャデータを、立体モデルの表面に張り付け、リアリティの高い画像データを得るテクスチャマッピング処理を行う。
【0005】
ところで、上述したような3次元コンピュータグラフィックシステムには、多数の演算処理ブロックや制御ブロックが内蔵されており、これらのブロック相互間のデータ転送はバスを介して行なわれる。
また、このような3次元コンピュータグラフィックシステムでは、複数の画素についての演算が同時に行なわれており、単位時間当たりのデータ転送量に応じたバス幅は非常に大きい。特に、DRAMを内蔵する場合には、性能を向上させるために、さらにバス幅は大きくなる。
【0006】
【発明が解決しようとする課題】
しかしながら、このようなバスを介したデータ転送を行なう場合には、クロストークの問題が生じる。
クロストークが生じると、データ転送の信頼性が低下し、ディスプレイに表示される画像の画質が劣化する。
具体的には、上述した3次元コンピュータグラフィックシステムには、複数のフリップフロップ回路が設けられており、これらのフリップフロップ回路が、通常動作時に、システムクロック信号を基準として相互に同期しながら動作している。ここで、クロストークの影響でシステムクロック信号の伝送速度が変化し、いわゆるクロックスキューが発生すると、フリップフロップ回路相互間の同期にずれが生じ、回路が誤動作してしまう。これにより、ディスプレイに生じる画像に乱れが生じることがある。
【0007】
このようなクロストークを抑制する手法として、例えば、ブロック相互間に設けられた配線相互間の間隔を広げたり、クロストークが発生する可能性のある配線同士を平行に配置しないように配線パターンを決定する方法がある。
しかしながら、前者の方法は、バス幅が小さいときは適用可能であるが、3次元コンピュータグラフィックシステムのようにバス幅が大きい場合には、配線ピッチを大きくすると、配線に伴う面積が非常に大きくなり、システムが大規模化してしまうという問題がある。さらには、製造コストの増加および歩留りの低下を引き起こすという問題もある。
また、後者の方法は、回路全体の動作を把握した上で配線パターンを決定する必要があり、配線の混雑度を上げてしまう可能性がある。
【0008】
本発明は上述した従来技術の問題点に鑑みてなされ、装置を大規模化することなく、クロストークの影響を抑制できる演算処理装置およびグラフィック演算装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上述した目的を達成するために、本発明の演算処理装置は、少なくとも表示用画像データを記憶する記憶手段と、前記記憶手段の記憶データに基づいて、画像データに所定の処理を行なうロジック回路と、前記記憶手段にデータを書き込む書き込み系回路と、前記記憶手段に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、前記記憶手段は、同一機能を有する複数のモジュールに分割され、前記書き込み系回路は、前記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群を介して接続され、書き込み時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラと、書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを、前記複数画素について同時に前記複数のモジュールにアクセスが行なわれるように出力するディストリビュータと、書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力する複数のアドレスコンバータと、を含み、前記読み出し系回路は、前記各モジュールと前記書き込み系配線群とは異なる読み出し系配線群を介して接続され、前記各モジュールから複数の画素単位で読み出しを行なう読み出しコントローラを含み、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラは、それぞれシステムクロック信号を基準とした通常動作と、スキャンクロック信号を基準としたスキャンパス動作とを選択して行なう複数のフリップフロップ回路を内蔵し、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子にシステムクロック信号を供給するための第1の配線と、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子にスキャンクロック信号を供給するための第2の配線と、通常動作時に、前記第1の配線に、システムクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するシステムクロック信号供給手段と、スキャンパス動作時に、前記第2の配線に、スキャンクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するスキャンクロック信号供給手段とを有し、前記第1の配線と前記第2の配線とを略平行に隣接して配置し、前記スキャンクロック信号供給手段は、通常動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子に接続される前記第2の配線をシールド線として機能させ、前記システムクロック信号供給手段は、スキャンパス動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子に接続される前記第1の配線をシールド線として機能させる。
【0010】
本発明の演算処理装置では、通常動作時に、システムクロック信号供給手段によって、第1の配線にシステムクロック信号が供給される。一方、第2の配線には、スキャンクロック信号は供給されず、例えば、第2の配線は所定のレベルに保持される。ここで、第1の配線と第2の配線は、平行に配置されているため、第2の配線が第1の配線に対してシールド機能を発揮する。
一方、本発明の演算処理装置では、テスト時など、スキャンパス動作時に、スキャンクロック信号供給手段によって、第2の配線にシステムクロック信号が供給される。一方、第1の配線には、システムクロック信号は供給されない。ここで、第1の配線と第2の配線は、平行に配置されているため、第1の配線が第2の配線に対してシールド機能を発揮する。
【0011】
また、本発明の演算処理装置は、好ましくは、前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記フリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで、前記第1の配線と前記第2の配線とを平行に配置している。
【0012】
また、本発明の演算処理装置は、好ましくは、前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記複数のフリップフロップ回路を含む回路モジュールの入力部まで、前記第1の配線と前記第2の配線とを平行に配置している。
【0013】
また、本発明の第1の観点のグラフィック演算装置は、表示しようとするモデルを複数の単位図形の組み合わせで表現し、各画素について、テクスチャデータを前記単位図形と対応付けて描画データを生成するグラフィック演算装置であって、少なくとも表示用画像データを記憶する記憶手段と、前記描画データを生成する機能を含み、前記記憶手段の記憶データに基づいて、画像データに所定の処理を行なうロジック回路と、前記記憶手段にデータを書き込む書き込み系回路と、前記記憶手段に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、前記記憶手段は、同一機能を有する複数のモジュールに分割され、前記書き込み系回路は、前記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群を介して接続され、書き込み時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラと、書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを、前記複数画素について同時に前記複数のモジュールにアクセスが行なわれるように出力するディストリビュータと、書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力する複数のアドレスコンバータと、を含み、前記読み出し系回路は、前記各モジュールと前記書き込み系配線群とは異なる読み出し系配線群を介して接続され、前記各モジュールから複数の画素単位で読み出しを行なう読み出しコントローラを含み、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラは、それぞれシステムクロック信号を基準とした通常動作と、スキャンクロック信号を基準としたスキャンパス動作とを選択して行なう複数のフリップフロップ回路を内蔵し、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子にシステムクロック信号を供給するための第1の配線と、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子にスキャンクロック信号を供給するための第2の配線と、通常動作時に、前記第1の配線に、システムクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するシステムクロック信号供給手段と、スキャンパス動作時に、前記第2の配線に、スキャンクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するスキャンクロック信号供給手段とを有し、前記第1の配線と前記第2の配線とを略平行に隣接して配置し、前記スキャンクロック信号供給手段は、通常動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子に接続される前記第2の配線をシールド線として機能させ、前記システムクロック信号供給手段は、スキャンパス動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子に接続される前記第1の配線をシールド線として機能させる。
【0014】
また、本発明の第2の観点のグラフィック演算装置は、ディスプレイに表示する所定の形状を単位図形の組み合わせで表現するために、複数の画素についての演算を同時に行い、処理対象となっている前記単位図形の内側に位置する画素についての演算結果を有効なものとして用いて処理を行なうグラフィック演算装置であって、前記単位図形の頂点について、3次元座標(x,y,z)、R(赤),G(緑),B(青)データ、同次座標(s,t)および同次項qを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成装置と、前記ポリゴンレンダリングデータを用いてレンダリング処理を行なうレンダリング装置と、前記ポリゴンレンダリングデータ生成装置とレンダリング装置とを接続するバスとを有する。
【0015】
ここで、前記レンダリング装置は、テクスチャデータおよび描画データを記憶する記憶手段と、各画素について、当該画素に対応するテクスチャデータを前記記憶手段から読み出して描画データを生成し、当該生成した描画データを前記記憶手段に書き込む、複数のフリップフロップ回路を組み合わせて構成された描画データ生成機能を含むロジック回路と、前記記憶手段にデータを書き込む書き込み系回路と、前記記憶手段に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、前記記憶手段は、同一機能を有する複数のモジュールに分割され、前記書き込み系回路は、前記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群を介して接続され、書き込み時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラと、書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを、前記複数画素について同時に前記複数のモジュールにアクセスが行なわれるように出力するディストリビュータと、書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力する複数のアドレスコンバータと、を含み、前記読み出し系回路は、前記各モジュールと前記書き込み系配線群とは異なる読み出し系配線群を介して接続され、前記各モジュールから複数の画素単位で読み出しを行なう読み出しコントローラを含み、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラは、それぞれシステムクロック信号を基準とした通常動作と、スキャンクロック信号を基準としたスキャンパス動作とを選択して行なう複数のフリップフロップ回路を内蔵し、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子にシステムクロック信号を供給するための第1の配線と、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子にスキャンクロック信号を供給するための第2の配線と、通常動作時に、前記第1の配線に、システムクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するシステムクロック信号供給手段と、スキャンパス動作時に、前記第2の配線に、スキャンクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するスキャンクロック信号供給手段とを有し、前記第1の配線と前記第2の配線とを略平行に隣接して配置し、前記スキャンクロック信号供給手段は、通常動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子に接続される前記第2の配線をシールド線として機能させ、前記システムクロック信号供給手段は、スキャンパス動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子に接続される前記第1の配線をシールド線として機能させる。
【0016】
【発明の実施の形態】
以下、本実施形態においては、家庭用ゲーム機などに適用される、任意の3次元物体モデルに対する所望の3次元画像をCRTなどのディスプレイ上に高速に表示する3次元コンピュータグラフィックシステムについて説明する。
第1実施形態
図1は、本実施形態の3次元コンピュータグラフィックシステム1のシステム構成図である。
3次元コンピュータグラフィックシステム1は、立体モデルを単位図形である三角形(ポリゴン)の組み合わせとして表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行うシステムである。
また、3次元コンピュータグラフィックシステム1では、平面上の位置を表現する(x,y)座標の他に、奥行きを表すz座標を用いて3次元物体を表し、この(x,y,z)の3つの座標で3次元空間の任意の一点を特定する。
【0017】
図1に示すように、3次元コンピュータグラフィックシステム1は、メインメモリ2、I/Oインタフェース回路3、メインプロセッサ4およびレンダリング回路5が、メインバス6を介して接続されている。
以下、各構成要素の機能について説明する。
メインプロセッサ4は、例えば、ゲームの進行状況などに応じて、メインメモリ2から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理およびジオメトリ(Geometry)処理などを行い、ポリゴンレンダリングデータを生成する。メインプロセッサ4は、ポリゴンレンダリングデータS4を、メインバス6を介してレンダリング回路5に出力する。
I/Oインタフェース回路3は、必要に応じて、外部からポリゴンレンダリングデータを入力し、これをメインバス6を介してレンダリング回路5に出力する。
【0018】
ここで、ポリゴンレンダリングデータは、ポリゴンの各3頂点の(x,y,z,R,G,B,α,s,t,q,F)のデータを含んでいる。
ここで、(x,y,z)データは、ポリゴンの頂点の3次元座標を示し、(R,G,B)データは、それぞれ当該3次元座標における赤、緑、青の輝度値を示している。
データαは、これから描画する画素と、ディスプレイバッファ21に既に記憶されている画素とのR,G,Bデータのブレンド(混合)係数を示している。
(s,t,q)データのうち、(s,t)は、対応するテクスチャの同次座標を示しており、qは同次項を示している。ここで、「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じてテクスチャ座標データ(u,v)が得られる。テクスチャバッファ20に記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ(u,v)を用いて行われる。
Fデータは、フォグのα値を示している。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャおよびフォグの値のデータを示している。
【0019】
以下、レンダリング回路5について詳細に説明する。
図1に示すように、レンダリング回路5は、DDA(Digital Differential Analyzer)セットアップ回路10、トライアングルDDA回路11、テクスチャエンジン回路12、メモリI/F回路13、CRTコントローラ回路14、RAMDAC回路15、DRAM16およびSRAM17を有する。
DRAM16は、テクスチャバッファ20、ディスプレイバッファ21、zバッファ22およびテクスチャCLUTバッファ23として機能する。
【0020】
DDAセットアップ回路10
DDAセットアップ回路10は、後段のトライアングルDDA回路11において物理座標系上の三角形の各頂点の値を線形補間して、三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータS4が示す(z,R,G,B,α,s,t,q,F)データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。
【0021】
DDAセットアップ回路10は、算出した変分データS10をトライアングルDDA回路11に出力する。
【0022】
トライアングルDDA回路11
トライアングルDDA回路11は、DDAセットアップ回路10から入力した変分データS10を用いて、三角形内部の各画素における線形補間された(z,R,G,B,α,s,t,q,F)データを算出する。
トライアングルDDA回路11は、各画素の(x,y)データと、当該(x,y)座標における(z,R,G,B,α,s,t,q,F)データとを、DDAデータS11としてテクスチャエンジン回路12に出力する。
本実施形態では、トライアングルDDA回路11は、並行して処理を行う矩形内に位置する8(=2×4)画素分を単位として、DDAデータS11をテクスチャエンジン回路12に出力する。
【0023】
テクスチャエンジン回路12
テクスチャエンジン回路12は、テクスチャデータの縮小率の選択処理、「s/q」および「t/q」の算出処理、テクスチャ座標データ(u,v)の算出処理、テクスチャアドレス(U,V)の算出処理、テクスチャバッファ20からの(R,G,B,tα)データの読み出し処理、および、混合処理(テクスチャαブレンディング処理)を順にパイプライン方式で行う。
このとき、テクスチャエンジン回路12は、所定の矩形領域内に位置する8画素についての処理を同時に並行して行う。
【0024】
図2は、テクスチャエンジン回路12の構成図である。
図2に示すように、テクスチャエンジン回路12は、縮小率演算回路304、テクスチャデータ読み出し回路305およびテクスチャαブレンド回路306を有する。
【0025】
縮小率演算回路304は、DDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 などを用いて、テクスチャデータの縮小率lodを算出する。
ここで、縮小率は、元画像のテクスチャデータを、どの程度縮小したものであるかを示すものであり、元画像の縮小率を1/1とした場合には、1/2,1/4,1/8,...となる。
【0026】
テクスチャバッファ20には、例えば、図3に示すように、lod=0,1,2,3,4のテクスチャデータ320,321,322,323,324が記憶されている。
なお、テクスチャバッファ20の記憶領域のアドレス空間は、図3に示すように、U,V座標系で表現され、複数の縮小率に対応したテクスチャデータが記憶されている記憶領域の基準アドレス(開始アドレス)は、縮小率lodに基づいて算出される。図3に示す例では、テクスチャデータ320,321,322,323の基準アドレスは、(ubase0 ,vbase0 ),(ubase1 ,vbase1 ),(ubase2 ,vbase2 ),(ubase3 ,vbase3 )となる。
また、テクスチャバッファ20に記憶されているテクスチャデータにおける各画素についてのテクスチャアドレス(U,V)は、基準アドレス(ubase,vbase)と、テクスチャ座標データ(u,v)とを加算したアドレスとなる。
【0027】
〔テクスチャデータ読み出し回路305〕
テクスチャデータ読み出し回路305は、DDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 と、縮小率演算回路304からの縮小率lodと、テクスチャサイズUSIZEおよびVSIZEとを入力し、8画素のそれぞれに対応した、テクスチャデータS171 〜S178 をテクスチャバッファ20から読み出し、これをテクスチャαブレンド回路306に出力する。
【0028】
図4は、テクスチャデータ読み出し回路305における処理のフローチャートである。
ステップS21:テクスチャデータ読み出し回路305は、8画素分の(s,t,q)データS11a1 〜S11a8 のそれぞれについて、sデータをqデータで除算する演算と、tデータをqデータで除算する演算とを行い、除算結果「s/q」および「t/q」を算出する。
そして、除算結果「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じて、各画素に対応したテクスチャ座標データ(u1 ,v1 )〜(u8 ,v8 )を算出する。
【0029】
ステップS22:テクスチャデータ読み出し回路305は、例えば、予め用意したアドレステーブルを参照して、縮小率lodに対応する基準アドレス(ubase,vbase)を得る。
そして、テクスチャデータ読み出し回路305は、基準アドレス(ubase,vbase)と、ステップS21で算出したテクスチャ座標データ(u1 ,v1 )〜(u8 ,v8 )とを加算して、テクスチャバッファ20のUV座標系における物理アドレスであるテクスチャアドレス(U1 ,V1 )〜(U8 ,V8 )を生成する。
【0030】
ステップS23:テクスチャデータ読み出し回路305は、ステップS22で生成したテクスチャアドレス(U1 ,V1 )〜(U8 ,V8 )を、図1に示すメモリI/F回路13を介して、テクスチャバッファ20に出力し、テクスチャデータである(R,G,B,tα)データS171 〜S178 を読み出す。
なお、SRAM17には、テクスチャバッファ20に記憶されているテクスチャデータのコピーが記憶されており、テクスチャエンジン回路12は、実際には、メモリI/F回路13を介してSRAM17に記憶されているテクスチャデータを読み出す。
【0031】
ステップS24:テクスチャデータ読み出し回路305は、ステップS23で読み出した(R,G,B,tα)データS171 〜S178 をテクスチャαブレンド回路306に出力する。
【0032】
〔テクスチャαブレンド回路306〕
テクスチャαブレンド回路306は、DDAデータS11に含まれる8画素分の(R,G,B)データS11b1 〜S11b8 と、テクスチャデータ読み出し回路305が読み出した(R,G,B,tα)データS171 〜S178 とを入力し、それぞれ(R,G,B)データS11b1 〜S11b8 と、データS171 〜S178 に含まれる(R,G,B)データとを、データS171 〜S178 に含まれるtαで示される混合値で混合し、(R,G,B)データS3061 〜S3068 を生成する。
そして、DDAデータに含まれるαデータS11d1 〜S11d8 と、(R,G,B)データS3061 〜S3068 とが、(R,G,B,α)データS12a1 〜S12a8 として、メモリI/F回路13に出力される。
【0033】
なお、テクスチャエンジン回路12は、フルカラー方式の場合には、テクスチャバッファ20から読み出した(R,G,B,tα)データを直接用いる。一方、テクスチャエンジン回路12は、インデックスカラー方式の場合には、予め作成したカラールックアップテーブル(CLUT)をテクスチャCLUTバッファ23から読み出して、内蔵するSRAMに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ20から読み出したカラーインデックスに対応する(R,G,B)データを得る。
【0034】
DRAM16およびSRAM17
図5は、DRAM16、SRAM17、および、メモリI/F回路13のDRAM16およびSRAM17へのアクセス機能を持つブロックの構成図である。
図5に示すように、図1に示すDRAM16およびSRAM17は、メモリモジュール200,201,202,203を有する。
メモリモジュール200は、メモリ210,211を有する。
メモリ210は、DRAM16の一部を構成するバンク2101 ,2102 と、SRAM17の一部を構成するバンク2201 ,2202 とを有する。
また、メモリ211は、DRAM16の一部を構成するバンク2111 ,2112 と、SRAM17の一部を構成するバンク2211 ,2212 とを有する。
バンク2201 ,2202 ,2211 ,2212 に対しては同時アクセスが可能である。
なお、メモリモジュール201,202,202は、基本的に、メモリモジュール200と同じ構成をしている。
【0035】
ここで、メモリモジュール200,201,202,203の各々は、図1に示すテクスチャバッファ20、ディスプレイバッファ21、Zバッファ22およびテクスチャCLUTバッファ23の全ての機能を持つ。
すなわち、メモリモジュール200,201,202,203の各々は、対応する画素のテクスチャデータ、描画データ((R,G,B)データ)、zデータおよびテクスチャカラールックアップテーブルデータの全てを記憶する。
但し、メモリモジュール200,201,202,203は、相互で異なる画素についてのデータを記憶する。
ここで、同時に処理される16画素についてのテクスチャデータ、描画データ、zデータおよびテクスチャカラールックアップテーブルデータが、相互に異なるバンク2101 ,2102 ,2111 ,2112 ,2121 ,2122 ,2131 ,2132 ,2141 ,2142 ,2151 ,2152 ,2161 ,2162 ,2171 ,2172 に記憶される。
これにより、DRAM16に対して、16画素についてのデータが同時にアクセス可能になる。
【0036】
なお、バンク2201 ,2202 ,2211 ,2212 ,2221 ,2222 ,2231 ,2232 ,2241 ,2242 ,2251 ,2252 ,2261 ,2262 ,2271 ,2272 には、それぞれバンク2101 ,2102 ,2111 ,2112 ,2121 ,2122 ,2131 ,2132 ,2141 ,2142 ,2151 ,2152 ,2161 ,2162 ,2171 ,2172 に記憶されたテクスチャデータのコピーが記憶されている。
【0037】
メモリI/F回路13
また、メモリI/F回路13は、テクスチャエンジン回路12から入力した(R,G,B,α)データS12a1 〜S12a8 、すなわち画素データS12aに対応するzデータと、zバッファ22に記憶されているzデータとの比較を行い、入力した画素データS12aによって描画される画像が、前回、ディスプレイバッファ21に書き込まれた画像より、手前(視点側)に位置するか否かを判断し、手前に位置する場合には、画素データS12aに対応するzデータでzバッファ22に記憶されたzデータを更新する。
また、メモリI/F回路13は、必要に応じて、画素データS12aに含まれる(R,G,B)データと、既にディスプレイバッファ21に記憶されている(R,G,B)データとを、画素データS12aに対応するαデータが示す混合値で混合する、いわゆるαブレンディング処理を行い、混合後の(R,G,B)データをディスプレイバッファ21に書き込む(打ち込む)。
【0038】
メモリI/F回路13は、DRAM16に対して16画素について同時にアクセスを行なう。
図5に示すように、メモリI/F回路13は、メモリコントローラ240,241,242,243、アドレスコンバータ250,251,252,253、ディストリビュータ260および読み出しコントローラ262を有する。
【0039】
ディストリビュータ260は、例えば、書き込み時に、16画素分の(R,G,B)データを入力し、これらを、各々4画素分のデータからなる4つの画像データS2600 ,S2601 ,S2602 ,S2603 に分割し、それぞれをアドレスコンバータ250,251,252,253に出力する。
ここで、1画素分の(R,G,B)データおよびzデータは、それぞれ32ビットからなる。
【0040】
アドレスコンバータ250,251,252,253は、書き込み時に、ディストリビュータ260から入力した(R,G,B)データおよびzデータに対応したアドレスを、それぞれメモリモジュール200,201,202,203内のアドレスに変換し、それぞれ変換したアドレスS250,S251,S252,S253をメモリコントローラ240に出力する。
【0041】
メモリコントローラ240,241,242,243は、それぞれ配線群270,271,272,273を介してメモリモジュール200,201,202,203に接続されており、書き込み時にメモリモジュール200,201,202,203に対してのアクセスを制御する。
具体的には、メモリコントローラ240,241,242,243は、ディストリビュータ260から入力した4画素分の(R,G,B)データおよびzデータを、配線群270,271,272,273を介してメモリモジュール200,201,202,203に同時に書き込む。
このとき、例えば、メモリモジュール200では、バンク2101 ,2102 ,2103 ,2104 の各々に、1画素分の(R,G,B)データおよびzデータが記憶される。メモリモジュール201,202,203についても同じである。
なお、本実施形態では、配線群270,271,272,273の各々は、256ビットである。
【0042】
読み出しコントローラ262は、配線群280を介してメモリモジュール200,201,202,203と接続されており、読み出し時に、メモリモジュール200,201,202,203から、8画素あるいは16画素単位で、テクスチャデータ、(R,G,B)データ、zデータおよびテクスチャカラールックアップテーブルデータを配線群280を介して読み出す。
なお、本実施形態では、配線群280は、1024ビットである。
【0043】
CRTコントローラ回路14
CRTコントローラ回路14は、与えられた水平および垂直同期信号に同期して、図示しないCRTに表示するアドレスを発生し、ディスプレイバッファ21から表示データを読み出す要求をメモリI/F回路13に出力する。この要求に応じて、メモリI/F回路13は、ディスプレイバッファ21から一定の固まりで表示データを読み出す。CRTコントローラ回路14は、ディスプレイバッファ21から読み出した表示データを記憶するFIFO(First In First Out)回路を内蔵し、一定の時間間隔で、RAMDAC回路15に、RGBのインデックス値を出力する。
【0044】
RAMDAC回路15
RAMDAC回路15は、各インデックス値に対応するR,G,Bデータを記憶しており、CRTコントローラ回路14から入力したRGBのインデックス値に対応するデジタル形式のR,G,Bデータを、D/Aコンバータに転送し、アナログ形式のR,G,Bデータを生成する。RAMDAC回路15は、この生成されたR,G,BデータをCRTに出力する。
【0045】
配線パターン
上述した図1に示すDDAセットアップ回路10、トライアングルDDA回路11、テクスチャエンジン回路12、メモリI/F回路13、CRTコントローラ回路14、RAMDAC回路15、および、図5に示すディストリビュータ260、メモリコントローラ240〜243、アドレスコンバータ250〜253および読み出しコントローラ262は、それぞれ複数のフリップフロップ回路を用いて構成されている。
各フリップフロップ回路は、データ入力端子D、データ出力端子Q、通常動作時に使用されるシステムクロック信号を入力するCK端子、および、スキャンパス動作時に使用されるスキャンクロック信号を入力するSCK端子を備えている。
これらのフリップフロップ回路は、通常時には、システムクロック信号に基づいて動作し、テスト時には、スキャンクロック信号に基づいて、製造テストを容易にするためのスキャンパス動作を行う。このスキャンパス動作では、内蔵する複数のフリップフロップ回路がシフトレジスタを構成し、各フリップフロップ回路が記憶されたデータが読み出される。
【0046】
図6は、3次元コンピュータグラフィックシステム1における、システムクロック信号を伝送するシステムクロック信号用配線と、スキャンクロック信号を伝送するスキャンクロック信号用配線とを説明するための図である。
なお、図6は、説明の簡単化のため、3次元コンピュータグラフィックシステム1に含まれる複数のフリップフロップ回路のうち3個のフリップフロップ回路に接続される、システムクロック信号用配線およびスキャンクロック信号用配線のみを示している。
【0047】
図6に示すように、スキャンクロック生成回路103は、スキャンクロック信号用配線1201 を介して分岐回路105に接続されている。スキャンクロック生成回路103は、テスト時、すなわちスキャンパス動作時に、スキャンクロック信号をスキャンクロック信号用配線1201 に出力する。
システムクロック生成回路104は、システムクロック信号用配線1301 を介して分岐回路105に接続されている。システムクロック生成回路104は、通常動作時に、システムクロック信号をシステムクロック信号用配線1301 に出力する。
【0048】
分岐回路105は、テスト時に、スキャンクロック信号用配線1201 を介してスキャンクロック生成回路103から入力したスキャンクロック信号を、スキャンクロック信号用配線1203 ,1206 ,1208 を介して、それぞれフリップフロップ回路1001 ,1002 ,1003 のSCK端子に供給する。
また、分岐回路105は、通常時に、システムクロック信号用配線1301 を介してシステムクロック生成回路104から入力したシステムクロック信号を、システムクロック信号用配線1303 ,1306 ,1308 を介して、それぞれフリップフロップ回路1001 ,1002 ,1003 のCK端子に供給する。
分岐回路105は、図6に示すように、バッファ1101 〜11010、スキャンクロック信号用配線1202 ,1204 ,1205 ,1207 およびシステムクロック信号用配線1302 ,1304 ,1305 ,1307 を内蔵している。
【0049】
バッファ1101 の入力端子は、スキャンクロック信号用配線1201 に接続されている。バッファ1102 の入力端子は、システムクロック信号用配線1301 に接続されている。
バッファ1101 の出力端子は、スキャンクロック信号用配線1202 を介してバッファ1103 の入力端子、および、スキャンクロック信号用配線1204 を介してバッファ1105 の入力端子に接続されている。
また、バッファ1102 の出力端子は、システムクロック信号用配線1302 を介してバッファ1103 の入力端子、および、システムクロック信号用配線1304 を介してバッファ1106 の入力端子に接続されている。
【0050】
また、バッファ1105 の出力端子は、スキャンクロック信号用配線1205 を介してバッファ1107 の入力端子、および、スキャンクロック信号用配線1207 を介してバッファ1109 の入力端子に接続されている。
また、バッファ1106 の出力端子は、システムクロック信号用配線1305 を介してバッファ1108 の入力端子、および、システムクロック信号用配線1307 を介してバッファ11010の入力端子に接続されている。
【0051】
バッファ1103 の出力端子は、スキャンクロック信号用配線1203 を介して、フリップフロップ回路1001 のSCK端子に接続されている。
バッファ1104 の出力端子は、システムクロック信号用配線1303 を介して、フリップフロップ回路1001 のCK端子に接続されている。
バッファ1107 の出力端子は、スキャンクロック信号用配線1206 を介して、フリップフロップ回路1002 のSCK端子に接続されている。
バッファ1108 の出力端子は、システムクロック信号用配線1306 を介して、フリップフロップ回路1002 のCK端子に接続されている。
バッファ1109 の出力端子は、スキャンクロック信号用配線1208 を介して、フリップフロップ回路1003 のSCK端子に接続されている。
バッファ11010の出力端子は、システムクロック信号用配線1308 を介して、フリップフロップ回路1003 のCK端子に接続されている。
【0052】
図6に示す構成では、スキャンクロック信号用配線1201 ,1202 ,1203 ,1204 ,1205 ,1206 ,1207 ,1208 と、システムクロック信号用配線1301 ,1302 ,1303 ,1304 ,1305 ,1306 ,1307 ,1308 とは相互に平行に配線してある。
ここで、スキャンクロック信号用配線およびシステムクロック信号用配線の配線パターンは、同一のセルインスタンス、ネット名および物理的接続形態を用いて、自動配線ツールなどで決定される。
【0053】
以下、3次元コンピュータグラフィックシステム1の動作について説明する。
〔通常動作時〕
通常動作時には、図6に示すシステムクロック生成回路104からのシステムクロック信号がシステムクロック信号用配線1301 に供給され、このシステムクロック信号が、対応するシステムクロック信号用配線を介して、図1に示すレンダリング回路5に内蔵された全てのフリップフロップ回路のCK端子に供給される。そして、各フリップフロップ回路が通常動作を行い、3次元コンピュータグラフィックシステム1において、以下に示す動作が行なわれる。
一方、図6に示すスキャンクロック生成回路103からスキャンクロック信号用配線1201 には、スキャンクロック信号は供給されない。このとき、スキャンクロック信号用配線1201 〜12088 は、ハイレベルに保持される。
ここで、スキャンクロック信号用配線は、システムクロック信号用配線に平行に配置されているため、シールド線として機能し、システムクロック信号用配線に生じるクロストークを抑制する効果を発揮する。
【0054】
図1に示す3次元コンピュータグラフィックシステム1では、通常動作時に、ポリゴンレンダリングデータS4が、メインバス6を介してメインプロセッサ4からDDAセットアップ回路10に出力され、DDAセットアップ回路10において、三角形の辺と水平方向の差分を示す変分データS10が生成される。
そして、DDAセットアップ回路10からトライアングルDDA回路11に変分データS10が出力される。
【0055】
次に、トライアングルDDA回路11において、変分データS10に基づいて、三角形内部の各画素における線形補間された(z,R,G,B,α,s,t,q,F)が生成される。
そして、トライアングルDDA回路11からテクスチャエンジン回路12に、各画素の(x,y)データと、当該(x,y)座標における(z,R,G,B,α,s,t,q,F)データとが、DDAデータS11として出力される。
【0056】
次に、図2に示すテクスチャエンジン回路12の縮小率演算回路304において、DDAデータS11に含まれる8画素分の(s,t,q)データS11a1 〜S11a8 を用いて、テクスチャデータの縮小率が算出され、この縮小率lodがテクスチャデータ読み出し回路305に出力される。
【0057】
次に、テクスチャデータ読み出し回路305において、図4に示すフローに基づいて、テクスチャバッファ20(SRAM17)からテクスチャデータS171 〜S178 が読み出され、この読み出されたテクスチャデータS171 〜S178 が、テクスチャαブレンド回路306に出力される。
【0058】
このとき、図5に示す読み出しコントローラ262からの制御によって、配線群280を介して、テクスチャデータS171 〜S178 を含む16画素分のテクスチャデータが、SRAM17を構成するバンク2201 ,2202 ,2211 ,2212 ,2221 ,2222 ,2231 ,2232 ,2241 ,2242 ,2251 ,2252 ,2261 ,2262 ,2271 ,2272 から読み出される。
【0059】
次に、テクスチャαブレンド回路306において、(R,G,B)データS11b1 〜S11b8 と、データS171 〜S178 に含まれる(R,G,B)データとが、データS171 〜S178 に含まれるtαで示される混合値で混合され、(R,G,B)データS3061 〜S3068 が生成される。
そして、DDAデータに含まれるαデータS11d1 〜S11d8 と、(R,G,B)データS3061 〜S3068 とが、(R,G,B,α)データS12a1 〜S12a8 、すなわち、画素データS12aとして、メモリI/F回路13に出力される。
【0060】
そして、メモリI/F回路13において、テクスチャエンジン回路12から入力した画素データS12aに対応するzデータと、zバッファ22に記憶されているzデータとの比較が行なわれ、入力した画素データS12aによって描画される画像が、前回、ディスプレイバッファ21に書き込まれた画像より、手前(視点側)に位置するか否かが判断され、手前に位置する場合には、画像データS12aに対応するzデータでzバッファ22に記憶されたzデータが更新される。
【0061】
次に、メモリI/F回路13において、必要に応じて、画像データS12aに含まれる(R,G,B)データと、既にディスプレイバッファ21に記憶されている(R,G,B)データとが、画素データS12aに対応するαデータが示す混合値で混合され、混合後の(R,G,B)データがディスプレイバッファ21に書き込まれる。
【0062】
このとき、図5に示すメモリコントローラ240,341,242,243からの制御によって、配線群270,271,272,273を介して、16画素分の(R,G,B)データが、図1に示すディスプレイバッファ21を構成するバンク2101 ,2102 ,2111 ,2112 ,2121 ,2122 ,2131 ,2132 ,2141 ,2142 ,2151 ,2152 ,2161 ,2162 ,2171 ,2172 に書き込まれる
〔スキャンパス動作時〕
スキャンパス動作時には、図6に示すスキャンクロック生成回路103からのスキャンクロック信号がスキャンクロック信号用配線1201 に供給され、このシステムクロック信号が、対応するスキャンクロック信号用配線を介して、図1に示すレンダリング回路5に内蔵された全てのフリップフロップ回路のSCK端子に供給される。そして、各フリップフロップ回路がスキャンパス動作を行い、各フリップフロップ回路に記憶されたデータが読み出される。
このとき、図6に示すシステムクロック生成回路104からシステムクロック信号用配線1301 には、システムクロック信号は供給されない。
ここで、システムクロック信号用配線は、スキャンクロック信号用配線に平行に配置されているため、スキャンクロック信号用配線に生じるクロストークを抑制する効果を発揮する。
【0063】
以上説明したように、3次元コンピュータグラフィックシステム1によれば、システムクロック信号用配線とスキャンクロック信号用配線とを平行に配線し、システムクロック信号は通常動作時にのみ伝送され、スキャンクロック信号はスキャンパス動作時にのみ伝送されることから、通常動作時には、スキャンクロック信号用配線がシステムクロック信号用配線に対してシールド機能を発揮し、スキャンパス動作時には、システムクロック信号用配線がスキャンクロック信号用配線に対してシールド機能を発揮する。すなわち、特別なシールド線などを挿入することなく、シールド機能を発揮させることができる。
その結果、配線間隔を長くすることなく、すなわち、装置を大規模化することなく、クロストークの影響を抑制し、高画質な画像を提供できる。
また、3次元コンピュータグラフィックシステム1によれば、システムクロック信号用配線とスキャンクロック信号用配線とを平行に配置することから、配線パターンの設計を簡単化できる。
【0064】
第2実施形態
上述した実施形態では、図6に示すように、スキャンクロック信号用配線とシステムクロック信号用配線とを、フリップフロップ回路のSCK端子およびCK端子まで平行に配線する場合を例示した。
本実施形態では、複数のフリップフロップ回路を内蔵したモジュールの入力部まで、スキャンクロック信号用配線とシステムクロック信号用配線とを平行に配線し、モジュールの内部では、スキャンクロック信号用配線とシステムクロック信号用配線とを必ずしも平行には配線しない場合を例示する。
【0065】
図7は、本実施形態の3次元コンピュータグラフィックシステムにおける、システムクロック信号を伝送するシステムクロック信号用配線と、スキャンクロック信号を伝送するスキャンクロック信号用配線とを説明するための図である。
なお、図7は、説明の簡単化のため、フリップフロップ回路を内蔵する3個の回路モジュールのみを示している。
【0066】
図7に示すように、スキャンクロック生成回路103は、スキャンクロック信号用配線120を介して、フリップフロップ内蔵回路モジュール1501 ,1502 ,1503 の入力部1601 ,1602 ,1603 に接続されている。スキャンクロック生成回路103は、テスト時、すなわちスキャンパス動作時に、スキャンクロック信号をスキャンクロック信号用配線120に出力する。
システムクロック生成回路104は、システムクロック信号用配線130を介して、フリップフロップ内蔵回路モジュール1501 ,1502 ,1503 に接続されている。システムクロック生成回路104は、通常動作時に、システムクロック信号をシステムクロック信号用配線130に出力する。
【0067】
図7に示す配線パターンでは、スキャンクロック信号用配線120とシステムクロック信号用配線130とが、フリップフロップ内蔵回路モジュール1501 ,1502 ,1503 の入力部まで平行に配置されている。
一方、フリップフロップ内蔵回路モジュール1501 ,1502 ,1503 の内部では、スキャンクロック信号用配線120およびシステムクロック信号用配線130が、それぞれ内蔵する複数のフリップフロップ回路のSCK端子およびCK端子に達する図示しないスキャンクロック信号用配線およびシステムクロック信号用配線に接続されているが、当該スキャンクロック信号用配線およびシステムクロック信号用配線とは必ずしも平行ではない。
【0068】
図7に示す配線パターンでは、フリップフロップ内蔵回路モジュール1501 ,1502 ,1503 の外部において、通常動作時に、スキャンクロック信号用配線120がハイレベルに保持され、システムクロック信号用配線130を伝送するシステムクロック信号にクロストークの影響が生じることが抑制される。
一方、スキャンパス動作時には、システムクロック信号用配線130がハイレベルに保持され、スキャンクロック信号用配線120を伝送するスキャンクロック信号にクロストークの影響が生じることが抑制される。
【0069】
本発明は上述した実施形態には限定されない。
例えば、上述した第1実施形態では、スキャンクロック信号用配線とシステムクロック信号用配線とを、略全長について平行に配置した場合を例示したが、他の配線との関係で、一部を平行に配線しないような配線パターンにしてもよい。
また、上述した実施形態では、図1に示す3次元コンピュータグラフィックシステム1の全体について、スキャンクロック信号用配線とシステムクロック信号用配線とを平行に配置した場合を例示したが、テクスチャエンジン回路12など一部のブロック内においてのみ、スキャンクロック信号用配線とシステムクロック信号用配線とを平行に配置するようにしてもよい。
【0070】
また、上述した実施形態では、同時に処理が実行される画素数を8としたが、この数は任意であり、例えば、4であってもよい。但し、同時に処理が実行される画素数は、2のべき乗であることが望ましい。
【0071】
また、上述した図1に示す3次元コンピュータグラフィックシステム1では、SRAM17を用いる構成を例示したが、SRAM17を設けない構成にしてもよい。
また、図1に示すテクスチャバッファ20およびテクスチャCLUTバッファ23を、DRAM16の外部に設けてもよい。
【0072】
さらに、図1に示す3次元コンピュータグラフィックシステム1では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ4で行なう場合を例示したが、レンダリング回路5で行なう構成にしてもよい。
【0073】
【発明の効果】
以上説明したように、本発明の演算処理装置およびグラフィック演算装置によれば装置を大規模化することなく、クロストークの影響を抑制できる。
また、本発明のグラフィック演算装置によれば、高画質な画像を提供することを可能にできる。
【図面の簡単な説明】
【図1】図1は、本発明の実施形態の3次元コンピュータグラフィックシステムのシステム構成図である。
【図2】図2は、図1に示すテクスチャエンジン回路の内部構成図である。
【図3】図3は、図1に示すテクスチャバッファに記憶され、MIPMAPフィルタリング処理された複数の縮小率のテクスチャデータを説明するための図である。
【図4】図4は、図2に示すテクスチャデータ読み出し回路における処理のフローチャートである。
【図5】図5は、図1に示すDRAM、SRAM、および、メモリI/F回路のDRAMおよびSRAMへのアクセス機能を持つブロックの構成図である。
【図6】図6は、図1に示す3次元コンピュータグラフィックシステムにおける、システムクロック信号を伝送するシステムクロック信号用配線と、スキャンクロック信号を伝送するスキャンクロック信号用配線とを説明するための図である。
【図7】図7は、本発明の第2実施形態の3次元コンピュータグラフィックシステムにおける、システムクロック信号を伝送するシステムクロック信号用配線と、スキャンクロック信号を伝送するスキャンクロック信号用配線とを説明するための図である。
【符号の説明】
1…3次元コンピュータグラフィックシステム、2…メインメモリ、3…I/Oインタフェース回路、4…メインプロセッサ、5…レンダリング回路、10…DDAセットアップ回路、11…トライアングルDDA回路、12…テクスチャエンジン回路、13…メモリI/F回路、14…CRTコントローラ回路、15…RAMDAC回路、16…DRAM、17…SRAM、20…テクスチャバッファ、21…ディスプレイバッファ、22…Zバッファ、23…テクスチャCLUTバッファ、1001 ,1002 ,1003 …フリップフロップ回路、103…スキャンクロック生成回路、104…システムクロック生成回路、105…分岐回路、1101 〜11010…バッファ、120,1201 〜1208 …スキャンクロック信号用配線、130,1301 〜1308 …システムクロック信号用配線、1501 〜1503 …フリップフロップ内蔵回路モジュール、1601 〜1603 …入力部、304…縮小率演算回路、305…テクスチャデータ読み出し回路、306…テクスチャαブレンド回路、200,201,202,203…メモリモジュール、210,211,212,213,214,215,216,217…メモリ、240,241,242,243…メモリコントローラ、250,251,252,253…アドレスコンバータ、260…ディストリビュータ、262…読み出しコントローラ、270,271,272,273,280…配線群
Claims (12)
- 少なくとも表示用画像データを記憶する記憶手段と、
前記記憶手段の記憶データに基づいて、画像データに所定の処理を行なうロジック回路と、
前記記憶手段にデータを書き込む書き込み系回路と、
前記記憶手段に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、
前記記憶手段は、同一機能を有する複数のモジュールに分割され、
前記書き込み系回路は、
前記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群を介して接続され、書き込み時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラと、
書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを、前記複数画素について同時に前記複数のモジュールにアクセスが行なわれるように出力するディストリビュータと、
書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力する複数のアドレスコンバータと、を含み、
前記読み出し系回路は、
前記各モジュールと前記書き込み系配線群とは異なる読み出し系配線群を介して接続され、前記各モジュールから複数の画素単位で読み出しを行なう読み出しコントローラを含み、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラは、それぞれシステムクロック信号を基準とした通常動作と、スキャンクロック信号を基準としたスキャンパス動作とを選択して行なう複数のフリップフロップ回路を内蔵し、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子にシステムクロック信号を供給するための第1の配線と、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子にスキャンクロック信号を供給するための第2の配線と、
通常動作時に、前記第1の配線に、システムクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するシステムクロック信号供給手段と、
スキャンパス動作時に、前記第2の配線に、スキャンクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するスキャンクロック信号供給手段と
を有し、
前記第1の配線と前記第2の配線とを略平行に隣接して配置し、
前記スキャンクロック信号供給手段は、通常動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子に接続される前記第2の配線をシールド線として機能させ、
前記システムクロック信号供給手段は、スキャンパス動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子に接続される前記第1の配線をシールド線として機能させる
演算処理装置。 - 前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで、前記第1の配線と前記第2の配線とを平行に配置した
請求項1に記載の演算処理装置。 - 前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記複数のフリップフロップ回路を含む回路モジュールである前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの入力部まで、前記第1の配線と前記第2の配線とを平行に配置した
請求項1に記載の演算処理装置。 - 前記第1の配線と前記第2の配線とを、分岐回路を介して前記複数のフリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで配線し、前記分岐回路の各分岐段において対となるバッファを介して略平行に隣接して配置した
請求項1に記載の演算処理装置。 - 表示しようとするモデルを複数の単位図形の組み合わせで表現し、各画素について、テクスチャデータを前記単位図形と対応付けて描画データを生成するグラフィック演算装置であって、
少なくとも表示用画像データを記憶する記憶手段と、
前記描画データを生成する機能を含み、前記記憶手段の記憶データに基づいて、画像データに所定の処理を行なうロジック回路と、
前記記憶手段にデータを書き込む書き込み系回路と、
前記記憶手段に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、
前記記憶手段は、同一機能を有する複数のモジュールに分割され、
前記書き込み系回路は、
前記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群を介して接続され、書き込み時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラと、
書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを、前記複数画素について同時に前記複数のモジュールにアクセスが行なわれるように出力するディストリビュータと、
書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力する複数のアドレスコンバータと、を含み、
前記読み出し系回路は、
前記各モジュールと前記書き込み系配線群とは異なる読み出し系配線群を介して接続され、前記各モジュールから複数の画素単位で読み出しを行なう読み出しコントローラを含み、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラは、それぞれシステムクロック信号を基準とした通常動作と、スキャンクロック信号を基準としたスキャンパス動作とを選択して行なう複数のフリップフロップ回路を内蔵し、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子にシステムクロック信号を供給するための第1の配線と、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子にスキャンクロック信号を供給するための第2の配線と、
通常動作時に、前記第1の配線に、システムクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するシステムクロック信号供給手段と、
スキャンパス動作時に、前記第2の配線に、スキャンクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するスキャンクロック信号供給手段と
を有し、
前記第1の配線と前記第2の配線とを略平行に隣接して配置し、
前記スキャンクロック信号供給手段は、通常動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子に接続される前記第2の配線をシールド線として機能させ、
前記システムクロック信号供給手段は、スキャンパス動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子に接続される前記第1の配線をシールド線として機能させる
グラフィック演算装置。 - 前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで、前記第1の配線と前記第2の配線とを平行に配置した
請求項5に記載のグラフィック演算装置。 - 前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記複数のフリップフロップ回路を含む回路モジュールである前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの入力部まで、前記第1の配線と前記第2の配線とを平行に配置した
請求項5に記載のグラフィック演算装置。 - 前記第1の配線と前記第2の配線とを、分岐回路を介して前記複数のフリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで配線し、前記分岐回路の各分岐段において対となるバッファを介して略平行に隣接して配置した
請求項5に記載のグラフィック演算装置。 - ディスプレイに表示する所定の形状を単位図形の組み合わせで表現するために、複数の画素についての演算を同時に行ない、処理対象となっている前記単位図形の内側に位置する画素についての演算結果を有効なものとして用いて処理を行なうグラフィック演算装置において、
前記単位図形の頂点について、3次元座標(x,y,z)、R(赤),G(緑),B(青)データ、同次座標(s,t)および同次項qを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成装置と、
前記ポリゴンレンダリングデータを用いてレンダリング処理を行なうレンダリング装置と、
前記ポリゴンレンダリングデータ生成装置と前記レンダリング装置とを接続するバスと
を有し、
前記レンダリング装置は、
テクスチャデータおよび描画データを記憶する記憶手段と、
各画素について、当該画素に対応するテクスチャデータを前記記憶手段から読み出して描画データを生成し、当該生成した描画データを前記記憶手段に書き込む、複数のフリップフロップ回路を組み合わせて構成された描画データ生成機能を含むロジック回路と、
前記記憶手段にデータを書き込む書き込み系回路と、
前記記憶手段に記憶されたデータを前記書き込み系回路と異なる経路で読み出す読み出し系回路とを有し、
前記記憶手段は、同一機能を有する複数のモジュールに分割され、
前記書き込み系回路は、
前記各モジュールに対応して設けられ、それぞれ対応するモジュールと書き込み系配線群を介して接続され、書き込み時に各モジュールに対しての並列アクセスを制御する複数のメモリコントローラと、
書き込み時に、複数画素分のデータおよび書き込みアドレスを入力し、当該データを所定画素分のデータからなる前記モジュールの分割数に相当する複数の画像データに分割し、当該分割した画像データおよび書き込みアドレスを、前記複数画素について同時に前記複数のモジュールにアクセスが行なわれるように出力するディストリビュータと、
書き込み時に、前記ディストリビュータから入力した画像データおよびアドレスを、それぞれ前記各モジュール内のアドレスに変換し、それぞれ変換したアドレスと分割された画像データを前記複数のメモリコントローラに出力する複数のアドレスコンバータと、を含み、
前記読み出し系回路は、
前記各モジュールと前記書き込み系配線群とは異なる読み出し系配線群を介して接続され、前記各モジュールから複数の画素単位で読み出しを行なう読み出しコントローラを含み、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラは、それぞれシステムクロック信号を基準とした通常動作と、スキャンクロック信号を基準としたスキャンパス動作とを選択して行なう複数のフリップフロップ回路を内蔵し、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子にシステムクロック信号を供給するための第1の配線と、
前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子にスキャンクロック信号を供給するための第2の配線と、
通常動作時に、前記第1の配線に、システムクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するシステムクロック信号供給手段と、
スキャンパス動作時に、前記第2の配線に、スキャンクロック信号を印加して、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路に供給するスキャンクロック信号供給手段と
を有し、
前記第1の配線と前記第2の配線とを略平行に隣接して配置し、
前記スキャンクロック信号供給手段は、通常動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第2の入力端子に接続される前記第2の配線をシールド線として機能させ、
前記システムクロック信号供給手段は、スキャンパス動作時に、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の第1の入力端子に接続される前記第1の配線をシールド線として機能させる
グラフィック演算装置。 - 前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの前記各フリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで、前記第1の配線と前記第2の配線とを平行に配置した
請求項9に記載のグラフィック演算装置。 - 前記システムクロック信号供給手段および前記スキャンクロック信号供給手段の出力端子の近傍から、前記複数のフリップフロップ回路を含む回路モジュールである前記ロジック回路、前記メモリコントローラ、前記ディストリビュータ、前記アドレスコンバータ、および前記読み出しコントローラの入力部まで、前記第1の配線と前記第2の配線とを平行に配置した
請求項9に記載のグラフィック演算装置。 - 前記第1の配線と前記第2の配線とを、分岐回路を介して前記複数のフリップフロップ回路の前記第1の入力端子および前記第2の入力端子まで配線し、前記分岐回路の各分岐段において対となるバッファを介して略平行に隣接して配置した
請求項9に記載のグラフィック演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05337798A JP4580475B2 (ja) | 1998-03-05 | 1998-03-05 | 演算処理装置およびグラフィック演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05337798A JP4580475B2 (ja) | 1998-03-05 | 1998-03-05 | 演算処理装置およびグラフィック演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11249642A JPH11249642A (ja) | 1999-09-17 |
JP4580475B2 true JP4580475B2 (ja) | 2010-11-10 |
Family
ID=12941138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05337798A Expired - Fee Related JP4580475B2 (ja) | 1998-03-05 | 1998-03-05 | 演算処理装置およびグラフィック演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4580475B2 (ja) |
-
1998
- 1998-03-05 JP JP05337798A patent/JP4580475B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11249642A (ja) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4707782B2 (ja) | 画像処理装置およびその方法 | |
JP4568950B2 (ja) | グラフィックス描画装置 | |
JP4182575B2 (ja) | 記憶装置および画像データ処理装置 | |
US6473091B1 (en) | Image processing apparatus and method | |
JP4069486B2 (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
JP4505866B2 (ja) | 画像処理装置および映像信号処理方法 | |
JP2002076120A (ja) | 半導体装置 | |
US6563507B1 (en) | Storage circuit control device and graphic computation device | |
US7372461B2 (en) | Image processing apparatus and method of same | |
JP4580475B2 (ja) | 演算処理装置およびグラフィック演算装置 | |
JP4665268B2 (ja) | 画像処理装置 | |
JP4314655B2 (ja) | 画像処理装置 | |
JP4042204B2 (ja) | グラフィック演算装置およびその方法 | |
JP3741053B2 (ja) | 画像処理装置 | |
JP4622165B2 (ja) | 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 | |
JPH11306366A (ja) | グラフィック演算装置およびその方法 | |
JP4828006B2 (ja) | 画像処理装置 | |
JPH11272548A (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
JP4325038B2 (ja) | 画像処理装置 | |
JP2003132347A (ja) | 画像処理装置 | |
JP4081860B2 (ja) | 画像処理装置 | |
JP4232234B2 (ja) | 画像処理装置 | |
JPH11288467A (ja) | データ転送装置およびグラフィック演算装置 | |
JP4345157B2 (ja) | 画像処理装置 | |
JP4224887B2 (ja) | 信号処理装置および画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060906 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071009 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071210 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071217 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
R155 | Notification before disposition of declining of application |
Free format text: JAPANESE INTERMEDIATE CODE: R155 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100830 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |