JP4622165B2 - 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 - Google Patents
画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 Download PDFInfo
- Publication number
- JP4622165B2 JP4622165B2 JP2001182605A JP2001182605A JP4622165B2 JP 4622165 B2 JP4622165 B2 JP 4622165B2 JP 2001182605 A JP2001182605 A JP 2001182605A JP 2001182605 A JP2001182605 A JP 2001182605A JP 4622165 B2 JP4622165 B2 JP 4622165B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel data
- data
- address
- flag
- 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 - Fee Related
Links
Images
Landscapes
- Image Input (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、リードモディファイライト操作を高速に実現できる画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法に関する。
【0002】
【従来の技術】
種々のCAD(Computer Aided Design)システムや、アミューズメント装置などにおいて、コンピュータグラフィックスがしばしば用いられている。特に、近年の画像処理技術の進展に伴い、3次元コンピュータグラフィックスを用いたシステムが急速に普及している。このような3次元コンピュータグラフィックスでは、各画素(ピクセル)に対応する色を決定するときに、各画素の色の値を計算し、この計算した色の値を、当該画素に対応するディスプレイバッファ(フレームバッファ)のアドレスに書き込むレンダリング(Rendering)処理を行う。レンダリング処理の手法の一つに、ポリゴン(Polygon)レンダリングがある。この手法では、立体モデルを三角形の単位図形(ポリゴン)の組み合わせとして表現しておき、このポリゴンを単位として描画を行うことで、表示画面の色を決定する。
【0003】
ポリゴンレンダリングでは、物理座標系における三角形の各頂点についての、座標(x,y,z)と、色データ(R,G,B,α)と、張り合わせのイメージパターンを示すテクスチャデータの同次座標(s,t)および同次項qの値とを入力とし、これらの値を三角形の内部で補間する処理が行われる。ここで、同次項qは、簡単にいうと、拡大縮小率のようなもので、実際のテクスチャバッファのUV座標系における座標、すなわち、テクスチャ座標データ(u,v)は、同次座標(s,t)を同次項qで除算した「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じたものとなる。このようなポリゴンレンダリングを用いた3次元コンピュータグラフィックシステムでは、描画を行う際に、テクスチャデータをテクスチャメモリから読み出し、この読み出したテクスチャデータをモデルの表面に貼り付けるテクスチャマッピング処理を行う。このテクスチャマッピング処理された画像データは、所定の処理を施された後に、ディスプレイメモリ(フレームメモリ)に書き込まれる。なお、上述した画像データは、有効な画素及び無効な画素からなる。
【0004】
【発明が解決しようとする課題】
ところで、上述した3次元コンピュータグラフィックシステムでは、例えばテクスチャマッピング処理された画像データは、フレームメモリから読み出された画像データの間でいくつかの演算の処理を行い、フレームメモリに書き込む、リードモディファイライト操作を行う。このようなリードモディファイライト操作は、同一の座標の画像データに関して、必ず前回のリードモディファイライト操作が終了している必要がある。そのため、同一の座標を処理する場合は、前回のリードモディファイライト動作の終了を待ってからリードモディファイライト操作を行っており、リードモディファイライト操作に時間がかかっていた。
【0005】
本発明は、このような技術的課題に基づいてなされたもので、高速なリードモディファイライト操作を実現できる画像メモリ制御装置等を提供することを主たる目的とする。
【0006】
かかる目的のもと、本発明の画像メモリ制御装置は、連続して与えられる複数の画素データを画像メモリに連続的に読み込みおよび書き込み処理する画像メモリ制御装置であって、与えられた第1の画素データを前記画像メモリ内に記憶する記憶手段と、記憶された前記第1の画素データの座標と当該第1の画素データの次に連続して与えられた第2の画素データの座標とを比較する座標比較手段と、前記第1の画素データの有効性を示すデータフラグと前記第2の画素データの有効性を示すデータフラグとを比較するデータフラグ比較手段と、前記座標比較手段の比較結果および前記データフラグ比較手段の比較結果から、前記第2の画素データの処理待機を制御する待機制御手段と、を有し、前記待機制御手段は、前記第1の画素データの前記座標と、前記第2の画素データの前記座標とが同じ場合であり、且つ前記第1の画素データの前記データフラグと、前記第2の画素データの前記データフラグとの少なくとも一方が無効である場合、前記第1の画素データの処理の後に前記第2の画素データの処理を待機させることなく連続して行う。
【0007】
また、本発明のグラフィック演算装置は、立体モデルを複数の単位図形を組み合わせて2次元画面上に表現するグラフィック演算装置であって、前記単位図形を形成する画素データを記憶する画像メモリと、前記画素データの有効画素データフラグを記憶するデータフラグ記憶手段と、新たに処理する新規画素データを、当該新規画素データの直前に処理された画素データに連続して処理する演算手段と、前記データフラグ記憶手段において記憶された前記画素データの有効画素データフラグと、前記新規画素データの新規有効画素データフラグを比較するデータフラグ比較手段と、前記データフラグ比較手段によるデータフラグ比較結果を参照して前記新規画素データの処理のウェイト制御を行うウェイト制御手段と、を有する。
【0008】
また、本発明のレンダリング処理方法は、記憶手段と、座標比較手段と、データフラグ比較手段と、待機制御手段と、を有し、連続して与えられる複数の画素データを画像メモリに連続的に読み込みおよび書き込み処理する画像メモリ制御装置のレンダリング処理方法であって、前記記憶手段が、処理する新規画素データを受け取り、前記座標比較手段が、前回処理した旧画素データと前記新規画素データのアドレスが一致するかどうかを判断し、前記データフラグ比較手段が、前記旧画素データと前記新規画素データのvalidフラグが有効かどうかを判断し、前記待機制御手段が、前記旧画素データと前記新規画素データのアドレスが一致し、且つ前記旧画素データと前記新規画素データのうち少なくとも一方のvalidフラグが無効である場合に、前記旧画素データの後に前記新規画素データを待機させることなく連続処理する要求を行う。
【0015】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
図1は、本実施の形態の3次元コンピュータグラフィックシステム(グラフィック演算装置)1のシステム構成例を示す図である。3次元コンピュータグラフィックシステム1は、任意の3次元物体モデルに対する所望の3次元画像をLCD(Liquid Crystal Display)などのディスプレイ上に高速に表示することができるものであり、例えば、ゲーム機や携帯型情報端末などに適用されるものである。
【0016】
3次元コンピュータグラフィックシステム1は、メインメモリ2、メインバスコントローラ3、CPU4、ベクトル演算回路5、I/Oインターフェース回路7、曲面処理回路・ジオメトリ演算回路8、外部メモリコントローラ9、レンダリング回路10(画像メモリ制御装置)、グラフィックメモリ11を備え、それぞれメインバス6を介して接続されている。I/Oインターフェース回路7は外部インターフェース部50に接続され、外部メモリコントローラ9は外部メモリ51に接続され、レンダリング回路10は図示しないインターフェース部を介してLCD(液晶ディスプレイ)52に接続されている。
【0017】
図2は、図1に示すレンダリング回路10の構成例を示す図である。
レンダリング回路10は、図2に示すように、DDA(Digital Differential Anarizer)セットアップ回路110、トライアングルDDA回路111、テクスチャエンジン回路112、メモリI/F回路113(座標比較手段、データフラグ比較手段、待機制御手段、ウェイト制御手段)、LCDコントローラ回路114およびSRAM115(画像メモリ)を有する。SRAM115は、テクスチャデータを記憶するテクスチャバッファ120、LCDに出力してディスプレイに表示する表示データを記憶するディスプレイバッファ121、zデータを記憶するzバッファ122を備えている。
【0018】
この3次元コンピュータグラフィックシステム1では、立体モデルを単位図形である三角形(ポリゴン)の組み合わせとして表現し、このポリゴンを描画することで表示画面の各画素の色を決定し、ディスプレイに表示するポリゴンレンダリング処理を行う。また、3次元コンピュータグラフィックシステム1では、平面上の位置を表現する(x,y)座標の他に、奥行きを表すz座標を用いて3次元物体を表し、この(x,y,z)の3つの座標で3次元空間の任意の一点を特定する。
【0019】
ここで、ポリゴンレンダリングデータの説明をする。ポリゴンレンダリングデータは、ポリゴンの各3頂点の(x,y,z,R,G,B,α,s,t,q,F)のデータを含んでいる。
(x,y,z)データは、ポリゴンの頂点の3次元座標を示している。
(R,G,B)データは、それそれ(x,y,z)の3次元座標における赤、緑、青の輝度値を示している。
αデータは、これから描画する画素と、ディスプレイバッファ121に既に記憶されている画素とのR,G,Bデータのブレンド(混合)係数を示している。
(s,t,q)データのうち、(s,t)は、対応するテクスチャの同次座標を示しており、qは同次項を示している。ここで、「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じてテクスチャ座標データ(u,v)が得られる。テクスチャバッファ120に記憶されたテクスチャデータへのアクセスは、テクスチャ座標データ(u,v)を用いて行われる。
Fデータは、フォグのα値を示している。すなわち、ポリゴンレンダリングデータは、三角形の各頂点の物理座標値と、それぞれの頂点の色とテクスチャおよびフォグの値のデータを示している。
【0020】
以下、3次元コンピュータグラフィックシステム1における各構成要素の機能および画像処理について説明する。
3次元コンピュータグラフィックシステム1では、CPU4は、例えば、アプリケーションの進行状況などに応じて、メインメモリ2から必要なシーンデータをベクトル演算回路5へ送出する。ベクトル演算回路5は、グラフィックデータを生成し、曲面処理回路・ジオメトリ演算回路8へ送出する。
【0021】
曲面処理回路・ジオメトリ演算回路8は、このグラフィックデータに対してクリッピング(Clipping)処理、ライティング(Lighting)処理、ジオメトリ(Geometry)処理等を行い、ポリゴンレンダリングデータS109を生成する。生成されたポリゴンレンダリングデータS109を、CPU4が、メインバス6を介してレンダリング回路10に出力する。
また、I/Oインタフェース回路7は、必要に応じて、外部からポリゴンレンダリングデータS109を入力し、入力されたデータをメインバス6を介してレンダリング回路10に出力する。
【0022】
レンダリング回路10において、図2に示すDDAセットアップ回路110は、次のトライアングルDDA回路111において物理座標系上の三角形各頂点の値を線形補間して三角形の内部の各画素の色と深さ情報を求めるに先立ち、ポリゴンレンダリングデータS109が示す(z,R,G,B,α,s,t,q,F)データについてセットアップ演算を行う。このセットアップ演算は三角形の辺と水平方向の差分などを求めるものであり、具体的には、開始点の値と終点の値と、開始点と終点との距離を用いて、単位長さ移動した場合における、求めようとしている値の変分を算出する。DDAセットアップ回路110は、算出した変分データS110をトライアングルDDA回路111に出力する。
【0023】
トライアングルDDA回路111は、DDAセットアップ回路110から出力され変分データS110を用いて、三角形内部の各画素における線形補間された(z,R,G,B,α,s,t,q,F)データを算出する。トライアングルDDA回路111は、各画素の(x,y)データと、当該(x,y)座標における(z,R,G,B,α,s,t,q,F)データとを、DDAデータ(補間データ)S111としてテクスチャエンジン回路112に出力する。このとき、トライアングルDDA回路111は、並行して処理を行う矩形内に位置する4(=2×2)画素分のDDAデータS111をテクスチャエンジン回路112に出力する。また、DDAデータS111は、4(=2×2)画素分データのうち、各画素における有効データを示すvalidフラグを含む。
【0024】
ここで、4(=2×2)画素およびvalidフラグの説明をする。
図3は、画素による図形の描写の説明図である。図4は、4(=2×2)画素におけるvalidフラグの説明図であり、(a)はフラグを有する組の位置を示し、(b)はDDAデータS111のデータ例を示している。
図3では、画素60がマトリックス状にxy方向へ連続して並んでいる。この個々の画素60における有効と無効、並びに有効な場合における色等を制御することで、例えば図3に示すような三角形61を描画する。具体的にこの三角形61は、三角形61内の画素60が有効(enable)となり、それ以外の画素60が無効(disable)となり、有効な画素60の色等が制御されて描画されている。このような制御において、本実施の形態では4(=2×2)画素ごとにデータの処理が行われている。例えば4(=2×2)の画素グループ62を例に取り上げて説明する。
【0025】
図3に示す画素グループ62は、図4(a)に示すようにvalidフラグを有する4つの組(i)〜(iv)から構成されている。ここでは、有効の場合が"1"で表され、無効の場合が"0"で表されている。すなわち、画素グループ62のDDAデータS111では、個々の組(i)〜(iv)は、図4(b)に示すように有効か無効かのデータを有する。さらにDDAデータS111は、アドレスとして(x,y)データと、そのアドレスにおける(z,R,G,B,α,s,t,q,F)データを有する。なおアドレスは、(i)の組におけるアドレスが決定すれば、おのずと他の隣接するアドレスも決定される。例えば(i)の組が(x,y)であれば、(ii)は(x+1,y)、(iii)は(x,y−1)、(iv)は(x−1,y−1)となる。したがって、DDAデータS111における、(ii)〜(iv)の組におけるアドレスは処理必要時に計算によって適宜算出される。
なお、本実施の形態では、このように各画素グループ62におけるレンダリングデータが刻々と処理されることにより、例えば三角形61の位置、大きさ、色、その他が変化して動画が作成される。
【0026】
このようなDDAデータS111をトライアングルDDA回路111から受け取ったテクスチャエンジン回路112は、「s/q」および「t/q」の算出処理、テクスチャ座標データ(u,v)の算出処理、テクスチャバッファ120からの(R,G,B,α)データの読み出し処理、および、混合処理(αブレンディング処理)を順にパイプライン方式で行う。なお、テクスチャエンジン回路112は、所定の矩形内に位置する4画素についての処理を同時に並行して行う。
【0027】
具体的には、まずテクスチャエンジン回路112は、DDAデータS111が有する(s,t,q)データについて、sデータをqデータで除算する演算と、tデータをqデータで除算する演算とを行う。そして、除算結果である「s/q」および「t/q」に、それぞれテクスチャサイズUSIZEおよびVSIZEを乗じて、テクスチャ座標データ(u,v)を生成する。
【0028】
また、テクスチャエンジン回路112は、メインバス6を介してメインメモリ2に、あるいはメモリI/F回路113を介して、SRAM115に、前記生成したテクスチャ座標データ(u,v)を含む読み出し要求を出力し、メインバス6を介してメインメモリ2に、あるいはメモリI/F回路113を介して、SRAM115に記憶されているテクスチャ座標データ(u,v)を読み出すことで、(s,t)データに対応したテクスチャアドレスに記憶された(R,G,B,α)データS117を得る。
【0029】
さらにテクスチャエンジン回路112は、読み出した(R,G,B,α)データS117の(R,G,B)データと、前段のトライアングルDDA回路111からのDDAデータS111に含まれる(R,G,B)データとを、(R,G,B,α)データS117に含まれるαデータ(テクスチャα)が示す割合で混合し、画素データS112を生成する。この画素データS112は、DDAデータS111に含まれるvalidフラグを含む。
【0030】
このようにして得られた画素データS112を、テクスチャエンジン回路112が、画素データが用意できたことを示すライトイネーブル信号(we)をイネーブルにすることによって、メモリI/F回路113に出力する。なお、テクスチャバッファ120には、MIPMAP(複数解像度テクスチャ)などの複数の縮小率に対応したテクスチャデータが記憶されている。ここで、何れの縮小率のテクスチャデータを用いるかは、所定のアルゴリズムを用いて、前記三角形単位で決定される。
【0031】
次に、メモリI/F回路113は、テクスチャエンジン回路112から入力された画素データS112に対応するzデータと、zバッファ122に記憶されているzデータとの比較を行う。この比較では、今回入力した画素データS112によって描画される画像が、前回、ディスプレイバッファ121に書き込まれた画像より、手前(視点側)に位置するか否かを判断する。すなわち、画素データS112のアドレスにおいて、直前に描画した画像の位置と、今回描画しようとする画像の位置とがz方向(奥行き方向)において重なっているかどうかを判断する。今回描画しようとする画像が手前に位置すると判断された場合には、画素データS112に対応するzデータでzバッファ122に記憶されたzデータを更新する、いわゆるzテスト処理を行う。
【0032】
さらに、メモリI/F回路113は、必要に応じて、画素データS112に含まれる(R,G,B)データと、既にディスプレイバッファ121に記憶されている(R,G,B)データとを、画素データS112に対応するαデータが示す混合値で混合する、いわゆるαブレンディング処理を行い、混合後の(R,G,B)データをディスプレイバッファ121に書き込む。
【0033】
LCDコントローラ回路114は、水平および垂直同期信号に同期して、図示しないLCDに表示するアドレスを発生し、ディスプレイバッファ121から表示データを読み出す要求をメモリI/F回路113に出力する。この要求に応じて、メモリI/F回路113は、ディスプレイバッファ121から一定の固まりで表示データを読み出す。LCDコントローラ回路114は、ディスプレイバッファ121から読み出した表示データを記憶するラインメモリを内蔵し、一定の時間間隔で、図1に示すような外部のLCD52にRGBカラー値を出力する。
【0034】
ここで、本実施の形態において注目すべきメモリI/F回路113における画像データ処理について更に詳しく説明する。図5は、メモリI/F回路113の構成、メモリI/F回路113における処理の流れ、およびSRAM115の構成を具体的に説明する図である。
【0035】
メモリI/F回路113は、図5に示すように、FIFO(First In First Out)回路200、メモリコントローラ201、アドレスコンバータ202、ピクセルバッファ203、リード回路204、ライト回路205、zテスト回路206、αブレンディング回路207を有する。
【0036】
SRAM115は、図5に示すように、物理的にメモリモジュール150,151,152,153を有している。メモリモジュール150は、バンク160,161を有する。メモリモジュール151は、バンク162,163を有する。メモリモジュール152は、バンク164,165を有する。メモリモジュール153は、バンク166,167を有する。なおそれぞれのメモリモジュール150,151,152,153が、4(=2×2)画素分のデータにおける個々の画素に対応している。
【0037】
まず、FIFO(First In First Out)回路200は、テクスチャエンジン回路112からのライトイネーブル信号we、validフラグ、(x,y)データおよび(z,R,G,B,α)データを取り込み、メモリコントローラ201からの制御信号によりvalidフラグ、(x,y)データをアドレスコンバータ202に出力する。また、(z,R,G,B,α)データをピクセルバッファ203に出力する。このとき、並行して処理を行う矩形内に位置する4(=2×2)画素分のデータを処理する。
【0038】
メモリコントローラ201は、メモリI/F回路113の動作を制御し、リード動作、zテストおよびαブレンディング操作、ライト動作等の一連の操作からなる、いわゆるリードモディファイライト操作をパイプラインで行うための制御信号を生成する。生成された制御信号およびvalidフラグは、FIFO(First In First Out)回路200、アドレスコンバータ202、ピクセルバッファ203、リード回路204、ライト回路205、zテスト回路206およびαブレンディング回路207に出力される。
【0039】
アドレスコンバータ202は、2次元座標(x,y)の画素の画素データが記憶されている、メモリモジュール150,151,152,153を示すチップセレクト信号csと、バンク160〜167を示すバンクセレクト信号bsと、アドレスを示すアドレス信号adとを生成し、これらをリードイネーブル信号reとvalidフラグと共にリード回路204に出力する。またアドレスコンバータ202は、チップセレクト信号csと、バンクセレクト信号bsと、アドレス信号adとを一定時間保留した後、メモリコントローラ201からの制御信号により、ライトイネーブル信号weと共にライト回路205に出力する。
【0040】
ピクセルバッファ203は、(z,R,G,B,α)データを一定時間保留した後、メモリコントローラ201からの制御信号により、zデータをzテスト回路206に出力し、(R,G,B,α)データをαブレンディング回路207に出力する。
【0041】
リード回路204は、アドレスコンバータ202からのチップセレクト信号csと、バンクセレクト信号bsと、アドレス信号adとを、リードイネーブル信号reと共にバス220を介してSRAM115に出力する。また、SRAM115より入力した、zデータをzテスト回路206に出力し、(R,G,B)データをαブレンディング回路207に出力する。
【0042】
ライト回路205は、アドレスコンバータ202からのチップセレクト信号csと、バンクセレクト信号bsと、アドレス信号adと、zテスト回路206より入力したzデータと、αブレンディング回路207より入力した(R,G,B)データとを、ライトイネーブル信号weと共にバス220を介してSRAM115に出力する。
【0043】
zテスト回路206は、ピクセルバッファ203より入力したzデータと、リード回路204より入力したzデータとの間で比較を行い、結果に応じて、z・validフラグを生成する。z・validフラグによりピクセルバッファ203より入力したzデータか、リード回路204より入力したzデータかを選択する。選択後のzデータをライト回路205に出力する。また、メモリコントローラ201より入力したvalidフラグとz・validフラグの論理積をとり、結果のvalidフラグをライト回路205に出力する。
【0044】
αブレンディング回路207は、ピクセルバッファ203より入力した(R,G,B)と、リード回路204より入力した(R,G,B)とを、ピクセルバッファ203より入力したαデータが示す混合値で混合する。混合後の(R,G,B)データをライト回路205に出力する。
【0045】
リード回路204およびライト回路205から出力されたメモリモジュール150,151,152,153はバス220中を流れる。バス220を流れるこれら信号を、SRAM115のメモリモジュール150,151,152,153が監視し、対応するバンクセレクト信号bsが示すバンク160〜167のアドレス信号adが示すアドレスのメモリに記憶されているデータを読み出し、zテスト回路206およびαブレンディング回路207に出力する。また、チップセレクト信号csおよびライトイネーブル信号weを監視し、対応するバンクセレクト信号bsが示すバンク160〜167のアドレス信号adが示すアドレスのメモリに、zテスト回路206およびαブレンディング回路207より入力したデータを書き込む。
【0046】
ここで、上記のようにしてメモリI/F回路113におけるリード動作、zテストおよびαブレンディング操作、ライト動作等のリードモディファイライト操作を行うにあたり、同一の座標の画像データを連続して処理する場合には、前回の画像処理におけるリードモディファイライト操作が終了している必要がある。そこで、本実施の形態では、前回の画像処理における4(=2×2)の画素グループのアドレスと、今回の画像処理における4(=2×2)の画素グループのアドレスの比較、並びに前回(直前)の画像処理における4(=2×2)の画素グループのvalidフラグと今回の画像処理における4(=2×2)の画素グループのvalidフラグの比較処理をする。これにより、メモリコントローラ201から出力される制御信号を制御し、前回の画像処理におけるリードモディファイライト操作が終了するのを待つウェイト動作を減らすことができる。以下、アドレスとvalidフラグの比較処理について詳細を説明する。
【0047】
図6は、アドレスとvalidフラグの比較処理を説明するフロー図である。
まず、前回の画像処理における4(=2×2)の画素グループのアドレスと、今回の画像処理における4(=2×2)の画素グループのアドレスの比較処理を行う(ステップS301)。具体的には、アドレスコンバータ202より入力した、メモリモジュール150,151,152,153を示すチップセレクト信号csと、バンク160〜167を示すバンクセレクト信号bsと、アドレスを示すアドレス信号adの組からなるアドレスを、前回の画像処理におけるチップセレクト信号csと、バンクセレクト信号bsと、アドレス信号adの組からなるアドレスと比較する。比較処理は、上記したように画素グループを単位として比較されるが、実質的には画素グループの(i)の組のアドレスの比較のみが行われる。
【0048】
ステップS301において、今回の画像処理におけるアドレスが、前回の画像処理におけるアドレスと一致しないと判断した場合、前回の画像処理では異なるアドレスを処理していることになるので、ウェイト動作をすることなく今回の画像処理におけるがリードモディファイライト操作が進められる(ステップS308)。
一方、今回の画像処理におけるアドレスが、前回の画像処理におけるアドレスと一致すると判断した場合、画素グループの(i)の組におけるvalidフラグの比較処理が行われる(ステップS302)。
【0049】
ステップS302では、アドレスコンバータ202より入力した今回の画像処理における画素グループの(i)の組のvalidフラグと、前回の画像処理におけるリードモディファイライト操作の際の(i)の組のvalidフラグとを比較処理する。両方のvalidフラグが有効であると判断した場合は、処理のパイプラインを止め、前回の画像処理におけるリードモディファイライト操作が終了するまでウェイト動作を行う(ステップS303)。
一方、どちらかのvalidフラグが無効であると判断した場合は、上記(i)の組と同様にして、(ii)の組のvalidフラグの比較処理を行う(ステップS304)。
【0050】
ステップS304において、今回の画像処理における画素グループの(ii)の組のvalidフラグと、前回の画像処理におけるリードモディファイライト操作の際の(i)の組のvalidフラグの両方が有効であると判断した場合は、処理のパイプラインを止め、前回のリードモディファイライト操作が終了するまでウェイト動作を行う(ステップS303)。一方、今回と前回のどちらかのvalidフラグが無効であると判断した場合は、上記(i)の組と同様にして、(iii)の組のvalidフラグの比較処理を行う(ステップS305)。
【0051】
ステップS305において、今回と前回の両方の(iii)の組のvalidフラグの両方が有効であると判断した場合、ウェイト動作を行う(ステップS303)。一方、どちらかのvalidフラグが無効であると判断した場合は、上記(ii)の組と同様にして、(iv)の組のvalidフラグの比較処理を行う(ステップS306)。一方、今回と前回のどちらかのvalidフラグが無効であると判断した場合は、ウェイト動作をすることなく今回の画像処理におけるリードモディファイライト操作が進められる(ステップS308)。
【0052】
具体例を挙げて上記比較処理を説明する。
図7は、順次処理される画素グループのアドレスを処理と時間(t)の流れを示す説明図である。図7では、1回目の画像処理として、アドレス(0,0)を有する画素グループの画像処理が行われた後、2回目の画像処理としてアドレス(2,0)を有する画素グループ、3回目の画像処理としてアドレス(4,0)を有する画素グループの画像処理が順に行われている。このように、異なるアドレスが連続する場合には、リードモディファイライト操作、すなわちリード処理(Read)、モディファイ操作(Modify-0およびModify-1)、およびライト処理は、ウェイト動作をすることなく連続して行われる。
【0053】
図8(a)(b)(c)は、それぞれ画素グループのvalidフラグの具体例を示す図であり、画素グループ70、71、72はそれぞれ同じアドレス(0,0)を有するものである。
図8(a)に示す画素グループ70が1回目の画像処理として処理され、これに連続して図8(b)に示す画素グループ71が2回目の画像処理として処理される場合、画素グループ70、71のアドレス(0,0)は互いに同じであるため、図6に示すフローに従って各組におけるvalidフラグの比較処理が行われる。この場合、画素グループ70の(i)の組と、画素グループ71の(i)の組との両方が“1”であり、即ち両方が有効となっている。その結果、画像処理においては図9に示すように、1回目の画像処理と2回目の画像処理との間にウェイト動作が行われ、1回目の画像処理のリードモディファイライト操作の所定の操作が終了した後に2回目の画像処理が開始される。このように、リードモディファイライト操作の際のvalidフラグとを参照し、今回と前回における(i)〜(iv)の組を比較し、どれか1組でも両方が有効の場合は、パイプラインを止め、リードモディファイライト操作が終了するまでウェイト動作を行う。
【0054】
図8(b)に示す画素グループ71が1回目の画像処理として処理され、これに連続して図8(c)に示す画素グループ72が2回目の画像処理として処理される場合、各組におけるvalidフラグを比較すると、(i)〜(iv)のどの組においても“1”即ち有効となってはいない。その結果、画像処理に置いては図10に示すように、同じアドレスを有する画素グループ71、72を連続処理するものであっても、リード処理(Read)、モディファイ操作(Modify-0およびModify-1)、およびライト処理は、ウェイト動作をすることなく連続して行われる。このように、リードモディファイライト操作の際のvalidフラグとを参照し、今回と前回における(i)〜(iv)の組を比較し、両方が有効である組が無い場合は、ウェイト動作を行わない。
【0055】
以上のように、本実施の形態では、画像処理を行う画像グループのアドレスと、前回に描画した画像処理の画像グループのアドレスが連続して同じであっても、今回のvalidフラグと前回のvalidフラグとを比較する。そして、比較結果において、どちらかのvalidフラグが無効の場合は、処理のパイプラインを止めるウェイト動作がない。したがって、従来と比較してリードモディファイライト操作におけるウェイト動作の回数を低減でき、メモリアクセスを効率的に行い、高速なリードモディファイライト操作を実現できる。
また、本発明の画像メモリ制御装置と、それを用いたグラフィック演算装置によれば、複数の画素の画素データを同時に書き換えることで、さらに高速なリードモディファイライト操作を実現できる。
【0056】
このようなリードモディファイライト操作は、例えば表示手段のマトリクス状に配置された複数の画素の画素データを、画像メモリに記憶し、連続して与えられた画素データ及び画素データの2次元座標及び有効画素データフラグにより、与えられた画素データと2次元座標の画像メモリに記憶された画素データとの演算を行い、演算の結果の画素データを生成し、2次元座標の画像メモリに記憶するという一連の操作を連続して行い、連続して与えられた第1の画素データの2次元座標と第2の画素データの2次元座標とが同一の座標かつ第1の画素データの有効画素データフラグと第2の画素データの有効画素データフラグが、両方共に有効画素データを示す場合は、第1の画素データによる一連の操作が終了するまで、第2の画素データによる一連の操作を行わず、ウェイトする画像メモリ制御装置に適用することができる。
【0057】
その他、本実施の形態では、4つの画素からなる画素グループを1単位として処理しているが、1つの画素を1単位として、または2つや5つ以上の画素からなるグループを1単位として処理することも可能である。
これ以外にも、本発明の主旨を逸脱しない限り、上記実施の形態で挙げた構成を取捨選択したり、他の構成に適宜変更することが可能である。
【0058】
【発明の効果】
以上説明したように、本発明の画像メモリ制御装置、グラフィック演算装置またはレンダリング処理方法によれば高速なリードモディファイライト操作を実現できる。
【図面の簡単な説明】
【図1】 本実施の形態の3次元コンピュータグラフィックシステム1のシステム構成例を示す図である。
【図2】 図1に示すレンダリング回路10の構成例を示す図である。
【図3】 画素による図形の描写の説明図である。
【図4】 画素グループのデータの一例を示し、(a)は画素グループ62におけるvalidフラグの構成例を示す図であり、(b)は(a)に対応するDDAデータの具体例を示す図である。
【図5】 メモリI/F回路113の構成、メモリI/F回路113における処理の流れ、およびSRAM115の構成を具体的に説明する図である。
【図6】 アドレスとvalidフラグの比較処理を説明するフロー図である。
【図7】 順次処理される画素グループのアドレスを処理と時間(t)の流れを示す説明図である。
【図8】 (a)(b)(c)は、それぞれ画素グループ70〜72のvalidフラグの具体例を示す図である。
【図9】 ウェイト動作が行われる場合における順次処理される画素グループのアドレスを処理と時間(t)の流れを示す説明図である。
【図10】 ウェイト動作が行われない場合における順次処理される画素グループのアドレスを処理と時間(t)の流れを示す説明図である。
【符号の説明】
1…3次元コンピュータグラフィックシステム(グラフィック演算装置)、2…メインメモリ、3…メインバスコントローラ、4…CPU、5…ベクトル演算回路、6…メインバス、7…I/Oインターフェース回路、8…曲面処理回路・ジオメトリ演算回路、9…外部メモリコントローラ、10…レンダリング回路(画像メモリ制御装置)、11…グラフィックメモリ、50…外部インターフェース部、51…外部メモリ、52…LCD(液晶ディスプレイ)、60…画素、61…三角形、62、70、71、72…画素グループ、110…DDAセットアップ回路、111…トライアングルDDA回路、112…テクスチャエンジン回路、113…メモリI/F回路(座標比較手段、データフラグ比較手段、待機制御手段、ウェイト制御手段)、114…LCDコントローラ回路、115…SRAM(画像メモリ)、120…テクスチャバッファ、121…ディスプレイバッファ、122…zバッファ、150、151、152、153…メモリモジュール、160〜167…バンク、200…FIFO(First In First Out)回路、201…メモリコントローラ、202…アドレスコンバータ、203…ピクセルバッファ、204…リード回路、205…ライト回路、206…zテスト回路、207…αブレンディング回路、220…バス
Claims (8)
- 連続して与えられる複数の画素データを画像メモリに連続的に読み込みおよび書き込み処理する画像メモリ制御装置であって、
与えられた第1の画素データを前記画像メモリ内に記憶する記憶手段と、
記憶された前記第1の画素データの座標と当該第1の画素データの次に連続して与えられた第2の画素データの座標とを比較する座標比較手段と、
前記第1の画素データの有効性を示すデータフラグと前記第2の画素データの有効性を示すデータフラグとを比較するデータフラグ比較手段と、
前記座標比較手段の比較結果および前記データフラグ比較手段の比較結果から、前記第2の画素データの処理待機を制御する待機制御手段と、
を有し、
前記待機制御手段は、前記第1の画素データの前記座標と、前記第2の画素データの前記座標とが同じ場合であり、且つ前記第1の画素データの前記データフラグと、前記第2の画素データの前記データフラグとの少なくとも一方が無効である場合、前記第1の画素データの処理の後に前記第2の画素データの処理を待機させることなく連続して行う
画像メモリ制御装置。 - 前記待機制御手段は、前記第1の画素データの前記データフラグと、前記第2の画素データの前記データフラグとの両方が有効である場合、前記第2の画素データの処理を所定時間待機させる
請求項1記載の画像メモリ制御装置。 - 前記第1および第2の画素データから前記画像メモリ内にアドレスを生成するアドレス生成手段と、
生成された前記アドレスを記憶するアドレス記憶手段と、
を更に有し、
前記座標比較手段では、前記アドレス記憶手段に記憶された前記第1の画素データのアドレスと、前記アドレス生成手段で生成された前記第2の画素データのアドレスとを比較する
請求項1記載の画像メモリ制御装置。 - 立体モデルを複数の単位図形を組み合わせて2次元画面上に表現するグラフィック演算装置であって、
前記単位図形を形成する画素データを記憶する画像メモリと、
前記画素データの有効画素データフラグを記憶するデータフラグ記憶手段と、新たに処理する新規画素データを、当該新規画素データの直前に処理された画素データに連続して処理する演算手段と、
前記データフラグ記憶手段において記憶された前記画素データの有効画素データフラグと、前記新規画素データの新規有効画素データフラグを比較するデータフラグ比較手段と、
前記データフラグ比較手段によるデータフラグ比較結果を参照して前記新規画素データの処理のウェイト制御を行うウェイト制御手段と、
を有するグラフィック演算装置。 - 更に、前記画素データに対応して前記画像メモリ内にアドレスを生成するアドレス生成手段と、
生成された前記アドレスを記憶するアドレス記憶手段と、前記アドレス記憶手段に記憶されている前記画素データのアドレスを読み出す読み出し制御手段と、読み出された前記アドレスと、前記新規画素データの新規アドレスとを演算して比較するアドレス演算比較手段と、
前記新規アドレスの演算比較されたデータを前記画像メモリに書き込む書き込み制御手段と、
を更に有し、
前記ウェイト制御手段は、前記データフラグ比較結果と共に、前記アドレス演算比較手段のアドレス比較結果を参照して前記ウェイト制御を行う
請求項4記載のグラフィック演算装置。 - 前記グラフィック演算装置は、複数の前記画像メモリを有し、
複数の前記画像メモリは、前記2次元画面上の複数の画素を組として、同一の組を構成する前記複数の画素のいずれかの前記画素データを記憶し、
前記アドレス生成手段は、前記組を構成する前記複数の画素に同一の前記アドレスを生成し、前記読み出し制御手段は、前記生成されたアドレスを用いて、前記組を構成する前記複数の画素の前記画素データを同時に読み出し、
前記演算手段は、前記組を構成する前記複数の画素の前記画素データを同時に演算し、
前記書き込み制御手段は、前記生成されたアドレスを用いて、前記組を構成する前記複数の画素の前記画素データを同時に書き込む
請求項5記載のグラフィック演算装置。 - 記憶手段と、座標比較手段と、データフラグ比較手段と、待機制御手段と、を有し、連続して与えられる複数の画素データを画像メモリに連続的に読み込みおよび書き込み処理する画像メモリ制御装置のレンダリング処理方法であって、
前記記憶手段が、処理する新規画素データを受け取り、
前記座標比較手段が、前回処理した旧画素データと前記新規画素データのアドレスが一致するかどうかを判断し、
前記データフラグ比較手段が、前記旧画素データと前記新規画素データのvalidフラグが有効かどうかを判断し、
前記待機制御手段が、前記旧画素データと前記新規画素データのアドレスが一致し、且つ前記旧画素データと前記新規画素データのうち少なくとも一方のvalidフラグが無効である場合に、前記旧画素データの後に前記新規画素データを待機させることなく連続処理する要求を行う
レンダリング処理方法。 - 前記待機制御手段が、前記旧画素データと前記新規画素データのアドレスが一致し、且つ前記旧画素データと前記新規画素データのvalidフラグが有効である場合に、前記旧画素データの処理と前記新規画素データの処理との間にウェイト処理する要求を行う
請求項7記載のレンダリング処理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001182605A JP4622165B2 (ja) | 2001-06-15 | 2001-06-15 | 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001182605A JP4622165B2 (ja) | 2001-06-15 | 2001-06-15 | 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002373349A JP2002373349A (ja) | 2002-12-26 |
| JP4622165B2 true JP4622165B2 (ja) | 2011-02-02 |
Family
ID=19022686
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001182605A Expired - Fee Related JP4622165B2 (ja) | 2001-06-15 | 2001-06-15 | 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4622165B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006028093A1 (ja) * | 2004-09-06 | 2006-03-16 | Matsushita Electric Industrial Co., Ltd. | 画像生成装置および画像生成方法 |
| JP4931038B2 (ja) * | 2005-11-22 | 2012-05-16 | シャープ株式会社 | 立体視画像装置、ゲーム装置、立体視画像映写装置、立体視画像データ生成方法、制御プログラムおよび可読記録媒体 |
| KR101485644B1 (ko) | 2012-12-28 | 2015-01-22 | 주식회사 포스코아이씨티 | 이중화 시스템 및 이중화 시스템의 제어 방법 |
| CN109191557B (zh) * | 2018-09-11 | 2023-05-02 | 中国科学院国家天文台 | 立体地形图的影像纹理映射方法及装置 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06119238A (ja) * | 1992-10-07 | 1994-04-28 | Hitachi Ltd | 主記憶制御方法および装置 |
| JPH09282231A (ja) * | 1996-04-17 | 1997-10-31 | Toshiba Corp | ライトバック型キャッシュ装置 |
| JP3797498B2 (ja) * | 1996-06-11 | 2006-07-19 | ソニー株式会社 | メモリ制御装置およびメモリ制御方法、並びに画像生成装置 |
| JP4325038B2 (ja) * | 1999-10-20 | 2009-09-02 | ソニー株式会社 | 画像処理装置 |
-
2001
- 2001-06-15 JP JP2001182605A patent/JP4622165B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002373349A (ja) | 2002-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4234217B2 (ja) | サイズ変更ビットブロック転送処理の一部として透過イネーブルビットの埋込みを行うシステム、装置および方法 | |
| US6642928B1 (en) | Multi-processor graphics accelerator | |
| US5877769A (en) | Image processing apparatus and method | |
| US20030117589A1 (en) | Image processor, components thereof, and rendering method | |
| JP2005100177A (ja) | 画像処理装置およびその方法 | |
| JP4200573B2 (ja) | 記憶装置と画像処理装置およびその方法とリフレッシュ動作制御装置およびその方法 | |
| JP2005100176A (ja) | 画像処理装置およびその方法 | |
| EP1026636B1 (en) | Image processing | |
| JP4622165B2 (ja) | 画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法 | |
| JP4505866B2 (ja) | 画像処理装置および映像信号処理方法 | |
| JP4069486B2 (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
| US7372461B2 (en) | Image processing apparatus and method of same | |
| KR100393305B1 (ko) | 컴퓨터 판독 가능 기록 매체, 묘화 방법 및 그래픽 묘화장치 | |
| JP3741053B2 (ja) | 画像処理装置 | |
| JP4042204B2 (ja) | グラフィック演算装置およびその方法 | |
| JP4325038B2 (ja) | 画像処理装置 | |
| JP4419480B2 (ja) | 画像処理装置およびその方法 | |
| JPH11203486A (ja) | 半透明オブジェクトの表示方法及び、これを用いる画像表示装置 | |
| JP4580475B2 (ja) | 演算処理装置およびグラフィック演算装置 | |
| JPH11272548A (ja) | 記憶回路制御装置およびグラフィック演算装置 | |
| JP4386124B2 (ja) | 映像信号処理装置および映像信号処理方法 | |
| JP4232234B2 (ja) | 画像処理装置 | |
| JP3934111B2 (ja) | 描画装置及び描画方法 | |
| JP4333793B2 (ja) | 映像信号処理装置および映像信号処理方法 | |
| JPH11288266A (ja) | 画像メモリ制御装置およびグラフィック演算装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080204 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091203 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100628 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100720 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100913 |
|
| 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: 20101005 |
|
| 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: 20101018 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131112 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |