(57)【特許請求の範囲】
【請求項１】
ディジタル微分解析により得られた線分を描画する線分描画装置であって、
描画画面に対応するアドレス構造を有するフレームメモリに対して複数ピクセル分を連続してリード／ライトするメモリインターフェース部と、
前記線分を構成する複数ピクセル分のデータが格納されるデータバッファと、
前記データバッファに格納されている複数ピクセル分のデータに対して半透明処理を行う半透明処理部とを備え、
前記線分を半透明処理を行って描画する際に、前記線分の始点から終点まで、前記メモリインターフェース部を介して、前記線分中に存在するｘ軸方向に平行な部分のピクセルの最大数を上限に、前記データバッファに格納可能な数のピクセルのデータをまとめて前記フレームメモリに対してリードし、前記半透明処理部で半透明処理を行ったピクセルのデータをまとめて前記フレームメモリに対してライトする
ことを特徴とする線分描画装置。
【請求項２】
前記線分の始点と終点座標、ｘ方向の変位、ｙ方向の変位、および不透明度を示す各種パラメータを生成する描画パラメータ生成部と、
前記ｙ方向の変位に基づいて、ｘ軸方向に平行な線分部分の最大ピクセル数を出力する最大ピクセル数テーブルと、
前記線分の始点と終点座標、ｘ方向の変位、ｙ方向の変位に基づいて、前記線分を構成する各ピクセルのｘ、ｙ座標を生成する線分座標生成部とを備え、
前記メモリインターフェース部が、前記ｘ、ｙ座標、前記最大ピクセル数に基づいて、前記フレームメモリに対してまとめてリード／ライトし、
前記半透明処理部が、前記不透明度に基づいて、半透明処理を行う
ことを特徴とする請求項１に記載の線分描画装置。
【請求項３】
前記線分の始点と終点座標、ｘ方向の変位、ｙ方向の変位、ｘ軸方向に平行な線分部分の最大ピクセル数、および不透明度を示す各種パラメータを生成する描画パラメータ生成部と、
前記線分の始点および終点座標、ｘ方向の変位、ｙ方向の変位に基づいて、前記線分を構成する各ピクセルのｘ、ｙ座標を生成する線分座標生成部とを備え、
前記メモリインターフェース部が、前記ｘ、ｙ座標、前記最大ピクセル数に基づいて、前記フレームメモリに対してまとめてリード／ライトし、
前記半透明処理部が、前記不透明度に基づいて、半透明処理を行う
ことを特徴とする請求項１に記載の線分描画装置。
【請求項４】
前記メモリインターフェース部が、前記最大ピクセル数の代わりに、前記データバッファに格納可能なピクセルの最大数に基づいて、前記フレームメモリに対してまとめてリード／ライトする
ことを特徴とする請求項２または請求項３に記載の線分描画装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・グラフィックスの分野において、ディジタル微分解析を用いて線分を描画する線分描画装置に関するものである。
【０００２】
【従来の技術】
従来から、コンピュータ・グラフィックスの分野において、線分描画装置により線分を描画する際には、佐藤義雄著「入門グラフィックス」に開示されているディジタル微分解析（以下、ＤＤＡと称す）が広く用いられている。なお、ＤＤＡについては、前著に開示され公知の事実となっているため、その詳細な説明はここでは省略する。
【０００３】
この線分描画装置では、線分を描画する場合、まず、線分を構成する各ピクセルについて、その線分の始点から終点までの区間を、ＤＤＡによりｘ，ｙ座標を求める。次に、線分に対して半透明処理を行う場合は、ＤＤＡにより求めた各ピクセルのｘ，ｙ座標に対応した背景色データをフレームメモリからリードし、半透明処理して新たに生成した色データをフレームメモリにライトする。
【０００４】
以上のように、線分描画装置により、ＤＤＡを用いて、図６に示す線分を半透明処理で描画する場合について、その詳細を以下に説明する。
図７は図６に示す線分を半透明処理で描画する際の時間軸に沿った処理の流れを示すタイムチャートであり、以下、図７中の各期間について説明する。
【０００５】
ステップＳ１０は、リードアクセスオーバーヘッド処理期間であり、線分描画装置がフレームメモリに対してデータリードを要求し、アドレス設定等のリードコマンドを送るまでの期間である。フレームメモリに表示回路等、他の回路が共通バスで接続されている場合は、フレームメモリ使用権を獲得するための期間がさらに追加される。
【０００６】
ステップＳ１１は、背景色リード処理期間であり、フレームメモリから背景色データがリードされ、データバッファに格納されるまでの期間である。
ステップＳ１２は、色データ生成処理期間であり、背景色データと線分の色データとで半透明処理を行い、新しい色データを生成する期間である。
【０００７】
ステップＳ１３は、ライトアクセスオーバーヘッド処理期間であり、線分描画装置がフレームメモリに対してデータライトを要求し、アドレス設定等のライトコマンドを送るまでの期間である。フレームメモリに表示回路等、他の回路が共通バスで接続されている場合、フレームメモリ使用権を獲得するための期間がさらに追加される。
【０００８】
ステップＳ１４は、色データライト処理期間であり、データバッファから半透明処理された色データをフレームメモリにライトする期間である。
以上のステップＳ１０〜ステップＳ１４までの処理期間は、ピクセル▲１▼に対する処理であり、ピクセル▲２▼以降においても、同様の処理が繰り返し実行される。
【０００９】
【発明が解決しようとする課題】
しかしながら上記のような従来の線分描画装置による描画処理においては、線分に対して半透明処理を行う場合、その線分を構成する全ピクセルに渡って１ピクセル毎に、線分描画の際のフレームメモリに対するリード／ライト処理を繰り返し実行しており、その度にアクセスオーバーヘッド処理期間が存在するとともに、このリード／ライト処理を、線分を構成する全ピクセルについて実行する際に、その処理中のフレームメモリに対するアクセス回数が多くなり、線分描画処理中のフレームメモリに対するアクセス期間が増え、これらの要因が、線分描画における全体の処理時間を増大し、市場からの要求が増々強くなっている線分の高速描画に対して、その妨げになるという問題点を有していた。
【００１０】
本発明は、上記従来の問題点を解決するもので、線分を描画する場合、その際にフレームメモリに対してアクセスすることにより生じるアクセス期間を削減することができ、従来に比べて、回路規模の増加を防ぎつつ、線分をその描画品位を低下させることなく高速に描画することができる線分描画装置を提供する。
【００１１】
上記の課題を解決するために本発明の線分描画装置は、ディジタル微分解析により得られた線分を描画する線分描画装置であって、描画画面に対応するアドレス構造を有するフレームメモリに対して複数ピクセル分を連続してリード／ライトするメモリインターフェース部と、前記線分を構成する複数ピクセル分のデータが格納されるデータバッファと、前記データバッファに格納されている複数ピクセル分のデータに対して半透明処理を行う半透明処理部とを備え、前記線分を半透明処理を行って描画する際に、前記線分の始点から終点まで、前記メモリインターフェース部を介して、前記線分中に存在するｘ軸方向に平行な部分のピクセルの最大数を上限に、前記データバッファに格納可能な数のピクセルのデータをまとめて前記フレームメモリに対してリードし、前記半透明処理部で半透明処理を行ったピクセルのデータをまとめて前記フレームメモリに対してライトすることを特徴とする。
【００１２】
以上により、線分描画の際には、線分を構成するピクセルの内からｘ軸方向に平行なピクセル数をあらかじめ求め、それら平行な複数ピクセルをまとめて処理してフレームメモリに対しアクセスすることにより、線分描画の際のフレームメモリに対するアクセス回数を減らすことができる。
【００２２】
以下、本発明の実施の形態を示す線分描画装置について、図面を参照しながら具体的に説明する。
（実施の形態１）
本発明の実施の形態１の線分描画装置について詳しく説明する。
【００２３】
図１は本実施の形態１の線分描画装置の構成を示すブロック図である。図１に示すように、描画パラメータ生成部１は、線分を描画する際に必要な線分の特性を表す各種パラメータを線分描画部２に与える。ここで用いるパラメータとしては、線分における始点のｘ，ｙ座標および終点のｘ，ｙ座標、線分の傾きを表すｘ変位およびｙ変位、線分に対する半透明処理で用いるα値である。
【００２４】
ここで、ｘ変位、ｙ変位の求め方を詳しく説明する。
線分の終点と始点間で、ｘの差分をｄｘとしｙの差分ｄｙとすると、ｘ変位およびｙ変位は以下のようにして求められる。
【００２５】
｜ｄｘ｜≦｜ｄｙ｜の場合、ｘ変位は、ｄｘ／｜ｄｙ｜となり、ｙ変位は、ｄｙが正の時は１、ｄｙが負の時は−１となる。また、｜ｄｘ｜＞｜ｄｙ｜の場合、ｘ変位は、ｄｘが正の時は１、ｄｘが負の時は−１となり、ｙ変位は、ｄｙ／｜ｄｘ｜となる。例えば、始点座標（０，０）、終点座標（８，２）の場合だと、ｄｘ＝８、ｄｙ＝２で｜ｄｘ｜＞｜ｄｙ｜となるので、ｘ変位は１となり、ｙ変位は２／８＝０．２５となる。
【００２６】
線分描画部２は、描画パラメータ生成部１より与えられた上記各種パラメータを基に、描画対象の線分を構成する各ピクセルの座標に対応するピクセルデータをフレームメモリ３に対してリード／ライトし、例えば、フレームメモリ３からリードした線分に半透明処理を施し、その線分をフレームメモリ３にライトすることにより、半透明処理を施した当該線分を描画する。
【００２７】
フレームメモリ３は、３２ビット／ピクセルのピクセルデータが格納されている。ｘ軸方向に平行なピクセルデータは、フレームメモリ３上で連続したアドレスに格納されている。ピクセルデータの構成内容は、ダミー用のビット、Ｒに対応するビット、Ｇに対応するビット、Ｂに対応するビットの順で８ビットづつである。ダミーの部分は使用されることがなく、Ｒ、Ｇ、Ｂの部分が半透明処理やディスプレイ表示に使用される。上記のようにフレームメモリ３に格納されているピクセルデータは、Ｄ／Ａコンバータ（図示せず）を介して液晶やＣＲＴなどのディスプレイ（図示せず）上に線分として描画表示される。
【００２８】
ここで、本実施の形態１の線分描画装置において、本発明の特徴である線分描画部２についてさらに詳しく説明する。
線分描画部２は、線分描画部２の動作を制御する制御部４と、ＤＤＡにより線分を構成する各ピクセルのｘ，ｙ座標を始点から順に出力する線分座標生成部５と、線分中に存在するｘ軸方向に平行なピクセルの最大数を出力する水平ピクセル数テーブル６と、フレームメモリ３に対してピクセルデータのリード／ライトを行うメモリインターフェース部７と、メモリインターフェース部７によりフレームメモリ３からリードしたピクセルデータを格納したり、半透明処理部９で半透明処理してメモリインターフェース部７によりフレームメモリ３にライトするためのピクセルデータを格納するデータバッファ８と、メモリインターフェース部７によりフレームメモリ３からリードしてデータバッファ８に格納されているピクセルデータに対して、半透明処理を行う半透明処理部９とを備えている。
【００２９】
線分座標生成部５は、描画パラメータ生成部１からパラメータとして始点座標、ｘ変位、ｙ変位を受け取り、それらのパラメータに基づいて、線分を構成する各ピクセル毎に始点座標からｘ変位、ｙ変位を加算していき、整数部を切り出しピクセルのｘ，ｙ座標を出力する。なお、始点座標には四捨五入のための０．５をあらかじめ加算しておいても構わない。図２に始点座標（０，０）、終点座標（８，２）の場合の線分座標生成部５が出力するｘ，ｙ座標を示す。
【００３０】
水平ピクセル数テーブル６は、描画パラメータ生成部１からパラメータとしてｙ変位を受け取り、線分を構成するピクセルの内、ｘ軸に平行な方向で連なったピクセル数の最大値である水平ピクセル数を出力する。水平ピクセル数の算出方法は次のようになる。
【００３１】
ｙ変位の絶対値が１の場合、水平ピクセル数は１となる。ｙ変位の絶対値が１より小さい場合で、ｙ変位の絶対値の逆数が小数値を持つ時は１を加算した値を水平ピクセル数とし、ｙ変位の絶対値の逆数として得られる小数値が０の時はｙ変位の絶対値の逆数の値を水平ピクセル数とする。ここで、ｙ変位の小数部のビット幅が３ビットの場合のテーブルを図３に示す。
【００３２】
また、水平ピクセル数の他の算出方法としては、ｙ変位の絶対値を２進数で表した時、小数部で１になっている最も大きな桁の逆数を水平ピクセル数とする方法がある。例えば、ｙ変位が２進数で０．０１１の場合、小数部で１になっている最も大きな桁は２-2であるため、水平ピクセル数は２-2の逆数をとって、２2＝４ピクセルとなる。
【００３３】
また、水平ピクセル数の他の算出方法としては、０からｙ変位の絶対値を加算していき、１以上となるまでの回数を水平ピクセル数とする方法がある。例えば、ｙ変位が０．２５の場合、０から０．２５を加算していき、１以上となるまで４回加算するため水平ピクセル数は４ピクセルとなる。なお、水平ピクセル数テーブル６はＲＯＭまたは論理回路で構成される。
【００３４】
ところで、ｙ変位の絶対値が０の場合は、線分全体がｘ軸に平行な方向である。この線分に対しては、制御部４が終点ｘ座標から始点ｘ座標を減算し、１加算した値を求め、水平直線ピクセル数として出力する。
【００３５】
メモリインターフェース部７は、線分座標生成部５からｘ，ｙ座標を受け取り、フレームメモリ３に対して、対応するアドレスから複数ピクセル分を連続してリード／ライトするバーストリード／バーストライトを行う。前記の複数ピクセルとは、水平ピクセル数テーブル６から出力される水平ピクセル数、あるいは制御部４から出力される水平直線ピクセル数のことであり、メモリインターフェース部７は、ｙ変位の絶対値が０の線分の場合は制御部４からの水平直線ピクセル数を選択し、それ以外の線分の場合は水平ピクセル数テーブル６からの水平ピクセル数を選択する。
【００３６】
また、メモリインターフェース部７は、フレームメモリ３からピクセルデータをリードする際のアドレスを保持するレジスタを有し、フレームメモリ３にピクセルデータをライトする際にレジスタに保持されているアドレスを使用する。
【００３７】
データバッファ８は、メモリインターフェース部７を介してフレームメモリ３からリードされたピクセルデータを保持するためのレジスタと、メモリインターフェース部７を介してフレームメモリ３へライトするために半透明処理部９が生成したピクセルデータを保持するためのレジスタとを有している。
【００３８】
半透明処理部９は、描画パラメータ生成部１から不透明度を示すα値（０．０〜１．０）を受け取り、データバッファ８に保持されている背景色を意味するピクセルデータと線分自身のピクセルデータとで半透明処理を行う。線分自身のピクセルデータのＲ，Ｇ，Ｂ成分をＬｒ，Ｌｇ，Ｌｂ、背景色のピクセルデータ（色データ）のＲ，Ｇ，Ｂ成分をＢｒ，Ｂｇ，Ｂｂ、半透明処理後のピクセルデータ（色データ）のＲ，Ｇ，Ｂ成分をＰｒ，Ｐｇ，Ｐｂとすると、半透明処理は以下の数式で処理される。
【００３９】
【数１】
0004596678.tif 000002
次に、本実施の形態１の線分描画装置において、始点座標（０，０）、終点座標（８，２）の線分を描画する場合の動作について説明する。
【００４０】
まず、描画パラメータ生成部１は、線分描画部２に対して、始点座標として（０，０）、終点座標として（８，２）、ｘ変位として１、ｙ変位として０．２５、α値を与える。線分描画部２において、線分座標生成部５は、ｘ座標として０、ｙ座標として０を出力する。水平ピクセル数テーブル６は、ｙ変位が０．２５であることから、水平ピクセル数として４を出力する。
【００４１】
メモリインターフェース部７は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（０，０）からｘ軸正方向に４ピクセル分のデータをリードし、データバッファ８に格納する。なお、この時の座標（０，０）に対応するアドレスはレジスタに保持される。
【００４２】
その後、線分座標生成部５は、（０，０）、（１，０）、（２，０）、（３，０）と、ｙ座標が変化する前まで線分を構成するピクセルの座標を順に出力し、半透明処理部９は、それぞれの座標毎に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００４３】
その後、メモリインターフェース部７は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（０，０）からｘ軸正方向に４ピクセル分のデータをライトする。
【００４４】
続いて、線分座標生成部５は、ピクセルの座標として、ｘ座標として４、ｙ座標として１を出力し、これを基にして、メモリインターフェース部７は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（４，１）からｘ軸正方向に４ピクセル分のデータをリードし、データバッファ８に格納する。なお、この時の座標（４，１）に対応するアドレスはレジスタに保持される。
【００４５】
それから線分座標生成部５は、（４，１）、（５，１）、（６，１）、（７，１）と、ｙ座標が変化する前まで線分を構成するピクセルの座標を順に出力し、半透明処理部９は、それぞれの座標毎に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００４６】
その後、メモリインターフェース部７は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（４，１）からｘ軸正方向に４ピクセル分のデータをライトする。
【００４７】
続いて、線分座標生成部５は、ピクセルの座標として、ｘ座標として８、ｙ座標として２を出力し、これを基にして、メモリインターフェース部７は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（８，２）からｘ軸正方向に４ピクセル分のデータをリードし、データバッファ８に格納する。なお、この時の座標（８，２）に対応するアドレスはレジスタに保持される。
【００４８】
ここで、座標（８，２）は終点座標であるため、線分座標生成部５は、ｘ，ｙ座標の更新を行わず、半透明処理部９は、座標（８，２）に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００４９】
その後、メモリインターフェース部７は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（８，２）からｘ軸正方向に４ピクセル分のデータをライトする。
【００５０】
このようにして終点まで描画処理が完了したことを受けて、制御部４は、線分描画を終了する。
ここで、本実施の形態１の線分描画装置により、図６に示す線分を半透明処理で描画する場合について、時間軸に沿った処理の流れを図８に示す。以下、図８中の各期間について説明する。
【００５１】
ステップＳ２０は、リードアクセスオーバーヘッド処理期間であり、線分描画装置がフレームメモリ３に対して４ピクセル分のデータリードを要求し、アドレス設定等のリードコマンドを送るまでの期間である。フレームメモリ３に表示回路等、他の回路が共通バスで接続されている場合、フレームメモリ使用権を獲得するための期間がさらに追加される。
【００５２】
ステップＳ２１は、背景色リード処理期間であり、フレームメモリ３から背景色データが４ピクセル分リードされ、データバッファ８に格納されるまでの期間である。
【００５３】
ステップＳ２２は、色データ生成処理期間であり、背景色データと線分の色データとで半透明処理を行い、新しい色データを４ピクセル分生成する期間である。
【００５４】
ステップＳ２３は、ライトアクセスオーバーヘッド処理期間であり、線分描画装置がフレームメモリ３に対して４ピクセル分のデータライトを要求し、アドレス設定等のライトコマンドを送るまでの期間である。フレームメモリ３に表示回路等、他の回路が共通バスで接続されている場合、フレームメモリ３の使用権を獲得するための期間がさらに追加される。
【００５５】
ステップＳ２４は、色データライト処理期間であり、データバッファ８から半透明処理された４ピクセル分の色データをフレームメモリ３にライトする期間である。
【００５６】
ステップＳ２０〜ステップＳ２４までは、ピクセル▲１▼、▲２▼、▲３▼、▲４▼に対する処理であり、ピクセル▲５▼、▲６▼、▲７▼、▲８▼においても、同様の処理が行われる。
図７に示す従来の処理の流れでは、ピクセル▲１▼、▲２▼、▲３▼、▲４▼を処理するのにリードアクセスオーバーヘッドが４回、ライトアクセスオーバーヘッドが４回発生するのに対して、図８に示す本実施の形態の処理の流れでは、ピクセル▲１▼、▲２▼、▲３▼、▲４▼を処理するのにリードアクセスオーバーヘッドが１回、ライトアクセスオーバーヘッドが１回でよい。
【００５７】
背景色リードや色データ生成、色データライトの期間は同じであるので、リードアクセスオーバーヘッドとライトアクセスオーバーヘッドの期間が削減されている分、本実施の形態の線分描画装置は、従来に比べてより高速に描画することができる。
【００５８】
以上のように、線分のｘ軸方向に平行なピクセル数をあらかじめ求め、複数ピクセルまとめて処理することにより、フレームメモリ３に対するアクセス回数を減らすことにより、１ピクセル毎にフレームメモリ３にアクセスするよりも高速に描画することができる。
（実施の形態２）
本発明の実施の形態２の線分描画装置について詳しく説明する。
【００５９】
図４は本実施の形態２の線分描画装置の構成を示すブロック図である。図４に示すように、描画パラメータ生成部１０は、線分描画に必要なパラメータを線分描画部１１に与える。パラメータとしては、線分における始点のｘ，ｙ座標および終点のｘ，ｙ座標、線分の傾きを表すｘ変位およびｙ変位、半透明処理で用いるα値、そして線分を構成するピクセルのうち、ｘ軸に平行な方向で連なったピクセル数の最大値である水平ピクセル数である。
【００６０】
線分描画部１１が実施の形態１の線分描画部２と異なる点は、水平ピクセル数を求める手段が、水平ピクセル数テーブル６ではなく、描画パラメータ生成部１０で求めた水平ピクセル数を水平ピクセル数レジスタ１２に格納することである。なお、描画パラメータ生成部１０での水平ピクセル数の求め方は、実施の形態１で述べた水平ピクセル数テーブル６が出力する水平ピクセル数の求め方と同じでよく、そのため、ここでの説明は省略する。
【００６１】
実施の形態１のように、水平ピクセル数を求めるのにテーブルを用いると、入力できるｙ変位に上限があるため、描画する線分の長さに制限がある。また、線分の制限を広げるとテーブルが大きくなり、回路規模が増加する。
【００６２】
そこで実施の形態２のように、水平ピクセル数を描画パラメータ生成部１０で求め、水平ピクセル数レジスタ１２に格納することにより、回路規模の増加を防ぎつつ、線分の長さの制限を広げることができる。
（実施の形態３）
本発明の実施の形態３の線分描画装置について詳しく説明する。
【００６３】
図５は本実施の形態３の線分描画装置の構成を示すブロック図である。図５に示すように、線分描画部１３が実施の形態１の線分描画部２と異なる点は、水平ピクセル数テーブル６から出力される水平ピクセル数を、そのままメモリインターフェース部１５に送るのではなく、水平ピクセル数分割部１４で水平ピクセル数をデータバッファ８に格納できる限界のピクセル数に分割し、分割ピクセル数としてメモリインターフェース部１５に送ることである。
【００６４】
また、ｙ変位の絶対値が０の場合は線分全体がｘ軸に平行な方向であるため、水平ピクセル数分割部１４は水平ピクセル数の代わりに、制御部４から出力される水平直線ピクセル数を用いて分割ピクセル数を求める。
【００６５】
メモリインターフェース部１５は、水平ピクセル数分割部１４からの分割ピクセル数分のピクセルデータを、フレームメモリ３に対してリード／ライトする。
ここで本実施の形態３の線分描画装置において、始点座標（０，０）、終点座標（８，２）の線分を描画する場合の動作について説明する。なお、データバッファ８に格納できる限界のピクセル数は２ピクセルとする。
【００６６】
まず、描画パラメータ生成部１は、線分描画部１３に対して、始点座標として（０，０）、終点座標として（８，２）、ｘ変位として１、ｙ変位として０．２５、α値を与える。線分座標生成部５は、ｘ座標として０、ｙ座標として０を出力する。水平ピクセル数テーブル６は、ｙ変位が０．２５であることから、水平ピクセル数として４を出力する。
【００６７】
この時、水平ピクセル数がデータバッファ８に格納できる限界のピクセル数を越えているため、水平ピクセル数分割部１４は、データバッファ８に格納できる限界のピクセル数である２ピクセルを分割ピクセル数として、メモリインターフェース部１５に送る。また、水平ピクセル数である４ピクセルから分割ピクセル数である２ピクセルを減算した値２ピクセルをレジスタに保持する。
【００６８】
メモリインターフェース部１５は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（０，０）からｘ軸正方向に２ピクセル分リードし、データバッファ８に格納する。なお、この時の座標（０，０）に対応するアドレスはレジスタに保持される。
【００６９】
それから線分座標生成部５は、座標（０，０）、（１，０）のように、線分を構成するピクセルの座標の２ピクセル分を順に出力し、半透明処理部９は、それぞれの座標毎に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００７０】
その後、メモリインターフェース部１５は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（０，０）からｘ軸正方向に２ピクセル分のデータをライトする。
【００７１】
続いて線分座標生成部５は、ｘ座標として２、ｙ座標として０を出力する。水平ピクセル数分割部１４は、レジスタに保持されている２ピクセルを分割ピクセル数として、メモリインターフェース部１５に送る。
【００７２】
メモリインターフェース部１５は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（２，０）からｘ軸正方向に２ピクセル分のデータをリードし、データバッファ部８に格納する。なお、この時の座標（２，０）に対応するアドレスはレジスタに保持される。
【００７３】
それから線分座標生成部５は、座標（２，０）、（３，０）のように、ｙ座標が変化する前まで線分を構成するピクセルの座標の２ピクセル分を順に出力し、半透明処理部９は、それぞれの座標毎に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００７４】
その後、メモリインターフェース部１５は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（２，０）からｘ軸正方向に２ピクセル分のデータをライトする。
【００７５】
続いて線分座標生成部５は、ｘ座標として４、ｙ座標として１を出力する。水平ピクセル数分割部１４は、データバッファ８に格納できる限界のピクセル数である２ピクセルを分割ピクセル数として、メモリインターフェース部１５に送る。また、水平ピクセル数である４ピクセルから分割ピクセル数である２ピクセルを減算した値２ピクセルをレジスタに保持する。
【００７６】
メモリインターフェース部１５は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（４，１）からｘ軸正方向に２ピクセル分のデータをリードし、データバッファ８に格納する。なお、この時の座標（４，１）に対応するアドレスはレジスタに保持される。
【００７７】
それから線分座標生成部５は、座標（４，１）、（５，１）のように、線分を構成するピクセルの座標の２ピクセル分を順に出力し、半透明処理部９は、それぞれの座標毎に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００７８】
その後、メモリインターフェース部１５は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（４，１）からｘ軸正方向に２ピクセル分のデータをライトする。
【００７９】
続いて線分座標生成部５は、ｘ座標として６、ｙ座標として１を出力する。水平ピクセル数分割部１４は、レジスタに保持されている２ピクセルを分割ピクセル数としてメモリインターフェース部１５に送る。
【００８０】
メモリインターフェース部１５は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（６，１）からｘ軸正方向に２ピクセル分のデータをリードし、データバッファ８に格納する。なお、この時の座標（６，１）に対応するアドレスはレジスタに保持される。
【００８１】
それから線分座標生成部５は、座標（６，１）、（７，１）のように、ｙ座標が変化する前まで線分を構成するピクセルの座標の２ピクセル分を順に出力し、半透明処理部９は、それぞれの座標毎に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００８２】
その後、メモリインターフェース部１５は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（６，１）からｘ軸正方向に２ピクセル分のデータをライトする。
【００８３】
続いて線分座標生成部５は、ｘ座標として８、ｙ座標として２を出力する。水平ピクセル数分割部１４は、データバッファ８に格納できる限界のピクセル数である２ピクセルを分割ピクセル数として、メモリインターフェース部１５に送る。また、水平ピクセル数である４ピクセルから分割ピクセル数である２ピクセルを減算した値２ピクセルをレジスタに保持する。
【００８４】
メモリインターフェース部１５は、フレームメモリ３に対して、座標（ｘ，ｙ）＝（８，２）からｘ軸正方向に２ピクセル分リードし、データバッファ部８に格納する。なお、この時の座標（８，２）に対応するアドレスはレジスタに保持される。
【００８５】
しかし座標（８，２）は終点座標であるため、線分座標生成部５はｘ，ｙ座標の更新を行わず、半透明処理部９は、座標（８，２）に対応したピクセルについて、描画パラメータ生成部１からのα値と、データバッファ８に保持されている背景色を意味するピクセルデータおよび線分自身のピクセルデータとで半透明処理を行い、新たに生成したピクセルデータをデータバッファ８に格納する。
【００８６】
その後、メモリインターフェース部１５は、レジスタに保持されているアドレスを利用して、フレームメモリ３に対して、座標（ｘ，ｙ）＝（８，２）からｘ軸正方向に２ピクセル分ライトする。このようにして終点まで描画処理が完了したことを受けて、制御部４は線分描画を終了する。
【００８７】
以上のように、データバッファ８が格納できる限界のピクセル数によって描画する線分の長さに制限がかからないため、データバッファ８の回路規模を小さく抑えることができ、このようにデータバッファ８の回路規模を小さく抑えても、線分の描画品位を低下させることなく高速に描画することができる。
【００８８】
なお、実施の形態２のように、水平ピクセル数を求める手段が水平ピクセル数テーブル６ではなく、描画パラメータ生成部１０で求めた水平ピクセル数を水平ピクセル数レジスタ１２に格納する場合においても、水平ピクセル数をデータバッファ８に格納できる限界のピクセル数に分割する手段を適用することができ、同様の効果を得ることができる。
【００８９】
【発明の効果】
以上のように本発明によれば、線分描画の際には、線分を構成するピクセルの内からｘ軸方向に平行なピクセル数をあらかじめ求め、それら平行な複数ピクセルをまとめて処理してフレームメモリに対しアクセスすることにより、線分描画の際のフレームメモリに対するアクセス回数を減らすとともに、フレームメモリに対するアクセスの際に使用するデータバッファが格納可能な最大ピクセル数によって描画する線分の長さに制限がかからないため、データバッファの回路規模を小さく抑えることができる。
【００９０】
そのため、線分を描画する場合、その際にフレームメモリに対してアクセスすることにより生じるアクセス期間を削減することができ、従来に比べて、回路規模の増加を防ぎつつ、線分をその描画品位を低下させることなく高速に描画することができる。
【００９１】
また、例えば、カーナビゲーションシステムで頻繁に用いられる鳥瞰図の場合には、ｘ軸に平行なピクセルを多く含む線分の出現率が高くなるため、上記の効果が顕著に得られ、特に有効的である。
【図面の簡単な説明】
【図１】本発明の実施の形態１の線分描画装置の構成を示すブロック図
【図２】同実施の形態１における線分座標生成部の動作を示すｘ，ｙ座標例の説明図
【図３】同実施の形態１における水平ピクセル数テーブルのデータ例の説明図
【図４】本発明の実施の形態２の線分描画装置の構成を示すブロック図
【図５】本発明の実施の形態３の線分描画装置の構成を示すブロック図
【図６】本発明の各実施の形態の線分描画装置により描画される線分例の説明図
【図７】従来の線分描画装置による描画処理の流れを示すタイムチャート
【図８】本発明の各実施の形態の線分描画装置による描画処理の流れを示すタイムチャート
【符号の説明】
１、１０    描画パラメータ生成部
２、１１、１３    線分描画部
３    フレームメモリ
４    制御部
５    線分座標生成部
６    水平ピクセル数テーブル
７、１５    メモリインターフェース部
８    データバッファ
９    半透明処理部
１２    水平ピクセル数レジスタ
１４    水平ピクセル数分割部
【図１】
0004596678.tif 000003
【図２】
0004596678.tif 000004
【図３】
0004596678.tif 000005
【図４】
0004596678.tif 000006
【図５】
0004596678.tif 000007
【図６】
0004596678.tif 000008
【図７】
0004596678.tif 000009
【図８】
0004596678.tif 000010