(57)【特許請求の範囲】
【請求項１】
２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセル数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段。
【請求項２】
２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像の横一列を構成するピクセルの数よりも少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段。
【請求項３】
２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
前記画像の横１列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、
前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする、走査型画像生成回路手段。
【請求項４】
２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、
前記画像の横１列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、
ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数より少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、
前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする、走査型画像生成回路手段。
【請求項５】
更に、ピクセルの２次元配列であるパターン・データとそのパターンを特徴づける複数のアトリビュート情報とを含み、複数あるアトリビュート情報の１つを指示することによりそのアトリビュートで特徴づけられたキャラクタを特定できるキャラクタ・データ構造を持ち、前記アトリビュート情報を指示する情報を入力しこれで指示されたアトリビュート情報とキャラクタ・データのパターン・データ部を指示する情報を出力するヘッダ読み出し手段を備える、請求項１乃至４のいずれかに記載の走査型画像生成回路手段。
【請求項６】
更に、キャラクタを指示する異なる複数のキャラクタ指示形式を、キャラクタ指示形式を示す情報とその形式により表されたキャラクタを指示する情報とを入力することにより統一的な形式に変換し出力するキャラクタ指示形式変換手段を備える、請求項１乃至５のいずれかに記載の走査型画像生成回路手段。
【請求項７】
前記ピクセル・バッファ手段は、同一アドレスへの読み出しと書き込みが対になっていることを利用してプリチャージ、読み出し、比較・書き込みの３サイクルで実現したことを特徴とするバッファ・アクセス高速化手段を備えたものである、請求項１乃至６のいずれかに記載の走査型画像生成回路手段。
【請求項８】
更に、オブジェクト生成手段と、
前記オブジェクト生成手段からのオブジェクトをピクセルに分解し、ピクセルの色に関連するコード値、ピクセルの奥行きに関連するデプス値、ピクセルの位置情報等のピクセル情報を出力するピクセル生成手段と、
前記走査位置生成手段からの走査位置情報と前記ピクセル生成手段からのピクセルの位置情報を基に前記ピクセル・バッファ手段にアクセスし、前記デプス・バッファからのデプス値と前記ピクセル生成手段からのデプス値とを比較しその結果を基に前記ピクセル・バッファ手段のコード値及びデプス値を前記ピクセル生成手段からのコード値及びデプス値で更新するピクセル描画手段とを備える、請求項３または４に記載の走査型画像生成回路手段。
【請求項９】
更に、前記ピクセル・バッファ手段が前記画像の右端と左端とが連続するように前記ピクセル情報を格納している際に、前記ピクセル生成手段からのピクセル情報のうち、前記走査位置生成手段からの走査位置情報と前記ピクセル生成手段からの位置情報を基に前記ピクセル・バッファ手段対応部分画像と重なっているピクセルだけを限定し前記ピクセル描画手段に出力するピクセル限定手段を備える、請求項３または４に記載の走査型画像生成回路手段。
【請求項１０】
更に、前記バッファ出力手段からの前記コード値に基づいて表示ピクセルの色情報を変換し出力するパレット手段を備える、請求項３または４に記載の走査型画像生成回路手段。
【請求項１１】
更に、前記バッファ出力手段からの前記バッファ手段へのアクセス要求と前記ピクセル描画手段からの前記バッファ手段へのアクセス要求を調停するバッファ・アクセス調停手段を備える、請求項８に記載の走査型画像生成回路手段。
【請求項１２】
更に、前記オブジェクト生成手段の生成するオブジェクトが前記ピクセル・バッファ手段対応部分画像と重なっているかを前記走査位置出力手段の生成する走査位置情報から判断し、重なっているオブジェクトだけを出力するオブジェクト限定手段を含む、請求項８に記載の走査型画像生成回路手段。
【請求項１３】
前記オブジェクト生成手段は、テキスト生成手段と、スプライト生成手段と、これらを選択するオブジェクト選択手段とを備えてなるものである、請求項８に記載の走査型画像生成回路手段。
【請求項１４】
更に、前記走査位置生成手段からの情報で同期信号を生成する同期信号生成手段と、
前記パレット手段からの色情報と前記同期信号生成手段からの同期信号を合成し複合ビデオ信号に変換するビデオ信号生成手段とを備えてなる、請求項１０に記載の走査型画像生成回路手段。
【請求項１５】
更に、制御手段と、
該制御手段により前記パレット手段に書き込まれた値が透明であった場合そのパレット・アドレスを記憶する透明記憶手段と、
前記ピクセル生成手段が生成するピクセル情報を基に前記透明記憶手段にアクセスすることによりコード値が透明かどうかを判断し、透明でないピクセル情報だけを前記ピクセル描画手段に伝達する透明制御手段を備えた、請求項１０に記載の走査型画像生成回路手段。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、走査型画像生成回路手段に関する。より具体的には、ゲーム機器、教育用機器、通信機器、計測機器、検査用機器、広告用機器、カラオケ機器、ワードプロセッサ、ビデオ編集機器、運転補助機器、印刷補助機器、音楽補助機器、運動補助機器、身障者補助機器等において用いられる走査型ディスプレイに画像を生成する回路手段に関する。
【０００２】
【従来の技術とその解決すべき課題】
この種の従来既知の画像生成回路手段として、以下のような手段を挙げることができる。
【０００３】
最も構成の簡素なものは、バッファを何等備えてない方式のものである。この方式は、表示と同じタイミングでメモリから直接データを読み込むものであるため、自ずと性能には限界があるものであった。これは、例えばキャラクタ・ディスプレイ等に用いられている。
【０００４】
バッファを有する方式のものとしては、画像の横方向のラインを区切りとするライン・バッファ（レジスタ）を備えたものを挙げることができる。この方式は、水平ブランキング期間中に描画処理を行うものである。これは、例えばいわゆるスーパー・ファミコン（登録商標）のスプライト発生等に用いられている。このライン・バッファ方式には、シングル・ライン・バッファ方式とダブル・ライン・バッファ方式とがある。
【０００５】
上記シングル・ライン・バッファ方式は、走査線１水平ライン分のバッファを備えたものである。この方式は、例えばいわゆるスーパー・ファミコン（登録商標）等におけるスプライトの表示等に用いられ、表示品質を安定化させるために水平ブランキング期間中に描画を行うようになされている。しかしながら、描画期間は表示期間の１／３程度しか無く描画性能は貧弱なものである。
【０００６】
これに対して、ダブル・ライン・バッファ方式は、走査線２水平ライン分のバッファを備えたものである。この方式は、水平走査に同期して描画と表示を交互に切り換えるものであり、シングル・ライン・バッファ方式と比べて描画期間を多く取れるため描画性能に優れ、高性能なスプライト表示用として用いることができる。しかし、この方式はシングル・ライン・バッファ方式の倍のメモリ容量を必要とする難がある。例えば業務用ゲーム機器のスプライト表示用等として採用されている。
【０００７】
あるいはまた１画面分のバッファを備えたシングル・フレーム・バッファ方式も既知である。この方式は、フル・グラフィック（ビット・マップ）表示に好適に使用されるものであり、走査方式にとらわれない描画を可能とする。しかし、大きな容量のバッファ・メモリを必要とし、また表示期間中に書き込みを行うものであるため表示画像の品質を低下させるという難を有する。この方式は、パーソナル・コンピュータ／ワークステーション等において主として静止画を表示させるのに採用されている。
【０００８】
上記シングル・フレーム・バッファ方式に対して、２画面分のバッファを備え描画と表示をフレームに同期して交互に切り換えるようになされたダブル・フレーム・バッファ方式も既知である。この方式は、動画表示品質がよく描画期間を多くとれる反面、非常に大きなバッファ・メモリの容量を必要とするという難を有する。この方式は、例えばグラフィック・ワークステーション／３２ビット・ゲーム機等においてフル・グラフィックの動画を表示するのに採用されている。
【０００９】
ところで、従来のゲーム機器（いわゆるファミコン、スーパー・ファミコン（いずれも登録商標））等ではキャラクタのパターン・データ（ピクセルの配列）とそれを特徴づけるアトリビュートの情報（キャラクタ・フォーマット、パレット等）は別々に管理されていた。具体的には、テキストはテキスト・メモリ、スプライトはスプライト・メモリにそれぞれキャラクタの番号の配列とキャラクタのアトリビュートの配列を格納し、パターン・データはキャラクタ番号で指示された位置すなわち間接的に指定されるのに対し、アトリビュート・データはアトリビュート配列に直接的に格納されていた。
【００１０】
しかしながら一方において、多くのパターン・データは一定のアトリビュートで利用されるにもかかわらずこれを別々に管理している。このためプログラムでパターン・データの設定とアトリビュート・データの設定を別々に行なわなければならず、プログラム制作上繁雑であり、処理速度やメモリ効率の点から見てもよくないという難を有するものであった。
【００１１】
また番号でキャラクタを指示する方法では全ての番号に有効なキャラクタを配置できるという利点と、キャラクタ方式を用いたテキスト画面でフル・グラフィックを行う場合、ピクセルの格納位置を計算するのが容易であるという特徴を有するものの、共通サイズのキャラクタにしか適用できないという難を有するものであった。
【００１２】
【課題を解決するための手段】
この発明は、上述の問題点に鑑みてなされたものであり、メモリ利用効率を向上させ描画性能を維持したままでのバッファ・メモリ・サイズの削減を図ることができると共に、構成が簡易な走査型画像生成回路手段を提供することを目的とするものである。
【００１３】
この発明の更に他の目的は、高性能なデプス制御が可能であり、しかもライン・サイズにとらわれることなく設計でき、また色としての透明を表現した状態でのバッファ・メモリ・サイズを削減することを可能とし得、それでいてキャラクタを利用する場合の効率化（メモリ容量、スピード）を可能とし得る走査型画像生成回路手段を提供することにある。
【００１４】
而して請求項１の発明は、２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセル数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段を要旨とするものである。
また、請求項２の発明は、２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、ピクセル情報をピクセル単位でそれぞれ格納し前記画像の横一列を構成するピクセルの数よりも少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるとともに切り換えられた該ピクセル・バッファ単位を初期化するようになされたピクセル・バッファ手段を備えていることを特徴とする、走査型画像生成回路手段を要旨とするものである。
【００１５】
前記ピクセル・バッファ手段は、バッファの時間的な利用効率を上げるため、従来のようなフレーム単位やライン単位ではなく、複数個のピクセル・バッファ単位で構成しそれらを巡回させて切り換えるようにしたものである。
このようなピクセル・バッファ手段を採用することにより、バッファを有効に利用することができ、ひいてはバッファ・サイズを小さくすることができる。またバッファ・サイズを画面のサイズと無関係に設定しうるので、バッファ・サイズを自由に選ぶことができ、もって設計の自由度を向上することができる。更には、バッファ・メモリの容量は２のべき乗にするのが設計上好都合であり、画面の横幅が例えば３２０ピクセルである場合にはライン・バッファやフレーム・バッファではバッファのサイズもこれに合わさなければならないが、本発明による場合にはこれにとらわれなくてすみ、ますます設計の自由度を向上することができる。
【００１６】
請求項３の発明は、２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、前記画像の横１列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数とは無関係な数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする走査型画像生成回路手段を要旨とするものである。
また、請求項４の発明は、２次元のピクセル配列からなる画像を生成する走査型画像生成回路手段であって、前記画像の横１列の走査をくり返しながら縦に走査するような走査位置を生成する走査位置生成手段と、ピクセル情報をピクセル単位でそれぞれ格納し前記画像を構成するピクセルの数より少ない数のピクセル・バッファ単位からなり、走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で前記各ピクセル・バッファ単位に順次的に格納し、走査位置が次位のピクセル・バッファ単位に移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置となるようにピクセル単位で前記ピクセル・バッファ単位を巡回させて切り換えるようになされ、前記ピクセル・バッファ単位がピクセルの奥行きに関するデプス値を格納するデプス・バッファ及びピクセルの色に関連する情報であるコード値を格納するコード・バッファとで構成された、ピクセル・バッファ手段と、前記走査位置生成手段からの走査位置情報に基づいて走査位置にある前記コード値を前記コード・バッファより読み出したのち、前記ピクセル・バッファ単位の内容を消去するバッファ出力手段とを備えていることを特徴とする、走査型画像生成回路手段を要旨とするものである。
【００１７】
ここで、たとえばクロック生成手段がシステムを運用するための手段として設けられ、前記走査位置生成手段はたとえばそのクロックに基づいて画像を走査し、ピクセル出力手段と共に画像の情報を順序よく走査型表示装置に伝達するための手段である。また、ピクセル・バッファ手段は無秩序に配列されたオブジェクトやピクセルを走査に従った順に整列させる働きがある。ピクセル描画手段とピクセル出力手段はこのピクセル・バッファ手段を運用するものである。
【００１８】
従来のスプライト（オブジェクトの一つ）はスプライト・メモリの配列の順で重なり具合（優先順位）が決まっていた（いわゆるファミコン、スーパー・ファミコン（いずれも登録商標））が、この発明においてはスプライトやテキストに奥行きの情報を設け、この情報を基にピクセル・バッファ手段で重なりを制御する方法を採用している。ここに前記デプス・バッファを設け、従来フレーム・バッファで行われていたデプス・バッファ手法をピクセル・バッファ手段にも応用した。
【００１９】
このように、請求項３または４の発明では、デプス・バッファを採用したので、ピクセルの重なりを緻密に制御することが可能である。バッファ手段を複数のピクセル・バッファ単位で構成したので、描画用メモリと表示用メモリを物理的に分離することが複雑になる。このため表示アクセスと描画アクセスを切り換え方法をとるが、請求項１１の発明では、これを実現するためバッファ出力手段からのピクセル・バッファ手段への表示要求とピクセル描画手段からのピクセル・バッファ手段への描画要求の２つの要求を調停する前記バッファ・アクセス調停手段を設けている。
【００２０】
このようにアクセス調停手段を用い、複数のバッファを１つのメモリの時分割利用で実現することにより、構成が簡単になる。
【００２１】
パレット手段をピクセル・バッファ手段の前段に持ってくれば、描画する時点で透明情報を得ることができるが、ピクセル・バッファ手段はパレット手段で変換された色情報を格納することになり、容量が増えてしまう。
【００２２】
そこで、請求項１０の発明では、パレット手段をピクセル・バッファ手段の後段に置き、しかもピクセル・バッファ手段の前段で透明が判断できる機構を設けた。これにより、ピクセル・バッファの容量増加を抑制しつつ、透明色を実現することができる。
【００２３】
請求項８の発明のように、オブジェクト生成手段／ピクセル生成手段（オブジェクト・ピクセル変換）の採用により、オブジェクト・レベルの記述で画像を表現できるという効果がある。さらに、パレット手段の採用により直接色情報で運用する場合に比べて、パレット以前のハードウェアのサイズが小さくなる効果があり、パレットを書き換えるだけで画像の色調を変えられる効果がある。
【００２４】
バッファ・メモリ・サイズを削減してメモリ利用効率を一段と向上させる目的で、前記バッファ手段として、画像の横一列を構成するピクセルの数よりも少ない数のピクセル情報を格納するものを採用することが好ましい。このようにピクセル・バッファ手段として、画像の横一列を構成するピクセルの数よりも少ない数のピクセル情報を格納するものとすることにより、小容量のバッファ・サイズでありながら品質の高い画像を得ることが出来る。また、１つのオブジェクトが２ラインにまたがるような部分の処理を簡略化することができ、構成を簡単にすることができる。
【００２５】
バッファ・サイズはオブジェクト密度の偏りを均一的に処理する能力に依存する。オブジェクト密度の偏り緩衝能力を上げたければ、バッファ・サイズを増やせばよい。ここで、複数のオブジェクトが局部に集中すると互いに重なり打ち消し合って絵としてあまり意味を持たなくなる。要するに、オブジェクトは大域的な密度制限よりも局部的な密度制限に意味がある。これはバッファ・サイズが画面の端から端までは必要なく、１部分だけ有ればよいことを意味する。従って、小容量（半ラインまたはそれ以下）のバッファで十分といえる。
【００２６】
請求項９の発明のように、前記走査位置生成手段からの走査位置情報と前記ピクセル生成手段からの位置情報を基に前記ピクセル・バッファ手段対応部分画像と重なっているピクセルだけを限定し前記ピクセル描画手段に出力するピクセル限定手段を含むようにすることが好ましい。
【００２７】
前記ピクセル限定手段は、画面に現れないピクセルやピクセル・バッファ手段に場所が確保されていないピクセルがピクセル・バッファ手段に書き込まれないようにするものである。ピクセル限定手段を用いると、同一バッファ上に配置され得る画面の右端と左端が連続しているようなものを排除できるという効果がある。またピクセル・バッファ手段の範囲を越えるオブジェクトをも供給し描画する事が可能である。あるいは、ピクセル・バッファの範囲を越えるオブジェクトを描画しても折り返しノイズが出ないという効果がある。
【００２８】
更に、請求項１２の発明のように、前記オブジェクト生成手段が生成するオブジェクトが前記ピクセル・バッファ手段対応部分画像と重なっているかを前記走査位置出力手段が生成する走査位置情報から判断し、重なっているオブジェクトだけを出力するオブジェクト限定手段を含むようにすることが好ましい。
【００２９】
前記オブジェクト限定手段は、全てのオブジェクトを始めから供給しないための手段である。即ち、全てのオブジェクトを順に供給できたとしても、この全てが描画できるわけではない。ある瞬間をとると、ピクセル・バッファ手段は画面の１部でしかなく、多くのオブジェクトはピクセル・バッファ手段と重なりがない。すなわち、このようなオブジェクトを供給してもピクセル・バッファ手段に書き込まれず捨てられるだけである。従って、このようなオブジェクトを始めから供給しないための手段が有効となる。オブジェクト限定手段を用いると、後段に有効なオブジェクトだけを供給することになり、限りある描画時間を有効に活用でき、画面内に多くのオブジェクトを描画できるという効果がある。
【００３０】
請求項７の発明のように、前記ピクセル・バッファ手段は、同一アドレスへの読み出しと書き込みが対になっていることを利用してプリチャージ、読み出し、比較・書き込みの３サイクルで実現したことを特徴とするバッファ・アクセス高速化手段を備えたものとすることが好ましい。 アクセス高速化手段を採用すると、同一のアクセス・タイムのメモリを採用してもより多くの描画回数を確保でき、描画性能を向上できるという効果がある。
【００３１】
メモリ・アクセス高速化手段が必要とされるのは、少ない容量のバッファはオブジェクト密度の偏りを均一化する能力が低いが、これはバッファのアクセス・タイムを高速化することで補うことができ、また描画性能はバッファ・メモリのアクセス・タイムに依存しているため、可能な限り高速なアクセスが望まれるからである。
【００３２】
ここで、バッファ・メモリへは同じアドレスへの読み出しと書き込みが対で発生するので、これを利用して、アドレスの設定とデータの読み出し準備（プリチャージ）を共通化できる。従って、従来、プリチャージ、読み出し、プリチャージ・比較、書き込みの４サイクルかかっていたところをプリチャージ、読み出し、比較・書き込みの計３サイクルで１ピクセル分のアクセスを完了させることにより、アクセスの高速化を図ることができるようになる。
【００３３】
請求項１３の発明のように、前記オブジェクト生成手段は、テキスト生成手段と、スプライト生成手段と、これらを選択するオブジェクト選択手段とを備えてなるものであることが好ましい。このような手段を備えることにより、違った形式のオブジェクトを共通のハードウェアで実現できるという効果がある。またピクセルに分解できるオブジェクトであれば、どんなものでもピクセル・バッファ手段に供給できる。
【００３４】
請求項１４の発明のように、前記走査位置生成手段からの情報で同期信号を生成する同期信号生成手段を備え、前記パレット手段からの色情報と同期信号生成手段からの同期信号を合成し複合ビデオ信号に変換するビデオ信号生成手段を備えることが好ましい。ビデオ信号にして出力することにより、家庭用のテレビ受像器をそのまま表示手段として利用でき、コスト及びスペースの節約を可能としうる。またビデオ信号はビデオ・レコーダでの記録ができるため、ビデオ編集機器（テロッパ）のような新たな利用も可能としうる。
【００３５】
請求項１５の発明のように、更に、制御手段を有し、該制御手段により前記パレット手段に書き込まれた値が透明であった場合そのパレット・アドレスを記憶する透明情報記憶手段と、前記ピクセル生成手段が生成するピクセル情報を基に前記透明情報記憶手段にアクセスすることによりコード値が透明かどうかを判断し、透明でないピクセル情報だけを前記ピクセル描画手段に伝達する透明制御手段を備えることが望ましい。
【００３６】
透明制御手段を設けるのは以下の理由によるものである。透明色を表現することは背後の色が透けて見えることである。すなわち、透明という色はその背後の色に置き換わるものである。ピクセル・バッファ手段から出力された時点で透明が判明したのではそのピクセルを何色で置き換えてよいのか解らない。従って、ピクセル・バッファ手段に描画する時点で透明情報を知り、透明の場合は描画しないように制御する必要があるからである。
【００３７】
透明制御手段を採用すると、透明をパレットに書き込める色として認識することができる。また、パレットをピクセル・バッファ前段に置く方法に比べて、パレットのメモリ容量を削減できる。従来、透明は色と別扱いされていた。本発明ではパレットに透明を書き込む情報を別に記憶し、ピクセル・バッファの前段で制御することで、あたかも透明という色が存在するように見せることができる。また、パレットをピクセル・バッファの前段に置き、色としての透明を実現する方法はピクセル・バッファの容量が増えるが、本発明の方法ではピクセル・バッファ手段のサイズを増大させることなく実現しうる。
【００３８】
請求項５の発明のように、更にピクセルの２次元配列であるパターン・データとそのパターンを特徴づける複数のアトリビュート情報とを含み、複数あるアトリビュート情報の１つを指示することによりそのアトリビュートで特徴づけられたキャラクタを特定できるキャラクタ・データ構造を持ち、前記アトリビュート情報を指示する情報を入力しこれで指示されたアトリビュート情報とキャラクタ・データのパターン・データ部を指示する情報を出力するヘッダ読み出し手段を備えることが望ましい。
【００３９】
従来、パターン・データとそのパターンを特徴づけるアトリビュートは別々に管理されていた。というのもキャラクタの本質であるパターン・データが重要視され、パターンの記述フォーマットや利用配色はパターンに付随する副次的なもの（すなわちアトリビュート）として認識されていたからである。また、同一のフォーマットのパターン・データが同じサイズになることによりパターンを番号で管理し易いという特徴と画面にキャラクタを順序よく整列させた場合パターンの並びも順序よく整列するという利点があった。
【００４０】
しかしながら、実際の利用においてはパターン・データはピクセルのビット数であるとかキャラクタのサイズのようなパターンの記述フォーマットが特定されており、そのフォーマットでしか利用できない。また、１種類ないしは２、３種類の配色でのみ利用される場合やキャラクタの反転をさせない利用が多い。このことはキャラクタを記述する上での冗長性が多分にあり、この冗長性を削減できる余裕があることを意味する。
【００４１】
さらに、キャラクタを利用する側（オブジェクト生成手段）ではキャラクタ・パターンの指定とアトリビュートの指定を行わなければならず多くの記憶容量が必要であった。また、フォーマット（アトリビュート）をレジスタで指定する場合は画面全体で１つのフォーマットしか指定できず、画面中でいろいろなフォーマットのキャラクタを混在させることが困難であった。
【００４２】
そこで、請求項５の発明ではキャラクタ・パターンとそのアトリビュートを連続した記憶領域に配置し、その記憶位置を指し示すだけでキャラクタのパターンとアトリビュートを特定できるようにした。また、数種類のバリエーションに対応するため、１つのキャラクタに複数のアトリビュートを盛り込みキャラクタの特定には対応するアトリビュートの位置を指定することによりバリエーションのあるキャラクタを効率よく記述できるようにした。
【００４３】
このことによって、キャラクタを利用する側はキャラクタ・パターンを指定する番号とアトリビュートに対しキャラクタを指定するアドレスで済むためＲＡＭ容量削減につながる。さらに、プログラムでパターンとアトリビュートを設定しなければならないのに比べて、キャラクタのアドレスを設定するだけでよいのでプログラム・サイズの削減と処理スピードの向上、さらにはソフトウェア作成上の利便性の向上が期待できる。
【００４４】
また、フォーマット（アトリビュート）をレジスタで指定していた方式と比べて１つの画面中に複数のフォーマットのキャラクタを混在でき画面設計上の融通性が向上すると同時にキャラクタを記述できる最低の容量のフォーマットを利用できるのでメモリ容量削減につながる。
【００４５】
また、請求項６の発明は、キャラクタを指示する異なる複数のキャラクタ指示形式を、キャラクタを指示する形式を示す情報とその形式により表されたキャラクタを指示する情報とを入力することにより統一的な形式に変換し出力するキャラクタ指示形式変換手段を更に備える走査型画像生成回路手段を要旨とするものである。
【００４６】
請求項５の発明で説明したようなアトリビュート付きキャラクタを指示する方法はアドレスが適当である。また、多くのキャラクタを表現しようとすると必然的にキャラクタを指し示すアドレスを表現するビット数も増えてくる。しかし、フルグラフィックのような利用や従来のパターンだけのキャラクタを利用したい向きには番号方式やアライメント方式が有用である。さらに、簡易なアプリケーションではそれ程多くのキャラクタを利用しないためよりビット数の少ないキャラクタ指示形式を採用するほうが好ましい。従って、この請求項６の発明では従来の方式や新しい方式やビット数の異なるキャラクタ指示方式を選択できるようにした。
【００４７】
このことによって、従来の表現方法による利点を損なうことなく新しい表現方法にも対応することができ、キャラクタを指示する形式によってはより容量の少ないＲＡＭでの利用が可能となる。
【００４８】
キャラクタ指示形式変換手段は、ヘッダがついたキャラクタやサイズの違うキャラクタを指示できるようにキャラクタをポインタ（アドレス）で指示するものである。
【００４９】
さらにベース・レジスタやセグメント・レジスタ・アレイを設け広いメモリ空間を低いビットのポインタで指示できるようにしても良い。またこれらの形式と先のキャラクタ番号形式を切り換えられるように形式選択レジスタを設けても良い。
【００５０】
【発明の実施の形態】
この発明に係る走査型画像生成回路手段の実施の形態を説明する。
【００５１】
図１に示すブロック図において、（１）はクロック生成手段である。このクロック生成手段としては各種の方形波発振器を用いうる。なお、これに代えて別の独立した回路からクロックを拝借するようにしても良い。
【００５２】
上記クロック生成手段（１）で生成されたクロックは走査位置生成手段（２）に入力される。この走査位置生成手段（２）は、上記クロックを基に画像の横一列の走査を繰り返しながら縦に走査するような走査位置情報を生成するものである。該手段（２）は、水平、垂直カウンタを備えるものである。走査は表示されるピクセルだけを対象として特にブランキング期間を持たない走査方法であっても良い。
【００５３】
（３）はオブジェクト生成手段であり、テキスト生成手段（４）と、スプライト生成手段（５）と、これらを選択するオブジェクト選択手段（６）とを備えている。オブジェクトであるテキストやスプライトに回転、拡大、縮小のパラメータを持たせて図形の変形ができるようにしても良い。この場合、変形後の形を計算し、これと後述するピクセル・バッファ手段（１６）の重なりを判定することでオブジェクトの限定が可能である。また後述するピクセル生成手段（１０）では座標計算で該当するピクセルのデータを特定することが可能となる。
【００５４】
オブジェクト生成手段（３）が生成するオブジェクトとしては、上述したテキストやスプライトの他に、ポリゴンや線分、円弧、点のような幾何図形も適合可能である。ポリゴンは頂点座標をパラメータとし、その頂点で囲まれた部分がピクセル・バッファ手段（１６）と重なることを計算することでオブジェクトを限定することができる。ポリゴンの場合、頂点のデプス値を補完しピクセル毎に異なるデプス値を生成することができる。またポリゴンは内部を一定の色で塗り潰すようなものでもよいし、テクスチャを張り付けたものでもよい。テクスチャの場合は該当するピクセルのテクスチャ上での位置を計算しそのテクスチャ・データを読み出すことでピクセルを生成する。
【００５５】
オブジェクト生成手段（３）からのオブジェクトは、オブジェクト限定手段（７）に入力される。このオブジェクト限定手段（７）は、前記走査位置生成手段（２）で生成された走査位置情報からオブジェクトが後述するピクセル・バッファ手段（１６）対応部分画像と重なっているかを判断し、重なっているオブジェクトだけを出力するように作用する。
【００５６】
上述のように限定されたオブジェクトは、キャラクタ指示形式変換手段（８）に入力される。この変換手段（８）は、キャラクタを指示する形式を示す情報とその形式により表されたキャラクタを指示する情報とが入力され統一的な形式に変換して出力するものであり、ヘッダがついたキャラクタやサイズの異なるキャラクタを指示できるようにキャラクタをポインタ（アドレス）で指示する。
【００５７】
ここで、キャラクタ指示形式変換手段（８）で扱われる指示形式はアドレスそのもの、キャラクタ・パターンの基底のサイズにアライメントされたアドレス、更にキャラクタのフォーマット（１ピクセルのビット数とキャラクタのサイズ）からキャラクタ・パターンのサイズを計算しこのサイズでアライメントしたキャラクタ番号等がある。また、ベース・レジスタ、セグメント方式、ページング方式などのアドレスをオフセットする方式を採用しうる。更には間接的なアドレッシング方式も採用しうる。
【００５８】
このように変換されたキャラクタは、ヘッダ読み出し手段（９）に入力される。
このヘッダ読み出し手段（９）は、キャラクタにアトリビュート情報を付随させることによりキャラクタ・データの指示だけでキャラクタが利用できるようにするものである。
【００５９】
ヘッダ読み出し手段（９）は、キャラクタ・パターンの前にヘッダとしてアトリビュート情報を置くものであるが、フッタとして後ろに置いても同様のことが可能である。また、アトリビュート情報の格納位置から間接的にキャラクタ・パターンの格納位置がわかるようにしても良い。ヘッダに記述されるアトリビュート情報は、１ピクセルのビット数やパレット番号、フリップ情報の他に、キャラクタのサイズの情報やパレットを通さないシステムでの色の値等であっても良い。
【００６０】
上述のように前記オブジェクト生成手段（３）により生成されたオブジェクトは、ピクセル生成手段（１０）に入力され、該手段によりピクセルに分解されてピクセルの色に関連するコード値、デプス値、位置情報等のピクセル情報が出力される。
【００６１】
一方、制御手段（１１）、透明記憶手段（１２）および透明制御手段（１３）が備えられている。前記制御手段（１１）としては専用のＣＰＵを用いても良いが、パソコン本体を制御手段とし、この発明に係る回路手段を拡張ボードに載せるような構成としても良い。前記透明記憶手段（１２）は、前記制御手段（１１）により、後述するパレット手段（２１）に書き込まれた値が透明であった場合、そのパレット・アドレスを記憶する。前記透明制御手段（１３）は、前記ピクセル生成手段（１０）が生成するピクセル情報を基に前記透明記憶手段（１２）にアクセスすることによりコード値が透明かどうかを判断し、透明でないピクセル情報だけをピクセル限定手段（１４）を介してピクセル描画手段（１５）に伝達する。
【００６２】
前記ピクセル限定手段（１４）は、ピクセル・バッファ手段（１６）対応部分画像に重なっているピクセルだけを限定し、前記ピクセル描画手段（１５）に出力するものである。一方、前記ピクセル描画手段（１５）は、前記走査位置生成手段（２）からの走査位置情報と前記ピクセル生成手段（１０）からの位置情報を基にピクセル・バッファ手段（１６）にアクセスし、前記デプス・バッファ（１７）からのデプス値と前記ピクセル生成手段（１０）からのデプス値とを比較しその結果を基に前記ピクセル・バッファ手段（１６）のコード値及びピクセル値を前記ピクセル生成手段（１０）からのコード値とデプス値で更新する。
【００６３】
前記ピクセル・バッファ手段（１６）は、図２に示すように画像の横一列を構成するピクセルの数よりも少ないピクセル・バッファ単位で構成されている。もっとも、その数は特に限定されるものではない。各ピクセル・バッファ単位は、ピクセルの奥行きに関するデプス値を格納するデプス・バッファ（１７）及びピクセルの色に関連した情報であるコード値を格納するコード・バッファ（１８）で構成されるものである。そして走査位置を末尾とし該走査位置からバッファ容量分先が先頭となるようにピクセル情報をピクセル単位で順次的に格納し走査位置が移動したときに末尾のピクセル情報格納位置が先頭のピクセル情報格納位置にくるようにピクセル単位でピクセル・バッファ単位を巡回させて切り換えるようになされている。
【００６４】
デプス・バッファ（１７）、コード・バッファ（１８）としては、汎用のＲＡＭ・ＩＣの他にシリアル・アクセス・ポートとパラレル・アクセス・ポートを持つ画像専用のデュアル・ポート・メモリを用いることができる。この場合描画はパラレル・ポート、表示はシリアル・ポートで行い調停手段はデュアル・ポート・メモリ内部に存在することになる。
【００６５】
前記走査位置生成手段（２）からの走査位置情報はバッファ出力手段（１９）に入力され、該バッファ出力手段（１９）は前記走査位置情報に基づいて走査位置にあるピクセルの色に関連する情報であるコード値を読み出したのち、前記ピクセル・バッファ手段（１６）の内容を消去する。
【００６６】
前記ピクセル描画手段（１５）からの前記ピクセル・バッファ手段（１６）への描画要求と前記バッファ出力手段（１９）からの前記ピクセル・バッファ手段（１６）への表示要求とを調停するためにバッファ・アクセス調停手段（２０）が設けられている。該調停手段（２０）としては描画と表示を固定の時間で区切ってしまうような構成としても良い。
【００６７】
前記バッファ出力手段（１９）からの表示ピクセル・コード値に基づいて表示ピクセルの色情報を変換し出力するパレット手段（２１）が備えられている。更に、前記走査位置生成手段（２）からの情報で同期信号を生成する同期信号生成手段（２３）と、前記パレット手段（２１）からの色情報と前記同期信号生成手段（２３）からの同期信号を合成し複合ビデオ信号に変換するビデオ信号生成手段（２２）が装備されている。上記パレット手段（２１）とビデオ信号生成手段（２２）は市販のパレット付きのビデオ・エンコーダＩＣを用いることができる。
【００６８】
前記ピクセル・バッファ手段は、同一アドレスへの読み出しと書き込みが対になっていることを利用してプリチャージ、読み出し、比較・書き込みの３サイクルで実現したことを特徴とするバッファ・アクセス高速化手段を備えている。
【００６９】
【実施例】
以下、図３に示されるこの発明にかかる実施例を説明する。この図示実施例はモノリシックで１チップ化されたものの１部分である。
【００７０】
リセット回路（６０）は、電源電圧の低下を検出し電源の投入時や切断時に、システムの保護と初期化するためのリセット信号ＬＰＷと、電源の投入時やシステムの再起動時にシステムを初期化するためのリセット信号ＲＥＳとを出力するものである。ＬＰＷ信号がアクティブになるときはＲＥＳ信号も同時にアクティブになり、ＬＰＷ信号が解除してもしばらくはＲＥＳ信号は解除しないように設定されている。
【００７１】
クロック・ジェネレータ（６１）（クロック生成手段（１））は水晶発振器で発振した基本周波数をＰＬＬで逓倍することにより生成している。水晶振動子の周波数はこれを基にＮＴＳＣ／ＰＡＬの標準信号を生成するために必然的に決まってくる。しかも、発振子の価格が最も低くなる周波数としてそれぞれの標準のカラー・サブキャリアの周波数そのものを選んだ。すなわちＮＴＳＣが３．５７９５４５ＭＨｚでＰＡＬが４．４３３６１８７５ＭＨｚである。
【００７２】
両標準で水晶発振器の周波数が異なるので、ＮＴＳＣ／ＰＡＬ入力により逓倍率を変え出力周波数が大体同じになるようにしている。これは両標準とも水平の周期が大体同じで、同じ画面構成にした場合ピクセル周波数がほぼ同じになることと、システムの処理性能がこの周波数によって決まり両標準間に性能の差が生じる事は好ましくないからである。具体的にはＮＴＳＣの場合は入力の９６／４倍、ＰＡＬの場合は９６／５倍の周波数のＣＫ８０と、それをさらに２分周したＣＫ４０、４分周したＣＫ２０を出力している。
【００７３】
タイミング・ジェネレータ（６２）（走査位置生成手段（２））ではクロック・ジェネレータ（６１）からのクロックＣＫ２０を基に水平走査位置信号Ｈ［１１］、垂直走査位置信号Ｖ［９］、複合同期信号ＳＹＮＣＨと複合ブランキング信号ＢＬＡＮＫ、バースト・フラグ信号ＢＵＲＳＴ、ライン交番信号ＬＡ等のタイミング信号を生成している。
【００７４】
これは分周器で構成され、ＮＴＳＣ／ＰＡＬでこの分周率を変えている。ＮＴＳＣでは１水平を１３６５分周し、２６３水平を１垂直とする。またＰＡＬでは１水平を１３６２分周し、３１４水平を１垂直とする。両方式とも画面の縦揺れをなくすため標準と違いインターレースは行わない。この分周率はＮＴＳＣ／ＰＡＬの標準信号に近い水平／垂直周波数と標準に合わせたインターリーブ方式を提供するためである。ＮＴＳＣはライン・フレームともインターリーブが１８０度、ＰＡＬはライン・インターリーブを２７０度にしている。ただしＰＡＬのフレーム・インターリーブは標準と違って１８０度にしている。これはノンインターレース方式でサブキャリアが輝度に与えるドット妨害を軽減するためである。
【００７５】
またタイミング・ジェネレータ（６２）のリセットはＬＰＷ信号を使い電源起動時に１回かかるだけにしている。これはシステムを再起動したとき同期信号が消え画面が乱れるのを防ぐためである。
【００７６】
走査位置（Ｈ、Ｖ）は表示画面の左上が（０、１６）で右下が（１０２３、２３９）となるように走査する。ピクセルの位置はＨの上位９ビットとＶの全ビットで表され、表示画面は２５６（横）×２２４（縦）ピクセルで構成されることになる。従って、１ラインには２５６ピクセル入る。走査位置で示される画面と同期信号類の関係は処理の遅延を考慮して少しずらしてある。
【００７７】
ＣＰＵ（６３）（制御手段（１１））としては、８ビットのマイクロ・プロセッサが搭載されており、バスを経由してメモリの内容やレジスタをアクセスできるようになっている。ＣＰＵ（６３）からはアドレス線、データ線、制御線等からなるバスが接続されている。
【００７８】
主メモリ（６４）としては、プログラム、データ、キャラクタ等を格納するメモリがあり、バスにつながっている。
【００７９】
スプライト・ジェネレータ（６５）（スプライト生成手段（５））（オブジェクト限定手段（７））
【００８０】
スプライト・ジェネレータ（６５）にはＣＰＵ（６３）からアクセス可能なレジスタとスプライト・メモリがあり、これらはスプライトのいろいろな情報を格納している。レジスタには全スプライトのアドレス情報の形式Ｔとヘッダの所在Ｗが格納されている。メモリには各スプライトの１ピクセルのビット数Ｂ、キャラクタのサイズＳ、フリップ情報Ｆ、水平位置Ｘ、垂直位置Ｙ、デプス値Ｚ、パレット値Ｐ、キャラクタの主メモリ（６４）上での格納位置を示すアドレス情報Ａが格納されている。
【００８１】
スプライト・ジェネレータ（６５）は走査位置Ｈ［１１］、Ｖ［９］の情報を基にこのメモリを検索し、ピクセル・バッファ（７８）に重なっている（重なりつつある）スプライトを限定し、Ｔ［３］、Ｗ、Ｂ［３］、Ｓ［２］、Ｆ［２］、Ｘ［９］、Ｙ［５］、Ｚ［４］、Ｐ［４］、Ａ［２４］からなる信号を出力する。
【００８２】
ここで、ＶＡＬＩＤとＷＩＳＨという前段から後段へデータを伝送するときのハンド・シェーク信号がある。ＶＡＬＩＤは送り手から受け手へ伝達する制御信号で、送るデータが準備できるとデータと共にアクティブになる。ＷＩＳＨは逆に受け手から送り手へ伝達する制御信号であり、データが受け入れられる状態のときアクティブになる。両信号がアクティブの期間（１クロック）に１つのデータが伝送される。回路はＲＥＳ入力で初期化されＣＫ４０のクロックに同期して動作する。
【００８３】
テキスト・ジェネレータ（６６）（テキスト生成手段（４））（オブジェクト限定手段（７））
【００８４】
テキスト・ジェネレータ（６６）にはＣＰＵ（６３）からアクセス可能なレジスタが備えられており、そのレジスタには各テキストの情報を記憶している主メモリ（６４）上の配列を指し示すポインタＬ、Ｈ、Ａと全テキストに適用される１ピクセルのビット数Ｂ、キャラクタのサイズＳ、フリップ情報Ｆ、水平移動量Ｘ、垂直移動量Ｙ、デプス情報Ｚ、パレット情報Ｐ、アドレス情報の形式Ｔ、アトリビュートの所在Ｗが格納されている。また、このポインタで指し示された主メモリ（６４）上の配列には各テキストに使用するキャラクタの主メモリ（６４）上での位置を示すアドレス情報Ａとパレット情報Ｐ、デプス情報Ｚの２つのアトリビュート情報が格納されている。このアドレス情報はアドレス情報の形式に従ったサイズ（１から３バイト）を持ち、アトリビュート情報はアトリビュートの所在で配列への格納と指定されると有効になる。
【００８５】
テキスト・ジェネレータ（６６）はＨ［１１］、Ｖ［９］の情報を基に、ピクセル・バッファ（７８）に重なる（重なりつつある）テキストの情報（配列の要素）をバスを通して主メモリ（６４）から読み出して出力する。
【００８６】
ここでアドレス情報が０のときのみテキスト自体が透明であるとして、送出はしない。後段へはＶＡＬＩＤ、Ｔ［３］、Ｗ、Ｂ［３］、Ｓ［２］、Ｆ［２］、Ｘ［９］、Ｙ［５］、Ｚ［４］、Ｐ［４］、Ａ［２４］、Ｅ（緊急信号）が出力されＷＩＳＨが入力される。ここで緊急信号Ｅは出力したデータが後段になかなか伝送されずにいたとき、この信号をアクティブにして後段にデータの受信を催促する信号である。この信号は出力したでーたの位置情報とＨ、Ｖの位置情報の差が広がったことを検出してアクティブにする。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【００８７】
セレクタ／ミキサ（６７）（オブジェクト選択手段（６））（オブジェクト生成手段（３））
【００８８】
テキストとスプライトからオブジェクト情報を選択／統合し後段に送る。通常はスプライトが優先する形で選択されるがテキストの緊急出力がアクティブのときはテキストが優先して選ばれる。
【００８９】
前段のスプライト・ジェネレータ（６５）とは、ＶＡＬＩＤ、Ｔ［３］、Ｗ、Ｂ［３］、Ｓ［２］、Ｆ［２］、Ｘ［９］、Ｙ［５］、Ｚ［４］、Ｐ［４］、Ａ［２４］の入力と、ＷＩＳＨの出力、それにテキスト・ジェネレータとはＶＡＬＩＤ、Ｔ［３］、Ｗ、Ｂ［３］、Ｓ［２］、Ｆ［２］、Ｘ［９］、Ｙ［５］、Ｚ［４］、Ｐ［４］、Ａ［２４］、Ｅの入力とＷＩＳＨの出力がある。後段とはＷＩＳＨ入力とＶＡＬＩＤ、Ｔ［３］、Ｗ、Ｂ［３］、Ｓ［２］、Ｆ［２］、Ｘ［９］、Ｙ［５］、Ｚ［４］、Ｐ［４］、Ａ［２４］である。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【００９０】
２個目のテキスト・ジェネレータ（６８）
【００９１】
テキスト画面を２面持たせ画面に奥行きのある背景画を形成できるようにテキスト・ジェネレータ（６６、６８）を２つ用意した。構成、入出力は１個目のもの（６６）と同じである。ＣＰＵ（６３）からレジスタをアクセスするためのアドレスは１個目（６６）と変えてある。
【００９２】
２個目のセレクタ・ミキサ（６９）は、２個目のテキスト・ジェネレータ（６８）の出力と１個目のセレクタ／ミキサ（６７）の出力を２個目のセレクタ／ミキサ（６９）で選択／統合する。構成は１個目のセレクタ／ミキサ（６７）と同一で、優先順位は１個目のセレクタ／ミキサ（６７）が優先されるようになっている。
【００９３】
アドレス・ジェネレータ（７０）（キャラクタ指示形式変換手段（８））は、前段からのアドレス情報の形式に従って、アドレス情報を実アドレスに変換する回路である。アドレス・ジェネレータ（７０）にはＣＰＵ（６３）からアクセスできる１６×１６ビットのセグメント・メモリがあり、これにはアドレスを変換する上で必要なベース・アドレスやセグメント・アドレスが格納されている。アドレス形式は５種類あり、キャラクタの選択を１つは８ビットの番号で行い、１つは１６ビットの番号で、１つは１６ビットでアライメント付きのポインタで、１つは１６ビットのポインタで、１つは２４ビットのポインタで行う。
【００９４】
８ビットと１６ビットの番号の形式はセグメント・メモリの０番地に格納されたベース・アドレス（２５６バイト・アライメント）をベースに前段からの１ピクセルのビット数Ｂとサイズ情報Ｓで示される１キャラクタの容量（（Ｂ＋１）×ｆ（７８）、ｆ（０）＝６４、ｆ（１）＝ｆ（２）＝１２８、ｆ（３）＝２５６）おきに配置されたアドレスが計算される。１６ビットのアライメント付きポインタでは１６ビットの上位３ビットで示されるセグメント・メモリに格納されたセグメント・アドレス（２５６バイト・アライメント）と下位１３ビット（８バイト・アライメント）を加えたアドレスが計算される。
【００９５】
１６ビット・ポインタでは上位４ビットで示されるセグメント・メモリに格納されたセグメント・アドレス（１５６バイト・アライメント）と下位１２ビットの和が実アドレスとなる。最後の２４ビット・ポインタではこの値がそのまま実アドレスとなる。
【００９６】
これらの計算されたアドレスは他のパラメータと共に後段に送出される。ここで、アドレス情報の形式Ｔだけはもう後段で使われないので送出することはしない。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【００９７】
ヘッダ・フェッチャ（７１）（ヘッダ読み出し手段（９））
【００９８】
キャラクタ・データはヘッダ付きとヘッダ無しの形式があり、ヘッダ付きのキャラクタ・データはヘッダとパターンからなる。そしてヘッダは少なくとも１バイトある。ヘッダの各バイトはパレット情報を含んでおり、さらにパターン直前の１バイトはそのキャラクタの１ピクセルのビット数とそのバイトがパターン直前のバイトであることを示すフラグを含む。またそれより前のバイトはビット数の代わりにフリップ情報を、そしてそのバイトがパターン直前のバイトでないことを示すと同時にパターンより２つ離れているか３つ以上離れているかを区別できるフラグを含む。
【００９９】
ヘッダ付きのキャラクタ・データを指定するときは複数あるヘッダ・バイトの１つを指定する。指定されたバイトがパターン直前のバイトの場合、そこに格納された１ピクセルのビット数とパレット情報がアトリビュートとして採用され、フリップはデフォルト値（フリップしない）となる。指定バイトがパターン直前でない場合はそのバイトのパレット情報、フリップ情報とパターン直前のバイトの１ピクセルのビット数がキャラクタのアトリビュートとして採用される。
【０１００】
前段からのアトリビュートの所在情報Ｗはキャラクタ・データがヘッダ付きかヘッダ無しかを示している。キャラクタにヘッダがある場合、キャラクタのアドレスＡで指示される主メモリ（６４）からヘッダの情報を読み出してそのアトリビュート情報を後段に伝送する。また、アドレスはパターンの先頭を指示するように進められる。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１０１】
ストリップ・ジェネレータ（７２）（ピクセル生成手段（１０））
【０１０２】
ここでは２次元配列であるキャラクタ・データから今描画され表示されようとしている横一列の１次元配列を取り出す。どの１次元配列かは前段からの垂直位置Ｙ［５］と縦フリップ情報Ｆ［２］、さらに走査位置Ｈ［１１］、Ｖ［９］から特定する。キャラクタの縦サイズが最大で１６ピクセルなので垂直位置情報Ｙ、Ｖは下位５ビットもあれば十分である。キャラクタ・データは横１次元配列の並びとして２次元配列が構成されているので、２次元配列の先頭アドレス（キャラクタ・パターンのアドレス）を基に該当する１次元配列の先頭アドレスを算出し後段に伝送する。このとき前段からの１ピクセルのビット数Ｂ［３］とキャラクタの横サイズＳ［２］を使う。また以後ではサイズとフリップの縦の情報と垂直位置は使わないので後段へは伝送はされない。前段とはＶＡＬＩＤ、Ｂ［３］、Ｓ［２］、Ｆ［２］、Ｘ［９］、Ｙ［８］、Ｚ［４］、Ｐ［４］、Ａ［２４］の入力とＷＩＳＨ出力、後段とはＷＩＳＨ入力とＶＡＬＩＤ、Ｂ［３］、Ｓ［１］、Ｆ［１］、Ｘ［９］、Ｚ［４］、Ｐ［４］、Ａ［２４］（ストリップ・アドレス）出力で接続される。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１０３】
キャラクタ・フェッチャ（７３）（ピクセル生成手段（１０））
【０１０４】
いままでアドレスの形で伝送されてきたキャラクタ情報はここで主メモリ（６４）をアクセスすることで実際に使うデータ（コード情報）の形に変換される。前段からのストリップ・アドレスで指示される主メモリ（６４）上の位置から１ピクセルのビット数と横サイズで表される容量分のデータを読み出し順次後段に伝送する。前段とはＶＡＬＩＤ、Ｂ［３］、Ｓ［１］、Ｆ［１］、Ｘ［９］、Ｚ［４］、Ｐ［４］、Ａ［２４］入力とＷＩＳＨ出力で、後段とはＷＩＳＨ入力と、ＶＡＬＩＤ、Ｂ［３］、Ｓ［１］、Ｆ［１］、Ｘ［９］、Ｚ［４］、Ｐ［４］、Ｄ［８］（データ）出力で接続される。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１０５】
ピクセル・ジェネレータ（７４）（ピクセル生成手段（１０））
【０１０６】
前段からのデータは８ビット単位であり多くの場合１ピクセルのビット数と異なる。ここではこのバイト単位のデータをピクセル単位に配分し直す。配分の方法は順番に来るバイト・データをリトル・エンディアンに並べ、その下位から１ピクセルのビット数分づつ取るような形式である。ピクセル単位になったデータはパレット情報と合成されて８ビットのコード情報とする。この合成の方法はまず８ビットの上位４ビットをパレット情報で埋め、次にピクセルのビット数分の下位を再配分したピクセル・データで埋める。残ったビットは０で埋めるようにする。１ピクセルが５ビット以上のときはピクセル・データによりパレット情報が下位から侵食されるような形である。
【０１０７】
また、キャラクタの位置を基準にピクセルの水平位置は増加するのでピクセル毎の水平位置を算出し後段に伝送する。このとき、水平フリップが反転している場合は水平位置は一旦水平サイズ分進んだところから逆に減少するように計算する。
【０１０８】
１ピクセル当りのビット数、サイズ情報、フリップ情報、パレット情報は以後使われないので後段への伝送はしない。
【０１０９】
前段とはＶＡＬＩＤ、Ｂ［３］、Ｓ［１］、Ｆ［１］、Ｘ［９］、Ｚ［４］、Ｐ［４］、Ｄ［８］入力とＷＩＳＨ出力で、後段とはＷＩＳＨ入力とＶＡＬＩＤ、Ｘ［９］（ピクセル単位の水平位置）、Ｚ［４］、Ｃ［８］（コード）出力で接続される。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１１０】
透明制御回路（７５）（透明記憶手段（１２））（透明制御手段（１３））
【０１１１】
透明制御回路（７５）はＣＰＵ（６３）から間接的にアクセスできる１６行×５ビットの透明制御メモリを備える。パレット・メモリは１６行×１６列の構成で、各行に最大１つの透明が設定できる。ＣＰＵ（６３）がパレット・メモリに色を書いたときその色が透明であればパレット・メモリのどの行のどの列かを透明制御メモリは記憶する。行はそのまま透明制御メモリの行に対応し、列はその位置情報を４ビットで表す。各パレットで最後に書いた透明が有効となる。最後に書いた透明の上に非透明の色を書き込むとその行に透明はなくなる。これは透明制御メモリの各行の残りの１ビットで表す。
【０１１２】
前段から入力されたコード情報の上４ビットで透明制御メモリをアクセスしその内容が有効で下４ビットと一致していればそれは透明とみなされる。透明でないピクセル情報はそのまま後段に伝送され、透明のピクセルは後段に伝送されずにここで捨てられる。前段とはＶＡＬＩＤ、Ｘ［９］、Ｚ［４］、Ｃ［８］入力とＷＩＳＨ出力で、後段とはＷＩＳＨ入力とＶＡＬＩＤ、Ｘ［９］、Ｚ［４］、Ｃ［８］出力で接続される。  回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１１３】
ドロー・ドライバ（７６）（ピクセル限定手段（１４））（ピクセル描画手段（１５））
【０１１４】
入力されたピクセル情報の水平位置Ｘと水平走査位置Ｈ［１１］からピクセルがピクセル・バッファ（７８）と重なっているかを検査し、重なっているものはピクセル・バッファ（７８）に描画の要求をする。要求してからそれが受諾されるまでに水平走査位置が１ステップ進む可能性があるので、ピクセル・バッファ（７８）は１ピクセル少ない領域で重なりを判定する。
【０１１５】
前段とはＶＡＬＩＤ、Ｘ［９］、Ｚ［４］、Ｃ［８］入力とＷＩＳＨ出力で、後段とはＷＡＩＴ（待機信号）入力とＲ（要求信号）、Ｘ［７］（バッファ・アドレス）、Ｚ［４］、Ｃ［８］出力で接続される。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１１６】
ピクセル・バッファ制御回路（７７）（バッファ・アクセス調停手段（２０））（アクセス高速化手段（２４））
【０１１７】
ドロー・ドライバ（７６）よりの要求とビュー・ドライバ（８１）からの要求を調停する。ビュー・ドライバ（８１）からの要求が優先される。調停された要求は８０ＭＨｚで３サイクルのタイミング信号（プリチャージ信号、読み出し信号、書き込み信号）を生成しピクセル・バッファ（７８）・メモリを駆動する。ドロー・ドライバ（７６）からの要求では読み出したデプス値と入力されたデプス値を比較しその結果により書き込むデータを読み出したデータにするか入力されたデータにするかを決める。ビュー・ドライバ（８１）からの要求では読み出したデータの内コード情報を次段に出力し、その後クリアするために書き込むデータは０固定である。ドロー・ドライバ（７６）からＲ、Ｘ［７］、Ｚ［４］、Ｃ［８］入力とＷＡＩＴ出力で、ビュー・ドライバ（８１）とはＲ、Ｘ［７］入力とＣ［８］（コード）出力である。このほかにピクセル・バッファ（７８）にアクセスするためのＭＰ（プリチャージ）、ＭＲ（リード）、ＭＷ（ライト）、ＭＡ［７］（アドレス）、ＭＯ［１２］（リード・データ）、ＭＩ［１２］（ライト・データ）がある。回路はＲＥＳで初期化され、ＣＫ８０のクロックで動作する。
【０１１８】
ピクセル・バッファ（７８）（ピクセル・バッファ手段（１６））（デプス・バッファ手段（１７））（コード・バッファ手段（１８））
【０１１９】
ピクセル・バッファ（７８）はデプス・バッファ（７９）とコード・バッファ（８０）からなり、それぞれ１２８ピクセル×４ビット、１２８ピクセル×８ビットである。入出力信号はＭＰ、ＭＲ、ＭＷ、ＭＡ、ＭＩ、ＭＯである。
【０１２０】
ビュー・ドライバ（８１）（バッファ出力手段（１９））
【０１２１】
走査位置情報Ｈ［１１］、Ｖ［９］を基にピクセル・バッファ（７８）制御へデータの読み出しを要求する。要求は要求信号Ｒとバッファ・アドレスＸで行う。要求はピクセル・バッファ（７８）制御で優先的に扱われるので要求を待機させる信号は無い。また、コード情報Ｃ［８］は読み出したデータをピクセルの区切りタイミング（５ＭＨｚ、Ｈの下位から２ビット目）に同期させて次段に伝達する。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１２２】
パレット回路（８２）（パレット手段（２１））
【０１２３】
パレット（８２）は容量が２５６色×１３ビットのパレット・メモリを備え、ＣＰＵ（６３）からアクセスできる。前段からのコードＶＣ［８］をアドレスとしてアクセスし、１３ビットの色情報に変換し出力する。１３ビットの内訳は色相ＰＨ［５］、彩度ＰＳ［３］、明度ＰＬ［５］からなる。色相は０から２３までの整数で彩度は０から７の整数、明度は０から２３までの整数である。ＣＰＵ（６３）からアクセスする色相が２４から３１までのとき透明を表すことにする（透明制御参照）。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１２４】
ウィンドウ・ジェネレータ（８３）
【０１２５】
画面に特殊効果を出すための回路で画面を２つの部分に分割しその片方にカラー・エフェクタ（８４）で効果を与えることができる。構成はＣＰＵ（６３）からアクセスできるレジスタがあり、１水平ラインの開始点の座標と終了点の座標、画面左端の論理を設定できる。出力ＷＩＮはまず設定された論理で開始し、水平走査信号Ｈ［１１］が開始点と一致するとアクティブになり終了点に一致するとアンアクティブになる。さらにまたレジスタの設定により出力の論理が変わるたびにＣＰＵ（６３）に対し割り込みを発生でき開始点、終了点を逐次的に変更できるようになっている。これらを組み合わせて画面上にアクティブな部分とそうでない部分をおおざっぱに形成できる。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１２６】
ノイズ・ジェネレータ（８５）
【０１２７】
カラー・エフェクタ（８４）で実現する視覚的色効果の１つを演出するためのノイズを生成する部分である。Ｍ系列（ポリノミナル・カウンタ）を用いたディジタル擬似乱数系列発生器であり、Ｍ系列の下位３ビットＮ［３］をノイズ成分として出力する。電源電圧低下検出信号ＬＰＷでＭ系列カウンタをリセットし、異常なループで巡回しないようにしている。回路はＲＥＳで初期化され、ＣＫ２０のクロックで動作する。
【０１２８】
カラー・エフェクタ（８４）
【０１２９】
入力された色に種々の視覚的効果を与える回路である。さらにウィンドウ・ジェネレータ（８３）からの信号ＷＩＮによりこの機能を能動化／非能動化することができる。ＣＰＵ（６３）からアクセスできるレジスタがあり、これで効果を設定することができる。その効果は１つが色相Ｈ［５］、彩度Ｓ［３］、明度Ｌ［５］の各要素を固定することで、各要素を別々に設定できるフラグと、各要素が固定される値がそれぞれレジスタにある。１つは輝度を半分にすることで、制御フラグがあり、このフラグがアクティブであると明度Ｌ［５］と彩度Ｓ［３］の値がそれぞれ半分になる。
【０１３０】
１つはネガ／ポジを反転することで、色相Ｈ［５］に値１２を加算し結果が２３を越えたら０に巡回するように値２４を引き、明度Ｌ［５］は値２３から引くことで明暗を逆にすることで実現する。１つは輝度に適当なノイズを加えることで、明度Ｌ［５］の下位３ビットとノイズ・ジェネレータ（８５）からのノイズ・データＮ［３］とを排他的論理和演算する。この３ビットは各ビット毎に演算をするかしないかが設定できるフラグがあり、ノイズが加わる量を加減できる。回路はＲＥＳで初期化され、ＣＫ４０のクロックで動作する。
【０１３１】
ビデオ・エンコーダ（８６）（ビデオ信号生成手段（２２））
【０１３２】
入力された色情報と、同期信号等のタイミング情報をＮＴＳＣ／ＰＡＬ入力に対応した標準ビデオ信号に変換する。
【０１３３】
値２３の次が値０になるように巡回する５ビットで２４進のカウンタがあり、このカウンタは２０ＭＨｚのクロックＣＫ２０毎にＮＴＳＣは４づつＰＡＬは５づつ進む。従って、ＮＴＳＣは６回で１周し、ＰＡＬは４．８回で１周する。このカウンタは丁度サブキャリアの周期で巡回するのでサブキャリア発振器とみなせ、このカウンタの値は位相を表すことになる。ここでＮＴＳＣの場合、カウンタの下位２ビットが変化しなくなるのでこれが漸近的に０になるようにし同一のパターンに集束するようにしている。
【０１３４】
入力色データの色相Ｈ［５］とこのサブキャリアの位相を加算しサブキャリアを入力色相データで位相変調した波を作成する。この位相変調波の位相データを波形ＲＯＭで振幅データに変換する。さらに入力彩度Ｓ［３］と振幅データを掛け合わせ彩度で振幅変調し変調色信号にする。これをＡＤコンバータでアナログ信号に変えチップ外部に出力する。また入力明度Ｌ［５］は値８のオフセットを加え輝度信号とし、ＡＤコンバータでアナログ信号に変えチップ外部に出力する。さらに、輝度信号と色信号を加えて複合ビデオ信号とし、これもＡＤコンバータでアナログ信号に変え外部に出力する。
【０１３５】
ここで、輝度信号は複合ブランキング信号ＢＬＡＮＫ入力がアクティブのときは黒レベル＝値８に、さらに複合同期信号ＳＹＮＣＨ入力がアクティブのときは同期レベル＝値０にしている。
【０１３６】
また色相入力及び彩度入力はブランキング信号がアクティブのときは値０に、バースト信号がアクティブのときは一定の値になるように制御し、変調色信号がブランキング期間は信号がなく、所定のタイミングでカラー・バースト信号が出るようにしている。
【０１３７】
ビデオ・ファンクション・ジェネレータ（８７）
【０１３８】
別に画面のブランキング期間をＣＰＵ（６３）に知らせる回路がある。これは走査位置情報Ｈ［１１］、Ｖ［９］を基に、ブランキング期間を認識し、その開始タイミングでＣＰＵ（６３）に割り込みを掛けるものである。また画面の任意の位置で割り込みを発生させる機構がある。これは  ＣＰＵ（６３）からアクセスできる水平と垂直の位置を記憶するレジスタがあり、この内容と位置情報を常に比較することでタイミングを知り、割り込みを掛ける。これらの割り込みはＣＰＵ（６３）で能動化／非能動化が制御できる。
【図面の簡単な説明】
【図１】本発明の基本構成を示すブロック図である。
【図２】本発明のピクセル・バッファ手段の概念図である。
【図３】本発明の実施例を示す回路図である。
【符号の説明】
１  クロック生成手段
２  走査位置生成手段
３  オブジェクト生成手段
４  テキスト生成手段
５  スプライト生成手段
６  オブジェクト選択手段
７  オブジェクト限定手段
１０  ピクセル生成手段
１１  制御手段
１２  透明記憶手段
１３  透明制御手段
１４  ピクセル限定手段
１５  ピクセル描画手段
１６  ピクセル・バッファ手段
１７  デプス・バッファ
１８  コード・バッファ
１９  バッファ出力手段
２０  バッファ・アクセス調停手段
２１  パレット手段
２２  ビデオ信号生成手段
２３  同期信号生成手段
２４  バッファ・アクセス高速化手段
【図１】
0003557067.tif 000002
【図２】
0003557067.tif 000003
【図３】
0003557067.tif 000004