(57)【特許請求の範囲】
【請求項１】
図形を描画領域に描画すべきか否かの判定を行う図形選別ユニットを有する図形描画装置において、
前記図形選別ユニットは、前記描画領域の境界の座標値を記録する描画領域レジスタと、
判定対象である図形の端点の座標値を記録する図形端点座標レジスタと、
互いに異なる組み合わせで前記描画領域の境界の座標値と前記図形端点の座標値の大きさの比較を行う第一及び第二の比較器と、
前記第一及び第二の比較器による比較結果を所定のデータ形式で記録する比較結果レジスタと、
前記比較結果レジスタに記録されたデータに基づき当該図形を描画すべきか否かの判定結果を出力するデコーダと、
第一、第二、第三のセレクタを有し、前記第一のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から１つの座標値を選択して前記第一の比較器に与え、前記第三のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から前記第一のセレクタが選択する座標値とは異なる１つの座標値を選択して前記第二の比較器に与え、前記第二のセレクタは、前記図形端点座標レジスタが記録する図形端点の座標値から１つの座標値を選択して前記第一及び第二の比較器に与えることを特徴とする図形描画装置。
【請求項２】
請求項１記載の図形描画装置において、
前記図形端点座標レジスタに記録された座標値が変更された場合、変更された座標値に関する比較処理のみが行われ、該比較処理の結果に応じて前記比較結果レジスタにおける記録の変更が行われることを特徴とする図形描画装置。
【請求項３】
請求項１又は２記載の図形描画装置において、
前記デコーダは、描画すべきか否かの判定対象である図形が前記描画領域外にあると判断できる時点で描画不必要の判定結果を出力することを特徴とする図形描画装置。
【請求項４】
請求項１乃至３の何れか１項記載の図形描画装置において、
前記描画領域レジスタは、所定の値を出力する一定値出力部を含むことを特徴とする図形描画装置。
【請求項５】
請求項１乃至４の何れか１項記載の図形描画装置において、
描画領域レジスタ及び図形端点座標レジスタの少なくとも一方に、所定の座標値が与えられた場合、該座標値に対応する前記比較結果レジスタ内のデータが決定されることを特徴とする図形描画装置。
【請求項６】
請求項１乃至５の何れか１項記載の図形描画装置において、
前記図形選別ユニットの動作制御及び前記デコーダが出力する判定結果に基づいた図形処理を行う制御部を有し、前記描画領域レジスタ及び前記図形端点座標レジスタの全て又は一部は、前記制御部内に設けられていることを特徴とする図形描画装置。
【請求項７】
請求項６記載の図形描画装置において、
前記描画領域の境界の座標値及び前記図形端点の座標値を記録するメモリを有し、選択された座標値が前記メモリから前記制御部を介して前記図形選別ユニットに与えられることを特徴とする図形描画装置。
【請求項８】
請求項６記載の図形描画装置において、
前記制御部は、前記デコーダによる判定結果が入力される条件分岐制御部を有することを特徴とする図形描画装置。
【請求項９】
請求項６記載の図形描画装置において、
前記制御部は、外部からの割り込み信号が入力される割り込み制御部を有することを特徴とする図形描画装置。
【請求項１０】
図形を描画領域に描画すべきか否かの判定を行う図形選別ユニットであって、
前記描画領域の境界の座標値を記録する描画領域レジスタと、
判定対象である図形の端点の座標値を記録する図形端点座標レジスタと、
互いに異なる組み合わせで前記描画領域の境界の座標値と前記図形端点の座標値の大きさの比較を行う第一及び第二の比較器と、
前記第一及び第二の比較器による比較結果を所定のデータ形式で記録する比較結果レジスタと、
前記比較結果レジスタに記録されたデータに基づき当該図形を描画すべきか否かの判定結果を出力するデコーダと、
第一、第二、第三のセレクタを有し、前記第一のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から１つの座標値を選択して前記第一の比較器に与え、前記第三のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から前記第一のセレクタが選択する座標値とは異なる１つの座標値を選択して前記第二の比較器に与え、前記第二のセレクタは、前記図形端点座標レジスタが記録する図形端点の座標値から１つの座標値を選択して前記第一及び第二の比較器に与えることを特徴とする図形選別ユニット。
【請求項１１】
図形を描画領域に描画すべきか否かの判定を行う図形選別ユニットを有する図形描画装置において、
前記図形選別ユニットは、前記描画領域の境界の座標値及び描画すべきか否かの判定対象である図形の端点の座標値に基づいたデータを出力するコプロセッサと、
前記コプロセッサの出力データに基づいて当該図形を描画すべきか否かの判定結果を出力するメインプロセッサとを有し、
前記コプロセッサは、前記描画領域の境界の座標値を記録する描画領域レジスタと、前記図形端点の座標値を記録する図形端点座標レジスタと、前記描画領域の境界の座標値と前記図形端点の座標値の大きさの比較を行う比較器を有し、
前記メインプロセッサは、前記比較器の比較結果を所定のデータ形式で記録する比較結果レジスタと、前記比較結果レジスタに記録されたデータに基づいて当該図形を描画すべきか否かの判定結果を出力するデコーダを有し、
前記描画領域レジスタ及び前記図形端点座標レジスタの少なくとも一方に、所定の座標値が与えられた場合、該座標値に対応する前記比較結果レジスタ内のデータが決定されることを特徴とする図形描画装置。
【請求項１２】
請求項１１記載の図形描画装置において、前記図形選別ユニットの動作制御及び前記デコーダが出力する判定結果に基づいた図形処理を行う制御部を有し、前記描画領域レジスタ及び前記図形端点座標レジスタの全て又は一部は、前記制御部内に設けられていることを特徴とする図形描画装置。
【請求項１３】
請求項１１又は１２記載の図形描画装置において、前記メインプロセッサは、前記デコーダによる判定結果が入力される条件分岐制御部を有することを特徴とする図形描画装置。
【請求項１４】
請求項１１又は１２記載の図形描画装置において、前記メインプロセッサは、外部からの割り込み信号が入力される割り込み制御部を有することを特徴とする図形描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形選別ユニット及び図形描画装置に係り、より詳細には、ＣＲＴ（Cathode ray tube）やＬＣＤ(Liquid Crystal Display)等の表示画面上にコンピュータグラフィック等で図形を描画する際、描画するべき図形と描画する必要のない図形を選別する図形選別ユニット及び図形描画装置に関する。
【０００２】
例えば、コンピュータグラフィック処理で作成した図形をディスプレイ上に描画する場合、ディスプレイの仮想視野空間から外れるような図形は必ずしも描画する必要がなく、描画のための図形データ処理も不要である。そこで、ディスプレイ上に描画すべき図形を選別し、選別された図形のデータ処理のみを行うことで、図形描画に要する時間を短縮化することができる。
【０００３】
近年、コンピュータグラフィックを使用した図形描画が盛んになっており、描画の必要な図形又は図形部分のみを高速で選別し、描画することでより速い図形描画を実現する図形描画装置が望まれている。
【０００４】
【従来の技術】
従来、描画する図形と描画しない図形の選別は、図形描画装置が有する制御部であるマイクロプロセッサやＤＳＰ(Digital Signal Processor)等の汎用プロセッサ装置の処理手順を記述したプログラムに従って行われていた。
上記処理手順では、先ず、図形の外形を形作る図形端点の座標に基づいて、図形を描画する領域と描画しない領域に区分けされた平面上や空間内で各端点がどの領域にあるかが認識される。そして、図形の各端点の属する領域の位置関係から当該図形を描画するか否かが判断されていた。そして、当該図形が描画される場合、描画領域内の図形部分のみが描画されていた。
【０００５】
図２６は、図形が描画される領域（描画領域１０１）と描画されない領域（描画領域外１０２、１０３、・・・、１０９）に平面１００が区分けされた例を示す図である。
図２６に示すように、平面１００は４本の直線Ｘ１、Ｘ２、Ｙ１、Ｙ２により９つの領域に分割されている。そして、９つの領域には、それぞれ異なる領域コード（００００）〜（１０１０）が対応付けられている。図形が描画される描画領域１０１は、４本の直線Ｘ１、Ｘ２、Ｙ１、Ｙ２に囲まれた部分である。領域コードは、４桁の２進数で各領域を表す。また、平面１００上の点に領域コードが付与された場合、領域コードを付与された平面１００上の点は、当該領域コードが示す領域内に存在する点であることを意味する。
【０００６】
ここで、平面１００上の位置を座標（Ｘ，Ｙ）で表わすと、直線Ｘ１、Ｘ２は、それぞれ描画領域１０１のＸ座標の最小値Ｘｍｉｎと最大値Ｘｍａｘを示す直線である。また、直線Ｙ１、Ｙ２は、それぞれ描画領域１０１のＹ座標の最小値Ｙｍｉｎと最大値Ｙｍａｘを示す直線である。
図２６に示す９つの領域コードは、以下の基準で各領域に対応付けられる。
【０００７】
各領域コードの最下位ビットＬＳＢ(Least Significant Bit) は、平面１００上の位置座標（Ｘ、Ｙ）において、Ｘ＞Ｘｍａｘの場合に１、Ｘ≦Ｘｍａｘの場合に０とされ、各領域コードの右から２桁目のビットは、Ｘ≧Ｘｍｉｎの場合に０、Ｘ＜Ｘｍｉｎの場合に１とされる。また、各領域コードの右から３桁目のビットは、Ｙ＞Ｙｍａｘの場合に１、Ｙ≦Ｙｍａｘの場合に０とされ、各領域コードの最上位ビットＭＳＢ(Most Significant Bit)は、Ｙ≧Ｙｍｉｎの場合に０、Ｙ＜Ｙｍｉｎの場合に１とされる。
【０００８】
図形を描画するか否かの選別の際には、先ず選別対象となる図形の外形を形作る図形端点の領域コードが上記基準に従って決定される。
図形の各端点（Ｘ、Ｙ）の領域コードを決定する処理は、例えば、図２７に示すようなプログラムに従って行われる。図２７において、文字列「Ｃｏｄｅ」は、領域コードのことである。
【０００９】
図２７に示すプログラムの１行目は、領域コードを一端、（００００）にリセットすることを意味し、２行目は、ＸｍａｘとＸの値の大小を比較することを意味する。また、プログラムの３行目は、Ｘｍａｘ≧Ｘならば、５行目のｌａｂｅｌ１（ラベル１）で表わされる処理に移ることを意味し、４行目は、領域コードのＬＳＢに１をセットすることを意味する。
【００１０】
上記のような処理がＸｍｉｎとＸ、ＹｍａｘとＹ及びＹｍｉｎとＹについても繰り返されて各端点の領域コードが決定される。図形の端点の領域コードが決定されると、次に、領域コードに基づいたプログラム処理が実行され、当該図形を描画するか否かが判断される。
ここで、図形が線分ＡＢであり、線分ＡＢの端点Ａ（座標（Ｘ０、Ｙ０））、Ｂ（座標（Ｘ１、Ｙ１））の領域コードをそれぞれＣ０、Ｃ１とする。このような線分ＡＢを描画するか否かの判断処理は、例えば、図２８に示すようなプログラムに基づき行われる。
【００１１】
図２８に示すプログラムの１行目は、領域コードＣ０と領域コードＣ１の論理和を計算することを意味し、２行目は、上記論理和がゼロ（Ｃ０＝Ｃ１＝０）ならば、線分ＡＢを描画する処理に移ることを意味する。また、図２８に示すプログラムの３行目は、領域コードＣ０と領域コードＣ１の論理積を計算することを意味し、４行目は、上記論理積がゼロでなければ線分ＡＢを描画しないことを意味する。また、プログラムの５行目は、上記論理積がゼロの場合、次に、クリップ処理に移ることを意味する。
【００１２】
ここで、クリップ処理とは、より詳細に描画領域１０１と図形との位置関係を把握して、図形が描画領域１０１と描画領域外１０２、１０３、・・・、１０９にわたって存在する場合に、当該図形の描画領域１０１内に存在する部分だけを切り取って、描画領域１０１内に描画する処理のことである。
例えば、線分ＡＢの端点Ａ、Ｂが共に図２６に示す描画領域１０１内にある場合は、端点Ａ、Ｂの領域コードＣ０、Ｃ１は、共に（００００）である。この場合、２つの領域コードの論理和は、ゼロである。従って、線分ＡＢは描画される。また、端点Ａ、Ｂがそれぞれ描画領域外１０２、１０４にある場合は、それぞれの領域コードＣ０、Ｃ１が（０１１０）、（０１０１）であり、この２つの領域コードの論理積は、ゼロである。従って、線分ＡＢは描画されない。また、端点Ａが描画領域１０１内、端点Ｂが描画領域外１０８にあり、端点Ｂの領域コードが（１０００）である場合、２点の領域コードの論理積はゼロである。従って、線分ＡＢに対してクリップ処理が行われる。そして、クリップ処理によってにおいて描画領域１０１内にある部分のみが選別され、当該部が描画される。
【００１３】
上記のようなプログラム処理により、描画領域１０１内にあって描画される図形と、描画領域外にあって描画されない図形と、クリップ処理が必要な図形が選別されていた。
【００１４】
【発明が解決しようとする課題】
しかし、上記のようなプログラム処理によって描画する図形の選別を行う場合、図形の各端点の位置と、描画領域１０１を形成する複数の境界線との位置関係をそれぞれ比較し、図形の各端点に対して１つずつ領域コードを決めていく必要がある。このため、選別処理に多くのプログラム数を必要としていた。プログラム数が多いと、プログラムの処理時間が長くなるため、図形描画装置の処理速度の更なる向上に不利であった。
【００１５】
そこで、本発明は、図形描画装置が有する制御部によるプログラム処理ではなく、図形描画装置内に設けられた図形選別ユニットの処理によって、より短時間で描画すべき図形の選別を行い得る図形選別ユニット及び図形描画装置を提供することを課題とする。
また、本発明は、図形選別ユニットとマイクロプロセッサやＤＳＰ等の汎用プロセッサ装置とを組み合わせて構成することにより、より短時間で描画すべき図形の選別を行い得る図形描画装置を提供することを課題とする。
【００１６】
【課題を解決するための手段】
上記課題を解決するために本発明では、次に述べる各手段を講じたことを特徴とする。
請求項１記載の発明では、図形を描画領域に描画すべきか否かの判定を行う図形選別ユニットを有する図形描画装置において、前記図形選別ユニットは、前記描画領域の境界の座標値を記録する描画領域レジスタと、判定対象である図形の端点の座標値を記録する図形端点座標レジスタと、互いに異なる組み合わせで前記描画領域の境界の座標値と前記図形端点の座標値の大きさの比較を行う第一及び第二の比較器と、前記第一及び第二の比較器による比較結果を所定のデータ形式で記録する比較結果レジスタと、前記比較結果レジスタに記録されたデータに基づき当該図形を描画すべきか否かの判定結果を出力するデコーダと、第一、第二、第三のセレクタを有し、前記第一のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から１つの座標値を選択して前記第一の比較器に与え、前記第三のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から前記第一のセレクタが選択する座標値とは異なる１つの座標値を選択して前記第二の比較器に与え、前記第二のセレクタは、前記図形端点座標レジスタが記録する図形端点の座標値から１つの座標値を選択して前記第一及び第二の比較器に与えることを特徴とするものである。
【００１８】
請求項１記載の発明では、描画領域の境界の座標値と図形の端点の座標値に基づいて図形選別ユニットが図形を描画すべきか否かの判定を行うので、従来例のように多数のプログラム処理を行う必要がなく、描画すべき図形の選別がより短時間で行われる。
【００２２】
請求項２記載の発明では、請求項１記載の図形描画装置において、前記図形端点座標レジスタに記録された座標値が変更された場合、変更された座標値に関する比較処理のみが行われ、該比較処理の結果に応じて前記比較結果レジスタにおける記録の変更が行われることを特徴とするものである。
請求項２記載の発明によれば、変更された座標値に関する比較処理のみが行われて、図形を描画すべきか否かの判定結果が出力されるので不要な比較処理が省略されることになり、描画すべき図形の選別がより短時間で行われる。
【００２３】
請求項３記載の発明では、請求項１又は２記載の図形描画装置において、前記デコーダは、描画すべきか否かの判定対象である図形が前記描画領域外にあると判断できる時点で描画不必要の判定結果を出力することを特徴とするものである。
請求項３記載の発明によれば、全ての比較処理が終了していない場合であっても、判定対象である図形が描画領域外にあると判断できる時点で描画不必要の判定結果が出力されるので、不要な比較処理が省略されて描画すべき図形の選別がより短時間で行われる。
【００２４】
請求項４記載の発明では、請求項１乃至３の何れか１項記載の図形描画装置において、前記描画領域レジスタは、所定の値を出力する一定値出力部を含むことを特徴とするものである。
一般に、多様な値を出力できるレジスタよりも常に所定の値を出力する一定値出力部の方が簡単に形成でき、故障率も低い。そこで、描画領域において位置が不変の境界がある場合、本発明のように位置不変の境界の座標値を一定出力部が出力する構成にすることで描画領域レジスタの構造が簡単になり、図形描画装置の動作信頼性も向上する。
【００２５】
請求項５記載の発明では、請求項１乃至４の何れか１項記載の図形描画装置において、描画領域レジスタ及び図形端点座標レジスタの少なくとも一方に、所定の座標値が与えられた場合、該座標値に対応する前記比較結果レジスタ内のデータが決定されることを特徴とするものである。
請求項５記載の発明によれば、描画領域レジスタ及び図形端点座標レジスタの少なくとも一方に、所定の座標値が与えられた場合に該座標値に対応する比較処理が省略される。従って、描画すべき図形の選別がより短時間で行われる。
【００２６】
請求項６記載の発明では、請求項１乃至５の何れか１項記載の図形描画装置において、前記図形選別ユニットの動作制御及び前記デコーダが出力する判定結果に基づいた図形処理を行う制御部を有し、前記描画領域レジスタ及び前記図形端点座標レジスタの全て又は一部は、前記制御部内に設けられていることを特徴とするものである。
【００２７】
請求項６記載の発明によれば、制御部に命令を与えて図形選別ユニットの動作制御及請求項び図形処理を行わせることができる。また、描画領域レジスタ及び図形端点座標レジスタの全て又は一部を制御部内に設けることによって、図形描画装置の小型化が実現する。
請求項７記載の発明では、請求項６記載の図形描画装置において、前記描画領域の境界の座標値及び前記図形端点の座標値を記録するメモリを有し、選択された座標値が前記メモリから前記制御部を介して前記図形選別ユニットに与えられることを特徴とするものである。
【００２８】
請求項７記載の発明によれば、制御部に命令を与えてメモリから図形選別ユニットに図形選別に必要な座標値を供給することができる。
請求項８記載の発明では、請求項６記載の図形描画装置において、前記制御部は、前記デコーダによる判定結果が入力される条件分岐制御部を有することを特徴とするものである。
【００２９】
請求項８記載の発明によれば、デコーダによる判定結果に基づき条件分岐制御部が動作することで制御部が行うべき図形処理が決定される。
請求項９記載の発明では、請求項６記載の図形描画装置において、前記制御部は、外部からの割り込み信号が入力される割り込み制御部を有することを特徴とするものである。
【００３０】
請求項９記載の発明によれば、外部から割り込み信号を割り込み制御部に与えて、制御部による図形選別ユニットの動作制御及び図形処理を割り込み制御することができる。
請求項１０記載の発明では、図形を描画領域に描画すべきか否かの判定を行う図形選別ユニットであって、前記描画領域の境界の座標値を記録する描画領域レジスタと、判定対象である図形の端点の座標値を記録する図形端点座標レジスタと、互いに異なる組み合わせで前記描画領域の境界の座標値と前記図形端点の座標値の大きさの比較を行う第一及び第二の比較器と、前記第一及び第二の比較器による比較結果を所定のデータ形式で記録する比較結果レジスタと、前記比較結果レジスタに記録されたデータに基づき当該図形を描画すべきか否かの判定結果を出力するデコーダと、第一、第二、第三のセレクタを有し、前記第一のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から１つの座標値を選択して前記第一の比較器に与え、前記第三のセレクタは、前記描画領域レジスタが記録する描画領域の境界の座標値から前記第一のセレクタが選択する座標値とは異なる１つの座標値を選択して前記第二の比較器に与え、前記第二のセレクタは、前記図形端点座標レジスタが記録する図形端点の座標値から１つの座標値を選択して前記第一及び第二の比較器に与えることを特徴とするものである。
【００３１】
請求項１０記載の発明によれば、短時間で描画すべき図形の選別を行うことのできる図形選別ユニットを提供することができる。
【００３８】
一般に、多様な値を出力できるレジスタよりも常に所定の値を出力する一定値出力部の方が簡単に形成でき、故障率も低い。従って、描画領域において位置が不変の境界がある場合、本発明のように位置不変の境界の座標値を一定出力部が出力する構成にすることで描画領域レジスタの構造が簡単になり、図形描画装置の動作信頼性も向上する。
【００３９】
請求項１１記載の発明は、図形を描画領域に描画すべきか否かの判定を行う図形選別ユニットを有する図形描画装置において、前記図形選別ユニットは、前記描画領域の境界の座標値及び描画すべきか否かの判定対象である図形の端点の座標値に基づいたデータを出力するコプロセッサと、前記コプロセッサの出力データに基づいて当該図形を描画すべきか否かの判定結果を出力するメインプロセッサとを有し、前記コプロセッサは、前記描画領域の境界の座標値を記録する描画領域レジスタと、前記図形端点の座標値を記録する図形端点座標レジスタと、前記描画領域の境界の座標値と前記図形端点の座標値の大きさの比較を行う比較器を有し、前記メインプロセッサは、前記比較器の比較結果を所定のデータ形式で記録する比較結果レジスタと、前記比較結果レジスタに記録されたデータに基づいて当該図形を描画すべきか否かの判定結果を出力するデコーダを有し、前記描画領域レジスタ及び前記図形端点座標レジスタの少なくとも一方に、所定の座標値が与えられた場合、該座標値に対応する前記比較結果レジスタ内のデータが決定されることを特徴とするものである。
請求項１１記載の発明によれば、描画領域レジスタ及び図形端点座標レジスタの少なくとも一方に、所定の座標値が与えられた場合に該座標値に対応する比較処理が省略される。従って、描画すべき図形の選別がより短時間で行われる。
【００４０】
請求項１２記載の発明では、請求項１１記載の図形描画装置において、前記図形選別ユニットの動作制御及び前記デコーダが出力する判定結果に基づいた図形処理を行う制御部を有し、前記描画領域レジスタ及び前記図形端点座標レジスタの全て又は一部は、前記制御部内に設けられていることを特徴とするものである。
【００４１】
請求項１２記載の発明によれば、制御部に命令を与えて図形選別ユニットの動作制御及請求項び図形処理を行わせることができる。また、描画領域レジスタ及び図形端点座標レジスタの全て又は一部を制御部内に設けることによって、図形描画装置の小型化が実現する。
請求項１３記載の発明では、請求項１１又は１２記載の図形描画装置において、前記メインプロセッサは、前記デコーダによる判定結果が入力される条件分岐制御部を有することを特徴とするものである。
【００４２】
請求項１３記載の発明によれば、デコード結果により条件分岐されるため、デコード結果がメインプロセッサの動作に反映される。
請求項１４記載の発明では、請求項１１又は１２の何れか１項記載の図形描画装置において、前記メインプロセッサは、外部からの割り込み信号が入力される割り込み制御部を有することを特徴とするものである。
【００４３】
請求項１４記載の発明によれば、デコード結果によって割り込みを発生させることができるので、デコード結果がメインプロセッサの動作に反映される。
【００４４】
【発明の実施の形態】
本発明の実施の形態について、図１〜図２５を用いて説明する。
本発明の原理は、描画領域の座標データと描画すべきか否かの判定対象となる図形の座標データとに基づき、ハードウェアである図形選別ユニットが当該図形を描画するべきか否かの判定結果を出力するというものである。図形選別ユニットは、レジスタ、比較器、デコーダ等で構成され、図形描画装置内に配置されている。
【００４５】
図１は、本発明の図形選別ユニット８０を有する図形描画装置１を実現するコンピュータシステムのハードウェア構成図である。
図１に示すように、このコンピュータシステムは、それぞれバスＢで相互に接続されている入力ユニット１０、表示ユニット２０、ＣＰＵ(Central Processing Unit) ３０、メモリユニット４０、出力ユニット５０、補助記憶ユニット６０、ドライブユニット７０、図形選別ユニット８０を有している。
【００４６】
入力ユニット１０は、本システムのユーザが操作するキーボードやマウス等を有し、図形描画時に図形に関する情報や図形の描画条件等を入力するために用いられる。表示ユニット２０は、入力ユニット１０から入力された情報や作成された図形等を表示する。ＣＰＵ３０は、図形の作成、描画の際に本システムの各構成部の動作を制御する。メモリユニット４０は、描画する図形の作成や修正が行われる領域を有する。出力ユニット５０は、ユーザの必要に応じて描画された図形をプリントアウトする。
【００４７】
図形描画装置１を利用して図形を描画するためのプログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体によって提供することも可能である。本図形描画装置１に関するプログラムを格納した記録媒体がドライブユニット７０にセットされると、プログラムが記録媒体からドライブユニット７０を介して補助記憶ユニット６０にインストールされ、図形描画装置１が動作可能状態となる。補助記憶ユニット６０は、上記のように図形描画装置１の動作時に実行されるプログラムを格納すると共に、多様な図形に関する情報等も格納する。
【００４８】
図形選別ユニット８０は、図形に対して描画する必要があるか否かの判定を行う。
図形描画の際は、先ず、ユーザのデータ入力あるいは補助記憶ユニット６０からのデータ送信によって、図形が描画される描画領域の範囲を示す座標データと描画するか否かの選別対象になる図形の座標データとが図形選別ユニット８０に入力される。
【００４９】
入力されたデータは図形選別ユニット８０内で処理される。そして、図形選別ユニット８０は、図形を描画すべきか否かの判定結果をＣＰＵ３０に送信する。図形選別ユニット８０が図形を描画する必要があると判断した場合、ＣＰＵ３０は、補助記憶ユニット６０内の図形データ、または、ユーザにより入力された図形データ等に基づき表示ユニット２０に図形を描画させる。一方、図形選別ユニット８０が図形を描画する必要が無いと判断した場合、当該図形は描画されない。
【００５０】
尚、図形選別ユニット８０は、例えば、ＣＰＵ３０内等、他のユニット内に配置された構成としてもよい。
次に、図形選別ユニット８０の構成について説明する。以下の各実施例における図形選別ユニットは、平面上に定められた描画領域に端点座標がＡ（Ｘ０、Ｙ０）、Ｂ（Ｘ１、Ｙ１）である線分ＡＢを描画するべきか否かを判断するものである。上記平面は、図２６を用いて既に説明した平面１００と同一のものであり、描画領域１０１のＸ軸方向の最小値Ｘｍｉｎを示す直線Ｘ１、最大値Ｘｍａｘを示す直線Ｘ２、Ｙ軸方向の最小値Ｙｍｉｎを示す直線Ｙ１、最大値Ｙｍａｘを示す直線Ｙ２により９つの領域に区分けされている。
【００５１】
図２は、本発明の第一実施例である図形選別ユニット８０Ａの全体構成図である。
図２に示すように、図形選別ユニット８０Ａは、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、セレクタ１３０Ａ、１３０Ｂ、比較器１４０、比較結果レジスタ１５０、デコーダ１６０及び制御回路１７０等から構成される。
【００５２】
描画領域レジスタ１１０、１１１、１１２、１１３には、図２１に示す描画領域１０１のＸ軸方向の最小値Ｘｍｉｎ、最大値ＸｍａｘとＹ軸方向の最小値Ｙｍｉｎ、最大値Ｙｍａｘがそれぞれ記録される。
図形端点座標レジスタ１２０、１２１、１２２、１２３には、線分ＡＢの端点Ａ、Ｂの位置座標（Ｘ０、Ｙ０）、（Ｘ１、Ｙ１）を構成する値Ｘ０、Ｙ０、Ｘ１、Ｙ１がそれぞれ記録される。
【００５３】
図３は、描画領域レジスタ１１０の構成例を示す図である。
描画領域レジスタ１１０は、例えば、１６ビットのレジスタであり、データ値Ｘｍａｘを記録するために１６個のＤフリップフロップ（ＤＦＦ）１１０（０）、１１０（１）、・・・、１１０（１５）を有する。各ＤＦＦは、ライトイネーブル信号入力端子Ｗ及びクロック信号入力端子Ｃを有する。ライトイネーブル信号入力端子Ｗには、データの書き込み制御を行うためのライトイネーブル信号ＷＥ７が図２に示す制御回路１７０から供給される。また、クロック信号入力端子Ｃには、回路動作の同期をとるためのクロック信号ＣＫが供給される。更に、各ＤＦＦは、非同期のデータＤ０、Ｄ１、Ｄ２、・・・、Ｄ１５が入力するデータ入力端子Ｄと、クロック信号ＣＫにより同期化されたデータＱ０、Ｑ１、Ｑ２、・・・、Ｑ１５が出力するデータ出力端子Ｑを有する。
【００５４】
上記構成により、描画領域レジスタ１１０は最大１６桁の２進数でデータ値Ｘｍａｘを記録し、同期化されたデータとして出力することができる。
他の描画領域レジスタ１１１、１１２、１１３及び図形端点座標レジスタ１２０、１２１、１２２、１２３の構成は、描画領域レジスタ１１０と同様のものであり、その説明を省略する。
【００５５】
尚、上記レジスタのビット数は１６に限らず、平面１００上の座標の設定方法に応じて他のビット数のレジスタを使用してもよい。
図２に示すセレクタ１３０Ａは、描画領域レジスタ１１０、１１１、１１２、１１３の中から１つを選択し、選択したレジスタに記録されているデータを比較器１４０に送信する。また、セレクタ１３０Ｂは、図形端点座標レジスタ１２０、１２１、１２２、１２３の中から１つを選択し、選択したレジスタに記録されているデータを比較器１４０に送信する。
【００５６】
図２に示す比較器１４０は、セレクタ１３０Ａから送信された描画領域に関するデータ値とセレクタ１３０Ｂから送信された端点Ａ、Ｂの座標に関するデータ値の大きさを比較する。そして、比較器１４０は、比較結果に応じて「０」又は「１」の出力データを比較結果レジス１５０に送信する。比較器１４０からの出力は、Ｘ０（Ｘ１）≦Ｘｍａｘ、Ｘｍｉｎ≦Ｘ０（Ｘ１）、Ｙ０（Ｙ１）≦Ｙｍａｘ、Ｙｍｉｎ≦Ｙ０（Ｙ１）の何れかの場合に「０」、Ｘ０（Ｘ１）＞Ｘｍａｘ、Ｘ０（Ｘ１）＜Ｘｍｉｎ、Ｙ０（Ｙ１）＜Ｙｍｉｎ、Ｙ０（Ｙ１）＞Ｙｍａｘの何れかの場合に「１」となる。
【００５７】
比較器１４０の出力データは、比較結果レジスタ１５０には供給される。この時、比較結果レジスタ１５０に４桁の２進数で表わされる端点Ａ、Ｂの領域コードＣ０、Ｃ１が記録される。図４は、比較結果レジスタ１５０の構成例を示す図である。
図４に示すように、比較結果レジスタ１５０は、８ビットのレジスタであり、線分ＡＢの端点Ａ、Ｂの領域コードＣ０、Ｃ１を記録するために８個のＤＦＦ１５０（０）、１５０（１）、・・・、１５０（７）を有する。各ＤＦＦは、描画領域レジスタ１１０を構成するＤＦＦ１１０（０）、１１０（１）、・・・、１１０（１５）と同様にライトイネーブル信号入力端子Ｗ、クロック信号入力端子Ｃ、データ入力端子Ｄ、データ出力端子Ｑを有する。比較結果レジスタ１５０へのデータの書き込み制御は、各ＤＦＦへの個別のライトイネーブル信号ＷＥ０、ＷＥ１、・・・、ＷＥ７によって行われる。
【００５８】
比較器１４０によるデータ値ＸｍａｘとＸ１、ＸｍｉｎとＸ１、ＹｍａｘとＹ１、ＹｍｉｎとＹ１の大きさの比較結果に基づく出力データは、それぞれＤＦＦ１５０（０）、１５０（１）、１５０（２）、１５０（３）に供給される。また、比較器１４０によるデータ値ＸｍａｘとＸ０、ＸｍｉｎとＸ０、ＹｍａｘとＹ０、ＹｍｉｎとＹ０の大きさの比較結果に基づく出力データは、それぞれＤＦＦ１５０（４）、１５０（５）、１５０（６）、１５０（７）に供給される。
【００５９】
従って、ＤＦＦ１５０（０）、１５０（１）、１５０（２）、１５０（３）のハイレベル又はロウレベルの状態は、それぞれ端点Ｂの領域コードＣ１の最下位（ＬＳＢ）、右から２桁目、右から３桁目、最上位（ＭＳＢ）の値「０」又は「１」を表わし、ＤＦＦ１５０（４）、１５０（５）、１５０（６）、１５０（７）のハイレベル又はロウレベルの状態は、それぞれ端点Ａの領域コードＣ０のＬＳＢ、右から２桁目、右から３桁目、ＭＳＢの値「０」又は「１」を表わす。
【００６０】
図２に示すデコーダ１６０には、比較結果レジスタ１５０から端点Ａ、Ｂの領域コードＣ０、Ｃ１が入力される。そして、デコーダ１６０の処理によって線分ＡＢを描画するか否かの判断結果が出力される。図５は、デコーダ１６０の構成例を示す図である。
図５に示すように、デコーダ１６０は、入力端子ａ０、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７、ＡＮＤ回路１６１、１６２、１６３、１６４、ＯＲ回路１６５、ＮＯＲ回路１６７、１６８及び出力端子ｂ１、ｂ２、ｂ３から構成される。入力端子ａ０、ａ１、ａ２、ａ３には、端点Ｂ（Ｘ１、Ｙ１）の領域コードＣ１のＬＳＢ、右から２桁目、右から３桁目、ＭＳＢのデータがそれぞれ入力し、入力端子ａ４、ａ５、ａ６、ａ７には、端点Ａ（Ｘ０、Ｙ０）の領域コードＣ０のＬＳＢ、右から２桁目、右から３桁目、ＭＳＢのデータがそれぞれ入力する。
【００６１】
デコーダ１６０内でデータ処理が実行され、出力端子ｂ１から「１」が出力された場合は線分ＡＢが描画される。また、出力端子ｂ２から「１」が出力された場合は、線分ＡＢに対してクリップ処理が行われる。更に、出力端子ｂ３から「１」が出力された場合は、線分ＡＢが描画されない。
制御回路１７０は、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、セレクタ１３０Ａ、１３０Ｂ、比較器１４０、比較結果レジスタ１５０、デコーダ１６０に接続され、それぞれの回路の動作制御を行う。
【００６２】
次に、本第一実施例の図形選別ユニット８０Ａの動作説明を行う。
図６は、描画領域１０１と描画領域外１０２、１０３、・・・、１０９に区分けされた平面１００上に線分ＡＢが存在する様子を示す図である。また、図７は、セレクタ１３０Ａ、１３０Ｂ、ライトイネーブル信号ＷＥ０、ＷＥ１、ＷＥ２、ＷＥ３、ＷＥ４、ＷＥ５、ＷＥ６、ＷＥ７及び比較結果レジスタ１５０の動作タイミング図である。以下、図２及び図４〜図７を参照して、端点Ａ、Ｂが図６に示すようにそれぞれ描画領域外１０２、１０４にある線分ＡＢについての図形選別ユニット８０Ａの動作説明を行う。
【００６３】
先ず、図形を描画する描画領域１０１と、描画するか否かの判定対象とする線分ＡＢが決定した時点で描画領域１０１に係る座標データは、描画領域レジスタ１１０、１１１、１１２、１１３に格納され、線分ＡＢに係る座標データは、図形端点座標レジスタ１２０、１２１、１２２、１２３に格納される。
次に図７に示す期間（１）において、セレクタ１３０Ａ、１３０Ｂは、それぞれデータ値Ｘｍａｘ、Ｘ１を描画領域レジスタ１１０及び図形端点座標レジスタ１２２から取得し、比較器１４０に与える。
【００６４】
比較器１４０は、データ値ＸｍａｘとＸ１の大きさを比較する。ここで、端点Ｂが描画領域外１０４にあり、Ｘ１＞Ｘｍａｘなので、データ「１」が比較結果レジスタ１５０に供給される。この時、図７に示すように、比較結果レジスタ１５０を構成するＤＦＦ１５０（０）に入力されるライトイネーブル信号ＷＥ０がハイレベルであるので、比較器１４０からされたデータ「１」は、ＤＦＦ１５０（０）に書き込まれる。
【００６５】
続いて、期間（２）ではセレクタ１３０Ａ、１３０Ｂは、それぞれデータ値Ｘｍｉｎ、Ｘ１を描画領域レジスタ１１１及び図形端点座標レジスタ１２２から取得し、比較器１４０に与える。そして、比較器１４０は、データ値ＸｍｉｎとＸ１の大きさを比較する。ここで、Ｘ１＞Ｘｍｉｎなので、データ「０」が比較結果レジスタ１５０に供給される。この時、図７に示すように、比較結果レジスタ１５０を構成するＤＦＦ（１）に入力されるライトイネーブル信号ＷＥ１がハイレベルであるので、比較器１４０から供給されたデータ「０」は、ＤＦＦ１５０（１）に書き込まれる。
【００６６】
更に、期間（３）から（８）まで比較器１４０によって、上記のような比較処理がＹｍａｘとＹ１、ＹｍｉｎとＹ１、ＸｍａｘとＸ０、ＸｍｉｎとＸ０、ＹｍａｘとＹ０、ＹｍｉｎとＹ０の組み合わせで行われ、比較結果レジスタ１５０のＤＦＦ１５０（７）、１５０（６）、・・・、１５０（０）には、それぞれデータ０、１、１、０、０、１、０、１が入力される。このデータ列の左右４つずつの（０１１０）及び（０１０１）がそれぞれ端点Ａ、Ｂの領域コードになる。
【００６７】
期間（１）から期間（８）の間は、比較結果レジスタ１５０に対してデータの書き込み途中であるので、制御回路１７０の制御によって比較結果レジスタ１５０からデコーダ１６０へのデータ出力は行われない（ｉｎｖａｌｉｄ状態）。
比較結果レジスタ１５０の全てのビットにデータ入力された後の期間（９）では、比較結果レジスタ１５０へのデータの書き込みが完了したことを伝える完了通知信号が制御回路１７０から比較結果レジスタ１５０に送られる。この時点で、比較結果レジスタ１５０は、期間（１）から期間（８）の間に記録した８ビットデータをデコーダ１６０に送信可能な状態（ｖａｌｉｄ状態）になり、８つのデータがデコーダ１６０に送信される。そして、８つのデータはデコーダ１６０の入力端子ａ０、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７にそれぞれ入力される。
【００６８】
図５に示したデコーダ１６０において、入力端子ａ７、ａ６、ａ５、ａ４に端点Ａの領域コード（０１１０）のＭＳＢ、右から２桁目、右から３桁目、ＬＳＢのデータがそれぞれ入力され、入力端子ａ３、ａ２、ａ１、ａ０に端点Ｂの領域コード（０１０１）のＭＳＢ、右から２桁目、右から３桁目、ＬＳＢのデータがそれぞれ入力された場合、出力端子ｂ３からデータ「１」が出力される。従って、線分ＡＢは描画不要と判断される。
【００６９】
上記のように、本発明の図形描画装置１は、図形選別ユニット８０Ａを構成する図形端点座標レジスタ１２０、１２１、１２２、１２３、デコーダ１６０等の装置のデータ処理によって、図形を描画すべきか否かの判別を行う。このため、図形描画装置１では、図２６〜図２８を用いて説明した従来例のような多数のプログラム処理が不要となり、短時間で描画図形が判別される。
【００７０】
図８は、本発明の第二実施例である図形選別ユニット８０Ｂの全体構成図である。
図８に示すように、図形選別ユニット８０Ｂは、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、セレクタ１３１Ａ、１３２Ａ、１３０Ｂ、比較器１４１ａ、１４１ｂ、比較結果レジスタ１５１、デコーダ１６０、制御回路１７１等から構成される。
【００７１】
ここで、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、セレクタ１３０Ｂ、デコーダ１６０の構成は、第一実施例で説明した図形選別ユニット８０Ａのものと同一であり、その説明を省略する。また、制御回路１７１も図形選別ユニットの各構成部に接続され、各構成部の動作制御を行うという点で図形選別ユニット８０Ａが備える制御回路１７０と同様であり、その説明を省略する。
【００７２】
セレクタ１３１Ａは、描画領域レジスタ１１０、１１１の何れか一方を選択し、選択したレジスタに記録されているデータを比較器１４１ａに送信する。またセレクタ１３２Ａは、描画領域レジスタ１１２、１１３の何れか一方を選択し、選択したレジスタに記録されているデータを比較器１４１ｂに送信する。
比較器１４１ａは、セレクタ１３１Ａ及びセレクタ１３０Ｂからデータを受け取り、比較器１４１ｂは、セレクタ１３２Ａ及びセレクタ１３０Ｂからデータを受け取る。そして、比較器１４１ａ、１４１ｂはそれぞれ受け取った２つのデータ値の大きさを比較し、比較結果に応じて「０」又は「１」の出力を比較結果レジスタ１５１に送信する。比較器１４１ａからの出力は、比較結果がＸ０（Ｘ１）≦Ｘｍａｘ又はＹ０（Ｙ１）≦Ｙｍａｘの場合に「０」、Ｘ０（Ｘ１）＞Ｘｍａｘ又はＹ０（Ｙ１）＞Ｙｍａｘの場合に「１」となる。また、比較器１４１ｂからの出力は、比較結果がＸｍｉｎ≦Ｘ０（Ｘ１）又はＹｍｉｎ≦Ｙ０（Ｙ１）の場合に「０」、Ｘ０（Ｘ１）＜Ｘｍｉｎ又はＹ０（Ｙ１）＜Ｙｍｉｎの場合に「１」となる。
【００７３】
図９は、比較結果レジスタ１５１の構成例を示す図である。
比較結果レジスタ１５１は、第一実施例の図形選別ユニット８０Ａが備える比較結果レジスタ１５０と同様に８ビットのレジスタであり、８個のＤＦＦ１５１（０）、１５１（１）、・・・、１５１（７）を有する。これらのＤＦＦもライトイネーブル信号入力端子Ｗ、クロック信号入力端子Ｃ、データ入力端子Ｄ、データ出力端子Ｑを有する。比較結果レジスタ１５１は、２ビット毎に異なるライトイネーブル信号ＷＥ０、ＷＥ１、ＷＥ２、ＷＥ３で書き込み制御される点が比較結果レジスタ１５０と異なる。具体的には、ＤＦＦ１５１（０）、１５１（１）のライトイネーブル信号入力端子Ｗには、ライトイネーブル信号ＷＥ０が入力され、ＤＦＦ１５１（２）、１５１（３）のライトイネーブル信号入力端子Ｗには、ライトイネーブル信号ＷＥ１が入力され、ＤＦＦ１５１（４）、１５１（５）のライトイネーブル信号入力端子Ｗには、ライトイネーブル信号ＷＥ２が入力され、ＤＦＦ１５１（６）、１５１（７）のライトイネーブル信号入力端子Ｗには、ライトイネーブル信号ＷＥ３が入力される。
【００７４】
比較器１４１ａのＸｍａｘとＸ１、ＹｍａｘとＹ１、ＸｍａｘとＸ０、ＹｍａｘとＹ０との比較結果は、それぞれＤＦＦ１５１（０）、１５１（２）、１５１（４）、１５１（６）に入力される。また比較器１４１ｂのＸｍｉｎとＸ1 、ＹｍｉｎとＹ1 、ＸｍｉｎとＸ０、ＹｍｉｎとＹ０との比較結果は、それぞれＤＦＦ１５１（１）、１５１（３）、１５１（５）、１５１（７）に入力される。
【００７５】
続いて、本第二実施例の図形選別ユニット８０Ｂの動作説明を行う。
図１０は、セレクタ１３１Ａ、１３２Ａ、１３０Ｂ、ライトイネーブル信号ＷＥ０、ＷＥ１、ＷＥ２、ＷＥ３及び比較結果レジスタ１５１の動作タイミング図である。以下、図８〜図１０を参照して、図６に示す線分ＡＢについての図形選別ユニット８０Ｂの動作説明を行う。
【００７６】
先ず、図１０の期間（１）において、セレクタ１３１Ａは、データ値Ｘｍａｘを描画領域レジスタ１１０から取得し、比較器１４１ａに与える。また、セレクタ１３２Ａは、データ値Ｘｍｉｎを描画領域レジスタ１１２から取得し、比較器１４１ｂに与える。この時、セレクタ１３０Ｂは、データ値Ｘ１を図形端点座標レジスタ１２２から取得し、比較１４１ａ、１４１ｂに与える。そして、比較器１４１ａ、１４１ｂは、それぞれデータ値ＸｍａｘとＸ１、ＸｍｉｎとＸ１の大きさを比較する。ここで、図６に示すように、端点Ｂは描画領域外１０４にあり、Ｘ１＞Ｘｍａｘなので、比較の結果として比較器１４１ａ、１４１ｂからはそれぞれ「１」、「０」が比較結果レジスタ１５１に供給される。
【００７７】
この時、図１０に示すように、比較結果レジスタ１５１のＤＦＦ１５１（０）、１５１（１）に入力されるライトイネーブル信号ＷＥ０がハイレベルであるので、データ「１」はＤＦＦ１５１（０）に書き込まれ、データ「０」はＤＦＦ１５１（１）に書き込まれる。
続いて、期間（２）ではセレクタ１３１Ａは、データ値Ｙｍａｘを描画領域レジスタ１１１から取得し、比較器１４１ａに与える。また、セレクタ１３２Ａは、データ値Ｙｍｉｎを描画領域レジスタ１１３から取得し、比較器１４２ｂに与える。この時、セレクタ１３０Ｂは、データ値Ｙ１を図形端点座標レジスタ１２３から取得し、比較１４１ａ、１４１ｂに与える。そして、比較器１４１ａ、１４１ｂは、それぞれデータ値ＹｍａｘとＹ１、ＹｍｉｎとＹ１の大きさを比較する。ここで、図６に示すように、端点Ｂが描画領域外１０４にあり、Ｙ１＞Ｙｍａｘなので、比較の結果として比較器１４１ａ、１４１ｂからはそれぞれ「１」、「０」が比較結果レジスタ１５１に供給される。
【００７８】
この時、図１０に示すように、比較結果レジスタ１５１のＤＦＦ１５１（２）、１５１（３）に入力されるライトイネーブル信号ＷＥ１がハイレベルであるので、データ「１」はＤＦＦ１５１（２）に書き込まれ、データ「０」はＤＦＦ１５１（３）に書き込まれる。
更に、期間（３）から（４）まで上記のような比較がＸｍａｘとＸ０、ＸｍｉｎとＸ０、ＹｍａｘとＹ０、ＹｍｉｎとＹ０の組み合わせで行われ、比較結果レジスタ１５１のＤＦＦ１５１（７）、１５１（６）、・・・、１５１（０）には、それぞれデータ０、１、１、０、０、１、０、１が入力される。このデータ列の左右４つずつの（０１１０）及び（０１０１）がそれぞれ端点Ａ、Ｂの領域コードになる。
【００７９】
期間（１）から（４）までは、比較結果レジスタ１５１に対してデータの書き込み途中であるので、制御回路１７１の制御によって比較結果レジスタ１５１からデコーダ１６０へのデータ出力は行われない（ｉｎｖａｌｉｄ状態）。
比較結果レジスタ１５１の全てのビットにデータ入力された後の期間（５）では、比較結果レジスタ１５１へのデータの書き込みが完了したことを伝える完了通知信号が制御回路１７１から比較結果レジスタ１５１に送られる。この時、比較結果レジスタ１５１は、期間（１）から期間（４）の間に記録した８ビットデータをデコーダ１６０に送信可能な状態（ｖａｌｉｄ状態）になり、８つのデータはデコーダ１６０に送信される。そして、８つのデータはデコーダ１６０の入力端子ａ０、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７にそれぞれ入力される。
【００８０】
図５に示したデコーダ１６０の回路構成において、入力端子ａ７、ａ６、ａ５、ａ４に端点Ａの領域コード（０１１０）のＭＳＢ、右から２桁目、右から３桁目、ＬＳＢのデータがそれぞれ入力され、入力端子ａ３、ａ２、ａ１、ａ０に端点Ｂの領域コード（０１０１）のＭＳＢ、右から２桁目、右から３桁目、ＬＳＢのデータがそれぞれ入力された場合、出力端子ｂ３からデータ「１」が出力される。従って、線分ＡＢは描画不要と判別される。
【００８１】
上記のように、図形選別ユニット８０Ｂは、図形選別ユニット８０Ａに比してセレクタと比較器が１つずつ多い構成となっている。このような構成により、図形選別ユニット８０Ｂは、１サイクルで２つのデータ比較を行うことができるので、より短時間で描画図形の判別を行うことができる。
ここで、上記図形選別ユニット８０Ａ、８０Ｂにおいて、線分ＡＢの描画可否の判定後、例えば端点Ｄ（Ｘ２、Ｙ２）を有する線分ＤＢの描画可否判定を行う場合、図形端点レジスタ１２０、１２１のデータのみがＸ２、Ｙ２に書き換わる構成とする。
【００８２】
この時の回路処理としては、Ｘ２とＸｍａｘ、Ｘ２とＸｍｉｎ、Ｙ２とＹｍａｘ、Ｙ２とＹｍｉｎの大きさの比較が行われ、比較結果に応じて端点Ｄの領域コードが決定される。一方、端点Ｂの領域コードを決定するための回路処理は行われず、端点Ｂの領域コードは以前のまま用いられる。従って、上記構成では図形選別ユニット８０Ａ、８０Ｂは、線分ＡＢの端点の１つを同じくする線分ＤＢの描画可否判定を、線分ＡＢに対する判定時よりも短時間で行うことができる。
【００８３】
ところで、例えば、端点Ａ、Ｂがそれぞれ図６に示す描画領域外１０７、１０９にある場合、両端点の領域コードのＭＳＢは共に「１」である。また、端点Ａ、Ｂがそれぞれ図６に示す描画領域外１０６、１０９にある場合、両端点の領域コードのＬＳＢは共に「１」である。このように線分ＡＢの端点Ａ、Ｂの領域コードの同じ位の値が共に「１」の場合、直ちに線分ＡＢは描画領域１０１外にあると判断できる。
【００８４】
そこで、端点Ａ、Ｂの領域コードの同じ位の値が共に「１」の場合、図形選別ユニット８０Ａ、８０Ｂが備える制御回路１７０、１７１は、残りの座標データの比較処理等を中止させ、デコーダ１６０に描画不必要の判定を出力させる。このように、全ての組の座標値の大小比較を完了する前に図形が描画領域１０１外にあると判断できる場合、残りの比較を行わずに直ちに図形描画不要と判別することで描画図形の判別時間がより短縮化される。
【００８５】
図１１は、本発明の第三実施例である図形選別ユニット８０Ｃの全体構成図である。
図１１に示すように、図形選別ユニット８０Ｃは、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、比較器１４２、１４３、１４４、１４５、１４６、１４７、１４８、１４９、比較結果レジスタ１５２、デコーダ１６０及び図示しない制御回路等から構成される。
【００８６】
ここで、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、デコーダ１６０及び制御回路の構成は、第一実施例で説明した図形選別ユニット８０Ａと同一であり、その説明を省略する。
図１１に示すように、比較器１４２、１４３、・・・、１４９にはそれぞれデータ値ＸｍａｘとＸ０、ＸｍｉｎとＸ１、ＸｍｉｎとＸ０、ＸｍａｘとＸ１、ＹｍａｘとＹ０、ＹｍｉｎとＹ１、ＹｍｉｎとＹ０、ＹｍａｘとＹ１が入力される。比較器１４２、１４３、・・・、１４９の機能は、第一実施例で説明した比較器１４０と同様であり、入力されたデータ値の大きさの比較を行い、比較結果に応じて出力「０」又は「１」を比較結果レジスタ１５２に送信する。
【００８７】
図１２は、比較結果レジスタ１５２の構成例を示す図である。
比較結果レジスタ１５２は、第一実施例の図形選別ユニット８０Ａが有する比較結果レジスタ１５０と同様に８ビットのレジスタであり、８個のＤＦＦ１５２（０）、１５２（１）、・・・、１５２（７）を有する。これらのＤＦＦもライトイネーブル信号入力端子Ｗ、クロック信号入力端子Ｃ、データ入力端子Ｄ、データ出力端子Ｑを有する。比較結果レジスタ１５２の各ＤＦＦは、同一のライトイネーブル信号ＷＥで書き込み制御される点が比較結果レジスタ１５０と異なる。
【００８８】
比較器１４２、１４３、・・・、１４９における各比較結果は、それぞれＤＦＦ１５２（４）、１５２（１）、１５２（５）、１５２（０）、１５２（６）、１５２（３）、１５２（７）、１５２（２）に入力される。
上記のような構成の図形選別ユニット８０Ｃでは、１サイクルで各比較器から「０」又は「１」のデータが同時に比較結果レジスタ１５２に入力され、端点Ａ、Ｂの領域コードが決定する。そして、各ＤＦＦのデータはデコーダ１６０に入力され、デコーダ１６０の処理により線分ＡＢを描画するか否かの判定結果が出力される。従って、図形選別ユニット８０Ｃは、描画図形の判別処理をより短時間で行うことができる。
【００８９】
図１３は、本発明の第四実施例である図形選別ユニット８０Ｄの全体構成図である。
図１３に示すように、図形選別ユニット８０Ｄは、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、比較器１４２、１４３、１４４、１４５、１４６、１４７、１４８、１４９、デコーダ１６０及び図示しない制御回路等から構成される。
【００９０】
本図形選別ユニット８０Ｄは、図形選別ユニット８０Ｃから比較結果レジスタ１５２を除いた構成を有し、他の部分は図形選別ユニット８０Ｃと同一である。
比較器１４２、１４３、・・・、１４９における各比較結果は、それぞれ図５に示すデコーダ１６０の入力端子ａ４、ａ１、ａ５、ａ０、ａ６、ａ３、ａ７、ａ２に入力される。
【００９１】
上記のような構成の図形選別ユニット８０Ｄでは、１サイクルで各比較器から「０」又は「１」のデータが同時にデコーダ１６０に入力され、デコーダ１６０の処理により線分ＡＢを描画するか否かの判定結果が出力される。従って、図形選別ユニット８０Ｄは、描画図形の判別処理をより短時間で行うことができる。また、図形選別ユニット８０Ｄは、図形選別ユニット８０Ｃと比して、比較結果レジスタ１５２が無い分だけ小型化することが可能である。
【００９２】
図１４は、本発明の第五実施例である図形選別ユニット８０Ｅの全体構成図である。
図１４に示すように、図形選別ユニット８０Ｅは、図形選別ユニット８０Ａにおける描画領域レジスタ１１１の代わりに常に一定のデータ値「０」を出力する定数出力器１１１ａを備える。他の構成は、図形選別ユニット８０Ａと同一であり、各構成部の説明を省略する。
【００９３】
図１５は、描画領域１０１のＸｍｉｎを示す直線Ｘ１がＸ１＝０である平面１００を示す図である。図１５に示すような範囲で描画領域１０１が設定されている場合、Ｘｍｉｎの値は常に一定値「０」である。図１４に示す図形選別ユニット８０Ｅは、図１５に示すような描画領域１０１が設定された場合に使用される。この場合、Ｘｍｉｎに対応する描画領域レジスタの出力は、常に一定値「０」であればよいので、図形選別ユニット８０Ｅには定数出力器１１１ａが設けられている。
【００９４】
一般に多様な数値を出力可能な描画領域レジスタ１１１よりも一定値を出力する定数出力器１１１ａの方が構造が簡単であり、故障率も低い。従って、描画領域１０１が図１５に示すような範囲にある場合は、定数出力器１１１ａを備えた図形選別ユニット８０Ｅを使用することによって、図形描画装置１の動作信頼性を向上させることができる。
【００９５】
定数出力器１１１ａで代用されるレジスタは、描画領域レジスタ１１１に限らず図２に示す他のレジスタでもよい。また、定数出力器１１１ａが使用される図形選別ユニットは、図形選別ユニット８０Ａに限らず、図形選別ユニット８０Ｂ、８０Ｃ、８０Ｄ等他の図形選別ユニットでもよい。更に、定数出力器１１１ａから出力される固定値はゼロに限らない。例えば、描画領域１０１の範囲に応じて定数出力器１１１ａが常に「１」を出力するようにしてもよい。定数出力器１１１ａの端子をグランドや電源に接続することにより、常にその出力値を「０」や「１」に固定することができる。
【００９６】
図１６は、描画領域１０１のＸｍａｘが無限大に設定された平面１００を示す図である。図１６に示すような範囲で描画領域１０１が設定されている場合、明らかにＸ０＜Ｘｍａｘ、Ｘ１＜Ｘｍａｘなので、データＸ０、Ｘ１に関しては比較器１４０による比較処理は不要である。従って、図１４に示す図形選別ユニット８０ＥがＸｍａｘが無限大である描画領域１０１内に描画する図形の選別を行う場合、図７に示す期間（１）、（５）の処理を省略することができる。このような場合、図形描画の可否判定がより短時間で行われる。
【００９７】
尚、比較器１４０による比較処理が省略可能となるのは、Ｘｍａｘが常に無限大である場合に限らず、他の描画領域データＸｍａｘ、Ｘｍｉｎ、Ｙｍａｘ、Ｙｍｉｎの何れか１つ又は複数が常に無限大に設定された場合でもよい。
図１７は、本発明の第六実施例である図形選別ユニット８０ＦとＣＰＵ３０のの構成図である。図形選別ユニット８０Ｆは、描画領域レジスタ１１１以外は、第１実施例の図形選別ユニット８０Ａと同様の構成を有する。
【００９８】
図形選別ユニット８０Ｆでは、ＣＰＵ３０内のレジスタＦＲ０が図形選別ユニット８０Ａにおける描画領域レジスタ１１１として機能する。また、図形選別ユニット８０Ｆでは、デコーダ１６０の出力値はＣＰＵ３０内のレジスタ部２２１に入力される構成になっている。
図１７に示すように、ＣＰＵ３０は、大きくは制御部２１０と演算部２２０から構成される。制御部２１０は、与えられたプログラムに従って図示しない制御信号を演算部２２０に送り、演算部２２０を制御する。演算部２２０は、レジスタ部２２１とＡＬＵ(Arithmetic and Logic Unit) ２２２等を有し、レジスタ部２２１に記録されるデータに対して各種演算や処理を行う。
【００９９】
ＡＬＵ２２２は、制御部２１０から与えられる制御信号に従って、数値データに対する算術演算と論理データに対する論理演算を行う回路である。また、レジスタ部２２１は、レジスタＦＲ０、ＦＲ１０等を有し、各種データやＡＬＵ２２２の演算結果を記録する。
ここで、レジスタＦＲ０、ＦＲ１０はそれぞれデータ値Ｘｍａｘ、Ｘｍｉｎ、Ｙｍａｘ、Ｙｍｉｎ、Ｘ０、Ｙ０、Ｘ１、Ｙ１の何れかを記録できるだけのビット数を有するフリップフロップ回路とする。
【０１００】
上記構成において例えば、データ値ＸｍｉｎがレジスタＦＲ１０に記録されている場合、「ＭＯＶ  ＦＲ１０，ＦＲ０」というプログラムによりＦＲ０にデータ値Ｘｍｉｎを与えることができる。また、図形選別ユニット８０Ｆによる図形を描画するか否かの判定結果は、ＣＰＵ３０内のレジスタ部２２１に入力される。
【０１０１】
図１７に示す構成のＣＰＵ３０は、与えられたプログラムを実行することでデータ値Ｘｍｉｎを図形選別ユニット８０Ｆに供給し、図形選別ユニット８０Ｆを動作させる。そして、ＣＰＵ３０は、図形選別ユニット８０Ｆの処理結果に基づき、図形を描画すべきか否かを判定することができる。図１７に示すような図形選別ユニット８０Ｆは、構成部の一部をＣＰＵ３０と共有化しているので図形描画装置１の小型化が可能になる。また、汎用プロセッサであるＣＰＵ３０に対して簡単な加工を行って、図１７に示す接続関係を有する図形選別ユニット８０ＦをＣＰＵ３０内に組み込むことも可能である。
【０１０２】
尚、図形選別ユニット８０Ｂ、８０Ｃ、８０Ｄ、８０Ｅが描画領域レジスタ１１１（レジスタＦＲ０）をＣＰＵ３０と共有する構成としてもよい。また、ＣＰＵ３０内部のレジスタＦＲ０は、Ｘｍｉｎを記録する描画領域レジスタ１１１に限らず描画領域レジスタ１１０や図形端点座標レジスタ１２０等、他のレジスタとして用いられてもよい。また、図形選別ユニット８０Ｆにおいて、複数の描画領域レジスタや図形端点座標レジスタがＣＰＵ３０内の複数のレジスタで構成されるようにしてもよい。
【０１０３】
図１８は、ＣＰＵ３０に図形選別ユニット８０Ｆとアドレスデコーダ２４０とメモリユニット４０が接続された様子を示す図である。
図１８に示すように、メモリ４０には、データ値Ｘ０、Ｘ１、Ｙ０、Ｙ１、・・・、が記録される領域と、図形選別ユニット８０Ｆによるデコード結果等が記録される領域が割り当てられている。
【０１０４】
上記構成において例えば、Ｘｍｉｎの値をレジスタ部２２１のレジスタＦＲ１０に書き込む命令をＣＰＵ３０が実行すると、先ず、データ値Ｘｍｉｎが記録されたメモリ領域に対応するアドレスが入出力制御部２３０によって指示される。
そして、当該アドレスの示すメモリ領域に記録されていたデータ値Ｘｍｉｎは、入出力制御部２３０を介してレジスタ部２２１に与えられ、レジスタＦＲ１０に記録される。
【０１０５】
続いて、例えば、既に図１７を用いて説明したように「ＭＯＶ  ＦＲ１０、ＦＲ０」というプログラムをＣＰＵ３０が実行すると、レジスタＦＲ１０からレジスタＦＲ０にデータ値Ｘｍｉｎが供給される。このレジスタＦＲ０は、図形選別ユニット８０Ｆの描画領域レジスタ１１１として機能するものである。
図形選別ユニット８０Ｆの動作による図形を描画するか否かの判定結果は、入出力制御部２３０を介して図形選別ユニット８０ＦからＣＰＵ３０に与えられる。
【０１０６】
上記のような構成により、ＣＰＵ３０がプログラムを実行することでメモリユニット４０に格納されていたデータ値Ｘｍｉｎを図形選別ユニット８０Ｆに与えて図形選別ユニット８０Ｆを動作させることができる。また、ＣＰＵ３０は、図形選別ユニット８０Ｆによる判定結果を取得することができる。また、図１８に示すような構成とすることで、図形選別装置１のユーザが例えば、データ値Ｘｍｉｎ等をメモリ４０に書き込み、描画図形を選別させることが容易となる。
【０１０７】
図１９は、図形選別ユニット８０Ｆによる判定結果がＣＰＵ３０内に設けられた条件分岐制御部２１１に入力されるように図形選別ユニット８０ＦとＣＰＵ３０が接続された様子を示す図である。
図１９に示すように、ＣＰＵ３０の制御部２１０は、条件分岐制御部２１１、分岐アドレス部２１２、プログラムカウンタ（ＰＣ）２１３、セレクタ２１４を有する。
【０１０８】
条件分岐制御部２１１は、図形選別ユニット８０Ｆから与えられる判定結果に基づき図示しない条件分岐命令を出す。具体的には、条件分岐制御部２１１が図形選別ユニット８０Ｆから判定結果を受け取ると、条件分岐制御部２１１からセレクタ２１４に対して図示しない選択信号が出力され、プログラムカウンタ値を１つ増やすか、または、分岐アドレス部２１２に格納される所定のアドレスのプログラムを実行するかが選択される。そして、選択された結果に基づき次の図形選別処理、当該図形の描画処理、クリップ処理の何れかが行われる。
【０１０９】
上記のような構成では、図形選別ユニット８０Ｆによる判定結果がＣＰＵ３０に入力されると、その結果に応じて条件分岐され、直ちに次の図形選別処理、当該図形の描画処理、クリップ処理の何れかの処理が実行される。
図２０は、図形選別ユニット８０Ｆの制御回路１７０がＣＰＵ３０内に設けられた割り込み制御部２１６に接続された様子を示す図である。
【０１１０】
図２０に示すように、ＣＰＵ３０が有する制御部２１０は、割り込み制御部２１６、タイマ２１５等を有する。
制御回路１７０は、図示しない割り込み信号によってＣＰＵ３０の動作を制御することができる。例えば、図形描画をするか否かの結果が明らかになった時点で、制御回路１７０は割り込み信号をＣＰＵ３０に与えて、ＣＰＵ３０が全てのプログラム処理を終了する前にＣＰＵ３０に判定結果を通知することができる。この場合、ＣＰＵ３０の不要なプログラム処理が省略され、より短時間でＣＰＵ３０が次の図形選別処理、当該図形の描画処理、クリップ処理の何れかの処理に移ることができる。
【０１１１】
割り込み制御部２１６は、タイマ２１５と接続されており、タイマ２１５による割り込みも可能となっている。また、ＣＰＵ３０の外部からタイマ以外の他のリソースによる割り込み信号でＣＰＵ３０の割り込み制御が可能な構成としてもよい。
図２１は、本発明の第七実施例である図形選別ユニット８０Ｇの構成図であるる。図２１に示すように、図形選別ユニット８０Ｇは、入出力インターフェース３００、ディスパッチャ３０２、コプロセッサ３０４、３０６、メインプロセッサ３０８、制御回路３１０等を有する。
【０１１２】
入出力インターフェース３００は、図形選別ユニット８０Ｇの外部とのデータの授受を行う。ディスパッチャ３０２は、入出力インターフェース３００を介して外部から供給された座標データをコプロセッサ３０４、３０６に与える。コプロセッサ３０４は、図６に示す描画領域１０１のデータ値Ｘｍａｘ、Ｘｍｉｎ、及び、線分ＡＢに係るデータ値Ｘ０、Ｘ１をディスパッチャ３０２から受け取り、後述するような処理を行う。また、コプロセッサ３０６は、図６に示す描画領域１０１のデータ値Ｙｍａｘ、Ｙｍｉｎ、及び、線分ＡＢに係るデータ値Ｙ０、Ｙ１をディスパッチャ３０２から受け取り、後述するような処理を行う。メインプロセッサ３０８は、コプロセッサ３０４、３０６のデータ処理結果に基づき、線分ＡＢを描画領域１０１に描画すべきか否かの判定結果を出力する。制御回路３１０は、入出力インターフェース３００、ディスパッチャ３０２、コプロセッサ３０４、３０６、及び、メインプロセッサ３０８の動作を制御する。
【０１１３】
図２２は、本発明の第七実施例である図形選別ユニット８０Ｇが備えるコプロセッサ３０４、３０６及びメインプロセッサ３０８の構成図である。
図２２に示すように、コプロセッサ３０４は、描画領域レジスタ１１０、１１１、図形端点座標レジスタ１２０、１２２、セレクタ３０４Ａ、３０４Ｂ、比較器３１２、レジスタ３１４等から構成される。また、コプロセッサ３０６は、描画領域レジスタ１１２、１１３、図形端点座標レジスタ１２１、１２３、セレクタ３０６Ａ、３０６Ｂ、比較器３１６、レジスタ３１８等から構成される。また、メインプロセッサ３０８は、比較結果レジスタ１５０、デコーダ１６０等から構成される。
【０１１４】
ここで、描画領域レジスタ１１０、１１１、１１２、１１３、図形端点座標レジスタ１２０、１２１、１２２、１２３、比較結果レジスタ１５０、デコーダ１６０の構成は、第一実施例で説明した図形選別ユニット８０Ａが備えるものと同一であり、その説明を省略する。
コプロセッサ３０４において、セレクタ３０４Ａは、描画領域レジスタ１１０、１１１のいずれか一方を選択し、選択したレジスタに記録されているデータ値を比較器３１２に供給する。また、セレクタ３０４Ｂは、図形端点座標レジスタ１２０、１２２のいずれか一方を選択し、選択したレジスタに記録されているデータ値を比較器３１２に供給する。
【０１１５】
比較器３１２は、セレクタ３０４Ａ、３０４Ｂから供給されたデータ値を比較し、比較結果に応じて出力値「０」又は「１」をレジスタ３１４に与える。比較器３１２は、比較結果がＸ０（Ｘ１）≦ＸｍａｘまたはＸｍｉｎ≦Ｘ０（Ｘ１）の場合に「０」を出力し、比較結果がＸ０（Ｘ１）＞ＸｍａｘまたはＸ０（Ｘ１）＜Ｘｍｉｎの場合に「１」を出力する。
【０１１６】
レジスタ３１４は４ビットのレジスタであり、各ビットにそれぞれＸｍｉｎとＸ０、ＸｍａｘとＸ０、ＸｍｉｎとＸ１、ＸｍａｘとＸ１の大きさの比較結果を記録する。
また、コプロセッサ３０６において、セレクタ３０６Ａは、描画領域レジスタ１１２、１１３のいずれか一方を選択し、選択したレジスタに記録されているデータ値を比較器３１６に供給する。また、セレクタ３０６Ｂは、図形端点座標レジスタ１２１、１２３のいずれか一方を選択し、選択したレジスタに記録されているデータ値を比較器３１６に供給する。
【０１１７】
比較器３１６は、セレクタ３０６Ａ、３０６Ｂから供給されたデータ値を比較し、比較結果に応じて出力値「０」又は「１」をレジスタ３１８に与える。比較器３１６は、比較結果がＹ０（Ｙ１）≦ＹｍａｘまたはＹｍｉｎ≦Ｙ０（Ｙ１）の場合に「０」を出力し、比較結果がＹ０（Ｙ１）＞ＹｍａｘまたはＹ０（Ｙ１）＜Ｙｍｉｎの場合に「１」を出力する。
【０１１８】
レジスタ３１８はレジスタ３１４と同様の４ビットのレジスタであり、各ビットにそれぞれＹｍｉｎとＹ０、ＹｍａｘとＹ０、ＹｍｉｎとＹ１、ＹｍａｘとＹ１の大きさの比較結果を記録する。
メインプロセッサ３０８が備える比較結果レジスタ１５０には、コプロセッサ３０４、３０６が有するレジスタ３１４、３１８に記録されたデータ値が与えられる。比較器３１２によるデータ値ＸｍａｘとＸ１、ＸｍｉｎとＸ１、ＸｍａｘとＸ０、ＸｍｉｎとＸ０の比較結果は、それぞれ図４に示すＤＦＦ１５０（０）、１５０（１）、１５０（４）、１５０（５）に入力される。また、比較器３１６によるデータ値ＹｍａｘとＹ１、ＹｍｉｎとＹ１、ＹｍａｘとＹ０、ＹｍｉｎとＹ０の比較結果は、それぞれ図４に示すＤＦＦ１５０（２）、１５０（３）、１５０（６）、１５０（７）に入力される。
【０１１９】
そして、比較結果レジスタ１５０に記録されたデータ値がデコーダ１６０に入力され、線分ＡＢを描画すべきか否かの判定結果がデコーダ１６０によって出力される。
制御回路３１０は、既に説明した制御回路１７０、１７１と同様に、セレクタ３０４Ａ、３０４Ｂ、３０６Ａ、３０６Ｂやレジスタ３１４、３１８及び比較結果レジスタ１５０等の動作制御を行う。
【０１２０】
コプロセッサ３０４、３０６は、後述するような並列動作によってデータ処理を行い、コプロセッサ３０４、３０６とメインプロセッサ３０８は、パイプライン動作を行う。
続いて、本第七実施例の図形選別ユニット８０Ｇの動作説明を行う。
図２３は、セレクタ３０４Ａ、３０４Ｂ、３０６Ａ、３０６Ｂ、及び、比較結果レジスタ１５０の各ビットに与えられるライトイネーブル信号ＷＥ０〜ＷＥ７のタイミング図である。以下、図２２及び図２３を参照して、図６に示す線分ＡＢについての図形選別ユニット８０Ｇの動作説明を行う。
【０１２１】
先ず、図２３の期間（１）において、コプロセッサ３０４が有するセレクタ３０４Ａは、データ値Ｘｍａｘを描画領域レジスタ１１０から取得し、比較器３１２に与える。また、セレクタ３０４Ｂは、データ値Ｘ１を図形端点座標レジスタ１２２から取得し、比較器３１２に与える。
一方、期間（１）において、コプロセッサ３０６が有するセレクタ３０６Ａは、データ値Ｙｍａｘを描画領域レジスタ１１２から取得し、比較器３１６に与える。また、セレクタ３０６Ｂは、データ値Ｙ１を図形端点座標レジスタ１２３から取得し、比較器３１６に与える。
【０１２２】
比較器３１２、３１６は、それぞれデータ値ＸｍａｘとＸ１、ＹｍａｘとＹ１の大きさを比較する。ここで、図６に示すように、端点Ｂ（Ｘ１、Ｙ１）が描画領域外１０４にあり、Ｘ１＞Ｘｍａｘ、Ｙ１＞Ｙｍａｘなので、比較の結果として比較器３１２、３１６からはそれぞれ「１」、「１」が出力される。この出力値は、レジスタ３１４、３１８を介して比較結果レジスタ１５０に供給される。
【０１２３】
この時、図２３に示すように、比較結果レジスタ１５０のＤＦＦ１５０（０）、１５０（２）に入力されるライトイネーブル信号ＷＥ０、ＷＥ２がハイレベルであるので、データ「１」がＤＦＦ１５０（０）、１５０（２）に書き込まれる。
続いて、期間（２）では、コプロセッサ３０４が有するセレクタ３０４Ａは、データ値Ｘｍｉｎを描画領域レジスタ１１１から取得し、比較器３１２に与える。また、セレクタ３０４Ｂは、データ値Ｘ１を図形端点座標レジスタ１２２から取得し、比較器３１２に与える。
【０１２４】
一方、期間（２）において、コプロセッサ３０６が有するセレクタ３０６Ａは、データ値Ｙｍｉｎを描画領域レジスタ１１３から取得し、比較器３１６に与える。また、セレクタ３０６Ｂは、データ値Ｙ１を図形端点座標レジスタ１２３から取得し、比較器３１６に与える。
比較器３１２、３１６は、それぞれデータ値ＸｍｉｎとＸ１、ＹｍｉｎとＹ１の大きさを比較する。ここで、図６に示すように、端点Ｂ（Ｘ１、Ｙ１）が描画領域外１０４にあり、Ｘ１＞Ｘｍｉｎ、Ｙ１＞Ｙｍｉｎなので、比較の結果として比較器３１２、３１６からはそれぞれ「０」、「０」が出力される。この出力値は、レジスタ３１４、３１８を介して比較結果レジスタ１５０に供給される。
【０１２５】
この時、図２３に示すように、比較結果レジスタ１５０のＤＦＦ１５０（１）、１５０（３）に入力されるライトイネーブル信号ＷＥ１、ＷＥ３がハイレベルであるので、データ「０」がＤＦＦ１５０（１）、１５０（３）に書き込まれる。
更に、期間（３）から（４）まで上記のような比較がＸｍａｘとＸ０、ＸｍｉｎとＸ０、ＹｍａｘとＹ０、ＹｍｉｎとＹ０の組み合わせで行われ、比較結果レジスタ１５０のＤＦＦ１５０（７）、１５０（６）、・・・、１５０（０）には、それぞれデータ０、１、１、０、０、１、０、１が入力される。このデータ列の左右４つずつの（０１１０）及び（０１０１）がそれぞれ端点Ａ、Ｂの領域コードになる。
【０１２６】
期間（１）から（４）の間は、比較結果レジスタ１５０に対してデータの書き込み途中であるので、制御回路３１０の制御によって比較結果レジスタ１５０からデコーダ１６０へのデータ出力は行われない（ｉｎｖａｌｉｄ状態）。
比較結果レジスタ１５０の全てのビットにデータ入力された後の期間（５）では、比較結果レジスタ１５０へのデータの書き込みが完了したことを伝える完了通知信号が制御回路３１０から比較結果レジスタ１５０に送られる。この時点で、比較結果レジスタ１５０は、期間（１）から期間（４）の間に記録した８ビットデータをデコーダ１６０に送信可能な状態（ｖａｌｉｄ状態）になり、８つのデータがデコーダ１６０に送信される。そして、８つのデータはデコーダ１６０の入力端子ａ０、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７にそれぞれ入力される。
【０１２７】
図５に示すデコーダ１６０の入力端子ａ０、ａ１、ａ２、ａ３、ａ４、ａ５、ａ６、ａ７に、それぞれデータ０、１、１、０、０、１、０、１が入力された場合、デコーダ１６０の出力端子ｂ３からデータ「１」が出力される。従って、線分ＡＢは描画不要と判別される。
上記のように、図形選別ユニット８０Ｇは、Ｘ座標に関するデータ処理を行うコプロセッサ３０４とＹ座標に関するデータ処理を行うコプロセッサ３０６を有する。そして、図２３を用いて説明したように、コプロセッサ３０４とコプロセッサ３０６が並列動作を行うことによって、より短時間で描画図形の判別が行われるようになっている。なお、例えば、コプロセッサ３０４、３０６及びメインプロセッサ３０８は、図２４に示すようなタイミングで動作するようにしてもよい。
【０１２８】
図２５は、本発明の第八実施例である図形選別ユニット８０Ｈが備えるコプロセッサ３２４、３２６及びメインプロセッサ３０８の構成図である。
図２５に示すように、図形選別ユニット８０Ｈは、コプロセッサ３２４、３２６、メインプロセッサ３０８及び制御回路３１０等から構成される。コプロセッサ３２４は、描画領域レジスタ１１０、１１１、図形端点座標レジスタ１２０、１２２、比較器３２８、３３０、３３２、３３４、レジスタ３１４等から構成される。また、コプロセッサ３２６は、描画領域レジスタ１１２、１１３、図形端点座標レジスタ１２１、１２３、比較器３３６、３３８、３４０、３４２、レジスタ３１８等から構成される。
【０１２９】
ここで、本第八実施例の図形選別ユニット８０Ｈは、第七実施例の図形選別ユニット８０Ｇと比して、コプロセッサ３２４、３２６の構成のみが異なる。他の構成は図形選別ユニット８０Ｇのものと同一であり、その説明を省略する。
図形選別ユニット８０Ｈが有するコプロセッサ３２４において、比較器３２８、３３０、３３２、３３４には、それぞれデータ値ＸｍａｘとＸ０、ＸｍｉｎとＸ１、ＸｍｉｎとＸ０、ＸｍａｘとＸ１が入力される。比較器３２８、３３０、３３２、３３４は、供給されたデータ値を比較し、比較結果に応じて出力値「０」又は「１」をレジスタ３１４に与える。比較器３２８、３３０、３３２、３３４は、比較結果がＸ０（Ｘ１）≦ＸｍａｘまたはＸｍｉｎ≦Ｘ０（Ｘ１）の場合に「０」を出力し、比較結果がＸ０（Ｘ１）＞ＸｍａｘまたはＸ０（Ｘ１）＜Ｘｍｉｎの場合に「１」を出力する。
【０１３０】
また、図形選別ユニット８０Ｈが有するコプロセッサ３２６において、比較器３３６、３３８、３４０、３４２には、それぞれデータ値ＹｍａｘとＹ０、ＹｍｉｎとＹ１、ＹｍｉｎとＹ０、ＹｍａｘとＹ１が入力される。比較器３３６、３３８、３４０、３４２は、供給されたデータ値を比較し、比較結果に応じて出力値「０」又は「１」をレジスタ３１８に与える。比較器３３６、３３８、３４０、３４２は、比較結果がＹ０（Ｙ１）≦ＹｍａｘまたはＹｍｉｎ≦Ｙ０（Ｙ１）の場合に「０」を出力し、比較結果がＹ０（Ｙ１）＞ＹｍａｘまたはＹ０（Ｙ１）＜Ｙｍｉｎの場合に「１」を出力する。
【０１３１】
そして、レジスタ３１４、３１８に与えられたデータ値は、メインプロセッサ３０８が備える比較結果レジスタ１５０及びデコーダ１６０によって処理され、図形を描画すべきか否かの判定結果が出力される。
上記のように、図形選別ユニット８０Ｈは、図形選別ユニット８０Ｇと同様に、Ｘ座標に関するデータ処理を行うコプロセッサ３２４とＹ座標に関するデータ処理を行うコプロセッサ３２６を有する。そして、コプロセッサ３２４とコプロセッサ３２６が並列動作することによって、より短時間で描画図形の判別が行われるようになっている。
【０１３２】
なお、図１５に示すような描画領域１０１が設定された場合、図形選別ユニット８０Ｇ、８０Ｈの描画領域レジスタ１１１を図１４に示す図形選別ユニット８０Ｅと同様に定出力器１１１ａで構成してもよい。一般に、多様な数値を出力する描画領域レジスタ１１１よりも定出力器１１１ａの方が構造が簡単で故障率も低いので、定出力器１１１ａを使用することによって、図形選別ユニット８０Ｇ、８０Ｈの小型化や動作信頼性の向上が図られる。
【０１３３】
また、図１６に示すような描画領域１０１が設定された場合、明らかにＸ０＜Ｘｍａｘ、Ｘ１＜Ｘｍａｘである。そこで、例えば、図形選別ユニット８０Ｇ、８０Ｈが備える描画領域レジスタ１１０に無限大のデータ値が与えられた場合、図形選別ユニット８０Ｇ、８０Ｈでは、直ちに比較結果レジスタ１５０のＤＦＦ１５０（０）、１５０（４）に値「０」が書き込まれる構成とされている。この結果、座標値Ｘｍａｘに係る比較器３１２、３２８、３３４の比較処理を省略することができるので、より短時間で描画図形の判別が行われる。
【０１３４】
また、図１７に示す図形選別ユニット８０Ｆと同様に、図形選別ユニット８０Ｇ、８０ＨをＣＰＵ３０と接続してもよい。この場合、ＣＰＵ３０に命令を与えて、描画領域や図形端点のデータ値をＣＰＵ３０から図形選別ユニット８０Ｇ、８０Ｈに供給し、図形を描画すべきか否かの判定結果を出力させることができる。また、レジスタの一部をＣＰＵ３０と共有化することで図形選別ユニット１が小型化される。
【０１３５】
また、メインプロセッサ３０８内に図１９に示すような条件分岐制御部２１１を設け、デコーダ１６０の出力を条件分岐制御部２１１に与える構成としてもよい。この場合、デコード結果により条件分岐されるため、デコード結果がメインプロセッサ３０８の動作に反映される。
また、メインプロセッサ３０８内に図２０に示すような割り込み制御部２１６を設け、デコーダ１６０の出力を割り込み制御部２１６に与える構成としてもよい。この場合、デコード結果によって割り込みを発生させることができるため、デコード結果がメインプロセッサ３０８の動作に反映される。
【０１３６】
以上の実施例の説明では、便宜上、線分ＡＢを２次元空間である平面１００上に描画する際の処理について述べたが、描画する図形が多角形や立体であったり、図形が描画される空間が３次元であってもよい。
上記実施例において、図２又は図８に示す比較器１４０、１４１ａが特許請求の範囲に記載の第一の比較器に対応し、比較器１４１ｂが特許請求の範囲に記載の第二の比較器に対応する。また、図２、図８及び図２２に示すセレクタ１３０Ａ、１３１Ａ、３０４Ａ、３０６Ａが特許請求の範囲に記載の第一のセレクタに対応し、セレクタ１３０Ｂ、３０４Ｂ、３０６Ｂが特許請求の範囲に記載の第二のセレクタに対応し、セレクタ１３２Ａが特許請求の範囲に記載の第三のセレクタに対応する。更に、図１４に示す定数出力器１１１ａが特許請求の範囲に記載の一定値出力部に対応し、図１７に示すＣＰＵ３０が特許請求の範囲に記載の制御部に対応し、図１６に示す無限大の座標値Ｘｍａｘが特許請求の範囲に記載の所定の座標値に対応する。
【０１３７】
【発明の効果】
以上説明したように、請求項１〜９及び請求項１１〜１４記載の発明によれば、図形描画装置の有する制御部によるプログラム処理ではなく、図形描画装置に設けられた図形選別ユニットの回路動作によって、より短時間で描画すべき図形の選別を行う図形描画装置を提供することができる。
【０１３８】
また、請求項１０記載の発明によれば、描画すべき図形を短時間で選別することが可能な図形選別ユニットを提供することができる。
【図面の簡単な説明】
【図１】本発明が適用されるコンピュータシステムのハードウェア構成図である。
【図２】本発明の第一実施例である図形選別ユニット８０Ａの全体構成図である。
【図３】描画領域レジスタ１１０の構成例を示す図である。
【図４】比較結果レジスタ１５０の構成例を示す図である。
【図５】デコーダ１６０の構成例を示す図である。
【図６】平面１００上に線分ＡＢが存在する様子を示す図である。
【図７】図形選別ユニット８０Ａの動作タイミング図である。
【図８】本発明の第二実施例である図形選別ユニット８０Ｂの全体構成図である。
【図９】比較結果レジスタ１５１の構成例を示す図である。
【図１０】図形選別ユニット８０Ｂの動作タイミング図である。
【図１１】本発明の第三実施例である図形選別ユニット８０Ｃの全体構成図である。
【図１２】比較結果レジスタ１５２の構成例を示す図である。
【図１３】本発明の第四実施例である図形選別ユニット８０Ｄの全体構成図である。
【図１４】本発明の第五実施例である図形選別ユニット８０Ｅの全体構成図である。
【図１５】描画領域１０１のＸｍｉｎを示す直線Ｘ１がＸ１＝０である平面１００を示す図である。
【図１６】描画領域１０１のＸｍａｘが無限大に設定された平面１００を示す図である。
【図１７】図形選別ユニット８０ＦとＣＰＵ３０の構成図である。
【図１８】ＣＰＵ３０に図形選別ユニット８０Ｆとアドレスデコーダ２４０とメモリユニット４０が接続された様子を示す図である。
【図１９】図形選別ユニット８０Ｆの動作によるデコード結果がＣＰＵ３０の条件分岐制御部２１１に入力されるように接続された様子を示す図である。
【図２０】図形選別ユニット８０Ｆ内の制御回路１７０がＣＰＵ３０の割り込み制御部２１６に接続された様子を示す図である。
【図２１】本発明の第七実施例である図形選別ユニット８０Ｇの全体構成図である。
【図２２】図形選別ユニット８０Ｇが備えるコプロセッサ３０４、３０６、メインプロセッサ３０８の構成図である。
【図２３】図形選別ユニット８０Ｇの動作タイミング図である。
【図２４】図形選別ユニット８０Ｇにおける動作タイミングの他の例を示す図である。
【図２５】本発明の第八実施例である図形選別ユニット８０Ｈが備えるコプロセッサ３２４、３２６、メインプロセッサ３０８の構成図である。
【図２６】図形が描画される領域と描画されない領域に平面１００が区分けされた例を示す図である。
【図２７】図形の各端点（Ｘ、Ｙ）の領域コードを決定する処理のためのプログラムである。
【図２８】  線分ＡＢに対する描画するか否かの判断処理のためのプログラムである。
【符号の説明】
１  図形描画装置
１０  入力ユニット
２０  表示ユニット
３０  ＣＰＵ
４０  メモリユニット
５０  出力ユニット
６０  補助記憶ユニット
７０  ドライブユニット
８０Ａ、８０Ｂ、８０Ｃ、８０Ｄ、８０Ｅ、８０Ｆ、８０Ｇ  ８０Ｈ  図形選別ユニット
１００  平面
１０１  描画領域
１１０、１１１、１１２、１１３  描画領域レジスタ
１２０、１２１、１２２、１２３  図形端点座標レジスタ
１３０Ａ、１３０Ｂ、１３１Ａ、１３２Ａ  セレクタ
１４０、１４１ａ、１４１ｂ  比較器
１４２、１４３、１４４、１４５、１４６、１４７、１４８、１４９  比較器
１５０、１５１、１５２  比較結果レジスタ
１６０  デコーダ
１７０、１７１  制御回路
２１０  制御部
２１１  条件分岐制御部
２１２  分岐アドレス部
２１６  割り込み制御部
２２０  演算部
２２１  レジスタ部
２２２  ＡＬＵ
２３０  入出力制御部
２４０  アドレスデコーダ
３００  入出力インターフェース
３０２  ディスパッチャ
３０４、３０６、３２４、３２６  コプロセッサ
３０８  メインプロセッサ
３１０  制御回路
【図１】
0004275790.tif 000002
【図２】
0004275790.tif 000003
【図３】
0004275790.tif 000004
【図４】
0004275790.tif 000005
【図５】
0004275790.tif 000006
【図６】
0004275790.tif 000007
【図７】
0004275790.tif 000008
【図８】
0004275790.tif 000009
【図９】
0004275790.tif 000010
【図１０】
0004275790.tif 000011
【図１１】
0004275790.tif 000012
【図１２】
0004275790.tif 000013
【図１３】
0004275790.tif 000014
【図１４】
0004275790.tif 000015
【図１５】
0004275790.tif 000016
【図１６】
0004275790.tif 000017
【図１７】
0004275790.tif 000018
【図１８】
0004275790.tif 000019
【図１９】
0004275790.tif 000020
【図２０】
0004275790.tif 000021
【図２１】
0004275790.tif 000022
【図２２】
0004275790.tif 000023
【図２３】
0004275790.tif 000024
【図２４】
0004275790.tif 000025
【図２５】
0004275790.tif 000026
【図２６】
0004275790.tif 000027
【図２７】
0004275790.tif 000028
【図２８】
0004275790.tif 000029