JP3313527B2 - グラフィックスコントローラおよびピクセルデータ転送システム - Google Patents

グラフィックスコントローラおよびピクセルデータ転送システム

Info

Publication number
JP3313527B2
JP3313527B2 JP00634495A JP634495A JP3313527B2 JP 3313527 B2 JP3313527 B2 JP 3313527B2 JP 00634495 A JP00634495 A JP 00634495A JP 634495 A JP634495 A JP 634495A JP 3313527 B2 JP3313527 B2 JP 3313527B2
Authority
JP
Japan
Prior art keywords
transfer
block transfer
line
parameter value
bit block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP00634495A
Other languages
English (en)
Other versions
JPH08194826A (ja
Inventor
康一 西出
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP00634495A priority Critical patent/JP3313527B2/ja
Priority to US08/558,781 priority patent/US5721885A/en
Publication of JPH08194826A publication Critical patent/JPH08194826A/ja
Application granted granted Critical
Publication of JP3313527B2 publication Critical patent/JP3313527B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はグラフィックスコント
ローラに関し、特にビデオメモリにデータを転送して図
形を描画する描画装置を有し、コンピュータのディスプ
レイモニタを制御するグラフィックスコントローラ、お
よびピクセルデータ転送システムに関する。
【0002】
【従来の技術】近年、携帯可能なラップトップタイプま
たはノートブックタイプのポータブルパーソナルコンピ
ュータが種々開発されている。従来、この種のパーソナ
ルコンピュータに使用されるグラフィックスコントロー
ラには、直線などの基本図形の作成、領域の塗り潰しと
いった描画機能が設けられている。これら描画機能の
内、直線の描画は、グラフィックスコントローラ内に設
けられたライン描画回路によって実行される。
【0003】ホストCPUから直線の描画が要求された
時、ライン描画回路は、その直線の始点座標から終点座
標までの2次元座標値をピクセル毎に算出しながら、ピ
クセル単位で描画データをビデオメモリに転送する。こ
のような描画処理は、描画対象の直線が水平ラインであ
っても同様にして行われる。
【0004】水平ラインの描画においては、ビデオメモ
リ上における隣り合うピクセルのリニアアドレスは連続
している。このため、原理的には、1回のメモリ転送サ
イクルで複数ピクセル分の画像データをまとめてビデオ
メモリに転送できるはずである。
【0005】しかしながら、従来のライン描画回路で
は、前述したように水平ラインと他のラインとの区別は
されておらず、どの様なラインを描画する場合でも1回
のデータ転送サイクルで転送されるのは常に1ピクセル
である。このため、水平ラインの描画においても、他の
ラインの描画と同様に、そのラインを構成するピクセル
数だけデータ転送サイクルを何度も繰り返し実行する必
要があり、描画に多くの時間がかかる欠点があった。
【0006】
【発明が解決しようとする課題】従来のライン描画回路
では、2次元座標値をピクセル毎に算出しながら、ピク
セル単位で描画データがビデオメモリに転送される。こ
のため、1回のデータ転送サイクルで転送されるのは常
に1ピクセルである。従って、水平ラインの描画におい
ても、その水平ラインを構成するピクセル数だけデータ
転送サイクルを何度も繰り返し実行する必要があり、描
画に多くの時間がかかる欠点があった。
【0007】この発明はこのような点に鑑みてなされた
もので、描画対象の直線が水平ライン成分を含む場合に
はその水平ラインを構成するピクセルデータをまとめて
転送できるようにし、直線の描画速度を大幅に向上する
ことができるグラフィクスコントローラ、およびピクセ
ルデータ転送システムを提供することを目的とする。
【0008】
【課題を解決するための手段および作用】この発明は、
ビデオメモリへの描画機能を有し、コンピュータのディ
スプレイモニタを制御するグラフィックスコントローラ
において、BITブロック転送のためのパラメタ値に含
まれる始点座標、幅、および高さによって指定されるビ
デオメモリ上の矩形領域に画像データを転送するBIT
ブロック転送手段と、ホストシステムからのライン描画
コマンドで直線の描画が指定されたとき、当該ライン描
画コマンドで描画指定された直線の中に含まれる水平ラ
イン線分を検出する手段と、検出された各水平ライン線
分毎にその始点座標およびピクセル数を検出する手段
と、前記検出された各水平ライン線分毎に、その始点座
標、ピクセル数、および線幅を示すラインパラメタを、
BITブロック転送用の矩形領域の始点座標、幅、およ
び高さを示すパラメタ値に変換するパラメタ変換手段
と、前記パラメタ変換手段によって前記各水平ライン線
分毎に得られたBITブロック転送用のパラメタ値を前
記BITブロック転送手段に出力することにより、前記
各水平ライン線分毎に、それを構成するピクセル数に相
当する複数の画像データを前記ビデオメモリ上の連続す
る番地に書き込むブロック転送を前記BITブロック転
送手段に実行させる手段とを具備することを特徴とす
る。
【0009】このグラフィックスコントローラにおいて
は、ホストシステムから描画要求された直線の中に水平
ライン線分が含まれていると、その水平ライン線分が検
出される。例えば、水平ラインの描画が要求された場合
には、その要求された水平ライン全体が水平ライン線分
として検出される。また、ある傾きを持った直線の描画
が要求された場合には、通常、その直線は垂直座標値が
互いに異なる複数の水平ライン線分から構成されている
ので、それら複数の水平ライン線分がそれぞれ検出され
ることによる。そして、各水平ライン線分のピクセル数
が計数され、水平ライン線分毎にそれを構成するピクセ
ル数に相当する複数の描画データがビデオメモリにまと
めて転送される。
【0010】従って、ピクセル単位でビデオメモリに転
送する従来のグラフィックスコントローラよりも直線描
画の性能を大幅に向上することができる。また、水平ラ
イン線分を検出する手段には、ブレゼンハムのアルゴミ
ズムを用いて前記直線を描画するための座標値をピクセ
ル毎に算出して、垂直座標が変化するピクセル位置を検
出する手段を利用することができる。ブレゼンハムのア
ルゴミズムは、現在の座標値(X,Y)の次の座標値を
(X+1,Y)と(X+1,Y+1)のどちらにするか
をピクセル毎に決定していくという座標値生成のための
アルゴリズムであり、(X+1,Y)と(X+1,Y+
1)のどちらにするかはブレゼンハムエラーターム
(E)の値によって決定される。ブレゼンハムエラータ
ーム(E)≧0であれば、(X+1,Y+1)が選択さ
れる。したがって、このブレゼンハムエラーターム
(E)の値によって、直線中においてY座標が変化する
ピクセル位置を検出することができる。
【0011】また、水平ライン線分を指定するラインパ
ラメタの値をBITブロック転送のためのパラメタ値に
変換する手段を設けることにより、水平ライン線分を構
成するピクセルのブロック転送を通常のBITブロック
転送回路を利用して行うことができる。BITブロック
転送は通常のグラフィクスコントローラがサポートする
基本機能であるので、このBITブロック転送を利用す
ることにより、専用ハードウェアを設ける事なく、水平
ライン線分を構成するピクセルをブロック転送すること
ができる。
【0012】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。図1には、この発明の一実施例に係わるグラフ
ィックスコントローラを利用した表示制御サブシステム
の全体の構成が示されている。この表示制御サブシステ
ム4は、XGA仕様に準拠したものであり、ポータブル
コンピュータ本体に標準装備されるフラットパネルディ
スプレイ40およびポータブルコンピュータ本体に着脱
自在に接続されるカラーCRTディスプレイ50双方に
対する表示制御を行なう。表示制御サブシステム4は、
図示のように、VLバスやPCIバスなどのローカルバ
ス3に接続されている。
【0013】表示制御サブシステム4には、グラフィッ
クスコントローラ10、およびビデオメモリ30が設け
られている。これらグラフィックスコントローラ10お
よびビデオメモリ30は、ポータブルコンピュータのシ
ステムポード上に搭載されている。
【0014】グラフィックスコントローラ10はゲート
アレイによって実現される1個のLSIであり、この表
示制御システム4の主要部を成す。このグラフィックス
コントローラ10は、ホストCPU1からの指示に従っ
てフラットパネルディスプレイ40およびカラーCRT
ディスプレイ50を制御する。また、このグラフィック
スコントローラ10は、バスマスタとして機能し、シス
テムメモリ2を直接アクセスすることができる。
【0015】ビデオメモリ30は、フラットパネルディ
スプレイ40またはカラーCRTディスプレイ50に表
示すべき画面イメージを格納するビットマップメモリで
ある。このビデオメモリ30は例えばシンクロナスDR
AMから構成されている。シンクロナスDRAMは、ク
ロック同期式オペレーション、コマンドによる動作モー
ド制御、2バンクメモレセルアレイ構成という特徴を持
つメモリである。ビデオメモリ30は、例えば、256
K×16ビット構成のシンクロナスDRAMチップを2
個並列接続することによって実現できる。この場合、3
2ビット幅単位でデータのリード/ライトが行なわれ
る。
【0016】XGA仕様に適合したアプリケーションプ
ログラム等で作成されたイメージデータは、パックドピ
クセル方式によってビデオメモリ30に格納される。こ
のパックドピクセル方式は、メモリ上の連続する複数の
ビットで1画素を表す色情報マッピング形式であり、例
えば、1画素を1,2,4,8,16、または24ビッ
トで表す方式が採用されている。一方、VGA仕様のイ
メージデータは、VGA仕様に適合したアプリケーショ
ンプログラム等で作成されるものであり、メモリプレー
ン方式によってビデオメモリ30に格納される。このメ
モリプレーン方式は、メモリ領域を同一アドレスで指定
される複数のプレーンに分割し、これらプレーンに各画
素の色情報を割り当てる方式である。例えば、4プレー
ンを持つ場合には、1画素は、各プレーン毎に1ビット
づつの合計4ビットのデータによって表現される。
【0017】また、ビデオメモリ30には、テキストデ
ータも格納される。1文字分のテキストデータは、XG
A、VGAのどちらの仕様においても,8ビットのコー
ドと8ビットのアトリビュートからなる合計2バイトの
サイズを持つ。アトリビュートは、フォアグランドの色
を指定する4ビットデータとバックグランドの色を指定
する4ビットデータから構成されている。
【0018】グラフィックスコントローラ10は、レジ
スタ制御回路11、システムバスインターフェース1
2、グラフィクスアクセラレータ13、メモリ制御回路
14、CRTコントローラ(CRTC)16、スプライ
トメモリ19、シリアライザ20、ラッチ回路21、フ
ォアグランド/バックグランドマルチプレクサ22、グ
ラフィック/テキストマルチプレクサ23、カラーパレ
ット制御回路24、スプライトカラーレジスタ25、C
RTビデオマルチプレクサ26、スプライト制御回路2
7、フラットパネルエミュレーション回路28、および
DAC(D/Aコンバータ)35から構成されている。
【0019】レジスタ制御回路11は、システムバスイ
ンターフェース12を介してローカルバス3からのアド
レスおよびデータを受けとり、アドレスのデコード、お
よびそのデコード結果によって指定される各種レジスタ
に対するリード/ライト制御を行なう。
【0020】システムバスインターフェース12は、ロ
ーカルバス3を介してホストCPU1とのインターフェ
ース制御を行なうものであり、バースト転送をサポート
している。さらに、システムバスインターフェース12
には、キャッシュ121が内蔵されている。このキャッ
シュ121は、CPU1やアクセラレータ13とビデオ
メモリ30との間のイメージデータの転送を高速にする
ために利用されるものであり、ビデオメモリ30のイメ
ージデータの一部を保持する。CPU1やアクセラレー
タ13によってリード要求されたイメージデータがキャ
ッシュ121に存在する場合は、そのキャッシュ121
からイメージデータが読み出されてCPU1またはアク
セラレータ13に転送される。この場合、ビデオメモリ
30はリードアクセスされない。
【0021】グラフィクスアクセラレータ13は、CP
U1からの指示に応答して、ビデオメモリ30中のイメ
ージデータに対してさまざまな描画機能を提供する。こ
のアクセラレータ13は、BitBlt(bit bl
ock transfer)等の画素のブロック転送、
線描画、円弧描画、領域の塗りつぶし、画素間の論理/
算術演算、画面の切り出し、マップのマスク、X−Y座
標でのアドレッシング、ページングによるメモリ管理機
能等を有している。
【0022】このアクセラレータ13は、図2に示され
ているように、コプロレジスタ131、X−Yアドレス
発生ユニット132、リニアアドレス変換ユニット13
3、データ転送制御ユニット134、ページングユニッ
ト135、および演算ユニット(ALU)136から構
成されている。
【0023】コプロレジスタ131は、CPU1によっ
てアクセス可能な複数のI/Oレジスタを備えている。
これら各レジスタには、アクセラレータ13の描画機能
を使用するためのパラメタ値などがセットされる。
【0024】X−Yアドレス発生ユニット132は、B
itBltによって転送される矩形領域アクセスまたは
線描画などのためのX−Yの2次元アドレスを発生す
る。この場合、線描画のためのX−Yアドレスは、X−
Yアドレス発生ユニット132内蔵のライン描画回路1
32aによって算出される。このライン描画回路132
aには、ライン描画速度を向上するために、描画対象の
ラインからそれに含まれる水平ライン成分を検出し、そ
の水平ライン単位でビデオメモリ30へのデータ転送を
データ転送制御ユニット134に実行させるためのロジ
ックが組み込まれている。この場合、転送要求は信号T
RRQ(Transfer request)によって
ライン描画回路132aからデータ転送制御ユニット1
34に通知され、その時の転送ピクセル数はNOPEL
(Number of pixelto transf
er)によって指示される。ここで、実際には、NOP
ELは、転送ピクセル数−1を示している。
【0025】このライン描画回路132aの構成はこの
発明の特徴とする部分であり、その詳細は図3以降で説
明する。リニアアドレス変換ユニット133は、セグメ
ンテーションなどを用いてX−Yアドレスをメモリアク
セスのためのリニアアドレス(物理アドレス)に変換す
る。この場合、リニアアドレス変換ユニット133によ
るリニアアドレス変換処理は、スタートアドレスについ
てのみ行われ、それに後続するアドレスについてはデー
タ転送制御ユニット134のリニアアドレス制御ユニッ
ト134aによって実行される。ページングユニット1
35は、CPU1と同じ仮想記憶機構をサポートするた
めのものであり、ページング有効時にはリニアアドレス
変換ユニット133またはリニアアドレス制御ユニット
134aが作ったリニアアドレスをページングによって
実アドレスに変換する。この変換では、アドレス変換バ
ッファ(TLB)が使用される。また、ページング無効
時にはリニアアドレスをそのまま実アドレスとして出力
する。
【0026】データ転送制御ユニット134は、システ
ムメモリ2およびビデオメモリ30それぞれとの間のデ
ータ転送制御を行なうものであり、前述のリニアドレス
制御ユニット134aに加え、システムメモリインタフ
ェース134b、およびピクセルデータ制御ユニット1
34cを備えている。
【0027】ピクセルデータ制御ユニット134cは、
シフト回路201、およびデータバッファ202を備え
ており、シフト、論理算術演算、ビットマスク、カラー
比較等のピクセルデータ演算、およびVGA互換のBi
tBit機能をサポートする。論理算術演算は、ALU
136と共同して行われる。
【0028】図1のメモリ制御回路14は、ビデオメモ
リ30をアクセス制御するためのものであり、CPU
1、およびアクセラレータ13からのイメージデータの
リード/ライト要求に従ってビデオメモリ30をリード
/ライトアクセスすると共に、CRTC16からの表示
アドレスに従って、画面リフレッシュのためにビデオメ
モリ30をリードアクセスする。
【0029】このメモリ制御回路14には、シンクロナ
スDRAMに対するアクセス効率を高めるためのアドレ
ス制御ロジックおよひコマンド制御ロジックが組み込ま
れている。これらロジックは、プリチャージサイクルの
挿入無しでシンクロナスDRAMに対する複数回のリー
ド/ライトサイクルを連続して実行することを可能す
る。また、メモリ制御回路14は、アドレスカウンタを
内蔵しており、リードアドレスをスタートアドレスとし
てそれに続く複数の番地に対してデータを連続してリー
ド/ライトするバースト転送機能を有している。
【0030】メモリ制御回路14とビデオメモリ30間
のデータバス幅は、ローカルバス3のデータ転送幅と同
じ、例えば32ビットに設定されている。CRTコント
ローラ16、スプライトメモリ19、シリアライザ2
0、ラッチ回路21、フォアグランド/バックグランド
マルチプレクサ22、グラフィック/テキストマルチプ
レクサ23、カラーパレット制御回路24、スプライト
カラーレジスタ25、CRTビデオマルチプレクサ2
6、スプライト制御回路27、フラットパネルエミュレ
ーション回路28、およびDAC(D/Aコンバータ)
35は、画面リフレッシシュのために、ビデオメモリ3
0からイメージデータをリードしてそれをビデオ信号に
変換する表示制御回路を構成する。
【0031】CRTコントローラ(CRTC)16は、
フラットパネルディスプレイ40またはCRTディスプ
レイ50を制御するための各種表示タイミング信号(水
平同期信号、垂直同期信号等)や、ビデオメモリ30か
ら画面表示すべきイメージデータを読み出すための表示
アドレスを発生する。
【0032】スプライトメモリ19には、グラフィクス
モードではスプライトデータ、テキストモードではフォ
ントが書き込まれる。テキストモードでは、ビデオメモ
リ30から読み出されたテキストデータのコードがイン
デックスとしてスプライトメモリ19に供給され、その
コードに対応するフォントが読み出される。
【0033】シリアライザ20は、ビデオメモリ30か
ら読み出された複数画素分のパラレルピクセルデータを
ピクセル単位(シリアル)に分割して出力するためのパ
ラレル/シリアル変換回路であり、グラフィクスモード
では、ビデオメモリ30から読み出されるイメージデー
タとスプライトメモリ19から読み出されるスプライト
データをそれぞれパラレル/シリアル変換し、テキスト
モードでは、スプライトメモリ19から読み出されるフ
ォントデータをパラレル/シリアル変換する。
【0034】ラッチ回路21は、コードデータからフォ
ントデータへの変換の遅れ時間だけアトリビュートの出
力タイミングを遅延させるためのものであり、テキスト
モードにおいてビデオメモリ30から読み出されるテキ
ストデータのアトリビュートを保持する。フォアグラン
ド/バックグランドマルチプレクサ22は、テキストモ
ードにおいてアトリビュートのフォアグランド色(前面
色)/バックグランド色(背景色)の一方を選択する。
この選択は、シリアライザ20から出力されるフォント
データの値“1”(フォアグランド),“0”(バック
グランド)によって制御される。グラフィックス/テキ
ストマルチプレクサ23は、グラフィックスモードとテ
キストモードの切替えを行なうためのものであり、グラ
フィックスモードにおいてはシリアライザ20から出力
されるメモリデータを選択し、テキストモードにおいて
はフォアグランド/バックグランドマルチプレクサ22
の出力を選択する。
【0035】カラーパレット制御回路24は、グラフィ
ックスまたはテキストデータの色変換を行なうためのも
のである。このカラーパレット制御回路24は、2段構
成のカラーパレットテーブルを備えている。第1のカラ
ーパレットテーブルは、16個のカラーパレットレジス
タから構成されている。各カラーパレットレジスタに
は、6ビットのカラーパレットデータが格納されてい
る。第2のカラーパレットテーブルは、256個のカラ
ーパレットレジスタから構成されている。各カラーパレ
ットレジスタには、R,G,Bそれぞれ8ビットから構
成される24ビットのカラーデータが格納されている。
【0036】グラフィックスモードにおいては、8ビッ
ト/ピクセルのXGA仕様のメモリデータは、第1のカ
ラーパレットテーブルを介さずに、第2のカラーパレッ
トテーブルに直接送られ、そこでR,G,Bそれぞれ8
ビットから構成されるカラーデータに変換される。ま
た、4ビット/ピクセルのVGA仕様のメモリデータ
は、まず第1のカラーパレットテーブルに送られ、そこ
で6ビットのカラーデータに変換されて出力される。そ
して、この6ビットのカラーデータには、カラーパレッ
ト制御回路19内蔵のカラー選択レジスタから出力され
る2ビットデータが加えられ、これにより合計8ビット
のカラーデータとなる。この後、その8ビットのカラー
データは、第2のカラーパレットテーブルに送られ、そ
こでR,G,Bそれぞれ8ビットから構成されるカラー
データに変換される。
【0037】一方、テキストモードにおいては、XG
A,VGAどちらの仕様のテキストデータも、第1およ
び第2の2段のカラーパレットテーブルを介して、R,
G,Bそれぞれ8ビットから構成されるカラーデータに
変換される。
【0038】また、XGAのグラフィクスモードにおい
ては、1画素が16ビットまたは24ビットから構成さ
れるダイレクトカラーモードがあり、この場合には、そ
のピクセルデータは、カラーパレット制御回路24を介
さずに、CRTビデオマルチプレクサ26に直接供給さ
れる。
【0039】スプライトカラーレジスタ25は、ハード
ウェアカーソルなどのスプライト表示色を指定するスプ
ライト表示データを格納する。CRTビデオマルチプレ
クサ26は、CRTビデオ表示出力を選択するものであ
り、カラーパレット制御回路24の出力、シリアライザ
20からのダイレクトカラー出力、スプライト表示デー
タ、または外部ビデオデータの選択を行なう。この選択
動作は、CRTC16からの表示タイミング信号によっ
て制御される。外部ビデオデータは、例えば表示制御シ
ステム4の外部から入力される動画などのビデオデータ
である。スプライト制御回路27は、シリアライザ20
によってパラレル/シリアル変換されたスプライトデー
タに従ってスプライトカラーレジスタ25のスプライト
表示データを出力する。
【0040】フラットパネルエミュレーション回路28
は、CRTビデオ出力を変換してフラットパネルディス
プレイ40用のフラットビデオデータを生成する。DA
C35は、CRTビデオマルチプレクサ26から出力さ
れるCRTビデオデータをアナログR,G,B信号に変
換してCRTディスプレイ50に供給する。
【0041】次に、図3を参照して、アクセラレータ1
3に設けられたライン描画回路132aの具体的な構成
を説明する。ライン描画回路132aは、直線の描画が
指定された時、その直線の中に含まれる水平ライン線分
をブレゼンハムアルコリズムのエラータームを用いて検
出し、その水平ライン線分毎に転送ピクセル数(NOP
EL)を算出する構成であり、図示のように、転送先X
−Yアドレス演算回路201、制御回路202、ピクセ
ルカウント(PCNT)回路203、およびブレゼンハ
ムエラーターム演算回路204を備えている。
【0042】これら各回路の動作を分かり易くするため
に、まず、ブレゼンハムのアルゴリズムを用いた転送先
X−Yアドレス(DX,DY)の算出原理を説明する。
ブレゼンハムのアルゴリズムは、ライン描画機能を実行
するために使用されるアルゴリズムであり、現在の座標
値(X,Y)の次の座標値を、(X+1,Y)と(X+
1,Y+1)のどちらにするかをピクセル毎に決定し、
これにより始点座標と終点座標間を結ぶ各ピクセルの座
標値を求める。このアルゴリズムでは、第1オクタント
(オクタント0)に正規化された次の3つのパラメタが
使用される。
【0043】1.ブレゼンハムエラータ−ムE { E=2×deltaY−deltaX} 2.ブレゼンハム定数K1 {K1=2×deltaY} 3.ブレゼンハム定数K2 {K2=2×(deltaY−deltaX)} ここで、deltaXは、終点座標と始点座標とのXア
ドレス値の差を示し、deltaYは、終点座標と始点
座標とのYアドレス値の差を示している。例えば、図4
に示されているように、デスティネーションマップ上の
転送先始点座標が(STDX,STDY)で、転送先終
点座標が(LIMDX,LIMDY)の場合には、 deltaX=LIMDX−STDX deltaY=LIMDY−STDY となる。
【0044】ブレゼンハムエラータ−ムEは、現在の転
送先座標値(X,Y)の次の転送先座標値を(X+1,
Y)と(X+1,Y+1)のどちらにするかを決定する
ために使用される。ブレゼンハムエラータ−ムE≧0な
らば、(X+1,Y+1)が選択される。一方、ブレゼ
ンハムエラータ−ムE<0ならば、(X+1,Y)が選
択される。
【0045】ブレゼンハムのアルゴリズムを用いたライ
ン描画の手順は、図5の通りである。すなわち、まず、
始点と終点それぞれのX−Y座標が与えられ、その座標
値に従ってパラメタE,K1,K2が求められてコプロ
レジスタ131にセットされる(ステップS101)。
次いで、始点座標のXアドレスの値が+1カウントアッ
プされた後、ブレゼンハムエラータ−ムEがE≧0であ
るか否かが調べられる(ステップS104)。
【0046】E≧0ならば、Eの値がE+K2に更新さ
れ、始点座標のYアドレスの値が+1カウントアップさ
れる(ステップS104、S105)。これにより、始
点座標(X,Y)の次のピクセルの座標値が(X+1,
Y+1)に決定される。
【0047】一方、E<0ならば、Eの値だけがE+K
1に更新され、始点座標のYアドレスの値は更新されな
い(ステップS106)。これにより、始点座標(X,
Y)の次のピクセルの座標値が(X+1,Y)に決定さ
れる。
【0048】次ピクセルの座標値が決定されると、線分
長L(L=終点座標のXアドレス−始点座標のXアドレ
ス)が−1される(ステップS107)。ステップS1
02〜S107の処理は線分長Lが0になるまで、繰り
返し実行される(ステップS108)。これにより、始
点から終点を結ぶ線分が描画される。
【0049】図3の転送先X−Yアドレス演算回路20
1は、制御回路202からの制御信号によって制御さ
れ、直線を描画するための転送先X−Yアドレス(D
X,DY)および転送ピクセル数(NOPEL)を算出
する。転送先X−Yアドレス(DX,DY)は、上述し
たブレゼンハムのアルゴミズムに従って直線を構成する
ピクセル毎に求められ、リニアアドレス変換ユニット1
33に送られる。転送ピクセル数(NOPEL)は、水
平ラインを描画する場合には、その水平ライン長−1、
つまり水平ラインを構成するピクセル数−1を示し、あ
る傾きを持った直線を描画する場合にはその直線を構成
する複数の水平ライン線分の内で、転送対象となる水平
ライン線分のピクセル数−1を示す。
【0050】この転送先X−Yアドレス演算回路201
には、DXカウンタ301、ネクストDX(NDX)カ
ウンタ302、DYカウンタ303、減算器304、コ
ンパレータ305,306、およびORゲート307が
設けられている。
【0051】DXカウンタ301には、転送開始デスト
ネーションXアドレス(STDX)がロードされる。S
TDXは始点座標のXアドレスの値を示す。DXカウン
タ301の出力DXの初期値はSTDXであり、制御回
路202からDX更新要求信号(DXUDRQ)が発生
された時、その時に減算器304から出力されているN
OPELの値だけインクリメントされる。DXカウンタ
301の出力DXは、減算器304の第1入力に供給さ
れる。
【0052】NDXカウンタ302には、水平ラインの
描画の時には、デスティネ−ションXアドレス限界値
(LINDX)が初期値としてロードされる。LIND
Xは、終点座標がデスティネーションまたはマスクマッ
プバウンダリを横切らない場合にはラインの終点座標の
Xアドレス値となり、横切る場合にはそのマップ内の最
終Xアドレスとなる。
【0053】また、ある傾きを持ったラインを描画する
時には、STDXがNDXカウンタ302に初期値とし
てロードされる。この場合、NDXカウンタ302のS
TDXの値は、制御回路202からのブレゼンハムエラ
ーターム更新要求パルス(BETUD;Bresenh
am error term update requ
est pulse)に応じて、+1単位でピクセル毎
にカウントアップされる。ブレゼンハムエラーターム更
新要求パルス(BETUD)は、前述したブレゼンハム
エラータームEの値をE+K2またはE+K1に更新す
るために使用される信号であり、ピクセルの座標値が決
定される度に発生される。
【0054】NDXカウンタ302にLINDXとST
DXのどちらをロードするかは、制御回路302によっ
て制御される。NDXカウンタ302の出力NDXは、
減算器304の第2入力、およびコンパレータ305の
第1入力に供給される。コンパレータ305の第2入力
には、LIMDXが入力されている。
【0055】DYカウンタ303には、転送開始デステ
ィネーションYアドレス(STDY)がロードされる。
STDYは始点座標のYアドレスの値を示す。DYカウ
ンタ303のDYの値は、制御回路202からのDY更
新要求信号(DYUDRQ)に応じて+1単位でカウン
トアップされる。DY更新要求信号(DYUDRQ)
は、ブレゼンハムエラータームEがE≧0になる時、つ
まり(X+1,Y+1)の座標を選択する時に発生され
る。
【0056】DYカウンタ303の出力DYは、コンパ
レータ306の第1入力に供給される。コンパレータ3
06の第2入力には、LIMDYが入力されている。L
IMDYは、終点座標がデスティネーションまたはマス
クマップバウンダリを横切らない場合にはラインの終点
座標のYアドレス値を示し、横切る場合にはそのマップ
内の最終Yアドレスを示す。
【0057】減算器304は、NDXカウンタ302か
らの出力NDXの値からDXカウンタ301からの出力
DXの値を減算することにより、|NDX−DX|を転
送ピクセル数(NOPEL)として算出する。
【0058】水平ラインの描画の場合には、NDXカウ
ンタ302の出力NDXの値はLIMDXと等しいの
で、|NDX−DX|(=NOPEL)は水平ラインを
構成するピクセル数−1に相当する。
【0059】ある傾きを持つラインの描画の場合には、
NDXカウンタ302の出力NDXの値は+1単位でピ
クセル毎にカウントアップされ、またDXカウンタ30
1の出力DXはDY更新要求信号(DYUDRQ)が発
生される度にその時の|NDX−DX|(=NOPE
L)の値だけインクリメントされる。
【0060】このため、ある傾きを持つラインの描画の
場合においては、DY更新要求信号(DYUDRQ)が
発生された時、|NDX−DX|(=NOPEL)は、
描画対象ラインを構成する水平ライン線分の中で、転送
対象の水平ライン線分のピクセル数−1を示す。
【0061】コンパレータ305は、NDXカウンタ3
01の出力NDXとLIMDXとを比較し、それらが一
致した時に論理“1”レベルの一致信号をORゲート3
07に出力する。コンパレータ306は、DYカウンタ
301の出力DYとLIMDYとを比較し、それらが一
致した時に論理“1”レベルの一致信号をORゲート3
07に出力する。
【0062】コンパレータ305または306から一致
信号が出力されると、ORゲート307から制御回路2
02に最終転送信号(LASTTR;Last tra
nsfer)が出力される。LASTTRは、転送終了
条件が成立し、次の転送サイクルで描画のための転送が
完了することを示す。
【0063】制御回路202は、ライン描画回路132
a全体の動作制御、およびデータ転送制御回路134と
のインターフェース制御を実行する。制御回路202と
データ転送制御回路134との間では、転送開始パルス
(TRSP;Transfer start puls
e)、転送要求信号(TRRQ;Transfer r
equest)、転送レディー信号(TRRDY;Tr
ansfer ready)、転送完了信号(TREN
D;Transferend)が授受される。
【0064】転送開始パルス(TRSP)はライン描画
のためのデータ転送開始を示すものであり、例えば、コ
プロレジスタ131にライン描画コマンドがセットされ
た時にデータ転送制御回路134から制御回路202に
送られる。
【0065】転送要求信号(TRRQ)は、前述したよ
うにデータ転送制御ユニット134に対してデータ転送
を要求する信号であり、その時の転送ピクセル数は前述
のNOPELによってデータ転送制御ユニット134に
指示される。転送要求信号(TRRQ)は、ブレゼンハ
ムエラータームEが負からE≦0に変化した時、または
最終転送信号(LASTTR)に応答して、発生され
る。
【0066】転送レディー信号(TRRDY)は、デー
タ転送制御ユニット134から制御回路202に送られ
る信号であり、転送要求信号(TRRQ)を受け付けた
ことを示す。
【0067】転送完了信号(TREND)は、制御回路
202からデータ転送制御ユニット134に送られる信
号であり、描画のための全てのデータ転送要求の発行が
完了したことを示す。
【0068】制御回路202とアドレス演算回路201
との間では、前述した最終転送信号(LASTTR)、
ブレゼンハムエラーターム更新要求パルス(BETU
D)、DX更新要求信号(DXUDRQ)およびDY更
新要求信号(DYUDRQ)の他、更新要求信号DXU
DRQ,DYUDRQに対するレディー信号DXUDR
Y,DYUDRYなどが授受される。
【0069】ピクセルカウント(PCNT)回路203
は、描画対象ラインの中で座標値が算出されてない残り
ピクセル数をカウントし、ピクセルカウント信号(PE
Lcount)を発生する。ピクセルカウント信号(P
CNT;PEL count)の値は、ブレゼンハムエ
ラーターム更新要求パルス(BETUD)に応じて1ピ
クセル当たり1づつデクリメントされ、残りピクセル数
が零、つまり転送完了時には零になる。尚、水平ライン
を描画する場合には、水平ラインを構成する全てのピク
セルが1度に転送されるので、ピクセルカウント信号
(PEL count)の値は、NOPELの値だけ一
度にデクリメントされる。
【0070】ブレゼンハムエラーターム演算回路204
は、図5で説明したブレゼンハムアルコリズムに従って
ブレゼンハムエラータームEを順次更新し、そのブレゼ
ンハムエラータームEの符号ビットを出力する。ここで
は、ブレゼンハムエラータームEが−8192≦E≦8
191の値を取る場合を想定しており、符号ビットはエ
ラータームのデータ列(BET<13−0>)のビット
13(BET<13>)となる。
【0071】次に、図6乃至図9を参照して、図3のラ
イン描画回路132aの動作を説明する。まず、図7の
タイミングチャートを参照して、図6のような水平ライ
ンを転送する場合の動作について説明する。図6におい
ては、始点座標と終点座標がデスティネーションマップ
バウンダリを跨がって指定された場合が例示されてい
る。
【0072】この場合、deltaYは零であるので、
ブレゼンハムアルコリズムで使用される3つのパラメタ
の値は、それぞれ次のように求められる。 K1 = 0 K2 = −2 × deltaX E = −deltaX これらパラメタ値はコプロレジスタ131に設定され、
ブレゼンハムエラーターム演算回路204および制御回
路202によって参照される。
【0073】制御回路202は、K1=0であることか
ら、描画対象のラインが水平ラインであることを認識す
る。転送開始パルス(TRSP)がデータ転送制御回路
134から制御回路202に送られた時、制御回路20
2は、DXカウンタ301およびDYカウンタ303に
それぞれSTDXおよびSTDYをロードすると共に、
NDXカウンタ302にLIMDXをロードする。この
場合、LIMDXは、デスティネーションマップの最終
Xアドレスの値を示す。また、この時、NDXカウンタ
302の出力NDXがLIMDXに等しいため、最終転
送信号(LASTTR)が制御回路202に送られる。
【0074】制御回路202は、最終転送信号(LAS
TTR)に応答して転送要求信号(TRRQ)を発行
し、データ転送制御ユニット134にデータ転送を要求
する。この時、減算回路によって求められたNOPEL
(=|NDX−DX|)が転送ピクセル数としてデータ
転送制御ユニット134に送られる。また、DXカウン
タ301の出力DXおよびDYカウンタ303の出力D
Yは、転送開始X−Yアドレスとしてリニアアドレス変
換ユニット133に送られ、そこでビデオメモリ30に
データ転送するためのスタートアドレスに変換される。
【0075】転送要求信号(TRRQ)を受け取ると、
データ転送制御ユニット134は、メモリ制御回路14
を用いて、|NDX−DX|+1個分のピクセルデータ
をビデオメモリ30に連続して転送するブロック転送を
開始し、それらピクセルデータをビデオメモリ30上の
連続する番地に書き込む。
【0076】このデータ転送が完了して転送レディー信
号(TRRDY)がアクティブステートからインアクテ
ィブステートに変化すると、制御回路202は、ブレゼ
ンハムエラーターム更新要求パルス(BETUD)を発
行する。このブレゼンハムエラーターム更新要求パルス
(BETUD)に応じて、ピクセルカウント信号(PC
NT)の値は、NOPELの値だけ一度にデクリメント
されて零となる。この後、制御回路202は、転送完了
信号(TREND)を発行して、描画のための全てのデ
ータ転送要求の発行が完了したことをデータ転送制御ユ
ニット134に通知する。
【0077】このように、水平ラインを描画する場合に
おいては、その水平ラインを構成するピクセル数が求め
られ、そのピクセル数分のデータが一度にビデオメモリ
30に転送される。したがって、ピクセル単位でビデオ
メモリにデータを転送する従来のグラフィックスコント
ローラよりも水平ラインの描画の性能を大幅に向上する
ことができる。
【0078】次に、図9のタイミングチャートを参照し
て、図8のような水平線分を含むラインを描画する場合
の動作について説明する。図8においては、始点座標と
終点座標がデスティネーションマップバウンダリ内に収
まっている場合が例示されている。
【0079】この場合、deltaYは零ではないの
で、ブレゼンハムアルコリズムで使用される3つのパラ
メタの値は、それぞれ次のように求められる。 K1 = 2 × deltaY K2 = 2 × (deltaY − delta
X) E = 2 × deltaY − deltaX これらパラメタ値はコプロレジスタ131に設定され、
ブレゼンハムエラーターム演算回路204および制御回
路202によって参照される。
【0080】制御回路202は、K1,K2が0でない
ことから、描画対象のラインがある傾きをもったライン
であることを認識する。転送開始パルス(TRSP)が
データ転送制御回路134から制御回路202に送られ
た時、制御回路202は、DXカウンタ301およびD
Yカウンタ303にそれぞれSTDXおよびSTDYを
ロードすると共に、NDXカウンタ302にSTDXを
ロードする。
【0081】制御回路202は、STDXおよびSTD
Yに後続するピクセルの座標値を求めるためにピクセル
毎にブレゼンハムエラーターム更新要求パルス(BET
UD)を発行し、これに応答するブレゼンハムエラータ
ーム演算回路204からの出力BET<13>が零であ
るか否かを調べる。
【0082】BET<13>が1、つまりブレゼンハム
エラータームE<0の期間においては、DXカウンタ3
01およびDYカウンタ303に対する更新要求DXU
DRQ,DYUDRQは共に発生されず、NDXカウン
タ302の出力NDXだけがブレゼンハムエラーターム
更新要求パルス(BETUD)に応答して+1ずつイン
クリメントされる。
【0083】BET<13>が0、つまりブレゼンハム
エラータームE≧0になると、制御回路202は、転送
要求信号(TRRQ)を発行し、データ転送制御ユニッ
ト134にデータ転送を要求する。
【0084】この時、減算回路によって求められたNO
PEL(=|NDX−DX|)が転送ピクセル数として
データ転送制御ユニット134に送られる。図7のタイ
ミングチャートでは、BET<13>が最初に0になっ
た時のNDX=STDX+1、DX=STDXであるの
で、NOPELの値は1となる。
【0085】DXカウンタ301の出力DX(=STD
X)およびDYカウンタ303の出力DY(=STD
Y)は、転送開始X−Yアドレスとしてリニアアドレス
変換ユニット133に送られ、そこでビデオメモリ30
にデータ転送するためのスタートアドレスに変換され
る。
【0086】転送要求信号(TRRQ)を受け取ると、
データ転送制御ユニット134は、メモリ制御回路14
を用いて、NOPEL+1個(ここでは、2個)分のピ
クセルデータをビデオメモリ30に連続して転送するブ
ロック転送を開始し、それらピクセルデータをビデオメ
モリ30上の連続する番地に書き込む。
【0087】このデータ転送が完了して転送レディー信
号(TRRDY)がアクティブステートからインアクテ
ィブステートに変化すると、制御回路202は、Xカウ
ンタ301およびDYカウンタ303に対する更新要求
DXUDRQ,DYUDRQを発生し、次のピクセルの
Yアドレスを示すDYカウンタ303の出力DYをDY
+1に更新すると共に、DXカウンタ301の出力DX
を、転送したピクセル数(NOPEL+1)だけインク
リメントする。
【0088】この後、BET<13>が0、つまりブレ
ゼンハムエラータームE≧0になるまで、DXカウンタ
301およびDYカウンタ303に対する更新要求DX
UDRQ,DYUDRQは共に発生されず、NDXカウ
ンタ302の出力NDXだけがブレゼンハムエラーター
ム更新要求パルス(BETUD)に応答して+1ずつイ
ンクリメントされる。
【0089】そして、BET<13>が0になると、制
御回路202は、転送要求信号(TRRQ)を発行し、
データ転送制御ユニット134にデータ転送を要求す
る。この時、減算回路によって求められたNOPEL
(ここでは、NOPEL=2)が転送ピクセル数として
データ転送制御ユニット134に送られる。
【0090】また、この時のDXカウンタ301の出力
DXおよびDYカウンタ303の出力DYは、転送開始
X−Yアドレスとしてリニアアドレス変換ユニット13
3に送られ、そこでビデオメモリ30にデータ転送する
ためのスタートアドレスに変換される。
【0091】転送要求信号(TRRQ)を受け取ると、
データ転送制御ユニット134は、メモリ制御回路14
を用いて、NOPEL+1個(ここでは、3個)分のピ
クセルデータをビデオメモリ30に連続して転送するブ
ロック転送を開始し、それらピクセルデータをビデオメ
モリ30上の連続する番地に書き込む。
【0092】このデータ転送が完了して転送レディー信
号(TRRDY)がアクティブステートからインアクテ
ィブステートに変化すると、制御回路202は、Xカウ
ンタ301およびDYカウンタ303に対する更新要求
DXUDRQ,DYUDRQを発生し、次のピクセルの
Yアドレスを示すDYカウンタ303の出力DYをDY
+1に更新すると共に、DXカウンタ301の出力DX
を、転送したピクセル数(NOPEL+1)だけインク
リメントする。
【0093】そして、NDX=LINDX、またはDY
=LIMDYになると、最終転送信号(LASTTR)
が制御回路202に送られる。制御回路202は、最終
転送信号(LASTTR)に応答して転送要求信号(T
RRQ)を発行し、データ転送制御ユニット134にデ
ータ転送を要求する。この時、減算回路によって求めら
れたNOPEL(ここでは、0)が転送ピクセル数とし
てデータ転送制御ユニット134に送られる。また、D
Xカウンタ301の出力DXおよびDYカウンタ303
の出力DYは、転送開始X−Yアドレスとしてリニアア
ドレス変換ユニット133に送られ、そこでビデオメモ
リ30にデータ転送するためのスタートアドレスに変換
される。
【0094】転送要求信号(TRRQ)を受け取ると、
データ転送制御ユニット134は、メモリ制御回路14
を用いて、NOPEL+1個分のピクセルデータをビデ
オメモリ30に転送し、そのピクセルデータをビデオメ
モリ30上に書き込む。
【0095】このデータ転送が完了して転送レディー信
号(TRRDY)がアクティブステートからインアクテ
ィブステートに変化すると、制御回路202は、ブレゼ
ンハムエラーターム更新要求パルス(BETUD)を発
行する。このブレゼンハムエラーターム更新要求パルス
(BETUD)に応じて、ピクセルカウント信号(PC
NT)の値は零となる。この後、制御回路202は、転
送完了信号(TREND)を発行して、描画のための全
てのデータ転送要求の発行が完了したことをデータ転送
制御ユニット134に通知する。
【0096】このように、水平部分を含むラインを描画
する場合においても、その水平ライン部毎にそれを構成
するピクセル数が求められ、そのピクセル数分のデータ
がビデオメモリ30にブロック転送される。したがっ
て、ある傾きを持つ直線の場合についても、従来のグラ
フィックスコントローラよりも描画性能を大幅に向上す
ることができる。
【0097】また、水平ライン線分を構成するピクセル
のブロック転送については、X−Yアドレス発生回路1
32およびピクセルデータ制御回路134cによってサ
ポートされるBitBlt機能を利用することが好まし
い。
【0098】これは、水平ライン線分を指定するライン
パラメタ(転送開始座標DX,DY、転送ピクセル数N
OPEL、線幅)の値を、BitBlt機能に対応する
パラメタ値(矩形領域の始点座標、幅、および高さ)に
変換するハードウェアロジックをアクセラレータ13内
に設け、矩形領域の高さを示す値をラインの線幅(例え
ば、1)に置き換えることによって実現することができ
る。
【0099】具体的には、図10に示されているよう
に、アクセラレータ13内にパラメタ変換回路501お
よびマルチプレクサ502を設ければよい。パラメタ変
換回路501は、水平ライン線分を指定するラインパラ
メタ(転送開始座標DX,DY、転送ピクセル数NOP
EL、線幅)の値を、BitBlt機能に対応するパラ
メタ値(矩形領域の始点座標、幅、および高さ)に変換
してマルチプクサ502に出力する。マルチプクサ50
2は、通常はコプロレジスタ131からBitBlt転
送のためのパラメタ値を選択してBitBlt転送ロジ
ックに送るが、ライン描画コマンドがコプロレジスタ1
31に設定された時は、BitBlt転送のためのパラ
メタ値の代わりに、パラメタ変換回路501の出力を選
択してBitBlt転送ロジックに送る。
【0100】BitBlt転送ロジックは、ライン描画
コマンドとBitBlt転送コマンドのどちらがコプロ
レジスタ131に設定された時でも動作する。BitB
ltはグラフィクスコントローラがサポートする基本機
能であるので、このBitBlt機能を利用することに
より、ライン転送のための専用ハードウェアを設ける事
なく、水平ライン線分を構成するピクセルをブロック転
送することができる。
【0101】
【発明の効果】以上説明したように、この発明によれ
ば、ホストシステムから描画要求された直線の中に水平
ライン線分が含まれていると、その水平ライン線分のピ
クセル数が計数され、水平ライン線分毎にそれを構成す
るピクセル数のデータがビデオメモリにまとめて転送さ
れる。従って、ピクセル単位でビデオメモリに転送する
従来のグラフィックスコントローラよりも直線描画の性
能を大幅に向上することができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るグラフィックスコン
トローラを利用した表示制御サブシステムの構成を示す
ブロック図。
【図2】図1のグラフィックスコントローラに設けられ
たグラフィックスアクセラレータの構成を示すブロック
図。
【図3】図2のグラフィックスアクセラレータに設けら
れたライン描画回路の構成を示すブロック図。
【図4】図3のライン描画回路によって使用されるブレ
ゼンハムアルゴリズムのパラメタを説明するための図。
【図5】図3のライン描画回路によって実行されるブレ
ゼンハムアルゴリズムを用いた座標値決定動作を説明す
るためのフローチャート。
【図6】図3のライン描画回路によって描画される水平
ラインの一例を示す図。
【図7】図6の水平ラインを描画する場合における図3
のライン描画回路の動作を説明するタイミングチャー
ト。
【図8】図3のライン描画回路によって描画される水平
ライン部を含む直線の一例を示す図。
【図9】図8のラインを描画する場合における図3のラ
イン描画回路の動作を説明するタイミングチャート。
【図10】図2のグラフィックスアクセラレータに設け
られるパラメタ変換回路の構成を示す図。
【符号の説明】
10…グラフィクスコントローラ、13…アクセラレー
タ、14…メモリ制御回路、30…ビデオメモリ、13
1…コプロレジスタ、132…X−Yアドレス発生ユニ
ット、133…リニアアドレス変換ユニット、134…
データ転送制御ユニット、132a…ライン描画回路、
201…転送先X−Yアドレス演算回路、202…制御
回路、203…ピクセルカウント回路、204…ブレゼ
ンハムエラーターム演算回路、301…DXカウンタ、
302…NDXカウンタ、303…DYカウンタ、30
4…減算器、305,306…コンパレータ、501…
パラメタ変換回路。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 11/20 110

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 ビデオメモリへの描画機能を有し、コン
    ピュータのディスプレイモニタを制御するグラフィック
    スコントローラにおいて、 BITブロック転送のためのパラメタ値に含まれる始点
    座標、幅、および高さによって指定されるビデオメモリ
    上の矩形領域に画像データを転送するBITブロック転
    送手段と、 ホストシステムからのライン描画コマンドで直線の描画
    が指定されたとき、当該ライン描画コマンドで描画指定
    された直線の中に含まれる水平ライン線分を検出する手
    段と、 検出された各水平ライン線分毎にその始点座標およびピ
    クセル数を検出する手段と、 前記検出された各水平ライン線分毎に、その始点座標、
    ピクセル数、および線幅を示すラインパラメタを、BI
    Tブロック転送用の矩形領域の始点座標、幅、および高
    さを示すパラメタ値に変換するパラメタ変換手段と、 前記パラメタ変換手段によって前記各水平ライン線分毎
    に得られたBITブロック転送用のパラメタ値を前記B
    ITブロック転送手段に出力することにより、前記各水
    平ライン線分毎に、それを構成するピクセル数に相当す
    る複数の画像データを前記ビデオメモリ上の連続する番
    地に書き込むブロック転送を前記BITブロック転送手
    段に実行させる手段とを具備することを特徴とするグラ
    フィックスコントローラ。
  2. 【請求項2】 前記水平ライン線分を検出する手段は、 ブレゼンハムのアルゴリズムを用いて前記直線を描画す
    るための座標値をピクセル毎に算出して、垂直座標が変
    化するピクセル位置を検出する手段を含み、 この検出されたピクセル位置に従って前記水平ライン線
    分を検出することを特徴とする請求項1記載のグラフィ
    ックスコントローラ。
  3. 【請求項3】 前記BITブロック転送手段は、ホスト
    システムによって前記グラフィクスコントローラ内のレ
    ジスタに設定されるBITブロック転送のためのパラメ
    タ値に従い、そのパラメタ値に含まれる始点座標、幅、
    および高さによって指定されるビデオメモリ上の矩形領
    域に画像データを転送するように構成 されており、 前記ブロック転送を前記BITブロック転送手段に実行
    させる手段は、 前記ホストシステムによって前記レジスタに設定される
    パラメタ値および前記パラメタ変換手段によって得られ
    たBITブロック転送用のパラメタ値の一方を選択して
    前記BITブロック転送手段に出力する選択手段であっ
    て、前記ホストシステムからのライン描画コマンドで直
    線の描画が指定されたとき、前記BITブロック転送手
    段に出力するパラメタ値を、前記レジスタに設定される
    パラメタ値から、前記パラメタ変換手段によって得られ
    るパラメタ値に切り替える選択手段を含むことを特徴と
    する請求項1記載のグラフィックスコントローラ。
  4. 【請求項4】 ディスプレイモニタに表示される画像デ
    ータが描画されるビットマップ形式のビデオメモリと、 BITブロック転送のためのパラメタ値に含まれる始点
    座標、幅、および高さによって指定されるビデオメモリ
    上の矩形領域に画像データを転送するBITブロック転
    送手段と、 ホストシステムからのライン描画コマンドで直線の描画
    が指定されたとき、当該ライン描画コマンドで描画指定
    された直線の中に含まれる水平ライン線分を検出する手
    段と、 検出された各水平ライン線分毎にその始点座標およびピ
    クセル数を検出する手段と、 前記検出された各水平ライン線分毎に、その始点座標、
    ピクセル数、および線幅を示すラインパラメタを、BI
    Tブロック転送用の矩形領域の始点座標、幅、および高
    さを示すパラメタ値に変換するパラメタ変換手段と、 前記パラメタ変換手段によって前記各水平ライン線分毎
    に得られたBITブロック転送用のパラメタ値を前記B
    ITブロック転送手段に出力することにより、前記各水
    平ライン線分毎に、それを構成するピクセル数に相当す
    る複数の画像データを前記ビデオメモリ上の連続する番
    地に書き込むブロック転送を前記BITブロック転送手
    段に実行させる手段とを具備することを特徴とするピク
    セルデータ転送システム。
  5. 【請求項5】 前記水平ライン線分を検出する手段は、 ブレゼンハムのアルゴリズムを用いて前記直線を描画す
    るための座標値をピクセル毎に算出して、垂直座標が変
    化するピクセル位置を検出する手段を含み、 この検出されたピクセル位置に従って前記水平ライン線
    分を検出することを特徴とする請求項4記載のピクセル
    データ転送システム。
  6. 【請求項6】 前記BITブロック転送手段は、ホスト
    システムによってレジスタに設定されるBITブロック
    転送のためのパラメタ値に従い、そのパラメタ値に含ま
    れる始点座標、幅、および高さによって指定されるビデ
    オメモリ上の矩形領域に画像データを転送するように構
    成されており、 前記ブロック転送を前記BITブロック転送手段に実行
    させる手段は、 前記ホストシステムによって前記レジスタに設定される
    パラメタ値および前記パラメタ変換手段によって得られ
    たBITブロック転送用のパラメタ値の一方を選択して
    前記BITブロック転送手段に出力する選択手段であっ
    て、前記ホストシステムからのライン描画コマンドで直
    線の描画が指定されたとき、前記BITブロック転送手
    段に出力するパラメタ値を、前記レジスタに設定される
    パラメタ値から、前記パラメタ変換手段によって得られ
    るパラメタ値に切り替える選択手段を含むことを特徴と
    する請求項4記載のピクセルデータ転送システム。
JP00634495A 1995-01-19 1995-01-19 グラフィックスコントローラおよびピクセルデータ転送システム Expired - Fee Related JP3313527B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00634495A JP3313527B2 (ja) 1995-01-19 1995-01-19 グラフィックスコントローラおよびピクセルデータ転送システム
US08/558,781 US5721885A (en) 1995-01-19 1995-11-16 Pixel data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00634495A JP3313527B2 (ja) 1995-01-19 1995-01-19 グラフィックスコントローラおよびピクセルデータ転送システム

Publications (2)

Publication Number Publication Date
JPH08194826A JPH08194826A (ja) 1996-07-30
JP3313527B2 true JP3313527B2 (ja) 2002-08-12

Family

ID=11635762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00634495A Expired - Fee Related JP3313527B2 (ja) 1995-01-19 1995-01-19 グラフィックスコントローラおよびピクセルデータ転送システム

Country Status (2)

Country Link
US (1) US5721885A (ja)
JP (1) JP3313527B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990912A (en) * 1997-06-27 1999-11-23 S3 Incorporated Virtual address access to tiled surfaces
US6088046A (en) * 1997-10-02 2000-07-11 Cirrus Logic, Inc. Host DMA through subsystem XY processing
GB0100965D0 (en) * 2001-01-13 2001-02-28 Lsi Logic Corp Burst signal generation for pipelined access to AMBA bus
AU2002353125A1 (en) * 2001-12-13 2003-06-30 Fraunhofer Crcg Using line structure information to enhance line drawing in digital systems
US7006094B2 (en) 2002-04-24 2006-02-28 Seiko Epson Corporation Method and apparatus for filling an image on a display screen
US20040021649A1 (en) * 2002-08-02 2004-02-05 Keith Kejser Method and apparatus for translating X, Y coordinates for a linear memory system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02160290A (ja) * 1987-12-25 1990-06-20 Tatsumi Denshi Kogyo Kk 画像回転方法
US5167015A (en) * 1988-06-13 1992-11-24 Industrial Technology Research Institute Line drawing method and apparatus
JPH03296097A (ja) * 1990-04-16 1991-12-26 Mitsubishi Electric Corp グラフイツク表示装置
JPH04128890A (ja) * 1990-09-20 1992-04-30 Fuji Electric Co Ltd ビットマップディスプレイ装置のフレームメモリ制御方法
JPH0683969A (ja) * 1990-11-15 1994-03-25 Internatl Business Mach Corp <Ibm> グラフィックス・プロセッサ及びグラフィックス・データ処理方法
US5499328A (en) * 1991-02-22 1996-03-12 Network Computing Devices, Inc. Line draw method for generating, storing and displaying lines in a display system
US5335295A (en) * 1991-05-08 1994-08-02 International Business Machines Corporation System and method for scaling a digital image
EP0528524A2 (en) * 1991-08-16 1993-02-24 International Business Machines Corporation Method and apparatus for scaling line patterns
JPH05113928A (ja) * 1991-10-23 1993-05-07 Fuji Electric Co Ltd 画像メモリ装置

Also Published As

Publication number Publication date
US5721885A (en) 1998-02-24
JPH08194826A (ja) 1996-07-30

Similar Documents

Publication Publication Date Title
US5507026A (en) Address-translatable graphic processor, data processor and drawing method with employment of the same
US5500654A (en) VGA hardware window control system
US5559952A (en) Display controller incorporating cache memory dedicated for VRAM
JP3038781B2 (ja) メモリアクセス制御回路
KR100221028B1 (ko) 그래픽 가속기 및 이를 이용한 메모리 프리패치 방법
EP0279229B1 (en) A graphics display system
EP0568078A1 (en) External interface for a high performance graphics adapter allowing for graphics compatibility
EP0278526B1 (en) Graphics diplay controller having clipping function
KR19980025110A (ko) 데이타 프로세서 및 그래픽 프로세서
JPH0126072B2 (ja)
US5454076A (en) Method and apparatus for simultaneously minimizing storage and maximizing total memory bandwidth for a repeating pattern
EP0279225B1 (en) Reconfigurable counters for addressing in graphics display systems
JPH08212382A (ja) Z−バッファタグメモリ構成
JPH0355832B2 (ja)
US5321805A (en) Raster graphics engine for producing graphics on a display
JP3313527B2 (ja) グラフィックスコントローラおよびピクセルデータ転送システム
JPH07234773A (ja) 表示制御装置
JP3017882B2 (ja) 表示制御システム
JPH06274410A (ja) 表示制御システム
JPH07234821A (ja) ページング装置およびディスプレイコントローラ
JP2576015B2 (ja) 表示制御装置
JP3454113B2 (ja) グラフィックス表示装置
JP2656753B2 (ja) 画像データ処理装置及びそれを用いたシステム
JPH07199907A (ja) 表示制御装置
JPH0659652A (ja) 表示制御装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees