JP2000242802A - 図形処理装置 - Google Patents

図形処理装置

Info

Publication number
JP2000242802A
JP2000242802A JP4341599A JP4341599A JP2000242802A JP 2000242802 A JP2000242802 A JP 2000242802A JP 4341599 A JP4341599 A JP 4341599A JP 4341599 A JP4341599 A JP 4341599A JP 2000242802 A JP2000242802 A JP 2000242802A
Authority
JP
Japan
Prior art keywords
output
register file
coordinate value
intersection
parameter
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.)
Pending
Application number
JP4341599A
Other languages
English (en)
Inventor
Masahiko Koyanagi
雅彦 小柳
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP4341599A priority Critical patent/JP2000242802A/ja
Publication of JP2000242802A publication Critical patent/JP2000242802A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 任意の多角形の凸多角形分割を高速にDDA
処理する。 【解決手段】 DDA処理部6に入力する多角形データ
は、出力デバイスの同一スキャンラインと交差する輪郭
ベクタの数がM以下に制限された多角形の各ベクタの始
点座標xs,ys、傾き値dxdy及び交差数rsca
nからなるセルをソートしたものとし、各ベクタの始点
座標ysを除くセルデータをM個のレジスタを有するレ
ジスタファイル21に書き込み、演算部24でレジスタ
ファイルから出力された交点x座標値cx及び交差数を
次のスキャンライン用に更新し、スキャンライン毎に各
ベクタとスキャンラインとの交点座標cx,cyを出力
する。FIFO回路22にはセルデータを記憶していな
いレジスタのアドレスを格納し、FIFO回路23には
セルデータを記憶しているレジスタのアドレスを格納し
て、制御部25によってFIFO回路22,23の状態
を管理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディスプレイ装
置やプリンタ装置などの出力グラフィックデバイスに出
力することを目的として、アウトラインデータで表現さ
れた文字や図形を描画する図形処理装置に関する。
【0002】
【従来の技術】CAD(Computer Aided
Design)システムなどに代表されるディジタル
コンピュータシステムでは、アウトラインデータで表現
されたさまざまな形状の文字や図形をディスプレイ装置
やプリンタ装置などの出力グラフィックデバイス(以
下、出力デバイスと称する)に出力するために、それら
の文字や図形を描画する処理が発生する。
【0003】従来、任意形状の文字や図形を描画する方
法としては、図27に示すオーダードエッジリスト・ア
ルゴリズム(David F.Rogers著、山口富
士夫監修、セイコー電子工業株式会社電子機器事業部
訳、日刊工業新聞社発行の『実践コンピュータグラフィ
ックス基礎手続きと応用』pp.88−95に記載)な
どが知られている。
【0004】このオーダードエッジリスト・アルゴリズ
ムでは、ユーザーからの指示や外部からの入力により文
字や図形の描画命令が入力されると、その描画命令が命
令解釈部1により解釈されて、ベクタデータ生成部2に
入力される。ベクタデータ生成部2は、処理対象が文字
の場合には、フォント管理部3に要求して文字のアウト
ラインを表現するベクタデータを取得し、処理対象が線
図形の場合には、太さや接続部分の形状をもとに、図2
8に示すような輪郭を表現するベクタVのデータに変換
する。
【0005】このようにしてベクタデータに変換された
文字、線図形および面図形は、ショートベクタ生成部4
で、ベジエ曲線やスプライン曲線などで表現された図2
9の左側に示すような曲線部分Cが、出力デバイス11
の解像度に対応した同図の右側に示すような微小直線d
で近似されたショートベクタデータに変換されて、多角
形となる。
【0006】このようにして生成された多角形データ
は、多角形描画部10に入力される。多角形描画部10
は、多角形の輪郭を表現する各ベクタと出力デバイス1
1の各スキャンラインとの交点座標を、DDA(Dig
ital Differential Analyze
r)などの手法で計算する。計算された交点座標は、ス
キャンラインごとにx座標値でソートされる。多角形描
画部10は、さらに、ソートした交点座標から塗りつぶ
す区間の始点および終点の対応を求め、その区間に対応
したスキャンライン上の線分の画素データをフレームバ
ッファメモリ9に描画する。このようにして描画された
フレームバッファメモリ9上の画素データを出力デバイ
ス11に転送することによって、文字や図形が表示また
は印刷される。
【0007】通常、図27に示した描画処理は、パーソ
ナルコンピュータやワークステーションなどのコンピュ
ータ上で実行されるソフトウェアプログラムによって実
現される。しかしながら、近年、出力デバイスの高画質
化、高速化に伴う描画処理高速化の要求を受けて、多角
形描画部10のDDA処理のような単純で繰り返し回数
が非常に多い処理を、ASIC(Applicatio
n SpecificIntegrated Circ
uit)などの専用ハードウェアで実行し、描画処理全
体を高速化することが考えられている。
【0008】具体的に、特開平1−128093号公報
には、図30に示すように、あらかじめ多角形S0を底
辺がスキャンラインLに平行な複数の台形(長方形、平
行四辺形および三角形を含む)T1,T2…に分割して
おき、分割されたそれぞれの台形T1,T2…を描画す
る方法および装置が示されている。
【0009】その台形描画装置は、図31に示すよう
に、図32に示すような台形Tnの左辺とスキャンライ
ンとの交点座標Psを計算するDDA回路51、台形T
nの右辺とスキャンラインとの交点座標Peを計算する
DDA回路52、DDA回路51,52で計算された交
点座標Ps,Pe間の画素、すなわち台形Tnの塗りつ
ぶす内部画素の座標を計算するDDA回路53、および
DDA回路53で計算された画素データをフレームバッ
ファメモリに描画するメモリ描画部54によって構成さ
れる。
【0010】この台形描画装置は、DDA回路51によ
る左辺側の交点座標Psの計算、DDA回路52による
右辺側の交点座標Peの計算、およびDDA回路53に
よる左辺側の交点座標Psを始点、右辺側の交点座標P
eを終点とする内部画素の座標の計算が、互いに並列に
行われるところに特徴がある。
【0011】しかしながら、この特開平1−12809
3号公報に示された方法または装置では、出力デバイス
の解像度が高くなるほど、台形内部の塗りつぶし画素の
座標を計算するDDA回路53の処理に多くの時間がか
かり、これが全体のボトルネックになるという問題があ
る。
【0012】そこで、多数のDDA回路を並列に動作さ
せることによって座標計算を高速化することが考えら
れ、特開平1−124077号公報などに示されてい
る。これらは、複数のDDA回路に対して、それぞれが
担当するx座標またはy座標を定め、それぞれのDDA
回路は、その割り当てられた座標のみを計算する、とい
うものである。
【0013】例えば、特開平1−124077号公報に
示された図形描画装置は、図33に示すように、4つの
DDA回路55〜58とメモリ描画部54によって構成
され、図34に示すように、DDA回路55は始点Ps
から数えて4n番目(nは0以上の整数)のx座標を、
DDA回路56は始点Psから数えて(4n+1)番目
のx座標を、DDA回路57は始点Psから数えて(4
n+2)番目のx座標を、DDA回路58は始点Psか
ら数えて(4n+3)番目のx座標を、互いに並列に計
算するようにしたものである。
【0014】
【発明が解決しようとする課題】図30に示したような
多角形の分割によってDDA処理の高速化を図った特開
平1−128093号公報の方法では、DDA処理のた
めの専用ハードウェアに入力する前に多角形を複数の台
形に分割する必要がある。しかしながら、この方式で
は、複雑な形状の多角形を分割すると、非常に多くの台
形が生成されるため、分割処理時間とデータ量が膨大に
なるという問題がある。
【0015】また、図33および図34に示したように
複数のDDA回路を並列に動作させる特開平1−124
077号公報の図形描画装置では、並列に計算された複
数の画素データをフレームバッファメモリに書き込む際
にメモリ描画部54で競合を生じ、メモリ入出力がボト
ルネックとなって、並列度を上げても処理速度が上がり
にくいという問題がある。
【0016】さらに、これらのDDA並列化方法は、D
DA初期値計算回路やDDA演算回路を含むDDA回路
全体を単純に複数個並べるため、DDA回路の並列度が
上がるほど、メモリ描画部などのボトルネック部分の処
理終了を待つために休止状態になるDDA回路が増える
ことになって、相対的にコストパフォーマンスが悪くな
るという問題がある。
【0017】そこで、この発明は、任意の多角形を台形
や単純な凸多角形に分割するための前処理に多大な計算
時間を必要とせず、専用のハードウェアによって高速に
DDA処理を実行することができるようにしたものであ
る。また、この発明は、冗長なDDA初期値計算回路や
DDA演算回路を必要としないとともに、複数のDDA
処理を並行に行うことができる、処理速度および回路規
模につき高度に最適化された図形処理装置を実現したも
のである。
【0018】
【課題を解決するための手段】この発明の図形処理装置
は、多角形を表現するそれぞれの輪郭ベクタの端点座
標、傾き値、高さから構成されるパラメータの組を記憶
する、複数のレジスタからなるレジスタファイルと、こ
のレジスタファイル中の前記パラメータの組を記憶して
いないレジスタのアドレスを格納する第1のFIFOメ
モリと、前記レジスタファイル中の前記パラメータの組
を記憶しているレジスタのアドレスを格納する第2のF
IFOメモリと、前記それぞれの輪郭ベクタと出力グラ
フィックデバイスのスキャンラインとの交点座標を計算
する演算部と、少なくとも、前記レジスタファイルのパ
ラメータデータ入出力制御、前記第1および第2のFI
FOメモリの状態管理とアドレス信号入出力制御、およ
び前記演算部で計算された交点座標の出力制御を実行す
る制御部とを備え、前記交点座標は、前記レジスタファ
イルを構成するレジスタの数に等しい複数の交点座標に
ついて並行に、前記それぞれの輪郭ベクタの始点座標に
前記傾き値を繰り返し加算することによって計算し、出
力するものである。
【0019】
【作用】上記のように構成した、この発明の図形処理装
置では、任意の多角形を台形や単純な凸多角形に分割す
るための前処理に多大な計算時間を必要とせず、専用の
ハードウェアによって高速にDDA処理を実行すること
ができる。また、冗長なDDA初期値計算回路やDDA
演算回路を必要としないとともに、複数のDDA処理を
並行に行うことができ、処理速度および回路規模につき
高度に最適化された図形処理装置を実現することができ
る。
【0020】
【発明の実施の形態】多角形の輪郭ベクタと出力デバイ
スのスキャンラインとの交点座標を計算する方法として
は、2種類の方法が考えられる。1つは、ベクタの傾き
を小数で与え、その傾き値をベクタの始点座標に繰り返
し加算していくことによって、ベクタ上の交点座標を順
次発生させる方法である。もう1つは、ブレゼンハムの
アルゴリズムとして知られる方法で、真の線分と出力デ
バイスの座標系とのずれを分数で表し、分数計算のみに
よって、与えられた線分に最も近い画素を選択する方法
である。
【0021】この発明を前者の方法に適用した場合を第
1の実施形態として、この発明を後者の方法に適用した
場合を第2の実施形態として、以下に順に示す。
【0022】〔第1の実施形態〕 <全体構成>図1は、第1の実施形態の図形処理装置の
全体構成を示す。この実施形態の図形処理装置は、全体
として、命令解釈部1、ベクタデータ生成部2、フォン
ト管理部3、ショートベクタ生成部4、多角形分割部
5、DDA処理部6、ソート部7、メモリ描画部8、お
よびフレームバッファメモリ9によって構成され、フレ
ームバッファメモリ9に描画された画素データが出力デ
バイス(出力グラフィックデバイス)11に転送される
ものである。
【0023】命令解釈部1は、これに入力された図形ま
たは文字の描画命令を解釈して、ベクタデータ生成部2
が理解できる形式に変換するものである。PostSc
ript(AdobeSystems社の登録商標)や
GDI(Microsoft社の登録商標)などの記述
言語では、図形または文字の描画命令は文字列またはバ
イナリ列として与えられる。命令解釈部1は、これらの
描画命令を、トークンの切り出しや字句解釈などを実行
することによって、内部命令に変換して出力する。
【0024】ベクタデータ生成部2は、命令解釈部1か
らの内部命令に従ってベクタデータを生成するもので、
内部命令が図形の塗りつぶし命令である場合には、命令
解釈部1から、図形の輪郭を表現するベクタ、偶奇規則
や非零巻線規則などの塗りつぶし規則、曲線を直線で近
似する場合の精度を指示するflatness値、およ
び描画色が与えられるので、それらの情報をそのまま、
ショートベクタ生成部4に出力する。
【0025】内部命令が線図形描画命令である場合に
は、命令解釈部1から、線を表現するベクタ、線幅・終
点形状・接続形状などの線属性情報、曲線を直線で近似
する場合の精度を指示するflatness値、および
描画色が与えられるので、これらのうちのベクタおよび
線属性情報を使用して、図28に示したような線図形の
輪郭ベクタVを生成し、残りの情報とともに、ショート
ベクタ生成部4に出力する。
【0026】内部命令が文字描画命令である場合には、
命令解釈部1から、文字コード、フォント識別子、描画
位置、および描画色が与えられるので、これらのうちの
文字コード、フォント識別子および描画位置の情報をフ
ォント管理部3に送って、文字の輪郭ベクタを取得し、
残りの情報とともに、ショートベクタ生成部4に出力す
る。
【0027】フォント管理部3は、各種フォントに対す
るアウトラインベクタデータを記憶し、与えられた文字
コード、フォント識別子および描画位置の情報によっ
て、その文字に対するアウトラインベクタデータを提供
する。
【0028】以上の処理によって、命令解釈部1に入力
された図形描画命令および文字描画命令は全て、輪郭を
表現するベクタ、描画色、flatness値、および
塗りつぶし規則の情報に変換される。
【0029】ショートベクタ生成部4は、この変換され
た輪郭ベクタ中に曲線が含まれている場合に、その曲線
部分を、flatness値で指定された誤差以下とな
るように、微小な直線ベクタで近似する処理を行うもの
で、これによって、全ての図形または文字は、図29に
示したように任意形状の多角形に変換される。
【0030】多角形分割部5は、このショートベクタ生
成部4で生成された多角形を、出力デバイス11の同一
スキャンラインと交差する輪郭ベクタの数がDDA処理
部6の構成によって決まる数Mに制限された部分多角形
に分割する。
【0031】図2(A)は、M=4に設定された場合
で、この場合、多角形S0は、y座標値がya以上、y
b以下の範囲で、スキャンラインLと交差する輪郭ベク
タの数がM=4を超えているので、2つの部分多角形S
1およびS2に分割される。図2(B)は、M=2に設
定された場合で、この場合、同じ多角形S0は、3つの
部分多角形S1,S2およびS3に分割される。図2
(C)は、M=6に設定された場合で、この場合、同じ
多角形S0は、分割されることなく、そのまま部分多角
形S1として出力される。後述する具体例は、M=4と
した場合である。
【0032】このように、多角形分割部5において、全
ての多角形は、それぞれの部分多角形の出力デバイス1
1の同一スキャンラインと交差する輪郭ベクタの数がM
以下に制限された部分多角形に分割され、後述するデー
タ形式に変換されて、DDA処理部6に入力される。
【0033】DDA処理部6は、この多角形分割部5で
生成された部分多角形ごとに、その部分多角形の各輪郭
ベクタと出力デバイス11の各スキャンラインとの交点
座標を、最大M個ずつ並行処理により計算して出力する
ハードウェアである。DDA処理部6は、この発明の中
心となる構成要素で、詳細は後述する。
【0034】ソート部7は、DDA処理部6から出力さ
れた1スキャンラインあたり最大M個の交点座標データ
を、x座標値により昇順にソートして出力するものであ
る。ソーティングのアルゴリズムとしては、クイックソ
ートなどを用いる。
【0035】メモリ描画部8は、多角形の塗りつぶし規
則の情報を用いて、ソート部7でソートされた1スキャ
ンラインあたり最大M個の交点座標データから、塗りつ
ぶす区間の始点および終点の組を求め、その区間に対応
する線分を指定された描画色でフレームバッファメモリ
9に描画するものである。
【0036】フレームバッファメモリ9は、出力デバイ
ス11の描画領域全体に対応する容量を有するDRAM
(Dynamic Random Access Me
mory)である。フレームバッファメモリ9に全ての
図形および文字が描画されると、その結果の画素データ
が出力デバイス11に出力される。
【0037】出力デバイス11は、CRTディスプレイ
や液晶ディスプレイなどのディスプレイ装置またはプリ
ンタ装置で、この出力デバイス11ごとに定められた一
定の間隔で画素データがフレームバッファメモリ9から
出力デバイス11に転送されることによって、図形およ
び文字が表示または印刷される。
【0038】<多角形データのデータ形式>多角形分割
部5からDDA処理部6に入力される部分多角形は、第
1の実施形態では、以下のようなデータ形式とする。な
お、以下では、部分多角形を単に「多角形」と称し、分
割前の多角形は「元の多角形」と称する。
【0039】図3は、多角形Snが、出力デバイス11
の同一スキャンラインと交差する輪郭ベクタの数がM
(=4)以下に制限された、6つの輪郭ベクタe1〜e
6からなる場合である。座標値xs1〜xs6およびy
s1〜ys6は、輪郭ベクタe1〜e6の始点のx座標
値およびy座標値、座標値xe1〜xe6およびye1
〜ye6は、輪郭ベクタe1〜e6の終点のx座標値お
よびy座標値で、出力デバイス11のスキャンライン方
向(主スキャン方向)をx軸方向、副スキャン方向をy
軸方向として、それぞれの輪郭ベクタe1〜e6の両端
点のうち、y座標値が小さい方を始点、大きい方を終点
としたものである。
【0040】このような多角形Snのデータは、図4に
示すように、ヘッダ部とセルリスト部とから構成し、ヘ
ッダ部は、輪郭ベクタ数に等しいセル数、描画色、およ
び塗りつぶし規則などの情報を含むものとし、セルリス
ト部は、それぞれの輪郭ベクタの始点のy座標値ysお
よびx座標値xs、およびそれぞれの輪郭ベクタについ
てのパラメータdxdyおよびrscanからなるセル
を、それぞれの輪郭ベクタに対応させて、始点y座標値
ysが小さい順にソートしたものとする。
【0041】パラメータdxdyは、当該ベクタの傾き
を示し、当該ベクタ上でy座標値が1増加したときのx
座標値の増減量(xe−xs)/(ye−ys)であ
る。パラメータrscanは、当該ベクタが交わるスキ
ャンラインの本数を示し、rscan=ye−ysで表
される。ただし、交差数rscanは、後述するように
スキャンラインが1本ずつ処理されるごとに1ずつ減じ
られる。
【0042】始点のx座標値xs、y座標値ysおよび
交差数rscanは、それぞれ16ビットの整数、傾き
値dxdyは、整数部16ビット、小数部16ビットの
32ビット固定小数点小数で表現される。
【0043】図2(A)のように元の多角形が複数の多
角形に分割された場合には、それぞれの多角形について
の上述したデータ形式のデータが順次、多角形分割部5
からDDA処理部6に入力される。ただし、それぞれの
多角形データのヘッダ部のうち、DDA処理部6で使用
されるのは、セル数の情報のみである。
【0044】<DDA処理部6の構成>DDA処理部6
は、図5に示すように、レジスタファイル21、2つの
FIFO回路22,23、演算部24、制御部25、お
よび2つのマルチプレクサ26,27からなり、入力端
子28,29および出力端子30,31を備える構成と
する。
【0045】入力端子28には、多角形分割部5からの
多角形データ中のセルデータ中の、始点x座標値xs、
傾き値dxdyおよび交差数rscanが入力され、入
力端子29には、多角形データ中のヘッダデータ、およ
びセルデータ中の始点y座標値ysが入力され、出力端
子30および31には、後述するように、スキャンライ
ンごとに、多角形の各輪郭ベクタとスキャンラインとの
交点座標が、x座標値cxおよびy座標値cyに分けら
れて出力される。出力端子30,31に出力された交点
座標(cx,cy)は、ソート部7に入力される。
【0046】レジスタファイル21は、この例ではM=
4であるので、図6にレジスタ0,1,2,3として示
すように、セルデータを蓄えるレジスタが4個集合した
もので、80ビット×4ワード構成の同期式2ポートS
RAMとして実装される。
【0047】レジスタファイル21は、それぞれ2ビッ
ト幅の書き込みアドレス信号wradrおよび読み出し
アドレス信号rdadrにより内部レジスタのアドレス
を指定することによって、任意の内部レジスタを読み書
きすることができる。
【0048】後述のFIFO回路23からの読み出しア
ドレス信号rdadrで指定された内部レジスタの内容
は、常に読み出しデータdataoutとして出力され
る。一方、書き込みは、制御部25からの書き込み制御
信号writeによって制御される。すなわち、図では
省略したシステムクロックの立ち上がりエッジがレジス
タファイル21に入力されたとき、書き込み制御信号w
riteがアクティブであれば、後述のマルチプレクサ
27からの書き込みアドレス信号wradrで指定され
た内部レジスタに、後述のマルチプレクサ26からの書
き込みデータdatainが書き込まれる。
【0049】書き込みデータdatain、読み出しデ
ータdataout、およびレジスタファイル21内部
の各レジスタは、それぞれ80ビット幅で、図6に示す
ように、上位ビットから(cx,dxdy,rsca
n)の順でセルデータが割り当てられる。dxdyおよ
びrscanは、入力データと同じ形式である。cx
は、処理中のスキャンラインについての各輪郭ベクタと
の交点のx座標値で、整数部16ビット、小数部16ビ
ットの32ビット固定小数点小数で表現される。
【0050】FIFO回路22および23は、それぞれ
先入れ先出し(First InFirst Out)
方式のメモリ回路で、FIFO回路22は、レジスタフ
ァイル21中の使用されていない(有効なセルデータを
記憶していない)内部レジスタのアドレスを格納し、F
IFO回路23は、レジスタファイル21中の使用され
ている(有効なセルデータを記憶している)内部レジス
タのアドレスを格納するものである。
【0051】具体的に、FIFO回路22および23
は、それぞれ、図7に示すように、レジスタアドレスを
蓄える2ビット×4ワード構成の同期式2ポートSRA
M32と、FIFO制御回路33とによって構成され
る。FIFO制御回路33には、制御部25から書き込
み制御信号pushおよび読み出し制御信号popが与
えられ、これによって、FIFO制御回路33は、SR
AM32に、書き込み制御信号wren、書き込みポイ
ンタwrptr、および読み出しポインタrdptrを
送出して、SRAM32の書き込みおよび読み出しを制
御する。
【0052】すなわち、システムクロックの立ち上がり
エッジで書き込み制御信号pushがアクティブであれ
ば、書き込みアドレス信号adrinの内容がSRAM
32に書き込まれ、システムクロックの立ち上がりエッ
ジで読み出し制御信号popがアクティブであれば、S
RAM32に格納されている次のアドレスが読み出され
て、読み出しアドレス信号adroutとして出力され
る。
【0053】また、FIFO制御回路33は、SRAM
32内の全てのアドレスデータを出力し終ったら、空
(カラ)検出信号emptyをアクティブにし、書き込
みによってSRAM32が満杯になったら、満杯検出信
号fullをアクティブにする。
【0054】演算部24は、レジスタファイル21から
読み出しデータdataoutとして出力された、処理
中のスキャンラインについての交点x座標値cx、傾き
値dxdyおよび交差数rscanから、次のスキャン
ラインについてのそれぞれを計算して、その結果をマル
チプレクサ26に出力するとともに、処理中のスキャン
ラインについての交差数rscanが0であるか否かを
判定して、その結果を制御部25に通知するもので、図
8に示すように、加算器34、デクリメンタ35、およ
びコンパレータ36によって構成される。
【0055】加算器34で、処理中のスキャンラインに
ついての交点x座標値cxに傾き値dxdyが加算され
て、次のスキャンラインについての交点x座標値nex
t_cxが得られる。傾き値dxdyは、次のスキャン
ラインでも変わらないので、処理中のスキャンラインに
ついてのそれが、そのまま次のスキャンラインについて
のそれとして出力される。
【0056】デクリメンタ35で、処理中のスキャンラ
インについての交差数rscanから1が減算されて、
次のスキャンラインについての交差数next_rsc
anが得られる。コンパレータ36で、処理中のスキャ
ンラインについての交差数rscanが0であるか否か
が判定され、判定結果rscan_eq0が得られる。
【0057】制御部25は、DDA処理部6全体の動作
を制御するもので、図9に示すように、4つのカウンタ
37〜40、4つのコンパレータ41〜44、デクリメ
ンタ45、およびステートマシン46によって構成され
る。図10に、各カウンタ37〜40に共通の入出力信
号を示す。
【0058】カウンタ37〜40は、それぞれ、電源投
入時などにシステムリセット信号resetが '1’に
なると、カウント出力信号countを0にリセットす
る。システムリセット信号resetが '1’になった
後は、システムクロックclkの立ち上がりエッジに同
期して、カウンタ制御信号cntenがアクティブで、
かつアップダウン制御信号up/dnが '1’であれ
ば、カウント出力信号countを1カウントアップ
し、カウンタ制御信号cntenがアクティブで、かつ
アップダウン制御信号up/dnが '0’であれば、カ
ウント出力信号countを1カウントダウンする。
【0059】また、カウント値書き込み信号loadが
'1’であれば、カウントアップおよびカウントダウン
の処理を行わず、カウント値信号datainの値を取
り込んでカウント出力信号countに出力する。信号
up/dn,loadおよびcntenは、ステートマ
シン46から与えられる。
【0060】cyカウンタ37は、処理中のスキャンラ
インのy座標値cyを保持するカウンタである。多角形
の描画に先だって、cyカウンタ37には、多角形の最
初の(始点y座標値ysが最小の)ベクタの始点y座標
値ysが、処理中のスキャンラインのy座標値cyとし
てロードされる。1つのスキャンラインについての全て
の交点座標の計算および出力が終了すると、ステートマ
シン46の指示によって、cyカウンタ37はカウント
アップされる。
【0061】コンパレータ41では、cyカウンタ37
の出力のy座標値cyと次に入力されるベクタの始点y
座標値ysとを比較することによって、処理中のスキャ
ンラインから開始する(そのy座標値cyを始点y座標
値ysとする)ベクタが存在するか否かが検出され、そ
の結果がステートマシン46に通知される。
【0062】NumOfCellカウンタ38は、処理
中の多角形の残りセル数を保持するカウンタである。多
角形の描画に先だって、NumOfCellカウンタ3
8には、ヘッダ部のセル数フィールドの値がロードされ
る。その後、セルリスト部のセルデータが入力されるた
びに、NumOfCellカウンタ38はカウントダウ
ンされる。コンパレータ42では、NumOfCell
カウンタ38の値が0であるか否かを判定することによ
って、多角形の全てのセルデータが入力されたか否かが
検出され、その結果がステートマシン46に通知され
る。
【0063】NumOfStoredカウンタ39は、
レジスタファイル21に蓄えられているセルデータの数
を保持するカウンタである。NumOfStoredカ
ウンタ39は、システムリセット後、レジスタファイル
21にセルデータが蓄えられるごとにカウントアップ
し、レジスタファイル21からセルデータが削除される
ごとにカウントダウンする。コンパレータ43では、N
umOfStoredカウンタ39の値が0であるか否
かを判定することによって、レジスタファイル21が空
になったか否かが検出され、その結果がステートマシン
46に通知される。また、デクリメンタ45では、Nu
mOfStoredカウンタ39の値から1が減算され
る。
【0064】Outputカウンタ40は、DDA処理
部6で計算された交点座標をソート部7に出力するとき
に用いられるカウンタである。スキャンラインごとの交
点座標出力開始時に、デクリメンタ45の出力値(Nu
mOfStored−1)がOutputカウンタ40
にロードされることによって、Outputカウンタ4
0は、交点x座標値cxが出力されるごとにカウントダ
ウンされる。コンパレータ44でOutputカウンタ
40の値が0であるか否かが検出され、その結果がステ
ートマシン46に通知されることによって、Outpu
tカウンタ40の値が0になったら、当該スキャンライ
ンの交点座標出力は終了する。Outputカウンタ4
0は、システムリセット後、FIFO回路22に初期値
をセットするためにも用いられる。
【0065】ステートマシン46は、DDA処理部6の
各部から制御信号を取り込み、各部に制御信号を出力す
る。ステートマシン46に入力される制御信号は、FI
FO回路22,23の空検出信号emptyおよび満杯
検出信号full、演算部24のコンパレータ36の出
力信号rscan−eq0、および制御部25のコンパ
レータ41〜44の出力信号である。ステートマシン4
6が出力する制御信号は、レジスタファイル21の書き
込み制御信号write、FIFO回路22,23の書
き込み制御信号pushおよび読み出し制御信号po
p、制御部25のカウンタ37〜40のアップダウン制
御信号up/dn、カウント値書き込み信号loadお
よびカウンタ制御信号cnten、および後述するマル
チプレクサ26,27の選択制御信号である。
【0066】<DDA処理部6の動作>以上の構成のD
DA処理部6の動作を、図11〜図16を用いて示す。
【0067】制御部25は、システムリセット後、図1
1のステップ1において、FIFO回路22を初期設定
する。リセット直後は、レジスタファイル21には有効
なデータが蓄えられていないので、FIFO回路22に
は、”00”,”01”,”10”,”11”の順で未
使用レジスタアドレスがセットされる。これによって、
FIFO回路22は満杯状態になる。一方、使用中レジ
スタアドレスを格納するFIFO回路23は、空状態と
なっている。
【0068】次に、ステップ2において、多角形データ
が入力される。上述したように、DDA処理部6に入力
される多角形データは、多角形分割部5によって図4で
示した形式に変換されたものである。
【0069】始めに、多角形データのヘッダ部が入力端
子29から制御部25に入力され、セル数フィールドの
値がNumOfCellカウンタ38にロードされる。
それ以外の描画色および塗りつぶし規則の情報は、その
まま出力端子31に出力され、ソート部7に渡される。
続いて、多角形データのセルリスト部が入力され、各セ
ルデータのうち、始点y座標値ysは、入力端子29か
ら制御部25に入力される。残りの、始点x座標値x
s、傾き値dxdyおよび交差数rscanは、入力端
子28からマルチプレクサ26に入力される。
【0070】そして、ステップ2では、最初のセルの始
点y座標値ysが、処理中のスキャンラインのy座標値
cyとして、cyカウンタ37にロードされる。
【0071】次に、ステップ3において、制御部25
は、そのcyカウンタ37に保持されている処理中のス
キャンラインのy座標値cyを始点y座標値ysとす
る、すなわち処理中のスキャンラインから開始するベク
タが存在するか否かを調べ、存在する場合には、そのセ
ルデータをレジスタファイル21に書き込む。
【0072】図12に、ステップ3の処理を詳細に示
す。まず、ステップ31で、コンパレータ42の出力か
ら、NumOfCellカウンタ38の値が0であるか
否かを検出することによって、多角形のセルデータを全
て処理し終ったか否かを調べる。NumOfCell=
0であれば、入力されるセルデータは無いので、ステッ
プ3を終了してステップ4に進む。NumOfCell
=0でなければ、ステップ32に進む。
【0073】ステップ32では、空検出信号empty
の値から、未使用アドレスFIFO回路22が空状態で
あるか否かを調べる。FIFO回路22が空状態であれ
ば、レジスタファイル21中に空いているレジスタが無
いので、ステップ3を終了してステップ4に進む。FI
FO回路22が空状態でなければ、ステップ33に進
む。
【0074】ステップ33では、コンパレータ41の出
力から、次に入力されるセルデータの始点y座標値ys
が処理中のスキャンラインのy座標値cyと等しいか否
かを調べる。等しくなければ、処理中のスキャンライン
から開始するベクタは存在しないので、ステップ3を終
了してステップ4に進む。等しければ、ステップ34に
進む。
【0075】ステップ34では、セルデータ書き込み処
理を行う。まず、マルチプレクサ26では '1’を選択
して、入力端子28をレジスタファイル21の入力に接
続し、マルチプレクサ27では '0’を選択して、未使
用アドレスFIFO回路22の出力をレジスタファイル
21の書き込みアドレス信号wradrとする。続い
て、書き込み制御信号writeをアクティブにして、
入力セルデータ中の始点x座標値xs、傾き値dxdy
および交差数rscanを、レジスタファイル21に書
き込む。始点x座標値xsは、交点x座標値cxとして
書き込まれる。
【0076】制御部25は、これらの処理と並列に、F
IFO回路22の読み出し制御信号pop、およびFI
FO回路23の書き込み制御信号pushをアクティブ
にする。これによって、FIFO回路22に格納されて
いた未使用アドレスの先頭が、FIFO回路22から取
り出されてFIFO回路23に書き込まれ、使用中アド
レスとなる。さらに、制御部25は、NumOfCel
lカウンタ38を1カウントダウンし、NumOfSt
oredカウンタ39を1カウントアップする。
【0077】ステップ34でのセルデータ書き込み処理
を終了すると、ステップ31に戻って、再び、次に入力
されるセルデータをレジスタファイル21に書き込める
か否かを判断し、書き込める場合で、かつ次に入力され
るセルデータが処理中のスキャンラインから開始するベ
クタのデータであれば、そのセルデータを上述したよう
にレジスタファイル21に書き込む。
【0078】図11のステップ4では、制御部25は、
まず、交点座標出力処理に備えて、Outputカウン
タ40にデクリメンタ45の出力値(NumOfSto
red−1)をロードし、次に、cyカウンタ37に保
持されている処理中のスキャンラインのy座標値cy
を、処理中のスキャンライン上の交点のy座標値として
出力端子31に出力する。
【0079】次に、ステップ5において、制御部25
は、レジスタファイル21に蓄えられている全てのセル
データにつき、それぞれのベクタと処理中のスキャンラ
インとの交点のx座標値cxを、出力端子30に出力す
るとともに、これと並列に、演算部24に、次のスキャ
ンラインについての交点x座標値next_cxおよび
交差数next_rscanを計算させる。また、処理
中のスキャンラインで終了する、すなわち処理中のスキ
ャンラインのy座標値cyを終点y座標値yeとするベ
クタがあれば、そのセルデータをレジスタファイル21
から削除する。
【0080】図13に、ステップ5の処理を詳細に示
す。レジスタファイル21の読み出しアドレス信号rd
adrには常にFIFO回路23に格納されている使用
中アドレスの先頭が入力されており、レジスタファイル
21からの読み出しデータdataoutには対応する
内部レジスタの内容が常に出力されている。
【0081】まず、ステップ51で、このレジスタファ
イル21から出力されているセルデータ中の、処理中の
スキャンライン上の交点のx座標値cxが、出力端子3
0に出力されると同時に、Outputカウンタ40が
1カウントダウンされる。
【0082】次に、ステップ52では、制御部25は、
演算部24のコンパレータ36の出力rscan_eq
0から、レジスタファイル21から出力されているセル
データ中の交差数rscanが0であるか否かを調べ
る。そして、rscan=0であれば、当該セルは処理
中のスキャンラインをもって終了するので、ステップ5
3に進んで、当該セルデータをレジスタファイル21か
ら削除し、rscan=0でなければ、当該セルは次の
スキャンラインにも続くので、ステップ54に進んで、
当該セルデータを更新する。
【0083】具体的に、ステップ53のセルデータ削除
処理では、まず、マルチプレクサ27で '1’を選択し
て、使用中アドレスFIFO回路23の出力を未使用ア
ドレスFIFO回路22の入力に接続し、続いて、FI
FO回路22の書き込み制御信号push、およびFI
FO回路23の読み出し制御信号popをアクティブに
する。これによって、FIFO回路23に格納されてい
た使用中アドレスの先頭が、FIFO回路23から取り
出されてFIFO回路22に書き込まれ、未使用アドレ
スとなる。さらに、レジスタファイル21から有効なセ
ルデータが1つ減ったので、制御部25は、NumOf
Storedカウンタ39を1カウントダウンする。
【0084】一方、ステップ54のセルデータ更新処理
では、まず、マルチプレクサ26では '0’を選択し
て、演算部24の出力をレジスタファイル21の入力に
接続し、マルチプレクサ27では '1’を選択して、使
用中アドレスFIFO回路23の出力をレジスタファイ
ル21の書き込みアドレス信号wradrとする。続い
て、書き込み制御信号writeをアクティブにして、
演算部24で計算された次のスキャンラインについての
セルデータ、すなわち交点x座標値cx、傾き値dxd
yおよび交差数rscanを、レジスタファイル21に
書き込む。
【0085】これらの処理と並列に、制御部25は、F
IFO回路23の読み出し制御信号popおよび書き込
み制御信号pushをアクティブにする。これによっ
て、FIFO回路23に格納されていた使用中アドレス
の先頭が、FIFO回路23から取り出されてFIFO
回路23の最後尾に再び書き込まれる。
【0086】ステップ53でセルデータ削除処理を行
い、またはステップ54でセルデータ更新処理を行った
後、ステップ55に進んで、制御部25は、コンパレー
タ44の出力から、Outputカウンタ40の値が0
であるか否かを調べる。そして、Output=0であ
れば、レジスタファイル21に蓄えられている全てのセ
ルデータにつき、それぞれのベクタと処理中のスキャン
ラインとの交点のx座標値cxを出力し終っているの
で、ステップ5を終了してステップ6に進み、Outp
ut=0でなければ、処理中のスキャンラインにつき、
交点x座標値cxを出力していないセルデータがレジス
タファイル21中に残っているので、ステップ51に戻
って、再び、上述した交点座標出力、およびセルデータ
の削除または更新の処理を行う。
【0087】図11のステップ6では、制御部25は、
cyカウンタ37を1カウントアップして、次のスキャ
ンラインの処理に備える。
【0088】次に、ステップ7において、制御部25
は、コンパレータ42の出力から、NumOfCell
カウンタ38の値が0であるか否かを検出することによ
って、多角形のセルデータを全て処理し終ったか否かを
調べる。NumOfCell=0であれば、入力される
セルデータは無いので、ステップ10に進み、NumO
fCell=0でなければ、ステップ8に進む。
【0089】ステップ8では、コンパレータ43の出力
から、NumOfStoredカウンタ39の値が0で
あるか否かを検出することによって、レジスタファイル
21が空になったか否かを調べる。そして、NumOf
Stored=0であれば、レジスタファイル21は空
であるので、ステップ9に進んで、次に入力されるセル
の始点y座標値ysを、処理中のスキャンラインのy座
標値cyとしてcyカウンタ37にロードした後、ステ
ップ3に戻り、NumOfStored=0でなけれ
ば、ステップ9を経由することなくステップ3に戻る。
【0090】ステップ10では、コンパレータ43の出
力から、NumOfStoredカウンタ39の値が0
であるか否かを検出することによって、レジスタファイ
ル21が空になったか否かを調べる。そして、NumO
fStored=0でなければ、新たに入力されるセル
データはないが、レジスタファイル21中には有効なセ
ルデータが残っているので、ステップ4に戻って、交点
座標出力、およびセルデータの削除または更新の処理を
行う。一方、NumOfStored=0であれば、入
力された1つの多角形の処理は全て終了したことになる
ので、ステップ11に進む。
【0091】ステップ11では、全ての多角形の処理が
終了したか否かを判断し、続いて多角形が入力される場
合には、ステップ2に戻って、次の多角形につき上述し
た一連のDDA処理を実行し、そうでなければ、DDA
処理を終了する。
【0092】図3および図14〜図16を用いて、上述
したステップ34,53および54における動作の具体
例を示す。
【0093】図14は、図3の多角形Snの図4に示し
たデータがDDA処理部6に入力された場合の、y座標
値がys1(=ys2)のスキャンラインLiを処理中
のスキャンラインとするときの、ステップ34の前後に
おけるFIFO回路22,23およびレジスタファイル
21の内部レジスタの様子を示す。
【0094】最初のセル1が入力される直前では、図1
4の上段に示すように、レジスタファイル21にはセル
データは書き込まれておらず、FIFO回路22にはレ
ジスタファイル21の全てのアドレスが図示する順で未
使用アドレスとして格納されている。一方、FIFO回
路23は空状態である。
【0095】この状態でセル1が入力されると、ステッ
プ34のセルデータ書き込み処理が実行される。すなわ
ち、FIFO回路22に格納されている未使用アドレス
の先頭”00”がレジスタファイル21の書き込みアド
レスとされ、入力されたセル1のデータ中の始点x座標
値xs1、傾き値dxdy1および交差数rscan1
がレジスタファイル21のアドレス”00”の内部レジ
スタに書き込まれる。同時に、FIFO回路22からア
ドレス”00”が取り出されて、FIFO回路23に書
き込まれる。その結果、FIFO回路22,23および
レジスタファイル21の内部レジスタは、図14の上の
状態から下の状態に変化する。
【0096】図15は、図3に示すy座標値がye1
(=ye4)のスキャンラインLkを処理中のスキャン
ラインとするときの、ステップ53の前後におけるFI
FO回路22,23およびレジスタファイル21の内部
レジスタの様子を示す。
【0097】図3に示すy座標値がys3(=ys4)
のスキャンラインLjから上記のスキャンラインLkに
かけては、図15の上段に示すように、FIFO回路2
2は空状態で、FIFO回路23にはレジスタファイル
21の全てのアドレスが図示する順で使用中アドレスと
して格納され、レジスタファイル21のアドレス”0
0”,”01”,”10”,”11”の内部レジスタに
はベクタe1,e2,e3,e4のセルデータが蓄えら
れている。ただし、スキャンラインLkを処理中のスキ
ャンラインとするときには、ベクタe1およびe4につ
いての交差数は、図4に示した入力多角形データ中の当
初の値rscan1およびrscan4から0に減じら
れ、ベクタe2およびe3についての交差数は、入力多
角形データ中の当初の値rscan2およびrscan
3から別の値rscan2’およびrscan3’に減
じられている。
【0098】そして、処理中のスキャンラインがスキャ
ンラインLkになると、ベクタe1およびe4が終了す
るので、ステップ53のセルデータ削除処理が実行され
る。すなわち、レジスタファイル21の読み出しアドレ
ス信号rdadrには常にFIFO回路23に格納され
ている使用中アドレスの先頭が入力されているので、こ
のとき、レジスタファイル21のアドレス”00”の内
部レジスタからベクタe1のセルデータが読み出され、
ステップ53の直前のステップ52において、演算部2
4のコンパレータ36の出力rscan_eq0から、
ベクタe1についての交差数が0であることが、すなわ
ちベクタe1が処理中のスキャンラインLkをもって終
了することが検出される。これを受けて、ステップ53
において、FIFO回路23からアドレス”00”が取
り出されて、FIFO回路22に書き込まれる。その結
果、FIFO回路22,23およびレジスタファイル2
1の内部レジスタは、図15の上の状態から下の状態に
変化する。
【0099】図16は、図3に示すy座標値がys1
(=ys2)のスキャンラインLiを処理中のスキャン
ラインとするときの、ステップ54の前後におけるFI
FO回路22,23およびレジスタファイル21の内部
レジスタの様子を示す。
【0100】このとき、ステップ3では、図16の上段
に示すように、レジスタファイル21のアドレス”0
0”,”01”の内部レジスタにはベクタe1,e2の
セルデータが蓄えられており、FIFO回路22にはア
ドレス”10”,”11”が未使用アドレスとして格納
され、FIFO回路23にはアドレス”00”,”0
1”が使用中アドレスとして格納されている。
【0101】レジスタファイル21の読み出しアドレス
信号rdadrには常にFIFO回路23に格納されて
いる使用中アドレスの先頭が入力されているので、この
とき、ステップ51で、ベクタe1の始点x座標値xs
1が交点x座標値cxとして出力端子30に出力された
後、ステップ52で、演算部24のコンパレータ36の
出力rscan_eq0から、ベクタe1についての交
差数rscan1が0であるか否かが検出される。
【0102】そして、このとき、rscan1>0であ
るので、ステップ54のセルデータ更新処理が実行され
る。すなわち、FIFO回路23に格納されている使用
中アドレスの先頭”00”がレジスタファイル21の書
き込みアドレスとされ、演算部24で計算されたセル1
の次のスキャンラインについてのデータがレジスタファ
イル21のアドレス”00”の内部レジスタに書き込ま
れる。同時に、FIFO回路23からアドレス”00”
が取り出されて、FIFO回路23の最後尾に再び書き
込まれる。その結果、FIFO回路22,23およびレ
ジスタファイル21の内部レジスタは、図16の上の状
態から下の状態に変化する。
【0103】<他の例>上述した例は、図2(A)に示
したように、出力デバイス11の同一スキャンラインと
交差する輪郭ベクタの制限数Mを4とした場合である
が、レジスタファイル21の内部レジスタの数、アドレ
ス信号wradr,rdadrの幅、FIFO回路2
2,23の構成、およびOutputカウンタ40の幅
を変えることによって、制限数Mは2以上の任意の偶数
にすることができる。
【0104】また、上述した例は、レジスタファイル2
1を単一のモジュールとして実装して、これに全てのD
DAパラメータ(セルデータ)を蓄える場合であるが、
半導体製造上の問題などで、レジスタファイルとして構
成可能なビット幅がパラメータのビット幅より小さい場
合には、図17に示すように、レジスタファイル21を
複数のモジュールとして実装してもよい。図17の例
は、それぞれ交点x座標値cx、傾き値dxdy、交差
数rscanを蓄える3つのレジスタファイル21a,
21b,21cによってレジスタファイル21を構成
し、書き込みアドレス信号wradr、読み出しアドレ
ス信号rdadr、および書き込み制御信号write
を各レジスタファイル21a,21b,21cに共通と
した場合である。
【0105】<第1の実施形態の効果>上述した第1の
実施形態によれば、任意の多角形を台形や単純な凸多角
形に分割するための前処理に多大な計算時間を必要とせ
ず、専用のハードウェアによって高速にDDA処理を実
行することができる。また、冗長なDDA初期値計算回
路やDDA演算回路を必要としないとともに、複数のD
DA処理を並行に行うことができる。
【0106】〔第2の実施形態〕上述したように、第2
の実施形態は、この発明をブレゼンハム・アルゴリズム
に適用した場合である。始めに、ブレゼンハム・アルゴ
リズムを簡単に説明する。図18に示すような、x軸と
なす角度aが0°〜45°の線分A上の座標点を計算す
る場合を考える。そのほかの角度に対する一般化は、後
述する。
【0107】線分Aの始点を(xs,ys)、終点を
(xe,ye)とすると、求める線分A上の座標点は、
xs〜xeの範囲の各x座標につき1点ずつ計算すれば
よい。各座標点のy座標は、始点(xs,ys)と終点
(xe,ye)を結ぶ真の線分に最も近い座標を選択す
る。
【0108】図19に示すように、あるx座標pxのと
ころでy座標pyが選択されたとすると、次の座標点と
しては、点(px+1,py)または点(px+1,p
y+1)のいずれかを選択すればよい。x座標がpxの
ところで真の線分のy座標からpyを差し引いた誤差を
eoとすると、x座標がpx+1のところでは、真の線
分のy座標が線分の傾きの分だけ増加しているので、誤
差はeoより増えることになり、ea=eo+(ye−
ys)/(xe−xs)となる。
【0109】この値eaが0.5以下のときには、点
(px+1,py)を選択し、0.5より大きいときに
は、点(px+1,py+1)を選択する。それぞれの
場合の新たな誤差eは、点(px+1,py)を選択し
たときには、e=ea=eo+(ye−ys)/(xe
−xs)となり、点(px+1,py+1)を選択した
ときには、点自身がy軸方向に1だけ増加しているの
で、その分をeaから差し引いて、e=ea−1=eo
−1+(ye−ys)/(xe−xs)となる。
【0110】このような処理をxs〜xeの範囲の全て
のx座標について繰り返すことによって、線分A上の座
標点を計算する。
【0111】ただし、第2の実施形態では、誤差の計算
式を整数化した改良型のブレゼンハム・アルゴリズム
(David F.Rogers著、山口富士夫監修、
セイコー電子工業株式会社電子機器事業部訳、日刊工業
新聞社発行の『実践コンピュータグラフィックス基礎手
続きと応用』pp.47−51に記載)を用いる。
【0112】第2の実施形態の図形処理装置の全体構成
は、図1に示すように第1の実施形態と同じで、多角形
分割部5からDDA処理部6に入力される多角形データ
のデータ形式、およびDDA処理部6の構成および動作
が、以下に示すように第1の実施形態と異なる。
【0113】<多角形データのデータ形式>第2の実施
形態では、多角形分割部5で出力デバイス11の同一ス
キャンラインと交差する輪郭ベクタの数がM(=4)以
下となるように分割された、図3に示したような多角形
Snのデータは、図20に示すように、ヘッダ部とセル
リスト部とから構成し、ヘッダ部は、第1の実施形態と
同様に、輪郭ベクタ数に等しいセル数、描画色、および
塗りつぶし規則などの情報を含むものとし、セルリスト
部は、それぞれの輪郭ベクタの始点のy座標値ysおよ
びx座標値xs、および終点のy座標値yeおよびx座
標値xeからなるセルを、それぞれの輪郭ベクタに対応
させて、始点y座標値ysが小さい順にソートしたもの
とする。座標値ys,xs,ye,xeは、全て16ビ
ットの整数で表現される。
【0114】<DDA処理部6の構成>第2の実施形態
では、DDA処理部6は、図21に示すように、初期値
計算部61と交点座標計算部62とから構成され、図1
の多角形分割部5からの図20に示したデータ形式の多
角形データが初期値計算部61に入力されて、初期値計
算部61において後述のブレゼンハム・パラメータの初
期値データが計算され、その初期値データが交点座標計
算部62に入力されて、交点座標計算部62においてス
キャンラインごとに複数の交点座標(cx,cy)が計
算され、図1のソート部7に出力される。
【0115】初期値計算部61は、図22に示すよう
に、減算器66〜69、絶対値計算用の演算器70、マ
グニチュードコンパレータ71、シフタ72,73、お
よびマルチプレクサ74〜79によって構成される。
【0116】減算器66では、dy=ye−ysが演算
され、減算器67および演算器70では、xe−xsの
絶対値であるdx=abs(xe−xs)、および内部
信号incxが演算される。内部信号incxは、図2
3(A)に示すように、xe−xsの正負に応じたもの
で、2ビットの2の補数で表現され、”01”は+1
を、”00”は0を、”11”は−1を、それぞれ意味
する。
【0117】さらに、初期値計算部61の出力信号とし
て、図23(B)に示すような各信号が得られる。dx
gtdyは、入力されたセルデータに対応するベクタが
x軸とy軸のいずれの方向に長いかを示すもので、dx
>dyで、ベクタがx軸方向に長いときには、dxgt
dy= '1’となり、dx≦dyで、ベクタがy軸方向
に長いときには、dxgtdy= '0’となる。dxg
tdyは、マグニチュードコンパレータ71によって求
められる。マルチプレクサ74〜79は、dxgtdy
によって操作される。
【0118】incsは、短軸方向への1ステップの増
分を表すパラメータで、x軸とy軸のいずれが短軸かに
よって、内部信号incxまたは”01”の値をとる。
inclは、長軸方向への1ステップの増分を表すパラ
メータで、x軸とy軸のいずれが長軸かによって、内部
信号incxまたは”01”の値をとる。incs,i
nclは、それぞれマルチプレクサ77,76から得ら
れる。
【0119】short0は、短軸方向の座標値sho
rtの初期値で、x軸とy軸のいずれが短軸かによっ
て、xsまたはysの値をとる。long0は、長軸方
向の座標値longの初期値で、x軸とy軸のいずれが
長軸かによって、xsまたはysの値をとる。shor
t0,long0は、それぞれマルチプレクサ79,7
8から得られる。
【0120】dl0は、ベクタの長軸方向の高さdlの
初期値で、x軸とy軸のいずれが長軸かによって、dx
=abs(xe−xs)またはdy=ye−ysの値を
とる。dl0は、マルチプレクサ75から得られる。
【0121】e0は、ブレゼンハム・アルゴリズムにお
ける誤差eの初期値で、x軸とy軸のいずれが長軸かに
よって、2×dy−dxまたは2×dx−dyの値をと
る。const1は、ブレゼンハム・アルゴリズムにお
いて、e≧0のときに誤差eに加算される定数で、x軸
とy軸のいずれが長軸かによって、2(dy−dx)ま
たは2(dx−dy)の値をとる。const2は、ブ
レゼンハム・アルゴリズムにおいて、e<0のときに誤
差eに加算される定数で、x軸とy軸のいずれが長軸か
によって、2×dyまたは2×dxの値をとる。
【0122】e0,const1,const2は、マ
ルチプレクサ74によりdyまたはdxが選択され、シ
フタ73によりマルチプレクサ74の出力がビットシフ
トされることによって、シフタ73からconst2が
得られ、マルチプレクサ75によりdxまたはdyが選
択され、減算器68によりマルチプレクサ74の出力か
らマルチプレクサ75の出力が減算され、シフタ72に
より減算器68の出力がビットシフトされることによっ
て、シフタ72からconst1が得られ、さらに減算
器69によりシフタ73の出力のconst2からマル
チプレクサ75の出力が減算されることによって、減算
器69からe0が得られる。
【0123】図21の交点座標計算部62は、入力デー
タが異なる点を除いて、第1の実施形態の図5に示した
DDA処理部6と同様に構成し、レジスタファイル2
1、2つのFIFO回路22,23、演算部24、制御
部25、および2つのマルチプレクサ26,27からな
るものとする。
【0124】図24に示すレジスタファイル21のそれ
ぞれの内部レジスタ0,1,2,3には、ベクタの長軸
・短軸方向を示す信号dxgtdy、短軸方向への1ス
テップの増分incs、長軸方向への1ステップの増分
incl、短軸方向の座標値short、長軸方向の座
標値long、長軸方向の高さdl、誤差e、e≧0の
ときに誤差eに加算される定数const1、およびe
<0のときに誤差eに加算される定数const2が、
同図に示す順序で格納される。dxgtdyは1ビット
の信号、incsおよびinclは2ビットの整数、そ
の他のパラメータは16ビットの整数で表現されたもの
である。レジスタファイル21の書き込みデータdat
ainおよび読み出しデータdataoutが101ビ
ット幅に変更されること以外は、第1の実施形態と同じ
である。
【0125】交点座標計算部62中の演算部24は、上
記のレジスタファイル21の出力データdataout
から、次のステップにおける各パラメータの値を計算
し、出力するもので、図25に示すように、加算器80
〜82、コンパレータ83、デクリメンタ84、および
マルチプレクサ85〜88によって構成される。
【0126】加算器80で、入力の短軸方向の座標値s
hortに増分incsが加算され、誤差eの符号ビッ
トの値に応じてマルチプレクサ86により、入力の短軸
方向の座標値shortそのもの、または増分incs
が加算された座標値(short+incs)が選択さ
れて、次のステップにおける短軸方向の座標値next
shortが得られる。誤差eの符号ビットは、e≧0
のときには '0’であり、e<0のときには '1’であ
る。
【0127】加算器81で、入力の長軸方向の座標値l
ongに増分inclが加算されて、次のステップにお
ける長軸方向の座標値nextlongが得られる。デ
クリメンタ84で、入力の長軸方向の高さdlから1が
減算されて、次のステップにおける長軸方向の高さne
xtdlが得られる。
【0128】また、誤差eの符号ビットの値に応じてマ
ルチプレクサ85により、定数const2またはco
nst1が選択され、加算器82で、入力の誤差eにマ
ルチプレクサ85の出力の定数const2またはco
nst1が加算されて、次のステップにおける誤差ne
xteが得られる。
【0129】さらに、ベクタの長軸・短軸方向を示す信
号dxgtdyの値に応じてマルチプレクサ87によ
り、入力の長軸方向の座標値longまたは短軸方向の
座標値shortが選択されて、交点x座標値cxが得
られるとともに、信号dxgtdyの値に応じてマルチ
プレクサ88により、次のステップにおける短軸方向の
座標値nextshortまたは長軸方向の座標値ne
xtlongが選択されて、次のステップにおける交点
y座標値nextcyが得られる。
【0130】また、コンパレータ83で、入力の長軸方
向の高さdlが0であるか否かが判定され、判定結果d
leq0が得られる。
【0131】座標値nextshort,nextlo
ng、高さnextdl、および誤差nexteは、交
点座標計算部62中の図5に示したマルチプレクサ26
に出力される。信号dxgtdy、増分incs,in
cl、および定数const1,const2は、入力
された値のまま、マルチプレクサ26に出力される。
【0132】次のステップにおける交点y座標値nex
tcy、および判定結果dleq0は、交点座標計算部
62中の図5に示した制御部25に出力される。交点x
座標値cxは、図1のソート部7に出力されて、以降の
描画処理に使用される。
【0133】交点座標計算部62中の図5に示したFI
FO回路22,23および制御部25は、第1の実施形
態と同様に、図7および図9に示した構成とする。
【0134】<DDA処理部6の動作>DDA処理部6
の交点座標計算部62の動作は、第1の実施形態のDD
A処理部6の動作と、図11のステップ1〜4およびス
テップ6〜11については共通で、ステップ5について
のみ異なる。以下では、図26を用いて、その異なるス
テップ5での処理のみを示す。
【0135】ステップ5では、まず、ステップ61で、
制御部25は、レジスタファイル21から出力されてい
るセルデータから演算部24によって得られた交点x座
標値cxを、出力端子30に出力すると同時に、Out
putカウンタ40を1カウントダウンする。
【0136】次に、ステップ62では、制御部25は、
演算部24のコンパレータ83の出力dleq0から、
レジスタファイル21から出力されているセルデータ中
の長軸方向の高さdlが0であるか否かを調べる。そし
て、dl=0であれば、当該セルは処理中のスキャンラ
インをもって終了するので、ステップ63に進んで、当
該セルデータをレジスタファイル21から削除し、dl
=0でなければ、当該セルは次のスキャンラインにも続
くので、ステップ64〜70に進んで、当該セルデータ
を更新する。
【0137】具体的に、ステップ63のセルデータ削除
処理では、まず、マルチプレクサ27で '1’を選択し
て、使用中アドレスFIFO回路23の出力を未使用ア
ドレスFIFO回路22の入力に接続し、続いて、FI
FO回路22の書き込み制御信号push、およびFI
FO回路23の読み出し制御信号popをアクティブに
する。これによって、FIFO回路23に格納されてい
た使用中アドレスの先頭が、FIFO回路23から取り
出されてFIFO回路22に書き込まれ、未使用アドレ
スとなる。さらに、レジスタファイル21から有効なセ
ルデータが1つ減ったので、制御部25は、NumOf
Storedカウンタ39を1カウントダウンする。
【0138】ステップ64〜70のセルデータ更新処理
では、まず、ステップ64で、マルチプレクサ26では
'0’を選択して、演算部24の出力をレジスタファイ
ル21の入力に接続し、マルチプレクサ27では '1’
を選択して、使用中アドレスFIFO回路23の出力を
レジスタファイル21の書き込みアドレス信号wrad
rとする。
【0139】続いて、ステップ65で、誤差eが正また
は0であるか否かを調べ、e<0であれば、ステップ6
6において、演算部24で、誤差eに定数const2
を加算して、更新された誤差nexteを算出した後、
ステップ68に進み、e≧0であれば、ステップ67に
おいて、演算部24で、短軸方向の座標値shortに
増分incsを加算して、更新された短軸方向の座標値
nextshortを算出するとともに、誤差eに定数
const1を加算して、更新された誤差nexteを
算出した後、ステップ68に進む。
【0140】ステップ68では、演算部24で、長軸方
向の座標値longに増分inclを加算して、更新さ
れた長軸方向の座標値nextlongを算出し、さら
に、書き込み制御信号writeをアクティブにして、
上記のように更新されたパラメータを含む新たなセルデ
ータをレジスタファイル21に書き込む。
【0141】次に、ステップ69で、演算部24からの
交点y座標値nextcyをcyカウンタ37の値と比
較して、nextcy=cy+2であるか否かを調べ
る。そして、nextcy=cy+2でなければ、ステ
ップ65に戻って、ステップ65〜69の処理を繰り返
し、nextcy=cy+2であれば、ステップ70に
進む。
【0142】ステップ70では、制御部25は、FIF
O回路23の読み出し制御信号popおよび書き込み制
御信号pushをアクティブにする。これによって、F
IFO回路23に格納されていた使用中アドレスの先頭
が、FIFO回路23から取り出されてFIFO回路2
3の最後尾に再び書き込まれる。
【0143】ステップ63でセルデータ削除処理を行
い、またはステップ64〜70でセルデータ更新処理を
行った後、ステップ71に進んで、制御部25は、コン
パレータ44の出力から、Outputカウンタ40の
値が0であるか否かを調べる。そして、Output=
0であれば、レジスタファイル21に蓄えられている全
てのセルデータにつき、それぞれのベクタと処理中のス
キャンラインとの交点のx座標値cxを出力し終ってい
るので、ステップ5を終了して図11のステップ6に進
み、Output=0でなければ、処理中のスキャンラ
インにつき、交点x座標値cxを出力していないセルデ
ータがレジスタファイル21中に残っているので、ステ
ップ61に戻って、再び、上述した交点座標出力、およ
びセルデータの削除または更新の処理を行う。
【0144】<第2の実施形態の効果>上述した第2の
実施形態では、DDA処理部6は初期値計算部61と交
点座標計算部62とから構成され、初期値計算部61で
ブレゼンハム・パラメータの初期値データが計算される
が、その初期値計算部61は図22に示したように簡単
な回路によって構成することができる。
【0145】したがって、第2の実施形態によれば、第
1の実施形態と同様に、任意の多角形を台形や単純な凸
多角形に分割するための前処理に多大な計算時間を必要
とせず、専用のハードウェアによって高速にDDA処理
を実行することができ、しかも、冗長なDDA初期値計
算回路やDDA演算回路を必要としないとともに、複数
のDDA処理を並行に行うことができる。
【0146】
【発明の効果】上述したしたように、この発明によれ
ば、任意の多角形を台形や単純な凸多角形に分割するた
めの前処理に多大な計算時間を必要とせず、専用のハー
ドウェアによって高速にDDA処理を実行することがで
きる。また、冗長なDDA初期値計算回路やDDA演算
回路を必要としないとともに、複数のDDA処理を並行
に行うことができ、処理速度および回路規模につき高度
に最適化された図形処理装置を実現することができる。
【図面の簡単な説明】
【図1】第1および第2の実施形態の図形処理装置の全
体構成を示す図である。
【図2】多角形分割部における分割の例を示す図であ
る。
【図3】多角形分割部で分割された多角形の例を示す図
である。
【図4】第1の実施形態のDDA処理部に入力される多
角形データのデータ形式を示す図である。
【図5】第1の実施形態のDDA処理部の構成例を示す
図である。
【図6】第1の実施形態のレジスタファイルの構成例を
示す図である。
【図7】FIFO回路の構成例を示す図である。
【図8】第1の実施形態の演算部の構成例を示す図であ
る。
【図9】制御部の構成例を示す図である。
【図10】制御部を構成する各カウンタの入出力信号を
示す図である。
【図11】DDA処理部の一連の動作を示す図である。
【図12】図11のステップ3を詳細に示す図である。
【図13】第1の実施形態の図11のステップ5を詳細
に示す図である。
【図14】図12のステップ34の前後におけるFIF
O回路およびレジスタファイルの状態を示す図である。
【図15】図13のステップ53の前後におけるFIF
O回路およびレジスタファイルの状態を示す図である。
【図16】図13のステップ54の前後におけるFIF
O回路およびレジスタファイルの状態を示す図である。
【図17】複数モジュールによるレジスタファイルの構
成例を示す図である。
【図18】傾きが0°以上、45°未満の線分の例を示
す図である。
【図19】ブレゼンハムのアルゴリズムを説明するため
の図である。
【図20】第2の実施形態のDDA処理部に入力される
多角形データのデータ形式を示す図である。
【図21】第2の実施形態のDDA処理部の全体構成を
示す図である。
【図22】第2の実施形態の初期値計算部の構成例を示
す図である。
【図23】図22の初期値計算部で生成される初期値を
示す図である。
【図24】第2の実施形態のレジスタファイルの構成例
を示す図である。
【図25】第2の実施形態の演算部の構成例を示す図で
ある。
【図26】第2の実施形態の図11のステップ5を詳細
に示す図である。
【図27】オーダードエッジリスト・アルゴリズムによ
る図形処理装置の全体構成を示す図である。
【図28】線図形から塗りつぶし図形への変換を説明す
るための図である。
【図29】微小直線による曲線の近似を説明するための
図である。
【図30】台形による多角形の分割を示す図である。
【図31】従来の台形描画装置を示す図である。
【図32】図31の装置による台形描画処理を示す図で
ある。
【図33】従来の並列DDA処理方式による図形処理装
置を示す図である。
【図34】図33の装置による直線描画処理を示す図で
ある。
【符号の説明】
1…命令解釈部 2…ベクタデータ生成部 3…フォント管理部 4…ショートベクタ生成部 5…多角形分割部 6…DDA処理部 7…ソート部 8…メモリ描画部 9…フレームバッファメモリ 11…出力デバイス(出力グラフィックデバイス) 21…レジスタファイル 22…未使用アドレスFIFO回路(第1のFIFOメ
モリ) 23…使用中アドレスFIFO回路(第2のFIFOメ
モリ) 24…演算部 25…制御部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】多角形を表現するそれぞれの輪郭ベクタの
    端点座標、傾き値、高さから構成されるパラメータの組
    を記憶する、複数のレジスタからなるレジスタファイル
    と、 このレジスタファイル中の前記パラメータの組を記憶し
    ていないレジスタのアドレスを格納する第1のFIFO
    メモリと、 前記レジスタファイル中の前記パラメータの組を記憶し
    ているレジスタのアドレスを格納する第2のFIFOメ
    モリと、 前記それぞれの輪郭ベクタと出力グラフィックデバイス
    のスキャンラインとの交点座標を計算する演算部と、 少なくとも、前記レジスタファイルのパラメータデータ
    入出力制御、前記第1および第2のFIFOメモリの状
    態管理とアドレス信号入出力制御、および前記演算部で
    計算された交点座標の出力制御を実行する制御部とを備
    え、 前記交点座標は、前記レジスタファイルを構成するレジ
    スタの数に等しい複数の交点座標について並行に、前記
    それぞれの輪郭ベクタの始点座標に前記傾き値を繰り返
    し加算することによって計算し、出力することを特徴と
    する図形処理装置。
  2. 【請求項2】請求項1の図形処理装置において、 前記パラメータの組は、前記出力グラフィックデバイス
    のスキャンライン方向をx軸方向、副スキャン方向をy
    軸方向として、注目するスキャンラインと当該輪郭ベク
    タとの交点のx座標値cxと、当該輪郭ベクタ上でy座
    標値が1増加したときのx座標値の増減量を表すパラメ
    ータdxdyと、当該輪郭ベクタが交わるスキャンライ
    ンの本数を示すパラメータrscanとから構成され、 前記演算部は、前記x座標値cxに前記パラメータdx
    dyを加算する加算器と、前記パラメータrscanか
    ら1を引いた値を計算する減算器と、前記パラメータr
    scanが0であるか否かを判定する比較器とから構成
    されることを特徴とする図形処理装置。
  3. 【請求項3】請求項2の図形処理装置において、 前記レジスタファイルは、前記x座標値cxを格納する
    第1のレジスタファイル、前記パラメータdxdyを格
    納する第2のレジスタファイル、および前記パラメータ
    rscanを格納する第3のレジスタファイルからなる
    ことを特徴とする図形処理装置。
  4. 【請求項4】請求項2または3の図形処理装置におい
    て、 前記制御部は、前記演算部で計算された交点座標を出力
    するにあたって、前記レジスタファイル中の、前記第2
    のFIFOメモリの先頭に格納されているアドレスを有
    するレジスタから、その内容を読み出して、その中の前
    記x座標値cxを出力するとともに、その第2のFIF
    Oメモリの先頭に格納されていた当該アドレスを取り出
    して第2のFIFOメモリの最後尾に再び書き込む処理
    を、交点座標出力処理開始時に第2のFIFOメモリに
    格納されていた全てのアドレスについて繰り返すことを
    特徴とする図形処理装置。
  5. 【請求項5】請求項2または3の図形処理装置におい
    て、 前記制御部は、前記演算部で計算された交点座標を出力
    するにあたって、前記レジスタファイル中の、前記第2
    のFIFOメモリの先頭に格納されているアドレスを有
    するレジスタから、その内容を読み出し、その中の前記
    パラメータrscanが0であるか否かを、前記比較器
    の出力から判断して、そのパラメータrscanが0で
    あるときには、その第2のFIFOメモリの先頭に格納
    されていた当該アドレスを取り出して前記第1のFIF
    Oメモリの最後尾に書き込む処理を、交点座標出力処理
    開始時に第2のFIFOメモリに格納されていた全ての
    アドレスについて繰り返すことを特徴とする図形処理装
    置。
  6. 【請求項6】請求項2または3の図形処理装置におい
    て、 前記制御部は、前記演算部で計算された交点座標を出力
    するにあたって、前記レジスタファイル中の、前記第2
    のFIFOメモリの先頭に格納されているアドレスを有
    するレジスタから、その内容を読み出して、その中の前
    記x座標値cxを出力するとともに、 その中の前記パラメータrscanが0であるか否か
    を、前記比較器の出力から判断して、そのパラメータr
    scanが0であるときには、その第2のFIFOメモ
    リの先頭に格納されていた当該アドレスを取り出して前
    記第1のFIFOメモリの最後尾に書き込む処理を、交
    点座標出力処理開始時に第2のFIFOメモリに格納さ
    れていた全てのアドレスについて繰り返し、 そのパラメータrscanが0でないときには、その第
    2のFIFOメモリの先頭に格納されていた当該アドレ
    スを取り出して第2のFIFOメモリの最後尾に再び書
    き込むと同時に、前記加算器で計算された結果を新たな
    x座標値cxとし、前記減算器で計算された結果を新た
    なパラメータrscanとして、その新たなx座標値c
    xおよびパラメータrscanと前記読み出した内容中
    のパラメータdxdyとの組を、更新されたパラメータ
    の組として、前記レジスタファイル中の、前記第2のF
    IFOメモリの先頭に格納されていた当該アドレスで指
    定されたレジスタに書き込む処理を、交点座標出力処理
    開始時に第2のFIFOメモリに格納されていた全ての
    アドレスについて繰り返すことを特徴とする図形処理装
    置。
  7. 【請求項7】請求項6の図形処理装置において、 前記第2のFIFOメモリからのアドレス読み出し、前
    記x座標値cxの出力、前記パラメータrscanが0
    であるか否かの判断、前記第1または第2のFIFOメ
    モリへのアドレス書き込み、前記加算器での加算、前記
    減算器での減算、および前記更新されたパラメータの組
    のレジスタファイルへの書き込みは、システムクロック
    に同期した1サイクル内で並列に処理されることを特徴
    とする図形処理装置。
  8. 【請求項8】請求項1〜7のいずれかの図形処理装置に
    おいて、 前記パラメータの組は、前記それぞれの輪郭ベクタの両
    端点のうち、y座標値が小さい方を始点、大きい方を終
    点として、始点のy座標値が小さい順にソートされて、
    多角形を表現する全ての輪郭ベクタに対応して順番に入
    力されることを特徴とする図形処理装置。
  9. 【請求項9】請求項8の図形処理装置において、 前記制御部は、処理中のスキャンラインのy座標値を保
    持するレジスタcyを備え、多角形の最も小さいy座標
    値から前記交点座標の計算を開始して、入力される輪郭
    ベクタの前記始点のy座標値が前記レジスタcyの値と
    一致するか否かによって、処理中のスキャンラインから
    開始する輪郭ベクタが存在するか否かを判断し、存在す
    るときには、当該輪郭ベクタのパラメータの組を、前記
    レジスタファイル中の、前記第1のFIFOメモリの先
    頭に格納されているアドレスを有するレジスタに書き込
    むとともに、その第1のFIFOメモリの先頭に格納さ
    れていた当該アドレスを取り出して前記第2のFIFO
    メモリの最後尾に書き込むことを特徴とする図形処理装
    置。
JP4341599A 1999-02-22 1999-02-22 図形処理装置 Pending JP2000242802A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4341599A JP2000242802A (ja) 1999-02-22 1999-02-22 図形処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4341599A JP2000242802A (ja) 1999-02-22 1999-02-22 図形処理装置

Publications (1)

Publication Number Publication Date
JP2000242802A true JP2000242802A (ja) 2000-09-08

Family

ID=12663098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4341599A Pending JP2000242802A (ja) 1999-02-22 1999-02-22 図形処理装置

Country Status (1)

Country Link
JP (1) JP2000242802A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163665A (ja) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd 描画装置
JP2007087283A (ja) * 2005-09-26 2007-04-05 Mitsubishi Electric Corp 図形描画装置及び図形描画プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002163665A (ja) * 2000-11-24 2002-06-07 Matsushita Electric Ind Co Ltd 描画装置
JP2007087283A (ja) * 2005-09-26 2007-04-05 Mitsubishi Electric Corp 図形描画装置及び図形描画プログラム
JP4664169B2 (ja) * 2005-09-26 2011-04-06 三菱電機株式会社 図形描画装置及び図形描画プログラム

Similar Documents

Publication Publication Date Title
US5946000A (en) Memory construct using a LIFO stack and a FIFO queue
EP0356103B1 (en) Scan-conversion process and processor
JP2601960B2 (ja) データ処理方法及びその装置
JPH08297737A (ja) 任意図形クリッピング方法および装置
JPH056160A (ja) グラフイツク・プロセツサ
EP0344686B1 (en) Clipping process and processor
JP3009525B2 (ja) ベクトル画像描画装置
EP0327001B1 (en) Pattern data generating system
JP2000242802A (ja) 図形処理装置
JP2757614B2 (ja) 図形塗りつぶし装置
US4945497A (en) Method and apparatus for translating rectilinear information into scan line information for display by a computer system
US6504543B1 (en) Polygon drawing method and polygon drawing apparatus
JP2770582B2 (ja) 図形塗潰し装置
JP2588257B2 (ja) 輪郭近似方式
JP2630843B2 (ja) 直線描画方法及び装置
JPS642953B2 (ja)
US5444834A (en) Filling pattern generation apparatus and method including correction for pattern overflow
JP2611098B2 (ja) ベクタ・ラスタ変換方式
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
JP2002208017A (ja) 描画処理装置
JPH11232473A (ja) 印刷処理装置
JPH0315193B2 (ja)
JPH0259871A (ja) 画像処理装置および画像処理方法
JP2835056B2 (ja) 高品質文字パターン発生方式
JPH11312238A (ja) 画像デ―タの転送装置