JPH0668268A - ベクタ・ラスタ変換方式 - Google Patents

ベクタ・ラスタ変換方式

Info

Publication number
JPH0668268A
JPH0668268A JP4245469A JP24546992A JPH0668268A JP H0668268 A JPH0668268 A JP H0668268A JP 4245469 A JP4245469 A JP 4245469A JP 24546992 A JP24546992 A JP 24546992A JP H0668268 A JPH0668268 A JP H0668268A
Authority
JP
Japan
Prior art keywords
dda
straight line
value
points
coordinate
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.)
Granted
Application number
JP4245469A
Other languages
English (en)
Other versions
JP2611098B2 (ja
Inventor
Hideo Noda
英夫 野田
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.)
Mutoh Industries Ltd
Original Assignee
Mutoh Industries 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 Mutoh Industries Ltd filed Critical Mutoh Industries Ltd
Priority to JP4245469A priority Critical patent/JP2611098B2/ja
Publication of JPH0668268A publication Critical patent/JPH0668268A/ja
Application granted granted Critical
Publication of JP2611098B2 publication Critical patent/JP2611098B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 DDA演算処理を使用したベクタ・ラスタ変
換方式において、点列データへの変換処理を高速化す
る。 【構成】 直線を特定するベクタデータを入力し、直線
に沿った直交座標系における長軸方向の各座標値に対す
る短軸方向の座標値を、直線の傾き相当値の累積値に応
じて逐次的に算出するn(n>1)個のDDA演算回路
1 〜2n を備えている。DDA演算回路21 は、初期
演算ステージにおいて、直線の始点から連続するn個の
点の座標値を求める。並列演算ステージでは、各DDA
演算回路21 〜2n は、初期演算ステージで求められた
n個の点の座標値をそれぞれ初期値としてn点だけ離れ
た点の座標値を逐次求める。これにより、連続するn個
の点が1サイクルで求められる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクタデータを点列
(ラスタ)データへ変換するベクタ・ラスタ変換方式に
関し、特にDDA(digital differential analyzer )
アルゴリズムを使用したベクタ・ラスタ変換方式に関す
る。
【0002】
【従来の技術】ベクタデータで表現された直線データを
点列(ラスタ)データへ変換するためのDDAアルゴリ
ズムを用いたベクタ・ラスタ変換技術は、プリンタ及び
ディスプレイ装置等に広く使用されている。一般的なD
DAのアルゴリズムでは、直線を示すベクタデータとし
て両端点P1 ,P2 の座標(x1 ,y1 )、(x2 ,y
2 )が与えられたとき、両点P1 ,P2 間のX軸方向の
距離Δxと、Y軸方向の距離Δyとを比較して、その絶
対値が大きい方(以下、dlと呼ぶ)の軸の座標を1つ
ずつ増加させながら、小さい方(以下、dsと呼ぶ)の
軸の座標に傾きm(=ds/dl)を加えていき、その
小数部を四捨五入した整数値に桁上がりがあるかないか
の増分判定を行う。そして、桁上がりがなければ、ds
側の座標を変えず、桁上がりがあれば、ds側の座標を
1つ増やすことにより、逐次的に点列データを求めるよ
うにしている。また、このアルゴリズムを改良したもの
として、実数型のデータ演算を伴わず乗除算が不要にな
るBresenham のDDAアルゴリズムも、ハードウェア化
に適している等の理由により頻繁に使用されている。
【0003】
【発明が解決しようとする課題】しかしながら、上述し
た従来のベクタ・ラスタ変換方式は、点列データを逐次
的に求めていく方式であるため、点列データへの変換処
理に多大な時間がかかるという問題点がある。
【0004】本発明はこのような問題点を解決するため
になされたもので、点列データへの変換処理を高速化す
ることができるベクタ・ラスタ変換方式を提供すること
を目的とする。
【0005】
【課題を解決するための手段】本発明に係るベクタ・ラ
スタ変換方式は、直線を特定するベクタデータを入力
し、前記直線に沿った直交座標系における第1軸方向の
各座標値に対する第2軸方向の座標値を、前記直線の傾
き相当値の累積値によって逐次的に算出するDDA演算
手段を備えたベクタ・ラスタ変換方式において、前記直
線上の異なる点から前記直線上の異なる位置についてそ
れぞれ並列に点列データを算出する複数のDDA演算手
段を備えたことを特徴とする。
【0006】本発明の1つの態様としては、n(n>
1)個の前記DDA演算手段が備えられ、前記n個のD
DA演算手段のうちの1つのDDA演算手段が、前記直
線の一方の点から連続するn個の点の座標値を求め、前
記n個のDDA演算手段のうちの第m(m=1〜n)番
目のDDA演算手段が、前記求められたn個の点の座標
値のうちの第m番目の座標値を初期値としてn点だけ離
れた点の座標値を逐次求めるものであることを特徴とす
る。
【0007】本発明の他の態様としては、2つの前記D
DA演算手段が備えられ、これら2つの前記DDA演算
手段が、前記直線の両端点からそれぞれ逆向きに前記直
線に沿った連続する点の座標値を逐次求めるものである
ことを特徴とする。
【0008】また、上記態様の更に変形した態様として
は、4つの前記DDA演算手段が備えられ、第1及び第
4のDDA演算手段が、前記直線の両端点からそれぞれ
逆向きに前記直線に沿った連続する点の座標値を逐次求
めるものであり、第2及び第3のDDA演算手段が、前
記直線の中点からそれぞれ逆向きに前記直線に沿った連
続する点の座標値を逐次求めるものであることを特徴と
する。
【0009】
【作用】本発明によれば、複数のDDA演算手段が並列
的に点列データを求めていくので、高速に点列データを
求めることができる。また、本発明のより具体的な態様
によれば、以下の実施例でも明らかになるように、例え
ばBresenham のアルゴリズムを応用することにより、実
数演算及び乗算を全く不要とすることができるので、ハ
ードウェア又はアルゴリズムの簡素化を図ることが可能
になる。
【0010】
【実施例】以下、添付の図面を参照してこの発明の実施
例について説明する。図1は、本発明の一実施例に係る
ベクタ・ラスタ変換方式を適用した画像出力システムの
構成を示すブロック図である。プロセッサ1からは、直
線の場合、例えば始点及び終点の座標値から構成される
ベクタデータが出力される。このベクタデータは、n
(nは2以上の整数)個のDDA演算回路21 ,22
…,2n に供給されている。n個のDDA演算回路21
〜2n は、入力されたベクタデータを並列処理により、
n組の直交座標系におけるX軸座標データ及びY軸座標
データに変換して出力する。これらの座標データは、ア
ドレス・データ変換回路3でアドレスとデータを変換さ
れたのち、グラフィックメモリ4に順次書込まれる。グ
ラフィックメモリ4に書込まれた直線の点列の座標値
は、D/A変換器5でD/A変換された後、モニタ6に
表示されたり、プロッタ駆動装置7を介してプロッタ8
に出力される。
【0011】次に、このシステムの詳細な説明に先立っ
て、Bresenham のアルゴリズムについて簡単に説明す
る。Bresenham のアルゴリズムは、シンプルDDAの除
算及び実数演算を回避した方法である。即ち、シンプル
DDAでは、直線のX軸方向の距離ΔxとY軸方向の距
離Δyが、Δx>Δyの関係にあるとすると、X軸座標
値を1つ加算する毎に誤差(直線の傾き)Δy/Δxを
累積加算していき、その誤差が1を超えた時点で、Y軸
座標値を1だけ増やすようにしているが、この場合、誤
差Δy/Δxを求めるために除算が必要になると共に、
誤差が小数部を含むため実数の加算が必要になる。そこ
で、Bresenham のアルゴリズムでは、誤差にΔxを乗じ
ることにより誤差を整数化すると共に、誤差がΔxを超
えた時点で、Y軸座標値を1だけ増やすようにしてい
る。なお、ここでは説明の便宜上、切り上げ型DDAに
ついて説明しているが、誤差を−0.5から累積し、そ
の値が正になったらY軸座標値を1だけ増やす四捨五入
型DDAについても同様の考えが適用できる。この場
合、誤差の初期値を2Δy−Δx、誤差を2Δyとし、
誤差が2Δxを超えた時点でY軸座標値を1だけ増やせ
ばよい。
【0012】いま、図2に示すように、(0,0)−
(30,13)というベクタデータで示される直線が与
えられたとすると、X軸方向の距離Δxと、Y軸方向の
距離Δyとは、それぞれΔx=30、Δy=13とな
る。このため、X軸を長軸、Y軸を短軸と定める。ま
た、誤差eの初期値として0を与える。次に、長軸であ
るX軸の座標値を初期値0から1ずつ加算していき、誤
差eにΔyを加算していく。そして、誤差eがΔxを超
えたら、短軸であるY軸の座標値に1を加算して、誤差
eからΔxを減算する。この処理を逐次行うと、X軸座
標値、Y軸座標値及び誤差eは、下記表1のようにな
る。なお、誤差eは、処理の過程でΔxを減算されるの
で、以後、残値eと呼ぶことにする。
【0013】
【表1】
【0014】求められたX座標値及びY軸座標値をプロ
ットしていくと、図2(a)に示すような直線に沿った
点列データが求められる。
【0015】次に、本実施例のシステムのアルゴリズム
を説明する。本実施例のアルゴリズムは、初期演算ステ
ージと並列演算ステージとからなっている。 (1)初期演算ステージ 本システムがn=8のDDA演算回路21 〜28 を備え
ているとすると、このうちの第1のDDA演算回路21
は、上述したBresenham のアルゴリズムに従って、まず
8個の座標値データを算出する。
【0016】(2)並列演算ステージ 続いて、ステップ1〜8で求めた各X座標値及びY座標
値を初期座標値として、8つのDDA演算回路21 〜2
8 は8点離れた点の座標値を逐次求めていく。このた
め、並列演算ステージでは、1回のステップで同時に連
続する8つの点の座標値が求められる。各DDA演算回
路21 〜28 における残値eの初期値としては、ステッ
プ1〜8でそれぞれ求められた残値eが使用される。X
軸方向の増分値は“8”に設定される。また、Y軸方向
の増分値incyとしては、ステップ8のときのY座標値y
(8) から始点のY座標値ys を引いた値、即ち“3”が
与えられるが、残値eの値によってはY座標の増分値が
“4”になることもある。更に、残値eの増分値erryと
しては、単純に8Δyとしても良いが、実際の判定に必
要なのは、長軸方向の8つの座標値の増加に対する短軸
方向の誤差の大きさであるから、8Δy−y(8) Δxを
使用すればよい。この値は、ステップ8で求まっている
残値eの値“14”である。以上をまとめると、表2の
ようになる。
【0017】
【表2】
【0018】図3及び図4は、DDA演算回路21 〜2
8 の主要部の具体的構成を示すブロック図であり、図3
は初期演算ステージ、図4は並列演算ステージで保持さ
れる値をそれぞれ示している。DDA演算回路21 〜2
8 は、長軸レジスタ11、短軸レジスタ12及び残値レ
ジスタ13を備えている。長軸レジスタ11には長軸座
標値が保持され、短軸レジスタ12には短軸座標値が保
持され、残値レジスタ13には、誤差の残値eが保持さ
れる。これらのレジスタ11〜13は、演算クロックに
同期して入力端子A又は入力端子Bに供給されるデータ
を保持する。いずれの入力を選択するかは、選択入力端
子sel に供給される符号データによって決定される。
【0019】長軸レジスタ11の出力は、長軸座標値デ
ータとして演算クロックに同期して逐次出力されると共
に、加算器14の一方の入力端に供給されている。加算
器14は、初期演算ステージでは、レジスタ15に保持
された値“1”を逐次加算し、並列演算ステージでは、
レジスタ15に保持された値“8”を逐次加算して、長
軸座標値を更新する。更新された長軸座標値は、長軸レ
ジスタ11の入力端子Aを介してフィードバックされて
保持される。
【0020】短軸レジスタ12の出力は、短軸座標値デ
ータとして演算クロックに同期して逐次出力されると共
に、加算器16の一方の入力端に供給されている。加算
器16の出力は加算器17の一方の入力端に供給されて
いる。短軸レジスタ12は、初期演算ステージでは、レ
ジスタ18に保持された値“0”との加算値と、レジス
タ19に保持された値“1”との加算値とのいずれか一
方を選択して保持し、並列演算ステージでは、レジスタ
18に保持された値incyとの加算値と、この加算値にレ
ジスタ19に保持された値“1”を更に加算した値との
いずれか一方を選択して保持する。減算器20からの符
号が“+”のときは入力端子Aの“incy”が選択され、
“−”のときは入力端子Bの“incy+1”が選択され
る。
【0021】残値レジスタ13の出力は、減算器20に
供給され、レジスタ21に保持されたΔxを減算される
と共に、加算器22でレジスタ23の値を加算される。
レジスタ23には、初期演算ステージではΔyが保持さ
れ、並列演算ステージでは残値の増加分erryが保持され
る。そして、残値レジスタ13の入力端子Aには加算器
22の出力が入力され、入力端子Bには減算器20の出
力が入力される。残値レジスタ13は、減算器20の符
号データが“+”のときは加算器22の出力を選択し、
“−”のときは減算器20の出力を選択して保持する。
【0022】次に、このように構成されたDDA演算回
路21 〜28 の動作について説明する。 (1)初期演算ステージ 初期演算ステージでは、DDA演算回路21 のみによる
従来と同様の演算が実行される。即ち、プロセッサ1か
ら直線のベクタデータとして、例えば始点座標値(xs
,ys )及び終点座標値(xe ,ye )が与えられる
と、DDA演算回路21 は、Δx(=xe −xs )、Δ
y(=ye −ys )を求め、その大小関係を判定して、
大きい方の座標軸の始点座標値、例えばxs を長軸レジ
スタ11にセットし、小さい方の座標軸の始点座標値、
例えばys を短軸レジスタ12にセットする。また、残
値レジスタ13に初期値0がセットされる。更に、Δx
をレジスタ21に、Δyをレジスタ23にそれぞれセッ
トする。
【0023】始点座標値が(0,0)、終点座標値が
(30,13)であるとすると、Δx、Δyとして“3
0”、“13”がそれぞれレジスタ21,23にセット
される。次に、演算クロックに従って、8回のDDA演
算が実行される。各ステップでの演算によってレジスタ
11,12,13及び減算器20から出力される値は、
図5のようになる。即ち、第0ステップでは、長軸、短
軸ともに初期値“0”が出力され、第1ステップでは、
減算器20の出力が負の値“−30”であるから、加算
器22の出力である“13”が残値レジスタ13に入力
され、短軸レジスタ12には、加算器16の出力である
“0”が保持される。第3ステップになると、残値が
“39”となり、減算器20の出力が正の値“9”にな
るので、短軸レジスタ12が加算器17の入力を選択す
ることにより、短軸座標値が1だけ加算される。同時
に、残値レジスタ13の値も減算器20で30を減じた
“9”が保持される。このようにして、図2(a)に示
すような8つのX,Y座標値が求められていく。
【0024】(2)並列演算ステージ 第1ステップから第8ステップまでの各ステップで求め
られた長軸座標値、短軸座標値及び残値は、DDA演算
回路21 〜28 の初期値として逐次与えられる。図6に
は、各DDA演算回路21 〜28 に初期値として保持さ
れる値が示されている。各回路21 〜28 のレジスタ1
8,23にセットされるy軸増分値incyと残値の増分値
erryとしては、第8ステップが終了して最終的に求めら
れている短軸座標値と短軸始点座標値との差分“3”
と、残値レジスタ13に保持されている値“14”とが
与えられる。
【0025】次に、8つのDDA演算回路21 〜28
よる8点離れた点への並列的なDDA演算が実行され
る。図7は、DDA演算回路21 ,22 の第0ステップ
から第2ステップまでの、各レジスタ11〜13及び減
算器20の出力を示した図である。第1ステップでは、
DDA演算回路21 〜28 から8つの連続する点の座標
値(9,3),(10,4),(11,4),…,(1
6,6)が同時に求められる。同じく第2ステップで
は、(17,7),(18,7),…,(32,9)が
同時に求められる。図2(b)は、並列演算ステージの
第1ステップ終了時に求められている点列データを示し
ている。
【0026】このシステムによれば、初期演算ステージ
では従来と同様に点列データを1点ずつ求めているた
め、従来と同様の処理速度となるが、並列演算ステージ
に入ると、従来の8倍の速さで点列データを求めること
ができる。このため、直線の長さが長くなればなるほ
ど、顕著な効果を得ることができる。そして、このシス
テムによれば、初期演算ステージでは、従来のbresenha
m のアルゴリズムと同様の処理を行っているため、除算
及び実数演算を伴わない。また、並列演算ステージにお
いても、誤差の残値の初期値や増分値ならびにy座標値
の増分値等が全て初期演算ステージで求められるという
特徴を有している。このため、これらの値を除算によっ
て求める必要が全くないので、並列演算ステージにおい
ても除算及び実数演算を全く行う必要がないという利点
がある。このため、ハードウェアを大幅に簡素化するこ
とができる。
【0027】なお、上述した並列DDA処理では、8つ
の連続する点列データが1度に求められるという特徴を
有している。このため、後段のメモリ構造を更に工夫す
ることにより、上記並列DDAの特徴を最大限に活かし
た高速処理が可能になる。即ち、従来のグラフィックメ
モリは、図8に示すように、1つのアドレスに対してデ
ータをX軸方向にnビット並べた構造としているのが一
般的である。このため、直線データが、例えば図9
(a)に示すようにX軸に対して平行な直線であれば問
題はないが、図9(b)に示すように、X軸に対して4
5°方向であれば、データの書込は1サイクルに1ドッ
トなり、並列化の利点が生かせなくなる。
【0028】そこで、グラフィックメモリ4を、例えば
図10に示すような構造とする。このメモリ4は、X軸
方向及びY軸方向に8ビットの幅を持つ正方形領域の6
4ビットのデータを1つのアドレスに対する1つのデー
タとしてアクセスできる構造となっている。グラフィッ
クメモリ4がこのような構造であると、1回の並列DD
A演算で算出された8ドットの点列データは、1つ〜3
つのアドレス領域に必ず収まることになる。そして、図
11(a)に示すように、8ドットの点列データが1つ
のアドレス領域に収まっている場合には、1サイクルで
書込が可能になる。また、図11(b)に示す最悪の場
合でも、8ドットの点列データは、3サイクルあればメ
モリ4に書込むことができる。
【0029】図12は、8つのDDA演算回路21 〜2
8 から並列に出力された座標値データx[j],y
[j]を図10に示す構造のグラフィックメモリ4に書
込むためのアドレス・データ変換回路3の一例を示す図
である。
【0030】座標値データx[j],y[j]がグラフ
ィックメモリ4に書込まれるサイクルは、1〜3と変化
するので、入出力のタイミングを合わせるため、座標値
データx[j],y[j]は、まずFIFO(First in
First out)バッファ31に格納される。FIFOバッ
ファ31からの読出タイミングは、後述するコントロー
ラ33によって与えられる。いま、座標値データx
[j],y[j]がそれぞれ8ビットのデータであると
すると、x,yの各上位5ビットが図10に示すメモリ
4のアドレスに相当し、各下位3ビットが1つのアドレ
ス領域におけるドットの位置を決定する。したがって、
まず、x,yの上位5ビットずつ計10ビットをアドレ
スとし、x,yの下位3ビットずつ計6ビットをデータ
として分離する。
【0031】FIFOバッファ31から出力される各点
の10ビットのアドレスのうち、隣接する点のアドレス
同士はコンパレータ32で比較される。これにより、異
なるアドレス領域にまたがっている隣接点同士の比較結
果のみが“1”となる8ビットの比較結果が得られる。
この比較結果は、コントローラ31に入力される。コン
トローラ31は、上記比較結果から、8つの点のうち同
一の領域に属する点のみを選択するためのゲート制御信
号と、メモリ4への書込サイクル数を決定してゲート制
御回数及びFIFOウェイトタイミングを制御する制御
信号を出力する。
【0032】一方、FIFOバッファ31から出力され
る上位10ビットのアドレスと、下位6ビットのデータ
は、それぞれゲート回路34,35に供給されている。
これらのゲート回路34,35は、コントローラ33の
制御のもとで、同一のアドレス領域に属するアドレス及
びデータのみを1〜3回のサイクルで通過させる機能を
有している。ゲート回路35を通過した各6ビットのデ
ータは、1つのアドレス領域におけるドットの位置を示
すデータであるが、このデータはデータ生成回路36に
よってその位置のみが“1”となる64ビットのデータ
に変換される。このデータ生成回路36は、ROMテー
ブル等を使用することにより、容易に作成できる。8つ
のデータ生成回路36から出力される各64ビットのデ
ータは、ワイヤードORされ、64ビットの点列データ
となって出力される。また、ゲート34を通過した10
ビットのアドレスもワイヤードORされて出力される。
【0033】この回路により、8ビット×8ビットの正
方形領域を1つのアドレスとするグラフィックメモリ4
へのアドレスと、メモリ4へ書込むデータとを高速に生
成することができる。このメモリ構成によれば、メモリ
4への書込サイクルが最短で1、最長で3であるから、
8並列DDAの場合、従来よりも2.67(=8/3)
〜8倍の速さの処理が可能になる。また、同様にn並列
DDAであれば、n/3〜n倍の速さの処理が可能にな
る。
【0034】以上の実施例では、8つのDDA演算回路
1 〜28 を使用したが、8つのプロセッサを用いた並
列DDA処理を実行する場合には、図13及び14に示
すアルゴリズムにより演算処理を実行すればよい。 (1)初期演算ステージ 図13は初期演算ステージを示すフローチャートであ
る。誤差の残値e1 、x座標値x1 、y座標値y1 及び
繰返パラメータiの初期値としてそれぞれ−Δx,xs
,ys ,0をセットする(S1)。(x1 ,y1 )を
グラフィックメモリ4にプロットする(S2)。誤差の
残値e1にΔyを加え、x座標値x1 に1を加える(S
5)。残値e1 が0以上になったら(S6)、y座標値
y1 を1つ増やし、残値e1 からΔxを引く(S7)。
残値e1 、x座標値x1 及びy座標値y1 を、配列変数
e[i]、x[i]、y[i]にそれぞれ格納する(S
8)。iを1から8まで増やしながら、S2からS8ま
での処理を実行する(S3,S4)。iが8を超えた
ら、変数erry,incyにそれぞれ残値e1 ,y1 −ys を
格納する(S9)。
【0035】(2)並列演算ステージ 図14はj(j=1〜8)番目のプロセッサにおける並
列演算ステージを示すフローチャートである。まず、x
座標値x[j]、y座標値y[j]及び残値e[j]に
それぞれ8,incy,erryを加算する(S11)。x
[j]が終点座標値xe を超えたら処理を終了するが
(S12)、そうでない場合には、残値e[j]が0以
上であるかどうかを判定し(S13)、0以上の場合に
は、y座標値y[j]に1を加え、e[j]からΔxを
減算する(S14)。(x[j],y[j]をグラフィ
ックメモリ4にプロットする(S15)。以上の処理を
繰返す。
【0036】この方法においても、8個のプロセッサに
よる並列処理が実行されるので、高速処理が可能であ
り、しかも除算や実数演算を全く伴わないという利点が
ある。
【0037】なお、本発明は上述した実施例に限定され
るものではない。例えば、図15に示すように、2つの
DDA演算手段を使用して、直線の両端点からそれぞれ
逆向きに直線に沿った連続する点を算出するようにして
もよい。この場合、第1のDDA演算手段では、従来と
同様なDDA演算処理を実行し、第2のDDA演算手段
では、終点座標値(xe ,ye )をX,Y座標値の初期
値とし、長軸座標値を1ずつ減算させながら、残値に上
記と同様な累積加算を行い、残値が長軸方向成分を超え
た時点で、短軸座標値を1減じるようにすればよい。2
つのDDA演算手段は、直線の中点(xc ,yc )まで
処理を実行すればよい。この場合、処理速度は、従来の
2倍になる。
【0038】同様に、図16に示すように、4つのDD
A演算手段を使用し、第1及び第4のDDA演算手段
は、直線の両端点(xs ,ys )、(xe ,ye )から
それぞれ逆向きに直線に沿った点列データを算出してい
き、第2及び第3のDDA演算手段は、直線の中点(x
c ,yc )からそれぞれ逆向きに直線に沿った点列デー
タを算出していくようにすればよい。この場合、処理速
度は、従来の4倍になる。
【0039】これらの実施例においても、直線の中点座
標(xc ,yc )は、始点座標(xs ,ys )及び終点
座標(xe ,ye )から1ビットのシフト動作で求めら
れるので、乗算及び実数演算を必要としないという利点
がある。
【0040】
【発明の効果】以上述べたように、本発明によれば、複
数のDDA演算手段を使用して並列的に点列データを求
めていくようにしているので、ベクタデータを高速にラ
スタデータへ変換することができるという効果を奏す
る。
【図面の簡単な説明】
【図1】 本発明の一実施例に係るベクタ・ラスタ変換
方式を適用した画像出力システムの構成を示すブロック
図である。
【図2】 同システムにおける初期演算ステージ及び並
列演算ステージにより生成される点列データを示す図で
ある。
【図3】 同システムにおける初期演算実行時のDDA
演算回路の要部のブロック図である。
【図4】 同システムにおける並列演算実行時のDDA
演算回路の要部のブロック図である。
【図5】 同システムにおける初期演算実行時のDDA
演算回路の各部の出力データを示す図である。
【図6】 同システムにおける並列演算開始時の各DD
A演算回路に保持される初期値を示す図である。
【図7】 同システムにおける並列演算実行時の各DD
A演算回路の各部の出力データを示す図である。
【図8】 従来のグラフィックメモリの構造を示す図で
ある。
【図9】 従来のグラフィックメモリの不具合を説明す
るための図である。
【図10】 同システムで使用される好ましいグラフィ
ックメモリの構造を示す図である。
【図11】 同メモリへのデータ書込形態を説明するた
めの図である。
【図12】 同メモリへデータを書込むためのアドレス
・データ変換回路の一例を示すブロック図である。
【図13】 本発明の他の実施例に係る並列DDA演算
処理における初期演算実行時のアルゴリズムを示すフロ
ーチャートである。
【図14】 本発明の他の実施例に係る並列DDA演算
処理における並列演算実行時のアルゴリズムを示すフロ
ーチャートである。
【図15】 本発明の更に他の実施例を説明するための
図である。
【図16】 本発明の更に他の実施例を説明するための
図である。
【符号の説明】
1…プロセッサ、21 〜2n …DDA演算回路、3…ア
ドレス・データ変換回路、4…グラフィックメモリ、5
…D/A変換器、6…モニタ、7…プロッタ駆動回路、
8…プロッタ、11…長軸レジスタ、12…短軸レジス
タ、13…残値レジスタ、14,16,17,22…加
算器、15,18,19,21,23…レジスタ、20
…減算器。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 直線を特定するベクタデータを入力し、
    前記直線に沿った直交座標系における第1軸方向の各座
    標値に対する第2軸方向の座標値を、前記直線の傾き相
    当値の累積値によって逐次的に算出するDDA演算手段
    を備えたベクタ・ラスタ変換方式において、 前記直線上の異なる点から前記直線上の異なる位置につ
    いてそれぞれ並列に点列データを算出する複数のDDA
    演算手段を備えたことを特徴とするベクタ・ラスタ変換
    方式。
  2. 【請求項2】 n(n>1)個の前記DDA演算手段を
    備え、 前記n個のDDA演算手段のうちの1つのDDA演算手
    段は、前記直線の一方の点から連続するn個の点の座標
    値を求めるものであり、 前記n個のDDA演算手段のうちの第m(m=1〜n)
    番目のDDA演算手段は、前記求められたn個の点の座
    標値のうちの第m番目の座標値を初期値としてn点だけ
    離れた点の座標値を逐次求めるものであることを特徴と
    する請求項1記載のベクタ・ラスタ変換方式。
  3. 【請求項3】 2つの前記DDA演算手段を備え、 これら2つの前記DDA演算手段は、前記直線の両端点
    からそれぞれ逆向きに前記直線に沿った連続する点の座
    標値を逐次求めるものであることを特徴とする請求項1
    記載のベクタ・ラスタ変換方式。
  4. 【請求項4】 4つの前記DDA演算手段を備え、 第1及び第4のDDA演算手段は、前記直線の両端点か
    らそれぞれ逆向きに前記直線に沿った連続する点の座標
    値を逐次求めるものであり、 第2及び第3のDDA演算手段は、前記直線の中点から
    それぞれ逆向きに前記直線に沿った連続する点の座標値
    を逐次求めるものであることを特徴とする請求項1記載
    のベクタ・ラスタ変換方式。
JP4245469A 1992-08-21 1992-08-21 ベクタ・ラスタ変換方式 Expired - Fee Related JP2611098B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4245469A JP2611098B2 (ja) 1992-08-21 1992-08-21 ベクタ・ラスタ変換方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4245469A JP2611098B2 (ja) 1992-08-21 1992-08-21 ベクタ・ラスタ変換方式

Publications (2)

Publication Number Publication Date
JPH0668268A true JPH0668268A (ja) 1994-03-11
JP2611098B2 JP2611098B2 (ja) 1997-05-21

Family

ID=17134129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4245469A Expired - Fee Related JP2611098B2 (ja) 1992-08-21 1992-08-21 ベクタ・ラスタ変換方式

Country Status (1)

Country Link
JP (1) JP2611098B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113658293A (zh) * 2021-07-29 2021-11-16 北京奇艺世纪科技有限公司 图片绘制方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62219085A (ja) * 1986-03-19 1987-09-26 Fujitsu Ltd 直線描画用座標デ−タ発生方式
JPS636685A (ja) * 1986-06-26 1988-01-12 Fujitsu Ltd ベクトル描画方式
JPS6318478A (ja) * 1986-07-09 1988-01-26 Fujitsu Ltd デイジタル微分解析機
JPH01193979A (ja) * 1988-01-29 1989-08-03 Hitachi Ltd 線分描画方法
JPH03245280A (ja) * 1990-02-22 1991-10-31 Daikin Ind Ltd 線分描画方法およびその装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62219085A (ja) * 1986-03-19 1987-09-26 Fujitsu Ltd 直線描画用座標デ−タ発生方式
JPS636685A (ja) * 1986-06-26 1988-01-12 Fujitsu Ltd ベクトル描画方式
JPS6318478A (ja) * 1986-07-09 1988-01-26 Fujitsu Ltd デイジタル微分解析機
JPH01193979A (ja) * 1988-01-29 1989-08-03 Hitachi Ltd 線分描画方法
JPH03245280A (ja) * 1990-02-22 1991-10-31 Daikin Ind Ltd 線分描画方法およびその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113658293A (zh) * 2021-07-29 2021-11-16 北京奇艺世纪科技有限公司 图片绘制方法、装置、电子设备及存储介质
CN113658293B (zh) * 2021-07-29 2023-07-21 北京奇艺世纪科技有限公司 图片绘制方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
JP2611098B2 (ja) 1997-05-21

Similar Documents

Publication Publication Date Title
US6711603B1 (en) Fractional, arithmetic unit, fractional arithmetic method, set-up engine for handling graphic images and computer-readable medium
JP2611098B2 (ja) ベクタ・ラスタ変換方式
US5519822A (en) Method and apparatus for simultaneously selecting a plurality of pixels to lie upon a line segment defined by two end points
JPH064679A (ja) イメージ処理装置
JPH03144782A (ja) 三次元図形処理装置
JP2588257B2 (ja) 輪郭近似方式
EP0359255A2 (en) Pattern data generating system
GB2309873A (en) Method of mapping a source pixel image to a destination pixel space
JP2621138B2 (ja) 重ね文字発生方式
JP2748787B2 (ja) 曲線発生装置
JPH06314091A (ja) 輪郭塗り潰し方法及びその回路
JPH0315193B2 (ja)
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路
JP2729437B2 (ja) 楕円描画装置
JP2616443B2 (ja) 図形描画装置
JP2000242802A (ja) 図形処理装置
JPH05205070A (ja) 図形描画方法
JPH0259871A (ja) 画像処理装置および画像処理方法
JPH10275239A (ja) 太線コーナ座標算出方式及び太線形成方式
JPH0896148A (ja) 図形描画装置
JPH0268672A (ja) 画像処理プロセッサのアドレス発生部
JPH05181646A (ja) 演算装置
JPH10334250A (ja) アンチエイリアスプロセッサ及び画像処理装置
JPH07334695A (ja) 作図装置および線幅決定方法
JPH0776988B2 (ja) 直線描画装置

Legal Events

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