JP3595497B2 - 図形処理装置及び図形処理方法 - Google Patents
図形処理装置及び図形処理方法 Download PDFInfo
- Publication number
- JP3595497B2 JP3595497B2 JP2000257654A JP2000257654A JP3595497B2 JP 3595497 B2 JP3595497 B2 JP 3595497B2 JP 2000257654 A JP2000257654 A JP 2000257654A JP 2000257654 A JP2000257654 A JP 2000257654A JP 3595497 B2 JP3595497 B2 JP 3595497B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- sprite
- address
- graphic
- character arrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は図形処理装置及び図形処理方法に関し、特に表示図形を登録する際のメモリ容量を効率良く用いることにより、より多くの図形データを登録することが可能な図形処理装置及び図形処理方法に関する。
【0002】
【従来の技術】
最近図形処理装置は、画面上の図形表示の複雑化・高度化に対応すると共に、図形の処理速度の向上が一層求められてきている。従来の図形処理装置を、図19〜図25を参照して説明する。
【0003】
図19は従来の図形処理装置を示すブロック図であり、図20は図19の画像メモリアドレス演算部196の詳細ブロック図である。
【0004】
図19の図形処理装置は、図形処理装置全体の制御を行うCPU198と、CPU198から発行される命令により図形の描画処理を行う図形処理部1900と、図形処理部1900を構成する画像メモリアドレス演算部196から出力される図形データROMアドレスに対応してキャラクタデータを出力する図形データROM199と、液晶表示装置またはCRT等の表示装置1910とを有している。
【0005】
また図形処理部1900は、CPU198の命令をデコードし図形処理部1900を構成する各回路ブロックを制御する図形制御部191と、画面表示領域内の図形の位置を定めるX,Y座標値、図形の大きさ、参照する図形データROM199のアドレス情報である図形データROMアドレスなどのパラメータが格納されているパラメータRAM部192と、図形が画面表示領域にあるか否かを判定し当たり情報とパラメータRAM部192に格納された図形データROMアドレスを出力する当たり判定部193とを有している。
【0006】
さらに図形処理部1900は、当たり情報を参照して、画面表示領域にある図形の図形情報を出力するカウンタ制御部194と、この図形情報を格納する表示図形バッファメモリ195と、図20に示すように図形制御部191からの制御情報とパラメータRAM部192から出力されるスプライト番号、(スプライトXサイズNsx−1)、走査線値、Y原点座標値とを入力し、描画終了信号と図形データROM上位アドレス、図形データROM下位アドレスを生成する画像メモリアドレス演算部196と、図形データROM199から取り出されたキャラクタデータに対してテクスチャなどの修飾処理を行う画像データ修飾演算部197とを有する。
【0007】
次に図19に示す従来の図形処理装置の動作について説明する。
【0008】
図形制御部191は、CPU198からの命令をデコードしパラメータRAM部192に対して図形のパラメータ設定を行う。パラメータRAM192の構成は図21に示すように、パラメータRAM192の各アドレスに対して、X原点座標値、Y原点座標値、スプライトXサイズNsx、スプライトYサイズNsy、図形データROMアドレスの各情報を含んで構成される。
【0009】
図22に一例を示すように、画面表示領域221に2つの表示図形222,223が存在した場合、画面表示領域221の左上隅を画面表示領域221の原点(0,0)とし、表示図形222,223の左上隅のX座標値、Y座標値(Xm,Ym)および(Xn,Yn)がそれぞれ表示図形222,223のX原点座標値、Y原点座標値として定義される。
【0010】
また表示図形222,223のX方向、Y方向の長さが、ピクセル単位で、表示図形222,223の各スプライトXサイズNsxおよびスプライトYサイズNsyとして定義される。
【0011】
次に当たり判定部193は、図形制御部191から出力される制御情報によりパラメータRAM部192に格納された図形パラメータを参照し、パラメータRAM部192に格納された図形が図22に示す画面表示領域221に存在するか否か、すなわちこの図形を表示するか否かを判定し、画面表示領域に表示される図形に対し活性化される当たり情報をカウンタ制御部194に出力する。
【0012】
カウンタ制御部194は当たり判定部193から出力される当たり情報を参照し、当たり情報が活性化されると、この当たり情報に対応するスプライト番号を表示図形バッファメモリ195に格納する。
【0013】
次に画像メモリアドレス演算部196は、制御情報を受けて、表示図形バッファメモリ195に格納されたスプライト番号に対応する図形パラメータをパラメータRAM部192から読み出し、表示図形を構成するキャラクタデータが格納されている図形データROM199からキャラクタデータを読み出すための図形データROMアドレスを算出し、図形データROM199にこの図形データROMアドレスを出力する。
【0014】
次に画像データ修飾演算部197は、制御情報を受けて図形データROM199から表示するキャラクタデータを入力し、テクスチャ、拡大/縮小、アルファブレンディングなどの半透明処理などの画像データ修飾処理を行い、画像信号を画面に表示するための表示装置1910に出力する。
【0015】
最近図形処理装置に対して様々な機能が要求されてきており、そのような機能の一つとしてアニメーション表示機能がある。
【0016】
次に上記に説明した従来の図形処理装置を用いて、複数のスプライトと呼ばれる図形を合成して生成したアニメーション図形を連続的に表示しアニメーション表示を行う場合について説明する。
【0017】
スプライトの一例を図24を参照して説明すると、図24(a)が三角形の不透明データを有するスプライトSP1であり、図24(b)がスプライトSP1の一部を抽出して生成したスプライトSP2を、図24(c)が矩形状の塗りつぶしデータを有するスプライトSP3を表す。
【0018】
また、図24(d)がスプライトSP2を手前側に、スプライトSP3を奥側にして、スプライトSP2を不透明として、スプライトSP2とスプライトSP3とを合成した場合のスプライトSP4を表す。
【0019】
スプライトSP1〜SP4は、キャラクタと称する8ピクセル×8ピクセルまたは16ピクセル×16ピクセルの図形データROM199に格納されている単位図形から構成される。
【0020】
またキャラクタは、図23(a)に示すように連続したアドレス順に、図形データROM199に格納されており、これらのキャラクタからスプライトを構成する際は、図23(b)に示すように、キャラクタを連続して水平(X)方向に順に配列する方法と、図23(c)に示すように、キャラクタを連続して垂直(Y)方向に順に配列する方法とがある。
【0021】
ここでCH1〜CH16は、キャラクタ番号を表す。図23(b)と図23(c)とでは、キャラクタCH1〜CH16の画像データは共通であり、キャラクタCH1〜CH16の配列が異なることにより、図23(b)と図23(c)とでは表示される画像データは異なってくる。
【0022】
また図23(b),(c)でキャラクタXサイズXc、キャラクタYサイズYcは、ピクセル単位でキャラクタのX方向およびY方向の大きさを表し、XCH,YCHはキャラクタの水平方向および垂直方向の位置を表すパラメータである。例えば、図23(b)でXCH=1,YCH=2はキャラクタCH10を表す。
【0023】
さらにXCH,YCHの最大値にそれぞれ1を加えたスプライトXサイズNsxおよびスプライトYサイズNsyは、スプライトを構成する水平方向および垂直方向のキャラクタ数、すなわちスプライトサイズを表す。
【0024】
上記に説明したようにスプライトは、図形データROM199に格納されたキャラクタを水平方向および垂直方向に配列することにより構成されており、図21に示す図形データROMアドレスAd(ROM)を参照して、図形データROM199からキャラクタデータを読み出すことで表示される。
【0025】
次に図24に示すスプライトSP1,SP3,SP4を用いてアニメーションを生成した一例について、図25を参照して説明する。
【0026】
図25(a),(b),(c)に示すように251〜253はアニメーション図形であり、SP1,SP4,SP3はアニメーション図形251〜253を構成するスプライトである。このアニメーション図形251〜253が画面表示領域に連続的に表示されてアニメーションが生成される。
【0027】
またスプライトSP1のキャラクタの配列を図25(a)’、スプライトSP3のキャラクタの配列を図25(c)’とすると、スプライトSP4のキャラクタの配列は図25(b)’のようになる。
【0028】
次に従来の画像処理装置を構成する画像メモリアドレス演算部196について、図20を参照して説明する。
【0029】
従来の画像メモリアドレス演算部196は、キャラクタカウント部201、減算回路202、アドレス分離部203,加算回路204,206、乗算回路205とから構成される。
【0030】
次に上記の回路動作について説明するが、キャラクタの配列としては図23(b)に示した水平(X)方向とし、左方向から右方向に向かって、すなわちX方向の正の向きに描画処理が進むとして説明する。
【0031】
減算回路202は、表示画面領域の走査線番号に対応する査線値からスプライトの左上隅のY座標であるY原点座標値を減算した値をアドレス分離部203に出力する。
【0032】
アドレス分離部203は、スプライトを構成するキャラクタが最も上(Y軸に最も近い)にあるキャラクタから数えて、何番目のキャラクタであるかを示すY方向キャラクタ番地YCHと、走査線がこのキャラクタを構成する最上位の走査線からY方向の正の向きに何番目かを示す図形データROM下位アドレスを算出する。
【0033】
一方キャラクタカウント部201は、制御情報に同期してカウント動作を行い、キャラクタのX方向の配列番号であるキャラクタカウント値を出力する。
【0034】
加算回路206は、スプライトXサイズNsxとY方向キャラクタ番地YCHの積と、スプライト固有の番号であるスプライト番号と、キャラクタカウント値とを加算し、図形データROM199に対する上位のアドレスを示す図形データROM上位アドレスを生成する。ここで、図形データROM上位アドレスと、先に説明した図形データROM下位アドレスにより、図形データROM199に対する全アドレスを構成する。
【0035】
キャラクタカウント部201は、図20(b)に示すように、キャラクタカウント値を0からスプライトを構成するX方向の最後のキャラクタまで順にインクリメントし、最後にスプライトを構成する全てのキャラクタの描画が終了したことを示す描画終了信号を出力する。
【0036】
一つのスプライトについての上記の動作が終了すると、次のスプライトについても同様な処理を行い、画面表示領域内の全てのスプライトについて同様な処理を繰り返すことで、スプライトから構成された全画像データの表示を実行する。
【0037】
【発明が解決しようとする課題】
上述した従来の図形処理装置は、図25(b)に示すスプライトSP3に着目すると、キャラクタ配列が水平(X)方向に限定されているため、2列目と3列目のキャラクタ番号が不連続となってしまう。
【0038】
このためパラメータRAM部192には、4つの図形すなわち、キャラクタCH2,CH3と、キャラクタCH6,CH7と、キャラクタCH10,CH11と、キャラクタCH14,CH15とをそれぞれ独立して格納しなければならない。
【0039】
このため、パラメータRAM部192のメモリ使用効率が低下し、パラメータRAM部192に格納可能な図形が減少し、より多くの図形を用いた多彩な表示を行うことが困難となる。
【0040】
逆にパラメータRAM部192のメモリ容量を増やして必要とする全ての図形を格納しようとすれば、図形処理装置のコストが高くなるという問題がある。
【0041】
さらにパラメータRAM部192に格納する図形が増加すると、図19のCPU198から図形制御部191を介して制御する図形が増えるので、処理時間が増加し、図形処理装置全体の処理速度が低下するという欠点がある。
【0042】
このため本発明の目的は、従来のパラメータRAM部に対し、キャラクタ配列に関する情報であるキャラクタ配列情報を追加し、パラメータRAM部においてキャラクタ配列情報により最適なキャラクタ配列を設定することで、パラメータRAM部のメモリ使用効率が向上した図形処理装置及び図形処理方法を提供することである。
【0043】
また本発明の目的は、パラメータRAM部における水平(X)方向のキャラクタ配列と、垂直(Y)方向のキャラクタ配列とが混在していても、共通の画像メモリアドレス演算部により、図形データROMからキャラクタデータを読み出すためのアドレスを生成することが可能な図形処理装置及び図形処理方法を提供することである。
【0044】
さらに本発明の目的は、パラメータRAM部のキャラクタ配列を水平方向、垂直方向および水平方向と垂直方向を混在させる方法だけでなく、斜め方向あるいは配列方向を関数により定義し、パラメータRAM部のメモリ容量を大幅に増やすことなく、多様なアニメーションを表示することが可能な図形処理装置及び図形処理方法を提供することである。
【0045】
【課題を解決するための手段】
そのため本発明による図形処理装置は、画面表示領域に、複数のピクセルデータからなるキャラクタがX方向およびY方向にマトリクス状に配列されたスプライトを表示する図形処理装置であって、前記キャラクタの配列方向に関する情報であるキャラクタ配列情報を含み、前記スプライトの図形情報であるスプライト図形情報を格納するパラメータRAM部と、前記キャラクタの画像データであるキャラクタデータを格納する図形データROMと、前記図形情報および前記キャラクタ配列情報を参照して、前記キャラクタデータを前記配列方向の順に読み出すための前記図形データROMに対するアドレス情報である図形データROMアドレスを生成する画像メモリアドレス演算部と、前記キャラクタデータを入力し、表示装置に表示させるための画像信号を生成する画像データ修飾演算部と、を備えている。
【0046】
また本発明による図形処理方法は、画面表示領域に、複数のピクセルデータからなるキャラクタがX方向およびY方向にマトリクス状に配列されたスプライトを表示する図形処理方法であって、前記スプライトを構成する前記キャラクタの走査線方向であるX方向の順番を表すキャラクタカウント値を順次インクリメントする第1のステップと、前記画面表示領域のX方向に走査する走査線のY方向の番号を示す走査線値から前記Y原点座標値を減算し、前記キャラクタ内における走査線値であるキャラクタ内走査線値を算出する第2のステップと、前記キャラクタ内走査線値を、前記キャラクタを構成する前記ピクセルデータのY方向の配列数で除算し、商であるY方向への前記キャラクタのキャラクタ順番を表すY方向キャラクタ番地と、前記キャラクタの画像データであるキャラクタデータを格納する図形データROMのアドレス情報のうちの下位アドレスである図形データROMアドレス下位アドレスとを出力する第3のステップと、前記スプライトに対応する前記キャラクタの配列情報を判定する第4のステップと、前記キャラクタの配列情報がX方向であると判定された場合は、前記スプライトのX方向のサイズであるスプライトXサイズと前記Y方向キャラクタ番地とを乗算し、乗算結果と前記キャラクタカウント値とを加算する第5のステップと、前記キャラクタの配列情報がY方向であると判定された場合は、前記スプライトのY方向のサイズであるスプライトYサイズと前記キャラクタカウント値とを乗算し、乗算結果と前記Y方向キャラクタ番地とを加算する第6のステップと、前記第5のステップ又は前記第6のステップで算出された各乗算結果を参照して、前記図形データROMアドレスの上位アドレスである図形データROMアドレス上位アドレスを算出する第7のステップと、を備えている。
【0047】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
【0048】
図1は本発明の図形処理装置を示すブロック図であり、図2は図1の画像メモリアドレス演算部6の詳細ブロック図である。
【0049】
図1の図形処理装置は、図形処理装置全体の制御を行うCPU8と、CPU8から発行される命令により図形の描画処理を行う図形処理部100と、図形処理部100を構成する画像メモリアドレス演算部6から出力される図形データROMアドレスに対応してキャラクタデータを出力する図形データROM9と、液晶表示装置またはCRT等の表示装置10とを有している。
【0050】
また図形処理部100は、CPU8の命令をデコードし図形処理部100を構成する各回路ブロックを制御する図形制御部1と、画面表示領域内の図形の位置を定めるX,Y座標値、図形の大きさ、参照する図形データROM9のアドレス情報である図形データROMアドレス、スプライトを構成するキャラクタの配列情報であるキャラクタ配列情報などのパラメータが格納されているパラメータRAM部2と、図形が画面表示領域にあるか否かを判定し当たり情報とパラメータRAM部2に格納された図形データROMアドレスを出力する当たり判定部3とを有している。
【0051】
さらに図形処理部100は、一つの画面表示領域に表示する全スプライトの数を格納する表示スプライト数格納部11と、活性化された当たり情報を参照して表示するスプライトの数をカウントアップするスプライト個数算出部12と、当たり情報を参照して、画面表示領域にあるスプライトの図形情報を出力するカウンタ制御部4と、この図形情報を格納する表示図形バッファメモリ5と、図2に示すように図形制御部1からのキャラクタカウント部制御信号とパラメータRAM部2から出力されるスプライト番号、Y原点座標値、(スプライトXサイズNsx−1)、(スプライトYサイズNsy−1)、キャラクタ配列情報Arrなどを入力し、描画終了信号と図形データROM上位アドレスおよび図形データROM下位アドレスを生成する画像メモリアドレス演算部6と、図形データROM9から取り出されたキャラクタデータに対してテクスチャなどの修飾処理を行う画像データ修飾演算部7とを有する。
【0052】
次に図1に示す本発明の図形処理装置の動作について説明する。
【0053】
図形制御部1は、CPU8からの命令をデコードしパラメータRAM2に対して図形のパラメータ設定を行う。
【0054】
パラメータRAM2の構成は図3に示すように、画面表示領域の各スプライトに対応した各アドレスに対して、図22に示すように、スプライトの基準原点(左上隅とする)のX座標値であるX原点座標値Px、スプライトの基準原点のY座標値であるY原点座標値Py、キャラクタ単位で算出したスプライトのX方向の大きさであるスプライトXサイズNsx、キャラクタ単位で算出したスプライトのY方向の大きさであるスプライトYサイズNsy、図形データROM9からキャラクタを読み出すときに用いる図形データROMアドレスAd(ROM)、キャラクタの配列方向を定めるキャラクタ配列情報Arrなどを含んで構成される。
【0055】
図形制御部1は、パラメータRAM部2から処理する順番にスプライトの図形情報を取り出し、この情報を当たり判定部に対して出力する。
【0056】
次に当たり判定部3は、図形制御部1から出力される制御情報によりパラメータRAM2に格納された図形情報を参照し、パラメータRAM部2に格納された図形が図22に示す画面表示領域221に存在するか否か、すなわちこの図形を表示するか否かを判定し、画面表示領域に表示される図形に対して活性化される当たり情報と、パラメータRAM部2のアドレスとをカウンタ制御部4に出力する。
【0057】
カウンタ制御部4は当たり判定部3から出力される当たり情報を参照し、当たり情報が活性化されると、この当たり情報に対応するスプライトのスプライト番号を表示図形バッファメモリ5に格納する。このときカウンタ制御部4は、表示スプライト数格納部11に格納された一つの画面表示領域に表示する全スプライトの数と、スプライト個数算出部12で算出されたスプライトの数とを参照しながら、活性化された当たり情報に対応するスプライト番号を表示図形バッファメモリ5に出力するように動作する。
【0058】
当たり判定部3における全てのスプライトに対しての当たり判定が終了すると、図形制御部1は表示図形バッファメモリ5から格納していたスプライト番号を読み出す。そして読み出したスプライト番号を参照してパラメータRAM部2から表示するスプライトに関する図形情報を読み出す。こうして読み出されたスプライト図形の図形情報は、画像メモリアドレス演算部6と画像データ修飾演算部7に対して出力される。
【0059】
次に画像メモリアドレス演算部6は、制御情報を受けて、表示図形バッファメモリ5に格納されたスプライト番号に対応する図形情報を参照し、スプライトを構成するキャラクタデータが格納されている図形データROM9から、キャラクタデータを読み出すための図形データROMアドレスを算出し、図形データROM9にこの図形データROMアドレスを出力する。
【0060】
そして画像データ修飾演算部7は、制御情報を受けて図形データROM9から表示するキャラクタデータを入力し、テクスチャ、拡大/縮小、アルファブレンディングなどの半透明処理などの画像データ修飾処理を行い、画像信号を画面に表示するための表示装置10に出力する。
【0061】
次に上記に説明した本発明の図形処理装置を用いて、図4に示す複数のスプライトを用いたアニメーション図形を、連続的に表示してアニメーション表示を行う場合について説明する。
【0062】
最初にスプライトSP1〜SP4について説明すると、SP1は図4(a)に示すように三角形の不透明データを有するスプライトであり、SP2は図4(b)に示すようにスプライトSP1の一部を抽出して生成したスプライトであり、SP3は図4(c)に示すように矩形状の塗りつぶしデータを有するスプライトであり、SP4は図4(b)に示すようにスプライトSP2を手前側に、スプライトSP3を奥側にして、スプライトSP2を不透明として、スプライトSP2とスプライトSP3とを合成した場合のスプライトある。ここで特徴的な点は、スプライトSP1は、図25(a)’のキャラクタ配列と異なり、キャラクタは垂直方向に配列されている点である。
【0063】
図3に示すキャラクタ配列情報Arrが0(b)(bはバイナリデータであることを表す)のとき、キャラクタ配列が水平(X)方向であることを表し、キャラクタ配列情報Arrが1(b)のとき、キャラクタ配列が垂直(Y)方向であることを表す。
【0064】
このように本発明による図形処理装置は、パラメータRAM部2にキャラクタ配列情報Arrを設け、このキャラクタ配列情報Arrを参照して、画像メモリアドレス演算部6が図形データROMアドレスを生成することにより、図4(a)’,(b)’,(c)’に示すように、水平方向と垂直方向の任意の組み合わせで、スプライトを構成するキャラクタを配列することが出来る。これによりパラメータRAM部2のメモリ容量を増やすことなく、多様な図形をパラメータRAM部2に格納することが可能となり、複雑なアニメーション表示を行うことができる。
【0065】
ここで従来のパラメータRAM部192における図25(b),(b)’に示すアニメーション図形のメモリ構造と、本発明のパラメータRAM部2における図4(b),(b)’に示すアニメーション図形のメモリ構造とを比較しながら説明する。
【0066】
図5(a)は、従来のパラメータRAM192における図25(b),(b)’のアニメーション図形に対応するメモリ構成を表し、スプライトSP2の1行目は、キャラクタCH2,CH3が配列されており、これらのキャラクタCH2,CH3から構成される図形のX原点座標値、Y原点座標値はそれぞれX0,Y0である。またスプライトXサイズNsx、スプライトYサイズNsyはそれぞれ2,1となる。
【0067】
またスプライトSP2の2行目は、キャラクタCH6,CH7が配列されており、これらのキャラクタCH6,CH7から構成される図形のX原点座標値は上記のX原点座標値X0と変わらず、キャラクタが16ピクセル×16ピクセルの構成とすると、Y原点座標値がYの正の方向に16ピクセル移動するので、Y0+16となる。またスプライトXサイズNsx、スプライトYサイズNsyは1行目と同様にそれぞれ2,1となる。
【0068】
同様に、スプライトSP2の3行目および4行目は、図5(a)に示すようになる。
【0069】
またスプライトSP2と合成を行うスプライトSP3については、X原点座標値がスプライトSP2のX原点座標値よりも16ピクセル小さいので、X0−16となり、Y原点座標値は上記のスプライトSP2のY原点座標値Y0と同じくY0となる。
【0070】
またスプライトSP3のスプライトXサイズNsx、スプライトYサイズNsyは、共に4となる。
【0071】
一方図5(b)は、本発明のパラメータRAM2における図4(b),(b)’のアニメーション図形に対応するメモリ構成を表し、スプライトSP2は図5(b)からわかるように、キャラクタ配列情報が1(b)であり、キャラクタ配列が垂直方向であることを示している。またスプライトXサイズNsx、スプライトYサイズNsyはそれぞれ2,4となる。また、スプライトSP3については、図5(a)と同様である。
【0072】
上記に説明したように、従来のパラメータRAM部192では、図25(b)のアニメーション図形を表すのに5行のメモリ容量が必要であるのに対し、本発明の図形処理装置を構成するパラメータRAM部2では、図4(b)のアニメーション図形を表すのに2行のメモリ容量で済むので、大幅にメモリ容量を低減することが出来る。
【0073】
次に本発明の図形処理装置を構成する画像メモリアドレス演算部6について、図2(a),(b)を用いて概略の説明をする。
【0074】
本実施の形態による画像メモリアドレス演算部6は、図2(a)に示すように図形制御部1から出力される制御情報の一部であるキャラクタカウント部制御信号と、スプライトXサイズNsxから1を減算した値とを入力し、キャラクタカウント部制御信号に同期してキャラクタカウント値をインクリメントするキャラクタカウント部21と、1番上の(最もY原点に近い)走査線から何番目の走査線であるかを示す走査線値からY原点座標値を減算する減算回路22と、減算回路22の出力データをキャラクタを構成する垂直方向のピクセル数で除算し、この除算結果から商であるY方向のキャラクタ番地を表すYCHと余りである図形データROM下位アドレスを算出するアドレス分離部23と、キャラクタ配列情報とスプライトYサイズNsyから1を減算した値とを入力するANDゲート27と、キャラクタ配列情報とスプライトXサイズNsxから1を減算した値とを入力するANDゲート28とを備えている。
【0075】
さらに本実施の形態による画像メモリアドレス演算部6は、ANDゲート27からの出力データに1を加算する加算回路29と、ANDゲート28からの出力データに1を加算する加算回路24と、キャラクタカウント値と加算回路29の出力データとを乗算する乗算回路25Aと、アドレス分離部23から出力されるY方向のキャラクタ番地を表すYCHと加算回路24の出力データとを乗算する乗算回路25Bと、スプライト番号と乗算回路25A,25Bの各出力データとを加算し、図形データROM9に格納されているキャラクタデータを読み出すための図形データROMアドレスの上位アドレスである図形データROM上位アドレスを生成する加算回路26とを備えている。
【0076】
ここでキャラクタの配列が水平方向の配列であるときは、キャラクタ配列情報は0(b)となり、キャラクタの配列が垂直方向の配列であるときは、キャラクタ配列情報は1(b)となる。
【0077】
キャラクタ配列情報が0(b)のとき、ANDゲート27により(スプライトYサイズNsy−1)はマスクされ、ANDゲート27から0が出力される。そして加算回路29により1が加算され、乗算回路25Aからはキャラクタカウント値がそのままの値で加算回路26に出力される。
【0078】
一方ANDゲート28は、(スプライトXサイズNsx−1)を出力し、加算回路24はスプライトXサイズNsxを出力する。乗算回路25Bは、スプライトXサイズNsxとY方向のキャラクタ番地とを乗算し、この乗算結果を加算回路26に出力する。
【0079】
一方キャラクタ配列情報が1(b)のとき、ANDゲート28により(スプライトXサイズNsx−1)はマスクされ、ANDゲート28から0が出力される。そして加算回路24により1が加算され、乗算回路25BからはY方向のキャラクタ番地YCHがそのままの値で加算回路26に出力される。
【0080】
一方ANDゲート27は、(スプライトYサイズNsy−1)を出力し、加算回路29はスプライトYサイズNsyを出力する。乗算回路25Aは、スプライトYサイズNsyとキャラクタカウント値とを乗算し、この乗算結果を加算回路26に出力する。
【0081】
このようにして本実施の形態による画像メモリアドレス演算部6は、スプライト番号と、キャラクタカウント部制御信号と、(スプライトXサイズNsx−1)と、(スプライトYサイズNsy−1)と、キャラクタ配列情報と、走査線値と、Y原点座標値とを入力し、図形データROM上位アドレスと図形データROM下位アドレスとを生成する。
【0082】
図2(b)に、図2(a)に示す画像メモリアドレス演算部6のタイミングチャートを示す。
【0083】
キャラクタカウント部制御信号は、キャラクタデータCH1〜CHnの描画処理に先だってパルス信号を発生し、キャラクタカウント部は、このパルス信号に同期して0からスプライトを構成する(キャラクタ数−1)までをカウントアップするとともに、スプライトを構成する全てのキャラクタの描画が終了したときに、描画終了信号を出力する。
【0084】
次に図6,7を参照して、キャラクタの配列が図23(b)に示す水平方向の配列である場合の本実施の形態による画像メモリアドレス演算部6の動作について、具体的に説明する。
【0085】
図6(a)において、スプライトSP6を構成するキャラクタCH1〜CH16は、水平方向および垂直方向に4キャラクタずつ配列され、各キャラクタの垂直方向のピクセル数すなわち走査線数を16とする。ここで各キャラクタ毎の走査線をYの正の方向にl1〜l16とし、画面表示領域の原点に最も近い走査線(第1走査線)をL1とし、Yの正の方向に順にL2,L3・・・L16,L17,L18・・・とする。すなわち、L1,L2・・・は走査線の絶対番号を表し、l0〜l15は各キャラクタ毎の相対的な走査線番号を表す。
【0086】
また説明を簡略化するために、スプライトSP6のY原点座標値を0,すなわちスプライトSP6の左上隅は画面表示領域の原点に一致するものとして説明する。
【0087】
いま走査線がキャラクタCH5,6,7,8の4番目の走査線、すなわちl4(L20)である場合のメモリアドレスについて考察する。
【0088】
図6(b)は、スプライトSP6を構成するキャラクタCH1〜CH16の図形データROM9のキャラクタ配列を表し、キャラクタCH1〜CH16の図形データROM9における上位アドレスである図形データROM上位アドレスが0〜15であることを示している。図6(b)からわかるように、キャラクタCH5〜CH8の図形データROM上位アドレスは4〜7となる。
【0089】
また走査線L20は、キャラクタCH5〜CH8の走査線l4に対応すると共に、図形データROM下位アドレスが4であることを表している。従って図形データROM上位アドレスにより、図形データROM9を構成するキャラクタ番号が一意的に定まり、図形データROM下位アドレスによりキャラクタ内の走査線位置が定まる。
【0090】
すなわち、図形データROM上位アドレスと図形データROM下位アドレスを指定することにより、図形データROM9から描画対象となるキャラクタデータを走査線毎に読み出すことが可能である。
【0091】
図6(c)に上記に説明したキャラクタ番号と図形データROM上位アドレスおよび図形データROM下位アドレスの関係を示す。
【0092】
次に図7を参照して、図6に示す場合の画像メモリアドレス演算部6の動作について説明する。
【0093】
いま図6(a)からわかるように、Y原点座標値、走査線値はそれぞれ0,20であり、スプライトXサイズNsx、スプライトYサイズNsyがそれぞれ4であるので、(スプライトXサイズNsx−1)、(スプライトYサイズNsy−1)はそれぞれ3となり、キャラクタ配列情報は0である。
【0094】
減算回路22は、走査線値(=20)からY原点座標値(=0)を減算し、アドレス分離部23に20を出力する。アドレス分離部23は、入力データの20をキャラクタを構成する垂直方向のピクセル数16で除算し、この除算結果から商であるY方向のキャラクタ番地を表すYCHを1とし、図6(c)に示した図形データROM下位アドレスと同じ値を余り4としてそれぞれ出力する。
【0095】
ANDゲート27の出力は、キャラクタ配列情報が0であるので0となり、加算回路29はこの0と定数である1を加算して生成した1を乗算回路25Aに出力する。またANDゲート28の出力は3となり、加算回路24はこの3と定数である1を加算して生成した4を乗算回路25Bに出力する。
【0096】
乗算回路25Bは、Y方向のキャラクタ番地YCH(=1)と加算回路24から出力した4とを乗算して生成した4を加算回路26に出力する。
【0097】
またキャラクタカウント部21は、キャラクタカウント部制御信号に同期して0から(スプライトXサイズNsx−1)=3までの出力データ、すなわち0→1→2→3の出力データを乗算回路25Aに出力する。従って乗算回路25Aは、0→1→2→3のデータを加算回路26に出力する。
【0098】
いまスプライト番号が0であるとすると、加算回路26は、図6(c)に示した図形データROM上位アドレスと同じ4〜7を生成する。
【0099】
次に図8,9を参照して、キャラクタの配列が図23(c)に示す垂直方向の配列である場合の本実施の形態による画像メモリアドレス演算部6の動作について、具体的に説明する。
【0100】
図8(a)において、スプライトSP8を構成するキャラクタCH1〜CH16は、水平方向および垂直方向に4キャラクタずつ配列され、各キャラクタの垂直方向のピクセル数すなわち走査線数を16とする。ここで各キャラクタ毎の走査線をYの正の方向にl1〜l16とし、画面表示領域の原点に最も近い走査線(第1走査線)をL1とし、Yの正の方向に順にL2,L3・・・L16,L17,L18・・・とする。すなわち、L1,L2・・・は走査線の絶対番号を表し、l0〜l15は各キャラクタ毎の相対的な走査線番号を表す。
【0101】
また説明を簡略化するために、スプライトSP8のY原点座標値を0,すなわちスプライトSP8の左上隅は画面表示領域の原点に一致するものとして説明する。
【0102】
いま走査線がキャラクタCH2,6,10,14の4番目の走査線、すなわちl4(L20)である場合のメモリアドレスについて考察する。
【0103】
図8(b)は、スプライトSP8を構成するキャラクタCH1〜CH16の図形データROM9のキャラクタ配列を表し、キャラクタCH1〜CH16の図形データROM9における上位アドレスである図形データROM上位アドレスが0〜15であることを示している。図8(b)からわかるように、キャラクタCH2,6,10,14の図形データROM上位アドレスはそれぞれ1,5,9,13となる。
【0104】
また走査線L20は、キャラクタCH2,6,10,14の走査線l4に対応すると共に、図形データROM下位アドレスが4であることを表している。従って図形データROM上位アドレスにより、図形データROM9を構成するキャラクタ番号が一意的に定まり、図形データROM下位アドレスによりキャラクタ内の走査線位置が定まる。
【0105】
すなわち、図形データROM上位アドレスと図形データROM下位アドレスを指定することにより、図形データROM9から描画対象となるキャラクタデータを走査線毎に読み出すことが可能である。
【0106】
図8(c)に上記に説明したキャラクタ番号と図形データROM上位アドレスおよび図形データROM下位アドレスの関係を示す。
【0107】
次に図9を参照して、図8に示す場合の画像メモリアドレス演算部6の動作について説明する。
【0108】
いま図8(a)からわかるように、Y原点座標値、走査線値はそれぞれ0,20であり、スプライトXサイズNsx、スプライトYサイズNsyがそれぞれ4であるので、(スプライトXサイズNsx−1)、(スプライトYサイズNsy−1)はそれぞれ3となり、キャラクタ配列情報は1である。
【0109】
減算回路22は、走査線値(=20)からY原点座標値(=0)を減算し、アドレス分離部23に20を出力する。アドレス分離部23は、入力データの20をキャラクタを構成する垂直方向のピクセル数16で除算し、この除算結果から商であるY方向のキャラクタ番地YCHを1とし、図8(c)に示した図形データROM下位アドレスと同じ値を余り4としてそれぞれ出力する。
【0110】
ANDゲート28の出力は、キャラクタ配列情報が1であるので0となり、加算回路24はこの0と定数である1を加算して生成した1を乗算回路25Bに出力する。またANDゲート27の出力は3となり、加算回路29はこの3と定数である1を加算して生成した4を乗算回路25Aに出力する。
【0111】
乗算回路25Bは、Y方向のキャラクタ番地YCH(=1)と加算回路24から出力した1とを乗算して生成した1を加算回路26に出力する。
【0112】
またキャラクタカウント部21は前に説明したように、キャラクタカウント部制御信号に同期して0→1→2→3のデータを加算回路26に出力する。
【0113】
いまスプライト番号が0であるとすると、加算回路26は、図8(c)に示した図形データROM上位アドレスと同じ1,5,9,13を生成する。
【0114】
以上説明したように、本発明の画像処理装置を構成する画像メモリアドレス演算部6は、キャラクタ配列が水平方向と垂直方向の場合に対応したキャラクタ配列情報により、キャラクタ配列が水平方向および垂直方向のいずれであっても図6(c)または図8(c)に示す図形データROM上位アドレスおよび図形データROM下位アドレスを生成することが出来る。
【0115】
次に図面を参照して本発明の図形処理装置を用いた図形処理方法について説明する。
【0116】
図10は図2に示す本発明の画像メモリアドレス演算部6の処理方法を示すフローチャートであり、ステップST1で図形制御部1は画像処理が終了したか否かの判定を行い、画像処理が終了したと判定した場合、図2に示すキャラクタカウント部21は、ステップST11でキャラクタカウント部制御信号によりリセットされ、ステップST12の処理を行う。ステップST12において当たり判定部3は、次に描画すべきスプライトが画面表示領域に存在するか否かを判定し、次に描画すべきスプライトが画面表示領域に存在しないと判定した場合は、ステップST13で画面表示領域全体の描画処理を終了し、次のフレームの画面表示領域の描画処理を行う。
【0117】
またステップST12において、次に描画すべきスプライトが存在すると判定された場合は、ステップST1の処理を行う。
【0118】
ステップST1で画像処理が終了していないと判定された場合、ステップST2において、キャラクタカウント部21はキャラクタカウント値をインクリメントする。
【0119】
続いてステップST3において、走査線値からY原点座標値を減算することにより、キャラクタのY原点座標値を基準とした相対的な走査線番号を算出する。
【0120】
次にステップST4において、アドレス分離部23はY方向のキャラクタ番地を表すYCHと図形データROM下位アドレスをそれぞれ生成し、画像メモリアドレス演算部6はステップST5において、キャラクタ配列情報が水平方向であるとの情報を受け取るとステップST6の処理を行い、キャラクタ配列情報が垂直方向であるとの情報を受け取るとステップST9の処理を行う。
【0121】
ステップST5において、キャラクタ配列情報が水平方向であると判定された場合は、ステップST6で乗算回路25Bは加算回路24から出力されるスプライトXサイズNsxと、アドレス分離部23から出力されるY方向のキャラクタ番地YCHとを乗算して乗算結果を加算回路26に出力する。そして引き続きステップST7において、キャラクタカウント部21はキャラクタカウント値をインクリメントせず保持し続ける。
【0122】
一方ステップST5において、キャラクタ配列情報が垂直方向であると判定された場合は、ステップST9でY方向のキャラクタ番地YCHを保持したまま、次のステップST10の処理が行われる。ステップST10において、乗算回路25Aは加算回路29から出力されるスプライトYサイズNsyと、キャラクタカウント部21から出力されるキャラクタカウント値とを乗算し、加算回路26に乗算結果を出力する。
【0123】
最後に加算回路26は、乗算回路25A,25Bからの乗算結果とスプライト番号とをそれぞれ加算し、図形データROM上位アドレスを生成する。
【0124】
次に本発明の画像メモリアドレス演算部6の第2の実施の形態について図11,図12を参照して説明する。なお、図2と共通の構成要素には共通の参照文字/数字を付してある。
【0125】
図11は本発明の画像メモリアドレス演算部6の第2の実施の形態を示すブロック図であり、図12は図11に示す画像メモリアドレス演算部6により生成されたキャラクタ配列を示す。
【0126】
図12に示されるように、本実施の形態による画像メモリアドレス演算部62により生成されたキャラクタ配列は、右上(Xが正でYが負の方向)から左下(Xが負でYが正の方向)に向かって順にキャラクタが配列されていることが特徴である。このような配列は、図形を変形する際に有効である。
【0127】
本実施の形態による画像メモリアドレス演算部6は、図11に示すように図形制御部1から出力される制御情報の一部であるキャラクタカウント部制御信号に同期してキャラクタカウント値をインクリメントするキャラクタカウント部21と、走査線値からY原点座標値を減算する減算回路22とを備えている。
【0128】
また本実施の形態による画像メモリアドレス演算部6は、減算回路22の出力データをキャラクタを構成する垂直方向のピクセル数で除算し、この除算結果から商であるY方向のキャラクタ番地を表すYCHと余りである図形データROM下位アドレスを算出するアドレス分離部23と、Y方向のキャラクタ番地YCHをデータ入力しキャラクタ配列情報により制御され、出力データを乗算回路25Bに出力する1(h)固定回路部117と、Y方向のキャラクタ番地YCHを累積加算する累積加算回路114とを備えている。
【0129】
さらに本実施の形態による画像メモリアドレス演算部6は、累積加算回路114の出力データと(スプライトXサイズNsx−1)とを入力し、キャラクタ配列情報が0、すなわちキャラクタ配列が水平方向であるときは、(スプライトXサイズNsx−1)を出力し、キャラクタ配列情報が1、すなわちキャラクタ配列が斜め方向であるときは、累積加算回路114の出力データを出力する選択手段115と、選択手段115からの出力データに1を加算する加算回路116と、この加算回路116からの出力データと1(h)固定回路部117からの出力データとを乗算する乗算回路25Bとを備えている。
【0130】
また本実施の形態による画像メモリアドレス演算部6は、キャラクタカウント値と累積加算回路114の出力データとレジスタ112からの出力データとを加算し、加算結果をレジスタ112に出力する加算回路111と、加算回路111からの加算結果とスプライト番号とを入力するレジスタ112と、レジスタ112の出力データとキャラクタカウント値とを入力し、キャラクタ配列情報が0、すなわち水平方向であるときはキャラクタカウント値を出力し、キャラクタ配列情報が0、すなわち斜め方向であるときは、レジスタ112の出力データを出力する選択手段113とを備えている。
【0131】
ここで1(h)固定回路部117は、キャラクタ配列情報が0である場合は、Y方向のキャラクタ番地YCHをそのまま出力し、キャラクタ配列情報が1である場合は、キャラクタ番地YCHを1(h)に固定する。また加算回路111とレジスタ112により、キャラクタカウント値が順次累積加算される。
【0132】
上記のような動作をすることにより、キャラクタ配列情報が0である場合は、キャラクタが図6(a)に示すような配列になるように図形データROMアドレスが生成され、一方キャラクタ配列情報が1である場合は、キャラクタが図12に示すような配列になるように図形データROMアドレスが生成される。
【0133】
次に本発明の画像メモリアドレス演算部6の第2の実施の形態を用いた図形処理方法の第2の実施の形態について説明する。
【0134】
図13は図11に示す本発明の画像メモリアドレス演算部62の処理方法を示すフローチャートであり、図10の処理フロートチャートのステップST9,10が、図13においてそれぞれステップST14,15になっている点が異なっている。ステップST14において、累積加算回路114に入力したキャラクタ番地YCHが順次累積加算され、さらに累積加算回路114から出力された累積加算値は選択手段115を介して加算回路において1が加算される。
【0135】
続いてステップST15において、加算回路111とレジスタ112により、キャラクタカウント値が累積加算される。
【0136】
このような処理フローにより、キャラクタ配列情報が0である場合は、キャラクタが図6(a)に示すような配列になるように図形データROMアドレスが生成され、一方キャラクタ配列情報が1である場合は、キャラクタが図12に示すような配列になるように図形データROMアドレスが生成される。
【0137】
次に本発明の画像メモリアドレス演算部6の第3の実施の形態について図14,図15を参照して説明する。なお、図11と共通の構成要素には共通の参照文字/数字を付してある。
【0138】
図14は本発明の画像メモリアドレス演算部63の第3の実施の形態を示すブロック図であり、図15はこの画像メモリアドレス演算部63により生成されたキャラクタ配列を示す。
【0139】
図15に示されるように、本実施の形態による画像メモリアドレス演算部63により生成されたキャラクタ配列は、左下(Xが負でYが正の方向)から右上(Xが正でYが負の方向)に向かって順にキャラクタが配列されていることが特徴であり、図12に示すキャラクタ配列の方向と逆向きとなる。このような配列は、図12の配列と同様に、図形を変形する際に有効である。
【0140】
図14に示す本発明の画像メモリアドレス演算部63は、図11に示す画像メモリアドレス演算部62を構成する加算回路111に代えて加算回路111にさらに1を加算する加算回路141を設けたことと、NANDゲート142を新しく設けたことが図11に示す画像メモリアドレス演算部62と異なっている。
【0141】
ここでNANDゲート142は、キャラクタ配列情報が1であるとき、累積加算回路114から出力される累積加算値に対してさらに1を加算しないようにマスクするように動作する。
【0142】
上記のような動作をすることにより、キャラクタ配列情報が0である場合は、キャラクタが図6(a)に示すような配列になるように図形データROMアドレスが生成され、一方キャラクタ配列情報が1である場合は、キャラクタが図15に示すような配列になるように図形データROMアドレスが生成される。
【0143】
次に本発明の画像メモリアドレス演算部6の第23実施の形態を用いた図形処理方法の第3の実施の形態について説明する。
【0144】
図16は図14に示す本発明の画像メモリアドレス演算部63の処理方法を示すフローチャートであり、図13の処理フロートチャートのステップST14,15が、図16においてそれぞれステップST16,17になっている点が異なっている。ステップST16において、累積加算回路114に入力したキャラクタ番地YCHが順次累積加算される。
【0145】
一方ステップST17において、加算回路141とレジスタ112によりキャラクタカウント値が累積加算され、さらに1が加算された加算値が選択手段113に出力される。
【0146】
このような処理フローにより、キャラクタ配列情報が0である場合は、キャラクタが図6(a)に示すような配列になるように図形データROMアドレスが生成され、一方キャラクタ配列情報が1である場合は、キャラクタが図15に示すような配列になるように図形データROMアドレスが生成される。
【0147】
次に本発明の画像メモリアドレス演算部6の第4の実施の形態について図17を参照して説明する。なお、図14と共通の構成要素には共通の参照文字/数字を付してある。
【0148】
図17は本発明の画像メモリアドレス演算部64の第4の実施の形態を示すブロック図である。
【0149】
図17に示す本発明の画像メモリアドレス演算部64は、図14に示す画像メモリアドレス演算部63を構成する加算回路141とレジスタ112から構成される累積加算回路に代えて水平方向キャラクタ演算関数部171を設けたことと、累積加算回路114に代えて垂直方向キャラクタ演算関数部172を設けたことが図14に示す画像メモリアドレス演算部63と異なっている。
【0150】
ここで水平方向キャラクタ演算関数部171において、キャラクタカウント値毎に垂直方向キャラクタ演算関数部からの演算結果に対して予め定義された関数を実行し、この実行結果を選択手段113に出力し、垂直方向キャラクタ演算関数部172において、Y方向のキャラクタ番地YCHに対して予め定義された関数を実行し、この実行結果を選択手段115と水平方向キャラクタ演算関数部171とに出力する。
【0151】
こうして、画像メモリアドレス演算部64は、キャラクタを図6(a)に示すような水平方向、図8(a)に示すような垂直方向、図12または図15に示すような斜め方向、あるいは図示しない任意の配列に対応する図形データROMアドレスを生成することが可能である。
【0152】
次に本発明の画像メモリアドレス演算部6の第4の実施の形態を用いた図形処理方法の第4の実施の形態について説明する。
【0153】
図18は図17に示す本発明の画像メモリアドレス演算部64の処理方法を示すフローチャートであり、図13の処理フロートチャートのステップST14,15が、図18においてそれぞれステップST18,19になっている点が異なっている。
【0154】
ステップST18において、垂直方向キャラクタ演算関数部172は入力したY方向のキャラクタ番地YCHに対して、単純な累積加算を行う場合の他に、垂直方向キャラクタ演算関数部172に設定されたより複雑な演算処理を行って、水平方向キャラクタ演算関数部171と選択手段115に対して出力する。
【0155】
またステップST19において、水平方向キャラクタ演算関数部171は入力したキャラクタカウント値に対して、単純な累積加算を行う場合の他に、水平方向キャラクタ演算関数部171に設定されたより複雑な演算処理を行って、選択手段113に対して出力する。
【0156】
このような処理フローにより、キャラクタ配列情報が水平方向である場合は、キャラクタが図6(a)に示すような配列になるように図形データROMアドレスが生成され、一方キャラクタ配列情報が垂直方向である場合は、キャラクタが図15に示すような配列になるように図形データROMアドレスが生成される。
【0157】
さらにキャラクタを、図12または図15に示すような斜め方向、あるいは図示しない任意の配列に対応するより複雑な図形データROMアドレスを生成することが可能である。
【0158】
なお、図4で画面表示領域41にスプライトSP1,SP4,SP3がそれぞれ1つずつあるとして説明したが、1つの場面表示領域に複数のスプライトがあっても良い。
【0159】
またスプライトSP1,SP4,SP3の大きさが、画面表示領域の大きさと一致しても良い。この場合X原点座標値およびY原点座標値は、両方とも0となる。
【0160】
さらに図3において、パラメータRAM2の構成は、画面表示領域の各スプライトに対応した各アドレスに対して、図22に示すように、スプライトの基準原点(左上隅とする)のX座標値であるX原点座標値Px、スプライトの基準原点のY座標値であるY原点座標値Py、キャラクタ単位で算出したスプライトのX方向の大きさであるスプライトXサイズNsx、キャラクタ単位で算出したスプライトのY方向の大きさであるスプライトYサイズNsy、図形データROM9からキャラクタを読み出すときに用いる図形データROMアドレスAd(ROM)、キャラクタの配列方向を定めるキャラクタ配列情報Arrなどを含んで構成されるとして説明したが、スプライトがX方向に配列されたキャラクタからなるXスプライトと、Y方向に配列されたキャラクタからなるYスプライトとを含んで構成される場合は、上記に定義した各パラメータは、XスプライトおよびYスプライトに対してそれぞれ定義されるものとする。
【0161】
【発明の効果】
以上説明したように本発明による図形処理装置及び図形処理方法は、従来のパラメータRAM部に対し、キャラクタ配列に関する情報であるキャラクタ配列情報を追加し、パラメータRAM部においてキャラクタ配列情報により最適なキャラクタ配列を設定することで、パラメータRAM部のメモリ使用効率を向上することができる。これにより、パラメータRAMのメモリ容量が一定であれば、パラメータRAMにより多くの図形を登録することができる。
【0162】
また、複数のキャラクタ配列を表示させる場合、パラメータRAMにおけるCPUからコントロールする図形が減少するので、処理速度を向上することができる。
【0163】
さらに、パラメータRAM部における水平(X)方向のキャラクタ配列と、垂直(Y)方向のキャラクタ配列とが混在していても、共通の画像メモリアドレス演算部により、図形データROM部からキャラクタデータを読み出すためのアドレスを生成することが可能であり、回路素子数をより小さくすることができる。
【0164】
また、パラメータRAM部のキャラクタ配列を水平方向、垂直方向および水平方向と垂直方向を混在させる方法だけでなく、斜め方向あるいは配列方向を関数により定義し、パラメータRAM部のメモリ容量を大幅に増やすことなく、多様なアニメーションを表示することが可能である。
【図面の簡単な説明】
【図1】本発明の図形処理装置の第1の実施の形態を示すブロック図である。
【図2】本発明の図形処理装置を構成する画像メモリアドレス演算部6の第1の実施の形態を示すブロック図と、タイミングチャートである。
【図3】本発明の図形処理装置を構成するパラメータRAM部2のメモリ構成を示す図である。
【図4】本発明の図形処理装置を用いて生成したアニメーション図形と、このアニメーション図形を構成するキャラクタの配列を説明するための図である。
【図5】従来のパラメータRAMA2において図25(b),(b)’のアニメーション図形に対応するメモリ構成と、本発明のパラメータRAM2における図4(b),(b)’のアニメーション図形に対応するメモリ構成とを表す図である。
【図6】キャラクタの配列が水平方向の配列である場合の走査線を説明するための図、およびスプライトSP6を構成するキャラクタCH1〜CH16の図形データROM9のキャラクタ配列を表す図、並びにキャラクタ番号と図形データROM上位アドレスおよび図形データROM下位アドレスの関係を示す図である。
【図7】キャラクタ配列が水平方向の場合に、本発明の図形処理装置を構成する画像メモリアドレス演算部61の具体的な動作を説明するための図である。
【図8】キャラクタの配列が垂直方向の配列である場合の走査線を説明するための図、およびスプライトSP8を構成するキャラクタCH1〜CH16の図形データROM9のキャラクタ配列を表す図、並びにキャラクタ番号と図形データROM上位アドレスおよび図形データROM下位アドレスの関係を示す図である。
【図9】キャラクタ配列が垂直方向の場合に、本発明の図形処理装置を構成する画像メモリアドレス演算部61の具体的な動作を説明するための図である。
【図10】図2に示す本発明の画像メモリアドレス演算部61の処理方法を示すフローチャートである。
【図11】本発明の図形処理装置を構成する画像メモリアドレス演算部6の第2の実施の形態を示すブロック図である。
【図12】図11に示す画像メモリアドレス演算部62により生成された図形データROMアドレスにより、キャラクタが斜め方向に配列されたスプライトの図である。
【図13】図11に示す本発明の画像メモリアドレス演算部62の処理方法を示すフローチャートである。
【図14】本発明の図形処理装置を構成する画像メモリアドレス演算部6の第3の実施の形態を示すブロック図である。
【図15】図14に示す画像メモリアドレス演算部63により生成された図形データROMアドレスにより、キャラクタが斜め方向に配列されたスプライトの図である。
【図16】図14に示す本発明の画像メモリアドレス演算部63の処理方法を示すフローチャートである。
【図17】本発明の図形処理装置を構成する画像メモリアドレス演算部6の第4の実施の形態を示すブロック図である。
【図18】図17に示す本発明の画像メモリアドレス演算部64の処理方法を示すフローチャートである。
【図19】従来の図形処理装置を示すブロック図である。
【図20】従来の図形処理装置を構成する画像メモリアドレス演算部196を示すブロック図と、タイミングチャートである。
【図21】従来の図形処理装置を構成するパラメータRAM部192のメモリ構成を示す図である。
【図22】画面表示領域とこの中に含まれるスプライトを説明するための説明図である。
【図23】X(水平)方向およびY(垂直)方向にキャラクタが配列された各スプライトと、図形データROMにおけるキャラクタ配列とを説明するための図である。
【図24】スプライトSP1〜SP4を説明するための図である。
【図25】アニメーション図形251〜253の構成と、アニメーション図形251〜253をそれぞれ構成するスプライトSP1〜SP3のキャラクタ構成とを示す図である。
【符号の説明】
1,191 図形制御部
2,192 パラメータRAM部
3,193 当たり判定部
4,194 カウンタ制御部
5,195 表示図形バッファメモリ
6,61,62,63,64,196 画像メモリアドレス演算部
7,197 画像データ修飾演算部
8,198 CPU
9,199 図形データROM
10,1910 表示装置
11 表示スプライト数格納部
12 スプライト個数算出部
21,201 キャラクタカウント部
22,202 減算回路
23,203 アドレス分離部
24,26,29,111,116,141,204,206 加算回路
25A,25B,205 乗算回路
27,28 ANDゲート
100,1900 図形処理部
112 レジスタ
113,115 選択手段
114 累積加算回路
117 1(h)固定回路部
142 NANDゲート
171 水平方向キャラクタ演算関数部
172 垂直方向キャラクタ演算関数部
Claims (10)
- 画面表示領域に、複数のピクセルデータからなるキャラクタがX方向およびY方向にマトリクス状に配列されたスプライトを表示する図形処理装置であって、前記キャラクタの配列方向に関する情報であるキャラクタ配列情報を含み、前記スプライトの図形情報であるスプライト図形情報を格納するパラメータRAM部と、前記キャラクタの画像データであるキャラクタデータを格納する図形データROMと、前記図形情報および前記キャラクタ配列情報を参照して、前記キャラクタデータを前記配列方向の順に読み出すための前記図形データROMに対するアドレス情報である図形データROMアドレスを生成する画像メモリアドレス演算部と、前記キャラクタデータを入力し、表示装置に表示させるための画像信号を生成する画像データ修飾演算部と、を備えることを特徴とする図形処理装置。
- 前記スプライトはX方向に配列された前記キャラクタからなるXスプライトと、Y方向に配列された前記キャラクタからなるYスプライトとを含み、前記キャラクタ配列情報は、前記Xスプライトに対応するXキャラクタ配列情報と前記Yスプライトに対応するYキャラクタ配列情報とを含み、前記画像メモリアドレス演算部は、前記Xキャラクタ配列情報に対応する前記図形データROMアドレスと、前記Yキャラクタ配列情報に対応する前記図形データROMアドレスとをそれぞれ生成することを特徴とする請求項1記載の図形処理装置。
- 前記スプライトは斜め方向に配列された前記キャラクタを含み、前記キャラクタ配列情報は前記斜め方向に配列された前記キャラクタに対応する斜めキャラクタ配列情報を含み、前記画像メモリアドレス演算部は前記斜めキャラクタ配列情報に対応する前記図形データROMアドレスを生成することを特徴とする請求項1記載の図形処理装置。
- 前記スプライト図形情報を入力し、前記スプライトを前記画面表示領域に表示するか否かを判定し、前記面表示領域に表示すると判定した場合活性化する当たり情報を出力する当たり判定部と、
活性化された前記当たり情報に対応する前記スプライトの番号であるスプライト番号を格納する表示図形バッファメモリとを備え、
前記画像メモリアドレス演算部は、前記表示図形バッファメモリに格納された前記スプライト番号を参照して、前記図形データROMアドレスを生成することを特徴とする請求項1記載の図形処理装置。 - 前記スプライト図形情報は、前記Xスプライトおよび前記Yスプライトの各基準原点のX方向およびY方向の各座標値であるX原点座標値およびY原点座標値と、前記Xスプライトおよび前記YスプライトのX方向のサイズであるスプライトXサイズと、前記Xスプライトおよび前記YスプライトのY方向のサイズであるスプライトYサイズとを含むことを特徴とする請求項2記載の図形処理装置。
- 前記画像メモリアドレス演算部は、前記画面表示領域のX方向に走査する走査線のY方向の番号を示す走査線値から前記Y原点座標値を減算する減算回路と、
前記減算回路から出力された減算結果を、前記キャラクタを構成する前記ピクセルデータのY方向の配列数で除算し、商であるY方向への前記キャラクタのキャラクタ順番を表すY方向キャラクタ番地と前記図形データROMアドレスの下位アドレスである図形データROMアドレス下位アドレスとを出力するアドレス分離部と、
(前記スプライトXサイズ−1)と(前記スプライトYサイズ−1)と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは(前記スプライトXサイズ−1)を出力し、前記キャラクタ配列がY方向のときの前記キャラクタ配列情報が入力したときは(前記スプライトYサイズ−1)を出力する選択手段と、
前記選択手段から出力される(前記スプライトXサイズ−1)と(前記スプライトYサイズ−1)にそれぞれ1を加算する第1および第2の加算回路と、
前記第1の加算回路からの加算結果と前記Y方向キャラクタ番地とを乗算する第1の乗算回路と、
前記スプライトを構成する前記キャラクタのX方向の順番を表すキャラクタカウント値と前記第2の加算回路からの加算結果とを乗算する第2の乗算回路と、前記第1および第2の乗算回路からの各出力データと、前記画面表示領域内のスプライトの番号であるスプライト番号とを加算し、加算結果を前記図形データROMアドレスの上位アドレスである図形データROMアドレス上位アドレスとして出力する第3の加算回路と、
を備えることを特徴とする請求項5記載の図形処理装置。 - 前記画像メモリアドレス演算部は、前記画面表示領域のX方向に走査する走査線のY方向の番号を示す走査線値から前記Y原点座標値を減算する減算回路と、
前記減算回路から出力された減算結果を、前記キャラクタを構成する前記ピクセルデータのY方向の配列数で除算し、商であるY方向への前記キャラクタのキャラクタ順番を表すY方向キャラクタ番地と前記図形データROMアドレスの下位アドレスである図形データROMアドレス下位アドレスとを出力するアドレス分離部と、
前記Y方向キャラクタ番地を順に累積加算する第1の累積加算回路と、
(前記スプライトXサイズ−1)と前記第1の累積加算回路から出力される第1の累積加算結果と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは(前記スプライトXサイズ−1)を出力し、前記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは前記第1の累積加算結果を出力する第1の選択手段と、前記第1の選択手段から出力される(前記スプライトXサイズ−1)と前記第1の累積加算結果に1を加算する第1の加算回路と、
前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは、前記Y方向キャラクタ番地を出力し、前記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは1を出力する1(h)固定回路部と、
前記第1の加算回路の加算結果と前記1(h)固定回路部からの出力データとを乗算する乗算回路と、
前記スプライトを構成する前記キャラクタのX方向の順番を表すキャラクタカウント値と前記第1の累積加算結果とを入力し、前記キャラクタカウント値に関して累積加算を行い第2の累積加算結果を出力する第2の累積加算回路と、
前記キャラクタカウント値と前記第2の累積加算結果と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは前記キャラクタカウント値を出力し、前記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは前記第2の累積加算結果を出力する第2の選択手段と、
前記乗算回路の出力データと前記第2の選択手段からの出力データと前記画面表示領域内のスプライトの番号であるスプライト番号とを加算し、加算結果を前記図形データROMアドレスの上位アドレスである図形データROMアドレス上位アドレスとして出力する第3の加算回路と、
を備えることを特徴とする請求項5記載の図形処理装置。 - 前記画像メモリアドレス演算部は、前記画面表示領域のX方向に走査する走査線のY方向の番号を示す走査線値から前記Y原点座標値を減算する減算回路と、
前記減算回路から出力された減算結果を、前記キャラクタを構成する前記ピクセルデータのY方向の配列数で除算し、商であるY方向への前記キャラクタのキャラクタ順番を表すY方向キャラクタ番地と前記図形データROMアドレスの下位アドレスである図形データROMアドレス下位アドレスとを出力するアドレス分離部と、
前記Y方向キャラクタ番地を順に累積加算する第1の累積加算回路と、
(前記スプライトXサイズ−1)と前記第1の累積加算回路から出力される第1の累積加算結果と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは(前記スプライトXサイズ−1)を出力し、前記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは前記第1の累積加算結果を出力する第1の選択手段と、前記第1の選択手段から出力される(前記スプライトXサイズ−1)と前記第1の累積加算結果に、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは1を加算し、記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは0を加算する第1の加算回路と、
前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは、前記Y方向キャラクタ番地を出力し、前記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは1を出力する1(h)固定回路部と、
前記第1の加算回路の加算結果と前記1(h)固定回路部からの出力データとを乗算する乗算回路と、
前記スプライトを構成する前記キャラクタのX方向の順番を表すキャラクタカウント値と前記第1の累積加算結果とを入力し、前記キャラクタカウント値に関して累積加算を行いさらに1を加算する第2の累積加算結果を出力する第2の累積加算回路と、
前記キャラクタカウント値と前記第2の累積加算結果と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは前記キャラクタカウント値を出力し、前記キャラクタ配列が斜め方向のときの前記キャラクタ配列情報が入力したときは前記第2の累積加算結果を出力する第2の選択手段と、
前記乗算回路の出力データと前記第2の選択手段からの出力データと前記画面表示領域内のスプライトの番号であるスプライト番号とを加算し、加算結果を前記図形データROMアドレスの上位アドレスである図形データROMアドレス上位アドレスとして出力する第3の加算回路と、
を備えることを特徴とする請求項5記載の図形処理装置。 - 前記画像メモリアドレス演算部は、前記画面表示領域のX方向に走査する走査線のY方向の番号を示す走査線値から前記Y原点座標値を減算する減算回路と、
前記減算回路から出力された減算結果を、前記キャラクタを構成する前記ピクセルデータのY方向の配列数で除算し、商であるY方向への前記キャラクタのキャラクタ順番を表すY方向キャラクタ番地と前記図形データROMアドレスの下位アドレスである図形データROMアドレス下位アドレスとを出力するアドレス分離部と、
前記Y方向キャラクタ番地を入力してこのY方向キャラクタ番地に対して所定の演算を行い第1の演算結果を出力する第1の演算関数部と、
(前記スプライトXサイズ−1)と前記第1の演算結果と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは(前記スプライトXサイズ−1)を出力し、前記キャラクタ配列がX方向でないときの前記キャラクタ配列情報が入力したときは前記第1の演算結果を出力する第1の選択手段と、
前記第1の選択手段から出力される(前記スプライトXサイズ−1)と前記第1の演算結果に、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは1を加算し、記キャラクタ配列がX方向でないときの前記キャラクタ配列情報が入力したときは0を加算する第1の加算回路と、
前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは、前記Y方向キャラクタ番地を出力し、前記キャラクタ配列がX方向でないときの前記キャラクタ配列情報が入力したときは1を出力する1(h)固定回路部と、
前記第1の加算回路の加算結果と前記1(h)固定回路部からの出力データとを乗算する乗算回路と、
前記スプライトを構成する前記キャラクタのX方向の順番を表すキャラクタカウント値と前記第1の演算結果とを入力し、前記キャラクタカウント値毎に前記第1の演算結果に対して所定の演算を行い第2の演算結果を出力する第2の演算関数部と、
前記キャラクタカウント値と前記第2の演算結果と前記キャラクタ配列情報とを入力し、前記キャラクタ配列がX方向のときの前記キャラクタ配列情報が入力したときは前記キャラクタカウント値を出力し、前記キャラクタ配列がX方向でないときの前記キャラクタ配列情報が入力したときは前記第2の演算結果を出力する第2の選択手段と、
前記乗算回路の出力データと前記第2の選択手段からの出力データと前記画面表示領域内のスプライトの番号であるスプライト番号とを加算し、加算結果を前記図形データROMアドレスの上位アドレスである図形データROMアドレス上位アドレスとして出力する第2の加算回路と、
を備えることを特徴とする請求項5記載の図形処理装置。 - 画面表示領域に、複数のピクセルデータからなるキャラクタがX方向およびY方向にマトリクス状に配列されたスプライトを表示する図形処理方法であって、前記スプライトを構成する前記キャラクタの走査線方向であるX方向の順番を表すキャラクタカウント値を順次インクリメントする第1のステップと、前記画面表示領域のX方向に走査する走査線のY方向の番号を示す走査線値から前記Y原点座標値を減算し、前記キャラクタ内における走査線値であるキャラクタ内走査線値を算出する第2のステップと、前記キャラクタ内走査線値を、前記キャラクタを構成する前記ピクセルデータのY方向の配列数で除算し、商であるY方向への前記キャラクタのキャラクタ順番を表すY方向キャラクタ番地と、前記キャラクタの画像データであるキャラクタデータを格納する図形データROMのアドレス情報のうちの下位アドレスである図形データROMアドレス下位アドレスとを出力する第3のステップと、前記スプライトに対応する前記キャラクタの配列情報を判定する第4のステップと、前記キャラクタの配列情報がX方向であると判定された場合は、前記スプライトのX方向のサイズであるスプライトXサイズと前記Y方向キャラクタ番地とを乗算し、乗算結果と前記キャラクタカウント値とを加算する第5のステップと、前記キャラクタの配列情報がY方向であると判定された場合は、前記スプライトのY方向のサイズであるスプライトYサイズと前記キャラクタカウント値とを乗算し、乗算結果と前記Y方向キャラクタ番地とを加算する第6のステップと、前記第5のステップ又は前記第6のステップで算出された各乗算結果を参照して、前記図形データROMアドレスの上位アドレスである図形データROMアドレス上位アドレスを算出する第7のステップと、を備えることを特徴とする図形処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000257654A JP3595497B2 (ja) | 2000-08-28 | 2000-08-28 | 図形処理装置及び図形処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000257654A JP3595497B2 (ja) | 2000-08-28 | 2000-08-28 | 図形処理装置及び図形処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002073005A JP2002073005A (ja) | 2002-03-12 |
JP3595497B2 true JP3595497B2 (ja) | 2004-12-02 |
Family
ID=18746082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000257654A Expired - Fee Related JP3595497B2 (ja) | 2000-08-28 | 2000-08-28 | 図形処理装置及び図形処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3595497B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8493392B2 (en) * | 2009-06-29 | 2013-07-23 | Yamaha Corporation | Image display device |
-
2000
- 2000-08-28 JP JP2000257654A patent/JP3595497B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002073005A (ja) | 2002-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2003046836A1 (en) | Image processing apparatus and constituent parts thereof, rendering method | |
JP2001195230A (ja) | 描画処理システム、及び描画演算を行う半導体集積回路 | |
US6339430B1 (en) | Video game machine and method for changing texture of models | |
US6172686B1 (en) | Graphic processor and method for displaying a plurality of figures in motion with three dimensional overlay | |
JP2005077522A (ja) | 画像処理装置および画像処理方法 | |
US8982134B2 (en) | Area-based dependency chain analysis of shaders and command stream | |
JP3595497B2 (ja) | 図形処理装置及び図形処理方法 | |
JP2003066943A (ja) | 画像処理装置及びプログラム | |
JP2008097450A (ja) | 図形描画装置およびプログラム | |
JP2003308537A (ja) | 図形描画装置 | |
JP2899838B2 (ja) | 記憶装置 | |
JP3548648B2 (ja) | 描画装置及び描画方法 | |
JP3447670B2 (ja) | 画像処理装置及び画像処理方法 | |
JP6326914B2 (ja) | 補間装置及び補間方法 | |
CN113900746B (zh) | 灵动显示方法及家用电器 | |
JP3729187B2 (ja) | 画像表示装置 | |
JP3740415B2 (ja) | グラフィック処理装置 | |
JP3971448B2 (ja) | 描画装置及び描画方法 | |
JP2013015952A (ja) | 情報処理装置 | |
JP3533197B2 (ja) | 画像処理装置 | |
JPH08235380A (ja) | 多面体表示方法および多面体表示装置 | |
JP3934111B2 (ja) | 描画装置及び描画方法 | |
JP3467085B2 (ja) | 画像表示装置 | |
JPH0764524A (ja) | 画像表示装置 | |
JPS63104191A (ja) | 描画処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040324 |
|
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: 20040810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040903 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |