JP3557067B2 - 走査型画像生成回路手段 - Google Patents
走査型画像生成回路手段 Download PDFInfo
- Publication number
- JP3557067B2 JP3557067B2 JP04165197A JP4165197A JP3557067B2 JP 3557067 B2 JP3557067 B2 JP 3557067B2 JP 04165197 A JP04165197 A JP 04165197A JP 4165197 A JP4165197 A JP 4165197A JP 3557067 B2 JP3557067 B2 JP 3557067B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- buffer
- information
- scanning
- generating
- 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)
Description
【発明の属する技術分野】
この発明は、走査型画像生成回路手段に関する。より具体的には、ゲーム機器、教育用機器、通信機器、計測機器、検査用機器、広告用機器、カラオケ機器、ワードプロセッサ、ビデオ編集機器、運転補助機器、印刷補助機器、音楽補助機器、運動補助機器、身障者補助機器等において用いられる走査型ディスプレイに画像を生成する回路手段に関する。
【0002】
【従来の技術とその解決すべき課題】
この種の従来既知の画像生成回路手段として、以下のような手段を挙げることができる。
【0003】
最も構成の簡素なものは、バッファを何等備えてない方式のものである。この方式は、表示と同じタイミングでメモリから直接データを読み込むものであるため、自ずと性能には限界があるものであった。これは、例えばキャラクタ・ディスプレイ等に用いられている。
【0004】
バッファを有する方式のものとしては、画像の横方向のラインを区切りとするライン・バッファ(レジスタ)を備えたものを挙げることができる。この方式は、水平ブランキング期間中に描画処理を行うものである。これは、例えばいわゆるスーパー・ファミコン(登録商標)のスプライト発生等に用いられている。このライン・バッファ方式には、シングル・ライン・バッファ方式とダブル・ライン・バッファ方式とがある。
【0005】
上記シングル・ライン・バッファ方式は、走査線1水平ライン分のバッファを備えたものである。この方式は、例えばいわゆるスーパー・ファミコン(登録商標)等におけるスプライトの表示等に用いられ、表示品質を安定化させるために水平ブランキング期間中に描画を行うようになされている。しかしながら、描画期間は表示期間の1/3程度しか無く描画性能は貧弱なものである。
【0006】
これに対して、ダブル・ライン・バッファ方式は、走査線2水平ライン分のバッファを備えたものである。この方式は、水平走査に同期して描画と表示を交互に切り換えるものであり、シングル・ライン・バッファ方式と比べて描画期間を多く取れるため描画性能に優れ、高性能なスプライト表示用として用いることができる。しかし、この方式はシングル・ライン・バッファ方式の倍のメモリ容量を必要とする難がある。例えば業務用ゲーム機器のスプライト表示用等として採用されている。
【0007】
あるいはまた1画面分のバッファを備えたシングル・フレーム・バッファ方式も既知である。この方式は、フル・グラフィック(ビット・マップ)表示に好適に使用されるものであり、走査方式にとらわれない描画を可能とする。しかし、大きな容量のバッファ・メモリを必要とし、また表示期間中に書き込みを行うものであるため表示画像の品質を低下させるという難を有する。この方式は、パーソナル・コンピュータ/ワークステーション等において主として静止画を表示させるのに採用されている。
【0008】
上記シングル・フレーム・バッファ方式に対して、2画面分のバッファを備え描画と表示をフレームに同期して交互に切り換えるようになされたダブル・フレーム・バッファ方式も既知である。この方式は、動画表示品質がよく描画期間を多くとれる反面、非常に大きなバッファ・メモリの容量を必要とするという難を有する。この方式は、例えばグラフィック・ワークステーション/32ビット・ゲーム機等においてフル・グラフィックの動画を表示するのに採用されている。
【0009】
ところで、従来のゲーム機器(いわゆるファミコン、スーパー・ファミコン(いずれも登録商標))等ではキャラクタのパターン・データ(ピクセルの配列)とそれを特徴づけるアトリビュートの情報(キャラクタ・フォーマット、パレット等)は別々に管理されていた。具体的には、テキストはテキスト・メモリ、スプライトはスプライト・メモリにそれぞれキャラクタの番号の配列とキャラクタのアトリビュートの配列を格納し、パターン・データはキャラクタ番号で指示された位置すなわち間接的に指定されるのに対し、アトリビュート・データはアトリビュート配列に直接的に格納されていた。
【0010】
しかしながら一方において、多くのパターン・データは一定のアトリビュートで利用されるにもかかわらずこれを別々に管理している。このためプログラムでパターン・データの設定とアトリビュート・データの設定を別々に行なわなければならず、プログラム制作上繁雑であり、処理速度やメモリ効率の点から見てもよくないという難を有するものであった。
【0011】
また番号でキャラクタを指示する方法では全ての番号に有効なキャラクタを配置できるという利点と、キャラクタ方式を用いたテキスト画面でフル・グラフィックを行う場合、ピクセルの格納位置を計算するのが容易であるという特徴を有するものの、共通サイズのキャラクタにしか適用できないという難を有するものであった。
【0012】
【課題を解決するための手段】
この発明は、上述の問題点に鑑みてなされたものであり、メモリ利用効率を向上させ描画性能を維持したままでのバッファ・メモリ・サイズの削減を図ることができると共に、構成が簡易な走査型画像生成回路手段を提供することを目的とするものである。
【0013】
この発明の更に他の目的は、高性能なデプス制御が可能であり、しかもライン・サイズにとらわれることなく設計でき、また色としての透明を表現した状態でのバッファ・メモリ・サイズを削減することを可能とし得、それでいてキャラクタを利用する場合の効率化(メモリ容量、スピード)を可能とし得る走査型画像生成回路手段を提供することにある。
【0014】
而して請求項1の発明は、2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセル数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段を要旨とするものである。
また、請求項2の発明は、2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、ピクセル情報をピクセル単位でそれぞれ格納し前記画像の横一列を構成するピクセルの数よりも少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段を要旨とするものである。
【0015】
前記ピクセル・バッファ手段は、バッファの時間的な利用効率を上げるため、従来のようなフレーム単位やライン単位ではなく、複数個のピクセル・バッファ単位で構成しそれらを巡回させて切り換えるようにしたものである。
このようなピクセル・バッファ手段を採用することにより、バッファを有効に利用することができ、ひいてはバッファ・サイズを小さくすることができる。またバッファ・サイズを画面のサイズと無関係に設定しうるので、バッファ・サイズを自由に選ぶことができ、もって設計の自由度を向上することができる。更には、バッファ・メモリの容量は2のべき乗にするのが設計上好都合であり、画面の横幅が例えば320ピクセルである場合にはライン・バッファやフレーム・バッファではバッファのサイズもこれに合わさなければならないが、本発明による場合にはこれにとらわれなくてすみ、ますます設計の自由度を向上することができる。
【0016】
請求項3の発明は、2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、前記画像の横1列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする走査型画像生成回路手段を要旨とするものである。
また、請求項4の発明は、2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、前記画像の横1列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数より少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする、走査型画像生成回路手段を要旨とするものである。
【0017】
ここで、たとえばクロック生成手段がシステムを運用するための手段として設けられ、前記走査位置生成手段はたとえばそのクロックに基づいて画像を走査し、ピクセル出力手段と共に画像の情報を順序よく走査型表示装置に伝達するための手段である。また、ピクセル・バッファ手段は無秩序に配列されたオブジェクトやピクセルを走査に従った順に整列させる働きがある。ピクセル描画手段とピクセル出力手段はこのピクセル・バッファ手段を運用するものである。
【0018】
従来のスプライト(オブジェクトの一つ)はスプライト・メモリの配列の順で重なり具合(優先順位)が決まっていた(いわゆるファミコン、スーパー・ファミコン(いずれも登録商標))が、この発明においてはスプライトやテキストに奥行きの情報を設け、この情報を基にピクセル・バッファ手段で重なりを制御する方法を採用している。ここに前記デプス・バッファを設け、従来フレーム・バッファで行われていたデプス・バッファ手法をピクセル・バッファ手段にも応用した。
【0019】
このように、請求項3または4の発明では、デプス・バッファを採用したので、ピクセルの重なりを緻密に制御することが可能である。バッファ手段を複数のピクセル・バッファ単位で構成したので、描画用メモリと表示用メモリを物理的に分離することが複雑になる。このため表示アクセスと描画アクセスを切り換え方法をとるが、請求項11の発明では、これを実現するためバッファ出力手段からのピクセル・バッファ手段への表示要求とピクセル描画手段からのピクセル・バッファ手段への描画要求の2つの要求を調停する前記バッファ・アクセス調停手段を設けている。
【0020】
このようにアクセス調停手段を用い、複数のバッファを1つのメモリの時分割利用で実現することにより、構成が簡単になる。
【0021】
パレット手段をピクセル・バッファ手段の前段に持ってくれば、描画する時点で透明情報を得ることができるが、ピクセル・バッファ手段はパレット手段で変換された色情報を格納することになり、容量が増えてしまう。
【0022】
そこで、請求項10の発明では、パレット手段をピクセル・バッファ手段の後段に置き、しかもピクセル・バッファ手段の前段で透明が判断できる機構を設けた。これにより、ピクセル・バッファの容量増加を抑制しつつ、透明色を実現することができる。
【0023】
請求項8の発明のように、オブジェクト生成手段/ピクセル生成手段(オブジェクト・ピクセル変換)の採用により、オブジェクト・レベルの記述で画像を表現できるという効果がある。さらに、パレット手段の採用により直接色情報で運用する場合に比べて、パレット以前のハードウェアのサイズが小さくなる効果があり、パレットを書き換えるだけで画像の色調を変えられる効果がある。
【0024】
バッファ・メモリ・サイズを削減してメモリ利用効率を一段と向上させる目的で、前記バッファ手段として、画像の横一列を構成するピクセルの数よりも少ない数のピクセル情報を格納するものを採用することが好ましい。このようにピクセル・バッファ手段として、画像の横一列を構成するピクセルの数よりも少ない数のピクセル情報を格納するものとすることにより、小容量のバッファ・サイズでありながら品質の高い画像を得ることが出来る。また、1つのオブジェクトが2ラインにまたがるような部分の処理を簡略化することができ、構成を簡単にすることができる。
【0025】
バッファ・サイズはオブジェクト密度の偏りを均一的に処理する能力に依存する。オブジェクト密度の偏り緩衝能力を上げたければ、バッファ・サイズを増やせばよい。ここで、複数のオブジェクトが局部に集中すると互いに重なり打ち消し合って絵としてあまり意味を持たなくなる。要するに、オブジェクトは大域的な密度制限よりも局部的な密度制限に意味がある。これはバッファ・サイズが画面の端から端までは必要なく、1部分だけ有ればよいことを意味する。従って、小容量(半ラインまたはそれ以下)のバッファで十分といえる。
【0026】
請求項9の発明のように、前記走査位置生成手段からの走査位置情報と前記ピクセル生成手段からの位置情報を基に前記ピクセル・バッファ手段対応部分画像と重なっているピクセルだけを限定し前記ピクセル描画手段に出力するピクセル限定手段を含むようにすることが好ましい。
【0027】
前記ピクセル限定手段は、画面に現れないピクセルやピクセル・バッファ手段に場所が確保されていないピクセルがピクセル・バッファ手段に書き込まれないようにするものである。ピクセル限定手段を用いると、同一バッファ上に配置され得る画面の右端と左端が連続しているようなものを排除できるという効果がある。またピクセル・バッファ手段の範囲を越えるオブジェクトをも供給し描画する事が可能である。あるいは、ピクセル・バッファの範囲を越えるオブジェクトを描画しても折り返しノイズが出ないという効果がある。
【0028】
更に、請求項12の発明のように、前記オブジェクト生成手段が生成するオブジェクトが前記ピクセル・バッファ手段対応部分画像と重なっているかを前記走査位置出力手段が生成する走査位置情報から判断し、重なっているオブジェクトだけを出力するオブジェクト限定手段を含むようにすることが好ましい。
【0029】
前記オブジェクト限定手段は、全てのオブジェクトを始めから供給しないための手段である。即ち、全てのオブジェクトを順に供給できたとしても、この全てが描画できるわけではない。ある瞬間をとると、ピクセル・バッファ手段は画面の1部でしかなく、多くのオブジェクトはピクセル・バッファ手段と重なりがない。すなわち、このようなオブジェクトを供給してもピクセル・バッファ手段に書き込まれず捨てられるだけである。従って、このようなオブジェクトを始めから供給しないための手段が有効となる。オブジェクト限定手段を用いると、後段に有効なオブジェクトだけを供給することになり、限りある描画時間を有効に活用でき、画面内に多くのオブジェクトを描画できるという効果がある。
【0030】
請求項7の発明のように、前記ピクセル・バッファ手段は、同一アドレスへの読み出しと書き込みが対になっていることを利用してプリチャージ、読み出し、比較・書き込みの3サイクルで実現したことを特徴とするバッファ・アクセス高速化手段を備えたものとすることが好ましい。 アクセス高速化手段を採用すると、同一のアクセス・タイムのメモリを採用してもより多くの描画回数を確保でき、描画性能を向上できるという効果がある。
【0031】
メモリ・アクセス高速化手段が必要とされるのは、少ない容量のバッファはオブジェクト密度の偏りを均一化する能力が低いが、これはバッファのアクセス・タイムを高速化することで補うことができ、また描画性能はバッファ・メモリのアクセス・タイムに依存しているため、可能な限り高速なアクセスが望まれるからである。
【0032】
ここで、バッファ・メモリへは同じアドレスへの読み出しと書き込みが対で発生するので、これを利用して、アドレスの設定とデータの読み出し準備(プリチャージ)を共通化できる。従って、従来、プリチャージ、読み出し、プリチャージ・比較、書き込みの4サイクルかかっていたところをプリチャージ、読み出し、比較・書き込みの計3サイクルで1ピクセル分のアクセスを完了させることにより、アクセスの高速化を図ることができるようになる。
【0033】
請求項13の発明のように、前記オブジェクト生成手段は、テキスト生成手段と、スプライト生成手段と、これらを選択するオブジェクト選択手段とを備えてなるものであることが好ましい。このような手段を備えることにより、違った形式のオブジェクトを共通のハードウェアで実現できるという効果がある。またピクセルに分解できるオブジェクトであれば、どんなものでもピクセル・バッファ手段に供給できる。
【0034】
請求項14の発明のように、前記走査位置生成手段からの情報で同期信号を生成する同期信号生成手段を備え、前記パレット手段からの色情報と同期信号生成手段からの同期信号を合成し複合ビデオ信号に変換するビデオ信号生成手段を備えることが好ましい。ビデオ信号にして出力することにより、家庭用のテレビ受像器をそのまま表示手段として利用でき、コスト及びスペースの節約を可能としうる。またビデオ信号はビデオ・レコーダでの記録ができるため、ビデオ編集機器(テロッパ)のような新たな利用も可能としうる。
【0035】
請求項15の発明のように、更に、制御手段を有し、該制御手段により前記パレット手段に書き込まれた値が透明であった場合そのパレット・アドレスを記憶する透明情報記憶手段と、前記ピクセル生成手段が生成するピクセル情報を基に前記透明情報記憶手段にアクセスすることによりコード値が透明かどうかを判断し、透明でないピクセル情報だけを前記ピクセル描画手段に伝達する透明制御手段を備えることが望ましい。
【0036】
透明制御手段を設けるのは以下の理由によるものである。透明色を表現することは背後の色が透けて見えることである。すなわち、透明という色はその背後の色に置き換わるものである。ピクセル・バッファ手段から出力された時点で透明が判明したのではそのピクセルを何色で置き換えてよいのか解らない。従って、ピクセル・バッファ手段に描画する時点で透明情報を知り、透明の場合は描画しないように制御する必要があるからである。
【0037】
透明制御手段を採用すると、透明をパレットに書き込める色として認識することができる。また、パレットをピクセル・バッファ前段に置く方法に比べて、パレットのメモリ容量を削減できる。従来、透明は色と別扱いされていた。本発明ではパレットに透明を書き込む情報を別に記憶し、ピクセル・バッファの前段で制御することで、あたかも透明という色が存在するように見せることができる。また、パレットをピクセル・バッファの前段に置き、色としての透明を実現する方法はピクセル・バッファの容量が増えるが、本発明の方法ではピクセル・バッファ手段のサイズを増大させることなく実現しうる。
【0038】
請求項5の発明のように、更にピクセルの2次元配列であるパターン・データとそのパターンを特徴づける複数のアトリビュート情報とを含み、複数あるアトリビュート情報の1つを指示することによりそのアトリビュートで特徴づけられたキャラクタを特定できるキャラクタ・データ構造を持ち、前記アトリビュート情報を指示する情報を入力しこれで指示されたアトリビュート情報とキャラクタ・データのパターン・データ部を指示する情報を出力するヘッダ読み出し手段を備えることが望ましい。
【0039】
従来、パターン・データとそのパターンを特徴づけるアトリビュートは別々に管理されていた。というのもキャラクタの本質であるパターン・データが重要視され、パターンの記述フォーマットや利用配色はパターンに付随する副次的なもの(すなわちアトリビュート)として認識されていたからである。また、同一のフォーマットのパターン・データが同じサイズになることによりパターンを番号で管理し易いという特徴と画面にキャラクタを順序よく整列させた場合パターンの並びも順序よく整列するという利点があった。
【0040】
しかしながら、実際の利用においてはパターン・データはピクセルのビット数であるとかキャラクタのサイズのようなパターンの記述フォーマットが特定されており、そのフォーマットでしか利用できない。また、1種類ないしは2、3種類の配色でのみ利用される場合やキャラクタの反転をさせない利用が多い。このことはキャラクタを記述する上での冗長性が多分にあり、この冗長性を削減できる余裕があることを意味する。
【0041】
さらに、キャラクタを利用する側(オブジェクト生成手段)ではキャラクタ・パターンの指定とアトリビュートの指定を行わなければならず多くの記憶容量が必要であった。また、フォーマット(アトリビュート)をレジスタで指定する場合は画面全体で1つのフォーマットしか指定できず、画面中でいろいろなフォーマットのキャラクタを混在させることが困難であった。
【0042】
そこで、請求項5の発明ではキャラクタ・パターンとそのアトリビュートを連続した記憶領域に配置し、その記憶位置を指し示すだけでキャラクタのパターンとアトリビュートを特定できるようにした。また、数種類のバリエーションに対応するため、1つのキャラクタに複数のアトリビュートを盛り込みキャラクタの特定には対応するアトリビュートの位置を指定することによりバリエーションのあるキャラクタを効率よく記述できるようにした。
【0043】
このことによって、キャラクタを利用する側はキャラクタ・パターンを指定する番号とアトリビュートに対しキャラクタを指定するアドレスで済むためRAM容量削減につながる。さらに、プログラムでパターンとアトリビュートを設定しなければならないのに比べて、キャラクタのアドレスを設定するだけでよいのでプログラム・サイズの削減と処理スピードの向上、さらにはソフトウェア作成上の利便性の向上が期待できる。
【0044】
また、フォーマット(アトリビュート)をレジスタで指定していた方式と比べて1つの画面中に複数のフォーマットのキャラクタを混在でき画面設計上の融通性が向上すると同時にキャラクタを記述できる最低の容量のフォーマットを利用できるのでメモリ容量削減につながる。
【0045】
また、請求項6の発明は、キャラクタを指示する異なる複数のキャラクタ指示形式を、キャラクタを指示する形式を示す情報とその形式により表されたキャラクタを指示する情報とを入力することにより統一的な形式に変換し出力するキャラクタ指示形式変換手段を更に備える走査型画像生成回路手段を要旨とするものである。
【0046】
請求項5の発明で説明したようなアトリビュート付きキャラクタを指示する方法はアドレスが適当である。また、多くのキャラクタを表現しようとすると必然的にキャラクタを指し示すアドレスを表現するビット数も増えてくる。しかし、フルグラフィックのような利用や従来のパターンだけのキャラクタを利用したい向きには番号方式やアライメント方式が有用である。さらに、簡易なアプリケーションではそれ程多くのキャラクタを利用しないためよりビット数の少ないキャラクタ指示形式を採用するほうが好ましい。従って、この請求項6の発明では従来の方式や新しい方式やビット数の異なるキャラクタ指示方式を選択できるようにした。
【0047】
このことによって、従来の表現方法による利点を損なうことなく新しい表現方法にも対応することができ、キャラクタを指示する形式によってはより容量の少ないRAMでの利用が可能となる。
【0048】
キャラクタ指示形式変換手段は、ヘッダがついたキャラクタやサイズの違うキャラクタを指示できるようにキャラクタをポインタ(アドレス)で指示するものである。
【0049】
さらにベース・レジスタやセグメント・レジスタ・アレイを設け広いメモリ空間を低いビットのポインタで指示できるようにしても良い。またこれらの形式と先のキャラクタ番号形式を切り換えられるように形式選択レジスタを設けても良い。
【0050】
【発明の実施の形態】
この発明に係る走査型画像生成回路手段の実施の形態を説明する。
【0051】
図1に示すブロック図において、(1)はクロック生成手段である。このクロック生成手段としては各種の方形波発振器を用いうる。なお、これに代えて別の独立した回路からクロックを拝借するようにしても良い。
【0052】
上記クロック生成手段(1)で生成されたクロックは走査位置生成手段(2)に入力される。この走査位置生成手段(2)は、上記クロックを基に画像の横一列の走査を繰り返しながら縦に走査するような走査位置情報を生成するものである。該手段(2)は、水平、垂直カウンタを備えるものである。走査は表示されるピクセルだけを対象として特にブランキング期間を持たない走査方法であっても良い。
【0053】
(3)はオブジェクト生成手段であり、テキスト生成手段(4)と、スプライト生成手段(5)と、これらを選択するオブジェクト選択手段(6)とを備えている。オブジェクトであるテキストやスプライトに回転、拡大、縮小のパラメータを持たせて図形の変形ができるようにしても良い。この場合、変形後の形を計算し、これと後述するピクセル・バッファ手段(16)の重なりを判定することでオブジェクトの限定が可能である。また後述するピクセル生成手段(10)では座標計算で該当するピクセルのデータを特定することが可能となる。
【0054】
オブジェクト生成手段(3)が生成するオブジェクトとしては、上述したテキストやスプライトの他に、ポリゴンや線分、円弧、点のような幾何図形も適合可能である。ポリゴンは頂点座標をパラメータとし、その頂点で囲まれた部分がピクセル・バッファ手段(16)と重なることを計算することでオブジェクトを限定することができる。ポリゴンの場合、頂点のデプス値を補完しピクセル毎に異なるデプス値を生成することができる。またポリゴンは内部を一定の色で塗り潰すようなものでもよいし、テクスチャを張り付けたものでもよい。テクスチャの場合は該当するピクセルのテクスチャ上での位置を計算しそのテクスチャ・データを読み出すことでピクセルを生成する。
【0055】
オブジェクト生成手段(3)からのオブジェクトは、オブジェクト限定手段(7)に入力される。このオブジェクト限定手段(7)は、前記走査位置生成手段(2)で生成された走査位置情報からオブジェクトが後述するピクセル・バッファ手段(16)対応部分画像と重なっているかを判断し、重なっているオブジェクトだけを出力するように作用する。
【0056】
上述のように限定されたオブジェクトは、キャラクタ指示形式変換手段(8)に入力される。この変換手段(8)は、キャラクタを指示する形式を示す情報とその形式により表されたキャラクタを指示する情報とが入力され統一的な形式に変換して出力するものであり、ヘッダがついたキャラクタやサイズの異なるキャラクタを指示できるようにキャラクタをポインタ(アドレス)で指示する。
【0057】
ここで、キャラクタ指示形式変換手段(8)で扱われる指示形式はアドレスそのもの、キャラクタ・パターンの基底のサイズにアライメントされたアドレス、更にキャラクタのフォーマット(1ピクセルのビット数とキャラクタのサイズ)からキャラクタ・パターンのサイズを計算しこのサイズでアライメントしたキャラクタ番号等がある。また、ベース・レジスタ、セグメント方式、ページング方式などのアドレスをオフセットする方式を採用しうる。更には間接的なアドレッシング方式も採用しうる。
【0058】
このように変換されたキャラクタは、ヘッダ読み出し手段(9)に入力される。
このヘッダ読み出し手段(9)は、キャラクタにアトリビュート情報を付随させることによりキャラクタ・データの指示だけでキャラクタが利用できるようにするものである。
【0059】
ヘッダ読み出し手段(9)は、キャラクタ・パターンの前にヘッダとしてアトリビュート情報を置くものであるが、フッタとして後ろに置いても同様のことが可能である。また、アトリビュート情報の格納位置から間接的にキャラクタ・パターンの格納位置がわかるようにしても良い。ヘッダに記述されるアトリビュート情報は、1ピクセルのビット数やパレット番号、フリップ情報の他に、キャラクタのサイズの情報やパレットを通さないシステムでの色の値等であっても良い。
【0060】
上述のように前記オブジェクト生成手段(3)により生成されたオブジェクトは、ピクセル生成手段(10)に入力され、該手段によりピクセルに分解されてピクセルの色に関連するコード値、デプス値、位置情報等のピクセル情報が出力される。
【0061】
一方、制御手段(11)、透明記憶手段(12)および透明制御手段(13)が備えられている。前記制御手段(11)としては専用のCPUを用いても良いが、パソコン本体を制御手段とし、この発明に係る回路手段を拡張ボードに載せるような構成としても良い。前記透明記憶手段(12)は、前記制御手段(11)により、後述するパレット手段(21)に書き込まれた値が透明であった場合、そのパレット・アドレスを記憶する。前記透明制御手段(13)は、前記ピクセル生成手段(10)が生成するピクセル情報を基に前記透明記憶手段(12)にアクセスすることによりコード値が透明かどうかを判断し、透明でないピクセル情報だけをピクセル限定手段(14)を介してピクセル描画手段(15)に伝達する。
【0062】
前記ピクセル限定手段(14)は、ピクセル・バッファ手段(16)対応部分画像に重なっているピクセルだけを限定し、前記ピクセル描画手段(15)に出力するものである。一方、前記ピクセル描画手段(15)は、前記走査位置生成手段(2)からの走査位置情報と前記ピクセル生成手段(10)からの位置情報を基にピクセル・バッファ手段(16)にアクセスし、前記デプス・バッファ(17)からのデプス値と前記ピクセル生成手段(10)からのデプス値とを比較しその結果を基に前記ピクセル・バッファ手段(16)のコード値及びピクセル値を前記ピクセル生成手段(10)からのコード値とデプス値で更新する。
【0063】
前記ピクセル・バッファ手段(16)は、図2に示すように画像の横一列を構成するピクセルの数よりも少ないピクセル・バッファ単位で構成されている。もっとも、その数は特に限定されるものではない。各ピクセル・バッファ単位は、ピクセルの奥行きに関するデプス値を格納するデプス・バッファ(17)及びピクセルの色に関連した情報であるコード値を格納するコード・バッファ(18)で構成されるものである。そして走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で順次的に格納し走査位置が移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置にくるようにピクセル単位でピクセル・バッファ単位を巡回させて切り換えるようになされている。
【0064】
デプス・バッファ(17)、コード・バッファ(18)としては、汎用のRAM・ICの他にシリアル・アクセス・ポートとパラレル・アクセス・ポートを持つ画像専用のデュアル・ポート・メモリを用いることができる。この場合描画はパラレル・ポート、表示はシリアル・ポートで行い調停手段はデュアル・ポート・メモリ内部に存在することになる。
【0065】
前記走査位置生成手段(2)からの走査位置情報はバッファ出力手段(19)に入力され、該バッファ出力手段(19)は前記走査位置情報に基づいて走査位置にあるピクセルの色に関連する情報であるコード値を読み出したのち、前記ピクセル・バッファ手段(16)の内容を消去する。
【0066】
前記ピクセル描画手段(15)からの前記ピクセル・バッファ手段(16)への描画要求と前記バッファ出力手段(19)からの前記ピクセル・バッファ手段(16)への表示要求とを調停するためにバッファ・アクセス調停手段(20)が設けられている。該調停手段(20)としては描画と表示を固定の時間で区切ってしまうような構成としても良い。
【0067】
前記バッファ出力手段(19)からの表示ピクセル・コード値に基づいて表示ピクセルの色情報を変換し出力するパレット手段(21)が備えられている。更に、前記走査位置生成手段(2)からの情報で同期信号を生成する同期信号生成手段(23)と、前記パレット手段(21)からの色情報と前記同期信号生成手段(23)からの同期信号を合成し複合ビデオ信号に変換するビデオ信号生成手段(22)が装備されている。上記パレット手段(21)とビデオ信号生成手段(22)は市販のパレット付きのビデオ・エンコーダICを用いることができる。
【0068】
前記ピクセル・バッファ手段は、同一アドレスへの読み出しと書き込みが対になっていることを利用してプリチャージ、読み出し、比較・書き込みの3サイクルで実現したことを特徴とするバッファ・アクセス高速化手段を備えている。
【0069】
【実施例】
以下、図3に示されるこの発明にかかる実施例を説明する。この図示実施例はモノリシックで1チップ化されたものの1部分である。
【0070】
リセット回路(60)は、電源電圧の低下を検出し電源の投入時や切断時に、システムの保護と初期化するためのリセット信号LPWと、電源の投入時やシステムの再起動時にシステムを初期化するためのリセット信号RESとを出力するものである。LPW信号がアクティブになるときはRES信号も同時にアクティブになり、LPW信号が解除してもしばらくはRES信号は解除しないように設定されている。
【0071】
クロック・ジェネレータ(61)(クロック生成手段(1))は水晶発振器で発振した基本周波数をPLLで逓倍することにより生成している。水晶振動子の周波数はこれを基にNTSC/PALの標準信号を生成するために必然的に決まってくる。しかも、発振子の価格が最も低くなる周波数としてそれぞれの標準のカラー・サブキャリアの周波数そのものを選んだ。すなわちNTSCが3.579545MHzでPALが4.43361875MHzである。
【0072】
両標準で水晶発振器の周波数が異なるので、NTSC/PAL入力により逓倍率を変え出力周波数が大体同じになるようにしている。これは両標準とも水平の周期が大体同じで、同じ画面構成にした場合ピクセル周波数がほぼ同じになることと、システムの処理性能がこの周波数によって決まり両標準間に性能の差が生じる事は好ましくないからである。具体的にはNTSCの場合は入力の96/4倍、PALの場合は96/5倍の周波数のCK80と、それをさらに2分周したCK40、4分周したCK20を出力している。
【0073】
タイミング・ジェネレータ(62)(走査位置生成手段(2))ではクロック・ジェネレータ(61)からのクロックCK20を基に水平走査位置信号H[11]、垂直走査位置信号V[9]、複合同期信号SYNCHと複合ブランキング信号BLANK、バースト・フラグ信号BURST、ライン交番信号LA等のタイミング信号を生成している。
【0074】
これは分周器で構成され、NTSC/PALでこの分周率を変えている。NTSCでは1水平を1365分周し、263水平を1垂直とする。またPALでは1水平を1362分周し、314水平を1垂直とする。両方式とも画面の縦揺れをなくすため標準と違いインターレースは行わない。この分周率はNTSC/PALの標準信号に近い水平/垂直周波数と標準に合わせたインターリーブ方式を提供するためである。NTSCはライン・フレームともインターリーブが180度、PALはライン・インターリーブを270度にしている。ただしPALのフレーム・インターリーブは標準と違って180度にしている。これはノンインターレース方式でサブキャリアが輝度に与えるドット妨害を軽減するためである。
【0075】
またタイミング・ジェネレータ(62)のリセットはLPW信号を使い電源起動時に1回かかるだけにしている。これはシステムを再起動したとき同期信号が消え画面が乱れるのを防ぐためである。
【0076】
走査位置(H、V)は表示画面の左上が(0、16)で右下が(1023、239)となるように走査する。ピクセルの位置はHの上位9ビットとVの全ビットで表され、表示画面は256(横)×224(縦)ピクセルで構成されることになる。従って、1ラインには256ピクセル入る。走査位置で示される画面と同期信号類の関係は処理の遅延を考慮して少しずらしてある。
【0077】
CPU(63)(制御手段(11))としては、8ビットのマイクロ・プロセッサが搭載されており、バスを経由してメモリの内容やレジスタをアクセスできるようになっている。CPU(63)からはアドレス線、データ線、制御線等からなるバスが接続されている。
【0078】
主メモリ(64)としては、プログラム、データ、キャラクタ等を格納するメモリがあり、バスにつながっている。
【0079】
スプライト・ジェネレータ(65)(スプライト生成手段(5))(オブジェクト限定手段(7))
【0080】
スプライト・ジェネレータ(65)にはCPU(63)からアクセス可能なレジスタとスプライト・メモリがあり、これらはスプライトのいろいろな情報を格納している。レジスタには全スプライトのアドレス情報の形式Tとヘッダの所在Wが格納されている。メモリには各スプライトの1ピクセルのビット数B、キャラクタのサイズS、フリップ情報F、水平位置X、垂直位置Y、デプス値Z、パレット値P、キャラクタの主メモリ(64)上での格納位置を示すアドレス情報Aが格納されている。
【0081】
スプライト・ジェネレータ(65)は走査位置H[11]、V[9]の情報を基にこのメモリを検索し、ピクセル・バッファ(78)に重なっている(重なりつつある)スプライトを限定し、T[3]、W、B[3]、S[2]、F[2]、X[9]、Y[5]、Z[4]、P[4]、A[24]からなる信号を出力する。
【0082】
ここで、VALIDとWISHという前段から後段へデータを伝送するときのハンド・シェーク信号がある。VALIDは送り手から受け手へ伝達する制御信号で、送るデータが準備できるとデータと共にアクティブになる。WISHは逆に受け手から送り手へ伝達する制御信号であり、データが受け入れられる状態のときアクティブになる。両信号がアクティブの期間(1クロック)に1つのデータが伝送される。回路はRES入力で初期化されCK40のクロックに同期して動作する。
【0083】
テキスト・ジェネレータ(66)(テキスト生成手段(4))(オブジェクト限定手段(7))
【0084】
テキスト・ジェネレータ(66)にはCPU(63)からアクセス可能なレジスタが備えられており、そのレジスタには各テキストの情報を記憶している主メモリ(64)上の配列を指し示すポインタL、H、Aと全テキストに適用される1ピクセルのビット数B、キャラクタのサイズS、フリップ情報F、水平移動量X、垂直移動量Y、デプス情報Z、パレット情報P、アドレス情報の形式T、アトリビュートの所在Wが格納されている。また、このポインタで指し示された主メモリ(64)上の配列には各テキストに使用するキャラクタの主メモリ(64)上での位置を示すアドレス情報Aとパレット情報P、デプス情報Zの2つのアトリビュート情報が格納されている。このアドレス情報はアドレス情報の形式に従ったサイズ(1から3バイト)を持ち、アトリビュート情報はアトリビュートの所在で配列への格納と指定されると有効になる。
【0085】
テキスト・ジェネレータ(66)はH[11]、V[9]の情報を基に、ピクセル・バッファ(78)に重なる(重なりつつある)テキストの情報(配列の要素)をバスを通して主メモリ(64)から読み出して出力する。
【0086】
ここでアドレス情報が0のときのみテキスト自体が透明であるとして、送出はしない。後段へはVALID、T[3]、W、B[3]、S[2]、F[2]、X[9]、Y[5]、Z[4]、P[4]、A[24]、E(緊急信号)が出力されWISHが入力される。ここで緊急信号Eは出力したデータが後段になかなか伝送されずにいたとき、この信号をアクティブにして後段にデータの受信を催促する信号である。この信号は出力したでーたの位置情報とH、Vの位置情報の差が広がったことを検出してアクティブにする。回路はRESで初期化され、CK40のクロックで動作する。
【0087】
セレクタ/ミキサ(67)(オブジェクト選択手段(6))(オブジェクト生成手段(3))
【0088】
テキストとスプライトからオブジェクト情報を選択/統合し後段に送る。通常はスプライトが優先する形で選択されるがテキストの緊急出力がアクティブのときはテキストが優先して選ばれる。
【0089】
前段のスプライト・ジェネレータ(65)とは、VALID、T[3]、W、B[3]、S[2]、F[2]、X[9]、Y[5]、Z[4]、P[4]、A[24]の入力と、WISHの出力、それにテキスト・ジェネレータとはVALID、T[3]、W、B[3]、S[2]、F[2]、X[9]、Y[5]、Z[4]、P[4]、A[24]、Eの入力とWISHの出力がある。後段とはWISH入力とVALID、T[3]、W、B[3]、S[2]、F[2]、X[9]、Y[5]、Z[4]、P[4]、A[24]である。回路はRESで初期化され、CK40のクロックで動作する。
【0090】
2個目のテキスト・ジェネレータ(68)
【0091】
テキスト画面を2面持たせ画面に奥行きのある背景画を形成できるようにテキスト・ジェネレータ(66、68)を2つ用意した。構成、入出力は1個目のもの(66)と同じである。CPU(63)からレジスタをアクセスするためのアドレスは1個目(66)と変えてある。
【0092】
2個目のセレクタ・ミキサ(69)は、2個目のテキスト・ジェネレータ(68)の出力と1個目のセレクタ/ミキサ(67)の出力を2個目のセレクタ/ミキサ(69)で選択/統合する。構成は1個目のセレクタ/ミキサ(67)と同一で、優先順位は1個目のセレクタ/ミキサ(67)が優先されるようになっている。
【0093】
アドレス・ジェネレータ(70)(キャラクタ指示形式変換手段(8))は、前段からのアドレス情報の形式に従って、アドレス情報を実アドレスに変換する回路である。アドレス・ジェネレータ(70)にはCPU(63)からアクセスできる16×16ビットのセグメント・メモリがあり、これにはアドレスを変換する上で必要なベース・アドレスやセグメント・アドレスが格納されている。アドレス形式は5種類あり、キャラクタの選択を1つは8ビットの番号で行い、1つは16ビットの番号で、1つは16ビットでアライメント付きのポインタで、1つは16ビットのポインタで、1つは24ビットのポインタで行う。
【0094】
8ビットと16ビットの番号の形式はセグメント・メモリの0番地に格納されたベース・アドレス(256バイト・アライメント)をベースに前段からの1ピクセルのビット数Bとサイズ情報Sで示される1キャラクタの容量((B+1)×f(78)、f(0)=64、f(1)=f(2)=128、f(3)=256)おきに配置されたアドレスが計算される。16ビットのアライメント付きポインタでは16ビットの上位3ビットで示されるセグメント・メモリに格納されたセグメント・アドレス(256バイト・アライメント)と下位13ビット(8バイト・アライメント)を加えたアドレスが計算される。
【0095】
16ビット・ポインタでは上位4ビットで示されるセグメント・メモリに格納されたセグメント・アドレス(156バイト・アライメント)と下位12ビットの和が実アドレスとなる。最後の24ビット・ポインタではこの値がそのまま実アドレスとなる。
【0096】
これらの計算されたアドレスは他のパラメータと共に後段に送出される。ここで、アドレス情報の形式Tだけはもう後段で使われないので送出することはしない。回路はRESで初期化され、CK40のクロックで動作する。
【0097】
ヘッダ・フェッチャ(71)(ヘッダ読み出し手段(9))
【0098】
キャラクタ・データはヘッダ付きとヘッダ無しの形式があり、ヘッダ付きのキャラクタ・データはヘッダとパターンからなる。そしてヘッダは少なくとも1バイトある。ヘッダの各バイトはパレット情報を含んでおり、さらにパターン直前の1バイトはそのキャラクタの1ピクセルのビット数とそのバイトがパターン直前のバイトであることを示すフラグを含む。またそれより前のバイトはビット数の代わりにフリップ情報を、そしてそのバイトがパターン直前のバイトでないことを示すと同時にパターンより2つ離れているか3つ以上離れているかを区別できるフラグを含む。
【0099】
ヘッダ付きのキャラクタ・データを指定するときは複数あるヘッダ・バイトの1つを指定する。指定されたバイトがパターン直前のバイトの場合、そこに格納された1ピクセルのビット数とパレット情報がアトリビュートとして採用され、フリップはデフォルト値(フリップしない)となる。指定バイトがパターン直前でない場合はそのバイトのパレット情報、フリップ情報とパターン直前のバイトの1ピクセルのビット数がキャラクタのアトリビュートとして採用される。
【0100】
前段からのアトリビュートの所在情報Wはキャラクタ・データがヘッダ付きかヘッダ無しかを示している。キャラクタにヘッダがある場合、キャラクタのアドレスAで指示される主メモリ(64)からヘッダの情報を読み出してそのアトリビュート情報を後段に伝送する。また、アドレスはパターンの先頭を指示するように進められる。回路はRESで初期化され、CK40のクロックで動作する。
【0101】
ストリップ・ジェネレータ(72)(ピクセル生成手段(10))
【0102】
ここでは2次元配列であるキャラクタ・データから今描画され表示されようとしている横一列の1次元配列を取り出す。どの1次元配列かは前段からの垂直位置Y[5]と縦フリップ情報F[2]、さらに走査位置H[11]、V[9]から特定する。キャラクタの縦サイズが最大で16ピクセルなので垂直位置情報Y、Vは下位5ビットもあれば十分である。キャラクタ・データは横1次元配列の並びとして2次元配列が構成されているので、2次元配列の先頭アドレス(キャラクタ・パターンのアドレス)を基に該当する1次元配列の先頭アドレスを算出し後段に伝送する。このとき前段からの1ピクセルのビット数B[3]とキャラクタの横サイズS[2]を使う。また以後ではサイズとフリップの縦の情報と垂直位置は使わないので後段へは伝送はされない。前段とはVALID、B[3]、S[2]、F[2]、X[9]、Y[8]、Z[4]、P[4]、A[24]の入力とWISH出力、後段とはWISH入力とVALID、B[3]、S[1]、F[1]、X[9]、Z[4]、P[4]、A[24](ストリップ・アドレス)出力で接続される。回路はRESで初期化され、CK40のクロックで動作する。
【0103】
キャラクタ・フェッチャ(73)(ピクセル生成手段(10))
【0104】
いままでアドレスの形で伝送されてきたキャラクタ情報はここで主メモリ(64)をアクセスすることで実際に使うデータ(コード情報)の形に変換される。前段からのストリップ・アドレスで指示される主メモリ(64)上の位置から1ピクセルのビット数と横サイズで表される容量分のデータを読み出し順次後段に伝送する。前段とはVALID、B[3]、S[1]、F[1]、X[9]、Z[4]、P[4]、A[24]入力とWISH出力で、後段とはWISH入力と、VALID、B[3]、S[1]、F[1]、X[9]、Z[4]、P[4]、D[8](データ)出力で接続される。回路はRESで初期化され、CK40のクロックで動作する。
【0105】
ピクセル・ジェネレータ(74)(ピクセル生成手段(10))
【0106】
前段からのデータは8ビット単位であり多くの場合1ピクセルのビット数と異なる。ここではこのバイト単位のデータをピクセル単位に配分し直す。配分の方法は順番に来るバイト・データをリトル・エンディアンに並べ、その下位から1ピクセルのビット数分づつ取るような形式である。ピクセル単位になったデータはパレット情報と合成されて8ビットのコード情報とする。この合成の方法はまず8ビットの上位4ビットをパレット情報で埋め、次にピクセルのビット数分の下位を再配分したピクセル・データで埋める。残ったビットは0で埋めるようにする。1ピクセルが5ビット以上のときはピクセル・データによりパレット情報が下位から侵食されるような形である。
【0107】
また、キャラクタの位置を基準にピクセルの水平位置は増加するのでピクセル毎の水平位置を算出し後段に伝送する。このとき、水平フリップが反転している場合は水平位置は一旦水平サイズ分進んだところから逆に減少するように計算する。
【0108】
1ピクセル当りのビット数、サイズ情報、フリップ情報、パレット情報は以後使われないので後段への伝送はしない。
【0109】
前段とはVALID、B[3]、S[1]、F[1]、X[9]、Z[4]、P[4]、D[8]入力とWISH出力で、後段とはWISH入力とVALID、X[9](ピクセル単位の水平位置)、Z[4]、C[8](コード)出力で接続される。回路はRESで初期化され、CK40のクロックで動作する。
【0110】
透明制御回路(75)(透明記憶手段(12))(透明制御手段(13))
【0111】
透明制御回路(75)はCPU(63)から間接的にアクセスできる16行×5ビットの透明制御メモリを備える。パレット・メモリは16行×16列の構成で、各行に最大1つの透明が設定できる。CPU(63)がパレット・メモリに色を書いたときその色が透明であればパレット・メモリのどの行のどの列かを透明制御メモリは記憶する。行はそのまま透明制御メモリの行に対応し、列はその位置情報を4ビットで表す。各パレットで最後に書いた透明が有効となる。最後に書いた透明の上に非透明の色を書き込むとその行に透明はなくなる。これは透明制御メモリの各行の残りの1ビットで表す。
【0112】
前段から入力されたコード情報の上4ビットで透明制御メモリをアクセスしその内容が有効で下4ビットと一致していればそれは透明とみなされる。透明でないピクセル情報はそのまま後段に伝送され、透明のピクセルは後段に伝送されずにここで捨てられる。前段とはVALID、X[9]、Z[4]、C[8]入力とWISH出力で、後段とはWISH入力とVALID、X[9]、Z[4]、C[8]出力で接続される。 回路はRESで初期化され、CK40のクロックで動作する。
【0113】
ドロー・ドライバ(76)(ピクセル限定手段(14))(ピクセル描画手段(15))
【0114】
入力されたピクセル情報の水平位置Xと水平走査位置H[11]からピクセルがピクセル・バッファ(78)と重なっているかを検査し、重なっているものはピクセル・バッファ(78)に描画の要求をする。要求してからそれが受諾されるまでに水平走査位置が1ステップ進む可能性があるので、ピクセル・バッファ(78)は1ピクセル少ない領域で重なりを判定する。
【0115】
前段とはVALID、X[9]、Z[4]、C[8]入力とWISH出力で、後段とはWAIT(待機信号)入力とR(要求信号)、X[7](バッファ・アドレス)、Z[4]、C[8]出力で接続される。回路はRESで初期化され、CK40のクロックで動作する。
【0116】
ピクセル・バッファ制御回路(77)(バッファ・アクセス調停手段(20))(アクセス高速化手段(24))
【0117】
ドロー・ドライバ(76)よりの要求とビュー・ドライバ(81)からの要求を調停する。ビュー・ドライバ(81)からの要求が優先される。調停された要求は80MHzで3サイクルのタイミング信号(プリチャージ信号、読み出し信号、書き込み信号)を生成しピクセル・バッファ(78)・メモリを駆動する。ドロー・ドライバ(76)からの要求では読み出したデプス値と入力されたデプス値を比較しその結果により書き込むデータを読み出したデータにするか入力されたデータにするかを決める。ビュー・ドライバ(81)からの要求では読み出したデータの内コード情報を次段に出力し、その後クリアするために書き込むデータは0固定である。ドロー・ドライバ(76)からR、X[7]、Z[4]、C[8]入力とWAIT出力で、ビュー・ドライバ(81)とはR、X[7]入力とC[8](コード)出力である。このほかにピクセル・バッファ(78)にアクセスするためのMP(プリチャージ)、MR(リード)、MW(ライト)、MA[7](アドレス)、MO[12](リード・データ)、MI[12](ライト・データ)がある。回路はRESで初期化され、CK80のクロックで動作する。
【0118】
ピクセル・バッファ(78)(ピクセル・バッファ手段(16))(デプス・バッファ手段(17))(コード・バッファ手段(18))
【0119】
ピクセル・バッファ(78)はデプス・バッファ(79)とコード・バッファ(80)からなり、それぞれ128ピクセル×4ビット、128ピクセル×8ビットである。入出力信号はMP、MR、MW、MA、MI、MOである。
【0120】
ビュー・ドライバ(81)(バッファ出力手段(19))
【0121】
走査位置情報H[11]、V[9]を基にピクセル・バッファ(78)制御へデータの読み出しを要求する。要求は要求信号Rとバッファ・アドレスXで行う。要求はピクセル・バッファ(78)制御で優先的に扱われるので要求を待機させる信号は無い。また、コード情報C[8]は読み出したデータをピクセルの区切りタイミング(5MHz、Hの下位から2ビット目)に同期させて次段に伝達する。回路はRESで初期化され、CK40のクロックで動作する。
【0122】
パレット回路(82)(パレット手段(21))
【0123】
パレット(82)は容量が256色×13ビットのパレット・メモリを備え、CPU(63)からアクセスできる。前段からのコードVC[8]をアドレスとしてアクセスし、13ビットの色情報に変換し出力する。13ビットの内訳は色相PH[5]、彩度PS[3]、明度PL[5]からなる。色相は0から23までの整数で彩度は0から7の整数、明度は0から23までの整数である。CPU(63)からアクセスする色相が24から31までのとき透明を表すことにする(透明制御参照)。回路はRESで初期化され、CK40のクロックで動作する。
【0124】
ウィンドウ・ジェネレータ(83)
【0125】
画面に特殊効果を出すための回路で画面を2つの部分に分割しその片方にカラー・エフェクタ(84)で効果を与えることができる。構成はCPU(63)からアクセスできるレジスタがあり、1水平ラインの開始点の座標と終了点の座標、画面左端の論理を設定できる。出力WINはまず設定された論理で開始し、水平走査信号H[11]が開始点と一致するとアクティブになり終了点に一致するとアンアクティブになる。さらにまたレジスタの設定により出力の論理が変わるたびにCPU(63)に対し割り込みを発生でき開始点、終了点を逐次的に変更できるようになっている。これらを組み合わせて画面上にアクティブな部分とそうでない部分をおおざっぱに形成できる。回路はRESで初期化され、CK40のクロックで動作する。
【0126】
ノイズ・ジェネレータ(85)
【0127】
カラー・エフェクタ(84)で実現する視覚的色効果の1つを演出するためのノイズを生成する部分である。M系列(ポリノミナル・カウンタ)を用いたディジタル擬似乱数系列発生器であり、M系列の下位3ビットN[3]をノイズ成分として出力する。電源電圧低下検出信号LPWでM系列カウンタをリセットし、異常なループで巡回しないようにしている。回路はRESで初期化され、CK20のクロックで動作する。
【0128】
カラー・エフェクタ(84)
【0129】
入力された色に種々の視覚的効果を与える回路である。さらにウィンドウ・ジェネレータ(83)からの信号WINによりこの機能を能動化/非能動化することができる。CPU(63)からアクセスできるレジスタがあり、これで効果を設定することができる。その効果は1つが色相H[5]、彩度S[3]、明度L[5]の各要素を固定することで、各要素を別々に設定できるフラグと、各要素が固定される値がそれぞれレジスタにある。1つは輝度を半分にすることで、制御フラグがあり、このフラグがアクティブであると明度L[5]と彩度S[3]の値がそれぞれ半分になる。
【0130】
1つはネガ/ポジを反転することで、色相H[5]に値12を加算し結果が23を越えたら0に巡回するように値24を引き、明度L[5]は値23から引くことで明暗を逆にすることで実現する。1つは輝度に適当なノイズを加えることで、明度L[5]の下位3ビットとノイズ・ジェネレータ(85)からのノイズ・データN[3]とを排他的論理和演算する。この3ビットは各ビット毎に演算をするかしないかが設定できるフラグがあり、ノイズが加わる量を加減できる。回路はRESで初期化され、CK40のクロックで動作する。
【0131】
ビデオ・エンコーダ(86)(ビデオ信号生成手段(22))
【0132】
入力された色情報と、同期信号等のタイミング情報をNTSC/PAL入力に対応した標準ビデオ信号に変換する。
【0133】
値23の次が値0になるように巡回する5ビットで24進のカウンタがあり、このカウンタは20MHzのクロックCK20毎にNTSCは4づつPALは5づつ進む。従って、NTSCは6回で1周し、PALは4.8回で1周する。このカウンタは丁度サブキャリアの周期で巡回するのでサブキャリア発振器とみなせ、このカウンタの値は位相を表すことになる。ここでNTSCの場合、カウンタの下位2ビットが変化しなくなるのでこれが漸近的に0になるようにし同一のパターンに集束するようにしている。
【0134】
入力色データの色相H[5]とこのサブキャリアの位相を加算しサブキャリアを入力色相データで位相変調した波を作成する。この位相変調波の位相データを波形ROMで振幅データに変換する。さらに入力彩度S[3]と振幅データを掛け合わせ彩度で振幅変調し変調色信号にする。これをADコンバータでアナログ信号に変えチップ外部に出力する。また入力明度L[5]は値8のオフセットを加え輝度信号とし、ADコンバータでアナログ信号に変えチップ外部に出力する。さらに、輝度信号と色信号を加えて複合ビデオ信号とし、これもADコンバータでアナログ信号に変え外部に出力する。
【0135】
ここで、輝度信号は複合ブランキング信号BLANK入力がアクティブのときは黒レベル=値8に、さらに複合同期信号SYNCH入力がアクティブのときは同期レベル=値0にしている。
【0136】
また色相入力及び彩度入力はブランキング信号がアクティブのときは値0に、バースト信号がアクティブのときは一定の値になるように制御し、変調色信号がブランキング期間は信号がなく、所定のタイミングでカラー・バースト信号が出るようにしている。
【0137】
ビデオ・ファンクション・ジェネレータ(87)
【0138】
別に画面のブランキング期間をCPU(63)に知らせる回路がある。これは走査位置情報H[11]、V[9]を基に、ブランキング期間を認識し、その開始タイミングでCPU(63)に割り込みを掛けるものである。また画面の任意の位置で割り込みを発生させる機構がある。これは CPU(63)からアクセスできる水平と垂直の位置を記憶するレジスタがあり、この内容と位置情報を常に比較することでタイミングを知り、割り込みを掛ける。これらの割り込みはCPU(63)で能動化/非能動化が制御できる。
【図面の簡単な説明】
【図1】本発明の基本構成を示すブロック図である。
【図2】本発明のピクセル・バッファ手段の概念図である。
【図3】本発明の実施例を示す回路図である。
【符号の説明】
1 クロック生成手段
2 走査位置生成手段
3 オブジェクト生成手段
4 テキスト生成手段
5 スプライト生成手段
6 オブジェクト選択手段
7 オブジェクト限定手段
10 ピクセル生成手段
11 制御手段
12 透明記憶手段
13 透明制御手段
14 ピクセル限定手段
15 ピクセル描画手段
16 ピクセル・バッファ手段
17 デプス・バッファ
18 コード・バッファ
19 バッファ出力手段
20 バッファ・アクセス調停手段
21 パレット手段
22 ビデオ信号生成手段
23 同期信号生成手段
24 バッファ・アクセス高速化手段
Claims (15)
- 2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセル数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段。 - 2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像の横一列を構成するピクセルの数よりも少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段。 - 2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
前記画像の横1列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、
前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする、走査型画像生成回路手段。 - 2次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
前記画像の横1列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数より少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、
前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前 記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする、走査型画像生成回路手段。 - 更に、ピクセルの2次元配列であるパターン・データとそのパターンを特徴づける複数のアトリビュート情報とを含み、複数あるアトリビュート情報の1つを指示することによりそのアトリビュートで特徴づけられたキャラクタを特定できるキャラクタ・データ構造を持ち、前記アトリビュート情報を指示する情報を入力しこれで指示されたアトリビュート情報とキャラクタ・データのパターン・データ部を指示する情報を出力するヘッダ読み出し手段を備える、請求項1乃至4のいずれかに記載の走査型画像生成回路手段。
- 更に、キャラクタを指示する異なる複数のキャラクタ指示形式を、キャラクタ指示形式を示す情報とその形式により表されたキャラクタを指示する情報とを入力することにより統一的な形式に変換し出力するキャラクタ指示形式変換手段を備える、請求項1乃至5のいずれかに記載の走査型画像生成回路手段。
- 前記ピクセル・バッファ手段は、同一アドレスへの読み出しと書き込みが対になっていることを利用してプリチャージ、読み出し、比較・書き込みの3サイクルで実現したことを特徴とするバッファ・アクセス高速化手段を備えたものである、請求項1乃至6のいずれかに記載の走査型画像生成回路手段。
- 更に、オブジェクト生成手段と、
前記オブジェクト生成手段からのオブジェクトをピクセルに分解し、ピクセルの色に関連するコード値、ピクセルの奥行きに関連するデプス値、ピクセルの位置情報等のピクセル情報を出力するピクセル生成手段と、
前記走査位置生成手段からの走査位置情報と前記ピクセル生成手段からのピクセルの位置情報を基に前記ピクセル・バッファ手段にアクセスし、前記デプス・バッファからのデプス値と前記ピクセル生成手段からのデプス値とを比較しその結果を基に前記ピクセル・バッファ手段のコード値及びデプス値を前記ピクセル生成手段からのコード値及びデプス値で更新するピクセル描画手段とを備える、請求項3または4に記載の走査型画像生成回路手段。 - 更に、前記ピクセル・バッファ手段が前記画像の右端と左端とが連続するように前記ピクセル情報を格納している際に、前記ピクセル生成手段からのピクセル情報のうち、前記走査位置生成手段からの走査位置情報と前記ピクセル生成手段からの位置情報を基に前記ピクセル・バッファ手段対応部分画像と重なっているピクセルだけを限定し前記ピクセル描画手段に出力するピクセル限定手段を備える、請求項3または4に記載の走査型画像生成回路手段。
- 更に、前記バッファ出力手段からの前記コード値に基づいて表示ピクセルの色情報を変換し出力するパレット手段を備える、請求項3または4に記載の走査型画像生成回路手段。
- 更に、前記バッファ出力手段からの前記バッファ手段へのアクセス要求と前記ピクセル描画手段からの前記バッファ手段へのアクセス要求を調停するバッファ・アクセス調停手段を備える、請求項8に記載の走査型画像生成回路手段。
- 更に、前記オブジェクト生成手段の生成するオブジェクトが前記ピクセル・バッファ手段対応部分画像と重なっているかを前記走査位置出力手段の生成する走査位置情報から判断し、重なっているオブジェクトだけを出力するオブジェクト限定手段を含む、請求項8に記載の走査型画像生成回路手段。
- 前記オブジェクト生成手段は、テキスト生成手段と、スプライト生成手段と、これらを選択するオブジェクト選択手段とを備えてなるものである、請求項8に記載の走査型画像生成回路手段。
- 更に、前記走査位置生成手段からの情報で同期信号を生成する同期信号生成手段と、
前記パレット手段からの色情報と前記同期信号生成手段からの同期信号を合成し複合ビデオ信号に変換するビデオ信号生成手段とを備えてなる、請求項10に記載の走査型画像生成回路手段。 - 更に、制御手段と、
該制御手段により前記パレット手段に書き込まれた値が透明であった場合そのパレット・アドレスを記憶する透明記憶手段と、
前記ピクセル生成手段が生成するピクセル情報を基に前記透明記憶手段にアクセスすることによりコード値が透明かどうかを判断し、透明でないピクセル情報だけを前記ピクセル描画手段に伝達する透明制御手段を備えた、請求項10に記載の走査型画像生成回路手段。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04165197A JP3557067B2 (ja) | 1997-02-10 | 1997-02-10 | 走査型画像生成回路手段 |
US09/019,260 US6046751A (en) | 1997-02-10 | 1998-02-05 | Color graphics processor |
TW087101480A TW376669B (en) | 1997-02-10 | 1998-02-05 | Color graphic processor |
CNB2003101012826A CN100355292C (zh) | 1997-02-10 | 1998-02-09 | 彩***编码器 |
CNB981004016A CN1181666C (zh) | 1997-02-10 | 1998-02-09 | 彩色图形处理器 |
US09/344,636 US6043811A (en) | 1997-02-10 | 1999-06-25 | Color graphics processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04165197A JP3557067B2 (ja) | 1997-02-10 | 1997-02-10 | 走査型画像生成回路手段 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10222151A JPH10222151A (ja) | 1998-08-21 |
JP3557067B2 true JP3557067B2 (ja) | 2004-08-25 |
Family
ID=12614274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04165197A Expired - Fee Related JP3557067B2 (ja) | 1997-02-10 | 1997-02-10 | 走査型画像生成回路手段 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3557067B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009104011A (ja) * | 2007-10-25 | 2009-05-14 | Yamaha Corp | 描画処理を行う装置およびプログラム |
-
1997
- 1997-02-10 JP JP04165197A patent/JP3557067B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10222151A (ja) | 1998-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5838389A (en) | Apparatus and method for updating a CLUT during horizontal blanking | |
JP3227086B2 (ja) | テレビオンスクリーン表示装置 | |
US6172669B1 (en) | Method and apparatus for translation and storage of multiple data formats in a display system | |
JP3056514B2 (ja) | 画像表示装置およびそれに用いる外部記憶装置 | |
US4529978A (en) | Method and apparatus for generating graphic and textual images on a raster scan display | |
US6384831B1 (en) | Graphic processor and data processing system | |
JPS6360395B2 (ja) | ||
JP2003515766A (ja) | ハンドヘルドlcd素子に高い色解像度を表示するための方法および装置 | |
JP3285860B2 (ja) | モザイク画像表示装置 | |
US6046751A (en) | Color graphics processor | |
EP0590785B1 (en) | Processing apparatus for sound and image data | |
US4626839A (en) | Programmable video display generator | |
EP0062669B1 (en) | Graphic and textual image generator for a raster scan display | |
JP3557067B2 (ja) | 走査型画像生成回路手段 | |
JP4122705B2 (ja) | 遊技機に装備される画像表示装置 | |
JP2593427B2 (ja) | 画像処理装置 | |
JP5282183B2 (ja) | 画像表示装置 | |
JP3484763B2 (ja) | 映像データ転送装置およびコンピュータシステム | |
JP3252359B2 (ja) | 画像処理装置 | |
JP2898482B2 (ja) | コンピュータゲーム装置 | |
WO1994010677A1 (en) | Method and apparatus for updating a clut during horizontal blanking | |
JP3704999B2 (ja) | 表示装置及び表示方法 | |
JPH027478B2 (ja) | ||
JP3554137B2 (ja) | カラー・ビデオ・エンコーダ | |
EP0121810B1 (en) | Microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040514 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110521 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110521 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110521 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120521 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120521 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |