JPH06348855A - 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム - Google Patents

描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム

Info

Publication number
JPH06348855A
JPH06348855A JP13755193A JP13755193A JPH06348855A JP H06348855 A JPH06348855 A JP H06348855A JP 13755193 A JP13755193 A JP 13755193A JP 13755193 A JP13755193 A JP 13755193A JP H06348855 A JPH06348855 A JP H06348855A
Authority
JP
Japan
Prior art keywords
straight line
pixel
coordinates
fraction
pixels
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
JP13755193A
Other languages
English (en)
Inventor
Makoto Fujita
良 藤田
Kazuhisa Takami
和久 高見
Mitsuru Soga
満 曽我
Koji Ozawa
幸次 小沢
Takaharu Morishige
隆春 森重
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP13755193A priority Critical patent/JPH06348855A/ja
Priority to US08/215,244 priority patent/US5666520A/en
Publication of JPH06348855A publication Critical patent/JPH06348855A/ja
Priority to US08/856,081 priority patent/US5847715A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

(57)【要約】 【目的】 複数の描画プロセッサによって並列に直線を
描画する際に、直線を始点と終点で与え、内部に除算器
を設けないで処理し、直線描画の高速化を図る。 【構成】 直線の始点と終点の座標から、傾きを分数の
形で求め、始点から傾きを順次加算しながら、直線上の
画素の座標を求める。この時、傾きの分子の値を2倍,
4倍,8倍等して加算器82で加算し、加算器83で分
母の値を引き算し、2画素先,4画素先,、8画素先の
座標を求める。直線を始点と終点で与えるので、上位プ
ロセッサの負担が少なくなる。また、複数の描画プロセ
ッサで並列に画素を生成するために高速処理ができ、描
画プロセッサの内部に除算器を設ける必要がないためハ
ードウェア量も小さくなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はワークステーションのデ
ィスプレイ画面上に直線図形を生成する方法に係り、特
に、複数のプロセッサを備える描画プロセッサにより直
線の描画処理を並列処理で高速に行うのに好適な直線発
生並列処理方法等に関する。
【0002】
【従来の技術】従来の直線を描画する装置は、大きく2
種類に分けられる。1つは、例えば特公平2−4179
0号公報に記載されているように、真の直線と、画像メ
モリにおける整数格子の座標系とのずれを分数で表し、
分数計算のみで与えられた直線に最も近い画像メモリ上
の画素を生成する方式(ブレゼンハムのアルゴリズム)
である。2つ目は、例えば特開平3−36676号公報
に記載されているように、直線の傾きを小数で与え、始
点座標にその傾きの値を繰返し加算していくことで、直
線上の画素を発生する方式である。
【0003】一方、複数のプロセッサにより直線上の画
素を並列に生成するの方式としては、特開平1−207
886号がある。この従来技術では、プロセッサの数だ
け直線の傾きを整数倍し、その値を直線の始点に加算す
ることで必要な画素だけを生成している。
【0004】
【発明が解決しようとする課題】上記の複数のプロセッ
サによって並列に直線発生を行わせようとする従来技術
は、直線上の画素の座標と輝度を同時に求めるためには
有効であるが、輝度が一定である場合においても直線の
傾きを求める除算が必要となる。このため、ブレゼンハ
ムのアルゴリズムを使用する方式に比べ上位プロセッサ
の負荷が大きくなるという問題がある。具体的には、ブ
レゼンハムのアルゴリズムを使用すれば、与えるデータ
が始点の座標データと終点の座標データだけで済むのに
対し、傾きを小数で表す方式の場合には、始点と終点の
x,y座標の他に、十分な精度の傾きの値と、直線の長
さとを与える必要があり、更に、その直線の傾きを求め
るために除算を行わなければならず、上位プロセッサの
負荷が増大してしまう。
【0005】本発明の目的は、ブレゼンハムのアルゴリ
ズムを改良し、複数のプロセッサによって並列に直線発
生を行わせる時、上位プロセッサの負荷を軽減すること
ができる直線発生並列処理方法や描画プロセッサ並びに
これを利用したCADシステム等を提供することにあ
る。
【0006】本発明の他の目的は、ブレゼンハムのアル
ゴリズムを改良するときに、膨大なハ−ドウェアの増大
を伴わないようにする直線発生並列処理方法等を提供す
ることにある。
【0007】
【課題を解決するための手段】上記目的は、複数の描画
プロセッサを有し直線描画を並列処理するに際し、描画
対象の直線を始点座標及び終点座標にて指定する入力手
段と、画像メモリ上の画素を周期配列毎の画素集団に分
割し各画素集団の各々に1つの描画プロセッサを割り当
てる手段と、各描画プロセッサが自己の担当する画素集
団でブレゼンハムのアルゴリズムを実行して前記直線に
該当する画素を求めるに当り画素の座標と真の直線との
ずれを示す誤差項が仮分数となった時に分子から分母を
繰返し引き算して帯分数に変換しこの帯分数の整数部を
画素の座標に加えることで直線に該当する画素を次々と
求める手段と、各描画プロセッサが求めた画素を画面上
に描画する手段とを設けることで、達成される。
【0008】
【作用】ブレゼンハムのアルゴリズムは簡単にいうと、
直線の傾きを分数(真分数)で表し、始点の座標に順次
傾きを加算して直線上の画素を求める方式である。傾き
を表す分数の分母としては、与えられた直線の始点と終
点のx,y座標の差dx,dyの絶対値が大きい方の値
が、分子としては小さい方の値が設定される。前者を長
軸成分Lとし、後者を短軸成分Sとする。Lは発生する
画素の数でもある。さて、直線は、簡単のために、第1
象限内の45度以下の傾きであるとして説明する。直線
の始点座標に対して傾きS/Lを加算すればその直線上
の次の画素を求めることができる。しかし、直線に最も
近い画素を求めるためには求めた結果を四捨五入する必
要がある。そこで、予め始点のy座標(短軸成分側)の
値に+0.5を加算しておく必要があるが、座標を分数
で表しているため、傾きを表す分数の分母を2L,分子
を2Sとそれぞれ2倍して、始点のy座標の小数部はL
/2Lとおくことにする。実際のハ−ドウェアにおいて
は、まず、真の直線と整数格子(画素の座標)とのずれ
である誤差項EをLと置き、それに傾きの分子2Sを加
算する。これによって始点の次の画素の座標が分数で求
められる。このとき誤差項Eが2Lよりも大きければ仮
分数であるため、これを帯分数に直す必要があり、分子
から2Lを引き、始点y座標の整数部を1更新する。長
軸成分であるx座標はEの値にかわらず1更新する。こ
の処理を繰り返すことで、直線上の画素を加減算だけで
求めることができるようになる。
【0009】さて、このような直線発生方法を複数のプ
ロセッサによって並列に処理させるには、例えばx座標
が奇数の画素と偶数の画素を扱う2個のプロセッサで処
理する場合について考えると、プロセッサはある画素の
x,y座標が求められている時、次の次の画素を求める
ようにすればよい。隣の画素はもう一方のプロセッサが
並列に求めているため処理時間を半分にすることができ
る。そのためには、誤差項Eに対して傾きを2画素分
(4S)加える必要がある。また、その結果が仮分数で
ある場合にy座標の整数部を1または2更新する必要が
ある。もし、プロセッサの個数が増加した場合には、誤
差項Eに加える傾きを2Sのプロセッサ個数倍した値と
し、y座標の更新する値の範囲を0からプロセッサの個
数まで対応できるようにすればよい。
【0010】さて、このような処理を行うプロセッサは
1個である時に比べ、誤差項Eに加算する傾きのビット
長が長くなり、またy座標をいくら更新するかを求める
ための判定回路も必要である。このなかで、後者は誤差
項の分子から分母の値を引き算する回路を複数個持つ必
要がある。ここで、直線が水平に近い場合にはy座標を
更新する値が0か1であることに着目し、ハ−ドウェア
量を削減した。即ち、y座標をいくら更新したら良いか
を求める判定回路として誤差項Eから分母2Lを引く回
路を1個だけもち、誤差項Eが2L以下になるまで繰返
し引き算を行うようにする。これによってこの判定回路
の物量を減少させることができる。
【0011】また、複数のプロセッサが並列に自分の受
け持つ画素を生成するため高速に直線上の画素を発生す
ることができ、誤差項Eが仮分数となったかどうかの判
定回路を分母より大きいかどうかの回路1個にした場合
でも傾きが小さい場合には、1回で判定できるため高速
性を維持することができる。
【0012】
【実施例】以下、本発明の一実施例を図1〜図10を参
照して説明する。図1は、直線描画を並列に処理して表
示させるCADシステムの要部構成図である。CPU3
はメインメモリ4上に格納されているプログラムを実行
する上位のプロセッサであり、直線を生成する複数のプ
ロセッサである描画プロセッサ1,描画プロセッサ2に
対して直線の始点座標と終点座標を与える処理を行う。
描画プロセッサ1は、表示画面上のx座標が偶数の画素
だけを保存しているフレ−ムメモリ5に対して、上位プ
ロセッサ3から与えられた直線上の画素を発生する。描
画プロセッサ2は、物理的には描画プロセッサ1と同じ
ものであり、表示画面上のx座標が奇数の画素だけを保
存しているフレ−ムメモリ6に対して直線を発生する。
【0013】これらの描画プロセッサ1,2が、どちら
のフレ−ムメモリに接続されているかを指定するための
識別信号がPiD信号であり、ここでは、描画プロセッサ
1に対し“0”を、描画プロセッサ2に対し“1”を設
定する。フレ−ムメモリ5とフレ−ムメモリ6に格納さ
れている画素は常時座標の順に読み出され、色の変換テ
−ブルとDAコンバ−タからなるRAMDAC7に送ら
れ、RGBのビデオ信号に変換してCRTモニタ(図示
省略)に表示される。このフレ−ムメモリの内容をCR
Tに表示させる技術に関しては広く公知であるため、こ
こでは詳細は省力する。
【0014】描画プロセッサ1が取り扱う画素、即ちフ
レ−ムメモリ5が保存している画素の状態を図2(a)
に示す。図中の丸印が1画素を示している。このように
描画プロセッサを2個用いるときは、図2(a)の様
に、x軸方向に一画素飛びに処理対象の画素を配置す
る。描画プロセッサを4個用いるときは、図2(b)に
示す様に、x,y座標ともに1画素飛びに処理したり、
あるいはx座標に対して3画素飛びに処理対象の画素を
割り当てる。この場合、描画プロセッサの識別信号PiD
は、x座標に4個まで描画プロセッサを割り当てられる
様に2ビット、y座標にも4個の描画プロセッサを割り
当てられるように2ビット、計4ビットの信号から構成
する。従って、16個まで描画プロセッサを拡張するこ
とができる。
【0015】図3は、描画プロセッサ1の内部構成図で
ある。描画プロセッサ1は、パラメータ算出部11と、
画素発生部12と、フレームメモリ(FM)書き込み部
13と、制御部14からなる。このパラメータ算出部1
1は、CPU3(図1)がシステムバスを介して設定し
た直線の始点(xs,ys),終点(xe,ye),傾き
(xe/dx,ye/dy),直線の長さ(len),直線
が始点と終点で与えられるか始点と傾き長さで与えられ
るかを示すコマンド(COM)を保持するレジスタを持
ち、これらの値から様々なパラメ−タを生成する。そし
て、パラメ−タ算出部11が生成したパラメ−タに従っ
て画素発生部12が識別信号PiDで示された画素の座標
を発生し、FM書き込み部13は、画素発生部12が生
成した画素の座標に従ってフレ−ムメモリ5(図1)に
対して画素の書き込みを行う。制御部14は、CPU3
によってコマンドが起動されたことを判定し、起動され
た直線の長さ分の画素を生成、書き込みするように画素
発生部12とFM書き込み部13に制御信号を送る。
【0016】図4は、パラメータ算出部11の詳細構成
図である。パラメ−タ算出部11は、直線の始点の
(x,y)座標を保持するレジスタxs,レジスタys
と、直線を始点と終点で与える場合には直線の終点の
(x,y)座標として扱われるレジスタxe,レジスタ
yeと、実体は同一であるが、直線を始点と傾き,長さ
で与える場合に直線のx軸とy軸の傾き成分として扱わ
れるレジスタdx,レジスタdyと、直線を始点と傾
き,長さで与える場合に直線の長さを保持するレジスタ
lenと、直線を始点と終点で与えるか直線を始点と傾
き,長さで与えるかを指示し、描画プロセッサ1に対し
直線発生の起動を行うレジスタCOMの6個のレジスタが
あり、その内容に従って、始点のx,y座標を示す信号
線xs,ys、直線の方向が4つの象限の内どれかを示す
サイン信号sgnX,sgnY、直線の傾きがx軸に対して4
5度以下か,45度以上かを示す信号longX、直線の始
点と終点のx,y座標の差、または、直線の傾きdx,
dyの絶対値の短い方の値を示す信号shortと長い方の
値を示す信号length,レジスタCOMの内容が出力されて
いる信号COMを出力する。
【0017】引算器111と引算器112は始点と終点
のx,y座標の差を求める。セレクタ113とセレクタ
114は信号COMの内容に従って引算器111と引算器
112の出力と、レジスタdx,レジスタdyに保持さ
れている直線の傾きの値を選択する。
【0018】絶対値演算器115と絶対値演算器116
は、セレクタ113とセレクタ114の出力の絶対値を
とり、絶対値演算器115と絶対値演算器116の出力
を比較器117で比較し、比較器117の比較結果によ
ってセレクタ118は絶対値演算器115と絶対値演算
器116の出力の小さい方の値を選択出力し、セレクタ
119は大きい方を選択し、信号COMが直線を始点と終
点で与えていることを示しているときにはそのまま出力
し、そうでなければレジスタlenに格納されている値を
出力する。
【0019】図5は、画素発生部12の詳細構成図であ
る。画素発生部12はパラメ−タ発生部11の出力する
信号群と、制御部14の発生する制御信号に従って、フ
レ−ムメモリ5に書き込む画素のx,y座標、信号px,
pyとそれが有効でないことを示す信号ajustと、次の座
標更新後にx,y座標が識別信号PiDによって指定され
た画素(自分の持っている画素)に一致するかどうかを
示す信号next_sameX,next_sameYを出力する座標発生
部121と、信号px,pyの示す座標が識別信号PiDによ
って指定された画素に一致するかどうかを示す信号same
X,sameYを求め出力する比較器122,比較器123
と、CPU3によってシステムバスを介し設定される直
線の色を示すRGBレジスタ124とから構成される。
【0020】FM書き込み部13は、制御部14の出力
する画素書き込み信号PIXEL_OUTが出たとき、画素発生
部12の出力するフレームメモリ5の座標px,pyに、R
GBレジスタの出力する画素の値を書き込む。フレ−ム
メモリ5は、制御部14に対して、書き込みを行って良
いかどうかを示すため許可信号FM_acceptを出力する。
【0021】図6は、制御部14の詳細構成図である。
本実施例に係る制御部14は、シ−ケンス部141と、
カウンタ部142から構成されている。シ−ケンス部1
41は、パラメータ算出部11のCOMレジスタに対する
書き込み信号COM_WRITEによってコマンドが起動された
ことを認識し、信号FM_accept,sameX,sameY,long
X,ajustの各信号線の値と、カウンタ部142の出力
線endに従って、画素発生部12の動作開始信号load,
1画素更新信号up1,2画素更新信号up2と、FM書き
込み部13に対する画素書き込み信号PIXEL_OUTと、描
画プロセッサ1がコマンドの起動を受け付けられるかど
うかを示すコマンド許可信号COM_acceptを出力する。
【0022】ここで、書き込み信号COM_WRITEとコマン
ド許可信号COM_acceptは、描画プロセッサ内部のレジス
タに対する書き込み制御を行うシステムバスインタフェ
ース部(図示省略)に接続されている。
【0023】次に、本実施例の特徴である画素発生部1
2について更に詳細に説明する。図7は座標発生部12
1の構成図である。座標発生部121は、x座標を保持
するxカウンタ125と、y座標を保持するyカウンタ
126と、これらのカウンタに対して更新させるかどう
かの情報を与える誤差計算部8とから構成されている。
【0024】xカウンタ125は、信号loadが出力され
たとき信号xsの値を内部に取り込み、信号pxとして出
力する。信号sgnXはアップダウン信号として扱われ、
“1”のときxカウンタ125はダウンカウントされ、
“0”の時はアップカウントされる。longXが“1”の
ときは、X軸に対して直線が45度以下の傾きであるの
で、xカウンタ125は誤差計算部8の出力する3ビッ
トのキャリー信号carry(2:0)に依存せずカウンタ
の内容を更新する。このとき信号up1が“1”であれば
“1”だけ更新し、信号up2が“1”であれば“2”更
新する。但し、信号ajustが“1”の時には、yカウン
タ126だけが更新され、xカウンタ125は変化しな
い。
【0025】一方、longXが“0”のときには、X軸に
対して直線は45度以上の傾きを持っているため、x座
標は信号up1,up2のどちらかが“u1”のとき、誤差
計算部8の出力する、3ビットのキャリー信号carry
(2:0)の値だけyカウンタ126を更新する。さら
に、xカウンタ125は、次に更新した場合のx座標が
与えられた識別信号PiDに一致するかどうかを示すnext_
sameXを出力する。
【0026】yカウンタ126は、基本的にxカウンタ
125と同じ機能を有している。但し、load信号によっ
て取り込む値が信号ysであること、longXに対する動
作がxカウンタ125と逆であることが異なるだけであ
る。
【0027】誤差計算部8は、初期化信号err_initによ
って誤差項Eが初期化され信号up1,up2によって更新
される。その結果を、キャリー信号carry(2:0)と
信号ajustとして出力する。
【0028】図8は、誤差計算部8の構成図である。こ
の誤差計算部8は、大きく分けて2種類の動作を行う。
即ち、信号COMが示す直線を、始点と傾き,長さで与え
た場合の動作と、始点と終点で与えた場合の動作を行
う。ここでは、まず前者の動作について説明する。
【0029】直線発生のコマンドが起動された後、制御
部14は、誤差計算部8に対し初期化信号err_initを送
出する。その時、セレクタ81は“0.5”を選択し、
加算器82は更新信号up1が“1”の時は傾きの値を示
している信号short(S)を加え、更新信号up2が
“1”の時は信号shortの2倍または4倍を加え、加算
器83は何も加えず、その結果の整数部をキャリーレジ
スタ84に、小数部を誤差レジスタ85に格納する。
【0030】始点の座標が与えられた識別信号PiDと一
致していない場合、即ちsameXとsameYの両方が“1”
とならない時、制御部14から更新信号up1が出力さ
れ、両方とも“1”の時には信号up2が制御部14から
出力される。信号up2が“1”の時に、加算器82が信
号shortの何倍の値を加算するかは、直線の描画装置が
何個のプロセッサから構成されているかに依存してい
る。これを示すのが信号configであり、外部ピン(図示
省略)によって設定される。信号configが示す描画プロ
セッサの数が画素を1個飛ばしにする場合には2倍、3
個飛ばしにする場合には4倍の値を加算する。
【0031】次に、始点と終点を与えて起動した場合の
動作について説明する。直線を始点と終点で与えるコマ
ンドを与え起動した場合、セレクタ81は誤差レジスタ
85の出力と信号lengthを符号反転した値を選択する。
加算器82は傾きの値、信号short(S)の2倍または
4倍,8倍を加算する。この加算器82は、次に求めよ
うとしている画素の短軸側座標の小数部と桁あげの整数
部を分数で表したときの分子の値を示している。
【0032】加算器83は、加算器82の演算結果err
0が負の時、即ち、小数部が真分数で表されるときは何
もしない。正の時には、仮分数の状態にあるため、分母
の値を示す2倍のlengthを引き算する。加算器82の演
算結果の符号ビットがキャリーレジスタ84の最下位ビ
ットに格納され、加算器83の演算結果が誤差レジスタ
85に格納する。また、誤差レジスタ85の符号ビット
はレジスタ86に無条件に格納され、座標出力が有効で
ないことを示す信号ajustを出力する。
【0033】誤差計算部8の動作を明解にするため、図
9,図10を用いて具体例を説明する。図9(a)に示
す直線line1が起動されたときの、奇数のx座標を担当
する描画プロセッサ2の動作を説明する。始点座標
(x,y)は(0,0)で、終点座標が(7,5)で与
えられている。この時のタイムチャ−トを図10の左半
分の時刻T0〜T8に示す。
【0034】まず、CPU3により、レジスタCOMに対
して書き込みが行われると、信号COM_EXECが“1”とな
る。この信号COM_EXECはシステムバスインタフェ−ス部
より出力され、制御部14はこの信号COM_EXECによりコ
マンドの起動を知ることができる。制御部14は信号CO
M_EXECが“1”となると、次に信号loadを出力し、パラ
メ−タ算出部11の出力をxカウンタ125,yカウン
タ126,カウンタ部132に取り込むことを指示す
る。
【0035】次に、制御部14は、誤差計算部8を初期
化するために信号err_initを出力する。この時点でX座
標は偶数であり、識別信号PiDと一致しないため、信号s
ameXは“1”ではない。ところで、パラメ−タ算出部
11が出力する短軸成分shortは“5”、長軸成分lengt
hは“7”であるため、このとき加算器82の出力する
値は(−7)+2(5)=3となり、これが正の数であ
るため、加算器83は2倍のlengthを引き算し、誤差レ
ジスタ85には“−11”が格納される。また、キャリ
ーレジスタ84には、加算器82の演算結果が正である
ため、“1”が格納される。
【0036】制御部14は信号err_initの次に、x,y
座標を更新するため更新信号を発生するが、時刻T2の
時点で座標(px,py)が識別信号PiDに一致していない
ため、一致するまで1画素ずつ更新させるように信号up
1を出力する。時刻T3になると、キャリー信号carry
(2:0)が確定するため、xカウンタ125とyカウ
ンタ126は次の画素の座標を求めることが可能とな
り、この場合、長軸であるx座標は必ず“+1”され、
短軸であるy座標は、キャリ−信号が“1”のため“+
1”されることが判り、次の画素の座標が識別信号PiD
と一致し、信号Next_sameX,Next_sameYがいずれも
“1”となる。このことから、まず、誤差計算部8は、
次から1画素飛びに座標を求めることが判り、セレクタ
81は誤差レジスタ85の出力を選択し、加算器82は
信号shortの4倍を加算し、その結果が(−11)+4
(5)=9と正であるため加算器83で信号lengthの2
倍を引き“−5”を誤差レジスタ85に格納する。
【0037】また、制御部14は、次の画素が識別信号
PiDと一致していることによって更新信号up1を“0”
とし、代わりに更新信号up2を出力する。時刻T4で、
更新信号up2が出ているとき、長軸であるx座標は2画
素更新され、残り画素数を求めているカウンタ132も
“2”ずつ引かれる。但し、短軸であるy座標は“1”
ずつ更新するようにする。もし、時刻T5の時のように
誤差レジスタ85の符号が正になったときは、小数部を
表す分数が未だ仮分数であるということで、もう1回短
軸であるyカウンタの更新と、誤差レジスタ85の更新
を負になるまで行う。この時刻T6のときは座標が無効
であること示す信号ajustが“1”となっていることで
判定することができる。
【0038】次に、図9(b)の直線line2の描画起動
時の動作を示す。直線line2は、始点座標が(1,
1)、終点座標が(6,6)である。従って、長軸成分
length,短軸成分shortともに“5”である。始点座標
が識別信号PiDと一致しているため誤差計算部の初期化
時、加算器82は2画素先の座標を求めるため最初から
信号shortの4倍を加算する。従って、その結果は、
(−5)+4・(5)=15となり、誤差レジスタ85
には(15)−2・(5)=5が格納される。従って、
信号ajustは“1”となるため、時刻T13は、yカウ
ンタ126と誤差レジスタ85とキャリーレジスタ84
だけが更新される。以下同様の処理をカウンタ132が
“0”か負になるまで続けることで、自分の担当してい
るx座標が奇数の画素を発生することができる。
【0039】本実施例によれば、2個のプロセッサが並
列に、始点と終点で与えられる直線上の画素を生成する
ので、水平または垂直に近い直線は従来の約2倍の高速
化が図れる。これは、単に並列処理による効果ばかりで
なく、上位のCPU3の計算する計算量が少なくなるた
め、直線の発生装置全体として高速化が可能となる。さ
らに、同一のハードウェアで、直線を始点と終点で与え
る場合と、始点と傾き,長さで表す両方の場合に対応可
能なため、機能が向上し、同時にハードウェア量の効率
的利用を図ることができる。
【0040】一方、上記実施例では明確には示していな
いが、加算器83の機能を長軸の長さlengthの2倍,4
倍,6倍,8倍をそれぞれ引き算するように変更すれ
ば、座標が計算中であるため無効であることを示す信号
ajustは必要なくなり、直線の傾きによらずプロセッサ
の数分だけの高速化を行うことができる。即ち、仮分数
を帯分数に変換したとき整数部の取り得る値の数だけ判
定回路を設ける。
【0041】
【発明の効果】本発明によれば、画素毎に割り付けられ
た複数の描画プロセッサが並列に直線上の画素を生成す
る場合、傾きを分数で表し、与えられた真の直線と、発
生する画素のずれに、傾きの値を加えて順次直線に最も
近い画素を生成していき、ずれの値が仮分数となる場合
に、分子から分母を繰返し引き算するので、整数部が
“1”より大きな仮分数となる場合でも少ないハ−ドウ
ェアで、高速な直線描画が可能となる。
【0042】また、分子から分母を引き算する手段を、
帯分数に変換したときに整数部の取りえる可能性のある
値すべてに対応する数、即ち並列に用意した描画プロセ
ッサの数だけ設けることによって、仮分数の値を帯分数
に変換する待ち時間なしで処理を行うことができ、さら
に一層の高速化を図ることができる。
【0043】また、直線の傾きを小数値で与えることも
可能であり、ハ−ドウェアは分数計算の演算器と共通に
利用され、効率が良いという効果もある。
【図面の簡単な説明】
【図1】本発明の一実施例に係るCADシステムの要部
構成図である。
【図2】一個の描画プロセッサが担当するフレ−ムメモ
リ上の画素の配置例を示す図である。
【図3】描画プロセッサ1個の内部構成図である。
【図4】パラメ−タ算出部の内部構成図である。
【図5】画素発生部の内部構成図である。
【図6】制御部の内部構成図である。
【図7】画素発生部内の座標生成部の内部構成図であ
る。
【図8】画素発生部内の座標生成部内の誤差計算部の内
部構成図である。
【図9】2本の直線が与えられたとき1個の描画プロセ
ッサが発生する画素を示す図である。
【図10】図9に示した2本の直線の描画動作を起動し
たときに描画プロセッサがどのように動作するかを説明
するタイムチャ−トである。
【符号の説明】
1…第1描画プロセッサ、2…第2描画プロセッサ、3
…CPU、4…メインメモリ、5…第一のフレ−ムメモ
リ、6…第二のフレ−ムメモリ、11…パラメ−タ算出
部、12…画素発生部、13…FM書き込み部、14…
制御部、121…座標生成部、132…カウンタ、8…
誤差計算部、125…xカウンタ、126…yカウン
タ、85…誤差レジスタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 曽我 満 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 小沢 幸次 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 森重 隆春 東京都小平市上水本町五丁目22番1号 株 式会社日立マイコンシステム内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 画像メモリ上の画素毎に割り付けられた
    複数の描画プロセッサが並列に直線を生成する直線発生
    並列処理方法において、直線の傾きを分数で表し、該傾
    きの分数値を画素の座標に加算し更新を行う場合、発生
    する画素の座標と真の直線とのずれを示す誤差項が仮分
    数となった時に、分子から分母を繰返し引き算すること
    で帯分数に変換し、その整数部を前記画素の座標に加え
    ることを特徴とする直線発生並列処理方法。
  2. 【請求項2】 画像メモリ上の画素毎に割り付けられた
    複数の描画プロセッサが並列に直線を生成する直線発生
    並列処理装置において、直線の傾きを分数で表し該傾き
    の分数値を画素の座標に加算し更新を行う手段と、発生
    する画素の座標と真の直線とのずれを示す誤差項が仮分
    数となった時に分子から分母を繰返し引き算することで
    帯分数に変換する手段と、その整数部を前記画素の座標
    に加える手段とを備えることを特徴とする直線発生並列
    処理装置。
  3. 【請求項3】 請求項2において、前記誤差項が仮分数
    となった時に、分子から分母の整数倍の値を引く手段を
    複数個設けて帯分数に変換することを特徴とする直線発
    生並列処理装置。
  4. 【請求項4】 請求項2において、直線の傾きを小数で
    表した場合に画素の座標に傾きの値を加算し更新する手
    段を、前記傾きの分数値を画素の座標に加算する手段と
    共通にして、傾きを小数で与える指定と、分数で与える
    指定を選択するようにしたこを特徴とする直線発生並列
    処理装置。
  5. 【請求項5】 画像メモリ上の画素を周期配列毎の画素
    集団に分割し各画素集団の各々に1つの描画プロセッサ
    を割り当て、与えられた始点,終点を結ぶ直線に該当す
    る画素を各描画プロセッサが自己の担当する画素集団の
    中から演算により求めるCADシステムであって、直線
    の傾きを分数で表す手段と、該傾きの分数値を前記画素
    集団の周期配列された画素の座標に加算し更新を行う手
    段と、発生する画素の座標と真の直線とのずれを示す誤
    差項が仮分数となった時に分子から分母を繰返し引き算
    して帯分数に変換する手段と、帯分数の整数部を前記画
    素の座標に加えることで直線に該当する画素を求める手
    段とを備えることを特徴とするCADシステム。
  6. 【請求項6】 複数の描画プロセッサを有し直線描画を
    並列処理するCADシステムにおいて、描画対象の直線
    を始点座標及び終点座標にて指定する入力手段と、画像
    メモリ上の画素を周期配列毎の画素集団に分割し各画素
    集団の各々に1つの描画プロセッサを割り当てる手段
    と、各描画プロセッサが自己の担当する画素集団でブレ
    ゼンハムのアルゴリズムを実行して前記直線に該当する
    画素を求めるに当り画素の座標と真の直線とのずれを示
    す誤差項が仮分数となった時に分子から分母を繰返し引
    き算して帯分数に変換しこの帯分数の整数部を画素の座
    標に加えることで直線に該当する画素を次々と求める手
    段と、各描画プロセッサが求めた画素を画面上に描画す
    る手段とを備えることを特徴とするCADシステム。
  7. 【請求項7】 直線描画処理を実行する描画プロセッサ
    において、ブレゼンハムのアルゴリズムを実行して始点
    と終点とを結ぶ直線の傾き上に該当する画素を求めるに
    当り画素の座標と前記直線とのずれを示す誤差項が仮分
    数となった時に分子から分母を繰返し引き算して帯分数
    に変換しこの帯分数の整数部を画素の座標に加えること
    で直線に該当する画素を次々と求める手段を備えること
    を特徴とする描画プロセッサ。
  8. 【請求項8】 1個または複数個の請求項7記載の描画
    プロセッサと、描画プロセッサにより書き込まれるフレ
    ームメモリと、フレームメモリ上のデータをRGB信号
    に変換して出力する手段とを1ボードに搭載したことを
    特徴とするグラフィックボード。
  9. 【請求項9】 直線描画を複数の描画プロセッサで並列
    処理するCADシステムにおいて、描画対象の直線の指
    定を始点と終点の座標指定のみで行う手段と、指定され
    た始点及び終点の位置と描画された直線の始点及び終点
    位置が一致し誤差の無い描画を行う手段とを備えること
    を特徴とするCADシステム。
JP13755193A 1993-03-29 1993-06-08 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム Pending JPH06348855A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP13755193A JPH06348855A (ja) 1993-06-08 1993-06-08 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム
US08/215,244 US5666520A (en) 1993-03-29 1994-03-21 Graphics display system including graphics processor having a register storing a series of vertex data relating to a polygonal line
US08/856,081 US5847715A (en) 1993-03-29 1997-05-14 Graphics display system including parallel graphics processors executing Bresenham's algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13755193A JPH06348855A (ja) 1993-06-08 1993-06-08 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム

Publications (1)

Publication Number Publication Date
JPH06348855A true JPH06348855A (ja) 1994-12-22

Family

ID=15201356

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13755193A Pending JPH06348855A (ja) 1993-03-29 1993-06-08 描画プロセッサとその直線発生並列処理方法及びグラフィックボード,cadシステム

Country Status (1)

Country Link
JP (1) JPH06348855A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124077A (ja) * 1987-10-30 1989-05-16 Internatl Business Mach Corp <Ibm> 画素生成方法及びシステム
JPH04289983A (ja) * 1991-03-19 1992-10-14 Japan Radio Co Ltd ディジタル線分発生回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124077A (ja) * 1987-10-30 1989-05-16 Internatl Business Mach Corp <Ibm> 画素生成方法及びシステム
JPH04289983A (ja) * 1991-03-19 1992-10-14 Japan Radio Co Ltd ディジタル線分発生回路

Similar Documents

Publication Publication Date Title
KR960006527B1 (ko) 화상처리장치
US4725831A (en) High-speed video graphics system and method for generating solid polygons on a raster display
KR970007247B1 (ko) 도형처리장치 및 도형처리방법
US5847715A (en) Graphics display system including parallel graphics processors executing Bresenham&#39;s algorithm
JPH05307610A (ja) テクスチャマッピング方法およびその装置
US6496160B1 (en) Stroke to raster converter system
KR100368198B1 (ko) 마이크로컴퓨터
JP3058017B2 (ja) グラフィックス画素データを変換するための装置および方法
JP3089792B2 (ja) 画像データの隠面判別方式
EP0314289A2 (en) Multiple pixel generator
JP2000324336A (ja) 補間方法及び装置
JP3066596B2 (ja) アドレス変換装置
JPH0758510B2 (ja) 三次元図形処理装置
JPH064679A (ja) イメージ処理装置
EP0637000A2 (en) Straight line coordinate generator
US6677950B1 (en) Graphics computer
GB2309873A (en) Method of mapping a source pixel image to a destination pixel space
JP2637905B2 (ja) 垂直スパンを用いてポリゴン輪郭を描画する方法及びシステム
JP2971765B2 (ja) 多角形描画方法及び多角形描画装置
JP4313863B2 (ja) 画像処理装置
JP3271825B2 (ja) 立体画像処理装置
JP2664722B2 (ja) 画像処理装置
JP2611098B2 (ja) ベクタ・ラスタ変換方式
JP3358891B2 (ja) Z値の透視変換処理方法及び画像処理装置
JP2787487B2 (ja) コンピュータシステムに表示され且つ操作される線分の位置を決定する回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990119