(57)【特許請求の範囲】
【請求項１】
イメージメモリ内に記憶されたイメージデータをモニタへ供給する方法において、
前記イメージメモリ内に記憶されたイメージデータの内の選択されたイメージグループの各画素の値をバッファに書き込み、同時に前記選択されたイメージグループの最後の画素の値をレジスタに記憶させるステップと、
前記選択されたイメージグループの後続イメージグループの各画素の値を前記バッファに書き込むステップと、
前記バッファに書き込まれた前記後続イメージグループの各画素の値と前記レジスタに記憶されている前記選択されたイメージグループの最後の画素の値とを比較し、同一である場合にカウンタのカウント値を増加させるステップと、
前記カウンタのカウント値と各イメージグループの画素数とが同一である場合は前記後続イメージグループに対応するタグメモリ内のタグに第１値を書き込み、異なる場合は前記タグに第２値を書き込むステップと、
前記バッファに保存されている後続イメージグループの最後の画素の値を、前記レジスタに記憶させるステップと、
前記タグメモリ内のタグに書き込まれた値が前記第２値である場合は当該タグに対応するイメージグループの画素の値を前記イメージメモリから読み出して前記モニタへ出力し、前記タグメモリ内のタグに書き込まれた値が前記第１値である場合は前記レジスタに記憶された画素の値をイメージグループの画素数分反復して出力するステップと
を備えることを特徴とするイメージメモリ内に記憶されたイメージデータをモニタへ供給する方法。
【請求項２】
イメージメモリ内に記憶されたイメージデータをモニタへ供給する図形メモリ制御装置において、
前記イメージメモリ内に記憶されたイメージデータの内の選択されたイメージグループの各画素の値を保存するバッファと、
該バッファに保存されたイメージグループの各直前のイメージグループの最後の画素の値を記憶するレジスタと、
前記バッファに保存されたイメージグループの各画素の値と前記レジスタに記憶された画素の値とを比較する比較器と、
前記バッファに保存されたイメージグループの各画素の値と前記レジスタに記憶された画素の値との前記比較器による比較結果が同一である場合にカウント値が増加されるカウンタと、
該カウンタのカウント値が各イメージグループの画素数と同じである場合に第１値が、異なる場合に第２値がそれぞれ書き込まれるタグメモリと、
前記タグメモリに書き込まれた値に応じて前記バッファと前記レジスタとからの前記モニタへの出力を制御する制御論理回路と
を備えることを特徴とする図形メモリ制御装置。
【請求項３】
前記制御論理回路は、
前記タグメモリ内のタグに書き込まれた値が前記第１値である場合は前記レジスタに書き込まれた画素の値をイメージグループの画素数分反復して前記モニタへ出力させ、
前記タグメモリ内のタグに書き込まれた値が前記第２値である場合は当該タグに対応するイメージグループの各画素の値を前記モニタへ出力させるように構成されていること
を特徴とする請求項２に記載の図形メモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はビデオメモリからモニタへ画素イメージデータを供給する方法及びそのための図形メモリ制御装置に関するものである。
【背景技術】
【０００２】
しばしば特殊化されたビデオRAM(VRAM) であるDRAMの専用のバンクは、モニタを備えたコンピュータシステムにおいてはチップが使用されている。これらはモニタに供給されるイメージを記憶しており、ビデオメモリ, イメージメモリまたはただ単に (ビデオ「フレーム」を記憶するための) フレーム緩衝記憶装置と呼ばれる。典型的なモニタはスクリーン上の各画素について１秒当たり多くの回数読み取られなければならないビデオメモリのデータについてラスタ走査方式で動作する。カラーモニタにおいては各画素はそれぞれの３原色成分について複数のビットを持っている。スクリーン上のイメージが変わらないときでもスクリーン上のイメージを保持するためにメモリは１秒当たり多くの回数、リフレッシュされなければならない。このリフレッシュ操作はビデオメモリの読み取りと非常に大きいメモリ帯域幅とを含んでいる。フレーム緩衝記憶装置の内容が修正を必要とするときには、図形を描く作業はフレーム緩衝記憶装置に対して行われる必要がある。時にはそれらはまた付加的な読み取り操作を要求する。これらの図形操作はビデオリフレッシュから残された帯域幅しか利用できないので、それ以上の帯域幅を自由化すると言うことは図形演算のスピードアップにとって重要な要素である。明らかにこの帯域幅を改善することは、イメージが一層複雑になり、イメージ上の画素数が増加するにつれてますます要望されて来る。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明はコンピュータ図形イメージの大部分は同一の値を保有する画素の長い連続物を有していると言う事実を利用している。したがって、タグメモリが、画素グループが前の画素グループと同じ値を持っているか否かの表示を記憶するために使用される。もしその値が同じならば、イメージメモリは読み取られずに、代わりに同じ画素値がメモリを再びアクセスすることなくモニタに繰返し適用される。
【０００４】
タグはある実施例においては図形メモリ制御装置自身の内部に記憶されても良く、またはビデオメモリ内部の指定された位置内に記憶されても良い。好ましい実施例においては、画素の各グループはもしグループ内のすべての画素が同じ値であり、且つまた前のグループの最後の画素と同じならば「１」と言うタグ値が割り当てられる。さもなければ、タグは「０」にセットされる。
各タグはまた結合された有効ビットを有する。有効ビットはビデオメモリ内の画素グループへの書き込みが有れば何時でも無効状態へセットされる。有効ビットは書込操作の後でタグが再計算されるまでリセットされない。
【０００５】
本発明の本質及び長所を、より完全に理解するために、添付図面とともに次の詳細な説明を参照すべきである。
【発明を実施するための最良の形態】
【０００６】
図１，２は典型的な図形メモリ制御装置であるウエイテック(WEITEK)W5286 のブロック図である。図形メモリ制御装置10はビデオメモリまたはフレーム緩衝記憶装置12に接続され、図中に示されているように、フレーム緩衝記憶装置は32DRAMチップの２つの列である。イメージデータはRAM DAC 16を通過した後でモニタ14上に表示され、RAM DAC 16はメモリ及びディジタルアナログ変換器を備えている。フレーム緩衝記憶装置12からモニタ14への画素データの流れは図形メモリ制御装置10内のメモリ制御ユニット18及びビデオ制御ユニット20によって制御される。
【０００７】
図形メモリ制御装置10はまたバス24とのインターフェースのためのホスト及び入出力制御ユニット22を含んでいる。図形メモリ制御装置10にはクロック合成回路26によりクロックが供給されている。図形メモリ制御装置10の制御プログラムはBIOS ROM 28 によって供給される。
【０００８】
図３はＮビットのグループ中に配列されているフレーム緩衝記憶装置12内の画素データを図示している。Ｎビットの各グループはそれに対応する単一のビットタグを持っている。タグの各列は、フレーム緩衝記憶装置12の列に対応し、単一の有効ビット（VALID)を持っている。
【０００９】
タグの「１」と言う値は、対応するグループ内の画素のためのカラー値のすべてが同じであり、またすぐ前のグループの最後の画素値とも同じであることを示している。有効ビットは、フレーム緩衝記憶装置12のその列はタグが計算されてから書き込まれていないことを示している。
【００１０】
図４は本発明のタグを使用する制御回路の一実施例のブロック図である。この実施例においてこの制御回路は図１のメモリ制御ユニット18の内部にある。アドレスバス30は外部のフレーム緩衝記憶装置12へアドレスを供給する。ビデオをリフレッシュする間、特定の画素グループを識別するアドレスのビットはまた緩衝記憶装置34を通過する１チップのタグメモリ32への入力として供給される。タグ(TAG) 及び有効ビット(VALID) は制御論理回路36へ供給される。
【００１１】
フレーム緩衝記憶装置12からのデータはバス38を経由して図４に示す制御装置へ送り返される。このデータはバッファ40及びレジスタ42の双方へ供給される。前のタグのグループからの最後の画素値はレジスタ42内に記憶され、かつその後続の値はバッファ40と、次いでマルチプレクサ44を通して、モニタ14に接続されているバス46へ供給される。もしタググループの有効ビットが、各画素が通過するようにセットされていなければ比較器48においてすぐ前の最後の画素値と比較される。カウンタ50はグループ内のすべての画素値が最後の画素の値に一致するか否かを示し、信号を制御論理回路36へ供給する。
【００１２】
タグメモリ32が初期化された後、レジスタ42内に記憶されていた以前の画素値は制御論理回路36によってマルチプレクサ44を通過して単にモニタ14へクロックに同期して送られる。タグメモリ32内のタグ値が「１」でフレーム緩衝記憶装置12に対する読み取りアクセスが発生しない場合にはこの値はグループ内の各画素に対してＮ回出力されることが可能である。もしタグ値が「０」ならば制御論理回路36は他の「１」のタグに出合うまでデータをフレーム緩衝記憶装置12から直接選択するようにする。
【００１３】
好ましい実施例において、各グループの画素の数Ｎは４から32を表わし、８は多くの応用において経験的に誘導された最適値である。
図５はタグメモリ32の初期化ルーチンの一実施例を示すフローチャートである。ステップＡにおいて画素の最初のグループが読取られてモニタ14に供給され、その最後の画素値が図４に示すレジスタ42に書き込まれる (ステップＢ) 。すぐ次のグループの各画素値はレジスタ42に書き込まれている直前のグループの最後の画素値と比較され、カウンタ50のカウント値はそれに応じて増加させられる (ステップＣ) 。もしカウント値が８に等しくない場合は (ステップＤ) 、タグメモリ32内のタグに「０」が書き込まれる (ステップＥ) 。イメージの最初の画素グループはそれらが存在しないグループの最後の画素と値が同一ではあり得ないので「０」を書き込む必要がある。
【００１４】
一方、カウント値が８画素のグループに対して８である場合は８画素の値が同一であり、かつ直前のグループの最後の画素値と同じであることを示しているので、「１」の値がタグメモリ32にタグとして書き込まれる (ステップＦ) 。そのグループの最後の画素値はレジスタ42に書き込まれ (ステップＧ) 、このプロセスが画素の次のグループについて繰返される。
【００１５】
一度タグメモリ32が初期化されると、モニタ14へのデータの供給、または図形の読取り操作の実行は図６に示すように大いに簡略化される。画素の最初のグループはフレーム緩衝記憶装置12から読取られてモニタ14へ供給され、最後の値がレジスタ42に記憶される (ステップＫ) 。この最初のグループが読取られた後で、次のグループのタグが検査される (ステップＬ) 。タグが「０」の場合は、画素の次のグループは再びフレーム緩衝記憶装置12から読取られ、最後の画素値がレジスタ42内に記憶される。しかしタグが「１」の場合はレジスタ42内の画素の値はモニタ14に８回、単に出力され (ステップＭ) 、このプロセスが繰返される。次のタグもまた「１」である場合は再びレジスタ42内の同じ画素の値がモニタ14へ８回、単に出力される。以上から理解されるように、これはビデオリフレッシュ演算、または図形読取り演算のためのフレーム緩衝記憶装置12における多重読取りを不要にし、これによって図形書込演算の帯域幅の自由度を高め、かつ図形能力を改善する。
【００１６】
加えてタグメモリ32はフレーム緩衝記憶装置12内のデータのある操作に使用することができる。たとえばデータのブロックがフレーム緩衝記憶装置12内の異なった位置へ移動されるとすれば、タグメモリ32内の対応するタグは、もしそれらがすべて「１」であり、かつそれぞれの場合に直前のグループが「１」であるならば対応する位置へ移動される。
【００１７】
別の実施例においては、タグビットはフレーム緩衝記憶装置12自体の内部に記憶され、タグビットに割当てられた有効ビットは図形メモリ制御装置10内に保持される。この方法で図形書込演算は、タグを「０」に書き変えるのではなく、有効ビットを無効にすることができ、記憶帯域幅を節約することができる。
【００１８】
それらの技術に熟練した者にとって理解されるであろうように、本発明はその精神またはその中心を成す特徴から離脱することなく他の特定の形式によって実施することができる。たとえば異なったサイズの画素グループも使用され得る。たとえば画素のグループは１列を超える複数列の部分を包含するように配列されることも可能である。代わりに、複数のビットはタグによって示される一つの画素から他の画素への色彩値内のわずかな変化を許すような他の情報を示す付加的なビットに使用されることも可能で、またはタグがそのままの単独の画素ではなくて画素パターンの複製を示すように使用されることが可能である。
【００１９】
有効ビットは全部一緒に除去されることもでき、それによって図形の書込演算の間にタグの書き変えが必要となる。
したがって本発明の好ましい実施例の開示は説明のためのものであって特許請求の範囲に定めた本発明の範囲を制限するものではない。
【図面の簡単な説明】
【００２０】
【図１】典型的な図形メモリ制御装置のブロック図である。
【図２】典型的な図形メモリ制御装置のブロック図である。
【図３】本発明のタグ及びそれに結合した画素グループを図示する図である。
【図４】本発明のタグのための制御回路のブロック図である。
【図５】図４のタグメモリのための初期化ルーチンのフローチャートである。
【図６】初期化後の本発明による演算のフローチャートである。
【符号の説明】
【００２１】
10  図形メモリ制御装置
12  フレーム緩衝記憶装置
14  モニタ
32  タグメモリ
36  論理制御回路
40  バッファ
42  レジスタ
48  比較器
50  カウンタ
【図１】
0003874781.tif 000002
【図２】
0003874781.tif 000003
【図３】
0003874781.tif 000004
【図４】
0003874781.tif 000005
【図５】
0003874781.tif 000006
【図６】
0003874781.tif 000007