(57)【要約】【課題】  ビデオ/グラフィックシステムを提供すること。【解決手段】  ビデオ/グラフィックシステムは、メモリコアと、第１及び第２のレジスタとを有するメモリ装置を備えている。このメモリ装置は、グラフィックデータのためのランダムアクセスポートと、ディスプレイへの像出力のための第１シリアルアクセスポートと、ビデオ信号データの入力及び出力のための補助即ち第２シリアルポートとを有する。従って、単一のメモリがビデオ及びグラフィックの両データを記憶し、一方、プロセッサは依然としてメモリのランダムアクセスポートにアクセスする。２つのビデオ出力を同時に与えることもできるし、或いは補助ポートを経て引き出したデータに処理を加え、メモリに書き戻すこともできる。別の構成では、３重ポートＲＡＭの使用に代わって、外部のマルチプレクス回路の使用により補助ポートが形成される。【選択図】          図２
2004280125.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックデータ及びマスクデータを発生するためのプロセッサと、ビデオデータを受け取るためのビデオ信号ポートと、ビデオデータ及びグラフィックデータの統合流がそこを通して出力されるディスプレイ信号出力ポートと、メモリ手段とを備えるビデオ／グラフィックシステムにおいて、上記メモリ手段は、
上記プロセッサからのグラフィックデータ及びビデオデータの両方を選択的に記憶することができる複数のイメージデータ位置、第１のランダムアクセスポート及び上記プロセッサに接続されマスタデータを受け取り記憶するためのマスク平面を有する少なくとも１つのランダムアクセスメモリと、
上記第１のランダムアクセスポートに選択的に結合され、グラフィックデータを上記ランダムアクセスメモリへ転送するため上記ランダムアクセスメモリを上記プロセッサに接続するための第２のランダムアクセスポートと、
ビデオデータ及びグラフィックデータを上記ディスプレイ信号出力ポートへ転送し外部ディスプレイへ送るため上記ランダムアクセスメモリを上記ディスプレイ信号出力ポートに接続するシリアルアクセスポートと、
ビデオデータを上記ランダムアクセスメモリへ転送するため上記ビデオ信号ポートを上記ランダムアクセスメモリに接続する補助ポートと、
上記マスク平面からマスクデータを受け取り、該マスクデータに基づいて上記ランダムアクセスメモリの上記データ位置へのデータのオーバーライティングを制御するためのマスクド書き込み制御手段と、
上記マスクド書き込み制御手段に取り付けられ、上記マスク平面におけるマスクデータが変更された場合に、上記マスクド書き込み制御手段におけるマスクデータの間違った使用を禁止するための禁止手段と、
を含むことを特徴とするビデオ／グラフィックシステム。
【請求項２】
上記プロセッサは、上記グラフィックデータが発生されるとき、該グラフィックデータの発生の部分としてマスクデータを発生し、該マスクデータを上記マスク平面へ転送し、上記禁止手段は、グラフィックデータが発生されているときに、マスクデータが発生されているかを決定するための手段と、マスクデータがグラフィックデータと共に発生されているときに、ビデオデータの上記補助ポートへの転送を阻止する手段とを含む請求項１に記載のビデオ／グラフィックシステム。
【請求項３】
上記マスク平面は、上記イメージデータ位置に対応する複数のアドレス可能なマスクデータ位置を含み、上記プロセッサは、グラフィックデータの上記イメージデータ位置への書き込みと、該グラフィックデータが書き込まれる上記イメージデータ位置に対応する上記マスクデータ位置へのマスクデータの書き込みとを同時に行い、上記禁止手段は、上記プロセッサが上記イメージデータ位置のあるセットへグラフィックデータを書き込もうとしているときに、ビデオデータが上記イメージデータ位置の上記セットへ書き込まれているかを決定するためのコンフリクト評価手段と、ビデオデータが上記イメージデータ位置の上記セットへ書き込まれていることを上記コンフリクト評価手段が決定する場合に、上記プロセッサがグラフィックデータを上記イメージデータ位置の上記セットへ書き込むのを阻止するための手段とを含む請求項１に記載のビデオ／グラフィックシステム。
【請求項４】
上記マスク平面は、上記イメージデータ位置に対応する複数のアドレス可能なマスクデータ位置を含み、上記プロセッサは、上記イメージデータ位置へのグラフィックデータの書き込みと、該グラフィックデータが書き込まれている上記イメージデータ位置に対応する上記マスクデータ位置へのマスクデータの書き込みとを同時に行い、上記禁止手段は、上記イメージデータ位置のあるセットへ書き込むため上記ランダムアクセスメモリへビデオデータが与えられているときに、上記プロセッサが上記イメージデータ位置の上記セットへグラフィックデータを書き込んでいるかを決定するためのコンフリクト評価手段と、グラフィックデータが上記イメージデータ位置へ書き込まれていることを上記コンフリクト評価手段が決定する場合に、ビデオデータが上記イメージデータ位置の上記セットへ書き込まれるのを阻止するための手段とを含む請求項１に記載のビデオ／グラフィックシステム。
【請求項５】
上記プロセッサは、特定のイメージデータ位置に対するグラフィックデータ及び対応するマスクデータ位置に対するマスクデータを同時に発生し、上記禁止手段は、グラフィックデータが上記特定のイメージデータ位置へ書き込まれるときを、マスクデータが上記対応するイメージデータ位置に書き込まれた後まで遅延させるための遅延手段を含む請求項１に記載のビデオ／グラフィックシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータをベースとするビデオ／グラフィックメモリシステム並びにその方法及び装置に係る。
【背景技術】
【０００２】
良く知られたように、コンピュータメモリの１つの形式は、ランダムアクセスメモリ（ＲＡＭ）である。これは、集積回路の形態であり、ダイナミックＲＡＭ即ちＤＲＡＭ、又はスタティックＲＡＭ即ちＳＲＡＭの形態をとる。全ての形式のＲＡＭはポートを有していて、これを通してメモリ位置へのランダムなアクセスを行うことができる。
【０００３】
ビデオ／グラフィックス又はマルチプロセスの分野でメモリを使用する必要が生じている。「マルチメディア」は、現在、標準映像線及びフィールド率のビデオ信号を、コンピュータで発生されたグラフィック像と混合して表示するようなコンピュータシステムの重要なアプリケーションになりつつある。表示及び他の目的で、多数のデータソース及び行き先は、共通のメモリ又は記憶装置を効率的に且つ適時にアクセスする必要がある。ビデオ、グラフィックス及び処理された像データに同時にアクセスすることが必要とされる。
【０００４】
従来のグラフィックスサブシステムは、デュアルポートＶＲＡＭ（ビデオランダムアクセスメモリ）を使用している。ランダムアクセスポートは、ホストコンピュータによって使用されるか又はもしあればグラフィックプロセッサによって使用されて、ＶＲＡＭのＤＲＡＭ（ダイナミックＲＡＭ）コア内の２次元ピクセルアレーにピクセル値を書き込むことによりグラフィック像を形成する。シリアルアクセスポート（ＳＡＭ）は、そのデータをラスタ線フォーマットで読み出して陰極線管（ＣＲＴ）ディスプレイをリフレッシュするのに専用とされる。２つのポート、即ち通常のランダムアクセスポート及びシリアルアクセスポートは、シリアルアクセスポートからＤＲＡＭコアへそしてその逆に転送する間以外は、独立して機能する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
コンピュータグラフィックスとビデオ信号を単一のシステムにおいて整合する場合に問題が生じる。本出願人の米国特許第５，０２７，２１２号には、単一のディスプレイにおいてグラフィックスとビデオ情報を合成するのに用いる１つのシステムが開示されている。この特許に開示されたシステムは、非常に有用であるが、その能力に制限がある。
【課題を解決するための手段】
【０００６】
本発明は、その種々の観点において、以下に述べる独立請求項に規定される。  添付図面を参照し、種々の好ましい実施例を以下に述べる。これら全ての実施例において、メモリ装置には、グラフィックデータ用のランダムアクセスポートと、ディスプレイにデータを出力するためのシリアルアクセスポートと、ビデオ信号データ用の補助ポートとが設けられる。メモリ内のデータ位置は、グラフィックデータとビデオデータの両方を選択的に記憶することができる。従って、ビデオデータとグラフィックデータを互いにオーバーレイすることができる。又、それに加えて、シリアルアクセスポートを経てビデオ出力を得ることもできる。更に、補助ポートを経てデータを引き出したり、記憶及び／又は処理したり、メモリのおそらく異なる位置へ再書き込みして戻したりすることができる。
【０００７】
メモリ装置は、３重ポートの半導体装置であってもよいし、或いは外部マルチプレクス回路が設けられた二重又は単一ポートのメモリであってもよい。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面を参照し、本発明の好ましい実施例を一例として詳細に説明する。
典型的な公知のコンピュータグラフィックス及び／又はビデオ入力システムが図１に示されている。図１に示すように、ＶＲＡＭ（ビデオランダムアクセスメモリ）メモリ１０は、ＶＲＡＭランダムアクセスポート２４を経てホストプロセッサ又はグラフィックプロセッサ１２へ接続される。シリアルアクセスポート２２は、デジタル／アナログコンバータ１８を経てデジタルＲ、Ｇ、Ｂ出力を供給し、ＲＧＢビデオ出力を発生する。又、ＶＲＡＭメモリ１０は、ビデオクロックジェネレータ２０からクロック信号を受け取る。ＶＲＡＭメモリ１０は、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）コア１４を含んでおり、これは、シリアル出力レジスタ１６に出力を与え、その内容はシリアルアクセスポート２２を経てシリアルに読み出される。
【０００９】
使用に際し、ＶＲＡＭ１０は、ホスト又はグラフィックプロセッサ１２によりランダムアクセスポート２４を経て発生されたコンピュータグラフィック情報を記憶する。転送サイクルを使用して、ＤＲＡＭコア１４から５１２ｘ４ビットのシリアルレジスタ１６へ情報が転送され、該レジスタは典型的に１行までのスクリーン表示情報を保持する。次いで、ビデオ出力システムは、クロックジェネレータ２０に応答してデータをシリアルポート２２からシリアルに調時出力し、ビデオデジタル／アナログコンバータ（ＤＡＣ）１８へ供給する。シリアルポート２２の全帯域巾即ち容量が、ビデオの表示即ち出力に使用される。
【００１０】
第１の実施例
基本システム
添付図面の図２ないし７を参照して以下に説明する第１の実施例は、米国アイダホ州ボイセのマイクロン・テクノロジー社で製造された３重ポート付きのＤＲＡＭ、タイプ番号ＭＴ４３Ｃ４２５７又はＭＴ４３Ｃ４２５８を使用する。このＤＲＡＭは、１つのランダムアクセスポートと、ＳＡＭ  Ａ及びＳＡＭ  Ｂと称する２つの同じ両方向性シリアルアクセスポートとを有している。このようなメモリを使用することにより、ビデオ入力を受け入れてビデオ出力を発生できると共に、ランダムアクセスポートＳＡＭ  Ａは従来通りに使用するが、ＳＡＭ  Ｂはそれまで提案されていない仕方で使用する加速２４ビット高分解能グラフィックシステムを形成することができる。
【００１１】
上記の集積回路においては、各ＳＡＭポートは４ビット巾である。従来のピクセルインターリーブ式のメモリ構成を使用することにより、９６ビット巾のバスをＳＡＭ  Ａに設けることができそして２８ビット巾のバスをＳＡＭ  Ｂに設けることができる。ＳＡＭ  Ｂのバスは、２４ビットのピクセルバスと、４ビットの補助バスとに分割される。２４ビットは、カラーディスプレイの３色成分ＲＧＢの各々に対して８ビットの解像度を与える。
【００１２】
本発明を実施する第１ビデオ入力システムのブロック図が、図２に示されている。この回路は、図１の回路１０に代わって、３重ポートのダイナミックランダムアクセスメモリ（ＴＰＲ）３０を使用する。これは、シリアルポート２２に加えて、第２の即ち補助的なシリアルポート３２と、第２のシリアルレジスタ３６とを備えている。第２のレジスタ３６は、デジタルデコーダ３４からデータを受け取ることができ、そして第２のポートは、クロック制御回路３８によって独立してクロックすることができる。従って、従来のＲＡＭポート２４に加えて、２つの独立した非同期の両方向シリアルアクセスポートがある。この回路は、米国アイダホ州ボイセのマイクロン・テクノロジー社から入手できる集積回路No.ＭＴ４３Ｃ４２５７であるのが好ましい。
【００１３】
ビデオ出力ＤＡＣ１８及びクロックジェネレータ２０は、グラフィック／ホストプロセッサ１２と同様に全く従来型のものである。通常の動作中に、プロセッサ１２は、ＤＲＡＭコア１４をアクセスして、グラフィックデータを書き込むと共に、コア１４とシリアルレジスタＡ（１６）との間で転送動作を実行する。それ故、シリアルポートＢ（３２）は、ビデオ入力に対して自由に利用できる。
【００１４】
ビデオデコーダシステム３４は、それ自体従来型のものであり、到来するビデオデータ流をデジタルフォーマットに変換する（或いは、デジタルデータ流、例えば、ディスクからの圧縮解除したデジタルビデオデータを使用してもよい）。このデジタルデータは、クロック制御回路３８の制御のもとでＴＰＲ３０のシリアルレジスタＢにクロックされる。これは、ホストプロセッサ１２とは全く独立したもので、通常のグラフィックス動作又はデジタルビデオ信号を妨げるものではない。
【００１５】
所要量のデータがシフトレジスタ３６にロードされたときに、アドレスロジックはバスサイクルを要求し、転送サイクルを実行して、ビデオアドレスジェネレータ３９の制御のもとでレジスタＢの内容をＤＲＡＭコア１４に転送する。これは、ランダムアクセスポート２４を通るグラフィックプロセッサ帯域巾での唯一の侵入である。いったんコアに入ると、入力ビデオデータは、グラフィックプロセッサ１２によって書き込まれたデータと区別できなくなり、通常のグラフィックス表示の一部分として表示される。
【００１６】
カラー画像の場合には、通常、４ビットのデータ、即ちモノクロームフレームの半分を各々保持する６個のＴＰＲがある。各カラーごとに２つが要求される。
【００１７】
グラフィックスとビデオとのはめ込み
ＴＰＲは、シリアルレジスタ当たり５１２個のマスクビットを有し、即ち４ビットセル当たり１つのマスクビットを有している。マスク平面の概念は、グラフィックスの分野で公知である。この場合に、像の線がシリアルレジスタ１６又は３６に記憶されたときにはその各ピクセルごとにマスクビットの単一の線が設けられる。シリアルレジスタの内容がＤＲＡＭコア１４へ転送されて戻されるときには、各セルに対するマスクビットが最初にチェックされる。これがセットされていない場合には、ビデオデータがＤＲＡＭコアのデータにオーバーライトする。これがセットされている場合には、書き込み動作がマスクされ、ＤＲＡＭコアのセルデータは変更されない。従って、マスクビットは、ピクセルごとのベースでコアにビデオデータが記憶されるかグラフィックデータが記憶されるかを制御する。マスクデータビットは、ビデオデータ流と一緒にシリアルレジスタに書き込まれる。
【００１８】
マスクビットは、表示されるべきビデオウインドウの形状に基づいて種々の仕方で発生することができるが、ピクセルごとのベースでマスクビットを制御する能力により、記憶されるべきビデオ又はコンピュータグラフィック情報を任意に混合することができる。
【００１９】
このマスクを発生する１つの考えられる方法は、付加的なＴＰＲによりディスプレイメモリに付加的なビット平面を設けることである。ホストプロセッサ１２は、マスクデータをこの平面に任意のベースで書き込む。次いで、ビデオアドレスジェネレータ３９は、このデータをコアからシリアルレジスタＢに転送することができる。このデータを含むＴＰＲは、次いで、セットされ、従って、シリアルレジスタが出力モードとなるが、通常のビデオを含む他のＴＰＲのレジスタＢのポートは、入力モードにセットされる。次いで、マスクビットがマスク平面ＴＰＲから読み出され、ビデオデータと共にビデオＴＰＲの適当なＢポートに書き込まれる。マスクデータは、それに対応するデータが他のＴＰＲのシリアルレジスタＢに書き込まれるのと同時に（又はそれよりもせいぜい１クロック早くに）１つのＴＰＲから読み出されねばならない。
【００２０】
ビデオデータがＤＲＡＭコア１４に基づいてマスクド書き込み制御器へ転送されるときに、マスク平面からのマスクビットは、ビデオが、マスクされなかったデータのみをオーバーライトして、ビデオとコンピュータ発生データの任意の混合を与えるよう確保する。このようにして、入力ビデオをグラフィック像にはめ込む(inlay) ことができる。
【００２１】
完全動画ビデオでのウインドウ形成
完全動画のビデオソースをグラフィック像のウインドウに入力することができる。デジタル化されたビデオが記憶され、そして記憶装置の単一バッファ付きＲＧＢグラフィック平面から表示される。
【００２２】
従来のＶＲＡＭで実施したときのこの解決策の制約は、ランダムアクセスポート２４を経て入力しなければならないビデオデータが、使用し得るグラフィックスの帯域巾を減少すると共に、グラフィックデータを動画ビデオにオーバーレイできないことである。これは、通常、カーソル、他のウインドウ又はプルダウンメニューがビデオウインドウ内に入るときにグラフィックスユーザインターフェイス（ＧＵＩ）の環境に問題を生じさせる。
【００２３】
本発明のシステムでは、ビデオ入力回路（図示せず）は、外部ソースからのベースバンドアナログビデオを、標準的な線率の２４ビットＲＧＢピクセルに変換することができ、このデジタルビデオ流は、次いで、シリアルレジスタＢ又はＳＡＭ  Ｂを経てグラフィック記憶装置に書き込まれる。上記の原理を用いて、タップアドレス及びＳＡＭ−コア転送を適切に制御することにより、ビデオデータは、ディスプレイのリフレッシュを妨げたり又はグラフィックス描写速度を低下したりせずに、スクリーン上の所望のウインドウにおいてグラフィックデータをオーバーライトすることができる。ビデオ入力にＳＡＭポート３２を使用することは、グラフィックス描写オペレーションにランダムアクセスポート２４を完全に使用することができ且つホストコンピュータ１２及びシステムバスの両方に対するオーバーヘッドが非常に低いことを意味する。
【００２４】
グラフィックデータを完全動画ビデオに、オーバーライトせずに、オーバーレイできるようにするために、１ビットマスク又はキー平面がピクセルアレーに定められ、これは、ビデオがグラフィックスをオーバーライトすることが許される場所を示すためにグラフィックスが再描写されるときに更新される。このキー平面は、次のように使用される。ビデオの各行がＳＡＭピクセルポートに書き込まれるときに、キー平面の対応する行がＳＡＭ補助ポートから読み出されて、そのピクセルポートに関連したマスクレジスタに書き戻される。その行のＳＡＭ−コア転送が行われるときには、マスクレジスタは、キー平面において「ビデオイネーブル」されたピクセルのみに対して書き込みイネーブルする。
【００２５】
像の位置及びサイズ
ビデオ像のサイズ、位置及び形状は、デジタルデコーダからデータを読み取るのに使用されたものからＴＰＲシリアルポートへデータをクロックするのに異なるクロックを使用することにより制御できる。例えば、シリアルレジスタ３６がデータ流の２倍の速度でクロックされる場合には、ＴＰＲへの像のクロックが２倍に拡張される（増幅される）。クロック率を任意に変えると共に、適当なバッファを使用することにより、Ｘ方向に任意の値だけビデオ像を変化させることができる。
【００２６】
Ｙ方向の変化は、再送信可能なライン記憶装置をもたせることによって実行することもできるし、或いはシリアルレジスタの内容をＤＲＡＭコアの１つ以上の位置に書き込むことによって更に容易に実行することもできる。例えば、ビデオデータの１つの線をシリアルレジスタ３６に書き込みそして同じデータをＴＰＲ３０の２つの連続する線位置に転送することにより、Ｙ方向のｘ２（２倍）の増幅を行うことができる。これは、任意のＹ変化まで拡張できる。
【００２７】
Ｘ及びＹの両方のサイズ変化については、スクリーンにわたってピクセルを複製する率を変えることにより、非整数変化を行うことができる。例えば、第１のピクセル（及び線）が２回繰り返され、第２が３回繰り返され、第４が２回繰り返され、等々の場合には、２．５のズームファクタを得ることができる。
【００２８】
又、像は、実際にデータを動かすことなくスクリーンデータに対してスクロールすることもできる。像のスタート位置は、ＴＰＲの内部の「タップ」ポインタによって決定される。これは、シリアルレジスタが書き込み時にデータを受け入れ始める場所を決定する。これがピクセル０を指す場合には、ビデオ像は、スクリーン表示の左側に対応する（例えば）ピクセル０に書き込まれる。タップポインタを異なる設定にする（例えば、２５６）ことにより、ビデオ像はスクリーンの中心でスタートするようにスクロールされたかのように見える。この制御は、ホスト／グラフィックプロセッサ１２によるか、又はホスト／グラフィックプロセッサからのサイクルを盗む個別の制御器（図示せず）によって行うことができる。シリアルレジスタ３６が転送されるＤＲＡＭコア１４内の場所を変えることにより、Ｙにおいて同様の効果が達成される。
【００２９】
これら２つの機能を混合することにより特殊な効果を得ることができる。例えば、各次々の線において任意の量だけタップポインタを増加することによりＸの剪断を得ることができる。線にわたる増幅ファクタを変えることにより、像が歪んで見えたり又は筒の周りに巻かれて見えたりすることもできる。
これら効果は全てデータを実際に移動することなく得ることができる。
【００３０】
グラフィックスの加速
図３は、グラフィック情報の高速コピー及びいわゆる「ビットブリッティング(blitting)」を行う構成を示している。典型的にＳＲＡＭであるＲＡＭ４０はシリアルレジスタ３６に接続される。データの線はコア１４からシリアルレジスタ３６に転送され、次いで、外部ＲＡＭ４０に読み出される。シリアルレジスタ３６は、タップポインタがスクリーン上の異なる位置を指すように構成される。次いで、データの線は、ＲＡＭ４０から読み出されて、今度は異なるタップポインタにおいてシリアルレジスタ３６に書き戻される。次いで、レジスタの内容は異なる線アドレスにおいてコア１４に転送されて戻される。従って、データは、スクリーンの周りをｘ及びｙの両方向に移動されたように見える。この同じ技術をスクリーンエリアの各線に適用することにより、データの任意のコピーを得ることができる。ＲＡＭ４０の適当なアドレス動作はアドレスジェネレータ４２によって行われ、コア及びタップアドレスジェネレータ４４がホストプロセッサバス及びクロック制御器３８に接続される。実際には、アドレスジェネレータ４４は、ホストプロセッサ１２によって形成される。
【００３１】
ＴＰＲ３０の適当な変更を受けると、コアからオンチップシリアルレジスタ３６へ書き込みそしてコアの異なる位置へ書き戻すことにより、外部ＲＡＭ４０へ書き込む必要なく、移動を行うことができる。
【００３２】
ＲＡＭ４０から任意のシーケンスでデータを読み取ることにより特殊な効果も考えられる。同じデータをＳＲＡＭ４０から数回読み取り及び／又はそのデータがシリアルレジスタに書き込まれた率とは異なる率で読み取ることによりエリアの増幅及びズーミングを行うことができる。ＳＲＡＭ４０から各ピクセルを読み取るがそれを数回シリアルレジスタの連続位置へ書き込むことによってズームを行うことができる。例えば、ＳＲＡＭ４０から４つおきのピクセルを読み取りそしてその同じピクセルをシリアルレジスタ３６の４つの連続位置へ書き込むことにより、「４倍の増幅」を得ることができる。Ｘ弐於ける剪断も、ある歪み効果又は同様の効果と同様に得ることができる。像の逆転は、データをＳＲＡＭ４０に（例えば）増加するアドレス順に書き込みそしてそれを（たとえば）減少する順に書き出すことにより行うことができる。２本の線を記憶装置から順次に読み出し、そしてそれに論理演算を行って、例えば、併合部に書き戻すべき線を発生することができる。
【００３３】
一般に、ＴＰＲに関連した論理演算をシリアルレジスタと共に使用することにより、任意のロジック及び２又は３のオペランドでビットブリッティングオペレーションの完全なエミュレーションを与えることができる。論理演算の結果は、グラフィックディスプレイに現れる。
【００３４】
マルチビデオディスプレイ
図４は、メモリ１４の同じエリアから表示されるべき２つの個別のスクリーンディスプレイ５０、５２をイネーブルするシステムを示している。シリアルレジスタＡ及びそれに関連したロジックは全く従来型のものである。しかしながら、シリアルレジスタＢはレジスタＡと完全に独立しているので、そこからポートＡを経て全く異なるスクリーン表示を発生するのに使用できる。このため、付加的なＤＡＣ５４があり、レジスタ３６はビデオクロックジェネレータ５６によってクロックされる。
【００３５】
特に、ポートＡから発生される表示の長方形のサブ区分は、ポートＢにおける完全な表示となるように構成することができる。例えば、ポートＡは、１１５２ｘ９００の分解能で制御情報等としてスクリーンに多数の異なるウインドウを使用したアプリケーションを表示することがある。このアプリケーションの最終出力は、例えば、６４０ｘ４８０ピクセルのＶＧＡサイズのエリア内に含まれそして表示される。全スクリーン表示は、オペレータによって使用するためにポートＡを経て表示され、一方、ポートＢは、紛らわしい制御情報を伴うことなく完全に個別のディスプレイシステムに６４０ｘ４８０エリアのみを表示するように設定される。
【００３６】
別の構成では、ポートＡは標準グラフィックディスプレイに対して７０Ｈｚで動作しそしてポートＢは５０Ｈｚで動作する。これらポートの独立した性質は、いずれのディスプレイも互いに他に服従してその質を犠牲にしなくてもよいことを意味する。
【００３７】
この場合も、グラフィックス及びビデオは記憶エリアにおいて混合されることが明らかである。本出願人の米国特許第５，０２７，２１２号のように記憶の後にそれらを合成するのではなく、これを行うことにより、「フレーム脱落」のおそれが回避される。フレーム脱落は、例えば、５０Ｈｚフレーム率の入力が表示のために６０Ｈｚ又は７０Ｈｚに変換されそしてそれにより得た信号が他の目的で５０Ｈｚに変換されて戻される場合に生じることがある。時々、フレームは全く除去されてしまう。信号を２つの異なる率で独立して出力しそして出力の５０Ｈｚ信号を入力の５０Ｈｚ信号と同期することにより、このようなおそれは回避される。
【００３８】
ビデオ率出力
ＳＡＭ  Ｂポートは、標準線率のベースバンドビデオにエンコードするのに適した平均率でグラフィック記憶装置からＲＧＢデータを出力するのに使用することができる。出力されるべき領域は、コア−ＳＡＭ転送に対して適当な行列アドレスを指定することによって制御される。これは、ＳＡＭ  Ａからの高分解能グラフィックラスタから独立して生じる。
【００３９】
このシステムにおいて、デジタルビデオデータは、使用するビデオシステムに基づき１２ないし１５ＭＨｚでサンプリングすることができる。このデータ率はピクセル巾のＳＡＭ  Ｂポートの帯域巾の半分まで使用しない。それ故、同じＳＡＭポートを経てビデオ率データを同時に入力及び出力することができる。実際に、単一の両方向ポートを経てグラフィック記憶装置の異なる領域に入力したりそこから出力したりする論理は、ピクセルの実質的なブロック、典型的に１つの線全体を各方向に交互に転送しなければならず、従って、バスの帯域巾を効率的に使用するために率のバッファが必要とされることを意味する。ビデオ入力及びビデオ出力が同じＴＶ標準であって同期される場合には、必要とされる最小バッファサイズは、各方向に１つの線の半分を若干越える程度である。
【００４０】
簡単化のために、上記説明は、ビデオのピクセルとグラフィックのピクセルとの間の１対１のマッピングを仮定している。７６８ｘ５７６ピクセルのＰＡＬフレームは、例えば、１０２４ｘ７６８又は１１５２ｘ９００ピクセルのグラフィックディスプレイエリアにおいて７６８ｘ５７６ピクセルまでのウインドウを占有する。上記のビデオマスキング特徴を使用してビデオを切断することにより、減少したウインドウサイズを得ることができる。ＳＡＭポートに書き込む前にビデオ像をＸ及びＹにおいてスケーリングすることによりビデオ入力／出力の融通性を拡張することができる。このとき、ウインドウは、ビデオ像と同じサイズである必要はない。
【００４１】
テープオプションへのプリント
特に、選択されたエリアは、ＴＰＲから読み出してデジタルエンコーダにまっすぐに出力し、そしてビデオテープ又は同様の記憶装置或いはディスプレイ装置へ直接出力するのに適したフォーマットに変換することができる。従って、表示の全部又は一部を２つの異なるフォーマットで同時に表示するか或いは全部又は一部（例えば、必要とされるアプリケーションウインドウだけ）を直接ビデオテープに記録するのに、外部ユニットは必要とされない。特に、信号をアナログ形態に変換する中間の変換がない。
【００４２】
必要なエリアをテープにセーブすべき場合に考えられる最良の像品質を作り出すために、データを考えられる最良の率で読み出して、不所望な欠陥を発生することなく行き先フォーマットに直接変換することができる。これは、読み出されるポートＢのデータがポートＡの表示と完全に独立しているために可能となる。例えば、ＮＴＳＣは、１秒当たり３０フレーム（画像）の飛び越し状態で６４０ｘ４８０を必要とし、これは、コンピュータグラフィックディスプレイの標準ではないが、例えば、デジタルエンコーダ５８によりポートＢから直接的に容易に発生することができる。
【００４３】
他のアプリケーション
以下の概要に示すように他のファンクションを行うこともできる。
（ｉ）長方形エリアのスクロール：  ＴＰＲマスクレジスタは、垂直方向（アップ又はダウン）にスクロールされるべきエリアに対応する長方形のマスクエリアを形成するよう設定される。スクロールされるべきエリアのある部分を含む表示線の全体がレジスタＢに転送される。次いで、レジスタのマスクされた転送がコアメモリの行き先線に対して行われる。書き込み動作は、スクロールする必要のあるデータに対応する非マスクエリアに対してのみ行われる。
【００４４】
（ii）パターンで埋める：  メモリの長方形エリアを不規則なパターンで迅速に埋めることは、（目に見えない）ＴＰＲメモリの部分をそのパターンに対する専用の記憶装置として用いることによって実行することができる。典型的に、これは、埋めるべきエリアに書き込まれるときにスクリーン上の多数の表示線上で適当に繰り返される。マスクレジスタは、パターンで埋められるべきエリアのみに対する書き込みをイネーブルするように設定される。パターンの線は、記憶エリアからシリアルレジスタＢに読み取られ、次いで、マスクされた書き込み動作によって適当なスクリーンエリアに転送される。パターンが各線ごとに同じである場合には、更に転送が行われて、全エリアに書き込まれる。パターンがｎ本の線ごとに繰り返される場合には、第１のパターン線が必要に応じて各ｎ番目のスクリーン線に書き込まれる。次いで、次のパターン線がシリアルレジスタに転送され、各（ｎ＋１）線に書き込まれる（これもマスクのもとで）。或いは、パターンは、アクセラレータ（図３）のＳＲＡＭ４０に記憶されて必要に応じてダウンロードすることもできるし、ホストプロセッサによって発生されてＤＲＡＭポートを経てＴＰＲに書き込むこともできる。
【００４５】
（iii）像の回転：  Ｘにおいて剪断した後にＹにおいて剪断することにより、回転を行うことができる。図３のアクセラレータは、Ｘ剪断を行うのに使用できる。Ｙ剪断を行うには、上記のアルゴリズムを用いて像の狭い部分を次々にスクロールすることを必要とする。
【００４６】
（iv）ビデオ像の逆転：  テレコンファレンス（遠隔会議）においては、ビデオ像を逆の（左と右が）フォーマットでスクリーン上に表示できるのが有用である。これは、デジタルデコーダ３４とＴＰＲポートＢとの間にバッファ線記憶装置を配置することによってビデオ入力中に行うことができる。データは、到来ビデオ流から通常の左右の形態でバッファ線記憶装置に記憶される。次いで、この記憶装置からデータを逆の順序で読み出して、逆のフォーマットでディスプレイに書き込むことができる。
【００４７】
データの一般的表示
ＴＰＲ３０及び第２のシリアルポート３２を使用することにより、グラフィックスと混合されたいかなる種類のデータも非常に容易に表示することができる。デジタルビデオは、特定例である。しかしながら、一般に、メモリシステムのアーキテクチャが、特に実行されているアルゴリズムの種類に対して調整されるような処理システムは多数の種類のものがある。これは、通常は、ディスプレイシステムに対して必要とされるものと同じアーキテクチャではない。従って、発生されて特殊目的のメモリアレーに記憶されるデータは、そのメモリから読み取って、変更し、そして通常の表示メモリに書き込まねばならない。これらのオペレーションは、処理容量を必要とすると共に、特殊目的処理システム及びホストグラフィックシステムの両方のメモリ帯域巾のロスを伴う。一般に、発生されたデータの実時間更新は非常に困難である。
【００４８】
ここに述べるシステムアーキテクチャは、グラフィックシステムの帯域巾ロスを除去し、換言すれば、ランダムアクセスポート２４を通して生じるであろうスループット容量のロスを除去する。しかしながら、特殊目的プロセッサのメモリ内に通常のＤＲＡＭではなくて付加的なＶＲＡＭ（或いはＴＰＲ又は他の二重ポートＲＡＭ）を用いることにより、データをそのメモリから直接読み取って、表示用のＴＰＲに直接書き込むことができる。従って、特殊目的プロセッサのオーバーヘッドのみが時々の転送サイクルとなる（リフレッシュと同様の）。
【００４９】
考えられる拡張は、ＴＰＲと、例えば、ディスク又は他のシリアルデータ発生装置との間で、第２のシリアルアクセスポートを介して直接的なリンクを設けることである。このリンクは、両方向性であってもよい。例えば、ディスクは、システムオーバーヘッドなしにスクリーンに直接書き込むことのできるソースデータ（グラフィックス又は他のもの）を与えることができる。ホストプロセッサがプロセッサオーバーヘッドなしにディスク又は他の記憶装置へ実時間で直接書き込むことのできるグラフィック像（又は他の種類のデータ）を発生できる場合には、その逆も生じ得る。
【００５０】
不適切なマスクの使用
マスク平面を組み込んだ上記システムでは、マスク平面がシリアルレジスタ３６に転送された後にプロセッサ１２がマスクデータを変更することがあるという点で、１つの問題が生じる。その後の転送は古い書き込みマスクを使用することになり、間違った情報がコア１４に入れられることになる。これは、ビデオ入力がグラフィックデータを破壊的にオーバーライトすることを招く。これは、ビデオデータがグラフィックスと同じ線に書き込まれるが、ビデオ線のパイプライン構成によりビデオの書き込みマスクが古いデータであるときに起こる。この問題に対する幾つかの解決策について説明する。
【００５１】
（ｉ）第１の解決策は、グラフィックの書き込み動作が書き込みマスクを何らかの仕方で変更するかどうかをチェックすることを含む。この特殊なケースは、先ずビデオ入力をディスエイブルし、次いで、「安全時間事象」に同期し、グラフィックスの動作を実行し、そして最終的に、ビデオ入力を再イネーブルすることによって取り扱われる。このような動作は、ディスプレイウインドウマネージャーシステムによって取り扱うことができる。ハードウェアは、ビデオ入力をイネーブル／ディスエイブルするための制御ビットを必要とする。これは、ビデオ入力フィールドの境界でビデオをストップ／スタートして、「きれい」な効果を与えるだけである。「安全時間事象」は、次いで、ビデオ入力フィールドの割り込みとなる。このとき、同期は、簡単な割り込み待機命令を含むことができる。次いで、グラフィックスの動作を通常通りに進めることができる。最後に、グラフィックスの動作が新たな有効な書き込みマスク（例えば、メモリの２５ビットの）で完了したときに、ビデオを再イネーブルすることができ、ハードウェアは新たなフィールド境界からきれいに開始することができる。これらのステップは図５のフローチャートに示されている。
【００５２】
この解決策は簡単に行うことができ、グラフィックスが無効なビデオの上に実際に書き込まれている間にビデオ入力を一時的に停止するという欠点があるだけである。従って、純粋なグラフィックベースのカーソルが使用される場合には、ビデオ上のカーソル移動が不愉快なジッタリングを招くときに最も大きな問題が生じる。このときに、グラフィック平面の余分な４ビット（ビット２５ないしビット２８）を使用することができる。この１ビットは、書き込みマスクである。これは、書き込みマスクが不必要なオーバーレイグラフィックスに対し３つのビットを使用可能な状態のままにする。これらのビットは、必要に応じてオーバーレイ効果を生じるようにパレットに直接供給することができる。
【００５３】
（ii）第２の解決策は、ビデオ入力が古い書き込みマスクを現在使用しているところの「危険なエリア」に対してグラフィックアクセスが試みられたときに、「競合」信号を発生するようなハードウェアトラップ機構を含むものである。この競合信号は、バス確認信号を保持するか又はバス欠陥を発生して、グラフィックアクセスを回避し、ひいては、競合を解決するのに使用できる。
【００５４】
危険エリアは、スプリットレジスタ書き込みがＭＴ４３Ｃ４２５７に使用されるかどうかに基づいて２５６ピクセルの長さであるか又は５１２ピクセルの長さであるが、ほぼ通常はラスタ走査線に沿ったものとなる。図６に示すトラップハードウェアは、現在ビデオ入力ＳＡＭブロック書き込みアドレスと、ＶＲＡＭにデコードされたＧＳＰ（グラフィックシステムプロセッサ）データ書き込みサイクルとを探すレンジ比較器６０より成るものである。
【００５５】
競合信号を用いて、バス確認ハンドシェイクをオフに保持することができる。これは、完全にソフトウェア透過な解決策を生じる。この時間長さにわたってバスをオフに保持した状態で問題（過剰なリフレッシュ待ち時間のような）が生じた場合には、バス欠陥を使用することができる。バス欠陥ハンドラーは、単に待機し（例えば、ビデオ入力線時間の０．２５）そしてサイクルを再び再スタートさせるだけである。
【００５６】
必要なハードウェアは、ビデオ入力に厳密に接続される。比較器のレンジは、危険エリアのアドレスサイズをカバーしなければならず、従って、アドレスデコーダからの外部入力がＶＲＡＭ内アクセスサイクルに対する比較しか有効化できないと仮定すれば、１０本のアドレス線を見るだけでよい。ビデオ入力回路がＡＳＩＣ（アプリケーション指向の集積回路）を含むと仮定すれば、競合信号を出力するのに１つの余計な信号線しか必要とされない。この方法の利点は、ビデオを凍結する必要がなく、グラフィックスをスタッタリング(stuttering)することに依存することである。しかしながら、競合は比較的稀な事象であり、性能に著しくインパクトを与えることはない。２つのアドレス流は互いに逆方向に進み、ひいては、互いに素早く通過し合うので、ＶＲＡＭへのビデオ入力アクセスとは逆方向にグラフィックデータを書き込むことにより、事象分解能が促進される。
【００５７】
（iii）第３の解決策も、古い書き込みマスクの変更を指示するために「競合」信号を発生するハードウェアトラップを使用するものである。しかしながら、この場合には、現在ロードされているビデオ線の転送モードを変更するためにこの競合信号が使用される。２つの動作のうちの一方を行うことができる。現在ビデオ線が書き込まれないか、又はメモリの非表示エリアに書き込まれた後にメモリの正しい位置に転送されて戻されるかのいずれかである。
【００５８】
ビデオ線を書き込まない第１の場合には、その線に対するビデオ転送を完了させないこと以外に何の動作も必要とされない。その正味の作用は、手前のフレームの対応するビデオ線であるメモリの現在内容を凍結することである。
【００５９】
第２の場合には、ビデオ線が、それが書き込まれるアドレスを変更することによってメモリの所定の非表示エリアに書き込まれる。次いで、ＧＳＰに割り込むことができ、その後、修正動作を行ってビデオ線を正しいメモリ位置へ転送して戻すことができる。
【００６０】
（iv）最後に、第４の方法は、マスク平面がグラフィックメモリと同時ではなくてその前に変更されるよう確保することにより不適当なマスクの使用の可能性を回避することである。これは、プロセッサの書き込みアクセス中にマスクとグラフィックメモリの書き込み動作との間に時間遅延を置くことによって達成される。これは、グラフィックスがビデオウインドウに書き込まれるときに１ビデオ線時間の遅延を与えるディスプレイウインドウマネージャーによってソフトウェアにおいて最も良く達成される。
【００６１】
別のやり方は、マスクを書き込むが、グラフィックスの転送を、ビデオ線割り込みに応答して現在ビデオ線の終了まで主グラフィックメモリに表示することにより、ＧＳＰに遅延を生じさせることである。
【００６２】
システムブロック図
システムは、ＩＢＭ対応のパーソナルコンピュータに使用されるＡＴフォーマットの拡張カードにおいて実施することができる。好ましい実施例の一般的な機能ブロック図が図７に示されている。カードは、ＩＳＡバスインターフェイスを有する。
【００６３】
図示されたカード１００は、ＴＭＳ３４０２０−３２グラフィックプロセッサ１０２及びそれに関連したバス１０４を有している。１メガバイトのＤＲＡＭローカルメモリ１０６は、バス１０４に接続されている。このバスは、ＩＳＡバスホストインターフェイス１０８及びエッジコネクタに終端されると共に、バス拡張コネクタ１１０に終端される。主メモリは、３．５Ｍバイトのビデオメモリ１１２及びその適当な制御器を備えている。メモリのランダムアクセスポートＲＡＰは、バス１０４に接続されている。メモリ１１２はＴＰＲによって構成され、第１のシリアルポートＳＡＭ  Ａは主ビデオＤＡＣ１１４に接続され、これは、コネクタ１１６を経て高解像度のＲＧＢ出力を発生する。メモリ１１２の第２のシリアルアクセスポートＳＡＭ  Ｂは、ビデオポート拡張コネクタ１１８に接続されると共に、ブリット及びコピーアクセラレータ１２０に接続されている。アクセラレータ１２０は図３に基づくものである。ビデオポート拡張コネクタ１１８は、デジタルビデオデコーダ１２２又は圧縮ビデオカード１２４のようなビデオ入力カードに接続することができる。これらカードは、カード１００から入力ビデオを受け取る。これは、コネクタ１２６を通る複合ビデオであるか又はコネクタ１２８を通るＳビデオ（ルミナンス及びクロミナンス又はＹ／Ｃ）である。各々の場合に、これは、入力ビデオ拡張ポート１３０を経てビデオ入力カード１２２、１２４に送られる。最後に、ＶＧＡパススルーコネクタ１３２は、メモリ１１２の出力と一緒に表示される必要があるかもしれないアナログビデオを受け取る。コネクタ１３２は、ＶＧＡ（ビデオグラフィックアダプタ）ＤＡＣ１３４に接続され、その出力はコネクタ１１６に送られる。
【００６４】
３４０２０プロセッサ１０２は、１Ｍバイトのローカルメモリ１０６を有するカードのための制御及びグラフィックプロセッサであり、このローカルメモリはプログラムを記憶すると共に、ホストプロセッサからＩＳＡバスを経て送られたコマンドリストを保持する。３４０２０のバス１０４は、ドータ（子）カード上の多数の３４０８２コプロセッサ、付加的なメモリ又は他の処理エンジンをサポートするために拡張コネクタ１１０において完全に使用することができる。
【００６５】
グラフィックアクセラレータ１２０は、３４０２０の制御のもとに直接置かれそして最大の性能を得るためにビデオメモリ１１２に直接アクセスする。アクセラレータは図３に示されており、付加的なシリアルポートを使用する。コピーアクセラレータ１２０は、ウインドウスクロール及び移動のようなコピー機能や、一般的なビットブリッティング機能、即ち論理演算が同時に行われている状態での表示に関する移動に対し、最適なものとされる。
【００６６】
グラフィックアクセラレータ１２０は、例えば、２０メガピクセル／秒までのビットブリッティング及び移動／スクロール動作を維持できる一方、ある簡単なピクセル複製又はパターン埋め動作を、例えば、４ギガピクセル／秒までで実行できるようにする非常に高速なピクセルコピーエンジンを形成する。
【００６７】
グラフィックシステムプロセッサ（ＧＳＰ）バス１０４におけるローカルＤＲＡＭメモリ１０６の１メガバイトはＶＲＡＭメモリの形態をとることができる。又、これは、シリアルリンク（図示せず）によってグラフィックアクセラレータ１２０に直結して、キャッシュ記憶装置として使用することもできる。ウインドウが像の一部分をカバーするときには、オーバーレイされた部分をＳＡＭ  Ｂポートを経てアクセラレータのＲＡＭ４０にダンプすることができ、ひいては、グラフィックプロセッサバス１０４を伴うことなく１ＭバイトのＤＲＡＭメモリ１０６に迅速に且つ直接的にダンプすることができる。
【００６８】
図示されたように、３．５メガバイトのビデオディスプレイメモリ１１２が設けられている。これは、４ビットオーバーレイピクセルの１Ｍピクセルアレーの形態をとることができる。このメモリアレーは、主ビデオＤＡＣ１１４を駆動する。ビデオメモリ及びＤＡＣは、完全にソフトウェアで構成できる。それ故、クロック合成器に関連して、実質上いかなるモニタも駆動できると共に、実質上いかなるスクリーンフォーマットも（１Ｍまでの表示可能なピクセル）ソフトウェア制御のもとで発生することができる。ホストＶＧＡのパススルーをサポートするために個別のＤＡＣ１３４が設けられている。
【００６９】
ビデオ入力のオプションドータカードをサポートするための拡張は、ビデオメモリシステムへの又は該システムからの汎用高速（１２０Ｍバイト／秒まで）ポート１１８を設けることにより、Ｓビデオ及び複合ビデオ入力に対して２つのコネクタ１２６、１２８の形態で与えられる。
【００７０】
ビデオ入力の処理
ビデオポート拡張コネクタ１１８で受け取った到来ビデオ信号を、ＴＰＲメモリ１１２に保持されたグラフィックスと混合する必要がある場合は、ビデオ入力をビデオ率でアクセラレータ１２０に加え、これと混合することが意図されるＴＰＲ１１２に保持された像の対応部分をビデオ率でＴＰＲから引出し、混合を行い、そしてその結果を記憶装置１１２へ返送することができる。
【００７１】
別のやり方は、ビデオをＳＡＭ  Ａの出力と混合することであるが、この場合は、ＳＡＭ  Ａの出力を、非常に高いグラフィック標準ではなくてビデオ率でしかランできない。又、ビデオを個別のフレーム記憶装置に記憶することもできるが、これは高価である。更に、混合の結果はディスプレイにおいて瞬時に見ることができる。上記のシステムは、これら両方の別のやり方に勝る実質的な利点を有する。
【００７２】
ビデオ入力信号が飛び越し信号である場合には、コピーアクセラレータ１２０における処理又はビデオポート拡張コネクタ１１８に接続された個別のプロセッサにおける処理は、漸次走査される（非飛び越し即ち順次）信号を発生するのに適した補間アルゴリズムを含むことができる。この補間は、到来ビデオの線及びＴＰＲ１１２に保持された線を使用することができると共に、適応移動することができる。ＴＰＲに保持された線は、この場合に、既に手前の補間を通されており、従って、「バージン」入力線ではなく、補間アルゴリズムはこれを考慮しなければならない。特に、受け入れられない指数関数的な減衰やぼけが像に生じないように補間をカットアウトするところのスレッシュホールドレベルが必要となる。ＴＰＲから引き出した線を保持するには、２線（又はそれ以上）記憶装置が必要とされる。
【００７３】
ＤＲＡＭポート
上記した関数の全部ではないがそのほとんどは、原理的には、シリアルポートＳＡＭ  Ｂを通らずに、ＧＳＰバス１０４から従来のＶＲＡＭランダムアクセスポートＲＡＰを通してビデオメモリ１１２をアクセスすることにより、達成することができる。原理的には、これは現在の技術では実際的でない。というのは、ＤＲＡＭポートの容量が現時点では不充分だからである。第２のシリアルアクセスポートＳＡＭ  Ｂは、オペレーションを非常に容易にし、それらを現在の技術で実施し得るようにする。しかしながら、上記した機能の多くは、どちらのポートを用いてそれらを達成するにせよ、それ自体新規で且つ発明的なものである。幾つかの別の構成について、以下に説明する。
【００７４】
第２の実施例
上記したように、従来のグラフィックシステムは、プロセッサにより及びプロセッサへとアクセスするためのランダムアクセスポートと、デジタル／アナログ変換システムを経てディスプレイに出力を与えるシリアルアクセスポートとを有するＶＲＡＭを使用している。上記の第１の実施例では、付加的なポートをもつメモリが使用され、（例えば）ビデオを、第２のシリアルポートである第３のポートに入力することができる。この解決策は実質的な利点を有し、従来のＶＲＡＭ構成に生じる性能上の問題点を解消するものである。しかしながら、これは、特殊なより高価なメモリ装置の使用を必要とする。より一般的には、結合されたグラフィックス及びビデオを単一フレームバッファに含むマルチメディアシステムや、異なるプロセッサ間に密接に結合された広帯域巾の通信を必要とするマルチプロセスシステムは、次第にこれらの論点に直面している。
【００７５】
他の実施例は、第１の実施例のＴＰＲの機能の全部ではないがそのほとんどをメモリ装置の特定の構成及び制御によってエミュレートする別のやり方を提供するものである。ビデオ／グラフィックス及びマルチプロセスアプリケーションのための効率的で且つコスト効率の良いシステムを提供することができる。第２の実施例は、標準的なＶＲＡＭビデオメモリを使用する。ここに述べる全てのシステムは、このようなメモリ装置から使用できる最大の帯域巾を活用できるようにする。
【００７６】
先ず、図８を参照すれば、従来のＶＲＡＭメモリ２１０のバンクは、それらのランダムアクセスポートがバスを経て制御サブシステム２１８に接続され、該サブシステムはインターフェイスを経てグラフィック又はホストプロセッサと通信する。ＶＲＡＭメモリのシリアルアクセスポートは、率変換マルチプレクサ２１４を経てＤＡＣ回路２１２に接続され、該回路は表示のためのＲ、Ｇ、Ｂ信号を出力する。マルチプレクサ２１４は、制御サブシステム２１８を経てプロセッサに接続された補助ポート２１６を有するか、外部補助ポート２２１と通信するか又はその両方である。
【００７７】
図８に示すシステムは、ほとんどの従来システムではＶＲＡＭ２１０とＤＡＣ２１２との間のインターフェイスに使用できる実際の帯域巾がディスプレイの線率により必要とされるものよりも相当に大きいという認識に基づいている。付加的な未使用の帯域巾は、使用可能なＶＲＡＭ標準と、ディスプレイ標準の解像度要求との間に存在する不一致によることがしばしばである。それ故、この技術は率変換マルチプレクサ２１４の導入を伴い、これにより、この帯域巾を分割するか、又はＤＡＣのピクセル率により必要とされるものと、ビデオグラフィックス及び処理された像データを入力及び出力するのに使用できる補助ポートとの間でマルチプレクスすることができる。
【００７８】
率変換マルチプレクサは、ＶＲＡＭ２１０のシリアルポートからの出力をそれらの最大転送率で受け取る。このように、ディスプレイデータを出力するのに要する時間は、その時間のある割合が未使用となるようなものである。この未使用の時間中に、マルチプレクサは、シリアルＤＲＡＭポートを、補助ポート、即ち補助ポート２１６か又は外部補助ポート２２１かのいずれかに接続する。このように接続されると、ＶＲＡＭの主ランダムアクセスポートを通して処理を中断することなく、シリアルアクセスポートを経てデータを転送することができる。
【００７９】
ＶＲＡＭの編成及び表示の要求によって、率変換マルチプレクサ２１４の細部及び制御サブシステム２１８により与えられる機能は異なる。図９は、率変換マルチプレクサ２１４の種々の部品を示している。このユニットは、データマルチプレクサ２２０及び率バッファ２２２、２２４より成る。ＶＲＡＭの編成及び表示の要求によって、ＤＡＣポートのバッファ２２４は必要とされてもよいし、されなくてもよい。率バッファは、ＤＡＣ及び補助ポートの両方が独立した率で動作できるようにする。
【００８０】
図８の制御サブシステム２１８は、ＶＲＡＭコアメモリに対して必要なデータがＶＲＡＭ内のシリアルシフトレジスタに転送されるように適当なＶＲＡＭ転送サイクルを発生する役目を果たす。図１０は、制御ユニット２１８のブロック図である。必要なときに、制御ユニット内のアドレスジェネレータ２２６は、ＶＲＡＭのランダムアクセスポート２１６に対するバスの制御権を得て、必要な転送サイクルを実行する。バッファ２２８は、ホスト／グラフィックポートとアドレスジェネレータ２２６との間でバスに含まれる。
【００８１】
制御ユニットを実施する別の方法が図１１に示されており、低速のＶＲＡＭエミュレータ２３０は、高速ＶＲＡＭのサイクルを透過的に盗み、ホスト／グラフィックシステムが若干低速のサイクルを見れるようにする。アドレスジェネレータ２２６は、その盗んだサイクルを使用して、必要な転送サイクルを実行する。制御ユニットによって得られる実際の帯域巾は、全帯域巾の僅かな割合に過ぎないことに注意されたい。
【００８２】
第３の実施例
これも標準的なＶＲＡＭメモリ２１０を使用することに基づいた図１２を参照すれば、この場合は、ＶＲＡＭメモリのシリアルアクセスポートが、従来そうであるように、ＤＡＣ回路２１２に直結される。この場合、ＶＲＡＭのランダムアクセスポートとホスト又はグラフィックプロセッサバスとの間には仲裁マルチプレクサ２３６が含まれる。この仲裁マルチプレクサは、プロセッサバスに接続された第１ポート２３８と、第２の補助ポート２４０とを有している。
【００８３】
図１２に示されたシステムは、ほとんどのグラフィックシステムではＶＲＡＭのパラレル信号ランダムアクセスポートに未使用の帯域巾が存在するという事実に依存するものである。この未使用の帯域巾即ち容量は、必要なグラフィック分解能及びピクセル率を得るために多数のＶＲＡＭバンクを使用する必要から生じる。それ故、この技術は仲裁マルチプレクサ２３６の導入を伴い、これにより、全帯域巾をホスト／グラフィックプロセッサポート２３８と補助ポート２４０との間で分割できるようにする。補助ポートは、ビデオ、グラフィックス又は処理された像データを入力又は出力するのに使用することができる。仲裁マルチプレクサの細部はＶＲＡＭの編成及び表示要求に基づいて変化する。
【００８４】
図１３は、図１２の仲裁マルチプレクサ２３６の種々の部品を示している。これは、データマルチプレクサ２４２を備えている。補助ポートの率バッファ２４４はオプションであり、このポートのデータ率をＶＲＡＭへの実際のアクセスからデカップルするものである。
【００８５】
ホスト／グラフィックポートは、２つの方法の一方で取り扱われる。ホスト／グラフィックシステムは、補助ポート率バッファとＶＲＡＭとの間で現在トランザクションが行われている間に短時間待機状態に入れることができる。これは、ホスト／グラフィックシステムがこのような待機要求に応答し得る場合に考えられるものである。別の動作モードは、オプションのホールド回路２４６によって示されたように、ホスト／グラフィックポートにおいて読み取り要求が生じたときに補助ポートから／補助ポートへ生じているサイクルに直ちに割り込むことより成る。書き込み要求は容易に遅延することができ、率バッファアクセスが完了した後に実行することができる。
【００８６】
第４の実施例
図１４に示すシステムは、異なる形式のメモリ装置２５０、即ちスタティックランダムアクセスメモリ（ＳＲＡＭ）を使用するものである。ＳＲＡＭは、ＶＲＡＭ又はＤＲＡＭよりも相当に高速であり、図１４に示すようにこのような装置を並列に使用することにより相当の帯域巾を使用することができる。しかしながら、これらは、１つのポート、即ちランダムアクセスポートしか有していない。ＳＲＡＭ装置は、仲裁マルチプレクサ２５２により制御され、このマルチプレクサは、グラフィック／ホストインターフェイス２５４と、補助ポート２５６と、ビデオ、グラフィック及び処理された像を入力及び出力する第３ＤＡＣ出力ポート２５８との間で全使用帯域巾を分割する。
【００８７】
図１４の実施例の原理及び細部は、第３の実施例に類似しており、ＤＡＣポート２５８が追加されている。仲裁マルチプレクサの構造は、図１５に示されている。ＤＡＣポート２５８は、これもディスプレイ及びＳＲＡＭの構成に基づき、図１５に示すように率バッファ２４８を必要としてもよいし、しなくてもよい。マルチプレクサ２４２、ホスト／グラフィック保持回路２４６及び補助ポート用率バッファ２４４の動作は、図１２及び１３の第２の方法と同様である。
【００８８】
第５の実施例
最後に、第５の実施例が図１６に示されている。この実施例では、ＶＲＡＭ２１０が使用されるが、シリアルポートはＤＡＣ２１２に接続されない。ＶＲＡＭランダムアクセスポートは、ＶＧＡチップのようなグラフィックコントローラ２６０に接続され、このコントローラは、ＶＲＡＭが個別のシリアルポートをもたない従来のＤＲＡＭであるかのようにＶＲＡＭをアドレスする。このグラフィックコントローラは、ホストプロセッサインターフェイスに接続される。ビデオコントローラ２６２は、ＶＲＡＭ制御バスにおいてＶＲＡＭを制御することができる。次いで、ＶＲＡＭシリアルポートを個別のビデオ入力ポート２６４として用いて、ビデオをメモリに直接入力することができる。
【００８９】
ＶＲＡＭのランダムアクセスポートは、ホスト／グラフィックプロセッサアクセスと、処理した像データをディスプレイに出力するのとの両方に使用される。グラフィックコントローラ２６０は、メモリへのホスト／グラフィックプロセッサのアクセスをマルチプレクスすること及び表示データを出力することを取り扱う。ビデオは、シリアルポート２６４へクロックすることによりメモリ２１０に書き込まれる。コアメモリへのビデオ転送は、ビデオコントローラ２６２によって取り扱われ、このコントローラは、グラフィックコントローラからメモリ制御バスの制御権を得て、転送サイクルを開始する。これは、終了までに非常に短い時間しか要さないので、グラフィックの処理へ及ぼす影響はほとんどない。完了すると、ＶＲＡＭメモリ制御バスの制御権は、グラフィックコントローラ２６０へ戻される。
【００９０】
上記した全ての実施例には、メモリシステムの一部分として構成されたＲＡＭメモリが存在したことが明らかである。メモリシステムはランダムアクセスポートを備え、これは、ＲＡＭメモリのランダムアクセスポートに接続される。又、メモリシステムは、グラフィック表示のようなシリアル出力を発生するシリアルアクセスポートも備えている。更に、メモリシステムは、シリアルポートである（第１、第２及び第５の実施例）か又はパラレルポートである（第３及び第４の実施例）補助ポートも備えている。各々の場合に、単一フレームバッファは、ビデオ及びグラフィックの両データを記憶するのに使用されると共に、記憶された像から導出された処理された像データを記憶するのにも使用できる。
【００９１】
本出願人の米国特許第５，０２７，２１２号のシステムに比して、半分のメモリ量しか必要とされない。更に、ホストプロセッサのアクセスは迅速である。というのは、プロセッサは２つの個別のフレーム記憶装置を探索する必要がないからである。
【００９２】
しかし、このシステムは、入力又は出力動作にホストプロセッサを伴う必要なく、完全動画のビデオを入力又は出力することができる。多数の特別な特徴、例えば、ビデオ及びグラフィックのウインドウ形成及びオーバーレイを使用することができる。メモリからデータを読み出し、処理を加え、そしてそれをメモリに書き込んで戻すことにより、特殊効果を得ることができる。
【００９３】
以上、別々の実施例を、異なる特徴をもつものとして説明したが、種々の実施例の特徴は、特に図示して説明した以外の方法で組み合わせできることに注意されたい。例えば、第３及び第４実施例の補助ポートは、付加的なシリアルポートとして構成することができる。又、図３及び４の特徴を、それ以降の実施例に適用することもできる。
【図面の簡単な説明】
【００９４】
【図１】ＶＲＡＭを示す従来のグラフィックディスプレイシステムを示すブロック図である。
【図２】本発明による第１のグラフィック／ビデオシステムを示す同様の図である。
【図３】システムに使用されるグラフィックアクセラレータを示すブロック図である。
【図４】マルチビデオディスプレイと、ビデオテープへのプリントとにシステムを使用する場合を示したブロック図である。
【図５】マスクした使用に伴う問題に対するソフトウェア解決策を示すフローチャートである。
【図６】同じ問題に対するハードウェアの解決策の要素を示すブロック図である。
【図７】システムが取り付けられるＰＣ拡張カードのブロック回路図である。
【図８】本発明の第２の実施例によるメモリシステムのブロック図である。
【図９】図８の率変換マルチプライヤの構造を示す図である。
【図１０】図８の制御ユニットの１つの考えられる構造を示す図である。
【図１１】図８の制御ユニットの別の構造を示す図である。
【図１２】本発明の第３の実施例によるメモリシステムのブロック図である。
【図１３】図１２の仲裁マルチプレクサの構造を示す図である。
【図１４】ＳＲＡＭを用いた本発明の第４の実施例によるメモリシステムのブロック図である。
【図１５】図１４の仲裁マルチプレクサの構造を示す図である。
【図１６】本発明の第５の実施例によるメモリシステムのブロック図である。
【符号の説明】
【００９５】
１２  グラフィック/ホストプロセッサ
１４  ＤＲＡＭコア
１６  シリアルレジスタＡ
１８  ＤＡＣ
２０  ビデオクロックジェネレータ
２２  シリアルポート
２４  ランダムアクセスポート
３０  ダイナミックランダムアクセスメモリ
３２  シリアルポート
３４  デジタルデコーダ
３６  シリアルレジスタＢ
３８  クロック制御回路
３９  ビデオアドレスジェネレータ
【図１】
2004280125.tif 000003
【図２】
2004280125.tif 000004
【図３】
2004280125.tif 000005
【図４】
2004280125.tif 000006
【図５】
2004280125.tif 000007
【図６】
2004280125.tif 000008
【図７】
2004280125.tif 000009
【図８】
2004280125.tif 000010
【図９】
2004280125.tif 000011
【図１０】
2004280125.tif 000012
【図１１】
2004280125.tif 000013
【図１２】
2004280125.tif 000014
【図１３】
2004280125.tif 000015
【図１４】
2004280125.tif 000016
【図１５】
2004280125.tif 000017
【図１６】
2004280125.tif 000018