JP4622165B2 - Image memory control device, graphic operation device, and rendering processing method - Google Patents

Image memory control device, graphic operation device, and rendering processing method Download PDF

Info

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
Application number
JP2001182605A
Other languages
Japanese (ja)
Other versions
JP2002373349A (en
Inventor
俊明 志野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001182605A priority Critical patent/JP4622165B2/en
Publication of JP2002373349A publication Critical patent/JP2002373349A/en
Application granted granted Critical
Publication of JP4622165B2 publication Critical patent/JP4622165B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、リードモディファイライト操作を高速に実現できる画像メモリ制御装置、グラフィック演算装置およびレンダリング処理方法に関する。
【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…バス
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image memory control device, a graphic operation device, and a rendering processing method that can realize a read-modify-write operation at high speed.
[0002]
[Prior art]
Computer graphics are often used in various CAD (Computer Aided Design) systems and amusement machines. In particular, with the recent development of image processing technology, systems using three-dimensional computer graphics are rapidly spreading. In such 3D computer graphics, when determining the color corresponding to each pixel (pixel), the color value of each pixel is calculated, and the calculated color value is used as the display buffer corresponding to the pixel. Rendering processing to write to the address of (frame buffer) is performed. One of the rendering processing methods is polygon rendering. In this method, a three-dimensional model is expressed as a combination of triangular unit graphics (polygons), and the color of the display screen is determined by drawing with the polygon as a unit.
[0003]
In polygon rendering, the coordinates (x, y, z), color data (R, G, B, α), and homogeneous coordinates of texture data indicating the image pattern of pasting for each vertex of the triangle in the physical coordinate system. (S, t) and the value of the homogeneous term q are input, and processing for interpolating these values inside the triangle is performed. Here, the homogeneous term q is simply an enlargement / reduction ratio, and the coordinates of the actual texture buffer in the UV coordinate system, that is, the texture coordinate data (u, v) are represented by the homogeneous coordinates (s , T) divided by the homogeneous term q is multiplied by the texture sizes USIZE and VSIZE, respectively, and “t / q”. In a three-dimensional computer graphic system using such polygon rendering, when drawing is performed, texture data is read from the texture memory, and texture mapping processing is performed to paste the read texture data on the surface of the model. The image data subjected to the texture mapping process is subjected to a predetermined process and then written into a display memory (frame memory). Note that the above-described image data includes valid pixels and invalid pixels.
[0004]
[Problems to be solved by the invention]
By the way, in the above-described three-dimensional computer graphic system, for example, image data subjected to texture mapping processing is subjected to some arithmetic processing between image data read from the frame memory, and is written to the frame memory. Perform the operation. In such a read-modify-write operation, the previous read-modify-write operation must be completed for image data having the same coordinates. For this reason, when processing the same coordinates, the read-modify-write operation is performed after waiting for the end of the previous read-modify-write operation, and the read-modify-write operation takes time.
[0005]
The present invention has been made based on such a technical problem, and a main object of the present invention is to provide an image memory control device and the like that can realize a high-speed read-modify-write operation.
[0006]
  For this purpose, the image memory control device of the present invention is an image memory control device for continuously reading and writing a plurality of pixel data given to an image memory, and the first memory Storage means for storing pixel data in the image memory, coordinates of the stored first pixel data, and coordinates of second pixel data given successively after the first pixel data Coordinate comparison means for comparing, data flag comparison means for comparing a data flag indicating the validity of the first pixel data and a data flag indicating the validity of the second pixel data;A standby control means for controlling processing standby of the second pixel data from the comparison result of the coordinate comparison means and the comparison result of the data flag comparison means;HaveThe standby control means is a case where the coordinates of the first pixel data and the coordinates of the second pixel data are the same, and the data flag of the first pixel data, and the second When at least one of the data flags of pixel data is invalid, the processing of the second pixel data is continuously performed after the processing of the first pixel data without waiting..
[0007]
  The graphic arithmetic device of the present invention is a graphic arithmetic device for expressing a three-dimensional model on a two-dimensional screen by combining a plurality of unit graphics, an image memory for storing pixel data forming the unit graphic, A data flag storage means for storing a valid pixel data flag of pixel data; a calculation means for processing new pixel data to be newly processed continuously with pixel data processed immediately before the new pixel data; and the data flag Referring to a data flag comparison result by the data flag comparing means by the data flag comparing means by which the effective pixel data flag of the pixel data stored in the storage means is compared with the new effective pixel data flag of the new pixel data; Weight control means for performing weight control of processing of new pixel data.
[0008]
  The rendering processing method according to the present invention further includes a storage unit, a coordinate comparison unit, a data flag comparison unit, and a standby control unit, and continuously outputs a plurality of pixel data given to the image memory. A rendering processing method of an image memory control device that performs reading and writing processing, wherein the storage means receives new pixel data to be processed, and the coordinate comparison means has addresses of the old pixel data and the new pixel data previously processed by the coordinate comparison means. The data flag comparing means determines whether the valid flag of the old pixel data and the new pixel data is valid, and the standby control means is configured to determine whether the old pixel data and the new pixel data are valid. And the valid flag of at least one of the old pixel data and the new pixel data is absent. If it is, the continuous processing request without waiting for the new pixel data after the old pixel data.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail based on embodiments shown in the accompanying drawings.
FIG. 1 is a diagram showing a system configuration example of a three-dimensional computer graphic system (graphic arithmetic device) 1 according to the present embodiment. The three-dimensional computer graphic system 1 can display a desired three-dimensional image of an arbitrary three-dimensional object model on a display such as an LCD (Liquid Crystal Display) at a high speed. It is applied to information terminals.
[0016]
The three-dimensional computer graphic system 1 includes a main memory 2, a main bus controller 3, a CPU 4, a vector arithmetic circuit 5, an I / O interface circuit 7, a curved surface processing circuit / geometry arithmetic circuit 8, an external memory controller 9, and a rendering circuit 10 (images). Memory control device) and graphic memory 11, which are connected via the main bus 6. The I / O interface circuit 7 is connected to an external interface unit 50, the external memory controller 9 is connected to an external memory 51, and the rendering circuit 10 is connected to an LCD (liquid crystal display) 52 via an interface unit (not shown).
[0017]
FIG. 2 is a diagram illustrating a configuration example of the rendering circuit 10 illustrated in FIG.
As shown in FIG. 2, the rendering circuit 10 includes a DDA (Digital Differential Anarizer) setup circuit 110, a triangle DDA circuit 111, a texture engine circuit 112, a memory I / F circuit 113 (coordinate comparison means, data flag comparison means, standby control). Means, weight control means), LCD controller circuit 114 and SRAM 115 (image memory). The SRAM 115 includes a texture buffer 120 that stores texture data, a display buffer 121 that stores display data that is output to the LCD and displayed on the display, and a z buffer 122 that stores z data.
[0018]
In this three-dimensional computer graphic system 1, a three-dimensional model is expressed as a combination of triangles (polygons) that are unit figures, and the polygon rendering is performed by determining the color of each pixel on the display screen by drawing the polygon. Process. Further, in the three-dimensional computer graphic system 1, in addition to the (x, y) coordinates representing the position on the plane, the z coordinate representing the depth is used to represent a three-dimensional object, and this (x, y, z) An arbitrary point in the three-dimensional space is specified by three coordinates.
[0019]
Here, polygon rendering data will be described. The polygon rendering data includes (x, y, z, R, G, B, α, s, t, q, F) data for each of the three vertices of the polygon.
The (x, y, z) data indicates the three-dimensional coordinates of the vertices of the polygon.
The (R, G, B) data indicates the red, green, and blue luminance values in the three-dimensional coordinates (x, y, z).
The α data indicates a blend coefficient of R, G, B data of a pixel to be drawn from now on and a pixel already stored in the display buffer 121.
Of the (s, t, q) data, (s, t) indicates the homogeneous coordinates of the corresponding texture, and q indicates the homogeneous term. Here, “s / q” and “t / q” are multiplied by the texture sizes USIZE and VSIZE, respectively, to obtain texture coordinate data (u, v). Access to the texture data stored in the texture buffer 120 is performed using the texture coordinate data (u, v).
The F data indicates the α value of the fog. That is, the polygon rendering data indicates data of physical coordinate values of the respective vertices of the triangle and color, texture, and fog values of the respective vertices.
[0020]
Hereinafter, functions and image processing of each component in the three-dimensional computer graphic system 1 will be described.
In the three-dimensional computer graphic system 1, the CPU 4 sends necessary scene data from the main memory 2 to the vector arithmetic circuit 5 according to the progress of the application, for example. The vector operation circuit 5 generates graphic data and sends it to the curved surface processing circuit / geometry operation circuit 8.
[0021]
The curved surface processing circuit / geometry operation circuit 8 performs clipping processing, lighting processing, geometry processing, etc. on the graphic data to generate polygon rendering data S109. The CPU 4 outputs the generated polygon rendering data S109 to the rendering circuit 10 via the main bus 6.
Further, the I / O interface circuit 7 inputs polygon rendering data S109 from the outside as necessary, and outputs the input data to the rendering circuit 10 via the main bus 6.
[0022]
In the rendering circuit 10, the DDA setup circuit 110 shown in FIG. 2 linearly interpolates the value of each vertex of the triangle on the physical coordinate system in the next triangle DDA circuit 111 to obtain the color and depth information of each pixel inside the triangle. Prior to the calculation, a setup calculation is performed on the (z, R, G, B, α, s, t, q, F) data indicated by the polygon rendering data S109. This set-up operation is to obtain the difference between the triangle side and the horizontal direction. Specifically, the unit length is moved by using the start point value, the end point value, and the distance between the start point and the end point. In this case, the variation of the value to be obtained is calculated. The DDA setup circuit 110 outputs the calculated variation data S110 to the triangle DDA circuit 111.
[0023]
The triangle DDA circuit 111 is linearly interpolated at each pixel inside the triangle (z, R, G, B, α, s, t, q, F) using the variation data S110 output from the DDA setup circuit 110. Calculate the data. The triangle DDA circuit 111 converts (x, y) data of each pixel and (z, R, G, B, α, s, t, q, F) data at the (x, y) coordinates into DDA data. (Interpolation data) Output to the texture engine circuit 112 as S111. At this time, the triangle DDA circuit 111 outputs to the texture engine circuit 112 DDA data S111 for 4 (= 2 × 2) pixels located in a rectangle to be processed in parallel. Further, the DDA data S111 includes a valid flag indicating valid data in each pixel out of 4 (= 2 × 2) pixel data.
[0024]
Here, 4 (= 2 × 2) pixels and the valid flag will be described.
FIG. 3 is an explanatory diagram of drawing a figure by pixels. FIG. 4 is an explanatory diagram of a valid flag in 4 (= 2 × 2) pixels, (a) shows the position of a set having the flag, and (b) shows a data example of the DDA data S111.
In FIG. 3, the pixels 60 are arranged in a matrix in a continuous manner in the xy direction. For example, a triangle 61 as shown in FIG. 3 is drawn by controlling the validity and invalidity of each pixel 60 and the color or the like when valid. Specifically, the triangle 61 is drawn by enabling the pixels 60 in the triangle 61 and disabling the other pixels 60 and controlling the color and the like of the effective pixels 60. In such control, in this embodiment, data processing is performed for every 4 (= 2 × 2) pixels. For example, a description will be given by taking a pixel group 62 of 4 (= 2 × 2) as an example.
[0025]
The pixel group 62 shown in FIG. 3 is composed of four groups (i) to (iv) having a valid flag as shown in FIG. Here, the valid case is represented by “1”, and the invalid case is represented by “0”. That is, in the DDA data S111 of the pixel group 62, each set (i) to (iv) has valid / invalid data as shown in FIG. Further, the DDA data S111 has (x, y) data as addresses and (z, R, G, B, α, s, t, q, F) data at the addresses. Note that if the address in the group (i) is determined, other adjacent addresses are naturally determined. For example, if the set of (i) is (x, y), (ii) is (x + 1, y), (iii) is (x, y-1), and (iv) is (x-1, y-1). ) Therefore, the addresses in the groups (ii) to (iv) in the DDA data S111 are appropriately calculated by calculation when processing is necessary.
In the present embodiment, the rendering data in each pixel group 62 is processed in this way, so that, for example, the position, size, color, etc. of the triangle 61 change to create a moving image.
[0026]
Upon receiving such DDA data S111 from the triangle DDA circuit 111, the texture engine circuit 112 calculates “s / q” and “t / q”, calculates texture coordinate data (u, v), and the texture buffer 120. The (R, G, B, α) data read processing from and the mixing processing (α blending processing) are sequentially performed by the pipeline method. Note that the texture engine circuit 112 performs processing on four pixels located in a predetermined rectangle simultaneously in parallel.
[0027]
Specifically, first, the texture engine circuit 112 performs an operation for dividing the s data by the q data and an operation for dividing the t data by the q data for the (s, t, q) data included in the DDA data S111. . Then, “s / q” and “t / q”, which are division results, are multiplied by texture sizes USIZE and VSIZE, respectively, to generate texture coordinate data (u, v).
[0028]
Further, the texture engine circuit 112 outputs a read request including the generated texture coordinate data (u, v) to the main memory 2 via the main bus 6 or to the SRAM 115 via the memory I / F circuit 113. Then, the texture coordinate data (u, v) stored in the SRAM 115 is read out to the main memory 2 via the main bus 6 or the memory I / F circuit 113, so that (s, t) data is obtained. (R, G, B, α) data S117 stored at the corresponding texture address is obtained.
[0029]
Further, the texture engine circuit 112 includes the (R, G, B) data of the read (R, G, B, α) data S117 and the DDA data S111 from the preceding triangle DDA circuit 111 (R, G, B). B) The data is mixed at a ratio indicated by the α data (texture α) included in the (R, G, B, α) data S117 to generate pixel data S112. The pixel data S112 includes a valid flag included in the DDA data S111.
[0030]
The texture engine circuit 112 outputs the pixel data S112 thus obtained to the memory I / F circuit 113 by enabling a write enable signal (we) indicating that the pixel data has been prepared. The texture buffer 120 stores texture data corresponding to a plurality of reduction ratios such as MIPMAP (multi-resolution texture). Here, which reduction rate of texture data is used is determined in units of triangles using a predetermined algorithm.
[0031]
Next, the memory I / F circuit 113 compares the z data corresponding to the pixel data S 112 input from the texture engine circuit 112 and the z data stored in the z buffer 122. In this comparison, it is determined whether or not the image drawn by the pixel data S112 input this time is positioned closer to the front (viewpoint side) than the image written in the display buffer 121 last time. That is, it is determined whether or not the position of the image drawn immediately before and the position of the image to be drawn this time overlap in the z direction (depth direction) at the address of the pixel data S112. When it is determined that the image to be drawn this time is positioned in front, a so-called z test process is performed in which the z data stored in the z buffer 122 is updated with the z data corresponding to the pixel data S112.
[0032]
Further, the memory I / F circuit 113 receives (R, G, B) data included in the pixel data S112 and (R, G, B) data already stored in the display buffer 121 as necessary. Then, a so-called α blending process is performed for mixing with the mixed value indicated by the α data corresponding to the pixel data S112, and the mixed (R, G, B) data is written in the display buffer 121.
[0033]
The LCD controller circuit 114 generates an address to be displayed on an LCD (not shown) in synchronization with the horizontal and vertical synchronization signals, and outputs a request to read display data from the display buffer 121 to the memory I / F circuit 113. In response to this request, the memory I / F circuit 113 reads display data from the display buffer 121 in a certain chunk. The LCD controller circuit 114 has a built-in line memory for storing display data read from the display buffer 121, and outputs RGB color values to the external LCD 52 as shown in FIG. 1 at regular time intervals.
[0034]
Here, the image data processing in the memory I / F circuit 113 to be noted in the present embodiment will be described in more detail. FIG. 5 is a diagram for specifically explaining the configuration of the memory I / F circuit 113, the flow of processing in the memory I / F circuit 113, and the configuration of the SRAM 115.
[0035]
As shown in FIG. 5, the memory I / F circuit 113 includes a FIFO (First In First Out) circuit 200, a memory controller 201, an address converter 202, a pixel buffer 203, a read circuit 204, a write circuit 205, a z test circuit 206, An α blending circuit 207 is included.
[0036]
As shown in FIG. 5, the SRAM 115 physically includes memory modules 150, 151, 152, and 153. The memory module 150 has banks 160 and 161. The memory module 151 has banks 162 and 163. The memory module 152 has banks 164 and 165. The memory module 153 has banks 166 and 167. Each of the memory modules 150, 151, 152, and 153 corresponds to individual pixels in the data for 4 (= 2 × 2) pixels.
[0037]
First, the FIFO (First In First Out) circuit 200 takes in the write enable signal we, valid flag, (x, y) data and (z, R, G, B, α) data from the texture engine circuit 112, and stores the memory. A valid flag and (x, y) data are output to the address converter 202 by a control signal from the controller 201. In addition, (z, R, G, B, α) data is output to the pixel buffer 203. At this time, data for 4 (= 2 × 2) pixels located in a rectangle to be processed in parallel is processed.
[0038]
The memory controller 201 controls the operation of the memory I / F circuit 113, and performs a so-called read-modify-write operation in a pipeline, which includes a series of operations such as a read operation, a z test, an α blending operation, and a write operation. Generate a signal. The generated control signal and valid flag are output to a first in first out (FIFO) circuit 200, an address converter 202, a pixel buffer 203, a read circuit 204, a write circuit 205, a z test circuit 206, and an α blending circuit 207.
[0039]
The address converter 202 stores the pixel select signal cs indicating the memory modules 150, 151, 152, and 153 and the bank select signal indicating the banks 160 to 167, in which pixel data of the pixel of the two-dimensional coordinates (x, y) is stored. bs and an address signal ad indicating an address are generated and output to the read circuit 204 together with the read enable signal re and the valid flag. The address converter 202 holds the chip select signal cs, the bank select signal bs, and the address signal ad for a predetermined time, and then outputs them to the write circuit 205 together with the write enable signal we by a control signal from the memory controller 201.
[0040]
The pixel buffer 203 holds the (z, R, G, B, α) data for a certain period of time, and then outputs the z data to the z test circuit 206 in response to a control signal from the memory controller 201 (R, G, B). , Α) data is output to the α blending circuit 207.
[0041]
The read circuit 204 outputs the chip select signal cs, the bank select signal bs, and the address signal ad from the address converter 202 to the SRAM 115 via the bus 220 together with the read enable signal re. Also, the z data input from the SRAM 115 is output to the z test circuit 206, and the (R, G, B) data is output to the α blending circuit 207.
[0042]
The write circuit 205 receives the chip select signal cs from the address converter 202, the bank select signal bs, the address signal ad, the z data input from the z test circuit 206, and the α blending circuit 207 (R, G, B) The data is output to the SRAM 115 via the bus 220 together with the write enable signal we.
[0043]
The z test circuit 206 compares the z data input from the pixel buffer 203 with the z data input from the read circuit 204, and generates a z · valid flag according to the result. The z / valid flag is used to select z data input from the pixel buffer 203 or z data input from the read circuit 204. The selected z data is output to the write circuit 205. Further, the logical product of the valid flag input from the memory controller 201 and the z · valid flag is calculated, and the resulting valid flag is output to the write circuit 205.
[0044]
The α blending circuit 207 has (R, G, B) input from the pixel buffer 203 and (R, G, B) input from the read circuit 204 as a mixed value indicated by α data input from the pixel buffer 203. Mix. The mixed (R, G, B) data is output to the write circuit 205.
[0045]
The memory modules 150, 151, 152, 153 output from the read circuit 204 and the write circuit 205 flow through the bus 220. These signals flowing through the bus 220 are monitored by the memory modules 150, 151, 152, and 153 of the SRAM 115, and the data stored in the memory at the address indicated by the address signal ad of the banks 160 to 167 indicated by the corresponding bank select signal bs. Is output to the z test circuit 206 and the α blending circuit 207. Further, the chip select signal cs and the write enable signal we are monitored, and are input from the z test circuit 206 and the α blending circuit 207 to the memory at the address indicated by the address signal ad of the banks 160 to 167 indicated by the corresponding bank select signal bs. Write data.
[0046]
Here, when performing the read-modify-write operation such as the read operation, the z test, the α blending operation, and the write operation in the memory I / F circuit 113 as described above, the image data of the same coordinates are continuously processed. In this case, the read-modify-write operation in the previous image processing needs to be completed. Therefore, in this embodiment, the address of the 4 (= 2 × 2) pixel group in the previous image processing is compared with the address of the 4 (= 2 × 2) pixel group in the current image processing, and the previous ( The valid flag of the 4 (= 2 × 2) pixel group in the immediately preceding image processing is compared with the valid flag of the 4 (= 2 × 2) pixel group in the current image processing. As a result, the control signal output from the memory controller 201 can be controlled, and the wait operation waiting for the end of the read-modify-write operation in the previous image processing can be reduced. Details of the address and valid flag comparison processing will be described below.
[0047]
FIG. 6 is a flowchart for explaining comparison processing between an address and a valid flag.
First, a comparison process is performed between the address of the 4 (= 2 × 2) pixel group in the previous image processing and the address of the 4 (= 2 × 2) pixel group in the current image processing (step S301). Specifically, from a set of a chip select signal cs indicating the memory modules 150, 151, 152 and 153, a bank select signal bs indicating the banks 160 to 167, and an address signal ad indicating an address, which are input from the address converter 202. Is compared with an address formed by a set of the chip select signal cs, the bank select signal bs, and the address signal ad in the previous image processing. As described above, the comparison processing is performed in units of pixel groups, but substantially only the addresses of the group (i) of the pixel groups are compared.
[0048]
In step S301, if it is determined that the address in the current image processing does not match the address in the previous image processing, a different address is processed in the previous image processing, so this time without performing a wait operation. In the image processing, the read modify write operation is advanced (step S308).
On the other hand, when it is determined that the address in the current image processing matches the address in the previous image processing, the valid flag comparison processing is performed in the group (i) of the pixel group (step S302).
[0049]
In step S302, the valid flag of the group (i) of the pixel group in the current image processing input from the address converter 202 and the valid flag of the group (i) in the read-modify-write operation in the previous image processing are obtained. Compare and process. If it is determined that both valid flags are valid, the processing pipeline is stopped and a wait operation is performed until the read-modify-write operation in the previous image processing is completed (step S303).
On the other hand, when it is determined that one of the valid flags is invalid, a comparison process of the valid flags of the group (ii) is performed in the same manner as the group (i) (step S304).
[0050]
In step S304, it is determined that both the valid flag of the group (ii) of the pixel group in the current image processing and the valid flag of the group (i) in the read-modify-write operation in the previous image processing are valid. If so, the processing pipeline is stopped, and a wait operation is performed until the previous read-modify-write operation is completed (step S303). On the other hand, when it is determined that either the current or previous valid flag is invalid, the comparison processing of the valid flag of the group (iii) is performed in the same manner as the group (i) (step S305).
[0051]
If it is determined in step S305 that both the current and previous (iii) pairs of valid flags are valid, a wait operation is performed (step S303). On the other hand, when it is determined that one of the valid flags is invalid, the valid flag of the group (iv) is compared in the same manner as the group (ii) (step S306). On the other hand, if it is determined that either the current or previous valid flag is invalid, the read-modify-write operation in the current image processing is advanced without performing a wait operation (step S308).
[0052]
The comparison process will be described with a specific example.
FIG. 7 is an explanatory diagram showing the flow of time (t) and processing of addresses of pixel groups that are sequentially processed. In FIG. 7, after the image processing of the pixel group having the address (0, 0) is performed as the first image processing, the pixel group having the address (2, 0) is performed as the second image processing. As the image processing, the image processing of the pixel group having the address (4, 0) is sequentially performed. In this way, when different addresses are consecutive, read-modify-write operations, that is, read processing (Read), modify operations (Modify-0 and Modify-1), and write processing are performed without performing a wait operation. Done.
[0053]
FIGS. 8A, 8B, and 8C are diagrams showing specific examples of the valid flag of the pixel group, and the pixel groups 70, 71, and 72 have the same address (0, 0).
When the pixel group 70 shown in FIG. 8A is processed as the first image processing, and the pixel group 71 shown in FIG. 8B is processed continuously as the second image processing, the pixel group 70 is processed. , 71 have the same address (0, 0), and therefore, valid flag comparison processing in each set is performed according to the flow shown in FIG. In this case, both the group (i) of the pixel group 70 and the group (i) of the pixel group 71 are “1”, that is, both are valid. As a result, in the image processing, as shown in FIG. 9, a wait operation is performed between the first image processing and the second image processing, and a predetermined operation of the read modify write operation of the first image processing is performed. After the end, the second image processing is started. In this way, the valid flag at the time of read-modify-write operation is referred to, and the pair of (i) to (iv) in this time and the previous time are compared, and if both are valid, the pipeline is Stop and wait until the read-modify-write operation is completed.
[0054]
When the pixel group 71 shown in FIG. 8B is processed as the first image processing and the pixel group 72 shown in FIG. 8C is processed as the second image processing continuously, When the valid flags are compared, “1”, that is, is not valid in any of the groups (i) to (iv). As a result, in the image processing, as shown in FIG. 10, even if the pixel groups 71 and 72 having the same address are continuously processed, the read processing (Read), the modification operation (Modify-0 and Modify- 1) and the write process are continuously performed without performing a wait operation. In this way, referring to the valid flag at the time of the read-modify-write operation, the pair (i) to (iv) in this time and the previous time are compared, and if there is no pair in which both are valid, the wait operation is performed. Absent.
[0055]
As described above, in the present embodiment, even if the address of the image group for performing image processing and the address of the image group for image processing drawn last time are the same continuously, the current valid flag and the previous valid flag Compare the flag. If either valid flag is invalid in the comparison result, there is no wait operation to stop the processing pipeline. Therefore, the number of wait operations in the read-modify-write operation can be reduced as compared with the conventional case, memory access can be performed efficiently, and high-speed read-modify-write operation can be realized.
Further, according to the image memory control device of the present invention and the graphic operation device using the image memory control device, it is possible to realize a higher-speed read-modify-write operation by simultaneously rewriting pixel data of a plurality of pixels.
[0056]
Such a read-modify-write operation stores, for example, pixel data of a plurality of pixels arranged in a matrix of the display means in an image memory, and continuously gives the pixel data and the two-dimensional coordinates of the pixel data and the effective pixel data. A series of operations of performing the operation of the given pixel data and the pixel data stored in the image memory of the two-dimensional coordinate by the pixel data flag, generating the pixel data as a result of the operation, and storing it in the image memory of the two-dimensional coordinate The two-dimensional coordinates of the first pixel data and the two-dimensional coordinates of the second pixel data given in succession are the same coordinates and the effective pixel data flag of the first pixel data If both the effective pixel data flags of the second pixel data indicate effective pixel data, the second pixel data is output until a series of operations using the first pixel data is completed. Without a series of operations by, it can be applied to the image memory control device for weights.
[0057]
In addition, in this embodiment, a pixel group including four pixels is processed as one unit. However, one pixel is processed as one unit, or a group including two or five or more pixels is processed as one unit. It is also possible.
In addition to this, as long as it does not depart from the gist of the present invention, the configuration described in the above embodiment can be selected or changed to another configuration as appropriate.
[0058]
【The invention's effect】
As described above, according to the image memory control device, graphic operation device, or rendering processing method of the present invention, a high-speed read-modify-write operation can be realized.
[Brief description of the drawings]
FIG. 1 is a diagram showing a system configuration example of a three-dimensional computer graphic system 1 according to an embodiment.
FIG. 2 is a diagram illustrating a configuration example of a rendering circuit 10 illustrated in FIG.
FIG. 3 is an explanatory diagram of drawing a figure by pixels.
FIG. 4 shows an example of pixel group data, (a) is a diagram showing a configuration example of a valid flag in the pixel group 62, and (b) is a diagram showing a specific example of DDA data corresponding to (a). It is.
5 is a diagram for specifically explaining the configuration of a memory I / F circuit 113, the flow of processing in the memory I / F circuit 113, and the configuration of an SRAM 115. FIG.
FIG. 6 is a flowchart for explaining an address and valid flag comparison process;
FIG. 7 is an explanatory diagram showing the flow of time (t) and processing of addresses of pixel groups that are sequentially processed.
FIGS. 8A, 8B, and 8C are diagrams illustrating specific examples of valid flags of pixel groups 70 to 72, respectively.
FIG. 9 is an explanatory diagram showing the flow of time (t) and processing of addresses of pixel groups that are sequentially processed when a wait operation is performed.
FIG. 10 is an explanatory diagram showing a process of address of pixel groups to be sequentially processed and a flow of time (t) when a wait operation is not performed.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Three-dimensional computer graphic system (graphic arithmetic unit), 2 ... Main memory, 3 ... Main bus controller, 4 ... CPU, 5 ... Vector arithmetic circuit, 6 ... Main bus, 7 ... I / O interface circuit, 8 ... Curved surface Processing circuit / geometry operation circuit, 9 ... external memory controller, 10 ... rendering circuit (image memory control device), 11 ... graphic memory, 50 ... external interface unit, 51 ... external memory, 52 ... LCD (liquid crystal display), 60 ... Pixel, 61 ... Triangle, 62, 70, 71, 72 ... Pixel group, 110 ... DDA setup circuit, 111 ... Triangle DDA circuit, 112 ... Texture engine circuit, 113 ... Memory I / F circuit (coordinate comparison means, data flag comparison) Means, standby control means, weight control Stage), 114 ... LCD controller circuit, 115 ... SRAM (image memory), 120 ... texture buffer, 121 ... display buffer, 122 ... z buffer, 150, 151, 152, 153 ... memory module, 160-167 ... bank, 200 ... FIFO (First In First Out) circuit 201 ... Memory controller 202 ... Address converter 203 ... Pixel buffer 204 ... Read circuit 205 ... Write circuit 206 ... z test circuit 207 ... alpha blending circuit 220 ... Bus

Claims (8)

連続して与えられる複数の画素データを画像メモリに連続的に読み込みおよび書き込み処理する画像メモリ制御装置であって、
与えられた第1の画素データを前記画像メモリ内に記憶する記憶手段と、
記憶された前記第1の画素データの座標と当該第1の画素データの次に連続して与えられた第2の画素データの座標とを比較する座標比較手段と、
前記第1の画素データの有効性を示すデータフラグと前記第2の画素データの有効性を示すデータフラグとを比較するデータフラグ比較手段と、
前記座標比較手段の比較結果および前記データフラグ比較手段の比較結果から、前記第2の画素データの処理待機を制御する待機制御手段と、
を有し、
前記待機制御手段は、前記第1の画素データの前記座標と、前記第2の画素データの前記座標とが同じ場合であり、且つ前記第1の画素データの前記データフラグと、前記第2の画素データの前記データフラグとの少なくとも一方が無効である場合、前記第1の画素データの処理の後に前記第2の画素データの処理を待機させることなく連続して行う
画像メモリ制御装置。
An image memory control device for continuously reading and writing a plurality of pixel data given in succession into an image memory,
Storage means for storing the given first pixel data in the image memory;
Coordinate comparison means for comparing the coordinates of the first pixel data stored with the coordinates of the second pixel data given successively after the first pixel data;
Data flag comparing means for comparing a data flag indicating the validity of the first pixel data and a data flag indicating the validity of the second pixel data;
A standby control means for controlling processing standby of the second pixel data from the comparison result of the coordinate comparison means and the comparison result of the data flag comparison means;
Have
The standby control means is a case where the coordinates of the first pixel data and the coordinates of the second pixel data are the same, and the data flag of the first pixel data, and the second When at least one of the data flags of the pixel data is invalid, the image memory control device continuously performs the processing of the second pixel data without waiting for the processing of the second pixel data after the processing of the first pixel data .
前記待機制御手段は、前記第1の画素データの前記データフラグと、前記第2の画素データの前記データフラグとの両方が有効である場合、前記第2の画素データの処理を所定時間待機させる
求項記載の画像メモリ制御装置。
The standby control unit causes the second pixel data to wait for a predetermined time when both the data flag of the first pixel data and the data flag of the second pixel data are valid.
Image memory control apparatus Motomeko 1 wherein.
前記第1および第2の画素データから前記画像メモリ内にアドレスを生成するアドレス生成手段と、
生成された前記アドレスを記憶するアドレス記憶手段と、
を更に有し、
前記座標比較手段では、前記アドレス記憶手段に記憶された前記第1の画素データのアドレスと、前記アドレス生成手段で生成された前記第2の画素データのアドレスとを比較する
求項1記載の画像メモリ制御装置。
Address generating means for generating an address in the image memory from the first and second pixel data;
Address storage means for storing the generated address;
Further comprising
The coordinate comparison unit compares the address of the first pixel data stored in the address storage unit with the address of the second pixel data generated by the address generation unit.
Image memory control apparatus Motomeko 1 wherein.
立体モデルを複数の単位図形を組み合わせて2次元画面上に表現するグラフィック演算装置であって、
前記単位図形を形成する画素データを記憶する画像メモリと、
前記画素データの有効画素データフラグを記憶するデータフラグ記憶手段と、新たに処理する新規画素データを、当該新規画素データの直前に処理された画素データに連続して処理する演算手段と、
前記データフラグ記憶手段において記憶された前記画素データの有効画素データフラグと、前記新規画素データの新規有効画素データフラグを比較するデータフラグ比較手段と、
前記データフラグ比較手段によるデータフラグ比較結果を参照して前記新規画素データの処理のウェイト制御を行うウェイト制御手段と、
を有するグラフィック演算装置。
A graphic arithmetic device for expressing a three-dimensional model on a two-dimensional screen by combining a plurality of unit figures,
An image memory for storing pixel data forming the unit graphic;
A data flag storage means for storing an effective pixel data flag of the pixel data; a calculation means for continuously processing new pixel data to be newly processed to pixel data processed immediately before the new pixel data;
Data flag comparison means for comparing the effective pixel data flag of the pixel data stored in the data flag storage means with the new effective pixel data flag of the new pixel data;
Weight control means for performing weight control of processing of the new pixel data with reference to a data flag comparison result by the data flag comparison means;
Heidelberg traffic computing device having a.
更に、前記画素データに対応して前記画像メモリ内にアドレスを生成するアドレス生成手段と、
生成された前記アドレスを記憶するアドレス記憶手段と、前記アドレス記憶手段に記憶されている前記画素データのアドレスを読み出す読み出し制御手段と、読み出された前記アドレスと、前記新規画素データの新規アドレスとを演算して比較するアドレス演算比較手段と、
前記新規アドレスの演算比較されたデータを前記画像メモリに書き込む書き込み制御手段と、
を更に有し、
前記ウェイト制御手段は、前記データフラグ比較結果と共に、前記アドレス演算比較手段のアドレス比較結果を参照して前記ウェイト制御を行う
求項記載のグラフィック演算装置。
Furthermore, address generating means for generating an address in the image memory corresponding to the pixel data;
Address storage means for storing the generated address, read control means for reading the address of the pixel data stored in the address storage means, the read address, and a new address of the new pixel data Address operation comparison means for calculating and comparing
Write control means for writing the calculated and compared data of the new address into the image memory;
Further comprising
The wait control means performs the wait control with reference to the address comparison result of the address calculation comparison means together with the data flag comparison result.
Motomeko 4 wherein the graphics computation device.
前記グラフィック演算装置は、複数の前記画像メモリを有し、
複数の前記画像メモリは、前記2次元画面上の複数の画素を組として、同一の組を構成する前記複数の画素のいずれかの前記画素データを記憶し、
前記アドレス生成手段は、前記組を構成する前記複数の画素に同一の前記アドレスを生成し、前記読み出し制御手段は、前記生成されたアドレスを用いて、前記組を構成する前記複数の画素の前記画素データを同時に読み出し、
前記演算手段は、前記組を構成する前記複数の画素の前記画素データを同時に演算し、
前記書き込み制御手段は、前記生成されたアドレスを用いて、前記組を構成する前記複数の画素の前記画素データを同時に書き込む
求項記載のグラフィック演算装置。
The graphic arithmetic unit has a plurality of the image memories,
A plurality of the image memories, each of the plurality of pixels on the two-dimensional screen as a set, storing the pixel data of any of the plurality of pixels constituting the same set;
The address generation unit generates the same address for the plurality of pixels constituting the set, and the read control unit uses the generated address to generate the plurality of pixels constituting the set. Read pixel data at the same time,
The computing means computes the pixel data of the plurality of pixels constituting the set simultaneously,
The writing control means simultaneously writes the pixel data of the plurality of pixels constituting the set using the generated address.
Motomeko 5, wherein the graphic operation device.
記憶手段と、座標比較手段と、データフラグ比較手段と、待機制御手段と、を有し、連続して与えられる複数の画素データを画像メモリに連続的に読み込みおよび書き込み処理する画像メモリ制御装置のレンダリング処理方法であって、
前記記憶手段が、処理する新規画素データを受け取り、
前記座標比較手段が、前回処理した旧画素データと前記新規画素データのアドレスが一致するかどうかを判断し、
前記データフラグ比較手段が、前記旧画素データと前記新規画素データのvalidフラグが有効かどうかを判断し、
前記待機制御手段が、前記旧画素データと前記新規画素データのアドレスが一致し、且つ前記旧画素データと前記新規画素データのうち少なくとも一方のvalidフラグが無効である場合に、前記旧画素データの後に前記新規画素データを待機させることなく連続処理する要求を行う
ンダリング処理方法。
An image memory control device having storage means, coordinate comparison means, data flag comparison means, and standby control means for continuously reading and writing a plurality of pixel data given in succession to an image memory A rendering processing method,
The storage means receives new pixel data to be processed,
The coordinate comparison unit determines whether the address of the old pixel data and the new pixel data processed last time match,
The data flag comparing means determines whether valid flags of the old pixel data and the new pixel data are valid;
The standby control means, wherein the old pixel data address of the new pixel data do not match, and wherein when at least one of the valid flag of the new pixel data and the old pixel data is invalid, the Old pixel data Later, a request is made to continuously process the new pixel data without waiting.
Rendering processing method.
前記待機制御手段が、前記旧画素データと前記新規画素データのアドレスが一致し、且つ前記旧画素データと前記新規画素データのvalidフラグが有効である場合に、前記旧画素データの処理と前記新規画素データの処理との間にウェイト処理する要求を行う
求項記載のレンダリング処理方法。
The standby control means, when the addresses of the old pixel data and the new pixel data match, and when the valid flag of the old pixel data and the new pixel data is valid, A request for wait processing is performed between pixel data processing.
Motomeko 7 rendering processing method described.
JP2001182605A 2001-06-15 2001-06-15 Image memory control device, graphic operation device, and rendering processing method Expired - Fee Related JP4622165B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001182605A JP4622165B2 (en) 2001-06-15 2001-06-15 Image memory control device, graphic operation device, and rendering processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001182605A JP4622165B2 (en) 2001-06-15 2001-06-15 Image memory control device, graphic operation device, and rendering processing method

Publications (2)

Publication Number Publication Date
JP2002373349A JP2002373349A (en) 2002-12-26
JP4622165B2 true JP4622165B2 (en) 2011-02-02

Family

ID=19022686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001182605A Expired - Fee Related JP4622165B2 (en) 2001-06-15 2001-06-15 Image memory control device, graphic operation device, and rendering processing method

Country Status (1)

Country Link
JP (1) JP4622165B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006028093A1 (en) * 2004-09-06 2006-03-16 Matsushita Electric Industrial Co., Ltd. Video generation device and video generation method
JP4931038B2 (en) * 2005-11-22 2012-05-16 シャープ株式会社 Stereoscopic image device, game device, stereoscopic image projection device, stereoscopic image data generation method, control program, and readable recording medium
KR101485644B1 (en) 2012-12-28 2015-01-22 주식회사 포스코아이씨티 Redundancy System and Method for Controlling Redundancy System
CN109191557B (en) * 2018-09-11 2023-05-02 中国科学院国家天文台 Image texture mapping method and device for stereoscopic topographic map

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119238A (en) * 1992-10-07 1994-04-28 Hitachi Ltd Method and device for controlling main storage
JPH09282231A (en) * 1996-04-17 1997-10-31 Toshiba Corp Write-back type cache device
JPH09330267A (en) * 1996-06-11 1997-12-22 Sony Corp Memory controller, memory control method and image generator
JP2001118056A (en) * 1999-10-20 2001-04-27 Sony Corp Image processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06119238A (en) * 1992-10-07 1994-04-28 Hitachi Ltd Method and device for controlling main storage
JPH09282231A (en) * 1996-04-17 1997-10-31 Toshiba Corp Write-back type cache device
JPH09330267A (en) * 1996-06-11 1997-12-22 Sony Corp Memory controller, memory control method and image generator
JP2001118056A (en) * 1999-10-20 2001-04-27 Sony Corp Image processor

Also Published As

Publication number Publication date
JP2002373349A (en) 2002-12-26

Similar Documents

Publication Publication Date Title
JP4234217B2 (en) System, apparatus and method for embedding transparent enable bits as part of resizing bit block transfer processing
US6642928B1 (en) Multi-processor graphics accelerator
US5877769A (en) Image processing apparatus and method
US20030117589A1 (en) Image processor, components thereof, and rendering method
JPH11259678A (en) Image display device and image display method by the same
JP4707782B2 (en) Image processing apparatus and method
JP2005100176A (en) Image processor and its method
JP4200573B2 (en) Storage device, image processing device and method thereof, refresh operation control device and method thereof
JP4622165B2 (en) Image memory control device, graphic operation device, and rendering processing method
JP4505866B2 (en) Image processing apparatus and video signal processing method
US7372461B2 (en) Image processing apparatus and method of same
JP4069486B2 (en) Memory circuit control device and graphic operation device
JPH05249953A (en) Image display device
JP3741053B2 (en) Image processing device
KR100393305B1 (en) Recording medium having recorded thereon three-dimensional graphics drawing data having data structure shareable by frames and method of drawing such data
JP4042204B2 (en) Graphic operation apparatus and method
JP4325038B2 (en) Image processing device
JP4419480B2 (en) Image processing apparatus and method
JP4580475B2 (en) Arithmetic processing unit and graphic arithmetic unit
JPH11272548A (en) Storage circuit control device and graphic operation device
JP4386124B2 (en) Video signal processing apparatus and video signal processing method
JPH11203486A (en) Translucent object display method and image display device using the method
JP4232234B2 (en) Image processing device
JP3934111B2 (en) Drawing apparatus and drawing method
JP4333793B2 (en) Video signal processing apparatus and video signal processing method

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 Written amendment

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