JP3603792B2 - Image memory LSI and image display device using the same - Google Patents

Image memory LSI and image display device using the same Download PDF

Info

Publication number
JP3603792B2
JP3603792B2 JP2001005899A JP2001005899A JP3603792B2 JP 3603792 B2 JP3603792 B2 JP 3603792B2 JP 2001005899 A JP2001005899 A JP 2001005899A JP 2001005899 A JP2001005899 A JP 2001005899A JP 3603792 B2 JP3603792 B2 JP 3603792B2
Authority
JP
Japan
Prior art keywords
information
pixel
image memory
memory
read
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
Application number
JP2001005899A
Other languages
Japanese (ja)
Other versions
JP2001242847A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001005899A priority Critical patent/JP3603792B2/en
Publication of JP2001242847A publication Critical patent/JP2001242847A/en
Application granted granted Critical
Publication of JP3603792B2 publication Critical patent/JP3603792B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Controls And Circuits For Display Device (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、隠面消去,色の混合(ブレンディング)を行う3次元図形の表示装置に関し、特に、高機能な画像メモリの構成と、それを用いた図形表示装置の構成に関する。
【0002】
【従来の技術】
従来の画像メモリは、特開昭59−131979号公報,米国特許第427236号公報に開示されているように、通常のダイナミックRAMと,シリアルバッファから構成し、ランダムアクセスを行える第1のポートと,表示データを読み出す第2のポートが、ほぼ独立にアクセスすることが可能なメモリで、通常のダイナミック
RAMに比べ大幅にランダムアクセスと表示データの読み出し性能を向上することができた。
【0003】
従来、この画像メモリを用いた3次元の図形表示装置の構成は、図3に示すようにCPU200から与えられる直線や、三角形の情報から画素の情報に展開する画素生成部301と、展開した画素のXY座標を画像メモリ600のアドレスに変換し、展開した画素の輝度と,画像メモリに格納されている画素の輝度を混合する輝度ブレンド,Z座標を比較し、手前の画素を表示する隠面消去、書き込むウインドウを1画素毎に比較し、書き込みを制御するWID比較、そして、これらを求めるときの画像メモリの読み出しと、求めたアドレス,輝度,Z座標,書き込みの有無に従って画像メモリに対する書き込みを制御するメモリ制御を行うメモリ制御部302と,画像メモリ600のシリアルバッファ602に対してRAMDACへ送出する表示データを制御する信号を生成する、シリアルバッファ制御部303、より構成された描画プロセッサ300と,輝度情報,Z座標,ウインドウ情報よりなる画素情報を保持するメモリセル601と,表示するための画素データを保持しているシリアルバッファ602より成る、画像メモリ600から構成されている。
【0004】
【発明が解決しようとする課題】
上記従来技術は、画像メモリに対する画素データの書き込み性能を向上させようとするとき、描画プロセッサと画像メモリとの間のデータ信号線数を増やすことで行ってきた。しかし、描画プロセッサ及び画像メモリをLSIで実現しようとすると、その信号線数には限界があるという問題があった。
【0005】
また、表示する画像を複数個,画像メモリのメモリセルに格納しておき、書き替える画像メモリと,表示する画像メモリを別々にすることで、スム−ズに画面の切り替えを行い、そして、それが1画素ごとに1つの画像を選択するようなダブルバッファの機能を実現しようとするときには、シリアルバッファの出力を複数画素分画像メモリから出力しておく必要があり、画像メモリの信号線数が増加してしまう問題があった。
【0006】
本発明は、少ない信号線数で、高速に画素データの書き込み性能を向上することのできる画像メモリLSIを提供することを目的とする。
【0007】
さらに、ダブルバッファ実現時、画素メモリのシリアルバッファの出力信号線数を削減し、コストの低減を図ることを目的とする。
【0008】
【課題を解決するための手段】
本発明は、画素の輝度情報及びウインドウ情報を保持するメモリセルと,書き込もうとする画素のウインドウ情報と前記メモリセルに保持された対応する画素のウインドウ情報とを比較し、比較結果に基づいて前記書き込もうとする画素を前記メモリセルへ書き込むべきか否かを決定する手段を同一チップ上に設けたことに特徴がある。
【0009】
また、画素の輝度情報及び深度情報を保持するメモリセルと,書き込もうとする画素の深度情報と前記メモリセルに保持された対応する画素の深度情報とを比較し、比較結果に基づいて前記書き込もうとする画素を前記メモリセルへ書き込むべきか否かを決定する隠面消去手段を同一チップ上に設けたことに特徴がある。
【0010】
更にまた、画素の輝度情報及びウインドウ情報を保持するメモリセルと,前記メモリセルより複数の画素を読み出し、順次外部へ出力するシリアルバッファからなるものにおいて、前記シリアルバッファより読み出された同一座標上の複数の輝度情報のうち、前記シリアルバッファより読み出されたウインドウ情報に基づいて、所望の輝度情報を選択し出力するダブルバッファ制御手段を同一チップ上に設けたことに特徴がある。
【0011】
更にまた、本発明は、図形又は線分の各頂点の座標及び輝度を生成するCPUと,前記図形内部の画素の画素情報又は前記線分上の画素の画素情報を生成する描画プロセッサと,前記描画プロセッサより生成された画素情報を記憶する画像メモリと,前記画像メモリに記憶された情報を画面上に表示する表示部を有する画像表示装置において、前記画素情報である輝度情報及びウインドウ情報を保持するメモリセルと、書き込もうとする画素のウインドウ情報と前記メモリセルに保持された対応する画素のウインドウ情報とを比較し、前記書き込もうとする画素を前記メモリセルへ書き込むべきか否かを決定する手段を前記画像メモリに内蔵したことに特徴がある。
【0012】
【作用】
描画プロセッサが発生する画素は、XY座標,Z座標,輝度(RGB)が基本であり、他に、ウインドウ情報,ブレンド情報などが与えられる場合がある。
【0013】
本発明によれば、画像メモリLSI内で、書き込もうとする画素に対応するメモリセルに保持されたウインドウ情報が読み出され、この読み出されたウインドウ情報と、書き込もうとする画素のウインドウ情報とが比較され、比較結果に基づいて書き込もうとする画素を前記メモリセルへ書き込むべきか否かが決定される。
【0014】
また、本発明によれば、画像メモリLSI内で、書き込もうとする画素に対応するメモリセルに保持された深度情報が読み出され、この読み出された深度情報と、書き込もうとする画素の深度情報とが比較され、比較結果に基づいて書き込もうとする画素を前記メモリセルへ書き込むべきか否かが決定される(隠面処理が実行される)。
【0015】
従って、画像メモリ側で、画素の読み出し,比較,書き込み等の処理が実行されることとなるので、描画プロセッサから画像メモリへ与える情報量を半分にすることができる。また、一般にメモリアクセスの時間は、LSI内部と外部では、内部の方が速いため、処理の高速化が図られ、さらに、LSI内部では、メモリセルから、一度に多くの画素情報を読み出し、書き込むことができるため、一度読み出した多くの画素を有効に利用して処理することが可能となる。
【0016】
また、本発明によれば、画像メモリLSI内で、シリアルバッファより読み出された同一座標上の複数の輝度情報のうち、前記シリアルバッファより読み出されたウインドウ情報に基づいて、所望の輝度情報が選択され表示デ−タとして出力されるので、画像メモリからの表示出力線数を輝度情報1個分にすることが可能となる。
【0017】
【実施例】
以下、本発明の一実施例を図面を用いて説明する。
【0018】
図1は、高機能画像メモリ100の内部構成を示すブロック図である。高機能画像メモリ100は、4ビットのモード信号MOD,リードライト信号RW,パラレルポートのクロック信号PCLK,チップセレクト信号PSを受け取り、画像メモリ内部にタイミング信号を発生し、また、画像メモリの内部状態によって、アクセス待ちを示す信号WAITを出力するパラレルポート制御部102と,データ信号PIOで与えられるXY座標を、モードレジスタ107に格納されている画面のサイズ,1画素のビット長に従ってメモリセル101のアドレスに変換するXY座標変換部103と,データ信号PIOで与えられる輝度情報,ブレンド係数に従って、既にメモリセル101に格納されている画素の輝度,ブレンド係数との輝度の混合(ブレンド)を行う輝度ブレンド部104と,データ信号PIOで与えられる深度情報(Z座標)と,既にメモリセル101に格納されている深度情報を比較し、書き込みを行うかどうかを決定する隠面消去と,データ信号PIOで与えられるウインドウ情報と,既にメモリセル101に格納されているウインドウ情報とを比較し、書き込みを行うかどうかを決定するWID比較を行う、複数の比較回路105と,パラレルポート制御部102からの画像メモリアクセス要求と,シリアルポート制御部110からの表示のためのメモリ読み出し要求と,メモリのリフレッシュ要求とに基づいて、メモリセル101に対する制御信号を発生するメモリ制御部106と,画面のサイズ(例えば、X座標とY座標の最大値及び最小値で規定される)、1画素のビット長,メモリ構成の形態を指定するレジスタであるモードレジスタ107と、メモリセル101から読み出した、表示データを蓄るシリアルバッファ108と,シリアルバッファから読み出した同一座標上の複数の輝度情報を、該シリアルバッファから一緒に読み出されるウインドウ情報に従って選択して出力するダブルバッファ制御部109と、外部からの垂直同期信号VSYNCに同期して、シリアルバッファに表示データを読み込むタイミングを発生し、また、シリアルバッファから出力するデータを順次更新させる制御信号を、シリアルポートのクロックSCLKに従って発生するシリアルポート制御部110と、から構成されている。
【0019】
図2は、上記高機能画像メモリ100を使用した図形表示システムの概要を示す図である。図形(以下、三角形を例に説明する)や、線分(以下、直線を例に説明する)の各頂点の座標,輝度を生成するCPU200と、上記三角形や、直線の情報から、三角形の内部の画素,直線上の画素を生成する描画プロセッサ300と、描画プロセッサ300が生成する画素を隠面消去や、輝度のブレンドなどを行い内部のメモリセルに格納する、高機能画像メモリ100と、高機能画像メモリから常時読み出されるディジタルの表示データをアナログのビデオ信号に変換する変換器DAC400と、このビデオ信号から管面上に映像を生成するCRT500と、から構成される。
【0020】
ここで、図1,図2を用いて、高機能画像メモリの動作を説明する。
【0021】
まず、CPU200は、前述のようにアプリケーションプログラムを実行し、三角形や直線の頂点のXYZ座標,輝度(RGB)を生成する。この情報は、描画プロセッサ300に渡され、該描画プロセッサは、三角形内部の画素の画素情報,直線上の画素の画素情報を生成する。このXYZ座標,輝度(RGB)等(他に、ここでは、画素のウインドウ番号,ブレンド係数,オーバレイがある)からなる画素情報は、高機能画像メモリ100に、アクセス待ち信号WAITがアサートされていないとき描画プロセッサによって書き込まれる。
【0022】
この時、高機能画像メモリ100のデータ信号PIOの信号線数を32ビットとすると、1画素の情報量は、90ビット以上(XY座標各11ビット,輝度情報24ビット,Z座標32ビット等)と多いため、モード信号MODによってXY座標,輝度,Z座標、その他の順で、パラレルポートのクロック信号PCLKに同期して書き込みを行う。パラレルポート制御部102は、アクセス待ち信号WAITがネゲートしているときに、チップセレクト信号PSとリード,ライト信号RWがライトになっているとき、モード信号MODがXY座標を示していれば、データ信号PIO上のデータをXY座標変換部103に書き込む。同様に、モード信号MODの指示により輝度,ブレンド係数は、輝度ブレンド部104へ、Z座標,ウインドウ情報は、比較部105へ、画面サイズ、1画素のビット長などは、モードレジスタ部107へ書き込まれる。この時、モード信号MODには、画素書き込み実行起動の状態があり、画素書き込み実行起動状態でなければ、上記のように、与えられる画素情報を高機能画像メモリ内部のレジスタに取り込むだけで、何もしない。もし、画素書き込み実行起動状態であれば、それまでに設定された画素情報,その他の情報(画面サイズ,1画素のビット長)に基づいてメモリ制御部106は、メモリセル101に対して以下のように書き込みを実行する。
【0023】
まず、XY座標変換部103は、与えられたXY座標から、メモリセル101のアドレスへの変換を行う。具体的には、画面サイズの横幅と,1画素のビット長と,Y座標とを乗算し、X座標を加えることで求められる。
【0024】
次に、通常ダイナミックメモリは、内部に1行分の大きなバッファを有しており、そこに、アクセスする画素が含まれる1行分のデータを取り込む。格納されている1行分のバッファに、既に、これから書き込みを行おうとする画素が含まれている場合は、この動作は行わない。この動作は、XY座標変換部103が出力するメモリセルのアドレス情報に基づいてメモリ制御部106が制御する。次に、輝度ブレンド部104は、上記1行分のバッファ上にある輝度情報と、ブレンド係数に基づいて算出した、新たな輝度,ブレンド係数を作成する。これらを求める計算は、乗算,加減算,最大,最小などの算術演算、AND,EORなどの論理演算の組合せで行われ、その組合せ方は、あらかじめ輝度ブレンド部104内にあるレジスタに設定しておく。
【0025】
次に、Z座標,ウインドウ情報は、比較部105に取り込まれ、パラレルポート側から与えられたZ座標,ウインドウ情報と比較が行われ、比較結果は、メモリ制御部106に送られる。この比較の方式、例えば、Zの値が大きい時に、書き込むか、Zの値が小さい時に、書き込みするか等を選択するレジスタを比較部に持っている。
【0026】
次に、メモリ制御部106は、表示のためのメモリセルの読み出し要求も、メモリセルのリフレッシュ要求もない場合、求めた輝度情報,Z座標などを前記1行分のバッファに書き込む。表示のためのメモリセルの読み出し要求か,メモリセルのリフレッシュ要求がくるか,1行分のバッファに無い画素へのアクセス要求がきたとき、1行のバッファに格納されているデータがメモリセルに書き戻される。
【0027】
以上の処理によって、パラレルポートから与えられた画素情報は、隠面消去,輝度のブレンド処理を行った後メモリセル101に格納される。
【0028】
次に、表示データの出力と、メモリのリフレッシュの制御について説明する。
【0029】
まず、シリアルポートのクロックSCLKには、常時、表示デバイスに依存した基本クロック信号が供給される。これに同期して、垂直同期信号VSYNCがアサートされると、シリアルポート制御部110内部の表示カウンタが初期化され、順次、SCLKに同期して該表示カウンタは更新される。この表示カウンタの値をデコードすることによって、メモリセルから表示するデータをシリアルバッファへ転送する要求信号をメモリ制御部106に送出する。また、ダイナミックRAMは、10m秒で全メモリ内容をリフレッシュする必要があり、これを満たすように、リフレッシュ要求信号をメモリ制御部106に送出する。具体的には、モードレジスタ107にある画面サイズ、1画素のビット長を示すレジスタを参照し、クロック信号SCLKでカウントした値に従って、必要最小限のリフレッシュ要求信号を出力する。通常は、前記表示カウンタを流用することができる。
【0030】
上記表示データの読み出し要求信号と,リフレッシュ要求信号をメモリ制御部106が受け取ると,パラレルポートからのメモリセルに対するアクセス要求を速やかに完了させ、リフレッシュ要求,表示データの読み出し要求の順に要求を受付、前者の場合メモリ制御部106内部にあるリフレッシュカウンタの値をリフレッシュアドレスとしてメモリセルを読み出し、すぐに書き戻し、後者の場合、シリアルポート制御部110より送られてくる表示アドレスを読み出し、シリアルバッファ108に格納する。
【0031】
次に、シリアルバッファ108に格納された表示データは、1画素あたり複数の輝度情報と,ウインドウ情報,オーバレイ情報を有しており、ダブルバッファ制御部109は、輝度情報をウインドウ情報に従って選択し、データ信号SIOに出力する。具体的には、ダブルバッファ制御部109内にある、どのウインドウがどの輝度情報を選択するかを示す、ダブルバッファ選択レジスタを参照して選択する。
【0032】
図4は、高機能画像メモリのモード信号MODの意味を示した表である。モード信号MODは、4ビットの信号線で、パラレルポートのデータ信号PIOにどのような意味のデータを設定するか、どのようなデータを読み出すかを示す信号線であり、図4にあるような意味を持つ。すなわち、下位3ビットが0,1,2,3のときは、それぞれXY座標,輝度情報(ブレンド係数,RGB)、その他画素情報(ウインドウ情報,オーバレイ情報),深度情報(Z座標)を設定する。また、最上位ビットが1の時は、設定された画素の情報を設定後、実際にメモリセルに対してアクセスを行うことを示す。その他MODが“0111”のときは、内部レジスタのアドレスを指定し、“1111”の時は、該内部レジスタのアドレスで指定したレジスタに書き込む、または、読み出すデータを指定する。
【0033】
MODが、それ以外の場合は、未定義とする。
【0034】
次に図5は、上記内部レジスタの内容を示す表である。RESETレジスタは、高機能画像メモリの内部状態を初期化するための実体のないレジスタで、アクセスがあると、内部のレジスタの内容をデフォルトの値に設定する。この時、メモリセルの内容は変化しない。
【0035】
CONFIGレジスタは、画面サイズ,1画素のビット長,X,Y方向にメモリが何個あるかを設定する。具体的には、画面サイズは、3ビットで640×400画素,1024×768画素,1152×900画素,1280×1024画素,1600×1200画素,1920×1035画素を選択できる。また、1画素のビット長は、3ビットで、1画素8,16,32,64,96,128を選択できる。また、X,Y方向に何個のメモリがあるかは、X,Y各2ビットで、1個,2個,4個,8個を選択できる。
【0036】
STATUSレジスタは、読み出し専用のレジスタで、内部状態を読み出すために用いる。内部状態には、表示カウンタ,リフレッシュカウンタの内容,内部制御論理の遷移状態などがあり、おもにデバック,保守用として用いる。
【0037】
WT_FUNCレジスタは、設定された輝度情報に、ブレンド処理を行った後の輝度情報と、書き込み先の輝度情報を演算する時の演算内容を選択するための情報を保持し、2変数の論理和,論理積,排他的論理和,加算,減算,最大,最小などを5ビットで指定する。
【0038】
BLENDレジスタは、設定された輝度情報をブレンド係数とどのように演算するかを指定する6ビットのレジスタで、輝度情報に0,1,ブレンド係数(1−ブレンド係数)の内どれを乗算するかを選択する(パラレルポートから設定された輝度情報と、既に格納されている画素の輝度情報についてそれぞれ設定でき、ブレンド係数は、上記2種類の輝度情報から選択できるため、全部で6ビット必要となる)。
【0039】
Z_CMPは、Z座標に比較を行うかどうかを指定するビットと、どのような比較演算を行うか、例えば、=,≠,≦,≧,>,<を選択するために、3ビット、計4ビットのレジスタである。
【0040】
WID_CMPは、ウインドウ情報を比較するかどうかを示す1ビットのレジスタである。
【0041】
PL_MASK_AC,PL_MASK_WO,PL_MASK_Zは、それぞれ、ブレンド係数,輝度情報と,ウインドウ情報,オーバレイ情報と,Z座標のバッファに対する書き込みプレーンマスクを示すレジスタで、1が書き込み可,0が書き込みマスクを示し、1プレーンごとに設定が可能になっている。
【0042】
BUF_SELは、今、書き込みにいく、または、読み出している画素がダブルバッファのどちら側を選択しているかを示すレジスタで、このレジスタの値が0のときは、0のバッファに、1のときは、1のバッファに書き込みを行う。
【0043】
HBLANKは、水平ブランキング期間を示しており、VSYNCの立ち下がりのサイクルを基準として、SCLKが何回きたときSIOから表示データを出力し始めるかを指定するレジスタである。
【0044】
VBLANKは、垂直ブランキング期間を示しており、VSYNC信号の立ち下がりから、何ラスターたってから表示期間が始まるかを指定するレジスタで、1ラスターは、画面サイズの横幅と、HBLANKレジスタに設定した水平ブランキング期間を加えた期間を表す。
【0045】
次に、BUF_LUTレジスタは、ウインドウ情報と表示するバッファの対応関係を示すレジスタで、ウインドウ情報が4ビットの時、16ビットのレジスタとなる。
【0046】
以上示したレジスタのなかで、RESETレジスタは、書き込みと同時に内部状態が初期化され、それ以外のレジスタは、モード信号MODの最上位ビットが1で、アクセス要求がある場合と、垂直同期信号VSYNCがきたときから、動作に影響を与える。即ち、これらのレジスタは、2段構成となっており、1段目は、パラレルポートから自由に設定可能なレジスタで、2段目は、現在動作中の処理に使用しているレジスタとなっており、上記アクセス要求があるときと、垂直同期信号VSYNCがきたときに、1段目から2段目への転送を行う。
【0047】
以上、高機能画像メモリの概要と動作を示した。次に、図6,図7,図8を使っていくつかのグラフィックスシステムへの適用方法について示す。
【0048】
まず、図6は、高性能を実現するための複数の描画プロセッサ310と、複数の高機能画像メモリ100を用いたシステム構成を示したものである。描画プロセッサ310は、ラスター毎に4個あり、1つの描画コマンド、例えば直線,三角形を画素に分解し、高機能画像メモリ100に書き込む処理を行う。描画プロセッサ310、1個に対して、4個の高機能画像メモリ100が1対1の関係で接続されており、4個の高機能画像メモリを独立にアクセスすることができる。
【0049】
また、描画プロセッサの内の1個が、垂直同期信号をほかの描画プロセッサと、すべての高機能画像メモリに供給し、また、RAMDACに対しては、RAMDAC用の垂直同期信号と、水平同期信号を供給するようにする。この構成のとき、各高機能画像メモリ内のCONFIGレジスタのメモリ構成を示すレジスタには、X,Yの両方向とも4画素,4ラスターであるとの指定を行うことにより、高機能画像メモリは、必要があるときだけ表示データをメモリセルから読み出すことで、パラレルポートからのアクセスを最大限に行うことができるようになる。
【0050】
次に、図7に高解像度であるがコストを重視したグラフィックスシステムの構成を示す。描画プロセッサは、1個で、それに対し複数個の高機能画像メモリを同一バス上に接続したもので、高機能画像メモリのパラレルポートへのアクセスは、チップセレクト信号PSを描画プロセッサから個別に与えることにより行われる。また、アクセス待ち信号WAITは、アクセスする高機能画像メモリの出力するWAITを選択して使用する。このチップセレクト信号PSと、アクセス待ち信号WAIT以外の信号は、共通に接続することができる。垂直同期信号
VSYNCの接続は、描画プロセッサがすべての高機能画像メモリに対して供給し、また、RAMDACに対する水平,垂直同期信号も描画プロセッサが供給する。
【0051】
次に、図8にコスト最小なグラフィックスシステムの構成を示す。バスコントローラ700は、CPUとグラフィックシステムをつなぐシステムバスをデコードし、高機能画像メモリをアクセスする構成で、バスコントローラ700は、
CPUからのアクセスのアドレスをデコードし、モード信号MODと、チップセレクト信号PSにセットし、アクセス待ち信号WAITで同期をとりながら、高機能画像メモリに対するアクセスを行う。また、高機能画像メモリに対する垂直同期信号と、RAMDACにたいする水平,垂直同期信号を供給する処理も行う。
【0052】
最後に、図9にパラレルポートのアクセス時のタイムチャートを示す。
【0053】
図の上から、クロックに対応する説明のためのサイクル番号,パラレルポートのインタフェース信号であるPCLK,PIO,MOD,RW,WAIT,PSと、高機能画像メモリの内部状態である、リードアドレス,リードデータ,ライトアドレス,ライトデータ,内部バッファへのライト制御信号,該内部バッファのメモリセルへのライト制御信号を示している。
【0054】
サイクル1は、高機能画像メモリがアイドル状態で、アクセス要求を待っている状態とする。
【0055】
サイクル2で、MODをXY座標とし、RWをライト,チップセレクトPSをセレクトし、データバスPIOにXY座標データを設定すると、高機能画像メモリ内のリードアドレスレジスタに該XY座標が格納される。
【0056】
サイクル3では、XY座標の次に、図中ACと表記したブレンド係数と輝度情報(RGB)を設定することにより、高機能画像メモリ内のブレンド係数と,輝度のバッファに格納される。同時に、サイクル2で設定された、XY座標は、ここでメモリセルの行アドレスと,列アドレスに変換され、行アドレスが現在読み込んであるデータのアドレスと同じかどうか判定し、同じでなければ、現在読み込んでいるデータをもとのアドレスに書き戻し、新たに、指定されたアドレスのデータを読み出す動作を行う。行アドレスと、前記読み込んであるデータのアドレスと同じであれば、列アドレスに従って1画素のデータを選択して使用する。
【0057】
図9におけるサイクル3では、XY座標(XY2)は既に高機能画像メモリ内で、バッファに読み込まれていることとする。
【0058】
サイクル4では、図中WOと表記したウインドウ情報と、オーバレイ情報を設定する。一方サイクル3で読み込まれたデータと、サイクル3で設定したブレンド係数と輝度情報もこのサイクルから有効になり、ブレンド処理を開始する。ブレンド処理は、BLENDレジスタに設定するブレンド方法によって結果が出来上がるまでの時間がまちまちである。従って、ブレンド処理方法に依存したサイクル数を数えるカウンタを持ち、ブレンド係数と輝度情報を設定したときと、読み込みデータが有効になった時に上記カウンタをリセットするようにする。
【0059】
サイクル5では、図中ZEと表記した深度情報Zを設定し、書き込みの起動を行っている。書き込みの起動は、それまでに設定された画素情報を隠面消去,ブレンド処理してメモリセルに書き込むことを指定することで、内部の書き込みフラグをセットする。
【0060】
サイクル6では、次の画素のXY座標を与える。高機能画像メモリ内部は、ブレンド処理が続いており、また、サイクル5で設定されたZ座標と、読み出されたZ座標を比較し、書き込むかどうかの判定を行っている。
【0061】
サイクル7では、サイクル6で設定したXY座標の画素のブレンド係数と輝度情報を与える。高機能画像メモリ内部では、ブレンド処理が完了し、ブレンド処理された画素情報を読み出してある行バッファに書き込むバッファライト信号がアサートされる。この時、同時にサイクル6で設定されたXY座標XY6がサイクル2で設定されたXY座標XY2と行アドレスが同じかどうか判定する。
【0062】
サイクル8,9,10,11は、それぞれ、サイクル4,5,6,7と同様の処理が行われ、ブレンド処理,隠面消去した画素をXY座標XY6の場所に書き込む。ただし、サイクル11では、XY座標XY10がXY座標XY6と異なる行アドレスであるため、現在バッファリングされている行バッファの内容をメモリセルに書き戻すために、まずWAIT信号をアサートし、次のアクセスが来ないようにする。
【0063】
サイクル12では、メモリライト信号をアサートすることで、行バッファの内容をメモリセルに書き戻す。WAIT信号は、このサイクルまでアサートし、次のアクセスが来ないようにする。
【0064】
サイクル13では、XY座標XY10の行データを行バッファに読み出す処理を行う。WAITは、ここで解除し、次のアクセスを可能にする。
【0065】
サイクル14以降は、順次サイクル4と同様の処理が行われる。ここで、サイクル17に示すように、チップセレクト信号PSがネゲートされると、そのサイクルのアクセスは、無効であるため、ブレンド係数と輝度情報は、サイクル17の値は使用されず、サイクル13で設定したブレンド係数と輝度情報が使用されることになる。また、サイクル20以降もチップセレクト信号PSがネゲートされているため、モード信号MODには、起動の指定はあるが受け付けられず画素の描画は行われない。
【0066】
以上示してきた実施例によれば、画面サイズと,1画素のビット長を設定するレジスタと,XY座標変換部103を持つことにより、画素情報を高機能画像メモリに対して、XY座標で直接書き込むことができ、上位の画素を生成する描画プロセッサの負荷を軽減できる。
【0067】
また、輝度ブレンド処理部104と,比較部105を高機能画像メモリ内に持つことにより、メモリセル101との間のデータスループットを大幅に増大できるため、従来のメモリに対してリード,ライトを行う方式に比べ高速化が図られる。
【0068】
また、シリアルポート制御部110を高機能画像メモリ内に持ち、アクセス待ち信号WAITを出力することにより、上位の描画プロセッサが、表示タイミングを意識せず、また、メモリのリフレッシュサイクルを意識することがないため、負荷を軽減できる。これは、特に上位の描画プロセッサが特殊な表示用の論理回路を持たないCPUである場合に、グラフィックスシステムの構成が簡単になる効果がある。
【0069】
また、ダブルバッファ制御部109を持つことにより、複数の画素情報を高機能画像メモリから出力することがないため、入出力信号線の数を減らす効果がある。
【0070】
【発明の効果】
本発明によれば、上位のプロセッサが画像メモリに対して画素の情報を書き込むだけで、色の混合(ブレンディング),隠面消去等を行うことができるため、画像メモリに対する読み出しアクセスが無くなり、前記プロセッサと画像メモリ間のデータ転送量が減少し、アクセスの高速化と、画像メモリの外部信号線の減少によるコスト削減を図ることができる。
【0071】
また、画像メモリ内にダブルバッファ制御部を設け、ウインドウ情報に従って選択した表示画素情報を出力するようにしたため、表示出力信号線を半分に減らすことができ、コスト削減を図ることができる。
【0072】
また、表示データの読み出し処理,メモリのリフレッシュを画像メモリ自身が行い、上位プロセッサがアクセスできない期間を示す信号を設けたことにより、上位プロセッサから、表示データの読み出し処理と,画像メモリのリフレッシュ処理の回路が不要となるため、上位プロセッサのコスト削減をすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例である高機能画像メモリLSIの内部構造を示すブロック図。
【図2】図1に示す高機能画像メモリLSIを用いた表示システムの概要を示す図。
【図3】従来の画像メモリを用いた3次元の表示装置の構成を示す図。
【図4】高機能画像メモリのモード信号MODの意味を示す図。
【図5】高機能画像メモリ内部のレジスタの内容を示す図。
【図6】図1に示す高機能画像メモリLSIを用いた表示システムの1構成例を示す図。
【図7】表示システムの他の構成例を示す図。
【図8】表示システムの他の構成例を示す図。
【図9】パラレルポートアクセス時のタイムチャートを示す図。
【符号の説明】
100…高機能画像メモリ、101…メモリセル、103…XY座標変換部、104…輝度ブレンド部、105…比較部、106…メモリ制御部、107…モードレジスタ部、108…シリアルバッファ、109…ダブルバッファ制御部、110…シリアルポート制御部、200…CPU、300,310…描画プロセッサ、400…DAC(DAコンバータ)、500…CRT、600…従来の画像メモリ。
[0001]
[Industrial applications]
The present invention relates to a three-dimensional graphic display device that performs hidden surface elimination and color mixing (blending), and particularly relates to a configuration of a high-performance image memory and a configuration of a graphic display device using the same.
[0002]
[Prior art]
A conventional image memory, as disclosed in JP-A-59-131979 and U.S. Pat. No. 427,236, comprises a normal dynamic RAM and a serial buffer, and has a first port for random access. , A second port for reading display data is a memory that can be accessed almost independently,
The performance of random access and readout of display data was significantly improved as compared with the RAM.
[0003]
Conventionally, the configuration of a three-dimensional graphic display device using this image memory includes, as shown in FIG. 3, a pixel generation unit 301 that develops pixel information from information of a straight line or a triangle provided from the CPU 200, and information of a developed pixel. Is converted to an address of the image memory 600, the luminance blending is performed to mix the luminance of the developed pixel with the luminance of the pixel stored in the image memory, and the Z coordinate is compared. WID comparison for controlling erasing and writing windows for each pixel and controlling writing, reading of the image memory when obtaining these, and writing to the image memory according to the obtained address, luminance, Z coordinate, and presence or absence of writing. The memory controller 302 for controlling the memory to be controlled and the serial buffer 602 of the image memory 600 are sent to the RAMDAC. A drawing processor 300 including a serial buffer control unit 303 for generating a signal for controlling display data; a memory cell 601 for holding pixel information including luminance information, Z coordinates, and window information; and a pixel for display. It comprises an image memory 600 comprising a serial buffer 602 holding data.
[0004]
[Problems to be solved by the invention]
In the prior art, when the performance of writing pixel data to the image memory is to be improved, the number of data signal lines between the drawing processor and the image memory has been increased. However, there is a problem that the number of signal lines is limited when the rendering processor and the image memory are realized by an LSI.
[0005]
Also, a plurality of images to be displayed are stored in the memory cells of the image memory, and the image memory to be rewritten and the image memory to be displayed are separately provided, so that the screen can be smoothly switched. When trying to realize a double buffer function of selecting one image for each pixel, it is necessary to output the output of the serial buffer for a plurality of pixels from the image memory. There was a problem of increasing.
[0006]
SUMMARY OF THE INVENTION It is an object of the present invention to provide an image memory LSI capable of rapidly improving pixel data writing performance with a small number of signal lines.
[0007]
Another object of the present invention is to reduce the number of output signal lines of a serial buffer of a pixel memory when a double buffer is realized, thereby reducing costs.
[0008]
[Means for Solving the Problems]
According to the present invention, a memory cell holding luminance information and window information of a pixel is compared with window information of a pixel to be written and window information of a corresponding pixel held in the memory cell. It is characterized in that means for determining whether a pixel to be written is to be written to the memory cell is provided on the same chip.
[0009]
Further, the memory cell holding the luminance information and the depth information of the pixel is compared with the depth information of the pixel to be written and the depth information of the corresponding pixel held in the memory cell, and the writing is performed based on the comparison result. It is characterized in that hidden surface erasing means for determining whether or not a pixel to be written should be written to the memory cell is provided on the same chip.
[0010]
Furthermore, in a memory cell that holds luminance information and window information of a pixel, and a serial buffer that reads a plurality of pixels from the memory cell and sequentially outputs the pixels to the outside, the same coordinate read out from the serial buffer is used. Double buffer control means for selecting and outputting desired luminance information based on the window information read from the serial buffer among the plurality of luminance information is provided on the same chip.
[0011]
Furthermore, the present invention provides a CPU that generates coordinates and brightness of each vertex of a figure or a line segment, a drawing processor that generates pixel information of a pixel inside the figure or a pixel on the line segment, An image display device having an image memory for storing pixel information generated by a drawing processor and a display unit for displaying the information stored in the image memory on a screen holds luminance information and window information as the pixel information. Means for comparing the window information of the memory cell to be written, the window information of the pixel to be written and the window information of the corresponding pixel held in the memory cell, and determining whether or not the pixel to be written should be written to the memory cell Is built in the image memory.
[0012]
[Action]
Pixels generated by the drawing processor are basically based on XY coordinates, Z coordinates, and luminance (RGB), and may be provided with window information, blend information, and the like.
[0013]
According to the present invention, in the image memory LSI, the window information held in the memory cell corresponding to the pixel to be written is read, and the read window information and the window information of the pixel to be written are compared. It is compared, and it is determined whether or not a pixel to be written is to be written to the memory cell based on the comparison result.
[0014]
Further, according to the present invention, in the image memory LSI, the depth information held in the memory cell corresponding to the pixel to be written is read, and the read depth information and the depth information of the pixel to be written are read. Is determined based on the comparison result, and it is determined whether or not a pixel to be written is to be written to the memory cell (a hidden surface process is performed).
[0015]
Therefore, since processing such as pixel reading, comparison, and writing is performed on the image memory side, the amount of information given from the drawing processor to the image memory can be halved. In general, the memory access time between the inside and outside of the LSI is shorter in the inside, so that the processing speed is increased. Further, in the LSI, a large amount of pixel information is read and written from memory cells at once. Therefore, it is possible to perform processing by effectively using many pixels once read out.
[0016]
Further, according to the present invention, in the image memory LSI, desired luminance information is determined based on the window information read from the serial buffer among a plurality of pieces of luminance information on the same coordinates read from the serial buffer. Is selected and output as display data, so that the number of display output lines from the image memory can be reduced to one luminance information.
[0017]
【Example】
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0018]
FIG. 1 is a block diagram showing the internal configuration of the high-performance image memory 100. The high-performance image memory 100 receives a 4-bit mode signal MOD, a read / write signal RW, a clock signal PCLK of a parallel port, and a chip select signal PS, generates a timing signal inside the image memory, and controls the internal state of the image memory. The XY coordinates given by the data signal PIO and the parallel port control unit 102 that outputs a signal WAIT indicating access wait and the XY coordinates given by the data register PIO are stored in the mode register 107 according to the screen size and the bit length of one pixel. An XY coordinate conversion unit 103 for converting to an address, and luminance for mixing (blending) the luminance of a pixel already stored in the memory cell 101 and the luminance with the blend coefficient according to the luminance information and the blend coefficient given by the data signal PIO. Given by blending unit 104 and data signal PIO The hidden depth information (Z coordinate) is compared with the depth information already stored in the memory cell 101 to determine whether or not to perform writing, the window information given by the data signal PIO, A plurality of comparison circuits 105 for performing WID comparison for determining whether to perform writing by comparing the window information stored in the window information 101 with an image memory access request from the parallel port control unit 102, and a serial port control unit A memory control unit 106 that generates a control signal for the memory cell 101 based on a memory read request for display from the memory 110 and a memory refresh request, and a screen size (for example, the maximum value of the X coordinate and the Y coordinate). And a minimum value). A mode is a register that specifies the bit length of one pixel and the form of the memory configuration. A register 107, a serial buffer 108 storing display data read from the memory cell 101, and a plurality of pieces of luminance information on the same coordinates read from the serial buffer are selected according to window information read together from the serial buffer. A double buffer control unit 109 for outputting a timing signal for reading display data into a serial buffer in synchronization with an external vertical synchronization signal VSYNC, and a control signal for sequentially updating data output from the serial buffer are transmitted in serial. And a serial port control unit 110 generated in accordance with the port clock SCLK.
[0019]
FIG. 2 is a diagram showing an outline of a graphic display system using the high-performance image memory 100. A CPU 200 that generates coordinates and luminance of each vertex of a figure (hereinafter, a triangle is described as an example) and a line segment (a line is described as an example). And a high-performance image memory 100 that generates hidden pixels and pixels on the straight line, stores the pixels generated by the drawing processor 300 in an internal memory cell by performing hidden surface elimination, blending of luminance, and the like. It comprises a converter DAC 400 for converting digital display data constantly read from the functional image memory into an analog video signal, and a CRT 500 for generating an image on the display screen from the video signal.
[0020]
Here, the operation of the high-performance image memory will be described with reference to FIGS.
[0021]
First, the CPU 200 executes the application program as described above to generate XYZ coordinates and luminance (RGB) of vertices of a triangle or a straight line. This information is passed to the drawing processor 300, which generates pixel information of pixels inside the triangle and pixel information of pixels on a straight line. The pixel information including the XYZ coordinates, the luminance (RGB), and the like (here, there is a window number of the pixel, a blend coefficient, and an overlay) does not have the access wait signal WAIT asserted in the high-performance image memory 100. When written by the drawing processor.
[0022]
At this time, if the number of signal lines of the data signal PIO of the high-performance image memory 100 is 32 bits, the information amount of one pixel is 90 bits or more (11 bits each for XY coordinates, 24 bits for luminance information, 32 bits for Z coordinates, etc.). Therefore, writing is performed in synchronism with the clock signal PCLK of the parallel port in the order of XY coordinates, luminance, Z coordinates, and the like by the mode signal MOD. When the access wait signal WAIT is negated, when the chip select signal PS and the read / write signal RW are in the write state, and when the mode signal MOD indicates the XY coordinate, The data on the signal PIO is written to the XY coordinate conversion unit 103. Similarly, according to the instruction of the mode signal MOD, the luminance and the blend coefficient are written to the luminance blending unit 104, the Z coordinate and the window information are written to the comparing unit 105, and the screen size, the bit length of one pixel, and the like are written to the mode register unit 107. It is. At this time, the mode signal MOD includes a state in which the pixel writing execution is activated. If the pixel signal is not in the pixel writing execution activation state, as described above, only the given pixel information is taken into the register in the high-performance image memory. Not sure. If the pixel writing execution is in the activated state, the memory control unit 106 determines the following for the memory cell 101 based on the pixel information set up to that point and other information (screen size, bit length of one pixel). Perform the writing as follows.
[0023]
First, the XY coordinate conversion unit 103 converts the given XY coordinates into the address of the memory cell 101. Specifically, it is obtained by multiplying the horizontal width of the screen size, the bit length of one pixel, and the Y coordinate, and adding the X coordinate.
[0024]
Next, the normal dynamic memory has a large buffer for one row inside, and takes in data for one row including a pixel to be accessed. If the stored buffer for one row already contains a pixel to be written from now on, this operation is not performed. This operation is controlled by the memory control unit 106 based on the address information of the memory cell output by the XY coordinate conversion unit 103. Next, the luminance blending unit 104 creates a new luminance and a new blend coefficient calculated based on the luminance information in the buffer for one row and the blend coefficient. The calculation for these is performed by a combination of arithmetic operations such as multiplication, addition and subtraction, maximum and minimum, and logical operations such as AND and EOR, and the combination is set in a register in the luminance blending unit 104 in advance. .
[0025]
Next, the Z coordinate and the window information are taken into the comparing unit 105, and are compared with the Z coordinate and the window information given from the parallel port side. The comparison result is sent to the memory control unit 106. The comparison unit has a register for selecting, for example, writing when the value of Z is large, writing when the value of Z is small, and the like.
[0026]
Next, when there is neither a read request for a memory cell for display nor a refresh request for a memory cell, the memory control unit 106 writes the obtained luminance information, the Z coordinate, and the like into the buffer for one row. When a read request for a memory cell for display, a refresh request for a memory cell, or a request for access to a pixel that is not in the buffer for one row is received, the data stored in the buffer for one row is stored in the memory cell. Written back.
[0027]
By the above processing, the pixel information given from the parallel port is stored in the memory cell 101 after the hidden surface elimination and the brightness blending processing are performed.
[0028]
Next, output of display data and control of memory refresh will be described.
[0029]
First, a basic clock signal depending on the display device is always supplied to the clock SCLK of the serial port. In synchronization with this, when the vertical synchronization signal VSYNC is asserted, the display counter inside the serial port control unit 110 is initialized, and the display counter is sequentially updated in synchronization with SCLK. By decoding the value of the display counter, a request signal for transferring data to be displayed from the memory cell to the serial buffer is transmitted to the memory control unit 106. Also, the dynamic RAM needs to refresh all memory contents in 10 ms, and sends a refresh request signal to the memory control unit 106 to satisfy this. Specifically, by referring to the register indicating the screen size and the bit length of one pixel in the mode register 107, a necessary minimum refresh request signal is output according to the value counted by the clock signal SCLK. Usually, the display counter can be used.
[0030]
When the memory control unit 106 receives the display data read request signal and the refresh request signal, the access request to the memory cell from the parallel port is promptly completed, and the request is received in the order of the refresh request and the display data read request. In the former case, the memory cell is read out using the value of the refresh counter in the memory control unit 106 as a refresh address and immediately rewritten, and in the latter case, the display address sent from the serial port control unit 110 is read out, and the serial buffer 108 is read out. To be stored.
[0031]
Next, the display data stored in the serial buffer 108 has a plurality of pieces of luminance information per pixel, window information, and overlay information, and the double buffer control unit 109 selects the luminance information according to the window information. Output to data signal SIO. Specifically, the selection is made by referring to a double buffer selection register in the double buffer control unit 109, which indicates which window selects which luminance information.
[0032]
FIG. 4 is a table showing the meaning of the mode signal MOD of the high-performance image memory. The mode signal MOD is a 4-bit signal line that indicates what data is to be set in the data signal PIO of the parallel port and what data is to be read, as shown in FIG. Has meaning. That is, when the lower 3 bits are 0, 1, 2, and 3, the XY coordinates, luminance information (blend coefficient, RGB), other pixel information (window information, overlay information), and depth information (Z coordinate) are set. . When the most significant bit is 1, it indicates that the memory cell is actually accessed after setting the information of the set pixel. In addition, when the MOD is “0111”, the address of the internal register is specified. When the MOD is “1111”, the data to be written to or read from the register specified by the address of the internal register is specified.
[0033]
Otherwise, it is undefined.
[0034]
Next, FIG. 5 is a table showing the contents of the internal registers. The RESET register is an insubstantial register for initializing the internal state of the high-performance image memory, and when accessed, sets the contents of the internal register to a default value. At this time, the contents of the memory cell do not change.
[0035]
The CONFIG register sets the screen size, the bit length of one pixel, and the number of memories in the X and Y directions. Specifically, the screen size can be selected from 640 × 400 pixels, 1024 × 768 pixels, 1152 × 900 pixels, 1280 × 1024 pixels, 1600 × 1200 pixels, and 1920 × 1035 pixels in 3 bits. Further, the bit length of one pixel is 3 bits, and one pixel of 8, 16, 32, 64, 96, or 128 can be selected. The number of memories in the X and Y directions can be selected from one, two, four and eight with two bits each for X and Y.
[0036]
The STATUS register is a read-only register and is used to read an internal state. The internal state includes the contents of the display counter and refresh counter, the transition state of the internal control logic, and the like, and is mainly used for debugging and maintenance.
[0037]
The WT_FUNC register holds, to the set luminance information, luminance information after performing a blending process and information for selecting the calculation content when calculating the write destination luminance information. Logical product, exclusive OR, addition, subtraction, maximum, minimum, etc. are specified by 5 bits.
[0038]
The BLEND register is a 6-bit register that specifies how to calculate the set luminance information with the blend coefficient. The BLEND register determines which of the 0, 1, and the blend coefficient (1-blend coefficient) is to be multiplied with the luminance information. (The luminance information set from the parallel port and the luminance information of the already stored pixels can be set respectively, and the blend coefficient can be selected from the above two types of luminance information, so that a total of 6 bits are required. ).
[0039]
Z_CMP is a bit for designating whether or not to perform a comparison with the Z coordinate, and 3 bits for selecting what kind of comparison operation is to be performed, for example, =, ≠, ≦, ≧,>, <. Bit register.
[0040]
WID_CMP is a 1-bit register indicating whether to compare window information.
[0041]
PL_MASK_AC, PL_MASK_WO, and PL_MASK_Z are registers each indicating a blend plane, luminance information, window information, overlay information, and a write plane mask for a buffer of the Z coordinate. It is possible to set each time.
[0042]
BUF_SEL is a register that indicates which side of the double buffer the pixel that is going to write or read is currently selected. When the value of this register is 0, the buffer is 0; 1 is written to the buffer.
[0043]
HBLANK indicates a horizontal blanking period, and is a register for designating how many times SCLK has started to start outputting display data from SIO based on the falling cycle of VSYNC.
[0044]
VBLANK indicates a vertical blanking period, and is a register for specifying how many rasters later the display period starts from the falling edge of the VSYNC signal. One raster is the horizontal width of the screen size and the horizontal width set in the HBLANK register. Indicates the period including the blanking period.
[0045]
Next, the BUF_LUT register indicates the correspondence between the window information and the buffer to be displayed. When the window information is 4 bits, it is a 16-bit register.
[0046]
Among the above-mentioned registers, the RESET register has its internal state initialized at the same time as the writing, and the other registers have the most significant bit of the mode signal MOD of 1 and have an access request and the vertical synchronization signal VSYNC. Influences the operation from the moment it comes. In other words, these registers have a two-stage configuration. The first stage is a register that can be freely set from the parallel port, and the second stage is a register used for a process currently in operation. The transfer from the first stage to the second stage is performed when the access request is received and when the vertical synchronization signal VSYNC is received.
[0047]
The outline and operation of the high-performance image memory have been described above. Next, a method of applying the present invention to some graphics systems will be described with reference to FIGS.
[0048]
First, FIG. 6 shows a system configuration using a plurality of drawing processors 310 and a plurality of high-performance image memories 100 for realizing high performance. The rendering processor 310 performs processing of decomposing one rendering command, for example, a straight line or a triangle into pixels, and writing the same into the high-performance image memory 100. Four high-performance image memories 100 are connected to one drawing processor 310 in a one-to-one relationship, and the four high-performance image memories can be accessed independently.
[0049]
One of the drawing processors supplies a vertical synchronization signal to the other drawing processors and all the high-performance image memories. For the RAMDAC, a vertical synchronization signal for the RAMDAC and a horizontal synchronization signal are supplied. To supply. In this configuration, the register indicating the memory configuration of the CONFIG register in each high-performance image memory is designated as having four pixels and four rasters in both X and Y directions. By reading display data from memory cells only when necessary, access from the parallel port can be maximized.
[0050]
Next, FIG. 7 shows a configuration of a graphics system which has high resolution but emphasizes cost. The rendering processor is one in which a plurality of high-performance image memories are connected on the same bus. To access the parallel port of the high-performance image memory, a chip select signal PS is individually given from the rendering processor. It is done by doing. The access wait signal WAIT selects and uses a WAIT output from the high-performance image memory to be accessed. Signals other than the chip select signal PS and the access wait signal WAIT can be commonly connected. Vertical sync signal
The connection of VSYNC is supplied by the rendering processor to all the high-performance image memories, and the horizontal and vertical synchronization signals for the RAMDAC are also supplied by the rendering processor.
[0051]
Next, FIG. 8 shows a configuration of a graphics system with a minimum cost. The bus controller 700 is configured to decode a system bus connecting the CPU and the graphic system and to access a high-performance image memory.
The access address from the CPU is decoded, the mode signal MOD and the chip select signal PS are set, and the access to the high-performance image memory is performed while synchronizing with the access wait signal WAIT. In addition, processing for supplying a vertical synchronizing signal to the high-performance image memory and horizontal and vertical synchronizing signals to the RAMDAC is also performed.
[0052]
Finally, FIG. 9 shows a time chart when the parallel port is accessed.
[0053]
From the top of the figure, a cycle number for explanation corresponding to the clock, PCLK, PIO, MOD, RW, WAIT, and PS, which are interface signals of the parallel port, and read addresses and read, which are internal states of the high-performance image memory. It shows data, a write address, write data, a write control signal to an internal buffer, and a write control signal to a memory cell of the internal buffer.
[0054]
In cycle 1, the high-performance image memory is in an idle state and is waiting for an access request.
[0055]
In cycle 2, when MOD is set to XY coordinates, RW is written, chip select PS is selected, and XY coordinate data is set to the data bus PIO, the XY coordinates are stored in the read address register in the high-performance image memory.
[0056]
In the cycle 3, by setting the blend coefficient and luminance information (RGB) described as AC in the drawing after the XY coordinates, the blend coefficient in the high-performance image memory and the luminance buffer are stored. At the same time, the XY coordinates set in the cycle 2 are converted into the row address and the column address of the memory cell, and it is determined whether or not the row address is the same as the address of the currently read data. The currently read data is written back to the original address, and an operation of newly reading data at the specified address is performed. If the row address is the same as the address of the read data, one pixel data is selected and used according to the column address.
[0057]
In cycle 3 in FIG. 9, it is assumed that the XY coordinates (XY2) have already been read into the buffer in the high-performance image memory.
[0058]
In cycle 4, window information indicated by WO in the figure and overlay information are set. On the other hand, the data read in cycle 3 and the blend coefficient and luminance information set in cycle 3 are also effective from this cycle, and the blending process is started. In the blending process, the time until the result is completed varies depending on the blending method set in the BLEND register. Therefore, a counter for counting the number of cycles depending on the blending method is provided, and the counter is reset when the blend coefficient and the luminance information are set and when the read data becomes valid.
[0059]
In cycle 5, depth information Z indicated by ZE in the figure is set, and writing is started. To start the writing, an internal writing flag is set by designating that the pixel information set up to that point is to be hidden surface erased and blended and written to the memory cell.
[0060]
In cycle 6, the XY coordinates of the next pixel are given. In the high-performance image memory, the blending process is continued, and the Z coordinate set in cycle 5 is compared with the read Z coordinate to determine whether to write.
[0061]
In cycle 7, the blend coefficient and luminance information of the pixel of the XY coordinates set in cycle 6 are given. In the high-performance image memory, the blending process is completed, and a buffer write signal for reading the blended pixel information and writing it to a row buffer is asserted. At this time, it is determined whether or not the XY coordinate XY6 set in cycle 6 has the same row address as the XY coordinate XY2 set in cycle 2.
[0062]
In cycles 8, 9, 10, and 11, the same processing as in cycles 4, 5, 6, and 7, respectively, is performed, and the pixels subjected to blend processing and hidden surface erasure are written at the XY coordinates XY6. However, in the cycle 11, since the XY coordinate XY10 has a different row address from the XY coordinate XY6, in order to write back the contents of the currently buffered row buffer to the memory cell, the WAIT signal is first asserted, and the next access is performed. Do not come.
[0063]
In cycle 12, the contents of the row buffer are written back to the memory cells by asserting the memory write signal. The WAIT signal is asserted until this cycle to prevent the next access.
[0064]
In cycle 13, a process of reading the row data of the XY coordinates XY10 into the row buffer is performed. The WAIT is released here, and the next access is made possible.
[0065]
After cycle 14, the same processing as in cycle 4 is sequentially performed. Here, as shown in cycle 17, when the chip select signal PS is negated, the access in that cycle is invalid, so that the value of cycle 17 is not used for the blend coefficient and the luminance information. The set blend coefficient and luminance information are used. In addition, since the chip select signal PS is negated also in the cycle 20 and thereafter, the mode signal MOD specifies start-up, but is not accepted, and no pixel is drawn.
[0066]
According to the embodiment described above, the register for setting the screen size and the bit length of one pixel and the XY coordinate conversion unit 103 enable the pixel information to be directly transferred to the high-performance image memory in the XY coordinates. Writing can be performed, and the load on the drawing processor that generates the upper pixel can be reduced.
[0067]
In addition, since the brightness blend processing unit 104 and the comparison unit 105 are provided in the high-performance image memory, the data throughput between the memory cell 101 and the memory can be greatly increased. Higher speed is achieved compared to the system.
[0068]
Also, by having the serial port control unit 110 in the high-performance image memory and outputting the access wait signal WAIT, the upper-level drawing processor can be conscious of the display timing and conscious of the refresh cycle of the memory. No load can be reduced. This has the effect of simplifying the configuration of the graphics system, especially when the higher-level drawing processor is a CPU having no special display logic circuit.
[0069]
In addition, the presence of the double buffer control unit 109 does not output a plurality of pieces of pixel information from the high-performance image memory, and thus has the effect of reducing the number of input / output signal lines.
[0070]
【The invention's effect】
According to the present invention, color mixing (blending), hidden surface erasure, and the like can be performed only by writing the pixel information to the image memory by the host processor, so that there is no read access to the image memory. The amount of data transferred between the processor and the image memory is reduced, so that access can be speeded up and cost can be reduced by reducing the number of external signal lines of the image memory.
[0071]
Further, a double buffer control unit is provided in the image memory to output the display pixel information selected according to the window information, so that the number of display output signal lines can be reduced by half, and the cost can be reduced.
[0072]
The image memory itself performs the display data readout process and the memory refresh, and a signal indicating a period during which the host processor cannot access is provided, so that the display data readout process and the image memory refresh process can be performed by the host processor. Since no circuit is required, the cost of the host processor can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the internal structure of a high-performance image memory LSI according to one embodiment of the present invention.
FIG. 2 is a diagram showing an outline of a display system using the high-performance image memory LSI shown in FIG.
FIG. 3 is a diagram showing a configuration of a conventional three-dimensional display device using an image memory.
FIG. 4 is a view showing the meaning of a mode signal MOD of the high-performance image memory.
FIG. 5 is a diagram showing contents of a register in the high-performance image memory.
6 is a diagram showing one configuration example of a display system using the high-performance image memory LSI shown in FIG.
FIG. 7 is a diagram showing another configuration example of the display system.
FIG. 8 is a diagram showing another configuration example of the display system.
FIG. 9 is a diagram showing a time chart at the time of parallel port access.
[Explanation of symbols]
100 high-performance image memory, 101 memory cell, 103 XY coordinate conversion unit, 104 brightness blending unit, 105 comparison unit, 106 memory control unit, 107 mode register unit, 108 serial buffer, 109 double Buffer control unit, 110: serial port control unit, 200: CPU, 300, 310: drawing processor, 400: DAC (DA converter), 500: CRT, 600: conventional image memory.

Claims (2)

画素の輝度情報及びウインドウ情報を保持するメモリセルと、
前記メモリセルから複数の画素を読み出し、順次外部へ出力するシリアルバッファと、
前記シリアルバッファから読み出された同一座標上の複数の輝度情報のうち、前記シリアルバッファから読み出されたウインドウ情報に基づいて、所望の輝度情報を選択し出力するダブルバッファコントローラとを有し、
前記メモリセルと、前記シリアルバッファと、前記ダブルバッファコントローラとが同一チップ上に設けられた画像メモリLSI。
A memory cell for holding pixel luminance information and window information;
A serial buffer for reading a plurality of pixels from the memory cell and sequentially outputting the read data to the outside;
Among a plurality of pieces of luminance information on the same coordinates read from the serial buffer, based on the window information read from the serial buffer, a double buffer controller that selects and outputs desired luminance information,
An image memory LSI in which the memory cell, the serial buffer, and the double buffer controller are provided on the same chip.
図形又は線分の各頂点の座標及び輝度情報を生成するCPUと、
前記図形内部の画素の画素情報又は前記線分上の画素の画素情報を生成する描画プロセッサと、
前記描画プロセッサから生成された画素情報を記憶する画像メモリと、
前記画像メモリに記憶された情報を画面上に表示する表示部とを有し、
前記画像メモリは、前記画素情報である輝度情報及びウインドウ情報を保持するメモリセルと、前記メモリセルから複数の画素を読み出し、順次外部へ出力するシリアルバッファと、前記シリアルバッファから読み出された同一座標上の複数の輝度情報のうち、前記シリアルバッファから読み出されたウインドウ情報に基づいて、所望の輝度情報を選択し出力するダブルバッファコントローラとを有する画像表示装置。
A CPU for generating coordinates and luminance information of each vertex of the figure or the line segment;
A drawing processor that generates pixel information of pixels inside the figure or pixel information of pixels on the line segment,
An image memory for storing pixel information generated from the drawing processor;
A display unit for displaying information stored in the image memory on a screen,
The image memory includes a memory cell that holds the luminance information and the window information that are the pixel information, a serial buffer that reads a plurality of pixels from the memory cell, and sequentially outputs the read pixels to the outside, and an identical memory read from the serial buffer. An image display device comprising: a double buffer controller that selects and outputs desired luminance information based on window information read from the serial buffer among a plurality of pieces of luminance information on coordinates.
JP2001005899A 2001-01-15 2001-01-15 Image memory LSI and image display device using the same Expired - Lifetime JP3603792B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001005899A JP3603792B2 (en) 2001-01-15 2001-01-15 Image memory LSI and image display device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001005899A JP3603792B2 (en) 2001-01-15 2001-01-15 Image memory LSI and image display device using the same

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP08432894A Division JP3240821B2 (en) 1994-04-22 1994-04-22 High-performance image memory LSI and display device using the same

Publications (2)

Publication Number Publication Date
JP2001242847A JP2001242847A (en) 2001-09-07
JP3603792B2 true JP3603792B2 (en) 2004-12-22

Family

ID=18873870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001005899A Expired - Lifetime JP3603792B2 (en) 2001-01-15 2001-01-15 Image memory LSI and image display device using the same

Country Status (1)

Country Link
JP (1) JP3603792B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117935707A (en) * 2022-10-25 2024-04-26 华为技术有限公司 Driving chip and electronic equipment

Also Published As

Publication number Publication date
JP2001242847A (en) 2001-09-07

Similar Documents

Publication Publication Date Title
JP3240821B2 (en) High-performance image memory LSI and display device using the same
US7262776B1 (en) Incremental updating of animated displays using copy-on-write semantics
KR100221028B1 (en) Graphic accelerator and memory-prefetching method of it
US5995120A (en) Graphics system including a virtual frame buffer which stores video/pixel data in a plurality of memory areas
JP4234217B2 (en) System, apparatus and method for embedding transparent enable bits as part of resizing bit block transfer processing
US5990912A (en) Virtual address access to tiled surfaces
US6275234B1 (en) Display control system and method for controlling display of three-dimensional graphics data
JP3350043B2 (en) Graphic processing apparatus and graphic processing method
EP0359234B1 (en) Display control apparatus for converting CRT resolution into PDP resolution by hardware
US6864892B2 (en) Graphics data synchronization with multiple data paths in a graphics accelerator
US20030160790A1 (en) End point value correction when transversing an edge using a quantized slope value
JP3603792B2 (en) Image memory LSI and image display device using the same
US6963342B2 (en) Arbitration scheme for efficient parallel processing
JP2003006665A (en) Image processing system and car navigation system
JP3017882B2 (en) Display control system
US20060092163A1 (en) Rendering images on a video graphics adapter
JPH1069548A (en) Computer graphics system
US6895458B2 (en) Opcode to turn around a bi-directional bus
JP4191212B2 (en) Image display system
JPH07234773A (en) Display controller
JP2002341855A (en) Anti-alias font generator
US6831645B2 (en) System and method for performing font operations when background color is transparent
JPH10161636A (en) Graphics display device
JP2966182B2 (en) Computer system
JP2829051B2 (en) Character display method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040514

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040920

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

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121008

Year of fee payment: 8