JP4665268B2 - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP4665268B2 JP4665268B2 JP22984899A JP22984899A JP4665268B2 JP 4665268 B2 JP4665268 B2 JP 4665268B2 JP 22984899 A JP22984899 A JP 22984899A JP 22984899 A JP22984899 A JP 22984899A JP 4665268 B2 JP4665268 B2 JP 4665268B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- pixel data
- color
- pixel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Memory System (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置に関し、特にアドレス生成回路およびαブレンディング処理回路に特徴を有する画像処理装置に関するものである。
【0002】
【従来の技術】
種々のCAD(Computer Aided Design) システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、3次元コンピュータグラフィックスを用いたシステムが急速に普及している。
このような3次元コンピュータグラフィックスでは、各画素(ピクセル)に対応する色を決定するときに、各画素の色の値を計算し、この計算した色を示す画素データを生成し、当該画素データを用いてαブレンディング処理を行い、その処理結果である新たな画素データを、アドレス生成回路で生成したディスプレイバッファ(フレームバッファ)内の所定のアドレスに書き込むレンダリング(Rendering) 処理を行う。
【0003】
【発明が解決しようとする課題】
ところで、上述したような3次元コンピュータグラフィックスでは、αブレンディング処理およびアドレス生成処理を高速化してシステム全体の処理速度を向上したいという要請がある。
【0004】
本発明は上述した従来技術の問題点に鑑みてなされ、処理の高速化を図れる画像処理装置を提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明によれば、マトリクス状に配置された複数の画素の色をそれぞれ示す複数の画素データを含む表示データを記憶し、複数の前記画素データを同時に書き込み可能な記憶回路と、前記記憶回路に同時に書き込まれる複数の画素データのそれぞれに対応して設けられ、対応する前記画素データを書き込む前記記憶回路の記憶領域内のアドレスである書き込みアドレスをそれぞれ生成する複数のアドレス生成回路と、前記複数の画素データを、前記記憶領域内の前記書き込みアドレスにそれぞれ書き込む書き込み回路と、を有し、前記画素データは、前記色を示す色データと、対応する画素の2次元上のx方向およびy方向の位置をそれぞれ示す第1の位置データおよび第2の位置データとを含み、前記アドレス生成回路は、前記第2の位置データと、前記記憶領域のx方向の幅に応じた幅データとを乗算する乗算回路と、前記第1の位置データと、前記乗算回路の乗算結果とを加算して前記書き込みアドレスを生成する加算回路と、を有し、前記乗算回路および前記加算回路は、画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置が提供される。
【0006】
好ましくは、前記画素データは、さらに3次元表示処理を行う際に用いられる奥行きデータとを含み、前記アドレス生成回路は、前記乗算回路として第1の乗算回路および第2の乗算回路を含み、前記加算回路として第1の加算回路および第2の加算回路を含み、前記第1の乗算回路は、前記第2の位置データと、前記幅データとを乗算し、前記第1の加算回路は、前記第1の位置データと、前記第1の乗算回路の乗算結果と、色データを記憶する領域として前記記憶領域内に予め決められた第1の記憶領域の先頭アドレスを示す第1のアドレスデータとを加算して前記色データについての前記書き込みアドレスを生成し、前記第2の乗算回路は、前記第2の位置データと、前記幅データとを乗算し、前記第2の加算回路は、前記第1の位置データと、前記第2の乗算回路の乗算結果と、前記奥行きデータを記憶する領域として前記記憶領域内に予め決められた第2の記憶領域の先頭アドレスを示す第2のアドレスデータとを加算して前記奥行きデータについての前記書き込みアドレスを生成する。
【0007】
また好ましくは、前記第1および第2乗算回路および前記第1および第2の加算回路は、前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データに
おいて同一のマクロセル内にその機能が記述されている。
【0008】
また本発明によれば、マトリクス状に配置された複数の画素の色をそれぞれ示す複数の第1の画素データを含む表示データを記憶し、複数の前記第1の画素データを同時に書き込み可能な記憶回路と、前記同時に書き込まれる前記複数の第1の画素データのそれぞれに対応して設けられ、対応する第2の画素データが示す色と書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第2の画素データおよび前記第3の画素データを用いて行って前記新たな色を示す前記第1の画素データを生成する複数の画素データ生成回路と、前記生成された複数の第1の画素データを前記記憶回路の記憶領域に同時に書き込む書き込み回路と、を有し、前記第1の画素データ、前記第2の画素データおよび前記第3の画素データは、複数の色データを含み、当該複数の色データが示す値を組み合わせて色を示し、前記画素データ生成回路は、前記複数の色データのそれぞれに対応して設けられ、対応する前記第2の画素データの前記対応する色データが示す色と前記書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データの前記対応する色データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第2の画素データおよび前記第3の画素データの前記対応する色データを用いて行って前記新たな色を示す前記第1の画素データの前記対応する色データを生成する複数の色データ生成回路を有し、前記画素データ生成回路は、前記第2の画素データの前記対応する色データおよび前記第3の画素データの前記対応する色データとを用いて減算を行う減算回路と、前記減算回路の減算結果と前記混合比を示す混合比データとを乗算する乗算回路と、を有し、前記画素データ生成回路の前記減算回路および前記乗算回路は、画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置が提供される。
【0009】
好ましくは、前記画素データ生成回路は、ディザデータと前記第2の画素データの前記対応する色データまたは前記第3の画素データの前記対応する色データとを加算する第1の加算回路と、前記乗算回路の乗算結果と、前記第1の加算回路の加算結果とを加算する第2の加算回路とをさらに有する。
【0010】
また好ましくは、前記複数の色データ生成回路は、前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている。
【0011】
本発明によれば、立体モデルを複数の単位図形を組み合わせて表現し、表示装置のマトリクス状に配置された画素毎に色を示す画素データを生成する画像処理装置において、前記単位図形の頂点について、R(赤),G(緑),B(青)データを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ
生成回路と、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記
単位図形内に位置する画素の画素データを生成するデータ補間回路と、複数の前記画素データの前記R,G,Bデータを含む表示データを記憶し、複数の前記画素データの前記R,G,Bデータを同時に書き込み可能な記憶回路と、前記記憶回路に同時に書き込まれる前記複数の画素データのそれぞれに対応して設けられ、対応する前記画素データの前記R,G,Bデータを書き込む前記記憶回路の記憶領域内のアドレスである書き込みアドレスをそれぞれ生成する複数のアドレス生成回路と、前記複数の画素データの前記R,G,Bデータを、前記記憶領域内の前記書き込みアドレスにそれぞれ書き込む書き込み回路とを有し、
前記ポリゴンレンダリングデータ生成回路は、前記単位図形の頂点のそれぞれについて、当該頂点の2次元座標を示すx,yデータをさらに含む前記ポリゴンレンダリングデータを生成し、
前記アドレス生成回路は、前記yデータと、前記記憶領域のx方向の幅に応じた幅データとを乗算する乗算回路と、前記xデータと、前記乗算回路の乗算結果とを加算して前記書き込みアドレスを生成する加算回路とを有し、
前記乗算回路および前記加算回路は、前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記
回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されてい
る、
画像処理装置が提供される。
【0012】
好ましくは、前記ポリゴンレンダリングデータ生成回路は、前記単位図形の頂点について、奥行きを示すzデータをさらに含む前記ポリゴンレンダリングデータを生成し、前記アドレス生成回路は、前記乗算回路として第1の乗算回路および第2の乗算回路を含み、前記加算回路として第1の加算回路および第2の加算回路を含み、前記第1の乗算回路は、前記yデータと、前記幅データとを乗算し、前記第1の加算回路は、前記xデータと、前記第1の乗算回路の乗算結果と、前記R,G,Bデータを記憶する領域として前記記憶領域内に予め決められた第1の記憶領域の先頭アドレスを示す第1のアドレスデータとを加算して前記R,G,Bデータについての前記書き込みアドレスを生成し、前記第2の乗算回路は、前記yデータと、前記幅データとを乗算し、前記第2の加算回路は、前記xデータと、前記第2の乗算回路の乗算結果と、前記zデータを記憶する領域として前記記憶領域内に予め決められた第2の記憶領域の先頭アドレスを示す第2のアドレスデータとを加算して前記zデータについての前記書き込みアドレスを生成する。
【0013】
好ましくは、前記第1および第2乗算回路および前記第1および第2の加算回路は、前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおい
て同一のマクロセル内にその機能が記述されている。
【0014】
本発明によれば、立体モデルを複数の単位図形を組み合わせて表現し、表示装置のマトリクス状に配置された画素毎に色を示す画素データを生成する画像処理装置において、前記単位図形の頂点のそれぞれについて、当該頂点のR(赤),G(緑),B(青)データを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成回路と、前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の第1の画素データを生成するデータ補間回路と、複数の第2の画素データを含む表示データを記憶し、複数の前記第2の画素データを同時に書き込み可能な記憶回路と、前記同時に書き込まれる複数の第2の画素データのそれぞれに対応して設けられ、前記第1の画素データが示す色と書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第1の画素データおよび前記第3の画素データを用いて行って前記新たな色を示す前記第2の画素データを生成する画素データ生成回路と、前記生成された複数の第2の画素データを前記記憶回路の記憶領域に同時に書き込む書き込み回路と、を有し、前記第1の画素データ、前記第2の画素データおよび前記第3の画素データは、複数の色データを含み、当該複数の色データが示す値を組み合わせて色を示し、前記画素データ生成回路は、前記複数の色データのそれぞれに対応して設けられ、対応する前記第1の画素データの前記対応する色データが示す色と前記書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データの前記対応する色データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第1の画素データおよび前記第3の画素データの前記対応する色データを用いて行って前記新たな色を示す前記第2の画素データの前記対応する色データを生成する複数の色データ生成回路を有し、前記画素データ生成回路は、前記第1の画素データの前記対応する色データおよび前記第3の画素データの前記対応する色データとを用いて減算を行う減算回路と、前記減算回路の減算結果と前記混合比を示す混合比データとを乗算する乗算回路と、を有し、前記画素データ生成回路の前記減算回路および前記乗算回路は、前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置が提供される。
【0019】
【発明の実施の形態】
以下、本実施形態においては、パーソナルコンピュータなどに適用される、任意の3次元物体モデルに対する所望の3次元画像をCRT(Cathode Ray Tube)などのディスプレイ上に高速に表示する3次元コンピュータグラフィックスシステムについて説明する。
【0020】
図1は、本実施形態の3次元コンピュータグラフィックスシステム10のシステム構成図である。
【0021】
3次元コンピュータグラフィックスシステム10は、立体モデルを単位図形である三角形(ポリゴン)の組み合わせとして表現し、このポリゴンを描画することでディスプレイ装置の表示画面の各画素の色を決定し、ディスプレイ装置に表示するポリゴンレンダリング処理を行うシステムである。
また、3次元コンピュータグラフィックスシステム10では、平面上の位置を表現する(x,y)座標の他に、奥行きを表すz座標を用いて3次元物体を表し、この(x,y,z)の3つの座標で3次元空間の任意の一点を特定する。
【0022】
図1に示すように、3次元コンピュータグラフィックスシステム10は、メインプロセッサ11、メインメモリ12、I/Oインタフェース回路13、およびレンダリング回路14が、メインバス15を介して接続されている。
以下、各構成要素の機能について説明する。
【0023】
メインプロセッサ11は、たとえば、グラフィック処理に係わるアプリケーションの進行状況などに応じて、メインメモリ12から必要なグラフィックデータを読み出し、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理などのジオメトリ(Geometry)処理などを行い、レンダリング回路14においてポリゴンレンダリング処理を行う対象のポリゴンレンダリングデータS11を生成する。メインプロセッサ11は、ポリゴンレンダリングデータS11をメインバス15を介してレンダリング回路14に出力する。
【0024】
I/Oインタフェース回路13は、必要に応じて、3次元コンピュータグラフィックスシステム10の外部から動きの制御情報またはポリゴンレンダリングデータなどを入力し、これをメインバス15を介してレンダリング回路14に出力する。
【0025】
ここで、ポリゴンレンダリングデータは、ポリゴンの各3頂点の(x,y,z,R,G,B,α,s,t,q)のデータを含んでいる。
ここで、(x,y,z)データは、ポリゴンの頂点の3次元座標を示し、(R,G,B,α)データは、それぞれ当該3次元座標における赤(R)の輝度値、緑(G)の輝度値、青(B)の輝度値、並びにαブレンディング処理を行う際の混合値αを示している。
(s,t,q)データのうち、(s,t)は、対応するテクスチャの同次座標を示しており、qは同次項を示している。ここで、レンダリング回路14内のテクスチャエンジン回路143において、「s/q」および「t/q」を演算し、得られた「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じてテクスチャ座標データ(u,v)が得られる。レンダリング回路14内のダイナミック・ランダム・アクセス・メモリ(DRAM)170内のテクスチャバッファ147aに記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ(u,v)を用いて行われる。
すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値(x,y,z)と、それぞれの頂点の色(R,G,B,α)とテクスチャデータ(s,t,q)である。
【0026】
以下、レンダリング回路14について詳細に説明する。
図1に示すように、レンダリング回路14は、DDA(Digital Differential
Analyser) セットアップ回路141、トライアングルDDA回路142、テクスチャエンジン回路143、メモリインタフェース(I/F)回路144、CRTコントロール回路145、RAMDAC回路146、DRAM147およびSRAM(Static RAM)148を有する。
本実施形態におけるレンダリング回路14は、一つの半導体チップ内にロジック回路と少なくとも表示データとテクスチャデータとを記憶するDRAM147とが混載されている。
【0027】
DRAM147
DRAM147は、テクスチャバッファ147a、ディスプレイバッファ147b、zバッファ147cおよびテクスチャCLUT(Color Look Up Table) バッファ147dとして機能する。
【0028】
また、DRAM147には、より多くのテクスチャデ−タを格納するために、インデックスカラ−におけるインデックスと、そのためのカラ−ルックアップテ−ブル値が、テクスチャCLUTバッファ147dに格納されている。
インデックスおよびカラ−ルックアップテ−ブル値は、テクスチャエンジン回路143におけるテクスチャ処理に使われる。すなわち、通常はR,G,Bそれぞれ8ビットの合計24ビットでテクスチャ要素を表現するが、それではデ−タ量が膨らむため、あらかじめ選んでおいた、たとえば、256色等の中から一つの色を選んで、そのデ−タをテクスチャ処理に使う。このことで256色であればそれぞれのテクスチャ要素は8ビットで表現できることになる。インデックスから実際のカラ−への変換テ−ブルは必要になるが、テクスチャの解像度が高くなるほど、よりコンパクトなテクスチャデ−タとすることが可能となる。
これにより、テクスチャデ−タの圧縮が可能となり、レンダリング回路14に内蔵したDRAM147の効率良い利用が可能となる。
【0029】
さらにDRAM147には、描画と同時並行的に隠れ面処理を行うため、描画しようとしている物体の奥行き情報が格納されている。
なお、表示データと奥行きデータおよびテクスチャデータのDRAM147への格納方法としては、図3を参照して後述するように、メモリブロックの先頭から連続して表示データが格納され(ディスプレイバッファ147b)、次に奥行きデータが格納され(zバッファ147c)、残りの空いた領域に、テクスチャの種類毎に連続したアドレス空間でテクスチャデータが格納される(テクスチャバッファ147a)。これにより、テクスチャデータを効率よく格納できることになる。
【0030】
図2は、DRAM147、SRAM148、並びに、DRAM147およびSRAM148へアクセスするメモリI/F回路144の具体的な構成例を示すブロック図である。
【0031】
図2に示すように、図1に示すDRAM147およびSRAM148は、前述したように4個のメモリモジュール200,210,220,230に分割されている。
【0032】
メモリモジュール200は、メモリチップ201,202を有する。
メモリチップ201は、DRAM147の一部を構成するバンク201A,201Bと、SRAM148の一部を構成するバンク201C,201Dとを有する。
また、メモリチップ202は、DRAM147の一部を構成するバンク202A,202Bと、SRAM148の一部を構成するバンク202C,202Dとを有する。
なお、SRAM148を構成するバンク201C,201D,202C,202Dに対しては同時アクセスが可能である。
【0033】
メモリモジュール210は、メモリチップ211,212を有する。
メモリチップ211は、DRAM147の一部を構成するバンク211A,211Bと、SRAM148の一部を構成するバンク211C,211Dとを有する。
また、メモリチップ212は、DRAM147の一部を構成するバンク212A,212Bと、SRAM148の一部を構成するバンク212C,212Dとを有する。
なお、SRAM148を構成するバンク211C,211D,212C,212Dに対しては同時アクセスが可能である。
【0034】
メモリモジュール220は、メモリチップ221,222を有する。
メモリチップ221は、DRAM147の一部を構成するバンク221A,221Bと、SRAM148の一部を構成するバンク221C,221Dとを有する。
また、メモリチップ222は、DRAM147の一部を構成するバンク222A,222Bと、SRAM148の一部を構成するバンク222C,222Dとを有する。
なお、SRAM148を構成するバンク221C,221D,222C,222Dに対しては同時アクセスが可能である。
【0035】
メモリモジュール230は、メモリチップ231,232を有する。
メモリチップ231は、DRAM147の一部を構成するバンク231A,231Bと、SRAM148の一部を構成するバンク231C,231Dとを有する。
また、メモリチップ232は、DRAM147の一部を構成するバンク232A,232Bと、SRAM148の一部を構成するバンク232C,232Dとを有する。
なお、SRAM148を構成するバンク231C,231D,232C,232Dに対しては同時アクセスが可能である。
【0036】
ここで、メモリモジュール200,210,220,230の各々は、図1に示すテクスチャバッファ147a、ディスプレイバッファ147b、Zバッファ147cおよびテクスチャCLUTバッファ147dの全ての機能を持つ。
すなわち、メモリモジュール200,210,220,230の各々は、対応する画素のテクスチャデータ、描画データ((R,G,B,α)データ)、zデータおよびテクスチャカラールックアップテーブルデータの全てを記憶する。
ただし、メモリモジュール200,210,220,230は、それぞれ、後述するディストリビュータ300(図2)でテクスチャエンジン回路143の出力信号である画素データS143を分配した、相互で異なる画素についてのデータを記憶する。
ここで、同時に処理される16画素についてのテクスチャデータ、描画データ、zデータおよびテクスチャカラールックアップテーブルデータが、相互に異なる16個のバンク201A,201B,202A,202B,211A,211B,212A,212B,221A,221B,222A,222B,231A,231B,232A,232Bに記憶される。
これにより、I/F回路144は、DRAM147に対して、たとえば2×8画素の16画素についてのデータが同時にアクセス可能になる。
なお、I/F回路144は、後述するように、いわゆる所定のインターリーブ方式のアドレッシングに基づいてDRAM147へのアクセス(書き込み)を行う。
【0037】
なお、SRAM148の一部を構成する、バンク201C,201D,202C,202D,211C,211D,212C,212D,221C,221D,222C,222D,231C,231D,232C,232Dには、それぞれ、DRAM147の一部を構成するバンク201A,201B,202A,202B,211A,211B,212A,212B,221A,221B,222A,222B,231A,231B,232A,232Bに記憶されているテクスチャデータが記憶される。
【0038】
テクスチャバッファ147aには、同時にアクセスが行われる画素データからなる単位ブロックが、一次元のアドレス空間で連続したアドレスを持つように記憶される。
【0039】
以下、DRAM147の機能を説明する。
DRAM147の記憶領域は、例えば、1Mワード(1ワード=32ビット)の記憶容量を持ち、図3に示すように、ディスプレイバッファ147b、Zバッファ147c、テクスチャバッファ147aとして使用される。
なお、DRAM147には、図3には図示しないが、テクスチャカラーのモードがインダイレクト(間接)モードのときに使用されるカラールックアップテーブル(CLUT)のデータを記憶することができる。
【0040】
また、DRAM147は、図4に示すように、それぞれ2k(k=1024)ワードのページ(ロウ)と呼ばれる512個の領域から構成される。さらに、1ページは、64ワードのブロックと呼ばれる領域を32個集めて構成され、ディスプレイバッファ147aやZバッファ147cはページ単位でバッファを構成するのに対して、テクスチャバッファ147bはさらに細かいブロック単位でバッファを構成することができる。従って、ベースポインタ(図8を参照して後述)は、ディスプレイバッファ147aおよびZバッファ147cは2kワードのページ単位で設定するのに対して、テクスチャバッファ147aは64ワードのブロック単位で設定することができる。
【0041】
以下、ページ、ブロックおよびカラムの概念についてメモリモジュール200を用いて説明する。
図5,図6および図7に示すように、DRAM147の記憶領域において、2×8画素(ピクセル)の領域でアクセスされたデータは、ページ(ロウ)、ブロックおよびカラムと呼ばれる領域に格納される。
各ロウROW0〜ROWn+1 は、図5に示すように、それぞれ4個の領域M0A,M0B,M1A,M1Bに区分けされている。
領域M0A,M0Bは、例えば、それぞれ図2に示すメモリモジュール200のメモリチップ201のバンク201A,201Bの記憶領域に対応している。領域M1A,M1Bは、例えば、それぞれ図2に示すメモリモジュール200のメモリチップ202のバンク202A,202Bの記憶領域に対応している。
【0042】
そして、x方向について、1メモリバンクに記憶される、8画素毎のバウンダリ、かつy方向について偶数のバウンダリでの領域でアクセス(書き込み、読み出し)が行われる。
これにより、たとえば、ロウROW0とロウROW1をまたぐような領域へのアクセスが行われることがなく、いわゆるページ違反が発生することがない。
【0043】
また、32ピクセル(画素)格納モードでは、図7に示すように、領域M0A,M0B,M1A,M1Bは、それぞれ、図7に示すように、32個のカラムから構成される。
【0044】
DDAセットアップ回路141
DDAセットアップ回路141は、後段のトライアングルDDA回路142において物理座標系上の三角形の各頂点の値を線形補間処理して、三角形の内部の各画素の色と深さ情報を求めるのに先立ち、ポリゴンレンダリングデータS11が示す(z,R,G,B,α,s,t,q)データについて、三角形の辺と水平方向の差分などを求めるセットアップ演算を行う。
このセットアップ演算は、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分(差分)を算出する。
DDAセットアップ回路141は、算出した変分データS141をトライアングルDDA回路142に出力する。
【0045】
トライアングル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に出力する。
【0046】
テクスチャエンジン回路143
テクスチャエンジン回路143は、「s/q」および「t/q」の算出処理、テクスチャ座標データ(u,v)の算出処理、テクスチャバッファ147aからの(R,G,B)データの読み出し処理等をパイプライン方式で行う。
なお、テクスチャエンジン回路143は、たとえば所定の矩形内に位置する8画素についての処理を同時に並行して行う。
【0047】
テクスチャエンジン回路143は、DDAデータS142が示す(s,t,q)データについて、sデータをqデータで除算する演算と、tデータをqデータで除算する演算とを行う。
テクスチャエンジン回路143には、たとえば図示しない除算回路が8個設けられており、8画素についての除算「s/q」および「t/q」が同時に行われる。
【0048】
また、テクスチャエンジン回路143は、除算結果である「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じて、テクスチャ座標データ(u,v)を生成する。
また、テクスチャエンジン回路143は、メモリI/F回路144を介して、SRAM148あるいはDRAM147に、生成したテクスチャ座標データ(u,v)を含む読み出し要求を出力し、メモリI/F回路144を介して、SRAM148あるいはテクスチャバッファ147aに記憶されているテクスチャデータを読み出すことで、(s,t)データに対応したテクスチャバッファ147a(SRAM148)のテクスチャアドレスに記憶された(R,G,B)データS148を得る。
ここで、SRAM148には、テクスチャバッファ147aに格納されているテクスチャデータが記憶される。
テクスチャエンジン回路143は、SRAM148から読み出した(R,G,B)データS148の(R 148 ,G 148 ,B 148 )データと、前段のトライアングルDDA回路142からのDDAデータS142に含まれる(R 142 ,G 142 ,B 142 )データとを、それぞれ掛け合わせるなどして新たな(R 143 ,G 143 ,B 143 )データを生成し、この生成した(R 143 ,G 143 ,B 143 )データと、DDAデータS142に含まれる(x,y,z,α)データとを格納した画素データS143を生成する。
テクスチャエンジン回路143は、この画素データS143をメモリI/F回路144に出力する。
【0049】
なお、テクスチャバッファ147aには、MIPMAP(複数解像度テクスチャ)などの複数の縮小率に対応したテクスチャデータが記憶されている。ここで、何れの縮小率のテクスチャデータを用いるかは、所定のアルゴリズムを用いて、前記三角形単位で決定される。
【0050】
テクスチャエンジン回路143は、フルカラー方式の場合には、テクスチャバッファ147aから読み出した(R 147 ,G 147 ,B 147 )データを直接用いる。
一方、テクスチャエンジン回路143は、インデックスカラー方式の場合には、あらかじめ作成したカラールックアップテーブル(CLUT)をテクスチャCLUTバッファ147dから読み出して、テクスチャエンジン回路143に内蔵する図示しないSRAMに転送および記憶し、このカラールックアップテーブルを用いて、テクスチャバッファ147aから読み出したカラーインデックスに対応する(R,G,B)データを得る。
【0051】
メモリI/F回路144
メモリI/F回路144は、テクスチャエンジン回路143から入力した画素データS143に格納されたzデータと、zバッファ147cに記憶されているzデータとの比較を行い、入力した画素データS143によって描画される画像が、前回、ディスプレイバッファ147bに書き込まれた画像より、手前(視点側)に位置するか否かを判断し、手前に位置する場合には、画素データS143に対応するzデータでzバッファ147cに記憶されたzデータを更新する。
また、メモリI/F回路144は、画素データS143に格納された(R 143 ,G 143 ,B 143 )データを、必要に応じてαブレンディング処理を行った後に、ディスプレイバッファ147bに書き込む。
さらに、メモリI/F回路144は、テクスチャエンジン回路143からのSRAM148に、生成されたテクスチャ座標データ(u,v)を含む読み出し要求を受けた場合には、SRAM148に記憶された(R 148 ,G 148 ,B 148 )データS148を読み出す。
また、メモリI/F回路144は、CRTコントロール回路145から表示データを読み出す要求を受けた場合には、この要求に応じて、ディスプレイバッファ147bから一定の固まり、たとえば8画素あるいは16画素単位で表示データを読み出す。
【0052】
このように、メモリI/F回路144は、DRAM147およびSRAM148へのアクセス(書き込みまたは読み出し)を行うが、書き込み経路と読み出し経路とが別経路として構成されている。
すなわち、書き込みの場合には書き込みアドレスADRWと書き込みデータDTWがメモリI/F回路144の書き込み系回路で処理されてDRAM147に書き込み、読み出しの場合にはメモリI/F回路144の読み出し系回路で処理されてDRAM147またはSRAM148から読み出す。
そして、メモリI/F回路144は、所定のインターリーブ方式のアドレッシ
ングに基づいてDRAM147へのアクセスを、たとえば16画素単位で行う。
【0053】
以下に、メモリI/F回路144の具体的な構成例について、図2に関連付けて説明する。
【0054】
メモリI/F回路144は、図2に示すように、ディストリビュータ300、アドレスコンバータ310,320,330,340、メモリコントローラ350,360,370,380および読み出しコントローラ390を有する。
【0055】
〔ディストリビュータ300〕
ディストリビュータ300は、DRAM147に対して、たとえば2×8画素の16画素についてのデータが同時にアクセス可能になるようにデータ分配処理を行う。
なお、本実施形態では、上述したように、x方向について8画素毎のバウンダリ、かつy方向について偶数のバウンダリでの領域でアクセス(書き込み、読み出し)を行うようなアドレッシングとなるように、アドレス生成処理が行われる。
【0056】
ディストリビュータ300は、書き込み時に、図1に示すテクスチャエンジン回路143から、16画素分の(R 143 ,G 143 ,B 143 ,α,z)データからなるデータDTWと、(x,y)データからなるアドレスADRRWとを格納した画素データS143を入力する。
そして、ディストリビュータ300は、16画素分のデータDTWを、各々4画素分のデータからなる4つの画素データS301D,S302D,S303D,S304Dに分割し、これらをそれぞれアドレスコンバータ310,320,330,340に出力する。
また、ディストリビュータ300は、16画素分の書き込みアドレスADRRWを、各々4画素分の書き込みアドレスからなる4つの書き込みアドレスS301A,S302A,S303A,S304Aに分割し、これらをそれぞれアドレスコンバータ310,320,330,340に出力する。
ここで、1画素分の(R 143 ,G 143 ,B 143 ,α)データに含まれるRデータ、Gデータ、Bデータおよびαデータは各々8ビット(合計24ビット)、zデータは32ビットからなる。
【0057】
〔アドレスコンバータ310,320,330,340〕
アドレスコンバータ310,320,330,340は、書き込み時に、ディストリビュータ300から入力した(R,G,B,α)データおよびzデータの書き込みアドレスS301A,S302A,S303A,S304Aを、それぞれメモリモジュール200,210,220,230内のアドレスに変換するアドレス変換処理を行い、それによって得た書き込みアドレスS310,S320,S330,S340と、画素データS301D,S302D,S303D,S304Dとをそれぞれメモリコントローラ350,360,370,380に出力する。
ここで、アドレスコンバータ310,320,330,340におけるアドレス変換処理は基本的に同じであるため、以下、アドレスコンバータ310において、図6に示すように、32個のブロックから1ページが構成される32ピクセル格納モードを採用した場合を例示して説明する。
【0058】
アドレスコンバータ310は、図8に図解のごとく、例えば、図2に示すディストリビュータ300から入力した書き込みアドレスS301Aに含まれるx〔10:6〕データおよびy〔10:5〕データと、所定の設定レジスタからのバッファ幅データbwおよびベースポインタdbp,zbpを用いて、チップセレクトデータcs、バンクセレクタデータbs、ディスプレイバッファ147bのロウアドレスdrowおよびコラムアドレスdcol、並びにZバッファ147cのロウアドレスzrowおよびコラムアドレスzcolを生成し、これらを含む書き込みアドレスS310をメモリコントローラ350に出力する。
【0059】
x〔10:3〕データは、xデータの3〜10ビット目の合計8ビットからなり、2次元上のx方向の位置を示し、x〔10:6〕データによって図5に示す記憶領域のx方向のアドレスを64ワード単位で指定する。
また、y〔10:1〕は、yデータの1〜10ビット目の合計10ビットからなり、2次元上のy方向の位置を示し、y〔10:5〕データによって図5に示す記憶領域のy方向のアドレスを32ワード単位で指定する。
また、バッファ幅データbwは、図5に示すDRAM147の2次元の記憶領域のx方向の幅(ワード)を示している。
ディスプレイバッファ147b用のベースポインタdbpは、図3に示すDRAM147の記憶領域のうちディスプレイバッファ147bとして使用される記憶領域の先頭アドレスを示している。
zバッファ147c用のベースポインタzbpは、図3に示すDRAM147の記憶領域のうちZバッファ147cとして使用される記憶領域の先頭アドレスを示している。
【0060】
また、チップセレクトデータcsは、例えば、図2に示す、メモリモジュール200のメモリチップ201,202のうち一方を選択するためのデータである。
バンクセレクタデータbsは、図2に示す各メモリチップにおいて、バンクA,Bのうち一方を選択するためのデータである。
ディスプレイバッファ147bのロウアドレスdrowは、DRAM147内のページのベースポインタdbpからのアドレスを示すデータである。
また、コラムアドレスdcolは、DRAM147のディスプレイバッファ147b内のロウアドレスdrowによって指定されたページ内のコラムについてのロウアドレスdrowからのアドレスを示すデータである。
Zバッファ147cのロウアドレスzrowは、DRAM147のzバッファ147c内のページのベースポインタzbpからのページアドレスを示すデータである。
また、コラムアドレスzcolは、DRAM147のzバッファ147c内のロウアドレスzrowによって指定されたページ内のコラムについてのロウアドレスzrowからのアドレスを示すデータである。
【0061】
以下、アドレスコンバータ310内の構成について説明する。
図8は、アドレスコンバータ310内に組み込まれた1画素分の書き込みアドレスを生成するアドレス生成ブロック480の構成図である。
アドレスコンバータ310は、4画素について同時処理を行うため、図8に示すアドレス生成ブロック480を4個内蔵している。
アドレスを生成するアドレス生成ブロック480が、本発明のアドレス生成回路に対応している。
【0062】
図8に示すように、アドレス生成ブロック480は、乗算器500,501および加算器502,503を有する。
ここで、乗算器500および加算器502を用いて、ディストリビュータ300で4分割された第1の分割データS301D内の画素データのディスプレイバッファ147bへの書き込みアドレスを算出し、乗算器501および加算器503を用いてデータS301D内のZデータのZバッファ147cへの書き込みアドレスを算出する。
【0063】
本実施形態では、例えば、VHDL(Verilog Hardware Description Language) などのハードウェア記述言語を用いてメモリI/F回路144の機能を記述した回路パターン生成用データを作成し、当該回路パターン生成用データから回路パターンを自動生成する。このとき、回路パターン生成用データにおいて、図8に示す乗算器500および加算器502を1つのマクロセル800として扱い、乗算器501および加算器503を1つのマクロセル801として扱う。これにより、メモリI/F回路144内に組み込まれた複数のアドレス生成ブロック480の設計過程を共有できる共に、乗算器500および加算器502、並びに乗算器501および加算器503を、それぞれ物理的に近接した位置に配置した回路構成を実現でき、回路動作を高速にできる。
【0064】
乗算器500は、アドレスデータy〔10:1〕とバッファ幅データbwとを乗算し、その乗算結果S500を加算器502に出力する。
加算器502は、乗算結果S500と、アドレスデータ〔10:3〕と、ベースポインタdbpとを加算し、その加算結果を図2に示すアドレスS310に含めてメモリコントローラ351に出力する。このとき、加算器502から出力された加算結果内の所定ビットによって、ロウアドレスdrow、コラムアドレスdcol、バンクセレクトデータbsおよびチップセレクトデータcsが示されている。
【0065】
また、乗算器501は、アドレスデータy〔10:1〕とバッファ幅データbwとを乗算し、その乗算結果S501を加算器503に出力する。
加算器503は、乗算結果S501と、アドレスデータ〔10:3〕と、ベースポインタzbpとを加算し、その加算結果を図2に示すアドレスS310に含めてメモリコントローラ351に出力する。このとき、加算器503から出力された加算結果内の所定ビットによって、ロウアドレスzrowおよびコラムアドレスzcolが示されている。
【0066】
上述したアドレス変換処理において、アドレス生成ブロック480は、以下式(1)〜(4)に基づいて、ロウアドレスdrow、コラムアドレスdcol、ロウアドレスzrowおよびコラムアドレスzcolの算出および生成を行っている。
【0067】
【数1】
drow=y〔10:5〕×bw+x〔10:6〕+dbp …(1)
【0068】
【数2】
dcol={x〔4〕,y〔3〕,x〔3〕,y〔2:1〕} …(2)
【0069】
【数3】
zrow=y〔10:5〕×bw+x〔10:6〕+zbp …(3)
【0070】
【数4】
zcol={x〔4〕,y〔3〕,x〔3〕,y〔2:1〕} …(4)
【0071】
〔メモリコントローラ350,360,370,380〕
メモリコントローラ350,360,370,380は、図2に図解したように、それぞれ書き込み系配線群401W,402W,411W,412W,421W,422W,431W,432W、並びに読み出し系配線群401R,402R,411R,412R,421R,422R,431R,432Rを介してメモリモジュール200,210,220,230に接続されており、書き込み時および読み出し時にメモリモジュール200,210,220,230に対してのアクセスを制御する。
【0072】
具体的には、書き込み時には、メモリコントローラ350,360,370,380は、ディストリビュータ300から出力され、アドレスコンバータ350,360,370,380から入力した4画素分の(R,G,B,α)データおよびzデータを、書き込み系配線群401W,402W,411W,412W,421W,422W,431W,432Wを介してメモリモジュール200,210,220,230に同時に書き込む。
このとき、たとえば、メモリモジュール200では、前述したように、バンク201A,201B,202A,202Bの各々に、1画素分の(R,G,B,α)データおよびzデータが記憶される。メモリモジュール210,220,230についても同じである。
【0073】
また、各メモリコントローラ350,360,370,380は、自身のステートマシンがいわゆるアイドル(IDLE)状態にあるときに、アイドル信号S350,S360,S370,S380を読み出しコントローラ390にアクティブで出力し、このアイドル信号S350,S360,S370,S380に応答した読み出しコントローラ390による読み出しアドレスおよび読み出し要求信号S391を受けて、読み出し系配線群401R,402R,411R,412R,421R,422R,431R,432Rを介してデータの読み出しを行い、読み出し系配線群351,361,371,381、並びに配線群440を介して読み出しコントローラ390に出力する。
【0074】
なお、本実施形態では、書き込み系配線群401W,402W,411W,412W,421W,422W,431W,432W、並びに読み出し系配線群401R,402R,411R,412R,421R,422R,431R,432Rの配線本数は128本(128ビット)、読み出し系配線群351,361,371,381の配線本数は256本(256ビット)、ならびに読み出し系配線群440の配線本数は1024本(1024ビット)である。
【0075】
また、メモリコントローラ350,360,370,380は、それぞれアドレスコンバータ310,320,330,340から入力した画素データS301D,S302D,S303D,S304Dに含まれる4画素分の(R,G,B,α)データを、それぞれ書き込みアドレスS310,S320,S330,S340が指し示すDRAM147内のアドレスに書き込む際に、各画素毎に、当該入力した(R,G,B)データと、当該指し示されたアドレスに既に記憶されている(R,G,B)データとをαデータによって示される混合比で混合して新たな(R,G,B)データを生成し、当該生成した(R,G,B)データと、当該入力したαデータとから構成される(R,G,B,α)データを当該指し示されたDRAM147内のアドレスに書き込む、いわゆるαブレンディング処理を行う。
【0076】
図9は、メモリコントローラ350内の1画素分のαブレンディング処理を行うαブレンディング処理ブロックの構成図である。
αブレンディング処理ブロック600Rの詳細構成を図示した図9に示すように、メモリコントローラ350は、各画素毎にαブレンディング処理ブロック600R,600G,600Bを有し、これらを4画素分有している。
αブレンディング処理ブロック600R,600G,600Bが、それぞれ本発明の色データ生成回路に対応している。
αブレンディング処理ブロック600R,600G,600Bは、それぞれRデータ、GデータおよびBデータについて処理を行う点を除いて同じである。
本実施形態では、例えば、VHDLなどのハードウェア記述言語を用いてメモリI/F回路144の回路パターンを設計する際に、αブレンディング処理ブロック600R,600G,600Bをそれぞれマクロセルとして扱う。これにより、メモリI/F回路144内に組み込まれたαブレンディング処理ブロック600R,600G,600Bの設計過程を共有できる共に、αブレンディング処理ブロック600R,600G,600Bの各々において構成要素を物理的に近接した位置に配置でき、回路動作を高速にできる。
なお、例えば、αブレンディング処理ブロック600R,600G,600Bを1つのマクロセルとして扱って設計を行ってもよい。
【0077】
図9において、ソースデータSはアドレスコンバータ310から入力した1画素分の(R,G,B,α)データである。
また、デスティネーションデータDは、ソースデータSを書き込もうとするDRAM147内のアドレスに既に記憶されている1画素分の(R,G,B,α)データである。
【0078】
αブレンディング処理ブロック600Rは、ソースデータSのRデータおよびαデータであるデータSRおよびSαと、デスティネーションデータDのRデータおよびαデータであるデータDRおよびDαと、ディザ(Dither)データDITHとを入力する。ディザデータは、データを間引くために用いられる。
また、αブレンディング処理ブロック600Rは、DRAM147に書き込むRデータを示すデータWRを生成し、これをクランプブロック650に出力する。
【0079】
αブレンディング処理ブロック600Gは、ソースデータSのGデータおよびαデータであるデータSGおよびSαと、デスティネーションデータDのGデータおよびαデータであるデータDGおよびDαと、ディザデータDITHとを入力する。
また、αブレンディング処理ブロック600Gは、DRAM147に書き込むRデータを示すデータWGを生成し、これをクランプブロック650に出力する。
【0080】
αブレンディング処理ブロック600Bは、ソースデータSのBデータおよびαデータであるデータSBおよびSαと、デスティネーションデータDのBデータおよびαデータであるデータDBおよびDαと、ディザデータDITHとを入力する。
また、αブレンディング処理ブロック600Bは、DRAM147に書き込むBデータを示すデータWBを生成し、これをクランプブロック650に出力する。
【0081】
以下、αブレンディング処理ブロック600Rについて詳細に説明する。
図9に示すように、αブレンディング処理ブロック600Rは、マルチプレクサ610,611,612,613、減算器620、乗算器630および加算器640,641を有する。
【0082】
マルチプレクサ610,611は、データSR、データDRおよび論理値「0」を入力し、これらのうち一つを、図示しない制御データに基づいて選択し、それぞれデータS610,S611として減算器620に出力する。
マルチプレクサ612は、データSR、データDRおよび固定のα値であるFixαを入力し、これらのうち一つを、図示しない制御データに基づいて選択し、データS612として乗算器630に出力する。
マルチプレクサ613は、データSR、データDRおよび論理値「0」を入力し、これらのうち一つを、図示しない制御データに基づいて選択し、それぞれデータS613として加算器640に出力する。
【0083】
減算器620は、データS610からデータS611を減算する減算処理を行い、減算結果を示すデータS620を乗算器630に出力する。
乗算器630は、データS620とデータS612とを乗算する乗算処理を行い、乗算結果を示すデータS630を加算器641に出力する。
【0084】
加算器640は、データS613と、ディザデータDITHとを加算する加算処理を行い、加算結果を示すデータS640を加算器641に出力する。
加算器641は、データS630とデータS640とを加算する加算処理を行い、加算結果を示すデータWRを加算器641を後段のクランプブロック650に出力する。
ここで、データWRは、DRAM147に書き込むRデータを示している。
【0085】
以下、図9に示すαブレンディング処理ブロック600Rの動作の一例について説明する。
ここでは、αブレンディング処理ブロック600Rを用いて、下記式(5)のαブレンディグ処理の演算を行う場合を例示する。
【0086】
【数5】
WR=(SR−DR)×Dα+DITH …(5)
【0087】
この場合には、図示しない制御信号に基づいて、マルチプレクサ610においてデータSRが選択され、マルチプレクサ611においてデータDRが選択され、マルチプレクサ612においてデータDαが選択され、マルチプレクサ613において論理値「0」が選択される。
【0088】
次に、減算器620において、データSRからデータDRが減算され、減算結果「SR−DR」が乗算器630に出力される。
次に、乗算器630において、減算結果「SR−DR」と、データDαとの乗算が行われ、乗算結果「(SR−DR)×Dα」が加算器641に出力される。
また、それと並行して、加算器640において、論理値「0」と、ディザデータDITHとの加算が行われ、加算結果「DITH」が加算器641に出力される。
【0089】
次に、加算器641において、乗算結果「(SR−DR)×Dα」と、加算結果「DITH」との加算が行われ、加算結果「(SR−DR)×Dα+DITH」が、データWRとしてクランプブロック650に出力される。
【0090】
αブレンディング処理600Gの処理は、データSG,DGを用いて処理を点を除いて、前述したαブレンディング処理600Rの処理と同じである。
また、αブレンディング処理600Bの処理は、データSB,DBを用いて処理を点を除いて、前述したαブレンディング処理600Rの処理と同じである。
【0091】
クランプブロック650は、αブレンディング処理ブロック600R,600G,600Bから入力したデータWR,WG,WB,Sαに対して32ビット内にデータ長を調整するために下位数ビットを切り捨てるクランプ処理を行って32ビットの(R,G,B,α)データS650を生成する。
【0092】
メモリコントローラ350は、アドレスコンバータ310からのアドレスS310によって指定されたDRAM147のディスプレイバッファ147b内のアドレスに、(R,G,B,α)データS650を書き込む。
また、アドレスコンバータ310からのアドレスS310によって指定されたDRAM147のzバッファ147c内のアドレスに、対応するzデータを書き込む。
【0093】
なお、図2に示すディストリビュータ300の処理と、アドレスコンバータ310,320,330,340の処理と、メモリコントローラ350,351,352,353の処理とが、順次にパイプライン方式で実行される場合には、例えば、図9に示す乗算器630の内部と、加算器640の入力側とに、それぞれタイミング調整用のフリップフロップが配設される。
【0094】
〔読み出しコントローラ390〕
読み出しコントローラ390は、図2に図解のごとく、アドレスコンバータ391およびデータ演算処理部392により構成されている。
アドレスコンバータ391は、読み出しアドレスADRRを受けた場合、メモリコントローラ350,360,370,380からのアイドル信号S350,S360,S370,S380をすべてアクティブで受けると、このアイドル信号S350,S360,S370,S380に応答して、8画素あるいは16画素単位で読み出しを行うように、読み出しアドレスおよび読み出し要求信号S391を各メモリコントローラ350,360,370,380に出力する。
データ演算部392は、読み出しアドレスおよび読み出し要求信号S391に応答して各メモリコントローラ350,360,370,380で読み出された8画素あるいは16画素単位の、テクスチャデータ、(R,G,B)データ、zデータおよびテクスチャカラールックアップテーブルデータを配線群440を介して入力し、所定の演算処理を行って、要求先、たとえばテクスチャエンジン回路143またはCRTコントロール回路145に出力する。
【0095】
読み出しコントローラ390は、上述したように、メモリコントローラ350,360,370,380のすべてがアイドル状態にあるときに、読み出しアドレスおよび読み出し要求信号S391をメモリコントローラ350,360,370,380に出力に読み出しデータを受けることから、読み出すデータの同期をとることができる。
したがって、読み出しコントローラ390は、データを一時的に保持するFIFO(First In First Out)回路等の保持回路を設ける必要がなく、回路規模の縮小化が図られている。
【0096】
CRTコントロール回路145
図2に示したCRTコントロール回路145は、与えられた水平および垂直同期信号に同期して、図示しないCRT表示装置に表示データを表示するアドレスを発生し、ディスプレイバッファ147bから表示データを読み出す要求をメモリI/F回路144に出力する。この要求に応じて、メモリI/F回路144は、ディスプレイバッファ147bから一定の固まりで表示データを読み出す。CRTコントローラ回路145は、ディスプレイバッファ147bから読み出した表示データを記憶するFIFO回路を内蔵し、一定の時間間隔で、RAMDAC回路146に、RGBのインデックス値を出力する。
【0097】
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に出力する。
【0098】
次に、上記構成による動作を説明する。
図1に示した3次元コンピュータグラフィックスシステム10においては、グラフィックス描画等のデータは、メインプロセッサ11のメインメモリ12、あるいは外部からのグラフィックスデータを受けるI/Oインタフェース回路13からメインバス15を介してレンダリング回路14に与えられる。
なお、必要に応じて、グラフィックス描画等のデータは、メインプロセッサ11等において、座標変換、クリップ処理、ライティング処理等のジオメトリ処理が行われる。
ジオメトリ処理が終わったグラフィックスデータは、三角形の各3頂点の頂点座標x,y,z、輝度値R,G,B、描画しようとしている画素と対応するテクスチャ座標s,t,qとからなるポリゴンレンダリングデータS11となる。
【0099】
このポリゴンレンダリングデータS11は、レンダリング回路14のDDAセットアップ回路141に入力される。
DDAセットアップ回路141においては、ポリゴンレンダリングデータS11に基づいて、三角形の辺と水平方向の差分などを示す変分データS141が生成される。具体的には、開始点の値と終点の値、並びに、その間の距離を用いて、単位長さ移動した場合における、求めようとしている値の変化分である変分が算出され、変分データS141としてトライアングルDDA回路142に出力される。
【0100】
トライアングルDDA回路142においては、変分データS141を用いて、、三角形内部の各画素における線形補間された(z,R,G,B,α,s,t,q)データが算出される。
そして、この算出された(z,R,G,B,α,t,q)データと、三角形の各頂点の(x,y)データとが、DDAデータS142として、トライアングルDDA回路142からテクスチャエンジン回路143に出力される。
【0101】
テクスチャエンジン回路143においては、DDAデータS142が示す(s,t,q)データについて、sデータをqデータで除算する演算(s/q)と、tデータをqデータで除算する演算(t/q)とが行われる。そして、除算結果「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEが乗算され、テクスチャ座標データ(u,v)が生成される。
【0102】
次に、テクスチャエンジン回路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)データとをそれぞれ掛け合わせるなどして新たな(R,G,B)データが生成され、この生成された(R,G,B)データと、DDAデータS142に含まれる(x,y,z,α)データとを格納した画素データS143が生成される。
この画素データS143は、テクスチャエンジン回路143からメモリI/F回路144に出力される。
【0103】
フルカラーの場合には、テクスチャバッファ147aからのデータ(R,G,B)を直接用いればよいが、インデックスカラーの場合には、あらかじめ作成しておいたカラーインデックステーブル(Color Index Table )のデータが、テクスチャCLUT(Color Look Up Table)バッファ147dより、SRAM等で構成される一時保管バッファ(図示せず)へ転送され、この一時保管バッファのCLUTを用いてテクスチャエンジン回路143で演算することによりカラーインデックスから実際のR,G,Bカラーが得られる。
なお、CULTがSRAMで構成された場合は、カラーインデックスをSRAMのアドレスとしてSRAMに入力すると、その出力には実際のR,G,Bカラーが出てくるといった使い方となる。
【0104】
次に、図2示すメモリI/F回路144内のアドレスコンバータ310,320,330,340において、16個の画素データについての書き込みアドレスが、それぞれ対応する図8に示すアドレス生成ブロック480を用いて算出される。
そして、メモリI/F回路144において、テクスチャエンジン回路143から入力した画素データS143に対応するzデータと、zバッファ147c内の上記アドレス生成ブロック480を用いて算出された書き込みアドレスに記憶されているzデータとの比較が行われ、入力したポリゴンレンダリングデータによって描画される画像が、前回、ディスプレイバッファ147bに書き込まれた画像より、手前(視点側)に位置するか否かが判断される。
判断の結果、手前に位置する場合には、画素データS143に含まれるzデータでzバッファ147cに記憶されたzデータが更新される。
【0105】
次に、図2に示すメモリI/F回路144内のメモリコントローラ350,360,370,380(図8)において、画素データS143に含まれる(R,G,B,α)データを用いたαブレンディング処理が行われ、その結果得られた(R,G,B,α)データがディスプレイバッファ147bに書き込まれる。
これら書き込む(更新も含む)べきデータは、メモリインタフェース(I/F)回路144内の書き込み系回路である、ディストリビュータ300、アドレスコンバータ310,320,330,340を介してメモリコントローラ350,360,370,380に供給され、メモリコントローラ350,360,370,380によって、それぞれ書き込み系配線群401W,402W,411W,412W,421W,422W,431W,432Wを介し所定のメモリ200,210,220,230に対して並列的に書き込まれる。
【0106】
このとき、メモリコントローラ350,360,370,380は、αブレンディング処理において、それぞれアドレスコンバータ310,320,330,340から入力した画素データS301D,S302D,S303D,S304Dに含まれる4画素分の(R,G,B,α)データを、各画素毎に、当該入力した(R,G,B)データと、ディスプレイバッファ147bの当該指し示されたアドレスに既に記憶されている(R,G,B)データとをαデータによって示される混合比で混合して新たな(R,G,B)データを生成する。
そして、メモリコントローラ350,360,370,380は、該生成した(R,G,B)データと、当該入力したαデータとから構成される(R,G,B,α)データを当該指し示されたDRAM147のディスプレイバッファ147b内のアドレスに書き込む。
【0107】
また、図示しないCRT表示装置に画像を表示する場合には、CRTコントロール回路145において、与えられた水平垂直同期周波数に同期して、表示アドレスが発生され、メモリI/F回路144へ表示データの転送の要求が出される。
メモリI/F回路144は、その要求に従い、一定のまとまった固まりで、表示データをCRTコントロール回路145に転送する。
CRTコントロール回路145では、図示しないディスプレイ用FIFO(First In First Out)等にその表示データが貯えられ、一定の間隔でRAMDAC146へRGBのインデックス値が転送される。
【0108】
以上説明したように、本実施形態によれば、16画素分の画素データについての書き込みアドレスの生成処理を16個の図8に示すアドレス生成ブロック480を用いて並列に行い、アドレス生成処理の高速化を図ることができる。
また、本実施形態によれば、図8に示すように、1画素分のアドレス生成ブロック480において、マクロセル800,801を用いて回路設計を行うことで、アドレスコンバータ310,320,330,340の処理の高速化を図ることができる。
また、図8に示すアドレス生成ブロック480を用いて前述したように書き込みアドレスS310,S320,S330,S340を生成することで、同時にアクセスする16画素分の画素データを、それぞれ異なる16個のバンク201A,201B,202A,202B,211A,211B,212A,212B,221A,221B,222A,222B,231A,231B,232A,232Bに割り当てる。
その結果、本実施の形態の3次元コンピュータグラッックシステム10によれば、16画素分の(R,G,B,α)データをDRAM147のディスプレイバッファ147bに同時に書き込むとができ、処理速度を向上させることができる。
【0109】
また、本実施形態によれば、図9に示すように、各画素データについてのαブレンディング処理を、Rデータ、GデータおよびBデータについて並列に行うことで、αブレンディング処理の高速化を図ることができる。
また、本実施形態によれば、図9に示すように、1画素分のαブレンディング処理ブロック600R,600G,600Bを、それぞれマクロセルを用いて設計を行うことで、メモリコントローラ350,360,370,380におけるαブレンディング処理の処理の高速化を図る。
その結果、3次元コンピュータグラッックシステム10によれば、処理速度を向上させることができる。
【0110】
また、本実施形態では、DRAM147およびSRAM148へのアクセス(書き込みまたは読み出し)を行うメモリI/F回路144において、書き込み経路と読み出し経路とを別経路として構成し、書き込みの場合には書き込みアドレスADRWと書き込みデータDTWを書き込み系回路であるディストリビュータ300、アドレスコンバータ310,320,330,340およびメモリコントローラ350,360,370,380で処理してDRAM147に書き込み、読み出しの場合には読み出し系回路である読み出しコントローラ390、メモリコントローラ350,360,370,380で処理してDRAM147またはSRAM148から読み出すことから、たとえば読み出しの割り込みが入った時等に早いタイミングで切り替えることができ、読み出しの際の性能の向上を図ることができる。
【0111】
さらに、本実施形態によれば、半導体チップ内部に内蔵されたDRAM147に、表示デ−タと少なくとも一つの図形要素が必要とするテクスチャデ−タを記憶させた構成を有することから、表示領域以外の部分にテクスチャデ−タを格納できることになり、内蔵DRAMの有効利用が可能となり、高速処理動作、並びに低消費電力化を並立させるようにした画像処理装置が実現可能となる。
そして、単一メモリシステムを実現でき、すべてが内蔵された中だけで処理ができる。その結果、ア−キテクチャとしても大きなパラダイムシフトとなる。
また、メモリの有効利用ができることで、内部に持っているDRAMのみでの処理が可能となり、内部にあるがゆえのメモリと描画システムの間の大きなバンド幅が、十分に活用可能となる。また、DRAMにおいても特殊な処理を組み込むことが可能となる。
【0112】
なお、本発明は上述した実施形態には限定されない。
また、上述した図1に示す3次元コンピュータグラフィックスシステム10では、SRAM148を用いる構成を例示したが、SRAM148を設けない構成にしてもよい。
【0113】
さらに、図1に示す3次元コンピュータグラフィックスシステム10では、ポリゴンレンダリングデータを生成するジオメトリ処理を、メインプロセッサ11で行う場合を例示したが、レンダリング回路14で行う構成にしてもよい。
【0114】
また、上述した実施形態では、16個の画素データを同時にDRAM147に書き込む場合を例示したが、同時に書き込みを行う画素データの数は任意である。
【0115】
【発明の効果】
以上説明したように、本発明の画像処理装置によれば、高速な処理を実現できる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る3次元コンピュータグラフィックスシステムの構成を示すブロック図である。
【図2】図2は、図1に示すメモリI/F回路およびDRAMの構成を示すブロック図である。
【図3】図3は、図1に示すDRAMの機能を説明するための図である。
【図4】図4は、図1に示すDRAMのアドレス空間を説明するための図である。
【図5】図5は、図1に示すDRAMにおけるページ(ロウ)の概念について説明するための図である。
【図6】図6は、図1に示すDRAMにおけるブロックの概念について説明するための図である。
【図7】図7は、図1に示すDRAMにおけるカラムの概念について説明するための図である。
【図8】図8は、図2に示すアドレスコンバータ内の1画素分のアドレス生成ブロックのブロック図である。
【図9】図9は、図2に示すメモリコントローラの1画素分のαブレンディング処理ブロックのブロック図である。
【符号の説明】
10…3次元コンピュータグラフィックスシステム、11…メインプロセッサ、12…メインメモリ、13…I/Oインタフェース回路、14…レンダリング回路、141…DDAセットアップ回路、142…トライアングルDDA回路、143…テクスチャエンジン回路、144…メモリI/F回路、145…CRTコントローラ回路、146…RAMDAC回路、147…DRAM、147a…テクスチャバッファ、147b…ディスプレイバッファ、147c…zバッファ、147d…テクスチャCLUTバッファ、148…SRAM、200,210,220,230…メモリモジュール、300…ディストリビュータ、310,320,330,340…アドレスデコーダ、350,360,370,380…メモリコントローラ、390…読み出しコントローラ、391…アドレスデコーダ、392…データ演算処理部
Claims (10)
- マトリクス状に配置された複数の画素の色をそれぞれ示す複数の画素データを含む表示データを記憶し、複数の前記画素データを同時に書き込み可能な記憶回路と、
前記記憶回路に同時に書き込まれる複数の画素データのそれぞれに対応して設けられ、対応する前記画素データを書き込む前記記憶回路の記憶領域内のアドレスである書き込みアドレスをそれぞれ生成する複数のアドレス生成回路と、
前記複数の画素データを、前記記憶領域内の前記書き込みアドレスにそれぞれ書き込む書き込み回路と、
を有し、
前記画素データは、前記色を示す色データと、対応する画素の2次元上のx方向およびy方向の位置をそれぞれ示す第1の位置データおよび第2の位置データとを含み、
前記アドレス生成回路は、
前記第2の位置データと、前記記憶領域のx方向の幅に応じた幅データとを乗算する乗算回路と、
前記第1の位置データと、前記乗算回路の乗算結果とを加算して前記書き込みアドレスを生成する加算回路と、を有し、
前記乗算回路および前記加算回路は、
画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置。 - 前記画素データは、さらに3次元表示処理を行う際に用いられる奥行きデータとを含み、
前記アドレス生成回路は、
前記乗算回路として第1の乗算回路および第2の乗算回路を含み、
前記加算回路として第1の加算回路および第2の加算回路を含み、
前記第1の乗算回路は、
前記第2の位置データと、前記幅データとを乗算し、
前記第1の加算回路は、
前記第1の位置データと、前記第1の乗算回路の乗算結果と、色データを記憶する領域として前記記憶領域内に予め決められた第1の記憶領域の先頭アドレスを示す第1のアドレスデータとを加算して前記色データについての前記書き込みアドレスを生成し、
前記第2の乗算回路は、
前記第2の位置データと、前記幅データとを乗算し、
前記第2の加算回路は、
前記第1の位置データと、前記第2の乗算回路の乗算結果と、前記奥行きデータを記憶する領域として前記記憶領域内に予め決められた第2の記憶領域の先頭アドレスを示す第2のアドレスデータとを加算して前記奥行きデータについての前記書き込みアドレスを生成する
請求項1に記載の画像処理装置。 - 前記第1および第2の乗算回路および前記第1および第2の加算回路は、
前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述された、
請求項2に記載の画像処理装置。 - マトリクス状に配置された複数の画素の色をそれぞれ示す複数の第1の画素データを含む表示データを記憶し、複数の前記第1の画素データを同時に書き込み可能な記憶回路と、
前記同時に書き込まれる前記複数の第1の画素データのそれぞれに対応して設けられ、対応する第2の画素データが示す色と書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第2の画素データおよび前記第3の画素データを用いて行って前記新たな色を示す前記第1の画素データを生成する複数の画素データ生成回路と、
前記生成された複数の第1の画素データを前記記憶回路の記憶領域に同時に書き込む書き込み回路と、
を有し、
前記第1の画素データ、前記第2の画素データおよび前記第3の画素データは、複数の色データを含み、当該複数の色データが示す値を組み合わせて色を示し、
前記画素データ生成回路は、
前記複数の色データのそれぞれに対応して設けられ、対応する前記第2の画素データの前記対応する色データが示す色と前記書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データの前記対応する色データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第2の画素データおよび前記第3の画素データの前記対応する色データを用いて行って前記新たな色を示す前記第1の画素データの前記対応する色データを生成する複数の色データ生成回路を有し、
前記画素データ生成回路は、
前記第2の画素データの前記対応する色データおよび前記第3の画素データの前記対応する色データとを用いて減算を行う減算回路と、
前記減算回路の減算結果と前記混合比を示す混合比データとを乗算する乗算回路と、を有し、
前記画素データ生成回路の前記減算回路および前記乗算回路は、
画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置。 - 前記画素データ生成回路は、
ディザデータと前記第2の画素データの前記対応する色データまたは前記第3の画素データの前記対応する色データとを加算する第1の加算回路と、
前記乗算回路の乗算結果と、前記第1の加算回路の加算結果とを加算する第2の加算回路と
をさらに有する、
請求項4に記載の画像処理装置。 - 前記複数の色データ生成回路は、
前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
請求項4に記載の画像処理装置。 - 立体モデルを複数の単位図形を組み合わせて表現し、表示装置のマトリクス状に配置された画素毎に色を示す画素データを生成する画像処理装置において、
前記単位図形の頂点について、R(赤),G(緑),B(青)データを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成回路と、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の画素データを生成するデータ補間回路と、
複数の前記画素データの前記R,G,Bデータを含む表示データを記憶し、複数の前記画素データの前記R,G,Bデータを同時に書き込み可能な記憶回路と、
前記記憶回路に同時に書き込まれる前記複数の画素データのそれぞれに対応して設けられ、対応する前記画素データの前記R,G,Bデータを書き込む前記記憶回路の記憶領域内のアドレスである書き込みアドレスをそれぞれ生成する複数のアドレス生成回路と、
前記複数の画素データの前記R,G,Bデータを、前記記憶領域内の前記書き込みアドレスにそれぞれ書き込む書き込み回路と、
を有し、
前記ポリゴンレンダリングデータ生成回路は、前記単位図形の頂点のそれぞれについて、当該頂点の2次元座標を示すx,yデータをさらに含む前記ポリゴンレンダリングデータを生成し、
前記アドレス生成回路は、
前記yデータと、前記記憶領域のx方向の幅に応じた幅データとを乗算する乗算回路と、
前記xデータと、前記乗算回路の乗算結果とを加算して前記書き込みアドレスを生成する加算回路と、を有し、
前記乗算回路および前記加算回路は、
前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置。 - 前記ポリゴンレンダリングデータ生成回路は、前記単位図形の頂点について、
奥行きを示すzデータをさらに含む前記ポリゴンレンダリングデータを生成し、
前記アドレス生成回路は、
前記乗算回路として第1の乗算回路および第2の乗算回路を含み、
前記加算回路として第1の加算回路および第2の加算回路を含み、
前記第1の乗算回路は、
前記yデータと、前記幅データとを乗算し、
前記第1の加算回路は、
前記xデータと、前記第1の乗算回路の乗算結果と、前記R,G,Bデータを記憶する領域として前記記憶領域内に予め決められた第1の記憶領域の先頭アドレスを示す第1のアドレスデータとを加算して前記R,G,Bデータについての前記書き込みアドレスを生成し、
前記第2の乗算回路は、
前記yデータと、前記幅データとを乗算し、
前記第2の加算回路は、
前記xデータと、前記第2の乗算回路の乗算結果と、前記zデータを記憶する領域として前記記憶領域内に予め決められた第2の記憶領域の先頭アドレスを示す第2のアドレスデータとを加算して前記zデータについての前記書き込みアドレスを生成する
請求項7に記載の画像処理装置。 - 前記第1および第2の乗算回路および前記第1および第2の加算回路は、
前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述された、
請求項8に記載の画像処理装置。 - 立体モデルを複数の単位図形を組み合わせて表現し、表示装置のマトリクス状に配置された画素毎に色を示す画素データを生成する画像処理装置において、
前記単位図形の頂点のそれぞれについて、当該頂点のR(赤),G(緑),B(青)データを含むポリゴンレンダリングデータを生成するポリゴンレンダリングデータ生成回路と、
前記単位図形の頂点のポリゴンレンダリングデータを補間して、前記単位図形内に位置する画素の第1の画素データを生成するデータ補間回路と、
複数の第2の画素データを含む表示データを記憶し、複数の前記第2の画素データを同時に書き込み可能な記憶回路と、
前記同時に書き込まれる複数の第2の画素データのそれぞれに対応して設けられ、前記第1の画素データが示す色と書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第1の画素データおよび前記第3の画素データを用いて行って前記新たな色を示す前記第2の画素データを生成する画素データ生成回路と、
前記生成された複数の第2の画素データを前記記憶回路の記憶領域に同時に書き込む書き込み回路と、
を有し、
前記第1の画素データ、前記第2の画素データおよび前記第3の画素データは、複数の色データを含み、当該複数の色データが示す値を組み合わせて色を示し、
前記画素データ生成回路は、
前記複数の色データのそれぞれに対応して設けられ、対応する前記第1の画素データの前記対応する色データが示す色と前記書き込みアドレスで指し示された前記記憶回路の記憶領域に既に記憶されている第3の画素データの前記対応する色データが示す色とを所定の混合比で混合して新たな色を生成するための色混合処理を、前記第1の画素データおよび前記第3の画素データの前記対応する色データを用いて行って前記新たな色を示す前記第2の画素データの前記対応する色データを生成する複数の色データ生成回路を有し、
前記画素データ生成回路は、
前記第1の画素データの前記対応する色データおよび前記第3の画素データの前記対応する色データとを用いて減算を行う減算回路と、
前記減算回路の減算結果と前記混合比を示す混合比データとを乗算する乗算回路と、を有し、
前記画素データ生成回路の前記減算回路および前記乗算回路は、
前記画像処理装置の少なくとも一部の回路の機能をハードウェア記述言語を用いて記述した回路パターン生成用データに基づいて、前記少なくとも一部の回路の回路パターンを自動生成した際に、前記回路パターン生成用データにおいて同一のマクロセル内にその機能が記述されている、
画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22984899A JP4665268B2 (ja) | 1999-08-16 | 1999-08-16 | 画像処理装置 |
US09/638,218 US6727905B1 (en) | 1999-08-16 | 2000-08-14 | Image data processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22984899A JP4665268B2 (ja) | 1999-08-16 | 1999-08-16 | 画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001051668A JP2001051668A (ja) | 2001-02-23 |
JP4665268B2 true JP4665268B2 (ja) | 2011-04-06 |
Family
ID=16898643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22984899A Expired - Lifetime JP4665268B2 (ja) | 1999-08-16 | 1999-08-16 | 画像処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6727905B1 (ja) |
JP (1) | JP4665268B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4568950B2 (ja) * | 2000-02-29 | 2010-10-27 | ソニー株式会社 | グラフィックス描画装置 |
JP2003085038A (ja) * | 2001-09-06 | 2003-03-20 | Sony Corp | 画像処理装置 |
US7095906B2 (en) * | 2002-07-03 | 2006-08-22 | Via Technologies, Inc. | Apparatus and method for alpha blending of digital images |
KR100679047B1 (ko) * | 2005-09-29 | 2007-02-05 | 삼성전자주식회사 | 비트 해상도 확장 방법 및 장치 |
US8489544B2 (en) * | 2007-06-04 | 2013-07-16 | John P. Ford | System and method for prioritization and display of aggregated data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105388A (ja) * | 1993-06-23 | 1995-04-21 | Sun Microsyst Inc | 高性能3次元グラフィック・アクセラレータの作図プロセッサ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0336676A (ja) * | 1989-07-03 | 1991-02-18 | Mitsubishi Electric Corp | ピクセル描画装置 |
JPH03223978A (ja) * | 1989-11-08 | 1991-10-02 | Hitachi Ltd | デジタルシグナルプロセッサ |
US5231385A (en) * | 1990-03-14 | 1993-07-27 | Hewlett-Packard Company | Blending/comparing digital images from different display window on a per-pixel basis |
US5315700A (en) * | 1992-02-18 | 1994-05-24 | Neopath, Inc. | Method and apparatus for rapidly processing data sequences |
JPH06332843A (ja) * | 1992-06-24 | 1994-12-02 | Seiko Epson Corp | 動画映像データ転送装置およびコンピュータシステム |
US5815168A (en) * | 1995-06-23 | 1998-09-29 | Cirrus Logic, Inc. | Tiled memory addressing with programmable tile dimensions |
US5794016A (en) * | 1995-12-11 | 1998-08-11 | Dynamic Pictures, Inc. | Parallel-processor graphics architecture |
JPH10275460A (ja) * | 1997-04-01 | 1998-10-13 | Sega Enterp Ltd | メモリ装置及びこれを用いた画像処理装置 |
-
1999
- 1999-08-16 JP JP22984899A patent/JP4665268B2/ja not_active Expired - Lifetime
-
2000
- 2000-08-14 US US09/638,218 patent/US6727905B1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105388A (ja) * | 1993-06-23 | 1995-04-21 | Sun Microsyst Inc | 高性能3次元グラフィック・アクセラレータの作図プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JP2001051668A (ja) | 2001-02-23 |
US6727905B1 (en) | 2004-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4568950B2 (ja) | グラフィックス描画装置 | |
JP4182575B2 (ja) | 記憶装置および画像データ処理装置 | |
JP4665268B2 (ja) | 画像処理装置 | |
JPWO2003009125A1 (ja) | 演算装置および画像処理装置 | |
US6480199B1 (en) | Image processing apparatus | |
JP3687945B2 (ja) | 画像処理装置およびその方法 | |
JP4314655B2 (ja) | 画像処理装置 | |
US6563507B1 (en) | Storage circuit control device and graphic computation device | |
US7245303B2 (en) | Image processing apparatus | |
US6476818B1 (en) | Storage circuit control device and graphic computation device | |
JP4081860B2 (ja) | 画像処理装置 | |
JP4828006B2 (ja) | 画像処理装置 | |
US20030231180A1 (en) | Image processing apparatus and method of same | |
JP4232234B2 (ja) | 画像処理装置 | |
JP2003085038A (ja) | 画像処理装置 | |
US7583270B2 (en) | Image processing apparatus | |
JP4325038B2 (ja) | 画像処理装置 | |
JP3741053B2 (ja) | 画像処理装置 | |
JP4042204B2 (ja) | グラフィック演算装置およびその方法 | |
JP4580475B2 (ja) | 演算処理装置およびグラフィック演算装置 | |
JPH11272548A (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
JP4670887B2 (ja) | 画像処理装置 | |
JPH11288467A (ja) | データ転送装置およびグラフィック演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100713 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100907 |
|
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: 20101125 |
|
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: 20101214 |
|
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: 20101227 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4665268 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140121 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |