JP2004012514A - 画像表示装置 - Google Patents
画像表示装置 Download PDFInfo
- Publication number
- JP2004012514A JP2004012514A JP2002161660A JP2002161660A JP2004012514A JP 2004012514 A JP2004012514 A JP 2004012514A JP 2002161660 A JP2002161660 A JP 2002161660A JP 2002161660 A JP2002161660 A JP 2002161660A JP 2004012514 A JP2004012514 A JP 2004012514A
- Authority
- JP
- Japan
- Prior art keywords
- sequencer
- data
- sprite
- code
- pattern
- 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.)
- Pending
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】CPUにかかる負荷を軽減できる画像表示装置を提供する。
【解決手段】CPU22は、表示装置2に表示するスプライトの属性データを指示するためにシーケンサコードとシーケンサデータとをシーケンサテーブル21に書き込む。シーケンサデータ制御部24は、シーケンサテーブル21からシーケンサコードとシーケンサデータとを読み出し、シーケンサコードが「SEQDATA」である場合、シーケンサデータに基づいて、属性データを書きかえる。シーケンサコードが「JMP」、「LOOP」、「LOOPEND」である場合、読み出しアドレス制御部23に出力する。読み出しアドレス制御部23は、シーケンサコードとシーケンサデータとに基づいてシーケンサリードアドレスを順次生成し、シーケンサテーブルをアドレッシングする。
【選択図】 図1
【解決手段】CPU22は、表示装置2に表示するスプライトの属性データを指示するためにシーケンサコードとシーケンサデータとをシーケンサテーブル21に書き込む。シーケンサデータ制御部24は、シーケンサテーブル21からシーケンサコードとシーケンサデータとを読み出し、シーケンサコードが「SEQDATA」である場合、シーケンサデータに基づいて、属性データを書きかえる。シーケンサコードが「JMP」、「LOOP」、「LOOPEND」である場合、読み出しアドレス制御部23に出力する。読み出しアドレス制御部23は、シーケンサコードとシーケンサデータとに基づいてシーケンサリードアドレスを順次生成し、シーケンサテーブルをアドレッシングする。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、簡便に動画表示を実現する画像表示装置に関するものである。
【0002】
【従来の技術】
従来から、ビデオゲーム等の分野においては、スプライト表示方式がしばしば用いられる。ここで、スプライト表示方式とは、画面に表示されるキャラクタ毎に表示位置属性(スプライト属性)を持ち、そのスプライト属性に従いキャラクタを配置することで全体の画面を構成する方式である。表示位置などの属性を持ったキャラクタをスプライトという。ビデオゲームなどのように、インタラクティブに高速にキャラクタを動かす場合、スプライト表示方式では、動かすキャラクタのスプライト属性を変更するだけで画面の書き換えをすることができる。
【0003】
図16は、従来のスプライト表示方式による画像表示装置の構成を示す概略ブロック図である。スプライト属性テーブル1には、表示装置2に表示するスプライト毎の表示位置、スプライトパターン(キャラクタの絵柄)番号、スプライトパターンデータ(絵柄データ)のデータフォーマットなどのスプライトに関する属性データが格納されている。CPU(中央処理装置)3は、フレーム周期にあわせて属性テーブルのデータ(表示位置やスプライトパターン番号)等を変更して、スプライトの表示内容をダイナミックに変更することにより、スプライトで構成される表示画面に動きを演出する。このスプライト属性テーブル1に格納されたスプライトパターン番号を基に、パターン番号読み出し回路4およびパターンROMアドレス生成回路5がパターンデータが格納されているパターンROM6のアドレスを生成する。
【0004】
一方、表示位置読み出し回路8は、スプライト属性テーブル1に格納されているスプライト表示位置データを読み出し、フレームバッファアドレス生成回路9へ出力する。フレームバッファアドレス生成回路9は、そのスプライト表示位置データに基づいてフレームバッファアドレスを生成し、フレームバッファ10へ出力する。このアドレスによって、パターンROM6から読み出されたパターンデータが、フレームバッファ10に格納される。
【0005】
表示されるスプライトの数だけ、上述したパターンデータの読み出し、フレームバッファ10への書き込み処理を行い、1つの画面データがフレームバッファ10に展開される。フレームバッファ10に格納されたパターンデータは、表示装置2のスキャンタイミングに従い、フレームバッファ10から読み出され、表示データ処理部12に出力される。表示データ処理部12は、スプライト属性テーブルから読み出されたパターンデータフォーマットに従って、カラールックアップテーブル13またはYUVデコーダ14へパターンデータを出力し、これによりパターンデータをRGB(レッド・グリーン・ブルー)データに変換し、CRT(Cathode Ray Tube)や液晶表示装置等の表示装置2へ出力する。
【0006】
このようにして、1つのフレームを構成する複数のスプライトは、それぞれの属性テーブルの設定内容に従って、パターンデータをフレームバッファに描画することによって画面を構築する。
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来技術によれば、属性テーブルの変更は、表示装置2のスキャンタイミングに合わせて全てCPU3が順次変更する必要があり、CPU3にかかる負荷が大きいという問題点があった。
【0008】
本発明は、このような事情に鑑みてなされたもので、その目的は、CPUにかかる負荷を軽減できる画像表示装置を提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、本発明は、所定のシナリオに従ってスプライトを順次読み出し、フレームバッファの所定表示位置に書き込むことによって画像を表示装置に表示する画像表示装置であって、前記スプライトを構成するパターンデータが予め記憶されたパターンデータ記憶手段と、前記パターンデータを特定するパターン番号と表示位置を定義する情報とがスプライトナンバに対応付けられて記憶されたスプライト属性テーブルと、表示するスプライトのスプライトパターンを特定するシーケンサデータと、該シーケンサデータによって特定されるスプライト表示する指示とアドレスを生成する指示とを含むシーケンサコードと、を記憶するシーケンサテーブルと、前記シーケンサテーブルをアドレッシングするアドレス制御手段と、前記アドレス制御手段のアドレッシングに基づき、前記シーケンサテーブルからシーケンサデータとシーケンサコードとを読み出し、スプライトナンバを出力するシーケンサデータ制御手段と、前記シーケンサデータ制御手段によって出力されるスプライトナンバに対応するパターン番号と表示位置を定義する情報とを前記スプライト属性テーブルから読み出すスプライト属性読み出し手段と、前記スプライト属性読み出し手段が読み出したパターン番号を有するパターンデータを前記パターンデータ記憶手段から読み出すパターンデータ読み出し手段と、前記パターンデータ読み出し手段が読み出したパターンデータを前記スプライト属性読み出し手段が読み出した表示位置を定義する情報に基づく表示位置で示される前記フレームバッファに対して書き込むフレームバッファ書き込み手段とを備えたことを特徴とする。
【0010】
また、本発明は、上述の画像表示装置において、前記シナリオの進行状況に基づいて、前記シーケンサテーブルにシーケンサデータとシーケンサコードを書き込む手段を有することを特徴とする。
また、本発明は、上述の画像表示装置において、前記シーケンサデータ制御手段は、前記表示装置のフレーム周期に同期させてスプライトナンバの読み出し指示をすることを特徴とする。
また、本発明は、上述の画像表示装置において、前記シーケンサコードには、シーケンサテーブル内の特定のアドレス間のシーケンサデータを読み出すための情報が含まれることを特徴とする。
【0011】
【発明の実施の形態】
以下、本発明の一実施形態による画像表示装置を図面を参照して説明する。
図1は、この発明の一実施形態による画像表示装置の構成を示す概略ブロック図である。この図において図16の各部に対応する部分には同一の符号を付け、その説明を省略する。
シーケンサテーブル21は、シーケンサデータと、シーケンサコードとを記憶する。このシーケンサテーブル21に記憶されるシーケンサデータとシーケンサコードとの一例を図2に示す。シーケンサコードとシーケンサデータは、シーケンサリードアドレス(以下、SRAと称する)に示されるアドレス内に格納される。シーケンサコードは、シーケンサデータの読み出し順序のループを開始する「LOOP」、ループ終了を指示する「LOOPEND」、シーケンサデータによって指定されるジャンプ先のアドレスに移行する「JMP」、スプライト属性テーブル1に記憶されている各種属性データの変更を指示する「SEQDATA」等がある。
【0012】
また、シーケンサデータには、属性データを指示するためのデータ以外に、「LOOPEND」での戻り先アドレスを示すデータ、「JMP」でのジャンプ先アドレスを示すデータが含まれる。
【0013】
CPU(中央処理装置)22は、シーケンサデータとシーケンサコードとをシーケンサテーブル21に書き込む。この書き込みは、アニメーションを表示するシナリオの進行状況に基づいて、所定の記憶部内に格納されているシーケンサデータとシーケンサコードを読み出して、シーケンサテーブル21に書き込む。すなわち、CPU22は、1シーン(一連のシーケンシャルな動画を含む場面)毎にシーケンサデータとシーケンサコードとをシーケンサテーブル21に順次書き込む。このCPU22が上述の書き込み手段に相当する。読み出しアドレス制御部23は、シーケンサコード及びシーケンサデータに基づいて、シーケンサテーブルをアドレッシングするSRAを生成する。
【0014】
シーケンサデータ制御部24は、読み出しアドレス制御部23が生成するアドレスに基づいて、シーケンサテーブル22からシーケンサデータとシーケンサコードとを読み出し、シーケンサコードがスプライトの切り替えを指示するシーケンサコード(例えば、「SEQDATA」)である場合、シーケンサデータに基づいて表示すべきスプライトナンバをスプライト属性テーブル1へ書き込む制御をする。
【0015】
このシーケンサデータ制御部24について図8を用いてさらに説明する。この図に示すように、シーケンサデータ制御部24は、DECODER(デコーダ)40を有しており、このデコーダ40によって、シーケンサコードをデコードし、デコード後のシーケンサコード「JMP」、「LOOP_START」、「LOOP_END」をシーケンサデータとともに読み出しアドレス制御部23に出力する。また、シーケンサデータ制御部24は、デコード後のシーケンサコードが「SEQDATA」である場合、描画周期に同期させて、シーケンサデータをスプライト表示指示として、スプライト属性テーブル1に書き込む。
【0016】
次に、上述した構成における画像表示装置の動作について図面を用いて説明する。図3から図7は、画像表示装置の動作を説明するためのフローチャートである。ここでは、シーケンサテーブルの読み出し開始アドレスを「0000」、属性データ切り替えをパターン番号(スプライトネーム)に対して行うものとして説明する。まず、画像表示装置に電源が投入されると、CPU22は、シーケンサデータとシーケンサコードとをシーケンサテーブル21に書き込み(図3ステップS1)、読み出し開始アドレス「0000」を読み出しアドレス制御部23に指示する(図3ステップS2)。そして、CPU22は、画像の表示開始のタイミングに基づいて、トリガを読み出しアドレス制御部23に出力する(図3ステップS3)。
【0017】
読み出しアドレス制御部23は、CPU22からトリガが出力されると、読み出し開始アドレスをSRAとして、シーケンサテーブル21をアドレッシングする。これを受けて、シーケンサデータ制御部24は、読み出しアドレス制御部23からのSRA「0000」に基づいて、シーケンサテーブル21に格納されているシーケンサコードとシーケンサデータとを読み出し(図3ステップS4)、読み出したシーケンサコードを解析する(図3ステップS5)。そして、解析結果に応じてスプライト属性テーブル1を変更する(図3ステップS6)。
【0018】
次に、図3ステップS6におけるスプライト属性テーブル1の変更制御について、図4、5を参照してさらに詳細に説明する。
例えば、シーケンサコードが「LOOP」である場合(図2符号(a1))(図4ステップS11)、シーケンサデータ制御部24は、シーケンサコードの「LOOP」とシーケンサデータの「2」(符号(a2))とを読み出しアドレス制御部23に出力する。読み出しアドレス制御部23は、シーケンサコードが「LOOP」であり、シーケンサデータが「2」であるので、ループカウンタのカウント値を「2」に設定して一時保持し(図4ステップS12)、SRAを4アドレス分カウントアップし、SRAを「0004」として、シーケンサテーブル21をアドレッシングするとともに、このSRAをループ開始アドレスとして一時保持する(図4ステップS14)。
【0019】
シーケンサデータ制御部24は、SRA「0004」に基づいてシーケンサテーブル21からシーケンサコードとシーケンサデータとを読み出し、読み出したシーケンサコードとシーケンサデータとを一時保持し、シーケンサコードを読み出しアドレス制御部23に出力する。
【0020】
この場合は、シーケンサコード「SEQDATA」(図2符号(b1))とシーケンサデータ「SN=0」(図2符号(b2))とが、一時保持されている。そして、シーケンサコードが「SEQDATA」である場合すなわち、スプライトナンバ設定コードである場合(図5ステップS21)、シーケンサデータ制御部24は、自身に内蔵されているタイマに基づいて、描画周期の同期タイミングであるか否かを検出し(図5ステップS22)、同期タイミングである場合に、一時保持したシーケンサデータをスプライトナンバ(SN=0)として、スプライト属性テーブル1へ書き込む。これにより、パターン番号読み出し回路4及びパターンROMアドレス生成回路5によって、このスプライトナンバに対応するパターンROM6のアドレスが生成され、フレームバッファ10内にパターンデータが書き込まれ、フレーム周期に同期して表示装置2に表示される。
一方、読み出しアドレス制御部23は、SRAを4アドレス分カウントアップし、SRAを「0008」として(図5ステップS24)、シーケンサテーブル21をアドレッシングをする。これにより、アドレス「0016」まで順次スプライトナンバが変更される。
【0021】
そして、SRAが「0020」である場合、シーケンサコードが「LOOPEND」であり(図2符号(c1))、ループ終了を意味するコードであるので(図6ステップS31)、シーケンサデータ制御部24は、LOOPENDを読み出しアドレス制御部23に出力する。読み出しアドレス制御部23はLOOPENDを受け取ると、ループカウンタのカウント値から1カウント分をカウントダウンし(図6ステップS32)、ループカウンタのカウント値が「0」であるか否かを検出する(図6ステップS33)。カウント値が「0」でない場合、読み出しアドレス制御部23は、一時保持していたループ開始アドレス「0004」をSRAとして、シーケンサテーブル21をアドレッシングする(図6ステップS34)。
【0022】
一方、読み出しアドレス制御部23は、カウント値が「0」である場合、SRAを4カウント分カウントアップして、SRA「0024」を生成し、シーケンサテーブル21をアドレッシングする(図6ステップS35)。
【0023】
次に、シーケンサデータ制御部24は、SRA「0024」に基づいてシーケンサテーブルからシーケンサコードとシーケンサデータとを読み出す。この場合、シーケンサコードが「JMP」であるので(図2符号(d1))、シーケンサデータ制御部24は、ジャンプコードであるとして(図7ステップS41)、JMPとシーケンサデータとを読み出しアドレス制御部23に出力する。読み出しアドレス制御部23は、このJMPを受けとると、シーケンサデータ「JMP=0100」すなわち、ジャンプ先アドレス0100をジャンプ先のSRAとし(図7ステップS42)、シーケンサテーブル21をアドレッシングする。
【0024】
ここで、図2に示すシーケンサテーブル21について、上述したシーケンス処理が行われた場合、図9に示すように、スプライトナンバは、0、1、2、1が2度繰り返された後、3、4、5、6、7の順に切り替わる(符号(e))。これにより、表示装置2の画面上には、符号(f)に示すようにスプライトが順次表示され、インタラクティブに動画を再生することができる。
【0025】
図10に、スプライト属性テーブル1のテーブル構造を示す。この図に示すように、スプライト属性テーブル1は、4バイトで構成されている。1バイト目の最下位ビット(color)は、表示するスプライトの色数を指定するものであり、例えば、「1」であるとき256色表現、「0」であるとき16色表現というようにデータのフォーマットを指定する。2バイト目(SN7−0)は、スプライトネーム(パターン番号)であり、256種類あるスプライトの中から1つのスプライトを選択するものである。3,4バイト目は、2バイト目で選択したスプライトを表示する(画面上の)表示位置座標であり、3バイト目がX座標、4バイト目がY座標を示している。このスプライト属性テーブル1を外部から順次書き換えることによって、2バイト目で選択されたスプライトが1バイト目で指定された表示色で3,4バイト目で指定された表示位置座標に表示されることとなる。
【0026】
ここで、図11〜14を参照して、スプライト属性テーブル1の変化に伴い、表示画面が変化する動作を説明する。ここでは、読み出しアドレス制御部23から出力されるSRAが、「0004」→「0008」→「0012」→「0016」と変化したものとする。
まず、SRA「0004」が指定されると、シーケンサテーブル21のアドレス「0004」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=0がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000000(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=0のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、1番目のフレームが生成される(図11)。
【0027】
次に、SRA「0008」が指定されると、シーケンサテーブル21のアドレス「0008」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=1がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000001(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=1のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、2番目のフレームが生成される(図12)。
【0028】
次に、SRA「0012」が指定されると、シーケンサテーブル21のアドレス「0012」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=2がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000010(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=2のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、3番目のフレームが生成される(図13)。
【0029】
最後に、SRA「0016」が指定されると、シーケンサテーブル21のアドレス「0016」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=1がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000001(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=1のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、4番目のフレームが生成される(図14)。
【0030】
この1番目のフレームから4番目のフレームを再生することにより、三角形の図形が右に傾き、次に中立へ戻り、次に左へ傾き、さらに中立へ戻る動きを生成することが可能となる。また、この一連の動作を所定回数ループさせることによって三角形の図形が左右に傾く動画を生成することが可能となる。
【0031】
次に、図15を用いて、読み出しアドレス制御部23について説明する。SEQ.TABLE Address Counter(以下、シーケンシャルテーブルアドレスカウンタと称する)52はロード入力LDが非アクティブ(“0”)の時はBank Flipが入力される毎に4ずつカウントアップし、LDがアクティブ(“1”)の時はBank Flipが入力された時、セレクタ51の出力を取込むように構成されている。CPU22から出力される読み出し開始アドレスは、SEQTBA(シーケンサテーブルベースアドレス)50に一時保持される。そして、SEQ_START(トリガ)がSEL(セレクタ)51(SC)に入力されると、ポートCが選択され、読み出し開始アドレスがSEQTBA50から読み出され、シーケンサテーブルアドレスカウンタ52を介してSRAとして出力される。シーケンサテーブルアドレスカウンタ52は、SEQ_STARTが入力されることによりOR回路53からの出力に接続されたLD(ロード)がアクティブになるので、開始アドレスの出力後からシーケンサリードアドレスをBank Flip(クロック)からの入力に応じてカウントアップする。
【0032】
次に、シーケンサテーブルアドレスカウンタ52は、シーケンサコードがSEQDATAである場合、すなわち、JMPでもSEQ_STARTでも、LOOP_ENDでもないので、LDは非アクティブであるのでBank Flipに応じてSRAを4カウント分カウントアップした後、シーケンサテーブル21をアドレッシングする。
【0033】
一方、シーケンサコードが「JMP」である場合、セレクタ51のポートBが選択され、シーケンサテーブルアドレスカウンタ52のLDがアクティブになり、このシーケンサコードとともに読み出されたシーケンサデータがジャンプ後のSRAとして、セレクタ51とシーケンサテーブルアドレスカウンタ52とを介してシーケンサテーブル21をアドレッシングする。
【0034】
また、シーケンサコードが「LOOP」である場合、デコードされた「LOOP_START」が入力され、SRAをインクリメントしてLSA(ループ開始アドレス保持回路)57に保持するとともに、このインクリメントされたSRAを出力する。このとき同時にSEQ_Data(シーケンサデータ)をLoopDown Counter(ループダウンカウンタ)54に保持する。そして、LOOP_ENDが入力されるまでSRAをカウントアップする。
【0035】
次に、読み出されたシーケンサコードが「LOOP_END」である場合、ループダウンカウンタ54は、ループダウンカウントを1カウント分カウントダウンし、比較器55に出力する。比較器55は、このカウント値が0の場合に、AND回路56に「HI」を出力する。比較器55から「HI」が出力されるとともに、LOOP_END(ハイレベル)が入力されているので、AND回路56によってセレクタ51のポートAが選択される。これにより、ループスタートアドレス57に保持されているアドレスがシーケンサテーブルアドレスカウンタ52に設定され、出力される。
【0036】
一方、ループダウンカウンタ54のカウント値が0でない場合、比較器55は、AND回路56に「LOW」を出力する。比較器55から「LOW」が出力されると、AND回路56の出力が「0」となり、セレクタ51のポートAは選択されない。これにより、Bank Flipに応じてカウントされた値がSRAとしてシーケンサテーブル21をアドレッシングする。
【0037】
なお、以上説明した実施形態において、シーケンサテーブル21に書き込むシーケンサコードがジャンプコードとループコードとである場合について説明したが、シーケンサコードとしては、ジャンプコードとループコード以外であってもよい。例えば、条件付き「JMP」を適用してもよい。すなわち、「JMP」コードにおいて、参照フラグが「1」である場合にシーケンサデータに対応するアドレスに移行し、参照フラグが「0」である場合に、ジャンプは行わず、次のアドレスに移行する。また、この参照フラグをCPU22から設定することにより、必要に応じてCPU22から表示内容を変更することが可能となる。
【0038】
また、シーケンサ処理を終了する「SEQEND」を設け、このシーケンサコードの設定に従い、終了処理を行うようにしてもよい。
また、ジャンプコードとループコードを用いずに、読み出す順にシーケンサデータをシーケンサテーブルに書き込むようにしてもよい。
また、上述した実施形態においては、属性データの変更する対象をパターン番号として説明したが、属性データの変更対象を表示位置座標にし、スプライトによって表示するパターンの画面内の移動を制御するようにしてもよい。
【0039】
また、動画を表示する場面毎にシーケンサテーブル21を設けるようにしてもよい。
また、属性データの変更タイミングをフレーム周期に同期させるほかに、読み出し周期をCPU22から設定するようにしてもよい。これにより、動画のコマ送り速度を設定することができる。
【0040】
また、図1のパターンROMアドレス生成回路5およびフレームバッファアドレス生成回路9に代えて、パターン番号読み出し回路4が読み出したパターン番号を有するパターンデータをパターンROM6からから読み出すパターンデータ読み出し部を設けるとともに、パターンデータ読み出し部が読み出したパターンデータを表示位置読み出し回路8が読み出した表示位置を定義する情報に基づく表示位置で示されるフレームバッファ10に対して書き込むフレームバッファ書き込み部とを設けるようにしてもよい。
【0041】
また、上述の実施形態においては、シーケンサデータ制御部24が、図8デコーダ40によって、シーケンサコードをデコードしていた。しかし、読み出しアドレス制御部23が、デコードを行うようにしてもよい。すなわち、シーケンサテーブル21を参照し、シーケンサコードがアドレス生成の指示である場合(例えば、「JMP」、「LOOP」、「LOOPEND」である場合)にアドレスを生成し、シーケンサコードがスプライトを表示する指示である場合(例えば、「SEQDATA」である場合)にシーケンサコードに対応するシーケンサデータが格納されたアドレスを生成するようにしてもよい。この場合において、シーケンサデータ制御部24は、読み出しアドレス制御部23によって生成されるアドレスに格納されたシーケンサデータを読み出し、読み出したシーケンサデータに基づいて、スプライト属性テーブル1を変更する。
【0042】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0043】
【発明の効果】
以上説明したように、この発明によれば、表示装置に表示する属性データを指示するためのシーケンサデータとシーケンサデータの読み出し順序を決定するためのシーケンサコードとをシーケンサテーブルに記憶しておき、シーケンサコードに基づいて、シーケンサデータを読み出すアドレスを生成し、この生成されるアドレスに基づいて、シーケンサテーブルからシーケンサデータを読み出し、読み出したシーケンサデータに基づいて表示するようにしたので、CPUが属性データを変更する制御を行う必要がなくなり、これにより、簡便に画像を表示させ、CPUにかかる負荷を軽減させることができる効果が得られる。そして、CPUにかかる負荷を軽減することができるので、CPUに対し、他の処理として、効果音を放音させたり、キーボードやジョイスティック等の操作部を介してユーザからの操作の指示が複雑であっても処理を行うことが可能となり、ユーザにとって従来にない新たな遊技感覚を得ることができ、ゲームの娯楽性を向上させることができる効果が得られる。
【0044】
また、この発明によれば、シーケンサコードに、同一のシーケンサデータを繰り返して読み出すためのコード“LOOP”を設けるようにしたので、シーケンサデータを重複してシーケンサテーブルに記憶する量を軽減させることができ、これにより、テーブルを格納するメモリの容量を削減し、コストを低減させることができる効果が得られる。
【図面の簡単な説明】
【図1】この発明の一実施形態による画像表示装置の構成を示す概略ブロック図である。
【図2】シーケンサテーブル21に記憶されるシーケンサデータとシーケンサコードとの一例を示す図面である。
【図3】画像表示装置の動作を説明するためのフローチャートである。
【図4】画像表示装置の動作を説明するためのフローチャートである。
【図5】画像表示装置の動作を説明するためのフローチャートである。
【図6】画像表示装置の動作を説明するためのフローチャートである。
【図7】画像表示装置の動作を説明するためのフローチャートである。
【図8】シーケンス処理が行われる場合を示すタイムチャートである。
【図9】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図10】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図11】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図12】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図13】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図14】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図15】読み出しアドレス制御部23の構成を説明するための概略ブロック図である。
【図16】従来技術における画像表示装置の構成を示す図面である。
【符号の説明】
1…スプライト属性テーブル、2…表示装置、21…シーケンサテーブル、22…CPU、23…読み出しアドレス制御部、24…シーケンサデータ制御部
【発明の属する技術分野】
この発明は、簡便に動画表示を実現する画像表示装置に関するものである。
【0002】
【従来の技術】
従来から、ビデオゲーム等の分野においては、スプライト表示方式がしばしば用いられる。ここで、スプライト表示方式とは、画面に表示されるキャラクタ毎に表示位置属性(スプライト属性)を持ち、そのスプライト属性に従いキャラクタを配置することで全体の画面を構成する方式である。表示位置などの属性を持ったキャラクタをスプライトという。ビデオゲームなどのように、インタラクティブに高速にキャラクタを動かす場合、スプライト表示方式では、動かすキャラクタのスプライト属性を変更するだけで画面の書き換えをすることができる。
【0003】
図16は、従来のスプライト表示方式による画像表示装置の構成を示す概略ブロック図である。スプライト属性テーブル1には、表示装置2に表示するスプライト毎の表示位置、スプライトパターン(キャラクタの絵柄)番号、スプライトパターンデータ(絵柄データ)のデータフォーマットなどのスプライトに関する属性データが格納されている。CPU(中央処理装置)3は、フレーム周期にあわせて属性テーブルのデータ(表示位置やスプライトパターン番号)等を変更して、スプライトの表示内容をダイナミックに変更することにより、スプライトで構成される表示画面に動きを演出する。このスプライト属性テーブル1に格納されたスプライトパターン番号を基に、パターン番号読み出し回路4およびパターンROMアドレス生成回路5がパターンデータが格納されているパターンROM6のアドレスを生成する。
【0004】
一方、表示位置読み出し回路8は、スプライト属性テーブル1に格納されているスプライト表示位置データを読み出し、フレームバッファアドレス生成回路9へ出力する。フレームバッファアドレス生成回路9は、そのスプライト表示位置データに基づいてフレームバッファアドレスを生成し、フレームバッファ10へ出力する。このアドレスによって、パターンROM6から読み出されたパターンデータが、フレームバッファ10に格納される。
【0005】
表示されるスプライトの数だけ、上述したパターンデータの読み出し、フレームバッファ10への書き込み処理を行い、1つの画面データがフレームバッファ10に展開される。フレームバッファ10に格納されたパターンデータは、表示装置2のスキャンタイミングに従い、フレームバッファ10から読み出され、表示データ処理部12に出力される。表示データ処理部12は、スプライト属性テーブルから読み出されたパターンデータフォーマットに従って、カラールックアップテーブル13またはYUVデコーダ14へパターンデータを出力し、これによりパターンデータをRGB(レッド・グリーン・ブルー)データに変換し、CRT(Cathode Ray Tube)や液晶表示装置等の表示装置2へ出力する。
【0006】
このようにして、1つのフレームを構成する複数のスプライトは、それぞれの属性テーブルの設定内容に従って、パターンデータをフレームバッファに描画することによって画面を構築する。
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来技術によれば、属性テーブルの変更は、表示装置2のスキャンタイミングに合わせて全てCPU3が順次変更する必要があり、CPU3にかかる負荷が大きいという問題点があった。
【0008】
本発明は、このような事情に鑑みてなされたもので、その目的は、CPUにかかる負荷を軽減できる画像表示装置を提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するために、本発明は、所定のシナリオに従ってスプライトを順次読み出し、フレームバッファの所定表示位置に書き込むことによって画像を表示装置に表示する画像表示装置であって、前記スプライトを構成するパターンデータが予め記憶されたパターンデータ記憶手段と、前記パターンデータを特定するパターン番号と表示位置を定義する情報とがスプライトナンバに対応付けられて記憶されたスプライト属性テーブルと、表示するスプライトのスプライトパターンを特定するシーケンサデータと、該シーケンサデータによって特定されるスプライト表示する指示とアドレスを生成する指示とを含むシーケンサコードと、を記憶するシーケンサテーブルと、前記シーケンサテーブルをアドレッシングするアドレス制御手段と、前記アドレス制御手段のアドレッシングに基づき、前記シーケンサテーブルからシーケンサデータとシーケンサコードとを読み出し、スプライトナンバを出力するシーケンサデータ制御手段と、前記シーケンサデータ制御手段によって出力されるスプライトナンバに対応するパターン番号と表示位置を定義する情報とを前記スプライト属性テーブルから読み出すスプライト属性読み出し手段と、前記スプライト属性読み出し手段が読み出したパターン番号を有するパターンデータを前記パターンデータ記憶手段から読み出すパターンデータ読み出し手段と、前記パターンデータ読み出し手段が読み出したパターンデータを前記スプライト属性読み出し手段が読み出した表示位置を定義する情報に基づく表示位置で示される前記フレームバッファに対して書き込むフレームバッファ書き込み手段とを備えたことを特徴とする。
【0010】
また、本発明は、上述の画像表示装置において、前記シナリオの進行状況に基づいて、前記シーケンサテーブルにシーケンサデータとシーケンサコードを書き込む手段を有することを特徴とする。
また、本発明は、上述の画像表示装置において、前記シーケンサデータ制御手段は、前記表示装置のフレーム周期に同期させてスプライトナンバの読み出し指示をすることを特徴とする。
また、本発明は、上述の画像表示装置において、前記シーケンサコードには、シーケンサテーブル内の特定のアドレス間のシーケンサデータを読み出すための情報が含まれることを特徴とする。
【0011】
【発明の実施の形態】
以下、本発明の一実施形態による画像表示装置を図面を参照して説明する。
図1は、この発明の一実施形態による画像表示装置の構成を示す概略ブロック図である。この図において図16の各部に対応する部分には同一の符号を付け、その説明を省略する。
シーケンサテーブル21は、シーケンサデータと、シーケンサコードとを記憶する。このシーケンサテーブル21に記憶されるシーケンサデータとシーケンサコードとの一例を図2に示す。シーケンサコードとシーケンサデータは、シーケンサリードアドレス(以下、SRAと称する)に示されるアドレス内に格納される。シーケンサコードは、シーケンサデータの読み出し順序のループを開始する「LOOP」、ループ終了を指示する「LOOPEND」、シーケンサデータによって指定されるジャンプ先のアドレスに移行する「JMP」、スプライト属性テーブル1に記憶されている各種属性データの変更を指示する「SEQDATA」等がある。
【0012】
また、シーケンサデータには、属性データを指示するためのデータ以外に、「LOOPEND」での戻り先アドレスを示すデータ、「JMP」でのジャンプ先アドレスを示すデータが含まれる。
【0013】
CPU(中央処理装置)22は、シーケンサデータとシーケンサコードとをシーケンサテーブル21に書き込む。この書き込みは、アニメーションを表示するシナリオの進行状況に基づいて、所定の記憶部内に格納されているシーケンサデータとシーケンサコードを読み出して、シーケンサテーブル21に書き込む。すなわち、CPU22は、1シーン(一連のシーケンシャルな動画を含む場面)毎にシーケンサデータとシーケンサコードとをシーケンサテーブル21に順次書き込む。このCPU22が上述の書き込み手段に相当する。読み出しアドレス制御部23は、シーケンサコード及びシーケンサデータに基づいて、シーケンサテーブルをアドレッシングするSRAを生成する。
【0014】
シーケンサデータ制御部24は、読み出しアドレス制御部23が生成するアドレスに基づいて、シーケンサテーブル22からシーケンサデータとシーケンサコードとを読み出し、シーケンサコードがスプライトの切り替えを指示するシーケンサコード(例えば、「SEQDATA」)である場合、シーケンサデータに基づいて表示すべきスプライトナンバをスプライト属性テーブル1へ書き込む制御をする。
【0015】
このシーケンサデータ制御部24について図8を用いてさらに説明する。この図に示すように、シーケンサデータ制御部24は、DECODER(デコーダ)40を有しており、このデコーダ40によって、シーケンサコードをデコードし、デコード後のシーケンサコード「JMP」、「LOOP_START」、「LOOP_END」をシーケンサデータとともに読み出しアドレス制御部23に出力する。また、シーケンサデータ制御部24は、デコード後のシーケンサコードが「SEQDATA」である場合、描画周期に同期させて、シーケンサデータをスプライト表示指示として、スプライト属性テーブル1に書き込む。
【0016】
次に、上述した構成における画像表示装置の動作について図面を用いて説明する。図3から図7は、画像表示装置の動作を説明するためのフローチャートである。ここでは、シーケンサテーブルの読み出し開始アドレスを「0000」、属性データ切り替えをパターン番号(スプライトネーム)に対して行うものとして説明する。まず、画像表示装置に電源が投入されると、CPU22は、シーケンサデータとシーケンサコードとをシーケンサテーブル21に書き込み(図3ステップS1)、読み出し開始アドレス「0000」を読み出しアドレス制御部23に指示する(図3ステップS2)。そして、CPU22は、画像の表示開始のタイミングに基づいて、トリガを読み出しアドレス制御部23に出力する(図3ステップS3)。
【0017】
読み出しアドレス制御部23は、CPU22からトリガが出力されると、読み出し開始アドレスをSRAとして、シーケンサテーブル21をアドレッシングする。これを受けて、シーケンサデータ制御部24は、読み出しアドレス制御部23からのSRA「0000」に基づいて、シーケンサテーブル21に格納されているシーケンサコードとシーケンサデータとを読み出し(図3ステップS4)、読み出したシーケンサコードを解析する(図3ステップS5)。そして、解析結果に応じてスプライト属性テーブル1を変更する(図3ステップS6)。
【0018】
次に、図3ステップS6におけるスプライト属性テーブル1の変更制御について、図4、5を参照してさらに詳細に説明する。
例えば、シーケンサコードが「LOOP」である場合(図2符号(a1))(図4ステップS11)、シーケンサデータ制御部24は、シーケンサコードの「LOOP」とシーケンサデータの「2」(符号(a2))とを読み出しアドレス制御部23に出力する。読み出しアドレス制御部23は、シーケンサコードが「LOOP」であり、シーケンサデータが「2」であるので、ループカウンタのカウント値を「2」に設定して一時保持し(図4ステップS12)、SRAを4アドレス分カウントアップし、SRAを「0004」として、シーケンサテーブル21をアドレッシングするとともに、このSRAをループ開始アドレスとして一時保持する(図4ステップS14)。
【0019】
シーケンサデータ制御部24は、SRA「0004」に基づいてシーケンサテーブル21からシーケンサコードとシーケンサデータとを読み出し、読み出したシーケンサコードとシーケンサデータとを一時保持し、シーケンサコードを読み出しアドレス制御部23に出力する。
【0020】
この場合は、シーケンサコード「SEQDATA」(図2符号(b1))とシーケンサデータ「SN=0」(図2符号(b2))とが、一時保持されている。そして、シーケンサコードが「SEQDATA」である場合すなわち、スプライトナンバ設定コードである場合(図5ステップS21)、シーケンサデータ制御部24は、自身に内蔵されているタイマに基づいて、描画周期の同期タイミングであるか否かを検出し(図5ステップS22)、同期タイミングである場合に、一時保持したシーケンサデータをスプライトナンバ(SN=0)として、スプライト属性テーブル1へ書き込む。これにより、パターン番号読み出し回路4及びパターンROMアドレス生成回路5によって、このスプライトナンバに対応するパターンROM6のアドレスが生成され、フレームバッファ10内にパターンデータが書き込まれ、フレーム周期に同期して表示装置2に表示される。
一方、読み出しアドレス制御部23は、SRAを4アドレス分カウントアップし、SRAを「0008」として(図5ステップS24)、シーケンサテーブル21をアドレッシングをする。これにより、アドレス「0016」まで順次スプライトナンバが変更される。
【0021】
そして、SRAが「0020」である場合、シーケンサコードが「LOOPEND」であり(図2符号(c1))、ループ終了を意味するコードであるので(図6ステップS31)、シーケンサデータ制御部24は、LOOPENDを読み出しアドレス制御部23に出力する。読み出しアドレス制御部23はLOOPENDを受け取ると、ループカウンタのカウント値から1カウント分をカウントダウンし(図6ステップS32)、ループカウンタのカウント値が「0」であるか否かを検出する(図6ステップS33)。カウント値が「0」でない場合、読み出しアドレス制御部23は、一時保持していたループ開始アドレス「0004」をSRAとして、シーケンサテーブル21をアドレッシングする(図6ステップS34)。
【0022】
一方、読み出しアドレス制御部23は、カウント値が「0」である場合、SRAを4カウント分カウントアップして、SRA「0024」を生成し、シーケンサテーブル21をアドレッシングする(図6ステップS35)。
【0023】
次に、シーケンサデータ制御部24は、SRA「0024」に基づいてシーケンサテーブルからシーケンサコードとシーケンサデータとを読み出す。この場合、シーケンサコードが「JMP」であるので(図2符号(d1))、シーケンサデータ制御部24は、ジャンプコードであるとして(図7ステップS41)、JMPとシーケンサデータとを読み出しアドレス制御部23に出力する。読み出しアドレス制御部23は、このJMPを受けとると、シーケンサデータ「JMP=0100」すなわち、ジャンプ先アドレス0100をジャンプ先のSRAとし(図7ステップS42)、シーケンサテーブル21をアドレッシングする。
【0024】
ここで、図2に示すシーケンサテーブル21について、上述したシーケンス処理が行われた場合、図9に示すように、スプライトナンバは、0、1、2、1が2度繰り返された後、3、4、5、6、7の順に切り替わる(符号(e))。これにより、表示装置2の画面上には、符号(f)に示すようにスプライトが順次表示され、インタラクティブに動画を再生することができる。
【0025】
図10に、スプライト属性テーブル1のテーブル構造を示す。この図に示すように、スプライト属性テーブル1は、4バイトで構成されている。1バイト目の最下位ビット(color)は、表示するスプライトの色数を指定するものであり、例えば、「1」であるとき256色表現、「0」であるとき16色表現というようにデータのフォーマットを指定する。2バイト目(SN7−0)は、スプライトネーム(パターン番号)であり、256種類あるスプライトの中から1つのスプライトを選択するものである。3,4バイト目は、2バイト目で選択したスプライトを表示する(画面上の)表示位置座標であり、3バイト目がX座標、4バイト目がY座標を示している。このスプライト属性テーブル1を外部から順次書き換えることによって、2バイト目で選択されたスプライトが1バイト目で指定された表示色で3,4バイト目で指定された表示位置座標に表示されることとなる。
【0026】
ここで、図11〜14を参照して、スプライト属性テーブル1の変化に伴い、表示画面が変化する動作を説明する。ここでは、読み出しアドレス制御部23から出力されるSRAが、「0004」→「0008」→「0012」→「0016」と変化したものとする。
まず、SRA「0004」が指定されると、シーケンサテーブル21のアドレス「0004」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=0がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000000(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=0のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、1番目のフレームが生成される(図11)。
【0027】
次に、SRA「0008」が指定されると、シーケンサテーブル21のアドレス「0008」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=1がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000001(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=1のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、2番目のフレームが生成される(図12)。
【0028】
次に、SRA「0012」が指定されると、シーケンサテーブル21のアドレス「0012」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=2がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000010(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=2のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、3番目のフレームが生成される(図13)。
【0029】
最後に、SRA「0016」が指定されると、シーケンサテーブル21のアドレス「0016」の内容が、シーケンサデータ制御部24によって読み出され、スプライト属性テーブル1に対して、SEQ_DATAであるSN=1がセットされる。これによって、スプライト属性テーブル1の2バイト目に「00000001(2進数表現)」がセットされたこととなり、この変更されたスプライト属性テーブル1の内容に基づいて、画像描画が実施される。この例では、SN=1のスプライトを16色で表現し、このスプライトの左上の点が画面上の座標値(spx,spy)=(10,10)の位置になるようにフレームバッファ10に書き込まれることとなる。これによって、4番目のフレームが生成される(図14)。
【0030】
この1番目のフレームから4番目のフレームを再生することにより、三角形の図形が右に傾き、次に中立へ戻り、次に左へ傾き、さらに中立へ戻る動きを生成することが可能となる。また、この一連の動作を所定回数ループさせることによって三角形の図形が左右に傾く動画を生成することが可能となる。
【0031】
次に、図15を用いて、読み出しアドレス制御部23について説明する。SEQ.TABLE Address Counter(以下、シーケンシャルテーブルアドレスカウンタと称する)52はロード入力LDが非アクティブ(“0”)の時はBank Flipが入力される毎に4ずつカウントアップし、LDがアクティブ(“1”)の時はBank Flipが入力された時、セレクタ51の出力を取込むように構成されている。CPU22から出力される読み出し開始アドレスは、SEQTBA(シーケンサテーブルベースアドレス)50に一時保持される。そして、SEQ_START(トリガ)がSEL(セレクタ)51(SC)に入力されると、ポートCが選択され、読み出し開始アドレスがSEQTBA50から読み出され、シーケンサテーブルアドレスカウンタ52を介してSRAとして出力される。シーケンサテーブルアドレスカウンタ52は、SEQ_STARTが入力されることによりOR回路53からの出力に接続されたLD(ロード)がアクティブになるので、開始アドレスの出力後からシーケンサリードアドレスをBank Flip(クロック)からの入力に応じてカウントアップする。
【0032】
次に、シーケンサテーブルアドレスカウンタ52は、シーケンサコードがSEQDATAである場合、すなわち、JMPでもSEQ_STARTでも、LOOP_ENDでもないので、LDは非アクティブであるのでBank Flipに応じてSRAを4カウント分カウントアップした後、シーケンサテーブル21をアドレッシングする。
【0033】
一方、シーケンサコードが「JMP」である場合、セレクタ51のポートBが選択され、シーケンサテーブルアドレスカウンタ52のLDがアクティブになり、このシーケンサコードとともに読み出されたシーケンサデータがジャンプ後のSRAとして、セレクタ51とシーケンサテーブルアドレスカウンタ52とを介してシーケンサテーブル21をアドレッシングする。
【0034】
また、シーケンサコードが「LOOP」である場合、デコードされた「LOOP_START」が入力され、SRAをインクリメントしてLSA(ループ開始アドレス保持回路)57に保持するとともに、このインクリメントされたSRAを出力する。このとき同時にSEQ_Data(シーケンサデータ)をLoopDown Counter(ループダウンカウンタ)54に保持する。そして、LOOP_ENDが入力されるまでSRAをカウントアップする。
【0035】
次に、読み出されたシーケンサコードが「LOOP_END」である場合、ループダウンカウンタ54は、ループダウンカウントを1カウント分カウントダウンし、比較器55に出力する。比較器55は、このカウント値が0の場合に、AND回路56に「HI」を出力する。比較器55から「HI」が出力されるとともに、LOOP_END(ハイレベル)が入力されているので、AND回路56によってセレクタ51のポートAが選択される。これにより、ループスタートアドレス57に保持されているアドレスがシーケンサテーブルアドレスカウンタ52に設定され、出力される。
【0036】
一方、ループダウンカウンタ54のカウント値が0でない場合、比較器55は、AND回路56に「LOW」を出力する。比較器55から「LOW」が出力されると、AND回路56の出力が「0」となり、セレクタ51のポートAは選択されない。これにより、Bank Flipに応じてカウントされた値がSRAとしてシーケンサテーブル21をアドレッシングする。
【0037】
なお、以上説明した実施形態において、シーケンサテーブル21に書き込むシーケンサコードがジャンプコードとループコードとである場合について説明したが、シーケンサコードとしては、ジャンプコードとループコード以外であってもよい。例えば、条件付き「JMP」を適用してもよい。すなわち、「JMP」コードにおいて、参照フラグが「1」である場合にシーケンサデータに対応するアドレスに移行し、参照フラグが「0」である場合に、ジャンプは行わず、次のアドレスに移行する。また、この参照フラグをCPU22から設定することにより、必要に応じてCPU22から表示内容を変更することが可能となる。
【0038】
また、シーケンサ処理を終了する「SEQEND」を設け、このシーケンサコードの設定に従い、終了処理を行うようにしてもよい。
また、ジャンプコードとループコードを用いずに、読み出す順にシーケンサデータをシーケンサテーブルに書き込むようにしてもよい。
また、上述した実施形態においては、属性データの変更する対象をパターン番号として説明したが、属性データの変更対象を表示位置座標にし、スプライトによって表示するパターンの画面内の移動を制御するようにしてもよい。
【0039】
また、動画を表示する場面毎にシーケンサテーブル21を設けるようにしてもよい。
また、属性データの変更タイミングをフレーム周期に同期させるほかに、読み出し周期をCPU22から設定するようにしてもよい。これにより、動画のコマ送り速度を設定することができる。
【0040】
また、図1のパターンROMアドレス生成回路5およびフレームバッファアドレス生成回路9に代えて、パターン番号読み出し回路4が読み出したパターン番号を有するパターンデータをパターンROM6からから読み出すパターンデータ読み出し部を設けるとともに、パターンデータ読み出し部が読み出したパターンデータを表示位置読み出し回路8が読み出した表示位置を定義する情報に基づく表示位置で示されるフレームバッファ10に対して書き込むフレームバッファ書き込み部とを設けるようにしてもよい。
【0041】
また、上述の実施形態においては、シーケンサデータ制御部24が、図8デコーダ40によって、シーケンサコードをデコードしていた。しかし、読み出しアドレス制御部23が、デコードを行うようにしてもよい。すなわち、シーケンサテーブル21を参照し、シーケンサコードがアドレス生成の指示である場合(例えば、「JMP」、「LOOP」、「LOOPEND」である場合)にアドレスを生成し、シーケンサコードがスプライトを表示する指示である場合(例えば、「SEQDATA」である場合)にシーケンサコードに対応するシーケンサデータが格納されたアドレスを生成するようにしてもよい。この場合において、シーケンサデータ制御部24は、読み出しアドレス制御部23によって生成されるアドレスに格納されたシーケンサデータを読み出し、読み出したシーケンサデータに基づいて、スプライト属性テーブル1を変更する。
【0042】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0043】
【発明の効果】
以上説明したように、この発明によれば、表示装置に表示する属性データを指示するためのシーケンサデータとシーケンサデータの読み出し順序を決定するためのシーケンサコードとをシーケンサテーブルに記憶しておき、シーケンサコードに基づいて、シーケンサデータを読み出すアドレスを生成し、この生成されるアドレスに基づいて、シーケンサテーブルからシーケンサデータを読み出し、読み出したシーケンサデータに基づいて表示するようにしたので、CPUが属性データを変更する制御を行う必要がなくなり、これにより、簡便に画像を表示させ、CPUにかかる負荷を軽減させることができる効果が得られる。そして、CPUにかかる負荷を軽減することができるので、CPUに対し、他の処理として、効果音を放音させたり、キーボードやジョイスティック等の操作部を介してユーザからの操作の指示が複雑であっても処理を行うことが可能となり、ユーザにとって従来にない新たな遊技感覚を得ることができ、ゲームの娯楽性を向上させることができる効果が得られる。
【0044】
また、この発明によれば、シーケンサコードに、同一のシーケンサデータを繰り返して読み出すためのコード“LOOP”を設けるようにしたので、シーケンサデータを重複してシーケンサテーブルに記憶する量を軽減させることができ、これにより、テーブルを格納するメモリの容量を削減し、コストを低減させることができる効果が得られる。
【図面の簡単な説明】
【図1】この発明の一実施形態による画像表示装置の構成を示す概略ブロック図である。
【図2】シーケンサテーブル21に記憶されるシーケンサデータとシーケンサコードとの一例を示す図面である。
【図3】画像表示装置の動作を説明するためのフローチャートである。
【図4】画像表示装置の動作を説明するためのフローチャートである。
【図5】画像表示装置の動作を説明するためのフローチャートである。
【図6】画像表示装置の動作を説明するためのフローチャートである。
【図7】画像表示装置の動作を説明するためのフローチャートである。
【図8】シーケンス処理が行われる場合を示すタイムチャートである。
【図9】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図10】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図11】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図12】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図13】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図14】シーケンサデータ制御部24がスプライト属性テーブル1の変更を行う動作を示す説明図である。
【図15】読み出しアドレス制御部23の構成を説明するための概略ブロック図である。
【図16】従来技術における画像表示装置の構成を示す図面である。
【符号の説明】
1…スプライト属性テーブル、2…表示装置、21…シーケンサテーブル、22…CPU、23…読み出しアドレス制御部、24…シーケンサデータ制御部
Claims (4)
- 所定のシナリオに従ってスプライトを順次読み出し、フレームバッファの所定表示位置に書き込むことによって画像を表示装置に表示する画像表示装置であって、
前記スプライトを構成するパターンデータが予め記憶されたパターンデータ記憶手段と、
前記パターンデータを特定するパターン番号と表示位置を定義する情報とがスプライトナンバに対応付けられて記憶されたスプライト属性テーブルと、
表示するスプライトのスプライトパターンを特定するシーケンサデータと、該シーケンサデータによって特定されるスプライト表示する指示とアドレスを生成する指示とを含むシーケンサコードと、を記憶するシーケンサテーブルと、
前記シーケンサテーブルをアドレッシングするアドレス制御手段と、
前記アドレス制御手段のアドレッシングに基づき、前記シーケンサテーブルからシーケンサデータとシーケンサコードとを読み出し、スプライトナンバを出力するシーケンサデータ制御手段と、
前記シーケンサデータ制御手段によって出力されるスプライトナンバに対応するパターン番号と表示位置を定義する情報とを前記スプライト属性テーブルから読み出すスプライト属性読み出し手段と、
前記スプライト属性読み出し手段が読み出したパターン番号を有するパターンデータを前記パターンデータ記憶手段から読み出すパターンデータ読み出し手段と、
前記パターンデータ読み出し手段が読み出したパターンデータを前記スプライト属性読み出し手段が読み出した表示位置を定義する情報に基づく表示位置で示される前記フレームバッファに対して書き込むフレームバッファ書き込み手段と
を備えたことを特徴とする画像表示装置。 - 前記シナリオの進行状況に基づいて、前記シーケンサテーブルにシーケンサデータとシーケンサコードを書き込む書き込み手段を有することを特徴とする請求項1に記載の画像表示装置。
- 前記シーケンサデータ制御手段は、前記表示装置のフレーム周期に同期させてスプライトナンバの読み出し指示をすることを特徴とする請求項1または請求項2に記載の画像表示装置。
- 前記シーケンサコードには、シーケンサテーブル内の特定のアドレス間のシーケンサデータを読み出すための情報が含まれることを特徴とする請求項1から請求項3のいずれかに記載の画像表示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002161660A JP2004012514A (ja) | 2002-06-03 | 2002-06-03 | 画像表示装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002161660A JP2004012514A (ja) | 2002-06-03 | 2002-06-03 | 画像表示装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004012514A true JP2004012514A (ja) | 2004-01-15 |
Family
ID=30430672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002161660A Pending JP2004012514A (ja) | 2002-06-03 | 2002-06-03 | 画像表示装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004012514A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011008181A (ja) * | 2009-06-29 | 2011-01-13 | Yamaha Corp | 画像表示装置 |
JP2011008182A (ja) * | 2009-06-29 | 2011-01-13 | Yamaha Corp | 画像表示装置 |
-
2002
- 2002-06-03 JP JP2002161660A patent/JP2004012514A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011008181A (ja) * | 2009-06-29 | 2011-01-13 | Yamaha Corp | 画像表示装置 |
JP2011008182A (ja) * | 2009-06-29 | 2011-01-13 | Yamaha Corp | 画像表示装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5552799A (en) | Display information conversion apparatus | |
US6373462B1 (en) | Method and apparatus for displaying higher color resolution on a hand-held LCD device | |
KR100240919B1 (ko) | 그래픽 디스플레이 서브시스템과 내부적으로 타이밍되는 스테레 오 디스플레이 제공 방법 | |
US8471861B2 (en) | Method and system for cost-efficient, high-resolution graphics/image display system | |
US6369827B1 (en) | Method and apparatus for displaying higher color resolution on a hand-held LCD device | |
WO2013042315A1 (ja) | 情報処理装置、情報処理方法、およびコンテンツファイルのデータ構造 | |
JP5851170B2 (ja) | 画像処理装置および画像処理方法 | |
JPH0830948B2 (ja) | イメージ表示装置 | |
WO2010018622A1 (ja) | 電子ペーパ端末装置、画像表示制御プログラム、および画像表示制御方法 | |
JP2004012514A (ja) | 画像表示装置 | |
JP3658942B2 (ja) | 画像用データの符号化方法およびその符号化装置ならびに画像用データの復号化方法およびその復号化装置 | |
US20100328318A1 (en) | Image display device | |
KR100236630B1 (ko) | 인터넷 셋 탑 박스의 영상신호 출력장치 및 화면 고속 스크롤 방법 | |
US7050064B2 (en) | Method and apparatus for displaying higher color resolution on a hand-held LCD device | |
JP2761335B2 (ja) | 画面表示装置 | |
JPH09138683A (ja) | 画像表示制御装置 | |
JP2001136412A (ja) | 複数映像表示装置のガンマ補正回路 | |
JP5407590B2 (ja) | 画像表示装置 | |
JP2003256868A (ja) | 表示装置および表示装置のバッファ制御方法 | |
JP5338520B2 (ja) | 画像表示装置 | |
JP2002341859A (ja) | 画像表示装置 | |
JP4439032B2 (ja) | データ展開装置 | |
JP2005326701A (ja) | 表示装置 | |
JP2000148131A (ja) | 画像表示方法および画像処理装置 | |
JPH09258708A (ja) | ディゾルブ表示制御装置 |