(57)【特許請求の範囲】
【請求項１】
フレーム・バッファからのデータを電子ビームに同期して表示するＣＲＴに接続されたフレーム・バッファ内のデータの領域を、前記ＣＲＴを走査する電子ビームに同期してクリアする回路であって、前記領域内の最初のデータ・ラインのアドレスを表わす値を格納するための開始レジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納される開始レジスタ、前記領域内のデータのライン数を表わす値を格納するための長さレジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納される長さレジスタ、前記電子ビームによって走査されるフレーム・バッファ・データのラインのアドレスを表わす値を格納するためのビーム・カウント・レジスタであって、前記電子ビームが前記フレーム・バッファからのデータ・ラインを走査するたびに前記ＣＲＴに接続されて前記値をインクリメントし、前記電子ビームが前記フレーム・バッファの始めから走査を開始して前記ＣＲＴの最上部にデータを表示するたびに前記ＣＲＴに接続されて前記値を０にセットするビーム・カウント・レジスタ、前記開始レジスタ、前記長さレジスタ、前記ビーム・カウント・レジスタ、前記電子ビーム、および前記フレーム・バッファに接続され、前記開始レジスタ内の値を前記ビーム・カウント・レジスタ内の値と比較し、前記開始レジスタ内の値が前記ビーム・カウント・レジスタ内の値より小さいとき前記開始レジスタ内の値によって表わされるアドレスにある前記フレーム・バッファ内のデータ・ラインをクリアし、前記ラインがクリアされた後前記開始レジスタの値をインクリメントし、前記ラインがクリアされた後前記長さレジスタをデクリメントし、前記長さレジスタの値が０であるとき前記クリア動作を終了する状態機械手段からなるＣＲＴメモリ・バッファの同期クリア回路。
【請求項２】
前記状態機械手段はさらに、前記電子ビームが垂直帰線動作を開始した後、前記開始レジスタを前記ビーム・カウント・レジスタと比較することなく、前記フレーム・バッファのラインを連続的にクリアする手段を有する請求項１に記載のＣＲＴメモリ・バッファの同期クリア回路。
【請求項３】
さらに、前記ＣＲＴと前記状態機械に接続されたフラグ・レジスタを有し、前記電子ビームは前記電子ビームが前記フレーム・バッファの始めから走査を開始して前記ＣＲＴの最上部にデータを表示するとき前記フラグ・レジスタをクリアし、前記状態機械手段は前記フレーム・バッファ内の最初のデータ・ラインをクリアする前に前記フラグ・レジスタをセットし、前記状態機械は前記フラグ・レジスタがセットされている間は前記クリア動作を開始しない請求項１に記載のＣＲＴメモリ・バッファの同期クリア回路。
【請求項４】
さらに前記フラグ・レジスタに接続され、前記状態機械に前記フラグ・レジスタを無視させるための阻止手段を有し、前記阻止手段は前記クリア動作が開始される前に外部回路によって使用可能あるいは使用不能とされる請求項３に記載のＣＲＴメモリ・バッファの同期クリア回路。
【請求項５】
さらに、前記フレーム・バッファ内のアドレスを表わす値を格納するための前記状態機械手段に接続された保護レジスタを有し、前記値は前記クリア動作が開始されるとき外部回路によって前記保護レジスタにセットされ、前記状態機械手段はさらに前記クリア動作が開始されるとき前記ビーム・カウント・レジスタの値が前記保護レジスタの値より小さいとき、前記開始レジスタを前記ビーム・カウント・レジスタと比較することなく、前記フレーム・バッファのラインを連続的にクリアする手段を有する請求項１に記載のＣＲＴメモリ・バッファの同期クリア回路。
【請求項６】
フレーム・バッファからのデータを電子ビームに同期して表示するＣＲＴに接続されたフレーム・バッファ内のデータの領域を、前記ＣＲＴを走査する電子ビームに同期してクリアする方法であって、
（ａ）．前記領域内の最初のデータ・ラインのアドレスを表わす開始値を受け取るステップ、
（ｂ）．前記領域内のデータ・ラインの数を表わす長さの値を受け取るステップ、
（ｃ）．前記垂直帰線動作の始めと前記領域内の最初のデータ・ラインの間の走査線の数を表わすライン・カウント値を受け取るステップ、
（ｄ）．前記電子ビームが前記ＣＲＴ上のラインを走査するたびにビーム・カウント値をインクリメントするステップであって、前記カウント値は前記電子ビームが前記ＣＲＴ上で垂直帰線を開始するたびに０にセットされるステップ、
（ｅ）．前記ライン・カウント値を前記ビーム・カウント値と比較し、前記ライン・カウント値が前記ビーム・カウント値より小さくない場合ステップ（ｄ）および（ｅ）を繰り返すステップ、
（ｆ）．前記開始値によって表わされるアドレスにある前記フレーム・バッファの領域内のデータ・ラインをクリアするステップ、
（ｇ）．前記開始値をインクリメントするステップ、
（ｈ）．前記ライン・カウント値をインクリメントするステップ、
（ｉ）．前記長さの値をデクリメントするステップ、
（ｊ）．前記長さの値が０になるまでステップ（ｄ）からステップ（ｉ）までを繰り返すステップからなるＣＲＴに接続されたフレーム・バッファ内のデータ領域クリア方法。
【請求項７】
ステップ（ｊ）がさらに、
（ｊ１）．垂直帰線が開始された後、前記長さの値が０になるまでステップ（ｆ）からステップ（ｉ）までを繰り返すステップを含む請求項６に記載のフレーム・バッフアァ内のデータ領域クリア方法である。
【請求項８】
ステップ（ｃ）の後ステップ（ｄ）の前に、
（ｃ１）．最後の垂直帰線動作が生じてからステップ（ｄ）から（ｊ）までが実施されたときに、ステップ（ｄ）に進む前に、後続の垂直帰線動作が生じるまで待つステップが実施される請求項６に記載のフレーム・バッファ内のデータ領域クリア方法。
【請求項９】
ステップ（ｃ）の後ステップ（ｄ）の前に、
（ｃ１）．フラグ使用可能値を受け取るステップ、
（ｃ２）．前記フラグ使用可能値が０である場合にステップ（ｄ）に進むステップ、
（ｃ３）．前記フラグ使用可能値が０でなく、最後の垂直帰線動作が生じてからステップ（ｄ）から（ｊ）までが実施されたときに、ステップ（ｄ）に進む前に、後続の垂直帰線動作が生じるまで待つステップが実施される請求項６に記載のフレーム・バッファ内のデータ領域クリア方法。
【請求項１０】
ステップ（ｄ）がさらに、
（ｄ１）保護値を受け取り、前記保護値を前記ビーム・カウント値と比較し、前記ビーム・カウント値が前記保護値より小さい場合、保護フラグを第１の所定の値にセットしてステップ（ｆ）に進み、前記ビーム・カウント値が前記保護値より小さくない場合、前記保護フラグを第２の所定の値にセットしてステップ（ｅ）に進むステップを含み、ステップ（ｊ）に代わって、
（ｊ１）．前記保護フラグが第１の所定の値にセットされている場合、前記長さの値が０になるまでステップ（ｆ）からステップ（ｉ）までを繰り返し、前記保護フラグが第２の所定の値にセットされている場合、前記長さの値が０になるまでステップ（ｄ）からステップ（ｉ）までを繰り返すステップを含む請求項６に記載のフレーム・バッファ内のデータ領域クリア方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は，コンピュータ装置に関し、より詳細にはコンピュータ装置の図形表示装置に関する。さらに詳細には、本発明は図形表示装置の表示領域をクリアするＣＲＴメモリ・バッファ同期クリア回路（及び方法）に関する。
【０００２】
【従来の技術】
今日コンピュータや端末装置に用いられる陰極線管（以下、ＣＲＴという）表示技術は基本的にはテレビジョン受像機と同様のラスタ走査技術であるが、コンピュータ表示装置はビット・マッピングされている点と表示されるデータのビットを保持するためのフレーム・バッファを有するのに対して、テレビジョン受像機は受信した信号を記憶することなくリアル・タイムに表示する点が異なっている。表示がある画像から別の画像に変わるとき、新しい画像が画面に表示される前に、新しい背景色値の設定等によって画面をクリアすることによって古い画像を完全に消すことが望ましい。表示の垂直方向活動時間中にクリア動作あるいはリドロー動作が発生すると、画面上に「フラッシング（flashing）」や「ティアリング（tearing ）」が起こる。かかる効果は画像の切り替えが頻繁に起こらないときはそれほど目立たない。しかし、最近の高速３次元表示システムや画面上に動く画像が表示され、１秒当たり３０回といった頻度でフレームが変わるマルチメディア表示装置のように画像の切り替えが非常に頻繁である場合、フラッシングあるいはティアリングは非常に目障りなものになる。
【０００３】
【発明が解決しようとする課題】
従来の装置では通常ラスタ走査電子ビームが垂直帰線動作を行なうのを待ってクリア動作を開始する。垂直帰線の開始を待つことによって、クリア動作はデータ表示時間中には発生せず、したがってフラッシングやティアリングが防止される。この場合、垂直帰線が起こるまでクリア動作が遅延されるという問題がある。
【０００４】
クリアリングの問題はＣＲＴに複数のフレーム・バッファが取り付けられた装置ではこれほど深刻ではない。この種の装置では、新しい画像は第１フレーム・バッファが表示される間第２のフレーム・バッファに入れられ、第１のフレーム・バッファが表示される。画像の切り替えを行なう場合、ＣＲＴは単に第１フレーム・バッファの表示から第２フレーム・バッファの表示に切り替えるだけでよい。しかし、フラッシングやティアリングを防止するために、第１バッファから第２バッファへの表示情報の切り替えもまた垂直帰線動作中に発生しなければならない。  ＵＮＩＸオペレーティング装置のＸウィンドウ等のウィンドウ環境においては、切り替えは画面単位ではなく、ウィンドウ単位で発生しなければならない。
【０００５】
したがって、従来の装置ではＣＲＴ上に画像を表示するフレーム・バッファをクリアする前に垂直帰線動作が発生するのを待つ間にかなりの時間が浪費されることは明らかである。たとえば、６０Ｈｚのレートで表示を行なうＣＲＴの場合、１回の画面走査には約１６ミリ秒を要する。画面のクリアはビームがＣＲＴ上の任意の位置を走査しているときに開始し得るため、平均すると、ＣＰＵはビームがＣＲＴの半分を横切る間待たなければならない。すなわち６０Ｈｚで走査するＣＲＴの場合には約８ミリ秒待たなければならない。７２Ｈｚで走査するモニタでもまだ約７ミリ秒の待機が必要である。
【０００６】
したがって、当該技術分野において、ＣＰＵがフレーム・バッファをクリアする前にラスタ走査ＣＲＴ表示装置において垂直帰線動作の発生を待つ間に費やされる時間を短縮する装置が必要とされている。本発明は当該技術分野におけるかかる要求またその他の要求に応えるものである。
【０００７】
本発明の特徴は、走査電子ビームに同期した、ラスタ走査ＣＲＴのためのクリア動作を提供することである。
【０００８】
本発明の他の特徴は、クリア動作が電子ビームの後を追わなければならないかどうかを判定するために電子ビーム位置を監視することである。
【０００９】
本発明のさらに別の特徴は、単一の垂直方向のビーム走査の間に２つの連続するクリア動作が発生しないようにすることである。
【００１０】
【課題を解決するための手段】
本発明の以上の特徴およびその他の特徴は、クリア動作を受けるときにＣＲＴ上を走査する電子ビームの位置を検出するウィンドウ装置あるいは全画面装置において達成される。この装置は電子ビームの位置をクリアすべきウィンドウと比較し、ウィンドウがすぐにクリアされる場合電子ビームとクリア動作との干渉が発生するかどうかを判定する。干渉が発生しない場合、ウィンドウ・クリア動作がすぐに開始される。干渉が発生する場合、装置は電子ビームの走査がウィンドウの最上部を越えるのを待ってクリア動作を開始する。それぞれの走査線をクリアする前に、装置は電子ビームがクリアされる走査線を越えて走査するまで待つ。
【００１１】
クリアされるウィンドウが非常に小さい場合、このウィンドウをクリアし、新しい画像をこのウィンドウ内に表示し、電子ビームがこの新しい画像の表示のためのＣＲＴの走査を完了する前に第２のクリア動作を受けることができる。この場合、装置はユーザがその画像を少なくとも一度は表示されるまで後続のクリア動作の発生を防止することができるフラグを提供する。この動作は装置に必要なときもあれば不要なときもあるため、このフラグは使用可能とすることも使用不能とすることもできる。
【００１２】
干渉が発生するかどうかを判定するとき、この装置ではクリアされるウィンドウの上に不確定領域すなわち保護領域を設けて走査中の電子ビームの位置に許容誤差範囲を設けることができる。クリアの開始時に電子ビームがこの保護領域の上にあるとき、この電子ビーム位置は無視される。電子ビームが保護領域より下にあるとき、この電子ビームの後を追ってクリア動作が発生する。
【００１３】
２重バッファリングを行なう場合、ティアリングを防止するには属性ビットの設定を同期させるだけでよい。しかし、本発明によれば交互のバッファ・クリア動作を同期させることができる。その結果、走査線クリア動作の終わりと電子ビームが画面上を走査し終わるまでの間の時間中にバッファ・クリアを行なうことによってさらに性能が向上する。
【００１４】
【実施例】
以下の説明は本発明の現在考えられる最良の実施態様に関するものである。この説明は本発明を限定するものではなく、その一般的原理を説明する目的で行なうものである。本発明の範囲は特許請求の範囲から判断しなければならない。
【００１５】
図１は本発明を含むコンピュータ装置のブロック図である。図１において、コンピュータ装置１００は装置のバス１０４および通信インターフェース１１４を介してコンピュータ装置１００の他の構成要素と通信する処理要素１０２を含む。キーボード１０６はコンピュータ装置１００へのテキストの入力を可能にし、マウス１１０はコンピュータ装置１００への図形ロケータ入力を可能にする。図形表示装置１０８はコンピュータ装置１００のユーザが図形およびテキスト出力を見ることを可能にし、本発明のビーム追従クリア装置を含む。ディスク１１２にはコンピュータ装置１００のオペレーティング装置およびその他のユーザ・データが記憶されている。
【００１６】
メモリ１１６にはオペレーティング装置１１８、図形ドライバ・ソフトウェア１２０、およびアプリケーション・プログラム１２２が記憶されている。当業者には、オペレーティング装置１１８は各種のウィンドウ型オペレーティング装置を含む様々なオペレーティング装置の１つとすることができ、多数のアプリケーション・プログラムをマルチタスク・オペレーティング装置内で実行可能であることは明らかであろう。
【００１７】
図２は図形表示装置１０８（図１）の画面を示し、本発明にしたがって図形表示装置１０８上の情報の表示に用いられるフレーム・バッファが同期的にクリアされる態様を示す。本発明のビーム追従同期画面をクリアする回路（及び方法）の目的は形状あるいは画像の図形表示が図形表示装置１０８内の表示モニタの垂直帰線と同期しているとき画面クリア時間を短縮させることである。発明の従来技術分野の部分で説明したように、クリア動作および表示動作が表示モニタと同期されていない場合、フラッシングやティアリングが発生することがある。また、画面のクリアが速いほど、図形表示装置を駆動する処理装置内で時間が節約される。従来の装置とは異なり、本発明では垂直帰線動作を待つことなくクリア動作の同期が行なわれる。
【００１８】
図２において、図形表示装置１０８（図１）内の図形モニタ上に表示される図形画面２０２にはクリア動作によってクリアされる通常の領域２０４がある。領域２０４は通常ウィンドウ型オペレーティング装置内のウィンドウであるか、あるいはまた図形画面２０２上の他の任意の領域である。領域２０４は矩形の領域として示されているが、本発明はこれには限定されない。当業者には、本発明によれば図形画面上の任意の領域をクリアすることが可能であることが理解されるであろう。
【００１９】
図形表示装置１０８が図形装置ドライバ・ソフトウェア１２０（図１）から領域２０４に対するクリア・コマンドを受け取ると、左上コーナの位置２０５とクリアすべき領域のＸおよびＹの両方向の長さを受け取る。図２において、Ｘ方向は位置２０５から画面の右側に向かって伸張する水平な方向であり、Ｙ方向は図２において位置２０５から下方に伸張する垂直な方向である。領域Ｗ２０６はクリアすべき領域の走査線の数で表わした長さである。したがって、図形表示装置１０８はクリア・コマンドを受け取るとき、クリアを開始すべき開始走査線とクリアすべき走査線の数がわかる。
【００２０】
次に、本発明では以下に説明する方法で図形モニタ上のどのラインが電子ビームによって現在走査されているかを判定する。電子ビームが領域Ａ２０８内を走査している場合、領域２０４のクリアは走査電子ビームと無関係に進行させることができる。これは、図形画面２０２上で情報を表示するのに用いられるフレーム・バッファ内のデータの１本の走査線をクリアするのに要する時間は、電子ビームが図形画面２０２上のフレーム・バッファ・データの１本の走査線を表示するのに要する時間より短いためである。したがって、電子ビームが領域２０４より上の領域Ａ２０８内を走査している場合、電子ビームがクリアされている走査線に追いつく前に領域２０４全体がフレーム・バッファ内でクリアされるため、クリアは電子ビームにかかわりなく進行する。
【００２１】
領域２０４全体が電子ビームの到達前にクリアされるが、これは必ずしも領域２０４の最終部分がまだフレーム・バッファ内でクリアされているうちに電子ビームが領域２０４の始めの部分からラインの表示を開始してはならないという意味ではない。この電子ビームは常にフレーム・バッファ内でクリアされたデータを走査および表示しているため、これは問題にはならない。
【００２２】
同様に、電子ビームが領域Ｃ２１２内すなわち領域２０４より下を走査しているとき、クリア動作は電子ビームに干渉しない。これは、クリア動作が領域２０４の最下部に到達する前に、電子ビームはすでに領域２０４より下を走査中であるか領域２０４より下にあるためである。すなわち、クリア動作は電子ビームが領域Ｃ２１２の始めに位置するライン２１６より下にある場合には電子ビームには追い付かない。
【００２３】
図２に示すように、ライン２１６は領域２０４の最下部ではなく、領域２０４の下のライン２０７より多少上にある。上述したように、クリア動作は走査電子ビームより高速であるが、瞬時の動作ではない。したがって、走査電子ビームがライン２１６より下にあり、クリア動作が左上コーナの位置２０５で始まる場合、クリア動作は走査より高速ではあるが走査電子ビームがライン２０７より下になる前にこれに追い付くことはない。ライン２１６の実際の位置はウィンドウ，なわちち，領域２０４の大きさ、詳細には領域２０４の高さ、すなわち、領域Ｗ２０６とクリア動作の速度および走査電子ビームの速度によって決まる。したがって、ライン２１６は使用されるモニタの種類と走査周波数によって決まる。
【００２４】
電子ビームが領域Ｂ２１０内を走査している場合、クリア動作と電子ビームの走査の間に干渉が起こる可能性がある。この干渉の可能性に鑑みて、本発明ではクリア動作を電子ビームの走査に追従させる、すなわち、フレーム・バッファ内のラインはそのラインが電子ビームによって走査されて表示モニタ上に表示されるまでクリアされない。
【００２５】
領域Ｂ２１０は２つの領域からなる。１つは上の左上のコーナの位置２０５とライン２１６の間であり、第２の領域は領域２０４の最上部より上にある不確定性バッファ２１４と呼ばれる領域である。モニタの速度、クリアされるフレーム・バッファを構成する電子部品の速度、および図形表示装置１０８内の電子部品の速度には許容差があるため、電子ビームがクリア動作と干渉を起こさずに領域２０４の最上部にどれだけ近く走査できるかについては不確定性がある。かかる不確定性に鑑みて、本発明ではクリアされるウィンドウの上に保護領域としての不確定性バッファ２１４を設ける。この不確定性バッファすなわち保護バッファは通常それほど大きいものではない。たとえば、表示装置によってはこれは走査線４本分に過ぎない。
【００２６】
クリア・コマンドを受け取ったとき電子ビームが領域Ｂ２１０より上を走査している場合、本発明ではフレーム・バッファ内のラインをクリアする前に電子ビーム走査がそのラインを越えるまで待機する。これによって、フラッシングやティアリングが発生しないようになっている。すなわち、フレーム・バッファ内ではラインはそのラインが図形モニタに表示されるまではクリアされない。
【００２７】
図３は図１の図形表示装置１０８のブロック図である。図３において、図形表示装置１０８は図形表示ドライバ・ソフトウェア１２０（図１）からバス１０４を介して受け取ったコマンドをラスタ・データに変換する走査変換器３０２を有し、このラスタ・データはＦＩＦＯ（先入れ先出し）バッファ３０４とメモリ・コントローラ３０５を介してフレーム・バッファしての例えば、２ポートＲＡＭフレーム・バッファ３０６に送られる。ビデオ・インターフェース３０８がフレーム・バッファ３０６から走査されたデータを検索し、そのデータをタイミング発生器３１０を用いてビデオ表示用の図形モニタ３１６の走査に同期させる。タイミング発生器３１０は図形モニタ３１６を制御するのに必要なタイミング信号を生成し、垂直帰線消去信号３１２と水平帰線消去信号３１４を有する。これらの信号は本発明に使用すべく走査変換器３０２に返される。垂直帰線消去信号３１２は図形モニタが垂直帰線を行なっているときに活動状態にあり、水平帰線消去信号３１４は図形モニタ３１６が水平帰線を行なっているときに活動状態にある。
【００２８】
図４は走査変換器３０２の、本発明による同期クリアの実行に用いられる部分のブロック図である。図４において、ライン・カウンタ４０２は図３の垂直帰線消去信号３１２からクリア信号を受け取る。ライン・カウンタ４０２はまた図３の水平帰線消去信号３１４からカウント信号を受け取る。本実施例では、クリア信号とカウント信号は、エッジトリガ装置によって、それぞれ垂直帰線消去信号と水平帰線消去信号の前縁に同期されている。これら２つの信号を用いて、ライン・カウンタ４０２は垂直帰線の始めから水平帰線をカウントして、電子ビームによって現在走査されている走査線を表わすカウント値を提供する。
【００２９】
図形ドライバ・ソフトウェア１２０（図１）はクリア動作を実行しようとするとき、図形表示装置１０８に４組の情報を送る。第１の情報は、図２に関連して上述したように、クリアすべき矩形の左上の部分である。すなわち、図２の位置２０５に示すようにこの矩形の左上のＸ位置とＹ位置である。クリア動作には開始Ｘ位置と開始Ｙ位置の両方が必要であるが、クリアの同期にはＹ位置だけが必要である。したがって、この情報が図４の開始レジスタとして、開始Ｙレジスタ４０４に格納される。開始Ｘ位置は走査変換器３０２（図３）の他の場所に格納され、走査変換器３０２がそのラインの正しいビット数をクリアするのに用いられる。図形表示装置はまた色情報（図４には示さない）を受け取り、この情報はクリアを実行すべき２ポートＲＡＭフレーム・バッファに入れられる。このようにして、クリア動作は単にクリアすべきウィンドウの位置のＣＲＴの背景色を設定する。あるいは２重バッファ交換を行うための属性ビット値を設定する。
【００３０】
図形ドライバ・ソフトウェア１２０によって送られる第２の情報は、Ｘ方向の長さとＹ方向の長さである。Ｘ方向の長さもまた同期処理には不要であり、走査変換器３０２の他の場所に格納される。Ｙ方向のクリア長は使用され、図４の長さレジスタとして、長さＹレジスタ４０６に格納される。
【００３１】
第３の情報は、ビーム・カウント・レジスタとしてのカウントＹレジスタ４０８である。このカウントＹレジスタ４０８は垂直帰線の始めとクリアされるウィンドウの始めの間の走査されるラインの数のカウント値を有する。これは開始Ｙレジスタ４０４内の値に垂直帰線が実行される間に走査されるラインの数を加えたものである。このカウンタはクリア動作中に電子ビームを追いかけるのに用いられる。
【００３２】
図形ドライバ・ソフトウェア１２０が図形表示装置１０８に送る最後の情報はU バッファ・レジスタあるいは保護レジスタ４１０（以下、保護レジスタという）の内容である。これは垂直帰線の始めから数えた不確定性バッファ２１４（図２）の最上部の走査線Ｙ位置である。これはカウントＹレジスタ４０８の値から不確定性バッファの大きさを引いたものである。図２に関連して上述したように、クリア動作が受け取られたとき図形モニタがこのラインより下を走査しているとき、クリア動作は電子ビームを追いかけなければならない。
【００３３】
図５に関連して後に説明する状態機械４１２はクリア動作を図形モニタ上の電子ビームの位置に同期させる。
【００３４】
図５は状態機械４１２の、クリア動作と走査電子ビームを同期させる部分の状態図である。図５において、クリア動作を受け取ったとき、状態機械は状態５０２に入る。状態機械はＦＩＦＯバッファ３０４から２ポートＲＡＭフレーム・バッファ３０６に送られているデータが完全にクリアされるまでこの状態で待機する。ＦＩＦＯバッファ３０４がクリアされるまで待機することによって、状態機械は２ポートＲＡＭフレーム・バッファに送られるクリアコマンドがただちに実行され、他のコマンドによって停止されないようにし、これによって電子ビームへの同期を容易にする。
【００３５】
また、状態機械はフラグが１にセットされているとき状態５０２で待機する。このフラグの目的については後に説明する。ＦＩＦＯバッファ３０４がクリアされ、フラグが０であるとき、状態機械は状態５０４になり、この状態では電子ビームをチェックし、フラグを１にセットする。この電子ビーム・チェック機能によってライン・カウンタ４０２によって判定された電子ビームの走査位置が保護レジスタ４１０内の値より小さいかどうかが判定される。小さければ、電子ビームは無視することができ、状態５０４は状態５０６に移行する。
【００３６】
電子ビーム・チェック機能によって電子ビームを無視できることが判定された後、状態５０６は、開始Ｙレジスタ４０４をＦＩＦＯバッファ３０４およびメモリ・コントローラ３０５へのバス４２２を介して２ポートＲＡＭフレーム・バッファ３０６に送ることによって２ポートＲＡＭフレーム・バッファ３０６（図３）にアドレスを送る。状態５０８は２ポートＲＡＭフレーム・バッファにコマンドを送ってこの送られたアドレスの２ポートＲＡＭフレーム・バッファをクリアする。次に、状態５１０は同じ開始Ｙアドレスを再度２ポートＲＡＭフレーム・バッファに送り、状態５１２は送られたアドレスの２ポートＲＡＭフレーム・バッファをクリアする。データ・ラインをクリアするには、２ポートＲＡＭフレーム・バッファ内のビットを上述したようにクリアすべきウィンドウの所定の背景色等の既知の状態に設定することが必要である。次に、状態５１４は信号４１６（図４）を送って開始Ｙレジスタ４０４を１だけインクリメントし、状態５１４はまた信号４１８（図４）を送って長さＹレジスタ４０６を１だけデクリメントし、また状態５１４は信号４２０（図４）を送ってカウントＹレジスタ４０８を１だけインクリメントする。長さＹレジスタ４０６が０より大きい場合、状態５１４は状態５０６に戻って２ポートＲＡＭフレーム・バッファ内の次のラインをクリアする。長さＹレジスタ４０６が０に達している場合、バッファ・クリア動作は完了しており、したがって状態５１４はこの処理を出る。
【００３７】
電子ビームが現在保護レジスタ４１０より下に位置するラインを走査している場合、クリア動作は電子ビームを追いかけなければならず、したがって状態５０４は状態５１６に移行する。
【００３８】
これは、電子ビームが領域Ｃ２１２（図２）内のライン２１６より下にある場合にも同様である。領域Ｃ２１２の場合、クリア動作は電子ビームを追いかけるが、クリア動作が電子ビームに追い付くことは決してなく、したがってクリア動作は全速で行なわれる。
【００３９】
状態５１６はライン・カウンタ４０２（図４）がカウントＹレジスタ４０８より大きくなるまで続く。ライン・カウンタがカウントＹレジスタ４０８内のアドレスを通過した後は、カウントＹレジスタ４０８によってアドレス指定される２ポートＲＡＭフレーム・バッファ内のラインをクリアする方が安全である。したがって、状態５１６は状態５２０に移行し、状態５２０は開始Ｙレジスタ４０４内のアドレスを２ポートＲＡＭフレーム・バッファ３０６（図３）に転送し、次に状態５２２がコマンドを送ってこの送られたアドレスのバッファ内の属性ビットをクリアする。状態５２４は２ポートＲＡＭフレーム・バッファに再度開始Ｙアドレスを送り、状態５２６は２ポートＲＡＭフレーム・バッファ内のこの開始Ｙレジスタのアドレスのデータ・ラインをクリアする。データ・ラインをクリアするには、上述したように、２ポートＲＡＭフレーム・バッファ内のビットをクリアされるウィンドウの所定の背景色等の既知の状態にセットすることが必要である。次に、状態５２８が信号４１６を送ってカウントＹレジスタ４０８をインクリメントし、信号４１８を送って長さＹレジスタ４０６をデクリメントし、また信号４２０を送ってカウントＹレジスタ４０８をインクリメントする。長さＹレジスタが０に達している場合、状態機械はこの処理を出る。長さＹレジスタが０より大きい値を有する場合、状態５２８は状態５１８に戻る。
【００４０】
状態５１８は２つのことを行なう。まず、状態５２０に戻る前にライン・カウンタがカウントＹアドレスより大きくなるまで待機する。これを行なうことによって、バッファ・クリア動作は走査電子ビームを追いかけることを確実にする。
【００４１】
また、状態５１８は電子ビームが画面の最下部に近づくときに必要な第２の機能を実行する。電子ビームが画面の最下部に達し、垂直帰線が起こると、ライン・カウンタ４０２（図４）はクリアされる。すなわち０の値にセットされる。ライン・カウンタがクリアされた後、カウントＹレジスタ４０８は電子ビームが次に画面を一番下まで走査するまではライン・カウンタより小さくならない。これによって遅延が発生するため、また電子ビームが垂直帰線動作を開始した後には電子ビームを追いかける必要はないため、状態５１８は垂直帰線消去信号が発生していることを検出し、状態５０６に移行して電子ビームを無視することによってクリア動作の残りを完了する。
【００４２】
垂直帰線は状態５１６においても発生することがあり、したがってこの場合も垂直帰線が発生すると状態５０６に移行する。
【００４３】
当業者には、ライン・カウンタ４０２は２ポートＲＡＭフレーム・バッファ３０６から最初のデータ・ラインが走査されたときリセットされ、開始Ｙレジスタと，カウントＹレジスタを組み合わせ得るように実施することができることは明らかであろう。また、当業者には、許容差の値によっては保護レジスタが不要になる場合もあることも明らかであろう。
【００４４】
状態５０２および５０４に関連して上述したフラグは非常に小さなウィンドウがクリアされるときに発生する問題を解決する。画面上に非常に小さいウィンドウがある場合、クリア動作は非常に高速に実行される。クリア動作が完了すると、図形ドライバ・ソフトウェエア１２０（図１）はクリア動作が完了していることを通知され、アプリケーション・プログラムはこの非常に小さなウィンドウに別の図形を入れることができる。この場合も、このウィンドウは非常に小さいため、この図形をこのウィンドウに入れるのに要する時間も非常に短い。図形がクリアされたウィンドウに入れられると、アプリケーション・プログラムは再度このウィンドウをクリアすることができる。最初のクリア、図形の表示、および２度目のクリアというこれら３つの動作はすべて２ポートＲＡＭフレーム・バッファの内容の画面上の１つの表示中に発生することがある。このような状況は２重バッファ交換の場合にも起こり得る。その結果、２つのクリア動作の間に表示される図形は決して目に見えない。この動作はアプリケーションによって必要なこともあれば不要なこともある。したがって、フラグ・ビットは後に説明するように使用不能あるいは使用可能にプログラムすることができる。
【００４５】
フラグ・ビットは、それが垂直帰線によってクリアされるまで２度目のクリアを防止することによってこの問題を解決する。すなわち、状態５０２はこのフラグが０であるときにのみ進行する。状態５０４はこのフラグを１にセットし、このフラグは垂直帰線消去信号３１２によって再度０にセットされる。したがって、第２のクリアは垂直帰線が起こるまでは実行できない。図４にはフラグ・レジスタ４１４をセット信号およびクリア信号と共に示す。
【００４６】
フラグ・レジスタ４１４は待機を実行するようにプログラムすることができ、またフラグ・イネーブル・レジスタ４２４をクリアすることによって待機を無視するようにプログラムすることができる。フラグ・イネーブル・レジスタ４２４が０の値にクリアされると、フラグ・レジスタ４１４は状態機械によってはセットすることができず、したがってこのレジスタは常に０であり、待機は不能化される。
【００４７】
本発明の実施例を説明したが、以上から本発明の特徴が十分発揮されたことが理解されるであろう。また、当業者には本発明の精神と範囲から逸脱することなく、本発明の構造や回路に対するさまざまな変更、またこれ以外のさまざまな実施例や応用が可能であることが理解されるであろう。以上の開示内容および説明は例示に過ぎず、いかなる意味でも本発明を限定するものではなく、本発明は特許請求の範囲に最も適切に定義されるものである。
【００４８】
以上、本発明の各実施例について詳述したが、ここで各実施例の理解を容易にするために、各実施例ごとに要約して以下に列挙する。
【００４９】
（１）  ＣＲＴに接続されたフレーム・バッファ内のデータの領域を、前記ＣＲＴを走査する電子ビームに同期してクリアする回路であって、前記ＣＲＴは前記フレーム・バッファからのデータを前記電子ビームに同期して表示する回路であって、
前記領域内の最初のデータ・ラインのアドレスを表わす値を格納するための開始レジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納される開始レジスタ、
前記領域内のデータのライン数を表わす値を格納するための長さレジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納される長さレジスタ、
前記電子ビームによって走査されるフレーム・バッファ・データのラインのアドレスを表わす値を格納するためのビーム・カウント・レジスタであって、前記電子ビームが前記フレーム・バッファからのデータ・ラインを走査するたびに前記ＣＲＴに接続されて前記値をインクリメントし、前記電子ビームが前記フレーム・バッファの始めから走査を開始して前記ＣＲＴの最上部にデータを表示するたびに前記ＣＲＴに接続されて前記値を０にセットするビーム・カウント・レジスタ、
前記開始レジスタ、前記長さレジスタ、前記ビーム・カウント・レジスタ、前記電子ビーム、および前記フレーム・バッファに接続され、前記開始レジスタ内の値を前記ビーム・カウント・レジスタ内の値と比較し、前記開始レジスタ内の値が前記ビーム・カウント・レジスタ内の値より小さいとき前記開始レジスタ内の値によって表わされるアドレスにある前記フレーム・バッファ内のデータ・ラインをクリアし、前記ラインがクリアされた後前記開始レジスタの値をインクリメントし、前記ラインがクリアされた後前記長さレジスタをデクリメントし、前記長さレジスタの値が０であるとき前記クリア動作を終了する状態機械手段からなるＣＲＴメモリ・バッファの同期クリア回路である。
【００５０】
（２）  前記状態機械手段はさらに、前記電子ビームが垂直帰線動作を開始した後、前記開始レジスタを前記ビーム・カウント・レジスタと比較することなく、前記フレーム・バッファのラインを連続的にクリアする手段を有する上記（１）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５１】
（３）  さらに、前記ＣＲＴと前記状態機械に接続されたフラグ・レジスタを有し、前記電子ビームは前記電子ビームが前記フレーム・バッファの始めから走査を開始して前記ＣＲＴの最上部にデータを表示するとき前記フラグ・レジスタをクリアし、前記状態機械手段は前記フレーム・バッファ内の最初のデータ・ラインをクリアする前に前記フラグ・レジスタをセットし、前記状態機械は前記フラグ・レジスタがセットされている間は前記クリア動作を開始しない上記（１）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５２】
（４）  さらに前記フラグ・レジスタに接続され、前記状態機械に前記フラグ・レジスタを無視させるための阻止手段を有し、前記阻止手段は前記クリア動作が開始される前に外部回路によって使用可能あるいは使用不能とされる上記（３）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５３】
（５）  さらに、前記フレーム・バッファ内のアドレスを表わす値を格納するための前記状態機械手段に接続された保護レジスタを有し、前記値は前記クリア動作が開始されるとき外部回路によって前記保護レジスタにセットされ、前記状態機械手段はさらに前記クリア動作が開始されるとき前記ビーム・カウント・レジスタの値が前記保護レジスタの値より小さいとき、前記開始レジスタを前記ビーム・カウント・レジスタと比較することなく、前記フレーム・バッファのラインを連続的にクリアする手段を有する上記（１）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５４】
（６）  ＣＲＴに接続されたフレーム・バッファ内のデータの領域を、前記ＣＲＴを走査する電子ビームに同期してクリアする回路であって、前記ＣＲＴは前記フレーム・バッファからのデータを前記電子ビームに同期して表示する回路であって、
前記領域内の最初のデータ・ラインのアドレスを表わす値を格納するための開始レジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納される開始レジスタ、
前記領域内のデータのライン数を表わす値を格納するための長さレジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納される長さレジスタ、前記電子ビームによって走査されるラインのアドレスを表わす値を格納するためのビーム・カウント・レジスタであって、前記電子ビームが前記ＣＲＴのラインを走査するたびに前記ＣＲＴに接続されて前記値をインクリメントし、前記電子ビームが前記ＣＲＴ上で垂直帰線動作を開始するたびに前記ＣＲＴに接続されて前記値を０にセットするビーム・カウント・レジスタ、
前記垂直帰線動作の始めと前記領域内の最初のデータ・ラインの走査の間に前記電子ビームによって走査される走査線の数を表わす値を格納するためのライン・カウント・レジスタであって、前記値は前記クリア動作が開始されるとき外部回路によって格納されるライン・カウント・レジスタ、
前記開始レジスタ、前記長さレジスタ、前記ビーム・カウント・レジスタ、前記ライン・カウント・レジスタ、および前記フレーム・バッファに接続され、前記ライン・カウント・レジスタ内の値を前記ビーム・カウント・レジスタ内の値と比較し、前記ライン・カウント・レジスタ内の値が前記ビーム・カウント・レジスタ内の値より小さいとき前記開始レジスタ内の前記値によって表わされるアドレスにある前記フレーム・バッファ内のデータ・ラインをクリアし、前記ラインがクリアされた後前記開始レジスタの値をインクリメントし、前記ラインがクリアされた後前記長さレジスタをデクリメントし、前記長さレジスタの値が０であるとき前記クリア動作を終了する状態機械手段からなるＣＲＴメモリ・バッフアの同期クリア回路である。
【００５５】
（７）  前記状態機械手段はさらに、前記電子ビームが垂直帰線動作を開始した後、前記ライン・カウント・レジスタを前記ビーム・カウント・レジスタと比較することなく、前記フレーム・バッファのラインを連続的にクリアする手段を有する上記（６）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５６】
（８）  さらに、前記ＣＲＴと前記状態機械に接続されたフラグ・レジスタを有し、前記フラグ・レジスタは前記垂直帰線動作によってクリアされ、前記状態機械手段は前記フレーム・バッファ内の最初のデータ・ラインをクリアする前に前記フラグ・レジスタをセットし、前記状態機械は前記フラグ・レジスタがセットされている間は前記クリア動作を開始しない上記（６）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５７】
（９）  さらに、前記フラグ・レジスタに接続され、前記状態機械に前記フラグ・レジスタを無視させるための阻止手段を有し、前記阻止手段は前記クリア動作が開始される前に外部回路によって使用可能あるいは使用不能とされる上記（８）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５８】
（１０）  さらに、前記フレーム・バッファ内のアドレスを表わす値を格納するための前記状態機械に接続された保護レジスタを有し、前記値は前記クリア動作が開始されるとき外部回路によって前記保護レジスタにセットされ、前記状態機械手段はさらに前記クリア動作が開始されるとき前記ビーム・カウント・レジスタの値が前記保護レジスタの値より小さいとき、前記ライン・カウント・レジスタを前記ビーム・カウント・レジスタと比較することなく、前記フレーム・バッファのラインを連続的にクリアする手段を有する上記（６）に記載のＣＲＴメモリ・バッファの同期クリア回路である。
【００５９】
（１１）  ＣＲＴに接続されたフレーム・バッファ内のデータの領域を、前記ＣＲＴを走査する電子ビームに同期してクリアする方法であって、前記ＣＲＴは前記フレーム・バッファからのデータを前記電子ビームに同期して表示する方法であって、
（ａ）．前記電子ビームが前記ＣＲＴ上のラインを走査するたびにビーム・カウント値をインクリメントするステップであって、前記カウント値は前記電子ビームが前記ＣＲＴ上で垂直帰線を開始するたびに０にセットされるステップ、
（ｂ）．前記領域内の最初のデータ・ラインのアドレスを表わす値を受け取るステップ、
（ｃ）．前記領域内のデータ・ラインの数を表わす長さの値を受け取るステップ、
（ｄ）．前記垂直帰線動作の始めと前記領域内の最初のデータ・ラインの走査の間の前記電子ビームによって走査される走査線の数を表わすライン・カウント値を受け取るステップ、
（ｅ）．前記ライン・カウント値を前記ビーム・カウント値と比較し、前記ライン・カウント値が前記ビーム・カウント値より小さくない場合ステップ（ｅ）を繰り返すステップ、
（ｆ）．前記開始値によって表わされるアドレスにある前記フレーム・バッファの領域内のデータ・ラインをクリアするステップ、
（ｇ）．前記開始値をインクリメントするステップ、
（ｈ）．前記ライン・カウント値をインクリメントするステップ、
（ｉ）．前記長さの値をデクリメントするステップ、
（ｊ）．前記長さの値が０になるまでステップ（ｅ）からステップ（ｉ）までを繰り返すステップからなるＣＲＴメモリ・バッファの同期クリア回路に適用するフレーム・バッファ内のデータ領域クリア方法である。
【００６０】
（１２）  ステップ（ｊ）がさらに、（ｊ１）．垂直帰線が実行された後、前記長さの値が０になるまでステップ（ｆ）からステップ（ｉ）までを繰り返すステップを含む上記（１１）に記載のフレーム・バッフアァ内のデータ領域クリア方法である。
【００６１】
（１３）  ステップ（ａ）の後ステップ（ｂ）の前に、（ａ１）．前記電子ビームが前記ＣＲＴ上で垂直帰線動作を実行するたびにフラグ値を０にセットするステップが実行され、
ステップ（ｄ）の後ステップ（ｅ）の前に、（ｄ１）．前記フラグ値が０でない間にステップ（ｄ１）を繰り返し、前記フラグ値が０であるとき前記フラグ値を１にセットしてステップ（ｅ）に進むステップが実行される上記（１１）に記載のフレーム・バッファ内のデータ領域クリア方法である。
【００６２】
（１４）  次のステップ（ｄ２）ないし（ｄ４）がステップ（ｄ１）に代わって、
（ｄ２）．フラグ使用可能値を受け取るステップ、
（ｄ３）．前記フラグ使用可能値が０である場合にステップ（ｅ）に進むステップ、
（ｄ４）．前記フラグ使用可能値が０でなく前記フラグ値が０でない場合、ステップ（ｄ４）を繰り返し、前記フラグ使用可能値が０でなく前記フラグ値が０である場合、前記フラグ値を１にセットし、ステップ（ｅ）に進むステップが実行される上記（１３）に記載のフレーム・バッファ内のデータ領域クリア方法である。
【００６３】
（１５）  ステップ（ｄ）がさらに、（d1）保護値を受け取り、前記保護値を前記ビーム・カウント値と比較し、前記ビーム・カウント値が前記保護値より小さい場合、保護フラグをセットしてステップ（ｆ）に進み、前記ビーム・カウント値が前記保護値より小さくない場合、前記保護フラグをリセットしてステップ（ｅ）に進むステップを含み、
ステップ（ｊ）に代わって、（ｊ１）．前記保護フラグがセットされている場合、前記長さの値が０になるまでステップ（ｆ）からステップ（ｉ）までを繰り返し、前記保護フラグがリセットされている場合、前記長さの値が０になるまでステップ（ｅ）からステップ（ｉ）までを繰り返すステップが実行される上記（１１）に記載のフレーム・バッファ内のデータ領域クリア方法である。
【００６４】
【発明の効果】
以上のように、本発明によれば、ＣＲＴの表示領域のクリア動作開始時にメモリ・バッファのデータ領域の最初のデータ・ラインのアドレス値を開始Ｙレジスタに格納し、このデータ・ライン数を長さＹレジスタに格納し、電子ビームの走査ごとにデータ・ラインのアドレス値をカウントＹレジスタでインクリメントし、状態機械により、開始Ｙレジスタの値がカウントＹレジスタの値より小との判断時には、メモリ・バッファのデータ・ラインをクリアし、開始Ｙレジスタ内のアドレスをインクリメントし、長さＹレジスタのデータ・ライン数をデクリメントし、長さＹレジスタの値が０のときクリア動作を終了するようにしたので、ＣＲＴの走査電子ビームに同期してＣＲＴの表示領域をクリアでき、したがってフレーム・バッフアをクリアする前にＣＲＴ表示装置の垂直帰線動作の発生を待つ時間を短縮することができる。
また、ＣＲＴの表示領域のクリア時に電子ビームとクリア動作の干渉が回避でき、フラッシングやティアリングを防止することができる。
【図面の簡単な説明】
【図１】本発明を用いたコンピュータ装置のブロック図である。
【図２】図形表示装置の画面を示し、本発明によるメモリ・バッファの同期されたクリア動作の態様を示す正面図である。
【図３】図１の図形表示装置のＣＲＴ駆動装置のブロック図である。
【図４】同期クリアに用いられる図形表示装置内の走査変換器のブロック図である。
【図５】図４の状態機械の状態図である。
【符号の説明】
１００      コンピュータ装置
１０２      処理要素
１０６      キーボード
１０８      図形表示装置
１１０      マウス
１１２      ディスク
１１６      メモリ
１１８      オペレーティング装置
１２０      図形ドライバ・ソフトウエア
１２２      アプリケーション・プログラム
２０２      図形画面
２０４      領域
２０５      領域２０４の左上コーナの位置
２０６      領域Ｗ
２０７      領域２０４の下のライン
２０８      領域Ａ
２１０      領域Ｂ
２１２      領域Ｃ
２１４      不確定性バッファ
２１６      ライン
３０２      走査変換器
３０４      ＦＩＦＯバッファ
３０５      メモリ・コントローラ
３０６      ２ポートＲＡＭフレーム・バッファ
３０８      ビデオ・インターフェース
３１０      タイミング発生器
３１６      図形モニタ
４０２      ライン・カウンタ
４０４      開始Ｙレジスタ
４０６      長さレジスタ
４０８      カウンタＹレジスタ
４１０      保護レジスタ
４１２      状態機械
４１４      フラグ・レジスタ
４２２      バス
４２４      フラグ・イネーブル・レジスタ
【図１】
0003649463.tif 000002
【図２】
0003649463.tif 000003
【図３】
0003649463.tif 000004
【図４】
0003649463.tif 000005
【図５】
0003649463.tif 000006