JPH11316856A - 画像処理装置 - Google Patents

画像処理装置

Info

Publication number
JPH11316856A
JPH11316856A JP11016529A JP1652999A JPH11316856A JP H11316856 A JPH11316856 A JP H11316856A JP 11016529 A JP11016529 A JP 11016529A JP 1652999 A JP1652999 A JP 1652999A JP H11316856 A JPH11316856 A JP H11316856A
Authority
JP
Japan
Prior art keywords
data
texture
circuit
memory
storage circuit
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.)
Granted
Application number
JP11016529A
Other languages
English (en)
Other versions
JP4314655B2 (ja
Inventor
Mutsuhiro Omori
睦弘 大森
Toshio Horioka
俊男 堀岡
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 JP01652999A priority Critical patent/JP4314655B2/ja
Priority to US09/260,031 priority patent/US6803918B1/en
Priority to CA002264400A priority patent/CA2264400C/en
Priority to EP99400518A priority patent/EP0940772B1/en
Priority to DE1999614814 priority patent/DE69914814T2/de
Publication of JPH11316856A publication Critical patent/JPH11316856A/ja
Application granted granted Critical
Publication of JP4314655B2 publication Critical patent/JP4314655B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

(57)【要約】 【課題】表示の解像度の変化によって空きとなったメモ
リ領域をテクスチャ用に利用でき、ペ−ジ切り替え等の
オーバーヘッドの増大を防止でき、性能の低下を招くこ
とがない、柔軟でかつ高速処理が可能な画像処理装置を
提供する。 【解決手段】半導体チップ内部に内蔵されたDRAM1
47に、表示デ−タと少なくとも一つの図形要素が必要
とするテクスチャデ−タを記憶させた構成とする。これ
により、表示領域以外の部分にテクスチャデ−タを格納
できることになり、内蔵DRAMの有効利用が可能とな
り、高速処理動作、並びに低消費電力化を並立させるよ
うにした画像処理装置が実現可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、グラフィックス描
画画像処理装置に関し、特にDRAM等のメモリとロジ
ック回路を混載させた場合における、描画する図形要素
に張り付けるテクスチャデータを、内蔵メモリに記憶さ
せる技術分野に関するものである。
【0002】
【従来の技術】種々のCAD(Computer Aided Design)
システムや、アミューズメント装置などにおいて、コン
ピュータグラフィックスがしばしば用いられている。特
に、近年の画像処理技術の進展に伴い、3次元コンピュ
ータグラフィックスを用いたシステムが急速に普及して
いる。このような3次元コンピュータグラフィックスで
は、各画素(ピクセル)に対応する色を決定するとき
に、各画素の色の値を計算し、この計算した色の値を、
当該画素に対応するディスプレイバッファ(フレームバ
ッファ)のアドレスに書き込むレンダリング(Renderin
g) 処理を行う。
【0003】レンダリング処理の手法の一つに、ポリゴ
ン(Polygon)レンダリングがある。この手法では、立体
モデルを三角形の単位図形(ポリゴン)の組み合わせと
して表現しておき、このポリゴンを単位として描画を行
うことで、表示画面の色を決定する。
【0004】ポリゴンレンダリングでは、物理座標系に
おける三角形の各頂点についての、座標(x,y,z)
と、色データ(R,G,B)と、張り合わせのイメージ
パターンを示すテクスチャデータの同次座標(s,t)
および同次項qの値とを入力とし、これらの値を三角形
の内部で補間する処理が行われる。ここで、同次項q
は、簡単にいうと、拡大縮小率のようなもので、実際の
テクスチャバッファのUV座標系における座標、すなわ
ち、テクスチャ座標データ(u,v)は、同次座標
(s,t)を同次項qで除算した「s/q」および「t
/q」に、それぞれテクスチャサイズUSIZEおよび
VSIZEを乗じたものとなる。
【0005】図15は、3次元コンピュータグラフィッ
クスシステムの基本的な概念を示すシステム構成図であ
る。
【0006】この3次元コンピュータグラフィックスシ
ステムにおいては、グラフィックス描画等のデータは、
メインプロセッサ1のメインメモリ2、あるいは外部か
らのグラフィックスデータを受けるI/Oインタフェー
ス回路3からメインバス4を介してレンダリングプロセ
ッサ5a、フレームバッファメモリ5bを有するレンダ
リング回路5に与えられる。
【0007】レンダリングプロセッサ5aには、表示す
るためのデータを保持することを目的とするフレームバ
ッファメモリ5bと、描画する図形要素(たとえば三角
形)の表面に張り付けるテクスチャデータを保持してい
るテクスチャメモリ6が結合されている。そして、レン
ダリングプロセッサ5aによって、図形要素毎に表面に
テクスチャを張り付けた図形要素を、フレームバッファ
メモリ5bに描画するという処理が行われる。
【0008】フレームバッファメモリ5bとテクスチャ
メモリ6は、一般的にDRAM(Dynamic Random Access
Memory)により構成される。そして、図15のシステム
においては、フレームバッファメモリ5bとテクスチャ
メモリ6は、物理的に別々のメモリシステムとして構成
されている。なお、DRAMとロジック回路を混載させ
ることができるようになってからも、テクスチャデータ
を内部に保持することはDRAMの容量の制限と処理速
度の両面から困難であった。
【0009】
【発明が解決しようとする課題】ところで、上記におけ
る従来のいわゆる内蔵DRAMシステムにおいて、フレ
ームバッファメモリとテクスチャメモリが別々のメモリ
システムに別れている場合においては、以下のような不
利益があった。
【0010】第1に、表示の解像度の変化によって空き
となったフレームバッファメモリをテクスチャ用に利用
できない。このことは、内蔵DRAMという限られた容
量のなかですべてを処理しようとする場合に大きな問題
となる。
【0011】第2に、フレームバッファメモリとテクス
チャメモリを物理的に同一にすると、フレームバッファ
メモリとテクスチャメモリの同時アクセスにおいて、D
RAMのペ−ジ切り替え等のオーバーヘッドが大きくな
り、性能を犠牲にしなければならなくなる。
【0012】これらの問題は、特に内蔵DRAM型のグ
ラフィックス描画装置に限ったわけではなく、外付けD
RAM型のシステムにおいても問題ではあったが、容量
制限が厳しい内蔵型ほどは深刻な課題ではなかった。
【0013】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、表示の解像度の変化によって空
きとなったメモリ領域をテクスチャ用に利用でき、ペ−
ジ切り替え等のオーバーヘッドの増大を防止でき、性能
の低下を招くことがない、柔軟でかつ高速処理が可能な
画像処理装置を提供することにある。
【0014】
【課題を解決するための手段】上記目的を達成するた
め、本発明の画像処理装置は、表示デ−タと少なくとも
一つの図形要素が必要とするテクスチャデ−タを記憶す
る記憶回路と、上記記憶回路の記憶データに基づいて、
表示データの図形要素の表面へのテクスチャデータの張
り付け処理を行うロジック回路とを有し、上記記憶回路
および上記ロジック回路が一つの半導体チップ内に混載
されている。
【0015】また、本発明は、単位図形の頂点につい
て、3次元座標(x,y,z)、R(赤),G(緑),
B(青)データ、テクスチャの同次座標(s,t)およ
び同次項qを含むポリゴンレンダリングデータを受けて
レンダリング処理を行う画像処理装置であって、表示デ
−タと少なくとも一つの図形要素が必要とするテクスチ
ャデ−タを記憶する記憶回路と、前記単位図形の頂点の
ポリゴンレンダリングデータを補間して、前記単位図形
内に位置する画素の補間データを生成する補間データ生
成回路と、前記補間データに含まれるテクスチャの同次
座標(s,t)を同次項qで除算して「s/q」および
「t/q」を生成し、前記「s/q」および「t/q」
に応じたテクスチャアドレスを用いて、前記記憶回路か
らテクスチャデータを読み出し、表示データの図形要素
の表面へのテクスチャデータの張り付け処理を行うテク
スチャ処理回路とを少なくとも有し、前記記憶回路、補
間データ生成回路およびテクスチャ処理回路が一つの半
導体チップ内に混載されている。
【0016】また、本発明では、上記記憶回路は、同一
機能を有する複数のモジュールに分割され、上記各モジ
ュールは並列にアクセスされる。
【0017】また、本発明では、上記記憶回路には、表
示アドレス空間において、隣接するアドレスにおける表
示要素が、異なる記憶ブロックになるように配置され
る。
【0018】また、本発明では、上記記憶回路には、イ
ンデックスカラ−におけるインデックスと、カラ−参照
のためのカラ−ルックアップテ−ブル値とが記憶されて
いる。
【0019】また、上記記憶回路には、描画しようとし
ている物体の奥行き情報が記憶されている。
【0020】本発明によれば、一つの半導体チップの内
部に、DRAM等の記憶回路とロジック回路を混載さ
せ、表示デ−タと少なくとも一つの図形要素が必要とす
るテクスチャデ−タを、内蔵の記憶回路に記憶させてい
ることにより、表示領域以外の部分にテクスチャデ−タ
を格納できることになり、内蔵メモリの有効利用が可能
となる。
【0021】また、記憶回路における同一機能を独立し
た複数のモジュ−ルとして並列にもつことにより、並列
動作の効率が向上する。単にデ−タのビット数が多いだ
けでは、デ−タの使用効率は悪化し、性能向上できるの
は一部の条件の場合に限定されることになるが、平均的
な性能を向上させるためには、ある程度の機能をもった
モジュ−ルを、複数設けることで、ビット線が有効に利
用できる。
【0022】また、内蔵記憶回路の配置、すなわち、そ
れぞれの独立されたメモリ+機能モジュ−ルが、占有す
るアドレス空間を工夫することで、さらにビット線の有
効利用が可能となる。グラフィックス描画におけるよう
な、比較的固まった表示領域へのアクセスが多い場合に
は、表示アドレス空間において、隣接するアドレスにお
ける表示要素が、それぞれ異なるメモリのブロックにな
るように配置することで、それぞれのモジュ−ルが同時
に処理できる確率が増加し、描画性能の向上が可能とな
る。固まった表示領域へのアクセスが多いというのは、
三角形等の閉領域の内部を描画しようとした場合、その
内部の表示要素どうしは隣接しているので、そのような
領域へのアクセスはアドレス隣接することになる。
【0023】また、より多くのテクスチャデ−タを格納
するために、インデックスカラ−におけるインデックス
と、そのためのカラ−ルックアップテ−ブル値を内蔵記
憶回路内部に格納することで、テクスチャデ−タの圧縮
が可能となり、内蔵記憶回路の効率良い利用が可能とな
る。
【0024】また、本発明によれば、描画しようとして
いる物体の奥行き情報を、内蔵の記憶回路に格納するこ
とで、描画と同時並行的に隠れ面処理を行うことが可能
となる。
【0025】
【発明の実施の形態】以下、本実施形態においては、パ
ーソナルコンピュータなどに適用される、任意の3次元
物体モデルに対する所望の3次元画像をCRT(Cathode
Ray Tube)などのディスプレイ上に高速に表示する3次
元コンピュータグラフィックスシステムについて説明す
る。
【0026】図1は、本発明に係る画像処理装置として
の3次元コンピュータグラフィックスシステム10のシ
ステム構成図である。
【0027】3次元コンピュータグラフィックスシステ
ム10は、立体モデルを単位図形である三角形(ポリゴ
ン)の組み合わせとして表現し、このポリゴンを描画す
ることで表示画面の各画素の色を決定し、ディスプレイ
に表示するポリゴンレンダリング処理を行うシステムで
ある。また、3次元コンピュータグラフィックスシステ
ム10では、平面上の位置を表現する(x,y)座標の
他に、奥行きを表すz座標を用いて3次元物体を表し、
この(x,y,z)の3つの座標で3次元空間の任意の
一点を特定する。
【0028】図1に示すように、3次元コンピュータグ
ラフィックスシステム10は、メインプロセッサ11、
メインメモリ12、I/Oインタフェース回路13、お
よびレンダリング回路14が、メインバス15を介して
接続されている。以下、各構成要素の機能について説明
する。
【0029】メインプロセッサ11は、たとえば、アプ
リケーションの進行状況などに応じて、メインメモリ1
2から必要なグラフィックデータを読み出し、このグラ
フィックデータに対してクリッピング(Clipping)処理、
ライティング(Lighting)処理などのジオメトリ(Geometr
y)処理などを行い、ポリゴンレンダリングデータを生成
する。メインプロセッサ11は、ポリゴンレンダリング
データS11を、メインバス15を介してレンダリング
回路14に出力する。
【0030】I/Oインタフェース回路13は、必要に
応じて、外部から動きの制御情報またはポリゴンレンダ
リングデータなどを入力し、これをメインバス15を介
してレンダリング回路14に出力する。
【0031】ここで、ポリゴンレンダリングデータは、
ポリゴンの各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)を用いて行われ
る。すなわち、ポリゴンレンダリングデータは、三角形
の各頂点の物理座標値と、それぞれの頂点の色とテクス
チャデータである。
【0032】以下、レンダリング回路14について詳細
に説明する。図1に示すように、レンダリング回路14
は、DDA(Digital DifferentialAnarizer) セットア
ップ回路141、トライアングルDDA回路142、テ
クスチャエンジン回路143、メモリインタフェース
(I/F)回路144、CRTコントロール回路14
5、RAMDAC回路146、DRAM147およびS
RAM(Static RAM)148を有する。本実施形態におけ
るレンダリング回路14は、一つの半導体チップ内にロ
ジック回路と少なくとも表示データとテクスチャデータ
とを記憶するDRAM147とが混載されている。
【0033】DRAM147 DRAM147は、テクスチャバッファ147a、ディ
スプレイバッファ147b、zバッファ147cおよび
テクスチャCLUT(Color Look Up Table) バッファ1
47dとして機能する。また、DRAM147は、後述
するように、同一機能を有する複数(本実施形態では4
個)のモジュールに分割されている。
【0034】また、DRAM147には、より多くのテ
クスチャデ−タを格納するために、インデックスカラ−
におけるインデックスと、そのためのカラ−ルックアッ
プテ−ブル値が、テクスチャCLUTバッファ147d
に格納されている。インデックスおよびカラ−ルックア
ップテ−ブル値は、テクスチャ処理に使われる。すなわ
ち、通常はR,G,Bそれぞれ8ビットの合計24ビッ
トでテクスチャ要素を表現するが、それではデ−タ量が
膨らむため、あらかじめ選んでおいたたとえば256色
等の中から一つの色を選んで、そのデ−タをテクスチャ
処理に使う。このことで256色であればそれぞれのテ
クスチャ要素は8ビットで表現できることになる。イン
デックスから実際のカラ−への変換テ−ブルは必要にな
るが、テクスチャの解像度が高くなるほど、よりコンパ
クトなテクスチャデ−タとすることが可能となる。これ
により、テクスチャデ−タの圧縮が可能となり、内蔵D
RAMの効率良い利用が可能となる。
【0035】さらにDRAM147には、描画と同時並
行的に隠れ面処理を行うため、描画しようとしている物
体の奥行き情報が格納されている。なお、表示データと
奥行きデータおよびテクスチャデータの格納方法として
は、たとえばメモリブロックの所定の位置、たとえば先
頭から連続して表示データが格納され、次に奥行きデー
タが格納され、残りの空いた領域に、テクスチャの種類
毎に連続したアドレス空間でテクスチャデータが格納さ
れる。図面に関連付けて概念的に説明すると、図2
(a)〜(c)に示すように、いわゆるベースポインタ
(BP)で示された位置から図中FBで示す領域に、た
とえば24ビット幅で表示データと奥行きデータが格納
され、残りの空いた領域である8ビット幅の領域に図中
TBで示すようにテクスチャデータが格納される。これ
により、テクスチャデータを効率よく格納できることに
なる。
【0036】図3は、DRAM147、SRAM14
8、並びに、DRAM147およびSRAM148へア
クセスするメモリI/F回路144の具体的な構成例を
示すブロック図である。
【0037】図3に示すように、図1に示すDRAM1
47およびSRAM148は、前述したように4個のメ
モリモジュール200,210,220,230に分割
されている。
【0038】メモリモジュール200は、メモリ20
1,202を有する。メモリ201は、DRAM147
の一部を構成するバンク201A,201Bと、SRA
M148の一部を構成するバンク201C,201Dと
を有する。また、メモリ202は、DRAM147の一
部を構成するバンク202A,202Bと、SRAM1
48の一部を構成するバンク202C,202Dとを有
する。なお、SRAM148を構成するバンク201
C,201D,202C,202Dに対しては同時アク
セスが可能である。
【0039】メモリモジュール210は、メモリ21
1,212を有する。メモリ211は、DRAM147
の一部を構成するバンク211A,211Bと、SRA
M148の一部を構成するバンク211C,211Dと
を有する。また、メモリ212は、DRAM147の一
部を構成するバンク212A,212Bと、SRAM1
48の一部を構成するバンク212C,212Dとを有
する。なお、SRAM148を構成するバンク211
C,211D,212C,212Dに対しては同時アク
セスが可能である。
【0040】メモリモジュール220は、メモリ22
1,222を有する。メモリ221は、DRAM147
の一部を構成するバンク221A,221Bと、SRA
M148の一部を構成するバンク221C,221Dと
を有する。また、メモリ222は、DRAM147の一
部を構成するバンク222A,222Bと、SRAM1
48の一部を構成するバンク222C,222Dとを有
する。なお、SRAM148を構成するバンク221
C,221D,222C,222Dに対しては同時アク
セスが可能である。
【0041】メモリモジュール230は、メモリ23
1,232を有する。メモリ231は、DRAM147
の一部を構成するバンク231A,231Bと、SRA
M148の一部を構成するバンク231C,231Dと
を有する。また、メモリ232は、DRAM147の一
部を構成するバンク232A,232Bと、SRAM1
48の一部を構成するバンク232C,232Dとを有
する。なお、SRAM148を構成するバンク231
C,231D,232C,232Dに対しては同時アク
セスが可能である。
【0042】ここで、メモリモジュール200,21
0,220,230の各々は、図1に示すテクスチャバ
ッファ147a、ディスプレイバッファ147b、Zバ
ッファ147cおよびテクスチャCLUTバッファ14
7dの全ての機能を持つ。すなわち、メモリモジュール
200,210,220,230の各々は、対応する画
素のテクスチャデータ、描画データ((R,G,B)デ
ータ)、zデータおよびテクスチャカラールックアップ
テーブルデータの全てを記憶する。ただし、メモリモジ
ュール200,210,220,230は、相互で異な
る画素についてのデータを記憶する。ここで、同時に処
理される16画素についてのテクスチャデータ、描画デ
ータ、zデータおよびテクスチャカラールックアップテ
ーブルデータが、相互に異なるバンク201A,201
B,202A,202B,211A,211B,212
A,212B,221A,221B,222A,222
B,231A,231B,232A,232Bに記憶さ
れる。これにより、メモリI/F回路144は、DRA
M147に対して、たとえば2×8画素の16画素につ
いてのデータが同時にアクセス可能になる。なお、メモ
リI/F回路144は、後述するように、いわゆる所定
のインターリーブ方式のアドレッシングに基づいてDR
AM147へのアクセス(書き込み)を行う。
【0043】図4は、DRAM147のバッファ(たと
えばテクスチャバッファ)としての構成例を示す概略図
である。図4に示すように、2×8画素(ピクセル)の
領域でメモリアクセスされたデータは、ページ(ロウ)
とブロック(カラム)で示される領域に格納される。各
ロウROW0〜ROWn+1 は、図4(a)に示すよう
に、それぞれ4個のカラム(ブロック)M0A,M0
B,M1A,M1Bに区分けされている。そして、x方
向について8画素毎のバウンダリ、かつy方向について
偶数のバウンダリでの領域でアクセス(書き込み、読み
出し)が行われる。これにより、たとえばロウROW0
とロウROW1をまたぐような領域へのアクセスが行わ
れることがなく、いわゆるページ違反が発生することが
ない。
【0044】なお、バンク201C,201D,202
C,202D,211C,211D,212C,212
D,221C,221D,222C,222D,231
C,231D,232C,232Dには、それぞれバン
ク201A,201B,202A,202B,211
A,211B,212A,212B,221A,221
B,222A,222B,231A,231B,232
A,232Bに記憶されているテクスチャデータが記憶
される。
【0045】次に、インターリーブ方式のアドレッシン
グに基づくテクスチャバッファ147aにおけるテクス
チャデータの記憶パターンについて、図5〜図7に関連
付けてさらに詳細に説明する。図5はテクスチャデータ
に含まれる同時にアクセスが行われる画素データを説明
するための図、図6はテクスチャデータを構成する単位
ブロックを説明するための図、図7はテクスチャバッフ
ァのアドレス空間を説明するするための図である。
【0046】本実施形態の場合、図5に示すように、テ
クスチャデータに含まれる、2×8のマトリクス状に配
置された画素の色データを示す画素データP0 〜P
15が、同時にアクセスされる。
【0047】画素データP0 〜P15は、テクスチャバッ
ファ147aを構成するSRAM148の異なるバンク
に記憶される必要がある。本実施形態では、画素データ
0 ,P1 ,P8 ,P9 が、それぞれ図3に示すメモリ
201のバンク201C,201Dおよびメモリ202
のバンク202C,202Dに記憶される。また、画素
データP2 ,P3 ,P10,P11が、それぞれ図3に示す
メモリ211のバンク211C,211Dおよびメモリ
212のバンク212C,212Dに記憶される。ま
た、画素データP4 ,P5 ,P12,P13が、それぞれ図
3に示すメモリ221のバンク221C,221Dおよ
びメモリ222のバンク222C,222Dに記憶され
る。さらに、画素データP6 ,P7 ,P14,P15が、そ
れぞれ図3に示すメモリ231のバンク231C,23
1Dおよびメモリ232のバンク232C,232Dに
記憶される。
【0048】本実施形態では、同時に処理される矩形領
域内に位置する画素の画素データP0 〜P15の組を単位
ブロックRi と呼び、たとえば、1枚のイメージを示す
テクスチャデータは、図6に示すように、B×Aのマト
リクス状に配置された単位ブロックR0 〜RBA-1からな
る。単位ブロックR0 〜RBA-1は、図7に示すように、
1次元のアドレス空間で連続したアドレスを持つよう
に、テクスチャバッファ147aを構成するDRAM1
47に記憶されている。また、各単位ブロックR0 〜R
BA-1内の画素データP0 〜P15は、1次元のアドレス空
間内で連続したアドレスを持つように、SRAM148
の相互に異なるバンクに記憶される。すなわち、テクス
チャバッファ147aには、同時にアクセスが行われる
画素データからなる単位ブロックが、一次元のアドレス
空間で連続したアドレスを持つように記憶される。
【0049】DDAセットアップ回路141 DDAセットアップ回路141は、後段のトライアング
ルDDA回路142において物理座標系上の三角形の各
頂点の値を線形補間して、三角形の内部の各画素の色と
深さ情報を求めるに先立ち、ポリゴンレンダリングデー
タS11が示す(z,R,G,B,s,t,q)データ
について、三角形の辺と水平方向の差分などを求めるセ
ットアップ演算を行う。このセットアップ演算は、具体
的には、開始点の値と終点の値と、開始点と終点との距
離を用いて、単位長さ移動した場合における、求めよう
としている値の変分を算出する。DDAセットアップ回
路141は、算出した変分データS141をトライアン
グルDDA回路142に出力する。
【0050】DDAセットアップ回路141の機能につ
いて図8に関連付けてさらに説明する。上述したよう
に、DDAセットアップ回路141の主な処理は、前段
のジオメトリ処理を経て物理座標にまで落ちてきた各頂
点における各種情報(色、テクスチャ座標、)の与えら
れた三頂点により構成される三角形内部で変分を求め
て、後段の線形補間処理の基礎デ−タを算出することで
ある。なお、三角形の各頂点データは、たとえばx,y
座標が16ビット、z座標が24ビット、RGBカラー
値が各12ビット(=8+4)、s,t,qテクスチャ
座標は各32ビット浮動少数値(IEEEフォーマッ
ト)で構成される。
【0051】三角形の描画は水平ラインの描画に集約さ
れるが、そのために水平ラインの描画開始点における最
初の値を求める必要がある。この水平ラインの描画にお
いては、一つの三角形の中でその描画方向は一定にす
る。たとえば左から右へ描画する場合は、左側の辺にお
けるY方向変位に対するXおよび上記各種の変分を算出
しておいて、それを用いて頂点から次の水平ラインに移
った場合の最も左の点のx座標と、上記各種情報の値を
求める(辺上の点はY,X両方向に変化するのでY方向
の傾きのみでは計算できない。)。右側の辺に関しては
終点の位置がわかればよいので、Y方向変位に対するx
の変分のみを調べておけばよい。水平ラインの描画に関
しては、水平方向の傾きは同一三角形内では均一なの
で、上記各種情報の傾きを算出しておく。与えられた三
角形をY方向にソートして最上位の点をAとする。次に
残りの2頂点のX方向の位置を比較して右側の点をBと
する。こうすることで、処理の場合分け等が2通り程度
にできる。
【0052】トライアングル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をテクスチャエンジン回路1
43に出力する。
【0053】トライアングルDDA回路142の機能に
ついて図9に関連付けてさらに説明する。上述したよう
に、DDAセットアップ回路141により、三角形の各
辺と水平方向における先出の各種情報の傾き情報が準備
され、この情報を受けたトライアングルDDA回路14
2の基本的処理は、三角形の辺上の各種情報の補間処理
による水平ラインの初期値の算出と、水平ライン上での
各種情報の補間処理である。ここで最も注意しなければ
ならないことは、補間結果の算出は、画素中心における
値を算出する必要があるということである。その理由
は、算出する値が画素中心からはずれたところを求めて
いては、静止画の場合はさほど気にならないが、動画に
した場合には、画像の揺らぎが目立つようになるからで
ある。
【0054】最初の水平ライン(当然画素中心を結んだ
ライン)の一番左側における各種情報は、辺上の傾きに
頂点からその最初の水平ラインまでの距離をかけてやる
ことで求めることができる。次のラインにおける開始位
置での各種情報は、辺上の傾きを足してゆくことで算出
できる。水平ラインにおける最初の画素での値は、ライ
ンの開始位置における値に、最初の画素までの距離と水
平方向の傾きをかけた値を足すことで算出できる。水平
ラインにおける次の画素における値は、最初の画素の値
に対してつぎつぎに水平方向の傾きを足し込んでゆけば
算出できる。
【0055】次に、頂点のソートについて図10に関連
付けて説明する。頂点をあらかじめソートしておくこと
で、以降の処理の場合分けを最大限に減らし、かつ、補
間処理においてもできるだけ一つの三角形の内部におい
ては、矛盾が生じにくくすることができる。ソートのや
り方としては、まずすべての与えられた頂点をY方向に
ソートして、最上位の点と最下位の点を決めそれぞれA
点、C点とする。残りの点はB点とする。このようにす
ることで、Y方向に最も長く伸びた辺が辺ACとなり、
最初に辺ACと辺ABを用いてその二つの辺で挟まれた
領域の補間処理を行い、次に辺ACはそのままで、辺A
Bに変えて辺BCと辺ACで挟まれた領域の補間を行う
という処理になる。また、Y方向の画素座標格子上への
補正に関しても、辺ACと辺BCについて行っておけば
よいこともわかる。このようにして、ソート後の処理に
場合分けが不必要になることで、データを単純に流すだ
けの処理で可能となりバグも発生しにくくなるし、構造
もシンプルになる。また、一つの三角形の中で補間処理
の方向が辺BC上を開始点として一定にできるため、水
平方向の補間(Span)の方向が一定となり、演算誤差があ
ったとしても辺BCから他の辺に向かって誤差が蓄積さ
れるかたちとなり、その蓄積の方向が一定となるため、
隣接する辺同士での誤差は目立たなくなる。
【0056】次に、水平方向の傾き算出について図11
に関連付けて説明する。三角形内における各種変数
(x,y,z,R,G,B,s,t,q)の(x,y)
に対する傾き(変数分)は、線形補間であることから一
定となる。したがって、水平方向の傾き、すなわち、各
水平ライン(Span)上での傾きはどのSpanにおいても、一
定となるので、各Spanの処理に先立ってその傾きを求め
ておくことになる。三角形の与えられた頂点をY方向に
ソートした結果、辺ACが最も長く伸びた辺と再定義さ
れているので、頂点Bを水平方向に伸ばしたラインと辺
ACの交点が必ず存在するのでその点をDとする。後は
単純に点Bと点Dの間の変分を求めるようなことを行え
ば、水平方向すなわちx方向の傾きを求めることができ
る。
【0057】具体的には、D点でのxおよびz座標は次
式のようになる。
【0058】
【数1】xd ={(yd −ya )/(yc −ya )}・
(xc −xa ) zd ={(yd −ya )/(yc −ya )}・(zc
a
【0059】これに基づいて、変数zのx方向の傾きを
求めると、次のようになる。
【0060】
【数2】 Δz/Δx=(zd −zb )/(xd −xb ) =〔{(yd −ya )/(yc −ya )}・(zc −za )−zb 〕 /〔{(yd −ya )/(yc −ya )}・(xc −xa )−xb 〕 ={zb (yc −ya )−(zc −za )(yc −ya )} /{xb (yc −ya )−(zc −za )(yc −ya )}
【0061】次に、頂点データの補間手順の一例につい
て、図12および図13に関連付けて説明する。頂点の
ソート、水平方向の傾き算出、各辺上での傾きの算出処
理を経て、それらの結果を使って補間処理を行う。B点
の位置によって、Spanでの処理の向きは2通りに別れ
る。これは、一つの三角形の内部での補間における各Sp
an同士での誤差の蓄積方向を、一定にすることで、でき
るだけ不具合が発生しないようにするために、Y方向に
最も長く伸びた辺を常に始点として、処理するようにし
ようとしているからである。B点がA点と同じ高さにあ
った場合には、前半の処理はスキップされることにな
る。よって、場合分けというよりは、スキップが可能な
機構を設けておくだけで処理としてはすっきりしたもの
とできる。複数のSpanを同時処理することで、処理能力
をあげようとした場合には、Y方向における傾きを求め
たくなるが、頂点のソートからやり直す必要があること
になる。しかしながら、補間処理の前処理だけでことが
済むために、全体としての処理系は簡単にできる。
【0062】具体的には、B点がA点と同じ高さでない
場合には、AC,ABのY方向補正(画素格子上の値算
出)を行い(ST1,ST2)、AC辺上の補間および
AB辺上の補間を行う(ST3)。そして、AC水平方
向の補正およびAC辺からAB辺方向の水平ライン(Spa
n)上を補間する(ST4)。以上のステップST3,S
T4の処理をAB辺の端点まで行う(ST5)。AB辺
の端点までステップST2〜ST4の処理が終了した場
合、あるいはステップST1においてB点がA点が同じ
高さであると判別した場合には、BCのY方向補正(画
素格子上の値算出)を行い(ST6)、AC辺上の補間
およびBC辺上の補間を行う(ST7)。そして、AC
水平方向の補正およびAC辺からBC辺方向の水平ライ
ン(Span)上を補間する(ST8)。以上のステップST
7,ST8の処理をBC辺の端点まで行う(ST9)。
【0063】テクスチャエンジン回路143 テクスチャエンジン回路143は、「s/q」および
「t/q」の算出処理、テクスチャ座標データ(u,
v)の算出処理、テクスチャバッファ147aからの
(R,G,B)データの読み出し処理等をパイプライン
方式で行う。なお、テクスチャエンジン回路143は、
たとえば所定の矩形内に位置する8画素についての処理
を同時に並行して行う。
【0064】テクスチャエンジン回路143は、DDA
データS142が示す(s,t,q)データについて、
sデータをqデータで除算する演算と、tデータをqデ
ータで除算する演算とを行う。テクスチャエンジン回路
143には、たとえば図示しない除算回路が8個設けら
れており、8画素についての除算「s/q」および「t
/q」が同時に行われる。
【0065】また、テクスチャエンジン回路143は、
除算結果である「s/q」および「t/q」に、それぞ
れテクスチャサイズUSIZEおよびVSIZEを乗じ
て、テクスチャ座標データ(u,v)を生成する。ま
た、テクスチャエンジン回路143は、メモリI/F回
路144を介して、SRAM148あるいはDRAM1
47に、生成したテクスチャ座標データ(u,v)を含
む読み出し要求を出力し、メモリI/F回路144を介
して、SRAM148あるいはテクスチャバッファ14
7aに記憶されているテクスチャデータを読み出すこと
で、(s,t)データに対応したテクスチャアドレスに
記憶された(R,G,B)データS148を得る。ここ
で、SRAM148には、前述したようにテクスチャバ
ッファ147aに格納されているテクスチャデータが記
憶される。テクスチャエンジン回路143は、読み出し
た(R,G,B)データS148の(R,G,B)デー
タと、前段のトライアングルDDA回路142からのD
DAデータS142に含まれる(R,G,B)データと
を、それぞれ掛け合わせるなどして、画素データS14
3を生成する。テクスチャエンジン回路143は、この
画素データS143をメモリI/F回路144に出力す
る。
【0066】なお、テクスチャバッファ147aには、
MIPMAP(複数解像度テクスチャ)などの複数の縮
小率に対応したテクスチャデータが記憶されている。こ
こで、何れの縮小率のテクスチャデータを用いるかは、
所定のアルゴリズムを用いて、前記三角形単位で決定さ
れる。
【0067】テクスチャエンジン回路143は、フルカ
ラー方式の場合には、テクスチャバッファ147aから
読み出した(R,G,B)データを直接用いる。一方、
テクスチャエンジン回路143は、インデックスカラー
方式の場合には、あらかじめ作成したカラールックアッ
プテーブル(CLUT)をテクスチャCLUTバッファ
147dから読み出して、内蔵するSRAMに転送およ
び記憶し、このカラールックアップテーブルを用いて、
テクスチャバッファ147aから読み出したカラーイン
デックスに対応する(R,G,B)データを得る。
【0068】メモリI/F回路144 メモリI/F回路144は、テクスチャエンジン回路1
43から入力した画素データS143に対応するzデー
タと、zバッファ147cに記憶されているzデータと
の比較を行い、入力した画素データS143によって描
画される画像が、前回、ディスプレイバッファ147b
に書き込まれた画像より、手前(視点側)に位置するか
否かを判断し、手前に位置する場合には、画像データS
143に対応するzデータでzバッファ147cに記憶
されたzデータを更新する。また、メモリI/F回路1
44は、(R,G,B)データをディスプレイバッファ
147bに書き込む。さらに、メモリI/F回路144
は、テクスチャエンジン回路143からのSRAM14
8に、生成されたテクスチャ座標データ(u,v)を含
む読み出し要求を受けた場合には、SRAM148に記
憶された(R,G,B)データS148を読み出す。ま
た、メモリI/F回路144は、CRTコントロール回
路145から表示データを読み出す要求を受けた場合に
は、この要求に応じて、ディスプレイバッファ147b
から一定の固まり、たとえば8画素あるいは16画素単
位で表示データを読み出す。
【0069】このように、メモリI/F回路144は、
DRAM147およびSRAM148へのアクセス(書
き込みまたは読み出し)を行うが、書き込み経路と読み
出し経路とが別経路として構成されている。すなわち、
書き込みの場合には書き込みアドレスADRWと書き込
みデータDTWが書き込み系回路で処理されてDRAM
147に書き込み、読み出しの場合には読み出し系回路
で処理されてDRAM147またはSRAM148から
読み出す。そして、メモリI/F回路144は、所定の
インターリーブ方式のアドレッシングに基づいてDRA
M147へのアクセスを、たとえば16画素単位で行
う。
【0070】以下に、メモリI/F回路144の具体的
な構成例について、図3に関連付けて説明する。
【0071】メモリI/F回路144は、図3に示すよ
うに、ディストリビュータ300、アドレスコンバータ
310,320,330,340、メモリコントローラ
350,360,370,380および読み出しコント
ローラ390を有する。
【0072】ディストリビュータ300は、書き込み時
に、16画素分の(R,G,B)データDTWおよび書
き込みアドレスADRWを入力し、これらを、各々4画
素分のデータからなる4つの画像データS301,S3
02,S303,S304に分割し、その画像データお
よび書き込みアドレスをそれぞれアドレスコンバータ3
10,320,330,340に出力する。ここで、1
画素分の(R,G,B)データは各8ビット、zデータ
は、それぞれ32ビットからなる。
【0073】アドレスコンバータ310,320,33
0,340は、書き込み時に、ディストリビュータ30
0から入力した(R,G,B)データおよびzデータに
対応したアドレスを、それぞれメモリモジュール20
0,210,220,230内のアドレスに変換し、そ
れぞれ変換したアドレスS310,S320,S33
0,S340と分割された画像データをメモリコントロ
ーラ350,360,370,380に出力する。
【0074】図14は、このディストリビュータ300
の画像データ処理(ピクセル処理)を模式的に示す図で
ある。この図は、前述した図4〜図7に対応するもので
あり、ディストリビュータ300は、DRAM147に
対して、たとえば2×8画素の16画素についてのデー
タが同時にアクセス可能になるように画像データ処理を
行う。そして、x方向について8画素毎のバウンダリ、
かつy方向について偶数のバウンダリでの領域でアクセ
ス(書き込み、読み出し)を行うようなアドレッシング
となるように画像データの処理を行う。これによりDR
AM147は、アクセスの先頭がメモリセル番号MCN
「1」,「2」,「3」にはならず、必ずメモリセル番
号MCN「0」となり、ページ違反の発生等が防止され
る。また、ディストリビュータ300は、各DRAMモ
ジュール220〜230に対して、表示領域において隣
接した部分は、異なるDRAMモジュールへの配置とな
るように画像データの処理を行う。これにより、三角形
のような平面を描画する場合には面で同時に処理できる
ことになるため、それぞれのDRAMモジュールの動作
確率は非常に高くなっている。
【0075】メモリコントローラ350,360,37
0,380は、それぞれ書き込み系配線群401W,4
02W,411W,412W,421W,422W,4
31W,432W、並びに読み出し系配線群401R,
402R,411R,412R,421R,422R,
431R,432Rを介してメモリモジュール200,
210,220,230に接続されており、書き込み時
および読み出し時にメモリモジュール200,210,
220,230に対してのアクセスを制御する。
【0076】具体的には、書き込み時には、メモリコン
トローラ350,360,370,380は、ディスト
リビュータ300から出力され、アドレスコンバータ3
50,360,370,380から入力した4画素分の
(R,G,B)データおよびzデータを、書き込み系配
線群401W,402W,411W,412W,421
W,422W,431W,432Wを介してメモリモジ
ュール200,210,220,230に同時に書き込
む。このとき、たとえば、メモリモジュール200で
は、前述したように、バンク201A,201B,20
2A,202Bの各々に、1画素分の(R,G,B)デ
ータおよびzデータが記憶される。メモリモジュール2
10,220,230についても同じである。
【0077】また、各メモリコントローラ350,36
0,370,380は、自身のステートマシンがいわゆ
るアイドル(IDLE)状態にあるときに、アイドル信
号S350,S360,S370,S380を読み出し
コントローラ390にアクティブで出力し、このアイド
ル信号S350,S360,S370,S380に応答
した読み出しコントローラ390による読み出しアドレ
スおよび読み出し要求信号S391を受けて、読み出し
系配線群401R,402R,411R,412R,4
21R,422R,431R,432Rを介してデータ
の読み出しを行い、読み出し系配線群351,361,
371,381、並びに配線群440を介して読み出し
コントローラ390に出力する。
【0078】なお、本実施形態では、書き込み系配線群
401W,402W,411W,412W,421W,
422W,431W,432W、並びに読み出し系配線
群401R,402R,411R,412R,421
R,422R,431R,432Rの配線本数は128
本(128ビット)、読み出し系配線群351,36
1,371,381の配線本数は256本(256ビッ
ト)、ならびに読み出し系配線群440の配線本数は1
024本(1024ビット)である。
【0079】読み出しコントローラ390は、アドレス
コンバータ391およびデータ演算処理部392により
構成されている。アドレスコンバータ391は、読み出
しアドレスADRRを受けた場合、メモリコントローラ
350,360,370,380からのアイドル信号S
350,S360,S370,S380をすべてアクテ
ィブで受けると、このアイドル信号S350,S36
0,S370,S380に応答して、8画素あるいは1
6画素単位で読み出しを行うように、読み出しアドレス
および読み出し要求信号S391を各メモリコントロー
ラ350,360,370,380に出力する。データ
演算部392は、読み出しアドレスおよび読み出し要求
信号S391に応答してを各メモリコントローラ35
0,360,370,380で読み出された8画素ある
いは16画素単位の、テクスチャデータ、(R,G,
B)データ、zデータおよびテクスチャカラールックア
ップテーブルデータを配線群440を介して入力し、所
定の演算処理を行って、要求先、たとえばテクスチャエ
ンジン回路143またはCRTコントロール回路145
に出力する。
【0080】読み出しコントローラ390は、上述した
ように、メモリコントローラ350,360,370,
380のすべてがアイドル状態にあるときに、読み出し
アドレスおよび読み出し要求信号S391をメモリコン
トローラ350,360,370,380に出力に読み
出しデータを受けることから、読み出すデータの同期を
とることができる。したがって、読み出しコントローラ
390は、データを一時的に保持するFIFO(First I
n First Out)回路等の保持回路を設ける必要がなく、回
路規模の縮小化が図られている。
【0081】CRTコントロール回路145 CRTコントロール回路145は、与えられた水平およ
び垂直同期信号に同期して、図示しないCRTに表示す
るアドレスを発生し、ディスプレイバッファ147bか
ら表示データを読み出す要求をメモリI/F回路144
に出力する。この要求に応じて、メモリI/F回路14
4は、ディスプレイバッファ147bから一定の固まり
で表示データを読み出す。CRTコントローラ回路14
5は、ディスプレイバッファ147bから読み出した表
示データを記憶するFIFO回路を内蔵し、一定の時間
間隔で、RAMDAC回路146に、RGBのインデッ
クス値を出力する。
【0082】RAMDAC回路146 RAMDAC回路146は、各インデックス値に対応す
るR,G,Bデータを記憶しており、CRTコントロー
ラ回路145から入力したRGBのインデックス値に対
応するデジタル形式のR,G,Bデータを、図示しない
D/Aコンバータ(Digital/Analog Converter)に転送
し、アナログ形式のR,G,Bデータを生成する。RA
MDAC回路146は、この生成されたR,G,Bデー
タをCRTに出力する。
【0083】次に、上記構成による動作を説明する。3
次元コンピュータグラフィックスシステム10において
は、グラフィックス描画等のデータは、メインプロセッ
サ11のメインメモリ12、あるいは外部からのグラフ
ィックスデータを受けるI/Oインタフェース回路13
からメインバス15を介してレンダリング回路14に与
えられる。なお、必要に応じて、グラフィックス描画等
のデータは、メインプロセッサ11等において、座標変
換、クリップ処理、ライティング処理等のジオメトリ処
理が行われる。ジオメトリ処理が終わったグラフィック
スデータは、三角形の各3頂点の頂点座標x,y,z、
輝度値R,G,B、描画しようとしている画素と対応す
るテクスチャ座標s,t,qとからなるポリゴンレンダ
リングデータS11となる。
【0084】このポリゴンレンダリングデータS11
は、レンダリング回路14のDDAセットアップ回路1
41に入力される。DDAセットアップ回路141にお
いては、ポリゴンレンダリングデータS11に基づい
て、三角形の辺と水平方向の差分などを示す変分データ
S141が生成される。具体的には、開始点の値と終点
の値、並びに、その間の距離を用いて、単位長さ移動し
た場合における、求めようとしている値の変化分である
変分が算出され、変分データS141としてトライアン
グルDDA回路142に出力される。
【0085】トライアングルDDA回路142において
は、変分データS141を用いて、、三角形内部の各画
素における線形補間された(z,R,G,B,s,t,
q)データが算出される。そして、この算出された
(z,R,G,B,s,t,q)データと、三角形の各
頂点の(x,y)データとが、DDAデータS142と
して、トライアングルDDA回路142からテクスチャ
エンジン回路143に出力される。
【0086】テクスチャエンジン回路143において
は、DDAデータS142が示す(s,t,q)データ
について、sデータをqデータで除算する演算と、tデ
ータをqデータで除算する演算とが行われる。そして、
除算結果「s/q」および「t/q」に、それぞれテク
スチャサイズUSIZEおよびVSIZEが乗算され、
テクスチャ座標データ(u,v)が生成される。
【0087】次に、テクスチャエンジン回路143から
メモリI/F回路144に対して生成されたテクスチャ
座標データ(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に出力され
る。
【0088】フルカラーの場合には、テクスチャバッフ
ァ147aからのデータ(R,G,B)を直接用いれば
よいが、インデックスカラーの場合には、あらかじめ作
成しておいたカラーインデックステーブル(Color Inde
x Table )のデータが、テクスチャCLUT(Color Lo
ok Up Table)バッファ147dより、SRAM等で構成
される一時保管バッファへ転送され、この一時保管バッ
ファのCLUTを用いてカラーインデックスから実際の
R,G,Bカラーが得られる。なお、CULTがSRA
Mで構成された場合は、カラーインデックスをSRAM
のアドレスに入力すると、その出力には実際のR,G,
Bカラーが出てくるといった使い方となる。
【0089】そして、メモリI/F回路144におい
て、テクスチャエンジン回路143から入力した画素デ
ータS143に対応するzデータと、zバッファ147
cに記憶されているzデータとの比較が行われ、入力し
た画素データS12によって描画される画像が、前回、
ディスプレイバッファ21に書き込まれた画像より、手
前(視点側)に位置するか否かが判断される。判断の結
果、手前に位置する場合には、画像データS143に対
応するzデータでzバッファ147cに記憶されたzデ
ータが更新される。
【0090】次に、メモリI/F回路144において、
(R,G,B)データがディスプレイバッファ147b
に書き込まれる。これら書き込む(更新も含む)べきデ
ータは、書き込み系回路である、ディストリビュータ3
00、アドレスデコーダ310,320,330,34
0を介してメモリコントローラ350,360,37
0,380に供給され、メモリコントローラ350,3
60,370,380によって、それぞれ書き込み系配
線群401W,402W,411W,412W,421
W,422W,431W,432Wを介し所定のメモリ
に対して並列的に書き込まれる。
【0091】メモリI/F回路144においては、今か
ら描画しようとしている画素におけるテクスチャアドレ
スに対応したテクスチャを格納しているメモリブロック
がそのテクスチャアドレスにより算出され、そのメモリ
ブロックにのみ読みだし要求が出され、テクスチャデー
タが読み出される。この場合、該当するテクスチャデー
タを保持していないメモリブロックにおいては、テクス
チャ読み出しのためのアクセスが行われないため、描画
により多くのアクセス時間を提供することが可能となっ
ている。
【0092】描画においても同様に、今から描画しよう
としている画素アドレスに対応する画素データを格納し
ているメモリブロックに対して、該当アドレスから画素
データがモディファイ書き込み(Modify Write)を行うた
めに読み出され、モディファイ後、同じアドレスへ書き
戻される。
【0093】隠れ面処理を行う場合には、やはり同じよ
うに今から描画しようとしている画素アドレスに対応す
る奥行きデータを格納しているメモリブロックに対し
て、該当アドレスから奥行きデータがモディファイ書き
込み(Modify Write)を行うために読み出され、必要なら
ばモディファイ後、同じアドレスへ書き戻される。
【0094】このようなメモリI/F回路144に基づ
くDRAM147とのデータのやり取りにおいては、そ
れまでの処理を複数並行処理することで、描画性能を向
上させることができる。特に、トライアングルDDA回
路142とテクスチャエンジン143の部分を並列実行
形式で、同じ回路に設ける(空間並列)か、または、パ
イプラインを細かく挿入する(時間並列)ことで、部分
的に動作周波数を増加させるという手段により、複数画
素の同時算出が行われる。
【0095】また、画素データは、メモリI/F回路1
44の制御のもと、表示領域において隣接した部分は、
異なるDRAMモジュールとなるように配置される。こ
れにより、三角形のような平面を描画する場合には面で
同時に処理される。このため、それぞれのDRAMモジ
ュールの動作確率は非常に高い。
【0096】そして、図示しないCRTに画像を表示す
る場合には、CRTコントロール回路145において、
与えられた水平垂直同期周波数に同期して、表示アドレ
スが発生され、メモリI/F回路144へ表示データ転
送の要求が出される。メモリI/F回路144では、そ
の要求に従い、一定のまとまった固まりで、表示データ
がCRTコントロール回路145に転送される。CRT
コントロール回路145では、図示しないディスプレイ
用FIFO等にその表示データが貯えられ、一定の間隔
でRAMDAC146へRGBのインデックス値が転送
される。
【0097】なお、上述したようにメモリI/F回路1
44に対してDRAM147あるいはSRAM148に
格納されているデータの読み出し要求があった場合、読
み出しコントローラ390のアドレスコンバータ391
に読み出しアドレスADRRが入力される。このとき、
アドレスコンバータ391ではメモリコントローラ35
0,360,370,380からのアイドル信号S35
0,S360,S370,S380をすべてアクティブ
で入力された否かのチェックが行われる。そして、アイ
ドル信号S350,S360,S370,S380がす
べてアクティブで入力されると、アイドル信号S35
0,S360,S370,S380に応答して、8画素
あるいは16画素単位で読み出しを行うように、読み出
しアドレスおよび読み出し要求信号S391が各メモリ
コントローラ350,360,370,380に出力さ
れる。
【0098】読み出しアドレスおよび読み出し要求信号
S391を受けて、各メモリコントローラ350,36
0,370,380で8画素あるいは16画素単位の、
テクスチャデータ、(R,G,B)データ、zデータお
よびテクスチャカラールックアップテーブルデータが読
み出し系配線群401R,402R,411R,412
R,421R,422R,431R,432Rを介して
並列的に読み出され、さらに読み出し系配線群351,
361,371,381、配線群440を介してデータ
演算部392に入力される。そして、データ演算部39
2で所定の演算処理が行われて、要求先、たとえばテク
スチャエンジン回路143またはCRTコントロール回
路145に出力される。
【0099】RAMDAC146においては、RAM内
部にRGBのインデックスに対するRGB値が記憶され
ていて、インデックス値に対するRGB値が図示しない
D/Aコンバータへ転送される。そして、D/Aコンバ
ータでアナログ信号に変換されたRGB信号がCRTへ
転送される。
【0100】以上説明したように、本実施形態によれ
ば、半導体チップ内部に内蔵されたDRAM147に、
表示デ−タと少なくとも一つの図形要素が必要とするテ
クスチャデ−タを記憶させた構成を有することから、表
示領域以外の部分にテクスチャデ−タを格納できること
になり、内蔵DRAMの有効利用が可能となり、高速処
理動作、並びに低消費電力化を並立させるようにした画
像処理装置が実現可能となる。そして、単一メモリシス
テムを実現でき、すべてが内蔵された中だけで処理がで
きる。その結果、ア−キテクチャとしても大きなパラダ
イムシフトとなる。また、メモリの有効利用ができるこ
とで、内部に持っているDRAMのみでの処理が可能と
なり、内部にあるがゆえのメモリと描画システムの間の
大きなバンド幅が、十分に活用可能となる。また、DR
AMにおいても特殊な処理を組み込むことが可能とな
る。
【0101】また、DRAMにおける同一機能を独立し
た複数のモジュ−ルとして並列にもつことから、並列動
作の効率を向上させることができる。単にデ−タのビッ
ト数が多いだけでは、デ−タの使用効率は悪化し、性能
向上できるのは一部の条件の場合に限定されることにな
る。平均的な性能を向上させるためには、ある程度の機
能をもったモジュ−ルを複数設けることで、ビット線の
有効利用を行うことができる。
【0102】さらに、表示アドレス空間において、隣接
するアドレスにおける表示要素が、それぞれ異なるDR
AMのブロックになるように配置するので、さらにビッ
ト線の有効利用が可能となり、グラフィックス描画にお
けるような、比較的固まった表示領域へのアクセスが多
い場合には、それぞれのモジュ−ルが同時に処理できる
確率が増加し、描画性能の向上が可能となる。
【0103】また、より多くのテクスチャデ−タを格納
するために、インデックスカラ−におけるインデックス
と、そのためのカラ−ルックアップテ−ブル値を内蔵D
RAM147内部に格納するので、テクスチャデ−タの
圧縮が可能となり、内蔵DRAMの効率良い利用が可能
となる。
【0104】また、描画しようとしている物体の奥行き
情報を、内蔵のDRAMに格納するので、描画と同時並
行的に隠れ面処理を行うことが可能となる。描画を行っ
て、通常はそれを表示しようとするわけだが、ユニファ
イドメモリとして、テクスチャデ−タと表示デ−タを同
一のメモリシステムに同居させることができることか
ら、直接表示に使わずに、描画デ−タをテクスチャデ−
タとして使ってしまうということも可能となる。このよ
うなことは、必要なときに必要なテクスチャデ−タを、
描画によって作成する場合に有効となり、これもテクス
チャデ−タを膨らませないための効果的な機能となる。
【0105】また、チップ内部にDRAMを内蔵するこ
とで、その高速なインタ−フェ−ス部分がチップの内部
だけで完結することになるため、大きな付加容量のI/
Oバッファであるとか、チップ間配線容量をドライブす
る必要がなくなり、消費電力は内蔵しない場合に比較し
て小さくなる。よって、さまざまな技術を使って、一つ
のチップの中だけですべてができるような仕組みは、今
後の携帯情報端末等の身近なデジタル機器のためには、
必要不可欠な技術要素となっている。
【0106】なお、本発明は上述した実施形態には限定
されない。また、上述した図1に示す3次元コンピュー
タグラフィックスシステム10では、SRAM148を
用いる構成を例示したが、SRAM148を設けない構
成にしてもよい。
【0107】さらに、図1に示す3次元コンピュータグ
ラフィックスシステム10では、ポリゴンレンダリング
データを生成するジオメトリ処理を、メインプロセッサ
11で行う場合を例示したが、レンダリング回路14で
行う構成にしてもよい。
【0108】
【発明の効果】以上説明したように、本発明によれば、
半導体チップ内部にロジック回路と混載された記憶回路
に、表示デ−タと少なくとも一つの図形要素が必要とす
るテクスチャデ−タを記憶させた構成を有することか
ら、表示領域以外の部分にテクスチャデ−タを格納でき
ることになり、内蔵記憶回路の有効利用が可能となり、
高速処理動作、並びに低消費電力化を並立させるように
した画像処理装置が実現可能となる。そして、単一メモ
リシステムを実現でき、すべてが内蔵された中だけで処
理ができる。その結果、ア−キテクチャとしても大きな
パラダイムシフトとなる。また、記憶回路の有効利用が
できることで、内部に持っているメモリのみでの処理が
可能となり、内部にあるがゆえのメモリと描画システム
の間の大きなバンド幅が、十分に活用可能となる。ま
た、メモリにおいても特殊な処理を組み込むことが可能
となる。
【0109】また、メモリにおける同一機能を独立した
複数のモジュ−ルとして並列にもつことから、並列動作
の効率を向上させることができる。
【0110】さらに、表示アドレス空間において、隣接
するアドレスにおける表示要素を、それぞれ異なるメモ
リのブロックになるように配置するので、グラフィック
ス描画におけるような、比較的固まった表示領域へのア
クセスが多い場合には、それぞれのモジュ−ルが同時に
処理できる確率が増加し、描画性能の向上が可能とな
る。
【0111】また、より多くのテクスチャデ−タを格納
するために、インデックスカラ−におけるインデックス
と、そのためのカラ−ルックアップテ−ブル値を内蔵メ
モリ内部に格納するので、テクスチャデ−タの圧縮が可
能となり、内蔵メモリの効率良い利用が可能となる。
【0112】また、描画しようとしている物体の奥行き
情報を、内蔵のメモリに格納するので、描画と同時並行
的に隠れ面処理を行うことが可能となる。そして、ユニ
ファイドメモリとして、テクスチャデ−タと表示デ−タ
を同一のメモリシステムに同居させることができること
から、直接表示に使わずに、描画デ−タをテクスチャデ
−タとして使うことも可能となる。
【0113】また、チップ内部にメモリを内蔵すること
で、その高速なインタ−フェ−ス部分がチップの内部だ
けで完結することになるため、大きな付加容量のI/O
バッファであるとか、チップ間配線容量をドライブする
必要がなくなり、消費電力は内蔵しない場合に比較して
小さくできり利点がある。
【図面の簡単な説明】
【図1】本発明に係る3次元コンピュータグラフィック
スシステムの構成を示すブロック図である。
【図2】本発明に係るDRAMへの表示データと奥行き
データおよびテクスチャデータの格納方法を概念的に説
明するための図である。
【図3】本発明に係るレンダリング回路におけるDRA
M、SRAM、並びに、DRAMおよびSRAMへアク
セスするメモリI/F回路の具体的な構成例を示すブロ
ック図である。
【図4】本発明に係るDRAMバッファの構成例を示す
概略図である。
【図5】テクスチャデータに含まれる同時にアクセスが
行われる画素データを説明するための図である。
【図6】テクスチャデータを構成する単位ブロックを説
明するための図である。
【図7】テクスチャバッファのアドレス空間を説明する
するための図である。
【図8】本発明に係るDDAセットアップ回路の機能を
説明するための図である。
【図9】本発明に係るトライアングルDDA回路の機能
を説明するための図である。
【図10】本発明に係るトライアングルDDA回路の頂
点のソート処理を説明するための図である。
【図11】本発明に係るトライアングルDDA回路の水
平方向の傾き算出処理を説明するための図である。
【図12】本発明に係るトライアングルDDA回路の頂
点データの補間手順を説明するための図である。
【図13】本発明に係るトライアングルDDA回路の頂
点データの補間手順を説明するためのフローチャートで
ある。
【図14】本発明に係るメモリI/F回路におけるディ
ストリビュータの画像データ処理を説明するための図で
ある。
【図15】3次元コンピュータグラフィックスシステム
の基本的な概念を示すシステム構成図である。
【符号の説明】
10…3次元コンピュータグラフィックスシステム、1
1…メインプロセッサ、12…メインメモリ、13…I
/Oインタフェース回路、14…レンダリング回路、1
41…DDAセットアップ回路、142…トライアング
ルDDA回路、143…テクスチャエンジン回路、14
4…メモリI/F回路、145…CRTコントローラ回
路、146…RAMDAC回路、147…DRAM、1
47a…テクスチャバッファ、147b…ディスプレイ
バッファ、147c…zバッファ、147d…テクスチ
ャCLUTバッファ、148…SRAM、200,21
0,220,230…メモリモジュール、300…ディ
ストリビュータ、310,320,330,340…ア
ドレスデコーダ、350,360,370,380…メ
モリコントローラ、390…読み出しコントローラ、3
91…アドレスデコーダ、392…データ演算処理部。

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 表示デ−タと少なくとも一つの図形要素
    が必要とするテクスチャデ−タを記憶する記憶回路と、 上記記憶回路の記憶データに基づいて、表示データの図
    形要素の表面へのテクスチャデータの張り付け処理を行
    うロジック回路とを有し、 上記記憶回路および上記ロジック回路が一つの半導体チ
    ップ内に混載されている画像処理装置。
  2. 【請求項2】 上記記憶回路は、同一機能を有する複数
    のモジュールに分割され、 上記ロジック回路は、各モジュールを並列にアクセスす
    る請求項1記載の画像処理装置。
  3. 【請求項3】 上記記憶回路には、表示アドレス空間に
    おいて、隣接するアドレスにおける表示要素が、異なる
    記憶ブロックになるように配置される請求項2記載の画
    像処理装置。
  4. 【請求項4】 上記記憶回路には、インデックスカラ−
    におけるインデックスと、カラ−参照のためのカラ−ル
    ックアップテ−ブル値とが記憶されている請求項1記載
    の画像処理装置。
  5. 【請求項5】 上記記憶回路には、描画しようとしてい
    る物体の奥行き情報が記憶されている請求項1記載の画
    像処理装置。
  6. 【請求項6】 単位図形の頂点について、3次元座標
    (x,y,z)、R(赤),G(緑),B(青)デー
    タ、テクスチャの同次座標(s,t)および同次項qを
    含むポリゴンレンダリングデータを受けてレンダリング
    処理を行う画像処理装置であって、 表示デ−タと少なくとも一つの図形要素が必要とするテ
    クスチャデ−タを記憶する記憶回路と、 前記単位図形の頂点のポリゴンレンダリングデータを補
    間して、前記単位図形内に位置する画素の補間データを
    生成する補間データ生成回路と、 前記補間データに含まれるテクスチャの同次座標(s,
    t)を同次項qで除算して「s/q」および「t/q」
    を生成し、前記「s/q」および「t/q」に応じたテ
    クスチャアドレスを用いて、前記記憶回路からテクスチ
    ャデータを読み出し、表示データの図形要素の表面への
    テクスチャデータの張り付け処理を行うテクスチャ処理
    回路とを少なくとも有し、 前記記憶回路、補間データ生成回路およびテクスチャ処
    理回路が一つの半導体チップ内に混載されている画像処
    理装置。
  7. 【請求項7】 上記記憶回路は、同一機能を有する複数
    のモジュールに分割され、 上記各モジュールは並列にアクセスされる請求項6記載
    の画像処理装置。
  8. 【請求項8】 上記記憶回路には、表示アドレス空間に
    おいて、隣接するアドレスにおける表示要素が、異なる
    記憶ブロックになるように配置される請求項7記載の画
    像処理装置。
  9. 【請求項9】 上記記憶回路には、インデックスカラ−
    におけるインデックスと、カラ−参照のためのカラ−ル
    ックアップテ−ブル値とが記憶されている請求項6記載
    の画像処理装置。
  10. 【請求項10】 上記記憶回路には、描画しようとして
    いる物体の奥行き情報が記憶されている請求項6記載の
    画像処理装置。
JP01652999A 1998-03-04 1999-01-26 画像処理装置 Expired - Lifetime JP4314655B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP01652999A JP4314655B2 (ja) 1998-03-04 1999-01-26 画像処理装置
US09/260,031 US6803918B1 (en) 1998-03-04 1999-03-02 Image processing apparatus
CA002264400A CA2264400C (en) 1998-03-04 1999-03-03 Image processing apparatus
EP99400518A EP0940772B1 (en) 1998-03-04 1999-03-04 Image processing apparatus
DE1999614814 DE69914814T2 (de) 1998-03-04 1999-03-04 Bildverarbeitungsgerät

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-52017 1998-03-04
JP5201798 1998-03-04
JP01652999A JP4314655B2 (ja) 1998-03-04 1999-01-26 画像処理装置

Publications (2)

Publication Number Publication Date
JPH11316856A true JPH11316856A (ja) 1999-11-16
JP4314655B2 JP4314655B2 (ja) 2009-08-19

Family

ID=26352883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01652999A Expired - Lifetime JP4314655B2 (ja) 1998-03-04 1999-01-26 画像処理装置

Country Status (5)

Country Link
US (1) US6803918B1 (ja)
EP (1) EP0940772B1 (ja)
JP (1) JP4314655B2 (ja)
CA (1) CA2264400C (ja)
DE (1) DE69914814T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092628A (ja) * 2000-09-20 2002-03-29 Namco Ltd ゲームシステム、情報記憶媒体及び圧縮データの生成方法
JP2011065677A (ja) * 2000-08-23 2011-03-31 Nintendo Co Ltd グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001055969A1 (fr) * 2000-01-28 2001-08-02 Namco Ltd. Systeme de jeu et procede de creation d'image
JP3747859B2 (ja) * 2002-02-06 2006-02-22 ソニー株式会社 画像処理装置およびその方法
JP4976520B2 (ja) 2010-04-09 2012-07-18 株式会社ソニー・コンピュータエンタテインメント 情報処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5450342A (en) * 1984-10-05 1995-09-12 Hitachi, Ltd. Memory device
US5230039A (en) 1991-02-19 1993-07-20 Silicon Graphics, Inc. Texture range controls for improved texture mapping
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
US5821919A (en) * 1994-04-29 1998-10-13 Intel Corporation Apparatus for table-driven conversion of pixels from YVU to RGB format
US6359624B1 (en) 1996-02-02 2002-03-19 Kabushiki Kaisha Toshiba Apparatus having graphic processor for high speed performance
JPH09270024A (ja) 1996-02-02 1997-10-14 Toshiba Corp 情報処理装置
JP3645024B2 (ja) 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
US6295074B1 (en) 1996-03-21 2001-09-25 Hitachi, Ltd. Data processing apparatus having DRAM incorporated therein
US5877780A (en) * 1996-08-08 1999-03-02 Lu; Hsuehchung Shelton Semiconductor chip having multiple independent memory sections, at least one of which includes simultaneously accessible arrays
US6097403A (en) * 1998-03-02 2000-08-01 Advanced Micro Devices, Inc. Memory including logic for operating upon graphics primitives

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011065677A (ja) * 2000-08-23 2011-03-31 Nintendo Co Ltd グラフィクスシステムにおいて直接および間接テクスチャを処理するための方法および装置
JP2002092628A (ja) * 2000-09-20 2002-03-29 Namco Ltd ゲームシステム、情報記憶媒体及び圧縮データの生成方法
JP4530314B2 (ja) * 2000-09-20 2010-08-25 株式会社バンダイナムコゲームス ゲームシステム、情報記憶媒体及び圧縮データの生成方法

Also Published As

Publication number Publication date
DE69914814T2 (de) 2005-01-13
EP0940772A3 (en) 1999-12-29
EP0940772A2 (en) 1999-09-08
EP0940772B1 (en) 2004-02-18
CA2264400C (en) 2010-01-19
US6803918B1 (en) 2004-10-12
JP4314655B2 (ja) 2009-08-19
CA2264400A1 (en) 1999-09-04
DE69914814D1 (de) 2004-03-25

Similar Documents

Publication Publication Date Title
US7027066B2 (en) Graphics plotting apparatus
US5877770A (en) Texture pattern memory circuit for providing plural texel data in response to a single access operation
JP4182575B2 (ja) 記憶装置および画像データ処理装置
US6480199B1 (en) Image processing apparatus
JP3687945B2 (ja) 画像処理装置およびその方法
JPH11316856A (ja) 画像処理装置
JP4081860B2 (ja) 画像処理装置
US7245303B2 (en) Image processing apparatus
JP4665268B2 (ja) 画像処理装置
US7583270B2 (en) Image processing apparatus
JP4828006B2 (ja) 画像処理装置
US6476818B1 (en) Storage circuit control device and graphic computation device
JP4232234B2 (ja) 画像処理装置
JP2002366944A (ja) 画像処理装置
JP4670887B2 (ja) 画像処理装置
JP3971448B2 (ja) 描画装置及び描画方法
JPH11272548A (ja) 記憶回路制御装置およびグラフィック演算装置
JP4271270B2 (ja) データ記憶装置、データ記憶装置の制御装置とその方法および画像生成装置
JP2003085038A (ja) 画像処理装置
JP4580475B2 (ja) 演算処理装置およびグラフィック演算装置
JP2003022696A (ja) テスト回路および画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090330

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: 20090428

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: 20090511

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

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term