(57)【要約】【課題】複数のスプライトからなるキャラクタのレンダリング処理を行う際に、スプライトの接続部分における不具合を生じることなくレンダリング処理を行うことができる画像表示装置を提供する。【解決手段】１つのキャラクタが１つの親スプライトと複数の子スプライトから構成される。そして、属性テーブル５に親スプライトおよび子スプライトの属性データがＣＰＵによって書き込まれる。表示処理においては、属性テーブル５の属性データに基づいて親スプライトがキャラクタバッファ６ａ、６ｂに設定され、この親スプライト内に、パターンメモリ１から読み出された子スプライトが配置される。そして、レンダリング処理装置７が、キャラクタバッファ６ａ、６ｂ内のデータを親スプライトの属性データに基づいて変換し、フレームバッファ２ａ、２ｂに書きむ。【選択図】　　図１
2004062787.tif 000002
【特許請求の範囲】
【請求項１】
親スプライトと、該親スプライトに付属する１または複数の子スプライトからなるキャラクタを表示する画像表示装置において、
前記親スプライトおよび前記子スプライトのパターンデータが記憶された記憶手段と、
前記親スプライトおよび前記子スプライトの属性データが記憶された属性テーブルと、
前記記憶手段から読み出された親スプライトおよび子スプライトのパターンデータが書き込まれるキャラクタバッファと、
前記属性テーブルから親スプライトの属性データを読み出し、読み出した属性データに基づいて親スプライトを前記キャラクタバッファに書き込むと共に、前記属性テーブルから前記子スプライトの属性データを読み出し、読み出した属性データに従って前記記憶手段から読み出した前記子スプライトのパターンデータを前記キャラクタバッファに書き込む制御手段と、
前記属性テーブルから前記親スプライトの属性データを読み出し、読み出した属性データに従って前記キャラクタバッファ内のパターンデータを変換してフレームバッファに書き込むレンダリング手段と、
前記フレームバッファ内のデータに基づいて画像表示を行う表示手段と、
を具備してなる画像表示装置。
【請求項２】
前記属性テーブルに記憶されている前記子スプライトの属性データは、前記親スプライトに対する相対位置を表すデータであることを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記記憶手段内のパターンデータは圧縮されており、前記制御手段は、前記記憶手段から読み出したパターンデータをもとのデータに伸長して前記キャラクタバッファに書き込むことを特徴とする請求項１または請求項２に記載の画像表示装置。
【請求項４】
前記親スプライトの属性データは透明を表すデータによって構成されていることを特徴とする請求項１〜請求項３に記載の画像表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、スプライト方式の画像表示装置に関する。
【０００２】
【従来の技術】
画像表示装置の一種にスプライトによって動画を表示する画像表示装置が知られている。この画像表示装置は、可動物であるマンガ主人公等のキャラクタをスプライトとしてパターンメモリに記憶させておき、そのスプライトをパターンメモリから読み出し、画面上において表示し、移動させることによって動画表示を行うものである。
【０００３】
図６は、スプライトバッファを持たない構成であり、パターンメモリ１から読み出されたスプライトのパターンデータはそのままフレームバッファ２ａ、２ｂヘ格納される。フレームバッファ２ａ、２ｂの画像データは交互にモニターへ送信され、表示される。この構成において、スプライトを回転させたり、変形させるレンダリング処理を行う場合、パターンメモリ１から読み出されたパターンデータの各ドットの表示位置座標を変換してフレームバッファ２ａ、２ｂに書き込む必要がある。しかし、パターンメモリ１は通常マスクＲＯＭで構成されるが、マスクＲＯＭはアクセススピードが遅く、したがって、変形処理時にランダムにデータをアクセスするには不向きである。
【０００４】
なお、フレームバッファ２ａ、２ｂはフレームデータ読み出し中に描画することで表示が終了したラインとこれから表示するラインとでデータの整合性が取れなくなる事態を避けるため、および、表示アクセスに影響されずに自由なタイミングで描画を行なうために、描画用の領域と表示用の領域を分けて使用するダブルバッファ方式が採られている。
【０００５】
図７は、フレームバツファ２ａ、２ｂとバターンメモリ１の間に高速アクセスが可能なＳＲＡＭまたはＳＤＲＡＭで構成されるスプライトバッファ３ａ、３ｂを持たせた構成である。スプライトバッファ３ａ、３ｂからの読み出しは高速アクセスが可能なため、ランダムアクセスが必要なレンダリング処理を実現できる。また、スプライトバッファ３ａ、３ｂにビットマップデータが存在すれば良いため、パターンメモリ１内のパターンデータは圧縮しておくことができる。パターンデータを圧縮することでパターンメモリ１から読み出すデータ量を少なくすることができるためスプライト毎のパターンメモリ１からの読み出しスピードを上げることが可能となる。なお、フレームバッファ２ａ、２ｂと同様な理由によりスプライトバッファ３ａ、３ｂもダブルバッファ化されることが多い。
【０００６】
【発明が解決しようとする課題】
ところで、近年、１つのキャラクタを複数のスプライトに分けてパターンメモリ１に記憶させることが行われる。これは、比較的大型のキャラクタを１つのスプライトで作ると、スプライトの範囲（最外形）が矩形状であるため、空白部分が大きくなり、メモリの無駄が多くなるからである。
【０００７】
このような複数のスプライトからなるキャラクタを変形させたい場合、スプライトバッファ３ａ、３ｂ内のパターンデータを、スプライト毎に制御する必要がある。矩形スプライトの変形処理は、４つの頂点の表示座標を設定することで変形の具合を制御することが多い。例えば、図８に示すように、４つのスプライトＡ，Ｂ，Ｃ，Ｄから構成されるキャラクタを変形する場合、各スプライトのそれぞれの４つの頂点が全体キャラクタの中でどの位置に来るかを計算し、その計算結果に従ってスプライトの各ドット表示位置を演算して表示する。しかし、この場合、各スプライト毎に個別にレンダリング処理を行なうため、図８に示すように、スプライト同士が接する部分で隙間が空いたり、重なりができたりする問題がある。
【０００８】
この発明は、このような事情を考慮してなされたもので、その目的は、複数のスプライトからなるキャラクタのレンダリング処理を行う際に、スプライトの接続部分における不具合を生じることなくレンダリング処理を行うことができる画像表示装置を提供することにある。
【０００９】
【課題を解決するための手段】
この発明は、上記の課題を解決するためになされたもので、請求項１に記載の発明は、親スプライトと、該親スプライトに付属する１または複数の子スプライトからなるキャラクタを表示する画像表示装置において、前記親スプライトおよび前記子スプライトのパターンデータが記憶された記憶手段と、前記親スプライトおよび前記子スプライトの属性データが記憶された属性テーブルと、前記記憶手段から読み出された親スプライトおよび子スプライトのパターンデータが書き込まれるキャラクタバッファと、前記属性テーブルから親スプライトの属性データを読み出し、読み出した属性データに基づいて親スプライトを前記キャラクタバッファに書き込むと共に、前記属性テーブルから前記子スプライトの属性データを読み出し、読み出した属性データに従って前記記憶手段から読み出した前記子スプライトのパターンデータを前記キャラクタバッファに書き込む制御手段と、前記属性テーブルから前記親スプライトの属性データを読み出し、読み出した属性データに従って前記キャラクタバッファ内のパターンデータを変換してフレームバッファに書き込むレンダリング手段と、前記フレームバッファ内のデータに基づいて画像表示を行う表示手段とを具備してなる画像表示装置である。
【００１０】
また、請求項２に記載の発明は、請求項１に記載の画像表示装置において、前記属性テーブルに記憶されている前記子スプライトの属性データは、前記親スプライトに対する相対位置を表すデータであることを特徴とする。
また、請求項３に記載の発明は、請求項１または請求項２に記載の画像表示装置において、前記記憶手段内のパターンデータは圧縮されており、前記制御手段は、前記記憶手段から読み出したパターンデータをもとのデータに伸長して前記キャラクタバッファに書き込むことを特徴とする。
また、請求項４に記載の発明は、請求項１〜請求項３に記載の画像表示装置において、前記親スプライトの属性データは透明を表すデータによって構成されていることを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照し、この発明の一実施の形態について説明する。図１は同実施の形態による画像表示装置の全体構成を示すブロック図である。この画像表示装置においては、１つのキャラクタが１つの親スプライトと複数の子スプライトによって構成される。親スプライトはキャラクタの矩形状の外形を定義するもので、パターン（絵柄）データが付属している場合と、パターンデータがなく全面が透明の場合がある。子スプライトは親スプライトの中に配置されるスプライトであり、それぞれについて親スプライト中の位置およびパターンデータが定義される。
【００１２】
図１において、１は各スプライトのパターンデータが圧縮されて記憶されているパターンメモリであり、マスクＲＯＭによって構成されている。５は各スプライトの属性が記憶された属性テーブルであり、図２に示すように、親スプライトの属性が記憶され、次いで、その親スプライトに属する子スプライトの属性が順次記憶されている。この属性テーブル５は画像表示を制御するＣＰＵ（中央処理装置；図示略）によって書き込みが行われるもので、スプライトのサイズ（Ｓｉｚｅ＿Ｘ，Ｓｉｚｅ＿Ｙ）、表示位置座標（ＤＯＸ，ＤＯＹ）、パターンネーム、パターンデータのパターンメモリ格納アドレス、変形時の頂点座標、キャラクタ終了属性（ＥＮＤ、子スプライトの終を示す）、パターンデータの有無（ＮＯＰＤ）、拡大・縮小率、角度、カラー演算（色調、明るさ）パラメータなどが格納される。
【００１３】
６ａ、６ｂはキャラクタバッファであり、パターンメモリ１から読み出された複数のスプライトの圧縮パターンデータが伸張された後書き込まれる。７はレンダリング処理装置であり、キャラクタバッファ６ａ、６ｂ内に書き込まれたパターン（絵柄）に対し、拡大、縮小、回転等の変換を行ってフレームバッファ２ａ、２ｂに書き込む。８は表示スキャン制御回路であり、フレームバッファ２ａ、２ｂ内の画像データを交互に、クロックパルスに従って順次読み出し、モニター９へ出力する。
【００１４】
図３は、この画像表示装置の概略動作を示す図であり、属性テーブル５の属性データに基づいて親スプライトＫがキャラクタバッファ６ａ、６ｂに設定され、この親スプライトＫ内に、パターンメモリ１から読み出された子スプライトＡ、Ｂ、Ｃ、Ｄが配置される。そして、このキャラクタバッファ６ａ、６ｂ内のデータがレンダリング処理装置７によって変換され、フレームバッファ２ａ、２ｂに書き込まれる。
【００１５】
次に、上述した画像表示装置の動作を詳細に説明する。
図４はキャラクタバッファ６ａ、６ｂヘデータを格納するための処理回路を示す。図において、属性テーブルアドレスカウンタ１１は、フレームバッファ２ａ、２ｂの書込開始時に、予め決定された属性テーブル開始アドレスから、表示するスプライト毎に順番に属性テーブルアドレスをカウントする。１つのスプライトがキャラクタバッファ６ａ、６ｂに格納された時点でカウントアップが行なわれる。スプライトは、キャラクタ全体の表示属性を決定する親スプライトと、親スプライトからリンクされてキャラクタを構成する絵柄部品を描画するための子スプライトとが定義されている。子スプライトの属性値として格納されるキャラクタ終了属性（ＥＮＤ）が１であるスプライトまでが１つのキャラクタを構成する子スプライトとなる。ＥＮＤ＝１であるスプライト属性テーブル５の次に格納されているスプライト属性は、別のキャラクタの親スプライトとなる。
【００１６】
属性テーブル５にはスプライトサイズ、スプライトのパターンネーム、表示位置座標（ＤＯＸ，ＤＯＹ）などがあらかじめＣＰＵによって格納されており、属性テーブルアドレスにしたがってこれらの属性データが読み出される。スプライトサイズ、表示位置座標はキャラクタバッファ６ａ、６ｂの書込アドレスを生成するために使用される。従来の回路では、表示位置座標はフレームバッファ２ａ、２ｂヘの書込アドレスを生成するためにのみ使用されたが、本装置においては、子スプライトではキャラクタバッファ６ａ、６ｂ内の描画位置を決定するために使用され、親スプライトでは、フレームバッファ内の描画位置を決定するために使用される。
【００１７】
親スプライトにおいては、スプライトサイズにしたがってキャラクタバッファ６ａ、６ｂの先頭位置からパターンデータが格納される。親スプライトがキャラクタ全体の表示属性のみを設定するために用いられ、キャラクタの絵柄部品は子スプライトのみによって構成される場合、親スプライトは子スプライトを格納する領域を確保するためにのみキャラクタバッファ６ａ、６ｂを使用する。この場合、パターンデータをパターンメモリ１から読み出してくる必要がないため、属性テーブル５にＮＯＰＤ（ＮＯ　Ｐａｔｔｅｒｎ　Ｄａｔａ）というビットを設け、これがアクティブである親スプライトでは、予め決められた透明データをキャラクタバッファ６ａ、６ｂに書き込む。これにより、アクセススピードの遅いパターンメモリ１からデータを読み出す必要がないため、描画スピードが向上する。子スプライトのバターンデータは、親スプライトにより確保されたキャラクタデータの領域内に書き込まれる。子スプライトの表示位置座標は、親スプライトの表示位置座標に対する相対値としてあらかじめ属性テーブル５に格納されている。
【００１８】
キャラクタバッファ描画アドレス生成回路１２は、親スプライトの描画に対してはスプライトサイズ属性のみを使用し、パターンメモリ１から読み出された親スプライトのパターンデータか、もしくは、透明データを順次描画するアドレスを生成する。
【００１９】
キャラクタバッファ６ａ、６ｂの描画開始アドレスは、キャラクタバッファ６ａ、６ｂの描画先頭アドレスとし、順次描画データを格納するアドレスは予め決められたパターンメモリ１上のパターンデータの格納順序に準じて描画アドレスを生成する。例えば、ある水平ライン上にあるスプライト×サイズ分のパターンデータを描画し終わったあとに、Ｙ座標をインクリメントして次のライン上にあるパターンデータを描画するラスタースキャン方式でパターンデータが格納されている。
【００２０】
キャラクタバッファ描画アドレス生成回路１２は、子スプライトの描画に対してはスプライトサイズと表示位置属性（ＤＯＸ，ＤＯＹ）を用いて、パターンメモリ１から読み出された子スフライトのパターンデータを描画するアドレスを生成する。子スプライトにおけるキャラクタバッファ６ａ、６ｂの描画開始アドレスは、親スプライトの基準座標に対する相対座標である表示位置座標（ＤＯＸ，ＤＯＹ）に従って決められる。描画開始アドレスから順次描画データを格納するアドレスは親スプライトと同様に、あらかじめ決められたパターンメモリ１上のパターンデータの格納順序に準じて描画アドレスを生成する。
【００２１】
パターンメモリアドレス生成回路１３は、属性テーブル５のパターンネーム属性にしたがって、キャラクタバッファ６ａ、６ｂに描画するパターンデータが格納されたパターンメモリ１のアドレスを生成する。
セレクタ１４は、親スプライトのＮＯＰＤ属性データにしたがって、キャラクタバッファ６ａ、６ｂに描画するデータを、パターンメモリ１から読み出されたデータ（ＮＯＰＤ＝０の時）または透明データ（ＮＯＰＤ＝１の時）のいずれか一方を選択する。
【００２２】
子スプライトのリンクがＥＮＤビットによって終了するまでの間、親スプライトで確保されたキャラクタバッファ６ａ、６ｂの領域に対し子スプライトを格納する。これにより、フレームバッファ２ａ、２ｂに格納する前にキャラクタの図柄がキャラクタバッファ６ａ、６ｂに構成される。
【００２３】
次に、レンダリング処理を図５を参照して説明する。レンダリング処理回路７は、キャラクタバッファ６ａ、６ｂに格納されているキャラクタデータの読み出しアドレスを生成すると共に、親スプライトの表示位置座標（Ｄ０Ｘ，ＤＯＹ）および、変形、回転等を行なう際には変形後の４頂点座標（ＤＡＸ，ＤＡＹ，ＤＢＸ，ＤＢＹ，ＤＣＸ，ＤＣＹ，ＤＤＸ，ＤＤＹ）を属性テーブル５から受け取り、フレームバッファ２ａ、２ｂヘの描画アドレスを生成する。キャラクタバッファ６ａ、６ｂに格納されたキャラクタデータは、親スプライトの表示属性にしたがって、フレームバッファ２ａ、２ｂへ１つのパターン（図柄）として描画される。したがって、ＣＰＵはキャラクタ内にリンクされた子スプライト毎に、予めフレームバッファ６ａ、６ｂ上の４頂点の座標を計算して属性値として与える必要がない。
【００２４】
キャラクタバリファ６ａ、６ｂはダブルバッファ構造を持つ。そのためキャラクタバッファ６ａ、６ｂ内にキャラクタデータのリンクが終了した領域は、フレームバッファ２ａ、２ｂヘの描画のための読み出しデータ領域となる。レンダリング処理回路７は、キャラクタ単位に処理を行う。したがって、キャラクタバッファ６ａ、６ｂヘの子スプライトのリンクが終了した時点で親スプライトの表示属性にしたがって、フレームバッファ２ａ、２ｂヘの転送を開始する。
【００２５】
フレームバッファ２ａ、２ｂもダブルバッファ構造を有し、これにより、モニター９のスキャン周期に合わせて、すでにフレームデータの構築が終了したフレームバッファ２ａ、２ｂのデータがモニター９ヘ表示データとして送出され、もう一方のフレームバッファ２ａ、２ｂに、キャラクタバッファ６ａ、６ｂからキャラクタデータが転送されてフレームデータが構成される。フレームデータは通常モニターのスキャン周期に合わせて、例えば１／６０秒で１つのフレームをリフレッシュ（再描画）する。アミューズメントシステムにおける表示制御装置では動きのある画像の表示を制御するため、１／６０秒で新しいフレームデータに更新する必要がある。そのためより複雑なパターンを表示するためにフレームバッファ２ａ、２ｂをダブルバッファ化し、モニター９ヘの表示のためにフレームデータに使用するバッファの裏で、次のフレームデータを作成している。
【００２６】
上述したように、この実施形態による画像表示装置は、フレームバッファ２ａ、２ｂとパターンメモリ１の間のバッファを、スプライト単位ではなく、キャラクタ単位で格納できるようにすることで、キャラクタ全体の変形を、１つのスプライトの変形処理と同様の処理によって行なうことができるため、個々のスプライトの頂点位置の計算が不要となり、かつ、もともと接する位置にあるパターンデータを変形するため、スプライトの接続部分に隙間が空いたり、重なりができたりする問題を防ぐことができる。
【００２７】
【発明の効果】
以上説明したように、この発明によれば、複数のスプライトからなるキャラクタのレンダリング処理を行う際に、スプライトの接続部分における不具合を生じることなくレンダリング処理を行うことができる効果が得られる。
【図面の簡単な説明】
【図１】この発明の一実施形態による画像表示装置の全体構成を示すブロック図である。
【図２】同実施形態における属性テーブル５の記憶内容を示す図である。
【図３】同実施形態の概略動作を説明するための図である。
【図４】同実施形態におけるキャラクタバッファ６ａ、６ｂの書込動作を説明するための図である。
【図５】同実施形態におけるフレームバッファ２ａ、２ｂの書込動作を説明するための図である。
【図６】従来のフレームバッファ書込動作の一例を説明するための図である。
【図７】従来のフレームバッファ書込動作の他の例を説明するための図である。
【図８】従来のフレームバッファ書込動作の問題点を説明するための図である。
【符号の説明】
１…パターンメモリ、２ａ、２ｂ…フレームバッファ、５…属性テーブル、６ａ、６ｂ…キャラクタバッファ、７…レンダリング処理装置、９…モニター。
【図１】
2004062787.tif 000003
【図２】
2004062787.tif 000004
【図３】
2004062787.tif 000005
【図４】
2004062787.tif 000006
【図５】
2004062787.tif 000007
【図６】
2004062787.tif 000008
【図７】
2004062787.tif 000009
【図８】
2004062787.tif 000010